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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD30DC636D4 for ; Tue, 7 Feb 2023 16:19:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 650946B00F9; Tue, 7 Feb 2023 11:19:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 600AD6B00FA; Tue, 7 Feb 2023 11:19:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 47A6F6B00FB; Tue, 7 Feb 2023 11:19:49 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 33C4E6B00F9 for ; Tue, 7 Feb 2023 11:19:49 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 028891A08A9 for ; Tue, 7 Feb 2023 16:19:48 +0000 (UTC) X-FDA: 80441006898.16.3CDC99D Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2080.outbound.protection.outlook.com [40.107.223.80]) by imf04.hostedemail.com (Postfix) with ESMTP id 19BCD40022 for ; Tue, 7 Feb 2023 16:19:44 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=LwUqbK14; spf=pass (imf04.hostedemail.com: domain of ziy@nvidia.com designates 40.107.223.80 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675786786; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=sev+teseRgp9nFz7cpwcz3AFTJJfFwEf+0s+FPVSqpk=; b=rADs7qkiHzduoEd2dsTInd5fN6t4WwvCiOtkRlK+fqKu0M2NwEVj+oNcRU3mEHDnxn7qxC rGwcmyz1ccULgo4mLsbH8PzvQWICz1pZziuxE1Br34++QAkVZNRkrBN0LtfzeV1i4eEpoj scKppVLenDt3EnlJ8wzA49CHCSpiTcU= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=LwUqbK14; spf=pass (imf04.hostedemail.com: domain of ziy@nvidia.com designates 40.107.223.80 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1675786786; a=rsa-sha256; cv=pass; b=GVOClg1m8DRhzmyCFtgh9ZN//hdG4vEO8OqTbET8LbXrN1s7ecE86KgkuGifaK0ws2x5Q8 GfvuVEWj+vHTMQLo7MR0nFydnN7U8pXHkLloMe8ASKCDYgKTVzQF757pwGSD78vrGie7iM KQcmfU2cWsHb5SoATor143YJJwIpkBQ= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ARpFh5tmP07XmdSvlaQYLVY/xyLDv6IFw+bfKRu5K7E6/hO8Sw3nicb1AmfrXnu6m8CYSxjcP6TKaD6Zodo/yV2R0drTvPggiZl0t1pFngfFq7bymiuxycyWvVuH39W7xGb5cPLIbPaKVawjpRIJKpHU/NUEQZ+E/ePOzLbHd/1n2qTUQLigPSIjvjEoc8KWSYZlYZFaqV0bq1vHulgRk/iLWG5AfTIgrmdXywq3S5T6EXRT+xgQpiIdxstAXwC57jOBJGopKJTasuc8uzn4OU+W4MT2yKMru6LMPmOztVqx7XP/vBptdOgF3BRUNEGxWYiVVTynJAAqqDNqBP7iCg== 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=sev+teseRgp9nFz7cpwcz3AFTJJfFwEf+0s+FPVSqpk=; b=lSqC2t64rwdzObJ3d0ea0te+hCiZBIwiV/D0VbviYtpbXAGAZa/MxFn8oWlxmwC0RfSJFg/UgGtJZKH/8zPM+7T8fgkXVIfrskv9ItRyZ9eZataKjEGxwTFCXpy/FsQwN9FbpOHHZZZGXpJT4ItTUhkHu+28dp+AQH+VXfvjE5MWoTi/y5n8q0YFmXzxV2/IuQrH0HavWTHji1lbWi3/IxFC4MsHp3M57IzLR6DwBYV/+M9dJXQcnWJlCyX7ulSawZrUxBmh1KTwge8BjTsPinN42LTSSLDyEwXFQLasiLLKTSZDXzhv8gfqVxh1ifvrqexzYoJy2D07YXbKRijRlg== 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=sev+teseRgp9nFz7cpwcz3AFTJJfFwEf+0s+FPVSqpk=; b=LwUqbK14wywaVh6qN7lN5xvLCRSe3APkAvU4VnN2coiKAj3fxyw71SkL6u/xOq7o5m1PzZqze5d4iON/wlFZLGjiwi219wb2tGiAVBycxyPsamGZsYnVMA5AZAkEAXEJEgEPcqBnM5ndhUSRAHVSGFt8qbn/CXx4gvv+4L0Ig0O5nT/vJDNnHNlWsXSz6EJfJn+U/4lr/wMqXOm3DxYo8VG1iwEOEWqrckeLaV7/t87+BwxpNk2qL1MrbomQp3fuyi0QHkVFnF4dR0JH9D1CiWW5Vz6r/RsPWQ5VPpKeDp014zn/FzDeI9DUi6aX9xbcJSe9oCiefaSpaKAQ+bS65g== Received: from DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) by SN7PR12MB6930.namprd12.prod.outlook.com (2603:10b6:806:262::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.35; Tue, 7 Feb 2023 16:19:43 +0000 Received: from DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::2585:153b:98ea:3e23]) by DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::2585:153b:98ea:3e23%9]) with mapi id 15.20.6064.036; Tue, 7 Feb 2023 16:19:43 +0000 From: Zi Yan To: Matthew Wilcox Cc: Mike Kravetz , linux-mm@kvack.org, Vishal Moola , Hugh Dickins , Rik van Riel , David Hildenbrand , "Yin, Fengwei" Subject: Re: Folio mapcount Date: Tue, 07 Feb 2023 11:19:40 -0500 X-Mailer: MailMate (1.14r5937) Message-ID: <8325B718-5179-43F8-B211-26D8DEBF77C2@nvidia.com> In-Reply-To: References: Content-Type: multipart/signed; boundary="=_MailMate_BF719CD5-FB1E-4A20-B125-2AA646B303C2_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: MN2PR11CA0015.namprd11.prod.outlook.com (2603:10b6:208:23b::20) To DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB5744:EE_|SN7PR12MB6930:EE_ X-MS-Office365-Filtering-Correlation-Id: 1ff7f6ce-b8ed-43da-e33f-08db09271ed6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kbz6d9CIvAG/0vZD36oKoV1rw/McggWBRzEZh+8X23AsFZefKqsKzoMe3PDo3icANYkvDdCg2PZGHkn3x3IFI71ynKzdCzUhE0oRhucyYnw5VuIJHH3kz3/bw/1lvfTQn2iRoAHatRr0MVTTlr6fQ1jhptyoTwU41VYZ+YRdqtjs6tbEknvj3jRhJsEdebPZQR61xdcsiVhFAQq9ryDJPxdKRpZA0pSI3Nj3FMHVD4YD/9Km37DFoG/CJx68MwEjD0tUriMv6ESAFgwUChcCriB6X990cJwMElTwP9KmSrZGUWBTBBR/2X6guV61Y4LcMJ7xQIGF/hzgPgwckVjQoMWOxNfw1fi3qojU05YQ4JCcQJl0qkCf4kVvCkjMonUSbyA30eSBqHr774RZiFhO+m4ZKLY4Mgfr0kCmcSm8HebOe9FW7B6/p2p8nYF+iqkSeqly+4LGQIyopKBmtYf+2MZMR73PmhK8qDmNt9gCuoYDRmLgIJqbzAbxzKp6hZ/FgKdGd8QZEitsuiUzwzOjkLcJTrjS8b4L3LfKh7zkBhvNm2CynIpzohvdbeZniuNqa38RjYvWrAyTRAVR3xxmCRn0/rrNo5OtL/+rlb2i6T/0+udvztUG/bGFjTzxRFmqGx340L/nYY/Qnan8ENmHOwhigzhyWi4ItcqKcwi1B3d5SY5DfcU12e/u9ut+VFVdDsv7b1r0dzQ0HDRImgYPaubLg8Z+K46k+KtSVObXImY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB5744.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(376002)(136003)(39860400002)(396003)(346002)(451199018)(86362001)(38100700002)(33656002)(36756003)(66556008)(66476007)(8936002)(66946007)(4326008)(41300700001)(7116003)(6916009)(5660300002)(54906003)(316002)(235185007)(8676002)(2906002)(2616005)(3480700007)(478600001)(6486002)(186003)(26005)(53546011)(6512007)(6506007)(45980500001)(72826004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?D9DipHGJuUGpQ0UqXGtKekw68iphVBh3F1GBBlDe5Pn9DdQT0Xo01XB+eUV4?= =?us-ascii?Q?nekoJjInKzl3f5K3Zqzsks366Ge3gAKDSg3FxxFBbE8ZicJ+GlCMDjsg/9jL?= =?us-ascii?Q?iEwelne0HAgFhB6FSSfUdYnkjK9FgAvgG9N5DgtWo++PJfIN2KhjnZQSLtKI?= =?us-ascii?Q?UAUbbykQMzU5m0qR6Iq2RhDwnr28HAtkTZu6nWr5u5WmCS+klQRi4+TZlBLq?= =?us-ascii?Q?ecKrK4P2WFmBhGQrNnUeqPpkFjOVyMVDab+pc40ULc/n23NqXquBDoYg76d8?= =?us-ascii?Q?x9mMBGScFw4haCtusiL61cKLWXv071aGYj+zgqJu69cWFTam5+soa6I/1MIW?= =?us-ascii?Q?4izOwwlZo08V2cMHoFY8AD1sbJcgfdCaEZxkARhHyhnN7/nsEkxASXFla5Pb?= =?us-ascii?Q?/LoGEAPhA0ucaqheqKk8l1oFbMRbPCQgEXZ4+l5fLFhu+qXiFGK7DL64MIpz?= =?us-ascii?Q?vgSbgaU/7N0U2/t0PyT9C2u1sKG2D+xU4+/e6q657ZhwwGeA82TkINHjCrd2?= =?us-ascii?Q?lkKwBfE91wBEUs3qYc42a9lMrHys8Js6HKILOegUZkBYVBFzh9rdvzwDVnbY?= =?us-ascii?Q?GUA/HLsanZN2R4cBn03KYQai2+rCh78+mIe3Pn66YMlCiewnrSfrsidzARRY?= =?us-ascii?Q?xwzHQah7ntkjVE9gIKMS2Z7hyo5P3UwnWeGUz8Qse/7AuMkED0kGj8b5TPBz?= =?us-ascii?Q?3WpGQKJG/Lz/tzf1NnbCpA22ktTOQV9zNMOP65dQHRuK16t0KPxNnBVBVJqL?= =?us-ascii?Q?FXoYeIbTqIT0lGBWJHR+mUfUDakdP8CUBPTLgHYdKYKkX7DpBnodK8AlTlIE?= =?us-ascii?Q?Fgr5zImVRqdDRIYixtbJAvKqpolTJhSklMsHWO5doVfDOhuXWJheeVTRHkxz?= =?us-ascii?Q?HJO3rDNLDlLHOwFze9hUiKO2pvEE2LGKoNqroxlGNLB3nLBxQM6AL9Zz8TMr?= =?us-ascii?Q?RNl8wDt00jrrwnyJLr72hbp0gwDFShvNuS0UmrdDG7U8p2s/uKuUjgOductU?= =?us-ascii?Q?klUaRbu3oJfETpzTydpuukOpHDT3KAo/Dx82qN5W73E9rE2Kb+z47SvImj5Z?= =?us-ascii?Q?DTk6BvLxXHnP5ADxfs1myb3lrdfJRl64EREDmowH8jE6v3mBd+YyVyOsrC6v?= =?us-ascii?Q?s45zIJkGAekOG7mwOQBxlRvIaAwlN21+5JY1WyBf07EAQ2vkBlsOTyqMxD9d?= =?us-ascii?Q?QPes79rsfUoDU2CUM/5fLKsZzEgb3+NxjoLISBSnjOEAJI8Iq9X39IwOg+29?= =?us-ascii?Q?nvBsPPnNkB4WRrZiihvDnf/WcInwzofwS+HJIRnk3SwNXSUSiadCZJ7T1c44?= =?us-ascii?Q?ldqBBqGgeWiEVagL2DojOHMSvBBLeGQ247UQpWOFy3QxlLcQmFkoM9iKq1i5?= =?us-ascii?Q?nzX2b46uKrOWCITfBOrPCJvKIzyAf5vjYKK2Q0d42l9RLc8iXCwRihGZbM7t?= =?us-ascii?Q?epxG2dGzhZUhqDcHwRq3JxoOcxfROqBNf1hqUlukF4Hjb25W7AlzPpHKgghc?= =?us-ascii?Q?k9MPAocZaBFfgd4xFjX7RK89vlcQlv3jDHDpR/tqEepkhpYY2EOn5YTxYxHz?= =?us-ascii?Q?lgSPBoU8xtUpbp+tp2FvHldrHQieVGF/HcIl3br/?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ff7f6ce-b8ed-43da-e33f-08db09271ed6 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5744.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2023 16:19:43.1187 (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: tHCrxPCj55QZ7+lHmEYibxxk3piW+OBuQKoQ76yskGb6x8NpHtXIUQxLo7YGHWGs X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6930 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 19BCD40022 X-Stat-Signature: 1ugm5dzugamp6g6hefshx474zipf38o9 X-HE-Tag: 1675786784-432927 X-HE-Meta: U2FsdGVkX19fQaOpokZB1LPjHALuAxgVLjUxKvRobwClGFEh3lxVao0nacdWFOfBU0Sq1eFxlqJ4NCgVqg3niYkD5XP/cNjetHSggzxCmkUZtFx4nn9PDt5dS3NsfVPD2kqTr6AMz2k/Vk+EfEPg9N26N4tj9co3CddWzbj0rZfyBWNPLRukhOmCye7YKiWfRhdOBtccGe0ZBn/R5fKmAWDVTnCWe3X+sIx1xVST8+PVGW/1K0I8FZTjeFhjIgOuwyRmLgS9ONzHvTlp4USftSzQlStO4e7JMmo8ETqc160tSZ8ocqAzzJ/BEWxev3lYSwWmucKThvuoBUXEfnPjepRUWeDX9i6jDjPAe0sgSV7u+KFCczF2WLqiQnBSQZXDJotC+D4z2pUII/+pnPgeBX+23G+CQT0QLcScqXgTth/dyV383ODO8fgkWvT4QJ2YX7x2Fqowz+V9hv1L1AdhGNcCnzL6rMRUmDIckOeOEeRsSWmvmgjzqRKmKdGDNZlQzDjTqf/AZbxsByUocDe5vxBsGLfWlL21Xl5KlxSSVH+YFDe8uUL98E/W047MTKhVf6AuaRksWW6ApOHSnm+YogGWYz2JG+aGPjMqzqmoDob/YJylfoddTZITrghqU8Umtr+mOXh9rEnc6XZwIKm976HIaNFWjzmXyq+XMeIvUn9R4EwtPRJAtQ3N1NdpDudWge/diBmuWMj4TvJn5UD2kPHvojxEHVin2jpuOTeAVZW1iGic3YNcDxh93G93dtAlVm1fzbRqZSf15dCGaba9gJSmcZuUxdG1Xc0GyvgpOYwFxDQyH2DCO2e1/L3xOkHeOeDj+/tX1ZbveNT7HilzgP1UaTJLjN+JhtVYZyF4v0BWld1GYCU2T6OGzTlgeQ0jDSSJjNCumUkhfmZlFbbNFFCqDp1WXEJ6TDaRBkfq4h/yBn/bM6+VdbYcu5ky1OQqCKVZXDEYKzIXN++4upn ZTmcygai W5GNAvjOYh6nkYnMJdTeKGMNlUXTLNhbo53hp6rSgFACmu9MKIM+8fP6T3QoJsD0j3lkT1tA8LU9RNy9Xfq+PHHCWKlg1tNpgwTm2947Kr/O2KVRXHueQ3tYLTeUZnw7eblsR+TyANqL0YRkILQMIjkAfFJ/ZKr7ufo1QfQkETC70MwHJA+npmmDJG3r+ZoaNuIrGDEAJmwljVykkil4ZsWkrix55FqPHsdaI9COSnwwFEP+BvPN4I9nW0XBUPKI77iHfDkcuU/gb+JRp7XqgjCV7i0ioqA1wA77WSEGP0RNNQ0D4oauI883rhaz9LNp7sbDXiFXM4ALPALiaMU35GP67gimEMAjR7VrGzML1/kp4fWSlgeY50c0jdbFTcgsh5mD2 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --=_MailMate_BF719CD5-FB1E-4A20-B125-2AA646B303C2_= Content-Type: text/plain On 2 Feb 2023, at 10:31, Matthew Wilcox wrote: > On Wed, Feb 01, 2023 at 07:45:17PM -0800, Mike Kravetz wrote: >> On 01/24/23 18:13, Matthew Wilcox wrote: >>> Once we get to the part of the folio journey where we have >>> one-pointer-per-page, we can't afford to maintain per-page state. >>> Currently we maintain a per-page mapcount, and that will have to go. >>> We can maintain extra state for a multi-page folio, but it has to be a >>> constant amount of extra state no matter how many pages are in the folio. >>> >>> My proposal is that we maintain a single mapcount per folio, and its >>> definition is the number of (vma, page table) tuples which have a >>> reference to any pages in this folio. >> >> Hi Matthew, finally took a look at this. Can you clarify your definition of >> 'page table' here? I think you are talking about all the entries within >> one page table page? Is that correct? It certainly makes sense in this >> context. >> >> I have always thought of page table as the entire tree structure starting at >> *pgd in the mm_struct. So, I was a bit confused. But, I now see elsewhere >> that 'page table' may refer to either. > > Yes, we're pretty sloppy about that. What I had in mind was: > > We have a large folio which is mapped at, say, (1.9MB - 2.1MB) in the > user address space. There are thus multiple PTEs which map it and some > of those PTEs belong to one PMD and the rest belong to a second PMD. > It has a mapcount of 2 due to being mapped by PTE entries belonging to > two PMD tables. If it were mapped at (2.1-2.3MB), it would have a > mapcount of 1 due to all its PTEs belonging to a single PMD table. What is the logic of using PMD as the basic counting unit? Why not use PTE or PUG? I just cannot understand the goal of doing this. > > [ Mike & I spoke earlier this week about what should happen with mapcount > and a theoretical aligned 1GB THP that has its PUD mapping split into > PTE mappings. Splitting a PMD to PTEs does not affect the mapcount > since all of the PTEs are now referenced from a single PMD table instead > of from a PMD entry. But splitting a PUD to PTEs should increment the > mapcount by 511 since the folio is now referenced from 512 PMD tables. ] -- Best Regards, Yan, Zi --=_MailMate_BF719CD5-FB1E-4A20-B125-2AA646B303C2_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEE6rR4j8RuQ2XmaZol4n+egRQHKFQFAmPieh0PHHppeUBudmlk aWEuY29tAAoJEOJ/noEUByhUNPgP/RWZsw8gJgVKDuE1q0E1npyQTmTYAckMMHTA CFT1m+nsTPHv0hFRXZQ3QJqqzYWKtRfGVG0F3C0W3PIFHQreir6bOGvhe0MHo3Ez m2qz5Id1fxI84RNTgZ7ALEG1cpn60EncytTKnF1FJu4PuYoZc96hSaEHD9rTl0cX kJbriVeBbICm+Bh7xDJUDjzto3u9UpkhtdqYucOaFwFvg1JMMt1N1xPSuFbp++Ae 0BlTi25LwmuBq9q0BXcy5GB2KVzr8wMn83lwnDoqhG1PDMVCgGCHDYl6hoSlXjdz 6EqXCTR3fl4M5CcsoR1IcAe0rvEAVo11SPnJGmFdGY9J7HNhQsjw2N87nw4FTSzQ j+QlS0//cdoBXI8WtdBV/Z8Jjcz3/76KGfQsgP/T9EKzNlhJXLJSqKb8OIejwqH7 +//XDb5X7e7fjm5PYhhDrqfZ0RhdhRWgTSNmSyQYsEbazrzmOUnJP/RcS4hGWh41 1RVXHuePuimAO2MTyUxfPepP1qcoobm5Za+0CilEcNJUxMsoZjykZbHni+bWjFNu eVMxU7RGPHZo9eR+T9XeocuZdv5vKqhRQtIXlVzhYo86lqv1MfAuUOnevNaZG48E aklc4CCL9bGm9vLNjunwrT+/CvKECQiKKTBglKCvLEqOPxSoaViW5fGI0AozVOfg EyTAPYb7 =2Gk+ -----END PGP SIGNATURE----- --=_MailMate_BF719CD5-FB1E-4A20-B125-2AA646B303C2_=--