From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) by sourceware.org (Postfix) with ESMTPS id DEF083858414 for ; Mon, 29 Apr 2024 14:35:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DEF083858414 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 DEF083858414 Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=198.175.65.18 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714401322; cv=fail; b=hA5ynpMykbarMNosgiL23S6IVtbjNF0B7z2E2hLJQ35H/7hSZVl2Nw8QbAh4bXA09uGBpaVcojMX4Lh2rPxTJluL7oJUBJs5AHXR25SbMVktQJu54CF7BTyvT646+VcfflXXsHkLyBhlEIcCnyaSLNuejzfrLljP/891H+l4Xq4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714401322; c=relaxed/simple; bh=6MQrIHyQ4+CuKpd/F4H9EnAO6hX0QfUSKQTmBEx4rzU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=xWHzbSF27lkor7IaZgiIpmQelAO9IMNPNpQ2dZdAN0W46gHUjAO5sOvwBbblMOPVoAWQPE3ZlUMRRUAwnBhTa6IKVoXCB1YKhheRH/A6ko92guSmF1+1WJYgCuw6deYV4YzqHz4JCCfrLIpEzExnGG6ys0USwU3b5jsmHlUevuE= 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=1714401313; x=1745937313; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=6MQrIHyQ4+CuKpd/F4H9EnAO6hX0QfUSKQTmBEx4rzU=; b=YG9eH9w5sqh6NbQNErQrDa/QE+z614y82MgAe5IhTjdz7gCxkkPK1TXp y34/9j/uDrm0tFJFb2IHnndZa1YfgsULLC871NfymWHl/dZ4f6gy/56pO ulESbKmf0zIWBkQ6GfN+TZPdfJsEJtfE1O3REMtTtj0BRUREZlFaETxw0 /sH8y++g7SUDhrB/QWtZ1wXlqM+WWI8YR648LxnOSga/Sa7ZohO/tfKb5 AATcKjmO6syb9mv0Bc50YIzAFwFrRnMYYIuL2Q1mIewMgzncFMDX4xDyB 1Y0fhA7L5mGEgNJnbvLIk5Vn9pLKehSPHLNchduifQkLL6S8QP8+qonDN g==; X-CSE-ConnectionGUID: NUtFRY70SFaIV2KCnik9Ig== X-CSE-MsgGUID: f/t17cB2TNKe+pRSSM0EwA== X-IronPort-AV: E=McAfee;i="6600,9927,11059"; a="10229116" X-IronPort-AV: E=Sophos;i="6.07,239,1708416000"; d="scan'208";a="10229116" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Apr 2024 07:35:12 -0700 X-CSE-ConnectionGUID: AunzvUlzTe6ibr7bOtriLQ== X-CSE-MsgGUID: CbP3/DQgSUy3JeLXfeinXw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,239,1708416000"; d="scan'208";a="57008558" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 29 Apr 2024 07:35:12 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 29 Apr 2024 07:35:11 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 29 Apr 2024 07:35:11 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Mon, 29 Apr 2024 07:35:11 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.41) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 29 Apr 2024 07:35:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FseQ6gCdIERO78kQZ/2xlcm+ITQMPSJL/5xlrVc2Vp5dhLr4s228ErsKuTPuXmVcs9Ndtcy4ZIlhzmdHleWLNcp8AlLk9ZDtUNKwBTmzROEQuXJmmcM6ffQAAXLd6BfCzZA9edG/JlgoIS37UPEYR38A5z9DGzJss2AjyiQfc5lMMdhsal1/bPKEBMQpHm19nmCDI5wg+JS5HEc7Ptjy5mTHld1iR62U0RSIR/c0QcRKEeQ21pqGWGWkiH8HVowGYMcBT6d0Jox9NBjZd0HfpJ31B3CPAcELfi/7qIj6zW/cxha9eNs5hD4nYDUtBcllgk8SoV4Of5QmjksveMSnuQ== 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=fR+yigftfFFuHFQ/2nLipKe4KuAgL3J0BqLEmPVL0iQ=; b=YR4Oad2jIUL4xJ1i3IryVWWFS/JoA/yp51Q+L5BqKVx1kMK7PU4NHuUA4FmYxWn2Ck+NFxdcsDd4q3EiddkL7dFejYiYZt8XYZO/QYbiIYZ/sII4iRammO5Y2BIlAgOfYF/fWCkIVrrtmEVhZnYe5O0qmntxIRQMr6AQbv+UaqmGIHsa8SteXdpANBSVXTzUqQ8rnGumtYYWP/G6+ssf9q14q8SAIKHuxT946rrfI3WXyawxSw2vy0kVq11yS7o02oamMTROGXbA1LQJvmjWF6TKKSpDONL9CWcI01ddpUNPtsLy1UyF+XxY81Kt5D26XqGHIylG8lJGteaY5yAoDw== 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 SJ0PR11MB4912.namprd11.prod.outlook.com (2603:10b6:a03:2ae::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr 2024 14:35:08 +0000 Received: from MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::39be:a2b8:752e:a089]) by MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::39be:a2b8:752e:a089%6]) with mapi id 15.20.7519.031; Mon, 29 Apr 2024 14:35:08 +0000 From: "Willgerodt, Felix" To: Andrew Burgess , "gdb-patches@sourceware.org" CC: John Baldwin Subject: RE: [PATCHv5 09/11] gdbserver: update target description creation for x86/linux Thread-Topic: [PATCHv5 09/11] gdbserver: update target description creation for x86/linux Thread-Index: AQHal+r2OMC5OCcoakStEHLC7U84vrF+8PNg Date: Mon, 29 Apr 2024 14:35:08 +0000 Message-ID: References: <7f0e5aac3e3f52b6119658af5c4e5237811aec56.1714143669.git.aburgess@redhat.com> In-Reply-To: <7f0e5aac3e3f52b6119658af5c4e5237811aec56.1714143669.git.aburgess@redhat.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: MN2PR11MB4566:EE_|SJ0PR11MB4912:EE_ x-ms-office365-filtering-correlation-id: d2bf7b43-809a-4957-2108-08dc685991a0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230031|366007|376005|1800799015|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?YjZ1bjZCaFJDdzA4QmRBYTlEWng3MHVUZzRnU0s1Y2djYmlyam81WU5INDZm?= =?utf-8?B?YXlmUzRwNDl2OHBHRFBQdzVneDhSMVZPS2VyTFJyL1lKclpUTDg5c1o3WlVx?= =?utf-8?B?ZDUyekFyZ3k2eEJHdTh3d2g1WmhkakkyT0Q5MERIbnpuM2pJMjkvVEJoTUNi?= =?utf-8?B?c05vazZtaFdrNWhlVUlRWXhJVHk3d3JTcDk5YnorOEpINDlSN3diMlpGOGxS?= =?utf-8?B?WFRYRGZNWEx2dy8wM2E2SnlFSFQxSTMzeW5iSzJIOUtQUU03bGZMUHlSMVBD?= =?utf-8?B?UlVFeUh1RHBWK0JOampGSU5QVHNPRkdQTUJPd3p5VUxSeU50M1BUTS9QR1lp?= =?utf-8?B?dEFmTWN5dFpIY0cvbTdnRlVXa2JiMlVIbERWemFFNjlvZVN1YU84eHRjakdi?= =?utf-8?B?bkJKRElQQnJ4M1JBRFNYRW5XZUxkL2d2TktBTjFxejJDM1RtU3NZUURvMjNE?= =?utf-8?B?a2hNVi9zSzQxWHRLc0dPNnAvcUNPVGxsZWZYbG9QZDdTZ0RhLzM1WDFjUFph?= =?utf-8?B?eE1lZlRzN1BzMFZIeVNldVBxRk90RXNsc1M5VG9JVExKcDd5NnY0ZU1mcytL?= =?utf-8?B?U01GdjRSd0laNmtOa0xWK0hQWWN1ZFNZQkRzYnhhUWdFOTJpb1d6aHh2c1NX?= =?utf-8?B?aXNINDA1NVlzS2VqRlpCdlM3eE5MbmtUOFpTUDBrUm1FUEY1SmZvUkZmOGlw?= =?utf-8?B?M1d0UWpLWE13OHVjcU8xeDlzMWVBMkVRZzcyT1o5UkdoUmpBbmJRZE1MUmpX?= =?utf-8?B?SklVa0NkOVllbTlSS1IxbVFYUjdDZjZJVEU5VFFtWjgvZ2s5UGtXemZIMnQv?= =?utf-8?B?VGNtamZRd2lPN2tmdVNaKy9HVFJmbDliWU1PZnAvR0xuTjI1R0FtZU1TZFZy?= =?utf-8?B?MHNMSDlUc0V6WDJtUFJhZForY2sxVERod21qeEd1WTV2RjdybWRTanNjSkc5?= =?utf-8?B?V0cybUhqNWptdlpwM1hXU3luM09pdzRRU0o2S1FtYTdDVW1ENXRNVkxaVDVr?= =?utf-8?B?dGozNFU1bkVUVjRzM3hGcXFTeFJIWGVXbWtnK245QXhzYkJlVjZENzg2elFE?= =?utf-8?B?NUc4NVFJODlTWThudXMrSGF4b3YwU0JQbDF0QjFzSUFONlB1Mm5hU1lkMGoz?= =?utf-8?B?cFFCS0NWWXNoemNKbDhGQ2grcU9NMnVYclJEL21Sc2tjS3ozMDdjVkdQaUhw?= =?utf-8?B?emNzaDV4Ujk2cHdJSGxSZDFsbHpOaXMzeEh0R016Sk50NzZnTmFVUVNSWmc4?= =?utf-8?B?UnBxTGdwTUpSeGhQbVZuQVZqWTJwdnliLzkySXRpeWk3bm00QnpjYzBRbFlD?= =?utf-8?B?RVhTbldkL3pLbCtEeC84RHM0ZmswR1FRT3c5UVA2L20yUXRncW1ldFJ5L3A5?= =?utf-8?B?b05aaytHUi9JMXRraVlFK1RJZzQ5U3llbUFFa3dIbDAvaXIvRk04Yy8rWTZv?= =?utf-8?B?L3NINEJWQWpBb2dhazV6QWt2TWVNYmxxT1BJMmhlb0ZOS1liUVpBYWpOSDBy?= =?utf-8?B?Ni9qWUJqVzBGS1FDU3JYemYxRnR1dExMNnFEVmxObFlPN01NeWxhLzVwUHk1?= =?utf-8?B?ZldkZUFEbEgvckp4MEwxQmRVK1FKQlh2UWtQdUhsMmYra1g0Zk1XV2cwV3FW?= =?utf-8?B?YzZEdlJsYU9FbnllT3BpM0xmTkM3dlU0NGFiQ2tIQ1J6SmJ4cm11ZldoaXVU?= =?utf-8?B?YW1kZHg1QWs5MHM1MmRhZEt5ZWNMb2tsYmtsRVFlZ0VBV3F6azhsOGxuOVBL?= =?utf-8?B?Z1JkTTFsdUIrT3V4cVZ5cHRZNkl6elJlakVFbHRrTUZ5TmRvWlR3dndKZlhl?= =?utf-8?B?NWFtSnZiNGlXRW1PdGx4UT09?= 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:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cU9tMm5OZENiZVZWaW9ZRUlVSjNPNjJjSDYva01QazByR25TemlZYXNjMnRT?= =?utf-8?B?QXN3Y3FXZUw2SUpjQ3lpRmJjc1djZk1vZVdBR1A2ZHRBcDlsTkZVS0hUeWcv?= =?utf-8?B?YVlUem5qVTRPK0JYcTFKV21NbGhxVTdIazhqbG5wc3ZXcUgyQzJnMVMxOS9C?= =?utf-8?B?ZktGd3JQYmpEMzVmdGJpR3l6Q1Q5cjlaOXg3VGNDZkQ5V0FvclZONEdqK1FU?= =?utf-8?B?bUN1S2ErZkpWWEdSVkw4VjJNUE1tZlJyMW9zbnJiOWNvUzZZQzE3SVNKZElH?= =?utf-8?B?ajVFTGJzcC9MdW1TTXZXVlZkekdhYkpKYW8xdGRuMjFhMjFuMkE4WVlSNWI4?= =?utf-8?B?ZXdRUTYrQzM1TnJvTjdXTVdqMGdMRzhyc1ovVU82V0xZcllHaitlVnJTRkpo?= =?utf-8?B?Qkw4bGJVZnRxTG1ZeVQ4ckNPcnN1U1hBZnZKcURYT250dG5VaXZRZHJjb01q?= =?utf-8?B?dkdmcnZJVTFYM2lBanJRQTBsNi8rQ05iUjk1S2ZJZ3l1bzZ4eGtTOURia2pM?= =?utf-8?B?a1l3VFp3M0Qxc0gxeHh2OUlnVlV1NjJUTktyNVFDYmt2MnR0RDRuVHZHTG1a?= =?utf-8?B?RDl0VFBYaDZuZyt2NS8yTVNWclMxUDFUazJoQXIrSC9PVG0zVFBHZFNJRG01?= =?utf-8?B?R2VURVFMcjF4R3cxcVg0T3BiejNaOGdzTkE3RWNHdHFpK1NwenB5NGVydUk4?= =?utf-8?B?N0pLeU1BZUpqVU1QZm9GdlhnZVRNYmRpMDVyaUpwWTZuQlV0Q1hhdzFTZzU4?= =?utf-8?B?NEJPSnJOS0duTGhreHd4M0d4KzkrT0s5MUN5dDNWdWtkbmVnZGp3djB6M0xG?= =?utf-8?B?YkhIaWhWM1hmTzNTYURUcUNmRk05RkJ6aUFubUY4UElzenlISW1Mdmw3Wkla?= =?utf-8?B?QnFpcFRXMHFjSTVCZDF3VEJaTFllMmVHb1FHb3pwZ0kydVJZdzZoNTlWbWhz?= =?utf-8?B?REE0RkpVVTh4eklsNDZYTEl6OTRwVldUMnBMNUJxTThHVTZrNUVaWS90WUZM?= =?utf-8?B?M3B5Ylh4ZTV2a0FYVEk5MXJUU0VTVUh2ZklCSFJwWXNycjVOdFhGa3ZTZ3dC?= =?utf-8?B?NHNiSWptTEN3RldvdmFJRHZCKzJuZ3Z5QUR0bXVIMDE5a3JNNEpyOTBYKys1?= =?utf-8?B?UzdCL2V1cFFmUXlFUTlDYThWWmdOZ1BRTEoxT1JGUGdSdU1SM2xHMC9Cakgz?= =?utf-8?B?ZXpzWEEyVkF6TTgyLzE0aWRBb0lQam1JTSt4dk9aQnoyaThzaTVsaUhwNVRF?= =?utf-8?B?dkZTZFdvNnZZaU1iRXI2YUI3c0FhcmZmM0doY0wycjhsRnhhdzZKMUF2bTVN?= =?utf-8?B?Mlg0ak45ejZ0WEpsM3Y1Y1pPYm5tT25CdThMNTZ0TE5WMC96LyswMmluOHJC?= =?utf-8?B?R1B5N3M2U0h3UGVrQVNyNnZmM2VldVdRdFpWTS93QW83U1l3eitIa2Z3S2hQ?= =?utf-8?B?QnYwbUhjcHU5ZWc2ZWN0ZzJFdzNMRlRPNG50a0FxcVh2bGhXTG5TMlMzMFh0?= =?utf-8?B?clMwdjVwUGxmcGovUjdZaTVWN2VhUURsSG5oZ1pRYjJDZlFwSnErTi96cjBS?= =?utf-8?B?N2JWTVY1TUVPK1c4ZnFhYm8vaDRsQ2JoTmxRalg5VnNxbysxWVRLSC9oU1Yv?= =?utf-8?B?dVBMek5kU2I3cjBVcURpd1R3a1dseDZrN2F3OWplNWlIQmhOS0hWMkxjL1hS?= =?utf-8?B?YkdBQW9TUXVYS054c2FvUFo0T0R0Zm52ZWFlTjJHWW5yWTVuMUdGN2sxYTk0?= =?utf-8?B?SzJLaFUvZVUvSFQ2NXp5Vk1hMDZDblc4UHk3c3orb0dBVGw4TEVpZndiYzNp?= =?utf-8?B?ejZIOTdnQVF3WGxxMmxlNExRWkU2ZUdjajNhTmpsY0xBTElJRFlnaUY2ZlJv?= =?utf-8?B?N1N2UUt5bXZMK0lBcXBPcjJtNlVDQnMwTUpyTTVhS09nNklJVjJxZ1pxbklv?= =?utf-8?B?b2QrSHdSd3piVmdkRzcvb3ZSblVaVit6R0p0TDBSUTUyd00zcEttQVpMaHBx?= =?utf-8?B?MHdETG5seE9MTmtCemM3eXZwVStuWEVRbE1BdW1pYmtGeWQwWUU4cTlkRXFC?= =?utf-8?B?MER1T28zN1ByZG9hc2VlWTA5dnQ0SXpna0FZZVI0UXRFMkJYYW5qS1dJVlhC?= =?utf-8?B?MTZmMG1jWTlvTEpEVFpwcHI1SXVPTWtSOFMwUU9yTy9ENDhBOWF0VlRpTHVW?= =?utf-8?B?K2c9PQ==?= 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: d2bf7b43-809a-4957-2108-08dc685991a0 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Apr 2024 14:35:08.3942 (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: qnDcYhttmFH/edcfaUIax7SaafuxWJ1wk1gO9JvafXKTIGq9qZ6NdMlT0b/GgQWRPs6ynqVe5zIvVzG8cyBW2xTwBO3s5ykjzUW5+DzYKFg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4912 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_NONE,TXREP 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: PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1 cmdlc3NAcmVkaGF0LmNvbT4NCj4gU2VudDogRnJlaXRhZywgMjYuIEFwcmlsIDIwMjQgMTc6MDIN Cj4gVG86IGdkYi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnDQo+IENjOiBBbmRyZXcgQnVyZ2VzcyA8 YWJ1cmdlc3NAcmVkaGF0LmNvbT47IFdpbGxnZXJvZHQsIEZlbGl4DQo+IDxmZWxpeC53aWxsZ2Vy b2R0QGludGVsLmNvbT47IEpvaG4gQmFsZHdpbiA8amhiQEZyZWVCU0Qub3JnPg0KPiBTdWJqZWN0 OiBbUEFUQ0h2NSAwOS8xMV0gZ2Ric2VydmVyOiB1cGRhdGUgdGFyZ2V0IGRlc2NyaXB0aW9uIGNy ZWF0aW9uIGZvcg0KPiB4ODYvbGludXgNCj4gDQo+IFRoaXMgY29tbWl0IGlzIHBhcnQgb2YgYSBz ZXJpZXMgd2hpY2ggYWltcyB0byBzaGFyZSBtb3JlIG9mIHRoZSB0YXJnZXQNCj4gZGVzY3JpcHRp b24gY3JlYXRpb24gYmV0d2VlbiBHREIgYW5kIGdkYnNlcnZlciBmb3IgeDg2L0xpbnV4Lg0KPiAN Cj4gQWZ0ZXIgc29tZSByZWZhY3RvcmluZyBlYXJsaWVyIGluIHRoaXMgc2VyaWVzIHRoZSBzaGFy ZWQNCj4geDg2X2xpbnV4X3RkZXNjX2Zvcl90aWQgZnVuY3Rpb24gd2FzIGFkZGVkIGludG8gbmF0 L3g4Ni1saW51eC10ZGVzYy5jLg0KPiBIb3dldmVyLCB0aGlzIGZ1bmN0aW9uIHN0aWxsIHJlbGll cyBvbiBhbWQ2NF9saW51eF9yZWFkX2Rlc2NyaXB0aW9uDQo+IGFuZCBpMzg2X2xpbnV4X3JlYWRf ZGVzY3JpcHRpb24gd2hpY2ggYXJlIGltcGxlbWVudGVkIHNlcGFyYXRlbHkgZm9yDQo+IGJvdGgg Z2Ric2VydmVyIGFuZCBHREIuICBHaXZlbiB0aGF0IGF0IHRoZWlyIGNvcmUsIGFsbCB0aGVzZSBm dW5jdGlvbnMNCj4gZG8gaXM6DQo+IA0KPiAgIDEuIHRha2UgYW4geGNyMCB2YWx1ZSBhcyBpbnB1 dCwNCj4gICAyLiBtYXNrIG91dCBzb21lIGZlYXR1cmUgYml0cywNCj4gICAzLiBsb29rIGZvciBh IGNhY2hlZCBwcmUtZ2VuZXJhdGVkIHRhcmdldCBkZXNjcmlwdGlvbiBhbmQgcmV0dXJuIGl0DQo+ ICAgICAgaWYgZm91bmQsDQo+ICAgNC4gaWYgbm8gY2FjaGVkIHRhcmdldCBkZXNjcmlwdGlvbiBp cyBmb3VuZCB0aGVuIGNhbGwgZWl0aGVyDQo+ICAgICAgYW1kNjRfY3JlYXRlX3RhcmdldF9kZXNj cmlwdGlvbiBvcg0KPiAgICAgIGkzODZfY3JlYXRlX3RhcmdldF9kZXNjcmlwdGlvbiB0byBjcmVh dGUgYSBuZXcgdGFyZ2V0DQo+ICAgICAgZGVzY3JpcHRpb24sIHdoaWNoIGlzIHRoZW4gYWRkZWQg dG8gdGhlIGNhY2hlLiAgUmV0dXJuIHRoZSBuZXdseQ0KPiAgICAgIGNyZWF0ZWQgdGFyZ2V0IGRl c2NyaXB0aW9uLg0KPiANCj4gVGhlIGlubmVyIGZ1bmN0aW9ucyBhbWQ2NF9jcmVhdGVfdGFyZ2V0 X2Rlc2NyaXB0aW9uIGFuZA0KPiBpMzg2X2NyZWF0ZV90YXJnZXRfZGVzY3JpcHRpb24gYXJlIGFs cmVhZHkgc2hhcmVkIGJldHdlZW4gR0RCIGFuZA0KPiBnZGJzZXJ2ZXIgKGluIHRoZSBnZGIvYXJj aC8gZGlyZWN0b3J5KSwgc28gdGhlIG9ubHkgdGhpbmcgdGhhdA0KPiB0aGUgKl9yZWFkX2Rlc2Ny aXB0aW9uIGZ1bmN0aW9ucyByZWFsbHkgZG8gaXMgYWRkIHRoZSBjYWNoaW5nIGxheWVyLA0KPiBh bmQgaXQgZmVlbHMgbGlrZSB0aGlzIHJlYWxseSBjb3VsZCBiZSBzaGFyZWQuDQo+IA0KPiBIb3dl dmVyLCB3ZSBoYXZlIGEgc21hbGwgcHJvYmxlbS4NCj4gDQo+IE9uIHRoZSBHREIgc2lkZSB3ZSBj cmVhdGUgdGFyZ2V0IGRlc2NyaXB0aW9ucyB1c2luZyBhIGRpZmZlcmVudCBzZXQgb2YNCj4gY3B1 IGZlYXR1cmVzIHRoYW4gb24gdGhlIGdkYnNlcnZlciBzaWRlISAgVGhpcyBtZWFucyB0aGF0IGZv ciB0aGUNCj4gZXhhY3Qgc2FtZSB0YXJnZXQsIHdlIG1pZ2h0IGdldCBhIGRpZmZlcmVudCB0YXJn ZXQgZGVzY3JpcHRpb24gd2hlbg0KPiB1c2luZyBuYXRpdmUgR0RCIHZzIHVzaW5nIGdkYnNlcnZl ci4gIFRoaXMgc3VyZWx5IGZlZWxzIGxpa2UgYQ0KPiBtaXN0YWtlLCBJIHdvdWxkIGV4cGVjdCB0 byBnZXQgdGhlIHNhbWUgdGFyZ2V0IGRlc2NyaXB0aW9uIG9uIGVhY2guDQo+IA0KPiBUaGUgdGFi bGUgYmVsb3cgc2hvd3MgdGhlIG51bWJlciBvZiBwb3NzaWJsZSBkaWZmZXJlbnQgdGFyZ2V0DQo+ IGRlc2NyaXB0aW9ucyB0aGF0IHdlIGNhbiBjcmVhdGUgb24gdGhlIEdEQiBzaWRlIHZzIG9uIHRo ZSBnZGJzZXJ2ZXINCj4gc2lkZSBmb3IgZWFjaCB0YXJnZXQgdHlwZToNCj4gDQo+ICAgICAgICAg fCBHREIgfCBnZGJzZXJ2ZXINCj4gICAtLS0tLS18LS0tLS18LS0tLS0tLS0tLQ0KPiAgIGkzODYg IHwgNjQgIHwgNw0KPiAgIGFtZDY0IHwgMzIgIHwgNw0KPiAgIHgzMiAgIHwgMTYgIHwgNw0KDQpJ IHdvdWxkIGhhdmUgc29tZWhvdyBleHBlY3RlZCB0byBoYXZlIHRoZSBoaWdoZXN0IG51bWJlciBm b3IgNjQtYml0DQpDUFVzLiBBcyBpdCBzaG91bGQgaW5jbHVkZSAzMi1iaXQgYW5kIHgzMi4NCkRv IHlvdSBrbm93IHdoeSB0aGF0IGlzbid0IHRoZSBjYXNlIGFuZCAzMi1iaXQgaGFzIGRvdWJsZT8N Ck9yIGlzIG15IHByb2JsZW0gdGhhdCB0aGlzIGlzIHJlZmxlY3RpbmcgR0RCIGNvZGUsIHdoaWNo IHNoYXJlcyBzdHVmZg0KYmV0d2VlbiBhbWQ2NCBhbmQgaTM4Nj8NCk1heWJlIHRoaXMgaXMgYWxz byBzb2x2ZWQgd2l0aCB0aGUgY29tbWVudHMgSSBtYWRlIGluIGNvZGUgYmVsb3cuDQoNCg0KPiBT byBpbiB0aGVvcnksIGFsbCBJIHdhbnQgdG8gZG8gaXMgbW92ZSB0aGUgR0RCIHZlcnNpb24NCj4g b2YgKl9yZWFkX2Rlc2NyaXB0aW9uIGludG8gdGhlIGFyY2gvIGRpcmVjdG9yeSBhbmQgaGF2ZSBn ZGJzZXJ2ZXIgdXNlDQo+IHRoYXQsIHRoZW4gYm90aCBHREIgYW5kIGdkYnNlcnZlciB3b3VsZCBi ZSBhYmxlIHRvIGNyZWF0ZSBhbnkgb2YgdGhlDQo+IHBvc3NpYmxlIHRhcmdldCBkZXNjcmlwdGlv bnMuDQo+IA0KPiBVbmZvcnR1bmF0ZWx5IGl0J3MgYSBsaXR0bGUgbW9yZSBjb21wbGV4IHRoYW4g dGhhdCBkdWUgdG8gdGhlIGluDQo+IHByb2Nlc3MgYWdlbnQgKElQQSkuDQo+IA0KPiBXaGVuIHRo ZSBJUEEgaXMgaW4gdXNlLCBnZGJzZXJ2ZXIgc2VuZHMgYSB0YXJnZXQgZGVzY3JpcHRpb24gaW5k ZXggdG8NCj4gdGhlIElQQSwgYW5kIHRoZSBJUEEgdXNlcyB0aGlzIHRvIGZpbmQgdGhlIGNvcnJl Y3QgdGFyZ2V0IGRlc2NyaXB0aW9uDQo+IHRvIHVzZS4NCj4gDQo+ICoqIFNUQVJUIE9GIEFOIEFT SURFICoqDQo+IA0KPiBCYWNrIGluIHRoZSBkYXkgSSBzdXNwZWN0IHRoaXMgYXBwcm9hY2ggbWFk ZSBwZXJmZWN0IHNlbnNlLiAgSG93ZXZlcg0KPiBzaW5jZSB0aGlzIGNvbW1pdDoNCj4gDQo+ICAg Y29tbWl0IGE4ODA2MjMwMjQxZDIwMWY4MDhkODU2ZWFhZTRkNDQwODgxMTdiMGMNCj4gICBEYXRl OiAgIFRodSBEZWMgNyAxNzowNzowMSAyMDE3ICswMDAwDQo+IA0KPiAgICAgICBJbml0aWFsaXpl IHRhcmdldCBkZXNjcmlwdGlvbiBlYXJseSBpbiBJUEENCj4gDQo+IEkgdGhpbmsgcGFzc2luZyB0 aGUgaW5kZXggaXMgbm93IG1vcmUgdHJvdWJsZSB0aGFuIGl0cyB3b3J0aC4NCj4gDQo+IFdlIHVz ZWQgdG8gcGFzcyB0aGUgaW5kZXgsIGFuZCB0aGVuIHVzZSB0aGF0IGluZGV4IHRvIGxvb2t1cCB3 aGljaA0KPiB0YXJnZXQgZGVzY3JpcHRpb24gdG8gaW5zdGFudGlhdGUgYW5kIHVzZS4gIEhvd2V2 ZXIsIHRoZSBhYm92ZSBjb21taXQNCj4gZml4ZWQgYW4gaXNzdWUgd2hlcmUgd2UgY2FuJ3QgY2Fs bCBtYWxsb2MoKSB3aXRoaW4gKGNlcnRhaW4gcGFydHMgb2YpDQo+IHRoZSBJUEEgKGFwcGFyZW50 bHkpLCBzbyBpbnN0ZWFkIHdlIG5vdyBwcmUtY29tcHV0ZSBfZXZlcnlfIHBvc3NpYmxlDQo+IHRh cmdldCBkZXNjcmlwdGlvbiB3aXRoaW4gdGhlIElQQS4gIFRoZSBpbmRleCBpcyBub3cgb25seSB1 c2VkIHRvDQo+IGxvb2t1cCB3aGljaCBvZiB0aGUgKG1hbnkpIHByZS1jb21wdXRlZCB0YXJnZXQg ZGVzY3JpcHRpb25zIHRvIHVzZS4NCj4gDQo+IEl0IHdvdWxkIChJIHRoaW5rKSBoYXZlIGJlZW4g ZWFzaWVyIGFsbCBhcm91bmQgaWYgdGhlIElQQSBqdXN0DQo+IHNlbGYtaW5zcGVjdGVkLCBmaWd1 cmVkIG91dCBpdHMgb3duIHhjcjAgdmFsdWUsIGFuZCB1c2VkIHRoYXQgdG8NCj4gY3JlYXRlIHRo ZSBvbmUgdGFyZ2V0IGRlc2NyaXB0aW9uIHRoYXQgaXMgcmVxdWlyZWQuICBTbyBsb25nIGFzIHRo ZQ0KPiB4Y3IwIHRvIHRhcmdldCBkZXNjcmlwdGlvbiBjb2RlIGlzIHNoYXJlZCAoYXQgY29tcGls ZSB0aW1lKSB3aXRoDQo+IGdkYnNlcnZlciwgdGhlbiB3ZSBjYW4gYmUgc3VyZSB0aGF0IHRoZSBJ UEEgd2lsbCBkZXJpdmUgdGhlIHNhbWUNCj4gdGFyZ2V0IGRlc2NyaXB0aW9uIGFzIGdkYnNlcnZl ciwgYW5kIHdlIHdvdWxkIGF2b2lkIGFsbCB0aGlzIGluZGV4DQo+IHBhc3NpbmcgYnVzaW5lc3Ms IHdoaWNoIGhhcyBtYWRlIHRoaXMgY29tbWl0IHNvIHZlcnksIHZlcnkgcGFpbmZ1bC4NCj4gDQo+ ICoqIEVORCBPRiBBTiBBU0lERSAqKg0KPiANCj4gQ3VycmVudGx5IHRoZW4gZm9yIHg4Ni9saW51 eCwgZ2Ric2VydmVyIHNlbmRzIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgNw0KPiB0byB0aGUgSVBB LCBhbmQgdGhlIElQQSB1c2VzIHRoaXMgdG8gY3JlYXRlIGEgdGFyZ2V0IGRlc2NyaXB0aW9uLg0K PiANCj4gSG93ZXZlciwgSSBhbSBwcm9wb3NpbmcgdGhhdCBnZGJzZXJ2ZXIgc2hvdWxkIG5vdyBj cmVhdGUgb25lIG9mICh1cA0KPiB0bykgNjQgZGlmZmVyZW50IHRhcmdldCBkZXNjcmlwdGlvbnMg Zm9yIGkzODYsIHNvIHRoaXMgMCB0byA3IGluZGV4DQo+IGlzbid0IGdvaW5nIHRvIGJlIGdvb2Qg ZW5vdWdoIGFueSBtb3JlIChhbWQ2NCBhbmQgeDMyIGhhdmUgc2xpZ2h0bHkNCj4gZmV3ZXIgcG9z c2libGUgdGFyZ2V0IGRlc2NyaXB0aW9ucywgYnV0IHN0aWxsIG1vcmUgdGhhbiA4LCBzbyB0aGUN Cj4gcHJvYmxlbSBpcyB0aGUgc2FtZSkuDQo+IA0KPiBGb3IgYSB3aGlsZSBJIHdvbmRlcmVkIGlm IEkgd2FzIGdvaW5nIHRvIGhhdmUgdG8gdHJ5IGFuZCBmaW5kIHNvbWUNCj4gYmFja3dhcmQgY29t cGF0aWJsZSBzb2x1dGlvbiBmb3IgdGhpcyBtZXNzLiAgQnV0IGFmdGVyIHNlZWluZyBob3cNCj4g bGlnaHRseSB0aGUgSVBBIGlzIGFjdHVhbGx5IGRvY3VtZW50ZWQsIEkgd29uZGVyIGlmIGl0IGlz IG5vdCB0aGUgY2FzZQ0KPiB0aGF0IHRoZXJlIGlzIGEgdGlnaHQgY291cGxpbmcgYmV0d2VlbiBh IHZlcnNpb24gb2YgZ2Ric2VydmVyIGFuZCBhDQo+IHZlcnNpb24gb2YgdGhlIElQQT8gIEF0IGxl YXN0IEknbSBob3Bpbmcgc28uDQo+IA0KPiBJbiB0aGlzIGNvbW1pdCBJIGhhdmUgdGhyb3duIG91 dCB0aGUgb2xkIElQQSB0YXJnZXQgZGVzY3JpcHRpb24gaW5kZXgNCj4gbnVtYmVyaW5nIHNjaGVt ZSwgYW5kIHN3aXRjaGVkIHRvIGEgY29tcGxldGVseSBuZXcgbnVtYmVyaW5nIHNjaGVtZS4NCj4g SW5zdGVhZCBvZiB0aGUgaW5kZXggdGhhdCBpcyBwYXNzZWQgYmVpbmcgYXJiaXRyYXJ5LCB0aGUg aW5kZXggaXMNCj4gaW5zdGVhZCBjYWxjdWxhdGVkIGZyb20gdGhlIHNldCBvZiBjcHUgZmVhdHVy ZXMgdGhhdCBhcmUgcHJlc2VudCBvbg0KPiB0aGUgdGFyZ2V0LiAgV2l0aGluIHRoZSBJUEEgd2Ug Y2FuIHRoZW4gcmV2ZXJzZSB0aGlzIGxvZ2ljIHRvIHJlY3JlYXRlDQo+IHRoZSB4Y3IwIHZhbHVl IGJhc2VkIG9uIHRoZSBpbmRleCwgYW5kIGZyb20gdGhlIHhjcjAgdmFsdWUgd2UgY2FuDQo+IGNo b29zZSB0aGUgY29ycmVjdCB0YXJnZXQgZGVzY3JpcHRpb24uDQo+IA0KPiBXaXRoIHRoZSBnZGJz ZXJ2ZXIgdG8gSVBBIG51bWJlcmluZyBzY2hlbWUgaXNzdWUgcmVzb2x2ZWQgSSBoYXZlIHRoZW4N Cj4gdXBkYXRlIHRoZSBnZGJzZXJ2ZXIgdmVyc2lvbnMgb2YgYW1kNjRfbGludXhfcmVhZF9kZXNj cmlwdGlvbiBhbmQNCj4gaTM4Nl9saW51eF9yZWFkX2Rlc2NyaXB0aW9uIHNvIHRoYXQgdGhleSBj cmVhdGUgdGFyZ2V0IGRlc2NyaXB0aW9ucw0KPiB1c2luZyB0aGUgc2FtZSBzZXQgb2YgY3B1IGZl YXR1cmVzIGFzIEdEQiBpdHNlbGYuDQo+IA0KPiBBZnRlciB0aGlzIGdkYnNlcnZlciBzaG91bGQg bm93IGFsd2F5cyBjb21lIHVwIHdpdGggdGhlIHNhbWUgdGFyZ2V0DQo+IGRlc2NyaXB0aW9uIGFz IEdEQiBkb2VzIG9uIGFueSB4ODYvTGludXggdGFyZ2V0Lg0KPiANCj4gVGhpcyBjb21taXQgZG9l cyBub3QgaW50cm9kdWNlIGFueSBuZXcgY29kZSBzaGFyaW5nIGJldHdlZW4gR0RCIGFuZA0KPiBn ZGJzZXJ2ZXIgYXMgcHJldmlvdXMgY29tbWl0cyBpbiB0aGlzIHNlcmllcyBoYXZlIGRvbmUuICBJ bnN0ZWFkIHRoaXMNCj4gY29tbWl0IGlzIGFsbCBhYm91dCBicmluZ2luZyBHREIgYW5kIGdkYnNl cnZlciBpbnRvIGFsaWdubWVudA0KPiBmdW5jdGlvbmFsbHkgc28gdGhhdCB0aGUgbmV4dCBjb21t aXQocykgY2FuIG1lcmdlIHRoZSBHREIgYW5kDQo+IGdkYnNlcnZlciB2ZXJzaW9ucyBvZiB0aGVz ZSBmdW5jdGlvbnMuDQo+IA0KPiBBcHByb3ZlZC1CeTogSm9obiBCYWxkd2luIDxqaGJARnJlZUJT RC5vcmc+DQo+IC0tLQ0KPiAgZ2Ric2VydmVyL2xpbnV4LWFtZDY0LWlwYS5jYyB8ICA0MyArLS0t LQ0KPiAgZ2Ric2VydmVyL2xpbnV4LWkzODYtaXBhLmNjICB8ICAyMyArLS0NCj4gIGdkYnNlcnZl ci9saW51eC14ODYtbG93LmNjICAgfCAgMTUgKy0NCj4gIGdkYnNlcnZlci9saW51eC14ODYtdGRl c2MuY2MgfCAzMTYgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0NCj4gIGdkYnNl cnZlci9saW51eC14ODYtdGRlc2MuaCAgfCAgNDkgKysrLS0tDQo+ICA1IGZpbGVzIGNoYW5nZWQs IDI3OCBpbnNlcnRpb25zKCspLCAxNjggZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEv Z2Ric2VydmVyL2xpbnV4LWFtZDY0LWlwYS5jYyBiL2dkYnNlcnZlci9saW51eC1hbWQ2NC1pcGEu Y2MNCj4gaW5kZXggZGY1ZTZhY2EwODEuLjBjODA4MTJjYzZmIDEwMDY0NA0KPiAtLS0gYS9nZGJz ZXJ2ZXIvbGludXgtYW1kNjQtaXBhLmNjDQo+ICsrKyBiL2dkYnNlcnZlci9saW51eC1hbWQ2NC1p cGEuY2MNCj4gQEAgLTE2NCw0NyArMTY0LDIxIEBAIHN1cHBseV9zdGF0aWNfdHJhY2Vwb2ludF9y ZWdpc3RlcnMgKHN0cnVjdCByZWdjYWNoZQ0KPiAqcmVnY2FjaGUsDQo+IA0KPiAgI2VuZGlmIC8q IEhBVkVfVVNUICovDQo+IA0KPiAtI2lmICFkZWZpbmVkIF9fSUxQMzJfXw0KPiAtLyogTWFwIHRo ZSB0ZGVzYyBpbmRleCB0byB4Y3IwIG1hc2suICAqLw0KPiAtc3RhdGljIHVpbnQ2NF90IGlkeDJt YXNrW1g4Nl9UREVTQ19MQVNUXSA9IHsNCj4gLSAgWDg2X1hTVEFURV9YODdfTUFTSywNCj4gLSAg WDg2X1hTVEFURV9TU0VfTUFTSywNCj4gLSAgWDg2X1hTVEFURV9BVlhfTUFTSywNCj4gLSAgWDg2 X1hTVEFURV9NUFhfTUFTSywNCj4gLSAgWDg2X1hTVEFURV9BVlhfTVBYX01BU0ssDQo+IC0gIFg4 Nl9YU1RBVEVfQVZYX0FWWDUxMl9NQVNLLA0KPiAtICBYODZfWFNUQVRFX0FWWF9NUFhfQVZYNTEy X1BLVV9NQVNLLA0KPiAtfTsNCj4gLSNlbmRpZg0KPiAtDQo+ICAvKiBSZXR1cm4gdGFyZ2V0X2Rl c2MgdG8gdXNlIGZvciBJUEEsIGdpdmVuIHRoZSB0ZGVzYyBpbmRleCBwYXNzZWQgYnkNCj4gICAg IGdkYnNlcnZlci4gICovDQo+IA0KPiAgY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICoNCj4gIGdl dF9pcGFfdGRlc2MgKGludCBpZHgpDQo+ICB7DQo+IC0gIGlmIChpZHggPj0gWDg2X1RERVNDX0xB U1QpDQo+IC0gICAgew0KPiAtICAgICAgaW50ZXJuYWxfZXJyb3IgKCJ1bmtub3duIGlwYSB0ZGVz YyBpbmRleDogJWQiLCBpZHgpOw0KPiAtICAgIH0NCj4gKyAgdWludDY0X3QgeGNyMCA9IHg4Nl9s aW51eF90ZGVzY19pZHhfdG9feGNyMCAoaWR4KTsNCj4gDQo+ICAjaWYgZGVmaW5lZCBfX0lMUDMy X18NCj4gLSAgc3dpdGNoIChpZHgpDQo+IC0gICAgew0KPiAtICAgIGNhc2UgWDg2X1RERVNDX1NT RToNCj4gLSAgICAgIHJldHVybiBhbWQ2NF9saW51eF9yZWFkX2Rlc2NyaXB0aW9uIChYODZfWFNU QVRFX1NTRV9NQVNLLCB0cnVlKTsNCj4gLSAgICBjYXNlIFg4Nl9UREVTQ19BVlg6DQo+IC0gICAg ICByZXR1cm4gYW1kNjRfbGludXhfcmVhZF9kZXNjcmlwdGlvbiAoWDg2X1hTVEFURV9BVlhfTUFT SywgdHJ1ZSk7DQo+IC0gICAgY2FzZSBYODZfVERFU0NfQVZYX0FWWDUxMjoNCj4gLSAgICAgIHJl dHVybiBhbWQ2NF9saW51eF9yZWFkX2Rlc2NyaXB0aW9uIChYODZfWFNUQVRFX0FWWF9BVlg1MTJf TUFTSywNCj4gdHJ1ZSk7DQo+IC0gICAgZGVmYXVsdDoNCj4gLSAgICAgIGJyZWFrOw0KPiAtICAg IH0NCj4gKyAgYm9vbCBpc194MzIgPSB0cnVlOw0KPiAgI2Vsc2UNCj4gLSAgcmV0dXJuIGFtZDY0 X2xpbnV4X3JlYWRfZGVzY3JpcHRpb24gKGlkeDJtYXNrW2lkeF0sIGZhbHNlKTsNCj4gKyAgYm9v bCBpc194MzIgPSBmYWxzZTsNCj4gICNlbmRpZg0KPiANCj4gLSAgaW50ZXJuYWxfZXJyb3IgKCJ1 bmtub3duIGlwYSB0ZGVzYyBpbmRleDogJWQiLCBpZHgpOw0KPiArICByZXR1cm4gYW1kNjRfbGlu dXhfcmVhZF9kZXNjcmlwdGlvbiAoeGNyMCwgaXNfeDMyKTsNCj4gIH0NCj4gDQo+ICAvKiBBbGxv Y2F0ZSBidWZmZXIgZm9yIHRoZSBqdW1wIHBhZHMuICBUaGUgYnJhbmNoIGluc3RydWN0aW9uIGhh cyBhDQo+IEBAIC0yNzIsMTEgKzI0NiwxMCBAQCB2b2lkDQo+ICBpbml0aWFsaXplX2xvd190cmFj ZXBvaW50ICh2b2lkKQ0KPiAgew0KPiAgI2lmIGRlZmluZWQgX19JTFAzMl9fDQo+IC0gIGFtZDY0 X2xpbnV4X3JlYWRfZGVzY3JpcHRpb24gKFg4Nl9YU1RBVEVfU1NFX01BU0ssIHRydWUpOw0KPiAt ICBhbWQ2NF9saW51eF9yZWFkX2Rlc2NyaXB0aW9uIChYODZfWFNUQVRFX0FWWF9NQVNLLCB0cnVl KTsNCj4gLSAgYW1kNjRfbGludXhfcmVhZF9kZXNjcmlwdGlvbiAoWDg2X1hTVEFURV9BVlhfQVZY NTEyX01BU0ssIHRydWUpOw0KPiArICBmb3IgKGF1dG8gaSA9IDA7IGkgPCB4ODZfbGludXhfeDMy X3RkZXNjX2NvdW50ICgpOyBpKyspDQo+ICsgICAgYW1kNjRfbGludXhfcmVhZF9kZXNjcmlwdGlv biAoeDg2X2xpbnV4X3RkZXNjX2lkeF90b194Y3IwIChpKSwgdHJ1ZSk7DQo+ICAjZWxzZQ0KPiAt ICBmb3IgKGF1dG8gaSA9IDA7IGkgPCBYODZfVERFU0NfTEFTVDsgaSsrKQ0KPiAtICAgIGFtZDY0 X2xpbnV4X3JlYWRfZGVzY3JpcHRpb24gKGlkeDJtYXNrW2ldLCBmYWxzZSk7DQo+ICsgIGZvciAo YXV0byBpID0gMDsgaSA8IHg4Nl9saW51eF9hbWQ2NF90ZGVzY19jb3VudCAoKTsgaSsrKQ0KPiAr ICAgIGFtZDY0X2xpbnV4X3JlYWRfZGVzY3JpcHRpb24gKHg4Nl9saW51eF90ZGVzY19pZHhfdG9f eGNyMCAoaSksIGZhbHNlKTsNCg0KSSBrbm93IHRoaXMgd2FzIGFscmVhZHkgaGVyZSBhbmQgSSBr bm93IHRoZXJlIGFyZSBkaWZmZXJlbnQgb3BpbmlvbnMgb24gdGhpcy4NCkJ1dCB0byBtZSB1c2lu ZyBhdXRvIGhlcmUgKGFuZCBpbiBzaW1pbGFyIGxvY2F0aW9ucyBpbiB0aGlzIHBhdGNoKSBpcyBq dXN0IHdyb25nLg0KU28gSSB3b3VsZCB2b3RlIGZvciBtYWtpbmcgdGhpcyBhIHByb3BlciB0eXBl Lg0KQnV0IHRoaXMgaXMgYSBiaXQgb2YgbXkgcGVyc29uYWwgInBldCBwZWV2ZSIgOykNCg0KDQo+ ICAjZW5kaWYNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2dkYnNlcnZlci9saW51eC1pMzg2LWlwYS5j YyBiL2dkYnNlcnZlci9saW51eC1pMzg2LWlwYS5jYw0KPiBpbmRleCBhYTM0NmZjOWJjMy4uYzFj MzE1MmZiMDQgMTAwNjQ0DQo+IC0tLSBhL2dkYnNlcnZlci9saW51eC1pMzg2LWlwYS5jYw0KPiAr KysgYi9nZGJzZXJ2ZXIvbGludXgtaTM4Ni1pcGEuY2MNCj4gQEAgLTI0NSwyOCArMjQ1LDE1IEBA IGluaXRpYWxpemVfZmFzdF90cmFjZXBvaW50X3RyYW1wb2xpbmVfYnVmZmVyICh2b2lkKQ0KPiAg ICAgIH0NCj4gIH0NCj4gDQo+IC0vKiBNYXAgdGhlIHRkZXNjIGluZGV4IHRvIHhjcjAgbWFzay4g ICovDQo+IC1zdGF0aWMgdWludDY0X3QgaWR4Mm1hc2tbWDg2X1RERVNDX0xBU1RdID0gew0KPiAt ICBYODZfWFNUQVRFX1g4N19NQVNLLA0KPiAtICBYODZfWFNUQVRFX1NTRV9NQVNLLA0KPiAtICBY ODZfWFNUQVRFX0FWWF9NQVNLLA0KPiAtICBYODZfWFNUQVRFX01QWF9NQVNLLA0KPiAtICBYODZf WFNUQVRFX0FWWF9NUFhfTUFTSywNCj4gLSAgWDg2X1hTVEFURV9BVlhfQVZYNTEyX01BU0ssDQo+ IC0gIFg4Nl9YU1RBVEVfQVZYX01QWF9BVlg1MTJfUEtVX01BU0ssDQo+IC19Ow0KPiAtDQo+ICAv KiBSZXR1cm4gdGFyZ2V0X2Rlc2MgdG8gdXNlIGZvciBJUEEsIGdpdmVuIHRoZSB0ZGVzYyBpbmRl eCBwYXNzZWQgYnkNCj4gICAgIGdkYnNlcnZlci4gICovDQo+IA0KPiAgY29uc3Qgc3RydWN0IHRh cmdldF9kZXNjICoNCj4gIGdldF9pcGFfdGRlc2MgKGludCBpZHgpDQo+ICB7DQo+IC0gIGlmIChp ZHggPj0gWDg2X1RERVNDX0xBU1QpDQo+IC0gICAgew0KPiAtICAgICAgaW50ZXJuYWxfZXJyb3Ig KCJ1bmtub3duIGlwYSB0ZGVzYyBpbmRleDogJWQiLCBpZHgpOw0KPiAtICAgIH0NCj4gLSAgcmV0 dXJuIGkzODZfbGludXhfcmVhZF9kZXNjcmlwdGlvbiAoaWR4Mm1hc2tbaWR4XSk7DQo+ICsgIHVp bnQ2NF90IHhjcjAgPSB4ODZfbGludXhfdGRlc2NfaWR4X3RvX3hjcjAgKGlkeCk7DQo+ICsNCj4g KyAgcmV0dXJuIGkzODZfbGludXhfcmVhZF9kZXNjcmlwdGlvbiAoeGNyMCk7DQo+ICB9DQo+IA0K PiAgLyogQWxsb2NhdGUgYnVmZmVyIGZvciB0aGUganVtcCBwYWRzLiAgT24gaTM4Niwgd2UgY2Fu IHJlYWNoIGFuIGFyYml0cmFyeQ0KPiBAQCAtMjg4LDYgKzI3NSw2IEBAIHZvaWQNCj4gIGluaXRp YWxpemVfbG93X3RyYWNlcG9pbnQgKHZvaWQpDQo+ICB7DQo+ICAgIGluaXRpYWxpemVfZmFzdF90 cmFjZXBvaW50X3RyYW1wb2xpbmVfYnVmZmVyICgpOw0KPiAtICBmb3IgKGF1dG8gaSA9IDA7IGkg PCBYODZfVERFU0NfTEFTVDsgaSsrKQ0KPiAtICAgIGkzODZfbGludXhfcmVhZF9kZXNjcmlwdGlv biAoaWR4Mm1hc2tbaV0pOw0KPiArICBmb3IgKGF1dG8gaSA9IDA7IGkgPCB4ODZfbGludXhfaTM4 Nl90ZGVzY19jb3VudCAoKTsgaSsrKQ0KPiArICAgIGkzODZfbGludXhfcmVhZF9kZXNjcmlwdGlv biAoeDg2X2xpbnV4X3RkZXNjX2lkeF90b194Y3IwIChpKSk7DQo+ICB9DQo+IGRpZmYgLS1naXQg YS9nZGJzZXJ2ZXIvbGludXgteDg2LWxvdy5jYyBiL2dkYnNlcnZlci9saW51eC14ODYtbG93LmNj DQo+IGluZGV4IDY4ZDJmMTM1MzdjLi42ZTIzYTUzMTE4YiAxMDA2NDQNCj4gLS0tIGEvZ2Ric2Vy dmVyL2xpbnV4LXg4Ni1sb3cuY2MNCj4gKysrIGIvZ2Ric2VydmVyL2xpbnV4LXg4Ni1sb3cuY2MN Cj4gQEAgLTI4ODIsMTQgKzI4ODIsMTcgQEAgeDg2X3RhcmdldDo6Z2V0X2lwYV90ZGVzY19pZHgg KCkNCj4gICAgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSA9IGdldF90aHJlYWRfcmVnY2FjaGUg KGN1cnJlbnRfdGhyZWFkLCAwKTsNCj4gICAgY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVz YyA9IHJlZ2NhY2hlLT50ZGVzYzsNCj4gDQo+ICsgIGlmICghdXNlX3htbCkNCj4gKyAgICB7DQo+ ICsgICAgICBpZiAodGRlc2MgPT0gdGRlc2NfaTM4Nl9saW51eF9ub194bWwuZ2V0ICgpDQo+ICAj aWZkZWYgX194ODZfNjRfXw0KPiAtICByZXR1cm4gYW1kNjRfZ2V0X2lwYV90ZGVzY19pZHggKHRk ZXNjKTsNCj4gLSNlbmRpZg0KPiAtDQo+IC0gIGlmICh0ZGVzYyA9PSB0ZGVzY19pMzg2X2xpbnV4 X25vX3htbC5nZXQgKCkpDQo+IC0gICAgcmV0dXJuIFg4Nl9UREVTQ19TU0U7DQo+ICsJICB8fCB0 ZGVzYyA9PSB0ZGVzY19hbWQ2NF9saW51eF9ub194bWwuZ2V0ICgpDQo+ICsjZW5kaWYgLyogX194 ODZfNjRfXyAqLw0KPiArCSAgKQ0KPiArCXJldHVybiB4ODZfbGludXhfeGNyMF90b190ZGVzY19p ZHggKFg4Nl9YU1RBVEVfU1NFX01BU0spOw0KDQpXaGF0IGhhcHBlbnMgaWYgbmVpdGhlciBvZiB0 aGUgdHdvIGlzIHRydWU/IERvIHdlIG5lZWQgdG8gYXNzZXJ0IHRoaXM/DQpPciBkbyB3ZSBuZWVk IHRvIGp1c3QgcmV0dXJuIHRoZSBYODZfWFNUQVRFX1NTRV9NQVNLIGluZGV4DQp3aXRob3V0IGNo ZWNraW5nLCBhcyB0aGlzIGNhbid0IGV2ZXIgaGFwcGVuPw0KDQoNCj4gKyAgICB9DQo+IA0KPiAt ICByZXR1cm4gaTM4Nl9nZXRfaXBhX3RkZXNjX2lkeCAodGRlc2MpOw0KPiArICByZXR1cm4geDg2 X2xpbnV4X3hjcjBfdG9fdGRlc2NfaWR4ICh4Y3IwX3N0b3JhZ2UpOw0KPiAgfQ0KPiANCj4gIC8q IFRoZSBsaW51eCB0YXJnZXQgb3BzIG9iamVjdC4gICovDQo+IGRpZmYgLS1naXQgYS9nZGJzZXJ2 ZXIvbGludXgteDg2LXRkZXNjLmNjIGIvZ2Ric2VydmVyL2xpbnV4LXg4Ni10ZGVzYy5jYw0KPiBp bmRleCBhZjM3MzVhYTg5NS4uNWUxMjUyNmJmMTcgMTAwNjQ0DQo+IC0tLSBhL2dkYnNlcnZlci9s aW51eC14ODYtdGRlc2MuY2MNCj4gKysrIGIvZ2Ric2VydmVyL2xpbnV4LXg4Ni10ZGVzYy5jYw0K PiBAQCAtMjgsOTYgKzI4LDI3OCBAQA0KPiAgI2luY2x1ZGUgIng4Ni10ZGVzYy5oIg0KPiAgI2lu Y2x1ZGUgImFyY2gvaTM4Ni1saW51eC10ZGVzYy5oIg0KPiANCj4gLS8qIFJldHVybiB0aGUgcmln aHQgeDg2X2xpbnV4X3RkZXNjIGluZGV4IGZvciBhIGdpdmVuIFhDUjAuICBSZXR1cm4NCj4gLSAg IFg4Nl9UREVTQ19MQVNUIGlmIGNhbid0IGZpbmQgYSBtYXRjaC4gICovDQo+ICsvKiBBIHN0cnVj dHVyZSB1c2VkIHRvIGRlc2NyaWJlIGEgc2luZ2xlIGNwdSBmZWF0dXJlIHRoYXQgbWlnaHQsIG9y IG1pZ2h0DQo+ICsgICBub3QsIGJlIGNoZWNrZWQgZm9yIHdoZW4gY3JlYXRpbmcgYSB0YXJnZXQg ZGVzY3JpcHRpb24gZm9yIG9uZSBvZiBpMzg2LA0KPiArICAgYW1kNjQsIG9yIHgzMi4gICovDQo+ IA0KPiAtc3RhdGljIGVudW0geDg2X2xpbnV4X3RkZXNjDQo+IC14Y3IwX3RvX3RkZXNjX2lkeCAo dWludDY0X3QgeGNyMCwgYm9vbCBpc194MzIpDQo+ICtzdHJ1Y3QgeDg2X3RkZXNjX2ZlYXR1cmUg ew0KPiArICAvKiBUaGUgY3B1IGZlYXR1cmUgbWFzay4gIFRoaXMgaXMgYSBtYXNrIGFnYWluc3Qg YW4geGNyMCB2YWx1ZS4gICovDQo+ICsgIHVpbnQ2NF90IGZlYXR1cmU7DQoNCkNhbiB3ZSBlbGFi b3JhdGUgdGhlIGNvbW1lbnQ/IFdoeSBkbyB3ZSBuZWVkIHRvIG1hc2sgYW55dGhpbmc/DQpPciBt YXliZSB3ZSBjYW4gcmVmZXIgdG8gdGhlIHRhYmxlIGJlbG93Lg0KDQoNCj4gKyAgLyogSXMgdGhp cyBmZWF0dXJlIGNoZWNrZWQgd2hlbiBjcmVhdGluZyBhbiBpMzg2IHRhcmdldCBkZXNjcmlwdGlv bi4gICovDQo+ICsgIGJvb2wgaXNfaTM4NjsNCj4gKw0KPiArICAvKiBJcyB0aGlzIGZlYXR1cmUg Y2hlY2tlZCB3aGVuIGNyZWF0aW5nIGFuIGFtZDY0IHRhcmdldCBkZXNjcmlwdGlvbi4gICovDQo+ ICsgIGJvb2wgaXNfYW1kNjQ7DQo+ICsNCj4gKyAgLyogSXMgdGhpcyBmZWF0dXJlIGNoZWNrZWQg d2hlbiBjcmVhdGluZyBhbiB4MzIgdGFyZ2V0IGRlc2NyaXB0aW9uLiAgKi8NCj4gKyAgYm9vbCBp c194MzI7DQo+ICt9Ow0KPiArDQo+ICsvKiBBIGNvbnN0YW50IHRhYmxlIHRoYXQgZGVzY3JpYmVz IGFsbCBvZiB0aGUgY3B1IGZlYXR1cmVzIHRoYXQgYXJlDQo+ICsgICBjaGVja2VkIHdoZW4gYnVp bGRpbmcgYSB0YXJnZXQgZGVzY3JpcHRpb24gZm9yIGkzODYsIGFtZDY0LCBvciB4MzIuICAqLw0K PiArDQoNCkkgYW0gbWlzc2luZyBhIGJpdCBvZiBlbGFib3JhdGlvbiBvbiB3aHkgd2UgY2FuJ3Qg b25seSByZWx5IG9uIFhDUjAuIEFuZA0KdGhlIHRhYmxlIGRvZXNuJ3QgZGVzY3JpYmUgYWxsIENQ VSBmZWF0dXJlcyB0aGF0IGFyZSBjaGVja2VkLiBJdCBqdXN0IGRlc2NyaWJlcw0KYWxsIFhTVEFU RSBmZWF0dXJlcy4gVGhlcmUgaXMgYWxzbyBzZWdtZW50cyBhbmQgb3JpZ19yYXggYW5kIGluIHRo ZSBuZWFyIGZ1dHVyZQ0KYSBuZXcgcmVnaXN0ZXIgZm9yIENFVCwgd2hpY2ggYXJlIGluZGVwZW5k ZW50IG9mIFhTVEFURS4NCg0KDQo+ICtzdGF0aWMgY29uc3RleHByIHg4Nl90ZGVzY19mZWF0dXJl IHg4Nl9saW51eF9hbGxfdGRlc2NfZmVhdHVyZXNbXSA9IHsNCj4gKyAgLyogRmVhdHVyZSwgICAg ICAgICAgIGkzODYsCWFtZDY0LAl4MzIuICAqLw0KPiArICB7IFg4Nl9YU1RBVEVfUEtSVSwJdHJ1 ZSwJdHJ1ZSwgCXRydWUgfSwNCj4gKyAgeyBYODZfWFNUQVRFX0FWWDUxMiwJdHJ1ZSwJdHJ1ZSwg CXRydWUgfSwNCj4gKyAgeyBYODZfWFNUQVRFX0FWWCwJdHJ1ZSwJdHJ1ZSwgCXRydWUgfSwNCj4g KyAgeyBYODZfWFNUQVRFX01QWCwJdHJ1ZSwJdHJ1ZSwgCWZhbHNlIH0sDQo+ICsgIHsgWDg2X1hT VEFURV9TU0UsCXRydWUsCWZhbHNlLCAJZmFsc2UgfSwNCj4gKyAgeyBYODZfWFNUQVRFX1g4NywJ dHJ1ZSwJZmFsc2UsIAlmYWxzZSB9DQo+ICt9Ow0KDQpJIGhhdmUgbmV2ZXIgbG9va2VkIGF0IElQ QSBjb2RlIG11Y2guIEJ1dCB0aGlzIHRhYmxlIGxvb2tlZCBhIGJpdCB3ZWlyZCB0byBtZS4NCkkg Z2V0IHRoYXQgTVBYIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHgzMi4gVGhvdWdoIE1QWCBpcyBhbHJl YWR5IGRlcHJlY2F0ZWQgYW5kIHdpbGwNCmJlIHJlbW92ZWQgb25jZSBHREIgMTUgaXMgYnJhbmNo ZWQgKGF0IGxlYXN0IHRoYXQgaXMgdGhlIHBsYW4pLg0KQnV0IHdoeSBkb2VzIGFtZDY0IG5vdCBo YXZlIHg4NyBhbmQgU1NFPyBJIGRvIHNlZSBlLmcuIHN0MCBhbmQgeG1tMCBvbiBhbWQ2NC4NCg0K QWZ0ZXIgZGlnZ2luZyBhIGJpdDoNCkluIGFyY2gvYW1kNjQuYywgd2UgY2FsbCBjcmVhdGVfZmVh dHVyZV9pMzg2XzY0Yml0X3NzZSgpIHdpdGhvdXQgYW55IGNoZWNrIGZvcg0KU1NFIGluIFhDUjAu IEFuZCBJIHNlZSB0aGF0IHdlIGhhdmUgc3QwIGluIHRoZSAiY29yZSIgcmVnaXN0ZXJzIHdpdGgg RUFYIGV0Yy4NCkJ1dCBpbiBhcmNoL2kzODYuYyBpdCBpcyBkaWZmZXJlbnQsIGFuZCB3ZSBhZGQg U1NFIGJhc2VkIG9uIFg4Nl9YU1RBVEVfU1NFLg0KQW5kIHdoaWxlIHN0MCBpcyBhbHNvIGluIHRo ZSAiY29yZSIgcmVnaXN0ZXJzIHdpdGggRUFYIGV0Yy4sIHdlIG9ubHkgYWRkIHRoZW0gYmFzZWQN Cm9uIFg4Nl9YU1RBVEVfWDg3LiBUbyBtZSB0aGlzIGxvb2tzIHdyb25nLiBXaHkgd291bGQgQ1BV cyB3aXRob3V0IHg4Nw0Kbm90IGFkZCBFQVg/IEFuZCBldmVuIGlmIGl0IGlzbid0IGZvciBzb21l IHJlYXNvbiwgZG8gd2UgcmVhbGx5IHdhbnQgdG8gc3VwcG9ydA0Kc3VjaCBvbGQgQ1BVcz8gSW4g bXkgdmlldyB3ZSBjb3VsZCBqdXN0IGFsaWduIHRoZSB0d28uIA0KDQpJZiB3ZSB3b3VsZCBkbyB0 aGF0LCBhbmQgZGVwcmVjYXRlIE1QWCwgdGhlIHRhYmxlIGxvb2tzIHVubmVjZXNzYXJ5LiBPciBk aWQgSSBtaXNzDQpzb21ldGhpbmcgZWxzZT8NCg0KVGhpcyBpcyBhIGNvbXBsaWNhdGVkIHNlcmll cy4gTGlrZSBvdGhlcnMgSSBhbSB3b25kZXJpbmcgaG93IG1hbnkgdXNlcnMgSVBBDQpyZWFsbHkg aGFzIGFuZCBpZiBpdCBpcyB3b3J0aCBtYWludGFpbmluZy4gQnV0IEkgaGF2ZSBubyBkYXRhLiBJ cyBpdCBpbiBhbnkgZGlzdHJvcz8NCg0KDQpUaGFua3MsDQpGZWxpeA0KSW50ZWwgRGV1dHNjaGxh bmQgR21iSApSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAsIDg1NTc5IE5ldWJpYmVy ZywgR2VybWFueQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZSA8aHR0cDovL3d3 dy5pbnRlbC5kZT4KTWFuYWdpbmcgRGlyZWN0b3JzOiBDaHJpc3RpbiBFaXNlbnNjaG1pZCwgU2hh cm9uIEhlY2ssIFRpZmZhbnkgRG9vbiBTaWx2YSAgCkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZp c29yeSBCb2FyZDogTmljb2xlIExhdQpSZWdpc3RlcmVkIE9mZmljZTogTXVuaWNoCkNvbW1lcmNp YWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5MjgK