From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id E18423858D3C for ; Fri, 18 Mar 2022 13:49:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E18423858D3C X-IronPort-AV: E=McAfee;i="6200,9189,10289"; a="237750053" X-IronPort-AV: E=Sophos;i="5.90,192,1643702400"; d="scan'208";a="237750053" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2022 06:49:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,192,1643702400"; d="scan'208";a="499254112" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga003.jf.intel.com with ESMTP; 18 Mar 2022 06:49:26 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) 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.2308.21; Fri, 18 Mar 2022 06:49:26 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.21 via Frontend Transport; Fri, 18 Mar 2022 06:49:26 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.173) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Fri, 18 Mar 2022 06:49:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=inchTTJWnmcYo9ZdZEYy5WW1t+oHqHkzgRQNR9Rf+HyH9AGGwfFKa2A0rSHzpUWko7yNzBKq4RPUgk0m2PIh6CPkUEsXzRYpopLtuMU+RAKFMxc39rHS8cZ/e3NBoN6OCfJCuKpg392vE+oyC4BPEbAHchHTiZzXGNIy4dkp7IeVVZlY0Gd2kmzQT21iqweuHBeeN6yF7PXMdlXlraoItWAuSCSe++DMH2ulwDka47UeA8GTqhVnNPYheIQwSG7KIxBg5ptQOrk5zmkPUy67HNZu3r6ibc0XoEzW+yauQ7fXN02sWChVpt2xAqypnOrUMxSRgW8cDs0YuHnPTeGuqQ== 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=tRT4w5ed1xSwInp+0l9UpKcGLNZ/6cPzYfrA9NfZNTA=; b=BuGLm9WYlkjJs0mrMkoX0xI2dGzzkXqdBHPO8UJkntnwtulCMAlGl+DTxY7fnXhAhGeLDNzI4cZJb8VJ8rpYmqkZRDrNNDba0c+QhdqZladNmdqpN8O+F2XyoOly73r+b1+N7OhZ6bVrpnG94PcTeK1MDebPuP/hSD7tNzPk9hCxeQRAXRSAmCZudhx3skVEX7JXemkGcN//UbFWbbPe0g6NcCwY8cbWGZRuTl6E0F4DQ953dL77Yn2z22VpzqF3R/6svQILmN7MW5LXw7z8dWJu8P5otqnAUCZWclAMCDiXvNvkk8h4h/sXcjWklazE/DrJJyEcM4UBE/pVKikNZQ== 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 MN2PR11MB4566.namprd11.prod.outlook.com (2603:10b6:208:24e::16) by DM5PR11MB0025.namprd11.prod.outlook.com (2603:10b6:4:63::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.17; Fri, 18 Mar 2022 13:49:24 +0000 Received: from MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::2009:5469:530a:525e]) by MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::2009:5469:530a:525e%4]) with mapi id 15.20.5081.018; Fri, 18 Mar 2022 13:49:24 +0000 From: "Willgerodt, Felix" To: John Baldwin , "gdb-patches@sourceware.org" Subject: RE: [RFC PATCH 0/4] Handle variable XSAVE layouts Thread-Topic: [RFC PATCH 0/4] Handle variable XSAVE layouts Thread-Index: AQHYOW6kFza+gXTHx0yUQTdjkZ7L1KzDL10QgACTp4CAABykAIABDtxw Date: Fri, 18 Mar 2022 13:49:24 +0000 Message-ID: References: <20220316194608.89528-1-jhb@FreeBSD.org> <8e08b537-fe97-3c06-58d0-1e41cded2054@FreeBSD.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.401.20 dlp-reaction: no-action x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7f3ce388-cadd-4fe4-bbc8-08da08e61ca5 x-ms-traffictypediagnostic: DM5PR11MB0025:EE_ 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: PuP0G2NlXkFTKfCRrqL0ExH5brE2t0itwQWBD5UxBKebDWRqiX2RRj30UWbm29ncu9NrBifMLIAqMvcmxPBQFLg2wA8TIRHCziVoypUxGZJxncQsE84EFU0+qzUNyi69Nmz14x/tVkdom4ux/ETqQap4bHap0aQ8A+XPa+U4UVzxsCkrKcBALoSmKk0792KoSox0S9IjVYyNr51++aAqQCHWkFo7pED81qDj0/ZpAfqOeXIMrTP+twmi5hhq0ziJWiVd0XuRVzsB1ejlahJP/vTmhoPIykHUHYMD5BxJeDOeM2cCgbHFXe09Pwp+ygd1bFIKfXQy0YOKDFVKcz6+ZJ1jc/cA1UJ1feFoL0rALPMEUnL8OpkwE824IkoEfFH41gg/1VtLKq3pLuF7nmPPXkqx67KfgZIeEknPUru6eSz3ezv8f/Vausjp9gDtuSwat/r5klrNXOmV1oQSP8T6iEtK2XVaqo5V+cQpHZcU1HGSiVINfTMkpf5y4258Gn2Qf7yD4BFx9XVPb1byVb98vjkn//Js281TgfdnUZhD3qbjsYa7fRhWr5XjerWu9qI5++EL1U3+HuUDGItlA74pRmqai3ggHICe6u/HVQLamWMbBdB5hMEuR8+YQj3BIe7JZEyGPyic+SyyNG0bNwR2IzsrHZkRPUitHrat3pshMo85BUqHUknxBJ+B7B6QkWLtSoA6kLuHbLiV3kDLypL4kw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4566.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(66446008)(76116006)(66476007)(66556008)(2906002)(64756008)(33656002)(66946007)(8936002)(86362001)(71200400001)(66574015)(122000001)(82960400001)(38100700002)(26005)(186003)(83380400001)(107886003)(9686003)(53546011)(38070700005)(508600001)(52536014)(8676002)(110136005)(316002)(5660300002)(6506007)(55016003)(7696005)(4326008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ckZNNEx5RlRvTEIwNHZ0d3VkTGpwTFhtUlpmSGk2S2RqY2FRZGtEMk1hSDVY?= =?utf-8?B?TWRiZ0JhSUdlZE9DS3VCeHNObzFwVGxhUGZCMjAxU2VWc0JWUDUvYXJJbHFq?= =?utf-8?B?SW5SV3ljblh0d3JxVTNzdmVPdW9Ia0VNcmxBZU9obmtKVjNlQ1NLZkdsTEhF?= =?utf-8?B?cFBjaXlCU1B0SC9vNkdDWW9iTEs4akhwTGxhWERrVXpJSFVXK3BvZWNhMW5a?= =?utf-8?B?RzFNL0M0NXZLNW9kT1E3NlUvMlVKWndQWkV6TVJycnI5VG56MnYxUC9mZThC?= =?utf-8?B?Zm5BV0c5UG9uVFZUQURqbkJ4Q1ZHeGZIRkk3bjNmL0lacGFIcGVSMXZnTlk5?= =?utf-8?B?TG9FMWRvYWY2NW9aeFJwdmVyWjJ6QXZ6TnFqMmRNK0VUOU13QW1QQlg5Tm8v?= =?utf-8?B?NDJrYjBqcXFQajl4RGhzYUZRbmluOTd5Q1NhOUhzZTRaZGdMd1lhMDgveVpM?= =?utf-8?B?c0NoSitTZjFJa05EQUpac0czNjhoc2JjOFFySlZlampTejFNWkJzbXo1bm44?= =?utf-8?B?STRSdVNMN0ZEL2Z0anlmZW1jRjM5blYrWWtncUpkbldXeWxYY3I0S0J1TEJK?= =?utf-8?B?Y0wxRFJ1RzE4NnErbW5lL0VSbk1HRGNESkpVcWNXS05xYnV1UytWMWpwcThs?= =?utf-8?B?VVB5aWl3cW9DKzdVZUVIQzR2aHFOVVNIVVRpcU1teHQ4dzVmMFgvNUVuSnJy?= =?utf-8?B?K2VFM09qMWdxeEtyTHBCUEVLU3ZvRjJkWWw2WGlQN25DeUpnNTNyOFI5N1NR?= =?utf-8?B?Q20xRXU4amxDNnpRcysvWTcwSHBYNS9yYmdISXowMlk5Mlhwa1hhUXNiRlNm?= =?utf-8?B?dFFPdnR5bGNQcnBlUlJiSzZTVlE4N3pFaVIxNHpZSHA3NlY1OGZtUk9wN1hC?= =?utf-8?B?T1cxSkMwSDhJcE5lNVA1L0Q3WlVXME8yNFBtSjBHeSs5UFY5N3B1NkFXbjZI?= =?utf-8?B?dHRkL1FQN1BoZ1BrUkJZR2VMT0F3dUU1aFF3b1RxOUh0cjgwVkhzNHRBY1ZY?= =?utf-8?B?b005NHBUTjF1WVk1cGluVG1PYnhZZ1M5TThEYjB1UjVlSTNpaHFmYk5BZlRh?= =?utf-8?B?WjNWelc4RUV6UHp0M25ENnB4ZW1PY0pRU21vSHNqVFMxMEF0dWY5bUxPQi9h?= =?utf-8?B?TDF2bENXVnB0d0Z4M1FRM2VpOFppSzU2VVh4ajluWXA1cEVuZVJ3ZU1mQlNj?= =?utf-8?B?dEdpcU42NmZzaTlieTI2ZGRCdERjSk13dnF3d0t6UEYzQnlQUlp1MFFYZmN0?= =?utf-8?B?VnE3ZWVZemdHNGtsYjZEdXZ0WGYwenhXaFppeUFHalBET1FybFBTRlJLWUtF?= =?utf-8?B?Skx1bG1xdFRoOGRGRkREMEJOVEtoM0NlaCtpTmJ1UU0zRnBCRjM0TjFlYXFw?= =?utf-8?B?ZnYwUUNKTFFROXVKVWZUOE1YeTBGTHZkbU1uSmtVWElQSFNyejJVdXRBQzc1?= =?utf-8?B?WUpkN0hBNGNvdmRwVmoxbWdKY0VJQmZDdkxYL2V1aFJPaWlSditudXhRbDRJ?= =?utf-8?B?bWJMNG4yV1hRU05IdjFKN2VJMDRaUHA2NXRibWdidzR1MnBsem9PNU0wdm5X?= =?utf-8?B?MjdCY2NONkJ3THZPeWZlTGkyTUhGdkFUVy9BRUFsUzg2ajM4WW92dEkxVUN4?= =?utf-8?B?MGhNNDUyT3BZeU5aQlJsRm5rWWFRTzYwVkhCR3RscWRUK2VjQ0ZXL1pac2pV?= =?utf-8?B?WWc5c0ovSlJnYnVkdndGKzBBSFZXelZUaGVHL2VYUmNZZXpadHF0amVmMUt5?= =?utf-8?B?aFI4b2xFZXliUElBNE9oYnR1aDBaTi9mcnhpd1RiK3N2cEhCbXcraGs0TWJN?= =?utf-8?B?WUZTMkdJbW1kZHFDOERGbG11VllJWjVMRFRLWGxLaHA2M2pRdU5KSFh1eUtI?= =?utf-8?B?amp0QXBSY2JlUDVFQXRNMjg5Q0svZy9PRks2eitSSkRjQWZ4N0NpSjhrMGQ2?= =?utf-8?B?NjFEcTJBZ1BROUQxbFgyTUpwTjczMk5heEJZMmtZaWcybmRXeFpIeElUWFVl?= =?utf-8?B?Q3dZbFJYamF3PT0=?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4566.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f3ce388-cadd-4fe4-bbc8-08da08e61ca5 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2022 13:49:24.1064 (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: RfrOqLsM7D/CqXgsCADrsRaLTbMHHwfon85e0dNT4tZUcLl3Hx+YGjgZTNJnVKF2xJ4Du4Rh9yqY1dNR8gjIuVsge1lhs5L8Qt+dD3VCQRI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB0025 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Mar 2022 13:49:31 -0000 SGkgSm9obiwNCg0KU2VlIGNvbW1lbnRzIGlubGluZS4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBHZGItcGF0Y2hlcyA8Z2RiLXBhdGNoZXMtDQo+IGJvdW5jZXMrZmVs aXgud2lsbGdlcm9kdD1pbnRlbC5jb21Ac291cmNld2FyZS5vcmc+IE9uIEJlaGFsZiBPZiBKb2hu DQo+IEJhbGR3aW4NCj4gU2VudDogRG9ubmVyc3RhZywgMTcuIE3DpHJ6IDIwMjIgMTk6MDMNCj4g VG86IGdkYi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnDQo+IFN1YmplY3Q6IFJlOiBbUkZDIFBBVENI IDAvNF0gSGFuZGxlIHZhcmlhYmxlIFhTQVZFIGxheW91dHMNCj4gDQo+IE9uIDMvMTcvMjIgOToy MCBBTSwgSm9obiBCYWxkd2luIHdyb3RlOg0KPiA+IE9uIDMvMTcvMjIgNjoxNyBBTSwgV2lsbGdl cm9kdCwgRmVsaXggd3JvdGU6DQo+ID4+PiBUaGlzIGlzIGEgZmlyc3QgYXR0ZW1wdCBhdCByZXNv bHZpbmcgdGhlIGlzc3VlIHdpdGggWFNBVkUgSSBkZXNjcmliZWQNCj4gPj4+IHByZXZpb3VzbHku ICBUaGVyZSBhcmUgbW9yZSBkZXRhaWxzIGluIHRoZSBjb21taXQgbG9ncywgYnV0IGhlcmUgSSB0 aGluaw0KPiA+Pj4gd2lsbCBkZXNjcmliZSBzb21lIGNhdmVhdHMgYWJvdXQgdGhlIGN1cnJlbnQg cHJvdG90eXBlOg0KPiA+Pj4NCj4gPj4+IC0gSXQgaXMgcHJvYmFibHkgdGVycmlibGUgcGVyZm9y bWFuY2Utd2lzZSB0byBiZSByZWFkaW5nIHRoZSBvZmZzZXRzDQo+ID4+PiAgICAgZnJvbSB0aGUg dGFyZ2V0IGV2ZXJ5IHRpbWUgY29sbGVjdC9zdXBwbHlfeHNhdmUgaXMgY2FsbGVkLiAgSSdkDQo+ ID4+PiAgICAgYWN0dWFsbHkgbXVjaCBwcmVmZXIgdG8gc3RvcmUgdGhlc2UgKGFsb25nIHdpdGgg dGhlIHRvdGFsIFhTQVZFIGFyZWENCj4gPj4+ICAgICBzaXplKSBpbiB0aGUgdGRlcC4gIFRoZSBp c3N1ZSBpcyB0aGF0IHlvdSBjYW4gaGF2ZSBnZGJhcmNoZXMgd2l0aCB0aGUNCj4gPj4+ICAgICBz YW1lIHRkZXNjIHRoYXQgdXNlIGRpZmZlcmVudCBsYXlvdXRzIChlLmcuIGlmIHlvdSBvcGVuIGEg Y29yZSBkdW1wDQo+ID4+PiAgICAgZnJvbSBhbiBJbnRlbCBDUFUgb24gYSBob3N0IHdpdGggYW4g QU1EIENQVSwgdGhlIHR3byBDUFVzIGNvdWxkDQo+IGhhdmUNCj4gPj4+ICAgICBpZGVudGljYWwg WENSMCBtYXNrcywgYnV0IHRoZSBsYXlvdXQgaW4gdGhlIGNvcmUgZHVtcCB3b3VsZG4ndCBtYXRj aA0KPiA+Pj4gICAgIHRoZSBsYXlvdXQgb2YgYSBsaXZlIHByb2Nlc3MpLiAgUGVyaGFwcyBpZiBJ IGNhbiBmZXRjaCB0aGUgb2Zmc2V0cw0KPiA+Pj4gICAgIGZyb20gdGhlIHRhcmdldCBpbiBpMzg2 X2dkYmFyY2hfaW5pdCB0aG91Z2ggSSBjYW4gaXRlcmF0ZSBvdmVyDQo+ID4+PiAgICAgbWF0Y2hp bmcgYXJjaGVzIGxvb2tpbmcgZm9yIGEgbWF0Y2guDQo+ID4+DQo+ID4+IEkgZG9uJ3QgcXVpdGUg dW5kZXJzdGFuZCB3aHkgc3RvcmluZyB0aGVtIGluIHRkZXAgd291bGRuJ3Qgd29yay4NCj4gPj4g V2UgZ2V0IFhDUjAgZnJvbSB0aGUgY29yZWR1bXAsIG5vdCBmcm9tIHRoZSBDUFUgYW5hbHlzaW5n DQo+ID4+IHRoZSBjb3JlZHVtcC4gRm9yIGxpdmUgdGFyZ2V0cyB3ZSB3b3VsZCBxdWVyeSBDUFVJ RCBvbiBHREIvZ2Ric2VydmVyLg0KPiA+PiBJIGRvbid0IHNlZSBob3cgdGhpcyB3b3VsZCBjbGFz aCBpbiB5b3VyIGV4YW1wbGUsIGJ1dCBtYXliZSBJIG1pc3NlZA0KPiA+PiBzb21ldGhpbmcgaW4g eW91ciBwYXRjaGVzLg0KPiA+DQo+ID4gVGhlIHByb2JsZW0gaXMgdGhhdCB0d28gdGRlcCdzIHdp dGggdGhlIHNhbWUgWENSMCB2YWx1ZSBjdXJyZW50bHkNCj4gPiBoYXZlIGFuIGlkZW50aWNhbCB0 ZGVzYyBhbmQgdGh1cyBzaGFyZSB0aGUgc2FtZSAnc3RydWN0IGdkYmFyY2gnLg0KPiA+IEhvd2V2 ZXIsIGFuIEludGVsIENQVSB3aXRoIFhDUjAgb2YgMHgyMDcgdXNlcyBhIGRpZmZlcmVudCBsYXlv dXQNCj4gPiB0aGFuIGFuIEFNRCBDUFUgd2l0aCBhbiBYQ1IwIG9mIDB4MjA3LiAgV2Ugd291bGQg dGh1cyBuZWVkIHNlcGFyYXRlDQo+ID4gZ2RiYXJjaGVzIGZvciB0aG9zZS4gDQoNCkp1c3Qgb3V0 IG9mIGN1cmlvc2l0eTogSWYgd2Ugd291bGRuJ3QgaW1wbGVtZW50IGkzODdfc2V0X3hzYXZlX2xh eW91dCgpLA0KYW5kIHJlYWQgdGhhdCBpbmZvIGZyb20gQ1BVSUQgYW5kIHRoZSBjb3JlZmlsZSAo b25jZSB0aGF0IG5vdGUgZXhpc3RzKSwNCndvdWxkIHdlIHN0aWxsIG5lZWQgdGhpcz8NCg0KPj4g SSB0aGluayB0aG91Z2ggSSBjYW4gbWFrZSB0aGF0IHdvcmsgaWYgSSBmZXRjaA0KPiA+IFRBUkdF VF9PQkpFQ1RfWDg2X1hTQVZFX09GRlNFVFMgaW4gaTM4Nl9nZGJhcmNoX2luaXQoKSBiZWZvcmUg dGhpcw0KPiA+IGxvb3A6DQo+ID4NCj4gPiAgICAgLyogSWYgdGhlcmUgaXMgYWxyZWFkeSBhIGNh bmRpZGF0ZSwgdXNlIGl0LiAgKi8NCj4gPiAgICAgYXJjaGVzID0gZ2RiYXJjaF9saXN0X2xvb2t1 cF9ieV9pbmZvIChhcmNoZXMsICZpbmZvKTsNCj4gPiAgICAgaWYgKGFyY2hlcyAhPSBOVUxMKQ0K PiA+ICAgICAgIHJldHVybiBhcmNoZXMtPmdkYmFyY2g7DQo+ID4NCj4gPiBBbmQgaW5zdGVhZCBv bmx5IHJldHVybiBhbiBleGlzdGluZyBnZGJhcmNoIGlmIGl0IGhhcyB0aGUgc2FtZSBYU0FWRQ0K PiA+IGxheW91dC4gIEZvciBleGFtcGxlLCBSSVNDLVYgZG9lcyB0aGUgZm9sbG93aW5nIGxvZ2lj IHRvIGhhbmRsZQ0KPiA+IGRpZmZlcmVuY2VzIGluIGdkYmFyY2hlcyB0aGF0IGFyZW4ndCBmdWxs eSBoYW5kbGVkIGJ5IHRoZSB0ZGVzYzoNCj4gPg0KPiA+ICAgICAvKiBGaW5kIGEgY2FuZGlkYXRl IGFtb25nIHRoZSBsaXN0IG9mIHByZS1kZWNsYXJlZCBhcmNoaXRlY3R1cmVzLiAgKi8NCj4gPiAg ICAgZm9yIChhcmNoZXMgPSBnZGJhcmNoX2xpc3RfbG9va3VwX2J5X2luZm8gKGFyY2hlcywgJmlu Zm8pOw0KPiA+ICAgICAgICAgIGFyY2hlcyAhPSBOVUxMOw0KPiA+ICAgICAgICAgIGFyY2hlcyA9 IGdkYmFyY2hfbGlzdF9sb29rdXBfYnlfaW5mbyAoYXJjaGVzLT5uZXh0LCAmaW5mbykpDQo+ID4g ICAgICAgew0KPiA+ICAgICAgICAgLyogQ2hlY2sgdGhhdCB0aGUgZmVhdHVyZSBzZXQgb2YgdGhl IEFSQ0hFUyBtYXRjaGVzIHRoZSBmZWF0dXJlIHNldA0KPiA+IAkgd2UgYXJlIGxvb2tpbmcgZm9y LiAgSWYgaXQgZG9lc24ndCB0aGVuIHdlIGNhbid0IHJldXNlIHRoaXMNCj4gPiAJIGdkYmFyY2gu ICAqLw0KPiA+ICAgICAgICAgcmlzY3ZfZ2RiYXJjaF90ZGVwICpvdGhlcl90ZGVwDQo+ID4gCT0g KHJpc2N2X2dkYmFyY2hfdGRlcCAqKSBnZGJhcmNoX3RkZXAgKGFyY2hlcy0+Z2RiYXJjaCk7DQo+ ID4NCj4gPiAgICAgICAgIGlmIChvdGhlcl90ZGVwLT5pc2FfZmVhdHVyZXMgIT0gZmVhdHVyZXMN Cj4gPiAJICB8fCBvdGhlcl90ZGVwLT5hYmlfZmVhdHVyZXMgIT0gYWJpX2ZlYXR1cmVzKQ0KPiA+ IAljb250aW51ZTsNCj4gPg0KPiA+ICAgICAgICAgYnJlYWs7DQo+ID4gICAgICAgfQ0KPiA+DQo+ ID4gICAgIGlmIChhcmNoZXMgIT0gTlVMTCkNCj4gPiAgICAgICByZXR1cm4gYXJjaGVzLT5nZGJh cmNoOw0KPiA+DQo+ID4gSSB0aGluayBpdCB3b3VsZCBhbHNvIGJlIGhhbmR5IGluIHRoaXMgY2Fz ZSB0byBleHRlbmQgdGhlIHhzYXZlX29mZnNldHMNCj4gPiBzdHJ1Y3R1cmUgdG8gaW5jbHVkZSB0 aGUgdG90YWwgc2l6ZSB0aGF0IGNhbiBiZSB1c2VkIGluIHRoZSBjb2xsZWN0L3N1cHBseQ0KPiA+ IGNhbGxiYWNrcy4NCj4gDQo+IEkgaGF2ZSBtYWRlIHRoZXNlIGNoYW5nZXMgYW5kIGl0IGRvZXMg YXBwZWFyIHRvIHdvcmsuICBJIGRvIHRoaW5rIHRoZQ0KPiBhcHByb2FjaA0KPiBvZiBhIG5ldyBU QVJHRVRfT0JKRUNUIHdpbGwgd29yayAoYW5kIGl0IHdpbGwgc3VwcG9ydCBhZGRpbmcgYSBuZXcN Cj4gTlRfWDg2X1hTQVZFX0xBWU9VVCBvciB0aGUgbGlrZSBpbiB0aGUgZnV0dXJlIHRvIGJldHRl ciBzdXBwb3J0IGNvcmUNCj4gZHVtcHMpLg0KPiBJZiB5b3UgYWdyZWUgd2l0aCB0aGF0IHBhcnQg b2YgdGhlIGRlc2lnbiAoYW5kIHN0b3JpbmcgaXQgaW4gdGhlIHRkZXAsIGV0Yy4NCj4gSSBjYW4g dHJ5IHRvIG1lcmdlIGluIHBhcnRzIG9mIHlvdXIgcGF0Y2hzZXQgKGluIHBhcnRpY3VsYXIsIG1v dmluZyBzb21lDQo+IHRoaW5ncyB0byBnZGJzdXBwb3J0IGFuZCBzaW1pbGFyIGdkYnNlcnZlciBw YXRjaGVzKSBvciBJJ20gaGFwcHkgdG8gbGV0IHlvdQ0KPiBkcml2ZS4gIEkgd2lsbCBzZW5kIGEg VjIgd2l0aCB0aGUgY2hhbmdlcyB0byBzdG9yZSB0aGUgbGF5b3V0IGluIHRoZSB0ZGVwLg0KPiAN Cj4gLS0NCj4gSm9obiBCYWxkd2luDQoNCg0KUGxlYXNlIGZlZWwgZnJlZSB0byB0YWtlIChhbmQg YWRqdXN0KSBhbnkgY29kZSBvciBpZGVhIGZyb20gb3VyIHBhdGNoc2V0DQp0aGF0IHlvdSBsaWtl LiBJIGp1c3QgcG9zdGVkIGl0IHRyeWluZyB0byBiZSBoZWxwZnVsLg0KDQoNCkkgbXVzdCBhZG1p dCBJIGFtIG5vdCBzbyBzdXJlIGFib3V0IHlvdXIgYXBwcm9hY2guIFllcyBpdCBoZWxwcw0Kbm93 LiBCdXQgYXNzdW1lIGluIHRoZSBmdXR1cmUgdGhlcmUgaXMgYSA2NC1ieXRlIGNvbXBvbmVudCBZ IGFuZCBhIDY0LWJ5dGUNCmNvbXBvbmVudCBYLiBXaGF0IGhhcHBlbnMgaWYgb25lIENQVSBkcm9w cyBYIGFuZCBhbm90aGVyIGRyb3BzIFk/DQpXZSBjb3VsZCBoYXZlIHRoZSBzYW1lIFhDUjAgYW5k IHNhbWUgWFNBVkUgc2l6ZSBhbmQgbm8gd2F5IHRvIA0KZGlzdGluZ3Vpc2ggdGhlIGxheW91dHMu DQpUbyBtZSB0aGVyZSBpcyBubyByZWFsIGFsdGVybmF0aXZlIHRvIGdldHRpbmcgZXZlcnl0aGlu ZyBmcm9tIENQVUlELg0KSSBwZXJzb25hbGx5IHdvdWxkIGF0IGxlYXN0IGxpa2UgdG8gc2VlIENQ VUlEIGltcGxlbWVudGVkIGZvciBsaXZlDQpwcm9jZXNzZXMsIGFuZCBhIGh1Z2UgY29tbWVudCB0 aGF0IHRoaXMgaXMgYSBsYXN0LXJlc29ydCBmYWxsYmFjaw0KZm9yIGNvcmVmaWxlcywgdGhhdCBj b3VsZCBmYWlsLiBVbnRpbCB3ZSBoYXZlIHRoZSBjb3JlZmlsZSBzdHVmZiBmaWd1cmVkIG91dC4N Cg0KVGhhdCBzYWlkLCBJIGFtIG5vIG1haW50YWluZXIgYW5kIG5vdCB0aGUgcmlnaHQgcGVyc29u IGZvciBkZWNpZGluZy4NClRoaXMgaXMganVzdCBteSBwb2ludCBvZiB2aWV3Lg0KDQoNCkkgbG9v a2VkIGF0IHRoZSBJbnRlbCBzb2Z0d2FyZSBkZXZlbG9wbWVudCBtYW51YWwgYSBiaXQuIFRoZXJl IGlzIGENCmNvbXBhY3RlZCB4c2F2ZSBmb3JtYXQgYW5kIGEgc3RhbmRhcmQgZm9ybWF0LiBJbiBH REIgd2UNCm5ldmVyIGNoZWNrIHdoaWNoIG9uZSBpcyB1c2VkIGFuZCBhc3N1bWUgc3RhbmRhcmQg Zm9ybWF0LCBhZmFpay4NCihJIHRoaW5rIHdlIGhhdmUgZXZlbiBkcm9wcGVkIHRoYXQgaW5mb3Jt YXRpb24gd2hlbiB3ZSBhcmUgaW4NCkkzODctdGRlcC5jLikNCg0KU0RNOg0KIlN0YW5kYXJkIGZv cm1hdC4gRWFjaCBzdGF0ZSBjb21wb25lbnQgaSAoaSDiiaUgMikgaXMgbG9jYXRlZCBhdCB0aGUg Ynl0ZQ0Kb2Zmc2V0IGZyb20gdGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUgWFNBVkUgYXJlYSBlbnVt ZXJhdGVkIGluDQpDUFVJRC4oRUFYPTBESCxFQ1g9aSk6RUJYLiAoQ1BVSUQuKEVBWD0wREgsRUNY PWkpOkVBWCBlbnVtZXJhdGVzDQpUaGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIGZvciBzdGF0 ZSBjb21wb25lbnQgSSINCg0KTVBYIGlzIGkgPSAzIChhbmQgNCkuDQoNClRoYXQgc2FpZCwgTVBY IGlzIG1hcmtlZCBhcyBkZXByZWNhdGVkIGFuZCBJIGRvbid0IGtub3cgaWYgdGhhdA0KaGFzIGFu eSBpbmZsdWVuY2UuDQoNCkp1ZGdpbmcgYnkgeW91ciBYQ1IwIHZhbHVlcyBpbiB5b3VyIGVhcmxp ZXIgZW1haWwsIHlvdSBhcmUgbm90IGluDQpjb21wYWN0ZWQgbW9kZSwgcmlnaHQ/IENvdWxkIHlv dSBjaGVjayB0aGUgQ1BVSUQgbGVhdmVzIGZvciBNUFg/DQpJIHdvbmRlciB3aGF0IHRoZXkgcmVw b3J0Lg0KDQpGZWxpeA0KSW50ZWwgRGV1dHNjaGxhbmQgR21iSApSZWdpc3RlcmVkIEFkZHJlc3M6 IEFtIENhbXBlb24gMTAsIDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQpUZWw6ICs0OSA4OSA5OSA4 ODUzLTAsIHd3dy5pbnRlbC5kZSA8aHR0cDovL3d3dy5pbnRlbC5kZT4KTWFuYWdpbmcgRGlyZWN0 b3JzOiBDaHJpc3RpbiBFaXNlbnNjaG1pZCwgU2hhcm9uIEhlY2ssIFRpZmZhbnkgRG9vbiBTaWx2 YSAgCkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogTmljb2xlIExhdQpSZWdp c3RlcmVkIE9mZmljZTogTXVuaWNoCkNvbW1lcmNpYWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0IE11 ZW5jaGVuIEhSQiAxODY5MjgK