From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 588F2386C3E for ; Thu, 14 May 2026 17:07:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.9 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778778455; cv=fail; b=gG3sowItY3k2WKphOrPiL5YNxoSlgyU+l58WsTT5KO2WgGTVimzIyKkJXGRSeqExukPuMqb2mSEPZx7A+GOlAX+8lyzg1TU6Urg4MmJLn3uPG2/S20ylh8SPk8dzwXKKEJ8Fa3PmQLPxDsStyohZK7TEIqWbwsjaVJqBssQ6NfM= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778778455; c=relaxed/simple; bh=vfl4AHzSllj4bFFIJ1EMeUXHQSlOSA2mDyGdC+w+Y8U=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=EuQI69M5J13R+C3rOAuzVTAuwF3opSzCopsSQA7vA/V0ACRq/UZ0nB2fzumUeZnQFUSOS6Z96+25iYPzoHVuOD9LSLOBt+V6EwWqxMkFhePHJsd6LUV1AeU04henekiTbgfhW0K7EV2kb6BkqY5NwkAkrmF65C3luzrNw+0QNaI= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=eXzTj1hc; arc=fail smtp.client-ip=198.175.65.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="eXzTj1hc" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1778778455; x=1810314455; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=vfl4AHzSllj4bFFIJ1EMeUXHQSlOSA2mDyGdC+w+Y8U=; b=eXzTj1hc0QMDQ/acf5TJmlYWJUG4M4OFYsZGHlaNjhkoYKFbtVf6qssM fJkWnPDUD0TmQh2mUyHM1nQxsyJYdw+D2kJpRKTah5TbOvsWkvX9k8g7l su4e19LNgh+KaK15WGi8pPOoeSzWOz+xcB1O2ODQwYknDs72+FGF3zSOb gpkJnJrIOn/vNP9aEpGsOKZN4HPGr/aZbDrr3LiiY2pRTIZYDdDPXp9HQ wphLe5T1OigxDmSA+bjqNaBjTPEhSzx4KgcIAQUemcRNw29mxKAov820/ qnDauTheWhABQM1bNmc82ZOT7/YjPuLAbohT3v+J8HzOwZDXOW17mGLtn A==; X-CSE-ConnectionGUID: Hrg3OHqqTCuMzlDludWgaA== X-CSE-MsgGUID: gYmPTEgUQBiauPzLvwwRsw== X-IronPort-AV: E=McAfee;i="6800,10657,11786"; a="102399867" X-IronPort-AV: E=Sophos;i="6.23,235,1770624000"; d="scan'208";a="102399867" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 May 2026 10:07:34 -0700 X-CSE-ConnectionGUID: v/xI2DIET2uJnDpotZ5a0Q== X-CSE-MsgGUID: dWm6Ow95T/ybZ89qKnjikQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,235,1770624000"; d="scan'208";a="243410673" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by orviesa005.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 May 2026 10:07:33 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) 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.37; Thu, 14 May 2026 10:07:33 -0700 Received: from ORSEDG903.ED.cps.intel.com (10.7.248.13) 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.37 via Frontend Transport; Thu, 14 May 2026 10:07:33 -0700 Received: from BL0PR03CU003.outbound.protection.outlook.com (52.101.53.41) by edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Thu, 14 May 2026 10:07:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j7urQfwPuDqwG78WG/6bQ8IN6bYRuVlIKGAfP/aoS4am6so1zpijgfvuz3sWeICE7KFSP/jbMLkvgqGdfv9H4HyLDk8x8ixlrcB1l/XU8FQ6V7kPJS3nZUeFTdgJzWjcEbauwEzntiFtEih6mGj3Sjo9LU1rNTPTGp7p/K8unU8r1jHG/dVqdxWt4qmdtFZz5Q+Ih4XxBODMY/lTRZBwmQE83f2PRNEvUXQvzMyP1Hrcm71WJr7mNtIGsdYjdNbWN+WAtLa2bCcx3DamaYLvcMEVbh51btmhGOx35fUApmcnkp3yyAtWEo9gGW92yJKj3CW6QlVttrjEW2iFkxZP6g== 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=vfl4AHzSllj4bFFIJ1EMeUXHQSlOSA2mDyGdC+w+Y8U=; b=WRQ3QuKcjIzRQi1SDBf8cm0XZCNUqVqCVWupKnwMXrM3PgkMFCwITIJlCo0AK7JiUamjtPWibxv7Q2SiAuvuiE4LwivU+qpTOxn6rw6b96XfSF5yoc8pK08qKAlY881rjXKIer9St25MIajUEqbb3MSU7hqvgNxn0Kb6HuD4a0+OIpFsvwfs6LVd7+FJve37gVYpPC3lm3stWpwMrBQ28d6WLWl6WzfTp1s30MMFz8ZFxu2mkJccGXtFSTVe/KguxZKDATSVoEfLnp5M1j8TPNTKREbbGAp9kukh0zSKdO42fSIeq96rxK3ZDrdkCA3ClJXpBg7W3klHaVTOogsxfg== 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 DM6PR11MB3018.namprd11.prod.outlook.com (2603:10b6:5:68::11) by SA0PR11MB4672.namprd11.prod.outlook.com (2603:10b6:806:96::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.13; Thu, 14 May 2026 17:07:30 +0000 Received: from DM6PR11MB3018.namprd11.prod.outlook.com ([fe80::d5a2:c5ee:1227:9d1f]) by DM6PR11MB3018.namprd11.prod.outlook.com ([fe80::d5a2:c5ee:1227:9d1f%6]) with mapi id 15.20.9891.021; Thu, 14 May 2026 17:07:30 +0000 From: "Edgecombe, Rick P" To: "minipli@grsecurity.net" , "bp@alien8.de" CC: "peterz@infradead.org" , "mingo@redhat.com" , "tglx@kernel.org" , "linux-kernel@vger.kernel.org" , "dave.hansen@linux.intel.com" , "x86@kernel.org" Subject: Re: [PATCH v3] x86/cpufeatures: Make X86_FEATURE_SHSTK clearcpuid-able Thread-Topic: [PATCH v3] x86/cpufeatures: Make X86_FEATURE_SHSTK clearcpuid-able Thread-Index: AQHc47wy4EZmuZ51CUOmfip4M1RclbYNvo0AgAACRIA= Date: Thu, 14 May 2026 17:07:30 +0000 Message-ID: <8380b063f933ac3b909b6a5c9adfa03a116da1f7.camel@intel.com> References: <20260514160932.91556-1-minipli@grsecurity.net> <20260514165922.GGagX_amNCc0mZcz4d@fat_crate.local> In-Reply-To: <20260514165922.GGagX_amNCc0mZcz4d@fat_crate.local> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu2.1 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: DM6PR11MB3018:EE_|SA0PR11MB4672:EE_ x-ms-office365-filtering-correlation-id: 6dd191a0-5d8f-4006-6092-08deb1db488a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700021|22082099003|18002099003|56012099003|11063799003|4143699003; x-microsoft-antispam-message-info: 4VBnUfHrWRaboq+GlLg5/uVzKbUKkFmvAolWYQf4N4B/jlb3HVw3j3bvI/ROjox7wbKmB8J/Ny4+TZFWSd15LIrY5IZYo3scDta5KG11TO2RKWItiMujGYJ6T3T/gapBpI7qqJvZe1tvE7NV7GuGMxH0coNRL6D+KUHUlWekmfbECsYcD9DssuIg7lwatk+BsxdcstSW8GFGslT2vQzM1ZaVRNREDYcokqOtRI5zrFtd9aSvhGhZwvHP4KOLZyLLHXkaIY/HQ7WGpA9lucCheRFXk9M6GJKedCqhxJuuSHXb2HRXVW7JmW0v7o0w1+OFFEAZ+NUx1BGnFAiDcYSiVo4kj4EmU6xSGVkEe1OON73MU7CO8gOoPNfqqoLMx3g5xfJhxHQjg2+TZsoxW8z8bHs5jnb08Hf3+TWY3Nn461fhW9/pwPPLLfmhi4hVC0fsr2gad478RZXakY4WQ/2L7/L9X2uWf81hkhh/sHhdQ7OWv9kaNzZn/SyqAK6bf40GTJEwA56x349FpXxMAts69P71oMjH9zKDah77XOzf5dGDLcz6qCKz5tYBPomlApHagpKaw/LV5LlJ7taX+pZYa13/dsDyNySlpJq696089XgBhVHtXVPoBRY8VZHbmnaAnlpWCLTqjR1uDlDVZs6bxgvAnhgK5iCt1AAmnH9FRMNMo7Tp7jZ86RPU6FMSGmClPYAS+Yow1vRGGgue6WABypjGcO9HMhhxJd2m5vL8HT0IfJbr9dSOdevv1G8E/XMu x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB3018.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700021)(22082099003)(18002099003)(56012099003)(11063799003)(4143699003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VEpUODNJd2ZiOXlSNWNBb1VCUWdrTDU4aFQrdEcrdE1CdWNnenBhNnNiZTB3?= =?utf-8?B?TkRuemw5ZWdMamg0VXQ1NlZkTjgzUGMwbzE4ZU8zdlBuaURpWURJNU9QQkcy?= =?utf-8?B?MnMwZFJsWFNFQmZQUStjSUw0TW1nQU8xQlRhL3RYSkNLQ2o0SG12YXlQSXVX?= =?utf-8?B?ZzFoUm1qR250cjVlbjdyYmxqRGg5Y2cyajhKbjhUOVg2NlZQeHVYSXowRTg4?= =?utf-8?B?VFNNVDBMQ2pNZGR1MDhGOFlQOVJ6N24vZFN1c0NoamUyK1h2OU5NM3g0N0c1?= =?utf-8?B?azVvVjUvVkpIQjlmbGNzbTFUNUVpSzA1N093ZWFnWGgyMys3ME9oWU1uNXlU?= =?utf-8?B?dVVsdmhzN0UvV3pwbDVpN3ZOTkdEcmsxUkZENHI4d0U1OGxJN2Q1T1pyZlFQ?= =?utf-8?B?NnpFZFBGVDh4THBieW91QThoSVJ0aGh2VkV3aXdpQWxia21MMEl1ZUVKYS9U?= =?utf-8?B?clBSdCtFTEpraXhRTGZBZE5zSEdDWGVLN3BULzZUa2dYWnZJdTN1NFNDV3Bt?= =?utf-8?B?TkVLRWFkZmt2bDJNeWkyNGhjeUE5d2NJV3pIYWRqZlFqT0hDeVNlZVNiTEM5?= =?utf-8?B?UDY3bThrS0lpZ2dvaDA2MER2ZUVqbTZjWjBnVm56UXRyeWtKc0NteGk5aXVU?= =?utf-8?B?Z3Nxb0VxTmpTNkVtQm40RnNkbmR3RmhqckVpemJ0Q0VYOTBjRW90eS9KTXBW?= =?utf-8?B?LzlvNktwd3FiUmw0V1ZuajNpYWtkTTJjNHZJTmhTUU5VbitwVlhLYXdDbU13?= =?utf-8?B?TVZJSjBqUW1vekFaZFBVQmk0Q1l0ckhBaTNjR0lnUEFhQ2lXMXJUc00zTzl0?= =?utf-8?B?NzJ5dkZCWmpSZU14cXRvSHUzR2NtbnhRVFpjeGNCMk5CaFY2dDN2b2RmTTV3?= =?utf-8?B?dUoyY09CbUNpc1hxcElvMjczZExRQUxsb0lsZTF2NUlJQUhzZ2I2b0lxVzZh?= =?utf-8?B?RGFXWWlYaUdWdmYrdlMrVGcycENCdHJCZ2xaOVhvTldWZUNNYkp6b0tGTkNn?= =?utf-8?B?ajA5MnFudTBQL0o5UWloZERSbzZsVkNDTnV1NVU0Vy9CbTJHYlVMdGlGK2E3?= =?utf-8?B?WnNTaHRMLzAzQ0crb2ZFMFV4Z2o0NzR6eWZNQUhpNVcyVHRjT05IcmRQamdQ?= =?utf-8?B?QlYyZEJ3RUVkZ2kwbTB1dXZaWmhnMVYzREFHNG5jeHB3SklNOFFlemo3UXlX?= =?utf-8?B?TkZvMFVKQzV4QU8yZEcwb2EzbTZWL0JaVVh1SkZzZytRclRDcmhhM3BKQjBt?= =?utf-8?B?UUl1M0dwSUtFRU4yQmNheXlJL1dTMGdLWGhtUHg2b242UDl0K0dCMXhpTUVD?= =?utf-8?B?ZXd2eUtWM1NLV3JVLzU2bEJtYzZhc3JWcHV0eWl5U1c3eG4zd1pxcndqbktG?= =?utf-8?B?TzA5NzJxMUlmQW43dW5XbjVlQTJqVC81ZThJaWxxRk9SSVQ0WXdob3c3eklp?= =?utf-8?B?ZEp5Sk1tTkZvVVp5ZFVpS2xjRWJRemNBdlpZSTdUeE5GYkhycWRFYXozV3dx?= =?utf-8?B?bHFESWJyQmdmdnhkekNNZ3I1clpWWCtqOSszcTRxdmdHZE9hNzlUVTd4djlh?= =?utf-8?B?bS81VGJRSm1IRVFZa2l3YUtRNys3bG91WXQ5M1Q3TmUzeFhhRFpuUmZUazJh?= =?utf-8?B?SFlXR3FFenVUWUlabjRaWmIyWWRpbmcxSVRKRC93N0JSUzdGQW16dzlWUG9O?= =?utf-8?B?bE1NdzBoc3FrdHVGQTdSZ0JybG1yd2ZHWDV3cDNVa3oyaEFCa2FWTEVONmtB?= =?utf-8?B?OTBKNjhodVlmNlZHbTdNbllZdlFKNUZiYnlJNU9jajZ1OFdPSkh1MnVRSlN2?= =?utf-8?B?czIyRWFhQ2ZwV1NiOUtmUWZWRXNMUS9FNzAxK0MxQnBiNHNTUmZsVzYyWXR4?= =?utf-8?B?V0xYYnpiallKdGcyNXJyMU5xUTlqb3FYTHVNVit4ZTU4UkFQSytqNlFUYS84?= =?utf-8?B?bFNLVTR3azRiUFd3ckJnNnV6Nkx0SVpnNWJmVFFYb2s2VTdnV3lxUE5rU0VD?= =?utf-8?B?L1dpdHVPYmZkUk9oUkpJY2p2b0djeHpPQk9UM01vbTJTYXpPUkVyT3NZbG9N?= =?utf-8?B?dEZWSERWOUk3ZGd6cVE3VURmNEFxaHJBcFhtOC9MTkpINTVpSFBYRm9ldnlE?= =?utf-8?B?UFAzZC80dHNLQllSaUJpWWtuWk9Ob1o1ZmQwTysyWXhwb2JYZjArcnV2RUR2?= =?utf-8?B?N21IcDZtYnQ1NVVLNHo4QXpFTzRLc1dCTDNERUY5TXpZbURIUGwrK1VEYmFM?= =?utf-8?B?SmNOOHRBdnBkV1lSOUp4TEdjUTRTODN2c2gxWVdUNHZjUk9aRVBod3c4TXdn?= =?utf-8?B?SzlWcFFjWkgyWWowVEJEbFdBVWNGSFhCdDZXeWI4WWRJQVNFWCtoSjh4dTRD?= =?utf-8?Q?2EN1ikDaPTTg4Nu0=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <10EC0F50DC852447B4EDB230579A59E3@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: K+DAGqpV9Jo2hOm2vwkuMwUbX07pld31R/rb0tB1LL1dFEqi7mKnJC/i5R0g7OxyawbeTLci77FzbHQBUSiAVi+a2h2wYjoc2R5H+EGQb71KUqyzLVsEU3RzHdMt3qXae1wTdhlsfvDZv+/I9HCn4IgY974V2jZXORANoU7XDdbx0vBAfsZrQKOK4nonlNBgwiIh3x0lPk28ldWJB6Z8ud+b2x2Q87A6/KKL5cw632C7iR6mCF3rTRUWGqtdmHTlyuVgYVzaNOke5912ZfHXRCnNVYKyQThQoOCGu0L4IZgaloYjJVWulzSwsjCay+cyBDnuuD9N4c9xTXicrMDdfg== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3018.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6dd191a0-5d8f-4006-6092-08deb1db488a X-MS-Exchange-CrossTenant-originalarrivaltime: 14 May 2026 17:07:30.5572 (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: M6MZIYsqfQM2oa70KYZHcCInj3fAMxj2W5Me1cLqShpiJsbHhrW9LIQ/h1nEQalqky7/gj9+IuYdE6OeYw+1JSgljBhkp9PfOI4jvE9f/5U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4672 X-OriginatorOrg: intel.com T24gVGh1LCAyMDI2LTA1LTE0IGF0IDE4OjU5ICswMjAwLCBCb3Jpc2xhdiBQZXRrb3Ygd3JvdGU6 DQo+IE9uIFRodSwgTWF5IDE0LCAyMDI2IGF0IDA2OjA5OjMyUE0gKzAyMDAsIE1hdGhpYXMgS3Jh dXNlIHdyb3RlOg0KPiA+IEFsbG93IFg4Nl9GRUFUVVJFX1NIU1QgdG8gYmUgZGlzYWJsZWQgdGhy b3VnaCB0aGUga2VybmVsIGNvbW1hbmRsaW5lIHZpYQ0KPiA+ICdjbGVhcmNwdWlkPXNoc3RrJyBh cyAnbm91c2Vyc2hzdGsnIHdvdWxkIHN0aWxsIGVuYWJsZSBDUjQuQ0VUIGV2ZW4gaWYNCj4gPiBu byBDRVQgZmVhdHVyZXMgYXJlIGluIHVzZS4NCj4gDQo+IGNsZWFyY3B1aWQ9IHRhaW50cyB0aGUg a2VybmVsIGJlY2F1c2UgdGhhdCBjbWRsaW5lIG9wdGlvbiBpcyBub3Qgc3VwcG9zZWQgdG8NCj4g YmUgdXNlZCBleGNlcHQgZm9yIGRlYnVnZ2luZyBjcmFwLi4uIGFuZCBhbGFzIHBlb3BsZSBhcmUg c3RpbGwgdXNpbmcgaXQuIE5vDQo+IHdvbmRlci4uLiA6LVwNCg0KRG8gd2Ugd2FudCBhIG5vbi10 YWludCB2ZXJzaW9uIG9mIHRoaXMgY2FwYWJpbGl0eT8gVGhhdCB3YXMgTWF0aGlhcycgb3JpZ2lu YWwNCmFwcHJvYWNoLCBidXQgaGlzIHVzZSB3YXMganVzdCBkZWJ1Z2dpbmcuIFNvIGhlbmNlLCB0 aGlzLg0KDQpBbHNvLCBoYXZlIHlvdSBldmVyIHRob3VnaHQgYWJvdXQga2VlcGluZyBhIGxpc3Qg b2YgYXBwcm92ZWQgY2xlYXJjcHVpZCB2YWx1ZXMNCnRoYXQgYXJlIHN1cHBvcnRlZCBmb3Igbm9y bWFsIHJ1bnRpbWUuIFBlb3BsZSBjb3VsZCB1c2UgaXQgdG8gdHVybiBvZmYgZmVhdHVyZXMNCndp dGhvdXQgcGlja2luZyB1cCBhIHRhaW50PyBMaWtlIG1heWJlIHBlb3BsZSB3YW50IHRvIHR1cm4g b2ZmIHNvbWV0aGluZyBmb3INCnBlcmZvcm1hbmNlIHJlYXNvbnMgb3Igc29tZXRoaW5nLiBUaGVu IHdlIGNhbiBoYXZlIG9uZSBpbnRlcmZhY2UgZm9yIGl0IGFsbCwNCmluc3RlYWQgb2YgdmFyaW91 cyBub3VzZXJzaHN0ay1saWtlIGZsYWdzLiBOb3Qgc3VyZSBpZiBpdCdzIGEgZ29vZC4NCg0KPiAN Cj4gQW55d2F5LCAibm91c2Vyc2hzdGsiIHNob3VsZCBkaXNhYmxlIHRoZSBDUjQgYml0IHRvby4N Cg0KTWF0aGlhcywgSSBjYW4gc2VuZCBhIHBhdGNoIGZvciB0aGlzIGlmIHlvdSB3YW50IHRvIGJl IGRvbmUgd2l0aCB0aGlzLg0K