From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web10.6408.1676063823191422937 for ; Fri, 10 Feb 2023 13:17:03 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=W6ZTEhMK; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676063823; x=1707599823; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=oWMZywQxqAYmxkOTyeJTcxFGrow0YY++IoVwLaws44Y=; b=W6ZTEhMKee65wB+UfxM/8CtspaGM8/JgRgQVeYDY5XFSbi6X1CSKEnNC /KWovZavHfwRJnnk2g9YFcON+PJV0HhKac/jZFg7g1Ak3FpfKlB6zUzGz pdGI++ZN3A6OJrLdS392Ucd8LOguX6+TusKDZTiVB+u70ozio9065oga6 6bs3UzLygYFf5i/PeENpP4EOQkVQ1lgZntJMZc4DK3+mjXsNcDZ/aPsJh BA1XWAzbHG9SEJwWLEqvgZhfvhC9BbZP20Sr2WCEPgPrfoNPDIeMflq24 ygIon8W4vtPFljyZtVm4WdFeOFvkgYurfSmwgpVqSmk7y7oeguFLqtu13 w==; X-IronPort-AV: E=McAfee;i="6500,9779,10617"; a="357928331" X-IronPort-AV: E=Sophos;i="5.97,287,1669104000"; d="scan'208";a="357928331" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2023 13:17:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10617"; a="756918950" X-IronPort-AV: E=Sophos;i="5.97,287,1669104000"; d="scan'208";a="756918950" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by FMSMGA003.fm.intel.com with ESMTP; 10 Feb 2023 13:17:02 -0800 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Fri, 10 Feb 2023 13:17:02 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Fri, 10 Feb 2023 13:17:02 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Fri, 10 Feb 2023 13:17:02 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kkpiKAneKyhs0dVrEC3kDaGeLeD1F1tFVOz/SjlhpFvZUtOlRKWWHrw1FFx+n+7hBjZrpP1o9Mt1HDpIpLKH8nJSVD1BdjqXy/u2SIO5UQwSXkWVW4kOp7bgu8iNqUPQKyswjMUYuhVr9HXCbjduUvI6jfQiJnjuN2Rct+ONzPTj4geg9XWEM+oAf9/sDxjCXek80bfFaICfaKdKVabuyRt/zE92E4OXB1KlYcwevMfdPFxF8SXEthMjAe8UzhjErwpxdNkqJMDHnWDj6vHrGb7Kj9ADxe0IAAxbXxWUBY1xDb32Y3uDLcdZFvWXC34iESA3PtF/0pQsfblswqDNQw== 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=oWMZywQxqAYmxkOTyeJTcxFGrow0YY++IoVwLaws44Y=; b=cS3MZFgGLgqc4QwG3DTqCqZ8zW3RUX8clno3B3gYwTs7HCjSJoOfaF13/szurlw8LAW28RH6yWlBjvJmx1VkSThmw4zXelYYHKn+sC2i1vPHnjHn3WmsZuwJOYdUNjxz0qLdALcN1mVMZHjMYic5Gx+v9LSBPLn0RgMo5o6aUglhmwA/8Dhng+jrLcl+afJfuvX434AVsE3p9/8WtXLplB6Nbkz3vJLd9+EFdUFHaty52ApDBU8S1betyCQHK3zAPw/7xZg9qHhWAqxvV9s2bcE7PQCTucjP+RTOH8mkPwg0ny1k0cE2jh4/g+Z+bwI0Hs8cWos8pUvMcIk96obdqA== 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 Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by CY8PR11MB7107.namprd11.prod.outlook.com (2603:10b6:930:51::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.19; Fri, 10 Feb 2023 21:17:00 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::c4d0:989a:e319:fe68]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::c4d0:989a:e319:fe68%6]) with mapi id 15.20.6086.021; Fri, 10 Feb 2023 21:17:00 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "jbrasen@nvidia.com" , "Demeter, Miki" CC: "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH v2] MdeModulePkg/EsrtFmpDxe: Support multiple devices with 0 HardwareInstance Thread-Topic: [edk2-devel] [PATCH v2] MdeModulePkg/EsrtFmpDxe: Support multiple devices with 0 HardwareInstance Thread-Index: AQHZPNI9XDWuAdgB7UmVem2cryIULq7Hhj7wgADeEgCAADLksIAAD8EAgAAJS7A= Date: Fri, 10 Feb 2023 21:17:00 +0000 Message-ID: References: <3c3226e6c05a868f3f88d300181a157998c2786e.1670873141.git.jbrasen@nvidia.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|CY8PR11MB7107:EE_ x-ms-office365-filtering-correlation-id: 410a7016-8a0f-4701-68fb-08db0bac25e6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zZfx33M7wpWiCWZ4D6w4VzWya3CP7Az6HvcTgNpKLhKj+BCuK+X0xSBq72x9ipTrHLDowar+zU5vGXCfHJq8FgtY/EwlssDglH0Andl/bNiB5ShEXYEaWnkSVbg8pYwAYuq1PGUBsd8m9HC2029koRsC96wlj8k7WC/cCbE2XJoiob2amWYmixVZ2K2uPA42eutkXmYivGJywWeYd1kLOSVXrBjofYYHDvVZtzeIdOESkc6fAPlp8c2/4nOS4Cd/uo8+9Mf39tkcHbWNM++RNssT8M92z2VwC3/ASurSEmpcahu67nOzsmMo1hGPneUFQyGyWxs5//wMpmHmJbFV2t9vUfQotAywXAQhfa3zsQsbX63BzTpnFEiyLWqJmiu62Sq2sAKxj7C4eoz+qwug1z+z00YHE+YfEAWURULHM4BskTxCRgW/F8FbePYAX/tIuXMYrR6vj9HuK1651oz7QDXJzi3xw4ho0ICf1s/09R3TiXl7fC2yKPON+ukT/FwnNDqds2swl2aNCc4Ioyv8RHiMhSI83cQXSz/mlKMk/7rrSKchTA5MV+jdQqx0xLXNS5ifqXj2oUp5/gw1+CM8T6qIbmDjPF26fYg/0wusq/Aa6xRAq89ppNsdBzK7GLdzFd3PxUVFQHHY/+nam/JRmX/mhlhh35cX7q2o7uvaTo6gdu7T+hMbUwtUPXOFvfFsHicDQW4+RbCnlJuiQRoig/KIYxb2dOcJDzRcrN3yjGgvozpxBQPjx5fMookmAxdkeK8qI/pz85euCZUrdtFJGg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(366004)(136003)(39860400002)(376002)(451199018)(83380400001)(71200400001)(478600001)(53546011)(966005)(7696005)(107886003)(186003)(6506007)(9686003)(86362001)(33656002)(38070700005)(82960400001)(38100700002)(122000001)(26005)(66446008)(66556008)(55016003)(66946007)(76116006)(4326008)(8676002)(52536014)(41300700001)(66476007)(5660300002)(316002)(8936002)(110136005)(6636002)(64756008)(2906002)(66899018);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZXZ2QS80Y2VnNHczODZnVVk1QWlzVE9uYXQxNmo3VlFacFpXT0tKMkVxeDRt?= =?utf-8?B?cGhwSmVTZFU5WWdzSmtITk9Ec2ZBSUFqSlJmek9weFQxaVhwcGpqQkUyK2Ux?= =?utf-8?B?c0s4OTdYQ3ZhMy9RdzBiakJjRzJRYk1za2ErZHhVVTdvVmUyQ2NyeDIyandr?= =?utf-8?B?NmxJR2NjeHdUZ1A3R1pOVGc0Rm1jUmRiSGdnK0E2bUtSaXBCYlREczhuQzhm?= =?utf-8?B?Tm1KZmsrci9OMHpMNVVLQWFMWm5MajEyYlRlSDBycjNsVVhMSUM5a3oxMldX?= =?utf-8?B?TXJld1F0Ni9sYVNRTDIwc2RKTkdFSk9aK3JmUk5yWGo0ek5vNnUxSkpsa0tk?= =?utf-8?B?bHZMRVRybVU5RmNYR29FNlR1WllzeUd1ek51RUhjZ2ZNUjZ4SGdMbXZ5U0Iv?= =?utf-8?B?bUxPNFhsaDlXT29kcnlJbVN4SHpMNnZEN3RNejRCeDBGV3hMeU8xQWgyN2tM?= =?utf-8?B?b0hPU2tuQ1ZBdVdWZ0lzY0dtTzRLclB5Yk9JaG0yUDdzU0pPcmZmVm1IcmpC?= =?utf-8?B?TUFuWExVcGZoc1A2cFBqbEliTXp0eDczMlhBTGxlQWJtYzlWQk1NK29waVYv?= =?utf-8?B?MUVCdWRHTmpFQkd2QU5JV09vQ2NnSFArdnptaUM4MUEweHFna1VBK1J2Qm9I?= =?utf-8?B?V09DaHhreEk5aDMxN2JpRENFbncyOW8rMnptTjlIQjJyekMwdUpIUHc1R1JT?= =?utf-8?B?aXZ3cWNJZWpiVW1rRXAwTFZaTXQyY0dIWDJtREtKMHR4bnZKeFNFczB2eDhW?= =?utf-8?B?TFVNSkNMZTdyVjhXYlFacEdnRTdiU2lUMTdqTjlyWXh6dVF5M0taWVZIMmxX?= =?utf-8?B?WXZLUXVucjBwS1ZKMzZwZFV2WXpQaFlsQ205RVQ2MnVCbjJIdWhJRXkzeGcx?= =?utf-8?B?MzhiNHJ5ZXhRUzdETVpTU3hHMCtSYUR4c1kwVHVmWHJKV1IrZzFJQWljVjAr?= =?utf-8?B?RFhQT0k1QmtpclhwdnhYSXdSTGluQXA2d090amNEbXkxckZmVllKYk0vaEN4?= =?utf-8?B?QlA3L2pqRUFyNHFuVzAvU1VZOE9YUkdFTkMyR1Q1MUticmQ4cTlqRTJ6N0hS?= =?utf-8?B?WGVzbitEeExkUU51V3duZkZHbWlZcmVXVytOTERwYkh1ZkNSbWFlWWtHUzlW?= =?utf-8?B?ekRROW90dnFFMEg0dnZHRGcwTk53cVo4WWdBaW9reHhWT3pzOHRHeHN6MnVQ?= =?utf-8?B?eEgrU24vMXByNkkzbEowYUxEQjJqcGxvbVZrV3c0cWpVNDdhb1FtWDdhUXlP?= =?utf-8?B?R2MrUjltZnVJVGsvWjFBSTZYK3ZFeFJ1QXdDZENucmNlT3hLYVBBQXdLU2FE?= =?utf-8?B?c1phNzdlTE95bVYyeEhJb0NyMHR4c0o1eFMyY1hoMTE0RVBMbGVrMnBQaEpZ?= =?utf-8?B?VzBsUUQ0NlFmY01MUHhCY3dqSjNyVy9XcmpVSWI5UzFNKyt3V2VQUG9UcnRx?= =?utf-8?B?Znd3WU5hd09JNkJHZWZCOEFIekJDL1E4MUhxNG1MbHBzcG43ak9ObkdDYmZ6?= =?utf-8?B?U0kyeVBKUlBHZlFIemVsN0pVdmMzcFBtR1YyYlRENEZ3VW14NmM5WW1DR09E?= =?utf-8?B?bldKcGxvY1AwVGh0VEdiNTM0cnpNUGtNSXpsSVAwazFmZi9oYnpMR0I4Zmh6?= =?utf-8?B?NzJKdWxTKzl3RjduZU5qZTFSVXFIbnQ1cFFCS0s3REtoK1h4S3VYc2ZTdHFx?= =?utf-8?B?MS8rU29qVkdtTytKcEFXeTVTSUJMalBqU1FhR1hqRWZCQlFia3pxYUd4TU0y?= =?utf-8?B?QmE5MThEWDBqNlhLRnVuazJzZnpNU3V0dGVzKzdxREQwWnN6MTB0cjJmZys3?= =?utf-8?B?dmhrYWhnZTBnQ0cvdGM3RStzRUx3UDdYTXJ5UVpSS0lFM0RsY2RrUDF6cktK?= =?utf-8?B?M1FyRHJxSitrQUs0djdTRjc1K09KU3Z4RkRDQ2J6SHpqUE5DMk9EdjhHOFNt?= =?utf-8?B?MGhXQjl2NDljL2pWTEcya2IzSEp4YXBIVmFCU0QrbWlvYi9ZS215bjhjdmt6?= =?utf-8?B?TGtaOGdRRkoyQTRpYWNHdzg0SGJLMTVsbnJJOFJjdzVXRmw2aE43eDFwTTVN?= =?utf-8?B?TDFnV2JkNTdnQkhBd28zUTk3TmREOHQ2Y2tibS9YOVUxdGhBUVBjeXdyQVFV?= =?utf-8?B?MExobXdCNU16NEM5NHpaL2R6bmFPbXh1MHJKbzltYzM4eGtkYXBSaDZoWmFl?= =?utf-8?B?V3c9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 410a7016-8a0f-4701-68fb-08db0bac25e6 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Feb 2023 21:17:00.0569 (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: 5O9IAqY+R60E4ah28qausUS9MdBDVJKjh7YLelQIKYRfn8kx5jDYFcnLo5Sg5GhHmFbAHOcxgadi3boXiBZH4teIpm4V8WfWlBjt6x4XeV8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7107 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QmFzZWQgb24gVUVGSSBTcGVjLCB3b3VsZCB5b3UgY29uc2lkZXIgdGhvc2Ugb3B0aW9uIHJvbXMg dG8gYmUgbm9uLWNvbmZvcm1hbnQ/DQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ IE9uIEJlaGFsZiBPZiBKZWZmIEJyYXNlbiB2aWEgZ3JvdXBzLmlvDQo+IFNlbnQ6IEZyaWRheSwg RmVicnVhcnkgMTAsIDIwMjMgMTI6NDMgUE0NCj4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBEZW1ldGVyLCBN aWtpIDxtaWtpLmRlbWV0ZXJAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxd IFtQQVRDSCB2Ml0gTWRlTW9kdWxlUGtnL0VzcnRGbXBEeGU6IFN1cHBvcnQgbXVsdGlwbGUgZGV2 aWNlcyB3aXRoIDAgSGFyZHdhcmVJbnN0YW5jZQ0KPiANCj4gSXQgd2FzIG5vdCBhcyB3ZSB3ZXJl IHNlZWluZyBkZXZpY2VzIGV4cG9zZSBGTVAgdmlhIGFuIG9wdGlvbiByb20gZHJpdmVyIHdpdGgg VmVyc2lvbiA9PSAzIGFuZCBIYXJkd2FyZUluc3RhbmNlID0gMC4gSWYgdGhlcmUNCj4gYXJlIG11 bHRpcGxlIG9mIHRoZXNlIGRldmljZSBpdCB3b3VsZCBoaXQgdGhlIGVycm9yIGluIHRoZSBFc3J0 Q29kZS4gVGhlIHBhdGNoIGluY2x1ZGVkIGRvZXMgcmVzb2x2ZSB0aGUgaXNzdWVzIHdlIHdlcmUg c2VlaW5nLg0KPiANCj4gLUplZmYNCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+ID4gRnJvbTogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPg0KPiA+IFNlbnQ6IEZyaWRheSwgRmVicnVhcnkgMTAsIDIwMjMgMTI6NDggUE0NCj4gPiBU bzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEplZmYgQnJhc2VuIDxqYnJhc2VuQG52aWRpYS5jb20+ OyBEZW1ldGVyLA0KPiA+IE1pa2kgPG1pa2kuZGVtZXRlckBpbnRlbC5jb20+DQo+ID4gQ2M6IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0 OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCB2Ml0gTWRlTW9kdWxlUGtnL0VzcnRGbXBEeGU6IFN1 cHBvcnQNCj4gPiBtdWx0aXBsZSBkZXZpY2VzIHdpdGggMCBIYXJkd2FyZUluc3RhbmNlDQo+ID4N Cj4gPiBFeHRlcm5hbCBlbWFpbDogVXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2ht ZW50cw0KPiA+DQo+ID4NCj4gPiBEaWQgeW91ciBvcmlnaW5hbCBhcHByb2FjaCB3b3JrIGZvciBh bGwgeW91ciB1c2UgY2FzZXM/DQo+ID4NCj4gPiBNaWtlDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxA ZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBKZWZmDQo+ID4gPiBCcmFzZW4gdmlhIGdyb3Vw cy5pbw0KPiA+ID4gU2VudDogRnJpZGF5LCBGZWJydWFyeSAxMCwgMjAyMyA4OjQ1IEFNDQo+ID4g PiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4g PiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBEZW1ldGVyLCBNaWtpIDxtaWtpLmRlbWV0ZXJAaW50 ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjJdIE1kZU1v ZHVsZVBrZy9Fc3J0Rm1wRHhlOg0KPiA+IFN1cHBvcnQNCj4gPiA+IG11bHRpcGxlIGRldmljZXMg d2l0aCAwIEhhcmR3YXJlSW5zdGFuY2UNCj4gPiA+DQo+ID4gPiBUaGF0IHdhcyBteSBvcmlnaW5h bCBhcHByb2FjaCB3aGVuIEkgc2F3IHRoaXMgYnV0IEkgd2FzIHNlZWluZyB0aGlzDQo+ID4gPiBv Y2N1ciBvbiBhIGRldmljZSB3aXRoIEZtcFZlcnNpb24gPT0gMy4gVGhlIFVFRkkgc3BlYyBpc24n dCBjb21wbGV0ZWx5DQo+ID4gY2xlYXIgYnV0IGNvdWxkIGJlIHJlYWQgdGhhdCAwIGlzIGxlZ2Fs IGlmIHRoaXMgcGFydCBpc24ndCBiZWluZyB1c2VkLg0KPiA+ID4NCj4gPiA+DQo+ID4gaHR0cHM6 Ly91ZWZpLm9yZy9zcGVjcy9VRUZJLzIuMTAvMjNfRmlybXdhcmVfVXBkYXRlX2FuZF9SZXBvcnRp bmcuaHRtDQo+ID4gbA0KPiA+ID4gI2VmaS1maXJtd2FyZS1tYW5hZ2VtZW50LXByb3RvY29sLWdl dGltYWdlaW5mbw0KPiA+ID4NCj4gPiA+IEl0IGRvZXMgc3RhdGUgdGhhdCB0aGlzIGlzIE9wdGlv bmFsLCBhbmQgaGFzIGEgc3RhdGVtZW50ICJBIHplcm8gbWVhbnMNCj4gPiA+IHRoZSBGTVAgcHJv dmlkZXIgaXMgbm90IGFibGUgdG8gZGV0ZXJtaW5lIGEgdW5pcXVlIGhhcmR3YXJlIGluc3RhbmNl DQo+ID4gbnVtYmVyIG9yIGEgaGFyZHdhcmUgaW5zdGFuY2UgbnVtYmVyIGlzIG5vdCBuZWVkZWQu Ig0KPiA+ID4NCj4gPiA+IEFsc28sIG91ciBFU1JUIGltcGxlbWVudGF0aW9uIGp1c3QgbWVyZ2Vz IGFsbCBpbnN0YW5jZXMgdG8gb25lIGFueXdheXMNCj4gPiA+IHNvIGl0IGRvZXNuJ3QgY3VycmVu dGx5IGNvbnN1bWUgdGhlIGhhcmR3YXJlIGluc3RhbmNlIGV4Y2VwdCBmb3IgdGhpcw0KPiA+IGNo ZWNrLg0KPiA+ID4NCj4gPiA+IFRoYW5rcywNCj4gPiA+IEplZmYNCj4gPiA+DQo+ID4gPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IEtpbm5leSwgTWljaGFlbCBE IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gU2VudDogVGh1cnNkYXksIEZl YnJ1YXJ5IDksIDIwMjMgODo0MyBQTQ0KPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87 IEplZmYgQnJhc2VuIDxqYnJhc2VuQG52aWRpYS5jb20+OyBEZW1ldGVyLA0KPiA+ID4gPiBNaWtp IDxtaWtpLmRlbWV0ZXJAaW50ZWwuY29tPg0KPiA+ID4gPiBDYzogS2lubmV5LCBNaWNoYWVsIEQg PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiBTdWJqZWN0OiBSRTogW1BBVENI IHYyXSBNZGVNb2R1bGVQa2cvRXNydEZtcER4ZTogU3VwcG9ydCBtdWx0aXBsZQ0KPiA+ID4gPiBk ZXZpY2VzIHdpdGggMCBIYXJkd2FyZUluc3RhbmNlDQo+ID4gPiA+DQo+ID4gPiA+IEV4dGVybmFs IGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtzIG9yIGF0dGFjaG1lbnRzDQo+ID4gPiA+ DQo+ID4gPiA+DQo+ID4gPiA+IEhpIEplZmYsDQo+ID4gPiA+DQo+ID4gPiA+IFRoYW5rIHlvdSBm b3IgdGhlIHJlbWluZGVyLg0KPiA+ID4gPg0KPiA+ID4gPiBJIGFtIHdvbmRlcmluZyBpZiB0aGUg Y2hlY2sgc2hvdWxkIGJlIGZvciBGbXBWZXJzaW9uIDwgMyBhbmQgbm90DQo+ID4gPiA+IEZtcEhh cmR3YXJlSW5zdGFuY2UgIT0gMC4NCj4gPiA+ID4NCj4gPiA+ID4gSXQgaXMgcG9zc2libGUgZm9y IGFuIEZtcEluZm9CdWZmZXIgdG8gaGF2ZSBhbiBGbXBWZXJzaW9uID49IDMgYW5kIGENCj4gPiA+ ID4gSGFyZHdhcmVJbnN0YW5jZSBvZiAwLiAgSWYgbW9yZSB0aGFuIG9uZSBvZiB0aGVzZSBpdCBm b3VuZCwgdGhlbg0KPiA+ID4gPiB0aGF0IHdvdWxkIGJlIGFuIEVGSV9VTlNVUFBPUlRFRCBjb25k aXRpb24uDQo+ID4gPiA+DQo+ID4gPiA+IElmIEZtcFZlcnNpb24gPj0gMywgdGhlbiB0aGUgSGFy ZHdhcmVJbnN0YW5jZSBtdXN0IGJlIGZpbGxlZCBpbiB3aXRoDQo+ID4gPiA+IGEgdW5pcXVlIHZh bHVlLiAgMCBjYW4gYmUgdXNlZCBpZiB0aGVyZSBpcyBhdCBtb3N0IDEgaW5zdGFuY2UsIHNvDQo+ ID4gPiA+IHRoZSBkdXBsaWNhdGUgY2hlY2sgd291bGQgbmV2ZXIgYmUgdHJpZ2dlcmVkLiAgSWYg Rm1wVmVyc2lvbiA+PSAzDQo+ID4gPiA+IGFuZCB0aGVyZSBjYW4gYmUgbW9yZSB0aGVuIG9uZSBp bnN0YW5jZSwgdGhlbiB0aGUgSGFyZHdhcmVJbnN0YW5jZQ0KPiA+ID4gPiBtdXN0IGJlIGEgbm9u LXplcm8gdW5pcXVlIHZhbHVlLg0KPiA+ID4gPg0KPiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+DQo+ ID4gPiA+IE1pa2UNCj4gPiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4gPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vw cy5pbz4gT24gQmVoYWxmIE9mDQo+ID4gPiA+ID4gSmVmZiBCcmFzZW4gdmlhIGdyb3Vwcy5pbw0K PiA+ID4gPiA+IFNlbnQ6IFRodXJzZGF5LCBGZWJydWFyeSA5LCAyMDIzIDI6MDMgUE0NCj4gPiA+ ID4gPiBUbzogRGVtZXRlciwgTWlraSA8bWlraS5kZW1ldGVyQGludGVsLmNvbT4NCj4gPiA+ID4g PiBDYzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gPiBTdWJqZWN0OiBbZWRrMi1kZXZl bF0gRlc6IFtQQVRDSCB2Ml0gTWRlTW9kdWxlUGtnL0VzcnRGbXBEeGU6DQo+ID4gPiA+IFN1cHBv cnQNCj4gPiA+ID4gPiBtdWx0aXBsZSBkZXZpY2VzIHdpdGggMCBIYXJkd2FyZUluc3RhbmNlDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBIZXJlIGlzIGEgcGF0Y2ggdGhhdCBoYXMgYmVlbiBwZW5kaW5n IGZvciBhIGJpdA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhhbmtzLA0KPiA+ID4gPiA+IEplZmYN Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ ID4gRnJvbTogSmVmZiBCcmFzZW4NCj4gPiA+ID4gPiBTZW50OiBXZWRuZXNkYXksIEZlYnJ1YXJ5 IDEsIDIwMjMgOToyMSBBTQ0KPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ ID4gPiA+IENjOiBqaWFuLmoud2FuZ0BpbnRlbC5jb207IGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5j bjsNCj4gPiA+ID4gPiBndW9taW4uamlhbmdAaW50ZWwuY29tDQo+ID4gPiA+ID4gU3ViamVjdDog UkU6IFtQQVRDSCB2Ml0gTWRlTW9kdWxlUGtnL0VzcnRGbXBEeGU6IFN1cHBvcnQgbXVsdGlwbGUN Cj4gPiA+ID4gPiBkZXZpY2VzIHdpdGggMCBIYXJkd2FyZUluc3RhbmNlDQo+ID4gPiA+ID4NCj4g PiA+ID4gPiBBbnkgdXBkYXRlcyBvbiB0aGlzIHdvdWxkIGJlIGdyZWF0IHRvIGdldCB0aGlzIGlu IGZvciB0aGUgbmV4dA0KPiA+ID4gPiA+IHN0YWJsZSByZWxlYXNlDQo+ID4gPiA+IGlmIHBvc3Np YmxlLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4gPiA+ID4gRnJvbTogSmVmZiBCcmFzZW4gPGpicmFzZW5AbnZpZGlhLmNvbT4NCj4gPiA+ ID4gPiA+IFNlbnQ6IE1vbmRheSwgRGVjZW1iZXIgMTIsIDIwMjIgMTI6MjcgUE0NCj4gPiA+ID4g PiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiA+ID4gQ2M6IGppYW4uai53YW5n QGludGVsLmNvbTsgZ2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuOw0KPiA+ID4gPiA+ID4gZ3VvbWlu LmppYW5nQGludGVsLmNvbTsgSmVmZiBCcmFzZW4gPGpicmFzZW5AbnZpZGlhLmNvbT4NCj4gPiA+ ID4gPiA+IFN1YmplY3Q6IFtQQVRDSCB2Ml0gTWRlTW9kdWxlUGtnL0VzcnRGbXBEeGU6IFN1cHBv cnQgbXVsdGlwbGUNCj4gPiA+ID4gPiA+IGRldmljZXMgd2l0aCAwIEhhcmR3YXJlSW5zdGFuY2UN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBTa2lwIGVycm9yIGNoZWNrIGlmIEhhcmR3YXJlSW5z dGFuY2UgaXMgMCBhcyB0aGlzIGVpdGhlciBtZWFucw0KPiA+ID4gPiA+ID4gdGhhdCBGbXBWZXJz aW9uIDwgMyBhbmQgbm90IHN1cHBvcnRlZCBvciwgIkEgemVybyBtZWFucyB0aGUgRk1QDQo+ID4g PiA+ID4gPiBwcm92aWRlciBpcyBub3QgYWJsZSB0byBkZXRlcm1pbmUgYSB1bmlxdWUgaGFyZHdh cmUgaW5zdGFuY2UNCj4gPiA+ID4gPiA+IG51bWJlciBvciBhIGhhcmR3YXJlIGluc3RhbmNlIG51 bWJlciBpcyBub3QgbmVlZGVkLiIgcGVyIFVFRkkNCj4gPiBzcGVjaWZpY2F0aW9uLg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+IEFzIHRoZSBGbXBJbnN0YW5jZXMgYXJlIG1lcmdlZCBhbmQgSGFy ZHdhcmVJbnN0YW5jZSBpcyBub3QgdXNlZA0KPiA+ID4gPiA+ID4gcmVtb3ZlIGVycm9yIGNoZWNr IGluIHRoaXMgY2FzZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gU2ln bmVkLW9mZi1ieTogSmVmZiBCcmFzZW4gPGpicmFzZW5AbnZpZGlhLmNvbT4NCj4gPiA+ID4gPiA+ IC0tLQ0KPiA+ID4gPiA+ID4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRXNydEZtcER4ZS9Fc3J0 Rm1wLmMgfCAyMg0KPiA+ICsrKysrKysrKysrKy0tDQo+ID4gPiA+IC0tLS0NCj4gPiA+ID4gPiA+ IC0tLQ0KPiA+ID4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA5IGRl bGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0VzcnRGbXBEeGUvRXNydEZtcC5jDQo+ID4gPiA+ID4gPiBiL01kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvRXNydEZtcER4ZS9Fc3J0Rm1wLmMNCj4gPiA+ID4gPiA+IGluZGV4 IDRmNDdjNTVjY2UuLjViYzYyNzQ2MWQgMTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0gYS9NZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0VzcnRGbXBEeGUvRXNydEZtcC5jDQo+ID4gPiA+ID4gPiArKysgYi9N ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0VzcnRGbXBEeGUvRXNydEZtcC5jDQo+ID4gPiA+ID4gPiBA QCAtMTUzLDE2ICsxNTMsMjAgQEAgQ3JlYXRlRXNydEVudHJ5ICgNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiAgICAvLw0KPiA+ID4gPiA+ID4gICAgLy8gQ2hlY2sgdG8gc2VlIG9mIEZtcEltYWdl SW5mb0J1ZiBHVUlEL0hhcmR3YXJlSW5zdGFuY2UgaXMNCj4gPiA+ID4gPiA+IHVuaXF1ZQ0KPiA+ ID4gPiA+ID4gKyAgLy8gU2tpcCBpZiBIYXJkd2FyZUluc3RhbmNlIGlzIDAgYXMgdGhpcyBpcyB0 aGUgY2FzZSBpZg0KPiA+ID4gPiA+ID4gKyBGbXBWZXJzaW9uIDwNCj4gPiA+ID4gPiA+ICsgMyAg Ly8gb3IgdGhlIGRldmljZSBjYW4gbm90IGNyZWF0ZSBhIHVuaXF1ZSBJRCBwZXIgVUVGSQ0KPiA+ ID4gPiA+ID4gKyBzcGVjaWZpY2F0aW9uDQo+ID4gPiA+ID4gPiAgICAvLw0KPiA+ID4gPiA+ID4g LSAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgKk51bWJlck9mRGVzY3JpcHRvcnM7IEluZGV4Kysp IHsNCj4gPiA+ID4gPiA+IC0gICAgaWYgKENvbXBhcmVHdWlkICgmSGFyZHdhcmVJbnN0YW5jZXNb SW5kZXhdLkltYWdlVHlwZUd1aWQsDQo+ID4gPiA+ID4gPiAmRm1wSW1hZ2VJbmZvQnVmLT5JbWFn ZVR5cGVJZCkpIHsNCj4gPiA+ID4gPiA+IC0gICAgICBpZiAoSGFyZHdhcmVJbnN0YW5jZXNbSW5k ZXhdLkhhcmR3YXJlSW5zdGFuY2UgPT0NCj4gPiA+ID4gPiA+IEZtcEhhcmR3YXJlSW5zdGFuY2Up IHsNCj4gPiA+ID4gPiA+IC0gICAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJFc3J0Rm1wRHhl OiBEdXBsaWNhdGUgZmlybXdhcmUNCj4gPiBpbWFnZQ0KPiA+ID4gPiA+ID4gZGVzY3JpcHRvciB3 aXRoIEdVSUQgJWcgSGFyZHdhcmVJbnN0YW5jZToweCV4XG4iLA0KPiA+ID4gPiAmRm1wSW1hZ2VJ bmZvQnVmLQ0KPiA+ID4gPiA+ID4gPkltYWdlVHlwZUlkLCBGbXBIYXJkd2FyZUluc3RhbmNlKSk7 DQo+ID4gPiA+ID4gPiAtICAgICAgICBBU1NFUlQgKA0KPiA+ID4gPiA+ID4gLSAgICAgICAgICAh Q29tcGFyZUd1aWQgKCZIYXJkd2FyZUluc3RhbmNlc1tJbmRleF0uSW1hZ2VUeXBlR3VpZCwNCj4g PiA+ID4gPiA+ICZGbXBJbWFnZUluZm9CdWYtPkltYWdlVHlwZUlkKSB8fA0KPiA+ID4gPiA+ID4g LSAgICAgICAgICBIYXJkd2FyZUluc3RhbmNlc1tJbmRleF0uSGFyZHdhcmVJbnN0YW5jZSAhPQ0K PiA+ID4gPiA+ID4gRm1wSGFyZHdhcmVJbnN0YW5jZQ0KPiA+ID4gPiA+ID4gLSAgICAgICAgICAp Ow0KPiA+ID4gPiA+ID4gLSAgICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gPiA+ID4g PiA+ICsgIGlmIChGbXBIYXJkd2FyZUluc3RhbmNlICE9IDApIHsNCj4gPiA+ID4gPiA+ICsgICAg Zm9yIChJbmRleCA9IDA7IEluZGV4IDwgKk51bWJlck9mRGVzY3JpcHRvcnM7IEluZGV4KyspIHsN Cj4gPiA+ID4gPiA+ICsgICAgICBpZiAoQ29tcGFyZUd1aWQgKCZIYXJkd2FyZUluc3RhbmNlc1tJ bmRleF0uSW1hZ2VUeXBlR3VpZCwNCj4gPiA+ID4gPiA+ICZGbXBJbWFnZUluZm9CdWYtPkltYWdl VHlwZUlkKSkgew0KPiA+ID4gPiA+ID4gKyAgICAgICAgaWYgKEhhcmR3YXJlSW5zdGFuY2VzW0lu ZGV4XS5IYXJkd2FyZUluc3RhbmNlID09DQo+ID4gPiA+ID4gPiBGbXBIYXJkd2FyZUluc3RhbmNl KSB7DQo+ID4gPiA+ID4gPiArICAgICAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJFc3J0Rm1w RHhlOiBEdXBsaWNhdGUgZmlybXdhcmUNCj4gPiA+ID4gPiA+ICsgaW1hZ2UNCj4gPiA+ID4gPiA+ IGRlc2NyaXB0b3Igd2l0aCBHVUlEICVnIEhhcmR3YXJlSW5zdGFuY2U6MHgleFxuIiwNCj4gPiA+ ID4gJkZtcEltYWdlSW5mb0J1Zi0NCj4gPiA+ID4gPiA+ID5JbWFnZVR5cGVJZCwgRm1wSGFyZHdh cmVJbnN0YW5jZSkpOw0KPiA+ID4gPiA+ID4gKyAgICAgICAgICBBU1NFUlQgKA0KPiA+ID4gPiA+ ID4gKyAgICAgICAgICAgICFDb21wYXJlR3VpZA0KPiA+ID4gPiA+ID4gKyAoJkhhcmR3YXJlSW5z dGFuY2VzW0luZGV4XS5JbWFnZVR5cGVHdWlkLA0KPiA+ID4gPiA+ID4gJkZtcEltYWdlSW5mb0J1 Zi0+SW1hZ2VUeXBlSWQpIHx8DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgSGFyZHdhcmVJbnN0 YW5jZXNbSW5kZXhdLkhhcmR3YXJlSW5zdGFuY2UgIT0NCj4gPiA+ID4gPiA+IEZtcEhhcmR3YXJl SW5zdGFuY2UNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICApOw0KPiA+ID4gPiA+ID4gKyAgICAg ICAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiA+ID4gPiA+ID4gKyAgICAgICAgfQ0KPiA+ ID4gPiA+ID4gICAgICAgIH0NCj4gPiA+ID4gPiA+ICAgICAgfQ0KPiA+ID4gPiA+ID4gICAgfQ0K PiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+IDIuMjUuMQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4g PiA+DQo+ID4gPg0KPiANCj4gDQo+IA0KPiANCj4gDQoNCg==