From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey Brodkin Subject: [PATCH] drm: Print unadorned pointers Date: Wed, 18 Apr 2018 12:24:50 +0300 Message-ID: <20180418092450.13798-1-abrodkin@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: amd-gfx@lists.freedesktop.org, =?UTF-8?q?Heiko=20St=C3=BCbner?= , Tom Lendacky , David Airlie , Alexey Brodkin , Russell King , Cihangir Akturk , Gerd Hoffmann , Benjamin Gaignard , Ingo Molnar , linux-kernel@vger.kernel.org, "David (ChunMing) Zhou" , Thomas Hellstrom , Sinclair Yeh , Vincent Abriou , "Jerry (Fangzhi) Zuo" , Krzysztof Kozlowski , Maxime Ripard , Chen-Yu Tsai , Sandy Huang , Roger He , Daniel Vetter , CK Hu , Dave List-Id: linux-rockchip.vger.kernel.org QWZ0ZXIgY29tbWl0IGFkNjdiNzQgKCJwcmludGs6IGhhc2ggYWRkcmVzc2VzIHByaW50ZWQgd2l0 aCAlcCIpCnBvaW50ZXJzIGFyZSBiZWluZyBoYXNoZWQgd2hlbiBwcmludGVkLiBIb3dldmVyLCB0 aGlzIG1ha2VzCmRlYnVnIG91dHB1dCBjb21wbGV0ZWx5IHVzZWxlc3MuIFN3aXRjaCB0byAlcHgg aW4gb3JkZXIgdG8gc2VlIHRoZQp1bmFkb3JuZWQga2VybmVsIHBvaW50ZXJzLgoKVGhpcyB3YXMg ZG9uZSB3aXRoIHRoZSBmb2xsb3dpbmcgb25lLWxpbmVyOgogZmluZCBkcml2ZXJzL2dwdS9kcm0g LXR5cGUgZiAtbmFtZSAiKi5jIiAtZXhlYyBzZWQgLXIgLWkgJy9EUk1fREVCVUd8S0VSTl9ERUJV R3xwcl9kZWJ1Zy8gcy8lcFxiLyVweC9nJyB7fSArCgpTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgQnJv ZGtpbiA8YWJyb2RraW5Ac3lub3BzeXMuY29tPgpDYzogQm9yaXNsYXYgUGV0a292IDxicEBzdXNl LmRlPgpDYzogVG9iaW4gQy4gSGFyZGluZyA8bWVAdG9iaW4uY2M+CkNjOiBBbGV4IERldWNoZXIg PGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+CkNjOiBBbmRyZXkgR3JvZHpvdnNreSA8YW5kcmV5 Lmdyb2R6b3Zza3lAYW1kLmNvbT4KQ2M6IEFybmQgQmVyZ21hbm4gPGFybmRAYXJuZGIuZGU+CkNj OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KQ2M6IENo ZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KQ2M6IENocmlzdGlhbiBHbWVpbmVyIDxjaHJpc3Rp YW4uZ21laW5lckBnbWFpbC5jb20+CkNjOiAiQ2hyaXN0aWFuIEvDtm5pZyIgPGNocmlzdGlhbi5r b2VuaWdAYW1kLmNvbT4KQ2M6IENpaGFuZ2lyIEFrdHVyayA8Y2FrdHVya0BnbWFpbC5jb20+CkNj OiBDSyBIdSA8Y2suaHVAbWVkaWF0ZWsuY29tPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBmZndsbC5jaD4KQ2M6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+CkNjOiBE YXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+CkNjOiAiRGF2aWQgKENodW5NaW5nKSBaaG91 IiA8RGF2aWQxLlpob3VAYW1kLmNvbT4KQ2M6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQu Y29tPgpDYzogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4K Q2M6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2b0BwYWRvdmFuLm9yZz4KQ2M6IEhhcnJ5IFdlbnRs YW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgpDYzogIkhlaWtvIFN0w7xibmVyIiA8aGVpa29A c250ZWNoLmRlPgpDYzogSW5nbyBNb2xuYXIgPG1pbmdvQGtlcm5lbC5vcmc+CkNjOiBKYW5pIE5p a3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgpDYzogIkplcnJ5IChGYW5nemhpKSBa dW8iIDxKZXJyeS5adW9AYW1kLmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRp bmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IEtyenlzenRvZiBLb3psb3dza2kgPGtyemtAa2VybmVs Lm9yZz4KQ2M6ICJMZW8gKFN1bnBlbmcpIExpIiA8c3VucGVuZy5saUBhbWQuY29tPgpDYzogTHVj YXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogTWF0dGhpYXMgQnJ1Z2dlciA8 bWF0dGhpYXMuYmdnQGdtYWlsLmNvbT4KQ2M6IE1heGltZSBSaXBhcmQgPG1heGltZS5yaXBhcmRA Ym9vdGxpbi5jb20+CkNjOiAiTWljaGVsIETDpG56ZXIiIDxtaWNoZWwuZGFlbnplckBhbWQuY29t PgpDYzogT2RlZCBHYWJiYXkgPG9kZWQuZ2FiYmF5QGdtYWlsLmNvbT4KQ2M6IFBoaWxpcHAgWmFi ZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CkNjOiBSb2IgQ2xhcmsgPHJvYmRjbGFya0BnbWFp bC5jb20+CkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+CkNjOiBSb2dl ciBIZSA8SG9uZ2JvLkhlQGFtZC5jb20+CkNjOiBSb21hbiBMaSA8Um9tYW4uTGlAYW1kLmNvbT4K Q2M6IFJ1c3NlbGwgS2luZyA8bGludXhAYXJtbGludXgub3JnLnVrPgpDYzogU2FtdWVsIExpIDxT YW11ZWwuTGlAYW1kLmNvbT4KQ2M6IFNhbmR5IEh1YW5nIDxoamNAcm9jay1jaGlwcy5jb20+CkNj OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KQ2M6IFNoaXJpc2ggUyA8c2hpcmlz aC5zQGFtZC5jb20+CkNjOiBTaW5jbGFpciBZZWggPHN5ZWhAdm13YXJlLmNvbT4KQ2M6IFRob21h cyBIZWxsc3Ryb20gPHRoZWxsc3Ryb21Adm13YXJlLmNvbT4KQ2M6IFRvbSBMZW5kYWNreSA8dGhv bWFzLmxlbmRhY2t5QGFtZC5jb20+CkNjOiBUb255IENoZW5nIDxUb255LkNoZW5nQGFtZC5jb20+ CkNjOiBWaW5jZW50IEFicmlvdSA8dmluY2VudC5hYnJpb3VAc3QuY29tPgpDYzogVk13YXJlIEdy YXBoaWNzIDxsaW51eC1ncmFwaGljcy1tYWludGFpbmVyQHZtd2FyZS5jb20+CkNjOiBsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKQ2M6IGxpbnV4LWFybS1tc21Admdlci5rZXJu ZWwub3JnCkNjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1tZWRpYXRl a0BsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQu b3JnCkNjOiBldG5hdml2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogZnJlZWRyZW5vQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpDYzogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKQ2M6IGlu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKQ2M6IHZpcnR1YWxpemF0aW9uQGxpc3RzLmxp bnV4LWZvdW5kYXRpb24ub3JnCi0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2FtZGtmZF9ncHV2bS5jICAgfCAxNCArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZGlzcGxheS5jICAgICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGtmZC9rZmRfY2hhcmRldi5jICAgICAgICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGtmZC9rZmRfZGJnZGV2LmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGtmZC9rZmRfZGV2aWNlLmMgICAgICAgICAgICB8IDEwICsrLS0tCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGtmZC9rZmRfZG9vcmJlbGwuYyAgICAgICAgICB8ICA0ICstCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZXZlbnRzLmMgICAgICAgICAgICB8ICA0ICstCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfa2VybmVsX3F1ZXVlLmMgICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfcHJvY2Vzcy5jICAgICAgICAgICB8ICA0ICst CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfcXVldWUuYyAgICAgICAgICAgICB8IDE4 ICsrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVf ZG0uYyAgfCAxNCArKystLS0tCiAuLi4vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9t c3RfdHlwZXMuYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9nZW0u YyAgICAgICAgICAgICAgICB8IDEyICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YyAgICAgICAgICAgICAgICAgICAgICAgfCA0NCArKysrKysrKysrKy0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX2J1ZnMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrLS0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgICAgICAgICAgICAgIHwgIDQg Ky0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fbGVhc2UuYyAgICAgICAgICAgICAgICAgICAgICAgIHwg IDYgKy0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2xvY2suYyAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3NjYXR0ZXIuYyAgICAgICAgICAgICAgICAg ICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2Rydi5jICAgICAg ICAgICAgICB8ICA2ICstLQogZHJpdmVycy9ncHUvZHJtL2k4MTAvaTgxMF9kbWEuYyAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgICAg ICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj X2N0LmMgICAgICAgICAgICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Z3VjX3N1Ym1pc3Npb24uYyAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdWNfZncuYyAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kcm1fZ2VtLmMgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL21n YS9tZ2Ffd2FycC5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZHJ2LmMgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUv ZHJtL3F4bC9xeGxfY21kLmMgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQogZHJpdmVycy9n cHUvZHJtL3F4bC9xeGxfZmIuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL3F4bC9xeGxfdHRtLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jICAgICAgICAgICAgfCAgMiArLQog ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHBfbXN0LmMgICAgICAgICAgICAgfCAxMiAr KystLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5jICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZmJkZXYuYyAg ICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2JjaS5jICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2dkcC5jICAgICAgICAgICAg ICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX21peGVyLmMgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9jcnRjLmMg ICAgICAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3BhZ2VfYWxs b2MuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2Rt YS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlh X2lycS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X292ZXJsYXkuYyAgICAgICAgICAgIHwgIDIgKy0KIDQ1IGZpbGVzIGNoYW5nZWQs IDEyMCBpbnNlcnRpb25zKCspLCAxMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jCmluZGV4IDFkNmUxNDc5ZGEzOC4u MzJlODVmZTgzMTUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfYW1ka2ZkX2dwdXZtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2FtZGtmZF9ncHV2bS5jCkBAIC00MzgsNyArNDM4LDcgQEAgc3RhdGljIGludCBhZGRfYm9fdG9f dm0oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBrZ2RfbWVtICptZW0sCiAJaWYg KCFib192YV9lbnRyeSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlwcl9kZWJ1ZygiXHQgYWRkIFZB IDB4JWxseCAtIDB4JWxseCB0byB2bSAlcFxuIiwgdmEsCisJcHJfZGVidWcoIlx0IGFkZCBWQSAw eCVsbHggLSAweCVsbHggdG8gdm0gJXB4XG4iLCB2YSwKIAkJCXZhICsgYm9fc2l6ZSwgdm0pOwog CiAJLyogQWRkIEJPIHRvIFZNIGludGVybmFsIGRhdGEgc3RydWN0dXJlcyovCkBAIC00OTcsNyAr NDk3LDcgQEAgc3RhdGljIGludCBhZGRfYm9fdG9fdm0oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsIHN0cnVjdCBrZ2RfbWVtICptZW0sCiBzdGF0aWMgdm9pZCByZW1vdmVfYm9fZnJvbV92bShz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJc3RydWN0IGtmZF9ib192YV9saXN0ICplbnRy eSwgdW5zaWduZWQgbG9uZyBzaXplKQogewotCXByX2RlYnVnKCJcdCByZW1vdmUgVkEgMHglbGx4 IC0gMHglbGx4IGluIGVudHJ5ICVwXG4iLAorCXByX2RlYnVnKCJcdCByZW1vdmUgVkEgMHglbGx4 IC0gMHglbGx4IGluIGVudHJ5ICVweFxuIiwKIAkJCWVudHJ5LT52YSwKIAkJCWVudHJ5LT52YSAr IHNpemUsIGVudHJ5KTsKIAlhbWRncHVfdm1fYm9fcm12KGFkZXYsIGVudHJ5LT5ib192YSk7CkBA IC05ODIsNyArOTgyLDcgQEAgdm9pZCBhbWRncHVfYW1ka2ZkX2dwdXZtX2Rlc3Ryb3lfcHJvY2Vz c192bShzdHJ1Y3Qga2dkX2RldiAqa2dkLCB2b2lkICp2bSkKIAlpZiAoV0FSTl9PTigha2dkIHx8 ICF2bSkpCiAJCXJldHVybjsKIAotCXByX2RlYnVnKCJEZXN0cm95aW5nIHByb2Nlc3Mgdm0gJXBc biIsIHZtKTsKKwlwcl9kZWJ1ZygiRGVzdHJveWluZyBwcm9jZXNzIHZtICVweFxuIiwgdm0pOwog CiAJLyogUmVsZWFzZSB0aGUgVk0gY29udGV4dCAqLwogCWFtZGdwdV92bV9maW5pKGFkZXYsIGF2 bSk7CkBAIC0xMTkxLDcgKzExOTEsNyBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9tYXBfbWVt b3J5X3RvX2dwdSgKIAlkb21haW4gPSBtZW0tPmRvbWFpbjsKIAlib19zaXplID0gYm8tPnRiby5t ZW0uc2l6ZTsKIAotCXByX2RlYnVnKCJNYXAgVkEgMHglbGx4IC0gMHglbGx4IHRvIHZtICVwIGRv bWFpbiAlc1xuIiwKKwlwcl9kZWJ1ZygiTWFwIFZBIDB4JWxseCAtIDB4JWxseCB0byB2bSAlcHgg ZG9tYWluICVzXG4iLAogCQkJbWVtLT52YSwKIAkJCW1lbS0+dmEgKyBib19zaXplICogKDEgKyBt ZW0tPmFxbF9xdWV1ZSksCiAJCQl2bSwgZG9tYWluX3N0cmluZyhkb21haW4pKTsKQEAgLTEyMzEs NyArMTIzMSw3IEBAIGludCBhbWRncHVfYW1ka2ZkX2dwdXZtX21hcF9tZW1vcnlfdG9fZ3B1KAog CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJm1lbS0+Ym9fdmFfbGlzdCwgYm9fbGlzdCkg ewogCQlpZiAoZW50cnktPmJvX3ZhLT5iYXNlLnZtID09IHZtICYmICFlbnRyeS0+aXNfbWFwcGVk KSB7Ci0JCQlwcl9kZWJ1ZygiXHQgbWFwIFZBIDB4JWxseCAtIDB4JWxseCBpbiBlbnRyeSAlcFxu IiwKKwkJCXByX2RlYnVnKCJcdCBtYXAgVkEgMHglbGx4IC0gMHglbGx4IGluIGVudHJ5ICVweFxu IiwKIAkJCQkJZW50cnktPnZhLCBlbnRyeS0+dmEgKyBib19zaXplLAogCQkJCQllbnRyeSk7CiAK QEAgLTEzMDIsMTQgKzEzMDIsMTQgQEAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fdW5tYXBfbWVt b3J5X2Zyb21fZ3B1KAogCWlmICh1bmxpa2VseShyZXQpKQogCQlnb3RvIHVucmVzZXJ2ZV9vdXQ7 CiAKLQlwcl9kZWJ1ZygiVW5tYXAgVkEgMHglbGx4IC0gMHglbGx4IGZyb20gdm0gJXBcbiIsCisJ cHJfZGVidWcoIlVubWFwIFZBIDB4JWxseCAtIDB4JWxseCBmcm9tIHZtICVweFxuIiwKIAkJbWVt LT52YSwKIAkJbWVtLT52YSArIGJvX3NpemUgKiAoMSArIG1lbS0+YXFsX3F1ZXVlKSwKIAkJdm0p OwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJm1lbS0+Ym9fdmFfbGlzdCwgYm9fbGlz dCkgewogCQlpZiAoZW50cnktPmJvX3ZhLT5iYXNlLnZtID09IHZtICYmIGVudHJ5LT5pc19tYXBw ZWQpIHsKLQkJCXByX2RlYnVnKCJcdCB1bm1hcCBWQSAweCVsbHggLSAweCVsbHggZnJvbSBlbnRy eSAlcFxuIiwKKwkJCXByX2RlYnVnKCJcdCB1bm1hcCBWQSAweCVsbHggLSAweCVsbHggZnJvbSBl bnRyeSAlcHhcbiIsCiAJCQkJCWVudHJ5LT52YSwKIAkJCQkJZW50cnktPnZhICsgYm9fc2l6ZSwK IAkJCQkJZW50cnkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5 LmMKaW5kZXggOTNmNzAwYWIxYmZiLi40NGExOWQ3Y2M5NDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2Rpc3BsYXkuYwpAQCAtMTEyLDcgKzExMiw3IEBAIHN0YXRpYyB2 b2lkIGFtZGdwdV9kaXNwbGF5X2ZsaXBfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqX193 b3JrKQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNydGMtPmRldi0+ZXZlbnRfbG9jaywgZmxh Z3MpOwogCiAKLQlEUk1fREVCVUdfRFJJVkVSKCJjcnRjOiVkWyVwXSwgcGZsaXBfc3RhdDpBTURH UFVfRkxJUF9TVUJNSVRURUQsIHdvcms6ICVwLFxuIiwKKwlEUk1fREVCVUdfRFJJVkVSKCJjcnRj OiVkWyVweF0sIHBmbGlwX3N0YXQ6QU1ER1BVX0ZMSVBfU1VCTUlUVEVELCB3b3JrOiAlcHgsXG4i LAogCQkJCQkgYW1kZ3B1X2NydGMtPmNydGNfaWQsIGFtZGdwdV9jcnRjLCB3b3JrKTsKIAogfQpA QCAtMjI2LDcgKzIyNiw3IEBAIGludCBhbWRncHVfZGlzcGxheV9jcnRjX3BhZ2VfZmxpcF90YXJn ZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCWFtZGdwdV9jcnRjLT5wZmxpcF93b3JrcyA9IHdv cms7CiAKIAotCURSTV9ERUJVR19EUklWRVIoImNydGM6JWRbJXBdLCBwZmxpcF9zdGF0OkFNREdQ VV9GTElQX1BFTkRJTkcsIHdvcms6ICVwLFxuIiwKKwlEUk1fREVCVUdfRFJJVkVSKCJjcnRjOiVk WyVweF0sIHBmbGlwX3N0YXQ6QU1ER1BVX0ZMSVBfUEVORElORywgd29yazogJXB4LFxuIiwKIAkJ CQkJIGFtZGdwdV9jcnRjLT5jcnRjX2lkLCBhbWRncHVfY3J0Yywgd29yayk7CiAJLyogdXBkYXRl IGNydGMgZmIgKi8KIAljcnRjLT5wcmltYXJ5LT5mYiA9IGZiOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2NoYXJkZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1ka2ZkL2tmZF9jaGFyZGV2LmMKaW5kZXggY2Q2NzljZjFmZDMwLi5mYzkxZGU2YTdmMDIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9jaGFyZGV2LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2NoYXJkZXYuYwpAQCAtMjMzLDcgKzIzMyw3 IEBAIHN0YXRpYyBpbnQgc2V0X3F1ZXVlX3Byb3BlcnRpZXNfZnJvbV91c2VyKHN0cnVjdCBxdWV1 ZV9wcm9wZXJ0aWVzICpxX3Byb3BlcnRpZXMsCiAJcHJfZGVidWcoIlF1ZXVlIFNpemU6IDB4JWxs WCwgJXVcbiIsCiAJCQlxX3Byb3BlcnRpZXMtPnF1ZXVlX3NpemUsIGFyZ3MtPnJpbmdfc2l6ZSk7 CiAKLQlwcl9kZWJ1ZygiUXVldWUgci93IFBvaW50ZXJzOiAlcCwgJXBcbiIsCisJcHJfZGVidWco IlF1ZXVlIHIvdyBQb2ludGVyczogJXB4LCAlcHhcbiIsCiAJCQlxX3Byb3BlcnRpZXMtPnJlYWRf cHRyLAogCQkJcV9wcm9wZXJ0aWVzLT53cml0ZV9wdHIpOwogCkBAIC03MjUsNyArNzI1LDcgQEAg c3RhdGljIGludCBrZmRfaW9jdGxfZGJnX3dhdmVfY29udHJvbChzdHJ1Y3QgZmlsZSAqZmlsZXAs CiAKIAltdXRleF9sb2NrKGtmZF9nZXRfZGJnbWdyX211dGV4KCkpOwogCi0JcHJfZGVidWcoIkNh bGxpbmcgZGJnIG1hbmFnZXIgcHJvY2VzcyAlcCwgb3BlcmFuZCAldSwgbW9kZSAldSwgdHJhcElk ICV1LCBtZXNzYWdlICV1XG4iLAorCXByX2RlYnVnKCJDYWxsaW5nIGRiZyBtYW5hZ2VyIHByb2Nl c3MgJXB4LCBvcGVyYW5kICV1LCBtb2RlICV1LCB0cmFwSWQgJXUsIG1lc3NhZ2UgJXVcbiIsCiAJ CQl3YWNfaW5mby5wcm9jZXNzLCB3YWNfaW5mby5vcGVyYW5kLAogCQkJd2FjX2luZm8ubW9kZSwg d2FjX2luZm8udHJhcElkLAogCQkJd2FjX2luZm8uZGJnV2F2ZV9tc2cuRGJnV2F2ZU1zZy5XYXZl TXNnSW5mb0dlbjIuVmFsdWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRr ZmQva2ZkX2RiZ2Rldi5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2RiZ2Rldi5j CmluZGV4IGFmYjI2ZjIwNWQyOS4uYzMzNTBkMDI3MGIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGtmZC9rZmRfZGJnZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRrZmQva2ZkX2RiZ2Rldi5jCkBAIC00MDEsNyArNDAxLDcgQEAgc3RhdGljIGludCBkYmdkZXZf YWRkcmVzc193YXRjaF9kaXEoc3RydWN0IGtmZF9kYmdkZXYgKmRiZ2RldiwKIAkJcHJfZGVidWco Ilx0XHQlMzBzXG4iLCAiKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICoiKTsKIAkJ cHJfZGVidWcoIlx0XHQlMjBzICUwOHhcbiIsICJyZWdpc3RlciBpbmRleCA6IiwgaSk7CiAJCXBy X2RlYnVnKCJcdFx0JTIwcyAlMDh4XG4iLCAidm1pZCBpcyA6Iiwgdm1pZCk7Ci0JCXByX2RlYnVn KCJcdFx0JTIwcyAlcFxuIiwgIkFkZCBwdHIgaXMgOiIsCisJCXByX2RlYnVnKCJcdFx0JTIwcyAl cHhcbiIsICJBZGQgcHRyIGlzIDoiLAogCQkJCWFkd19pbmZvLT53YXRjaF9hZGRyZXNzKTsKIAkJ cHJfZGVidWcoIlx0XHQlMjBzICUwOGxseFxuIiwgIkFkZCAgICAgaXMgOiIsCiAJCQkJYWR3X2lu Zm8tPndhdGNoX2FkZHJlc3NbaV0pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRrZmQva2ZkX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2Rldmlj ZS5jCmluZGV4IDMzNDY2OTk5NjBkZC4uNTdjMjYxNTVlNDJlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZGV2aWNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRrZmQva2ZkX2RldmljZS5jCkBAIC02MTIsNyArNjEyLDcgQEAgc3RhdGljIGludCBrZmRf Z3R0X3NhX2luaXQoc3RydWN0IGtmZF9kZXYgKmtmZCwgdW5zaWduZWQgaW50IGJ1Zl9zaXplLAog CWlmICgha2ZkLT5ndHRfc2FfYml0bWFwKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCXByX2RlYnVn KCJndHRfc2FfbnVtX29mX2NodW5rcyA9ICVkLCBndHRfc2FfYml0bWFwID0gJXBcbiIsCisJcHJf ZGVidWcoImd0dF9zYV9udW1fb2ZfY2h1bmtzID0gJWQsIGd0dF9zYV9iaXRtYXAgPSAlcHhcbiIs CiAJCQlrZmQtPmd0dF9zYV9udW1fb2ZfY2h1bmtzLCBrZmQtPmd0dF9zYV9iaXRtYXApOwogCiAJ bXV0ZXhfaW5pdCgma2ZkLT5ndHRfc2FfbG9jayk7CkBAIC02NTYsNyArNjU2LDcgQEAgaW50IGtm ZF9ndHRfc2FfYWxsb2NhdGUoc3RydWN0IGtmZF9kZXYgKmtmZCwgdW5zaWduZWQgaW50IHNpemUs CiAJaWYgKCgqbWVtX29iaikgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlwcl9kZWJ1 ZygiQWxsb2NhdGVkIG1lbV9vYmogPSAlcCBmb3Igc2l6ZSA9ICVkXG4iLCAqbWVtX29iaiwgc2l6 ZSk7CisJcHJfZGVidWcoIkFsbG9jYXRlZCBtZW1fb2JqID0gJXB4IGZvciBzaXplID0gJWRcbiIs ICptZW1fb2JqLCBzaXplKTsKIAogCXN0YXJ0X3NlYXJjaCA9IDA7CiAKQEAgLTY4Niw3ICs2ODYs NyBAQCBpbnQga2ZkX2d0dF9zYV9hbGxvY2F0ZShzdHJ1Y3Qga2ZkX2RldiAqa2ZkLCB1bnNpZ25l ZCBpbnQgc2l6ZSwKIAkJCQkJZm91bmQsCiAJCQkJCWtmZC0+Z3R0X3NhX2NodW5rX3NpemUpOwog Ci0JcHJfZGVidWcoImdwdV9hZGRyID0gJXAsIGNwdV9hZGRyID0gJXBcbiIsCisJcHJfZGVidWco ImdwdV9hZGRyID0gJXB4LCBjcHVfYWRkciA9ICVweFxuIiwKIAkJCSh1aW50NjRfdCAqKSAoKm1l bV9vYmopLT5ncHVfYWRkciwgKCptZW1fb2JqKS0+Y3B1X3B0cik7CiAKIAkvKiBJZiB3ZSBuZWVk IG9ubHkgb25lIGNodW5rLCBtYXJrIGl0IGFzIGFsbG9jYXRlZCBhbmQgZ2V0IG91dCAqLwpAQCAt NzQwLDcgKzc0MCw3IEBAIGludCBrZmRfZ3R0X3NhX2FsbG9jYXRlKHN0cnVjdCBrZmRfZGV2ICpr ZmQsIHVuc2lnbmVkIGludCBzaXplLAogCXJldHVybiAwOwogCiBrZmRfZ3R0X25vX2ZyZWVfY2h1 bms6Ci0JcHJfZGVidWcoIkFsbG9jYXRpb24gZmFpbGVkIHdpdGggbWVtX29iaiA9ICVwXG4iLCBt ZW1fb2JqKTsKKwlwcl9kZWJ1ZygiQWxsb2NhdGlvbiBmYWlsZWQgd2l0aCBtZW1fb2JqID0gJXB4 XG4iLCBtZW1fb2JqKTsKIAltdXRleF91bmxvY2soJmtmZC0+Z3R0X3NhX2xvY2spOwogCWtmcmVl KG1lbV9vYmopOwogCXJldHVybiAtRU5PTUVNOwpAQCAtNzU0LDcgKzc1NCw3IEBAIGludCBrZmRf Z3R0X3NhX2ZyZWUoc3RydWN0IGtmZF9kZXYgKmtmZCwgc3RydWN0IGtmZF9tZW1fb2JqICptZW1f b2JqKQogCWlmICghbWVtX29iaikKIAkJcmV0dXJuIDA7CiAKLQlwcl9kZWJ1ZygiRnJlZSBtZW1f b2JqID0gJXAsIHJhbmdlX3N0YXJ0ID0gJWQsIHJhbmdlX2VuZCA9ICVkXG4iLAorCXByX2RlYnVn KCJGcmVlIG1lbV9vYmogPSAlcHgsIHJhbmdlX3N0YXJ0ID0gJWQsIHJhbmdlX2VuZCA9ICVkXG4i LAogCQkJbWVtX29iaiwgbWVtX29iai0+cmFuZ2Vfc3RhcnQsIG1lbV9vYmotPnJhbmdlX2VuZCk7 CiAKIAltdXRleF9sb2NrKCZrZmQtPmd0dF9zYV9sb2NrKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kb29yYmVsbC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRrZmQva2ZkX2Rvb3JiZWxsLmMKaW5kZXggZWJiNGRhMTRlM2RmLi43YjVhZDBjNTc3YzggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kb29yYmVsbC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kb29yYmVsbC5jCkBAIC0xMTYsNyArMTE2 LDcgQEAgaW50IGtmZF9kb29yYmVsbF9pbml0KHN0cnVjdCBrZmRfZGV2ICprZmQpCiAJcHJfZGVi dWcoImRvb3JiZWxsIGFwZXJ0dXJlIHNpemUgID09IDB4JTA4bFhcbiIsCiAJCQlrZmQtPnNoYXJl ZF9yZXNvdXJjZXMuZG9vcmJlbGxfYXBlcnR1cmVfc2l6ZSk7CiAKLQlwcl9kZWJ1ZygiZG9vcmJl bGwga2VybmVsIGFkZHJlc3MgPT0gJXBcbiIsIGtmZC0+ZG9vcmJlbGxfa2VybmVsX3B0cik7CisJ cHJfZGVidWcoImRvb3JiZWxsIGtlcm5lbCBhZGRyZXNzID09ICVweFxuIiwga2ZkLT5kb29yYmVs bF9rZXJuZWxfcHRyKTsKIAogCXJldHVybiAwOwogfQpAQCAtMjE0LDcgKzIxNCw3IEBAIGlubGlu ZSB2b2lkIHdyaXRlX2tlcm5lbF9kb29yYmVsbCh1MzIgX19pb21lbSAqZGIsIHUzMiB2YWx1ZSkK IHsKIAlpZiAoZGIpIHsKIAkJd3JpdGVsKHZhbHVlLCBkYik7Ci0JCXByX2RlYnVnKCJXcml0aW5n ICVkIHRvIGRvb3JiZWxsIGFkZHJlc3MgJXBcbiIsIHZhbHVlLCBkYik7CisJCXByX2RlYnVnKCJX cml0aW5nICVkIHRvIGRvb3JiZWxsIGFkZHJlc3MgJXB4XG4iLCB2YWx1ZSwgZGIpOwogCX0KIH0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2V2ZW50cy5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2V2ZW50cy5jCmluZGV4IDQ4OTBhOTBmMWU0 NC4uMWIwMzMwOGZhYTBlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9r ZmRfZXZlbnRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2V2ZW50cy5j CkBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyBzdHJ1Y3Qga2ZkX3NpZ25hbF9wYWdlICphbGxvY2F0 ZV9zaWduYWxfcGFnZShzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKnApCiAKIAlwYWdlLT5rZXJuZWxfYWRk cmVzcyA9IGJhY2tpbmdfc3RvcmU7CiAJcGFnZS0+bmVlZF90b19mcmVlX3BhZ2VzID0gdHJ1ZTsK LQlwcl9kZWJ1ZygiQWxsb2NhdGVkIG5ldyBldmVudCBzaWduYWwgcGFnZSBhdCAlcCwgZm9yIHBy b2Nlc3MgJXBcbiIsCisJcHJfZGVidWcoIkFsbG9jYXRlZCBuZXcgZXZlbnQgc2lnbmFsIHBhZ2Ug YXQgJXB4LCBmb3IgcHJvY2VzcyAlcHhcbiIsCiAJCQlwYWdlLCBwKTsKIAogCXJldHVybiBwYWdl OwpAQCAtMjAyLDcgKzIwMiw3IEBAIHN0YXRpYyBpbnQgY3JlYXRlX3NpZ25hbF9ldmVudChzdHJ1 Y3QgZmlsZSAqZGV2a2ZkLAogCXAtPnNpZ25hbF9ldmVudF9jb3VudCsrOwogCiAJZXYtPnVzZXJf c2lnbmFsX2FkZHJlc3MgPSAmcC0+c2lnbmFsX3BhZ2UtPnVzZXJfYWRkcmVzc1tldi0+ZXZlbnRf aWRdOwotCXByX2RlYnVnKCJTaWduYWwgZXZlbnQgbnVtYmVyICV6dSBjcmVhdGVkIHdpdGggaWQg JWQsIGFkZHJlc3MgJXBcbiIsCisJcHJfZGVidWcoIlNpZ25hbCBldmVudCBudW1iZXIgJXp1IGNy ZWF0ZWQgd2l0aCBpZCAlZCwgYWRkcmVzcyAlcHhcbiIsCiAJCQlwLT5zaWduYWxfZXZlbnRfY291 bnQsIGV2LT5ldmVudF9pZCwKIAkJCWV2LT51c2VyX3NpZ25hbF9hZGRyZXNzKTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2tlcm5lbF9xdWV1ZS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2tlcm5lbF9xdWV1ZS5jCmluZGV4IDY5ZjQ5NjQ4 NTMzMS4uYjM5YjViODEzZGFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtm ZC9rZmRfa2VybmVsX3F1ZXVlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2Zk X2tlcm5lbF9xdWV1ZS5jCkBAIC0yMjIsNyArMjIyLDcgQEAgc3RhdGljIGludCBhY3F1aXJlX3Bh Y2tldF9idWZmZXIoc3RydWN0IGtlcm5lbF9xdWV1ZSAqa3EsCiAKIAlwcl9kZWJ1ZygicnB0cjog JWRcbiIsIHJwdHIpOwogCXByX2RlYnVnKCJ3cHRyOiAlZFxuIiwgd3B0cik7Ci0JcHJfZGVidWco InF1ZXVlX2FkZHJlc3MgMHglcFxuIiwgcXVldWVfYWRkcmVzcyk7CisJcHJfZGVidWcoInF1ZXVl X2FkZHJlc3MgMHglcHhcbiIsIHF1ZXVlX2FkZHJlc3MpOwogCiAJYXZhaWxhYmxlX3NpemUgPSAo cnB0ciArIHF1ZXVlX3NpemVfZHdvcmRzIC0gMSAtIHdwdHIpICUKIAkJCQkJCQlxdWV1ZV9zaXpl X2R3b3JkczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcm9j ZXNzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfcHJvY2Vzcy5jCmluZGV4IDE3 MTFhZDA2NDJmNy4uYzVjMWIyMTU4OTEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGtmZC9rZmRfcHJvY2Vzcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tm ZF9wcm9jZXNzLmMKQEAgLTQ2OCw3ICs0NjgsNyBAQCBzdGF0aWMgaW50IGtmZF9wcm9jZXNzX2lu aXRfY3dzcl9hcHUoc3RydWN0IGtmZF9wcm9jZXNzICpwLCBzdHJ1Y3QgZmlsZSAqZmlsZXApCiAJ CW1lbWNweShxcGQtPmN3c3Jfa2FkZHIsIGRldi0+Y3dzcl9pc2EsIGRldi0+Y3dzcl9pc2Ffc2l6 ZSk7CiAKIAkJcXBkLT50bWFfYWRkciA9IHFwZC0+dGJhX2FkZHIgKyBLRkRfQ1dTUl9UTUFfT0ZG U0VUOwotCQlwcl9kZWJ1Zygic2V0IHRiYSA6MHglbGx4LCB0bWE6MHglbGx4LCBjd3NyX2thZGRy OiVwIGZvciBwcW0uXG4iLAorCQlwcl9kZWJ1Zygic2V0IHRiYSA6MHglbGx4LCB0bWE6MHglbGx4 LCBjd3NyX2thZGRyOiVweCBmb3IgcHFtLlxuIiwKIAkJCXFwZC0+dGJhX2FkZHIsIHFwZC0+dG1h X2FkZHIsIHFwZC0+Y3dzcl9rYWRkcik7CiAJfQogCkBAIC00OTksNyArNDk5LDcgQEAgc3RhdGlj IGludCBrZmRfcHJvY2Vzc19kZXZpY2VfaW5pdF9jd3NyX2RncHUoc3RydWN0IGtmZF9wcm9jZXNz X2RldmljZSAqcGRkKQogCW1lbWNweShxcGQtPmN3c3Jfa2FkZHIsIGRldi0+Y3dzcl9pc2EsIGRl di0+Y3dzcl9pc2Ffc2l6ZSk7CiAKIAlxcGQtPnRtYV9hZGRyID0gcXBkLT50YmFfYWRkciArIEtG RF9DV1NSX1RNQV9PRkZTRVQ7Ci0JcHJfZGVidWcoInNldCB0YmEgOjB4JWxseCwgdG1hOjB4JWxs eCwgY3dzcl9rYWRkcjolcCBmb3IgcHFtLlxuIiwKKwlwcl9kZWJ1Zygic2V0IHRiYSA6MHglbGx4 LCB0bWE6MHglbGx4LCBjd3NyX2thZGRyOiVweCBmb3IgcHFtLlxuIiwKIAkJIHFwZC0+dGJhX2Fk ZHIsIHFwZC0+dG1hX2FkZHIsIHFwZC0+Y3dzcl9rYWRkcik7CiAKIAlyZXR1cm4gMDsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9xdWV1ZS5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRrZmQva2ZkX3F1ZXVlLmMKaW5kZXggYTUzMTVkNGYxYzk1Li41NmQzZTA1 YjUzYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9xdWV1ZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9xdWV1ZS5jCkBAIC0zNiw5ICsz Niw5IEBAIHZvaWQgcHJpbnRfcXVldWVfcHJvcGVydGllcyhzdHJ1Y3QgcXVldWVfcHJvcGVydGll cyAqcSkKIAlwcl9kZWJ1ZygiUXVldWUgQWRkcmVzczogMHglbGxYXG4iLCBxLT5xdWV1ZV9hZGRy ZXNzKTsKIAlwcl9kZWJ1ZygiUXVldWUgSWQ6ICV1XG4iLCBxLT5xdWV1ZV9pZCk7CiAJcHJfZGVi dWcoIlF1ZXVlIFByb2Nlc3MgVm1pZDogJXVcbiIsIHEtPnZtaWQpOwotCXByX2RlYnVnKCJRdWV1 ZSBSZWFkIFBvaW50ZXI6IDB4JXBcbiIsIHEtPnJlYWRfcHRyKTsKLQlwcl9kZWJ1ZygiUXVldWUg V3JpdGUgUG9pbnRlcjogMHglcFxuIiwgcS0+d3JpdGVfcHRyKTsKLQlwcl9kZWJ1ZygiUXVldWUg RG9vcmJlbGwgUG9pbnRlcjogMHglcFxuIiwgcS0+ZG9vcmJlbGxfcHRyKTsKKwlwcl9kZWJ1Zygi UXVldWUgUmVhZCBQb2ludGVyOiAweCVweFxuIiwgcS0+cmVhZF9wdHIpOworCXByX2RlYnVnKCJR dWV1ZSBXcml0ZSBQb2ludGVyOiAweCVweFxuIiwgcS0+d3JpdGVfcHRyKTsKKwlwcl9kZWJ1Zygi UXVldWUgRG9vcmJlbGwgUG9pbnRlcjogMHglcHhcbiIsIHEtPmRvb3JiZWxsX3B0cik7CiAJcHJf ZGVidWcoIlF1ZXVlIERvb3JiZWxsIE9mZnNldDogJXVcbiIsIHEtPmRvb3JiZWxsX29mZik7CiB9 CiAKQEAgLTUzLDE0ICs1MywxNCBAQCB2b2lkIHByaW50X3F1ZXVlKHN0cnVjdCBxdWV1ZSAqcSkK IAlwcl9kZWJ1ZygiUXVldWUgQWRkcmVzczogMHglbGxYXG4iLCBxLT5wcm9wZXJ0aWVzLnF1ZXVl X2FkZHJlc3MpOwogCXByX2RlYnVnKCJRdWV1ZSBJZDogJXVcbiIsIHEtPnByb3BlcnRpZXMucXVl dWVfaWQpOwogCXByX2RlYnVnKCJRdWV1ZSBQcm9jZXNzIFZtaWQ6ICV1XG4iLCBxLT5wcm9wZXJ0 aWVzLnZtaWQpOwotCXByX2RlYnVnKCJRdWV1ZSBSZWFkIFBvaW50ZXI6IDB4JXBcbiIsIHEtPnBy b3BlcnRpZXMucmVhZF9wdHIpOwotCXByX2RlYnVnKCJRdWV1ZSBXcml0ZSBQb2ludGVyOiAweCVw XG4iLCBxLT5wcm9wZXJ0aWVzLndyaXRlX3B0cik7Ci0JcHJfZGVidWcoIlF1ZXVlIERvb3JiZWxs IFBvaW50ZXI6IDB4JXBcbiIsIHEtPnByb3BlcnRpZXMuZG9vcmJlbGxfcHRyKTsKKwlwcl9kZWJ1 ZygiUXVldWUgUmVhZCBQb2ludGVyOiAweCVweFxuIiwgcS0+cHJvcGVydGllcy5yZWFkX3B0cik7 CisJcHJfZGVidWcoIlF1ZXVlIFdyaXRlIFBvaW50ZXI6IDB4JXB4XG4iLCBxLT5wcm9wZXJ0aWVz LndyaXRlX3B0cik7CisJcHJfZGVidWcoIlF1ZXVlIERvb3JiZWxsIFBvaW50ZXI6IDB4JXB4XG4i LCBxLT5wcm9wZXJ0aWVzLmRvb3JiZWxsX3B0cik7CiAJcHJfZGVidWcoIlF1ZXVlIERvb3JiZWxs IE9mZnNldDogJXVcbiIsIHEtPnByb3BlcnRpZXMuZG9vcmJlbGxfb2ZmKTsKLQlwcl9kZWJ1Zygi UXVldWUgTVFEIEFkZHJlc3M6IDB4JXBcbiIsIHEtPm1xZCk7CisJcHJfZGVidWcoIlF1ZXVlIE1R RCBBZGRyZXNzOiAweCVweFxuIiwgcS0+bXFkKTsKIAlwcl9kZWJ1ZygiUXVldWUgTVFEIEdhcnQ6 IDB4JWxsWFxuIiwgcS0+Z2FydF9tcWRfYWRkcik7Ci0JcHJfZGVidWcoIlF1ZXVlIFByb2Nlc3Mg QWRkcmVzczogMHglcFxuIiwgcS0+cHJvY2Vzcyk7Ci0JcHJfZGVidWcoIlF1ZXVlIERldmljZSBB ZGRyZXNzOiAweCVwXG4iLCBxLT5kZXZpY2UpOworCXByX2RlYnVnKCJRdWV1ZSBQcm9jZXNzIEFk ZHJlc3M6IDB4JXB4XG4iLCBxLT5wcm9jZXNzKTsKKwlwcl9kZWJ1ZygiUXVldWUgRGV2aWNlIEFk ZHJlc3M6IDB4JXB4XG4iLCBxLT5kZXZpY2UpOwogfQogCiBpbnQgaW5pdF9xdWV1ZShzdHJ1Y3Qg cXVldWUgKipxLCBjb25zdCBzdHJ1Y3QgcXVldWVfcHJvcGVydGllcyAqcHJvcGVydGllcykKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2Rt LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCmlu ZGV4IDRlMmYzNzljZTIxNy4uYzUwNzc5YWE1ZGFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKQEAgLTI3NSw3ICsyNzUsNyBAQCBz dGF0aWMgdm9pZCBkbV9wZmxpcF9oaWdoX2lycSh2b2lkICppbnRlcnJ1cHRfcGFyYW1zKQogCXNw aW5fbG9ja19pcnFzYXZlKCZhZGV2LT5kZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7CiAKIAlpZiAo YW1kZ3B1X2NydGMtPnBmbGlwX3N0YXR1cyAhPSBBTURHUFVfRkxJUF9TVUJNSVRURUQpewotCQlE Uk1fREVCVUdfRFJJVkVSKCJhbWRncHVfY3J0Yy0+cGZsaXBfc3RhdHVzID0gJWQgIT1BTURHUFVf RkxJUF9TVUJNSVRURUQoJWQpIG9uIGNydGM6JWRbJXBdIFxuIiwKKwkJRFJNX0RFQlVHX0RSSVZF UigiYW1kZ3B1X2NydGMtPnBmbGlwX3N0YXR1cyA9ICVkICE9QU1ER1BVX0ZMSVBfU1VCTUlUVEVE KCVkKSBvbiBjcnRjOiVkWyVweF0gXG4iLAogCQkJCQkJIGFtZGdwdV9jcnRjLT5wZmxpcF9zdGF0 dXMsCiAJCQkJCQkgQU1ER1BVX0ZMSVBfU1VCTUlUVEVELAogCQkJCQkJIGFtZGdwdV9jcnRjLT5j cnRjX2lkLApAQCAtMzAxLDcgKzMwMSw3IEBAIHN0YXRpYyB2b2lkIGRtX3BmbGlwX2hpZ2hfaXJx KHZvaWQgKmludGVycnVwdF9wYXJhbXMpCiAJYW1kZ3B1X2NydGMtPnBmbGlwX3N0YXR1cyA9IEFN REdQVV9GTElQX05PTkU7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYWRldi0+ZGRldi0+ZXZl bnRfbG9jaywgZmxhZ3MpOwogCi0JRFJNX0RFQlVHX0RSSVZFUigiJXMgLSBjcnRjIDolZFslcF0s IHBmbGlwX3N0YXQ6QU1ER1BVX0ZMSVBfTk9ORVxuIiwKKwlEUk1fREVCVUdfRFJJVkVSKCIlcyAt IGNydGMgOiVkWyVweF0sIHBmbGlwX3N0YXQ6QU1ER1BVX0ZMSVBfTk9ORVxuIiwKIAkJCQkJX19m dW5jX18sIGFtZGdwdV9jcnRjLT5jcnRjX2lkLCBhbWRncHVfY3J0Yyk7CiAKIAlkcm1fY3J0Y192 YmxhbmtfcHV0KCZhbWRncHVfY3J0Yy0+YmFzZSk7CkBAIC00NjMsNyArNDYzLDcgQEAgc3RhdGlj IGludCBhbWRncHVfZG1faW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJRFJNX0VS Uk9SKAogCQkiYW1kZ3B1OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBmcmVlc3luY19tb2R1bGUuXG4i KTsKIAl9IGVsc2UKLQkJRFJNX0RFQlVHX0RSSVZFUigiYW1kZ3B1OiBmcmVlc3luY19tb2R1bGUg aW5pdCBkb25lICVwLlxuIiwKKwkJRFJNX0RFQlVHX0RSSVZFUigiYW1kZ3B1OiBmcmVlc3luY19t b2R1bGUgaW5pdCBkb25lICVweC5cbiIsCiAJCQkJYWRldi0+ZG0uZnJlZXN5bmNfbW9kdWxlKTsK IAogCWFtZGdwdV9kbV9pbml0X2NvbG9yX21vZCgpOwpAQCAtNTQzLDcgKzU0Myw3IEBAIHN0YXRp YyBpbnQgZGV0ZWN0X21zdF9saW5rX2Zvcl9hbGxfY29ubmVjdG9ycyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCQlhY29ubmVjdG9yID0gdG9fYW1kZ3B1X2RtX2Nvbm5lY3Rvcihjb25uZWN0b3Ip OwogCQlpZiAoYWNvbm5lY3Rvci0+ZGNfbGluay0+dHlwZSA9PSBkY19jb25uZWN0aW9uX21zdF9i cmFuY2ggJiYKIAkJICAgIGFjb25uZWN0b3ItPm1zdF9tZ3IuYXV4KSB7Ci0JCQlEUk1fREVCVUdf RFJJVkVSKCJETV9NU1Q6IHN0YXJ0aW5nIFRNIG9uIGFjb25uZWN0b3I6ICVwIFtpZDogJWRdXG4i LAorCQkJRFJNX0RFQlVHX0RSSVZFUigiRE1fTVNUOiBzdGFydGluZyBUTSBvbiBhY29ubmVjdG9y OiAlcHggW2lkOiAlZF1cbiIsCiAJCQkJCWFjb25uZWN0b3IsIGFjb25uZWN0b3ItPmJhc2UuYmFz ZS5pZCk7CiAKIAkJCXJldCA9IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX3NldF9tc3QoJmFjb25u ZWN0b3ItPm1zdF9tZ3IsIHRydWUpOwpAQCAtODk1LDcgKzg5NSw3IEBAIGFtZGdwdV9kbV91cGRh dGVfY29ubmVjdG9yX2FmdGVyX2RldGVjdChzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNv bm5lY3RvcikKIAkJcmV0dXJuOwogCX0KIAotCURSTV9ERUJVR19EUklWRVIoIkRDSFBEOiBjb25u ZWN0b3JfaWQ9JWQ6IE9sZCBzaW5rPSVwIE5ldyBzaW5rPSVwXG4iLAorCURSTV9ERUJVR19EUklW RVIoIkRDSFBEOiBjb25uZWN0b3JfaWQ9JWQ6IE9sZCBzaW5rPSVweCBOZXcgc2luaz0lcHhcbiIs CiAJCWFjb25uZWN0b3ItPmNvbm5lY3Rvcl9pZCwgYWNvbm5lY3Rvci0+ZGNfc2luaywgc2luayk7 CiAKIAltdXRleF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKQEAgLTQxODUsNyArNDE4 NSw3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kbV9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCiAJCWlmIChtb2Rlc2V0X3JlcXVpcmVkKG5ld19jcnRj X3N0YXRlLCBkbV9uZXdfY3J0Y19zdGF0ZS0+c3RyZWFtLCBkbV9vbGRfY3J0Y19zdGF0ZS0+c3Ry ZWFtKSkgewogCi0JCQlEUk1fREVCVUdfRFJJVkVSKCJBdG9taWMgY29tbWl0OiBTRVQgY3J0YyBp ZCAlZDogWyVwXVxuIiwgYWNydGMtPmNydGNfaWQsIGFjcnRjKTsKKwkJCURSTV9ERUJVR19EUklW RVIoIkF0b21pYyBjb21taXQ6IFNFVCBjcnRjIGlkICVkOiBbJXB4XVxuIiwgYWNydGMtPmNydGNf aWQsIGFjcnRjKTsKIAogCQkJaWYgKCFkbV9uZXdfY3J0Y19zdGF0ZS0+c3RyZWFtKSB7CiAJCQkJ LyoKQEAgLTQyMTUsNyArNDIxNSw3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kbV9hdG9taWNfY29t bWl0X3RhaWwoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQkJYWNydGMtPmh3X21v ZGUgPSBuZXdfY3J0Y19zdGF0ZS0+bW9kZTsKIAkJCWNydGMtPmh3bW9kZSA9IG5ld19jcnRjX3N0 YXRlLT5tb2RlOwogCQl9IGVsc2UgaWYgKG1vZGVyZXNldF9yZXF1aXJlZChuZXdfY3J0Y19zdGF0 ZSkpIHsKLQkJCURSTV9ERUJVR19EUklWRVIoIkF0b21pYyBjb21taXQ6IFJFU0VULiBjcnRjIGlk ICVkOlslcF1cbiIsIGFjcnRjLT5jcnRjX2lkLCBhY3J0Yyk7CisJCQlEUk1fREVCVUdfRFJJVkVS KCJBdG9taWMgY29tbWl0OiBSRVNFVC4gY3J0YyBpZCAlZDpbJXB4XVxuIiwgYWNydGMtPmNydGNf aWQsIGFjcnRjKTsKIAogCQkJLyogaS5lLiByZXNldCBtb2RlICovCiAJCQlpZiAoZG1fb2xkX2Ny dGNfc3RhdGUtPnN0cmVhbSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5cGVzLmMKaW5kZXggODI5MWQ3NGYyNmJj Li40ZmMyNDZjZDZlYzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9h bWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jCkBAIC0zMDIsNyArMzAyLDcg QEAgZG1fZHBfY3JlYXRlX2Zha2VfbXN0X2VuY29kZXIoc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY19tYXN0ZXIgPQogCQljb25u ZWN0b3JfZnVuY3MtPmJlc3RfZW5jb2RlcigmY29ubmVjdG9yLT5iYXNlKTsKIAotCURSTV9ERUJV R19LTVMoImVuYyBtYXN0ZXIgaXMgJXBcbiIsIGVuY19tYXN0ZXIpOworCURSTV9ERUJVR19LTVMo ImVuYyBtYXN0ZXIgaXMgJXB4XG4iLCBlbmNfbWFzdGVyKTsKIAlhbWRncHVfZW5jb2RlciA9IGt6 YWxsb2Moc2l6ZW9mKCphbWRncHVfZW5jb2RlciksIEdGUF9LRVJORUwpOwogCWlmICghYW1kZ3B1 X2VuY29kZXIpCiAJCXJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Fy bWFkYS9hcm1hZGFfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9nZW0uYwpp bmRleCBhOTdmNTA5NzQzYTUuLjA3NTg0MGEzNzM1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1h ZGFfZ2VtLmMKQEAgLTUwLDcgKzUwLDcgQEAgdm9pZCBhcm1hZGFfZ2VtX2ZyZWVfb2JqZWN0KHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQogCXN0cnVjdCBhcm1hZGFfZ2VtX29iamVjdCAqZG9i aiA9IGRybV90b19hcm1hZGFfZ2VtKG9iaik7CiAJc3RydWN0IGFybWFkYV9wcml2YXRlICpwcml2 ID0gb2JqLT5kZXYtPmRldl9wcml2YXRlOwogCi0JRFJNX0RFQlVHX0RSSVZFUigicmVsZWFzZSBv YmogJXBcbiIsIGRvYmopOworCURSTV9ERUJVR19EUklWRVIoInJlbGVhc2Ugb2JqICVweFxuIiwg ZG9iaik7CiAKIAlkcm1fZ2VtX2ZyZWVfbW1hcF9vZmZzZXQoJmRvYmotPm9iaik7CiAKQEAgLTE3 Nyw3ICsxNzcsNyBAQCBhcm1hZGFfZ2VtX2xpbmVhcl9iYWNrKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHN0cnVjdCBhcm1hZGFfZ2VtX29iamVjdCAqb2JqKQogCQlvYmotPm1hcHBlZCA9IHRydWU7 CiAJfQogCi0JRFJNX0RFQlVHX0RSSVZFUigib2JqICVwIHBoeXMgJSNsbHggZGV2ICUjbGx4XG4i LCBvYmosCisJRFJNX0RFQlVHX0RSSVZFUigib2JqICVweCBwaHlzICUjbGx4IGRldiAlI2xseFxu Iiwgb2JqLAogCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpb2JqLT5waHlzX2FkZHIsCiAJCQkgKHVu c2lnbmVkIGxvbmcgbG9uZylvYmotPmRldl9hZGRyKTsKIApAQCAtMjA2LDcgKzIwNiw3IEBAIGFy bWFkYV9nZW1fYWxsb2NfcHJpdmF0ZV9vYmplY3Qoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc2l6 ZV90IHNpemUpCiAKIAlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQoZGV2LCAmb2JqLT5vYmos IHNpemUpOwogCi0JRFJNX0RFQlVHX0RSSVZFUigiYWxsb2MgcHJpdmF0ZSBvYmogJXAgc2l6ZSAl enVcbiIsIG9iaiwgc2l6ZSk7CisJRFJNX0RFQlVHX0RSSVZFUigiYWxsb2MgcHJpdmF0ZSBvYmog JXB4IHNpemUgJXp1XG4iLCBvYmosIHNpemUpOwogCiAJcmV0dXJuIG9iajsKIH0KQEAgLTIzMSw3 ICsyMzEsNyBAQCBzdGF0aWMgc3RydWN0IGFybWFkYV9nZW1fb2JqZWN0ICphcm1hZGFfZ2VtX2Fs bG9jX29iamVjdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCW1hcHBpbmcgPSBvYmotPm9iai5m aWxwLT5mX21hcHBpbmc7CiAJbWFwcGluZ19zZXRfZ2ZwX21hc2sobWFwcGluZywgR0ZQX0hJR0hV U0VSIHwgX19HRlBfUkVDTEFJTUFCTEUpOwogCi0JRFJNX0RFQlVHX0RSSVZFUigiYWxsb2Mgb2Jq ICVwIHNpemUgJXp1XG4iLCBvYmosIHNpemUpOworCURSTV9ERUJVR19EUklWRVIoImFsbG9jIG9i aiAlcHggc2l6ZSAlenVcbiIsIG9iaiwgc2l6ZSk7CiAKIAlyZXR1cm4gb2JqOwogfQpAQCAtMjYz LDcgKzI2Myw3IEBAIGludCBhcm1hZGFfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAq ZmlsZSwgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlhcmdzLT5oYW5kbGUgPSBoYW5kbGU7CiAK IAkvKiBkcm9wIHJlZmVyZW5jZSBmcm9tIGFsbG9jYXRlIC0gaGFuZGxlIGhvbGRzIGl0IG5vdyAq LwotCURSTV9ERUJVR19EUklWRVIoIm9iaiAlcCBzaXplICV6dSBoYW5kbGUgJSN4XG4iLCBkb2Jq LCBzaXplLCBoYW5kbGUpOworCURSTV9ERUJVR19EUklWRVIoIm9iaiAlcHggc2l6ZSAlenUgaGFu ZGxlICUjeFxuIiwgZG9iaiwgc2l6ZSwgaGFuZGxlKTsKICBlcnI6CiAJZHJtX2dlbV9vYmplY3Rf cHV0X3VubG9ja2VkKCZkb2JqLT5vYmopOwogCXJldHVybiByZXQ7CkBAIC0yOTUsNyArMjk1LDcg QEAgaW50IGFybWFkYV9nZW1fY3JlYXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCiAJYXJncy0+aGFuZGxlID0gaGFuZGxlOwogCiAJLyogZHJvcCByZWZlcmVuY2Ug ZnJvbSBhbGxvY2F0ZSAtIGhhbmRsZSBob2xkcyBpdCBub3cgKi8KLQlEUk1fREVCVUdfRFJJVkVS KCJvYmogJXAgc2l6ZSAlenUgaGFuZGxlICUjeFxuIiwgZG9iaiwgc2l6ZSwgaGFuZGxlKTsKKwlE Uk1fREVCVUdfRFJJVkVSKCJvYmogJXB4IHNpemUgJXp1IGhhbmRsZSAlI3hcbiIsIGRvYmosIHNp emUsIGhhbmRsZSk7CiAgZXJyOgogCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZCgmZG9iai0+ b2JqKTsKIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKaW5kZXggN2QyNWM0MmYyMmRiLi4y MzliMDEwZmMwMTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwpAQCAtOTIsNyArOTIsNyBAQCBkcm1fYXRv bWljX3N0YXRlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlKQogCiAJc3RhdGUtPmRldiA9IGRldjsKIAotCURSTV9ERUJVR19BVE9NSUMo IkFsbG9jYXRlZCBhdG9taWMgc3RhdGUgJXBcbiIsIHN0YXRlKTsKKwlEUk1fREVCVUdfQVRPTUlD KCJBbGxvY2F0ZWQgYXRvbWljIHN0YXRlICVweFxuIiwgc3RhdGUpOwogCiAJcmV0dXJuIDA7CiBm YWlsOgpAQCAtMTQzLDcgKzE0Myw3IEBAIHZvaWQgZHJtX2F0b21pY19zdGF0ZV9kZWZhdWx0X2Ns ZWFyKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAlzdHJ1Y3QgZHJtX21vZGVfY29u ZmlnICpjb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKIAlpbnQgaTsKIAotCURSTV9ERUJVR19B VE9NSUMoIkNsZWFyaW5nIGF0b21pYyBzdGF0ZSAlcFxuIiwgc3RhdGUpOworCURSTV9ERUJVR19B VE9NSUMoIkNsZWFyaW5nIGF0b21pYyBzdGF0ZSAlcHhcbiIsIHN0YXRlKTsKIAogCWZvciAoaSA9 IDA7IGkgPCBzdGF0ZS0+bnVtX2Nvbm5lY3RvcjsgaSsrKSB7CiAJCXN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IgPSBzdGF0ZS0+Y29ubmVjdG9yc1tpXS5wdHI7CkBAIC0yNDAsNyArMjQw LDcgQEAgdm9pZCBfX2RybV9hdG9taWNfc3RhdGVfZnJlZShzdHJ1Y3Qga3JlZiAqcmVmKQogCiAJ ZHJtX2F0b21pY19zdGF0ZV9jbGVhcihzdGF0ZSk7CiAKLQlEUk1fREVCVUdfQVRPTUlDKCJGcmVl aW5nIGF0b21pYyBzdGF0ZSAlcFxuIiwgc3RhdGUpOworCURSTV9ERUJVR19BVE9NSUMoIkZyZWVp bmcgYXRvbWljIHN0YXRlICVweFxuIiwgc3RhdGUpOwogCiAJaWYgKGNvbmZpZy0+ZnVuY3MtPmF0 b21pY19zdGF0ZV9mcmVlKSB7CiAJCWNvbmZpZy0+ZnVuY3MtPmF0b21pY19zdGF0ZV9mcmVlKHN0 YXRlKTsKQEAgLTI5Myw3ICsyOTMsNyBAQCBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAlzdGF0ZS0+Y3J0Y3NbaW5kZXhdLnB0ciA9IGNy dGM7CiAJY3J0Y19zdGF0ZS0+c3RhdGUgPSBzdGF0ZTsKIAotCURSTV9ERUJVR19BVE9NSUMoIkFk ZGVkIFtDUlRDOiVkOiVzXSAlcCBzdGF0ZSB0byAlcFxuIiwKKwlEUk1fREVCVUdfQVRPTUlDKCJB ZGRlZCBbQ1JUQzolZDolc10gJXB4IHN0YXRlIHRvICVweFxuIiwKIAkJCSBjcnRjLT5iYXNlLmlk LCBjcnRjLT5uYW1lLCBjcnRjX3N0YXRlLCBzdGF0ZSk7CiAKIAlyZXR1cm4gY3J0Y19zdGF0ZTsK QEAgLTM1MSwxMiArMzUxLDEyIEBAIGludCBkcm1fYXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKHN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCiAKIAkJZHJtX21vZGVfY29weSgmc3RhdGUtPm1v ZGUsIG1vZGUpOwogCQlzdGF0ZS0+ZW5hYmxlID0gdHJ1ZTsKLQkJRFJNX0RFQlVHX0FUT01JQygi U2V0IFtNT0RFOiVzXSBmb3IgQ1JUQyBzdGF0ZSAlcFxuIiwKKwkJRFJNX0RFQlVHX0FUT01JQygi U2V0IFtNT0RFOiVzXSBmb3IgQ1JUQyBzdGF0ZSAlcHhcbiIsCiAJCQkJIG1vZGUtPm5hbWUsIHN0 YXRlKTsKIAl9IGVsc2UgewogCQltZW1zZXQoJnN0YXRlLT5tb2RlLCAwLCBzaXplb2Yoc3RhdGUt Pm1vZGUpKTsKIAkJc3RhdGUtPmVuYWJsZSA9IGZhbHNlOwotCQlEUk1fREVCVUdfQVRPTUlDKCJT ZXQgW05PTU9ERV0gZm9yIENSVEMgc3RhdGUgJXBcbiIsCisJCURSTV9ERUJVR19BVE9NSUMoIlNl dCBbTk9NT0RFXSBmb3IgQ1JUQyBzdGF0ZSAlcHhcbiIsCiAJCQkJIHN0YXRlKTsKIAl9CiAKQEAg LTM5NiwxMSArMzk2LDExIEBAIGludCBkcm1fYXRvbWljX3NldF9tb2RlX3Byb3BfZm9yX2NydGMo c3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwKIAogCQlzdGF0ZS0+bW9kZV9ibG9iID0gZHJt X3Byb3BlcnR5X2Jsb2JfZ2V0KGJsb2IpOwogCQlzdGF0ZS0+ZW5hYmxlID0gdHJ1ZTsKLQkJRFJN X0RFQlVHX0FUT01JQygiU2V0IFtNT0RFOiVzXSBmb3IgQ1JUQyBzdGF0ZSAlcFxuIiwKKwkJRFJN X0RFQlVHX0FUT01JQygiU2V0IFtNT0RFOiVzXSBmb3IgQ1JUQyBzdGF0ZSAlcHhcbiIsCiAJCQkJ IHN0YXRlLT5tb2RlLm5hbWUsIHN0YXRlKTsKIAl9IGVsc2UgewogCQlzdGF0ZS0+ZW5hYmxlID0g ZmFsc2U7Ci0JCURSTV9ERUJVR19BVE9NSUMoIlNldCBbTk9NT0RFXSBmb3IgQ1JUQyBzdGF0ZSAl cFxuIiwKKwkJRFJNX0RFQlVHX0FUT01JQygiU2V0IFtOT01PREVdIGZvciBDUlRDIHN0YXRlICVw eFxuIiwKIAkJCQkgc3RhdGUpOwogCX0KIApAQCAtNzEwLDcgKzcxMCw3IEBAIGRybV9hdG9taWNf Z2V0X3BsYW5lX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAlzdGF0ZS0+ cGxhbmVzW2luZGV4XS5uZXdfc3RhdGUgPSBwbGFuZV9zdGF0ZTsKIAlwbGFuZV9zdGF0ZS0+c3Rh dGUgPSBzdGF0ZTsKIAotCURSTV9ERUJVR19BVE9NSUMoIkFkZGVkIFtQTEFORTolZDolc10gJXAg c3RhdGUgdG8gJXBcbiIsCisJRFJNX0RFQlVHX0FUT01JQygiQWRkZWQgW1BMQU5FOiVkOiVzXSAl cHggc3RhdGUgdG8gJXB4XG4iLAogCQkJIHBsYW5lLT5iYXNlLmlkLCBwbGFuZS0+bmFtZSwgcGxh bmVfc3RhdGUsIHN0YXRlKTsKIAogCWlmIChwbGFuZV9zdGF0ZS0+Y3J0YykgewpAQCAtMTExMSw3 ICsxMTExLDcgQEAgZHJtX2F0b21pY19nZXRfcHJpdmF0ZV9vYmpfc3RhdGUoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlLAogCiAJc3RhdGUtPm51bV9wcml2YXRlX29ianMgPSBudW1fb2Jq czsKIAotCURSTV9ERUJVR19BVE9NSUMoIkFkZGVkIG5ldyBwcml2YXRlIG9iamVjdCAlcCBzdGF0 ZSAlcCB0byAlcFxuIiwKKwlEUk1fREVCVUdfQVRPTUlDKCJBZGRlZCBuZXcgcHJpdmF0ZSBvYmpl Y3QgJXB4IHN0YXRlICVweCB0byAlcHhcbiIsCiAJCQkgb2JqLCBvYmpfc3RhdGUsIHN0YXRlKTsK IAogCXJldHVybiBvYmpfc3RhdGU7CkBAIC0xMTc4LDcgKzExNzgsNyBAQCBkcm1fYXRvbWljX2dl dF9jb25uZWN0b3Jfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCXN0YXRl LT5jb25uZWN0b3JzW2luZGV4XS5wdHIgPSBjb25uZWN0b3I7CiAJY29ubmVjdG9yX3N0YXRlLT5z dGF0ZSA9IHN0YXRlOwogCi0JRFJNX0RFQlVHX0FUT01JQygiQWRkZWQgW0NPTk5FQ1RPUjolZDol c10gJXAgc3RhdGUgdG8gJXBcbiIsCisJRFJNX0RFQlVHX0FUT01JQygiQWRkZWQgW0NPTk5FQ1RP UjolZDolc10gJXB4IHN0YXRlIHRvICVweFxuIiwKIAkJCSBjb25uZWN0b3ItPmJhc2UuaWQsIGNv bm5lY3Rvci0+bmFtZSwKIAkJCSBjb25uZWN0b3Jfc3RhdGUsIHN0YXRlKTsKIApAQCAtMTQ0Miwx MCArMTQ0MiwxMCBAQCBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKIAl9CiAKIAlpZiAoY3J0YykKLQkJRFJNX0RFQlVHX0FU T01JQygiTGluayBwbGFuZSBzdGF0ZSAlcCB0byBbQ1JUQzolZDolc11cbiIsCisJCURSTV9ERUJV R19BVE9NSUMoIkxpbmsgcGxhbmUgc3RhdGUgJXB4IHRvIFtDUlRDOiVkOiVzXVxuIiwKIAkJCQkg cGxhbmVfc3RhdGUsIGNydGMtPmJhc2UuaWQsIGNydGMtPm5hbWUpOwogCWVsc2UKLQkJRFJNX0RF QlVHX0FUT01JQygiTGluayBwbGFuZSBzdGF0ZSAlcCB0byBbTk9DUlRDXVxuIiwKKwkJRFJNX0RF QlVHX0FUT01JQygiTGluayBwbGFuZSBzdGF0ZSAlcHggdG8gW05PQ1JUQ11cbiIsCiAJCQkJIHBs YW5lX3N0YXRlKTsKIAogCXJldHVybiAwOwpAQCAtMTQ2NywxMCArMTQ2NywxMCBAQCBkcm1fYXRv bWljX3NldF9mYl9mb3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUs CiAJCQkgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCiB7CiAJaWYgKGZiKQotCQlEUk1f REVCVUdfQVRPTUlDKCJTZXQgW0ZCOiVkXSBmb3IgcGxhbmUgc3RhdGUgJXBcbiIsCisJCURSTV9E RUJVR19BVE9NSUMoIlNldCBbRkI6JWRdIGZvciBwbGFuZSBzdGF0ZSAlcHhcbiIsCiAJCQkJIGZi LT5iYXNlLmlkLCBwbGFuZV9zdGF0ZSk7CiAJZWxzZQotCQlEUk1fREVCVUdfQVRPTUlDKCJTZXQg W05PRkJdIGZvciBwbGFuZSBzdGF0ZSAlcFxuIiwKKwkJRFJNX0RFQlVHX0FUT01JQygiU2V0IFtO T0ZCXSBmb3IgcGxhbmUgc3RhdGUgJXB4XG4iLAogCQkJCSBwbGFuZV9zdGF0ZSk7CiAKIAlkcm1f ZnJhbWVidWZmZXJfYXNzaWduKCZwbGFuZV9zdGF0ZS0+ZmIsIGZiKTsKQEAgLTE1NTEsMTAgKzE1 NTEsMTAgQEAgZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVjdG9yKHN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpjb25uX3N0YXRlLAogCQlkcm1fY29ubmVjdG9yX2dldChjb25uX3N0YXRl LT5jb25uZWN0b3IpOwogCQljb25uX3N0YXRlLT5jcnRjID0gY3J0YzsKIAotCQlEUk1fREVCVUdf QVRPTUlDKCJMaW5rIGNvbm5lY3RvciBzdGF0ZSAlcCB0byBbQ1JUQzolZDolc11cbiIsCisJCURS TV9ERUJVR19BVE9NSUMoIkxpbmsgY29ubmVjdG9yIHN0YXRlICVweCB0byBbQ1JUQzolZDolc11c biIsCiAJCQkJIGNvbm5fc3RhdGUsIGNydGMtPmJhc2UuaWQsIGNydGMtPm5hbWUpOwogCX0gZWxz ZSB7Ci0JCURSTV9ERUJVR19BVE9NSUMoIkxpbmsgY29ubmVjdG9yIHN0YXRlICVwIHRvIFtOT0NS VENdXG4iLAorCQlEUk1fREVCVUdfQVRPTUlDKCJMaW5rIGNvbm5lY3RvciBzdGF0ZSAlcHggdG8g W05PQ1JUQ11cbiIsCiAJCQkJIGNvbm5fc3RhdGUpOwogCX0KIApAQCAtMTU5OCw3ICsxNTk4LDcg QEAgZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfY29ubmVjdG9ycyhzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUsCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCURSTV9ERUJVR19BVE9N SUMoIkFkZGluZyBhbGwgY3VycmVudCBjb25uZWN0b3JzIGZvciBbQ1JUQzolZDolc10gdG8gJXBc biIsCisJRFJNX0RFQlVHX0FUT01JQygiQWRkaW5nIGFsbCBjdXJyZW50IGNvbm5lY3RvcnMgZm9y IFtDUlRDOiVkOiVzXSB0byAlcHhcbiIsCiAJCQkgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSwg c3RhdGUpOwogCiAJLyoKQEAgLTE2ODIsNyArMTY4Miw3IEBAIGludCBkcm1fYXRvbWljX2NoZWNr X29ubHkoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCXN0cnVjdCBkcm1fY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZTsKIAlpbnQgaSwgcmV0ID0gMDsKIAotCURSTV9ERUJVR19BVE9NSUMo ImNoZWNraW5nICVwXG4iLCBzdGF0ZSk7CisJRFJNX0RFQlVHX0FUT01JQygiY2hlY2tpbmcgJXB4 XG4iLCBzdGF0ZSk7CiAKIAlmb3JfZWFjaF9uZXdfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5l LCBwbGFuZV9zdGF0ZSwgaSkgewogCQlyZXQgPSBkcm1fYXRvbWljX3BsYW5lX2NoZWNrKHBsYW5l LCBwbGFuZV9zdGF0ZSk7CkBAIC0xNzQ1LDcgKzE3NDUsNyBAQCBpbnQgZHJtX2F0b21pY19jb21t aXQoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CiAKLQlEUk1fREVCVUdfQVRPTUlDKCJjb21taXR0aW5nICVwXG4iLCBzdGF0ZSk7CisJRFJN X0RFQlVHX0FUT01JQygiY29tbWl0dGluZyAlcHhcbiIsIHN0YXRlKTsKIAogCXJldHVybiBjb25m aWctPmZ1bmNzLT5hdG9taWNfY29tbWl0KHN0YXRlLT5kZXYsIHN0YXRlLCBmYWxzZSk7CiB9CkBA IC0xNzc0LDcgKzE3NzQsNyBAQCBpbnQgZHJtX2F0b21pY19ub25ibG9ja2luZ19jb21taXQoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAK LQlEUk1fREVCVUdfQVRPTUlDKCJjb21taXR0aW5nICVwIG5vbmJsb2NraW5nXG4iLCBzdGF0ZSk7 CisJRFJNX0RFQlVHX0FUT01JQygiY29tbWl0dGluZyAlcHggbm9uYmxvY2tpbmdcbiIsIHN0YXRl KTsKIAogCXJldHVybiBjb25maWctPmZ1bmNzLT5hdG9taWNfY29tbWl0KHN0YXRlLT5kZXYsIHN0 YXRlLCB0cnVlKTsKIH0KQEAgLTE3OTEsNyArMTc5MSw3IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9t aWNfcHJpbnRfc3RhdGUoY29uc3Qgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCXN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CiAJaW50IGk7CiAKLQlE Uk1fREVCVUdfQVRPTUlDKCJjaGVja2luZyAlcFxuIiwgc3RhdGUpOworCURSTV9ERUJVR19BVE9N SUMoImNoZWNraW5nICVweFxuIiwgc3RhdGUpOwogCiAJZm9yX2VhY2hfbmV3X3BsYW5lX2luX3N0 YXRlKHN0YXRlLCBwbGFuZSwgcGxhbmVfc3RhdGUsIGkpCiAJCWRybV9hdG9taWNfcGxhbmVfcHJp bnRfc3RhdGUoJnAsIHBsYW5lX3N0YXRlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYnVmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9idWZzLmMKaW5kZXggYmE4Y2ZlNjVjNjVi Li5mNTZhMDg5M2VmMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCkBAIC0yMzYsNyArMjM2LDcgQEAgc3RhdGlj IGludCBkcm1fYWRkbWFwX2NvcmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgcmVzb3VyY2Vfc2l6 ZV90IG9mZnNldCwKIAkJCXJldHVybiAwOwogCQl9CiAJCW1hcC0+aGFuZGxlID0gdm1hbGxvY191 c2VyKG1hcC0+c2l6ZSk7Ci0JCURSTV9ERUJVRygiJWx1ICVkICVwXG4iLAorCQlEUk1fREVCVUco IiVsdSAlZCAlcHhcbiIsCiAJCQkgIG1hcC0+c2l6ZSwgb3JkZXJfYmFzZV8yKG1hcC0+c2l6ZSks IG1hcC0+aGFuZGxlKTsKIAkJaWYgKCFtYXAtPmhhbmRsZSkgewogCQkJa2ZyZWUobWFwKTsKQEAg LTc5Myw3ICs3OTMsNyBAQCBpbnQgZHJtX2xlZ2FjeV9hZGRidWZzX2FncChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkJcmV0dXJuIC1FTk9NRU07CiAJCX0KIAotCQlEUk1fREVCVUcoImJ1ZmZl ciAlZCBAICVwXG4iLCBlbnRyeS0+YnVmX2NvdW50LCBidWYtPmFkZHJlc3MpOworCQlEUk1fREVC VUcoImJ1ZmZlciAlZCBAICVweFxuIiwgZW50cnktPmJ1Zl9jb3VudCwgYnVmLT5hZGRyZXNzKTsK IAogCQlvZmZzZXQgKz0gYWxpZ25tZW50OwogCQllbnRyeS0+YnVmX2NvdW50Kys7CkBAIC05OTUs NyArOTk1LDcgQEAgaW50IGRybV9sZWdhY3lfYWRkYnVmc19wY2koc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAkJCQlyZXR1cm4gLUVOT01FTTsKIAkJCX0KIAotCQkJRFJNX0RFQlVHKCJidWZmZXIg JWQgQCAlcFxuIiwKKwkJCURSTV9ERUJVRygiYnVmZmVyICVkIEAgJXB4XG4iLAogCQkJCSAgZW50 cnktPmJ1Zl9jb3VudCwgYnVmLT5hZGRyZXNzKTsKIAkJfQogCQlieXRlX2NvdW50ICs9IFBBR0Vf U0laRSA8PCBwYWdlX29yZGVyOwpAQCAtMTE1Niw3ICsxMTU2LDcgQEAgc3RhdGljIGludCBkcm1f bGVnYWN5X2FkZGJ1ZnNfc2coc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCXJldHVybiAtRU5P TUVNOwogCQl9CiAKLQkJRFJNX0RFQlVHKCJidWZmZXIgJWQgQCAlcFxuIiwgZW50cnktPmJ1Zl9j b3VudCwgYnVmLT5hZGRyZXNzKTsKKwkJRFJNX0RFQlVHKCJidWZmZXIgJWQgQCAlcHhcbiIsIGVu dHJ5LT5idWZfY291bnQsIGJ1Zi0+YWRkcmVzcyk7CiAKIAkJb2Zmc2V0ICs9IGFsaWdubWVudDsK IAkJZW50cnktPmJ1Zl9jb3VudCsrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9k cF9tc3RfdG9wb2xvZ3kuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMK aW5kZXggNmZhYzQxMjllNmEyLi44Y2E4ZDQxOGNhMzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9t c3RfdG9wb2xvZ3kuYwpAQCAtODE0LDcgKzgxNCw3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX21zdF93 YWl0X3R4X3JlcGx5KHN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCAqbXN0YiwKIAkJCWdvdG8gb3V0 OwogCQl9CiAJfSBlbHNlIHsKLQkJRFJNX0RFQlVHX0tNUygidGltZWRvdXQgbXNnIHNlbmQgJXAg JWQgJWRcbiIsIHR4bXNnLCB0eG1zZy0+c3RhdGUsIHR4bXNnLT5zZXFubyk7CisJCURSTV9ERUJV R19LTVMoInRpbWVkb3V0IG1zZyBzZW5kICVweCAlZCAlZFxuIiwgdHhtc2csIHR4bXNnLT5zdGF0 ZSwgdHhtc2ctPnNlcW5vKTsKIAogCQkvKiBkdW1wIHNvbWUgc3RhdGUgKi8KIAkJcmV0ID0gLUVJ TzsKQEAgLTIzMzUsNyArMjMzNSw3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX21zdF9oYW5kbGVfZG93 bl9yZXAoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpCiAJCW11dGV4X3VubG9j aygmbWdyLT5xbG9jayk7CiAKIAkJaWYgKCF0eG1zZykgewotCQkJRFJNX0RFQlVHX0tNUygiR290 IE1TVCByZXBseSB3aXRoIG5vIG1zZyAlcCAlZCAlZCAlMDJ4ICUwMnhcbiIsCisJCQlEUk1fREVC VUdfS01TKCJHb3QgTVNUIHJlcGx5IHdpdGggbm8gbXNnICVweCAlZCAlZCAlMDJ4ICUwMnhcbiIs CiAJCQkgICAgICAgbXN0YiwKIAkJCSAgICAgICBtZ3ItPmRvd25fcmVwX3JlY3YuaW5pdGlhbF9o ZHIuc2Vxbm8sCiAJCQkgICAgICAgbWdyLT5kb3duX3JlcF9yZWN2LmluaXRpYWxfaGRyLmxjdCwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbGVhc2UuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fbGVhc2UuYwppbmRleCBkMzQ1NTYzZmRmZjMuLjQ3YmFlYzgxYTgxNyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9sZWFzZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f bGVhc2UuYwpAQCAtMjQ4LDcgKzI0OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX21hc3RlciAqZHJt X2xlYXNlX2NyZWF0ZShzdHJ1Y3QgZHJtX21hc3RlciAqbGVzc29yLCBzdHJ1Y3QgaWRyCiAKIAkv KiBNb3ZlIHRoZSBsZWFzZXMgb3ZlciAqLwogCWxlc3NlZS0+bGVhc2VzID0gKmxlYXNlczsKLQlE Uk1fREVCVUdfTEVBU0UoIm5ldyBsZXNzZWUgJWQgJXAsIGxlc3NvciAlZCAlcFxuIiwgbGVzc2Vl LT5sZXNzZWVfaWQsIGxlc3NlZSwgbGVzc29yLT5sZXNzZWVfaWQsIGxlc3Nvcik7CisJRFJNX0RF QlVHX0xFQVNFKCJuZXcgbGVzc2VlICVkICVweCwgbGVzc29yICVkICVweFxuIiwgbGVzc2VlLT5s ZXNzZWVfaWQsIGxlc3NlZSwgbGVzc29yLT5sZXNzZWVfaWQsIGxlc3Nvcik7CiAKIAltdXRleF91 bmxvY2soJmRldi0+bW9kZV9jb25maWcuaWRyX211dGV4KTsKIAlyZXR1cm4gbGVzc2VlOwpAQCAt MzIwLDcgKzMyMCw3IEBAIHN0YXRpYyB2b2lkIF9kcm1fbGVhc2VfcmV2b2tlKHN0cnVjdCBkcm1f bWFzdGVyICp0b3ApCiAJICogdGhlIHRyZWUgaXMgZnVsbHkgY29ubmVjdGVkLCB3ZSBjYW4gZG8g dGhpcyB3aXRob3V0IHJlY3Vyc2luZwogCSAqLwogCWZvciAoOzspIHsKLQkJRFJNX0RFQlVHX0xF QVNFKCJyZXZva2UgbGVhc2VzIGZvciAlcCAlZFxuIiwgbWFzdGVyLCBtYXN0ZXItPmxlc3NlZV9p ZCk7CisJCURSTV9ERUJVR19MRUFTRSgicmV2b2tlIGxlYXNlcyBmb3IgJXB4ICVkXG4iLCBtYXN0 ZXIsIG1hc3Rlci0+bGVzc2VlX2lkKTsKIAogCQkvKiBFdmFjdWF0ZSB0aGUgbGVhc2UgKi8KIAkJ aWRyX2Zvcl9lYWNoX2VudHJ5KCZtYXN0ZXItPmxlYXNlcywgZW50cnksIG9iamVjdCkKQEAgLTU2 NCw3ICs1NjQsNyBAQCBpbnQgZHJtX21vZGVfY3JlYXRlX2xlYXNlX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAJfQogCiAJLyogSW5pdGlhbGl6ZSB0aGUgbmV3IGZpbGUgZm9yIERSTSAq LwotCURSTV9ERUJVR19MRUFTRSgiSW5pdGlhbGl6aW5nIHRoZSBmaWxlIHdpdGggJXBcbiIsIGxl c3NlZV9maWxlLT5mX29wLT5vcGVuKTsKKwlEUk1fREVCVUdfTEVBU0UoIkluaXRpYWxpemluZyB0 aGUgZmlsZSB3aXRoICVweFxuIiwgbGVzc2VlX2ZpbGUtPmZfb3AtPm9wZW4pOwogCXJldCA9IGxl c3NlZV9maWxlLT5mX29wLT5vcGVuKGxlc3NlZV9maWxlLT5mX2lub2RlLCBsZXNzZWVfZmlsZSk7 CiAJaWYgKHJldCkKIAkJZ290byBvdXRfbGVzc2VlX2ZpbGU7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2xvY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jCmluZGV4IDk2 YmI2YmFkYjgxOC4uNTUwYjQ2MmM5NTI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2xvY2suYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2xvY2suYwpAQCAtMzQxLDcgKzM0MSw3 IEBAIHZvaWQgZHJtX2xlZ2FjeV9sb2NrX3JlbGVhc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGZpbGUgKmZpbHApCiAJCXJldHVybjsKIAogCWlmIChkcm1fbGVnYWN5X2lfaGF2ZV9o d19sb2NrKGRldiwgZmlsZV9wcml2KSkgewotCQlEUk1fREVCVUcoIkZpbGUgJXAgcmVsZWFzZWQs IGZyZWVpbmcgbG9jayBmb3IgY29udGV4dCAlZFxuIiwKKwkJRFJNX0RFQlVHKCJGaWxlICVweCBy ZWxlYXNlZCwgZnJlZWluZyBsb2NrIGZvciBjb250ZXh0ICVkXG4iLAogCQkJICBmaWxwLCBfRFJN X0xPQ0tJTkdfQ09OVEVYVChmaWxlX3ByaXYtPm1hc3Rlci0+bG9jay5od19sb2NrLT5sb2NrKSk7 CiAJCWRybV9sZWdhY3lfbG9ja19mcmVlKCZmaWxlX3ByaXYtPm1hc3Rlci0+bG9jaywKIAkJCQkg ICAgIF9EUk1fTE9DS0lOR19DT05URVhUKGZpbGVfcHJpdi0+bWFzdGVyLT5sb2NrLmh3X2xvY2st PmxvY2spKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2NhdHRlci5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9zY2F0dGVyLmMKaW5kZXggMjc1YmNhNDRmMzhjLi4wNjM0MGMwN2Vj MTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2NhdHRlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fc2NhdHRlci5jCkBAIC0xMzQsNyArMTM0LDcgQEAgaW50IGRybV9sZWdh Y3lfc2dfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAllbnRyeS0+ aGFuZGxlID0gU2NhdHRlckhhbmRsZSgodW5zaWduZWQgbG9uZyllbnRyeS0+dmlydHVhbCk7CiAK IAlEUk1fREVCVUcoImhhbmRsZSAgPSAlMDhseFxuIiwgZW50cnktPmhhbmRsZSk7Ci0JRFJNX0RF QlVHKCJ2aXJ0dWFsID0gJXBcbiIsIGVudHJ5LT52aXJ0dWFsKTsKKwlEUk1fREVCVUcoInZpcnR1 YWwgPSAlcHhcbiIsIGVudHJ5LT52aXJ0dWFsKTsKIAogCWZvciAoaSA9ICh1bnNpZ25lZCBsb25n KWVudHJ5LT52aXJ0dWFsLCBqID0gMDsgaiA8IHBhZ2VzOwogCSAgICAgaSArPSBQQUdFX1NJWkUs IGorKykgewpAQCAtMjEzLDcgKzIxMyw3IEBAIGludCBkcm1fbGVnYWN5X3NnX2ZyZWUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlpZiAoIWVudHJ5IHx8IGVudHJ5LT5oYW5k bGUgIT0gcmVxdWVzdC0+aGFuZGxlKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCURSTV9ERUJVRygi dmlydHVhbCAgPSAlcFxuIiwgZW50cnktPnZpcnR1YWwpOworCURSTV9ERUJVRygidmlydHVhbCAg PSAlcHhcbiIsIGVudHJ5LT52aXJ0dWFsKTsKIAogCWRybV9zZ19jbGVhbnVwKGVudHJ5KTsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYyBiL2RyaXZl cnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHJ2LmMKaW5kZXggYWI1MDA5MGQwNjZjLi4wOTA2 NTU5NjQ2M2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHJ2 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYwpAQCAtNTIsNyAr NTIsNyBAQCB2b2lkIF9faW9tZW0gKmV0bmF2aXZfaW9yZW1hcChzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2LCBjb25zdCBjaGFyICpuYW1lLAogCX0KIAogCWlmIChyZWdsb2cpCi0JCWRldl9w cmludGsoS0VSTl9ERUJVRywgJnBkZXYtPmRldiwgIklPOnJlZ2lvbiAlcyAweCVwICUwOHp4XG4i LAorCQlkZXZfcHJpbnRrKEtFUk5fREVCVUcsICZwZGV2LT5kZXYsICJJTzpyZWdpb24gJXMgMHgl cHggJTA4enhcbiIsCiAJCQkgICBkYmduYW1lLCBwdHIsIChzaXplX3QpcmVzb3VyY2Vfc2l6ZShy ZXMpKTsKIAogCXJldHVybiBwdHI7CkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgX19pb21lbSAqZXRu YXZpdl9pb3JlbWFwKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIGNvbnN0IGNoYXIgKm5h bWUsCiB2b2lkIGV0bmF2aXZfd3JpdGVsKHUzMiBkYXRhLCB2b2lkIF9faW9tZW0gKmFkZHIpCiB7 CiAJaWYgKHJlZ2xvZykKLQkJcHJpbnRrKEtFUk5fREVCVUcgIklPOlcgJXAgJTA4eFxuIiwgYWRk ciwgZGF0YSk7CisJCXByaW50ayhLRVJOX0RFQlVHICJJTzpXICVweCAlMDh4XG4iLCBhZGRyLCBk YXRhKTsKIAogCXdyaXRlbChkYXRhLCBhZGRyKTsKIH0KQEAgLTcxLDcgKzcxLDcgQEAgdTMyIGV0 bmF2aXZfcmVhZGwoY29uc3Qgdm9pZCBfX2lvbWVtICphZGRyKQogCXUzMiB2YWwgPSByZWFkbChh ZGRyKTsKIAogCWlmIChyZWdsb2cpCi0JCXByaW50ayhLRVJOX0RFQlVHICJJTzpSICVwICUwOHhc biIsIGFkZHIsIHZhbCk7CisJCXByaW50ayhLRVJOX0RFQlVHICJJTzpSICVweCAlMDh4XG4iLCBh ZGRyLCB2YWwpOwogCiAJcmV0dXJuIHZhbDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pODEwL2k4MTBfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTgxMC9pODEwX2RtYS5jCmluZGV4 IDU3NmE0MTc2OTBkNC4uMDBiODcyZmQyN2IwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTgxMC9pODEwX2RtYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pODEwL2k4MTBfZG1hLmMKQEAg LTM5OSw3ICszOTksNyBAQCBzdGF0aWMgaW50IGk4MTBfZG1hX2luaXRpYWxpemUoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAkJRFJNX0VSUk9SKCJDYW4gbm90IGFsbG9jYXRlIGhhcmR3YXJlIHN0 YXR1cyBwYWdlXG4iKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCURSTV9ERUJVRygiaHcgc3Rh dHVzIHBhZ2UgQCAlcFxuIiwgZGV2X3ByaXYtPmh3X3N0YXR1c19wYWdlKTsKKwlEUk1fREVCVUco Imh3IHN0YXR1cyBwYWdlIEAgJXB4XG4iLCBkZXZfcHJpdi0+aHdfc3RhdHVzX3BhZ2UpOwogCiAJ STgxMF9XUklURSgweDAyMDgwLCBkZXZfcHJpdi0+ZG1hX3N0YXR1c19wYWdlKTsKIAlEUk1fREVC VUcoIkVuYWJsZWQgaGFyZHdhcmUgc3RhdHVzIHBhZ2VcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bl cmYuYwppbmRleCBhYmFjYTZlZGViNzEuLmE5MGNhMjRiMDNlYSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wZXJmLmMKQEAgLTE0NzMsNyArMTQ3Myw3IEBAIHN0YXRpYyBpbnQgYWxsb2Nfb2FfYnVmZmVy KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCWRldl9wcml2LT5wZXJmLm9h Lm9wcy5pbml0X29hX2J1ZmZlcihkZXZfcHJpdik7CiAKLQlEUk1fREVCVUdfRFJJVkVSKCJPQSBC dWZmZXIgaW5pdGlhbGl6ZWQsIGd0dCBvZmZzZXQgPSAweCV4LCB2YWRkciA9ICVwXG4iLAorCURS TV9ERUJVR19EUklWRVIoIk9BIEJ1ZmZlciBpbml0aWFsaXplZCwgZ3R0IG9mZnNldCA9IDB4JXgs IHZhZGRyID0gJXB4XG4iLAogCQkJIGk5MTVfZ2d0dF9vZmZzZXQoZGV2X3ByaXYtPnBlcmYub2Eu b2FfYnVmZmVyLnZtYSksCiAJCQkgZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnZhZGRyKTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDNiNDhmZDI1NjFmZS4uOTc1 OTI1N2FjNjE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0yNzMyLDcg KzI3MzIsNyBAQCBpbnRlbF9hbGxvY19pbml0aWFsX3BsYW5lX29iaihzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YywKIAl9CiAKIAotCURSTV9ERUJVR19LTVMoImluaXRpYWwgcGxhbmUgZmIgb2JqICVw XG4iLCBvYmopOworCURSTV9ERUJVR19LTVMoImluaXRpYWwgcGxhbmUgZmIgb2JqICVweFxuIiwg b2JqKTsKIAlyZXR1cm4gdHJ1ZTsKIAogb3V0X3VucmVmX29iajoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19jdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjX2N0LmMKaW5kZXggMjRhZDU1NzUyMzk2Li4zYzQ0YzE5NDZlNjYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19jdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Y19jdC5jCkBAIC00OSw3ICs0OSw3IEBAIHN0YXRpYyBpbmxpbmUgY29u c3QgY2hhciAqZ3VjX2N0X2J1ZmZlcl90eXBlX3RvX3N0cih1MzIgdHlwZSkKIHN0YXRpYyB2b2lk IGd1Y19jdF9idWZmZXJfZGVzY19pbml0KHN0cnVjdCBndWNfY3RfYnVmZmVyX2Rlc2MgKmRlc2Ms CiAJCQkJICAgIHUzMiBjbWRzX2FkZHIsIHUzMiBzaXplLCB1MzIgb3duZXIpCiB7Ci0JRFJNX0RF QlVHX0RSSVZFUigiQ1Q6IGRlc2MgJXAgaW5pdCBhZGRyPSUjeCBzaXplPSV1IG93bmVyPSV1XG4i LAorCURSTV9ERUJVR19EUklWRVIoIkNUOiBkZXNjICVweCBpbml0IGFkZHI9JSN4IHNpemU9JXUg b3duZXI9JXVcbiIsCiAJCQkgZGVzYywgY21kc19hZGRyLCBzaXplLCBvd25lcik7CiAJbWVtc2V0 KGRlc2MsIDAsIHNpemVvZigqZGVzYykpOwogCWRlc2MtPmFkZHIgPSBjbWRzX2FkZHI7CkBAIC01 OSw3ICs1OSw3IEBAIHN0YXRpYyB2b2lkIGd1Y19jdF9idWZmZXJfZGVzY19pbml0KHN0cnVjdCBn dWNfY3RfYnVmZmVyX2Rlc2MgKmRlc2MsCiAKIHN0YXRpYyB2b2lkIGd1Y19jdF9idWZmZXJfZGVz Y19yZXNldChzdHJ1Y3QgZ3VjX2N0X2J1ZmZlcl9kZXNjICpkZXNjKQogewotCURSTV9ERUJVR19E UklWRVIoIkNUOiBkZXNjICVwIHJlc2V0IGhlYWQ9JXUgdGFpbD0ldVxuIiwKKwlEUk1fREVCVUdf RFJJVkVSKCJDVDogZGVzYyAlcHggcmVzZXQgaGVhZD0ldSB0YWlsPSV1XG4iLAogCQkJIGRlc2Ms IGRlc2MtPmhlYWQsIGRlc2MtPnRhaWwpOwogCWRlc2MtPmhlYWQgPSAwOwogCWRlc2MtPnRhaWwg PSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Np b24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKaW5kZXgg OGE4YWQyZmUxNThkLi4xMGFmOTVlOTFjYTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtOTI4LDcgKzkyOCw3IEBAIGd1Y19jbGllbnRfYWxsb2Mo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWlmIChyZXQpCiAJCWdvdG8gZXJy X3ZhZGRyOwogCi0JRFJNX0RFQlVHX0RSSVZFUigibmV3IHByaW9yaXR5ICV1IGNsaWVudCAlcCBm b3IgZW5naW5lKHMpIDB4JXg6IHN0YWdlX2lkICV1XG4iLAorCURSTV9ERUJVR19EUklWRVIoIm5l dyBwcmlvcml0eSAldSBjbGllbnQgJXB4IGZvciBlbmdpbmUocykgMHgleDogc3RhZ2VfaWQgJXVc biIsCiAJCQkgcHJpb3JpdHksIGNsaWVudCwgY2xpZW50LT5lbmdpbmVzLCBjbGllbnQtPnN0YWdl X2lkKTsKIAlEUk1fREVCVUdfRFJJVkVSKCJkb29yYmVsbCBpZCAldSwgY2FjaGVsaW5lIG9mZnNl dCAweCVseFxuIiwKIAkJCSBjbGllbnQtPmRvb3JiZWxsX2lkLCBjbGllbnQtPmRvb3JiZWxsX29m ZnNldCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Y19mdy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWNfZncuYwppbmRleCAzZWMwY2U1MDViNzYuLjRj OTY4MDc4YzYxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWNfZncu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Y19mdy5jCkBAIC02NCw3ICs2NCw3 IEBAIHZvaWQgaW50ZWxfdWNfZndfZmV0Y2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCQlnb3RvIGZhaWw7CiAJfQogCi0JRFJNX0RFQlVHX0RSSVZFUigiJXMgZncgc2l6ZSAl enUgcHRyICVwXG4iLAorCURSTV9ERUJVR19EUklWRVIoIiVzIGZ3IHNpemUgJXp1IHB0ciAlcHhc biIsCiAJCQkgaW50ZWxfdWNfZndfdHlwZV9yZXByKHVjX2Z3LT50eXBlKSwgZnctPnNpemUsIGZ3 KTsKIAogCS8qIENoZWNrIHRoZSBzaXplIG9mIHRoZSBibG9iIGJlZm9yZSBleGFtaW5pbmcgYnVm ZmVyIGNvbnRlbnRzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2RybV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2dlbS5jCmluZGV4 IGY1OTVhYzgxNmI1NS4uY2NkZWM4MWRlOWUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2RybV9nZW0uYwpAQCAtNzEsNyArNzEsNyBAQCBzdHJ1Y3QgbXRrX2RybV9nZW1fb2JqICptdGtf ZHJtX2dlbV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpZiAoYWxsb2Nfa21hcCkK IAkJbXRrX2dlbS0+a3ZhZGRyID0gbXRrX2dlbS0+Y29va2llOwogCi0JRFJNX0RFQlVHX0RSSVZF UigiY29va2llID0gJXAgZG1hX2FkZHIgPSAlcGFkIHNpemUgPSAlenVcbiIsCisJRFJNX0RFQlVH X0RSSVZFUigiY29va2llID0gJXB4IGRtYV9hZGRyID0gJXBhZCBzaXplID0gJXp1XG4iLAogCQkJ IG10a19nZW0tPmNvb2tpZSwgJm10a19nZW0tPmRtYV9hZGRyLAogCQkJIHNpemUpOwogCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV93YXJwLmMgYi9kcml2ZXJzL2dwdS9kcm0v bWdhL21nYV93YXJwLmMKaW5kZXggMGI3NjM1MjI2MGE5Li41YjI4NmYwNGY4MDUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3dhcnAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bWdhL21nYV93YXJwLmMKQEAgLTExNiw3ICsxMTYsNyBAQCBpbnQgbWdhX3dhcnBfaW5zdGFsbF9t aWNyb2NvZGUoZHJtX21nYV9wcml2YXRlX3QgKmRldl9wcml2KQogCSAgICAgcmVjID0gaWhleF9u ZXh0X2JpbnJlYyhyZWMpKSB7CiAJCXVuc2lnbmVkIGludCBzcmNfc2l6ZSwgZHN0X3NpemU7CiAK LQkJRFJNX0RFQlVHKCIgcGNiYXNlID0gMHglMDhseCAgdmNiYXNlID0gJXBcbiIsIHBjYmFzZSwg dmNiYXNlKTsKKwkJRFJNX0RFQlVHKCIgcGNiYXNlID0gMHglMDhseCAgdmNiYXNlID0gJXB4XG4i LCBwY2Jhc2UsIHZjYmFzZSk7CiAJCWRldl9wcml2LT53YXJwX3BpcGVfcGh5c1t3aGVyZV0gPSBw Y2Jhc2U7CiAJCXNyY19zaXplID0gYmUxNl90b19jcHUocmVjLT5sZW4pOwogCQlkc3Rfc2l6ZSA9 IFdBUlBfVUNPREVfU0laRShzcmNfc2l6ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCmluZGV4IDMwY2Q1 MTRkOGY3Yy4uMDc4ZTljMzE4M2U4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwpAQCAtMTIyLDcgKzEy Miw3IEBAIHZvaWQgX19pb21lbSAqbXNtX2lvcmVtYXAoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldiwgY29uc3QgY2hhciAqbmFtZSwKIAl9CiAKIAlpZiAocmVnbG9nKQotCQlwcmludGsoS0VS Tl9ERUJVRyAiSU86cmVnaW9uICVzICVwICUwOGx4XG4iLCBkYmduYW1lLCBwdHIsIHNpemUpOwor CQlwcmludGsoS0VSTl9ERUJVRyAiSU86cmVnaW9uICVzICVweCAlMDhseFxuIiwgZGJnbmFtZSwg cHRyLCBzaXplKTsKIAogCXJldHVybiBwdHI7CiB9CkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBf X2lvbWVtICptc21faW9yZW1hcChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBjb25zdCBj aGFyICpuYW1lLAogdm9pZCBtc21fd3JpdGVsKHUzMiBkYXRhLCB2b2lkIF9faW9tZW0gKmFkZHIp CiB7CiAJaWYgKHJlZ2xvZykKLQkJcHJpbnRrKEtFUk5fREVCVUcgIklPOlcgJXAgJTA4eFxuIiwg YWRkciwgZGF0YSk7CisJCXByaW50ayhLRVJOX0RFQlVHICJJTzpXICVweCAlMDh4XG4iLCBhZGRy LCBkYXRhKTsKIAl3cml0ZWwoZGF0YSwgYWRkcik7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX2NtZC5jIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfY21kLmMKaW5k ZXggYzBmYjUyYzZkNGNhLi5mNmM2NGM1Y2I5OWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9xeGwvcXhsX2NtZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2NtZC5jCkBAIC0z ODEsNyArMzgxLDcgQEAgdm9pZCBxeGxfaW9fY3JlYXRlX3ByaW1hcnkoc3RydWN0IHF4bF9kZXZp Y2UgKnFkZXYsCiB7CiAJc3RydWN0IHF4bF9zdXJmYWNlX2NyZWF0ZSAqY3JlYXRlOwogCi0JRFJN X0RFQlVHX0RSSVZFUigicWRldiAlcCwgcmFtX2hlYWRlciAlcFxuIiwgcWRldiwgcWRldi0+cmFt X2hlYWRlcik7CisJRFJNX0RFQlVHX0RSSVZFUigicWRldiAlcHgsIHJhbV9oZWFkZXIgJXB4XG4i LCBxZGV2LCBxZGV2LT5yYW1faGVhZGVyKTsKIAljcmVhdGUgPSAmcWRldi0+cmFtX2hlYWRlci0+ Y3JlYXRlX3N1cmZhY2U7CiAJY3JlYXRlLT5mb3JtYXQgPSBiby0+c3VyZi5mb3JtYXQ7CiAJY3Jl YXRlLT53aWR0aCA9IGJvLT5zdXJmLndpZHRoOwpAQCAtMzkzLDcgKzM5Myw3IEBAIHZvaWQgcXhs X2lvX2NyZWF0ZV9wcmltYXJ5KHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2LAogCQljcmVhdGUtPm1l bSA9IHF4bF9ib19waHlzaWNhbF9hZGRyZXNzKHFkZXYsIGJvLCBvZmZzZXQpOwogCX0KIAotCURS TV9ERUJVR19EUklWRVIoIm1lbSA9ICVsbHgsIGZyb20gJXBcbiIsIGNyZWF0ZS0+bWVtLCBiby0+ a3B0cik7CisJRFJNX0RFQlVHX0RSSVZFUigibWVtID0gJWxseCwgZnJvbSAlcHhcbiIsIGNyZWF0 ZS0+bWVtLCBiby0+a3B0cik7CiAKIAljcmVhdGUtPmZsYWdzID0gUVhMX1NVUkZfRkxBR19LRUVQ X0RBVEE7CiAJY3JlYXRlLT50eXBlID0gUVhMX1NVUkZfVFlQRV9QUklNQVJZOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhs X2ZiLmMKaW5kZXggMzM4ODkxNDAxZjM1Li5jZTUwNmU3MDJhZWQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9xeGwvcXhsX2ZiLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZmIu YwpAQCAtMjQ2LDcgKzI0Niw3IEBAIHN0YXRpYyBpbnQgcXhsZmJfY3JlYXRlKHN0cnVjdCBxeGxf ZmJkZXYgKnFmYmRldiwKIAlzaGFkb3cgPSB2bWFsbG9jKG1vZGVfY21kLnBpdGNoZXNbMF0gKiBt b2RlX2NtZC5oZWlnaHQpOwogCS8qIFRPRE86IHdoYXQncyB0aGUgdXN1YWwgcmVzcG9uc2UgdG8g bWVtb3J5IGFsbG9jYXRpb24gZXJyb3JzPyAqLwogCUJVR19PTighc2hhZG93KTsKLQlEUk1fREVC VUdfRFJJVkVSKCJzdXJmYWNlMCBhdCBncHUgb2Zmc2V0ICVsbGQsIG1tYXBfb2Zmc2V0ICVsbGQg KHZpcnQgJXAsIHNoYWRvdyAlcClcbiIsCisJRFJNX0RFQlVHX0RSSVZFUigic3VyZmFjZTAgYXQg Z3B1IG9mZnNldCAlbGxkLCBtbWFwX29mZnNldCAlbGxkICh2aXJ0ICVweCwgc2hhZG93ICVweClc biIsCiAJCQkgcXhsX2JvX2dwdV9vZmZzZXQocWJvKSwgcXhsX2JvX21tYXBfb2Zmc2V0KHFibyks CiAJCQkgcWJvLT5rcHRyLCBzaGFkb3cpOwogCXNpemUgPSBtb2RlX2NtZC5waXRjaGVzWzBdICog bW9kZV9jbWQuaGVpZ2h0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfdHRt LmMgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF90dG0uYwppbmRleCBlZTIzNDBlMzFmMDYuLmJi YmY5NDMzZDMyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfdHRtLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfdHRtLmMKQEAgLTEzMyw3ICsxMzMsNyBAQCBpbnQg cXhsX21tYXAoc3RydWN0IGZpbGUgKmZpbHAsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQog CQkgImZpbHAtPnByaXZhdGVfZGF0YS0+bWlub3ItPmRldi0+ZGV2X3ByaXZhdGUgPT0gTlVMTFxu Iik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KLQlEUk1fREVCVUdfRFJJVkVSKCJmaWxwLT5wcml2 YXRlX2RhdGEgPSAweCVwLCB2bWEtPnZtX3Bnb2ZmID0gJWx4XG4iLAorCURSTV9ERUJVR19EUklW RVIoImZpbHAtPnByaXZhdGVfZGF0YSA9IDB4JXB4LCB2bWEtPnZtX3Bnb2ZmID0gJWx4XG4iLAog CQkgIGZpbHAtPnByaXZhdGVfZGF0YSwgdm1hLT52bV9wZ29mZik7CiAKIAlyID0gdHRtX2JvX21t YXAoZmlscCwgdm1hLCAmcWRldi0+bW1hbi5iZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2Rpc3BsYXkuYwppbmRleCAyNjEyOWIyYjA4MmQuLjlmMzgwOTBlODllZiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYwpAQCAtNTEzLDcgKzUxMyw3IEBAIHN0YXRp YyBpbnQgcmFkZW9uX2NydGNfcGFnZV9mbGlwX3RhcmdldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMs CiAJbmV3X3JibyA9IGdlbV90b19yYWRlb25fYm8ob2JqKTsKIAogCS8qIHBpbiB0aGUgbmV3IGJ1 ZmZlciAqLwotCURSTV9ERUJVR19EUklWRVIoImZsaXAtaW9jdGwoKSBjdXJfcmJvID0gJXAsIG5l d19yYm8gPSAlcFxuIiwKKwlEUk1fREVCVUdfRFJJVkVSKCJmbGlwLWlvY3RsKCkgY3VyX3JibyA9 ICVweCwgbmV3X3JibyA9ICVweFxuIiwKIAkJCSB3b3JrLT5vbGRfcmJvLCBuZXdfcmJvKTsKIAog CXIgPSByYWRlb25fYm9fcmVzZXJ2ZShuZXdfcmJvLCBmYWxzZSk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX2RwX21zdC5jCmluZGV4IGNkOGEzZWUxNjY0OS4uNDQwMTYzOTIxMTVlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYwpAQCAtMTkzLDcgKzE5Myw3IEBAIHN0 YXRpYyBpbnQgcmFkZW9uX2RwX21zdF9nZXRfZGRjX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpCiAKIAllZGlkID0gZHJtX2RwX21zdF9nZXRfZWRpZChjb25uZWN0b3IsICZt YXN0ZXItPm1zdF9tZ3IsIHJhZGVvbl9jb25uZWN0b3ItPnBvcnQpOwogCXJhZGVvbl9jb25uZWN0 b3ItPmVkaWQgPSBlZGlkOwotCURSTV9ERUJVR19LTVMoImVkaWQgcmV0cmlldmVkICVwXG4iLCBl ZGlkKTsKKwlEUk1fREVCVUdfS01TKCJlZGlkIHJldHJpZXZlZCAlcHhcbiIsIGVkaWQpOwogCWlm IChyYWRlb25fY29ubmVjdG9yLT5lZGlkKSB7CiAJCWRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVf ZWRpZF9wcm9wZXJ0eSgmcmFkZW9uX2Nvbm5lY3Rvci0+YmFzZSwgcmFkZW9uX2Nvbm5lY3Rvci0+ ZWRpZCk7CiAJCXJldCA9IGRybV9hZGRfZWRpZF9tb2RlcygmcmFkZW9uX2Nvbm5lY3Rvci0+YmFz ZSwgcmFkZW9uX2Nvbm5lY3Rvci0+ZWRpZCk7CkBAIC0zNDgsNyArMzQ4LDcgQEAgcmFkZW9uX2Nv bm5lY3RvciAqcmFkZW9uX21zdF9maW5kX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIpCiAJCWlmICghcmFkZW9uX2Nvbm5lY3Rvci0+aXNfbXN0X2Nvbm5lY3RvcikKIAkJCWNv bnRpbnVlOwogCi0JCURSTV9ERUJVR19LTVMoImNoZWNraW5nICVwIHZzICVwXG4iLCBjb25uZWN0 b3ItPmVuY29kZXIsIGVuY29kZXIpOworCQlEUk1fREVCVUdfS01TKCJjaGVja2luZyAlcHggdnMg JXB4XG4iLCBjb25uZWN0b3ItPmVuY29kZXIsIGVuY29kZXIpOwogCQlpZiAoY29ubmVjdG9yLT5l bmNvZGVyID09IGVuY29kZXIpCiAJCQlyZXR1cm4gcmFkZW9uX2Nvbm5lY3RvcjsKIAl9CkBAIC0z NzQsNyArMzc0LDcgQEAgdm9pZCByYWRlb25fZHBfbXN0X3ByZXBhcmVfcGxsKHN0cnVjdCBkcm1f Y3J0YyAqY3J0Yywgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm0KIAkJCXJhZGVvbl9jcnRjLT5i cGMgPSA4OwogCX0KIAotCURSTV9ERUJVR19LTVMoImRwX2Nsb2NrICVwICVkXG4iLCBkaWdfY29u bmVjdG9yLCBkaWdfY29ubmVjdG9yLT5kcF9jbG9jayk7CisJRFJNX0RFQlVHX0tNUygiZHBfY2xv Y2sgJXB4ICVkXG4iLCBkaWdfY29ubmVjdG9yLCBkaWdfY29ubmVjdG9yLT5kcF9jbG9jayk7CiAJ ZHBfY2xvY2sgPSBkaWdfY29ubmVjdG9yLT5kcF9jbG9jazsKIAlyYWRlb25fY3J0Yy0+c3NfZW5h YmxlZCA9CiAJCXJhZGVvbl9hdG9tYmlvc19nZXRfYXNpY19zc19pbmZvKHJkZXYsICZyYWRlb25f Y3J0Yy0+c3MsCkBAIC01MzMsNyArNTMzLDcgQEAgc3RhdGljIGJvb2wgcmFkZW9uX21zdF9tb2Rl X2ZpeHVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlkaWdfY29ubmVjdG9yID0gbXN0 X2VuYy0+Y29ubmVjdG9yLT5jb25fcHJpdjsKIAlkaWdfY29ubmVjdG9yLT5kcF9sYW5lX2NvdW50 ID0gZHJtX2RwX21heF9sYW5lX2NvdW50KGRpZ19jb25uZWN0b3ItPmRwY2QpOwogCWRpZ19jb25u ZWN0b3ItPmRwX2Nsb2NrID0gZHJtX2RwX21heF9saW5rX3JhdGUoZGlnX2Nvbm5lY3Rvci0+ZHBj ZCk7Ci0JRFJNX0RFQlVHX0tNUygiZGlnIGNsb2NrICVwICVkICVkXG4iLCBkaWdfY29ubmVjdG9y LAorCURSTV9ERUJVR19LTVMoImRpZyBjbG9jayAlcHggJWQgJWRcbiIsIGRpZ19jb25uZWN0b3Is CiAJCSAgICAgIGRpZ19jb25uZWN0b3ItPmRwX2xhbmVfY291bnQsIGRpZ19jb25uZWN0b3ItPmRw X2Nsb2NrKTsKIAlyZXR1cm4gdHJ1ZTsKIH0KQEAgLTU0Nyw3ICs1NDcsNyBAQCBzdGF0aWMgdm9p ZCByYWRlb25fbXN0X2VuY29kZXJfcHJlcGFyZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp CiAKIAlyYWRlb25fY29ubmVjdG9yID0gcmFkZW9uX21zdF9maW5kX2Nvbm5lY3RvcihlbmNvZGVy KTsKIAlpZiAoIXJhZGVvbl9jb25uZWN0b3IpIHsKLQkJRFJNX0RFQlVHX0tNUygiZmFpbGVkIHRv IGZpbmQgY29ubmVjdG9yICVwXG4iLCBlbmNvZGVyKTsKKwkJRFJNX0RFQlVHX0tNUygiZmFpbGVk IHRvIGZpbmQgY29ubmVjdG9yICVweFxuIiwgZW5jb2Rlcik7CiAJCXJldHVybjsKIAl9CiAJcmFk ZW9uX2VuY29kZXIgPSB0b19yYWRlb25fZW5jb2RlcihlbmNvZGVyKTsKQEAgLTYxNSw3ICs2MTUs NyBAQCByYWRlb25fZHBfY3JlYXRlX2Zha2VfbXN0X2VuY29kZXIoc3RydWN0IHJhZGVvbl9jb25u ZWN0b3IgKmNvbm5lY3RvcikKIAljb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVu Y3MgKmNvbm5lY3Rvcl9mdW5jcyA9IGNvbm5lY3Rvci0+YmFzZS5oZWxwZXJfcHJpdmF0ZTsKIAlz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY19tYXN0ZXIgPSBjb25uZWN0b3JfZnVuY3MtPmJlc3RfZW5j b2RlcigmY29ubmVjdG9yLT5iYXNlKTsKIAotCURSTV9ERUJVR19LTVMoImVuYyBtYXN0ZXIgaXMg JXBcbiIsIGVuY19tYXN0ZXIpOworCURSTV9ERUJVR19LTVMoImVuYyBtYXN0ZXIgaXMgJXB4XG4i LCBlbmNfbWFzdGVyKTsKIAlyYWRlb25fZW5jb2RlciA9IGt6YWxsb2Moc2l6ZW9mKCpyYWRlb25f ZW5jb2RlciksIEdGUF9LRVJORUwpOwogCWlmICghcmFkZW9uX2VuY29kZXIpCiAJCXJldHVybiBO VUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYwppbmRleCBlZGJiNGNkNTE5 ZmQuLjI0ZGViYjI3NjBjMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmMK QEAgLTYzOSw3ICs2MzksNyBAQCBpbnQgcmFkZW9uX2JvX2dldF9zdXJmYWNlX3JlZyhzdHJ1Y3Qg cmFkZW9uX2JvICpibykKIAkJcmVnID0gJnJkZXYtPnN1cmZhY2VfcmVnc1tzdGVhbF07CiAJCW9s ZF9vYmplY3QgPSByZWctPmJvOwogCQkvKiBibG93IGF3YXkgdGhlIG1hcHBpbmcgKi8KLQkJRFJN X0RFQlVHKCJzdGVhbGluZyBzdXJmYWNlIHJlZyAlZCBmcm9tICVwXG4iLCBzdGVhbCwgb2xkX29i amVjdCk7CisJCURSTV9ERUJVRygic3RlYWxpbmcgc3VyZmFjZSByZWcgJWQgZnJvbSAlcHhcbiIs IHN0ZWFsLCBvbGRfb2JqZWN0KTsKIAkJdHRtX2JvX3VubWFwX3ZpcnR1YWwoJm9sZF9vYmplY3Qt PnRibyk7CiAJCW9sZF9vYmplY3QtPnN1cmZhY2VfcmVnID0gLTE7CiAJCWkgPSBzdGVhbDsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZmJkZXYuYyBi L2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZmJkZXYuYwppbmRleCBlNjY1 MDU1M2Y1ZDYuLmQ5MGEzNzJhNjQxMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL3JvY2tjaGlwX2RybV9mYmRldi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9y b2NrY2hpcF9kcm1fZmJkZXYuYwpAQCAtMTA2LDcgKzEwNiw3IEBAIHN0YXRpYyBpbnQgcm9ja2No aXBfZHJtX2ZiZGV2X2NyZWF0ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCWZiaS0+ c2NyZWVuX3NpemUgPSBya19vYmotPmJhc2Uuc2l6ZTsKIAlmYmktPmZpeC5zbWVtX2xlbiA9IHJr X29iai0+YmFzZS5zaXplOwogCi0JRFJNX0RFQlVHX0tNUygiRkIgWyVkeCVkXS0lZCBrdmFkZHI9 JXAgb2Zmc2V0PSVsZCBzaXplPSV6dVxuIiwKKwlEUk1fREVCVUdfS01TKCJGQiBbJWR4JWRdLSVk IGt2YWRkcj0lcHggb2Zmc2V0PSVsZCBzaXplPSV6dVxuIiwKIAkJICAgICAgZmItPndpZHRoLCBm Yi0+aGVpZ2h0LCBmYi0+Zm9ybWF0LT5kZXB0aCwKIAkJICAgICAgcmtfb2JqLT5rdmFkZHIsCiAJ CSAgICAgIG9mZnNldCwgc2l6ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc2F2YWdl L3NhdmFnZV9iY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2JjaS5jCmluZGV4 IDJhNWI4NDY2ZDgwNi4uNjhhYzg2YjgzZDFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v c2F2YWdlL3NhdmFnZV9iY2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9i Y2kuYwpAQCAtMjY1LDcgKzI2NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2J1ZiAqc2F2YWdlX2Zy ZWVsaXN0X2dldChzdHJ1Y3QgZHJtX2RldmljZSAqIGRldikKIAkJcmV0dXJuIHRhaWwtPmJ1ZjsK IAl9CiAKLQlEUk1fREVCVUcoInJldHVybmluZyBOVUxMLCB0YWlsLT5idWY9JXAhXG4iLCB0YWls LT5idWYpOworCURSTV9ERUJVRygicmV0dXJuaW5nIE5VTEwsIHRhaWwtPmJ1Zj0lcHghXG4iLCB0 YWlsLT5idWYpOwogCXJldHVybiBOVUxMOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9nZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2dkcC5jCmluZGV4IDli MmM0NzA1MWI1MS4uMzg1ODQxYzQ2ODM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV9nZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9nZHAuYwpAQCAtNTI5LDcg KzUyOSw3IEBAIHN0YXRpYyB2b2lkIHN0aV9nZHBfaW5pdChzdHJ1Y3Qgc3RpX2dkcCAqZ2RwKQog CQlnZHAtPm5vZGVfbGlzdFtpXS50b3BfZmllbGQgPSBiYXNlOwogCQlnZHAtPm5vZGVfbGlzdFtp XS50b3BfZmllbGRfcGFkZHIgPSBkbWFfYWRkcjsKIAotCQlEUk1fREVCVUdfRFJJVkVSKCJub2Rl WyVkXS50b3BfZmllbGQ9JXBcbiIsIGksIGJhc2UpOworCQlEUk1fREVCVUdfRFJJVkVSKCJub2Rl WyVkXS50b3BfZmllbGQ9JXB4XG4iLCBpLCBiYXNlKTsKIAkJYmFzZSArPSBzaXplb2Yoc3RydWN0 IHN0aV9nZHBfbm9kZSk7CiAJCWRtYV9hZGRyICs9IHNpemVvZihzdHJ1Y3Qgc3RpX2dkcF9ub2Rl KTsKIApAQCAtNTM5LDcgKzUzOSw3IEBAIHN0YXRpYyB2b2lkIHN0aV9nZHBfaW5pdChzdHJ1Y3Qg c3RpX2dkcCAqZ2RwKQogCQl9CiAJCWdkcC0+bm9kZV9saXN0W2ldLmJ0bV9maWVsZCA9IGJhc2U7 CiAJCWdkcC0+bm9kZV9saXN0W2ldLmJ0bV9maWVsZF9wYWRkciA9IGRtYV9hZGRyOwotCQlEUk1f REVCVUdfRFJJVkVSKCJub2RlWyVkXS5idG1fZmllbGQ9JXBcbiIsIGksIGJhc2UpOworCQlEUk1f REVCVUdfRFJJVkVSKCJub2RlWyVkXS5idG1fZmllbGQ9JXB4XG4iLCBpLCBiYXNlKTsKIAkJYmFz ZSArPSBzaXplb2Yoc3RydWN0IHN0aV9nZHBfbm9kZSk7CiAJCWRtYV9hZGRyICs9IHNpemVvZihz dHJ1Y3Qgc3RpX2dkcF9ub2RlKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV9taXhlci5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfbWl4ZXIuYwppbmRleCBhNGY0 NWM3NGQ2NzguLjZlYTVmODFkZDlkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9z dGlfbWl4ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9taXhlci5jCkBAIC0zNjcs NyArMzY3LDcgQEAgc3RydWN0IHN0aV9taXhlciAqc3RpX21peGVyX2NyZWF0ZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCiAJbWl4ZXItPmRldiA9IGRldjsKIAltaXhlci0+aWQgPSBpZDsKIAotCURSTV9E RUJVR19EUklWRVIoIiVzIGNyZWF0ZWQuIFJlZ3M9JXBcbiIsCisJRFJNX0RFQlVHX0RSSVZFUigi JXMgY3JlYXRlZC4gUmVncz0lcHhcbiIsCiAJCQkgc3RpX21peGVyX3RvX3N0cihtaXhlciksIG1p eGVyLT5yZWdzKTsKIAogCXJldHVybiBtaXhlcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9zdW40aS9zdW40aV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfY3J0Yy5j CmluZGV4IDJkN2M1NzQwNjcxNS4uMWQxOTk0NDA5ODA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vc3VuNGkvc3VuNGlfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40 aV9jcnRjLmMKQEAgLTE1OSw3ICsxNTksNyBAQCBzdGF0aWMgaW50IHN1bjRpX2NydGNfZW5hYmxl X3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IHN1bjRpX2NydGMgKnNj cnRjID0gZHJtX2NydGNfdG9fc3VuNGlfY3J0YyhjcnRjKTsKIAotCURSTV9ERUJVR19EUklWRVIo IkVuYWJsaW5nIFZCTEFOSyBvbiBjcnRjICVwXG4iLCBjcnRjKTsKKwlEUk1fREVCVUdfRFJJVkVS KCJFbmFibGluZyBWQkxBTksgb24gY3J0YyAlcHhcbiIsIGNydGMpOwogCiAJc3VuNGlfdGNvbl9l bmFibGVfdmJsYW5rKHNjcnRjLT50Y29uLCB0cnVlKTsKIApAQCAtMTcwLDcgKzE3MCw3IEBAIHN0 YXRpYyB2b2lkIHN1bjRpX2NydGNfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRj KQogewogCXN0cnVjdCBzdW40aV9jcnRjICpzY3J0YyA9IGRybV9jcnRjX3RvX3N1bjRpX2NydGMo Y3J0Yyk7CiAKLQlEUk1fREVCVUdfRFJJVkVSKCJEaXNhYmxpbmcgVkJMQU5LIG9uIGNydGMgJXBc biIsIGNydGMpOworCURSTV9ERUJVR19EUklWRVIoIkRpc2FibGluZyBWQkxBTksgb24gY3J0YyAl cHhcbiIsIGNydGMpOwogCiAJc3VuNGlfdGNvbl9lbmFibGVfdmJsYW5rKHNjcnRjLT50Y29uLCBm YWxzZSk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9wYWdlX2FsbG9j LmMgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9wYWdlX2FsbG9jLmMKaW5kZXggZjA0ODFiN2I2 MGM1Li4zMmIzYzFiNDIxMTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3Bh Z2VfYWxsb2MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9wYWdlX2FsbG9jLmMKQEAg LTY1OCw3ICs2NTgsNyBAQCBzdGF0aWMgdm9pZCB0dG1fcGFnZV9wb29sX2ZpbGxfbG9ja2VkKHN0 cnVjdCB0dG1fcGFnZV9wb29sICpwb29sLCBpbnQgdHRtX2ZsYWdzLAogCQkJKytwb29sLT5ucmVm aWxsczsKIAkJCXBvb2wtPm5wYWdlcyArPSBhbGxvY19zaXplOwogCQl9IGVsc2UgewotCQkJcHJf ZGVidWcoIkZhaWxlZCB0byBmaWxsIHBvb2wgKCVwKVxuIiwgcG9vbCk7CisJCQlwcl9kZWJ1Zygi RmFpbGVkIHRvIGZpbGwgcG9vbCAoJXB4KVxuIiwgcG9vbCk7CiAJCQkvKiBJZiB3ZSBoYXZlIGFu eSBwYWdlcyBsZWZ0IHB1dCB0aGVtIHRvIHRoZSBwb29sLiAqLwogCQkJbGlzdF9mb3JfZWFjaF9l bnRyeShwLCAmbmV3X3BhZ2VzLCBscnUpIHsKIAkJCQkrK2NwYWdlczsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9mYi5j CmluZGV4IDJlYmRjNmQ1YTc2ZS4uNzAzMjIwNmMxMDNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vdWRsL3VkbF9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMKQEAg LTQwNiw3ICs0MDYsNyBAQCBzdGF0aWMgaW50IHVkbGZiX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZiX2hl bHBlciAqaGVscGVyLAogCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoaW5mbywgZmItPnBpdGNoZXNb MF0sIGZiLT5mb3JtYXQtPmRlcHRoKTsKIAlkcm1fZmJfaGVscGVyX2ZpbGxfdmFyKGluZm8sICZ1 ZmJkZXYtPmhlbHBlciwgc2l6ZXMtPmZiX3dpZHRoLCBzaXplcy0+ZmJfaGVpZ2h0KTsKIAotCURS TV9ERUJVR19LTVMoImFsbG9jYXRlZCAlZHglZCB2bWFsICVwXG4iLAorCURSTV9ERUJVR19LTVMo ImFsbG9jYXRlZCAlZHglZCB2bWFsICVweFxuIiwKIAkJICAgICAgZmItPndpZHRoLCBmYi0+aGVp Z2h0LAogCQkgICAgICB1ZmJkZXYtPnVmYi5vYmotPnZtYXBwaW5nKTsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9k bWEuYwppbmRleCBkMTdkOGYyNDVjMWEuLjVkNWUzMjJiN2M0OCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3ZpYS92aWFfZG1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1h LmMKQEAgLTMzMiw3ICszMzIsNyBAQCBzdGF0aWMgaW50IHZpYV9jbWRidWZmZXIoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaQogCiAJTE9DS19U RVNUX1dJVEhfUkVUVVJOKGRldiwgZmlsZV9wcml2KTsKIAotCURSTV9ERUJVRygiYnVmICVwIHNp emUgJWx1XG4iLCBjbWRidWYtPmJ1ZiwgY21kYnVmLT5zaXplKTsKKwlEUk1fREVCVUcoImJ1ZiAl cHggc2l6ZSAlbHVcbiIsIGNtZGJ1Zi0+YnVmLCBjbWRidWYtPnNpemUpOwogCiAJcmV0ID0gdmlh X2Rpc3BhdGNoX2NtZGJ1ZmZlcihkZXYsIGNtZGJ1Zik7CiAJcmV0dXJuIHJldDsKQEAgLTM2OCw3 ICszNjgsNyBAQCBzdGF0aWMgaW50IHZpYV9wY2lfY21kYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZQogCiAJTE9DS19URVNUX1dJVEhfUkVU VVJOKGRldiwgZmlsZV9wcml2KTsKIAotCURSTV9ERUJVRygiYnVmICVwIHNpemUgJWx1XG4iLCBj bWRidWYtPmJ1ZiwgY21kYnVmLT5zaXplKTsKKwlEUk1fREVCVUcoImJ1ZiAlcHggc2l6ZSAlbHVc biIsIGNtZGJ1Zi0+YnVmLCBjbWRidWYtPnNpemUpOwogCiAJcmV0ID0gdmlhX2Rpc3BhdGNoX3Bj aV9jbWRidWZmZXIoZGV2LCBjbWRidWYpOwogCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdmlhL3ZpYV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2lycS5j CmluZGV4IGM5NjgzMGNjYzBlYy4uMWMzNmViZmUyYzQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vdmlhL3ZpYV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9pcnEuYwpA QCAtMjU5LDcgKzI1OSw3IEBAIHZvaWQgdmlhX2RyaXZlcl9pcnFfcHJlaW5zdGFsbChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCWRybV92aWFfaXJxX3QgKmN1cl9pcnE7CiAJaW50IGk7CiAKLQlE Uk1fREVCVUcoImRldl9wcml2OiAlcFxuIiwgZGV2X3ByaXYpOworCURSTV9ERUJVRygiZGV2X3By aXY6ICVweFxuIiwgZGV2X3ByaXYpOwogCWlmIChkZXZfcHJpdikgewogCQljdXJfaXJxID0gZGV2 X3ByaXYtPnZpYV9pcnFzOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Zt d2dmeF9vdmVybGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9vdmVybGF5LmMK aW5kZXggMjIyYzljMjEyM2ExLi5lZGZlNzUwYjMwMGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X292ZXJsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9vdmVybGF5LmMKQEAgLTMwOCw3ICszMDgsNyBAQCBzdGF0aWMgaW50IHZtd19vdmVy bGF5X3VwZGF0ZV9zdHJlYW0oc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKIAlpZiAoIWJ1 ZikKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlEUk1fREVCVUcoIiAgICVzOiBvbGQgJXAsIG5ldyAl cCwgJXNwYXVzZWRcbiIsIF9fZnVuY19fLAorCURSTV9ERUJVRygiICAgJXM6IG9sZCAlcHgsIG5l dyAlcHgsICVzcGF1c2VkXG4iLCBfX2Z1bmNfXywKIAkJICBzdHJlYW0tPmJ1ZiwgYnVmLCBzdHJl YW0tPnBhdXNlZCA/ICIiIDogIm5vdCAiKTsKIAogCWlmIChzdHJlYW0tPmJ1ZiAhPSBidWYpIHsK LS0gCjIuMTQuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==