From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (EUR05-AM6-obe.outbound.protection.outlook.com [40.107.22.48]) by mx.groups.io with SMTP id smtpd.web12.3866.1587451181922026845 for ; Mon, 20 Apr 2020 23:39:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nxp.com header.s=selector2 header.b=BCAsqwWm; spf=pass (domain: nxp.com, ip: 40.107.22.48, mailfrom: gaurav.jain@nxp.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dunFPJ3rRZgHm1IWvL0rwAEixiuyjijbCMIPwLAxXuP7uqGczDJCNScOaM/jRM34P1bXMm8eyEru8DJIisMpt7//nwl8PqkaYosIOICUBMVH7p6R2Uee/XXOr4b2ng/otlWDI9pamQjwJuRTf+lXPKn7cIJtV6TPLLCxkkHFgj7FEhOxTsYVpYI2B3PP8EcglQ3Y8YQLXW+cSWpeNaF8ExV1li2EXdiv5cqyJO3Fr30OFy9IinuZPoBOKckXSM7NM3wJxgbriSoV1HStR0IEfPuPYseIvfwIuWaT7Fu6Fpg/XHhvRWdA8QprfPC78S/xdi4VX1HJeTT9Mkzu2LZBZw== 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-SenderADCheck; bh=J9KJJHa4dlgSMr2fSFTu9V7HhKJd61tgQtTIk96XqNE=; b=TAKDHp1CHdmNdTKehzF4T/XbKeyxN9qcm+8TMjsJm6s7ak4ZMFaA6UbTAFDIyl13jpc97NTGTHCQiNw4ZXrBgRPZfdL8HI9z/1jWY20/vuRWbkIduArpwYKkmQeqngca5RrDsy6jsLuu5Xuvcl2vOptgwUtKNWpmIPoXN6ZWErjh6dB3U4+CxsN5ZLnG69eo4FdhopKd6bYMXcOLl/ilpyNjwtY5LNXUUI4AcHZxje4I0YicH6zHMyycnIR+BUIBMz/NILLeiDCvuAsMWmtYzlCs666d4xbDKjelIXcXtCceyebJo88SrbMjmvpwHiOD1U+gnH0ozrcG+rbB5KSH2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=J9KJJHa4dlgSMr2fSFTu9V7HhKJd61tgQtTIk96XqNE=; b=BCAsqwWmunrduT2JJHhxVNDdRGV1VAv3kp+T9r4j8ntNjbffGOLVH79TAcsq7jYtOJyyuqhwoxlrrEXC9zGyuTCTmD16EARHyk33spBu/NEQ7r3mrEqCIsMO091mYL7FisK9CQ4qNuG287knW9LIHqVK3RevKeCcd9lWdsxxs4o= Received: from AM5PR04MB3074.eurprd04.prod.outlook.com (2603:10a6:206:4::16) by AM5PR04MB3282.eurprd04.prod.outlook.com (2603:10a6:206:3::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Tue, 21 Apr 2020 06:39:39 +0000 Received: from AM5PR04MB3074.eurprd04.prod.outlook.com ([fe80::e50b:610e:7080:e559]) by AM5PR04MB3074.eurprd04.prod.outlook.com ([fe80::e50b:610e:7080:e559%7]) with mapi id 15.20.2921.030; Tue, 21 Apr 2020 06:39:39 +0000 From: "Gaurav Jain" To: "Loh, Tien Hock" , Ard Biesheuvel , Leif Lindholm CC: "devel@edk2.groups.io" , Pankaj Bansal , Haojian Zhuang Subject: Re: [EXT] Re: [PATCH 1/1] EmbeddedPkg/MmcDxe: Added MaxBlock Transfer Limit 65535 in R/W. Thread-Topic: [EXT] Re: [PATCH 1/1] EmbeddedPkg/MmcDxe: Added MaxBlock Transfer Limit 65535 in R/W. Thread-Index: AQHWCZmqp4XPWdOrU0aCJrgucg6oJahsJnKAgAABKoCAARQDEIAAFDSAgBXraOA= Date: Tue, 21 Apr 2020 06:39:39 +0000 Message-ID: References: <1585905847-16380-1-git-send-email-gaurav.jain@nxp.com> <20200406140819.GI14075@vanye> <3d55018b-8751-bbe1-b1ac-98ac36e16e1c@arm.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=gaurav.jain@nxp.com; x-originating-ip: [103.65.30.242] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 70146e39-7b3a-437d-48f5-08d7e5bec44f x-ms-traffictypediagnostic: AM5PR04MB3282:|AM5PR04MB3282: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 038002787A x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM5PR04MB3074.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10009020)(4636009)(396003)(136003)(39860400002)(376002)(366004)(346002)(26005)(8676002)(81156014)(8936002)(86362001)(316002)(55016002)(478600001)(186003)(71200400001)(6506007)(53546011)(66446008)(66476007)(64756008)(66556008)(33656002)(9686003)(76116006)(5660300002)(110136005)(66946007)(44832011)(2906002)(7696005)(52536014)(54906003)(4326008);DIR:OUT;SFP:1101; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xvQQ1oOF3lnyBopDMtcXtvHHJKePMrs6gWVAIQIxnBJ1VAl9vELi28XLpd9EBxYC99m+8ioSXbBdUnRVE57juSi0jJOzy7zlMFvo9G/zyPG/Vqd79d4TlfesXv2kuW6NxMVzTqa3lPSue65erp4B4KGe6CZnRbqSeKOkXuig3FHnJdyjvzjkzuhYeO28/9T98YIeWWbtBWw70G96pomRFFBH/Y0KWLESqtFXVQtuTLK9JqogDcKvW1qnUzu4tvAaS0Et32GOY5erYCGGNJYJ4IyQR9YEG/MarC8ujIcTeAr9S4rWXqk/y83FNW0X2fLn7kbkYzRL9ny5L7aNIEdxj1fXcip1zrADj/eeMsgVibgw5wcyjkynqnXi10U6Si3fafhC8wuCvp4RNiCtDLDYzGNuiG3i+7BYZWeVESbIXGWBxblj/m1VPQcOX6xXjiYO x-ms-exchange-antispam-messagedata: Qw6kG9ALNRCFF6+DLuVXlqAdIqwTZJKyWJF3flYbqWzOSRQm6/Ku9lFJbQNTXAjfwqWmNdi8iS/xSTzHjX9ARJffrGAODJUZnNuF/WqoxxEwrUZIOACuNHE/xy+1uQMSUCAnuqGCvHzAgwZsZ0d04A== MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70146e39-7b3a-437d-48f5-08d7e5bec44f X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2020 06:39:39.5602 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: w4xU98JB+FgcGW3vBlQdjYTEi7pRi/icSEwJj940kjAyKOhJbiqmfuJaZ0cv2sLmrSFcwYZgReLGCi6aI9WWAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB3282 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgVGllbiBIb2NrDQoNCkNhbiB5b3UgaGVscCB0byByZXZpZXcgdGhlIHBhdGNoPw0KDQpSZWdh cmRzDQpHYXVyYXYgSmFpbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IExvaCwgVGllbiBIb2NrIDx0aWVuLmhvY2subG9oQGludGVsLmNvbT4NCj4gU2VudDogVHVlc2Rh eSwgQXByaWwgNywgMjAyMCAxOjIzIFBNDQo+IFRvOiBHYXVyYXYgSmFpbiA8Z2F1cmF2LmphaW5A bnhwLmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+IDxhcmQuYmllc2hldXZlbEBhcm0uY29tPjsgTGVp ZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+DQo+IENjOiBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgUGFua2FqIEJhbnNhbCA8cGFua2FqLmJhbnNhbEBueHAuY29tPjsNCj4gSGFvamlhbiBaaHVh bmcgPGhhb2ppYW4uemh1YW5nQGxpbmFyby5vcmc+DQo+IFN1YmplY3Q6IFJFOiBbRVhUXSBSZTog W1BBVENIIDEvMV0gRW1iZWRkZWRQa2cvTW1jRHhlOiBBZGRlZCBNYXhCbG9jaw0KPiBUcmFuc2Zl ciBMaW1pdCA2NTUzNSBpbiBSL1cuDQo+IA0KPiBDYXV0aW9uOiBFWFQgRW1haWwNCj4gDQo+IEhp IExlaWYsIEdhdXJhdiwNCj4gDQo+IFRoZSBjaGFuZ2VzIGxvb2sgZ29vZCB0byBtZSwgYnV0IEkg aGF2ZW4ndCB0ZXN0ZWQgaXQgb24gSW50ZWwncyBTb0NGUEdBDQo+IHBsYXRmb3JtLg0KPiBJIHdp bGwgbmVlZCBzb21lIHRpbWUgdG8gdGVzdCBpdCBhcyBJJ20gd29ya2luZyBvbiBzb21lIG90aGVy IHRhc2tzLCBtYXliZSBpbg0KPiBhIHdlZWsgb3Igc28uDQo+IA0KPiBUaGFua3MNCj4gDQo+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBHYXVyYXYgSmFpbiA8Z2F1cmF2 LmphaW5AbnhwLmNvbT4NCj4gPiBTZW50OiBUdWVzZGF5LCBBcHJpbCA3LCAyMDIwIDM6MDIgUE0N Cj4gPiBUbzogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGFybS5jb20+OyBMZWlmIExp bmRob2xtDQo+ID4gPGxlaWZAbnV2aWFpbmMuY29tPg0KPiA+IENjOiBkZXZlbEBlZGsyLmdyb3Vw cy5pbzsgUGFua2FqIEJhbnNhbCA8cGFua2FqLmJhbnNhbEBueHAuY29tPjsNCj4gPiBIYW9qaWFu IFpodWFuZyA8aGFvamlhbi56aHVhbmdAbGluYXJvLm9yZz47IExvaCwgVGllbiBIb2NrDQo+ID4g PHRpZW4uaG9jay5sb2hAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbRVhUXSBSZTogW1BB VENIIDEvMV0gRW1iZWRkZWRQa2cvTW1jRHhlOiBBZGRlZA0KPiBNYXhCbG9jaw0KPiA+IFRyYW5z ZmVyIExpbWl0IDY1NTM1IGluIFIvVy4NCj4gPg0KPiA+DQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2 ZWxAYXJtLmNvbT4NCj4gPiA+IFNlbnQ6IE1vbmRheSwgQXByaWwgNiwgMjAyMCA3OjQyIFBNDQo+ ID4gPiBUbzogTGVpZiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+OyBHYXVyYXYgSmFpbg0K PiA+ID4gPGdhdXJhdi5qYWluQG54cC5jb20+DQo+ID4gPiBDYzogZGV2ZWxAZWRrMi5ncm91cHMu aW87IFBhbmthaiBCYW5zYWwgPHBhbmthai5iYW5zYWxAbnhwLmNvbT47DQo+ID4gPiBIYW9qaWFu IFpodWFuZyA8aGFvamlhbi56aHVhbmdAbGluYXJvLm9yZz47IExvaCwgVGllbiBIb2NrDQo+ID4g PiA8dGllbi5ob2NrLmxvaEBpbnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiBbRVhUXSBSZTogW1BB VENIIDEvMV0gRW1iZWRkZWRQa2cvTW1jRHhlOiBBZGRlZCBNYXhCbG9jaw0KPiA+ID4gVHJhbnNm ZXIgTGltaXQgNjU1MzUgaW4gUi9XLg0KPiA+ID4NCj4gPiA+IENhdXRpb246IEVYVCBFbWFpbA0K PiA+ID4NCj4gPiA+IE9uIDQvNi8yMCA0OjA4IFBNLCBMZWlmIExpbmRob2xtIHdyb3RlOg0KPiA+ ID4gPiBIaSBHYXVyYXYsDQo+ID4gPiA+DQo+ID4gPiA+IEhhb2ppYW4sIFRpZW4gSG9jayAtIGNh biB5b3UgaGVscCByZXZpZXcvdGVzdCB0aGlzIGNoYW5nZT8NCj4gPiA+ID4NCj4gPiA+ID4gQmVz dCBSZWdhcmRzLA0KPiA+ID4gPg0KPiA+ID4gPiBMZWlmDQo+ID4gPiA+DQo+ID4gPiA+IE9uIEZy aSwgQXByIDAzLCAyMDIwIGF0IDE0OjU0OjA3ICswNTMwLCBHYXVyYXYgSmFpbiB3cm90ZToNCj4g PiA+ID4+IE1vdmVkIEJsb2NrQ291bnQgY2FsY3VsYXRpb24gYmVsb3cgQnVmZmVyU2l6ZSBWYWxp ZGF0aW9uIGNoZWNrcy4NCj4gPiA+ID4+IEZpcnN0IEVuc3VyZSBCdWZmZXJzaXplIGlzIE5vdCBa ZXJvIGFuZCBtdWx0aXBsZSBvZiBNZWRpYSBCbG9ja1NpemUuDQo+ID4gPiA+PiB0aGVuIGNhbGN1 bGF0ZSBCbG9ja0NvdW50IGFuZCBwZXJmb3JtIEJsb2NrIGNoZWNrcy4NCj4gPiA+ID4+DQo+ID4g PiA+PiBDb3JyZWN0ZWQgQmxvY2tDb3VudCBjYWxjdWxhdGlvbiwgYXMgQnVmZmVyU2l6ZSBpcyBt dWx0aXBsZSBvZg0KPiA+ID4gPj4gQmxvY2tTaXplLCBTbyBhZGRpbmcgKEJsb2NrU2l6ZS0xKSBi eXRlcyB0byBCdWZmZXJTaXplIGFuZCB0aGVuDQo+ID4gPiA+PiBkaXZpZGUgYnkgQmxvY2tTaXpl IHdpbGwgaGF2ZSBubyBpbXBhY3Qgb24gQmxvY2tDb3VudC4NCj4gPiA+ID4+DQo+ID4gPiA+PiBS ZWFkaW5nIExhcmdlIEltYWdlcyBmcm9tIE1NQyBjYXVzZXMgZXJyb3JzLg0KPiA+ID4gPj4gQXMg cGVyIFNEIEhvc3QgQ29udHJvbGxlciBTcGVjIHZlcnNpb24gNC4yMCwgUmVzdHJpY3Rpb24gb2YN Cj4gPiA+ID4+IDE2LWJpdCBCbG9jayBDb3VudCB0cmFuc2ZlciBpcyA2NTUzNS4NCj4gPiA+ID4+ IE1heCBibG9jayB0cmFuc2ZlciBsaW1pdCBpbiBzaW5nbGUgY21kIGlzIDY1NTM1IGJsb2Nrcy4N Cj4gPiA+ID4+IEFkZGVkIE1heCBCbG9jayBjaGVjayB0aGF0IGNhbiBiZSBwcm9jZXNzZWQgaXMg MHhGRkZGLg0KPiA+ID4gPj4gdGhlbiBVcGRhdGUgQmxvY2tDb3VudCBvbiB0aGUgYmFzaXMgb2Yg TWF4QmxvY2suDQo+ID4gPiA+Pg0KPiA+ID4gPj4gU2lnbmVkLW9mZi1ieTogR2F1cmF2IEphaW4g PGdhdXJhdi5qYWluQG54cC5jb20+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IEhlbGxvIEdhdXJhdiwN Cj4gPiA+DQo+ID4gPiBDb3VsZCB5b3UgcGxlYXNlIGVsYWJvcmF0ZSBvbiB0aGUgdW5kZXJseWlu ZyBuZWVkIGZvciB0aGlzIGNoYW5nZT8NCj4gPiA+IElmIHlvdSBhcmUgY29uc2lkZXJpbmcgdXNp bmcgdGhpcyBkcml2ZXIgZm9yIGZ1dHVyZSBOWFAgcGxhdGZvcm1zLCBJDQo+ID4gPiBzaG91bGQg cG9pbnQgb3V0IHRoYXQgdGhpcyBsZWdhY3kgZHJpdmVyIGlzIG9ubHkga2VwdCBhcm91bmQgZm9y DQo+ID4gPiBleGlzdGluZyB1c2VycywgYW5kIG5ldyB1c2VycyBzaG91bGQgdXNlIHRoZSBkcml2 ZXIgc3RhY2sgaW4NCj4gPiA+IE1kZU1vZHVsZVBrZywgd2hpY2ggaXMgYmFzZWQgb24gdGhlIFVF Rkkgc3BlYy4NCj4gPiA+DQo+ID4gPiAtLQ0KPiA+ID4gQXJkLg0KPiA+DQo+ID4gSGVsbG8gQXJk DQo+ID4NCj4gPiBUaGlzIGNoYW5nZSBpcyBmb3IgZXhpc3RpbmcgUGxhdGZvcm1zIGFzIHdlbGws IHRoYXQgYXJlIHVzaW5nDQo+ID4gRW1iZWRkZWRQa2cgZHJpdmVyLg0KPiA+IEkgY2FuIHNlZSBN YXggQmxvY2sgVHJhbnNmZXIgTGltaXQgaW4gTWRlTW9kdWxlUGtnIGFsc28uDQo+ID4gVGhpcyBM aW1pdCBpcyBub3QgZGVmaW5lZCBpbiBFbWJlZGRlZFBrZywgd2hpY2ggaXMgY2F1c2luZyBlcnJv cnMgb24NCj4gPiBOWFAgZXhpc3RpbmcgcGxhdGZvcm0gV2hpbGUgcmVhZGluZyBMYXJnZSBpbWFn ZXMgZnJvbSBNTUMuDQo+ID4gQmxvY2sgdHJhbnNmZXIgbGltaXQgaXMgZGVmaW5lZCBpbiBTRCBz cGVjLg0KPiA+DQo+ID4gUmVnYXJkcw0KPiA+IEdhdXJhdiBKYWluDQo+ID4gPg0KPiA+ID4NCj4g PiA+DQo+ID4gPiA+PiAtLS0NCj4gPiA+ID4+ICAgRW1iZWRkZWRQa2cvVW5pdmVyc2FsL01tY0R4 ZS9NbWNCbG9ja0lvLmMgfCAzOA0KPiA+ID4gKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LQ0KPiA+ID4gPj4gICAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRp b25zKC0pDQo+ID4gPiA+Pg0KPiA+ID4gPj4gZGlmZiAtLWdpdCBhL0VtYmVkZGVkUGtnL1VuaXZl cnNhbC9NbWNEeGUvTW1jQmxvY2tJby5jDQo+ID4gPiA+PiBiL0VtYmVkZGVkUGtnL1VuaXZlcnNh bC9NbWNEeGUvTW1jQmxvY2tJby5jDQo+ID4gPiA+PiBpbmRleCAxN2MyMGMwMTU5YmEuLmI1MDhj NDY2ZDljNSAxMDA2NDQNCj4gPiA+ID4+IC0tLSBhL0VtYmVkZGVkUGtnL1VuaXZlcnNhbC9NbWNE eGUvTW1jQmxvY2tJby5jDQo+ID4gPiA+PiArKysgYi9FbWJlZGRlZFBrZy9Vbml2ZXJzYWwvTW1j RHhlL01tY0Jsb2NrSW8uYw0KPiA+ID4gPj4gQEAgLTI0Miw2ICsyNDIsOCBAQCBNbWNJb0Jsb2Nr cyAoDQo+ID4gPiA+PiAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgQnl0ZXNSZW1haW5pbmdU b0JlVHJhbnNmZXJlZDsNCj4gPiA+ID4+ICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICBCbG9j a0NvdW50Ow0KPiA+ID4gPj4gICAgIFVJTlROICAgICAgICAgICAgICAgICAgIENvbnN1bWVTaXpl Ow0KPiA+ID4gPj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgTWF4QmxvY2s7DQo+ID4gPiA+ PiArICBVSU5UTiAgICAgICAgICAgICAgICAgICBSZW1haW5pbmdCbG9jazsNCj4gPiA+ID4+DQo+ ID4gPiA+PiAgICAgQmxvY2tDb3VudCA9IDE7DQo+ID4gPiA+PiAgICAgTW1jSG9zdEluc3RhbmNl ID0gTU1DX0hPU1RfSU5TVEFOQ0VfRlJPTV9CTE9DS19JT19USElTDQo+ID4gPiAoVGhpcyk7IEBA DQo+ID4gPiA+PiAtMjYyLDE5ICsyNjQsNiBAQCBNbWNJb0Jsb2NrcyAoDQo+ID4gPiA+PiAgICAg ICByZXR1cm4gRUZJX05PX01FRElBOw0KPiA+ID4gPj4gICAgIH0NCj4gPiA+ID4+DQo+ID4gPiA+ PiAtICBpZiAoTU1DX0hPU1RfSEFTX0lTTVVMVElCTE9DSyhNbWNIb3N0KSAmJiBNbWNIb3N0LQ0K PiA+ID4gPklzTXVsdGlCbG9jayhNbWNIb3N0KSkgew0KPiA+ID4gPj4gLSAgICBCbG9ja0NvdW50 ID0gKEJ1ZmZlclNpemUgKyBUaGlzLT5NZWRpYS0+QmxvY2tTaXplIC0gMSkgLyBUaGlzLQ0KPiA+ TWVkaWEtDQo+ID4gPiA+QmxvY2tTaXplOw0KPiA+ID4gPj4gLSAgfQ0KPiA+ID4gPj4gLQ0KPiA+ ID4gPj4gLSAgLy8gQWxsIGJsb2NrcyBtdXN0IGJlIHdpdGhpbiB0aGUgZGV2aWNlDQo+ID4gPiA+ PiAtICBpZiAoKExiYSArIChCdWZmZXJTaXplIC8gVGhpcy0+TWVkaWEtPkJsb2NrU2l6ZSkpID4N Cj4gPiA+ID4+IChUaGlzLT5NZWRpYS0NCj4gPiA+ID5MYXN0QmxvY2sgKyAxKSkgew0KPiA+ID4g Pj4gLSAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiA+ID4gPj4gLSAgfQ0KPiA+ ID4gPj4gLQ0KPiA+ID4gPj4gLSAgaWYgKChUcmFuc2ZlciA9PSBNTUNfSU9CTE9DS1NfV1JJVEUp ICYmIChUaGlzLT5NZWRpYS0NCj4gPlJlYWRPbmx5DQo+ID4gPiA9PSBUUlVFKSkgew0KPiA+ID4g Pj4gLSAgICByZXR1cm4gRUZJX1dSSVRFX1BST1RFQ1RFRDsNCj4gPiA+ID4+IC0gIH0NCj4gPiA+ ID4+IC0NCj4gPiA+ID4+ICAgICAvLyBSZWFkaW5nIDAgQnl0ZSBpcyB2YWxpZA0KPiA+ID4gPj4g ICAgIGlmIChCdWZmZXJTaXplID09IDApIHsNCj4gPiA+ID4+ICAgICAgIHJldHVybiBFRklfU1VD Q0VTUzsNCj4gPiA+ID4+IEBAIC0yODUsMTQgKzI3NCwzNiBAQCBNbWNJb0Jsb2NrcyAoDQo+ID4g PiA+PiAgICAgICByZXR1cm4gRUZJX0JBRF9CVUZGRVJfU0laRTsNCj4gPiA+ID4+ICAgICB9DQo+ ID4gPiA+Pg0KPiA+ID4gPj4gKyAgaWYgKE1NQ19IT1NUX0hBU19JU01VTFRJQkxPQ0soTW1jSG9z dCkgJiYgTW1jSG9zdC0NCj4gPiA+ID5Jc011bHRpQmxvY2soTW1jSG9zdCkpIHsNCj4gPiA+ID4+ ICsgICAgQmxvY2tDb3VudCA9IEJ1ZmZlclNpemUgLyBUaGlzLT5NZWRpYS0+QmxvY2tTaXplOyAg fQ0KPiA+ID4gPj4gKw0KPiA+ID4gPj4gKyAgLy8gQWxsIGJsb2NrcyBtdXN0IGJlIHdpdGhpbiB0 aGUgZGV2aWNlICBpZiAoKExiYSArDQo+ID4gPiA+PiArIChCdWZmZXJTaXplIC8NCj4gPiA+ID4+ ICsgVGhpcy0+TWVkaWEtPkJsb2NrU2l6ZSkpID4gKFRoaXMtPk1lZGlhLT5MYXN0QmxvY2sgKyAx KSkgew0KPiA+ID4gPj4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOyAgfQ0KPiA+ ID4gPj4gKw0KPiA+ID4gPj4gKyAgaWYgKChUcmFuc2ZlciA9PSBNTUNfSU9CTE9DS1NfV1JJVEUp ICYmIChUaGlzLT5NZWRpYS0NCj4gPlJlYWRPbmx5DQo+ID4gPiA9PSBUUlVFKSkgew0KPiA+ID4g Pj4gKyAgICByZXR1cm4gRUZJX1dSSVRFX1BST1RFQ1RFRDsNCj4gPiA+ID4+ICsgIH0NCj4gPiA+ ID4+ICsNCj4gPiA+ID4+ICAgICAvLyBDaGVjayB0aGUgYWxpZ25tZW50DQo+ID4gPiA+PiAgICAg aWYgKChUaGlzLT5NZWRpYS0+SW9BbGlnbiA+IDIpICYmICgoKFVJTlROKUJ1ZmZlciAmDQo+ID4g PiA+PiAoVGhpcy0+TWVkaWEtDQo+ID4gPiA+SW9BbGlnbiAtIDEpKSAhPSAwKSkgew0KPiA+ID4g Pj4gICAgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gPiA+ID4+ICAgICB9DQo+ ID4gPiA+Pg0KPiA+ID4gPj4gKyAgLy8gTWF4IGJsb2NrIG51bWJlciBpbiBzaW5nbGUgY21kIGlz IDY1NTM1IGJsb2Nrcy4NCj4gPiA+ID4+ICsgIE1heEJsb2NrID0gMHhGRkZGOw0KPiA+ID4gPj4g KyAgUmVtYWluaW5nQmxvY2sgPSBCbG9ja0NvdW50Ow0KPiA+ID4gPj4gICAgIEJ5dGVzUmVtYWlu aW5nVG9CZVRyYW5zZmVyZWQgPSBCdWZmZXJTaXplOw0KPiA+ID4gPj4gICAgIHdoaWxlIChCeXRl c1JlbWFpbmluZ1RvQmVUcmFuc2ZlcmVkID4gMCkgew0KPiA+ID4gPj4NCj4gPiA+ID4+ICsgICAg aWYgKFJlbWFpbmluZ0Jsb2NrIDw9IE1heEJsb2NrKSB7DQo+ID4gPiA+PiArICAgICAgQmxvY2tD b3VudCA9IFJlbWFpbmluZ0Jsb2NrOw0KPiA+ID4gPj4gKyAgICB9IGVsc2Ugew0KPiA+ID4gPj4g KyAgICAgIEJsb2NrQ291bnQgPSBNYXhCbG9jazsNCj4gPiA+ID4+ICsgICAgfQ0KPiA+ID4gPj4g Kw0KPiA+ID4gPj4gICAgICAgLy8gQ2hlY2sgaWYgdGhlIENhcmQgaXMgaW4gUmVhZHkgc3RhdHVz DQo+ID4gPiA+PiAgICAgICBDbWRBcmcgPSBNbWNIb3N0SW5zdGFuY2UtPkNhcmRJbmZvLlJDQSA8 PCAxNjsNCj4gPiA+ID4+ICAgICAgIFJlc3BvbnNlWzBdID0gMDsNCj4gPiA+ID4+IEBAIC0zMzgs NiArMzQ5LDcgQEAgTW1jSW9CbG9ja3MgKA0KPiA+ID4gPj4gICAgICAgICBERUJVRyAoKEVGSV9E X0VSUk9SLCAiJWEoKTogRmFpbGVkIHRvIHRyYW5zZmVyIGJsb2NrIGFuZA0KPiA+ID4gU3RhdHVz OiVyXG4iLCBfX2Z1bmNfXywgU3RhdHVzKSk7DQo+ID4gPiA+PiAgICAgICB9DQo+ID4gPiA+Pg0K PiA+ID4gPj4gKyAgICBSZW1haW5pbmdCbG9jayAtPSBCbG9ja0NvdW50Ow0KPiA+ID4gPj4gICAg ICAgQnl0ZXNSZW1haW5pbmdUb0JlVHJhbnNmZXJlZCAtPSBDb25zdW1lU2l6ZTsNCj4gPiA+ID4+ ICAgICAgIGlmIChCeXRlc1JlbWFpbmluZ1RvQmVUcmFuc2ZlcmVkID4gMCkgew0KPiA+ID4gPj4g ICAgICAgICBMYmEgICAgKz0gQmxvY2tDb3VudDsNCj4gPiA+ID4+IC0tDQo+ID4gPiA+PiAyLjcu NA0KPiA+ID4gPj4NCg0K