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 1EBF6A0561; Mon, 20 Apr 2020 16:07:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 004B91C29A; Mon, 20 Apr 2020 16:07:26 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id F01321C299 for ; Mon, 20 Apr 2020 16:07:24 +0200 (CEST) IronPort-SDR: 3uoWxv/PKcX07UkL3UIRQDcU2xXSEtRjaw7BvmIrtavkgbzep+aawS4PR67cvzpgTFEypPaUUY HU2Ak4W86HWw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2020 07:07:24 -0700 IronPort-SDR: tOVDaP+oGul8c6X84IcBy5MFD831Svg2YR1WFmx5c0Tv7t7+oxoqu7F/g//EeELvhPb+ZKX70V CcpDbrHa8Fag== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,406,1580803200"; d="scan'208";a="245377247" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga007.fm.intel.com with ESMTP; 20 Apr 2020 07:07:23 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Apr 2020 07:07:23 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 20 Apr 2020 07:07:23 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 20 Apr 2020 07:07:23 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 20 Apr 2020 07:07:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iVL/NIqjq0D2nBamgXOqnNwyFVD8XdA3V1du93m0SyAGYlzVGvWIeVVuFbNFMUokhqbv98eTPoSeAM4cqghiM6AxiwOWdY6zVI6rDBBAMHoSJHh3SBisZUrmK5S6hqTa3vuoM4VUcOOnRVh8vCcrKy9g5vh0FScwWXQ/8hjopYH0GPS4VG6Urq25CmUu3CCmaE8pyFydGOi7cW8pg+w2YRibmdlXEOqcdXE7lrHxnE2YjqCk9YGiVW/hHtODSMn/FB5ym6EW+uvcD8MXQodJRl3ypbaeayVTzJrbFukD6UumfBVu8MyF1MGmcK/dqzqszitEbEdpHft57ShKPg0+vA== 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=Ny9+AMUvPK008ol3aRwlLu+zUtbrwzhG2w4OCMVV6Pk=; b=C2T2dtXUgJGTNx7ARWBVbaA2xKorxt5pvmtd6XGo17RWqmb61EjMD/nCleTHWDztvg6ksjg+1mC4xdWRAxDTkQ2QgngLqPOMURLvVQyjiCxWKGWqs9fRHWL/re/4t1jopSgl7MEwaarEwifodCjI2y/DA0S9Y5CGzHHydYtdpKSIrMQBn2us1WHf9lPQis5rzh4IWOiAEWY5CCP2QtpbNnC6FKiIBUuFpUSv7CJEHSqonuE4EO9L+4C8BbLC7VTQvJZOgipVlXJMqBZdqtswuucBYZzMsMtAv45LkuI3l2tkU1hfdkNNYoMOR4gzbgoT+ljlDfgM+wm0OTOHQIFjXg== 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=Ny9+AMUvPK008ol3aRwlLu+zUtbrwzhG2w4OCMVV6Pk=; b=IL+2hp9sYPTLDdP8YvOrfnuyYParGhV7jMSJHQl856xYV5deqSZbQc7ocdDaNLaKi76385cR5hLURmkWnTXXtY5LfxpY2ee2IoTMTqoA+/QXD8FrMC5MduXfLQ79keth7qiJya6RrdPghDQeOeheGRSUyP93oWq/FmtsAr28NN8= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by BYAPR11MB3734.namprd11.prod.outlook.com (2603:10b6:a03:fe::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Mon, 20 Apr 2020 14:07:16 +0000 Received: from BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f8cb:58cd:e958:fff4]) by BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f8cb:58cd:e958:fff4%6]) with mapi id 15.20.2921.027; Mon, 20 Apr 2020 14:07:16 +0000 From: "Ananyev, Konstantin" To: David Marchand , Honnappa Nagarahalli CC: dev , "jielong.zjl@antfin.com" Thread-Topic: [PATCH v6 10/10] doc: update ring guide Thread-Index: AQHWFw0I1D8PaJ95HE+jl3RM2U2BY6iCBj6AgAAFWsA= Date: Mon, 20 Apr 2020 14:07:16 +0000 Message-ID: References: <20200418163225.17635-1-konstantin.ananyev@intel.com> <20200420121113.9327-1-konstantin.ananyev@intel.com> <20200420121113.9327-11-konstantin.ananyev@intel.com> In-Reply-To: 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.2.0.6 authentication-results: spf=none (sender IP is ) smtp.mailfrom=konstantin.ananyev@intel.com; x-originating-ip: [192.198.151.170] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 69d42cb7-f487-49c7-c6fd-08d7e53421e0 x-ms-traffictypediagnostic: BYAPR11MB3734: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 03793408BA 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; SFTY:; SFS:(10019020)(396003)(39860400002)(376002)(136003)(366004)(346002)(2906002)(5660300002)(71200400001)(86362001)(15650500001)(55016002)(9686003)(76116006)(8936002)(8676002)(4326008)(316002)(54906003)(110136005)(478600001)(81156014)(26005)(52536014)(53546011)(6506007)(7696005)(66446008)(64756008)(66556008)(66476007)(33656002)(66946007)(186003); DIR:OUT; SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZvBv5sCgJxpfC7QXhA09APLaBWuVCDA216lg4Gy4J/GmtLzGu4qvuCCbCYAZDWTrAZNB1sY7gE0nwKq77+rArdUkZxxSpICQZQeDWb5f/hY8sMyBiM5fF4TQtr/UKnPng+auWYGd9sJIG4yllwewgSU8tUZPK8+WlXa+8hXgE3rmzCQpw9zo/U8iNTHqgezM79uz8+JxmE+VnzodfYj/YVSAnVm2cyWF+xEg9OF2N/4qJjarRMPtScDWYD4yov82GxqolmRhdVs3Lme99+ZtuU12x7Xv2St+tFkt4PJTvnxeb/rVSqhgb56GuKIw36rCcG3yxSA4LzawSxnJdl6CBHdYiPP6+bdrNP9XXc1vbNrewL0y9kp+b4nLd11Vzh7FOy4V3S0Ldj+dRBwiUvecKw1FbC9kmGNhSao/z0bLBUAiFoCTRzOjRRxKc9KdBgl/ x-ms-exchange-antispam-messagedata: 9MpNGD1Z8XmFW+hRvVf6QEFS33qg4PMsyyVNA1yxdQcX3kOWysdanyNnVYSp62t2IUzFaM6IliF3D00wOsAq5EyZhxFsYWE4q9p4s8ST9eMmTvtnsCLIDI7gsT3+Cr621USL1NMHliJwfoP+mONwmg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 69d42cb7-f487-49c7-c6fd-08d7e53421e0 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Apr 2020 14:07:16.3874 (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: tCB1gjUDao/tu4HPcB6hkJW7oUSr2CJtwun64yFwPG6ICCw2eY+a0JXgBBE1iqwNAmv/mTrTEPaUZ2BaPL2dynKdtCFm6ZH0t9TBnMWgch0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3734 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v6 10/10] doc: update ring guide 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" DQo+IA0KPiBPbiBNb24sIEFwciAyMCwgMjAyMCBhdCAyOjEyIFBNIEtvbnN0YW50aW4gQW5hbnll dg0KPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBDaGFu Z2VkIHRoZSBydGVfcmluZyBjaGFwdGVyIGluIHByb2dyYW1tZXIncyBndWlkZSB0byByZWZsZWN0 DQo+ID4gdGhlIGFkZGl0aW9uIG9mIG5ldyBzeW5jIG1vZGVzIGFuZCBwZWVrIHN0eWxlIEFQSS4N Cj4gDQo+IEknZCBsaWtlIHRvIHNwbGl0IHRoaXMgYXMgZm9sbG93cywgc2VlIGJlbG93Lg0KPiBJ IGhhdmUgYSBjb3VwbGUgb2YgdHlwb3MgdG9vLg0KPiANCj4gDQo+IElmIHlvdSBhcmUgZmluZSB3 aXRoIGl0LCBJJ2xsIHByb2NlZWQgYW5kIHNxdWFzaCB3aGVuIG1lcmdpbmcuDQoNClllcywgSSBh bS4NClRoYW5rcw0KS29uc3RhbnRpbg0KDQo+IA0KPiANCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6 IEtvbnN0YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4gPiAt LS0NCj4gPiAgZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3JpbmdfbGliLnJzdCB8IDk1ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgOTUgaW5zZXJ0aW9u cygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9yaW5nX2xp Yi5yc3QgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcmluZ19saWIucnN0DQo+ID4gaW5kZXggOGNi MmIyZGQ0Li42NjhlNjdlY2IgMTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRl L3JpbmdfbGliLnJzdA0KPiA+ICsrKyBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9yaW5nX2xpYi5y c3QNCj4gPiBAQCAtMzQ5LDYgKzM0OSwxMDEgQEAgZXZlbiBpZiBvbmx5IHRoZSBmaXJzdCB0ZXJt IG9mIHN1YnRyYWN0aW9uIGhhcyBvdmVyZmxvd2VkOg0KPiA+ICAgICAgdWludDMyX3QgZW50cmll cyA9IChwcm9kX3RhaWwgLSBjb25zX2hlYWQpOw0KPiA+ICAgICAgdWludDMyX3QgZnJlZV9lbnRy aWVzID0gKG1hc2sgKyBjb25zX3RhaWwgLXByb2RfaGVhZCk7DQo+ID4NCj4gDQo+IEZyb20gaGVy ZSwgdGhpcyBmaXJzdCBwYXJ0IHdvdWxkIGdvIHRvIHBhdGNoMiAicmluZzogcHJlcGFyZSByaW5n IHRvDQo+IGFsbG93IG5ldyBzeW5jIHNjaGVtZXMiLg0KPiANCj4gPiArUHJvZHVjZXIvY29uc3Vt ZXIgc3luY2hyb25pemF0aW9uIG1vZGVzDQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiArcnRlX3Jpbmcgc3VwcG9ydHMgZGlmZmVyZW50IHN5 bmNocm9uaXphdGlvbiBtb2RlcyBmb3IgcG9yZHVjZXIgYW5kIGNvbnN1bWVycy4NCj4gDQo+IHBy b2R1Y2VycyoNCj4gDQo+ID4gK1RoZXNlIG1vZGVzIGNhbiBiZSBzcGVjaWZpZWQgYXQgcmluZyBj cmVhdGlvbi9pbml0IHRpbWUgdmlhIGBgZmxhZ3NgYCBwYXJhbWV0ZXIuDQo+ID4gK1RoYXQgc2hv dWxkIGhlbHAgIHVzZXIgdG8gY29uZmlndXJlIHJpbmcgaW4gd2F5IG1vc3Qgc3VpdGFibGUgZm9y IGhpcw0KPiANCj4gZG91YmxlIHNwYWNlIHRvIHJlbW92ZS4NCj4gdXNlcnM/DQo+IA0KPiANCj4g PiArc3BlY2lmaWMgdXNhZ2Ugc2NlbmFyaW9zLg0KPiA+ICtDdXJyZW50bHkgc3VwcG9ydGVkIG1v ZGVzOg0KPiA+ICsNCj4gPiArTVAvTUMgKGRlZmF1bHQgb25lKQ0KPiA+ICt+fn5+fn5+fn5+fn5+ fn5+fn5+DQo+ID4gKw0KPiA+ICtNdWx0aS1wcm9kdWNlciAoL211bHRpLWNvbnN1bWVyKSBtb2Rl LiBUaGlzIGlzIGEgZGVmYXVsdCBlbnF1ZXVlICgvZGVxdWV1ZSkNCj4gPiArbW9kZSBmb3IgdGhl IHJpbmcuIEluIHRoaXMgbW9kZSBtdWx0aXBsZSB0aHJlYWRzIGNhbiBlbnF1ZXVlICgvZGVxdWV1 ZSkNCj4gPiArb2JqZWN0cyB0byAoL2Zyb20pIHRoZSByaW5nLiBGb3IgJ2NsYXNzaWMnIERQREsg ZGVwbG95bWVudHMgKHdpdGggb25lIHRocmVhZA0KPiA+ICtwZXIgY29yZSkgdGhpcyBpcyB1c3Vh bGx5IG1vc3Qgc3VpdGFibGUgYW5kIGZhc3Rlc3Qgc3luY2hyb25pemF0aW9uIG1vZGUuDQo+IA0K PiB0aGUgbW9zdCoNCj4gDQo+ID4gK0FzIGEgd2VsbCBrbm93biBsaW1pdGFpb24gLSBpdCBjYW4g cGVyZm9ybSBxdWl0ZSBwdXJlIG9uIHNvbWUgb3ZlcmNvbW1pdHRlZA0KPiANCj4gbGltaXRhdGlv bioNCj4gDQo+ID4gK3NjZW5hcmlvcy4NCj4gPiArDQo+ID4gK1NQL1NDDQo+ID4gK35+fn5+DQo+ ID4gK1NpbmdsZS1wcm9kdWNlciAoL3NpbmdsZS1jb25zdW1lcikgbW9kZS4gSW4gdGhpcyBtb2Rl IG9ubHkgb25lIHRocmVhZCBhdCBhIHRpbWUNCj4gPiAraXMgYWxsb3dlZCB0byBlbnF1ZXVlICgv ZGVxdWV1ZSkgb2JqZWN0cyB0byAoL2Zyb20pIHRoZSByaW5nLg0KPiANCj4gRW5kIG9mIGZpcnN0 IHBhcnQuDQo+IA0KPiBUaGVuIHRoZSBzZWNvbmQgcGFydCB0aGF0IHdvdWxkIGdvIHRvIHBhdGNo MyAicmluZzogaW50cm9kdWNlIFJUUyByaW5nIG1vZGUiLg0KPiANCj4gPiArDQo+ID4gK01QX1JU Uy9NQ19SVFMNCj4gPiArfn5+fn5+fn5+fn5+fg0KPiA+ICsNCj4gPiArTXVsdGktcHJvZHVjZXIg KC9tdWx0aS1jb25zdW1lcikgd2l0aCBSZWxheGVkIFRhaWwgU3luYyAoUlRTKSBtb2RlLg0KPiA+ ICtUaGUgbWFpbiBkaWZmZXJlbmNlIGZyb20gb3JpZ2luYWwgTVAvTUMgYWxnb3JpdGhtIGlzIHRo YXQNCj4gDQo+IGZyb20gdGhlIG9yaWdpbmFsKg0KPiANCj4gPiArdGFpbCB2YWx1ZSBpcyBpbmNy ZWFzZWQgbm90IGJ5IGV2ZXJ5IHRocmVhZCB0aGF0IGZpbmlzaGVkIGVucXVldWUvZGVxdWV1ZSwN Cj4gPiArYnV0IG9ubHkgYnkgdGhlIGxhc3Qgb25lLg0KPiA+ICtUaGF0IGFsbG93cyB0aHJlYWRz IHRvIGF2b2lkIHNwaW5uaW5nIG9uIHJpbmcgdGFpbCB2YWx1ZSwNCj4gPiArbGVhdmluZyBhY3R1 YWwgdGFpbCB2YWx1ZSBjaGFuZ2UgdG8gdGhlIGxhc3QgdGhyZWFkIGF0IGEgZ2l2ZW4gaW5zdGFu Y2UuDQo+ID4gK1RoYXQgdGVjaG5pcXVlIGhlbHBzIHRvIGF2b2lkIExvY2stV2FpdGVyLVByZWVt dGlvbiAoTFdQKSBwcm9ibGVtIG9uIHRhaWwNCj4gDQo+IHRoZSBMb2NrLVdhaXRlci1QcmVlbXB0 aW9uKg0KPiANCj4gPiArdXBkYXRlIGFuZCBpbXByb3ZlcyBhdmVyYWdlIGVucXVldWUvZGVxdWV1 ZSB0aW1lcyBvbiBvdmVyY29tbWl0dGVkIHN5c3RlbXMuDQo+ID4gK1RvIGFjaGlldmUgdGhhdCBS VFMgcmVxdWlyZXMgMiA2NC1iaXQgQ0FTIGZvciBlYWNoIGVucXVldWUoL2RlcXVldWUpIG9wZXJh dGlvbjoNCj4gPiArb25lIGZvciBoZWFkIHVwZGF0ZSwgc2Vjb25kIGZvciB0YWlsIHVwZGF0ZS4N Cj4gPiArSW4gY29tcGFyaXNvbiBvcmlnaW5hbCBNUC9NQyBhbGdvcml0aG0gcmVxdWlyZXMgb25l IDMyLWJpdCBDQVMNCj4gDQo+IHRoZSBvcmlnaW5hbCoNCj4gDQo+ID4gK2ZvciBoZWFkIHVwZGF0 ZSBhbmQgd2FpdGluZy9zcGlubmluZyBvbiB0YWlsIHZhbHVlLg0KPiA+ICsNCj4gDQo+IEVuZCBv ZiBzZWNvbmQgcGFydC4NCj4gDQo+IFRoaXJkIHBhcnQgdGhhdCB3b3VsZCBnbyB0byBwYXRjaCA1 ICJyaW5nOiBpbnRyb2R1Y2UgSFRTIHJpbmcgbW9kZSIuDQo+IA0KPiANCj4gPiArTVBfSFRTL01D X0hUUw0KPiA+ICt+fn5+fn5+fn5+fn5+DQo+ID4gKw0KPiA+ICtNdWx0aS1wcm9kdWNlciAoL211 bHRpLWNvbnN1bWVyKSB3aXRoIEhlYWQvVGFpbCBTeW5jIChIVFMpIG1vZGUuDQo+ID4gK0luIHRo YXQgbW9kZSBlbnF1ZXVlL2RlcXVldWUgb3BlcmF0aW9uIGlzIGZ1bGx5IHNlcmlhbGl6ZWQ6DQo+ ID4gK2F0IGFueSBnaXZlbiBtb21lbnQgb25seSBvbmUgZW5xdWV1ZS9kZXF1ZXVlIG9wZXJhdGlv biBjYW4gcHJvY2VlZC4NCj4gPiArVGhpcyBpcyBhY2hpZXZlZCBieSBhbGxvd2luZyBhIHRocmVh ZCB0byBwcm9jZWVkIHdpdGggY2hhbmdpbmcgYGBoZWFkLnZhbHVlYGANCj4gPiArb25seSB3aGVu IGBgaGVhZC52YWx1ZSA9PSB0YWlsLnZhbHVlYGAuDQo+ID4gK0JvdGggaGVhZCBhbmQgdGFpbCB2 YWx1ZXMgYXJlIHVwZGF0ZWQgYXRvbWljYWxseSAoYXMgb25lIDY0LWJpdCB2YWx1ZSkuDQo+ID4g K1RvIGFjaGlldmUgdGhhdCA2NC1iaXQgQ0FTIGlzIHVzZWQgYnkgaGVhZCB1cGRhdGUgcm91dGlu ZS4NCj4gPiArVGhhdCB0ZWNobmlxdWUgYWxzbyBhdm9pZHMgTG9jay1XYWl0ZXItUHJlZW10aW9u IChMV1ApIHByb2JsZW0gb24gdGFpbA0KPiANCj4gdGhlIExvY2stV2FpdGVyLVByZWVtcHRpb24q DQo+IA0KPiANCj4gPiArdXBkYXRlIGFuZCBoZWxwcyB0byBpbXByb3ZlIHJpbmcgZW5xdWV1ZS9k ZXF1ZXVlIGJlaGF2aW9yIGluIG92ZXJjb21taXR0ZWQNCj4gPiArc2NlbmFyaW9zLiBBbm90aGVy IGFkdmFudGFnZSBvZiBmdWxseSBzZXJpYWxpemVkIHByb2R1Y2VyL2NvbnN1bWVyIC0NCj4gPiAr aXQgcHJvdmlkZXMgYWJpbGl0eSB0byBpbXBsZW1lbnQgTVQgc2FmZSBwZWVrIEFQSSBmb3IgcnRl X3JpbmcuDQo+IA0KPiBpdCBwcm92aWRlcyB0aGUgYWJpbGl0eSoNCj4gDQo+IEVuZCBvZiAzcmQg cGFydC4NCj4gDQo+IExhc3QgcGFydCB3b3VsZCBnbyB0byBwYXRjaCA3ICJyaW5nOiBpbnRyb2R1 Y2UgcGVlayBzdHlsZSBBUEkiLg0KPiANCj4gPiArDQo+ID4gKw0KPiA+ICtSaW5nIFBlZWsgQVBJ DQo+ID4gKy0tLS0tLS0tLS0tLS0NCj4gPiArDQo+ID4gK0ZvciByaW5nIHdpdGggc2VyaWFsaXpl ZCBwcm9kdWNlci9jb25zdW1lciAoSFRTIHN5bmMgbW9kZSkgaXQgaXMgIHBvc3NpYmxlDQo+IA0K PiBkb3VibGUgc3BhY2UuDQo+IA0KPiA+ICt0byBzcGxpdCBwdWJsaWMgZW5xdWV1ZS9kZXF1ZXVl IEFQSSBpbnRvIHR3byBwaGFzZXM6DQo+ID4gKw0KPiA+ICsqICAgZW5xdWV1ZS9kZXF1ZXVlIHN0 YXJ0DQo+ID4gKw0KPiA+ICsqICAgZW5xdWV1ZS9kZXF1ZXVlIGZpbmlzaA0KPiA+ICsNCj4gPiAr VGhhdCBhbGxvd3MgdXNlciB0byBpbnNwZWN0IG9iamVjdHMgaW4gdGhlIHJpbmcgd2l0aG91dCBy ZW1vdmluZyB0aGVtDQo+ID4gK2Zyb20gaXQgKGFrYSBNVCBzYWZlIHBlZWspIGFuZCByZXNlcnZl IHNwYWNlIGZvciB0aGUgb2JqZWN0cyBpbiB0aGUgcmluZw0KPiA+ICtiZWZvcmUgYWN0dWFsIGVu cXVldWUuDQo+ID4gK05vdGUgdGhhdCB0aGlzIEFQSSBpcyBhdmFpbGFibGUgb25seSBmb3IgdHdv IHN5bmMgbW9kZXM6DQo+ID4gKw0KPiA+ICsqICAgU2luZ2xlIFByb2R1Y2VyL1NpbmdsZSBDb25z dW1lciAoU1AvU0MpDQo+ID4gKw0KPiA+ICsqICAgTXVsdGktcHJvZHVjZXIvTXVsdGktY29uc3Vt ZXIgd2l0aCBIZWFkL1RhaWwgU3luYyAoSFRTKQ0KPiA+ICsNCj4gPiArSXQgaXMgYSB1c2VyIHJl c3BvbnNpYmlsaXR5IHRvIGNyZWF0ZS9pbml0IHJpbmcgd2l0aCBhcHByb3ByaWF0ZSBzeW5jIG1v ZGVzDQo+ID4gK3NlbGVjdGVkLiBBcyBhbiBleGFtcGxlIG9mIHVzYWdlOg0KPiA+ICsNCj4gPiAr Li4gY29kZS1ibG9jazo6IGMNCj4gPiArDQo+ID4gKyAgICAvKiByZWFkIDEgZWxlbSBmcm9tIHRo ZSByaW5nOiAqLw0KPiA+ICsgICAgdWludDMyX3QgbiA9IHJ0ZV9yaW5nX2RlcXVldWVfYnVsa19z dGFydChyaW5nLCAmb2JqLCAxLCBOVUxMKTsNCj4gPiArICAgIGlmIChuICE9IDApIHsNCj4gPiAr ICAgICAgICAvKiBleGFtaW5lIG9iamVjdCAqLw0KPiA+ICsgICAgICAgIGlmIChvYmplY3RfZXhh bWluZShvYmopID09IEtFRVApDQo+ID4gKyAgICAgICAgICAgIC8qIGRlY2lkZWQgdG8ga2VlcCBp dCBpbiB0aGUgcmluZy4gKi8NCj4gPiArICAgICAgICAgICAgcnRlX3JpbmdfZGVxdWV1ZV9maW5p c2gocmluZywgMCk7DQo+ID4gKyAgICAgICAgZWxzZQ0KPiA+ICsgICAgICAgICAgICAvKiBkZWNp ZGVkIHRvIHJlbW92ZSBpdCBmcm9tIHRoZSByaW5nLiAqLw0KPiA+ICsgICAgICAgICAgICBydGVf cmluZ19kZXF1ZXVlX2ZpbmlzaChyaW5nLCBuKTsNCj4gPiArICAgIH0NCj4gPiArDQo+ID4gK05v dGUgdGhhdCBiZXR3ZWVuIGBgX3N0YXJ0X2BgIGFuZCBgYF9maW5pc2hfYGAgbm9uZSBvdGhlciB0 aHJlYWQgY2FuIHByb2NlZWQNCj4gPiArd2l0aCBlbnF1ZXVlKC9kZXF1ZXVlKSBvcGVyYXRpb24g dGlsbCBgYF9maW5pc2hfYGAgY29tcGxldGVzLg0KPiA+ICsNCj4gDQo+IA0KPiANCj4gLS0NCj4g RGF2aWQgTWFyY2hhbmQNCg0K