From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D70D3C3F2CD for ; Sun, 1 Mar 2020 15:41:56 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id DE42821D56 for ; Sun, 1 Mar 2020 15:41:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="a5fTxwZO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DE42821D56 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mellanox.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 971632C4F; Sun, 1 Mar 2020 16:41:54 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2046.outbound.protection.outlook.com [40.107.20.46]) by dpdk.org (Postfix) with ESMTP id 207AF23D for ; Sun, 1 Mar 2020 16:41:53 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PsVIFON0+dABrH6bjMrJaQ9p/YkzMQB40n+AivgekKrvqZnZ2+eTEBf0gZVhIu2sbW+FrGWuprQqcvkJ6/J6+ukqanlZ8L0FUvBYi1yCM8fLyL6bH/53XGfqFPPrNnuipNePzJ9rPYV+dud0eBhcNybiXm2BtcnNQ2zFdLR60M8XHA2Rp/Z1SERoe926qAw0HoKCOvULa2ZRpeJdgLHYWDl7uMWlx/vTh0+K4etKY0bse+2OdzqGbPTikS3P2OgUY19Tl1YtMj/HW8MnJiMPv75TQu6d5N4js7BUxH8w+I3Uc+8jYPH4crrh+sqOqa5UaGi5glzQjnEEIPyjCT1uEQ== 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=TY4GUrSW3ZERXD+0dvXjzJDxWxhroUTHyL8j3DPSr6A=; b=K1zrOyhr3L/IOxonSBtIw84IlDv0XBst03x7Wx/ctUlZBMJma5uAK5stNnaGrKfoVRSf82MMWngbNn3DmISWphHj+mXJIAYFBRKpPD/Uxq2ZYf2K95MioCX4jxVI//jY4Mk3vuzwxJpaQ1gdGjn0IbKJHHy/Iu02ctRFfdj30uIw92wPRQhRPSghGQ/2E7Tk63K2koEFI41wKWp7r3zRcp//efUOKec5zKTTFbuO3JsZcsPIPc2qOSdcpdAmYvpZMrNK1xvvf0Y4nC7B+AZVoNa9hqqrX2N+wppq1z7sAiJ/BgBlEvJumzWn9rAWo0hxKZYsFdpO5n8Tp1qtzBQPRg== 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=TY4GUrSW3ZERXD+0dvXjzJDxWxhroUTHyL8j3DPSr6A=; b=a5fTxwZO7dFsRucmdBBeUK8/cYlVhaaYLoPqcorzGU/br2V2YrZKjzBwVWZ8ceoEGVC6rnuNqfmC73pje2nnXC/hphJeQtnsNC9ZoqywiCZoyzurIfn/vZiF552GfFeB1ByvmxwXYdVM+l210gxvFjCSwQir8t9CnJeE5M1rKPc= Received: from AM6PR05MB5176.eurprd05.prod.outlook.com (20.177.196.158) by AM6PR05MB4134.eurprd05.prod.outlook.com (52.135.167.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.18; Sun, 1 Mar 2020 15:41:51 +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.2772.019; Sun, 1 Mar 2020 15:41:51 +0000 From: Ori Kam To: Pavan Nikhilesh Bhagavatula , Jerin Jacob Kollanukkaran , "xiang.w.wang@intel.com" CC: "dev@dpdk.org" , Shahaf Shuler , "hemant.agrawal@nxp.com" , Opher Reviv , Alex Rosenbaum , Dovrat Zifroni , Prasun Kapoor , "nipun.gupta@nxp.com" , "bruce.richardson@intel.com" , "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: [EXT] [RFC v5] regexdev: introduce regexdev subsystem Thread-Index: AQHV7X/S8OFPtiIdU0S3b2gAwOWtcagzRfYAgAASjvCAAGWiAIAADOFQgAAIGoCAAAyQQA== Date: Sun, 1 Mar 2020 15:41:51 +0000 Message-ID: References: <20190627155036.56940-1-jerinj@marvell.com> <1582816115-95871-1-git-send-email-orika@mellanox.com> In-Reply-To: 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: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: e2dd21bd-72b3-47c6-546c-08d7bdf70fe2 x-ms-traffictypediagnostic: AM6PR05MB4134:|AM6PR05MB4134: 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:9508; x-forefront-prvs: 0329B15C8A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(376002)(346002)(136003)(396003)(39860400002)(199004)(189003)(316002)(9686003)(4326008)(478600001)(76116006)(7696005)(55016002)(54906003)(8936002)(186003)(26005)(33656002)(110136005)(6506007)(81156014)(8676002)(81166006)(53546011)(52536014)(86362001)(2906002)(5660300002)(66446008)(66946007)(66556008)(64756008)(66476007)(71200400001)(7416002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB4134; H:AM6PR05MB5176.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX: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: F312lDBJ1iz4k1JU56WL+ioNOkWBL8acatymTsGS7RbukH70Pz1OCCtA+V/3fXF/o1uVKtjsTh2wnaJ+8rURP8a+fsyz/fgEWV6jE6lF3U6+tFaxidkLb3JN7sHHB9M3SSiPCnfP3PraOAUzPQz/PVbLCpdmFtBUjMjMlA/dWpk57dyLF0Ty6NFgUF/6mMv7vSWa31HoQVz6T/wQeZyqsSZhJQOyTkXLSFRc9xMQ1+RCpH+pnRdmlyrQRbDjt9XJkqAQ+rZdzQDR0vW/Dm6a/giG38JlBbsjEvCcjsvItBHllz44FM1OrU+wrop4WAa07oGKOdb3RdBNoHyb1ZsiStQ+zXpd86ycALl87fItuFU3/9T87zJ7fFi4mDvJ3dZM8MfnRaQE1GopEifJZRsbY5xFzxsSaFYtQOEnuTndk1PWr7qG6XwnruecRs9wOj/n x-ms-exchange-antispam-messagedata: 2AUuJYpOIE6Yav56uWOOPsLkBDQjtn7Xkb/3dMk6Kd7rYBm7etDCcs5RPWKLSCisPBVpbOQUN9QOdnm+b2ikeZkoxihzHs4omHcfmoYUHEw3+eJT0knY+ZK2jinU31nWHoB5k6/kQgdJ8MjUc1Uqcw== 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: e2dd21bd-72b3-47c6-546c-08d7bdf70fe2 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2020 15:41:51.3879 (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: tNkLqfJbrsU1BVtdQL5R73j8Dple9fVxXiSQ8MI/BAMdftBu8Oy0ki3nPW029YhCXgPm5uHI0qTH8csr+zxyLA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB4134 Subject: Re: [dpdk-dev] [EXT] [RFC v5] 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" SGkgUGF2YW4sDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXYg PGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgUGF2YW4gTmlraGlsZXNoIEJoYWdh dmF0dWxhDQo+IFNlbnQ6IFN1bmRheSwgTWFyY2ggMSwgMjAyMCA0OjM4IFBNDQo+IFRvOiBPcmkg S2FtIDxvcmlrYUBtZWxsYW5veC5jb20+OyBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuDQo+IDxq ZXJpbmpAbWFydmVsbC5jb20+OyB4aWFuZy53LndhbmdAaW50ZWwuY29tDQo+IENjOiBkZXZAZHBk ay5vcmc7IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPjsNCj4gaGVtYW50LmFn cmF3YWxAbnhwLmNvbTsgT3BoZXIgUmV2aXYgPG9waGVyQG1lbGxhbm94LmNvbT47IEFsZXgNCj4g Um9zZW5iYXVtIDxhbGV4ckBtZWxsYW5veC5jb20+OyBEb3ZyYXQgWmlmcm9uaSA8ZG92cmF0QG1h cnZlbGwuY29tPjsNCj4gUHJhc3VuIEthcG9vciA8cGthcG9vckBtYXJ2ZWxsLmNvbT47IG5pcHVu Lmd1cHRhQG54cC5jb207DQo+IGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOyB5YW5nLmEuaG9u Z0BpbnRlbC5jb207IGhhcnJ5LmNoYW5nQGludGVsLmNvbTsNCj4gZ3UuamlhbjFAenRlLmNvbS5j bjsgc2hhbmppYW5naEBjaGluYXRlbGVjb20uY247DQo+IHpoYW5neS55dW5AY2hpbmF0ZWxlY29t LmNuOyBsaXhpbmdmdUBodWFjaGVudGVsLmNvbTsgd3VzaHVhaUBpbnNwdXIuY29tOw0KPiB5dXlp bmd4aWFAeXhsaW5rLmNvbTsgZmFuY2hlbmdnYW5nQHN1bnlhaW5mby5jb207DQo+IGRhdmlkZmdh b0B0ZW5jZW50LmNvbTsgbGl1emhvbmcxQGNoaW5hdW5pY29tLmNuOw0KPiB6aGFveW9uZzExQGh1 YXdlaS5jb207IG9jQHl1bmlmeS5jb207IGppbUBuZXRnYXRlLmNvbTsNCj4gaG9uZ2p1bi5uaUBp bnRlbC5jb207IGouYnJvbWhlYWRAdGl0YW4taWMuY29tOyBkZXJpQG50b3Aub3JnOw0KPiBmY0Bu YXBhdGVjaC5jb207IGFydGh1ci5zdUBsaW9uaWMuY29tOyBUaG9tYXMgTW9uamFsb24NCj4gPHRo b21hc0Btb25qYWxvbi5uZXQ+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtFWFRdIFtSRkMg djVdIHJlZ2V4ZGV2OiBpbnRyb2R1Y2UgcmVnZXhkZXYgc3Vic3lzdGVtDQo+IA0KPiBIaSBPcmks DQo+IA0KPiA+DQo+ID5IaSBQYXZhbiwNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+PiBGcm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2Yg UGF2YW4gTmlraGlsZXNoDQo+ID5CaGFnYXZhdHVsYQ0KPiA+PiBTZW50OiBTdW5kYXksIE1hcmNo IDEsIDIwMjAgMzoyMyBQTQ0KPiA+PiBUbzogT3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29tPjsg SmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbg0KPiA+PiA8amVyaW5qQG1hcnZlbGwuY29tPjsgeGlh bmcudy53YW5nQGludGVsLmNvbQ0KPiA+PiBDYzogZGV2QGRwZGsub3JnOyBTaGFoYWYgU2h1bGVy IDxzaGFoYWZzQG1lbGxhbm94LmNvbT47DQo+ID4+IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207IE9w aGVyIFJldml2IDxvcGhlckBtZWxsYW5veC5jb20+Ow0KPiA+QWxleA0KPiA+PiBSb3NlbmJhdW0g PGFsZXhyQG1lbGxhbm94LmNvbT47IERvdnJhdCBaaWZyb25pDQo+ID48ZG92cmF0QG1hcnZlbGwu Y29tPjsNCj4gPj4gUHJhc3VuIEthcG9vciA8cGthcG9vckBtYXJ2ZWxsLmNvbT47IG5pcHVuLmd1 cHRhQG54cC5jb207DQo+ID4+IGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOyB5YW5nLmEuaG9u Z0BpbnRlbC5jb207DQo+ID5oYXJyeS5jaGFuZ0BpbnRlbC5jb207DQo+ID4+IGd1LmppYW4xQHp0 ZS5jb20uY247IHNoYW5qaWFuZ2hAY2hpbmF0ZWxlY29tLmNuOw0KPiA+PiB6aGFuZ3kueXVuQGNo aW5hdGVsZWNvbS5jbjsgbGl4aW5nZnVAaHVhY2hlbnRlbC5jb207DQo+ID53dXNodWFpQGluc3B1 ci5jb207DQo+ID4+IHl1eWluZ3hpYUB5eGxpbmsuY29tOyBmYW5jaGVuZ2dhbmdAc3VueWFpbmZv LmNvbTsNCj4gPj4gZGF2aWRmZ2FvQHRlbmNlbnQuY29tOyBsaXV6aG9uZzFAY2hpbmF1bmljb20u Y247DQo+ID4+IHpoYW95b25nMTFAaHVhd2VpLmNvbTsgb2NAeXVuaWZ5LmNvbTsgamltQG5ldGdh dGUuY29tOw0KPiA+PiBob25nanVuLm5pQGludGVsLmNvbTsgai5icm9taGVhZEB0aXRhbi1pYy5j b207IGRlcmlAbnRvcC5vcmc7DQo+ID4+IGZjQG5hcGF0ZWNoLmNvbTsgYXJ0aHVyLnN1QGxpb25p Yy5jb207IFRob21hcyBNb25qYWxvbg0KPiA+PiA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCj4gPj4g U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW0VYVF0gW1JGQyB2NV0gcmVnZXhkZXY6IGludHJvZHVj ZSByZWdleGRldg0KPiA+c3Vic3lzdGVtDQo+ID4+DQo+ID4+IEhpIE9yaSwNCj4gPj4NCj4gPj4g Pg0KPiA+PiA+SGkgUGF2YW4sDQo+ID4+ID5UaGFua3MgZm9yIHRoZSBjb21tZW50cyBwbGVhc2Ug c2VlIGJlbG93Lg0KPiA+PiA+DQo+ID4+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+ID4+IEZyb206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBQYXZh bg0KPiA+TmlraGlsZXNoDQo+ID4+ID5CaGFnYXZhdHVsYQ0KPiA+PiA+PiBTZW50OiBTdW5kYXks IE1hcmNoIDEsIDIwMjAgODoxMyBBTQ0KPiA+PiA+PiBUbzogT3JpIEthbSA8b3Jpa2FAbWVsbGFu b3guY29tPjsgSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbg0KPiA+PiA+PiA8amVyaW5qQG1hcnZl bGwuY29tPjsgeGlhbmcudy53YW5nQGludGVsLmNvbQ0KPiA+PiA+PiBDYzogZGV2QGRwZGsub3Jn OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNvbT47DQo+ID4+ID4+IGhlbWFudC5h Z3Jhd2FsQG54cC5jb207IE9waGVyIFJldml2IDxvcGhlckBtZWxsYW5veC5jb20+Ow0KPiA+PiA+ QWxleA0KPiA+PiA+PiBSb3NlbmJhdW0gPGFsZXhyQG1lbGxhbm94LmNvbT47IERvdnJhdCBaaWZy b25pDQo+ID4+ID48ZG92cmF0QG1hcnZlbGwuY29tPjsNCj4gPj4gPj4gUHJhc3VuIEthcG9vciA8 cGthcG9vckBtYXJ2ZWxsLmNvbT47IG5pcHVuLmd1cHRhQG54cC5jb207DQo+ID4+ID4+IGJydWNl LnJpY2hhcmRzb25AaW50ZWwuY29tOyB5YW5nLmEuaG9uZ0BpbnRlbC5jb207DQo+ID4+ID5oYXJy eS5jaGFuZ0BpbnRlbC5jb207DQo+ID4+ID4+IGd1LmppYW4xQHp0ZS5jb20uY247IHNoYW5qaWFu Z2hAY2hpbmF0ZWxlY29tLmNuOw0KPiA+PiA+PiB6aGFuZ3kueXVuQGNoaW5hdGVsZWNvbS5jbjsg bGl4aW5nZnVAaHVhY2hlbnRlbC5jb207DQo+ID4+ID53dXNodWFpQGluc3B1ci5jb207DQo+ID4+ ID4+IHl1eWluZ3hpYUB5eGxpbmsuY29tOyBmYW5jaGVuZ2dhbmdAc3VueWFpbmZvLmNvbTsNCj4g Pj4gPj4gZGF2aWRmZ2FvQHRlbmNlbnQuY29tOyBsaXV6aG9uZzFAY2hpbmF1bmljb20uY247DQo+ ID4+ID4+IHpoYW95b25nMTFAaHVhd2VpLmNvbTsgb2NAeXVuaWZ5LmNvbTsgamltQG5ldGdhdGUu Y29tOw0KPiA+PiA+PiBob25nanVuLm5pQGludGVsLmNvbTsgai5icm9taGVhZEB0aXRhbi1pYy5j b207IGRlcmlAbnRvcC5vcmc7DQo+ID4+ID4+IGZjQG5hcGF0ZWNoLmNvbTsgYXJ0aHVyLnN1QGxp b25pYy5jb207IFRob21hcyBNb25qYWxvbg0KPiA+PiA+PiA8dGhvbWFzQG1vbmphbG9uLm5ldD4N Cj4gPj4gPj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW0VYVF0gW1JGQyB2NV0gcmVnZXhkZXY6 IGludHJvZHVjZQ0KPiA+cmVnZXhkZXYNCj4gPj4gPnN1YnN5c3RlbQ0KPiA+PiA+Pg0KPiA+PiA+ PiBIaSBPcmksDQo+ID4+ID4+DQo+ID4+ID4+IE1pbm9yIGNvbW1lbnRzIGJlbG93Lg0KPiA+PiA+ Pg0KPiA+PiA+PiA8c25pcD4NCj4gPj4gPj4NCj4gPj4gPj4gPisvKioNCj4gPj4gPj4gPisgKiBU aGUgZ2VuZXJpYyAqcnRlX3JlZ2V4X29wcyogc3RydWN0dXJlIHRvIGhvbGQgdGhlIFJlZ0V4DQo+ ID4+ID5hdHRyaWJ1dGVzDQo+ID4+ID4+ID4rICogZm9yIGVucXVldWUgYW5kIGRlcXVldWUgb3Bl cmF0aW9uLg0KPiA+PiA+PiA+KyAqLw0KPiA+PiA+PiA+K3N0cnVjdCBydGVfcmVnZXhfb3BzIHsN Cj4gPj4gPj4gPisJLyogVzAgKi8NCj4gPj4gPj4gPisJdWludDE2X3QgcmVxX2ZsYWdzOw0KPiA+ PiA+PiA+KwkvKio8IFJlcXVlc3QgZmxhZ3MgZm9yIHRoZSBSZWdFeCBvcHMuDQo+ID4+ID4+ID4r CSAqIEBzZWUgUlRFX1JFR0VYX09QU19SRVFfKg0KPiA+PiA+PiA+KwkgKi8NCj4gPj4gPj4gPisJ dWludDE2X3QgcnNwX2ZsYWdzOw0KPiA+PiA+PiA+KwkvKio8IFJlc3BvbnNlIGZsYWdzIGZvciB0 aGUgUmVnRXggb3BzLg0KPiA+PiA+PiA+KwkgKiBAc2VlIFJURV9SRUdFWF9PUFNfUlNQXyoNCj4g Pj4gPj4gPisJICovDQo+ID4+ID4+ID4rCXVpbnQxNl90IG5iX2FjdHVhbF9tYXRjaGVzOw0KPiA+ PiA+PiA+KwkvKio8IFRoZSB0b3RhbCBudW1iZXIgb2YgYWN0dWFsIG1hdGNoZXMgZGV0ZWN0ZWQg YnkgdGhlDQo+ID4+ID4+ID5SZWdleCBkZXZpY2UuKi8NCj4gPj4gPj4gPisJdWludDE2X3QgbmJf bWF0Y2hlczsNCj4gPj4gPj4gPisJLyoqPCBUaGUgdG90YWwgbnVtYmVyIG9mIG1hdGNoZXMgcmV0 dXJuZWQgYnkgdGhlIFJlZ0V4DQo+ID4+ID4+ID5kZXZpY2UgZm9yIHRoaXMNCj4gPj4gPj4gPisJ ICogc2Nhbi4gVGhlIHNpemUgb2YgKnJ0ZV9yZWdleF9vcHM6Om1hdGNoZXMqIHplcm8gbGVuZ3Ro DQo+IGFycmF5DQo+ID4+ID4+ID53aWxsIGJlDQo+ID4+ID4+ID4rCSAqIHRoaXMgdmFsdWUuDQo+ ID4+ID4+ID4rCSAqDQo+ID4+ID4+ID4rCSAqIEBzZWUgc3RydWN0IHJ0ZV9yZWdleF9vcHM6Om1h dGNoZXMsIHN0cnVjdA0KPiA+PiA+PiA+cnRlX3JlZ2V4X21hdGNoDQo+ID4+ID4+ID4rCSAqLw0K PiA+PiA+PiA+Kw0KPiA+PiA+PiA+KwkvKiBXMSAqLw0KPiA+PiA+PiA+KwlzdHJ1Y3QgcnRlX21i dWYgbWJ1ZjsgLyoqPCBzb3VyY2UgbWJ1ZiwgdG8gc2VhcmNoIGluLiAqLw0KPiA+PiA+Pg0KPiA+ PiA+PiBUaGlzIHNob3VsZCBiZSAqbWJ1Zi4NCj4gPj4gPg0KPiA+PiA+WWVzIHlvdSBhcmUgY29y cmVjdCB3aWxsIGZpeC4NCj4gPj4gPg0KPiA+PiA+Pg0KPiA+PiA+PiA+Kw0KPiA+PiA+PiA+Kwkv KiBXMiAqLw0KPiA+PiA+PiA+Kwl1aW50MTZfdCBncm91cF9pZDA7DQo+ID4+ID4+DQo+ID4+ID4+ IFRoaXMgc2hvdWxkIGJlIGdyb3VwX2lkMS4NCj4gPj4gPj4NCj4gPj4gPk5vIHRoaXMgaXMgY29y cmVjdCBpcyBzaG91bGQgYmUgaWQwLiBXZSBhcmUgc3RhcnRpbmcgZnJvbSBncm91cCAwLg0KPiA+ PiA+VGhlIGNvbW1lbnQgYmVsb3cgc3RhdGVzIHRoYXQgdGhlIGZpcnN0IGdyb3VwLCBtZWFuaW5n IGdyb3VwIDANCj4gPm11c3QNCj4gPj4gPmJlDQo+ID4+ID52YWxpZCBncm91cCB3aGlsZSBncm91 cCAxIGRvZXNu4oCZdCBoYXZlIHRvIGJlIHZhaWxkLg0KPiA+Pg0KPiA+PiBXb3VsZCB0aGF0IG1l YW4gdGhhdCBncm91cF9pZDAgaXMgYWx3YXlzIHZhbGlkPw0KPiA+PiBTaW5jZSB0aGVyZSBpcyBu byBgUlRFX1JFR0VYX09QU19SRVFfR1JPVVBfSUQwX1ZBTElEX0ZgIGZsYWcuDQo+ID4+DQo+ID5Z ZXMsIHlvdSBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGdyb3VwLg0KPiANCj4gTWFrZXMgc2Vuc2Us IEkgdGhpbmsgd2UgbmVlZCB0byB1cGRhdGUgdGhlIGNvbW1lbnQgYSBiaXQgYXMgaXQgb25seSBt ZW50aW9ucw0KPiB0aGF0DQo+IGF0IGxlYXN0IG9uZSBncm91cCBidXQgaXQgc2hvdWxkIGJlIGdy b3VwX2lkMCBoYXMgdG8gYmUgYWx3YXlzIHZhbGlkLg0KPiANCj4gKEFuIGFwcGxpY2F0aW9uIGNh biBlcnJvbmVvdXNseSBzZXQgdmFsaWQgZ3JvdXBfaWQxIGluc3RlYWQgb2YgZ3JvdXBfaWQwKQ0K PiANCg0KV2hhdCBhYm91dCB0aGUgbmV4dCBjb21tZW50Pw0KLyoqPCBGaXJzdCBncm91cF9pZCB0 byBtYXRjaCB0aGUgcnVsZSBhZ2FpbnN0LiBUaGlzIGdyb3VwIG11c3QgYmUgdmFsaWQuIEluICAg ICAgIA0KICAqIG9yZGVyIHRvIHN1cHBvcnQgbW9yZSBncm91cCAodXAgdG8gNCBncm91cHMpLiBU aGUgZ3JvdXAgbnVtYmVyIHNob3VsZCANCiAgKiBiZSBzZXQuIEZvciBleGFtcGxlIHRvIGVuYWJs ZSBncm91cCAxIGdyb3VwX2lkMSBzaG91bGQgYmUgc2V0DQogICogd2l0aCB0aGUgZ3JvdXAgdmFs dWUgYW5kICBhbmQgdGhlIFJURV9SRUdFWF9PUFNfUkVRX0dST1VQX0lEMV9WQUxJRF9GIGZsYWcg c2hvdWxkIGJlIHNldC4gICAgDQogICogUmVzcGVjdGl2ZWx5IHNpbWlsYXIgZmxhZ3MgZm9yIGdy b3VwX2lkMiBhbmQgZ3JvdXBfaWQzLiAgICAgIA0KICAqIFVwb24gdGhlIG1hdGNoLCBzdHJ1Y3Qg cnRlX3JlZ2V4X21hdGNoOjpncm91cF9pZCBzaGFsbCBiZSB1cGRhdGVkICAgICAgDQogICogd2l0 aCBtYXRjaGluZyBncm91cCBJRCBieSB0aGUgZGV2aWNlLiBHcm91cCBJRCBzY2hlbWUgcHJvdmlk ZXMgICAgICAgICANCiAgKiBydWxlIGlzb2xhdGlvbiBhbmQgZWZmZWN0aXZlIHBhdHRlcm4gbWF0 Y2hpbmcuICAgICAgICAgICAgICAgICAgICAgICAgIA0KKi8NCg0KLyoqPCBGaXJzdCBncm91cF9p ZCB0byBtYXRjaCB0aGUgcnVsZSBhZ2FpbnN0LiBNaW5pbXVtIG9uZSBncm91cCBpZCAgICAgICAN CiAgKiBtdXN0IGJlIHByb3ZpZGVkIGJ5IGFwcGxpY2F0aW9uLiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIA0KICAqIFdoZW4gUlRFX1JFR0VYX09QU19SRVFfR1JPVVBfSUQx X1ZBTElEX0Ygc2V0IHRoZW4gZ3JvdXBfaWQxICAgICAgICAgICAgDQogICogaXMgdmFsaWQsIHJl c3BlY3RpdmVseSBzaW1pbGFyIGZsYWdzIGZvciBncm91cF9pZDIgYW5kIGdyb3VwX2lkMy4gICAg ICANCiAgKiBVcG9uIHRoZSBtYXRjaCwgc3RydWN0IHJ0ZV9yZWdleF9tYXRjaDo6Z3JvdXBfaWQg c2hhbGwgYmUgdXBkYXRlZCAgICAgIA0KICAqIHdpdGggbWF0Y2hpbmcgZ3JvdXAgSUQgYnkgdGhl IGRldmljZS4gR3JvdXAgSUQgc2NoZW1lIHByb3ZpZGVzICAgICAgICAgDQogICogcnVsZSBpc29s YXRpb24gYW5kIGVmZmVjdGl2ZSBwYXR0ZXJuIG1hdGNoaW5nLiAgICAgICAgICAgICAgICAgICAg ICAgICANCg0KPiA+DQo+ID4+ID4NCj4gPj4gPj4gPisJLyoqPCBGaXJzdCBncm91cF9pZCB0byBt YXRjaCB0aGUgcnVsZSBhZ2FpbnN0LiBNaW5pbXVtIG9uZQ0KPiA+PiA+PiA+Z3JvdXAgaWQNCj4g Pj4gPj4gPisJICogbXVzdCBiZSBwcm92aWRlZCBieSBhcHBsaWNhdGlvbi4NCj4gPj4gPj4gPisJ ICogV2hlbiBSVEVfUkVHRVhfT1BTX1JFUV9HUk9VUF9JRDFfVkFMSURfRiBzZXQgdGhlbg0KPiA+ PiA+PiA+Z3JvdXBfaWQxDQo+ID4+ID4+ID4rCSAqIGlzIHZhbGlkLCByZXNwZWN0aXZlbHkgc2lt aWxhciBmbGFncyBmb3IgZ3JvdXBfaWQyIGFuZA0KPiBncm91cF9pZDMuDQo+ID4+ID4+ID4rCSAq IFVwb24gdGhlIG1hdGNoLCBzdHJ1Y3QgcnRlX3JlZ2V4X21hdGNoOjpncm91cF9pZCBzaGFsbCBi ZQ0KPiA+PiA+PiA+dXBkYXRlZA0KPiA+PiA+PiA+KwkgKiB3aXRoIG1hdGNoaW5nIGdyb3VwIElE IGJ5IHRoZSBkZXZpY2UuIEdyb3VwIElEIHNjaGVtZQ0KPiA+PiA+PiA+cHJvdmlkZXMNCj4gPj4g Pj4gPisJICogcnVsZSBpc29sYXRpb24gYW5kIGVmZmVjdGl2ZSBwYXR0ZXJuIG1hdGNoaW5nLg0K PiA+PiA+PiA+KwkgKi8NCj4gPj4gPj4gPisJdWludDE2X3QgZ3JvdXBfaWQxOw0KPiA+PiA+PiA+ KwkvKio8IFNlY29uZCBncm91cF9pZCB0byBtYXRjaCB0aGUgcnVsZSBhZ2FpbnN0Lg0KPiA+PiA+ PiA+KwkgKg0KPiA+PiA+PiA+KwkgKiBAc2VlIFJURV9SRUdFWF9PUFNfUkVRX0dST1VQX0lEMV9W QUxJRF9GDQo+ID4+ID4+ID4rCSAqLw0KPiA+PiA+Pg0KPiA+PiA+PiBUaGUgYWJvdmUgYGdyb3Vw X2lkMWAgc2hvdWxkIGJlIHJlbW92ZWQgYXMgaXRzIGR1cGxpY2F0ZS4NCj4gPj4gPj4NCj4gPj4g Pg0KPiA+PiA+VGhpcyBpcyBub3QgZHVwbGljYXRlLCBzZWUgYWJvdmUgY29tbWVudC4NCj4gPj4g Pg0KPiA+PiA+PiA+Kwl1aW50MTZfdCBncm91cF9pZDI7DQo+ID4+ID4+ID4rCS8qKjwgVGhpcmQg Z3JvdXBfaWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdhaW5zdC4NCj4gPj4gPj4gPisJICoNCj4gPj4g Pj4gPisJICogQHNlZSBSVEVfUkVHRVhfT1BTX1JFUV9HUk9VUF9JRDJfVkFMSURfRg0KPiA+PiA+ PiA+KwkgKi8NCj4gPj4gPj4gPisJdWludDE2X3QgZ3JvdXBfaWQzOw0KPiA+PiA+PiA+KwkvKio8 IEZvcnRoIGdyb3VwX2lkIHRvIG1hdGNoIHRoZSBydWxlIGFnYWluc3QuDQo+ID4+ID4+ID4rCSAq DQo+ID4+ID4+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09QU19SRVFfR1JPVVBfSUQzX1ZBTElEX0YN Cj4gPj4gPj4gPisJICovDQo+ID4+ID4+ID4rDQo+ID4+ID4+ID4rCS8qIFczICovDQo+ID4+ID4+ ID4rCVJURV9TVERfQzExDQo+ID4+ID4+ID4rCXVuaW9uIHsNCj4gPj4gPj4gPisJCXVpbnQ2NF90 IHVzZXJfaWQ7DQo+ID4+ID4+ID4rCQkvKio8IEFwcGxpY2F0aW9uIHNwZWNpZmljIG9wYXF1ZSB2 YWx1ZS4gQW4gYXBwbGljYXRpb24NCj4gPj4gPj4gPm1heSB1c2UNCj4gPj4gPj4gPisJCSAqIHRo aXMgZmllbGQgdG8gaG9sZCBhcHBsaWNhdGlvbiBzcGVjaWZpYyB2YWx1ZSB0byBzaGFyZQ0KPiA+ PiA+PiA+KwkJICogYmV0d2VlbiBkZXF1ZXVlIGFuZCBlbnF1ZXVlIG9wZXJhdGlvbi4NCj4gPj4g Pj4gPisJCSAqIEltcGxlbWVudGF0aW9uIHNob3VsZCBub3QgbW9kaWZ5IHRoaXMgZmllbGQuDQo+ ID4+ID4+ID4rCQkgKi8NCj4gPj4gPj4gPisJCXZvaWQgKnVzZXJfcHRyOw0KPiA+PiA+PiA+KwkJ LyoqPCBQb2ludGVyIHJlcHJlc2VudGF0aW9uIG9mICp1c2VyX2lkKiAqLw0KPiA+PiA+PiA+Kwl9 Ow0KPiA+PiA+PiA+Kw0KPiA+PiA+PiA+KwkvKiBXNCAqLw0KPiA+PiA+PiA+KwlzdHJ1Y3QgcnRl X3JlZ2V4X21hdGNoIG1hdGNoZXNbXTsNCj4gPj4gPj4gPisJLyoqPCBaZXJvIGxlbmd0aCBhcnJh eSB0byBob2xkIHRoZSBtYXRjaCB0dXBsZXMuDQo+ID4+ID4+ID4rCSAqIFRoZSBzdHJ1Y3QgcnRl X3JlZ2V4X29wczo6bmJfbWF0Y2hlcyB2YWx1ZSBob2xkcyB0aGUNCj4gPj4gPj4gPm51bWJlciBv Zg0KPiA+PiA+PiA+KwkgKiBlbGVtZW50cyBpbiB0aGlzIGFycmF5Lg0KPiA+PiA+PiA+KwkgKg0K PiA+PiA+PiA+KwkgKiBAc2VlIHN0cnVjdCBydGVfcmVnZXhfb3BzOjpuYl9tYXRjaGVzDQo+ID4+ ID4+ID4rCSAqLw0KPiA+PiA+PiA+K307DQo=