From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C76F7A0C4E; Tue, 2 Nov 2021 08:09:54 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AB55E4069F; Tue, 2 Nov 2021 08:09:54 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 08BD14068F for ; Tue, 2 Nov 2021 08:09:52 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10155"; a="218108391" X-IronPort-AV: E=Sophos;i="5.87,202,1631602800"; d="scan'208";a="218108391" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Nov 2021 00:09:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,202,1631602800"; d="scan'208";a="540749413" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga008.fm.intel.com with ESMTP; 02 Nov 2021 00:09:48 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 2 Nov 2021 00:09:47 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 2 Nov 2021 00:09:47 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 2 Nov 2021 00:09:47 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 2 Nov 2021 00:09:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nS2e5Tk9p9eHDc/o3EXJP6mFBny7DheybXE4FpB086RM/GmvTL+mDDIlkjgOEeWIHhrauNT9CTQa0ec6uW1yEwMZLda5Uxmmoa8deHfwhpohGix/9CoHdC7ALLwKB7Mo3VW6PpbrX91FgHYRNcZXyaNfvTRwJlXkM8LpYnj6PQtJhGhtpHj5qqfMtLyYZIIN15cwLYuvuQUT7lI+kDAbyR9v9ZmtceH3VJ7V3RLP1zdnhEAKghS7nwDizm74Qg7VZ1FYwX3cRujr7BrsdJQsNWHzIRZ+IQV1H6ariRXa+ucjz0WiowSuycDDoeTKX32SRNmgpBf+Kcyq94V7h5awGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MTQ6DStorxj4CiMrwYhhidOXL5Tsj0d8W/ywg8wvIE0=; b=LZJBypYeM1fYMTaTNaLobxKW8iJtaXNzHCUcY1XfEjYJ/wm/tk24S+kO64NAuOsnY5qba9bMt1t1JDkBUrYWL5/KbgCXSbO4J9hbmCoUNJqRBeocGUD5QYqu2B8vqTp/oKL+WqJlPztlrOE2Nk6WxPC6XFTVlgzKmQ399P86WaJgFEbPsect66+QfAV/+X4RoBWlolbJ3TypevYpkLaAn7bemfk14vRsPFWhHXxk9TNZGfhzvM62BY6SbLjxkw/BtH4HzZgdST2l/OaQIQQgiIXis/sJAqLp7jaCEqazT5Fm4JCKs8RS0z45mZHnSVr6YimJGWGv2YdxieDuppv8Iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MTQ6DStorxj4CiMrwYhhidOXL5Tsj0d8W/ywg8wvIE0=; b=KHnixrtKV49LB8cW9thwvNvQfkLRMNZcKJInJiTNMfM0MNOn7e+60+nwTMldqdn1FuswTDxM2D4Wu3zGcoNchd9PUm8ahPGKTS2xSwdVxnlb14PyzU1fDyEdAuIjewHw36K5pEZQDy/qqFn+sHxK+vmXkSMdy9ABFf2lUebJ7Z0= Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by SA2PR11MB4987.namprd11.prod.outlook.com (2603:10b6:806:113::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Tue, 2 Nov 2021 07:09:46 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::94ce:97cd:1b5f:b511]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::94ce:97cd:1b5f:b511%7]) with mapi id 15.20.4649.020; Tue, 2 Nov 2021 07:09:45 +0000 From: "Xia, Chenbo" To: Vijay Srivastava , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "andrew.rybchenko@oktetlabs.ru" , "Vijay Kumar Srivastava" Thread-Topic: [PATCH v3 03/10] vdpa/sfc: add support to get device and protocol features Thread-Index: AQHXzNQRpHho4NJ4oECGONqZyXdf6avvvVuQ Date: Tue, 2 Nov 2021 07:09:45 +0000 Message-ID: References: <20210706164418.32615-1-vsrivast@xilinx.com> <20211029144645.30295-1-vsrivast@xilinx.com> <20211029144645.30295-4-vsrivast@xilinx.com> In-Reply-To: <20211029144645.30295-4-vsrivast@xilinx.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: xilinx.com; dkim=none (message not signed) header.d=none;xilinx.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 98c96e53-06d8-40af-8159-08d99dcfc03f x-ms-traffictypediagnostic: SA2PR11MB4987: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1751; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 90+PGmeFGbongiKDGgYPKtQC/JDEo6q1+QJXaM6QyuEcRj1wHvvcKki+8XXP5jBvFtnDUxSlh1TRXWdYmomYP3quPnetKNdCT1mE3GjR1+LNSB9goMLmGNJh8kVq0bIoGemfadXke3fZOyN52I1pU80FDXQOTnlrA7s6OoTTKxZeY9csBiemH1AYQhZfIPrt9X0AMl8sbf1p0uh7gD2CDnRTZb1UotxpdVUrVamP/iEDZ6kb3U/z8Cafp4B5B8vHGGXKqpleNabJ4eEelSjhdhh9qARz0nxdRE5Db9rhJexk38VeTajYl8kT0WJ68UVoSEOqNVlhkAdXj2xDC17tMyaLEEhox60uyaIg+iqOwua1nCmK+cpE76gs5cGbo/Ruqfqv3qVbd3Fn5rHKc70h3OXa4cZC8bYha99mT81PBRy+H3nxz8XGZNZayDalxGupzN89/DS+8KnGeExjDK3rLa3orCcivYvLqA1hTTdE3dQEOQoBLcVaOwzWmgGDDRFh3ZGIi5mtIRP7PtUNDUo5/9Y93t5In7brrukOhXbCXA6Oi1dqM4/61IVSEV1nsYT22kYQkrB3K7EcfhBUp4h5i8IQQ/VE1jvyRyjtvNFGKSrR4oKDU50q+GHrFHBYEJWyk8OKEMJ6my71TE9AcW4uJUeOxRtHdBF92IAhkWCAouJdlX1H2z8mvwfhcdpOFHh+VyE08fEFV7139ZneNflMqw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(38070700005)(33656002)(66446008)(8676002)(71200400001)(5660300002)(64756008)(186003)(26005)(122000001)(38100700002)(8936002)(7696005)(76116006)(66476007)(66556008)(53546011)(6506007)(66946007)(82960400001)(86362001)(52536014)(110136005)(55016002)(9686003)(508600001)(4326008)(54906003)(83380400001)(316002)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VFpnZk5nRWZ2WlAxMVMvK3lPZjRLWU1PQ3NLN084czd3akpXTktJeGNwbmNo?= =?utf-8?B?TW1ScUNYQ3dKUjVYb3lWeFBUd1doTWFxYndVUVhwcVNxeDZPYXNXUmxoVjFk?= =?utf-8?B?Q0tNdXpmRFhpUDd1eVRkeW5WUmFBYjVWeFBiblVLcllBLzdPa1AwZ09TM0dM?= =?utf-8?B?VkpWZ0VQNndxZTkxaTdpK1NZVzI2TGxGV3BqS3Z0Z3JmQkpqaVVOaW1jV0xn?= =?utf-8?B?SnVzaTNEaVQ4NmpSVmFpVklFNGtPTDlVSmNXTE1OcWFGQzV5YTBqeEFOOUpU?= =?utf-8?B?Wmo3OTRQRE9HUXlsaGs3RWxVVytXd2VHQTFSM3pIcy9iUHljYU9LNUFDSnB6?= =?utf-8?B?QVNnWk1MZTlCL2pYRmRrQW9YZE55M1JmS3F4bVVBdWV2R3BrZVljWHhEekc2?= =?utf-8?B?Q3Q1WFVmcDdWZ0I0MGNNQnBhUkVCQ1VlRloyUlV3b0lmOWxEaE8vUlBhQTkv?= =?utf-8?B?ZWMxNFJ0Y2dHUUxEam43SVQzRlhHV2FWQWY1dWpOY1paMFo2ZlVaOUkwMW43?= =?utf-8?B?WGVFbS96TWVFV0ZHNDdEK09DNUFsYTRhczVYeHRkUmkrazJ1VlI0NEJsTWdj?= =?utf-8?B?L3AxOWNHVVdXdlllVHMrWHhVNmdzUDBNeEFXNVd1Yy9rQm4vTFdQUW9uWXFW?= =?utf-8?B?eTd3RTg0V3ArVTd0L2IxcVp2KyttMnVrbTJiUjQwdUhwZ2x4YlpsbFZLY1dZ?= =?utf-8?B?NkRiZWdiaW9XbXhVWWtKTlNpY05nWmh6bmJQbHhQN3E1V3E3TGpzVGhQYzF5?= =?utf-8?B?dVQyTGhiRkpWWjlDSklQNFhZRmZ0a29obW9IOWI0TmM4TkpaWUp1NE8xbVFQ?= =?utf-8?B?WjlHV2JzRUlXc1ozcGt3MzZMVHhhdm9nZWFGTjJTMlFLN1RiYURmSmpaaU15?= =?utf-8?B?WDN4M203U3J4TUJ3ejFLdEZNZEFNMFNxanEyNDc4SS9kQm9KdzFXM0hveEZk?= =?utf-8?B?alBUZ04zUCt0a2hJb0tZZktzam95U3ZaM2xVblc3cTdPWDc2Y3NzV0dMNjFm?= =?utf-8?B?RngwTlBCQXpDMHRlekdpblFJUmQ2SVZvS250VWo1MGUvWlpteVVuRlhJRmVt?= =?utf-8?B?bFN1bEJoVHB0MW84RHZwakVid3hqcXh0YlhCQU9IVXVJeFlIVSs0dU4vNity?= =?utf-8?B?MXZUbWZ4TWtHSmxFczl4VWU1MFozMjFnanljWjVoT0QxYTlYVjZUZ2xKR2pX?= =?utf-8?B?bFFLMWlWalF2RFp1UjVBZFFpaFpsTjU2bzkxaHpJM3JyTFAxNkwwMG5pSDEz?= =?utf-8?B?NDBRZ3AzUDJBcmFwOW1za1dlaHdNNG1nbWpPcVJCcXYwb0pWSW9NYjR3Wm1I?= =?utf-8?B?UktqSG9qcm1uNzZBNTdaSkVrM0NGOEo5Y2oyUEV5NnpnZEI4bllaT0hqUU5l?= =?utf-8?B?WGtHcEliampYdkVIYXJHaUNSWHdBZlM3cy9DL0d0Z0RGTmc0K3AvMUFpQzV2?= =?utf-8?B?UUhyaFVoRlVLY2hBYkVHYzZpZXFZR083cGhTSnNsZ28rRzQvck1wSXBTSWc1?= =?utf-8?B?QUFzaDRyWGg5ajJNNm00eitQZWdOMWJmNGdZUVdiTmNpWkV2WUNFelh5WTgr?= =?utf-8?B?d1FRZGQ0TGxRMzE5Rklyc0pubG45SlF1YkZ2YzRycUpxOUxCc24wWEU5WUpw?= =?utf-8?B?cUtzV3lwRWNpK0lhUTZtWDB3ZERTVExhd1ZCa1VYV3dtSkZyZ2h1bExVNk8z?= =?utf-8?B?UDVCT3l1cElQdFhqenpCZGxLRkNOTXhpbzh2bGxiRnd3YUNqZEJ6alRFR0FI?= =?utf-8?B?QUV3NmJyaXIwSlc0NUJ5bW5TM2ZSYU9LVFZkUVNlN3g1M29ENWRvbmpVZUlK?= =?utf-8?B?T2Q0L0lCMnBjQ2JOekFScW05TlhsQTBRK1Qra3pyYnQ1UjVmOWxDMThXRmQ3?= =?utf-8?B?VXphTzRRZ2p0K3lNSUk1UDJGekZuS2poYmRCcVhZUDlzblZiOFVtSXJEL3Ey?= =?utf-8?B?SkwvK29GejhLdkExbUdxOWI4OGZlSWNOK1pzdy9UVjVLV2xZSVpOMHRCNmlr?= =?utf-8?B?Y2hSa2doMHFqT0ZUNHp3eW9Kb0I4UjlSY21va3diSzh3bXdISnZmSjFYT3pU?= =?utf-8?B?c1VnTkE1VVZMODZmOVRFRTl5V1ZucjNreUNIS2dHa1Zwck90S1pVOW8yR1hZ?= =?utf-8?B?V1hIRDBabi9JbFY3dmY2WldzSWlWaTkycnZncWdONHdURDY0aGVRNk8wVUpV?= =?utf-8?B?R3c9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98c96e53-06d8-40af-8159-08d99dcfc03f X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2021 07:09:45.7904 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /0vBWvXa1vjSqbOh/cBgUSD32MEfjdqs/svLHMi2WnLBtzFxAJgARJeukAbqFU6MR5n3a6o+G/P4vLAUy/2Zfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4987 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 03/10] vdpa/sfc: add support to get device and protocol features X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWaWpheSBTcml2YXN0YXZhIDx2 aWpheS5zcml2YXN0YXZhQHhpbGlueC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgT2N0b2JlciAyOSwg MjAyMSAxMDo0NyBQTQ0KPiBUbzogZGV2QGRwZGsub3JnDQo+IENjOiBtYXhpbWUuY29xdWVsaW5A cmVkaGF0LmNvbTsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPjsNCj4gYW5kcmV3 LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU7IFZpamF5IEt1bWFyIFNyaXZhc3RhdmEgPHZzcml2YXN0 QHhpbGlueC5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCB2MyAwMy8xMF0gdmRwYS9zZmM6IGFkZCBz dXBwb3J0IHRvIGdldCBkZXZpY2UgYW5kIHByb3RvY29sDQo+IGZlYXR1cmVzDQo+IA0KPiBGcm9t OiBWaWpheSBLdW1hciBTcml2YXN0YXZhIDx2c3JpdmFzdEB4aWxpbnguY29tPg0KPiANCj4gSW1w bGVtZW50IHZEUEEgb3BzIGdldF9mZWF0dXJlIGFuZCBnZXRfcHJvdG9jb2xfZmVhdHVyZXMuDQo+ IFRoaXMgcGF0Y2ggcmV0cmlldmVzIGRldmljZSBzdXBwb3J0ZWQgZmVhdHVyZXMgYW5kIGVuYWJs ZXMNCj4gcHJvdG9jb2wgZmVhdHVyZXMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBWaWpheSBLdW1h ciBTcml2YXN0YXZhIDx2c3JpdmFzdEB4aWxpbnguY29tPg0KPiBBY2tlZC1ieTogQW5kcmV3IFJ5 YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+IFJldmlld2VkLWJ5OiBN YXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiAtLS0NCj4gIGRv Yy9ndWlkZXMvdmRwYWRldnMvZmVhdHVyZXMvc2ZjLmluaSB8IDEwICsrKysNCj4gIGRyaXZlcnMv Y29tbW9uL3NmY19lZngvZWZzeXMuaCAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL2NvbW1vbi9z ZmNfZWZ4L3ZlcnNpb24ubWFwICAgfCAxMCArKysrDQo+ICBkcml2ZXJzL3ZkcGEvc2ZjL3NmY192 ZHBhLmMgICAgICAgICAgfCAyMCArKysrKysrKw0KPiAgZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRw YS5oICAgICAgICAgIHwgIDIgKw0KPiAgZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYV9ody5jICAg ICAgIHwgMTMgKysrKysrDQo+ICBkcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhX29wcy5jICAgICAg fCA5MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQ0KPiAtDQo+ICBkcml2ZXJz L3ZkcGEvc2ZjL3NmY192ZHBhX29wcy5oICAgICAgfCAgMyArKw0KPiAgOCBmaWxlcyBjaGFuZ2Vk LCAxNDIgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9k b2MvZ3VpZGVzL3ZkcGFkZXZzL2ZlYXR1cmVzL3NmYy5pbmkNCj4gYi9kb2MvZ3VpZGVzL3ZkcGFk ZXZzL2ZlYXR1cmVzL3NmYy5pbmkNCj4gaW5kZXggNzFiNjE1OC4uNzAwZDA2MSAxMDA2NDQNCj4g LS0tIGEvZG9jL2d1aWRlcy92ZHBhZGV2cy9mZWF0dXJlcy9zZmMuaW5pDQo+ICsrKyBiL2RvYy9n dWlkZXMvdmRwYWRldnMvZmVhdHVyZXMvc2ZjLmluaQ0KPiBAQCAtNCw2ICs0LDE2IEBADQo+ICA7 IFJlZmVyIHRvIGRlZmF1bHQuaW5pIGZvciB0aGUgZnVsbCBsaXN0IG9mIGF2YWlsYWJsZSBkcml2 ZXIgZmVhdHVyZXMuDQo+ICA7DQo+ICBbRmVhdHVyZXNdDQo+ICtjc3VtCQkJPSBZDQo+ICtndWVz dCBjc3VtCQk9IFkNCj4gK2hvc3QgdHNvNAkJPSBZDQo+ICtob3N0IHRzbzYJCT0gWQ0KPiArdmVy c2lvbiAxCQk9IFkNCj4gK21yZyByeGJ1ZgkJPSBZDQo+ICthbnkgbGF5b3V0CQk9IFkNCj4gK2lu X29yZGVyCQk9IFkNCj4gK3Byb3RvIGhvc3Qgbm90aWZpZXIJPSBZDQo+ICtJT01NVSBwbGF0Zm9y bQkJPSBZDQo+ICBMaW51eAkJCT0gWQ0KPiAgeDg2LTY0CQkJPSBZDQo+ICBVc2FnZSBkb2MJCT0g WQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21tb24vc2ZjX2VmeC9lZnN5cy5oIGIvZHJpdmVy cy9jb21tb24vc2ZjX2VmeC9lZnN5cy5oDQo+IGluZGV4IGQxMzNkNjEuLjM3ZWM2YjkgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvY29tbW9uL3NmY19lZngvZWZzeXMuaA0KPiArKysgYi9kcml2ZXJz L2NvbW1vbi9zZmNfZWZ4L2Vmc3lzLmgNCj4gQEAgLTE4Nyw3ICsxODcsNyBAQA0KPiANCj4gICNk ZWZpbmUgRUZTWVNfT1BUX01BRSAxDQo+IA0KPiAtI2RlZmluZSBFRlNZU19PUFRfVklSVElPIDAN Cj4gKyNkZWZpbmUgRUZTWVNfT1BUX1ZJUlRJTyAxDQo+IA0KPiAgLyogSUQgKi8NCj4gDQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2NvbW1vbi9zZmNfZWZ4L3ZlcnNpb24ubWFwDQo+IGIvZHJpdmVy cy9jb21tb24vc2ZjX2VmeC92ZXJzaW9uLm1hcA0KPiBpbmRleCA2NDJhNjJlLi5lYzg2MjIwIDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL2NvbW1vbi9zZmNfZWZ4L3ZlcnNpb24ubWFwDQo+ICsrKyBi L2RyaXZlcnMvY29tbW9uL3NmY19lZngvdmVyc2lvbi5tYXANCj4gQEAgLTI0Nyw2ICsyNDcsMTYg QEAgSU5URVJOQUwgew0KPiAgCWVmeF90eHFfbmJ1ZnM7DQo+ICAJZWZ4X3R4cV9zaXplOw0KPiAN Cj4gKwllZnhfdmlydGlvX2Zpbmk7DQo+ICsJZWZ4X3ZpcnRpb19nZXRfZG9vcmJlbGxfb2Zmc2V0 Ow0KPiArCWVmeF92aXJ0aW9fZ2V0X2ZlYXR1cmVzOw0KPiArCWVmeF92aXJ0aW9faW5pdDsNCj4g KwllZnhfdmlydGlvX3FjcmVhdGU7DQo+ICsJZWZ4X3ZpcnRpb19xZGVzdHJveTsNCj4gKwllZnhf dmlydGlvX3FzdGFydDsNCj4gKwllZnhfdmlydGlvX3FzdG9wOw0KPiArCWVmeF92aXJ0aW9fdmVy aWZ5X2ZlYXR1cmVzOw0KPiArDQo+ICAJc2ZjX2VmeF9kZXZfY2xhc3NfZ2V0Ow0KPiAgCXNmY19l ZnhfZmFtaWx5Ow0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGEu YyBiL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGEuYw0KPiBpbmRleCBiN2VjYTU2Li5jY2JkMjQz IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhLmMNCj4gKysrIGIvZHJp dmVycy92ZHBhL3NmYy9zZmNfdmRwYS5jDQo+IEBAIC00Myw2ICs0MywyNiBAQCBzdHJ1Y3Qgc2Zj X3ZkcGFfYWRhcHRlciAqDQo+ICAJcmV0dXJuIGZvdW5kID8gc3ZhIDogTlVMTDsNCj4gIH0NCj4g DQo+ICtzdHJ1Y3Qgc2ZjX3ZkcGFfb3BzX2RhdGEgKg0KPiArc2ZjX3ZkcGFfZ2V0X2RhdGFfYnlf ZGV2KHN0cnVjdCBydGVfdmRwYV9kZXZpY2UgKnZkcGFfZGV2KQ0KPiArew0KPiArCWJvb2wgZm91 bmQgPSBmYWxzZTsNCj4gKwlzdHJ1Y3Qgc2ZjX3ZkcGFfYWRhcHRlciAqc3ZhOw0KPiArDQo+ICsJ cHRocmVhZF9tdXRleF9sb2NrKCZzZmNfdmRwYV9hZGFwdGVyX2xpc3RfbG9jayk7DQo+ICsNCj4g KwlUQUlMUV9GT1JFQUNIKHN2YSwgJnNmY192ZHBhX2FkYXB0ZXJfbGlzdCwgbmV4dCkgew0KPiAr CQlpZiAodmRwYV9kZXYgPT0gc3ZhLT5vcHNfZGF0YS0+dmRwYV9kZXYpIHsNCj4gKwkJCWZvdW5k ID0gdHJ1ZTsNCj4gKwkJCWJyZWFrOw0KPiArCQl9DQo+ICsJfQ0KPiArDQo+ICsJcHRocmVhZF9t dXRleF91bmxvY2soJnNmY192ZHBhX2FkYXB0ZXJfbGlzdF9sb2NrKTsNCj4gKw0KPiArCXJldHVy biBmb3VuZCA/IHN2YS0+b3BzX2RhdGEgOiBOVUxMOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgaW50 DQo+ICBzZmNfdmRwYV92ZmlvX3NldHVwKHN0cnVjdCBzZmNfdmRwYV9hZGFwdGVyICpzdmEpDQo+ ICB7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhLmggYi9kcml2ZXJz L3ZkcGEvc2ZjL3NmY192ZHBhLmgNCj4gaW5kZXggMDQ2ZjI1ZC4uYzEwYzNkMyAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYS5oDQo+ICsrKyBiL2RyaXZlcnMvdmRwYS9z ZmMvc2ZjX3ZkcGEuaA0KPiBAQCAtNjAsNiArNjAsOCBAQCBzdHJ1Y3Qgc2ZjX3ZkcGFfYWRhcHRl ciB7DQo+IA0KPiAgc3RydWN0IHNmY192ZHBhX2FkYXB0ZXIgKg0KPiAgc2ZjX3ZkcGFfZ2V0X2Fk YXB0ZXJfYnlfZGV2KHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGRldik7DQo+ICtzdHJ1Y3Qgc2Zj X3ZkcGFfb3BzX2RhdGEgKg0KPiArc2ZjX3ZkcGFfZ2V0X2RhdGFfYnlfZGV2KHN0cnVjdCBydGVf dmRwYV9kZXZpY2UgKnZkcGFfZGV2KTsNCj4gDQo+ICBpbnQNCj4gIHNmY192ZHBhX2h3X2luaXQo c3RydWN0IHNmY192ZHBhX2FkYXB0ZXIgKnN2YSk7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Zk cGEvc2ZjL3NmY192ZHBhX2h3LmMgYi9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhX2h3LmMNCj4g aW5kZXggN2MyNTZmZi4uN2E2N2JkOCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy92ZHBhL3NmYy9z ZmNfdmRwYV9ody5jDQo+ICsrKyBiL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGFfaHcuYw0KPiBA QCAtMjc4LDEwICsyNzgsMjAgQEANCj4gIAlpZiAocmMgIT0gMCkNCj4gIAkJZ290byBmYWlsX2Vz dGltYXRlX3JzcmNfbGltaXRzOw0KPiANCj4gKwlzZmNfdmRwYV9sb2dfaW5pdChzdmEsICJpbml0 IHZpcnRpbyIpOw0KPiArCXJjID0gZWZ4X3ZpcnRpb19pbml0KGVucCk7DQo+ICsJaWYgKHJjICE9 IDApIHsNCj4gKwkJc2ZjX3ZkcGFfZXJyKHN2YSwgInZpcnRpbyBpbml0IGZhaWxlZDogJXMiLCBy dGVfc3RyZXJyb3IocmMpKTsNCj4gKwkJZ290byBmYWlsX3ZpcnRpb19pbml0Ow0KPiArCX0NCj4g Kw0KPiAgCXNmY192ZHBhX2xvZ19pbml0KHN2YSwgImRvbmUiKTsNCj4gDQo+ICAJcmV0dXJuIDA7 DQo+IA0KPiArZmFpbF92aXJ0aW9faW5pdDoNCj4gKwllZnhfbmljX2ZpbmkoZW5wKTsNCj4gKw0K PiAgZmFpbF9lc3RpbWF0ZV9yc3JjX2xpbWl0czoNCj4gIGZhaWxfbmljX3Jlc2V0Og0KPiAgCWVm eF9uaWNfdW5wcm9iZShlbnApOw0KPiBAQCAtMzEwLDYgKzMyMCw5IEBADQo+IA0KPiAgCXNmY192 ZHBhX2xvZ19pbml0KHN2YSwgImVudHJ5Iik7DQo+IA0KPiArCXNmY192ZHBhX2xvZ19pbml0KHN2 YSwgInZpcnRpbyBmaW5pIik7DQo+ICsJZWZ4X3ZpcnRpb19maW5pKGVucCk7DQo+ICsNCj4gIAlz ZmNfdmRwYV9sb2dfaW5pdChzdmEsICJ1bnByb2JlIG5pYyIpOw0KPiAgCWVmeF9uaWNfdW5wcm9i ZShlbnApOw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGFfb3Bz LmMgYi9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBhX29wcy5jDQo+IGluZGV4IDcxNjk2YmUuLjU3 NTA5NDQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGFfb3BzLmMNCj4g KysrIGIvZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYV9vcHMuYw0KPiBAQCAtMywxNyArMywzMSBA QA0KPiAgICogQ29weXJpZ2h0KGMpIDIwMjAtMjAyMSBYaWxpbngsIEluYy4NCj4gICAqLw0KPiAN Cj4gKyNpbmNsdWRlIDxydGVfZXJybm8uaD4NCj4gICNpbmNsdWRlIDxydGVfbWFsbG9jLmg+DQo+ ICAjaW5jbHVkZSA8cnRlX3ZkcGEuaD4NCj4gICNpbmNsdWRlIDxydGVfdmRwYV9kZXYuaD4NCj4g ICNpbmNsdWRlIDxydGVfdmhvc3QuaD4NCj4gDQo+ICsjaW5jbHVkZSAiZWZ4LmgiDQo+ICAjaW5j bHVkZSAic2ZjX3ZkcGFfb3BzLmgiDQo+ICAjaW5jbHVkZSAic2ZjX3ZkcGEuaCINCj4gDQo+IC0v KiBEdW1teSBmdW5jdGlvbnMgZm9yIG1hbmRhdG9yeSB2RFBBIG9wcyB0byBwYXNzIHZEUEEgZGV2 aWNlIHJlZ2lzdHJhdGlvbi4NCj4gLSAqIEluIHN1YnNlcXVlbnQgcGF0Y2hlcyB0aGVzZSBvcHMg d291bGQgYmUgaW1wbGVtZW50ZWQuDQo+ICsvKiBUaGVzZSBwcm90b2NvbCBmZWF0dXJlcyBhcmUg bmVlZGVkIHRvIGVuYWJsZSBub3RpZmllciBjdHJsICovDQo+ICsjZGVmaW5lIFNGQ19WRFBBX1BS T1RPQ09MX0ZFQVRVUkVTIFwNCj4gKwkJKCgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9S RVBMWV9BQ0spIHwgXA0KPiArCQkgKDFVTEwgPDwgVkhPU1RfVVNFUl9QUk9UT0NPTF9GX1NMQVZF X1JFUSkgfCBcDQo+ICsJCSAoMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfU0xBVkVfU0VO RF9GRCkgfCBcDQo+ICsJCSAoMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfSE9TVF9OT1RJ RklFUikgfCBcDQo+ICsJCSAoMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfTE9HX1NITUZE KSkNCj4gKw0KPiArLyoNCj4gKyAqIFNldCBvZiBmZWF0dXJlcyB3aGljaCBhcmUgZW5hYmxlZCBi eSBkZWZhdWx0Lg0KPiArICogUHJvdG9jb2wgZmVhdHVyZSBiaXQgaXMgbmVlZGVkIHRvIGVuYWJs ZSBub3RpZmljYXRpb24gbm90aWZpZXIgY3RybC4NCj4gICAqLw0KPiArI2RlZmluZSBTRkNfVkRQ QV9ERUZBVUxUX0ZFQVRVUkVTIFwNCj4gKwkJKDFVTEwgPDwgVkhPU1RfVVNFUl9GX1BST1RPQ09M X0ZFQVRVUkVTKQ0KPiArDQo+ICBzdGF0aWMgaW50DQo+ICBzZmNfdmRwYV9nZXRfcXVldWVfbnVt KHN0cnVjdCBydGVfdmRwYV9kZXZpY2UgKnZkcGFfZGV2LCB1aW50MzJfdCAqcXVldWVfbnVtKQ0K PiAgew0KPiBAQCAtMjQsMjIgKzM4LDY3IEBADQo+ICB9DQo+IA0KPiAgc3RhdGljIGludA0KPiAr c2ZjX3ZkcGFfZ2V0X2RldmljZV9mZWF0dXJlcyhzdHJ1Y3Qgc2ZjX3ZkcGFfb3BzX2RhdGEgKm9w c19kYXRhKQ0KPiArew0KPiArCWludCByYzsNCj4gKwl1aW50NjRfdCBkZXZfZmVhdHVyZXM7DQo+ ICsJZWZ4X25pY190ICpuaWM7DQo+ICsNCj4gKwluaWMgPSBzZmNfdmRwYV9hZGFwdGVyX2J5X2Rl dl9oYW5kbGUob3BzX2RhdGEtPmRldl9oYW5kbGUpLT5uaWM7DQo+ICsNCj4gKwlyYyA9IGVmeF92 aXJ0aW9fZ2V0X2ZlYXR1cmVzKG5pYywgRUZYX1ZJUlRJT19ERVZJQ0VfVFlQRV9ORVQsDQo+ICsJ CQkJICAgICAmZGV2X2ZlYXR1cmVzKTsNCj4gKwlpZiAocmMgIT0gMCkgew0KPiArCQlzZmNfdmRw YV9lcnIob3BzX2RhdGEtPmRldl9oYW5kbGUsDQo+ICsJCQkgICAgICJjb3VsZCBub3QgcmVhZCBk ZXZpY2UgZmVhdHVyZTogJXMiLA0KPiArCQkJICAgICBydGVfc3RyZXJyb3IocmMpKTsNCj4gKwkJ cmV0dXJuIHJjOw0KPiArCX0NCj4gKw0KPiArCW9wc19kYXRhLT5kZXZfZmVhdHVyZXMgPSBkZXZf ZmVhdHVyZXM7DQo+ICsNCj4gKwlzZmNfdmRwYV9pbmZvKG9wc19kYXRhLT5kZXZfaGFuZGxlLA0K PiArCQkgICAgICAiZGV2aWNlIHN1cHBvcnRlZCB2aXJ0aW8gZmVhdHVyZXMgOiAweCUiIFBSSXg2 NCwNCj4gKwkJICAgICAgb3BzX2RhdGEtPmRldl9mZWF0dXJlcyk7DQo+ICsNCj4gKwlyZXR1cm4g MDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludA0KPiAgc2ZjX3ZkcGFfZ2V0X2ZlYXR1cmVzKHN0 cnVjdCBydGVfdmRwYV9kZXZpY2UgKnZkcGFfZGV2LCB1aW50NjRfdCAqZmVhdHVyZXMpDQo+ICB7 DQo+IC0JUlRFX1NFVF9VU0VEKHZkcGFfZGV2KTsNCj4gLQlSVEVfU0VUX1VTRUQoZmVhdHVyZXMp Ow0KPiArCXN0cnVjdCBzZmNfdmRwYV9vcHNfZGF0YSAqb3BzX2RhdGE7DQo+IA0KPiAtCXJldHVy biAtMTsNCj4gKwlvcHNfZGF0YSA9IHNmY192ZHBhX2dldF9kYXRhX2J5X2Rldih2ZHBhX2Rldik7 DQo+ICsJaWYgKG9wc19kYXRhID09IE5VTEwpDQo+ICsJCXJldHVybiAtMTsNCj4gKw0KPiArCSpm ZWF0dXJlcyA9IG9wc19kYXRhLT5kcnZfZmVhdHVyZXM7DQo+ICsNCj4gKwlzZmNfdmRwYV9pbmZv KG9wc19kYXRhLT5kZXZfaGFuZGxlLA0KPiArCQkgICAgICAidkRQQSBvcHMgZ2V0X2ZlYXR1cmUg OjogZmVhdHVyZXMgOiAweCUiIFBSSXg2NCwNCj4gKwkJICAgICAgKmZlYXR1cmVzKTsNCj4gKw0K PiArCXJldHVybiAwOw0KPiAgfQ0KPiANCj4gIHN0YXRpYyBpbnQNCj4gIHNmY192ZHBhX2dldF9w cm90b2NvbF9mZWF0dXJlcyhzdHJ1Y3QgcnRlX3ZkcGFfZGV2aWNlICp2ZHBhX2RldiwNCj4gIAkJ CSAgICAgICB1aW50NjRfdCAqZmVhdHVyZXMpDQo+ICB7DQo+IC0JUlRFX1NFVF9VU0VEKHZkcGFf ZGV2KTsNCj4gLQlSVEVfU0VUX1VTRUQoZmVhdHVyZXMpOw0KPiArCXN0cnVjdCBzZmNfdmRwYV9v cHNfZGF0YSAqb3BzX2RhdGE7DQo+IA0KPiAtCXJldHVybiAtMTsNCj4gKwlvcHNfZGF0YSA9IHNm Y192ZHBhX2dldF9kYXRhX2J5X2Rldih2ZHBhX2Rldik7DQo+ICsJaWYgKG9wc19kYXRhID09IE5V TEwpDQo+ICsJCXJldHVybiAtMTsNCj4gKw0KPiArCSpmZWF0dXJlcyA9IFNGQ19WRFBBX1BST1RP Q09MX0ZFQVRVUkVTOw0KPiArDQo+ICsJc2ZjX3ZkcGFfaW5mbyhvcHNfZGF0YS0+ZGV2X2hhbmRs ZSwNCj4gKwkJICAgICAgInZEUEEgb3BzIGdldF9wcm90b2NvbF9mZWF0dXJlIDo6IGZlYXR1cmVz IDogMHglIiBQUkl4NjQsDQo+ICsJCSAgICAgICpmZWF0dXJlcyk7DQo+ICsNCj4gKwlyZXR1cm4g MDsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgaW50DQo+IEBAIC05MSw2ICsxNTAsNyBAQCBzdHJ1Y3Qg c2ZjX3ZkcGFfb3BzX2RhdGEgKg0KPiAgew0KPiAgCXN0cnVjdCBzZmNfdmRwYV9vcHNfZGF0YSAq b3BzX2RhdGE7DQo+ICAJc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2Ow0KPiArCWludCBy YzsNCj4gDQo+ICAJLyogQ3JlYXRlIHZEUEEgb3BzIGNvbnRleHQgKi8NCj4gIAlvcHNfZGF0YSA9 IHJ0ZV96bWFsbG9jKCJ2ZHBhIiwgc2l6ZW9mKHN0cnVjdCBzZmNfdmRwYV9vcHNfZGF0YSksIDAp Ow0KPiBAQCAtMTExLDEwICsxNzEsMjUgQEAgc3RydWN0IHNmY192ZHBhX29wc19kYXRhICoNCj4g IAkJZ290byBmYWlsX3JlZ2lzdGVyX2RldmljZTsNCj4gIAl9DQo+IA0KPiArCS8qIFJlYWQgc3Vw cG9ydGVkIGRldmljZSBmZWF0dXJlcyAqLw0KPiArCXNmY192ZHBhX2xvZ19pbml0KGRldl9oYW5k bGUsICJnZXQgZGV2aWNlIGZlYXR1cmUiKTsNCj4gKwlyYyA9IHNmY192ZHBhX2dldF9kZXZpY2Vf ZmVhdHVyZXMob3BzX2RhdGEpOw0KPiArCWlmIChyYyAhPSAwKQ0KPiArCQlnb3RvIGZhaWxfZ2V0 X2Rldl9mZWF0dXJlOw0KPiArDQo+ICsJLyogRHJpdmVyIGZlYXR1cmVzIGFyZSBzdXBlcnNldCBv ZiBkZXZpY2Ugc3VwcG9ydGVkIGZlYXR1cmUNCj4gKwkgKiBhbmQgYW55IGFkZGl0aW9uYWwgZmVh dHVyZXMgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIuDQo+ICsJICovDQo+ICsJb3BzX2RhdGEtPmRy dl9mZWF0dXJlcyA9DQo+ICsJCW9wc19kYXRhLT5kZXZfZmVhdHVyZXMgfCBTRkNfVkRQQV9ERUZB VUxUX0ZFQVRVUkVTOw0KPiArDQo+ICAJb3BzX2RhdGEtPnN0YXRlID0gU0ZDX1ZEUEFfU1RBVEVf SU5JVElBTElaRUQ7DQo+IA0KPiAgCXJldHVybiBvcHNfZGF0YTsNCj4gDQo+ICtmYWlsX2dldF9k ZXZfZmVhdHVyZToNCj4gKwlydGVfdmRwYV91bnJlZ2lzdGVyX2RldmljZShvcHNfZGF0YS0+dmRw YV9kZXYpOw0KPiArDQo+ICBmYWlsX3JlZ2lzdGVyX2RldmljZToNCj4gIAlydGVfZnJlZShvcHNf ZGF0YSk7DQo+ICAJcmV0dXJuIE5VTEw7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZkcGEvc2Zj L3NmY192ZHBhX29wcy5oIGIvZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYV9vcHMuaA0KPiBpbmRl eCA4MTdiMzAyLi4yMWNiYjczIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192 ZHBhX29wcy5oDQo+ICsrKyBiL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGFfb3BzLmgNCj4gQEAg LTI2LDYgKzI2LDkgQEAgc3RydWN0IHNmY192ZHBhX29wc19kYXRhIHsNCj4gIAlzdHJ1Y3QgcnRl X3ZkcGFfZGV2aWNlCQkqdmRwYV9kZXY7DQo+ICAJZW51bSBzZmNfdmRwYV9jb250ZXh0CQl2ZHBh X2NvbnRleHQ7DQo+ICAJZW51bSBzZmNfdmRwYV9zdGF0ZQkJc3RhdGU7DQo+ICsNCj4gKwl1aW50 NjRfdAkJCWRldl9mZWF0dXJlczsNCj4gKwl1aW50NjRfdAkJCWRydl9mZWF0dXJlczsNCj4gIH07 DQo+IA0KPiAgc3RydWN0IHNmY192ZHBhX29wc19kYXRhICoNCj4gLS0NCj4gMS44LjMuMQ0KDQpS ZXZpZXdlZC1ieTogQ2hlbmJvIFhpYSA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo=