From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by sourceware.org (Postfix) with ESMTPS id 5753A3858C54 for ; Wed, 26 Jul 2023 11:55:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5753A3858C54 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1690372510; x=1721908510; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=P+fdxuH1UuczIdFfsz84wO8rs3d64QO4eF357gSPDSM=; b=CbDbleTIFycEPxFT/NGocU/5iFZUZs8AyaeAfi2S980ODxHeAqoJVof+ eECJdwuk0e/Su5COhu+6c5zQb1Cd7xXGiQk6UkzDbvWA/rAGyvOAFqYy+ aFR4AVSiQISMVhYTJe5YAYDXvHV+jRVV+thr0p8WZv25CFM4P3a2aHzEH y6rEU3r0BXuROoU4o1QtS4iETQEYET3+cwTvFPeo8oxhdniF7tb3OYgNJ 5WZiRD/oSDE+WSrXztHgrGAPAaS+k/k0BhnQwaRs4u4KpzKrb+E5LNzOa xLsap49itYwSJks2nBISY/vGo7q1BI/fKobbZu6M/doieIw1veX3/+YbI w==; X-IronPort-AV: E=McAfee;i="6600,9927,10782"; a="454372618" X-IronPort-AV: E=Sophos;i="6.01,231,1684825200"; d="scan'208";a="454372618" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jul 2023 04:51:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10782"; a="840225221" X-IronPort-AV: E=Sophos;i="6.01,231,1684825200"; d="scan'208";a="840225221" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga002.fm.intel.com with ESMTP; 26 Jul 2023 04:51:20 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 26 Jul 2023 04:51:20 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Wed, 26 Jul 2023 04:51:20 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.172) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Wed, 26 Jul 2023 04:51:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g8FXgr856bXkOXxb5Pny+PDmk0OBbM4z+Azn9eOkBD8SuxTImkugBvpRfhKFWYxIrGPe60ickjNQeJiNRttHpX6pPA9lOFdfqix+yANVALuhi13AmztfTPaok2dohTXh/+sFdueDjppSmmxcOineX0aUgagNzMaBv7iQN4pPuj7RxsTOW3mOe4h43IeKZBHR6jVEoBbBee/r1rSjCreUjfNRgUMfYEv3t0ZAmYql11okBO8yN8Hw9cC22PVTukteFnfiu5Jpt4D0AjhZu7DKfph5ocreuHYMqDlgOSOnvHfp8J6lKdk4sWXhVX5S00pjJ2aIzGfWNOr4tR/zyE0vvA== 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=6M+AbtFLy0f7v6X4ZJJcWmObpEnRfEIM5RwUYhBxB88=; b=YmDWrtU1Dmy4vlAvz0kgIuDhRGvRNSGSqiTJjAFb+mXxkJ6N0cuUbDmzHPLFpK0EgS6x5gYsoyADs6SEQ1inefG+sTqTv7PuTY20bNbIEL/TjVPEh/xcbtdOlu+TCwz9PSCYDsw3CIozRnE9eMPHGdFm3LEYwR1+xQ7wQyWb9img7ccphknWGdVlNNeRo30WesrZNfmPj8kOwwj2Q7z9djd6V3jYA359PpLuc5gZ/Rf3zHq24HArUTjG183WUNbiEo2J1lcbywJALO8cs5UfKGXcK1CLVCkZtfYqPhOOYxHavTfCOjL2F5Xmb9sEzB29IEHKccjM55e4/QdyEMlgxg== 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 DM6PR11MB3084.namprd11.prod.outlook.com (2603:10b6:5:6c::21) by DS0PR11MB7901.namprd11.prod.outlook.com (2603:10b6:8:f4::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.31; Wed, 26 Jul 2023 11:51:18 +0000 Received: from DM6PR11MB3084.namprd11.prod.outlook.com ([fe80::a4d9:309d:380d:6a91]) by DM6PR11MB3084.namprd11.prod.outlook.com ([fe80::a4d9:309d:380d:6a91%2]) with mapi id 15.20.6631.026; Wed, 26 Jul 2023 11:51:18 +0000 From: "Puputti, Matti" To: Andrew Burgess , "gdb-patches@sourceware.org" Subject: RE: [PATCH v4 1/1] gdb, infcmd: Support jump command in multi-inferior case. Thread-Topic: [PATCH v4 1/1] gdb, infcmd: Support jump command in multi-inferior case. Thread-Index: AQHZqZ9yFVxdv8RscUW2UBEiaD+G+6+ptycAgCJPlKA= Date: Wed, 26 Jul 2023 11:51:18 +0000 Message-ID: References: <20230628090037.1690149-1-matti.puputti@intel.com> <87ilazlp21.fsf@redhat.com> In-Reply-To: <87ilazlp21.fsf@redhat.com> Accept-Language: en-GB, 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: DM6PR11MB3084:EE_|DS0PR11MB7901:EE_ x-ms-office365-filtering-correlation-id: 5664c354-f4d3-4c90-03a6-08db8dce9fae x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: D3DI4hvXJ9FpU43HKsI1B+AG7+EVfVSJBxcwKYw6tm6bwve/LfBfVW3H2ZK2TpI17VEMe8bjhHS5VkatuMZEcYDnWsG3f+RJKhTqpCvEN1Pigf7TuIThN8sRcwcaZbDMUwQFVhhpkX5oq37bVyVBU8YFrKDNPgVErTjBNQnfou8j50AIuJZnnMSf7ChURgSRJBLLj9cSnltBQ092FzQWWNoKvgUeqbutJ52NWO2vdiePsfnaKoJD0KHYLhsFJPIva+WaBcTuu40lDJz2LSr+3tykdVD2mJGJNv3mVqoDyOTRKH8BJ+HfhakV83jIqQMEDIRdYqGSVxfXHyob3Z1VQ0cxtDYua2AxmoVGtk4jriAN0TzS3lAbuX0hiI9VPd76LqvmmdhEn6IwS9cBHnDwDmt7KMboVGfwYt89CftGVz5kONUIHPc0ZLZNB3+ERtVfrdJd3E92fgm6OPoosi7NUWQTj3hPkS4Q1kB9PRGnS9KMcdzNP7qdH2kpeEOBVe99WIEICAvkt2+iHU09nJMt/sREnQFlCYS59A1YJdWnwBHlVdiDdYG/kGYuxzzZUy1inQPfxQtRZImv+x0vbve8L7nbc0XAlMXXCdXMeHzcGPo= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB3084.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39860400002)(136003)(396003)(376002)(346002)(451199021)(83380400001)(33656002)(41300700001)(52536014)(8676002)(5660300002)(55016003)(8936002)(9686003)(966005)(7696005)(15974865002)(478600001)(110136005)(53546011)(66476007)(66946007)(66556008)(66446008)(64756008)(76116006)(316002)(6506007)(71200400001)(38100700002)(30864003)(84970400001)(86362001)(82960400001)(186003)(2906002)(38070700005)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QjB2Tis4S2cwbHFjdDU3VGkva09EYmZHNEJEV241T0FVOTl6NDg3dCs3OU5h?= =?utf-8?B?QWg5c0o4dGRYUncyTU5DMytwQUVzUjZma0tZS2czN0s2K0tia1QwYVozWGNY?= =?utf-8?B?L0ZhdU1KVm1DSGdzeHhub0JVY0o1NWJhZWhBWlBGUzFhdk4yRWxhTzJRb0xB?= =?utf-8?B?WUZRb0lMY0VkRmMybHlpM0hGT0RCTmMwMFNuVlpoOGxnZkNlZExQdlF6T3Ir?= =?utf-8?B?V1dQSHltKzh3YlkvbkxzYTB4MmNOK0RTckRWYlhwV2p2Z0lBRk5vMnMrNTg3?= =?utf-8?B?T2hqZWJRZEFoVWlWOTFTTGw1UmdyaS9UYXREZHkrVkNvNXZScVg5dnArNndn?= =?utf-8?B?WWxXUGM4OEYyV1k5ZGJKNjFrSW1oTWM4eUxTdC9Fb2hpMkhnY0hULzQyY0Jk?= =?utf-8?B?MXdOUHByaTB3ZWNFTU9sNlFQWTUzYnM2TjhiZ2YrQ2E2UE5RaXRsU0dkR21U?= =?utf-8?B?MGVoNGxQVUtVTG1RVnFuSHByK1FMS3ptOTBYd1IrVVpTRmxTbEVkTXNXYWxB?= =?utf-8?B?V3RxdVVhL3MxZG5TUHBvelhyeElHY2o0d00vdUJOd1U2N0J5U01CcFF0b1hJ?= =?utf-8?B?cFd4V29DZ1hoWm44UmplWDNTemZ6M2ZNbWU5Nmt0V0xHR3p1NlYvam5KclZH?= =?utf-8?B?MlVRWU1YdFhOMjJubWsvV2h5SDRmWFNXUDFHT3BwdDdZRE4ydEVqWm9WSGJk?= =?utf-8?B?WUh2YWZmTmhScUJLMDBVSDdvMjFSVnptb01EOVVaWng5L1hQZGR6Z0RwanJj?= =?utf-8?B?S2FIdURUaVQ1YzFISHJOa3gzUG1PeFk3Z3dlQ0loYm05TkRXdG1ZS0dyMG5Q?= =?utf-8?B?QWJKZXhwS0hPcnVFd0QwbUVuSFpLb3lJblJqVE10N0M5WUhBdTJzN2JWbzJN?= =?utf-8?B?bW5KNThYd04rTXBRQU5ySEEzbXQ1dWV0ZmFWSjBmNlN3alVLOHZQaUFETmlm?= =?utf-8?B?MXFtL0tUVkVMMHhPQWI4Nnp1VWYyTVVaUVhENSsrNDZKV2JkZFk2ODF4dkJy?= =?utf-8?B?MWJMam5HSk9kS2pBaXR4U1FtcndmZFdZVXZIb3dtaFk2SnU4dnhDT1RuS1RY?= =?utf-8?B?d0p5YkY2dkNnTFZnNEJRVUVrbHZVUCs5WWU1a3NBbytNVkNTSFRMVDE4aVc5?= =?utf-8?B?SVY2b2JneDlNSkc4VExXT0ZZRi8rRnhITE1zTnczOW1VTUoreENyV3VEekc1?= =?utf-8?B?TUIvNmRXQnpWMFFDYURtV0paOWtiRHUyUm5Bc1UyYlR0TlR0TUdXQWp1NGJz?= =?utf-8?B?RkdPVDFsU3g5UHc4eGUxVVNsNGdyT1hmQnZYYmNsZVNMcGZnNXJRTGc3MGxn?= =?utf-8?B?V2I5dnRkbzVxOXFwV2ozRlhqc0doaldmM3NYTlZIZzNRcWk5MjlTOTREdHdE?= =?utf-8?B?N1pGOHltZGlIb0FlZDV6V2RGZlQ3Y2hqUWdyVSszU1pOZlFDbXQ3UGNFL3lC?= =?utf-8?B?OGRVai9JK1UrazErN212NzdkdGlubU1ydXRBb29CRXJmR2oxaTlXbXZoNDg4?= =?utf-8?B?cUJuMlVjbTFKOVJIZitkVGxaaXZ0UnNkOXdJTC9hQlhRUndBUE1LNXJNSkRi?= =?utf-8?B?UGhtWGdJV3plTk9tWkxzNHZiRitaTjJQWHR5RjdYbXVaV2Y4d3dTbS9sMEQ2?= =?utf-8?B?djB1eThPdDhodXROT21yMGpGeG1CWHE5RndiRm91WjNlSEFtbFlHNytTSnRU?= =?utf-8?B?VHY5ZFViaFJldndLS2ZVKzRJTFIxNUswTnpHUU1JVkNTMzVXSnVHV3VIMjV4?= =?utf-8?B?R01xWld6RzNKWXNvS3dseVBWUkk3YmRwUnpUWU9TaXgvTlFjSldCN2xBSlJ1?= =?utf-8?B?c0h0REhMN29aYVpackZVaFkyNG5SQkVpMDRpVDZxODR1eDRXZWxJMGZtdjJG?= =?utf-8?B?WC9VQW5KT3A1OXVUekcrYTlRUkErSks4bVc1SktaM21JdzBHL3ZTN3FxWjVQ?= =?utf-8?B?MHpLN1ArMVJzK21hTTVDQlh1YWt1NnpvY1pCeTNWS2hNTHF1TDh1QkhCTlkr?= =?utf-8?B?blkwUkVaK3d3WmVWMW9pZVRZOVZZb0k0amliRGcyMEo1NG01SC9kYXROVnNS?= =?utf-8?B?bVpHY3hHdnp5bUhyRzNvOWNhV1FRUTg2VGQ0a0ROb05GOVFWUjFpbkhxOHBX?= =?utf-8?Q?ZrdU=3D?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3084.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5664c354-f4d3-4c90-03a6-08db8dce9fae X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jul 2023 11:51:18.4547 (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: djwqVKQzc9YqR5gj3PqhkwZj5cxUna+nQZf20JYzHm7O2pAaZnL+M2iLZb+T2YHI1gBT+ewaOQQr1as8HzMgOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7901 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-12.2 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,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: SGkgQW5kcmV3LA0KDQpJIGFtIHNvcnJ5IHRvIHRha2Ugc3VjaCBhIGxvbmcgdGltZSB0byByZWFj dCBvbiB5b3VyIGxhdGVzdCBjb21tZW50cy4NCg0KSSBoYXZlIHVwbG9hZGVkIHBhdGNoIDUsIGlu IHdoaWNoIEkgcmV2ZXJ0ZWQgdGhlIGNvbW1lbnQgY2hhbmdlLCBhcyB5b3UgcHJvcG9zZWQuDQpJ biBhZGRpdGlvbiB0byB0aGF0LCB0aGlzIHBhdGNoIG1ha2VzIGZvbGxvd2luZyBjaGFuZ2VzIGlu IGdkYi5iYXNlL2p1bXAuZXhwOg0KLQlSZW1vdmUgYXR0cmlidXRlIOKAmGRlYnVn4oCZIGZyb20g 4oCYcHJlcGFyZV9mb3JfdGVzdGluZ+KAmS4gVGhpcyBhdHRyaWJ1dGUgaXMgcGFzc2VkIGJ5IGRl ZmF1bHQuDQotCVJlbmFtZSDigJgkaW5mZXJpb3Jz4oCZICB0byDigJgkbnVtX2luZmVyaW9yc+KA mS4gTmV3IG5hbWUgaXMgbW9yZSBkZXNjcmlwdGl2ZS4NCi0JQ2FsbCDigJhydW50b19tYWlu4oCZ IG9uY2UgYmVmb3JlIHRoZSBsb29wLCBhbmQgc3RhcnQgdGhlIGxvb3AgZnJvbSDigJgy4oCZLiBT aW1wbGlmaWVzIGNvZGUgYnkgcmVtb3ZpbmcgdGhlIOKAmGlmIHskaW5mICE9IDF94oCZDQotCVJl bW92ZSDigJhnZGJfZXhpdOKAmSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLg0KDQpQYXRjaCAxOiBo dHRwczovL3NvdXJjZXdhcmUub3JnL3BpcGVybWFpbC9nZGItcGF0Y2hlcy8yMDIzLUZlYnJ1YXJ5 LzE5NzI2OS5odG1sDQpDb21tZW50cyBvbiBwYXRjaCAxOiBodHRwczovL3NvdXJjZXdhcmUub3Jn L3BpcGVybWFpbC9nZGItcGF0Y2hlcy8yMDIzLUZlYnJ1YXJ5LzE5NzI3MS5odG1sDQpQYXRjaCAy OiBodHRwczovL3NvdXJjZXdhcmUub3JnL3BpcGVybWFpbC9nZGItcGF0Y2hlcy8yMDIzLUZlYnJ1 YXJ5LzE5NzMwMi5odG1sDQpDb21tZW50cyBvbiBwYXRjaCAyOiBodHRwczovL3NvdXJjZXdhcmUu b3JnL3BpcGVybWFpbC9nZGItcGF0Y2hlcy8yMDIzLUFwcmlsLzE5OTA1NS5odG1sDQpQYXRjaCAz OiBodHRwczovL3NvdXJjZXdhcmUub3JnL3BpcGVybWFpbC9nZGItcGF0Y2hlcy8yMDIzLUFwcmls LzE5OTA5NS5odG1sDQpDb21tZW50cyBvbiBwYXRjaCAzOiBodHRwczovL3NvdXJjZXdhcmUub3Jn L3BpcGVybWFpbC9nZGItcGF0Y2hlcy8yMDIzLU1heS8xOTk4NTMuaHRtbA0KUGF0Y2ggNDogaHR0 cHM6Ly9zb3VyY2V3YXJlLm9yZy9waXBlcm1haWwvZ2RiLXBhdGNoZXMvMjAyMy1KdW5lLzIwMDUy NC5odG1sDQpDb21tZW50cyBvbiBwYXRjaCA0OiBodHRwczovL3NvdXJjZXdhcmUub3JnL3BpcGVy bWFpbC9nZGItcGF0Y2hlcy8yMDIzLUp1bHkvMjAwNjQxLmh0bWwNClBhdGNoIDU6IGh0dHBzOi8v c291cmNld2FyZS5vcmcvcGlwZXJtYWlsL2dkYi1wYXRjaGVzLzIwMjMtSnVseS8yMDExMjMuaHRt bA0KDQpCciwNCk1hdHRpIFB1cHV0dGkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiBGcm9tOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0LmNvbT4NCj4gU2VudDogVHVl c2RheSwgSnVseSA0LCAyMDIzIDQ6MzkgUE0NCj4gVG86IFB1cHV0dGksIE1hdHRpIDxtYXR0aS5w dXB1dHRpQGludGVsLmNvbT47IGdkYi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnDQo+IFN1YmplY3Q6 IFJlOiBbUEFUQ0ggdjQgMS8xXSBnZGIsIGluZmNtZDogU3VwcG9ydCBqdW1wIGNvbW1hbmQgaW4g bXVsdGktDQo+IGluZmVyaW9yIGNhc2UuDQo+IA0KPiBNYXR0aSBQdXB1dHRpIDxtYXR0aS5wdXB1 dHRpQGludGVsLmNvbT4gd3JpdGVzOg0KPiANCj4gPiBGaXhlcyB0aGUgaXNzdWUgd2hlcmUganVt cCBmYWlsZWQgaWYgbXVsdGlwbGUgaW5mZXJpb3JzIHJ1biB0aGUgc2FtZSBzb3VyY2UuDQo+ID4N Cj4gPiBTZWUgdGhlIGJlbG93IGV4YW1wbGUNCj4gPg0KPiA+ICAgICAkIGdkYiAtcSAuL3NpbXBs ZQ0KPiA+ICAgICBSZWFkaW5nIHN5bWJvbHMgZnJvbSAuL3NpbXBsZS4uLg0KPiA+ICAgICAoZ2Ri KSBicmVhayAyDQo+ID4gICAgIEJyZWFrcG9pbnQgMSBhdCAweDExNGU6IGZpbGUgc2ltcGxlLmMs IGxpbmUgMi4NCj4gPiAgICAgKGdkYikgcnVuDQo+ID4gICAgIFN0YXJ0aW5nIHByb2dyYW06IC90 ZW1wL3NpbXBsZQ0KPiA+DQo+ID4gICAgIEJyZWFrcG9pbnQgMSwgbWFpbiAoKSBhdCBzaW1wbGUu YzoyDQo+ID4gICAgIDIgICAgICAgICBpbnQgYSA9IDQyOw0KPiA+ICAgICAoZ2RiKSBhZGQtaW5m ZXJpb3INCj4gPiAgICAgW05ldyBpbmZlcmlvciAyXQ0KPiA+ICAgICBBZGRlZCBpbmZlcmlvciAy IG9uIGNvbm5lY3Rpb24gMSAobmF0aXZlKQ0KPiA+ICAgICAoZ2RiKSBpbmZlcmlvciAyDQo+ID4g ICAgIFtTd2l0Y2hpbmcgdG8gaW5mZXJpb3IgMiBbPG51bGw+XSAoPG5vZXhlYz4pXQ0KPiA+ICAg ICAoZ2RiKSBpbmZvIGluZmVyaW9ycw0KPiA+ICAgICAgIE51bSAgRGVzY3JpcHRpb24gICAgICAg Q29ubmVjdGlvbiAgICAgICAgICAgRXhlY3V0YWJsZQ0KPiA+ICAgICAgIDEgICAgcHJvY2VzcyA2 MjUwICAgICAgMSAobmF0aXZlKSAgICAgICAgICAgL3RlbXAvc2ltcGxlDQo+ID4gICAgICogMiAg ICA8bnVsbD4gICAgICAgICAgICAxIChuYXRpdmUpDQo+ID4gICAgIChnZGIpIGZpbGUgLi9zaW1w bGUNCj4gPiAgICAgUmVhZGluZyBzeW1ib2xzIGZyb20gLi9zaW1wbGUuLi4NCj4gPiAgICAgKGdk YikgcnVuDQo+ID4gICAgIFN0YXJ0aW5nIHByb2dyYW06IC90ZW1wL3NpbXBsZQ0KPiA+DQo+ID4g ICAgIFRocmVhZCAyLjEgInNpbXBsZSIgaGl0IEJyZWFrcG9pbnQgMSwgbWFpbiAoKSBhdCBzaW1w bGUuYzoyDQo+ID4gICAgIDIgICAgICAgICBpbnQgYSA9IDQyOw0KPiA+ICAgICAoZ2RiKSBpbmZv IGluZmVyaW9ycw0KPiA+ICAgICAgIE51bSAgRGVzY3JpcHRpb24gICAgICAgQ29ubmVjdGlvbiAg ICAgICAgICAgRXhlY3V0YWJsZQ0KPiA+ICAgICAgIDEgICAgcHJvY2VzcyA2MjUwICAgICAgMSAo bmF0aXZlKSAgICAgICAgICAgL3RlbXAvc2ltcGxlDQo+ID4gICAgICogMiAgICBwcm9jZXNzIDY3 MDUgICAgICAxIChuYXRpdmUpICAgICAgICAgICAvdGVtcC9zaW1wbGUNCj4gPiAgICAgKGdkYikg anVtcCAzDQo+ID4gICAgIFVucmVhc29uYWJsZSBqdW1wIHJlcXVlc3QNCj4gPiAgICAgKGdkYikN Cj4gPg0KPiA+IEluIHRoaXMgZXhhbXBsZSwganVtcCBmYWlscyBiZWNhdXNlIHRoZSBkZWJ1Z2dl ciBmaW5kcyB0d28gZGlmZmVyZW50DQo+ID4gbG9jYXRpb25zLCBvbmUgZm9yIGVhY2ggaW5mZXJp b3IuDQo+ID4gU29sdXRpb24gaXMgdG8gbGltaXQgdGhlIHNlYXJjaCB0byB0aGUgY3VycmVudCBw cm9ncmFtIHNwYWNlLg0KPiANCj4gSSBoYXZlIG9uZSBsYXN0IG5pdC4uLg0KPiANCj4gPiAtLS0N Cj4gPiAgZ2RiL2luZmNtZC5jICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQ0KPiA+ICBnZGIv bGluZXNwZWMuYyAgICAgICAgICAgICAgICAgIHwgICAzICstDQo+ID4gIGdkYi9saW5lc3BlYy5o ICAgICAgICAgICAgICAgICAgfCAgIDMgKy0NCj4gPiAgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9q dW1wLmV4cCB8IDE3NyArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQ0KPiA+ICA0IGZp bGVzIGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKyksIDg2IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4g ZGlmZiAtLWdpdCBhL2dkYi9pbmZjbWQuYyBiL2dkYi9pbmZjbWQuYw0KPiA+IGluZGV4IDE1NzAy Zjg0ODk0Li45NmM1ZmVhZmIxYSAxMDA2NDQNCj4gPiAtLS0gYS9nZGIvaW5mY21kLmMNCj4gPiAr KysgYi9nZGIvaW5mY21kLmMNCj4gPiBAQCAtMTA2OCw3ICsxMDY4LDcgQEAganVtcF9jb21tYW5k IChjb25zdCBjaGFyICphcmcsIGludCBmcm9tX3R0eSkNCj4gPiAgICAgIGVycm9yX25vX2FyZyAo Xygic3RhcnRpbmcgYWRkcmVzcyIpKTsNCj4gPg0KPiA+ICAgIHN0ZDo6dmVjdG9yPHN5bXRhYl9h bmRfbGluZT4gc2Fscw0KPiA+IC0gICAgPSBkZWNvZGVfbGluZV93aXRoX2xhc3RfZGlzcGxheWVk IChhcmcsIERFQ09ERV9MSU5FX0ZVTkZJUlNUTElORSk7DQo+ID4gKyAgICA9IGRlY29kZV9saW5l X3dpdGhfY3VycmVudF9zb3VyY2UgKGFyZywgREVDT0RFX0xJTkVfRlVORklSU1RMSU5FKTsNCj4g PiAgICBpZiAoc2Fscy5zaXplICgpICE9IDEpDQo+ID4gICAgICB7DQo+ID4gICAgICAgIC8qIElm IG11bHRpcGxlIHNhbC1vYmplY3RzIHdlcmUgZm91bmQsIHRyeSBkcm9wcGluZyB0aG9zZSB0aGF0 IGFyZW4ndA0KPiA+IGRpZmYgLS1naXQgYS9nZGIvbGluZXNwZWMuYyBiL2dkYi9saW5lc3BlYy5j DQo+ID4gaW5kZXggN2Q5NjlmMzdmYmYuLmFmYTllYjRkM2FjIDEwMDY0NA0KPiA+IC0tLSBhL2dk Yi9saW5lc3BlYy5jDQo+ID4gKysrIGIvZ2RiL2xpbmVzcGVjLmMNCj4gPiBAQCAtMzIyMCw3ICsz MjIwLDggQEAgZGVjb2RlX2xpbmVfd2l0aF9jdXJyZW50X3NvdXJjZSAoY29uc3QgY2hhcg0KPiAq c3RyaW5nLCBpbnQgZmxhZ3MpDQo+ID4gICAgbG9jYXRpb25fc3BlY191cCBsb2NzcGVjID0gc3Ry aW5nX3RvX2xvY2F0aW9uX3NwZWMgKCZzdHJpbmcsDQo+ID4gIAkJCQkJCSAgICAgIGN1cnJlbnRf bGFuZ3VhZ2UpOw0KPiA+ICAgIHN0ZDo6dmVjdG9yPHN5bXRhYl9hbmRfbGluZT4gc2Fscw0KPiA+ IC0gICAgPSBkZWNvZGVfbGluZV8xIChsb2NzcGVjLmdldCAoKSwgZmxhZ3MsIE5VTEwsIGN1cnNh bC5zeW10YWIsIGN1cnNhbC5saW5lKTsNCj4gPiArICAgID0gZGVjb2RlX2xpbmVfMSAobG9jc3Bl Yy5nZXQgKCksIGZsYWdzLCBjdXJzYWwucHNwYWNlLCBjdXJzYWwuc3ltdGFiLA0KPiA+ICsJCSAg ICBjdXJzYWwubGluZSk7DQo+ID4NCj4gPiAgICBpZiAoKnN0cmluZykNCj4gPiAgICAgIGVycm9y IChfKCJKdW5rIGF0IGVuZCBvZiBsaW5lIHNwZWNpZmljYXRpb246ICVzIiksIHN0cmluZyk7DQo+ ID4gZGlmZiAtLWdpdCBhL2dkYi9saW5lc3BlYy5oIGIvZ2RiL2xpbmVzcGVjLmgNCj4gPiBpbmRl eCBkNWU3MzM0ZmUyZC4uYzBlZWY3ODk0ZDkgMTAwNjQ0DQo+ID4gLS0tIGEvZ2RiL2xpbmVzcGVj LmgNCj4gPiArKysgYi9nZGIvbGluZXNwZWMuaA0KPiA+IEBAIC0xMzksNyArMTM5LDggQEAgZXh0 ZXJuIHN0ZDo6dmVjdG9yPHN5bXRhYl9hbmRfbGluZT4NCj4gZGVjb2RlX2xpbmVfd2l0aF9jdXJy ZW50X3NvdXJjZQ0KPiA+ICAgICAgKGNvbnN0IGNoYXIgKiwgaW50KTsNCj4gPg0KPiA+ICAvKiBH aXZlbiBhIHN0cmluZywgcmV0dXJuIHRoZSBsaW5lIHNwZWNpZmllZCBieSBpdCwgdXNpbmcgdGhl IGxhc3QgZGlzcGxheWVkDQo+ID4gLSAgIGNvZGVwb2ludCdzIHZhbHVlcyBhcyBkZWZhdWx0cywg b3Igbm90aGluZyBpZiB0aGV5IGFyZW4ndCB2YWxpZC4gICovDQo+ID4gKyAgIGNvZGVwb2ludCdz IHZhbHVlcyBhcyBkZWZhdWx0cywgb3Igbm90aGluZyBpZiB0aGV5IGFyZW4ndCB2YWxpZC4NCj4g PiArICAgTGltaXQgdGhlIHNlYXJjaCB0byBnaXZlbiBwcm9ncmFtIHNwYWNlLCBpZiBzcGVjaWZp ZWQuICAqLw0KPiA+DQo+IA0KPiBJIHRoaW5rIHRoaXMgY2hhbmdlIHRvIHRoZSBjb21tZW50IGlz IG5vdyBpbmNvcnJlY3QsIHRoZSBhcmd1bWVudHMgdG8NCj4gZGVjb2RlX2xpbmVfd2l0aF9sYXN0 X2Rpc3BsYXllZCBhcmUgbm8gbG9uZ2VyIGJlaW5nIGNoYW5nZWQsIHNvIHRoZXJlIGlzDQo+IG5l dmVyIGEgcHJvZ3JhbSBzcGFjZSBzcGVjaWZpZWQuDQo+IA0KPiBXaXRoIHRoZSBjb21tZW50IGNo YW5nZSByZXZlcnRlZDoNCj4gDQo+IEFwcHJvdmVkLUJ5OiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdl c3NAcmVkaGF0LmNvbT4NCj4gDQo+IFRoYW5rcywNCj4gQW5kcmV3DQo+IA0KPiANCj4gPiAgZXh0 ZXJuIHN0ZDo6dmVjdG9yPHN5bXRhYl9hbmRfbGluZT4gZGVjb2RlX2xpbmVfd2l0aF9sYXN0X2Rp c3BsYXllZA0KPiA+ICAgICAgKGNvbnN0IGNoYXIgKiwgaW50KTsNCj4gPiBkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qdW1wLmV4cA0KPiBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvanVtcC5leHANCj4gPiBpbmRleCAwMzJjNGE2Mjc5ZC4uNGMwZDRlZDJkYmIgMTAwNjQ0DQo+ ID4gLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qdW1wLmV4cA0KPiA+ICsrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvanVtcC5leHANCj4gPiBAQCAtMTgsOTkgKzE4LDExMCBAQCBjbGVh cl94ZmFpbCAiKi0qLSoiDQo+ID4NCj4gPiAgc3RhbmRhcmRfdGVzdGZpbGUgLmMNCj4gPg0KPiA+ IC0jIEJ1aWxkIHRoZSB0ZXN0IGNhc2UNCj4gPiAtaWYgIHsgW2dkYl9jb21waWxlICIke3NyY2Rp cn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0iICIke2JpbmZpbGV9IiBleGVjdXRhYmxlDQo+IHtkZWJ1 ZyBub3dhcm5pbmdzfV0gIT0gIiIgfSB7DQo+ID4gLSAgICAgdW50ZXN0ZWQgImZhaWxlZCB0byBj b21waWxlIg0KPiA+IC0gICAgIHJldHVybiAtMQ0KPiA+IC0gICAgfQ0KPiA+ICtpZiB7W3ByZXBh cmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUgZGVi dWddfSB7DQo+ID4gKyAgICByZXR1cm4gLTENCj4gPiArfQ0KPiA+DQo+ID4NCj4gPiAtIyBTdGFy dCB3aXRoIGEgZnJlc2ggZ2RiDQo+ID4gK3Byb2MgZG9fdGVzdHMge30gew0KPiA+ICsgICAgZ2xv YmFsIGRlY2ltYWwgc3JjZmlsZQ0KPiA+ICsNCj4gPiArICAgICMgU2V0IGEgYnJlYWtwb2ludCBv biB0aGUgc3RhdGVtZW50IHRoYXQgd2UncmUgYWJvdXQgdG8ganVtcCB0by4NCj4gPiArICAgICMg VGhlIHN0YXRlbWVudCBkb2Vzbid0IGNvbnRhaW4gYSBmdW5jdGlvbiBjYWxsLg0KPiA+ICsgICAg c2V0IG5vbl9jYWxsX2xpbmUgW2dkYl9nZXRfbGluZV9udW1iZXIgImJwLW9uLW5vbi1jYWxsIl0N Cj4gPiArICAgIGdkYl9icmVha3BvaW50ICIkbm9uX2NhbGxfbGluZSINCj4gPiArICAgIHNldCBi cF9vbl9ub25fY2FsbCBcDQo+ID4gKwlbZ2V0X2ludGVnZXJfdmFsdWVvZiAiXCRicG51bSIgIklO VkFMSUQiICJicF9vbl9ub25fY2FsbCJdDQo+ID4gKw0KPiA+ICsgICAgIyBDYW4gd2UganVtcCB0 byB0aGUgc3RhdGVtZW50PyAgRG8gd2Ugc3RvcCB0aGVyZT8NCj4gPiArICAgIGdkYl90ZXN0ICJq dW1wICRub25fY2FsbF9saW5lIiBcDQo+ID4gKwkiQnJlYWtwb2ludCAke2JwX29uX25vbl9jYWxs fShcLiR7ZGVjaW1hbH0pPywNCj4gLioke3NyY2ZpbGV9OiRub25fY2FsbF9saW5lLioiIFwNCj4g PiArCSJqdW1wIHRvIG5vbi1jYWxsIg0KPiA+ICsNCj4gPiArICAgICMgU2V0IGEgYnJlYWtwb2lu dCBvbiB0aGUgc3RhdGVtZW50IHRoYXQgd2UncmUgYWJvdXQgdG8ganVtcCB0by4NCj4gPiArICAg ICMgVGhlIHN0YXRlbWVudCBkb2VzIGNvbnRhaW4gYSBmdW5jdGlvbiBjYWxsLg0KPiA+ICsgICAg c2V0IGNhbGxfbGluZSBbZ2RiX2dldF9saW5lX251bWJlciAiYnAtb24tY2FsbCJdDQo+ID4gKyAg ICBnZGJfYnJlYWtwb2ludCAiJGNhbGxfbGluZSINCj4gPiArICAgIHNldCBicF9vbl9jYWxsIFtn ZXRfaW50ZWdlcl92YWx1ZW9mICJcJGJwbnVtIiAiSU5WQUxJRCIgImJwX29uX2NhbGwiXQ0KPiA+ ICsNCj4gPiArICAgICMgQ2FuIHdlIGp1bXAgdG8gdGhlIHN0YXRlbWVudD8gIERvIHdlIHN0b3Ag dGhlcmU/DQo+ID4gKyAgICBnZGJfdGVzdCAianVtcCAkY2FsbF9saW5lIiBcDQo+ID4gKwkiQnJl YWtwb2ludCAke2JwX29uX2NhbGx9KFwuJHtkZWNpbWFsfSk/LCAuKiR7c3JjZmlsZX06JGNhbGxf bGluZS4qIiBcDQo+ID4gKwkianVtcCB0byBjYWxsIg0KPiA+ICsNCj4gPiArICAgICMgSWYgd2Ug ZGlzYWJsZSB0aGUgYnJlYWtwb2ludCBhdCB0aGUgZnVuY3Rpb24gY2FsbCwgYW5kIHRoZW4NCj4g PiArICAgICMgaWYgd2UganVtcCB0byB0aGF0IHN0YXRlbWVudCwgZG8gd2Ugbm90IHN0b3AgdGhl cmUsIGJ1dCBhdA0KPiA+ICsgICAgIyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQ/DQo+ID4gKyAg ICBnZGJfdGVzdF9ub19vdXRwdXQgImRpc2FibGUgJGJwX29uX2NhbGwiICJkaXNhYmxlIGJyZWFr cG9pbnQgb24gY2FsbCINCj4gPiArDQo+ID4gKyAgICBnZGJfdGVzdCAianVtcCAkY2FsbF9saW5l IiBcDQo+ID4gKwkiQnJlYWtwb2ludCAke2JwX29uX25vbl9jYWxsfShcLiR7ZGVjaW1hbH0pPywN Cj4gLioke3NyY2ZpbGV9OiRub25fY2FsbF9saW5lLioiIFwNCj4gPiArCSJqdW1wIHRvIGNhbGwg d2l0aCBkaXNhYmxlZCBicmVha3BvaW50Ig0KPiA+ICsNCj4gPiArICAgICMgRGlzYWJsZSB0aGUg YnJlYWtwb2ludCBhdCB0aGUgbm9uLWZ1bmN0aW9uIGNhbGwsIHNvIGl0IHdvbid0IGhpdA0KPiA+ ICsgICAgIyBpZiBkb190ZXN0IGlzIGNhbGxlZCBhZ2Fpbi4NCj4gPiArICAgIGdkYl90ZXN0X25v X291dHB1dCAiZGlzYWJsZSAke2JwX29uX25vbl9jYWxsfSIgImRpc2FibGUNCj4gYnBfb25fbm9u X2NhbGwiDQo+ID4gKw0KPiA+ICsgICAgIyBWZXJpZnkgdGhhdCBHREIgcmVzcG9uZHMgZ3JhY2Vm dWxseSB0byB0aGUgImp1bXAiIGNvbW1hbmQgd2l0aG91dA0KPiA+ICsgICAgIyBhbiBhcmd1bWVu dC4NCj4gPiArICAgIGdkYl90ZXN0ICJqdW1wIiAiQXJndW1lbnQgcmVxdWlyZWQgLnN0YXJ0aW5n IGFkZHJlc3MuKiIgXA0KPiA+ICsJImp1bXAgd2l0aG91dCBhcmd1bWVudCBkaXNhbGxvd2VkIg0K PiA+ICsNCj4gPiArICAgICMgVmVyaWZ5IHRoYXQgR0RCIHJlc3BvbmRzIGdyYWNlZnVsbHkgdG8g dGhlICJqdW1wIiBjb21tYW5kIHdpdGgNCj4gPiArICAgICMgdHJhaWxpbmcganVuay4NCj4gPiAr ICAgIGdkYl90ZXN0ICJqdW1wICRjYWxsX2xpbmUgMTAwIiBcDQo+ID4gKwkibWFsZm9ybWVkIGxp bmVzcGVjIGVycm9yOiB1bmV4cGVjdGVkIG51bWJlciwgXCIxMDBcIiIgXA0KPiA+ICsJImp1bXAg d2l0aCB0cmFpbGluZyBhcmd1bWVudCBqdW5rIg0KPiA+ICsNCj4gPiArICAgICMgVmVyaWZ5IHRo YXQgR0RCIHJlc3BvbmRzIGdyYWNlZnVsbHkgdG8gYSByZXF1ZXN0IHRvIGp1bXAgb3V0IG9mDQo+ ID4gKyAgICAjIHRoZSBjdXJyZW50IGZ1bmN0aW9uLiAgKE5vdGUgdGhhdCB0aGlzIHdpbGwgdmVy eSBsaWtlbHkgY2F1c2UgdGhlDQo+ID4gKyAgICAjIGluZmVyaW9yIHRvIGRpZS4gIEJlIHByZXBh cmVkIHRvIHJlcnVuIHRoZSBpbmZlcmlvciwgaWYgZnVydGhlcg0KPiA+ICsgICAgIyB0ZXN0aW5n IGlzIGRlc2lyZWQuKQ0KPiA+ICsgICAgIyBUcnkgaXQgYm90aCB3YXlzOiBjb25maXJtaW5nIGFu ZCBub3QgY29uZmlybWluZyB0aGUganVtcC4NCj4gPiArICAgIHNldCBvdXRfbGluZSBbZ2RiX2dl dF9saW5lX251bWJlciAib3V0LW9mLWZ1bmMiXQ0KPiA+ICsgICAgZ2RiX3Rlc3QgImp1bXAgJG91 dF9saW5lIiBcDQo+ID4gKwkiTm90IGNvbmZpcm1lZC4qIiBcDQo+ID4gKwkiYWJvcnRlZCBqdW1w IG91dCBvZiBjdXJyZW50IGZ1bmN0aW9uIiBcDQo+ID4gKwkiTGluZSAkb3V0X2xpbmUgaXMgbm90 IGluIGBtYWluJy4gIEp1bXAgYW55d2F5Lip5IG9yIG4uICQiIFwNCj4gPiArCSJuIg0KPiA+ICsN Cj4gPiArICAgIGdkYl90ZXN0ICJqdW1wICRvdXRfbGluZSIgXA0KPiA+ICsJIkNvbnRpbnVpbmcg YXQuKiIgXA0KPiA+ICsJImp1bXAgb3V0IG9mIGN1cnJlbnQgZnVuY3Rpb24iIFwNCj4gPiArCSJM aW5lICRvdXRfbGluZSBpcyBub3QgaW4gYG1haW4nLiAgSnVtcCBhbnl3YXkuKnkgb3Igbi4gJCIg XA0KPiA+ICsJInkiDQo+ID4gK30NCj4gPg0KPiA+IC1jbGVhbl9yZXN0YXJ0ICR7YmluZmlsZX0N Cj4gPg0KPiA+IC1pZiB7IVtydW50b19tYWluXX0gew0KPiA+IC0gIHJldHVybiAtMQ0KPiA+ICtz ZXQgaW5mZXJpb3JzIDENCj4gPiAraWYgeyFbdXNlX2dkYl9zdHViXX0gew0KPiA+ICsgICAgc2V0 IGluZmVyaW9ycyAyDQo+ID4gIH0NCj4gPg0KPiA+IC0jIFNldCBhIGJyZWFrcG9pbnQgb24gdGhl IHN0YXRlbWVudCB0aGF0IHdlJ3JlIGFib3V0IHRvIGp1bXAgdG8uDQo+ID4gLSMgVGhlIHN0YXRl bWVudCBkb2Vzbid0IGNvbnRhaW4gYSBmdW5jdGlvbiBjYWxsLg0KPiA+IC0jDQo+ID4gLXNldCBi cF9vbl9ub25fY2FsbCAwDQo+ID4gLXNldCBub25fY2FsbF9saW5lIFtnZGJfZ2V0X2xpbmVfbnVt YmVyICJicC1vbi1ub24tY2FsbCJdDQo+ID4gLWdkYl90ZXN0X211bHRpcGxlICJicmVhayAkbm9u X2NhbGxfbGluZSIgImJyZWFrIGJlZm9yZSBqdW1wIHRvIG5vbi1jYWxsIiB7DQo+ID4gLSAgICAt cmUgIlxbQmJcXXJlYWtwb2ludCAoJHtkZWNpbWFsfSkgYXQgJHtoZXh9OiBmaWxlIC4qJHtzcmNm aWxlfSwgbGluZQ0KPiAkbm9uX2NhbGxfbGluZS4qJGdkYl9wcm9tcHQgJCIgew0KPiA+IC0Jc2V0 IGJwX29uX25vbl9jYWxsICRleHBlY3Rfb3V0KDEsc3RyaW5nKQ0KPiA+IC0JcGFzcyAiYnJlYWsg YmVmb3JlIGp1bXAgdG8gbm9uLWNhbGwiDQo+ID4gKyMgUnVuIHRvIG1haW4sIGFkZCBpbmZlcmlv cnMgaWYgbmVlZGVkLg0KPiA+ICtmb3Ige3NldCBpbmYgMX0geyRpbmYgPD0gJGluZmVyaW9yc30g e2luY3IgaW5mfSB7DQo+ID4gKyAgICBpZiB7JGluZiAhPSAxfSB7DQo+ID4gKwkjIFN0YXJ0IGEg bmV3IGluZmVyaW9yLCBhbmQgcnVuIGl0IHdpdGggdGhlIHNhbWUgZXhlY3V0YWJsZS4NCj4gPiAr CWdkYl90ZXN0ICJhZGQtaW5mZXJpb3IgLWV4ZWMgJHtiaW5maWxlfSIgXA0KPiA+ICsJICAgICJB ZGRlZCBpbmZlcmlvciAke2luZn0uKiIgXA0KPiA+ICsJICAgICJhZGQgaW5mZXJpb3IgJHtpbmZ9 IHdpdGggLWV4ZWMgIg0KPiA+ICsJZ2RiX3Rlc3QgImluZmVyaW9yICR7aW5mfSIgXA0KPiA+ICsJ ICAgICJTd2l0Y2hpbmcgdG8gaW5mZXJpb3IgJHtpbmZ9IC4qIiBcDQo+ID4gKwkgICAgInN3aXRj aCB0byBpbmZlcmlvciAke2luZn0iDQo+ID4gKyAgICB9DQo+ID4gKyAgICBpZiB7IVtydW50b19t YWluXX0gew0KPiA+ICsJcmV0dXJuIC0xDQo+ID4gICAgICB9DQo+ID4gIH0NCj4gPg0KPiA+IC0j IENhbiB3ZSBqdW1wIHRvIHRoZSBzdGF0ZW1lbnQ/ICBEbyB3ZSBzdG9wIHRoZXJlPw0KPiA+IC0j DQo+ID4gLWdkYl90ZXN0ICJqdW1wICRub25fY2FsbF9saW5lIiAiQnJlYWtwb2ludCAke2RlY2lt YWx9LA0KPiAuKiR7c3JjZmlsZX06JG5vbl9jYWxsX2xpbmUuKiIgXA0KPiA+IC0gICAgImp1bXAg dG8gbm9uLWNhbGwiDQo+ID4gLQ0KPiA+IC0jIFNldCBhIGJyZWFrcG9pbnQgb24gdGhlIHN0YXRl bWVudCB0aGF0IHdlJ3JlIGFib3V0IHRvIGp1bXAgdG8uDQo+ID4gLSMgVGhlIHN0YXRlbWVudCBk b2VzIGNvbnRhaW4gYSBmdW5jdGlvbiBjYWxsLg0KPiA+IC0jDQo+ID4gLXNldCBicF9vbl9jYWxs IDANCj4gPiAtc2V0IGNhbGxfbGluZSBbZ2RiX2dldF9saW5lX251bWJlciAiYnAtb24tY2FsbCJd DQo+ID4gLWdkYl90ZXN0X211bHRpcGxlICJicmVhayAkY2FsbF9saW5lIiAiYnJlYWsgYmVmb3Jl IGp1bXAgdG8gY2FsbCIgew0KPiA+IC0gICAgLXJlICJcW0JiXF1yZWFrcG9pbnQgKCR7ZGVjaW1h bH0pIGF0ICR7aGV4fTogZmlsZSAuKiR7c3JjZmlsZX0sIGxpbmUNCj4gJGNhbGxfbGluZS4qJGdk Yl9wcm9tcHQgJCIgew0KPiA+IC0Jc2V0IGJwX29uX2NhbGwgJGV4cGVjdF9vdXQoMSxzdHJpbmcp DQo+ID4gLQlwYXNzICJicmVhayBiZWZvcmUganVtcCB0byBjYWxsIg0KPiA+ICsjIFJ1biB0ZXN0 cyBvbiBhbGwgaW5mZXJpb3JzLg0KPiA+ICtmb3Ige3NldCBpbmYgMX0geyRpbmYgPD0gJGluZmVy aW9yc30ge2luY3IgaW5mfSB7DQo+ID4gKyAgICB3aXRoX3Rlc3RfcHJlZml4ICJpbmZlcmlvciAk aW5mIiB7DQo+ID4gKwkjIFN3aXRjaCB0byB0aGUgdGFyZ2V0IGluZmVyaW9yLg0KPiA+ICsJZ2Ri X3Rlc3QgImluZmVyaW9yICRpbmYiICIuKlN3aXRjaGluZyB0byBpbmZlcmlvciAkaW5mIC4qIg0K PiA+ICsJIyBSdW4gdGhlIHRlc3RzLg0KPiA+ICsJZG9fdGVzdHMNCj4gPiAgICAgIH0NCj4gPiAg fQ0KPiA+DQo+ID4gLSMgQ2FuIHdlIGp1bXAgdG8gdGhlIHN0YXRlbWVudD8gIERvIHdlIHN0b3Ag dGhlcmU/DQo+ID4gLSMNCj4gPiAtZ2RiX3Rlc3QgImp1bXAgJGNhbGxfbGluZSIgXA0KPiA+IC0g ICAgIkJyZWFrcG9pbnQgJHtkZWNpbWFsfSwgLioke3NyY2ZpbGV9OiRjYWxsX2xpbmUuKiIgXA0K PiA+IC0gICAgImp1bXAgdG8gY2FsbCINCj4gPiAtDQo+ID4gLSMgSWYgd2UgZGlzYWJsZSB0aGUg YnJlYWtwb2ludCBhdCB0aGUgZnVuY3Rpb24gY2FsbCwgYW5kIHRoZW4NCj4gPiAtIyBpZiB3ZSBq dW1wIHRvIHRoYXQgc3RhdGVtZW50LCBkbyB3ZSBub3Qgc3RvcCB0aGVyZSwgYnV0IGF0DQo+ID4g LSMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50Pw0KPiA+IC0jDQo+ID4gLWdkYl90ZXN0X25vX291 dHB1dCAiZGlzYWJsZSAkYnBfb25fY2FsbCIgImRpc2FibGUgYnJlYWtwb2ludCBvbiBjYWxsIg0K PiA+IC0NCj4gPiAtZ2RiX3Rlc3QgImp1bXAgJGNhbGxfbGluZSIgIkJyZWFrcG9pbnQgJHtkZWNp bWFsfSwNCj4gLioke3NyY2ZpbGV9OiRub25fY2FsbF9saW5lLioiIFwNCj4gPiAtICAgICJqdW1w IHRvIGNhbGwgd2l0aCBkaXNhYmxlZCBicmVha3BvaW50Ig0KPiA+IC0NCj4gPiAtIyBWZXJpZnkg dGhhdCBHREIgcmVzcG9uZHMgZ3JhY2VmdWxseSB0byB0aGUgImp1bXAiIGNvbW1hbmQgd2l0aG91 dA0KPiA+IC0jIGFuIGFyZ3VtZW50Lg0KPiA+IC0jDQo+ID4gLWdkYl90ZXN0ICJqdW1wIiAiQXJn dW1lbnQgcmVxdWlyZWQgLnN0YXJ0aW5nIGFkZHJlc3MuKiIgXA0KPiA+IC0gICAgImp1bXAgd2l0 aG91dCBhcmd1bWVudCBkaXNhbGxvd2VkIg0KPiA+IC0NCj4gPiAtDQo+ID4gLSMgVmVyaWZ5IHRo YXQgR0RCIHJlc3BvbmRzIGdyYWNlZnVsbHkgdG8gdGhlICJqdW1wIiBjb21tYW5kIHdpdGgNCj4g PiAtIyB0cmFpbGluZyBqdW5rLg0KPiA+IC0jDQo+ID4gLWdkYl90ZXN0ICJqdW1wICRjYWxsX2xp bmUgMTAwIiBcDQo+ID4gLSAgICAibWFsZm9ybWVkIGxpbmVzcGVjIGVycm9yOiB1bmV4cGVjdGVk IG51bWJlciwgXCIxMDBcIiIgXA0KPiA+IC0gICAgImp1bXAgd2l0aCB0cmFpbGluZyBhcmd1bWVu dCBqdW5rIg0KPiA+IC0NCj4gPiAtDQo+ID4gLSMgVmVyaWZ5IHRoYXQgR0RCIHJlc3BvbmRzIGdy YWNlZnVsbHkgdG8gYSByZXF1ZXN0IHRvIGp1bXAgb3V0IG9mDQo+ID4gLSMgdGhlIGN1cnJlbnQg ZnVuY3Rpb24uICAoTm90ZSB0aGF0IHRoaXMgd2lsbCB2ZXJ5IGxpa2VseSBjYXVzZSB0aGUNCj4g PiAtIyBpbmZlcmlvciB0byBkaWUuICBCZSBwcmVwYXJlZCB0byByZXJ1biB0aGUgaW5mZXJpb3Is IGlmIGZ1cnRoZXINCj4gPiAtIyB0ZXN0aW5nIGlzIGRlc2lyZWQuKQ0KPiA+IC0jDQo+ID4gLSMg VHJ5IGl0IGJvdGggd2F5czogY29uZmlybWluZyBhbmQgbm90IGNvbmZpcm1pbmcgdGhlIGp1bXAu DQo+ID4gLSMNCj4gPiAtDQo+ID4gLXNldCBvdXRfbGluZSBbZ2RiX2dldF9saW5lX251bWJlciAi b3V0LW9mLWZ1bmMiXQ0KPiA+IC1nZGJfdGVzdCAianVtcCAkb3V0X2xpbmUiIFwNCj4gPiAtICAg ICJOb3QgY29uZmlybWVkLioiIFwNCj4gPiAtICAgICJhYm9ydGVkIGp1bXAgb3V0IG9mIGN1cnJl bnQgZnVuY3Rpb24iIFwNCj4gPiAtICAgICJMaW5lICRvdXRfbGluZSBpcyBub3QgaW4gYG1haW4n LiAgSnVtcCBhbnl3YXkuKnkgb3Igbi4gJCIgXA0KPiA+IC0gICAgIm4iDQo+ID4gLQ0KPiA+IC1n ZGJfdGVzdCAianVtcCAkb3V0X2xpbmUiIFwNCj4gPiAtICAgICJDb250aW51aW5nIGF0LioiIFwN Cj4gPiAtICAgICJqdW1wIG91dCBvZiBjdXJyZW50IGZ1bmN0aW9uIiBcDQo+ID4gLSAgICAiTGlu ZSAkb3V0X2xpbmUgaXMgbm90IGluIGBtYWluJy4gIEp1bXAgYW55d2F5Lip5IG9yIG4uICQiIFwN Cj4gPiAtICAgICJ5Ig0KPiA+IC0NCj4gPiAgZ2RiX2V4aXQNCj4gPiAtLQ0KPiA+IDIuMjUuMQ0K PiA+DQo+ID4gSW50ZWwgRGV1dHNjaGxhbmQgR21iSA0KPiA+IFJlZ2lzdGVyZWQgQWRkcmVzczog QW0gQ2FtcGVvbiAxMCwgODU1NzkgTmV1YmliZXJnLCBHZXJtYW55DQo+ID4gVGVsOiArNDkgODkg OTkgODg1My0wLCB3d3cuaW50ZWwuZGUgPGh0dHA6Ly93d3cuaW50ZWwuZGU+DQo+ID4gTWFuYWdp bmcgRGlyZWN0b3JzOiBDaHJpc3RpbiBFaXNlbnNjaG1pZCwgU2hhcm9uIEhlY2ssIFRpZmZhbnkg RG9vbiBTaWx2YQ0KPiA+IENoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogTmlj b2xlIExhdQ0KPiA+IFJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gNCj4gPiBDb21tZXJjaWFsIFJl Z2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4DQoNCkludGVsIERldXRzY2hs YW5kIEdtYkgKUmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1wZW9uIDEwLCA4NTU3OSBOZXViaWJl cmcsIEdlcm1hbnkKVGVsOiArNDkgODkgOTkgODg1My0wLCB3d3cuaW50ZWwuZGUgPGh0dHA6Ly93 d3cuaW50ZWwuZGU+Ck1hbmFnaW5nIERpcmVjdG9yczogQ2hyaXN0aW4gRWlzZW5zY2htaWQsIFNo YXJvbiBIZWNrLCBUaWZmYW55IERvb24gU2lsdmEgIApDaGFpcnBlcnNvbiBvZiB0aGUgU3VwZXJ2 aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUKUmVnaXN0ZXJlZCBPZmZpY2U6IE11bmljaApDb21tZXJj aWFsIFJlZ2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg==