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 93A24A0524; Fri, 31 Jan 2020 11:26:52 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6DAE41C0C3; Fri, 31 Jan 2020 11:26:51 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id DE4112BC7 for ; Fri, 31 Jan 2020 11:26:48 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Jan 2020 02:26:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,385,1574150400"; d="scan'208";a="253296458" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by fmsmga004.fm.intel.com with ESMTP; 31 Jan 2020 02:26:47 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX105.amr.corp.intel.com (10.22.225.132) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 31 Jan 2020 02:26:47 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 31 Jan 2020 02:26:46 -0800 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 31 Jan 2020 02:26:46 -0800 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.51) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 31 Jan 2020 02:26:46 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cj/6WJt7R5ZTWmvGlrkZEuolsBoEM8ezu5exiTNJ7fmBZnPLoBqgzhvPgOWJbZoxLwfoxzRBtqkhtvGG2AamkjatbWisPIadF58UmJAj7rwHKRy8y+Marp5cVb5MqukWhAKO7QrJhbfWal14mldyuqoyrn6lSco72bxK534wPFrZCOl2NH649iRT+vfual9cDDBcU9Xji2jTD+Rb0Vq50ORAtjYhuYwlsPahipdYCZu7S5omyVJpjTdv7jv0BDssoIzigHFQECNFVe0uc9fuW4vn3SGOzkXPqzTp4vo9QgFKD3SE2ArrVYBbGvkC2INeAl15xfgdkDz6cRnQQmrh2A== 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=wZrbuV2Kau/R+dYA4LA0K5+2gZ3Sshen3nmiXzO2WK0=; b=MvRLvmYE11cgfD4x74xIbtRFvDqNhEFqN++NlVHXhqoZs1LGYPsj9mcFFbF8l/MurCLkhbBGIfRJZ7ztIM3lAZzcqA0Sw7/w0PBPEE3lkR1VNySs/f5Aca5XXLqZG455YALVZp9Q5GJh1oIs5ap/k2uOUz6E6RvwRv09XFUDOv2x8vTDYH0JNrFIcfljIbWZFjJfGvWRm859WnlFMQrTuSBj7IVCeLqwbpBLfZTdWI+fp+hbrnaZIz2SfOWd2z431SRp9zU3R4+FyUoR8O35UVa/5knPD7JRtv19fm3o8F+jk+mpRFpReaWwlkBuGIxg4su8hTF7rx7UQmGXymU2RQ== 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=wZrbuV2Kau/R+dYA4LA0K5+2gZ3Sshen3nmiXzO2WK0=; b=qQYSDOTZJVHRgU15O3D60LdMUyDED+FfKBUTg6HFLvciChLqlYmUMYfeiGdl3vl/QAaTBbtLB8sXPi9RgqslxaD0Ta5tmE83NVBplf3zN0cHTz0zNAce9HPHBmXQ6dnxVX6g9RIFyR5vMrszVyUNw4vhggBL16xIOSNKKOtsHYs= Received: from SN6PR11MB2558.namprd11.prod.outlook.com (52.135.94.19) by SN6PR11MB3357.namprd11.prod.outlook.com (52.135.110.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2665.22; Fri, 31 Jan 2020 10:26:44 +0000 Received: from SN6PR11MB2558.namprd11.prod.outlook.com ([fe80::4d86:362a:13c3:8386]) by SN6PR11MB2558.namprd11.prod.outlook.com ([fe80::4d86:362a:13c3:8386%7]) with mapi id 15.20.2665.027; Fri, 31 Jan 2020 10:26:44 +0000 From: "Ananyev, Konstantin" To: "Yigit, Ferruh" , Thomas Monjalon , Akhil Goyal , David Marchand , Anoob Joseph , "Trahe, Fiona" , "Kusztal, ArkadiuszX" CC: "dev@dpdk.org" , "Richardson, Bruce" , "nhorman@tuxdriver.com" , "Mcnamara, John" , "dodji@seketeli.net" , Andrew Rybchenko Thread-Topic: [dpdk-dev] [PATCH v2 4/4] add ABI checks Thread-Index: AQHV1smFFsBCT8/Ts0WE6L1M7kr0nKgB6XuAgAAHoQCAAB+HAIAAAt+AgAFOQgCAAEVxAIAA1emAgAAVl5A= Date: Fri, 31 Jan 2020 10:26:43 +0000 Message-ID: References: <20191220152058.10739-1-david.marchand@redhat.com> <1ef7ca98-cff6-4c5d-5a71-ddbdf893ee73@intel.com> <6121442.K2JlShyGXD@xps> <21107407-3ad7-89a5-4f1a-bdc548aacdd6@intel.com> In-Reply-To: <21107407-3ad7-89a5-4f1a-bdc548aacdd6@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYzYzOWY4YzEtODgzNS00MTdlLTliMDktMmJiZGM3MDI0MDUwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoia3RXRHVmWnlNNjArcVRsYnY5aDhnUjdoTmdEZFNPRVc3bGJ5dmI1cEJmcU52OWcrWTdHTzdybnNiZDBhbXo5aCJ9 dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 x-ctpclassification: CTP_NT authentication-results: spf=none (sender IP is ) smtp.mailfrom=konstantin.ananyev@intel.com; x-originating-ip: [192.198.151.187] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5faf5153-2398-49df-40a6-08d7a63811aa x-ms-traffictypediagnostic: SN6PR11MB3357: 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:10000; x-forefront-prvs: 029976C540 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(376002)(39860400002)(366004)(396003)(346002)(189003)(199004)(6636002)(54906003)(110136005)(8676002)(8936002)(316002)(81156014)(66556008)(81166006)(66946007)(64756008)(66446008)(66476007)(76116006)(86362001)(71200400001)(7696005)(478600001)(186003)(52536014)(53546011)(4326008)(5660300002)(33656002)(6506007)(9686003)(55016002)(26005)(2906002)(921003)(1121003); DIR:OUT; SFP:1102; SCL:1; SRVR:SN6PR11MB3357; H:SN6PR11MB2558.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qA0ZQRg7/KpIrdtKQratdf4RJUP4KUU1MNiLC3EYMjSRxa19cD76BCkIIHE/G18i22rJmDtnplfsfRtvdKeNwZKDlhwlF2I/684SO0dDn8CMKJuxFS39iBqTktB7bPr5BtCyMQFug1coUGy6WUqyAsB1YHVeuyO9zTI0BkbuYc7V0t/QrDhShRamyxUf4Xb1wXDEfl5si+twhTKaDlZaBrMm3ORyqaVoJz2uGdzz/owqk5XDpoL7kFdhy0ZVozm5tWqfFJH5AnjHGLEtdnCI5ERvBd+nlfZj+j51/u9mk5haGOYslHFwH98uKgty9ZKwuOkAutAXyVOj3d7EsfYPZf/Ei07TFKvrIgSTP8TxhLIPLTFi4WWhraRBs2dYikd/YFHoK5ptsvCwmDn7W6pOTQDhANRFQYV2gYYuNbHvElxR5KjrqJoAlOe2WBr/Ri3Jizw1Cpl3gvBrB3vatN1oXrRDdzrfwymOJ81jL0AIQaDWpMILSVYVQnHPyXML7gyD x-ms-exchange-antispam-messagedata: AqcUTpX3sb11+UGDQgH/BCMw4xgF4wzb4Ckeu2SQ1plEV/mwCqitUGTS1hWAcEYzFNurT7s+HloL+hcPqXHtu+dSJN21BSxnU1A3iBtOkm4Ab0JCHBmV4aHmfhuOy72fNzxE3jBRvad52HbMeUzvKA== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 5faf5153-2398-49df-40a6-08d7a63811aa X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2020 10:26:43.9984 (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: SoUMn2Akyu+36kmnFlU8xPnliCKI7wuGxBkC+t12R1LlwVGOya9DO/24lKPkI3IVBIeb64Cs32WHc46X3DGT28z44ApZAr9XTZyONxMe09I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3357 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 4/4] add ABI checks 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" DQoNCj4gDQo+IE9uIDEvMzAvMjAyMCA4OjE4IFBNLCBUaG9tYXMgTW9uamFsb24gd3JvdGU6DQo+ ID4gMzAvMDEvMjAyMCAxNzowOSwgRmVycnVoIFlpZ2l0Og0KPiA+PiBPbiAxLzI5LzIwMjAgODox MyBQTSwgQWtoaWwgR295YWwgd3JvdGU6DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+Pg0KPiA+Pj4+IE9u IFdlZCwgSmFuIDI5LCAyMDIwIGF0IDc6MTAgUE0gQW5vb2IgSm9zZXBoIDxhbm9vYmpAbWFydmVs bC5jb20+IHdyb3RlOg0KPiA+Pj4+PiBUaGUgYXN5bW1ldHJpYyBjcnlwdG8gbGlicmFyeSBpcyBl eHBlcmltZW50YWwuIENoYW5nZXMgdG8gZXhwZXJpbWVudGFsIGNvZGUNCj4gPj4+PiBwYXRocyBp cyBhbGxvd2VkLCByaWdodD8NCj4gPj4+Pg0KPiA+Pj4+IFRoZSBhc3ltbWV0cmljIGNyeXB0byBl bnVtIGlzIHJlZmVyZW5jZWQgYnkgYSBmdW5jdGlvbiBwYXJ0IG9mIHRoZSBzdGFibGUgQUJJLg0K PiA+Pj4+IEl0IGlzIHBvc3NpYmxlIHRvIHdhaXZlIHRoaXMgZW51bSwgaWYgd2UgYXJlIHN1cmUg bm8gdXNlIG91dCBvZiB0aGUNCj4gPj4+PiBleHBlcmltZW50YWwgYXN5bSBjcnlwdG8gQVBJcyBp cyBwb3NzaWJsZS4NCj4gPj4+Pg0KPiA+Pj4+IFRoZSByZXN0IG9mIHRoZSBjaGFuZ2VzIHRvdWNo IHN0YWJsZSBzeW1ib2xzLg0KPiA+Pj4+DQo+ID4+Pj4gQWRkaW5nIHRoZSBhYmlkaWZmIHJlcG9y dDoNCj4gPj4+Pg0KPiA+Pj4+ICAgW0NdJ2Z1bmN0aW9uIHZvaWQgcnRlX2NyeXB0b2Rldl9pbmZv X2dldCh1aW50OF90LA0KPiA+Pj4+IHJ0ZV9jcnlwdG9kZXZfaW5mbyopJyBhdCBydGVfY3J5cHRv ZGV2LmM6MTExNToxIGhhcyBzb21lIGluZGlyZWN0DQo+ID4+Pj4gc3ViLXR5cGUgY2hhbmdlczoN Cj4gPj4+PiAgICAgcGFyYW1ldGVyIDIgb2YgdHlwZSAncnRlX2NyeXB0b2Rldl9pbmZvKicgaGFz IHN1Yi10eXBlIGNoYW5nZXM6DQo+ID4+Pj4gICAgICAgaW4gcG9pbnRlZCB0byB0eXBlICdzdHJ1 Y3QgcnRlX2NyeXB0b2Rldl9pbmZvJyBhdCBydGVfY3J5cHRvZGV2Lmg6NDY4OjE6DQo+ID4+Pj4g ICAgICAgICB0eXBlIHNpemUgaGFzbid0IGNoYW5nZWQNCj4gPj4+PiAgICAgICAgIDEgZGF0YSBt ZW1iZXIgY2hhbmdlOg0KPiA+Pj4+ICAgICAgICAgIHR5cGUgb2YgJ2NvbnN0IHJ0ZV9jcnlwdG9k ZXZfY2FwYWJpbGl0aWVzKg0KPiA+Pj4+IHJ0ZV9jcnlwdG9kZXZfaW5mbzo6Y2FwYWJpbGl0aWVz JyBjaGFuZ2VkOg0KPiA+Pj4+ICAgICAgICAgICAgaW4gcG9pbnRlZCB0byB0eXBlICdjb25zdCBy dGVfY3J5cHRvZGV2X2NhcGFiaWxpdGllcyc6DQo+ID4+Pj4gICAgICAgICAgICAgIGluIHVucXVh bGlmaWVkIHVuZGVybHlpbmcgdHlwZSAnc3RydWN0DQo+ID4+Pj4gcnRlX2NyeXB0b2Rldl9jYXBh YmlsaXRpZXMnIGF0IHJ0ZV9jcnlwdG9kZXYuaDoxNzY6MToNCj4gPj4+PiAgICAgICAgICAgICAg ICB0eXBlIHNpemUgaGFzbid0IGNoYW5nZWQNCj4gPj4+PiAgICAgICAgICAgICAgICAxIGRhdGEg bWVtYmVyIGNoYW5nZToNCj4gPj4+PiAgICAgICAgICAgICAgICAgdHlwZSBvZiAnX19hbm9ueW1v dXNfdW5pb25fXyAnIGNoYW5nZWQ6DQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgdHlwZSBzaXpl IGhhc24ndCBjaGFuZ2VkDQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgMSBkYXRhIG1lbWJlciBj aGFuZ2U6DQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgIHR5cGUgb2YgJ3J0ZV9jcnlwdG9kZXZf YXN5bW1ldHJpY19jYXBhYmlsaXR5DQo+ID4+Pj4gX19hbm9ueW1vdXNfdW5pb25fXzo6YXN5bScg Y2hhbmdlZDoNCj4gPj4+PiAgICAgICAgICAgICAgICAgICAgICB0eXBlIHNpemUgaGFzbid0IGNo YW5nZWQNCj4gPj4+PiAgICAgICAgICAgICAgICAgICAgICAxIGRhdGEgbWVtYmVyIGNoYW5nZToN Cj4gPj4+PiAgICAgICAgICAgICAgICAgICAgICAgdHlwZSBvZg0KPiA+Pj4+ICdydGVfY3J5cHRv ZGV2X2FzeW1tZXRyaWNfeGZvcm1fY2FwYWJpbGl0eQ0KPiA+Pj4+IHJ0ZV9jcnlwdG9kZXZfYXN5 bW1ldHJpY19jYXBhYmlsaXR5Ojp4Zm9ybV9jYXBhJyBjaGFuZ2VkOg0KPiA+Pj4+ICAgICAgICAg ICAgICAgICAgICAgICAgIHR5cGUgc2l6ZSBoYXNuJ3QgY2hhbmdlZA0KPiA+Pj4+ICAgICAgICAg ICAgICAgICAgICAgICAgIDEgZGF0YSBtZW1iZXIgY2hhbmdlOg0KPiA+Pj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICB0eXBlIG9mICdydGVfY3J5cHRvX2FzeW1feGZvcm1fdHlwZQ0KPiA+Pj4+ IHJ0ZV9jcnlwdG9kZXZfYXN5bW1ldHJpY194Zm9ybV9jYXBhYmlsaXR5Ojp4Zm9ybV90eXBlJyBj aGFuZ2VkOg0KPiA+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgc2l6ZSBoYXNu J3QgY2hhbmdlZA0KPiA+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgZW51bWVyYXRv ciBpbnNlcnRpb25zOg0KPiA+Pj4+DQo+ID4+Pj4gJ3J0ZV9jcnlwdG9fYXN5bV94Zm9ybV90eXBl OjpSVEVfQ1JZUFRPX0FTWU1fWEZPUk1fRUNEU0EnIHZhbHVlICc3Jw0KPiA+Pj4+DQo+ID4+Pj4g J3J0ZV9jcnlwdG9fYXN5bV94Zm9ybV90eXBlOjpSVEVfQ1JZUFRPX0FTWU1fWEZPUk1fRUNQTScg dmFsdWUgJzgnDQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMSBlbnVtZXJhdG9y IGNoYW5nZToNCj4gPj4+Pg0KPiA+Pj4+ICdydGVfY3J5cHRvX2FzeW1feGZvcm1fdHlwZTo6UlRF X0NSWVBUT19BU1lNX1hGT1JNX1RZUEVfTElTVF9FTkQnDQo+ID4+Pj4gZnJvbQ0KPiA+Pj4+IHZh bHVlICc3JyB0byAnOScgYXQgcnRlX2NyeXB0b19hc3ltLmg6NjA6MQ0KPiA+Pj4+DQo+ID4+Pg0K PiA+Pj4gSSBiZWxpZXZlIHRoZXNlIGVudW1zIHdpbGwgYmUgdXNlZCBvbmx5IGluIGNhc2Ugb2Yg QVNZTSBjYXNlIHdoaWNoIGlzIGV4cGVyaW1lbnRhbC4NCj4gPj4NCj4gPj4gSW5kZXBlbmRlbnQg ZnJvbSBiZWluZyBleHBlcmltZW50IGFuZCBub3QsIHRoaXMgc2hvdWxkbid0IGJlIGEgcHJvYmxl bSwgSSB0aGluaw0KPiA+PiB0aGlzIGlzIGEgZmFsc2UgcG9zaXRpdmUuDQo+ID4+DQo+ID4+IFRo ZSBBQkkgYnJlYWsgY2FuIGhhcHBlbiB3aGVuIGEgc3RydWN0IGhhcyBiZWVuIHNoYXJlZCBiZXR3 ZWVuIHRoZSBhcHBsaWNhdGlvbg0KPiA+PiBhbmQgdGhlIGxpYnJhcnkgKERQREspIGFuZCB0aGUg bGF5b3V0IG9mIHRoYXQgbWVtb3J5IGtub3cgZGlmZmVyZW50bHkgYnkNCj4gPj4gYXBwbGljYXRp b24gYW5kIHRoZSBsaWJyYXJ5Lg0KPiA+Pg0KPiA+PiBIZXJlIGluIGFsbCBjYXNlcywgdGhlcmUg aXMgbm8gbGF5b3V0L3NpemUgY2hhbmdlLg0KPiA+Pg0KPiA+PiBBcyB0byB0aGUgdmFsdWUgY2hh bmdlcyBvZiB0aGUgZW51bXMsIHNpbmNlIGFwcGxpY2F0aW9uIGNvbXBpbGVkIHdpdGggb2xkIERQ REssDQo+ID4+IGl0IHdpbGwga25vdyBvbmx5IHVwIHRvICc2JywgNyBhbmQgbW9yZSBtZWFucyBp bnZhbGlkIHRvIHRoZSBhcHBsaWNhdGlvbi4gU28gaXQNCj4gPj4gd29uJ3Qgc2VuZCB0aGVzZSB2 YWx1ZXMgYWxzbyBpdCBzaG91bGQgaWdub3JlIHRoZXNlIHZhbHVlcyBmcm9tIGxpYnJhcnkuIE9u bHkNCj4gPj4gY29uc2VxdWVuY2UgaXMgb2xkIGFwcGxpY2F0aW9uIHdvbid0IGFibGUgdG8gdXNl IG5ldyBmZWF0dXJlcyB0aG9zZSBuZXcgZW51bXMNCj4gPj4gcHJvdmlkZSBidXQgdGhhdCBpcyBl eHBlY3RlZC9ub3JtYWwuDQo+ID4NCj4gPiBJZiBsaWJyYXJ5IGdpdmUgaGlnaGVyIHZhbHVlIHRo YW4gZXhwZWN0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLA0KPiA+IGlmIHRoZSBhcHBsaWNhdGlvbiB1 c2VzIHRoaXMgdmFsdWUgYXMgYXJyYXkgaW5kZXgsDQo+ID4gdGhlcmUgY2FuIGJlIGFuIGFjY2Vz cyBvdXQgb2YgYm91bmRzLg0KPiANCj4gRmlyc3QgdGhpcyBjb25jZXJuIGlzIG5vdCBhbiBBQkkg YnJlYWsgY29uY2VybiwgYnV0IGFwcGxpY2F0aW9uIHNob3VsZCBpZ25vcmUNCj4gYW55IHZhbHVl IGJpZ2dlciB0aGFuIHRoZSBNQVggdmFsdWUgaXQga25vd3MuDQo+IE90aGVyd2lzZSB0aGlzIHdv dWxkIG1lYW4gd2UgY2FuJ3QgYWRkIGFueSBuZXcgZW51bSBvciBkZWZpbmUgdG8gdGhlIHByb2pl Y3QsDQo+IHdoaWNoIGlzIHdyb25nIEkgYmVsaWV2ZS4NCj4gDQo+ID4NCj4gPg0KPiA+Pj4+ICAg W0NdJ2Z1bmN0aW9uIGludA0KPiA+Pj4+IHJ0ZV9jcnlwdG9kZXZfZ2V0X2FlYWRfYWxnb19lbnVt KHJ0ZV9jcnlwdG9fYWVhZF9hbGdvcml0aG0qLCBjb25zdA0KPiA+Pj4+IGNoYXIqKScgYXQgcnRl X2NyeXB0b2Rldi5jOjIzOToxIGhhcyBzb21lIGluZGlyZWN0IHN1Yi10eXBlIGNoYW5nZXM6DQo+ ID4+Pj4gICAgIHBhcmFtZXRlciAxIG9mIHR5cGUgJ3J0ZV9jcnlwdG9fYWVhZF9hbGdvcml0aG0q JyBoYXMgc3ViLXR5cGUgY2hhbmdlczoNCj4gPj4+PiAgICAgICBpbiBwb2ludGVkIHRvIHR5cGUg J2VudW0gcnRlX2NyeXB0b19hZWFkX2FsZ29yaXRobScgYXQNCj4gPj4+PiBydGVfY3J5cHRvX3N5 bS5oOjM0NjoxOg0KPiA+Pj4+ICAgICAgICAgdHlwZSBzaXplIGhhc24ndCBjaGFuZ2VkDQo+ID4+ Pj4gICAgICAgICAxIGVudW1lcmF0b3IgaW5zZXJ0aW9uOg0KPiA+Pj4+ICAgICAgICAgICAncnRl X2NyeXB0b19hZWFkX2FsZ29yaXRobTo6UlRFX0NSWVBUT19BRUFEX0NIQUNIQTIwX1BPTFkxMzA1 Jw0KPiA+Pj4+IHZhbHVlICczJw0KPiA+Pj4+ICAgICAgICAgMSBlbnVtZXJhdG9yIGNoYW5nZToN Cj4gPj4+PiAgICAgICAgICAgJ3J0ZV9jcnlwdG9fYWVhZF9hbGdvcml0aG06OlJURV9DUllQVE9f QUVBRF9MSVNUX0VORCcgZnJvbQ0KPiA+Pj4+IHZhbHVlICczJyB0byAnNCcgYXQgcnRlX2NyeXB0 b19zeW0uaDozNDY6MQ0KPiA+Pg0KPiA+PiBTYW1lIGFzIGFib3ZlLCBubyBsYXlvdXQgY2hhbmdl Lg0KPiA+Pg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+PiAgIFtDXSdjb25zdCBjaGFyKiBydGVfY3J5 cHRvX2FlYWRfYWxnb3JpdGhtX3N0cmluZ3NbMV0nIHdhcyBjaGFuZ2VkIGF0DQo+ID4+Pj4gcnRl X2NyeXB0b19zeW0uaDozNTg6MToNCj4gPj4+PiAgICAgc2l6ZSBvZiBzeW1ib2wgKGluIGJ5dGVz KSBjaGFuZ2VkIGZyb20gMjQgdG8gMzINCj4gPj4+Pg0KPiA+Pg0KPiA+PiBUaGUgc2hhcmVkIG1l bW9yeSBzaXplIGNoYW5nZXMsIGJ1dCB0aGlzIGlzIGdsb2JhbCB2YXJpYWJsZSBpbiB0aGUgbGli cmFyeSwgYW5kDQo+ID4+IHRoZSB2YWx1ZXMgYXBwbGljYXRpb24gY2FuIHJlcXVlc3QgJ1JURV9D UllQVE9fQUVBRF9BRVNfQ0NNJyAmDQo+ID4+ICdSVEVfQ1JZUFRPX0FFQURfQUVTX0dDTScgaXMg YWxyZWFkeSB0aGVyZSwgc28gdGhlcmUgaXMgbm8gYmFja3dhcmQNCj4gPj4gY29tcGF0aWJpbGl0 eSBpc3N1ZSBoZXJlLg0KPiA+DQo+ID4gRm9yIHRoaXMgb25lLCBJIGRvbid0IGtub3cgd2hhdCBp cyB0aGUgYnJlYWthZ2UuDQoNClJlYWRpbmcgdGhyb3VnaCB0aGlzIHJlcG9ydCwgSSBhbSBhbHNv IGRvbid0IHNlZSB3aHkgaXQgaXMgY29uc2lkZXJlZCBhcyBBQkkgYnJlYWthZ2UuDQpZZXMsIHNp emUgb2YgcnRlX2NyeXB0b19hZWFkX2FsZ29yaXRobV9zdHJpbmdzW10gaGFzIGNoYW5nZWQsIGJ1 dCB0aGlzIGFycmF5IGlzIG5vdCBwdWJsaWMgb25lLg0KQWxzbyBJIGRvbid0IHNlZSBhbnkgcGxh Y2Ugd2hlcmUgd2UgdXNlIFJURV9DUllQVE9fQUVBRF9MSVNUX0VORCB0byBkZWZpbmUgYXJyYXkg c2l6ZQ0KaW4gb3VyIHB1YmxpYyBBUEkuDQpBdCBmaXJzdCBnbGFuY2UgaXQgbG9va3MgbGlrZSBm YWxzZSBwb3NpdGl2ZSB0byBtZS4NCkRvIEkgbWlzcyBzb21ldGhpbmcgb2J2aW91cyBoZXJlPw0K S29uc3RhbnRpbg0KDQo+ID4NCj4gPg0KPiA+Pj4gK0Zpb25hIGFuZCBBcmVrDQo+ID4+Pg0KPiA+ Pj4gV2UgbWF5IG5lZWQgdG8gcmV2ZXJ0IHRoZSBjaGFjaGEtcG9seSBwYXRjaGVzLg0KPiA+Pj4N Cj4gPj4NCj4gPj4gSSBkb24ndCBzZWUgYW55IEFCSSBicmVhayBpbiB0aGlzIGNhc2UsIGNhbiBz b21lb25lIGV4cGxhaW4gaWYgSSBhbSBtaXNzaW5nDQo+ID4+IGFueXRoaW5nIGhlcmU/DQo+ID4N Cj4gPg0KPiA+DQo+ID4NCj4gPg0KDQo=