From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id EZ/2JysIoGqc/DYAWB0awg (envelope-from ) for ; Tue, 08 Sep 2026 09:05:47 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Lktu58sB; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 9A0AD1E09E; Tue, 08 Sep 2026 09:05:47 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 5C6541E091 for ; Tue, 08 Sep 2026 09:05:43 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2E0B54C31847 for ; Tue, 8 Sep 2026 13:05:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2E0B54C31847 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Lktu58sB Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by sourceware.org (Postfix) with ESMTPS id E5D064BA799B for ; Tue, 8 Sep 2026 13:05:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E5D064BA799B Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E5D064BA799B Authentication-Results: sourceware.org; arc=fail smtp.remote-ip=192.198.163.11 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1788872705; cv=fail; b=UgynPYN55D8xlwuAJlVSzBfl8MdinWL2uSfztDQ6CgjkqnQP54lysiIngBHppcoVyQr/rUiwrQ5d3UHSwDkbnpoIDNgnt/tmiWHYGlLrVnhE4fvgIgKwWZteLfAYGlBwGyJxfTLIiapp7AcoP4Spsr4947AiqdpHgAHZZuK3SQQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1788872705; c=relaxed/simple; bh=PaUbBW1JbiLAVq085qnRYMeTNIQzD3OpDBGylM1YCUQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=P0fbHekiJQTiArCoDQEtLJ5kOj8WsmC4Rc3wap6TEarMnjIqxfIHidL9WSxPDdwy3GldKwL40DGelovR2zOYgxsEFP8CiInLgjkF+gxukY4UtJQQKnPdC8o+ug+rFaRNgT0lhhEVpKPveLUpSrlCqkeH74jXMXymyd/Clc5bunc= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Lktu58sB DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5D064BA799B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1788872705; x=1820408705; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=PaUbBW1JbiLAVq085qnRYMeTNIQzD3OpDBGylM1YCUQ=; b=Lktu58sBcSnj9ssodbmYf7DBThVT4lFS34q2biaPJpq0ksBm2SDor/N6 6heUj8v+qjlQXLBkBzgw9APIzQQv43c7nxJbZ+I4JnPGMvTaJy85vQtIE FvLxIPRl6TOg+YnN6XhNqKAeBV18pXMV5wJX7ToqzWTTenXV+uTh32aoG KYBUqvYXIlT3bKjOr5mOlvQQMBfpconopMro6cB7SIeGVEN1k3aXN1NOW 7YAHdweV6f7K7lG7zUYEG7tdfOVrjYwTgXkjhQ0Z66r026Tzkn4tCx4Uq M7nXS+oLxkOuZFHXjMibHM3wdR3G0Moqx3boZdlee6kfVCRyDaZLpGUXk Q==; X-CSE-ConnectionGUID: FrrY62rORWyHMSm/TIEp8Q== X-CSE-MsgGUID: O9hzpleERKq3nyV8MO93ag== X-IronPort-AV: E=McAfee;i="6800,10657,11899"; a="99866047" X-IronPort-AV: E=Sophos;i="6.25,268,1779174000"; d="scan'208";a="99866047" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2026 06:05:01 -0700 X-CSE-ConnectionGUID: K+gprX2DT+i5ASGe36C5hg== X-CSE-MsgGUID: XXyKvbU2SZKTl31lvpbgkw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,268,1779174000"; d="scan'208";a="295902103" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by fmviesa001.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2026 06:05:01 -0700 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 06:05:00 -0700 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46 via Frontend Transport; Tue, 8 Sep 2026 06:05:00 -0700 Received: from CH1PR05CU001.outbound.protection.outlook.com (52.101.193.21) by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 06:05:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=l7vvJqZduI3CkTjyY40QpyXGwQDemLu/5wbG3iTHOjHph5jx/1zD7Kt9IU3pX48MGDfCDtWRdHHQcyQbcLiJKgjTNML6quL6pVh3n3QUqp2f4zCcY/euLIJQgmikGQILntlhQuxLlHQgPQMA5Arn+RLVTcMwMaD0ofYqXVyoCEvkgvaEn+JF+P54NBqnasaavB9coxi4JzT3DQWKTn9ILqfSY4B+1QAmRfcPar8GVdi4HM3QTewbYJrv6TDkrKT6eCl6S9bLGNBcyv5P+oL9yeatdECAFMiHOcQlI9rA2ZUdhiaemFTr6r5L5Pid99FeW3ugGSwUFLoGMag/22PsnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=nfu3Aj/YOieqoQFuQho+m7Nq5LFIJXVr5c/0NLWeF9s=; b=ghEmNpS3ZQM8CcLO5OShCABkzNE5rklpW8asbwX3q30hdtc8e70uuukodg9aWau9XzoRwyrURw3P/AGKFJXH3ctam3Ctz64P6eyoukJoR/75MghF3DKtoLccMxD9LLX0wcritm59hv55NcJbuovi//ZThrMqYD7CzMV/RRKkj4KZF1ERvJERMcPcCC3GSl90Py/Y3BdYExIKBbAQMS0Zhhmor/rxJfB9Bb7W/WZ2C8dAlRpbfLkrEo+/TesrtZMLFR+aUfbUSQktSPkVEVr1lddDjIbDn6DX5KdrhRuLmGP0xbTyYXlZvgrs58MA0dUxlHW00EipOr4EnXNVRaAVBA== 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 DS7PR11MB6247.namprd11.prod.outlook.com (2603:10b6:8:98::22) by IA1PR11MB8175.namprd11.prod.outlook.com (2603:10b6:208:44f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.15; Tue, 8 Sep 2026 13:04:57 +0000 Received: from DS7PR11MB6247.namprd11.prod.outlook.com ([fe80::af57:631:e7eb:3aea]) by DS7PR11MB6247.namprd11.prod.outlook.com ([fe80::af57:631:e7eb:3aea%3]) with mapi id 15.21.0382.014; Tue, 8 Sep 2026 13:04:56 +0000 From: "Rohr, Stephan" To: Hannes Domani , "gdb-patches@sourceware.org" , "gdb-patches@sourceware.org" CC: "Joos, Christina" , Tom Tromey Subject: RE: [PATCH v3 7/8] Windows gdb: Implement AVX register support Thread-Topic: [PATCH v3 7/8] Windows gdb: Implement AVX register support Thread-Index: AQHdN8d0wzQkaJJ9QkqK365Jy3ead7bEboBg Date: Tue, 8 Sep 2026 13:04:56 +0000 Message-ID: References: <20260829145823.1034821-1-ssbssa@yahoo.de> <20260829145823.1034821-7-ssbssa@yahoo.de> In-Reply-To: <20260829145823.1034821-7-ssbssa@yahoo.de> Accept-Language: en-US Content-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: DS7PR11MB6247:EE_|IA1PR11MB8175:EE_ x-ms-office365-filtering-correlation-id: 2229f292-57f3-47f5-27c4-08df0da9c7d2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|366016|1800799024|376014|6133799003|3023799007|10067099003|18002099003|22082099003|11063799006|56012099006|4143699003|38070700021; x-microsoft-antispam-message-info: 5uoI9C49DHOQ6ZWhdRJxE96CrPRck011UXic0/+dy4nS377bZKe+gxTnGzQRnhuyLw3hpG5DkEvaV672bJAcPqqAiVKKHIfn/dW+35Twz2EpOOlJGudBbC6lvZ2/xYClwRiIdO3NLYZN4BkzT4SA/2SRdPnuN7E9lzAHEtVBjAvyf0wcxxDqAFc1oZFRrXDY7nMVi+uuQRXYjFNey9FLyeysGj87WyoU3CLFQpQNwnpRV245g/B4e2T9RNhksI5YzOl2uQd12f3I7G7CokAvM6OfmYReBb0rtlx7rsMvmu7593K/aDAZMIrHZdGNj7vIQWjKegRjw/WIdgXrWH0WwkM83OYHiqo6z3HPFyQa9gTIApzIuU/Id26w7kW60EXQZCJFSOONS1Q/INtUFB8T8OLbf49oUJmM6WSqDTHjVp3ToHETBKOrF0mpcpD04to95mupV0uRRq+6H4dZv4yIiFmXUrAe01gVOeYtxp/4i51u82YaoXhoA5SxhlKtmrjUdU4WvSvFx+jbogCbZdmmhFZNT8zcsCPpwyPMobDw1DPUCe1iznAufJZ8f1iXqaOx10XR59rYbWQ9H0W9ecU/UujGNvt8zfSQAtLRtxnjqvuaV5JWMA2PoWh+HzIC6yI3NYB9tq2gP8A8CuJiGziaBwpXpkKknEd56pIzZ8YJf3A= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR11MB6247.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(6133799003)(3023799007)(10067099003)(18002099003)(22082099003)(11063799006)(56012099006)(4143699003)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bXlLNFlpejBETGVEbGNrdE50V0NaN3NaQ0lOM05TWUk1akVDaWFPN084UE1y?= =?utf-8?B?bmVKU0drdHBYQVphUk5vaExkbmJPTytoQy9KdXR1T0ZacUpIcm1RWTVGOWNY?= =?utf-8?B?S1BKL2k1NGZXbXdoenJoQWNzc25iRmVqMHpyN2t6TEQ1VUcxTUMxU2Z1OTVo?= =?utf-8?B?YkdWbWdZUmtTOWM5aVl1bnRMcHZLRGRNdmFCQVBWSG8xNnRpeDB6b2RzNm5T?= =?utf-8?B?THNlcExBci80OHRsUCtkK2hUVENOSkVBNWt3U2pReTBWcFBSZjFZZi9ZM3lJ?= =?utf-8?B?dkxDN2JNOGJaZ3MrdW1vWDIrM05MNGhXcGtNVVRSMDFiVVZjbWdJZUFqWEsr?= =?utf-8?B?RmNEQWZoaTYyZi9oM01lS1ZGbDE3U0U5STdTQ013Uy9uTXVQYTdSMDVvdzIz?= =?utf-8?B?SFJ0VER2Ny9jdDdPbkpDRGxMMjN0UmRURjdpWkdXb2c4a2FpQW9uMXhPaGh0?= =?utf-8?B?TDdFbW8zcFNpdC9KTXJJVGxWbmRrN1pJRmh1SEM0UW9XK0tEbkR6a040QWlJ?= =?utf-8?B?UTZVei9lUHZ2R2lwa2p5RGdSWlFXUjlpWmNLeHVYUU0vUjEvdCs3dzhHWXFn?= =?utf-8?B?NTBwaC8yd3FWeVNjRERqNnpKb3ZFcU85S1UxRXl0WlRHaVZvdmFVeHVwWkVh?= =?utf-8?B?WnhpM21YRnFrL0tGTWdXMkFBSy9xTzJ1dG9wQlVtazEyZmZTenZRK3AxejVX?= =?utf-8?B?M2VKZ3FPdFhxZzR1bWFMZ21HL2M0RHpLWVNzOVdEUk5pNFJFcUJXcFk4MEJF?= =?utf-8?B?ZWdTUnI0TWVwc25nQ0xqMGVUTXg2QTJjYmRDVE9kTlpFeTBPZFEwaWhYTUhJ?= =?utf-8?B?REZlTTZNaWswU1FqYW9SbVV0NHNMVDNjZzhLRmFuSFZNOFJDbml3akZsRUE2?= =?utf-8?B?bWVXT1RhMW1wRTZocWxrc0FDRC95NTZNMGxiTEJZVlQvU3VJbENITitkQXB4?= =?utf-8?B?Ujk1d2l4dDJMN1lvMCtVSVA5OWFaU3pUWnFnWTRqbjhEU25aVjBpaU5hazB2?= =?utf-8?B?ekFMaEpMRHE4RncraU0rclZ4TDVWZzQyVTcwNWtSNG9vZTZJTGsyTDh6a1h3?= =?utf-8?B?RklrYVRTdUo2ME41ejNRc0d0L2JDeUo0WUkwc1JpL2tBd29wNFhxZmRzejZ4?= =?utf-8?B?K1NwbTNBeXE2WnhxQVVGQTluWTBmMEZEc0FSTGJtME41WUxFUGhMcFQrNng1?= =?utf-8?B?ZGJydGR4eU1yT3lDWVpiNzdhcE9RNXJOQ0xja21kZ0JMVDVuVkh0RWF3Q1R4?= =?utf-8?B?OHE4Z0p2NllQTTNlVm1RR2QzNE5uU2oxcTNkQ1ROYWhsY0E4b2M0OGtkc3hm?= =?utf-8?B?d3lGYTdIaklQeUpDODNBUGhiS3lBNkFkU09Kc1p1dUpnVzMxT3QyZzRTV1gv?= =?utf-8?B?SWVHUENZSUVHeUdwYkNpZVN4ZG01UkFlVm9OeTNZRy9zSDhwdTMyR21uSUxv?= =?utf-8?B?U0lIbXlsUHhUekdmT3diS0tsczBLUFovS0N6SE5WT0dIeW5rZ2tENVpiS3lJ?= =?utf-8?B?NXk3eVlxSVF5OXJKa3BtdWY3UXExZDl1cXlWdFdsYmUzMGFkbjJxWE4rM0Qx?= =?utf-8?B?UHFFc01sUmRmcDJNYWZJN1J0MUVpWVhSV2x4WU51UldueVBpcTJja1FJOFg4?= =?utf-8?B?QVM0ZFE4VFE4TVBMVjZnaHUzbG80UXJOYm9FalJGV3F5Ynp1b09iSFcrMlFi?= =?utf-8?B?eHFvTkcveDZZT0xkSjY2VEZvRHVRWGlPQkpFLy91eGNBMTd2N3NXU0hTZ3V3?= =?utf-8?B?YWgwd1E1cHlsY2ZZYmZuS25yQzM3WFJxdlFtYnhwWi8zK21VLzBKbmxzTHor?= =?utf-8?B?ZmcvaHEzbVY5b0ppUjZKMGxDa2tJaldVblNqbkxXY3JmTU9UNGoxSi9VcXdk?= =?utf-8?B?cU1GWW55TlNtdWlINTlLWC92ajVYRVVQSnI2V3ZFbTA5WlVvc2hwYmE3a0ZL?= =?utf-8?B?bkl6RUFLWC85VkZTL2NhaTlFeE9zSThHRGdqanM4eGlrNXFreVJTaTU4YzRX?= =?utf-8?B?bTVmdENNYytPUFVnYjdpc1lCUlhFbHJNMEtFb0ZhMTdYUXpuQndDUXI1b2ZS?= =?utf-8?B?M3ZCakw5SmJxOXIrdWJmUkFMMjFsck0xZVVvQ2MvRFhUK0pLUjB6cHZrNTJw?= =?utf-8?B?bWcwbzU5N3BnMEplMEVlSFJQTzV6WGFadmQwbkdKd1BUZ3hRVHVGRXFEUWtu?= =?utf-8?B?UHo5YmF0cm93THV5anEvYkdmVklCbzFIYWVaTU85WWRUcG9DaTdmQnRiQnZH?= =?utf-8?B?YitEQVo3anVNZXFYQlcvUkZGT3ZxakUzeUN5dG9FNjV1R0M4N1VsL3RMZmxs?= =?utf-8?B?OXRNSzhjMDRNTnBtc2lhRHFsdHhDNHpySlZDTG9mcEVEeSsySVVVUT09?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: S06ki5ERe7cKhK40RYTQ/8DhQyz1Wj0efUiBtxAib3gomn7254PU+LXTnfX6XgGuaDArV81qvbjlvx50xSXq+npg4jIGw2X8HV+Gn3uDayrxPw4xVxomKHIN83szyOuNXna53G2MqeYZ0y62Q+wnu0vvoSC94YggyoyNd2IBjfL2zQKs+BHahtcSl9S4x9X1rJ7QQPek1lFtvJLmXK3gZeLm7assw4aeq8rKBKAQYGOL26JnW7fVqnMKO3e7/CtlNIaDyWi2Vp02Hf7DlXoe9P3vcBRw8lrtu8KE4EC4BaztzMF4dJwbT5lFcWwrZo2FLyHkLnXCxesJCG3vnJv4Nw== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB6247.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2229f292-57f3-47f5-27c4-08df0da9c7d2 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Sep 2026 13:04:56.2228 (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: 8IxLzs7d2eDc4949IDvDTX1jTGtsozsCdJrAokYWgTTEWpvJPPZClCywOQ0+sF6RZTxpPJW3ipidUxZodFltXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB8175 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org SGkgSGFubmVzLA0KDQpwbGVhc2Ugc2VlIHNvbWUgZmVlZGJhY2sgaW5saW5lZCBiZWxvdy4NCg0K TGV0IG1lIGtub3cgaWYgeW91IGhhdmUgYW55IHF1ZXN0aW9ucy4NCg0KVGhhbmtzDQpTdGVwaGFu DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSGFubmVzIERvbWFuaSA8 c3Nic3NhQHlhaG9vLmRlPg0KPiBTZW50OiBTYXR1cmRheSwgMjkgQXVndXN0IDIwMjYgMTY6NDkN Cj4gVG86IGdkYi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnDQo+IFN1YmplY3Q6IFtQQVRDSCB2MyA3 LzhdIFdpbmRvd3MgZ2RiOiBJbXBsZW1lbnQgQVZYIHJlZ2lzdGVyIHN1cHBvcnQNCj4gDQo+IFRo aXMgYWRkcyBzdXBwb3J0IGZvciB0aGUgSW50ZWwgQVZYIHJlZ2lzdGVycyBvbiBXaW5kb3dzLg0K PiBJdCBlbmFibGVzIGFjY2Vzc2luZyByZWdpc3RlcnMgJHltbTAgLSAkeW1tMTUgd2hlcmUgdGhl eSBhcmUgYXZhaWxhYmxlLg0KPiANCj4gQWZ0ZXIgdGhpcyBwYXRjaCBnZGIuYXJjaC9pMzg2LWF2 eC5leHAgcGFzc2VzIG9uIHdpbmRvd3MuDQo+IC0tLQ0KPiB2MzoNCj4gICAtIG1lcmdlZCBnZGIr Z2Ric2VydmVyIHBhcnRzLCBhbmQgc3BsaXQgYWdhaW4gQVZYL0FWWC01MTIgcGFydHMNCj4gLS0t DQo+ICBnZGIvTkVXUyAgICAgICAgICAgICAgICAgICAgfCAgMyArKw0KPiAgZ2RiL25hdC93aW5k b3dzLW5hdC5jICAgICAgIHwgIDIgKy0NCj4gIGdkYi94ODYtd2luZG93cy1uYXQuYyAgICAgICB8 IDY3DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCj4gIGdkYnNlcnZl ci93aW4zMi1pMzg2LWxvdy5jYyB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LQ0KPiAgZ2Ric2VydmVyL3dpbjMyLWxvdy5jYyAgICAgIHwgMTUgKysrKysrLS0tDQo+ICA1IGZp bGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCj4gDQo+IGRp ZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTDQo+IGluZGV4IDEwYzE4MjA2N2Y5Li5mN2Vm ZmM4MjJlOSAxMDA2NDQNCj4gLS0tIGEvZ2RiL05FV1MNCj4gKysrIGIvZ2RiL05FV1MNCj4gQEAg LTExOCw2ICsxMTgsOSBAQA0KPiAgICBpbnRlbnQgdG8gcmVtb3ZlIGl0IGluIGEgZnV0dXJlIHJl bGVhc2UuDQo+ICAgIFRoZSBzMzkwIDY0LWJpdCB0YXJnZXQgKHMzOTB4LSopIHJlbWFpbnMgc3Vw cG9ydGVkLg0KPiANCj4gKyogU3VwcG9ydCBmb3IgSW50ZWwgQVZYIHJlZ2lzdGVycyBvbiBXaW5k b3dzLg0KPiArICBTdXBwb3J0IGRpc3BsYXlpbmcgYW5kIG1vZGlmeWluZyBJbnRlbCBBVlggcmVn aXN0ZXJzICR5bW0wIC0gJHltbTMxLg0KPiArDQoNCkkgdGhpbmsgdGhpcyBzaG91bGQgYmUgcmVn aXN0ZXJzICR5bW0wIC0gJHltbTE1ID8NCg0KPiAgKiBDb25maWd1cmUgY2hhbmdlcw0KPiANCj4g ICoqIC0td2l0aC1iYWJlbHRyYWNlIGhhcyBiZWVuIHJlbW92ZWQuICBUaGUgYmFiZWx0cmFjZSBs aWJyYXJ5IHdhcw0KPiBkaWZmIC0tZ2l0IGEvZ2RiL25hdC93aW5kb3dzLW5hdC5jIGIvZ2RiL25h dC93aW5kb3dzLW5hdC5jDQo+IGluZGV4IDg5MzA1MzZmM2JhLi5jOWEyMWQ3YzQxZiAxMDA2NDQN Cj4gLS0tIGEvZ2RiL25hdC93aW5kb3dzLW5hdC5jDQo+ICsrKyBiL2dkYi9uYXQvd2luZG93cy1u YXQuYw0KPiBAQCAtMTMzOSw3ICsxMzM5LDcgQEAgaW5pdGlhbGl6ZV9sb2FkYWJsZSAoKQ0KPiAg ICAgIHsNCj4gICAgICAgIC8qIEF2YWlsYWJsZSBYU3RhdGUgZmVhdHVyZXMgbWFza2VkIHdpdGgg aW1wbGVtZW50ZWQgZmVhdHVyZXMuICAqLw0KPiAgICAgICAgeHN0YXRlX2ZlYXR1cmVzID0gKEdl dEVuYWJsZWRYU3RhdGVGZWF0dXJlcyAoKQ0KPiAtCQkJICYgWDg2X1hTVEFURV9TU0VfTUFTSyk7 DQo+ICsJCQkgJiBYODZfWFNUQVRFX0FWWF9NQVNLKTsNCj4gICAgICAgIC8qIFRoZSBleHRlbmRl ZCBYU3RhdGUgZnVuY3Rpb25zIGFyZSBvbmx5IG5lZWRlZCBpZiB0aGUgYXZhaWxhYmxlDQo+ICAJ IGZlYXR1cmVzIGV4Y2VlZCBTU0UuICAqLw0KPiAgICAgICAgaWYgKCh4c3RhdGVfZmVhdHVyZXMg JiB+WDg2X1hTVEFURV9TU0VfTUFTSykgPT0gMCkNCj4gZGlmZiAtLWdpdCBhL2dkYi94ODYtd2lu ZG93cy1uYXQuYyBiL2dkYi94ODYtd2luZG93cy1uYXQuYw0KPiBpbmRleCAzYWY1ZWY0ZGFlMC4u MWNlZmU2MTcxYmUgMTAwNjQ0DQo+IC0tLSBhL2dkYi94ODYtd2luZG93cy1uYXQuYw0KPiArKysg Yi9nZGIveDg2LXdpbmRvd3MtbmF0LmMNCj4gQEAgLTI3LDYgKzI3LDkgQEANCj4gDQo+ICAjaW5j bHVkZSAiaTM4Ni10ZGVwLmgiDQo+ICAjaW5jbHVkZSAiaTM4Ny10ZGVwLmgiDQo+ICsjaWZkZWYg X194ODZfNjRfXw0KPiArI2luY2x1ZGUgImFtZDY0LXRkZXAuaCINCj4gKyNlbmRpZg0KPiANCj4g IHVzaW5nIG5hbWVzcGFjZSB3aW5kb3dzX25hdDsNCj4gDQo+IEBAIC03MCw2ICs3Myw4IEBAIHN0 cnVjdCB4ODZfd2luZG93c19uYXRfdGFyZ2V0IGZpbmFsIDogcHVibGljDQo+IHg4Nl9uYXRfdGFy Z2V0PHdpbmRvd3NfbmF0X3RhcmdldD4NCj4gIAkJCSAgIHdpbmRvd3NfdGhyZWFkX2luZm8gKnRo LCBpbnQgcikgb3ZlcnJpZGU7DQo+IA0KPiAgICBib29sIGlzX3N3X2JyZWFrcG9pbnQgKGNvbnN0 IEVYQ0VQVElPTl9SRUNPUkQgKmVyKSBjb25zdCBvdmVycmlkZTsNCj4gKw0KPiArICBjb25zdCBz dHJ1Y3QgdGFyZ2V0X2Rlc2MgKnJlYWRfZGVzY3JpcHRpb24gKCkgb3ZlcnJpZGU7DQo+ICB9Ow0K PiANCj4gIC8qIFRoZSBjdXJyZW50IHByb2Nlc3MuICAqLw0KPiBAQCAtMTA5LDcgKzExNCwzMSBA QCB4ODZfd2luZG93c19wZXJfaW5mZXJpb3I6OmZpbGxfdGhyZWFkX2NvbnRleHQNCj4gKHdpbmRv d3NfdGhyZWFkX2luZm8gKnRoKQ0KPiAgICAgICAgaWYgKGNvbnRleHQtPkNvbnRleHRGbGFncyA9 PSAwKQ0KPiAgCXsNCj4gIAkgIGNvbnRleHQtPkNvbnRleHRGbGFncyA9IFdpbmRvd3NDb250ZXh0 PGRlY2x0eXBlKGNvbnRleHQpPjo6YWxsOw0KPiArCSAgaWYgKHhzdGF0ZV9mZWF0dXJlcyAhPSAw KQ0KPiArCSAgICB7DQo+ICsJICAgICAgY29udGV4dC0+Q29udGV4dEZsYWdzIHw9IENPTlRFWFRf WFNUQVRFX0ZMQUc7DQo+ICsJICAgICAgc2V0X3hzdGF0ZV9mZWF0dXJlc19tYXNrIChjb250ZXh0 LCB4c3RhdGVfZmVhdHVyZXMpOw0KPiArCSAgICB9DQoNCldlIGhhdmUgdGhlIHNhbWUgY29kZSBp biAiaTM4Nl9nZXRfdGhyZWFkX2NvbnRleHQiIGluICJ3aW4zMi1pMzg2LWxvdy5jYyIuDQpNYWtl IGEgc2hhcmVkIGZ1bmN0aW9uIGluIGdkYi9uYXQvd2luZG93cy1uYXQuaD8NCg0KPiAgCSAgQ0hF Q0sgKGdldF90aHJlYWRfY29udGV4dCAodGgtPmgsIGNvbnRleHQpKTsNCj4gKw0KPiArCSAgaWYg KHhzdGF0ZV9mZWF0dXJlcyAhPSAwKQ0KPiArCSAgICB7DQo+ICsJICAgICAgRFdPUkQ2NCBmZWF0 dXJlcyA9IDA7DQo+ICsJICAgICAgQ0hFQ0sgKGdldF94c3RhdGVfZmVhdHVyZXNfbWFzayAoY29u dGV4dCwgJmZlYXR1cmVzKSk7DQoNClNob3VsZCB0aGlzIGJlIGNoYW5nZWQgdG8gc3RoLiBsaWtl IA0KDQogIGlmICghZ2V0X3hzdGF0ZV9mZWF0dXJlc19tYXNrIChjb250ZXh0LCAmZmVhdHVyZXMp KQ0KICAgIHsNCiAgICAgIHdhcm5pbmcgKC4uKQ0KICAgICAgcmV0dXJuOw0KICAgIH0NCg0KVGhl IGNhbGwgb2YgIkNIRUNLIiBvbmx5IHByaW50cyBhIG1lc3NhZ2UgYnV0IGRvZXNuJ3QgZXJyb3Ig b3V0LiAgSWYgdGhpcw0KY2FsbCBmYWlscyB3ZSBtYXkgc3RpbGwgaGF2ZSBmZWF0dXJlcyA9PSAw LiAgVGhpcyBpbXBsaWVzDQoiemVyb2VkX2ZlYXR1cmVzID09IHhzdGF0ZV9mZWF0dXJlcyIuICBX aXRoIHRoaXMsIHRoZSBsb29wIGNsZWFycyBhbGwgZmVhdHVyZXMuDQpJSVVDLCB0aGlzIHdvdWxk IGNsZWFyIHRoZSBBVlggcmVnaXN0ZXJzIG9uIHRoZSBuZXh0IGNhbGwgb2YNCiJTZXRUaHJlYWRD b250ZXh0Ii4NCg0KQWxzbyByZWZlciB0byB0aGUgaW1wbGVtZW50YXRpb24gaW4gZ2Ric2VydmVy L3dpbjMyLWkzODYtbG93LmNjOg0KDQogICAgICBEV09SRDY0IGZlYXR1cmVzID0gMDsNCiAgICAg IGlmICh4c3RhdGVfZmVhdHVyZXMgIT0gMA0KCSAgJiYgZ2V0X3hzdGF0ZV9mZWF0dXJlc19tYXNr IChjb250ZXh0LCAmZmVhdHVyZXMpKQ0KCXsNCg0KSSB0aGluayBpdCBtYWtlcyBzZW5zZSB0byB1 bmlmeSB0aG9zZSBhcyB0aGUgcmVzdCBvZiB0aGUgY29kZSBpcyBiYXNpY2FsbHkgaWRlbnRpY2Fs LiAgUHV0IA0Kc2hhcmVkIGZ1bmN0aW9uIGludG8gZ2RiL25hdC93aW5kb3dzLW5hdC5oPyAgVGhp cyBrZWVwcyB0aGUgY29kZSBjb25zaXN0ZW50Lg0KDQo+ICsJICAgICAgRFdPUkQ2NCB6ZXJvZWRf ZmVhdHVyZXMgPSB4c3RhdGVfZmVhdHVyZXMgJiB+ZmVhdHVyZXM7DQo+ICsNCj4gKwkgICAgICBm b3IgKGludCBmID0gWDg2X1hTVEFURV9BVlhfSUQ7IGYgPD0gWDg2X1hTVEFURV9DRVRfVV9JRDsg ZisrKQ0KPiArCQl7DQo+ICsJCSAgRFdPUkQ2NCBmbGFnID0gMVVMTCA8PCBmOw0KPiArCQkgIGlm ICgoemVyb2VkX2ZlYXR1cmVzICYgZmxhZykgIT0gMCkNCj4gKwkJICAgIHsNCj4gKwkJICAgICAg RFdPUkQgc2l6ZSA9IDA7DQo+ICsJCSAgICAgIHZvaWQgKmxvYyA9IGxvY2F0ZV94c3RhdGVfZmVh dHVyZSAoY29udGV4dCwgZiwgJnNpemUpOw0KPiArCQkgICAgICBpZiAobG9jICE9IG51bGxwdHIg JiYgc2l6ZSA+IDApDQo+ICsJCQltZW1zZXQgKGxvYywgMCwgc2l6ZSk7DQo+ICsJCSAgICB9DQo+ ICsJCX0NCj4gKwkgICAgfQ0KPiAgCX0NCj4gICAgICB9KTsNCj4gIH0NCj4gQEAgLTE5OCw2ICsy MjcsMTQgQEANCj4geDg2X3dpbmRvd3NfbmF0X3RhcmdldDo6dGhyZWFkX2NvbnRleHRfY29udGlu dWUgKHdpbmRvd3NfdGhyZWFkX2luZm8NCj4gKnRoLA0KPiAgCSAgaWYgKEdldEV4aXRDb2RlVGhy ZWFkICh0aC0+aCwgJmVjKQ0KPiAgCSAgICAgICYmIGVjID09IFNUSUxMX0FDVElWRSkNCj4gIAkg ICAgew0KPiArCSAgICAgIERXT1JEIGRlYnVnX3JlZ2lzdGVycyA9DQo+IFdpbmRvd3NDb250ZXh0 PGRlY2x0eXBlKGNvbnRleHQpPjo6ZGVidWc7DQo+ICsJICAgICAgaWYgKHhzdGF0ZV9mZWF0dXJl cyAhPSAwDQo+ICsJCSAgJiYgKGNvbnRleHQtPkNvbnRleHRGbGFncyAmIH5kZWJ1Z19yZWdpc3Rl cnMpICE9IDApDQo+ICsJCXsNCj4gKwkJICBjb250ZXh0LT5Db250ZXh0RmxhZ3MgfD0gQ09OVEVY VF9YU1RBVEVfRkxBRzsNCj4gKwkJICBzZXRfeHN0YXRlX2ZlYXR1cmVzX21hc2sgKGNvbnRleHQs IHhzdGF0ZV9mZWF0dXJlcyk7DQo+ICsJCX0NCj4gKw0KPiAgCSAgICAgIEJPT0wgc3RhdHVzID0g c2V0X3RocmVhZF9jb250ZXh0ICh0aC0+aCwgY29udGV4dCk7DQo+IA0KPiAgCSAgICAgIGlmICgh a2lsbGVkKQ0KPiBAQCAtMjI3LDcgKzI2NCw3IEBAIHg4Nl93aW5kb3dzX25hdF90YXJnZXQ6OnRo cmVhZF9jb250ZXh0X3N0ZXANCj4gKHdpbmRvd3NfdGhyZWFkX2luZm8gKnRoLA0KPiANCj4gIHRl bXBsYXRlPHR5cGVuYW1lIENvbnRleHQ+DQo+ICBzdGF0aWMgY2hhciAqDQo+IC1nZXRfY29udGV4 dF9yZWdfcHRyIChDb250ZXh0ICpjb250ZXh0LCBpbnQgcikNCj4gK2dldF9jb250ZXh0X3JlZ19w dHIgKENvbnRleHQgKmNvbnRleHQsIGludCByLCBpMzg2X2dkYmFyY2hfdGRlcCAqdGRlcCkNCj4g IHsNCj4gICAgY29uc3QgaW50ICptYXBwaW5nczsNCj4gICAgaW50IG1hcHBpbmdzX2NvdW50Ow0K PiBAQCAtMjQ3LDYgKzI4NCwxMyBAQCBnZXRfY29udGV4dF9yZWdfcHRyIChDb250ZXh0ICpjb250 ZXh0LCBpbnQgcikNCj4gICAgY2hhciAqY29udGV4dF9vZmZzZXQ7DQo+ICAgIGlmIChyIDwgbWFw cGluZ3NfY291bnQpDQo+ICAgICAgY29udGV4dF9vZmZzZXQgPSAoY2hhciAqKSBjb250ZXh0ICsg bWFwcGluZ3Nbcl07DQo+ICsgIGVsc2UgaWYgKEkzODdfWU1NMEhfUkVHTlVNICh0ZGVwKSA+IDAg JiYgciA+PSBJMzg3X1lNTTBIX1JFR05VTQ0KPiAodGRlcCkNCj4gKwkgICAmJiByIDwgSTM4N19Z TU1FTkRIX1JFR05VTSAodGRlcCkpDQoNClRoZSBpbXBsZW1lbnRhdGlvbiBvbiBnZGJzZXJ2ZXIg c2lkZSBndWFyZHMgYWdhaW5zdCANCg0KICB4c3RhdGVfZmVhdHVyZXMgJiBYODZfWFNUQVRFX0FW WCkgIT0gMA0KDQpJIHdvbmRlciBpZiB0aGUgc2FtZSBndWFyZCB3b3VsZCBiZSBoZWxwZnVsIGhl cmUsIHRvby4gIEkgdW5kZXJzdGFuZCB0aGUgcmVnaXN0ZXINCm51bWJlciBpcyBpbml0aWFsaXpl ZCB0byAtMSwgc28gdGhpcyBzaG91bGQgbm90IGZpcmUuICBJJ20gbm90IHN1cmUgaWYgaXQgaXMg cG9zc2libGUgdG8NCmhhdmUgJHltbTAgcmVnaXN0ZXIgbnVtYmVyID4gMCB3L28geHN0YXRlIHN1 cHBvcnQsIGUuZy4sIGlmIHRoZSB0YXJnZXQgZGVzY3JpcHRpb24NCmlzIHJlYWQgZnJvbSBmaWxl LCBzZWUgInRhcmdldF9maW5kX2Rlc2NyaXB0aW9uIj8NCg0KPiArICAgIHsNCj4gKyAgICAgIGNv bnRleHRfb2Zmc2V0ID0gKGNoYXIgKikgbG9jYXRlX3hzdGF0ZV9mZWF0dXJlDQo+ICsJKGNvbnRl eHQsIFg4Nl9YU1RBVEVfQVZYX0lELCBOVUxMKTsNCj4gKyAgICAgIGNvbnRleHRfb2Zmc2V0ICs9 IDE2ICogKHIgLSBJMzg3X1lNTTBIX1JFR05VTSAodGRlcCkpOw0KPiArICAgIH0NCj4gICAgZWxz ZQ0KPiAgICAgIGdkYl9hc3NlcnRfbm90X3JlYWNoZWQgKCJpbnZhbGlkIHJlZ2lzdGVyIG51bWJl ciAlZCIsIHIpOw0KPiANCj4gQEAgLTI2Nyw3ICszMTEsNyBAQCB4ODZfd2luZG93c19uYXRfdGFy Z2V0OjpmZXRjaF9vbmVfcmVnaXN0ZXIgKHN0cnVjdA0KPiByZWdjYWNoZSAqcmVnY2FjaGUsDQo+ ICAgIGNoYXIgKmNvbnRleHRfb2Zmc2V0DQo+ICAgICAgPSB4ODZfd2luZG93c19wcm9jZXNzLndp dGhfY29udGV4dCAodGgsIFsmXSAoYXV0byAqY29udGV4dCkNCj4gICAgICB7DQo+IC0gICAgICBy ZXR1cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgcik7DQo+ICsgICAgICByZXR1cm4g Z2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgciwgdGRlcCk7DQo+ICAgICAgfSk7DQo+IA0K PiAgICBnZGJfYXNzZXJ0ICghZ2RiYXJjaF9yZWFkX3BjX3AgKGdkYmFyY2gpKTsNCj4gQEAgLTMz Myw3ICszNzcsNyBAQCB4ODZfd2luZG93c19uYXRfdGFyZ2V0OjpzdG9yZV9vbmVfcmVnaXN0ZXIg KGNvbnN0DQo+IHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQo+ICAgICAgPSB4ODZfd2luZG93 c19wcm9jZXNzLndpdGhfY29udGV4dCAodGgsIFsmXSAoYXV0byAqY29udGV4dCkNCj4gICAgICB7 DQo+ICAgICAgICBnZGJfYXNzZXJ0IChjb250ZXh0LT5Db250ZXh0RmxhZ3MgIT0gMCk7DQo+IC0g ICAgICByZXR1cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgcik7DQo+ICsgICAgICBy ZXR1cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgciwgdGRlcCk7DQo+ICAgICAgfSk7 DQo+IA0KPiAgICAvKiBHREIgdHJlYXRzIHNvbWUgcmVnaXN0ZXJzIGFzIDMyLWJpdCwgd2hlcmUg dGhleSBhcmUgaW4gZmFjdCBvbmx5DQo+IEBAIC0zNjgsNiArNDEyLDIzIEBAIHg4Nl93aW5kb3dz X25hdF90YXJnZXQ6OmlzX3N3X2JyZWFrcG9pbnQgKGNvbnN0DQo+IEVYQ0VQVElPTl9SRUNPUkQg KmVyKSBjb25zdA0KPiAgCSAgfHwgZXItPkV4Y2VwdGlvbkNvZGUgPT0gU1RBVFVTX1dYODZfQlJF QUtQT0lOVCk7DQo+ICB9DQo+IA0KPiArY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICoNCj4gK3g4 Nl93aW5kb3dzX25hdF90YXJnZXQ6OnJlYWRfZGVzY3JpcHRpb24gKCkNCj4gK3sNCj4gKyAgaWYg KGluZmVyaW9yX3B0aWQgPT0gbnVsbF9wdGlkKQ0KPiArICAgIHJldHVybiB0aGlzLT5iZW5lYXRo ICgpLT5yZWFkX2Rlc2NyaXB0aW9uICgpOw0KPiArDQo+ICsgIGlmICh4c3RhdGVfZmVhdHVyZXMg PT0gMCkNCj4gKyAgICByZXR1cm4gbnVsbHB0cjsNCj4gKw0KPiArI2lmZGVmIF9feDg2XzY0X18N Cj4gKyAgaWYgKCF4ODZfd2luZG93c19wcm9jZXNzLndvdzY0X3Byb2Nlc3MpDQo+ICsgICAgcmV0 dXJuIGFtZDY0X3RhcmdldF9kZXNjcmlwdGlvbiAoeHN0YXRlX2ZlYXR1cmVzLCBmYWxzZSk7DQo+ ICsgIGVsc2UNCj4gKyNlbmRpZg0KPiArICAgIHJldHVybiBpMzg2X3RhcmdldF9kZXNjcmlwdGlv biAoeHN0YXRlX2ZlYXR1cmVzLCBmYWxzZSk7DQo+ICt9DQo+ICsNCj4gIC8qIEhhcmR3YXJlIHdh dGNocG9pbnQgc3VwcG9ydCwgYWRhcHRlZCBmcm9tIGdvMzItbmF0LmMgY29kZS4gICovDQo+IA0K PiAgLyogUGFzcyB0aGUgYWRkcmVzcyBBRERSIHRvIHRoZSBpbmZlcmlvciBpbiB0aGUgSSd0aCBk ZWJ1ZyByZWdpc3Rlci4NCj4gZGlmZiAtLWdpdCBhL2dkYnNlcnZlci93aW4zMi1pMzg2LWxvdy5j YyBiL2dkYnNlcnZlci93aW4zMi1pMzg2LWxvdy5jYw0KPiBpbmRleCBiNzdmNmFkYzZlZC4uYTdl ODNjMDIzOWMgMTAwNjQ0DQo+IC0tLSBhL2dkYnNlcnZlci93aW4zMi1pMzg2LWxvdy5jYw0KPiAr KysgYi9nZGJzZXJ2ZXIvd2luMzItaTM4Ni1sb3cuY2MNCj4gQEAgLTI1Myw2ICsyNTMsMTEgQEAg aTM4Nl9nZXRfdGhyZWFkX2NvbnRleHQgKHdpbmRvd3NfdGhyZWFkX2luZm8NCj4gKnRoKQ0KPiAg CQkJICAgICAgIHwgV2luZG93c0NvbnRleHQ8ZGVjbHR5cGUoY29udGV4dCk+OjpmbG9hdGluZw0K PiAgCQkJICAgICAgIHwgV2luZG93c0NvbnRleHQ8ZGVjbHR5cGUoY29udGV4dCk+OjpkZWJ1Zw0K PiAgCQkJICAgICAgIHwgZXh0ZW5kZWRfcmVnaXN0ZXJzKTsNCj4gKyAgICAgIGlmICh4c3RhdGVf ZmVhdHVyZXMgIT0gMCkNCj4gKwl7DQo+ICsJICBjb250ZXh0LT5Db250ZXh0RmxhZ3MgfD0gQ09O VEVYVF9YU1RBVEVfRkxBRzsNCj4gKwkgIHNldF94c3RhdGVfZmVhdHVyZXNfbWFzayAoY29udGV4 dCwgeHN0YXRlX2ZlYXR1cmVzKTsNCj4gKwl9DQo+IA0KPiAgICAgICAgQk9PTCByZXQgPSBnZXRf dGhyZWFkX2NvbnRleHQgKHRoLT5oLCBjb250ZXh0KTsNCj4gICAgICAgIGlmICghcmV0KQ0KPiBA QCAtMjY3LDYgKzI3MiwyNCBAQCBpMzg2X2dldF90aHJlYWRfY29udGV4dCAod2luZG93c190aHJl YWRfaW5mbw0KPiAqdGgpDQo+IA0KPiAgCSAgZXJyb3IgKF8oIkdldFRocmVhZENvbnRleHQgZmFp bHVyZSAlbGRcbiIpLCAobG9uZykgZSk7DQo+ICAJfQ0KPiArDQo+ICsgICAgICBEV09SRDY0IGZl YXR1cmVzID0gMDsNCj4gKyAgICAgIGlmICh4c3RhdGVfZmVhdHVyZXMgIT0gMA0KPiArCSAgJiYg Z2V0X3hzdGF0ZV9mZWF0dXJlc19tYXNrIChjb250ZXh0LCAmZmVhdHVyZXMpKQ0KPiArCXsNCj4g KwkgIERXT1JENjQgemVyb2VkX2ZlYXR1cmVzID0geHN0YXRlX2ZlYXR1cmVzICYgfmZlYXR1cmVz Ow0KPiArCSAgZm9yIChpbnQgZiA9IFg4Nl9YU1RBVEVfQVZYX0lEOyBmIDw9IFg4Nl9YU1RBVEVf Q0VUX1VfSUQ7IGYrKykNCj4gKwkgICAgew0KPiArCSAgICAgIERXT1JENjQgZmxhZyA9IDFVTEwg PDwgZjsNCj4gKwkgICAgICBpZiAoKHplcm9lZF9mZWF0dXJlcyAmIGZsYWcpICE9IDApDQo+ICsJ CXsNCj4gKwkJICBEV09SRCBzaXplID0gMDsNCj4gKwkJICB2b2lkICpsb2MgPSBsb2NhdGVfeHN0 YXRlX2ZlYXR1cmUgKGNvbnRleHQsIGYsICZzaXplKTsNCj4gKwkJICBpZiAobG9jICE9IG51bGxw dHIgJiYgc2l6ZSA+IDApDQo+ICsJCSAgICBtZW1zZXQgKGxvYywgMCwgc2l6ZSk7DQo+ICsJCX0N Cj4gKwkgICAgfQ0KPiArCX0NCj4gICAgICB9KTsNCj4gIH0NCj4gDQo+IEBAIC0yOTIsNiArMzE1 LDE3IEBAIGkzODZfcHJlcGFyZV90b19yZXN1bWUgKHdpbmRvd3NfdGhyZWFkX2luZm8NCj4gKnRo KQ0KPiANCj4gICAgICAgIHRoLT5kZWJ1Z19yZWdpc3RlcnNfY2hhbmdlZCA9IGZhbHNlOw0KPiAg ICAgIH0NCj4gKw0KPiArICB3aW5kb3dzX3Byb2Nlc3Mud2l0aF9jb250ZXh0ICh0aCwgWyZdIChh dXRvICpjb250ZXh0KQ0KPiArICAgIHsNCj4gKyAgICAgIERXT1JEIGRlYnVnX3JlZ2lzdGVycyA9 IFdpbmRvd3NDb250ZXh0PGRlY2x0eXBlKGNvbnRleHQpPjo6ZGVidWc7DQo+ICsgICAgICBpZiAo eHN0YXRlX2ZlYXR1cmVzICE9IDANCj4gKwkgICYmIChjb250ZXh0LT5Db250ZXh0RmxhZ3MgJiB+ ZGVidWdfcmVnaXN0ZXJzKSAhPSAwKQ0KPiArCXsNCj4gKwkgIGNvbnRleHQtPkNvbnRleHRGbGFn cyB8PSBDT05URVhUX1hTVEFURV9GTEFHOw0KPiArCSAgc2V0X3hzdGF0ZV9mZWF0dXJlc19tYXNr IChjb250ZXh0LCB4c3RhdGVfZmVhdHVyZXMpOw0KPiArCX0NCj4gKyAgICB9KTsNCj4gIH0NCj4g DQo+ICBzdGF0aWMgdm9pZA0KPiBAQCAtNDc3LDcgKzUxMSw3IEBAIGlzX3NlZ21lbnRfcmVnaXN0 ZXIgKGludCByKQ0KPiANCj4gIHRlbXBsYXRlPHR5cGVuYW1lIENvbnRleHQ+DQo+ICBzdGF0aWMg Y2hhciAqDQo+IC1nZXRfY29udGV4dF9yZWdfcHRyIChDb250ZXh0ICpjb250ZXh0LCBpbnQgcikN Cj4gK2dldF9jb250ZXh0X3JlZ19wdHIgKENvbnRleHQgKmNvbnRleHQsIGludCByLCBjb25zdCB0 YXJnZXRfZGVzYyAqdGRlc2MpDQo+ICB7DQo+ICAgIGNvbnN0IGludCAqbWFwcGluZ3M7DQo+ICAg IGludCBtYXBwaW5nc19jb3VudDsNCj4gQEAgLTQ5NCw5ICs1MjgsMjEgQEAgZ2V0X2NvbnRleHRf cmVnX3B0ciAoQ29udGV4dCAqY29udGV4dCwgaW50IHIpDQo+ICAgICAgICBtYXBwaW5nc19jb3Vu dCA9IHNpemVvZiAoaTM4Nl9tYXBwaW5ncykgLyBzaXplb2YgKGkzODZfbWFwcGluZ3NbMF0pOw0K PiAgICAgIH0NCj4gDQo+ICsgIGJvb2wgYW1kNjQgPSByZWdpc3Rlcl9zaXplICh0ZGVzYywgMCkg PT0gODsNCg0KVGhlcmUgaXMgYWxyZWFkeSBhbiAiIGlmICghd2luZG93c19wcm9jZXNzLndvdzY0 X3Byb2Nlc3MpIiBhIGZldyBsaW5lcyBhYm92ZS4NCldvdWxkbid0IGl0IG1ha2Ugc2Vuc2UgdG8g bW92ZSB0aGUgImJvb2wgYW1kNjQiIGluIHRoZSBpZmRlZiBibG9ja3MgYW5kDQphc3NpZ24gYWNj b3JkaW5nbHk/DQoNCj4gKyAgaW50IHltbTBoX3JlZ251bTsNCj4gKyAgY29uc3QgaW50IG51bV94 bW1fcmVnaXN0ZXJzID0gYW1kNjQgPyAxNiA6IDg7DQo+ICsNCj4gICAgY2hhciAqY29udGV4dF9v ZmZzZXQ7DQo+ICAgIGlmIChyIDwgbWFwcGluZ3NfY291bnQpDQo+ICAgICAgY29udGV4dF9vZmZz ZXQgPSAoY2hhciAqKSBjb250ZXh0ICsgbWFwcGluZ3Nbcl07DQo+ICsgIGVsc2UgaWYgKCh4c3Rh dGVfZmVhdHVyZXMgJiBYODZfWFNUQVRFX0FWWCkgIT0gMA0KPiArCSAgICYmIHIgPj0gKHltbTBo X3JlZ251bSA9IGZpbmRfcmVnbm8gKHRkZXNjLCAieW1tMGgiKSkNCj4gKwkgICAmJiByIDwgeW1t MGhfcmVnbnVtICsgbnVtX3htbV9yZWdpc3RlcnMpDQo+ICsgICAgew0KPiArICAgICAgY29udGV4 dF9vZmZzZXQgPSAoY2hhciAqKSBsb2NhdGVfeHN0YXRlX2ZlYXR1cmUNCj4gKwkoY29udGV4dCwg WDg2X1hTVEFURV9BVlhfSUQsIE5VTEwpOw0KPiArICAgICAgY29udGV4dF9vZmZzZXQgKz0gMTYg KiAociAtIHltbTBoX3JlZ251bSk7DQo+ICsgICAgfQ0KPiAgICBlbHNlDQo+ICAgICAgZ2RiX2Fz c2VydF9ub3RfcmVhY2hlZCAoImludmFsaWQgcmVnaXN0ZXIgbnVtYmVyICVkIiwgcik7DQo+IA0K PiBAQCAtNTEwLDcgKzU1Niw3IEBAIGkzODZfZmV0Y2hfaW5mZXJpb3JfcmVnaXN0ZXIgKHN0cnVj dCByZWdjYWNoZQ0KPiAqcmVnY2FjaGUsDQo+ICB7DQo+ICAgIGNoYXIgKmNvbnRleHRfb2Zmc2V0 ID0gd2luZG93c19wcm9jZXNzLndpdGhfY29udGV4dCAodGgsIFsmXSAoYXV0bw0KPiAqY29udGV4 dCkNCj4gICAgICB7DQo+IC0gICAgICByZXR1cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4 dCwgcik7DQo+ICsgICAgICByZXR1cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgciwg cmVnY2FjaGUtPnRkZXNjKTsNCj4gICAgICB9KTsNCj4gDQo+ICAgIC8qIEdEQiB0cmVhdHMgc29t ZSByZWdpc3RlcnMgYXMgMzItYml0LCB3aGVyZSB0aGV5IGFyZSBpbiBmYWN0IG9ubHkNCj4gQEAg LTUzOCw3ICs1ODQsNyBAQCBpMzg2X3N0b3JlX2luZmVyaW9yX3JlZ2lzdGVyIChzdHJ1Y3QgcmVn Y2FjaGUNCj4gKnJlZ2NhY2hlLA0KPiAgew0KPiAgICBjaGFyICpjb250ZXh0X29mZnNldCA9IHdp bmRvd3NfcHJvY2Vzcy53aXRoX2NvbnRleHQgKHRoLCBbJl0gKGF1dG8NCj4gKmNvbnRleHQpDQo+ ICAgICAgew0KPiAtICAgICAgcmV0dXJuIGdldF9jb250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIp Ow0KPiArICAgICAgcmV0dXJuIGdldF9jb250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIsIHJlZ2Nh Y2hlLT50ZGVzYyk7DQo+ICAgICAgfSk7DQo+IA0KPiAgICAvKiBHREIgdHJlYXRzIHNvbWUgcmVn aXN0ZXJzIGFzIDMyLWJpdCwgd2hlcmUgdGhleSBhcmUgaW4gZmFjdCBvbmx5DQo+IEBAIC01NzEs MTQgKzYxNywxNyBAQCBpMzg2X2FyY2hfc2V0dXAgKHZvaWQpDQo+ICB7DQo+ICAgdGFyZ2V0X2Rl c2NfdXAgdGRlc2M7DQo+IA0KPiArICBEV09SRDY0IHhjcjAgPSB4c3RhdGVfZmVhdHVyZXM7DQo+ ICsgIGlmICh4Y3IwID09IDApDQo+ICsgICAgeGNyMCA9IFg4Nl9YU1RBVEVfU1NFX01BU0s7DQo+ ICsNCj4gICNpZmRlZiBfX3g4Nl82NF9fDQo+IC0gIHRkZXNjID0gYW1kNjRfY3JlYXRlX3Rhcmdl dF9kZXNjcmlwdGlvbiAoWDg2X1hTVEFURV9TU0VfTUFTSywgZmFsc2UsDQo+IC0JCQkJCSAgIGZh bHNlLCBmYWxzZSk7DQo+ICsgIHRkZXNjID0gYW1kNjRfY3JlYXRlX3RhcmdldF9kZXNjcmlwdGlv biAoeGNyMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQo+ICAgIGluaXRfdGFyZ2V0X2Rlc2MgKHRk ZXNjLmdldCAoKSwgYW1kNjRfZXhwZWRpdGVfcmVncywgV0lORE9XU19PU0FCSSk7DQo+ICAgIHdp bjMyX3RkZXNjID0gc3RkOjptb3ZlICh0ZGVzYyk7DQo+ICAjZW5kaWYNCj4gDQo+IC0gIHRkZXNj ID0gaTM4Nl9jcmVhdGVfdGFyZ2V0X2Rlc2NyaXB0aW9uIChYODZfWFNUQVRFX1NTRV9NQVNLLCBm YWxzZSwNCj4gZmFsc2UpOw0KPiArICB0ZGVzYyA9IGkzODZfY3JlYXRlX3RhcmdldF9kZXNjcmlw dGlvbiAoeGNyMCwgZmFsc2UsIGZhbHNlKTsNCj4gICAgaW5pdF90YXJnZXRfZGVzYyAodGRlc2Mu Z2V0ICgpLCBpMzg2X2V4cGVkaXRlX3JlZ3MsIFdJTkRPV1NfT1NBQkkpOw0KPiAgI2lmZGVmIF9f eDg2XzY0X18NCj4gICAgd293NjRfd2luMzJfdGRlc2MgPSBzdGQ6Om1vdmUgKHRkZXNjKTsNCj4g ZGlmZiAtLWdpdCBhL2dkYnNlcnZlci93aW4zMi1sb3cuY2MgYi9nZGJzZXJ2ZXIvd2luMzItbG93 LmNjDQo+IGluZGV4IDc2MjliZWNhMjEzLi41Y2NkYzg5YTdlZiAxMDA2NDQNCj4gLS0tIGEvZ2Ri c2VydmVyL3dpbjMyLWxvdy5jYw0KPiArKysgYi9nZGJzZXJ2ZXIvd2luMzItbG93LmNjDQo+IEBA IC0zMyw2ICszMyw3IEBADQo+ICAjaW5jbHVkZSA8cHJvY2Vzcy5oPg0KPiAgI2luY2x1ZGUgImdk YnN1cHBvcnQvZ2RiX3RpbGRlX2V4cGFuZC5oIg0KPiAgI2luY2x1ZGUgImdkYnN1cHBvcnQvY29t bW9uLWluZmVyaW9yLmgiDQo+ICsjaW5jbHVkZSAidGRlc2MuaCINCj4gDQo+ICB1c2luZyBuYW1l c3BhY2Ugd2luZG93c19uYXQ7DQo+IA0KPiBAQCAtNDI2LDggKzQyNyw5IEBAIGNoaWxkX2ZldGNo X2luZmVyaW9yX3JlZ2lzdGVycyAoc3RydWN0IHJlZ2NhY2hlDQo+ICpyZWdjYWNoZSwgaW50IHIp DQo+ICAgIGludCByZWdubzsNCj4gICAgd2luZG93c190aHJlYWRfaW5mbyAqdGggPSB3aW5kb3dz X3Byb2Nlc3MuZmluZF90aHJlYWQgKGN1cnJlbnRfdGhyZWFkLQ0KPiA+aWQpOw0KPiAgICB3aW4z Ml9yZXF1aXJlX2NvbnRleHQgKHRoKTsNCj4gLSAgaWYgKHIgPT0gLTEgfHwgciA+IE5VTV9SRUdT KQ0KPiAtICAgIGNoaWxkX2ZldGNoX2luZmVyaW9yX3JlZ2lzdGVycyAocmVnY2FjaGUsIE5VTV9S RUdTKTsNCg0KSUlVQyB0aGlzIHdhcyB0aGUgb25seSB1c2Ugb2YgdGhlIE5VTV9SRUdTIGRlZmlu ZS4gIFdlIGNhbiByZW1vdmUgaXQuDQpTYW1lIGZvciAiIGkzODZfd2luMzJfbnVtX3JlZ3MgKHZv aWQpIiBhbmQgImFhcmNoNjRfd2luMzJfbnVtX3JlZ3MgKCkiLg0KVGhpcyBhbGxvd3MgcmVtb3Zp bmcgdGhlIG51bV9yZWdzIGhvb2sgaW4gd2luMzJfdGFyZ2V0X29wcy4NCg0KPiArICBpZiAociA9 PSAtMSkNCj4gKyAgICBjaGlsZF9mZXRjaF9pbmZlcmlvcl9yZWdpc3RlcnMgKHJlZ2NhY2hlLA0K PiArCQkJCSAgICByZWdjYWNoZS0+dGRlc2MtPnJlZ19kZWZzLnNpemUgKCkpOw0KPiAgICBlbHNl DQo+ICAgICAgZm9yIChyZWdubyA9IDA7IHJlZ25vIDwgcjsgcmVnbm8rKykNCj4gICAgICAgICgq dGhlX2xvd190YXJnZXQuZmV0Y2hfaW5mZXJpb3JfcmVnaXN0ZXIpIChyZWdjYWNoZSwgdGgsIHJl Z25vKTsNCj4gQEAgLTQ0MSw4ICs0NDMsOSBAQCBjaGlsZF9zdG9yZV9pbmZlcmlvcl9yZWdpc3Rl cnMgKHN0cnVjdCByZWdjYWNoZQ0KPiAqcmVnY2FjaGUsIGludCByKQ0KPiAgICBpbnQgcmVnbm87 DQo+ICAgIHdpbmRvd3NfdGhyZWFkX2luZm8gKnRoID0gd2luZG93c19wcm9jZXNzLmZpbmRfdGhy ZWFkIChjdXJyZW50X3RocmVhZC0NCj4gPmlkKTsNCj4gICAgd2luMzJfcmVxdWlyZV9jb250ZXh0 ICh0aCk7DQo+IC0gIGlmIChyID09IC0xIHx8IHIgPT0gMCB8fCByID4gTlVNX1JFR1MpDQo+IC0g ICAgY2hpbGRfc3RvcmVfaW5mZXJpb3JfcmVnaXN0ZXJzIChyZWdjYWNoZSwgTlVNX1JFR1MpOw0K PiArICBpZiAociA9PSAtMSkNCj4gKyAgICBjaGlsZF9zdG9yZV9pbmZlcmlvcl9yZWdpc3RlcnMg KHJlZ2NhY2hlLA0KPiArCQkJCSAgICByZWdjYWNoZS0+dGRlc2MtPnJlZ19kZWZzLnNpemUgKCkp Ow0KPiAgICBlbHNlDQo+ICAgICAgZm9yIChyZWdubyA9IDA7IHJlZ25vIDwgcjsgcmVnbm8rKykN Cj4gICAgICAgICgqdGhlX2xvd190YXJnZXQuc3RvcmVfaW5mZXJpb3JfcmVnaXN0ZXIpIChyZWdj YWNoZSwgdGgsIHJlZ25vKTsNCj4gQEAgLTEzNDksNyArMTM1Miw5IEBAIHZvaWQNCj4gIGluaXRp YWxpemVfbG93ICh2b2lkKQ0KPiAgew0KPiAgICBzZXRfdGFyZ2V0X29wcyAoJnRoZV93aW4zMl90 YXJnZXQpOw0KPiAtICB0aGVfbG93X3RhcmdldC5hcmNoX3NldHVwICgpOw0KPiANCj4gICAgaW5p dGlhbGl6ZV9sb2FkYWJsZSAoKTsNCj4gKyAgLyogSGFzIHRvIGJlIGRvbmUgYWZ0ZXIgaW5pdGlh bGl6ZV9sb2FkYWJsZSwgYmVjYXVzZSBpdCB1c2VzIHRoZSB4c3RhdGUNCj4gKyAgICAgZnVuY3Rp b25zIGlmIGF2YWlsYWJsZS4gICovDQo+ICsgIHRoZV9sb3dfdGFyZ2V0LmFyY2hfc2V0dXAgKCk7 DQo+ICB9DQo+IC0tDQo+IDIuNTQuMA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQpJbnRlbCBEZXV0c2NobGFuZCBHbWJIIA0KDQpSZWdpc3RlcmVkIEFkZHJlc3M6 IERvcm5hY2hlciBTdHJhc3NlIDEsIDg1NjIyIEZlbGRraXJjaGVuLCBHZXJtYW55IA0KDQpUZWw6 ICs0OSAoODkpIDk5MTQzLTAgDQoNCnd3dy5pbnRlbC5kZSANCg0KTWFuYWdpbmcgRGlyZWN0b3Jz OiBDYW5kaWNlIE1vb3JlLCBKZWZmcmV5IFNjaG5laWRlcm1hbiwgUmFtYWNoYW5kcmFuIFNpdGFy YW1hbg0KDQpDaGFpcnBlcnNvbiBvZiB0aGUgU3VwZXJ2aXNvcnkgQm9hcmQ6IFNvbmphIFBpZXJl cg0KDQpSZWdpc3RlcmVkIFNlYXQ6IE11bmljaCBDb21tZXJjaWFsIFJlZ2lzdGVyIEI6IEFtdHNn ZXJpY2h0IE11bmljaCBIUkIgMTg2OTI4DQoNClRoaXMgZS1tYWlsIGFuZCBhbnkgYXR0YWNobWVu dHMgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFsIG1hdGVyaWFsIGZvcg0KdGhlIHNvbGUgdXNlIG9m IHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykuIEFueSByZXZpZXcgb3IgZGlzdHJpYnV0aW9uDQpi eSBvdGhlcnMgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVu ZGVkDQpyZWNpcGllbnQsIHBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSBhbGwg Y29waWVzLgo=