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.web12.29265.1654880175232782839 for ; Fri, 10 Jun 2022 09:56:15 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=UVgwByN6; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654880175; x=1686416175; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Vtx+hezZn9NiYWttbod1zKDTR7Ya+8nqyb59aL133OA=; b=UVgwByN6dMtvS6P4TwvT46Jycm/UGBbkeFcKieplCgKNtPjGeZRpfJs6 EqxegeC5VQOXUIrfeKctvcypSGh8AbzLmm8tDxPFHFFvLFBNxf+ZRIQ/n iDbuqZB7rFXMWvAjXjOUpOkILpZJ8n2yySwLtvA5E0ngwI46P/Zf06oHp nhJrvDBxbO4GGPO885H/ZCuvaHB1w0TsR+OokTeIGNiZlZ8FxLYP3JRRH hojHGkw+w9qtjqMOs/y2/ad74NTB0KXYMHIHle6l4pKucbv1I1l1o9fwO n+I1bdEompujPQ9F34Nw+iifM3jhIdaRcSmMvipXYSXdGBuwgD23b4ezh Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10374"; a="303059648" X-IronPort-AV: E=Sophos;i="5.91,290,1647327600"; d="scan'208";a="303059648" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2022 09:56:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,290,1647327600"; d="scan'208";a="586292808" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga007.fm.intel.com with ESMTP; 10 Jun 2022 09:56:11 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 10 Jun 2022 09:56:10 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 10 Jun 2022 09:56:10 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 10 Jun 2022 09:56:10 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.175) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 10 Jun 2022 09:56:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Enbx7+bQFBxfWMYIxtKhutxy3fOKsPUHxMIn7LTrd8KbAgOWlk4hUjdmxLA7pvFl5L7Tk2O7qdYCr8sCEjYK6EdhUbnNM+nKtIs1gsUWvsl7lyw4nyuy9MOvHAzYiHRthvvDbOCPrUYFcYQTb+78B8C5291aQW9jZVlivbIWiWTmVY4P8BUUUZ0Tda9Y2oUHLpNmuJE7TZp0mY5u6iu1N78hmiJw8V6x4FDSoI/g9BFmpxuBYiGofNzE7YfSZNHcDoBW//ZudqK8WbOg9HsGEEKkGanxO23yd6L+FHx6Vm6BgDKEG6cBS0Dqx4sMeeuAAfLNr6uSIUUvsZ8bT1ZpFA== 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=Vtx+hezZn9NiYWttbod1zKDTR7Ya+8nqyb59aL133OA=; b=S1ZxuSzfPYiiqrN7AJvk3pvtw92Ia2S2Cift7ehCwbjImmIUIKpFu+atCBeu+AWu8/tVP/IgUjwx933UjD0TqzR2o0GJRNmpM5OdVjEGwf9/pM8/ghQWa/t72a35d65v+BqR7r/dTtRo9R1nd3Gm1Q8rONqj4gbEjh60g0Rgun4aIw3DHIZJiExdM3tN18+pQi1Bd5rvws7Fytx/3cqblZ2LF6uh8ujoatftGH36sSVsNE+R9Glg12xAY1+t5bkUYv/V1xuASDJENXh8UOvVsHtYC7IuabJOhDKKlh/k+8/HkZYpFltljqgyt97fZzBJZ6NhI5DHHVrwHbzHeqjCWw== 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 MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by DM6PR11MB3434.namprd11.prod.outlook.com (2603:10b6:5:70::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.18; Fri, 10 Jun 2022 16:56:06 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::24ae:1cd3:3192:4c7e]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::24ae:1cd3:3192:4c7e%7]) with mapi id 15.20.5332.013; Fri, 10 Jun 2022 16:56:06 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "michael.kubacki@outlook.com" , "Desimone, Nathaniel L" CC: "Wang, Jian J" , "Gao, Liming" , "Kinney, Michael D" , "Oram, Isaac W" , "Chiu, Chasel" , "Cheng, Gao" , "Zhang, Di" , "Bu, Daocheng" , "Kubacki, Michael" Subject: Re: [edk2-devel] [PATCH V1 1/1] MdeModulePkg: Add Definition of EDKII_PEI_VARIABLE_PPI Thread-Topic: [edk2-devel] [PATCH V1 1/1] MdeModulePkg: Add Definition of EDKII_PEI_VARIABLE_PPI Thread-Index: AQHYfG3sZEbk8NCZDkuVgN7CL4D0Dq1H6Q8g Date: Fri, 10 Jun 2022 16:56:06 +0000 Message-ID: References: <20220610011705.5148-1-nathaniel.l.desimone@intel.com> <20220610011705.5148-2-nathaniel.l.desimone@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dc068cac-4dad-474f-85c2-08da4b021c65 x-ms-traffictypediagnostic: DM6PR11MB3434:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ixW3m0xmderLTgTNuTVJeZd19uwJqpfR3JMofWCPl8/7CFr76ubUiAyF+ocyNsZ50av2iDRDo4iQb4Hw+jIggArdzx/dacuX/fh3tykwYcyGOxnmY4Zmb7hFVH6QlA44Ow3FmYJ8Sz/q7eX6xTTkvvyxd5Za0E7vws8jF+kpF9dZpWrnejWX6p0xhnvivOxck/faxiQ3v7ZTnWxEmz9bFkh4Pu1d79RDQhoau/rPCjuC95tskHt4sPVRIgad10/G5TKNEeYDv72vQxU6QPAzKRVPshGrcag6tWuiDW2FbZa/RqpRxo18zLLfV7wfppQ9oFFGX66TER8leJFvRDpYFl7drbnsbB6J4q5bGnk/Hou8ZPGpfTiSrWQWsot7HFeev5cP4lnf3FtTweLbzuCvOmOO+RHAoP9yotTjnk4df9LC4VqpumTFsotoxsXPtmyANfwTi7BPTIrLzfT70fz/GvN+5L4RurN+kDTvEbfe6QB4znc6xZxiihQx9ozkYBewob6pdsBC5RQhaSK7hq1wmsjSvRyXQxyhglLh6DEDwf/cYA/Plm7zqavEvlUoZN8flfVTRWERYoCxCVHfpLXsHCBkSn6aBGn4N50P2toRyoQ44EzOo41w9juy7y51D6R5/SW8TuZFeuxNGpqKSLaS9y3MVMs5GbnILDzgEJQu6YS2qP/ND62PN0UcnYv41NTK7l6f65p3o0lDyfcKZUZiXu3ADWOW1wfECCxFNdp8xuUt/g0hx77ZExVEBZzzr1uWSNi3ZAi+9nSfU0VYr2/3Ph8TTt3Dk0x5END9v822xXahaUhVSnqpOFaQcbRbHx70hCdxW4t+uFBvmh7sM9xQnQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(5660300002)(66946007)(86362001)(4326008)(7696005)(66556008)(66446008)(76116006)(30864003)(64756008)(6636002)(9686003)(508600001)(6506007)(66476007)(8676002)(53546011)(316002)(110136005)(186003)(2906002)(54906003)(26005)(55016003)(19627235002)(38100700002)(83380400001)(52536014)(82960400001)(38070700005)(966005)(8936002)(71200400001)(33656002)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b0VIL1lrMmtnSC81WFBZby9MUjBRWm9icllGYkZRV0ljbDJmTVFYNXBIUk9o?= =?utf-8?B?YjgwWEtwOUxuUmxodUVTeklKbHV4ZTZjRFNzbVgxbnpkYU1HL09wQ2ZhTjFN?= =?utf-8?B?OGI1dE9MaWEwbVVsZWJ3T1JocVkxSUw0SWhSSEErZ1NTUDRCd3krVWtyRTVu?= =?utf-8?B?RXJTSnMxNkJjREhWOWdURnVrVlpocDV2bXdYbmJhOFc0ekVpZnNSN0Z0UkQ1?= =?utf-8?B?YTlYaFZmSk1USXpJOFFFeVpGZEhOTXU4SHY3WFVaT0hJenJ5WE1ubjZyTlhP?= =?utf-8?B?SGx2bktLUU5SMVEvRVBDUlo2Y0VHbGlSLzBEZkdxamROWTMwQlhKN2RhR1RR?= =?utf-8?B?TGdTRStOVWhYQ0VlbUdYdEJzczFFUjZSTVU5eFJOT2hKdnFqN0QyT0ROKzlm?= =?utf-8?B?OHNScUdRZC9wYzlKNzhQaytqVEU0NGdQRWpBSW5UWmZOaDNKMzVCQTlheVUz?= =?utf-8?B?UjNNeXA4UW14TUt5dEFPcUJVcmsyMzlueVlBeGt2RDdsNG9VblVyeFBuQ3Rm?= =?utf-8?B?d1dCdE1UUWFYeFVRSzZiWTJBQ2lzbDJSSTQvTUJvM1BiMUZORGJIVWtDSnZZ?= =?utf-8?B?WTlBeWpNSVZxR3Y5MVZuaStITmxEZU5lVnhTNWF4RUowdVUrOWgwWXNUZHJi?= =?utf-8?B?ZVVRWDJVUEZrdk1YaVBQZCtiV1JFR2dnYitHTE1MOGJQS29ZV0Jvekl4YTda?= =?utf-8?B?ci9nVmtrR0JJWEMrQTN3c3ZXUi9TN1M0Q2lSdzhUSW03NFJkTUlDbUFEdkQ3?= =?utf-8?B?UFdjdEdTSmRXejgxR3RCdlVSNVloTmhueG8vcmFNY2FiS2NlZXFQaEVzYjZJ?= =?utf-8?B?TGg5MGtWTlIrZUpZQUV2OU1TSzBTejZWRXlPTGRnQVpVRzloVGN0UEpHU3N0?= =?utf-8?B?Sm42S2Jja09leXRvTVhoSDIrZG53UW96aG5XOHhZaGpQalhKLzdaalhhb0sz?= =?utf-8?B?aHkvNWVPM0ZHQksrYjVmTlhvbFlZRWpCUTRkY1BvMUhpQkppRkE3aVNyenY1?= =?utf-8?B?dll5RXVFdUU3bnZnMXVJaWJxbHNPZUZQNEpDWFVib0NPRXM1M1lEOW1DQzMv?= =?utf-8?B?dElMYkoybDhWbCtoK1RqRXJ2WDhiVWd0c2NWVWtUeVA3WExOeGRHSjJBTFhq?= =?utf-8?B?cmZRZ2Y1RGM3aldNUkt3Y3hFMzJpUEdWOHQ1WXlQT0FUTy9BQ3R1YVF3MGRw?= =?utf-8?B?Yk43S3ZBdzZFV3VPWCtKeFlLUUlsdWozVnJPaS9UTks0UnlGNGM4Vy9Hd3I0?= =?utf-8?B?a0krL3VSMno1b0lad0J3RGJLbVQwOENnYm5MMVBiTG1GRWt3WVJoOVduQ0JB?= =?utf-8?B?UDd6VGRhZTJrMTM4a291ekdwRXNWWVJGY2RoWjFkbXNNbVl5MFhOVEpHSDZL?= =?utf-8?B?eENqNEhDR3VtbjVDZmQzc1lBaUkwNUlwcjFEK2M4N0FYNGpKcURRUzVOVnE2?= =?utf-8?B?dnovR05xb0FGdG5FZUF5cTlqeGpUcUFWZWZsNVdZV1ZBNkRxZ3I5RkVyRVdS?= =?utf-8?B?T2hIdTRXUzZwMS9PYVZXYUlKNDh6cFpwb1o0c3MxYWlybzFVVVBibFNhMVlX?= =?utf-8?B?VmhIazFyMnhYY0FyYjJUTFMzWjgyTHYvYUJRcWV3VUFxOTFjcElCdWoybnJV?= =?utf-8?B?bnY5UUZwRDBhYWhLa3F1aG1zRmxwZ0swK1NXYnhRa2haNHlpVzllV1MxbGFY?= =?utf-8?B?elAybmJRVGVicHVzcmJNbTZuTDRWaStSeTN0Y1FHWE9xZThQbzdVdWpXUDh1?= =?utf-8?B?SFNid0dCNElZSmxwSVM2RU5iOWU0NjYzYVlqVmNqOUN2bS9TOHFtSko0ZnE4?= =?utf-8?B?TXIvN2lENm96a3RmbldqOWpkWmJZYlhXOEdOeVhENjNvR2hqTGt6UEFRN3Ez?= =?utf-8?B?WklOTTNYOTFpazBvNk1MV21WOGRtZzU3MG5pQU9tUXRRaEwxKzVuc3djemxK?= =?utf-8?B?c0xObHlDNkloSnY1OEdZOWhKS0RESVJYOHFUUkFLY3NhODFyWkREa1hHNkJM?= =?utf-8?B?YlM0Q2Y2TUlGc2VCclFOL2lnSmtBYjcxN3g1TFFFMTVIR1BFT0dvNWl4WFZ0?= =?utf-8?B?ZE9PR0YrVkVuMUUzYWdpVFY0K3lpQzlxd0VheDZyUUREbUh1SGFCaVFPMG0z?= =?utf-8?B?Q3pnM2phNVIvODBqdEV0UkVzQlhUL3R3bFVSdStzTjdHTVBDdUE2QmhGYjJo?= =?utf-8?B?aWZPRkNYc21KdG1CVHZwMlNxV0M4NjR4dDVFNHo0MWVJR0hlSmh3eVA3dnZE?= =?utf-8?B?WUF0em0zdUc5OXJBV2xRd0pOYm1McVllNEJNQVBCWFdmeEZNYnN2Szl5Q1NH?= =?utf-8?B?UER2WDlKbFlGMHdzM2REQUVDUXkzRXgrMHpIUWJ6L1NXV1FYQ1Frdz09?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc068cac-4dad-474f-85c2-08da4b021c65 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jun 2022 16:56:06.4311 (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: ocMFxX/P9xtrKQK38hnivcJ7FdXz44NJfmfVicHxFrl47z/A2TcnqFTZJDqDhXaI/iGDBjNAW2ENqCIPs2XYTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3434 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkNCg0KSSBhbSBjdXJpb3VzIHdoeSB3ZSBuZWVkIHRoaXMgaW50ZXJmYWNlLiBXaHkgd2UgbmVl ZCB3cml0ZSB2YXJpYWJsZSBjYXBhYmlsaXR5IGluIFBFSSBwaGFzZT8NCg0KV2hlcmUgaXMgdGhl IGltcGxlbWVudGF0aW9uIG9mIHRoaXM/IEkgcHJlZmVyIHRvIHNlZSBhbiBpbXBsZW1lbnRhdGlv biBzdWJtaXR0ZWQgdG9nZXRoZXIgd2l0aCBoZWFkZXIgZmlsZS4NCkZvciBleGFtcGxlLCB3aGF0 IGlzIHRoZSBpbXBhY3QgdG8gc2VjdXJlIGJvb3QgcmVsYXRlZCBmZWF0dXJlLCBob3cgdG8gd3Jp dGUgYXV0aCB2YXJpYWJsZSBpbiBQRUksIGhvdyBQRUkgd3JpdGUgdmFyaWFibGUgY293b3JrIHdp dGggU01NIHZlcnNpb24gaW4gUzMgcmVzdW1lIHBoYXNlLCBob3cgdG8gc3VwcG9ydCB2YXJpYWJs ZSBhdG9taWNpdHksIGV0Yy4NCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCg0KPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxA ZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBNaWNoYWVsDQo+IEt1YmFja2kNCj4gU2VudDog RnJpZGF5LCBKdW5lIDEwLCAyMDIyIDEwOjAwIEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgRGVzaW1vbmUsIE5hdGhhbmllbCBMDQo+IDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5j b20+DQo+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEdhbywgTGlt aW5nDQo+IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA8 bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBPcmFtLCBJc2FhYyBXIDxpc2FhYy53Lm9yYW1A aW50ZWwuY29tPjsNCj4gQ2hpdSwgQ2hhc2VsIDxjaGFzZWwuY2hpdUBpbnRlbC5jb20+OyBDaGVu ZywgR2FvIDxnYW8uY2hlbmdAaW50ZWwuY29tPjsNCj4gWmhhbmcsIERpIDxkaS56aGFuZ0BpbnRl bC5jb20+OyBCdSwgRGFvY2hlbmcgPGRhb2NoZW5nLmJ1QGludGVsLmNvbT47DQo+IEt1YmFja2ks IE1pY2hhZWwgPG1pY2hhZWwua3ViYWNraUBtaWNyb3NvZnQuY29tPg0KPiBTdWJqZWN0OiBSZTog W2VkazItZGV2ZWxdIFtQQVRDSCBWMSAxLzFdIE1kZU1vZHVsZVBrZzogQWRkIERlZmluaXRpb24g b2YNCj4gRURLSUlfUEVJX1ZBUklBQkxFX1BQSQ0KPiANCj4gSXMgdGhpcyBjaGFuZ2UganVzdCBh ZGRpbmcgdGhlIGludGVyZmFjZSB0byBUaWFub2NvcmUgb3IgaXMgdGhlcmUNCj4gYWRkaXRpb25h bCBpbXBsZW1lbnRhdGlvbiBwbGFubmVkIGFzIHdlbGw/DQo+IA0KPiAtLS0NCj4gDQo+IEkgdGhv dWdodCB3ZSB3ZXJlIGZvbGxvd2luZyB0aGlzIGNvbnZlbnRpb24gbm93Og0KPiANCj4gIiNpZm5k ZWYgX19QRUlfVkFSSUFCTEVfUFBJX0hfIiAtPiAiI2lmbmRlZiBQRUlfVkFSSUFCTEVfUFBJX0hf Ig0KPiANCj4gU29tZSBvdGhlciBjb21tZW50cyBhcmUgaW5saW5lLg0KPiANCj4gUmVnYXJkcywN Cj4gTWljaGFlbA0KPiANCj4gT24gNi85LzIwMjIgOToxNyBQTSwgTmF0ZSBEZVNpbW9uZSB3cm90 ZToNCj4gPiBBZGRzIGRlZmluaXRpb24gb2YgRURLSUlfUEVJX1ZBUklBQkxFX1BQSSwgYSBwcmUt Y3Vyc29yDQo+ID4gdG8gZW5hYmxpbmcgdmFyaWFibGUgd3JpdGVzIGluIHRoZSBQRUkgZW52aXJv bm1lbnQuDQo+ID4NCj4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4N Cj4gPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+IENjOiBN aWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiBDYzogSXNh YWMgT3JhbSA8aXNhYWMudy5vcmFtQGludGVsLmNvbT4NCj4gPiBDYzogQ2hhc2VsIENoaXUgPGNo YXNlbC5jaGl1QGludGVsLmNvbT4NCj4gPiBDYzogR2FvIENoZW5nIDxnYW8uY2hlbmdAaW50ZWwu Y29tPg0KPiA+IENjOiBEaSBaaGFuZyA8ZGkuemhhbmdAaW50ZWwuY29tPg0KPiA+IENjOiBEYW9j aGVuZyBCdSA8ZGFvY2hlbmcuYnVAaW50ZWwuY29tPg0KPiA+IENjOiBNaWNoYWVsIEt1YmFja2kg PG1pY2hhZWwua3ViYWNraUBtaWNyb3NvZnQuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE5hdGUg RGVTaW1vbmUgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAg IE1kZU1vZHVsZVBrZy9JbmNsdWRlL1BwaS9WYXJpYWJsZS5oIHwgMTg5DQo+ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysNCj4gPiAgIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjICAg ICAgIHwgICAzICsNCj4gPiAgIDIgZmlsZXMgY2hhbmdlZCwgMTkyIGluc2VydGlvbnMoKykNCj4g PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBNZGVNb2R1bGVQa2cvSW5jbHVkZS9QcGkvVmFyaWFibGUu aA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9JbmNsdWRlL1BwaS9WYXJpYWJs ZS5oDQo+IGIvTWRlTW9kdWxlUGtnL0luY2x1ZGUvUHBpL1ZhcmlhYmxlLmgNCj4gPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAuLjk3ZGM3Y2VlZmENCj4gPiAtLS0g L2Rldi9udWxsDQo+ID4gKysrIGIvTWRlTW9kdWxlUGtnL0luY2x1ZGUvUHBpL1ZhcmlhYmxlLmgN Cj4gPiBAQCAtMCwwICsxLDE4OSBAQA0KPiA+ICsvKiogQGZpbGUNCj4gPiArICBFREtJSSBQRUkg VmFyaWFibGUgUHJvdG9jb2wgcHJvdmlkZXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdmFyaWFibGVz DQo+IA0KPiBbTUtdIFdhcyAiRURLSUkgUEVJIFZhcmlhYmxlIFBQSSIgaW50ZW5kZWQ/DQo+IA0K PiA+ICsgIGludGVuZGVkIGZvciB1c2UgYXMgYSBtZWFucyB0byBzdG9yZSBkYXRhIGluIHRoZSBQ RUkgZW52aXJvbm1lbnQuDQo+ID4gKw0KPiA+ICsgIENvcHlyaWdodCAoYykgMjAyMiwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gKw0KPiA+ICsqKi8NCj4gPiAr DQo+ID4gKyNpZm5kZWYgX19QRUlfVkFSSUFCTEVfUFBJX0hfDQo+ID4gKyNkZWZpbmUgX19QRUlf VkFSSUFCTEVfUFBJX0hfDQo+ID4gKw0KPiA+ICsjZGVmaW5lIEVES0lJX1BFSV9WQVJJQUJMRV9Q UElfR1VJRCBcDQo+ID4gKyAgeyBcDQo+ID4gKyAgICAweGU3YjJjZDA0LCAweDRiMTQsIDB4NDRj MiwgeyAweGI3LCAweDQ4LCAweGNlLCAweGFmLCAweDJiLCAweDY2LCAweDRhLA0KPiAweGIwIH0g XA0KPiA+ICsgIH0NCj4gPiArDQo+ID4gK3R5cGVkZWYgc3RydWN0IF9FREtJSV9QRUlfVkFSSUFC TEVfUFBJIEVES0lJX1BFSV9WQVJJQUJMRV9QUEk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBU aGlzIHNlcnZpY2UgcmV0cmlldmVzIGEgdmFyaWFibGUncyB2YWx1ZSB1c2luZyBpdHMgbmFtZSBh bmQgR1VJRC4NCj4gPiArDQo+ID4gKyAgUmVhZCB0aGUgc3BlY2lmaWVkIHZhcmlhYmxlIGZyb20g dGhlIFVFRkkgdmFyaWFibGUgc3RvcmUuIElmIHRoZSBEYXRhDQo+ID4gKyAgYnVmZmVyIGlzIHRv byBzbWFsbCB0byBob2xkIHRoZSBjb250ZW50cyBvZiB0aGUgdmFyaWFibGUsDQo+ID4gKyAgdGhl IGVycm9yIEVGSV9CVUZGRVJfVE9PX1NNQUxMIGlzIHJldHVybmVkIGFuZCBEYXRhU2l6ZSBpcyBz ZXQgdG8gdGhlDQo+ID4gKyAgcmVxdWlyZWQgYnVmZmVyIHNpemUgdG8gb2J0YWluIHRoZSBkYXRh Lg0KPiA+ICsNCj4gPiArICBAcGFyYW1baW5dICAgICAgICBUaGlzICAgICAgICAgICAgICBBIHBv aW50ZXIgdG8gdGhpcyBpbnN0YW5jZSBvZiB0aGUNCj4gRURLSUlfUEVJX1ZBUklBQkxFX1BQSS4N Cj4gPiArICBAcGFyYW1baW5dICAgICAgICBWYXJpYWJsZU5hbWUgICAgICBBIHBvaW50ZXIgdG8g YSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIHRoYXQNCj4gaXMgdGhlIHZhcmlhYmxlJ3MgbmFtZS4N Cj4gPiArICBAcGFyYW1baW5dICAgICAgICBWYXJpYWJsZUd1aWQgICAgICBBIHBvaW50ZXIgdG8g YW4gRUZJX0dVSUQgdGhhdCBpcyB0aGUNCj4gdmFyaWFibGUncyBHVUlELiBUaGUgY29tYmluYXRp b24gb2YNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYXJpYWJs ZUd1aWQgYW5kIFZhcmlhYmxlTmFtZSBtdXN0IGJlIHVuaXF1ZS4NCj4gPiArICBAcGFyYW1bb3V0 XSAgICAgICBBdHRyaWJ1dGVzICAgICAgICBJZiBub24tTlVMTCwgb24gcmV0dXJuLCBwb2ludHMg dG8gdGhlDQo+IHZhcmlhYmxlJ3MgYXR0cmlidXRlcy4NCj4gPiArICBAcGFyYW1baW4sIG91dF0g ICBEYXRhU2l6ZSAgICAgICAgICBPbiBlbnRyeSwgcG9pbnRzIHRvIHRoZSBzaXplIGluIGJ5dGVz IG9mIHRoZQ0KPiBEYXRhIGJ1ZmZlci4NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPbiByZXR1cm4sIHBvaW50cyB0byB0aGUgc2l6ZSBvZiB0aGUgZGF0YSByZXR1 cm5lZCBpbiBEYXRhLg0KPiA+ICsgIEBwYXJhbVtvdXRdICAgICAgIERhdGEgICAgICAgICAgICAg IFBvaW50cyB0byB0aGUgYnVmZmVyIHdoaWNoIHdpbGwgaG9sZCB0aGUNCj4gcmV0dXJuZWQgdmFy aWFibGUgdmFsdWUuDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TWF5IGJlIE5VTEwgd2l0aCBhIHplcm8gRGF0YVNpemUgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lDQo+ IHRoZSBzaXplIG9mIHRoZQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJ1ZmZlciBuZWVkZWQuDQo+ID4gKw0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAg ICAgICAgICAgICAgIFRoZSB2YXJpYWJsZSB3YXMgcmVhZCBzdWNjZXNzZnVsbHkuDQo+ID4gKyAg QHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgICAgICAgVGhlIHZhcmlhYmxlIHdhcyBub3Qg Zm91bmQuDQo+ID4gKyAgQHJldHZhbCBFRklfQlVGRkVSX1RPT19TTUFMTCAgICAgICAgVGhlIERh dGFTaXplIGlzIHRvbyBzbWFsbCBmb3IgdGhlDQo+IHJlc3VsdGluZyBkYXRhLg0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGFTaXplIGlzIHVwZGF0ZWQgd2l0 aCB0aGUgc2l6ZSByZXF1aXJlZCBmb3INCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0aGUgc3BlY2lmaWVkIHZhcmlhYmxlLg0KPiA+ICsgIEByZXR2YWwgRUZJX0lO VkFMSURfUEFSQU1FVEVSICAgICAgIFZhcmlhYmxlTmFtZSwgVmFyaWFibGVHdWlkLA0KPiBEYXRh U2l6ZSBvciBEYXRhIGlzIE5VTEwuDQo+ID4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAg ICAgICAgICAgVGhlIHZhcmlhYmxlIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQNCj4gYmVjYXVzZSBv ZiBhIGRldmljZSBlcnJvci4NCj4gPiArDQo+ID4gKyoqLw0KPiA+ICt0eXBlZGVmDQo+ID4gK0VG SV9TVEFUVVMNCj4gPiArKEVGSUFQSSAqRURLSUlfUEVJX0dFVF9WQVJJQUJMRSkoDQo+ID4gKyAg SU4gQ09OU1QgIEVES0lJX1BFSV9WQVJJQUJMRV9QUEkgICAgKlRoaXMsDQo+ID4gKyAgSU4gQ09O U1QgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgKlZhcmlhYmxlTmFtZSwNCj4gPiArICBJTiBD T05TVCAgRUZJX0dVSUQgICAgICAgICAgICAgICAgICAqVmFyaWFibGVHdWlkLA0KPiA+ICsgIE9V VCAgICAgICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICpBdHRyaWJ1dGVzLA0KPiANCj4gW01L XSBCYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24sIEF0dHJpYnV0ZXMgc2hvdWxkIGJlIG1hcmtlZCAi T1BUSU9OQUwiLg0KPiANCj4gPiArICBJTiBPVVQgICAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAqRGF0YVNpemUsDQo+ID4gKyAgT1VUICAgICAgIFZPSUQgICAgICAgICAgICAgICAgICAgICAg KkRhdGEgT1BUSU9OQUwNCj4gPiArICApOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgUmV0dXJu IHRoZSBuZXh0IHZhcmlhYmxlIG5hbWUgYW5kIEdVSUQuDQo+ID4gKw0KPiA+ICsgIFRoaXMgZnVu Y3Rpb24gaXMgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHRvIHJldHJpZXZlIHRoZSBWYXJpYWJsZU5h bWUNCj4gPiArICBhbmQgVmFyaWFibGVHdWlkIG9mIGFsbCB2YXJpYWJsZXMgY3VycmVudGx5IGF2 YWlsYWJsZSBpbiB0aGUgc3lzdGVtLg0KPiA+ICsgIE9uIGVhY2ggY2FsbCwgdGhlIHByZXZpb3Vz IHJlc3VsdHMgYXJlIHBhc3NlZCBpbnRvIHRoZSBpbnRlcmZhY2UsDQo+ID4gKyAgYW5kLCBvbiBy ZXR1cm4sIHRoZSBpbnRlcmZhY2UgcmV0dXJucyB0aGUgZGF0YSBmb3IgdGhlIG5leHQNCj4gPiAr ICBpbnRlcmZhY2UuIFdoZW4gdGhlIGVudGlyZSB2YXJpYWJsZSBsaXN0IGhhcyBiZWVuIHJldHVy bmVkLA0KPiA+ICsgIEVGSV9OT1RfRk9VTkQgaXMgcmV0dXJuZWQuDQo+ID4gKw0KPiANCj4gW01L XSBJIGtub3cgb3RoZXIgZGVzY3JpcHRpb25zIGRvbid0IHVzdWFsbHkgaGF2ZSBpdCBidXQgaXQg d291bGQgYmUNCj4gbmljZSB0byBkZXNjcmliZSB0aGUgaW5pdGlhbCBjYWxsaW5nIHZhbHVlcyBl eHBlY3RlZC4NCj4gDQo+ID4gKyAgQHBhcmFtW2luXSAgICAgICAgVGhpcyAgICAgICAgICAgICAg QSBwb2ludGVyIHRvIHRoaXMgaW5zdGFuY2Ugb2YgdGhlDQo+IEVES0lJX1BFSV9WQVJJQUJMRV9Q UEkuDQo+ID4gKyAgQHBhcmFtW2luLCBvdXRdICAgVmFyaWFibGVOYW1lU2l6ZSAgT24gZW50cnks IHBvaW50cyB0byB0aGUgc2l6ZSBvZiB0aGUNCj4gYnVmZmVyIHBvaW50ZWQgdG8gYnkgVmFyaWFi bGVOYW1lLg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIHJl dHVybiwgdGhlIHNpemUgb2YgdGhlIHZhcmlhYmxlIG5hbWUgYnVmZmVyLg0KPiA+ICsgIEBwYXJh bVtpbiwgb3V0XSAgIFZhcmlhYmxlTmFtZSAgICAgIE9uIGVudHJ5LCBhIHBvaW50ZXIgdG8gYSBu dWxsLXRlcm1pbmF0ZWQNCj4gc3RyaW5nIHRoYXQgaXMgdGhlIHZhcmlhYmxlJ3MgbmFtZS4NCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbiByZXR1cm4sIHBvaW50 cyB0byB0aGUgbmV4dCB2YXJpYWJsZSdzIG51bGwtdGVybWluYXRlZA0KPiBuYW1lIHN0cmluZy4N Cj4gPiArICBAcGFyYW1baW4sIG91dF0gICBWYXJpYWJsZUd1aWQgICAgICBPbiBlbnRyeSwgYSBw b2ludGVyIHRvIGFuIEVGSV9HVUlEIHRoYXQgaXMNCj4gdGhlIHZhcmlhYmxlJ3MgR1VJRC4NCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbiByZXR1cm4sIGEgcG9p bnRlciB0byB0aGUgbmV4dCB2YXJpYWJsZSdzIEdVSUQuDQo+ID4gKw0KPiA+ICsgIEByZXR2YWwg RUZJX1NVQ0NFU1MgICAgICAgICAgICAgICAgIFRoZSB2YXJpYWJsZSB3YXMgcmVhZCBzdWNjZXNz ZnVsbHkuDQo+ID4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgICAgICAgVGhlIHZh cmlhYmxlIGNvdWxkIG5vdCBiZSBmb3VuZC4NCj4gPiArICBAcmV0dmFsIEVGSV9CVUZGRVJfVE9P X1NNQUxMICAgICAgICBUaGUgVmFyaWFibGVOYW1lU2l6ZSBpcyB0b28gc21hbGwgZm9yDQo+IHRo ZSByZXN1bHRpbmcNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk YXRhLiBWYXJpYWJsZU5hbWVTaXplIGlzIHVwZGF0ZWQgd2l0aCB0aGUgc2l6ZQ0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkIGZvciB0aGUgc3BlY2lm aWVkIHZhcmlhYmxlLg0KPiA+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgICAg IFZhcmlhYmxlTmFtZSwgVmFyaWFibGVHdWlkIG9yDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVmFyaWFibGVOYW1lU2l6ZSBpcyBOVUxMLg0KPiA+ICsgIEByZXR2 YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICAgICAgIFRoZSB2YXJpYWJsZSBjb3VsZCBub3QgYmUg cmV0cmlldmVkDQo+IGJlY2F1c2Ugb2YgYSBkZXZpY2UgZXJyb3IuDQo+ID4gKw0KPiA+ICsqKi8N Cj4gPiArdHlwZWRlZg0KPiA+ICtFRklfU1RBVFVTDQo+ID4gKyhFRklBUEkgKkVES0lJX1BFSV9H RVRfTkVYVF9WQVJJQUJMRV9OQU1FKSgNCj4gPiArICBJTiBDT05TVCAgRURLSUlfUEVJX1ZBUklB QkxFX1BQSSAgICAqVGhpcywNCj4gPiArICBJTiBPVVQgICAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAqVmFyaWFibGVOYW1lU2l6ZSwNCj4gPiArICBJTiBPVVQgICAgQ0hBUjE2ICAgICAgICAg ICAgICAgICAgICAqVmFyaWFibGVOYW1lLA0KPiA+ICsgIElOIE9VVCAgICBFRklfR1VJRCAgICAg ICAgICAgICAgICAgICpWYXJpYWJsZUd1aWQNCj4gPiArICApOw0KPiA+ICsNCj4gPiArLyoqDQo+ ID4gKyAgU2V0cyB0aGUgdmFsdWUgb2YgYSB2YXJpYWJsZS4NCj4gPiArDQo+ID4gKyAgQHBhcmFt W2luXSAgICAgICAgVGhpcyAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoaXMgaW5zdGFuY2Ug b2YgdGhlDQo+IEVES0lJX1BFSV9WQVJJQUJMRV9QUEkuDQo+ID4gKyAgQHBhcmFtW2luXSAgICAg ICAgVmFyaWFibGVOYW1lICAgICAgQSBOdWxsLXRlcm1pbmF0ZWQgc3RyaW5nIHRoYXQgaXMgdGhl IG5hbWUNCj4gb2YgdGhlIHZlbmRvcidzIHZhcmlhYmxlLg0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVhY2ggVmFyaWFibGVOYW1lIGlzIHVuaXF1ZSBmb3IgZWFj aCBWZW5kb3JHdWlkLg0KPiBWYXJpYWJsZU5hbWUgbXVzdA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW4gMSBvciBtb3JlIGNoYXJhY3RlcnMuIElmIFZh cmlhYmxlTmFtZSBpcyBhbg0KPiBlbXB0eSBzdHJpbmcsDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhlbiBFRklfSU5WQUxJRF9QQVJBTUVURVIgaXMgcmV0dXJu ZWQuDQo+ID4gKyAgQHBhcmFtW2luXSAgICAgICAgVmVuZG9yR3VpZCAgICAgICAgQSB1bmlxdWUg aWRlbnRpZmllciBmb3IgdGhlIHZlbmRvci4NCj4gPiArICBAcGFyYW1baW5dICAgICAgICBBdHRy aWJ1dGVzICAgICAgICBBdHRyaWJ1dGVzIGJpdG1hc2sgdG8gc2V0IGZvciB0aGUgdmFyaWFibGUu DQo+ID4gKyAgQHBhcmFtW2luXSAgICAgICAgRGF0YVNpemUgICAgICAgICAgVGhlIHNpemUgaW4g Ynl0ZXMgb2YgdGhlIERhdGEgYnVmZmVyLiBVbmxlc3MNCj4gdGhlIEVGSV9WQVJJQUJMRV9BUFBF TkRfV1JJVEUNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRy aWJ1dGUgaXMgc2V0LCBhIHNpemUgb2YgemVybyBjYXVzZXMgdGhlIHZhcmlhYmxlIHRvIGJlDQo+ IGRlbGV0ZWQuIFdoZW4gdGhlDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRUZJX1ZBUklBQkxFX0FQUEVORF9XUklURSBhdHRyaWJ1dGUgaXMgc2V0LCB0aGVuIGEN Cj4gU2V0VmFyaWFibGUoKSBjYWxsIHdpdGggYQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERhdGFTaXplIG9mIHplcm8gd2lsbCBub3QgY2F1c2UgYW55IGNoYW5n ZSB0byB0aGUNCj4gdmFyaWFibGUgdmFsdWUuDQo+ID4gKyAgQHBhcmFtW2luXSAgICAgICAgRGF0 YSAgICAgICAgICAgICAgVGhlIGNvbnRlbnRzIGZvciB0aGUgdmFyaWFibGUuDQo+ID4gKw0KPiA+ ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICAgIFRoZSBmaXJtd2FyZSBoYXMg c3VjY2Vzc2Z1bGx5IHN0b3JlZCB0aGUNCj4gdmFyaWFibGUgYW5kIGl0cyBkYXRhIGFzDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCBieSB0aGUgQXR0 cmlidXRlcy4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgICAgICBBbiBp bnZhbGlkIGNvbWJpbmF0aW9uIG9mIGF0dHJpYnV0ZQ0KPiBiaXRzLCBuYW1lLCBhbmQgR1VJRCB3 YXMgc3VwcGxpZWQsIG9yIHRoZQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIERhdGFTaXplIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZC4NCj4gPiArICBAcmV0 dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgICAgICBWYXJpYWJsZU5hbWUgaXMgYW4gZW1wdHkg c3RyaW5nLg0KPiA+ICsgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgICAgICAgIE5vdCBl bm91Z2ggc3RvcmFnZSBpcyBhdmFpbGFibGUgdG8NCj4gaG9sZCB0aGUgdmFyaWFibGUgYW5kIGl0 cyBkYXRhLg0KPiA+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICAgICAgIFRoZSB2 YXJpYWJsZSBjb3VsZCBub3QgYmUgcmV0cmlldmVkIGR1ZQ0KPiB0byBhIGhhcmR3YXJlIGVycm9y Lg0KPiA+ICsgIEByZXR2YWwgRUZJX1dSSVRFX1BST1RFQ1RFRCAgICAgICAgIFRoZSB2YXJpYWJs ZSBpbiBxdWVzdGlvbiBpcyByZWFkLW9ubHkuDQo+ID4gKyAgQHJldHZhbCBFRklfV1JJVEVfUFJP VEVDVEVEICAgICAgICAgVGhlIHZhcmlhYmxlIGluIHF1ZXN0aW9uIGNhbm5vdCBiZQ0KPiBkZWxl dGVkLg0KPiA+ICsgIEByZXR2YWwgRUZJX1NFQ1VSSVRZX1ZJT0xBVElPTiAgICAgIFRoZSB2YXJp YWJsZSBjb3VsZCBub3QgYmUgd3JpdHRlbiBkdWUNCj4gdG8gRUZJX1ZBUklBQkxFX0FVVEhFTlRJ Q0FURURfV1JJVEVfQUNDRVNTLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9yDQo+IEVGSV9WQVJJQUJMRV9USU1FX0JBU0VEX0FVVEhFTlRJQ0FURURfV1JJVEVf QUNDRVNTLCBvcg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVG SV9WQVJJQUJMRV9FTkhBTkNFRF9BVVRIRU5USUNBVEVEX0FDQ0VTUw0KPiBiZWluZyBzZXQuIFdy aXRpbmcgdG8gYXV0aGVudGljYXRlZA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHZhcmlhYmxlcyBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBQRUkgZW52aXJvbm1l bnQuDQo+IFVwZGF0ZXMgdG8gYXV0aGVudGljYXRlZA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcyBjYW4gYmUgcmVxdWVzdGVkIGR1cmluZyBQRUkg dmlhIHRoZQ0KPiBFRklfQVVUSEVOVElDQVRFRF9WQVJJQUJMRV9IT0IsIGJ1dA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZXNlIHVwZGF0ZXMgd29uJ3QgYmUg d3JpdHRlbiB0byBub24tdm9sYXRpbGUgc3RvcmFnZQ0KPiB1bnRpbCBsYXRlciBpbiBEWEUuIFNl ZQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1kZU1vZHVsZVBr Zy9JbmNsdWRlL0d1aWQvVmFyaWFibGVGb3JtYXQuaCBmb3INCj4gbW9yZSBkZXRhaWxzIG9uDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX0FVVEhFTlRJQ0FU RURfVkFSSUFCTEVfSE9CLg0KPiANCj4gW01LXSBJIGRpZG4ndCBzZWUgIkVGSV9BVVRIRU5USUNB VEVEX1ZBUklBQkxFX0hPQiIgbWVudGlvbmVkIGluDQo+IFZhcmlhYmxlRm9ybWF0LmguDQo+IA0K PiBbTUtdIEl0IHNlZW1zIHRoYXQgaWYgYSBjb250cmFjdCBmb3IgcHJvZHVjaW5nIGFuZCB0aGVu IGNvbnN1bWluZyB0aGlzDQo+IEhPQiBpcyBnb2luZyB0byBiZSBkZWZpbmVkIGJldHdlZW4gdGhl IEhPQiBwcm9kdWNlciBhbmQgY29uc3VtZXIgcGhhc2UsDQo+IGl0IHNob3VsZCBiZSBkZXNjcmli ZWQgaW4gc29tZXRoaW5nIGxpa2UgdGhlIFBJIFNwZWMuDQo+IA0KPiA+ICsgIEByZXR2YWwgRUZJ X05PVF9GT1VORCAgICAgICAgICAgICAgIFRoZSB2YXJpYWJsZSB0cnlpbmcgdG8gYmUgdXBkYXRl ZCBvcg0KPiBkZWxldGVkIHdhcyBub3QgZm91bmQuDQo+ID4gKw0KPiA+ICsqKi8NCj4gPiArdHlw ZWRlZg0KPiA+ICtFRklfU1RBVFVTDQo+ID4gKyhFRklBUEkgKkVES0lJX1BFSV9TRVRfVkFSSUFC TEUpKA0KPiA+ICsgIElOIENPTlNUICBFREtJSV9QRUlfVkFSSUFCTEVfUFBJICAgICpUaGlzLA0K PiA+ICsgIElOICAgICAgICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICpWYXJpYWJsZU5hbWUs DQo+ID4gKyAgSU4gICAgICAgIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgKlZlbmRvckd1aWQs DQo+ID4gKyAgSU4gICAgICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlcywN Cj4gPiArICBJTiAgICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBEYXRhU2l6ZSwNCj4g PiArICBJTiAgICAgICAgVk9JRCAgICAgICAgICAgICAgICAgICAgICAqRGF0YQ0KPiA+ICsgICk7 DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBV RUZJIHZhcmlhYmxlcy4NCj4gPiArDQo+ID4gKyAgQHBhcmFtW2luXSAgICAgICAgVGhpcyAgICAg ICAgICAgICAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoaXMgaW5zdGFuY2Ugb2YgdGhlDQo+ IEVES0lJX1BFSV9WQVJJQUJMRV9QUEkuDQo+ID4gKyAgQHBhcmFtW2luXSAgICAgICAgQXR0cmli dXRlcyAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlcyBiaXRtYXNrIHRvIHNwZWNpZnkgdGhl IHR5cGUNCj4gb2YgdmFyaWFibGVzIG9uDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggdG8gcmV0dXJuIGluZm9ybWF0aW9uLg0KPiA+ ICsgIEBwYXJhbVtvdXRdICAgICAgIE1heGltdW1WYXJpYWJsZVN0b3JhZ2VTaXplICAgIE9uIG91 dHB1dCB0aGUgbWF4aW11bQ0KPiBzaXplIG9mIHRoZSBzdG9yYWdlIHNwYWNlDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlIGZv ciB0aGUgRUZJIHZhcmlhYmxlcyBhc3NvY2lhdGVkIHdpdGggdGhlDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcyBzcGVjaWZp ZWQuDQo+ID4gKyAgQHBhcmFtW291dF0gICAgICAgUmVtYWluaW5nVmFyaWFibGVTdG9yYWdlU2l6 ZSAgUmV0dXJucyB0aGUgcmVtYWluaW5nIHNpemUNCj4gb2YgdGhlIHN0b3JhZ2Ugc3BhY2UNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFp bGFibGUgZm9yIHRoZSBFRkkgdmFyaWFibGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVz IHNwZWNpZmllZC4NCj4gPiArICBAcGFyYW1bb3V0XSAgICAgICBNYXhpbXVtVmFyaWFibGVTaXpl ICAgICAgICAgICBSZXR1cm5zIHRoZSBtYXhpbXVtIHNpemUgb2YNCj4gdGhlIGluZGl2aWR1YWwg RUZJDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdmFyaWFibGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXR0cmlidXRlcyBzcGVjaWZpZWQuDQo+ ID4gKw0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFZhbGlkIGFuc3dlciByZXR1cm5lZC4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BB UkFNRVRFUiAgICAgICAgICAgICAgICAgICBBbiBpbnZhbGlkIGNvbWJpbmF0aW9uIG9mDQo+IGF0 dHJpYnV0ZSBiaXRzIHdhcyBzdXBwbGllZA0KPiA+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVE ICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBhdHRyaWJ1dGUgaXMgbm90IHN1cHBvcnRlZCBv bg0KPiB0aGlzIHBsYXRmb3JtLCBhbmQgdGhlDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4aW11bVZhcmlhYmxlU3RvcmFnZVNpemUsDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVt YWluaW5nVmFyaWFibGVTdG9yYWdlU2l6ZSwNCj4gTWF4aW11bVZhcmlhYmxlU2l6ZQ0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSB1bmRl ZmluZWQuDQo+ID4gKw0KPiA+ICsqKi8NCj4gPiArdHlwZWRlZg0KPiA+ICtFRklfU1RBVFVTDQo+ ID4gKyhFRklBUEkgKkVES0lJX1BFSV9RVUVSWV9WQVJJQUJMRV9JTkZPKSgNCj4gPiArICBJTiBD T05TVCAgRURLSUlfUEVJX1ZBUklBQkxFX1BQSSAgICAqVGhpcywNCj4gPiArICBJTiAgICAgICAg VUlOVDMyICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVzLA0KPiA+ICsgIE9VVCAgICAgICBV SU5UNjQgICAgICAgICAgICAgICAgICAgICpNYXhpbXVtVmFyaWFibGVTdG9yYWdlU2l6ZSwNCj4g PiArICBPVVQgICAgICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAqUmVtYWluaW5nVmFyaWFi bGVTdG9yYWdlU2l6ZSwNCj4gPiArICBPVVQgICAgICAgVUlOVDY0ICAgICAgICAgICAgICAgICAg ICAqTWF4aW11bVZhcmlhYmxlU2l6ZQ0KPiA+ICsgICk7DQo+ID4gKw0KPiA+ICsvLy8NCj4gPiAr Ly8vIFBFSSBWYXJpYWJsZSBQcm90b2NvbCBpcyBpbnRlbmRlZCBmb3IgdXNlIGFzIGEgbWVhbnMN Cj4gDQo+IFtNS10gV2FzICJQRUkgVmFyaWFibGUgUFBJIiBpbnRlbmRlZD8NCj4gDQo+ID4gKy8v LyB0byBzdG9yZSBkYXRhIGluIHRoZSBQRUkgZW52aXJvbm1lbnQuDQo+ID4gKy8vLw0KPiA+ICtz dHJ1Y3QgX0VES0lJX1BFSV9WQVJJQUJMRV9QUEkgew0KPiA+ICsgIEVES0lJX1BFSV9HRVRfVkFS SUFCTEUgICAgICAgICAgICBHZXRWYXJpYWJsZTsNCj4gPiArICBFREtJSV9QRUlfR0VUX05FWFRf VkFSSUFCTEVfTkFNRSAgR2V0TmV4dFZhcmlhYmxlTmFtZTsNCj4gPiArICBFREtJSV9QRUlfU0VU X1ZBUklBQkxFICAgICAgICAgICAgU2V0VmFyaWFibGU7DQo+ID4gKyAgRURLSUlfUEVJX1FVRVJZ X1ZBUklBQkxFX0lORk8gICAgIFF1ZXJ5VmFyaWFibGVJbmZvOw0KPiA+ICt9Ow0KPiA+ICsNCj4g PiArZXh0ZXJuIEVGSV9HVUlEICBnRWRraWlQZWlWYXJpYWJsZVBwaUd1aWQ7DQo+ID4gKw0KPiA+ ICsjZW5kaWYNCj4gPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMN Cj4gYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiA+IGluZGV4IDJiY2I5Zjk0NTMu LjRmNGM0OGI4MWYgMTAwNjQ0DQo+ID4gLS0tIGEvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5k ZWMNCj4gPiArKysgYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiA+IEBAIC01MTMs NiArNTEzLDkgQEANCj4gPiAgICAgZ0Vka2lpUGVpQ2Fwc3VsZU9uRGlza1BwaUd1aWQgICAgICAg ICAgICAgPSB7IDB4NzFhOWVhNjEsIDB4NWEzNSwgMHg0YTVkLA0KPiB7IDB4YWMsIDB4ZWYsIDB4 OWMsIDB4ZjgsIDB4NmQsIDB4NmQsIDB4NjcsIDB4ZTAgfSB9DQo+ID4gICAgIGdFZGtpaVBlaUJv b3RJbkNhcHN1bGVPbkRpc2tNb2RlUHBpR3VpZCAgID0geyAweGIwOGExMWU0LCAweGUyYjcsDQo+ IDB4NGI3NSwgeyAweGI1LCAweDE1LCAweGFmLCAweDYxLCAweDYsIDB4NjgsIDB4YmYsIDB4ZDEg IH0gfQ0KPiA+DQo+ID4gKyAgIyMgSW5jbHVkZS9QcGkvVmFyaWFibGUuaA0KPiA+ICsgIGdFZGtp aVBlaVZhcmlhYmxlUHBpR3VpZCAgICAgICAgICAgICAgICAgID0geyAweGU3YjJjZDA0LCAweDRi MTQsIDB4NDRjMiwgeyAweGI3LA0KPiAweDQ4LCAweGNlLCAweGFmLCAweDJiLCAweDY2LCAweDRh LCAweGIwIH0gfQ0KPiA+ICsNCj4gPiAgIFtQcm90b2NvbHNdDQo+ID4gICAgICMjIExvYWQgRmls ZSBwcm90b2NvbCBwcm92aWRlcyBjYXBhYmlsaXR5IHRvIGxvYWQgYW5kIHVubG9hZCBFRkkgaW1h Z2UgaW50bw0KPiBtZW1vcnkgYW5kIGV4ZWN1dGUgaXQuDQo+ID4gICAgICMgIEluY2x1ZGUvUHJv dG9jb2wvTG9hZFBlMzJJbWFnZS5oDQo+IA0KPiANCj4gDQo+IA0KDQo=