From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 0M9sOn0zsmrWuTEAWB0awg (envelope-from ) for ; Tue, 22 Sep 2026 03:51:25 -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=JukV8r8N; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id CC5EE1E06B; Tue, 22 Sep 2026 03:51:25 -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 [IPv6:2620:52:6:3111::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 E2EDF1E033 for ; Tue, 22 Sep 2026 03:51:23 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 627F34B9DB71 for ; Tue, 22 Sep 2026 07:51:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 627F34B9DB71 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=JukV8r8N Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by sourceware.org (Postfix) with ESMTPS id 753BB4BA902F for ; Tue, 22 Sep 2026 07:50:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 753BB4BA902F 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 753BB4BA902F 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=1790063454; cv=fail; b=dTAlZMVw315DinX5GXPxDaZiPm6LozNl9UidnRUMXYgqC0bCFyCkVkB2NovzD8e8q5/OnNfKQJNJNBztxeGldiL6U9D8ckKG4xriJekyVC01mNy8Wiftfawi6mByMaSmJbAFZwH8jjUcMYZL1+9YJFVnTjK9SLPhIgByGVRRtPM= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1790063454; c=relaxed/simple; bh=1eXqivzzN94XEEcekMZXV1aWPsOOna7XV79VLISlkpE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=jL6lt8imYWK4BKNxw29Rv8hB2NPWOFPs1ZIKYjETYSKaooFxSDdEWsXSWLZara5WllKNeQoCgOET1kCOBQ+uO2fie4PqWxtI7VHjm6w9+AZrGM97915CDtyk02KPEKzpC6pZpMp5t0a1tStALKgKDNntDLbw0Txaitmht5dkZ5E= 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=JukV8r8N DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 753BB4BA902F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1790063455; x=1821599455; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=1eXqivzzN94XEEcekMZXV1aWPsOOna7XV79VLISlkpE=; b=JukV8r8NoK8Cdyc9xDUZFKgpDZCBweY7tOhi32SHZDmJ1jRAvvdsxdEE ulE9/n31mYZx/yabi3IDRn+x5jzYVDnFJL0repHWLFHaACINgULKGhhAV 4kA3TUZ6QMYb/0l1rQEBSS/E8z/DhlvSl0agYUNfx9xh4PMw6uhqbM2bV a3jGZvvi8sJaZ+F3fBaLvvUUnTjKGf99geUUTXkmhpbpJwgWuCtAE04xV iJtP64bBnjobQUGH5F5e5TSsGsv6GdJjH4Y7C6NmIAtf5KBE8OHCnHcYD CRlOC2yeobhnsTLC2ttzJsCakxcmNR2WvnjU4mmdB4R41NsigpspiTClg w==; X-CSE-ConnectionGUID: SyXjQhYXRnu9rNfJqyljFA== X-CSE-MsgGUID: CbZhNnLTRNqVJNYwXXXMtw== X-IronPort-AV: E=McAfee;i="6800,10657,11912"; a="101234514" X-IronPort-AV: E=Sophos;i="6.27,116,1787036400"; d="scan'208";a="101234514" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2026 00:49:24 -0700 X-CSE-ConnectionGUID: ebJ+EjAhQsC0/Oz/GZdSrA== X-CSE-MsgGUID: 4/OdjBrgTLeMkBmk4AkESg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.27,116,1787036400"; d="scan'208";a="300952926" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by fmviesa001.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2026 00:49:22 -0700 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) 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; Tue, 22 Sep 2026 00:49:21 -0700 Received: from ORSEDG903.ED.cps.intel.com (10.7.248.13) 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, 22 Sep 2026 00:49:21 -0700 Received: from PH0PR06CU001.outbound.protection.outlook.com (40.107.208.17) 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.46; Tue, 22 Sep 2026 00:49:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=N9g0YHPqeG1jHftTntBVZy+UaDox+hKhA3gtd9d3m7VLv9/deN8iT4QTGuPNldkMDUrQklFEU0LACfWmiW/OKg3UWlsgRj5EE75tI4PD+T3TwOH7cWI/PG2bXu2n+ExHvZDtYpsBhCkQiz6bUc2wqrozUAwmxivtYqFOppiQOzX3Q2XKnPAWfchAw5NBIIfL3Nk4R0VpXDcCz4kNBS+SKB9FrQNdBJLPYw/EAU3UhFSIG4bLdFAjy5OHGoLHx6TriySAaEIy0jPNjvpGKPpf3jnvF+QGLoE2rFNzvX3e0hlMB66QT5ea57e74BS/qGfCiCiEGAGp+aBukLKKM+E3QA== 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=yF1c3EPg2xxoAe4InndQXfFBoKoT4wkHXL+uytyXDtg=; b=rjyaRoH34+jJDmmXJqseaYHoSv4s/ViTyZ0tVpa0cksjfm+ZT4XnmKY2/WOP6+LFZjYyD1UY/k22FyPJ5ClOuWDfHJyeG14Sr8y9GHcE7B0RKJTgMy7qd0oXV92bRlPX/quuZZTu3B+OEu8bkvOAzhSnz8XocDGpqexAWt4rLVgsYjiG54Hhq3vuwgHSS5ploFIRubenGQtigzS/+DMQhIk0tg72eTkFY45ERkX5/Q3hMrN1fADOaoUIamt5COGxjV9wFAaQacSEILhksLV+9Ou4ktuKsW+TKpdN2yFc1lDHUePEDP/+zSsvdehIGIx4tnYBul8Xd+fR12rKUdffRw== 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 SN7PR11MB7638.namprd11.prod.outlook.com (2603:10b6:806:34b::22) by CH3PR11MB7938.namprd11.prod.outlook.com (2603:10b6:610:12f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.13; Tue, 22 Sep 2026 07:49:14 +0000 Received: from SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::7a35:98d:f02c:b011]) by SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::7a35:98d:f02c:b011%4]) with mapi id 15.21.0428.015; Tue, 22 Sep 2026 07:49:14 +0000 From: "Joos, Christina" To: Thiago Jung Bauermann CC: "gdb-patches@sourceware.org" , "tom@tromey.com" Subject: RE: [PATCH v4 13/13] gdb, mi: Add -shadow-stack-list-frames command Thread-Topic: [PATCH v4 13/13] gdb, mi: Add -shadow-stack-list-frames command Thread-Index: AQHdO3vMo1gvabLw702M/Dj6nRSml7baUrVQ Date: Tue, 22 Sep 2026 07:49:14 +0000 Message-ID: References: <20260708143639.2214689-1-christina.schimpe@intel.com> <20260708143639.2214689-14-christina.schimpe@intel.com> <87jyp2pxfi.fsf@linaro.org> In-Reply-To: <87jyp2pxfi.fsf@linaro.org> 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: SN7PR11MB7638:EE_|CH3PR11MB7938:EE_ x-ms-office365-filtering-correlation-id: 03b8db37-545d-44a1-f685-08df187dff66 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|23010399003|1800799024|38070700021|3023799007|10067099003|11063799006|4143699003|56012099006|18002099003|22082099003; x-microsoft-antispam-message-info: o6uqjMUopFvzCwURPftVYZCls1/sYj3IdjNsJ7hgK/ZzqTXBGDmLg9o3Oif+A12qt5E2eb2COvtSzRLaN6sVndlUW8/qXxPtQOCUH0ToXqwnWTZFL0LtdFi88Mjivs9pU08BJtsILDO5l+u+aBGMxLZ64vVpTJhRsQpMCHueXa/vVkLlpbTupT0g1JQw3KW3iDua9y/9Lz1znx/X/kkhLp/5Rv5NXwZiGVZq5vewp0nnirVhsjLIweLIZ61FPOZcmQcTEIuYgtt/+/zj7qxYFHmkRbmAOpsqGdmFMxfbjL0rcPiHHs0h+dW+2P1n5Ip6/AyzAR71vXNTtptPTEvPggEqemV4pgAaKxWAS2K8FuQEzZq1b+WqcX7KUDc/WmN2vXLudld83tkIaA5TeP61UzNEh3GkenUlEA0zvvEUYxPMA+uYRBYZY7xB7zejAARZJ4jG0ozsUHpFaBBb4cmm4hYMzPKxuW+Fzx+r8H/wOmsFHNYXBzdZ/I8s3qHEwdVRtfSEqVUcrWkT6UGvcEgf9xno3D3V/Ni02/jNS3/cqvWOZW7pgZHcurHTc8m2ZVqB9+fBMQyXr+J/CJbYG53cMzkGD+ZMuFFBZuddPWGoZRK7VJQGJKDkrm2/E/A48uN46t0CJKjcalgJnWl5hwosNONw+WOQQS1yzZQPZSJebiJWo9cnmYKOQwtSd9gFYsjIDGjlfUpfWMKsDeXcQ7kzV8SO2JrCmYf38czb5MVpgsk= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN7PR11MB7638.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(23010399003)(1800799024)(38070700021)(3023799007)(10067099003)(11063799006)(4143699003)(56012099006)(18002099003)(22082099003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L1lERVlIMXg0TCtPOHF6UEZpc0xSYWZQMmR2a0djcE1mUUk1b0x2V0ZBSVNp?= =?utf-8?B?S2FGWWYwbkw2dFEyU2FOUW0rVFN4cVoxa05PQ3hMZ1MxN3M1L1crOWNjMW5R?= =?utf-8?B?amdJYmhXUnpQNHlWQTJGbjgva29GVG5HVXZ1V0V0M1BLVVhVTENlc2RPeUVu?= =?utf-8?B?WmFaR1ZhZjdBRnBhaUFBS0xCU1hzWVgrRTdYSDJaVm45TkNnTmpEMmFTYTRs?= =?utf-8?B?eUN2OHM5WHo3RjVFbXBlMUVtdXhGOHpGdjRENlltRDNMQzQ1RVFaczhjYmJX?= =?utf-8?B?blhnd0VqVU4vRkU5dVIwYTc3V3BMbUVod2d4d0dvNWlxZVU2SXhDL3NMTUhC?= =?utf-8?B?R2h0STBuYTYrV0srYkZsNFFaSHE2cjZQR0RxMEV2ZzN5cHNmNTdvRWdTZ1Fj?= =?utf-8?B?YzExR2pvUXh3ZUhOVHQrV1g2Wld3Y1dTVHFzT3UxM1F1R1IxMU0zdmUxRE11?= =?utf-8?B?UjFnOFY4eHNYZkRjKzJ1amhnUEVDdDZmak0xTmFlM3J2UWJZRlpCQWFlb2oy?= =?utf-8?B?K25ZdVZWWTlvdWRaUnVLVDcxcURadmNtY0dVcFVnS1FkU3dXbTB0cmd4U0tY?= =?utf-8?B?ZGxkbk1qSUZKZUhMWmhwU01KYjcwZHVXQWk5d1pvV1Z2a3ZOenI2ODl0NXpL?= =?utf-8?B?YnAvVFdOc2FpRWpVYnpOZ3RrRHZZaGRWM3dodkQ3YlhOeU1rTFlYdnkwSVFW?= =?utf-8?B?cm50Nzd4bGZaamxFVlhpOU1HLzFQSmdWU0I2RmhYbmFKakdxZCsxdkR4TkVp?= =?utf-8?B?anpUNVhYcERGTGhsMU96WmIwa0UxWGwyME1oY3AzclJodVIwdUVQZEFYb3ZV?= =?utf-8?B?VmRyR2QydUIzdE1wcjBQQlIra0M5YjlIcTE2SEtJdDJ4UmtTZHFxcGROMGc1?= =?utf-8?B?MFNYeDE3d1JYa01wQy9KSnRyWCtjaUxFdWVGdENtOGxlUFZTSkxzR0Q1Rjgr?= =?utf-8?B?QWh3bG5Xc2hIVGhkNVlrQXdTKzJUaUUwWFFLV0VXdTlLMk8zT2J3YWw2MjVj?= =?utf-8?B?M2NSQU40cU5kRVpQOVVWTzRIenBCQ2VQcXhlUXFoN2RrN0ZuWlZhTW1Qb3FI?= =?utf-8?B?c3NYdll2blhvcTlBbW9XQ1hadk5MUnNBY254dkdSWk02MEZCM1BtaEVFcVc2?= =?utf-8?B?ZlhQZ1phNmpMbU1iRW5ZWGVUbkxscUFucUVqUnlqcDlLT3ZRcHVHczh6K0ww?= =?utf-8?B?aWdaVUZOVGZpN2dGb3N4Nktjb0U3dkRVNmtrbW80ZklMb213bWFaVHA3OHor?= =?utf-8?B?YkkzMVdVQmRlc0tjWHZxS1BLVXN6cHU5MEhqcnZtODJYZEhwZkR4NnNMVXJp?= =?utf-8?B?TmdIaXh0a3haM3hrRE1tWThVVU14UFF2ZFJ3bHgrWVpJck42N1pQREt6SW1E?= =?utf-8?B?TW9GTUV1dHJwY2c0aWFlT0F6RGVCeW9ybXlqeEZiZk9yZS9ZZUNaMVQ5bkI3?= =?utf-8?B?NEp0WTk4YWtZZWNKM3ZaUjhOc3BwSUNNRHNVWW9hWUVvME42MDR4Q200MEVa?= =?utf-8?B?VG9NYWs1NExnNHcxeXhEa3NwOVJSWkdmbDFXSnpNSzZWUnFsWGdQbWtLWVRB?= =?utf-8?B?QVAzajFWUzVYelR4ZExIM2VJRTZLS3I1VCtNc3lDdXN3S1hmU0ZzYnpHazBL?= =?utf-8?B?TVZwb0YvZUJTNUhwd0F2eWlNVURoUURxcDNmTzAvWVhSRmJqN3Q1QkFaYlR4?= =?utf-8?B?anRZb0VUTGY2ZEtROE9CRnBpQzF1R0w5amphaEowcUYvMWozd2NPLzlnTWht?= =?utf-8?B?UUp5SER4TGFSUmpWaytDWklpNTFyWWZDdzBsYlEvWXdwUEUzOUZaOXV0aHF3?= =?utf-8?B?L0Q5NTZBaTVJai9YUHhVY2t3RFhwZzZtdkZDUXNybU5IWHFPQXRSWkdSZHNZ?= =?utf-8?B?TXlTcll0UFpNKzRwSlFkWGNXc3lLeklUQ2NYbEFDa1BkUHhqTG9FTzNRdjA1?= =?utf-8?B?NDcwWjBPc3JGdys3cnBoV1VDTzFVUzlpMTFHK2hPay80NWJHVVh3anArSS9T?= =?utf-8?B?NDlwa29PbEVLRVdUSjI2cFZHUWVPNjFWVWNBR2JKZFV4UDB1cTB5Y3NVRENV?= =?utf-8?B?QTRpUzI2cVFGcUVOQWJwV21SNW5Pd3FrY2tyWk1RemZUMldZWFhLOFNiK3h3?= =?utf-8?B?RFE3L2RjQ29uRGVRb2NEUTYrRy92VGM2cFp2T21FcTkybDN5T05UTFZrTWNa?= =?utf-8?B?UHBUYmxicDhOWDQwWE1WM012ZHZyMDlBZjdleWpVdi8xd2FVdnJRN0haTzZo?= =?utf-8?B?K0tGYTFyVVNlT2pwSlQ2UWJTYzI3OTE2OE9HRGF0cU9QdWxjUkNHdUhvN1cx?= =?utf-8?B?UFVxbDdpUEx2UjlGT2FHOVlQWkJsdjZDemw3aVJLTkRPWXN0ZmNxdz09?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: WmemTDX6+jiJLI0lSoKO0IniyXd+j6jZXK5J4qbZ6nzqcd5IX0+k2Tfyfh6qa3Yvx3ygkORoNfLo5rL0KxLxFSNdwfnq6hHMUQMLK3qFHRV4FNbegrke/hkE+jG6hFfkrAmCIgf/Hg+9/lkk2TolM78txLfc4iOHVtj9v71NaEppFbbVotz4MNdpnOK++Mt6mRjf422v7eqjwn6NVXYADHvLBz0AWD6tJjVAqvHcr5ZCkO5KxYF+LSPYtujFExJSL17e95n8gfFPvauQB2gXIR1vwk6eIA+p9fc6RzI89AgW4i/VrInkzAF/0msPdqoVipCREGdIHGAKuESNUFT3lQ== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB7638.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03b8db37-545d-44a1-f685-08df187dff66 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Sep 2026 07:49:14.4384 (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: KyZmPJ3gZQ5fIXTbIhCLmwZhBW8cXs4H1gb8YRwkdCLShBegkkGFlNPWPclKza8LdC43xDruT/iRQk72P8H+/XD1X47mEr+mplcWtbH7xyA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7938 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUaGlhZ28gSnVuZyBCYXVlcm1h bm4gPHRoaWFnby5iYXVlcm1hbm5AbGluYXJvLm9yZz4NCj4gU2VudDogRG9ubmVyc3RhZywgMy4g U2VwdGVtYmVyIDIwMjYgMTA6MTENCj4gVG86IEpvb3MsIENocmlzdGluYSA8Y2hyaXN0aW5hLmpv b3NAaW50ZWwuY29tPg0KPiBDYzogZ2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmc7IHRvbUB0cm9t ZXkuY29tDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMTMvMTNdIGdkYiwgbWk6IEFkZCAtc2hh ZG93LXN0YWNrLWxpc3QtZnJhbWVzDQo+IGNvbW1hbmQNCj4gDQo+IENocmlzdGluYSBTY2hpbXBl IDxjaHJpc3RpbmEuc2NoaW1wZUBpbnRlbC5jb20+IHdyaXRlczoNCj4gDQo+ID4gQWRkIHRoZSBt aSBjb21tYW5kIGZvciB0aGUgY29tbWFuZCAiYmFja3RyYWNlIC1zaGFkb3ciLg0KPiA+IFNpbWls YXIgdG8gdGhlIG1pIGludGVyZmFjZSBmb3IgdGhlIG9yZGluYXJ5IGJhY2t0cmFjZSBjb21tYW5k LA0KPiA+IHN1cHBvcnQgbG93LWZyYW1lIGFuZCBoaWdoLWZyYW1lIGFzIGNvbW1hbmQgbGluZSBw YXJhbWV0ZXJzLg0KPiA+DQo+ID4gRXhhbXBsZSBwcmludCBvZiBhIGZ1bGwgc2hhZG93IHN0YWNr IGJhY2t0cmFjZToNCj4gPiB+fn4NCj4gPiAoZ2RiKQ0KPiA+IC1zaGFkb3ctc3RhY2stbGlzdC1m cmFtZXMNCj4gPiBeZG9uZSxzaGFkb3ctc3RhY2s9Ww0KPiA+IHNoYWRvdy1zdGFjay1mcmFtZT17 bGV2ZWw9IjAiLGFkZHI9IjB4MDAwMDdmZmZmN2MzZmU3MCIsDQo+ID4gICBmdW5jPSJfX2xpYmNf c3RhcnRfY2FsbF9tYWluIixmaWxlPSIuLi9zeXNkZXBzL25wdGwvbGliY19zdGFydF9jYWxsX21h aW4uaCIsDQo+ID4gICBmdWxsbmFtZT0iL3Vzci9bLi4uXS9zeXNkZXBzL25wdGwvbGliY19zdGFy dF9jYWxsX21haW4uaCIsDQo+ID4gICBsaW5lPSI1OCIsYXJjaD0iaTM4Njp4ODYtNjQifSwNCj4g PiBzaGFkb3ctc3RhY2stZnJhbWU9e2xldmVsPSIxIixhZGRyPSIweDAwMDA3ZmZmZjdjM2ZmMjAi LA0KPiA+ICAgZnVuYz0iX19saWJjX3N0YXJ0X21haW5faW1wbCIsZmlsZT0iLi4vY3N1L2xpYmMt c3RhcnQuYyIsDQo+ID4gICBmdWxsbmFtZT0iL3Vzci9bLi4uXS9jc3UvbGliYy1zdGFydC5jIiwN Cj4gPiAgIGxpbmU9IjEyOCIsYXJjaD0iaTM4Njp4ODYtNjQifSwNCj4gPiBzaGFkb3ctc3RhY2st ZnJhbWU9e2xldmVsPSIyIixhZGRyPSIweDAwMDAwMDAwMDA0MDEwNzUiLA0KPiA+ICAgZnVuYz0i X3N0YXJ0IixhcmNoPSJpMzg2Ong4Ni02NCJ9XQ0KPiA+IH5+fg0KPiA+DQo+ID4gRXhhbXBsZSBw cmludCBvZiBhIHNoYWRvdyBzdGFjayBiYWNrdHJhY2UgdXNpbmcgbG93LSBhbmQgaGlnaC1mcmFt ZToNCj4gPiB+fn4NCj4gPiAoZ2RiKQ0KPiA+IC1zaGFkb3ctc3RhY2stbGlzdC1mcmFtZXMgMCAx DQo+ID4gXmRvbmUsc2hhZG93LXN0YWNrPVsNCj4gPiBzaGFkb3ctc3RhY2stZnJhbWU9e2xldmVs PSIwIixhZGRyPSIweDAwMDA3ZmZmZjdjM2ZlNzAiLA0KPiA+ICAgZnVuYz0iX19saWJjX3N0YXJ0 X2NhbGxfbWFpbiIsZmlsZT0iLi4vc3lzZGVwcy9ucHRsL2xpYmNfc3RhcnRfY2FsbF9tYWluLmgi LA0KPiA+ICAgZnVsbG5hbWU9Ii91c3IvWy4uLl0vc3lzZGVwcy9ucHRsL2xpYmNfc3RhcnRfY2Fs bF9tYWluLmgiLA0KPiA+ICAgbGluZT0iNTgiLGFyY2g9ImkzODY6eDg2LTY0In0sDQo+ID4gc2hh ZG93LXN0YWNrLWZyYW1lPXtsZXZlbD0iMSIsYWRkcj0iMHgwMDAwN2ZmZmY3YzNmZjIwIiwNCj4g PiAgIGZ1bmM9Il9fbGliY19zdGFydF9tYWluX2ltcGwiLGZpbGU9Ii4uL2NzdS9saWJjLXN0YXJ0 LmMiLA0KPiA+ICAgZnVsbG5hbWU9Ii91c3IvWy4uLl0vY3N1L2xpYmMtc3RhcnQuYyIsDQo+ID4g ICBsaW5lPSIxMjgiLGFyY2g9ImkzODY6eDg2LTY0In1dDQo+ID4gfn5+DQo+ID4gLS0tDQo+ID4g IGdkYi9ORVdTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArKw0K PiA+ICBnZGIvZG9jL2dkYi50ZXhpbmZvICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNTEg KysrKysrKysNCj4gPiAgZ2RiL21pL21pLWNtZC1zdGFjay5jICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMTAwICsrKysrKysrKysrKysrKw0KPiA+ICBnZGIvbWkvbWktY21kcy5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKw0KPiA+ICBnZGIvbWkvbWktY21kcy5oICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiA+ICBnZGIvc2hhZG93LXN0YWNrLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMjEgKysrKysrKysrKysrLS0tLS0tDQo+ID4g IGdkYi9zaGFkb3ctc3RhY2suaCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0MCArKysr KysNCj4gPiAgLi4uL2dkYi5taS9taS1zaGFkb3ctc3RhY2stc2lnbmFsLmV4cCAgICAgICAgIHwg IDY5ICsrKysrKysrKysNCj4gPiAgZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktc2hhZG93LXN0YWNr LmV4cCAgICAgIHwgIDkzICsrKysrKysrKysrKysrDQo+ID4gIDkgZmlsZXMgY2hhbmdlZCwgNDQ5 IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKSAgY3JlYXRlIG1vZGUNCj4gPiAxMDA2NDQg Z2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktc2hhZG93LXN0YWNrLXNpZ25hbC5leHANCj4gPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXNoYWRvdy1zdGFjay5leHAN Cj4gDQo+IEkgZG9uJ3QgaGF2ZSBtdWNoIGV4cGVyaWVuY2Ugd2l0aCBNSSwgc28gSSdsbCBvbmx5 IGNvbW1lbnQgb24gdGhlIHRyYW5zbGF0aW9uDQo+IHN0cmluZ3MuIFRob3VnaCB0byBiZSBob25l c3QgaW4gYWxsIHRoaXMgdGltZSBBRkFJQ1QgR0RCIGhhc24ndCBldmVyIGJlZW4NCj4gdHJhbnNs YXRlZCBzbyBJIHdvbmRlciBob3cgdXNlZnVsIGl0IGlzIHRvIHBheSBhdHRlbnRpb24gdG8gdGhp cy4NCg0KSSBkb24ndCBrbm93IGhvdyBvZnRlbiBvciBpZiB0aGF0IGhhcHBlbnMsIHRvby4uLi4N CkJ1dCBzaW5jZSBJIHVzZSB0aGUgaW50ZXJmYWNlLCBJIHNob3VsZCBwcm9iYWJseSBiZXR0ZXIg dXNlIGl0IGNvcnJlY3RseS4g8J+YiSANCg0KPiA+ICsvKiBQYXJzZSBhcmd1bWVudHMgb2YgLXNo YWRvdy1zdGFjay1saXN0LWZyYW1lcyBjb21tYW5kIGFuZCBzZXQNCj4gRlJBTUVfTE9XDQo+ID4g KyAgIGFuZCBGUkFNRV9ISUdIIGFjY29yZGluZ2x5LiAgVGhyb3cgYW4gZXJyb3IgaW4gY2FzZSB0 aGUgYXJndW1lbnRzIGFyZQ0KPiA+ICsgICBpbnZhbGlkLiAgKi8NCj4gPiArc3RhdGljIHZvaWQN Cj4gPiArbWlfY21kX3NoYWRvd19zdGFja19saXN0X2ZyYW1lc19wYXJzZV9hcmdzIChjb25zdCBj aGFyICpjb25zdCAqYXJndiwNCj4gPiArCQkJCQkgICAgaW50IGFyZ2MsIGludCAmZnJhbWVfbG93 LA0KPiA+ICsJCQkJCSAgICBpbnQgJmZyYW1lX2hpZ2gpDQo+ID4gK3sNCj4gPiArICBjb25zdCBz dGQ6OnN0cmluZyBtaV9jbWRfbmFtZSA9ICItc2hhZG93LXN0YWNrLWxpc3QtZnJhbWVzIjsNCj4g PiArICAvKiBUaGVyZSBzaG91bGQgZWl0aGVyIGJlIGxvdyAtIGhpZ2ggcmFuZ2UsIG9yIG5vIGFy Z3VtZW50cy4gICovDQo+ID4gKyAgaWYgKChhcmdjICE9IDApICYmIChhcmdjICE9IDIpKQ0KPiA+ ICsgICAgZXJyb3IgKF8oIiVzOiBVc2FnZTogW0ZSQU1FX0xPVyBGUkFNRV9ISUdIXSIpLCBtaV9j bWRfbmFtZS5jX3N0cg0KPiA+ICsoKSk7DQo+ID4gKw0KPiA+ICsgIC8qIElmIHRoZXJlIGlzIGEg cmFuZ2UsIHNldCBpdC4gICovDQo+ID4gKyAgaWYgKGFyZ2MgPT0gMikNCj4gPiArICAgIHsNCj4g PiArICAgICAgZnJhbWVfbG93ID0gYXRvaSAoYXJndlswXSk7DQo+ID4gKyAgICAgIGZyYW1lX2hp Z2ggPSBhdG9pIChhcmd2WzFdKTsNCj4gPiArICAgICAgc3RkOjpzdHJpbmcgZXJyX3N0cjsNCj4g PiArICAgICAgaWYgKGZyYW1lX2xvdyA8IDApDQo+ID4gKwl7DQo+ID4gKwkgIGVycl9zdHIgPSAi YGAiICsgc3RkOjp0b19zdHJpbmcgKGZyYW1lX2xvdykgKyAiJyciOw0KPiA+ICsJICBpZiAoZnJh bWVfaGlnaCA8IDApDQo+ID4gKwkgICAgZXJyX3N0ciArPSAiIGFuZCBgYCIgKyBzdGQ6OnRvX3N0 cmluZyAoZnJhbWVfaGlnaCkgKyAiJyciOw0KPiA+ICsJfQ0KPiA+ICsgICAgICBlbHNlIGlmIChm cmFtZV9oaWdoIDwgMCkNCj4gPiArCWVycl9zdHIgPSAiYGAiICsgc3RkOjp0b19zdHJpbmcgKGZy YW1lX2hpZ2gpICsgIicnIjsNCj4gPiArDQo+ID4gKyAgICAgIGlmICghZXJyX3N0ci5lbXB0eSAo KSkNCj4gPiArCXsNCj4gPiArCSAgZXJyX3N0ciA9IG1pX2NtZF9uYW1lICsgIjogSW52YWxpZCBv cHRpb24gIiArIGVycl9zdHIgKyAiLiI7DQo+ID4gKwkgIGVycm9yIChfKCIlcyIpLCBlcnJfc3Ry LmNfc3RyICgpKTsNCj4gDQo+IFBhc3NpbmcgIiVzIiBhcyBhIHN0cmluZyB0byBiZSB0cmFuc2xh dGVkIGRvZXNuJ3Qgd29yay4gZ2V0dGV4dCBleHRyYWN0cyB0aGUNCj4gdHJhbnNsYXRhYmxlIHN0 cmluZ3MgYnkgc2Nhbm5pbmcgdGhlIHNvdXJjZSBjb2RlIGF0IGJ1aWxkIHRpbWUsIGl0J3Mgbm90 IGRvbmUgYXQNCj4gcnVudGltZS4NCj4gDQo+IFlvdSBjYW4gc2VlIHRoaXMgaWYgeW91IHJ1biB0 aGlzIGluIHRoZSBHREIgYnVpbGQgZGlyZWN0b3J5Og0KPiANCj4gJCBtYWtlIC1DIGdkYiBnZGIu cG90DQo+IA0KPiBUaGVuIHlvdSdsbCBzZWUgaW4gJGJ1aWxkX2Rpci9nZGIvcG8vZ2RiLnBvdDoN Cj4gDQo+ICM6IGNvbXBpbGUvY29tcGlsZS5jOjExMiBjcC1uYW1lc3BhY2UuYzo1MjggZHdhcmYy L3JlYWQuYzoxMDIxDQo+ICM6IGR3YXJmMi9yZWFkLmM6MTAzMCBtaS9taS1jbWQtc3RhY2suYzo4 MDIgc2hhZG93LXN0YWNrLmM6NjMyDQo+ICM6IHNoYWRvdy1zdGFjay5jOjY0OSB1dGlscy5jOjY1 NyByZWFkLmM6MTAyMSByZWFkLmM6MTAzMCBtaS1jbWQtc3RhY2suYzo4MDINCj4gIzogY29tcGls ZS5jOjExMg0KPiAjLCBwb3NzaWJsZS1jLWZvcm1hdA0KPiBtc2dpZCAiJXMiDQo+IG1zZ3N0ciAi Ig0KPiANCj4gV2hpY2ggaXNuJ3QgdmVyeSB0cmFuc2xhdGFibGUuIFRoZSBvbmx5IHN0cmluZyBj b250YWluaW5nICJJbnZhbGlkIG9wdGlvbiIgaW4NCj4gZ2RiLnBvdCBpcyBmcm9tIG1pLWNtZC12 YXIuYywgdW5yZWxhdGVkIHRvIHRoaXMgY29kZS4NCg0KQWggdGhhbmtzIGEgbG90IGZvciBwb2lu dGluZyB0aGlzIG91dCwgSSB3YXMgbm90IGF3YXJlICEgV2lsbCBmaXggdGhpcy4NCg0KSSB0aGlu ayB0aGVyZSBhcmUgc29tZSBtb3JlIG9jY3VycmVuY2VzIGluIHRoaXMgc2VyaWVzIHdoaWNoIEkg d2lsbCBkb3VibGUgY2hlY2suDQpUaGVyZSBpcyBvbmUsIGZvciBpbnN0YW5jZSwgaW4gc2hhZG93 LXN0YWNrLmM6DQoNCn5+fg0KICAgICAgZXJyb3IgKF8oIkNhbm5vdCBwcmludCBzaGFkb3cgc3Rh Y2sgYmFja3RyYWNlOiAlcy5cbiIpLA0KCSAgICAgc3NwX3Vud2luZF9zdG9wX3JlYXNvbl90b19l cnJfc3RyaW5nIChyZWFzb24pKTsNCn5+fg0KDQpCdXQgaW4gdGhpcyBjYXNlIFJFQVNPTiBpcyBt b3JlIGxpa2UgYW4gZXJyb3IgY29kZSwgc28gSSBiZWxpZXZlIGl0IGRvZXNuJ3QgaGF2ZSB0bw0K YmUgdHJhbnNsYXRlZC4NCg0KPiA+ICsJfQ0KPiA+ICsgICAgfQ0KPiA+ICsgIGVsc2UNCj4gPiAr ICAgIHsNCj4gPiArICAgICAgLyogTm8gYXJndW1lbnRzLCBwcmludCB0aGUgd2hvbGUgc2hhZG93 IHN0YWNrIGJhY2t0cmFjZS4gICovDQo+ID4gKyAgICAgIGZyYW1lX2xvdyA9IC0xOw0KPiA+ICsg ICAgICBmcmFtZV9oaWdoID0gLTE7DQo+ID4gKyAgICB9DQo+ID4gK30NCj4gDQo+IOKLrg0KPiAN Cj4gPiArQ09SRV9BRERSDQo+ID4gK2dldF92YWxpZGF0ZWRfc2hhZG93X3N0YWNrX3BvaW50ZXIg KGdkYmFyY2ggKmdkYmFyY2gpDQo+ID4gIHsNCj4gPiAgICBpZiAoIXRhcmdldF9oYXNfc3RhY2sg KCkpDQo+ID4gLSAgICBlcnJvciAoXygiTm8gc2hhZG93IHN0YWNrLiIpKTsNCj4gPiArICAgIHsN Cj4gPiArICAgICAgaWYgKCFjdXJyZW50X3Vpb3V0LT5pc19taV9saWtlX3AgKCkpDQo+ID4gKwll cnJvciAoXygiTm8gc2hhZG93IHN0YWNrLiIpKTsNCj4gPiArICAgICAgZWxzZQ0KPiA+ICsJZXJy b3IgKF8oIi1zaGFkb3ctc3RhY2stbGlzdC1mcmFtZXM6IE5vIHNoYWRvdyBzdGFjay4iKSk7DQo+ ID4gKyAgICB9DQo+ID4NCj4gPiAtICBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X2N1cnJlbnRfYXJj aCAoKTsNCj4gPiAgICBpZiAoIWdkYmFyY2hfYWRkcmVzc19pbl9zaGFkb3dfc3RhY2tfbWVtb3J5 X3JhbmdlX3AgKGdkYmFyY2gpDQo+ID4gICAgICAgIHx8ICFnZGJhcmNoX3RvcF9hZGRyX2VtcHR5 X3NoYWRvd19zdGFja19wIChnZGJhcmNoKQ0KPiA+ICAgICAgICB8fCBnZGJhcmNoX3NzcF9yZWdu dW0gKGdkYmFyY2gpID09IC0xKQ0KPiA+IC0gICAgZXJyb3IgKF8oIlByaW50aW5nIG9mIHRoZSBz aGFkb3cgc3RhY2sgYmFja3RyYWNlIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIg0KPiA+IC0JICAgICAi IHRoZSBjdXJyZW50IHRhcmdldC4iKSk7DQo+ID4gKyAgICB7DQo+ID4gKyAgICAgIHN0ZDo6c3Ry aW5nIGVycl9zdHIgPSAiUHJpbnRpbmcgb2YgdGhlIHNoYWRvdyBzdGFjayBiYWNrdHJhY2UiOw0K PiA+ICsgICAgICBlcnJfc3RyICs9ICIgaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhlIGN1cnJlbnQg dGFyZ2V0LiI7DQo+ID4gKyAgICAgIGlmICghY3VycmVudF91aW91dC0+aXNfbWlfbGlrZV9wICgp KQ0KPiA+ICsJZXJyb3IgKF8oIiVzIiksIGVycl9zdHIuY19zdHIoKSk7DQo+ID4gKyAgICAgIGVs c2UNCj4gPiArCWVycm9yIChfKCItc2hhZG93LXN0YWNrLWxpc3QtZnJhbWVzOiAlcyIpLCBlcnJf c3RyLmNfc3RyKCkpOw0KPiANCj4gU2FtZSBwcm9ibGVtIGluIHRoZSB0d28gXygpIGNhbGxzIGFi b3ZlLCBhbmQgdGhlIHR3byBiZWxvdy4NCg0KWWVzLCB3aWxsIGZpeC4NCg0KPiA+ICsgICAgfQ0K PiA+DQo+ID4gICAgcmVnY2FjaGUgKnJlZ2NhY2hlID0gZ2V0X3RocmVhZF9yZWdjYWNoZSAoaW5m ZXJpb3JfdGhyZWFkICgpKTsNCj4gPiAgICBib29sIHNoYWRvd19zdGFja19lbmFibGVkID0gZmFs c2U7DQo+ID4gQEAgLTYyMSwxMCArNjQyLDI1IEBAIGJhY2t0cmFjZV9zaGFkb3dfY29tbWFuZCAo Y29uc3QNCj4gZnJhbWVfcHJpbnRfb3B0aW9ucyAmZnBfb3B0cywNCj4gPiAgCQkJCQlzaGFkb3df c3RhY2tfZW5hYmxlZCk7DQo+ID4NCj4gPiAgICBpZiAoIXN0YXJ0X3NzcC5oYXNfdmFsdWUgKCkg fHwgIXNoYWRvd19zdGFja19lbmFibGVkKQ0KPiA+IC0gICAgZXJyb3IgKF8oIlNoYWRvdyBzdGFj ayBpcyBub3QgZW5hYmxlZCBmb3IgdGhlIGN1cnJlbnQgdGhyZWFkLiIpKTsNCj4gPiArICAgIHsN Cj4gPiArICAgICAgc3RkOjpzdHJpbmcgZXJyX3N0cg0KPiA+ICsJPSAiU2hhZG93IHN0YWNrIGlz IG5vdCBlbmFibGVkIGZvciB0aGUgY3VycmVudCB0aHJlYWQuIjsNCj4gPiArICAgICAgaWYgKCFj dXJyZW50X3Vpb3V0LT5pc19taV9saWtlX3AgKCkpDQo+ID4gKwllcnJvciAoXygiJXMiKSwgZXJy X3N0ci5jX3N0cigpKTsNCj4gPiArICAgICAgZWxzZQ0KPiA+ICsJZXJyb3IgKF8oIi1zaGFkb3ct c3RhY2stbGlzdC1mcmFtZXM6ICVzIiksIGVycl9zdHIuY19zdHIoKSk7DQo+ID4gKyAgICB9DQo+ ID4NCj4gPiAtICAvKiBDaGVjayBpZiBTVEFSVF9TU1AgcG9pbnRzIHRvIGEgc2hhZG93IHN0YWNr IG1lbW9yeSByYW5nZSBhbmQgdXNlDQo+ID4gLSAgICAgdGhlIHJldHVybmVkIHJhbmdlIHRvIGRl dGVybWluZSB3aGVuIHRvIHN0b3AgdW53aW5kaW5nLg0KPiA+ICsgIHJldHVybiAqc3RhcnRfc3Nw Ow0KPiA+ICt9DQoNClRoYW5rcyENCkNocmlzdGluYQ0KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KSW50ZWwgRGV1dHNjaGxhbmQgR21iSCANCg0KUmVnaXN0ZXJlZCBB ZGRyZXNzOiBEb3JuYWNoZXIgU3RyYXNzZSAxLCA4NTYyMiBGZWxka2lyY2hlbiwgR2VybWFueSAN Cg0KVGVsOiArNDkgKDg5KSA5OTE0My0wIA0KDQp3d3cuaW50ZWwuZGUgDQoNCk1hbmFnaW5nIERp cmVjdG9yczogQ2FuZGljZSBNb29yZSwgSmVmZnJleSBTY2huZWlkZXJtYW4sIFJhbWFjaGFuZHJh biBTaXRhcmFtYW4NCg0KQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBTb25q YSBQaWVyZXINCg0KUmVnaXN0ZXJlZCBTZWF0OiBNdW5pY2ggQ29tbWVyY2lhbCBSZWdpc3RlciBC OiBBbXRzZ2VyaWNodCBNdW5pY2ggSFJCIDE4NjkyOA0KDQpUaGlzIGUtbWFpbCBhbmQgYW55IGF0 dGFjaG1lbnRzIG1heSBjb250YWluIGNvbmZpZGVudGlhbCBtYXRlcmlhbCBmb3INCnRoZSBzb2xl IHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpLiBBbnkgcmV2aWV3IG9yIGRpc3RyaWJ1 dGlvbg0KYnkgb3RoZXJzIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuIElmIHlvdSBhcmUgbm90IHRo ZSBpbnRlbmRlZA0KcmVjaXBpZW50LCBwbGVhc2UgY29udGFjdCB0aGUgc2VuZGVyIGFuZCBkZWxl dGUgYWxsIGNvcGllcy4K