From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BF938C32751 for ; Wed, 31 Jul 2019 13:05:29 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8DAEC206B8 for ; Wed, 31 Jul 2019 13:05:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="pFzgrhRT"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=st.com header.i=@st.com header.b="uNkn3lRM" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8DAEC206B8 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=st.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=xVZ0dfZqJAHlczu6TlDNabI5R4O+OzGhKNwTTpYtX5I=; b=pFzgrhRTsN07Yh 9IB8mbYguP4ZZlvAAUDHioYyznS3xQwj7+TmxnRpzy3YqZ4k63/nta/FKu1lxLATu2tcIahZT9NTo XIAAx3+DveAqyJiZGxLoQUfMYVnz6AWE+OQjhanVhUNKFZDy6gp3hp4GPK7TMStflXqHvJrap4L1L hO/bGN+ujVkdlY39cPr4GqjZ0oCopqf4dc+A/TraSmpkNtgVH3MGpLRG0+E0R5yEFxgjgHcsC37De HzDouMhSnDTu8GOzSdgG4cQ5uEYAf2KsaCC+FE8Ms7xzA95OQAMImTH446x/ceJH3RHYT2Ydiz9jT 6sHiJaTzo64c1BGWB72w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hsoIK-0003YH-Pm; Wed, 31 Jul 2019 13:05:28 +0000 Received: from mx07-00178001.pphosted.com ([62.209.51.94]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hsoIH-0003Xk-1T for linux-arm-kernel@lists.infradead.org; Wed, 31 Jul 2019 13:05:27 +0000 Received: from pps.filterd (m0046037.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x6VD3I6d002135; Wed, 31 Jul 2019 15:05:18 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=st.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=STMicroelectronics; bh=NrXdASQY6N3dSxPTmspkxn4jiEn+w6TjQAkUByGSg4g=; b=uNkn3lRM/E9dyhZ1h4et74Es9zLRHJWspw4yCw8TaIURwvZu5d1IrJkoTHCmawDU+iVr NHCxUCM8lPxn3KTeLjZjkg97cGbeeli0SS3RJxiCrtLCKDcyGxPrsAjQgi0yqSaoZXIC QZmhlCnCDbczg6deQViJS5fx9gD+kQMCzwDBMfJw/G+OD1Fah+EiukPQASiJBODV5TeI cVvhNgUmVJNEYFtIpM42HraLeXTu6x97RXyi7mqKLV4ydz/gtZp4QYQjysSDhASiWb/c TzB7cijuujyEeu6bSq4mEdqfWMiSQ2HvHm4c4O4BMQ0H2/jrAY5l6QToUloOyrtkS3VE pw== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 2u0ccwrerv-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 31 Jul 2019 15:05:16 +0200 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 736C534; Wed, 31 Jul 2019 13:05:15 +0000 (GMT) Received: from Webmail-eu.st.com (sfhdag5node1.st.com [10.75.127.13]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 5BD56CB313; Wed, 31 Jul 2019 15:05:15 +0200 (CEST) Received: from SFHDAG5NODE1.st.com (10.75.127.13) by SFHDAG5NODE1.st.com (10.75.127.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 31 Jul 2019 15:05:14 +0200 Received: from SFHDAG5NODE1.st.com ([fe80::cc53:528c:36c8:95f6]) by SFHDAG5NODE1.st.com ([fe80::cc53:528c:36c8:95f6%20]) with mapi id 15.00.1473.003; Wed, 31 Jul 2019 15:05:14 +0200 From: Hugues FRUCHET To: Hans Verkuil , Benjamin Gaignard Subject: Re: [PATCH v3 3/3] media: stm32-dcmi: add support of several sub-devices Thread-Topic: [PATCH v3 3/3] media: stm32-dcmi: add support of several sub-devices Thread-Index: AQHVQt26Ic/FdVDjfkKPf216WasZ9KbbSweAgAADfoCACUtZAA== Date: Wed, 31 Jul 2019 13:05:14 +0000 Message-ID: <724dc1a9-0e4e-180f-9e52-a07904c98360@st.com> References: <1562082779-31165-1-git-send-email-hugues.fruchet@st.com> <1562082779-31165-4-git-send-email-hugues.fruchet@st.com> <81e1a94d-af25-302c-64a6-3cec096d4144@xs4all.nl> <7c18a314-851b-2852-83be-406cdc2f2047@xs4all.nl> In-Reply-To: <7c18a314-851b-2852-83be-406cdc2f2047@xs4all.nl> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.75.127.49] Content-ID: <0B57B51BA0CA5341B43E9D723956B9B4@st.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-31_06:, , signatures=0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190731_060525_384408_73EF987C X-CRM114-Status: GOOD ( 21.13 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alexandre TORGUE , Mickael GUENE , Linux Kernel Mailing List , Philippe CORNU , Yannick FERTRE , Sakari Ailus , Mauro Carvalho Chehab , "linux-stm32@st-md-mailman.stormreply.com" , Linux ARM , "linux-media@vger.kernel.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgSGFucywNCg0KSSd2ZSBqdXN0IHB1c2hlZCB2NCB3aXRoIHN1YmRldiBub2RlcyByZWdpc3Ry eSByZW1vdmFsIGFzIHBlciB5b3VyIA0Kc3VnZ2VzdGlvbi4NCg0KT24gNy8yNS8xOSA1OjA5IFBN LCBIYW5zIFZlcmt1aWwgd3JvdGU6DQo+IE9uIDcvMjUvMTkgNDo1NiBQTSwgQmVuamFtaW4gR2Fp Z25hcmQgd3JvdGU6DQo+PiBMZSBqZXUuIDI1IGp1aWwuIDIwMTkgw6AgMTM6NDAsIEhhbnMgVmVy a3VpbCA8aHZlcmt1aWxAeHM0YWxsLm5sPiBhIMOpY3JpdCA6DQo+Pj4NCj4+PiBPbiA3LzIvMTkg NTo1MiBQTSwgSHVndWVzIEZydWNoZXQgd3JvdGU6DQo+Pj4+IEFkZCBzdXBwb3J0IG9mIHNldmVy YWwgc3ViLWRldmljZXMgd2l0aGluIHBpcGVsaW5lIGluc3RlYWQNCj4+Pj4gb2YgYSBzaW5nbGUg b25lLg0KPj4+PiBUaGlzIGFsbG93cyB0byBzdXBwb3J0IGEgQ1NJLTIgY2FtZXJhIHNlbnNvciBj b25uZWN0ZWQNCj4+Pj4gdGhyb3VnaCBhIENTSS0yIHRvIHBhcmFsbGVsIGJyaWRnZS4NCj4+Pj4N Cj4+Pj4gU2lnbmVkLW9mZi1ieTogSHVndWVzIEZydWNoZXQgPGh1Z3Vlcy5mcnVjaGV0QHN0LmNv bT4NCj4+Pj4gLS0tDQo+Pj4+ICAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1k Y21pLmMgfCAyMDQgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tDQo+Pj4+ICAgMSBmaWxl IGNoYW5nZWQsIDE4NiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkNCj4+Pj4NCj4+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3RtMzIvc3RtMzItZGNtaS5jIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMNCj4+Pj4gaW5kZXggNmYz NzYxNy4uNjkyMWU2YiAxMDA2NDQNCj4+Pj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9z dG0zMi9zdG0zMi1kY21pLmMNCj4+Pj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdG0z Mi9zdG0zMi1kY21pLmMNCj4+Pj4gQEAgLTE3Miw2ICsxNzIsNyBAQCBzdHJ1Y3Qgc3RtMzJfZGNt aSB7DQo+Pj4+DQo+Pj4+ICAgICAgICBzdHJ1Y3QgbWVkaWFfZGV2aWNlICAgICAgICAgICAgIG1k ZXY7DQo+Pj4+ICAgICAgICBzdHJ1Y3QgbWVkaWFfcGFkICAgICAgICAgICAgICAgIHZpZF9jYXBf cGFkOw0KPj4+PiArICAgICBzdHJ1Y3QgbWVkaWFfcGlwZWxpbmUgICAgICAgICAgIHBpcGVsaW5l Ow0KPj4+PiAgIH07DQo+Pj4+DQo+Pj4+ICAgc3RhdGljIGlubGluZSBzdHJ1Y3Qgc3RtMzJfZGNt aSAqbm90aWZpZXJfdG9fZGNtaShzdHJ1Y3QgdjRsMl9hc3luY19ub3RpZmllciAqbikNCj4+Pj4g QEAgLTU4Myw2ICs1ODQsMTMxIEBAIHN0YXRpYyB2b2lkIGRjbWlfYnVmX3F1ZXVlKHN0cnVjdCB2 YjJfYnVmZmVyICp2YikNCj4+Pj4gICAgICAgIHNwaW5fdW5sb2NrX2lycSgmZGNtaS0+aXJxbG9j ayk7DQo+Pj4+ICAgfQ0KPj4+Pg0KPj4+PiArc3RhdGljIHN0cnVjdCBtZWRpYV9lbnRpdHkgKmRj bWlfZmluZF9zb3VyY2Uoc3RydWN0IHN0bTMyX2RjbWkgKmRjbWkpDQo+Pj4+ICt7DQo+Pj4+ICsg ICAgIHN0cnVjdCBtZWRpYV9lbnRpdHkgKmVudGl0eSA9ICZkY21pLT52ZGV2LT5lbnRpdHk7DQo+ Pj4+ICsgICAgIHN0cnVjdCBtZWRpYV9wYWQgKnBhZDsNCj4+Pj4gKw0KPj4+PiArICAgICAvKiBX YWxrIHNlYXJjaGluZyBmb3IgZW50aXR5IGhhdmluZyBubyBzaW5rICovDQo+Pj4+ICsgICAgIHdo aWxlICgxKSB7DQo+Pj4+ICsgICAgICAgICAgICAgcGFkID0gJmVudGl0eS0+cGFkc1swXTsNCj4+ Pj4gKyAgICAgICAgICAgICBpZiAoIShwYWQtPmZsYWdzICYgTUVESUFfUEFEX0ZMX1NJTkspKQ0K Pj4+PiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgICAg ICAgICBwYWQgPSBtZWRpYV9lbnRpdHlfcmVtb3RlX3BhZChwYWQpOw0KPj4+PiArICAgICAgICAg ICAgIGlmICghcGFkIHx8ICFpc19tZWRpYV9lbnRpdHlfdjRsMl9zdWJkZXYocGFkLT5lbnRpdHkp KQ0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+Pj4+ICsNCj4+Pj4gKyAgICAg ICAgICAgICBlbnRpdHkgPSBwYWQtPmVudGl0eTsNCj4+Pj4gKyAgICAgfQ0KPj4+PiArDQo+Pj4+ ICsgICAgIHJldHVybiBlbnRpdHk7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3N0YXRpYyBpbnQg ZGNtaV9waXBlbGluZV9zX2ZtdChzdHJ1Y3Qgc3RtMzJfZGNtaSAqZGNtaSwNCj4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9zdWJkZXZfcGFkX2NvbmZpZyAqcGFk X2NmZywNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9zdWJk ZXZfZm9ybWF0ICpmb3JtYXQpDQo+Pj4+ICt7DQo+Pj4+ICsgICAgIHN0cnVjdCBtZWRpYV9lbnRp dHkgKmVudGl0eSA9ICZkY21pLT5lbnRpdHkuc291cmNlLT5lbnRpdHk7DQo+Pj4+ICsgICAgIHN0 cnVjdCB2NGwyX3N1YmRldiAqc3ViZGV2Ow0KPj4+PiArICAgICBzdHJ1Y3QgbWVkaWFfcGFkICpz aW5rX3BhZCA9IE5VTEw7DQo+Pj4+ICsgICAgIHN0cnVjdCBtZWRpYV9wYWQgKnNyY19wYWQgPSBO VUxMOw0KPj4+PiArICAgICBzdHJ1Y3QgbWVkaWFfcGFkICpwYWQgPSBOVUxMOw0KPj4+PiArICAg ICBzdHJ1Y3QgdjRsMl9zdWJkZXZfZm9ybWF0IGZtdCA9ICpmb3JtYXQ7DQo+Pj4+ICsgICAgIGJv b2wgZm91bmQgPSBmYWxzZTsNCj4+Pj4gKyAgICAgaW50IHJldDsNCj4+Pj4gKw0KPj4+PiArICAg ICAvKg0KPj4+PiArICAgICAgKiBTdGFydGluZyBmcm9tIHNlbnNvciBzdWJkZXZpY2UsIHdhbGsg d2l0aGluDQo+Pj4+ICsgICAgICAqIHBpcGVsaW5lIGFuZCBzZXQgZm9ybWF0IG9uIGVhY2ggc3Vi ZGV2aWNlDQo+Pj4+ICsgICAgICAqLw0KPj4+PiArICAgICB3aGlsZSAoMSkgew0KPj4+PiArICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBpOw0KPj4+PiArDQo+Pj4+ICsgICAgICAgICAgICAgLyog U2VhcmNoIGlmIGN1cnJlbnQgZW50aXR5IGhhcyBhIHNvdXJjZSBwYWQgKi8NCj4+Pj4gKyAgICAg ICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZW50aXR5LT5udW1fcGFkczsgaSsrKSB7DQo+Pj4+ICsg ICAgICAgICAgICAgICAgICAgICBwYWQgPSAmZW50aXR5LT5wYWRzW2ldOw0KPj4+PiArICAgICAg ICAgICAgICAgICAgICAgaWYgKHBhZC0+ZmxhZ3MgJiBNRURJQV9QQURfRkxfU09VUkNFKSB7DQo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19wYWQgPSBwYWQ7DQo+Pj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsNCj4+Pj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICB9 DQo+Pj4+ICsgICAgICAgICAgICAgfQ0KPj4+PiArICAgICAgICAgICAgIGlmICghZm91bmQpDQo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+Pj4gKw0KPj4+PiArICAgICAgICAg ICAgIHN1YmRldiA9IG1lZGlhX2VudGl0eV90b192NGwyX3N1YmRldihlbnRpdHkpOw0KPj4+PiAr DQo+Pj4+ICsgICAgICAgICAgICAgLyogUHJvcGFnYXRlIGZvcm1hdCBvbiBzaW5rIHBhZCBpZiBh bnksIG90aGVyd2lzZSBzb3VyY2UgcGFkICovDQo+Pj4+ICsgICAgICAgICAgICAgaWYgKHNpbmtf cGFkKQ0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgcGFkID0gc2lua19wYWQ7DQo+Pj4+ICsN Cj4+Pj4gKyAgICAgICAgICAgICBkZXZfZGJnKGRjbWktPmRldiwgIiVzWyVkXSBwYWQgZm9ybWF0 IHNldCB0byAweCV4ICV1eCV1XG4iLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgc3ViZGV2 LT5uYW1lLCBwYWQtPmluZGV4LCBmb3JtYXQtPmZvcm1hdC5jb2RlLA0KPj4+PiArICAgICAgICAg ICAgICAgICAgICAgZm9ybWF0LT5mb3JtYXQud2lkdGgsIGZvcm1hdC0+Zm9ybWF0LmhlaWdodCk7 DQo+Pj4+ICsNCj4+Pj4gKyAgICAgICAgICAgICBmbXQucGFkID0gcGFkLT5pbmRleDsNCj4+Pj4g KyAgICAgICAgICAgICByZXQgPSB2NGwyX3N1YmRldl9jYWxsKHN1YmRldiwgcGFkLCBzZXRfZm10 LCBwYWRfY2ZnLCAmZm10KTsNCj4+Pj4gKyAgICAgICAgICAgICBpZiAocmV0IDwgMCkNCj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgICAg ICAgICAvKiBXYWxrIHRvIG5leHQgZW50aXR5ICovDQo+Pj4+ICsgICAgICAgICAgICAgc2lua19w YWQgPSBtZWRpYV9lbnRpdHlfcmVtb3RlX3BhZChzcmNfcGFkKTsNCj4+Pj4gKyAgICAgICAgICAg ICBpZiAoIXNpbmtfcGFkIHx8ICFpc19tZWRpYV9lbnRpdHlfdjRsMl9zdWJkZXYoc2lua19wYWQt PmVudGl0eSkpDQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+Pj4gKw0KPj4+ PiArICAgICAgICAgICAgIGVudGl0eSA9IHNpbmtfcGFkLT5lbnRpdHk7DQo+Pj4+ICsgICAgIH0N Cj4+Pj4gKyAgICAgKmZvcm1hdCA9IGZtdDsNCj4+Pj4gKw0KPj4+PiArICAgICByZXR1cm4gMDsN Cj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArc3RhdGljIGludCBkY21pX3BpcGVsaW5lX3Nfc3RyZWFt KHN0cnVjdCBzdG0zMl9kY21pICpkY21pLCBpbnQgc3RhdGUpDQo+Pj4+ICt7DQo+Pj4+ICsgICAg IHN0cnVjdCBtZWRpYV9lbnRpdHkgKmVudGl0eSA9ICZkY21pLT52ZGV2LT5lbnRpdHk7DQo+Pj4+ ICsgICAgIHN0cnVjdCB2NGwyX3N1YmRldiAqc3ViZGV2Ow0KPj4+PiArICAgICBzdHJ1Y3QgbWVk aWFfcGFkICpwYWQ7DQo+Pj4+ICsgICAgIGludCByZXQ7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgLyog U3RhcnQvc3RvcCBhbGwgZW50aXRpZXMgd2l0aGluIHBpcGVsaW5lICovDQo+Pj4+ICsgICAgIHdo aWxlICgxKSB7DQo+Pj4+ICsgICAgICAgICAgICAgcGFkID0gJmVudGl0eS0+cGFkc1swXTsNCj4+ Pj4gKyAgICAgICAgICAgICBpZiAoIShwYWQtPmZsYWdzICYgTUVESUFfUEFEX0ZMX1NJTkspKQ0K Pj4+PiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgICAg ICAgICBwYWQgPSBtZWRpYV9lbnRpdHlfcmVtb3RlX3BhZChwYWQpOw0KPj4+PiArICAgICAgICAg ICAgIGlmICghcGFkIHx8ICFpc19tZWRpYV9lbnRpdHlfdjRsMl9zdWJkZXYocGFkLT5lbnRpdHkp KQ0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+Pj4+ICsNCj4+Pj4gKyAgICAg ICAgICAgICBlbnRpdHkgPSBwYWQtPmVudGl0eTsNCj4+Pj4gKyAgICAgICAgICAgICBzdWJkZXYg PSBtZWRpYV9lbnRpdHlfdG9fdjRsMl9zdWJkZXYoZW50aXR5KTsNCj4+Pj4gKw0KPj4+PiArICAg ICAgICAgICAgIHJldCA9IHY0bDJfc3ViZGV2X2NhbGwoc3ViZGV2LCB2aWRlbywgc19zdHJlYW0s IHN0YXRlKTsNCj4+Pj4gKyAgICAgICAgICAgICBpZiAocmV0IDwgMCAmJiByZXQgIT0gLUVOT0lP Q1RMQ01EKSB7DQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICBkZXZfZXJyKGRjbWktPmRldiwg IiVzOiAlcyBmYWlsZWQgdG8gJXMgc3RyZWFtaW5nICglZClcbiIsDQo+Pj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF9fZnVuY19fLCBzdWJkZXYtPm5hbWUsDQo+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID8gInN0YXJ0IiA6ICJzdG9wIiwgcmV0KTsNCj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+Pj4+ICsgICAgICAgICAgICAg fQ0KPj4+PiArDQo+Pj4+ICsgICAgICAgICAgICAgZGV2X2RiZyhkY21pLT5kZXYsICIlcyBpcyAl c1xuIiwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHN1YmRldi0+bmFtZSwgc3RhdGUgPyAi c3RhcnRlZCIgOiAic3RvcHBlZCIpOw0KPj4+PiArICAgICB9DQo+Pj4+ICsNCj4+Pj4gKyAgICAg cmV0dXJuIDA7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3N0YXRpYyBpbnQgZGNtaV9waXBlbGlu ZV9zdGFydChzdHJ1Y3Qgc3RtMzJfZGNtaSAqZGNtaSkNCj4+Pj4gK3sNCj4+Pj4gKyAgICAgcmV0 dXJuIGRjbWlfcGlwZWxpbmVfc19zdHJlYW0oZGNtaSwgMSk7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+ Pj4gK3N0YXRpYyB2b2lkIGRjbWlfcGlwZWxpbmVfc3RvcChzdHJ1Y3Qgc3RtMzJfZGNtaSAqZGNt aSkNCj4+Pj4gK3sNCj4+Pj4gKyAgICAgZGNtaV9waXBlbGluZV9zX3N0cmVhbShkY21pLCAwKTsN Cj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiAgIHN0YXRpYyBpbnQgZGNtaV9zdGFydF9zdHJlYW1pbmco c3RydWN0IHZiMl9xdWV1ZSAqdnEsIHVuc2lnbmVkIGludCBjb3VudCkNCj4+Pj4gICB7DQo+Pj4+ ICAgICAgICBzdHJ1Y3Qgc3RtMzJfZGNtaSAqZGNtaSA9IHZiMl9nZXRfZHJ2X3ByaXYodnEpOw0K Pj4+PiBAQCAtNTk3LDE0ICs3MjMsMTcgQEAgc3RhdGljIGludCBkY21pX3N0YXJ0X3N0cmVhbWlu ZyhzdHJ1Y3QgdmIyX3F1ZXVlICp2cSwgdW5zaWduZWQgaW50IGNvdW50KQ0KPj4+PiAgICAgICAg ICAgICAgICBnb3RvIGVycl9yZWxlYXNlX2J1ZmZlcnM7DQo+Pj4+ICAgICAgICB9DQo+Pj4+DQo+ Pj4+IC0gICAgIC8qIEVuYWJsZSBzdHJlYW0gb24gdGhlIHN1YiBkZXZpY2UgKi8NCj4+Pj4gLSAg ICAgcmV0ID0gdjRsMl9zdWJkZXZfY2FsbChkY21pLT5lbnRpdHkuc291cmNlLCB2aWRlbywgc19z dHJlYW0sIDEpOw0KPj4+PiAtICAgICBpZiAocmV0ICYmIHJldCAhPSAtRU5PSU9DVExDTUQpIHsN Cj4+Pj4gLSAgICAgICAgICAgICBkZXZfZXJyKGRjbWktPmRldiwgIiVzOiBGYWlsZWQgdG8gc3Rh cnQgc3RyZWFtaW5nLCBzdWJkZXYgc3RyZWFtb24gZXJyb3IiLA0KPj4+PiAtICAgICAgICAgICAg ICAgICAgICAgX19mdW5jX18pOw0KPj4+PiArICAgICByZXQgPSBtZWRpYV9waXBlbGluZV9zdGFy dCgmZGNtaS0+dmRldi0+ZW50aXR5LCAmZGNtaS0+cGlwZWxpbmUpOw0KPj4+PiArICAgICBpZiAo cmV0IDwgMCkgew0KPj4+PiArICAgICAgICAgICAgIGRldl9lcnIoZGNtaS0+ZGV2LCAiJXM6IEZh aWxlZCB0byBzdGFydCBzdHJlYW1pbmcsIG1lZGlhIHBpcGVsaW5lIHN0YXJ0IGVycm9yICglZClc biIsDQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICBfX2Z1bmNfXywgcmV0KTsNCj4+Pj4gICAg ICAgICAgICAgICAgZ290byBlcnJfcG1fcHV0Ow0KPj4+PiAgICAgICAgfQ0KPj4+Pg0KPj4+PiAr ICAgICByZXQgPSBkY21pX3BpcGVsaW5lX3N0YXJ0KGRjbWkpOw0KPj4+PiArICAgICBpZiAocmV0 KQ0KPj4+PiArICAgICAgICAgICAgIGdvdG8gZXJyX21lZGlhX3BpcGVsaW5lX3N0b3A7DQo+Pj4+ ICsNCj4+Pj4gICAgICAgIHNwaW5fbG9ja19pcnEoJmRjbWktPmlycWxvY2spOw0KPj4+Pg0KPj4+ PiAgICAgICAgLyogU2V0IGJ1cyB3aWR0aCAqLw0KPj4+PiBAQCAtNjc2LDcgKzgwNSw3IEBAIHN0 YXRpYyBpbnQgZGNtaV9zdGFydF9zdHJlYW1pbmcoc3RydWN0IHZiMl9xdWV1ZSAqdnEsIHVuc2ln bmVkIGludCBjb3VudCkNCj4+Pj4gICAgICAgIGlmIChyZXQpIHsNCj4+Pj4gICAgICAgICAgICAg ICAgZGV2X2VycihkY21pLT5kZXYsICIlczogU3RhcnQgc3RyZWFtaW5nIGZhaWxlZCwgY2Fubm90 IHN0YXJ0IGNhcHR1cmVcbiIsDQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgX19mdW5jX18p Ow0KPj4+PiAtICAgICAgICAgICAgIGdvdG8gZXJyX3N1YmRldl9zdHJlYW1vZmY7DQo+Pj4+ICsg ICAgICAgICAgICAgZ290byBlcnJfcGlwZWxpbmVfc3RvcDsNCj4+Pj4gICAgICAgIH0NCj4+Pj4N Cj4+Pj4gICAgICAgIC8qIEVuYWJsZSBpbnRlcnJ1cHRpb25zICovDQo+Pj4+IEBAIC02ODcsOCAr ODE2LDExIEBAIHN0YXRpYyBpbnQgZGNtaV9zdGFydF9zdHJlYW1pbmcoc3RydWN0IHZiMl9xdWV1 ZSAqdnEsIHVuc2lnbmVkIGludCBjb3VudCkNCj4+Pj4NCj4+Pj4gICAgICAgIHJldHVybiAwOw0K Pj4+Pg0KPj4+PiAtZXJyX3N1YmRldl9zdHJlYW1vZmY6DQo+Pj4+IC0gICAgIHY0bDJfc3ViZGV2 X2NhbGwoZGNtaS0+ZW50aXR5LnNvdXJjZSwgdmlkZW8sIHNfc3RyZWFtLCAwKTsNCj4+Pj4gK2Vy cl9waXBlbGluZV9zdG9wOg0KPj4+PiArICAgICBkY21pX3BpcGVsaW5lX3N0b3AoZGNtaSk7DQo+ Pj4+ICsNCj4+Pj4gK2Vycl9tZWRpYV9waXBlbGluZV9zdG9wOg0KPj4+PiArICAgICBtZWRpYV9w aXBlbGluZV9zdG9wKCZkY21pLT52ZGV2LT5lbnRpdHkpOw0KPj4+Pg0KPj4+PiAgIGVycl9wbV9w dXQ6DQo+Pj4+ICAgICAgICBwbV9ydW50aW1lX3B1dChkY21pLT5kZXYpOw0KPj4+PiBAQCAtNzEz LDEzICs4NDUsMTAgQEAgc3RhdGljIHZvaWQgZGNtaV9zdG9wX3N0cmVhbWluZyhzdHJ1Y3QgdmIy X3F1ZXVlICp2cSkNCj4+Pj4gICB7DQo+Pj4+ICAgICAgICBzdHJ1Y3Qgc3RtMzJfZGNtaSAqZGNt aSA9IHZiMl9nZXRfZHJ2X3ByaXYodnEpOw0KPj4+PiAgICAgICAgc3RydWN0IGRjbWlfYnVmICpi dWYsICpub2RlOw0KPj4+PiAtICAgICBpbnQgcmV0Ow0KPj4+Pg0KPj4+PiAtICAgICAvKiBEaXNh YmxlIHN0cmVhbSBvbiB0aGUgc3ViIGRldmljZSAqLw0KPj4+PiAtICAgICByZXQgPSB2NGwyX3N1 YmRldl9jYWxsKGRjbWktPmVudGl0eS5zb3VyY2UsIHZpZGVvLCBzX3N0cmVhbSwgMCk7DQo+Pj4+ IC0gICAgIGlmIChyZXQgJiYgcmV0ICE9IC1FTk9JT0NUTENNRCkNCj4+Pj4gLSAgICAgICAgICAg ICBkZXZfZXJyKGRjbWktPmRldiwgIiVzOiBGYWlsZWQgdG8gc3RvcCBzdHJlYW1pbmcsIHN1YmRl diBzdHJlYW1vZmYgZXJyb3IgKCVkKVxuIiwNCj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgIF9f ZnVuY19fLCByZXQpOw0KPj4+PiArICAgICBkY21pX3BpcGVsaW5lX3N0b3AoZGNtaSk7DQo+Pj4+ ICsNCj4+Pj4gKyAgICAgbWVkaWFfcGlwZWxpbmVfc3RvcCgmZGNtaS0+dmRldi0+ZW50aXR5KTsN Cj4+Pj4NCj4+Pj4gICAgICAgIHNwaW5fbG9ja19pcnEoJmRjbWktPmlycWxvY2spOw0KPj4+Pg0K Pj4+PiBAQCAtOTM3LDggKzEwNjYsNyBAQCBzdGF0aWMgaW50IGRjbWlfc2V0X2ZtdChzdHJ1Y3Qg c3RtMzJfZGNtaSAqZGNtaSwgc3RydWN0IHY0bDJfZm9ybWF0ICpmKQ0KPj4+PiAgICAgICAgbWYt PndpZHRoID0gc2RfZnJhbWVzaXplLndpZHRoOw0KPj4+PiAgICAgICAgbWYtPmhlaWdodCA9IHNk X2ZyYW1lc2l6ZS5oZWlnaHQ7DQo+Pj4+DQo+Pj4+IC0gICAgIHJldCA9IHY0bDJfc3ViZGV2X2Nh bGwoZGNtaS0+ZW50aXR5LnNvdXJjZSwgcGFkLA0KPj4+PiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNldF9mbXQsIE5VTEwsICZmb3JtYXQpOw0KPj4+PiArICAgICByZXQgPSBkY21pX3Bp cGVsaW5lX3NfZm10KGRjbWksIE5VTEwsICZmb3JtYXQpOw0KPj4+PiAgICAgICAgaWYgKHJldCA8 IDApDQo+Pj4+ICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+Pj4+DQo+Pj4+IEBAIC0xNTI5 LDcgKzE2NTcsMjAgQEAgc3RhdGljIGludCBkY21pX2dyYXBoX25vdGlmeV9jb21wbGV0ZShzdHJ1 Y3QgdjRsMl9hc3luY19ub3RpZmllciAqbm90aWZpZXIpDQo+Pj4+ICAgICAgICBzdHJ1Y3Qgc3Rt MzJfZGNtaSAqZGNtaSA9IG5vdGlmaWVyX3RvX2RjbWkobm90aWZpZXIpOw0KPj4+PiAgICAgICAg aW50IHJldDsNCj4+Pj4NCj4+Pj4gKyAgICAgLyoNCj4+Pj4gKyAgICAgICogTm93IHRoYXQgdGhl IGdyYXBoIGlzIGNvbXBsZXRlLA0KPj4+PiArICAgICAgKiB3ZSBzZWFyY2ggZm9yIHRoZSBzb3Vy Y2Ugc3ViZGV2aWNlDQo+Pj4+ICsgICAgICAqIGluIG9yZGVyIHRvIGV4cG9zZSBpdCB0aHJvdWdo IFY0TDIgaW50ZXJmYWNlDQo+Pj4+ICsgICAgICAqLw0KPj4+PiArICAgICBkY21pLT5lbnRpdHku c291cmNlID0NCj4+Pj4gKyAgICAgICAgICAgICBtZWRpYV9lbnRpdHlfdG9fdjRsMl9zdWJkZXYo ZGNtaV9maW5kX3NvdXJjZShkY21pKSk7DQo+Pj4+ICsgICAgIGlmICghZGNtaS0+ZW50aXR5LnNv dXJjZSkgew0KPj4+PiArICAgICAgICAgICAgIGRldl9lcnIoZGNtaS0+ZGV2LCAiU291cmNlIHN1 YmRldmljZSBub3QgZm91bmRcbiIpOw0KPj4+PiArICAgICAgICAgICAgIHJldHVybiAtRU5PREVW Ow0KPj4+PiArICAgICB9DQo+Pj4+ICsNCj4+Pj4gICAgICAgIGRjbWktPnZkZXYtPmN0cmxfaGFu ZGxlciA9IGRjbWktPmVudGl0eS5zb3VyY2UtPmN0cmxfaGFuZGxlcjsNCj4+Pj4gKw0KPj4+PiAg ICAgICAgcmV0ID0gZGNtaV9mb3JtYXRzX2luaXQoZGNtaSk7DQo+Pj4+ICAgICAgICBpZiAocmV0 KSB7DQo+Pj4+ICAgICAgICAgICAgICAgIGRldl9lcnIoZGNtaS0+ZGV2LCAiTm8gc3VwcG9ydGVk IG1lZGlhYnVzIGZvcm1hdCBmb3VuZFxuIik7DQo+Pj4+IEBAIC0xNTc0LDEyICsxNzE1LDMwIEBA IHN0YXRpYyBpbnQgZGNtaV9ncmFwaF9ub3RpZnlfYm91bmQoc3RydWN0IHY0bDJfYXN5bmNfbm90 aWZpZXIgKm5vdGlmaWVyLA0KPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHY0bDJfYXN5bmNfc3ViZGV2ICphc2QpDQo+Pj4+ICAgew0KPj4+PiAgICAgICAgc3Ry dWN0IHN0bTMyX2RjbWkgKmRjbWkgPSBub3RpZmllcl90b19kY21pKG5vdGlmaWVyKTsNCj4+Pj4g KyAgICAgdW5zaWduZWQgaW50IHJldDsNCj4+Pj4gKyAgICAgaW50IHNyY19wYWQ7DQo+Pj4+DQo+ Pj4+ICAgICAgICBkZXZfZGJnKGRjbWktPmRldiwgIlN1YmRldiAlcyBib3VuZFxuIiwgc3ViZGV2 LT5uYW1lKTsNCj4+Pj4NCj4+Pj4gLSAgICAgZGNtaS0+ZW50aXR5LnNvdXJjZSA9IHN1YmRldjsN Cj4+Pj4gKyAgICAgLyoNCj4+Pj4gKyAgICAgICogTGluayB0aGlzIHN1Yi1kZXZpY2UgdG8gRENN SSwgaXQgY291bGQgYmUNCj4+Pj4gKyAgICAgICogYSBwYXJhbGxlbCBjYW1lcmEgc2Vuc29yIG9y IGEgYnJpZGdlDQo+Pj4+ICsgICAgICAqLw0KPj4+PiArICAgICBzcmNfcGFkID0gbWVkaWFfZW50 aXR5X2dldF9md25vZGVfcGFkKCZzdWJkZXYtPmVudGl0eSwNCj4+Pj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJkZXYtPmZ3bm9kZSwNCj4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQV9QQURfRkxfU09VUkNF KTsNCj4+Pj4gKw0KPj4+PiArICAgICByZXQgPSBtZWRpYV9jcmVhdGVfcGFkX2xpbmsoJnN1YmRl di0+ZW50aXR5LCBzcmNfcGFkLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmRjbWktPnZkZXYtPmVudGl0eSwgMCwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1FRElBX0xOS19GTF9JTU1VVEFCTEUgfA0KPj4+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTUVESUFfTE5LX0ZMX0VOQUJMRUQpOw0KPj4+PiArICAgICBpZiAo cmV0KQ0KPj4+PiArICAgICAgICAgICAgIGRldl9lcnIoZGNtaS0+ZGV2LCAiRmFpbGVkIHRvIGNy ZWF0ZSBtZWRpYSBwYWQgbGluayB3aXRoIHN1YmRldiAlc1xuIiwNCj4+Pj4gKyAgICAgICAgICAg ICAgICAgICAgIHN1YmRldi0+bmFtZSk7DQo+Pj4+ICsgICAgIGVsc2UNCj4+Pj4gKyAgICAgICAg ICAgICBkZXZfZGJnKGRjbWktPmRldiwgIkRDTUkgaXMgbm93IGxpbmtlZCB0byAlc1xuIiwgc3Vi ZGV2LT5uYW1lKTsNCj4+Pj4NCj4+Pj4gLSAgICAgcmV0dXJuIDA7DQo+Pj4+ICsgICAgIHJldHVy biByZXQ7DQo+Pj4+ICAgfQ0KPj4+Pg0KPj4+PiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdjRsMl9h c3luY19ub3RpZmllcl9vcGVyYXRpb25zIGRjbWlfZ3JhcGhfbm90aWZ5X29wcyA9IHsNCj4+Pj4g QEAgLTE2MzksNiArMTc5OCwxNSBAQCBzdGF0aWMgaW50IGRjbWlfZ3JhcGhfaW5pdChzdHJ1Y3Qg c3RtMzJfZGNtaSAqZGNtaSkNCj4+Pj4gICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4+Pj4g ICAgICAgIH0NCj4+Pj4NCj4+Pj4gKyAgICAgLyogUmVnaXN0ZXIgYWxsIHRoZSBzdWJkZXYgbm9k ZXMgKi8NCj4+Pj4gKyAgICAgcmV0ID0gdjRsMl9kZXZpY2VfcmVnaXN0ZXJfc3ViZGV2X25vZGVz KCZkY21pLT52NGwyX2Rldik7DQo+Pj4NCj4+PiBUaGlzIHNob3VsZG4ndCBiZSBuZWVkZWQuIE9u bHkgTUMtY2VudHJpYyBkcml2ZXJzIChpLmUuIHdoZXJlIHRoZSBwaXBlbGluZQ0KPj4+IGhhcyB0 byBiZSBjb25maWd1cmVkIGJ5IHVzZXJzcGFjZSkgbmVlZCB0byBkbyB0aGlzLg0KPj4NCj4+IEhp IEhhbnMsDQo+PiBJIHRoaW5rIHRoaXMgcG9pbnQgaGFzIGJlZW4gZGlzY3Vzc2VkIGluIHRoaXMg dGhyZWFkDQo+PiBodHRwczovL3d3dy5zcGluaWNzLm5ldC9saXN0cy9saW51eC1tZWRpYS9tc2cx NTM0MTcuaHRtbA0KPj4NCj4+IEluIHNob3J0IDogc2luY2UgdGhlIGhhcmR3YXJlIG9ubHkgb2Zm ZXIgb25lIHBvc3NpYmxlIHBhdGggd2UgZG9uJ3QgZXhwb3NlDQo+PiB0aGUgY29uZmlndXJhdGlv biB0byB1c2VybGFuZCBhbmQgbGV0IERDTUkgZHJpdmVyIGNvbmZpZ3VyZSB0aGUNCj4+IHN1YmRl dmljZSAobGlrZSBicmlkZ2UpLg0KPiANCj4gWWVzLCBhbmQgSSBhZ3JlZSBjb21wbGV0ZWx5LiBC dXQgd2h5IHRoZW4gZG8geW91IHJlZ2lzdGVyIHY0bC1zdWJkZXZYIGRldmljZXM/DQo+IFRoYXQn cyBub3QgbmVlZGVkIGZvciB0aGlzIGRyaXZlci4NCj4gDQo+IFJlZ2FyZHMsDQo+IA0KPiAJSGFu cw0KPiANCj4+DQo+PiBCZW5qYW1pbg0KPj4NCj4+Pg0KPj4+IE90aGVyd2lzZSB0aGlzIHBhdGNo IGxvb2tzIGdvb2QuDQo+Pj4NCj4+PiBSZWdhcmRzLA0KPj4+DQo+Pj4gICAgICAgICAgSGFucw0K Pj4+DQo+Pj4+ICsgICAgIGlmIChyZXQpIHsNCj4+Pj4gKyAgICAgICAgICAgICBkZXZfZXJyKGRj bWktPmRldiwgIkZhaWxlZCB0byByZWdpc3RlciBzdWJkZXYgbm9kZXNcbiIpOw0KPj4+PiArICAg ICAgICAgICAgIHY0bDJfYXN5bmNfbm90aWZpZXJfdW5yZWdpc3RlcigmZGNtaS0+bm90aWZpZXIp Ow0KPj4+PiArICAgICAgICAgICAgIG9mX25vZGVfcHV0KGRjbWktPmVudGl0eS5yZW1vdGVfbm9k ZSk7DQo+Pj4+ICsgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4+Pj4gKyAgICAgfQ0KPj4+PiAr DQo+Pj4+ICAgICAgICByZXR1cm4gMDsNCj4+Pj4gICB9DQo+Pj4+DQo+Pj4+DQo+Pj4NCj4gDQoN CkJlc3QgcmVnYXJkcywNCkh1Z3Vlcy4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=