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 69105A034C; Wed, 23 Feb 2022 08:21:11 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3A72B40E64; Wed, 23 Feb 2022 08:21:11 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id A4DA240E5A for ; Wed, 23 Feb 2022 08:21:09 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1645600869; x=1677136869; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Qr8/W3qCTW6nxgc2Nlngs5OYmpe/7pqLfLSwLgqygP8=; b=geDMG4tp6mVYyYD++htJtYjTw5axPsRvubNamUtqZlnbqnR8PjQc5uM6 JcQ1Idfxr+UVmsRENaNKKvhUFAJyCOd+UTZL/ov8/UqPkZ1OpiRuI9Mef 19w6xHYDrPPiKU5PlqvlgZ95PI3HgegZR8nC2QiByXYhl1FOgoLh9Q5cn fZEtoNOVUicJNSbFvKGeq2/WQmjcFasGunbDmHyufaJ4tMZZ3GjW8Zo2D UAg93SQrXPf0rJbydoYu6GUIyeHCcOLMNaJCSFR4Om0wwIdUjSrXGdSgT Lor/hu7Vx2WSla5GBjHs6n2PnrsHzp/AqQ2s78PGGIQzN5r/WifTU8aAt w==; X-IronPort-AV: E=McAfee;i="6200,9189,10266"; a="251821443" X-IronPort-AV: E=Sophos;i="5.88,390,1635231600"; d="scan'208";a="251821443" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2022 23:21:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,390,1635231600"; d="scan'208";a="780983522" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga005.fm.intel.com with ESMTP; 22 Feb 2022 23:21:08 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Tue, 22 Feb 2022 23:21:08 -0800 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Tue, 22 Feb 2022 23:21:07 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Tue, 22 Feb 2022 23:21:07 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.173) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Tue, 22 Feb 2022 23:21:07 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MwxYB+PNLdJuaqGc10zFoIGPiLrbC9VNRkqLhsssgvUJTJouFvqs/gbIznnvefQIJvbEJ+XIVLllZsBDoCLv6XgYsyImu7JMc/9FbIuN0CiLzVUEwgP5OOOvt0pU43xpTBww8Anp2r6QK/Yisc2TCHlOQtMQXIlOxjDT05cyG+XCIB+8Av34SeQT8fIqTSdQ2sp1XOzv0yic7n7KYUeu2e+QFVbjayIXT45Q/hlWzJbkAAxObsNTtlt/bn4j32cs25K1XFS4Ecn7TtztNSGMQuiDztyjdVbU1syVIs8dkIdIcvSPdSJadHuTT1AgjAGOAYBkZg+epd798Iy3SUxTgw== 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=Qr8/W3qCTW6nxgc2Nlngs5OYmpe/7pqLfLSwLgqygP8=; b=IxhgXvsWulnzbSqE9crCRcNJagHFOW+9Oq5eG11VcX1mpZHLdrCVWSm6fzVvtNy7gnHQV7+HtJPq36AmLjTq88xfygUhiVddCvD7I+sgsmowyo6h0EdAlfEMPZrOc4oL6sjJlyCljUXNpOoY0k1XzWJVx46TF9u48lrowMMlMj92kzao8U5YVRDmgCvvrGQJfQyHZk21QPc6brcH6KDMYcWTi/6R3ZzUfMKTyLP2/levSbO2ZxwCBhPDkzARjYvW+032NiTpafoykw5mIznkx37Mrt1nMRZ/a4Lc5tvY4adoLfGwZchVkQ3a3KA66lJgXubO+2VVxSZrw4j2/kHADg== 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 MN2PR11MB4064.namprd11.prod.outlook.com (2603:10b6:208:137::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22; Wed, 23 Feb 2022 07:21:05 +0000 Received: from DM6PR11MB3868.namprd11.prod.outlook.com ([fe80::2910:7778:e6a9:7539]) by DM6PR11MB3868.namprd11.prod.outlook.com ([fe80::2910:7778:e6a9:7539%5]) with mapi id 15.20.4995.027; Wed, 23 Feb 2022 07:21:05 +0000 From: "Naga Harish K, S V" To: Kevin Traynor , Jerin Jacob , "Jayatheerthan, Jay" CC: Weiguo Li , "Kundapura, Ganapati" , "stephen@networkplumber.org" , "dev@dpdk.org" Subject: RE: [PATCH v6] eventdev/eth_rx: fix memory leak when token parsing finished Thread-Topic: [PATCH v6] eventdev/eth_rx: fix memory leak when token parsing finished Thread-Index: AQHYJ9QxVBsSX4um2EyerZ4k/D7gtqygu7sA Date: Wed, 23 Feb 2022 07:21:04 +0000 Message-ID: References: <3deb0be5-0c61-c899-d15f-acab9e2b6eaf@redhat.com> In-Reply-To: <3deb0be5-0c61-c899-d15f-acab9e2b6eaf@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 50b21092-e1c3-4bf4-aa09-08d9f69d0de3 x-ms-traffictypediagnostic: MN2PR11MB4064:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FRRiSgsrs85ta6Mk8Gcrxq09jqmot2hmtTZp7a279TjKzuzELmFBDyampTCVnAihA8qiRIpdNrFeRbKD6Kr/y6HH8jGxF8I16tkv45lz/3mKrv3yhnKsx6MocnwWTE1TJEY/ufrO0PbHAhyTZdW0I6MgNuGLcle1VipZr3Q7CQPJkUHqjKt5uBJy5W6hObkCp8cAR/qMtslsfxdQ+WPeHaTBYIUn9v8cEQrvAn7ZzOKsL3e8/rgvr2g9DfZ8pGTjZjbY4tMEqEvZvl7TWGW5A5qz7HmNV2tZCGr5qAW4c8WbEZdpqe+Zsk6GHMZ2v+WahjaC87twmfgMshkKLrLpu4x7U038gW7sGYObrLOhYWugk0Zv4AEcXNL1wJZczKLfbj/Fw9qxvkf0T5ksEXi6uI3yOw1IttCgfqUMOzPcNn0ZVTzB8Eg4DeLx2TwE0G25/JQUb7ygpnYtZUYsWkrsRG6ZvoP3VIi4GvMYLzhtZqgmqWQLd6A2uuutODZtACV/JIulJL0FPHt/PGLYazVWPwaWdp7cBd7OQlQIUy+FbBMw9QF0m7isFCH7goiOXVNipEkwnJ68HiTTAHrWzskpyt1E0Lsz96GD56OUYqlUvtlCH0vrY2HowLixNBBIAlFQcHAsGqt7dn6Qdh22owb1YfvGIe4yyq7N4ld0+Kmzs1w4dx0jL5ahRArfU8hGC3M6CQfWW402E1UthFY4/cV4eA== 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:(13230001)(366004)(7696005)(6636002)(9686003)(4326008)(6506007)(66446008)(66476007)(66556008)(66946007)(64756008)(55016003)(76116006)(122000001)(83380400001)(33656002)(38070700005)(316002)(508600001)(8676002)(2906002)(38100700002)(8936002)(54906003)(110136005)(82960400001)(186003)(26005)(71200400001)(53546011)(30864003)(52536014)(5660300002)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a3JpVklGUmpMQWx6dVY2aTNSVWhRN2h3VFk3VzhYN1k3MFByMFQzcTl3Sjdh?= =?utf-8?B?YkZxNmdiZGFabUxmWVprUkExZHYzbTNSSUVrODBlOWhCYnVHamQxcjNVT2pQ?= =?utf-8?B?ZjI1RGVyanBTVExPL2pmblFPYzlxdlp2cnJZTko4SmdXeVZCR1BqWXFxd3Ju?= =?utf-8?B?Wk1BNU80NTdSblhPWE9RYnNoOWxyeWh5ZU5xRmtCYy91QU9Xa1EzZlgrQjhh?= =?utf-8?B?UTQ4NU9NSWlVdW8wNGE1akJMZ1ROWW9pS3M4U0tRckU1RW5NMDZpb2lTVzhm?= =?utf-8?B?NVIvQjU3eVM4K1RSUnBzSDQwZDdYbDdjRDM3V2xNeFA2ZDBQQVE3NUpuYmk3?= =?utf-8?B?TmVoY2ZPMnRHYnJHa00vMzhLRDIzZFliMmJlSURpNng5bmZ3dE5VU2Q0RWFr?= =?utf-8?B?M3FWUGoza2pVY0FzWDZucmNhUmpNZjd4eHVwY01odGludUdGZ2llaFRNNWg4?= =?utf-8?B?QkE3b1B1MEY0Q3FndUt5TDVKTXZPV1l5Z2tXUTczWTljeW9rWmlwWlliZ0k5?= =?utf-8?B?bkJPMTg5dXFISVdvVW5qZXY3dVNDQjlYZUZCWlh4dWtFMlJGeU1aWjNwYlVu?= =?utf-8?B?SDJabEFnbElkSmhObjRBZW1ZODRQR2FPVWVWWXpLMVB5MTkxMnc3Y2FIT1d3?= =?utf-8?B?NE1yNmF0cWNUZ1diS3ZCZTdibktBODFoYU1yL3p2dXlBY1NwWmhtTUVTMGJl?= =?utf-8?B?QkNockliTzVCZ0J1ckpISThiMGYxNzdYZHhVZVpNZG5YQng3TVBZblJoeC9i?= =?utf-8?B?Vi95eVlid0hqK0tRN3EzV21aNTVKem9tZ0s5Y0dwazFaakRmeCtpNzRrcjRa?= =?utf-8?B?dWY5UnRIN01qbjZOcHZkQ2JKYWlZZFA2RldjUXVtbDZ1S2U0WEJ6UzVBOFlI?= =?utf-8?B?RVhwS0tRTTJCNldEbThZd0dUd2tQL3A2K3lSbGdDZDBmS3BwOHAxbjdBR2tu?= =?utf-8?B?L3BZR1ArM2FseW9mc0VLRHRJYzdHM0ZPQXFwL1Z6cFFESjVrK1BuTmgvTlNn?= =?utf-8?B?c0tHMUprNyttamVmWGFUVFpyTmt4Z20xTGtNSEFaYythV0xWc2FYN2Y5dFZm?= =?utf-8?B?OEtiSnFKYnhvUm9XNkUrMnBhaWIrZzhKNDhaWFFvTi9TbVM0YkNDbjMwVjla?= =?utf-8?B?OG1SZ3BOUm02bzkzMlQvR24zK0QyWlRsVFRXb21aaWpISVgveEpUUUJ6QWJl?= =?utf-8?B?cTZzWG1yRFR2QldmVmU2d3NjeHAxcEJYSm90VWFwengvMVNlZFhqUk11Tk9h?= =?utf-8?B?RklIWFlQSEJoMVhqeFFhN0d2TkJUSUlNU29BNTJUZlVQdFNCUjJOQVh1UHJO?= =?utf-8?B?L0NIc0NjY01BWEhCV0NhQm91MEpBN3ZQbGNJdWdQNzIxWVFLSDBoRk1TbUtF?= =?utf-8?B?VjZQbWJwREloaExPNGhEQ2Qrb2o0QmdudUg3UXNuREtxVE92N0hLamRUVzdq?= =?utf-8?B?am9PMVVTVEo1N21MTEpCa1FySWp2Y1pVd0pLOUNiNk9ZY1JtQ24xUCtHak0y?= =?utf-8?B?aGE2anFqei9wMll0c3NHWXkwRFQ0UjZEMFpYQWk0bWVJYzNUVjZWSldnNk9K?= =?utf-8?B?SXRIT0dSY3BUM3ZYZVozZHpQQktvWWhiQU5aSi9XbE1KM2hJT0xkQzJIZEk1?= =?utf-8?B?QkNCNTI1Q0svVGpHR3hwMU42NU1VYXowa09yclptNFlrRW9rdEdUcTIvVVpa?= =?utf-8?B?Z0hqbUxJN2YrcERlN2hNbkdwVi9CT05YYUdRakc4cVh2Q0hIeHVqYStxS0Ey?= =?utf-8?B?eCtvM0V6NXhQb2RzWTNTTTIxTkFwNU9nTTJrTmZjREVWSWg4STliUE54dU1j?= =?utf-8?B?VzgvYmZVbW5QN0NibEZpVURYVXV2L0F4R1o0OGVPcFpRWUV3QjRTWlVkWTcv?= =?utf-8?B?VHJVWmxmcHd2cFViK3BrLzNzVVV4bVk3OUQ3L3J3RUVnS3VPTERWR0E4a00y?= =?utf-8?B?RjY2RkUrNzlGRXk1dzduMU9GQy94VVVnR0YwSFRMRnR0NDlMOVhReWxrZjFt?= =?utf-8?B?d3VwS0F1RnRkRTFSMnNIU1M2eTl5NzdhQ0tNZHVERUVTK1U4V3dDcHBJWW4z?= =?utf-8?B?Qml2K3pRbWdpOVptSkdMSEVPUy9lWTloR0l5YWNmVDdzRFV1QzNQbjRuTXFV?= =?utf-8?B?eDJFcEt5ZHJnRFpickErb0g0UFdFZHBwL3JJakhZUkxtM0RKdjdkK09UQ2NL?= =?utf-8?B?ckVQcmpYSllKZUlQdUgyL05MWllEanVUVWE0UmZRNWEweDlMNjkvSCt3VWZo?= =?utf-8?B?R1luWnN4N1FLQ0dVWEgzMlRsUWV3PT0=?= 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: 50b21092-e1c3-4bf4-aa09-08d9f69d0de3 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Feb 2022 07:21:05.2020 (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: IApJARF792IRN04htquPm1/4QiQPpTJO/6WQEJBmVNdbJEilxfgKzyIGZJlm3hNM65CFnIqvER1XAfEJFOuxVTvE+gOJWBvDEQXXb6pL+aY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4064 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 SGkgS2V2aW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS2V2aW4g VHJheW5vciA8a3RyYXlub3JAcmVkaGF0LmNvbT4NCj4gU2VudDogVHVlc2RheSwgRmVicnVhcnkg MjIsIDIwMjIgMzozOSBQTQ0KPiBUbzogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNv bT47IEpheWF0aGVlcnRoYW4sIEpheQ0KPiA8amF5LmpheWF0aGVlcnRoYW5AaW50ZWwuY29tPg0K PiBDYzogV2VpZ3VvIExpIDxsaXdnMDZAZm94bWFpbC5jb20+OyBLdW5kYXB1cmEsIEdhbmFwYXRp DQo+IDxHYW5hcGF0aS5LdW5kYXB1cmFAaW50ZWwuY29tPjsgTmFnYSBIYXJpc2ggSywgUyBWDQo+ IDxzLnYubmFnYS5oYXJpc2gua0BpbnRlbC5jb20+OyBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9y ZzsgZGV2QGRwZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjZdIGV2ZW50ZGV2L2V0aF9y eDogZml4IG1lbW9yeSBsZWFrIHdoZW4gdG9rZW4gcGFyc2luZw0KPiBmaW5pc2hlZA0KPiANCj4g T24gMTgvMDIvMjAyMiAwOTozOSwgSmVyaW4gSmFjb2Igd3JvdGU6DQo+ID4gT24gRnJpLCBGZWIg NCwgMjAyMiBhdCAzOjE3IFBNIEpheWF0aGVlcnRoYW4sIEpheQ0KPiA+IDxqYXkuamF5YXRoZWVy dGhhbkBpbnRlbC5jb20+IHdyb3RlOg0KPiA+Pg0KPiA+PiBMb29rcyBnb29kLiBUaGFua3MgV2Vp Z3VvIGZvciBwb3N0aW5nIHRoaXMgcGF0Y2ggYW5kIGFkZHJlc3NpbmcgYWxsIHRoZQ0KPiBjb21t ZW50cyENCj4gPj4NCj4gPj4gQWNrZWQtYnk6IEpheSBKYXlhdGhlZXJ0aGFuIDwgamF5LmpheWF0 aGVlcnRoYW5AaW50ZWwuY29tPg0KPiA+DQo+ID4gQXBwbGllZCB0byBkcGRrLW5leHQtbmV0LWV2 ZW50ZGV2L2Zvci1tYWluLiBUaGFua3MNCj4gPg0KPiA+DQo+ID4+DQo+ID4+IC1KYXkNCj4gPj4N Cj4gPj4NCj4gPj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9t OiBXZWlndW8gTGkgPGxpd2cwNkBmb3htYWlsLmNvbT4NCj4gPj4+IFNlbnQ6IEZyaWRheSwgRmVi cnVhcnkgNCwgMjAyMiAxOjUxIFBNDQo+ID4+PiBUbzogSmF5YXRoZWVydGhhbiwgSmF5IDxqYXku amF5YXRoZWVydGhhbkBpbnRlbC5jb20+DQo+ID4+PiBDYzogS3VuZGFwdXJhLCBHYW5hcGF0aSA8 Z2FuYXBhdGkua3VuZGFwdXJhQGludGVsLmNvbT47IE5hZ2EgSGFyaXNoDQo+ID4+PiBLLCBTIFYg PHMudi5uYWdhLmhhcmlzaC5rQGludGVsLmNvbT47IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3Jn Ow0KPiA+Pj4gZGV2QGRwZGsub3JnDQo+ID4+PiBTdWJqZWN0OiBbUEFUQ0ggdjZdIGV2ZW50ZGV2 L2V0aF9yeDogZml4IG1lbW9yeSBsZWFrIHdoZW4gdG9rZW4NCj4gPj4+IHBhcnNpbmcgZmluaXNo ZWQNCj4gPj4+DQo+ID4+PiBUaGUgbWVtb3J5IGdldCBmcm9tIHN0cmR1cCBzaG91bGQgYmUgZnJl ZWQgd2hlbiBwYXJhbWV0ZXIgcGFyc2luZw0KPiA+Pj4gZmluaXNoZWQsIGFuZCBhbHNvIHNob3Vs ZCBiZSBmcmVlZCB3aGVuIGVycm9yIG9jY3Vycy4NCj4gPj4+DQo+ID4+PiBGaXhlczogODE0ZDAx NzA5MzI4ICgiZXZlbnRkZXYvZXRoX3J4OiBzdXBwb3J0IHRlbGVtZXRyeSIpDQo+ID4+PiBGaXhl czogOWU1ODMxODUzMThmICgiZXZlbnRkZXYvZXRoX3J4OiBzdXBwb3J0IHRlbGVtZXRyeSIpDQo+ ID4+Pg0KPiANCj4gTm8gc3RhYmxlIHRhZyAtIGlzIGl0IHdhbnRlZCBmb3IgcmVsZXZhbnQgc3Rh YmxlIGJyYW5jaGVzPw0KPiANCg0KWWVzLCB0aGlzIHBhdGNoIG5lZWQgdG8gYmUgaW5jbHVkZWQg aW4gcmVsZXZhbnQgc3RhYmxlIHJlbGVhc2VzLg0KDQo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBXZWln dW8gTGkgPGxpd2cwNkBmb3htYWlsLmNvbT4NCj4gPj4+IEFja2VkLWJ5OiBHYW5hcGF0aSBLdW5k YXB1cmEgPGdhbmFwYXRpLmt1bmRhcHVyYUBpbnRlbC5jb20+DQo+ID4+Pg0KPiA+Pj4gLS0tDQo+ ID4+PiB2NjoNCj4gPj4+ICogZml4IGRvdWJsZSBmcmVlIHByb2JsZW0gaW4gdjUgYXMgSmF5IG5v dGVkDQo+ID4+PiB2NToNCj4gPj4+ICogZml4IGFjY29yZGluZyB0byBKYXkncyBjb21tZW50Lg0K PiA+Pj4gKiBmaXggYW5vdGhvciBieXBhc3NpbmcgdGhlIGZyZWVpbmcgb2YgbWVtb3J5IHByb2Js ZW0NCj4gPj4+IHY0Og0KPiA+Pj4gKiBmaXggY29tcGlsYXRpb24gaXNzdWUNCj4gPj4+IHYzOg0K PiA+Pj4gKiB2YWxpZGF0ZSAiZXRoX2Rldl9pZCIgYnkgcnRlX2V0aF9kZXZfaXNfdmFsaWRfcG9y dCgpDQo+ID4+PiAgICBhcyBHYW5hcGF0aSdzIGNvbW1lbnQuDQo+ID4+PiAqIHZhbGlkYXRlICJ0 b2tlbiIgYnkgbWFjcm9zIHRvIHJlZHVjZSBjb2RlIHJlZHVuZGFuY3kuDQo+ID4+PiAqIHVzZSBu ZXcgbWFjcm9zIHRvIGF2b2lkIGJ5cGFzc2luZyB0aGUgZnJlZWluZyBvZiBtZW1vcnkgcHJvYmxl bS4NCj4gPj4+IHYyOg0KPiA+Pj4gKiBhZGQgbWVtb3J5IGNoZWNrIGFmdGVyIHN0cmR1cA0KPiA+ Pj4gLS0tDQo+ID4+PiAgIGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYyB8 IDk2ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0NCj4gPj4+ICAgMSBmaWxlIGNoYW5nZWQsIDcy IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQ0KPiA+Pj4NCj4gPj4+IGRpZmYgLS1naXQg YS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMNCj4gPj4+IGIvbGliL2V2 ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jDQo+ID4+PiBpbmRleCBhZTFlMjYwYzA4 Li40ZGE2ZjFmZjkwIDEwMDY0NA0KPiA+Pj4gLS0tIGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9l dGhfcnhfYWRhcHRlci5jDQo+ID4+PiArKysgYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyLmMNCj4gPj4+IEBAIC0yOTMsNiArMjkzLDMwIEBAIHJ4YV9ldmVudF9idWZfZ2V0 KHN0cnVjdCBldmVudF9ldGhfcnhfYWRhcHRlcg0KPiAqcnhfYWRhcHRlciwgdWludDE2X3QgZXRo X2Rldl9pZCwNCj4gPj4+ICAgICAgICB9IFwNCj4gPj4+ICAgfSB3aGlsZSAoMCkNCj4gPj4+DQo+ ID4+PiArI2RlZmluZSBSVEVfRVZFTlRfRVRIX1JYX0FEQVBURVJfSURfVkFMSURfT1JfR09UT19F UlJfUkVUKGlkLA0KPiByZXR2YWwpIGRvIHsgXA0KPiA+Pj4gKyAgICAgaWYgKCFyeGFfdmFsaWRh dGVfaWQoaWQpKSB7IFwNCj4gPj4+ICsgICAgICAgICAgICAgUlRFX0VERVZfTE9HX0VSUigiSW52 YWxpZCBldGggUnggYWRhcHRlciBpZCA9ICVkXG4iLCBpZCk7IFwNCj4gPj4+ICsgICAgICAgICAg ICAgcmV0ID0gcmV0dmFsOyBcDQo+ID4+PiArICAgICAgICAgICAgIGdvdG8gZXJyb3I7IFwNCj4g Pj4+ICsgICAgIH0gXA0KPiA+Pj4gK30gd2hpbGUgKDApDQo+ID4+PiArDQo+ID4+PiArI2RlZmlu ZQ0KPiBSVEVfRVZFTlRfRVRIX1JYX0FEQVBURVJfVE9LRU5fVkFMSURfT1JfR09UT19FUlJfUkVU KHRva2VuLA0KPiByZXR2YWwpIGRvIHsgXA0KPiA+Pj4gKyAgICAgaWYgKCh0b2tlbikgPT0gTlVM TCB8fCBzdHJsZW4odG9rZW4pID09IDAgfHwgIWlzZGlnaXQoKnRva2VuKSkgeyBcDQo+ID4+PiAr ICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoIkludmFsaWQgZXRoIFJ4IGFkYXB0ZXIgdG9r ZW5cbiIpOyBcDQo+ID4+PiArICAgICAgICAgICAgIHJldCA9IHJldHZhbDsgXA0KPiA+Pj4gKyAg ICAgICAgICAgICBnb3RvIGVycm9yOyBcDQo+ID4+PiArICAgICB9IFwNCj4gPj4+ICt9IHdoaWxl ICgwKQ0KPiA+Pj4gKw0KPiA+Pj4gKyNkZWZpbmUgUlRFX0VUSF9WQUxJRF9QT1JUSURfT1JfR09U T19FUlJfUkVUKHBvcnRfaWQsIHJldHZhbCkgZG8NCj4geyBcDQo+ID4+PiArICAgICBpZiAoIXJ0 ZV9ldGhfZGV2X2lzX3ZhbGlkX3BvcnQocG9ydF9pZCkpIHsgXA0KPiA+Pj4gKyAgICAgICAgICAg ICBSVEVfRVRIREVWX0xPRyhFUlIsICJJbnZhbGlkIHBvcnRfaWQ9JXVcbiIsIHBvcnRfaWQpOyBc DQo+ID4+PiArICAgICAgICAgICAgIHJldCA9IHJldHZhbDsgXA0KPiA+Pj4gKyAgICAgICAgICAg ICBnb3RvIGVycm9yOyBcDQo+ID4+PiArICAgICB9IFwNCj4gPj4+ICt9IHdoaWxlICgwKQ0KPiA+ Pj4gKw0KPiA+Pj4gICBzdGF0aWMgaW5saW5lIGludA0KPiA+Pj4gICByeGFfc3dfYWRhcHRlcl9x dWV1ZV9jb3VudChzdHJ1Y3QgZXZlbnRfZXRoX3J4X2FkYXB0ZXIgKnJ4X2FkYXB0ZXIpDQo+ID4+ PiAgIHsNCj4gPj4+IEBAIC0zMzIzLDcgKzMzNDcsNyBAQCBoYW5kbGVfcnhhX2dldF9xdWV1ZV9j b25mKGNvbnN0IGNoYXIgKmNtZA0KPiBfX3J0ZV91bnVzZWQsDQo+ID4+PiAgIHsNCj4gPj4+ICAg ICAgICB1aW50OF90IHJ4X2FkYXB0ZXJfaWQ7DQo+ID4+PiAgICAgICAgdWludDE2X3QgcnhfcXVl dWVfaWQ7DQo+ID4+PiAtICAgICBpbnQgZXRoX2Rldl9pZDsNCj4gPj4+ICsgICAgIGludCBldGhf ZGV2X2lkLCByZXQgPSAtMTsNCj4gPj4+ICAgICAgICBjaGFyICp0b2tlbiwgKmxfcGFyYW1zOw0K PiA+Pj4gICAgICAgIHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfY29uZiBx dWV1ZV9jb25mOw0KPiA+Pj4NCj4gPj4+IEBAIC0zMzMyLDMzICszMzU2LDM3IEBAIGhhbmRsZV9y eGFfZ2V0X3F1ZXVlX2NvbmYoY29uc3QgY2hhciAqY21kDQo+ID4+PiBfX3J0ZV91bnVzZWQsDQo+ ID4+Pg0KPiA+Pj4gICAgICAgIC8qIEdldCBSeCBhZGFwdGVyIElEIGZyb20gcGFyYW1ldGVyIHN0 cmluZyAqLw0KPiA+Pj4gICAgICAgIGxfcGFyYW1zID0gc3RyZHVwKHBhcmFtcyk7DQo+ID4+PiAr ICAgICBpZiAobF9wYXJhbXMgPT0gTlVMTCkNCj4gPj4+ICsgICAgICAgICAgICAgcmV0dXJuIC1F Tk9NRU07DQo+ID4+PiAgICAgICAgdG9rZW4gPSBzdHJ0b2sobF9wYXJhbXMsICIsIik7DQo+ID4+ PiArDQo+IFJURV9FVkVOVF9FVEhfUlhfQURBUFRFUl9UT0tFTl9WQUxJRF9PUl9HT1RPX0VSUl9S RVQodG9rZW4sDQo+ID4+PiArIC0xKTsNCj4gPj4+ICAgICAgICByeF9hZGFwdGVyX2lkID0gc3Ry dG91bCh0b2tlbiwgTlVMTCwgMTApOw0KPiA+Pj4gLSAgICAgUlRFX0VWRU5UX0VUSF9SWF9BREFQ VEVSX0lEX1ZBTElEX09SX0VSUl9SRVQocnhfYWRhcHRlcl9pZCwNCj4gLUVJTlZBTCk7DQo+ID4+ PiArDQo+ID4+PiArDQo+IFJURV9FVkVOVF9FVEhfUlhfQURBUFRFUl9JRF9WQUxJRF9PUl9HT1RP X0VSUl9SRVQocnhfYWRhcHRlcl9pZCwNCj4gPj4+ICsgLUVJTlZBTCk7DQo+ID4+Pg0KPiA+Pj4g ICAgICAgIHRva2VuID0gc3RydG9rKE5VTEwsICIsIik7DQo+ID4+PiAtICAgICBpZiAodG9rZW4g PT0gTlVMTCB8fCBzdHJsZW4odG9rZW4pID09IDAgfHwgIWlzZGlnaXQoKnRva2VuKSkNCj4gPj4+ IC0gICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+Pj4gKw0KPiBSVEVfRVZFTlRfRVRIX1JYX0FE QVBURVJfVE9LRU5fVkFMSURfT1JfR09UT19FUlJfUkVUKHRva2VuLA0KPiA+Pj4gKyAtMSk7DQo+ ID4+Pg0KPiA+Pj4gICAgICAgIC8qIEdldCBkZXZpY2UgSUQgZnJvbSBwYXJhbWV0ZXIgc3RyaW5n ICovDQo+ID4+PiAgICAgICAgZXRoX2Rldl9pZCA9IHN0cnRvdWwodG9rZW4sIE5VTEwsIDEwKTsN Cj4gPj4+IC0gICAgIFJURV9FVkVOVERFVl9WQUxJRF9ERVZJRF9PUl9FUlJfUkVUKGV0aF9kZXZf aWQsIC1FSU5WQUwpOw0KPiA+Pj4gKyAgICAgUlRFX0VUSF9WQUxJRF9QT1JUSURfT1JfR09UT19F UlJfUkVUKGV0aF9kZXZfaWQsIC1FSU5WQUwpOw0KPiA+Pj4NCj4gPj4+ICAgICAgICB0b2tlbiA9 IHN0cnRvayhOVUxMLCAiLCIpOw0KPiA+Pj4gLSAgICAgaWYgKHRva2VuID09IE5VTEwgfHwgc3Ry bGVuKHRva2VuKSA9PSAwIHx8ICFpc2RpZ2l0KCp0b2tlbikpDQo+ID4+PiAtICAgICAgICAgICAg IHJldHVybiAtMTsNCj4gPj4+ICsNCj4gUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX1RPS0VOX1ZB TElEX09SX0dPVE9fRVJSX1JFVCh0b2tlbiwNCj4gPj4+ICsgLTEpOw0KPiA+Pj4NCj4gPj4+ICAg ICAgICAvKiBHZXQgUnggcXVldWUgSUQgZnJvbSBwYXJhbWV0ZXIgc3RyaW5nICovDQo+ID4+PiAg ICAgICAgcnhfcXVldWVfaWQgPSBzdHJ0b3VsKHRva2VuLCBOVUxMLCAxMCk7DQo+ID4+PiAgICAg ICAgaWYgKHJ4X3F1ZXVlX2lkID49IHJ0ZV9ldGhfZGV2aWNlc1tldGhfZGV2X2lkXS5kYXRhLT5u Yl9yeF9xdWV1ZXMpIHsNCj4gPj4+ICAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoIklu dmFsaWQgcnggcXVldWVfaWQgJXUiLCByeF9xdWV1ZV9pZCk7DQo+ID4+PiAtICAgICAgICAgICAg IHJldHVybiAtRUlOVkFMOw0KPiA+Pj4gKyAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOw0KPiA+ Pj4gKyAgICAgICAgICAgICBnb3RvIGVycm9yOw0KPiA+Pj4gICAgICAgIH0NCj4gPj4+DQo+ID4+ PiAgICAgICAgdG9rZW4gPSBzdHJ0b2soTlVMTCwgIlwwIik7DQo+ID4+PiAgICAgICAgaWYgKHRv a2VuICE9IE5VTEwpDQo+ID4+PiAgICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKCJFeHRy YSBwYXJhbWV0ZXJzIHBhc3NlZCB0byBldmVudGRldiINCj4gPj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIiB0ZWxlbWV0cnkgY29tbWFuZCwgaWdub3JpbmciKTsNCj4gPj4+ICsg ICAgIC8qIFBhcnNpbmcgcGFyYW1ldGVyIGZpbmlzaGVkICovDQo+ID4+PiArICAgICBmcmVlKGxf cGFyYW1zKTsNCj4gPj4+DQo+ID4+PiAgICAgICAgaWYgKHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRl cl9xdWV1ZV9jb25mX2dldChyeF9hZGFwdGVyX2lkLA0KPiBldGhfZGV2X2lkLA0KPiA+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnhfcXVldWVf aWQsDQo+ID4+PiAmcXVldWVfY29uZikpIHsgQEAgLTMzNzgsNiArMzQwNiwxMCBAQA0KPiBoYW5k bGVfcnhhX2dldF9xdWV1ZV9jb25mKGNvbnN0IGNoYXIgKmNtZCBfX3J0ZV91bnVzZWQsDQo+ID4+ PiAgICAgICAgUlhBX0FERF9ESUNUKHF1ZXVlX2NvbmYuZXYsIGZsb3dfaWQpOw0KPiA+Pj4NCj4g Pj4+ICAgICAgICByZXR1cm4gMDsNCj4gPj4+ICsNCj4gPj4+ICtlcnJvcjoNCj4gPj4+ICsgICAg IGZyZWUobF9wYXJhbXMpOw0KPiA+Pj4gKyAgICAgcmV0dXJuIHJldDsNCj4gPj4+ICAgfQ0KPiA+ Pj4NCj4gPj4+ICAgc3RhdGljIGludA0KPiA+Pj4gQEAgLTMzODcsNyArMzQxOSw3IEBAIGhhbmRs ZV9yeGFfZ2V0X3F1ZXVlX3N0YXRzKGNvbnN0IGNoYXIgKmNtZA0KPiBfX3J0ZV91bnVzZWQsDQo+ ID4+PiAgIHsNCj4gPj4+ICAgICAgICB1aW50OF90IHJ4X2FkYXB0ZXJfaWQ7DQo+ID4+PiAgICAg ICAgdWludDE2X3QgcnhfcXVldWVfaWQ7DQo+ID4+PiAtICAgICBpbnQgZXRoX2Rldl9pZDsNCj4g Pj4+ICsgICAgIGludCBldGhfZGV2X2lkLCByZXQgPSAtMTsNCj4gPj4+ICAgICAgICBjaGFyICp0 b2tlbiwgKmxfcGFyYW1zOw0KPiA+Pj4gICAgICAgIHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2Fk YXB0ZXJfcXVldWVfc3RhdHMgcV9zdGF0czsNCj4gPj4+DQo+ID4+PiBAQCAtMzM5NiwzMyArMzQy OCwzNyBAQCBoYW5kbGVfcnhhX2dldF9xdWV1ZV9zdGF0cyhjb25zdCBjaGFyICpjbWQNCj4gPj4+ IF9fcnRlX3VudXNlZCwNCj4gPj4+DQo+ID4+PiAgICAgICAgLyogR2V0IFJ4IGFkYXB0ZXIgSUQg ZnJvbSBwYXJhbWV0ZXIgc3RyaW5nICovDQo+ID4+PiAgICAgICAgbF9wYXJhbXMgPSBzdHJkdXAo cGFyYW1zKTsNCj4gPj4+ICsgICAgIGlmIChsX3BhcmFtcyA9PSBOVUxMKQ0KPiA+Pj4gKyAgICAg ICAgICAgICByZXR1cm4gLUVOT01FTTsNCj4gPj4+ICAgICAgICB0b2tlbiA9IHN0cnRvayhsX3Bh cmFtcywgIiwiKTsNCj4gPj4+ICsNCj4gUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX1RPS0VOX1ZB TElEX09SX0dPVE9fRVJSX1JFVCh0b2tlbiwNCj4gPj4+ICsgLTEpOw0KPiA+Pj4gICAgICAgIHJ4 X2FkYXB0ZXJfaWQgPSBzdHJ0b3VsKHRva2VuLCBOVUxMLCAxMCk7DQo+ID4+PiAtICAgICBSVEVf RVZFTlRfRVRIX1JYX0FEQVBURVJfSURfVkFMSURfT1JfRVJSX1JFVChyeF9hZGFwdGVyX2lkLA0K PiAtRUlOVkFMKTsNCj4gPj4+ICsNCj4gPj4+ICsNCj4gUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVS X0lEX1ZBTElEX09SX0dPVE9fRVJSX1JFVChyeF9hZGFwdGVyX2lkLA0KPiA+Pj4gKyAtRUlOVkFM KTsNCj4gPj4+DQo+ID4+PiAgICAgICAgdG9rZW4gPSBzdHJ0b2soTlVMTCwgIiwiKTsNCj4gPj4+ IC0gICAgIGlmICh0b2tlbiA9PSBOVUxMIHx8IHN0cmxlbih0b2tlbikgPT0gMCB8fCAhaXNkaWdp dCgqdG9rZW4pKQ0KPiA+Pj4gLSAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ID4+PiArDQo+IFJU RV9FVkVOVF9FVEhfUlhfQURBUFRFUl9UT0tFTl9WQUxJRF9PUl9HT1RPX0VSUl9SRVQodG9rZW4s DQo+ID4+PiArIC0xKTsNCj4gPj4+DQo+ID4+PiAgICAgICAgLyogR2V0IGRldmljZSBJRCBmcm9t IHBhcmFtZXRlciBzdHJpbmcgKi8NCj4gPj4+ICAgICAgICBldGhfZGV2X2lkID0gc3RydG91bCh0 b2tlbiwgTlVMTCwgMTApOw0KPiA+Pj4gLSAgICAgUlRFX0VWRU5UREVWX1ZBTElEX0RFVklEX09S X0VSUl9SRVQoZXRoX2Rldl9pZCwgLUVJTlZBTCk7DQo+ID4+PiArICAgICBSVEVfRVRIX1ZBTElE X1BPUlRJRF9PUl9HT1RPX0VSUl9SRVQoZXRoX2Rldl9pZCwgLUVJTlZBTCk7DQo+ID4+Pg0KPiA+ Pj4gICAgICAgIHRva2VuID0gc3RydG9rKE5VTEwsICIsIik7DQo+ID4+PiAtICAgICBpZiAodG9r ZW4gPT0gTlVMTCB8fCBzdHJsZW4odG9rZW4pID09IDAgfHwgIWlzZGlnaXQoKnRva2VuKSkNCj4g Pj4+IC0gICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+Pj4gKw0KPiBSVEVfRVZFTlRfRVRIX1JY X0FEQVBURVJfVE9LRU5fVkFMSURfT1JfR09UT19FUlJfUkVUKHRva2VuLA0KPiA+Pj4gKyAtMSk7 DQo+ID4+Pg0KPiA+Pj4gICAgICAgIC8qIEdldCBSeCBxdWV1ZSBJRCBmcm9tIHBhcmFtZXRlciBz dHJpbmcgKi8NCj4gPj4+ICAgICAgICByeF9xdWV1ZV9pZCA9IHN0cnRvdWwodG9rZW4sIE5VTEws IDEwKTsNCj4gPj4+ICAgICAgICBpZiAocnhfcXVldWVfaWQgPj0gcnRlX2V0aF9kZXZpY2VzW2V0 aF9kZXZfaWRdLmRhdGEtPm5iX3J4X3F1ZXVlcykgew0KPiA+Pj4gICAgICAgICAgICAgICAgUlRF X0VERVZfTE9HX0VSUigiSW52YWxpZCByeCBxdWV1ZV9pZCAldSIsIHJ4X3F1ZXVlX2lkKTsNCj4g Pj4+IC0gICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4+PiArICAgICAgICAgICAgIHJl dCA9IC1FSU5WQUw7DQo+ID4+PiArICAgICAgICAgICAgIGdvdG8gZXJyb3I7DQo+ID4+PiAgICAg ICAgfQ0KPiA+Pj4NCj4gPj4+ICAgICAgICB0b2tlbiA9IHN0cnRvayhOVUxMLCAiXDAiKTsNCj4g Pj4+ICAgICAgICBpZiAodG9rZW4gIT0gTlVMTCkNCj4gPj4+ICAgICAgICAgICAgICAgIFJURV9F REVWX0xPR19FUlIoIkV4dHJhIHBhcmFtZXRlcnMgcGFzc2VkIHRvIGV2ZW50ZGV2Ig0KPiA+Pj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHRlbGVtZXRyeSBjb21tYW5kLCBpZ25v cmluZyIpOw0KPiA+Pj4gKyAgICAgLyogUGFyc2luZyBwYXJhbWV0ZXIgZmluaXNoZWQgKi8NCj4g Pj4+ICsgICAgIGZyZWUobF9wYXJhbXMpOw0KPiA+Pj4NCj4gPj4+ICAgICAgICBpZiAocnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlX3N0YXRzX2dldChyeF9hZGFwdGVyX2lkLA0KPiBldGhf ZGV2X2lkLA0KPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcnhfcXVldWVfaWQsDQo+ID4+PiAmcV9zdGF0cykpIHsgQEAgLTM0NDEsNiArMzQ3 NywxMCBAQCBoYW5kbGVfcnhhX2dldF9xdWV1ZV9zdGF0cyhjb25zdA0KPiBjaGFyICpjbWQgX19y dGVfdW51c2VkLA0KPiA+Pj4gICAgICAgIFJYQV9BRERfRElDVChxX3N0YXRzLCByeF9kcm9wcGVk KTsNCj4gPj4+DQo+ID4+PiAgICAgICAgcmV0dXJuIDA7DQo+ID4+PiArDQo+ID4+PiArZXJyb3I6 DQo+ID4+PiArICAgICBmcmVlKGxfcGFyYW1zKTsNCj4gPj4+ICsgICAgIHJldHVybiByZXQ7DQo+ ID4+PiAgIH0NCj4gPj4+DQo+ID4+PiAgIHN0YXRpYyBpbnQNCj4gPj4+IEBAIC0zNDUwLDcgKzM0 OTAsNyBAQCBoYW5kbGVfcnhhX3F1ZXVlX3N0YXRzX3Jlc2V0KGNvbnN0IGNoYXIgKmNtZA0KPiBf X3J0ZV91bnVzZWQsDQo+ID4+PiAgIHsNCj4gPj4+ICAgICAgICB1aW50OF90IHJ4X2FkYXB0ZXJf aWQ7DQo+ID4+PiAgICAgICAgdWludDE2X3QgcnhfcXVldWVfaWQ7DQo+ID4+PiAtICAgICBpbnQg ZXRoX2Rldl9pZDsNCj4gPj4+ICsgICAgIGludCBldGhfZGV2X2lkLCByZXQgPSAtMTsNCj4gPj4+ ICAgICAgICBjaGFyICp0b2tlbiwgKmxfcGFyYW1zOw0KPiA+Pj4NCj4gPj4+ICAgICAgICBpZiAo cGFyYW1zID09IE5VTEwgfHwgc3RybGVuKHBhcmFtcykgPT0gMCB8fA0KPiA+Pj4gIWlzZGlnaXQo KnBhcmFtcykpIEBAIC0zNDU4LDMzICszNDk4LDM3IEBADQo+ID4+PiBoYW5kbGVfcnhhX3F1ZXVl X3N0YXRzX3Jlc2V0KGNvbnN0IGNoYXIgKmNtZCBfX3J0ZV91bnVzZWQsDQo+ID4+Pg0KPiA+Pj4g ICAgICAgIC8qIEdldCBSeCBhZGFwdGVyIElEIGZyb20gcGFyYW1ldGVyIHN0cmluZyAqLw0KPiA+ Pj4gICAgICAgIGxfcGFyYW1zID0gc3RyZHVwKHBhcmFtcyk7DQo+ID4+PiArICAgICBpZiAobF9w YXJhbXMgPT0gTlVMTCkNCj4gPj4+ICsgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+ID4+ PiAgICAgICAgdG9rZW4gPSBzdHJ0b2sobF9wYXJhbXMsICIsIik7DQo+ID4+PiArDQo+IFJURV9F VkVOVF9FVEhfUlhfQURBUFRFUl9UT0tFTl9WQUxJRF9PUl9HT1RPX0VSUl9SRVQodG9rZW4sDQo+ ID4+PiArIC0xKTsNCj4gPj4+ICAgICAgICByeF9hZGFwdGVyX2lkID0gc3RydG91bCh0b2tlbiwg TlVMTCwgMTApOw0KPiA+Pj4gLSAgICAgUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX0lEX1ZBTElE X09SX0VSUl9SRVQocnhfYWRhcHRlcl9pZCwNCj4gLUVJTlZBTCk7DQo+ID4+PiArDQo+ID4+PiAr DQo+IFJURV9FVkVOVF9FVEhfUlhfQURBUFRFUl9JRF9WQUxJRF9PUl9HT1RPX0VSUl9SRVQocnhf YWRhcHRlcl9pZCwNCj4gPj4+ICsgLUVJTlZBTCk7DQo+ID4+Pg0KPiA+Pj4gICAgICAgIHRva2Vu ID0gc3RydG9rKE5VTEwsICIsIik7DQo+ID4+PiAtICAgICBpZiAodG9rZW4gPT0gTlVMTCB8fCBz dHJsZW4odG9rZW4pID09IDAgfHwgIWlzZGlnaXQoKnRva2VuKSkNCj4gPj4+IC0gICAgICAgICAg ICAgcmV0dXJuIC0xOw0KPiA+Pj4gKw0KPiBSVEVfRVZFTlRfRVRIX1JYX0FEQVBURVJfVE9LRU5f VkFMSURfT1JfR09UT19FUlJfUkVUKHRva2VuLA0KPiA+Pj4gKyAtMSk7DQo+ID4+Pg0KPiA+Pj4g ICAgICAgIC8qIEdldCBkZXZpY2UgSUQgZnJvbSBwYXJhbWV0ZXIgc3RyaW5nICovDQo+ID4+PiAg ICAgICAgZXRoX2Rldl9pZCA9IHN0cnRvdWwodG9rZW4sIE5VTEwsIDEwKTsNCj4gPj4+IC0gICAg IFJURV9FVkVOVERFVl9WQUxJRF9ERVZJRF9PUl9FUlJfUkVUKGV0aF9kZXZfaWQsIC1FSU5WQUwp Ow0KPiA+Pj4gKyAgICAgUlRFX0VUSF9WQUxJRF9QT1JUSURfT1JfR09UT19FUlJfUkVUKGV0aF9k ZXZfaWQsIC1FSU5WQUwpOw0KPiA+Pj4NCj4gPj4+ICAgICAgICB0b2tlbiA9IHN0cnRvayhOVUxM LCAiLCIpOw0KPiA+Pj4gLSAgICAgaWYgKHRva2VuID09IE5VTEwgfHwgc3RybGVuKHRva2VuKSA9 PSAwIHx8ICFpc2RpZ2l0KCp0b2tlbikpDQo+ID4+PiAtICAgICAgICAgICAgIHJldHVybiAtMTsN Cj4gPj4+ICsNCj4gUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX1RPS0VOX1ZBTElEX09SX0dPVE9f RVJSX1JFVCh0b2tlbiwNCj4gPj4+ICsgLTEpOw0KPiA+Pj4NCj4gPj4+ICAgICAgICAvKiBHZXQg UnggcXVldWUgSUQgZnJvbSBwYXJhbWV0ZXIgc3RyaW5nICovDQo+ID4+PiAgICAgICAgcnhfcXVl dWVfaWQgPSBzdHJ0b3VsKHRva2VuLCBOVUxMLCAxMCk7DQo+ID4+PiAgICAgICAgaWYgKHJ4X3F1 ZXVlX2lkID49IHJ0ZV9ldGhfZGV2aWNlc1tldGhfZGV2X2lkXS5kYXRhLT5uYl9yeF9xdWV1ZXMp IHsNCj4gPj4+ICAgICAgICAgICAgICAgIFJURV9FREVWX0xPR19FUlIoIkludmFsaWQgcnggcXVl dWVfaWQgJXUiLCByeF9xdWV1ZV9pZCk7DQo+ID4+PiAtICAgICAgICAgICAgIHJldHVybiAtRUlO VkFMOw0KPiA+Pj4gKyAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOw0KPiA+Pj4gKyAgICAgICAg ICAgICBnb3RvIGVycm9yOw0KPiA+Pj4gICAgICAgIH0NCj4gPj4+DQo+ID4+PiAgICAgICAgdG9r ZW4gPSBzdHJ0b2soTlVMTCwgIlwwIik7DQo+ID4+PiAgICAgICAgaWYgKHRva2VuICE9IE5VTEwp DQo+ID4+PiAgICAgICAgICAgICAgICBSVEVfRURFVl9MT0dfRVJSKCJFeHRyYSBwYXJhbWV0ZXJz IHBhc3NlZCB0byBldmVudGRldiINCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiB0ZWxlbWV0cnkgY29tbWFuZCwgaWdub3JpbmciKTsNCj4gPj4+ICsgICAgIC8qIFBhcnNp bmcgcGFyYW1ldGVyIGZpbmlzaGVkICovDQo+ID4+PiArICAgICBmcmVlKGxfcGFyYW1zKTsNCj4g Pj4+DQo+ID4+PiAgICAgICAgaWYgKHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9zdGF0 c19yZXNldChyeF9hZGFwdGVyX2lkLA0KPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRoX2Rldl9pZCwgQEANCj4gPj4+IC0zNDk0LDYg KzM1MzgsMTAgQEAgaGFuZGxlX3J4YV9xdWV1ZV9zdGF0c19yZXNldChjb25zdCBjaGFyICpjbWQN Cj4gX19ydGVfdW51c2VkLA0KPiA+Pj4gICAgICAgIH0NCj4gPj4+DQo+ID4+PiAgICAgICAgcmV0 dXJuIDA7DQo+ID4+PiArDQo+ID4+PiArZXJyb3I6DQo+ID4+PiArICAgICBmcmVlKGxfcGFyYW1z KTsNCj4gPj4+ICsgICAgIHJldHVybiByZXQ7DQo+ID4+PiAgIH0NCj4gPj4+DQo+ID4+PiAgIFJU RV9JTklUKHJ4YV9pbml0X3RlbGVtZXRyeSkNCj4gPj4+IC0tDQo+ID4+PiAyLjI1LjENCj4gPj4N Cj4gPg0KPiANCg0K