From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 37CC0A04B5; Tue, 27 Oct 2020 16:50:51 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5F147BB94; Tue, 27 Oct 2020 16:50:49 +0100 (CET) Received: from mailgw02.pantheon.sk (mailgw01.pantheon.sk [46.229.239.26]) by dpdk.org (Postfix) with ESMTP id 478DBAA1F for ; Tue, 27 Oct 2020 16:50:47 +0100 (CET) Received: from mailgw02.pantheon.sk (localhost.localdomain [127.0.0.1]) by mailgw02.pantheon.sk (Proxmox) with ESMTP id F27A51835F2; Tue, 27 Oct 2020 16:50:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; h=cc:cc:content-transfer-encoding:content-type:content-type :date:from:from:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=dkim; bh=FW+DMDwQr5JZtkAZjIsL YdOenD8RZbGsRY/NewsUqLM=; b=GDVxO2sVW5SGxPe7QYSs9q06sEyONcc6eK0N MKsoeMl2vAwQhRiNaOVVIIHHgu5jmgr6d2PpUpHFvbLt38t6uuaZMuEyX/RFswXk 4vLEEu6m/y7i41v6nzPOAi2OQnx3M+wgQ8ItVITdB5+X9BqGC0PRc5+ux8ZPM5sg t1hvI6MFmmQRhathQNZRdXWhnvF1bM+8cAvPeZ0/dN6/W3k6WTZRAYyCZ/qIjZbH iEFG/7MlOVnJ8JAK+JXh2YIvrwpfCw5G35CFLK/8I8oUcP41SIbBl3UhHFxnye0l fuHyz+aa2RO8oLIUs7LdhuWaGdSNWviLiyyaIXPo1FWCS8/u7g== From: =?utf-8?B?SnVyYWogTGlua2XFoQ==?= To: Bruce Richardson CC: "Ruifeng.Wang@arm.com" , "Honnappa.Nagarahalli@arm.com" , "Phil.Yang@arm.com" , "vcchunga@amazon.com" , "Dharmik.Thakkar@arm.com" , "jerinjacobk@gmail.com" , "hemant.agrawal@nxp.com" , "dev@dpdk.org" Thread-Topic: [PATCH v4 3/6] build: optional NUMA and cpu counts detection Thread-Index: AQHWqUuK4vxdYIUJckas54qX1/p+pKmrQw2AgABXseA= Date: Tue, 27 Oct 2020 15:50:46 +0000 Message-ID: References: <1603280261-20206-1-git-send-email-juraj.linkes@pantheon.tech> <1603464488-25493-1-git-send-email-juraj.linkes@pantheon.tech> <1603464488-25493-4-git-send-email-juraj.linkes@pantheon.tech> <20201027112041.GD936@bricha3-MOBL.ger.corp.intel.com> In-Reply-To: <20201027112041.GD936@bricha3-MOBL.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.101.4.10] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v4 3/6] build: optional NUMA and cpu counts detection X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQnJ1Y2UgUmljaGFyZHNv biA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIg MjcsIDIwMjAgMTI6MjEgUE0NCj4gVG86IEp1cmFqIExpbmtlxaEgPGp1cmFqLmxpbmtlc0BwYW50 aGVvbi50ZWNoPg0KPiBDYzogUnVpZmVuZy5XYW5nQGFybS5jb207IEhvbm5hcHBhLk5hZ2FyYWhh bGxpQGFybS5jb207DQo+IFBoaWwuWWFuZ0Bhcm0uY29tOyB2Y2NodW5nYUBhbWF6b24uY29tOyBE aGFybWlrLlRoYWtrYXJAYXJtLmNvbTsNCj4gamVyaW5qYWNvYmtAZ21haWwuY29tOyBoZW1hbnQu YWdyYXdhbEBueHAuY29tOyBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NCAz LzZdIGJ1aWxkOiBvcHRpb25hbCBOVU1BIGFuZCBjcHUgY291bnRzIGRldGVjdGlvbg0KPiANCj4g T24gRnJpLCBPY3QgMjMsIDIwMjAgYXQgMDQ6NDg6MDVQTSArMDIwMCwgSnVyYWogTGlua2XFoSB3 cm90ZToNCj4gPiBBZGQgYW4gb3B0aW9uIHRvIGF1dG9tYXRpY2FsbHkgZGlzY292ZXIgdGhlIGhv c3QncyBudW1hIGFuZCBjcHUgY291bnRzDQo+ID4gYW5kIHVzZSB0aG9zZSB2YWx1ZXMgZm9yIGEg bm9uIGNyb3NzLWJ1aWxkLg0KPiA+IEdpdmUgdXNlcnMgdGhlIG9wdGlvbiB0byBvdmVycmlkZSB0 aGUgcGVyLWFyY2ggZGVmYXVsdCB2YWx1ZXMgb3INCj4gPiB2YWx1ZXMgZnJvbSBjcm9zcyBmaWxl cyBieSBzcGVjaWZ5aW5nIHRoZW0gb24gdGhlIGNvbW1hbmQgbGluZSB3aXRoDQo+ID4gLURtYXhf bGNvcmVzIGFuZCAtRG1heF9udW1hX25vZGVzLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogSnVy YWogTGlua2XFoSA8anVyYWoubGlua2VzQHBhbnRoZW9uLnRlY2g+DQo+ID4gLS0tDQo+ID4gIGJ1 aWxkdG9vbHMvZ2V0X2NwdV9jb3VudC5weSAgfCAgNyArKysrKysNCj4gPiBidWlsZHRvb2xzL2dl dF9udW1hX2NvdW50LnB5IHwgMjIgKysrKysrKysrKysrKysrKysNCj4gPiAgYnVpbGR0b29scy9t ZXNvbi5idWlsZCAgICAgICB8ICAyICsrDQo+ID4gIGNvbmZpZy9tZXNvbi5idWlsZCAgICAgICAg ICAgfCA0OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCj4gPiAgbWVzb25f b3B0aW9ucy50eHQgICAgICAgICAgICB8ICA4ICsrKy0tLQ0KPiA+ICA1IGZpbGVzIGNoYW5nZWQs IDgxIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g PiBidWlsZHRvb2xzL2dldF9jcHVfY291bnQucHkgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+IGJ1 aWxkdG9vbHMvZ2V0X251bWFfY291bnQucHkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9idWlsZHRv b2xzL2dldF9jcHVfY291bnQucHkgYi9idWlsZHRvb2xzL2dldF9jcHVfY291bnQucHkNCj4gPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NCBpbmRleCAwMDAwMDAwMDAuLjM4NmY4NWY4Yg0KPiA+IC0tLSAv ZGV2L251bGwNCj4gPiArKysgYi9idWlsZHRvb2xzL2dldF9jcHVfY291bnQucHkNCj4gPiBAQCAt MCwwICsxLDcgQEANCj4gPiArIyEvdXNyL2Jpbi9weXRob24zDQo+ID4gKyMgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAjIENvcHlyaWdodCAoYykgMjAyMA0KPiA+ICtQQU5U SEVPTi50ZWNoIHMuci5vLg0KPiA+ICsNCj4gPiAraW1wb3J0IG9zDQo+ID4gKw0KPiA+ICtwcmlu dChvcy5jcHVfY291bnQoKSkNCj4gPiBkaWZmIC0tZ2l0IGEvYnVpbGR0b29scy9nZXRfbnVtYV9j b3VudC5weQ0KPiA+IGIvYnVpbGR0b29scy9nZXRfbnVtYV9jb3VudC5weSBuZXcgZmlsZSBtb2Rl IDEwMDY0NCBpbmRleA0KPiA+IDAwMDAwMDAwMC4uZjBjNDk5NzNhDQo+ID4gLS0tIC9kZXYvbnVs bA0KPiA+ICsrKyBiL2J1aWxkdG9vbHMvZ2V0X251bWFfY291bnQucHkNCj4gPiBAQCAtMCwwICsx LDIyIEBADQo+ID4gKyMhL3Vzci9iaW4vcHl0aG9uMw0KPiA+ICsjIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMy1DbGF1c2UgIyBDb3B5cmlnaHQgKGMpIDIwMjANCj4gPiArUEFOVEhFT04u dGVjaCBzLnIuby4NCj4gPiArDQo+ID4gK2ltcG9ydCBjdHlwZXMNCj4gPiAraW1wb3J0IGdsb2IN Cj4gPiAraW1wb3J0IG9zDQo+ID4gK2ltcG9ydCBzdWJwcm9jZXNzDQo+ID4gKw0KPiA+ICtpZiBv cy5uYW1lID09ICdwb3NpeCc6DQo+ID4gKyAgICBpZiBvcy5wYXRoLmlzZGlyKCcvc3lzL2Rldmlj ZXMvc3lzdGVtL25vZGUnKToNCj4gPiArICAgICAgICBwcmludChsZW4oZ2xvYi5nbG9iKCcvc3lz L2RldmljZXMvc3lzdGVtL25vZGUvbm9kZSonKSkpDQo+ID4gKyAgICBlbHNlOg0KPiA+ICsgICAg ICAgIHByaW50KHN1YnByb2Nlc3MucnVuKFsnc3lzY3RsJywgJ3ZtLm5kb21haW5zJ10sDQo+ID4g K2NhcHR1cmVfb3V0cHV0PVRydWUpLnN0ZG91dCkNCj4gDQo+IEkgdGhpbmsgeW91IGNhbiBzaG9y dGVuIHRoaXMsIGJ5IGp1c3QgY2FsbGluZyBzdWJwcm9jZXNzLnJ1biBhbmQgbm90IGNhcHR1cmlu Zw0KPiBhbnl0aGluZywgaW4gd2hpY2ggY2FzZSB0aGUgc3Rkb3V0IHdpbGwgYmUgcHJpbnRlZCBh cyBub3JtYWwuDQo+IA0KPiAJc3VicHJvY2Vzcy5ydW4oWydzeXNjdGwnLCAndm0ubmRvbWFpbnMn XSkNCj4gDQoNClRoaXMgd2lsbCBhbHNvIHByaW50IG91dCB0aGUgcmVzdWx0aW5nIG9iamVjdCAo ZS5nLiBDb21wbGV0ZWRQcm9jZXNzKGFyZ3M9WydscycsICctbHMnLCAnL3N5cy9kZXZpY2VzL3N5 c3RlbS9ub2RlJ10sIHJldHVybmNvZGU9MCkpLCBidXQgYW4gYXNzaWdubWVudCB3aWxsIHRha2Ug Y2FyZSBvZiB0aGF0LiBJJ2xsIG1ha2UgdGhlIGNoYW5nZS4NCg0KPiA+ICsNCj4gPiArZWxpZiBv cy5uYW1lID09ICdudCc6DQo+ID4gKyAgICBsaWJrZXJuZWwzMiA9IGN0eXBlcy53aW5kbGwua2Vy bmVsMzINCj4gPiArDQo+ID4gKyAgICBjb3VudCA9IGN0eXBlcy5jX3Vsb25nKCkNCj4gPiArDQo+ ID4gKyAgICBsaWJrZXJuZWwzMi5HZXROdW1hSGlnaGVzdE5vZGVOdW1iZXIoY3R5cGVzLnBvaW50 ZXIoY291bnQpKQ0KPiA+ICsgICAgcHJpbnQoY291bnQudmFsdWUgKyAxKQ0KPiA+IGRpZmYgLS1n aXQgYS9idWlsZHRvb2xzL21lc29uLmJ1aWxkIGIvYnVpbGR0b29scy9tZXNvbi5idWlsZCBpbmRl eA0KPiA+IDA0ODA4ZGFiYy4uOTI1ZTczM2IxIDEwMDY0NA0KPiA+IC0tLSBhL2J1aWxkdG9vbHMv bWVzb24uYnVpbGQNCj4gPiArKysgYi9idWlsZHRvb2xzL21lc29uLmJ1aWxkDQo+ID4gQEAgLTE3 LDMgKzE3LDUgQEAgZWxzZQ0KPiA+ICBlbmRpZg0KPiA+ICBtYXBfdG9fd2luX2NtZCA9IHB5MyAr IGZpbGVzKCdtYXBfdG9fd2luLnB5JykgIHNwaGlueF93cmFwcGVyID0gcHkzICsNCj4gPiBmaWxl cygnY2FsbC1zcGhpbngtYnVpbGQucHknKQ0KPiA+ICtnZXRfY3B1X2NvdW50X2NtZCA9IHB5MyAr IGZpbGVzKCdnZXRfY3B1X2NvdW50LnB5JykNCj4gPiArZ2V0X251bWFfY291bnRfY21kID0gcHkz ICsgZmlsZXMoJ2dldF9udW1hX2NvdW50LnB5JykNCj4gPiBkaWZmIC0tZ2l0IGEvY29uZmlnL21l c29uLmJ1aWxkIGIvY29uZmlnL21lc29uLmJ1aWxkIGluZGV4DQo+ID4gOTE4Y2EyZGZiLi41YzZm ZGNjN2QgMTAwNjQ0DQo+ID4gLS0tIGEvY29uZmlnL21lc29uLmJ1aWxkDQo+ID4gKysrIGIvY29u ZmlnL21lc29uLmJ1aWxkDQo+ID4gQEAgLTIzMCw4ICsyMzAsMTQgQEAgZm9yZWFjaCBhcmc6IHdh cm5pbmdfZmxhZ3MgIGVuZGZvcmVhY2gNCj4gPg0KPiA+ICAjIHNldCBvdGhlciB2YWx1ZXMgcHVs bGVkIGZyb20gdGhlIGJ1aWxkIG9wdGlvbnMNCj4gPiAtZHBka19jb25mLnNldCgnUlRFX01BWF9M Q09SRScsIGdldF9vcHRpb24oJ21heF9sY29yZXMnKSkNCj4gPiAtZHBka19jb25mLnNldCgnUlRF X01BWF9OVU1BX05PREVTJywgZ2V0X29wdGlvbignbWF4X251bWFfbm9kZXMnKSkNCj4gPiAraWYg bm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkNCj4gPiArCSMgc2V0IGRlZmF1bHQgdmFsdWVzDQo+ ID4gKwkjIHRoZXNlIGRlZmF1bHRzIG1heSBiZSBvdmVyd3JpdHRlbiBieSBtZXNvbi5idWlsZCBp biBhbiBhcmNoIHN1YmRpcg0KPiA+ICsJIyBvciBsYXRlciBvdmVyd3JpdHRlbiBpZiBhIHVzZXIg c3BlY2lmaWVzIGEgdmFsdWUgb24gdGhlIGNvbW1hbmQgbGluZQ0KPiA+ICsJIyBvciB0aGUgdXNl ciBjaG9vc2VzIHRvIHVzZSB2YWx1ZXMgZGlzY292ZXJlZCBmcm9tIHRoZSBidWlsZCBtYWNoaW5l DQo+ID4gKwlkcGRrX2NvbmYuc2V0KCdSVEVfTUFYX0xDT1JFJywgMTI4KQ0KPiA+ICsJZHBka19j b25mLnNldCgnUlRFX01BWF9OVU1BX05PREVTJywgNCkgZW5kaWYNCj4gDQo+IEkgdGhpbmsgaXQg bWlnaHQgYmUgYmV0dGVyIHRvIHJlbW92ZSB0aGlzIGJsb2NrLCBhbmQgaW5zdGVhZCBzZXQgdGhl IHZhbHVlcyBiZWxvdw0KPiB3aGVyZSB5b3UgZG8gdGhlIGFkZGl0aW9uYWwgY2hlY2tzLiBJdCdz IGNvbmZ1c2luZyBoYXZpbmcgdGhlc2Ugc2V0dGluZ3MNCj4gbWFuYWdlZCBpbiBtdWx0aXBsZSBw bGFjZXMuDQo+IA0KDQpJdCBuZWVkcyB0byBiZSBzZXQgYmVmb3JlIHN1YmRpcihhcmNoX3N1YmRp cikgd2hpY2ggaXMgd2h5IGl0J3MgaGVyZS4NCg0KVGhlIG9yZGVyIGdvZXMgbGlrZSB0aGlzOg0K R2xvYmFsIGRlZmF1bHRzIChvciB4ODYgZGVmYXVsdHMpDQphcmNoX3N1YmRpciBkZWZhdWx0cyBv dmVyd3JpdGUgdGhvc2UgKG9yIG5vbi14ODYgZGVmYXVsdHMpDQpjbWRsaW5lIG9wdGlvbnMgb3Ig b3B0aW9uYWwgZGlzY292ZXJ5IG92ZXJ3cml0ZSB0aG9zZQ0KDQpXaGF0IGFib3V0IEkgbW92ZSB0 aGVzZSB0byBjb25maWcveDg2L21lc29uLmJ1aWxkPyBJdCBsb29rcyBsaWtlIHRoZSBwbGFjZSB3 aGVyZSBwZXItYXJjaCBkZWZhdWx0cyBzaG91bGQgYmUuIFRoZW4gd2UnZCBvbmx5IGhhdmUgdGhl IHNlY29uZCBwYXJ0IGFmdGVyIGFyY2hfc3ViZGlyLg0KDQo+ID4gIGRwZGtfY29uZi5zZXQoJ1JU RV9NQVhfRVRIUE9SVFMnLCBnZXRfb3B0aW9uKCdtYXhfZXRocG9ydHMnKSkNCj4gPiBkcGRrX2Nv bmYuc2V0KCdSVEVfTElCRUFMX1VTRV9IUEVUJywgZ2V0X29wdGlvbigndXNlX2hwZXQnKSkNCj4g PiBkcGRrX2NvbmYuc2V0KCdSVEVfRU5BQkxFX1RSQUNFX0ZQJywgZ2V0X29wdGlvbignZW5hYmxl X3RyYWNlX2ZwJykpIEBADQo+ID4gLTI1MCw2ICsyNTYsNDQgQEAgY29tcGlsZV90aW1lX2NwdWZs YWdzID0gW10NCj4gPiAgc3ViZGlyKGFyY2hfc3ViZGlyKQ0KPiA+ICBkcGRrX2NvbmYuc2V0KCdS VEVfQ09NUElMRV9USU1FX0NQVUZMQUdTJywNCj4gPiAnLCcuam9pbihjb21waWxlX3RpbWVfY3B1 ZmxhZ3MpKQ0KPiA+DQo+ID4gK21heF9sY29yZXMgPSBnZXRfb3B0aW9uKCdtYXhfbGNvcmVzJykg bWF4X251bWFfbm9kZXMgPQ0KPiA+ICtnZXRfb3B0aW9uKCdtYXhfbnVtYV9ub2RlcycpIGlmIG1h eF9sY29yZXMgPiAwDQo+ID4gKwlkcGRrX2NvbmYuc2V0KCdSVEVfTUFYX0xDT1JFJywgbWF4X2xj b3JlcykgZWxpZiBtYXhfbGNvcmVzID09IC0xDQo+ID4gKwlpZiBub3QgbWVzb24uaXNfY3Jvc3Nf YnVpbGQoKQ0KPiA+ICsJCW1heF9sY29yZXMgPQ0KPiBydW5fY29tbWFuZChnZXRfY3B1X2NvdW50 X2NtZCkuc3Rkb3V0KCkudG9faW50KCkNCj4gPiArCQltaW5fbGNvcmVzID0gMg0KPiA+ICsJCWlm IG1heF9sY29yZXMgPCBtaW5fbGNvcmVzDQo+ID4gKwkJCW1lc3NhZ2UoJ0ZvdW5kIGxlc3MgdGhh biBAMEAgY29yZXMsIGJ1aWxkaW5nIGZvcg0KPiBAMEAgY29yZXMnLmZvcm1hdChtaW5fbGNvcmVz KSkNCj4gPiArCQkJbWF4X2xjb3JlcyA9IG1pbl9sY29yZXMNCj4gPiArCQllbHNlDQo+ID4gKwkJ CW1lc3NhZ2UoJ0ZvdW5kIEAwQCBjb3JlcycuZm9ybWF0KG1heF9sY29yZXMpKQ0KPiA+ICsJCWVu ZGlmDQo+ID4gKwkJZHBka19jb25mLnNldCgnUlRFX01BWF9MQ09SRScsIG1heF9sY29yZXMpDQo+ ID4gKwllbmRpZg0KPiA+ICtlbmRpZg0KPiA+ICsNCj4gPiAraWYgbWF4X251bWFfbm9kZXMgPiAw DQo+ID4gKwlkcGRrX2NvbmYuc2V0KCdSVEVfTUFYX05VTUFfTk9ERVMnLCBtYXhfbnVtYV9ub2Rl cykgZWxpZg0KPiA+ICttYXhfbnVtYV9ub2RlcyA9PSAtMQ0KPiA+ICsJaWYgbm90IG1lc29uLmlz X2Nyb3NzX2J1aWxkKCkNCj4gPiArCQltYXhfbnVtYV9ub2RlcyA9DQo+IHJ1bl9jb21tYW5kKGdl dF9udW1hX2NvdW50X2NtZCkuc3Rkb3V0KCkudG9faW50KCkNCj4gPiArCQltZXNzYWdlKCdGb3Vu ZCBAMEAgbnVtYSBub2RlcycuZm9ybWF0KG1heF9udW1hX25vZGVzKSkNCj4gPiArCQlkcGRrX2Nv bmYuc2V0KCdSVEVfTUFYX05VTUFfTk9ERVMnLCBtYXhfbnVtYV9ub2RlcykNCj4gPiArCWVuZGlm DQo+ID4gK2VuZGlmDQo+ID4gKw0KPiA+ICsjIGNoZWNrIHRoYXQgY3B1IGFuZCBudW1hIGNvdW50 IGlzIHNldCBpbiBjcm9zcyBidWlsZHMgaWYNCj4gPiArbWVzb24uaXNfY3Jvc3NfYnVpbGQoKQ0K PiA+ICsJaWYgbm90IGRwZGtfY29uZi5oYXMoJ1JURV9NQVhfTENPUkUnKQ0KPiA+ICsJCWVycm9y KCdOdW1iZXIgb2YgY29yZXMgZm9yIGNyb3NzIGJ1aWxkIG5vdCBzcGVjaWZpZWQgaW4gQDBADQo+ IHN1YmRpciAoZS5nLiBpbiBhIGNyb3NzLWZpbGUpIG5vciBvbiB0aGUgY21kbGluZScuZm9ybWF0 KGFyY2hfc3ViZGlyKSkNCj4gPiArCWVuZGlmDQo+ID4gKwlpZiBub3QgZHBka19jb25mLmhhcygn UlRFX01BWF9OVU1BX05PREVTJykNCj4gPiArCQllcnJvcignTnVtYmVyIG9mIG51bWEgbm9kZXMg Zm9yIGNyb3NzIGJ1aWxkIG5vdCBzcGVjaWZpZWQgaW4NCj4gQDBAIHN1YmRpciAoZS5nLiBpbiBh IGNyb3NzLWZpbGUpIG5vciBvbiB0aGUgY21kbGluZScuZm9ybWF0KGFyY2hfc3ViZGlyKSkNCj4g PiArCWVuZGlmDQo+ID4gK2VuZGlmDQo+ID4gKw0KPiANCj4gSSB0aGluayB3ZSBuZWVkIHNvbWUg Y29tbWVudHMgZXhwbGFpbmluZyBhbGwgdGhlIGxvZ2ljIGhlcmUsIGFuZCBwcm9iYWJseSBzb21l DQo+IGRvY3VtZW50YXRpb24gdXBkYXRlcy4NCj4gDQoNCldpbGwgYWRkIGNvbW1lbnRzLiBXaGVy ZSBpcyB0aGlzIGRvY3VtZW50ZWQ/DQoNCj4gPiAgIyBzZXQgdGhlIGluc3RhbGwgcGF0aCBmb3Ig dGhlIGRyaXZlcnMNCj4gPiBkcGRrX2NvbmYuc2V0X3F1b3RlZCgnUlRFX0VBTF9QTURfUEFUSCcs IGVhbF9wbWRfcGF0aCkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9tZXNvbl9vcHRpb25zLnR4dCBi L21lc29uX29wdGlvbnMudHh0IGluZGV4DQo+ID4gOWJmMThhYjZiLi5hNzhjMjFiMGQgMTAwNjQ0 DQo+ID4gLS0tIGEvbWVzb25fb3B0aW9ucy50eHQNCj4gPiArKysgYi9tZXNvbl9vcHRpb25zLnR4 dA0KPiA+IEBAIC0yNiwxMCArMjYsMTAgQEAgb3B0aW9uKCdtYWNoaW5lJywgdHlwZTogJ3N0cmlu ZycsIHZhbHVlOiAnbmF0aXZlJywNCj4gPiAgCWRlc2NyaXB0aW9uOiAnc2V0IHRoZSB0YXJnZXQg bWFjaGluZSB0eXBlJykgIG9wdGlvbignbWF4X2V0aHBvcnRzJywNCj4gPiB0eXBlOiAnaW50ZWdl cicsIHZhbHVlOiAzMiwNCj4gPiAgCWRlc2NyaXB0aW9uOiAnbWF4aW11bSBudW1iZXIgb2YgRXRo ZXJuZXQgZGV2aWNlcycpDQo+ID4gLW9wdGlvbignbWF4X2xjb3JlcycsIHR5cGU6ICdpbnRlZ2Vy JywgdmFsdWU6IDEyOCwNCj4gPiAtCWRlc2NyaXB0aW9uOiAnbWF4aW11bSBudW1iZXIgb2YgY29y ZXMvdGhyZWFkcyBzdXBwb3J0ZWQgYnkgRUFMJykNCj4gPiAtb3B0aW9uKCdtYXhfbnVtYV9ub2Rl cycsIHR5cGU6ICdpbnRlZ2VyJywgdmFsdWU6IDQsDQo+ID4gLQlkZXNjcmlwdGlvbjogJ21heGlt dW0gbnVtYmVyIG9mIE5VTUEgbm9kZXMgc3VwcG9ydGVkIGJ5IEVBTCcpDQo+ID4gK29wdGlvbign bWF4X2xjb3JlcycsIHR5cGU6ICdpbnRlZ2VyJywgdmFsdWU6IDAsDQo+ID4gKwlkZXNjcmlwdGlv bjogJ21heGltdW0gbnVtYmVyIG9mIGNvcmVzL3RocmVhZHMgc3VwcG9ydGVkIGJ5IEVBTC4gU2V0 DQo+ID4gK3RvIHBvc2l0aXZlIGludGVnZXIgdG8gb3ZlcndyaXRlIHBlci1hcmNoIG9yIGNyb3Nz LWNvbXBpbGF0aW9uIGRlZmF1bHRzLiBTZXQgdG8NCj4gLTEgdG8gdXNlIG51bWJlciBvZiBjb3Jl cyBvbiB0aGUgYnVpbGQgbWFjaGluZS4nKSBvcHRpb24oJ21heF9udW1hX25vZGVzJywNCj4gdHlw ZTogJ2ludGVnZXInLCB2YWx1ZTogMCwNCj4gPiArCWRlc2NyaXB0aW9uOiAnbWF4aW11bSBudW1i ZXIgb2YgTlVNQSBub2RlcyBzdXBwb3J0ZWQgYnkgRUFMLiBTZXQgdG8NCj4gPiArcG9zaXRpdmUg aW50ZWdlciB0byBvdmVyd3JpdGUgcGVyLWFyY2ggb3IgY3Jvc3MtY29tcGlsYXRpb24gZGVmYXVs dHMuDQo+ID4gK1NldCB0byAtMSB0byB1c2UgbnVtYmVyIG9mIG51bWEgbm9kZXMgb24gdGhlIGJ1 aWxkIG1hY2hpbmUuJykNCj4gPiAgb3B0aW9uKCdlbmFibGVfdHJhY2VfZnAnLCB0eXBlOiAnYm9v bGVhbicsIHZhbHVlOiBmYWxzZSwNCj4gPiAgCWRlc2NyaXB0aW9uOiAnZW5hYmxlIGZhc3QgcGF0 aCB0cmFjZSBwb2ludHMuJykgIG9wdGlvbigndGVzdHMnLA0KPiA+IHR5cGU6ICdib29sZWFuJywg dmFsdWU6IHRydWUsDQo+ID4gLS0NCj4gPiAyLjIwLjENCj4gPg0KDQo=