From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH 2nd RESEND v2 3/3] drm/bridge: add Silicon Image SiI8620 driver Date: Sun, 25 Sep 2016 22:31:10 +0530 Message-ID: <57E802D6.8010900@codeaurora.org> References: <1473842027-21670-1-git-send-email-a.hajda@samsung.com> <1473842027-21670-4-git-send-email-a.hajda@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.codeaurora.org (smtp.codeaurora.org [198.145.29.96]) by gabe.freedesktop.org (Postfix) with ESMTPS id 80ABB6E23D for ; Sun, 25 Sep 2016 17:01:22 +0000 (UTC) In-Reply-To: <1473842027-21670-4-git-send-email-a.hajda@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Andrzej Hajda , "open list:DRM DRIVERS" , Inki Dae , Daniel Vetter Cc: Bartlomiej Zolnierkiewicz , Marek Szyprowski List-Id: dri-devel@lists.freedesktop.org SGksCgpPbiA5LzE0LzIwMTYgMjowMyBQTSwgQW5kcnplaiBIYWpkYSB3cm90ZToKPiBTaUk4NjIw IHRyYW5zbWl0dGVyIGNvbnZlcnRzIGVUTURTL0hETUkgc2lnbmFsIHRvIE1ITCAzLjAuCj4gSXQg aXMgY29udHJvbGxlZCB2aWEgSTJDIGJ1cy4gSXRzIGludGVyYWN0aW9uIHdpdGggb3RoZXIKPiBk ZXZpY2VzIGluIHZpZGVvIHBpcGVsaW5lIGlzIHBlcmZvcm1lZCBtYWlubHkgb24gSFcgbGV2ZWwu Cj4gVGhlIG9ubHkgaW50ZXJhY3Rpb24gaXQgZG9lcyBvbiBkZXZpY2UgZHJpdmVyIGxldmVsIGlz Cj4gZmlsdGVyaW5nLW91dCB1bnN1cHBvcnRlZCB2aWRlbyBtb2RlcywgaXQgZXhwb3NlcyBkcm1f YnJpZGdlCj4gaW50ZXJmYWNlIHRvIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24uCj4KPiBTaWduZWQt b2ZmLWJ5OiBBbmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcuY29tPgo+IC0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9LY29uZmlnICAgICAgIHwgICAgNyArCj4gICBkcml2ZXJzL2dw dS9kcm0vYnJpZGdlL01ha2VmaWxlICAgICAgfCAgICAxICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9i cmlkZ2Uvc2lsLXNpaTg2MjAuYyB8IDE1NjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5oIHwgMTUxNyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgNCBmaWxlcyBjaGFuZ2VkLCAzMDkzIGlu c2VydGlvbnMoKykKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3NpbC1zaWk4NjIwLmMKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL3NpbC1zaWk4NjIwLmgKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL0tjb25maWcKPiBpbmRleCBiNTkwZTY3 Li5lN2ZiMTc5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZpZwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZpZwo+IEBAIC01MCw2ICs1MCwxMyBA QCBjb25maWcgRFJNX1BBUkFERV9QUzg2MjIKPiAgIAktLS1oZWxwLS0tCj4gICAJICBQYXJhZGUg ZURQLUxWRFMgYnJpZGdlIGNoaXAgZHJpdmVyLgo+Cj4gK2NvbmZpZyBEUk1fU0lMX1NJSTg2MjAK PiArCXRyaXN0YXRlICJTaWxpY29uIEltYWdlIFNJSTg2MjAgSERNSS9NSEwgYnJpZGdlIgo+ICsJ ZGVwZW5kcyBvbiBPRgo+ICsJc2VsZWN0IERSTV9LTVNfSEVMUEVSCj4gKwloZWxwCj4gKwkgIFNp bGljb24gSW1hZ2UgU0lJODYyMCBIRE1JL01ITCBicmlkZ2UgY2hpcCBkcml2ZXIuCj4gKwo+ICAg Y29uZmlnIERSTV9TSUk5MDJYCj4gICAJdHJpc3RhdGUgIlNpbGljb24gSW1hZ2Ugc2lpOTAyeCBS R0IvSERNSSBicmlkZ2UiCj4gICAJZGVwZW5kcyBvbiBPRgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9NYWtlZmls ZQo+IGluZGV4IGVmZGIwN2UuLjMwNGNmOWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvTWFrZWZpbGUK PiBAQCAtNSw2ICs1LDcgQEAgb2JqLSQoQ09ORklHX0RSTV9EV19IRE1JKSArPSBkdy1oZG1pLm8K PiAgIG9iai0kKENPTkZJR19EUk1fRFdfSERNSV9BSEJfQVVESU8pICs9IGR3LWhkbWktYWhiLWF1 ZGlvLm8KPiAgIG9iai0kKENPTkZJR19EUk1fTlhQX1BUTjM0NjApICs9IG54cC1wdG4zNDYwLm8K PiAgIG9iai0kKENPTkZJR19EUk1fUEFSQURFX1BTODYyMikgKz0gcGFyYWRlLXBzODYyMi5vCj4g K29iai0kKENPTkZJR19EUk1fU0lMX1NJSTg2MjApICs9IHNpbC1zaWk4NjIwLm8KPiAgIG9iai0k KENPTkZJR19EUk1fU0lJOTAyWCkgKz0gc2lpOTAyeC5vCj4gICBvYmotJChDT05GSUdfRFJNX1RP U0hJQkFfVEMzNTg3NjcpICs9IHRjMzU4NzY3Lm8KPiAgIG9iai0kKENPTkZJR19EUk1fQU5BTE9H SVhfRFApICs9IGFuYWxvZ2l4Lwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3NpbC1zaWk4NjIwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMKPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjNiMjczYzcKPiAtLS0gL2Rldi9u dWxsCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jCj4gQEAgLTAs MCArMSwxNTY4IEBACj4gKy8qCj4gKyAqIERyaXZlciBmb3IgU2lsaWNvbiBJbWFnZSBTaUk4NjIw IE1vYmlsZSBIRCBUcmFuc21pdHRlcgoKV291bGQgYmUgbmljZSB0byBtZW50aW9uICJlVE1EUy9I RE1JIHNpZ25hbCB0byBNSEwgMy4wLiIgaGVyZSwgc28gdGhhdApwZW9wbGUga25vdyB3aGF0IGl0 J3MgdXNlZCBmb3Igd2l0aG91dCBnb2luZyB0aHJvdWdoIHRoZSByZXN0IG9mIHRoZQpkcml2ZXIu Cgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMTUsIFNhbXN1bmcgRWxlY3Ryb25pY3MgQ28u LCBMdGQuCj4gKyAqIEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4gKyAqCj4g KyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Cj4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCj4gKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxkcm0vZHJtX2Ny dGMuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgo+ICsKPiArI2luY2x1ZGUgPGxpbnV4 L2Nsay5oPgo+ICsjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2dw aW8vY29uc3VtZXIuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgo+ICsjaW5jbHVkZSA8bGlu dXgvaW50ZXJydXB0Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KPiArI2luY2x1ZGUgPGxp bnV4L2tlcm5lbC5oPgo+ICsjaW5jbHVkZSA8bGludXgvbGlzdC5oPgo+ICsjaW5jbHVkZSA8bGlu dXgvbWhsLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiArI2luY2x1ZGUgPGxpbnV4 L211dGV4Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29uc3VtZXIuaD4KPiArI2lu Y2x1ZGUgPGxpbnV4L3NsYWIuaD4KPiArCj4gKyNpbmNsdWRlICJzaWwtc2lpODYyMC5oIgo+ICsK PiArI2RlZmluZSBWQUxfUlhfSERNSV9DVFJMMl9ERUZWQUwJVkFMX1JYX0hETUlfQ1RSTDJfSURM RV9DTlQoMykKPiArCj4gK2VudW0gc2lpODYyMF9tb2RlIHsKPiArCUNNX0RJU0NPTk5FQ1RFRCwK PiArCUNNX0RJU0NPVkVSWSwKPiArCUNNX01ITDEsCj4gKwlDTV9NSEwzLAo+ICsJQ01fRUNCVVNf Uwo+ICt9Owo+ICsKPiArZW51bSBzaWk4NjIwX3NpbmtfdHlwZSB7Cj4gKwlTSU5LX05PTkUsCj4g KwlTSU5LX0hETUksCj4gKwlTSU5LX0RWSQo+ICt9Owo+ICsKPiArZW51bSBzaWk4NjIwX210X3N0 YXRlIHsKPiArCU1UX1NUQVRFX1JFQURZLAo+ICsJTVRfU1RBVEVfQlVTWSwKPiArCU1UX1NUQVRF X0RPTkUKPiArfTsKPiArCj4gK3N0cnVjdCBzaWk4NjIwIHsKPiArCXN0cnVjdCBkcm1fYnJpZGdl IGJyaWRnZTsKPiArCXN0cnVjdCBkZXZpY2UgKmRldjsKPiArCXN0cnVjdCBjbGsgKmNsa194dGFs Owo+ICsJc3RydWN0IGdwaW9fZGVzYyAqZ3Bpb19yZXNldDsKPiArCXN0cnVjdCBncGlvX2Rlc2Mg KmdwaW9faW50Owo+ICsJc3RydWN0IHJlZ3VsYXRvcl9idWxrX2RhdGEgc3VwcGxpZXNbMl07Cj4g KwlzdHJ1Y3QgbXV0ZXggbG9jazsgLyogY29udGV4dCBsb2NrLCBwcm90ZWN0cyBmaWVsZHMgYmVs b3cgKi8KPiArCWludCBlcnJvcjsKPiArCWVudW0gc2lpODYyMF9tb2RlIG1vZGU7Cj4gKwllbnVt IHNpaTg2MjBfc2lua190eXBlIHNpbmtfdHlwZTsKPiArCXU4IGNidXNfc3RhdHVzOwo+ICsJdTgg c3RhdFtNSExfRFNUX1NJWkVdOwo+ICsJdTggeHN0YXRbTUhMX1hEU19TSVpFXTsKPiArCXU4IGRl dmNhcFtNSExfRENBUF9TSVpFXTsKPiArCXU4IHhkZXZjYXBbTUhMX1hEQ19TSVpFXTsKPiArCXU4 IGF2aWZbMTldOwo+ICsJc3RydWN0IGVkaWQgKmVkaWQ7Cj4gKwl1bnNpZ25lZCBpbnQgZ2VuMl93 cml0ZV9idXJzdDoxOwo+ICsJZW51bSBzaWk4NjIwX210X3N0YXRlIG10X3N0YXRlOwo+ICsJc3Ry dWN0IGxpc3RfaGVhZCBtdF9xdWV1ZTsKPiArfTsKPiArCj4gK3N0cnVjdCBzaWk4NjIwX210X21z ZzsKPiArCj4gK3R5cGVkZWYgdm9pZCAoKnNpaTg2MjBfbXRfbXNnX2NiKShzdHJ1Y3Qgc2lpODYy MCAqY3R4LAo+ICsJCQkJICBzdHJ1Y3Qgc2lpODYyMF9tdF9tc2cgKm1zZyk7Cj4gKwo+ICtzdHJ1 Y3Qgc2lpODYyMF9tdF9tc2cgewo+ICsJc3RydWN0IGxpc3RfaGVhZCBub2RlOwo+ICsJdTggcmVn WzRdOwo+ICsJdTggcmV0Owo+ICsJc2lpODYyMF9tdF9tc2dfY2Igc2VuZDsKPiArCXNpaTg2MjBf bXRfbXNnX2NiIHJlY3Y7Cj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3QgdTggc2lpODYyMF9pMmNf cGFnZVtdID0gewo+ICsJMHgzOSwgLyogTWFpbiBTeXN0ZW0gKi8KPiArCTB4M2QsIC8qIFRETSBh bmQgSFNJQyAqLwo+ICsJMHg0OSwgLyogVE1EUyBSZWNlaXZlciwgTUhMIEVESUQgKi8KPiArCTB4 NGQsIC8qIGVNU0MsIEhEQ1AsIEhTSUMgKi8KPiArCTB4NWQsIC8qIE1ITCBTcGVjICovCj4gKwkw eDY0LCAvKiBNSEwgQ0JVUyAqLwo+ICsJMHg1OSwgLyogSGFyZHdhcmUgVFBJIChUcmFuc21pdHRl ciBQcm9ncmFtbWluZyBJbnRlcmZhY2UpICovCj4gKwkweDYxLCAvKiBlQ0JVUy1TLCBlQ0JVUy1E ICovCj4gK307Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX2ZldGNoX2VkaWQoc3RydWN0IHNp aTg2MjAgKmN0eCk7Cj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfc2V0X3Vwc3RyZWFtX2VkaWQoc3Ry dWN0IHNpaTg2MjAgKmN0eCk7Cj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfZW5hYmxlX2hwZChzdHJ1 Y3Qgc2lpODYyMCAqY3R4KTsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9taGxfZGlzY29ubmVjdGVk KHN0cnVjdCBzaWk4NjIwICpjdHgpOwo+ICsKPiArc3RhdGljIGludCBzaWk4NjIwX2NsZWFyX2Vy cm9yKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCWludCByZXQgPSBjdHgtPmVycm9yOwo+ ICsKPiArCWN0eC0+ZXJyb3IgPSAwOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgc2lpODYyMF9yZWFkX2J1ZihzdHJ1Y3Qgc2lpODYyMCAqY3R4LCB1MTYgYWRkciwgdTgg KmJ1ZiwgaW50IGxlbikKPiArewo+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gY3R4LT5kZXY7Cj4g KwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50ID0gdG9faTJjX2NsaWVudChkZXYpOwo+ICsJdTgg ZGF0YSA9IGFkZHI7Cj4gKwlzdHJ1Y3QgaTJjX21zZyBtc2dbXSA9IHsKPiArCQl7Cj4gKwkJCS5h ZGRyID0gc2lpODYyMF9pMmNfcGFnZVthZGRyID4+IDhdLAo+ICsJCQkuZmxhZ3MgPSBjbGllbnQt PmZsYWdzLAo+ICsJCQkubGVuID0gMSwKPiArCQkJLmJ1ZiA9ICZkYXRhCj4gKwkJfSwKPiArCQl7 Cj4gKwkJCS5hZGRyID0gc2lpODYyMF9pMmNfcGFnZVthZGRyID4+IDhdLAo+ICsJCQkuZmxhZ3Mg PSBjbGllbnQtPmZsYWdzIHwgSTJDX01fUkQsCj4gKwkJCS5sZW4gPSBsZW4sCj4gKwkJCS5idWYg PSBidWYKPiArCQl9LAo+ICsJfTsKPiArCWludCByZXQ7Cj4gKwo+ICsJaWYgKGN0eC0+ZXJyb3Ip Cj4gKwkJcmV0dXJuOwo+ICsKPiArCXJldCA9IGkyY190cmFuc2ZlcihjbGllbnQtPmFkYXB0ZXIs IG1zZywgMik7Cj4gKwlkZXZfZGJnKGRldiwgInJlYWQgYXQgJTA0eDogJSpwaCwgJWRcbiIsIGFk ZHIsIGxlbiwgYnVmLCByZXQpOwo+ICsKPiArCWlmIChyZXQgIT0gMikgewo+ICsJCWRldl9lcnIo ZGV2LCAiUmVhZCBhdCAlIzA2eCBvZiAlZCBieXRlcyBmYWlsZWQgd2l0aCBjb2RlICVkLlxuIiwK PiArCQkJYWRkciwgbGVuLCByZXQpOwo+ICsJCWN0eC0+ZXJyb3IgPSByZXQgPCAwID8gcmV0IDog LUVJTzsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHU4IHNpaTg2MjBfcmVhZGIoc3RydWN0IHNp aTg2MjAgKmN0eCwgdTE2IGFkZHIpCj4gK3sKPiArCXU4IHJldDsKPiArCj4gKwlzaWk4NjIwX3Jl YWRfYnVmKGN0eCwgYWRkciwgJnJldCwgMSk7Cj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gKwo+ICtz dGF0aWMgdm9pZCBzaWk4NjIwX3dyaXRlX2J1ZihzdHJ1Y3Qgc2lpODYyMCAqY3R4LCB1MTYgYWRk ciwgY29uc3QgdTggKmJ1ZiwKPiArCQkJICAgICAgaW50IGxlbikKPiArewo+ICsJc3RydWN0IGRl dmljZSAqZGV2ID0gY3R4LT5kZXY7Cj4gKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50ID0gdG9f aTJjX2NsaWVudChkZXYpOwo+ICsJdTggZGF0YVsyXTsKPiArCXN0cnVjdCBpMmNfbXNnIG1zZyA9 IHsKPiArCQkuYWRkciA9IHNpaTg2MjBfaTJjX3BhZ2VbYWRkciA+PiA4XSwKPiArCQkuZmxhZ3Mg PSBjbGllbnQtPmZsYWdzLAo+ICsJCS5sZW4gPSBsZW4gKyAxLAo+ICsJfTsKPiArCWludCByZXQ7 Cj4gKwo+ICsJaWYgKGN0eC0+ZXJyb3IpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWlmIChsZW4gPiAx KSB7Cj4gKwkJbXNnLmJ1ZiA9IGttYWxsb2MobGVuICsgMSwgR0ZQX0tFUk5FTCk7Cj4gKwkJaWYg KCFtc2cuYnVmKSB7Cj4gKwkJCWN0eC0+ZXJyb3IgPSAtRU5PTUVNOwo+ICsJCQlyZXR1cm47Cj4g KwkJfQo+ICsJCW1lbWNweShtc2cuYnVmICsgMSwgYnVmLCBsZW4pOwo+ICsJfSBlbHNlIHsKPiAr CQltc2cuYnVmID0gZGF0YTsKPiArCQltc2cuYnVmWzFdID0gKmJ1ZjsKPiArCX0KPiArCj4gKwlt c2cuYnVmWzBdID0gYWRkcjsKPiArCj4gKwlyZXQgPSBpMmNfdHJhbnNmZXIoY2xpZW50LT5hZGFw dGVyLCAmbXNnLCAxKTsKPiArCWRldl9kYmcoZGV2LCAid3JpdGUgYXQgJTA0eDogJSpwaCwgJWRc biIsIGFkZHIsIGxlbiwgYnVmLCByZXQpOwo+ICsKPiArCWlmIChyZXQgIT0gMSkgewo+ICsJCWRl dl9lcnIoZGV2LCAiV3JpdGUgYXQgJSMwNnggb2YgJSpwaCBmYWlsZWQgd2l0aCBjb2RlICVkLlxu IiwKPiArCQkJYWRkciwgbGVuLCBidWYsIHJldCk7Cj4gKwkJY3R4LT5lcnJvciA9IHJldCA/OiAt RUlPOwo+ICsJfQo+ICsKPiArCWlmIChsZW4gPiAxKQo+ICsJCWtmcmVlKG1zZy5idWYpOwo+ICt9 Cj4gKwo+ICsjZGVmaW5lIHNpaTg2MjBfd3JpdGUoY3R4LCBhZGRyLCBhcnIuLi4pIFwKPiArKHtc Cj4gKwl1OCBkW10gPSB7IGFyciB9OyBcCj4gKwlzaWk4NjIwX3dyaXRlX2J1ZihjdHgsIGFkZHIs IGQsIEFSUkFZX1NJWkUoZCkpOyBcCj4gK30pCj4gKwo+ICtzdGF0aWMgdm9pZCBfX3NpaTg2MjBf d3JpdGVfc2VxKHN0cnVjdCBzaWk4NjIwICpjdHgsIHUxNiAqc2VxLCBpbnQgbGVuKQo+ICt7Cj4g KwlpbnQgaTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpICs9IDIpCj4gKwkJc2lpODYy MF93cml0ZShjdHgsIHNlcVtpXSwgc2VxW2kgKyAxXSk7Cj4gK30KPiArCj4gKyNkZWZpbmUgc2lp ODYyMF93cml0ZV9zZXEoY3R4LCBzZXEuLi4pIFwKPiArKHtcCj4gKwl1MTYgZFtdID0geyBzZXEg fTsgXAo+ICsJX19zaWk4NjIwX3dyaXRlX3NlcShjdHgsIGQsIEFSUkFZX1NJWkUoZCkpOyBcCj4g K30pCj4gKwoKSXMgaXQgcG9zc2libGUgdG8gdXNlIHJlZ21hcF9idWxrX3JlYWQvd3JpdGUgYXBp IGhlcmUgaW5zdGVhZD8KCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfc2V0Yml0cyhzdHJ1Y3Qgc2lp ODYyMCAqY3R4LCB1MTYgYWRkciwgdTggbWFzaywgdTggdmFsKQo+ICt7Cj4gKwl2YWwgPSAodmFs ICYgbWFzaykgfCAoc2lpODYyMF9yZWFkYihjdHgsIGFkZHIpICYgfm1hc2spOwo+ICsJc2lpODYy MF93cml0ZShjdHgsIGFkZHIsIHZhbCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBf bXRfY2xlYW51cChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlzdHJ1Y3Qgc2lpODYyMF9t dF9tc2cgKm1zZywgKm47Cj4gKwo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKG1zZywgbiwg JmN0eC0+bXRfcXVldWUsIG5vZGUpIHsKPiArCQlsaXN0X2RlbCgmbXNnLT5ub2RlKTsKPiArCQlr ZnJlZShtc2cpOwo+ICsJfQo+ICsJY3R4LT5tdF9zdGF0ZSA9IE1UX1NUQVRFX1JFQURZOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX210X3dvcmsoc3RydWN0IHNpaTg2MjAgKmN0eCkK PiArewo+ICsJc3RydWN0IHNpaTg2MjBfbXRfbXNnICptc2c7Cj4gKwo+ICsJaWYgKGN0eC0+ZXJy b3IpCj4gKwkJcmV0dXJuOwo+ICsJaWYgKGN0eC0+bXRfc3RhdGUgPT0gTVRfU1RBVEVfQlVTWSB8 fCBsaXN0X2VtcHR5KCZjdHgtPm10X3F1ZXVlKSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJaWYgKGN0 eC0+bXRfc3RhdGUgPT0gTVRfU1RBVEVfRE9ORSkgewo+ICsJCWN0eC0+bXRfc3RhdGUgPSBNVF9T VEFURV9SRUFEWTsKPiArCQltc2cgPSBsaXN0X2ZpcnN0X2VudHJ5KCZjdHgtPm10X3F1ZXVlLCBz dHJ1Y3Qgc2lpODYyMF9tdF9tc2csCj4gKwkJCQkgICAgICAgbm9kZSk7Cj4gKwkJaWYgKG1zZy0+ cmVjdikKPiArCQkJbXNnLT5yZWN2KGN0eCwgbXNnKTsKPiArCQlsaXN0X2RlbCgmbXNnLT5ub2Rl KTsKPiArCQlrZnJlZShtc2cpOwo+ICsJfQo+ICsKPiArCWlmIChjdHgtPm10X3N0YXRlICE9IE1U X1NUQVRFX1JFQURZIHx8IGxpc3RfZW1wdHkoJmN0eC0+bXRfcXVldWUpKQo+ICsJCXJldHVybjsK PiArCj4gKwljdHgtPm10X3N0YXRlID0gTVRfU1RBVEVfQlVTWTsKPiArCW1zZyA9IGxpc3RfZmly c3RfZW50cnkoJmN0eC0+bXRfcXVldWUsIHN0cnVjdCBzaWk4NjIwX210X21zZywgbm9kZSk7Cj4g KwlpZiAobXNnLT5zZW5kKQo+ICsJCW1zZy0+c2VuZChjdHgsIG1zZyk7Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkIHNpaTg2MjBfbXRfbXNjX2NtZF9zZW5kKHN0cnVjdCBzaWk4NjIwICpjdHgsCj4g KwkJCQkgICAgICAgc3RydWN0IHNpaTg2MjBfbXRfbXNnICptc2cpCj4gK3sKPiArCXN3aXRjaCAo bXNnLT5yZWdbMF0pIHsKPiArCWNhc2UgTUhMX1dSSVRFX1NUQVQ6Cj4gKwljYXNlIE1ITF9TRVRf SU5UOgo+ICsJCXNpaTg2MjBfd3JpdGVfYnVmKGN0eCwgUkVHX01TQ19DTURfT1JfT0ZGU0VULCBt c2ctPnJlZyArIDEsIDIpOwo+ICsJCXNpaTg2MjBfd3JpdGUoY3R4LCBSRUdfTVNDX0NPTU1BTkRf U1RBUlQsCj4gKwkJCSAgICAgIEJJVF9NU0NfQ09NTUFORF9TVEFSVF9XUklURV9TVEFUKTsKPiAr CQlicmVhazsKPiArCWNhc2UgTUhMX01TQ19NU0c6Cj4gKwkJc2lpODYyMF93cml0ZV9idWYoY3R4 LCBSRUdfTVNDX0NNRF9PUl9PRkZTRVQsIG1zZy0+cmVnLCAzKTsKPiArCQlzaWk4NjIwX3dyaXRl KGN0eCwgUkVHX01TQ19DT01NQU5EX1NUQVJULAo+ICsJCQkgICAgICBCSVRfTVNDX0NPTU1BTkRf U1RBUlRfTVNDX01TRyk7Cj4gKwkJYnJlYWs7Cj4gKwlkZWZhdWx0Ogo+ICsJCWRldl9lcnIoY3R4 LT5kZXYsICIlczogY29tbWFuZCAlI3ggbm90IHN1cHBvcnRlZFxuIiwgX19mdW5jX18sCj4gKwkJ CW1zZy0+cmVnWzBdKTsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHN0cnVjdCBzaWk4NjIwX210 X21zZyAqc2lpODYyMF9tdF9tc2dfbmV3KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXN0 cnVjdCBzaWk4NjIwX210X21zZyAqbXNnID0ga3phbGxvYyhzaXplb2YoKm1zZyksIEdGUF9LRVJO RUwpOwo+ICsKPiArCWlmICghbXNnKQo+ICsJCWN0eC0+ZXJyb3IgPSAtRU5PTUVNOwo+ICsJZWxz ZQo+ICsJCWxpc3RfYWRkX3RhaWwoJm1zZy0+bm9kZSwgJmN0eC0+bXRfcXVldWUpOwo+ICsKPiAr CXJldHVybiBtc2c7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfbXRfbXNjX2NtZChz dHJ1Y3Qgc2lpODYyMCAqY3R4LCB1OCBjbWQsIHU4IGFyZzEsIHU4IGFyZzIpCj4gK3sKPiArCXN0 cnVjdCBzaWk4NjIwX210X21zZyAqbXNnID0gc2lpODYyMF9tdF9tc2dfbmV3KGN0eCk7Cj4gKwo+ ICsJaWYgKCFtc2cpCj4gKwkJcmV0dXJuOwo+ICsKPiArCW1zZy0+cmVnWzBdID0gY21kOwo+ICsJ bXNnLT5yZWdbMV0gPSBhcmcxOwo+ICsJbXNnLT5yZWdbMl0gPSBhcmcyOwo+ICsJbXNnLT5zZW5k ID0gc2lpODYyMF9tdF9tc2NfY21kX3NlbmQ7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2 MjBfbXRfd3JpdGVfc3RhdChzdHJ1Y3Qgc2lpODYyMCAqY3R4LCB1OCByZWcsIHU4IHZhbCkKPiAr ewo+ICsJc2lpODYyMF9tdF9tc2NfY21kKGN0eCwgTUhMX1dSSVRFX1NUQVQsIHJlZywgdmFsKTsK PiArfQo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkIHNpaTg2MjBfbXRfc2V0X2ludChzdHJ1Y3Qg c2lpODYyMCAqY3R4LCB1OCBpcnEsIHU4IG1hc2spCj4gK3sKPiArCXNpaTg2MjBfbXRfbXNjX2Nt ZChjdHgsIE1ITF9TRVRfSU5ULCBpcnEsIG1hc2spOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBz aWk4NjIwX210X21zY19tc2coc3RydWN0IHNpaTg2MjAgKmN0eCwgdTggY21kLCB1OCBkYXRhKQo+ ICt7Cj4gKwlzaWk4NjIwX210X21zY19jbWQoY3R4LCBNSExfTVNDX01TRywgY21kLCBkYXRhKTsK PiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9tdF9yYXAoc3RydWN0IHNpaTg2MjAgKmN0 eCwgdTggY29kZSkKPiArewo+ICsJc2lpODYyMF9tdF9tc2NfbXNnKGN0eCwgTUhMX01TQ19NU0df UkFQLCBjb2RlKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9tdF9yZWFkX2RldmNh cF9zZW5kKHN0cnVjdCBzaWk4NjIwICpjdHgsCj4gKwkJCQkJc3RydWN0IHNpaTg2MjBfbXRfbXNn ICptc2cpCj4gK3sKPiArCXU4IGN0cmwgPSBCSVRfRURJRF9DVFJMX0RFVkNBUF9TRUxFQ1RfREVW Q0FQCj4gKwkJCXwgQklUX0VESURfQ1RSTF9FRElEX0ZJRk9fQUREUl9BVVRPCj4gKwkJCXwgQklU X0VESURfQ1RSTF9FRElEX01PREVfRU47Cj4gKwo+ICsJaWYgKG1zZy0+cmVnWzBdID09IE1ITF9S RUFEX1hERVZDQVApCj4gKwkJY3RybCB8PSBCSVRfRURJRF9DVFJMX1hERVZDQVBfRU47Cj4gKwo+ ICsJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCVJFR19JTlRSOV9NQVNLLCBCSVRfSU5UUjlf REVWQ0FQX0RPTkUsCj4gKwkJUkVHX0VESURfQ1RSTCwgY3RybCwKPiArCQlSRUdfVFBJX0NCVVNf U1RBUlQsIEJJVF9UUElfQ0JVU19TVEFSVF9HRVRfREVWQ0FQX1NUQVJUCj4gKwkpOwo+ICt9Cj4g Kwo+ICsvKiBjb3B5IHNyYyB0byBkc3QgYW5kIHNldCBjaGFuZ2VkIGJpdHMgaW4gc3JjICovCj4g K3N0YXRpYyB2b2lkIHNpaTg2MjBfdXBkYXRlX2FycmF5KHU4ICpkc3QsIHU4ICpzcmMsIGludCBj b3VudCkKPiArewo+ICsJd2hpbGUgKC0tY291bnQgPj0gMCkgewo+ICsJCSpzcmMgXj0gKmRzdDsK PiArCQkqZHN0KysgXj0gKnNyYysrOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4 NjIwX21yX2RldmNhcChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IHNpbmtfc3RyW10gPSB7Cj4gKwkJW1NJTktfTk9ORV0gPSAiTk9ORSIsCj4g KwkJW1NJTktfSERNSV0gPSAiSERNSSIsCj4gKwkJW1NJTktfRFZJXSA9ICJEVkkiCj4gKwl9Owo+ ICsKPiArCXU4IGRjYXBbTUhMX0RDQVBfU0laRV07Cj4gKwljaGFyIHNpbmtfbmFtZVsyMF07Cj4g KwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBjdHgtPmRldjsKPiArCj4gKwlzaWk4NjIwX3JlYWRfYnVm KGN0eCwgUkVHX0VESURfRklGT19SRF9EQVRBLCBkY2FwLCBNSExfRENBUF9TSVpFKTsKPiArCWlm IChjdHgtPmVycm9yIDwgMCkKPiArCQlyZXR1cm47Cj4gKwo+ICsJZGV2X2luZm8oZGV2LCAiZGNh cDogJSpwaFxuIiwgTUhMX0RDQVBfU0laRSwgZGNhcCk7Cj4gKwlkZXZfaW5mbyhkZXYsICJkZXRl Y3RlZCBkb25nbGUgTUhMICVkLiVkLCBDaGlwSUQgJTAyeCUwMng6JTAyeCUwMnhcbiIsCj4gKwkJ ZGNhcFtNSExfRENBUF9NSExfVkVSU0lPTl0gLyAxNiwgZGNhcFtNSExfRENBUF9NSExfVkVSU0lP Tl0gJSAxNiwKPiArCQlkY2FwW01ITF9EQ0FQX0FET1BURVJfSURfSF0sIGRjYXBbTUhMX0RDQVBf QURPUFRFUl9JRF9MXSwKPiArCQlkY2FwW01ITF9EQ0FQX0RFVklDRV9JRF9IXSwgZGNhcFtNSExf RENBUF9ERVZJQ0VfSURfTF0pOwo+ICsJc2lpODYyMF91cGRhdGVfYXJyYXkoY3R4LT5kZXZjYXAs IGRjYXAsIE1ITF9EQ0FQX1NJWkUpOwo+ICsKPiArCWlmICghKGRjYXBbTUhMX0RDQVBfQ0FUXSAm IE1ITF9EQ0FQX0NBVF9TSU5LKSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJc2lpODYyMF9mZXRjaF9l ZGlkKGN0eCk7Cj4gKwlpZiAoIWN0eC0+ZWRpZCkgewo+ICsJCWRldl9lcnIoY3R4LT5kZXYsICJD YW5ub3QgZmV0Y2ggRURJRFxuIik7Cj4gKwkJc2lpODYyMF9taGxfZGlzY29ubmVjdGVkKGN0eCk7 Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICsKPiArCWlmIChkcm1fZGV0ZWN0X2hkbWlfbW9uaXRvcihj dHgtPmVkaWQpKQo+ICsJCWN0eC0+c2lua190eXBlID0gU0lOS19IRE1JOwo+ICsJZWxzZQo+ICsJ CWN0eC0+c2lua190eXBlID0gU0lOS19EVkk7Cj4gKwo+ICsJZHJtX2VkaWRfZ2V0X21vbml0b3Jf bmFtZShjdHgtPmVkaWQsIHNpbmtfbmFtZSwgQVJSQVlfU0laRShzaW5rX25hbWUpKTsKPiArCj4g KwlkZXZfaW5mbyhkZXYsICJkZXRlY3RlZCBzaW5rKHR5cGU6ICVzKTogJXNcbiIsCj4gKwkJc2lu a19zdHJbY3R4LT5zaW5rX3R5cGVdLCBzaW5rX25hbWUpOwo+ICsJc2lpODYyMF9zZXRfdXBzdHJl YW1fZWRpZChjdHgpOwo+ICsJc2lpODYyMF9lbmFibGVfaHBkKGN0eCk7Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkIHNpaTg2MjBfbXJfeGRldmNhcChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4g KwlzaWk4NjIwX3JlYWRfYnVmKGN0eCwgUkVHX0VESURfRklGT19SRF9EQVRBLCBjdHgtPnhkZXZj YXAsCj4gKwkJCSBNSExfWERDX1NJWkUpOwo+ICsKPiArCXNpaTg2MjBfbXRfd3JpdGVfc3RhdChj dHgsIE1ITF9YRFNfUkVHKENVUlJfRUNCVVNfTU9ERSksCj4gKwkJCSAgICAgIE1ITF9YRFNfRUNC VVNfUyB8IE1ITF9YRFNfU0xPVF9NT0RFXzhCSVQpOwo+ICsJc2lpODYyMF9tdF9yYXAoY3R4LCBN SExfUkFQX0NCVVNfTU9ERV9VUCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfbXRf cmVhZF9kZXZjYXBfcmVjdihzdHJ1Y3Qgc2lpODYyMCAqY3R4LAo+ICsJCQkJCXN0cnVjdCBzaWk4 NjIwX210X21zZyAqbXNnKQo+ICt7Cj4gKwl1OCBjdHJsID0gQklUX0VESURfQ1RSTF9ERVZDQVBf U0VMRUNUX0RFVkNBUAo+ICsJCXwgQklUX0VESURfQ1RSTF9FRElEX0ZJRk9fQUREUl9BVVRPCj4g KwkJfCBCSVRfRURJRF9DVFJMX0VESURfTU9ERV9FTjsKPiArCj4gKwlpZiAobXNnLT5yZWdbMF0g PT0gTUhMX1JFQURfWERFVkNBUCkKPiArCQljdHJsIHw9IEJJVF9FRElEX0NUUkxfWERFVkNBUF9F TjsKPiArCj4gKwlzaWk4NjIwX3dyaXRlX3NlcShjdHgsCj4gKwkJUkVHX0lOVFI5X01BU0ssIEJJ VF9JTlRSOV9ERVZDQVBfRE9ORSB8IEJJVF9JTlRSOV9FRElEX0RPTkUKPiArCQkJfCBCSVRfSU5U UjlfRURJRF9FUlJPUiwKPiArCQlSRUdfRURJRF9DVFJMLCBjdHJsLAo+ICsJCVJFR19FRElEX0ZJ Rk9fQUREUiwgMAo+ICsJKTsKPiArCj4gKwlpZiAobXNnLT5yZWdbMF0gPT0gTUhMX1JFQURfWERF VkNBUCkKPiArCQlzaWk4NjIwX21yX3hkZXZjYXAoY3R4KTsKPiArCWVsc2UKPiArCQlzaWk4NjIw X21yX2RldmNhcChjdHgpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX210X3JlYWRf ZGV2Y2FwKHN0cnVjdCBzaWk4NjIwICpjdHgsIGJvb2wgeGRldmNhcCkKPiArewo+ICsJc3RydWN0 IHNpaTg2MjBfbXRfbXNnICptc2cgPSBzaWk4NjIwX210X21zZ19uZXcoY3R4KTsKPiArCj4gKwlp ZiAoIW1zZykKPiArCQlyZXR1cm47Cj4gKwo+ICsJbXNnLT5yZWdbMF0gPSB4ZGV2Y2FwID8gTUhM X1JFQURfWERFVkNBUCA6IE1ITF9SRUFEX0RFVkNBUDsKPiArCW1zZy0+c2VuZCA9IHNpaTg2MjBf bXRfcmVhZF9kZXZjYXBfc2VuZDsKPiArCW1zZy0+cmVjdiA9IHNpaTg2MjBfbXRfcmVhZF9kZXZj YXBfcmVjdjsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9mZXRjaF9lZGlkKHN0cnVj dCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXU4IGxtX2RkYywgZGRjX2NtZCwgaW50MywgY2J1czsK PiArCWludCBmZXRjaGVkLCBpOwo+ICsJaW50IGVkaWRfbGVuID0gRURJRF9MRU5HVEg7Cj4gKwl1 OCAqZWRpZDsKPiArCj4gKwlzaWk4NjIwX3JlYWRiKGN0eCwgUkVHX0NCVVNfU1RBVFVTKTsKPiAr CWxtX2RkYyA9IHNpaTg2MjBfcmVhZGIoY3R4LCBSRUdfTE1fRERDKTsKPiArCWRkY19jbWQgPSBz aWk4NjIwX3JlYWRiKGN0eCwgUkVHX0REQ19DTUQpOwo+ICsKPiArCXNpaTg2MjBfd3JpdGVfc2Vx KGN0eCwKPiArCQlSRUdfSU5UUjlfTUFTSywgMCwKPiArCQlSRUdfRURJRF9DVFJMLCBCSVRfRURJ RF9DVFJMX0VESURfRklGT19BRERSX0FVVE8sCj4gKwkJUkVHX0hEQ1AyWF9QT0xMX0NTLCAweDcx LAo+ICsJCVJFR19IRENQMlhfQ1RSTF8wLCBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfSERDUFRY LAo+ICsJCVJFR19MTV9EREMsIGxtX2RkYyB8IEJJVF9MTV9ERENfU1dfVFBJX0VOX0RJU0FCTEVE LAo+ICsJKTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgMjU2OyArK2kpIHsKPiArCQl1OCBkZGNf c3RhdCA9IHNpaTg2MjBfcmVhZGIoY3R4LCBSRUdfRERDX1NUQVRVUyk7Cj4gKwo+ICsJCWlmICgh KGRkY19zdGF0ICYgQklUX0REQ19TVEFUVVNfRERDX0kyQ19JTl9QUk9HKSkKPiArCQkJYnJlYWs7 Cj4gKwkJc2lpODYyMF93cml0ZShjdHgsIFJFR19ERENfU1RBVFVTLAo+ICsJCQkgICAgICAgQklU X0REQ19TVEFUVVNfRERDX0ZJRk9fRU1QVFkpOwo+ICsJfQo+ICsKPiArCXNpaTg2MjBfd3JpdGUo Y3R4LCBSRUdfRERDX0FERFIsIDB4NTAgPDwgMSk7Cj4gKwo+ICsJZWRpZCA9IGttYWxsb2MoRURJ RF9MRU5HVEgsIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFlZGlkKSB7Cj4gKwkJY3R4LT5lcnJvciA9 IC1FTk9NRU07Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICsKPiArI2RlZmluZSBGRVRDSF9TSVpFIDE2 Cj4gKwlmb3IgKGZldGNoZWQgPSAwOyBmZXRjaGVkIDwgZWRpZF9sZW47IGZldGNoZWQgKz0gRkVU Q0hfU0laRSkgewo+ICsJCXNpaTg2MjBfcmVhZGIoY3R4LCBSRUdfRERDX1NUQVRVUyk7Cj4gKwkJ c2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCQlSRUdfRERDX0NNRCwgZGRjX2NtZCB8IFZBTF9E RENfQ01EX0REQ19DTURfQUJPUlQsCj4gKwkJCVJFR19ERENfQ01ELCBkZGNfY21kIHwgVkFMX0RE Q19DTURfRERDX0NNRF9DTEVBUl9GSUZPLAo+ICsJCQlSRUdfRERDX1NUQVRVUywgQklUX0REQ19T VEFUVVNfRERDX0ZJRk9fRU1QVFkKPiArCQkpOwo+ICsJCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwK PiArCQkJUkVHX0REQ19TRUdNLCBmZXRjaGVkID4+IDgsCj4gKwkJCVJFR19ERENfT0ZGU0VULCBm ZXRjaGVkICYgMHhmZiwKPiArCQkJUkVHX0REQ19ESU5fQ05UMSwgRkVUQ0hfU0laRSwKPiArCQkJ UkVHX0REQ19ESU5fQ05UMiwgMCwKPiArCQkJUkVHX0REQ19DTUQsIGRkY19jbWQgfCBWQUxfRERD X0NNRF9FTkhfRERDX1JFQURfTk9fQUNLCj4gKwkJKTsKPiArCj4gKwkJZG8gewo+ICsJCQlpbnQz ID0gc2lpODYyMF9yZWFkYihjdHgsIFJFR19JTlRSMyk7Cj4gKwkJCWNidXMgPSBzaWk4NjIwX3Jl YWRiKGN0eCwgUkVHX0NCVVNfU1RBVFVTKTsKPiArCj4gKwkJCWlmIChpbnQzICYgQklUX0REQ19D TURfRE9ORSkKPiArCQkJCWJyZWFrOwo+ICsKPiArCQkJaWYgKCEoY2J1cyAmIEJJVF9DQlVTX1NU QVRVU19DQlVTX0NPTk5FQ1RFRCkpIHsKPiArCQkJCWtmcmVlKGVkaWQpOwo+ICsJCQkJZWRpZCA9 IE5VTEw7Cj4gKwkJCQlnb3RvIGVuZDsKPiArCQkJfQo+ICsJCX0gd2hpbGUgKDEpOwo+ICsKPiAr CQlzaWk4NjIwX3JlYWRiKGN0eCwgUkVHX0REQ19TVEFUVVMpOwo+ICsJCXdoaWxlIChzaWk4NjIw X3JlYWRiKGN0eCwgUkVHX0REQ19ET1VUX0NOVCkgPCBGRVRDSF9TSVpFKQo+ICsJCQl1c2xlZXBf cmFuZ2UoMTAsIDIwKTsKPiArCj4gKwkJc2lpODYyMF9yZWFkX2J1ZihjdHgsIFJFR19ERENfREFU QSwgZWRpZCArIGZldGNoZWQsIEZFVENIX1NJWkUpOwo+ICsJCWlmIChmZXRjaGVkICsgRkVUQ0hf U0laRSA9PSBFRElEX0xFTkdUSCkgewo+ICsJCQl1OCBleHQgPSAoKHN0cnVjdCBlZGlkICopZWRp ZCktPmV4dGVuc2lvbnM7Cj4gKwo+ICsJCQlpZiAoZXh0KSB7Cj4gKwkJCQl1OCAqbmV3X2VkaWQ7 Cj4gKwo+ICsJCQkJZWRpZF9sZW4gKz0gZXh0ICogRURJRF9MRU5HVEg7Cj4gKwkJCQluZXdfZWRp ZCA9IGtyZWFsbG9jKGVkaWQsIGVkaWRfbGVuLCBHRlBfS0VSTkVMKTsKPiArCQkJCWlmICghbmV3 X2VkaWQpIHsKPiArCQkJCQlrZnJlZShlZGlkKTsKPiArCQkJCQljdHgtPmVycm9yID0gLUVOT01F TTsKPiArCQkJCQlyZXR1cm47Cj4gKwkJCQl9Cj4gKwkJCQllZGlkID0gbmV3X2VkaWQ7Cj4gKwkJ CX0KPiArCQl9Cj4gKwo+ICsJCWlmIChmZXRjaGVkICsgRkVUQ0hfU0laRSA9PSBlZGlkX2xlbikK PiArCQkJc2lpODYyMF93cml0ZShjdHgsIFJFR19JTlRSMywgaW50Myk7Cj4gKwl9Cj4gKwo+ICsJ c2lpODYyMF93cml0ZShjdHgsIFJFR19MTV9EREMsIGxtX2RkYyk7Cj4gKwo+ICtlbmQ6Cj4gKwlr ZnJlZShjdHgtPmVkaWQpOwo+ICsJY3R4LT5lZGlkID0gKHN0cnVjdCBlZGlkICopZWRpZDsKPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9zZXRfdXBzdHJlYW1fZWRpZChzdHJ1Y3Qgc2lp ODYyMCAqY3R4KQo+ICt7Cj4gKwlzaWk4NjIwX3NldGJpdHMoY3R4LCBSRUdfRFBELCBCSVRfRFBE X1BETlJYMTIgfCBCSVRfRFBEX1BESURDS19OCj4gKwkJCXwgQklUX0RQRF9QRF9NSExfQ0xLX04s IDB4ZmYpOwo+ICsKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfUlhfSERNSV9D VFJMMywgMHgwMCwKPiArCQlSRUdfUEtUX0ZJTFRFUl8wLCAweEZGLAo+ICsJCVJFR19QS1RfRklM VEVSXzEsIDB4RkYsCj4gKwkJUkVHX0FMSUNFMF9CV19JMkMsIDB4MDYKPiArCSk7Cj4gKwo+ICsJ c2lpODYyMF9zZXRiaXRzKGN0eCwgUkVHX1JYX0hETUlfQ0xSX0JVRkZFUiwKPiArCQkJQklUX1JY X0hETUlfQ0xSX0JVRkZFUl9WU0lfQ0xSX0VOLCAweGZmKTsKPiArCj4gKwlzaWk4NjIwX3dyaXRl X3NlcShjdHgsCj4gKwkJUkVHX0VESURfQ1RSTCwgQklUX0VESURfQ1RSTF9FRElEX0ZJRk9fQURE Ul9BVVRPCj4gKwkJCXwgQklUX0VESURfQ1RSTF9FRElEX01PREVfRU4sCj4gKwkJUkVHX0VESURf RklGT19BRERSLCAwLAo+ICsJKTsKPiArCj4gKwlzaWk4NjIwX3dyaXRlX2J1ZihjdHgsIFJFR19F RElEX0ZJRk9fV1JfREFUQSwgKHU4ICopY3R4LT5lZGlkLAo+ICsJCQkoY3R4LT5lZGlkLT5leHRl bnNpb25zICsgMSkgKiBFRElEX0xFTkdUSCk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZV9zZXEoY3R4 LAo+ICsJCVJFR19FRElEX0NUUkwsIEJJVF9FRElEX0NUUkxfRURJRF9QUklNRV9WQUxJRAo+ICsJ CQl8IEJJVF9FRElEX0NUUkxfRURJRF9GSUZPX0FERFJfQVVUTwo+ICsJCQl8IEJJVF9FRElEX0NU UkxfRURJRF9NT0RFX0VOLAo+ICsJCVJFR19JTlRSNV9NQVNLLCBCSVRfSU5UUl9TQ0RUX0NIQU5H RSwKPiArCQlSRUdfSU5UUjlfTUFTSywgMAo+ICsJKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQg c2lpODYyMF94dGFsX3NldF9yYXRlKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXN0YXRp YyBjb25zdCBzdHJ1Y3Qgewo+ICsJCXVuc2lnbmVkIGludCByYXRlOwo+ICsJCXU4IGRpdjsKPiAr CQl1OCB0cDE7Cj4gKwl9IHJhdGVzW10gPSB7Cj4gKwkJeyAxOTIwMCwgMHgwNCwgMHg1MyB9LAo+ ICsJCXsgMjAwMDAsIDB4MDQsIDB4NjIgfSwKPiArCQl7IDI0MDAwLCAweDA1LCAweDc1IH0sCj4g KwkJeyAzMDAwMCwgMHgwNiwgMHg5MiB9LAo+ICsJCXsgMzg0MDAsIDB4MGMsIDB4YmMgfSwKPiAr CX07Cj4gKwl1bnNpZ25lZCBsb25nIHJhdGUgPSBjbGtfZ2V0X3JhdGUoY3R4LT5jbGtfeHRhbCkg LyAxMDAwOwo+ICsJaW50IGk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmF0 ZXMpIC0gMTsgKytpKQo+ICsJCWlmIChyYXRlIDw9IHJhdGVzW2ldLnJhdGUpCj4gKwkJCWJyZWFr Owo+ICsKPiArCWlmIChyYXRlICE9IHJhdGVzW2ldLnJhdGUpCj4gKwkJZGV2X2VycihjdHgtPmRl diwgInh0YWwgY2xvY2sgcmF0ZSglbHVrSHopIG5vdCBzdXBwb3J0ZWQsIHNldHRpbmcgTUhMIGZv ciAldWtIei5cbiIsCj4gKwkJCXJhdGUsIHJhdGVzW2ldLnJhdGUpOwo+ICsKPiArCXNpaTg2MjBf d3JpdGUoY3R4LCBSRUdfRElWX0NUTF9NQUlOLCByYXRlc1tpXS5kaXYpOwo+ICsJc2lpODYyMF93 cml0ZShjdHgsIFJFR19IRENQMlhfVFAxLCByYXRlc1tpXS50cDEpOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgaW50IHNpaTg2MjBfaHdfb24oc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJaW50IHJl dDsKPiArCj4gKwlyZXQgPSByZWd1bGF0b3JfYnVsa19lbmFibGUoQVJSQVlfU0laRShjdHgtPnN1 cHBsaWVzKSwgY3R4LT5zdXBwbGllcyk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4g Kwl1c2xlZXBfcmFuZ2UoMTAwMDAsIDIwMDAwKTsKPiArCXJldHVybiBjbGtfcHJlcGFyZV9lbmFi bGUoY3R4LT5jbGtfeHRhbCk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgc2lpODYyMF9od19vZmYo c3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGN0eC0+ Y2xrX3h0YWwpOwo+ICsJZ3Bpb2Rfc2V0X3ZhbHVlKGN0eC0+Z3Bpb19yZXNldCwgMSk7Cj4gKwly ZXR1cm4gcmVndWxhdG9yX2J1bGtfZGlzYWJsZShBUlJBWV9TSVpFKGN0eC0+c3VwcGxpZXMpLCBj dHgtPnN1cHBsaWVzKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9od19yZXNldChz dHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwl1c2xlZXBfcmFuZ2UoMTAwMDAsIDIwMDAwKTsK PiArCWdwaW9kX3NldF92YWx1ZShjdHgtPmdwaW9fcmVzZXQsIDApOwo+ICsJdXNsZWVwX3Jhbmdl KDUwMDAsIDIwMDAwKTsKPiArCWdwaW9kX3NldF92YWx1ZShjdHgtPmdwaW9fcmVzZXQsIDEpOwo+ ICsJdXNsZWVwX3JhbmdlKDEwMDAwLCAyMDAwMCk7Cj4gKwlncGlvZF9zZXRfdmFsdWUoY3R4LT5n cGlvX3Jlc2V0LCAwKTsKPiArCW1zbGVlcCgzMDApOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBz aWk4NjIwX2NidXNfcmVzZXQoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJc2lpODYyMF93 cml0ZV9zZXEoY3R4LAo+ICsJCVJFR19QV0RfU1JTVCwgQklUX1BXRF9TUlNUX0NCVVNfUlNUCj4g KwkJCXwgQklUX1BXRF9TUlNUX0NCVVNfUlNUX1NXX0VOLAo+ICsJCVJFR19QV0RfU1JTVCwgQklU X1BXRF9TUlNUX0NCVVNfUlNUX1NXX0VOCj4gKwkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBz aWk4NjIwX3NldF9hdXRvX3pvbmUoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJaWYgKGN0 eC0+bW9kZSAhPSBDTV9NSEwxKSB7Cj4gKwkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCQlS RUdfVFhfWk9ORV9DVEwxLCAweDAsCj4gKwkJCVJFR19NSExfUExMX0NUTDAsIFZBTF9NSExfUExM X0NUTDBfSERNSV9DTEtfUkFUSU9fMVgKPiArCQkJCXwgQklUX01ITF9QTExfQ1RMMF9DUllTVEFM X0NMS19TRUwKPiArCQkJCXwgQklUX01ITF9QTExfQ1RMMF9aT05FX01BU0tfT0UKPiArCQkpOwo+ ICsJfSBlbHNlIHsKPiArCQlzaWk4NjIwX3dyaXRlX3NlcShjdHgsCj4gKwkJCVJFR19UWF9aT05F X0NUTDEsIFZBTF9UWF9aT05FX0NUTDFfVFhfWk9ORV9DVFJMX01PREUsCj4gKwkJCVJFR19NSExf UExMX0NUTDAsIFZBTF9NSExfUExMX0NUTDBfSERNSV9DTEtfUkFUSU9fMVgKPiArCQkJCXwgQklU X01ITF9QTExfQ1RMMF9aT05FX01BU0tfT0UKPiArCQkpOwo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0 aWMgdm9pZCBzaWk4NjIwX3N0b3BfdmlkZW8oc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJ dTggdW5pbml0aWFsaXplZF92YXIodmFsKTsKPiArCj4gKwlzaWk4NjIwX3dyaXRlX3NlcShjdHgs Cj4gKwkJUkVHX1RQSV9JTlRSX0VOLCAwLAo+ICsJCVJFR19IRENQMlhfSU5UUjBfTUFTSywgMCwK PiArCQlSRUdfVFBJX0NPUFBfREFUQTIsIDAsCj4gKwkJUkVHX1RQSV9JTlRSX1NUMCwgfjAsCj4g KwkpOwo+ICsKPiArCXN3aXRjaCAoY3R4LT5zaW5rX3R5cGUpIHsKPiArCWNhc2UgU0lOS19EVkk6 Cj4gKwkJdmFsID0gQklUX1RQSV9TQ19SRUdfVE1EU19PRV9QT1dFUl9ET1dOCj4gKwkJCXwgQklU X1RQSV9TQ19UUElfQVZfTVVURTsKPiArCQlicmVhazsKPiArCWNhc2UgU0lOS19IRE1JOgo+ICsJ CXZhbCA9IEJJVF9UUElfU0NfUkVHX1RNRFNfT0VfUE9XRVJfRE9XTgo+ICsJCQl8IEJJVF9UUElf U0NfVFBJX0FWX01VVEUKPiArCQkJfCBCSVRfVFBJX1NDX1RQSV9PVVRQVVRfTU9ERV8wX0hETUk7 Cj4gKwkJYnJlYWs7Cj4gKwlkZWZhdWx0Ogo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gKwlzaWk4 NjIwX3dyaXRlKGN0eCwgUkVHX1RQSV9TQywgdmFsKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQg c2lpODYyMF9zdGFydF9oZG1pKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNpaTg2MjBf d3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfUlhfSERNSV9DVFJMMiwgVkFMX1JYX0hETUlfQ1RSTDJf REVGVkFMCj4gKwkJCXwgQklUX1JYX0hETUlfQ1RSTDJfVVNFX0FWX01VVEUsCj4gKwkJUkVHX1ZJ RF9PVlJSRCwgQklUX1ZJRF9PVlJSRF9QUF9BVVRPX0RJU0FCTEUKPiArCQkJfCBCSVRfVklEX09W UlJEX00xMDgwUF9PVlJSRCwKPiArCQlSRUdfVklEX01PREUsIDAsCj4gKwkJUkVHX01ITF9UT1Bf Q1RMLCAweDEsCj4gKwkJUkVHX01ITFRYX0NUTDYsIDB4YTAsCj4gKwkJUkVHX1RQSV9JTlBVVCwg VkFMX1RQSV9GT1JNQVQoUkdCLCBGVUxMKSwKPiArCQlSRUdfVFBJX09VVFBVVCwgVkFMX1RQSV9G T1JNQVQoUkdCLCBGVUxMKSwKPiArCSk7Cj4gKwo+ICsJc2lpODYyMF9tdF93cml0ZV9zdGF0KGN0 eCwgTUhMX0RTVF9SRUcoTElOS19NT0RFKSwKPiArCQkJTUhMX0RTVF9MTV9DTEtfTU9ERV9OT1JN QUwgfCBNSExfRFNUX0xNX1BBVEhfRU5BQkxFRCk7Cj4gKwo+ICsJc2lpODYyMF9zZXRfYXV0b196 b25lKGN0eCk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19UUElfU0MsIEJJVF9UUElf U0NfVFBJX09VVFBVVF9NT0RFXzBfSERNSSk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZV9idWYoY3R4 LCBSRUdfVFBJX0FWSV9DSFNVTSwgY3R4LT5hdmlmLAo+ICsJCQkgIEFSUkFZX1NJWkUoY3R4LT5h dmlmKSk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19QS1RfRklMVEVSXzAsIDB4YTEs IDB4Mik7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfc3RhcnRfdmlkZW8oc3RydWN0 IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJaWYgKGN0eC0+bW9kZSA8IENNX01ITDMpCj4gKwkJc2lp ODYyMF9zdG9wX3ZpZGVvKGN0eCk7Cj4gKwo+ICsJc3dpdGNoIChjdHgtPnNpbmtfdHlwZSkgewo+ ICsJY2FzZSBTSU5LX0hETUk6Cj4gKwkJc2lpODYyMF9zdGFydF9oZG1pKGN0eCk7Cj4gKwkJYnJl YWs7Cj4gKwljYXNlIFNJTktfRFZJOgo+ICsJZGVmYXVsdDoKPiArCQlicmVhazsKPiArCX0KPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9kaXNhYmxlX2hwZChzdHJ1Y3Qgc2lpODYyMCAq Y3R4KQo+ICt7Cj4gKwlzaWk4NjIwX3NldGJpdHMoY3R4LCBSRUdfRURJRF9DVFJMLCBCSVRfRURJ RF9DVFJMX0VESURfUFJJTUVfVkFMSUQsIDApOwo+ICsJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ ICsJCVJFR19IUERfQ1RSTCwgQklUX0hQRF9DVFJMX0hQRF9PVVRfT1ZSX0VOLAo+ICsJCVJFR19J TlRSOF9NQVNLLCAwCj4gKwkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX2VuYWJs ZV9ocGQoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJc2lpODYyMF9zZXRiaXRzKGN0eCwg UkVHX1RNRFNfQ1NUQVRfUDMsCj4gKwkJCUJJVF9UTURTX0NTVEFUX1AzX1NDRFRfQ0xSX0FWSV9E SVMKPiArCQkJfCBCSVRfVE1EU19DU1RBVF9QM19DTFJfQVZJLCB+MCk7Cj4gKwlzaWk4NjIwX3dy aXRlX3NlcShjdHgsCj4gKwkJUkVHX0hQRF9DVFJMLCBCSVRfSFBEX0NUUkxfSFBEX09VVF9PVlJf RU4KPiArCQkJfCBCSVRfSFBEX0NUUkxfSFBEX0hJR0gsCj4gKwkpOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgdm9pZCBzaWk4NjIwX2VuYWJsZV9nZW4yX3dyaXRlX2J1cnN0KHN0cnVjdCBzaWk4NjIwICpj dHgpCj4gK3sKPiArCWlmIChjdHgtPmdlbjJfd3JpdGVfYnVyc3QpCj4gKwkJcmV0dXJuOwo+ICsK PiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfTURUX1JDVl9USU1FT1VULCAxMDAs Cj4gKwkJUkVHX01EVF9SQ1ZfQ1RSTCwgQklUX01EVF9SQ1ZfQ1RSTF9NRFRfUkNWX0VOCj4gKwkp Owo+ICsJY3R4LT5nZW4yX3dyaXRlX2J1cnN0ID0gMTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQg c2lpODYyMF9kaXNhYmxlX2dlbjJfd3JpdGVfYnVyc3Qoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiAr ewo+ICsJaWYgKCFjdHgtPmdlbjJfd3JpdGVfYnVyc3QpCj4gKwkJcmV0dXJuOwo+ICsKPiArCXNp aTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfTURUX1hNSVRfQ1RSTCwgMCwKPiArCQlSRUdf TURUX1JDVl9DVFJMLCAwCj4gKwkpOwo+ICsJY3R4LT5nZW4yX3dyaXRlX2J1cnN0ID0gMDsKPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9zdGFydF9nZW4yX3dyaXRlX2J1cnN0KHN0cnVj dCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdf TURUX0lOVF8xX01BU0ssIEJJVF9NRFRfUkNWX1RJTUVPVVQKPiArCQkJfCBCSVRfTURUX1JDVl9T TV9BQk9SVF9QS1RfUkNWRCB8IEJJVF9NRFRfUkNWX1NNX0VSUk9SCj4gKwkJCXwgQklUX01EVF9Y TUlUX1RJTUVPVVQgfCBCSVRfTURUX1hNSVRfU01fQUJPUlRfUEtUX1JDVkQKPiArCQkJfCBCSVRf TURUX1hNSVRfU01fRVJST1IsCj4gKwkJUkVHX01EVF9JTlRfMF9NQVNLLCBCSVRfTURUX1hGSUZP X0VNUFRZCj4gKwkJCXwgQklUX01EVF9JRExFX0FGVEVSX0hBV0JfRElTQUJMRQo+ICsJCQl8IEJJ VF9NRFRfUkZJRk9fREFUQV9SRFkKPiArCSk7Cj4gKwlzaWk4NjIwX2VuYWJsZV9nZW4yX3dyaXRl X2J1cnN0KGN0eCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfbWhsX2Rpc2NvdmVy KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiAr CQlSRUdfRElTQ19DVFJMOSwgQklUX0RJU0NfQ1RSTDlfV0FLRV9EUlZGTFQKPiArCQkJfCBCSVRf RElTQ19DVFJMOV9ESVNDX1BVTFNFX1BST0NFRUQsCj4gKwkJUkVHX0RJU0NfQ1RSTDQsIFZBTF9E SVNDX0NUUkw0KFZBTF9QVVBfNUssIFZBTF9QVVBfMjBLKSwKPiArCQlSRUdfQ0JVU19ESVNDX0lO VFIwX01BU0ssIEJJVF9NSEwzX0VTVF9JTlQKPiArCQkJfCBCSVRfTUhMX0VTVF9JTlQKPiArCQkJ fCBCSVRfTk9UX01ITF9FU1RfSU5UCj4gKwkJCXwgQklUX0NCVVNfTUhMM19ESVNDT05fSU5UCj4g KwkJCXwgQklUX0NCVVNfTUhMMTJfRElTQ09OX0lOVAo+ICsJCQl8IEJJVF9SR05EX1JFQURZX0lO VCwKPiArCQlSRUdfTUhMX1BMTF9DVEwwLCBWQUxfTUhMX1BMTF9DVEwwX0hETUlfQ0xLX1JBVElP XzFYCj4gKwkJCXwgQklUX01ITF9QTExfQ1RMMF9DUllTVEFMX0NMS19TRUwKPiArCQkJfCBCSVRf TUhMX1BMTF9DVEwwX1pPTkVfTUFTS19PRSwKPiArCQlSRUdfTUhMX0RQX0NUTDAsIEJJVF9NSExf RFBfQ1RMMF9EUF9PRQo+ICsJCQl8IEJJVF9NSExfRFBfQ1RMMF9UWF9PRV9PVlIsCj4gKwkJUkVH X00zX0NUUkwsIFZBTF9NM19DVFJMX01ITDNfVkFMVUUsCj4gKwkJUkVHX01ITF9EUF9DVEwxLCAw eEEyLAo+ICsJCVJFR19NSExfRFBfQ1RMMiwgMHgwMywKPiArCQlSRUdfTUhMX0RQX0NUTDMsIDB4 MzUsCj4gKwkJUkVHX01ITF9EUF9DVEw1LCAweDAyLAo+ICsJCVJFR19NSExfRFBfQ1RMNiwgMHgw MiwKPiArCQlSRUdfTUhMX0RQX0NUTDcsIDB4MDMsCj4gKwkJUkVHX0NPQ19DVExDLCAweEZGLAo+ ICsJCVJFR19EUEQsIEJJVF9EUERfUFdST05fUExMIHwgQklUX0RQRF9QRE5UWDEyCj4gKwkJCXwg QklUX0RQRF9PU0NfRU4gfCBCSVRfRFBEX1BXUk9OX0hTSUMsCj4gKwkJUkVHX0NPQ19JTlRSX01B U0ssIEJJVF9DT0NfUExMX0xPQ0tfU1RBVFVTX0NIQU5HRQo+ICsJCQl8IEJJVF9DT0NfQ0FMSUJS QVRJT05fRE9ORSwKPiArCQlSRUdfQ0JVU19JTlRfMV9NQVNLLCBCSVRfQ0JVU19NU0NfQUJPUlRf UkNWRAo+ICsJCQl8IEJJVF9DQlVTX0NNRF9BQk9SVCwKPiArCQlSRUdfQ0JVU19JTlRfMF9NQVNL LCBCSVRfQ0JVU19NU0NfTVRfRE9ORQo+ICsJCQl8IEJJVF9DQlVTX0hQRF9DSEcKPiArCQkJfCBC SVRfQ0JVU19NU0NfTVJfV1JJVEVfU1RBVAo+ICsJCQl8IEJJVF9DQlVTX01TQ19NUl9NU0NfTVNH Cj4gKwkJCXwgQklUX0NCVVNfTVNDX01SX1dSSVRFX0JVUlNUCj4gKwkJCXwgQklUX0NCVVNfTVND X01SX1NFVF9JTlQKPiArCQkJfCBCSVRfQ0JVU19NU0NfTVRfRE9ORV9OQUNLCj4gKwkpOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX3BlZXJfc3BlY2lmaWNfaW5pdChzdHJ1Y3Qgc2lp ODYyMCAqY3R4KQo+ICt7Cj4gKwlpZiAoY3R4LT5tb2RlID09IENNX01ITDMpCj4gKwkJc2lpODYy MF93cml0ZV9zZXEoY3R4LAo+ICsJCQlSRUdfU1lTX0NUUkwxLCBCSVRfU1lTX0NUUkwxX0JMT0NL X0REQ19CWV9IUEQsCj4gKwkJCVJFR19FTVNDSU5UUk1BU0sxLAo+ICsJCQkJQklUX0VNU0NJTlRS MV9FTVNDX1RSQUlOSU5HX0NPTU1BX0VSUgo+ICsJCSk7Cj4gKwllbHNlCj4gKwkJc2lpODYyMF93 cml0ZV9zZXEoY3R4LAo+ICsJCQlSRUdfSERDUDJYX0lOVFIwX01BU0ssIDB4MDAsCj4gKwkJCVJF R19FTVNDSU5UUk1BU0sxLCAweDAwLAo+ICsJCQlSRUdfSERDUDJYX0lOVFIwLCAweEZGLAo+ICsJ CQlSRUdfSU5UUjEsIDB4RkYsCj4gKwkJCVJFR19TWVNfQ1RSTDEsIEJJVF9TWVNfQ1RSTDFfQkxP Q0tfRERDX0JZX0hQRAo+ICsJCQkJfCBCSVRfU1lTX0NUUkwxX1RYX0NUUkxfSERNSQo+ICsJCSk7 Cj4gK30KPiArCj4gKyNkZWZpbmUgU0lJODYyMF9NSExfVkVSU0lPTgkJCTB4MzIKPiArI2RlZmlu ZSBTSUk4NjIwX1NDUkFUQ0hQQURfU0laRQkJCTE2Cj4gKyNkZWZpbmUgU0lJODYyMF9JTlRfU1RB VF9TSVpFCQkJMHgzMwo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9zZXRfZGV2X2NhcChzdHJ1 Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlzdGF0aWMgY29uc3QgdTggZGV2Y2FwW01ITF9EQ0FQ X1NJWkVdID0gewo+ICsJCVtNSExfRENBUF9NSExfVkVSU0lPTl0gPSBTSUk4NjIwX01ITF9WRVJT SU9OLAo+ICsJCVtNSExfRENBUF9DQVRdID0gTUhMX0RDQVBfQ0FUX1NPVVJDRSB8IE1ITF9EQ0FQ X0NBVF9QT1dFUiwKPiArCQlbTUhMX0RDQVBfQURPUFRFUl9JRF9IXSA9IDB4MDEsCj4gKwkJW01I TF9EQ0FQX0FET1BURVJfSURfTF0gPSAweDQxLAo+ICsJCVtNSExfRENBUF9WSURfTElOS19NT0RF XSA9IE1ITF9EQ0FQX1ZJRF9MSU5LX1JHQjQ0NAo+ICsJCQl8IE1ITF9EQ0FQX1ZJRF9MSU5LX1BQ SVhFTAo+ICsJCQl8IE1ITF9EQ0FQX1ZJRF9MSU5LXzE2QlBQLAo+ICsJCVtNSExfRENBUF9BVURf TElOS19NT0RFXSA9IE1ITF9EQ0FQX0FVRF9MSU5LXzJDSCwKPiArCQlbTUhMX0RDQVBfVklERU9f VFlQRV0gPSBNSExfRENBUF9WVF9HUkFQSElDUywKPiArCQlbTUhMX0RDQVBfTE9HX0RFVl9NQVBd ID0gTUhMX0RDQVBfTERfR1VJLAo+ICsJCVtNSExfRENBUF9CQU5EV0lEVEhdID0gMHgwZiwKPiAr CQlbTUhMX0RDQVBfRkVBVFVSRV9GTEFHXSA9IE1ITF9EQ0FQX0ZFQVRVUkVfUkNQX1NVUFBPUlQK PiArCQkJfCBNSExfRENBUF9GRUFUVVJFX1JBUF9TVVBQT1JUCj4gKwkJCXwgTUhMX0RDQVBfRkVB VFVSRV9TUF9TVVBQT1JULAo+ICsJCVtNSExfRENBUF9TQ1JBVENIUEFEX1NJWkVdID0gU0lJODYy MF9TQ1JBVENIUEFEX1NJWkUsCj4gKwkJW01ITF9EQ0FQX0lOVF9TVEFUX1NJWkVdID0gU0lJODYy MF9JTlRfU1RBVF9TSVpFLAo+ICsJfTsKPiArCXN0YXRpYyBjb25zdCB1OCB4ZGNhcFtNSExfWERD X1NJWkVdID0gewo+ICsJCVtNSExfWERDX0VDQlVTX1NQRUVEU10gPSBNSExfWERDX0VDQlVTX1Nf MDc1Cj4gKwkJCXwgTUhMX1hEQ19FQ0JVU19TXzhCSVQsCj4gKwkJW01ITF9YRENfVE1EU19TUEVF RFNdID0gTUhMX1hEQ19UTURTXzE1MAo+ICsJCQl8IE1ITF9YRENfVE1EU18zMDAgfCBNSExfWERD X1RNRFNfNjAwLAo+ICsJCVtNSExfWERDX0VDQlVTX1JPTEVTXSA9IE1ITF9YRENfREVWX0hPU1Qs Cj4gKwkJW01ITF9YRENfTE9HX0RFVl9NQVBYXSA9IE1ITF9YRENfTERfUEhPTkUsCj4gKwl9Owo+ ICsKPiArCXNpaTg2MjBfd3JpdGVfYnVmKGN0eCwgUkVHX01ITF9ERVZDQVBfMCwgZGV2Y2FwLCBB UlJBWV9TSVpFKGRldmNhcCkpOwo+ICsJc2lpODYyMF93cml0ZV9idWYoY3R4LCBSRUdfTUhMX0VY VERFVkNBUF8wLCB4ZGNhcCwgQVJSQVlfU0laRSh4ZGNhcCkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg dm9pZCBzaWk4NjIwX21obF9pbml0KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNpaTg2 MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfRElTQ19DVFJMNCwgVkFMX0RJU0NfQ1RSTDQoVkFM X1BVUF9PRkYsIFZBTF9QVVBfMjBLKSwKPiArCQlSRUdfQ0JVU19NU0NfQ09NUEFUX0NUUkwsCj4g KwkJCUJJVF9DQlVTX01TQ19DT01QQVRfQ1RSTF9YREVWQ0FQX0VOLAo+ICsJKTsKPiArCj4gKwlz aWk4NjIwX3BlZXJfc3BlY2lmaWNfaW5pdChjdHgpOwo+ICsKPiArCXNpaTg2MjBfZGlzYWJsZV9o cGQoY3R4KTsKPiArCj4gKwlzaWk4NjIwX3dyaXRlX3NlcShjdHgsCj4gKwkJUkVHX0VESURfQ1RS TCwgQklUX0VESURfQ1RSTF9FRElEX0ZJRk9fQUREUl9BVVRPLAo+ICsJCVJFR19ESVNDX0NUUkw5 LCBCSVRfRElTQ19DVFJMOV9XQUtFX0RSVkZMVAo+ICsJCQl8IEJJVF9ESVNDX0NUUkw5X1dBS0Vf UFVMU0VfQllQQVNTLAo+ICsJCVJFR19UTURTMF9DQ1RSTDEsIDB4OTAsCj4gKwkJUkVHX1RNRFNf Q0xLX0VOLCAweDAxLAo+ICsJCVJFR19UTURTX0NIX0VOLCAweDExLAo+ICsJCVJFR19CR1JfQklB UywgMHg4NywKPiArCQlSRUdfQUxJQ0UwX1pPTkVfQ1RSTCwgMHhFOCwKPiArCQlSRUdfQUxJQ0Uw X01PREVfQ1RSTCwgMHgwNCwKPiArCSk7Cj4gKwlzaWk4NjIwX3NldGJpdHMoY3R4LCBSRUdfTE1f RERDLCBCSVRfTE1fRERDX1NXX1RQSV9FTl9ESVNBQkxFRCwgMCk7Cj4gKwlzaWk4NjIwX3dyaXRl X3NlcShjdHgsCj4gKwkJUkVHX1RQSV9IV19PUFQzLCAweDc2LAo+ICsJCVJFR19UTURTX0NDVFJM LCBCSVRfVE1EU19DQ1RSTF9UTURTX09FLAo+ICsJCVJFR19UUElfRFREX0IyLCA3OSwKPiArCSk7 Cj4gKwlzaWk4NjIwX3NldF9kZXZfY2FwKGN0eCk7Cj4gKwlzaWk4NjIwX3dyaXRlX3NlcShjdHgs Cj4gKwkJUkVHX01EVF9YTUlUX1RJTUVPVVQsIDEwMCwKPiArCQlSRUdfTURUX1hNSVRfQ1RSTCwg MHgwMywKPiArCQlSRUdfTURUX1hGSUZPX1NUQVQsIDB4MDAsCj4gKwkJUkVHX01EVF9SQ1ZfVElN RU9VVCwgMTAwLAo+ICsJCVJFR19DQlVTX0xJTktfQ1RSTF84LCAweDFELAo+ICsJKTsKPiArCj4g KwlzaWk4NjIwX3N0YXJ0X2dlbjJfd3JpdGVfYnVyc3QoY3R4KTsKPiArCXNpaTg2MjBfd3JpdGVf c2VxKGN0eCwKPiArCQlSRUdfQklTVF9DVFJMLCAweDAwLAo+ICsJCVJFR19DT0NfQ1RMMSwgMHgx MCwKPiArCQlSRUdfQ09DX0NUTDIsIDB4MTgsCj4gKwkJUkVHX0NPQ19DVExGLCAweDA3LAo+ICsJ CVJFR19DT0NfQ1RMMTEsIDB4RjgsCj4gKwkJUkVHX0NPQ19DVEwxNywgMHg2MSwKPiArCQlSRUdf Q09DX0NUTDE4LCAweDQ2LAo+ICsJCVJFR19DT0NfQ1RMMTksIDB4MTUsCj4gKwkJUkVHX0NPQ19D VEwxQSwgMHgwMSwKPiArCQlSRUdfTUhMX0NPQ19DVEwzLCBCSVRfTUhMX0NPQ19DVEwzX0NPQ19B RUNIT19FTiwKPiArCQlSRUdfTUhMX0NPQ19DVEw0LCAweDJELAo+ICsJCVJFR19NSExfQ09DX0NU TDUsIDB4RjksCj4gKwkJUkVHX01TQ19IRUFSVEJFQVRfQ1RSTCwgMHgyNywKPiArCSk7Cj4gKwlz aWk4NjIwX2Rpc2FibGVfZ2VuMl93cml0ZV9idXJzdChjdHgpOwo+ICsKPiArCS8qIGN1cnJlbnRs eSBNSEwzIGlzIG5vdCBzdXBwb3J0ZWQsIHNvIHdlIGZvcmNlIHZlcnNpb24gdG8gMCAqLwo+ICsJ c2lpODYyMF9tdF93cml0ZV9zdGF0KGN0eCwgTUhMX0RTVF9SRUcoVkVSU0lPTiksIDApOwo+ICsJ c2lpODYyMF9tdF93cml0ZV9zdGF0KGN0eCwgTUhMX0RTVF9SRUcoQ09OTkVDVEVEX1JEWSksCj4g KwkJCSAgICAgIE1ITF9EU1RfQ09OTl9EQ0FQX1JEWSB8IE1ITF9EU1RfQ09OTl9YREVWQ0FQUF9T VVBQCj4gKwkJCSAgICAgIHwgTUhMX0RTVF9DT05OX1BPV19TVEFUKTsKPiArCXNpaTg2MjBfbXRf c2V0X2ludChjdHgsIE1ITF9JTlRfUkVHKFJDSEFOR0UpLCBNSExfSU5UX1JDX0RDQVBfQ0hHKTsK PiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9zZXRfbW9kZShzdHJ1Y3Qgc2lpODYyMCAq Y3R4LCBlbnVtIHNpaTg2MjBfbW9kZSBtb2RlKQo+ICt7Cj4gKwlpZiAoY3R4LT5tb2RlID09IG1v ZGUpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWN0eC0+bW9kZSA9IG1vZGU7Cj4gKwo+ICsJc3dpdGNo IChtb2RlKSB7Cj4gKwljYXNlIENNX01ITDE6Cj4gKwkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ ICsJCQlSRUdfQ0JVU19NU0NfQ09NUEFUX0NUUkwsIDB4MDIsCj4gKwkJCVJFR19NM19DVFJMLCBW QUxfTTNfQ1RSTF9NSEwxXzJfVkFMVUUsCj4gKwkJCVJFR19EUEQsIEJJVF9EUERfUFdST05fUExM IHwgQklUX0RQRF9QRE5UWDEyCj4gKwkJCQl8IEJJVF9EUERfT1NDX0VOLAo+ICsJCQlSRUdfQ09D X0lOVFJfTUFTSywgMAo+ICsJCSk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIENNX01ITDM6Cj4gKwkJ c2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCQlSRUdfTTNfQ1RSTCwgVkFMX00zX0NUUkxfTUhM M19WQUxVRSwKPiArCQkJUkVHX0NPQ19DVEwwLCAweDQwLAo+ICsJCQlSRUdfTUhMX0NPQ19DVEwx LCAweDA3Cj4gKwkJKTsKPiArCQlicmVhazsKPiArCWNhc2UgQ01fRElTQ09OTkVDVEVEOgo+ICsJ CWJyZWFrOwo+ICsJZGVmYXVsdDoKPiArCQlkZXZfZXJyKGN0eC0+ZGV2LCAiJXMgbW9kZSAlZCBu b3Qgc3VwcG9ydGVkXG4iLCBfX2Z1bmNfXywgbW9kZSk7Cj4gKwkJYnJlYWs7Cj4gKwl9Owo+ICsK PiArCXNpaTg2MjBfc2V0X2F1dG9fem9uZShjdHgpOwo+ICsKPiArCWlmIChtb2RlICE9IENNX01I TDEpCj4gKwkJcmV0dXJuOwo+ICsKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdf TUhMX0RQX0NUTDAsIDB4QkMsCj4gKwkJUkVHX01ITF9EUF9DVEwxLCAweEJCLAo+ICsJCVJFR19N SExfRFBfQ1RMMywgMHg0OCwKPiArCQlSRUdfTUhMX0RQX0NUTDUsIDB4MzksCj4gKwkJUkVHX01I TF9EUF9DVEwyLCAweDJBLAo+ICsJCVJFR19NSExfRFBfQ1RMNiwgMHgyQSwKPiArCQlSRUdfTUhM X0RQX0NUTDcsIDB4MDgKPiArCSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfZGlz Y29ubmVjdChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwlzaWk4NjIwX2Rpc2FibGVfZ2Vu Ml93cml0ZV9idXJzdChjdHgpOwo+ICsJc2lpODYyMF9zdG9wX3ZpZGVvKGN0eCk7Cj4gKwltc2xl ZXAoNTApOwo+ICsJc2lpODYyMF9jYnVzX3Jlc2V0KGN0eCk7Cj4gKwlzaWk4NjIwX3NldF9tb2Rl KGN0eCwgQ01fRElTQ09OTkVDVEVEKTsKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlS RUdfQ09DX0NUTDAsIDB4NDAsCj4gKwkJUkVHX0NCVVMzX0NOVlQsIDB4ODQsCj4gKwkJUkVHX0NP Q19DVEwxNCwgMHgwMCwKPiArCQlSRUdfQ09DX0NUTDAsIDB4NDAsCj4gKwkJUkVHX0hSWENUUkwz LCAweDA3LAo+ICsJCVJFR19NSExfUExMX0NUTDAsIFZBTF9NSExfUExMX0NUTDBfSERNSV9DTEtf UkFUSU9fMVgKPiArCQkJfCBCSVRfTUhMX1BMTF9DVEwwX0NSWVNUQUxfQ0xLX1NFTAo+ICsJCQl8 IEJJVF9NSExfUExMX0NUTDBfWk9ORV9NQVNLX09FLAo+ICsJCVJFR19NSExfRFBfQ1RMMCwgQklU X01ITF9EUF9DVEwwX0RQX09FCj4gKwkJCXwgQklUX01ITF9EUF9DVEwwX1RYX09FX09WUiwKPiAr CQlSRUdfTUhMX0RQX0NUTDEsIDB4QkIsCj4gKwkJUkVHX01ITF9EUF9DVEwzLCAweDQ4LAo+ICsJ CVJFR19NSExfRFBfQ1RMNSwgMHgzRiwKPiArCQlSRUdfTUhMX0RQX0NUTDIsIDB4MkYsCj4gKwkJ UkVHX01ITF9EUF9DVEw2LCAweDJBLAo+ICsJCVJFR19NSExfRFBfQ1RMNywgMHgwMwo+ICsJKTsK PiArCXNpaTg2MjBfZGlzYWJsZV9ocGQoY3R4KTsKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwK PiArCQlSRUdfTTNfQ1RSTCwgVkFMX00zX0NUUkxfTUhMM19WQUxVRSwKPiArCQlSRUdfTUhMX0NP Q19DVEwxLCAweDA3LAo+ICsJCVJFR19ESVNDX0NUUkw0LCBWQUxfRElTQ19DVFJMNChWQUxfUFVQ X09GRiwgVkFMX1BVUF8yMEspLAo+ICsJCVJFR19ESVNDX0NUUkw4LCAweDAwLAo+ICsJCVJFR19E SVNDX0NUUkw5LCBCSVRfRElTQ19DVFJMOV9XQUtFX0RSVkZMVAo+ICsJCQl8IEJJVF9ESVNDX0NU Ukw5X1dBS0VfUFVMU0VfQllQQVNTLAo+ICsJCVJFR19JTlRfQ1RSTCwgMHgwMCwKPiArCQlSRUdf TVNDX0hFQVJUQkVBVF9DVFJMLCAweDI3LAo+ICsJCVJFR19ESVNDX0NUUkwxLCAweDI1LAo+ICsJ CVJFR19DQlVTX0RJU0NfSU5UUjAsICh1OCl+QklUX1JHTkRfUkVBRFlfSU5ULAo+ICsJCVJFR19D QlVTX0RJU0NfSU5UUjBfTUFTSywgQklUX1JHTkRfUkVBRFlfSU5ULAo+ICsJCVJFR19NRFRfSU5U XzEsIDB4ZmYsCj4gKwkJUkVHX01EVF9JTlRfMV9NQVNLLCAweDAwLAo+ICsJCVJFR19NRFRfSU5U XzAsIDB4ZmYsCj4gKwkJUkVHX01EVF9JTlRfMF9NQVNLLCAweDAwLAo+ICsJCVJFR19DT0NfSU5U UiwgMHhmZiwKPiArCQlSRUdfQ09DX0lOVFJfTUFTSywgMHgwMCwKPiArCQlSRUdfVFJYSU5USCwg MHhmZiwKPiArCQlSRUdfVFJYSU5UTUgsIDB4MDAsCj4gKwkJUkVHX0NCVVNfSU5UXzAsIDB4ZmYs Cj4gKwkJUkVHX0NCVVNfSU5UXzBfTUFTSywgMHgwMCwKPiArCQlSRUdfQ0JVU19JTlRfMSwgMHhm ZiwKPiArCQlSRUdfQ0JVU19JTlRfMV9NQVNLLCAweDAwLAo+ICsJCVJFR19FTVNDSU5UUiwgMHhm ZiwKPiArCQlSRUdfRU1TQ0lOVFJNQVNLLCAweDAwLAo+ICsJCVJFR19FTVNDSU5UUjEsIDB4ZmYs Cj4gKwkJUkVHX0VNU0NJTlRSTUFTSzEsIDB4MDAsCj4gKwkJUkVHX0lOVFI4LCAweGZmLAo+ICsJ CVJFR19JTlRSOF9NQVNLLCAweDAwLAo+ICsJCVJFR19UUElfSU5UUl9TVDAsIDB4ZmYsCj4gKwkJ UkVHX1RQSV9JTlRSX0VOLCAweDAwLAo+ICsJCVJFR19IRENQMlhfSU5UUjAsIDB4ZmYsCj4gKwkJ UkVHX0hEQ1AyWF9JTlRSMF9NQVNLLCAweDAwLAo+ICsJCVJFR19JTlRSOSwgMHhmZiwKPiArCQlS RUdfSU5UUjlfTUFTSywgMHgwMCwKPiArCQlSRUdfSU5UUjMsIDB4ZmYsCj4gKwkJUkVHX0lOVFIz X01BU0ssIDB4MDAsCj4gKwkJUkVHX0lOVFI1LCAweGZmLAo+ICsJCVJFR19JTlRSNV9NQVNLLCAw eDAwLAo+ICsJCVJFR19JTlRSMiwgMHhmZiwKPiArCQlSRUdfSU5UUjJfTUFTSywgMHgwMCwKPiAr CSk7Cj4gKwltZW1zZXQoY3R4LT5zdGF0LCAwLCBzaXplb2YoY3R4LT5zdGF0KSk7Cj4gKwltZW1z ZXQoY3R4LT54c3RhdCwgMCwgc2l6ZW9mKGN0eC0+eHN0YXQpKTsKPiArCW1lbXNldChjdHgtPmRl dmNhcCwgMCwgc2l6ZW9mKGN0eC0+ZGV2Y2FwKSk7Cj4gKwltZW1zZXQoY3R4LT54ZGV2Y2FwLCAw LCBzaXplb2YoY3R4LT54ZGV2Y2FwKSk7Cj4gKwljdHgtPmNidXNfc3RhdHVzID0gMDsKPiArCWN0 eC0+c2lua190eXBlID0gU0lOS19OT05FOwo+ICsJa2ZyZWUoY3R4LT5lZGlkKTsKPiArCWN0eC0+ ZWRpZCA9IE5VTEw7Cj4gKwlzaWk4NjIwX210X2NsZWFudXAoY3R4KTsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgc2lpODYyMF9taGxfZGlzY29ubmVjdGVkKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4g K3sKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiArCQlSRUdfRElTQ19DVFJMNCwgVkFMX0RJ U0NfQ1RSTDQoVkFMX1BVUF9PRkYsIFZBTF9QVVBfMjBLKSwKPiArCQlSRUdfQ0JVU19NU0NfQ09N UEFUX0NUUkwsCj4gKwkJCUJJVF9DQlVTX01TQ19DT01QQVRfQ1RSTF9YREVWQ0FQX0VOCj4gKwkp Owo+ICsJc2lpODYyMF9kaXNjb25uZWN0KGN0eCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNp aTg2MjBfaXJxX2Rpc2Moc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJdTggc3RhdCA9IHNp aTg2MjBfcmVhZGIoY3R4LCBSRUdfQ0JVU19ESVNDX0lOVFIwKTsKPiArCj4gKwlpZiAoc3RhdCAm IFZBTF9DQlVTX01ITF9ESVNDT04pCj4gKwkJc2lpODYyMF9taGxfZGlzY29ubmVjdGVkKGN0eCk7 Cj4gKwo+ICsJaWYgKHN0YXQgJiBCSVRfUkdORF9SRUFEWV9JTlQpIHsKPiArCQl1OCBzdGF0MiA9 IHNpaTg2MjBfcmVhZGIoY3R4LCBSRUdfRElTQ19TVEFUMik7Cj4gKwo+ICsJCWlmICgoc3RhdDIg JiBNU0tfRElTQ19TVEFUMl9SR05EKSA9PSBWQUxfUkdORF8xSykKPiArCQkJc2lpODYyMF9taGxf ZGlzY292ZXIoY3R4KTsKPiArCQllbHNlIHsKPiArCQkJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ ICsJCQkJUkVHX0RJU0NfQ1RSTDksIEJJVF9ESVNDX0NUUkw5X1dBS0VfRFJWRkxUCj4gKwkJCQkJ fCBCSVRfRElTQ19DVFJMOV9OT01ITF9FU1QKPiArCQkJCQl8IEJJVF9ESVNDX0NUUkw5X1dBS0Vf UFVMU0VfQllQQVNTLAo+ICsJCQkJUkVHX0NCVVNfRElTQ19JTlRSMF9NQVNLLCBCSVRfUkdORF9S RUFEWV9JTlQKPiArCQkJCQl8IEJJVF9DQlVTX01ITDNfRElTQ09OX0lOVAo+ICsJCQkJCXwgQklU X0NCVVNfTUhMMTJfRElTQ09OX0lOVAo+ICsJCQkJCXwgQklUX05PVF9NSExfRVNUX0lOVAo+ICsJ CQkpOwo+ICsJCX0KPiArCX0KPiArCWlmIChzdGF0ICYgQklUX01ITF9FU1RfSU5UKQo+ICsJCXNp aTg2MjBfbWhsX2luaXQoY3R4KTsKPiArCj4gKwlzaWk4NjIwX3dyaXRlKGN0eCwgUkVHX0NCVVNf RElTQ19JTlRSMCwgc3RhdCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfaXJxX2cy d2Ioc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJdTggc3RhdCA9IHNpaTg2MjBfcmVhZGIo Y3R4LCBSRUdfTURUX0lOVF8wKTsKPiArCj4gKwlpZiAoc3RhdCAmIEJJVF9NRFRfSURMRV9BRlRF Ul9IQVdCX0RJU0FCTEUpCj4gKwkJZGV2X2RiZyhjdHgtPmRldiwgIkhBV0IgaWRsZVxuIik7Cj4g Kwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19NRFRfSU5UXzAsIHN0YXQpOwo+ICt9Cj4gKwo+ ICtzdGF0aWMgdm9pZCBzaWk4NjIwX3N0YXR1c19jaGFuZ2VkX2RjYXAoc3RydWN0IHNpaTg2MjAg KmN0eCkKPiArewo+ICsJaWYgKGN0eC0+c3RhdFtNSExfRFNUX0NPTk5FQ1RFRF9SRFldICYgTUhM X0RTVF9DT05OX0RDQVBfUkRZKSB7Cj4gKwkJc2lpODYyMF9zZXRfbW9kZShjdHgsIENNX01ITDEp Owo+ICsJCXNpaTg2MjBfcGVlcl9zcGVjaWZpY19pbml0KGN0eCk7Cj4gKwkJc2lpODYyMF93cml0 ZShjdHgsIFJFR19JTlRSOV9NQVNLLCBCSVRfSU5UUjlfREVWQ0FQX0RPTkUKPiArCQkJICAgICAg IHwgQklUX0lOVFI5X0VESURfRE9ORSB8IEJJVF9JTlRSOV9FRElEX0VSUk9SKTsKPiArCX0KPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9zdGF0dXNfY2hhbmdlZF9wYXRoKHN0cnVjdCBz aWk4NjIwICpjdHgpCj4gK3sKPiArCWlmIChjdHgtPnN0YXRbTUhMX0RTVF9MSU5LX01PREVdICYg TUhMX0RTVF9MTV9QQVRIX0VOQUJMRUQpIHsKPiArCQlzaWk4NjIwX210X3dyaXRlX3N0YXQoY3R4 LCBNSExfRFNUX1JFRyhMSU5LX01PREUpLAo+ICsJCQkJICAgICAgTUhMX0RTVF9MTV9DTEtfTU9E RV9OT1JNQUwKPiArCQkJCSAgICAgIHwgTUhMX0RTVF9MTV9QQVRIX0VOQUJMRUQpOwo+ICsJCXNp aTg2MjBfbXRfcmVhZF9kZXZjYXAoY3R4LCBmYWxzZSk7Cj4gKwl9IGVsc2Ugewo+ICsJCXNpaTg2 MjBfbXRfd3JpdGVfc3RhdChjdHgsIE1ITF9EU1RfUkVHKExJTktfTU9ERSksCj4gKwkJCQkgICAg ICBNSExfRFNUX0xNX0NMS19NT0RFX05PUk1BTCk7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyB2 b2lkIHNpaTg2MjBfbXNjX21yX3dyaXRlX3N0YXQoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ ICsJdTggc3RbTUhMX0RTVF9TSVpFXSwgeHN0W01ITF9YRFNfU0laRV07Cj4gKwo+ICsJc2lpODYy MF9yZWFkX2J1ZihjdHgsIFJFR19NSExfU1RBVF8wLCBzdCwgTUhMX0RTVF9TSVpFKTsKPiArCXNp aTg2MjBfcmVhZF9idWYoY3R4LCBSRUdfTUhMX0VYVFNUQVRfMCwgeHN0LCBNSExfWERTX1NJWkUp Owo+ICsKPiArCXNpaTg2MjBfdXBkYXRlX2FycmF5KGN0eC0+c3RhdCwgc3QsIE1ITF9EU1RfU0la RSk7Cj4gKwlzaWk4NjIwX3VwZGF0ZV9hcnJheShjdHgtPnhzdGF0LCB4c3QsIE1ITF9YRFNfU0la RSk7Cj4gKwo+ICsJaWYgKHN0W01ITF9EU1RfQ09OTkVDVEVEX1JEWV0gJiBNSExfRFNUX0NPTk5f RENBUF9SRFkpCj4gKwkJc2lpODYyMF9zdGF0dXNfY2hhbmdlZF9kY2FwKGN0eCk7Cj4gKwo+ICsJ aWYgKHN0W01ITF9EU1RfTElOS19NT0RFXSAmIE1ITF9EU1RfTE1fUEFUSF9FTkFCTEVEKQo+ICsJ CXNpaTg2MjBfc3RhdHVzX2NoYW5nZWRfcGF0aChjdHgpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p ZCBzaWk4NjIwX21zY19tcl9zZXRfaW50KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXU4 IGludHNbTUhMX0lOVF9TSVpFXTsKPiArCj4gKwlzaWk4NjIwX3JlYWRfYnVmKGN0eCwgUkVHX01I TF9JTlRfMCwgaW50cywgTUhMX0lOVF9TSVpFKTsKPiArCXNpaTg2MjBfd3JpdGVfYnVmKGN0eCwg UkVHX01ITF9JTlRfMCwgaW50cywgTUhMX0lOVF9TSVpFKTsKPiArfQo+ICsKPiArc3RhdGljIHN0 cnVjdCBzaWk4NjIwX210X21zZyAqc2lpODYyMF9tc2NfbXNnX2ZpcnN0KHN0cnVjdCBzaWk4NjIw ICpjdHgpCj4gK3sKPiArCXN0cnVjdCBkZXZpY2UgKmRldiA9IGN0eC0+ZGV2Owo+ICsKPiArCWlm IChsaXN0X2VtcHR5KCZjdHgtPm10X3F1ZXVlKSkgewo+ICsJCWRldl9lcnIoZGV2LCAidW5leHBl Y3RlZCBNU0MgTVQgcmVzcG9uc2VcbiIpOwo+ICsJCXJldHVybiBOVUxMOwo+ICsJfQo+ICsKPiAr CXJldHVybiBsaXN0X2ZpcnN0X2VudHJ5KCZjdHgtPm10X3F1ZXVlLCBzdHJ1Y3Qgc2lpODYyMF9t dF9tc2csIG5vZGUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBzaWk4NjIwX21zY19tdF9kb25l KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXN0cnVjdCBzaWk4NjIwX210X21zZyAqbXNn ID0gc2lpODYyMF9tc2NfbXNnX2ZpcnN0KGN0eCk7Cj4gKwo+ICsJaWYgKCFtc2cpCj4gKwkJcmV0 dXJuOwo+ICsKPiArCW1zZy0+cmV0ID0gc2lpODYyMF9yZWFkYihjdHgsIFJFR19NU0NfTVRfUkNW RF9EQVRBMCk7Cj4gKwljdHgtPm10X3N0YXRlID0gTVRfU1RBVEVfRE9ORTsKPiArfQo+ICsKPiAr c3RhdGljIHZvaWQgc2lpODYyMF9tc2NfbXJfbXNjX21zZyhzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ ICt7Cj4gKwlzdHJ1Y3Qgc2lpODYyMF9tdF9tc2cgKm1zZyA9IHNpaTg2MjBfbXNjX21zZ19maXJz dChjdHgpOwo+ICsJdTggYnVmWzJdOwo+ICsKPiArCWlmICghbXNnKQo+ICsJCXJldHVybjsKPiAr Cj4gKwlzaWk4NjIwX3JlYWRfYnVmKGN0eCwgUkVHX01TQ19NUl9NU0NfTVNHX1JDVkRfMVNUX0RB VEEsIGJ1ZiwgMik7Cj4gKwo+ICsJc3dpdGNoIChidWZbMF0pIHsKPiArCWNhc2UgTUhMX01TQ19N U0dfUkFQSzoKPiArCQltc2ctPnJldCA9IGJ1ZlsxXTsKPiArCQljdHgtPm10X3N0YXRlID0gTVRf U1RBVEVfRE9ORTsKPiArCQlicmVhazsKPiArCWRlZmF1bHQ6Cj4gKwkJZGV2X2VycihjdHgtPmRl diwgIiVzIG1lc3NhZ2UgdHlwZSAlZCwlZCBub3Qgc3VwcG9ydGVkIiwKPiArCQkJX19mdW5jX18s IGJ1ZlswXSwgYnVmWzFdKTsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9p cnFfbXNjKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXU4IHN0YXQgPSBzaWk4NjIwX3Jl YWRiKGN0eCwgUkVHX0NCVVNfSU5UXzApOwo+ICsKPiArCWlmIChzdGF0ICYgfkJJVF9DQlVTX0hQ RF9DSEcpCj4gKwkJc2lpODYyMF93cml0ZShjdHgsIFJFR19DQlVTX0lOVF8wLCBzdGF0ICYgfkJJ VF9DQlVTX0hQRF9DSEcpOwo+ICsKPiArCWlmIChzdGF0ICYgQklUX0NCVVNfSFBEX0NIRykgewo+ ICsJCXU4IGNidXNfc3RhdCA9IHNpaTg2MjBfcmVhZGIoY3R4LCBSRUdfQ0JVU19TVEFUVVMpOwo+ ICsKPiArCQlpZiAoKGNidXNfc3RhdCBeIGN0eC0+Y2J1c19zdGF0dXMpICYgQklUX0NCVVNfU1RB VFVTX0NCVVNfSFBEKSB7Cj4gKwkJCXNpaTg2MjBfd3JpdGUoY3R4LCBSRUdfQ0JVU19JTlRfMCwg QklUX0NCVVNfSFBEX0NIRyk7Cj4gKwkJfSBlbHNlIHsKPiArCQkJc3RhdCBePSBCSVRfQ0JVU19T VEFUVVNfQ0JVU19IUEQ7Cj4gKwkJCWNidXNfc3RhdCBePSBCSVRfQ0JVU19TVEFUVVNfQ0JVU19I UEQ7Cj4gKwkJfQo+ICsJCWN0eC0+Y2J1c19zdGF0dXMgPSBjYnVzX3N0YXQ7Cj4gKwl9Cj4gKwo+ ICsJaWYgKHN0YXQgJiBCSVRfQ0JVU19NU0NfTVJfV1JJVEVfU1RBVCkKPiArCQlzaWk4NjIwX21z Y19tcl93cml0ZV9zdGF0KGN0eCk7Cj4gKwo+ICsJaWYgKHN0YXQgJiBCSVRfQ0JVU19NU0NfTVJf U0VUX0lOVCkKPiArCQlzaWk4NjIwX21zY19tcl9zZXRfaW50KGN0eCk7Cj4gKwo+ICsJaWYgKHN0 YXQgJiBCSVRfQ0JVU19NU0NfTVRfRE9ORSkKPiArCQlzaWk4NjIwX21zY19tdF9kb25lKGN0eCk7 Cj4gKwo+ICsJaWYgKHN0YXQgJiBCSVRfQ0JVU19NU0NfTVJfTVNDX01TRykKPiArCQlzaWk4NjIw X21zY19tcl9tc2NfbXNnKGN0eCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfaXJx X2NvYyhzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7Cj4gKwl1OCBzdGF0ID0gc2lpODYyMF9yZWFk YihjdHgsIFJFR19DT0NfSU5UUik7Cj4gKwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19DT0Nf SU5UUiwgc3RhdCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfaXJxX21lcnIoc3Ry dWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ICsJdTggc3RhdCA9IHNpaTg2MjBfcmVhZGIoY3R4LCBS RUdfQ0JVU19JTlRfMSk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19DQlVTX0lOVF8x LCBzdGF0KTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9pcnFfZWRpZChzdHJ1Y3Qg c2lpODYyMCAqY3R4KQo+ICt7Cj4gKwl1OCBzdGF0ID0gc2lpODYyMF9yZWFkYihjdHgsIFJFR19J TlRSOSk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19JTlRSOSwgc3RhdCk7Cj4gKwo+ ICsJaWYgKHN0YXQgJiBCSVRfSU5UUjlfREVWQ0FQX0RPTkUpCj4gKwkJY3R4LT5tdF9zdGF0ZSA9 IE1UX1NUQVRFX0RPTkU7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfc2NkdF9oaWdo KHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNpaTg2MjBfd3JpdGVfc2VxKGN0eCwKPiAr CQlSRUdfSU5UUjhfTUFTSywgQklUX0NFQV9ORVdfQVZJIHwgQklUX0NFQV9ORVdfVlNJLAo+ICsJ CVJFR19UUElfU0MsIEJJVF9UUElfU0NfVFBJX09VVFBVVF9NT0RFXzBfSERNSSwKPiArCSk7Cj4g K30KPiArCj4gK3N0YXRpYyB2b2lkIHNpaTg2MjBfc2NkdF9sb3coc3RydWN0IHNpaTg2MjAgKmN0 eCkKPiArewo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19UTURTX0NTVEFUX1AzLAo+ICsJCSAg ICAgICBCSVRfVE1EU19DU1RBVF9QM19TQ0RUX0NMUl9BVklfRElTCj4gKwkJICAgICAgIHwgQklU X1RNRFNfQ1NUQVRfUDNfQ0xSX0FWSSk7Cj4gKwo+ICsJc2lpODYyMF9zdG9wX3ZpZGVvKGN0eCk7 Cj4gKwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19JTlRSOF9NQVNLLCAwKTsKPiArfQo+ICsK PiArc3RhdGljIHZvaWQgc2lpODYyMF9pcnFfc2NkdChzdHJ1Y3Qgc2lpODYyMCAqY3R4KQo+ICt7 Cj4gKwl1OCBzdGF0ID0gc2lpODYyMF9yZWFkYihjdHgsIFJFR19JTlRSNSk7Cj4gKwo+ICsJaWYg KHN0YXQgJiBCSVRfSU5UUl9TQ0RUX0NIQU5HRSkgewo+ICsJCXU4IGNzdGF0ID0gc2lpODYyMF9y ZWFkYihjdHgsIFJFR19UTURTX0NTVEFUX1AzKTsKPiArCj4gKwkJaWYgKGNzdGF0ICYgQklUX1RN RFNfQ1NUQVRfUDNfU0NEVCkKPiArCQkJc2lpODYyMF9zY2R0X2hpZ2goY3R4KTsKPiArCQllbHNl Cj4gKwkJCXNpaTg2MjBfc2NkdF9sb3coY3R4KTsKPiArCX0KPiArCj4gKwlzaWk4NjIwX3dyaXRl KGN0eCwgUkVHX0lOVFI1LCBzdGF0KTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9u ZXdfdnNpKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXU4IHZzaWZbMTFdOwo+ICsKPiAr CXNpaTg2MjBfd3JpdGUoY3R4LCBSRUdfUlhfSERNSV9DVFJMMiwKPiArCQkgICAgICAgVkFMX1JY X0hETUlfQ1RSTDJfREVGVkFMCj4gKwkJICAgICAgIHwgQklUX1JYX0hETUlfQ1RSTDJfVlNJX01P Tl9TRUxfVlNJKTsKPiArCXNpaTg2MjBfcmVhZF9idWYoY3R4LCBSRUdfUlhfSERNSV9NT05fUEtU X0hFQURFUjEsIHZzaWYsCj4gKwkJCSBBUlJBWV9TSVpFKHZzaWYpKTsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgc2lpODYyMF9uZXdfYXZpKHN0cnVjdCBzaWk4NjIwICpjdHgpCj4gK3sKPiArCXNp aTg2MjBfd3JpdGUoY3R4LCBSRUdfUlhfSERNSV9DVFJMMiwgVkFMX1JYX0hETUlfQ1RSTDJfREVG VkFMKTsKPiArCXNpaTg2MjBfcmVhZF9idWYoY3R4LCBSRUdfUlhfSERNSV9NT05fUEtUX0hFQURF UjEsIGN0eC0+YXZpZiwKPiArCQkJIEFSUkFZX1NJWkUoY3R4LT5hdmlmKSk7Cj4gK30KPiArCj4g K3N0YXRpYyB2b2lkIHNpaTg2MjBfaXJxX2luZnIoc3RydWN0IHNpaTg2MjAgKmN0eCkKPiArewo+ ICsJdTggc3RhdCA9IHNpaTg2MjBfcmVhZGIoY3R4LCBSRUdfSU5UUjgpCj4gKwkJJiAoQklUX0NF QV9ORVdfVlNJIHwgQklUX0NFQV9ORVdfQVZJKTsKPiArCj4gKwlzaWk4NjIwX3dyaXRlKGN0eCwg UkVHX0lOVFI4LCBzdGF0KTsKPiArCj4gKwlpZiAoc3RhdCAmIEJJVF9DRUFfTkVXX1ZTSSkKPiAr CQlzaWk4NjIwX25ld192c2koY3R4KTsKPiArCj4gKwlpZiAoc3RhdCAmIEJJVF9DRUFfTkVXX0FW SSkKPiArCQlzaWk4NjIwX25ld19hdmkoY3R4KTsKPiArCj4gKwlpZiAoc3RhdCAmIChCSVRfQ0VB X05FV19WU0kgfCBCSVRfQ0VBX05FV19BVkkpKQo+ICsJCXNpaTg2MjBfc3RhcnRfdmlkZW8oY3R4 KTsKPiArfQo+ICsKPiArLyogZW5kaWFuIGFnbm9zdGljLCBub24tdm9sYXRpbGUgdmVyc2lvbiBv ZiB0ZXN0X2JpdCAqLwo+ICtzdGF0aWMgYm9vbCBzaWk4NjIwX3Rlc3RfYml0KHVuc2lnbmVkIGlu dCBuciwgY29uc3QgdTggKmFkZHIpCj4gK3sKPiArCXJldHVybiAxICYgKGFkZHJbbnIgLyBCSVRT X1BFUl9CWVRFXSA+PiAobnIgJSBCSVRTX1BFUl9CWVRFKSk7Cj4gK30KPiArCj4gK3N0YXRpYyBp cnFyZXR1cm5fdCBzaWk4NjIwX2lycV90aHJlYWQoaW50IGlycSwgdm9pZCAqZGF0YSkKPiArewo+ ICsJc3RhdGljIGNvbnN0IHN0cnVjdCB7Cj4gKwkJaW50IGJpdDsKPiArCQl2b2lkICgqaGFuZGxl cikoc3RydWN0IHNpaTg2MjAgKmN0eCk7Cj4gKwl9IGlycV92ZWNbXSA9IHsKPiArCQl7IEJJVF9G QVNUX0lOVFJfU1RBVF9ESVNDLCBzaWk4NjIwX2lycV9kaXNjIH0sCj4gKwkJeyBCSVRfRkFTVF9J TlRSX1NUQVRfRzJXQiwgc2lpODYyMF9pcnFfZzJ3YiB9LAo+ICsJCXsgQklUX0ZBU1RfSU5UUl9T VEFUX0NPQywgc2lpODYyMF9pcnFfY29jIH0sCj4gKwkJeyBCSVRfRkFTVF9JTlRSX1NUQVRfTVND LCBzaWk4NjIwX2lycV9tc2MgfSwKPiArCQl7IEJJVF9GQVNUX0lOVFJfU1RBVF9NRVJSLCBzaWk4 NjIwX2lycV9tZXJyIH0sCj4gKwkJeyBCSVRfRkFTVF9JTlRSX1NUQVRfRURJRCwgc2lpODYyMF9p cnFfZWRpZCB9LAo+ICsJCXsgQklUX0ZBU1RfSU5UUl9TVEFUX1NDRFQsIHNpaTg2MjBfaXJxX3Nj ZHQgfSwKPiArCQl7IEJJVF9GQVNUX0lOVFJfU1RBVF9JTkZSLCBzaWk4NjIwX2lycV9pbmZyIH0s Cj4gKwl9Owo+ICsJc3RydWN0IHNpaTg2MjAgKmN0eCA9IGRhdGE7Cj4gKwl1OCBzdGF0c1tMRU5f RkFTVF9JTlRSX1NUQVRdOwo+ICsJaW50IGksIHJldDsKPiArCj4gKwltdXRleF9sb2NrKCZjdHgt PmxvY2spOwo+ICsKPiArCXNpaTg2MjBfcmVhZF9idWYoY3R4LCBSRUdfRkFTVF9JTlRSX1NUQVQs IHN0YXRzLCBBUlJBWV9TSVpFKHN0YXRzKSk7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la RShpcnFfdmVjKTsgKytpKQo+ICsJCWlmIChzaWk4NjIwX3Rlc3RfYml0KGlycV92ZWNbaV0uYml0 LCBzdGF0cykpCj4gKwkJCWlycV92ZWNbaV0uaGFuZGxlcihjdHgpOwo+ICsKPiArCXNpaTg2MjBf bXRfd29yayhjdHgpOwo+ICsKPiArCXJldCA9IHNpaTg2MjBfY2xlYXJfZXJyb3IoY3R4KTsKPiAr CWlmIChyZXQpIHsKPiArCQlkZXZfZXJyKGN0eC0+ZGV2LCAiRXJyb3IgZHVyaW5nIElSUSBoYW5k bGluZywgJWQuXG4iLCByZXQpOwo+ICsJCXNpaTg2MjBfbWhsX2Rpc2Nvbm5lY3RlZChjdHgpOwo+ ICsJfQo+ICsJbXV0ZXhfdW5sb2NrKCZjdHgtPmxvY2spOwo+ICsKPiArCXJldHVybiBJUlFfSEFO RExFRDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgc2lpODYyMF9jYWJsZV9pbihzdHJ1Y3Qgc2lp ODYyMCAqY3R4KQo+ICt7Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBjdHgtPmRldjsKPiArCXU4 IHZlcls1XTsKPiArCWludCByZXQ7Cj4gKwo+ICsJcmV0ID0gc2lpODYyMF9od19vbihjdHgpOwo+ ICsJaWYgKHJldCkgewo+ICsJCWRldl9lcnIoZGV2LCAiRXJyb3IgcG93ZXJpbmcgb24sICVkLlxu IiwgcmV0KTsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gKwlzaWk4NjIwX2h3X3Jlc2V0KGN0eCk7Cj4g Kwo+ICsJc2lpODYyMF9yZWFkX2J1ZihjdHgsIFJFR19WTkRfSURMLCB2ZXIsIEFSUkFZX1NJWkUo dmVyKSk7Cj4gKwlyZXQgPSBzaWk4NjIwX2NsZWFyX2Vycm9yKGN0eCk7Cj4gKwlpZiAocmV0KSB7 Cj4gKwkJZGV2X2VycihkZXYsICJFcnJvciBhY2Nlc3NpbmcgSTJDIGJ1cywgJWQuXG4iLCByZXQp Owo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gKwlkZXZfaW5mbyhkZXYsICJDaGlwSUQgJTAyeCUw Mng6JTAyeCUwMnggcmV2ICUwMnguXG4iLCB2ZXJbMV0sIHZlclswXSwKPiArCQkgdmVyWzNdLCB2 ZXJbMl0sIHZlcls0XSk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZShjdHgsIFJFR19EUEQsCj4gKwkJ CUJJVF9EUERfUFdST05fUExMIHwgQklUX0RQRF9QRE5UWDEyIHwgQklUX0RQRF9PU0NfRU4pOwo+ ICsKPiArCXNpaTg2MjBfeHRhbF9zZXRfcmF0ZShjdHgpOwo+ICsJc2lpODYyMF9kaXNjb25uZWN0 KGN0eCk7Cj4gKwo+ICsJc2lpODYyMF93cml0ZV9zZXEoY3R4LAo+ICsJCVJFR19NSExfQ0JVU19D VEwwLCBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX0RSVl9TRUxfU1RST05HCj4gKwkJCXwgVkFMX01I TF9DQlVTX0NUTDBfQ0JVU19SR05EX1ZCSUFTXzczNCwKPiArCQlSRUdfTUhMX0NCVVNfQ1RMMSwg VkFMX01ITF9DQlVTX0NUTDFfMTExNV9PSE0sCj4gKwkJUkVHX0RQRCwgQklUX0RQRF9QV1JPTl9Q TEwgfCBCSVRfRFBEX1BETlRYMTIgfCBCSVRfRFBEX09TQ19FTiwKPiArCSk7Cj4gKwo+ICsJcmV0 ID0gc2lpODYyMF9jbGVhcl9lcnJvcihjdHgpOwo+ICsJaWYgKHJldCkgewo+ICsJCWRldl9lcnIo ZGV2LCAiRXJyb3IgYWNjZXNzaW5nIEkyQyBidXMsICVkLlxuIiwgcmV0KTsKPiArCQlyZXR1cm47 Cj4gKwl9Cj4gKwo+ICsJZW5hYmxlX2lycSh0b19pMmNfY2xpZW50KGN0eC0+ZGV2KS0+aXJxKTsK PiArfQo+ICsKPiArc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2lpODYyMCAqYnJpZGdlX3RvX3NpaTg2 MjAoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiArewo+ICsJcmV0dXJuIGNvbnRhaW5lcl9v ZihicmlkZ2UsIHN0cnVjdCBzaWk4NjIwLCBicmlkZ2UpOwo+ICt9Cj4gKwo+ICt2b2lkIHNpaTg2 MjBfYnJpZGdlX2R1bW15KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4gK3sKPiArCj4gK30K PiArCgpXZSBjYW4gbm93IGdldCByaWQgb2YgdGhlIGR1bW15IGJyaWRnZSBvcHMgYW5kIG5vdCBw b3B1bGF0ZSBhbnl0aGluZy4KCj4gK2Jvb2wgc2lpODYyMF9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1f YnJpZGdlICpicmlkZ2UsCj4gKwkJICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUsCj4gKwkJICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCj4gK3sK PiArCXN0cnVjdCBzaWk4NjIwICpjdHggPSBicmlkZ2VfdG9fc2lpODYyMChicmlkZ2UpOwo+ICsJ Ym9vbCByZXQgPSBmYWxzZTsKPiArCWludCBtYXhfY2xvY2sgPSA3NDI1MDsKPiArCj4gKwltdXRl eF9sb2NrKCZjdHgtPmxvY2spOwo+ICsKPiArCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZM QUdfSU5URVJMQUNFKQo+ICsJCWdvdG8gb3V0Owo+ICsKPiArCWlmIChjdHgtPmRldmNhcFtNSExf RENBUF9WSURfTElOS19NT0RFXSAmIE1ITF9EQ0FQX1ZJRF9MSU5LX1BQSVhFTCkKPiArCQltYXhf Y2xvY2sgPSAzMDAwMDA7Cj4gKwo+ICsJcmV0ID0gbW9kZS0+Y2xvY2sgPD0gbWF4X2Nsb2NrOwo+ ICsKPiArb3V0Ogo+ICsJbXV0ZXhfdW5sb2NrKCZjdHgtPmxvY2spOwo+ICsKPiArCXJldHVybiBy ZXQ7Cj4gK30KPiArCj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9icmlkZ2VfZnVuY3Mg c2lpODYyMF9icmlkZ2VfZnVuY3MgPSB7Cj4gKwkucHJlX2VuYWJsZSA9IHNpaTg2MjBfYnJpZGdl X2R1bW15LAo+ICsJLmVuYWJsZSA9IHNpaTg2MjBfYnJpZGdlX2R1bW15LAo+ICsJLmRpc2FibGUg PSBzaWk4NjIwX2JyaWRnZV9kdW1teSwKPiArCS5wb3N0X2Rpc2FibGUgPSBzaWk4NjIwX2JyaWRn ZV9kdW1teSwKPiArCS5tb2RlX2ZpeHVwID0gc2lpODYyMF9tb2RlX2ZpeHVwLAo+ICt9Owo+ICsK PiArc3RhdGljIGludCBzaWk4NjIwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4g KwkJCSBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCj4gK3sKPiArCXN0cnVjdCBkZXZp Y2UgKmRldiA9ICZjbGllbnQtPmRldjsKPiArCXN0cnVjdCBzaWk4NjIwICpjdHg7Cj4gKwlpbnQg cmV0Owo+ICsKPiArCWN0eCA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqY3R4KSwgR0ZQX0tF Uk5FTCk7Cj4gKwlpZiAoIWN0eCkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCj4gKwljdHgtPmRl diA9IGRldjsKPiArCW11dGV4X2luaXQoJmN0eC0+bG9jayk7Cj4gKwlJTklUX0xJU1RfSEVBRCgm Y3R4LT5tdF9xdWV1ZSk7Cj4gKwo+ICsJY3R4LT5jbGtfeHRhbCA9IGRldm1fY2xrX2dldChkZXYs ICJ4dGFsIik7Cj4gKwlpZiAoSVNfRVJSKGN0eC0+Y2xrX3h0YWwpKSB7Cj4gKwkJZGV2X2Vycihk ZXYsICJmYWlsZWQgdG8gZ2V0IHh0YWwgY2xvY2sgZnJvbSBEVFxuIik7Cj4gKwkJcmV0dXJuIFBU Ul9FUlIoY3R4LT5jbGtfeHRhbCk7Cj4gKwl9Cj4gKwo+ICsJaWYgKCFjbGllbnQtPmlycSkgewo+ ICsJCWRldl9lcnIoZGV2LCAibm8gaXJxIHByb3ZpZGVkXG4iKTsKPiArCQlyZXR1cm4gLUVJTlZB TDsKPiArCX0KPiArCWlycV9zZXRfc3RhdHVzX2ZsYWdzKGNsaWVudC0+aXJxLCBJUlFfTk9BVVRP RU4pOwo+ICsJcmV0ID0gZGV2bV9yZXF1ZXN0X3RocmVhZGVkX2lycShkZXYsIGNsaWVudC0+aXJx LCBOVUxMLAo+ICsJCQlzaWk4NjIwX2lycV90aHJlYWQsIElSUUZfVFJJR0dFUl9ISUdIIHwgSVJR Rl9PTkVTSE9ULAo+ICsJCQkic2lpODYyMCIsIGN0eCk7Cj4gKwo+ICsJY3R4LT5ncGlvX3Jlc2V0 ID0gZGV2bV9ncGlvZF9nZXQoZGV2LCAicmVzZXQiLCBHUElPRF9PVVRfSElHSCk7Cj4gKwlpZiAo SVNfRVJSKGN0eC0+Z3Bpb19yZXNldCkpIHsKPiArCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBn ZXQgcmVzZXQgZ3BpbyBmcm9tIERUXG4iKTsKPiArCQlyZXR1cm4gUFRSX0VSUihjdHgtPmdwaW9f cmVzZXQpOwo+ICsJfQo+ICsKPiArCWN0eC0+c3VwcGxpZXNbMF0uc3VwcGx5ID0gImN2Y2MxMCI7 Cj4gKwljdHgtPnN1cHBsaWVzWzFdLnN1cHBseSA9ICJpb3ZjYzE4IjsKPiArCXJldCA9IGRldm1f cmVndWxhdG9yX2J1bGtfZ2V0KGRldiwgMiwgY3R4LT5zdXBwbGllcyk7Cj4gKwlpZiAocmV0KQo+ ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgY3R4KTsK PiArCj4gKwljdHgtPmJyaWRnZS5mdW5jcyA9ICZzaWk4NjIwX2JyaWRnZV9mdW5jczsKPiArCWN0 eC0+YnJpZGdlLm9mX25vZGUgPSBkZXYtPm9mX25vZGU7Cj4gKwlkcm1fYnJpZGdlX2FkZCgmY3R4 LT5icmlkZ2UpOwo+ICsKPiArCXNpaTg2MjBfY2FibGVfaW4oY3R4KTsKPiArCj4gKwlyZXR1cm4g MDsKPiArfQo+ICsKPiArc3RhdGljIGludCBzaWk4NjIwX3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVu dCAqY2xpZW50KQo+ICt7Cj4gKwlzdHJ1Y3Qgc2lpODYyMCAqY3R4ID0gaTJjX2dldF9jbGllbnRk YXRhKGNsaWVudCk7Cj4gKwo+ICsJZGlzYWJsZV9pcnEodG9faTJjX2NsaWVudChjdHgtPmRldikt PmlycSk7Cj4gKwltdXRleF9sb2NrKCZjdHgtPmxvY2spOwo+ICsJZHJtX2JyaWRnZV9yZW1vdmUo JmN0eC0+YnJpZGdlKTsKCkRvIHdlIG5lZWQgdG8gY2FsbCBkcm1fYnJpZGdlX3JlbW92ZSB3aXRo IHRoZSBsb2NrIGhlbGQgdG9vPwoKVGhhbmtzLApBcmNoaXQKCj4gKwlzaWk4NjIwX2h3X29mZihj dHgpOwo+ICsJbXV0ZXhfdW5sb2NrKCZjdHgtPmxvY2spOwo+ICsKPiArCXJldHVybiAwOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzaWk4NjIwX2R0X21hdGNo W10gPSB7Cj4gKwl7IC5jb21wYXRpYmxlID0gInNpbCxzaWk4NjIwIiB9LAo+ICsJeyB9LAo+ICt9 Owo+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzaWk4NjIwX2R0X21hdGNoKTsKPiArCj4gK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBzaWk4NjIwX2lkW10gPSB7Cj4gKwl7ICJT SUk4NjIwIiwgMCB9LAo+ICsJeyB9LAo+ICt9Owo+ICsKPiArTU9EVUxFX0RFVklDRV9UQUJMRShp MmMsIHNpaTg2MjBfaWQpOwo+ICtzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgc2lpODYyMF9kcml2 ZXIgPSB7Cj4gKwkuZHJpdmVyID0gewo+ICsJCS5uYW1lCT0gInNpaTg2MjAiLAo+ICsJCS5vd25l cgk9IFRISVNfTU9EVUxFLAo+ICsJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX3B0cihzaWk4 NjIwX2R0X21hdGNoKSwKPiArCX0sCj4gKwkucHJvYmUJCT0gc2lpODYyMF9wcm9iZSwKPiArCS5y ZW1vdmUJCT0gc2lpODYyMF9yZW1vdmUsCj4gKwkuaWRfdGFibGUgPSBzaWk4NjIwX2lkLAo+ICt9 Owo+ICsKPiArbW9kdWxlX2kyY19kcml2ZXIoc2lpODYyMF9kcml2ZXIpOwo+ICtNT0RVTEVfTElD RU5TRSgiR1BMIHYyIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2ls LXNpaTg2MjAuaCBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuaAo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNmZmNjE2YQo+IC0tLSAvZGV2L251bGwK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmgKPiBAQCAtMCwwICsx LDE1MTcgQEAKPiArLyoKPiArICogUmVnaXN0ZXJzIG9mIFNpbGljb24gSW1hZ2UgU2lJODYyMCBN b2JpbGUgSEQgVHJhbnNtaXR0ZXIKPiArICoKPiArICogQ29weXJpZ2h0IChDKSAyMDE1LCBTYW1z dW5nIEVsZWN0cm9uaWNzIENvLiwgTHRkLgo+ICsgKiBBbmRyemVqIEhhamRhIDxhLmhhamRhQHNh bXN1bmcuY29tPgo+ICsgKgo+ICsgKiBCYXNlZCBvbiBNSEwgZHJpdmVyIGZvciBBbmRyb2lkIGRl dmljZXMuCj4gKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE0IFNpbGljb24gSW1hZ2UsIEluYy4K PiArICoKPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiArICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKPiArICogcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gKyAqLwo+ICsKPiArI2lmbmRlZiBfX1NJ TF9TSUk4NjIwX0hfXwo+ICsjZGVmaW5lIF9fU0lMX1NJSTg2MjBfSF9fCj4gKwo+ICsvKiBWZW5k b3IgSUQgTG93IGJ5dGUsIGRlZmF1bHQgdmFsdWU6IDB4MDEgKi8KPiArI2RlZmluZSBSRUdfVk5E X0lETAkJCQkweDAwMDAKPiArCj4gKy8qIFZlbmRvciBJRCBIaWdoIGJ5dGUsIGRlZmF1bHQgdmFs dWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVk5EX0lESAkJCQkweDAwMDEKPiArCj4gKy8qIERl dmljZSBJRCBMb3cgYnl0ZSwgZGVmYXVsdCB2YWx1ZTogMHg2MCAqLwo+ICsjZGVmaW5lIFJFR19E RVZfSURMCQkJCTB4MDAwMgo+ICsKPiArLyogRGV2aWNlIElEIEhpZ2ggYnl0ZSwgZGVmYXVsdCB2 YWx1ZTogMHg4NiAqLwo+ICsjZGVmaW5lIFJFR19ERVZfSURICQkJCTB4MDAwMwo+ICsKPiArLyog RGV2aWNlIFJldmlzaW9uLCBkZWZhdWx0IHZhbHVlOiAweDEwICovCj4gKyNkZWZpbmUgUkVHX0RF Vl9SRVYJCQkJMHgwMDA0Cj4gKwo+ICsvKiBPVFAgREJZVEU1MTAsIGRlZmF1bHQgdmFsdWU6IDB4 MDAgKi8KPiArI2RlZmluZSBSRUdfT1RQX0RCWVRFNTEwCQkJMHgwMDA2Cj4gKwo+ICsvKiBTeXN0 ZW0gQ29udHJvbCAjMSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19TWVNf Q1RSTDEJCQkJMHgwMDA4Cj4gKyNkZWZpbmUgQklUX1NZU19DVFJMMV9PVFBWTVVURU9WUl9TRVQJ CUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9TWVNfQ1RSTDFfVlNZTkNQSU4JCQlCSVQoNikKPiArI2Rl ZmluZSBCSVRfU1lTX0NUUkwxX09UUEFEUk9QT1ZSX1NFVAkJQklUKDUpCj4gKyNkZWZpbmUgQklU X1NZU19DVFJMMV9CTE9DS19ERENfQllfSFBECQlCSVQoNCkKPiArI2RlZmluZSBCSVRfU1lTX0NU UkwxX09UUDJYVk9WUl9FTgkJQklUKDMpCj4gKyNkZWZpbmUgQklUX1NZU19DVFJMMV9PVFAyWEFP VlJfRU4JCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9TWVNfQ1RSTDFfVFhfQ1RSTF9IRE1JCQlCSVQo MSkKPiArI2RlZmluZSBCSVRfU1lTX0NUUkwxX09UUEFNVVRFT1ZSX1NFVAkJQklUKDApCj4gKwo+ ICsvKiBTeXN0ZW0gQ29udHJvbCBEUEQsIGRlZmF1bHQgdmFsdWU6IDB4OTAgKi8KPiArI2RlZmlu ZSBSRUdfRFBECQkJCQkweDAwMGIKPiArI2RlZmluZSBCSVRfRFBEX1BXUk9OX1BMTAkJCUJJVCg3 KQo+ICsjZGVmaW5lIEJJVF9EUERfUEROVFgxMgkJCQlCSVQoNikKPiArI2RlZmluZSBCSVRfRFBE X1BETlJYMTIJCQkJQklUKDUpCj4gKyNkZWZpbmUgQklUX0RQRF9PU0NfRU4JCQkJQklUKDQpCj4g KyNkZWZpbmUgQklUX0RQRF9QV1JPTl9IU0lDCQkJQklUKDMpCj4gKyNkZWZpbmUgQklUX0RQRF9Q RElEQ0tfTgkJCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9EUERfUERfTUhMX0NMS19OCQkJQklUKDEp Cj4gKwo+ICsvKiBEdWFsIGxpbmsgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsj ZGVmaW5lIFJFR19EQ1RMCQkJCTB4MDAwZAo+ICsjZGVmaW5lIEJJVF9EQ1RMX1RETV9MQ0xLX1BI QVNFCQkJQklUKDcpCj4gKyNkZWZpbmUgQklUX0RDVExfSFNJQ19DTEtfUEhBU0UJCQlCSVQoNikK PiArI2RlZmluZSBCSVRfRENUTF9DVFNfVENLX1BIQVNFCQkJQklUKDUpCj4gKyNkZWZpbmUgQklU X0RDVExfRVhUX0REQ19TRUwJCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfRENUTF9UUkFOU0NPREUJ CQlCSVQoMykKPiArI2RlZmluZSBCSVRfRENUTF9IU0lDX1JYX1NUUk9CRV9QSEFTRQkJQklUKDIp Cj4gKyNkZWZpbmUgQklUX0RDVExfSFNJQ19UWF9CSVNUX1NUQVJUX1NFTAkJQklUKDEpCj4gKyNk ZWZpbmUgQklUX0RDVExfVENMS05YX1BIQVNFCQkJQklUKDApCj4gKwo+ICsvKiBQV0QgU29mdHdh cmUgUmVzZXQsIGRlZmF1bHQgdmFsdWU6IDB4MjAgKi8KPiArI2RlZmluZSBSRUdfUFdEX1NSU1QJ CQkJMHgwMDBlCj4gKyNkZWZpbmUgQklUX1BXRF9TUlNUX0NPQ19ET0NfUlNUCQlCSVQoNykKPiAr I2RlZmluZSBCSVRfUFdEX1NSU1RfQ0JVU19SU1RfU1cJCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9Q V0RfU1JTVF9DQlVTX1JTVF9TV19FTgkJQklUKDUpCj4gKyNkZWZpbmUgQklUX1BXRF9TUlNUX01I TEZJRk9fUlNUCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfUFdEX1NSU1RfQ0JVU19SU1QJCQlCSVQo MykKPiArI2RlZmluZSBCSVRfUFdEX1NSU1RfU1dfUlNUX0FVVE8JCUJJVCgyKQo+ICsjZGVmaW5l IEJJVF9QV0RfU1JTVF9IRENQMlhfU1dfUlNUCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfUFdEX1NS U1RfU1dfUlNUCQkJQklUKDApCj4gKwo+ICsvKiBBS1NWXzEsIGRlZmF1bHQgdmFsdWU6IDB4MDAg Ki8KPiArI2RlZmluZSBSRUdfQUtTVl8xCQkJCTB4MDAxZAo+ICsKPiArLyogVmlkZW8gSCBSZXNv bHV0aW9uICMxLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0hfUkVTTAkJ CQkweDAwM2EKPiArCj4gKy8qIFZpZGVvIE1vZGUsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiAr I2RlZmluZSBSRUdfVklEX01PREUJCQkJMHgwMDRhCj4gKyNkZWZpbmUgQklUX1ZJRF9NT0RFX00x MDgwUAkJCUJJVCg2KQo+ICsKPiArLyogVmlkZW8gSW5wdXQgTW9kZSwgZGVmYXVsdCB2YWx1ZTog MHhjMCAqLwo+ICsjZGVmaW5lIFJFR19WSURfT1ZSUkQJCQkJMHgwMDUxCj4gKyNkZWZpbmUgQklU X1ZJRF9PVlJSRF9QUF9BVVRPX0RJU0FCTEUJCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9WSURfT1ZS UkRfTTEwODBQX09WUlJECQlCSVQoNikKPiArI2RlZmluZSBCSVRfVklEX09WUlJEX01JTklWU1lO Q19PTgkJQklUKDUpCj4gKyNkZWZpbmUgQklUX1ZJRF9PVlJSRF8zRENPTlZfRU5fRlJBTUVfUEFD SwlCSVQoNCkKPiArI2RlZmluZSBCSVRfVklEX09WUlJEX0VOQUJMRV9BVVRPX1BBVEhfRU4JQklU KDMpCj4gKyNkZWZpbmUgQklUX1ZJRF9PVlJSRF9FTlJHQjJZQ0JDUl9PVlJSRAkJQklUKDIpCj4g KyNkZWZpbmUgQklUX1ZJRF9PVlJSRF9FTkRPV05TQU1QTEVfT1ZSUkQJQklUKDApCj4gKwo+ICsv KiBJMkMgQWRkcmVzcyByZWFzc2lnbm1lbnQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2Rl ZmluZSBSRUdfUEFHRV9NSExTUEVDX0FERFIJCQkweDAwNTcKPiArI2RlZmluZSBSRUdfUEFHRTdf QUREUgkJCQkweDAwNTgKPiArI2RlZmluZSBSRUdfUEFHRThfQUREUgkJCQkweDAwNWMKPiArCj4g Ky8qIEZhc3QgSW50ZXJydXB0IFN0YXR1cywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19GQVNUX0lOVFJfU1RBVAkJCTB4MDA1Zgo+ICsjZGVmaW5lIExFTl9GQVNUX0lOVFJf U1RBVAkJCTcKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfVElNUgkJCTgKPiArI2RlZmlu ZSBCSVRfRkFTVF9JTlRSX1NUQVRfSU5UMgkJCTkKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NU QVRfRERDCQkJMTAKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfU0NEVAkJCTExCj4gKyNk ZWZpbmUgQklUX0ZBU1RfSU5UUl9TVEFUX0lORlIJCQkxMwo+ICsjZGVmaW5lIEJJVF9GQVNUX0lO VFJfU1RBVF9FRElECQkJMTQKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfSERDUAkJCTE1 Cj4gKyNkZWZpbmUgQklUX0ZBU1RfSU5UUl9TVEFUX01TQwkJCTE2Cj4gKyNkZWZpbmUgQklUX0ZB U1RfSU5UUl9TVEFUX01FUlIJCQkxNwo+ICsjZGVmaW5lIEJJVF9GQVNUX0lOVFJfU1RBVF9HMldC CQkJMTgKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfRzJXQl9FUlIJCTE5Cj4gKyNkZWZp bmUgQklUX0ZBU1RfSU5UUl9TVEFUX0RJU0MJCQkyOAo+ICsjZGVmaW5lIEJJVF9GQVNUX0lOVFJf U1RBVF9CTE9DSwkJMzAKPiArI2RlZmluZSBCSVRfRkFTVF9JTlRSX1NUQVRfTFRSTgkJCTMxCj4g KyNkZWZpbmUgQklUX0ZBU1RfSU5UUl9TVEFUX0hEQ1AyCQkzMgo+ICsjZGVmaW5lIEJJVF9GQVNU X0lOVFJfU1RBVF9URE0JCQk0Mgo+ICsjZGVmaW5lIEJJVF9GQVNUX0lOVFJfU1RBVF9DT0MJCQk1 MQo+ICsKPiArLyogR1BJTyBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDE1ICovCj4gKyNkZWZp bmUgUkVHX0dQSU9fQ1RSTDEJCQkJMHgwMDZlCj4gKyNkZWZpbmUgQklUX0NUUkwxX0dQSU9fSV84 CQkJQklUKDUpCj4gKyNkZWZpbmUgQklUX0NUUkwxX0dQSU9fT0VOXzgJCQlCSVQoNCkKPiArI2Rl ZmluZSBCSVRfQ1RSTDFfR1BJT19JXzcJCQlCSVQoMykKPiArI2RlZmluZSBCSVRfQ1RSTDFfR1BJ T19PRU5fNwkJCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9DVFJMMV9HUElPX0lfNgkJCUJJVCgxKQo+ ICsjZGVmaW5lIEJJVF9DVFJMMV9HUElPX09FTl82CQkJQklUKDApCj4gKwo+ICsvKiBJbnRlcnJ1 cHQgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgwNiAqLwo+ICsjZGVmaW5lIFJFR19JTlRfQ1RS TAkJCQkweDAwNmYKPiArI2RlZmluZSBCSVRfSU5UX0NUUkxfU09GVFdBUkVfV1AJCUJJVCg3KQo+ ICsjZGVmaW5lIEJJVF9JTlRfQ1RSTF9JTlRSX09ECQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX0lO VF9DVFJMX0lOVFJfUE9MQVJJVFkJCUJJVCgxKQo+ICsKPiArLyogSW50ZXJydXB0IFN0YXRlLCBk ZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0lOVFJfU1RBVEUJCQkJMHgwMDcw Cj4gKyNkZWZpbmUgQklUX0lOVFJfU1RBVEVfSU5UUl9TVEFURQkJQklUKDApCj4gKwo+ICsvKiBJ bnRlcnJ1cHQgU291cmNlICMxLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVH X0lOVFIxCQkJCTB4MDA3MQo+ICsKPiArLyogSW50ZXJydXB0IFNvdXJjZSAjMiwgZGVmYXVsdCB2 YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19JTlRSMgkJCQkweDAwNzIKPiArCj4gKy8qIElu dGVycnVwdCBTb3VyY2UgIzMsIGRlZmF1bHQgdmFsdWU6IDB4MDEgKi8KPiArI2RlZmluZSBSRUdf SU5UUjMJCQkJMHgwMDczCj4gKyNkZWZpbmUgQklUX0REQ19DTURfRE9ORQkJCUJJVCgzKQo+ICsK PiArLyogSW50ZXJydXB0IFNvdXJjZSAjNSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19JTlRSNQkJCQkweDAwNzQKPiArCj4gKy8qIEludGVycnVwdCAjMSBNYXNrLCBkZWZh dWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0lOVFIxX01BU0sJCQkJMHgwMDc1Cj4g Kwo+ICsvKiBJbnRlcnJ1cHQgIzIgTWFzaywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19JTlRSMl9NQVNLCQkJCTB4MDA3Ngo+ICsKPiArLyogSW50ZXJydXB0ICMzIE1hc2ss IGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSU5UUjNfTUFTSwkJCQkweDAw NzcKPiArCj4gKy8qIEludGVycnVwdCAjNSBNYXNrLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX0lOVFI1X01BU0sJCQkJMHgwMDc4Cj4gKyNkZWZpbmUgQklUX0lOVFJfU0NE VF9DSEFOR0UJCQlCSVQoMCkKPiArCj4gKy8qIEhvdCBQbHVnIENvbm5lY3Rpb24gQ29udHJvbCwg ZGVmYXVsdCB2YWx1ZTogMHg0NSAqLwo+ICsjZGVmaW5lIFJFR19IUERfQ1RSTAkJCQkweDAwNzkK PiArI2RlZmluZSBCSVRfSFBEX0NUUkxfSFBEX0RTX1NJR05BTAkJQklUKDcpCj4gKyNkZWZpbmUg QklUX0hQRF9DVFJMX0hQRF9PVVRfT0RfRU4JCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9IUERfQ1RS TF9IUERfSElHSAkJCUJJVCg1KQo+ICsjZGVmaW5lIEJJVF9IUERfQ1RSTF9IUERfT1VUX09WUl9F TgkJQklUKDQpCj4gKyNkZWZpbmUgQklUX0hQRF9DVFJMX0dQSU9fSV8xCQkJQklUKDMpCj4gKyNk ZWZpbmUgQklUX0hQRF9DVFJMX0dQSU9fT0VOXzEJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfSFBE X0NUUkxfR1BJT19JXzAJCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfSFBEX0NUUkxfR1BJT19PRU5f MAkJCUJJVCgwKQo+ICsKPiArLyogR1BJTyBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDU1ICov Cj4gKyNkZWZpbmUgUkVHX0dQSU9fQ1RSTAkJCQkweDAwN2EKPiArI2RlZmluZSBCSVRfQ1RSTF9H UElPX0lfNQkJCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9DVFJMX0dQSU9fT0VOXzUJCQlCSVQoNikK PiArI2RlZmluZSBCSVRfQ1RSTF9HUElPX0lfNAkJCUJJVCg1KQo+ICsjZGVmaW5lIEJJVF9DVFJM X0dQSU9fT0VOXzQJCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfQ1RSTF9HUElPX0lfMwkJCUJJVCgz KQo+ICsjZGVmaW5lIEJJVF9DVFJMX0dQSU9fT0VOXzMJCQlCSVQoMikKPiArI2RlZmluZSBCSVRf Q1RSTF9HUElPX0lfMgkJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9DVFJMX0dQSU9fT0VOXzIJCQlC SVQoMCkKPiArCj4gKy8qIEludGVycnVwdCBTb3VyY2UgNywgZGVmYXVsdCB2YWx1ZTogMHgwMCAq Lwo+ICsjZGVmaW5lIFJFR19JTlRSNwkJCQkweDAwN2IKPiArCj4gKy8qIEludGVycnVwdCBTb3Vy Y2UgOCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19JTlRSOAkJCQkweDAw N2MKPiArCj4gKy8qIEludGVycnVwdCAjNyBNYXNrLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX0lOVFI3X01BU0sJCQkJMHgwMDdkCj4gKwo+ICsvKiBJbnRlcnJ1cHQgIzgg TWFzaywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19JTlRSOF9NQVNLCQkJ CTB4MDA3ZQo+ICsjZGVmaW5lIEJJVF9DRUFfTkVXX1ZTSQkJCQlCSVQoMikKPiArI2RlZmluZSBC SVRfQ0VBX05FV19BVkkJCQkJQklUKDEpCj4gKwo+ICsvKiBJRUVFLCBkZWZhdWx0IHZhbHVlOiAw eDEwICovCj4gKyNkZWZpbmUgUkVHX1RNRFNfQ0NUUkwJCQkJMHgwMDgwCj4gKyNkZWZpbmUgQklU X1RNRFNfQ0NUUkxfVE1EU19PRQkJCUJJVCg0KQo+ICsKPiArLyogVE1EUyBDb250cm9sICM0LCBk ZWZhdWx0IHZhbHVlOiAweDAyICovCj4gKyNkZWZpbmUgUkVHX1RNRFNfQ1RSTDQJCQkJMHgwMDg1 Cj4gKyNkZWZpbmUgQklUX1RNRFNfQ1RSTDRfU0NEVF9DS0RUX1NFTAkJQklUKDEpCj4gKyNkZWZp bmUgQklUX1RNRFNfQ1RSTDRfVFhfRU5fQllfU0NEVAkJQklUKDApCj4gKwo+ICsvKiBCSVNUIENO VEwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQklTVF9DVFJMCQkJCTB4 MDBiYgo+ICsjZGVmaW5lIEJJVF9SWEJJU1RfVkdCX0VOCQkJQklUKDcpCj4gKyNkZWZpbmUgQklU X1RYQklTVF9WR0JfRU4JCQlCSVQoNikKPiArI2RlZmluZSBCSVRfQklTVF9TVEFSVF9TRUwJCQlC SVQoNSkKPiArI2RlZmluZSBCSVRfQklTVF9TVEFSVF9CSVQJCQlCSVQoNCkKPiArI2RlZmluZSBC SVRfQklTVF9BTFdBWVNfT04JCQlCSVQoMykKPiArI2RlZmluZSBCSVRfQklTVF9UUkFOUwkJCQlC SVQoMikKPiArI2RlZmluZSBCSVRfQklTVF9SRVNFVAkJCQlCSVQoMSkKPiArI2RlZmluZSBCSVRf QklTVF9FTgkJCQlCSVQoMCkKPiArCj4gKy8qIEJJU1QgRFVSQVRJT04wLCBkZWZhdWx0IHZhbHVl OiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0JJU1RfVEVTVF9TRUwJCQkweDAwYmQKPiArI2RlZmlu ZSBNU0tfQklTVF9URVNUX1NFTF9CSVNUX1BBVFRfU0VMCQkweDBmCj4gKwo+ICsvKiBCSVNUIFZJ REVPX01PREUsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQklTVF9WSURF T19NT0RFCQkJMHgwMGJlCj4gKyNkZWZpbmUgTVNLX0JJU1RfVklERU9fTU9ERV9CSVNUX1ZJREVP X01PREVfM18wCTB4MGYKPiArCj4gKy8qIEJJU1QgRFVSQVRJT04wLCBkZWZhdWx0IHZhbHVlOiAw eDAwICovCj4gKyNkZWZpbmUgUkVHX0JJU1RfRFVSQVRJT05fMAkJCTB4MDBiZgo+ICsKPiArLyog QklTVCBEVVJBVElPTjEsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQklT VF9EVVJBVElPTl8xCQkJMHgwMGMwCj4gKwo+ICsvKiBCSVNUIERVUkFUSU9OMiwgZGVmYXVsdCB2 YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19CSVNUX0RVUkFUSU9OXzIJCQkweDAwYzEKPiAr Cj4gKy8qIEJJU1QgOEJJVF9QQVRURVJOLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZp bmUgUkVHX0JJU1RfOEJJVF9QQVRURVJOCQkJMHgwMGMyCj4gKwo+ICsvKiBMTSBEREMsIGRlZmF1 bHQgdmFsdWU6IDB4ODAgKi8KPiArI2RlZmluZSBSRUdfTE1fRERDCQkJCTB4MDBjNwo+ICsjZGVm aW5lIEJJVF9MTV9ERENfU1dfVFBJX0VOX0RJU0FCTEVECQlCSVQoNykKPiArCj4gKyNkZWZpbmUg QklUX0xNX0REQ19WSURFT19NVVRFX0VOCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfTE1fRERDX0RE Q19UUElfU1cJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfTE1fRERDX0REQ19HUkFOVAkJCUJJVCgx KQo+ICsjZGVmaW5lIEJJVF9MTV9ERENfRERDX0dQVV9SRVFVRVNUCQlCSVQoMCkKPiArCj4gKy8q IEREQyBJMkMgTWFudWFsLCBkZWZhdWx0IHZhbHVlOiAweDAzICovCj4gKyNkZWZpbmUgUkVHX0RE Q19NQU5VQUwJCQkJMHgwMGVjCj4gKyNkZWZpbmUgQklUX0REQ19NQU5VQUxfTUFOX0REQwkJCUJJ VCg3KQo+ICsjZGVmaW5lIEJJVF9ERENfTUFOVUFMX1ZQX1NFTAkJCUJJVCg2KQo+ICsjZGVmaW5l IEJJVF9ERENfTUFOVUFMX0RTREEJCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfRERDX01BTlVBTF9E U0NMCQkJQklUKDQpCj4gKyNkZWZpbmUgQklUX0REQ19NQU5VQUxfR0NQX0hXX0NUTF9FTgkJQklU KDMpCj4gKyNkZWZpbmUgQklUX0REQ19NQU5VQUxfRERDTV9BQk9SVF9XUAkJQklUKDIpCj4gKyNk ZWZpbmUgQklUX0REQ19NQU5VQUxfSU9fRFNEQQkJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9ERENf TUFOVUFMX0lPX0RTQ0wJCQlCSVQoMCkKPiArCj4gKy8qIEREQyBJMkMgVGFyZ2V0IFNsYXZlIEFk ZHJlc3MsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRERDX0FERFIJCQkJ MHgwMGVkCj4gKyNkZWZpbmUgTVNLX0REQ19BRERSX0REQ19BRERSCQkJMHhmZQo+ICsKPiArLyog RERDIEkyQyBUYXJnZXQgU2VnbWVudCBBZGRyZXNzLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX0REQ19TRUdNCQkJCTB4MDBlZQo+ICsKPiArLyogRERDIEkyQyBUYXJnZXQg T2Zmc2V0IEFkZHJlc3MsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRERD X09GRlNFVAkJCQkweDAwZWYKPiArCj4gKy8qIEREQyBJMkMgRGF0YSBJbiBjb3VudCAjMSwgZGVm YXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ERENfRElOX0NOVDEJCQkweDAwZjAK PiArCj4gKy8qIEREQyBJMkMgRGF0YSBJbiBjb3VudCAjMiwgZGVmYXVsdCB2YWx1ZTogMHgwMCAq Lwo+ICsjZGVmaW5lIFJFR19ERENfRElOX0NOVDIJCQkweDAwZjEKPiArI2RlZmluZSBNU0tfRERD X0RJTl9DTlQyX0REQ19ESU5fQ05UXzlfOAkweDAzCj4gKwo+ICsvKiBEREMgSTJDIFN0YXR1cywg ZGVmYXVsdCB2YWx1ZTogMHgwNCAqLwo+ICsjZGVmaW5lIFJFR19ERENfU1RBVFVTCQkJCTB4MDBm Mgo+ICsjZGVmaW5lIEJJVF9ERENfU1RBVFVTX0REQ19CVVNfTE9XCQlCSVQoNikKPiArI2RlZmlu ZSBCSVRfRERDX1NUQVRVU19ERENfTk9fQUNLCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfRERDX1NU QVRVU19ERENfSTJDX0lOX1BST0cJCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9ERENfU1RBVFVTX0RE Q19GSUZPX0ZVTEwJCUJJVCgzKQo+ICsjZGVmaW5lIEJJVF9ERENfU1RBVFVTX0REQ19GSUZPX0VN UFRZCQlCSVQoMikKPiArI2RlZmluZSBCSVRfRERDX1NUQVRVU19ERENfRklGT19SRUFEX0lOX1NV RQlCSVQoMSkKPiArI2RlZmluZSBCSVRfRERDX1NUQVRVU19ERENfRklGT19XUklURV9JTl9VU0UJ QklUKDApCj4gKwo+ICsvKiBEREMgSTJDIENvbW1hbmQsIGRlZmF1bHQgdmFsdWU6IDB4NzAgKi8K PiArI2RlZmluZSBSRUdfRERDX0NNRAkJCQkweDAwZjMKPiArI2RlZmluZSBCSVRfRERDX0NNRF9I RENQX0REQ19FTgkJCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9ERENfQ01EX1NEQV9ERUxfRU4JCQlC SVQoNSkKPiArI2RlZmluZSBCSVRfRERDX0NNRF9ERENfRkxUX0VOCQkJQklUKDQpCj4gKwo+ICsj ZGVmaW5lIE1TS19ERENfQ01EX0REQ19DTUQJCQkweDBmCj4gKyNkZWZpbmUgVkFMX0REQ19DTURf RU5IX0REQ19SRUFEX05PX0FDSwkJMHgwNAo+ICsjZGVmaW5lIFZBTF9ERENfQ01EX0REQ19DTURf Q0xFQVJfRklGTwkJMHgwOQo+ICsjZGVmaW5lIFZBTF9ERENfQ01EX0REQ19DTURfQUJPUlQJCTB4 MGYKPiArCj4gKy8qIEREQyBJMkMgRklGTyBEYXRhIEluL091dCwgZGVmYXVsdCB2YWx1ZTogMHgw MCAqLwo+ICsjZGVmaW5lIFJFR19ERENfREFUQQkJCQkweDAwZjQKPiArCj4gKy8qIEREQyBJMkMg RGF0YSBPdXQgQ291bnRlciwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19E RENfRE9VVF9DTlQJCQkweDAwZjUKPiArI2RlZmluZSBCSVRfRERDX0RPVVRfQ05UX0REQ19ERUxB WV9DTlRfOAlCSVQoNykKPiArI2RlZmluZSBNU0tfRERDX0RPVVRfQ05UX0REQ19EQVRBX09VVF9D TlQJMHgxZgo+ICsKPiArLyogRERDIEkyQyBEZWxheSBDb3VudCwgZGVmYXVsdCB2YWx1ZTogMHgx NCAqLwo+ICsjZGVmaW5lIFJFR19ERENfREVMQVlfQ05UCQkJMHgwMGY2Cj4gKwo+ICsvKiBUZXN0 IENvbnRyb2wsIGRlZmF1bHQgdmFsdWU6IDB4ODAgKi8KPiArI2RlZmluZSBSRUdfVEVTVF9UWENU UkwJCQkJMHgwMGY3Cj4gKyNkZWZpbmUgQklUX1RFU1RfVFhDVFJMX1JDTEtfUkVGX1NFTAkJQklU KDcpCj4gKyNkZWZpbmUgQklUX1RFU1RfVFhDVFJMX1BDTEtfUkVGX1NFTAkJQklUKDYpCj4gKyNk ZWZpbmUgTVNLX1RFU1RfVFhDVFJMX0JZUEFTU19QTExfQ0xLCQkweDNjCj4gKyNkZWZpbmUgQklU X1RFU1RfVFhDVFJMX0hETUlfTU9ERQkJQklUKDEpCj4gKyNkZWZpbmUgQklUX1RFU1RfVFhDVFJM X1RTVF9QTExDSwkJQklUKDApCj4gKwo+ICsvKiBDQlVTIEFkZHJlc3MsIGRlZmF1bHQgdmFsdWU6 IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfUEFHRV9DQlVTX0FERFIJCQkweDAwZjgKPiArCj4gKy8q IEkyQyBEZXZpY2UgQWRkcmVzcyByZS1hc3NpZ25tZW50ICovCj4gKyNkZWZpbmUgUkVHX1BBR0Ux X0FERFIJCQkJMHgwMGZjCj4gKyNkZWZpbmUgUkVHX1BBR0UyX0FERFIJCQkJMHgwMGZkCj4gKyNk ZWZpbmUgUkVHX1BBR0UzX0FERFIJCQkJMHgwMGZlCj4gKyNkZWZpbmUgUkVHX0hXX1RQSV9BRERS CQkJCTB4MDBmZgo+ICsKPiArLyogVVNCVCBDVFJMMCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ ICsjZGVmaW5lIFJFR19VVFNSU1QJCQkJMHgwMTAwCj4gKyNkZWZpbmUgQklUX1VUU1JTVF9GQ19T UlNUCQkJQklUKDUpCj4gKyNkZWZpbmUgQklUX1VUU1JTVF9LRUVQRVJfU1JTVAkJCUJJVCg0KQo+ ICsjZGVmaW5lIEJJVF9VVFNSU1RfSFRYX1NSU1QJCQlCSVQoMykKPiArI2RlZmluZSBCSVRfVVRT UlNUX1RSWF9TUlNUCQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX1VUU1JTVF9UVFhfU1JTVAkJCUJJ VCgxKQo+ICsjZGVmaW5lIEJJVF9VVFNSU1RfSFJYX1NSU1QJCQlCSVQoMCkKPiArCj4gKy8qIEhT SUMgUlggQ29udHJvbDMsIGRlZmF1bHQgdmFsdWU6IDB4MDcgKi8KPiArI2RlZmluZSBSRUdfSFJY Q1RSTDMJCQkJMHgwMTA0Cj4gKyNkZWZpbmUgTVNLX0hSWENUUkwzX0hSWF9BRkZDVFJMCQkweGYw Cj4gKyNkZWZpbmUgQklUX0hSWENUUkwzX0hSWF9PVVRfRU4JCQlCSVQoMikKPiArI2RlZmluZSBC SVRfSFJYQ1RSTDNfU1RBVFVTX0VOCQkJQklUKDEpCj4gKyNkZWZpbmUgQklUX0hSWENUUkwzX0hS WF9TVEFZX1JFU0VUCQlCSVQoMCkKPiArCj4gKy8qIEhTSUMgUlggSU5UIFJlZ2lzdGVycyAqLwo+ ICsjZGVmaW5lIFJFR19IUlhJTlRMCQkJCTB4MDExMQo+ICsjZGVmaW5lIFJFR19IUlhJTlRICQkJ CTB4MDExMgo+ICsKPiArLyogVERNIFRYIE5VTUJJVFMsIGRlZmF1bHQgdmFsdWU6IDB4MGMgKi8K PiArI2RlZmluZSBSRUdfVFRYTlVNQgkJCQkweDAxMTYKPiArI2RlZmluZSBNU0tfVFRYTlVNQl9U VFhfQUZGQ1RSTF8zXzAJCTB4ZjAKPiArI2RlZmluZSBCSVRfVFRYTlVNQl9UVFhfQ09NMV9BVF9T WU5DX1dBSVQJQklUKDMpCj4gKyNkZWZpbmUgTVNLX1RUWE5VTUJfVFRYX05VTUJQU18yXzAJCTB4 MDcKPiArCj4gKy8qIFRETSBUWCBOVU1TUElTWU0sIGRlZmF1bHQgdmFsdWU6IDB4MDQgKi8KPiAr I2RlZmluZSBSRUdfVFRYU1BJTlVNUwkJCQkweDAxMTcKPiArCj4gKy8qIFRETSBUWCBOVU1IU0lD U1lNLCBkZWZhdWx0IHZhbHVlOiAweDE0ICovCj4gKyNkZWZpbmUgUkVHX1RUWEhTSUNOVU1TCQkJ CTB4MDExOAo+ICsKPiArLyogVERNIFRYIE5VTVRPVFNZTSwgZGVmYXVsdCB2YWx1ZTogMHgxOCAq Lwo+ICsjZGVmaW5lIFJFR19UVFhUT1ROVU1TCQkJCTB4MDExOQo+ICsKPiArLyogVERNIFRYIElO VCBMb3csIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFRYSU5UTAkJCQkw eDAxMzYKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjcJCQlCSVQoNykKPiArI2RlZmlu ZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjYJCQlCSVQoNikKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9U VFhfSU5UUjUJCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjQJCQlCSVQo NCkKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjMJCQlCSVQoMykKPiArI2RlZmluZSBC SVRfVFRYSU5UTF9UVFhfSU5UUjIJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhf SU5UUjEJCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfVFRYSU5UTF9UVFhfSU5UUjAJCQlCSVQoMCkK PiArCj4gKy8qIFRETSBUWCBJTlQgSGlnaCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19UVFhJTlRICQkJCTB4MDEzNwo+ICsjZGVmaW5lIEJJVF9UVFhJTlRIX1RUWF9JTlRS MTUJCQlCSVQoNykKPiArI2RlZmluZSBCSVRfVFRYSU5USF9UVFhfSU5UUjE0CQkJQklUKDYpCj4g KyNkZWZpbmUgQklUX1RUWElOVEhfVFRYX0lOVFIxMwkJCUJJVCg1KQo+ICsjZGVmaW5lIEJJVF9U VFhJTlRIX1RUWF9JTlRSMTIJCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfVFRYSU5USF9UVFhfSU5U UjExCQkJQklUKDMpCj4gKyNkZWZpbmUgQklUX1RUWElOVEhfVFRYX0lOVFIxMAkJCUJJVCgyKQo+ ICsjZGVmaW5lIEJJVF9UVFhJTlRIX1RUWF9JTlRSOQkJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9U VFhJTlRIX1RUWF9JTlRSOAkJCUJJVCgwKQo+ICsKPiArLyogVERNIFJYIENvbnRyb2wsIGRlZmF1 bHQgdmFsdWU6IDB4MWMgKi8KPiArI2RlZmluZSBSRUdfVFJYQ1RSTAkJCQkweDAxM2IKPiArI2Rl ZmluZSBCSVRfVFJYQ1RSTF9UUlhfQ0xSX1dWQUxMT1cJCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9U UlhDVFJMX1RSWF9GUk9NX1NFX0NPQwkJQklUKDMpCj4gKyNkZWZpbmUgTVNLX1RSWENUUkxfVFJY X05VTUJQU18yXzAJCTB4MDcKPiArCj4gKy8qIFRETSBSWCBOVU1TUElTWU0sIGRlZmF1bHQgdmFs dWU6IDB4MDQgKi8KPiArI2RlZmluZSBSRUdfVFJYU1BJTlVNUwkJCQkweDAxM2MKPiArCj4gKy8q IFRETSBSWCBOVU1IU0lDU1lNLCBkZWZhdWx0IHZhbHVlOiAweDE0ICovCj4gKyNkZWZpbmUgUkVH X1RSWEhTSUNOVU1TCQkJCTB4MDEzZAo+ICsKPiArLyogVERNIFJYIE5VTVRPVFNZTSwgZGVmYXVs dCB2YWx1ZTogMHgxOCAqLwo+ICsjZGVmaW5lIFJFR19UUlhUT1ROVU1TCQkJCTB4MDEzZQo+ICsK PiArLyogVERNIFJYIFN0YXR1cyAybmQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmlu ZSBSRUdfVFJYU1RBMgkJCQkweDAxNWMKPiArCj4gKy8qIFRETSBSWCBJTlQgTG93LCBkZWZhdWx0 IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RSWElOVEwJCQkJMHgwMTYzCj4gKwo+ICsv KiBURE0gUlggSU5UIEhpZ2gsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf VFJYSU5USAkJCQkweDAxNjQKPiArCj4gKy8qIFRETSBSWCBJTlRNQVNLIEhpZ2gsIGRlZmF1bHQg dmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFJYSU5UTUgJCQkJMHgwMTY2Cj4gKwo+ICsv KiBIU0lDIFRYIENSVEwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSFRY Q1RSTAkJCQkweDAxNjkKPiArI2RlZmluZSBCSVRfSFRYQ1RSTF9IVFhfQUxMU0JFX1NPUAkJQklU KDQpCj4gKyNkZWZpbmUgQklUX0hUWENUUkxfSFRYX1JHRElOVl9VU0IJCUJJVCgzKQo+ICsjZGVm aW5lIEJJVF9IVFhDVFJMX0hUWF9SU1BURE1fQlVTWQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX0hU WENUUkxfSFRYX0RSVkNPTk4xCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfSFRYQ1RSTF9IVFhfRFJW UlNUMQkJCUJJVCgwKQo+ICsKPiArLyogSFNJQyBUWCBJTlQgTG93LCBkZWZhdWx0IHZhbHVlOiAw eDAwICovCj4gKyNkZWZpbmUgUkVHX0hUWElOVEwJCQkJMHgwMTdkCj4gKwo+ICsvKiBIU0lDIFRY IElOVCBIaWdoLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0hUWElOVEgJ CQkJMHgwMTdlCj4gKwo+ICsvKiBIU0lDIEtlZXBlciwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ ICsjZGVmaW5lIFJFR19LRUVQRVIJCQkJMHgwMTgxCj4gKyNkZWZpbmUgTVNLX0tFRVBFUl9LRUVQ RVJfTU9ERV8xXzAJCTB4MDMKPiArCj4gKy8qIEhTSUMgRmxvdyBDb250cm9sIEdlbmVyYWwsIGRl ZmF1bHQgdmFsdWU6IDB4MDIgKi8KPiArI2RlZmluZSBSRUdfRkNHQwkJCQkweDAxODMKPiArI2Rl ZmluZSBCSVRfRkNHQ19IU0lDX0ZDX0hPU1RNT0RFCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfRkNH Q19IU0lDX0ZDX0VOQUJMRQkJCUJJVCgwKQo+ICsKPiArLyogSFNJQyBGbG93IENvbnRyb2wgQ1RS MTMsIGRlZmF1bHQgdmFsdWU6IDB4ZmMgKi8KPiArI2RlZmluZSBSRUdfRkNDVFIxMwkJCQkweDAx OTEKPiArCj4gKy8qIEhTSUMgRmxvdyBDb250cm9sIENUUjE0LCBkZWZhdWx0IHZhbHVlOiAweGZm ICovCj4gKyNkZWZpbmUgUkVHX0ZDQ1RSMTQJCQkJMHgwMTkyCj4gKwo+ICsvKiBIU0lDIEZsb3cg Q29udHJvbCBDVFIxNSwgZGVmYXVsdCB2YWx1ZTogMHhmZiAqLwo+ICsjZGVmaW5lIFJFR19GQ0NU UjE1CQkJCTB4MDE5Mwo+ICsKPiArLyogSFNJQyBGbG93IENvbnRyb2wgQ1RSNTAsIGRlZmF1bHQg dmFsdWU6IDB4MDMgKi8KPiArI2RlZmluZSBSRUdfRkNDVFI1MAkJCQkweDAxYjYKPiArCj4gKy8q IEhTSUMgRmxvdyBDb250cm9sIElOVFIwLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZp bmUgUkVHX0ZDSU5UUjAJCQkJMHgwMWVjCj4gKyNkZWZpbmUgUkVHX0ZDSU5UUjEJCQkJMHgwMWVk Cj4gKyNkZWZpbmUgUkVHX0ZDSU5UUjIJCQkJMHgwMWVlCj4gKyNkZWZpbmUgUkVHX0ZDSU5UUjMJ CQkJMHgwMWVmCj4gKyNkZWZpbmUgUkVHX0ZDSU5UUjQJCQkJMHgwMWYwCj4gKyNkZWZpbmUgUkVH X0ZDSU5UUjUJCQkJMHgwMWYxCj4gKyNkZWZpbmUgUkVHX0ZDSU5UUjYJCQkJMHgwMWYyCj4gKyNk ZWZpbmUgUkVHX0ZDSU5UUjcJCQkJMHgwMWYzCj4gKwo+ICsvKiBURE0gTG93IExhdGVuY3ksIGRl ZmF1bHQgdmFsdWU6IDB4MjAgKi8KPiArI2RlZmluZSBSRUdfVERNTExDVEwJCQkJMHgwMWZjCj4g KyNkZWZpbmUgTVNLX1RETUxMQ1RMX1RSWF9MTF9TRUxfTUFOVUFMCQkweGMwCj4gKyNkZWZpbmUg TVNLX1RETUxMQ1RMX1RSWF9MTF9TRUxfTU9ERQkJMHgzMAo+ICsjZGVmaW5lIE1TS19URE1MTENU TF9UVFhfTExfU0VMX01BTlVBTAkJMHgwYwo+ICsjZGVmaW5lIEJJVF9URE1MTENUTF9UVFhfTExf VElFX0xPVwkJQklUKDEpCj4gKyNkZWZpbmUgQklUX1RETUxMQ1RMX1RUWF9MTF9TRUxfTU9ERQkJ QklUKDApCj4gKwo+ICsvKiBUTURTIDAgQ2xvY2sgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgx MCAqLwo+ICsjZGVmaW5lIFJFR19UTURTMF9DQ1RSTDEJCQkweDAyMTAKPiArI2RlZmluZSBNU0tf VE1EUzBfQ0NUUkwxX1RFU1RfU0VMCQkweGMwCj4gKyNkZWZpbmUgTVNLX1RNRFMwX0NDVFJMMV9D TEsxWF9DVEwJCTB4MzAKPiArCj4gKy8qIFRNRFMgQ2xvY2sgRW5hYmxlLCBkZWZhdWx0IHZhbHVl OiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RNRFNfQ0xLX0VOCQkJCTB4MDIxMQo+ICsjZGVmaW5l IEJJVF9UTURTX0NMS19FTl9DTEtfRU4JCQlCSVQoMCkKPiArCj4gKy8qIFRNRFMgQ2hhbm5lbCBF bmFibGUsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVE1EU19DSF9FTgkJ CQkweDAyMTIKPiArI2RlZmluZSBCSVRfVE1EU19DSF9FTl9DSDBfRU4JCQlCSVQoNCkKPiArI2Rl ZmluZSBCSVRfVE1EU19DSF9FTl9DSDEyX0VOCQkJQklUKDApCj4gKwo+ICsvKiBCR1JfQklBUywg ZGVmYXVsdCB2YWx1ZTogMHgwNyAqLwo+ICsjZGVmaW5lIFJFR19CR1JfQklBUwkJCQkweDAyMTUK PiArI2RlZmluZSBCSVRfQkdSX0JJQVNfQkdSX0VOCQkJQklUKDcpCj4gKyNkZWZpbmUgTVNLX0JH Ul9CSUFTX0JJQVNfQkdSX0QJCQkweDBmCj4gKwo+ICsvKiBUTURTIDAgRGlnaXRhbCBJMkMgQlcs IGRlZmF1bHQgdmFsdWU6IDB4MGEgKi8KPiArI2RlZmluZSBSRUdfQUxJQ0UwX0JXX0kyQwkJCTB4 MDIzMQo+ICsKPiArLyogVE1EUyAwIERpZ2l0YWwgWm9uZSBDb250cm9sLCBkZWZhdWx0IHZhbHVl OiAweGUwICovCj4gKyNkZWZpbmUgUkVHX0FMSUNFMF9aT05FX0NUUkwJCQkweDAyNGMKPiArI2Rl ZmluZSBCSVRfQUxJQ0UwX1pPTkVfQ1RSTF9JQ1JTVF9OCQlCSVQoNykKPiArI2RlZmluZSBCSVRf QUxJQ0UwX1pPTkVfQ1RSTF9VU0VfSU5UX0RJVjIwCUJJVCg2KQo+ICsjZGVmaW5lIE1TS19BTElD RTBfWk9ORV9DVFJMX1NaT05FX0kyQwkJMHgzMAo+ICsjZGVmaW5lIE1TS19BTElDRTBfWk9ORV9D VFJMX1pPTkVfQ1RSTAkJMHgwZgo+ICsKPiArLyogVE1EUyAwIERpZ2l0YWwgUExMIE1vZGUgQ29u dHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19BTElDRTBfTU9ERV9D VFJMCQkJMHgwMjRkCj4gKyNkZWZpbmUgTVNLX0FMSUNFMF9NT0RFX0NUUkxfUExMX01PREVfSTJD CTB4MGMKPiArI2RlZmluZSBNU0tfQUxJQ0UwX01PREVfQ1RSTF9ESVYyMF9DVFJMCQkweDAzCj4g Kwo+ICsvKiBNSEwgVHggQ29udHJvbCA2dGgsIGRlZmF1bHQgdmFsdWU6IDB4YTAgKi8KPiArI2Rl ZmluZSBSRUdfTUhMVFhfQ1RMNgkJCQkweDAyODUKPiArI2RlZmluZSBNU0tfTUhMVFhfQ1RMNl9F TUlfU0VMCQkJMHhlMAo+ICsjZGVmaW5lIE1TS19NSExUWF9DVEw2X1RYX0NMS19TSEFQRV85XzgJ CTB4MDMKPiArCj4gKy8qIFBhY2tldCBGaWx0ZXIwLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX1BLVF9GSUxURVJfMAkJCTB4MDI5MAo+ICsjZGVmaW5lIEJJVF9QS1RfRklM VEVSXzBfRFJPUF9DRUFfR0FNVVRfUEtUCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9QS1RfRklMVEVS XzBfRFJPUF9DRUFfQ1BfUEtUCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9QS1RfRklMVEVSXzBfRFJP UF9NUEVHX1BLVAkJQklUKDUpCj4gKyNkZWZpbmUgQklUX1BLVF9GSUxURVJfMF9EUk9QX1NQSUZf UEtUCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfUEtUX0ZJTFRFUl8wX0RST1BfQUlGX1BLVAkJQklU KDMpCj4gKyNkZWZpbmUgQklUX1BLVF9GSUxURVJfMF9EUk9QX0FWSV9QS1QJCUJJVCgyKQo+ICsj ZGVmaW5lIEJJVF9QS1RfRklMVEVSXzBfRFJPUF9DVFNfUEtUCQlCSVQoMSkKPiArI2RlZmluZSBC SVRfUEtUX0ZJTFRFUl8wX0RST1BfR0NQX1BLVAkJQklUKDApCj4gKwo+ICsvKiBQYWNrZXQgRmls dGVyMSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19QS1RfRklMVEVSXzEJ CQkweDAyOTEKPiArI2RlZmluZSBCSVRfUEtUX0ZJTFRFUl8xX1ZTSV9PVkVSUklERV9ESVMJQklU KDcpCj4gKyNkZWZpbmUgQklUX1BLVF9GSUxURVJfMV9BVklfT1ZFUlJJREVfRElTCUJJVCg2KQo+ ICsjZGVmaW5lIEJJVF9QS1RfRklMVEVSXzFfRFJPUF9BVURJT19QS1QJCUJJVCgzKQo+ICsjZGVm aW5lIEJJVF9QS1RfRklMVEVSXzFfRFJPUF9HRU4yX1BLVAkJQklUKDIpCj4gKyNkZWZpbmUgQklU X1BLVF9GSUxURVJfMV9EUk9QX0dFTl9QS1QJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9QS1RfRklM VEVSXzFfRFJPUF9WU0lGX1BLVAkJQklUKDApCj4gKwo+ICsvKiBUTURTIENsb2NrIFN0YXR1cywg ZGVmYXVsdCB2YWx1ZTogMHgxMCAqLwo+ICsjZGVmaW5lIFJFR19UTURTX0NTVEFUX1AzCQkJMHgw MmEwCj4gKyNkZWZpbmUgQklUX1RNRFNfQ1NUQVRfUDNfUlhfSERNSV9DUF9DTFJfTVVURQlCSVQo NykKPiArI2RlZmluZSBCSVRfVE1EU19DU1RBVF9QM19SWF9IRE1JX0NQX1NFVF9NVVRFCUJJVCg2 KQo+ICsjZGVmaW5lIEJJVF9UTURTX0NTVEFUX1AzX1JYX0hETUlfQ1BfTkVXX0NQCUJJVCg1KQo+ ICsjZGVmaW5lIEJJVF9UTURTX0NTVEFUX1AzX0NMUl9BVkkJCUJJVCgzKQo+ICsjZGVmaW5lIEJJ VF9UTURTX0NTVEFUX1AzX1NDRFRfQ0xSX0FWSV9ESVMJQklUKDIpCj4gKyNkZWZpbmUgQklUX1RN RFNfQ1NUQVRfUDNfU0NEVAkJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9UTURTX0NTVEFUX1AzX0NL RFQJCQlCSVQoMCkKPiArCj4gKy8qIFJYX0hETUkgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgx MCAqLwo+ICsjZGVmaW5lIFJFR19SWF9IRE1JX0NUUkwwCQkJMHgwMmExCj4gKyNkZWZpbmUgQklU X1JYX0hETUlfQ1RSTDBfQllQX0RWSUZJTFRfU1lOQwlCSVQoNSkKPiArI2RlZmluZSBCSVRfUlhf SERNSV9DVFJMMF9IRE1JX01PREVfRU5fSVRTRUxGX0NMUiBCSVQoNCkKPiArI2RlZmluZSBCSVRf UlhfSERNSV9DVFJMMF9IRE1JX01PREVfU1dfVkFMVUUJQklUKDMpCj4gKyNkZWZpbmUgQklUX1JY X0hETUlfQ1RSTDBfSERNSV9NT0RFX09WRVJXUklURQlCSVQoMikKPiArI2RlZmluZSBCSVRfUlhf SERNSV9DVFJMMF9SWF9IRE1JX0hETUlfTU9ERV9FTglCSVQoMSkKPiArI2RlZmluZSBCSVRfUlhf SERNSV9DVFJMMF9SWF9IRE1JX0hETUlfTU9ERQlCSVQoMCkKPiArCj4gKy8qIFJYX0hETUkgQ29u dHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgzOCAqLwo+ICsjZGVmaW5lIFJFR19SWF9IRE1JX0NUUkwy CQkJMHgwMmEzCj4gKyNkZWZpbmUgTVNLX1JYX0hETUlfQ1RSTDJfSURMRV9DTlQJCTB4ZjAKPiAr I2RlZmluZSBWQUxfUlhfSERNSV9DVFJMMl9JRExFX0NOVChuKQkJKChuKSA8PCA0KQo+ICsjZGVm aW5lIEJJVF9SWF9IRE1JX0NUUkwyX1VTRV9BVl9NVVRFCQlCSVQoMykKPiArI2RlZmluZSBCSVRf UlhfSERNSV9DVFJMMl9WU0lfTU9OX1NFTF9WU0kJQklUKDApCj4gKwo+ICsvKiBSWF9IRE1JIENv bnRyb2wsIGRlZmF1bHQgdmFsdWU6IDB4MGYgKi8KPiArI2RlZmluZSBSRUdfUlhfSERNSV9DVFJM MwkJCTB4MDJhNAo+ICsjZGVmaW5lIE1TS19SWF9IRE1JX0NUUkwzX1BQX01PREVfQ0xLX0VOCTB4 MGYKPiArCj4gKy8qIHJ4X2hkbWkgQ2xlYXIgQnVmZmVyLCBkZWZhdWx0IHZhbHVlOiAweDAwICov Cj4gKyNkZWZpbmUgUkVHX1JYX0hETUlfQ0xSX0JVRkZFUgkJCTB4MDJhYwo+ICsjZGVmaW5lIE1T S19SWF9IRE1JX0NMUl9CVUZGRVJfQUlGNFZTSV9DTVAJMHhjMAo+ICsjZGVmaW5lIEJJVF9SWF9I RE1JX0NMUl9CVUZGRVJfVVNFX0FJRjRWU0kJQklUKDUpCj4gKyNkZWZpbmUgQklUX1JYX0hETUlf Q0xSX0JVRkZFUl9WU0lfQ0xSX1dfQVZJCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9SWF9IRE1JX0NM Ul9CVUZGRVJfVlNJX0lFRUVfSURfQ0hLX0VOIEJJVCgzKQo+ICsjZGVmaW5lIEJJVF9SWF9IRE1J X0NMUl9CVUZGRVJfU1dBUF9WU0lfSUVFRV9JRAlCSVQoMikKPiArI2RlZmluZSBCSVRfUlhfSERN SV9DTFJfQlVGRkVSX0FJRl9DTFJfRU4JQklUKDEpCj4gKyNkZWZpbmUgQklUX1JYX0hETUlfQ0xS X0JVRkZFUl9WU0lfQ0xSX0VOCUJJVCgwKQo+ICsKPiArLyogUlhfSERNSSBWU0kgSGVhZGVyMSwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19SWF9IRE1JX01PTl9QS1RfSEVB REVSMQkJMHgwMmI4Cj4gKwo+ICsvKiBSWF9IRE1JIFZTSSBNSEwgTW9uaXRvciwgZGVmYXVsdCB2 YWx1ZTogMHgzYyAqLwo+ICsjZGVmaW5lIFJFR19SWF9IRE1JX1ZTSUZfTUhMX01PTgkJMHgwMmQ3 Cj4gKwo+ICsjZGVmaW5lIE1TS19SWF9IRE1JX1ZTSUZfTUhMX01PTl9SWF9IRE1JX01ITF8zRF9G T1JNQVQgMHgzYwo+ICsjZGVmaW5lIE1TS19SWF9IRE1JX1ZTSUZfTUhMX01PTl9SWF9IRE1JX01I TF9WSURfRk9STUFUIDB4MDMKPiArCj4gKy8qIEludGVycnVwdCBTb3VyY2UgOSwgZGVmYXVsdCB2 YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19JTlRSOQkJCQkweDAyZTAKPiArI2RlZmluZSBC SVRfSU5UUjlfRURJRF9FUlJPUgkJCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9JTlRSOV9FRElEX0RP TkUJCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfSU5UUjlfREVWQ0FQX0RPTkUJCQlCSVQoNCkKPiAr Cj4gKy8qIEludGVycnVwdCA5IE1hc2ssIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmlu ZSBSRUdfSU5UUjlfTUFTSwkJCQkweDAyZTEKPiArCj4gKy8qIFRQSSBDQlVTIFN0YXJ0LCBkZWZh dWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9DQlVTX1NUQVJUCQkJMHgwMmUy Cj4gKyNkZWZpbmUgQklUX1RQSV9DQlVTX1NUQVJUX1JDUF9SRVFfU1RBUlQJQklUKDcpCj4gKyNk ZWZpbmUgQklUX1RQSV9DQlVTX1NUQVJUX1JDUEtfUkVQTFlfU1RBUlQJQklUKDYpCj4gKyNkZWZp bmUgQklUX1RQSV9DQlVTX1NUQVJUX1JDUEVfUkVQTFlfU1RBUlQJQklUKDUpCj4gKyNkZWZpbmUg QklUX1RQSV9DQlVTX1NUQVJUX1BVVF9MSU5LX01PREVfU1RBUlQJQklUKDQpCj4gKyNkZWZpbmUg QklUX1RQSV9DQlVTX1NUQVJUX1BVVF9EQ0FQQ0hHX1NUQVJUCUJJVCgzKQo+ICsjZGVmaW5lIEJJ VF9UUElfQ0JVU19TVEFSVF9QVVRfRENBUFJEWV9TVEFSVAlCSVQoMikKPiArI2RlZmluZSBCSVRf VFBJX0NCVVNfU1RBUlRfR0VUX0VESURfU1RBUlRfMAlCSVQoMSkKPiArI2RlZmluZSBCSVRfVFBJ X0NCVVNfU1RBUlRfR0VUX0RFVkNBUF9TVEFSVAlCSVQoMCkKPiArCj4gKy8qIEVESUQgQ29udHJv bCwgZGVmYXVsdCB2YWx1ZTogMHgxMCAqLwo+ICsjZGVmaW5lIFJFR19FRElEX0NUUkwJCQkJMHgw MmUzCj4gKyNkZWZpbmUgQklUX0VESURfQ1RSTF9FRElEX1BSSU1FX1ZBTElECQlCSVQoNykKPiAr I2RlZmluZSBCSVRfRURJRF9DVFJMX1hERVZDQVBfRU4JCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9F RElEX0NUUkxfREVWQ0FQX1NFTEVDVF9ERVZDQVAJQklUKDUpCj4gKyNkZWZpbmUgQklUX0VESURf Q1RSTF9FRElEX0ZJRk9fQUREUl9BVVRPCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9FRElEX0NUUkxf RURJRF9GSUZPX0FDQ0VTU19BTFdBWVNfRU4gQklUKDMpCj4gKyNkZWZpbmUgQklUX0VESURfQ1RS TF9FRElEX0ZJRk9fQkxPQ0tfU0VMCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9FRElEX0NUUkxfSU5W QUxJRF9CS1NWCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfRURJRF9DVFJMX0VESURfTU9ERV9FTgkJ QklUKDApCj4gKwo+ICsvKiBFRElEIEZJRk8gQWRkciwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ ICsjZGVmaW5lIFJFR19FRElEX0ZJRk9fQUREUgkJCTB4MDJlOQo+ICsKPiArLyogRURJRCBGSUZP IFdyaXRlIERhdGEsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRURJRF9G SUZPX1dSX0RBVEEJCQkweDAyZWEKPiArCj4gKy8qIEVESUQvREVWQ0FQIEZJRk8gSW50ZXJuYWwg QWRkciwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19FRElEX0ZJRk9fQURE Ul9NT04JCQkweDAyZWIKPiArCj4gKy8qIEVESUQgRklGTyBSZWFkIERhdGEsIGRlZmF1bHQgdmFs dWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRURJRF9GSUZPX1JEX0RBVEEJCQkweDAyZWMKPiAr Cj4gKy8qIEVESUQgRERDIFNlZ21lbnQgUG9pbnRlciwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ ICsjZGVmaW5lIFJFR19FRElEX1NUQVJUX0VYVAkJCTB4MDJlZAo+ICsKPiArLyogVFggSVAgQklT VCBDTlRMIGFuZCBTdGF0dXMsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf VFhfSVBfQklTVF9DTlRMU1RBCQkJMHgwMmYyCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1RfQ05U TFNUQV9UWEJJU1RfUVVBUlRFUl9DTEtfU0VMIEJJVCg2KQo+ICsjZGVmaW5lIEJJVF9UWF9JUF9C SVNUX0NOVExTVEFfVFhCSVNUX0RPTkUJQklUKDUpCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1Rf Q05UTFNUQV9UWEJJU1RfT04JQklUKDQpCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1RfQ05UTFNU QV9UWEJJU1RfUlVOCUJJVCgzKQo+ICsjZGVmaW5lIEJJVF9UWF9JUF9CSVNUX0NOVExTVEFfVFhD TEtfSEFMRl9TRUwJQklUKDIpCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1RfQ05UTFNUQV9UWEJJ U1RfRU4JQklUKDEpCj4gKyNkZWZpbmUgQklUX1RYX0lQX0JJU1RfQ05UTFNUQV9UWEJJU1RfU0VM CUJJVCgwKQo+ICsKPiArLyogVFggSVAgQklTVCBJTlNUIExPVywgZGVmYXVsdCB2YWx1ZTogMHgw MCAqLwo+ICsjZGVmaW5lIFJFR19UWF9JUF9CSVNUX0lOU1RfTE9XCQkJMHgwMmYzCj4gKyNkZWZp bmUgUkVHX1RYX0lQX0JJU1RfSU5TVF9ISUdICQkweDAyZjQKPiArCj4gKy8qIFRYIElQIEJJU1Qg UEFUVEVSTiBMT1csIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFhfSVBf QklTVF9QQVRfTE9XCQkJMHgwMmY1Cj4gKyNkZWZpbmUgUkVHX1RYX0lQX0JJU1RfUEFUX0hJR0gJ CQkweDAyZjYKPiArCj4gKy8qIFRYIElQIEJJU1QgQ09ORklHVVJFIExPVywgZGVmYXVsdCB2YWx1 ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UWF9JUF9CSVNUX0NPTkZfTE9XCQkJMHgwMmY3Cj4g KyNkZWZpbmUgUkVHX1RYX0lQX0JJU1RfQ09ORl9ISUdICQkweDAyZjgKPiArCj4gKy8qIEUtTVND IEdlbmVyYWwgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHg4MCAqLwo+ICsjZGVmaW5lIFJFR19H RU5DVEwJCQkJMHgwMzAwCj4gKyNkZWZpbmUgQklUX0dFTkNUTF9TUEVDX1RSQU5TX0RJUwkJQklU KDcpCj4gKyNkZWZpbmUgQklUX0dFTkNUTF9ESVNfWE1JVF9FUlJfU1RBVEUJCUJJVCg2KQo+ICsj ZGVmaW5lIEJJVF9HRU5DVExfU1BJX01JU09fRURHRQkJQklUKDUpCj4gKyNkZWZpbmUgQklUX0dF TkNUTF9TUElfTU9TSV9FREdFCQlCSVQoNCkKPiArI2RlZmluZSBCSVRfR0VOQ1RMX0NMUl9FTVND X1JGSUZPCQlCSVQoMykKPiArI2RlZmluZSBCSVRfR0VOQ1RMX0NMUl9FTVNDX1hGSUZPCQlCSVQo MikKPiArI2RlZmluZSBCSVRfR0VOQ1RMX1NUQVJUX1RSQUlOX1NFUQkJQklUKDEpCj4gKyNkZWZp bmUgQklUX0dFTkNUTF9FTVNDX0VOCQkJQklUKDApCj4gKwo+ICsvKiBFLU1TQyBDb21tYSBFcnJv ckNOVCwgZGVmYXVsdCB2YWx1ZTogMHgwMyAqLwo+ICsjZGVmaW5lIFJFR19DT01NRUNOVAkJCQkw eDAzMDUKPiArI2RlZmluZSBCSVRfQ09NTUVDTlRfSTJDX1RPX0VNU0NfRU4JCUJJVCg3KQo+ICsj ZGVmaW5lIE1TS19DT01NRUNOVF9DT01NQV9DSEFSX0VSUl9DTlQJCTB4MGYKPiArCj4gKy8qIEUt TVNDIFJGSUZPIEJ5dGVDbnQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf RU1TQ1JGSUZPQkNOVEwJCQkweDAzMWEKPiArI2RlZmluZSBSRUdfRU1TQ1JGSUZPQkNOVEgJCQkw eDAzMWIKPiArCj4gKy8qIFNQSSBCdXJzdCBDbnQgU3RhdHVzLCBkZWZhdWx0IHZhbHVlOiAweDAw ICovCj4gKyNkZWZpbmUgUkVHX1NQSUJVUlNUQ05UCQkJCTB4MDMxZQo+ICsKPiArLyogU1BJIEJ1 cnN0IFN0YXR1cyBhbmQgU1dSU1QsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBS RUdfU1BJQlVSU1RTVEFUCQkJMHgwMzIyCj4gKyNkZWZpbmUgQklUX1NQSUJVUlNUU1RBVF9TUElf SERDUFJTVAkJQklUKDcpCj4gKyNkZWZpbmUgQklUX1NQSUJVUlNUU1RBVF9TUElfQ0JVU1JTVAkJ QklUKDYpCj4gKyNkZWZpbmUgQklUX1NQSUJVUlNUU1RBVF9TUElfU1JTVAkJQklUKDUpCj4gKyNk ZWZpbmUgQklUX1NQSUJVUlNUU1RBVF9FTVNDX05PUk1BTF9NT0RFCUJJVCgwKQo+ICsKPiArLyog RS1NU0MgMXN0IEludGVycnVwdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19FTVNDSU5UUgkJCQkweDAzMjMKPiArI2RlZmluZSBCSVRfRU1TQ0lOVFJfRU1TQ19YRklGT19F TVBUWQkJQklUKDcpCj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSX0VNU0NfWE1JVF9BQ0tfVE9VVAkJ QklUKDYpCj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSX0VNU0NfUkZJRk9fUkVBRF9FUlIJQklUKDUp Cj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSX0VNU0NfWEZJRk9fV1JJVEVfRVJSCUJJVCg0KQo+ICsj ZGVmaW5lIEJJVF9FTVNDSU5UUl9FTVNDX0NPTU1BX0NIQVJfRVJSCUJJVCgzKQo+ICsjZGVmaW5l IEJJVF9FTVNDSU5UUl9FTVNDX1hNSVRfRE9ORQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX0VNU0NJ TlRSX0VNU0NfWE1JVF9HTlRfVE9VVAkJQklUKDEpCj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSX1NQ SV9EVkxECQlCSVQoMCkKPiArCj4gKy8qIEUtTVNDIEludGVycnVwdCBNYXNrLCBkZWZhdWx0IHZh bHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0VNU0NJTlRSTUFTSwkJCTB4MDMyNAo+ICsKPiAr LyogSTJDIEUtTVNDIFhNSVQgRklGTyBXcml0ZSBQb3J0LCBkZWZhdWx0IHZhbHVlOiAweDAwICov Cj4gKyNkZWZpbmUgUkVHX0VNU0NfWE1JVF9XUklURV9QT1JUCQkweDAzMmEKPiArCj4gKy8qIEky QyBFLU1TQyBSQ1YgRklGTyBXcml0ZSBQb3J0LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNk ZWZpbmUgUkVHX0VNU0NfUkNWX1JFQURfUE9SVAkJCTB4MDMyYgo+ICsKPiArLyogRS1NU0MgMm5k IEludGVycnVwdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19FTVNDSU5U UjEJCQkJMHgwMzJjCj4gKyNkZWZpbmUgQklUX0VNU0NJTlRSMV9FTVNDX1RSQUlOSU5HX0NPTU1B X0VSUglCSVQoMCkKPiArCj4gKy8qIEUtTVNDIEludGVycnVwdCBNYXNrLCBkZWZhdWx0IHZhbHVl OiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0VNU0NJTlRSTUFTSzEJCQkweDAzMmQKPiArI2RlZmlu ZSBCSVRfRU1TQ0lOVFJNQVNLMV9FTVNDX0lOVFJNQVNLMV8wCUJJVCgwKQo+ICsKPiArLyogTUhM IFRvcCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfTUhMX1RPUF9D VEwJCQkJMHgwMzMwCj4gKyNkZWZpbmUgQklUX01ITF9UT1BfQ1RMX01ITDNfRE9DX1NFTAkJQklU KDcpCj4gKyNkZWZpbmUgQklUX01ITF9UT1BfQ1RMX01ITF9QUF9TRUwJCUJJVCg2KQo+ICsjZGVm aW5lIE1TS19NSExfVE9QX0NUTF9JRl9USU1JTkdfQ1RMCQkweDAzCj4gKwo+ICsvKiBNSEwgRGF0 YVBhdGggMXN0IEN0bCwgZGVmYXVsdCB2YWx1ZTogMHhiYyAqLwo+ICsjZGVmaW5lIFJFR19NSExf RFBfQ1RMMAkJCQkweDAzMzEKPiArI2RlZmluZSBCSVRfTUhMX0RQX0NUTDBfRFBfT0UJCQlCSVQo NykKPiArI2RlZmluZSBCSVRfTUhMX0RQX0NUTDBfVFhfT0VfT1ZSCQlCSVQoNikKPiArI2RlZmlu ZSBNU0tfTUhMX0RQX0NUTDBfVFhfT0UJCQkweDNmCj4gKwo+ICsvKiBNSEwgRGF0YVBhdGggMm5k IEN0bCwgZGVmYXVsdCB2YWx1ZTogMHhiYiAqLwo+ICsjZGVmaW5lIFJFR19NSExfRFBfQ1RMMQkJ CQkweDAzMzIKPiArI2RlZmluZSBNU0tfTUhMX0RQX0NUTDFfQ0tfU1dJTkdfQ1RMCQkweGYwCj4g KyNkZWZpbmUgTVNLX01ITF9EUF9DVEwxX0RUX1NXSU5HX0NUTAkJMHgwZgo+ICsKPiArLyogTUhM IERhdGFQYXRoIDNyZCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MmYgKi8KPiArI2RlZmluZSBSRUdf TUhMX0RQX0NUTDIJCQkJMHgwMzMzCj4gKyNkZWZpbmUgQklUX01ITF9EUF9DVEwyX0NMS19CWVBB U1NfRU4JCUJJVCg3KQo+ICsjZGVmaW5lIE1TS19NSExfRFBfQ1RMMl9EQU1QX1RFUk1fU0VMCQkw eDMwCj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEwyX0NLX1RFUk1fU0VMCQkweDBjCj4gKyNkZWZp bmUgTVNLX01ITF9EUF9DVEwyX0RUX1RFUk1fU0VMCQkweDAzCj4gKwo+ICsvKiBNSEwgRGF0YVBh dGggNHRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHg0OCAqLwo+ICsjZGVmaW5lIFJFR19NSExfRFBf Q1RMMwkJCQkweDAzMzQKPiArI2RlZmluZSBNU0tfTUhMX0RQX0NUTDNfRFRfRFJWX1ZOQkNfQ1RM CQkweGYwCj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEwzX0RUX0RSVl9WTkJfQ1RMCQkweDBmCj4g Kwo+ICsvKiBNSEwgRGF0YVBhdGggNXRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHg0OCAqLwo+ICsj ZGVmaW5lIFJFR19NSExfRFBfQ1RMNAkJCQkweDAzMzUKPiArI2RlZmluZSBNU0tfTUhMX0RQX0NU TDRfQ0tfRFJWX1ZOQkNfQ1RMCQkweGYwCj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEw0X0NLX0RS Vl9WTkJfQ1RMCQkweDBmCj4gKwo+ICsvKiBNSEwgRGF0YVBhdGggNnRoIEN0bCwgZGVmYXVsdCB2 YWx1ZTogMHgzZiAqLwo+ICsjZGVmaW5lIFJFR19NSExfRFBfQ1RMNQkJCQkweDAzMzYKPiArI2Rl ZmluZSBCSVRfTUhMX0RQX0NUTDVfUlNFTl9FTl9PVlIJCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9N SExfRFBfQ1RMNV9SU0VOX0VOCQkJQklUKDYpCj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEw1X0RB TVBfVEVSTV9WR1NfQ1RMCTB4MzAKPiArI2RlZmluZSBNU0tfTUhMX0RQX0NUTDVfQ0tfVEVSTV9W R1NfQ1RMCQkweDBjCj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEw1X0RUX1RFUk1fVkdTX0NUTAkJ MHgwMwo+ICsKPiArLyogTUhMIFBMTCAxc3QgQ3RsLCBkZWZhdWx0IHZhbHVlOiAweDA1ICovCj4g KyNkZWZpbmUgUkVHX01ITF9QTExfQ1RMMAkJCTB4MDMzNwo+ICsjZGVmaW5lIEJJVF9NSExfUExM X0NUTDBfQVVEX0NMS19FTgkJQklUKDcpCj4gKwo+ICsjZGVmaW5lIE1TS19NSExfUExMX0NUTDBf QVVEX0NMS19SQVRJTwkJMHg3MAo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NUTDBfQVVEX0NMS19S QVRJT181XzEwCTB4NzAKPiArI2RlZmluZSBWQUxfTUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9f NV82CTB4NjAKPiArI2RlZmluZSBWQUxfTUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV80CTB4 NTAKPiArI2RlZmluZSBWQUxfTUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV8yCTB4NDAKPiAr I2RlZmluZSBWQUxfTUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV81CTB4MzAKPiArI2RlZmlu ZSBWQUxfTUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV8zCTB4MjAKPiArI2RlZmluZSBWQUxf TUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV8yX1BSSU1FIDB4MTAKPiArI2RlZmluZSBWQUxf TUhMX1BMTF9DVEwwX0FVRF9DTEtfUkFUSU9fNV8xCTB4MDAKPiArCj4gKyNkZWZpbmUgTVNLX01I TF9QTExfQ1RMMF9IRE1JX0NMS19SQVRJTwkJMHgwYwo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NU TDBfSERNSV9DTEtfUkFUSU9fNFgJMHgwYwo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NUTDBfSERN SV9DTEtfUkFUSU9fMlgJMHgwOAo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NUTDBfSERNSV9DTEtf UkFUSU9fMVgJMHgwNAo+ICsjZGVmaW5lIFZBTF9NSExfUExMX0NUTDBfSERNSV9DTEtfUkFUSU9f SEFMRl9YCTB4MDAKPiArCj4gKyNkZWZpbmUgQklUX01ITF9QTExfQ1RMMF9DUllTVEFMX0NMS19T RUwJQklUKDEpCj4gKyNkZWZpbmUgQklUX01ITF9QTExfQ1RMMF9aT05FX01BU0tfT0UJCUJJVCgw KQo+ICsKPiArLyogTUhMIFBMTCAzcmQgQ3RsLCBkZWZhdWx0IHZhbHVlOiAweDgwICovCj4gKyNk ZWZpbmUgUkVHX01ITF9QTExfQ1RMMgkJCTB4MDMzOQo+ICsjZGVmaW5lIEJJVF9NSExfUExMX0NU TDJfQ0xLREVURUNUX0VOCQlCSVQoNykKPiArI2RlZmluZSBCSVRfTUhMX1BMTF9DVEwyX01FQVNf RlZDTwkJQklUKDMpCj4gKyNkZWZpbmUgQklUX01ITF9QTExfQ1RMMl9QTExfRkFTVF9MT0NLCQlC SVQoMikKPiArI2RlZmluZSBNU0tfTUhMX1BMTF9DVEwyX1BMTF9MRl9TRUwJCTB4MDMKPiArCj4g Ky8qIE1ITCBDQlVTIDFzdCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MTIgKi8KPiArI2RlZmluZSBS RUdfTUhMX0NCVVNfQ1RMMAkJCTB4MDM0MAo+ICsjZGVmaW5lIEJJVF9NSExfQ0JVU19DVEwwX0NC VVNfUkdORF9URVNUX01PREUJQklUKDcpCj4gKwo+ICsjZGVmaW5lIE1TS19NSExfQ0JVU19DVEww X0NCVVNfUkdORF9WVEhfQ1RMCTB4MzAKPiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVT X1JHTkRfVkJJQVNfNzM0CTB4MDAKPiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX1JH TkRfVkJJQVNfNzQ3CTB4MTAKPiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX1JHTkRf VkJJQVNfNzQwCTB4MjAKPiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX1JHTkRfVkJJ QVNfNzU0CTB4MzAKPiArCj4gKyNkZWZpbmUgTVNLX01ITF9DQlVTX0NUTDBfQ0JVU19SRVNfVEVT VF9TRUwJMHgwYwo+ICsKPiArI2RlZmluZSBNU0tfTUhMX0NCVVNfQ1RMMF9DQlVTX0RSVl9TRUwJ CTB4MDMKPiArI2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMF9DQlVTX0RSVl9TRUxfV0VBS0VTVAkw eDAwCj4gKyNkZWZpbmUgVkFMX01ITF9DQlVTX0NUTDBfQ0JVU19EUlZfU0VMX1dFQUsJMHgwMQo+ ICsjZGVmaW5lIFZBTF9NSExfQ0JVU19DVEwwX0NCVVNfRFJWX1NFTF9TVFJPTkcJMHgwMgo+ICsj ZGVmaW5lIFZBTF9NSExfQ0JVU19DVEwwX0NCVVNfRFJWX1NFTF9TVFJPTkdFU1QgMHgwMwo+ICsK PiArLyogTUhMIENCVVMgMm5kIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMyAqLwo+ICsjZGVmaW5l IFJFR19NSExfQ0JVU19DVEwxCQkJMHgwMzQxCj4gKyNkZWZpbmUgTVNLX01ITF9DQlVTX0NUTDFf Q0JVU19SR05EX1JFU19DVEwJMHgwNwo+ICsjZGVmaW5lIFZBTF9NSExfQ0JVU19DVEwxXzA4ODhf T0hNCQkweDAwCj4gKyNkZWZpbmUgVkFMX01ITF9DQlVTX0NUTDFfMTExNV9PSE0JCTB4MDQKPiAr I2RlZmluZSBWQUxfTUhMX0NCVVNfQ1RMMV8xMzc4X09ITQkJMHgwNwo+ICsKPiArLyogTUhMIENv QyAxc3QgQ3RsLCBkZWZhdWx0IHZhbHVlOiAweGMzICovCj4gKyNkZWZpbmUgUkVHX01ITF9DT0Nf Q1RMMAkJCTB4MDM0Mgo+ICsjZGVmaW5lIEJJVF9NSExfQ09DX0NUTDBfQ09DX0JJQVNfRU4JCUJJ VCg3KQo+ICsjZGVmaW5lIE1TS19NSExfQ09DX0NUTDBfQ09DX0JJQVNfQ1RMCQkweDcwCj4gKyNk ZWZpbmUgTVNLX01ITF9DT0NfQ1RMMF9DT0NfVEVSTV9DVEwJCTB4MDcKPiArCj4gKy8qIE1ITCBD b0MgMm5kIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHg4NyAqLwo+ICsjZGVmaW5lIFJFR19NSExfQ09D X0NUTDEJCQkweDAzNDMKPiArI2RlZmluZSBCSVRfTUhMX0NPQ19DVEwxX0NPQ19FTgkJCUJJVCg3 KQo+ICsjZGVmaW5lIE1TS19NSExfQ09DX0NUTDFfQ09DX0RSVl9DVEwJCTB4M2YKPiArCj4gKy8q IE1ITCBDb0MgNHRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19N SExfQ09DX0NUTDMJCQkweDAzNDUKPiArI2RlZmluZSBCSVRfTUhMX0NPQ19DVEwzX0NPQ19BRUNI T19FTgkJQklUKDApCj4gKwo+ICsvKiBNSEwgQ29DIDV0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4 MjggKi8KPiArI2RlZmluZSBSRUdfTUhMX0NPQ19DVEw0CQkJMHgwMzQ2Cj4gKyNkZWZpbmUgTVNL X01ITF9DT0NfQ1RMNF9DT0NfSUZfQ1RMCQkweGYwCj4gKyNkZWZpbmUgTVNLX01ITF9DT0NfQ1RM NF9DT0NfU0xFV19DVEwJCTB4MGYKPiArCj4gKy8qIE1ITCBDb0MgNnRoIEN0bCwgZGVmYXVsdCB2 YWx1ZTogMHgwZCAqLwo+ICsjZGVmaW5lIFJFR19NSExfQ09DX0NUTDUJCQkweDAzNDcKPiArCj4g Ky8qIE1ITCBEb0MgMXN0IEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgxOCAqLwo+ICsjZGVmaW5lIFJF R19NSExfRE9DX0NUTDAJCQkweDAzNDkKPiArI2RlZmluZSBCSVRfTUhMX0RPQ19DVEwwX0RPQ19S WERBVEFfRU4JCUJJVCg3KQo+ICsjZGVmaW5lIE1TS19NSExfRE9DX0NUTDBfRE9DX0RNX1RFUk0J CTB4MzgKPiArI2RlZmluZSBNU0tfTUhMX0RPQ19DVEwwX0RPQ19PUE1PREUJCTB4MDYKPiArI2Rl ZmluZSBCSVRfTUhMX0RPQ19DVEwwX0RPQ19SWEJJQVNfRU4JCUJJVCgwKQo+ICsKPiArLyogTUhM IERhdGFQYXRoIDd0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MmEgKi8KPiArI2RlZmluZSBSRUdf TUhMX0RQX0NUTDYJCQkJMHgwMzUwCj4gKyNkZWZpbmUgQklUX01ITF9EUF9DVEw2X0RQX1RBUDJf U0dOCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfTUhMX0RQX0NUTDZfRFBfVEFQMl9FTgkJQklUKDQp Cj4gKyNkZWZpbmUgQklUX01ITF9EUF9DVEw2X0RQX1RBUDFfU0dOCQlCSVQoMykKPiArI2RlZmlu ZSBCSVRfTUhMX0RQX0NUTDZfRFBfVEFQMV9FTgkJQklUKDIpCj4gKyNkZWZpbmUgQklUX01ITF9E UF9DVEw2X0RUX1BSRURSVl9GRUVEQ0FQX0VOCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9NSExfRFBf Q1RMNl9EUF9QUkVfUE9TVF9TRUwJCUJJVCgwKQo+ICsKPiArLyogTUhMIERhdGFQYXRoIDh0aCBD dGwsIGRlZmF1bHQgdmFsdWU6IDB4MDYgKi8KPiArI2RlZmluZSBSRUdfTUhMX0RQX0NUTDcJCQkJ MHgwMzUxCj4gKyNkZWZpbmUgTVNLX01ITF9EUF9DVEw3X0RUX0RSVl9WQklBU19DQVNDVEwJMHhm MAo+ICsjZGVmaW5lIE1TS19NSExfRFBfQ1RMN19EVF9EUlZfSVJFRl9DVEwJCTB4MGYKPiArCj4g Ky8qIFR4IFpvbmUgQ3RsMSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19U WF9aT05FX0NUTDEJCQkweDAzNjEKPiArI2RlZmluZSBWQUxfVFhfWk9ORV9DVEwxX1RYX1pPTkVf Q1RSTF9NT0RFCTB4MDgKPiArCj4gKy8qIE1ITDMgVHggWm9uZSBDdGwsIGRlZmF1bHQgdmFsdWU6 IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfTUhMM19UWF9aT05FX0NUTAkJCTB4MDM2NAo+ICsjZGVm aW5lIEJJVF9NSEwzX1RYX1pPTkVfQ1RMX01ITDJfSU5UUExUX1pPTkVfTUFOVV9FTiBCSVQoNykK PiArI2RlZmluZSBNU0tfTUhMM19UWF9aT05FX0NUTF9NSEwzX1RYX1pPTkUJMHgwMwo+ICsKPiAr I2RlZmluZSBNU0tfVFhfWk9ORV9DVEwzX1RYX1pPTkUJCTB4MDMKPiArI2RlZmluZSBWQUxfVFhf Wk9ORV9DVEwzX1RYX1pPTkVfNkdCUFMJCTB4MDAKPiArI2RlZmluZSBWQUxfVFhfWk9ORV9DVEwz X1RYX1pPTkVfM0dCUFMJCTB4MDEKPiArI2RlZmluZSBWQUxfVFhfWk9ORV9DVEwzX1RYX1pPTkVf MV81R0JQUwkweDAyCj4gKwo+ICsvKiBIRENQIFBvbGxpbmcgQ29udHJvbCBhbmQgU3RhdHVzLCBk ZWZhdWx0IHZhbHVlOiAweDcwICovCj4gKyNkZWZpbmUgUkVHX0hEQ1AyWF9QT0xMX0NTCQkJMHgw MzkxCj4gKwo+ICsjZGVmaW5lIEJJVF9IRENQMlhfUE9MTF9DU19IRENQMlhfTVNHX1NaX0NMUl9P UFRJT04gQklUKDYpCj4gKyNkZWZpbmUgQklUX0hEQ1AyWF9QT0xMX0NTX0hEQ1AyWF9SUFRfUkVB RFlfQ0xSX09QVElPTiBCSVQoNSkKPiArI2RlZmluZSBCSVRfSERDUDJYX1BPTExfQ1NfSERDUDJY X1JFQVVUSF9SRVFfQ0xSX09QVElPTiBCSVQoNCkKPiArI2RlZmluZSBNU0tfSERDUDJYX1BPTExf Q1NfCQkJMHgwYwo+ICsjZGVmaW5lIEJJVF9IRENQMlhfUE9MTF9DU19IRENQMlhfRElTX1BPTExf R05UCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9IRENQMlhfUE9MTF9DU19IRENQMlhfRElTX1BPTExf RU4JQklUKDApCj4gKwo+ICsvKiBIRENQIEludGVycnVwdCAwLCBkZWZhdWx0IHZhbHVlOiAweDAw ICovCj4gKyNkZWZpbmUgUkVHX0hEQ1AyWF9JTlRSMAkJCTB4MDM5OAo+ICsKPiArLyogSERDUCBJ bnRlcnJ1cHQgMCBNYXNrLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0hE Q1AyWF9JTlRSMF9NQVNLCQkJMHgwMzk5Cj4gKwo+ICsvKiBIRENQIEdlbmVyYWwgQ29udHJvbCAw LCBkZWZhdWx0IHZhbHVlOiAweDAyICovCj4gKyNkZWZpbmUgUkVHX0hEQ1AyWF9DVFJMXzAJCQkw eDAzYTAKPiArI2RlZmluZSBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfRU5DUllQVF9FTglCSVQo NykKPiArI2RlZmluZSBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfUE9MSU5UX1NFTAlCSVQoNikK PiArI2RlZmluZSBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfUE9MSU5UX09WUglCSVQoNSkKPiAr I2RlZmluZSBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfUFJFQ09NUFVURQlCSVQoNCkKPiArI2Rl ZmluZSBCSVRfSERDUDJYX0NUUkxfMF9IRENQMlhfSERNSU1PREUJQklUKDMpCj4gKyNkZWZpbmUg QklUX0hEQ1AyWF9DVFJMXzBfSERDUDJYX1JFUEVBVEVSCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9I RENQMlhfQ1RSTF8wX0hEQ1AyWF9IRENQVFgJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9IRENQMlhf Q1RSTF8wX0hEQ1AyWF9FTgkJQklUKDApCj4gKwo+ICsvKiBIRENQIEdlbmVyYWwgQ29udHJvbCAx LCBkZWZhdWx0IHZhbHVlOiAweDA4ICovCj4gKyNkZWZpbmUgUkVHX0hEQ1AyWF9DVFJMXzEJCQkw eDAzYTEKPiArI2RlZmluZSBNU0tfSERDUDJYX0NUUkxfMV9IRENQMlhfUkVBVVRIX01TS18zXzAJ MHhmMAo+ICsjZGVmaW5lIEJJVF9IRENQMlhfQ1RSTF8xX0hEQ1AyWF9IUERfU1cJCUJJVCgzKQo+ ICsjZGVmaW5lIEJJVF9IRENQMlhfQ1RSTF8xX0hEQ1AyWF9IUERfT1ZSCUJJVCgyKQo+ICsjZGVm aW5lIEJJVF9IRENQMlhfQ1RSTF8xX0hEQ1AyWF9DVEwzTVNLCUJJVCgxKQo+ICsjZGVmaW5lIEJJ VF9IRENQMlhfQ1RSTF8xX0hEQ1AyWF9SRUFVVEhfU1cJQklUKDApCj4gKwo+ICsvKiBIRENQIE1p c2MgQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19IRENQMlhf TUlTQ19DVFJMCQkJMHgwM2E1Cj4gKyNkZWZpbmUgQklUX0hEQ1AyWF9NSVNDX0NUUkxfSERDUDJY X1JQVF9TTU5HX1hGRVJfU1RBUlQgQklUKDQpCj4gKyNkZWZpbmUgQklUX0hEQ1AyWF9NSVNDX0NU UkxfSERDUDJYX1JQVF9TTU5HX1dSX1NUQVJUIEJJVCgzKQo+ICsjZGVmaW5lIEJJVF9IRENQMlhf TUlTQ19DVFJMX0hEQ1AyWF9SUFRfU01OR19XUglCSVQoMikKPiArI2RlZmluZSBCSVRfSERDUDJY X01JU0NfQ1RSTF9IRENQMlhfUlBUX1JDVklEX1JEX1NUQVJUIEJJVCgxKQo+ICsjZGVmaW5lIEJJ VF9IRENQMlhfTUlTQ19DVFJMX0hEQ1AyWF9SUFRfUkNWSURfUkQJQklUKDApCj4gKwo+ICsvKiBI RENQIFJQVCBTTU5HIEssIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSERD UDJYX1JQVF9TTU5HX0sJCQkweDAzYTYKPiArCj4gKy8qIEhEQ1AgUlBUIFNNTkcgSW4sIGRlZmF1 bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSERDUDJYX1JQVF9TTU5HX0lOCQkJMHgw M2E3Cj4gKwo+ICsvKiBIRENQIEF1dGggU3RhdHVzLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX0hEQ1AyWF9BVVRIX1NUQVQJCQkweDAzYWEKPiArCj4gKy8qIEhEQ1AgUlBU IFJDVklEIE91dCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19IRENQMlhf UlBUX1JDVklEX09VVAkJMHgwM2FjCj4gKwo+ICsvKiBIRENQIFRQMSwgZGVmYXVsdCB2YWx1ZTog MHg2MiAqLwo+ICsjZGVmaW5lIFJFR19IRENQMlhfVFAxCQkJCTB4MDNiNAo+ICsKPiArLyogSERD UCBHUCBPdXQgMCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19IRENQMlhf R1BfT1VUMAkJCTB4MDNjNwo+ICsKPiArLyogSERDUCBSZXBlYXRlciBSQ1ZSIElEIDAsIGRlZmF1 bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfSERDUDJYX1JQVF9SQ1ZSX0lEMAkJCTB4 MDNkMQo+ICsKPiArLyogSERDUCBERENNIFN0YXR1cywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ ICsjZGVmaW5lIFJFR19IRENQMlhfRERDTV9TVFMJCQkweDAzZDgKPiArI2RlZmluZSBNU0tfSERD UDJYX0REQ01fU1RTX0hEQ1AyWF9ERENNX0VSUl9TVFNfM18wIDB4ZjAKPiArI2RlZmluZSBNU0tf SERDUDJYX0REQ01fU1RTX0hEQ1AyWF9ERENNX0NUTF9DU18zXzAgMHgwZgo+ICsKPiArLyogSERN STJNSEwzIENvbnRyb2wsIGRlZmF1bHQgdmFsdWU6IDB4MGEgKi8KPiArI2RlZmluZSBSRUdfTTNf Q1RSTAkJCQkweDAzZTAKPiArI2RlZmluZSBCSVRfTTNfQ1RSTF9IMk1fU1dSU1QJCQlCSVQoNCkK PiArI2RlZmluZSBCSVRfTTNfQ1RSTF9TV19NSEwzX1NFTAkJCUJJVCgzKQo+ICsjZGVmaW5lIEJJ VF9NM19DVFJMX00zQVZfRU4JCQlCSVQoMikKPiArI2RlZmluZSBCSVRfTTNfQ1RSTF9FTkNfVE1E UwkJCUJJVCgxKQo+ICsjZGVmaW5lIEJJVF9NM19DVFJMX01ITDNfTUFTVEVSX0VOCQlCSVQoMCkK PiArCj4gKyNkZWZpbmUgVkFMX00zX0NUUkxfTUhMMV8yX1ZBTFVFIChCSVRfTTNfQ1RSTF9TV19N SEwzX1NFTCBcCj4gKwkJCQkgIHwgQklUX00zX0NUUkxfRU5DX1RNRFMpCj4gKyNkZWZpbmUgVkFM X00zX0NUUkxfTUhMM19WQUxVRSAoQklUX00zX0NUUkxfU1dfTUhMM19TRUwgXAo+ICsJCQkJfCBC SVRfTTNfQ1RSTF9NM0FWX0VOIFwKPiArCQkJCXwgQklUX00zX0NUUkxfRU5DX1RNRFMgXAo+ICsJ CQkJfCBCSVRfTTNfQ1RSTF9NSEwzX01BU1RFUl9FTikKPiArCj4gKy8qIEhETUkyTUhMMyBQb3J0 MCBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDA0ICovCj4gKyNkZWZpbmUgUkVHX00zX1AwQ1RS TAkJCQkweDAzZTEKPiArI2RlZmluZSBCSVRfTTNfUDBDVFJMX01ITDNfUDBfSERDUF9FTkNfRU4J QklUKDQpCj4gKyNkZWZpbmUgQklUX00zX1AwQ1RSTF9NSEwzX1AwX1VOTElNSVRfRU4JQklUKDMp Cj4gKyNkZWZpbmUgQklUX00zX1AwQ1RSTF9NSEwzX1AwX0hEQ1BfRU4JCUJJVCgyKQo+ICsjZGVm aW5lIEJJVF9NM19QMENUUkxfTUhMM19QMF9QSVhFTF9NT0RFX1BBQ0tFRAlCSVQoMSkKPiArI2Rl ZmluZSBCSVRfTTNfUDBDVFJMX01ITDNfUDBfUE9SVF9FTgkJQklUKDApCj4gKwo+ICsjZGVmaW5l IFJFR19NM19QT1NUTQkJCQkweDAzZTIKPiArI2RlZmluZSBNU0tfTTNfUE9TVE1fUlJQX0RFQ09E RQkJCTB4ZjgKPiArI2RlZmluZSBNU0tfTTNfUE9TVE1fTUhMM19QMF9TVE1fSUQJCTB4MDcKPiAr Cj4gKy8qIEhETUkyTUhMMyBTY3JhbWJsZSBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDQxICov Cj4gKyNkZWZpbmUgUkVHX00zX1NDVFJMCQkJCTB4MDNlNgo+ICsjZGVmaW5lIE1TS19NM19TQ1RS TF9NSEwzX1NSX0xFTkdUSAkJMHhmMAo+ICsjZGVmaW5lIEJJVF9NM19TQ1RSTF9NSEwzX1NDUkFN QkxFUl9FTgkJQklUKDApCj4gKwo+ICsvKiBIU0lDIERpdiBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4 MDUgKi8KPiArI2RlZmluZSBSRUdfRElWX0NUTF9NQUlOCQkJMHgwM2YyCj4gKyNkZWZpbmUgTVNL X0RJVl9DVExfTUFJTl9QUkVfRElWX0NUTF9NQUlOCTB4MWMKPiArI2RlZmluZSBNU0tfRElWX0NU TF9NQUlOX0ZCX0RJVl9DVExfTUFJTgkweDAzCj4gKwo+ICsvKiBNSEwgQ2FwYWJpbGl0eSAxc3Qg Qnl0ZSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NSExfREVWQ0FQXzAJ CQkweDA0MDAKPiArCj4gKy8qIE1ITCBJbnRlcnJ1cHQgMXN0IEJ5dGUsIGRlZmF1bHQgdmFsdWU6 IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfTUhMX0lOVF8wCQkJCTB4MDQyMAo+ICsKPiArLyogRGV2 aWNlIFN0YXR1cyAxc3QgYnl0ZSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19NSExfU1RBVF8wCQkJCTB4MDQzMAo+ICsKPiArLyogQ0JVUyBTY3JhdGNoIFBhZCAxc3QgQnl0 ZSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NSExfU0NSUEFEXzAJCQkw eDA0NDAKPiArCj4gKy8qIE1ITCBFeHRlbmRlZCBDYXBhYmlsaXR5IDFzdCBCeXRlLCBkZWZhdWx0 IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX01ITF9FWFRERVZDQVBfMAkJCTB4MDQ4MAo+ ICsKPiArLyogRGV2aWNlIEV4dGVuZGVkIFN0YXR1cyAxc3QgYnl0ZSwgZGVmYXVsdCB2YWx1ZTog MHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NSExfRVhUU1RBVF8wCQkJMHgwNDkwCj4gKwo+ICsvKiBU UEkgRFREIEJ5dGUyLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9E VERfQjIJCQkJMHgwNjAyCj4gKwo+ICsjZGVmaW5lIFZBTF9UUElfUVVBTl9SQU5HRV9MSU1JVEVE CQkweDAxCj4gKyNkZWZpbmUgVkFMX1RQSV9RVUFOX1JBTkdFX0ZVTEwJCQkweDAyCj4gKyNkZWZp bmUgVkFMX1RQSV9GT1JNQVRfUkdCCQkJMHgwMAo+ICsjZGVmaW5lIFZBTF9UUElfRk9STUFUX1lD QkNSNDQ0CQkJMHgwMQo+ICsjZGVmaW5lIFZBTF9UUElfRk9STUFUX1lDQkNSNDIyCQkJMHgwMgo+ ICsjZGVmaW5lIFZBTF9UUElfRk9STUFUX0lOVEVSTkFMX1JHQgkJMHgwMwo+ICsjZGVmaW5lIFZB TF9UUElfRk9STUFUKF9mbXQsIF9xcikgXAo+ICsJCShWQUxfVFBJX0ZPUk1BVF8jI19mbXQgfCAo VkFMX1RQSV9RVUFOX1JBTkdFXyMjX3FyIDw8IDIpKQo+ICsKPiArLyogSW5wdXQgRm9ybWF0LCBk ZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9JTlBVVAkJCQkweDA2MDkK PiArI2RlZmluZSBCSVRfVFBJX0lOUFVUX0VYVEVOREVEQklUTU9ERQkJQklUKDcpCj4gKyNkZWZp bmUgQklUX1RQSV9JTlBVVF9FTkRJVEhFUgkJCUJJVCg2KQo+ICsjZGVmaW5lIE1TS19UUElfSU5Q VVRfSU5QVVRfUVVBTl9SQU5HRQkJMHgwYwo+ICsjZGVmaW5lIE1TS19UUElfSU5QVVRfSU5QVVRf Rk9STUFUCQkweDAzCj4gKwo+ICsvKiBPdXRwdXQgRm9ybWF0LCBkZWZhdWx0IHZhbHVlOiAweDAw ICovCj4gKyNkZWZpbmUgUkVHX1RQSV9PVVRQVVQJCQkJMHgwNjBhCj4gKyNkZWZpbmUgQklUX1RQ SV9PVVRQVVRfQ1NDTU9ERTcwOQkJQklUKDQpCj4gKyNkZWZpbmUgTVNLX1RQSV9PVVRQVVRfT1VU UFVUX1FVQU5fUkFOR0UJMHgwYwo+ICsjZGVmaW5lIE1TS19UUElfT1VUUFVUX09VVFBVVF9GT1JN QVQJCTB4MDMKPiArCj4gKy8qIFRQSSBBVkkgQ2hlY2sgU3VtLCBkZWZhdWx0IHZhbHVlOiAweDAw ICovCj4gKyNkZWZpbmUgUkVHX1RQSV9BVklfQ0hTVU0JCQkweDA2MGMKPiArCj4gKy8qIFRQSSBT eXN0ZW0gQ29udHJvbCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UUElf U0MJCQkJMHgwNjFhCj4gKyNkZWZpbmUgQklUX1RQSV9TQ19UUElfVVBEQVRFX0ZMRwkJQklUKDcp Cj4gKyNkZWZpbmUgQklUX1RQSV9TQ19UUElfUkVBVVRIX0NUTAkJQklUKDYpCj4gKyNkZWZpbmUg QklUX1RQSV9TQ19UUElfT1VUUFVUX01PREVfMQkJQklUKDUpCj4gKyNkZWZpbmUgQklUX1RQSV9T Q19SRUdfVE1EU19PRV9QT1dFUl9ET1dOCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9UUElfU0NfVFBJ X0FWX01VVEUJCQlCSVQoMykKPiArI2RlZmluZSBCSVRfVFBJX1NDX0REQ19HUFVfUkVRVUVTVAkJ QklUKDIpCj4gKyNkZWZpbmUgQklUX1RQSV9TQ19ERENfVFBJX1NXCQkJQklUKDEpCj4gKyNkZWZp bmUgQklUX1RQSV9TQ19UUElfT1VUUFVUX01PREVfMF9IRE1JCUJJVCgwKQo+ICsKPiArLyogVFBJ IENPUFAgUXVlcnkgRGF0YSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19U UElfQ09QUF9EQVRBMQkJCTB4MDYyOQo+ICsjZGVmaW5lIEJJVF9UUElfQ09QUF9EQVRBMV9DT1BQ X0dQUk9UCQlCSVQoNykKPiArI2RlZmluZSBCSVRfVFBJX0NPUFBfREFUQTFfQ09QUF9MUFJPVAkJ QklUKDYpCj4gKyNkZWZpbmUgTVNLX1RQSV9DT1BQX0RBVEExX0NPUFBfTElOS19TVEFUVVMJMHgz MAo+ICsjZGVmaW5lIFZBTF9UUElfQ09QUF9MSU5LX1NUQVRVU19OT1JNQUwJCTB4MDAKPiArI2Rl ZmluZSBWQUxfVFBJX0NPUFBfTElOS19TVEFUVVNfTElOS19MT1NUCTB4MTAKPiArI2RlZmluZSBW QUxfVFBJX0NPUFBfTElOS19TVEFUVVNfUkVORUdPVElBVElPTl9SRVEgMHgyMAo+ICsjZGVmaW5l IFZBTF9UUElfQ09QUF9MSU5LX1NUQVRVU19MSU5LX1NVU1BFTkRFRAkweDMwCj4gKyNkZWZpbmUg QklUX1RQSV9DT1BQX0RBVEExX0NPUFBfSERDUF9SRVAJQklUKDMpCj4gKyNkZWZpbmUgQklUX1RQ SV9DT1BQX0RBVEExX0NPUFBfQ09OTlRZUEVfMAlCSVQoMikKPiArI2RlZmluZSBCSVRfVFBJX0NP UFBfREFUQTFfQ09QUF9QUk9UWVBFCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfVFBJX0NPUFBfREFU QTFfQ09QUF9DT05OVFlQRV8xCUJJVCgwKQo+ICsKPiArLyogVFBJIENPUFAgQ29udHJvbCBEYXRh LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9DT1BQX0RBVEEyCQkJ MHgwNjJhCj4gKyNkZWZpbmUgQklUX1RQSV9DT1BQX0RBVEEyX0lOVFJfRU5DUllQVElPTglCSVQo NSkKPiArI2RlZmluZSBCSVRfVFBJX0NPUFBfREFUQTJfS1NWX0ZPUldBUkQJCUJJVCg0KQo+ICsj ZGVmaW5lIEJJVF9UUElfQ09QUF9EQVRBMl9JTlRFUk1fUklfQ0hFQ0tfRU4JQklUKDMpCj4gKyNk ZWZpbmUgQklUX1RQSV9DT1BQX0RBVEEyX0RPVUJMRV9SSV9DSEVDSwlCSVQoMikKPiArI2RlZmlu ZSBCSVRfVFBJX0NPUFBfREFUQTJfRERDX1NIT1JUX1JJX1JECUJJVCgxKQo+ICsjZGVmaW5lIEJJ VF9UUElfQ09QUF9EQVRBMl9DT1BQX1BST1RMRVZFTAlCSVQoMCkKPiArCj4gKy8qIFRQSSBJbnRl cnJ1cHQgRW5hYmxlLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9J TlRSX0VOCQkJCTB4MDYzYwo+ICsKPiArLyogVFBJIEludGVycnVwdCBTdGF0dXMgTG93IEJ5dGUs IGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFBJX0lOVFJfU1QwCQkJMHgw NjNkCj4gKyNkZWZpbmUgQklUX1RQSV9JTlRSX1NUMF9UUElfQVVUSF9DSE5HRV9TVEFUCUJJVCg3 KQo+ICsjZGVmaW5lIEJJVF9UUElfSU5UUl9TVDBfVFBJX1ZfUkRZX1NUQVQJCUJJVCg2KQo+ICsj ZGVmaW5lIEJJVF9UUElfSU5UUl9TVDBfVFBJX0NPUFBfQ0hOR0VfU1RBVAlCSVQoNSkKPiArI2Rl ZmluZSBCSVRfVFBJX0lOVFJfU1QwX0tTVl9GSUZPX0ZJUlNUX1NUQVQJQklUKDMpCj4gKyNkZWZp bmUgQklUX1RQSV9JTlRSX1NUMF9SRUFEX0JLU1ZfQkNBUFNfRE9ORV9TVEFUIEJJVCgyKQo+ICsj ZGVmaW5lIEJJVF9UUElfSU5UUl9TVDBfUkVBRF9CS1NWX0JDQVBTX0VSUl9TVEFUIEJJVCgxKQo+ ICsjZGVmaW5lIEJJVF9UUElfSU5UUl9TVDBfUkVBRF9CS1NWX0VSUl9TVEFUCUJJVCgwKQo+ICsK PiArLyogVFBJIERTIEJDQVBTIFN0YXR1cywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVm aW5lIFJFR19UUElfRFNfQkNBUFMJCQkweDA2NDQKPiArCj4gKy8qIFRQSSBCU3RhdHVzMSwgZGVm YXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UUElfQlNUQVRVUzEJCQkweDA2NDUK PiArI2RlZmluZSBCSVRfVFBJX0JTVEFUVVMxX0RTX0RFVl9FWENFRUQJCUJJVCg3KQo+ICsjZGVm aW5lIE1TS19UUElfQlNUQVRVUzFfRFNfREVWX0NOVAkJMHg3Zgo+ICsKPiArLyogVFBJIEJTdGF0 dXMyLCBkZWZhdWx0IHZhbHVlOiAweDEwICovCj4gKyNkZWZpbmUgUkVHX1RQSV9CU1RBVFVTMgkJ CTB4MDY0Ngo+ICsjZGVmaW5lIE1TS19UUElfQlNUQVRVUzJfRFNfQlNUQVRVUwkJMHhlMAo+ICsj ZGVmaW5lIEJJVF9UUElfQlNUQVRVUzJfRFNfSERNSV9NT0RFCQlCSVQoNCkKPiArI2RlZmluZSBC SVRfVFBJX0JTVEFUVVMyX0RTX0NBU0NfRVhDRUVECQlCSVQoMykKPiArI2RlZmluZSBNU0tfVFBJ X0JTVEFUVVMyX0RTX0RFUFRICQkweDA3Cj4gKwo+ICsvKiBUUEkgSFcgT3B0aW1pemF0aW9uIENv bnRyb2wgIzMsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfVFBJX0hXX09Q VDMJCQkJMHgwNmJiCj4gKyNkZWZpbmUgQklUX1RQSV9IV19PUFQzX0REQ19ERUJVRwkJQklUKDcp Cj4gKyNkZWZpbmUgQklUX1RQSV9IV19PUFQzX1JJX0NIRUNLX1NLSVAJCUJJVCgzKQo+ICsjZGVm aW5lIEJJVF9UUElfSFdfT1BUM19UUElfRERDX0JVUlNUX01PREUJQklUKDIpCj4gKyNkZWZpbmUg TVNLX1RQSV9IV19PUFQzX1RQSV9ERENfUkVRX0xFVkVMCTB4MDMKPiArCj4gKy8qIFRQSSBJbmZv IEZyYW1lIFNlbGVjdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19UUElf SU5GT19GU0VMCQkJMHgwNmJmCj4gKyNkZWZpbmUgQklUX1RQSV9JTkZPX0ZTRUxfVFBJX0lORk9f RU4JCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9UUElfSU5GT19GU0VMX1RQSV9JTkZPX1JQVAkJQklU KDYpCj4gKyNkZWZpbmUgQklUX1RQSV9JTkZPX0ZTRUxfVFBJX0lORk9fUkVBRF9GTEFHCUJJVCg1 KQo+ICsjZGVmaW5lIE1TS19UUElfSU5GT19GU0VMX1RQSV9JTkZPX1NFTAkJMHgwNwo+ICsKPiAr LyogVFBJIEluZm8gQnl0ZSAjMCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19UUElfSU5GT19CMAkJCQkweDA2YzAKPiArCj4gKy8qIENvQyBTdGF0dXMsIGRlZmF1bHQgdmFs dWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQ09DX1NUQVRfMAkJCQkweDA3MDAKPiArI2RlZmlu ZSBSRUdfQ09DX1NUQVRfMQkJCQkweDA3MDEKPiArI2RlZmluZSBSRUdfQ09DX1NUQVRfMgkJCQkw eDA3MDIKPiArI2RlZmluZSBSRUdfQ09DX1NUQVRfMwkJCQkweDA3MDMKPiArI2RlZmluZSBSRUdf Q09DX1NUQVRfNAkJCQkweDA3MDQKPiArI2RlZmluZSBSRUdfQ09DX1NUQVRfNQkJCQkweDA3MDUK PiArCj4gKy8qIENvQyAxc3QgQ3RsLCBkZWZhdWx0IHZhbHVlOiAweDQwICovCj4gKyNkZWZpbmUg UkVHX0NPQ19DVEwwCQkJCTB4MDcxMAo+ICsKPiArLyogQ29DIDJuZCBDdGwsIGRlZmF1bHQgdmFs dWU6IDB4MGEgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTDEJCQkJMHgwNzExCj4gKyNkZWZpbmUg TVNLX0NPQ19DVEwxX0NPQ19DVFJMMV83XzYJCTB4YzAKPiArI2RlZmluZSBNU0tfQ09DX0NUTDFf Q09DX0NUUkwxXzVfMAkJMHgzZgo+ICsKPiArLyogQ29DIDNyZCBDdGwsIGRlZmF1bHQgdmFsdWU6 IDB4MTQgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTDIJCQkJMHgwNzEyCj4gKyNkZWZpbmUgTVNL X0NPQ19DVEwyX0NPQ19DVFJMMl83XzYJCTB4YzAKPiArI2RlZmluZSBNU0tfQ09DX0NUTDJfQ09D X0NUUkwyXzVfMAkJMHgzZgo+ICsKPiArLyogQ29DIDR0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4 NDAgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTDMJCQkJMHgwNzEzCj4gKyNkZWZpbmUgQklUX0NP Q19DVEwzX0NPQ19DVFJMM183CQlCSVQoNykKPiArI2RlZmluZSBNU0tfQ09DX0NUTDNfQ09DX0NU UkwzXzZfMAkJMHg3Zgo+ICsKPiArLyogQ29DIDd0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAg Ki8KPiArI2RlZmluZSBSRUdfQ09DX0NUTDYJCQkJMHgwNzE2Cj4gKyNkZWZpbmUgQklUX0NPQ19D VEw2X0NPQ19DVFJMNl83CQlCSVQoNykKPiArI2RlZmluZSBCSVRfQ09DX0NUTDZfQ09DX0NUUkw2 XzYJCUJJVCg2KQo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMNl9DT0NfQ1RSTDZfNV8wCQkweDNmCj4g Kwo+ICsvKiBDb0MgOHRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwNiAqLwo+ICsjZGVmaW5lIFJF R19DT0NfQ1RMNwkJCQkweDA3MTcKPiArI2RlZmluZSBCSVRfQ09DX0NUTDdfQ09DX0NUUkw3XzcJ CUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9DT0NfQ1RMN19DT0NfQ1RSTDdfNgkJQklUKDYpCj4gKyNk ZWZpbmUgQklUX0NPQ19DVEw3X0NPQ19DVFJMN181CQlCSVQoNSkKPiArI2RlZmluZSBNU0tfQ09D X0NUTDdfQ09DX0NUUkw3XzRfMwkJMHgxOAo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMN19DT0NfQ1RS TDdfMl8wCQkweDA3Cj4gKwo+ICsvKiBDb0MgMTB0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAg Ki8KPiArI2RlZmluZSBSRUdfQ09DX0NUTDkJCQkJMHgwNzE5Cj4gKwo+ICsvKiBDb0MgMTF0aCBD dGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTEEJCQkJMHgw NzFhCj4gKwo+ICsvKiBDb0MgMTJ0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2Rl ZmluZSBSRUdfQ09DX0NUTEIJCQkJMHgwNzFiCj4gKwo+ICsvKiBDb0MgMTN0aCBDdGwsIGRlZmF1 bHQgdmFsdWU6IDB4MGYgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NUTEMJCQkJMHgwNzFjCj4gKwo+ ICsvKiBDb0MgMTR0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MGEgKi8KPiArI2RlZmluZSBSRUdf Q09DX0NUTEQJCQkJMHgwNzFkCj4gKyNkZWZpbmUgQklUX0NPQ19DVExEX0NPQ19DVFJMRF83CQlC SVQoNykKPiArI2RlZmluZSBNU0tfQ09DX0NUTERfQ09DX0NUUkxEXzZfMAkJMHg3Zgo+ICsKPiAr LyogQ29DIDE1dGggQ3RsLCBkZWZhdWx0IHZhbHVlOiAweDBhICovCj4gKyNkZWZpbmUgUkVHX0NP Q19DVExFCQkJCTB4MDcxZQo+ICsjZGVmaW5lIEJJVF9DT0NfQ1RMRV9DT0NfQ1RSTEVfNwkJQklU KDcpCj4gKyNkZWZpbmUgTVNLX0NPQ19DVExFX0NPQ19DVFJMRV82XzAJCTB4N2YKPiArCj4gKy8q IENvQyAxNnRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0Nf Q1RMRgkJCQkweDA3MWYKPiArI2RlZmluZSBNU0tfQ09DX0NUTEZfQ09DX0NUUkxGXzdfMwkJMHhm OAo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMRl9DT0NfQ1RSTEZfMl8wCQkweDA3Cj4gKwo+ICsvKiBD b0MgMTh0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MzIgKi8KPiArI2RlZmluZSBSRUdfQ09DX0NU TDExCQkJCTB4MDcyMQo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMMTFfQ09DX0NUUkwxMV83XzQJCTB4 ZjAKPiArI2RlZmluZSBNU0tfQ09DX0NUTDExX0NPQ19DVFJMMTFfM18wCQkweDBmCj4gKwo+ICsv KiBDb0MgMjFzdCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQ09D X0NUTDE0CQkJCTB4MDcyNAo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMMTRfQ09DX0NUUkwxNF83XzQJ CTB4ZjAKPiArI2RlZmluZSBNU0tfQ09DX0NUTDE0X0NPQ19DVFJMMTRfM18wCQkweDBmCj4gKwo+ ICsvKiBDb0MgMjJuZCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf Q09DX0NUTDE1CQkJCTB4MDcyNQo+ICsjZGVmaW5lIEJJVF9DT0NfQ1RMMTVfQ09DX0NUUkwxNV83 CQlCSVQoNykKPiArI2RlZmluZSBNU0tfQ09DX0NUTDE1X0NPQ19DVFJMMTVfNl80CQkweDcwCj4g KyNkZWZpbmUgTVNLX0NPQ19DVEwxNV9DT0NfQ1RSTDE1XzNfMAkJMHgwZgo+ICsKPiArLyogQ29D IEludGVycnVwdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfSU5U UgkJCQkweDA3MjYKPiArCj4gKy8qIENvQyBJbnRlcnJ1cHQgTWFzaywgZGVmYXVsdCB2YWx1ZTog MHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfSU5UUl9NQVNLCQkJMHgwNzI3Cj4gKyNkZWZpbmUg QklUX0NPQ19QTExfTE9DS19TVEFUVVNfQ0hBTkdFCQlCSVQoMCkKPiArI2RlZmluZSBCSVRfQ09D X0NBTElCUkFUSU9OX0RPTkUJCUJJVCgxKQo+ICsKPiArLyogQ29DIE1pc2MgQ3RsLCBkZWZhdWx0 IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0NPQ19NSVNDX0NUTDAJCQkweDA3MjgKPiAr I2RlZmluZSBCSVRfQ09DX01JU0NfQ1RMMF9GU01fTU9OCQlCSVQoNykKPiArCj4gKy8qIENvQyAy NHRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfQ1RMMTcJ CQkJMHgwNzJhCj4gKyNkZWZpbmUgTVNLX0NPQ19DVEwxN19DT0NfQ1RSTDE3XzdfNAkJMHhmMAo+ ICsjZGVmaW5lIE1TS19DT0NfQ1RMMTdfQ09DX0NUUkwxN18zXzAJCTB4MGYKPiArCj4gKy8qIENv QyAyNXRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0NfQ1RM MTgJCQkJMHgwNzJiCj4gKyNkZWZpbmUgTVNLX0NPQ19DVEwxOF9DT0NfQ1RSTDE4XzdfNAkJMHhm MAo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMMThfQ09DX0NUUkwxOF8zXzAJCTB4MGYKPiArCj4gKy8q IENvQyAyNnRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DT0Nf Q1RMMTkJCQkJMHgwNzJjCj4gKyNkZWZpbmUgTVNLX0NPQ19DVEwxOV9DT0NfQ1RSTDE5XzdfNAkJ MHhmMAo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMMTlfQ09DX0NUUkwxOV8zXzAJCTB4MGYKPiArCj4g Ky8qIENvQyAyN3RoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19D T0NfQ1RMMUEJCQkJMHgwNzJkCj4gKyNkZWZpbmUgTVNLX0NPQ19DVEwxQV9DT0NfQ1RSTDFBXzdf MgkJMHhmYwo+ICsjZGVmaW5lIE1TS19DT0NfQ1RMMUFfQ09DX0NUUkwxQV8xXzAJCTB4MDMKPiAr Cj4gKy8qIERvQyA5dGggU3RhdHVzLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUg UkVHX0RPQ19TVEFUXzgJCQkJMHgwNzQwCj4gKwo+ICsvKiBEb0MgMTB0aCBTdGF0dXMsIGRlZmF1 bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRE9DX1NUQVRfOQkJCQkweDA3NDEKPiAr Cj4gKy8qIERvQyA1dGggQ0ZHLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVH X0RPQ19DRkc0CQkJCTB4MDc0ZQo+ICsjZGVmaW5lIE1TS19ET0NfQ0ZHNF9EQkdfU1RBVEVfRE9D X0ZTTQkJMHgwZgo+ICsKPiArLyogRG9DIDFzdCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4NDAgKi8K PiArI2RlZmluZSBSRUdfRE9DX0NUTDAJCQkJMHgwNzUxCj4gKwo+ICsvKiBEb0MgN3RoIEN0bCwg ZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ET0NfQ1RMNgkJCQkweDA3NTcK PiArI2RlZmluZSBCSVRfRE9DX0NUTDZfRE9DX0NUUkw2XzcJCUJJVCg3KQo+ICsjZGVmaW5lIEJJ VF9ET0NfQ1RMNl9ET0NfQ1RSTDZfNgkJQklUKDYpCj4gKyNkZWZpbmUgTVNLX0RPQ19DVEw2X0RP Q19DVFJMNl81XzQJCTB4MzAKPiArI2RlZmluZSBNU0tfRE9DX0NUTDZfRE9DX0NUUkw2XzNfMAkJ MHgwZgo+ICsKPiArLyogRG9DIDh0aCBDdGwsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2Rl ZmluZSBSRUdfRE9DX0NUTDcJCQkJMHgwNzU4Cj4gKyNkZWZpbmUgQklUX0RPQ19DVEw3X0RPQ19D VFJMN183CQlCSVQoNykKPiArI2RlZmluZSBCSVRfRE9DX0NUTDdfRE9DX0NUUkw3XzYJCUJJVCg2 KQo+ICsjZGVmaW5lIEJJVF9ET0NfQ1RMN19ET0NfQ1RSTDdfNQkJQklUKDUpCj4gKyNkZWZpbmUg TVNLX0RPQ19DVEw3X0RPQ19DVFJMN180XzMJCTB4MTgKPiArI2RlZmluZSBNU0tfRE9DX0NUTDdf RE9DX0NUUkw3XzJfMAkJMHgwNwo+ICsKPiArLyogRG9DIDl0aCBDdGwsIGRlZmF1bHQgdmFsdWU6 IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfRE9DX0NUTDgJCQkJMHgwNzZjCj4gKyNkZWZpbmUgQklU X0RPQ19DVEw4X0RPQ19DVFJMOF83CQlCSVQoNykKPiArI2RlZmluZSBNU0tfRE9DX0NUTDhfRE9D X0NUUkw4XzZfNAkJMHg3MAo+ICsjZGVmaW5lIE1TS19ET0NfQ1RMOF9ET0NfQ1RSTDhfM18yCQkw eDBjCj4gKyNkZWZpbmUgTVNLX0RPQ19DVEw4X0RPQ19DVFJMOF8xXzAJCTB4MDMKPiArCj4gKy8q IERvQyAxMHRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ET0Nf Q1RMOQkJCQkweDA3NmQKPiArCj4gKy8qIERvQyAxMXRoIEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgw MCAqLwo+ICsjZGVmaW5lIFJFR19ET0NfQ1RMQQkJCQkweDA3NmUKPiArCj4gKy8qIERvQyAxNXRo IEN0bCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ET0NfQ1RMRQkJCQkw eDA3NzIKPiArI2RlZmluZSBCSVRfRE9DX0NUTEVfRE9DX0NUUkxFXzcJCUJJVCg3KQo+ICsjZGVm aW5lIEJJVF9ET0NfQ1RMRV9ET0NfQ1RSTEVfNgkJQklUKDYpCj4gKyNkZWZpbmUgTVNLX0RPQ19D VExFX0RPQ19DVFJMRV81XzQJCTB4MzAKPiArI2RlZmluZSBNU0tfRE9DX0NUTEVfRE9DX0NUUkxF XzNfMAkJMHgwZgo+ICsKPiArLyogSW50ZXJydXB0IE1hc2sgMXN0LCBkZWZhdWx0IHZhbHVlOiAw eDAwICovCj4gKyNkZWZpbmUgUkVHX01ITF9JTlRfMF9NQVNLCQkJMHgwNTgwCj4gKwo+ICsvKiBJ bnRlcnJ1cHQgTWFzayAybmQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf TUhMX0lOVF8xX01BU0sJCQkweDA1ODEKPiArCj4gKy8qIEludGVycnVwdCBNYXNrIDNyZCwgZGVm YXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NSExfSU5UXzJfTUFTSwkJCTB4MDU4 Mgo+ICsKPiArLyogSW50ZXJydXB0IE1hc2sgNHRoLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX01ITF9JTlRfM19NQVNLCQkJMHgwNTgzCj4gKwo+ICsvKiBNRFQgUmVjZWl2 ZSBUaW1lIE91dCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfUkNW X1RJTUVPVVQJCQkweDA1ODQKPiArCj4gKy8qIE1EVCBUcmFuc21pdCBUaW1lIE91dCwgZGVmYXVs dCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfWE1JVF9USU1FT1VUCQkJMHgwNTg1 Cj4gKwo+ICsvKiBNRFQgUmVjZWl2ZSBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4g KyNkZWZpbmUgUkVHX01EVF9SQ1ZfQ1RSTAkJCTB4MDU4Ngo+ICsjZGVmaW5lIEJJVF9NRFRfUkNW X0NUUkxfTURUX1JDVl9FTgkJQklUKDcpCj4gKyNkZWZpbmUgQklUX01EVF9SQ1ZfQ1RSTF9NRFRf REVMQVlfUkNWX0VOCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9NRFRfUkNWX0NUUkxfTURUX1JGSUZP X09WRVJfV1JfRU4JQklUKDQpCj4gKyNkZWZpbmUgQklUX01EVF9SQ1ZfQ1RSTF9NRFRfWEZJRk9f T1ZFUl9XUl9FTglCSVQoMykKPiArI2RlZmluZSBCSVRfTURUX1JDVl9DVFJMX01EVF9ESVNBQkxF CQlCSVQoMikKPiArI2RlZmluZSBCSVRfTURUX1JDVl9DVFJMX01EVF9SRklGT19DTFJfQUxMCUJJ VCgxKQo+ICsjZGVmaW5lIEJJVF9NRFRfUkNWX0NUUkxfTURUX1JGSUZPX0NMUl9DVVIJQklUKDAp Cj4gKwo+ICsvKiBNRFQgUmVjZWl2ZSBSZWFkIFBvcnQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8K PiArI2RlZmluZSBSRUdfTURUX1JDVl9SRUFEX1BPUlQJCQkweDA1ODcKPiArCj4gKy8qIE1EVCBU cmFuc21pdCBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDcwICovCj4gKyNkZWZpbmUgUkVHX01E VF9YTUlUX0NUUkwJCQkweDA1ODgKPiArI2RlZmluZSBCSVRfTURUX1hNSVRfQ1RSTF9NRFRfWE1J VF9FTgkJQklUKDcpCj4gKyNkZWZpbmUgQklUX01EVF9YTUlUX0NUUkxfTURUX1hNSVRfQ01EX01F UkdFX0VOCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9NRFRfWE1JVF9DVFJMX01EVF9YTUlUX0ZJWEVE X0JVUlNUX0xFTiBCSVQoNSkKPiArI2RlZmluZSBCSVRfTURUX1hNSVRfQ1RSTF9NRFRfWE1JVF9G SVhFRF9BSUQJQklUKDQpCj4gKyNkZWZpbmUgQklUX01EVF9YTUlUX0NUUkxfTURUX1hNSVRfU0lO R0xFX1JVTl9FTiBCSVQoMykKPiArI2RlZmluZSBCSVRfTURUX1hNSVRfQ1RSTF9NRFRfQ0xSX0FC T1JUX1dBSVQJQklUKDIpCj4gKyNkZWZpbmUgQklUX01EVF9YTUlUX0NUUkxfTURUX1hGSUZPX0NM Ul9BTEwJQklUKDEpCj4gKyNkZWZpbmUgQklUX01EVF9YTUlUX0NUUkxfTURUX1hGSUZPX0NMUl9D VVIJQklUKDApCj4gKwo+ICsvKiBNRFQgUmVjZWl2ZSBXUklURSBQb3J0LCBkZWZhdWx0IHZhbHVl OiAweDAwICovCj4gKyNkZWZpbmUgUkVHX01EVF9YTUlUX1dSSVRFX1BPUlQJCQkweDA1ODkKPiAr Cj4gKy8qIE1EVCBSRklGTyBTdGF0dXMsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmlu ZSBSRUdfTURUX1JGSUZPX1NUQVQJCQkweDA1OGEKPiArI2RlZmluZSBNU0tfTURUX1JGSUZPX1NU QVRfTURUX1JGSUZPX0NOVAkweGUwCj4gKyNkZWZpbmUgTVNLX01EVF9SRklGT19TVEFUX01EVF9S RklGT19DVVJfQllURV9DTlQgMHgxZgo+ICsKPiArLyogTURUIFhGSUZPIFN0YXR1cywgZGVmYXVs dCB2YWx1ZTogMHg4MCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfWEZJRk9fU1RBVAkJCTB4MDU4Ygo+ ICsjZGVmaW5lIE1TS19NRFRfWEZJRk9fU1RBVF9NRFRfWEZJRk9fTEVWRUxfQVZBSUwgMHhlMAo+ ICsjZGVmaW5lIEJJVF9NRFRfWEZJRk9fU1RBVF9NRFRfWE1JVF9QUkVfSFNfRU4JQklUKDQpCj4g KyNkZWZpbmUgTVNLX01EVF9YRklGT19TVEFUX01EVF9XUklURV9CVVJTVF9MRU4JMHgwZgo+ICsK PiArLyogTURUIEludGVycnVwdCAwLCBkZWZhdWx0IHZhbHVlOiAweDBjICovCj4gKyNkZWZpbmUg UkVHX01EVF9JTlRfMAkJCQkweDA1OGMKPiArI2RlZmluZSBCSVRfTURUX1JGSUZPX0RBVEFfUkRZ CQkJQklUKDApCj4gKyNkZWZpbmUgQklUX01EVF9JRExFX0FGVEVSX0hBV0JfRElTQUJMRQkJQklU KDIpCj4gKyNkZWZpbmUgQklUX01EVF9YRklGT19FTVBUWQkJCUJJVCgzKQo+ICsKPiArLyogTURU IEludGVycnVwdCAwIE1hc2ssIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf TURUX0lOVF8wX01BU0sJCQkweDA1OGQKPiArCj4gKy8qIE1EVCBJbnRlcnJ1cHQgMSwgZGVmYXVs dCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfSU5UXzEJCQkJMHgwNThlCj4gKyNk ZWZpbmUgQklUX01EVF9SQ1ZfVElNRU9VVAkJCUJJVCgwKQo+ICsjZGVmaW5lIEJJVF9NRFRfUkNW X1NNX0FCT1JUX1BLVF9SQ1ZECQlCSVQoMSkKPiArI2RlZmluZSBCSVRfTURUX1JDVl9TTV9FUlJP UgkJCUJJVCgyKQo+ICsjZGVmaW5lIEJJVF9NRFRfWE1JVF9USU1FT1VUCQkJQklUKDUpCj4gKyNk ZWZpbmUgQklUX01EVF9YTUlUX1NNX0FCT1JUX1BLVF9SQ1ZECQlCSVQoNikKPiArI2RlZmluZSBC SVRfTURUX1hNSVRfU01fRVJST1IJCQlCSVQoNykKPiArCj4gKy8qIE1EVCBJbnRlcnJ1cHQgMSBN YXNrLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX01EVF9JTlRfMV9NQVNL CQkJMHgwNThmCj4gKwo+ICsvKiBDQlVTIFZlbmRvciBJRCwgZGVmYXVsdCB2YWx1ZTogMHgwMSAq Lwo+ICsjZGVmaW5lIFJFR19DQlVTX1ZFTkRPUl9JRAkJCTB4MDU5MAo+ICsKPiArLyogQ0JVUyBD b25uZWN0aW9uIFN0YXR1cywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19D QlVTX1NUQVRVUwkJCQkweDA1OTEKPiArI2RlZmluZSBCSVRfQ0JVU19TVEFUVVNfTUhMX0NBQkxF X1BSRVNFTlQJQklUKDQpCj4gKyNkZWZpbmUgQklUX0NCVVNfU1RBVFVTX01TQ19IQl9TVUNDRVNT CQlCSVQoMykKPiArI2RlZmluZSBCSVRfQ0JVU19TVEFUVVNfQ0JVU19IUEQJCUJJVCgyKQo+ICsj ZGVmaW5lIEJJVF9DQlVTX1NUQVRVU19NSExfTU9ERQkJQklUKDEpCj4gKyNkZWZpbmUgQklUX0NC VVNfU1RBVFVTX0NCVVNfQ09OTkVDVEVECQlCSVQoMCkKPiArCj4gKy8qIENCVVMgSW50ZXJydXB0 IDFzdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DQlVTX0lOVF8wCQkJ CTB4MDU5Mgo+ICsjZGVmaW5lIEJJVF9DQlVTX01TQ19NVF9ET05FX05BQ0sJCUJJVCg3KQo+ICsj ZGVmaW5lIEJJVF9DQlVTX01TQ19NUl9TRVRfSU5UCQkJQklUKDYpCj4gKyNkZWZpbmUgQklUX0NC VVNfTVNDX01SX1dSSVRFX0JVUlNUCQlCSVQoNSkKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfTVJf TVNDX01TRwkJCUJJVCg0KQo+ICsjZGVmaW5lIEJJVF9DQlVTX01TQ19NUl9XUklURV9TVEFUCQlC SVQoMykKPiArI2RlZmluZSBCSVRfQ0JVU19IUERfQ0hHCQkJQklUKDIpCj4gKyNkZWZpbmUgQklU X0NCVVNfTVNDX01UX0RPTkUJCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfQ0JVU19DTlhfQ0hHCQkJ QklUKDApCj4gKwo+ICsvKiBDQlVTIEludGVycnVwdCBNYXNrIDFzdCwgZGVmYXVsdCB2YWx1ZTog MHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DQlVTX0lOVF8wX01BU0sJCQkweDA1OTMKPiArCj4gKy8q IENCVVMgSW50ZXJydXB0IDJuZCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19DQlVTX0lOVF8xCQkJCTB4MDU5NAo+ICsjZGVmaW5lIEJJVF9DQlVTX0NNRF9BQk9SVAkJCUJJ VCg2KQo+ICsjZGVmaW5lIEJJVF9DQlVTX01TQ19BQk9SVF9SQ1ZECQkJQklUKDMpCj4gKyNkZWZp bmUgQklUX0NCVVNfRERDX0FCT1JUCQkJQklUKDIpCj4gKyNkZWZpbmUgQklUX0NCVVNfQ0VDX0FC T1JUCQkJQklUKDEpCj4gKwo+ICsvKiBDQlVTIEludGVycnVwdCBNYXNrIDJuZCwgZGVmYXVsdCB2 YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DQlVTX0lOVF8xX01BU0sJCQkweDA1OTUKPiAr Cj4gKy8qIENCVVMgRERDIEFib3J0IEludGVycnVwdCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ ICsjZGVmaW5lIFJFR19ERENfQUJPUlRfSU5UCQkJMHgwNTk4Cj4gKwo+ICsvKiBDQlVTIEREQyBB Ym9ydCBJbnRlcnJ1cHQgTWFzaywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19ERENfQUJPUlRfSU5UX01BU0sJCQkweDA1OTkKPiArCj4gKy8qIENCVVMgTVNDIFJlcXVlc3Rl ciBBYm9ydCBJbnRlcnJ1cHQsIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdf TVNDX01UX0FCT1JUX0lOVAkJCTB4MDU5YQo+ICsKPiArLyogQ0JVUyBNU0MgUmVxdWVzdGVyIEFi b3J0IEludGVycnVwdCBNYXNrLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVH X01TQ19NVF9BQk9SVF9JTlRfTUFTSwkJMHgwNTliCj4gKwo+ICsvKiBDQlVTIE1TQyBSZXNwb25k ZXIgQWJvcnQgSW50ZXJydXB0LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVH X01TQ19NUl9BQk9SVF9JTlQJCQkweDA1OWMKPiArCj4gKy8qIENCVVMgTVNDIFJlc3BvbmRlciBB Ym9ydCBJbnRlcnJ1cHQgTWFzaywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJF R19NU0NfTVJfQUJPUlRfSU5UX01BU0sJCTB4MDU5ZAo+ICsKPiArLyogQ0JVUyBSWCBESVNDT1ZF UlkgaW50ZXJydXB0LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0NCVVNf UlhfRElTQ19JTlQwCQkJMHgwNTllCj4gKwo+ICsvKiBDQlVTIFJYIERJU0NPVkVSWSBJbnRlcnJ1 cHQgTWFzaywgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19DQlVTX1JYX0RJ U0NfSU5UMF9NQVNLCQkweDA1OWYKPiArCj4gKy8qIENCVVNfTGlua19MYXllciBDb250cm9sICM4 LCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX0NCVVNfTElOS19DVFJMXzgJ CQkweDA1YTcKPiArCj4gKy8qIE1EVCBTdGF0ZSBNYWNoaW5lIFN0YXR1cywgZGVmYXVsdCB2YWx1 ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NRFRfU01fU1RBVAkJCQkweDA1YjUKPiArI2RlZmlu ZSBNU0tfTURUX1NNX1NUQVRfTURUX1JDVl9TVEFURQkJMHhmMAo+ICsjZGVmaW5lIE1TS19NRFRf U01fU1RBVF9NRFRfWE1JVF9TVEFURQkJMHgwZgo+ICsKPiArLyogQ0JVUyBNU0MgY29tbWFuZCB0 cmlnZ2VyLCBkZWZhdWx0IHZhbHVlOiAweDAwICovCj4gKyNkZWZpbmUgUkVHX01TQ19DT01NQU5E X1NUQVJUCQkJMHgwNWI4Cj4gKyNkZWZpbmUgQklUX01TQ19DT01NQU5EX1NUQVJUX0RFQlVHCQlC SVQoNSkKPiArI2RlZmluZSBCSVRfTVNDX0NPTU1BTkRfU1RBUlRfV1JJVEVfQlVSU1QJQklUKDQp Cj4gKyNkZWZpbmUgQklUX01TQ19DT01NQU5EX1NUQVJUX1dSSVRFX1NUQVQJQklUKDMpCj4gKyNk ZWZpbmUgQklUX01TQ19DT01NQU5EX1NUQVJUX1JFQURfREVWQ0FQCUJJVCgyKQo+ICsjZGVmaW5l IEJJVF9NU0NfQ09NTUFORF9TVEFSVF9NU0NfTVNHCQlCSVQoMSkKPiArI2RlZmluZSBCSVRfTVND X0NPTU1BTkRfU1RBUlRfUEVFUgkJQklUKDApCj4gKwo+ICsvKiBDQlVTIE1TQyBDb21tYW5kL09m ZnNldCwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19NU0NfQ01EX09SX09G RlNFVAkJCTB4MDViOQo+ICsKPiArLyogQ0JVUyBNU0MgVHJhbnNtaXQgRGF0YSAqLwo+ICsjZGVm aW5lIFJFR19NU0NfMVNUX1RSQU5TTUlUX0RBVEEJCTB4MDViYQo+ICsjZGVmaW5lIFJFR19NU0Nf Mk5EX1RSQU5TTUlUX0RBVEEJCTB4MDViYgo+ICsKPiArLyogQ0JVUyBNU0MgUmVxdWVzdGVyIFJl Y2VpdmVkIERhdGEgKi8KPiArI2RlZmluZSBSRUdfTVNDX01UX1JDVkRfREFUQTAJCQkweDA1YmMK PiArI2RlZmluZSBSRUdfTVNDX01UX1JDVkRfREFUQTEJCQkweDA1YmQKPiArCj4gKy8qIENCVVMg TVNDIFJlc3BvbmRlciBNU0NfTVNHIFJlY2VpdmVkIERhdGEgKi8KPiArI2RlZmluZSBSRUdfTVND X01SX01TQ19NU0dfUkNWRF8xU1RfREFUQQkweDA1YmYKPiArI2RlZmluZSBSRUdfTVNDX01SX01T Q19NU0dfUkNWRF8yTkRfREFUQQkweDA1YzAKPiArCj4gKy8qIENCVVMgTVNDIEhlYXJ0YmVhdCBD b250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDI3ICovCj4gKyNkZWZpbmUgUkVHX01TQ19IRUFSVEJF QVRfQ1RSTAkJCTB4MDVjNAo+ICsjZGVmaW5lIEJJVF9NU0NfSEVBUlRCRUFUX0NUUkxfTVNDX0hC X0VOCUJJVCg3KQo+ICsjZGVmaW5lIE1TS19NU0NfSEVBUlRCRUFUX0NUUkxfTVNDX0hCX0ZBSUxf TElNSVQgMHg3MAo+ICsjZGVmaW5lIE1TS19NU0NfSEVBUlRCRUFUX0NUUkxfTVNDX0hCX1BFUklP RF9NU0IgMHgwZgo+ICsKPiArLyogQ0JVUyBNU0MgQ29tcGF0aWJpbGl0eSBDb250cm9sLCBkZWZh dWx0IHZhbHVlOiAweDAyICovCj4gKyNkZWZpbmUgUkVHX0NCVVNfTVNDX0NPTVBBVF9DVFJMCQkw eDA1YzcKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFUX0NUUkxfWERFVkNBUF9FTglCSVQo NykKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFUX0NUUkxfRElTQUJMRV9NU0NfT05fQ0JV UyBCSVQoNikKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFUX0NUUkxfRElTQUJMRV9ERENf T05fQ0JVUyBCSVQoNSkKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFUX0NUUkxfRElTQUJM RV9HRVRfRERDX0VSUk9SQ09ERSBCSVQoMykKPiArI2RlZmluZSBCSVRfQ0JVU19NU0NfQ09NUEFU X0NUUkxfRElTQUJMRV9HRVRfVlMxX0VSUk9SQ09ERSBCSVQoMikKPiArCj4gKy8qIENCVVMzIENv bnZlcnRlciBDb250cm9sLCBkZWZhdWx0IHZhbHVlOiAweDI0ICovCj4gKyNkZWZpbmUgUkVHX0NC VVMzX0NOVlQJCQkJMHgwNWRjCj4gKyNkZWZpbmUgTVNLX0NCVVMzX0NOVlRfQ0JVUzNfUkVUUllM TVQJCTB4ZjAKPiArI2RlZmluZSBNU0tfQ0JVUzNfQ05WVF9DQlVTM19QRUVSVE9VVF9TRUwJMHgw Ywo+ICsjZGVmaW5lIEJJVF9DQlVTM19DTlZUX1RFQVJDQlVTX0VOCQlCSVQoMSkKPiArI2RlZmlu ZSBCSVRfQ0JVUzNfQ05WVF9DQlVTM0NOVlRfRU4JCUJJVCgwKQo+ICsKPiArLyogRGlzY292ZXJ5 IENvbnRyb2wxLCBkZWZhdWx0IHZhbHVlOiAweDI0ICovCj4gKyNkZWZpbmUgUkVHX0RJU0NfQ1RS TDEJCQkJMHgwNWUwCj4gKyNkZWZpbmUgQklUX0RJU0NfQ1RSTDFfQ0JVU19JTlRSX0VOCQlCSVQo NykKPiArI2RlZmluZSBCSVRfRElTQ19DVFJMMV9IQl9PTkxZCQkJQklUKDYpCj4gKyNkZWZpbmUg TVNLX0RJU0NfQ1RSTDFfRElTQ19BVFQJCQkweDMwCj4gKyNkZWZpbmUgTVNLX0RJU0NfQ1RSTDFf RElTQ19DWUMJCQkweDBjCj4gKyNkZWZpbmUgQklUX0RJU0NfQ1RSTDFfRElTQ19FTgkJCUJJVCgw KQo+ICsKPiArI2RlZmluZSBWQUxfUFVQX09GRgkJCQkwCj4gKyNkZWZpbmUgVkFMX1BVUF8yMEsJ CQkJMQo+ICsjZGVmaW5lIFZBTF9QVVBfNUsJCQkJMgo+ICsKPiArLyogRGlzY292ZXJ5IENvbnRy b2w0LCBkZWZhdWx0IHZhbHVlOiAweDgwICovCj4gKyNkZWZpbmUgUkVHX0RJU0NfQ1RSTDQJCQkJ MHgwNWUzCj4gKyNkZWZpbmUgTVNLX0RJU0NfQ1RSTDRfQ0JVU0RJU0NfUFVQX1NFTAkJMHhjMAo+ ICsjZGVmaW5lIE1TS19ESVNDX0NUUkw0X0NCVVNJRExFX1BVUF9TRUwJCTB4MzAKPiArI2RlZmlu ZSBWQUxfRElTQ19DVFJMNChwdXBfZGlzYywgcHVwX2lkbGUpICgoKHB1cF9kaXNjKSA8PCA2KSB8 IChwdXBfaWRsZSA8PCA0KSkKPiArCj4gKy8qIERpc2NvdmVyeSBDb250cm9sNSwgZGVmYXVsdCB2 YWx1ZTogMHgwMyAqLwo+ICsjZGVmaW5lIFJFR19ESVNDX0NUUkw1CQkJCTB4MDVlNAo+ICsjZGVm aW5lIEJJVF9ESVNDX0NUUkw1X0RTTV9PVlJJREUJCUJJVCgzKQo+ICsjZGVmaW5lIE1TS19ESVND X0NUUkw1X0NCVVNNSExfUFVQX1NFTAkJMHgwMwo+ICsKPiArLyogRGlzY292ZXJ5IENvbnRyb2w4 LCBkZWZhdWx0IHZhbHVlOiAweDgxICovCj4gKyNkZWZpbmUgUkVHX0RJU0NfQ1RSTDgJCQkJMHgw NWU3Cj4gKyNkZWZpbmUgQklUX0RJU0NfQ1RSTDhfTk9NSExJTlRfQ0xSX0JZUEFTUwlCSVQoNykK PiArI2RlZmluZSBCSVRfRElTQ19DVFJMOF9ERUxBWV9DQlVTX0lOVFJfRU4JQklUKDApCj4gKwo+ ICsvKiBEaXNjb3ZlcnkgQ29udHJvbDksIGRlZmF1bHQgdmFsdWU6IDB4NTQgKi8KPiArI2RlZmlu ZSBSRUdfRElTQ19DVFJMOQkJCTB4MDVlOAo+ICsjZGVmaW5lIEJJVF9ESVNDX0NUUkw5X01ITDNf UlNFTl9CWVAJCUJJVCg3KQo+ICsjZGVmaW5lIEJJVF9ESVNDX0NUUkw5X01ITDNESVNDX0VOCQlC SVQoNikKPiArI2RlZmluZSBCSVRfRElTQ19DVFJMOV9XQUtFX0RSVkZMVAkJQklUKDQpCj4gKyNk ZWZpbmUgQklUX0RJU0NfQ1RSTDlfTk9NSExfRVNUCQlCSVQoMykKPiArI2RlZmluZSBCSVRfRElT Q19DVFJMOV9ESVNDX1BVTFNFX1BST0NFRUQJQklUKDIpCj4gKyNkZWZpbmUgQklUX0RJU0NfQ1RS TDlfV0FLRV9QVUxTRV9CWVBBU1MJQklUKDEpCj4gKyNkZWZpbmUgQklUX0RJU0NfQ1RSTDlfVkJV U19PVVRQVVRfQ0FQQUJJTElUWV9TUkMgQklUKDApCj4gKwo+ICsvKiBEaXNjb3ZlcnkgU3RhdHVz MSwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ESVNDX1NUQVQxCQkJCTB4 MDVlYgo+ICsjZGVmaW5lIEJJVF9ESVNDX1NUQVQxX1BTTV9PVlJJREUJCUJJVCg1KQo+ICsjZGVm aW5lIE1TS19ESVNDX1NUQVQxX0RJU0NfU00JCQkweDBmCj4gKwo+ICsvKiBEaXNjb3ZlcnkgU3Rh dHVzMiwgZGVmYXVsdCB2YWx1ZTogMHgwMCAqLwo+ICsjZGVmaW5lIFJFR19ESVNDX1NUQVQyCQkJ CTB4MDVlYwo+ICsjZGVmaW5lIEJJVF9ESVNDX1NUQVQyX0NCVVNfT0VfUE9MCQlCSVQoNikKPiAr I2RlZmluZSBCSVRfRElTQ19TVEFUMl9DQlVTX1NBVFVTCQlCSVQoNSkKPiArI2RlZmluZSBCSVRf RElTQ19TVEFUMl9SU0VOCQkJQklUKDQpCj4gKwo+ICsjZGVmaW5lIE1TS19ESVNDX1NUQVQyX01I TF9WUlNOCQkJMHgwYwo+ICsjZGVmaW5lIFZBTF9ESVNDX1NUQVQyX0RFRkFVTFQJCQkweDAwCj4g KyNkZWZpbmUgVkFMX0RJU0NfU1RBVDJfTUhMMV8yCQkJMHgwNAo+ICsjZGVmaW5lIFZBTF9ESVND X1NUQVQyX01ITDMJCQkweDA4Cj4gKyNkZWZpbmUgVkFMX0RJU0NfU1RBVDJfUkVTRVJWRUQJCQkw eDBjCj4gKwo+ICsjZGVmaW5lIE1TS19ESVNDX1NUQVQyX1JHTkQJCQkweDAzCj4gKyNkZWZpbmUg VkFMX1JHTkRfT1BFTgkJCQkweDAwCj4gKyNkZWZpbmUgVkFMX1JHTkRfMksJCQkJMHgwMQo+ICsj ZGVmaW5lIFZBTF9SR05EXzFLCQkJCTB4MDIKPiArI2RlZmluZSBWQUxfUkdORF9TSE9SVAkJCQkw eDAzCj4gKwo+ICsvKiBJbnRlcnJ1cHQgQ0JVU19yZWcxIElOVFIwLCBkZWZhdWx0IHZhbHVlOiAw eDAwICovCj4gKyNkZWZpbmUgUkVHX0NCVVNfRElTQ19JTlRSMAkJCTB4MDVlZAo+ICsjZGVmaW5l IEJJVF9SR05EX1JFQURZX0lOVAkJCUJJVCg2KQo+ICsjZGVmaW5lIEJJVF9DQlVTX01ITDEyX0RJ U0NPTl9JTlQJCUJJVCg1KQo+ICsjZGVmaW5lIEJJVF9DQlVTX01ITDNfRElTQ09OX0lOVAkJQklU KDQpCj4gKyNkZWZpbmUgQklUX05PVF9NSExfRVNUX0lOVAkJCUJJVCgzKQo+ICsjZGVmaW5lIEJJ VF9NSExfRVNUX0lOVAkJCQlCSVQoMikKPiArI2RlZmluZSBCSVRfTUhMM19FU1RfSU5UCQkJQklU KDEpCj4gKyNkZWZpbmUgVkFMX0NCVVNfTUhMX0RJU0NPTiAoQklUX0NCVVNfTUhMMTJfRElTQ09O X0lOVCBcCj4gKwkJCSAgICB8IEJJVF9DQlVTX01ITDNfRElTQ09OX0lOVCBcCj4gKwkJCSAgICB8 IEJJVF9OT1RfTUhMX0VTVF9JTlQpCj4gKwo+ICsvKiBJbnRlcnJ1cHQgQ0JVU19yZWcxIElOVFIw IE1hc2ssIGRlZmF1bHQgdmFsdWU6IDB4MDAgKi8KPiArI2RlZmluZSBSRUdfQ0JVU19ESVNDX0lO VFIwX01BU0sJCTB4MDVlZQo+ICsKPiArI2VuZGlmIC8qIF9fU0lMX1NJSTg2MjBfSF9fICovCj4K Ci0tIApRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiBDb2Rl IEF1cm9yYSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK