From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id i+EdMEI/xmrapg4AWB0awg (envelope-from ) for ; Wed, 07 Oct 2026 08:46:58 -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=PNp/ixKM; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 6A2491E051; Wed, 07 Oct 2026 08:46:58 -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 7D3981E04E for ; Wed, 07 Oct 2026 08:46:53 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E6C674BA2E09 for ; Wed, 7 Oct 2026 12:46:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E6C674BA2E09 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=PNp/ixKM Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) by sourceware.org (Postfix) with ESMTPS id 593324BA2E0A for ; Wed, 7 Oct 2026 12:46:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 593324BA2E0A 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 593324BA2E0A Authentication-Results: sourceware.org; arc=fail smtp.remote-ip=198.175.65.16 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1791377165; cv=fail; b=nOYd5iB4IMxiq5LzQ47mAMxfw7UAWWhnuK8+ChF3WfOEn7sARR7JEkcS4OckPupHqRDNrRbHMgfxdmzEFHjaAU6RLDKJ7k1He1G72ONXN8QjxfladhtLunHIGIjRFvx9ccX2VTk6cZlncvCEzFI8KlAXujU7hcwZ866R/U6s4J4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1791377165; c=relaxed/simple; bh=W3+yKb9me+W+OVjKgpMPoZhuW1WV+3OFzZzg08yEByI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=eWsOvjlULNuSzEbaghHp7K9c1767o8Ov5AQIvsf9ecdiYPLkbgQZr+l8KaoAuBwQOKj+ArRz2oa4GckzvoOhnE8IOS0Vl1m67alnfhwm5XatF/rXa2HHfbyPxti2C9Wse74KUzPoeXttUO/O6ToscpxGNxkLdK4bGEVTu3/YQtM= 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=PNp/ixKM DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 593324BA2E0A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1791377165; x=1822913165; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=W3+yKb9me+W+OVjKgpMPoZhuW1WV+3OFzZzg08yEByI=; b=PNp/ixKMbywA7ldWPHg1ps5wYY91PxuhGgW1C8UpbAaYTXB0V/Wb+Wu/ 6/AcfsKrHkavTOpfXpDE/YPV3OH4Ca0yYaesy2pmfnzNB6PkX0aa018Tj eTBZ+hTkYdNbN0lhhnQ+nwh/+uLabHGB6wbQY7kJJEeRiNnVPJSLZoOKa md97i7yDxX7ZX7g26AecIQBdPkeo0UoF7E6nJsoCrlulJjV3Ls7W4WhxO 3rh+838TDncVrtxwt2pGPyVGV7BHUIUpPWabowWwGt3yeoihhnCtLGDwt mYKdN6r9fiX0j6d0ZRNfxaxsWuHalehcZCZO2g/qhHpaJ2NSyy7eBmHbC Q==; X-CSE-ConnectionGUID: 2jSUGlxRRYK/E2j9Hc5kkw== X-CSE-MsgGUID: IfSkKyr8Smeayk6lXfi4mQ== X-IronPort-AV: E=McAfee;i="6800,10657,11927"; a="130283" X-IronPort-AV: E=Sophos;i="6.27,144,1787036400"; d="scan'208";a="130283" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Oct 2026 05:46:04 -0700 X-CSE-ConnectionGUID: g2VDlvzQTWWZfeQSsUY7Mg== X-CSE-MsgGUID: 6NNRA4WUTqe3F9Wh7pkfaw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.27,144,1787036400"; d="scan'208";a="282247317" Received: from fmsmsx902.amr.corp.intel.com ([10.18.126.91]) by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Oct 2026 05:46:04 -0700 Received: from FMSMSX903.amr.corp.intel.com (10.18.126.92) by fmsmsx902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 7 Oct 2026 05:46:03 -0700 Received: from fmsedg901.ED.cps.intel.com (10.1.192.143) by FMSMSX903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49 via Frontend Transport; Wed, 7 Oct 2026 05:46:03 -0700 Received: from DM5PR21CU001.outbound.protection.outlook.com (52.101.62.3) by edgegateway.intel.com (192.55.55.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Wed, 7 Oct 2026 05:46:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=we/SlqyBSiF/iZrSsXy+RQPL/wCZQJ8Azxtp98KbSj5uUrs7AQTwXOvwDgzVwsMVF8Leib1M0h8/NzUdoCErBwqqKhKZnN9y60BC1DaajwAZK2dUfQ2rY9ykDE0ZBh5vlaURvWLgSCnZNSNGlcfwuPIzOr+K9BaKe+9g5gARyRXHbd3XUO9HrDbN9rYyNwd8ejOzRW8zNdMsTBO8+cgMSM50tLnskrV33Y47dntJPctT49Jom2+FuPlA2qrXIYoNpRodWjWTu32j1+pU5o+ndPLdbwsnMduFrDx5ijiP9xNsg3CIWoJGmGTarN7Dkv0cfag6jvwAcphlxtsLDzGItg== 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=B7rND8XyM97t7xkHF+ek/mbaCE9MxQuoJF+FQgOFFOk=; b=H82hcpL7kAVxymYB0wpsIYxuxwICORt+yhI/AecydAhn7SjOX+MOp1u+JAIhfLCJXCE+p9Tc69Bf/Fgs/ryJBLP2Ul6h3nQ6fjniui/VnKKloQgdgay6j1pMa2/HkOzS7rdJAUu6aCsiS8zVXl6bSwS/BugYTYDVClzcOYszp1Lw0YD+oUWOsT5Z+/wItal8qksyyb6GExRqdzjnzxxyhDqRpPCmuCi47hpCKCFXI/v/UXpK793cEeQil7pQrxPri2htuyV19xvalgG6X0fD9GRDO8ecBKAcRO/yhUXAHKsXfL8H42Sa/PHuomTvqQqUYrxz8DYEYloEgX7SFJ8LpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DS7PR11MB6247.namprd11.prod.outlook.com (2603:10b6:8:98::22) by MW4PR11MB7102.namprd11.prod.outlook.com (2603:10b6:303:22b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.29; Wed, 7 Oct 2026 12:45:35 +0000 Received: from DS7PR11MB6247.namprd11.prod.outlook.com ([fe80::af57:631:e7eb:3aea]) by DS7PR11MB6247.namprd11.prod.outlook.com ([fe80::af57:631:e7eb:3aea%4]) with mapi id 15.21.0451.022; Wed, 7 Oct 2026 12:45:35 +0000 From: "Rohr, Stephan" To: Eduard-Petru Jipa , "gdb-patches@sourceware.org" Subject: RE: [PATCH] gdb: don't abort shared library reload when one library fails to open Thread-Topic: [PATCH] gdb: don't abort shared library reload when one library fails to open Thread-Index: AQHdVk25SVh6dfM0lk2BuK5SW83MsLbyA2yw Date: Wed, 7 Oct 2026 12:45:35 +0000 Message-ID: References: <20261007111849.4992-1-ejipa@undo.io> In-Reply-To: <20261007111849.4992-1-ejipa@undo.io> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR11MB6247:EE_|MW4PR11MB7102:EE_ x-ms-office365-filtering-correlation-id: 5f0b756e-f6c5-450c-5ff7-08df2470e1f5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|366016|10070799003|1800799024|376014|18002099003|22082099003|13003099007|38070700021|6133799003|56012099006|3023799007|10067099003|11063799006|5023799004; x-microsoft-antispam-message-info: lmoKx3B7Xhu364XP8eBdCwuiFtH5Cuauq8HH5rp7c6wjWnLItgDxpMumAV36m3jiKvz2iGI8dbzWmya033AdbMDYWtEw35ABdPqOc1HYm3H63QPw8+F1Mp1Qfc6TDNbInhQasUMrKmXV31o2aYMT7KgGgFwwRRPgsRzkedjIa06JL3Kq82IcGbBoOIaEi/O/thO5I4Koy50+4ZJFnu+ePk/YgjxabJDC/o8a9Zb4o/8x/eDltKALDw2Ye3fMoq+GxXEs44B58FHY5Fm0W3FjllOBX6cQqsoHcG6Xjn2BYUNZAn2US6sK6giy7UkV1+/VRUmBUK+pp2wEOqRPYYGJlpCrMOv+8o6bJvV4vhBD1yuAnnAlgo0h7Q9TPOkWGkiGFhcXDofqnudGIAVAGZIclh2XuKInobDQUe/FZkAFp4GkGzbaSNyijhnb+96gVzt0qaI0XLIuElmSsD5AMoLJoI3iRwiOYD5N87Hst8xProPEEpbgnd7MA+vtXlDwvmPt04pPw8sAzbwxd0LuACImIXjcb9YSYP88wv9k5WH3ytdRT0ZTndStRZQp4W8+9DUAeKTJ9FX6V5TmpZHB5fZs5sQ+09A1ZDp7kEmRFdaqItzJjJAZe9f1ilaSuTZm0noHQ2ZV0W6KzNvzI44aMWEzAb/T6uiIvnsH1ldxu4EoHoU2/f7DWZTMu3FX8p3wB+qdMoMQGjXQhDyiamt24Nosk8QYqEGs82JhCL3fx0eSRYk= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS7PR11MB6247.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(366016)(10070799003)(1800799024)(376014)(18002099003)(22082099003)(13003099007)(38070700021)(6133799003)(56012099006)(3023799007)(10067099003)(11063799006)(5023799004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WFpySGlwWmlvWDVWc1B2YUdrdW5QZlQ3SnIxMEhTQlpoenU2aWszVkE5QTFs?= =?utf-8?B?Ym9TU25HUisrL0RnNjdPMXRoeHg5TzdBcTRUTWVQRnRQanBTV2VoLy93UjJV?= =?utf-8?B?TkRPaEVEQ1JnQ1F4dnY2Z1ppSkZ3OFNETmh3TWV0cWhjVDEyeTVidjF2TkVk?= =?utf-8?B?dWFqYUxNMm5icEFmNHMycDNnNmxvdGxrWmI0TDZVY2NlRExheWFVU3Uzamx1?= =?utf-8?B?NFlxZkp5U1IyeW9pYTVEQlVodk1zMjZ2QTFXYUZnSmxSRHJWWHR2TTJUMkJy?= =?utf-8?B?dnVobWc4UzIxL2llZU0wQzJPdDBQR2lBbVNHck96SkI3NWhmTDF3R1hJNnRx?= =?utf-8?B?NWw0a0xSNEVVaFFWenZUU0dvUFNzUzBmNmtpTnM2NFhSdzM3NE9BL1NnaEVK?= =?utf-8?B?Rk5oTFoxVmxkZjk1V1VxSllpQ0ppVXVNcm0za1k2Q0hpYlJrYklBQVFwWGdG?= =?utf-8?B?Q3pmb1RFY2JzMzJ2U2xrTEdkTEZpNWVqNHF6cHJHeVVRY2pBdmFRSGROQUxF?= =?utf-8?B?LzA3bGhzaHU4UU1pTnF3cnRsWjc5Z25jUXNETGQ1am5FWEN3ZElCMUttMUl2?= =?utf-8?B?WjhIZlFEazJCV3BmM1R1OW10dmlEempyN1FmR0dVKzBWN25QejlpVjEvQUhS?= =?utf-8?B?Vng4ZlZhT3VpR1hHSGpkM0hub3pyOC9zb3VqUndLVC9Fb0ozVm9uVEljSk40?= =?utf-8?B?T3dzb3NKNFhSSGp0M01KRDZFSWpZYUVGRVBZVTlaSmovZjQwTnZqc0pMUGt2?= =?utf-8?B?VWdiU1NSMHJvdG05Sm12bC95M3pjOHo1Z0NORkx5ZDV1eTkwNC9hNFBjRHll?= =?utf-8?B?cTQzM3NyWklBSVdXUTRyVVRpNjBiRnhWR2x5ZFIyU0l4aGJDWXdXTHVDdWEv?= =?utf-8?B?NDZNMExrMzlwbUNSKzdTQitYSXkwWlMzUWhDWXNWcnZYNUFKbWVqOTVQdVUv?= =?utf-8?B?cTI0RDhIWktjSGxpSWh3cnZYVkNZS2UxdzNSNzhUSlQvVlhZN215RUNRTFRw?= =?utf-8?B?eFRzQ0VkdVhrL2gvUTQrSEpjZW5PdXhqaWJPZnM5akFpMm4yS3UyN0JManNO?= =?utf-8?B?YWFqdERaeFNrU1Z6anpoSzJEUk5Kd3Excmhwa3NQSHhsT2NEUVdMUFJEMk9P?= =?utf-8?B?Q3UwTmhoMm1jS2gwL1JIcnA5aVJJbVNtMGd1ZUhuR3ZlemllbC95Nlg0OEtO?= =?utf-8?B?UU5UMWdQSjY4QzdObFgzMnVMZHViRzBNRTFrRWhLRGJIUUV2Ymk4bThLQnhj?= =?utf-8?B?QkN0Wm1ML3dUWWFwM3FtMEwxWXJmenE3dU9ab2ovSWdHMlpRWkR1ajNQYThV?= =?utf-8?B?cjVwcDVFSys2SkdNekl1MnArWXNFRS91MVdCbHpxWE1YczdmL09hTGxvbjRQ?= =?utf-8?B?dGFqUkhYWFNUcXV3K0IwWC8zYytnZGhHR3EvZm5iRzdLaEVpS3djSFVZNUpk?= =?utf-8?B?WGpicUdFcFVMUFIrSUlJZzQ5cGtRVFFlV2FaR0FITm83V2VYOEd5VGVObHls?= =?utf-8?B?T25EZitKREM3cmJnQytYRVNDM2tON0oxY3U5UHdvbnhGd2hDZGRIMDFLWEhI?= =?utf-8?B?clV4YzkzTVBvZnlXZUc1eDRZdHV6MXFQcmhTWkZiNEJHMTR6b0FNS1lsazcw?= =?utf-8?B?NlFFVHBZc2FSYnBNOXlBYkxnUjVpbFVVWVpicE9NVTdkREZvSFNkbkkzZlJo?= =?utf-8?B?R0tUcDY4SGlqZmZVSUIxZHVucWdMTk55Tmlqak5OcytzdU9BNVI0OUV5dmNt?= =?utf-8?B?azZvQ3FyVzhUTXFDSDZPWlcvQ1QyRlZ1dktuZTEvbmRpNlg0WWorVTFOWGhn?= =?utf-8?B?dkhZS1pYVFJBWVU1dWFPbVQ3TTdjcEZvdzhyUUJtd1ZPbGNLKzFtVm90dXJa?= =?utf-8?B?c0t3dmt1aWhyTU1JeEtFT3J6Y0w1aUgwdDRhQ2wrK093SFV6eVF1TlRIVitx?= =?utf-8?B?b0JuK1B4Vk5IUUttU2Q4aVcrY1hpaTdBeVNXNTdOM0VyV3ZqY2FlNDJPb1Zv?= =?utf-8?B?QXpidzVoQUNzQXdRRVBmeGsvaVZ3RWpWWFBTWUdWQmpZa1F1a2Z1Vy9NNENB?= =?utf-8?B?OWpYM0Nid1lub3VqMTlsUHFCci9YOTE3ekJQdXltV0xBTTQwNk9oZlFnLzJh?= =?utf-8?B?S1h1ODlpK0NzNDFYY3JhNnR6L21pdzgrcnBqb1ZHREZMOUVpMWdNYlBmYnV4?= =?utf-8?B?dkxyWWVqQUZUZHU4cW5SMzIxT1RKQy8zK1BqT1RJRVlnNFFFMTVvd2xlbDlj?= =?utf-8?B?cFhIRmNrWjNCcWREV0s0UnM0eDR0SmNQdlUwYWt3OFU3enJwazA0NnNvNGVp?= =?utf-8?B?Q0ptbURaejlZMVZiaXZNdWtONXdXeHNBK1p2K09td3k1MjQ3cGUrajVXZFZS?= =?utf-8?Q?RLJNCdYvBprHteEq7OtV74fbzNgj4yRMtPI9y?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: oYrXYVwiPJ1NX69yaxosMWXnez7Mu9zziCrOndBGIj3hhV9VPD8tzm/fBE/pXAAvpsyv+i9mFaHLygMs8QGwuSsbnaDb7EvLvvbLyFrWlTX5KhRKd6kzypcH3fK8PkjGr2itCepnErtXSfK0AB7A5SWy+WUBAZfRGuaCgCZum/UkGUcXtr9DbT6FA986+1t+fKosfnMMPygg6+scICKVGH0N1x1PB3ZUa7XEPnvE2D+p7xzl+yYoK4NBSUvoxbL2w0/1QFSGySjMgKPZOCszC1R/3rCRrChzfY9+XXDOi3mF47JTuDmYULnllKxwRl2J3S/gBj1Oe1kz96RbAJ/l9w== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB6247.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f0b756e-f6c5-450c-5ff7-08df2470e1f5 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2026 12:45:35.5666 (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: 5/vBS8MD1EHK2Y6FLmPqoDwcWy9RIk8F3luEY99drqZBjN+oZYhyDEUZNDx0T7mQlOLePbkwvvKzLJEtUE21Ig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB7102 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 SGkgRWR1YXJkLA0KDQpwbGVhc2Ugc2VlIG15IGZlZWRiYWNrIGJlbG93Og0KDQp0aGFua3MNCnN0 ZXBoYW4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBFZHVhcmQtUGV0 cnUgSmlwYSA8ZWppcGFAdW5kby5pbz4NCj4gU2VudDogV2VkbmVzZGF5LCA3IE9jdG9iZXIgMjAy NiAxMzoxOQ0KPiBUbzogZ2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmcNCj4gQ2M6IEVkdWFyZCBK aXBhIDxlamlwYUB1bmRvLmlvPg0KPiBTdWJqZWN0OiBbUEFUQ0hdIGdkYjogZG9uJ3QgYWJvcnQg c2hhcmVkIGxpYnJhcnkgcmVsb2FkIHdoZW4gb25lIGxpYnJhcnkgZmFpbHMNCj4gdG8gb3Blbg0K PiANCj4gRnJvbTogRWR1YXJkIEppcGEgPGVqaXBhQHVuZG8uaW8+DQo+IA0KPiBXaGVuIHRoZSBz ZXQgb2Ygc2hhcmVkIGxpYnJhcmllcyBpcyByZWxvYWRlZCwgZm9yIGV4YW1wbGUgYWZ0ZXINCj4g J3NldCBzeXNyb290JyBvciAnc2V0IHNvbGliLXNlYXJjaC1wYXRoJywgcmVsb2FkX3NoYXJlZF9s aWJyYXJpZXNfMQ0KPiBjYWxscyBzb2xpYl9vcHM6OmJmZF9vcGVuIGZvciBlYWNoIGxpYnJhcnkg aW4gdHVybi4gIFRoaXMgY2FuIHRocm93IGFuDQo+IGVycm9yLCBmb3IgZXhhbXBsZSBpZiB0aGUg ZmlsZSBmb3VuZCBpcyBub3QgaW4gZXhlY3V0YWJsZSBmb3JtYXQsIG9yDQo+IGl0cyBhcmNoaXRl Y3R1cmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgdGFyZ2V0Lg0KPiANCj4gTm90aGluZyBp biB0aGUgbG9vcCBjYXRjaGVzIHRoYXQgZXJyb3IsIHNvIGEgc2luZ2xlIGJhZCBsaWJyYXJ5IHN0 b3BzDQo+IHRoZSB3aG9sZSByZWxvYWQuICBBbnkgbGlicmFyaWVzIGFmdGVyIGl0IGluIHRoZSBs aXN0IGFyZSBub3QgcmVsb2FkZWQsDQo+IGFuZCB0aGUgZXJyb3IgcHJvcGFnYXRlcyBvdXQgb2Yg dGhlIGNvbW1hbmQgdGhhdCB0cmlnZ2VyZWQgdGhlIHJlbG9hZC4NCj4gDQo+IENhdGNoIHRoZSBl cnJvciwgcHJpbnQgaXQgYXMgYSB3YXJuaW5nLCBhbmQgY2Fycnkgb24gd2l0aCB0aGUgcmVzdCBv Zg0KPiB0aGUgbGlicmFyaWVzLiAgVGhpcyBtYXRjaGVzIHdoYXQgaXMgYWxyZWFkeSBkb25lIGZv ciBlcnJvcnMgZnJvbQ0KPiBzb2xpYl9tYXBfc2VjdGlvbnMgbGF0ZXIgaW4gdGhlIHNhbWUgbG9v cC4gIFRoZSBsaWJyYXJ5IHRoYXQgZmFpbGVkDQo+IHRvIG9wZW4gaXMgaGFuZGxlZCBhcyBpZiBp dCBoYWQgbm90IGJlZW4gZm91bmQuDQo+IA0KPiBBZGQgYSB0ZXN0IHRoYXQgYnVpbGRzIGEgc3lz cm9vdCBpbiB3aGljaCB0aGUgZmlyc3Qgb2YgdHdvIGxpYnJhcmllcw0KPiBpcyBub3QgYSB2YWxp ZCBvYmplY3QgZmlsZSwgYW5kIGNoZWNrcyB0aGF0IHRoZSBzZWNvbmQgbGlicmFyeSBpcw0KPiBz dGlsbCByZWxvYWRlZCBmcm9tIHRoZSBuZXcgc3lzcm9vdCBhZnRlciAnc2V0IHN5c3Jvb3QnLg0K PiANCj4gVGVzdGVkIG9uIHg4Nl82NC1saW51eCB3aXRoIG5vIHJlZ3Jlc3Npb25zLg0KPiAtLS0N Cj4gIGdkYi9zb2xpYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsr LQ0KPiAgLi4uL2dkYi5iYXNlL3NvbGliLXJlbG9hZC1lcnJvci1saWIuYyAgICAgICAgIHwgMjUg KysrKysrDQo+ICBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NvbGliLXJlbG9hZC1lcnJvci5jICAg fCAyNSArKysrKysNCj4gIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItcmVsb2FkLWVycm9y LmV4cCB8IDgxICsrKysrKysrKysrKysrKysrKysNCj4gIDQgZmlsZXMgY2hhbmdlZCwgMTQzIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3NvbGliLXJlbG9hZC1lcnJvci1saWIuYw0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItcmVsb2FkLWVycm9yLmMNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NvbGliLXJlbG9hZC1lcnJv ci5leHANCj4gDQo+IGRpZmYgLS1naXQgYS9nZGIvc29saWIuYyBiL2dkYi9zb2xpYi5jDQo+IGlu ZGV4IDdlYTMwODRiZjQ4Li5hZDk2NGUwYWZlOSAxMDA2NDQNCj4gLS0tIGEvZ2RiL3NvbGliLmMN Cj4gKysrIGIvZ2RiL3NvbGliLmMNCj4gQEAgLTE0NjMsNyArMTQ2MywxOCBAQCByZWxvYWRfc2hh cmVkX2xpYnJhcmllc18xIChpbnQgZnJvbV90dHkpDQo+ICAgICAgICBnZGI6OnVuaXF1ZV94bWFs bG9jX3B0cjxjaGFyPiBmaWxlbmFtZQ0KPiAgCT0gZ2RiX3JsX3RpbGRlX2V4cGFuZCAoc28ub3Jp Z2luYWxfbmFtZS5jX3N0ciAoKSk7DQo+IA0KPiAtICAgICAgZ2RiX2JmZF9yZWZfcHRyIGFiZmQg PSBzby5vcHMgKCkuYmZkX29wZW4gKGZpbGVuYW1lLmdldCAoKSk7DQo+ICsgICAgICBnZGJfYmZk X3JlZl9wdHIgYWJmZDsNCj4gKyAgICAgIHRyeQ0KPiArCXsNCj4gKwkgIGFiZmQgPSBzby5vcHMg KCkuYmZkX29wZW4gKGZpbGVuYW1lLmdldCAoKSk7DQo+ICsJfQ0KPiArICAgICAgY2F0Y2ggKGNv bnN0IGdkYl9leGNlcHRpb25fZXJyb3IgJmUpDQo+ICsJew0KPiArCSAgZXhjZXB0aW9uX2Zwcmlu dGYgKGdkYl9zdGRlcnIsIGUsDQo+ICsJCQkgICAgIF8oIkVycm9yIHdoaWxlIG9wZW5pbmcgc2hh cmVkIGxpYnJhcnkgYCVwcyc6XG4iKSwNCj4gKwkJCSAgICAgc3R5bGVkX3N0cmluZyAoZmlsZV9u YW1lX3N0eWxlLnN0eWxlICgpLA0KPiArCQkJCQkgICAgZmlsZW5hbWUuZ2V0ICgpKSk7DQoNCkkg dGhpbmsgdGhpcyBwcmludHMgdGhlIGZpbGVuYW1lIHR3aWNlLiAgSSB0cmllZCBpdCBsb2NhbGx5 LCBlLmcuLA0KDQpFcnJvciB3aGlsZSBvcGVuaW5nIHNoYXJlZCBsaWJyYXJ5IFsuLl0vZ2RiL3Rl c3RzdWl0ZS9vdXRwdXRzL2dkYi5iYXNlL3NvbGliLXJlbG9hZC1lcnJvci9zb2xpYi1yZWxvYWQt ZXJyb3ItbGliMS5zbyc6DQpgWy4uXS9nZGIvdGVzdHN1aXRlL291dHB1dHMvZ2RiLmJhc2Uvc29s aWItcmVsb2FkLWVycm9yL3N5c3Jvb3QvWy4uXSBcDQogIC9nZGIvdGVzdHN1aXRlL291dHB1dHMv Z2RiLmJhc2Uvc29saWItcmVsb2FkLWVycm9yL3NvbGliLXJlbG9hZC1lcnJvci1saWIxLnNvJzog XA0KICBub3QgaW4gZXhlY3V0YWJsZSBmb3JtYXQ6IGZpbGUgZm9ybWF0IG5vdCByZWNvZ25pemVk DQoNCkkgdGhpbmsgaXQgd291bGQgYmUgbmljZSB0byBzaW1wbHkgcHJpbnQNCg0KRXJyb3Igd2hp bGUgb3BlbmluZyBzaGFyZWQgbGlicmFyeSA8cGF0aCB0byBsaWI+OiA8ZXJyb3I+Lg0KDQpXb3Vs ZCB0aGF0IGJlIHBvc3NpYmxlPyAgSWYgbm90LCB3ZSBjb3VsZCBkcm9wIHRoZSBmaXJzdCBtZW50 aW9uIG9mIHRoZSBmYWlsaW5nIGxpYj8NCg0KQWxzbywgdGhlIGNvbW1pdCBtZXNzYWdlIG1lbnRp b25zICJDYXRjaCB0aGUgZXJyb3IsIHByaW50IGl0IGFzIHdhcm5pbmcgWy4uXSIgYnV0IHlvdSB1 c2UNCiJleGNlcHRpb25fcHJpbnRmIiBoZXJlLiAgRWl0aGVyIHJld29yZCB0aGUgY29tbWl0IG1l c3NhZ2Ugb3IgdXNlICJ3YXJuaW5nICgpIi4NCg0KPiArCX0NCj4gICAgICAgIGlmIChhYmZkICE9 IE5VTEwpDQo+ICAJZm91bmRfcGF0aG5hbWUgPSBiZmRfZ2V0X2ZpbGVuYW1lIChhYmZkLmdldCAo KSk7DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1yZWxv YWQtZXJyb3ItbGliLmMNCj4gYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NvbGliLXJlbG9hZC1l cnJvci1saWIuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4u N2FhYTEzZmQ2OTcNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3NvbGliLXJlbG9hZC1lcnJvci1saWIuYw0KPiBAQCAtMCwwICsxLDI1IEBADQo+ICsvKiBU aGlzIHRlc3QgcHJvZ3JhbSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4NCj4gKw0K PiArICAgQ29weXJpZ2h0IDIwMjYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo+ICsN Cj4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+ICsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KPiArICAgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCj4g KyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo+ICsNCj4gKyAgIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LA0KPiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YNCj4gKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCj4gKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ICsNCj4gKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQo+ICsgICBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4gICovDQo+ICsNCj4gKy8qIFRoaXMgZmlsZSBpcyBjb21waWxlZCB0d2ljZSwgd2l0aCBM SUJfRlVOQyBkZWZpbmVkIHRvIGEgZGlmZmVyZW50DQo+ICsgICBuYW1lIGVhY2ggdGltZS4gICov DQo+ICsNCj4gK2ludA0KPiArTElCX0ZVTkMgKHZvaWQpDQo+ICt7DQo+ICsgIHJldHVybiAwOw0K PiArfQ0KPiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1yZWxvYWQt ZXJyb3IuYw0KPiBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItcmVsb2FkLWVycm9yLmMN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjQ2NWNmN2U4MmU2 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1y ZWxvYWQtZXJyb3IuYw0KPiBAQCAtMCwwICsxLDI1IEBADQo+ICsvKiBUaGlzIHRlc3QgcHJvZ3Jh bSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4NCj4gKw0KPiArICAgQ29weXJpZ2h0 IDIwMjYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo+ICsNCj4gKyAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5DQo+ICsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KPiArICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCj4gKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo+ICsNCj4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiArICAgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YN Cj4gKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUNCj4gKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuDQo+ICsNCj4gKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQo+ICsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovDQo+ICsN Cj4gK2V4dGVybiBpbnQgbGliMV9mdW5jICh2b2lkKTsNCj4gK2V4dGVybiBpbnQgbGliMl9mdW5j ICh2b2lkKTsNCj4gKw0KPiAraW50DQo+ICttYWluICh2b2lkKQ0KPiArew0KPiArICByZXR1cm4g bGliMV9mdW5jICgpICsgbGliMl9mdW5jICgpOw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1yZWxvYWQtZXJyb3IuZXhwDQo+IGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS9zb2xpYi1yZWxvYWQtZXJyb3IuZXhwDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAwLi5hZGJhZmRlMWZiZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItcmVsb2FkLWVycm9yLmV4cA0KPiBAQCAt MCwwICsxLDgxIEBADQo+ICsjIENvcHlyaWdodCAyMDI2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLg0KPiArDQo+ICsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+ICsjIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQo+ICsjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yDQo+ICsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo+ICsjDQo+ ICsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLA0KPiArIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPiArIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQo+ICsjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ICsjDQo+ICsjIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQo+ICsjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+Lg0KPiArDQo+ICsjIENoZWNrIHRoYXQgYW4gZXJyb3Igb3BlbmluZyBvbmUgc2hh cmVkIGxpYnJhcnkgd2hpbGUgcmVsb2FkaW5nDQo+ICsjIHNoYXJlZCBsaWJyYXJpZXMgKGluIHRo aXMgY2FzZSwgdHJpZ2dlcmVkIGJ5ICdzZXQgc3lzcm9vdCcpIGRvZXMgbm90DQo+ICsjIHN0b3Ag R0RCIGZyb20gcmVsb2FkaW5nIHRoZSBzaGFyZWQgbGlicmFyaWVzIHRoYXQgY29tZSBhZnRlciBp dC4NCj4gKw0KPiArcmVxdWlyZSBhbGxvd19zaGxpYl90ZXN0cw0KPiArcmVxdWlyZSB7IWlzX3Jl bW90ZSBob3N0fQ0KPiArDQo+ICtzdGFuZGFyZF90ZXN0ZmlsZSAuYyAtbGliLmMNCj4gKw0KPiAr c2V0IGxpYjEgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9LWxpYjEuc29dDQo+ICtz ZXQgbGliMiBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgJHt0ZXN0ZmlsZX0tbGliMi5zb10NCj4gKw0K PiAraWYgeyBbZ2RiX2NvbXBpbGVfc2hsaWIgJHNyY2Rpci8kc3ViZGlyLyRzcmNmaWxlMiAkbGli MSBcDQo+ICsJICB7ZGVidWcgYWRkaXRpb25hbF9mbGFncz0tRExJQl9GVU5DPWxpYjFfZnVuY31d ICE9ICIiDQo+ICsgICAgIHx8IFtnZGJfY29tcGlsZV9zaGxpYiAkc3JjZGlyLyRzdWJkaXIvJHNy Y2ZpbGUyICRsaWIyIFwNCj4gKwkgICAgIHtkZWJ1ZyBhZGRpdGlvbmFsX2ZsYWdzPS1ETElCX0ZV TkM9bGliMl9mdW5jfV0gIT0gIiIgfSB7DQo+ICsgICAgdW50ZXN0ZWQgImZhaWxlZCB0byBjb21w aWxlIHNoYXJlZCBsaWJyYXJpZXMiDQo+ICsgICAgcmV0dXJuDQo+ICt9DQo+ICsNCj4gKyMgTGlu ayBhZ2FpbnN0IGxpYjEgZmlyc3QsIHNvIHRoYXQgaXQgaXMgYWhlYWQgb2YgbGliMiBpbiB0aGUg bGlzdCBvZg0KPiArIyBzaGFyZWQgbGlicmFyaWVzIHRoYXQgR0RCIHJlbG9hZHMuDQo+ICtpZiB7 IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNm aWxlIFwNCj4gKwkgIFtsaXN0IGRlYnVnIHNobGliPSRsaWIxIHNobGliPSRsaWIyXV0gfSB7DQo+ ICsgICAgcmV0dXJuDQo+ICt9DQo+ICsNCj4gK2dkYl9sb2FkX3NobGliICRsaWIxDQo+ICtnZGJf bG9hZF9zaGxpYiAkbGliMg0KPiArDQo+ICtpZiB7ICFbcnVudG9fbWFpbl0gfSB7DQo+ICsgICAg cmV0dXJuDQo+ICt9DQo+ICsNCj4gKyMgVGhlIHJlc3Qgb2YgdGhlIHRlc3QgcmVsaWVzIG9uIGxp YjEgYmVpbmcgcmVsb2FkZWQgYmVmb3JlIGxpYjIuDQo+ICtpZiB7IFtnZGJfdGVzdCAiaW5mbyBz aGFyZWRsaWJyYXJ5IiBcDQo+ICsJICAiW3N0cmluZ190b19yZWdleHAgJGxpYjFdXHJcbi4qW3N0 cmluZ190b19yZWdleHAgJGxpYjJdXHJcbi4qIiBcDQo+ICsJICAibGliMSBpcyBhaGVhZCBvZiBs aWIyIGluIHRoZSBsaXN0Il0gIT0gMCB9IHsNCj4gKyAgICByZXR1cm4NCj4gK30NCj4gKw0KPiAr IyBCdWlsZCBhIHN5c3Jvb3QgaW4gd2hpY2ggbGliMSBpcyBub3QgYSB2YWxpZCBvYmplY3QgZmls ZSwgYnV0IGxpYjINCj4gKyMgaXMgYSBnb29kIGNvcHkgb2YgdGhlIHJlYWwgbGlicmFyeS4NCj4g K3NldCBzeXNyb290IFtzdGFuZGFyZF9vdXRwdXRfZmlsZSBzeXNyb290XQ0KPiArc2V0IHN5c3Jv b3RfbGliMSAkc3lzcm9vdCRsaWIxDQo+ICtzZXQgc3lzcm9vdF9saWIyICRzeXNyb290JGxpYjIN Cj4gK2ZpbGUgZGVsZXRlIC1mb3JjZSAkc3lzcm9vdA0KPiArZmlsZSBta2RpciBbZmlsZSBkaXJu YW1lICRzeXNyb290X2xpYjFdDQo+ICtzZXQgZmQgW29wZW4gJHN5c3Jvb3RfbGliMSB3XQ0KPiAr cHV0cyAkZmQgIlRoaXMgaXMgbm90IGFuIG9iamVjdCBmaWxlLiINCj4gK2Nsb3NlICRmZA0KPiAr ZmlsZSBjb3B5ICRsaWIyICRzeXNyb290X2xpYjINCj4gKw0KPiArIyBDaGFuZ2luZyB0aGUgc3lz cm9vdCByZWxvYWRzIGV2ZXJ5IHNoYXJlZCBsaWJyYXJ5LiAgT3BlbmluZyBsaWIxDQo+ICsjIGZh aWxzLCBhbmQgR0RCIHNob3VsZCByZXBvcnQgdGhhdCBhbmQgY2Fycnkgb24uDQo+ICtnZGJfdGVz dCAic2V0IHN5c3Jvb3QgJHN5c3Jvb3QiIFwNCj4gKyAgICAiRXJyb3Igd2hpbGUgb3BlbmluZyBz aGFyZWQgbGlicmFyeSBgW3N0cmluZ190b19yZWdleHAgJGxpYjFdJzpcclxuLipub3QgaW4NCj4g ZXhlY3V0YWJsZSBmb3JtYXQuKiIgXA0KPiArICAgICJzZXQgc3lzcm9vdCB3aXRoIGJhZCBsaWIx Ig0KPiArDQo+ICsjIGxpYjIgY29tZXMgYWZ0ZXIgbGliMSBpbiB0aGUgbGlzdCwgc28gaXQgaXMg b25seSByZWxvYWRlZCBmcm9tIHRoZQ0KPiArIyBuZXcgc3lzcm9vdCBpZiB0aGUgZXJyb3Igb3Bl bmluZyBsaWIxIGRpZCBub3Qgc3RvcCB0aGUgcmVsb2FkLg0KPiArZ2RiX3Rlc3QgImluZm8gc2hh cmVkbGlicmFyeSIgXA0KPiArICAgICJcclxuJGhleFxbIFx0XF0rJGhleFxbIFx0XF0rWWVzXFte XHJcblxdKltzdHJpbmdfdG9fcmVnZXhwDQoNCkNvdWxkIHlvdSBhbHNvIGNvdmVyIGxpYjEsIGku ZS4sIGVuc3VyZSBpdCBpcyBub3QgbG9hZGVkPw0KDQo+ICRzeXNyb290X2xpYjJdXHJcbi4qIiBc DQo+ICsgICAgImxpYjIgaXMgcmVsb2FkZWQgZnJvbSB0aGUgbmV3IHN5c3Jvb3QiDQo+ICsNCj4g K2dkYl90ZXN0ICJpbmZvIHN5bWJvbCBsaWIyX2Z1bmMiICJsaWIyX2Z1bmMgaW4gc2VjdGlvbiBc XC50ZXh0IG9mDQo+IFtzdHJpbmdfdG9fcmVnZXhwICRzeXNyb290X2xpYjJdIg0KPiAtLQ0KPiAy LjQzLjANCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KSW50ZWwg RGV1dHNjaGxhbmQgR21iSCANCg0KUmVnaXN0ZXJlZCBBZGRyZXNzOiBEb3JuYWNoZXIgU3RyYXNz ZSAxLCA4NTYyMiBGZWxka2lyY2hlbiwgR2VybWFueSANCg0KVGVsOiArNDkgKDg5KSA5OTE0My0w IA0KDQp3d3cuaW50ZWwuZGUgDQoNCk1hbmFnaW5nIERpcmVjdG9yczogQ2FuZGljZSBNb29yZSwg SmVmZnJleSBTY2huZWlkZXJtYW4sIFJhbWFjaGFuZHJhbiBTaXRhcmFtYW4NCg0KQ2hhaXJwZXJz b24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBTb25qYSBQaWVyZXINCg0KUmVnaXN0ZXJlZCBT ZWF0OiBNdW5pY2ggQ29tbWVyY2lhbCBSZWdpc3RlciBCOiBBbXRzZ2VyaWNodCBNdW5pY2ggSFJC IDE4NjkyOA0KDQpUaGlzIGUtbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250YWluIGNv bmZpZGVudGlhbCBtYXRlcmlhbCBmb3INCnRoZSBzb2xlIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVj aXBpZW50KHMpLiBBbnkgcmV2aWV3IG9yIGRpc3RyaWJ1dGlvbg0KYnkgb3RoZXJzIGlzIHN0cmlj dGx5IHByb2hpYml0ZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZA0KcmVjaXBpZW50LCBw bGVhc2UgY29udGFjdCB0aGUgc2VuZGVyIGFuZCBkZWxldGUgYWxsIGNvcGllcy4K