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 33943A04B5; Tue, 27 Oct 2020 09:10:46 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7956C2BD5; Tue, 27 Oct 2020 09:10:44 +0100 (CET) Received: from mailgw02.pantheon.sk (mailgw01.pantheon.sk [46.229.239.26]) by dpdk.org (Postfix) with ESMTP id E14682BD3 for ; Tue, 27 Oct 2020 09:10:42 +0100 (CET) Received: from mailgw02.pantheon.sk (localhost.localdomain [127.0.0.1]) by mailgw02.pantheon.sk (Proxmox) with ESMTP id 7F1CC1835F6; Tue, 27 Oct 2020 09:10:41 +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=qNAo9HFaXivxGdeNP8mo YaotCVbV+S0YcR2bmX9NV5g=; b=xDLlF7hEUOSx1ELv3NK7bFCo5tBIJH4JBW6o i+QFJiWbERWFupujPU/179utax6mDc+N9focY9QEQ2tnaMvqcDUX/qHgs0hWoBVF 2HuIqCuv+nlXNE/il0+fDBGl8uxVAsCYOF+Py3h93IYIhVszg5pExz1h3jN3RO8y KvQ9/XOZtu4qik9OK4ShB8hzupmSEQnIKttYeiefy7Hit0oSiAucuMB130U6iHQk jji6ElmJcI1qD0JkAeaEDde7pohEwYJgQCr2IL58ajO6kZeodLyOMvBRk08EYxG0 APg1QgHcaf0Lys0BqlH9gO7UCBOjiNRmjELyPcnDgMafcnKe7A== From: =?utf-8?B?SnVyYWogTGlua2XFoQ==?= To: Honnappa Nagarahalli , "bruce.richardson@intel.com" , Ruifeng Wang , Phil Yang , "vcchunga@amazon.com" , Dharmik Thakkar , "jerinjacobk@gmail.com" , "hemant.agrawal@nxp.com" CC: "dev@dpdk.org" , nd , nd Thread-Topic: [PATCH v4 2/6] build: refactor Arm build Thread-Index: AQHWqUuKFo5iH2etR0SB+T0fGtDV/qmq16SAgABBqkA= Date: Tue, 27 Oct 2020 08:10:40 +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-3-git-send-email-juraj.linkes@pantheon.tech> In-Reply-To: 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 2/6] build: refactor Arm build 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSG9ubmFwcGEgTmFnYXJh aGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE9j dG9iZXIgMjcsIDIwMjAgNTo1NiBBTQ0KPiBUbzogSnVyYWogTGlua2XFoSA8anVyYWoubGlua2Vz QHBhbnRoZW9uLnRlY2g+OyBicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbTsNCj4gUnVpZmVuZyBX YW5nIDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IFBoaWwgWWFuZyA8UGhpbC5ZYW5nQGFybS5jb20+ Ow0KPiB2Y2NodW5nYUBhbWF6b24uY29tOyBEaGFybWlrIFRoYWtrYXIgPERoYXJtaWsuVGhha2th ckBhcm0uY29tPjsNCj4gamVyaW5qYWNvYmtAZ21haWwuY29tOyBoZW1hbnQuYWdyYXdhbEBueHAu Y29tDQo+IENjOiBkZXZAZHBkay5vcmc7IG5kIDxuZEBhcm0uY29tPjsgSG9ubmFwcGEgTmFnYXJh aGFsbGkNCj4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4N Cj4gU3ViamVjdDogUkU6IFtQQVRDSCB2NCAyLzZdIGJ1aWxkOiByZWZhY3RvciBBcm0gYnVpbGQN Cj4gDQo+IDxzbmlwPg0KPiBJIHRoaW5rIHdlIG5lZWQgdG8gc3BsaXQgdGhpcyBmdXJ0aGVyLiBG ZXcgc3VnZ2VzdGlvbnMgYmVsb3cuDQo+IA0KPiA+DQo+ID4gKiBSZW5hbWUgdmFyaWFibGVzIHRv IGhhdmUgbmFtZXMgdGhhdCBiZXR0ZXIgZGVzY3JpYmUgd2hhdCB0aGUNCj4gPiB2YXJpYWJsZXMg c3RvcmUNCj4gVGhpcyBzaG91bGQgYmUgYSBzZXBhcmF0ZSBjb21taXQuDQo+IA0KPiA+ICogUmVt b3ZlIHVudXNlZCBvciBzdXBlcmZsdW91cyB2YXJpYWJsZXMNCj4gU2FtZSBoZXJlDQo+IA0KPiA+ ICogQ2hhbmdlIGEgbGlzdCB0byBkaWN0aW9uYXJ5IHdoZXJlIGtleSBsb29rdXAgaXMgbmVlZGVk DQo+IFNhbWUgaGVyZQ0KPiANCj4gPiAqIEFkZCBpbmZvcm1hdG9yeSBjb21tZW50cyBpbiB0aGUg Y29kZQ0KPiANCj4gPiAqIE1pbm9yIGNvZGUgcmVzdHJ1Y3R1cmUgYW5kIHJlZm9ybWF0dGluZw0K PiBTYW1lIGZvciB0aGlzDQo+IA0KDQpPaywgaG9wZWZ1bGx5IEknbGwgYmUgYWJsZSB0byBzZXBh cmF0ZSB0aGVzZSBjbGVhbmx5Lg0KDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBKdXJhaiBMaW5r ZcWhIDxqdXJhai5saW5rZXNAcGFudGhlb24udGVjaD4NCj4gPiAtLS0NCj4gPiAgY29uZmlnL2Fy bS9hcm02NF9hcm1hZGFfbGludXhfZ2NjICAgIHwgICAyICstDQo+ID4gIGNvbmZpZy9hcm0vYXJt NjRfYXJtdjhfbGludXhfZ2NjICAgICB8ICAgOCArLQ0KPiA+ICBjb25maWcvYXJtL2FybTY0X2Js dWVmaWVsZF9saW51eF9nY2MgfCAgIDQgKy0NCj4gPiAgY29uZmlnL2FybS9hcm02NF9kcGFhX2xp bnV4X2djYyAgICAgIHwgICAyICstDQo+ID4gIGNvbmZpZy9hcm0vYXJtNjRfZW1hZ19saW51eF9n Y2MgICAgICB8ICAgMiArLQ0KPiA+ICBjb25maWcvYXJtL2FybTY0X24xc2RwX2xpbnV4X2djYyAg ICAgfCAgIDQgKy0NCj4gPiAgY29uZmlnL2FybS9hcm02NF9vY3Rlb250eDJfbGludXhfZ2NjIHwg ICA0ICstDQo+ID4gIGNvbmZpZy9hcm0vYXJtNjRfc3RpbmdyYXlfbGludXhfZ2NjICB8ICAgNCAr LQ0KPiA+ICBjb25maWcvYXJtL2FybTY0X3RodW5kZXJ4Ml9saW51eF9nY2MgfCAgIDQgKy0NCj4g PiAgY29uZmlnL2FybS9hcm02NF90aHVuZGVyeF9saW51eF9nY2MgIHwgICAyICstDQo+ID4gIGNv bmZpZy9hcm0vbWVzb24uYnVpbGQgICAgICAgICAgICAgICB8IDI0NyArKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0NCj4gPiAgMTEgZmlsZXMgY2hhbmdlZCwgMTUzIGluc2VydGlvbnMoKyksIDEz MCBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9jb25maWcvYXJtL2FybTY0X2Fy bWFkYV9saW51eF9nY2MNCj4gPiBiL2NvbmZpZy9hcm0vYXJtNjRfYXJtYWRhX2xpbnV4X2djYw0K PiA+IGluZGV4IGZhNDBjMDM5OC4uNTJjNWY0NDc2IDEwMDY0NA0KPiA+IC0tLSBhL2NvbmZpZy9h cm0vYXJtNjRfYXJtYWRhX2xpbnV4X2djYw0KPiA+ICsrKyBiL2NvbmZpZy9hcm0vYXJtNjRfYXJt YWRhX2xpbnV4X2djYw0KPiA+IEBAIC0xNCw0ICsxNCw0IEBAIGNwdSA9ICdhcm12OC1hJw0KPiA+ ICBlbmRpYW4gPSAnbGl0dGxlJw0KPiA+DQo+ID4gIFtwcm9wZXJ0aWVzXQ0KPiA+IC1pbXBsZW1l bnRvcl9pZCA9ICcweDU2Jw0KPiA+ICtpbXBsZW1lbnRlcl9pZCA9ICcweDU2Jw0KPiBJbXBsZW1l bnRvciBhbmQgaW1wbGVtZW50ZXIgbWVhbiB0aGUgc2FtZS4gTG9va2VkIGF0IEFybSBzcGVjcywg dGhleSB1c2UNCj4gJ2ltcGxlbWVudGVyJy4gU28sIEkgYW0gZmluZS4NCj4gDQoNClRoYXQncyB3 aGVyZSBJIGdvdCB0aGlzIGFuZCBzb21lIG9mIHRoZSBvdGhlciB2YXJpYWJsZSBuYW1lIGNoYW5n ZXMgZnJvbS4NCg0KPiA+IGRpZmYgLS1naXQgYS9jb25maWcvYXJtL2FybTY0X2FybXY4X2xpbnV4 X2djYw0KPiA+IGIvY29uZmlnL2FybS9hcm02NF9hcm12OF9saW51eF9nY2MNCj4gPiBpbmRleCA4 OGYwZmY5ZGEuLjEzZWU4YjIyMyAxMDA2NDQNCj4gPiAtLS0gYS9jb25maWcvYXJtL2FybTY0X2Fy bXY4X2xpbnV4X2djYw0KPiA+ICsrKyBiL2NvbmZpZy9hcm0vYXJtNjRfYXJtdjhfbGludXhfZ2Nj DQo+ID4gQEAgLTEzLDEwICsxMywxMCBAQCBjcHUgPSAnYXJtdjgtYScNCj4gPiAgZW5kaWFuID0g J2xpdHRsZScNCj4gPg0KPiA+ICBbcHJvcGVydGllc10NCj4gPiAtaW1wbGVtZW50b3JfaWQgPSAn Z2VuZXJpYycNCj4gPiAraW1wbGVtZW50ZXJfaWQgPSAnZ2VuZXJpYycNCj4gPg0KPiA+IC0jIFZh bGlkIG9wdGlvbnMgZm9yIEFybSdzIGltcGxlbWVudG9yX3BuOg0KPiA+IC0jICdkZWZhdWx0Jzog dmFsaWQgZm9yIGFsbCBhcm12OC1hIGFyY2hpdGVjdHVyZXMgKGRlZmF1bHQgdmFsdWUpDQo+ID4g KyMgVmFsaWQgb3B0aW9ucyBmb3IgQXJtJ3MgcGFydF9udW1iZXI6DQo+ID4gKyMgJ2dlbmVyaWMn OiB2YWxpZCBmb3IgYWxsIGFybXY4LWEgYXJjaGl0ZWN0dXJlcyAoZGVmYXVsdCB2YWx1ZSkNCj4g PiAgIyAnMHhkMDMnOiAgIGNvcnRleC1hNTMNCj4gPiAgIyAnMHhkMDQnOiAgIGNvcnRleC1hMzUN Cj4gPiAgIyAnMHhkMDUnOiAgIGNvcnRleC1hNTUNCj4gPiBAQCAtMjUsNCArMjUsNCBAQCBpbXBs ZW1lbnRvcl9pZCA9ICdnZW5lcmljJw0KPiA+ICAjICcweGQwOSc6ICAgY29ydGV4LWE3Mw0KPiA+ ICAjICcweGQwYSc6ICAgY29ydGV4LWE3NQ0KPiA+ICAjICcweGQwYic6ICAgY29ydGV4LWE3Ng0K PiA+IC1pbXBsZW1lbnRvcl9wbiA9ICdkZWZhdWx0Jw0KPiA+ICtwYXJ0X251bWJlciA9ICdnZW5l cmljJw0KPiBTYW1lIGhlcmUsIEFybSBzcGVjcyByZWZlciB0byB0aGlzIGFzICdQYXJ0TnVtYmVy Jy4gU28sIHRoaXMgc2hvdWxkIGJlIGZpbmUuDQo+IEkgbGlrZSAnZ2VuZXJpYycgZm9yIHBhcnRf bnVtYmVyIGhlcmUuDQo+IA0KPiA+IGRpZmYgLS1naXQgYS9jb25maWcvYXJtL2FybTY0X2JsdWVm aWVsZF9saW51eF9nY2MNCj4gPiBiL2NvbmZpZy9hcm0vYXJtNjRfYmx1ZWZpZWxkX2xpbnV4X2dj Yw0KPiA+IGluZGV4IDg2Nzk3ZDIzYy4uYjc5Mzg5ZDg1IDEwMDY0NA0KPiA+IC0tLSBhL2NvbmZp Zy9hcm0vYXJtNjRfYmx1ZWZpZWxkX2xpbnV4X2djYw0KPiA+ICsrKyBiL2NvbmZpZy9hcm0vYXJt NjRfYmx1ZWZpZWxkX2xpbnV4X2djYw0KPiA+IEBAIC0xMyw1ICsxMyw1IEBAIGNwdSA9ICdhcm12 OC1hJw0KPiA+ICBlbmRpYW4gPSAnbGl0dGxlJw0KPiA+DQo+ID4gIFtwcm9wZXJ0aWVzXQ0KPiA+ IC1pbXBsZW1lbnRvcl9pZCA9ICcweDQxJw0KPiA+IC1pbXBsZW1lbnRvcl9wbiA9ICcweGQwOCcN Cj4gPiAraW1wbGVtZW50ZXJfaWQgPSAnMHg0MScNCj4gPiArcGFydF9udW1iZXIgPSAnMHhkMDgn DQo+ID4gZGlmZiAtLWdpdCBhL2NvbmZpZy9hcm0vYXJtNjRfZHBhYV9saW51eF9nY2MNCj4gPiBi L2NvbmZpZy9hcm0vYXJtNjRfZHBhYV9saW51eF9nY2MgaW5kZXggMWE0NjgyMTU0Li41NzNhZTdl NDIgMTAwNjQ0DQo+ID4gLS0tIGEvY29uZmlnL2FybS9hcm02NF9kcGFhX2xpbnV4X2djYw0KPiA+ ICsrKyBiL2NvbmZpZy9hcm0vYXJtNjRfZHBhYV9saW51eF9nY2MNCj4gPiBAQCAtMTQsNCArMTQs NCBAQCBjcHUgPSAnYXJtdjgtYScNCj4gPiAgZW5kaWFuID0gJ2xpdHRsZScNCj4gPg0KPiA+ICBb cHJvcGVydGllc10NCj4gPiAtaW1wbGVtZW50b3JfaWQgPSAnZHBhYScNCj4gPiAraW1wbGVtZW50 ZXJfaWQgPSAnZHBhYScNCj4gPiBkaWZmIC0tZ2l0IGEvY29uZmlnL2FybS9hcm02NF9lbWFnX2xp bnV4X2djYw0KPiA+IGIvY29uZmlnL2FybS9hcm02NF9lbWFnX2xpbnV4X2djYyBpbmRleCA4ZWRj ZDNlOTcuLjI0ZjNkNTMzZSAxMDA2NDQNCj4gPiAtLS0gYS9jb25maWcvYXJtL2FybTY0X2VtYWdf bGludXhfZ2NjDQo+ID4gKysrIGIvY29uZmlnL2FybS9hcm02NF9lbWFnX2xpbnV4X2djYw0KPiA+ IEBAIC0xMyw0ICsxMyw0IEBAIGNwdSA9ICdhcm12OC1hJw0KPiA+ICBlbmRpYW4gPSAnbGl0dGxl Jw0KPiA+DQo+ID4gIFtwcm9wZXJ0aWVzXQ0KPiA+IC1pbXBsZW1lbnRvcl9pZCA9ICcweDUwJw0K PiA+ICtpbXBsZW1lbnRlcl9pZCA9ICcweDUwJw0KPiA+IGRpZmYgLS1naXQgYS9jb25maWcvYXJt L2FybTY0X24xc2RwX2xpbnV4X2djYw0KPiA+IGIvY29uZmlnL2FybS9hcm02NF9uMXNkcF9saW51 eF9nY2MNCj4gPiBpbmRleCAwMjJlMDYzMDMuLjZmYjNmMDJlYSAxMDA2NDQNCj4gPiAtLS0gYS9j b25maWcvYXJtL2FybTY0X24xc2RwX2xpbnV4X2djYw0KPiA+ICsrKyBiL2NvbmZpZy9hcm0vYXJt NjRfbjFzZHBfbGludXhfZ2NjDQo+ID4gQEAgLTEzLDUgKzEzLDUgQEAgY3B1ID0gJ2FybXY4LWEn DQo+ID4gIGVuZGlhbiA9ICdsaXR0bGUnDQo+ID4NCj4gPiAgW3Byb3BlcnRpZXNdDQo+ID4gLWlt cGxlbWVudG9yX2lkID0gJzB4NDEnDQo+ID4gLWltcGxlbWVudG9yX3BuID0gJzB4ZDBjJw0KPiA+ ICtpbXBsZW1lbnRlcl9pZCA9ICcweDQxJw0KPiA+ICtwYXJ0X251bWJlciA9ICcweGQwYycNCj4g PiBkaWZmIC0tZ2l0IGEvY29uZmlnL2FybS9hcm02NF9vY3Rlb250eDJfbGludXhfZ2NjDQo+ID4g Yi9jb25maWcvYXJtL2FybTY0X29jdGVvbnR4Ml9saW51eF9nY2MNCj4gPiBpbmRleCAzNjViZDdj YmQuLmFjMTA0MjgwNiAxMDA2NDQNCj4gPiAtLS0gYS9jb25maWcvYXJtL2FybTY0X29jdGVvbnR4 Ml9saW51eF9nY2MNCj4gPiArKysgYi9jb25maWcvYXJtL2FybTY0X29jdGVvbnR4Ml9saW51eF9n Y2MNCj4gPiBAQCAtMTMsNSArMTMsNSBAQCBjcHUgPSAnYXJtdjgtYScNCj4gPiAgZW5kaWFuID0g J2xpdHRsZScNCj4gPg0KPiA+ICBbcHJvcGVydGllc10NCj4gPiAtaW1wbGVtZW50b3JfaWQgPSAn MHg0MycNCj4gPiAtaW1wbGVtZW50b3JfcG4gPSAnMHhiMicNCj4gPiAraW1wbGVtZW50ZXJfaWQg PSAnMHg0MycNCj4gPiArcGFydF9udW1iZXIgPSAnMHhiMicNCj4gPiBkaWZmIC0tZ2l0IGEvY29u ZmlnL2FybS9hcm02NF9zdGluZ3JheV9saW51eF9nY2MNCj4gPiBiL2NvbmZpZy9hcm0vYXJtNjRf c3RpbmdyYXlfbGludXhfZ2NjDQo+ID4gaW5kZXggODY3OTdkMjNjLi5iNzkzODlkODUgMTAwNjQ0 DQo+ID4gLS0tIGEvY29uZmlnL2FybS9hcm02NF9zdGluZ3JheV9saW51eF9nY2MNCj4gPiArKysg Yi9jb25maWcvYXJtL2FybTY0X3N0aW5ncmF5X2xpbnV4X2djYw0KPiA+IEBAIC0xMyw1ICsxMyw1 IEBAIGNwdSA9ICdhcm12OC1hJw0KPiA+ICBlbmRpYW4gPSAnbGl0dGxlJw0KPiA+DQo+ID4gIFtw cm9wZXJ0aWVzXQ0KPiA+IC1pbXBsZW1lbnRvcl9pZCA9ICcweDQxJw0KPiA+IC1pbXBsZW1lbnRv cl9wbiA9ICcweGQwOCcNCj4gPiAraW1wbGVtZW50ZXJfaWQgPSAnMHg0MScNCj4gPiArcGFydF9u dW1iZXIgPSAnMHhkMDgnDQo+ID4gZGlmZiAtLWdpdCBhL2NvbmZpZy9hcm0vYXJtNjRfdGh1bmRl cngyX2xpbnV4X2djYw0KPiA+IGIvY29uZmlnL2FybS9hcm02NF90aHVuZGVyeDJfbGludXhfZ2Nj DQo+ID4gaW5kZXggMmI0MWFjYzYxLi5kZDI1Nzc0NWUgMTAwNjQ0DQo+ID4gLS0tIGEvY29uZmln L2FybS9hcm02NF90aHVuZGVyeDJfbGludXhfZ2NjDQo+ID4gKysrIGIvY29uZmlnL2FybS9hcm02 NF90aHVuZGVyeDJfbGludXhfZ2NjDQo+ID4gQEAgLTEzLDUgKzEzLDUgQEAgY3B1ID0gJ2FybXY4 LWEnDQo+ID4gIGVuZGlhbiA9ICdsaXR0bGUnDQo+ID4NCj4gPiAgW3Byb3BlcnRpZXNdDQo+ID4g LWltcGxlbWVudG9yX2lkID0gJzB4NDMnDQo+ID4gLWltcGxlbWVudG9yX3BuID0gJzB4YWYnDQo+ ID4gK2ltcGxlbWVudGVyX2lkID0gJzB4NDMnDQo+ID4gK3BhcnRfbnVtYmVyID0gJzB4YWYnDQo+ ID4gZGlmZiAtLWdpdCBhL2NvbmZpZy9hcm0vYXJtNjRfdGh1bmRlcnhfbGludXhfZ2NjDQo+ID4g Yi9jb25maWcvYXJtL2FybTY0X3RodW5kZXJ4X2xpbnV4X2djYw0KPiA+IGluZGV4IDY1NzJhYjYx NS4uNjcwNzY0NDM3IDEwMDY0NA0KPiA+IC0tLSBhL2NvbmZpZy9hcm0vYXJtNjRfdGh1bmRlcnhf bGludXhfZ2NjDQo+ID4gKysrIGIvY29uZmlnL2FybS9hcm02NF90aHVuZGVyeF9saW51eF9nY2MN Cj4gPiBAQCAtMTMsNCArMTMsNCBAQCBjcHUgPSAnYXJtdjgtYScNCj4gPiAgZW5kaWFuID0gJ2xp dHRsZScNCj4gPg0KPiA+ICBbcHJvcGVydGllc10NCj4gPiAtaW1wbGVtZW50b3JfaWQgPSAnMHg0 MycNCj4gPiAraW1wbGVtZW50ZXJfaWQgPSAnMHg0MycNCj4gPiBkaWZmIC0tZ2l0IGEvY29uZmln L2FybS9tZXNvbi5idWlsZCBiL2NvbmZpZy9hcm0vbWVzb24uYnVpbGQgaW5kZXgNCj4gPiA0OTE4 NDJjYWQuLjZjMzFhYjE2NyAxMDA2NDQNCj4gPiAtLS0gYS9jb25maWcvYXJtL21lc29uLmJ1aWxk DQo+ID4gKysrIGIvY29uZmlnL2FybS9tZXNvbi5idWlsZA0KPiA+IEBAIC0zLDEyICszLDEyIEBA DQo+ID4gICMgQ29weXJpZ2h0KGMpIDIwMTcgQ2F2aXVtLCBJbmMNCj4gPiAgIyBDb3B5cmlnaHQo YykgMjAyMCBQQU5USEVPTi50ZWNoIHMuci5vLg0KPiA+DQo+ID4gLSMgZm9yIGNoZWNraW5nIGRl ZmluZXMgd2UgbmVlZCB0byB1c2UgdGhlIGNvcnJlY3QgY29tcGlsZXIgZmxhZ3MNCj4gPiAtbWFy Y2hfb3B0ID0gJy1tYXJjaD1AMEAnLmZvcm1hdChtYWNoaW5lKQ0KPiA+IC0NCj4gPiArIyBzZXQg YXJtX2ZvcmNlX25hdGl2ZV9tYXJjaCBpZiB5b3Ugd2FudCB0byB1c2UgbWFjaGluZSBhcmdzIGJl bG93ICMNCj4gPiAraW5zdGVhZCBvZiBkaXNjb3ZlcmVkIHZhbHVlczsgb25seSB3b3JrcyB3aGVu IGRvaW5nIGFuIGFjdHVhbCBuYXRpdmUNCj4gPiArYnVpbGQNCj4gPiAgYXJtX2ZvcmNlX25hdGl2 ZV9tYXJjaCA9IGZhbHNlDQo+ID4gLWFybV9mb3JjZV9nZW5lcmljX21hcmNoID0gKG1hY2hpbmUg PT0gJ2dlbmVyaWMnKQ0KPiA+ICtuYXRpdmVfbWFjaGluZV9hcmdzID0gWyctbWFyY2g9bmF0aXZl JywgJy1tdHVuZT1uYXRpdmUnXQ0KPiA+DQo+ID4gKyMgY29tbW9uIGZsYWdzIHRvIGFsbCBhYXJj aDY0IGJ1aWxkcywgd2l0aCBsb3dlc3QgcHJpb3JpdHkNCj4gPiAgZmxhZ3NfY29tbW9uX2RlZmF1 bHQgPSBbDQo+ID4gIAkjIEFjY2VsYXJhdGUgcnRlX21lbWNweS4gQmUgc3VyZSB0byBydW4gdW5p dCB0ZXN0DQo+ID4gKG1lbWNweV9wZXJmX2F1dG90ZXN0KQ0KPiA+ICAJIyB0byBkZXRlcm1pbmUg dGhlIGJlc3QgdGhyZXNob2xkIGluIGNvZGUuIFJlZmVyIHRvIG5vdGVzIGluIHNvdXJjZQ0KPiA+ IGZpbGUgQEAgLTE2LDggKzE2LDkgQEAgZmxhZ3NfY29tbW9uX2RlZmF1bHQgPSBbDQo+ID4gIAlb J1JURV9BUkNIX0FSTTY0X01FTUNQWScsIGZhbHNlXSwNCj4gPiAgCSMJWydSVEVfQVJNNjRfTUVN Q1BZX0FMSUdORURfVEhSRVNIT0xEJywgMjA0OF0sDQo+ID4gIAkjCVsnUlRFX0FSTTY0X01FTUNQ WV9VTkFMSUdORURfVEhSRVNIT0xEJywgNTEyXSwNCj4gPiAtCSMgTGVhdmUgYmVsb3cgUlRFX0FS TTY0X01FTUNQWV94eHggb3B0aW9ucyBjb21tZW50ZWQgb3V0LA0KPiA+IHVubGVzcyB0aGVyZSdy ZQ0KPiA+IC0JIyBzdHJvbmcgcmVhc29ucy4NCj4gPiArDQo+ID4gKwkjIExlYXZlIGJlbG93IFJU RV9BUk02NF9NRU1DUFlfeHh4IG9wdGlvbnMgY29tbWVudGVkIG91dCwNCj4gPiArCSMgdW5sZXNz IHRoZXJlIGFyZSBzdHJvbmcgcmVhc29ucy4NCj4gPiAgCSMJWydSVEVfQVJNNjRfTUVNQ1BZX1NL SVBfR0NDX1ZFUl9DSEVDSycsIGZhbHNlXSwNCj4gPiAgCSMJWydSVEVfQVJNNjRfTUVNQ1BZX0FM SUdOX01BU0snLCAweEZdLA0KPiA+ICAJIwlbJ1JURV9BUk02NF9NRU1DUFlfU1RSSUNUX0FMSUdO JywgZmFsc2VdLA0KPiA+IEBAIC0yOCwxODQgKzI5LDIwNiBAQCBmbGFnc19jb21tb25fZGVmYXVs dCA9IFsNCj4gPg0KPiA+ICAJWydSVEVfU0NIRURfVkVDVE9SJywgZmFsc2VdLA0KPiA+ICAJWydS VEVfQVJNX1VTRV9XRkUnLCBmYWxzZV0sDQo+ID4gKwlbJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCAx MjhdLA0KPiA+ICsJWydSVEVfQVJDSF9BUk02NCcsIHRydWVdDQo+ID4gIF0NCj4gPg0KPiA+ICsj IGltcGxlbWVudGVyIHNwZWNpZmljIGFhcmNoNjQgZmxhZ3MsIHdpdGggbWlkZGxlIHByaW9yaXR5 ICMgKHdpbGwNCj4gPiArb3ZlcndyaXRlIGNvbW1vbiBmbGFncykNCj4gPiAgZmxhZ3NfZ2VuZXJp YyA9IFsNCj4gPiAgCVsnUlRFX01BQ0hJTkUnLCAnImFybXY4YSInXSwNCj4gPiAgCVsnUlRFX01B WF9MQ09SRScsIDI1Nl0sDQo+ID4gIAlbJ1JURV9VU0VfQzExX01FTV9NT0RFTCcsIHRydWVdLA0K PiA+IC0JWydSVEVfQ0FDSEVfTElORV9TSVpFJywgMTI4XV0NCj4gPiArCVsnUlRFX0NBQ0hFX0xJ TkVfU0laRScsIDEyOF0NCj4gPiArXQ0KPiBBbnkgcGFydGljdWxhciByZWFzb24gZm9yIHRoaXMg Y2hhbmdlPyAoYW5kIHNpbWlsYXIgY2hhbmdlcyBiZWxvdykNCj4gDQoNClRoZSBmaXJzdCBicmFj a2V0IGlzIHNwbGl0IGZyb20gdGhlIHNlY29uZCBicmFja2V0IHNvIEkgZGlkIHRoZSBzYW1lIGZv ciB0aGUgbGFzdCB0d28gYnJhY2tldHMuIEl0IG1ha2VzIGl0IG1vcmUgYXBwYXJlbnQgd2hpY2gg YnJhY2tldHMgYXJlIHBhaXJlZCwgaXQncyBtb3JlIGNvbnNpc3RlbnQgYW5kIGFsc28gaW4gbGlu ZSB3aXRoIGhvdyBmbGFnc19jb21tb25fZGVmYXVsdCBpcyBmb3JtYXR0ZWQuDQoNCj4gPiAgZmxh Z3NfYXJtID0gWw0KPiA+ICAJWydSVEVfTUFDSElORScsICciYXJtdjhhIiddLA0KPiA+ICAJWydS VEVfTUFYX0xDT1JFJywgMTZdLA0KPiA+ICAJWydSVEVfVVNFX0MxMV9NRU1fTU9ERUwnLCB0cnVl XSwNCj4gPiAtCVsnUlRFX0NBQ0hFX0xJTkVfU0laRScsIDY0XV0NCj4gPiArCVsnUlRFX0NBQ0hF X0xJTkVfU0laRScsIDY0XQ0KPiA+ICtdDQo+ID4gIGZsYWdzX2Nhdml1bSA9IFsNCj4gPiAgCVsn UlRFX0NBQ0hFX0xJTkVfU0laRScsIDEyOF0sDQo+ID4gIAlbJ1JURV9NQVhfTlVNQV9OT0RFUycs IDJdLA0KPiA+ICAJWydSVEVfTUFYX0xDT1JFJywgOTZdLA0KPiA+IC0JWydSVEVfTUFYX1ZGSU9f R1JPVVBTJywgMTI4XV0NCj4gPiArCVsnUlRFX01BWF9WRklPX0dST1VQUycsIDEyOF0NCj4gPiAr XQ0KPiA+ICBmbGFnc19kcGFhID0gWw0KPiA+ICAJWydSVEVfTUFDSElORScsICciZHBhYSInXSwN Cj4gPiAgCVsnUlRFX1VTRV9DMTFfTUVNX01PREVMJywgdHJ1ZV0sDQo+ID4gIAlbJ1JURV9DQUNI RV9MSU5FX1NJWkUnLCA2NF0sDQo+ID4gIAlbJ1JURV9NQVhfTlVNQV9OT0RFUycsIDFdLA0KPiA+ ICAJWydSVEVfTUFYX0xDT1JFJywgMTZdLA0KPiA+IC0JWydSVEVfTElCUlRFX0RQQUEyX1VTRV9Q SFlTX0lPVkEnLCBmYWxzZV1dDQo+ID4gKwlbJ1JURV9MSUJSVEVfRFBBQTJfVVNFX1BIWVNfSU9W QScsIGZhbHNlXSBdDQo+IFRoaXMgaXMgbm90IG5lZWRlZA0KPiANCg0KRG8geW91IG1lYW4gdGhl IHNwYWNlPyBJdCBzaG91bGQgYmUgYSBsaW5lIGJyZWFrLiBJJ2xsIGNoZWNrIHRoZSBleGFjdCBj aGFyYWN0ZXJzLCBidXQgSSBzZWUgdGhpcyBhcyBhZGRpbmcgYSBzcGFjZSBpbiBteSBsb2NhbCBw YXRjaC4gT3IgZG8geW91IG1lYW4gdGhlIGNvbmZpZyBvcHRpb24/IEl0J3Mgc2V0IHRvIHRydWUg YnkgZGVmYXVsdCBpbiBjb25maWcvbWVzb24uYnVpbGQgYW5kIGFjY29yZGluZyB0byBbMV0gaXQg c2hvdWxkIGJlIGRpc2FibGVkLg0KDQpbMV0gaHR0cDovL2dpdC5kcGRrLm9yZy9kcGRrL3RyZWUv Y29uZmlnL2RlZmNvbmZpZ19hcm02NC1kcGFhLWxpbnV4YXBwLWdjYz9oPXYyMC4wOA0KDQo+ID4g IGZsYWdzX2VtYWcgPSBbDQo+ID4gIAlbJ1JURV9NQUNISU5FJywgJyJlbWFnIiddLA0KPiA+IC0J WydSVEVfQ0FDSEVfTElORV9TSVpFJywgNjRdLA0KPiA+ICAJWydSVEVfTUFYX05VTUFfTk9ERVMn LCAxXSwNCj4gPiAtCVsnUlRFX01BWF9MQ09SRScsIDMyXV0NCj4gPiArCVsnUlRFX01BWF9MQ09S RScsIDMyXSwNCj4gPiArCVsnUlRFX0NBQ0hFX0xJTkVfU0laRScsIDY0XQ0KPiA+ICtdDQo+ID4g IGZsYWdzX2FybWFkYSA9IFsNCj4gPiAgCVsnUlRFX01BQ0hJTkUnLCAnImFybXY4YSInXSwNCj4g PiAtCVsnUlRFX0NBQ0hFX0xJTkVfU0laRScsIDY0XSwNCj4gPiAgCVsnUlRFX01BWF9OVU1BX05P REVTJywgMV0sDQo+ID4gLQlbJ1JURV9NQVhfTENPUkUnLCAxNl1dDQo+ID4gKwlbJ1JURV9NQVhf TENPUkUnLCAxNl0sDQo+ID4gKwlbJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCA2NF0NCj4gPiArXQ0K PiBBbnkgcmVhc29uIGZvciB0aGlzIGNoYW5nZT8NCj4gDQoNClRoZSBkZWZhdWx0IChmcm9tIGZs YWdzX2NvbW1vbl9kZWZhdWx0KSBpcyAxMjggYW5kIEkgZm91bmQgaGVyZSBbMF0gdGhhdCBpdCBz aG91bGQgYmUgc2V0IHRvIDY0IHNvIEkgYWRkZWQgaXQgaGVyZS4gU2hvdWxkIHRoaXMgYWxzbyBi ZSBpbiBhIHNlcGFyYXRlIHBhdGNoIChhcGFydCBmcm9tIHRob3NlIDQgYWxyZWFkeSBtZW50aW9u IGFib3ZlKT8NCg0KWzBdIGh0dHA6Ly9naXQuZHBkay5vcmcvZHBkay90cmVlL2NvbmZpZy9kZWZj b25maWdfYXJtNjQtYXJtYWRhLWxpbnV4YXBwLWdjYz9oPXYyMC4wOA0KDQo+ID4NCj4gPiAtZmxh Z3NfZGVmYXVsdF9leHRyYSA9IFtdDQo+ID4gKyMgcGFydCBudW1iZXIgc3BlY2lmaWMgYWFyY2g2 NCBmbGFncywgd2l0aCBoaWdoZXN0IHByaW9yaXR5ICMgKHdpbGwNCj4gPiArb3ZlcndyaXRlIGJv dGggY29tbW9uIGFuZCBpbXBsZW1lbnRlciBzcGVjaWZpYyBmbGFncykNCj4gPiAgZmxhZ3NfbjFz ZHBfZXh0cmEgPSBbDQo+ID4gIAlbJ1JURV9NQUNISU5FJywgJyJuMXNkcCInXSwNCj4gPiAgCVsn UlRFX01BWF9OVU1BX05PREVTJywgMV0sDQo+ID4gIAlbJ1JURV9NQVhfTENPUkUnLCA0XSwNCj4g PiAgCVsnUlRFX0VBTF9OVU1BX0FXQVJFX0hVR0VQQUdFUycsIGZhbHNlXSwNCj4gPiAtCVsnUlRF X0xJQlJURV9WSE9TVF9OVU1BJywgZmFsc2VdXQ0KPiA+ICsJWydSVEVfTElCUlRFX1ZIT1NUX05V TUEnLCBmYWxzZV0NCj4gPiArXQ0KPiA+ICBmbGFnc190aHVuZGVyeF9leHRyYSA9IFsNCj4gPiAg CVsnUlRFX01BQ0hJTkUnLCAnInRodW5kZXJ4IiddLA0KPiA+IC0JWydSVEVfVVNFX0MxMV9NRU1f TU9ERUwnLCBmYWxzZV1dDQo+ID4gKwlbJ1JURV9VU0VfQzExX01FTV9NT0RFTCcsIGZhbHNlXQ0K PiA+ICtdDQo+ID4gIGZsYWdzX3RodW5kZXJ4Ml9leHRyYSA9IFsNCj4gPiAgCVsnUlRFX01BQ0hJ TkUnLCAnInRodW5kZXJ4MiInXSwNCj4gPiAgCVsnUlRFX0NBQ0hFX0xJTkVfU0laRScsIDY0XSwN Cj4gPiAgCVsnUlRFX01BWF9OVU1BX05PREVTJywgMl0sDQo+ID4gIAlbJ1JURV9NQVhfTENPUkUn LCAyNTZdLA0KPiA+ICAJWydSVEVfQVJNX0ZFQVRVUkVfQVRPTUlDUycsIHRydWVdLA0KPiA+IC0J WydSVEVfVVNFX0MxMV9NRU1fTU9ERUwnLCB0cnVlXV0NCj4gPiArCVsnUlRFX1VTRV9DMTFfTUVN X01PREVMJywgdHJ1ZV0NCj4gPiArXQ0KPiA+ICBmbGFnc19vY3Rlb250eDJfZXh0cmEgPSBbDQo+ ID4gIAlbJ1JURV9NQUNISU5FJywgJyJvY3Rlb250eDIiJ10sDQo+ID4gIAlbJ1JURV9NQVhfTlVN QV9OT0RFUycsIDFdLA0KPiA+ICAJWydSVEVfTUFYX0xDT1JFJywgMzZdLA0KPiA+ICAJWydSVEVf QVJNX0ZFQVRVUkVfQVRPTUlDUycsIHRydWVdLA0KPiA+ICAJWydSVEVfRUFMX0lHQl9VSU8nLCBm YWxzZV0sDQo+ID4gLQlbJ1JURV9VU0VfQzExX01FTV9NT0RFTCcsIHRydWVdXQ0KPiA+IC0NCj4g PiAtbWFjaGluZV9hcmdzX2RlZmF1bHQgPSBbDQo+ID4gLQlbJ2RlZmF1bHQnLCBbJy1tYXJjaD1h cm12OC1hK2NyYycsICctbW91dGxpbmUtYXRvbWljcyddXSwNCj4gPiAtCVsnbmF0aXZlJywgWyct bWFyY2g9bmF0aXZlJ11dLA0KPiA+IC0JWycweGQwMycsIFsnLW1jcHU9Y29ydGV4LWE1MyddXSwN Cj4gPiAtCVsnMHhkMDQnLCBbJy1tY3B1PWNvcnRleC1hMzUnXV0sDQo+ID4gLQlbJzB4ZDA3Jywg WyctbWNwdT1jb3J0ZXgtYTU3J11dLA0KPiA+IC0JWycweGQwOCcsIFsnLW1jcHU9Y29ydGV4LWE3 MiddXSwNCj4gPiAtCVsnMHhkMDknLCBbJy1tY3B1PWNvcnRleC1hNzMnXV0sDQo+ID4gLQlbJzB4 ZDBhJywgWyctbWNwdT1jb3J0ZXgtYTc1J11dLA0KPiA+IC0JWycweGQwYicsIFsnLW1jcHU9Y29y dGV4LWE3NiddXSwNCj4gPiAtCVsnMHhkMGMnLCBbJy1tYXJjaD1hcm12OC4yLWErY3JjK2NyeXB0 bycsICctbWNwdT1uZW92ZXJzZS1uMSddLA0KPiA+IGZsYWdzX24xc2RwX2V4dHJhXV0NCj4gPiAt DQo+ID4gLW1hY2hpbmVfYXJnc19jYXZpdW0gPSBbDQo+ID4gLQlbJ2RlZmF1bHQnLCBbJy1tYXJj aD1hcm12OC1hK2NyYytjcnlwdG8nLCctbWNwdT10aHVuZGVyeCddXSwNCj4gPiAtCVsnbmF0aXZl JywgWyctbWFyY2g9bmF0aXZlJ11dLA0KPiA+IC0JWycweGExJywgWyctbWNwdT10aHVuZGVyeHQ4 OCddLCBmbGFnc190aHVuZGVyeF9leHRyYV0sDQo+ID4gLQlbJzB4YTInLCBbJy1tY3B1PXRodW5k ZXJ4dDgxJ10sIGZsYWdzX3RodW5kZXJ4X2V4dHJhXSwNCj4gPiAtCVsnMHhhMycsIFsnLW1jcHU9 dGh1bmRlcnh0ODMnXSwgZmxhZ3NfdGh1bmRlcnhfZXh0cmFdLA0KPiA+IC0JWycweGFmJywgWyct bWFyY2g9YXJtdjguMS1hK2NyYytjcnlwdG8nLCctbWNwdT10aHVuZGVyeDJ0OTknXSwNCj4gPiBm bGFnc190aHVuZGVyeDJfZXh0cmFdLA0KPiA+IC0JWycweGIyJywgWyctbWFyY2g9YXJtdjguMi1h K2NyYytjcnlwdG8rbHNlJywnLW1jcHU9b2N0ZW9udHgyJ10sDQo+ID4gZmxhZ3Nfb2N0ZW9udHgy X2V4dHJhXV0NCj4gPiAtDQo+ID4gLW1hY2hpbmVfYXJnc19lbWFnID0gWw0KPiA+IC0JWydkZWZh dWx0JywgWyctbWFyY2g9YXJtdjgtYStjcmMrY3J5cHRvJywgJy1tdHVuZT1lbWFnJ11dLA0KPiA+ IC0JWyduYXRpdmUnLCBbJy1tYXJjaD1uYXRpdmUnXV1dDQo+ID4gKwlbJ1JURV9VU0VfQzExX01F TV9NT0RFTCcsIHRydWVdDQo+ID4gK10NCj4gPiArIyBhcm0gY29uZmlnIChpbXBsZW1lbnRlciAw eDQxKSBpcyB0aGUgZGVmYXVsdCBjb25maWcNCj4gPiArcG5fY29uZmlnX2RlZmF1bHQNCj4gJ3Bu JyBoZXJlIGZvciAncGFydF9udW1iZXInIGlzIG5vdCBjb25zaXN0ZW50Lg0KPiANCg0KT2ssIEkg Y2FuIHJlbmFtZSBpdCB0byBwYXJ0X251bWJlcl9jb25maWdfZGVmYXVsdC4gU2FtZSBmb3IgdGhl IG90aGVyIHR3byBwbiB2YXJpYWJsZXMuDQoNCj4gPiArPSB7DQo+ID4gKwknZ2VuZXJpYyc6IFtb Jy1tYXJjaD1hcm12OC1hK2NyYycsICctbW91dGxpbmUtYXRvbWljcyddXSwNCj4gPiArCScweGQw Myc6IFtbJy1tY3B1PWNvcnRleC1hNTMnXV0sDQo+ID4gKwknMHhkMDQnOiBbWyctbWNwdT1jb3J0 ZXgtYTM1J11dLA0KPiA+ICsJJzB4ZDA3JzogW1snLW1jcHU9Y29ydGV4LWE1NyddXSwNCj4gPiAr CScweGQwOCc6IFtbJy1tY3B1PWNvcnRleC1hNzInXV0sDQo+ID4gKwknMHhkMDknOiBbWyctbWNw dT1jb3J0ZXgtYTczJ11dLA0KPiA+ICsJJzB4ZDBhJzogW1snLW1jcHU9Y29ydGV4LWE3NSddXSwN Cj4gPiArCScweGQwYic6IFtbJy1tY3B1PWNvcnRleC1hNzYnXV0sDQo+ID4gKwknMHhkMGMnOiBb WyctbWFyY2g9YXJtdjguMi1hK2NyYytjcnlwdG8nLCAnLW1jcHU9bmVvdmVyc2UtbjEnXSwNCj4g PiArZmxhZ3NfbjFzZHBfZXh0cmFdIH0gcG5fY29uZmlnX2Nhdml1bSA9IHsNCj4gPiArCSdnZW5l cmljJzogW1snLW1hcmNoPWFybXY4LWErY3JjK2NyeXB0bycsICctbWNwdT10aHVuZGVyeCddXSwN Cj4gPiArCScweGExJzogW1snLW1jcHU9dGh1bmRlcnh0ODgnXSwgZmxhZ3NfdGh1bmRlcnhfZXh0 cmFdLA0KPiA+ICsJJzB4YTInOiBbWyctbWNwdT10aHVuZGVyeHQ4MSddLCBmbGFnc190aHVuZGVy eF9leHRyYV0sDQo+ID4gKwknMHhhMyc6IFtbJy1tY3B1PXRodW5kZXJ4dDgzJ10sIGZsYWdzX3Ro dW5kZXJ4X2V4dHJhXSwNCj4gPiArCScweGFmJzogW1snLW1hcmNoPWFybXY4LjEtYStjcmMrY3J5 cHRvJywnLW1jcHU9dGh1bmRlcngydDk5J10sDQo+ID4gZmxhZ3NfdGh1bmRlcngyX2V4dHJhXSwN Cj4gPiArCScweGIyJzogW1snLW1hcmNoPWFybXY4LjItYStjcmMrY3J5cHRvK2xzZScsJy1tY3B1 PW9jdGVvbnR4MiddLA0KPiA+ICtmbGFnc19vY3Rlb250eDJfZXh0cmFdLCB9IHBuX2NvbmZpZ19l bWFnID0gew0KPiA+ICsJJ2dlbmVyaWMnOiBbWyctbWFyY2g9YXJtdjgtYStjcmMrY3J5cHRvJywg Jy1tdHVuZT1lbWFnJ11dIH0NCj4gPg0KPiA+ICAjIyBBcm0gaW1wbGVtZW50ZXIgSUQgKEFSTSBE REkgMDQ4N0MuYSwgU2VjdGlvbiBHNy4yLjEwNiwgUGFnZQ0KPiA+IEc3LTUzMjEpIC1pbXBsX2dl bmVyaWMgPSBbJ0dlbmVyaWMgYXJtdjgnLCBmbGFnc19nZW5lcmljLA0KPiA+IG1hY2hpbmVfYXJn c19kZWZhdWx0XQ0KPiA+IC1pbXBsXzB4NDEgPSBbJ0FybScsIGZsYWdzX2FybSwgbWFjaGluZV9h cmdzX2RlZmF1bHRdDQo+ID4gLWltcGxfMHg0MiA9IFsnQnJvYWRjb20nLCBmbGFnc19nZW5lcmlj LCBtYWNoaW5lX2FyZ3NfZGVmYXVsdF0NCj4gPiAtaW1wbF8weDQzID0gWydDYXZpdW0nLCBmbGFn c19jYXZpdW0sIG1hY2hpbmVfYXJnc19jYXZpdW1dDQo+ID4gLWltcGxfMHg0NCA9IFsnREVDJywg ZmxhZ3NfZ2VuZXJpYywgbWFjaGluZV9hcmdzX2RlZmF1bHRdDQo+ID4gLWltcGxfMHg0OSA9IFsn SW5maW5lb24nLCBmbGFnc19nZW5lcmljLCBtYWNoaW5lX2FyZ3NfZGVmYXVsdF0NCj4gPiAtaW1w bF8weDRkID0gWydNb3Rvcm9sYScsIGZsYWdzX2dlbmVyaWMsIG1hY2hpbmVfYXJnc19kZWZhdWx0 XQ0KPiA+IC1pbXBsXzB4NGUgPSBbJ05WSURJQScsIGZsYWdzX2dlbmVyaWMsIG1hY2hpbmVfYXJn c19kZWZhdWx0XQ0KPiA+IC1pbXBsXzB4NTAgPSBbJ0FtcGVyZSBDb21wdXRpbmcnLCBmbGFnc19l bWFnLCBtYWNoaW5lX2FyZ3NfZW1hZ10NCj4gPiAtaW1wbF8weDUxID0gWydRdWFsY29tbScsIGZs YWdzX2dlbmVyaWMsIG1hY2hpbmVfYXJnc19kZWZhdWx0XQ0KPiA+IC1pbXBsXzB4NTMgPSBbJ1Nh bXN1bmcnLCBmbGFnc19nZW5lcmljLCBtYWNoaW5lX2FyZ3NfZGVmYXVsdF0NCj4gPiAtaW1wbF8w eDU2ID0gWydNYXJ2ZWxsIEFSTUFEQScsIGZsYWdzX2FybWFkYSwgbWFjaGluZV9hcmdzX2RlZmF1 bHRdDQo+ID4gLWltcGxfMHg2OSA9IFsnSW50ZWwnLCBmbGFnc19nZW5lcmljLCBtYWNoaW5lX2Fy Z3NfZGVmYXVsdF0gLWltcGxfZHBhYQ0KPiA+ID0gWydOWFAgRFBBQScsIGZsYWdzX2RwYWEsIG1h Y2hpbmVfYXJnc19kZWZhdWx0XQ0KPiA+ICtpbXBsX2dlbmVyaWMgPSBbJ0dlbmVyaWMgYXJtdjgn LCBmbGFnc19nZW5lcmljLCBwbl9jb25maWdfZGVmYXVsdF0NCj4gPiAraW1wbF8weDQxID0gWydB cm0nLCBmbGFnc19hcm0sIHBuX2NvbmZpZ19kZWZhdWx0XQ0KPiA+ICtpbXBsXzB4NDIgPSBbJ0Jy b2FkY29tJywgZmxhZ3NfZ2VuZXJpYywgcG5fY29uZmlnX2RlZmF1bHRdDQo+ID4gK2ltcGxfMHg0 MyA9IFsnQ2F2aXVtJywgZmxhZ3NfY2F2aXVtLCBwbl9jb25maWdfY2F2aXVtXQ0KPiA+ICtpbXBs XzB4NDQgPSBbJ0RFQycsIGZsYWdzX2dlbmVyaWMsIHBuX2NvbmZpZ19kZWZhdWx0XQ0KPiA+ICtp bXBsXzB4NDkgPSBbJ0luZmluZW9uJywgZmxhZ3NfZ2VuZXJpYywgcG5fY29uZmlnX2RlZmF1bHRd IGltcGxfMHg0ZA0KPiA+ICs9IFsnTW90b3JvbGEnLCBmbGFnc19nZW5lcmljLCBwbl9jb25maWdf ZGVmYXVsdF0gaW1wbF8weDRlID0NCj4gPiArWydOVklESUEnLCBmbGFnc19nZW5lcmljLCBwbl9j b25maWdfZGVmYXVsdF0NCj4gPiAraW1wbF8weDUwID0gWydBbXBlcmUgQ29tcHV0aW5nJywgZmxh Z3NfZW1hZywgcG5fY29uZmlnX2VtYWddDQo+ID4gK2ltcGxfMHg1MSA9IFsnUXVhbGNvbW0nLCBm bGFnc19nZW5lcmljLCBwbl9jb25maWdfZGVmYXVsdF0NCj4gPiAraW1wbF8weDUzID0gWydTYW1z dW5nJywgZmxhZ3NfZ2VuZXJpYywgcG5fY29uZmlnX2RlZmF1bHRdDQo+ID4gK2ltcGxfMHg1NiA9 IFsnTWFydmVsbCBBUk1BREEnLCBmbGFnc19hcm1hZGEsIHBuX2NvbmZpZ19kZWZhdWx0XQ0KPiA+ ICtpbXBsXzB4NjkgPSBbJ0ludGVsJywgZmxhZ3NfZ2VuZXJpYywgcG5fY29uZmlnX2RlZmF1bHRd IGltcGxfZHBhYSA9DQo+ID4gK1snTlhQIERQQUEnLCBmbGFnc19kcGFhLCBwbl9jb25maWdfZGVm YXVsdF0NCj4gPg0KPiA+ICBkcGRrX2NvbmYuc2V0KCdSVEVfQVJDSF9BUk0nLCAxKQ0KPiA+ICBk cGRrX2NvbmYuc2V0KCdSVEVfRk9SQ0VfSU5UUklOU0lDUycsIDEpDQo+ID4NCj4gPiAgaWYgZHBk a19jb25mLmdldCgnUlRFX0FSQ0hfMzInKQ0KPiA+ICsJIyBhcm12NyBidWlsZA0KPiA+ICAJZHBk a19jb25mLnNldCgnUlRFX0NBQ0hFX0xJTkVfU0laRScsIDY0KQ0KPiA+ICAJZHBka19jb25mLnNl dCgnUlRFX0FSQ0hfQVJNdjcnLCAxKQ0KPiA+ICAJIyB0aGUgbWluaW11bSBhcmNoaXRlY3R1cmUg c3VwcG9ydGVkLCBhcm12Ny1hLCBuZWVkcyB0aGUgZm9sbG93aW5nLA0KPiA+ICAJIyBtay9tYWNo aW5lL2FybXY3YS9ydGUudmFycy5tayBzZXRzIGl0IHRvbw0KPiA+ICAJbWFjaGluZV9hcmdzICs9 ICctbWZwdT1uZW9uJw0KPiA+ICBlbHNlDQo+ID4gLQlkcGRrX2NvbmYuc2V0KCdSVEVfQ0FDSEVf TElORV9TSVpFJywgMTI4KQ0KPiA+IC0JZHBka19jb25mLnNldCgnUlRFX0FSQ0hfQVJNNjQnLCAx KQ0KPiA+ICsJIyBhYXJjaDY0IGJ1aWxkDQo+ID4gKwlpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVp bGQoKQ0KPiA+ICsJCWlmIG1hY2hpbmUgPT0gJ2dlbmVyaWMnDQo+ID4gKwkJCSMgZGVmYXVsdCBi dWlsZA0KPiA+ICsJCQlpbXBsX2NvbmZpZyA9IGltcGxfZ2VuZXJpYw0KPiA+ICsJCQlwYXJ0X251 bWJlciA9ICdnZW5lcmljJw0KPiA+ICsJCWVsc2UNCj4gPiArCQkJIyBuYXRpdmUgYnVpbGQNCj4g PiArCQkJIyBUaGUgc2NyaXB0IHJldHVybnMgWydJbXBsZW1lbnRlcicsICdWYXJpYW50JywNCj4g PiAnQXJjaGl0ZWN0dXJlJywNCj4gPiArCQkJIyAnUHJpbWFyeSBQYXJ0IG51bWJlcicsICdSZXZp c2lvbiddDQo+ID4gKwkJCWRldGVjdF92ZW5kb3IgPSBmaW5kX3Byb2dyYW0oam9pbl9wYXRocygN Cj4gPiArCQkJCQltZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwNCj4gPiAnYXJtdjhfbWFjaGlu ZS5weScpKQ0KPiA+ICsJCQljbWQgPSBydW5fY29tbWFuZChkZXRlY3RfdmVuZG9yLnBhdGgoKSkN Cj4gPiArCQkJaWYgY21kLnJldHVybmNvZGUoKSA9PSAwDQo+ID4gKwkJCQljbWRfb3V0cHV0ID0N Cj4gPiBjbWQuc3Rkb3V0KCkudG9fbG93ZXIoKS5zdHJpcCgpLnNwbGl0KCcgJykNCj4gPiArCQkJ ZW5kaWYNCj4gPiArCQkJaWYgYXJtX2ZvcmNlX25hdGl2ZV9tYXJjaCA9PSB0cnVlDQo+ID4gKwkJ CQlwYXJ0X251bWJlciA9ICduYXRpdmUnDQo+ID4gKwkJCWVsc2UNCj4gPiArCQkJCXBhcnRfbnVt YmVyID0gY21kX291dHB1dFszXQ0KPiA+ICsJCQllbmRpZg0KPiA+ICsJCQkjIFNldCB0byBnZW5l cmljIGltcGxlbWVudGVyIGlmIGltcGxlbWVudGVyIGlzIG5vdA0KPiA+IGZvdW5kDQo+ID4gKwkJ CWltcGxfY29uZmlnID0gZ2V0X3ZhcmlhYmxlKCdpbXBsXycgKyBjbWRfb3V0cHV0WzBdLA0KPiA+ ICdpbXBsX2dlbmVyaWMnKQ0KPiA+ICsJCWVuZGlmDQo+ID4gKwllbHNlDQo+ID4gKwkJIyBjcm9z cyBidWlsZA0KPiA+ICsJCWltcGxfaWQgPSBtZXNvbi5nZXRfY3Jvc3NfcHJvcGVydHkoJ2ltcGxl bWVudGVyX2lkJywNCj4gPiAnZ2VuZXJpYycpDQo+ID4gKwkJcGFydF9udW1iZXIgPSBtZXNvbi5n ZXRfY3Jvc3NfcHJvcGVydHkoJ3BhcnRfbnVtYmVyJywNCj4gPiAnZ2VuZXJpYycpDQo+ID4gKwkJ aW1wbF9jb25maWcgPSBnZXRfdmFyaWFibGUoJ2ltcGxfJyArIGltcGxfaWQpDQo+ID4gKwllbmRp Zg0KPiA+DQo+ID4gLQltYWNoaW5lID0gW10NCj4gPiAtCWNtZF9nZW5lcmljID0gWydnZW5lcmlj JywgJycsICcnLCAnZGVmYXVsdCcsICcnXQ0KPiA+IC0JY21kX291dHB1dCA9IGNtZF9nZW5lcmlj ICMgU2V0IGdlbmVyaWMgYnkgZGVmYXVsdA0KPiA+IC0JbWFjaGluZV9hcmdzID0gW10gIyBDbGVh ciBwcmV2aW91cyBtYWNoaW5lIGFyZ3MNCj4gPiAtCWlmIGFybV9mb3JjZV9nZW5lcmljX21hcmNo IGFuZCBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKQ0KPiA+IC0JCW1hY2hpbmUgPSBpbXBsX2dl bmVyaWMNCj4gPiAtCQlpbXBsX3BuID0gJ2RlZmF1bHQnDQo+ID4gKwltZXNzYWdlKCdBcm0gaW1w bGVtZW50ZXI6ICcgKyBpbXBsX2NvbmZpZ1swXSkNCj4gPiArCW1lc3NhZ2UoJ0FybSBwYXJ0IG51 bWJlcjogJyArIHBhcnRfbnVtYmVyKQ0KPiA+ICsNCj4gPiArCWltcGxlbWVudGVyX2ZsYWdzID0g aW1wbF9jb25maWdbMV0NCj4gPiArCXBhcnRfbnVtYmVyX2NvbmZpZyA9IGltcGxfY29uZmlnWzJd DQo+ID4gKw0KPiA+ICsJaWYgcGFydF9udW1iZXJfY29uZmlnLmhhc19rZXkocGFydF9udW1iZXIp DQo+ID4gKwkJIyB1c2UgdGhlIHNwZWNpZmllZCBwYXJ0X251bWJlciBtYWNoaW5lIGFyZ3MgaWYg Zm91bmQNCj4gPiArCQlwYXJ0X251bWJlcl9jb25maWcgPSBwYXJ0X251bWJlcl9jb25maWdbcGFy dF9udW1iZXJdDQo+ID4gKwllbGlmIHBhcnRfbnVtYmVyID09ICduYXRpdmUnDQo+ID4gKwkJIyB1 c2UgbmF0aXZlIG1hY2hpbmUgYXJncw0KPiA+ICsJCXBhcnRfbnVtYmVyX2NvbmZpZyA9IFtbbmF0 aXZlX21hY2hpbmVfYXJnc11dDQo+ID4gIAllbGlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgp DQo+ID4gLQkJIyBUaGUgc2NyaXB0IHJldHVybnMgWydJbXBsZW1lbnRlcicsICdWYXJpYW50Jywg J0FyY2hpdGVjdHVyZScsDQo+ID4gLQkJIyAnUHJpbWFyeSBQYXJ0IG51bWJlcicsICdSZXZpc2lv biddDQo+ID4gLQkJZGV0ZWN0X3ZlbmRvciA9IGZpbmRfcHJvZ3JhbShqb2luX3BhdGhzKA0KPiA+ IC0JCQkJbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksDQo+ID4gJ2FybXY4X21hY2hpbmUucHkn KSkNCj4gPiAtCQljbWQgPSBydW5fY29tbWFuZChkZXRlY3RfdmVuZG9yLnBhdGgoKSkNCj4gPiAt CQlpZiBjbWQucmV0dXJuY29kZSgpID09IDANCj4gPiAtCQkJY21kX291dHB1dCA9IGNtZC5zdGRv dXQoKS50b19sb3dlcigpLnN0cmlwKCkuc3BsaXQoJw0KPiA+ICcpDQo+ID4gLQkJZW5kaWYNCj4g PiAtCQkjIFNldCB0byBnZW5lcmljIGlmIHZhcmlhYmxlIGlzIG5vdCBmb3VuZA0KPiA+IC0JCW1h Y2hpbmUgPSBnZXRfdmFyaWFibGUoJ2ltcGxfJyArIGNtZF9vdXRwdXRbMF0sIFsnZ2VuZXJpYydd KQ0KPiA+IC0JCWlmIG1hY2hpbmVbMF0gPT0gJ2dlbmVyaWMnDQo+ID4gLQkJCW1hY2hpbmUgPSBp bXBsX2dlbmVyaWMNCj4gPiAtCQkJY21kX291dHB1dCA9IGNtZF9nZW5lcmljDQo+ID4gLQkJZW5k aWYNCj4gPiAtCQlpbXBsX3BuID0gY21kX291dHB1dFszXQ0KPiA+IC0JCWlmIGFybV9mb3JjZV9u YXRpdmVfbWFyY2ggPT0gdHJ1ZQ0KPiA+IC0JCQlpbXBsX3BuID0gJ25hdGl2ZScNCj4gPiAtCQll bmRpZg0KPiA+ICsJCSMgZGVmYXVsdCB0byBnZW5lcmljIG1hY2hpbmUgYXJncyBpZiBwYXJ0X251 bWJlciBpcyBub3QgZm91bmQNCj4gPiArCQkjIGFuZCBub3QgZm9yY2luZyBuYXRpdmUgbWFjaGlu ZSBhcmdzDQo+ID4gKwkJIyBidXQgZG9uJ3QgZGVmYXVsdCBpbiBjcm9zcy1idWlsZHM7IGlmIHBh cnRfbnVtYmVyIGlzIHNwZWNpZmllZA0KPiA+ICsJCSMgaW5jb3JyZWN0bHkgaW4gYSBjcm9zcy1m aWxlLCBpdCBuZWVkcyB0byBiZSBmaXhlZCB0aGVyZQ0KPiA+ICsJCXBhcnRfbnVtYmVyX2NvbmZp ZyA9IHBhcnRfbnVtYmVyX2NvbmZpZ1snZ2VuZXJpYyddDQo+ID4gIAllbHNlDQo+ID4gLQkJaW1w bF9pZCA9IG1lc29uLmdldF9jcm9zc19wcm9wZXJ0eSgnaW1wbGVtZW50b3JfaWQnLA0KPiA+ICdn ZW5lcmljJykNCj4gPiAtCQlpbXBsX3BuID0gbWVzb24uZ2V0X2Nyb3NzX3Byb3BlcnR5KCdpbXBs ZW1lbnRvcl9wbicsDQo+ID4gJ2RlZmF1bHQnKQ0KPiA+IC0JCW1hY2hpbmUgPSBnZXRfdmFyaWFi bGUoJ2ltcGxfJyArIGltcGxfaWQpDQo+ID4gKwkJIyBjcm9zcyBidWlsZCBhbmQgcGFydCBudW1i ZXIgaXMgbm90IGluIHBhcnRfbnVtYmVyX2NvbmZpZw0KPiA+ICsJCWVycm9yKCdDcm9zcyBidWls ZCBwYXJ0IG51bWJlciAwQDAgbm90DQo+ID4gZm91bmQuJy5mb3JtYXQocGFydF9udW1iZXIpKQ0K PiA+ICAJZW5kaWYNCj4gPg0KPiA+IC0JIyBBcHBseSBDb21tb24gRGVmYXVsdHMuIFRoZXNlIHNl dHRpbmdzIG1heSBiZSBvdmVyd3JpdHRlbiBieQ0KPiA+IG1hY2hpbmUNCj4gPiAtCSMgc2V0dGlu Z3MgbGF0ZXIuDQo+ID4gLQlmb3JlYWNoIGZsYWc6IGZsYWdzX2NvbW1vbl9kZWZhdWx0DQo+ID4g LQkJaWYgZmxhZy5sZW5ndGgoKSA+IDANCj4gPiAtCQkJZHBka19jb25mLnNldChmbGFnWzBdLCBm bGFnWzFdKQ0KPiA+ICsJZHBka19mbGFncyA9IGZsYWdzX2NvbW1vbl9kZWZhdWx0ICsgaW1wbGVt ZW50ZXJfZmxhZ3MNCj4gPiArDQo+ID4gKwlpZiBwYXJ0X251bWJlcl9jb25maWcubGVuZ3RoKCkg PiAxDQo+ID4gKwkJZHBka19mbGFncyArPSBwYXJ0X251bWJlcl9jb25maWdbMV0NCj4gPiArCWVu ZGlmDQo+ID4gKw0KPiA+ICsJbWFjaGluZV9hcmdzID0gW10gIyBDbGVhciBwcmV2aW91cyBtYWNo aW5lIGFyZ3MNCj4gPiArCWZvcmVhY2ggZmxhZzogcGFydF9udW1iZXJfY29uZmlnWzBdDQo+ID4g KwkJaWYgY2MuaGFzX2FyZ3VtZW50KGZsYWcpDQo+ID4gKwkJCW1hY2hpbmVfYXJncyArPSBmbGFn DQo+ID4gIAkJZW5kaWYNCj4gPiAgCWVuZGZvcmVhY2gNCj4gPg0KPiA+IC0JbWVzc2FnZSgnSW1w bGVtZW50ZXIgOiAnICsgbWFjaGluZVswXSkNCj4gPiAtCWZvcmVhY2ggZmxhZzogbWFjaGluZVsx XQ0KPiA+ICsJZm9yZWFjaCBmbGFnOiBkcGRrX2ZsYWdzDQo+ID4gIAkJaWYgZmxhZy5sZW5ndGgo KSA+IDANCj4gPiAgCQkJZHBka19jb25mLnNldChmbGFnWzBdLCBmbGFnWzFdKQ0KPiA+ICAJCWVu ZGlmDQo+ID4gIAllbmRmb3JlYWNoDQo+ID4gLQ0KPiA+IC0JZm9yZWFjaCBtYXJnOiBtYWNoaW5l WzJdDQo+ID4gLQkJaWYgbWFyZ1swXSA9PSBpbXBsX3BuDQo+ID4gLQkJCWZvcmVhY2ggZmxhZzog bWFyZ1sxXQ0KPiA+IC0JCQkJaWYgY2MuaGFzX2FyZ3VtZW50KGZsYWcpDQo+ID4gLQkJCQkJbWFj aGluZV9hcmdzICs9IGZsYWcNCj4gPiAtCQkJCWVuZGlmDQo+ID4gLQkJCWVuZGZvcmVhY2gNCj4g PiAtCQkJIyBBcHBseSBhbnkgZXh0cmEgbWFjaGluZSBzcGVjaWZpYyBmbGFncy4NCj4gPiAtCQkJ Zm9yZWFjaCBmbGFnOiBtYXJnLmdldCgyLCBmbGFnc19kZWZhdWx0X2V4dHJhKQ0KPiA+IC0JCQkJ aWYgZmxhZy5sZW5ndGgoKSA+IDANCj4gPiAtCQkJCQlkcGRrX2NvbmYuc2V0KGZsYWdbMF0sIGZs YWdbMV0pDQo+ID4gLQkJCQllbmRpZg0KPiA+IC0JCQllbmRmb3JlYWNoDQo+ID4gLQkJZW5kaWYN Cj4gPiAtCWVuZGZvcmVhY2gNCj4gPiAgZW5kaWYNCj4gPiAtbWVzc2FnZShtYWNoaW5lX2FyZ3Mp DQo+ID4gKw0KPiA+ICttZXNzYWdlKCdVc2luZyBtYWNoaW5lIGFyZ3M6IEAwQCcuZm9ybWF0KG1h Y2hpbmVfYXJncykpDQo+ID4NCj4gPiAgaWYgKGNjLmdldF9kZWZpbmUoJ19fQVJNX05FT04nLCBh cmdzOiBtYWNoaW5lX2FyZ3MpICE9ICcnIG9yDQo+ID4gICAgICBjYy5nZXRfZGVmaW5lKCdfX2Fh cmNoNjRfXycsIGFyZ3M6IG1hY2hpbmVfYXJncykgIT0gJycpDQo+ID4gLS0NCj4gPiAyLjIwLjEN Cg0K