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 DC926A04DD; Wed, 21 Oct 2020 12:44:23 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 31015A9D5; Wed, 21 Oct 2020 12:44:22 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id C4A64A9D1 for ; Wed, 21 Oct 2020 12:44:19 +0200 (CEST) IronPort-SDR: qkHpgTcTr71Wn7jgH8uu2H8Ss3IQyHDgzAvfWdJTBsRRZgHkAWoMfUx3+G14qv8wWuPJVcm5kE ENUkVTZwvadg== X-IronPort-AV: E=McAfee;i="6000,8403,9780"; a="155132396" X-IronPort-AV: E=Sophos;i="5.77,401,1596524400"; d="scan'208";a="155132396" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Oct 2020 03:44:15 -0700 IronPort-SDR: qmlMqmy9dSVzGD0jiWjK+jYeVZg2oRhLWpiYGQO01Yf84g9kS9THUesGsefn0AhKqaELY9qSoZ JmuhPxqpnmww== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,401,1596524400"; d="scan'208";a="302039690" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga007.fm.intel.com with ESMTP; 21 Oct 2020 03:44:15 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 21 Oct 2020 03:44:14 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 21 Oct 2020 03:44:14 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 21 Oct 2020 03:44:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oCgcdNK2NDLMsAoDH7gfP9TXqYBttMq7gDaLiCvM4+HGXjSVvG5knBVuvHRRY36kg5iSJF+5iJXMLZnhZQ26UGb+wG4ddUyFXn9krpQ3FkIuW/krA1e9qRvaPg5hHzFTWboo5MH75dDA+m8AdfqgSd+ugN1tTtQOQxrkOL6DKojriufHQy3kbqJInEHJgmWcXxxrSq7GN817QD+C4HWk26bfimi6j1Yxhqns2nc8NfU0de8YGGIboYGJU76wzNdtROI+BJzY8lTyGGKl64UPtMSfuuJ33jNieHSdnEz9mXeCNx+Nbz8UXOkQLPDXOBZVXpB48kD8swjfTI1OMKk0QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=18BN2ZzEWoSLQDvbFStiaQ2ynfQNkSIlE154KRr1Dn4=; b=XpMwyjdlIIOmLtDWjKLCSziPVmgpKVby+RimnyA+HiJq2X0MJ6762mmJ66qZHdCV3GCafm9UHXJMWMGnoNYcr1oSVMqvTDV9oa+rUgRHEMb4KcVhOiS1qXV/uS1i4OxKfB19XEirH8kRuE3qnxsUq0HnGyEC5mZ5a3pS7P9gltTbznzhWUPiKMph4TGL64BFV3RkipywwNqCciltyeKQq+t0W7UDPq21zDAlmXAwI87oybEzVMwVmQuaCM7A2E/5dLc7WJkKeo1PniSL1+bK1D2qolZHOE8Fvvt7KJ+KKKfmTFtZus9is1L0JklDj6clpVqXszTHoqCzjR6pDqxhrQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=18BN2ZzEWoSLQDvbFStiaQ2ynfQNkSIlE154KRr1Dn4=; b=r94pK+fRmoyp8doAw25ZWYOEmYAAqXYKnJfJtVN1m7ZX9B5urTRRIl85+fnlwAIf9bFt82OiDKDPjygJ84RbgL8q6IquFNZOcsrNMyT9Thr+3H40lJJuLC2VvErXlY3xZQilR2kfmC79YZwPtrj4mXhjaU+9O3fqd8gWd1Bi3rQ= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by BYAPR11MB3400.namprd11.prod.outlook.com (2603:10b6:a03:1a::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.20; Wed, 21 Oct 2020 10:44:08 +0000 Received: from BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b]) by BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b%3]) with mapi id 15.20.3499.018; Wed, 21 Oct 2020 10:44:08 +0000 From: "Ananyev, Konstantin" To: "Yigit, Ferruh" , "Yang, SteveX" , "Zhang, Qi Z" , "dev@dpdk.org" CC: "Zhao1, Wei" , "Guo, Jia" , "Yang, Qiming" , "Wu, Jingjing" , "Xing, Beilei" , "Stokes, Ian" Thread-Topic: [dpdk-dev] [PATCH v4 3/5] net/ice: fix max mtu size packets with vlan tag cannot be received by default Thread-Index: AQHWlWYCx8TVuiIL1UiMFWpiGeSnm6l/hUcAgAC4bGCAABpuAIAAEB0AgAAQzwCAFtwzAIAHCeUAgAB6EUCAAC22AIAACd+wgAAKdbCAAD2ngIAA9HnwgABBQwCAAWQfAIAADpuAgAABskA= Date: Wed, 21 Oct 2020 10:44:07 +0000 Message-ID: References: <20200923040909.73418-1-stevex.yang@intel.com> <6ad9e3ec00194e31891d97849135655c@intel.com> <7704b7ce95fd4db2a9c6a8a33c3f0805@intel.com> <77ac2293-e532-e702-2370-c07cdd957c57@intel.com> <483bd509-82b9-9724-d28c-c517ef091e0c@intel.com> <2b14260d-5870-1c4a-2bda-6d35f88c62c3@intel.com> In-Reply-To: <2b14260d-5870-1c4a-2bda-6d35f88c62c3@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [46.7.39.127] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3f73a682-5e02-43b9-3723-08d875ae3d0d x-ms-traffictypediagnostic: BYAPR11MB3400: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pS0nkl9yZZIXpdUFVMEHPD7klMoX73MdWejI55T5xCy6sNSfrHIBOs2kCqHxZtq1TxuEepsSsbFxFFd7VNwWqz7bW+s43UyebD+DtlUErYk/s6pxPSYevwXYY3VzMn3c4mBbLkwA0hN3VQEuRKi909X+ZU2XAqvWmW+RcBO51yvNXsvBf3oiyaHpUj2xg3O9D1z2l3h96RwYefevmcQirJ3C1PC6yObLwAKJeKibLZVqHtu52IJJFezA2jnHlErx8ft8x3vWJawDorKd4xFnyKkd66yAyemSj3qgkKy83rTxu8iM4yVxvl+RjBcsrTEeoNxtGLlXYqt9hvlobKp7WQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3301.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(376002)(39860400002)(346002)(136003)(396003)(4326008)(66946007)(107886003)(478600001)(186003)(9686003)(66556008)(66446008)(5660300002)(76116006)(64756008)(52536014)(30864003)(86362001)(66476007)(55016002)(2906002)(33656002)(26005)(6506007)(53546011)(7696005)(8676002)(316002)(54906003)(110136005)(8936002)(71200400001)(83380400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: m1guw82oD9ueSHrq5Y5CWM8QSrBoXYkG8Iq8FCF7mCPWXCOQDThDmhnYvcZFXozvNISrVjLX1+dZvdDZBQ/2BpCiubWOLnLClC/E/8flNwuUwAFB6ks29YXxNr9uZPmQYAvNV88ys77WqC+y+iUJelI7T0nG9wPplDKSOkLlhRRX4p72I2kdyAdS795iYqArfKCzArf/LdkDlx/F8cCOONQz/ZbPUxiGdkuYe9oZQdPG8HzlmTWS/9lue86fJO+fzJWc6kpdmoaEfqXRykZn/R0EjUKZjaRcECbEesTiccMM3/D+zV5RQgSrz/NnmL1H7XgNQ5hzGf1RX//sP7DHl7hmokjsY8w4K5DopfF49vtqvtNk1TDtDA9XspNdtLhS83WP4tUBiDxrjWWHTjFgeDEwFFovihF15HxKhkBLSGHdB1P0vvcTI5cO/YJxVZk9ojvPKuk0Mq4BD1pfKyeZsww5ZwfSKl4tuySJyazceXyvunDuPeaM2FIRWU9EHwbzje5r2H4ycMy+L3u0z/tRGD/ds/mZQ6i+5cpMEC/ouDxPlpNKF7NDAFs1GHm3sV8EOWkHvZ1ie1ym2z9fgJ4trNHB63dmaLM49DkrFzrzCa2L1jafL2bEq1pYeVri4iD+fX60+BgFpw1xpsZ0MdzLOA== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3301.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f73a682-5e02-43b9-3723-08d875ae3d0d X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Oct 2020 10:44:07.8972 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WpTYYu4Py9EvIxuFm8hclb45YJzNuG2Fy+7NphDpZcwiWwudo6CDT9BQ0GPgfjtTAyDpnQ0AlvMLdG2oYLPLN6pdzqirKCoB4uIdYgDFEc8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3400 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 3/5] net/ice: fix max mtu size packets with vlan tag cannot be received by default 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" PiA+PiBPbiAxMC8yMC8yMDIwIDEwOjA3IEFNLCBBbmFueWV2LCBLb25zdGFudGluIHdyb3RlOg0K PiA+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+IHRlc3RwbWQgd2ls bCBpbml0aWFsaXplIGRlZmF1bHQgbWF4IHBhY2tldCBsZW5ndGggdG8gMTUxOCB3aGljaA0KPiA+ Pj4+Pj4+Pj4+Pj4+Pj4+IGRvZXNuJ3QgaW5jbHVkZSB2bGFuIHRhZyBzaXplIGluIGV0aGVyIG92 ZXJoZWFkZXIuIE9uY2UsIHNlbmQgdGhlDQo+ID4+Pj4+Pj4+Pj4+Pj4+Pj4gbWF4IG10dSBsZW5n dGggcGFja2V0IHdpdGggdmxhbiB0YWcsIHRoZSBtYXggcGFja2V0IGxlbmd0aCB3aWxsDQo+ID4+ Pj4+Pj4+Pj4+Pj4+Pj4gZXhjZWVkIDE1MTggdGhhdCB3aWxsIGNhdXNlIHBhY2tldHMgZHJvcHBl ZCBkaXJlY3RseSBmcm9tIE5JQyBodw0KPiA+Pj4+Pj4+Pj4+Pj4gc2lkZS4NCj4gPj4+Pj4+Pj4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+IGljZSBjYW4gc3VwcG9ydCBkdWFsIHZsYW4gdGFn cyB0aGF0IG5lZWQgbW9yZSA4IGJ5dGVzIGZvciBtYXgNCj4gPj4+Pj4+Pj4+Pj4+Pj4+PiBwYWNr ZXQgc2l6ZSwgc28sIGNvbmZpZ3VyZXMgdGhlIGNvcnJlY3QgbWF4IHBhY2tldCBzaXplIGluDQo+ ID4+Pj4+Pj4+Pj4+Pj4+Pj4gZGV2X2NvbmZpZw0KPiA+Pj4+Pj4+Pj4+Pj4+IG9wcy4NCj4gPj4+ Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+IEZpeGVzOiA1MGNjOWQyYTZlOWQgKCJu ZXQvaWNlOiBmaXggbWF4IGZyYW1lIHNpemUiKQ0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogU3RldmVYIFlhbmcgPHN0ZXZleC55YW5nQGludGVs LmNvbT4NCj4gPj4+Pj4+Pj4+Pj4+Pj4+PiAtLS0NCj4gPj4+Pj4+Pj4+Pj4+Pj4+PiAgICAgICBk cml2ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5jIHwgMTEgKysrKysrKysrKysNCj4gPj4+Pj4+Pj4+ Pj4+Pj4+PiAgICAgICAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQ0KPiA+Pj4+Pj4+ Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lj ZS9pY2VfZXRoZGV2LmMNCj4gPj4+Pj4+Pj4+Pj4+Pj4+PiBiL2RyaXZlcnMvbmV0L2ljZS9pY2Vf ZXRoZGV2LmMgaW5kZXgNCj4gPj4+Pj4+Pj4+Pj4+Pj4+PiBjZmQzNTdiMDUuLjZiNzA5ODQ0NCAx MDA2NDQNCj4gPj4+Pj4+Pj4+Pj4+Pj4+PiAtLS0gYS9kcml2ZXJzL25ldC9pY2UvaWNlX2V0aGRl di5jDQo+ID4+Pj4+Pj4+Pj4+Pj4+Pj4gKysrIGIvZHJpdmVycy9uZXQvaWNlL2ljZV9ldGhkZXYu Yw0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+IEBAIC0zMTQ2LDYgKzMxNDYsNyBAQCBpY2VfZGV2X2NvbmZp Z3VyZShzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gPj4+Pj4+Pj4+PiAqZGV2KQ0KPiA+Pj4+Pj4+Pj4+ Pj4+Pj4+IHN0cnVjdCBpY2VfYWRhcHRlciAqYWQgPQ0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+IElDRV9E RVZfUFJJVkFURV9UT19BREFQVEVSKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KPiA+Pj4+Pj4+ Pj4+Pj4+Pj4+ICAgICAgIHN0cnVjdCBpY2VfcGYgKnBmID0NCj4gPj4+Pj4+Pj4+Pj4+Pj4+PiBJ Q0VfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ID4+Pj4+Pj4+ Pj4+Pj4+Pj4gK3VpbnQzMl90IGZyYW1lX3NpemUgPSBkZXYtPmRhdGEtPm10dSArIElDRV9FVEhf T1ZFUkhFQUQ7DQo+ID4+Pj4+Pj4+Pj4+Pj4+Pj4gICAgICAgaW50IHJldDsNCj4gPj4+Pj4+Pj4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+ICAgICAgIC8qIEluaXRpYWxpemUgdG8gVFJVRS4g SWYgYW55IG9mIFJ4IHF1ZXVlcyBkb2Vzbid0IG1lZXQgdGhlIEBADQo+ID4+Pj4+Pj4+Pj4+Pj4+ Pj4gLTMxNTcsNg0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+ICszMTU4LDE2IEBAIGljZV9kZXZfY29uZmln dXJlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+ICAgICAgIGlm IChkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tcV9tb2RlICYNCj4gPj4+Pj4+Pj4+PiBFVEhf TVFfUlhfUlNTX0ZMQUcpDQo+ID4+Pj4+Pj4+Pj4+Pj4+Pj4gZGV2LT5kYXRhLT5kZXZfY29uZi5y eG1vZGUub2ZmbG9hZHMgfD0NCj4gPj4+Pj4+Pj4+Pj4+PiBERVZfUlhfT0ZGTE9BRF9SU1NfSEFT SDsNCj4gPj4+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+ICsvKioNCj4gPj4+Pj4+ Pj4+Pj4+Pj4+PiArICogQ29uc2lkZXJpbmcgUWluUSBwYWNrZXQsIG1heCBmcmFtZSBzaXplIHNo b3VsZCBiZSBlcXVhbCBvcg0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+ICsgKiBsYXJnZXIgdGhhbiB0b3Rh bCBzaXplIG9mIE1UVSBhbmQgRXRoZXIgb3ZlcmhlYWQuDQo+ID4+Pj4+Pj4+Pj4+Pj4+Pj4gKyAq Lw0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4+PiAraWYgKGZyYW1lX3NpemUg PiBkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tYXhfcnhfcGt0X2xlbikgew0KPiA+Pj4+Pj4+ Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4+PiBXaHkgd2UgbmVl ZCB0aGlzIGNoZWNrPw0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4gQ2FuIHdlIGp1c3QgY2FsbCBpY2VfbXR1 X3NldCBkaXJlY3RseQ0KPiA+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+PiBJIHRoaW5r IHRoYXQgd2l0aG91dCB0aGF0IGNoZWNrIHdlIGNhbiBzaWxlbnRseSBvdmVyd3JpdGUgcHJvdmlk ZWQNCj4gPj4+Pj4+Pj4+Pj4+Pj4gYnkgdXNlciBkZXZfY29uZi5yeG1vZGUubWF4X3J4X3BrdF9s ZW4gdmFsdWUuDQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+PiBPSywgSSBzZWUNCj4g Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+IEJ1dCBzdGlsbCBoYXZlIG9uZSBxdWVzdGlv bg0KPiA+Pj4+Pj4+Pj4+Pj4+IGRldi0+ZGF0YS0+bXR1IGlzIGluaXRpYWxpemVkIHRvIDE1MTgg YXMgZGVmYXVsdCAsIGJ1dCBpZg0KPiA+Pj4+Pj4+Pj4+Pj4+IGRldi0+ZGF0YS0+YXBwbGljYXRp b24gc2V0DQo+ID4+Pj4+Pj4+Pj4+Pj4gZGV2X2NvbmYucnhtb2RlLm1heF9yeF9wa3RfbGVuID0g MTAwMCBpbiBkZXZfY29uZmlndXJlLg0KPiA+Pj4+Pj4+Pj4+Pj4+IGRvZXMgdGhhdCBtZWFuIHdl IHdpbGwgc3RpbGwgd2lsbCBzZXQgbXR1IHRvIDE1MTgsIGlzIHRoaXMgZXhwZWN0ZWQ/DQo+ID4+ Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiBtYXhfcnhfcGt0X2xl biBzaG91bGQgYmUgbGFyZ2VyIHRoYW4gbXR1IGF0IGxlYXN0LCBzbyB3ZSBzaG91bGQgcmFpc2UN Cj4gPj4+Pj4+Pj4+Pj4+IHRoZSBtYXhfcnhfcGt0X2xlbiAoZS5nLjoxNTE4KSB0byBob2xkIGV4 cGVjdGVkIG10dSB2YWx1ZSAoZS5nLjogMTUwMCkuDQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ Pj4+IE9rLCB0aGlzIGRlc2NyaWJlIHRoZSBwcm9ibGVtIG1vcmUgZ2VuZXJhbCBhbmQgYmV0dGVy IHRvIHJlcGxhY2UgZXhpc3QNCj4gPj4+Pj4+Pj4+PiBjb2RlIGNvbW1lbnQgYW5kIGNvbW1pdCBs b2cgZm9yIGVhc3kgdW5kZXJzdGFuZGluZy4NCj4gPj4+Pj4+Pj4+Pj4gUGxlYXNlIHNlbmQgYSBu ZXcgdmVyc2lvbiBmb3IgcmV3b3JkDQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+ Pj4+Pj4+PiBJIGRpZG4ndCByZWFsbHkgZ2V0IHRoaXMgc2V0Lg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+ Pj4+Pj4+Pj4gQXBwbGljYXRpb24gZXhwbGljaXRseSBzZXRzICdtYXhfcnhfcGt0X2xlbicgdG8g JzE1MTgnLCBhbmQgYSBmcmFtZSBiaWdnZXIgdGhhbg0KPiA+Pj4+Pj4+Pj4+IHRoaXMgc2l6ZSBp cyBkcm9wcGVkLg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IFN1cmUsIGl0IGlzIG5vcm1hbCBj YXNlIGZvciBkcm9wcGluZyBvdmVyc2l6ZSBkYXRhLg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ PiBJc24ndCB0aGlzIHdoYXQgc2hvdWxkIGJlLCB3aHkgd2UgYXJlIHRyeWluZyB0byBvdmVyd3Jp dGUgdXNlciBjb25maWd1cmF0aW9uDQo+ID4+Pj4+Pj4+Pj4gaW4gUE1EIHRvIHByZXZlbnQgdGhp cz8NCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IEJ1dCBpdCBpcyBhIGNv bmZsaWN0aW9uIHRoYXQgYXBwbGljYXRpb24vdXNlciBzZXRzIG10dSAmIG1heF9yeF9wa3RfbGVu IGF0IHRoZSBzYW1lIHRpbWUuDQo+ID4+Pj4+Pj4+PiBUaGlzIGZpeCB3aWxsIG1ha2UgYSBkZWNp c2lvbiB3aGVuIGNvbmZsaWN0aW9uIG9jY3VycmVkLg0KPiA+Pj4+Pj4+Pj4gTVRVIHZhbHVlIHdp bGwgY29tZSBmcm9tIHVzZXIgb3BlcmF0aW9uIChlLmcuOiBwb3J0IGNvbmZpZyBtdHUgMCAxNTAw KSBkaXJlY3RseSwNCj4gPj4+Pj4+Pj4+IHNvLCB0aGUgbWF4X3J4X3BrdF9sZW4gd2lsbCByZXNp emUgaXRzZWxmIHRvIGFkYXB0IGV4cGVjdGVkIE1UVSB2YWx1ZSBpZiBpdHMgc2l6ZSBpcyBzbWFs bGVyIHRoYW4gTVRVICsgRXRoZXIgb3ZlcmhlYWQuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+ IER1cmluZyBldGhfZGV2IGFsbG9jYXRpb24sIG10dSBzZXQgdG8gZGVmYXVsdCAnMTUwMCcsIGJ5 IGV0aGRldiBsYXllci4NCj4gPj4+Pj4+Pj4+PiBBbmQgdGVzdHBtZCBzZXRzICdtYXhfcnhfcGt0 X2xlbicgYnkgZGVmYXVsdCB0byAnMTUxOCcuDQo+ID4+Pj4+Pj4+Pj4gSSB0aGluayBRaSdzIGNv bmNlcm4gYWJvdmUgaXMgdmFsaWQsIHdoYXQgaXMgdXNlciBzZXQgJ21heF9yeF9wa3RfbGVuJyB0 byAnMTAwMCcNCj4gPj4+Pj4+Pj4+PiBhbmQgbWVhbiBpdD8gUE1EIHdpbGwgbm90IGhvbm9yIHRo ZSB1c2VyIGNvbmZpZy4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBJJ20gbm90IHN1cmUgd2hl biBzZXQgJ210dScgdG8gJzE1MDAnIGFuZCAnbWF4X3J4X3BrdF9sZW4nIHRvICcxMDAwJywgd2hh dCdzIHRoZSBiZWhhdmlvciBleHBlY3RlZD8NCj4gPj4+Pj4+Pj4+IElmIHN0aWxsIGtlZXAgdGhl ICdtYXhfcnhfcGt0X2xlbicgdmFsdWUsIHRoYXQgbWVhbnMgdGhlIGxhcmdlciAnbXR1JyB3aWxs IGJlIGludmFsaWQuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4gV2h5 IG5vdCBzaW1wbHkgaW5jcmVhc2UgdGhlIGRlZmF1bHQgJ21heF9yeF9wa3RfbGVuJyBpbiB0ZXN0 cG1kPw0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBUaGUgZGVmYXVsdCAnbWF4X3J4X3BrdF9s ZW4nIGhhcyBiZWVuIGluaXRpYWxpemVkIHRvIGdlbmVyaWNhbCB2YWx1ZSAoMTUxOCkgYW5kIGRl ZmF1bHQgJ210dScgaXMgJzE1MDAnIGluIHRlc3RwbWQsDQo+ID4+Pj4+Pj4+PiBCdXQgaXQgaXNu J3Qgc3VpdGFibGUgdG8gdGhvc2UgTklDIGRyaXZlcnMgd2hpY2ggRXRoZXIgb3ZlcmhlYWQgaXMg bGFyZ2VyIHRoYW4gMTguIChlLmcuOiBpY2UsIGk0MGUpIGlmICdtdHUnIHZhbHVlIGlzIHByZWZl cmFibGUuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IEFuZCBJIGd1ZXNzIGV2ZW4gYmV0dGVy IHdoYXQgd2UgbmVlZCBpcyB0byB0ZWxsIHRvIHRoZSBhcHBsaWNhdGlvbiB3aGF0IHRoZQ0KPiA+ Pj4+Pj4+Pj4+IGZyYW1lIG92ZXJoZWFkIFBNRCBhY2NlcHRzLg0KPiA+Pj4+Pj4+Pj4+IFNvIHRo ZSBhcHBsaWNhdGlvbiBjYW4gc2V0IHByb3BlciAnbWF4X3J4X3BrdF9sZW4nIHZhbHVlIHBlciBw b3J0IGZvciBhDQo+ID4+Pj4+Pj4+Pj4gZ2l2ZW4vcmVxdWVzdGVkIE1UVSB2YWx1ZS4NCj4gPj4+ Pj4+Pj4+PiBASWFuLCBjYydlZCwgd2FzIGNvbXBsYWluaW5nIGFsbW9zdCBzYW1lIHRoaW5nIHll YXJzIGFnbywgdGhlc2UgUE1EDQo+ID4+Pj4+Pj4+Pj4gb3ZlcmhlYWQgbWFjcm9zIGFuZCAnbWF4 X210dScvJ21pbl9tdHUnIGFkZGVkIGJlY2F1c2Ugb2YgdGhhdCwgcGVyaGFwcw0KPiA+Pj4+Pj4+ Pj4+IGhlIGhhcyBhIHNvbHV0aW9uIG5vdz8NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gICAgIEZy b20gbXkgcGVyc3BlY3RpdmUgdGhlIG1haW4gcHJvYmxlbSBoZXJlOg0KPiA+Pj4+Pj4+PiBXZSBo YXZlIDIgZGlmZmVyZW50IHZhcmlhYmxlcyBmb3IgbmVhcmx5IHRoZSBzYW1lIHRoaW5nOg0KPiA+ Pj4+Pj4+PiBydGVfZXRoX2Rldl9kYXRhLm10dSBhbmQgcnRlX2V0aF9kZXZfZGF0YS5kZXZfY29u Zi5tYXhfcnhfcGt0X2xlbi4NCj4gPj4+Pj4+Pj4gYW5kIDIgZGlmZmVyZW50IEFQSSB0byB1cGRh dGUgdGhlbTogZGV2X210dV9zZXQoKSBhbmQgZGV2X2NvbmZpZ3VyZSgpLg0KPiA+Pj4+Pj4+DQo+ ID4+Pj4+Pj4gQWNjb3JkaW5nIEFQSSAnbWF4X3J4X3BrdF9sZW4nIGlzICdPbmx5IHVzZWQgaWYg SlVNQk9fRlJBTUUgZW5hYmxlZCcNCj4gPj4+Pj4+PiBBbHRob3VnaCBub3Qgc3VyZSB0aGF0IGlz IHByYWN0aWNhbGx5IHdoYXQgaXMgZG9uZSBmb3IgYWxsIGRyaXZlcnMuDQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4gSSB0aGluayBtb3N0IG9mIEludGVsIFBNRHMgdXNlIGl0IHVuY29uZGl0aW9uYWxseS4N Cj4gPj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gQW5kIGluc2lkZSBtYWpvcml0eSBvZiBJ bnRlbCBQTURzIHdlIGRvbid0IGtlZXAgdGhlc2UgMiB2YXJpYWJsZXMgaW4gc3luYzoNCj4gPj4+ Pj4+Pj4gLSBtdHVfc2V0KCkgd2lsbCB1cGRhdGUgYm90aCB2YXJpYWJsZXMuDQo+ID4+Pj4+Pj4+ IC0gZGV2X2NvbmZpZ3VyZSgpIHdpbGwgdXBkYXRlIG9ubHkgbWF4X3J4X3BrdF9sZW4sIGJ1dCB3 aWxsIGtlZXAgbXR1IGludGFjdC4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gVGhpcyBwYXRjaCBm aXhlcyB0aGlzIGluY29uc2lzdGVuY3ksIHdoaWNoIEkgdGhpbmsgaXMgYSBnb29kIHRoaW5nLg0K PiA+Pj4+Pj4+PiBUaG91Z2ggeWVzLCBpdCBpbnRyb2R1Y2VzIGNoYW5nZSBpbiBiZWhhdmlvdXIu DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IExldCBzYXkgdGhlIGNvZGU6DQo+ID4+Pj4+Pj4+IHJ0 ZV9ldGhfZGV2X3NldF9tdHUocG9ydCwgMTUwMCk7DQo+ID4+Pj4+Pj4+IGRldl9jb25mLm1heF9y eF9wa3RfbGVuID0gMTAwMDsNCj4gPj4+Pj4+Pj4gcnRlX2V0aF9kZXZfY29uZmlndXJlKHBvcnQs IDEsIDEsICZkZXZfY29uZik7DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiAncnRl X2V0aF9kZXZfY29uZmlndXJlKCknIGlzIG9uZSBvZiB0aGUgZmlyc3QgQVBJcyBjYWxsZWQsIGl0 IGlzIGNhbGxlZCBiZWZvcmUNCj4gPj4+Pj4+PiAncnRlX2V0aF9kZXZfc2V0X210dSgpLg0KPiA+ Pj4+Pj4NCj4gPj4+Pj4+IFVzdWFsbHkgeWVzLg0KPiA+Pj4+Pj4gQnV0IHlvdSBjYW4gc3RpbGwg ZG8gc29tZXRpbWVzIGxhdGVyOiBkZXZfbXR1X3NldCgpOyAuLi47IGRldl9zdG9wKCk7IGRldl9j b25maWd1cmUoKTsgZGV2X3N0YXJ0KCk7DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4g V2hlbiAncnRlX2V0aF9kZXZfY29uZmlndXJlKCknIGlzIGNhbGxlZCwgTVRVIGlzIHNldCB0byAn MTUwMCcgYnkgZGVmYXVsdCBieQ0KPiA+Pj4+Pj4+IGV0aGRldiBsYXllciwgc28gaXQgaXMgbm90 IHVzZXIgY29uZmlndXJhdGlvbiwgYnV0ICdtYXhfcnhfcGt0X2xlbicgaXMuDQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4gU2VlIGFib3ZlLg0KPiA+Pj4+Pj4gUE1EIGRvZXNuJ3Qga25vdyB3aGVyZSB0aGlz IE1UVSB2YWx1ZSBjYW1lIGZyb20gKGRlZmF1bHQgZXRoZGV2IHZhbHVlIG9yIHVzZXIgc3BlY2lm aWVkIHZhbHVlKQ0KPiA+Pj4+Pj4gYW5kIHByb2JhYmx5IGl0IHNob3VsZG4ndCBjYXJlLg0KPiA+ Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEFuZCBsYXRlciwgd2hlbiAncnRlX2V0aF9kZXZf c2V0X210dSgpJyBpcyBjYWxsZWQsIGJ1dCBNVFUgYW5kICdtYXhfcnhfcGt0X2xlbicNCj4gPj4+ Pj4+PiBhcmUgdXBkYXRlZCAobW9zdGx5KS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBZZXMsIGluIG10 dV9zZXQoKSB3ZSB1cGRhdGUgYm90aC4NCj4gPj4+Pj4+IEJ1dCB3ZSBkb24ndCB1cGRhdGUgTVRV IGluIGRldl9jb25maWd1cmUoKSwgb25seSBtYXhfcnhfcGt0X2xlbi4NCj4gPj4+Pj4+IFRoYXQg d2hhdCB0aGlzIHBhdGNoIHRyaWVzIHRvIGZpeCAoYXMgSSB1bmRlcnN0YW5kIGl0KS4NCj4gPj4+ Pj4NCj4gPj4+Pj4gVG8gYmUgbW9yZSBwcmVjaXNlIC0gaXQgZG9lc24ndCBjaGFuZ2UgTVRVIHZh bHVlIGluIGRldl9jb25maWd1cmUoKSwNCj4gPj4+Pj4gYnV0IGluc3RlYWQgZG9lc24ndCBhbGxv dyBtYXhfcnhfcGt0X2xlbiB0byBiZWNvbWUgc21hbGxlcg0KPiA+Pj4+PiB0aGVuIE1UVSArIE9W RVJIRUFELg0KPiA+Pj4+PiBQcm9iYWJseSBjaGFuZ2luZyBNVFUgdmFsdWUgaW5zdGVhZCBpcyBh IGJldHRlciBjaG9pY2UuDQo+ID4+Pj4+DQo+ID4+Pj4NCj4gPj4+PiArMSB0byBjaGFuZ2UgbXR1 IGZvciB0aGlzIGNhc2UuDQo+ID4+Pj4gQW5kIHRoaXMgaXMgd2hhdCBoYXBwZW5zIGluIHByYWN0 aWNlIHdoZW4gdGhlcmUgaXMgbm8gJ3J0ZV9ldGhfZGV2X3NldF9tdHUoKScNCj4gPj4+PiBjYWxs LCBzaW5jZSBQTUQgaXMgdXNpbmcgKCdtYXhfcnhfcGt0X2xlbicgLSBPVkVSSEVBRCkgdG8gc2V0 IE1UVS4NCj4gPj4+DQo+ID4+PiBIbW0sIEkgZG9uJ3Qgc2VlIHRoYXQgaGFwcGVucyB3aXRoaW4g SW50ZWwgUE1Ecy4NCj4gPj4+IEFzIEkgY2FuIHJlYWQgdGhlIGNvZGU6IGlmIHVzZXIgbmV2ZXIg Y2FsbCBtdHVfc2V0KCksIHRoZW4gTVRVIHZhbHVlIGlzIGxlZnQgaW50YWN0Lg0KPiA+Pj4NCj4g Pj4NCj4gPj4gSSB3YXMgY2hlY2tpbmcgaWNlLA0KPiA+PiBpbiAnaWNlX2Rldl9zdGFydCgpJywg J3J4bW9kZS5tYXhfcnhfcGt0X2xlbicgaXMgdXNlZCB0byBjb25maWd1cmUgdGhlIGRldmljZS4N Cj4gPg0KPiA+IFllcywgSSBhbSBub3QgYXJndWluZyB3aXRoIHRoYXQuDQo+ID4gV2hhdCBJIGFt IHNheWluZyAtIGRldl9jb25maWcoKSBkb2Vzbid0IHVwZGF0ZSBNVFUgYmFzZWQgb24gbWF4X3J4 X3BrdF9sZW4uDQo+ID4gV2hpbGUgaXQgcHJvYmFibHkgc2hvdWxkLg0KPiA+DQo+IA0KPiBZZXMg J2Rldl9jb25maWd1cmUoKScgZG9lc24ndCB1cGRhdGUgdGhlICdkZXYtPmRhdGEtPm10dScgYW5k ICdtYXhfcnhfcGt0X2xlbicgJg0KPiAnZGV2LT5kYXRhLT5tdHUnIG1heSBkaXZlcmdlIHRoZXJl Lg0KPiANCj4gSSB0aGluayBiZXN0IHBsYWNlIHRvIHVwZGF0ZSAnZGV2LT5kYXRhLT5tdHUnIGlz IHdoZXJlIHRoZSBkZXZpY2UgaXMgYWN0dWFsbHkNCj4gdXBkYXRlZCwgYnV0IHRvIHByZXZlbnQg dGhlIGRpdmVyc2lvbiBhYm92ZSB3ZSBjYW4gdXBkYXRlICdkZXYtPmRhdGEtPm10dScgaW4NCj4g ZXRoZGV2IGxheWVyLCBpbiAncnRlX2V0aF9kZXZfY29uZmlndXJlKCknIGJhc2VkIG9uICdtYXhf cnhfcGt0X2xlbicsIHdpbGwgaXQgd29yaz8NCg0KSSB0aGluayAtIHllcy4NCkF0IGxlYXN0LCBJ IGRvbid0IGZvcmVzZWUgYW55IGltcGxpY2F0aW9ucyB3aXRoIHRoYXQuDQoNCj4gDQo+IE9ubHkg Y29uY2VybiBJIHNlZSBpcyBpZiB1c2VyIHJlYWRzIHRoZSBNVFUgKCdydGVfZXRoX2Rldl9nZXRf bXR1KCknKSBhZnRlcg0KPiAncnRlX2V0aF9kZXZfY29uZmlndXJlKCknIGJ1dCBiZWZvcmUgZGV2 aWNlIGNvbmZpZ3VyZWQsIHVzZXIgd2lsbCBnZXQgdGhlIHdyb25nDQo+IHZhbHVlLCBJIGd1ZXNz IHRoYXQgcHJvYmxlbSB3YXMgYWxyZWFkeSB0aGVyZSBidXQgY2hhbmdpbmcgZGVmYXVsdCB2YWx1 ZSBtYXkNCj4gbWFrZSBpdCBtb3JlIHZpc2libGUuDQo+IA0KPiA+Pg0KPiA+Pj4+IEJ1dCB0aGlz IHdvbid0IHNvbHZlIHRoZSBwcm9ibGVtIFN0ZXZlIGlzIHRyeWluZyB0byBzb2x2ZS4NCj4gPj4+ DQo+ID4+PiBZb3UgbWVhbiB3ZSBzdGlsbCBuZWVkIHRvIHVwZGF0ZSB0ZXN0LXBtZCBjb2RlIHRv IGNhbGN1bGF0ZSBtYXhfcnhfcGt0X2xlbg0KPiA+Pj4gcHJvcGVybHkgZm9yIGRlZmF1bHQgbXR1 IHZhbHVlPw0KPiA+Pj4NCj4gPj4NCj4gPj4gWWVzLg0KPiA+PiBCZWNhdXNlIHRhcmdldCBvZiB0 aGlzIHNldCBpcyBhYmxlIHRvIHJlY2VpdmUgcGFja2V0cyB3aXRoIHBheWxvYWQgc2l6ZQ0KPiA+ PiAnUlRFX0VUSEVSX01UVScsIGlmIE1UVSBpcyB1cGRhdGVkIGFjY29yZGluZyB0byB0aGUgcHJv dmlkZWQgJ21heF9yeF9wa3RfbGVuJywNCj4gPj4gZGV2aWNlIHN0aWxsIHdvbid0IGFibGUgdG8g cmVjZWl2ZSB0aG9zZSBwYWNrZXRzLg0KPiA+DQo+ID4gQWdyZWUuDQo+ID4NCj4gPj4NCj4gPj4+ Pj4+Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IEJlZm9yZSB0aGUgcGF0Y2ggd2lsbCByZXN1bHQ6 DQo+ID4+Pj4+Pj4+IG10dT09MTUwMCwgbWF4X3J4X3BrdF9sZW49MTAwMDsgIC8vb3V0IG9mIHN5 bmMgbG9va3Mgd3JvbmcgdG8gbWUNCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gQWZ0ZXIgdGhlIHBh dGNoOg0KPiA+Pj4+Pj4+PiBtdHU9MTUwMCwgbWF4X3J4X3B0a19sZW49MTUxODsgLy8gaW4gc3lu YywgY2hhbmdlIGluIGJlaGF2aW91ci4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gSWYgeW91IHRo aW5rIHdlIG5lZWQgdG8gcHJlc2VydmUgY3VycmVudCBiZWhhdmlvdXIsDQo+ID4+Pj4+Pj4+IHRo ZW4gSSBzdXBwb3NlIHRoZSBlYXNpZXN0IHRoaW5nIHdvdWxkIGJlIHRvIGNoYW5nZSBkZXZfY29u ZmlnKCkgY29kZQ0KPiA+Pj4+Pj4+PiB0byB1cGRhdGUgbXR1IHZhbHVlIGJhc2VkIG9uIG1heF9y eF9wa3RfbGVuLg0KPiA+Pj4+Pj4+PiBJLkU6IGRldl9jb25maWd1cmUgey4uLjsgbXR1X3NldCht YXhfcnhfcGt0X2xlbiAtIE9WRVJIRUFEKTsgLi4ufQ0KPiA+Pj4+Pj4+PiBTbyB0aGUgY29kZSBz bmlwcGV0IGFib3ZlIHdpbGwgcmVzdWx0Og0KPiA+Pj4+Pj4+PiBtdHU9OTgyLG1heF9yeF9wa3Rf bGVuPTEwMDA7DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBUaGUgJ21heF9yeF9w dGtfbGVuJyBpcyBhbm5veWFuY2UgZm9yIGEgbG9uZyB0aW1lLCB3aGF0IGRvIHlvdSB0aGluayB0 byBqdXN0DQo+ID4+Pj4+Pj4gZHJvcCBpdD8NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEJ5IGRlZmF1 bHQgZGV2aWNlIHdpbGwgYmUgdXAgd2l0aCBkZWZhdWx0IE1UVSAoMTUwMCksIGxhdGVyDQo+ID4+ Pj4+Pj4gJ3J0ZV9ldGhfZGV2X3NldF9tdHUnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgTVRVLCBu byBmcmFtZSBzaXplIHNldHRpbmcgYXQgYWxsLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gV2lsbCB0 aGlzIHdvcms/DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gSSB0aGluayBpdCBtaWdodCwgYnV0IHRoYXQn cyBhIGJpZyBjaGFuZ2UsIHByb2JhYmx5IHRvbyByaXNreSBhdCB0aGF0IHN0YWdlLi4uDQo+ID4+ Pj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gRGVmaW50ZWx5LCBJIHdhcyB0aGlua2luZyBmb3IgMjEuMTEu IExldCBtZSBzZW5kIGEgZGVwcmVjYXRpb24gbm90aWNlIGFuZCBzZWUNCj4gPj4+PiB3aGF0IGhh cHBlbnMuDQo+ID4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ IEFuZCBmb3Igc2hvcnQgdGVybSwgZm9yIGFib3ZlIEludGVsIFBNRHMsIHRoZXJlIG11c3QgYmUg YSBwbGFjZSB0aGlzDQo+ID4+Pj4+Pj4gJ21heF9yeF9wa3RfbGVuJyB2YWx1ZSB0YWtlbiBpbnRv IGFjY291bnQgKG1vc3RseSAnc3RhcnQoKScgZGV2X29wcyksIHRoYXQNCj4gPj4+Pj4+PiBmdW5j dGlvbiBjYW4gYmUgdXBkYXRlZCB0byB0YWtlICdtYXhfcnhfcGt0X2xlbicgb25seSBpZiBKVU1C T19GUkFNRSBzZXQsDQo+ID4+Pj4+Pj4gb3RoZXJ3aXNlIHVzZSB0aGUgJ01UVScgdmFsdWUuDQo+ ID4+Pj4+Pg0KPiA+Pj4+Pj4gRXZlbiBpZiB3ZSdsbCB1c2UgbWF4X3J4X3BrdF9sZW4gb25seSB3 aGVuIGlmIEpVTUJPX0ZSQU1FIGlzIHNldCwNCj4gPj4+Pj4+IEkgdGhpbmsgd2Ugc3RpbGwgbmVl ZCB0byBrZWVwIG1heF9yeF9wa3RfbGVuIGFuZCBNVFUgdmFsdWVzIGluIHN5bmMuDQo+ID4+Pj4+ Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gV2l0aG91dCAnc3RhcnQoKScgdXBkYXRlZCB0aGUgY3Vy cmVudCBsb2dpYyB3b24ndCB3b3JrIGFmdGVyIHN0b3AgJiBzdGFydCBhbnl3YXkuDQo+ID4+Pj4+ Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IEFuZCB3aHkgdGhpcyBzYW1lIHRoaW5n IGNhbid0IGhhcHBlbiB0byBvdGhlciBQTURzPyBJZiB0aGlzIGlzIGEgcHJvYmxlbSBmb3INCj4g Pj4+Pj4+Pj4+PiBhbGwgUE1Ecywgd2Ugc2hvdWxkIHNvbHZlIGluIG90aGVyIGxldmVsLCBub3Qg Zm9yIG9ubHkgc29tZSBQTURzLg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBObywgYWxsIFBN RHMgZXhpc3QgdGhlIHNhbWUgaXNzdWUsIGFub3RoZXIgcHJvcG9zYWw6DQo+ID4+Pj4+Pj4+PiAg ICAgIC0gIHJ0ZV9ldGhkZXYgcHJvdmlkZXMgdGhlIHVuaXF1ZSByZXNpemUgJ21heF9yeF9wa3Rf bGVuJyBpbiBydGVfZXRoX2Rldl9jb25maWd1cmUoKTsNCj4gPj4+Pj4+Pj4+ICAgICAgLSBwcm92 aWRlIHRoZSB1bmlmb3JtIEFQSSBmb3IgZmV0Y2hpbmcgdGhlIE5JQydzIHN1cHBvcnRlZCBFdGhl ciBPdmVyaGVhZCBzaXplOw0KPiA+Pj4+Pj4+Pj4gSXMgaXQgZmVhc2libGU/DQo+ID4+Pj4+Pj4+ Pg0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4gR2VuZXJhbGx5LCB0aGUgbXR1IHZhbHVl IGNhbiBiZSBhZGp1c3RhYmxlIGZyb20gdXNlciAoZS5nLjogaXAgbGluaw0KPiA+Pj4+Pj4+Pj4+ Pj4gc2V0IGVuczgwMWYwIG10dSAxNDAwKSwgaGVuY2UsIHdlIGp1c3QgYWRqdXN0IHRoZSBtYXhf cnhfcGt0X2xlbiB0bw0KPiA+Pj4+Pj4+Pj4+Pj4gc2F0aXNmeSBtdHUgcmVxdWlyZW1lbnQuDQo+ ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+IFNob3VsZCB3ZSBqdXN0IGNhbGwgaWNlX210 dV9zZXQoZGV2LCBkZXZfY29uZi5yeG1vZGUubWF4X3J4X3BrdF9sZW4pDQo+ID4+Pj4+Pj4+Pj4+ Pj4gaGVyZT8NCj4gPj4+Pj4+Pj4+Pj4+IGljZV9tdHVfc2V0KGRldiwgbXR1KSB3aWxsIGFwcGVu ZCBldGhlciBvdmVyaGVhZCB0bw0KPiA+Pj4+Pj4+Pj4+Pj4gZnJhbWVfc2l6ZS9tYXhfcnhfcGt0 X2xlbiwgc28gd2UgbmVlZCBwYXNzIHRoZSBtdHUgdmFsdWUgYXMgdGhlIDJuZA0KPiA+Pj4+Pj4+ Pj4+Pj4gcGFyYW1ldGVyLCBvciBub3QgdGhlIG1heF9yeF9wa3RfbGVuLg0KPiA+Pj4+Pj4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4+DQo+ ID4+Pj4+Pj4+Pj4+Pj4+PiBBbmQgcGxlYXNlIHJlbW92ZSBhYm92ZSBjb21tZW50LCBzaW5jZSBl dGhlciBvdmVyaGVhZCBpcyBhbHJlYWR5DQo+ID4+Pj4+Pj4+Pj4+Pj4+IGNvbnNpZGVyZWQgaW4g aWNlX210dV9zZXQuDQo+ID4+Pj4+Pj4+Pj4+PiBFdGhlciBvdmVyaGVhZCBpcyBhbHJlYWR5IGNv bnNpZGVyZWQgaW4gaWNlX210dV9zZXQsIGJ1dCBpdCBhbHNvDQo+ID4+Pj4+Pj4+Pj4+PiBzaG91 bGQgYmUgY29uc2lkZXJlZCBhcyB0aGUgYWRqdXN0bWVudCBjb25kaXRpb24gdGhhdCBpZiBpY2Vf bXR1X3NldA0KPiA+Pj4+Pj4+Pj4+IG5lZWQgYmUgaW52b2tlZC4NCj4gPj4+Pj4+Pj4+Pj4+IFNv LCBpdCBwZXJoYXBzIHNob3VsZCByZW1haW4gdGhpcyBjb21tZW50IGJlZm9yZSB0aGlzIGlmKCkg Y29uZGl0aW9uLg0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+ICtyZXQgPSBpY2VfbXR1X3NldChkZXYsIGRldi0+ ZGF0YS0+bXR1KTsgaWYgKHJldCAhPSAwKSByZXR1cm4NCj4gPj4+Pj4+Pj4+Pj4+Pj4+PiArcmV0 OyB9DQo+ID4+Pj4+Pj4+Pj4+Pj4+Pj4gKw0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+ICAgICAgIHJldCA9 IGljZV9pbml0X3JzcyhwZik7DQo+ID4+Pj4+Pj4+Pj4+Pj4+Pj4gICAgICAgaWYgKHJldCkgew0K PiA+Pj4+Pj4+Pj4+Pj4+Pj4+ICAgICAgIFBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBlbmFi bGUgcnNzIGZvciBQRiIpOw0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4+IC0tDQo+ID4+Pj4+Pj4+Pj4+Pj4+ Pj4gMi4xNy4xDQo+ID4+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+ Pg0KPiA+Pj4NCj4gPg0KDQo=