From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 9139F3858CD1 for ; Mon, 13 Nov 2023 05:53:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9139F3858CD1 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 9139F3858CD1 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.55.52.151 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699854793; cv=pass; b=KwFw5W2zOEUU6JPhnf/iJmbZ6fpHpWHACmWAd4z0AlJOg4q5NRfR0Hzic73hA2S37lGfZC9J+jgq7ERS3FagtbAzFHd4KtScrSGBM8HcQXsm5LwStl4XbCEQ25hYq0h0Kl+XZT6XCA0FpFNGlaqR3QNIrCP0uEvKgecrhfCy1Zg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699854793; c=relaxed/simple; bh=oXltnr02QYcIkHLPT6yk9kRrs0CqOEi90+smtN1uWww=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=WLaamMic85y1RzZ1rOzLOrZFbhucnZHwfGjMpE6Yng5zjVuwLo4dXkTRJPJ2Tcf1NXcL5mFlr+5sQF/EFKa4FpRPtgnL2mZ0YfPhfh/KA5q2c1+BdneEg0afqar2CgE1A5wKuY+bj2g1CrOC1EhxL876m6wOucJzf3SaO43vQWY= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699854790; x=1731390790; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=oXltnr02QYcIkHLPT6yk9kRrs0CqOEi90+smtN1uWww=; b=SPQoQQLHR46nWpiimY4niTtFpOFaCjHYPmnDzHIElDOZDOg79+MQUQ0H 9fwt0DQscwSsjSlIjoaxepnG6r1Ea4RUBHjJ0CLkkyqZ0xF7rMrJSXmKf N9b3RkCaPeR2EUu8K8Eg9DG5yu+nG1opgavPwqrAUW8q3wWbRu3Hvs2of L6N6sQsIb8G9UobBAuda431luNpU8W95trAeNdOHNcahYyvSPAA1Kjwwv TzykPyII2JdtGBPUmzpiZgD5HLBQQcPD4SHTSwL6AAhEw5Yx9XPiDcgMp KKf3J6PrdOpXlgsqGcq5I351TTsny5xqlyKUTd4CCMl4qZl7dQkD7zj5V A==; X-IronPort-AV: E=McAfee;i="6600,9927,10892"; a="370579914" X-IronPort-AV: E=Sophos;i="6.03,298,1694761200"; d="scan'208";a="370579914" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Nov 2023 21:53:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10892"; a="1011444991" X-IronPort-AV: E=Sophos;i="6.03,298,1694761200"; d="scan'208";a="1011444991" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Nov 2023 21:53:07 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Sun, 12 Nov 2023 21:53:07 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Sun, 12 Nov 2023 21:53:07 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) 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.2507.34; Sun, 12 Nov 2023 21:53:07 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eKPuNvXLcOW7jOMWls4nK+JesrKEcH2Ww3ZMt10raFtH8IQJWS3iAAmtkpd/woji2ByS/+7W/nqWv4q+TXi584Se+AzjKi9z+OPbD/jO0GJ/EOuw0C98xm2bA2Vl41jHIkibTXmFjAgyN9KVpAE8Xm1cDNAe65i+fyJ9ojDpQl9uahoVolk3WH7Va4YELWRn5m+2VNnoHckJett2Syz/idCQcTBlZitljGyOR+wG0k9Fhp5UK7Ky5IoN3EWfdUPpG0xLlupYKzo3NxK8PtbjzQGAolKqaez2KrsRSbwI2fzolmcBEkx7Aw8midWh6mW8fzfX10RbYRPM8jbnBf6dRg== 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=oXltnr02QYcIkHLPT6yk9kRrs0CqOEi90+smtN1uWww=; b=ofZFCEkijirJgpYHpnkTKeIlU4vnerut6oUCLc2OJ0BJTFD/AsHHFE3UvjBu88W1ajmoyiCJAf9Dqe6eK6jhDedDiiu9w1LR3OJOr5/dUfTgq+qKLlt0SP1662GmWuWJnzqigFt5bw/nFWeNiwDEA72rZjM3e94baaRqVsGk1XJxO9IFSe58Agoub5F+42LmbNzi45GBG9gThivJM8uW8vJMmEwVHxM9jDwDV2M854Xpx82uyDk81qyyAp/4ayVBJj6ZYkzbn8y2etT47TrHVjodrr2eclmSL92hJqC6szruhIW33zTIaArVVm3CZmSx6wzbhv4tgXkGL/cchJLwRg== 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 SJ0PR11MB5600.namprd11.prod.outlook.com (2603:10b6:a03:3ab::16) by CYXPR11MB8754.namprd11.prod.outlook.com (2603:10b6:930:dc::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28; Mon, 13 Nov 2023 05:53:05 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549%3]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023 05:53:05 +0000 From: "Cui, Lili" To: "Beulich, Jan" CC: "Lu, Hongjiu" , "binutils@sourceware.org" Subject: RE: [PATCH V2 3/8] Support APX GPR32 with extend evex prefix Thread-Topic: [PATCH V2 3/8] Support APX GPR32 with extend evex prefix Thread-Index: AdoOdQqfv1chBtblQaeCovDJ+EcoogCXqRQAAT0lesA= Date: Mon, 13 Nov 2023 05:53:04 +0000 Message-ID: References: <2bdf64b9-f0fb-4d16-0a82-9edb36fa409f@suse.com> In-Reply-To: <2bdf64b9-f0fb-4d16-0a82-9edb36fa409f@suse.com> 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: SJ0PR11MB5600:EE_|CYXPR11MB8754:EE_ x-ms-office365-filtering-correlation-id: d115445f-1126-41cb-8812-08dbe40ccdfb x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JriJgy+dBOq9tcN8qvKI/0kxMeI7asAM8Z6EHPjAFMB+SM2A7/5jhS5r6XlAFEzvSR29ISYAKfII9xk9zt2n/GCJPBFX/BnqdjfeXsoNoPszmHnGkthY/45sMDFpdvXlkgJs7SaqV2MF5q0UTlXsDjSsmTL7OM3YHzRYYM9AxON1nwk84y5jlqp5hK0/KOzj/R9CYT8E4zeSIWZpWQg9TVgpJUKdgRZjm273NX3WUlB2thrNWwv1YULFsD1pRYjB+ZjZVxyIPkZe2xT8HK8mtbkNP+VRbS7WHghhqFHARKYKLu1Oq5aygUAOEWdVCyivloLTqUqdo4YmYX+VGmpLJJ09XPaovxTwKa4xf6BQDXg+Gb1D/TU3acwmD6/Dqxu2ebRNHZ7P4jkot3Rq2nx3VAxj4+5rdFrD7TqPDMlig062Jkp+v67Va8+hmTHM5sx3xTQqm4fazYqW3vucw8dM30b3t6b7SmJM34YqHVrtcco530xhjEwhx3uieIyb5xPfOhJsyIfwabxiMys/sdx3NtwRr0JoxUi+sEdgQPUzioyj6YLOIZUuFVkEccyZFour9zb1NekkNfcMqcapZH/Bso0EkwMnoaDwghBG9zXVD1Ju7dLF2i6XM1gxPEno+XQz x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5600.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(39860400002)(396003)(136003)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(41300700001)(55016003)(30864003)(7696005)(6506007)(71200400001)(2906002)(83380400001)(5660300002)(8676002)(8936002)(4326008)(52536014)(38070700009)(66556008)(66476007)(316002)(66446008)(66946007)(76116006)(33656002)(86362001)(53546011)(478600001)(54906003)(64756008)(26005)(9686003)(6916009)(122000001)(38100700002)(82960400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VkZFZmN0SUZhSG5aYk1lYi96RTNDSHFiK1QrS25zUk5hcWtsc29nZGo4Qnp6?= =?utf-8?B?OTVOM0I5bFZKS3NYMGJTK09qZUpmY2NYMVNzaWtmVHdZeFNyNFArL3RmS1o2?= =?utf-8?B?aC9USG4zeUtZc2VRTUlaZGMxMU9CdDVGbDdzR09CN3RRcVdJUHhnWUFENUVF?= =?utf-8?B?clIxUG1FL0lmQU92VzBva2toOXl4K3lIdTY2QitFaTd5S2lWNDVXVGo5bGU1?= =?utf-8?B?ZHBrb1FyN2pPNmJldCtkUlNsWHJucndPRm1PUFlRUDRHUCtLU0xMZ05IT3BN?= =?utf-8?B?SDJUanlUUy8vNkRxejA2ZE83dktxd3hnUUp4UE5NNGJISkt6YUVFWkpURlpW?= =?utf-8?B?enhpVk5CZUhkTGg4Y2NGbWgzcW1ENndIQWwvdUxEMG15TlJzMzVDRXFYZHVl?= =?utf-8?B?UWo2VmI2QmJVdUdXVVFzQmlCemhSM3FWQ2tMUzhnUmplSHJrN3lWQ3VXNy8x?= =?utf-8?B?YTRLTUVjUWkvdHQvelpWOXhSSU5oVEh2V0hMajhaUW9xamVpSkRpWWRlZ3BK?= =?utf-8?B?VkVxVVo2aHBvRkJJNmVyUjFKVndDMjlkcEFLb254L1VFdWk5UzFjN1lXa3FU?= =?utf-8?B?OW9PMzRXUnV4SG5sZXNwblI2SXlCclRyZjQxcVJCWlBnS28rNjV2ZVBHU3dh?= =?utf-8?B?YUpYb0F5bTBNelE3OGtROTR5K2lhVWFQV3hOcURLNDBmM0pTZ0k0S3hQOTdW?= =?utf-8?B?TWZlaWxQOWtSQy9FMmNYQ2IxRU5oSkQ1UGNpR250ckNxTTdac1JmZHlXTXNF?= =?utf-8?B?M2FkTG96VEQydGhNVU85eGRZM0RUbi9tUXFhNXc0Umk3NWhuQ1JrVGprS3Fz?= =?utf-8?B?bDJjN25DSWl3TTh6YWdJMHM1eWlBZFhkeE9tL0NGOFVmZUtJZ3pSSmVnY0dl?= =?utf-8?B?OGIvcUhkaTVVZ2hYMWFEeTdsKzVPdDN6dFB5QzdESS9PU0R5UDFvdE5GK3Jn?= =?utf-8?B?ZmNVSEFPWmhYME90NzQ2TlN6RFJMcUhwZGxmcVA3ZUUxc2d5cXBOSmFvdmdt?= =?utf-8?B?UFp4bkhHeWQwRVhURnNINmEreVBjQVhVWm1MaDlBb0tDdEJzNDJXeTQ4akFa?= =?utf-8?B?T0M3R2tNZkM5Z2RnNnZ1UTNBYmRXZzlHckhQMlV4RTdSTkNjNndHQXVmeC95?= =?utf-8?B?UmxBTDNLcXQxRHcvUDlkTDVsaEVyRkZ0Nk5TMmd4cTRTNHBEMGJlVVdSZ2lw?= =?utf-8?B?am14UXB6eW9YS0Vydm5tUEg1WGZYMVZ1KzBBUTZBT2dJMGxwcVlneHRoTzFE?= =?utf-8?B?THZnSFpmUUhBbjlzMklmSHNQZTNtYzdJSkNwM1JYeC95NXJ0K2U2N1JsRlJK?= =?utf-8?B?ejdVWmUxSVJPd1dZYUVFanVKZEdPZ2hRYVVtWXphQUJzcHdWMWk0VGs4MWdn?= =?utf-8?B?WktwMExGT2tSSVUrQ2xJUmd5blNiWHg2ZE82Y2xPaWZYQ0VaMFE3aEoxUnpx?= =?utf-8?B?cXBlM1ZIWVdJdllWRGV3cHB6a01xT1VNdzdZcFJ2V0FYb1VmOHJFeGFwdDBl?= =?utf-8?B?c2RMb3BheVMzWmVVTXJ5QWNoTnhMdzJ6MjZnT08vSXZFVy9jR2VKVzdJaU9z?= =?utf-8?B?WlNLbVk4Nys3Wk9NR01TZHloaWIzVDdNV2RUTXFDMnk2MlB5TUVlTVN5aW5G?= =?utf-8?B?VDQ2emNtcFh4VEU0b0U4WkJ0dnVxRUQvYjdTUW1yWXJpRmtLenhZZnlNTVo5?= =?utf-8?B?RjZYV3djNHhaVWNjeWNSc1JERjlZaXA2djBFdXQzRFQ3UDNmMFI2VGhlQUhJ?= =?utf-8?B?dy91U28xanFYa1RpMnlwNURveEtFeU1YUkhNSExJemlveGMxSVhjVXluOHNH?= =?utf-8?B?dlZDVG1KYW9mUEp5bDNka2QwcWJvWWFxdXJyOUFpbnc5dE04VWxGTTArSkdQ?= =?utf-8?B?aEYyOUoyZEJySUdSdTllNWlRWkZiUlRZZkZWQ2J1VGUvWnEwQnBFcFc0djdR?= =?utf-8?B?YUtDeFFOOFFBVWx2NitUekZzN05neDVTYXFUNTNEMnpVZUVZREFhcEFqaXFv?= =?utf-8?B?QzNnR0RHRkJ2NGZzNm9Ha3VORzVVNUdHQ2t5K0Jid0pIZUpLMmR3QlA4WEtW?= =?utf-8?B?VzJ4bnFrcDNYcytyZ0l1UnllZC9OUXRidGQ2UmpHaHV1L25xSFpXeU9ZOTJi?= =?utf-8?Q?/B0dqfZUYsLS3TxvcoINgQlyj?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5600.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d115445f-1126-41cb-8812-08dbe40ccdfb X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Nov 2023 05:53:04.9133 (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: uCrHVXYlbchZp7aiFER4bRU/MteTEtXEdrJ1+h+75fdS0AMvbrLLB85a6XaMkC94wljBzvHFws+1YlKuRcSZbw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR11MB8754 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-4.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.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: PiBTdWJqZWN0OiBSZTogW1BBVENIIFYyIDMvOF0gU3VwcG9ydCBBUFggR1BSMzIgd2l0aCBleHRl bmQgZXZleCBwcmVmaXgNCj4gDQo+IE9uIDAzLjExLjIwMjMgMTc6NTAsIEN1aSwgTGlsaSB3cm90 ZToNCj4gPiAtLS0gYS9nYXMvY29uZmlnL3RjLWkzODYuYw0KPiA+ICsrKyBiL2dhcy9jb25maWcv dGMtaTM4Ni5jDQo+ID4gQEAgLTM2NzIsOSArMzY3MiwxMCBAQCBpbnN0YWxsX3RlbXBsYXRlIChj b25zdCBpbnNuX3RlbXBsYXRlICp0KQ0KPiA+ICAgIC8qIER1YWwgVkVYL0VWRVggdGVtcGxhdGVz IG5lZWQgc3RyaXBwaW5nIG9uZSBvZiB0aGUgcG9zc2libGUgdmFyaWFudHMuDQo+ICovDQo+ID4g ICAgaWYgKHQtPm9wY29kZV9tb2RpZmllci52ZXggJiYgdC0+b3Bjb2RlX21vZGlmaWVyLmV2ZXgp DQo+ID4gICAgew0KPiA+IC0gICAgICBpZiAoKG1heWJlX2NwdSAodCwgQ3B1QVZYKSB8fCBtYXli ZV9jcHUgKHQsIENwdUFWWDIpDQo+ID4gLQkgICB8fCBtYXliZV9jcHUgKHQsIENwdUZNQSkpDQo+ ID4gLQkgICYmIChtYXliZV9jcHUgKHQsIENwdUFWWDUxMkYpIHx8IG1heWJlX2NwdSAodCwgQ3B1 QVZYNTEyVkwpKSkNCj4gPiArICAgIGlmICgobWF5YmVfY3B1ICh0LCBDcHVBVlgpIHx8IG1heWJl X2NwdSAodCwgQ3B1QVZYMikNCj4gPiArCSB8fCBtYXliZV9jcHUgKHQsIENwdUZNQSkgfHwgIG1h eWJlX2NwdSAodCwgQ3B1QU1YX1RJTEUpKQ0KPiA+ICsJJiYgKG1heWJlX2NwdSAodCwgQ3B1QVZY NTEyRikgfHwgbWF5YmVfY3B1ICh0LCBDcHVBVlg1MTJWTCkNCj4gPiArCSAgICB8fCBtYXliZV9j cHUgKHQsIENwdUFQWF9GKSkpDQo+IA0KPiBTb21ldGhpbmcncyBvZGQgd2l0aCBmb3JtYXR0aW5n IChpbmRlbnRhdGlvbikgaGVyZS4gSSBmaXJzdCB0aG91Z2h0IEkgaGFkDQo+IHNjcmV3ZWQgdXAg aW4gbXkgcGF0Y2gsIGJ1dCBsb29raW5nIGJhY2sgdGhpbmdzIGFwcGVhciB0byBiZSBjb3JyZWN0 IHRoZXJlLg0KPiANCg0KUmViYXNlICB3aXRoIG1hc3Rlci4gDQoNCj4gPiBAQCAtMzY4OSwxMiAr MzY5MCwxMSBAQCBpbnN0YWxsX3RlbXBsYXRlIChjb25zdCBpbnNuX3RlbXBsYXRlICp0KQ0KPiA+ ICAJCWkudG0uY3B1LmJpdGZpZWxkLmNwdWF2eCA9IDE7DQo+ID4gIAkgICAgICBlbHNlDQo+ID4g IAkJew0KPiA+IC0JCSAgZ2FzX2Fzc2VydCAoIWkudG0uY3B1LmJpdGZpZWxkLmlzYSk7DQo+ID4g IAkJICBpLnRtLmNwdS5iaXRmaWVsZC5pc2EgPSBpLnRtLmNwdV9hbnkuYml0ZmllbGQuaXNhOw0K PiANCj4gWW91IG1heSBub3QgcmVtb3ZlIHRoZSBhc3NlcnRpb24gaGVyZSwgb3IgZWxzZSB0aGUg YXNzaWdubWVudCBjb3VsZCBzaWxlbnRseQ0KPiBvdmVyd3JpdGUgYSB2YWx1ZS4gQ2FuIHlvdSBl eHBsYWluIHdoeSB5b3UgZGlkIHRoZSByZW1vdmFsPw0KPg0KDQpSZWJhc2VkIHdpdGggbWFzdGVy LiBTb3JyeSBJIGp1c3Qgc2F3IHRoZSBjb21tZW50cyBoZXJlLg0KDQo+ID4gQEAgLTM4ODUsNiAr Mzg4NSwxNCBAQCBpc19hbnlfdmV4X2VuY29kaW5nIChjb25zdCBpbnNuX3RlbXBsYXRlICp0KQ0K PiA+ICAgIHJldHVybiB0LT5vcGNvZGVfbW9kaWZpZXIudmV4IHx8IGlzX2V2ZXhfZW5jb2Rpbmcg KHQpOyAgfQ0KPiA+DQo+ID4gK3N0YXRpYyBJTkxJTkUgYm9vbA0KPiA+ICtpc19hbnlfYXB4X2V2 ZXhfZW5jb2RpbmcgKHZvaWQpDQo+ID4gK3sNCj4gPiArICByZXR1cm4gaS5yZXgyIHx8IGkudG0u b3Bjb2RlX3NwYWNlID09IFNQQUNFX0VWRVhNQVA0DQo+ID4gKyAgICB8fCAoaS52ZXgucmVnaXN0 ZXJfc3BlY2lmaWVyDQo+ID4gKwkmJiBpLnZleC5yZWdpc3Rlcl9zcGVjaWZpZXItPnJlZ19mbGFn cyAmIFJlZ1JleDIpOyB9DQo+IA0KPiBUaGUgdXNlIG9mIGkucmV4MiBoZXJlIGRvZXNuJ3QgZml0 IHRoZSBuYW1lOyB0aGUgc29sZSB1c2VyIGhhcyBmaXJzdCBjaGVja2VkDQo+IHRoYXQgbm8gbGVn YWN5IGVuY29kaW5nIGlzIGdvaW5nIHRvIGJlIHVzZWQsIGFuZCB0aGF0J3MgYSBwcmVyZXEgaGVy ZS4gU3VjaCBhDQo+IHByZXJlcSBuZWVkcyBzcGVsbGluZyBvdXQsIHN1Y2ggdGhhdCBvbmUgY2Fu IGJlIGVhc2lseSBhd2FyZSB3aGVuIHBvc3NpYmx5DQo+IGFkZGluZyBhbm90aGVyIGNhbGxlci4N Cj4gDQo+IEFsc28sIHdoYXQgZG9lcyAiYW55IiBzdGFuZCBmb3IgaW4gdGhlIG5hbWUgaGVyZSAu Li4NCj4gDQoNCkhvdyBhYm91dCAiY2hlY2tfaWZfYW55X3ZleF9pc19ldmV4X2FweF9lbmNvZGlu ZyAoKSIgPw0KDQo+ID4gIHN0YXRpYyBJTkxJTkUgYm9vbA0KPiA+ICBpc19hbnlfYXB4X3JleDJf ZW5jb2RpbmcgKHZvaWQpDQo+IA0KPiAuLi4gYW5kIGFsc28gdGhlIG9uZSBoZXJlPyBJbiBpc19h bnlfdmV4X2VuY29kaW5nKCkgaXQgcmVmZXJzIHRvIFZFWC9YT1AvRVZFWC4NCj4gDQoNCkNoYW5n ZWQgaXQgdG8gIGlzX2FweF9yZXgyX2VuY29kaW5nLg0KDQo+ID4gQEAgLTQxNjEsNiArNDE2OSwy NyBAQCBidWlsZF9yZXgyX3ByZWZpeCAodm9pZCkNCj4gPiAgCQkgICAgfCAoaS5yZXgyIDw8IDQp IHwgaS5yZXgpOw0KPiA+ICB9DQo+ID4NCj4gPiArLyogQnVpbGQgdGhlIEVWRVggcHJlZml4ICg0 LWJ5dGUpIGZvciBldmV4IGluc24NCj4gPiArICAgfCA2MmggfA0KPiA+ICsgICB8IGBSYFhgQmBS JyB8IEInbW1tIHwNCj4gPiArICAgfCBXIHwgdmB2YHZgdiB8IGB4JyB8IHBwIHwNCj4gPiArICAg fCB6fCBMJ0wgfCBiIHwgYHYgfCBhYWEgfA0KPiA+ICsqLw0KPiA+ICtzdGF0aWMgdm9pZA0KPiA+ ICtidWlsZF9hcHhfZXZleF9wcmVmaXggKHZvaWQpDQo+ID4gK3sNCj4gPiArICBidWlsZF9ldmV4 X3ByZWZpeCAoKTsNCj4gPiArICBpZiAoaS5yZXgyICYgUkVYX1IpDQo+ID4gKyAgICBpLnZleC5i eXRlc1sxXSAmPSAweGVmOw0KPiANCj4gSSB0aGluayB0aGlzIHdvdWxkIHJlYWQgZWFzaWVyIGFz IH4weDEwIChzaW1pbGFybHkgYmVsb3cgdGhlbikuIEkgYWxzbyB0aGluayAuLi4NCj4gDQoNCkRv bmUuDQoNCj4gPiArICBpZiAoaS52ZXgucmVnaXN0ZXJfc3BlY2lmaWVyDQo+ID4gKyAgICAgICYm IHJlZ2lzdGVyX251bWJlciAoaS52ZXgucmVnaXN0ZXJfc3BlY2lmaWVyKSA+IDB4ZikNCj4gPiAr ICAgIGkudmV4LmJ5dGVzWzNdICY9IDB4Zjc7DQo+ID4gKyAgaWYgKGkucmV4MiAmIFJFWF9CKQ0K PiA+ICsgICAgaS52ZXguYnl0ZXNbMV0gfD0gMHgwODsNCj4gDQo+IC4uLiBpdCB3b3VsZCBoZWxw IGlmIHRoZSBieXRlIDEgdXBkYXRlcyB3ZXJlIGtlcHQgdG9nZXRoZXIgKHRoZSBjb21waWxlciBt YXkNCj4gZXZlbiBwcm9kdWNlIGJldHRlciBjb2RlIHRoZW4pLCBhbmQgbWF5YmUgLi4uDQo+IA0K PiA+ICsgIGlmIChpLnJleDIgJiBSRVhfWCkNCj4gPiArICAgIGkudmV4LmJ5dGVzWzJdICY9IDB4 ZmI7DQo+IA0KPiAuLi4gdGhlIGJ5dGUgMiB1cGRhdGUgYWhlYWQgb2YgdGhlIGJ5dGUgMyBvbmUu DQo+IA0KDQpEb25lLg0KDQo+IEFsc28gd2h5IGRvIHlvdSB1c2UgcmVnaXN0ZXJfbnVtYmVyKCkg aGVyZSwgYW5kIG5vdCB0aGUgUmVnUmV4MiBmbGFnPw0KPiANCg0KUmVnUmV4MiBmbGFnIGlzIGJl dHRlciwgY2hhbmdlZCBpdC4NCg0KPiA+IEBAIC01NjI0LDE5ICs1NjUzLDQyIEBAIG1kX2Fzc2Vt YmxlIChjaGFyICpsaW5lKQ0KPiA+ICAJfQ0KPiA+DQo+ID4gICAgICAgIC8qIENoZWNrIGZvciBl eHBsaWNpdCBSRVgyIHByZWZpeC4gICovDQo+ID4gLSAgICAgIGlmIChpLnJleDIgfHwgaS5yZXgy X2VuY29kaW5nKQ0KPiA+ICsgICAgICBpZiAoaS5yZXgyX2VuY29kaW5nKQ0KPiANCj4gVGhpcyBj aGFuZ2UgLi4uDQo+IA0KPiA+ICAJew0KPiA+ICAJICBhc19iYWQgKF8oIlJFWDIgcHJlZml4IGlu dmFsaWQgd2l0aCBgJXMnIiksIGluc25fbmFtZSAoJmkudG0pKTsNCj4gDQo+IC4uLiBmdXJ0aGVy IGludmFsaWRhdGVzIHRoaXMgbWVzc2FnZS4gWWV0IGlpcmMgeW91IHNhaWQgeW91IHJlbW92ZWQg dGhlDQo+IGkucmV4MiBwYXJ0IG9mIHRoZSBjaGVjayBhbnl3YXkgZnJvbSBwYXRjaCAxLg0KPiAN Cj4gPiAgCSAgcmV0dXJuOw0KPiA+ICAJfQ0KPiA+DQo+ID4gLSAgICAgIGlmIChpLnRtLm9wY29k ZV9tb2RpZmllci52ZXgpDQo+ID4gKyAgICAgIGlmIChpc19hbnlfYXB4X2V2ZXhfZW5jb2Rpbmcg KCkpDQo+ID4gKwl7DQo+ID4gKwkgIGlmIChpLnRtLm9wY29kZV9zcGFjZSA9PSBTUEFDRV9FVkVY TUFQNCAmJg0KPiAoaS5wcmVmaXhbREFUQV9QUkVGSVhdICE9IDApKQ0KPiA+ICsJICAgIHsNCj4g PiArCSAgICAgIGkudG0ub3Bjb2RlX21vZGlmaWVyLm9wY29kZXByZWZpeCA9IFBSRUZJWF8wWDY2 Ow0KPiANCj4gUGVyaGFwcyBiZXR0ZXIgYXNzZXJ0IHRoYXQgbm8gb3RoZXIgZW1iZWRkZWQgcHJl Zml4IHdhcyBhbHJlYWR5IHJlY29yZGVkDQo+IGhlcmU/DQoNCkFkZGVkIHRoZSBjb2RlIGFzIGJl bG93LCBJIGFkZGVkIGFzX2JhZCBpbnN0ZWFkIG9mIGFzc2VydCwgSSB0aGluayB0aGlzIGlzIGEg aW5wdXQgZXJyb3IgYW5kIG5vdCBhIGdhcyBpbnRlcm5hbCBlcnJvciwgcmlnaHQ/ICBCZXNpZGVz IFJFWF9QUkVGSVg/DQoNCiAgICAgIGlmIChjaGVja19pZl9hbnlfdmV4X2lzX2V2ZXhfYXB4X2Vu Y29kaW5nICgpKQ0KICAgICAgICB7DQogICAgICAgICAgaWYgKGkudG0ub3Bjb2RlX3NwYWNlID09 IFNQQUNFX0VWRVhNQVA0ICYmIChpLnByZWZpeFtEQVRBX1BSRUZJWF0gIT0gMCkpDQogICAgICAg ICAgICB7DQoNCiAgICAgICAgICAgICAgaS50bS5vcGNvZGVfbW9kaWZpZXIub3Bjb2RlcHJlZml4 ID0gUFJFRklYXzBYNjY7DQogICAgICAgICAgICAgIGkucHJlZml4W0RBVEFfUFJFRklYXSA9IDA7 DQoNCiAgICAgICAgICAgICAgLyogIFByZWZpeGVzIG90aGVyIHRoYW4gdGhlIHJleCBwcmVmaXgg Y2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgZGF0YSBwcmVmaXguICAqLw0KICAgICAgICAgICAgICBj b25zdCB1bnNpZ25lZCBjaGFyICpwID0gaS5wcmVmaXg7DQoNCiAgICAgICAgICAgICAgZm9yIChq ID0gMDsgaiA8IEFSUkFZX1NJWkUgKGkucHJlZml4KTsgKytqLCArK3ApDQogICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgaWYgKCEqcCkNCiAgICAgICAgICAgICAgICAgICAgY29u dGludWU7DQoNCiAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaikNCiAgICAgICAgICAgICAgICAg ICAgew0KICAgICAgICAgICAgICAgICAgICBjYXNlIERBVEFfUFJFRklYOg0KICAgICAgICAgICAg ICAgICAgICBjYXNlIFJFWF9QUkVGSVg6DQogICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQog ICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICAgICAgICAgYXNfYmFk IChfKCJ1bmV4cGVjdGluZyBwcmVmaXggJXggdG9nZXRoZXIgd2l0aCBEQVRBICINCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInByZWZpeCBpbiBmcm9udCBvZiBldmV4LXByb21vdGVk IGFweCAiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnN0cnVjdGlvbiAiKSwg KnApOw0KICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAg fQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgIGJ1aWxkX2Fw eF9ldmV4X3ByZWZpeCAoKTsNCiAgICAgIH0NCg0KPiANCj4gPiArCSAgICAgIGkucHJlZml4W0RB VEFfUFJFRklYXSA9IDA7DQo+ID4gKwkgICAgfQ0KPiA+ICsNCj4gPiArCSAgYnVpbGRfYXB4X2V2 ZXhfcHJlZml4ICgpOw0KPiA+ICsNCj4gPiArCSAgLyogRW5jb2RlIHRoZSBOREQgYml0IG9mIHRo ZSBpbnN0cnVjdGlvbiBwcm9tb3RlZCBmcm9tIHRoZSBsZWdhY3kNCj4gPiArCSAgICAgc3BhY2Uu ICAqLw0KPiA+ICsJICBpZiAoaS52ZXgucmVnaXN0ZXJfc3BlY2lmaWVyICYmIGkudG0ub3Bjb2Rl X3NwYWNlID09DQo+IFNQQUNFX0VWRVhNQVA0KQ0KPiA+ICsJICAgIGkudmV4LmJ5dGVzWzNdIHw9 IDB4MTA7DQo+IA0KPiBXaHkgdGhlIHJlc3RyaWN0aW9uIHRvIG1hcCAzPyBBbmQgd2h5IGlzIHRo aXMgbm90IHBhcnQgb2YNCj4gYnVpbGRfYXB4X2V2ZXhfcHJlZml4KCk/DQoNCkl0IGlzIHRoZSBO RCBiaXQsIHdoaWNoIGlzIGFkZGVkIGluIGFkdmFuY2UgaGVyZS4gQWZ0ZXIgcmVhZGluZyB0aGUg Y29tbWVudHMgYmVsb3csIEknbGwgbW92ZSB0aGlzIHRvIGFuIE5ERCBwYXRjaC4NCg0KPiANCj4g PiArCSAgLyogRW5jb2RlIHRoZSBORiBiaXQgb2YgdGhlIGluc3RydWN0aW9uIHByb21vdGVkIGZy b20gbGVnYWN5IGFuZA0KPiB2ZXgNCj4gPiArCSAgICAgc3BhY2UuICAqLw0KPiA+ICsJICBpZiAo aS5oYXNfbmYpDQo+ID4gKwkgICAgaS52ZXguYnl0ZXNbM10gfD0gMHgwNDsNCj4gDQo+IFRoaXMg d2FudHMgdG8gbW92ZSB0byB0aGUgcGF0Y2ggYWN0dWFsbHkgaW50cm9kdWNpbmcgTkYgaGFuZGxp bmcuDQo+IA0KDQpEb25lLg0KDQo+ID4gQEAgLTU2NjMsMTYgKzU3MTUsMTcgQEAgbWRfYXNzZW1i bGUgKGNoYXIgKmxpbmUpDQo+ID4gICAgICAgaW5zdHJ1Y3Rpb24gYWxyZWFkeSBoYXMgYSBwcmVm aXgsIHdlIG5lZWQgdG8gY29udmVydCBvbGQNCj4gPiAgICAgICByZWdpc3RlcnMgdG8gbmV3IG9u ZXMuICAqLw0KPiA+DQo+ID4gLSAgaWYgKChpLnR5cGVzWzBdLmJpdGZpZWxkLmNsYXNzID09IFJl ZyAmJiBpLnR5cGVzWzBdLmJpdGZpZWxkLmJ5dGUNCj4gPiAtICAgICAgICYmIChpLm9wWzBdLnJl Z3MtPnJlZ19mbGFncyAmIFJlZ1JleDY0KSAhPSAwKQ0KPiA+IC0gICAgICB8fCAoaS50eXBlc1sx XS5iaXRmaWVsZC5jbGFzcyA9PSBSZWcgJiYgaS50eXBlc1sxXS5iaXRmaWVsZC5ieXRlDQo+ID4g LQkgICYmIChpLm9wWzFdLnJlZ3MtPnJlZ19mbGFncyAmIFJlZ1JleDY0KSAhPSAwKQ0KPiA+IC0g ICAgICB8fCAoKChpLnR5cGVzWzBdLmJpdGZpZWxkLmNsYXNzID09IFJlZyAmJiBpLnR5cGVzWzBd LmJpdGZpZWxkLmJ5dGUpDQo+ID4gLQkgICB8fCAoaS50eXBlc1sxXS5iaXRmaWVsZC5jbGFzcyA9 PSBSZWcgJiYgaS50eXBlc1sxXS5iaXRmaWVsZC5ieXRlKSkNCj4gPiAtCSAgJiYgKGkucmV4ICE9 IDAgfHwgaS5yZXgyICE9IDApKSkNCj4gPiArICBpZiAoIWlzX2FueV92ZXhfZW5jb2RpbmcgKCZp LnRtKQ0KPiA+ICsgICAgICAmJiAoKGkudHlwZXNbMF0uYml0ZmllbGQuY2xhc3MgPT0gUmVnICYm IGkudHlwZXNbMF0uYml0ZmllbGQuYnl0ZQ0KPiA+ICsJICAgJiYgKGkub3BbMF0ucmVncy0+cmVn X2ZsYWdzICYgUmVnUmV4NjQpICE9IDApDQo+ID4gKwkgIHx8IChpLnR5cGVzWzFdLmJpdGZpZWxk LmNsYXNzID09IFJlZyAmJiBpLnR5cGVzWzFdLmJpdGZpZWxkLmJ5dGUNCj4gPiArCSAgICAgICYm IChpLm9wWzFdLnJlZ3MtPnJlZ19mbGFncyAmIFJlZ1JleDY0KSAhPSAwKQ0KPiA+ICsJICB8fCAo KChpLnR5cGVzWzBdLmJpdGZpZWxkLmNsYXNzID09IFJlZyAmJiBpLnR5cGVzWzBdLmJpdGZpZWxk LmJ5dGUpDQo+ID4gKwkgICAgICAgfHwgKGkudHlwZXNbMV0uYml0ZmllbGQuY2xhc3MgPT0gUmVn ICYmIGkudHlwZXNbMV0uYml0ZmllbGQuYnl0ZSkpDQo+ID4gKwkgICAgICAmJiAoaS5yZXggIT0g MCB8fCBpLnJleDIgIT0gMCkpKSkNCj4gDQo+IEknbSBhIGxpdHRsZSBwdXp6bGVkIGJ5IHRoaXMg KGhhcmQgdG8gcmVhZCkgYWRqdXN0bWVudDoNCj4gaXNfYW55X3ZleF9lbmNvZGluZygpIGJhc2lj YWxseSBleGNsdWRlcyBtb3N0IG5ldyB0ZW1wbGF0ZXMgYWRkZWQgaGVyZSwNCj4geWV0IGZvciB0 aG9zZSBwZXJtaXR0aW5nIFJlZzggeW91IHN0aWxsIG5lZWQgdG8gZW5mb3JjZSB0aGUgRVZFWC1p bXBvc2VkDQo+IHJlc3RyaWN0aW9uLg0KPiANCg0KTW92ZWQgaXNfYW55X3ZleF9lbmNvZGluZygp IGludG8gaWYgYm9keSB0byBjb25zdHJhaW4gaS5yZXggfD0gUkVYX09QQ09ERS4NCg0KaWYgKCgo aS50eXBlc1swXS5iaXRmaWVsZC5jbGFzcyA9PSBSZWcgJiYgaS50eXBlc1swXS5iaXRmaWVsZC5i eXRlDQogICAgICAgICYmIChpLm9wWzBdLnJlZ3MtPnJlZ19mbGFncyAmIFJlZ1JleDY0KSAhPSAw KQ0KICAgICAgIHx8IChpLnR5cGVzWzFdLmJpdGZpZWxkLmNsYXNzID09IFJlZyAmJiBpLnR5cGVz WzFdLmJpdGZpZWxkLmJ5dGUNCiAgICAgICAgICAgJiYgKGkub3BbMV0ucmVncy0+cmVnX2ZsYWdz ICYgUmVnUmV4NjQpICE9IDApDQogICAgICAgfHwgKCgoaS50eXBlc1swXS5iaXRmaWVsZC5jbGFz cyA9PSBSZWcgJiYgaS50eXBlc1swXS5iaXRmaWVsZC5ieXRlKQ0KICAgICAgICAgICAgfHwgKGku dHlwZXNbMV0uYml0ZmllbGQuY2xhc3MgPT0gUmVnICYmIGkudHlwZXNbMV0uYml0ZmllbGQuYnl0 ZSkpDQogICAgICAgICAgICYmIChpLnJleCAhPSAwIHx8IGkucmV4MiAhPSAwKSkpKQ0KICAgIHsN CiAgICAgIGludCB4Ow0KDQogICAgICBpZiAoIWlzX2FweF9yZXgyX2VuY29kaW5nICgpICYmICFp c19hbnlfdmV4X2VuY29kaW5nKCZpLnRtKSkNCiAgICAgICAgaS5yZXggfD0gUkVYX09QQ09ERTsN Cg0KPiA+IEBAIC03MDQzLDcgKzcwOTYsNyBAQCBWRVhfY2hlY2tfZW5jb2RpbmcgKGNvbnN0IGlu c25fdGVtcGxhdGUgKnQpDQo+ID4gc3RhdGljIGludCAgY2hlY2tfRWdwck9wZXJhbmRzIChjb25z dCBpbnNuX3RlbXBsYXRlICp0KSAgew0KPiA+IC0gIGlmICh0LT5vcGNvZGVfbW9kaWZpZXIubm9l Z3ByKQ0KPiA+ICsgIGlmICh0LT5vcGNvZGVfbW9kaWZpZXIubm9lZ3ByICYmICFuZWVkX2V2ZXhf ZW5jb2RpbmcoKSkNCj4gPiAgICAgIHsNCj4gPiAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgb3Ag PSAwOyBvcCA8IGkub3BlcmFuZHM7IG9wKyspDQo+ID4gIAl7DQo+IA0KPiBXaGF0IGlzIHRoaXMg Y2hhbmdlIGFib3V0Pw0KPiANCg0KQWZ0ZXIgbWVyZ2luZyB2ZXggYW5kIGV2ZXgsIGV2ZXggZXhp dHMgaGVyZSBlYXJseSBhbmQgYWxsIGV2ZXggc3VwcG9ydHMgZWdwci4NCg0KPiA+IEBAIC0xNDI1 Miw2ICsxNDMwNiw5IEBAIHN0YXRpYyBib29sIGNoZWNrX3JlZ2lzdGVyIChjb25zdCByZWdfZW50 cnkNCj4gPiAqcikNCj4gPg0KPiA+ICAgIGlmIChyLT5yZWdfZmxhZ3MgJiBSZWdSZXgyKQ0KPiA+ ICAgICAgew0KPiA+ICsgICAgICBpZiAoaXNfZXZleF9lbmNvZGluZyAoY3VycmVudF90ZW1wbGF0 ZXMtPnN0YXJ0KSkNCj4gPiArCWkudmVjX2VuY29kaW5nID0gdmV4X2VuY29kaW5nX2V2ZXg7DQo+ IA0KPiBXaGF0IGlmIHRoZSBBUFggdGVtcGxhdGUgaXNuJ3QgZmlyc3QgaW4gdGhlIGdyb3VwPw0K PiANCg0KSWYgYXB4X2YgaXMgbm90IHN1cHBvcnRlZCwgaXQgd2lsbCByZXR1cm4gZmFsc2UsIGp1 c3QgYWZ0ZXIgdGhpcyBjb2RlLiBPaCwgYmV0dGVyIHRvIG1vdmUgaXQgdG8gdGhlIGJhY2suIERv bmUuDQoNCiAgaWYgKHItPnJlZ19mbGFncyAmIFJlZ1JleDIpDQogICAgew0KICAgICAgaWYgKGN1 cnJlbnRfdGVtcGxhdGVzLT5zdGFydC0+b3Bjb2RlX21vZGlmaWVyLmV2ZXgpDQogICAgICAgIGku dmVjX2VuY29kaW5nID0gdmV4X2VuY29kaW5nX2V2ZXg7DQoNCiAgICAgIGlmICghY3B1X2FyY2hf ZmxhZ3MuYml0ZmllbGQuY3B1YXB4X2YNCiAgICAgICAgICB8fCBmbGFnX2NvZGUgIT0gQ09ERV82 NEJJVCkNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCg0KPiA+IC0tLSBhL29wY29kZXMv aTM4Ni1vcGMuaA0KPiA+ICsrKyBiL29wY29kZXMvaTM4Ni1vcGMuaA0KPiA+IEBAIC05NzUsNiAr OTc1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgaW5zbl90ZW1wbGF0ZQ0KPiA+ICAgICAgIDE6IDBGIG9w Y29kZSBwcmVmaXggLyBzcGFjZS4NCj4gPiAgICAgICAyOiAwRjM4IG9wY29kZSBwcmVmaXggLyBz cGFjZS4NCj4gPiAgICAgICAzOiAwRjNBIG9wY29kZSBwcmVmaXggLyBzcGFjZS4NCj4gPiArICAg ICA0OiBFVkVYTUFQNCBvcGNvZGUgcHJlZml4IC8gc3BhY2UuDQo+ID4gICAgICAgNTogRVZFWE1B UDUgb3Bjb2RlIHByZWZpeCAvIHNwYWNlLg0KPiA+ICAgICAgIDY6IEVWRVhNQVA2IG9wY29kZSBw cmVmaXggLyBzcGFjZS4NCj4gPiAgICAgICA3OiBWRVhNQVA3IG9wY29kZSBwcmVmaXggLyBzcGFj ZS4NCj4gPiBAQCAtOTg2LDYgKzk4Nyw3IEBAIHR5cGVkZWYgc3RydWN0IGluc25fdGVtcGxhdGUN Cj4gPiAgI2RlZmluZSBTUEFDRV8wRgkxDQo+ID4gICNkZWZpbmUgU1BBQ0VfMEYzOAkyDQo+ID4g ICNkZWZpbmUgU1BBQ0VfMEYzQQkzDQo+ID4gKyNkZWZpbmUgU1BBQ0VfRVZFWE1BUDQgIDQNCj4g PiAgI2RlZmluZSBTUEFDRV9FVkVYTUFQNQk1DQo+ID4gICNkZWZpbmUgU1BBQ0VfRVZFWE1BUDYJ Ng0KPiA+ICAjZGVmaW5lIFNQQUNFX1ZFWE1BUDcJNw0KPiANCj4gTml0OiBQbGVhc2UgY2FuIHBh ZGRpbmcgaGVyZSBtYXRjaCBzdXJyb3VuZGluZyBjb2RlPw0KPiANCg0KRG9uZS4NCg0KPiA+IEBA IC0zMzgsNiArMzQyLDcgQEAgYWRjLCAweDE0LCAwLCBXfE5vX3NTdWYsIHsNCj4gPiBJbW04fElt bTE2fEltbTMyfEltbTMyUywgQWNjfEJ5dGV8V29yZHxEd29yZHxRd29yZCB9ICBhZGMsDQo+IDB4 ODAvMiwgMCwNCj4gPiBXfE1vZHJtfE5vX3NTdWZ8SExFUHJlZml4TG9jaywgeyBJbW04fEltbTE2 fEltbTMyfEltbTMyUywNCj4gPg0KPiBSZWc4fFJlZzE2fFJlZzMyfFJlZzY0fEJ5dGV8V29yZHxE d29yZHxRd29yZHxVbnNwZWNpZmllZHxCYXNlSW5kZQ0KPiB4IH0NCj4gPg0KPiA+ICBuZWcsIDB4 ZjYvMywgMCwgV3xNb2RybXxOb19zU3VmfEhMRVByZWZpeExvY2ssIHsNCj4gPg0KPiBSZWc4fFJl ZzE2fFJlZzMyfFJlZzY0fEJ5dGV8V29yZHxEd29yZHxRd29yZHxVbnNwZWNpZmllZHxCYXNlSW5k ZQ0KPiB4IH0NCj4gPiArDQo+ID4gIG5vdCwgMHhmNi8yLCAwLCBXfE1vZHJtfE5vX3NTdWZ8SExF UHJlZml4TG9jaywgew0KPiA+DQo+IFJlZzh8UmVnMTZ8UmVnMzJ8UmVnNjR8Qnl0ZXxXb3JkfER3 b3JkfFF3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRlDQo+IHggfQ0KPiA+DQo+ID4gIGFhYSwgMHgz NywgTm82NCwgTm9TdWYsIHt9DQo+IA0KPiBOaXQ6IEluIGFuIGFscmVhZHkgb3ZlcmxhcmdlIHBh dGNoIGl0IGlzIGV4dHJlbWVseSBoZWxwZnVsIGlmIGFueSB1bnJlbGF0ZWQNCj4gY2hhbmdlZCBj b3VsZCBiZSBvbWl0dGVkLg0KPiANCg0KRG9uZS4NCg0KPiA+IEBAIC0xMzE2LDEzICsxMzIxLDE2 IEBAIGdldHNlYywgMHhmMzcsIFNNWCwgTm9TdWYsIHt9DQo+ID4NCj4gPiAgaW52ZXB0LCAweDY2 MGYzODgwLCBFUFQmTm82NCwgTW9kcm18SWdub3JlU2l6ZXxOb1N1Ziwgew0KPiA+IE93b3JkfFVu c3BlY2lmaWVkfEJhc2VJbmRleCwgUmVnMzIgfSAgaW52ZXB0LCAweDY2MGYzODgwLCBFUFQmeDY0 LA0KPiA+IE1vZHJtfE5vU3VmfE5vUmV4NjQsIHsgT3dvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4 LCBSZWc2NCB9DQo+ID4gK2ludmVwdCwgMHhmM2YwLCBBUFhfRl82NCZFUFQsIE1vZHJtfE5vU3Vm fEVWZXgxMjh8RVZleE1hcDQsIHsNCj4gPiArT3dvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4LCBS ZWc2NCB9DQo+ID4gIGludnZwaWQsIDB4NjYwZjM4ODEsIEVQVCZObzY0LCBNb2RybXxJZ25vcmVT aXplfE5vU3VmLCB7DQo+ID4gT3dvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4LCBSZWczMiB9ICBp bnZ2cGlkLCAweDY2MGYzODgxLCBFUFQmeDY0LA0KPiA+IE1vZHJtfE5vU3VmfE5vUmV4NjQsIHsg T3dvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4LCBSZWc2NCB9DQo+ID4gK2ludnZwaWQsIDB4ZjNm MSwgQVBYX0ZfNjQmRVBULCBNb2RybXxOb1N1ZnxFVmV4MTI4fEVWZXhNYXA0LCB7DQo+ID4gK093 b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleCwgUmVnNjQgfQ0KPiA+DQo+ID4gIC8vIElOVlBDSUQg aW5zdHJ1Y3Rpb24NCj4gPg0KPiA+ICBpbnZwY2lkLCAweDY2MGYzODgyLCBJTlZQQ0lEJk5vNjQs IE1vZHJtfElnbm9yZVNpemV8Tm9TdWYsIHsNCj4gPiBPd29yZHxVbnNwZWNpZmllZHxCYXNlSW5k ZXgsIFJlZzMyIH0gIGludnBjaWQsIDB4NjYwZjM4ODIsDQo+ID4gSU5WUENJRCZ4NjQsIE1vZHJt fE5vU3VmfE5vUmV4NjQsIHsgT3dvcmR8VW5zcGVjaWZpZWR8QmFzZUluZGV4LA0KPiBSZWc2NA0K PiA+IH0NCj4gPiAraW52cGNpZCwgMHhmM2YyLCBBUFhfRl82NCZJTlZQQ0lELCBNb2RybXxOb1N1 ZnxFVmV4MTI4fEVWZXhNYXA0LCB7DQo+ID4gK093b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRleCwg UmVnNjQgfQ0KPiANCj4gV2hpbGUgb3JkZXJpbmcgZG9lc24ndCBtYXR0ZXIgZnVuY3Rpb25hbGl0 eSB3aXNlLCBvdmVyYWxsIHJlYWRhYmlsaXR5IGltbw0KPiB3b3VsZCBlbmQgdXAgaW1wcm92ZWQg aWYgeW91IGhhZCBFUFQmQVBYX0YgYW5kIElOVlBDSUQmQVBYX2YgaGVyZSAoYW5kDQo+IHRoZSBs aWtld2lzZSBlbHNld2hlcmUsIGFsYmVpdCBpdCBsb29rcyBpbiBvdGhlciBjYXNlcyB5b3UgYWxy ZWFkeSBoYXZlIHRoaW5ncw0KPiB0aGUgb3RoZXIgd2F5IHJvdW5kKS4NCj4gDQoNCkRvbmUsICBp dCBzaG91bGQgYmUgY29uc2lzdGVudC4NCg0KPiA+IEBAIC0zMzEwLDYgKzMzNjQsNyBAQCBwcmVm ZXRjaGl0MSwgMHhmMTgvNiwgUFJFRkVUQ0hJJng2NCwNCj4gPiBNb2RybXxBbnlzaXplfElnbm9y ZVNpemV8Tm9TdWYsIHsgQmFzZUluZGV4ICAvLyBDTVBDQ1hBREQNCj4gaW5zdHJ1Y3Rpb25zLg0K PiA+DQo+ID4gIGNtcDxjYz54YWRkLCAweDY2ZTxjYzpvcGM+LCBDTVBDQ1hBREQmeDY0LA0KPiA+ IE1vZHJtfFZleHxTcGFjZTBGMzh8VmV4VlZWVnxTd2FwU291cmNlc3xDaGVja09wZXJhbmRTaXpl fE5vU3VmLA0KPiB7DQo+ID4gUmVnMzJ8UmVnNjQsIFJlZzMyfFJlZzY0LCBEd29yZHxRd29yZHxV bnNwZWNpZmllZHxCYXNlSW5kZXggfQ0KPiA+ICtjbXA8Y2M+eGFkZCwgMHg2NmU8Y2M6b3BjPiwg Q01QQ0NYQUREJng2NCZBUFhfRl82NCwNCj4gPg0KPiArTW9kcm18RVZleDEyOHxTcGFjZTBGMzh8 VmV4VlZWVnxTd2FwU291cmNlc3xDaGVja09wZXJhbmRTaXplfE4NCj4gb1N1Ziwgew0KPiA+ICtS ZWczMnxSZWc2NCwgUmVnMzJ8UmVnNjQsIER3b3JkfFF3b3JkfFVuc3BlY2lmaWVkfEJhc2VJbmRl eCB9DQo+IA0KPiBOaXQ6IFJlZHVuZGFudCB4NjQuDQo+IA0KDQpEb25lLCB0aGFua3MhDQoNCkxp bGkuDQoNCg==