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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 D3C6FEDB7CA for ; Tue, 7 Apr 2026 07:58:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3F9AF10E049; Tue, 7 Apr 2026 07:58:04 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="TrISM8vO"; dkim-atps=neutral Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011009.outbound.protection.outlook.com [52.101.57.9]) by gabe.freedesktop.org (Postfix) with ESMTPS id 418A010E049 for ; Tue, 7 Apr 2026 07:58:03 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kJZLhx/2a2P9Wb0COhy0YJzEsV+vLBy904tZ0OmAha33/gGNYEaxPhCFrPcwJdn4Bi52oPw+pmcvVtnREftdaoOIYG9xN2zZzgdmNt5OqeL6Y0C2HlhZIxtjy44jDcQbYx6fpGimYAljhETsX7eCMUWGryMPJturHYYZuPZxkbU3Myyrnck0dduBfNgSzEWoIoUA7HUq+fiGK3tpkke2/b7RNiKC4rT3hJe+f8FhGMLfjJSLBwt6XoEOwW+Gr0wA3tVS7O3fqhmxR68DtUV7ZC9aRYXyTcQPWHsFdnGJjklDmR9iONwL5j9R59sWu+ywL8SlCuBujI78vWpyNRbzsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=52fT8NQ0UBtszwl+Q3sXubjCt0TeMB/mkCRSG6WdtEc=; b=MyptjJDRMs0TSyWnahw4ioknPvD0zSplKFICesCF1p5I11WRjTZ/wX0tOFe1frvta+Jt5T7weLLH3A/jEaiGp7S2DjzFAXthWwV2G/8yEU0CXf9FzvDUyGoxkE/qY+BNyw+je5eKmfYaQlUA1Jj+MrwVeWB4L/NrpL7xc5+SutHDY1V6yacEn6HT7fZAC3BI8bdXoJXudxT1aY/MKYQAzKZL6T5LJpakEHiSw3UFNKbE6o2F3jPZ+6mPF16AvjbG21ErNTlQqpKUQHvBdZ1bU68atEsKgZ4cx2GySwaLZNBo7cNnqSOU5R7NQPV/3tCbbAbeb2Xfd0G6+PuTJ5bHuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=52fT8NQ0UBtszwl+Q3sXubjCt0TeMB/mkCRSG6WdtEc=; b=TrISM8vOyN6oQ2bm4XZWOvOhkE6xC4of1hHwpdbttH6darkG50MZ7q6F8IxdAybdk/ZaXzNFX84GyUfYj9W1op7/7SRONDmhWJTs3eJe7279AdOtNgSqFNyIwEMw49sr0xIEb+tVj9OxVHPEohqHHxoYYCeHc8Q+q4ZnvfsKkZA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) by DM6PR12MB4484.namprd12.prod.outlook.com (2603:10b6:5:28f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17; Tue, 7 Apr 2026 07:57:59 +0000 Received: from PH7PR12MB5685.namprd12.prod.outlook.com ([fe80::ce69:cfae:774d:a65c]) by PH7PR12MB5685.namprd12.prod.outlook.com ([fe80::ce69:cfae:774d:a65c%5]) with mapi id 15.20.9769.016; Tue, 7 Apr 2026 07:57:59 +0000 Message-ID: Date: Tue, 7 Apr 2026 09:57:55 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] dma-buf: system_heap: Optimize sg_table-to-pages conversion in vmap To: "Barry Song (Xiaomi)" , linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org Cc: linux-kernel@vger.kernel.org, Xueyuan Chen , Sumit Semwal , Benjamin Gaignard , Brian Starkey , John Stultz , "T . J . Mercier" References: <20260406214938.24142-1-baohua@kernel.org> Content-Language: en-US From: =?UTF-8?Q?Christian_K=C3=B6nig?= In-Reply-To: <20260406214938.24142-1-baohua@kernel.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: FR4P281CA0147.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b8::7) To PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR12MB5685:EE_|DM6PR12MB4484:EE_ X-MS-Office365-Filtering-Correlation-Id: 37cdf0eb-c758-466a-cd46-08de947b62f5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|7416014|1800799024|376014|366016|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: +5r2qHoE0f+7vL0n5K+/bwytGjMmghz5LHvjJC2hK3TJTZTYH/lchGqRXUk3ijec9K9TO8womLsCtZpNOqmuh0HdZV7TGeWURoX73Rhp9kipnXF6KiQc0O3J4TE2B0r3jeluJBDuy6YvViwRZKw94XnS/jgDrUvcIOLpZBMJuMmEddNwieodtJ8fSMAh2FYwNuvDY48uWH52w0mH3yC2S6kCzX9iBmxDcvXse50VLJWxEKh0DbOO0NcEZt3EDAOhRB5kT0FwpU1werz4377CYLNwoe6SsP5InNptRGeJBN0l/ir5wd9/h+JX6K+hEffZnQvfCuJMNUE2aVYKmJA40hrT9evKLLeUPEKYjh42MQns7coL5d1XE4w3lxQ7zFprFjz2IlWNnZbgi9PlluIewNoMShHlUJxhg4Opi0XTdn57xZ57KlCHx/TzRgzAG9Qlq1M/sgjZCvOjya2iJPUJyayb7tdz5xcMlHbJ1m2HSh2wv4unyKgJSNgCdRFdLFCCxEV+MNMcwre4PAO4/07hjKogW4wYcmZktiOhbanP3N9FHMLu0Px8pQNFjW64r4qmuRyitUFybF2rFvG7Iya5ES/RLkrIY5LMy+z+5qsO5yiZKQP17LcPMF3JXFoW3tm0aukxQKJNbmPt8m8XnlIvV8w6fkxdyY1rAyfGKRl+aRuc1/devvp9rUujrPxFD/k39Jc+rpj/TGzv/tbs1+ti10Bpo9uiySptoIETY9XsMR4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR12MB5685.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(7416014)(1800799024)(376014)(366016)(22082099003)(18002099003)(56012099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WCtwbHNRam14Mnc1b3VYODB4cFlrRkpSamhJcUY1VW1GOStJSUhHM3ZTaWhp?= =?utf-8?B?WWVVLzNKNjlhQjZzdFFqZ1M0WTYyZVhKOTdsMmlRb3Yxd0ZSeEE0V3BIQ24y?= =?utf-8?B?czhFeGszQmlobzBqMmdNZHliZXJFUUJQaWxoWU9lcEVXUkliRzgxUFV3dkRh?= =?utf-8?B?QUExckg5ZWxBR1lGTk5jek56WjFUbENUK3FrY1h3WlEySSs3OHNrL3BmckE0?= =?utf-8?B?cGlLNkJXV1daMlBuNXp1akQyWnFYckt5Tk5xMEIxcFRINUx4eGV4bnVNSEU2?= =?utf-8?B?alNPYmluYmRWcFpjNHF0RU4zQjRPVkhBLzBQUnRZdW1Uc0trRThJRGdFTUdJ?= =?utf-8?B?MGJldkpvVnBSQzNBNXI2S3ZuUmlZZ1RYaGVmR29XYjYxbmdwODdqUVRUenVB?= =?utf-8?B?SHNaWWRsNnE2S2dmUWJyMXhORUpsQUtOQnAvWm5Ha3hkdXU0Y3RhYU9idWZv?= =?utf-8?B?UlUwbEp4UmlmbW5EMXNSZ2dPc29ZaXJkNzVsb0xzWk4reXZEVzN0dE9lZUk0?= =?utf-8?B?NDluYUhpYklVckhBYzMzeTkrdHFlL3dPVnFJeFVnWWJna0o1ZnhSUk9tamxS?= =?utf-8?B?dXR4RlJEZ2thcFJVY3RCb2tGY0RCOWZJYXJOeW9icG9mcmJhN3piR3BOYlN2?= =?utf-8?B?TGgyRFk0SVVFWHhiSjYwSzk4Ni84YldKN2NGQ1dtMklGTXY2MlRLSDdjY2k1?= =?utf-8?B?bkZpaUw2bGF6Nkd4MjBCa3VGQzVIV2JTV2xsR0FKcHo2VHczN1dNTGswNFYx?= =?utf-8?B?dE5ic25FNmk2c3dlZlIvV2psWitFbFgzN2hwMXRHcGVPUStsY1EvNFJmdEV6?= =?utf-8?B?WlVmMTJaa1padlhyYUI2OGJJZW9HZVAxTlVJbjcvcHBaemltNi9BYzFuYVFp?= =?utf-8?B?VUlWYWZLc0hUUXlEbE10QWlCOWtFN280c2VNMHN6eDIzTjkrSklqYVg5dENs?= =?utf-8?B?ZlQ5VHJIWVFuSjN6Q3ZrU1hZMzdiWmI4VmlVb3V4MTlMbmxVWTQvMlNSbHRj?= =?utf-8?B?WmxQZk1VU0RsOWRpQkJDVXpuSXhLQ2N2RjFEWU5veVNwMHNRZkRzZmovdGNF?= =?utf-8?B?K0FKN2JUSThsaU1zbWd0amRvbVlhQnpRbVdxSkdDM0tSOU1jL1cydjU3OVE1?= =?utf-8?B?UXI4MWRSeGRldTZZZC9ueis2ZDVYYWVxdFdSaVE2ZnVXR1JHRHltZ3lpSzFJ?= =?utf-8?B?L2JCR2phSkNQLzFQbFlRK1J2aDMyZjZZKzI3aUE3aDZ5cmhnM2xHaElwdmhO?= =?utf-8?B?aXU1ZTYrczQzc0VDTVhQd0RDV0FERTF1TWJYdVg1d2RsV3ZleTFpVlN2VTd5?= =?utf-8?B?bWxHZ0FRdmJQbjlNQXB3WUc0OXZNcGJSbWorM2NsZXN6NFpISnVHWmFIcEsw?= =?utf-8?B?KzZBcHZvajRsb0J1K0tWbi9qYkJQVkwyMWppZ2xsa2NGenJuaGl6MGFPaTlY?= =?utf-8?B?b2dadWlCaCtuRC9INVB1cnk5RjlVRWxuV0RQZkYvZHJCVzZhVTcxeStkQVRB?= =?utf-8?B?NmpoYUhNRmFUVmdZVHNyT3FqYzE3SW02dC9MelNYWUxyVXVFc0pOTFVCOTBQ?= =?utf-8?B?VG0wTUJHUEFPL0pIdldUZkxIUm1nVUFXaElJb3A0YTVNQkhTVGRDQjFaVTYz?= =?utf-8?B?SWpHdVpuWHB4dUxyV3hHQkM4YmkydXlOLy9JOHNERFAyTDV6cFVYQVV6MVht?= =?utf-8?B?TnIrQjNmRnlHY21TN3VsZlVvRytCUURQZ09WbFdJN0djUUJNdXQ2SVJMV2FE?= =?utf-8?B?OHFZUkFqcy9Sb2F5N3loR3ZkcVlLZG1MdHBBMTYyOTU0MXZoV3N4dkZFWm90?= =?utf-8?B?VmdpbDJocWZna1dhd1hwb2V3WnlrUXZJa0p3blVEYkRnRjJ6ejZ1eFFtMEFP?= =?utf-8?B?VnVaL3IwYmFQRVJlNndnTFVzSWpDK2JMOStTYzVtaUFmMzU0ZkVLK0VBZ3V0?= =?utf-8?B?MGluVGk4dXZxRk9PY1FYcWdnUE5LeFhIT0p0K21zY0tsK25QbzR6TktHQjc5?= =?utf-8?B?a0t6NWZ4YlFJS0FIZi9BWmRDeWZNODdQZ2dFc3V0Ung0Q25WS3h0OEhWVXZW?= =?utf-8?B?d0VSckZVQUpjT1Z0OUU0VTJMMTE4cVF0bUN3NnVzbm1kQXNNK0xJYzhHV3V6?= =?utf-8?B?ZjdBWFQ0eHJjMDVOMGFCaDVsQVlSQnJxL21Ra3NhRjBzbXl0Ymt0TXNubkZm?= =?utf-8?B?ZWN4WWY3d3NOL1VxYmZxeVU5bEYrUjJNR0hkZko0N1pJS1hLM1hYUXQ3NEN4?= =?utf-8?B?dnQ3WUxmUHZoWUhleDgxNkw3NmJFSEZMam1BVnFUMzd0RGlVVjdLM0IvekVR?= =?utf-8?Q?UAPUV08IEuH6nZzb0m?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 37cdf0eb-c758-466a-cd46-08de947b62f5 X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5685.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2026 07:57:59.6897 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wjc/X75ZsfO8XkGD/zigEVoUJbC7w9u01pcn4K0HO6ENo+q7dsrlzJSHWaVilG0X X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4484 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gNC82LzI2IDIzOjQ5LCBCYXJyeSBTb25nIChYaWFvbWkpIHdyb3RlOgo+IEZyb206IFh1ZXl1 YW4gQ2hlbiA8WHVleXVhbi5jaGVuMjFAZ21haWwuY29tPgo+IAo+IFJlcGxhY2UgdGhlIGhlYXZ5 IGZvcl9lYWNoX3NndGFibGVfcGFnZSgpIGl0ZXJhdG9yIGluIHN5c3RlbV9oZWFwX2RvX3ZtYXAo KQo+IHdpdGggYSBtb3JlIGVmZmljaWVudCBuZXN0ZWQgbG9vcCBhcHByb2FjaC4KPiAKPiBJbnN0 ZWFkIG9mIGl0ZXJhdGluZyBwYWdlIGJ5IHBhZ2UsIHdlIG5vdyBpdGVyYXRlIHRocm91Z2ggdGhl IHNjYXR0ZXJsaXN0Cj4gZW50cmllcyB2aWEgZm9yX2VhY2hfc2d0YWJsZV9zZygpLiBCZWNhdXNl IHBhZ2VzIHdpdGhpbiBhIHNpbmdsZSBzZyBlbnRyeQo+IGFyZSBwaHlzaWNhbGx5IGNvbnRpZ3Vv dXMsIHdlIGNhbiBwb3B1bGF0ZSB0aGUgcGFnZSBhcnJheSB3aXRoIGEgaW4gYW4KPiBpbm5lciBs b29wIHVzaW5nIHNpbXBsZSBwb2ludGVyIG1hdGguIFRoaXMgc2F2ZSBhIGxvdCBvZiB0aW1lLgo+ IAo+IFRoZSBXQVJOX09OIGNoZWNrIGlzIGFsc28gcHVsbGVkIG91dCBvZiB0aGUgbG9vcCB0byBz YXZlIGJyYW5jaAo+IGluc3RydWN0aW9ucy4KPiAKPiBQZXJmb3JtYW5jZSByZXN1bHRzIG1hcHBp bmcgYSAyR0IgYnVmZmVyIG9uIFJhZHhhIE82Ogo+IC0gQmVmb3JlOiB+MTQ0MDAwMCBucwo+IC0g QWZ0ZXI6ICB+MjMyMDAwIG5zCj4gKH44NCUgcmVkdWN0aW9uIGluIGl0ZXJhdGlvbiB0aW1lLCBv ciB+Ni4yeCBmYXN0ZXIpCgpXZWxsIHJlYWwgcXVlc3Rpb24gaXMgd2h5IGRvIHlvdSBjYXJlIGFi b3V0IHRoZSB2bWFwIHBlcmZvcm1hbmNlPwoKVGhhdCBzaG91bGQgYmFzaWNhbGx5IG9ubHkgYmUg dXNlZCBmb3IgZmJkZXYgZW11bGF0aW9uIChleGNlcHQgZm9yIFZNR0ZYKSBhbmQgd2UgYWJzb2x1 dGVseSBkb24ndCBjYXJlIGFib3V0IHBlcmZvcm1hbmNlIHRoZXJlLgoKUmVnYXJkcywKQ2hyaXN0 aWFuLgoKPiAKPiBDYzogU3VtaXQgU2Vtd2FsIDxzdW1pdC5zZW13YWxAbGluYXJvLm9yZz4KPiBD YzogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4g Q2M6IEJyaWFuIFN0YXJrZXkgPEJyaWFuLlN0YXJrZXlAYXJtLmNvbT4KPiBDYzogSm9obiBTdHVs dHogPGpzdHVsdHpAZ29vZ2xlLmNvbT4KPiBDYzogVC5KLiBNZXJjaWVyIDx0am1lcmNpZXJAZ29v Z2xlLmNvbT4KPiBDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29t Pgo+IFNpZ25lZC1vZmYtYnk6IFh1ZXl1YW4gQ2hlbiA8WHVleXVhbi5jaGVuMjFAZ21haWwuY29t Pgo+IFNpZ25lZC1vZmYtYnk6IEJhcnJ5IFNvbmcgKFhpYW9taSkgPGJhb2h1YUBrZXJuZWwub3Jn Pgo+IC0tLQo+ICBkcml2ZXJzL2RtYS1idWYvaGVhcHMvc3lzdGVtX2hlYXAuYyB8IDEzICsrKysr KysrKy0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMg Yi9kcml2ZXJzL2RtYS1idWYvaGVhcHMvc3lzdGVtX2hlYXAuYwo+IGluZGV4IGIzNjUwZDhmZDY1 MS4uNzY5ZjAxZjBjYzk2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9zeXN0 ZW1faGVhcC5jCj4gKysrIGIvZHJpdmVycy9kbWEtYnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMKPiBA QCAtMjI0LDE2ICsyMjQsMjEgQEAgc3RhdGljIHZvaWQgKnN5c3RlbV9oZWFwX2RvX3ZtYXAoc3Ry dWN0IHN5c3RlbV9oZWFwX2J1ZmZlciAqYnVmZmVyKQo+ICAJaW50IG5wYWdlcyA9IFBBR0VfQUxJ R04oYnVmZmVyLT5sZW4pIC8gUEFHRV9TSVpFOwo+ICAJc3RydWN0IHBhZ2UgKipwYWdlcyA9IHZt YWxsb2Moc2l6ZW9mKHN0cnVjdCBwYWdlICopICogbnBhZ2VzKTsKPiAgCXN0cnVjdCBwYWdlICoq dG1wID0gcGFnZXM7Cj4gLQlzdHJ1Y3Qgc2dfcGFnZV9pdGVyIHBpdGVyOwo+ICAJdm9pZCAqdmFk ZHI7Cj4gKwl1MzIgaSwgaiwgY291bnQ7Cj4gKwlzdHJ1Y3QgcGFnZSAqYmFzZV9wYWdlOwo+ICsJ c3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKPiAgCj4gIAlpZiAoIXBhZ2VzKQo+ICAJCXJldHVybiBF UlJfUFRSKC1FTk9NRU0pOwo+ICAKPiAtCWZvcl9lYWNoX3NndGFibGVfcGFnZSh0YWJsZSwgJnBp dGVyLCAwKSB7Cj4gLQkJV0FSTl9PTih0bXAgLSBwYWdlcyA+PSBucGFnZXMpOwo+IC0JCSp0bXAr KyA9IHNnX3BhZ2VfaXRlcl9wYWdlKCZwaXRlcik7Cj4gKwlmb3JfZWFjaF9zZ3RhYmxlX3NnKHRh YmxlLCBzZywgaSkgewo+ICsJCWJhc2VfcGFnZSA9IHNnX3BhZ2Uoc2cpOwo+ICsJCWNvdW50ID0g c2ctPmxlbmd0aCA+PiBQQUdFX1NISUZUOwo+ICsJCWZvciAoaiA9IDA7IGogPCBjb3VudDsgaisr KQo+ICsJCQkqdG1wKysgPSBiYXNlX3BhZ2UgKyBqOwo+ICAJfQo+ICsJV0FSTl9PTih0bXAgLSBw YWdlcyAhPSBucGFnZXMpOwo+ICAKPiAgCXZhZGRyID0gdm1hcChwYWdlcywgbnBhZ2VzLCBWTV9N QVAsIFBBR0VfS0VSTkVMKTsKPiAgCXZmcmVlKHBhZ2VzKTsKCg==