From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 70F5D3858D33 for ; Tue, 25 Apr 2023 13:40:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 70F5D3858D33 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=1682430049; x=1713966049; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=Pekw2t66pj4YfeIKDfRXQ8gEYIVjydg979EC521wVPI=; b=AESvk/HqJKwzTbLxJsvRJLGf7crqA7nEJNBwG0GIG1dKUtgVUtLIGr5P AbCkp75TbY3D/wJyXOZEDOAzVlR67wNXVYOcDqSKddblmbTA+E868Ec3B Eu41QbDO1Jw+GZYYH3PVNm1RlFGtDkoF42EQUhe7Q6NpZQ8NZvjkG0BT4 P9nAvm07uev+3BqGycr+wWfO30EXN4cF/ghbb/gOtlhpF+rfJZib9bzZo 07WYvTVaQrisHo2gjPdrI87O/qJsHvow0niSLDW6v4+UwGyZbn2FRiZEZ LE4SPGOE9+0dqbGdZJe46Xqx/koXDrds2N0vEkQzHceQRPWPyopnxfvZf A==; X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="327075264" X-IronPort-AV: E=Sophos;i="5.99,225,1677571200"; d="scan'208";a="327075264" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2023 06:40:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="817692914" X-IronPort-AV: E=Sophos;i="5.99,225,1677571200"; d="scan'208";a="817692914" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga004.jf.intel.com with ESMTP; 25 Apr 2023 06:40:48 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 25 Apr 2023 06:40:47 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 25 Apr 2023 06:40:47 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Tue, 25 Apr 2023 06:40:47 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.177) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Tue, 25 Apr 2023 06:40:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OTM9hKeJQ70R2IB1x7PLgI+caf8R/Tg0dvF2DuG/uKoSFAfgUNU2CeolXKKSgcbV5uDUz2/v9R/X1q8NwrPwx/aNCC77MQmbyRqFq/vohXRTzVZyhr4eSnuQQAJ6VVUGIi2kwHy1INHM7omMdYHGuCAc69D7vcJAEsA9TJyoLf3+ZyPqxXo3xY3kVv4ggp+BkMW9OkeHxH9BUocYEopYy3bzLt5cSjDYk+5wk2pnKLbG/QW3VJI52VGA9a2MpcpV9Gdw8vq/0m42OfouH5m4cFeUqgN8Ui5bCvfmLjkTv7mvl6DVHAbSgTVyI3fYJMhkDUG97A/57DTuJtcNdq6tKQ== 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=ziaxSRdhZCPqpilxek2Hw2sYSTmTKiGde6HBY8YEwxQ=; b=DDVEUP0kZXhbuzHExVPdF/Ra64U2X4Q8ey49vI1blhQuxdnC36+xDPjKUmQ13FbZaGqDCfE41JKEahG1yLHTKDpRtljnYFerASHQ8jPniCAG2Fvk+ZLO4c6LRV+ISn0gF4WZdigr6kXGt7eo74tr5Yb9pru11i80wpy1XIdeVTMEsxOg9KKJUlUIjY3vea7yEtmL3pS/GcIUff3q7i8jfW3ENreAeT5+tsL+K4BWQohs3Nha/7l2STmhC+Pv4iIdIAfNt+81NqG11eLYbWxVEiuUp44lV5YDVy7KRKL/xx1D0rfOkuzyxooOj89RztlZwVDaeRhEbxMDYg4zgNv+dQ== 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 SN6PR11MB3086.namprd11.prod.outlook.com (2603:10b6:805:d6::14) by SA1PR11MB5948.namprd11.prod.outlook.com (2603:10b6:806:23c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Tue, 25 Apr 2023 13:40:45 +0000 Received: from SN6PR11MB3086.namprd11.prod.outlook.com ([fe80::7bcb:95a0:67be:29e1]) by SN6PR11MB3086.namprd11.prod.outlook.com ([fe80::7bcb:95a0:67be:29e1%5]) with mapi id 15.20.6319.034; Tue, 25 Apr 2023 13:40:45 +0000 From: "Puputti, Matti" To: Andrew Burgess , "gdb-patches@sourceware.org" Subject: RE: [PATCH v2 1/1] gdb, infcmd: Support jump command in multi-inferior case. Thread-Topic: [PATCH v2 1/1] gdb, infcmd: Support jump command in multi-inferior case. Thread-Index: AQHZR2z+CdExgJmDsEC1oddjW2YnXq863lAAgAGDzzA= Date: Tue, 25 Apr 2023 13:40:45 +0000 Message-ID: References: <20230223095453.1878886-1-matti.puputti@intel.com> <20230223095453.1878886-2-matti.puputti@intel.com> <875y9lcqvl.fsf@redhat.com> In-Reply-To: <875y9lcqvl.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: SN6PR11MB3086:EE_|SA1PR11MB5948:EE_ x-ms-office365-filtering-correlation-id: 1be8abe0-237b-4abc-7995-08db4592abba x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R477PsqjhMLP2qBEKldIXvsGMV8ZKTYIckZBgOuBwDRdYYfjHgHJMT2d318MW+g9iGpsEeSueC5tvZ6Su355bkasNxUG3U3SOmtTjErWFt6xWnK0ByTy/zzVmVSr8QhDT5ylQI8fcATJgDnhQttvuxPvPhVGjHzJuYp5HdJAJ/BKn/7P/ky9ZC2bfM+zjw6BuWYOEdnDJOy7FnH6Uz5UAxdNT24sKW6uqCphQ7m2me6vwaw+545Zy5EV9pMI6EnVQLxIqKXsNJGNHaAbHXC3aIldXZQc+M9UeLwZ7ZnWSh6IVYK1EejG/Omg+n3tAO4tYzkpZDN+uKbyyHwJtLy2BqNHZoafcaAFQqdJwwHBhEY27u9zKsQYdtA+7oNZdZaQfcSQlDgGv7eDQx+HL4tVP2+BNKnluGkZ7aX9KlZXFt6kCPVdYJNonP6i+oN6RVu0EwaE2do6+fo+CpIl4QznJ6cNXPXApGto87OyztOs7GVFpRUzFev2dIvussxxAf5A9XEwsQNl/IBvH+TydJmrGHlqGvEWLHofSVH7Zy8naZGcrhXBs9ouKcjYBTWeGplzZPeo1mJd7Dermao1Be2D+01/fYSbHVgqAjCxrO/oG5A= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB3086.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(39860400002)(136003)(366004)(346002)(84040400005)(451199021)(15974865002)(53546011)(6506007)(9686003)(110136005)(86362001)(186003)(7696005)(71200400001)(966005)(55016003)(26005)(478600001)(33656002)(38100700002)(8676002)(8936002)(41300700001)(38070700005)(122000001)(2906002)(30864003)(83380400001)(52536014)(5660300002)(316002)(66476007)(66446008)(66556008)(64756008)(82960400001)(76116006)(66946007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cjF5NElPWFpSNnppSDhuT1NiVTRvUVRMSTJoUVU4TUp4ei9ranYzQ0VuMkkx?= =?utf-8?B?NENaOTFHUmdSUnJsbmhDNlk5TEUxL3FJVTJyWlRMSWxiSGhhMWhRSkxXNExY?= =?utf-8?B?MXEvamNRcnltc0VXMmc1YlpKWVp5N0xMcnR0STJYblZhREJIOVFrRDVvbWpw?= =?utf-8?B?clUvOW53SUp1djhueDA0NmM1SWR1Vyt2M2YyREU1WUFLZ3hPOFB1cFdyYnFK?= =?utf-8?B?N0N4SUN2R2J1VzltenJtUi91NmtYUWNZS3M3QWtUUDNiWW5WbTZEaFMxblc1?= =?utf-8?B?cG5HMTBrWmtWYkRqSE5FdWdwTHF3c2YwZGh3anE2QkQvNk5NWEluTHdqeU1X?= =?utf-8?B?VWd1SW1wYzFnVFROeHVYUFhpV3JjckpQVWxWTkJ3bWYweVVuRWtRZk15VExz?= =?utf-8?B?NlNVbU9hZXNRRXltd04zVUxMNWtVTmI5STJLb3pUOUJmUTB1TUlrWkxUeFMv?= =?utf-8?B?K0Q2bTNtYkkwQlVFaHlXaTJFRmtjdVgzZGFhb21IT21GcVVtQVU1SVZXSG5a?= =?utf-8?B?emwycDlkeG96bWMvSThiOVBEN2VMVU5EUWZ5UTFMNjdIa3FDOXNQcFhCZk56?= =?utf-8?B?aFZVVWpBSFpxK3YyU1NPL0VXUTNhendjNDJhaDhOT1liN01tWlZqZG5obTd6?= =?utf-8?B?Smo3YWNCRStMYS9Mb1AyaERHSWl5ZXJ5T1RIOVNoLzlvd3dtV0ZVczVsVlNR?= =?utf-8?B?VmZzSzVXN2dJOEdkRjJsS0RjcStibTllUk44dytocTk4MFlERWhsU1JuU1pL?= =?utf-8?B?UzAyY0JTalB0WDlNbDArc1BlN2ZMTjlHb2JqY0t0cms1ZkxrSEtWMWk5ZzZM?= =?utf-8?B?VkpLOXlGd0R3cURhRDVVamVudWJGajZ5UE9aeUNTMzIyMmlwRmhXOHpDcGVG?= =?utf-8?B?eHFSN3orc3poY0xSTktpOTg1eGxmeGVLTStGVWpPSnpKYWxmbkprK3JwMThn?= =?utf-8?B?Vm9zOFcwZDNNaUpyQVFrQzlJc2ZISFJyUVJEU3A0MU1ydDgvVW9idlpiZmY1?= =?utf-8?B?SldRZVcxQXJBSjQxTnl3bGFZRzUyMEswaDVYWmJzR01oODFXVnowVTJGRkVS?= =?utf-8?B?MG1CeUQ2VzNGeG1hcGQyWlZWMWdhck5xcXRPKzV1bkNBU3dBOWREdlJuRUdO?= =?utf-8?B?aE4zSUw1N0I2WmpHZ092WHZJZUZoMzFHSC9GQkFFUXdTWjN2UC9qUjRBTnRs?= =?utf-8?B?T0pzT3VaMGVVNWFQQ2NWL0NZWFNYbXM0aXpMejFqbVR5dGhrOTBzdXkyeFdt?= =?utf-8?B?Nng5VkNXNVlGRnE1YTJzU0RuZGZ3cVcvaVNMb1lmQ0s0bmJXL3RRSTN4ZWNi?= =?utf-8?B?YkpuNmNNbjd2NFNDUlY4WmRXblFVZTNKNlJJTllOZUxjN2k4K0hFWjFjdjI4?= =?utf-8?B?MC9LbkZHQ2xkTWloNU9zZkpOYjlEZ3dXQlpkWGp0TnhUMzArRHZvd1VUaXFL?= =?utf-8?B?ZGM0cVl1eTNqTHFaM0dBS3NJWUJBUGQ1OVVzS2RyVUpkaFFZMkdJajVLcHRZ?= =?utf-8?B?RDFqb1BBOU9OVTFwU1hCVFczT0JERUZRVzlnWmgzdFdOREZKK3pCVnNZY0pD?= =?utf-8?B?V1YvdWZYczRHb3drM0NheTgzaGtGeExNaG1qYXVRSmVOdHdyVjJJdTBMbmhx?= =?utf-8?B?REl3NUhnN1BQVWw0UWlzRkFCZllpcnZ3eXprM1dmM2hQU2dacjlab3MvMEF0?= =?utf-8?B?b25nOFRsNjdsZ0Y2Y2NrUitCai93czNveExZQ2JrZTVGdEZwL2hIcmxsamcv?= =?utf-8?B?SnMzb2txT2trWEFZdlo0QzZNWnkrc25NblVocmErcTRuOGV6RkxKY3hCTnFi?= =?utf-8?B?VGswSyt2dUhUcFpzTWpaUzIxSGxXVm0xMWRRc21FTkZ4UWw1aTVhYmRITnZZ?= =?utf-8?B?eVliYjlZeFlkTjNnVCtGMDBVN0t0bmdkc2llTFBpWHk0aHBkcnhONXZ6SW1k?= =?utf-8?B?TjVSbHUzQkw2M1RMRGJPcjl3RDhZMUpVT0RweUhVb2F2L1BLa2thSEFwZGhh?= =?utf-8?B?WmJPUFdTYkM4eHpFNjhEZThaVXVXR3JIQnRuMzVwOXAvZWpORlBqOEIrOHdv?= =?utf-8?B?c2RoVW81b2FaeG0xMk5PRDgzRXBVWXRzbmY5dTU4Tmg4MndiYUtFbXZFK1E1?= =?utf-8?Q?7oz7qaLcrEC5wCiNy6ailG62A?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3086.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1be8abe0-237b-4abc-7995-08db4592abba X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2023 13:40:45.1582 (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: n3FCQSFiA4wGS6DCFEa3157OaessbWhFFZS5wYfOoTNztbG22uz012Y3UdnZeaB38xYL0ZgZrTDs51lAPQkhkA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB5948 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-11.1 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: SGkgQW5kcmV3LA0KDQpUaGFuayB5b3UgZm9yIHlvdXIgcmV2aWV3IGFuZCAoY29uZGl0aW9uYWwp IGFwcHJvdmFsLg0KSSBoYXZlIHVwbG9hZGVkIG5ldyBwYXRjaCB0byBhZGRyZXNzIHlvdXIgY29t bWVudHMuIEluIGFkZGl0aW9uIEkgZGlkIG15DQpiZXN0IHRvIGNsZWFuIG91dCBzb21lIG90aGVy IGVtcHR5IGxpbmVzIGFuZCB0cmFpbGluZyAnIycgbGluZXMsIHRvby4NCkFuZCBmaW5hbGx5LCBJ IHVwZGF0ZWQgdGhlIGNvbW1pdCBkYXRlLg0KSSBob3BlIHRoZSBuZXcgcGF0Y2ggaXMgZ29vZC4N Cg0KUGF0Y2ggMzogaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9waXBlcm1haWwvZ2RiLXBhdGNoZXMv MjAyMy1BcHJpbC8xOTkwOTUuaHRtbA0KDQpBcyB5b3Ugc3VyZWx5IGhhdmUgbm90aWNlZCwgdGhp cyBpcyBteSB2ZXJ5IGZpcnN0IHBhdGNoIHNlcmllcyBsYW5kaW5nIGluIEdEQi4NCklmIHlvdSBh cmUgb2sgd2l0aCB0aGUgbGF0ZXN0IHBhdGNoLCBjYW4geW91IHB1c2ggaXQgZm9yIG1lLCBhcyBJ IGRvbid0IGhhdmUNCndyaXRlIGFjY2Vzcz8NCg0KSSBwbGFuIHRvIHVwc3RyZWFtIG1vcmUgcGF0 Y2hlcyBpbiB0aGUgZnV0dXJlIGFuZCB3b3VsZCBsaWtlIHRvIGhhdmUNCiJ3cml0ZSBhZnRlciBh cHByb3ZhbCIgYWNjZXNzLiAgQ2FuIHlvdSBoZWxwIG1lIHdpdGggdGhhdCBhcyB3ZWxsPyANCg0K QnIsDQpNYXR0aSBQdXB1dHRpDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv bTogQW5kcmV3IEJ1cmdlc3MgPGFidXJnZXNzQHJlZGhhdC5jb20+DQo+IFNlbnQ6IE1vbmRheSwg QXByaWwgMjQsIDIwMjMgNDoxMSBQTQ0KPiBUbzogUHVwdXR0aSwgTWF0dGkgPG1hdHRpLnB1cHV0 dGlAaW50ZWwuY29tPjsgZ2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmcNCj4gU3ViamVjdDogUmU6 IFtQQVRDSCB2MiAxLzFdIGdkYiwgaW5mY21kOiBTdXBwb3J0IGp1bXAgY29tbWFuZCBpbiBtdWx0 aS0NCj4gaW5mZXJpb3IgY2FzZS4NCj4gDQo+IE1hdHRpIFB1cHV0dGkgPG1hdHRpLnB1cHV0dGlA aW50ZWwuY29tPiB3cml0ZXM6DQo+IA0KPiA+IEZpeGVzIHRoZSBpc3N1ZSB3aGVyZSBqdW1wIGZh aWxlZCBpZiBtdWx0aXBsZSBpbmZlcmlvcnMgcnVuIHRoZSBzYW1lIHNvdXJjZS4NCj4gPg0KPiA+ IFNlZSB0aGUgYmVsb3cgZXhhbXBsZQ0KPiA+DQo+ID4gICAgICQgZ2RiIC1xIC4vc2ltcGxlDQo+ ID4gICAgIFJlYWRpbmcgc3ltYm9scyBmcm9tIC4vc2ltcGxlLi4uDQo+ID4gICAgIChnZGIpIGJy ZWFrIDINCj4gPiAgICAgQnJlYWtwb2ludCAxIGF0IDB4MTE0ZTogZmlsZSBzaW1wbGUuYywgbGlu ZSAyLg0KPiA+ICAgICAoZ2RiKSBydW4NCj4gPiAgICAgU3RhcnRpbmcgcHJvZ3JhbTogL3RlbXAv c2ltcGxlDQo+ID4NCj4gPiAgICAgQnJlYWtwb2ludCAxLCBtYWluICgpIGF0IHNpbXBsZS5jOjIN Cj4gPiAgICAgMiAgICAgICAgIGludCBhID0gNDI7DQo+ID4gICAgIChnZGIpIGFkZC1pbmZlcmlv cg0KPiA+ICAgICBbTmV3IGluZmVyaW9yIDJdDQo+ID4gICAgIEFkZGVkIGluZmVyaW9yIDIgb24g Y29ubmVjdGlvbiAxIChuYXRpdmUpDQo+ID4gICAgIChnZGIpIGluZmVyaW9yIDINCj4gPiAgICAg W1N3aXRjaGluZyB0byBpbmZlcmlvciAyIFs8bnVsbD5dICg8bm9leGVjPildDQo+ID4gICAgIChn ZGIpIGluZm8gaW5mZXJpb3JzDQo+ID4gICAgICAgTnVtICBEZXNjcmlwdGlvbiAgICAgICBDb25u ZWN0aW9uICAgICAgICAgICBFeGVjdXRhYmxlDQo+ID4gICAgICAgMSAgICBwcm9jZXNzIDYyNTAg ICAgICAxIChuYXRpdmUpICAgICAgICAgICAvdGVtcC9zaW1wbGUNCj4gPiAgICAgKiAyICAgIDxu dWxsPiAgICAgICAgICAgIDEgKG5hdGl2ZSkNCj4gPiAgICAgKGdkYikgZmlsZSAuL3NpbXBsZQ0K PiA+ICAgICBSZWFkaW5nIHN5bWJvbHMgZnJvbSAuL3NpbXBsZS4uLg0KPiA+ICAgICAoZ2RiKSBy dW4NCj4gPiAgICAgU3RhcnRpbmcgcHJvZ3JhbTogL3RlbXAvc2ltcGxlDQo+ID4NCj4gPiAgICAg VGhyZWFkIDIuMSAic2ltcGxlIiBoaXQgQnJlYWtwb2ludCAxLCBtYWluICgpIGF0IHNpbXBsZS5j OjINCj4gPiAgICAgMiAgICAgICAgIGludCBhID0gNDI7DQo+ID4gICAgIChnZGIpIGluZm8gaW5m ZXJpb3JzDQo+ID4gICAgICAgTnVtICBEZXNjcmlwdGlvbiAgICAgICBDb25uZWN0aW9uICAgICAg ICAgICBFeGVjdXRhYmxlDQo+ID4gICAgICAgMSAgICBwcm9jZXNzIDYyNTAgICAgICAxIChuYXRp dmUpICAgICAgICAgICAvdGVtcC9zaW1wbGUNCj4gPiAgICAgKiAyICAgIHByb2Nlc3MgNjcwNSAg ICAgIDEgKG5hdGl2ZSkgICAgICAgICAgIC90ZW1wL3NpbXBsZQ0KPiA+ICAgICAoZ2RiKSBqdW1w IDMNCj4gPiAgICAgVW5yZWFzb25hYmxlIGp1bXAgcmVxdWVzdA0KPiA+ICAgICAoZ2RiKQ0KPiA+ DQo+ID4gSW4gdGhpcyBleGFtcGxlLCBqdW1wIGZhaWxzIGJlY2F1c2UgdGhlIGRlYnVnZ2VyIGZp bmRzIHR3byBkaWZmZXJlbnQNCj4gPiBsb2NhdGlvbnMsIG9uZSBmb3IgZWFjaCBpbmZlcmlvci4N Cj4gPiBTb2x1dGlvbiBpcyB0byBsaW1pdCB0aGUgc2VhcmNoIHRvIHRoZSBjdXJyZW50IHByb2dy YW0gc3BhY2UuDQo+IA0KPiBUaGFua3MgZm9yIHRoZSBmaXhlcy4gIEkgaGF2ZSBhIGNvdXBsZSBv ZiBtaW5vciBuaXRzIGJ1dCBJIHRoaW5rIHRoaXMgaXMNCj4gcHJldHR5IG11Y2ggT0suDQo+IA0K PiA+IC0tLQ0KPiA+ICBnZGIvaW5mY21kLmMgICAgICAgICAgICAgICAgICAgIHwgICAzICstDQo+ ID4gIGdkYi9saW5lc3BlYy5jICAgICAgICAgICAgICAgICAgfCAgIDcgKy0NCj4gPiAgZ2RiL2xp bmVzcGVjLmggICAgICAgICAgICAgICAgICB8ICAgNSArLQ0KPiA+ICBnZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2p1bXAuZXhwIHwgMTkzICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0NCj4g LQ0KPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDExOSBpbnNlcnRpb25zKCspLCA4OSBkZWxldGlvbnMo LSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9nZGIvaW5mY21kLmMgYi9nZGIvaW5mY21kLmMNCj4g PiBpbmRleCBhODUxZmUxZjhjOC4uMThhNTM3ODQ3Y2YgMTAwNjQ0DQo+ID4gLS0tIGEvZ2RiL2lu ZmNtZC5jDQo+ID4gKysrIGIvZ2RiL2luZmNtZC5jDQo+ID4gQEAgLTEwNzgsNyArMTA3OCw4IEBA IGp1bXBfY29tbWFuZCAoY29uc3QgY2hhciAqYXJnLCBpbnQgZnJvbV90dHkpDQo+ID4gICAgICBl cnJvcl9ub19hcmcgKF8oInN0YXJ0aW5nIGFkZHJlc3MiKSk7DQo+ID4NCj4gPiAgICBzdGQ6OnZl Y3RvcjxzeW10YWJfYW5kX2xpbmU+IHNhbHMNCj4gPiAtICAgID0gZGVjb2RlX2xpbmVfd2l0aF9s YXN0X2Rpc3BsYXllZCAoYXJnLCBERUNPREVfTElORV9GVU5GSVJTVExJTkUpOw0KPiA+ICsgICAg PSBkZWNvZGVfbGluZV93aXRoX2xhc3RfZGlzcGxheWVkIChhcmcsIERFQ09ERV9MSU5FX0ZVTkZJ UlNUTElORSwNCj4gPiArCQkJCSAgICAgICBjdXJyZW50X3Byb2dyYW1fc3BhY2UpOw0KPiA+ICAg IGlmIChzYWxzLnNpemUgKCkgIT0gMSkNCj4gPiAgICAgIGVycm9yIChfKCJVbnJlYXNvbmFibGUg anVtcCByZXF1ZXN0IikpOw0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2dkYi9saW5lc3BlYy5jIGIv Z2RiL2xpbmVzcGVjLmMNCj4gPiBpbmRleCAzNmYyZWY0NmE3Yy4uNTM2NjM2ODUxZTcgMTAwNjQ0 DQo+ID4gLS0tIGEvZ2RiL2xpbmVzcGVjLmMNCj4gPiArKysgYi9nZGIvbGluZXNwZWMuYw0KPiA+ IEBAIC0zMjMxLDcgKzMyMzEsOCBAQCBkZWNvZGVfbGluZV93aXRoX2N1cnJlbnRfc291cmNlIChj b25zdCBjaGFyDQo+ICpzdHJpbmcsIGludCBmbGFncykNCj4gPiAgLyogU2VlIGxpbmVzcGVjLmgu ICAqLw0KPiA+DQo+ID4gIHN0ZDo6dmVjdG9yPHN5bXRhYl9hbmRfbGluZT4NCj4gPiAtZGVjb2Rl X2xpbmVfd2l0aF9sYXN0X2Rpc3BsYXllZCAoY29uc3QgY2hhciAqc3RyaW5nLCBpbnQgZmxhZ3Mp DQo+ID4gK2RlY29kZV9saW5lX3dpdGhfbGFzdF9kaXNwbGF5ZWQgKGNvbnN0IGNoYXIgKnN0cmlu ZywgaW50IGZsYWdzLA0KPiA+ICsJCQkJIHByb2dyYW1fc3BhY2UgKnNlYXJjaF9wc3BhY2UpDQo+ ID4gIHsNCj4gPiAgICBpZiAoc3RyaW5nID09IDApDQo+ID4gICAgICBlcnJvciAoXygiRW1wdHkg bGluZSBzcGVjaWZpY2F0aW9uLiIpKTsNCj4gPiBAQCAtMzI0MCwxMCArMzI0MSwxMCBAQCBkZWNv ZGVfbGluZV93aXRoX2xhc3RfZGlzcGxheWVkIChjb25zdCBjaGFyDQo+ICpzdHJpbmcsIGludCBm bGFncykNCj4gPiAgCQkJCQkJICAgICAgY3VycmVudF9sYW5ndWFnZSk7DQo+ID4gICAgc3RkOjp2 ZWN0b3I8c3ltdGFiX2FuZF9saW5lPiBzYWxzDQo+ID4gICAgICA9IChsYXN0X2Rpc3BsYXllZF9z YWxfaXNfdmFsaWQgKCkNCj4gPiAtICAgICAgID8gZGVjb2RlX2xpbmVfMSAobG9jc3BlYy5nZXQg KCksIGZsYWdzLCBOVUxMLA0KPiA+ICsgICAgICAgPyBkZWNvZGVfbGluZV8xIChsb2NzcGVjLmdl dCAoKSwgZmxhZ3MsIHNlYXJjaF9wc3BhY2UsDQo+ID4gIAkJCWdldF9sYXN0X2Rpc3BsYXllZF9z eW10YWIgKCksDQo+ID4gIAkJCWdldF9sYXN0X2Rpc3BsYXllZF9saW5lICgpKQ0KPiA+IC0gICAg ICAgOiBkZWNvZGVfbGluZV8xIChsb2NzcGVjLmdldCAoKSwgZmxhZ3MsIE5VTEwsIE5VTEwsIDAp KTsNCj4gPiArICAgICAgIDogZGVjb2RlX2xpbmVfMSAobG9jc3BlYy5nZXQgKCksIGZsYWdzLCBz ZWFyY2hfcHNwYWNlLCBOVUxMLCAwKSk7DQo+ID4NCj4gPiAgICBpZiAoKnN0cmluZykNCj4gPiAg ICAgIGVycm9yIChfKCJKdW5rIGF0IGVuZCBvZiBsaW5lIHNwZWNpZmljYXRpb246ICVzIiksIHN0 cmluZyk7DQo+ID4gZGlmZiAtLWdpdCBhL2dkYi9saW5lc3BlYy5oIGIvZ2RiL2xpbmVzcGVjLmgN Cj4gPiBpbmRleCBkNWU3MzM0ZmUyZC4uMGViOWNiNWQ5ZjIgMTAwNjQ0DQo+ID4gLS0tIGEvZ2Ri L2xpbmVzcGVjLmgNCj4gPiArKysgYi9nZGIvbGluZXNwZWMuaA0KPiA+IEBAIC0xMzksMTAgKzEz OSwxMSBAQCBleHRlcm4gc3RkOjp2ZWN0b3I8c3ltdGFiX2FuZF9saW5lPg0KPiBkZWNvZGVfbGlu ZV93aXRoX2N1cnJlbnRfc291cmNlDQo+ID4gICAgICAoY29uc3QgY2hhciAqLCBpbnQpOw0KPiA+ DQo+ID4gIC8qIEdpdmVuIGEgc3RyaW5nLCByZXR1cm4gdGhlIGxpbmUgc3BlY2lmaWVkIGJ5IGl0 LCB1c2luZyB0aGUgbGFzdCBkaXNwbGF5ZWQNCj4gPiAtICAgY29kZXBvaW50J3MgdmFsdWVzIGFz IGRlZmF1bHRzLCBvciBub3RoaW5nIGlmIHRoZXkgYXJlbid0IHZhbGlkLiAgKi8NCj4gPiArICAg Y29kZXBvaW50J3MgdmFsdWVzIGFzIGRlZmF1bHRzLCBvciBub3RoaW5nIGlmIHRoZXkgYXJlbid0 IHZhbGlkLg0KPiA+ICsgICBMaW1pdCB0aGUgc2VhcmNoIHRvIGdpdmVuIHByb2dyYW0gc3BhY2Us IGlmIHNwZWNpZmllZC4gICovDQo+ID4NCj4gPiAgZXh0ZXJuIHN0ZDo6dmVjdG9yPHN5bXRhYl9h bmRfbGluZT4gZGVjb2RlX2xpbmVfd2l0aF9sYXN0X2Rpc3BsYXllZA0KPiA+IC0gICAgKGNvbnN0 IGNoYXIgKiwgaW50KTsNCj4gPiArICAgIChjb25zdCBjaGFyICosIGludCwgcHJvZ3JhbV9zcGFj ZSAqc2VhcmNoX3BzcGFjZSA9IG51bGxwdHIpOw0KPiA+DQo+ID4gIC8qIERvZXMgUCByZXByZXNl bnQgb25lIG9mIHRoZSBrZXl3b3Jkcz8gIElmIHNvLCByZXR1cm4NCj4gPiAgICAgdGhlIGtleXdv cmQuICBJZiBub3QsIHJldHVybiBOVUxMLiAgKi8NCj4gPiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9qdW1wLmV4cA0KPiBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvanVtcC5l eHANCj4gPiBpbmRleCAwMzJjNGE2Mjc5ZC4uY2EyMTQ5OTMwMjUgMTAwNjQ0DQo+ID4gLS0tIGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qdW1wLmV4cA0KPiA+ICsrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvanVtcC5leHANCj4gPiBAQCAtMTgsOTkgKzE4LDEyNiBAQCBjbGVhcl94ZmFpbCAi Ki0qLSoiDQo+ID4NCj4gPiAgc3RhbmRhcmRfdGVzdGZpbGUgLmMNCj4gPg0KPiA+IC0jIEJ1aWxk IHRoZSB0ZXN0IGNhc2UNCj4gPiAtaWYgIHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJk aXJ9LyR7c3JjZmlsZX0iICIke2JpbmZpbGV9IiBleGVjdXRhYmxlDQo+IHtkZWJ1ZyBub3dhcm5p bmdzfV0gIT0gIiIgfSB7DQo+ID4gLSAgICAgdW50ZXN0ZWQgImZhaWxlZCB0byBjb21waWxlIg0K PiA+IC0gICAgIHJldHVybiAtMQ0KPiA+IC0gICAgfQ0KPiA+ICtpZiB7W3ByZXBhcmVfZm9yX3Rl c3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAkdGVzdGZpbGUgJHNyY2ZpbGUgZGVidWddfSB7DQo+ ID4gKyAgICByZXR1cm4gLTENCj4gPiArfQ0KPiA+DQo+ID4NCj4gPiAtIyBTdGFydCB3aXRoIGEg ZnJlc2ggZ2RiDQo+ID4gK3Byb2MgZG9fdGVzdHMge30gew0KPiA+ICsgICAgZ2xvYmFsIGRlY2lt YWwgc3JjZmlsZQ0KPiA+ICsNCj4gPiArICAgICMgU2V0IGEgYnJlYWtwb2ludCBvbiB0aGUgc3Rh dGVtZW50IHRoYXQgd2UncmUgYWJvdXQgdG8ganVtcCB0by4NCj4gPiArICAgICMgVGhlIHN0YXRl bWVudCBkb2Vzbid0IGNvbnRhaW4gYSBmdW5jdGlvbiBjYWxsLg0KPiA+ICsgICAgIw0KPiA+ICsg ICAgc2V0IGJwX29uX25vbl9jYWxsIDANCj4gDQo+IFRoaXMgbGluZSBpcyBub3cgcmVkdW5kYW50 IGFzIHdlIHVuY29uZGl0aW9uYWxseSBzZXQgYSB2YWx1ZSBiZWxvdy4NCj4gDQo+ID4gKyAgICBz ZXQgbm9uX2NhbGxfbGluZSBbZ2RiX2dldF9saW5lX251bWJlciAiYnAtb24tbm9uLWNhbGwiXQ0K PiA+ICsgICAgZ2RiX2JyZWFrcG9pbnQgIiRub25fY2FsbF9saW5lIg0KPiA+ICsgICAgc2V0IGJw X29uX25vbl9jYWxsIFtnZXRfaW50ZWdlcl92YWx1ZW9mICJcJGJwbnVtIiAiSU5WQUxJRCINCj4g ImJwX29uX25vbl9jYWxsIl0NCj4gDQo+IFRoaXMgbGluZSBpcyBhIGJpdCBsb25nLiAgUGxlYXNl IHdyYXAgaXQgc29tZXdoZXJlLg0KPiANCj4gPiArDQo+ID4gKyAgICAjIENhbiB3ZSBqdW1wIHRv IHRoZSBzdGF0ZW1lbnQ/ICBEbyB3ZSBzdG9wIHRoZXJlPw0KPiA+ICsgICAgIw0KPiA+ICsgICAg Z2RiX3Rlc3QgImp1bXAgJG5vbl9jYWxsX2xpbmUiIFwNCj4gPiArCSJCcmVha3BvaW50ICR7YnBf b25fbm9uX2NhbGx9KFwuJHtkZWNpbWFsfSk/LA0KPiAuKiR7c3JjZmlsZX06JG5vbl9jYWxsX2xp bmUuKiIgXA0KPiA+ICsJImp1bXAgdG8gbm9uLWNhbGwiDQo+ID4gKw0KPiA+ICsgICAgIyBTZXQg YSBicmVha3BvaW50IG9uIHRoZSBzdGF0ZW1lbnQgdGhhdCB3ZSdyZSBhYm91dCB0byBqdW1wIHRv Lg0KPiA+ICsgICAgIyBUaGUgc3RhdGVtZW50IGRvZXMgY29udGFpbiBhIGZ1bmN0aW9uIGNhbGwu DQo+ID4gKyAgICAjDQo+ID4gKyAgICBzZXQgYnBfb25fY2FsbCAwDQo+IA0KPiBBZ2FpbiB0aGlz IGxpbmUgY2FuIGJlIHJlbW92ZWQuDQo+IA0KPiA+ICsgICAgc2V0IGNhbGxfbGluZSBbZ2RiX2dl dF9saW5lX251bWJlciAiYnAtb24tY2FsbCJdDQo+ID4gKyAgICBnZGJfYnJlYWtwb2ludCAiJGNh bGxfbGluZSINCj4gPiArICAgIHNldCBicF9vbl9jYWxsIFtnZXRfaW50ZWdlcl92YWx1ZW9mICJc JGJwbnVtIiAiSU5WQUxJRCINCj4gImJwX29uX2NhbGwiXQ0KPiA+ICsNCj4gPiArICAgICMgQ2Fu IHdlIGp1bXAgdG8gdGhlIHN0YXRlbWVudD8gIERvIHdlIHN0b3AgdGhlcmU/DQo+ID4gKyAgICAj DQo+ID4gKyAgICBnZGJfdGVzdCAianVtcCAkY2FsbF9saW5lIiBcDQo+ID4gKwkiQnJlYWtwb2lu dCAke2JwX29uX2NhbGx9KFwuJHtkZWNpbWFsfSk/LCAuKiR7c3JjZmlsZX06JGNhbGxfbGluZS4q IiBcDQo+ID4gKwkianVtcCB0byBjYWxsIg0KPiA+ICsNCj4gPiArICAgICMgSWYgd2UgZGlzYWJs ZSB0aGUgYnJlYWtwb2ludCBhdCB0aGUgZnVuY3Rpb24gY2FsbCwgYW5kIHRoZW4NCj4gPiArICAg ICMgaWYgd2UganVtcCB0byB0aGF0IHN0YXRlbWVudCwgZG8gd2Ugbm90IHN0b3AgdGhlcmUsIGJ1 dCBhdA0KPiA+ICsgICAgIyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQ/DQo+ID4gKyAgICAjDQo+ ID4gKyAgICBnZGJfdGVzdF9ub19vdXRwdXQgImRpc2FibGUgJGJwX29uX2NhbGwiICJkaXNhYmxl IGJyZWFrcG9pbnQgb24gY2FsbCINCj4gPiArDQo+ID4gKyAgICBnZGJfdGVzdCAianVtcCAkY2Fs bF9saW5lIiBcDQo+ID4gKwkiQnJlYWtwb2ludCAke2JwX29uX25vbl9jYWxsfShcLiR7ZGVjaW1h bH0pPywNCj4gLioke3NyY2ZpbGV9OiRub25fY2FsbF9saW5lLioiIFwNCj4gPiArCSJqdW1wIHRv IGNhbGwgd2l0aCBkaXNhYmxlZCBicmVha3BvaW50Ig0KPiA+ICsNCj4gPiArICAgICMgRGlzYWJs ZSB0aGUgYnJlYWtwb2ludCBhdCB0aGUgbm9uLWZ1bmN0aW9uIGNhbGwsIHNvIGl0IHdvbid0IGJl DQo+ID4gKyAgICAjIHRoZXJlIGlmIGRvX3Rlc3QgaXMgY2FsbGVkIGFnYWluLg0KPiANCj4gSSB0 aGluayBzL3RoZXJlL2hpdC8gaW4gdGhpcyBjb21tZW50LiAgV2hlbiBJIHJlYWQgdGhpcyBJIGlu aXRpYWxseQ0KPiBleHBlY3RlZCB0aGUgY29kZSB0byBiZSBkZWxldGluZyB0aGUgYnJlYWtwb2lu dCByYXRoZXIgdGhhbiBqdXN0DQo+IGRpc2FibGluZyBpdC4NCj4gDQo+ID4gKyAgICBnZGJfdGVz dF9ub19vdXRwdXQgImRpc2FibGUgJHticF9vbl9ub25fY2FsbH0iICJkaXNhYmxlDQo+IGJwX29u X25vbl9jYWxsIg0KPiA+ICsNCj4gPiArDQo+IA0KPiBDYW4gZGVsZXRlIG9uZSBvZiB0aGUgZW1w dHkgbGluZXMgYWRkZWQgaGVyZS4NCj4gDQo+ID4gKyAgICAjIFZlcmlmeSB0aGF0IEdEQiByZXNw b25kcyBncmFjZWZ1bGx5IHRvIHRoZSAianVtcCIgY29tbWFuZCB3aXRob3V0DQo+ID4gKyAgICAj IGFuIGFyZ3VtZW50Lg0KPiA+ICsgICAgIw0KPiA+ICsgICAgZ2RiX3Rlc3QgImp1bXAiICJBcmd1 bWVudCByZXF1aXJlZCAuc3RhcnRpbmcgYWRkcmVzcy4qIiBcDQo+ID4gKwkianVtcCB3aXRob3V0 IGFyZ3VtZW50IGRpc2FsbG93ZWQiDQo+ID4gKw0KPiA+ICsNCj4gDQo+IEFnYWluLCBvbmx5IG5l ZWQgYSBzaW5nbGUgYmxhbmsgbGluZSBoZXJlLg0KPiANCj4gPiArICAgICMgVmVyaWZ5IHRoYXQg R0RCIHJlc3BvbmRzIGdyYWNlZnVsbHkgdG8gdGhlICJqdW1wIiBjb21tYW5kIHdpdGgNCj4gPiAr ICAgICMgdHJhaWxpbmcganVuay4NCj4gPiArICAgICMNCj4gPiArICAgIGdkYl90ZXN0ICJqdW1w ICRjYWxsX2xpbmUgMTAwIiBcDQo+ID4gKwkibWFsZm9ybWVkIGxpbmVzcGVjIGVycm9yOiB1bmV4 cGVjdGVkIG51bWJlciwgXCIxMDBcIiIgXA0KPiA+ICsJImp1bXAgd2l0aCB0cmFpbGluZyBhcmd1 bWVudCBqdW5rIg0KPiA+ICsNCj4gPiArDQo+IA0KPiBBbmQgaGVyZS4NCj4gDQo+ID4gKyAgICAj IFZlcmlmeSB0aGF0IEdEQiByZXNwb25kcyBncmFjZWZ1bGx5IHRvIGEgcmVxdWVzdCB0byBqdW1w IG91dCBvZg0KPiA+ICsgICAgIyB0aGUgY3VycmVudCBmdW5jdGlvbi4gIChOb3RlIHRoYXQgdGhp cyB3aWxsIHZlcnkgbGlrZWx5IGNhdXNlIHRoZQ0KPiA+ICsgICAgIyBpbmZlcmlvciB0byBkaWUu ICBCZSBwcmVwYXJlZCB0byByZXJ1biB0aGUgaW5mZXJpb3IsIGlmIGZ1cnRoZXINCj4gPiArICAg ICMgdGVzdGluZyBpcyBkZXNpcmVkLikNCj4gPiArICAgICMNCj4gPiArICAgICMgVHJ5IGl0IGJv dGggd2F5czogY29uZmlybWluZyBhbmQgbm90IGNvbmZpcm1pbmcgdGhlIGp1bXAuDQo+ID4gKyAg ICAjDQo+IA0KPiBEcm9wIHRoaXMgcmFuZG9tIHRyYWlsaW5nICcjJyBsaW5lLg0KPiANCj4gPiAr DQo+ID4gKyAgICBzZXQgb3V0X2xpbmUgW2dkYl9nZXRfbGluZV9udW1iZXIgIm91dC1vZi1mdW5j Il0NCj4gPiArICAgIGdkYl90ZXN0ICJqdW1wICRvdXRfbGluZSIgXA0KPiA+ICsJIk5vdCBjb25m aXJtZWQuKiIgXA0KPiA+ICsJImFib3J0ZWQganVtcCBvdXQgb2YgY3VycmVudCBmdW5jdGlvbiIg XA0KPiA+ICsJIkxpbmUgJG91dF9saW5lIGlzIG5vdCBpbiBgbWFpbicuICBKdW1wIGFueXdheS4q eSBvciBuLiAkIiBcDQo+ID4gKwkibiINCj4gPiArDQo+ID4gKyAgICBnZGJfdGVzdCAianVtcCAk b3V0X2xpbmUiIFwNCj4gPiArCSJDb250aW51aW5nIGF0LioiIFwNCj4gPiArCSJqdW1wIG91dCBv ZiBjdXJyZW50IGZ1bmN0aW9uIiBcDQo+ID4gKwkiTGluZSAkb3V0X2xpbmUgaXMgbm90IGluIGBt YWluJy4gIEp1bXAgYW55d2F5Lip5IG9yIG4uICQiIFwNCj4gPiArCSJ5Ig0KPiA+ICt9DQo+ID4N Cj4gPiAtY2xlYW5fcmVzdGFydCAke2JpbmZpbGV9DQo+ID4NCj4gPiAtaWYgeyFbcnVudG9fbWFp bl19IHsNCj4gPiAtICByZXR1cm4gLTENCj4gPiArc2V0IGluZmVyaW9ycyAxDQo+ID4gK2lmIHsh W3VzZV9nZGJfc3R1Yl19IHsNCj4gPiArICAgIHNldCBpbmZlcmlvcnMgMg0KPiA+ICB9DQo+ID4N Cj4gPiAtIyBTZXQgYSBicmVha3BvaW50IG9uIHRoZSBzdGF0ZW1lbnQgdGhhdCB3ZSdyZSBhYm91 dCB0byBqdW1wIHRvLg0KPiA+IC0jIFRoZSBzdGF0ZW1lbnQgZG9lc24ndCBjb250YWluIGEgZnVu Y3Rpb24gY2FsbC4NCj4gPiAtIw0KPiA+IC1zZXQgYnBfb25fbm9uX2NhbGwgMA0KPiA+IC1zZXQg bm9uX2NhbGxfbGluZSBbZ2RiX2dldF9saW5lX251bWJlciAiYnAtb24tbm9uLWNhbGwiXQ0KPiA+ IC1nZGJfdGVzdF9tdWx0aXBsZSAiYnJlYWsgJG5vbl9jYWxsX2xpbmUiICJicmVhayBiZWZvcmUg anVtcCB0byBub24tY2FsbCINCj4gew0KPiA+IC0gICAgLXJlICJcW0JiXF1yZWFrcG9pbnQgKCR7 ZGVjaW1hbH0pIGF0ICR7aGV4fTogZmlsZSAuKiR7c3JjZmlsZX0sIGxpbmUNCj4gJG5vbl9jYWxs X2xpbmUuKiRnZGJfcHJvbXB0ICQiIHsNCj4gPiAtCXNldCBicF9vbl9ub25fY2FsbCAkZXhwZWN0 X291dCgxLHN0cmluZykNCj4gPiAtCXBhc3MgImJyZWFrIGJlZm9yZSBqdW1wIHRvIG5vbi1jYWxs Ig0KPiA+ICsjIFJ1biB0byBtYWluLCBhZGQgaW5mZXJpb3JzIGlmIG5lZWRlZC4NCj4gPiArZm9y IHtzZXQgaW5mIDF9IHskaW5mIDw9ICRpbmZlcmlvcnN9IHtpbmNyIGluZn0gew0KPiA+ICsgICAg aWYgeyRpbmYgIT0gMX0gew0KPiA+ICsJIyBTdGFydCBhIG5ldyBpbmZlcmlvciwgYW5kIHJ1biBp dCB3aXRoIHRoZSBzYW1lIGV4ZWN1dGFibGUuDQo+ID4gKwlnZGJfdGVzdCAiYWRkLWluZmVyaW9y IC1leGVjICR7YmluZmlsZX0iIFwNCj4gPiArCSAgICAiQWRkZWQgaW5mZXJpb3IgJHtpbmZ9Lioi IFwNCj4gPiArCSAgICAiYWRkIGluZmVyaW9yICR7aW5mfSB3aXRoIC1leGVjICINCj4gPiArCWdk Yl90ZXN0ICJpbmZlcmlvciAke2luZn0iIFwNCj4gPiArCSAgICAiU3dpdGNoaW5nIHRvIGluZmVy aW9yICR7aW5mfSAuKiIgXA0KPiA+ICsJICAgICJzd2l0Y2ggdG8gaW5mZXJpb3IgJHtpbmZ9Ig0K PiA+ICsgICAgfQ0KPiA+ICsgICAgaWYgIVtydW50b19tYWluXSB0aGVuIHsNCj4gDQo+IFdlIGRv bid0IHVzZSB0aGUgJ3RoZW4nIGtleXdvcmQsIHRoaXMgc2hvdWxkIGJlIHdyaXR0ZW4gbGlrZSB0 aGlzOg0KPiANCj4gICBpZiB7IVtydW50b19tYWluXX0gew0KPiANCj4gDQo+ID4gKwlwZXJyb3Ig IkNvdWxkbid0IHJ1biBpbmZlcmlvciAke2luZn0gdG8gbWFpbiINCj4gDQo+IEkgZG9uJ3QgdGhp bmsgdGhpcyBwZXJyb3IgY2FsbCBpcyBuZWVkZWQgaGVyZS4gIHJ1bnRvX21haW4gd2lsbCBhbHJl YWR5DQo+IGVtaXQgYSBGQUlMIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nLg0KPiANCj4gPiArCXJl dHVybiAtMQ0KPiA+ICAgICAgfQ0KPiA+ICB9DQo+ID4NCj4gPiAtIyBDYW4gd2UganVtcCB0byB0 aGUgc3RhdGVtZW50PyAgRG8gd2Ugc3RvcCB0aGVyZT8NCj4gPiAtIw0KPiA+IC1nZGJfdGVzdCAi anVtcCAkbm9uX2NhbGxfbGluZSIgIkJyZWFrcG9pbnQgJHtkZWNpbWFsfSwNCj4gLioke3NyY2Zp bGV9OiRub25fY2FsbF9saW5lLioiIFwNCj4gPiAtICAgICJqdW1wIHRvIG5vbi1jYWxsIg0KPiA+ IC0NCj4gPiAtIyBTZXQgYSBicmVha3BvaW50IG9uIHRoZSBzdGF0ZW1lbnQgdGhhdCB3ZSdyZSBh Ym91dCB0byBqdW1wIHRvLg0KPiA+IC0jIFRoZSBzdGF0ZW1lbnQgZG9lcyBjb250YWluIGEgZnVu Y3Rpb24gY2FsbC4NCj4gPiAtIw0KPiA+IC1zZXQgYnBfb25fY2FsbCAwDQo+ID4gLXNldCBjYWxs X2xpbmUgW2dkYl9nZXRfbGluZV9udW1iZXIgImJwLW9uLWNhbGwiXQ0KPiA+IC1nZGJfdGVzdF9t dWx0aXBsZSAiYnJlYWsgJGNhbGxfbGluZSIgImJyZWFrIGJlZm9yZSBqdW1wIHRvIGNhbGwiIHsN Cj4gPiAtICAgIC1yZSAiXFtCYlxdcmVha3BvaW50ICgke2RlY2ltYWx9KSBhdCAke2hleH06IGZp bGUgLioke3NyY2ZpbGV9LCBsaW5lDQo+ICRjYWxsX2xpbmUuKiRnZGJfcHJvbXB0ICQiIHsNCj4g PiAtCXNldCBicF9vbl9jYWxsICRleHBlY3Rfb3V0KDEsc3RyaW5nKQ0KPiA+IC0JcGFzcyAiYnJl YWsgYmVmb3JlIGp1bXAgdG8gY2FsbCINCj4gPiArIyBSdW4gdGVzdHMgb24gYWxsIGluZmVyaW9y cy4NCj4gPiArZm9yIHtzZXQgaW5mIDF9IHskaW5mIDw9ICRpbmZlcmlvcnN9IHtpbmNyIGluZn0g ew0KPiA+ICsgICAgd2l0aF90ZXN0X3ByZWZpeCAiaW5mZXJpb3IgJGluZiIgew0KPiA+ICsJIyBT d2l0Y2ggdG8gdGhlIHRhcmdldCBpbmZlcmlvci4NCj4gPiArCWdkYl90ZXN0ICJpbmZlcmlvciAk aW5mIiAiLipTd2l0Y2hpbmcgdG8gaW5mZXJpb3IgJGluZiAuKiINCj4gPiArCSMgUnVuIHRoZSB0 ZXN0cy4NCj4gPiArCWRvX3Rlc3RzDQo+ID4gICAgICB9DQo+ID4gIH0NCj4gPg0KPiA+IC0jIENh biB3ZSBqdW1wIHRvIHRoZSBzdGF0ZW1lbnQ/ICBEbyB3ZSBzdG9wIHRoZXJlPw0KPiA+IC0jDQo+ ID4gLWdkYl90ZXN0ICJqdW1wICRjYWxsX2xpbmUiIFwNCj4gPiAtICAgICJCcmVha3BvaW50ICR7 ZGVjaW1hbH0sIC4qJHtzcmNmaWxlfTokY2FsbF9saW5lLioiIFwNCj4gPiAtICAgICJqdW1wIHRv IGNhbGwiDQo+ID4gLQ0KPiA+IC0jIElmIHdlIGRpc2FibGUgdGhlIGJyZWFrcG9pbnQgYXQgdGhl IGZ1bmN0aW9uIGNhbGwsIGFuZCB0aGVuDQo+ID4gLSMgaWYgd2UganVtcCB0byB0aGF0IHN0YXRl bWVudCwgZG8gd2Ugbm90IHN0b3AgdGhlcmUsIGJ1dCBhdA0KPiA+IC0jIHRoZSBmb2xsb3dpbmcg YnJlYWtwb2ludD8NCj4gPiAtIw0KPiA+IC1nZGJfdGVzdF9ub19vdXRwdXQgImRpc2FibGUgJGJw X29uX2NhbGwiICJkaXNhYmxlIGJyZWFrcG9pbnQgb24gY2FsbCINCj4gPiAtDQo+ID4gLWdkYl90 ZXN0ICJqdW1wICRjYWxsX2xpbmUiICJCcmVha3BvaW50ICR7ZGVjaW1hbH0sDQo+IC4qJHtzcmNm aWxlfTokbm9uX2NhbGxfbGluZS4qIiBcDQo+ID4gLSAgICAianVtcCB0byBjYWxsIHdpdGggZGlz YWJsZWQgYnJlYWtwb2ludCINCj4gPiAtDQo+ID4gLSMgVmVyaWZ5IHRoYXQgR0RCIHJlc3BvbmRz IGdyYWNlZnVsbHkgdG8gdGhlICJqdW1wIiBjb21tYW5kIHdpdGhvdXQNCj4gPiAtIyBhbiBhcmd1 bWVudC4NCj4gPiAtIw0KPiA+IC1nZGJfdGVzdCAianVtcCIgIkFyZ3VtZW50IHJlcXVpcmVkIC5z dGFydGluZyBhZGRyZXNzLioiIFwNCj4gPiAtICAgICJqdW1wIHdpdGhvdXQgYXJndW1lbnQgZGlz YWxsb3dlZCINCj4gPiAtDQo+ID4gLQ0KPiA+IC0jIFZlcmlmeSB0aGF0IEdEQiByZXNwb25kcyBn cmFjZWZ1bGx5IHRvIHRoZSAianVtcCIgY29tbWFuZCB3aXRoDQo+ID4gLSMgdHJhaWxpbmcganVu ay4NCj4gPiAtIw0KPiA+IC1nZGJfdGVzdCAianVtcCAkY2FsbF9saW5lIDEwMCIgXA0KPiA+IC0g ICAgIm1hbGZvcm1lZCBsaW5lc3BlYyBlcnJvcjogdW5leHBlY3RlZCBudW1iZXIsIFwiMTAwXCIi IFwNCj4gPiAtICAgICJqdW1wIHdpdGggdHJhaWxpbmcgYXJndW1lbnQganVuayINCj4gPiAtDQo+ ID4gLQ0KPiA+IC0jIFZlcmlmeSB0aGF0IEdEQiByZXNwb25kcyBncmFjZWZ1bGx5IHRvIGEgcmVx dWVzdCB0byBqdW1wIG91dCBvZg0KPiA+IC0jIHRoZSBjdXJyZW50IGZ1bmN0aW9uLiAgKE5vdGUg dGhhdCB0aGlzIHdpbGwgdmVyeSBsaWtlbHkgY2F1c2UgdGhlDQo+ID4gLSMgaW5mZXJpb3IgdG8g ZGllLiAgQmUgcHJlcGFyZWQgdG8gcmVydW4gdGhlIGluZmVyaW9yLCBpZiBmdXJ0aGVyDQo+ID4g LSMgdGVzdGluZyBpcyBkZXNpcmVkLikNCj4gPiAtIw0KPiA+IC0jIFRyeSBpdCBib3RoIHdheXM6 IGNvbmZpcm1pbmcgYW5kIG5vdCBjb25maXJtaW5nIHRoZSBqdW1wLg0KPiA+IC0jDQo+ID4gLQ0K PiA+IC1zZXQgb3V0X2xpbmUgW2dkYl9nZXRfbGluZV9udW1iZXIgIm91dC1vZi1mdW5jIl0NCj4g PiAtZ2RiX3Rlc3QgImp1bXAgJG91dF9saW5lIiBcDQo+ID4gLSAgICAiTm90IGNvbmZpcm1lZC4q IiBcDQo+ID4gLSAgICAiYWJvcnRlZCBqdW1wIG91dCBvZiBjdXJyZW50IGZ1bmN0aW9uIiBcDQo+ ID4gLSAgICAiTGluZSAkb3V0X2xpbmUgaXMgbm90IGluIGBtYWluJy4gIEp1bXAgYW55d2F5Lip5 IG9yIG4uICQiIFwNCj4gPiAtICAgICJuIg0KPiA+IC0NCj4gPiAtZ2RiX3Rlc3QgImp1bXAgJG91 dF9saW5lIiBcDQo+ID4gLSAgICAiQ29udGludWluZyBhdC4qIiBcDQo+ID4gLSAgICAianVtcCBv dXQgb2YgY3VycmVudCBmdW5jdGlvbiIgXA0KPiA+IC0gICAgIkxpbmUgJG91dF9saW5lIGlzIG5v dCBpbiBgbWFpbicuICBKdW1wIGFueXdheS4qeSBvciBuLiAkIiBcDQo+ID4gLSAgICAieSINCj4g PiAtDQo+ID4gIGdkYl9leGl0DQo+ID4gK3JldHVybiAwDQo+IA0KPiBUaGlzICdyZXR1cm4gMCcg Y2FuIGJlIGRyb3BwZWQuDQo+IA0KPiBXaXRoIHRoZXNlIGZpeGVkOg0KPiANCj4gQXBwcm92ZWQt Qnk6IEFuZHJldyBCdXJnZXNzIDxhYnVyZ2Vzc0ByZWRoYXQuY29tPg0KPiANCj4gDQo+IFRoYW5r cywNCj4gQW5kcmV3DQo+IA0KPiA+IC0tDQo+ID4gMi4yNS4xDQo+ID4NCj4gPiBJbnRlbCBEZXV0 c2NobGFuZCBHbWJIDQo+ID4gUmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1wZW9uIDEwLCA4NTU3 OSBOZXViaWJlcmcsIEdlcm1hbnkNCj4gPiBUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRl bC5kZSA8aHR0cDovL3d3dy5pbnRlbC5kZT4NCj4gPiBNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlz dGluIEVpc2Vuc2NobWlkLCBTaGFyb24gSGVjaywgVGlmZmFueSBEb29uIFNpbHZhDQo+ID4gQ2hh aXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1DQo+ID4gUmVnaXN0 ZXJlZCBPZmZpY2U6IE11bmljaA0KPiA+IENvbW1lcmNpYWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0 IE11ZW5jaGVuIEhSQiAxODY5MjgNCg0KSW50ZWwgRGV1dHNjaGxhbmQgR21iSApSZWdpc3RlcmVk IEFkZHJlc3M6IEFtIENhbXBlb24gMTAsIDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQpUZWw6ICs0 OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZSA8aHR0cDovL3d3dy5pbnRlbC5kZT4KTWFuYWdp bmcgRGlyZWN0b3JzOiBDaHJpc3RpbiBFaXNlbnNjaG1pZCwgU2hhcm9uIEhlY2ssIFRpZmZhbnkg RG9vbiBTaWx2YSAgCkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogTmljb2xl IExhdQpSZWdpc3RlcmVkIE9mZmljZTogTXVuaWNoCkNvbW1lcmNpYWwgUmVnaXN0ZXI6IEFtdHNn ZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5MjgK