From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BC95BA0543; Tue, 24 May 2022 22:14:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 627EE400EF; Tue, 24 May 2022 22:14:51 +0200 (CEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2072.outbound.protection.outlook.com [40.107.22.72]) by mails.dpdk.org (Postfix) with ESMTP id E2786400D6 for ; Tue, 24 May 2022 22:14:50 +0200 (CEST) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=bzOK31Nd430/onbwxwHgJyMPZTO56JHX4q+9QKqQ+vB2wLsD7ebJCmB/gE5hx9V/YAvVo9X3Fcct3hrHg3jV479PjsFCcJsG6tL1Xcahz163Lka7MFqkOX8iRaCKwYB530dUDP6/gwtELpjy9nEUoikaUtPXgzfhjUtbPf3EhQjbHKkfb3kLZMUKKv6wxk/uVBGgImsdBPpA6sUH1gr9KDm2HxRRhannjm/hve+kIKMbNB4hYGy46GoT3gMUetZZKhcxPBoyt2pkk9S200APoExxPRNXFsUgdHUHMcbdavuuzlZ0vjbaYfbotBKdWzUMJMO/7VNMS16GFBIBkrNhsw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Uj669nKOHZA79QwhozxMKGASrkBdhTF/RZk+snnIQ04=; b=HyHhjmpoyWSRWSD3EqfEoHwHuw58HnVI0wXpULDFrV5GApa4yOk32n+Sy3+5BT5QKPtw0dLaCMW1u7tuaHpBqFfJOOJ5R7mXkDLq1yDHFaZ5aZA/+r2sC2f4WggY8Iyt7/NDEq+eCd5YTnKsz3MP2xhZJj0t60t63PzJkCbXQkxVx0iRVe6OjOVe7AyBcQ8A3G8RoZ7B7pFrUvQYKuVSblI+nGDduCxmNbmXH8eAGceFr9vNTAFcSmo/sFeYgqi8aPmbXbkgQbr15piZ12iNb8F8d2sc/oEKcb5tuQnYh20DDUvXMcZFIOTz5f6IOIrQ8NJjk2gAjlU8YMnqLXKfHQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=dpdk.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Uj669nKOHZA79QwhozxMKGASrkBdhTF/RZk+snnIQ04=; b=0Pj5EXUmS43VY/yPuOiXkBFLhcr0EpGxPbgWleCrdqZGoUeETWbANzzTTgfvHAzP7x/rYES0FpW8q77shTChNHsrUi+o+YHI6i36ujh1GXBDOF2QvAOjzGfuuaOzr38GlfLuD7Zv8QkjKQFwuYCqB/HmhZ04Ui6lAw93JWQ44nQ= Received: from DB9PR02CA0001.eurprd02.prod.outlook.com (2603:10a6:10:1d9::6) by PA4PR08MB7410.eurprd08.prod.outlook.com (2603:10a6:102:2a2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.22; Tue, 24 May 2022 20:14:48 +0000 Received: from DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:1d9:cafe::ec) by DB9PR02CA0001.outlook.office365.com (2603:10a6:10:1d9::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.23 via Frontend Transport; Tue, 24 May 2022 20:14:47 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT022.mail.protection.outlook.com (100.127.142.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14 via Frontend Transport; Tue, 24 May 2022 20:14:47 +0000 Received: ("Tessian outbound 07c1c99345b0:v119"); Tue, 24 May 2022 20:14:47 +0000 X-CR-MTA-TID: 64aa7808 Received: from 4461b5df6604.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 355432AB-7FAA-41BD-9671-A1A47EAB126F.1; Tue, 24 May 2022 20:14:42 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4461b5df6604.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 24 May 2022 20:14:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AWBEY0NdJ8oQ4Sx6H/H7gHLD9YjVJ12r7PYhvhD1dEswy4URQvtvqgZi/YaaZKPIqm15ooc28LZ/k307Wi1t5TfhMshz1Q+JAm3Mk00M6xyvXikHEgi1Z6m7uTcDs3An4RGes67V7SS/+GJWNL9tARtOej675h4ZTmA04zbShnKGqiTHJA0Bju6p7tT+mijLx3RADNrfGys+gOuaYsptuYfCQOqI7YOIoxxr97LG9tuR3tTMCci24epLh/NIier4ktPUfBFY5qOUO0qlyFThk1qI6SnjNqAofW/WFcccQQXYYiQKp5nxWQY1mCZiX0PmP3EfvNp7xAgBeNqLRBo8rQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Uj669nKOHZA79QwhozxMKGASrkBdhTF/RZk+snnIQ04=; b=e18Vz/pEKhmoXHnQ7ZN2PBlQIzWIw8WI+jac9PH2Y/gk/UbCA9af/O43kZvl0ntx5tvMmV/wmMHvJUQLQE7xDK8M+i/cZumokvgA4CH0KibWDgQZLPfZ9Sn0+0gKs4VLWQ0msCEmVEi9V+TyexSokZ5OX+wP51Wtln1AliMSOawq3I0e7wQnMfvr+wOIsasRNbvuceflCNnz7BBDXFT8wMl8sy/OdDNfOTWfy2FYz/+KqORBzpWheaE3JB2a7sMp6DZsiAt9VsyAaeEN8ZwzkoAFG6zxPoyf1CmiM3jWxz7+JaYvM9+/LWkETVZdt6PqixMrEyIKSHzx/blUZBvKYg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Uj669nKOHZA79QwhozxMKGASrkBdhTF/RZk+snnIQ04=; b=0Pj5EXUmS43VY/yPuOiXkBFLhcr0EpGxPbgWleCrdqZGoUeETWbANzzTTgfvHAzP7x/rYES0FpW8q77shTChNHsrUi+o+YHI6i36ujh1GXBDOF2QvAOjzGfuuaOzr38GlfLuD7Zv8QkjKQFwuYCqB/HmhZ04Ui6lAw93JWQ44nQ= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by AM6PR08MB4676.eurprd08.prod.outlook.com (2603:10a6:20b:d0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.17; Tue, 24 May 2022 20:14:31 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::f99f:a9c3:fe71:368a]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::f99f:a9c3:fe71:368a%6]) with mapi id 15.20.5293.013; Tue, 24 May 2022 20:14:31 +0000 From: Honnappa Nagarahalli To: Konstantin Ananyev , Feifei Wang CC: nd , "dev@dpdk.org" , Ruifeng Wang , "honnappanagarahalli@gmail.com" , nd Subject: RE: [PATCH v1 0/5] Direct re-arming of buffers on receive side Thread-Topic: [PATCH v1 0/5] Direct re-arming of buffers on receive side Thread-Index: AQHYaOu4EddlA+nThkio6GVpTNxEK60tSI6AgAEaNPA= Date: Tue, 24 May 2022 20:14:30 +0000 Message-ID: References: <20220420081650.2043183-1-feifei.wang2@arm.com> <20220516061012.618787-1-feifei.wang2@arm.com> <5320c9dd-8f53-155e-7900-ff02bfa11b4d@yandex.ru> In-Reply-To: <5320c9dd-8f53-155e-7900-ff02bfa11b4d@yandex.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 69444C88D6F0654A9B2C8FBFE7293DC1.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-MS-Office365-Filtering-Correlation-Id: ce65ecfc-bf5f-4811-416f-08da3dc20d14 x-ms-traffictypediagnostic: AM6PR08MB4676:EE_|DBAEUR03FT022:EE_|PA4PR08MB7410:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: YOiGLtArMH5Z5WpG1KzZTWc0Tq4NhHCSVjeSXukH6ZQhVqmqrzsOWYz8lJzjRoubIfmWdAfZ+Paazxpv3rIcZhjJ4zJ4mkQMzKalU/gshO7f6C2Gr/qb3BbBICkESWFvXa757LsGDPFGHAzcwS/UCTWpgUe+nMpilPHd+zQsCYPJk1Hz2ra6qNyjr5gtvBw69QESZvSKaFPvMJbulGUDwk9geCWwdCRscI5G2Nusi0bVI8i30WBHK48io5YDrbNz3Xbar/II/A7XreH0myM6cjfIPQRJeyzomBrR72NjwV8lLbKwphmDXO375jePgbSAec6Yw0i8/kJ7YMdO/p9jR41x+1YXYNNt5zSkdqlGgKIvwtlYWUsg51iAIEFWmiaINGl9cGdgshuBTpJpC1IaVs891L8+W1YauFP7kiUgYB+oFwr1cOscLc7EeMSk7iO510Kj0bJ+OSDCaCPc3SlfRVK3tIaYU99xuV2ijMqQkwJQfsaapS/TFpYzMzSp3pX38vfCKM9BpTyXY6Q8eiFrXmYNoNGeOfPxZvsMHVvZIV8TZwkEYLmHAe8s51kfNtl6HvVu99W4GmHpyvlayPd//Y8/boBwrUBghRMxV22Krhz/5epcjxZ8F/owqc6QsabT5nNsSzkK/nyl1VlUsWsz21pD/e95Q2xnJM/Cl3NhpGHmXm2uM9ZUUUWU2e4Gm1k5jQNNOvLXKPsXBhA3EBHn1aYMSWf235IJbZ8C4P7wwNf/2jiVVaf+sZfpYEqMz1e5 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(66476007)(8676002)(4326008)(966005)(64756008)(76116006)(83380400001)(122000001)(71200400001)(54906003)(66946007)(38070700005)(66446008)(86362001)(55016003)(6636002)(316002)(110136005)(26005)(9686003)(186003)(38100700002)(7696005)(6506007)(33656002)(2906002)(52536014)(8936002)(5660300002)(508600001)(66556008)(23180200003); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4676 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: bf9ac501-1f4e-4dad-e805-08da3dc20306 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qeu9T1Y5HeG/8cdqtNzn63UyAhLiMGiBoQdrjQGshKDLh+RnyKNftfASp6Kl7PdI4cBV2MDx4Apd2ifNyOwUTGWV9Ovq1+acSPOMLA/TlhW6H9XoKlo0cMkTceAQxKOi2q0hHoVEQ5oTg3Le8WaoJMgTaJbJhd9nN5V/FBW+9SHh245qaoEFPkpmkdRyeJXpCcNCHJiAIr4WNmB+gdymWXSspW0h2Tbv55aY43gWHeWvFY2IeMkmf5f7ZZwogT2ccvW1WrMxlibzoHvkXlYdddXRYaeJ2bbHMpjkwdR1czcITESrNoEhb84gPqpIWU5xiBzkBqWPnGztvMEcE61OI4wSOrP/d1VeUHP4XkAyCow5st9XrCfIry0YbMJdYCaLSJsEA1I7B3gX6Cz7Xvxu5gYaHTrmwBaoN13TD7a0cMj0jV1y/2SmtN8hr4JzJXQKQpGL8HWdlQU3tFAj86StSggdTjQrmFO1RJ7GS1u6wxd4W6KLRNiiOlKxe2+NW7BphqiKCxUrW7BJWzjb+QXeUFwEapxUi36FXITaJpG4znxyUG2DK0o7SOOMs6h/HZwvawjYnNQhZK3BYfHfurTXT9b6t55Fx/Cabamkgo5DpDz4BPqjyEVcvkeDHO5GRH+zESfVHKixrU2YuIbUnR41gYko+RwHR/F2sO5waRXb3g6hrp6NA5SoGyXhyu58G4qvrfIuII2dGeSzO0G988YZSg== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230001)(4636009)(40470700004)(36840700001)(46966006)(70586007)(70206006)(9686003)(4326008)(7696005)(508600001)(33656002)(83380400001)(26005)(6506007)(8676002)(36860700001)(186003)(47076005)(336012)(5660300002)(8936002)(52536014)(356005)(81166007)(2906002)(6636002)(316002)(82310400005)(40460700003)(86362001)(54906003)(110136005)(55016003)(966005)(23180200003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2022 20:14:47.8571 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ce65ecfc-bf5f-4811-416f-08da3dc20d14 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7410 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PHNuaXA+DQoNCj4gDQo+IFtrb25zdGFudGluLnYuYW5hbnlldkB5YW5kZXgucnUgYXBwZWFycyBz aW1pbGFyIHRvIHNvbWVvbmUgd2hvDQo+IHByZXZpb3VzbHkgc2VudCB5b3UgZW1haWwsIGJ1dCBt YXkgbm90IGJlIHRoYXQgcGVyc29uLiBMZWFybiB3aHkgdGhpcyBjb3VsZA0KPiBiZSBhIHJpc2sg YXQgaHR0cHM6Ly9ha2EubXMvTGVhcm5BYm91dFNlbmRlcklkZW50aWZpY2F0aW9uLl0NCj4gDQo+ IDE2LzA1LzIwMjIgMDc6MTAsIEZlaWZlaSBXYW5nINC/0LjRiNC10YI6DQo+ID4NCj4gPj4+IEN1 cnJlbnRseSwgdGhlIHRyYW5zbWl0IHNpZGUgZnJlZXMgdGhlIGJ1ZmZlcnMgaW50byB0aGUgbGNv cmUgY2FjaGUNCj4gPj4+IGFuZCB0aGUgcmVjZWl2ZSBzaWRlIGFsbG9jYXRlcyBidWZmZXJzIGZy b20gdGhlIGxjb3JlIGNhY2hlLiBUaGUNCj4gPj4+IHRyYW5zbWl0IHNpZGUgdHlwaWNhbGx5IGZy ZWVzIDMyIGJ1ZmZlcnMgcmVzdWx0aW5nIGluIDMyKjg9MjU2QiBvZg0KPiA+Pj4gc3RvcmVzIHRv IGxjb3JlIGNhY2hlLiBUaGUgcmVjZWl2ZSBzaWRlIGFsbG9jYXRlcyAzMiBidWZmZXJzIGFuZA0K PiA+Pj4gc3RvcmVzIHRoZW0gaW4gdGhlIHJlY2VpdmUgc2lkZSBzb2Z0d2FyZSByaW5nLCByZXN1 bHRpbmcgaW4NCj4gPj4+IDMyKjg9MjU2QiBvZiBzdG9yZXMgYW5kIDI1NkIgb2YgbG9hZCBmcm9t IHRoZSBsY29yZSBjYWNoZS4NCj4gPj4+DQo+ID4+PiBUaGlzIHBhdGNoIHByb3Bvc2VzIGEgbWVj aGFuaXNtIHRvIGF2b2lkIGZyZWVpbmcgdG8vYWxsb2NhdGluZyBmcm9tDQo+ID4+PiB0aGUgbGNv cmUgY2FjaGUuIGkuZS4gdGhlIHJlY2VpdmUgc2lkZSB3aWxsIGZyZWUgdGhlIGJ1ZmZlcnMgZnJv bQ0KPiA+Pj4gdHJhbnNtaXQgc2lkZSBkaXJlY3RseSBpbnRvIGl0J3Mgc29mdHdhcmUgcmluZy4g VGhpcyB3aWxsIGF2b2lkIHRoZQ0KPiA+Pj4gMjU2QiBvZiBsb2FkcyBhbmQgc3RvcmVzIGludHJv ZHVjZWQgYnkgdGhlIGxjb3JlIGNhY2hlLiBJdCBhbHNvDQo+ID4+PiBmcmVlcyB1cCB0aGUgY2Fj aGUgbGluZXMgdXNlZCBieSB0aGUgbGNvcmUgY2FjaGUuDQo+ID4+Pg0KPiA+Pj4gSG93ZXZlciwg dGhpcyBzb2x1dGlvbiBwb3NlcyBzZXZlcmFsIGNvbnN0cmFpbnRzOg0KPiA+Pj4NCj4gPj4+IDEp VGhlIHJlY2VpdmUgcXVldWUgbmVlZHMgdG8ga25vdyB3aGljaCB0cmFuc21pdCBxdWV1ZSBpdCBz aG91bGQNCj4gPj4+IHRha2UgdGhlIGJ1ZmZlcnMgZnJvbS4gVGhlIGFwcGxpY2F0aW9uIGxvZ2lj IGRlY2lkZXMgd2hpY2ggdHJhbnNtaXQNCj4gPj4+IHBvcnQgdG8gdXNlIHRvIHNlbmQgb3V0IHRo ZSBwYWNrZXRzLiBJbiBtYW55IHVzZSBjYXNlcyB0aGUgTklDIG1pZ2h0DQo+ID4+PiBoYXZlIGEg c2luZ2xlIHBvcnQgKFsxXSwgWzJdLCBbM10pLCBpbiB3aGljaCBjYXNlIGEgZ2l2ZW4gdHJhbnNt aXQNCj4gPj4+IHF1ZXVlIGlzIGFsd2F5cyBtYXBwZWQgdG8gYSBzaW5nbGUgcmVjZWl2ZSBxdWV1 ZSAoMToxIFJ4IHF1ZXVlOiBUeA0KPiA+Pj4gcXVldWUpLiBUaGlzIGlzIGVhc3kgdG8gY29uZmln dXJlLg0KPiA+Pj4NCj4gPj4+IElmIHRoZSBOSUMgaGFzIDIgcG9ydHMgKHRoZXJlIGFyZSBzZXZl cmFsIHJlZmVyZW5jZXMpLCB0aGVuIHdlIHdpbGwNCj4gPj4+IGhhdmUNCj4gPj4+IDE6MiAoUlgg cXVldWU6IFRYIHF1ZXVlKSBtYXBwaW5nIHdoaWNoIGlzIHN0aWxsIGVhc3kgdG8gY29uZmlndXJl Lg0KPiA+Pj4gSG93ZXZlciwgaWYgdGhpcyBpcyBnZW5lcmFsaXplZCB0byAnTicgcG9ydHMsIHRo ZSBjb25maWd1cmF0aW9uIGNhbg0KPiA+Pj4gYmUgbG9uZy4gTW9yZSBvdmVyIHRoZSBQTUQgd291 bGQgaGF2ZSB0byBzY2FuIGEgbGlzdCBvZiB0cmFuc21pdA0KPiA+Pj4gcXVldWVzIHRvIHB1bGwg dGhlIGJ1ZmZlcnMgZnJvbS4NCj4gPg0KPiA+PiBKdXN0IHRvIHJlLWl0ZXJhdGUgc29tZSBnZW5l cmljIGNvbmNlcm5zIGFib3V0IHRoaXMgcHJvcG9zYWw6DQo+ID4+ICAgLSBXZSBlZmZlY3RpdmVs eSBsaW5rIFJYIGFuZCBUWCBxdWV1ZXMgLSB3aGVuIHRoaXMgZmVhdHVyZSBpcyBlbmFibGVkLA0K PiA+PiAgICAgdXNlciBjYW4ndCBzdG9wIFRYIHF1ZXVlIHdpdGhvdXQgc3RvcHBpbmcgbGlua2Vk IFJYIHF1ZXVlIGZpcnN0Lg0KPiA+PiAgICAgUmlnaHQgbm93IHVzZXIgaXMgZnJlZSB0byBzdGFy dC9zdG9wIGFueSBxdWV1ZXMgYXQgaGlzIHdpbGwuDQo+ID4+ICAgICBJZiB0aGF0IGZlYXR1cmUg d2lsbCBhbGxvdyB0byBsaW5rIHF1ZXVlcyBmcm9tIGRpZmZlcmVudCBwb3J0cywNCj4gPj4gICAg IHRoZW4gZXZlbiBwb3J0cyB3aWxsIGJlY29tZSBkZXBlbmRlbnQgYW5kIHVzZXIgd2lsbCBoYXZl IHRvIHBheSBleHRyYQ0KPiA+PiAgICAgY2FyZSB3aGVuIG1hbmFnaW5nIHN1Y2ggcG9ydHMuDQo+ ID4NCj4gPiBbRmVpZmVpXSBXaGVuIGRpcmVjdCByZWFybSBlbmFibGVkLCB0aGVyZSBhcmUgdHdv IHBhdGggZm9yIHRocmVhZCB0bw0KPiA+IGNob29zZS4gSWYgdGhlcmUgYXJlIGVub3VnaCBUeCBm cmVlZCBidWZmZXJzLCBSeCBjYW4gcHV0IGJ1ZmZlcnMgZnJvbQ0KPiA+IFR4Lg0KPiA+IE90aGVy d2lzZSwgUnggd2lsbCBwdXQgYnVmZmVycyBmcm9tIG1lbXBvb2wgYXMgdXN1YWwuIFRodXMsIHVz ZXJzIGRvDQo+ID4gbm90IG5lZWQgdG8gcGF5IG11Y2ggYXR0ZW50aW9uIG1hbmFnaW5nIHBvcnRz Lg0KPiANCj4gV2hhdCBJIGFtIHRhbGtpbmcgYWJvdXQ6IHJpZ2h0IG5vdyBkaWZmZXJlbnQgcG9y dCBvciBkaWZmZXJlbnQgcXVldWVzIG9mIHRoZQ0KPiBzYW1lIHBvcnQgY2FuIGJlIHRyZWF0ZWQg YXMgaW5kZXBlbmRlbnQgZW50aXRpZXM6DQo+IGluIGdlbmVyYWwgdXNlciBpcyBmcmVlIHRvIHN0 YXJ0L3N0b3AgKGFuZCBldmVuIHJlY29uZmlndXJlIGluIHNvbWUNCj4gY2FzZXMpIG9uZSBlbnRp dHkgd2l0aG91dCBuZWVkIHRvIHN0b3Agb3RoZXIgZW50aXR5Lg0KPiBJLkUgdXNlciBjYW4gc3Rv cCBhbmQgcmUtY29uZmlndXJlIFRYIHF1ZXVlIHdoaWxlIGtlZXAgcmVjZWl2aW5nIHBhY2tldHMg ZnJvbQ0KPiBSWCBxdWV1ZS4NCj4gV2l0aCBkaXJlY3QgcmUtYXJtIGVuYWJsZWQsIEkgdGhpbmsg aXQgd291bGRuJ3QgYmUgcG9zc2libGUgYW55IG1vcmU6DQo+IGJlZm9yZSBzdG9wcGluZy9yZWNv bmZpZ3VyaW5nIFRYIHF1ZXVlIHVzZXIgd291bGQgaGF2ZSBtYWtlIHN1cmUgdGhhdA0KPiBjb3Jy ZXNwb25kaW5nIFJYIHF1ZXVlIHdvdWxkbid0IGJlIHVzZWQgYnkgZGF0YXBhdGguDQpJIGFtIHRy eWluZyB0byB1bmRlcnN0YW5kIHRoZSBwcm9ibGVtIGJldHRlci4gRm9yIHRoZSBUWCBxdWV1ZSB0 byBiZSBzdG9wcGVkLCB0aGUgdXNlciBtdXN0IGhhdmUgYmxvY2tlZCB0aGUgZGF0YSBwbGFuZSBm cm9tIGFjY2Vzc2luZyB0aGUgVFggcXVldWUuIExpa2UgRmVpZmVpIHNheXMsIHRoZSBSWCBzaWRl IGhhcyB0aGUgbm9ybWFsIHBhY2tldCBhbGxvY2F0aW9uIHBhdGggc3RpbGwgYXZhaWxhYmxlLg0K QWxzbyB0aGlzIHNvdW5kcyBsaWtlIGEgY29ybmVyIGNhc2UgdG8gbWUsIHdlIGNhbiBoYW5kbGUg dGhpcyB0aHJvdWdoIGNoZWNrcyBpbiB0aGUgcXVldWVfc3RvcCBBUEkuDQoNCj4gDQo+ID4NCj4g Pj4gLSB2ZXJ5IGxpbWl0ZWQgdXNhZ2Ugc2NlbmFyaW8gLSBpdCB3aWxsIGhhdmUgYSBwb3NpdGl2 ZSBlZmZlY3Qgb25seQ0KPiA+PiAgICB3aGVuIHdlIGhhdmUgYSBmaXhlZCBmb3J3YXJkaW5nIG1h cHBpbmc6IGFsbCAob3IgbmVhcmx5IGFsbCkgcGFja2V0cw0KPiA+PiAgICBmcm9tIHRoZSBSWCBx dWV1ZSBhcmUgZm9yd2FyZGVkIGludG8gdGhlIHNhbWUgVFggcXVldWUuDQo+ID4NCj4gPiBbRmVp ZmVpXSBBbHRob3VnaCB0aGUgdXNhZ2Ugc2NlbmFyaW8gaXMgbGltaXRlZCwgdGhpcyB1c2FnZSBz Y2VuYXJpbw0KPiA+IGhhcyBhIHdpZGUgcmFuZ2Ugb2YgYXBwbGljYXRpb25zLCBzdWNoIGFzIE5J QyB3aXRoIG9uZSBwb3J0Lg0KPiANCj4geWVzLCB0aGVyZSBhcmUgTklDcyB3aXRoIG9uZSBwb3J0 LCBidXQgbm8gZ3VhcmFudGVlIHRoZXJlIHdvdWxkbid0IGJlIHNldmVyYWwNCj4gc3VjaCBOSUNz IHdpdGhpbiB0aGUgc3lzdGVtLg0KV2hhdCBJIHNlZSBpbiBteSBpbnRlcmFjdGlvbnMgaXMsIGEg c2luZ2xlIE5JQy9EUFUgaXMgdW5kZXIgdXRpbGl6ZWQgZm9yIGEgMiBzb2NrZXQgc3lzdGVtLiBT b21lIGFyZSBhZGRpbmcgbW9yZSBzb2NrZXRzIHRvIHRoZSBzeXN0ZW0gdG8gYmV0dGVyIHV0aWxp emUgdGhlIERQVS4gVGhlIE5JQyBiYW5kd2lkdGggY29udGludWVzIHRvIGdyb3cgc2lnbmlmaWNh bnRseS4gSSBkbyBub3QgdGhpbmsgdGhlcmUgd2lsbCBiZSBhIG11bHRpLURQVSBwZXIgc2VydmVy IHNjZW5hcmlvLg0KDQo+IA0KPiA+IEZ1cnRyaGVybW9yZSwgSSB0aGluayB0aGlzIGlzIGEgdHJh ZGVvZmYgYmV0d2VlbiBwZXJmb3JtYW5jZSBhbmQNCj4gPiBmbGV4aWJpbGl0eS4NCj4gPiBPdXIg Z29hbCBpcyB0byBhY2hpZXZlIGJlc3QgcGVyZm9ybWFuY2UsIHRoaXMgbWVhbnMgd2UgbmVlZCB0 byBnaXZlIHVwDQo+ID4gc29tZSBmbGV4aWJpbGl0eSBkZWNpc2l2ZWx5LiBGb3IgZXhhbXBsZSBv ZiAnRkFTVF9GUkVFIE1vZGUnLCBpdA0KPiA+IGRlbGV0ZXMgbW9zdCBvZiB0aGUgYnVmZmVyIGNo ZWNrIChyZWZjbnQgPiAxLCBleHRlcm5hbCBidWZmZXIsIGNoYWluDQo+ID4gYnVmZmVyKSwgY2hv b3NlcyBhIHNob3Jlc3QgcGF0aCwgYW5kIHRoZW4gYWNoaWV2ZSBzaWduaWZpY2FudCBwZXJmb3Jt YW5jZQ0KPiBpbXByb3ZlbWVudC4NCj4gPj4gV29uZGVyIGRpZCB5b3UgaGFkIGEgY2hhbmNlIHRv IGNvbnNpZGVyIG1lbXBvb2wtY2FjaGUgWkMgQVBJLCBzaW1pbGFyDQo+ID4+IHRvIG9uZSB3ZSBo YXZlIGZvciB0aGUgcmluZz8NCj4gPj4gSXQgd291bGQgYWxsb3cgdXMgb24gVFggZnJlZSBwYXRo IHRvIGF2b2lkIGNvcHlpbmcgbWJ1ZnMgdG8gdGVtcG9yYXJ5DQo+ID4+IGFycmF5IG9uIHRoZSBz dGFjay4NCj4gPj4gSW5zdGVhZCB3ZSBjYW4gcHV0IHRoZW0gc3RyYWlnaHQgZnJvbSBUWCBTVyBy aW5nIHRvIHRoZSBtZW1wb29sIGNhY2hlLg0KPiA+PiBUaGF0IHNob3VsZCBzYXZlIGV4dHJhIHN0 b3JlL2xvYWQgZm9yIG1idWYgYW5kIG1pZ2h0IGhlbHAgdG8gYWNoaWV2ZQ0KPiA+PiBzb21lIHBl cmZvcm1hbmNlIGdhaW4gd2l0aG91dCBieS1wYXNzaW5nIG1lbXBvb2wuDQo+ID4+IEl0IHByb2Jh Ymx5IHdvdWxkbid0IGJlIGFzIGZhc3QgYXMgd2hhdCB5b3UgcHJvcG9zaW5nLCBidXQgbWlnaHQg YmUNCj4gPj4gZmFzdCBlbm91Z2ggdG8gY29uc2lkZXIgYXMgYWx0ZXJuYXRpdmUuDQo+ID4+IEFn YWluLCBpdCB3b3VsZCBiZSBhIGdlbmVyaWMgb25lLCBzbyB3ZSBjYW4gYXZvaWQgYWxsIHRoZXNl DQo+ID4+IGltcGxpY2F0aW9ucyBhbmQgbGltaXRhdGlvbnMuDQo+ID4NCj4gPiBbRmVpZmVpXSBJ IHRoaW5rIHRoaXMgaXMgYSBnb29kIHRyeS4gSG93ZXZlciwgdGhlIG1vc3QgaW1wb3J0YW50IHRo aW5nDQo+ID4gaXMgdGhhdCBpZiB3ZSBjYW4gYnlwYXNzIHRoZSBtZW1wb29sIGRlY2lzaXZlbHkg dG8gcHVyc3VlIHRoZQ0KPiA+IHNpZ25pZmljYW50IHBlcmZvcm1hbmNlIGdhaW5zLg0KPiANCj4g SSB1bmRlcnN0YW5kIHRoZSBpbnRlbnRpb24sIGFuZCBJIHBlcnNvbmFsbHkgdGhpbmsgdGhpcyBp cyB3cm9uZyBhbmQgZGFuZ2Vyb3VzDQo+IGF0dGl0dWRlLg0KPiBXZSBoYXZlIG1lbXBvb2wgYWJz dHJhY3Rpb24gaW4gcGxhY2UgZm9yIHZlcnkgZ29vZCByZWFzb24uDQo+IFNvIHdlIG5lZWQgdG8g dHJ5IHRvIGltcHJvdmUgbWVtcG9vbCBwZXJmb3JtYW5jZSAoYW5kIEFQSSBpZiBuZWNlc3Nhcnkp IGF0DQo+IGZpcnN0IHBsYWNlLCBub3QgdG8gYXZvaWQgaXQgYW5kIGJyZWFrIG91ciBvd24gcnVs ZXMgYW5kIHJlY29tbWVuZGF0aW9ucy4NClRoZSBhYnN0cmFjdGlvbiBjYW4gYmUgdGhvdWdodCBv ZiBhdCBhIGhpZ2hlciBsZXZlbC4gaS5lLiB0aGUgZHJpdmVyIG1hbmFnZXMgdGhlIGJ1ZmZlciBh bGxvY2F0aW9uL2ZyZWUgYW5kIGlzIGhpZGRlbiBmcm9tIHRoZSBhcHBsaWNhdGlvbi4gVGhlIGFw cGxpY2F0aW9uIGRvZXMgbm90IG5lZWQgdG8gYmUgYXdhcmUgb2YgaG93IHRoZXNlIGNoYW5nZXMg YXJlIGltcGxlbWVudGVkLiANCg0KPiANCj4gDQo+ID4gRm9yIFpDLCB0aGVyZSBtYXliZSBhIHBy b2JsZW0gZm9yIGl0IGluIGk0MGUuIFRoZSByZWFzb24gZm9yIHRoYXQgcHV0DQo+ID4gVHggYnVm ZmVycyBpbnRvIHRlbXBvcmFyeSBpcyB0aGF0IGk0MGVfdHhfZW50cnkgaW5jbHVkZXMgYnVmZmVy DQo+ID4gcG9pbnRlciBhbmQgaW5kZXguDQo+ID4gVGh1cyB3ZSBjYW5ub3QgcHV0IFR4IFNXX3Jp bmcgZW50cnkgaW50byBtZW1wb29sIGRpcmVjdGx5LCB3ZSBuZWVkIHRvDQo+ID4gZmlyc3RsdCBl eHRyYWN0IG1idWYgcG9pbnRlci4gRmluYWxseSwgdGhvdWdoIHdlIHVzZSBaQywgd2Ugc3RpbGwN Cj4gPiBjYW4ndCBhdm9pZCB1c2luZyBhIHRlbXBvcmFyeSBzdGFjayB0byBleHRyYWN0IFR4IGJ1 ZmZlciBwb2ludGVycy4NCj4gDQo+IFdoZW4gdGFsa2luZyBhYm91dCBaQyBBUEkgZm9yIG1lbXBv b2wgY2FjaGUgSSBtZWFudCBzb21ldGhpbmcgbGlrZToNCj4gdm9pZCAqKiBtZW1wb29sX2NhY2hl X3B1dF96Y19zdGFydChzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKm1jLA0KPiB1aW50MzJfdCAq bmJfZWxlbSwgdWludDMyX3QgZmxhZ3MpOyB2b2lkIG1lbXBvb2xfY2FjaGVfcHV0X3pjX2Zpbmlz aChzdHJ1Y3QNCj4gcnRlX21lbXBvb2xfY2FjaGUgKm1jLCB1aW50MzJfdCBuYl9lbGVtKTsgaS5l LiBfc3RhcnRfIHdpbGwgcmV0dXJuIHVzZXIgYQ0KPiBwb2ludGVyIGluc2lkZSBtcC1jYWNoZSB3 aGVyZSB0byBwdXQgZnJlZSBlbGVtcyBhbmQgbWF4IG51bWJlciBvZiBzbG90cw0KPiB0aGF0IGNh biBiZSBzYWZlbHkgZmlsbGVkLg0KPiBfZmluaXNoXyB3aWxsIHVwZGF0ZSBtYy0+bGVuLg0KPiBB cyBhbiBleGFtcGxlOg0KPiANCj4gLyogZXhwZWN0IHRvIGZyZWUgTiBtYnVmcyAqLw0KPiB1aW50 MzJfdCBuID0gTjsNCj4gdm9pZCAqKnAgPSBtZW1wb29sX2NhY2hlX3B1dF96Y19zdGFydChtYywg Jm4sIC4uLik7DQo+IA0KPiAvKiBmcmVlIHVwIHRvIG4gZWxlbXMgKi8NCj4gZm9yIChpID0gMDsg aSAhPSBuOyBpKyspIHsNCj4gDQo+ICAgIC8qIGdldCBuZXh0IGZyZWUgbWJ1ZiBmcm9tIHNvbWV3 aGVyZSAqLw0KPiAgICBtYiA9IGV4dHJhY3RfYW5kX3ByZWZyZWVfbWJ1ZiguLi4pOw0KPiANCj4g ICAgLyogbm8gbW9yZSBmcmVlIG1idWZzIGZvciBub3cgKi8NCj4gICAgaWYgKG1iID09IE5VTEwp DQo+ICAgICAgIGJyZWFrOw0KPiANCj4gICAgcFtpXSA9IG1iOw0KPiB9DQo+IA0KPiAvKiBmaW5h bGl6ZSBaQyBwdXQsIHdpdGggX2lfIGZyZWVkIGVsZW1zICovIG1lbXBvb2xfY2FjaGVfcHV0X3pj X2ZpbmlzaChtYywNCj4gaSk7DQo+IA0KPiBUaGF0IHdheSwgSSB0aGluayB3ZSBjYW4gb3ZlcmNv bWUgdGhlIGlzc3VlIHdpdGggaTQwZV90eF9lbnRyeSB5b3UNCj4gbWVudGlvbmVkIGFib3ZlLiBQ bHVzIGl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiBvdGhlciBzaW1pbGFyIHBsYWNlcy4NCj4gDQo+IEFu b3RoZXIgYWx0ZXJuYXRpdmUgaXMgb2J2aW91c2x5IHRvIHNwbGl0IGk0MGVfdHhfZW50cnkgaW50 byB0d28gc3RydWN0cyAob25lDQo+IGZvciBtYnVmLCBzZWNvbmQgZm9yIGl0cyBtZXRhZGF0YSkg YW5kIGhhdmUgYSBzZXBhcmF0ZSBhcnJheSBmb3IgZWFjaCBvZg0KPiB0aGVtLg0KPiBUaG91Z2gg d2l0aCB0aGF0IGFwcHJvYWNoIHdlIG5lZWQgdG8gbWFrZSBzdXJlIG5vIHBlcmYgZHJvcHMgd2ls bCBiZQ0KPiBpbnRyb2R1Y2VkLCBwbHVzIHByb2JhYmx5IG1vcmUgY29kZSBjaGFuZ2VzIHdpbGwg YmUgcmVxdWlyZWQuDQpDb21taXQgJzUxNzFiNGVlNmI2IiBhbHJlYWR5IGRvZXMgdGhpcyAoaW4g YSBkaWZmZXJlbnQgd2F5KSwgYnV0IGp1c3QgZm9yIEFWWDUxMi4gVW5mb3J0dW5hdGVseSwgaXQg ZG9lcyBub3QgcmVjb3JkIGFueSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMuIFdlIGNvdWxkIHBv cnQgdGhpcyB0byBBcm0gTkVPTiBhbmQgbG9vayBhdCB0aGUgcGVyZm9ybWFuY2UuDQoNCj4gDQo+ IA0KPiANCj4gDQoNCg==