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 849C5A0548; Thu, 22 Apr 2021 23:27:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0A8E5410DB; Thu, 22 Apr 2021 23:27:30 +0200 (CEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10067.outbound.protection.outlook.com [40.107.1.67]) by mails.dpdk.org (Postfix) with ESMTP id 8B3FC40F35 for ; Thu, 22 Apr 2021 23:27:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1n/5SlAp0QDsBDaGihrdoDD/1RHybYMKVidTqTldxhQ=; b=1xgbbEfqhr+rlvYMsMcTfdkIyb+K8KP+k7xtct2fkJTQ5/z0Qe04mESxbdayp7WkJcE1eV1rrDiZo4l6LCHFnzx8f0H62h3wKueuJjPc484oih3oSjxk2JV8kax4PN6YlTpWSfRtcISmJaal/9Vh2bZObkWAB5/UnUA9rSbI+tk= Received: from AS8PR04CA0157.eurprd04.prod.outlook.com (2603:10a6:20b:331::12) by AS8PR08MB5976.eurprd08.prod.outlook.com (2603:10a6:20b:299::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.21; Thu, 22 Apr 2021 21:27:18 +0000 Received: from VE1EUR03FT056.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:331:cafe::2d) by AS8PR04CA0157.outlook.office365.com (2603:10a6:20b:331::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.21 via Frontend Transport; Thu, 22 Apr 2021 21:27:18 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT056.mail.protection.outlook.com (10.152.19.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.21 via Frontend Transport; Thu, 22 Apr 2021 21:27:17 +0000 Received: ("Tessian outbound 700fd1fc53d5:v90"); Thu, 22 Apr 2021 21:27:17 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 9408eb9fae502a76 X-CR-MTA-TID: 64aa7808 Received: from b4dfda4dc038.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 6CF02C5D-965C-42A6-B540-F5FCE5C7346F.1; Thu, 22 Apr 2021 21:27:07 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b4dfda4dc038.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 22 Apr 2021 21:27:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EYPkr0sl4+FY7IzFsDNSuODcDS2urHboSoRBG92w5Lqpy3IPjbiNHwKQ93ovnnJM1I5kJ5tvSXq0C5qOqZ/rPU8AeoUi3F0LCVI1/8CV57e/rGy5uSwGBGgN2sTGdTodF+kjHFttbVvzOgyGnS8y9UFblU+sHYVLlykrJeIWHdoCqQfVjlsc0dxd0uWo0ufDi+peyQAyg1QD+92QEggaWlurpiHl1l7Afd8H170pb1Tnbxec5U14my0UBm0IOgmiOTi2aXPqGo66aE1X98PpfqGKvuJC9qQw56DcYm7+2fITw1ZnKbR8YEdo34N2284sz+BAld/sBHSpsoeWtkKpVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1n/5SlAp0QDsBDaGihrdoDD/1RHybYMKVidTqTldxhQ=; b=mtMWNOhTo3nBmDzAaYLi17xBlFUeqrdyynHiMnL/9uEldxeidc+jeYIdWa6tsSLP/O0soKd5NTEd9pimOHOmUZOFqQgPMEdMmSjeEbxwzanlRu9im/+r6RZshWTQUL1vS63ii7ehbqlnN6JyVcJhy53vWJy0SJaAYG7Afur2bbNjOX6VAFJrI7+TbMcylrr8BW7/9JNWuxmpVuqoAphE21ahlIQgx4OGkYXxVGi8uYTPI9IBMpD89vtK8qqDPdS6ifOqxs9hKTK5SikBeHgZ8mJbj0ghffof7XvWvK1f2OuXpyXIogE60u3QRBlQrYEBM45D7+jsAYGliVAFoygd0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1n/5SlAp0QDsBDaGihrdoDD/1RHybYMKVidTqTldxhQ=; b=1xgbbEfqhr+rlvYMsMcTfdkIyb+K8KP+k7xtct2fkJTQ5/z0Qe04mESxbdayp7WkJcE1eV1rrDiZo4l6LCHFnzx8f0H62h3wKueuJjPc484oih3oSjxk2JV8kax4PN6YlTpWSfRtcISmJaal/9Vh2bZObkWAB5/UnUA9rSbI+tk= Received: from VI1PR08MB4622.eurprd08.prod.outlook.com (2603:10a6:803:bc::17) by VI1PR08MB3024.eurprd08.prod.outlook.com (2603:10a6:803:45::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.23; Thu, 22 Apr 2021 21:27:02 +0000 Received: from VI1PR08MB4622.eurprd08.prod.outlook.com ([fe80::5dfd:11c6:9af8:555c]) by VI1PR08MB4622.eurprd08.prod.outlook.com ([fe80::5dfd:11c6:9af8:555c%2]) with mapi id 15.20.4065.021; Thu, 22 Apr 2021 21:27:02 +0000 From: Dharmik Thakkar To: Olivier Matz CC: Andrew Rybchenko , dev , nd , Joyce Kong , "Kinsella, Ray" , Honnappa Nagarahalli Thread-Topic: [PATCH v3 2/2] lib/mempool: distinguish debug counters from cache and pool Thread-Index: AQHXNXlQhPSt8Y2mmEOyQHUhfw2v9qq/LBgAgAHlbIA= Date: Thu, 22 Apr 2021 21:27:02 +0000 Message-ID: References: <20210318112022.10510-1-joyce.kong@arm.com> <20210420000800.1504-1-dharmik.thakkar@arm.com> <20210420000800.1504-3-dharmik.thakkar@arm.com> <20210421162938.GG1726@platinum> In-Reply-To: <20210421162938.GG1726@platinum> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: 6wind.com; dkim=none (message not signed) header.d=none;6wind.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [72.182.76.215] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: f1d49a4e-c56a-41fc-8158-08d905d567d5 x-ms-traffictypediagnostic: VI1PR08MB3024:|AS8PR08MB5976: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: puQzTPr2F8zJf7fkRLH8o+dz26GasqzDppQUFi9WaHpVQzF616uD8ejh6JokWFFz72w7QZfzcLOqDBgudVpP4q/HYWObLBCp4kWtL/7jRToyiSwkmBQWkE7ziysAJwtHrZ5052Yeh8WMOb8ciM7rFGYsTtcODKITAYb1FnAKbv0KWQThFahzhlO/4NM2svQ7VaMgUjKBR0JMLwh9qfpl+2w8ISSZvmTT3eX9/Oj865eAE1Ds19cpH6Nq1GWEq8h/YHr7Dmq3UGIKj2rejD5xOBBxNIYHzlo5WJiaKEwIX0BC3flhgwgLw97DmhjiHdLs2RFko9c6lvKLdFPcNzmot0cwb4WrySNi7PzvmsqJ9zaC6gF8eFP+apTZ6faCiyHny8u39MuUS1Bl+vzEQvZT6q8C1RNsl4oe6kcHl4H7FtQ0jTApA+2GnMoOb1pGVd0dRznPG4tnFm8d9Tq/DxhwRXAsqcKpm+2IJ/oJ2v7ryKCcwYxkuLocjcHdND66veEe+dtZocTRMYSY0TioNQ6esDj5pXIW3ILLTYLAFiodTZuGnWw+pph5sTAOQB/z0eJxS3mHAbpKVA7FHGWVacMtGo167pE0f6cUlhSqNF+HXbWYUKYvCXVeUVbIFmspZpVxbXxrsXz1aKJ0epXbr7ZUXyVxSwuN+5bQmzJv5ryHGoM= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB4622.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(136003)(366004)(39860400002)(376002)(66946007)(66476007)(76116006)(64756008)(122000001)(66446008)(38100700002)(53546011)(66556008)(6486002)(6512007)(2906002)(186003)(71200400001)(6506007)(91956017)(478600001)(86362001)(26005)(4326008)(8936002)(33656002)(316002)(8676002)(36756003)(6916009)(5660300002)(83380400001)(2616005)(54906003)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?dlFFOHAxZXk3WFRISm83NjVMc1BFK3ZSYXN5VTVBRUJRWTNTRFlsL3RZNytw?= =?utf-8?B?RldObFZ1RXJKUVN0VW9pODNpYnZ2bWwwcnlLcGIvVmdMWXVlbXRiZ1BsM1B6?= =?utf-8?B?ZVlUeW4raEFxZFhHbHNYYSt5dkQ1ay9MWjJFNTRuaTNwK0NZNW5TbmVjR2ht?= =?utf-8?B?OWRsUW95U2tPSUVkV1A0RUdtdlJaRVNoQmZKdlBUajNkSGtQcXAxbmVVUUJi?= =?utf-8?B?b3h2d0FWcUpzNm9GcTRBZkg0WFNpYStyd0x3UGtRbmxlekZkZjg1NXc2cUZ4?= =?utf-8?B?WjhwMWRxazUwRitxVHlNNlNLTnFvMkdvU0d1U2VUbXZRR0dKOVVxaFNtR1o2?= =?utf-8?B?aURDMGRlMXZnbGZnODJJb3BzN1ZWUWJOTzdvWHY3aW1EanBVWUsxMkFteSsr?= =?utf-8?B?YTlxbTRrK3hnZlB0MWY2ajNyZmxnUEpWUVRKR3FNcWhYR21UYWF4UXBVcUl5?= =?utf-8?B?Y0QrTlI5cjBrTVNrS052NlBETXNId09LOVBvYlVJV2NmRzVRbU51bTZWaWk2?= =?utf-8?B?cm9NbzNZUVBuT1REOWgxbCtML1A5c2tzYW1KK1dPbUd6cThtcFpvLzJpNWJB?= =?utf-8?B?T3Z5dWY1R3FZOExzSzkyUWE1K3M2RStmVWRHWjhCNHJ1b1B1aFArOFJrQ3cr?= =?utf-8?B?c3NNcG43aklyZlZDRm81Nmx3WDVRNUVVRXhTV1VBMFM1eWpYQWdkWTZjdEVr?= =?utf-8?B?ZFowWHVBMWJRWHdxVklFN2MzNWhzSytGZ3NGdVczY0c2dlJqYVlEeXhBU2hw?= =?utf-8?B?MlZKRFFDQnYxM1p5Uk5yNTQ5TjJjK1ZzWEF5b01wU3ByOTlWb3ZkWkx5Vll4?= =?utf-8?B?c3Z5VGtRZlNySWRCMHAxYmxDcG9ZQy9Na3BqN2xlUWRkT01qTGtpQzBLYzhS?= =?utf-8?B?SVE4eGtuOG5wSVBQdVJ2YkZsaG5NMHRXRlp0R2NDcGFsTDJJQTFONDV6QTRO?= =?utf-8?B?WmF5SGJWQ3J5cGFPOFVIaXdXS0dJNkduWm5RVG9WQ1dvUllrK2xZdVNLYlJ5?= =?utf-8?B?Tk5ySWdma2VMZ2NSTU9Na0VhK0I3RmpxTHFqazlKVlRWOWZvTC9PUDBiZi9C?= =?utf-8?B?b0RIYlZSSVg0QjczaVY2dlhydnhyZ2NzWFNqMlVIODJDb1lPRW1paDN5UkRs?= =?utf-8?B?TGhWYlU4ZHpRUUxFdmkrYllQYVRLT0J0SDdqYmpSa3JTT0E3bXZ0RkN3U1BT?= =?utf-8?B?QXpOUStIYjV0L2FtY004Z2JYUll6c0xwa2tra0pBdnFidlk1cEdVeGtFRHli?= =?utf-8?B?T29mWVplbEM2eW5NUW9yWUpmcjh3NmQ1bGVsSDJOL3MrNU1SUUFDQUVySW4r?= =?utf-8?B?UEpFbFdqZFBueUcrNnpLWEN6UVdOcUxEdXViRVhtdGZpYVVXZXo5R0dHWEp4?= =?utf-8?B?ZzhFUU5oUGdSQzBhSmNJNmFZWkFJWHNxZHkyNVk1OXhsaGR1NmkwcHNCMkNh?= =?utf-8?B?TnpQaW9GOHVnKzdRUFpGalI3YVF5UklTZWJHcEo5K1Y5UHo4THo1UGtkU0FP?= =?utf-8?B?enRSL1ZYeWVKK3BJWlYyRmlFY2M0b2kvcU02d2VqbXkxZ3dNY3duVElIM0NK?= =?utf-8?B?UzIrOUJMZCtlTlRqdHo5YlFXZmExS0dwM3k0TGdjNGhYTlZUSVhkblF4TGlH?= =?utf-8?B?cERLZkFHZlVPOThaT2QyNFA4alJnZ3hEUExlaExGaWdxQ3F0aWZNNDJaVkNX?= =?utf-8?B?MWRkZUNkeFo3UXlvaklhVURMZWczRGNHQzFmcHRiTkNKQ0R5SUVCUWlNUjFO?= =?utf-8?Q?yJCcH52D8zgZvZkW0tUXgIKiz0vhmorCg8iqGxT?= Content-Type: text/plain; charset="utf-8" Content-ID: <5DA91377EB84D8438E82702FF41BA592@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3024 Original-Authentication-Results: 6wind.com; dkim=none (message not signed) header.d=none;6wind.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT056.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: f85264da-5a5b-4800-6ee3-08d905d55ea6 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HNv2ea/a0CmhtoxT02oZ01OcYm/Krekg4NrmXIuZlrj/8XL1oSjR0SOgyNaV0jggxFCRLsl6gzwLxEyAEP8EQe09hKT5E+YV+G+9qMdOh+as8Bnmyssj1jcbEpVCUQXBJvGuGQg8DXUQBLZ3MxhL2OqT2oLIeW7eUdeWn44bhMhJ8ZlVwwDl2McKkOBPYlYQDlSGZ2VaaJ2dSpIf3PTsocXTdHVRj2yme+/a4K8vfQ+oz3TCAQnNRazlfEb3bhdzWcBLP3AlvQl2Li38+SDUdbQuBu1qNFaqlND2OdTTBsNnH1Jn48GGRMcI/VHfyRmxszvyoHc5HhMmOhK8xsuW1yFF5gVl2wR2IlY1+3o3D3go8uZPOonxB8aZkU6IiaB9Fgn7dBsxWhURHU4EIz6SClebaFNVaFSl05ppFZRlL4IFYay8q9ZdxJy06eg8EsJDkCZf9lbhxMA7P1X8iH5ZykZAbbM7pz6SWZDJ5kP7m3h7I9cbVM50EeE4GvrAdM7DQs61BIOka6Ag757mHdiHhxmPX9ckuP9Y4MCDd1fPDAur+ZWWqga+vhrQcc0H2oefbEJiUo8nzsJ9L7hwkM8ugh3U0rImgSuWBBUAcLnj92L4aB9AalNddP/HY1ne2v9o3oatPIawzEN694LFqBlKTpkaiJDLnwiGTOlj/8OC1AgPnjRi0bhill+qDQppDwzT X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(39860400002)(396003)(346002)(376002)(46966006)(36840700001)(6862004)(33656002)(36860700001)(6486002)(478600001)(70586007)(36756003)(6512007)(47076005)(70206006)(26005)(82740400003)(316002)(54906003)(186003)(8676002)(82310400003)(83380400001)(5660300002)(53546011)(6506007)(2906002)(356005)(86362001)(34070700002)(2616005)(8936002)(336012)(81166007)(4326008); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2021 21:27:17.6167 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f1d49a4e-c56a-41fc-8158-08d905d567d5 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT056.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5976 Subject: Re: [dpdk-dev] [PATCH v3 2/2] lib/mempool: distinguish debug counters from cache and pool X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgT2xpdmllciwNCg0KVGhhbmsgeW91IGZvciB5b3VyIGNvbW1lbnRzIQ0KDQo+IE9uIEFwciAy MSwgMjAyMSwgYXQgMTE6MjkgQU0sIE9saXZpZXIgTWF0eiA8b2xpdmllci5tYXR6QDZ3aW5kLmNv bT4gd3JvdGU6DQo+IA0KPiBIaSBEaGFybWlrLA0KPiANCj4gUGxlYXNlIHNlZSBzb21lIGNvbW1l bnRzIGJlbG93Lg0KPiANCj4gT24gTW9uLCBBcHIgMTksIDIwMjEgYXQgMDc6MDg6MDBQTSAtMDUw MCwgRGhhcm1payBUaGFra2FyIHdyb3RlOg0KPj4gRnJvbTogSm95Y2UgS29uZyA8am95Y2Uua29u Z0Bhcm0uY29tPg0KPj4gDQo+PiBJZiBjYWNoZSBpcyBlbmFibGVkLCBvYmplY3RzIHdpbGwgYmUg cmV0cmlldmVkL3B1dCBmcm9tL3RvIGNhY2hlLA0KPj4gc3Vic2VxdWVudGx5IGZyb20vdG8gdGhl IGNvbW1vbiBwb29sLiBOb3cgdGhlIGRlYnVnIHN0YXRzIGNhbGN1bGF0ZQ0KPj4gdGhlIG9iamVj dHMgcmV0cmlldmVkL3B1dCBmcm9tL3RvIGNhY2hlIGFuZCBwb29sIHRvZ2V0aGVyLCBpdCBpcw0K Pj4gYmV0dGVyIHRvIGRpc3Rpbmd1aXNoIHRoZW0uDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IEpv eWNlIEtvbmcgPGpveWNlLmtvbmdAYXJtLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IERoYXJtaWsg VGhha2thciA8ZGhhcm1pay50aGFra2FyQGFybS5jb20+DQo+PiBSZXZpZXdlZC1ieTogUnVpZmVu ZyBXYW5nIDxydWlmZW5nLndhbmdAYXJtLmNvbT4NCj4+IFJldmlld2VkLWJ5OiBIb25uYXBwYSBO YWdhcmFoYWxsaSA8aG9ubmFwcGEubmFnYXJhaGFsbGlAYXJtLmNvbT4NCj4+IC0tLQ0KPj4gbGli L2xpYnJ0ZV9tZW1wb29sL3J0ZV9tZW1wb29sLmMgfCAyNCArKysrKysrKysrKysrKysrDQo+PiBs aWIvbGlicnRlX21lbXBvb2wvcnRlX21lbXBvb2wuaCB8IDQ3ICsrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tDQo+PiAyIGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDE0IGRl bGV0aW9ucygtKQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9tZW1wb29sL3J0ZV9t ZW1wb29sLmMgYi9saWIvbGlicnRlX21lbXBvb2wvcnRlX21lbXBvb2wuYw0KPj4gaW5kZXggYWZi MTIzOWM4ZDQ4Li4zMzlmMTQ0NTU2MjQgMTAwNjQ0DQo+PiAtLS0gYS9saWIvbGlicnRlX21lbXBv b2wvcnRlX21lbXBvb2wuYw0KPj4gKysrIGIvbGliL2xpYnJ0ZV9tZW1wb29sL3J0ZV9tZW1wb29s LmMNCj4+IEBAIC0xMjQ0LDYgKzEyNDQsMTggQEAgcnRlX21lbXBvb2xfZHVtcChGSUxFICpmLCBz dHJ1Y3QgcnRlX21lbXBvb2wgKm1wKQ0KPj4gCWZvciAobGNvcmVfaWQgPSAwOyBsY29yZV9pZCA8 IFJURV9NQVhfTENPUkU7IGxjb3JlX2lkKyspIHsNCj4+IAkJc3VtLnB1dF9idWxrICs9IG1wLT5z dGF0c1tsY29yZV9pZF0ucHV0X2J1bGs7DQo+PiAJCXN1bS5wdXRfb2JqcyArPSBtcC0+c3RhdHNb bGNvcmVfaWRdLnB1dF9vYmpzOw0KPj4gKwkJc3VtLnB1dF9jb21tb25fcG9vbF9idWxrICs9DQo+ PiArCQkJbXAtPnN0YXRzW2xjb3JlX2lkXS5wdXRfY29tbW9uX3Bvb2xfYnVsazsNCj4+ICsJCXN1 bS5wdXRfY29tbW9uX3Bvb2xfb2JqcyArPQ0KPj4gKwkJCW1wLT5zdGF0c1tsY29yZV9pZF0ucHV0 X2NvbW1vbl9wb29sX29ianM7DQo+PiArCQlzdW0ucHV0X2NhY2hlX2J1bGsgKz0gbXAtPnN0YXRz W2xjb3JlX2lkXS5wdXRfY2FjaGVfYnVsazsNCj4+ICsJCXN1bS5wdXRfY2FjaGVfb2JqcyArPSBt cC0+c3RhdHNbbGNvcmVfaWRdLnB1dF9jYWNoZV9vYmpzOw0KPj4gKwkJc3VtLmdldF9jb21tb25f cG9vbF9idWxrICs9DQo+PiArCQkJbXAtPnN0YXRzW2xjb3JlX2lkXS5nZXRfY29tbW9uX3Bvb2xf YnVsazsNCj4+ICsJCXN1bS5nZXRfY29tbW9uX3Bvb2xfb2JqcyArPQ0KPj4gKwkJCW1wLT5zdGF0 c1tsY29yZV9pZF0uZ2V0X2NvbW1vbl9wb29sX29ianM7DQo+PiArCQlzdW0uZ2V0X2NhY2hlX2J1 bGsgKz0gbXAtPnN0YXRzW2xjb3JlX2lkXS5nZXRfY2FjaGVfYnVsazsNCj4+ICsJCXN1bS5nZXRf Y2FjaGVfb2JqcyArPSBtcC0+c3RhdHNbbGNvcmVfaWRdLmdldF9jYWNoZV9vYmpzOw0KPj4gCQlz dW0uZ2V0X3N1Y2Nlc3NfYnVsayArPSBtcC0+c3RhdHNbbGNvcmVfaWRdLmdldF9zdWNjZXNzX2J1 bGs7DQo+PiAJCXN1bS5nZXRfc3VjY2Vzc19vYmpzICs9IG1wLT5zdGF0c1tsY29yZV9pZF0uZ2V0 X3N1Y2Nlc3Nfb2JqczsNCj4+IAkJc3VtLmdldF9mYWlsX2J1bGsgKz0gbXAtPnN0YXRzW2xjb3Jl X2lkXS5nZXRfZmFpbF9idWxrOw0KPj4gQEAgLTEyNTQsNiArMTI2NiwxOCBAQCBydGVfbWVtcG9v bF9kdW1wKEZJTEUgKmYsIHN0cnVjdCBydGVfbWVtcG9vbCAqbXApDQo+PiAJZnByaW50ZihmLCAi ICBzdGF0czpcbiIpOw0KPj4gCWZwcmludGYoZiwgIiAgICBwdXRfYnVsaz0lIlBSSXU2NCJcbiIs IHN1bS5wdXRfYnVsayk7DQo+PiAJZnByaW50ZihmLCAiICAgIHB1dF9vYmpzPSUiUFJJdTY0Ilxu Iiwgc3VtLnB1dF9vYmpzKTsNCj4+ICsJZnByaW50ZihmLCAiICAgIHB1dF9jb21tb25fcG9vbF9i dWxrPSUiUFJJdTY0IlxuIiwNCj4+ICsJCQkJCQlzdW0ucHV0X2NvbW1vbl9wb29sX2J1bGspOw0K Pj4gKwlmcHJpbnRmKGYsICIgICAgcHV0X2NvbW1vbl9wb29sX29ianM9JSJQUkl1NjQiXG4iLA0K Pj4gKwkJCQkJCXN1bS5wdXRfY29tbW9uX3Bvb2xfb2Jqcyk7DQo+PiArCWZwcmludGYoZiwgIiAg ICBwdXRfY2FjaGVfYnVsaz0lIlBSSXU2NCJcbiIsIHN1bS5wdXRfY2FjaGVfYnVsayk7DQo+PiAr CWZwcmludGYoZiwgIiAgICBwdXRfY2FjaGVfb2Jqcz0lIlBSSXU2NCJcbiIsIHN1bS5wdXRfY2Fj aGVfb2Jqcyk7DQo+PiArCWZwcmludGYoZiwgIiAgICBnZXRfY29tbW9uX3Bvb2xfYnVsaz0lIlBS SXU2NCJcbiIsDQo+PiArCQkJCQkJc3VtLmdldF9jb21tb25fcG9vbF9idWxrKTsNCj4+ICsJZnBy aW50ZihmLCAiICAgIGdldF9jb21tb25fcG9vbF9vYmpzPSUiUFJJdTY0IlxuIiwNCj4+ICsJCQkJ CQlzdW0uZ2V0X2NvbW1vbl9wb29sX29ianMpOw0KPj4gKwlmcHJpbnRmKGYsICIgICAgZ2V0X2Nh Y2hlX2J1bGs9JSJQUkl1NjQiXG4iLCBzdW0uZ2V0X2NhY2hlX2J1bGspOw0KPj4gKwlmcHJpbnRm KGYsICIgICAgZ2V0X2NhY2hlX29ianM9JSJQUkl1NjQiXG4iLCBzdW0uZ2V0X2NhY2hlX29ianMp Ow0KPj4gCWZwcmludGYoZiwgIiAgICBnZXRfc3VjY2Vzc19idWxrPSUiUFJJdTY0IlxuIiwgc3Vt LmdldF9zdWNjZXNzX2J1bGspOw0KPj4gCWZwcmludGYoZiwgIiAgICBnZXRfc3VjY2Vzc19vYmpz PSUiUFJJdTY0IlxuIiwgc3VtLmdldF9zdWNjZXNzX29ianMpOw0KPj4gCWZwcmludGYoZiwgIiAg ICBnZXRfZmFpbF9idWxrPSUiUFJJdTY0IlxuIiwgc3VtLmdldF9mYWlsX2J1bGspOw0KPj4gZGlm ZiAtLWdpdCBhL2xpYi9saWJydGVfbWVtcG9vbC9ydGVfbWVtcG9vbC5oIGIvbGliL2xpYnJ0ZV9t ZW1wb29sL3J0ZV9tZW1wb29sLmgNCj4+IGluZGV4IDg0OGExOTIyNjE0OS4uMDk1OWY4YTNmMzY3 IDEwMDY0NA0KPj4gLS0tIGEvbGliL2xpYnJ0ZV9tZW1wb29sL3J0ZV9tZW1wb29sLmgNCj4+ICsr KyBiL2xpYi9saWJydGVfbWVtcG9vbC9ydGVfbWVtcG9vbC5oDQo+PiBAQCAtNjYsMTIgKzY2LDIw IEBAIGV4dGVybiAiQyIgew0KPj4gICogQSBzdHJ1Y3R1cmUgdGhhdCBzdG9yZXMgdGhlIG1lbXBv b2wgc3RhdGlzdGljcyAocGVyLWxjb3JlKS4NCj4+ICAqLw0KPj4gc3RydWN0IHJ0ZV9tZW1wb29s X2RlYnVnX3N0YXRzIHsNCj4+IC0JdWludDY0X3QgcHV0X2J1bGs7ICAgICAgICAgLyoqPCBOdW1i ZXIgb2YgcHV0cy4gKi8NCj4+IC0JdWludDY0X3QgcHV0X29ianM7ICAgICAgICAgLyoqPCBOdW1i ZXIgb2Ygb2JqZWN0cyBzdWNjZXNzZnVsbHkgcHV0LiAqLw0KPj4gLQl1aW50NjRfdCBnZXRfc3Vj Y2Vzc19idWxrOyAvKio8IFN1Y2Nlc3NmdWwgYWxsb2NhdGlvbiBudW1iZXIuICovDQo+PiAtCXVp bnQ2NF90IGdldF9zdWNjZXNzX29ianM7IC8qKjwgT2JqZWN0cyBzdWNjZXNzZnVsbHkgYWxsb2Nh dGVkLiAqLw0KPj4gLQl1aW50NjRfdCBnZXRfZmFpbF9idWxrOyAgICAvKio8IEZhaWxlZCBhbGxv Y2F0aW9uIG51bWJlci4gKi8NCj4+IC0JdWludDY0X3QgZ2V0X2ZhaWxfb2JqczsgICAgLyoqPCBP YmplY3RzIHRoYXQgZmFpbGVkIHRvIGJlIGFsbG9jYXRlZC4gKi8NCj4+ICsJdWludDY0X3QgcHV0 X2J1bGs7CQkgIC8qKjwgTnVtYmVyIG9mIHB1dHMuICovDQo+PiArCXVpbnQ2NF90IHB1dF9vYmpz OwkJICAvKio8IE51bWJlciBvZiBvYmplY3RzIHN1Y2Nlc3NmdWxseSBwdXQuICovDQo+PiArCXVp bnQ2NF90IHB1dF9jb21tb25fcG9vbF9idWxrOwkgIC8qKjwgTnVtYmVyIG9mIGJ1bGtzIGVucXVl dWVkIGluIGNvbW1vbiBwb29sLiAqLw0KPj4gKwl1aW50NjRfdCBwdXRfY29tbW9uX3Bvb2xfb2Jq czsJICAvKio8IE51bWJlciBvZiBvYmplY3RzIGVucXVldWVkIGluIGNvbW1vbiBwb29sLiAqLw0K Pj4gKwl1aW50NjRfdCBwdXRfY2FjaGVfYnVsazsJICAvKio8IE51bWJlciBvZiBidWxrcyBlbnF1 ZXVlZCBpbiBjYWNoZS4gKi8NCj4+ICsJdWludDY0X3QgcHV0X2NhY2hlX29ianM7CSAgLyoqPCBO dW1iZXIgb2Ygb2JqZWN0cyBlbnF1ZXVlZCBpbiBjYWNoZS4gKi8NCj4+ICsJdWludDY0X3QgZ2V0 X2NvbW1vbl9wb29sX2J1bGs7ICAgIC8qKjwgTnVtYmVyIG9mIGJ1bGtzIGRlcXVldWVkIGZyb20g Y29tbW9uIHBvb2wuICovDQo+PiArCXVpbnQ2NF90IGdldF9jb21tb25fcG9vbF9vYmpzOwkgIC8q KjwgTnVtYmVyIG9mIG9iamVjdHMgZGVxdWV1ZWQgZnJvbSBjb21tb24gcG9vbC4gKi8NCj4+ICsJ dWludDY0X3QgZ2V0X2NhY2hlX2J1bGs7CSAgLyoqPCBOdW1iZXIgb2YgYnVsa3MgZGVxdWV1ZWQg ZnJvbSBjYWNoZS4gKi8NCj4+ICsJdWludDY0X3QgZ2V0X2NhY2hlX29ianM7CSAgLyoqPCBOdW1i ZXIgb2Ygb2JqZWN0cyBkZXF1ZXVlZCBmcm9tIGNhY2hlLiAqLw0KPj4gKwl1aW50NjRfdCBnZXRf c3VjY2Vzc19idWxrOwkgIC8qKjwgU3VjY2Vzc2Z1bCBhbGxvY2F0aW9uIG51bWJlci4gKi8NCj4+ ICsJdWludDY0X3QgZ2V0X3N1Y2Nlc3Nfb2JqczsJICAvKio8IE9iamVjdHMgc3VjY2Vzc2Z1bGx5 IGFsbG9jYXRlZC4gKi8NCj4+ICsJdWludDY0X3QgZ2V0X2ZhaWxfYnVsazsJCSAgLyoqPCBGYWls ZWQgYWxsb2NhdGlvbiBudW1iZXIuICovDQo+PiArCXVpbnQ2NF90IGdldF9mYWlsX29ianM7CQkg IC8qKjwgT2JqZWN0cyB0aGF0IGZhaWxlZCB0byBiZSBhbGxvY2F0ZWQuICovDQo+IA0KPiBJIG1p c3NlZCBpdCB0aGUgZmlyc3QgdGltZSwgYnV0IHRoaXMgY2hhbmdlcyB0aGUgc2l6ZSBvZiB0aGUN Cj4gcnRlX21lbXBvb2xfZGVidWdfc3RhdHMgc3RydWN0dXJlLiBJIHRoaW5rIHdlIGRvbid0IGNh cmUgYWJvdXQgdGhpcyBBQkkNCj4gYnJlYWthZ2UgYmVjYXVzZSB0aGlzIHN0cnVjdHVyZSBpcyBv bmx5IGRlZmluZWQgaWYNCj4gUlRFX0xJQlJURV9NRU1QT09MX0RFQlVHIGlzIHNldC4gQnV0IGp1 c3QgaW4gY2FzZSwgYWRkaW5nIFJheSBhcyBDYy4NCg0KQWdyZWVkLCB0aGFuayB5b3UhDQoNCj4g DQo+IEFib3V0IHRoZSBmaWVsZCB0aGVtc2VsdmVzLCBJJ20gbm90IGNlcnRhaW4gdGhhdCB0aGVy ZSBpcyBhbiBhZGRlZCB2YWx1ZQ0KPiB0byBoYXZlIHN0YXRzIGZvciBjYWNoZSBnZXRzIGFuZCBw dXRzLiBNeSBmZWVsaW5nIGlzIHRoYXQgdGhlIGltcG9ydGFudA0KPiBzdGF0IHRvIG1vbml0b3Ig aXMgdGhlIGFjY2VzcyB0byBjb21tb24gcG9vbCwgYmVjYXVzZSBpdCBpcyB0aGUgb25lIHRoYXQN Cj4gaGlnaGxpZ2h0cyBhIHBvc3NpYmxlIHBlcmZvcm1hbmNlIGltcGFjdCAoY29udGVudGlvbiku IFRoZSBjYWNoZSBzdGF0cw0KPiBhcmUgbW9yZSBvciBsZXNzIGVxdWFsIHRvICJzdWNjZXNzICsg ZmFpbCAtIGNvbW1vbiIuIE1vcmVvdmVyLCBpdCB3aWxsDQo+IHNpbXBsaWZ5IHRoZSBwYXRjaCBh bmQgYXZvaWQgcmlza3Mgb2YgbWlzdGFrZXMuDQo+IA0KPiBXaGF0IGRvIHlvdSB0aGluaz8NCg0K WWVzLCBJIHRoaW5rIHRoZSBjYWNoZSBzdGF0cyBjYW4gYmUgcmVtb3ZlZC4NCkFsc28sIHBsZWFz ZSBjb3JyZWN0IG1lIGlmIEnigJltIHdyb25nOyBidXQsIGluIG15IHVuZGVyc3RhbmRpbmcsDQp0 aGUgY2FjaGUgc3RhdHMgYXJlIGVxdWFsIHRvIOKAnHN1Y2Nlc3MgLSBjb21tb27igJ0uIElzIGFk ZGluZyDigJxmYWls4oCdIHJlcXVpcmVkPw0KDQo+IA0KPj4gCS8qKiBTdWNjZXNzZnVsIGFsbG9j YXRpb24gbnVtYmVyIG9mIGNvbnRpZ3VvdXMgYmxvY2tzLiAqLw0KPj4gCXVpbnQ2NF90IGdldF9z dWNjZXNzX2Jsa3M7DQo+PiAJLyoqIEZhaWxlZCBhbGxvY2F0aW9uIG51bWJlciBvZiBjb250aWd1 b3VzIGJsb2Nrcy4gKi8NCj4+IEBAIC02OTksMTAgKzcwNywxOCBAQCBydGVfbWVtcG9vbF9vcHNf ZGVxdWV1ZV9idWxrKHN0cnVjdCBydGVfbWVtcG9vbCAqbXAsDQo+PiAJCXZvaWQgKipvYmpfdGFi bGUsIHVuc2lnbmVkIG4pDQo+PiB7DQo+PiAJc3RydWN0IHJ0ZV9tZW1wb29sX29wcyAqb3BzOw0K Pj4gKwlpbnQgcmV0Ow0KPj4gDQo+PiAJcnRlX21lbXBvb2xfdHJhY2Vfb3BzX2RlcXVldWVfYnVs ayhtcCwgb2JqX3RhYmxlLCBuKTsNCj4+IAlvcHMgPSBydGVfbWVtcG9vbF9nZXRfb3BzKG1wLT5v cHNfaW5kZXgpOw0KPj4gLQlyZXR1cm4gb3BzLT5kZXF1ZXVlKG1wLCBvYmpfdGFibGUsIG4pOw0K Pj4gKwlyZXQgPSBvcHMtPmRlcXVldWUobXAsIG9ial90YWJsZSwgbik7DQo+PiArCWlmIChyZXQg PT0gMCkgew0KPj4gKwkJX19NRU1QT09MX1NUQVRfQUREKG1wLCBnZXRfY29tbW9uX3Bvb2xfYnVs aywgMSk7DQo+PiArCQlfX01FTVBPT0xfU1RBVF9BREQobXAsIGdldF9jb21tb25fcG9vbF9vYmpz LCBuKTsNCj4+ICsJCV9fTUVNUE9PTF9TVEFUX0FERChtcCwgZ2V0X3N1Y2Nlc3NfYnVsaywgMSk7 DQo+PiArCQlfX01FTVBPT0xfU1RBVF9BREQobXAsIGdldF9zdWNjZXNzX29ianMsIG4pOw0KPj4g Kwl9DQo+PiArCXJldHVybiByZXQ7DQo+PiB9DQo+PiANCj4+IC8qKg0KPj4gQEAgLTc0OSw2ICs3 NjUsOCBAQCBydGVfbWVtcG9vbF9vcHNfZW5xdWV1ZV9idWxrKHN0cnVjdCBydGVfbWVtcG9vbCAq bXAsIHZvaWQgKiBjb25zdCAqb2JqX3RhYmxlLA0KPj4gew0KPj4gCXN0cnVjdCBydGVfbWVtcG9v bF9vcHMgKm9wczsNCj4+IA0KPj4gKwlfX01FTVBPT0xfU1RBVF9BREQobXAsIHB1dF9jb21tb25f cG9vbF9idWxrLCAxKTsNCj4+ICsJX19NRU1QT09MX1NUQVRfQUREKG1wLCBwdXRfY29tbW9uX3Bv b2xfb2Jqcywgbik7DQo+PiAJcnRlX21lbXBvb2xfdHJhY2Vfb3BzX2VucXVldWVfYnVsayhtcCwg b2JqX3RhYmxlLCBuKTsNCj4+IAlvcHMgPSBydGVfbWVtcG9vbF9nZXRfb3BzKG1wLT5vcHNfaW5k ZXgpOw0KPj4gCXJldHVybiBvcHMtPmVucXVldWUobXAsIG9ial90YWJsZSwgbik7DQo+PiBAQCAt MTI5NywxNCArMTMxNSwxOCBAQCBfX21lbXBvb2xfZ2VuZXJpY19wdXQoc3RydWN0IHJ0ZV9tZW1w b29sICptcCwgdm9pZCAqIGNvbnN0ICpvYmpfdGFibGUsDQo+PiANCj4+IAkvKiBBZGQgZWxlbWVu dHMgYmFjayBpbnRvIHRoZSBjYWNoZSAqLw0KPj4gCXJ0ZV9tZW1jcHkoJmNhY2hlX29ianNbMF0s IG9ial90YWJsZSwgc2l6ZW9mKHZvaWQgKikgKiBuKTsNCj4+IC0NCj4+IAljYWNoZS0+bGVuICs9 IG47DQo+PiANCj4+ICsJX19NRU1QT09MX1NUQVRfQUREKG1wLCBwdXRfY2FjaGVfYnVsaywgMSk7 DQo+PiArDQo+PiAJaWYgKGNhY2hlLT5sZW4gPj0gY2FjaGUtPmZsdXNodGhyZXNoKSB7DQo+PiAr CQlfX01FTVBPT0xfU1RBVF9BREQobXAsIHB1dF9jYWNoZV9vYmpzLA0KPj4gKwkJCQkgICBuIC0g KGNhY2hlLT5sZW4gLSBjYWNoZS0+c2l6ZSkpOw0KPj4gCQlydGVfbWVtcG9vbF9vcHNfZW5xdWV1 ZV9idWxrKG1wLCAmY2FjaGUtPm9ianNbY2FjaGUtPnNpemVdLA0KPj4gCQkJCWNhY2hlLT5sZW4g LSBjYWNoZS0+c2l6ZSk7DQo+PiAJCWNhY2hlLT5sZW4gPSBjYWNoZS0+c2l6ZTsNCj4+IC0JfQ0K Pj4gKwl9IGVsc2UNCj4+ICsJCV9fTUVNUE9PTF9TVEFUX0FERChtcCwgcHV0X2NhY2hlX29ianMs IG4pOw0KPj4gDQo+IA0KPiBJbiBjYXNlIHdlIGtlZXAgY2FjaGUgc3RhdHMsIEknZCBhZGQge30g YWZ0ZXIgdGhlIGVsc2UgdG8gYmUgY29uc2lzdGVudA0KPiB3aXRoIHRoZSBpZigpLg0KDQpBY2su DQoNCj4gDQo+PiAJcmV0dXJuOw0KPj4gDQo+PiBAQCAtMTQzOCw4ICsxNDYwLDggQEAgX19tZW1w b29sX2dlbmVyaWNfZ2V0KHN0cnVjdCBydGVfbWVtcG9vbCAqbXAsIHZvaWQgKipvYmpfdGFibGUs DQo+PiANCj4+IAljYWNoZS0+bGVuIC09IG47DQo+PiANCj4+IC0JX19NRU1QT09MX1NUQVRfQURE KG1wLCBnZXRfc3VjY2Vzc19idWxrLCAxKTsNCj4+IC0JX19NRU1QT09MX1NUQVRfQUREKG1wLCBn ZXRfc3VjY2Vzc19vYmpzLCBuKTsNCj4+ICsJX19NRU1QT09MX1NUQVRfQUREKG1wLCBnZXRfY2Fj aGVfYnVsaywgMSk7DQo+PiArCV9fTUVNUE9PTF9TVEFUX0FERChtcCwgZ2V0X2NhY2hlX29ianMs IG4pOw0KPiANCj4gSW4gY2FzZSB3ZSBrZWVwIGNhY2hlIHN0YXRzLCBJIGRvbid0IHRoaW5rIHdl IHNob3VsZCByZW1vdmUgZ2V0X3N1Y2Nlc3MNCj4gc3RhdHMgaW5jcmVtZW50LiBFbHNlLCB0aGUg c3VjY2VzcyBzdGF0cyB3aWxsIG5ldmVyIGJlIGluY3JlbWVudGVkIHdoZW4NCj4gcmV0cmlldmlu ZyBvYmplY3RzIGZyb20gdGhlIGNhY2hlLg0KPiANCg0KR29vZCBjYXRjaC4gVGhhbmtzIQ0KDQo+ IA0KPj4gDQo+PiAJcmV0dXJuIDA7DQo+PiANCj4+IEBAIC0xNDUxLDkgKzE0NzMsNiBAQCBfX21l bXBvb2xfZ2VuZXJpY19nZXQoc3RydWN0IHJ0ZV9tZW1wb29sICptcCwgdm9pZCAqKm9ial90YWJs ZSwNCj4+IAlpZiAocmV0IDwgMCkgew0KPj4gCQlfX01FTVBPT0xfU1RBVF9BREQobXAsIGdldF9m YWlsX2J1bGssIDEpOw0KPj4gCQlfX01FTVBPT0xfU1RBVF9BREQobXAsIGdldF9mYWlsX29ianMs IG4pOw0KPj4gLQl9IGVsc2Ugew0KPj4gLQkJX19NRU1QT09MX1NUQVRfQUREKG1wLCBnZXRfc3Vj Y2Vzc19idWxrLCAxKTsNCj4+IC0JCV9fTUVNUE9PTF9TVEFUX0FERChtcCwgZ2V0X3N1Y2Nlc3Nf b2Jqcywgbik7DQo+PiAJfQ0KPj4gDQo+PiAJcmV0dXJuIHJldDsNCj4+IC0tIA0KPj4gMi4xNy4x DQoNCg==