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 A5F1342F93; Wed, 2 Aug 2023 16:28:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 357D040DDB; Wed, 2 Aug 2023 16:28:15 +0200 (CEST) Received: from mgamail.intel.com (unknown [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 86FE64021D for ; Wed, 2 Aug 2023 16:28:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1690986492; x=1722522492; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=W/HSN72PzcR231s0ykcULXB0aXP9B8qri2gzTFplcuU=; b=UpJv7PEHn5Gl4N1aMJyf77MBLXGm34Brp+9RePbcisz/XWEFGXc1KwdV sKlQuNMl++RVZmg87TQQHOOyhTlPCVpQDUEoA/rGEfzRquj1dTFhMOgfS 4/OHsge2wLLC/agfjIXkCyXSqs6O4bxN1B8UZ/ukssu6TH9y4XjmZ3YH/ kJaPzCP3I9YoTFwpN3s/aOisuO5eMez+JGQ3PUokt72H3mEkN+Cj1YsKf +dKBfvLoSxOaLU42FezkcxeNp3AZQqjzPxlIwzaQYFfarPMBhO+69mx1V rMLYaAWYIVwmQ3H0PqQbEKsV19BkqvF+1wE2Yc3lbIy89F9Ji6R7JoFmo A==; X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="435922330" X-IronPort-AV: E=Sophos;i="6.01,249,1684825200"; d="scan'208";a="435922330" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2023 07:20:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10789"; a="679085820" X-IronPort-AV: E=Sophos;i="6.01,249,1684825200"; d="scan'208";a="679085820" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga003.jf.intel.com with ESMTP; 02 Aug 2023 07:20:35 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 2 Aug 2023 07:20:34 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 2 Aug 2023 07:20:34 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Wed, 2 Aug 2023 07:20:34 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.104) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Wed, 2 Aug 2023 07:20:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mtGPP8jUFiwHB9eQ95T//qwlZaW9MoMe9TU//j1Qzu5eaqj00LANqIfpu1MZurPr36D/zZxpwp9NBZZoPP/9AB+GzSC13uPvvsrRIgyed7rFXieEKHAYz/QTP6VJia22owKTrFK9QQRDWLYEq50ZjbJpOezPiZGdgnOlDQgxQ5xC0dipIG+c/YFMn3jU7mlhswo5XGLTSxwqJxVxAVgpvIcML6m51IsOyAgaH3d4lsYJqeYueagAAyYRcOCf1MYGvbGYAd/AoeD32sjUGIQMyO5ay15DGBIhCFQ32sASDbHMgwtcPtKRaM7QrgqjbAMjJDgpJlnYqGgDB9VnF01zIg== 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=W/HSN72PzcR231s0ykcULXB0aXP9B8qri2gzTFplcuU=; b=nFP/SXJ6voEauAU/yLDNhVIe7/8F5ivMKV5X2RXuzvSgG02i8ttjcW6aTh/Z2obHlRAzgtfvRo4Ubrzb5L+i+Q28zC3c/L35mTGHo7OvEK5pg8sKKaG4MYyTixZxbbdGSgkJPmk/HY+RHnK1NhUFNJh5lmoWqSYJDb6it5GUrRnsf8ukVVpEGpJRkR01Ungqag38m3AW8ftFTBpHiDr6YqEErqQ5uAzRebAQaMwXx2nZVZyQTT1TIi+FnWXxbKpzU5suECDjfBCu9rlKRDQl8l07KOMxI9EkYn8Lig6N0FXB/d4ZSMHb9ajWgzYUKmdZxYkYH/YxbArDEM8wbnY0JQ== 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 MW4PR11MB6909.namprd11.prod.outlook.com (2603:10b6:303:224::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug 2023 14:19:59 +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.6631.045; Wed, 2 Aug 2023 14:19:59 +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/XBrFg Date: Wed, 2 Aug 2023 14:19:59 +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_|MW4PR11MB6909:EE_ x-ms-office365-filtering-correlation-id: 4e176541-bcbf-4262-a102-08db93638dc9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1H/pgqJ46JkOezJXVMBSnCss1Qk4f0ABUfLU6upS40anBgzqX5pUj7y95AVDh52+ZKCpjosao9/+9GinZok8UnTUJ0h04rlr4KNhW75sQB3LQIGSltJcoKHMLJK4guhylx/7C50Amz/O8XZ0+MSTW28wqS/hmk4BvvjJJgFr7ltfymjTKJM8mTD4OMVFWGknxsdm0R3vSs8cQcTYgPnWycbljPhHbsnFvVesPNYuBssTwPptPwVz0K1xGHc+Ttd8WagIzzglIufpXBCoZYF4/NfOQgVvGdtJGuFoiUISuFJnC7jw2OFzA6XqcII9zbxakym+wAmU5eReYbOCDqmRovXRdHT3dblCzZUKyBzpp+OPVy0siG/LqV+t0CtZ31BYMDmKrZAAHjQMobP2tyFqlVLoI5wb7WsXC6sbpghvEmomDxB0tlE+S2DztKubqSZMjnABOVvI5LzhHB02k3ihZ0Dd6apfMPNuHaXqJrPPfTphgheLcTm9M78qO8NCy16APic1ZyP0axqXRX8hb1vRRcGp4oaM4y0+Ggv0B5iX3jUDSND8gEVkUaEQlLa7dgheZlzNguwS0QzYp43RZmTaeo8l9KWLpCb0oq3P0jCf9DQ= 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)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199021)(8676002)(8936002)(5660300002)(30864003)(15650500001)(52536014)(26005)(41300700001)(107886003)(2906002)(38070700005)(83380400001)(186003)(55016003)(122000001)(478600001)(54906003)(38100700002)(316002)(86362001)(53546011)(6506007)(33656002)(7696005)(64756008)(71200400001)(66946007)(76116006)(66556008)(66446008)(66476007)(82960400001)(6916009)(4326008)(9686003)(966005)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SmNOWVg0N21PeUFqNmtKeXBxRndjaTRlYzhpdW0xZ2FQWkErd1ZSQ1lBaW13?= =?utf-8?B?T0dxVTliL3d1eGxDZE9sU3ZQbnZQNW94Y2JuVUpGRUNmdUhPQVEzeEZ1Zkc4?= =?utf-8?B?eHJ4a3VrWi9aUkpIcUFuOUdCMUlqczNUMnV0Q2ZvL2U3QU0yRDIycG1jendq?= =?utf-8?B?QmN5V2FDUkkvalhXM1FuZU95ZzE4MGF1S0dPZStyRGhDWFZuVWZZQU1KR2h3?= =?utf-8?B?T2MvME15WnB2SnBJWGVvYVljaGE5SWtRVUM2L3VoSmtzU1JEcWgxcEN2bk43?= =?utf-8?B?N3hiaG5PM21lMDJxM3g3dGZuWU9LMVNqN0ZLaE5wWEFDOVNrVXZBNnMvdk9s?= =?utf-8?B?aXlHYU82QUZaam5BbW4zelc1OEFGWWVCZDhRVjE1dElmVTEvSUlkY3R3dlNY?= =?utf-8?B?ZitUcDFOSXJudU1IbjExSTNobkZnRHg0SEhIdlJGZHhLOFE4ODM0QTljdUZ6?= =?utf-8?B?Z3hmeXV0L3MrMTM3Z3VhNHc2VVNEUGo0LzFKSW5uWFFkTnlzYVIyWllGNGww?= =?utf-8?B?bTBVclkrNEJEYXB1bURidzY5S2JkNHkvVXVOOTFEMlE2Vit4dVQxS0sxZ2Fs?= =?utf-8?B?WThSYnBRelVPVGVLZUJlZ2FzQThINEJ6c2N4Zlh5TTZ5TTdIWnpERWVkaVlY?= =?utf-8?B?VjRUUlZreFJvcXBZV3Y1TEtQNjNPSmlqeHcrc216VEJBM0F0RzVNdS9rSHQ0?= =?utf-8?B?RFJFK2lrNGJmSWFUZ0N4ejZFb0xkT05Mdk1KbHliTjFNTTduT3dWREtrenJY?= =?utf-8?B?dGNlQ2NOUmNycnRTc3AzSzR3emJVcVdGTGkrMGVEdS9qang5b0x5bEtHeHRM?= =?utf-8?B?S0I1R2tJMU91L3h0a0NQYjA5Ty8vSHdQY0FsL1J3dEM5S0M5eDZzSmhSaVN1?= =?utf-8?B?VTRJaGdGaldPMXJacW5hcFZQQ0NZQkFqaTk1ZmlDMHM5aXlMa21ISGtRTjl6?= =?utf-8?B?WmJJMFdmdTd0UzFDR29VNklmdlVacFpvcTlkL2lZV2FaOEVDLzZJYkZQeEhQ?= =?utf-8?B?WG5SK3dneXhFampOcnkyTVR5KzFwTlRKVnZGeVY4dHE0NlViV3JqUy9PQmVo?= =?utf-8?B?UXdKR3ZVN080ZnFkM0NZaE85b2U0MXJ2RUk0VFZ1enVvWHBKMHQyRDIzTW8w?= =?utf-8?B?eUNhb2RHVUk2UVI2Y1o5RTBsaUVEOUF6RVZTK05mNEZCanI3T2pCd0RVTENE?= =?utf-8?B?S0tPM0FPeHl5TnVOTTJPYnVVdGtNaFlLcExNTWNPSEFTSzZBOHN2a1hGa3E0?= =?utf-8?B?SHY4NWxRcHluOUxIamRGa2FHdlV3NUFWL0RGaTExNVcreW13ZWcyYUNzL2o0?= =?utf-8?B?bnF1SDFlVkZINEtnaytkdytWMUN4MjN5bDhLejFCWkF4NUl5amhKdXpETmZu?= =?utf-8?B?RUM0K0xnMWkxM0YrcEc1SmxMeGVJU3FkZURjWkhuWSthS0JOQnBoODYraDNX?= =?utf-8?B?WmV4ZUJ5K20rOXl2dlQ1NE5Eb0pRWXBpREZRWHZQSXFaTFpaS1hkekZIRFM0?= =?utf-8?B?WHJVWlBGdk43aUtTRmJYK1lFZHdENVZlOWV5a1FmUm9MTktvQXhPdlBiMlFJ?= =?utf-8?B?eUlISGFkUmZRVHBya0pPcnpnS0tzb09tZ2FJSUFKZWVOdndWajhpV0Rkc2VJ?= =?utf-8?B?K2p5QmZwaitrOFRBQlNVanZkSTllZjBDL1B3ajhlZCtXS2NybVBwUDkyU3px?= =?utf-8?B?ek5lOFRFdDRHOWYvclkwU3dsTzJPK1ZlTE1CYWYxK3A1MGRManhlMWJjNVhX?= =?utf-8?B?SmlPdmw3dUs0c2o3VjQ3bHBXMmtGa214NFJnbGdyV3FSczUrek1KZWcyMDEx?= =?utf-8?B?SjQ0c043T201SE80WVlha3hJWXg0WFY5YlV2SUwxYmw1UkVmNE1CTXdrTFpy?= =?utf-8?B?K01qRWdjZEUrMUF5a1JvSlpnNVJJZDBMdUEyekEyUEZoZjUzbzdHTHlRUnE3?= =?utf-8?B?d1ViOGZoeFdUZ21LNHVPcjJUblNnZktsM0VOdytsYTJPQTlKd21BTVdSWGJB?= =?utf-8?B?bllpc3d4VmtLQU8rZDB2UTFnQjRVdGxGSE5WQXpTblJCKzhaUXkxVUtRL2o3?= =?utf-8?B?ekNlOGZ4Rm1GR0pMaUQvTllJallZRjMybnRMdnQwRFgrNGsxakFmRkh3V3Z0?= =?utf-8?B?MlFTMU11OXVCWW1oRCtheWVlTHBLY012ZG1uYnFsN2R6aEZBQzBPUGF2Tm1o?= =?utf-8?B?ZkE9PQ==?= 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: 4e176541-bcbf-4262-a102-08db93638dc9 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2023 14:19:59.2815 (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: 1li+SMHcdppR+qcSxp9vlINem4kB/H4CCSR86dthL05p+p4CbN2spE4yli7cEYB2zGJU+PL/ntPrGzZjTCYCE8LnnBnnOHV+UPoboeMAhe8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB6909 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 SGkgSmVyaW4sDQogICAgIA0KVGhlIEFQSSDigJxydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3Jl YXRlX3dpdGhfcGFyYW1zKCnigJ0gaXMgYW4gZXh0ZW5zaW9uIHRvIHJ0ZV9ldmVudF9ldGhfcnhf YWRhcHRlcl9jcmVhdGUoKSB3aXRoIGFuIGFkZGl0aW9uYWwgYWRhcHRlciBjb25maWd1cmF0aW9u IHBhcmFtcyBzdHJ1Y3R1cmUuDQpUaGVyZSBpcyBubyBlcXVpdmFsZW50IEFQSSBleGlzdGluZyB0 b2RheSBmb3IgdGhlIOKAnHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfZXh0KCnigJ0g QVBJIHdoaWNoIHRha2VzIGFkZGl0aW9uYWwgYWRhcHRlciBwYXJhbXMuIA0KVGhlcmUgYXJlIHVz ZSBjYXNlcyB3aGVyZSBjcmVhdGVfZXh0KCkgdmVyc2lvbiBvZiBjcmVhdGUgQVBJIHdpdGggYWRk aXRpb25hbCBwYXJhbWV0ZXJzIGlzIG5lZWRlZC4gV2UgbWF5IG5lZWQgdG8gaGF2ZSBvbmUgbW9y ZSBhZGFwdGVyIGNyZWF0ZSBBUEkgZm9yIHRoaXMuDQpUaGF0IG1ha2VzIHNvIG1hbnkgQWRhcHRl ciBjcmVhdGUgQVBJcyAoNCBpbiBudW1iZXIpIGFuZCB3aWxsIGJlIGNvbmZ1c2luZyBmb3IgdGhl IHVzZXIuDQoNCiAgIFRoYXQncyB3aHkgcHJvcG9zZWQgdGhlIGZvbGxvd2luZyBjaGFuZ2VzIHRv IHRoZSBSeCBhZGFwdGVyIGNyZWF0ZSBBUElzIHdoaWNoIHdpbGwgY29uc29saWRhdGUgdGhlIGNy ZWF0ZSBBUElzIHRvIDIgaW4gbnVtYmVyIHdpdGggYWxsIHBvc3NpYmxlIGNvbWJpbmF0aW9ucy4N ClRoZSBhcHBsaWNhdGlvbnMgdGhhdCBhcmUgY3VycmVudGx5IHVzaW5nIHJ0ZV9ldmVudF9ldGhf cnhfYWRhcHRlcl9jcmVhdGVfZXh0KCkgb3IgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0 ZSgpIEFQSXMgZm9yIGNyZWF0aW5nIFJ4IEFkYXB0ZXIgY2FuIHBhc3MgTlVMTCBhcmd1bWVudCBm b3IgdGhlDQpuZXdseSBhZGRlZCBhcmd1bWVudCB3aGljaCB3aWxsIGJlaGF2ZSB0aGUgc2FtZSBh cyBiZWZvcmUuDQoNClRyeWluZyB0byB1bmRlcnN0YW5kIHdoYXQgYXJlIHRoZSBjb25jZXJucyBm cm9tIHlvdXIgcGVyc3BlY3RpdmUgd2l0aCB0aGlzIGNvbnNvbGlkYXRlZCBBUEkgYXBwcm9hY2gu DQoNCi1IYXJpc2gNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKZXJp biBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBBdWd1c3Qg MSwgMjAyMyA4OjU0IFBNDQo+IFRvOiBOYWdhIEhhcmlzaCBLLCBTIFYgPHMudi5uYWdhLmhhcmlz aC5rQGludGVsLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgSmF5YXRoZWVydGhhbiwgSmF5IDxq YXkuamF5YXRoZWVydGhhbkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIGV2 ZW50ZGV2L2V0aF9yeDogdXBkYXRlIGFkYXB0ZXIgY3JlYXRlIEFQSXMNCj4gDQo+IE9uIFR1ZSwg QXVnIDEsIDIwMjMgYXQgNzoyMuKAr1BNIE5hZ2EgSGFyaXNoIEsgUyBWDQo+IDxzLnYubmFnYS5o YXJpc2gua0BpbnRlbC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gVGhlIGFkYXB0ZXIgY3JlYXRlIEFQ SXMgc3VjaCBhcyBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlX2V4dCgpDQo+ID4gYW5k DQo+ID4gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZSgpIGFyZSB1cGRhdGVkIHRvIHRh a2UgYWRkaXRpb25hbA0KPiA+IGFyZ3VtZW50IGFzIGEgcG9pbnRlciBvZiB0eXBlIHN0cnVjdCBy dGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcGFyYW1zLg0KPiA+DQo+ID4gVGhlIEFQSSBydGVfZXZl bnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlX3dpdGhfcGFyYW1zKCkgaXMgZGVwcmVjYXRlZC4NCj4g Pg0KPiA+IFNpZ25lZC1vZmYtYnk6IE5hZ2EgSGFyaXNoIEsgUyBWIDxzLnYubmFnYS5oYXJpc2gu a0BpbnRlbC5jb20+DQo+IA0KPiBQbGVhcyBjaGVjayB2MSBjb21tZW50DQo+IGh0dHA6Ly9tYWls cy5kcGRrLm9yZy9hcmNoaXZlcy9kZXYvMjAyMy1BdWd1c3QvMjczNjAyLmh0bWwNCj4gDQo+ID4g LS0tDQo+ID4gdjI6DQo+ID4gKiAgRml4IGRveHlnZW4gY29tcGlsZSBpc3N1ZSBhbmQgd2Fybmlu Zw0KPiA+IC0tLQ0KPiA+IC0tLQ0KPiA+ICBhcHAvdGVzdC1ldmVudGRldi90ZXN0X3BlcmZfY29t bW9uLmMgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9waXBl bGluZV9jb21tb24uYyAgICAgIHwgICAyICstDQo+ID4gIGFwcC90ZXN0L3Rlc3RfZXZlbnRfZXRo X3J4X2FkYXB0ZXIuYyAgICAgICAgICB8ICAyMiArKy0tDQo+ID4gIGFwcC90ZXN0L3Rlc3Rfc2Vj dXJpdHlfaW5saW5lX3Byb3RvLmMgICAgICAgICB8ICAgMiArLQ0KPiA+ICAuLi4vcGlwZWxpbmVf d29ya2VyX2dlbmVyaWMuYyAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgLi4uL2V2ZW50 ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dvcmtlcl90eC5jICAgIHwgICAyICstDQo+ID4gIGV4YW1w bGVzL2lwc2VjLXNlY2d3L2V2ZW50X2hlbHBlci5jICAgICAgICAgICB8ICAgMiArLQ0KPiA+ICBl eGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9nZW5lcmljLmMgICAgfCAgIDIgKy0NCj4g PiAgLi4uL2wyZndkLWV2ZW50L2wyZndkX2V2ZW50X2ludGVybmFsX3BvcnQuYyAgIHwgICAyICst DQo+ID4gIGV4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2dlbmVyaWMuYyAgICAgICAgICB8ICAg MiArLQ0KPiA+ICBleGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9ldmVudF9pbnRlcm5hbF9wb3J0LmMgICAg fCAgIDIgKy0NCj4gPiAgbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jICAg ICAgIHwgMTAwICsrKysrKysrLS0tLS0tLS0tLQ0KPiA+ICBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50 X2V0aF9yeF9hZGFwdGVyLmggICAgICAgfCAgMzYgKystLS0tLQ0KPiA+ICBsaWIvZXZlbnRkZXYv dmVyc2lvbi5tYXAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQ0KPiA+ICAxNCBmaWxlcyBj aGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAxMDUgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZm IC0tZ2l0IGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX2NvbW1vbi5jDQo+ID4gYi9hcHAv dGVzdC1ldmVudGRldi90ZXN0X3BlcmZfY29tbW9uLmMNCj4gPiBpbmRleCA1ZTAyNTVjZmViLi4w YzZjMjUyZjdkIDEwMDY0NA0KPiA+IC0tLSBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9j b21tb24uYw0KPiA+ICsrKyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9jb21tb24uYw0K PiA+IEBAIC0xMDAyLDcgKzEwMDIsNyBAQCBwZXJmX2V2ZW50X3J4X2FkYXB0ZXJfc2V0dXAoc3Ry dWN0DQo+IGV2dF9vcHRpb25zICpvcHQsIHVpbnQ4X3Qgc3RyaWRlLA0KPiA+ICAgICAgICAgICAg ICAgICB9DQo+ID4gICAgICAgICAgICAgICAgIHF1ZXVlX2NvbmYuZXYucXVldWVfaWQgPSBwcm9k ICogc3RyaWRlOw0KPiA+ICAgICAgICAgICAgICAgICByZXQgPSBydGVfZXZlbnRfZXRoX3J4X2Fk YXB0ZXJfY3JlYXRlKHByb2QsIG9wdC0+ZGV2X2lkLA0KPiA+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnByb2RfY29uZik7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmcHJvZF9jb25mLCBOVUxMKTsNCj4gPiAgICAgICAgICAgICAgICAgaWYgKHJldCkgew0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGV2dF9lcnIoImZhaWxlZCB0byBjcmVhdGUgcngg YWRhcHRlclslZF0iLCBwcm9kKTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g cmV0Ow0KPiA+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2Nv bW1vbi5jDQo+ID4gYi9hcHAvdGVzdC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2NvbW1vbi5jDQo+ ID4gaW5kZXggYjExMTY5MGI3Yy4uNWFlMTc1ZjJjNyAxMDA2NDQNCj4gPiAtLS0gYS9hcHAvdGVz dC1ldmVudGRldi90ZXN0X3BpcGVsaW5lX2NvbW1vbi5jDQo+ID4gKysrIGIvYXBwL3Rlc3QtZXZl bnRkZXYvdGVzdF9waXBlbGluZV9jb21tb24uYw0KPiA+IEBAIC01NzEsNyArNTcxLDcgQEAgcGlw ZWxpbmVfZXZlbnRfcnhfYWRhcHRlcl9zZXR1cChzdHJ1Y3QNCj4gZXZ0X29wdGlvbnMgKm9wdCwg dWludDhfdCBzdHJpZGUsDQo+ID4gICAgICAgICAgICAgICAgIH0NCj4gPiAgICAgICAgICAgICAg ICAgcXVldWVfY29uZi5ldi5xdWV1ZV9pZCA9IHByb2QgKiBzdHJpZGU7DQo+ID4gICAgICAgICAg ICAgICAgIHJldCA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGUocHJvZCwgb3B0LT5k ZXZfaWQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJvZF9jb25mKTsN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwcm9kX2NvbmYsIE5VTEwpOw0K PiA+ICAgICAgICAgICAgICAgICBpZiAocmV0KSB7DQo+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgZXZ0X2VycigiZmFpbGVkIHRvIGNyZWF0ZSByeCBhZGFwdGVyWyVkXSIsIHByb2QpOw0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ID4gZGlmZiAtLWdpdCBhL2Fw cC90ZXN0L3Rlc3RfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYw0KPiA+IGIvYXBwL3Rlc3QvdGVzdF9l dmVudF9ldGhfcnhfYWRhcHRlci5jDQo+ID4gaW5kZXggNTJkMTQ2Zjk3Yy4uNDJlZGNiNjI1YSAx MDA2NDQNCj4gPiAtLS0gYS9hcHAvdGVzdC90ZXN0X2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMNCj4g PiArKysgYi9hcHAvdGVzdC90ZXN0X2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMNCj4gPiBAQCAtNDAx LDcgKzQwMSw3IEBAIGFkYXB0ZXJfY3JlYXRlKHZvaWQpDQo+ID4gICAgICAgICByeF9wX2NvbmYu ZGVxdWV1ZV9kZXB0aCA9DQo+IGRldl9pbmZvLm1heF9ldmVudF9wb3J0X2RlcXVldWVfZGVwdGg7 DQo+ID4gICAgICAgICByeF9wX2NvbmYuZW5xdWV1ZV9kZXB0aCA9DQo+IGRldl9pbmZvLm1heF9l dmVudF9wb3J0X2VucXVldWVfZGVwdGg7DQo+ID4gICAgICAgICBlcnIgPSBydGVfZXZlbnRfZXRo X3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5TVF9JRCwgVEVTVF9ERVZfSUQsDQo+ID4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyeF9wX2NvbmYpOw0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcnhfcF9jb25mLCBOVUxMKTsNCj4g PiAgICAgICAgIFRFU1RfQVNTRVJUKGVyciA9PSAwLCAiRXhwZWN0ZWQgMCBnb3QgJWQiLCBlcnIp Ow0KPiA+DQo+ID4gICAgICAgICByZXR1cm4gZXJyOw0KPiA+IEBAIC00MjcsMTcgKzQyNywxNyBA QCBhZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcyh2b2lkKQ0KPiA+ICAgICAgICAgcnhhX3BhcmFt cy51c2VfcXVldWVfZXZlbnRfYnVmID0gZmFsc2U7DQo+ID4gICAgICAgICByeGFfcGFyYW1zLmV2 ZW50X2J1Zl9zaXplID0gMDsNCj4gPg0KPiA+IC0gICAgICAgZXJyID0gcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcyhURVNUX0lOU1RfSUQsDQo+ID4gKyAgICAgICBl cnIgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5TVF9JRCwNCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFU1RfREVWX0lELCAmcnhfcF9jb25mLCAm cnhhX3BhcmFtcyk7DQo+ID4gICAgICAgICBURVNUX0FTU0VSVChlcnIgPT0gLUVJTlZBTCwgIkV4 cGVjdGVkIC1FSU5WQUwgZ290ICVkIiwgZXJyKTsNCj4gPg0KPiA+ICAgICAgICAgcnhhX3BhcmFt cy51c2VfcXVldWVfZXZlbnRfYnVmID0gdHJ1ZTsNCj4gPg0KPiA+IC0gICAgICAgZXJyID0gcnRl X2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcyhURVNUX0lOU1RfSUQsDQo+ ID4gKyAgICAgICBlcnIgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5T VF9JRCwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFU1RfREVWX0lELCAm cnhfcF9jb25mLCAmcnhhX3BhcmFtcyk7DQo+ID4gICAgICAgICBURVNUX0FTU0VSVChlcnIgPT0g MCwgIkV4cGVjdGVkIDAgZ290ICVkIiwgZXJyKTsNCj4gPg0KPiA+IC0gICAgICAgZXJyID0gcnRl X2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcyhURVNUX0lOU1RfSUQsDQo+ ID4gKyAgICAgICBlcnIgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5T VF9JRCwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFU1RfREVWX0lELCAm cnhfcF9jb25mLCAmcnhhX3BhcmFtcyk7DQo+ID4gICAgICAgICBURVNUX0FTU0VSVChlcnIgPT0g LUVFWElTVCwgIkV4cGVjdGVkIC1FRVhJU1QgZ290ICVkIiwgZXJyKTsNCj4gPg0KPiA+IEBAIC01 NjcsMTUgKzU2NywxNSBAQCBhZGFwdGVyX2NyZWF0ZV9mcmVlKHZvaWQpDQo+ID4gICAgICAgICB9 Ow0KPiA+DQo+ID4gICAgICAgICBlcnIgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRl KFRFU1RfSU5TVF9JRCwgVEVTVF9ERVZfSUQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBOVUxMLCBOVUxMKTsNCj4gPiAgICAgICAgIFRFU1RfQVNTRVJUKGVyciA9PSAt RUlOVkFMLCAiRXhwZWN0ZWQgLUVJTlZBTCBnb3QgJWQiLCBlcnIpOw0KPiA+DQo+ID4gICAgICAg ICBlcnIgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5TVF9JRCwgVEVT VF9ERVZfSUQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZy eF9wX2NvbmYpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm cnhfcF9jb25mLCBOVUxMKTsNCj4gPiAgICAgICAgIFRFU1RfQVNTRVJUKGVyciA9PSAwLCAiRXhw ZWN0ZWQgMCBnb3QgJWQiLCBlcnIpOw0KPiA+DQo+ID4gICAgICAgICBlcnIgPSBydGVfZXZlbnRf ZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5TVF9JRCwNCj4gPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVEVTVF9ERVZfSUQsICZyeF9wX2NvbmYpOw0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBURVNUX0RFVl9JRCwgJnJ4X3Bf Y29uZiwNCj4gPiArIE5VTEwpOw0KPiA+ICAgICAgICAgVEVTVF9BU1NFUlQoZXJyID09IC1FRVhJ U1QsICJFeHBlY3RlZCAtRUVYSVNUICVkIGdvdCAlZCIsDQo+ID4gLUVFWElTVCwgZXJyKTsNCj4g Pg0KPiA+ICAgICAgICAgZXJyID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2ZyZWUoVEVTVF9J TlNUX0lEKTsNCj4gPiBAQCAtNjA1LDIwICs2MDUsMjAgQEAgYWRhcHRlcl9jcmVhdGVfZnJlZV93 aXRoX3BhcmFtcyh2b2lkKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIC5ldmVudF9idWZf c2l6ZSA9IDEwMjQNCj4gPiAgICAgICAgIH07DQo+ID4NCj4gPiAtICAgICAgIGVyciA9IHJ0ZV9l dmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfd2l0aF9wYXJhbXMoVEVTVF9JTlNUX0lELA0KPiA+ ICsgICAgICAgZXJyID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZShURVNUX0lOU1Rf SUQsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBURVNUX0RFVl9JRCwgTlVM TCwgTlVMTCk7DQo+ID4gICAgICAgICBURVNUX0FTU0VSVChlcnIgPT0gLUVJTlZBTCwgIkV4cGVj dGVkIC1FSU5WQUwgZ290ICVkIiwgZXJyKTsNCj4gPg0KPiA+IC0gICAgICAgZXJyID0gcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcyhURVNUX0lOU1RfSUQsDQo+ID4g KyAgICAgICBlcnIgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5TVF9J RCwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFU1RfREVWX0lELCAmcnhf cF9jb25mLCAmcnhhX3BhcmFtcyk7DQo+ID4gICAgICAgICBURVNUX0FTU0VSVChlcnIgPT0gMCwg IkV4cGVjdGVkIDAgZ290ICVkIiwgZXJyKTsNCj4gPg0KPiA+IC0gICAgICAgZXJyID0gcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcyhURVNUX0lOU1RfSUQsDQo+ID4g KyAgICAgICBlcnIgPSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKFRFU1RfSU5TVF9J RCwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFU1RfREVWX0lELCAmcnhf cF9jb25mLCAmcnhhX3BhcmFtcyk7DQo+ID4gICAgICAgICBURVNUX0FTU0VSVChlcnIgPT0gLUVF WElTVCwgIkV4cGVjdGVkIC1FRVhJU1QgJWQgZ290ICVkIiwNCj4gPiAtRUVYSVNULCBlcnIpOw0K PiA+DQo+ID4gICAgICAgICByeGFfcGFyYW1zLmV2ZW50X2J1Zl9zaXplID0gMDsNCj4gPiAtICAg ICAgIGVyciA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfd2l0aF9wYXJhbXMoVEVT VF9JTlNUX0lELA0KPiA+ICsgICAgICAgZXJyID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2Ny ZWF0ZShURVNUX0lOU1RfSUQsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU RVNUX0RFVl9JRCwgJnJ4X3BfY29uZiwgJnJ4YV9wYXJhbXMpOw0KPiA+ICAgICAgICAgVEVTVF9B U1NFUlQoZXJyID09IC1FSU5WQUwsICJFeHBlY3RlZCAtRUlOVkFMIGdvdCAlZCIsIGVycik7DQo+ ID4NCj4gPiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QvdGVzdF9zZWN1cml0eV9pbmxpbmVfcHJvdG8u Yw0KPiA+IGIvYXBwL3Rlc3QvdGVzdF9zZWN1cml0eV9pbmxpbmVfcHJvdG8uYw0KPiA+IGluZGV4 IDQ1YWE3NDJjNmIuLmZjMjQwMjAxYTMgMTAwNjQ0DQo+ID4gLS0tIGEvYXBwL3Rlc3QvdGVzdF9z ZWN1cml0eV9pbmxpbmVfcHJvdG8uYw0KPiA+ICsrKyBiL2FwcC90ZXN0L3Rlc3Rfc2VjdXJpdHlf aW5saW5lX3Byb3RvLmMNCj4gPiBAQCAtMTg3Miw3ICsxODcyLDcgQEAgZXZlbnRfaW5saW5lX2lw c2VjX3Rlc3RzdWl0ZV9zZXR1cCh2b2lkKQ0KPiA+DQo+ID4gICAgICAgICAvKiBDcmVhdGUgUngg YWRhcHRlciAqLw0KPiA+ICAgICAgICAgcmV0ID0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2Ny ZWF0ZShyeF9hZGFwdGVyX2lkLCBldmVudGRldl9pZCwNCj4gPiAtICAgICAgICAgICAgICAgICAg ICAgICAmZXZfcG9ydF9jb25mKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAmZXZfcG9y dF9jb25mLCBOVUxMKTsNCj4gPiAgICAgICAgIGlmIChyZXQgPCAwKSB7DQo+ID4gICAgICAgICAg ICAgICAgIHByaW50ZigiRmFpbGVkIHRvIGNyZWF0ZSByeCBhZGFwdGVyICVkXG4iLCByZXQpOw0K PiA+ICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPiA+IGRpZmYgLS1naXQgYS9leGFtcGxl cy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfZ2VuZXJpYy5jDQo+ID4gYi9leGFt cGxlcy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfZ2VuZXJpYy5jDQo+ID4gaW5k ZXggNzgzZjY4YzkxZS4uNzQ1MTAzMzhiYSAxMDA2NDQNCj4gPiAtLS0gYS9leGFtcGxlcy9ldmVu dGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfZ2VuZXJpYy5jDQo+ID4gKysrIGIvZXhhbXBs ZXMvZXZlbnRkZXZfcGlwZWxpbmUvcGlwZWxpbmVfd29ya2VyX2dlbmVyaWMuYw0KPiA+IEBAIC00 MzYsNyArNDM2LDcgQEAgaW5pdF9hZGFwdGVycyh1aW50MTZfdCBuYl9wb3J0cykNCj4gPiAgICAg ICAgIGluaXRfcG9ydHMobmJfcG9ydHMpOw0KPiA+ICAgICAgICAgLyogQ3JlYXRlIG9uZSBhZGFw dGVyIGZvciBhbGwgdGhlIGV0aGVybmV0IHBvcnRzLiAqLw0KPiA+ICAgICAgICAgcmV0ID0gcnRl X2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZShjZGF0YS5yeF9hZGFwdGVyX2lkLA0KPiBldmRl dl9pZCwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAmYWRwdHJfcF9jb25mKTsNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAmYWRwdHJfcF9jb25mLCBOVUxMKTsNCj4gPiAgICAgICAg IGlmIChyZXQpDQo+ID4gICAgICAgICAgICAgICAgIHJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwgImZh aWxlZCB0byBjcmVhdGUgcnggYWRhcHRlclslZF0iLA0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2RhdGEucnhfYWRhcHRlcl9pZCk7IGRpZmYgLS1naXQNCj4gPiBhL2V4YW1w bGVzL2V2ZW50ZGV2X3BpcGVsaW5lL3BpcGVsaW5lX3dvcmtlcl90eC5jDQo+ID4gYi9leGFtcGxl cy9ldmVudGRldl9waXBlbGluZS9waXBlbGluZV93b3JrZXJfdHguYw0KPiA+IGluZGV4IDk4YTUy ZjM4OTIuLjg4NjE5ZDZjMmUgMTAwNjQ0DQo+ID4gLS0tIGEvZXhhbXBsZXMvZXZlbnRkZXZfcGlw ZWxpbmUvcGlwZWxpbmVfd29ya2VyX3R4LmMNCj4gPiArKysgYi9leGFtcGxlcy9ldmVudGRldl9w aXBlbGluZS9waXBlbGluZV93b3JrZXJfdHguYw0KPiA+IEBAIC03OTMsNyArNzkzLDcgQEAgaW5p dF9hZGFwdGVycyh1aW50MTZfdCBuYl9wb3J0cykNCj4gPiAgICAgICAgICAgICAgICAgdWludDMy X3Qgc2VydmljZV9pZDsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICByZXQgPSBydGVfZXZlbnRf ZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKGksIGV2ZGV2X2lkLA0KPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmFkcHRyX3BfY29uZik7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmYWRwdHJfcF9jb25mLCBOVUxMKTsNCj4gPiAgICAgICAgICAgICAgICAgaWYg KHJldCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBydGVfZXhpdChFWElUX0ZBSUxVUkUs DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgdG8g Y3JlYXRlIHJ4DQo+ID4gYWRhcHRlclslZF0iLCBpKTsgZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2lw c2VjLXNlY2d3L2V2ZW50X2hlbHBlci5jDQo+ID4gYi9leGFtcGxlcy9pcHNlYy1zZWNndy9ldmVu dF9oZWxwZXIuYw0KPiA+IGluZGV4IDg5ZmI3ZTYyYTUuLjI4ZDY3NzgxMzQgMTAwNjQ0DQo+ID4g LS0tIGEvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvZXZlbnRfaGVscGVyLmMNCj4gPiArKysgYi9leGFt cGxlcy9pcHNlYy1zZWNndy9ldmVudF9oZWxwZXIuYw0KPiA+IEBAIC0xMDM1LDcgKzEwMzUsNyBA QCBlaF9yeF9hZGFwdGVyX2NvbmZpZ3VyZShzdHJ1Y3QNCj4gZXZlbnRtb2RlX2NvbmYNCj4gPiAq ZW1fY29uZiwNCj4gPg0KPiA+ICAgICAgICAgLyogQ3JlYXRlIFJ4IGFkYXB0ZXIgKi8NCj4gPiAg ICAgICAgIHJldCA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGUoYWRhcHRlci0+YWRh cHRlcl9pZCwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBhZGFwdGVyLT5ldmVudGRldl9p ZCwgJnBvcnRfY29uZik7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgYWRhcHRlci0+ZXZl bnRkZXZfaWQsICZwb3J0X2NvbmYsIE5VTEwpOw0KPiA+ICAgICAgICAgaWYgKHJldCA8IDApIHsN Cj4gPiAgICAgICAgICAgICAgICAgRUhfTE9HX0VSUigiRmFpbGVkIHRvIGNyZWF0ZSByeCBhZGFw dGVyICVkIiwgcmV0KTsNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4gPiBkaWZm IC0tZ2l0IGEvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZlbnRfZ2VuZXJpYy5jDQo+ID4g Yi9leGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9nZW5lcmljLmMNCj4gPiBpbmRleCAx OTc3ZTIzMjYxLi40MzYwYjIwYWEwIDEwMDY0NA0KPiA+IC0tLSBhL2V4YW1wbGVzL2wyZndkLWV2 ZW50L2wyZndkX2V2ZW50X2dlbmVyaWMuYw0KPiA+ICsrKyBiL2V4YW1wbGVzL2wyZndkLWV2ZW50 L2wyZndkX2V2ZW50X2dlbmVyaWMuYw0KPiA+IEBAIC0yMzUsNyArMjM1LDcgQEAgbDJmd2Rfcnhf dHhfYWRhcHRlcl9zZXR1cF9nZW5lcmljKHN0cnVjdA0KPiBsMmZ3ZF9yZXNvdXJjZXMgKnJzcmMp DQo+ID4gICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgIHJldCA9IHJ0ZV9ldmVudF9ldGhfcnhf YWRhcHRlcl9jcmVhdGUocnhfYWRwdHJfaWQsIGV2ZW50X2RfaWQsDQo+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZldnRfcnNyYy0+ZGVmX3BfY29uZik7 DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZldnRf cnNyYy0+ZGVmX3BfY29uZiwNCj4gPiArIE5VTEwpOw0KPiA+ICAgICAgICAgaWYgKHJldCkNCj4g PiAgICAgICAgICAgICAgICAgcnRlX3BhbmljKCJGYWlsZWQgdG8gY3JlYXRlIHJ4IGFkYXB0ZXJc biIpOw0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2wyZndkLWV2ZW50L2wyZndkX2V2 ZW50X2ludGVybmFsX3BvcnQuYw0KPiA+IGIvZXhhbXBsZXMvbDJmd2QtZXZlbnQvbDJmd2RfZXZl bnRfaW50ZXJuYWxfcG9ydC5jDQo+ID4gaW5kZXggNzE3YTdiY2ViOC4uNTQyODkwZjM1NCAxMDA2 NDQNCj4gPiAtLS0gYS9leGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9pbnRlcm5hbF9w b3J0LmMNCj4gPiArKysgYi9leGFtcGxlcy9sMmZ3ZC1ldmVudC9sMmZ3ZF9ldmVudF9pbnRlcm5h bF9wb3J0LmMNCj4gPiBAQCAtMjUzLDcgKzI1Myw3IEBAIGwyZndkX3J4X3R4X2FkYXB0ZXJfc2V0 dXBfaW50ZXJuYWxfcG9ydChzdHJ1Y3QNCj4gbDJmd2RfcmVzb3VyY2VzICpyc3JjKQ0KPiA+ICAg ICAgICAgICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgcmV0ID0gcnRlX2V2ZW50 X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZShhZGFwdGVyX2lkLCBldmVudF9kX2lkLA0KPiA+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZldnRfcnNyYy0+ZGVm X3BfY29uZik7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmV2dF9yc3JjLT5kZWZfcF9jb25mLA0KPiA+ICsgTlVMTCk7DQo+ID4gICAgICAgICAg ICAgICAgIGlmIChyZXQpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgcnRlX3BhbmljKCJG YWlsZWQgdG8gY3JlYXRlIHJ4IGFkYXB0ZXJbJWRdXG4iLA0KPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhZGFwdGVyX2lkKTsgZGlmZiAtLWdpdA0KPiA+IGEvZXhhbXBsZXMv bDNmd2QvbDNmd2RfZXZlbnRfZ2VuZXJpYy5jDQo+ID4gYi9leGFtcGxlcy9sM2Z3ZC9sM2Z3ZF9l dmVudF9nZW5lcmljLmMNCj4gPiBpbmRleCBjODA1NzNmYzU4Li44OGU3YWY1MzhlIDEwMDY0NA0K PiA+IC0tLSBhL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2dlbmVyaWMuYw0KPiA+ICsrKyBi L2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2dlbmVyaWMuYw0KPiA+IEBAIC0yMTcsNyArMjE3 LDcgQEAgbDNmd2RfcnhfdHhfYWRhcHRlcl9zZXR1cF9nZW5lcmljKHZvaWQpDQo+ID4gICAgICAg ICB9DQo+ID4NCj4gPiAgICAgICAgIHJldCA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVh dGUocnhfYWRwdHJfaWQsIGV2ZW50X2RfaWQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZldnRfcnNyYy0+ZGVmX3BfY29uZik7DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZldnRfcnNyYy0+ZGVmX3Bf Y29uZiwNCj4gPiArIE5VTEwpOw0KPiA+ICAgICAgICAgaWYgKHJldCkNCj4gPiAgICAgICAgICAg ICAgICAgcnRlX3BhbmljKCJGYWlsZWQgdG8gY3JlYXRlIHJ4IGFkYXB0ZXJcbiIpOw0KPiA+DQo+ ID4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2wzZndkL2wzZndkX2V2ZW50X2ludGVybmFsX3BvcnQu Yw0KPiA+IGIvZXhhbXBsZXMvbDNmd2QvbDNmd2RfZXZlbnRfaW50ZXJuYWxfcG9ydC5jDQo+ID4g aW5kZXggMzJjZjY1NzE0OC4uZGM4YjUwMTNjYiAxMDA2NDQNCj4gPiAtLS0gYS9leGFtcGxlcy9s M2Z3ZC9sM2Z3ZF9ldmVudF9pbnRlcm5hbF9wb3J0LmMNCj4gPiArKysgYi9leGFtcGxlcy9sM2Z3 ZC9sM2Z3ZF9ldmVudF9pbnRlcm5hbF9wb3J0LmMNCj4gPiBAQCAtMjQ2LDcgKzI0Niw3IEBAIGwz ZndkX3J4X3R4X2FkYXB0ZXJfc2V0dXBfaW50ZXJuYWxfcG9ydCh2b2lkKQ0KPiA+ICAgICAgICAg ICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgcmV0ID0gcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyX2NyZWF0ZShhZGFwdGVyX2lkLCBldmVudF9kX2lkLA0KPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZldnRfcnNyYy0+ZGVm X3BfY29uZik7DQo+ID4gKw0KPiA+ICsgJmV2dF9yc3JjLT5kZWZfcF9jb25mLCBOVUxMKTsNCj4g PiAgICAgICAgICAgICAgICAgaWYgKHJldCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBy dGVfcGFuaWMoIkZhaWxlZCB0byBjcmVhdGUgcnggYWRhcHRlclslZF1cbiIsDQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXB0ZXJfaWQpOyBkaWZmIC0tZ2l0DQo+ID4g YS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMNCj4gPiBiL2xpYi9ldmVu dGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYw0KPiA+IGluZGV4IGY3ZjkzY2NkZmQuLmNl MjAzYTVlNGIgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhf YWRhcHRlci5jDQo+ID4gKysrIGIvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRl ci5jDQo+ID4gQEAgLTI0ODUsOTAgKzI0ODUsNzggQEAgcnhhX2NyZWF0ZSh1aW50OF90IGlkLCB1 aW50OF90IGRldl9pZCwNCj4gPiAgICAgICAgIHJldHVybiAwOw0KPiA+ICB9DQo+ID4NCj4gPiAt aW50DQo+ID4gLXJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfZXh0KHVpbnQ4X3QgaWQs IHVpbnQ4X3QgZGV2X2lkLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRl X2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NvbmZfY2IgY29uZl9jYiwNCj4gPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZvaWQgKmNvbmZfYXJnKQ0KPiA+ICtzdGF0aWMgaW50IF9fcnRl X2NvbGQNCj4gPiArcnhhX2NvbmZpZ19wYXJhbXNfdmFsaWRhdGUoc3RydWN0IHJ0ZV9ldmVudF9l dGhfcnhfYWRhcHRlcl9wYXJhbXMNCj4gKnJ4YV9wYXJhbXMsDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMNCj4gPiAr KnRlbXBfcGFyYW1zKQ0KPiA+ICB7DQo+ID4gLSAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyX3BhcmFtcyByeGFfcGFyYW1zID0gezB9Ow0KPiA+ICsgICAgICAgaWYgKHJ4YV9w YXJhbXMgPT0gTlVMTCkgew0KPiA+ICsgICAgICAgICAgICAgICAvKiB1c2UgZGVmYXVsdCB2YWx1 ZXMgaWYgcnhhX3BhcmFtcyBpcyBOVUxMICovDQo+ID4gKyAgICAgICAgICAgICAgIHRlbXBfcGFy YW1zLT5ldmVudF9idWZfc2l6ZSA9IEVUSF9FVkVOVF9CVUZGRVJfU0laRTsNCj4gPiArICAgICAg ICAgICAgICAgdGVtcF9wYXJhbXMtPnVzZV9xdWV1ZV9ldmVudF9idWYgPSBmYWxzZTsNCj4gPiAr ICAgICAgIH0gZWxzZSBpZiAoIXJ4YV9wYXJhbXMtPnVzZV9xdWV1ZV9ldmVudF9idWYgJiYNCj4g PiArICAgICAgICAgICAgICAgICAgIHJ4YV9wYXJhbXMtPmV2ZW50X2J1Zl9zaXplID09IDApIHsN Cj4gPiArICAgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiZXZlbnQgYnVmZmVyIHNpemUg Y2FuJ3QgYmUgemVyb1xuIik7DQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0K PiA+ICsgICAgICAgfSBlbHNlIGlmIChyeGFfcGFyYW1zLT51c2VfcXVldWVfZXZlbnRfYnVmICYm DQo+ID4gKyAgICAgICAgICAgICAgICAgIHJ4YV9wYXJhbXMtPmV2ZW50X2J1Zl9zaXplICE9IDAp IHsNCj4gPiArICAgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiZXZlbnQgYnVmZmVyIHNp emUgbmVlZHMgdG8gYmUgY29uZmlndXJlZCAiDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImFzIHBhcnQgb2YgcXVldWUgYWRkXG4iKTsNCj4gPiArICAgICAgICAgICAgICAg cmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICAgICB9DQo+ID4NCj4gPiAtICAgICAgIC8qIHVzZSBk ZWZhdWx0IHZhbHVlcyBmb3IgYWRhcHRlciBwYXJhbXMgKi8NCj4gPiAtICAgICAgIHJ4YV9wYXJh bXMuZXZlbnRfYnVmX3NpemUgPSBFVEhfRVZFTlRfQlVGRkVSX1NJWkU7DQo+ID4gLSAgICAgICBy eGFfcGFyYW1zLnVzZV9xdWV1ZV9ldmVudF9idWYgPSBmYWxzZTsNCj4gPiArICAgICAgICp0ZW1w X3BhcmFtcyA9ICpyeGFfcGFyYW1zOw0KPiA+ICsgICAgICAgLyogYWRqdXN0IGV2ZW50IGJ1ZmYg c2l6ZSB3aXRoIEJBVENIX1NJWkUgdXNlZCBmb3IgZmV0Y2hpbmcNCj4gPiArICAgICAgICAqIHBh Y2tldHMgZnJvbSBOSUMgcnggcXVldWVzIHRvIGdldCBmdWxsIGJ1ZmZlciB1dGlsaXphdGlvbg0K PiA+ICsgICAgICAgICogYW5kIHByZXZlbnQgdW5uZWNlc3Nhcnkgcm9sbG92ZXJzLg0KPiA+ICsg ICAgICAgICovDQo+ID4gKyAgICAgICBpZiAoIXRlbXBfcGFyYW1zLT51c2VfcXVldWVfZXZlbnRf YnVmKSB7DQo+ID4gKyAgICAgICAgICAgICAgIHRlbXBfcGFyYW1zLT5ldmVudF9idWZfc2l6ZSA9 DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgUlRFX0FMSUdOKHRlbXBfcGFyYW1zLT5ldmVu dF9idWZfc2l6ZSwgQkFUQ0hfU0laRSk7DQo+ID4gKyAgICAgICAgICAgICAgIHRlbXBfcGFyYW1z LT5ldmVudF9idWZfc2l6ZSArPSAoQkFUQ0hfU0laRSArIEJBVENIX1NJWkUpOw0KPiA+ICsgICAg ICAgfQ0KPiA+DQo+ID4gLSAgICAgICByZXR1cm4gcnhhX2NyZWF0ZShpZCwgZGV2X2lkLCAmcnhh X3BhcmFtcywgY29uZl9jYiwgY29uZl9hcmcpOw0KPiA+ICsgICAgICAgcmV0dXJuIDA7DQo+ID4g IH0NCj4gPg0KPiA+ICBpbnQNCj4gPiAtcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV93 aXRoX3BhcmFtcyh1aW50OF90IGlkLCB1aW50OF90DQo+IGRldl9pZCwNCj4gPiAtICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3BvcnRfY29uZiAqcG9ydF9jb25maWcsDQo+ ID4gK3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfZXh0KHVpbnQ4X3QgaWQsIHVpbnQ4 X3QgZGV2X2lkLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9ldmVudF9ldGhfcnhf YWRhcHRlcl9jb25mX2NiIGNvbmZfY2IsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgdm9p ZCAqY29uZl9hcmcsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVu dF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMNCj4gPiAqcnhhX3BhcmFtcykgIHsNCj4gPiAtICAgICAg IHN0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25mICpwYzsNCj4gPiAtICAgICAgIGludCByZXQ7DQo+ ID4gICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3BhcmFtcyB0ZW1wX3Bh cmFtcyA9IHswfTsNCj4gPiArICAgICAgIGludCByZXQ7DQo+ID4NCj4gPiAtICAgICAgIGlmIChw b3J0X2NvbmZpZyA9PSBOVUxMKQ0KPiA+IC0gICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsN Cj4gPiAtDQo+ID4gLSAgICAgICBpZiAocnhhX3BhcmFtcyA9PSBOVUxMKSB7DQo+ID4gLSAgICAg ICAgICAgICAgIC8qIHVzZSBkZWZhdWx0IHZhbHVlcyBpZiByeGFfcGFyYW1zIGlzIE5VTEwgKi8N Cj4gPiAtICAgICAgICAgICAgICAgcnhhX3BhcmFtcyA9ICZ0ZW1wX3BhcmFtczsNCj4gPiAtICAg ICAgICAgICAgICAgcnhhX3BhcmFtcy0+ZXZlbnRfYnVmX3NpemUgPSBFVEhfRVZFTlRfQlVGRkVS X1NJWkU7DQo+ID4gLSAgICAgICAgICAgICAgIHJ4YV9wYXJhbXMtPnVzZV9xdWV1ZV9ldmVudF9i dWYgPSBmYWxzZTsNCj4gPiAtICAgICAgIH0gZWxzZSBpZiAoKCFyeGFfcGFyYW1zLT51c2VfcXVl dWVfZXZlbnRfYnVmICYmDQo+ID4gLSAgICAgICAgICAgICAgICAgICByeGFfcGFyYW1zLT5ldmVu dF9idWZfc2l6ZSA9PSAwKSB8fA0KPiA+IC0gICAgICAgICAgICAgICAgICAocnhhX3BhcmFtcy0+ dXNlX3F1ZXVlX2V2ZW50X2J1ZiAmJg0KPiA+IC0gICAgICAgICAgICAgICAgICAgcnhhX3BhcmFt cy0+ZXZlbnRfYnVmX3NpemUgIT0gMCkpIHsNCj4gPiAtICAgICAgICAgICAgICAgUlRFX0VERVZf TE9HX0VSUigiSW52YWxpZCBhZGFwdGVyIHBhcmFtc1xuIik7DQo+ID4gLSAgICAgICAgICAgICAg IHJldHVybiAtRUlOVkFMOw0KPiA+IC0gICAgICAgfSBlbHNlIGlmICghcnhhX3BhcmFtcy0+dXNl X3F1ZXVlX2V2ZW50X2J1Zikgew0KPiA+IC0gICAgICAgICAgICAgICAvKiBhZGp1c3QgZXZlbnQg YnVmZiBzaXplIHdpdGggQkFUQ0hfU0laRSB1c2VkIGZvciBmZXRjaGluZw0KPiA+IC0gICAgICAg ICAgICAgICAgKiBwYWNrZXRzIGZyb20gTklDIHJ4IHF1ZXVlcyB0byBnZXQgZnVsbCBidWZmZXIg dXRpbGl6YXRpb24NCj4gPiAtICAgICAgICAgICAgICAgICogYW5kIHByZXZlbnQgdW5uZWNlc3Nh cnkgcm9sbG92ZXJzLg0KPiA+IC0gICAgICAgICAgICAgICAgKi8NCj4gPiAtDQo+ID4gLSAgICAg ICAgICAgICAgIHJ4YV9wYXJhbXMtPmV2ZW50X2J1Zl9zaXplID0NCj4gPiAtICAgICAgICAgICAg ICAgICAgICAgICBSVEVfQUxJR04ocnhhX3BhcmFtcy0+ZXZlbnRfYnVmX3NpemUsIEJBVENIX1NJ WkUpOw0KPiA+IC0gICAgICAgICAgICAgICByeGFfcGFyYW1zLT5ldmVudF9idWZfc2l6ZSArPSAo QkFUQ0hfU0laRSArIEJBVENIX1NJWkUpOw0KPiA+IC0gICAgICAgfQ0KPiA+IC0NCj4gPiAtICAg ICAgIHBjID0gcnRlX21hbGxvYyhOVUxMLCBzaXplb2YoKnBjKSwgMCk7DQo+ID4gLSAgICAgICBp ZiAocGMgPT0gTlVMTCkNCj4gPiAtICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+ID4g LQ0KPiA+IC0gICAgICAgKnBjID0gKnBvcnRfY29uZmlnOw0KPiA+IC0NCj4gPiAtICAgICAgIHJl dCA9IHJ4YV9jcmVhdGUoaWQsIGRldl9pZCwgcnhhX3BhcmFtcywgcnhhX2RlZmF1bHRfY29uZl9j YiwgcGMpOw0KPiA+IC0gICAgICAgaWYgKHJldCkNCj4gPiAtICAgICAgICAgICAgICAgcnRlX2Zy ZWUocGMpOw0KPiA+IC0NCj4gPiAtICAgICAgIHJ0ZV9ldmVudGRldl90cmFjZV9ldGhfcnhfYWRh cHRlcl9jcmVhdGVfd2l0aF9wYXJhbXMoaWQsIGRldl9pZCwNCj4gPiAtICAgICAgICAgICAgICAg cG9ydF9jb25maWcsIHJ4YV9wYXJhbXMsIHJldCk7DQo+ID4gKyAgICAgICByZXQgPSByeGFfY29u ZmlnX3BhcmFtc192YWxpZGF0ZShyeGFfcGFyYW1zLCAmdGVtcF9wYXJhbXMpOw0KPiA+ICsgICAg ICAgaWYgKHJldCAhPSAwKQ0KPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPiA+DQo+ ID4gLSAgICAgICByZXR1cm4gcmV0Ow0KPiA+ICsgICAgICAgcmV0dXJuIHJ4YV9jcmVhdGUoaWQs IGRldl9pZCwgJnRlbXBfcGFyYW1zLCBjb25mX2NiLA0KPiA+ICsgY29uZl9hcmcpOw0KPiA+ICB9 DQo+ID4NCj4gPiAgaW50DQo+ID4gIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGUodWlu dDhfdCBpZCwgdWludDhfdCBkZXZfaWQsDQo+ID4gLSAgICAgICAgICAgICAgIHN0cnVjdCBydGVf ZXZlbnRfcG9ydF9jb25mICpwb3J0X2NvbmZpZykNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgcnRlX2V2ZW50X3BvcnRfY29uZiAqcG9ydF9jb25maWcsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMNCj4g PiArICpyeGFfcGFyYW1zKQ0KPiA+ICB7DQo+ID4gICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3Bv cnRfY29uZiAqcGM7DQo+ID4gICAgICAgICBpbnQgcmV0Ow0KPiA+ICsgICAgICAgc3RydWN0IHJ0 ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMgdGVtcF9wYXJhbXMgPSB7MH07DQo+ID4NCj4g PiAgICAgICAgIGlmIChwb3J0X2NvbmZpZyA9PSBOVUxMKQ0KPiA+ICAgICAgICAgICAgICAgICBy ZXR1cm4gLUVJTlZBTDsNCj4gPg0KPiA+IC0gICAgICAgUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVS X0lEX1ZBTElEX09SX0VSUl9SRVQoaWQsIC1FSU5WQUwpOw0KPiA+ICsgICAgICAgcmV0ID0gcnhh X2NvbmZpZ19wYXJhbXNfdmFsaWRhdGUocnhhX3BhcmFtcywgJnRlbXBfcGFyYW1zKTsNCj4gPiAr ICAgICAgIGlmIChyZXQgIT0gMCkNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4g Pg0KPiA+ICAgICAgICAgcGMgPSBydGVfbWFsbG9jKE5VTEwsIHNpemVvZigqcGMpLCAwKTsNCj4g PiAgICAgICAgIGlmIChwYyA9PSBOVUxMKQ0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVO T01FTTsNCj4gPiArDQo+ID4gICAgICAgICAqcGMgPSAqcG9ydF9jb25maWc7DQo+ID4NCj4gPiAt ICAgICAgIHJldCA9IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfZXh0KGlkLCBkZXZf aWQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4YV9kZWZh dWx0X2NvbmZfY2IsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBjKTsNCj4gPiArICAgICAgIHJldCA9IHJ4YV9jcmVhdGUoaWQsIGRldl9pZCwgJnRlbXBfcGFy YW1zLA0KPiA+ICsgcnhhX2RlZmF1bHRfY29uZl9jYiwgcGMpOw0KPiA+ICAgICAgICAgaWYgKHJl dCkNCj4gPiAgICAgICAgICAgICAgICAgcnRlX2ZyZWUocGMpOw0KPiA+ICAgICAgICAgcmV0dXJu IHJldDsNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRh cHRlci5oDQo+ID4gYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmgNCj4g PiBpbmRleCBmZTJhNmJkZDJjLi43OTNlM2NlZGFkIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9ldmVu dGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaA0KPiA+ICsrKyBiL2xpYi9ldmVudGRldi9y dGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaA0KPiA+IEBAIC0yNiw3ICsyNiw2IEBADQo+ID4gICAq IFRoZSBldGhlcm5ldCBSeCBldmVudCBhZGFwdGVyJ3MgZnVuY3Rpb25zIGFyZToNCj4gPiAgICog IC0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV9leHQoKQ0KPiA+ICAgKiAgLSBydGVf ZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKCkNCj4gPiAtICogIC0gcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFtcygpDQo+ID4gICAqICAtIHJ0ZV9ldmVudF9ldGhf cnhfYWRhcHRlcl9mcmVlKCkNCj4gPiAgICogIC0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3F1 ZXVlX2FkZCgpDQo+ID4gICAqICAtIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9kZWwo KQ0KPiA+IEBAIC00NSw3ICs0NCw3IEBADQo+ID4gICAqDQo+ID4gICAqIFRoZSBhcHBsaWNhdGlv biBjcmVhdGVzIGFuIGV0aGVybmV0IHRvIGV2ZW50IGFkYXB0ZXIgdXNpbmcNCj4gPiAgICogcnRl X2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV9leHQoKSBvcg0KPiA+IHJ0ZV9ldmVudF9ldGhf cnhfYWRhcHRlcl9jcmVhdGUoKQ0KPiA+IC0gKiBvciBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJf Y3JlYXRlX3dpdGhfcGFyYW1zKCkgZnVuY3Rpb25zLg0KPiA+ICsgKiBmdW5jdGlvbnMuDQo+ID4g ICAqDQo+ID4gICAqIFRoZSBhZGFwdGVyIG5lZWRzIHRvIGtub3cgd2hpY2ggZXRoZXJuZXQgcngg cXVldWVzIHRvIHBvbGwgZm9yIG1idWZzDQo+IGFzIHdlbGwNCj4gPiAgICogYXMgZXZlbnQgZGV2 aWNlIHBhcmFtZXRlcnMgc3VjaCBhcyB0aGUgZXZlbnQgcXVldWUgaWRlbnRpZmllciwNCj4gPiBl dmVudCBAQCAtMzk0LDEzICszOTMsMTggQEAgdHlwZWRlZiB1aW50MTZfdA0KPiAoKnJ0ZV9ldmVu dF9ldGhfcnhfYWRhcHRlcl9jYl9mbikodWludDE2X3QgZXRoX2Rldl9pZCwNCj4gPiAgICogQHBh cmFtIGNvbmZfYXJnDQo+ID4gICAqICBBcmd1bWVudCB0aGF0IGlzIHBhc3NlZCB0byB0aGUgY29u Zl9jYiBmdW5jdGlvbi4NCj4gPiAgICoNCj4gPiArICogQHBhcmFtIHJ4YV9wYXJhbXMNCj4gPiAr ICogIFBvaW50ZXIgdG8gc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMuDQo+ ID4gKyAqICBJbiBjYXNlIG9mIE5VTEwsIGRlZmF1bHQgdmFsdWVzIGFyZSB1c2VkLg0KPiA+ICsg Kg0KPiA+ICAgKiBAcmV0dXJuDQo+ID4gICAqICAgLSAwOiBTdWNjZXNzDQo+ID4gICAqICAgLSA8 MDogRXJyb3IgY29kZSBvbiBmYWlsdXJlDQo+ID4gICAqLw0KPiA+ICBpbnQgcnRlX2V2ZW50X2V0 aF9yeF9hZGFwdGVyX2NyZWF0ZV9leHQodWludDhfdCBpZCwgdWludDhfdCBkZXZfaWQsDQo+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJf Y29uZl9jYiBjb25mX2NiLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p ZCAqY29uZl9hcmcpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9ldmVudF9ldGhf cnhfYWRhcHRlcl9jb25mX2NiIGNvbmZfY2IsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg dm9pZCAqY29uZl9hcmcsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9l dmVudF9ldGhfcnhfYWRhcHRlcl9wYXJhbXMNCj4gPiArICpyeGFfcGFyYW1zKTsNCj4gPg0KPiA+ ICAvKioNCj4gPiAgICogQ3JlYXRlIGEgbmV3IGV0aGVybmV0IFJ4IGV2ZW50IGFkYXB0ZXIgd2l0 aCB0aGUgc3BlY2lmaWVkIGlkZW50aWZpZXIuDQo+ID4gQEAgLTQzNSwyNyArNDM5LDYgQEAgaW50 IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfZXh0KHVpbnQ4X3QNCj4gaWQsIHVpbnQ4 X3QgZGV2X2lkLA0KPiA+ICAgKiAgQXJndW1lbnQgb2YgdHlwZSAqcnRlX2V2ZW50X3BvcnRfY29u ZiogdGhhdCBpcyBwYXNzZWQgdG8gdGhlIGNvbmZfY2INCj4gPiAgICogIGZ1bmN0aW9uLg0KPiA+ ICAgKg0KPiA+IC0gKiBAcmV0dXJuDQo+ID4gLSAqICAgLSAwOiBTdWNjZXNzDQo+ID4gLSAqICAg LSA8MDogRXJyb3IgY29kZSBvbiBmYWlsdXJlDQo+ID4gLSAqLw0KPiA+IC1pbnQgcnRlX2V2ZW50 X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZSh1aW50OF90IGlkLCB1aW50OF90IGRldl9pZCwNCj4gPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnRfcG9ydF9jb25m ICpwb3J0X2NvbmZpZyk7DQo+ID4gLQ0KPiA+IC0vKioNCj4gPiAtICogVGhpcyBpcyBhIHZhcmlh bnQgb2YgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZSgpIHdpdGgNCj4gPiBhZGRpdGlv bmFsDQo+ID4gLSAqIGFkYXB0ZXIgcGFyYW1zIHNwZWNpZmllZCBpbiBgYHN0cnVjdA0KPiBydGVf ZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcGFyYW1zYGAuDQo+ID4gLSAqDQo+ID4gLSAqIEBwYXJhbSBp ZA0KPiA+IC0gKiAgVGhlIGlkZW50aWZpZXIgb2YgdGhlIGV0aGVybmV0IFJ4IGV2ZW50IGFkYXB0 ZXIuDQo+ID4gLSAqDQo+ID4gLSAqIEBwYXJhbSBkZXZfaWQNCj4gPiAtICogIFRoZSBpZGVudGlm aWVyIG9mIHRoZSBldmVudCBkZXZpY2UgdG8gY29uZmlndXJlLg0KPiA+IC0gKg0KPiA+IC0gKiBA cGFyYW0gcG9ydF9jb25maWcNCj4gPiAtICogIEFyZ3VtZW50IG9mIHR5cGUgKnJ0ZV9ldmVudF9w b3J0X2NvbmYqIHRoYXQgaXMgcGFzc2VkIHRvIHRoZQ0KPiA+IGNvbmZfY2INCj4gPiAtICogIGZ1 bmN0aW9uLg0KPiA+IC0gKg0KPiA+ICAgKiBAcGFyYW0gcnhhX3BhcmFtcw0KPiA+ICAgKiAgUG9p bnRlciB0byBzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3BhcmFtcy4NCj4gPiAgICog IEluIGNhc2Ugb2YgTlVMTCwgZGVmYXVsdCB2YWx1ZXMgYXJlIHVzZWQuDQo+ID4gQEAgLTQ2NCw4 ICs0NDcsNyBAQCBpbnQgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZSh1aW50OF90IGlk LA0KPiB1aW50OF90IGRldl9pZCwNCj4gPiAgICogICAtIDA6IFN1Y2Nlc3MNCj4gPiAgICogICAt IDwwOiBFcnJvciBjb2RlIG9uIGZhaWx1cmUNCj4gPiAgICovDQo+ID4gLV9fcnRlX2V4cGVyaW1l bnRhbA0KPiA+IC1pbnQgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV93aXRoX3BhcmFt cyh1aW50OF90IGlkLCB1aW50OF90DQo+ID4gZGV2X2lkLA0KPiA+ICtpbnQgcnRlX2V2ZW50X2V0 aF9yeF9hZGFwdGVyX2NyZWF0ZSh1aW50OF90IGlkLCB1aW50OF90IGRldl9pZCwNCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50X3BvcnRfY29uZiAqcG9ydF9jb25m aWcsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhf YWRhcHRlcl9wYXJhbXMNCj4gPiAqcnhhX3BhcmFtcyk7DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEv bGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwIGIvbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwIGluZGV4 DQo+ID4gYjAzYzEwZDk5Zi4uMWNmNThmMGQ2YyAxMDA2NDQNCj4gPiAtLS0gYS9saWIvZXZlbnRk ZXYvdmVyc2lvbi5tYXANCj4gPiArKysgYi9saWIvZXZlbnRkZXYvdmVyc2lvbi5tYXANCj4gPiBA QCAtMTAxLDcgKzEwMSw2IEBAIEVYUEVSSU1FTlRBTCB7DQo+ID4gICAgICAgICBnbG9iYWw6DQo+ ID4NCj4gPiAgICAgICAgICMgYWRkZWQgaW4gMjEuMTENCj4gPiAtICAgICAgIHJ0ZV9ldmVudF9l dGhfcnhfYWRhcHRlcl9jcmVhdGVfd2l0aF9wYXJhbXM7DQo+ID4gICAgICAgICBydGVfZXZlbnRf ZXRoX3J4X2FkYXB0ZXJfcXVldWVfY29uZl9nZXQ7DQo+ID4gICAgICAgICBydGVfZXZlbnRfZXRo X3J4X2FkYXB0ZXJfcXVldWVfc3RhdHNfZ2V0Ow0KPiA+ICAgICAgICAgcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyX3F1ZXVlX3N0YXRzX3Jlc2V0Ow0KPiA+IC0tDQo+ID4gMi4yNS4xDQo+ID4NCg==