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 CB230A0A0C; Tue, 29 Jun 2021 14:14:46 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B6EA3411C6; Tue, 29 Jun 2021 14:14:46 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id 3620D411C5 for ; Tue, 29 Jun 2021 14:14:44 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10029"; a="207953253" X-IronPort-AV: E=Sophos;i="5.83,308,1616482800"; d="scan'208";a="207953253" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jun 2021 05:14:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,308,1616482800"; d="scan'208";a="557919161" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga004.jf.intel.com with ESMTP; 29 Jun 2021 05:14:42 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 29 Jun 2021 05:14:42 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 29 Jun 2021 05:14:42 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Tue, 29 Jun 2021 05:14:42 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.106) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Tue, 29 Jun 2021 05:14:41 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kSRm8haod566LLbETkt1DSDTd1kFA466AG7JX3m9rn9bMGpntv8kBNgeZRGJdB6Kw8Ootk8eRsvR7TDUeMDniiOVYmy7HWpExiW45vShLnvO5fZYC7w53FZbi6u+kshKGG/GeTIiHxWSi95HdtiQJljDNF9cXybH3o4fokkHcuVsR1WDJ+datUdYmS6xlEYm1Hxnv4ZksguWfZ2xzG0OYZKiwt4zjY9C1tmRDJm1BSswcFqwlxZfioWH1T/w77esDxqhedNRSORWkuXi73kpwMGNE/AQ2LyrOp8VXo9lXLWd50JUggs0fIUO+pI3w3EZzbOLdFCX9gXCBbtABCzf2w== 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=hfsPJ0tVXIvAUSEBhM5WhYdBZI0n8tI013dWu7+/5A8=; b=j32mWSTcnsQn9m7OYT1YUBPeyvT2jPHl94ahkju+WGHdaB2d6KdpdlbxZ3hh5eAH7AnsftrBDgqxHuX1Wrh7GlO6vm3vPdPcYxIVdWM8UfNJR+ZYb66Hz6tcx5Vh1BPPUzn83oU3sUQwCnnq/x5n6wsvIr9egsm6snEMZ3AZu24+Gl1dyFOHa4cTLVo1Y9L/V+Jbfn0msVWyCyhgQ3T4fsBwahKBQpi5p+wd3nQSjG/T7uLYsDhoKSKHCj+qMvVXwv1eyAnguXb5WaXXp2fmzO63RGcuHG/DlcGxv80rjbnKIKebBdA8LeFf7gVqrfVxxE78/GQf+YRa3gnC9oBPlw== 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=hfsPJ0tVXIvAUSEBhM5WhYdBZI0n8tI013dWu7+/5A8=; b=RWZeQfxTJMr2ZWd2nHu0G6f0YikKHSj7EQHRS5Wtj0SiAonsvj5aDFC185L7LE4uBF6vmgWTkjM/elt33uxGuXttktwVtcVIrMD6WJ7fRLOMYnEzXc9uyVGNzvmWvk6n/SWZ7kTV2mlvA5tTJGJyHduECa1kBU9eFw3XYVr6prI= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB4300.namprd11.prod.outlook.com (2603:10b6:5:1dc::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.20; Tue, 29 Jun 2021 12:14:38 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48%7]) with mapi id 15.20.4264.026; Tue, 29 Jun 2021 12:14:38 +0000 From: "Ananyev, Konstantin" To: "Burakov, Anatoly" , "dev@dpdk.org" , "Hunt, David" CC: "Loftus, Ciara" Thread-Topic: [dpdk-dev] [PATCH v3 6/7] power: support monitoring multiple Rx queues Thread-Index: AQHXbBsO+Y6lPWDNwUKowUur7w9ha6spaDywgAAN2oCAAIWSUIAA4w0AgAAE3aA= Date: Tue, 29 Jun 2021 12:14:38 +0000 Message-ID: References: <676eab0e1eb6c63acb170893675daa5a39eac29d.1624884053.git.anatoly.burakov@intel.com> <77f30ce1-40b0-b427-c0f9-359a350358a1@intel.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [109.255.184.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 15f76380-6a6b-408d-3b10-08d93af77771 x-ms-traffictypediagnostic: DM6PR11MB4300: 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:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XgxOWwh5usNDHPYVt2p5nQoyXDwurKU0/vHcS3cdXoaXpX7EbvBjtK9CfzfS/SOwvbFHDt35pZ6/HnFkmwKqZwgtCBSYumVAdFPhwLWieYjGtfWLpPOwZT7MsjJsHyZv8oJDKBq+13Kf/ihKEYQO55mRKWwUCk1yoq5O149bPEhTpJ/q9tVr3JAS9NQHoqzvXY+uky74eMBxKTsR4R0wuT6+6hgQNph1qxvZv7kayTpJxEIGG2pqJUyXF+SrljN6M2bsDV9RIMbnpPgzzSaqt74EPNn3iYIei6naYZY278cAhsL5hZ3XZhbH+EG4doJuSr++Bbka7vgWaRL6fFfZ6nKTOdiJzs9HpIxy7E8EK6YAu340qswo4so4uI+k1KOP9hTD4u9TELXYJuOy2vgEKbiAHLh9d0ZMaym+Z0w8vI/y3fZkxYhm5mWuy4wQ1iBSEolfFGcAuzc9i38pkIwvSPuO1X2QcDYiobHQmoPwMYiSi7ywxKSb3qJvOn4VxxJpOD/GrhdeSdDdiOWyLZTG0mJfRCEb6Ioty9vIGKsJDTvtFqHe6Kim4N54Se/GKREa4xmP0xHbPK+VNMuOBG3kBPLsk2FyHReU4caVubVczlbJsWF7mTZMleYBRXc9OTiCPVInuRb/ejZVx3VV278gonA5vWRY3sY1zYBKDSNd4ER626KVaSmgsU04MlQvYdAlKIsIjKSWCfeTxnwwR6/O5g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(346002)(366004)(376002)(39860400002)(396003)(478600001)(66946007)(76116006)(38100700002)(316002)(8936002)(2906002)(4326008)(7696005)(107886003)(122000001)(9686003)(66476007)(55016002)(6636002)(8676002)(83380400001)(186003)(5660300002)(86362001)(64756008)(66556008)(53546011)(6506007)(66446008)(30864003)(55236004)(26005)(52536014)(71200400001)(33656002)(110136005)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Zjk0OE1CWWREZUZvM3RsdU12M29tdXV0cHVMNTdwcWsrT3J1RkVONktrL2N5?= =?utf-8?B?NzcxRHVka2VFWVROdXoxWkZ0d3hHeHB6cVBySVZCRENJMmx2MkNoZnE4T1ll?= =?utf-8?B?aTR2SDQ5NjFOTG9mTW5JZ0xxQWgxbit4MEtaOXZkeG9JdHlyQkxWUnZxTEZl?= =?utf-8?B?dTFacFhONTZaaFJ3M3RzUTBnTkIzTXNTa2oyeFAxVnU3aHFEcmRNYzE5dXlo?= =?utf-8?B?WitKTS90cFJDQTlxN0VneGdyTUxqdWFLZUlpaytsYW4wOWpNODQ2Y25lTlBI?= =?utf-8?B?N2h6K2djNFJsVG1QNGFNOTBwN2ZuaXE5V013NTdsQnQ4bncrYXhXa04wMFRL?= =?utf-8?B?OWpWZVFNMVZVZVFTUEdPT21vMnJGQXhVa2w0R2xFTHFtUHdYWUZyai8zOWU2?= =?utf-8?B?UVhPa1U1c00xdXR6Mk5KdXZacWVkS3U1czdMdUY5c0VzbWYzN0lOa29lS0xu?= =?utf-8?B?VXEyK1NGUU1OL0E1RUYvNTNGd0VyYUtlN3dGL3BUemVlNmZhbmJoZ0ZtT3hX?= =?utf-8?B?RHZrUFhmWUdQTnI5Zm5KR29OOE9ua1h1Q3NzSGIyWEJOSjFEVmFBL2ZZTjQ4?= =?utf-8?B?cXFJQXdlb1A3NWhhT3RuMTVuMG1HSkhpaDBBY2l1aURZdFZpNjcyakFUL2gw?= =?utf-8?B?WlNhZVQ2WTh0RUNuaXpIRW5lLytORDdQaUYxd0hRWDlwN1NDbkVtMUtiTHd1?= =?utf-8?B?Zk9CRWI3T3ZNVFpRN0ExSXlOaklvbFZxc3ZXOUVCckV3Qk1ha2p3Q0lkM3Mv?= =?utf-8?B?OGpoMndBVUZvV2IwZnVxcXR3djJVNTdZL1cybnRsSjIrY2ViUm4zZEtRSEZ0?= =?utf-8?B?L054Q3RqN1RWUFZZeU9oZHlyZFpwQ1JNREtPcmlSUytGcjVlSDNyZkVqTGk3?= =?utf-8?B?Y0RyNkw1UVFHZ1plb2FNeVFvSHdTQUI2UmhiWkRSeG1GTklZSnJmaFZpZEVJ?= =?utf-8?B?ZGt5YnRvZW42Z2xQcytodHdMQlVrZVFUaHFERUthWUZ5ZVNpakF3VEpDdXY1?= =?utf-8?B?WHJ2WEwvQSszNnpPSmRBYjV6Mi9JMkV1RnhDTTJsWGF2MkJZODh2Y25oayta?= =?utf-8?B?cDlwK1ZCaWpUeG4ybG91TXF6YzZJNzRzR1dKZjJhanEwOStqZXdiQnlwS0VP?= =?utf-8?B?NmkvSDJ2SWVLRFJXN2RvWDErQWRJT2V4aWJubHgvWmNtaDhYdGxpcGRpY0tv?= =?utf-8?B?MUJCOHptTENTak1QaWd2M3lHOFZyRVA4QUZoK0M3ajFFZUNxcVl3UlZIT0h6?= =?utf-8?B?UW1DVXdiNFFpSHBUR1ZsMC9jcFVJQjd0WjM0ajU0ZEEwN05QRFN5L3VLeE82?= =?utf-8?B?MTJDSWk4UkpES2lPajRGZ3RYN202M1B4QkR1MWt2b0g4QzhvOVlYcHVBQ3U4?= =?utf-8?B?M2UzS29qTHJ6U2N5OGJDT0Y4VWs0Y0VWYy9YT0s5YkU3bFlyNjl6b29OMGRo?= =?utf-8?B?Nm5tQk1Pd2tCcjU1a2RzYmdYL25oK2dUUk5xZzdScGN2Yy96WGJXU2ZtSkEx?= =?utf-8?B?c1NTbTNEaHpuMFhUY0w3NUk3MmR2c3NQWHVWVWF6NmFJSlJsTmFGWWhVbjVp?= =?utf-8?B?SitYMjlBZFB4emZDOEIrQisxQllZK2dMeXEwd3V0SDhhSFVsa1pmMExXMHdI?= =?utf-8?B?VnNyVklZMWlKOXJYNUVZRkJybXd1RmVzQ3RDRXRpNEh2aDFzczhzOWxXaUJK?= =?utf-8?B?QWJHMkxHalNsRXI0R2JnMjVkZHBWc0gzWUg3T3B3d21lK1pjQWVDSlh2SnFh?= =?utf-8?Q?8V1dEneSZgll2MY4Fl/LSdAXBpfrDkau2uEHSmv?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 15f76380-6a6b-408d-3b10-08d93af77771 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2021 12:14:38.3419 (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: TmHIQdIV1PSfzpkUAVPfUHGdbpWgNBvdGaVzvtZccO2ZGTevBMMuB4jEcog9+4dnYMudrlNId7AcOBeVYDptvIu6aUskHfeH67fYR3zRhF0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4300 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 6/7] power: support monitoring multiple Rx queues 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 Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQnVyYWtvdiwgQW5hdG9s eSA8YW5hdG9seS5idXJha292QGludGVsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgSnVuZSAyOSwg MjAyMSAxMjo0MCBQTQ0KPiBUbzogQW5hbnlldiwgS29uc3RhbnRpbiA8a29uc3RhbnRpbi5hbmFu eWV2QGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsgSHVudCwgRGF2aWQgPGRhdmlkLmh1bnRAaW50 ZWwuY29tPg0KPiBDYzogTG9mdHVzLCBDaWFyYSA8Y2lhcmEubG9mdHVzQGludGVsLmNvbT4NCj4g U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYzIDYvN10gcG93ZXI6IHN1cHBvcnQgbW9u aXRvcmluZyBtdWx0aXBsZSBSeCBxdWV1ZXMNCj4gDQo+IE9uIDI5LUp1bi0yMSAxOjA3IEFNLCBB bmFueWV2LCBLb25zdGFudGluIHdyb3RlOg0KPiA+DQo+ID4NCj4gPj4+PiBVc2UgdGhlIG5ldyBt dWx0aS1tb25pdG9yIGludHJpbnNpYyB0byBhbGxvdyBtb25pdG9yaW5nIG11bHRpcGxlIGV0aGRl dg0KPiA+Pj4+IFJ4IHF1ZXVlcyB3aGlsZSBlbnRlcmluZyB0aGUgZW5lcmd5IGVmZmljaWVudCBw b3dlciBzdGF0ZS4gVGhlIG11bHRpDQo+ID4+Pj4gdmVyc2lvbiB3aWxsIGJlIHVzZWQgdW5jb25k aXRpb25hbGx5IGlmIHN1cHBvcnRlZCwgYW5kIHRoZSBVTVdBSVQgb25lDQo+ID4+Pj4gd2lsbCBv bmx5IGJlIHVzZWQgd2hlbiBtdWx0aS1tb25pdG9yIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGhh cmR3YXJlLg0KPiA+Pj4+DQo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogQW5hdG9seSBCdXJha292IDxh bmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPg0KPiA+Pj4+IC0tLQ0KPiA+Pj4+ICAgIGRvYy9ndWlk ZXMvcHJvZ19ndWlkZS9wb3dlcl9tYW4ucnN0IHwgIDkgKystLQ0KPiA+Pj4+ICAgIGxpYi9wb3dl ci9ydGVfcG93ZXJfcG1kX21nbXQuYyAgICAgIHwgNzYgKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0NCj4gPj4+PiAgICAyIGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlvbnMoKyksIDUgZGVs ZXRpb25zKC0pDQo+ID4+Pj4NCj4gPj4+PiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9wcm9nX2d1 aWRlL3Bvd2VyX21hbi5yc3QgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcG93ZXJfbWFuLnJzdA0K PiA+Pj4+IGluZGV4IGZhYzJjMTk1MTYuLjMyNDVhNWViZWQgMTAwNjQ0DQo+ID4+Pj4gLS0tIGEv ZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3Bvd2VyX21hbi5yc3QNCj4gPj4+PiArKysgYi9kb2MvZ3Vp ZGVzL3Byb2dfZ3VpZGUvcG93ZXJfbWFuLnJzdA0KPiA+Pj4+IEBAIC0yMjEsMTMgKzIyMSwxNiBA QCBwb3dlciBzYXZpbmcgd2hlbmV2ZXIgZW1wdHkgcG9sbCBjb3VudCByZWFjaGVzIGEgY2VydGFp biBudW1iZXIuDQo+ID4+Pj4gICAgVGhlICJtb25pdG9yIiBtb2RlIGlzIG9ubHkgc3VwcG9ydGVk IGluIHRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbnMgYW5kIHNjZW5hcmlvczoNCj4gPj4+Pg0K PiA+Pj4+ICAgICogSWYgYGBydGVfY3B1X2dldF9pbnRyaW5zaWNzX3N1cHBvcnQoKWBgIGZ1bmN0 aW9uIGluZGljYXRlcyB0aGF0DQo+ID4+Pj4gKyAgYGBydGVfcG93ZXJfbW9uaXRvcl9tdWx0aSgp YGAgZnVuY3Rpb24gaXMgc3VwcG9ydGVkIGJ5IHRoZSBwbGF0Zm9ybSwgdGhlbg0KPiA+Pj4+ICsg IG1vbml0b3JpbmcgbXVsdGlwbGUgRXRoZXJuZXQgUnggcXVldWVzIGZvciB0cmFmZmljIHdpbGwg YmUgc3VwcG9ydGVkLg0KPiA+Pj4+ICsNCj4gPj4+PiArKiBJZiBgYHJ0ZV9jcHVfZ2V0X2ludHJp bnNpY3Nfc3VwcG9ydCgpYGAgZnVuY3Rpb24gaW5kaWNhdGVzIHRoYXQgb25seQ0KPiA+Pj4+ICAg ICAgYGBydGVfcG93ZXJfbW9uaXRvcigpYGAgaXMgc3VwcG9ydGVkIGJ5IHRoZSBwbGF0Zm9ybSwg dGhlbiBtb25pdG9yaW5nIHdpbGwgYmUNCj4gPj4+PiAgICAgIGxpbWl0ZWQgdG8gYSBtYXBwaW5n IG9mIDEgY29yZSAxIHF1ZXVlICh0aHVzLCBlYWNoIFJ4IHF1ZXVlIHdpbGwgaGF2ZSB0byBiZQ0K PiA+Pj4+ICAgICAgbW9uaXRvcmVkIGZyb20gYSBkaWZmZXJlbnQgbGNvcmUpLg0KPiA+Pj4+DQo+ ID4+Pj4gLSogSWYgYGBydGVfY3B1X2dldF9pbnRyaW5zaWNzX3N1cHBvcnQoKWBgIGZ1bmN0aW9u IGluZGljYXRlcyB0aGF0IHRoZQ0KPiA+Pj4+IC0gIGBgcnRlX3Bvd2VyX21vbml0b3IoKWBgIGZ1 bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQsIHRoZW4gbW9uaXRvciBtb2RlIHdpbGwgbm90DQo+ID4+ Pj4gLSAgYmUgc3VwcG9ydGVkLg0KPiA+Pj4+ICsqIElmIGBgcnRlX2NwdV9nZXRfaW50cmluc2lj c19zdXBwb3J0KClgYCBmdW5jdGlvbiBpbmRpY2F0ZXMgdGhhdCBuZWl0aGVyIG9mIHRoZQ0KPiA+ Pj4+ICsgIHR3byBtb25pdG9yaW5nIGZ1bmN0aW9ucyBhcmUgc3VwcG9ydGVkLCB0aGVuIG1vbml0 b3IgbW9kZSB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQuDQo+ID4+Pj4NCj4gPj4+PiAgICAqIE5vdCBh bGwgRXRoZXJuZXQgZGV2aWNlcyBzdXBwb3J0IG1vbml0b3JpbmcsIGV2ZW4gaWYgdGhlIHVuZGVy bHlpbmcNCj4gPj4+PiAgICAgIHBsYXRmb3JtIG1heSBzdXBwb3J0IHRoZSBuZWNlc3NhcnkgQ1BV IGluc3RydWN0aW9ucy4gUGxlYXNlIHJlZmVyIHRvDQo+ID4+Pj4gZGlmZiAtLWdpdCBhL2xpYi9w b3dlci9ydGVfcG93ZXJfcG1kX21nbXQuYyBiL2xpYi9wb3dlci9ydGVfcG93ZXJfcG1kX21nbXQu Yw0KPiA+Pj4+IGluZGV4IDc3NjJjZDM5YjguLmFhYjJkNGYxZWUgMTAwNjQ0DQo+ID4+Pj4gLS0t IGEvbGliL3Bvd2VyL3J0ZV9wb3dlcl9wbWRfbWdtdC5jDQo+ID4+Pj4gKysrIGIvbGliL3Bvd2Vy L3J0ZV9wb3dlcl9wbWRfbWdtdC5jDQo+ID4+Pj4gQEAgLTE1NSw2ICsxNTUsMjQgQEAgcXVldWVf bGlzdF9yZW1vdmUoc3RydWN0IHBtZF9jb3JlX2NmZyAqY2ZnLCBjb25zdCB1bmlvbiBxdWV1ZSAq cSkNCj4gPj4+PiAgICAgICAgIHJldHVybiAwOw0KPiA+Pj4+ICAgIH0NCj4gPj4+Pg0KPiA+Pj4+ ICtzdGF0aWMgaW5saW5lIGludA0KPiA+Pj4+ICtnZXRfbW9uaXRvcl9hZGRyZXNzZXMoc3RydWN0 IHBtZF9jb3JlX2NmZyAqY2ZnLA0KPiA+Pj4+ICsgICAgICAgICAgICAgc3RydWN0IHJ0ZV9wb3dl cl9tb25pdG9yX2NvbmQgKnBtYykNCj4gPj4+PiArew0KPiA+Pj4+ICsgICAgIGNvbnN0IHN0cnVj dCBxdWV1ZV9saXN0X2VudHJ5ICpxbGU7DQo+ID4+Pj4gKyAgICAgc2l6ZV90IGkgPSAwOw0KPiA+ Pj4+ICsgICAgIGludCByZXQ7DQo+ID4+Pj4gKw0KPiA+Pj4+ICsgICAgIFRBSUxRX0ZPUkVBQ0go cWxlLCAmY2ZnLT5oZWFkLCBuZXh0KSB7DQo+ID4+Pj4gKyAgICAgICAgICAgICBzdHJ1Y3QgcnRl X3Bvd2VyX21vbml0b3JfY29uZCAqY3VyID0gJnBtY1tpXTsNCj4gPj4+DQo+ID4+PiBMb29rcyBs aWtlIHlvdSBuZXZlciBpbmNyZW1lbnQgJ2knIHZhbHVlIGluc2lkZSB0aGF0IGZ1bmN0aW9uLg0K PiA+Pj4gQWxzbyBpdCBwcm9iYWJseSB3aWxsIGJlIHNhZmVyIHRvIGFkZCAnbnVtJyBwYXJhbWV0 ZXIgdG8gY2hlY2sgdGhhdA0KPiA+Pj4gd2Ugd2lsbCBuZXZlciBvdmVyLXJ1biBwbWNbXSBib3Vu ZGFyaWVzLg0KPiA+Pg0KPiA+PiBXaWxsIGZpeCBpbiB2NCwgZ29vZCBjYXRjaCENCj4gPj4NCj4g Pj4+DQo+ID4+Pj4gKyAgICAgICAgICAgICBjb25zdCB1bmlvbiBxdWV1ZSAqcSA9ICZxbGUtPnF1 ZXVlOw0KPiA+Pj4+ICsgICAgICAgICAgICAgcmV0ID0gcnRlX2V0aF9nZXRfbW9uaXRvcl9hZGRy KHEtPnBvcnRpZCwgcS0+cWlkLCBjdXIpOw0KPiA+Pj4+ICsgICAgICAgICAgICAgaWYgKHJldCA8 IDApDQo+ID4+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ID4+Pj4gKyAg ICAgfQ0KPiA+Pj4+ICsgICAgIHJldHVybiAwOw0KPiA+Pj4+ICt9DQo+ID4+Pj4gKw0KPiA+Pj4+ ICAgIHN0YXRpYyB2b2lkDQo+ID4+Pj4gICAgY2FsY190c2Modm9pZCkNCj4gPj4+PiAgICB7DQo+ ID4+Pj4gQEAgLTE4Myw2ICsyMDEsNDggQEAgY2FsY190c2Modm9pZCkNCj4gPj4+PiAgICAgICAg IH0NCj4gPj4+PiAgICB9DQo+ID4+Pj4NCj4gPj4+PiArc3RhdGljIHVpbnQxNl90DQo+ID4+Pj4g K2NsYl9tdWx0aXdhaXQodWludDE2X3QgcG9ydF9pZCwgdWludDE2X3QgcWlkeCwNCj4gPj4+PiAr ICAgICAgICAgICAgIHN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMgX19ydGVfdW51c2VkLCB1aW50MTZf dCBuYl9yeCwNCj4gPj4+PiArICAgICAgICAgICAgIHVpbnQxNl90IG1heF9wa3RzIF9fcnRlX3Vu dXNlZCwgdm9pZCAqYWRkciBfX3J0ZV91bnVzZWQpDQo+ID4+Pj4gK3sNCj4gPj4+PiArICAgICBj b25zdCB1bnNpZ25lZCBpbnQgbGNvcmUgPSBydGVfbGNvcmVfaWQoKTsNCj4gPj4+PiArICAgICBj b25zdCB1bmlvbiBxdWV1ZSBxID0gey5wb3J0aWQgPSBwb3J0X2lkLCAucWlkID0gcWlkeH07DQo+ ID4+Pj4gKyAgICAgY29uc3QgYm9vbCBlbXB0eSA9IG5iX3J4ID09IDA7DQo+ID4+Pj4gKyAgICAg c3RydWN0IHBtZF9jb3JlX2NmZyAqcV9jb25mOw0KPiA+Pj4+ICsNCj4gPj4+PiArICAgICBxX2Nv bmYgPSAmbGNvcmVfY2ZnW2xjb3JlXTsNCj4gPj4+PiArDQo+ID4+Pj4gKyAgICAgLyogZWFybHkg ZXhpdCAqLw0KPiA+Pj4+ICsgICAgIGlmIChsaWtlbHkoIWVtcHR5KSkgew0KPiA+Pj4+ICsgICAg ICAgICAgICAgcV9jb25mLT5lbXB0eV9wb2xsX3N0YXRzID0gMDsNCj4gPj4+PiArICAgICB9IGVs c2Ugew0KPiA+Pj4+ICsgICAgICAgICAgICAgLyogZG8gd2UgY2FyZSBhYm91dCB0aGlzIHBhcnRp Y3VsYXIgcXVldWU/ICovDQo+ID4+Pj4gKyAgICAgICAgICAgICBpZiAoIXF1ZXVlX2lzX3Bvd2Vy X3NhdmUocV9jb25mLCAmcSkpDQo+ID4+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBu Yl9yeDsNCj4gPj4+DQo+ID4+PiBJIHN0aWxsIGRvbid0IHVuZGVyc3RhbmQgdGhlIG5lZWQgb2Yg J3NwZWNpYWwnIHBvd2VyX3NhdmUgcXVldWUgaGVyZS4uLg0KPiA+Pj4gV2h5IHdlIGNhbid0IGp1 c3QgaGF2ZSBhIGZ1bmN0aW9uOg0KPiA+Pj4NCj4gPj4+IGdldF9udW1iZXJfb2ZfcXVldWVzX3do b3NlX3NlcXVlbnRpYWxfZW1wdHlfcG9sbHNfbGVzc190aGVuX3RocmVzaG9sZChzdHJ1Y3QgcG1k X2NvcmVfY2ZnICpsY29yZV9jZmcpLA0KPiA+Pj4gYW5kIHRoZW4ganVzdDoNCj4gPj4+DQo+ID4+ PiAvKiBhbGwgcXVldWVzIGhhdmUgYXQgbGVhc3QgRU1QVFlQT0xMX01BWCBzZXF1ZW50aWFsIGVt cHR5IHBvbGxzICovDQo+ID4+PiBpZiAoZ2V0X251bWJlcl9vZl9xdWV1ZXNfd2hvc2Vfc2VxdWVu dGlhbF9lbXB0eV9wb2xsc19sZXNzX3RoZW5fdGhyZXNob2xkKHFfY29uZikgPT0gMCkgew0KPiA+ Pj4gICAgICAgLyogZ28gaW50byBwb3dlci1zYXZlIG1vZGUgaGVyZSAqLw0KPiA+Pj4gfQ0KPiA+ Pg0KPiA+PiBPa2F5LCBsZXQncyBnbyB0aHJvdWdoIHRoaXMgc3RlcCBieSBzdGVwIDopDQo+ID4+ DQo+ID4+IExldCdzIHN1cHBvc2Ugd2UgaGF2ZSB0aHJlZSBxdWV1ZXMgLSBxMCwgcTEgYW5kIHEy LiBXZSB3YW50IHRvIHNsZWVwDQo+ID4+IHdoZW5ldmVyIHRoZXJlJ3Mgbm8gdHJhZmZpYyBvbiAq YWxsIG9mIHRoZW0qLCBob3dldmVyIHdlIGNhbm5vdCBrbm93DQo+ID4+IHRoYXQgdW50aWwgd2Ug aGF2ZSBjaGVja2VkIGFsbCBvZiB0aGVtLg0KPiA+Pg0KPiA+PiBTbywgbGV0J3Mgc3VwcG9zZSB0 aGF0IHEwLCBxMSBhbmQgcTIgd2VyZSBlbXB0eSBhbGwgdGhpcyB0aW1lLCBidXQgbm93DQo+ID4+ IHNvbWUgdHJhZmZpYyBhcnJpdmVkIGF0IHEyIHdoaWxlIHdlJ3JlIHN0aWxsIGNoZWNraW5nIHEw LiBXZSBzZWUgdGhhdCBxMA0KPiA+PiBpcyBlbXB0eSwgYW5kIGFsbCBvZiB0aGUgcXVldWVzIHdl cmUgZW1wdHkgZm9yIHRoZSBsYXN0IE4gcG9sbHMsIHNvIHdlDQo+ID4+IHRoaW5rIHdlIHdpbGwg YmUgc2FmZSB0byBzbGVlcCBhdCBxMCBkZXNwaXRlIHRoZSBmYWN0IHRoYXQgdHJhZmZpYyBoYXMN Cj4gPj4ganVzdCBhcnJpdmVkIGF0IHEyLg0KPiA+PiBUaGlzIGlzIG5vdCBhbiBpc3N1ZSB3aXRo IE1PTklUT1IgbW9kZSBiZWNhdXNlIHdlIHdpbGwgYmUgYWJsZSB0byBzZWUgaWYNCj4gPj4gY3Vy cmVudCBSeCByaW5nIGRlc2NyaXB0b3IgaXMgYnVzeSBvciBub3QgdmlhIHRoZSBOSUMgY2FsbGJh Y2ssICpidXQNCj4gPj4gdGhpcyBpcyBub3QgcG9zc2libGUqIHdpdGggUEFVU0UgYW5kIFNDQUxF IG1vZGVzLCBiZWNhdXNlIHRoZXkgZG9uJ3QNCj4gPj4gaGF2ZSB0aGUgc25lYWt5IGxvb2thaGVh ZCBmdW5jdGlvbiBvZiBNT05JVE9SISBTbywgd2l0aCBQQVVTRSBhbmQgU0NBTEUNCj4gPj4gbW9k ZXMsIGl0IGlzIHBvc3NpYmxlIHRvIGVuZCB1cCBpbiBhIHNpdHVhdGlvbiB3aGVyZSB5b3UgKnRo aW5rKiB5b3UNCj4gPj4gZG9uJ3QgaGF2ZSBhbnkgdHJhZmZpYywgYnV0IHlvdSBhY3R1YWxseSBk bywgeW91IGp1c3QgaGF2ZW4ndCBjaGVja2VkDQo+ID4+IHRoZSByZWxldmFudCBxdWV1ZSB5ZXQu DQo+ID4NCj4gPiBJIHRoaW5rIHN1Y2ggc2l0dWF0aW9uIGlzIHVuYXZvaWRhYmxlLg0KPiA+IFll cywgdHJhZmZpYyBjYW4gYXJyaXZlIHRvICphbnkqIHF1ZXVlIGF0ICphbnkqIHRpbWUuDQo+ID4g V2l0aCB5b3VyIGV4YW1wbGUgYWJvdmUgLSB1c2VyIGNob29zZSBxMiBhcyAnc3BlY2lhbCcgcXVl dWUsIGJ1dA0KPiA+IHRyYWZmaWMgYWN0dWFsbHkgYXJyaXZlcyBvbiBxMCBvciBxMS4NCj4gPiBB bmQgeWVzLCBpZiB1c2VyIGNob29zZSBQQVVTRSBvciBTQ0FMRSBtZXRob2RzIGhlICpjYW4qIG1p c3MgdGhlIHRyYWZmaWMsDQo+ID4gYmVjYXVzZSBhcyB5b3Ugc2FpZCBmb3IgdGhlc2UgbWV0aG9k cyB0aGVyZSBpcyBubyBub3RpZmljYXRpb24gbWVjaGFuaXNtcy4NCj4gPiBJIHRoaW5rIHRoZXJl IGFyZSBqdXN0IHVuYXZvaWRhYmxlIGxpbWl0YXRpb25zIHdpdGggdGhlc2UgcG93ZXItc2F2ZSBt ZXRob2RzLg0KPiA+DQo+ID4+IEluIG9yZGVyIHRvIHByZXZlbnQgdGhpcyBmcm9tIGhhcHBlbmlu Zywgd2UgZG8gbm90IHNsZWVwIG9uIGV2ZXJ5IHF1ZXVlLA0KPiA+PiBpbnN0ZWFkIHdlIHNsZWVw ICpvbmNlKiBwZXIgbG9vcC4NCj4gPg0KPiA+IFllcywgdG90YWxseSBhZ3JlZSB3ZSBzaG91bGRu J3Qgc2xlZXAgb24gKmV2ZXJ5KiBxdWV1ZS4NCj4gPiBXZSBuZWVkIHRvIGdvIHRvIHNsZWVwIHdo ZW4gdGhlcmUgaXMgbm8gdHJhZmZpYyBvbiAqYW55KiBvZiBxdWV1ZXMgd2UgbW9uaXRvci4NCj4g Pg0KPiA+PiBUaGF0IGlzLCB3ZSBjaGVjayBxMCwgY2hlY2sgcTEsIGNoZWNrDQo+ID4+IHEyLCBh bmQgb25seSB0aGVuIHdlIGRlY2lkZSB3aGV0aGVyIHdlIHdhbnQgdG8gc2xlZXAgb3Igbm90Lg0K PiA+DQo+ID4+IE9mIGNvdXJzZSwgd2l0aCBzdWNoIHNjaGVtZSBpdCBpcyBzdGlsbCBwb3NzaWJs ZSB0byBlLmcuIHNsZWVwIGluIHEyDQo+ID4+IHdoaWxlIHRoZXJlJ3MgdHJhZmZpYyB3YWl0aW5n IGluIHEwLA0KPiA+DQo+ID4gWWVzLCBleGFjdGx5Lg0KPiA+DQo+ID4+IGJ1dCB3b3JzdCBjYXNl IGlzIGxlc3MgYmFkIHdpdGgNCj4gPj4gdGhpcyBzY2hlbWUsIGJlY2F1c2Ugd2UnbGwgYmUgZG9p bmcgYXQgd29yc3QgMSBleHRyYSBzbGVlcC4NCj4gPg0KPiA+IEhtbSwgSSB0aGluayBpdCB3b3Vs ZCBiZSBvbmUgZXh0cmEgc2xlZXAgYW55d2F5Lg0KPiA+DQo+ID4+IFdoZXJlYXMgd2l0aCB3aGF0 IHlvdSdyZSBzdWdnZXN0aW5nLCBpZiB3ZSBoYWQgZS5nLiAxMCBxdWV1ZXMgdG8gcG9sbCwNCj4g Pj4gYW5kIHdlIGNoZWNrZWQgcTEgYnV0IHRyYWZmaWMgaGFzIGp1c3QgYXJyaXZlZCBhdCBxMCwg d2UnbGwgYmUgc2xlZXBpbmcNCj4gPj4gYXQgcTEsIHRoZW4gd2UnbGwgYmUgc2xlZXBpbmcgYXQg cTIsIHRoZW4gd2UnbGwgYmUgc2xlZXBpbmcgYXQgcTMsIHRoZW4NCj4gPj4gd2UnbGwgYmUgc2xl ZXBpbmcgYXQgcTQsIHRoZW4gd2UnbGwgYmUgc2xlZXBpbmcgYXQgcTUuLi4uIGFuZCA5IHNsZWVw cw0KPiA+PiBsYXRlciB3ZSBmaW5hbGx5IHJlYWNoIHEwIGFuZCBmaW5kIG91dCBhZnRlciBhbGwg dGhpcyB0aW1lIHRoYXQgd2UNCj4gPj4gc2hvdWxkbid0IGhhdmUgc2xlcHQgaW4gdGhlIGZpcnN0 IHBsYWNlLg0KPiA+DQo+ID4gQWggb2ssIEkgdGhpbmsgSSB1bmRlcnN0YW5kIG5vdyB3aGF0IHlv dSBhcmUgc2F5aW5nLg0KPiA+IFN1cmUsIHRvIGF2b2lkIHN1Y2ggc2l0dWF0aW9uLCB3ZSdsbCBu ZWVkIHRvIG1haW50YWluIGV4dHJhIGNvdW50ZXJzIGFuZA0KPiA+IHVwZGF0ZSB0aGVtIHByb3Bl cmx5IHdoZW4gd2UgZ28gdG8gc2xlZXAuDQo+ID4gSSBzaG91bGQgc3RhdGUgaXQgY2xlYXJseSBh dCB0aGUgYmVnaW5uaW5nLg0KPiA+IEl0IG1pZ2h0IGJlIGVhc2llciB0byBleHBsYWluIHdoYXQg SSBtZWFudCBieSBjb2RlIHNuaXBwZXQ6DQo+ID4NCj4gPiBsY29yZV9jb25mIG5lZWRzIDIgY291 bnRlcnM6DQo+ID4gdWludDY0X3QgICBuYl9xdWV1ZXNfcmVhZHlfdG9fc2xlZXA7DQo+ID4gdWlu dDY0X3QgICBuYl9zbGVlcHM7DQo+ID4NCj4gPiBQbHVzIGVhY2ggcXVldWUgbmVlZHMgMiBjb3Vu dGVyczoNCj4gPiB1aW50NjRfdCBuYl9lbXB0eV9wb2xsczsNCj4gPiB1aW50NjRfdCBuYl9zbGVl cHM7DQo+ID4NCj4gPiBOb3csIGF0IHJ4X2NhbGxiYWNrKCk6DQo+ID4NCj4gPiAvKiBjaGVjayBk aWQgc2xlZXAgaGFwcGVuIHNpbmNlIHByZXZpb3VzIGNhbGwsDQo+ID4gICAgICAgaWYgeWVzLCB0 aGVuIHJlc2V0IHF1ZXVlIGNvdW50ZXJzICovDQo+ID4gaWYgKHF1ZXVlLT5uYl9zbGVlcHMgIT0g bGNvcmVfY29uZi0+bmJfc2xlZXBzKSB7DQo+ID4gICAgICBxdWV1ZS0+bmJfc2xlZXBzID0gbGNv cmVfY29uZi0+bmJfc2xlZXBzOw0KPiA+ICAgICAgcXVldWUtPm5iX2VtcHR5X3BvbGxzID0gMDsN Cj4gPiB9DQo+ID4NCj4gPiAgIC8qIHBhY2tldCBhcnJpdmVkLCByZXNldCBjb3VudGVycyAqLw0K PiA+ICAgaWYgKG5iX3J4ICE9IDApIHsNCj4gPiAgICAgLyogcXVldWUgaXMgbm90ICdyZWFkeV90 b19zbGVlcCcgYW55IG1vcmUgKi8NCj4gPiAgICAgaWYgKHF1ZXVlLT5uYl9lbXB0eV9wb2xscyA+ IEVNUFRZUE9MTF9NQVgpDQo+ID4gICAgICAgICBsY29yZV9jb25mLT4gbmJfcXVldWVzX3JlYWR5 X3RvX3NsZWVwLS07DQo+ID4gICAgIHF1ZXVlLT5uYl9lbXB0eV9wb2xscyA9IDA7DQo+ID4NCj4g PiAvKiBlbXB0eSBwb2xsICovDQo+ID4gfSBlbHNlIHsNCj4gPiAgICAgIC8qIHF1ZXVlIHJlYWNo ZXMgRU1QVFlQT0xMX01BWCB0aHJlc2hvbGQsIG1hcmsgaXQgYXMgJ3JlYWR5X3RvX3NsZWVwJyAq Lw0KPiA+ICAgICAgaWYgKHF1ZXVlLT5uYl9lbXB0eV9wb2xscyA9PSBFTVBUWVBPTExfTUFYKQ0K PiA+ICAgICAgICAgbGNvcmVfY29uZi0+IG5iX3F1ZXVlc19yZWFkeV90b19zbGVlcCsrOw0KPiA+ ICAgICAgcXVldWUtPm5iX2VtcHR5X3BvbGxzKys7DQo+ID4gfQ0KPiA+DQo+ID4gICAgIC8qIG5v IHRyYWZmaWMgb24gYW55IHF1ZXVlIGZvciBhdCBsZWFzdCBFTVBUWVBPTExfTUFYIGl0ZXJhdGlv bnMgKi8NCj4gPiAgICAgaWYgKGxjb3JlX2NvbmYtPiBuYl9xdWV1ZXNfcmVhZHlfdG9fc2xlZXAg PT0gbGNvcmVfY29uZi0+bl9xdWV1ZXMpIHsNCj4gPiAgICAgICAgLyogdXBkYXRlIGNvdW50ZXJz IGFuZCBzbGVlcCAqLw0KPiA+ICAgICAgICBsY29yZV9jb25mLT5uYl9zbGVlcHMrKzsNCj4gPiAg ICAgICAgbGNvcmVfY29uZi0+IG5iX3F1ZXVlc19yZWFkeV90b19zbGVlcCA9IDA7DQo+ID4gICAg ICAgIGdvdG9fc2xlZXAoKTsNCj4gPiAgICAgfQ0KPiA+IH0NCj4gPg0KPiBBY3R1YWxseSwgaSBk b24ndCB0aGluayB0aGlzIGlzIGdvaW5nIHRvIHdvcmssIGJlY2F1c2UgaSBjYW4gc2VlIG5vDQo+ IChlYXN5KSB3YXkgdG8gZ2V0IGZyb20gbGNvcmUgdG8gc3BlY2lmaWMgcXVldWUuIEkgbWVhbiwg eW91IGNvdWxkIGhhdmUNCj4gYW4gTyhOKSBmb3IgbG9vcCB0aGF0IHdpbGwgbG9vcCBvdmVyIHRo ZSBsaXN0IG9mIHF1ZXVlcyBldmVyeSB0aW1lIHdlDQo+IGVudGVyIHRoZSBjYWxsYmFjaywgYnV0 IGkgZG9uJ3QgdGhpbmsgdGhhdCdzIHN1Y2ggYSBnb29kIGlkZWEuDQoNCkkgdGhpbmsgc29tZXRo aW5nIGxpa2UgdGhhdCB3aWxsIHdvcms6DQoNCnN0cnVjdCBxdWV1ZV9saXN0X2VudHJ5IHsNCiAg ICAgICAgVEFJTFFfRU5UUlkocXVldWVfbGlzdF9lbnRyeSkgbmV4dDsNCiAgICAgICAgdW5pb24g cXVldWUgcXVldWU7DQorICAgICAvKiBwb2ludGVyIHRvIHRoZSBsY29yZSB0aGF0IHF1ZXVlIGlz IG1hbmFnZWQgYnkgKi8NCisgICAgICBzdHJ1Y3QgcG1kX2NvcmVfY2ZnICpsY29yZV9jZmc7DQor ICAgICAvKiBxdWV1ZSBSWCBjYWxsYmFjayAqLw0KKyAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXRo X3J4dHhfY2FsbGJhY2sgKmN1cl9jYjsNCn07DQoNCkF0IHJ0ZV9wb3dlcl9ldGhkZXZfcG1nbXRf cXVldWVfZW5hYmxlKCk6DQoNCisgICAgICBzdHJ1Y3QgcXVldWVfbGlzdF9lbnRyeSAqcWxlOw0K Li4uDQotICAgICAgICByZXQgPSBxdWV1ZV9saXN0X2FkZChxdWV1ZV9jZmcsICZxZGF0YSk7DQor ICAgICAgIHFsZSA9IHF1ZXVlX2xpc3RfYWRkKHF1ZXVlX2NmZywgJnFkYXRhKTsNCi4uLg0KLSAg ICAgICBxdWV1ZV9jZmctPmN1cl9jYiA9IHJ0ZV9ldGhfYWRkX3J4X2NhbGxiYWNrKHBvcnRfaWQs IHF1ZXVlX2lkLCBjbGIsIE5VTEwpOw0KKyAgICAgIHFsZS0+Y3VyX2NiID0gcnRlX2V0aF9hZGRf cnhfY2FsbGJhY2socG9ydF9pZCwgcXVldWVfaWQsIGNsYiwgcWRhdGEpOw0KDQpBdCBhY3R1YWwg Y2xiX3h4eCh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCBxaWR4LA0KICAgICAgICAgICAgICAg IHN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMgX19ydGVfdW51c2VkLCB1aW50MTZfdCBuYl9yeCwNCiAg ICAgICAgICAgICAgICB1aW50MTZfdCBtYXhfcGt0cyBfX3J0ZV91bnVzZWQsIHZvaWQgKmFkZHIg X19ydGVfdW51c2VkKQ0Kew0KICAgLi4uDQogICBzdHJ1Y3QgcXVldWVfbGlzdF9lbnRyeSAqcWxl ID0gYWRkcjsNCiAgIHN0cnVjdCBwbWRfY29yZV9jZmcgKmxjb3JlX2NmZyA9IHFsZS0+bGNvcmVf Y29uZjsNCiAgIC4uLi4NCn0NCg0KDQo=