Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp472299pxb; Wed, 3 Nov 2021 07:16:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyd3Wj9WGZSgi+lvn5s4s7swBXANRmotoNbR0YMjrh1HTeqN3BRUICvq1Qb7QQvNEOPLbnA X-Received: by 2002:a05:6402:41a:: with SMTP id q26mr15167562edv.387.1635949012860; Wed, 03 Nov 2021 07:16:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635949012; cv=none; d=google.com; s=arc-20160816; b=Gm3AJg/MuB9qxO+D2SicSJSVsC5KGXMZW+CtPAJef+/bxuSQB1AHvKM75tjf5N5vJg BL2YQygc2NgkzzkKjpT3XgDIzI2wiZofq+6Mwdv+IZ7jt+p1v0OPAdBIKrTkDo7q8HrP lcOZaNx0SnBmP+Oj0U+4/iGC7X2GrB5+EAdRab2yfQLcWCgK2ovHvHOyskpwZO87GwDh 9eRAFwcgdPXD65Ov45AIujnT6DaFR20T9SU3nZPGr9TFpGelipxR7qFoXo6wALNdxPvd wFOvbO6b7lv+iMNQGX1plmAKp85hWKIHsvI2pqFiPD4t9g4hGJNdfUKsiNZoju1p+peY IMjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:to:from; bh=2yfIs86lHmt1jCF0ZQEIlwAnCRtbG4uzTNR+rlTpo+E=; b=JH1e6iRJNU9qoKmu3G0bmcIB/gXrWGN/GO5z17yB40iWiC/hymnEPBYVmZhDxxiw9O zVU6lAAH6G1/aYSHc+AJmtwE6PxO23KqXpuxJUgpjHzq58uxTgvjc7TEMeJ6bCadncE9 i0MmFNuoi7X7E0Vso5ywYKjEXDhLFY8Q1SpV9abXn/iFwamnOuV+Lk+dD6UeujACGub3 eWXED9I90n/JY8KZ2PA+Bx3AAPfYE+ptPYI7u8W2z9Ut9h0farAEZUsm39gbpmMCk8iq N24exsvZmlyAfDLGGHMs5jBDKLOec4goCA165THk9aEIyNvS69NOPtaJaMPit239w1IG tARA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cr16si3981457ejc.16.2021.11.03.07.16.18; Wed, 03 Nov 2021 07:16:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231618AbhKCOQ4 (ORCPT + 99 others); Wed, 3 Nov 2021 10:16:56 -0400 Received: from mswedge1.sunplus.com ([60.248.182.113]:42546 "EHLO mg.sunplus.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S231386AbhKCOQz (ORCPT ); Wed, 3 Nov 2021 10:16:55 -0400 X-MailGates: (compute_score:DELIVER,40,3) Received: from 172.17.9.202 by mg01.sunplus.com with MailGates ESMTP Server V5.0(13481:0:AUTH_RELAY) (envelope-from ); Wed, 03 Nov 2021 22:08:49 +0800 (CST) Received: from sphcmbx02.sunplus.com.tw (172.17.9.112) by sphcmbx01.sunplus.com.tw (172.17.9.202) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Wed, 3 Nov 2021 22:08:49 +0800 Received: from sphcmbx02.sunplus.com.tw ([::1]) by sphcmbx02.sunplus.com.tw ([fe80::f8bb:bd77:a854:5b9e%14]) with mapi id 15.00.1497.023; Wed, 3 Nov 2021 22:08:49 +0800 From: =?utf-8?B?V2VsbHMgTHUg5ZGC6Iqz6aiw?= To: Denis Kirjanov , Wells Lu , "davem@davemloft.net" , "kuba@kernel.org" , "robh+dt@kernel.org" , "netdev@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "p.zabel@pengutronix.de" Subject: RE: [PATCH 2/2] net: ethernet: Add driver for Sunplus SP7021 Thread-Topic: [PATCH 2/2] net: ethernet: Add driver for Sunplus SP7021 Thread-Index: AQHX0KKBcebTINBXKk6D/f7Frpi9sKvxLr8AgACi/qA= Date: Wed, 3 Nov 2021 14:08:49 +0000 Message-ID: References: <650ec751dd782071dd56af5e36c0d509b0c66d7f.1635936610.git.wells.lu@sunplus.com> In-Reply-To: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [172.25.108.39] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGksDQoNClRoYW5rcyBhIGxvdCBmb3IgcmV2aWV3Lg0KDQo+IEZyb206IERlbmlzIEtpcmphbm92 IDxka2lyamFub3ZAc3VzZS5kZT4NCj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAzLCAyMDIx IDg6MDUgUE0NCj4gVG86IFdlbGxzIEx1IDx3ZWxsc2x1dHdAZ21haWwuY29tPjsgZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldDsNCj4ga3ViYUBrZXJuZWwub3JnOyByb2JoK2R0QGtlcm5lbC5vcmc7IG5ldGRl dkB2Z2VyLmtlcm5lbC5vcmc7DQo+IGRldmljZXRyZWVAdmdlci5rZXJuZWwub3JnOyBsaW51eC1r ZXJuZWxAdmdlci5rZXJuZWwub3JnOw0KPiBwLnphYmVsQHBlbmd1dHJvbml4LmRlDQo+IENjOiBX ZWxscyBMdSDlkYLoirPpqLAgPHdlbGxzLmx1QHN1bnBsdXMuY29tPg0KPiBTdWJqZWN0OiBSZTog W1BBVENIIDIvMl0gbmV0OiBldGhlcm5ldDogQWRkIGRyaXZlciBmb3IgU3VucGx1cyBTUDcwMjEN Cj4gDQo+IA0KPiANCj4gMTEvMy8yMSAyOjAyIFBNLCBXZWxscyBMdSDQv9C40YjQtdGCOg0KPiA+ IEFkZCBFdGhlcm5ldCBkcml2ZXIgZm9yIFN1bnBsdXMgU1A3MDIxLg0KPiA+DQo+ID4gU2lnbmVk LW9mZi1ieTogV2VsbHMgTHUgPHdlbGxzLmx1QHN1bnBsdXMuY29tPg0KPiA+IC0tLQ0KPiA+ICAg TUFJTlRBSU5FUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiA+ ICAgZHJpdmVycy9uZXQvZXRoZXJuZXQvS2NvbmZpZyAgICAgICAgICAgICAgICAgfCAgIDEgKw0K PiA+ICAgZHJpdmVycy9uZXQvZXRoZXJuZXQvTWFrZWZpbGUgICAgICAgICAgICAgICAgfCAgIDEg Kw0KPiA+ICAgZHJpdmVycy9uZXQvZXRoZXJuZXQvc3VucGx1cy9LY29uZmlnICAgICAgICAgfCAg MjAgKw0KPiA+ICAgZHJpdmVycy9uZXQvZXRoZXJuZXQvc3VucGx1cy9NYWtlZmlsZSAgICAgICAg fCAgIDYgKw0KPiA+ICAgZHJpdmVycy9uZXQvZXRoZXJuZXQvc3VucGx1cy9sMnN3X2RlZmluZS5o ICAgfCAyMjEgKysrKysrKysNCj4gPiAgIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJz d19kZXNjLmMgICAgIHwgMjMzICsrKysrKysrDQo+ID4gICBkcml2ZXJzL25ldC9ldGhlcm5ldC9z dW5wbHVzL2wyc3dfZGVzYy5oICAgICB8ICAyMSArDQo+ID4gICBkcml2ZXJzL25ldC9ldGhlcm5l dC9zdW5wbHVzL2wyc3dfZHJpdmVyLmMgICB8IDc3OQ0KPiArKysrKysrKysrKysrKysrKysrKysr KysrKysNCj4gPiAgIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19kcml2ZXIuaCAg IHwgIDIzICsNCj4gPiAgIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19oYWwuYyAg ICAgIHwgNDIyICsrKysrKysrKysrKysrKw0KPiA+ICAgZHJpdmVycy9uZXQvZXRoZXJuZXQvc3Vu cGx1cy9sMnN3X2hhbC5oICAgICAgfCAgNDcgKysNCj4gPiAgIGRyaXZlcnMvbmV0L2V0aGVybmV0 L3N1bnBsdXMvbDJzd19pbnQuYyAgICAgIHwgMzI2ICsrKysrKysrKysrDQo+ID4gICBkcml2ZXJz L25ldC9ldGhlcm5ldC9zdW5wbHVzL2wyc3dfaW50LmggICAgICB8ICAxNiArDQo+ID4gICBkcml2 ZXJzL25ldC9ldGhlcm5ldC9zdW5wbHVzL2wyc3dfbWFjLmMgICAgICB8ICA2OCArKysNCj4gPiAg IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19tYWMuaCAgICAgIHwgIDI0ICsNCj4g PiAgIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19tZGlvLmMgICAgIHwgMTE4ICsr KysNCj4gPiAgIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19tZGlvLmggICAgIHwg IDE5ICsNCj4gPiAgIGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19yZWdpc3Rlci5o IHwgIDk5ICsrKysNCj4gPiAgIDE5IGZpbGVzIGNoYW5nZWQsIDI0NDUgaW5zZXJ0aW9ucygrKQ0K PiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvS2Nv bmZpZw0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBs dXMvTWFrZWZpbGUNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9ldGhlcm5l dC9zdW5wbHVzL2wyc3dfZGVmaW5lLmgNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L25ldC9ldGhlcm5ldC9zdW5wbHVzL2wyc3dfZGVzYy5jDQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9uZXQvZXRoZXJuZXQvc3VucGx1cy9sMnN3X2Rlc2MuaA0KPiA+ICAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19kcml2ZXIuYw0K PiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJz d19kcml2ZXIuaA0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0 L3N1bnBsdXMvbDJzd19oYWwuYw0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0 L2V0aGVybmV0L3N1bnBsdXMvbDJzd19oYWwuaA0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19pbnQuYw0KPiA+ICAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19pbnQuaA0KPiA+ICAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJzd19tYWMuYw0K PiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvbDJz d19tYWMuaA0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N1 bnBsdXMvbDJzd19tZGlvLmMNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC9l dGhlcm5ldC9zdW5wbHVzL2wyc3dfbWRpby5oDQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9uZXQvZXRoZXJuZXQvc3VucGx1cy9sMnN3X3JlZ2lzdGVyLmgNCj4gPg0KPiA+IGRpZmYg LS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTIGluZGV4IDQ2NjljMTYuLmNhNjc2ZWMg MTAwNjQ0DQo+ID4gLS0tIGEvTUFJTlRBSU5FUlMNCj4gPiArKysgYi9NQUlOVEFJTkVSUw0KPiA+ IEBAIC0xODAwNiw2ICsxODAwNiw3IEBAIEw6CW5ldGRldkB2Z2VyLmtlcm5lbC5vcmcNCj4gPiAg IFM6CU1haW50YWluZWQNCj4gPiAgIFc6CWh0dHBzOi8vc3VucGx1cy10aWJiby5hdGxhc3NpYW4u bmV0L3dpa2kvc3BhY2VzL2RvYy9vdmVydmlldw0KPiA+ICAgRjoJRG9jdW1lbnRhdGlvbi9kZXZp Y2V0cmVlL2JpbmRpbmdzL25ldC9zdW5wbHVzLHNwNzAyMS1sMnN3LnlhbWwNCj4gPiArRjoJZHJp dmVycy9uZXQvZXRoZXJuZXQvc3VucGx1cy8NCj4gPg0KPiA+ICAgU1VQRVJIDQo+ID4gICBNOglZ b3NoaW5vcmkgU2F0byA8eXNhdG9AdXNlcnMuc291cmNlZm9yZ2UuanA+DQo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L0tjb25maWcNCj4gPiBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L0tjb25maWcgaW5kZXggNDEyYWUzZS4uMDA4NDg1MiAxMDA2NDQNCj4gPiAtLS0gYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9LY29uZmlnDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv S2NvbmZpZw0KPiA+IEBAIC0xNzYsNiArMTc2LDcgQEAgc291cmNlICJkcml2ZXJzL25ldC9ldGhl cm5ldC9zbXNjL0tjb25maWciDQo+ID4gICBzb3VyY2UgImRyaXZlcnMvbmV0L2V0aGVybmV0L3Nv Y2lvbmV4dC9LY29uZmlnIg0KPiA+ICAgc291cmNlICJkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1p Y3JvL0tjb25maWciDQo+ID4gICBzb3VyY2UgImRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bi9LY29u ZmlnIg0KPiA+ICtzb3VyY2UgImRyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBsdXMvS2NvbmZpZyIN Cj4gPiAgIHNvdXJjZSAiZHJpdmVycy9uZXQvZXRoZXJuZXQvc3lub3BzeXMvS2NvbmZpZyINCj4g PiAgIHNvdXJjZSAiZHJpdmVycy9uZXQvZXRoZXJuZXQvdGVodXRpL0tjb25maWciDQo+ID4gICBz b3VyY2UgImRyaXZlcnMvbmV0L2V0aGVybmV0L3RpL0tjb25maWciDQo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L01ha2VmaWxlDQo+ID4gYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9NYWtlZmlsZSBpbmRleCBhYWE1MDc4Li5lNGNlMTYyIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L01ha2VmaWxlDQo+ID4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv TWFrZWZpbGUNCj4gPiBAQCAtODcsNiArODcsNyBAQCBvYmotJChDT05GSUdfTkVUX1ZFTkRPUl9T TVNDKSArPSBzbXNjLw0KPiA+ICAgb2JqLSQoQ09ORklHX05FVF9WRU5ET1JfU09DSU9ORVhUKSAr PSBzb2Npb25leHQvDQo+ID4gICBvYmotJChDT05GSUdfTkVUX1ZFTkRPUl9TVE1JQ1JPKSArPSBz dG1pY3JvLw0KPiA+ICAgb2JqLSQoQ09ORklHX05FVF9WRU5ET1JfU1VOKSArPSBzdW4vDQo+ID4g K29iai0kKENPTkZJR19ORVRfVkVORE9SX1NVTlBMVVMpICs9IHN1bnBsdXMvDQo+ID4gICBvYmot JChDT05GSUdfTkVUX1ZFTkRPUl9URUhVVEkpICs9IHRlaHV0aS8NCj4gPiAgIG9iai0kKENPTkZJ R19ORVRfVkVORE9SX1RJKSArPSB0aS8NCj4gPiAgIG9iai0kKENPTkZJR19ORVRfVkVORE9SX1RP U0hJQkEpICs9IHRvc2hpYmEvIGRpZmYgLS1naXQNCj4gPiBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L3N1bnBsdXMvS2NvbmZpZw0KPiA+IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3VucGx1cy9LY29u ZmlnDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwLi5hOWUzYTRj DQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N1bnBs dXMvS2NvbmZpZw0KPiA+IEBAIC0wLDAgKzEsMjAgQEANCj4gPiArIyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMA0KPiA+ICsjDQo+ID4gKyMgU3VucGx1cyBFdGhlcm5ldCBkZXZpY2Ug Y29uZmlndXJhdGlvbiAjDQo+ID4gKw0KPiA+ICtjb25maWcgTkVUX1ZFTkRPUl9TVU5QTFVTDQo+ ID4gKwl0cmlzdGF0ZSAiU3VucGx1cyBEdWFsIDEwTS8xMDBNIEV0aGVybmV0ICh3aXRoIEwyIHN3 aXRjaCkgZGV2aWNlcyINCj4gPiArCWRlcGVuZHMgb24gRVRIRVJORVQgJiYgU09DX1NQNzAyMQ0K PiA+ICsJc2VsZWN0IFBIWUxJQg0KPiA+ICsJc2VsZWN0IFBJTkNUUkxfU1BQQ1RMDQo+ID4gKwlz ZWxlY3QgQ09NTU9OX0NMS19TUDcwMjENCj4gPiArCXNlbGVjdCBSRVNFVF9TVU5QTFVTDQo+ID4g KwlzZWxlY3QgTlZNRU1fU1VOUExVU19PQ09UUA0KPiA+ICsJaGVscA0KPiA+ICsJICBJZiB5b3Ug aGF2ZSBTdW5wbHVzIGR1YWwgMTBNLzEwME0gRXRoZXJuZXQgKHdpdGggTDIgc3dpdGNoKQ0KPiA+ ICsJICBkZXZpY2VzLCBzYXkgWS4NCj4gPiArCSAgVGhlIG5ldHdvcmsgZGV2aWNlIHN1cHBvcnRz IGR1YWwgMTBNLzEwME0gRXRoZXJuZXQgaW50ZXJmYWNlcywNCj4gPiArCSAgb3Igb25lIDEwLzEw ME0gRXRoZXJuZXQgaW50ZXJmYWNlIHdpdGggdHdvIExBTiBwb3J0cy4NCj4gPiArCSAgVG8gY29t cGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZS4gIFRoZSBtb2R1bGUN Cj4gPiArCSAgd2lsbCBiZSBjYWxsZWQgc3BfbDJzdy4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvc3VucGx1cy9NYWtlZmlsZQ0KPiA+IGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvc3VucGx1cy9NYWtlZmlsZQ0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXgg MDAwMDAwMC4uYjQwMWNlYw0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9zdW5wbHVzL01ha2VmaWxlDQo+ID4gQEAgLTAsMCArMSw2IEBADQo+ID4gKyMg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4gPiArIw0KPiA+ICsjIE1ha2VmaWxl IGZvciB0aGUgU3VucGx1cyBuZXR3b3JrIGRldmljZSBkcml2ZXJzLg0KPiA+ICsjDQo+ID4gK29i ai0kKENPTkZJR19ORVRfVkVORE9SX1NVTlBMVVMpICs9IHNwX2wyc3cubyBzcF9sMnN3LW9ianMg Oj0NCj4gPiArbDJzd19kcml2ZXIubyBsMnN3X2ludC5vIGwyc3dfaGFsLm8gbDJzd19kZXNjLm8g bDJzd19tYWMubw0KPiA+ICtsMnN3X21kaW8ubw0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9zdW5wbHVzL2wyc3dfZGVmaW5lLmgNCj4gPiBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L3N1bnBsdXMvbDJzd19kZWZpbmUuaA0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4g aW5kZXggMDAwMDAwMC4uYzEwNDljNQ0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9zdW5wbHVzL2wyc3dfZGVmaW5lLmgNCj4gPiBAQCAtMCwwICsxLDIy MSBAQA0KPiA+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLw0KPiA+ICsv KiBDb3B5cmlnaHQgU3VucGx1cyBUZWNobm9sb2d5IENvLiwgTHRkLg0KPiA+ICsgKiAgICAgICBB bGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+ICsgKi8NCj4gPiArDQo+ID4gKyNpZm5kZWYgX19MMlNX X0RFRklORV9IX18NCj4gPiArI2RlZmluZSBfX0wyU1dfREVGSU5FX0hfXw0KPiA+ICsNCj4gPiAr I2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvaW5pdC5oPg0K PiA+ICsjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L2tlcm5l bC5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvc2xhYi5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgv ZXJybm8uaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+DQo+ID4gKyNpbmNsdWRlIDxs aW51eC9pbnRlcnJ1cHQuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L2tkZXZfdC5oPg0KPiA+ICsj aW5jbHVkZSA8bGludXgvaW4uaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L25ldGRldmljZS5oPg0K PiA+ICsjaW5jbHVkZSA8bGludXgvZXRoZXJkZXZpY2UuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4 L2lwLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC90Y3AuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4 L3NrYnVmZi5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPg0KPiA+ICsjaW5jbHVk ZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9waHkuaD4N Cj4gPiArI2luY2x1ZGUgPGxpbnV4L21paS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvaWZfdmxh bi5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvaW8uaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L2Rt YS1tYXBwaW5nLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9vZl9hZGRyZXNzLmg+DQo+ID4gKyNp bmNsdWRlIDxsaW51eC9vZl9tZGlvLmg+DQo+ID4gKw0KPiA+ICsjdW5kZWYgcHJfZm10DQo+ID4g KyNkZWZpbmUgcHJfZm10KGZtdCkgICAgICJbTDJTV10iIGZtdA0KPiA+ICsNCj4gPiArLy9kZWZp bmUgTUFDIGludGVycnVwdCBzdGF0dXMgYml0DQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9EQUlTWV9N T0RFX0NIRyAgICAgICAgICBCSVQoMzEpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9JUF9DSEtTVU1f RVJSICAgICAgICAgICBCSVQoMjMpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9XRE9HX1RJTUVSMV9F WFAgICAgICAgICBCSVQoMjIpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9XRE9HX1RJTUVSMF9FWFAg ICAgICAgICBCSVQoMjEpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9JTlRSVURFUl9BTEVSVCAgICAg ICAgICBCSVQoMjApDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9QT1JUX1NUX0NIRyAgICAgICAgICAg ICBCSVQoMTkpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9CQ19TVE9STSAgICAgICAgICAgICAgICBC SVQoMTgpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9NVVNUX0RST1BfTEFOICAgICAgICAgICBCSVQo MTcpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9HTE9CQUxfUVVFX0ZVTEwgICAgICAgICBCSVQoMTYp DQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9UWF9TT0NfUEFVU0VfT04gICAgICAgICBCSVQoMTUpDQo+ ID4gKyNkZWZpbmUgTUFDX0lOVF9SWF9TT0NfUVVFX0ZVTEwgICAgICAgICBCSVQoMTQpDQo+ID4g KyNkZWZpbmUgTUFDX0lOVF9UWF9MQU4xX1FVRV9GVUxMICAgICAgICBCSVQoOSkNCj4gPiArI2Rl ZmluZSBNQUNfSU5UX1RYX0xBTjBfUVVFX0ZVTEwgICAgICAgIEJJVCg4KQ0KPiA+ICsjZGVmaW5l IE1BQ19JTlRfUlhfTF9ERVNDRiAgICAgICAgICAgICAgQklUKDcpDQo+ID4gKyNkZWZpbmUgTUFD X0lOVF9SWF9IX0RFU0NGICAgICAgICAgICAgICBCSVQoNikNCj4gPiArI2RlZmluZSBNQUNfSU5U X1JYX0RPTkVfTCAgICAgICAgICAgICAgIEJJVCg1KQ0KPiA+ICsjZGVmaW5lIE1BQ19JTlRfUlhf RE9ORV9IICAgICAgICAgICAgICAgQklUKDQpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9UWF9ET05F X0wgICAgICAgICAgICAgICBCSVQoMykNCj4gPiArI2RlZmluZSBNQUNfSU5UX1RYX0RPTkVfSCAg ICAgICAgICAgICAgIEJJVCgyKQ0KPiA+ICsjZGVmaW5lIE1BQ19JTlRfVFhfREVTX0VSUiAgICAg ICAgICAgICAgQklUKDEpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9SWF9ERVNfRVJSICAgICAgICAg ICAgICBCSVQoMCkNCj4gPiArDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9SWCAgICAgICAgICAgICAg ICAgICAgICAoTUFDX0lOVF9SWF9ET05FX0ggfA0KPiBNQUNfSU5UX1JYX0RPTkVfTCB8IFwNCj4g PiArCQkJCQlNQUNfSU5UX1JYX0RFU19FUlIpDQo+ID4gKyNkZWZpbmUgTUFDX0lOVF9UWCAgICAg ICAgICAgICAgICAgICAgICAoTUFDX0lOVF9UWF9ET05FX0wgfA0KPiBNQUNfSU5UX1RYX0RPTkVf SCB8IFwNCj4gPiArCQkJCQlNQUNfSU5UX1RYX0RFU19FUlIpDQo+ID4gKyNkZWZpbmUgTUFDX0lO VF9NQVNLX0RFRg0KPiAoTUFDX0lOVF9EQUlTWV9NT0RFX0NIRyB8IE1BQ19JTlRfSVBfQ0hLU1VN X0VSUiB8IFwNCj4gPiArCQkJCQlNQUNfSU5UX1dET0dfVElNRVIxX0VYUCB8DQo+IE1BQ19JTlRf V0RPR19USU1FUjBfRVhQIHwgXA0KPiA+ICsJCQkJCU1BQ19JTlRfSU5UUlVERVJfQUxFUlQgfCBN QUNfSU5UX0JDX1NUT1JNDQo+IHwgXA0KPiA+ICsJCQkJCU1BQ19JTlRfTVVTVF9EUk9QX0xBTiB8 DQo+IE1BQ19JTlRfR0xPQkFMX1FVRV9GVUxMIHwgXA0KPiA+ICsJCQkJCU1BQ19JTlRfVFhfU09D X1BBVVNFX09OIHwNCj4gTUFDX0lOVF9SWF9TT0NfUVVFX0ZVTEwgfCBcDQo+ID4gKwkJCQkJTUFD X0lOVF9UWF9MQU4xX1FVRV9GVUxMIHwNCj4gTUFDX0lOVF9UWF9MQU4wX1FVRV9GVUxMIHwgXA0K PiA+ICsJCQkJCU1BQ19JTlRfUlhfTF9ERVNDRiB8IE1BQ19JTlRfUlhfSF9ERVNDRikNCj4gPiAr DQo+ID4gKy8qZGVmaW5lIHBvcnQgYWJpbGl0eSovDQo+ID4gKyNkZWZpbmUgUE9SVF9BQklMSVRZ X0xJTktfU1RfUDEgICAgICAgICBCSVQoMjUpDQo+ID4gKyNkZWZpbmUgUE9SVF9BQklMSVRZX0xJ TktfU1RfUDAgICAgICAgICBCSVQoMjQpDQo+ID4gKw0KPiA+ICsvKmRlZmluZSBQSFkgY29tbWFu ZCBiaXQqLw0KPiA+ICsjZGVmaW5lIFBIWV9XVF9EQVRBX01BU0sgICAgICAgICAgICAgICAgMHhm ZmZmMDAwMA0KPiA+ICsjZGVmaW5lIFBIWV9SRF9DTUQgICAgICAgICAgICAgICAgICAgICAgMHgw MDAwNDAwMA0KPiA+ICsjZGVmaW5lIFBIWV9XVF9DTUQgICAgICAgICAgICAgICAgICAgICAgMHgw MDAwMjAwMA0KPiA+ICsjZGVmaW5lIFBIWV9SRUdfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgw MDAwMWYwMA0KPiA+ICsjZGVmaW5lIFBIWV9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAxZg0KPiA+ICsNCj4gPiArLypkZWZpbmUgUEhZIHN0YXR1cyBiaXQqLw0KPiA+ICsjZGVm aW5lIFBIWV9SRF9EQVRBX01BU0sgICAgICAgICAgICAgICAgMHhmZmZmMDAwMA0KPiA+ICsjZGVm aW5lIFBIWV9SRF9SRFkgICAgICAgICAgICAgICAgICAgICAgQklUKDEpDQo+ID4gKyNkZWZpbmUg UEhZX1dUX0RPTkUgICAgICAgICAgICAgICAgICAgICBCSVQoMCkNCj4gPiArDQo+ID4gKy8qZGVm aW5lIG90aGVyIHJlZ2lzdGVyIGJpdCovDQo+ID4gKyNkZWZpbmUgUlhfTUFYX0xFTl9NQVNLICAg ICAgICAgICAgICAgICAweDAwMDExMDAwDQo+ID4gKyNkZWZpbmUgUk9VVEVfTU9ERV9NQVNLICAg ICAgICAgICAgICAgICAweDAwMDAwMDYwDQo+ID4gKyNkZWZpbmUgUE9LX0lOVF9USFNfTUFTSyAg ICAgICAgICAgICAgICAweDAwMEUwMDAwDQo+ID4gKyNkZWZpbmUgVkxBTl9USF9NQVNLICAgICAg ICAgICAgICAgICAgICAweDAwMDAwMDA3DQo+ID4gKw0KPiA+ICsvKmRlZmluZSB0eCBkZXNjcmlw dG9yIGJpdCovDQo+ID4gKyNkZWZpbmUgT1dOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICBC SVQoMzEpDQo+ID4gKyNkZWZpbmUgRlNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQo MjUpDQo+ID4gKyNkZWZpbmUgTFNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQoMjQp DQo+ID4gKyNkZWZpbmUgTEVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwN0ZG DQo+ID4gKyNkZWZpbmUgUEtUU1BfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDA3MDAw DQo+ID4gKyNkZWZpbmUgUEtUU1BfUE9SVDEgICAgICAgICAgICAgICAgICAgICAweDAwMDAxMDAw DQo+ID4gKyNkZWZpbmUgVE9fVkxBTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDNGMDAw DQo+ID4gKyNkZWZpbmUgVE9fVkxBTl9HUk9VUDEgICAgICAgICAgICAgICAgICAweDAwMDAyMDAw DQo+ID4gKw0KPiA+ICsjZGVmaW5lIEVPUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgQklU KDMxKQ0KPiA+ICsNCj4gPiArLypkZWZpbmUgcnggZGVzY3JpcHRvciBiaXQqLw0KPiA+ICsjZGVm aW5lIEVSUl9DT0RFICAgICAgICAgICAgICAgICAgICAgICAgKDB4ZiA8PCAyNikNCj4gPiArI2Rl ZmluZSBSWF9UQ1BfVURQX0NIS1NVTV9CSVQgICAgICAgICAgIEJJVCgyMykNCj4gPiArI2RlZmlu ZSBSWF9JUF9DSEtTVU1fQklUICAgICAgICAgICAgICAgIEJJVCgxOCkNCj4gPiArDQo+ID4gKyNk ZWZpbmUgT1dDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICBCSVQoMzEpDQo+ID4gKyNkZWZp bmUgVFhPS19CSVQgICAgICAgICAgICAgICAgICAgICAgICBCSVQoMjYpDQo+ID4gKyNkZWZpbmUg TE5LRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICBCSVQoMjUpDQo+ID4gKyNkZWZpbmUgQlVS X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICBCSVQoMjIpDQo+ID4gKyNkZWZpbmUgVFdERV9C SVQgICAgICAgICAgICAgICAgICAgICAgICBCSVQoMjApDQo+ID4gKyNkZWZpbmUgQ0NfTUFTSyAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwMGYwMDAwDQo+ID4gKyNkZWZpbmUgVEJFX01BU0sg ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDcwMDAwDQo+ID4gKw0KPiA+ICsvLyBBZGRyZXNz IHRhYmxlIHNlYXJjaA0KPiA+ICsjZGVmaW5lIE1BQ19BRERSX0xPT0tVUF9JRExFICAgICAgICAg ICAgQklUKDIpDQo+ID4gKyNkZWZpbmUgTUFDX1NFQVJDSF9ORVhUX0FERFIgICAgICAgICAgICBC SVQoMSkNCj4gPiArI2RlZmluZSBNQUNfQkVHSU5fU0VBUkNIX0FERFIgICAgICAgICAgIEJJVCgw KQ0KPiA+ICsNCj4gPiArLy8gQWRkcmVzcyB0YWJsZSBzZWFyY2gNCj4gPiArI2RlZmluZSBNQUNf SEFTS19MT09LVVBfQUREUl9NQVNLICAgICAgICgweDNmZiA8PCAyMikNCj4gPiArI2RlZmluZSBN QUNfQVRfVEFCTEVfRU5EICAgICAgICAgICAgICAgIEJJVCgxKQ0KPiA+ICsjZGVmaW5lIE1BQ19B VF9EQVRBX1JFQURZICAgICAgICAgICAgICAgQklUKDApDQo+ID4gKw0KPiA+ICsjZGVmaW5lIE1B Q19QSFlfQUREUiAgICAgICAgICAgICAgICAgICAgMHgwMQkvKiBkZWZpbmUgYnkNCj4gaGFyZHdh cmUgKi8NCj4gPiArDQo+ID4gKy8qY29uZmlnIGRlc2NyaXB0b3IqLw0KPiA+ICsjZGVmaW5lIFRY X0RFU0NfTlVNICAgICAgICAgICAgICAgICAgICAgMTYNCj4gPiArI2RlZmluZSBNQUNfR1VBUkRf REVTQ19OVU0gICAgICAgICAgICAgIDINCj4gPiArI2RlZmluZSBSWF9RVUVVRTBfREVTQ19OVU0g ICAgICAgICAgICAgIDE2DQo+ID4gKyNkZWZpbmUgUlhfUVVFVUUxX0RFU0NfTlVNICAgICAgICAg ICAgICAxNg0KPiA+ICsjZGVmaW5lIFRYX0RFU0NfUVVFVUVfTlVNICAgICAgICAgICAgICAgMQ0K PiA+ICsjZGVmaW5lIFJYX0RFU0NfUVVFVUVfTlVNICAgICAgICAgICAgICAgMg0KPiA+ICsNCj4g PiArI2RlZmluZSBNQUNfVFhfQlVGRl9TSVpFICAgICAgICAgICAgICAgIDE1MzYNCj4gPiArI2Rl ZmluZSBNQUNfUlhfTEVOX01BWCAgICAgICAgICAgICAgICAgIDIwNDcNCj4gPiArDQo+ID4gKyNk ZWZpbmUgREVTQ19BTElHTl9CWVRFICAgICAgICAgICAgICAgICAzMg0KPiA+ICsjZGVmaW5lIFJY X09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgMA0KPiA+ICsjZGVmaW5lIFRYX09GRlNFVCAg ICAgICAgICAgICAgICAgICAgICAgMA0KPiA+ICsNCj4gPiArI2RlZmluZSBFVEhFUk5FVF9NQUNf QUREUl9MRU4gICAgICAgICAgIDYNCj4gPiArDQo+ID4gK3N0cnVjdCBtYWNfZGVzYyB7DQo+ID4g Kwl1MzIgY21kMTsNCj4gPiArCXUzMiBjbWQyOw0KPiA+ICsJdTMyIGFkZHIxOw0KPiA+ICsJdTMy IGFkZHIyOw0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RydWN0IHNrYl9pbmZvIHsNCj4gPiArCXN0 cnVjdCBza19idWZmICpza2I7DQo+ID4gKwl1MzIgbWFwcGluZzsNCj4gPiArCXUzMiBsZW47DQo+ ID4gK307DQo+ID4gKw0KPiA+ICtzdHJ1Y3QgbDJzd19jb21tb24gew0KPiA+ICsJc3RydWN0IG5l dF9kZXZpY2UgKm5ldF9kZXY7DQo+ID4gKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2Ow0K PiA+ICsJaW50IGR1YWxfbmljOw0KPiA+ICsJaW50IHNhX2xlYXJuaW5nOw0KPiA+ICsNCj4gPiAr CXZvaWQgKmRlc2NfYmFzZTsNCj4gPiArCWRtYV9hZGRyX3QgZGVzY19kbWE7DQo+ID4gKwlzMzIg ZGVzY19zaXplOw0KPiA+ICsJc3RydWN0IGNsayAqY2xrOw0KPiA+ICsJc3RydWN0IHJlc2V0X2Nv bnRyb2wgKnJzdGM7DQo+ID4gKwlpbnQgaXJxOw0KPiA+ICsNCj4gPiArCXN0cnVjdCBtYWNfZGVz YyAqcnhfZGVzY1tSWF9ERVNDX1FVRVVFX05VTV07DQo+ID4gKwlzdHJ1Y3Qgc2tiX2luZm8gKnJ4 X3NrYl9pbmZvW1JYX0RFU0NfUVVFVUVfTlVNXTsNCj4gPiArCXUzMiByeF9wb3NbUlhfREVTQ19R VUVVRV9OVU1dOw0KPiA+ICsJdTMyIHJ4X2Rlc2NfbnVtW1JYX0RFU0NfUVVFVUVfTlVNXTsNCj4g PiArCXUzMiByeF9kZXNjX2J1ZmZfc2l6ZTsNCj4gPiArDQo+ID4gKwlzdHJ1Y3QgbWFjX2Rlc2Mg KnR4X2Rlc2M7DQo+ID4gKwlzdHJ1Y3Qgc2tiX2luZm8gdHhfdGVtcF9za2JfaW5mb1tUWF9ERVND X05VTV07DQo+ID4gKwl1MzIgdHhfZG9uZV9wb3M7DQo+ID4gKwl1MzIgdHhfcG9zOw0KPiA+ICsJ dTMyIHR4X2Rlc2NfZnVsbDsNCj4gPiArDQo+ID4gKwlzdHJ1Y3QgbWlpX2J1cyAqbWlpX2J1czsN Cj4gPiArCXN0cnVjdCBwaHlfZGV2aWNlICpwaHlfZGV2Ow0KPiA+ICsNCj4gPiArCXN0cnVjdCBu YXBpX3N0cnVjdCByeF9uYXBpOw0KPiA+ICsJc3RydWN0IG5hcGlfc3RydWN0IHR4X25hcGk7DQo+ ID4gKw0KPiA+ICsJc3BpbmxvY2tfdCByeF9sb2NrOyAgICAgIC8vIHNwaW5sb2NrIGZvciBhY2Nl c3NpbmcgcnggYnVmZmVyDQo+ID4gKwlzcGlubG9ja190IHR4X2xvY2s7ICAgICAgLy8gc3Bpbmxv Y2sgZm9yIGFjY2Vzc2luZyB0eCBidWZmZXINCj4gPiArCXNwaW5sb2NrX3QgaW9jdGxfbG9jazsg ICAvLyBzcGlubG9jayBmb3IgaW9jdGwgb3BlcmF0aW9ucw0KPiA+ICsJc3RydWN0IG11dGV4IHN0 b3JlX21vZGU7IC8vIG11dGV4IGZvciBkeW5hbWljIG1vZGUgY2hhbmdlDQo+IA0KPiBydW4gY2hl Y2twYXRjaC5wbCBhbmQgZml4IHRoZSBlcnJvcnMNCg0KSSByYW4gY2hlY2twYXRjaC5wbCB3aXRo IC1mIG9wdGlvbiBmb3IgYWxsICouYyBhbmQgKi5oIGZpbGVzLCBsaWtlOg0KDQogICAkIGNoZWNr cGF0Y2gucGwgLWYgKi5jDQogICAkIGNoZWNrcGF0Y2gucGwgLWYgKi5oDQoNCkkgZ290IDAgd2Fy bmluZ3MgYW5kIDAgZXJyb3JzIGZvciBhbGwgZmlsZXMuDQoNCkFsc28sIEkgcmFuIGNoZWNrcGF0 aC5wbCBmb3IgcGF0Y2ggZmlsZXMsIGV4Y2VwdCBjb3Zlci1sZXR0ZXIgcGF0Y2gsIGFzIA0Kc2hv d24gYmVsb3c6DQoNCiAgICQgY2hlY2twYXRjaC5wbCAwMDAxKi5wYXRjaA0KICAgJCBjaGVja3Bh dGNoLnBsIDAwMDIqLnBhdGNoDQoNCkkgZ290IDAgd2FybmluZ3MgYW5kIDAgZXJyb3JzIGZvciB0 aGUgMiBwYXRjaCBmaWxlcy4gQnV0IHRoZSBzZWNvbmQgcGF0Y2ggDQpmaWxlIHNob3dzIHNvbWUg J0NIRUNLJyBpdGVtcywgbGlrZSANCg0KICAgICJVbm5lY2Vzc2FyeSBwYXJlbnRoZXNlcyBhcm91 bmQuLi4iLA0KICAgICJNYWNybyBhcmd1bWVudCByZXVzZSAnTicgbWF5IGJlIGJldHRlciBhcyco TiknLi4uIg0KDQpJIGFtIHN1cmUgdGhlIGNvZGUgaGFzIG5vIHByb2JsZW0uDQpEbyBJIG5lZWQg dG8gY2xlYW4gJ0NIRUNLJyBpdGVtcz8NCg0KDQpCZXN0IHJlZ2FyZHMsDQo=