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 8C25343024; Thu, 10 Aug 2023 09:39:29 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2AECD40DFB; Thu, 10 Aug 2023 09:39:29 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 1C91240DD8 for ; Thu, 10 Aug 2023 09:39:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1691653167; x=1723189167; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=FwS4kxiAz1AnSoOg+rvunER/DW+4NTT5nUHtzKR15/U=; b=ZPYsLtRMC6Rn7VzTx1RU3Xxl/IqfuHAbz+0mxD43L9TsmPYobDxAbSLF 4J95kWGN8lgXa3bg9vbTkoniMEskQTaQkL3r5J11cdfzLZL8T3j8qwPK/ TjK2XN9QWYKG8BnaQlxIo4ITdt3yj1oB65Kf88a8P/1O36AOHKpMCrvVk GSrg4u+lUJkiwFtnJPYRoKFeo9YNUlE/k6/Tcy+tEI7ZjMSD+DrbsY062 kDJ8Wou1Acpd3Y/DuE9KHMuwhgdeMCRrQxON1jOW6wrb7/wRJBYM2XDs1 /ipbzseYdUvwc9sM8j9c2CNH/kDIBZsSBpj3f6gfH/xwIPsQ316n0ZJ7h w==; X-IronPort-AV: E=McAfee;i="6600,9927,10797"; a="457680961" X-IronPort-AV: E=Sophos;i="6.01,161,1684825200"; d="scan'208";a="457680961" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Aug 2023 00:39:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10797"; a="797507552" X-IronPort-AV: E=Sophos;i="6.01,161,1684825200"; d="scan'208";a="797507552" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga008.fm.intel.com with ESMTP; 10 Aug 2023 00:39:25 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug 2023 00:39:24 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 10 Aug 2023 00:39:24 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2507.27 via Frontend Transport; Thu, 10 Aug 2023 00:39:24 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.105) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Thu, 10 Aug 2023 00:38:41 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DKzfbessmcjVN+UenkE5MhC+Jia8Ub5chQwP/POWwDrGbZwsccC99xhOjtHkjMPVbUREau4uptpbGO4YOojHxrzsEWQ29YWebQ2jSnaONkCPAsKYTgYsyihChmhG/nNJLmf56uNfN9PT0IATMoyDbFKmgWKv8ifU/OK2K43O0duPCg71VloskfpY0H9H8aEG1kjqYctP4aPKbrSfHm8BOoehhSKzbsAJbXtWduELMLGI2nC9DMepMQPh9UmPfiR73hofXqMaHqjmcqisIuqhiFOA8mKYtoZ6NXxukdKVqAMg6GyphlAkn72SBp0s+591cyHb9EI6Vb54daPsbcG0rg== 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=FwS4kxiAz1AnSoOg+rvunER/DW+4NTT5nUHtzKR15/U=; b=jtt/7v3Ojtn5foxEqFXKEMkOHuANdAyTo9vdo8cfZFQovUMOV4020ZI+pSp0pgi3IUzK0I3KnDoC+LqZOcaon5dCXKW8uqObGz0qYZMuTTqr6JousVXHJT2A7i6nGRGonICWNnSJlIQrzlTRojp+t7Fq5yAwXhKg3boppGFikvPfO3ZOMRw+bn8W+jkikaQxuhGc0YnvMDXWj+npg8FjDHiF4pub3TqbAOwmh3uqgJXJN9fwwNJdGEfcOoAPbJzcpzOMKDYokrbkCX8jpCHrwKZLmWfguzpAlW666YCWXVOFq9Tp6PJ+MIWPye8FDz8LHD/x7qHrrcd43vrBVfYk+A== 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 Received: from DM6PR11MB3868.namprd11.prod.outlook.com (2603:10b6:5:19f::13) by DM6PR11MB4692.namprd11.prod.outlook.com (2603:10b6:5:2aa::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.30; Thu, 10 Aug 2023 07:38:33 +0000 Received: from DM6PR11MB3868.namprd11.prod.outlook.com ([fe80::2729:6170:6e40:89c6]) by DM6PR11MB3868.namprd11.prod.outlook.com ([fe80::2729:6170:6e40:89c6%7]) with mapi id 15.20.6652.029; Thu, 10 Aug 2023 07:38:33 +0000 From: "Naga Harish K, S V" To: Jerin Jacob CC: "dev@dpdk.org" , "Jayatheerthan, Jay" Subject: RE: [PATCH v2] eventdev/eth_rx: update adapter create APIs Thread-Topic: [PATCH v2] eventdev/eth_rx: update adapter create APIs Thread-Index: AQHZxIxERCMhUhQQaECqaWsmbSDBLa/XBrFggAAoaQCAC/aa0A== Date: Thu, 10 Aug 2023 07:38:33 +0000 Message-ID: References: <20230801094004.51939-1-s.v.naga.harish.k@intel.com> <20230801135149.135550-1-s.v.naga.harish.k@intel.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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB3868:EE_|DM6PR11MB4692:EE_ x-ms-office365-filtering-correlation-id: 2b526944-dbff-4093-8e30-08db9974cce1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QTdve4Hzk7rjWQ7zauIAu2lpUzAxhVGjAv0OCRmKaaGOJtkgBIu1ObuJ4pfYhV9L/JUEZaF70YV2kTjMjzWbw+61cDyh7FrqyemiBvHW1JZ4/dFj8zt0d6jQCMnc6xUCe2RlY3eQyPRUpP2WilCyyoP4anMuhhcFFyoCeFy77sD3FtIdAn2M4h9yTB4pqOgT/LM0aW5OHQ+KAfaIQpASarMyWxMxNiB9GHr7/9rdNnqB7/N0P0y3Sy9Bnh8kIxHUQmD4kVpmprB9SQLgkZkYLZeg/6UXF27Fn2FTOaJpfoGtmlYopN34IrtZYxhaje3MGltSuHk/vCt7Boxjxe0z6fcLHkeLly603Cu2fjH3XueB4D/WRJIUat4f/dyjg+nfvc9epSnNWRG13CrcY2q6Nk7HnBeuXM58CFKKl/r70ueAIQxArs+NZcED3ClIPRGYUBPs3HWD+JkDBzmjqHq1pQdBnuKHDAJZLp6SJO9/4N9yT0HaQ/49ZixmyrreMNZU6QolmPT6JszBalCEX16VmE30OKc5qfVkkwnN9QNHPLcaCxf/zL0QCyIaukULwTXrJhp693gf0bYpeaN/EeAAG1pXkPuMkG3Shetm5meoatw/Bz8MLaDJW4DJisJZy4vZkJZ6e9KfFhn17ZnEzorDqA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3868.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39860400002)(396003)(346002)(366004)(136003)(376002)(186006)(451199021)(1800799006)(54906003)(55016003)(38100700002)(71200400001)(7696005)(478600001)(82960400001)(122000001)(52536014)(5660300002)(8676002)(8936002)(38070700005)(2906002)(30864003)(86362001)(33656002)(15650500001)(4326008)(64756008)(6916009)(66446008)(66556008)(66946007)(66476007)(76116006)(41300700001)(316002)(53546011)(55236004)(6506007)(26005)(107886003)(83380400001)(966005)(9686003)(579004)(559001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UVpuMGxLWWR4YmNWeERDK2JyZWxrVUx0RU41WjdwYmFxaEtrdVNpbFM4M0dE?= =?utf-8?B?ODNiSWxvY0d5TUFvRVdpUXNocmIrVGIwbWkxWHhBZnBWVzFXSklDTWcveUs3?= =?utf-8?B?L2hJblJaR3ZMdnpERmhVWGxyWTE3ZUF3WHpSS0JHSjVrUU5ZY2FBUlUxYm1O?= =?utf-8?B?aGV3Qm9RRUQyckxJb2hUaXpHZW1NNTZYaDJzZ2Jyd3k4TjdnZ3NvZ1I1aHY1?= =?utf-8?B?bWdkdzlZdWRaM2pRMlliQVprenVwQStPWk5jWWdRa2plVHRSSEFrdEY2SEVp?= =?utf-8?B?Q0psOFhSamtnMkYybFNWNWFBUGNDdGUwTEF4RGtaU3BEemFkNGUvKzFTa2VW?= =?utf-8?B?SGdCMzJra2xnNUtncEl1SGJpRis3WXo2NnVKOHdKZ2VVd0tGK0VrQlZzN2xP?= =?utf-8?B?eldiNlk0UFl5M3o2Znl5S2VOSnFqNWE1WU16bDFzeVNObmdwT2NoSUlYSHVk?= =?utf-8?B?TzdGZGNFUXRNckkvbXFWSHo4bXZrcnMwY21GUHU1NVl4b1lYRWdPbDJ5Ynl1?= =?utf-8?B?eGlMc29BRUF1NGZuN1ozcFFBLzFTRlRSYzZpWi85ZU8xTGo4RFpYUTJEUVRt?= =?utf-8?B?UWNlVks4dVB5ck8rdFdlcW5HUm9NWVQ0V1pZU21pak0wRDV5UXRtOTBOelNE?= =?utf-8?B?azdwSWtkWnlVRDRNcEdrV1RMcVd3Wjhyck9SOUgxZmxmcC9zNi96aSs1TXA3?= =?utf-8?B?Qk9iWEcxYkVYQ1RlN0JuT0ROZEpKOURqSzVZc3p2NG1XeCtPbU5wSXI1M3Az?= =?utf-8?B?KzMxNlErNEZudDRrQXNjQlFFQmFqS2tOSG55MzNuajNudnFFVU14NE9vVW9z?= =?utf-8?B?eGpHdllEeEVSOFZCbXJrNy8zZFJWQk5XZXpvNncwYm1FRXpZOGNZRGVnRUxE?= =?utf-8?B?R1RwR2J3V0lkOE9zaXEzM1V3QmRYRWZhMDAwcDQ5WEVtL09FamRabzEveGwr?= =?utf-8?B?OXNYMXBmRm8rVWZuZWlia2lvSTcrWlBhQ1MwdXZWaDhUMkhsOGxCRm56dnJH?= =?utf-8?B?dHAyL0x5d251UjZPZ0t0S01Dakh3c3NhUC9rQUhFbVgrQU5vMVdqbXVLekJt?= =?utf-8?B?TFhvZ01VUkVwUUI5ZHk0aVlHb1BxS3lRMWQ3bkw2aDFwbzhKZUozWVM5V2tj?= =?utf-8?B?SlFZcERiSEhaMFFzRUdXUjMvRVlhT2llY0Nxb0VMMlNwckhuYkVjcDVEb2g3?= =?utf-8?B?TWVoS2JYQmhtMUdwMjN1MU5CRFFSYk5mWG9MSVhFMmkvQ2NmTTNpRzlSZmNH?= =?utf-8?B?THRPek9JbU5ibzgvNEFHVlNmeXZlbkJVTWFzcXpKUDRtaWt1TS9iVWxwVUxo?= =?utf-8?B?WENIbUw5ZC9YZWdMRHg2R0pJOHFEQ1R6TUtBaUVJRlYrVEdCZVdjbWk1UFcw?= =?utf-8?B?NGc5V1ZRdGZSdUl1SmI2Y09jdGxUZG5wTGdtU1RSVHo4V0t0VjFrTENDVkpZ?= =?utf-8?B?bkNwYlRNWWJhZ3hPenNWajRyZ2R6TnZ6dkVUY1dLalNCSDJldGtQaWxHV0U4?= =?utf-8?B?OHQ1akh4NXpJY09ycDVyQnhGOGwrNW5wUThjamVkUUViN1A5OU1qdkxOdTFN?= =?utf-8?B?QnZ3QXhpbjEwZnI2cE1NdlhUTllLU0xIQjQzYUxDZFNGWTVWbG5OZ1F4aXA3?= =?utf-8?B?U2FtU29ZMDZMZjNvY0dTNllaRW15N3o4RU5uakx3WXhURWlKYnV5MGZORnc4?= =?utf-8?B?RGw1VUo1OG1tclRXemtVNUV4bHh6R1dpU2c2N1dkV0Mvcm1zMDFmUGovYS9N?= =?utf-8?B?S3FoZ09UTnlDQ1U5QWQ3L1ovY2xmTzlVdVhBRmRnUkNJN0pSdGFaRC8xM3Zr?= =?utf-8?B?N2tERFRhektQMzdHTHVJMElONTI3OU55VHdCV3ZwYnh6UGdTKzBqTDRyMitF?= =?utf-8?B?NzlzY2hWK0lzc3BtOTV3Mk9Ma2lYb3RzYWlwMUFVNkp0dEJwZ2JkYjl4N1Nz?= =?utf-8?B?bEhOK3JJTDFCNXVoakE0WlIwS1RSVHRUd0tJNHB4MXIzOUthc1VOelpOOHBv?= =?utf-8?B?bXFOTzBJY3htVGdWZklEdkhmL0ZsNkRVSmtmTWx4RDJWcFlWS29yV3l2STQy?= =?utf-8?B?akJLOEppWFIrREhLaDVWRnlZRlRCR0FPS1BWRmVNb3B2eEx5ZmJNbFBxZzhm?= =?utf-8?B?VDVTU0s2L1d1SEQ0Yk9NMUFpWHVJQmxaKzgrMCtVUGNha0M4R1llY0tzSUZs?= =?utf-8?B?QXc9PQ==?= 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: DM6PR11MB3868.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b526944-dbff-4093-8e30-08db9974cce1 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2023 07:38:33.5488 (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: VQEMg2gcUQqZfao/vTNv1L0lc/vM+oHkNFWWdzzdkY6jguDjUvqyrSuQvQPiCHR5zBPh47ity6PqG98dXtRtF3UJsHJvqQUQC2HkqlTlVgg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4692 X-OriginatorOrg: intel.com 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 SGkgSmVyaW4sDQogICAgIEFzIHBlciBEUERLIEd1aWRlbGluZXMsIEFQSSBjaGFuZ2VzIG9yIEFC SSBicmVha2FnZSBpcyBhbGxvd2VkIGR1cmluZyBMVFMgcmVsZWFzZXMNCgkgKGh0dHBzOi8vZG9j LmRwZGsub3JnL2d1aWRlcy9jb250cmlidXRpbmcvYWJpX3BvbGljeS5odG1sI2FiaS1icmVha2Fn ZXMpDQoNCkFsc28sIHRoZXJlIGFyZSBwcmV2aW91cyBpbnN0YW5jZXMgd2hlcmUgQVBJIGNoYW5n ZXMgaGFwcGVuZWQsIHNvbWUgb2YgdGhlbSBhcmUgbWVudGlvbmVkIGJlbG93Lg0KDQogICBJbiBE UERLIDIyLjExLCB0aGUgY3J5cHRvZGV2IGxpYnJhcnkgaGFkIHVuZGVyZ29uZSB0aGUgZm9sbG93 aW5nIEFQSSBjaGFuZ2VzLg0KKiBydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9uX2NyZWF0ZSgpIGFu ZCBydGVfY3J5cHRvZGV2X2FzeW1fc2Vzc2lvbl9jcmVhdGUoKSBBUEkgcGFyYW1ldGVycyBjaGFu Z2VkLg0KICAgcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9mcmVlKCkgYW5kIHJ0ZV9jcnlwdG9k ZXZfYXN5bV9zZXNzaW9uX2ZyZWUoKSBBUEkgcGFyYW1ldGVycyBjaGFuZ2VkLg0KICAgcnRlX2Ny eXB0b2Rldl9zeW1fc2Vzc2lvbl9pbml0KCkgYW5kIHJ0ZV9jcnlwdG9kZXZfYXN5bV9zZXNzaW9u X2luaXQoKSBBUElzIGFyZSByZW1vdmVkLg0KIA0KKiBldmVudGRldjogVGhlIGZ1bmN0aW9uIGBg cnRlX2V2ZW50X2NyeXB0b19hZGFwdGVyX3F1ZXVlX3BhaXJfYWRkYGAgd2FzIHVwZGF0ZWQNCiAg IHRvIGFjY2VwdCBjb25maWd1cmF0aW9uIG9mIHR5cGUgYGBydGVfZXZlbnRfY3J5cHRvX2FkYXB0 ZXJfcXVldWVfY29uZmBgDQogICBpbnN0ZWFkIG9mIGBgcnRlX2V2ZW50YGAsDQogICBzaW1pbGFy IHRvIGBgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlX2FkZGBgIHNpZ25hdHVyZS4NCiAg IEV2ZW50IHdpbGwgYmUgb25lIG9mIHRoZSBjb25maWd1cmF0aW9uIGZpZWxkcywNCiAgIHRvZ2V0 aGVyIHdpdGggYWRkaXRpb25hbCB2ZWN0b3IgcGFyYW1ldGVycy4NCg0KIEFwcGxpY2F0aW9ucyBo YXZlIHRvIGNoYW5nZSB0byBhY2NvbW1vZGF0ZSB0aGUgYWJvdmUgQVBJIGNoYW5nZXMuDQoNCkFz IGRpc2N1c3NlZCBlYXJsaWVyLCBmZXdlciBhZGFwdGVyLWNyZWF0ZSBBUElzIGFyZSB1c2VmdWwg Zm9yIHRoZSBhcHBsaWNhdGlvbiBkZXNpZ24uDQpQbGVhc2UgbGV0IHVzIGtub3cgeW91ciB0aG91 Z2h0cyBvbiB0aGUgc2FtZS4NCg0KLUhhcmlzaA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+IFNlbnQ6 IFdlZG5lc2RheSwgQXVndXN0IDIsIDIwMjMgOTo0MiBQTQ0KPiBUbzogTmFnYSBIYXJpc2ggSywg UyBWIDxzLnYubmFnYS5oYXJpc2gua0BpbnRlbC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IEph eWF0aGVlcnRoYW4sIEpheSA8amF5LmpheWF0aGVlcnRoYW5AaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBSZTogW1BBVENIIHYyXSBldmVudGRldi9ldGhfcng6IHVwZGF0ZSBhZGFwdGVyIGNyZWF0ZSBB UElzDQo+IA0KPiBPbiBXZWQsIEF1ZyAyLCAyMDIzIGF0IDc6NTjigK9QTSBOYWdhIEhhcmlzaCBL LCBTIFYNCj4gPHMudi5uYWdhLmhhcmlzaC5rQGludGVsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBI aSBKZXJpbiwNCj4gDQo+IA0KPiBIaSBIYXJpc2gsDQo+IA0KPiA+DQo+ID4gVGhlIEFQSSDigJxy dGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlX3dpdGhfcGFyYW1zKCnigJ0gaXMgYW4gZXh0 ZW5zaW9uIHRvDQo+IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGUoKSB3aXRoIGFuIGFk ZGl0aW9uYWwgYWRhcHRlciBjb25maWd1cmF0aW9uDQo+IHBhcmFtcyBzdHJ1Y3R1cmUuDQo+ID4g VGhlcmUgaXMgbm8gZXF1aXZhbGVudCBBUEkgZXhpc3RpbmcgdG9kYXkgZm9yIHRoZQ0KPiDigJxy dGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlX2V4dCgp4oCdIEFQSSB3aGljaCB0YWtlcyBh ZGRpdGlvbmFsIGFkYXB0ZXINCj4gcGFyYW1zLg0KPiA+IFRoZXJlIGFyZSB1c2UgY2FzZXMgd2hl cmUgY3JlYXRlX2V4dCgpIHZlcnNpb24gb2YgY3JlYXRlIEFQSSB3aXRoIGFkZGl0aW9uYWwNCj4g cGFyYW1ldGVycyBpcyBuZWVkZWQuIFdlIG1heSBuZWVkIHRvIGhhdmUgb25lIG1vcmUgYWRhcHRl ciBjcmVhdGUgQVBJIGZvcg0KPiB0aGlzLg0KPiA+IFRoYXQgbWFrZXMgc28gbWFueSBBZGFwdGVy IGNyZWF0ZSBBUElzICg0IGluIG51bWJlcikgYW5kIHdpbGwgYmUgY29uZnVzaW5nDQo+IGZvciB0 aGUgdXNlci4NCj4gPg0KPiA+ICAgIFRoYXQncyB3aHkgcHJvcG9zZWQgdGhlIGZvbGxvd2luZyBj aGFuZ2VzIHRvIHRoZSBSeCBhZGFwdGVyIGNyZWF0ZSBBUElzDQo+IHdoaWNoIHdpbGwgY29uc29s aWRhdGUgdGhlIGNyZWF0ZSBBUElzIHRvIDIgaW4gbnVtYmVyIHdpdGggYWxsIHBvc3NpYmxlDQo+ IGNvbWJpbmF0aW9ucy4NCj4gPiBUaGUgYXBwbGljYXRpb25zIHRoYXQgYXJlIGN1cnJlbnRseSB1 c2luZw0KPiA+IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfZXh0KCkgb3IgcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZSgpDQo+IEFQSXMgZm9yIGNyZWF0aW5nIFJ4IEFkYXB0 ZXIgY2FuIHBhc3MgTlVMTCBhcmd1bWVudCBmb3IgdGhlIG5ld2x5IGFkZGVkDQo+IGFyZ3VtZW50 IHdoaWNoIHdpbGwgYmVoYXZlIHRoZSBzYW1lIGFzIGJlZm9yZS4NCj4gPg0KPiA+IFRyeWluZyB0 byB1bmRlcnN0YW5kIHdoYXQgYXJlIHRoZSBjb25jZXJucyBmcm9tIHlvdXIgcGVyc3BlY3RpdmUg d2l0aCB0aGlzDQo+IGNvbnNvbGlkYXRlZCBBUEkgYXBwcm9hY2guDQo+IA0KPiBJZiBzaW5nbGUg YXBwbGljYXRpb24gY29kZSBiYXNlIG5lZWRzIHRvIHN1cHBvcnQgYm90aCB2ZXJzaW9uIG9mIERQ REsgdGhlbiB0aGV5DQo+IG5lZWQgaGF2ZSAjaWZkZWYgY2x1dHRlciBiYXNlZCBvbiBEUERLIHZl cnNpb24gY2hlY2sgYXMgd2UgYXJlIGNoYW5naW5nIHRoZQ0KPiBmdW5jdGlvbiBwcm90b3R5cGUu DQo+IElNTywgV2Ugc2hvdWxkIGRvIEFQSSBwcm90b3R5cGUgY2hhbmdlIGFzIGxhc3QgcmVzb3J0 LiBJdCBpcyBxdWl0ZSBjb21tb24gaGF2ZQ0KPiB0d28gQVBJcyB2ZXJzaW9ucyBvZiBzaW5nbGUg b3BlcmF0aW9uIHdpdGggbW9yZSBzcGVjaWFsaXplZCBwYXJhbWV0ZXJzLg0KPiANCj4gDQo+IA0K PiA+DQo+ID4gLUhhcmlzaA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+IFNl bnQ6IFR1ZXNkYXksIEF1Z3VzdCAxLCAyMDIzIDg6NTQgUE0NCj4gPiA+IFRvOiBOYWdhIEhhcmlz aCBLLCBTIFYgPHMudi5uYWdhLmhhcmlzaC5rQGludGVsLmNvbT4NCj4gPiA+IENjOiBkZXZAZHBk ay5vcmc7IEpheWF0aGVlcnRoYW4sIEpheSA8amF5LmpheWF0aGVlcnRoYW5AaW50ZWwuY29tPg0K PiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2Ml0gZXZlbnRkZXYvZXRoX3J4OiB1cGRhdGUgYWRh cHRlciBjcmVhdGUgQVBJcw0KPiA+ID4NCj4gPiA+IE9uIFR1ZSwgQXVnIDEsIDIwMjMgYXQgNzoy MuKAr1BNIE5hZ2EgSGFyaXNoIEsgUyBWDQo+ID4gPiA8cy52Lm5hZ2EuaGFyaXNoLmtAaW50ZWwu Y29tPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gVGhlIGFkYXB0ZXIgY3JlYXRlIEFQSXMgc3Vj aCBhcw0KPiA+ID4gPiBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlX2V4dCgpDQo+ID4g PiA+IGFuZA0KPiA+ID4gPiBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKCkgYXJlIHVw ZGF0ZWQgdG8gdGFrZSBhZGRpdGlvbmFsDQo+ID4gPiA+IGFyZ3VtZW50IGFzIGEgcG9pbnRlciBv ZiB0eXBlIHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcGFyYW1zLg0KPiA+ID4gPg0K PiA+ID4gPiBUaGUgQVBJIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfd2l0aF9wYXJh bXMoKSBpcyBkZXByZWNhdGVkLg0KPiA+ID4gPg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBOYWdh IEhhcmlzaCBLIFMgViA8cy52Lm5hZ2EuaGFyaXNoLmtAaW50ZWwuY29tPg0KPiA+ID4NCj4gPiA+ IFBsZWFzIGNoZWNrIHYxIGNvbW1lbnQNCj4gPiA+IGh0dHA6Ly9tYWlscy5kcGRrLm9yZy9hcmNo aXZlcy9kZXYvMjAyMy1BdWd1c3QvMjczNjAyLmh0bWwNCj4gPiA+DQo+ID4gPiA+IC0tLQ0KPiA+ ID4gPiB2MjoNCj4gPiA+ID4gKiAgRml4IGRveHlnZW4gY29tcGlsZSBpc3N1ZSBhbmQgd2Fybmlu Zw0KPiA+ID4gPiAtLS0NCj4gPiA+ID4gLS0tDQo+ID4gPiA+ICBhcHAvdGVzdC1ldmVudGRldi90 ZXN0X3BlcmZfY29tbW9uLmMgICAgICAgICAgfCAgIDIgKy0NCj4gPiA+ID4gIGFwcC90ZXN0LWV2 ZW50ZGV2L3Rlc3RfcGlwZWxpbmVfY29tbW9uLmMgICAgICB8ICAgMiArLQ0KPiA+ID4gPiAgYXBw L3Rlc3QvdGVzdF9ldmVudF9ldGhfcnhfYWRhcHRlci5jICAgICAgICAgIHwgIDIyICsrLS0NCj4g PiA+ID4gIGFwcC90ZXN0L3Rlc3Rfc2VjdXJpdHlfaW5saW5lX3Byb3RvLmMgICAgICAgICB8ICAg MiArLQ0KPiA+ID4gPiAgLi4uL3BpcGVsaW5lX3dvcmtlcl9nZW5lcmljLmMgICAgICAgICAgICAg ICAgIHwgICAyICstDQo+ID4gPiA+ICAuLi4vZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29y a2VyX3R4LmMgICAgfCAgIDIgKy0NCj4gPiA+ID4gIGV4YW1wbGVzL2lwc2VjLXNlY2d3L2V2ZW50 X2hlbHBlci5jICAgICAgICAgICB8ICAgMiArLQ0KPiA+ID4gPiAgZXhhbXBsZXMvbDJmd2QtZXZl bnQvbDJmd2RfZXZlbnRfZ2VuZXJpYy5jICAgIHwgICAyICstDQo+ID4gPiA+ICAuLi4vbDJmd2Qt ZXZlbnQvbDJmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5jICAgfCAgIDIgKy0NCj4gPiA+ID4gIGV4 YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2dlbmVyaWMuYyAgICAgICAgICB8ICAgMiArLQ0KPiA+ ID4gPiAgZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5jICAgIHwgICAy ICstDQo+ID4gPiA+ICBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMgICAg ICAgfCAxMDAgKysrKysrKystLS0tLS0tLS0tDQo+ID4gPiA+ICBsaWIvZXZlbnRkZXYvcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyLmggICAgICAgfCAgMzYgKystLS0tLQ0KPiA+ID4gPiAgbGliL2V2 ZW50ZGV2L3ZlcnNpb24ubWFwICAgICAgICAgICAgICAgICAgICAgIHwgICAxIC0NCj4gPiA+ID4g IDE0IGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKyksIDEwNSBkZWxldGlvbnMoLSkNCj4g PiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9j b21tb24uYw0KPiA+ID4gPiBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9jb21tb24uYw0K PiA+ID4gPiBpbmRleCA1ZTAyNTVjZmViLi4wYzZjMjUyZjdkIDEwMDY0NA0KPiA+ID4gPiAtLS0g YS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BlcmZfY29tbW9uLmMNCj4gPiA+ID4gKysrIGIvYXBw L3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX2NvbW1vbi5jDQo+ID4gPiA+IEBAIC0xMDAyLDcgKzEw MDIsNyBAQCBwZXJmX2V2ZW50X3J4X2FkYXB0ZXJfc2V0dXAoc3RydWN0DQo+ID4gPiBldnRfb3B0 aW9ucyAqb3B0LCB1aW50OF90IHN0cmlkZSwNCj4gPiA+ID4gICAgICAgICAgICAgICAgIH0NCj4g PiA+ID4gICAgICAgICAgICAgICAgIHF1ZXVlX2NvbmYuZXYucXVldWVfaWQgPSBwcm9kICogc3Ry aWRlOw0KPiA+ID4gPiAgICAgICAgICAgICAgICAgcmV0ID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFw dGVyX2NyZWF0ZShwcm9kLCBvcHQtPmRldl9pZCwNCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmcHJvZF9jb25mKTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmcHJvZF9jb25mLCBOVUxMKTsNCj4gPiA+ID4gICAgICAgICAgICAgICAgIGlm IChyZXQpIHsNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgZXZ0X2VycigiZmFpbGVk IHRvIGNyZWF0ZSByeCBhZGFwdGVyWyVkXSIsIHByb2QpOw0KPiA+ID4gPiAgICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gcmV0OyBkaWZmIC0tZ2l0DQo+ID4gPiA+IGEvYXBwL3Rlc3QtZXZl bnRkZXYvdGVzdF9waXBlbGluZV9jb21tb24uYw0KPiA+ID4gPiBiL2FwcC90ZXN0LWV2ZW50ZGV2 L3Rlc3RfcGlwZWxpbmVfY29tbW9uLmMNCj4gPiA+ID4gaW5kZXggYjExMTY5MGI3Yy4uNWFlMTc1 ZjJjNyAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBlbGlu ZV9jb21tb24uYw0KPiA+ID4gPiArKysgYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5l X2NvbW1vbi5jDQo+ID4gPiA+IEBAIC01NzEsNyArNTcxLDcgQEAgcGlwZWxpbmVfZXZlbnRfcnhf YWRhcHRlcl9zZXR1cChzdHJ1Y3QNCj4gPiA+IGV2dF9vcHRpb25zICpvcHQsIHVpbnQ4X3Qgc3Ry aWRlLA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgfQ0KPiA+ID4gPiAgICAgICAgICAgICAgICAg cXVldWVfY29uZi5ldi5xdWV1ZV9pZCA9IHByb2QgKiBzdHJpZGU7DQo+ID4gPiA+ICAgICAgICAg ICAgICAgICByZXQgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKHByb2QsIG9wdC0+ ZGV2X2lkLA0KPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwcm9kX2Nv bmYpOw0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwcm9kX2NvbmYs IE5VTEwpOw0KPiA+ID4gPiAgICAgICAgICAgICAgICAgaWYgKHJldCkgew0KPiA+ID4gPiAgICAg ICAgICAgICAgICAgICAgICAgICBldnRfZXJyKCJmYWlsZWQgdG8gY3JlYXRlIHJ4IGFkYXB0ZXJb JWRdIiwgcHJvZCk7DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7 IGRpZmYgLS1naXQNCj4gPiA+ID4gYS9hcHAvdGVzdC90ZXN0X2V2ZW50X2V0aF9yeF9hZGFwdGVy LmMNCj4gPiA+ID4gYi9hcHAvdGVzdC90ZXN0X2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMNCj4gPiA+ ID4gaW5kZXggNTJkMTQ2Zjk3Yy4uNDJlZGNiNjI1YSAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvYXBw L3Rlc3QvdGVzdF9ldmVudF9ldGhfcnhfYWRhcHRlci5jDQo+ID4gPiA+ICsrKyBiL2FwcC90ZXN0 L3Rlc3RfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYw0KPiA+ID4gPiBAQCAtNDAxLDcgKzQwMSw3IEBA IGFkYXB0ZXJfY3JlYXRlKHZvaWQpDQo+ID4gPiA+ICAgICAgICAgcnhfcF9jb25mLmRlcXVldWVf ZGVwdGggPQ0KPiA+ID4gZGV2X2luZm8ubWF4X2V2ZW50X3BvcnRfZGVxdWV1ZV9kZXB0aDsNCj4g PiA+ID4gICAgICAgICByeF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCA9DQo+ID4gPiBkZXZfaW5mby5t YXhfZXZlbnRfcG9ydF9lbnF1ZXVlX2RlcHRoOw0KPiA+ID4gPiAgICAgICAgIGVyciA9IHJ0ZV9l dmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGUoVEVTVF9JTlNUX0lELCBURVNUX0RFVl9JRCwNCj4g PiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyeF9wX2NvbmYp Ow0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJ4X3Bf Y29uZiwgTlVMTCk7DQo+ID4gPiA+ICAgICAgICAgVEVTVF9BU1NFUlQoZXJyID09IDAsICJFeHBl Y3RlZCAwIGdvdCAlZCIsIGVycik7DQo+ID4gPiA+DQo+ID4gPiA+ICAgICAgICAgcmV0dXJuIGVy cjsNCj4gPiA+ID4gQEAgLTQyNywxNyArNDI3LDE3IEBAIGFkYXB0ZXJfY3JlYXRlX3dpdGhfcGFy YW1zKHZvaWQpDQo+ID4gPiA+ICAgICAgICAgcnhhX3BhcmFtcy51c2VfcXVldWVfZXZlbnRfYnVm ID0gZmFsc2U7DQo+ID4gPiA+ICAgICAgICAgcnhhX3BhcmFtcy5ldmVudF9idWZfc2l6ZSA9IDA7 DQo+ID4gPiA+DQo+ID4gPiA+IC0gICAgICAgZXJyID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVy X2NyZWF0ZV93aXRoX3BhcmFtcyhURVNUX0lOU1RfSUQsDQo+ID4gPiA+ICsgICAgICAgZXJyID0g cnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZShURVNUX0lOU1RfSUQsDQo+ID4gPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVEVTVF9ERVZfSUQsICZyeF9wX2NvbmYsICZy eGFfcGFyYW1zKTsNCj4gPiA+ID4gICAgICAgICBURVNUX0FTU0VSVChlcnIgPT0gLUVJTlZBTCwg IkV4cGVjdGVkIC1FSU5WQUwgZ290ICVkIiwNCj4gPiA+ID4gZXJyKTsNCj4gPiA+ID4NCj4gPiA+ ID4gICAgICAgICByeGFfcGFyYW1zLnVzZV9xdWV1ZV9ldmVudF9idWYgPSB0cnVlOw0KPiA+ID4g Pg0KPiA+ID4gPiAtICAgICAgIGVyciA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVf d2l0aF9wYXJhbXMoVEVTVF9JTlNUX0lELA0KPiA+ID4gPiArICAgICAgIGVyciA9IHJ0ZV9ldmVu dF9ldGhfcnhfYWRhcHRlcl9jcmVhdGUoVEVTVF9JTlNUX0lELA0KPiA+ID4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFRFU1RfREVWX0lELCAmcnhfcF9jb25mLCAmcnhhX3BhcmFt cyk7DQo+ID4gPiA+ICAgICAgICAgVEVTVF9BU1NFUlQoZXJyID09IDAsICJFeHBlY3RlZCAwIGdv dCAlZCIsIGVycik7DQo+ID4gPiA+DQo+ID4gPiA+IC0gICAgICAgZXJyID0gcnRlX2V2ZW50X2V0 aF9yeF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcyhURVNUX0lOU1RfSUQsDQo+ID4gPiA+ICsg ICAgICAgZXJyID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZShURVNUX0lOU1RfSUQs DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVEVTVF9ERVZfSUQsICZy eF9wX2NvbmYsICZyeGFfcGFyYW1zKTsNCj4gPiA+ID4gICAgICAgICBURVNUX0FTU0VSVChlcnIg PT0gLUVFWElTVCwgIkV4cGVjdGVkIC1FRVhJU1QgZ290ICVkIiwNCj4gPiA+ID4gZXJyKTsNCj4g PiA+ID4NCj4gPiA+ID4gQEAgLTU2NywxNSArNTY3LDE1IEBAIGFkYXB0ZXJfY3JlYXRlX2ZyZWUo dm9pZCkNCj4gPiA+ID4gICAgICAgICB9Ow0KPiA+ID4gPg0KPiA+ID4gPiAgICAgICAgIGVyciA9 IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGUoVEVTVF9JTlNUX0lELCBURVNUX0RFVl9J RCwNCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwp Ow0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwg TlVMTCk7DQo+ID4gPiA+ICAgICAgICAgVEVTVF9BU1NFUlQoZXJyID09IC1FSU5WQUwsICJFeHBl Y3RlZCAtRUlOVkFMIGdvdCAlZCIsDQo+ID4gPiA+IGVycik7DQo+ID4gPiA+DQo+ID4gPiA+ICAg ICAgICAgZXJyID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZShURVNUX0lOU1RfSUQs IFRFU1RfREVWX0lELA0KPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJnJ4X3BfY29uZik7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmcnhfcF9jb25mLCBOVUxMKTsNCj4gPiA+ID4gICAgICAgICBURVNUX0FTU0VS VChlcnIgPT0gMCwgIkV4cGVjdGVkIDAgZ290ICVkIiwgZXJyKTsNCj4gPiA+ID4NCj4gPiA+ID4g ICAgICAgICBlcnIgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5TVF9J RCwNCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFU1Rf REVWX0lELCAmcnhfcF9jb25mKTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRFU1RfREVWX0lELCAmcnhfcF9jb25mLA0KPiA+ID4gPiArIE5VTEwpOw0K PiA+ID4gPiAgICAgICAgIFRFU1RfQVNTRVJUKGVyciA9PSAtRUVYSVNULCAiRXhwZWN0ZWQgLUVF WElTVCAlZCBnb3QgJWQiLA0KPiA+ID4gPiAtRUVYSVNULCBlcnIpOw0KPiA+ID4gPg0KPiA+ID4g PiAgICAgICAgIGVyciA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9mcmVlKFRFU1RfSU5TVF9J RCk7DQo+ID4gPiA+IEBAIC02MDUsMjAgKzYwNSwyMCBAQCBhZGFwdGVyX2NyZWF0ZV9mcmVlX3dp dGhfcGFyYW1zKHZvaWQpDQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIC5ldmVudF9i dWZfc2l6ZSA9IDEwMjQNCj4gPiA+ID4gICAgICAgICB9Ow0KPiA+ID4gPg0KPiA+ID4gPiAtICAg ICAgIGVyciA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfd2l0aF9wYXJhbXMoVEVT VF9JTlNUX0lELA0KPiA+ID4gPiArICAgICAgIGVyciA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRl cl9jcmVhdGUoVEVTVF9JTlNUX0lELA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFRFU1RfREVWX0lELCBOVUxMLCBOVUxMKTsNCj4gPiA+ID4gICAgICAgICBURVNUX0FT U0VSVChlcnIgPT0gLUVJTlZBTCwgIkV4cGVjdGVkIC1FSU5WQUwgZ290ICVkIiwNCj4gPiA+ID4g ZXJyKTsNCj4gPiA+ID4NCj4gPiA+ID4gLSAgICAgICBlcnIgPSBydGVfZXZlbnRfZXRoX3J4X2Fk YXB0ZXJfY3JlYXRlX3dpdGhfcGFyYW1zKFRFU1RfSU5TVF9JRCwNCj4gPiA+ID4gKyAgICAgICBl cnIgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5TVF9JRCwNCj4gPiA+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBURVNUX0RFVl9JRCwgJnJ4X3BfY29u ZiwgJnJ4YV9wYXJhbXMpOw0KPiA+ID4gPiAgICAgICAgIFRFU1RfQVNTRVJUKGVyciA9PSAwLCAi RXhwZWN0ZWQgMCBnb3QgJWQiLCBlcnIpOw0KPiA+ID4gPg0KPiA+ID4gPiAtICAgICAgIGVyciA9 IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfd2l0aF9wYXJhbXMoVEVTVF9JTlNUX0lE LA0KPiA+ID4gPiArICAgICAgIGVyciA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGUo VEVTVF9JTlNUX0lELA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRF U1RfREVWX0lELCAmcnhfcF9jb25mLCAmcnhhX3BhcmFtcyk7DQo+ID4gPiA+ICAgICAgICAgVEVT VF9BU1NFUlQoZXJyID09IC1FRVhJU1QsICJFeHBlY3RlZCAtRUVYSVNUICVkIGdvdCAlZCIsDQo+ ID4gPiA+IC1FRVhJU1QsIGVycik7DQo+ID4gPiA+DQo+ID4gPiA+ICAgICAgICAgcnhhX3BhcmFt cy5ldmVudF9idWZfc2l6ZSA9IDA7DQo+ID4gPiA+IC0gICAgICAgZXJyID0gcnRlX2V2ZW50X2V0 aF9yeF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcyhURVNUX0lOU1RfSUQsDQo+ID4gPiA+ICsg ICAgICAgZXJyID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZShURVNUX0lOU1RfSUQs DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVEVTVF9ERVZfSUQsICZy eF9wX2NvbmYsICZyeGFfcGFyYW1zKTsNCj4gPiA+ID4gICAgICAgICBURVNUX0FTU0VSVChlcnIg PT0gLUVJTlZBTCwgIkV4cGVjdGVkIC1FSU5WQUwgZ290ICVkIiwNCj4gPiA+ID4gZXJyKTsNCj4g PiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0L3Rlc3Rfc2VjdXJpdHlfaW5saW5l X3Byb3RvLmMNCj4gPiA+ID4gYi9hcHAvdGVzdC90ZXN0X3NlY3VyaXR5X2lubGluZV9wcm90by5j DQo+ID4gPiA+IGluZGV4IDQ1YWE3NDJjNmIuLmZjMjQwMjAxYTMgMTAwNjQ0DQo+ID4gPiA+IC0t LSBhL2FwcC90ZXN0L3Rlc3Rfc2VjdXJpdHlfaW5saW5lX3Byb3RvLmMNCj4gPiA+ID4gKysrIGIv YXBwL3Rlc3QvdGVzdF9zZWN1cml0eV9pbmxpbmVfcHJvdG8uYw0KPiA+ID4gPiBAQCAtMTg3Miw3 ICsxODcyLDcgQEAgZXZlbnRfaW5saW5lX2lwc2VjX3Rlc3RzdWl0ZV9zZXR1cCh2b2lkKQ0KPiA+ ID4gPg0KPiA+ID4gPiAgICAgICAgIC8qIENyZWF0ZSBSeCBhZGFwdGVyICovDQo+ID4gPiA+ICAg ICAgICAgcmV0ID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZShyeF9hZGFwdGVyX2lk LCBldmVudGRldl9pZCwNCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgJmV2X3BvcnRf Y29uZik7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICZldl9wb3J0X2NvbmYsIE5V TEwpOw0KPiA+ID4gPiAgICAgICAgIGlmIChyZXQgPCAwKSB7DQo+ID4gPiA+ICAgICAgICAgICAg ICAgICBwcmludGYoIkZhaWxlZCB0byBjcmVhdGUgcnggYWRhcHRlciAlZFxuIiwgcmV0KTsNCj4g PiA+ID4gICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ID4gPiA+IGRpZmYgLS1naXQgYS9l eGFtcGxlcy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfZ2VuZXJpYy5jDQo+ID4g PiA+IGIvZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29ya2VyX2dlbmVyaWMu Yw0KPiA+ID4gPiBpbmRleCA3ODNmNjhjOTFlLi43NDUxMDMzOGJhIDEwMDY0NA0KPiA+ID4gPiAt LS0gYS9leGFtcGxlcy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfZ2VuZXJpYy5j DQo+ID4gPiA+ICsrKyBiL2V4YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dvcmtl cl9nZW5lcmljLmMNCj4gPiA+ID4gQEAgLTQzNiw3ICs0MzYsNyBAQCBpbml0X2FkYXB0ZXJzKHVp bnQxNl90IG5iX3BvcnRzKQ0KPiA+ID4gPiAgICAgICAgIGluaXRfcG9ydHMobmJfcG9ydHMpOw0K PiA+ID4gPiAgICAgICAgIC8qIENyZWF0ZSBvbmUgYWRhcHRlciBmb3IgYWxsIHRoZSBldGhlcm5l dCBwb3J0cy4gKi8NCj4gPiA+ID4gICAgICAgICByZXQgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0 ZXJfY3JlYXRlKGNkYXRhLnJ4X2FkYXB0ZXJfaWQsDQo+ID4gPiBldmRldl9pZCwNCj4gPiA+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgJmFkcHRyX3BfY29uZik7DQo+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICZhZHB0cl9wX2NvbmYsIE5VTEwpOw0KPiA+ID4gPiAgICAgICAgIGlm IChyZXQpDQo+ID4gPiA+ICAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZBSUxVUkUsICJm YWlsZWQgdG8gY3JlYXRlIHJ4IGFkYXB0ZXJbJWRdIiwNCj4gPiA+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjZGF0YS5yeF9hZGFwdGVyX2lkKTsgZGlmZiAtLWdpdA0KPiA+ID4g PiBhL2V4YW1wbGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dvcmtlcl90eC5jDQo+ID4g PiA+IGIvZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29ya2VyX3R4LmMNCj4g PiA+ID4gaW5kZXggOThhNTJmMzg5Mi4uODg2MTlkNmMyZSAxMDA2NDQNCj4gPiA+ID4gLS0tIGEv ZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29ya2VyX3R4LmMNCj4gPiA+ID4g KysrIGIvZXhhbXBsZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29ya2VyX3R4LmMNCj4g PiA+ID4gQEAgLTc5Myw3ICs3OTMsNyBAQCBpbml0X2FkYXB0ZXJzKHVpbnQxNl90IG5iX3BvcnRz KQ0KPiA+ID4gPiAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2VydmljZV9pZDsNCj4gPiA+ID4N Cj4gPiA+ID4gICAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9j cmVhdGUoaSwgZXZkZXZfaWQsDQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmFkcHRyX3BfY29uZik7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmFkcHRyX3BfY29uZiwgTlVMTCk7DQo+ID4gPiA+ICAgICAgICAgICAgICAgICBpZiAocmV0 KQ0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZBSUxVUkUs DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVk IHRvIGNyZWF0ZSByeA0KPiA+ID4gPiBhZGFwdGVyWyVkXSIsIGkpOyBkaWZmIC0tZ2l0IGEvZXhh bXBsZXMvaXBzZWMtc2VjZ3cvZXZlbnRfaGVscGVyLmMNCj4gPiA+ID4gYi9leGFtcGxlcy9pcHNl Yy1zZWNndy9ldmVudF9oZWxwZXIuYw0KPiA+ID4gPiBpbmRleCA4OWZiN2U2MmE1Li4yOGQ2Nzc4 MTM0IDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9leGFtcGxlcy9pcHNlYy1zZWNndy9ldmVudF9oZWxw ZXIuYw0KPiA+ID4gPiArKysgYi9leGFtcGxlcy9pcHNlYy1zZWNndy9ldmVudF9oZWxwZXIuYw0K PiA+ID4gPiBAQCAtMTAzNSw3ICsxMDM1LDcgQEAgZWhfcnhfYWRhcHRlcl9jb25maWd1cmUoc3Ry dWN0DQo+ID4gPiBldmVudG1vZGVfY29uZg0KPiA+ID4gPiAqZW1fY29uZiwNCj4gPiA+ID4NCj4g PiA+ID4gICAgICAgICAvKiBDcmVhdGUgUnggYWRhcHRlciAqLw0KPiA+ID4gPiAgICAgICAgIHJl dCA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGUoYWRhcHRlci0+YWRhcHRlcl9pZCwN Cj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgYWRhcHRlci0+ZXZlbnRkZXZfaWQsICZw b3J0X2NvbmYpOw0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBhZGFwdGVyLT5ldmVu dGRldl9pZCwgJnBvcnRfY29uZiwgTlVMTCk7DQo+ID4gPiA+ICAgICAgICAgaWYgKHJldCA8IDAp IHsNCj4gPiA+ID4gICAgICAgICAgICAgICAgIEVIX0xPR19FUlIoIkZhaWxlZCB0byBjcmVhdGUg cnggYWRhcHRlciAlZCIsIHJldCk7DQo+ID4gPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gcmV0 Ow0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZlbnRf Z2VuZXJpYy5jDQo+ID4gPiA+IGIvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZlbnRfZ2Vu ZXJpYy5jDQo+ID4gPiA+IGluZGV4IDE5NzdlMjMyNjEuLjQzNjBiMjBhYTAgMTAwNjQ0DQo+ID4g PiA+IC0tLSBhL2V4YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2dlbmVyaWMuYw0KPiA+ ID4gPiArKysgYi9leGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9nZW5lcmljLmMNCj4g PiA+ID4gQEAgLTIzNSw3ICsyMzUsNyBAQCBsMmZ3ZF9yeF90eF9hZGFwdGVyX3NldHVwX2dlbmVy aWMoc3RydWN0DQo+ID4gPiBsMmZ3ZF9yZXNvdXJjZXMgKnJzcmMpDQo+ID4gPiA+ICAgICAgICAg fQ0KPiA+ID4gPg0KPiA+ID4gPiAgICAgICAgIHJldCA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRl cl9jcmVhdGUocnhfYWRwdHJfaWQsIGV2ZW50X2RfaWQsDQo+ID4gPiA+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXZ0X3JzcmMtPmRlZl9wX2NvbmYpOw0K PiA+ID4gPiArDQo+ID4gPiA+ICsgJmV2dF9yc3JjLT5kZWZfcF9jb25mLCBOVUxMKTsNCj4gPiA+ ID4gICAgICAgICBpZiAocmV0KQ0KPiA+ID4gPiAgICAgICAgICAgICAgICAgcnRlX3BhbmljKCJG YWlsZWQgdG8gY3JlYXRlIHJ4IGFkYXB0ZXJcbiIpOw0KPiA+ID4gPg0KPiA+ID4gPiBkaWZmIC0t Z2l0IGEvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5jDQo+ ID4gPiA+IGIvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5j DQo+ID4gPiA+IGluZGV4IDcxN2E3YmNlYjguLjU0Mjg5MGYzNTQgMTAwNjQ0DQo+ID4gPiA+IC0t LSBhL2V4YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYw0KPiA+ ID4gPiArKysgYi9leGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9pbnRlcm5hbF9wb3J0 LmMNCj4gPiA+ID4gQEAgLTI1Myw3ICsyNTMsNyBAQCBsMmZ3ZF9yeF90eF9hZGFwdGVyX3NldHVw X2ludGVybmFsX3BvcnQoc3RydWN0DQo+ID4gPiBsMmZ3ZF9yZXNvdXJjZXMgKnJzcmMpDQo+ID4g PiA+ICAgICAgICAgICAgICAgICB9DQo+ID4gPiA+DQo+ID4gPiA+ICAgICAgICAgICAgICAgICBy ZXQgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKGFkYXB0ZXJfaWQsIGV2ZW50X2Rf aWQsDQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZldnRfcnNyYy0+ZGVmX3BfY29uZik7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAmZXZ0X3Jz cmMtPmRlZl9wX2NvbmYsIE5VTEwpOw0KPiA+ID4gPiAgICAgICAgICAgICAgICAgaWYgKHJldCkN Cj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgcnRlX3BhbmljKCJGYWlsZWQgdG8gY3Jl YXRlIHJ4IGFkYXB0ZXJbJWRdXG4iLA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYWRhcHRlcl9pZCk7IGRpZmYgLS1naXQNCj4gPiA+ID4gYS9leGFtcGxlcy9sM2Z3 ZC9sM2Z3ZF9ldmVudF9nZW5lcmljLmMNCj4gPiA+ID4gYi9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9l dmVudF9nZW5lcmljLmMNCj4gPiA+ID4gaW5kZXggYzgwNTczZmM1OC4uODhlN2FmNTM4ZSAxMDA2 NDQNCj4gPiA+ID4gLS0tIGEvZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfZ2VuZXJpYy5jDQo+ ID4gPiA+ICsrKyBiL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2dlbmVyaWMuYw0KPiA+ID4g PiBAQCAtMjE3LDcgKzIxNyw3IEBAIGwzZndkX3J4X3R4X2FkYXB0ZXJfc2V0dXBfZ2VuZXJpYyh2 b2lkKQ0KPiA+ID4gPiAgICAgICAgIH0NCj4gPiA+ID4NCj4gPiA+ID4gICAgICAgICByZXQgPSBy dGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKHJ4X2FkcHRyX2lkLCBldmVudF9kX2lkLA0K PiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV2 dF9yc3JjLT5kZWZfcF9jb25mKTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArICZldnRfcnNyYy0+ZGVm X3BfY29uZiwgTlVMTCk7DQo+ID4gPiA+ICAgICAgICAgaWYgKHJldCkNCj4gPiA+ID4gICAgICAg ICAgICAgICAgIHJ0ZV9wYW5pYygiRmFpbGVkIHRvIGNyZWF0ZSByeCBhZGFwdGVyXG4iKTsNCj4g PiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2lu dGVybmFsX3BvcnQuYw0KPiA+ID4gPiBiL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2ludGVy bmFsX3BvcnQuYw0KPiA+ID4gPiBpbmRleCAzMmNmNjU3MTQ4Li5kYzhiNTAxM2NiIDEwMDY0NA0K PiA+ID4gPiAtLS0gYS9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9ldmVudF9pbnRlcm5hbF9wb3J0LmMN Cj4gPiA+ID4gKysrIGIvZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5j DQo+ID4gPiA+IEBAIC0yNDYsNyArMjQ2LDcgQEAgbDNmd2RfcnhfdHhfYWRhcHRlcl9zZXR1cF9p bnRlcm5hbF9wb3J0KHZvaWQpDQo+ID4gPiA+ICAgICAgICAgICAgICAgICB9DQo+ID4gPiA+DQo+ ID4gPiA+ICAgICAgICAgICAgICAgICByZXQgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3Jl YXRlKGFkYXB0ZXJfaWQsIGV2ZW50X2RfaWQsDQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZldnRfcnNyYy0+ZGVmX3BfY29uZik7 DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAmZXZ0X3JzcmMtPmRlZl9wX2NvbmYsIE5VTEwpOw0KPiA+ ID4gPiAgICAgICAgICAgICAgICAgaWYgKHJldCkNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgcnRlX3BhbmljKCJGYWlsZWQgdG8gY3JlYXRlIHJ4IGFkYXB0ZXJbJWRdXG4iLA0KPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhcHRlcl9pZCk7IGRpZmYg LS1naXQNCj4gPiA+ID4gYS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMN Cj4gPiA+ID4gYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMNCj4gPiA+ ID4gaW5kZXggZjdmOTNjY2RmZC4uY2UyMDNhNWU0YiAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvbGli L2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jDQo+ID4gPiA+ICsrKyBiL2xpYi9l dmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYw0KPiA+ID4gPiBAQCAtMjQ4NSw5MCAr MjQ4NSw3OCBAQCByeGFfY3JlYXRlKHVpbnQ4X3QgaWQsIHVpbnQ4X3QgZGV2X2lkLA0KPiA+ID4g PiAgICAgICAgIHJldHVybiAwOw0KPiA+ID4gPiAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAtaW50DQo+ ID4gPiA+IC1ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlX2V4dCh1aW50OF90IGlkLCB1 aW50OF90IGRldl9pZCwNCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy dGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY29uZl9jYiBjb25mX2NiLA0KPiA+ID4gPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNvbmZfYXJnKQ0KPiA+ID4gPiArc3RhdGlj IGludCBfX3J0ZV9jb2xkDQo+ID4gPiA+ICtyeGFfY29uZmlnX3BhcmFtc192YWxpZGF0ZShzdHJ1 Y3QgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3BhcmFtcw0KPiA+ID4gKnJ4YV9wYXJhbXMsDQo+ ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4 X2FkYXB0ZXJfcGFyYW1zDQo+ID4gPiA+ICsqdGVtcF9wYXJhbXMpDQo+ID4gPiA+ICB7DQo+ID4g PiA+IC0gICAgICAgc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMgcnhhX3Bh cmFtcyA9IHswfTsNCj4gPiA+ID4gKyAgICAgICBpZiAocnhhX3BhcmFtcyA9PSBOVUxMKSB7DQo+ ID4gPiA+ICsgICAgICAgICAgICAgICAvKiB1c2UgZGVmYXVsdCB2YWx1ZXMgaWYgcnhhX3BhcmFt cyBpcyBOVUxMICovDQo+ID4gPiA+ICsgICAgICAgICAgICAgICB0ZW1wX3BhcmFtcy0+ZXZlbnRf YnVmX3NpemUgPSBFVEhfRVZFTlRfQlVGRkVSX1NJWkU7DQo+ID4gPiA+ICsgICAgICAgICAgICAg ICB0ZW1wX3BhcmFtcy0+dXNlX3F1ZXVlX2V2ZW50X2J1ZiA9IGZhbHNlOw0KPiA+ID4gPiArICAg ICAgIH0gZWxzZSBpZiAoIXJ4YV9wYXJhbXMtPnVzZV9xdWV1ZV9ldmVudF9idWYgJiYNCj4gPiA+ ID4gKyAgICAgICAgICAgICAgICAgICByeGFfcGFyYW1zLT5ldmVudF9idWZfc2l6ZSA9PSAwKSB7 DQo+ID4gPiA+ICsgICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKCJldmVudCBidWZmZXIg c2l6ZSBjYW4ndCBiZSB6ZXJvXG4iKTsNCj4gPiA+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAt RUlOVkFMOw0KPiA+ID4gPiArICAgICAgIH0gZWxzZSBpZiAocnhhX3BhcmFtcy0+dXNlX3F1ZXVl X2V2ZW50X2J1ZiAmJg0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgcnhhX3BhcmFtcy0+ZXZl bnRfYnVmX3NpemUgIT0gMCkgew0KPiA+ID4gPiArICAgICAgICAgICAgICAgUlRFX0VERVZfTE9H X0VSUigiZXZlbnQgYnVmZmVyIHNpemUgbmVlZHMgdG8gYmUgY29uZmlndXJlZCAiDQo+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcyBwYXJ0IG9mIHF1ZXVlIGFkZFxu Iik7DQo+ID4gPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gPiA+ID4gKyAg ICAgICB9DQo+ID4gPiA+DQo+ID4gPiA+IC0gICAgICAgLyogdXNlIGRlZmF1bHQgdmFsdWVzIGZv ciBhZGFwdGVyIHBhcmFtcyAqLw0KPiA+ID4gPiAtICAgICAgIHJ4YV9wYXJhbXMuZXZlbnRfYnVm X3NpemUgPSBFVEhfRVZFTlRfQlVGRkVSX1NJWkU7DQo+ID4gPiA+IC0gICAgICAgcnhhX3BhcmFt cy51c2VfcXVldWVfZXZlbnRfYnVmID0gZmFsc2U7DQo+ID4gPiA+ICsgICAgICAgKnRlbXBfcGFy YW1zID0gKnJ4YV9wYXJhbXM7DQo+ID4gPiA+ICsgICAgICAgLyogYWRqdXN0IGV2ZW50IGJ1ZmYg c2l6ZSB3aXRoIEJBVENIX1NJWkUgdXNlZCBmb3IgZmV0Y2hpbmcNCj4gPiA+ID4gKyAgICAgICAg KiBwYWNrZXRzIGZyb20gTklDIHJ4IHF1ZXVlcyB0byBnZXQgZnVsbCBidWZmZXIgdXRpbGl6YXRp b24NCj4gPiA+ID4gKyAgICAgICAgKiBhbmQgcHJldmVudCB1bm5lY2Vzc2FyeSByb2xsb3ZlcnMu DQo+ID4gPiA+ICsgICAgICAgICovDQo+ID4gPiA+ICsgICAgICAgaWYgKCF0ZW1wX3BhcmFtcy0+ dXNlX3F1ZXVlX2V2ZW50X2J1Zikgew0KPiA+ID4gPiArICAgICAgICAgICAgICAgdGVtcF9wYXJh bXMtPmV2ZW50X2J1Zl9zaXplID0NCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgUlRF X0FMSUdOKHRlbXBfcGFyYW1zLT5ldmVudF9idWZfc2l6ZSwgQkFUQ0hfU0laRSk7DQo+ID4gPiA+ ICsgICAgICAgICAgICAgICB0ZW1wX3BhcmFtcy0+ZXZlbnRfYnVmX3NpemUgKz0gKEJBVENIX1NJ WkUgKyBCQVRDSF9TSVpFKTsNCj4gPiA+ID4gKyAgICAgICB9DQo+ID4gPiA+DQo+ID4gPiA+IC0g ICAgICAgcmV0dXJuIHJ4YV9jcmVhdGUoaWQsIGRldl9pZCwgJnJ4YV9wYXJhbXMsIGNvbmZfY2Is IGNvbmZfYXJnKTsNCj4gPiA+ID4gKyAgICAgICByZXR1cm4gMDsNCj4gPiA+ID4gIH0NCj4gPiA+ ID4NCj4gPiA+ID4gIGludA0KPiA+ID4gPiAtcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0 ZV93aXRoX3BhcmFtcyh1aW50OF90IGlkLCB1aW50OF90DQo+ID4gPiBkZXZfaWQsDQo+ID4gPiA+ IC0gICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25mICpwb3J0 X2NvbmZpZywNCj4gPiA+ID4gK3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfZXh0KHVp bnQ4X3QgaWQsIHVpbnQ4X3QgZGV2X2lkLA0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY29uZl9jYiBjb25mX2NiLA0KPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICB2b2lkICpjb25mX2FyZywNCj4gPiA+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMNCj4gPiA+ ID4gKnJ4YV9wYXJhbXMpICB7DQo+ID4gPiA+IC0gICAgICAgc3RydWN0IHJ0ZV9ldmVudF9wb3J0 X2NvbmYgKnBjOw0KPiA+ID4gPiAtICAgICAgIGludCByZXQ7DQo+ID4gPiA+ICAgICAgICAgc3Ry dWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMgdGVtcF9wYXJhbXMgPSB7MH07DQo+ ID4gPiA+ICsgICAgICAgaW50IHJldDsNCj4gPiA+ID4NCj4gPiA+ID4gLSAgICAgICBpZiAocG9y dF9jb25maWcgPT0gTlVMTCkNCj4gPiA+ID4gLSAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFM Ow0KPiA+ID4gPiAtDQo+ID4gPiA+IC0gICAgICAgaWYgKHJ4YV9wYXJhbXMgPT0gTlVMTCkgew0K PiA+ID4gPiAtICAgICAgICAgICAgICAgLyogdXNlIGRlZmF1bHQgdmFsdWVzIGlmIHJ4YV9wYXJh bXMgaXMgTlVMTCAqLw0KPiA+ID4gPiAtICAgICAgICAgICAgICAgcnhhX3BhcmFtcyA9ICZ0ZW1w X3BhcmFtczsNCj4gPiA+ID4gLSAgICAgICAgICAgICAgIHJ4YV9wYXJhbXMtPmV2ZW50X2J1Zl9z aXplID0gRVRIX0VWRU5UX0JVRkZFUl9TSVpFOw0KPiA+ID4gPiAtICAgICAgICAgICAgICAgcnhh X3BhcmFtcy0+dXNlX3F1ZXVlX2V2ZW50X2J1ZiA9IGZhbHNlOw0KPiA+ID4gPiAtICAgICAgIH0g ZWxzZSBpZiAoKCFyeGFfcGFyYW1zLT51c2VfcXVldWVfZXZlbnRfYnVmICYmDQo+ID4gPiA+IC0g ICAgICAgICAgICAgICAgICAgcnhhX3BhcmFtcy0+ZXZlbnRfYnVmX3NpemUgPT0gMCkgfHwNCj4g PiA+ID4gLSAgICAgICAgICAgICAgICAgIChyeGFfcGFyYW1zLT51c2VfcXVldWVfZXZlbnRfYnVm ICYmDQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgcnhhX3BhcmFtcy0+ZXZlbnRfYnVmX3Np emUgIT0gMCkpIHsNCj4gPiA+ID4gLSAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoIklu dmFsaWQgYWRhcHRlciBwYXJhbXNcbiIpOw0KPiA+ID4gPiAtICAgICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7DQo+ID4gPiA+IC0gICAgICAgfSBlbHNlIGlmICghcnhhX3BhcmFtcy0+dXNlX3F1 ZXVlX2V2ZW50X2J1Zikgew0KPiA+ID4gPiAtICAgICAgICAgICAgICAgLyogYWRqdXN0IGV2ZW50 IGJ1ZmYgc2l6ZSB3aXRoIEJBVENIX1NJWkUgdXNlZCBmb3IgZmV0Y2hpbmcNCj4gPiA+ID4gLSAg ICAgICAgICAgICAgICAqIHBhY2tldHMgZnJvbSBOSUMgcnggcXVldWVzIHRvIGdldCBmdWxsIGJ1 ZmZlciB1dGlsaXphdGlvbg0KPiA+ID4gPiAtICAgICAgICAgICAgICAgICogYW5kIHByZXZlbnQg dW5uZWNlc3Nhcnkgcm9sbG92ZXJzLg0KPiA+ID4gPiAtICAgICAgICAgICAgICAgICovDQo+ID4g PiA+IC0NCj4gPiA+ID4gLSAgICAgICAgICAgICAgIHJ4YV9wYXJhbXMtPmV2ZW50X2J1Zl9zaXpl ID0NCj4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgUlRFX0FMSUdOKHJ4YV9wYXJhbXMt PmV2ZW50X2J1Zl9zaXplLCBCQVRDSF9TSVpFKTsNCj4gPiA+ID4gLSAgICAgICAgICAgICAgIHJ4 YV9wYXJhbXMtPmV2ZW50X2J1Zl9zaXplICs9IChCQVRDSF9TSVpFICsgQkFUQ0hfU0laRSk7DQo+ ID4gPiA+IC0gICAgICAgfQ0KPiA+ID4gPiAtDQo+ID4gPiA+IC0gICAgICAgcGMgPSBydGVfbWFs bG9jKE5VTEwsIHNpemVvZigqcGMpLCAwKTsNCj4gPiA+ID4gLSAgICAgICBpZiAocGMgPT0gTlVM TCkNCj4gPiA+ID4gLSAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPiA+ID4gPiAtDQo+ ID4gPiA+IC0gICAgICAgKnBjID0gKnBvcnRfY29uZmlnOw0KPiA+ID4gPiAtDQo+ID4gPiA+IC0g ICAgICAgcmV0ID0gcnhhX2NyZWF0ZShpZCwgZGV2X2lkLCByeGFfcGFyYW1zLCByeGFfZGVmYXVs dF9jb25mX2NiLCBwYyk7DQo+ID4gPiA+IC0gICAgICAgaWYgKHJldCkNCj4gPiA+ID4gLSAgICAg ICAgICAgICAgIHJ0ZV9mcmVlKHBjKTsNCj4gPiA+ID4gLQ0KPiA+ID4gPiAtICAgICAgIHJ0ZV9l dmVudGRldl90cmFjZV9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfd2l0aF9wYXJhbXMoaWQsIGRldl9p ZCwNCj4gPiA+ID4gLSAgICAgICAgICAgICAgIHBvcnRfY29uZmlnLCByeGFfcGFyYW1zLCByZXQp Ow0KPiA+ID4gPiArICAgICAgIHJldCA9IHJ4YV9jb25maWdfcGFyYW1zX3ZhbGlkYXRlKHJ4YV9w YXJhbXMsICZ0ZW1wX3BhcmFtcyk7DQo+ID4gPiA+ICsgICAgICAgaWYgKHJldCAhPSAwKQ0KPiA+ ID4gPiArICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4gPiA+ID4NCj4gPiA+ID4gLSAgICAg ICByZXR1cm4gcmV0Ow0KPiA+ID4gPiArICAgICAgIHJldHVybiByeGFfY3JlYXRlKGlkLCBkZXZf aWQsICZ0ZW1wX3BhcmFtcywgY29uZl9jYiwNCj4gPiA+ID4gKyBjb25mX2FyZyk7DQo+ID4gPiA+ ICB9DQo+ID4gPiA+DQo+ID4gPiA+ICBpbnQNCj4gPiA+ID4gIHJ0ZV9ldmVudF9ldGhfcnhfYWRh cHRlcl9jcmVhdGUodWludDhfdCBpZCwgdWludDhfdCBkZXZfaWQsDQo+ID4gPiA+IC0gICAgICAg ICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3BvcnRfY29uZiAqcG9ydF9jb25maWcpDQo+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25mICpwb3J0 X2NvbmZpZywNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVu dF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMNCj4gPiA+ID4gKyAqcnhhX3BhcmFtcykNCj4gPiA+ID4g IHsNCj4gPiA+ID4gICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3BvcnRfY29uZiAqcGM7DQo+ID4g PiA+ICAgICAgICAgaW50IHJldDsNCj4gPiA+ID4gKyAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2V0 aF9yeF9hZGFwdGVyX3BhcmFtcyB0ZW1wX3BhcmFtcyA9IHswfTsNCj4gPiA+ID4NCj4gPiA+ID4g ICAgICAgICBpZiAocG9ydF9jb25maWcgPT0gTlVMTCkNCj4gPiA+ID4gICAgICAgICAgICAgICAg IHJldHVybiAtRUlOVkFMOw0KPiA+ID4gPg0KPiA+ID4gPiAtICAgICAgIFJURV9FVkVOVF9FVEhf UlhfQURBUFRFUl9JRF9WQUxJRF9PUl9FUlJfUkVUKGlkLCAtRUlOVkFMKTsNCj4gPiA+ID4gKyAg ICAgICByZXQgPSByeGFfY29uZmlnX3BhcmFtc192YWxpZGF0ZShyeGFfcGFyYW1zLCAmdGVtcF9w YXJhbXMpOw0KPiA+ID4gPiArICAgICAgIGlmIChyZXQgIT0gMCkNCj4gPiA+ID4gKyAgICAgICAg ICAgICAgIHJldHVybiByZXQ7DQo+ID4gPiA+DQo+ID4gPiA+ICAgICAgICAgcGMgPSBydGVfbWFs bG9jKE5VTEwsIHNpemVvZigqcGMpLCAwKTsNCj4gPiA+ID4gICAgICAgICBpZiAocGMgPT0gTlVM TCkNCj4gPiA+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPiA+ID4gPiArDQo+ ID4gPiA+ICAgICAgICAgKnBjID0gKnBvcnRfY29uZmlnOw0KPiA+ID4gPg0KPiA+ID4gPiAtICAg ICAgIHJldCA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfZXh0KGlkLCBkZXZfaWQs DQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeGFfZGVm YXVsdF9jb25mX2NiLA0KPiA+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGMpOw0KPiA+ID4gPiArICAgICAgIHJldCA9IHJ4YV9jcmVhdGUoaWQsIGRldl9pZCwg JnRlbXBfcGFyYW1zLA0KPiA+ID4gPiArIHJ4YV9kZWZhdWx0X2NvbmZfY2IsIHBjKTsNCj4gPiA+ ID4gICAgICAgICBpZiAocmV0KQ0KPiA+ID4gPiAgICAgICAgICAgICAgICAgcnRlX2ZyZWUocGMp Ow0KPiA+ID4gPiAgICAgICAgIHJldHVybiByZXQ7DQo+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIv ZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmgNCj4gPiA+ID4gYi9saWIvZXZlbnRk ZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmgNCj4gPiA+ID4gaW5kZXggZmUyYTZiZGQyYy4u NzkzZTNjZWRhZCAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9l dGhfcnhfYWRhcHRlci5oDQo+ID4gPiA+ICsrKyBiL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRo X3J4X2FkYXB0ZXIuaA0KPiA+ID4gPiBAQCAtMjYsNyArMjYsNiBAQA0KPiA+ID4gPiAgICogVGhl IGV0aGVybmV0IFJ4IGV2ZW50IGFkYXB0ZXIncyBmdW5jdGlvbnMgYXJlOg0KPiA+ID4gPiAgICog IC0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV9leHQoKQ0KPiA+ID4gPiAgICogIC0g cnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZSgpDQo+ID4gPiA+IC0gKiAgLSBydGVfZXZl bnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlX3dpdGhfcGFyYW1zKCkNCj4gPiA+ID4gICAqICAtIHJ0 ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9mcmVlKCkNCj4gPiA+ID4gICAqICAtIHJ0ZV9ldmVudF9l dGhfcnhfYWRhcHRlcl9xdWV1ZV9hZGQoKQ0KPiA+ID4gPiAgICogIC0gcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyX3F1ZXVlX2RlbCgpDQo+ID4gPiA+IEBAIC00NSw3ICs0NCw3IEBADQo+ID4gPiA+ ICAgKg0KPiA+ID4gPiAgICogVGhlIGFwcGxpY2F0aW9uIGNyZWF0ZXMgYW4gZXRoZXJuZXQgdG8g ZXZlbnQgYWRhcHRlciB1c2luZw0KPiA+ID4gPiAgICogcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVy X2NyZWF0ZV9leHQoKSBvcg0KPiA+ID4gPiBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRl KCkNCj4gPiA+ID4gLSAqIG9yIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfd2l0aF9w YXJhbXMoKSBmdW5jdGlvbnMuDQo+ID4gPiA+ICsgKiBmdW5jdGlvbnMuDQo+ID4gPiA+ICAgKg0K PiA+ID4gPiAgICogVGhlIGFkYXB0ZXIgbmVlZHMgdG8ga25vdyB3aGljaCBldGhlcm5ldCByeCBx dWV1ZXMgdG8gcG9sbCBmb3INCj4gPiA+ID4gbWJ1ZnMNCj4gPiA+IGFzIHdlbGwNCj4gPiA+ID4g ICAqIGFzIGV2ZW50IGRldmljZSBwYXJhbWV0ZXJzIHN1Y2ggYXMgdGhlIGV2ZW50IHF1ZXVlIGlk ZW50aWZpZXIsDQo+ID4gPiA+IGV2ZW50IEBAIC0zOTQsMTMgKzM5MywxOCBAQCB0eXBlZGVmIHVp bnQxNl90DQo+ID4gPiAoKnJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jYl9mbikodWludDE2X3Qg ZXRoX2Rldl9pZCwNCj4gPiA+ID4gICAqIEBwYXJhbSBjb25mX2FyZw0KPiA+ID4gPiAgICogIEFy Z3VtZW50IHRoYXQgaXMgcGFzc2VkIHRvIHRoZSBjb25mX2NiIGZ1bmN0aW9uLg0KPiA+ID4gPiAg ICoNCj4gPiA+ID4gKyAqIEBwYXJhbSByeGFfcGFyYW1zDQo+ID4gPiA+ICsgKiAgUG9pbnRlciB0 byBzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3BhcmFtcy4NCj4gPiA+ID4gKyAqICBJ biBjYXNlIG9mIE5VTEwsIGRlZmF1bHQgdmFsdWVzIGFyZSB1c2VkLg0KPiA+ID4gPiArICoNCj4g PiA+ID4gICAqIEByZXR1cm4NCj4gPiA+ID4gICAqICAgLSAwOiBTdWNjZXNzDQo+ID4gPiA+ICAg KiAgIC0gPDA6IEVycm9yIGNvZGUgb24gZmFpbHVyZQ0KPiA+ID4gPiAgICovDQo+ID4gPiA+ICBp bnQgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV9leHQodWludDhfdCBpZCwgdWludDhf dCBkZXZfaWQsDQo+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyX2NvbmZfY2IgY29uZl9jYiwNCj4gPiA+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2b2lkICpjb25mX2FyZyk7DQo+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jb25mX2NiIGNvbmZfY2IsDQo+ ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNvbmZfYXJnLA0KPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3Bh cmFtcw0KPiA+ID4gPiArICpyeGFfcGFyYW1zKTsNCj4gPiA+ID4NCj4gPiA+ID4gIC8qKg0KPiA+ ID4gPiAgICogQ3JlYXRlIGEgbmV3IGV0aGVybmV0IFJ4IGV2ZW50IGFkYXB0ZXIgd2l0aCB0aGUg c3BlY2lmaWVkIGlkZW50aWZpZXIuDQo+ID4gPiA+IEBAIC00MzUsMjcgKzQzOSw2IEBAIGludA0K PiA+ID4gPiBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlX2V4dCh1aW50OF90DQo+ID4g PiBpZCwgdWludDhfdCBkZXZfaWQsDQo+ID4gPiA+ICAgKiAgQXJndW1lbnQgb2YgdHlwZSAqcnRl X2V2ZW50X3BvcnRfY29uZiogdGhhdCBpcyBwYXNzZWQgdG8gdGhlIGNvbmZfY2INCj4gPiA+ID4g ICAqICBmdW5jdGlvbi4NCj4gPiA+ID4gICAqDQo+ID4gPiA+IC0gKiBAcmV0dXJuDQo+ID4gPiA+ IC0gKiAgIC0gMDogU3VjY2Vzcw0KPiA+ID4gPiAtICogICAtIDwwOiBFcnJvciBjb2RlIG9uIGZh aWx1cmUNCj4gPiA+ID4gLSAqLw0KPiA+ID4gPiAtaW50IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRl cl9jcmVhdGUodWludDhfdCBpZCwgdWludDhfdCBkZXZfaWQsDQo+ID4gPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9wb3J0X2NvbmYgKnBvcnRfY29u ZmlnKTsNCj4gPiA+ID4gLQ0KPiA+ID4gPiAtLyoqDQo+ID4gPiA+IC0gKiBUaGlzIGlzIGEgdmFy aWFudCBvZiBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKCkgd2l0aA0KPiA+ID4gPiBh ZGRpdGlvbmFsDQo+ID4gPiA+IC0gKiBhZGFwdGVyIHBhcmFtcyBzcGVjaWZpZWQgaW4gYGBzdHJ1 Y3QNCj4gPiA+IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9wYXJhbXNgYC4NCj4gPiA+ID4gLSAq DQo+ID4gPiA+IC0gKiBAcGFyYW0gaWQNCj4gPiA+ID4gLSAqICBUaGUgaWRlbnRpZmllciBvZiB0 aGUgZXRoZXJuZXQgUnggZXZlbnQgYWRhcHRlci4NCj4gPiA+ID4gLSAqDQo+ID4gPiA+IC0gKiBA cGFyYW0gZGV2X2lkDQo+ID4gPiA+IC0gKiAgVGhlIGlkZW50aWZpZXIgb2YgdGhlIGV2ZW50IGRl dmljZSB0byBjb25maWd1cmUuDQo+ID4gPiA+IC0gKg0KPiA+ID4gPiAtICogQHBhcmFtIHBvcnRf Y29uZmlnDQo+ID4gPiA+IC0gKiAgQXJndW1lbnQgb2YgdHlwZSAqcnRlX2V2ZW50X3BvcnRfY29u ZiogdGhhdCBpcyBwYXNzZWQgdG8gdGhlDQo+ID4gPiA+IGNvbmZfY2INCj4gPiA+ID4gLSAqICBm dW5jdGlvbi4NCj4gPiA+ID4gLSAqDQo+ID4gPiA+ICAgKiBAcGFyYW0gcnhhX3BhcmFtcw0KPiA+ ID4gPiAgICogIFBvaW50ZXIgdG8gc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9wYXJh bXMuDQo+ID4gPiA+ICAgKiAgSW4gY2FzZSBvZiBOVUxMLCBkZWZhdWx0IHZhbHVlcyBhcmUgdXNl ZC4NCj4gPiA+ID4gQEAgLTQ2NCw4ICs0NDcsNyBAQCBpbnQgcnRlX2V2ZW50X2V0aF9yeF9hZGFw dGVyX2NyZWF0ZSh1aW50OF90DQo+ID4gPiA+IGlkLA0KPiA+ID4gdWludDhfdCBkZXZfaWQsDQo+ ID4gPiA+ICAgKiAgIC0gMDogU3VjY2Vzcw0KPiA+ID4gPiAgICogICAtIDwwOiBFcnJvciBjb2Rl IG9uIGZhaWx1cmUNCj4gPiA+ID4gICAqLw0KPiA+ID4gPiAtX19ydGVfZXhwZXJpbWVudGFsDQo+ ID4gPiA+IC1pbnQgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcyh1 aW50OF90IGlkLA0KPiA+ID4gPiB1aW50OF90IGRldl9pZCwNCj4gPiA+ID4gK2ludCBydGVfZXZl bnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKHVpbnQ4X3QgaWQsIHVpbnQ4X3QgZGV2X2lkLA0KPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3BvcnRfY29uZiAq cG9ydF9jb25maWcsDQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVf ZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcGFyYW1zDQo+ID4gPiA+ICpyeGFfcGFyYW1zKTsNCj4gPiA+ ID4NCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9ldmVudGRldi92ZXJzaW9uLm1hcCBiL2xpYi9l dmVudGRldi92ZXJzaW9uLm1hcA0KPiA+ID4gPiBpbmRleCBiMDNjMTBkOTlmLi4xY2Y1OGYwZDZj IDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9saWIvZXZlbnRkZXYvdmVyc2lvbi5tYXANCj4gPiA+ID4g KysrIGIvbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwDQo+ID4gPiA+IEBAIC0xMDEsNyArMTAxLDYg QEAgRVhQRVJJTUVOVEFMIHsNCj4gPiA+ID4gICAgICAgICBnbG9iYWw6DQo+ID4gPiA+DQo+ID4g PiA+ICAgICAgICAgIyBhZGRlZCBpbiAyMS4xMQ0KPiA+ID4gPiAtICAgICAgIHJ0ZV9ldmVudF9l dGhfcnhfYWRhcHRlcl9jcmVhdGVfd2l0aF9wYXJhbXM7DQo+ID4gPiA+ICAgICAgICAgcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlX2NvbmZfZ2V0Ow0KPiA+ID4gPiAgICAgICAgIHJ0ZV9l dmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9zdGF0c19nZXQ7DQo+ID4gPiA+ICAgICAgICAgcnRl X2V2ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlX3N0YXRzX3Jlc2V0Ow0KPiA+ID4gPiAtLQ0KPiA+ ID4gPiAyLjI1LjENCj4gPiA+ID4NCg==