From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id D9BD3384F01E for ; Wed, 13 Jul 2022 15:22:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D9BD3384F01E X-IronPort-AV: E=McAfee;i="6400,9594,10407"; a="349213629" X-IronPort-AV: E=Sophos;i="5.92,267,1650956400"; d="scan'208";a="349213629" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2022 08:20:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,267,1650956400"; d="scan'208";a="628341297" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga001.jf.intel.com with ESMTP; 13 Jul 2022 08:20:50 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 13 Jul 2022 08:20:50 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.2308.27 via Frontend Transport; Wed, 13 Jul 2022 08:20:50 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.47) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Wed, 13 Jul 2022 08:20:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L7QUqwJdtECFUNQ5+5npNZXKr9UolvXyP/0zFxeJrF3d4v/sKj2mt0m+4lJAThlXnHwRvfLcvP9jkTQfEm2f2ZCQ0Ul7bHrd7bK/dx/pLOezazekIGsd9dbxp7jONXtQJ9pz/fVESm+RtDnxQrnC26wxMF6V0NsqzYXElwwsYCuM1B7WRD9pm31p6atug8LQCa0faQ2wJn5bSVkew7/kAACtExnuvpvs0s6O5pJc17RYa4sY2Jn4EOxj7wOAg0Pw5BosAxBntyYAikI/xmRORSndQQYFaJyhp+ZVl497HjRwLsg3W4Vlqrsnv8AYwhLWrU+wzKPJcNqdyG9Zz/4IVA== 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=GOj7gPJF6rqOuo3ff+n57VWkvt1oS6horVKyy329CL8=; b=FdNg2g4aL2bJ2NP9aOQBe+o8qHp33Ix+x0j33jlxvIfGBpT5cHMeK9Tc8zRhUCxZdNA/I/R2sol0rmqV/TtGM70niPs1+kM0Hc1pbOFPJNukl7Xx6OLqJU7CbsmjssBw78WN0AfYEEpbSFV9q/h7AaNb91ywH4BA3U2bqnXt9jNY4sq4YeGiwbUxkXN4xEyqA6TsOIYcQsgdQvVVwOBxvxyzmYtdXjqd71Is12XapmAWDpnW/jq3LyaZWzDph4w8GPRTjCp2z4pwaify56tx5lKecrZZel0JYKdvszvVbJHHVJKUGKEhUiTw08aRKVQwcEGm1/lV6SdWC9WnjstzFw== 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 DM8PR11MB5749.namprd11.prod.outlook.com (2603:10b6:8:10::15) by DM5PR1101MB2249.namprd11.prod.outlook.com (2603:10b6:4:5a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.20; Wed, 13 Jul 2022 15:20:49 +0000 Received: from DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::f9d8:e8a8:94ec:58db]) by DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::f9d8:e8a8:94ec:58db%7]) with mapi id 15.20.5417.026; Wed, 13 Jul 2022 15:20:49 +0000 From: "Metzger, Markus T" To: "Willgerodt, Felix" CC: "gdb-patches@sourceware.org" Subject: RE: [PATCH v5 09/10] btrace, python: Enable ptwrite filter registration. Thread-Topic: [PATCH v5 09/10] btrace, python: Enable ptwrite filter registration. Thread-Index: AQHYhi3CNcWdISaVfEuwssdNAP0kAq1k1sEAgBRl04CAADGnwIACsFoAgABopmA= Date: Wed, 13 Jul 2022 15:20:49 +0000 Message-ID: References: <20220622114340.55830-1-felix.willgerodt@intel.com> <20220622114340.55830-10-felix.willgerodt@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 dlp-product: dlpe-windows x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8d17ae69-9b67-4338-85d9-08da64e3444d x-ms-traffictypediagnostic: DM5PR1101MB2249:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oCAOkHPEKtnG8aV+ixWvh3ob1X6Da0ueHcSqcTKcRVExIDpfFHweaqV6580PogUZ/qHAj0Vt0sMHp0uZxSPGjfPvmmJeejM890SN3kJOSmD5fcp4aWxNLiFEQeysqyNkN3Q2LHIutFs2TTW8d33V8k5ia4IhrKE36uvz4/8PB5fiDB1QimD7a+Xw3CyezFf6g7p/FK8lyINz1i5CapZpqwK12u1OHYazC8BMyTQ1lcwQmwdE3X25R9luY8dNCT0KMoPLoARRyurzzlq83OubQub2zSy7YqDxHLOXiEHXrnAV3YMr/wyRBktdFBiff6KvYiF58YHrcsnFVaR/kYd4S8jhU3UAKAnlf/cqvPab4ysHB19HGx+yBiVODOWU6Tug38/kir/43LhVXzmy22n20SYLpQHZcQNYogfn+fp8zLZtb4WLylV83nl5wW6tnOdzCR2Is2LB5qndLA7MCi99xjrC2jGMBPWnPI5lwQKaAzEaskCU+cSzacZHh+FWyNrbTXX1rWES4zl2+BHfICOU18KPSA6e46qtL7Z7Zi160KrvKVyDja6LMwH5Tl3eH7lF1Im9FiauhNl7WecMKrxAXO/raYZJuP4CUSBrQ8nL6+7nRsh55plMaOiIECyFG4S5EToVpBZ9VA1nwtXEGx+YSuaz7VTvBKSeRbLI5DHRss6cyjCElupOL9fOiDy8rstxpQzECkbQljkGUmZm1SEl8Ler7D7Dd7DeXl0UrT+djkenOsteGCUUda1OQHTZV868Q6+/EzGPyAwWaJT0z4S5gcerHLZmTtLVAVdHhNfwlx4sV9DoNnG74wyJvWH5OApG x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5749.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(396003)(376002)(366004)(39860400002)(136003)(346002)(6636002)(66446008)(64756008)(66476007)(8936002)(6862004)(66556008)(52536014)(66946007)(5660300002)(4326008)(9686003)(6506007)(316002)(8676002)(71200400001)(7696005)(76116006)(26005)(38100700002)(86362001)(41300700001)(38070700005)(83380400001)(186003)(2906002)(478600001)(122000001)(82960400001)(33656002)(55016003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YVBUVnFCRG9NUXJZeFAwSVhxOCtBYmhmVlRLOTh3czR4OWZyNXd6MDJuT0VC?= =?utf-8?B?MWpYT24zZTBVUWhSajRHZHFjdUwwblZsRElhVmdFK09USWFIVkJST3V2Ym5x?= =?utf-8?B?SGVQTnJFYVB3OTFPS1Q4bnJHODQ2RWhxQWJDTkg0R1ZBMW10VTd3ZjNtZVpD?= =?utf-8?B?RXZBR3RJWHRiaEtJZUV1MGVsY0k0ZnkrdDhqbzJMQ0NPdEZZdTZTaGd1Umhm?= =?utf-8?B?Rm5haDd6ZDBxczRSdHljdVRCT1lTOWhqZkhtQzZlWHRrd0dML056SU4yU0ZX?= =?utf-8?B?ZGNEeTB6clJqZUVnUVI0c252OFFMZktncG5YRW9nNHcveVIrTEZrUmlHWFlk?= =?utf-8?B?RU1Ja0F4dEkxNzF2WG1ydDJLbU12ayt0RTZqcHdPZXdMcW43TzhNNzU4Rm5z?= =?utf-8?B?MmVuUXBjWVRncUswdHBIdmdXZFcyV0NqUDFxZGRYeDdNRzJvMlNncUduQW1w?= =?utf-8?B?ZWtSSEc3OHJyZU5zcFFMYmpEdENBM0xBUzBQVjNxZHE0NTR2NVozZ2xSWTEz?= =?utf-8?B?Nlhrd2NMcnYrempNMmdScVQzaHF3NzBGbHl2Wk5EV2lTTXV2aWVZeGRWcFhp?= =?utf-8?B?b3ZpbVMxaldTVHdPZWFacjhEZVhWbkZDZ3Vha1JLRDQ5M1Y2SVFjd05Od1ln?= =?utf-8?B?T2dVRjg2ZEloNGNqMTFSMk1DUVhGcEdYa2JncHFEMDFYdVYrNEF1MDMxVksz?= =?utf-8?B?bE5OQXA3alhSQzVrNEMvSXNIT3k3MExHdkZlMnNKRVBGQXhDclh2NExUS2Q5?= =?utf-8?B?S2dlSlNwM1JIYk1rN2M4b0p2dDlzWjcyTHFERks1UVRDV2Z4VGthWEFsTzBQ?= =?utf-8?B?bHhIYTF5VklWdjZpbkRPUnkzbFJDbnQ5MnZQV0o5amV2dGwyd1hsaUNmQlZF?= =?utf-8?B?VGNZcXJRUng1cUZ2eWU0azRmdE43TUMxZW9zZmJFRWhURkRuQzFCRnUzM2Y1?= =?utf-8?B?akF2eHZJaVkraWo4bGZLUGczZ1RyaVF2TFBuYkttWDhvNHRSdHBTT1ptdTNn?= =?utf-8?B?TDVFazNMK2JnZWRJNWR4YzFYMzRYS3BRYUJHNWhsR2tNcnZZczk3aGtyNEt2?= =?utf-8?B?QlZHQ1hoalpxaVBQS0gzMSt5amFkOHArUGwyYi9VUU5EdXBtZ3FvYTFUTDhO?= =?utf-8?B?MGFOc3dCRWNkSkhwUHJoOUNmK1hSWlpQZ3lvN01Na3F6WWRXYUNFK0FXZ3Jj?= =?utf-8?B?aU85TUFiSXBERVpjOEFQMElEdlFXRzIwWXc0VEFCVEd3bHFHM3ZtRngvQmkx?= =?utf-8?B?RzBEMUpDL3hIZ1FlSy9pM21XZERoNm8xMy9Qb3gyajVCRXM5RTluazQ2S3dk?= =?utf-8?B?bVN5VnNmLzJyZU1oem1QbWNFckZxKzQrNXBCQStHNEIvL05uQWcrVGVVMDZW?= =?utf-8?B?Y01XRlVueGJwSkIzZkNac1FEb0x2TDh5SHBIN2JsdXF6WFp1dzJyN09qeTNm?= =?utf-8?B?Mzg4eU80a3VvemFROVZDRlRpUTBzMXU1QTBMV1BwcjdmcVVHQzB2Sm8wd3Vm?= =?utf-8?B?aVVYeDF2TUZRbzBzcXV1eC9Kc0pWMVgrV01uZ3FHWlNmcVRNQUpIV25lTkdu?= =?utf-8?B?Y2ljL1M2TklrbFF2bXV5RTVCTjRvQ21zU0xJM0ZvMmp3RFBBenphR1QxTTNB?= =?utf-8?B?MlNiWWpYV2FmMzRJQTVINTFhYkU2YzBicUVETTc5TGhUWjVKYmxBWEN5c3Ix?= =?utf-8?B?bGUwaWEyZndheGtQeG5Sakw2RlpMMkZ6ZFlOYXBZVFFHTWNyRjZMMFc4MXRE?= =?utf-8?B?RlJiSmtiUFBYMzgvR0NKMnZIRk8reS9RYXB0aEZRREtOVVBtMXkrb29pL0hr?= =?utf-8?B?Q09RZnFlQlFFMk5jNVQ3ZkFZWlFKdnpJOHYvaWNtU2FLanBBOFN6YnF3NHp0?= =?utf-8?B?N0IyVlBWV0duN1FkdlJOdG80Sm9RM3FMNWVsem1lZFliV3N2dVJSNEdSWUtK?= =?utf-8?B?SEFUMktQaUN2ZVRRd1BhazhhZmV6MXF1cE5oMENZeEpCeXFQK0h5RUY5K1o5?= =?utf-8?B?bXJpdzhmd1J4Tkx2TUtpK2QyZ1FzcUV4K3pzVDNaK2NxOFJjNXdpTWFhdE9a?= =?utf-8?B?WjlOQmNKMnRGSUtZK2VkbTNmeWphWjRWV3lUVVFBNnc1UEpua2xEenEwbG5S?= =?utf-8?B?MjB0eEtjalBuRDhoOTBXZGpFYzl1VjYvQXVzTytuWDlSQWw2UHlHYU9pT1NW?= =?utf-8?B?a1E9PQ==?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5749.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d17ae69-9b67-4338-85d9-08da64e3444d X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2022 15:20:49.2319 (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: D01r5sAhi75iwahVuB5D8bZAW3ddqoq+AXEg+FY4QnAwqVcldHcDmrAJGT6yKZ/+HQ+lJ5fFOz3eGWrb0eqGAI7Vhb7RKnfqot3AfMdg8GI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2249 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-3.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, LIKELY_SPAM_BODY, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2022 15:22:57 -0000 SGVsbG8gRmVsaXgsDQoNCj5JIGdldCB5b3VyIGFyZ3VtZW50YXRpb24uIEkgc3RpbGwgdGhpbmsg cHR3X2ZpbHRlciBpcyBwZXJmZWN0bHkgZmluZS4gQXMgdGhhdCBpcw0KPndoYXQgaXQgd2lsbCBh bHdheXMgYmUsIGV2ZW4gZm9yIG90aGVyIGV4dGVuc2lvbiBsYW5ndWFnZXMuIEkgc2VlIGl0IG1v cmUNCj5mcm9tIGEgImdsb2JhbCBHREIiIHBlcnNwZWN0aXZlLCByYXRoZXIgdGhhbiAiYnRyYWNl IHZzIHB5dGhvbiIgb3IgZnJvbSBhDQo+ImNhbGxiYWNrIGNvbmNlcHQiIFBPVi4NCj5SZWdhcmRs ZXNzLCBJIHdpbGwgY2FsbCBpdCB0byBwdHdfY29udGV4dCBpbiB0aGUgbmV4dCByZXZpc2lvbi4g SXMgdGhhdCBvaz8NCg0KVGhhdCBzb3VuZHMgT0suICBIb3cgYWJvdXQgYXZvaWRpbmcgdGhlIHBy b2JsZW0gYnkgZG9pbmcgaXQgd2l0aCBhIEMrKw0KY2FsbGFibGU/DQoNCg0KPj4gPj4gPitkZWYg X3VwZGF0ZV9maWx0ZXJfZGljdCh0aHJlYWRfbGlzdCk6DQo+PiA+PiA+KyAgICAiIiJIZWxwZXIg ZnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBmaWx0ZXIgZGljdC4NCj4+ID4+ID4rDQo+PiA+PiA+KyAg ICBEaXNjYXJkcyBmaWx0ZXIgY29waWVzIG9mIHRocmVhZHMgdGhhdCBhbHJlYWR5IGV4aXRlZCBh bmQgcmVnaXN0ZXJzDQo+PiA+PiA+KyAgICBjb3BpZXMgb2YgdGhlIGZpbHRlciBmb3IgbmV3IHRo cmVhZHMuIiIiDQo+PiA+PiA+KyAgICAjIHRocmVhZF9saXN0W3hdLnB0aWQgcmV0dXJucyB0aGUg dHVwbGUgKHBpZCwgbHdwLCB0aWQpDQo+PiA+PiA+KyAgICBsd3BfbGlzdCA9IFtpLnB0aWRbMV0g Zm9yIGkgaW4gdGhyZWFkX2xpc3RdDQo+PiA+PiA+Kw0KPj4gPj4gPisgICAgIyBjbGVhbi11cCBv bGQgZmlsdGVycw0KPj4gPj4gPisgICAgZm9yIGtleSBpbiBfcHR3cml0ZV9maWx0ZXIua2V5cygp Og0KPj4gPj4gPisgICAgICBpZiBrZXkgbm90IGluIGx3cF9saXN0IGFuZCBrZXkgIT0gImdsb2Jh bCI6DQo+PiA+PiA+KyAgICAgICAgX3B0d3JpdGVfZmlsdGVyLnBvcChrZXkpDQo+PiA+PiA+Kw0K Pj4gPj4gPisgICAgIyBSZWdpc3RlciBmaWx0ZXIgZm9yIG5ldyB0aHJlYWRzDQo+PiA+PiA+KyAg ICBmb3Iga2V5IGluIGx3cF9saXN0Og0KPj4gPj4gPisgICAgICAgIGlmIGtleSBub3QgaW4gX3B0 d3JpdGVfZmlsdGVyLmtleXMoKToNCj4+ID4+ID4rICAgICAgICAgICAgX3B0d3JpdGVfZmlsdGVy W2tleV0gPSBkZWVwY29weShfcHR3cml0ZV9maWx0ZXJbImdsb2JhbCJdKQ0KPj4gPj4NCj4+ID4+ IFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHR3byB0aW1lczogb25jZSBhZnRlciB3ZSBjbGVhcmVk IGFsbCBmaWx0ZXJzLCBhbmQNCj4+ID4+IG9uY2Ugd2hlbiBsb29raW5nIHVwIHRoZSBmaWx0ZXIg Zm9yIGEgZ2l2ZW4gdGhyZWFkLiAgVGhlIGZpcnN0IHRpbWUsIHdlDQo+PiA+PiBrbm93IHRoYXQg dGhlcmUgYXJlIG5vIGV4aXN0aW5nIGZpbHRlcnM7IHRoZSBzZWNvbmQgdGltZSwgd2UgYXJlIHJl YWxseQ0KPj4gPj4gb25seSBpbnRlcmVzdGVkIGluIGEgc2luZ2xlIGZpbHRlci4NCj4+ID4+DQo+ PiA+PiBXb3VsZG4ndCBpdCBzdWZmaWNlIHRvIGxvb2t1cCB0aGUgZmlsdGVyIGluIGdldF9maWx0 ZXIoKSBhbmQsIGlmIGl0IGRvZXNuJ3QNCj4+ID4+IGV4aXN0LCBjcmVhdGUgYSBuZXcgb25lPw0K Pj4gPg0KPj4gPlllcywgd2UgY291bGQgZ2V0IHJpZCBvZiB0aGUgY2FsbCB0byBfdXBkYXRlX2Zp bHRlcl9kaWN0KCkgaW4gcmVnaXN0ZXJfZmlsdGVyKCkuDQo+PiA+VGhlIG1haW4gcmVhc29uIEkg YWRkZWQgaXQgd2FzIHRvIGNsZWFuIHRoZSBvYnNvbGV0ZSBmaWx0ZXJzIHdoZW5ldmVyDQo+PiA+ cG9zc2libGUuIEkgZG9uJ3Qgc2VlIGEgY2xlYXIgcGVyZm9ybWFuY2UgYWR2YW50YWdlIGlmIHdl IHdvdWxkIHJlbW92ZQ0KPj4gPnRoZSBjYWxsICh3aXRob3V0IGhhdmluZyBhIHRocmVhZCBleGl0 IG5vdGlmaWNhdGlvbikuDQo+PiA+V2UgbmVlZCB0byBjbGVhbiB1cCB0aGUgc2FtZSBhbW91bnQg b2YgZmlsdGVycyBhdCBzb21lIHBvaW50Lg0KPj4gPg0KPj4gPj4gVGhhdCBsZWF2ZXMgcmVtb3Zp bmcgb2Jzb2xldGUgZmlsdGVycy4gIENvdWxkIHRoaXMgYmUgZG9uZSB3aXRoIHNvbWUNCj4+ID4+ IHRocmVhZCBub3RpZmljYXRpb24/DQo+PiA+DQo+PiA+SUlSQywgeW91IHN1Z2dlc3RlZCB0aGlz IHByZXZpb3VzbHkuIEkgcmVwbGllZCB0aGF0IHRoZXJlIGlzIG5vIHB5dGhvbiBBUEkNCj4+ID50 aGF0IEkgYW0gYXdhcmUgb2YgdGhhdCBjYW4gZG8gdGhpcy4gVGhlIHB5dGhvbiBldmVudHMgQVBJ IGRvZXNuJ3QgZXhwb3NlDQo+PiA+dGhyZWFkIGV4aXRlZCBldmVudHMuDQo+Pg0KPj4gSSBrZWVw IHN0dW1ibGluZyBvdmVyIHRoaXMuDQo+Pg0KPj4gV2hlbiBsb29raW5nIHVwIGEgZmlsdGVyLCB3 ZSBhcmUgY2xlYXJseSBvbmx5IGludGVyZXN0ZWQgaW4gb25lIHRocmVhZC4NCj4+IEp1c3QgbG9v a2luZyB1cCB0aGF0IG9uZSBhbmQgY3JlYXRpbmcgaXQgd2hlbiBpdCBpcyBtaXNzaW5nIHNlZW1z IGEgbG90DQo+PiBtb3JlIHN0cmFpZ2h0IGZvcndhcmQuDQo+Pg0KPj4gTGFja2luZyBhIHRocmVh ZCBleGl0IG5vdGlmaWNhdGlvbiwgd2UgY291bGQgc3RpbGwgYWRkIGEgX3BydW5lX2ZpbHRlcnMN Cj4+IGZ1bmN0aW9uIHRoYXQgd2UgY2FsbCBldmVyeSBub3cgYW5kIHRoZW4gdGhhdCBqdXN0IHJl bW92ZXMgZmlsdGVycyBmb3INCj4+IGV4aXRlZCB0aHJlYWRzLg0KPj4NCj4+IERvZXMgdGhhdCBz b3VuZCByZWFzb25hYmxlPyAgV2UnZCBuZWVkIHRvIGZpbmQgZ29vZCBwbGFjZXMgdG8gY2FsbA0K Pj4gaXQgZnJvbS4NCj4NCj5UbyBtZSB0aGF0IGlzIGtpbmQgb2Ygd2hhdCBJIGhhdmUgaW1wbGVt ZW50ZWQgbm93LiBKdXN0IG5vdCB3aXRoIGENCj5zZXBhcmF0ZSBfcHJ1bmVfZmlsdGVycygpIGFu ZCBkb2luZyBpdCBpbiAidHdvIGdvb2QgcGxhY2VzIi4NCj4NCj5CdXQgSSBqdXN0IHJlYWxpemVk IHRoYXQgaGF2aW5nIGl0IGluIGdldF9maWx0ZXIoKSB3b3VsZCBvbmx5IGltcHJvdmUNCj5wZXJm b3JtYW5jZSBpZiBzb21lb25lIHdvdWxkIGNhbGwgZ2V0X2ZpbHRlcigpIGZyb20gcHl0aG9uIGRp cmVjdGx5Lg0KPldoaWNoIHByb2JhYmx5IGlzbid0IGEgc2NlbmFyaW8gd29ydGggb3B0aW1pemlu ZyBmb3IuDQo+DQo+QXJlIHlvdSBva2F5IHdpdGggY2hhbmdpbmcgZ2V0X2ZpbHRlciBhbmQgaW5s aW5pbmcgX3VwZGF0ZV9maWx0ZXJfZGljdD8NCg0KSSBjYW4ndCBzYXkgd2hldGhlciBwZXJmb3Jt YW5jZSBpcyBhbiBpc3N1ZS4gIEkgc3R1bWJsZWQgb3ZlciBpdCB3aGlsZQ0KdHJ5aW5nIHRvIHVu ZGVyc3RhbmQgdGhlIGNvZGUgYW5kIHdvbmRlcmluZyB3aHkgd2UgYXJlIGRvaW5nIGFsbA0KdGhp cy4NCg0KSSB0aGluayBpdCB3b3VsZCBiZSBjbGVhbmVyIHRvIGhhdmUgYSBwcnVuZSBmdW5jdGlv biBhbmQgb3RoZXJ3aXNlDQpqdXN0IGRvIHdoYXQncyBuZWNlc3NhcnkuDQoNCg0KPiBkZWYgX2Ns ZWFyX3RyYWNlcyh0aHJlYWRfbGlzdCk6DQo+ICAgICAiIiJIZWxwZXIgZnVuY3Rpb24gdG8gY2xl YXIgdGhlIHRyYWNlIG9mIGFsbCB0aHJlYWRzIGluIFRIUkVBRF9MSVNULiIiIg0KPiAgICAgY3Vy cmVudF90aHJlYWQgPSBnZGIuc2VsZWN0ZWRfdGhyZWFkKCkNCj5AQCAtNzQsMTIgKzU1LDI2IEBA IGRlZiByZWdpc3Rlcl9maWx0ZXIoZmlsdGVyKToNCj4gICAgIF9wdHdyaXRlX2ZpbHRlci5jbGVh cigpDQo+ICAgICBfcHR3cml0ZV9maWx0ZXJbImdsb2JhbCJdID0gZmlsdGVyDQo+DQo+LSAgICBf dXBkYXRlX2ZpbHRlcl9kaWN0KHRocmVhZF9saXN0KQ0KPisgICAgIyB0aHJlYWRfbGlzdFt4XS5w dGlkIHJldHVybnMgdGhlIHR1cGxlIChwaWQsIGx3cCwgdGlkKS4NCj4rICAgIGx3cF9saXN0ID0g W2kucHRpZFsxXSBmb3IgaSBpbiB0aHJlYWRfbGlzdF0NCj4rDQo+KyAgICAjIENsZWFuLXVwIG9s ZCBmaWx0ZXJzLg0KPisgICAgZm9yIGtleSBpbiBfcHR3cml0ZV9maWx0ZXIua2V5cygpOg0KPisg ICAgICBpZiBrZXkgbm90IGluIGx3cF9saXN0IGFuZCBrZXkgIT0gImdsb2JhbCI6DQo+KyAgICAg ICAgX3B0d3JpdGVfZmlsdGVyLnBvcChrZXkpDQoNCldlIGp1c3QgY2xlYXJlZCB0aGUgZmlsdGVy cy4gIFRoZXJlIGFyZSBubyBleGlzdGluZyBmaWx0ZXJzLg0KDQo+Kw0KPisgICAgIyBSZWdpc3Rl ciBmaWx0ZXIgZm9yIG5ldyB0aHJlYWRzLg0KPisgICAgZm9yIGtleSBpbiBsd3BfbGlzdDoNCj4r ICAgICAgICBpZiBrZXkgbm90IGluIF9wdHdyaXRlX2ZpbHRlci5rZXlzKCk6DQo+KyAgICAgICAg ICAgIF9wdHdyaXRlX2ZpbHRlcltrZXldID0gZGVlcGNvcHkoX3B0d3JpdGVfZmlsdGVyWyJnbG9i YWwiXSkNCg0KTmV3IGZpbHRlcnMgYXJlIGFkZGVkIG9uLWRlbWFuZCBiZWxvdy4gIEkgZG9uJ3Qg dGhpbmsgdGhpcyBpcyBuZWNlc3NhcnkuDQoNCj4NCj4NCj4gZGVmIGdldF9maWx0ZXIoKToNCj4g ICAgICIiIlJldHVybnMgdGhlIGZpbHRlcnMgb2YgdGhlIGN1cnJlbnQgdGhyZWFkLiIiIg0KPi0g ICAgdGhyZWFkX2xpc3QgPSBnZGIuSW5mZXJpb3IudGhyZWFkcyhnZGIuc2VsZWN0ZWRfaW5mZXJp b3IoKSkNCj4tICAgIF91cGRhdGVfZmlsdGVyX2RpY3QodGhyZWFkX2xpc3QpDQo+KyAgICBrZXkg PSBnZGIuc2VsZWN0ZWRfdGhyZWFkKCkucHRpZFsxXQ0KPisNCj4rICAgICMgVGhpcyBjb3VsZCBi ZSBhIG5ldyB0aHJlYWQuDQo+KyAgICBpZiBrZXkgbm90IGluIF9wdHdyaXRlX2ZpbHRlci5rZXlz KCk6DQo+KyAgICAgICAgX3B0d3JpdGVfZmlsdGVyW2tleV0gPSBkZWVwY29weShfcHR3cml0ZV9m aWx0ZXJbImdsb2JhbCJdKQ0KPg0KPi0gICAgcmV0dXJuIF9wdHdyaXRlX2ZpbHRlcltnZGIuc2Vs ZWN0ZWRfdGhyZWFkKCkucHRpZFsxXV0NCj4rICAgIHJldHVybiBfcHR3cml0ZV9maWx0ZXJba2V5 XQ0KDQpUaGF0IGxvb2tzIGdvb2QuDQoNCldlJ3JlIG5vIGxvbmdlciBwcnVuaW5nIGZpbHRlcnMg Zm9yIGV4aXRlZCB0aHJlYWRzLiAgV2UgY291bGQgZG8gc28gb24NCmluZmVyaW9yIGV4aXQuICBX b3VsZCB0aGF0IHN1ZmZpY2U/DQoNCnJlZ2FyZHMsDQptYXJrdXMuDQpJbnRlbCBEZXV0c2NobGFu ZCBHbWJIClJlZ2lzdGVyZWQgQWRkcmVzczogQW0gQ2FtcGVvbiAxMCwgODU1NzkgTmV1YmliZXJn LCBHZXJtYW55ClRlbDogKzQ5IDg5IDk5IDg4NTMtMCwgd3d3LmludGVsLmRlIDxodHRwOi8vd3d3 LmludGVsLmRlPgpNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBTaGFy b24gSGVjaywgVGlmZmFueSBEb29uIFNpbHZhICAKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlz b3J5IEJvYXJkOiBOaWNvbGUgTGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVyY2lh bCBSZWdpc3RlcjogQW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=