Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp2619801pxm; Mon, 28 Feb 2022 02:51:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJy0ikWPmRS7OZ7S7cmB+EKWkm6gGC26yN4ctqciLG1N7XOzu+hKdVnAuHAMjFSVFmrkuCmf X-Received: by 2002:a17:902:be14:b0:14f:ce67:d0a1 with SMTP id r20-20020a170902be1400b0014fce67d0a1mr19676041pls.29.1646045487756; Mon, 28 Feb 2022 02:51:27 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1646045487; cv=pass; d=google.com; s=arc-20160816; b=Z4sPIO84EUT3lU93nE2KDckZ4aI5Mdh+dFJKOkEsqgeA4HhuJKhpkeS1NcRcJGedUP uTikbiPXTzDToxRSBMxQ0f6hbeFJwRr8jL767tNaWlZiFFvtWRHrxqI0yosaZeyNFbQ+ xOI6YMAvay5usJ2m3ppuLGSduOQtedymvWbg0rTjyD0/4+iXebhB0rg0F3ihszmEmU4s Cf162uivxhBUYb5Dqj7X/WpFntCcEaMp4jihD4gPalzDhRjkcBluG32PZTedweRfESgt OUb9NaPGtQXZLVtewPouBeWnfKHEsr+ymX9CtFPFuLc5/G/n4RWWFgp4BHOBoPyV9/Wr MbCw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from; bh=IWMXl9kWJrhYgEp6YPKCgyVTXhNCsFR0dotAyzX5OFs=; b=HhMr/qDJMR8VJuuSP40BCtpSs1z1Z+40ArXPNyXQw05HrEFLW7fHQnseG/SghR6L1K 2gNXaVO6bPdWa631r9PPYKH6xUHpglEtddvLVSjHC8JvS9O/TixhpGz1JOfZjFRpJytB HypVl9W+bCxbS3+iWgmxe/8wnU8zyMVC8JF9vv46I1qjQZdlJAgfU7Rku42diMJHkM6V 1feAay1C6w53bUQ0CCpNYZR6RFgyq0wUTAJr2r2fi6rwIQup2G9ysk3xSjx03pAEaAAW N7KyQFa9HsFEAd1eNferblXlsRi7tSCbfMveOhk6P7wuqNPcEBvDw/hoFarXjLY0cURL NQRA== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=csgroup.eu dkim=pass dkdomain=csgroup.eu dmarc=pass fromdomain=csgroup.eu); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b1-20020a056a000cc100b004f3d108be9asi9581322pfv.369.2022.02.28.02.51.13; Mon, 28 Feb 2022 02:51:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=csgroup.eu dkim=pass dkdomain=csgroup.eu dmarc=pass fromdomain=csgroup.eu); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234213AbiB1JEJ (ORCPT + 99 others); Mon, 28 Feb 2022 04:04:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234270AbiB1JDt (ORCPT ); Mon, 28 Feb 2022 04:03:49 -0500 Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-eopbgr120049.outbound.protection.outlook.com [40.107.12.49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E62263EF2C; Mon, 28 Feb 2022 01:02:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IMW0j5edZfhulB5il2/WSZCQSmSrX/Y+irnBrTnRzIrknMgyijW4aiicbyAc9JHFXNBA7frSah+Ynntu53YvaB+W1aE6O28OshVRSltn4xis6/LQ30b5dkqsw0yUKFhMRXFTTYuv/z2Mmjx26hab2OlqW104QkbGmSx6inYAXzyyB2tDjz6t2nd+4kh98E0NjAaUiM0rBkFfsl+PThfcxvCs4/BmxJMOOZX20a9IAIdv32ci1xjli6kiewCGvdFgex3clXu38lpdIr+7Jnzr9orTti3X9gPdLz0jlp7Qo+lGkUw0EJeZv0wq/bDaQdqW6ZeALmC4LY1dnohr2hWIJw== 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=IWMXl9kWJrhYgEp6YPKCgyVTXhNCsFR0dotAyzX5OFs=; b=kL19vgxzJtq+xRxakLOvTNXk5sdfo0oNrpoofaVjHQLjLJqzsgDGvF+/4RjMYFqNoGyp1XXCekkEVAWas9l/76BBCHdT4mvZBKUoSMBj5VwyRfjavrMq+eh8VmEJCqMIH6bP4y8MarLE2F48BOvry3OnHUY+XXKn/UIfsVBX71SdxpBcEnL/WeSpE47CZbYiGmNnkaw2fCHESqah/Q1+TD5F8tjWz/gWUCrFVgtC5cyv67V4EYgkWGy+WXmuke01F0eso/bnKIT/HePsIQiYddeAE2mRT7tUhJWvEPnM3fPleKGP7Jpc1PKeY5HYd4iBjOdPXmoZOJtat0RGhkBUnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by PR0P264MB3674.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:14a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.24; Mon, 28 Feb 2022 09:02:54 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::8142:2e6f:219b:646d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::8142:2e6f:219b:646d%5]) with mapi id 15.20.5017.027; Mon, 28 Feb 2022 09:02:54 +0000 From: Christophe Leroy To: Luis Chamberlain , Aaron Tomlin CC: Petr Mladek , "cl@linux.com" , "mbenes@suse.cz" , "akpm@linux-foundation.org" , "jeyu@kernel.org" , "linux-kernel@vger.kernel.org" , "linux-modules@vger.kernel.org" , "void@manifault.com" , "atomlin@atomlin.com" , "allen.lkml@gmail.com" , "joe@perches.com" , "msuchanek@suse.de" , "oleksandr@natalenko.name" Subject: Re: [PATCH v8 09/13] module: Move kallsyms support into a separate file Thread-Topic: [PATCH v8 09/13] module: Move kallsyms support into a separate file Thread-Index: AQHYJ/ZZRfC599+XvUO2sDt7Xl3WR6ykAICAgAADaYCAAA2CAIAAAy8AgAAgBwCAAAn0gIACECQAgAJlSoA= Date: Mon, 28 Feb 2022 09:02:53 +0000 Message-ID: <5caa95d8-ba59-30f3-198d-b67389817762@csgroup.eu> References: <20220222141303.1392190-1-atomlin@redhat.com> <20220222141303.1392190-10-atomlin@redhat.com> In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1672e7c1-44d3-4e58-ae75-08d9fa991b09 x-ms-traffictypediagnostic: PR0P264MB3674: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: IXmqQC1PF63sUwuu5kHkiJ8IxHgugUAIIs+ZDT9rM9tHG1bvqyNpGzwFWruzMoDATJMFSk/LUStkj9kIWtw0gwvncav3KKB52Ew+CyMQy0YL4gW4kkxEhiPZQD/ZEopyyErlOGwFH4+axaYm9XZ9JdqWdt+VBRML1PO26tl+1yR/ux/pfNd8sba+PIo94xW0wC16EALxp+RvI/xjB65O9KdKXObD5J7H4P7i27QQ+eqW+2JKe6bub5R586vrtjfKyVRIK896GkTeEiQ0NrQt2LrgYxJ/jfj5juzBWMAqfvHcgkl/GXI7TloQKZehu54G9DYqCkykKxLeMAyGxCeZ/JDJMeNrHPXWFJGguBZf6nfIG/h+wS9sqt07rAEV/aFKVO/LccmHSlnpBAchF+FppJ8d49n8iviQ0P4sg73aMJkddBhwMj6mLiGmP0ArXhSDNnzTXEEz8AUrvMfeuPgKf7qVH023TO7M0QUlxyQypIDreYImPbTiUps7UR4z/rYh+FHLojAYIjhlI4GD+ZzFuqi1vdaP8Ces7RVVfp6JK2zwIhrlR3MssM0kEAt7/llfIWv3EoyFG2YPQH0sp0RYtg2JtYAB3T95hY6D4WR74TzrOrxWkeFViYxPUezNk4ACFgpwkVN2F5LL4eZ7q5JnDnjivpaIrppVNZnAIEH3d9hJjhOIKOXoHfBFdlbXEeVLS02pr1tPdFyX5Wki2Y8d3RZf0TcFLanbfN+w62HXbMqfZLtczH7Rp/MNFdU1rgC4yi+WEn5FJZywnDY7m2YdEKdOl55GeXyMh5kJoFnav7nldYkc4DULi0PQVGzoKg3uU0RyfZC8ea2N9t9DWNzyeR8wmuJaF0MlQPWyuGiSAuc= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(186003)(316002)(66574015)(6486002)(83380400001)(31696002)(508600001)(26005)(54906003)(110136005)(86362001)(71200400001)(38070700005)(38100700002)(31686004)(966005)(122000001)(2906002)(91956017)(5660300002)(7416002)(8936002)(44832011)(2616005)(6506007)(6512007)(66476007)(36756003)(64756008)(76116006)(66556008)(8676002)(66946007)(4326008)(66446008)(45980500001)(43740500002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Q2V5UzFuZHhLM2l1L2lvZ0RwYlhhdEhEWHcrWWR0bHBlb2VxNTd4TkRUV3Rh?= =?utf-8?B?MUlSZ1JNWUlvN09RS3F3alFWT0NJVlBZTnBVU2FMWE8wYWF3MGcyRFN5Tkdi?= =?utf-8?B?RXdjelBGeWRVRUxyUmMvcFE5RUtURkJETVRJWklvaytYbDZER1RUOEdaSG40?= =?utf-8?B?eFVGVzBkZSs3bGVGdXZuQ3UwTnN4MTd3RFJlMFliU0ZmQnM3NE9EUVo0eUFo?= =?utf-8?B?RUUrTElWdkoxMExjNXM5VXE4a2Z1OG1Fd2d3eXlOWDVoOEZlT0hIcElKeGhI?= =?utf-8?B?dVZYYVgyTzg0UDJlcGc4cUNwQ3BDaDFUb29qa0FoN2FLSzVFSlNjNTdWRVFX?= =?utf-8?B?cERISEdwZnlEblhkb1AwMXVHcWtvK1Vqc0FZVk1KN05nT3FKRnhONmJyS0NC?= =?utf-8?B?WUZpckM1Q0wwTDF2VHFZdi9ZOFJtTVBOVkZuSG5BMi9pZ1B2OVZaQWx0MXJC?= =?utf-8?B?RzVXeVVQWC80TjNwVk40NUhWRlJxWC95dFVlR3hxc2tKMUs2M29oM3h3OW04?= =?utf-8?B?dWE3Z2hhQ2dlejlCL3o2QmxCMW9zUTZ3MkE4aVM1YW4rbVZ6dmRhYWxLS3RX?= =?utf-8?B?V1BpYVY1NnQ5WmowQ3h1QkJDVUpITXg2b2lDVjJuSWQ2SGtrNFVjbGl6OUhO?= =?utf-8?B?Yk5EMFdINGNDM0QzT0ZKeC9NMldhaHFvcTcxcW9Ud3hlRmg4YUQ0enUxQncw?= =?utf-8?B?cXpWN3B1eThQRmZwV3VOWE03bkxnSVRyUklpZmMrNW5rRWdMS1VrTisrdk9F?= =?utf-8?B?T25wd3dqS0pBdXVQbGljcW1hRVl0cy9qUG1wR3NTbDRsdlZuZDVUaTZSZlls?= =?utf-8?B?amJYRzNYYmgxSmJZOWlvSDJHZ3dYNUVibWp0SXZHemNhK2FnaUpJUkY1dUlG?= =?utf-8?B?bzh2OXdEL2g0bUxFN3Y4cDNKTkRuK3U0MjE1T2NpVzJDNUdvNllpOTFhVlJU?= =?utf-8?B?TTdNSGY5ZW9WKzg3ZFpVR0hvaGpsamJ4K09pMUZ2dDdtVTk5V2RpdE1iUmZ2?= =?utf-8?B?Q2VzcW8xSnNQano2T3VwWlNlcmptclNRWlVrUmd6aGt0SzRkZG5yTVFzZGlG?= =?utf-8?B?Ti9FUUdMWEFTS0xVb01qSVlSbWczd3JoalVaYVJndlVQMTUwZWUxTFF4UUxx?= =?utf-8?B?REZ6WVVLQ2VrcGNFd1Q5UTFXejJPcHJrMHJ2VlY5U1VmUFY5dFBqRUpWY3Rr?= =?utf-8?B?OXhiMklRMWNmVUJUZlBuS3Yrb3pLSDNXUmtqOVV0YUVrWEhhemFvY1pQNWNE?= =?utf-8?B?SkJnRDBWaThIeTdVKzFNNGNoc0JLY1ZWYXVhSVFCOHhxUTlQQ0U4bVc3WGpV?= =?utf-8?B?RWl2blZZRWM3VUFva0JmcFlNbjhNV0VaYnpwRmVNTUNXQ3ZyaGI1SzNIY0hR?= =?utf-8?B?bStZaFNFMHAxK3NqSXdyUSs2dkwxdHkybEZZSjErMGJHcklSMDA5KzJVRXpE?= =?utf-8?B?SGh2WEl5MG0rVE1EeW92WDU1eTNUVTRvUkZmTFNkZ0JmSHc5dlZBN3NPVUcr?= =?utf-8?B?QnIrQ2x1bEJhUjAvUXRWTDRmTmtxRDY2MXFQc1phWXJsR25tWjhlMmdkeVdr?= =?utf-8?B?eEZERytKemlUSk9Qa09UK2k3M2lCTzRjMldIbGdlczhuVzFCZmU4L09ZY1U3?= =?utf-8?B?ZHFrQ2lxdFZZYm5nR3lNVVZXS0hCeGRjK2tab1dvUHo5M2FGQUVicm1aWUJR?= =?utf-8?B?WXFmM2M2UXovVFVMOTMxeWVOZUgzWFdhRFFScExIV1hvbUZUQmcxTkFmSG55?= =?utf-8?B?WDFnYkEwVStYbmtGV084cmhEYTU4QmdLSGhCK01NaWRVZWVGV2ZTWUcrby81?= =?utf-8?B?WGNxdklDNURWcllWNUlGQ3k5UWRqQzRSeFhudHVNSlQyWVdrQmY5UzJDNVQz?= =?utf-8?B?UU9BREd5VUwxc1UrZFdIaDYyOXJsRTE1R1VmWXZuaWlhTzBjOGdEZXVOc2dT?= =?utf-8?B?dmZlU1V3TDZEMzVZOGFtTzN0RWNzQmJxbTRxanhLbG0yaG1iVHZyekRnaVZ5?= =?utf-8?B?ZENKT0dqOWo2UmVHRTdLN05SMU1BS0pVWThnY3htWEpQeDF1QlNPMXE2V2J5?= =?utf-8?B?UjJrTFhkMEF0dUVPYko0WEszVjBPRzAyN2JFTU12Q2NDTEt6OE1kU2NmOVZj?= =?utf-8?B?ZUFYN2NnY3hvRFp0VUQvMnNLVnVoQUlQeFRZdUVGczRQYU1LRExZODhTYXpG?= =?utf-8?B?MFIrZmFGTDBDT3BoQXVGUzR2QVFKODVIdzlXd3QrQzNkdmxKT01LOWhDWHpw?= =?utf-8?Q?B8UKtpmZDAzvSO8Zhb9yPBKzCbN0rthpL48WDTvEnE=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 1672e7c1-44d3-4e58-ae75-08d9fa991b09 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2022 09:02:53.9726 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SggmDkquSdjl3ozTfFFCWjXBqiPUmVvmZ03wemfxiMuFeRUriyDyicCpL15iI4Z7Gevr/frTErDOKWKXC9ciiEhSS7d8LIWkzBHQi2J7+9w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB3674 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCkxlIDI2LzAyLzIwMjIgw6AgMjE6MjcsIEx1aXMgQ2hhbWJlcmxhaW4gYSDDqWNyaXTCoDoN Cj4gT24gRnJpLCBGZWIgMjUsIDIwMjIgYXQgMTI6NTc6MzRQTSArMDAwMCwgQ2hyaXN0b3BoZSBM ZXJveSB3cm90ZToNCj4+DQo+Pg0KPj4gTGUgMjUvMDIvMjAyMiDDoCAxMzoyMSwgQWFyb24gVG9t bGluIGEgw6ljcml0wqA6DQo+Pj4gT24gRnJpIDIwMjItMDItMjUgMTA6MjcgKzAwMDAsIEFhcm9u IFRvbWxpbiB3cm90ZToNCj4+Pj4gT24gRnJpIDIwMjItMDItMjUgMTE6MTUgKzAxMDAsIFBldHIg TWxhZGVrIHdyb3RlOg0KPj4+Pj4gcmN1X2RlcmVmZXJlbmNlX3NjaGVkKCkgbWFrZXMgc3BhcnNl IGhhcHB5LiBCdXQgbG9ja2RlcCBjb21wbGFpbnMNCj4+Pj4+IGJlY2F1c2UgdGhlIF9yY3UgcG9p bnRlciBpcyBub3QgYWNjZXNzZWQgdW5kZXI6DQo+Pj4+Pg0KPj4+Pj4gICAgICAgcmN1X3JlYWRf bG9ja19zY2hlZCgpOw0KPj4+Pj4gICAgICAgcmN1X3JlYWRfdW5sb2NrX3NjaGVkKCk7DQo+Pj4+ DQo+Pj4+IEhpIFBldHIsDQo+Pj4+DQo+Pj4+Pg0KPj4+Pj4gVGhpcyBpcyBub3QgdGhlIGNhc2Ug aGVyZS4gTm90ZSB0aGF0IG1vZHVsZV9tdXRleCBkb2VzIG5vdA0KPj4+Pj4gZGlzYWJsZSBwcmVl bXRpb24uDQo+Pj4+Pg0KPj4+Pj4gTm93LCB0aGUgY29kZSBpcyBzYWZlLiBUaGUgUkNVIGFjY2Vz cyBtYWtlcyBzdXJlIHRoYXQgIm1vZCINCj4+Pj4+IGNhbid0IGJlIGZyZWVkIGluIHRoZSBtZWFu dGltZToNCj4+Pj4+DQo+Pj4+PiAgICAgICsgYWRkX2thbGxzeW1zKCkgaXMgY2FsbGVkIGJ5IHRo ZSBtb2R1bGUgbG9hZGVkIHdoZW4gdGhlIG1vZHVsZQ0KPj4+Pj4gICAgICAgIGlzIGJlaW5nIGxv YWRlZC4gSXQgY291bGQgbm90IGdldCByZW1vdmVkIGluIHBhcmFsbGVsDQo+Pj4+PiAgICAgICAg YnkgZGVmaW5pdGlvbi4NCj4+Pj4+DQo+Pj4+PiAgICAgICsgbW9kdWxlX2thbGxzeW1zX29uX2Vh Y2hfc3ltYm9sKCkgdGFrZXMgbW9kdWxlX211dGV4Lg0KPj4+Pj4gICAgICAgIEl0IG1lYW5zIHRo YXQgdGhlIG1vZHVsZSBjb3VsZCBub3QgZ2V0IHJlbW92ZWQuDQo+Pj4+DQo+Pj4+IEluZGVlZCwg d2hpY2ggaXMgd2h5IEkgZGlkIG5vdCB1c2UgcmN1X3JlYWRfbG9ja19zY2hlZCgpIGFuZA0KPj4+ PiByY3VfcmVhZF91bmxvY2tfc2NoZWQoKSB3aXRoIHJjdV9kZXJlZmVyZW5jZV9zY2hlZCgpLiBU aGF0IGJlaW5nIHNhaWQsIEkNCj4+Pj4gc2hvdWxkIGhhdmUgbWVudGlvbmVkIHRoaXMgaW4gdGhl IGNvbW1pdCBtZXNzYWdlLg0KPj4+Pg0KPj4+Pj4gSU1ITywgd2UgaGF2ZSB0d28gcG9zc2liaWxp dGllcyBoZXJlOg0KPj4+Pj4NCj4+Pj4+ICAgICAgKyBNYWtlIHNwYXJzZSBhbmQgbG9ja2RlcCBo YXBweSBieSB1c2luZyByY3VfZGVyZWZlcmVuY2Vfc2NoZWQoKQ0KPj4+Pj4gICAgICAgIGFuZCBj YWxsaW5nIHRoZSBjb2RlIHVuZGVyIHJjdV9yZWFkX2xvY2tfc2NoZWQoKS4NCj4+Pj4+DQo+Pj4+ PiAgICAgICsgQ2FzdCAoc3RydWN0IG1vZF9rYWxsc3ltcyAqKW1vZC0+a2FsbHN5bXMgd2hlbiBh Y2Nlc3NpbmcNCj4+Pj4+ICAgICAgICB0aGUgdmFsdWUuDQo+Pj4+DQo+Pj4+IEkgcHJlZmVyIHRo ZSBmaXJzdCBvcHRpb24uDQo+Pj4+DQo+Pj4+PiBJIGRvIG5vdCBoYXZlIHN0cm9uZyBwcmVmZXJl bmNlLiBJIGFtIGZpbmUgd2l0aCBib3RoLg0KPj4+Pj4NCj4+Pj4+IEFueXdheSwgc3VjaCBhIGZp eCBzaG91bGQgYmUgZG9uZSBpbiBhIHNlcGFyYXRlIHBhdGNoIQ0KPj4+Pg0KPj4+PiBBZ3JlZWQu DQo+Pj4NCj4+PiBMdWlzLA0KPj4+DQo+Pj4gSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSwgaXQg bWlnaHQgYmUgY2xlYW5lciB0byByZXNvbHZlIHRoZSBhYm92ZSBpbiB0d28NCj4+PiBzZXBhcmF0 ZSBwYXRjaGVzIGZvciBhIHY5IGkuZS4gYSkgYWRkcmVzcyB0aGUgc3BhcnNlIGFuZCBsb2NrZGVw IGZlZWRiYWNrDQo+Pj4gYW5kIGIpIHJlZmFjdG9yIHRoZSBjb2RlLCBiZWZvcmUgdGhlIGxhdGVz dCB2ZXJzaW9uIFsxXSBpcyBtZXJnZWQgaW50bw0KPj4+IG1vZHVsZS1uZXh0LiBJIGFzc3VtZSB0 aGUgcHJldmlvdXMgaXRlcmF0aW9uIHdpbGwgYmUgcmV2ZXJ0ZWQgZmlyc3Q/DQo+Pj4NCj4+PiBQ bGVhc2UgbGV0IG1lIGtub3cgeW91ciB0aG91Z2h0cw0KPj4+DQo+Pj4gWzFdOiBodHRwczovL2xv cmUua2VybmVsLm9yZy9hbGwvMjAyMjAyMjIxNDEzMDMuMTM5MjE5MC0xLWF0b21saW5AcmVkaGF0 LmNvbS8NCj4+Pg0KPj4NCj4+IEkgd291bGQgZG8gaXQgdGhlIG90aGVyIHdheTogZmlyc3QgbW92 ZSB0aGUgY29kZSBpbnRvIGEgc2VwYXJhdGUgZmlsZSwNCj4+IGFuZCB0aGVuIGhhbmRsZSB0aGUg c3BhcnNlIF9fcmN1IGZlZWRiYWNrIGFzIGEgZm9sbG93dXAgcGF0Y2ggdG8gdGhlIHNlcmllcy4N Cj4gDQo+IEkgd2FudCB0byBhdm9pZCBhbnkgcmVncmVzc2lvbnMgYW5kIG5ldyBjb21wbGFpbnRz LCBmaXhlcyBzaG91bGQgYmUNCj4gc3VibWl0dGVkIGJlZm9yZSBzbyB0aGF0IGlmIHRoZXkgYXJl IGFwcGxpY2FibGUgdG8gc3RhYmxlIC8gZXRjIHRoZXkNCj4gY2FuIGJlIHNlbnQgdGhlcmUuDQoN CkZhaXIgZW5vdWdoLCBob3dldmVyIGhlcmUgd2UgYXJlIHRhbGtpbmcgYWJvdXQgc3BhcnNlIHdh cm5pbmcgb25seSwgYW5kIA0KdGhlIGRpc2N1c3Npb24gYXJvdW5kIGl0IGhhcyBzaG93biB0aGF0 IHRoaXMgaXMgbm90IGEgcmVhbCBidWcsIGp1c3QgYSANCndhcm5pbmcgdGhhdCBjYW4gYmUgZWl0 aGVyIGZpeGVkIHdpdGggYSBwcm9wZXIgY2FzdCBvciBieSBhZGRpbmcgcmN1IA0KbG9ja3Mgd2hp Y2ggbWlnaHQgbm90IGJlIG5lY2Vzc2FyeS4NCg0KU28gSSdtIG5vdCBzdXJlIHRoaXMgaXMgYSBn b29kIGNhbmRpZGF0ZSBmb3IgLXN0YWJsZS4NCg0KSW4gDQpodHRwczovL3d3dy5rZXJuZWwub3Jn L2RvYy9odG1sL2xhdGVzdC9wcm9jZXNzL3N0YWJsZS1rZXJuZWwtcnVsZXMuaHRtbCANCml0IGlz IHNhaWQgIkl0IG11c3QgZml4IGEgcmVhbCBidWcgdGhhdCBib3RoZXJzIHBlb3BsZSAobm90IGEs IOKAnFRoaXMgDQpjb3VsZCBiZSBhIHByb2JsZW3igKbigJ0gdHlwZSB0aGluZykiDQoNCkJ1dCB1 cCB0byB5b3UuDQoNCj4gDQo+PiBSZWdhcmRpbmcgbW9kdWxlLW5leHQsIEFGQUlDUyBhdCB0aGUg bW9tZW50IHdlIHN0aWxsIGhhdmUgb25seSB0aGUgMTANCj4+IGZpcnN0IHBhdGNoZXMgb2YgdjYg aW4gdGhlIHRyZWUuIEkgZ3Vlc3MgdGhlIHdheSBmb3J3YXJkIHdpbGwgYmUgdG8NCj4+IHJlYmFz ZSBtb2R1bGUtbmV4dCBhbmQgZHJvcCB0aG9zZSBwYXRjaGVzIGFuZCBjb21taXQgdjkgaW5zdGVh ZC4NCj4gDQo+IFJpZ2h0LCBJJ2xsIGp1c3QgZ2l0IGZldGNoIGFuZCByZXNldCB0byBMaW51cycg bGF0ZXN0IHRyZWUsIHNvIEknbGwgZHJvcA0KPiBhbGwgb2YgdGhlIHN0dWZmIHRoZXJlIG5vdy4g QW5kIHRoZW4gdGhlIGhvcGUgaXMgdG8gYXBwbHkgeW91ciBuZXcgZnJlc2ggbmV3DQo+IGNsZWFu IHY5Lg0KPiANCg0KQWFyb24sIGRvIHlvdSBwbGFuIHRvIHNlbmQgdjkgYW55dGltZSBzb29uID8N Cg0KVGhhbmtzDQpDaHJpc3RvcGhl