From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 0524CA0A02;
	Fri, 15 Jan 2021 13:18:43 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 61325141037;
	Fri, 15 Jan 2021 13:18:43 +0100 (CET)
Received: from mailgw02.pantheon.sk (mailgw01.pantheon.sk [46.229.239.26])
 by mails.dpdk.org (Postfix) with ESMTP id 6A57814102E
 for <dev@dpdk.org>; Fri, 15 Jan 2021 13:18:42 +0100 (CET)
Received: from mailgw02.pantheon.sk (localhost.localdomain [127.0.0.1])
 by mailgw02.pantheon.sk (Proxmox) with ESMTP id 07BC2181BE3;
 Fri, 15 Jan 2021 13:18:42 +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=0qkf4KavqsjFHOvo1GOf
 k0R+09tpksjFuktXaGmuSos=; b=xc2jrgwPcma7AJQqjNBPzsoXKS8RecsakkSS
 IGgitm8VYOdSWXQA+Ag7UFZnlAFu8L7l74y31K0r3wMeQ8aLMgN5lJFcNpPaoVWz
 37YO4MIOkcfU7JzgweOk+yBenJpAyqFkhWd8s4yiPnej73dncZRJIcwdLT+BH0TB
 txzrSKy5+S3fNsEDoDRyUsTaqDv5Q6taTLwITIvo1yhIImudzP8GDwT1jJx2+bjW
 iBVopJQrUTweoXPY5yvdKB9jkythdbt5DghOzmLrKVIZ1WmBoIVPB9ZntgQ/a2BE
 8JgDD1z/053h/1LL3aDqN+KVBK+wmVE7koGSxrh58srUq+8XxQ==
From: =?utf-8?B?SnVyYWogTGlua2XFoQ==?= <juraj.linkes@pantheon.tech>
To: Ruifeng Wang <Ruifeng.Wang@arm.com>, "bruce.richardson@intel.com"
 <bruce.richardson@intel.com>, Honnappa Nagarahalli
 <Honnappa.Nagarahalli@arm.com>, Phil Yang <Phil.Yang@arm.com>,
 "vcchunga@amazon.com" <vcchunga@amazon.com>, Dharmik Thakkar
 <Dharmik.Thakkar@arm.com>, "jerinjacobk@gmail.com" <jerinjacobk@gmail.com>,
 "hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>, "Ajit Khaparde
 (ajit.khaparde@broadcom.com)" <ajit.khaparde@broadcom.com>,
 "ferruh.yigit@intel.com" <ferruh.yigit@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, nd <nd@arm.com>
Thread-Topic: [PATCH v14 05/12] build: organize Arm config into dict
Thread-Index: AQHW2SFxu3u+2ax4Vkq+Yl5p3sjSxaoocHiAgABOJZA=
Date: Fri, 15 Jan 2021 12:18:39 +0000
Message-ID: <6401e5e470824161a32ae05baa8505a7@pantheon.tech>
References: <1605874101-30893-1-git-send-email-juraj.linkes@pantheon.tech>
 <1608724059-8562-1-git-send-email-juraj.linkes@pantheon.tech>
 <1608724059-8562-6-git-send-email-juraj.linkes@pantheon.tech>
 <VI1PR0802MB23515433177DD6E6BAB1F40E9EA70@VI1PR0802MB2351.eurprd08.prod.outlook.com>
