From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (EUR01-DB5-obe.outbound.protection.outlook.com [40.107.15.50]) by mx.groups.io with SMTP id smtpd.web10.28030.1591616667464090824 for ; Mon, 08 Jun 2020 04:44:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nxp.com header.s=selector2 header.b=hErgQRH3; spf=pass (domain: nxp.com, ip: 40.107.15.50, mailfrom: meenakshi.aggarwal@nxp.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IH8N4Se6ht5M/2SpODkpKQW1dxofoWffU7G9h0JLrp6zWKZBOrvKA9dlecZawj6P9y9ytvyBtjrt6b1fFWxnWNqTs0nmVnZgR5/PTX72wyPUy68abCz/0k5Gq/guOLDWD8PprQnf0jr5S+ElYVroUw01vGkjKVUAp6PKTIgEuL7dxLv7VuwqPjwjfkwqGIYfOHF/oZUucCmXLTFTRAedVr4J/ATJW63XB3qxHx2WbAt917u9UbmkGZFnDbHiupk762sAXq3AptxsvgMBSw+qOv6nDEeUAwGELUTGUIsCjJ8rsxH7mBW5IetJn+oLzzQhj82J4KlmQY3kK50s65dcBg== 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=Fqsj+Rlx+kZgT+lP8GLJWRaZ504wPuoRsEB1p4JyO54=; b=DVps8zOCB+mLOa3qXJDMwQifW8/6kieDUVU7wUggICRSOR3sRi8fn4ub5lV8nTE4VOgXGq+PnEJjy457YIjzADFKGJG0fdXzCz1T3dPe2HaBfMlcYWEKB6ZNjpgfkRfmp7hiKuDzr2tY4YvQKfcrSN3tLDITrqjcYGFUc9PvCraDJFXKXZUwdWxmgWE3EvBHABGTQlY2f0I7XJJAKd21jQnwtU+ldtX7AjxsM91BdOoeEU6SSsipW6nL9krVdXfaKF2lSeFwWcb+p+rGKaYR0VlZ/UGzxVE4ZQ9xRZBZml6a9w7qbdEtgurjr55mZsm38C0ib4EzIJkITlQTI6EHug== 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=Fqsj+Rlx+kZgT+lP8GLJWRaZ504wPuoRsEB1p4JyO54=; b=hErgQRH34mQbhQrO7nwx2/XZb/AtfKyLXnEwgb6WYtRLzdsHUM1QIN0cqbcxKpRDZSGfjTSgWiOh3wX94ifQCrIXKoBf4ka5+4vjp9zmrLUPbaGXssmKBtpZc9Que8gC8jwOte9fIFhc1Aa3PIt5JrCFxMnTMrTz3dG6LQy72zI= Received: from AM7PR04MB6885.eurprd04.prod.outlook.com (2603:10a6:20b:10d::24) by AM7PR04MB7080.eurprd04.prod.outlook.com (2603:10a6:20b:11b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18; Mon, 8 Jun 2020 11:44:25 +0000 Received: from AM7PR04MB6885.eurprd04.prod.outlook.com ([fe80::fdc0:9eff:2931:d11b]) by AM7PR04MB6885.eurprd04.prod.outlook.com ([fe80::fdc0:9eff:2931:d11b%7]) with mapi id 15.20.3066.023; Mon, 8 Jun 2020 11:44:25 +0000 From: "Meenakshi Aggarwal" To: Ard Biesheuvel , "Meenakshi Aggarwal (OSS)" , "leif@nuviainc.com" , "michael.d.kinney@intel.com" , "devel@edk2.groups.io" CC: Varun Sethi Subject: Re: [PATCH edk2-platforms 1/2] Silicon/NXP: Add SATA controller initialization driver Thread-Topic: [PATCH edk2-platforms 1/2] Silicon/NXP: Add SATA controller initialization driver Thread-Index: AQHWOyL5aMVyO2Ruek2URZEVBA64i6jJ/DOAgASfalA= Date: Mon, 8 Jun 2020 11:44:25 +0000 Message-ID: References: <1591372974-7860-1-git-send-email-meenakshi.aggarwal@oss.nxp.com> <1591372974-7860-2-git-send-email-meenakshi.aggarwal@oss.nxp.com> <478bbfa2-46aa-8a01-d319-c2bf8d4deb69@arm.com> In-Reply-To: <478bbfa2-46aa-8a01-d319-c2bf8d4deb69@arm.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=nxp.com; x-originating-ip: [45.118.159.34] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 1c1dba3c-610e-4ccf-7013-08d80ba14b42 x-ms-traffictypediagnostic: AM7PR04MB7080: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 042857DBB5 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XQEk1wc2CyFTIl/UPspVjTCTxeFDSE9PLoVfDc1qx83W8wn3Bzi5VizGGjFEf8+jonQ/T7qVJpvDvCEenQfrkX++q4PoMiOnCp5CXWrwTNQUeo7gI9kcN9cNau52bB5i75Uf6VM8nC5zQydIKoTMHtZ07fYi7ufN2rQedFfoxeHgUZlL4BOxXe9euNpgldHPjXDAzvuckg5osfVDk5G4geH9FZbvhSsnR74/qJpoJ7Uiok0q43BkAywz0iY47Yb+8YfnebHllsXREe9wNQtKAbQA6xP2UQverw7uznvSNceBKv4YqDSAGEu4yUaO71/ZcRB6GqWsAq0F1vnSJCnUww== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM7PR04MB6885.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(346002)(136003)(376002)(396003)(366004)(26005)(86362001)(110136005)(2906002)(76116006)(83380400001)(66476007)(66556008)(5660300002)(66446008)(66946007)(52536014)(64756008)(4326008)(8676002)(8936002)(71200400001)(478600001)(53546011)(55016002)(44832011)(9686003)(6506007)(19627235002)(33656002)(186003)(316002)(7696005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: g4tSh/7+cmENVBzqtCGLtSP+Vz3S3hYMHq1lpqh/qY5KB+5tq42/TAzYH1VVGgoyz/+LlEm/EY/5i3faKHLF1VlcswliT/h3SbpU6bhLmxPe728n7h05CDcZ3zmG5jnyS7PGYy/5H9c5/luyEY+2gjNKt/4WugurHy8mDEBxgbZ8MP3pSuKQD0F1ceHv4Fia7WeXX/XO1S0yKUQPgICTzEFbL1fiK6VhqQuG56BYW26c+W8yWV48ck+ApWXB9O8ifHgk+KNhAazjkyOFlak2r/sXzSUuX4UDf6vHcLN4MrWPEeDX00cOJ038GH0ZFBI+2rZ5OlP4pILYrOFgkExWMpw4Awh3L+EPhcvRY6hhcZLkp/sC2bdyOK8RbKycflcsJEHNOsiy1Wt64JqXMf3wyNRXxCCFJ8UF1tezPkGEWUWB3BlJca5+EgvT19UsNb6wyQ3PS5yV74fxPPp8qcnPrhIUgW9dsW/9F/Gr9PPfOa3n+qvHwAHo+6+P2zRJifYL MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c1dba3c-610e-4ccf-7013-08d80ba14b42 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jun 2020 11:44:25.2075 (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: Qgy1hd23w7liq86jiXdumYZgXC+LW3XXoaDRl2ML28+xChhZ5zd/aXeDUfrAyed1mUdPdUGXLmI79/gt5P2bDt4Wy0FM6bzSs7wPybzTcws= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7080 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQXJkLA0KDQpSZXBseSBpbmxpbmUuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGFybS5jb20+DQo+IFNlbnQ6 IEZyaWRheSwgSnVuZSA1LCAyMDIwIDY6MzAgUE0NCj4gVG86IE1lZW5ha3NoaSBBZ2dhcndhbCAo T1NTKSA8bWVlbmFrc2hpLmFnZ2Fyd2FsQG9zcy5ueHAuY29tPjsNCj4gbGVpZkBudXZpYWluYy5j b207IG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tOyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBD YzogVmFydW4gU2V0aGkgPFYuU2V0aGlAbnhwLmNvbT47IE1lZW5ha3NoaSBBZ2dhcndhbA0KPiA8 bWVlbmFrc2hpLmFnZ2Fyd2FsQG54cC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggZWRrMi1w bGF0Zm9ybXMgMS8yXSBTaWxpY29uL05YUDogQWRkIFNBVEEgY29udHJvbGxlcg0KPiBpbml0aWFs aXphdGlvbiBkcml2ZXINCj4gDQo+IE9uIDYvNS8yMCA2OjAyIFBNLCBNZWVuYWtzaGkgQWdnYXJ3 YWwgd3JvdGU6DQo+ID4gQWRkIHN1cHBvcnQgb2YgU0FUQSBjb250cm9sbGVyIGRyaXZlciB3aGlj aCBwZXJmb3JtcyBjb250cm9sbGVyDQo+ID4gaW5pdGlhbGl6YXRpb24gYW5kIHJlZ2lzdGVyIGl0 c2VsZiBhcyBOb25EaXNjb3ZlcmFibGVNbWlvRGV2aWNlDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5 OiBNZWVuYWtzaGkgQWdnYXJ3YWwgPG1lZW5ha3NoaS5hZ2dhcndhbEBueHAuY29tPg0KPiA+IC0t LQ0KPiA+ICAgU2lsaWNvbi9OWFAvTnhwUW9yaXFMcy5kZWMgICAgICAgICAgICAgICAgICAgICAg fCAgIDYgKw0KPiA+ICAgU2lsaWNvbi9OWFAvTnhwUW9yaXFMcy5kc2MuaW5jICAgICAgICAgICAg ICAgICAgfCAgMTAgKysNCj4gPiAgIFNpbGljb24vTlhQL0RyaXZlcnMvU2F0YUluaXREeGUvU2F0 YUluaXREeGUuaW5mIHwgIDQ2ICsrKysrKysrDQo+ID4gICBTaWxpY29uL05YUC9Ecml2ZXJzL1Nh dGFJbml0RHhlL1NhdGFJbml0LmggICAgICB8ICAyNyArKysrKw0KPiA+ICAgU2lsaWNvbi9OWFAv RHJpdmVycy9TYXRhSW5pdER4ZS9TYXRhSW5pdC5jICAgICAgfCAxMTYgKysrKysrKysrKysrKysr KysrKysNCj4gPiAgIDUgZmlsZXMgY2hhbmdlZCwgMjA1IGluc2VydGlvbnMoKykNCj4gPg0KPiA+ IGRpZmYgLS1naXQgYS9TaWxpY29uL05YUC9OeHBRb3JpcUxzLmRlYyBiL1NpbGljb24vTlhQL054 cFFvcmlxTHMuZGVjDQo+ID4gaW5kZXggNzJjMTc0NGZjOTM0Li5lODNmMjgyYWNlNGUgMTAwNjQ0 DQo+ID4gLS0tIGEvU2lsaWNvbi9OWFAvTnhwUW9yaXFMcy5kZWMNCj4gPiArKysgYi9TaWxpY29u L05YUC9OeHBRb3JpcUxzLmRlYw0KPiA+IEBAIC0yOCw2ICsyOCw3IEBAIFtQY2RzRmVhdHVyZUZs YWddDQo+ID4NCj4gZ054cFFvcmlxTHNUb2tlblNwYWNlR3VpZC5QY2RJMmNFcnJhdHVtQTAwOTIw M3xGQUxTRXxCT09MRUFOfDB4MDAwMA0KPiAwMzE1DQo+ID4NCj4gZ054cFFvcmlxTHNUb2tlblNw YWNlR3VpZC5QY2REY2ZnQmlnRW5kaWFufEZBTFNFfEJPT0xFQU58MHgwMDAwMDMxNg0KPiA+DQo+ ID4NCj4gZ054cFFvcmlxTHNUb2tlblNwYWNlR3VpZC5QY2RQY2lMdXRCaWdFbmRpYW58RkFMU0V8 Qk9PTEVBTnwweDAwMDAwMzENCj4gNw0KPiA+ICsNCj4gPiArDQo+IGdOeHBRb3JpcUxzVG9rZW5T cGFjZUd1aWQuUGNkU2F0YUVycmF0dW1BMDA5MTg1fEZBTFNFfEJPT0xFQU58MHgwMDANCj4gMA0K PiA+ICsgMDMxOA0KPiA+DQo+ID4gICBbUGNkc0ZpeGVkQXRCdWlsZC5jb21tb25dDQo+ID4gICAg ICMgUGNkcyBmb3IgUENJIEV4cHJlc3MNCj4gPiBAQCAtNDEsNiArNDIsMTEgQEAgW1BjZHNGaXhl ZEF0QnVpbGQuY29tbW9uXQ0KPiA+ICAgICBnTnhwUW9yaXFMc1Rva2VuU3BhY2VHdWlkLlBjZFVz YlNpemV8MHgwfFVJTlQzMnwweDAwMDAwNTExDQo+ID4NCj4gZ054cFFvcmlxTHNUb2tlblNwYWNl R3VpZC5QY2ROdW1Vc2JDb250cm9sbGVyfDB8VUlOVDMyfDB4MDAwMDA1MTINCj4gPg0KPiA+ICsg ICMgUGNkcyBmb3IgU0FUQQ0KPiA+ICsgIGdOeHBRb3JpcUxzVG9rZW5TcGFjZUd1aWQuUGNkU2F0 YUJhc2VBZGRyfDB4MHxVSU5UNjR8MHgwMDAwMDM1MA0KPiA+ICsgIGdOeHBRb3JpcUxzVG9rZW5T cGFjZUd1aWQuUGNkU2F0YVNpemV8MHgwfFVJTlQzMnwweDAwMDAwMzUxDQo+ID4gKw0KPiA+ICsN Cj4gZ054cFFvcmlxTHNUb2tlblNwYWNlR3VpZC5QY2ROdW1TYXRhQ29udHJvbGxlcnwweDB8VUlO VDMyfDB4MDAwMDAzNTINCj4gPiArDQo+ID4gICBbUGNkc0R5bmFtaWMuY29tbW9uXQ0KPiA+DQo+ IGdOeHBRb3JpcUxzVG9rZW5TcGFjZUd1aWQuUGNkUGNpQ2ZnU2hpZnRFbmFibGV8RkFMU0V8Qk9P TEVBTnwweDAwMDAwNg0KPiAwMA0KPiA+DQo+ID4gZ054cFFvcmlxTHNUb2tlblNwYWNlR3VpZC5Q Y2RQY2lMc0dlbjRDdHJsfEZBTFNFfEJPT0xFQU58MHgwMDAwMDYwMQ0KPiA+IGRpZmYgLS1naXQg YS9TaWxpY29uL05YUC9OeHBRb3JpcUxzLmRzYy5pbmMNCj4gPiBiL1NpbGljb24vTlhQL054cFFv cmlxTHMuZHNjLmluYyBpbmRleCAxZjBmMjcyZGE2YzcuLjM5OWFjNWRlOTE3Ng0KPiA+IDEwMDY0 NA0KPiA+IC0tLSBhL1NpbGljb24vTlhQL054cFFvcmlxTHMuZHNjLmluYw0KPiA+ICsrKyBiL1Np bGljb24vTlhQL054cFFvcmlxTHMuZHNjLmluYw0KPiA+IEBAIC0xMDEsNiArMTAxLDcgQEAgW0xp YnJhcnlDbGFzc2VzLmNvbW1vbl0NCj4gPg0KPiA+ICAgICBQbGF0Zm9ybVBlaUxpYnxBcm1QbGF0 Zm9ybVBrZy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybVBlaUxpYi5pbmYNCj4gPg0KPiA+IE1lbW9yeUlu aXRQZWlMaWJ8U2lsaWNvbi9OWFAvTGlicmFyeS9NZW1vcnlJbml0UGVpTGliL01lbW9yeUluaXRQ ZWlMaWINCj4gPiAuaW5mDQo+ID4gKyAgVWVmaVNjc2lMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaVNj c2lMaWIvVWVmaVNjc2lMaWIuaW5mDQo+ID4NCj4gPiAgIFtMaWJyYXJ5Q2xhc3Nlcy5jb21tb24u U0VDXQ0KPiA+ICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjZExpYk51bGwvQmFzZVBj ZExpYk51bGwuaW5mDQo+ID4gQEAgLTM3OCw2ICszNzksMTUgQEAgW0NvbXBvbmVudHMuY29tbW9u XQ0KPiA+DQo+ID4NCj4gTWRlTW9kdWxlUGtnL0J1cy9QY2kvTm9uRGlzY292ZXJhYmxlUGNpRGV2 aWNlRHhlL05vbkRpc2NvdmVyYWJsZVBjaURldg0KPiA+IGljZUR4ZS5pbmYNCj4gPg0KPiA+ICAg ICAjDQo+ID4gKyAgIyBBSENJIFN1cHBvcnQNCj4gPiArICAjDQo+ID4gKyAgTWRlTW9kdWxlUGtn L0J1cy9BdGEvQXRhQXRhcGlQYXNzVGhydS9BdGFBdGFwaVBhc3NUaHJ1LmluZg0KPiA+ICsgIE1k ZU1vZHVsZVBrZy9CdXMvQXRhL0F0YUJ1c0R4ZS9BdGFCdXNEeGUuaW5mDQo+ID4gKyAgTWRlTW9k dWxlUGtnL0J1cy9TY3NpL1Njc2lCdXNEeGUvU2NzaUJ1c0R4ZS5pbmYNCj4gPiArICBNZGVNb2R1 bGVQa2cvQnVzL1Njc2kvU2NzaURpc2tEeGUvU2NzaURpc2tEeGUuaW5mDQo+ID4gKyAgTWRlTW9k dWxlUGtnL0J1cy9QY2kvU2F0YUNvbnRyb2xsZXJEeGUvU2F0YUNvbnRyb2xsZXJEeGUuaW5mDQo+ ID4gKw0KPiA+ICsgICMNCj4gPiAgICAgIyBCZHMNCj4gPiAgICAgIw0KPiA+ICAgICBNZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0RldmljZVBhdGhEeGUvRGV2aWNlUGF0aER4ZS5pbmYNCj4gPiBkaWZm IC0tZ2l0IGEvU2lsaWNvbi9OWFAvRHJpdmVycy9TYXRhSW5pdER4ZS9TYXRhSW5pdER4ZS5pbmYN Cj4gPiBiL1NpbGljb24vTlhQL0RyaXZlcnMvU2F0YUluaXREeGUvU2F0YUluaXREeGUuaW5mDQo+ ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjA2YjZjMmFj NmZmOQ0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9TaWxpY29uL05YUC9Ecml2ZXJzL1Nh dGFJbml0RHhlL1NhdGFJbml0RHhlLmluZg0KPiA+IEBAIC0wLDAgKzEsNDYgQEANCj4gPiArIyMg QGZpbGUNCj4gPiArIyAgQ29tcG9uZW50IGRlc2NyaXB0aW9uIGZpbGUgZm9yIHRoZSBTYXRhIENv bnRyb2xsZXIgaW5pdGlhbGl6YXRpb24NCj4gPiArZHJpdmVyICMgIyAgQ29weXJpZ2h0IDIwMTcg TlhQICMgIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6DQo+ID4gK0JTRC0yLUNsYXVzZS1QYXRl bnQgIyAjIw0KPiA+ICsNCj4gPiArW0RlZmluZXNdDQo+ID4gKyAgSU5GX1ZFUlNJT04gICAgICAg ICAgICAgICAgICAgID0gMHgwMDAxMDAxQQ0KPiA+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAg ICAgICAgICA9IFNhdGFJbml0DQo+ID4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAg ID0gMDIxNzIyRDgtNTIyQi00MDc5LTg1MkEtRkU0NEMyQzEzRjQ5DQo+IA0KPiBQbGVhc2UgZG9u J3QgcmV1c2UgZmlsZSBHVUlEcyAgYnV0IGdlbmVyYXRlIHlvdXIgb3duLg0KPiANCk1pc3NlZCBp dCwgd2lsbCByZXBsYWNlDQoNCj4gPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAg PSBEWEVfRFJJVkVSDQo+ID4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4w DQo+ID4gKyAgRU5UUllfUE9JTlQgICAgICAgICAgICAgICAgICAgID0gSW5pdGlhbGl6ZVNhdGFD b250cm9sbGVyDQo+ID4gKw0KPiA+ICtbU291cmNlc10NCj4gPiArICBTYXRhSW5pdC5jDQo+ID4g KyAgU2F0YUluaXQuaA0KPiA+ICsNCj4gPiArW1BhY2thZ2VzXQ0KPiA+ICsgIE1kZVBrZy9NZGVQ a2cuZGVjDQo+ID4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gPiArICBTaWxp Y29uL05YUC9OeHBRb3JpcUxzLmRlYw0KPiA+ICsNCj4gPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiA+ ICsgIERlYnVnTGliDQo+ID4gKyAgTm9uRGlzY292ZXJhYmxlRGV2aWNlUmVnaXN0cmF0aW9uTGli DQo+ID4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliDQo+ID4gKyAgVWVmaURyaXZlckVudHJ5 UG9pbnQNCj4gPiArICBVZWZpTGliDQo+ID4gKw0KPiA+ICtbRml4ZWRQY2RdDQo+ID4gKyAgZ054 cFFvcmlxTHNUb2tlblNwYWNlR3VpZC5QY2ROdW1TYXRhQ29udHJvbGxlcg0KPiA+ICsgIGdOeHBR b3JpcUxzVG9rZW5TcGFjZUd1aWQuUGNkU2F0YUJhc2VBZGRyDQo+ID4gKyAgZ054cFFvcmlxTHNU b2tlblNwYWNlR3VpZC5QY2RTYXRhU2l6ZQ0KPiA+ICsNCj4gPiArW0ZlYXR1cmVQY2RdDQo+ID4g KyAgZ054cFFvcmlxTHNUb2tlblNwYWNlR3VpZC5QY2RTYXRhRXJyYXR1bUEwMDkxODUNCj4gPiAr DQo+ID4gK1tHdWlkc10NCj4gPiArICBnRWZpRW5kT2ZEeGVFdmVudEdyb3VwR3VpZA0KPiA+ICsN Cj4gPiArW0RlcGV4XQ0KPiA+ICsgIFRSVUUNCj4gPiBkaWZmIC0tZ2l0IGEvU2lsaWNvbi9OWFAv RHJpdmVycy9TYXRhSW5pdER4ZS9TYXRhSW5pdC5oDQo+ID4gYi9TaWxpY29uL05YUC9Ecml2ZXJz L1NhdGFJbml0RHhlL1NhdGFJbml0LmgNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uZWRhZjBiZGRhNzJjDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsr KyBiL1NpbGljb24vTlhQL0RyaXZlcnMvU2F0YUluaXREeGUvU2F0YUluaXQuaA0KPiA+IEBAIC0w LDAgKzEsMjcgQEANCj4gPiArLyoqIEBmaWxlDQo+ID4gKyAgSGVhZGVyIGZpbGUgZm9yIFNhdGEg Q29udHJvbGxlciBpbml0aWFsaXphdGlvbiBkcml2ZXIuDQo+ID4gKw0KPiA+ICsgIENvcHlyaWdo dCAyMDE3LTIwMTgsIDIwMjAgTlhQDQo+ID4gKw0KPiA+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gKw0KPiA+ICsgKiovDQo+ID4gKw0KPiA+ICsj aWZuZGVmIFNBVEFfSU5JVF9IXw0KPiA+ICsjZGVmaW5lIFNBVEFfSU5JVF9IXw0KPiA+ICsNCj4g PiArLy8NCj4gPiArLy8gT2Zmc2V0IGZvciBBSENJIGJhc2UgYWRkcmVzcyBpbiBQQ0kgSGVhZGVy IC8vICNkZWZpbmUNCj4gPiArUENJX0FIQ0lfQkFTRV9BRERSRVNTICAweDI0DQo+IA0KPiBXaGVy ZSBpcyB0aGlzIHVzZWQ/DQpNaXNzZWQgZHVyaW5nIGNsZWFudXAsIHdpbGwgZGVsZXRlDQo+IA0K PiA+ICsNCj4gPiArI2RlZmluZSBTQVRBX1BQQ0ZHICAgICAgICAgICAgIDB4QTgNCj4gPiArI2Rl ZmluZSBTQVRBX1BUQyAgICAgICAgICAgICAgIDB4QzgNCj4gPiArI2RlZmluZSBTQVRBX1BBWElD ICAgICAgICAgICAgIDB4QzANCj4gPiArDQo+ID4gKyNkZWZpbmUgUE9SVF9QSFlTSUNBTCAgICAg ICAgICAweEEwMDNGRkZFDQo+ID4gKyNkZWZpbmUgUE9SVF9UUkFOU1BPUlQgICAgICAgICAweDA4 MDAwMDI1DQo+ID4gKyNkZWZpbmUgUE9SVF9SWFdNICAgICAgICAgICAgICAweDA4MDAwMDI5DQo+ ID4gKyNkZWZpbmUgRU5BQkxFX05PTlpFUk9fNE1CX1BSRCAweDEwMDAwMDAwDQo+ID4gKw0KPiAN Cj4gRG8gdGhlc2UgcmVhbGx5IG5lZWQgYSBzZXBhcmF0ZSBsb2NhbCBoZWFkZXI/DQpIbW0sIHdl IGNhbiBrZWVwIGluICIuYyIgZmlsZQ0KPiANCj4gPiArI2VuZGlmDQo+ID4gZGlmZiAtLWdpdCBh L1NpbGljb24vTlhQL0RyaXZlcnMvU2F0YUluaXREeGUvU2F0YUluaXQuYw0KPiA+IGIvU2lsaWNv bi9OWFAvRHJpdmVycy9TYXRhSW5pdER4ZS9TYXRhSW5pdC5jDQo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLmM2NzhiNjM2NTJlNw0KPiA+IC0tLSAvZGV2 L251bGwNCj4gPiArKysgYi9TaWxpY29uL05YUC9Ecml2ZXJzL1NhdGFJbml0RHhlL1NhdGFJbml0 LmMNCj4gPiBAQCAtMCwwICsxLDExNiBAQA0KPiA+ICsvKiogQGZpbGUNCj4gPiArICBUaGlzIGRy aXZlciBtb2R1bGUgYWRkcyBTQVRBIGNvbnRyb2xsZXIgc3VwcG9ydC4NCj4gPiArDQo+ID4gKyAg Q29weXJpZ2h0IDIwMTctMjAxOCwgMjAyMCBOWFANCj4gPiArDQo+ID4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiArDQo+ID4gKyAqKi8NCj4gPiAr DQo+IA0KPiBObyBuZWVkIHRvICNpbmNsdWRlIDxQaUR4ZS5oPiBoZXJlPw0KSSBhbSBub3Qgc2Vl aW5nICBhbnkgZXJyb3Igd2l0aG91dCB0aGlzDQo+IA0KPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9E ZWJ1Z0xpYi5oPg0KPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5oPg0KPiA+ICsjaW5jbHVk ZSA8TGlicmFyeS9Ob25EaXNjb3ZlcmFibGVEZXZpY2VSZWdpc3RyYXRpb25MaWIuaD4NCj4gPiAr I2luY2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ID4gKw0KPiA+ ICsjaW5jbHVkZSAiU2F0YUluaXQuaCINCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIFRoaXMgZnVu Y3Rpb24gZ2V0cyByZWdpc3RlcmVkIGFzIGEgY2FsbGJhY2sgdG8gcGVyZm9ybSBVU0INCj4gPiAr Y29udHJvbGxlciBpbnRpYWxpemF0aW9uDQo+ID4gKw0KPiA+ICsgIEBwYXJhbSAgRXZlbnQgICAg ICAgICBFdmVudCB3aG9zZSBub3RpZmljYXRpb24gZnVuY3Rpb24gaXMgYmVpbmcgaW52b2tlZC4N Cj4gPiArICBAcGFyYW0gIENvbnRleHQgICAgICAgUG9pbnRlciB0byB0aGUgbm90aWZpY2F0aW9u IGZ1bmN0aW9uJ3MgY29udGV4dC4NCj4gPiArDQo+ID4gKyoqLw0KPiANCj4gU1RBVElDDQpvaw0K PiANCj4gPiArVk9JRA0KPiA+ICtFRklBUEkNCj4gPiArU2F0YUVuZE9mRHhlQ2FsbGJhY2sgKA0K PiA+ICsgIElOIEVGSV9FVkVOVCAgRXZlbnQsDQo+ID4gKyAgSU4gVk9JRCAgICAgICAqQ29udGV4 dA0KPiA+ICsgICkNCj4gPiArew0KPiA+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICBTdGF0 dXM7DQo+ID4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgIE51bVNhdGFDb250cm9sbGVyOw0K PiA+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICBJbmRleDsNCj4gPiArICBVSU5UMzIgICAg ICAgICAgICAgICAgICAgRGF0YTsNCj4gPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgQ29u dHJvbGxlckFkZHI7DQo+ID4gKw0KPiA+ICsgIE51bVNhdGFDb250cm9sbGVyID0gUGNkR2V0MzIg KFBjZE51bVNhdGFDb250cm9sbGVyKTsNCj4gPiArDQo+ID4gKyAgZm9yIChJbmRleCA9IDA7IElu ZGV4IDwgTnVtU2F0YUNvbnRyb2xsZXI7IEluZGV4KyspIHsNCj4gPiArICAgIENvbnRyb2xsZXJB ZGRyID0gUGNkR2V0NjQgKFBjZFNhdGFCYXNlQWRkcikgKw0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAoSW5kZXggKiBQY2RHZXQzMiAoUGNkU2F0YVNpemUpKTsNCj4gPiArDQo+ID4gKyAgICAv Lw0KPiA+ICsgICAgLy8gY29uZmlndXJpbmcgUGh5c2ljYWwgQ29udHJvbCBMYXllciBwYXJhbWV0 ZXJzIGZvciBQb3J0IDANCj4gPiArICAgIC8vDQo+ID4gKyAgICBNbWlvV3JpdGUzMiAoKFVJTlRO KShDb250cm9sbGVyQWRkciArIFNBVEFfUFBDRkcpLA0KPiA+ICsgUE9SVF9QSFlTSUNBTCk7DQo+ ID4gKw0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIFRoaXMgcmVnaXN0ZXIgY29udHJvbHMgdGhl IGNvbmZpZ3VyYXRpb24gb2YgdGhlDQo+ID4gKyAgICAvLyBUcmFuc3BvcnQgTGF5ZXIgZm9yICBQ b3J0IDANCj4gPiArICAgIC8vIEVycmF0YSBEZXNjcmlwdGlvbiA6IFRoZSBkZWZhdWx0IFJ4IHdh dGVybWFyayB2YWx1ZSBtYXkgYmUgaW5zdWZmaWNpZW50DQo+ID4gKyAgICAvLyBmb3Igc29tZSBo YXJkIGRyaXZlcyBhbmQgcmVzdWx0IGluIGEgZmFsc2UgQ1JDIG9yIGludGVybmFsIGVycm9ycy4N Cj4gPiArICAgIC8vIFdvcmthcm91bmQ6IENoYW5nZSBQVENbUlhXTV0gZmllbGQgYXQgb2Zmc2V0 IDB4QzggdG8gMHgyOS4gRG8gbm90DQo+IGNoYW5nZQ0KPiA+ICsgICAgLy8gdGhlIG90aGVyIHJl c2VydmVkIGZpZWxkcyBvZiB0aGUgcmVnaXN0ZXIuDQo+ID4gKyAgICAvLw0KPiA+ICsNCj4gPiAr ICAgIERhdGEgPSBNbWlvUmVhZDMyICgoVUlOVE4pKENvbnRyb2xsZXJBZGRyICsgU0FUQV9QVEMp KTsNCj4gPiArICAgIGlmIChQY2RHZXRCb29sIChQY2RTYXRhRXJyYXR1bUEwMDkxODUpKSB7DQo+ ID4gKyAgICAgIERhdGEgfD0gUE9SVF9SWFdNOw0KPiA+ICsgICAgfSBlbHNlIHsNCj4gPiArICAg ICAgRGF0YSB8PSBQT1JUX1RSQU5TUE9SVDsNCj4gPiArICAgIH0NCj4gPiArICAgIE1taW9Xcml0 ZTMyICgoVUlOVE4pKENvbnRyb2xsZXJBZGRyICsgU0FUQV9QVEMpLCBEYXRhKTsNCj4gPiArDQo+ ID4gKyAgICAvLw0KPiA+ICsgICAgLy8gRW5hYmxlIE5vbi1aZXJvIDQgTUIgUFJEIGVudHJpZXMu DQo+ID4gKyAgICAvLw0KPiA+ICsgICAgTW1pb09yMzIgKChVSU5UTikoQ29udHJvbGxlckFkZHIg KyBTQVRBX1BBWElDKSwNCj4gPiArIEVOQUJMRV9OT05aRVJPXzRNQl9QUkQpOw0KPiA+ICsNCj4g PiArICAgIFN0YXR1cyA9IFJlZ2lzdGVyTm9uRGlzY292ZXJhYmxlTW1pb0RldmljZSAoDQo+ID4g KyAgICAgICAgICAgICAgIE5vbkRpc2NvdmVyYWJsZURldmljZVR5cGVBaGNpLA0KPiA+ICsgICAg ICAgICAgICAgICBOb25EaXNjb3ZlcmFibGVEZXZpY2VEbWFUeXBlTm9uQ29oZXJlbnQsDQo+ID4g KyAgICAgICAgICAgICAgIE5VTEwsDQo+ID4gKyAgICAgICAgICAgICAgIE5VTEwsDQo+ID4gKyAg ICAgICAgICAgICAgIDEsDQo+ID4gKyAgICAgICAgICAgICAgIENvbnRyb2xsZXJBZGRyLCBQY2RH ZXQzMiAoUGNkU2F0YVNpemUpDQo+ID4gKyAgICAgICAgICAgICAgICk7DQo+ID4gKw0KPiA+ICsg ICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ICsgICAgICBERUJVRyAoKERFQlVHX0VS Uk9SLCAiRmFpbGVkIHRvIHJlZ2lzdGVyIFNBVEEgZGV2aWNlIDB4JXgsIGVycm9yIDB4JXINCj4g XG4iLA0KPiA+ICsgICAgICAgIENvbnRyb2xsZXJBZGRyLCBTdGF0dXMpKTsNCj4gPiArICAgIH0N Cj4gPiArICB9DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIFRoZSBFbnRyeSBQb2lu dCBvZiBtb2R1bGUuIEl0IGZvbGxvd3MgdGhlIHN0YW5kYXJkIFVFRkkgZHJpdmVyIG1vZGVsLg0K PiA+ICsNCj4gPiArICBAcGFyYW1baW5dIEltYWdlSGFuZGxlICAgICAgIFRoZSBmaXJtd2FyZSBh bGxvY2F0ZWQgaGFuZGxlIGZvciB0aGUgRUZJDQo+IGltYWdlLg0KPiA+ICsgIEBwYXJhbVtpbl0g U3lzdGVtVGFibGUgICAgICAgQSBwb2ludGVyIHRvIHRoZSBFRkkgU3lzdGVtIFRhYmxlLg0KPiA+ ICsNCj4gPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgIFRoZSBlbnRyeSBwb2ludCBp cyBleGVjdXRlZCBzdWNjZXNzZnVsbHkuDQo+ID4gKyAgQHJldHZhbCBPdGhlciAgICAgICAgICAg ICAgICBTb21lIGVycm9yIG9jY3VycyB3aGVuIGV4ZWN1dGluZyB0aGlzIGVudHJ5IHBvaW50DQo+ ID4gKw0KPiA+ICsqKi8NCj4gPiArRUZJX1NUQVRVUw0KPiA+ICtFRklBUEkNCj4gPiArSW5pdGlh bGl6ZVNhdGFDb250cm9sbGVyICgNCj4gPiArICBJTiBFRklfSEFORExFICAgICAgICAgICAgSW1h Z2VIYW5kbGUsDQo+ID4gKyAgSU4gRUZJX1NZU1RFTV9UQUJMRSAgICAgICpTeXN0ZW1UYWJsZQ0K PiA+ICsgICkNCj4gPiArew0KPiA+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICBTdGF0dXM7 DQo+ID4gKyAgRUZJX0VWRU5UICAgICAgICAgICAgICAgIEVuZE9mRHhlRXZlbnQ7DQo+ID4gKw0K PiA+ICsgIFN0YXR1cyA9IGdCUy0+Q3JlYXRlRXZlbnRFeCAoDQo+ID4gKyAgICAgICAgICAgICAg ICAgIEVWVF9OT1RJRllfU0lHTkFMLA0KPiA+ICsgICAgICAgICAgICAgICAgICBUUExfQ0FMTEJB Q0ssDQo+ID4gKyAgICAgICAgICAgICAgICAgIFNhdGFFbmRPZkR4ZUNhbGxiYWNrLA0KPiA+ICsg ICAgICAgICAgICAgICAgICBOVUxMLA0KPiA+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUVuZE9m RHhlRXZlbnRHcm91cEd1aWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICZFbmRPZkR4ZUV2ZW50 DQo+ID4gKyAgICAgICAgICAgICAgICAgICk7DQo+ID4gKw0KPiA+ICsgIHJldHVybiBTdGF0dXM7 DQo+ID4gK30NCj4gPg0KDQo=