From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 25D13C433F5 for ; Mon, 13 Dec 2021 07:50:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=XisR3eEJeeYSwJ6B1E1wSeg76b9hEMv+WfwBYXPUYJI=; b=m7KgetiGtZK253VttsuRtnA3rR 6aazzRDdUGQ3Y4ZecAzsSiBlwB1J4ao7FQFqJkjlpMkmLYdF9GV5mo6XMddEjQCTubErcjCTN+6cv EhwrxZ1DQfLShPwzpems7zz0Q4t1quj5MbhYoYLZKXk4Cm494hja/z89tEPUP4fCg3ObIq3Ale+Z1 i9oPTvsm6gJGqJGSHWuJBWskLcY1kI2Gi6ZWDW3H19lBE5gNzqpMczDOuDrlIbdxNZRvLrDBYnUEj SSuBkna5++Fstl8V6iFZhXLFor3JFaw2XlMu4aD+gdOqgl4hpYBH9LGbSjsD2u996hXgw8SzWyS4r rQ5eWF7Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mwg6K-008AQY-Ia; Mon, 13 Dec 2021 07:50:24 +0000 Received: from mail-sn1anam02on2056.outbound.protection.outlook.com ([40.107.96.56] helo=NAM02-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mwg6H-008APW-2K for linux-nvme@lists.infradead.org; Mon, 13 Dec 2021 07:50:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fjfuao2hOsCh0nAjrg9FVcqwsq0HJIt60w6AO0+bMwEVbI9dF/3vS+A5mMx0otzaJsmukAmavXrO/1Poi86QN0kVQy4Qx2E/uwvxA5HKfHxi2WW/4OItn9UE1QGji6CJA1/QVTFcy+uPDFBh41TJci2hs6y8uL9S2TgGppABruthS/ibYv9QomrrDT2QeQ1soZcWTMLkw7p7Utl0D9Z5/0NRvUoDeNFGxfNfRzL+OH08VmpCGT/dLpyT3x+NVT6PrX8tTKdzU5N0et1kR1VoNc5aeli13f8rHmYJBNVZUrDkFK0D9LGXbPsa6sDGuci1Ii7CGXvy0bAsI8Ktj8sl9Q== 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=XisR3eEJeeYSwJ6B1E1wSeg76b9hEMv+WfwBYXPUYJI=; b=aB1RkhYLZPnxfHBn7iYDUubmmZqwBOWg6uej3dXjT7fcV9WI9sk2JFj5xTiHm4ui42L8VexvjJQuGkHxgMXHkJNBM6dzB4g2b00Suqkdh4m9WWoZzziCJ+DlxLzwmfJwzISvykJHLdy5IIVxU1bzZjFKUyb89nyb08Qu/ChmYhFrBhz+/st3spL/YKQZK9q/cfbX8XOlrcxyKlPX0IVPLrfNRDtUqYtyLCUE1QJHxCCgYwQl2Gw6uC7lII4ghjca6wZXUHeuwIDZdttADsuhOc8QoRHuQ4WBD5JA9DURG7pNg2MHrgv5uY+KdDQQ/qk9Hik1QAmM5DdKSTmgd3pBxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XisR3eEJeeYSwJ6B1E1wSeg76b9hEMv+WfwBYXPUYJI=; b=rTPW5RCU7ZPCUKPH8Q94BExq9yWenVpP5vUUsWfuNWBuWUIgZJKj7HqMGlE4QYcSCD20GpjNj11xF94yyGx6+SqvdpQvklt8pKZjPzlAm1IgjYerMwbMjhNiVsR3U5PPZedVVur1HaLnenUqxAK26bD8e/riefWG28BMXhAjqY74Pv8XwE/3f8mXSDAoHxpEYSYBbd1zs3F9gu9OwaBbY1QpLwZI5CSvhooiUKoLmhjBNyW2NhEMNk/Z2CV7t0FsNhxKZDPqX9ZdYAwy35j+6jPfFY3AcBheNstepJYYHifMdl1WjAe4ZzQVm9DS5B35Q9qOw+mJ3rH0R5/9t4arOw== Received: from MW2PR12MB4667.namprd12.prod.outlook.com (2603:10b6:302:12::28) by MW3PR12MB4361.namprd12.prod.outlook.com (2603:10b6:303:5a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.17; Mon, 13 Dec 2021 07:50:18 +0000 Received: from MW2PR12MB4667.namprd12.prod.outlook.com ([fe80::6df1:639d:74ea:d39e]) by MW2PR12MB4667.namprd12.prod.outlook.com ([fe80::6df1:639d:74ea:d39e%7]) with mapi id 15.20.4778.017; Mon, 13 Dec 2021 07:50:18 +0000 From: Chaitanya Kulkarni To: "wenxiong@linux.ibm.com" CC: "keith.busch@wdc.com" , "linux-nvme@lists.infradead.org" , "hare@suse.de" , "wenxiong@us.ibm.com" Subject: Re: [PATCH V2 1/5] nvme-cli: Decode "Supported Events Bitmap" in PEL header Thread-Topic: [PATCH V2 1/5] nvme-cli: Decode "Supported Events Bitmap" in PEL header Thread-Index: AQHX3KnroV7tRHsvyEu/tQWnxdm+hKwwMtAA Date: Mon, 13 Dec 2021 07:50:18 +0000 Message-ID: <4954eebd-e5b5-a293-fbfa-2c476c228d09@nvidia.com> References: <1637254648-19500-1-git-send-email-wenxiong@linux.ibm.com> <1637254648-19500-2-git-send-email-wenxiong@linux.ibm.com> In-Reply-To: <1637254648-19500-2-git-send-email-wenxiong@linux.ibm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6bc5cf09-1961-49c9-5a80-08d9be0d3519 x-ms-traffictypediagnostic: MW3PR12MB4361:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:439; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mx/cuK7u8msZQweD/i63kp4P/JznM37QHwMJVqGSbY04Jh8TKlt0hlJINK8sbS5nIDqEOvMlIpkKlq/Fg4quB82zlqKmFocxJ6Uxb/Fbk/SLFcoF/8UKOnro3xs+n4KO5QKDutd2AuDi9fV+1AxLiMzao1MqdWtzXNtZTkYKGosDGFaf+Nw/khGVOxFYC/tlWK55S3iaGY+U5Y+RTVpyOrtlsmkisz9hVVHL21ZEVcmxfUeIkXFsStQMkAIOxWCqEAqhRBSp2ceaQ3r60YobQuPn2xzcnV+HE1dvQWD5N4B5RTo+jBHmw/ZPGWnP1sNncNr8ASt7iP892p6lqQgAnzL11UVJd/Vy/AvepfgS9Ap9FwA5/SKOyMxbowgxY6RYnNQRXMYU1ecEW6xc8UFiXooCjLWsTjI6qi+bC2BuyC/kREhRNcO7BNnKGEbfw9f+o2mMnufgXGYDqfvTQcSNrlfZCHZgVqTr9Ctpzr2GVflUI3X4h12MZOKph+lx5RmS32iaTc4gZKtAyuprQ4oy2i62wljWl8W8cRfohmr2lgTYffTsQoJ8npkK9vCvvup09CNat/njhn9bDV+7vlm8fHWrPi/JCoh+voBStu8yUVkIQqoNi3sbo7QJuffs2WTF9j/zmelsXEJyEQHNqqCSkW6YM6+7AKsr3BaErsJihAAuOIc2iSTSg50rFL69wrR+7LqShZOiLZrRX3Wuzol2UoF7h1SQ1TR1p4JjSctqiqhgW7AI8B0hp1UQdeRii75+35jealAFW7Xo5HDKELTlYQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4667.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(186003)(6916009)(38100700002)(6512007)(8936002)(54906003)(6486002)(508600001)(83380400001)(316002)(31696002)(8676002)(66476007)(66556008)(31686004)(122000001)(53546011)(71200400001)(2906002)(6506007)(38070700005)(86362001)(36756003)(76116006)(64756008)(66946007)(5660300002)(4326008)(66446008)(91956017)(2616005)(43740500002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SWZKU3p2WlprUGNsUU00UVFJZzJyeldFamFlZEFYSXZRc29aRFgrR0d4SWhw?= =?utf-8?B?QlNFRjZGSWRTTGhOakJ4My9UckswYUZhVnUycGgxRmpDcTVmR0RPaEE4akZi?= =?utf-8?B?bEk0VlVJNXB1aVBiNWFkbjlBWktTQm02QUNhbkQwTU5RUFlLU01qVXlxT1JH?= =?utf-8?B?Nml0djhLTEFLdXpnNEsyaTFlaVRsdlp4SUpqNm5NSGRtYmNId0xtbnJ6ekdJ?= =?utf-8?B?QVhnQVVaV3VGTmR6bFRtZDE2clh5OGFaQzF1VUJ1ajRyWitZSXVSNkJGVTdm?= =?utf-8?B?dU1xSmQvdThPUWI2cEdvLytmaE96R25PN29panJRdDJpUWpETG1xL3NqdlVm?= =?utf-8?B?RGNLUFNadmxnN3JCVlUzUFdlMU9JYnlhclBLNnFRZTV3NUs4RXl5Y2NJZEkv?= =?utf-8?B?NkcyQjJJYkd1aFdLK1JqMWx3V2JDdnRHUm9xTU8ybEtUeURreUJHblA2L3dG?= =?utf-8?B?YkJsbDVNNTJYcHk3bElKZVNwa002bldZOXpyM1RXaXBOK0tOSlRPRFBwWktW?= =?utf-8?B?RkhhYklYU2E4WGtuVTJTMytPNDByR1ZYc29Fcjd3QmV2Um9jTlhIemJYeUxn?= =?utf-8?B?bHJqa2o0Q2tWcC8rQjJHQVJNVit4aVJDbDEzdHRwSkVlUGJNK3JWSmhIYlB3?= =?utf-8?B?TXJlN29YYTMxSGJ3UExINTZ6bkYxSXRZOUVYUGlRMlFaT2tJVEcrWUJsakRv?= =?utf-8?B?S0JKWlBxUlBCbW9DTlJRMDE5VXFkTGlnRTNiK2lVMGxyb211dTlzNDJwOXlM?= =?utf-8?B?Q1I1ZEhqSlZSUTZoakUrbEhzZjFOT3k5OFFQRkZscFZ1SENaeHphTUw1Wnhv?= =?utf-8?B?RWJMZnNOK0JUZHQzYkdQcXo0ek94WnBtT01GakF5QWlsMXBoUHZrbGJ4ZTU4?= =?utf-8?B?SHpRRElnejdRS2lHWHZWakJaeUZXT0laQUI3VXErV3BoR3JMNFVHb2Q0NlBa?= =?utf-8?B?VTk4YjgzUjk2bVJtVWxncGowYW56VGUrWjA2SC9zWUJIcVd1SFA2RW5QUmE0?= =?utf-8?B?MzhKZ0lJcW5qY2MvbHNIcWgvZUdXSjU2ZkwwYy9ndnhxMExRZEJPdC9pRmZa?= =?utf-8?B?bTMrcGZpS09mL1J6dXkwZElCZjhyOE1QeFhkSTJjRVIzbnNhbi82MUVuNmQx?= =?utf-8?B?c2pVWkNUUGFOaEVwWThGVnR0Kzcwelp0b2ZQekR1T3dpaDh0TUhxR3M5N1lz?= =?utf-8?B?QldZT1JxUXlHd0djZkJOYTM0YUd1ODhtZUVDMXlnanNxOFUvZldiSThtSHhR?= =?utf-8?B?ZUZIRUtvUjlJTzBvb3h3d3Q1bFdDd3F1ZU5DZGkzaHA5aWY4a2NkeDd4cXRW?= =?utf-8?B?cWZvbFpjMzJGTnFkSkI1emtZUmpMUkF0OUlvOHN4Q0FZbVNOMUVEMkpEaEhn?= =?utf-8?B?V0QzcXFrSmdiVGhuM0dDbjg2eUVHN3NocG1JY0xSdDhkNHpxdEpNeVlDMFFv?= =?utf-8?B?YzJSdytaejJBdCtOcVBuMG15ekM0UWlTMk0zeTByRHlEL2pXQVRDbkRRUnpC?= =?utf-8?B?ck40S1ZJakNUTWxQYkMrVFQzaWtkc1VNbzB5ZHZvalpHd0kxWVpsQ2R0Y3N4?= =?utf-8?B?dWphMUpFQ0NxMVBqNFRKT1ZTQ0lGWmV5WURHUUZLWWFTTlRRM09DdVVoYTMz?= =?utf-8?B?aVM4YkR6WS9QQVZRdDhpT1MxSE1xWlVNQ1JVaEJWTUFtY3ByRk1wK1VUUEVx?= =?utf-8?B?L1NQUW1aWXJxSyt6RVFhcDRIU25FeDV6eGRpZllvWmNJVVFxQktEKyt0N21i?= =?utf-8?B?QURLM0xTUnpmMUlWS0pIZVdrVUk3K3JNOWNoay9sVVVNU1dYZk93UlJ4VFNZ?= =?utf-8?B?bnVPS2xCRkhJQ3R0Q245a0xYbDFyVXp4dXZ1V0RSUkhqVzIxSHlrbENVZkdo?= =?utf-8?B?L2J5Y3pFSkZ2UUVSRVpnbktsTldDYnZVZmZLcmIzdWE1YUo3ajdkTzJYTHRH?= =?utf-8?B?Sk1rbGNMVEdzYWtYS0xyVGJlUC8weHdkRGk2VStheXh0QTJ0NEhGbFczVEtC?= =?utf-8?B?UnhzbnMvbXVFRjVhWDV5UFFDSFFFV3UvdkxwdmtvaVdtTlMzaFZSTDlSZmJp?= =?utf-8?B?bTJhQUprK3FXNWRUTXFjM3NCd2FpTDcyelR2QUJtc3J6UDJjUmxzbTZzcVlO?= =?utf-8?B?blFzYlNnM0xNT29TTDg2ZUkxa2Q0c2hkNHh0eHRFYWF3MkJMMDMvQ2dUTDZw?= =?utf-8?Q?q8qobkkMpzpytCc018p8e0JexZwTMZShrbWklALBge7D?= Content-Type: text/plain; charset="utf-8" Content-ID: <9D63E2DA5E01F24DBAC6059D2473B69E@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4667.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6bc5cf09-1961-49c9-5a80-08d9be0d3519 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2021 07:50:18.3542 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ueynLFtx8niKSgqsFeg2RFHNAPAjedjOpPT4NYDg4nvcHJa+S2Pitm9ENX3E6d3hYwpBAXROj8+YVPhJCtwsrA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4361 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211212_235021_191183_85E3171C X-CRM114-Status: GOOD ( 22.03 ) X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org T24gMTEvMTgvMjEgODo1NyBBTSwgd2VueGlvbmdAbGludXguaWJtLmNvbSB3cm90ZToNCj4gRXh0 ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4g DQo+IA0KPiBGcm9tOiBXZW4gWGlvbmcgPHdlbnhpb25nQGxpbnV4LmlibS5jb20+DQo+IA0KPiAi U3VwcG9ydGVkIEV2ZW50cyBCaXRtYXAiIGluIFBFTCBoZWFkZXIgc2hvd3Mgd2hhdCBldmVudHMN Cj4gYXJlIHN1cHBvcnRlZCBpbiBjdXJyZW50IG52bWUgZGV2aWNlcy4NCj4gDQo+IFBlcnNpc3Rl bnQgRXZlbnQgTG9nIGZvciBkZXZpY2U6IG52bWUwbjENCj4gQWN0aW9uIGZvciBQZXJzaXN0ZW50 IEV2ZW50IExvZzogMA0KPiAuLg0KPiAuLg0KPiAuLg0KPiBTdXBwb3J0ZWQgRXZlbnRzIEJpdG1h cDoNCj4gICAgICAgICAgU3VwcG9ydCBTTUFSVC9IZWFsdGggTG9nIFNuYXBzaG90IEV2ZW50KDB4 MSkNCg0KU3VwcG9ydCB3b3JkIGlzIGR1cGxpY2F0ZSBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUNCiJT dXBwb3J0ZWQgRXZlbnRzIEJpdG1hcCIgaW4gdGhlIGhlYWRlciBvZiB0aGlzIG1lc3NhZ2UuDQoN Cj4gICAgICAgICAgU3VwcG9ydCBGaXJtd2FyZSBDb21taXQgRXZlbnQoMHgyKQ0KPiAgICAgICAg ICBTdXBwb3J0IFRpbWVzdGFtcCBDaGFuZ2UgRXZlbnQoMHgzKQ0KPiAgICAgICAgICBTdXBwb3J0 IFBvd2VyLW9uIG9yIFJlc2V0IEV2ZW50KDB4NCkNCj4gICAgICAgICAgU3VwcG9ydCBOVk0gU3Vi c3lzdGVtIEhhcmR3YXJlIEVycm9yIEV2ZW50KDB4NSkNCj4gICAgICAgICAgU3VwcG9ydCBDaGFu Z2UgTmFtZXNwYWNlIEV2ZW50KDB4NikNCj4gICAgICAgICAgU3VwcG9ydCBGb3JtYXQgTlZNIFN0 YXJ0IEV2ZW50KDB4NykNCj4gICAgICAgICAgU3VwcG9ydCBGb3JtYXQgTlZNIENvbXBsZXRpb24g RXZlbnQoMHg4KQ0KPiAgICAgICAgICBTdXBwb3J0IFNhbml0aXplIFN0YXJ0IEV2ZW50KDB4OSkN Cj4gICAgICAgICAgU3VwcG9ydCBTYW5pdGl6ZSBDb21wbGV0aW9uIEV2ZW50KDB4YSkNCj4gICAg ICAgICAgU3VwcG9ydCBTZXQgRmVhdHVyZSBFdmVudCgweGIpDQo+ICAgICAgICAgIFN1cHBvcnQg U2V0IFRlbGVtZXRyeSBDUlQgIEV2ZW50KDB4YykNCj4gICAgICAgICAgU3VwcG9ydCBUaGVybWFs IEV4Y3Vyc2lvbiBFdmVudCgweGQpDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBXZW4gWGlvbmcgPHdl bnhpb25nQGxpbnV4LmlibS5jb20+DQo+IC0tLQ0KPiAgIG52bWUtcHJpbnQuYyB8IDUyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0NCj4gICBudm1l LmMgICAgICAgfCAgNCArKy0tDQo+ICAgMiBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCsp LCA4IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL252bWUtcHJpbnQuYyBiL252bWUt cHJpbnQuYw0KPiBpbmRleCAxNTU2YjUyLi4xYjQxOWI3IDEwMDY0NA0KPiAtLS0gYS9udm1lLXBy aW50LmMNCj4gKysrIGIvbnZtZS1wcmludC5jDQo+IEBAIC0xMDUzLDYgKzEwNTMsMjYgQEAgdm9p ZCBudm1lX3Nob3dfcHJlZGljdGFibGVfbGF0ZW5jeV9ldmVudF9hZ2dfbG9nKA0KPiAgICAgICAg ICB9DQo+ICAgfQ0KPiANCj4gK2NvbnN0IGNoYXIgKm52bWVfcGVsX2V2ZW50X3RvX3N0cmluZyhp bnQgdHlwZSkNCj4gK3sNCg0KdHlwZSBzaG91bGQgYmUgYSB0eXBlIG9mIGVudW0gbnZtZV9wZXJz aXN0ZW50X2V2ZW50X3R5cGVzLA0KaXMgdGhlcmUgYSByZWFzb24gaXRzIHR5cGUgaXMgaW50ID8N Cg0KPiArICAgICAgIHN3aXRjaCAodHlwZSkgew0KPiArICAgICAgIGNhc2UgTlZNRV9QRUxfU01B UlRfSEVBTFRIX0VWRU5UOiAgICAgICByZXR1cm4gIlNNQVJUL0hlYWx0aCBMb2cgU25hcHNob3Qg RXZlbnQoMHgxKSI7DQo+ICsgICAgICAgY2FzZSBOVk1FX1BFTF9GV19DT01NSVRfRVZFTlQ6ICBy ZXR1cm4gIkZpcm13YXJlIENvbW1pdCBFdmVudCgweDIpIjsNCj4gKyAgICAgICBjYXNlIE5WTUVf UEVMX1RJTUVTVEFNUF9FVkVOVDogIHJldHVybiAiVGltZXN0YW1wIENoYW5nZSBFdmVudCgweDMp IjsNCj4gKyAgICAgICBjYXNlIE5WTUVfUEVMX1BPV0VSX09OX1JFU0VUX0VWRU5UOiAgICAgcmV0 dXJuICJQb3dlci1vbiBvciBSZXNldCBFdmVudCgweDQpIjsNCj4gKyAgICAgICBjYXNlIE5WTUVf UEVMX05TU19IV19FUlJPUl9FVkVOVDogICAgICAgcmV0dXJuICJOVk0gU3Vic3lzdGVtIEhhcmR3 YXJlIEVycm9yIEV2ZW50KDB4NSkiOw0KPiArICAgICAgIGNhc2UgTlZNRV9QRUxfQ0hBTkdFX05T X0VWRU5UOiAgcmV0dXJuICJDaGFuZ2UgTmFtZXNwYWNlIEV2ZW50KDB4NikiOw0KPiArICAgICAg IGNhc2UgTlZNRV9QRUxfRk9STUFUX1NUQVJUX0VWRU5UOiAgICAgICByZXR1cm4gIkZvcm1hdCBO Vk0gU3RhcnQgRXZlbnQoMHg3KSI7DQo+ICsgICAgICAgY2FzZSBOVk1FX1BFTF9GT1JNQVRfQ09N UExFVElPTl9FVkVOVDogIHJldHVybiAiRm9ybWF0IE5WTSBDb21wbGV0aW9uIEV2ZW50KDB4OCki Ow0KPiArICAgICAgIGNhc2UgTlZNRV9QRUxfU0FOSVRJWkVfU1RBUlRfRVZFTlQ6ICAgICByZXR1 cm4gIlNhbml0aXplIFN0YXJ0IEV2ZW50KDB4OSkiOw0KPiArICAgICAgIGNhc2UgTlZNRV9QRUxf U0FOSVRJWkVfQ09NUExFVElPTl9FVkVOVDogICAgICAgIHJldHVybiAiU2FuaXRpemUgQ29tcGxl dGlvbiBFdmVudCgweGEpIjsNCj4gKyAgICAgICBjYXNlIE5WTUVfUEVMX1NFVF9GRUFUVVJFX0VW RU5UOiAgICAgICAgcmV0dXJuICJTZXQgRmVhdHVyZSBFdmVudCgweGIpIjsNCj4gKyAgICAgICBj YXNlIE5WTUVfUEVMX1RFTEVNRVRSWV9DUlQ6ICAgICAgICAgICAgcmV0dXJuICJTZXQgVGVsZW1l dHJ5IENSVCAgRXZlbnQoMHhjKSI7DQo+ICsgICAgICAgY2FzZSBOVk1FX1BFTF9USEVSTUFMX0VY Q1VSU0lPTl9FVkVOVDogIHJldHVybiAiVGhlcm1hbCBFeGN1cnNpb24gRXZlbnQoMHhkKSI7DQo+ ICsgICAgICAgZGVmYXVsdDogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsNCj4g KyAgICAgICB9DQo+ICt9DQo+ICsNCj4gICBzdGF0aWMgY29uc3QgY2hhciAqbnZtZV9zaG93X25z c19od19lcnJvcihfX3UxNiBlcnJvcl9jb2RlKQ0KPiAgIHsNCj4gICAgICAgICAgc3dpdGNoIChl cnJvcl9jb2RlKSB7DQo+IEBAIC0xMDgxLDYgKzExMDEsMjkgQEAgc3RhdGljIGNvbnN0IGNoYXIg Km52bWVfc2hvd19uc3NfaHdfZXJyb3IoX191MTYgZXJyb3JfY29kZSkNCj4gICAgICAgICAgfQ0K PiAgIH0NCj4gDQo+ICt2b2lkIGFkZF9iaXRtYXAoaW50IGksIF9fdTggc2ViLCBzdHJ1Y3QganNv bl9vYmplY3QgKnJvb3QsIGludCBqc29uX2ZsYWcpDQo+ICt7DQo+ICsgICAgICAgY2hhciBldnRf c3RyWzUwXTsNCj4gKyAgICAgICBjaGFyIGtleVsxMjhdOw0KPiArDQoNCmRvIHdlIG5lZWQgdG8g aW5pdGlhbGl6ZSBhYm92ZSBhcnJheXMgdG8gMHMgPw0KDQo+ICsgICAgICAgZm9yIChpbnQgYml0 ID0gMDsgYml0IDwgODsgYml0KyspIHsNCj4gKyAgICAgICAgICAgICAgIGlmIChudm1lX3BlbF9l dmVudF90b19zdHJpbmcoYml0ICsgaSAqIDgpKSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAg IGlmIChqc29uX2ZsYWcgPT0gMSkgew0KDQpJZiBqc29uX2ZsYWcgaXMgZ29pbmcgdG8gdGFrZSBv bmx5IHR3byB2YWx1ZXMgdGhlbiBpdHMgdHlwZSBzaG91bGQgYmUNCmJvb2wuDQoNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzcHJpbnRmKGtleSwgImJpdG1hcF8leCIsIChiaXQg KyBpICogOCkpOw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoc2ViID4+ IGJpdCkgJiAweDEpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz bnByaW50ZihldnRfc3RyLCBzaXplb2YoZXZ0X3N0ciksICJTdXBwb3J0ICVzIiwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnZtZV9wZWxfZXZlbnRf dG9fc3RyaW5nKGJpdCArIGkgKiA4KSk7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAganNvbl9vYmplY3RfYWRkX3ZhbHVlX3N0cmluZyhyb290LCBrZXksIGV2dF9zdHIpOw0KPiAr ICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlmIChudm1lX3BlbF9ldmVudF90b19zdHJpbmcoYml0ICsgaSAqIDgpKQ0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChzZWIgPj4gYml0KSAm IDB4MSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cHJpbnRmKCIgICAgICAgIFN1cHBvcnQgJXNcbiIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnZtZV9wZWxfZXZlbnRfdG9fc3RyaW5n KGJpdCArIGkgKiA4KSk7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAg ICAgICAgIH0NCj4gKyAgICAgICB9DQo+ICt9DQo+ICsNCj4gICB2b2lkIGpzb25fcGVyc2lzdGVu dF9ldmVudF9sb2codm9pZCAqcGV2ZW50X2xvZ19pbmZvLCBfX3UzMiBzaXplKQ0KPiAgIHsNCj4g ICAgICAgICAgc3RydWN0IGpzb25fb2JqZWN0ICpyb290Ow0KPiBAQCAtMTE1MSw5ICsxMTk0LDcg QEAgdm9pZCBqc29uX3BlcnNpc3RlbnRfZXZlbnRfbG9nKHZvaWQgKnBldmVudF9sb2dfaW5mbywg X191MzIgc2l6ZSkNCj4gICAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDMyOyBp KyspIHsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwZXZlbnRfbG9nX2hlYWQtPnNl YltpXSA9PSAwKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsN Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgc3ByaW50ZihrZXksICJiaXRtYXBfJWQiLCBpKTsN Cj4gLSAgICAgICAgICAgICAgICAgICAgICAganNvbl9vYmplY3RfYWRkX3ZhbHVlX3VpbnQocm9v dCwga2V5LA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBldmVudF9sb2dfaGVh ZC0+c2ViW2ldKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgYWRkX2JpdG1hcChpLCBwZXZl bnRfbG9nX2hlYWQtPnNlYltpXSwgcm9vdCwgMSk7DQo+ICAgICAgICAgICAgICAgICAgfQ0KPiAg ICAgICAgICB9IGVsc2Ugew0KPiAgICAgICAgICAgICAgICAgIHByaW50ZigiTm8gbG9nIGRhdGEg Y2FuIGJlIHNob3duIHdpdGggdGhpcyBsb2cgbGVuIGF0IGxlYXN0ICIgXA0KPiBAQCAtMTQ3OSwx MiArMTUyMCwxMSBAQCB2b2lkIG52bWVfc2hvd19wZXJzaXN0ZW50X2V2ZW50X2xvZyh2b2lkICpw ZXZlbnRfbG9nX2luZm8sDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBsZTMyX3RvX2NwdShw ZXZlbnRfbG9nX2hlYWQtPnJjaSkpOw0KPiAgICAgICAgICAgICAgICAgIGlmIChodW1hbikNCj4g ICAgICAgICAgICAgICAgICAgICAgICAgIG52bWVfc2hvd19wZXJzaXN0ZW50X2V2ZW50X2xvZ19y Y2kocGV2ZW50X2xvZ19oZWFkLT5yY2kpOw0KPiAtICAgICAgICAgICAgICAgcHJpbnRmKCJTdXBw b3J0ZWQgRXZlbnRzIEJpdG1hcDogIik7DQo+ICsgICAgICAgICAgICAgICBwcmludGYoIlN1cHBv cnRlZCBFdmVudHMgQml0bWFwOiBcbiIpOw0KPiAgICAgICAgICAgICAgICAgIGZvciAoaW50IGkg PSAwOyBpIDwgMzI7IGkrKykgew0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBldmVu dF9sb2dfaGVhZC0+c2ViW2ldID09IDApDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnRpbnVlOw0KPiAtICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIiAgQml0TWFw WyVkXSBpcyAweCV4XG4iLCBpLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBl dmVudF9sb2dfaGVhZC0+c2ViW2ldKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgYWRkX2Jp dG1hcChpLCBwZXZlbnRfbG9nX2hlYWQtPnNlYltpXSwgTlVMTCwgMCk7DQo+ICAgICAgICAgICAg ICAgICAgfQ0KPiAgICAgICAgICB9IGVsc2Ugew0KPiAgICAgICAgICAgICAgICAgIHByaW50Zigi Tm8gbG9nIGRhdGEgY2FuIGJlIHNob3duIHdpdGggdGhpcyBsb2cgbGVuIGF0IGxlYXN0ICIgXA0K PiBkaWZmIC0tZ2l0IGEvbnZtZS5jIGIvbnZtZS5jDQo+IGluZGV4IDZlYmZhOTIuLmE2OGRiNmMg MTAwNjQ0DQo+IC0tLSBhL252bWUuYw0KPiArKysgYi9udm1lLmMNCj4gQEAgLTQ5MjIsNyArNDky Miw3IEBAIHN0YXRpYyBpbnQgZHNtKGludCBhcmdjLCBjaGFyICoqYXJndiwgc3RydWN0IGNvbW1h bmQgKmNtZCwgc3RydWN0IHBsdWdpbiAqcGx1Z2luDQo+IA0KPiAgICAgICAgICBuYyA9IGFyZ2Nv bmZpZ19wYXJzZV9jb21tYV9zZXBfYXJyYXkoY2ZnLmN0eF9hdHRycywgKGludCAqKWN0eF9hdHRy cywgQVJSQVlfU0laRShjdHhfYXR0cnMpKTsNCj4gICAgICAgICAgbmIgPSBhcmdjb25maWdfcGFy c2VfY29tbWFfc2VwX2FycmF5KGNmZy5ibG9ja3MsIChpbnQgKilubGJzLCBBUlJBWV9TSVpFKG5s YnMpKTsNCj4gLSAgICAgICBucyA9IGFyZ2NvbmZpZ19wYXJzZV9jb21tYV9zZXBfYXJyYXlfbG9u ZyhjZmcuc2xiYXMsIHNsYmFzLCBBUlJBWV9TSVpFKHNsYmFzKSk7DQo+ICsgICAgICAgbnMgPSBh cmdjb25maWdfcGFyc2VfY29tbWFfc2VwX2FycmF5X2xvbmcoY2ZnLnNsYmFzLCAobG9uZyBsb25n IHVuc2lnbmVkIGludCAqKXNsYmFzLCBBUlJBWV9TSVpFKHNsYmFzKSk7DQo+ICAgICAgICAgIG5y ID0gbWF4KG5jLCBtYXgobmIsIG5zKSk7DQo+ICAgICAgICAgIGlmICghbnIgfHwgbnIgPiAyNTYp IHsNCj4gICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk5vIHJhbmdlIGRlZmluaXRp b24gcHJvdmlkZWRcbiIpOw0KPiBAQCAtNTA2Nyw3ICs1MDY3LDcgQEAgc3RhdGljIGludCBjb3B5 KGludCBhcmdjLCBjaGFyICoqYXJndiwgc3RydWN0IGNvbW1hbmQgKmNtZCwgc3RydWN0IHBsdWdp biAqcGx1Z2kNCj4gICAgICAgICAgICAgICAgICB9DQo+ICAgICAgICAgIH0NCj4gDQo+IC0gICAg ICAgbnZtZV9pbml0X2NvcHlfcmFuZ2UoY29weSwgbmxicywgc2xiYXMsIGVpbGJydHMsIGVsYmF0 bXMsIGVsYmF0cywgbnIpOw0KPiArICAgICAgIG52bWVfaW5pdF9jb3B5X3JhbmdlKGNvcHksIG5s YnMsIChfX3U2NCAqKXNsYmFzLCBlaWxicnRzLCBlbGJhdG1zLCBlbGJhdHMsIG5yKTsNCj4gDQo+ ICAgICAgICAgIGVyciA9IG52bWVfY29weShmZCwgY2ZnLm5hbWVzcGFjZV9pZCwgY29weSwgY2Zn LnNkbGJhLCBuciwgY2ZnLnByaW5mb3IsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBjZmcu cHJpbmZvdywgY2ZnLmR0eXBlLCBjZmcuZHNwZWMsIGNmZy5mb3JtYXQsIGNmZy5sciwNCj4gLS0N Cj4gMi4yNy4wDQo+IA0KDQo=