From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1142589-1521147849-2-836971566268376846 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no ("Email failed DMARC policy for domain") X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, FREEMAIL_FORGED_FROMDOMAIN 0.249, FREEMAIL_FROM 0.001, HEADER_FROM_DIFFERENT_DOMAINS 0.25, RCVD_IN_DNSWL_MED -2.3, SPF_PASS -0.001, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='140.211.166.136', Host='smtp3.osuosl.org', Country='US', FromHeader='com', MailFrom='org' X-Spam-charsets: plain='utf-8' X-IgnoreVacation: yes ("Email failed DMARC policy for domain") X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: driverdev-devel-bounces@linuxdriverproject.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1521147847; b=A4V4ivVEdI4Rsyj69osnY8mruWxL9parfVx9WQ6eMk2TT1H ZBbwcWVv4OPkmBZYo0DVGhMzePU4FRBEIiHkpgFMTFVhuNGnO4QQVDOLNsqsjNlj 5C6FR2p+d3qANLJsmDP+aFCCSPrff6El0Wtllq8klenHSxG5zF0iqoUGe/q4gHWi u2t4Y3x6gzoUjxdf2wWmMewq+pQoZa/yddfSCh9Gmaxuzvt82QA8hRMJmOtUS3Bt sDYmhH68aRlBi+T2TfzHC+mp8hAT+qr6JVLnIpigYw0V0RLb6kG0jVxcsmzDxzLa qkWyRBK8fUJeA6GI065eI5UYfb21GmvAOILPlUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=date:in-reply-to:references:mime-version :subject:to:from:message-id:list-id:list-unsubscribe :list-archive:list-post:list-help:list-subscribe:cc:content-type :content-transfer-encoding:sender; s=arctest; t=1521147847; bh=D A+NSTaM0lE8MigWkLTb9ilnKEmBpMaMFYTBS2jwdeg=; b=wPqEFLnHru3eOv04p kwmK/qqyZMHmnYkh/MKJn2cJTGslEbWkMGDb9ufRqy2QslIXMdTChukZqYYX9tFu ni/+dcDtJ0hpvzW1LjxdElUeJAi7TWY0K7QuE88CuaO+WlkeDXyVlHll2UZlmZBV q68NSQz/sEEsDg13G4ffeIV29neB8b0WNQG1DT0p2+H7Eg+KL6VIuQAXjzTrH9f0 Jfw18Uy49yhdtVcfSh5t0ZSk3M8LDlxYFoH2PXjDBDNfeobb3TB6dy0wQQ9tGj9/ AM0dS/qflVTDnWRYPaxPIqQ1FWDbQXZiHWgnVmm03RClgKwUNmK3N6B3snE9Yye9 87Q6Q== ARC-Authentication-Results: i=1; mx6.messagingengine.com; arc=none (no signatures found); dkim=fail (message has been altered; 2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=FOxcHRTr x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=20161025; dmarc=fail (p=none,has-list-id=yes,d=none) header.from=gmail.com; iprev=pass policy.iprev=140.211.166.136 (smtp3.osuosl.org); spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org smtp.helo=silver.osuosl.org; x-aligned-from=fail; x-category=clean score=0 state=0; x-google-dkim=fail (message has been altered; 2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=A8JusZZt; x-ptr=fail x-ptr-helo=silver.osuosl.org x-ptr-lookup=smtp3.osuosl.org; x-return-mx=pass smtp.domain=linuxdriverproject.org smtp.result=pass smtp_is_org_domain=yes header.domain=gmail.com header.result=pass header_is_org_domain=yes; x-tls=pass version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128 Authentication-Results: mx6.messagingengine.com; arc=none (no signatures found); dkim=fail (message has been altered; 2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=FOxcHRTr x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=20161025; dmarc=fail (p=none,has-list-id=yes,d=none) header.from=gmail.com; iprev=pass policy.iprev=140.211.166.136 (smtp3.osuosl.org); spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org smtp.helo=silver.osuosl.org; x-aligned-from=fail; x-category=clean score=0 state=0; x-google-dkim=fail (message has been altered; 2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=A8JusZZt; x-ptr=fail x-ptr-helo=silver.osuosl.org x-ptr-lookup=smtp3.osuosl.org; x-return-mx=pass smtp.domain=linuxdriverproject.org smtp.result=pass smtp_is_org_domain=yes header.domain=gmail.com header.result=pass header_is_org_domain=yes; x-tls=pass version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128 X-Remote-Delivered-To: driverdev-devel@osuosl.org X-Google-Smtp-Source: AG47ELtinAqxP7CU/FSsLU8C4iwCuwepXzztAUe42/qmrfDZABJmv4KlWC69i1q8uonn7G1S66f77A== Date: Fri, 16 Mar 2018 02:33:49 +0530 User-Agent: K-9 Mail for Android In-Reply-To: <1521140513.7627.10.camel@gmail.com> References: <1520677223-11505-1-git-send-email-shreeya.patel23498@gmail.com> <20180310155731.7b7f584d@archlinux> <1521140513.7627.10.camel@gmail.com> MIME-Version: 1.0 Subject: Re: [PATCH v2] Staging: iio: adis16209: Move adis16209 driver out of staging To: Jonathan Cameron From: Shreeya Patel Message-ID: X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.24 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, daniel.baluta@gmail.com, lars@metafoo.de, Michael.Hennerich@analog.com, linux-iio@vger.kernel.org, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, pmeerw@pmeerw.net, knaack.h@gmx.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: CgpPbiAxNiBNYXJjaCAyMDE4IDAwOjMxOjUzIEdNVCswNTozMCwgU2hyZWV5YSBQYXRlbCA8c2hy ZWV5YS5wYXRlbDIzNDk4QGdtYWlsLmNvbT4gd3JvdGU6Cj5PbiBTYXQsIDIwMTgtMDMtMTAgYXQg MTU6NTcgKzAwMDAsIEpvbmF0aGFuIENhbWVyb24gd3JvdGU6Cj4KPkhpIEpvbmF0aGFuLAo+Cj4+ IE9uIFNhdCwgMTAgTWFyIDIwMTggMTU6NTA6MjMgKzA1MzAKPj4gU2hyZWV5YSBQYXRlbCA8c2hy ZWV5YS5wYXRlbDIzNDk4QGdtYWlsLmNvbT4gd3JvdGU6Cj4+IAo+PiA+IAo+PiA+IE1vdmUgdGhl IGFkaXMxNjIwOSBkcml2ZXIgb3V0IG9mIHN0YWdpbmcgZGlyZWN0b3J5IGFuZCBtZXJnZSB0byB0 aGUKPj4gPiBtYWlubGluZSBJSU8gc3Vic3lzdGVtLgo+PiA+IAo+PiA+IFNpZ25lZC1vZmYtYnk6 IFNocmVleWEgUGF0ZWwgPHNocmVleWEucGF0ZWwyMzQ5OEBnbWFpbC5jb20+Cj4+IEFzIHRoaXMg aGFzIGEgY2xlYXIgZGVwZW5kZW5jeSBvbiB0aGUgcHJldmlvdXMgcGF0Y2gsIHBsZWFzZSBwdXQg dGhlbQo+PiBpbiB0aGUgc2FtZSBzZXJpZXMgZm9yIHRoZSBuZXh0IHZlcnNpb24uwqDCoFRoYXQg d2F5IEkgd29uJ3QgbWlzcyBvbmUhCj4+IAo+PiBUaGlzIGFsc28gZG9lc24ndCBhY3R1YWxseSBz ZWVtIHRvIGhhdmUgYWxsIHRoZSBwYXRjaGVzIGluIHBsYWNlLgo+PiBUaGUgc2lnbiBleHRlbmQg b25lIGlzIGRlZmluaXRlbHkgbWlzc2luZyBmb3Igc29tZSByZWFzb24uCj4+IAo+PiBPbmUgcXVl c3Rpb24gb24gdGhlIEFCSSBjaG9pY2Ugb2YgWCBmb3IgdGhlIHJvdGF0aW9uIGF4aXMuCj4+IEkg dGhpbmsgdGhlIGxvZ2ljYWwgY2hvaWNlIGlzIGFjdHVhbGx5IFogYnV0IHdvdWxkIGxpa2UgdG8g a25vdyB3aGF0Cj4+IHlvdSBhbmQgb3RoZXJzIHRoaW5rLgo+PiAKPj4gQWxsIGV4aXN0aW5nIHVz ZXJzIG9mIElJT19ST1QgKG91dHNpZGUgc3RhZ2luZykgaGF2ZSBiZWVuCj4+IG1hZ25ldG9tZXRl cgo+PiB3aGVyZSB3ZSBkb24ndCBoYXZlIGFuIGF4aXMsIGJ1dCByYXRoZXIgYSBtYWduZXRpYyBy ZWZlcmVuY2UgZnJhbWUgb3IKPj4gYSBxdWF0ZXJuaW9uIG91dHB1dCB3aGljaCBpbmNsdWRlcyBh bGwgdGhlIGF4ZXMuCj4+IAo+PiBKb25hdGhhbgo+PiAKPj4gPiAKPj4gPiAtLS0KPj4gPiAKPj4g PiBDaGFuZ2VzIGluIHYyCj4+ID4gwqAgLVJlLXNlbmQgdGhlIHBhdGNoIGFmdGVyIGhhdmluZyBz b21lIGNsZWFudXBzIGluIHRoZQo+PiA+IGZpbGUgaW5jbHVkZWQgaW4gdGhpcyBwYXRjaC4KPj4g PiAKPj4gPiDCoGRyaXZlcnMvaWlvL2FjY2VsL0tjb25maWfCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHzCoMKgMTIgKysKPj4gPiDCoGRyaXZlcnMvaWlvL2FjY2VsL01ha2VmaWxlwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgfMKgwqDCoDEgKwo+PiA+IMKgZHJpdmVycy9paW8vYWNjZWwvYWRpczE2 MjA5LmPCoMKgwqDCoMKgwqDCoMKgwqB8IDMyOQo+PiA+ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPj4gPiDCoGRyaXZlcnMvc3RhZ2luZy9paW8vYWNjZWwvS2NvbmZpZ8KgwqDC oMKgwqB8wqDCoDEyIC0tCj4+ID4gwqBkcml2ZXJzL3N0YWdpbmcvaWlvL2FjY2VsL01ha2VmaWxl wqDCoMKgwqB8wqDCoMKgMSAtCj4+ID4gwqBkcml2ZXJzL3N0YWdpbmcvaWlvL2FjY2VsL2FkaXMx NjIwOS5jIHwgMzI5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gPiAtLS0tLS0tLS0tLS0KPj4g PiDCoDYgZmlsZXMgY2hhbmdlZCwgMzQyIGluc2VydGlvbnMoKyksIDM0MiBkZWxldGlvbnMoLSkK Pj4gPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2lpby9hY2NlbC9hZGlzMTYyMDkuYwo+ PiA+IMKgZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy9paW8vYWNjZWwvYWRpczE2 MjA5LmMKPj4gPiAKPj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vYWNjZWwvS2NvbmZpZyBi L2RyaXZlcnMvaWlvL2FjY2VsL0tjb25maWcKPj4gPiBpbmRleCBjNmQ5NTE3Li5mOTVmNDNjIDEw MDY0NAo+PiA+IC0tLSBhL2RyaXZlcnMvaWlvL2FjY2VsL0tjb25maWcKPj4gPiArKysgYi9kcml2 ZXJzL2lpby9hY2NlbC9LY29uZmlnCj4+ID4gQEAgLTUsNiArNSwxOCBAQAo+PiA+IMKgCj4+ID4g wqBtZW51ICJBY2NlbGVyb21ldGVycyIKPj4gPiDCoAo+PiA+ICtjb25maWcgQURJUzE2MjA5Cj4+ ID4gK8KgwqDCoMKgwqDCoMKgwqB0cmlzdGF0ZSAiQW5hbG9nIERldmljZXMgQURJUzE2MjA5IER1 YWwtQXhpcyBEaWdpdGFsCj4+ID4gSW5jbGlub21ldGVyIGFuZCBBY2NlbGVyb21ldGVyIgo+PiA+ ICvCoMKgwqDCoMKgwqDCoMKgZGVwZW5kcyBvbiBTUEkKPj4gPiArwqDCoMKgwqDCoMKgwqDCoHNl bGVjdCBJSU9fQURJU19MSUIKPj4gPiArwqDCoMKgwqDCoMKgwqDCoHNlbGVjdCBJSU9fQURJU19M SUJfQlVGRkVSIGlmIElJT19CVUZGRVIKPj4gPiArwqDCoMKgwqDCoMKgwqDCoGhlbHAKPj4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqBTYXkgWSBoZXJlIHRvIGJ1aWxkIHN1cHBvcnQgZm9yIEFuYWxv ZyBEZXZpY2VzIGFkaXMxNjIwOQo+PiA+IGR1YWwtYXhpcyBkaWdpdGFsIGluY2xpbm9tZXRlcgo+ PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoGFuZCBhY2NlbGVyb21ldGVyLgo+PiA+ICsKPj4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBz YXkgTSBoZXJlOiB0aGUKPj4gPiBtb2R1bGUgd2lsbCBiZQo+PiA+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoGNhbGxlZCBhZGlzMTYyMDkuCj4+ID4gKwo+PiA+IMKgY29uZmlnIEFEWEwzNDUKPj4gPiDC oAl0cmlzdGF0ZQo+PiA+IMKgCj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2FjY2VsL01h a2VmaWxlCj4+ID4gYi9kcml2ZXJzL2lpby9hY2NlbC9NYWtlZmlsZQo+PiA+IGluZGV4IDM2OGFl ZGIuLjQwODYxYjkgMTAwNjQ0Cj4+ID4gLS0tIGEvZHJpdmVycy9paW8vYWNjZWwvTWFrZWZpbGUK Pj4gPiArKysgYi9kcml2ZXJzL2lpby9hY2NlbC9NYWtlZmlsZQo+PiA+IEBAIC00LDYgKzQsNyBA QAo+PiA+IMKgIwo+PiA+IMKgCj4+ID4gwqAjIFdoZW4gYWRkaW5nIG5ldyBlbnRyaWVzIGtlZXAg dGhlIGxpc3QgaW4gYWxwaGFiZXRpY2FsIG9yZGVyCj4+ID4gK29iai0kKENPTkZJR19BRElTMTYy MDkpICs9IGFkaXMxNjIwOS5vCj4+ID4gwqBvYmotJChDT05GSUdfQURYTDM0NSkgKz0gYWR4bDM0 NV9jb3JlLm8KPj4gPiDCoG9iai0kKENPTkZJR19BRFhMMzQ1X0kyQykgKz0gYWR4bDM0NV9pMmMu bwo+PiA+IMKgb2JqLSQoQ09ORklHX0FEWEwzNDVfU1BJKSArPSBhZHhsMzQ1X3NwaS5vCj4+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2FjY2VsL2FkaXMxNjIwOS5jCj4+ID4gYi9kcml2ZXJz L2lpby9hY2NlbC9hZGlzMTYyMDkuYwo+PiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+ID4gaW5k ZXggMDAwMDAwMC4uZWQyZTg5Zgo+PiA+IC0tLSAvZGV2L251bGwKPj4gPiArKysgYi9kcml2ZXJz L2lpby9hY2NlbC9hZGlzMTYyMDkuYwo+PiA+IEBAIC0wLDAgKzEsMzI5IEBACj4+ID4gKy8qCj4+ ID4gKyAqIEFESVMxNjIwOSBEdWFsLUF4aXMgRGlnaXRhbCBJbmNsaW5vbWV0ZXIgYW5kIEFjY2Vs ZXJvbWV0ZXIKPj4gPiArICoKPj4gPiArICogQ29weXJpZ2h0IDIwMTAgQW5hbG9nIERldmljZXMg SW5jLgo+PiA+ICsgKgo+PiA+ICsgKiBMaWNlbnNlZCB1bmRlciB0aGUgR1BMLTIgb3IgbGF0ZXIu Cj4+ID4gKyAqLwo+PiA+ICsKPj4gPiArI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Cj4+ID4gKyNp bmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KPj4gPiArI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgo+ PiA+ICsjaW5jbHVkZSA8bGludXgvbGlzdC5oPgo+PiA+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxl Lmg+Cj4+ID4gKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+Cj4+ID4gKyNpbmNsdWRlIDxsaW51 eC9zbGFiLmg+Cj4+ID4gKyNpbmNsdWRlIDxsaW51eC9zeXNmcy5oPgo+PiA+ICsKPj4gPiArI2lu Y2x1ZGUgPGxpbnV4L2lpby9paW8uaD4KPj4gPiArI2luY2x1ZGUgPGxpbnV4L2lpby9zeXNmcy5o Pgo+PiA+ICsjaW5jbHVkZSA8bGludXgvaWlvL2J1ZmZlci5oPgo+PiA+ICsjaW5jbHVkZSA8bGlu dXgvaWlvL2ltdS9hZGlzLmg+Cj4+ID4gKwo+PiA+ICsjZGVmaW5lIEFESVMxNjIwOV9TVEFSVFVQ X0RFTEFZX01TCTIyMAo+PiA+ICsjZGVmaW5lIEFESVMxNjIwOV9GTEFTSF9DTlRfUkVHCQkweDAw Cj4+ID4gKwo+PiA+ICsvKiBEYXRhIE91dHB1dCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLwo+PiA+ ICsjZGVmaW5lIEFESVMxNjIwOV9TVVBQTFlfT1VUX1JFRwkweDAyCj4+ID4gKyNkZWZpbmUgQURJ UzE2MjA5X1hBQ0NMX09VVF9SRUcJCTB4MDQKPj4gPiArI2RlZmluZSBBRElTMTYyMDlfWUFDQ0xf T1VUX1JFRwkJMHgwNgo+PiA+ICsvKiBPdXRwdXQsIGF1eGlsaWFyeSBBREMgaW5wdXQgKi8KPj4g PiArI2RlZmluZSBBRElTMTYyMDlfQVVYX0FEQ19SRUcJCTB4MDgKPj4gPiArLyogT3V0cHV0LCB0 ZW1wZXJhdHVyZSAqLwo+PiA+ICsjZGVmaW5lIEFESVMxNjIwOV9URU1QX09VVF9SRUcJCTB4MEEK Pj4gPiArLyogT3V0cHV0LCArLy0gOTAgZGVncmVlcyBYLWF4aXMgaW5jbGluYXRpb24gKi8KPj4g PiArI2RlZmluZSBBRElTMTYyMDlfWElOQ0xfT1VUX1JFRwkJMHgwQwo+PiA+ICsjZGVmaW5lIEFE SVMxNjIwOV9ZSU5DTF9PVVRfUkVHCQkweDBFCj4+ID4gKy8qIE91dHB1dCwgKy8tMTgwIHZlcnRp Y2FsIHJvdGF0aW9uYWwgcG9zaXRpb24gKi8KPj4gPiArI2RlZmluZSBBRElTMTYyMDlfUk9UX09V VF9SRUcJCTB4MTAKPj4gPiArCj4+ID4gKy8qCj4+ID4gKyAqIENhbGlicmF0aW9uIFJlZ2lzdGVy IERlZmluaXRpb25zLgo+PiA+ICsgKiBBY2NlbGVyYXRpb24sIGluY2xpbmF0aW9uIG9yIHJvdGF0 aW9uIG9mZnNldCBudWxsLgo+PiA+ICsgKi8KPj4gPiArI2RlZmluZSBBRElTMTYyMDlfWEFDQ0xf TlVMTF9SRUcJMHgxMgo+PiA+ICsjZGVmaW5lIEFESVMxNjIwOV9ZQUNDTF9OVUxMX1JFRwkweDE0 Cj4+ID4gKyNkZWZpbmUgQURJUzE2MjA5X1hJTkNMX05VTExfUkVHCTB4MTYKPj4gPiArI2RlZmlu ZSBBRElTMTYyMDlfWUlOQ0xfTlVMTF9SRUcJMHgxOAo+PiA+ICsjZGVmaW5lIEFESVMxNjIwOV9S T1RfTlVMTF9SRUcJCTB4MUEKPj4gPiArCj4+ID4gKy8qIEFsYXJtIFJlZ2lzdGVyIERlZmluaXRp b25zICovCj4+ID4gKyNkZWZpbmUgQURJUzE2MjA5X0FMTV9NQUcxX1JFRwkJMHgyMAo+PiA+ICsj ZGVmaW5lIEFESVMxNjIwOV9BTE1fTUFHMl9SRUcJCTB4MjIKPj4gPiArI2RlZmluZSBBRElTMTYy MDlfQUxNX1NNUEwxX1JFRwkJMHgyNAo+PiA+ICsjZGVmaW5lIEFESVMxNjIwOV9BTE1fU01QTDJf UkVHCQkweDI2Cj4+ID4gKyNkZWZpbmUgQURJUzE2MjA5X0FMTV9DVFJMX1JFRwkJMHgyOAo+PiA+ ICsKPj4gPiArI2RlZmluZSBBRElTMTYyMDlfQVVYX0RBQ19SRUcJCTB4MzAKPj4gPiArI2RlZmlu ZSBBRElTMTYyMDlfR1BJT19DVFJMX1JFRwkJMHgzMgo+PiA+ICsjZGVmaW5lIEFESVMxNjIwOV9T TVBMX1BSRF9SRUcJCTB4MzYKPj4gPiArI2RlZmluZSBBRElTMTYyMDlfQVZHX0NOVF9SRUcJCTB4 MzgKPj4gPiArI2RlZmluZSBBRElTMTYyMDlfU0xQX0NOVF9SRUcJCTB4M0EKPj4gPiArCj4+ID4g KyNkZWZpbmUgQURJUzE2MjA5X01TQ19DVFJMX1JFRwkJCTB4MzQKPj4gPiArI2RlZmluZcKgwqBB RElTMTYyMDlfTVNDX0NUUkxfUFdSVVBfU0VMRl9URVNUCUJJVCgxMCkKPj4gPiArI2RlZmluZcKg wqBBRElTMTYyMDlfTVNDX0NUUkxfU0VMRl9URVNUX0VOCUJJVCg4KQo+PiA+ICsjZGVmaW5lwqDC oEFESVMxNjIwOV9NU0NfQ1RSTF9EQVRBX1JEWV9FTgkJQklUKDIpCj4+ID4gKy8qIERhdGEtcmVh ZHkgcG9sYXJpdHk6IDEgPSBhY3RpdmUgaGlnaCwgMCA9IGFjdGl2ZSBsb3cgKi8KPj4gPiArI2Rl ZmluZcKgwqBBRElTMTYyMDlfTVNDX0NUUkxfQUNUSVZFX0hJR0gJCUJJVCgxKQo+PiA+ICsjZGVm aW5lwqDCoEFESVMxNjIwOV9NU0NfQ1RSTF9EQVRBX1JEWV9ESU8yCUJJVCgwKQo+PiA+ICsKPj4g PiArI2RlZmluZSBBRElTMTYyMDlfU1RBVF9SRUcJCQkweDNDCj4+ID4gKyNkZWZpbmXCoMKgQURJ UzE2MjA5X1NUQVRfQUxBUk0yCQkJQklUKDkpCj4+ID4gKyNkZWZpbmXCoMKgQURJUzE2MjA5X1NU QVRfQUxBUk0xCQkJQklUKDgpCj4+ID4gKyNkZWZpbmXCoMKgQURJUzE2MjA5X1NUQVRfU0VMRlRF U1RfRkFJTF9CSVQJNQo+PiA+ICsjZGVmaW5lwqDCoEFESVMxNjIwOV9TVEFUX1NQSV9GQUlMX0JJ VAkJMwo+PiA+ICsjZGVmaW5lwqDCoEFESVMxNjIwOV9TVEFUX0ZMQVNIX1VQVF9GQUlMX0JJVAky Cj4+ID4gKy8qIFBvd2VyIHN1cHBseSBhYm92ZSAzLjYyNSBWICovCj4+ID4gKyNkZWZpbmXCoMKg QURJUzE2MjA5X1NUQVRfUE9XRVJfSElHSF9CSVQJCTEKPj4gPiArLyogUG93ZXIgc3VwcGx5IGJl bG93IDMuMTUgViAqLwo+PiA+ICsjZGVmaW5lwqDCoEFESVMxNjIwOV9TVEFUX1BPV0VSX0xPV19C SVQJCTAKPj4gPiArCj4+ID4gKyNkZWZpbmUgQURJUzE2MjA5X0NNRF9SRUcJCQkweDNFCj4+ID4g KyNkZWZpbmXCoMKgQURJUzE2MjA5X0NNRF9TV19SRVNFVAkJCUJJVCg3KQo+PiA+ICsjZGVmaW5l wqDCoEFESVMxNjIwOV9DTURfQ0xFQVJfU1RBVAkJQklUKDQpCj4+ID4gKyNkZWZpbmXCoMKgQURJ UzE2MjA5X0NNRF9GQUNUT1JZX0NBTAkJQklUKDEpCj4+ID4gKwo+PiA+ICsjZGVmaW5lIEFESVMx NjIwOV9FUlJPUl9BQ1RJVkUJCQlCSVQoMTQpCj4+ID4gKwo+PiA+ICtlbnVtIGFkaXMxNjIwOV9z Y2FuIHsKPj4gPiArCUFESVMxNjIwOV9TQ0FOX1NVUFBMWSwKPj4gPiArCUFESVMxNjIwOV9TQ0FO X0FDQ19YLAo+PiA+ICsJQURJUzE2MjA5X1NDQU5fQUNDX1ksCj4+ID4gKwlBRElTMTYyMDlfU0NB Tl9BVVhfQURDLAo+PiA+ICsJQURJUzE2MjA5X1NDQU5fVEVNUCwKPj4gPiArCUFESVMxNjIwOV9T Q0FOX0lOQ0xJX1gsCj4+ID4gKwlBRElTMTYyMDlfU0NBTl9JTkNMSV9ZLAo+PiA+ICsJQURJUzE2 MjA5X1NDQU5fUk9ULAo+PiA+ICt9Owo+PiA+ICsKPj4gPiArc3RhdGljIGNvbnN0IHU4IGFkaXMx NjIwOV9hZGRyZXNzZXNbOF1bMV0gPSB7Cj4+ID4gKwlbQURJUzE2MjA5X1NDQU5fU1VQUExZXSA9 IHsgfSwKPj4gPiArCVtBRElTMTYyMDlfU0NBTl9BVVhfQURDXSA9IHsgfSwKPj4gPiArCVtBRElT MTYyMDlfU0NBTl9BQ0NfWF0gPSB7IEFESVMxNjIwOV9YQUNDTF9OVUxMX1JFRyB9LAo+PiA+ICsJ W0FESVMxNjIwOV9TQ0FOX0FDQ19ZXSA9IHsgQURJUzE2MjA5X1lBQ0NMX05VTExfUkVHIH0sCj4+ ID4gKwlbQURJUzE2MjA5X1NDQU5fSU5DTElfWF0gPSB7IEFESVMxNjIwOV9YSU5DTF9OVUxMX1JF RyB9LAo+PiA+ICsJW0FESVMxNjIwOV9TQ0FOX0lOQ0xJX1ldID0geyBBRElTMTYyMDlfWUlOQ0xf TlVMTF9SRUcgfSwKPj4gPiArCVtBRElTMTYyMDlfU0NBTl9ST1RdID0geyB9LAo+PiA+ICsJW0FE SVMxNjIwOV9TQ0FOX1RFTVBdID0geyB9LAo+PiA+ICt9Owo+PiA+ICsKPj4gPiArc3RhdGljIGlu dCBhZGlzMTYyMDlfd3JpdGVfcmF3KHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYsCj4+ID4gKwkJ CcKgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19jaGFuX3NwZWMgY29uc3QgKmNoYW4sCj4+ID4gKwkJ CcKgwqDCoMKgwqDCoMKgaW50IHZhbCwKPj4gPiArCQkJwqDCoMKgwqDCoMKgwqBpbnQgdmFsMiwK Pj4gPiArCQkJwqDCoMKgwqDCoMKgwqBsb25nIG1hc2spCj4+ID4gK3sKPj4gPiArCXN0cnVjdCBh ZGlzICpzdCA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4+ID4gKwlpbnQgYml0czsKPj4gPiArCXMx NiB2YWwxNjsKPj4gPiArCXU4IGFkZHI7Cj4+ID4gKwo+PiA+ICsJc3dpdGNoIChtYXNrKSB7Cj4+ ID4gKwljYXNlIElJT19DSEFOX0lORk9fQ0FMSUJCSUFTOgo+PiA+ICsJCXN3aXRjaCAoY2hhbi0+ dHlwZSkgewo+PiA+ICsJCWNhc2UgSUlPX0FDQ0VMOgo+PiA+ICsJCWNhc2UgSUlPX0lOQ0xJOgo+ PiA+ICsJCQliaXRzID0gMTQ7Cj4+ID4gKwkJCWJyZWFrOwo+PiA+ICsJCWRlZmF1bHQ6Cj4+ID4g KwkJCXJldHVybiAtRUlOVkFMOwo+PiA+ICsJCX0KPj4gPiArCQl2YWwxNiA9IHZhbCAmICgoMSA8 PCBiaXRzKSAtIDEpOwo+PiA+ICsJCWFkZHIgPSBhZGlzMTYyMDlfYWRkcmVzc2VzW2NoYW4tPnNj YW5faW5kZXhdWzBdOwo+PiA+ICsJCXJldHVybiBhZGlzX3dyaXRlX3JlZ18xNihzdCwgYWRkciwg dmFsMTYpOwo+PiA+ICsJfQo+PiA+ICsJcmV0dXJuIC1FSU5WQUw7Cj4+ID4gK30KPj4gPiArCj4+ ID4gK3N0YXRpYyBpbnQgYWRpczE2MjA5X3JlYWRfcmF3KHN0cnVjdCBpaW9fZGV2ICppbmRpb19k ZXYsCj4+ID4gKwkJCcKgwqDCoMKgwqDCoHN0cnVjdCBpaW9fY2hhbl9zcGVjIGNvbnN0ICpjaGFu LAo+PiA+ICsJCQnCoMKgwqDCoMKgwqBpbnQgKnZhbCwgaW50ICp2YWwyLAo+PiA+ICsJCQnCoMKg wqDCoMKgwqBsb25nIG1hc2spCj4+ID4gK3sKPj4gPiArCXN0cnVjdCBhZGlzICpzdCA9IGlpb19w cml2KGluZGlvX2Rldik7Cj4+ID4gKwlpbnQgcmV0Owo+PiA+ICsJaW50IGJpdHM7Cj4+ID4gKwl1 OCBhZGRyOwo+PiA+ICsJczE2IHZhbDE2Owo+PiA+ICsKPj4gPiArCXN3aXRjaCAobWFzaykgewo+ PiA+ICsJY2FzZSBJSU9fQ0hBTl9JTkZPX1JBVzoKPj4gPiArCQlyZXR1cm4gYWRpc19zaW5nbGVf Y29udmVyc2lvbihpbmRpb19kZXYsIGNoYW4sCj4+ID4gKwkJCUFESVMxNjIwOV9FUlJPUl9BQ1RJ VkUsIHZhbCk7Cj4+ID4gKwljYXNlIElJT19DSEFOX0lORk9fU0NBTEU6Cj4+ID4gKwkJc3dpdGNo IChjaGFuLT50eXBlKSB7Cj4+ID4gKwkJY2FzZSBJSU9fVk9MVEFHRToKPj4gPiArCQkJKnZhbCA9 IDA7Cj4+ID4gKwkJCWlmIChjaGFuLT5jaGFubmVsID09IDApCj4+ID4gKwkJCQkqdmFsMiA9IDMw NTE4MDsgLyogMC4zMDUxOCBtViAqLwo+PiA+ICsJCQllbHNlCj4+ID4gKwkJCQkqdmFsMiA9IDYx MDUwMDsgLyogMC42MTA1IG1WICovCj4+ID4gKwkJCXJldHVybiBJSU9fVkFMX0lOVF9QTFVTX01J Q1JPOwo+PiA+ICsJCWNhc2UgSUlPX1RFTVA6Cj4+ID4gKwkJCSp2YWwgPSAtNDcwOwo+PiA+ICsJ CQkqdmFsMiA9IDA7Cj4+ID4gKwkJCXJldHVybiBJSU9fVkFMX0lOVF9QTFVTX01JQ1JPOwo+PiA+ ICsJCWNhc2UgSUlPX0FDQ0VMOgo+PiA+ICsJCQkvKgo+PiA+ICsJCQnCoCogSUlPIGJhc2UgdW5p dCBmb3Igc2Vuc2l0aXZpdHkgb2YKPj4gPiBhY2NlbGVyb21ldGVyCj4+ID4gKwkJCcKgKiBpcyBt aWxsaSBnLgo+PiA+ICsJCQnCoCogMSBMU0IgcmVwcmVzZW50cyAwLjI0NCBtZy4KPj4gPiArCQkJ wqAqLwo+PiA+ICsJCQkqdmFsID0gMDsKPj4gPiArCQkJKnZhbDIgPSBJSU9fR19UT19NX1NfMigy NDQxNDApOwo+PiA+ICsJCQlyZXR1cm4gSUlPX1ZBTF9JTlRfUExVU19OQU5POwo+PiA+ICsJCWNh c2UgSUlPX0lOQ0xJOgo+PiA+ICsJCWNhc2UgSUlPX1JPVDoKPj4gPiArCQkJLyoKPj4gPiArCQkJ wqAqIElJTyBiYXNlIHVuaXRzIGZvciByb3RhdGlvbiBhcmUKPj4gPiBkZWdyZWVzLgo+PiA+ICsJ CQnCoCogMSBMU0IgcmVwcmVzZW50cyAwLjAyNSBtaWxsaSBkZWdyZWVzLgo+PiA+ICsJCQnCoCov Cj4+ID4gKwkJCSp2YWwgPSAwOwo+PiA+ICsJCQkqdmFsMiA9IDI1MDAwOwo+PiA+ICsJCQlyZXR1 cm4gSUlPX1ZBTF9JTlRfUExVU19NSUNSTzsKPj4gPiArCQlkZWZhdWx0Ogo+PiA+ICsJCQlyZXR1 cm4gLUVJTlZBTDsKPj4gPiArCQl9Cj4+ID4gKwkJYnJlYWs7Cj4+ID4gKwljYXNlIElJT19DSEFO X0lORk9fT0ZGU0VUOgo+PiA+ICsJCS8qCj4+ID4gKwkJwqAqIFRoZSByYXcgQURDIHZhbHVlIGlz IDB4NEZFIHdoZW4gdGhlIHRlbXBlcmF0dXJlCj4+ID4gKwkJwqAqIGlzIDQ1IGRlZ3JlZXMgYW5k IHRoZSBzY2FsZSBmYWN0b3IgcGVyIG1pbGxpCj4+ID4gKwkJwqAqIGRlZ3JlZSBjZWxjaXVzIGlz IC00NzAuCj4+ID4gKwkJwqAqLwo+PiA+ICsJCSp2YWwgPSAyNTAwMCAvIC00NzAgLSAweDRGRTsK Pj4gPiArCQlyZXR1cm4gSUlPX1ZBTF9JTlQ7Cj4+ID4gKwljYXNlIElJT19DSEFOX0lORk9fQ0FM SUJCSUFTOgo+PiA+ICsJCXN3aXRjaCAoY2hhbi0+dHlwZSkgewo+PiA+ICsJCWNhc2UgSUlPX0FD Q0VMOgo+PiA+ICsJCQliaXRzID0gMTQ7Cj4+ID4gKwkJCWJyZWFrOwo+PiA+ICsJCWRlZmF1bHQ6 Cj4+ID4gKwkJCXJldHVybiAtRUlOVkFMOwo+PiA+ICsJCX0KPj4gPiArCQlhZGRyID0gYWRpczE2 MjA5X2FkZHJlc3Nlc1tjaGFuLT5zY2FuX2luZGV4XVswXTsKPj4gPiArCQlyZXQgPSBhZGlzX3Jl YWRfcmVnXzE2KHN0LCBhZGRyLCAmdmFsMTYpOwo+PiA+ICsJCWlmIChyZXQpCj4+ID4gKwkJCXJl dHVybiByZXQ7Cj4+ID4gKwkJdmFsMTYgJj0gKDEgPDwgYml0cykgLSAxOwo+PiA+ICsJCXZhbDE2 ID0gKHMxNikodmFsMTYgPDwgKDE2IC0gYml0cykpID4+ICgxNiAtCj4+ID4gYml0cyk7Cj4+ID4g KwkJKnZhbCA9IHZhbDE2Owo+PiBTb21ldGhpbmcgb2RkIGhlcmUgYXMgdGhpcyBpc24ndCB0aGUg Y3VycmVudCBjb2RlIC0gZG9lc24ndCBoYXZlIHRoZQo+PiBzaWduIGV4dGVuZCBwYXRjaCBpbiBw bGFjZS4KPj4gCj4+ID4gCj4+ID4gKwkJcmV0dXJuIElJT19WQUxfSU5UOwo+PiA+ICsJfQo+PiA+ ICsJcmV0dXJuIC1FSU5WQUw7Cj4+ID4gK30KPj4gPiArCj4+ID4gK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgaWlvX2NoYW5fc3BlYyBhZGlzMTYyMDlfY2hhbm5lbHNbXSA9IHsKPj4gPiArCUFESVNfU1VQ UExZX0NIQU4oQURJUzE2MjA5X1NVUFBMWV9PVVRfUkVHLAo+PiA+IEFESVMxNjIwOV9TQ0FOX1NV UFBMWSwKPj4gPiArCQkJwqAwLCAxNCksCj4+ID4gKwlBRElTX1RFTVBfQ0hBTihBRElTMTYyMDlf VEVNUF9PVVRfUkVHLAo+PiA+IEFESVMxNjIwOV9TQ0FOX1RFTVAsIDAsIDEyKSwKPj4gPiArCUFE SVNfQUNDRUxfQ0hBTihYLCBBRElTMTYyMDlfWEFDQ0xfT1VUX1JFRywKPj4gPiBBRElTMTYyMDlf U0NBTl9BQ0NfWCwKPj4gPiArCQkJQklUKElJT19DSEFOX0lORk9fQ0FMSUJCSUFTKSwgMCwgMTQp LAo+PiA+ICsJQURJU19BQ0NFTF9DSEFOKFksIEFESVMxNjIwOV9ZQUNDTF9PVVRfUkVHLAo+PiA+ IEFESVMxNjIwOV9TQ0FOX0FDQ19ZLAo+PiA+ICsJCQlCSVQoSUlPX0NIQU5fSU5GT19DQUxJQkJJ QVMpLCAwLCAxNCksCj4+ID4gKwlBRElTX0FVWF9BRENfQ0hBTihBRElTMTYyMDlfQVVYX0FEQ19S RUcsCj4+ID4gQURJUzE2MjA5X1NDQU5fQVVYX0FEQywgMCwgMTIpLAo+PiA+ICsJQURJU19JTkNM SV9DSEFOKFgsIEFESVMxNjIwOV9YSU5DTF9PVVRfUkVHLAo+PiA+IEFESVMxNjIwOV9TQ0FOX0lO Q0xJX1gsCj4+ID4gKwkJCTAsIDAsIDE0KSwKPj4gPiArCUFESVNfSU5DTElfQ0hBTihZLCBBRElT MTYyMDlfWUlOQ0xfT1VUX1JFRywKPj4gPiBBRElTMTYyMDlfU0NBTl9JTkNMSV9ZLAo+PiA+ICsJ CQkwLCAwLCAxNCksCj4+ID4gKwlBRElTX1JPVF9DSEFOKFgsIEFESVMxNjIwOV9ST1RfT1VUX1JF RywKPj4gPiBBRElTMTYyMDlfU0NBTl9ST1QsIDAsIDAsIDE0KSwKPj4gVGhpcyByYWlzZXMgYW4g aW50ZXJlc3RpbmcgcXVlc3Rpb24uwqDCoEhvdyBkbyB3ZSBkZWZpbmUgcm90YXRpb24gYXhlcz8K Pj4gSSB3b3VsZCBhc3N1bWUgaXQgd2FzIHJvdGF0aW9uIGFib3V0IHRoZSBheGlzLCBhcyBzdWNo IEkgdGhpbmsgdGhlCj4+IGNvcnJlY3QKPj4gYXhpcyBmb3IgdGhpcyBpcyBaLgo+PiAKPj4gSG93 ZXZlciwgdGhlbiB3ZSBjb25zaWRlciB0aGUgdHdvIGluY2xpbmF0aW9uIGF4aXMuIEFnYWluIGZp ZGRseS7CoMKgSQo+PiBzdXBwb3NlCj4+IGl0IGlzIGluY2xpbmF0aW9uICdmcm9tJyBhbiBheGlz LCBidXQgaW4gd2hhdCBwbGFuZT/CoMKgSSBndWVzcyB4IGFuZCB5Cj4+IGlzIGFib3V0IGFzIGdv b2QgYXMgd2UgY2FuIGRvIG9uIHRob3NlIG9uZXMgd2l0aCB0aGUgYXNzdW1wdGlvbiB0aGV5Cj4+ IGFyZSBhbGlnbmVkIHRvIHBlcnBlbmRpY3VsYXIgdG8gdGhlIHZlcnRpY2FsLgo+Cj5JIHdlbnQg dGhyb3VnaCBzb21lIGRhdGFzaGVldHMgdG8gZmluZCBvdXQgbW9yZSBhYm91dCB0aGUgc2luZ2xl IGF4aXMKPnRpbHQgaW5jbGluYXRpb24gYW5kIGRvdWJsZSBheGlzIHRpbHQgaW5jbGluYXRpb24u CgoKSSBtZWFudCAqZHVhbCogYXhpcyBoZXJlIGFuZCBldmVuIGJlbG93LgoKCj5Sb3RhdGlvbmFs IGFuZ2xlIGlzIHByb3ZpZGVkIGJ5IGRvdWJsZSBheGlzIHRpbHQgdGhlb3J5Lgo+QXMgdGhlIG5h bWUgdGVsbHMgdXMgdGhhdCBpdCBpcyBkdWFsIGF4aXMgaS5lLiB3ZSBhcmUgY29uc2lkZXJpbmcg WCBhbmQKPlkgYXhpcyBoZXJlIHNvIG1heWJlIHRoaXMgaXMgd2h5IHdlIGFyZSBub3QgdGFraW5n IFogYXhpcyBoZXJlLgo+QW5nbGUgb2Ygcm90YXRpb24gaXMgdGFrZW4gZnJvbSB0aGUgWCBheGlz Lgo+Cj5JIGFtIGF0dGFjaGluZyBzb21lIHNjcmVlbnNob3RzIGFib3V0IG1vcmUgaW5mb3JtYXRp b24gb24gdGhpcy4KPk1heWJlIHRoZXkgY2FuIGJlIGhlbHBmdWwuCj4KPkFsc28gSWYgSSBoYXZl IHVuZGVyc3Rvb2Qgc29tZXRoaW5nIHdyb25nIHRoZW4gcGxlYXNlIGRvIGNvcnJlY3QKPm1lIDop Cj4KPlRoYW5rcwo+Cj4KPj4gCj4+ID4gCj4+ID4gKwlJSU9fQ0hBTl9TT0ZUX1RJTUVTVEFNUCg4 KQo+PiA+ICt9Owo+PiA+ICsKPj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBpaW9faW5mbyBhZGlz MTYyMDlfaW5mbyA9IHsKPj4gPiArCS5yZWFkX3JhdyA9IGFkaXMxNjIwOV9yZWFkX3JhdywKPj4g PiArCS53cml0ZV9yYXcgPSBhZGlzMTYyMDlfd3JpdGVfcmF3LAo+PiA+ICsJLnVwZGF0ZV9zY2Fu X21vZGUgPSBhZGlzX3VwZGF0ZV9zY2FuX21vZGUsCj4+ID4gK307Cj4+ID4gKwo+PiA+ICtzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IGFkaXMxNjIwOV9zdGF0dXNfZXJyb3JfbXNnc1tdID0gewo+ PiA+ICsJW0FESVMxNjIwOV9TVEFUX1NFTEZURVNUX0ZBSUxfQklUXSA9ICJTZWxmIHRlc3QgZmFp bHVyZSIsCj4+ID4gKwlbQURJUzE2MjA5X1NUQVRfU1BJX0ZBSUxfQklUXSA9ICJTUEkgZmFpbHVy ZSIsCj4+ID4gKwlbQURJUzE2MjA5X1NUQVRfRkxBU0hfVVBUX0ZBSUxfQklUXSA9ICJGbGFzaCB1 cGRhdGUKPj4gPiBmYWlsZWQiLAo+PiA+ICsJW0FESVMxNjIwOV9TVEFUX1BPV0VSX0hJR0hfQklU XSA9ICJQb3dlciBzdXBwbHkgYWJvdmUKPj4gPiAzLjYyNVYiLAo+PiA+ICsJW0FESVMxNjIwOV9T VEFUX1BPV0VSX0xPV19CSVRdID0gIlBvd2VyIHN1cHBseSBiZWxvdwo+PiA+IDMuMTVWIiwKPj4g PiArfTsKPj4gPiArCj4+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWRpc19kYXRhIGFkaXMxNjIw OV9kYXRhID0gewo+PiA+ICsJLnJlYWRfZGVsYXkgPSAzMCwKPj4gPiArCS5tc2NfY3RybF9yZWcg PSBBRElTMTYyMDlfTVNDX0NUUkxfUkVHLAo+PiA+ICsJLmdsb2JfY21kX3JlZyA9IEFESVMxNjIw OV9DTURfUkVHLAo+PiA+ICsJLmRpYWdfc3RhdF9yZWcgPSBBRElTMTYyMDlfU1RBVF9SRUcsCj4+ ID4gKwo+PiA+ICsJLnNlbGZfdGVzdF9tYXNrID0gQURJUzE2MjA5X01TQ19DVFJMX1NFTEZfVEVT VF9FTiwKPj4gPiArCS5zZWxmX3Rlc3Rfbm9fYXV0b2NsZWFyID0gdHJ1ZSwKPj4gPiArCS5zdGFy dHVwX2RlbGF5ID0gQURJUzE2MjA5X1NUQVJUVVBfREVMQVlfTVMsCj4+ID4gKwo+PiA+ICsJLnN0 YXR1c19lcnJvcl9tc2dzID0gYWRpczE2MjA5X3N0YXR1c19lcnJvcl9tc2dzLAo+PiA+ICsJLnN0 YXR1c19lcnJvcl9tYXNrID0gQklUKEFESVMxNjIwOV9TVEFUX1NFTEZURVNUX0ZBSUxfQklUKQo+ PiA+IHwKPj4gPiArCQlCSVQoQURJUzE2MjA5X1NUQVRfU1BJX0ZBSUxfQklUKSB8Cj4+ID4gKwkJ QklUKEFESVMxNjIwOV9TVEFUX0ZMQVNIX1VQVF9GQUlMX0JJVCkgfAo+PiA+ICsJCUJJVChBRElT MTYyMDlfU1RBVF9QT1dFUl9ISUdIX0JJVCkgfAo+PiA+ICsJCUJJVChBRElTMTYyMDlfU1RBVF9Q T1dFUl9MT1dfQklUKSwKPj4gPiArfTsKPj4gPiArCj4+ID4gK3N0YXRpYyBpbnQgYWRpczE2MjA5 X3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4+ID4gK3sKPj4gPiArCWludCByZXQ7Cj4+ ID4gKwlzdHJ1Y3QgYWRpcyAqc3Q7Cj4+ID4gKwlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2Owo+ PiBJdCdzIG5vdCBvbmUgSSBwZXJzb25hbGx5IGZlZWwgc3Ryb25nbHkgYWJvdXQgYnV0IHdoZW4g dGhlcmUgaXMgbm8KPj4gcmVhc29uIG5vdCB0byBkbyBpdCwgcmV2ZXJzZSBDaHJpc3RtYXMgdHJl ZSBvcmRlcmluZyBpcyBwcmVmZXJyZWQgZm9yCj4+IHZhcmlhYmxlIGRlY2xhcmF0aW9ucy4KPj4g Cj4+ID4gCj4+ID4gKwo+PiA+ICsJaW5kaW9fZGV2ID0gZGV2bV9paW9fZGV2aWNlX2FsbG9jKCZz cGktPmRldiwgc2l6ZW9mKCpzdCkpOwo+PiA+ICsJaWYgKCFpbmRpb19kZXYpCj4+ID4gKwkJcmV0 dXJuIC1FTk9NRU07Cj4+IEJsYW5rIGxpbmUgaGVyZS4KPj4gCj4+ID4gCj4+ID4gKwlzdCA9IGlp b19wcml2KGluZGlvX2Rldik7Cj4+ID4gKwlzcGlfc2V0X2RydmRhdGEoc3BpLCBpbmRpb19kZXYp Owo+PiA+ICsKPj4gPiArCWluZGlvX2Rldi0+bmFtZSA9IHNwaS0+ZGV2LmRyaXZlci0+bmFtZTsK Pj4gPiArCWluZGlvX2Rldi0+ZGV2LnBhcmVudCA9ICZzcGktPmRldjsKPj4gPiArCWluZGlvX2Rl di0+aW5mbyA9ICZhZGlzMTYyMDlfaW5mbzsKPj4gPiArCWluZGlvX2Rldi0+Y2hhbm5lbHMgPSBh ZGlzMTYyMDlfY2hhbm5lbHM7Cj4+ID4gKwlpbmRpb19kZXYtPm51bV9jaGFubmVscyA9IEFSUkFZ X1NJWkUoYWRpczE2MjA5X2NoYW5uZWxzKTsKPj4gPiArCWluZGlvX2Rldi0+bW9kZXMgPSBJTkRJ T19ESVJFQ1RfTU9ERTsKPj4gPiArCj4+ID4gKwlyZXQgPSBhZGlzX2luaXQoc3QsIGluZGlvX2Rl diwgc3BpLCAmYWRpczE2MjA5X2RhdGEpOwo+PiA+ICsJaWYgKHJldCkKPj4gPiArCQlyZXR1cm4g cmV0Owo+PiBCbGFuayBsaW5lIGhlcmUuCj4+IAo+PiA+IAo+PiA+ICsJcmV0ID0gYWRpc19zZXR1 cF9idWZmZXJfYW5kX3RyaWdnZXIoc3QsIGluZGlvX2RldiwgTlVMTCk7Cj4+ID4gKwlpZiAocmV0 KQo+PiA+ICsJCXJldHVybiByZXQ7Cj4+ID4gKwo+PiA+ICsJcmV0ID0gYWRpc19pbml0aWFsX3N0 YXJ0dXAoc3QpOwo+PiA+ICsJaWYgKHJldCkKPj4gPiArCQlnb3RvIGVycm9yX2NsZWFudXBfYnVm ZmVyX3RyaWdnZXI7Cj4+ID4gKwlyZXQgPSBpaW9fZGV2aWNlX3JlZ2lzdGVyKGluZGlvX2Rldik7 Cj4+ID4gKwlpZiAocmV0KQo+PiA+ICsJCWdvdG8gZXJyb3JfY2xlYW51cF9idWZmZXJfdHJpZ2dl cjsKPj4gPiArCj4+ID4gKwlyZXR1cm4gMDsKPj4gPiArCj4+ID4gK2Vycm9yX2NsZWFudXBfYnVm ZmVyX3RyaWdnZXI6Cj4+ID4gKwlhZGlzX2NsZWFudXBfYnVmZmVyX2FuZF90cmlnZ2VyKHN0LCBp bmRpb19kZXYpOwo+PiA+ICsJcmV0dXJuIHJldDsKPj4gPiArfQo+PiA+ICsKPj4gPiArc3RhdGlj IGludCBhZGlzMTYyMDlfcmVtb3ZlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4+ID4gK3sKPj4g PiArCXN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYgPSBzcGlfZ2V0X2RydmRhdGEoc3BpKTsKPj4g PiArCXN0cnVjdCBhZGlzICpzdCA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4+ID4gKwo+PiA+ICsJ aWlvX2RldmljZV91bnJlZ2lzdGVyKGluZGlvX2Rldik7Cj4+ID4gKwlhZGlzX2NsZWFudXBfYnVm ZmVyX2FuZF90cmlnZ2VyKHN0LCBpbmRpb19kZXYpOwo+PiA+ICsKPj4gPiArCXJldHVybiAwOwo+ PiA+ICt9Cj4+ID4gKwo+PiA+ICtzdGF0aWMgc3RydWN0IHNwaV9kcml2ZXIgYWRpczE2MjA5X2Ry aXZlciA9IHsKPj4gPiArCS5kcml2ZXIgPSB7Cj4+ID4gKwkJLm5hbWUgPSAiYWRpczE2MjA5IiwK Pj4gPiArCX0sCj4+ID4gKwkucHJvYmUgPSBhZGlzMTYyMDlfcHJvYmUsCj4+ID4gKwkucmVtb3Zl ID0gYWRpczE2MjA5X3JlbW92ZSwKPj4gPiArfTsKPj4gPiArbW9kdWxlX3NwaV9kcml2ZXIoYWRp czE2MjA5X2RyaXZlcik7Cj4+ID4gKwo+PiA+ICtNT0RVTEVfQVVUSE9SKCJCYXJyeSBTb25nIDwy MWNuYmFvQGdtYWlsLmNvbT4iKTsKPj4gPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJBbmFsb2cgRGV2 aWNlcyBBRElTMTYyMDkgRHVhbC1BeGlzIERpZ2l0YWwKPj4gPiBJbmNsaW5vbWV0ZXIgYW5kIEFj Y2VsZXJvbWV0ZXIiKTsKPj4gPiArTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwo+PiA+ICtNT0RV TEVfQUxJQVMoInNwaTphZGlzMTYyMDkiKTtdCj4+IDxzbmlwPgoKLS0gClNlbnQgZnJvbSBteSBB bmRyb2lkIGRldmljZSB3aXRoIEstOSBNYWlsLiBQbGVhc2UgZXhjdXNlIG15IGJyZXZpdHkuCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRldmVsIG1haWxp bmcgbGlzdApkZXZlbEBsaW51eGRyaXZlcnByb2plY3Qub3JnCmh0dHA6Ly9kcml2ZXJkZXYubGlu dXhkcml2ZXJwcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaXZlcmRldi1kZXZlbAo=