From mboxrd@z Thu Jan 1 00:00:00 1970 From: jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org Subject: Re: [DPU PATCH] drm/msm: Remove secure fb/plane support from dpu Date: Fri, 02 Mar 2018 11:18:21 -0800 Message-ID: References: <20180221214212.77387-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180221214212.77387-1-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0wMi0yMSAxMzo0MiwgU2VhbiBQYXVsIHdyb3RlOgo+IFdlIG5lZWQgdG8gaGF2ZSBh IGRpc2N1c3Npb24gYWJvdXQgaG93IHRvIGludHJvZHVjZSB0aGlzIGluIGEgd2F5IHRoYXQKPiBp dCBjYW4gYmUgbGV2ZXJhZ2VkIGJ5IG90aGVyIHBsYXRmb3Jtcy91c2Vyc3BhY2VzLiBGb3Igbm93 LCByZW1vdmUKPiBzdXBwb3J0IHNpbmNlIHdlIGRvbid0IG5lZWQgaXQgeWV0Lgo+IAo+IFNpZ25l ZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgoKUmV2aWV3ZWQtYnk6 IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+Cgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMgICAgICAgICAgICAgfCAgMyArLQo+ICBkcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jICAgICAgfCAxNiAtLS0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmggICAgICB8IDQzIC0tLS0t LS0tLS0tLS0tLS0tLS0KPiAgLi4uL2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNf d2IuYyAgIHwgMTEgLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3 X3JvdC5jICAgIHwgIDEgLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdf cm90LmggICAgfCAgMiAtCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19z c3BwLmMgICB8IDMwIC0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2h3X3NzcHAuaCAgIHwgMjEgKysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9od193Yi5jICAgICB8ICAzIC0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9od193Yi5oICAgICB8ICAxIC0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2ttcy5jICAgICAgIHwgIDggKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfa21zLmggICAgICAgfCAxNSAtLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jICAgICB8IDQxICstLS0tLS0tLS0tLS0tLS0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuaCAgICAgfCAgMSAtCj4g IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV93Yi5jICAgICAgICB8IDEwIC0tLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oICAgICAgICAgICAgICAgICB8ICAzIC0t Cj4gIGluY2x1ZGUvdWFwaS9kcm0vZHB1X2RybS5oICAgICAgICAgICAgICAgICAgICB8IDQyIC0t LS0tLS0tLS0tLS0tLS0tLQo+ICBpbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggICAgICAgICAg ICAgICAgICAgfCAgMSAtCj4gIDE4IGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMjQz IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1l YnVmZmVyLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYwo+IGluZGV4IDgy MjJmZjdkM2U5My4uNWExM2ZmMjlmNGYwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fZnJhbWVidWZmZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIu Ywo+IEBAIC0yNjgsOCArMjY4LDcgQEAgZHJtX2ludGVybmFsX2ZyYW1lYnVmZmVyX2NyZWF0ZShz dHJ1Y3QgZHJtX2RldmljZQo+ICpkZXYsCj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsK PiAgCWludCByZXQ7Cj4gCj4gLQlpZiAoci0+ZmxhZ3MgJiB+KERSTV9NT0RFX0ZCX0lOVEVSTEFD RUQgfCBEUk1fTU9ERV9GQl9NT0RJRklFUlMgfAo+IC0JCQlEUk1fTU9ERV9GQl9TRUNVUkUpKSB7 Cj4gKwlpZiAoci0+ZmxhZ3MgJiB+KERSTV9NT0RFX0ZCX0lOVEVSTEFDRUQgfCBEUk1fTU9ERV9G Ql9NT0RJRklFUlMpKQo+IHsKPiAgCQlEUk1fREVCVUdfS01TKCJiYWQgZnJhbWVidWZmZXIgZmxh Z3MgMHglMDh4XG4iLCByLT5mbGFncyk7Cj4gIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Cj4g IAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRj LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPiBpbmRleCBk ZjZjYmViMTVjZjUuLjNjZGYxZTNkOWQ5NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2NydGMuYwo+IEBAIC0zOSwxMyArMzksNiBAQAo+ICAjaW5jbHVkZSAiZHB1X2Nv cmVfcGVyZi5oIgo+ICAjaW5jbHVkZSAiZHB1X3RyYWNlLmgiCj4gCj4gLS8qIGRlZmluZXMgZm9y IHNlY3VyZSBjaGFubmVsIGNhbGwgKi8KPiAtI2RlZmluZSBTRUNfU0lEX0NOVCAgICAgICAgICAg ICAgIDIKPiAtI2RlZmluZSBTRUNfU0lEX01BU0tfMCAgICAgICAgICAgIDB4ODA4ODEKPiAtI2Rl ZmluZSBTRUNfU0lEX01BU0tfMSAgICAgICAgICAgIDB4ODBDODEKPiAtI2RlZmluZSBNRU1fUFJP VEVDVF9TRF9DVFJMX1NXSVRDSCAweDE4Cj4gLSNkZWZpbmUgTURQX0RFVklDRV9JRCAgICAgICAg ICAgIDB4MUEKPiAtCj4gIHN0cnVjdCBkcHVfY3J0Y19pcnFfaW5mbyB7Cj4gIAlzdHJ1Y3QgZHB1 X2lycV9jYWxsYmFjayBpcnE7Cj4gIAl1MzIgZXZlbnQ7Cj4gQEAgLTM5OTQsMTAgKzM5ODcsNiBA QCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19pbnN0YWxsX3Byb3BlcnRpZXMoc3RydWN0Cj4gZHJtX2Ny dGMgKmNydGMsCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2Owo+ICAJc3RydWN0IGRwdV9rbXNf aW5mbyAqaW5mbzsKPiAgCXN0cnVjdCBkcHVfa21zICpkcHVfa21zOwo+IC0Jc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZV9zZWN1cmVfbGV2ZWxbXSA9IHsKPiAtCQl7RFBV X0RSTV9TRUNfTk9OX1NFQywgInNlY19hbmRfbm9uX3NlYyJ9LAo+IC0JCXtEUFVfRFJNX1NFQ19P TkxZLCAic2VjX29ubHkifSwKPiAtCX07Cj4gCj4gIAlEUFVfREVCVUcoIlxuIik7Cj4gCj4gQEAg LTQwODAsMTEgKzQwNjksNiBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19pbnN0YWxsX3Byb3BlcnRp ZXMoc3RydWN0Cj4gZHJtX2NydGMgKmNydGMsCj4gIAltc21fcHJvcGVydHlfaW5zdGFsbF92b2xh dGlsZV9yYW5nZSgmZHB1X2NydGMtPnByb3BlcnR5X2luZm8sCj4gIAkJImRwdV9kcm1fcm9pX3Yx IiwgMHgwLCAwLCB+MCwgMCwgQ1JUQ19QUk9QX1JPSV9WMSk7Cj4gCj4gLQltc21fcHJvcGVydHlf aW5zdGFsbF9lbnVtKCZkcHVfY3J0Yy0+cHJvcGVydHlfaW5mbywKPiAic2VjdXJpdHlfbGV2ZWwi LAo+IC0JCQkweDAsIDAsIGVfc2VjdXJlX2xldmVsLAo+IC0JCQlBUlJBWV9TSVpFKGVfc2VjdXJl X2xldmVsKSwKPiAtCQkJQ1JUQ19QUk9QX1NFQ1VSSVRZX0xFVkVMKTsKPiAtCj4gIAlkcHVfa21z X2luZm9fcmVzZXQoaW5mbyk7Cj4gCj4gIAlpZiAoY2F0YWxvZy0+aGFzX2RpbV9sYXllcikgewo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCj4g Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCj4gaW5kZXggMTdkMjFm ZmYzZjBhLi5iNjNkZjI0M2JlMzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2NydGMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9jcnRjLmgKPiBAQCAtNTEsMjAgKzUxLDE0IEBAIGVudW0gZHB1X2NydGNfY2xpZW50X3R5 cGUgewo+ICAgKiBlbnVtIGRwdV9jcnRjX3NtbXVfc3RhdGU6CXNtbXUgc3RhdGUKPiAgICogQEFU VEFDSEVEOgkgYWxsIHRoZSBjb250ZXh0IGJhbmtzIGFyZSBhdHRhY2hlZC4KPiAgICogQERFVEFD SEVEOgkgYWxsIHRoZSBjb250ZXh0IGJhbmtzIGFyZSBkZXRhY2hlZC4KPiAtICogQERFVEFDSEVE X1NFQzoJIHNlY3VyZSBjb250ZXh0IGJhbmsgaXMgZGV0YWNoZWQuCj4gICAqIEBBVFRBQ0hfQUxM X1JFUToJIHRyYW5zaWVudCBzdGF0ZSBvZiBhdHRhY2hpbmcgY29udGV4dCBiYW5rcy4KPiAgICog QERFVEFDSF9BTExfUkVROgkgdHJhbnNpZW50IHN0YXRlIG9mIGRldGFjaGluZyBjb250ZXh0IGJh bmtzLgo+IC0gKiBAREVUQUNIX1NFQ19SRVE6CSB0cmFuaXNlbnQgc3RhdGUgb2Ygc2VjdXJlIGNv bnRleHQgYmFuayBpcwo+IGRldGFjaGVkCj4gLSAqIEBBVFRBQ0hfU0VDX1JFUToJIHRyYW5zaWVu dCBzdGF0ZSBvZiBhdHRhY2hpbmcgc2VjdXJlIGNvbnRleHQgYmFuay4KPiAgICovCj4gIGVudW0g ZHB1X2NydGNfc21tdV9zdGF0ZSB7Cj4gIAlBVFRBQ0hFRCA9IDAsCj4gIAlERVRBQ0hFRCwKPiAt CURFVEFDSEVEX1NFQywKPiAgCUFUVEFDSF9BTExfUkVRLAo+ICAJREVUQUNIX0FMTF9SRVEsCj4g LQlERVRBQ0hfU0VDX1JFUSwKPiAtCUFUVEFDSF9TRUNfUkVRLAo+ICB9Owo+IAo+ICAvKioKPiBA QCAtNjIxLDQxICs2MTUsNCBAQCB2b2lkIGRwdV9jcnRjX3Jlc19wdXQoc3RydWN0IGRybV9jcnRj X3N0YXRlIAo+ICpzdGF0ZSwKPiB1MzIgdHlwZSwgdTY0IHRhZyk7Cj4gIHZvaWQgZHB1X2NydGNf Z2V0X2NydGNfcm9pKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCj4gIAkJY29uc3Qgc3Ry dWN0IGRwdV9yZWN0ICoqY3J0Y19yb2kpOwo+IAo+IC0vKiogZHB1X2NydF9nZXRfc2VjdXJlX2xl dmVsIC0gcmV0cmlldmUgdGhlIHNlY3VyZSBsZXZlbCBmcm9tIHRoZSBnaXZlCj4gc3RhdGUKPiAt ICoJb2JqZWN0LCB0aGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzZWN1cmUgc3RhdGUgb2Yg dGhlIGNydGMKPiAtICogQGNydGMgOiBQb2ludGVyIHRvIGRybSBjcnRjIHN0cnVjdHVyZQo+IC0g KiBAdXNyOiBQb2ludGVyIHRvIGRybSBjcnRjIHN0YXRlCj4gLSAqIHJldHVybjogc2VjdXJlX2xl dmVsCj4gLSAqLwo+IC1zdGF0aWMgaW5saW5lIGludCBkcHVfY3J0Y19nZXRfc2VjdXJlX2xldmVs KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAtCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRl KQo+IC17Cj4gLQlpZiAoIWNydGMgfHwgIXN0YXRlKQo+IC0JCXJldHVybiAtRUlOVkFMOwo+IC0K PiAtCXJldHVybiBkcHVfY3J0Y19nZXRfcHJvcGVydHkodG9fZHB1X2NydGNfc3RhdGUoc3RhdGUp LAo+IC0JCQlDUlRDX1BST1BfU0VDVVJJVFlfTEVWRUwpOwo+IC19Cj4gLQo+IC0vKioKPiAtICog ZHB1X2NydGNfZ2V0X3NlY3VyZV90cmFuc2l0aW9uIC0gZGV0ZXJtaW5lcyB0aGUgb3BlcmF0aW9u cyB0byBiZQo+IC0gKiBwZXJmb3JtZWQgYmVmb3JlIHRyYW5zaXRpb25pbmcgdG8gc2VjdXJlIHN0 YXRlCj4gLSAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBhZnRlciBzd2FwcGluZyB0 aGUgbmV3IHN0YXRlCj4gLSAqIEBjcnRjOiBQb2ludGVyIHRvIGRybSBjcnRjIHN0cnVjdHVyZQo+ IC0gKiBAb2xkX2NydGNfc3RhdGU6IFBvbml0ZXIgdG8gcHJldmlvdXMgQ1JUQyBzdGF0ZQo+IC0g KiBSZXR1cm5zIHRoZSBiaXRtYXNrIG9mIG9wZXJhdGlvbnMgbmVlZCB0byBiZSBwZXJmb3JtZWQs IC1FcnJvciBpbgo+IC0gKiBjYXNlIG9mIGVycm9yIGNhc2VzCj4gLSAqLwo+IC1pbnQgZHB1X2Ny dGNfZ2V0X3NlY3VyZV90cmFuc2l0aW9uX29wcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gLQkJ c3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiAtCQlib29sIG9sZF92YWxp ZF9mYik7Cj4gLQo+IC0vKioKPiAtICogZHB1X2NydGNfc2VjdXJlX2N0cmwgLSBJbml0aWF0ZXMg dGhlIHRyYW5zaXRpb24gYmV0d2VlbiBzZWN1cmUgYW5kCj4gLSAqICAgICAgICAgICAgICAgICAg ICAgICAgICBub24tc2VjdXJlIHdvcmxkCj4gLSAqIEBjcnRjOiBQb2ludGVyIHRvIGNydGMKPiAt ICogQHBvc3RfY29tbWl0OiBpZiB0aGlzIG9wZXJhdGlvbiBpcyB0cmlnZ2VyZWQgYWZ0ZXIgY29t bWl0Cj4gLSAqLwo+IC1pbnQgZHB1X2NydGNfc2VjdXJlX2N0cmwoc3RydWN0IGRybV9jcnRjICpj cnRjLCBib29sIHBvc3RfY29tbWl0KTsKPiAtCj4gICNlbmRpZiAvKiBfRFBVX0NSVENfSF8gKi8K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJf cGh5c193Yi5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9w aHlzX3diLmMKPiBpbmRleCA3NTI1NWZjNDJlN2UuLjlhNmZhM2UxZThiNCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3diLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3diLmMK PiBAQCAtMjc5LDE5ICsyNzksOCBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl9waHlzX3diX3Nl dHVwX2ZiKHN0cnVjdAo+IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jLAo+IAo+ICAJd2JfY2Zn LT5pbnRmX21vZGUgPSBwaHlzX2VuYy0+aW50Zl9tb2RlOwo+IAo+IC0JZmJfbW9kZSA9IGRwdV9j b25uZWN0b3JfZ2V0X3Byb3BlcnR5KHBoeXNfZW5jLT5jb25uZWN0b3ItPnN0YXRlLAo+IC0JCQlD T05ORUNUT1JfUFJPUF9GQl9UUkFOU0xBVElPTl9NT0RFKTsKPiAtCWlmIChwaHlzX2VuYy0+ZW5h YmxlX3N0YXRlID09IERQVV9FTkNfRElTQUJMSU5HKQo+IC0JCXdiX2NmZy0+aXNfc2VjdXJlID0g ZmFsc2U7Cj4gLQllbHNlIGlmIChmYl9tb2RlID09IERQVV9EUk1fRkJfU0VDKQo+IC0JCXdiX2Nm Zy0+aXNfc2VjdXJlID0gdHJ1ZTsKPiAtCWVsc2UKPiAtCQl3Yl9jZmctPmlzX3NlY3VyZSA9IGZh bHNlOwo+IC0KPiAgCWFzcGFjZSA9IHBoeXNfZW5jLT5kcHVfa21zLT5iYXNlLmFzcGFjZTsKPiAK PiAtCURQVV9ERUJVRygiW2ZiX3NlY3VyZTolZF1cbiIsIHdiX2NmZy0+aXNfc2VjdXJlKTsKPiAt Cj4gIAlyZXQgPSBtc21fZnJhbWVidWZmZXJfcHJlcGFyZShmYiwgYXNwYWNlKTsKPiAgCWlmIChy ZXQpIHsKPiAgCQlEUFVfRVJST1IoInByZXAgZmIgZmFpbGVkLCAlZFxuIiwgcmV0KTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3JvdC5jCj4gYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcm90LmMKPiBpbmRleCA2YjU2MGYx YzBmY2UuLmIyMGE2NDAzNzY2NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfaHdfcm90LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfaHdfcm90LmMKPiBAQCAtNjA2LDcgKzYwNiw2IEBAIHN0YXRpYyBpbnQgZHB1X2h3X3Jv dF9jb21taXQoc3RydWN0IGRwdV9od19yb3QgKmh3LAo+IHN0cnVjdCBkcHVfaHdfcm90X2NtZCAq ZGF0YSwKPiAgCXJvdF9jbWQuaGZsaXAgPSBkYXRhLT5yb3Q5MCA/ICFkYXRhLT5oZmxpcCA6IGRh dGEtPmhmbGlwOwo+ICAJcm90X2NtZC52ZmxpcCA9IGRhdGEtPnJvdDkwID8gIWRhdGEtPnZmbGlw IDogZGF0YS0+dmZsaXA7Cj4gCj4gLQlyb3RfY21kLnNlY3VyZSA9IGRhdGEtPnNlY3VyZTsKPiAg CXJvdF9jbWQuY2xrcmF0ZSA9IGRhdGEtPmNsa3JhdGU7Cj4gIAlyb3RfY21kLmRhdGFfYncgPSAw Owo+ICAJcm90X2NtZC5wcmVmaWxsX2J3ID0gZGF0YS0+cHJlZmlsbF9idzsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3JvdC5oCj4gYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcm90LmgKPiBpbmRleCBmNzJkOWMwNmI1NTcu LmRmMTVlZDVmMTAyZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfaHdfcm90LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf aHdfcm90LmgKPiBAQCAtNDQsNyArNDQsNiBAQCBlbnVtIGRwdV9od19yb3RfY21kX3R5cGUgewo+ ICAgKiBAcm90OTA6IHRydWUgaWYgcm90YXRpb24gOTAgaW4gY291bnRlciBjbG9ja3dpc2UgaXMg cmVxdWlyZWQKPiAgICogQGhmbGlwOiB0cnVlIGlmIGhvcml6b250YWwgZmxpcCBpcyByZXF1aXJl ZCBwcmlvciB0byByb3RhdGlvbgo+ICAgKiBAdmZsaXA6IHRydWUgaWYgdmVydGljYWwgZmxpcCBp cyByZXF1aXJlZCBwcmlvciB0byByb3RhdGlvbgo+IC0gKiBAc2VjdXJlOiB0cnVlIGlmIGltYWdl IGNvbnRlbnQgaXMgaW4gc2VjdXJlIGRvbWFpbgo+ICAgKiBAdmlkZW9fbW9kZTogdHJ1ZSBpZiBy b3RhdG9yIGlzIGZlZWRpbmcgaW50byB2aWRlbyBpbnRlcmZhY2UKPiAgICogQGNsa3JhdGUgOiBj bG9jayByYXRlIGluIEh6Cj4gICAqIEBwcmVmaWxsX2J3OiBwcmVmaWxsIGJhbmR3aWR0aCBpbiBC cHMgKHZpZGVvIG1vZGUgb25seSkKPiBAQCAtODAsNyArNzksNiBAQCBzdHJ1Y3QgZHB1X2h3X3Jv dF9jbWQgewo+ICAJYm9vbCByb3Q5MDsKPiAgCWJvb2wgaGZsaXA7Cj4gIAlib29sIHZmbGlwOwo+ IC0JYm9vbCBzZWN1cmU7Cj4gIAlib29sIHZpZGVvX21vZGU7Cj4gIAl1NjQgY2xrcmF0ZTsKPiAg CXU2NCBwcmVmaWxsX2J3Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfaHdfc3NwcC5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf aHdfc3NwcC5jCj4gaW5kZXggNzA1YjQ1MTBiNzMwLi4zZmVjZjMzYTE2NGQgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19zc3BwLmMKPiBAQCAtMzYwLDM1ICsz NjAsNiBAQCBzdGF0aWMgdm9pZCBkcHVfaHdfc3NwcF9zZXR1cF9mb3JtYXQoc3RydWN0Cj4gZHB1 X2h3X3BpcGUgKmN0eCwKPiAgCURQVV9SRUdfV1JJVEUoYywgU1NQUF9VQldDX0VSUk9SX1NUQVRV UyArIGlkeCwgQklUKDMxKSk7Cj4gIH0KPiAKPiAtc3RhdGljIHZvaWQgZHB1X2h3X3NzcHBfc2V0 dXBfc2VjdXJlKHN0cnVjdCBkcHVfaHdfcGlwZSAqY3R4LAo+IC0JCWVudW0gZHB1X3NzcHBfbXVs dGlyZWN0X2luZGV4IHJlY3RfbW9kZSwKPiAtCQlib29sIGVuYWJsZSkKPiAtewo+IC0Jc3RydWN0 IGRwdV9od19ibGtfcmVnX21hcCAqYzsKPiAtCXUzMiBzZWN1cmUgPSAwLCBzZWN1cmVfYml0X21h c2s7Cj4gLQl1MzIgaWR4Owo+IC0KPiAtCWlmIChfc3NwcF9zdWJibGtfb2Zmc2V0KGN0eCwgRFBV X1NTUFBfU1JDLCAmaWR4KSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JYyA9ICZjdHgtPmh3Owo+IC0K PiAtCWlmIChlbmFibGUpIHsKPiAtCQlpZiAoKHJlY3RfbW9kZSA9PSBEUFVfU1NQUF9SRUNUX1NP TE8pCj4gLQkJCQl8fCAocmVjdF9tb2RlID09IERQVV9TU1BQX1JFQ1RfMCkpCj4gLQkJCXNlY3Vy ZV9iaXRfbWFzayA9Cj4gLQkJCQkocmVjdF9tb2RlID09IERQVV9TU1BQX1JFQ1RfU09MTykgPyAw eEYgOgo+IDB4NTsKPiAtCQllbHNlCj4gLQkJCXNlY3VyZV9iaXRfbWFzayA9IDB4QTsKPiAtCj4g LQkJc2VjdXJlID0gRFBVX1JFR19SRUFEKGMsIFNTUFBfU1JDX0FERFJfU1dfU1RBVFVTICsgaWR4 KTsKPiAtCQlzZWN1cmUgfD0gc2VjdXJlX2JpdF9tYXNrOwo+IC0JfQo+IC0KPiAtCURQVV9SRUdf V1JJVEUoYywgU1NQUF9TUkNfQUREUl9TV19TVEFUVVMgKyBpZHgsIHNlY3VyZSk7Cj4gLX0KPiAt Cj4gLQo+ICBzdGF0aWMgdm9pZCBkcHVfaHdfc3NwcF9zZXR1cF9wZV9jb25maWcoc3RydWN0IGRw dV9od19waXBlICpjdHgsCj4gIAkJc3RydWN0IGRwdV9od19waXhlbF9leHQgKnBlX2V4dCkKPiAg ewo+IEBAIC05MTAsNyArODgxLDYgQEAgc3RhdGljIHZvaWQgX3NldHVwX2xheWVyX29wcyhzdHJ1 Y3QgZHB1X2h3X3BpcGUgKmMsCj4gIAkJYy0+b3BzLnNldHVwX3NvdXJjZWFkZHJlc3MgPQo+IGRw dV9od19zc3BwX3NldHVwX3NvdXJjZWFkZHJlc3M7Cj4gIAkJYy0+b3BzLnNldHVwX3NvbGlkZmls bCA9IGRwdV9od19zc3BwX3NldHVwX3NvbGlkZmlsbDsKPiAgCQljLT5vcHMuc2V0dXBfcGUgPSBk cHVfaHdfc3NwcF9zZXR1cF9wZV9jb25maWc7Cj4gLQkJYy0+b3BzLnNldHVwX3NlY3VyZV9hZGRy ZXNzID0gZHB1X2h3X3NzcHBfc2V0dXBfc2VjdXJlOwo+ICAJfQo+IAo+ICAJaWYgKHRlc3RfYml0 KERQVV9TU1BQX0VYQ0xfUkVDVCwgJmZlYXR1cmVzKSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuaAo+IGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuaAo+IGluZGV4IDIzZjM3MDQwYWNhYS4uZGU5NzFmMTdm MTMwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19z c3BwLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfc3NwcC5o Cj4gQEAgLTI1LDEyICsyNSwxMSBAQCBzdHJ1Y3QgZHB1X2h3X3BpcGU7Cj4gIC8qKgo+ICAgKiBG bGFncwo+ICAgKi8KPiAtI2RlZmluZSBEUFVfU1NQUF9TRUNVUkVfT1ZFUkxBWV9TRVNTSU9OIDB4 MQo+IC0jZGVmaW5lIERQVV9TU1BQX0ZMSVBfTFIJIDB4Mgo+IC0jZGVmaW5lIERQVV9TU1BQX0ZM SVBfVUQJIDB4NAo+IC0jZGVmaW5lIERQVV9TU1BQX1NPVVJDRV9ST1RBVEVEXzkwIDB4OAo+IC0j ZGVmaW5lIERQVV9TU1BQX1JPVF85MCAgMHgxMAo+IC0jZGVmaW5lIERQVV9TU1BQX1NPTElEX0ZJ TEwgMHgyMAo+ICsjZGVmaW5lIERQVV9TU1BQX0ZMSVBfTFIJCUJJVCgwKQo+ICsjZGVmaW5lIERQ VV9TU1BQX0ZMSVBfVUQJCUJJVCgxKQo+ICsjZGVmaW5lIERQVV9TU1BQX1NPVVJDRV9ST1RBVEVE XzkwCUJJVCgyKQo+ICsjZGVmaW5lIERQVV9TU1BQX1JPVF85MAkJCUJJVCgzKQo+ICsjZGVmaW5l IERQVV9TU1BQX1NPTElEX0ZJTEwJCUJJVCg0KQo+IAo+ICAvKioKPiAgICogRGVmaW5lIGFsbCBz Y2FsZXIgZmVhdHVyZSBiaXRzIGluIGNhdGFsb2cKPiBAQCAtNTA1LDE2ICs1MDQsNiBAQCBzdHJ1 Y3QgZHB1X2h3X3NzcHBfb3BzIHsKPiAgCSAqLwo+ICAJdm9pZCAoKnNldHVwX2NkcCkoc3RydWN0 IGRwdV9od19waXBlICpjdHgsCj4gIAkJCXN0cnVjdCBkcHVfaHdfcGlwZV9jZHBfY2ZnICpjZmcp Owo+IC0KPiAtCS8qKgo+IC0JICogc2V0dXBfc2VjdXJlX2FkZHJlc3MgLSBzZXR1cCBzZWN1cmVp dHkgc3RhdHVzIG9mIHRoZSBzb3VyY2UKPiBhZGRyZXNzCj4gLQkgKiBAY3R4OiBQb2ludGVyIHRv IHBpcGUgY29udGV4dAo+IC0JICogQGluZGV4OiByZWN0YW5nbGUgaW5kZXggaW4gbXVsdGlyZWN0 Cj4gLQkgKiBAZW5hYmxlOiBlbmFibGUgY29udGVudCBwcm90ZWN0ZWQgYnVmZmVyIHN0YXRlCj4g LQkgKi8KPiAtCXZvaWQgKCpzZXR1cF9zZWN1cmVfYWRkcmVzcykoc3RydWN0IGRwdV9od19waXBl ICpjdHgsCj4gLQkJCWVudW0gZHB1X3NzcHBfbXVsdGlyZWN0X2luZGV4IGluZGV4LAo+IC0JCWJv b2wgZW5hYmxlKTsKPiAgfTsKPiAKPiAgLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9od193Yi5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfaHdfd2IuYwo+IGluZGV4IGEwN2MzMDUyODA5Ni4uZmIwMmRmNDIwOWM2IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od193Yi5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3diLmMKPiBAQCAtMTUzLDkg KzE1Myw2IEBAIHN0YXRpYyB2b2lkIGRwdV9od193Yl9zZXR1cF9mb3JtYXQoc3RydWN0IGRwdV9o d193Ygo+ICpjdHgsCj4gIAkJCQkJKGN0eC0+bWRwLT5oaWdoZXN0X2JhbmtfYml0IDw8Cj4gNCkp Owo+ICAJfQo+IAo+IC0JaWYgKGRhdGEtPmlzX3NlY3VyZSkKPiAtCQlkc3RfYWRkcl9zdyB8PSBC SVQoMCk7Cj4gLQo+ICAJRFBVX1JFR19XUklURShjLCBXQl9BTFBIQV9YX1ZBTFVFLCAweEZGKTsK PiAgCURQVV9SRUdfV1JJVEUoYywgV0JfRFNUX0ZPUk1BVCwgZHN0X2Zvcm1hdCk7Cj4gIAlEUFVf UkVHX1dSSVRFKGMsIFdCX0RTVF9PUF9NT0RFLCBvcG1vZGUpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfd2IuaAo+IGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2h3X3diLmgKPiBpbmRleCA4MjJhNGM1N2IzNjkuLjE0NWViYmM4 N2I1OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdf d2IuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od193Yi5oCj4g QEAgLTI1LDcgKzI1LDYgQEAgc3RydWN0IGRwdV9od193Yl9jZmcgewo+ICAJZW51bSBkcHVfaW50 Zl9tb2RlIGludGZfbW9kZTsKPiAgCXN0cnVjdCB0cmFmZmljX3NoYXBlcl9jZmcgdHNfY2ZnOwo+ ICAJc3RydWN0IGRwdV9yZWN0IHJvaTsKPiAtCWJvb2wgaXNfc2VjdXJlOwo+ICB9Owo+IAo+ICAv KioKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5j Cj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKPiBpbmRleCBiOTE5 YzlhNmE0NjMuLjgxZmQzYTQyOWU5ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfa21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfa21zLmMKPiBAQCAtMTIzNiwxNCArMTIzNiwxMCBAQCBzdHJ1Y3QgZHB1X2ttc19mYm8g KmRwdV9rbXNfZmJvX2FsbG9jKHN0cnVjdAo+IGRybV9kZXZpY2UgKmRldiwgdTMyIHdpZHRoLAo+ ICAJLyogYWxsb2NhdGUgYmFja2luZyBidWZmZXIgb2JqZWN0ICovCj4gIAlpZiAoZHB1X2ttcy0+ aWNsaWVudCkgewo+ICAjaWZkZWYgQ09ORklHX0lPTgo+IC0JCXUzMiBoZWFwX2lkID0gZmJvLT5m bGFncyAmIERSTV9NT0RFX0ZCX1NFQ1VSRSA/Cj4gLQkJCQlJT05fSEVBUChJT05fU0VDVVJFX0hF QVBfSUQpIDoKPiAtCQkJCUlPTl9IRUFQKElPTl9TWVNURU1fSEVBUF9JRCk7Cj4gLQkJdTMyIGlm bGFncyA9IGZiby0+ZmxhZ3MgJiBEUk1fTU9ERV9GQl9TRUNVUkUgPwo+IC0JCQkJKElPTl9GTEFH X1NFQ1VSRSB8IElPTl9GTEFHX0NQX1BJWEVMKSA6IDA7Cj4gKwkJdTMyIGhlYXBfaWQgPSBJT05f SEVBUChJT05fU1lTVEVNX0hFQVBfSUQpOwo+IAo+ICAJCWZiby0+aWhhbmRsZSA9IGlvbl9hbGxv YyhkcHVfa21zLT5pY2xpZW50LAo+IC0JCQkJZmJvLT5sYXlvdXQudG90YWxfc2l6ZSwgU1pfNEss IGhlYXBfaWQsCj4gaWZsYWdzKTsKPiArCQkJCWZiby0+bGF5b3V0LnRvdGFsX3NpemUsIFNaXzRL LCBoZWFwX2lkLAo+IDApOwo+ICAJCWlmIChJU19FUlJfT1JfTlVMTChmYm8tPmloYW5kbGUpKSB7 Cj4gIAkJCURQVV9FUlJPUigiZmFpbGVkIHRvIGFsbG9jIGlvbiBtZW1vcnlcbiIpOwo+ICAJCQly ZXQgPSBQVFJfRVJSKGZiby0+aWhhbmRsZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaAo+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2ttcy5oCj4gaW5kZXggZGVhNDlmM2Q0MmI0Li44Y2FkZDI5YTQ4YjEgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oCj4gQEAgLTkzLDIxICs5Myw2IEBA Cj4gIC8qIHRpbWVvdXQgaW4gZnJhbWVzIHdhaXRpbmcgZm9yIGZyYW1lIGRvbmUgKi8KPiAgI2Rl ZmluZSBEUFVfRlJBTUVfRE9ORV9USU1FT1VUCTYwCj4gCj4gLS8qIG1heCBhY3RpdmUgc2VjdXJl IGNsaWVudCBjb3VudHMgYWxsb3dlZCAqLwo+IC0jZGVmaW5lIE1BWF9BTExPV0VEX1NFQ1VSRV9D TElFTlRfQ05UCTEKPiAtCj4gLS8qIG1heCBhY3RpdmUgY3J0YyB3aGVuIHNlY3VyZSBjbGllbnQg aXMgYWN0aXZlICovCj4gLSNkZWZpbmUgTUFYX0FMTE9XRURfQ1JUQ19DTlRfRFVSSU5HX1NFQ1VS RQkxCj4gLQo+IC0vKiBtYXggdmlydHVhbCBlbmNvZGVycyBwZXIgc2VjdXJlIGNydGMgKi8KPiAt I2RlZmluZSBNQVhfQUxMT1dFRF9FTkNPREVSX0NOVF9QRVJfU0VDVVJFX0NSVEMJMQo+IC0KPiAt LyogZGVmaW5lcyB0aGUgb3BlcmF0aW9ucyByZXF1aXJlZCBmb3Igc2VjdXJlIHN0YXRlIHRyYW5z aXRpb24gKi8KPiAtI2RlZmluZSBEUFVfS01TX09QU19DUlRDX1NFQ1VSRV9TVEFURV9DSEFOR0Ug ICAgICAgICAgICAgICBCSVQoMCkKPiAtI2RlZmluZSBEUFVfS01TX09QU19XQUlUX0ZPUl9UWF9E T05FICAgICAgICAgICAgICAgICAgICAgICBCSVQoMSkKPiAtI2RlZmluZSBEUFVfS01TX09QU19D TEVBTlVQX1BMQU5FX0ZCICAgICAgICAgICAgICAgICAgICAgICBCSVQoMikKPiAtI2RlZmluZSBE UFVfS01TX09QU19QUkVQQVJFX1BMQU5FX0ZCICAgICAgICAgICAgICAgICAgICAgICBCSVQoMykK PiAtCj4gIC8qCj4gICAqIHN0cnVjdCBkcHVfaXJxX2NhbGxiYWNrIC0gSVJRIGNhbGxiYWNrIGhh bmRsZXJzCj4gICAqIEBsaXN0OiBsaXN0IHRvIGNhbGxiYWNrCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuYwo+IGluZGV4IGNiZGE3ZGJmODcyNS4uODM0ZGNjMGJm ZWZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFu ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMKPiBA QCAtODM5LDggKzgzOSw3IEBAIGludCBkcHVfcGxhbmVfd2FpdF9pbnB1dF9mZW5jZShzdHJ1Y3Qg ZHJtX3BsYW5lCj4gKnBsYW5lLCB1aW50MzJfdCB3YWl0X21zKQo+ICB9Cj4gCj4gIC8qKgo+IC0g KiBfZHB1X3BsYW5lX2dldF9hc3BhY2U6IGdldHMgdGhlIGFkZHJlc3Mgc3BhY2UgYmFzZWQgb24g dGhlCj4gLSAqICAgICAgICAgICAgZmJfdHJhbnNsYXRpb24gbW9kZSBwcm9wZXJ0eQo+ICsgKiBf ZHB1X3BsYW5lX2dldF9hc3BhY2U6IGdldHMgdGhlIGFkZHJlc3Mgc3BhY2UKPiAgICovCj4gIHN0 YXRpYyBpbnQgX2RwdV9wbGFuZV9nZXRfYXNwYWNlKAo+ICAJCXN0cnVjdCBkcHVfcGxhbmUgKnBk cHUsCj4gQEAgLTE4MjMsMTMgKzE4MjIsNiBAQCBzdGF0aWMgaW50IGRwdV9wbGFuZV9yb3Rfc3Vi bWl0X2NvbW1hbmQoc3RydWN0Cj4gZHJtX3BsYW5lICpwbGFuZSwKPiAgCXJvdF9jbWQtPnJvdDkw ID0gcnN0YXRlLT5yb3Q5MDsKPiAgCXJvdF9jbWQtPmhmbGlwID0gcnN0YXRlLT5oZmxpcDsKPiAg CXJvdF9jbWQtPnZmbGlwID0gcnN0YXRlLT52ZmxpcDsKPiAtCWZiX21vZGUgPSBkcHVfcGxhbmVf Z2V0X3Byb3BlcnR5KHBzdGF0ZSwKPiAtCQkJUExBTkVfUFJPUF9GQl9UUkFOU0xBVElPTl9NT0RF KTsKPiAtCWlmICgoZmJfbW9kZSA9PSBEUFVfRFJNX0ZCX1NFQykgfHwKPiAtCQkJKGZiX21vZGUg PT0gRFBVX0RSTV9GQl9TRUNfRElSX1RSQU5TKSkKPiAtCQlyb3RfY21kLT5zZWN1cmUgPSB0cnVl Owo+IC0JZWxzZQo+IC0JCXJvdF9jbWQtPnNlY3VyZSA9IGZhbHNlOwo+IAo+ICAJcm90X2NtZC0+ cHJlZmlsbF9idyA9IGRwdV9jcnRjX2dldF9wcm9wZXJ0eShkcHVfY3N0YXRlLAo+ICAJCQlDUlRD X1BST1BfUk9UX1BSRUZJTExfQlcpOwo+IEBAIC0xOTEwLDcgKzE5MDIsNiBAQCBzdGF0aWMgaW50 IGRwdV9wbGFuZV9yb3Rfc3VibWl0X2NvbW1hbmQoc3RydWN0Cj4gZHJtX3BsYW5lICpwbGFuZSwK PiAgCXJzdGF0ZS0+b3V0X3JvdGF0aW9uID0gcnN0YXRlLT5pbl9yb3RhdGlvbjsKPiAgCXJzdGF0 ZS0+b3V0X2ZiX2ZsYWdzID0gcm90X2NtZC0+ZHN0X21vZGlmaWVyID8KPiAgCQkJRFJNX01PREVf RkJfTU9ESUZJRVJTIDogMDsKPiAtCXJzdGF0ZS0+b3V0X2ZiX2ZsYWdzIHw9IHJvdF9jbWQtPnNl Y3VyZSA/IERSTV9NT0RFX0ZCX1NFQ1VSRSA6IDA7Cj4gIAlyc3RhdGUtPm91dF9mYl9mb3JtYXQg PSByb3RfY21kLT5kc3RfZm9ybWF0Owo+ICAJcnN0YXRlLT5vdXRfZmJfcGl4ZWxfZm9ybWF0ID0g cm90X2NtZC0+ZHN0X3BpeGVsX2Zvcm1hdDsKPiAKPiBAQCAtMzMzNyw5ICszMzI4LDYgQEAgc3Rh dGljIGludCBkcHVfcGxhbmVfc3NwcF9hdG9taWNfdXBkYXRlKHN0cnVjdAo+IGRybV9wbGFuZSAq cGxhbmUsCj4gIAkJY2FzZSBQTEFORV9QUk9QX0JMRU5EX09QOgo+ICAJCQkvKiBubyBzcGVjaWFs IGFjdGlvbiByZXF1aXJlZCAqLwo+ICAJCQlicmVhazsKPiAtCQljYXNlIFBMQU5FX1BST1BfRkJf VFJBTlNMQVRJT05fTU9ERToKPiAtCQkJcHN0YXRlLT5kaXJ0eSB8PQo+IERQVV9QTEFORV9ESVJU WV9GQl9UUkFOU0xBVElPTl9NT0RFOwo+IC0JCQlicmVhazsKPiAgCQljYXNlIFBMQU5FX1BST1Bf UFJFRklMTF9TSVpFOgo+ICAJCWNhc2UgUExBTkVfUFJPUF9QUkVGSUxMX1RJTUU6Cj4gIAkJCXBz dGF0ZS0+ZGlydHkgfD0gRFBVX1BMQU5FX0RJUlRZX1BFUkY7Cj4gQEAgLTMzODcsMjEgKzMzNzUs NiBAQCBzdGF0aWMgaW50IGRwdV9wbGFuZV9zc3BwX2F0b21pY191cGRhdGUoc3RydWN0Cj4gZHJt X3BsYW5lICpwbGFuZSwKPiAgCXBkcHUtPmlzX3J0X3BpcGUgPSAoZHB1X2NydGNfZ2V0X2NsaWVu dF90eXBlKGNydGMpICE9IE5SVF9DTElFTlQpOwo+ICAJX2RwdV9wbGFuZV9zZXRfcW9zX2N0cmwo cGxhbmUsIGZhbHNlLCBEUFVfUExBTkVfUU9TX1BBTklDX0NUUkwpOwo+IAo+IC0JLyogdXBkYXRl IHNlY3VyZSBzZXNzaW9uIGZsYWcgKi8KPiAtCWlmIChwc3RhdGUtPmRpcnR5ICYgRFBVX1BMQU5F X0RJUlRZX0ZCX1RSQU5TTEFUSU9OX01PREUpIHsKPiAtCQlib29sIGVuYWJsZSA9IGZhbHNlOwo+ IC0JCWludCBtb2RlID0gZHB1X3BsYW5lX2dldF9wcm9wZXJ0eShwc3RhdGUsCj4gLQkJCQlQTEFO RV9QUk9QX0ZCX1RSQU5TTEFUSU9OX01PREUpOwo+IC0KPiAtCQlpZiAoKG1vZGUgPT0gRFBVX0RS TV9GQl9TRUMpIHx8Cj4gLQkJCQkobW9kZSA9PSBEUFVfRFJNX0ZCX1NFQ19ESVJfVFJBTlMpKQo+ IC0JCQllbmFibGUgPSB0cnVlOwo+IC0JCS8qIHVwZGF0ZSBzZWN1cmUgc2Vzc2lvbiBmbGFnICov Cj4gLQkJcGRwdS0+cGlwZV9ody0+b3BzLnNldHVwX3NlY3VyZV9hZGRyZXNzKHBkcHUtPnBpcGVf aHcsCj4gLQkJCQlwc3RhdGUtPm11bHRpcmVjdF9pbmRleCwKPiAtCQkJCWVuYWJsZSk7Cj4gLQl9 Cj4gLQo+ICAJLyogdXBkYXRlIHJvaSBjb25maWcgKi8KPiAgCWlmIChwc3RhdGUtPmRpcnR5ICYg RFBVX1BMQU5FX0RJUlRZX1JFQ1RTKSB7Cj4gIAkJUE9QVUxBVEVfUkVDVCgmc3JjLCByc3RhdGUt Pm91dF9zcmNfeCwgcnN0YXRlLT5vdXRfc3JjX3ksCj4gQEAgLTM2ODMsMTIgKzM2NTYsNiBAQCBz dGF0aWMgdm9pZCBfZHB1X3BsYW5lX2luc3RhbGxfcHJvcGVydGllcyhzdHJ1Y3QKPiBkcm1fcGxh bmUgKnBsYW5lLAo+ICAJc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZV9z cmNfY29uZmlnW10gPSB7Cj4gIAkJe0RQVV9EUk1fREVJTlRFUkxBQ0UsICJkZWludGVybGFjZSJ9 Cj4gIAl9Owo+IC0Jc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZV9mYl90 cmFuc2xhdGlvbl9tb2RlW10gPSB7Cj4gLQkJe0RQVV9EUk1fRkJfTk9OX1NFQywgIm5vbl9zZWMi fSwKPiAtCQl7RFBVX0RSTV9GQl9TRUMsICJzZWMifSwKPiAtCQl7RFBVX0RSTV9GQl9OT05fU0VD X0RJUl9UUkFOUywKPiAibm9uX3NlY19kaXJlY3RfdHJhbnNsYXRpb24ifSwKPiAtCQl7RFBVX0RS TV9GQl9TRUNfRElSX1RSQU5TLCAic2VjX2RpcmVjdF90cmFuc2xhdGlvbiJ9LAo+IC0JfTsKPiAg CWNvbnN0IHN0cnVjdCBkcHVfZm9ybWF0X2V4dGVuZGVkICpmb3JtYXRfbGlzdDsKPiAgCXN0cnVj dCBkcHVfa21zX2luZm8gKmluZm87Cj4gIAlzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1ID0gdG9fZHB1 X3BsYW5lKHBsYW5lKTsKPiBAQCAtMzg5MCwxMiArMzg1Nyw2IEBAIHN0YXRpYyB2b2lkIF9kcHVf cGxhbmVfaW5zdGFsbF9wcm9wZXJ0aWVzKHN0cnVjdAo+IGRybV9wbGFuZSAqcGxhbmUsCj4gIAkJ bXNtX3Byb3BlcnR5X2luc3RhbGxfYmxvYigmcGRwdS0+cHJvcGVydHlfaW5mbywKPiBmZWF0dXJl X25hbWUsIDAsCj4gIAkJCVBMQU5FX1BST1BfRk9MSUFHRV9DT0xPUik7Cj4gIAl9Cj4gLQo+IC0J bXNtX3Byb3BlcnR5X2luc3RhbGxfZW51bSgmcGRwdS0+cHJvcGVydHlfaW5mbywKPiAiZmJfdHJh bnNsYXRpb25fbW9kZSIsCj4gLQkJCTB4MCwKPiAtCQkJMCwgZV9mYl90cmFuc2xhdGlvbl9tb2Rl LAo+IC0JCQlBUlJBWV9TSVpFKGVfZmJfdHJhbnNsYXRpb25fbW9kZSksCj4gLQkJCVBMQU5FX1BS T1BfRkJfVFJBTlNMQVRJT05fTU9ERSk7Cj4gIH0KPiAKPiAgc3RhdGljIGlubGluZSB2b2lkIF9k cHVfcGxhbmVfc2V0X2NzY192MShzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1LCB2b2lkCj4gKnVzcl9w dHIpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFu ZS5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuaAo+IGluZGV4 IDcxN2RmZTA1YzZlZS4uYWQ5ZDVjZjA0OGIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X3BsYW5lLmgKPiBAQCAtOTQsNyArOTQsNiBAQCBzdHJ1Y3QgZHB1X3BsYW5l X3JvdF9zdGF0ZSB7Cj4gICNkZWZpbmUgRFBVX1BMQU5FX0RJUlRZX0ZPUk1BVAkweDIKPiAgI2Rl ZmluZSBEUFVfUExBTkVfRElSVFlfU0hBUlBFTgkweDQKPiAgI2RlZmluZSBEUFVfUExBTkVfRElS VFlfUEVSRgkweDgKPiAtI2RlZmluZSBEUFVfUExBTkVfRElSVFlfRkJfVFJBTlNMQVRJT05fTU9E RQkweDEwCj4gICNkZWZpbmUgRFBVX1BMQU5FX0RJUlRZX0FMTAkweEZGRkZGRkZGCj4gCj4gIC8q Kgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfd2IuYwo+ IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3diLmMKPiBpbmRleCBkNGI4NDQ5 NzljNGMuLjBiYjA3ZWUwYmNmMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfd2IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV93Yi5jCj4gQEAgLTMxOSwxMCArMzE5LDYgQEAgaW50IGRwdV93Yl9jb25uZWN0b3JfcG9zdF9p bml0KHN0cnVjdCAKPiBkcm1fY29ubmVjdG9yCj4gKmNvbm5lY3RvciwKPiAgCXN0cnVjdCBkcHVf Y29ubmVjdG9yICpjX2Nvbm47Cj4gIAlzdHJ1Y3QgZHB1X3diX2RldmljZSAqd2JfZGV2ID0gZGlz cGxheTsKPiAgCWNvbnN0IHN0cnVjdCBkcHVfZm9ybWF0X2V4dGVuZGVkICpmb3JtYXRfbGlzdDsK PiAtCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGVfZmJfdHJhbnNsYXRp b25fbW9kZVtdID0gewo+IC0JCXtEUFVfRFJNX0ZCX05PTl9TRUMsICJub25fc2VjIn0sCj4gLQkJ e0RQVV9EUk1fRkJfU0VDLCAic2VjIn0sCj4gLQl9Owo+IAo+ICAJaWYgKCFjb25uZWN0b3IgfHwg IWluZm8gfHwgIWRpc3BsYXkgfHwgIXdiX2Rldi0+d2JfY2ZnKSB7Cj4gIAkJRFBVX0VSUk9SKCJp bnZhbGlkIHBhcmFtc1xuIik7Cj4gQEAgLTM0NywxMiArMzQzLDYgQEAgaW50IGRwdV93Yl9jb25u ZWN0b3JfcG9zdF9pbml0KHN0cnVjdCAKPiBkcm1fY29ubmVjdG9yCj4gKmNvbm5lY3RvciwKPiAg CQkJMHgwLCAwLCBVSU5UX01BWCwgMCwgQ09OTkVDVE9SX1BST1BfRFNUX1cpOwo+ICAJbXNtX3By b3BlcnR5X2luc3RhbGxfcmFuZ2UoJmNfY29ubi0+cHJvcGVydHlfaW5mbywgIkRTVF9IIiwKPiAg CQkJMHgwLCAwLCBVSU5UX01BWCwgMCwgQ09OTkVDVE9SX1BST1BfRFNUX0gpOwo+IC0JbXNtX3By b3BlcnR5X2luc3RhbGxfZW51bSgmY19jb25uLT5wcm9wZXJ0eV9pbmZvLAo+IC0JCQkiZmJfdHJh bnNsYXRpb25fbW9kZSIsCj4gLQkJCTB4MCwKPiAtCQkJMCwgZV9mYl90cmFuc2xhdGlvbl9tb2Rl LAo+IC0JCQlBUlJBWV9TSVpFKGVfZmJfdHJhbnNsYXRpb25fbW9kZSksCj4gLQkJCUNPTk5FQ1RP Ul9QUk9QX0ZCX1RSQU5TTEFUSU9OX01PREUpOwo+IAo+ICAJLyoKPiAgCSAqIFBvcHVsYXRlIGlu Zm8gYnVmZmVyCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oIAo+ IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPiBpbmRleCAyYzkzZDc0Y2E5NzMuLmNm OTZhODVmNGI1NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCj4gQEAgLTExNiw3ICsxMTYsNiBA QCBlbnVtIG1zbV9tZHBfcGxhbmVfcHJvcGVydHkgewo+ICAJUExBTkVfUFJPUF9ST1RBVElPTiwK PiAgCVBMQU5FX1BST1BfQkxFTkRfT1AsCj4gIAlQTEFORV9QUk9QX1NSQ19DT05GSUcsCj4gLQlQ TEFORV9QUk9QX0ZCX1RSQU5TTEFUSU9OX01PREUsCj4gCj4gIAkvKiB0b3RhbCAjIG9mIHByb3Bl cnRpZXMgKi8KPiAgCVBMQU5FX1BST1BfQ09VTlQKPiBAQCAtMTQ2LDcgKzE0NSw2IEBAIGVudW0g bXNtX21kcF9jcnRjX3Byb3BlcnR5IHsKPiAgCUNSVENfUFJPUF9ST1RfUFJFRklMTF9CVywKPiAg CUNSVENfUFJPUF9ST1RfQ0xLLAo+ICAJQ1JUQ19QUk9QX1JPSV9WMSwKPiAtCUNSVENfUFJPUF9T RUNVUklUWV9MRVZFTCwKPiAgCUNSVENfUFJPUF9JRExFX1RJTUVPVVQsCj4gIAlDUlRDX1BST1Bf REVTVF9TQ0FMRVIsCj4gCj4gQEAgLTE3OSw3ICsxNzcsNiBAQCBlbnVtIG1zbV9tZHBfY29ubl9w cm9wZXJ0eSB7Cj4gIAlDT05ORUNUT1JfUFJPUF9UT1BPTE9HWV9DT05UUk9MLAo+ICAJQ09OTkVD VE9SX1BST1BfQVVUT1JFRlJFU0gsCj4gIAlDT05ORUNUT1JfUFJPUF9MUCwKPiAtCUNPTk5FQ1RP Ul9QUk9QX0ZCX1RSQU5TTEFUSU9OX01PREUsCj4gCj4gIAkvKiB0b3RhbCAjIG9mIHByb3BlcnRp ZXMgKi8KPiAgCUNPTk5FQ1RPUl9QUk9QX0NPVU5UCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFw aS9kcm0vZHB1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcHVfZHJtLmgKPiBpbmRleCA4MjZi ZjdiNTQ4OTYuLmRhNzMyNzlhNTA4NiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2Rw dV9kcm0uaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHB1X2RybS5oCj4gQEAgLTY2LDQ4ICs2 Niw2IEBACj4gIC8qIERSTSBiaXRtYXNrcyBhcmUgcmVzdHJpY3RlZCB0byAwLi42MyAqLwo+ICAj ZGVmaW5lIERQVV9EUk1fQklUTUFTS19DT1VOVCAgICAgICA2NAo+IAo+IC0vKioKPiAtICogRnJh bWVidWZmZXIgbW9kZXMgZm9yICJmYl90cmFuc2xhdGlvbl9tb2RlIiBQTEFORSBhbmQgQ09OTkVD VE9SCj4gcHJvcGVydHkKPiAtICoKPiAtICogQERQVV9EUk1fRkJfTk9OX1NFQzogICAgICAgICAg SU9NTVUgY29uZmlndXJhdGlvbiBmb3IgdGhpcyAKPiBmcmFtZWJ1ZmZlcgo+IG1vZGUKPiAtICog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgbm9uLXNlY3VyZSBkb21haW4gYW5kIHJl cXVpcmVzCj4gLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdGggc3RhZ2UgSSBh bmQgc3RhZ2UgSUkgCj4gdHJhbnNsYXRpb25zCj4gd2hlbgo+IC0gKiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGlzIGJ1ZmZlciBpcyBhY2Nlc3NlZCBieSB0aGUgCj4gZGlzcGxheQo+ IEhXLgo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZSBkZWZh dWx0IG1vZGUgb2YgYWxsCj4gZnJhbWJ1ZmZlcnMuCj4gLSAqIEBEUFVfRFJNX0ZCX1NFQzogICAg ICAgICAgICAgIElPTU1VIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgCj4gZnJhbWVidWZmZXIKPiBt b2RlCj4gLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHNlY3VyZSBkb21haW4g YW5kIHJlcXVpcmVzCj4gLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdGggc3Rh Z2UgSSBhbmQgc3RhZ2UgSUkgCj4gdHJhbnNsYXRpb25zCj4gd2hlbgo+IC0gKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0aGlzIGJ1ZmZlciBpcyBhY2Nlc3NlZCBieSB0aGUgCj4gZGlz cGxheQo+IEhXLgo+IC0gKiBARFBVX0RSTV9GQl9OT05fU0VDX0RJUl9UUkFOUzogSU9NTVUgY29u ZmlndXJhdGlvbiBmb3IgdGhpcwo+IGZyYW1lYnVmZmVyIG1vZGUKPiAtICogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaXMgbm9uLXNlY3VyZSBkb21haW4gYW5kIHJlcXVpcmVzCj4gLSAq ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgc3RhZ2UgSUkgdHJhbnNsYXRpb24g d2hlbgo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGJ1ZmZlciBpcyBh Y2Nlc3NlZCBieSB0aGUgCj4gZGlzcGxheQo+IEhXLgo+IC0gKiBARFBVX0RSTV9GQl9TRUNfRElS X1RSQU5TOiAgICBJT01NVSBjb25maWd1cmF0aW9uIGZvciB0aGlzIAo+IGZyYW1lYnVmZmVyCj4g bW9kZQo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBzZWN1cmUgZG9tYWlu IGFuZCByZXF1aXJlcwo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IHN0 YWdlIElJIHRyYW5zbGF0aW9uIHdoZW4KPiAtICogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGhpcyBidWZmZXIgaXMgYWNjZXNzZWQgYnkgdGhlIAo+IGRpc3BsYXkKPiBIVy4KPiAtICov Cj4gLQo+IC0jZGVmaW5lIERQVV9EUk1fRkJfTk9OX1NFQyAgICAgICAgICAgICAgMAo+IC0jZGVm aW5lIERQVV9EUk1fRkJfU0VDICAgICAgICAgICAgICAgICAgMQo+IC0jZGVmaW5lIERQVV9EUk1f RkJfTk9OX1NFQ19ESVJfVFJBTlMgICAgMgo+IC0jZGVmaW5lIERQVV9EUk1fRkJfU0VDX0RJUl9U UkFOUyAgICAgICAgMwo+IC0KPiAtLyoqCj4gLSAqIFNlY3VyZSBsZXZlbHMgZm9yICJzZWN1cml0 eV9sZXZlbCIgQ1JUQyBwcm9wZXJ0eS4KPiAtICogICAgICAgICAgICAgICAgICAgICAgICBDUlRD IHByb3BlcnR5IHdoaWNoIHNwZWNpZmllcyB3aGF0IHBsYW5lIAo+IHR5cGVzCj4gLSAqICAgICAg ICAgICAgICAgICAgICAgICAgY2FuIGJlIGF0dGFjaGVkIHRvIHRoaXMgQ1JUQy4gUGxhbmUgCj4g Y29tcG9uZW50Cj4gLSAqICAgICAgICAgICAgICAgICAgICAgICAgZGVyaXZlcyB0aGUgcGxhbmUg dHlwZSBiYXNlZCBvbiB0aGUgRkJfTU9ERS4KPiAtICogQCBEUFVfRFJNX1NFQ19OT05fU0VDOiBC b3RoIFNlY3VyZSBhbmQgbm9uLXNlY3VyZSBwbGFuZSB0eXBlcyBjYW4gCj4gYmUKPiAtICogICAg ICAgICAgICAgICAgICAgICAgICBhdHRhY2hlZCB0byB0aGlzIENSVEMuIFRoaXMgaXMgdGhlIGRl ZmF1bHQKPiBzdGF0ZSBvZgo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBDUlRDLgo+ IC0gKiBAIERQVV9EUk1fU0VDX09OTFk6ICAgIE9ubHkgc2VjdXJlIHBsYW5lcyBjYW4gYmUgYWRk ZWQgdG8gdGhpcyAKPiBDUlRDLgo+IElmIGEKPiAtICogICAgICAgICAgICAgICAgICAgICAgICBD UlRDIGlzIGluc3RydWN0ZWQgdG8gYmUgaW4gdGhpcyBtb2RlIGl0Cj4gZm9sbG93cyB0aGUKPiAt ICogICAgICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybSBkZXBlbmRlbnQgcmVzdHJpY3Rpb25z Lgo+IC0gKi8KPiAtI2RlZmluZSBEUFVfRFJNX1NFQ19OT05fU0VDICAgICAgICAgICAgMAo+IC0j ZGVmaW5lIERQVV9EUk1fU0VDX09OTFkgICAgICAgICAgICAgICAxCj4gLQo+ICAvKioKPiAgICog c3RydWN0IGRwdV9kcm1fcGl4X2V4dF92MSAtIHZlcnNpb24gMSBvZiBwaXhlbCBleHQgc3RydWN0 dXJlCj4gICAqIEBudW1fZXh0X3B4bHNfbHI6IE51bWJlciBvZiB0b3RhbCBob3Jpem9udGFsIHBp eGVscwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRl L3VhcGkvZHJtL2RybV9tb2RlLmgKPiBpbmRleCA4NjY4OTI1YjVjMjUuLmViNzU4N2E0N2NiNiAx MDA2NDQKPiAtLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiArKysgYi9pbmNsdWRl L3VhcGkvZHJtL2RybV9tb2RlLmgKPiBAQCAtNDQzLDcgKzQ0Myw2IEBAIHN0cnVjdCBkcm1fbW9k ZV9mYl9jbWQgewo+IAo+ICAjZGVmaW5lIERSTV9NT0RFX0ZCX0lOVEVSTEFDRUQJKDE8PDApIC8q IGZvciBpbnRlcmxhY2VkIGZyYW1lYnVmZmVycyAKPiAqLwo+ICAjZGVmaW5lIERSTV9NT0RFX0ZC X01PRElGSUVSUwkoMTw8MSkgLyogZW5hYmxlcyAtPm1vZGlmZXJbXSAqLwo+IC0jZGVmaW5lIERS TV9NT0RFX0ZCX1NFQ1VSRQkoMTw8MikgLyogZm9yIHNlY3VyZSBmcmFtZWJ1ZmZlcnMgKi8KPiAK PiAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgewo+ICAJX191MzIgZmJfaWQ7Cl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxp c3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=