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 0409BA0352; Tue, 8 Feb 2022 15:12:07 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E4F6D41141; Tue, 8 Feb 2022 15:12:06 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2077.outbound.protection.outlook.com [40.107.236.77]) by mails.dpdk.org (Postfix) with ESMTP id 56B68410FC for ; Tue, 8 Feb 2022 15:12:05 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sili7xeHqs7U77lHGegSAOItzXQ9jmUwfh4BaG2yFkIewmGeFHAZSJS3kUJEhFJcQkVsEIqhe9gK+hqleAm+pb9DkIGLv2SG8YxUGr13zRmq/extu2x4Ht0HiiDlZmo0wn8Y5jhb8ye//wPJGbq0ZOJRTD96w3fzmTiJLWAfMPeiIs278uxSvGtlCWn8jvl241xefJX8c6wIYKbq6cAT/nTXqbq5TLGSRrMbudK1t4NYwU4KIol2Ko0OUgWAWP9cLEd5wGcRIiz5lRU/goIPiFDaSO/S1425HaEttWfYhq+HWelzDnEnUPMoAocpf3Qz9tvBCIkbE3B1AUrWZOuZ8w== 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=HVvTBOSL6K6zewO+Dfd/ogf+/cJX3BUwr4OT2Kftg40=; b=h/qTtQxBjustaokwc+ELFANo6iixq4sdlKIo77sd8M0NWTzJhxXM427dvVXMHUKHsKsDKUmlSk1EVpU7YGHc0P0zrdo4jXtcaeD9M9Ly/Smu/33/hiaqFoV/hVifM7WTopZEKwh3CCPmrYfxteftAT5hjudeRfQ46SinPoBLgGEqnOYpBg0jKcjzUXWvD0FPgUJrEPpWd9K45xJIRweZ2HOOMMx3hQVmUNVnTQezfCr+yI+tYpsgWDat3XtYloORDVoPAKNLAuG2EfqjOzga1ITnKI0pg9+qxqw8J/q6jQc4mecYIhpoUFtrfQKh+9S9XVHgjwBflH75vyidajS/Jg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HVvTBOSL6K6zewO+Dfd/ogf+/cJX3BUwr4OT2Kftg40=; b=VZ31ZXb0rtUcQpAcaOhYolTyMfqchq6xhyOA+zIJXN03kAbyLQiEAOxmnkw1/amc2ljUTdHRWshVmU16G2qFWyHFH31ZZ5qL+WlQziRvURCvupHOW+rRFFljpsX2gd6NFHCTJ8TdbAzoQLLVWOFlLMB22IE6BdoFvhITfgbo+/+YMPuHtwRA9fJ5iEMQ85BZklxNE7D7G2wKSjHS1zFdpcf8ws4uvaF7XJjmwkvNPLhUlPhOmWnGgVhogYo92VGBRcx/W1KR1IcKL01BTX3f/pWJqIb7/sVY/sOw9ZlQKtc4nvlFUXTgP+FUnjMOHHv3v03kNrYXQyy6K2ConaFIQA== Received: from DM5PR12MB1626.namprd12.prod.outlook.com (2603:10b6:4:d::17) by MN2PR12MB3136.namprd12.prod.outlook.com (2603:10b6:208:d1::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.11; Tue, 8 Feb 2022 14:11:54 +0000 Received: from MW2PR12MB2412.namprd12.prod.outlook.com (2603:10b6:907:b::33) by DM5PR12MB1626.namprd12.prod.outlook.com (2603:10b6:4:d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.17; Tue, 8 Feb 2022 14:11:52 +0000 Received: from MW2PR12MB2412.namprd12.prod.outlook.com ([fe80::65a1:3a8d:16e9:8399]) by MW2PR12MB2412.namprd12.prod.outlook.com ([fe80::65a1:3a8d:16e9:8399%3]) with mapi id 15.20.4951.017; Tue, 8 Feb 2022 14:11:52 +0000 From: Alexander Kozyrev To: Jerin Jacob CC: dpdk-dev , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Ivan Malov , Andrew Rybchenko , Ferruh Yigit , "mohammad.abdul.awal@intel.com" , Qi Zhang , Jerin Jacob , Ajit Khaparde Subject: RE: [PATCH v3 03/10] ethdev: bring in async queue-based flow rules operations Thread-Topic: [PATCH v3 03/10] ethdev: bring in async queue-based flow rules operations Thread-Index: AQHYGwlnDmLMwesmoUSfsU5L65HKrKyJfvsAgAAsWwA= Date: Tue, 8 Feb 2022 14:11:52 +0000 Message-ID: References: <20220118153027.3947448-1-akozyrev@nvidia.com> <20220206032526.816079-1-akozyrev@nvidia.com> <20220206032526.816079-4-akozyrev@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0c3eb4ac-2e2e-43b1-5cbc-08d9eb0cf48d x-ms-traffictypediagnostic: DM5PR12MB1626:EE_|MN2PR12MB3136:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cIgnb7ahtTKbUupFAXp8wz8gfwm86KxCF9iZSoBU/dDl5o6WCy3uSQQo+pmiykFA9l0ThC289EMCf0SnBiBx/I8OY1ZSZwqvClVA3FW5+Rwi4guxo6IGsW9KWQpbaYpIVoLkjdsuY6Xp4zsGX4nA57XJ+4tI9oUA+Cao84+zsqExZOjyuCs3UuwuG4YUZiDVl/88OtxKyBK5DTarKdRkJ1Wq9cpYoBGRCkkntlNwQFY0KGuueWtKsmMlEb/bELo9annTxWJojU4vVJ6IRGWzd70/nvxJOe7XbYxIPsqwM6BYRvx6YH/V6ACrCN24FnHel6qoCTqnG+D2T87/6moKo2yJbCstYqcDdvZTOmyLwn6DBe4aNNFzuhEY0FefowhPzhHduKw49AdyRXOB3uyomo0OdydJR4hI2DehGdpsyy2Z+ZgwHvoloDCc0V7ZFGYzgLKMcTXSZIO4s81aaEhNtU8SZlT+Imr6Pb6AqOx1U5nJXbLb1Jk8bMdX0JY46+wz3qOuywjV3rY3bSenaRJhcNgT7eke1qUcTeJCIm1nZLg8aI7HkIW6fWxfw1T0I8VRjzW77vGlRGJ/bXbjBfK3MeMLCPT4wqn0IkPtwbbG4xC3+jVwydkNNR15tsmYxThqp9C/A+Hbxu7vMbmejaeKXFJwkQGo0Z8lRSOttD4hNFJJRrsEDuFhPV91r0HMz3HC/cjo5Kou2udsIismBfIlfw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR12MB1626.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(2906002)(38100700002)(86362001)(6506007)(7696005)(9686003)(53546011)(71200400001)(508600001)(6916009)(54906003)(316002)(7416002)(5660300002)(76116006)(66946007)(66556008)(66446008)(8676002)(4326008)(8936002)(66476007)(64756008)(55016003)(122000001)(38070700005)(30864003)(83380400001)(52536014)(186003)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ak94bEdacDFkTkxPbFFrWnpWNDdNYXNYRzdmcDluVGZZSW5lbEw5REVjUzZV?= =?utf-8?B?dEIrN0VIS2ZYS1pkY05tMGZTbFpIRGd0WGNIWm81dG9HOUFkYXVEQlBrSTV3?= =?utf-8?B?NDVCSmpGUjZQSzdaTnFFNVVPL1NGOGNQNEFKbWJpeC8ybFY5MDlwNlJKWWNa?= =?utf-8?B?VFhlUkdBODM3cVhQK0xUUThiTnBDaUVmaUdDSkZZQXgvZnVDaTYwd2FObVdN?= =?utf-8?B?UWluSDBMRFVycFkvSkpORlJOR0ttL05sbUlBZktvZDRHNjVLeGhhVVVXQjNZ?= =?utf-8?B?VmZkc3ROVmtrTnMveG5Kclo0VS82SnJXN1VLUEFtQ1dXRUtQWnlHME9HNTFm?= =?utf-8?B?WmZKQnR3cjVrM2pFWTZYeFBjWjBhTm1lb0NCaVZMVkdybEJqT2Y2R0YvVjVU?= =?utf-8?B?N0IrQkVubG5aQUlNVTU4L2VxM2VZZkgycTlkUG5adnlwQXB0MktheTUxYksx?= =?utf-8?B?S2J5SlJmVU1pLzJoMkxoNENUV3JMVElsL1FibWFOTTlpZER6eGpZMVNVMVFE?= =?utf-8?B?MGRrZVlMSnlmcjRJSmM5UVFCRnVRV2FIWVduVnZ0NGVlZnB4akIwTWwwbTk5?= =?utf-8?B?YWZrZ2J3amdhQ3RZa2xSR3dxcEpDa29DUDFIQ3V2R0UrN2FjVnVBRUY0Vzdw?= =?utf-8?B?d1RhNTM2UUtuYmo2SXF3ZTE1TEpuWlhLak9tbjBLOWZwem9BNzR2NkFCcDcv?= =?utf-8?B?dnV6dmViQU5hOEdNaFVYam9CYVM3ejRLY096cFprN05FUEU3U1pLb1VkWlZ4?= =?utf-8?B?OGs1eVRIeUFtZGd4N0dUbzVkYTh1U0RkbUV6M29JdVppdkxqRHorcHhjQ3NP?= =?utf-8?B?V0NEWjRvRmhzVjJWSGQwd3JDV0o1VjhWbk40UDNvVDdEVjdONExCazEweU1D?= =?utf-8?B?eEhUMUhwMDlYQzljWFNuY0M5dHJtNTJCL3dNTVNDekJ5NUlZcVdNRGJFajZF?= =?utf-8?B?YVZzb0JXelQyU1hMSkxvNDFBV2luMjY0ZXRlREtXWjd5Y2VmMDhJMzVrTE5N?= =?utf-8?B?c1RROWU4UFRNbGR4Qk11RWxLZ25ySFZQU3BLQkkxUUJkRmRQeExHVlF4aXph?= =?utf-8?B?ZnNYdXhZcmEwTGJPTGRXbDRVQ3N4U0lLUitKb3ZhazFLOXE3K2ZzMlV0bEtt?= =?utf-8?B?dkF4QStXVWFZNU1RS0huWUM1ODl4NGV4RFZBUmJNQ3lxMjZQRTB5bzZ5Q1Za?= =?utf-8?B?UmVIeGp0L2hiV3ROT3RzMGxHTHBDUHdseTlEbWREaWdLc3BFOE1oZmdJM0tn?= =?utf-8?B?S2VmR3FwTFlwcjc5cDJEWldZK0hxMmlZUmQ3NG1yZGdpdW1sTFF3YzlpR2J5?= =?utf-8?B?VW9zbzI1Wm9TRXdyYW44OUVyWnhGTHhHUkdGU1E3WkliZUw4U2dTMmFBTFJR?= =?utf-8?B?SWxUTlpnYnhYTGhXU1drUEx5aU5QOENUMCtCelFhdTBsQ0VHNDBDNkhPMGxR?= =?utf-8?B?WFo5aGY0eVZDdFRpU1l6Ym00eUU1MSs3Rm1DVklka0JTdmhGMWx4YXFVZGZw?= =?utf-8?B?UlR1TDdFZWVNNER4dDVjMmNpNVluenlQRFhXSWNUTTRlakVNelhxMUVTZWFs?= =?utf-8?B?enorTjZyejhiaVQyaXY5MWF5NTJzLzhDZmhrYjZRc0I0RHY4eG0yd0JHMDgz?= =?utf-8?B?czVqUklWYzFMaFFvQ2NkSGVVTG1qeG95ZmZqaUViVHd6ZmhTUFRNWDZTM1JV?= =?utf-8?B?VEsrWFpyM3ZHa2U0R1J3SFFBeEZRQ0ZjRFNUd2M4cTBOOW5CZkV4ekdDUFdH?= =?utf-8?B?blQ2Rnlvb2lPYys2bzhpdnJUT0RHcytiLzhiNkZtRU1nSkJYaUtyV1lWWGN5?= =?utf-8?B?enczdFl5c3N0d0lwLzQ5akM1Ujk3N21TVDhySFcxQUFkYy9pbHl1Sm0wRlpG?= =?utf-8?B?bjhHOWJiLzd2TFpTSHRIbGRtaWg3bjVZM3cyamJBamlHUlE0YjRQVW4yM280?= =?utf-8?B?Y2haeElKWGppc3RjV2x1Q3dRTzhEb0dBVEpyaDdpZ3ppbEttNXpCZi9TOXV2?= =?utf-8?B?OWxlNEdVcTJyaFJXa0NOVkpQRWNDNTFKMVh2MFYza3hJdFFLeGtVZFAybFZT?= =?utf-8?B?bVZ4eU1uUGhlTEZJTGxDNFEyS1lxZDZMeHpGeXU4RlQxUVd0Y2Z6Wi9mQWVD?= =?utf-8?B?S1ZyYnJWZ1drYjNMWEJnaEJUa2cwc210WTdkYmltaUIzUzM0THFRUlZINStL?= =?utf-8?B?Unp5ZTVJMXFGV2I0OHZMWkd6WkFUcng3Y2xoZnZpVjV4bng1MVVhL0Vic2oz?= =?utf-8?Q?l9RzC0eWIQvRs6dsAY43iiuj7lnGPh6JBDkcKzXJJs=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB2412.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c3eb4ac-2e2e-43b1-5cbc-08d9eb0cf48d X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Feb 2022 14:11:52.3894 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yKf6XOV9TZGD5adNd90xsyndBBq0aXux2uVNbbFRQQ/NCZ3dwID/xyPrKMIt/Dh5B3Zx7vzD0U+xzH7x/w10dQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3136 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 PiBPbiBUdWVzZGF5LCBGZWJydWFyeSA4LCAyMDIyIDU6NTcgSmVyaW4gSmFjb2IgPGplcmluamFj b2JrQGdtYWlsLmNvbT4gd3JvdGU6DQo+IE9uIFN1biwgRmViIDYsIDIwMjIgYXQgODo1NyBBTSBB bGV4YW5kZXIgS296eXJldiA8YWtvenlyZXZAbnZpZGlhLmNvbT4NCj4gd3JvdGU6DQoNCkhpIEpl cmluLCB0aGFua3MgeW91IGZvciByZXZpZXdpbmcgbXkgcGF0Y2guIEkgYXBwcmVjaWF0ZSB5b3Vy IGlucHV0Lg0KSSdtIHBsYW5uaW5nIHRvIHNlbmQgdjQgdG9kYXkgd2l0aCBhZGRyZXNzZWQgY29t bWVudHMgdG9kYXkgdG8gYmUgb24gdGltZSBmb3IgUkMxLg0KSSBob3BlIHRoYXQgbXkgYW5zd2Vy cyBhcmUgc2F0aXNmYWN0b3J5IGZvciB0aGUgcmVzdCBvZiBxdWVzdGlvbnMgcmFpc2VkIGJ5IHlv dS4NCg0KPiA+DQo+ID4gQSBuZXcsIGZhc3RlciwgcXVldWUtYmFzZWQgZmxvdyBydWxlcyBtYW5h Z2VtZW50IG1lY2hhbmlzbSBpcyBuZWVkZWQNCj4gZm9yDQo+ID4gYXBwbGljYXRpb25zIG9mZmxv YWRpbmcgcnVsZXMgaW5zaWRlIHRoZSBkYXRhcGF0aC4gVGhpcyBhc3luY2hyb25vdXMNCj4gPiBh bmQgbG9ja2xlc3MgbWVjaGFuaXNtIGZyZWVzIHRoZSBDUFUgZm9yIGZ1cnRoZXIgcGFja2V0IHBy b2Nlc3NpbmcgYW5kDQo+ID4gcmVkdWNlcyB0aGUgcGVyZm9ybWFuY2UgaW1wYWN0IG9mIHRoZSBm bG93IHJ1bGVzIGNyZWF0aW9uL2Rlc3RydWN0aW9uDQo+ID4gb24gdGhlIGRhdGFwYXRoLiBOb3Rl IHRoYXQgcXVldWVzIGFyZSBub3QgdGhyZWFkLXNhZmUgYW5kIHRoZSBxdWV1ZQ0KPiA+IHNob3Vs ZCBiZSBhY2Nlc3NlZCBmcm9tIHRoZSBzYW1lIHRocmVhZCBmb3IgYWxsIHF1ZXVlIG9wZXJhdGlv bnMuDQo+ID4gSXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBhcHAgdG8gc3luYyB0aGUg cXVldWUgZnVuY3Rpb25zIGluIGNhc2UNCj4gPiBvZiBtdWx0aS10aHJlYWRlZCBhY2Nlc3MgdG8g dGhlIHNhbWUgcXVldWUuDQo+ID4NCj4gPiBUaGUgcnRlX2Zsb3dfcV9mbG93X2NyZWF0ZSgpIGZ1 bmN0aW9uIGVucXVldWVzIGEgZmxvdyBjcmVhdGlvbiB0byB0aGUNCj4gPiByZXF1ZXN0ZWQgcXVl dWUuIEl0IGJlbmVmaXRzIGZyb20gYWxyZWFkeSBjb25maWd1cmVkIHJlc291cmNlcyBhbmQgc2V0 cw0KPiA+IHVuaXF1ZSB2YWx1ZXMgb24gdG9wIG9mIGl0ZW0gYW5kIGFjdGlvbiB0ZW1wbGF0ZXMu IEEgZmxvdyBydWxlIGlzIGVucXVldWVkDQo+ID4gb24gdGhlIHNwZWNpZmllZCBmbG93IHF1ZXVl IGFuZCBvZmZsb2FkZWQgYXN5bmNocm9ub3VzbHkgdG8gdGhlDQo+IGhhcmR3YXJlLg0KPiA+IFRo ZSBmdW5jdGlvbiByZXR1cm5zIGltbWVkaWF0ZWx5IHRvIHNwYXJlIENQVSBmb3IgZnVydGhlciBw YWNrZXQNCj4gPiBwcm9jZXNzaW5nLiBUaGUgYXBwbGljYXRpb24gbXVzdCBpbnZva2UgdGhlIHJ0 ZV9mbG93X3FfcHVsbCgpIGZ1bmN0aW9uDQo+ID4gdG8gY29tcGxldGUgdGhlIGZsb3cgcnVsZSBv cGVyYXRpb24gb2ZmbG9hZGluZywgdG8gY2xlYXIgdGhlIHF1ZXVlLCBhbmQgdG8NCj4gPiByZWNl aXZlIHRoZSBvcGVyYXRpb24gc3RhdHVzLiBUaGUgcnRlX2Zsb3dfcV9mbG93X2Rlc3Ryb3koKSBm dW5jdGlvbg0KPiA+IGVucXVldWVzIGEgZmxvdyBkZXN0cnVjdGlvbiB0byB0aGUgcmVxdWVzdGVk IHF1ZXVlLg0KPiANCj4gSXQgaXMgZ29vZCB0byBzZWUgdGhlIGltcGxlbWVudGF0aW9uLCBzcGVj aWZpY2FsbHkgdG8gdW5kZXJzdGFuZCwNCg0KV2Ugd2lsbCBzZW5kIFBNRCBpbXBsZW1lbnRhdGlv biBpbiB0aGUgbmV4dCBmZXcgZGF5cy4NCg0KPiAxKQ0KPiBJIHVuZGVyc3RhbmQsIFdlIGFyZSBj cmVhdGluZyBxdWV1ZXMgdG8gbWFrZSBtdWx0aXBsZSBwcm9kdWNlcnMgdG8NCj4gZW5xdWV1ZSBt dWx0aXBsZSBqb2JzIGluIHBhcmFsbGVsLg0KPiBPbiB0aGUgY29uc3VtZXIgc2lkZSwgSXMgaXQg SFcgb3Igc29tZSBvdGhlciBjb3JlcyB0byBjb25zdW1lIHRoZSBqb2I/DQoNCkZyb20gQVBJIHBv aW50IG9mIHZpZXcgdGhlcmUgaXMgbm8gcmVzdHJpY3Rpb24gb24gdGhlIHR5cGUgb2YgY29uc3Vt ZXIuDQpJdCBjb3VsZCBiZSBoYXJkd2FyZSBvciBzb2Z0d2FyZSBpbXBsZW1lbnRhdGlvbiwgYnV0 IGluIG1vc3QgY2FzZXMNCihhbmQgaW4gb3VyIGRyaXZlcikgaXQgd2lsbCBiZSB0aGUgTklDIHRv IGhhbmRsZSB0aGUgcmVxdWVzdHMuDQoNCj4gQ2FuIHdlIG9wZXJhdGUgaW4gY29uc3VtZXIgaW4g cGFyYWxsZWw/DQoNClllcywgd2UgY2FuIGhhdmUgc2VwYXJhdGUgbXVsdGlwbGUgaGFyZHdhcmUg cXVldWVzIHRvIGhhbmRsZSBvcGVyYXRpb25zDQppbiBwYXJhbGxlbCBpbmRlcGVuZGVudGx5IGFu ZCB3aXRob3V0IGFueSBsb2NraW5nIG1lY2hhbmlzbSBuZWVkZWQuDQoNCj4gMikgSXMgUXVldWUg cGFydCBvZiBIVyBvciBqdXN0IFNXIHByaW1pdGl2ZSB0byBzdWJtaXQgdGhlIHdvcmsgYXMgYSBj aGFubmVsLg0KDQpUaGUgcXVldWUgaXMgYSBzb2Z0d2FyZSBwcmltaXRpdmUuDQoNCj4gDQo+ID4N Cj4gPiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS296eXJldiA8YWtvenlyZXZAbnZpZGlhLmNv bT4NCj4gPiAtLS0NCj4gPiAgZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2ltZy9ydGVfZmxvd19xX2lu aXQuc3ZnIHwgIDcxICsrKysNCj4gPiAgLi4uL3Byb2dfZ3VpZGUvaW1nL3J0ZV9mbG93X3FfdXNh Z2Uuc3ZnICAgICAgIHwgIDYwICsrKw0KPiA+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zs b3cucnN0ICAgICAgICAgICAgfCAxNTkgKysrKysrKy0NCj4gPiAgZG9jL2d1aWRlcy9yZWxfbm90 ZXMvcmVsZWFzZV8yMl8wMy5yc3QgICAgICAgIHwgICA4ICsNCj4gPiAgbGliL2V0aGRldi9ydGVf Zmxvdy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTczICsrKysrKysrLQ0KPiA+ICBsaWIv ZXRoZGV2L3J0ZV9mbG93LmggICAgICAgICAgICAgICAgICAgICAgICAgfCAzNDIgKysrKysrKysr KysrKysrKysrDQo+ID4gIGxpYi9ldGhkZXYvcnRlX2Zsb3dfZHJpdmVyLmggICAgICAgICAgICAg ICAgICB8ICA1NSArKysNCj4gPiAgbGliL2V0aGRldi92ZXJzaW9uLm1hcCAgICAgICAgICAgICAg ICAgICAgICAgIHwgICA3ICsNCj4gPiAgOCBmaWxlcyBjaGFuZ2VkLCA4NzMgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9ndWlkZXMvcHJv Z19ndWlkZS9pbWcvcnRlX2Zsb3dfcV9pbml0LnN2Zw0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQg ZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2ltZy9ydGVfZmxvd19xX3VzYWdlLnN2Zw0KPiA+DQo+ID4g ZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9pbWcvcnRlX2Zsb3dfcV9pbml0LnN2 Zw0KPiBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9pbWcvcnRlX2Zsb3dfcV9pbml0LnN2Zw0KPiA+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMC4uMjA4MGJmNGMwNA0K PiANCj4gDQo+IA0KPiBTb21lIGNvbW1lbnRzIG9uIHRoZSBkaWFncmFtczoNCj4gIyBydGVfZmxv d19xX2NyZWF0ZV9mbG93IGFuZCBydGVfZmxvd19xX2Rlc3Ryb3lfZmxvdyB1c2VkIGluc3RlYWQg b2YNCj4gcnRlX2Zsb3dfcV9mbG93X2NyZWF0ZS9kZXN0cm95DQo+ICMgcnRlX2Zsb3dfcV9wdWxs J3MgYnJhY2tldHMoaS5lICgpKSBub3QgYWxpZ25lZA0KDQpXaWxsIGZpeCB0aGlzLCB0aGFua3Mg Zm9yIG5vdGljaW5nLg0KIA0KPiANCj4gPiArPC9zdmc+DQo+ID4gXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlDQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxv dy5yc3QNCj4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4gaW5kZXgg Yjc3OTljNWFiZS4uNzM0Mjk0ZTY1ZCAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3VpZGVzL3Byb2df Z3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4gKysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9m bG93LnJzdA0KPiA+IEBAIC0zNjA3LDEyICszNjA3LDE2IEBAIEhpbnRzIGFib3V0IHRoZSBleHBl Y3RlZCBudW1iZXIgb2YgY291bnRlcnMNCj4gb3IgbWV0ZXJzIGluIGFuIGFwcGxpY2F0aW9uLA0K PiA+ICBmb3IgZXhhbXBsZSwgYWxsb3cgUE1EIHRvIHByZXBhcmUgYW5kIG9wdGltaXplIE5JQyBt ZW1vcnkgbGF5b3V0IGluDQo+IGFkdmFuY2UuDQo+ID4gIGBgcnRlX2Zsb3dfY29uZmlndXJlKClg YCBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYW55IGZsb3cgcnVsZSBpcyBjcmVhdGVkLA0KPiA+ICBi dXQgYWZ0ZXIgYW4gRXRoZXJuZXQgZGV2aWNlIGlzIGNvbmZpZ3VyZWQuDQo+ID4gK0l0IGFsc28g Y3JlYXRlcyBmbG93IHF1ZXVlcyBmb3IgYXN5bmNocm9ub3VzIGZsb3cgcnVsZXMgb3BlcmF0aW9u cyB2aWENCj4gPiArcXVldWUtYmFzZWQgQVBJLCBzZWUgYEFzeW5jaHJvbm91cyBvcGVyYXRpb25z YF8gc2VjdGlvbi4NCj4gPg0KPiA+ICAuLiBjb2RlLWJsb2NrOjogYw0KPiA+DQo+ID4gICAgIGlu dA0KPiA+ICAgICBydGVfZmxvd19jb25maWd1cmUodWludDE2X3QgcG9ydF9pZCwNCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X3BvcnRfYXR0ciAqcG9ydF9h dHRyLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9xdWV1ZSwNCj4gDQo+ ICMgcnRlX2Zsb3dfaW5mb19nZXQoKSBkb24ndCBoYXZlIG51bWJlciBvZiBxdWV1ZXMsIHdoeSBu b3QgYWRkaW5nDQo+IG51bWJlciBxdWV1ZXMgaW4gcnRlX2Zsb3dfcG9ydF9hdHRyLg0KDQpHb29k IHN1Z2dlc3Rpb24sIEknbGwgYWRkIGl0IHRvIHRoZSBjYXBhYmlsaXRpZXMgc3RydWN0dXJlLg0K DQo+ICMgQW5kIGFkZGl0aW9uYWwgQVBJcyBmb3IgcXVldWVfc2V0dXAoKSBsaWtlIGV0aGRldi4N Cg0KZXRoZGV2IGhhcyB0aGUgc3RhcnQgZnVuY3Rpb24gd2hpY2ggdGVsbHMgdGhlIFBNRCB3aGVu IGFsbCBjb25maWd1cmF0aW9ucyBhcmUgZG9uZS4NCkluIG91ciBjYXNlIHRoZXJlIGlzIG5vIHN1 Y2ggZnVuY3Rpb24gYW5kIGRldmljZSBpcyByZWFkeSB0byBjcmVhdGUgYSBmbG93cyBhcyBzb29u DQphcyB3ZSBleGl0IHRoZSBydGVfZmxvd19jb25maWd1cmUoKS4gSW4gYWRkaXRpb24sIHRoZSBu dW1iZXIgb2YgcXVldWVzIG1heSBhZmZlY3QNCnRoZSByZXNvdXJjZSBhbGxvY2F0aW9uIGl0IGlz IGJlc3QgdG8gcHJvY2VzcyBhbGwgdGhlIHJlcXVlc3RlZCByZXNvdXJjZXMgYXQgdGhlIHNhbWUg dGltZS4NCg0KPiANCj4gPiArICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9m bG93X3F1ZXVlX2F0dHIgKnF1ZXVlX2F0dHJbXSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4NCj4gPiAgSW5mb3JtYXRpb24gYWJv dXQgcmVzb3VyY2VzIHRoYXQgY2FuIGJlbmVmaXQgZnJvbSBwcmUtYWxsb2NhdGlvbiBjYW4gYmUN Cj4gPiBAQCAtMzczNyw3ICszNzQxLDcgQEAgYW5kIHBhdHRlcm4gYW5kIGFjdGlvbnMgdGVtcGxh dGVzIGFyZSBjcmVhdGVkLg0KPiA+DQo+ID4gIC4uIGNvZGUtYmxvY2s6OiBjDQo+ID4NCj4gPiAt ICAgICAgIHJ0ZV9mbG93X2NvbmZpZ3VyZShwb3J0LCAqcG9ydF9hdHRyLCAqZXJyb3IpOw0KPiA+ ICsgICAgICAgcnRlX2Zsb3dfY29uZmlndXJlKHBvcnQsICpwb3J0X2F0dHIsIG5iX3F1ZXVlLCAq cXVldWVfYXR0ciwNCj4gKmVycm9yKTsNCj4gPg0KPiA+ICAgICAgICAgc3RydWN0IHJ0ZV9mbG93 X3BhdHRlcm5fdGVtcGxhdGUgKnBhdHRlcm5fdGVtcGxhdGVzWzBdID0NCj4gPiAgICAgICAgICAg ICAgICAgcnRlX2Zsb3dfcGF0dGVybl90ZW1wbGF0ZV9jcmVhdGUocG9ydCwgJml0ciwgJnBhdHRl cm4sICZlcnJvcik7DQo+ID4gQEAgLTM3NTAsNiArMzc1NCwxNTkgQEAgYW5kIHBhdHRlcm4gYW5k IGFjdGlvbnMgdGVtcGxhdGVzIGFyZSBjcmVhdGVkLg0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKmFjdGlvbnNfdGVtcGxhdGVzLCBuYl9hY3Rpb25zX3RlbXBsYXRlcywNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICplcnJvcik7DQo+ID4NCj4gPiArQXN5 bmNocm9ub3VzIG9wZXJhdGlvbnMNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAr DQo+ID4gK0Zsb3cgcnVsZXMgbWFuYWdlbWVudCBjYW4gYmUgZG9uZSB2aWEgc3BlY2lhbCBsb2Nr bGVzcyBmbG93DQo+IG1hbmFnZW1lbnQgcXVldWVzLg0KPiA+ICstIFF1ZXVlIG9wZXJhdGlvbnMg YXJlIGFzeW5jaHJvbm91cyBhbmQgbm90IHRocmVhZC1zYWZlLg0KPiA+ICstIE9wZXJhdGlvbnMg Y2FuIHRodXMgYmUgaW52b2tlZCBieSB0aGUgYXBwJ3MgZGF0YXBhdGgsDQo+ID4gK3BhY2tldCBw cm9jZXNzaW5nIGNhbiBjb250aW51ZSB3aGlsZSBxdWV1ZSBvcGVyYXRpb25zIGFyZSBwcm9jZXNz ZWQgYnkNCj4gTklDLg0KPiA+ICstIFRoZSBxdWV1ZSBudW1iZXIgaXMgY29uZmlndXJlZCBhdCBp bml0aWFsaXphdGlvbiBzdGFnZS4NCj4gPiArLSBBdmFpbGFibGUgb3BlcmF0aW9uIHR5cGVzOiBy dWxlIGNyZWF0aW9uLCBydWxlIGRlc3RydWN0aW9uLA0KPiA+ICtpbmRpcmVjdCBydWxlIGNyZWF0 aW9uLCBpbmRpcmVjdCBydWxlIGRlc3RydWN0aW9uLCBpbmRpcmVjdCBydWxlIHVwZGF0ZS4NCj4g PiArLSBPcGVyYXRpb25zIG1heSBiZSByZW9yZGVyZWQgd2l0aGluIGEgcXVldWUuDQo+ID4gKy0g T3BlcmF0aW9ucyBjYW4gYmUgcG9zdHBvbmVkIGFuZCBwdXNoZWQgdG8gTklDIGluIGJhdGNoZXMu DQo+ID4gKy0gUmVzdWx0cyBwdWxsaW5nIG11c3QgYmUgZG9uZSBvbiB0aW1lIHRvIGF2b2lkIHF1 ZXVlIG92ZXJmbG93cy4NCj4gPiArLSBVc2VyIGRhdGEgaXMgcmV0dXJuZWQgYXMgcGFydCBvZiB0 aGUgcmVzdWx0IHRvIGlkZW50aWZ5IGFuIG9wZXJhdGlvbi4NCj4gPiArLSBGbG93IGhhbmRsZSBp cyB2YWxpZCBvbmNlIHRoZSBjcmVhdGlvbiBvcGVyYXRpb24gaXMgZW5xdWV1ZWQgYW5kIG11c3QN Cj4gYmUNCj4gPiArZGVzdHJveWVkIGV2ZW4gaWYgdGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VjY2Vz c2Z1bCBhbmQgdGhlIHJ1bGUgaXMgbm90DQo+IGluc2VydGVkLg0KPiANCj4gWW91IG5lZWQgQ1Ig YmV0d2VlbiBsaW5lcyBhcyByZW5kZXJlZCB0ZXh0IGRvZXMgY29tZXMgYXMgbmV3IGxpbmUgaW4N Cj4gYmV0d2VlbiB0aGUgaXRlbXMuDQoNCk9LLg0KDQo+IA0KPiA+ICsNCj4gPiArVGhlIGFzeW5j aHJvbm91cyBmbG93IHJ1bGUgaW5zZXJ0aW9uIGxvZ2ljIGNhbiBiZSBicm9rZW4gaW50byB0d28g cGhhc2VzLg0KPiA+ICsNCj4gPiArMS4gSW5pdGlhbGl6YXRpb24gc3RhZ2UgYXMgc2hvd24gaGVy ZToNCj4gPiArDQo+ID4gKy4uIF9maWd1cmVfcnRlX2Zsb3dfcV9pbml0Og0KPiA+ICsNCj4gPiAr Li4gZmlndXJlOjogaW1nL3J0ZV9mbG93X3FfaW5pdC4qDQo+ID4gKw0KPiA+ICsyLiBNYWluIGxv b3AgYXMgcHJlc2VudGVkIG9uIGEgZGF0YXBhdGggYXBwbGljYXRpb24gZXhhbXBsZToNCj4gPiAr DQo+ID4gKy4uIF9maWd1cmVfcnRlX2Zsb3dfcV91c2FnZToNCj4gPiArDQo+ID4gKy4uIGZpZ3Vy ZTo6IGltZy9ydGVfZmxvd19xX3VzYWdlLioNCj4gDQo+IGl0IGlzIGJldHRlciB0byBhZGQgc2Vx dWVuY2Ugb3BlcmF0aW9ucyBhcyB0ZXh0IHRvIHVuZGVyc3RhbmQgdGhlIGZsb3cuDQoNCkkgcHJl ZmVyIGtlZXBpbmcgdGhlIGRpYWdyYW0gaGVyZSwgaXQgbG9va3MgbW9yZSBjbGVhbiBhbmQgY29u Y2lzZS4NCkJsb2NrIG9mIHRleHQgZ2l2ZXMgbm8gbmV3IGluZm9ybWF0aW9uIGFuZCBoYXJkZXIg dG8gZm9sbG93LCBpbWhvLg0KDQo+IA0KPiA+ICsNCj4gPiArRW5xdWV1ZSBjcmVhdGlvbiBvcGVy YXRpb24NCj4gPiArfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCj4gPiArDQo+ID4gK0VucXVl dWVpbmcgYSBmbG93IHJ1bGUgY3JlYXRpb24gb3BlcmF0aW9uIGlzIHNpbWlsYXIgdG8gc2ltcGxl IGNyZWF0aW9uLg0KPiANCj4gSWYgaXQgaXMgZW5xdWV1ZSBvcGVyYXRpb24sIHdoeSBub3QgY2Fs bCBpdCBhZCBydGVfZmxvd19xX2Zsb3dfZW5xdWV1ZSgpDQo+IA0KPiA+ICsNCj4gPiArLi4gY29k ZS1ibG9jazo6IGMNCj4gPiArDQo+ID4gKyAgICAgICBzdHJ1Y3QgcnRlX2Zsb3cgKg0KPiA+ICsg ICAgICAgcnRlX2Zsb3dfcV9mbG93X2NyZWF0ZSh1aW50MTZfdCBwb3J0X2lkLA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcXVldWVfaWQsDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfcV9vcHNfYXR0 ciAqcV9vcHNfYXR0ciwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBydGVfZmxvd190YWJsZSAqdGFibGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbSBwYXR0ZXJuW10sDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IHBhdHRlcm5fdGVtcGxhdGVfaW5kZXgsDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3df YWN0aW9uIGFjdGlvbnNbXSwNCj4gDQo+IElmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIHRhYmxl IGlzIHRoZSBwcmUtY29uZmlndXJlZCBvYmplY3QgdGhhdCBoYXMNCj4gTiBudW1iZXIgb2YgcGF0 dGVybnMgYW5kIE4gbnVtYmVyIG9mIGFjdGlvbnMuDQo+IFdoeSBnaXZpbmcgaXRlbXNbXSBhbmQg YWN0aW9uc1tdIGFnYWluPw0KDQpUYWJsZSBvbmx5IGNvbnRhaW5zIHRlbXBsYXRlcyBmb3IgcGF0 dGVybiBhbmQgYWN0aW9ucy4NCldlIHN0aWxsIG5lZWQgdG8gcHJvdmlkZSB0aGUgdmFsdWVzIGZv ciB0aG9zZSB0ZW1wbGF0ZXMgd2hlbiB3ZSBjcmVhdGUgYSBmbG93Lg0KVGh1cyB3ZSBzcGVjaWZ5 IHBhdHRlcm5zIGFuZCBhY3Rpb24gaGVyZS4NCg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDhfdCBhY3Rpb25zX3RlbXBsYXRlX2luZGV4LA0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4g Kw0KPiA+ICtBIHZhbGlkIGhhbmRsZSBpbiBjYXNlIG9mIHN1Y2Nlc3MgaXMgcmV0dXJuZWQuIEl0 IG11c3QgYmUgZGVzdHJveWVkIGxhdGVyDQo+ID4gK2J5IGNhbGxpbmcgYGBydGVfZmxvd19xX2Zs b3dfZGVzdHJveSgpYGAgZXZlbiBpZiB0aGUgcnVsZSBpcyByZWplY3RlZCBieQ0KPiBIVy4NCj4g PiArDQo+ID4gK0VucXVldWUgZGVzdHJ1Y3Rpb24gb3BlcmF0aW9uDQo+ID4gK35+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+DQo+IA0KPiBRdWV1ZSBkZXN0cnVjdGlvbiBvcGVyYXRpb24uDQoN CldlIGFyZSBub3QgZGVzdHJveWluZyBxdWV1ZSwgd2UgYXJlIGVucXVldWluZyB0aGUgZmxvdyBk ZXN0cnVjdGlvbiBvcGVyYXRpb24uDQoNCj4gDQo+ID4gKw0KPiA+ICtFbnF1ZXVlaW5nIGEgZmxv dyBydWxlIGRlc3RydWN0aW9uIG9wZXJhdGlvbiBpcyBzaW1pbGFyIHRvIHNpbXBsZQ0KPiBkZXN0 cnVjdGlvbi4NCj4gPiArDQo+ID4gKy4uIGNvZGUtYmxvY2s6OiBjDQo+ID4gKw0KPiA+ICsgICAg ICAgaW50DQo+ID4gKyAgICAgICBydGVfZmxvd19xX2Zsb3dfZGVzdHJveSh1aW50MTZfdCBwb3J0 X2lkLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcXVldWVf aWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRl X2Zsb3dfcV9vcHNfYXR0ciAqcV9vcHNfYXR0ciwNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfZmxvdyAqZmxvdywNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiA+ICsNCj4gPiAr UHVzaCBlbnF1ZXVlZCBvcGVyYXRpb25zDQo+ID4gK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0K PiA+ICsNCj4gPiArUHVzaGluZyBhbGwgaW50ZXJuYWxseSBzdG9yZWQgcnVsZXMgZnJvbSBhIHF1 ZXVlIHRvIHRoZSBOSUMuDQo+ID4gKw0KPiA+ICsuLiBjb2RlLWJsb2NrOjogYw0KPiA+ICsNCj4g PiArICAgICAgIGludA0KPiA+ICsgICAgICAgcnRlX2Zsb3dfcV9wdXNoKHVpbnQxNl90IHBvcnRf aWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcXVldWVfaWQsDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ ID4gKw0KPiA+ICtUaGVyZSBpcyB0aGUgcG9zdHBvbmUgYXR0cmlidXRlIGluIHRoZSBxdWV1ZSBv cGVyYXRpb24gYXR0cmlidXRlcy4NCj4gPiArV2hlbiBpdCBpcyBzZXQsIG11bHRpcGxlIG9wZXJh dGlvbnMgY2FuIGJlIGJ1bGtlZCB0b2dldGhlciBhbmQgbm90IHNlbnQgdG8NCj4gSFcNCj4gPiAr cmlnaHQgYXdheSB0byBzYXZlIFNXL0hXIGludGVyYWN0aW9ucyBhbmQgcHJpb3JpdGl6ZSB0aHJv dWdocHV0IG92ZXINCj4gbGF0ZW5jeS4NCj4gPiArVGhlIGFwcGxpY2F0aW9uIG11c3QgaW52b2tl IHRoaXMgZnVuY3Rpb24gdG8gYWN0dWFsbHkgcHVzaCBhbGwgb3V0c3RhbmRpbmcNCj4gPiArb3Bl cmF0aW9ucyB0byBIVyBpbiB0aGlzIGNhc2UuDQo+ID4gKw0KPiA+ICtQdWxsIGVucXVldWVkIG9w ZXJhdGlvbnMNCj4gPiArfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+ID4gKw0KPiA+ICtQdWxs aW5nIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zIHJlc3VsdHMuDQo+ID4gKw0KPiA+ICtUaGUgYXBw bGljYXRpb24gbXVzdCBpbnZva2UgdGhpcyBmdW5jdGlvbiBpbiBvcmRlciB0byBjb21wbGV0ZQ0K PiBhc3luY2hyb25vdXMNCj4gPiArZmxvdyBydWxlIG9wZXJhdGlvbnMgYW5kIHRvIHJlY2VpdmUg ZmxvdyBydWxlIG9wZXJhdGlvbnMgc3RhdHVzZXMuDQo+ID4gKw0KPiA+ICsuLiBjb2RlLWJsb2Nr OjogYw0KPiA+ICsNCj4gPiArICAgICAgIGludA0KPiA+ICsgICAgICAgcnRlX2Zsb3dfcV9wdWxs KHVpbnQxNl90IHBvcnRfaWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg cXVldWVfaWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X3Ff b3BfcmVzIHJlc1tdLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5fcmVz LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJy b3IpOw0KPiA+ICsNCj4gPiArTXVsdGlwbGUgb3V0c3RhbmRpbmcgb3BlcmF0aW9uIHJlc3VsdHMg Y2FuIGJlIHB1bGxlZCBzaW11bHRhbmVvdXNseS4NCj4gPiArVXNlciBkYXRhIG1heSBiZSBwcm92 aWRlZCBkdXJpbmcgYSBmbG93IGNyZWF0aW9uL2Rlc3RydWN0aW9uIGluIG9yZGVyDQo+ID4gK3Rv IGRpc3Rpbmd1aXNoIGJldHdlZW4gbXVsdGlwbGUgb3BlcmF0aW9ucy4gVXNlciBkYXRhIGlzIHJl dHVybmVkIGFzIHBhcnQNCj4gPiArb2YgdGhlIHJlc3VsdCB0byBwcm92aWRlIGEgbWV0aG9kIHRv IGRldGVjdCB3aGljaCBvcGVyYXRpb24gaXMgY29tcGxldGVkLg0KPiA+ICsNCj4gPiArRW5xdWV1 ZSBpbmRpcmVjdCBhY3Rpb24gY3JlYXRpb24gb3BlcmF0aW9uDQo+ID4gK35+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+ICsNCj4gPiArQXN5bmNocm9ub3VzIHZl cnNpb24gb2YgaW5kaXJlY3QgYWN0aW9uIGNyZWF0aW9uIEFQSS4NCj4gPiArDQo+ID4gKy4uIGNv ZGUtYmxvY2s6OiBjDQo+ID4gKw0KPiA+ICsgICAgICAgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9o YW5kbGUgKg0KPiA+ICsgICAgICAgcnRlX2Zsb3dfcV9hY3Rpb25faGFuZGxlX2NyZWF0ZSh1aW50 MTZfdCBwb3J0X2lkLA0KPiANCj4gV2hhdCBpcyB0aGUgdXNlIGNhc2UgZm9yIHRoaXM/DQoNCklu ZGlyZWN0IGFjdGlvbiBjcmVhdGlvbiBtYXkgdGFrZSB0aW1lLCBpdCBtYXkgZGVwZW5kIG9uIGhh cmR3YXJlIHJlc291cmNlcw0KYWxsb2NhdGlvbi4gU28gd2UgYWRkIHRoZSBhc3luY2hyb25vdXMg d2F5IG9mIGNyZWF0aW5nIGl0IHRoZSBzYW1lIHdheS4NCg0KPiBIb3cgYXBwbGljYXRpb24gbmVl ZHMgdG8gdXNlIHRoaXMuIFdlIGFscmVhZHkgY3JlYXRpbmcgZmxvd190YWJsZS4gSXMNCj4gdGhh dCBub3Qgc3VmZmljaWVudD8NCg0KVGhlIGluZGlyZWN0IGFjdGlvbiBvYmplY3QgaXMgdXNlZCBp biBmbG93IHJ1bGVzIHZpYSBpdHMgaGFuZGxlLg0KVGhpcyBpcyBhbiBleHRlbnNpb24gdG8gdGhl IGFscmVhZHkgZXhpc3RpbmcgQVBJIGluIG9yZGVyIHRvIHNwZWVkIHVwDQp0aGUgY3JlYXRpb24g b2YgdGhlc2Ugb2JqZWN0cy4NCg0KPiANCj4gPiArICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBxdWV1ZV9pZCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg cnRlX2Zsb3dfcV9vcHNfYXR0ciAqcV9vcHNfYXR0ciwNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaW5kaXJfYWN0aW9uX2NvbmYgKmluZGlyX2FjdGlv bl9jb25mLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZmxv d19hY3Rpb24gKmFjdGlvbiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRl X2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4gPiArDQo+ID4gK0EgdmFsaWQgaGFuZGxlIGluIGNhc2Ug b2Ygc3VjY2VzcyBpcyByZXR1cm5lZC4gSXQgbXVzdCBiZSBkZXN0cm95ZWQgbGF0ZXIgYnkNCj4g PiArY2FsbGluZyBgYHJ0ZV9mbG93X3FfYWN0aW9uX2hhbmRsZV9kZXN0cm95KClgYCBldmVuIGlm IHRoZSBydWxlIGlzDQo+IHJlamVjdGVkLg0KPiA+ICsNCj4gPiArRW5xdWV1ZSBpbmRpcmVjdCBh Y3Rpb24gZGVzdHJ1Y3Rpb24gb3BlcmF0aW9uDQo+ID4gK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+ICsNCj4gPiArQXN5bmNocm9ub3VzIHZlcnNpb24g b2YgaW5kaXJlY3QgYWN0aW9uIGRlc3RydWN0aW9uIEFQSS4NCj4gPiArDQo+ID4gKy4uIGNvZGUt YmxvY2s6OiBjDQo+ID4gKw0KPiA+ICsgICAgICAgaW50DQo+ID4gKyAgICAgICBydGVfZmxvd19x X2FjdGlvbl9oYW5kbGVfZGVzdHJveSh1aW50MTZfdCBwb3J0X2lkLA0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90IHF1ZXVlX2lkLA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCBydGVfZmxvd19xX29wc19hdHRyICpxX29wc19hdHRyLA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19hY3Rpb25faGFuZGxlICphY3Rp b25faGFuZGxlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19l cnJvciAqZXJyb3IpOw0KPiA+ICsNCj4gPiArRW5xdWV1ZSBpbmRpcmVjdCBhY3Rpb24gdXBkYXRl IG9wZXJhdGlvbg0KPiA+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ DQo+ID4gKw0KPiA+ICtBc3luY2hyb25vdXMgdmVyc2lvbiBvZiBpbmRpcmVjdCBhY3Rpb24gdXBk YXRlIEFQSS4NCj4gPiArDQo+ID4gKy4uIGNvZGUtYmxvY2s6OiBjDQo+ID4gKw0KPiA+ICsgICAg ICAgaW50DQo+ID4gKyAgICAgICBydGVfZmxvd19xX2FjdGlvbl9oYW5kbGVfdXBkYXRlKHVpbnQx Nl90IHBvcnRfaWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcXVldWVf aWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X3Ff b3BzX2F0dHIgKnFfb3BzX2F0dHIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHJ0ZV9mbG93X2FjdGlvbl9oYW5kbGUgKmFjdGlvbl9oYW5kbGUsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgY29uc3Qgdm9pZCAqdXBkYXRlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiA+ICsNCj4gPiAgLi4gX2Zsb3df aXNvbGF0ZWRfbW9kZToNCj4gPg0KPiA+ICBGbG93IGlzb2xhdGVkIG1vZGUNCj4gPiBkaWZmIC0t Z2l0IGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8wMy5yc3QNCj4gYi9kb2MvZ3Vp ZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzAzLnJzdA0KPiA+IGluZGV4IGQyM2QxNTkxZGYuLjgw YTg1MTI0ZTYgMTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8y Ml8wMy5yc3QNCj4gPiArKysgYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzAzLnJz dA0KPiA+IEBAIC02Nyw2ICs2NywxNCBAQCBOZXcgRmVhdHVyZXMNCj4gPiAgICBgYHJ0ZV9mbG93 X3RhYmxlX2Rlc3Ryb3lgYCwgYGBydGVfZmxvd19wYXR0ZXJuX3RlbXBsYXRlX2Rlc3Ryb3lgYA0K PiA+ICAgIGFuZCBgYHJ0ZV9mbG93X2FjdGlvbnNfdGVtcGxhdGVfZGVzdHJveWBgLg0KPiA+DQo+ ID4gKyogZXRoZGV2OiBBZGRlZCBgYHJ0ZV9mbG93X3FfZmxvd19jcmVhdGVgYCBhbmQNCj4gYGBy dGVfZmxvd19xX2Zsb3dfZGVzdHJveWBgIEFQSQ0KPiA+ICsgIHRvIGVucXVldWUgZmxvdyBjcmVh aW9uL2Rlc3RydWN0aW9uIG9wZXJhdGlvbnMgYXN5bmNocm9ub3VzbHkgYXMgd2VsbA0KPiBhcw0K PiA+ICsgIGBgcnRlX2Zsb3dfcV9wdWxsYGAgdG8gcG9sbCBhbmQgcmV0cmlldmUgcmVzdWx0cyBv ZiB0aGVzZSBvcGVyYXRpb25zIGFuZA0KPiA+ICsgIGBgcnRlX2Zsb3dfcV9wdXNoYGAgdG8gcHVz aCBhbGwgdGhlIGluLWZsaWdodCBvcGVyYXRpb25zIHRvIHRoZSBOSUMuDQo+ID4gKyAgSW50cm9k dWNlZCBhc3luY2hyb25vdXMgQVBJIGZvciBpbmRpcmVjdCBhY3Rpb25zIG1hbmFnZW1lbnQgYXMg d2VsbDoNCj4gPiArICBgYHJ0ZV9mbG93X3FfYWN0aW9uX2hhbmRsZV9jcmVhdGVgYCwNCj4gYGBy dGVfZmxvd19xX2FjdGlvbl9oYW5kbGVfZGVzdHJveWBgIGFuZA0KPiA+ICsgIGBgcnRlX2Zsb3df cV9hY3Rpb25faGFuZGxlX3VwZGF0ZWBgLg0KPiA+ICsNCg==