In-Reply-To: <VI1PR0802MB23515433177DD6E6BAB1F40E9EA70@VI1PR0802MB2351.eurprd08.prod.outlook.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 v14 05/12] build: organize Arm config into
 dict
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUnVpZmVuZyBXYW5nIDxS
dWlmZW5nLldhbmdAYXJtLmNvbT4NCj4gU2VudDogRnJpZGF5LCBKYW51YXJ5IDE1LCAyMDIxIDk6
MzggQU0NCj4gVG86IEp1cmFqIExpbmtlxaEgPGp1cmFqLmxpbmtlc0BwYW50aGVvbi50ZWNoPjsg
YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb207DQo+IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxIb25u
YXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgUGhpbCBZYW5nDQo+IDxQaGlsLllhbmdAYXJtLmNv
bT47IHZjY2h1bmdhQGFtYXpvbi5jb207IERoYXJtaWsgVGhha2thcg0KPiA8RGhhcm1pay5UaGFr
a2FyQGFybS5jb20+OyBqZXJpbmphY29ia0BnbWFpbC5jb207DQo+IGhlbWFudC5hZ3Jhd2FsQG54
cC5jb207IEFqaXQgS2hhcGFyZGUgKGFqaXQua2hhcGFyZGVAYnJvYWRjb20uY29tKQ0KPiA8YWpp
dC5raGFwYXJkZUBicm9hZGNvbS5jb20+OyBmZXJydWgueWlnaXRAaW50ZWwuY29tDQo+IENjOiBk
ZXZAZHBkay5vcmc7IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSRTogW1BBVENIIHYxNCAw
NS8xMl0gYnVpbGQ6IG9yZ2FuaXplIEFybSBjb25maWcgaW50byBkaWN0DQo+IA0KPiANCj4gPiAt
LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEp1cmFqIExpbmtlxaEgPGp1cmFq
Lmxpbmtlc0BwYW50aGVvbi50ZWNoPg0KPiA+IFNlbnQ6IFdlZG5lc2RheSwgRGVjZW1iZXIgMjMs
IDIwMjAgNzo0OCBQTQ0KPiA+IFRvOiBicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbTsgUnVpZmVu
ZyBXYW5nIDxSdWlmZW5nLldhbmdAYXJtLmNvbT47DQo+ID4gSG9ubmFwcGEgTmFnYXJhaGFsbGkg
PEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBQaGlsIFlhbmcNCj4gPiA8UGhpbC5ZYW5n
QGFybS5jb20+OyB2Y2NodW5nYUBhbWF6b24uY29tOyBEaGFybWlrIFRoYWtrYXINCj4gPiA8RGhh
cm1pay5UaGFra2FyQGFybS5jb20+OyBqZXJpbmphY29ia0BnbWFpbC5jb207DQo+ID4gaGVtYW50
LmFncmF3YWxAbnhwLmNvbTsgQWppdCBLaGFwYXJkZSAoYWppdC5raGFwYXJkZUBicm9hZGNvbS5j
b20pDQo+ID4gPGFqaXQua2hhcGFyZGVAYnJvYWRjb20uY29tPjsgZmVycnVoLnlpZ2l0QGludGVs
LmNvbQ0KPiA+IENjOiBkZXZAZHBkay5vcmc7IEp1cmFqIExpbmtlxaEgPGp1cmFqLmxpbmtlc0Bw
YW50aGVvbi50ZWNoPg0KPiA+IFN1YmplY3Q6IFtQQVRDSCB2MTQgMDUvMTJdIGJ1aWxkOiBvcmdh
bml6ZSBBcm0gY29uZmlnIGludG8gZGljdA0KPiA+DQo+ID4gVXNlIGRpY3Rpb25hcnkgbG9va3Vw
IGluc3RlYWQgb2YgY2hlY2tpbmcgZm9yIGV4aXN0aW5nIHZhcmlhYmxlcywNCj4gPiBpdGVyYXRp
bmcgb3ZlciBhbGwgZWxlbWVudHMgaW4gdGhlIGxpc3Qgb3IgY2hlY2tpbmcgbGlzdHMgZm9yIG9w
dGlvbmFsDQo+ID4gY29uZmlndXJhdGlvbi4gTW92ZSB2YXJpYWJsZSBjb250ZW50cyBpbnRvIHRo
ZSBkaWN0aW9uYXJ5IGZvcg0KPiA+IHZhcmlhYmxlcyB0aGF0IHdvdWxkIGJlIHJlZmVyZW5jZWQg
b25seSBvbmNlLg0KPiA+IEZhbGxiYWNrIHRvIGdlbmVyaWMgcGFydCBudW1iZXIgaWYgdGhlIGRp
c2NvdmVyZWQgcGFydCBudW1iZXIgaXMgdW5rbm93bi4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6
IEp1cmFqIExpbmtlxaEgPGp1cmFqLmxpbmtlc0BwYW50aGVvbi50ZWNoPg0KPiA+IFJldmlld2Vk
LWJ5OiBIb25uYXBwYSBOYWdhcmFoYWxsaSA8aG9ubmFwcGEubmFnYXJhaGFsbGlAYXJtLmNvbT4N
Cj4gPiAtLS0NCj4gPiAgY29uZmlnL2FybS9tZXNvbi5idWlsZCB8IDI5OA0KPiA+ICsrKysrKysr
KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAx
NzggaW5zZXJ0aW9ucygrKSwgMTIwIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBh
L2NvbmZpZy9hcm0vbWVzb24uYnVpbGQgYi9jb25maWcvYXJtL21lc29uLmJ1aWxkIGluZGV4DQo+
ID4gZmI4NzdmZTc3Li5iNDQ5YjEwYzMgMTAwNjQ0DQo+ID4gLS0tIGEvY29uZmlnL2FybS9tZXNv
bi5idWlsZA0KPiA+ICsrKyBiL2NvbmZpZy9hcm0vbWVzb24uYnVpbGQNCj4gPiBAQCAtMjcsMTE1
ICsyNywxNjYgQEAgZmxhZ3NfY29tbW9uID0gWw0KPiA+ICAJWydSVEVfQ0FDSEVfTElORV9TSVpF
JywgMTI4XQ0KPiA+ICBdDQo+ID4NCj4gPiAtIyBpbXBsZW1lbnRlciBzcGVjaWZpYyBhYXJjaDY0
IGZsYWdzLCB3aXRoIG1pZGRsZSBwcmlvcml0eSAtIyAod2lsbA0KPiA+IG92ZXJ3cml0ZSBjb21t
b24gZmxhZ3MpIC1mbGFnc19pbXBsZW1lbnRlcl9nZW5lcmljID0gWw0KPiA+IC0JWydSVEVfTUFD
SElORScsICciYXJtdjhhIiddLA0KPiA+IC0JWydSVEVfVVNFX0MxMV9NRU1fTU9ERUwnLCB0cnVl
XSwNCj4gPiAtCVsnUlRFX0NBQ0hFX0xJTkVfU0laRScsIDEyOF0sDQo+ID4gLQlbJ1JURV9NQVhf
TENPUkUnLCAyNTZdDQo+ID4gLV0NCj4gPiAtZmxhZ3NfaW1wbGVtZW50ZXJfYXJtID0gWw0KPiA+
IC0JWydSVEVfTUFDSElORScsICciYXJtdjhhIiddLA0KPiA+IC0JWydSVEVfVVNFX0MxMV9NRU1f
TU9ERUwnLCB0cnVlXSwNCj4gPiAtCVsnUlRFX0NBQ0hFX0xJTkVfU0laRScsIDY0XSwNCj4gPiAt
CVsnUlRFX01BWF9MQ09SRScsIDE2XQ0KPiA+IC1dDQo+ID4gLWZsYWdzX2ltcGxlbWVudGVyX2Nh
dml1bSA9IFsNCj4gPiAtCVsnUlRFX01BWF9WRklPX0dST1VQUycsIDEyOF0sDQo+ID4gLQlbJ1JU
RV9DQUNIRV9MSU5FX1NJWkUnLCAxMjhdLA0KPiA+IC0JWydSVEVfTUFYX0xDT1JFJywgOTZdLA0K
PiA+IC0JWydSVEVfTUFYX05VTUFfTk9ERVMnLCAyXQ0KPiA+IC1dDQo+ID4gLWZsYWdzX2ltcGxl
bWVudGVyX2RwYWEgPSBbDQo+ID4gLQlbJ1JURV9NQUNISU5FJywgJyJkcGFhIiddLA0KPiA+IC0J
WydSVEVfTElCUlRFX0RQQUEyX1VTRV9QSFlTX0lPVkEnLCBmYWxzZV0sDQo+ID4gLQlbJ1JURV9V
U0VfQzExX01FTV9NT0RFTCcsIHRydWVdLA0KPiA+IC0JWydSVEVfQ0FDSEVfTElORV9TSVpFJywg
NjRdLA0KPiA+IC0JWydSVEVfTUFYX0xDT1JFJywgMTZdLA0KPiA+IC0JWydSVEVfTUFYX05VTUFf
Tk9ERVMnLCAxXQ0KPiA+IC1dDQo+ID4gLWZsYWdzX2ltcGxlbWVudGVyX2VtYWcgPSBbDQo+ID4g
LQlbJ1JURV9NQUNISU5FJywgJyJlbWFnIiddLA0KPiA+IC0JWydSVEVfQ0FDSEVfTElORV9TSVpF
JywgNjRdLA0KPiA+IC0JWydSVEVfTUFYX0xDT1JFJywgMzJdLA0KPiA+IC0JWydSVEVfTUFYX05V
TUFfTk9ERVMnLCAxXQ0KPiA+IC1dDQo+ID4gLWZsYWdzX2ltcGxlbWVudGVyX2FybWFkYSA9IFsN
Cj4gPiAtCVsnUlRFX01BQ0hJTkUnLCAnImFybXY4YSInXSwNCj4gPiAtCVsnUlRFX0NBQ0hFX0xJ
TkVfU0laRScsIDY0XSwNCj4gPiAtCVsnUlRFX01BWF9MQ09SRScsIDE2XSwNCj4gPiAtCVsnUlRF
X01BWF9OVU1BX05PREVTJywgMV0NCj4gPiAtXQ0KPiA+ICsjIyBQYXJ0IG51bWJlcnMgYXJlIHNw
ZWNpZmljIHRvIEFybSBpbXBsZW1lbnRlcnMgIyBpbXBsZW1lbnRlcg0KPiA+ICtzcGVjaWZpYw0K
PiA+ICthYXJjaDY0IGZsYWdzIGhhdmUgbWlkZGxlIHByaW9yaXR5DQo+ID4gKyMgICAgICh3aWxs
IG92ZXJ3cml0ZSBjb21tb24gZmxhZ3MpDQo+ID4gKyMgcGFydCBudW1iZXIgc3BlY2lmaWMgYWFy
Y2g2NCBmbGFncyBoYXZlIHRoZSBoaWdoZXN0IHByaW9yaXR5DQo+ID4gKyMgICAgICh3aWxsIG92
ZXJ3cml0ZSBib3RoIGNvbW1vbiBhbmQgaW1wbGVtZW50ZXIgc3BlY2lmaWMgZmxhZ3MpDQo+ID4g
K2ltcGxlbWVudGVyX2dlbmVyaWMgPSB7DQo+ID4gKwknZGVzY3JpcHRpb24nOiAnR2VuZXJpYyBh
cm12OCcsDQo+ID4gKwknZmxhZ3MnOiBbDQo+ID4gKwkJWydSVEVfTUFDSElORScsICciYXJtdjhh
IiddLA0KPiA+ICsJCVsnUlRFX1VTRV9DMTFfTUVNX01PREVMJywgdHJ1ZV0sDQo+ID4gKwkJWydS
VEVfQ0FDSEVfTElORV9TSVpFJywgMTI4XSwNCj4gPiArCQlbJ1JURV9NQVhfTENPUkUnLCAyNTZd
DQo+ID4gKwldLA0KPiA+ICsJJ3BhcnRfbnVtYmVyX2NvbmZpZyc6IHsNCj4gPiArCQknZ2VuZXJp
Yyc6IHsnbWFjaGluZV9hcmdzJzogWyctbWFyY2g9YXJtdjgtYStjcmMnLA0KPiA+ICsJCQkJCSAg
ICAgJy1tb3V0bGluZS1hdG9taWNzJ119DQo+ID4gKwl9DQo+ID4gK30NCj4gPiArDQo+ID4gK3Bh
cnRfbnVtYmVyX2NvbmZpZ19hcm0gPSB7DQo+ID4gKwknZ2VuZXJpYyc6IHsnbWFjaGluZV9hcmdz
JzogIFsnLW1hcmNoPWFybXY4LWErY3JjJywNCj4gPiArCQkJCSAgICAgICctbW91dGxpbmUtYXRv
bWljcyddfSwNCj4gPiArCSduYXRpdmUnOiB7J21hY2hpbmVfYXJncyc6ICBbJy1tYXJjaD1uYXRp
dmUnXX0sDQo+ID4gKwknMHhkMDMnOiB7J21hY2hpbmVfYXJncyc6ICBbJy1tY3B1PWNvcnRleC1h
NTMnXX0sDQo+ID4gKwknMHhkMDQnOiB7J21hY2hpbmVfYXJncyc6ICBbJy1tY3B1PWNvcnRleC1h
MzUnXX0sDQo+ID4gKwknMHhkMDcnOiB7J21hY2hpbmVfYXJncyc6ICBbJy1tY3B1PWNvcnRleC1h
NTcnXX0sDQo+ID4gKwknMHhkMDgnOiB7J21hY2hpbmVfYXJncyc6ICBbJy1tY3B1PWNvcnRleC1h
NzInXX0sDQo+ID4gKwknMHhkMDknOiB7J21hY2hpbmVfYXJncyc6ICBbJy1tY3B1PWNvcnRleC1h
NzMnXX0sDQo+ID4gKwknMHhkMGEnOiB7J21hY2hpbmVfYXJncyc6ICBbJy1tY3B1PWNvcnRleC1h
NzUnXX0sDQo+ID4gKwknMHhkMGInOiB7J21hY2hpbmVfYXJncyc6ICBbJy1tY3B1PWNvcnRleC1h
NzYnXX0sDQo+ID4gKwknMHhkMGMnOiB7DQo+ID4gKwkJJ21hY2hpbmVfYXJncyc6ICBbJy1tYXJj
aD1hcm12OC4yLWErY3J5cHRvJywNCj4gPiArCQkJCSAgJy1tY3B1PW5lb3ZlcnNlLW4xJ10sDQo+
ID4gKwkJJ2ZsYWdzJzogWw0KPiA+ICsJCQlbJ1JURV9NQUNISU5FJywgJyJuZW92ZXJzZS1uMSIn
XSwNCj4gPiArCQkJWydSVEVfQVJNX0ZFQVRVUkVfQVRPTUlDUycsIHRydWVdLA0KPiA+ICsJCQlb
J1JURV9VU0VfQzExX01FTV9NT0RFTCcsIHRydWVdLA0KPiBUaGlzIGR1cGxpY2F0ZXMgd2hhdCBp
biBpbXBsZW1lbnRlciBmbGFncy4NCj4gQ2FuIHdlIHJlbW92ZSBpdD8NCj4gDQo+ID4gKwkJCVsn
UlRFX0VBTF9OVU1BX0FXQVJFX0hVR0VQQUdFUycsIGZhbHNlXSwNCj4gPiArCQkJWydSVEVfTElC
UlRFX1ZIT1NUX05VTUEnLCBmYWxzZV0sDQo+ID4gKwkJCVsnUlRFX01BWF9NRU1fTUInLCAxMDQ4
NTc2XSwNCj4gPiArCQkJWydSVEVfQ0FDSEVfTElORV9TSVpFJywgNjRdLA0KPiBBbHNvIHRoaXMg
b25lLg0KPiANCg0KWWVhLCBsZXQncyBub3QgZHVwbGljYXRlIHRoZSBjb25maWcsIEknbGwgcmVt
b3ZlIGJvdGggb2YgdGhvZXMuDQoNCj4gPiArCQkJWydSVEVfTUFYX0xDT1JFJywgNjRdLA0KPiBE
byB5b3Ugd2FudCB0byBjaGFuZ2UgdGhpcyB0byA4MD8NCj4gQW1wZXJlIEFsdHJhIFNvQyBoYXMg
ODAgTjEgY29yZXMuDQo+IA0KDQpZZXMsIG1ha2VzIHNlbnNlIHRvIHVwZGF0ZSBpdC4NCg0KPiA+
ICsJCQlbJ1JURV9NQVhfTlVNQV9OT0RFUycsIDFdDQo+ID4gKwkJXQ0KPiA+ICsJfQ0KPiA+ICt9
DQo+ID4gK2ltcGxlbWVudGVyX2FybSA9IHsNCj4gPiArCSdkZXNjcmlwdGlvbic6ICdBcm0nLA0K
PiA+ICsJJ2ZsYWdzJzogWw0KPiA+ICsJCVsnUlRFX01BQ0hJTkUnLCAnImFybXY4YSInXSwNCj4g
PiArCQlbJ1JURV9VU0VfQzExX01FTV9NT0RFTCcsIHRydWVdLA0KPiA+ICsJCVsnUlRFX0NBQ0hF
X0xJTkVfU0laRScsIDY0XSwNCj4gPiArCQlbJ1JURV9NQVhfTENPUkUnLCAxNl0NCj4gPiArCV0s
DQo+ID4gKwkncGFydF9udW1iZXJfY29uZmlnJzogcGFydF9udW1iZXJfY29uZmlnX2FybSB9DQo+
ID4NCj4gPiAtIyBwYXJ0IG51bWJlciBzcGVjaWZpYyBhYXJjaDY0IGZsYWdzLCB3aXRoIGhpZ2hl
c3QgcHJpb3JpdHkgLSMgKHdpbGwNCj4gPiBvdmVyd3JpdGUgYm90aCBjb21tb24gYW5kIGltcGxl
bWVudGVyIHNwZWNpZmljIGZsYWdzKQ0KPiA+IGZsYWdzX3BhcnRfbnVtYmVyX3RodW5kZXJ4ID0g
Ww0KPiA+ICAJWydSVEVfTUFDSElORScsICcidGh1bmRlcngiJ10sDQo+ID4gIAlbJ1JURV9VU0Vf
QzExX01FTV9NT0RFTCcsIGZhbHNlXQ0KPiA+ICBdDQo+ID4gLWZsYWdzX3BhcnRfbnVtYmVyX3Ro
dW5kZXJ4MiA9IFsNCj4gPiAtCVsnUlRFX01BQ0hJTkUnLCAnInRodW5kZXJ4MiInXSwNCj4gPiAt
CVsnUlRFX0FSTV9GRUFUVVJFX0FUT01JQ1MnLCB0cnVlXSwNCj4gPiAtCVsnUlRFX1VTRV9DMTFf
TUVNX01PREVMJywgdHJ1ZV0sDQo+ID4gLQlbJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCA2NF0sDQo+
ID4gLQlbJ1JURV9NQVhfTENPUkUnLCAyNTZdLA0KPiA+IC0JWydSVEVfTUFYX05VTUFfTk9ERVMn
LCAyXQ0KPiA+IC1dDQo+ID4gLWZsYWdzX3BhcnRfbnVtYmVyX29jdGVvbnR4MiA9IFsNCj4gPiAt
CVsnUlRFX01BQ0hJTkUnLCAnIm9jdGVvbnR4MiInXSwNCj4gPiAtCVsnUlRFX0FSTV9GRUFUVVJF
X0FUT01JQ1MnLCB0cnVlXSwNCj4gPiAtCVsnUlRFX1VTRV9DMTFfTUVNX01PREVMJywgdHJ1ZV0s
DQo+ID4gLQlbJ1JURV9FQUxfSUdCX1VJTycsIGZhbHNlXSwNCj4gPiAtCVsnUlRFX01BWF9MQ09S
RScsIDM2XSwNCj4gPiAtCVsnUlRFX01BWF9OVU1BX05PREVTJywgMV0NCj4gPiAtXQ0KPiA+IC1m
bGFnc19wYXJ0X251bWJlcl9uMWdlbmVyaWMgPSBbDQo+ID4gLQlbJ1JURV9NQUNISU5FJywgJyJu
ZW92ZXJzZS1uMSInXSwNCj4gPiAtCVsnUlRFX0FSTV9GRUFUVVJFX0FUT01JQ1MnLCB0cnVlXSwN
Cj4gPiAtCVsnUlRFX1VTRV9DMTFfTUVNX01PREVMJywgdHJ1ZV0sDQo+ID4gLQlbJ1JURV9FQUxf
TlVNQV9BV0FSRV9IVUdFUEFHRVMnLCBmYWxzZV0sDQo+ID4gLQlbJ1JURV9MSUJSVEVfVkhPU1Rf
TlVNQScsIGZhbHNlXSwNCj4gPiAtCVsnUlRFX01BWF9NRU1fTUInLCAxMDQ4NTc2XSwNCj4gPiAt
CVsnUlRFX0NBQ0hFX0xJTkVfU0laRScsIDY0XSwNCj4gPiAtCVsnUlRFX01BWF9MQ09SRScsIDY0
XSwNCj4gPiAtCVsnUlRFX01BWF9OVU1BX05PREVTJywgMV0NCj4gPiAtXQ0KPiA+ICtpbXBsZW1l
bnRlcl9jYXZpdW0gPSB7DQo+ID4gKwknZGVzY3JpcHRpb24nOiAnQ2F2aXVtJywNCj4gPiArCSdm
bGFncyc6IFsNCj4gPiArCQlbJ1JURV9NQVhfVkZJT19HUk9VUFMnLCAxMjhdLA0KPiA+ICsJCVsn
UlRFX0NBQ0hFX0xJTkVfU0laRScsIDEyOF0sDQo+ID4gKwkJWydSVEVfTUFYX0xDT1JFJywgOTZd
LA0KPiA+ICsJCVsnUlRFX01BWF9OVU1BX05PREVTJywgMl0NCj4gPiArCV0sDQo+ID4gKwkncGFy
dF9udW1iZXJfY29uZmlnJzogew0KPiA+ICsJCSdnZW5lcmljJzogeydtYWNoaW5lX2FyZ3MnOiBb
Jy1tYXJjaD1hcm12OC1hK2NyYytjcnlwdG8nLA0KPiA+ICsJCQkJCSAgICAgJy1tY3B1PXRodW5k
ZXJ4J119LA0KPiA+ICsJCSduYXRpdmUnOiB7J21hY2hpbmVfYXJncyc6IFsnLW1hcmNoPW5hdGl2
ZSddfSwNCj4gPiArCQknMHhhMSc6IHsNCj4gPiArCQkJJ21hY2hpbmVfYXJncyc6IFsnLW1jcHU9
dGh1bmRlcnh0ODgnXSwNCj4gPiArCQkJJ2ZsYWdzJzogZmxhZ3NfcGFydF9udW1iZXJfdGh1bmRl
cngNCj4gPiArCQl9LA0KPiA+ICsJCScweGEyJzogew0KPiA+ICsJCQknbWFjaGluZV9hcmdzJzog
WyctbWNwdT10aHVuZGVyeHQ4MSddLA0KPiA+ICsJCQknZmxhZ3MnOiBmbGFnc19wYXJ0X251bWJl
cl90aHVuZGVyeA0KPiA+ICsJCX0sDQo+ID4gKwkJJzB4YTMnOiB7DQo+ID4gKwkJCSdtYWNoaW5l
X2FyZ3MnOiBbJy1tY3B1PXRodW5kZXJ4dDgzJ10sDQo+ID4gKwkJCSdmbGFncyc6IGZsYWdzX3Bh
cnRfbnVtYmVyX3RodW5kZXJ4DQo+ID4gKwkJfSwNCj4gPiArCQknMHhhZic6IHsNCj4gPiArCQkJ
J21hY2hpbmVfYXJncyc6IFsnLW1hcmNoPWFybXY4LjEtYStjcmMrY3J5cHRvJywNCj4gPiArCQkJ
CQkgJy1tY3B1PXRodW5kZXJ4MnQ5OSddLA0KPiA+ICsJCQknZmxhZ3MnOiBbDQo+ID4gKwkJCQlb
J1JURV9NQUNISU5FJywgJyJ0aHVuZGVyeDIiJ10sDQo+ID4gKwkJCQlbJ1JURV9BUk1fRkVBVFVS
RV9BVE9NSUNTJywgdHJ1ZV0sDQo+ID4gKwkJCQlbJ1JURV9VU0VfQzExX01FTV9NT0RFTCcsIHRy
dWVdLA0KPiA+ICsJCQkJWydSVEVfQ0FDSEVfTElORV9TSVpFJywgNjRdLA0KPiA+ICsJCQkJWydS
VEVfTUFYX0xDT1JFJywgMjU2XSwNCj4gPiArCQkJCVsnUlRFX01BWF9OVU1BX05PREVTJywgMl0N
Cj4gPiArCQkJXQ0KPiA+ICsJCX0sDQo+ID4gKwkJJzB4YjInOiB7DQo+ID4gKwkJCSdtYWNoaW5l
X2FyZ3MnOiBbJy1tYXJjaD1hcm12OC4yLWErY3JjK2NyeXB0bytsc2UnLA0KPiA+ICsJCQkJCSAn
LW1jcHU9b2N0ZW9udHgyJ10sDQo+ID4gKwkJCSdmbGFncyc6IFsNCj4gPiArCQkJCVsnUlRFX01B
Q0hJTkUnLCAnIm9jdGVvbnR4MiInXSwNCj4gPiArCQkJCVsnUlRFX0FSTV9GRUFUVVJFX0FUT01J
Q1MnLCB0cnVlXSwNCj4gPiArCQkJCVsnUlRFX1VTRV9DMTFfTUVNX01PREVMJywgdHJ1ZV0sDQo+
ID4gKwkJCQlbJ1JURV9FQUxfSUdCX1VJTycsIGZhbHNlXSwNCj4gPiArCQkJCVsnUlRFX01BWF9M
Q09SRScsIDM2XSwNCj4gPiArCQkJCVsnUlRFX01BWF9OVU1BX05PREVTJywgMV0NCj4gPiArCQkJ
XQ0KPiA+ICsJCX0NCj4gPiArCX0NCj4gPiArfQ0KPiA+DQo+ID4gLSMgYXJtIGNvbmZpZyAoaW1w
bGVtZW50ZXIgMHg0MSkgaXMgdGhlIGRlZmF1bHQgY29uZmlnIC0NCj4gPiBwYXJ0X251bWJlcl9j
b25maWdfYXJtID0gWw0KPiA+IC0JWydnZW5lcmljJywgWyctbWFyY2g9YXJtdjgtYStjcmMnLCAn
LW1vdXRsaW5lLWF0b21pY3MnXV0sDQo+ID4gLQlbJ25hdGl2ZScsIFsnLW1hcmNoPW5hdGl2ZSdd
XSwNCj4gPiAtCVsnMHhkMDMnLCBbJy1tY3B1PWNvcnRleC1hNTMnXV0sDQo+ID4gLQlbJzB4ZDA0
JywgWyctbWNwdT1jb3J0ZXgtYTM1J11dLA0KPiA+IC0JWycweGQwNycsIFsnLW1jcHU9Y29ydGV4
LWE1NyddXSwNCj4gPiAtCVsnMHhkMDgnLCBbJy1tY3B1PWNvcnRleC1hNzInXV0sDQo+ID4gLQlb
JzB4ZDA5JywgWyctbWNwdT1jb3J0ZXgtYTczJ11dLA0KPiA+IC0JWycweGQwYScsIFsnLW1jcHU9
Y29ydGV4LWE3NSddXSwNCj4gPiAtCVsnMHhkMGInLCBbJy1tY3B1PWNvcnRleC1hNzYnXV0sDQo+
ID4gLQlbJzB4ZDBjJywgWyctbWFyY2g9YXJtdjguMi1hK2NyeXB0bycsICctbWNwdT1uZW92ZXJz
ZS1uMSddLA0KPiA+IGZsYWdzX3BhcnRfbnVtYmVyX24xZ2VuZXJpY10NCj4gPiAtXQ0KPiA+IC1w
YXJ0X251bWJlcl9jb25maWdfY2F2aXVtID0gWw0KPiA+IC0JWydnZW5lcmljJywgWyctbWFyY2g9
YXJtdjgtYStjcmMrY3J5cHRvJywnLW1jcHU9dGh1bmRlcngnXV0sDQo+ID4gLQlbJ25hdGl2ZScs
IFsnLW1hcmNoPW5hdGl2ZSddXSwNCj4gPiAtCVsnMHhhMScsIFsnLW1jcHU9dGh1bmRlcnh0ODgn
XSwgZmxhZ3NfcGFydF9udW1iZXJfdGh1bmRlcnhdLA0KPiA+IC0JWycweGEyJywgWyctbWNwdT10
aHVuZGVyeHQ4MSddLCBmbGFnc19wYXJ0X251bWJlcl90aHVuZGVyeF0sDQo+ID4gLQlbJzB4YTMn
LCBbJy1tY3B1PXRodW5kZXJ4dDgzJ10sIGZsYWdzX3BhcnRfbnVtYmVyX3RodW5kZXJ4XSwNCj4g
PiAtCVsnMHhhZicsIFsnLW1hcmNoPWFybXY4LjEtYStjcmMrY3J5cHRvJywnLW1jcHU9dGh1bmRl
cngydDk5J10sDQo+ID4gZmxhZ3NfcGFydF9udW1iZXJfdGh1bmRlcngyXSwNCj4gPiAtCVsnMHhi
MicsIFsnLW1hcmNoPWFybXY4LjItYStjcmMrY3J5cHRvK2xzZScsJy1tY3B1PW9jdGVvbnR4Midd
LA0KPiA+IGZsYWdzX3BhcnRfbnVtYmVyX29jdGVvbnR4Ml0NCj4gPiAtXQ0KPiA+IC1wYXJ0X251
bWJlcl9jb25maWdfZW1hZyA9IFsNCj4gPiAtCVsnZ2VuZXJpYycsIFsnLW1hcmNoPWFybXY4LWEr
Y3JjK2NyeXB0bycsICctbXR1bmU9ZW1hZyddXSwNCj4gPiAtCVsnbmF0aXZlJywgWyctbWFyY2g9
bmF0aXZlJ11dDQo+ID4gLV0NCj4gPiAraW1wbGVtZW50ZXJfYW1wZXJlID0gew0KPiA+ICsJJ2Rl
c2NyaXB0aW9uJzogJ0FtcGVyZSBDb21wdXRpbmcnLA0KPiA+ICsJJ2ZsYWdzJzogWw0KPiA+ICsJ
CVsnUlRFX01BQ0hJTkUnLCAnImVtYWciJ10sDQo+ID4gKwkJWydSVEVfQ0FDSEVfTElORV9TSVpF
JywgNjRdLA0KPiA+ICsJCVsnUlRFX01BWF9MQ09SRScsIDMyXSwNCj4gPiArCQlbJ1JURV9NQVhf
TlVNQV9OT0RFUycsIDFdDQo+ID4gKwldLA0KPiA+ICsJJ3BhcnRfbnVtYmVyX2NvbmZpZyc6IHsN
Cj4gPiArCQknZ2VuZXJpYyc6IHsnbWFjaGluZV9hcmdzJzogIFsnLW1hcmNoPWFybXY4LWErY3Jj
K2NyeXB0bycsDQo+ID4gKwkJCQkJICAgICAgJy1tdHVuZT1lbWFnJ119LA0KPiA+ICsJCSduYXRp
dmUnOiB7J21hY2hpbmVfYXJncyc6ICBbJy1tYXJjaD1uYXRpdmUnXX0NCj4gPiArCX0NCj4gPiAr
fQ0KPiA+ICsNCj4gPiAraW1wbGVtZW50ZXJfbWFydmVsbCA9IHsNCj4gPiArCSdkZXNjcmlwdGlv
bic6ICdNYXJ2ZWxsIEFSTUFEQScsDQo+ID4gKwknZmxhZ3MnOiBbDQo+ID4gKwkJWydSVEVfTUFD
SElORScsICciYXJtdjhhIiddLA0KPiA+ICsJCVsnUlRFX0NBQ0hFX0xJTkVfU0laRScsIDY0XSwN
Cj4gPiArCQlbJ1JURV9NQVhfTENPUkUnLCAxNl0sDQo+ID4gKwkJWydSVEVfTUFYX05VTUFfTk9E
RVMnLCAxXQ0KPiA+ICsJXSwNCj4gPiArCSdwYXJ0X251bWJlcl9jb25maWcnOiBwYXJ0X251bWJl
cl9jb25maWdfYXJtIH0NCj4gPiArDQo+ID4gK2ltcGxlbWVudGVyX2RwYWEgPSB7DQo+ID4gKwkn
ZGVzY3JpcHRpb24nOiAnTlhQIERQQUEnLA0KPiA+ICsJJ2ZsYWdzJzogWw0KPiA+ICsJCVsnUlRF
X01BQ0hJTkUnLCAnImRwYWEiJ10sDQo+ID4gKwkJWydSVEVfTElCUlRFX0RQQUEyX1VTRV9QSFlT
X0lPVkEnLCBmYWxzZV0sDQo+ID4gKwkJWydSVEVfVVNFX0MxMV9NRU1fTU9ERUwnLCB0cnVlXSwN
Cj4gPiArCQlbJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCA2NF0sDQo+ID4gKwkJWydSVEVfTUFYX0xD
T1JFJywgMTZdLA0KPiA+ICsJCVsnUlRFX01BWF9OVU1BX05PREVTJywgMV0NCj4gPiArCV0sDQo+
ID4gKwkncGFydF9udW1iZXJfY29uZmlnJzogcGFydF9udW1iZXJfY29uZmlnX2FybSB9DQo+ID4N
Cj4gPiAtIyMgQXJtIGltcGxlbWVudGVyIElEIChNSURSIGluIEFybSBBcmNoaXRlY3R1cmUgUmVm
ZXJlbmNlIE1hbnVhbCkgLQ0KPiA+IGltcGxlbWVudGVyX2dlbmVyaWMgPSBbJ0dlbmVyaWMgYXJt
djgnLCBmbGFnc19pbXBsZW1lbnRlcl9nZW5lcmljLA0KPiA+IHBhcnRfbnVtYmVyX2NvbmZpZ19h
cm1dDQo+ID4gLWltcGxlbWVudGVyXzB4NDEgPSBbJ0FybScsIGZsYWdzX2ltcGxlbWVudGVyX2Fy
bSwNCj4gPiBwYXJ0X251bWJlcl9jb25maWdfYXJtXQ0KPiA+IC1pbXBsZW1lbnRlcl8weDQzID0g
WydDYXZpdW0nLCBmbGFnc19pbXBsZW1lbnRlcl9jYXZpdW0sDQo+ID4gcGFydF9udW1iZXJfY29u
ZmlnX2Nhdml1bV0NCj4gPiAtaW1wbGVtZW50ZXJfMHg1MCA9IFsnQW1wZXJlIENvbXB1dGluZycs
IGZsYWdzX2ltcGxlbWVudGVyX2VtYWcsDQo+ID4gcGFydF9udW1iZXJfY29uZmlnX2VtYWddDQo+
ID4gLWltcGxlbWVudGVyXzB4NTYgPSBbJ01hcnZlbGwgQVJNQURBJywgZmxhZ3NfaW1wbGVtZW50
ZXJfYXJtYWRhLA0KPiA+IHBhcnRfbnVtYmVyX2NvbmZpZ19hcm1dIC1pbXBsZW1lbnRlcl9kcGFh
ID0gWydOWFAgRFBBQScsDQo+ID4gZmxhZ3NfaW1wbGVtZW50ZXJfZHBhYSwgcGFydF9udW1iZXJf
Y29uZmlnX2FybV0NCj4gPiArIyMgQXJtIGltcGxlbWVudGVycyAoSUQgZnJvbSBNSURSIGluIEFy
bSBBcmNoaXRlY3R1cmUgUmVmZXJlbmNlDQo+ID4gTWFudWFsKQ0KPiA+ICtpbXBsZW1lbnRlcnMg
PSB7DQo+ID4gKwknZ2VuZXJpYyc6IGltcGxlbWVudGVyX2dlbmVyaWMsDQo+ID4gKwknMHg0MSc6
IGltcGxlbWVudGVyX2FybSwNCj4gPiArCScweDQzJzogaW1wbGVtZW50ZXJfY2F2aXVtLA0KPiA+
ICsJJzB4NTAnOiBpbXBsZW1lbnRlcl9hbXBlcmUsDQo+ID4gKwknMHg1Nic6IGltcGxlbWVudGVy
X21hcnZlbGwsDQo+ID4gKwknZHBhYSc6IGltcGxlbWVudGVyX2RwYWENCj4gPiArfQ0KPiA+DQo+
ID4gIGRwZGtfY29uZi5zZXQoJ1JURV9BUkNIX0FSTScsIDEpDQo+ID4gIGRwZGtfY29uZi5zZXQo
J1JURV9GT1JDRV9JTlRSSU5TSUNTJywgMSkgQEAgLTE1MSw3ICsyMDIsNyBAQCBlbHNlDQo+ID4g
IAlpbXBsZW1lbnRlcl9pZCA9ICdnZW5lcmljJw0KPiA+ICAJaWYgbWFjaGluZSA9PSAnZGVmYXVs
dCcgYW5kIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpDQo+ID4gIAkJIyBkZWZhdWx0IGJ1aWxk
DQo+ID4gLQkJaW1wbGVtZW50ZXJfY29uZmlnID0gaW1wbGVtZW50ZXJfZ2VuZXJpYw0KPiA+ICsJ
CWltcGxlbWVudGVyX2NvbmZpZyA9IGltcGxlbWVudGVyWydnZW5lcmljJ10NCj4gPiAgCQlwYXJ0
X251bWJlciA9ICdnZW5lcmljJw0KPiA+ICAJZWxpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQo
KQ0KPiA+ICAJCSMgbmF0aXZlIGJ1aWxkDQo+ID4gQEAgLTE2Niw5ICsyMTcsOSBAQCBlbHNlDQo+
ID4gIAkJCXBhcnRfbnVtYmVyID0gY21kX291dHB1dFszXQ0KPiA+ICAJCWVuZGlmDQo+ID4gIAkJ
IyBTZXQgdG8gZ2VuZXJpYyBpZiB2YXJpYWJsZSBpcyBub3QgZm91bmQNCj4gPiAtCQlpbXBsZW1l
bnRlcl9jb25maWcgPSBnZXRfdmFyaWFibGUoJ2ltcGxlbWVudGVyXycgKw0KPiA+IGltcGxlbWVu
dGVyX2lkLCBbJ2dlbmVyaWMnXSkNCj4gPiArCQlpbXBsZW1lbnRlcl9jb25maWcgPSBpbXBsZW1l
bnRlcnMuZ2V0KGltcGxlbWVudGVyX2lkLA0KPiA+IFsnZ2VuZXJpYyddKQ0KPiA+ICAJCWlmIGlt
cGxlbWVudGVyX2NvbmZpZ1swXSA9PSAnZ2VuZXJpYycNCj4gPiAtCQkJaW1wbGVtZW50ZXJfY29u
ZmlnID0gaW1wbGVtZW50ZXJfZ2VuZXJpYw0KPiA+ICsJCQlpbXBsZW1lbnRlcl9jb25maWcgPSBp
bXBsZW1lbnRlclsnZ2VuZXJpYyddDQo+ID4gIAkJCXBhcnRfbnVtYmVyID0gJ2dlbmVyaWMnDQo+
ID4gIAkJZW5kaWYNCj4gPiAgCQlpZiBhcm1fZm9yY2VfbmF0aXZlX21hcmNoID09IHRydWUNCj4g
PiBAQCAtMTc4LDI4ICsyMjksMzUgQEAgZWxzZQ0KPiA+ICAJCSMgY3Jvc3MgYnVpbGQNCj4gPiAg
CQlpbXBsZW1lbnRlcl9pZCA9DQo+ID4gbWVzb24uZ2V0X2Nyb3NzX3Byb3BlcnR5KCdpbXBsZW1l
bnRlcl9pZCcsICdnZW5lcmljJykNCj4gPiAgCQlwYXJ0X251bWJlciA9IG1lc29uLmdldF9jcm9z
c19wcm9wZXJ0eSgncGFydF9udW1iZXInLA0KPiA+ICdnZW5lcmljJykNCj4gPiAtCQlpbXBsZW1l
bnRlcl9jb25maWcgPSBnZXRfdmFyaWFibGUoJ2ltcGxlbWVudGVyXycgKw0KPiA+IGltcGxlbWVu
dGVyX2lkKQ0KPiA+ICsJCWltcGxlbWVudGVyX2NvbmZpZyA9IGltcGxlbWVudGVycy5nZXQoaW1w
bGVtZW50ZXJfaWQpDQo+ID4gIAllbmRpZg0KPiA+DQo+ID4gLQltZXNzYWdlKCdBcm0gaW1wbGVt
ZW50ZXI6ICcgKyBpbXBsZW1lbnRlcl9jb25maWdbMF0pDQo+ID4gKwltZXNzYWdlKCdBcm0gaW1w
bGVtZW50ZXI6ICcgKyBpbXBsZW1lbnRlcl9jb25maWdbJ2Rlc2NyaXB0aW9uJ10pDQo+ID4gIAlt
ZXNzYWdlKCdBcm0gcGFydCBudW1iZXI6ICcgKyBwYXJ0X251bWJlcikNCj4gPg0KPiA+ICsJcGFy
dF9udW1iZXJfY29uZmlnID0gaW1wbGVtZW50ZXJfY29uZmlnWydwYXJ0X251bWJlcl9jb25maWcn
XQ0KPiA+ICsJaWYgcGFydF9udW1iZXJfY29uZmlnLmhhc19rZXkocGFydF9udW1iZXIpDQo+ID4g
KwkJIyB1c2UgdGhlIHNwZWNpZmllZCBwYXJ0X251bWJlciBtYWNoaW5lIGFyZ3MgaWYgZm91bmQN
Cj4gPiArCQlwYXJ0X251bWJlcl9jb25maWcgPSBwYXJ0X251bWJlcl9jb25maWdbcGFydF9udW1i
ZXJdDQo+ID4gKwllbGlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpDQo+ID4gKwkJIyBkZWZh
dWx0IHRvIGdlbmVyaWMgbWFjaGluZSBhcmdzIGlmIHBhcnRfbnVtYmVyIGlzIG5vdCBmb3VuZA0K
PiA+ICsJCSMgYW5kIG5vdCBmb3JjaW5nIG5hdGl2ZSBtYWNoaW5lIGFyZ3MNCj4gPiArCQkjIGJ1
dCBkb24ndCBkZWZhdWx0IGluIGNyb3NzLWJ1aWxkczsgaWYgcGFydF9udW1iZXIgaXMgc3BlY2lm
aWVkDQo+ID4gKwkJIyBpbmNvcnJlY3RseSBpbiBhIGNyb3NzLWZpbGUsIGl0IG5lZWRzIHRvIGJl
IGZpeGVkIHRoZXJlDQo+ID4gKwkJcGFydF9udW1iZXJfY29uZmlnID0gcGFydF9udW1iZXJfY29u
ZmlnWydnZW5lcmljJ10NCj4gPiArCWVsc2UNCj4gPiArCQkjIGRvaW5nIGNyb3NzIGJ1aWxkIGFu
ZCBwYXJ0IG51bWJlciBpcyBub3QgaW4NCj4gPiBwYXJ0X251bWJlcl9jb25maWcNCj4gPiArCQll
cnJvcignQ3Jvc3MgYnVpbGQgcGFydCBudW1iZXIgMEAwIG5vdA0KPiA+IGZvdW5kLicuZm9ybWF0
KHBhcnRfbnVtYmVyKSkNCj4gPiArCWVuZGlmDQo+ID4gKw0KPiA+ICAJIyB1c2UgZGVmYXVsdCBm
bGFncyB3aXRoIGltcGxlbWVudGVyIGZsYWdzDQo+ID4gLQlkcGRrX2ZsYWdzID0gZmxhZ3NfY29t
bW9uICsgaW1wbGVtZW50ZXJfY29uZmlnWzFdDQo+ID4gKwlkcGRrX2ZsYWdzID0gZmxhZ3NfY29t
bW9uICsgaW1wbGVtZW50ZXJfY29uZmlnWydmbGFncyddICsNCj4gPiArcGFydF9udW1iZXJfY29u
ZmlnLmdldCgnZmxhZ3MnLCBbXSkNCj4gPg0KPiA+ICsJIyBhcHBseSBzdXBwb3J0ZWQgbWFjaGlu
ZSBhcmdzDQo+ID4gIAltYWNoaW5lX2FyZ3MgPSBbXSAjIENsZWFyIHByZXZpb3VzIG1hY2hpbmUg
YXJncw0KPiA+IC0JZm9yZWFjaCBtYXJnOiBpbXBsZW1lbnRlcl9jb25maWdbMl0NCj4gPiAtCQlp
ZiBtYXJnWzBdID09IHBhcnRfbnVtYmVyDQo+ID4gLQkJCSMgYXBwbHkgc3VwcG9ydGVkIG1hY2hp
bmUgYXJncw0KPiA+IC0JCQlmb3JlYWNoIGZsYWc6IG1hcmdbMV0NCj4gPiAtCQkJCWlmIGNjLmhh
c19hcmd1bWVudChmbGFnKQ0KPiA+IC0JCQkJCW1hY2hpbmVfYXJncyArPSBmbGFnDQo+ID4gLQkJ
CQllbmRpZg0KPiA+IC0JCQllbmRmb3JlYWNoDQo+ID4gLQkJCWlmIG1hcmcubGVuZ3RoKCkgPiAy
DQo+ID4gLQkJCQkjIGFkZCBleHRyYSBmbGFncyBmb3IgdGhlIHBhcnQNCj4gPiAtCQkJCWRwZGtf
ZmxhZ3MgKz0gbWFyZ1syXQ0KPiA+IC0JCQllbmRpZg0KPiA+ICsJZm9yZWFjaCBmbGFnOiBwYXJ0
X251bWJlcl9jb25maWdbJ21hY2hpbmVfYXJncyddDQo+ID4gKwkJaWYgY2MuaGFzX2FyZ3VtZW50
KGZsYWcpDQo+ID4gKwkJCW1hY2hpbmVfYXJncyArPSBmbGFnDQo+ID4gIAkJZW5kaWYNCj4gPiAg
CWVuZGZvcmVhY2gNCj4gPg0KPiA+IC0tDQo+ID4gMi4yMC4xDQoNCg==