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 B2914A055E; Wed, 26 Feb 2020 09:36:56 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 95C701BFAB; Wed, 26 Feb 2020 09:36:55 +0100 (CET) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50072.outbound.protection.outlook.com [40.107.5.72]) by dpdk.org (Postfix) with ESMTP id 5F8691F1C for ; Wed, 26 Feb 2020 09:36:54 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R4DpgzXdA7T+GAuZorcGcnlW5dux3qLBcgZKzNbkXvo9lk2UV1V4c8tvTACNWcXpe68mzlyFnkIGQdBuPCQF1cYw0lkRuBgVhlY7ERry1vLZ1AkPrHhwBhVt1pDHh/WLeWMmqFlVUDfgnK9gloB0HpyG2n75673404sMlAu24p04BLUrlChqhl6s2aLYOJ6nSA2PUV9mUuPrfKo2TyclGBQuP7MDadMj36xUdv0EpNrJic1gfhrbQbRrh5SoBalzplLpdzbmNXuiaR+q6pkkzBZ2z7C80L+bg34di6imLGOmMbgwMBzKQC3ErF030GnWbP2ztiR0UK5Uz4hAXbuYXw== 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=PGAagVXFft3/WGZ47Myozd/YUDZ+4n04IZ3PXF8l2pk=; b=a6dpy02KN3YAcw44bkYsQ2KaV2ThmGWJMiH0yhBVCGnGBBeTnnulVsnUZkltmp5PvDGObkxSPS5J/yJ7fbnJpiRP/5ytaAYuNFzEGA/thYNpmTmY8xOmerJTdgsiio8InTl1Q0DoEAdoK4z2Bv4Ebyq1MG+vibdzS9+iK0NCFwEaMMJHBGJ2c43YJ60idNNe0G157khle5LwM6daFrbBWB5rYWuZrFgaf/CO/CVshoTVO3+1sfrMqNsWi0YghwY1+7r7Q0cX5Rio2a+2VBRus622k7ZbluTElJPUAYuf+y7z1Px36f/17BaDWCID2SIPJGy8iBSfr7FCdbC+dS3kww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PGAagVXFft3/WGZ47Myozd/YUDZ+4n04IZ3PXF8l2pk=; b=EzkgG6ji0U8TioIdAi5sQFpoBzBxOUk9cRYs0NCr3bNULPsnd8tXdxFvTnj+QthCEYdklM+Xw2y1gyJD3sSZ/OpW0iGnSUPJYyPAPNXL8e3kSxH/G5zFfAH0yQO49reoCETDWAGBK29qjqpjumxBr0NO3ok0jQEkN1L6LzE85JU= Received: from AM6PR05MB5176.eurprd05.prod.outlook.com (20.177.196.158) by AM6PR05MB6470.eurprd05.prod.outlook.com (20.179.5.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.14; Wed, 26 Feb 2020 08:36:52 +0000 Received: from AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::1888:dbf5:a84e:c53b]) by AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::1888:dbf5:a84e:c53b%6]) with mapi id 15.20.2750.021; Wed, 26 Feb 2020 08:36:52 +0000 From: Ori Kam To: Wang Xiang CC: Jerin Jacob , Jerin Jacob , dpdk-dev , Pavan Nikhilesh , Shahaf Shuler , Hemant Agrawal , Opher Reviv , Alex Rosenbaum , "dovrat@marvell.com" , Prasun Kapoor , Nipun Gupta , "Richardson, Bruce" , "yang.a.hong@intel.com" , "harry.chang@intel.com" , "gu.jian1@zte.com.cn" , "shanjiangh@chinatelecom.cn" , "zhangy.yun@chinatelecom.cn" , "lixingfu@huachentel.com" , "wushuai@inspur.com" , "yuyingxia@yxlink.com" , "fanchenggang@sunyainfo.com" , "davidfgao@tencent.com" , "liuzhong1@chinaunicom.cn" , "zhaoyong11@huawei.com" , "oc@yunify.com" , "jim@netgate.com" , "hongjun.ni@intel.com" , "j.bromhead@titan-ic.com" , "deri@ntop.org" , "fc@napatech.com" , "arthur.su@lionic.com" , Thomas Monjalon Thread-Topic: [dpdk-dev] [PATCH v3] regexdev: introduce regexdev subsystem Thread-Index: AQHV1blwgq+qOSqUJECwZj1bGQPyTagnlXOAgADvWOCAAC4BgIAAD5mQgALS+wCAAB0OYIABqUsA///zMEA= Date: Wed, 26 Feb 2020 08:36:51 +0000 Message-ID: References: <20190627155036.56940-1-jerinj@marvell.com> <1580202029-37096-1-git-send-email-orika@mellanox.com> <20200226090318.GA85327@hs1> In-Reply-To: <20200226090318.GA85327@hs1> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=orika@mellanox.com; x-originating-ip: [185.175.35.255] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 9a76d37e-7b07-42a6-7472-08d7ba9707b8 x-ms-traffictypediagnostic: AM6PR05MB6470:|AM6PR05MB6470: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0325F6C77B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(346002)(39860400002)(366004)(376002)(189003)(199004)(81166006)(8676002)(81156014)(6506007)(8936002)(53546011)(33656002)(7406005)(7416002)(54906003)(7696005)(55016002)(9686003)(86362001)(6916009)(316002)(76116006)(64756008)(66476007)(66446008)(4326008)(66556008)(52536014)(2906002)(66946007)(5660300002)(26005)(186003)(478600001)(71200400001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB6470; H:AM6PR05MB5176.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Gn7zFjh2rVl8r6Fe5/NPu8E2Vq/3gLNkpw8SZKLZRAZ+Hjm+xgPij08nmeWnEPRjSGH/Fu2d7EfFsNnBev8QWSsYeQfwTzKQO4ylMQsr1nEdwvQWXUCHhuPjCL2kMLawIrir/oSywZLFR9OmANVZTeyAjs+JFdqkcLwBtZszpDChkdRG5EQIj0d9cWxAyPV9xLtlngSp9Zs6NZWMy9xGtKNzgP+mTJwAiCA84PIAFKcylc/XbYV1Z8/EYhX+HKFB12eZ03LXSFOhJrJmwL9Q0rjIpA4/ZxT6qwixltm+wJIWxgJKPur0WlhG9/5gUvy4UFwX2g2UqIgCf4ko3hB6HtRPJrgzz/SQUz22G9D7MWsOpXn72prtgd0z9Zqz3HdFkqyppQahiadC871l+AUWuZ/Z4LBsgJHAlyWSz9TzPizqDPq7/YtSDAq2d4JIK02o x-ms-exchange-antispam-messagedata: K0A2qBVW6EtDiX+gRqi0WprmR6vgNxM4gZFfR0s81hx4H4UCGkMl5RsdKBUJR/LWqXTChIjuTFiRIHrvrreSfmf+/ittYgo88AAm0QBsAznBKpZ5143jgwbC4WxURQ20Xi4RJpwlJyhZo92hmuo1yQ== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a76d37e-7b07-42a6-7472-08d7ba9707b8 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Feb 2020 08:36:51.3939 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vVQ+rZM5FqprRdLsZ5qDAyC3tyuXNU2CWl7H+IFaHfrqkWnrJ6GCZOCfK7Cc7nL3NHLH06Wq8Lb3iKS8yRi5iw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB6470 Subject: Re: [dpdk-dev] [PATCH v3] regexdev: introduce regexdev subsystem 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" SGkgWGlhbmcsDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXYg PGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgV2FuZyBYaWFuZw0KPiBTZW50OiBX ZWRuZXNkYXksIEZlYnJ1YXJ5IDI2LCAyMDIwIDExOjAzIEFNDQo+IFRvOiBPcmkgS2FtIDxvcmlr YUBtZWxsYW5veC5jb20+DQo+IENjOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29t PjsgSmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47DQo+IGRwZGstZGV2IDxkZXZAZHBk ay5vcmc+OyBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47DQo+IFNo YWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPjsgSGVtYW50IEFncmF3YWwNCj4gPGhl bWFudC5hZ3Jhd2FsQG54cC5jb20+OyBPcGhlciBSZXZpdiA8b3BoZXJAbWVsbGFub3guY29tPjsg QWxleA0KPiBSb3NlbmJhdW0gPGFsZXhyQG1lbGxhbm94LmNvbT47IGRvdnJhdEBtYXJ2ZWxsLmNv bTsgUHJhc3VuIEthcG9vcg0KPiA8cGthcG9vckBtYXJ2ZWxsLmNvbT47IE5pcHVuIEd1cHRhIDxu aXB1bi5ndXB0YUBueHAuY29tPjsgUmljaGFyZHNvbiwNCj4gQnJ1Y2UgPGJydWNlLnJpY2hhcmRz b25AaW50ZWwuY29tPjsgeWFuZy5hLmhvbmdAaW50ZWwuY29tOw0KPiBoYXJyeS5jaGFuZ0BpbnRl bC5jb207IGd1LmppYW4xQHp0ZS5jb20uY247IHNoYW5qaWFuZ2hAY2hpbmF0ZWxlY29tLmNuOw0K PiB6aGFuZ3kueXVuQGNoaW5hdGVsZWNvbS5jbjsgbGl4aW5nZnVAaHVhY2hlbnRlbC5jb207IHd1 c2h1YWlAaW5zcHVyLmNvbTsNCj4geXV5aW5neGlhQHl4bGluay5jb207IGZhbmNoZW5nZ2FuZ0Bz dW55YWluZm8uY29tOw0KPiBkYXZpZGZnYW9AdGVuY2VudC5jb207IGxpdXpob25nMUBjaGluYXVu aWNvbS5jbjsNCj4gemhhb3lvbmcxMUBodWF3ZWkuY29tOyBvY0B5dW5pZnkuY29tOyBqaW1AbmV0 Z2F0ZS5jb207DQo+IGhvbmdqdW4ubmlAaW50ZWwuY29tOyBqLmJyb21oZWFkQHRpdGFuLWljLmNv bTsgZGVyaUBudG9wLm9yZzsNCj4gZmNAbmFwYXRlY2guY29tOyBhcnRodXIuc3VAbGlvbmljLmNv bTsgVGhvbWFzIE1vbmphbG9uDQo+IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiBTdWJqZWN0OiBS ZTogW2RwZGstZGV2XSBbUEFUQ0ggdjNdIHJlZ2V4ZGV2OiBpbnRyb2R1Y2UgcmVnZXhkZXYgc3Vi c3lzdGVtDQo+IA0KPiBIaSBPcmkgYW5kIEplcmluLA0KPiANCj4gT25lIGNvbW1lbnQgcmVnYXJk aW5nIG15IGNvbmNlcm4gd2l0aCBsZW4gYW5kIGVuZF9vZmZzZXQgcHJvYmxlbS4NCj4gRnJvbSBv cGVuIHNvdXJjZSBTVyByZWdleCBsaWJyYXJ5KGxpYnBjcmUsIHJlMiBhbmQgSHlwZXJzY2FuKSBh bmQNCj4gSW50ZWwncyBwZXJzcGVjdGl2ZSwgdGhlIG1hdGNoaW5nIHJlc3VsdHMgcmV0dXJuZWQg YXJlIGFsd2F5cyBzdGFydA0KPiBvZmZzZXQgYW5kIGVuZCBvZmZzZXQuIE1vcmUgaW1wb3J0YW50 bHksIEh5cGVyc2NhbiBvbmx5IHJlcG9ydHMgZW5kIG9mZnNldA0KPiBtb3N0IG9mIHRoZSB0aW1l Lg0KPiANCj4gSXQnbGwgYmUgZ29vZCB0byBrZWVwIHRoaXMgdW5pb24gYXMgYW4gYWJzdHJhY3Rp b24gYW5kIGVuZm9yY2UgdGhlIGRlZmF1bHQNCj4gYmVoYXZpb3IgZm9yIGVhY2ggc29sdXRpb24s IGkuZS4gSFcgc29sdXRpb25zIGRvZXNuJ3Qgc3VwcG9ydCBNQVRDSF9BU19TVEFSVA0KPiBmbGFn IGF0IHJ1bGUgY29tcGlsZSB0aW1lLiBBcHBsaWNhdGlvbnMgd2lsbCBrbm93IHRoZSBtZWFuaW5n IG9mIHZhcmlhYmxlIGF0DQo+IHJ1bGUgY29tcGlsZSB0aW1lIHdpdGggdGhlIGZsYWcgc28gdGhl eSBkb24ndCBoYXZlIHRvIGRvIGV4dHJhIGNoZWNrIGF0IGZhc3QgcGF0aA0KPiBydW4tdGltZSBt YXRjaGluZy4NCj4gV2VsY29tZSBmb3IgYmV0dGVyIGFic3RyYWN0aW9uIGlkZWFzLg0KPiANCg0K SSBkb24ndCBtaW5kIHRvIGtlZXAgdGhlIHVuaW9uIGFzIGl0IHdhcyBpbiBWMywgYnV0IEkgd291 bGQgbGlrZSB0byByZW1vdmUgdGhlDQpjb25maWd1cmF0aW9uIGJpdCAoUlRFX1JFR0VYX0RFVl9D RkdfTUFUQ0hfQVNfU1RBUlQpLiANCk1lYW5pbmcgdGhhdCBpZiB0aGUgZGV2aWNlIHJlcG9ydHMg UlRFX1JFR0VYX0RFVl9TVVBQX01BVENIX0FTX1NUQVJUDQp0aGUgcmVzdWx0IHdpbGwgYWx3YXlz IGJlIHdpdGggc3RhcnRfb2Zmc2V0IGFuZCBsZW4uDQoNCkJlc3QsDQpPcmkNCg0KPiBUaGFua3Ms DQo+IFhpYW5nDQo+IA0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU3Rh cnRpbmcgQnl0ZSBQb3NpdGlvbiBmb3IgbWF0Y2hlZCBydWxlLiAqLw0KPiA+ID4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgIFJURV9TVERfQzExDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgdW5pb24gew0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDE2X3QgbGVuOw0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyoqPCBMZW5ndGggb2YgbWF0Y2ggaW4gYnl0ZXMgKi8NCj4gPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IGVuZF9vZmZzZXQ7DQo+ID4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRoZSBlbmQgb2Zmc2V0IG9mIHRoZSBt YXRjaC4gSW4gY2FzZQ0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICogTUFUQ0hfQVNfU1RBUlQgY29uZmlndXJhdGlvbiBpcyBkaXNhYmxlZC4NCj4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEBzZWUgUlRFX1JFR0VYX0RFVl9DRkdf TUFUQ0hfQVNfU1RBUlQNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqLw0KPiA+ID4gPg0KPiA+ID4gPiBXZSBoYXZlIG5vdCBjb25jbHVkZWQgb24gdGhpcyBzY2hl bWUuIEhhdmUgb25lIGZpZWxkIHdoaWNoIGhhcw0KPiA+ID4gPiBkaWZmZXJlbnQgbWVhbmluZyB3 aWxsIGJlIGRpZmZpY3VsdA0KPiA+ID4gPiBmb3IgYXBwbGljYXRpb24uIGkuZSBmYXN0IHBhdGgg d2UgbmVlZCB0byBoYXZlIGEgY2hlY2sgZm9yIHRoaXMuDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4g VGhpcyBpcyB0aGUgdGltZSB0byBjb25jbHVkZSAuIGF0IGxlYXN0IGZvciB0aGUgZmlyc3QgdmVy c2lvbi4NCj4gPiA+IFdoeSBkbyB3ZSBoYXZlIG9uZSBmaWVsZCB3aXRoIGRpZmZlcmVudCBtZWFu aW5nPw0KPiA+ID4gVGhlIHJlc3VsdCBjYW4gYmUgZXRoZXIgbGVuIG9yIGVuZF9vZmZzZXQuDQo+ ID4gPg0KPiA+ID4gPiBJIHRoaW5rLCBCYXNlZCBvbiB0aGUgbWFqb3JpdHkgb2YgSFcvU1cgaW1w bGVtZW50YXRpb24sIHdlIG5lZWQgdG8NCj4gPiA+ID4gZWl0aGVyIGdvIHdpdGggbGVuIG9yDQo+ ID4gPiA+IGVuZF9vZmZzZXQuIFdoYXQgTWVsbGFub3ggSFcgcmV0dXJucz8gbGVuIG9yIGVuZF9v ZmZzZXQ/DQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gRnJvbSBNZWxsYW5veCBwZXJzcGVjdGl2ZSB3 ZSBwcmVmZXIgdGhlIGxlbiBhcHByb2FjaC4gV2UgYWxzbyB0aGluaw0KPiA+ID4gaXQgaXMgbXVj aCBtb3JlIHVzZXIgb3JpZW50ZWQuDQo+ID4gPg0KPiA+ID4gPiBvciBXZSBjYW4ga2VlcCBpdCBh cyBsZW4gb3IgZW5kX29mZnNldCBiYXNlZCBvbiB3aGljaCBkcml2ZXJzIHVwc3RyZWFtDQo+ID4g Zmlyc3QsDQo+ID4gPiA+IG90aGVyIGRyaXZlcnMgd2hlbiBpdCBjb21lcywgd2UgY2FuIHNlZSBo b3cgdG8gYWJzdHJhY3QgaXQ/DQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gSSBjYW4gZXhjZXB0IHRo YXQgYXNzdW1pbmcgd2UgY2hvb3NlIHRoZSBzdGFydCBhbmQgbGVuIGFwcHJvYWNoDQo+ID4NCj4g PiBJIHRoaW5rLCB3ZSBjYW4gaGF2ZSBmaXJzdCB2ZXJzaW9uIHdpdGggInN0YXJ0IGFuZCBsZW4i IGJ5IHJlbW92aW5nDQo+ID4gUlRFX1JFR0VYX0RFVl9DRkdfTUFUQ0hfQVNfU1RBUlQuDQo+ID4g V2hlbiBjYW4gdGhpbmssIGhvdyB0byBhYnN0cmFjdCBuZXcgZHJpdmVycyB3aGVuIGl0IHVwc3Ry ZWFtIGJhc2VkIG9uDQo+ID4gdGhlIG92ZXJoZWFkLg0KPiA+DQo+IA0KPiANCj4gT24gVHVlLCBG ZWIgMjUsIDIwMjAgYXQgMDc6NDg6NTRBTSArMDAwMCwgT3JpIEthbSB3cm90ZToNCj4gPg0KPiA+ DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSmVyaW4gSmFj b2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+IFNlbnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5 IDI1LCAyMDIwIDc6NTcgQU0NCj4gPiA+IFRvOiBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+ DQo+ID4gPiBDYzogSmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47IHhpYW5nLncud2Fu Z0BpbnRlbC5jb207IGRwZGstZGV2DQo+ID4gPiA8ZGV2QGRwZGsub3JnPjsgUGF2YW4gTmlraGls ZXNoIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+OyBTaGFoYWYNCj4gPiA+IFNodWxlciA8c2hh aGFmc0BtZWxsYW5veC5jb20+OyBIZW1hbnQgQWdyYXdhbA0KPiA+ID4gPGhlbWFudC5hZ3Jhd2Fs QG54cC5jb20+OyBPcGhlciBSZXZpdiA8b3BoZXJAbWVsbGFub3guY29tPjsgQWxleA0KPiA+ID4g Um9zZW5iYXVtIDxhbGV4ckBtZWxsYW5veC5jb20+OyBkb3ZyYXRAbWFydmVsbC5jb207IFByYXN1 biBLYXBvb3INCj4gPiA+IDxwa2Fwb29yQG1hcnZlbGwuY29tPjsgTmlwdW4gR3VwdGEgPG5pcHVu Lmd1cHRhQG54cC5jb20+Ow0KPiBSaWNoYXJkc29uLA0KPiA+ID4gQnJ1Y2UgPGJydWNlLnJpY2hh cmRzb25AaW50ZWwuY29tPjsgeWFuZy5hLmhvbmdAaW50ZWwuY29tOw0KPiA+ID4gaGFycnkuY2hh bmdAaW50ZWwuY29tOyBndS5qaWFuMUB6dGUuY29tLmNuOw0KPiBzaGFuamlhbmdoQGNoaW5hdGVs ZWNvbS5jbjsNCj4gPiA+IHpoYW5neS55dW5AY2hpbmF0ZWxlY29tLmNuOyBsaXhpbmdmdUBodWFj aGVudGVsLmNvbTsNCj4gd3VzaHVhaUBpbnNwdXIuY29tOw0KPiA+ID4geXV5aW5neGlhQHl4bGlu ay5jb207IGZhbmNoZW5nZ2FuZ0BzdW55YWluZm8uY29tOw0KPiA+ID4gZGF2aWRmZ2FvQHRlbmNl bnQuY29tOyBsaXV6aG9uZzFAY2hpbmF1bmljb20uY247DQo+ID4gPiB6aGFveW9uZzExQGh1YXdl aS5jb207IG9jQHl1bmlmeS5jb207IGppbUBuZXRnYXRlLmNvbTsNCj4gPiA+IGhvbmdqdW4ubmlA aW50ZWwuY29tOyBqLmJyb21oZWFkQHRpdGFuLWljLmNvbTsgZGVyaUBudG9wLm9yZzsNCj4gPiA+ IGZjQG5hcGF0ZWNoLmNvbTsgYXJ0aHVyLnN1QGxpb25pYy5jb207IFRob21hcyBNb25qYWxvbg0K PiA+ID4gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+ID4gPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2 XSBbUEFUQ0ggdjNdIHJlZ2V4ZGV2OiBpbnRyb2R1Y2UgcmVnZXhkZXYgc3Vic3lzdGVtDQo+ID4g Pg0KPiA+ID4gPiA+IDQpIGFwcC90ZXN0L3Rlc3RfcmVnZXhkZXYuYyBsaWtlIGFwcC90ZXN0L3Rl c3RfZXZlbnRkZXYuYw0KPiA+ID4gPg0KPiA+ID4gPiBXZSBzdGFydGVkIHRvIGNyZWF0ZSBhIHN1 cGVyIGJhc2ljIGFwcCwgYWZ0ZXIgdGhlIEFQSSB3aWxsIGJlIGZpbmFsaXplZCBhbmQNCj4gd2UN Cj4gPiA+IHdpbGwgaGF2ZSBIVw0KPiA+ID4gPiB3ZSBjYW4gcHVzaCBpdC4gKGlmIHlvdSBuZWVk IGl0IGZhc3RlciB0aGFuIGZlZWwgZnJlZSkNCj4gPiA+DQo+ID4gPiBBIHNpbXBsZSBVbml0IHRl c3QgY2FzZSBuZWVkcyB0byBiZSBwcmVzZW50IGZvciB0aGUgQVBJcy4gT24gdGhlDQo+ID4gPiBj b3Vyc2Ugb2YgZGV2ZWxvcGluZyBjb21tb24gY29kZSwNCj4gPiA+IGl0IGNhbiBiZSBkZXZlbG9w ZWQgdG8gdGVzdCB0aGUgY29tbW9uIGNvZGUgd2l0aCBkdW1teS9za2VsZXRvbiBkcml2ZXIuDQo+ ID4gPg0KPiA+DQo+ID4gQWdyZWUgdGhpcyBpcyB3aGF0IHdlIGFyZSBjdXJyZW50bHkgaGF2ZS4N Cj4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+IDUpIE5lZWQgYSBtYWludGFpbmVyIGZvciBtYWludGFp bmluZyB0aGUgcmVnZXggc3Vic3lzdGVtDQo+ID4gPiA+ID4NCj4gPiA+ID4gV2Ugd2lzaCB0byBt YWludGFpbiBpdCBpZiB5b3UgYWdyZWUuDQo+ID4gPg0KPiA+ID4gWWVzLiBQbGVhc2UuDQo+ID4g Pg0KPiA+DQo+ID4gR3JlYXQuDQo+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBPbmUgbW9y ZSB0aGluZywgcmVnYXJkaW5nIHRoZSBvcHMgc3RydWN0dXJlLCBJIHRoaW5rIGl0IGlzIGJldHRl ciB0byBzcGxpdA0KPiBpdA0KPiA+ID4gdG8gMg0KPiA+ID4gPiA+IGRpZmZlcmVudA0KPiA+ID4g PiA+ID4gc3RydWN0dXJlcyBvbmUgZW5xdWUgYW5kIG9uZSBmb3IgZGVxdWV1ZSwgc2luY2UgdGhl cmUgYXJlIG5vIHJlYWwNCj4gc2hhcmVkDQo+ID4gPiA+ID4gZGF0YSBhbmQgd2Ugd2lsbA0KPiA+ ID4gPiA+ID4gYmUgYWJsZSB0byBzYXZlIG1lbW9yeSwgd2hhdCBkbyB5b3UgdGhpbms/DQo+ID4g PiA+ID4NCj4gPiA+ID4gPiBPcHMgYXJlIGFsbG9jYXRlZCBmcm9tIG1lbXBvb2wgc28gaXQgd2ls bCBiZSBvdmVyaGVhZCB0byBtYW5hZ2UgYm90aC4NCj4gPiA+ID4gPiBtb3Jlb3Zlciwgc29tZQ0K PiA+ID4gPiA+IG9mIHRoZSBmaWVsZHMgYWRkZWQgaW4gcmVxIGNhbiBiZSB1c2VkIGZvciByZXNw IGFzIGluZm8uIGNyeXB0b2Rldg0KPiA+ID4gPiA+IGZvbGxvd3MgdGhlIHNpbWlsYXIgY29uY2Vw dCwNCj4gPiA+ID4gPiBJIHRoaW5rLCB3ZSBjYW4gaGF2ZSBzeW1tZXRyeSB3aXRoIGNyeXB0b2Rl diB3aGVyZXZlciBpcyBwb3NzaWJsZSB0bw0KPiBhdm9pZA0KPiA+ID4gPiA+IGVuZC11c2VyIHRv IGxlYXJuIG5ldyBBUEkgbW9kZWxzLg0KPiA+ID4gPg0KPiA+ID4gPiBUcnVlIHRoYXQgdGhlcmUg d2lsbCBiZSBvdmVyaGVhZCB3aXRoIDIgbWVtcG9vbHMgKHNtYWxsIG9uZSkNCj4gPiA+ID4gYnV0 IGxldHMgYXNzdW1lIDI1NSByZXN1bHRzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGJ1ZmZlciBzaG91 bGQgYmUgMjU1ICoNCj4gPiA+IHNpemVvZihydGVfcmVnZXhfbWF0Y2gpID0gMksNCj4gPiA+ID4g YWxzbyB0aGlzIHdpbGwgZW5hYmxlIHVzIHRvIHJlcGxhY2UgZ3JvdXBYIHdpdGggZ3JvdXBbXSB3 aGljaCB3aWxsIGFsbG93DQo+IGV2ZW4NCj4gPiA+IG1vcmUgZ3JvdXBzLg0KPiA+ID4gPiBJbiBh ZGRpdGlvbiBkb24ndCB0aGluayB0aGF0IGNyeXB0byBpcyBhIGdvb2QgZXhhbXBsZS4NCj4gPiA+ ID4gVGhlIG1haW4gZGlmZmVyZW5jZSBpcyB0aGF0IGluIFJlZ0V4IHRoZSBvdXRwdXQgaXMgZGlm ZmVyZW50IGZvcm1hdCB0aGVuDQo+IHRoZQ0KPiA+ID4gaW5wdXQuDQo+ID4gPg0KPiA+ID4gIyBJ TU8sIFNvbWUgb2YgdGhlIGZpZWxkcyBtYXkgYmUgdXNlZnVsIGZvciBhIHJlc3BvbnNlIGFzIHdl bGwuIEkNCj4gPiA+IHRoaW5rIGFwcGxpY2F0aW9uIG1heSBiZSBpbnRlcmVzdGVkIGluIGZvbGxv d2luZw0KPiA+ID4gcmVxIGZpbGVkIGluIHRoZSByZXNwb25zZS4NCj4gPiA+IGEpIGJ1Zl9hZGRy DQo+ID4NCj4gPiBJIGRvbid0IHNlZSBob3cgdGhpcyBjYW4gYmUgdXNlZCBpbiB0aGUgcmVzcG9u c2UuIHNpbmNlIGlmIHdvcmtpbmcgaW4gb3V0IG9mDQo+IG9yZGVyIHJlc3VsdC4NCj4gPiB5b3Ug ZG9u4oCZdCBrbm93IHdoaWNoIHJlc3VsdCB3aWxsIGJlIHJldHVybmVkLg0KPiA+IEkgYWxzbyB0 aGluayBpdCBpcyBlcnJvciBwcm9uZSB0byB1c2UgdGhlIHNhbWUgb3AgZm9yIHRoZSBlbnF1ZXVl IGFuZCBkZXF1ZXVlLg0KPiA+DQo+ID4gPiBiKSBzY2FuX3NpemUNCj4gPg0KPiA+IFBsZWFzZSBz ZWUgYWJvdmUuDQo+ID4NCj4gPiA+IGMpIHVzZXJfaWQgKFRoaXMgd291bGQgYmUgbWFpbiBvbmUp DQo+ID4NCj4gPiBBZ3JlZQ0KPiA+DQo+ID4gPg0KPiA+ID4gIyBIYXZpbmcgdHdvIG1lbXBvb2xz IGFkZHMgb3ZlcmhlYWQgcGVyIGxjb3JlIEwxIGNhY2hlIHVzYWdlIGFuZCBleHRyYQ0KPiA+ID4g Y29tcGxleGl0eSB0byB0aGUgYXBwbGljYXRpb24uDQo+ID4gPg0KPiA+ID4gIyBJTU8sIEZyb20g YSBwZXJmb3JtYW5jZSBwZXJzcGVjdGl2ZSwgb25lIG1lbXBvb2wgaXMgZ29vZCBkdWUgdG8gbGVz cw0KPiA+ID4gc3RyZXNzIG9uIHRoZSBjYWNoZSBhbmQgaXQgaXMgY29zdGx5IHRvDQo+ID4gPiBh ZGQgbmV3IG1lbXBvb2wgZm9yIEhXIG1lbXBvb2wgaW1wbGVtZW50YXRpb25zLg0KPiA+ID4NCj4g PiA+ICMgSSB0aGluaywgZ3JvdXBbXSB1c2UgY2FzZSB3ZSBjYW4gYWRkIGl0IHdoZW4gaXQgcmVx dWlyZWQgYnkNCj4gPiA+IGludHJvZHVjaW5nICJtYXRjaGVzX3N0YXJ0X29mZnNldCIgZmllbGQs IHdoaWNoIHdpbGwNCj4gPiA+IHRlbGwgdGhlIHJlcSwgd2hlcmUgaXMgdGhlIGVuZCBvZiBncm91 cFtdIGFuZCB3aGVyZSAibWF0Y2hlcyIgc3RhcnQNCj4gPiA+IHdpdGggc2luZ2xlIG1lbXBvb2wg c2NoZW1lIGFsc28uDQo+ID4gPg0KPiA+ID4gIyBJIHRoaW5rLCBvbmUgb2YgdGhlIG90aGVyIHVz ZSBjYXNlIGZvciAibWF0Y2hlc19zdGFydF9vZmZzZXQiIHRoYXQsDQo+ID4gPiBJdCBtYXkgcG9z c2libGUgdG8gcHV0IHZlbmRvci1zcGVjaWZpYw0KPiA+ID4gb3BhcXVlIGRhdGEuIEl0IHdpbGwg YmUgZmlsbGVkIGJ5IGRyaXZlciBvbiByZXNwb25zZS4gVGhlIGFwcGxpY2F0aW9uDQo+ID4gPiBj YW4gcmVmZXJlbmNlIHRoZSBtYXRjaGVzIGFzDQo+ID4gPg0KPiA+ID4gc3RydWN0IHJ0ZV9yZWdl eF9tYXRjaCAqbWF0Y2hlcyA9IFJURV9QVFJfQUREKG9wcywgb3BzLQ0KPiA+ID4NCj4gPiA+bWF0 Y2hlc19zdGFydF9vZmZzZXQpOw0KPiA+ID4NCj4gPg0KPiA+IE8uSyBmb3Igbm93IHdlIHdpbGwg a2VlcCAgaXQgYXMgaXMsIGFuZCB3ZSB3aWxsIHNlZSB3aGF0IHdpbGwgYmUgaW4gdGhlIGZ1dHVy ZS4NCj4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+IEkgYXNzdW1lIHlvdSB3aWxsIHNlbmQgdGhlIHY0 IHdpdGggdGhlc2UgY29tbWVudHMuIEkgdGhpbmssIHdpdGggdjQgd2UNCj4gPiA+ID4gPiBjYW4g c3RhcnQgaW1wbGVtZW50aW5nIGNvbW1vbiBsaWJyYXJ5IGNvZGUuDQo+ID4gPiA+DQo+ID4gPiA+ IEp1c3QgbmVlZCB0byBhZ3JlZSBvbiB0aGUgc3BsaXQgKG9uZSBtb3JlIGl0ZXJhdGlvbiApDQo+ ID4gPiA+IGFuZCBJIHdpbGwgc3RhcnQgd29ya2luZyBvbiB0aGUgY29tbW9uIGNvZGUuDQo+ID4g Pg0KPiA+ID4gQWNrLg0KPiA+DQo+ID4gR3JlYXQsDQo+ID4gSSdtIHN0YXJ0aW5nIHRvIHdvcmsg b24gVjQgd2l0aCBhbGwgY29tbWVudHMgc28gdGhlIFJGQyB3aWxsIGJlIGFja2VkIGFuZA0KPiB0 aGVuIHdpbGwgc3RhcnQNCj4gPiBjb2RpbmcgdGhlIHJlc3Qgb2YgdGhlIGNvbW1vbiBjb2RlLg0K PiA+DQo=