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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A320C433F5 for ; Mon, 22 Nov 2021 21:11:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239871AbhKVVOT (ORCPT ); Mon, 22 Nov 2021 16:14:19 -0500 Received: from mga04.intel.com ([192.55.52.120]:63688 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232757AbhKVVOQ (ORCPT ); Mon, 22 Nov 2021 16:14:16 -0500 X-IronPort-AV: E=McAfee;i="6200,9189,10176"; a="233602622" X-IronPort-AV: E=Sophos;i="5.87,255,1631602800"; d="gz'50?scan'50,208,50";a="233602622" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2021 13:11:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,255,1631602800"; d="gz'50?scan'50,208,50";a="606570337" Received: from lkp-server02.sh.intel.com (HELO 9e1e9f9b3bcb) ([10.239.97.151]) by orsmga004.jf.intel.com with ESMTP; 22 Nov 2021 13:11:04 -0800 Received: from kbuild by 9e1e9f9b3bcb with local (Exim 4.92) (envelope-from ) id 1mpGad-0000hr-IJ; Mon, 22 Nov 2021 21:11:03 +0000 Date: Tue, 23 Nov 2021 05:10:21 +0800 From: kernel test robot To: Christophe Leroy , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , alex@ghiti.fr Cc: kbuild-all@lists.01.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/8] powerpc/mm: Make slice specific to book3s/64 Message-ID: <202111230528.7rsJ69Pb-lkp@intel.com> References: <14e2c0b0d4fff49c1cb30166f54ce8e445e17b16.1637570556.git.christophe.leroy@csgroup.eu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="qDbXVdCdHGoSgWSk" Content-Disposition: inline In-Reply-To: <14e2c0b0d4fff49c1cb30166f54ce8e445e17b16.1637570556.git.christophe.leroy@csgroup.eu> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --qDbXVdCdHGoSgWSk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Christophe, I love your patch! Yet something to improve: [auto build test ERROR on powerpc/next] [also build test ERROR on hnaz-mm/master linus/master v5.16-rc2 next-20211118] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Christophe-Leroy/Convert-powerpc-to-default-topdown-mmap-layout/20211122-165115 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc64-randconfig-r021-20211122 (attached as .config) compiler: powerpc64-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/1d0b7cc86d08f25f595b52d8c39ba9ca1d29a30a git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Christophe-Leroy/Convert-powerpc-to-default-topdown-mmap-layout/20211122-165115 git checkout 1d0b7cc86d08f25f595b52d8c39ba9ca1d29a30a # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): arch/powerpc/mm/book3s64/slice.c: In function 'slice_get_unmapped_area': >> arch/powerpc/mm/book3s64/slice.c:639:1: error: the frame size of 1056 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] 639 | } | ^ cc1: all warnings being treated as errors vim +639 arch/powerpc/mm/book3s64/slice.c 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 428 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 429 unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len, d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 430 unsigned long flags, unsigned int psize, 34d07177b802e9 arch/powerpc/mm/slice.c Michel Lespinasse 2013-04-29 431 int topdown) d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 432 { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 433 struct slice_mask good_mask; f3207c124e7aa8 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-22 434 struct slice_mask potential_mask; d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 435 const struct slice_mask *maskp; d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 436 const struct slice_mask *compat_maskp = NULL; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 437 int fixed = (flags & MAP_FIXED); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 438 int pshift = max_t(int, mmu_psize_defs[psize].shift, PAGE_SHIFT); 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 439 unsigned long page_size = 1UL << pshift; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 440 struct mm_struct *mm = current->mm; 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 441 unsigned long newaddr; f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 442 unsigned long high_limit; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 443 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 444 high_limit = DEFAULT_MAP_WINDOW; 35602f82d0c765 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 445 if (addr >= high_limit || (fixed && (addr + len > high_limit))) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 446 high_limit = TASK_SIZE; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 447 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 448 if (len > high_limit) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 449 return -ENOMEM; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 450 if (len & (page_size - 1)) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 451 return -EINVAL; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 452 if (fixed) { 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 453 if (addr & (page_size - 1)) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 454 return -EINVAL; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 455 if (addr > high_limit - len) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 456 return -ENOMEM; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 457 } 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 458 60458fba469a69 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-04-17 459 if (high_limit > mm_ctx_slb_addr_limit(&mm->context)) { 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 460 /* 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 461 * Increasing the slb_addr_limit does not require 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 462 * slice mask cache to be recalculated because it should 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 463 * be already initialised beyond the old address limit. 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 464 */ 60458fba469a69 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-04-17 465 mm_ctx_set_slb_addr_limit(&mm->context, high_limit); 54be0b9c7c9888 arch/powerpc/mm/slice.c Michael Ellerman 2018-10-02 466 54be0b9c7c9888 arch/powerpc/mm/slice.c Michael Ellerman 2018-10-02 467 on_each_cpu(slice_flush_segments, mm, 1); f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 468 } 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 469 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 470 /* Sanity checks */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 471 BUG_ON(mm->task_size == 0); 60458fba469a69 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-04-17 472 BUG_ON(mm_ctx_slb_addr_limit(&mm->context) == 0); 764041e0f43cc7 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2016-04-29 473 VM_BUG_ON(radix_enabled()); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 474 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 475 slice_dbg("slice_get_unmapped_area(mm=%p, psize=%d...\n", mm, psize); 34d07177b802e9 arch/powerpc/mm/slice.c Michel Lespinasse 2013-04-29 476 slice_dbg(" addr=%lx, len=%lx, flags=%lx, topdown=%d\n", 34d07177b802e9 arch/powerpc/mm/slice.c Michel Lespinasse 2013-04-29 477 addr, len, flags, topdown); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 478 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 479 /* If hint, make sure it matches our alignment restrictions */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 480 if (!fixed && addr) { b711531641038f arch/powerpc/mm/slice.c Christophe Leroy 2020-04-20 481 addr = ALIGN(addr, page_size); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 482 slice_dbg(" aligned addr=%lx\n", addr); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 483 /* Ignore hint if it's too large or overlaps a VMA */ 3b4d07d2674f6b arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-02-26 484 if (addr > high_limit - len || addr < mmap_min_addr || 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 485 !slice_area_is_free(mm, addr, len)) 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 486 addr = 0; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 487 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 488 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 489 /* First make up a "good" mask of slices that have the right size d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 490 * already d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 491 */ 6f60cc98df2be7 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 492 maskp = slice_mask_for_size(&mm->context, psize); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 493 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 494 /* 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 495 * Here "good" means slices that are already the right page size, 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 496 * "compat" means slices that have a compatible page size (i.e. 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 497 * 4k in a 64k pagesize kernel), and "free" means slices without 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 498 * any VMAs. 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 499 * 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 500 * If MAP_FIXED: 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 501 * check if fits in good | compat => OK 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 502 * check if fits in good | compat | free => convert free 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 503 * else bad 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 504 * If have hint: 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 505 * check if hint fits in good => OK 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 506 * check if hint fits in good | free => convert free 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 507 * Otherwise: 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 508 * search in good, found => OK 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 509 * search in good | free, found => convert free 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 510 * search in good | compat | free, found => convert free. 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 511 */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 512 d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 513 /* d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 514 * If we support combo pages, we can allow 64k pages in 4k slices d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 515 * The mask copies could be avoided in most cases here if we had d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 516 * a pointer to good mask for the next code to use. d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 517 */ d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 518 if (IS_ENABLED(CONFIG_PPC_64K_PAGES) && psize == MMU_PAGE_64K) { 6f60cc98df2be7 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 519 compat_maskp = slice_mask_for_size(&mm->context, MMU_PAGE_4K); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 520 if (fixed) d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 521 slice_or_mask(&good_mask, maskp, compat_maskp); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 522 else d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 523 slice_copy_mask(&good_mask, maskp); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 524 } else { d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 525 slice_copy_mask(&good_mask, maskp); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 526 } d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 527 d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 528 slice_print_mask(" good_mask", &good_mask); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 529 if (compat_maskp) d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 530 slice_print_mask(" compat_mask", compat_maskp); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 531 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 532 /* First check hint if it's valid or if we have MAP_FIXED */ 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 533 if (addr != 0 || fixed) { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 534 /* Check if we fit in the good mask. If we do, we just return, d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 535 * nothing else to do d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 536 */ ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 537 if (slice_check_range_fits(mm, &good_mask, addr, len)) { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 538 slice_dbg(" fits good !\n"); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 539 newaddr = addr; 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 540 goto return_addr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 541 } 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 542 } else { 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 543 /* Now let's see if we can find something in the existing 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 544 * slices for that size 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 545 */ 830fd2d45aa116 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 546 newaddr = slice_find_area(mm, len, &good_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 547 psize, topdown, high_limit); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 548 if (newaddr != -ENOMEM) { 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 549 /* Found within the good mask, we don't have to setup, 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 550 * we thus return directly 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 551 */ 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 552 slice_dbg(" found area at 0x%lx\n", newaddr); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 553 goto return_addr; 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 554 } 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 555 } 7a06c66835f75f arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-11-10 556 /* 7a06c66835f75f arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-11-10 557 * We don't fit in the good mask, check what other slices are d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 558 * empty and thus can be converted d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 559 */ 7a06c66835f75f arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-11-10 560 slice_mask_for_free(mm, &potential_mask, high_limit); b8c93549142077 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 561 slice_or_mask(&potential_mask, &potential_mask, &good_mask); 830fd2d45aa116 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 562 slice_print_mask(" potential", &potential_mask); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 563 ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 564 if (addr != 0 || fixed) { ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 565 if (slice_check_range_fits(mm, &potential_mask, addr, len)) { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 566 slice_dbg(" fits potential !\n"); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 567 newaddr = addr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 568 goto convert; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 569 } ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 570 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 571 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 572 /* If we have MAP_FIXED and failed the above steps, then error out */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 573 if (fixed) d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 574 return -EBUSY; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 575 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 576 slice_dbg(" search...\n"); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 577 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 578 /* If we had a hint that didn't work out, see if we can fit 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 579 * anywhere in the good area. d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 580 */ 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 581 if (addr) { 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 582 newaddr = slice_find_area(mm, len, &good_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 583 psize, topdown, high_limit); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 584 if (newaddr != -ENOMEM) { 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 585 slice_dbg(" found area at 0x%lx\n", newaddr); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 586 goto return_addr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 587 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 588 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 589 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 590 /* Now let's see if we can find something in the existing slices 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 591 * for that size plus free slices d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 592 */ 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 593 newaddr = slice_find_area(mm, len, &potential_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 594 psize, topdown, high_limit); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 595 203a1fa6286671 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 596 if (IS_ENABLED(CONFIG_PPC_64K_PAGES) && newaddr == -ENOMEM && 203a1fa6286671 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 597 psize == MMU_PAGE_64K) { 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 598 /* retry the search with 4k-page slices included */ d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 599 slice_or_mask(&potential_mask, &potential_mask, compat_maskp); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 600 newaddr = slice_find_area(mm, len, &potential_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 601 psize, topdown, high_limit); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 602 } 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 603 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 604 if (newaddr == -ENOMEM) d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 605 return -ENOMEM; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 606 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 607 slice_range_to_mask(newaddr, len, &potential_mask); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 608 slice_dbg(" found potential area at 0x%lx\n", newaddr); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 609 slice_print_mask(" mask", &potential_mask); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 610 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 611 convert: f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 612 /* f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 613 * Try to allocate the context before we do slice convert f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 614 * so that we handle the context allocation failure gracefully. f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 615 */ f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 616 if (need_extra_context(mm, newaddr)) { f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 617 if (alloc_extended_context(mm, newaddr) < 0) f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 618 return -ENOMEM; f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 619 } f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 620 d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 621 slice_andnot_mask(&potential_mask, &potential_mask, &good_mask); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 622 if (compat_maskp && !fixed) d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 623 slice_andnot_mask(&potential_mask, &potential_mask, compat_maskp); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 624 if (potential_mask.low_slices || db3a528db41caa arch/powerpc/mm/slice.c Christophe Leroy 2018-02-22 625 (SLICE_NUM_HIGH && d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 626 !bitmap_empty(potential_mask.high_slices, SLICE_NUM_HIGH))) { d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 627 slice_convert(mm, &potential_mask, psize); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 628 if (psize > MMU_PAGE_BASE) 54be0b9c7c9888 arch/powerpc/mm/slice.c Michael Ellerman 2018-10-02 629 on_each_cpu(slice_flush_segments, mm, 1); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 630 } f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 631 return newaddr; 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 632 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 633 return_addr: f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 634 if (need_extra_context(mm, newaddr)) { f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 635 if (alloc_extended_context(mm, newaddr) < 0) f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 636 return -ENOMEM; f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 637 } 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 638 return newaddr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 @639 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 640 EXPORT_SYMBOL_GPL(slice_get_unmapped_area); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 641 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --qDbXVdCdHGoSgWSk Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 H4sICNLpm2EAAy5jb25maWcAlFxbc9s4sn6fX6FyXnYfkvEtTlJbfgBBUMKIJBgAlGy/sBxb ybjWtnJkec5kf/12A7wAIKhkt2ozdnezcWs0vm40/Oa3NzPyut8+3e4f7m4fH3/Mvm2eN7vb /eZ+9vXhcfOvWSpmpdAzlnL9DoTzh+fXv3//vv3/ze773ez9u5OLd8dvd3ens+Vm97x5nNHt 89eHb6+g4WH7/Nub36goMz5vKG1WTCouykazK3151Gq4OH/7iBrffru7m/1jTuk/Zycn707f HR85X3LVAOfyR0eaD9ouT06OT4+Pe+GclPOe15OJMjrKetABpE7s9OzDoCFPUTTJ0kEUSHFR h3HsdHcBuokqmrnQYtASMBpR66rWUT4vc16yEasUTSVFxnPWZGVDtJaOiCiVljXVQqqByuXn Zi3kcqAkNc9TzQvWaJKAIiWk0we9kIzABJSZgH9AROGnsIpvZnNjFo+zl83+9fuwrrzkumHl qiESJoQXXF+enQ6dKirsrWYKG3kza+lrJqWQs4eX2fN2jxr7GRWU5N2UHh15nW4UybVDXJAV a5ZMlixv5je8Gkbhcq5uBrov3Peml4x0KGUZqXNthum03ZEXQumSFOzy6B/P2+fNP3sBtSZO h9S1WvGKelNANF00n2tWs0izVAqlmoIVQl7jQhO6GLTViuU8CYZLJKgjNWxSaAwmMe/WDUxg 9vL65eXHy37zNKzbnJVMcmosRC3E2tlcAafJ2YrlcX7B55JoXKwom5d/MOqzF0SmwFIwQ41k ipVp/FO6cFcUKakoCC99muJFTKhZcCZxRq59bkaUZoIPbOhOmebM3TJdJwrF8ZtJRrQ/mZCU pe024uXcMYGKSMVajb0VuCNOWVLPM+Vaw5vZ5vl+tv0aLGLYI7OdV8O6B2wKu2oJa1hqZ5jG XtCpaE6XTSIFSSlR+uDXB8UKoZq6SolmneXph6fN7iVmfKZNUTIwL0fV4qapQJdIubdTwOsB h8My+VPjsbM6z6fZkR224PMFGqCZPLP+/WSP+t27oSoLdh0DUvMH192Q4dfYeFFqtDzDpz6h IfmaXKvG3TUdq/M7htePEbl1WUm+GgSyLGpIfgc79ZVkrKg0TFbJrLMdmnZ5bqMdfSXyutRE Xkenv5WKLED3PRXweTd/tKp/17cv/57tYQ1mt9Dnl/3t/mV2e3e3fX3ePzx/C4wIPmgINTrs dutbXnGpA3ZTgq9axc0oJg62HZXF3Wr23CAbGWCiUjyuKQNPDoLeARjymtVZfPoUjy7jL8xT f5TAmLgSeeemzTxLWs9UZF/CmjTAc7sKvzbsCjZmbBGVFXY/D0iAIJTR0TqKCGtEqlMWo2tJ aMBAxUrDtkKoUbg7BjklA1+s2JwmOW8BSDt//vh7D760P1w+hRSzWO6s8OUCPDw4jiiIQcQC O37BM3158sGl42oU5Mrlnw47gpd6CTAnY6GOs0CGlym76hZT3f25uX993OxmXze3+9fd5sWQ 26FGuN4ZoOqqAgwI6LIuSJMQANDUO7la8Antnpx+9Mi8qHJOwS1lsAJw5ol6vrg8ert+ePr+ +HD3sH/7FQKK/Z+77eu3Py/fHzlO2Wsqhn/moKxyjquKzJl1FcwBvQCQ6Dz4NYBelraE/3j7 L1+2bUw23ii6YI4fzAiXTZRDMzgZAUeseaoX3tbR7gfTLVU8Ve53LVmmBYl6hZafwXa7YTIu UgFK1OrQ5ylbcRp3hq0EKEHndEgE/EI2PTDvwGxpBVc0MliDfmIeRtBlL0M08ZABIG/AVeBF Y11YMLqsBJgtHvMQFjnxlFkPQMtaGMUeUIfFTBkcThSQTDrNaVan3lKznFzHDgEwNJhoEz9I R535nRSgUokaMCPGFoOy1MQo0XkHXgK80ylmfuMbzcBxIyEjKLwBIOV8SuuN0mmUlwiBRzj+ HFsD2ogKTkp+wxAaG2sRsoBt70GJUEzBDzHIhogL4sAUQ1Qq4JBAg2gYRp1lEIX8upiQFQQB EI/J0lttqnM49yirtMlZ4NkTgL+KqmoJg4KjFUc1cO1x6fggQGQc9qN0B63mTBdwrnXAMDq9 1uoiEp1TsvGLh8uE4lctqo3CLjxA3HyA40AnR5QQiF0QY7stZbVmV5EmWCV8QcXnJcmzuAWZ nmYx72iCDjcPoxbWjXfHF/csmIumlvHjhKQrDgNo59HztaAxIVJyFktHLFH6unDOoY7SeFC+ p5p5Ql+AONNtBlffIPPoSPtgbOhNgz1NCF3GYjZHTF2XEHx53m1JCy+/AXHn5+jUgxaWptGT yRo49LnpA8fBwujJsecpDNxo03/VZvd1u3u6fb7bzNhfm2cApQSACEVYClHVgDVD5S1c+UU1 DnAvrJYOHUTPAlFUREP46hi+ykniGWleJ/E9mIspBklgKSQgkzbsmhbDsxpBaCNhw4riFwQx UQKQObY4alFnWc4sKAIzEXAiCQcW2SShB+KM/zKnoTfbflKv/76iF+cduqx227vNy8t2B3Hj 9+/b3d5ZworiAbA8U42RHyykYzBgRAbQJw0qL9SgDIF8VcdDIbFm8v1h9sVh9ofD7I+H2Z9C 9mgWnBUAWgZQX7L5mOoOmeToKeiEWklS8OVFUfs6enJndz7bpj9rVvnkMaUVJCNBUoWribRJ jIYC1ZJd+2qKAiwaEKaKNFpB39vAw2sJyXjkTTWCPoNqN11nMm6NKlwQ5/5SSoOFnaQ0KkqF kAlrT6l2L4wNvftilSpxduogWVjZBP1nmXLiZWKQk3OtYXNaZmQgF+eJm/XxVtd4+KKAuZYl AD0OYRlEi5ennw4J8PLy5Dwu0Dm+TtEQSB6QA319zGpWCyIJC/VtgkQy4swvxtgdyxwoTcYl +C+6qMvlhJxxXHExidkVdfl+CIvLgje84s76ajgWbTJgsKEO0EG4ACB9zOhczmLN+Hzh7xjf QLuTtRSqYg6PEZlfj/BTRco2AytqCNQ/DvdAZko9SIl3AGO6iUVEgWE0RASwN9BLu1GuXSpy 3aHOJkuDLtdpMm9OLt6/Px4PWCcIERxteEdgdI5lPTDoEHtI03XO2YCsIpU0cUAIVHjCpAXc CEoVT3IWiKgaphjM7yfsUpQQ54r2uPAl2uRFDWdeErqalKzdU3Fub7zMdYa6PHclMacPxl+E rvCK00Anp1WbRhzTF6uQphqpiQp1ht8iJarUMBROcH8aP97uERjFD2NzTpUr1yOJiuRgtHHs rcAYY/cOrkoArtybWCKJSZaqipe43YLhqSoHEbcLqY6FLq3iBq1sfu0hMUpAceygAYhvsV5w jYIt0mzyaGpbMgMNDzZV4McxBLyKHTc8KVZB2JEUoDeeaTENrIqpfhUk2MdIGSMpsMqJuw/z DYQcBZ9mq4nMMtpnUljMleQkjUXcKLRy7XcJaHteM/cCyO7/zir88cRsWmQ2aYDpDwgUvXtu s2ltGj7T0gs6jIvDzWRuukU+1V04/CHevgKX6p0ZReVfKuHvsOvnsZU3U/Px9P2n4fP6DJxJ ODp/a5u+mXttTN7OPfTdSYMS5mepkRjmlg0xy4laRDpnOg7dWWh7UA7rwBZ+g58+HMMCBA6t +jCmtRCep3no0wDCSEZ1UxmT725oZtlu83+vm+e7H7OXu9tH71LGLJ1kzrVpR2nmYmVqFhBO TLD7JL4HqAwbDv2JRGQn0V19oSIn0fQ/fITeU5FV9EI+9gEG9Sb/GO2xKynKlEFv4l44+gVa OZOr6Qur6FcGTNSaxxyuN9NuJu4povSX5+Pn8zA1/rgBDKOe7Fd0kL1xfg2Nc3a/e/jLSz2A mJ05Pdz0DDST/krZKjoY66FjTsMevZ2ewcA/C8k/O2T3Di+yk7px8PvHTdtzIPWjQ7K/2/xt 21HMRIFXT10g6TEL5lZDeSzNxARnAfFqm92zcARHXdG+a7M0nOvu8MUh+Q5mmDDepTC7SGxS qzt3diocijtlDogFf0o97SGEctNX2+9Ytub0f3HTnBwfu7YAlNP3x9E9Cayz40kW6DmOAY2b y5OhpsyGAwuJt9shEIAjs1TEFNQAqCtYPI2Uw+eY+la6ThqKZUaxRoWu8nruQ2psw1QkpTFw ZwC3id4QamNIwAB6eF9fnA+IvC1eygjPay87ya6Yd9wZQoNVbbF7C2ayWyTxk9wO2RSXRUuo 4ABt0trPhWbEkKZqFdD5sINCBk9jvnWyMoDYJFYMUOO9pxPrihQ2hr3h/dgjDWXyrjjP5pYU hWD/DV+ZINBObo7lA0ZLGBbB2sCx3S5BARJ5KGHKkUAA8DeJRF49e5Rh4nnO5hhT2EgQ8GFe s8vjv9/fb27vv2w2X4/t/3zTPV+aoH8qyrjo+AFawTxBewV+0THaGsXwZtxc8oSyNjuEF+43 omRCojv8FODzOjHNgFXHAYbpCDAbRUQzESxUJrAHKXMD4AczuJ9VES2BQbjLSjyHc66Cqyla pAYcD0WH7AocQKOJnDOtvAvDNlCOO54hDI91wbsWr4rpHB+ECrmb9yj6BIEthHOWbv3ZeveG ZRmnHAO2caJy9D1EBm5fbFxojXdi7tA+l+w6MBoLn3mu2/s2/2Khc/C9OSvY7LDPiIkWbBHX 68v4HOgr9ay8k4BUeZMn3gnjKhg2e4kQFjTYclM3oAbrE1mGsPj477tj/3+D2zRFqqBDHhKr FteKUzIIhgJme9tLiKELGLnVYIM3nQ0OzhkCvj7FP8Jb3fXB7e7uz4f95g7LS97eb77DPGye 9+NJtD45uK0y7j+g9dmcviN/gEMGQJNEjUFUOsz/2PK83v5qODH5vMRbf4pVV4G/Q6+LdW+a l03iF5AsJYsr59BlzJ+ibwhYy+gHk5qmut+qAfSM4fD4AjqrSwMG2rAzWm2LmaXCCYRt3hTO KQgw52qcJx2KiY3kAtZ+nBLEINtgQuuLw8Qf7j9QyrPrrrphLADW3p5PYduqwE3fFoGHU4IX Kg1Yr00Ct4vZbl5PTrkY3JAW6yaB3tqakIDnXEb609VNoK3XTsU8VEpkijjJVLBohuX3QW51 0O9fBg10DJ/a8bRwZbQWg/Uf5rp3z60YXhPNiV5AGxYv4Q1jlI0lcz8RsQcyvwlXdE1sUg6d eNYgRIUYDg7eYrTy7XSaIjdaVFd0MQ91wRp16BJUfa65jDdnAAIWVXcPBiJC7cXGL8mKPHXk YxOtGEWBAyz34OkOZ8uZumQ3C48+xBjPoPrX6PCrFG6qKdeiK9V1W4Gf8dmN2dRLLzdl2JHq 159LoDsIfeK4MjZErgLNvh4BWkMuQnLniEoEpOjHF/WcoRHG5JDXrLwc/piJt+XR9RMZoBQY ZOiPwBd1mJhRnrkVrMCqAYOb04Plmdl8kQlhVxwrtu2DBVy9QAabRh6IiHUZivQe07RgDm5v /w1D8K4FAwU+b7gujHzt3AVOKXFF/KtCmAJu3xX1l3SxrpYrSQo495wWaG6Kz+GrNfhUh4Hb UvF5i3GdD2wnWjahIXRp+Wen0E1jlFOFN6JqI+oWY8n1VTDwiMQY0Q5Hm4YzUvvaBm8QMg+V A7XC1s4mNA3MQ5oQFzbgGjzoigeXWzwTrrfxilMlcv79mwkbzPHQ7TALEKlYvf1y+7K5n/3b 4u/vu+3XBz9njEIjVNz33HC7Z2/Ev7I/pN4zOnwwiPkOL0zxicObnJ4MZ6rGyYH/S1HFyjsd Wdya9gWe18NfQ8h9ugPWE6vqXChoasoUeq7hkWHredxut3ZgI95ckHg02ErVZSgx8MfIaxKS dbYHlkwljXVHSdo9+5yqcewkoxWkLRP3srTZDv8VSsifrJsNBf3XfpNiYeGrL4a2vsaKZmVf l7TlyFgYj7vCmyibNQOPtLg8+v3ly8Pz70/bezDXL5ujYFXtO4ockLdbmpzgbnV/tYXFiZqP 3j44PO+h4FCMrNlccveoG7EafeJlPTsBzKPEZgT560T7GoHQFJ/DVtBTZCpUrrAKoiJxG0EB +ygWNiOV11WYzrDZ6Nvd/gE31Ez/+N6+guiDbIhHTKxE0hXeekTLMAs4RwZRZ/kIjZJVKlSM wTLukYfcc9BDb3FHpSE46uJzU1E+oiEc48InV0VgLc0CDkdA7V49u30UKoZ3IU58Doq5sBkr rJ42+aenCHN5nQDGde5nOkaSBZWm3ftFr73Br5Qng/66bFcYc8/GQ41gUH/cEA0oiDaycN6t GsdpP7ZIyr36kGvFiimmmasJXp8emE6M/yRl7nws1/FPR/Sh0rfgYu1s4fD3XrDEroOrzUlV oTMiaWocWHcvZ5ad/b25e93ffnncmLf9M1Niu3cMIOFlVmiEmiOcFWPBL23iZtipVkxRyaPP /lq+eQXiXvCBmnHOvbWeqW6bMRWbp+3ux6y4fb79tnmKpp0OpsOHVHdByprEODFhTMbCDzHW Cv5BpBxm1kcSYTqHKN3MXZ9vVnfJWGUqvv0Nwa5oXitTIHStNCgFRB18aTvQjbu98vFOT48z hR9HamDgYuUNLAeIXWnrxLDa8jymoBUr0lbUsWqrOsHz1DvILMGaYJDaitFMekIy9BFe5Bl5 pm4AMW6SRkcqMmE7aYj1/EB+qWKVPN31u1nygpdG6eX58acLbw6m78XC1Wg58ccSkVA4Xh2Q MzjlCDjl2KsRKQDsr/0qXzrx2AztdQiOI9puQk2G0EMoIfspgv8ioo42M/lRfiP+tw8+nscf Rx1oIXahf0h8QX9pvBPgcUr+8ujxP+d/3h35cjeVEPmgMjGpk6DtQOYsg3P/wBwE4spmRSZ7 6olfHv3ny+t90EfvWXrHwa+cX8OOjzrZa2yTNE9uty1tVAXUhWFtXtqW6LaJebc16CCTEg9p E6FZR4Fv8GI3S4aH2W1MkQ8jMCTDHCfRhjhb42MQPwnVoQBl/+gAMI3m2HFfBddZ9iIYR+3G rXXV/UWVWPMmT0X6Eo30dn87I3dY2j4rts8P++3Oi75T4sUO5tdmZZyYO4GGXCE5ekRPtdLx p0/poY2S6RGkTzd/PdxFykraUmgHGNvA1yOFv4xvKpE4+sMMQDRHSFJ7QUpXMoHfoEjMdIBM XPTYEtqrmQHrIr1hEDO7DRhhVUXLRVG+cuGGoaTVSAGYwIQCLHL2Rz71l0w6njGrbPwODfmY ll8Gz8L4+PbY40qbHOrwAL6/negq1q747eFf0BgRvW2BBIhyCp/CxSpQJHnY64ooHveXZkbB Dhpdl2z8RzVCqUPPwHohvPo4LDFRvTgWY/IU/3Fw5GCjU6ZL4Z94oYAjpBYV/alQW8H1UzlZ kdG+xk7cbZ/3u+0j/mmCoUTPWxhCJETrcjk1C1f4yu2qKdd5uKSZhn9PJmqxUADTHLGH0kav pESav+3kmw5SIjWqPas9hqYX1/b3Z3xYoqktfIVNhG0bIm7YiY9WZw2WiPtjwawcQOI81IZJ Lc1kHAv2I9WLusTMQjVRgzYSxI05OdsQC/h/7skjdwvh97JgKQcsuZyezE4Cl2WiBt7sJEkL peMvPHEYGIDMlYj/JRjbEKfQ166n03IQmfs1bu0J9/Lw7Xl9u9uYTUG38IMaPe4w3n4duv/1 2EgNFStY49TYZEIoeV2KaGkWOtDi6mI0+4AxiDw5u4rdOeBHCGO0dwvpUqOdyMk1mCQl1YTP A/CkQs/Nms904jGtnXFwoilpPk46ECI1oKWLYK5aamxye6Mc5t5vEhOoeTNfT7UI0XyRkOtA bUuNtbjkkofuhpnJaAKzdU9vpkQZKDIe7+TTeYBCOrJt2+etuIJfNY/1qy55teAh2GlI6Iqx TOXDeeCIO9R4wPZtcmf7BQ6Gh0dkbw7tjUIkfMV4gOJ6cmwAPS+yWwZjRO9x7qZwD3TJHl+3 9xt8tW7YwxH3EnmxhS1RkrLyv5x92ZLkNq7or9TTiZm4x8fapXzwg1JSZqpLSqklZaaqXxTl 7rJdMbV0VJVn7Pv1FyC1cAGVfe7EuLsTACkuIAiCAJioit0IpVlsQs7r2cAEn0LHVlYgAy21 Tr7TV5s826/pbXve0rOXb99fH18+1I08O6bM7YbkAqngXNX7fx4/vv5BKwmipniB/+ddcugy 2ct7tYrZiNQXqEpJlshec62ePwdqgZgZLSnhoCWW5RB2+zYkOZmJAGrg54qxoz99vX/7dvPr 2+O33+Ubi7vs2Bl24TQInQ3tfxw51sYhvtvEdZ7mldjYETR0bQ5cYS4zpCAF5ghX11LRozbf 9EPXD9O9l/YVk1/pUsupxKvOPFlk0IRLDqAL62B2yTYkGKrxPKY1u//++A3vGvjEawwjdNkP e+JDdTv0BBzpg4imB/ngUMPa9C2heUz5x+iGLk6Vj1/HM+9NNVuz50+c+J39IStqMm0JjEhX 1vIV2wQDsXdS1+FI0nbxMY3RDcPkHs8+u8ub8hI3Y6JATZ/ZPb49/wcl+tMriJW3ZfB3F7Yw xB1jBjG7SooZz0QDN7o7T18T/KCXUsxzjg+D2FeSYD7Ikp1bikx2OXLe1M5NTWKeEng9Ot1j CLYZdkdM4xSoMFl4R5o2sD/R88vQ2bkR/QQ4FA1DY8lBtdMzXMwyxowU7FJ64WshLwc7nXP0 3xT6fCrgR7yFE0snxQe3VTJwCTctiGwvmcP47yF3Eg3Win6cMwyOLs8K8GJrdHgzpn9ETOA6 VZgkghkBfb/bQ9xw7tvJjITIHdtrmScTyRKG5Tp7kn9jFixBCIFSOl6zY9aWoZAT03U2nBPo 0wjD9fThvaz6LqMUAVQUixx+DIVsLOKKat7XXt8PGf1F1K4Bl1M7Cvq9l8pUj7ATiEDds7g8 5INiUhtBK2ajiQK3evJ4LbjcTyMti6HFdMjgMPo3LUv7iJnKUS9g6TMFw2SOGYZ+u0d96O31 4/Xr65Moe3H22qTMmdt3lVSUO/pCw6IgZvPa3Nr/r0bItddE7dMsTAKa3zKa5F2y2xuTrbCJ hy6I1U4w+OKFuQ+xm9RVm9c2Kb0Q2Iu5+5EU+6raF9ncZG036R5+f7u/+W2azDkgcknWSxNo AjtVNL/9UQwCwF8DRirC8UXYyxm4xJycDEX3gBXNmx1BJJKctv3yhYm7O+lOBH4yGd1qw7D4 jXy/f3uXfTY69E8Nmb9Jq9YGExDAKZ0jKT8moBkDjegKqp1eViJgd9rNkJewgXcx6cK1UHVN L3WeSd4ahAb/toQCiczyBKygeHQ6uzlm98k/2XLbpCpYCAiLGswMrnFaCYxtqI7FHSlx9Clh M3WCf8IZET1deMqy7u3+5f2JvYZwU9z/rc3dtriFnVz0FWNA7M+zBhqaORD/+PrxcPPxx/3H zePLzfvrM5zc7t/hm6dtfvPr0+vXf2Grv789/Pbw9vbw7X9u2oeHG6wH8Lyu/xFUs05gyqP2 a2gu8s6xIzN6NLtUrqltpUw1bcnQUkcryQeYsQTeJj9rTMZ9qWCXLjGHe6OtEBAwPzdV+fPu 6f4djnx/PH6njMqM33eUoRQxn7I0SxSdB+EYREyAoSL0Jhu9g7Wlg+hjhd0xLTwg2IIafYeX dsod+oQvBLyRa5Fwn1Vl1jXUBT2SoOKzjY+3A0tSO9hyTxSss4r19FHIbQLmaLKkWxsJpo/g yyDP2hiXaasLSsTAiYWy4U9ozBEgNwx9ZGRRUpUqs8XbNjNYKlaYjJur7r9/FzIOoKMSp7pn N6PywseDBnQYhxc9tjT+QQ8V0/bNdorW98mAclY4ybVFxIwTBnquDZ4x61UjDxlamfiwLSaw K93kWakfnn77CU0v948vD99Q9IwKmmld1mXi+5QdApEY3ctSoqijNCOGS5N3LL4n35lWwUIM vKjWVCaH2nFvHT8wrSEg8KIi8Cy1KDOHg3wz6OZI0XaOTwlNhiymAZamvyGvTFhLulTy9uK/ h67qMPITw0NE/6MRC6e1dgzesp1I0RNwQ3BKQ5Jf1pwxXYOWl4ZfYjy+/+un6uWnBLlAu7OX J6xK9rRR5DrH8I0vPqbySkKIEkHK5M0xQwwJHPmEMw1NMSWsf6aQbVy2J/nBARFtFnUThdPj lrJXpxEk1GUYWz2atP7zMygY909PD0+s6ze/ceGzmGmJwUgzjHdVWUpADcotsIEqVcQxw0HX AV90MYGDw0itbB8zHLTRwwpqfnhCb/OoJq41OIl3GVF53JVZQdZZxs05I5MqL58tEjw1u07f E1WXq1i8VmTzSM1B1R9js0rNSPAone8op6yZ5LwLbAsUtITuX79aGGTgrki6gpjDND7nxyQn MF3fb47prkyIDu/aMiGKwCrpqarQLuFbHlERnjPJUYOD2FqPyl5drLzNaGgh62u70nUG6A1l 3liqla/SZvi+Fu1NM1jPnS2wqHLVs3ApiGY5keiM4htzsS81mVs+vn+Vlz4o2KN3AtVd/KPN TVsKIwFxVx0ojsjb2+oo39ETyDEzzBRh8WO0zE39F4uSVCoxus+trxqhyHbbMeFu2nPrXJKz WZLAPvQ77Dz6Rd1cfZZQnA9QvIY6xGUpex3TBENLrp+RiMvIxfWdaNaEYxsha3xRo1/ef/G/ nRvQ9G6eucOdQdfiBahN+HpVquqDpxz6EYrxuGnEHe7qrNmSmXLSThgjOTFIhY8d5Z0h7Q9g MQFP2m3FENId6i1dJ4W1A5D7i5Ko22r7SQKkd8e4zKVWzdwrwiSTc7UbxqRCKEhKpRs8XoNS VvF7ZTz71cKqzNDnW7hVYPG4mMl2zgoLh2TZ4DoBxAtKDhpqMuP0iIz7KAo3AVUOFEcy+dmI PqLpRNqOxrAxTXgdz2WmX+UjVFHkprgzRIkVM1L2sAKG1BFtYgSHi+KrxaDktsowPLmO2HMB jH6CbXdo6BzhImFRVfS5TSTa0ZZsaWRmQa9fI8Ahta2adijy1i3OliNm4Uh9x++HtK4E9U0A srsXEoEXMDMiPZXlnZpqFROgliT3HOJjJyaV6fJdySfzWQKFfS9EfeVJu3Gd1rMEEwJT2uDI JCZfPiZF1Z4aTEbdnOWs4vvskAxxchD6dMgDz7HPgWWx9gvzeaiHvKDcTpl5O6lA88G84EIJ hsDYnIZcNXGdtpvIcuJCTBPbFs7GslwV4lhizdMUdoDzfeooP1FsD3YYCsmdJzj7+MaS4sIP ZRK4PqXTpK0dRIJ2XoMMqQ+n7TJuKAlhcGEzqt3xWRfho9JhJb0MPcu5hT4pkt/Q7O2heKmP 3o1tustERQ29C5qu7cXZa9Hd6za7G06tcFeXOKM84zt2BlpBqe/WHA5M5Aja5QL0NSDmM0vu ls+P4DLugyj0NfjGTXpJOM7wvvcCctmPFHnaDdHmUGct+WwKJ8oy27IkjyOlo/NobENQ/2Vp yWFTomMdOIAEO5WzvXK8Yvnr/v0mf3n/ePvzmb208f7H/RscwD/Qco2fvHlC/eMbiKHH7/hP +f7lf11aXwAow1D2rKwARsLvjJe7OOapilbA2nA3kx0vnykNMEsOlZD7E72ApFyGABFneJuU w5k8fCDzxkWCbxtJJ6aJqU1g5GtRKsXb+BgPMTUC+AaXlAy1PteYdJ7cPaS9gtvhkjaf7Cja WkEkXuMJl+RxnrI0veKVPlKpQeYIVEik5BIMgqmNeaz30paxETcff39/uPkH8MW//vvm4/77 w3/fJOlPwOj/FJXVaftvydSxh4YjJR+5GUrfKAvB8WtViqYK1pV5B9LGBRO7SckzGHxJAr2w O8Ixuzl3wtCUIjY83bRu3pVpQk2bmpgWH402wIt828YUgjlny69mMFRTz3UtdjmlWUo3L9P7 wIuOwDDsIs10wQwLjJtzn/WZcWFngf8xVqQkAlZ+qNtYG1oouOlJn+QJzQdDLhWjT56pTBwn 2Axp12bwPAlXPoXojWgXGgF42criO8bX94RnSSYKPC+gLxEcDIay/cWXUmlORPxBbOrWXCHk Ul/L8Slh8RUy4an0uR3M5avrxjcvFE4Bso0n+sqNAHXz4bOVc7bThnFCTI8QzCce3mLT8JZn aiIZ1PyQ4EKCz4kWmdqj8nwSPY14L9GUATysgjFmoNEakEHlDuWwVYKGwQTrMbtISbNmhJgp bQHGebGtxCvzCaOqLDOCD7LUrbpzdRkAUAeHAlOjtnt+I0CUWsM7VK25WzZKA9oS/ek/q0N7 2rWHJCWB8qY5IUDjTIYuoZGs1GR604sm6bFdw09VLxTyzCIN8qqJrxDfTR7XVOGtYTeaCfQY DKIFBsewmWB6q37MA3mlNjwbm+UrVKDuDuVds1W5665RGa495ok2BgicU7+YPpqWvWtvbJUp dmp8ogiVgzwZJq91QYPHVraPGYdkojC2DsOFRZPvBIyV/OC8v/TTiBx3V/puEoGsdNTtd8aw lLTcuoQmQ/S0+sU20Y4ys8OY4iX3sUKFK5lRBJ6JopRfNhkHk7btMeRnUHJgXkE40IF2fFYT d+P/Zdwp8eub0NNm7JKG9sY4htQuU5eRZdlaRTxVjrl9kwZDXJArHTmQKjelYC+WDOGSrMXT shyIgpBz1mwrzCCISVxlFItpFnrJjttMaeM6shCq8Z/Hjz+gbS8/tbvdzcv9x+O/H24eJydC QZPEKuKDJEIRhMEw+DZSXQ74KAvsLYLWMReaBSSlcRx4sJg4/gyWZGfK64DheDzjswRjDyZI s4if32clrDWKHRALqMQOnF7pFVPtqO62eeFILMeAO+opYzEn5aShirCSPyTMs79KYPSqi4Xd sEyZSmtJRAixdYhO5PmBBJttnxKUSQJBMdiyHCBCD9hvdfmM0PGAQ7yUNBJw33HQDPO2a0wp xadBSssppbI+gKlkCk/NacdZJTtZLk3ko0tcCSfnfdawLE70869YSV6hGttWQhwJgGvMTdey JH8pX6viV05HzLFYk7nCAM3ykEnVtce4bg9iOmgAdoecuY+dc0yDh0dC+StalhYRya6wVimy La01pMzjw4RKjGEegCxzFEV0p9lpSJ4MfJvNWNWKhZ7NIxxzpCFMT/JpPi1NeTpwglhEikIO 58rbjLpUARx6fbDlIRbgwMkjpIFj6wFdhJSEhESJHflwJ/IBi0hT2gV7JZ9O8r6rpLLyjTcF ihE9AVrFQRRhmCAzr2RYzaw0i3m3qmoMgVnuOSahuK2Ju4/dqaXS7OVZlt3Y7sa7+cfu8e3h Av/9UzctweE0u+RyhqMJNlQHQxKCmQJaREYdTHhQlu9EI8Vqo2YBGScwyhW+C8LiX6QzZJxu 8QFSsln47A8cZGjkJT+mu7gxxCFjScwXU2aU22r+8v3PD6N5Lj/WJ/HpDfwJZ79UULk5bLfD 68VCuovkGJ507LZkTrUSpoxBuPW3PDZn9l1+wkCEWXF4V9qC0WNtpjyOJGOA5+ITpbcpZG3S ZNlx6H+xLcdbp7n7JQwi9XufqjvlYlFCZ2ceF6gAcV97Fofe7KzGi4Ao2Vax4f1EobkreGhp i8/5GNvKkq5LYoxD0EoMOgzIf8PT6QJVXivJEHSaQ3y8xNKj0Avudgs/BNmxYOpsH7dikM+I 47EMwyVOqtLT2aGrTsmBz9/a0OUtJUKbMvcmqTeXYMDcMdJLd5ccUm4VyE68kpsgrCuVQumk 49WDSm/bGsRRIa6lQTwNItkvOcz3yLEakb4mPQ73b99YdEv+c3Wj2oxZp9YcBhQK9nPII8tz VCD8qXoScAQIl9ut4W1RTpDAaZzOx8YJiny7TtDEVC4FjhtvFPu6BamjtXq8HkKM3vDWKY0P tvPSDT6eSe1BI77e8polaFXAwIISWGtDeDp6+UCUQD+ysfVzC04MRXx6H5eZ8q7xCBmOre9H UvDShClorprxWXmyrVvK83om2cHR2hZdwCnOm7diak/jkvWP+7f7rx8YiK+6M3Si3nOWL3T4 g588+WHBjh20ynvuVh4HPVwmpPgdAYypSVPlxuZ0zPtNNNTdHaW0cSsswy51LkCeVP0Xx59N MgULpcfjIsbPzbdiD2+P9096tPooYZmTUiJdvXFE5PgWCRQS/lLBKSIlezQ6Hs4xgI6GMC+R fodaKh1CLZIR00DS0V7IUk2tvGAm+LEZTiwyzKOwDb49UWZrJFkPx75U9FIUsXCovNOTGYgU cVvjk+Zn/MSVPrD4YtWRRp4vNB4gxZWamjY2zPiFZ/omq98mpRO5vqKW0S0xCdt52Eq6AXmV uKbvN50TRde/XZmiXUQikK92RF+8idPXBX4Ymtozpa65UgnIguwo+hTL7WiNrFHS95Yi3/eG edS8lZV5DJ2QEtQjFUZrLv7HY5jgy09YGKiZlGFX78tBQ/1OXG5hxywsm/ZG4jSqT70IX5HA ElktRQaKGNgJxHw8I25yw1Y/yuDXP5rAfIW23RM1TKjrlSxBHyScSxsxPo7Ca9Jowmq704jn LEH0PO5dmwwAkwioLufl6moE9LzrrNFhfwraxXrq2wHOcLm2gjh4keGOgj+0c2SFWlT2dxKA wvip7cQz+JecflJ+6nJS6YLtU6vDShpmnD3mPYhyhFjUM+466527yFeumUTE9QoqyQIwzUO+ k94Kk8DGLhWgKTALvVIqSY59TTSRI35geSV2kLeYL4Cc5BlNfmIqSh8QNTKeaUStBnSGbdak 8brmMgbVr0g4fvD41MX7k/RqPI1f4VwD5bC9Q1/kqy1gX1fnScChiOBKjiqURKJtfEobUCZ/ sW3fEb1RpuWF6Y1XtaCyb0HrpRoznuDgAEeOlIxeGagSTlBaI7TRbFZ4o6kd7fMAW4SUq0op 9vJnTbZ7QRlXESPJj7si681VLHhjPfAr61n6oXwPUqyQ3oozkayMJEsRtLaG6ibV1z6GUmnQ 8pxtT9PEajPGkNfl1qXQ+gOwlQ7A+l3hxLzYZnAAG9C0rQtyETtMK0NruUR1tQe4Q5IzPCHY 1Tz/mG0iEbs7h8tKx0a1K0nXFFOQmtoD/hjtMaUd3/AR3ayO62Y4nFn2geQQi8kk6ynR+uhc hlTJNTxaH/GZ99nPbF8V6S4HTaAT7yuP1ZdK9MI6nopCpjicp+xVyycRphyvEGSeGsTiY0Nq CXw72EB+SreSaaCpy5aZLcwzz9xMT8IBdnamE96+WGADd6QMhMuDhr2xTc6RZN7mPg7Uosi3 5bBtySrGiO6qHuoY315bjOV1mY/zJQwyg7Kck+yqVIGjR/IwXcfpGLxIFTVnhuI+kOziq9nF Saa0QE73ykGgmtDmZMTCH7SDFG/ISrpqRjA98Xqliop0E2D426QdtmJ032gkQDgjkJDHGs5z oItI2GeqQpbkkEEMeGYvlPwZ+Ie33VyzqVdbbRpo45n6ZvQMYqkh4fMY3/asY7XT4oLaxp5L nWYFCm65oL6aM9/y5rh3LIvEs8xmFKaSn96R4C7LCEIg1Qe3hA/BaQmakVC4I9SZ5rcUqsY5 k558XlCcU+lBY1stOZkLDTsUrw5sEp/zE9nRsiOby/0TqQlGNqZKCDmgiSYmsD+RzhoLSZ/X h0y2hmAK7VxJ+TwmUmW+W1/NBmZ0XQF96layKKJ/UBkfB8+ypMisBe6RB+ykcbxetIcbvz8V wUdBRNsZS4kmOSJkZ9QB6JmNgb8OGV7c41qjrvkS+K+ml6cIZnR5O6jPdo1wU815K+dmFIBD 0vgWURUO+OcTiBNjc4EGTmu8/DOF4aKDRIFinB8z0SguYo+nc9XJYfCIZvXRN6kJj2zsyMz7 iEUUevH0d3qD2s51v9RiuJmKkSMuNaw0tnDmKe4w52FSxLKNccIQTWQoHiy3aCjj/Denlj3d TN8tikQYssHToJKejvr1Db9IhyO37rogpvfEOWG36DBtlQxW3zxkMHxVPTvLwPLUTzbN8s+n j8fvTw9/QUvw4yzrDGHTZDzUbPkVG1RaFNlxT21vY/2aurzAS9qlYcQXXeK5VkAVrZN443vU LidT/CXs7BMiP6ISL3LxhGoySnQiNs2uFC2LPqnV56Gm6LG1gZWrGpPqGt5wQYq2FBJdY23x 0++vb48ffzy/S2wyxMW+kh5gm4B1spNHhQNj8RSkVDx/bL6gxMygC2+Mm8UNNA7gf7y+f1x5 hoR/Nrd916c1qAkfuIZxYNjeVeciLtOQTDU1IiObeRrIg573/iGl7qSZTIzEIGoGwTA2aQTr PO89GXRkXsaOAjznaR4D459keJu3vr/x5c8AMHAttbEA3QSmVXPOY7liANRLcsPy/uvVKRJ7 hQpTGScit73z/Kq/YmLYMU/ZP56hsqe/bx6ef3349u3h283PI9VPry8/YQKzf6qMiUYwhS+Z Yq3Auo2tQ4a2QEeLrId1Arv2sYu19Rj3PZmRjcnLUfV9VoBc8VUHGxG31dFYGX/kRK4swU2G iTwJPKX/+VsWK22+P7KssqrqoKBZr43CaSYT7qlMNdGXw4xIN3UhOIOzgCJGsjI7K6zNNVll YCnJz7YNMaTGkOaEr8z9oYiPKantcIJWGdK83KsA2ElqbePMq9oVL0IQ9umLF0bairvNSk2y C+iiThzSCQ13BvV6jQHJhAcM0wW+bIjn0DCQXxKQ0efAU2ImZXxP+x8wecTPyobmVMiTrTxE lfIEIINdaPWPrUX1dR5RviQxkdiJYY7aKNQ97XWNOJ5kwsjXy2WR9JEmzxWeaG5dhSNaN3E8 21KAhzGwQxXiZSemYGCwulGkWtupv+HgufNUGcbBoUkJOB2DfKidS66VWzkeIJ5dew5bDHeR Gjq/O6PUN8EH0jqDO8z84pVS8lLSpy7WCv5+lYnx+P2E3MC+aFRAvVEXML4w9sv8KjOo1C/3 T7ht/cx3vftv998/zApJmlcgbIaTY7DqoHCvncD2TfysZwZijaq2Vbc7ffkyVEY7G45JXLUD HGfNBPmRZe4w7v2Y9gmPA5MrbvXxB9c4x+4Lm7a8I4/Kq7LSFUMu/4Ye9CVojKR2KDP7Sdkt 2b6mrAi+wbP0HAQxS3+CqaqU/ZVZxeUrzgWOKq6+J7JolxP9JkUuHL/m+lxhebPgV4CMqZOF cIsLCW7Rmk7AyxxO+4iQ46mUm9SaeAVSwI2V/i3BstldBZOAlPfvyPtLdJv+/CfLhaBoZwtM vT9eEOmukFoOx8ON6/VqB+LuEG4MHRjfFHNDy1Kqkq0VHARq4KmVLz4n0gHEXyo5LTNUzzM9 wEk1Pyqd0KyhAjA+ab1YuadesMOh1dqAyuRnySbBoHm3ldzHGfDUodW4kGJqmFWIJzs0fHx6 wmoZAqrw0BtywiDJ5NAjtXzRHuVmAqfLyUk4TMmSPEIxDtbwVcBuO1vjdwbFdPRGDzac0Xpj ng1+YUwMBSLGUTLWzLIo3J6OdXY0RJlPRO0ORKO5FeimgRfO2tzLyS4RAtor/L3T1r7RtQhx 3KHO8PFP6sECgUUZWkNRUNl0GbqOIs8emi5RC+K4mbkHsRTjcW8y+FdC76wSDZlGjlFw7fhZ hqFurLYS35Y4kqF2bDpqFtZ1UlvJ4LW5d9xBhyVQk9pQ8a1ZbQTL2esZmaLLJ2GglRpsyzI4 AyNFY8xBgK+X5IlLetdPuKH9rH0UdGvHcIJA9PQ6o6Ha+fHGdpfI3NyAJNipw9yYR/jzqVab NuvuhiKgoAderwnpNrGjvA0s01CgCt/m1U6eSTlxzkh3MLd3dvSSy9R04psRNcSpsjFwN4+/ NRCxW2B6oTbxFCAGQShV4gFBAU0nA2219Ll5WbLzgmNbTFqaWJm9dWl78vd4SQu4YsxIROHw 6khtz8rhgKGrOiny3Q4dpORa9bczEdpjii31G/qTwSKyqJUquuzYxvDXrt4r290XGFU+T88q uKyH/WdCGsal/rwbU9AEMzHlSoxTJdvL56LTa0ajkqeodPCfElvIxNkctUqnfGVjXWSB01sa hxuMUWzXVhO6ji+NCRWUfNt0g5C8BUQ8+n7C3+yiQbgdFY09B5YMa7n94KFbba7kcF/AT4+Y SE947B7TjB3EVAK1nOIEfq68oXXsaqTQ70wBNn6LeJy0xguoHCPjb9mlo/q9EclCWkgHlZmE ykO7YFG1IJv2Oz6sdv/x+qbb77saGo5P3OjNhr7afhRhgDtwDI9+YcdDftR+uf/16eGmPtwV +Za9uXXMukvV3OJrG+xyte3iEp/juPl4hebgCzsPcBr/xl76gSM6++z7/4gZEPXWzI0Zb2GW YK3xAb0RMeyb6iS+fwNwfs2l0+PVze50TKZoHuET8C/6ExKCHyKXJi1zMTYm7mvHop8VnUng PAPTRaYAnkhK4XQ+AbelHUWW3GqEp3GEwRCnmiiTxhsrcPQyYwCIjiiT2nFbK5LvWjWsJAFV rI4RHifXhgNT8xhchWeS3vYtw4vvI0mdA8/BJ6gzx1xNV+6ILtdxUcpZ1SaMWdWeKKokK6qO 6tbynnmrLk6NVrGoqswwXZbonMT9k/arrDTS+HrHJ1Sgo9h52KYYRDs+Cwg8ChsQdkR1gKGc aKX5jMKPDLUGjrHWIFodcv7lYO3T3DdKvdOYsMnd/nhq1S1aIVKFDIfVxkqPraPWSNDUV766 zZpCzBezzLcbEvKDkw/bvcdS74xh/R8PTzffH1++frw9SQbUOTyVItD6yi8ciDXXx1T/8WTi r3UNCUJKbIkBJXN/68+RFXgGRORRLcjrz55lU2YrgYKulSFCT5d+gAgsO6IkDLQ7chzqAluk CALLVHgTUErVTJGWQBAS44UIm1jFWGdPdYJ9zA6M7fCpm3uJIgwMtW7ImeCoa0Oz2ZCC5TNI KWezNjSfk9azPKo7/IlO5qlargp/TthuOSFVVZuEtiGrm0CiJH7TCCKoo9fHrk1LZAxtCgEe eT5F3/s+uQOXgU3ecogEjk92EKXzauvLyJY92wSM418ZmzJar73AAB687p3kVgPq7vv9OyG5 VI0ENDwp9eb8zcNQi4YNGa7Y8AQkqpVGuY4l2SX6ug4DVE0Uh+FmszYbCxkhhIQ6yFGf8aRp Xq9lvZLNlQkUCOkbbb1Z69v2UuGauFmo7LURCgj5J2CvdD34wR5tfnTSV6XAQhZeaVf8Q9V4 hOCYkG5MMFbzJbapDwOcsrot6L1DHpSWlpBmAZ1sbbI8Ug9c0O6PTYG3pkgvVMn6DHgZ5aio k9HjueC3a9U0X44G3m4PoWO5pqoRG9CpTDSy9WPsSAYf+zGy68sAydxrU4BEPqHRTLjIwCcM F6wMixv/YEeuMxMj+5FB7uk3HE27mLbt6O8nTqiVTMhzaXR2IS8sBIrAo9R32c9FhIK6solI rUS2ekvgnedsjKjAiAo94uQ6ooylDiANDKiytqmD7YSjuK7Lh7ya8i9qI0ylyOCemQ/fHu+7 h3+Z9ZQMX36RokhmrdcAHM7E8CK8rKSLfBFVx01O6EBl54QWKZ3YBdyqpo8EG7poZBvcf0US h3KCEhtmk90MwoBUUBETrgsyJNmEV0igV+sCDEiA8VfbHtlBaBqZcH1Q4QhAinTEXFEwGMnV cXeDqyS+Tb/LI4yjq47j5BJv4netpxg2EetnFzishQUl2hliQ27/XVmfw5DM7TFLyc+nvMi3 DUZxzd9EJZ7nAZIB7PkqzMI6FHmZd7/49hzLXu2Ug8FUJG8+q3ZPbkJWbYJCOf7ch1wXi10k QMPZVqDTg7sytMn2UrweA5ZxH7rWEhDCXyh8vv/+/eHbDWugJpZYudCb8pyLidLqOVmcqV+q 17cA5EZScZg40uBCxPsERbdZ09yhW0ivdm7y5dbqRES/b7l5j2RoTsadvc0EhG+OQjA615ja n17ieqs1L8sT7UpZoaCiq7ibdYd/Wbal1TpfaBCpxxXKZo01RwdsucihuKw0Nze84seQLPX9 mTKycPR8TaEU43ltzPWW2yhowzWCGrP1rxFobtgStk805jd5XvPchHi7Sc2tRNTr7Io+rsYV kMbqOp8uWp5liRKXsZ86IPeq7UnFKelrOPCId4sgNVS4pPhxUFcP/SW+U8F3bSIHDzIwcwUw DxP3LSD3UY5vvUgOMuVgwodApljJVsbw5xyb2+Va1ec+8ilrDEOyzPtDq69io8MBxxa1Ljox 73xCv8zL11HauY7n9oYN1ii751geBn346/v9yzfFG5o3IK19P6LNLyPBkfIJ4lLjMtSFyhl8 f9Fni8Ed4+iwUD7RM1+EqhkqFhxpRhjRu8gXbw04z9R54kSis//EYZsxR5TgGqyMHd8vd+nV MW3yL3Q8Ed9j0tDynUhpAUDtyPa1YWNw8rKMbyfxBipTOsmAelV6jIssXd2NeEgagVHo9lpN CPYD4wKZ9TmdA0BhN88Yv5JVZFvid76sBnNJUziRGowpC6iyzrRSXeL60WZFYtBprGQOaqEP UaCLI0Q49spaYhRRsPZ5pNiQGQRFvKOy7+eyjwIVeCk8y1U5/VJGrq2uigu/jxGC8gk2H+M/ c539FYnGwi8V7u6iXmejsui3dKzEgqbMjCMWlIyD0pFafjpghMFxPYV/2MYNBt9h5TSOp7S8 SUHpGJMfzgkLtDGYnbRWxwZUaDvwtAayZIMbs8rIJaqq8peJ66JniCIw87ZqG22ke9hfgRnI XYRoNk9p327XuyMFo8zVEcVYdefHt48/75/Wjhjxfg/KR9yJwYm8r6DgyG6jYwOMkSrk16Y6 L/Z0+rF/+s/jGMqiedVd7DHigqX7F9+SWzBp63gbwe4lYyKHKoNaJFnAvpQUvXpGWjDtPic7 T/RK7G37dP/vB2nbukwRt90hMxwTZpK2zK5QYNctanOQKSKpsyICDq5xim6L0jgtFLYUES4X pta4ROG49Hcjyzc0SJShMsI2NNA1fAMQoF8nymwKaGqfFyl8q6c/GUaWCWGbBivKLMruLpPY obi4ZQ4SrC8YRc7f36QMLwzbnuq6EA4MIlR/NknCmt7bq9OYE4olQVxGG8fnCJpT2R44IIed KOV2xPOaxUQoWdutVLuNMaDnboiiuowCi5Ln6IqKDy6h2m0FAvtMZeOkizaeLylPEy65OBZ5 Yz8R4HSLVngRLoc8Sxj6SlMioXbhiaDdilmBxg4iUJoT/tBUa3hxaapr+9lR34bVGwTarUtp SCKB71AjCBib1D8nAuAdO7Q8YcErGEcfXYZxRJ1qGgQ4gsAsu66Oydsaa9PHjTGv5eoIVLmd UIez3YGoho23OAZzRZ0b+JSJYyFIPDuQ72+F5tmeH1LW+omEJ2SvRtpAfHpNqIUdBMjuA2bj Ug1HS3NA39ZNJNw3p9xS4bMTDbCYZ/s91TuGIv2HRApHvBISEaHrU+0GlG+T/m0iBcy6qTDt IyBSBGLI1LwEy63rERwznlNCaoHs49M+Qw5wNmTinZluzECpr4am8y3XpUa36UCwUeJrbnDi hK6tN/iUtLZlOTpim242G19wW2D7hPITtMRUBY1xxNxGz3O982cfiYck8CGbFgQ2NE0Mflng ni2lLRfgkpPagilti7QxyhQ+9TFESCdPGUVfeUk0ZNZAkcIOQ8MHNg6d0W2m6MJefH1RRLgm hCfbrWXUeluBInAMtYYWNXyI8IkSh86m6GXP2QWcsHhEnb7Ph13MMurDeaEgu8XuPdZ61fW1 rX8TY2Trc2dEDHERN2VLfTKBP+K8GZK6IUNzFbK6Pek9Y0lju6ysKc5I28BZ4ws42PDh0kuy jRrmxRCaJpJRgmMiyP1bfH2B+gS+4dbTl5wTyS703dA3vd/CacrEdsPIVZuq1tTBsezUxV1G zsS+8O2ope5xBArHkrPkjwjQ62Kqf4Cg31ka0eyCKD5SzTnkh8B26Q11HtltGZM3TwJBnfV6 gxE+p+JUcJ8Sz9F5DMgb23EsqpfsOVgy/dxMwbYsYm1zRGhEyCEvKlKOzRSRG7qhDGV6k2um AQWEVrpFGofU9SUKhxhHhvB8Q+s8x6BCyTRrghf1Om7h05cJoBzaqUIkCSzSdiyR2Bu9awwR kLsqojaUWioQuKCmO4ZmA+7KUgCiYF3QcQrTwASBS+bFECk8YjtjCJ/YhxhiQ3A27w7NoGVS u+vaR5cEvkcVBb3RcaN11mhC37FcWn9IDO8+jHxXBi7BzGVIqgcAp1xnBDQlCkpatQE4ZXdZ 0BGhHADUpT4REXobQEMKapAh5WZNpAOa/PDGd1xCEWUIz6YHEVFrK/HYJdwkmLdolNW6cEy6 MLIIIYSIjUU0R4sNmhFt7DrEOFdJMtQRLaUBR+wjeO8nuYCXUiL5mY4GowrsBIEBERKzu8Un mXYZNZXbOh6aNjC8NDQqDW09uHd6tZh9Ptnt5GjlWSWq241jxbSjylzDsa1PzZDXbb2u3eSN 6zuG7HMCTbAuOICChUjpPWnq1vcsQmPO2yKIQLOiFofjWwF51GF7rCFiQKBxo9X9EzcM37WM 2xjsUZRxVN6KqD4BxrFCl2BljvHpMiCxKdGBGM/z6NqiIIoIRO1EBvgmJPWCOi89JSBTpymD MPA6+uG3kaTPYN8mZdpn32s/2VYUr6tGbVenaUIGtwm7kGd5lOIDGN8NQkJvOCXpxrKIMUSE QyH6tM5sWln4UgSmp8PGYbiUTOXWKhVd1yZLhT4ExL22TrTtWvr1xwkPIpusHU66a6sC8NTJ FsDuXyTYo8EJVcmc/1ZrVgbnK+V6UqdwbFqzAFSAlvH1ESvbxAtLe3VrbbuuxfVJDVxZBgZn WUHDsZ0ojQweAAtZG0ZXFhujCdd7FEO3o3WBfIwda0OczY6YCYiEuw41/V0SElt5dygTn1zt XVnb1vpKZyRrE84IIuKrZe3RUhsx65ptWfs2oWSe8ziIgphAdJHjkt+6RG4YuoaMYQJNZK8v ZKTZ2GsGIUbhpPpAMAShCTI4KeY5BmUTukGvf7OA3agj1COOCuTwkxnJ7s3IDjMtMqY+Oj0d I1xfjhAlF+EMPlaX+K46SQkYZiR/e4el4x+yI763To3uTF7V2ZElL8H6LKI+5pa9VsOhYTle hrrJpnpGm/Ll/uPrH99ef7+p3x4+Hp8fXv/8uNm//vvh7eVV8jOYalpqGPbVmei4TADDLuRM NBEdq6q+TlXH0mutFFma8XzOc6XU6BvoWfXiIMrjk/L3rvVUldWuW/jjmQTL4z5SjIZFoejc VG5MXH+wiOVPcX+AxiFpRgruWaVxtwTmb8vnx7xL4kKyGJfZcefY+EDRajPGq+pVmvElwJWm fsnzBm/8qQGbFJK18nNiz74nehy3cKINLGImMSlOU6IKJhabP43oNi43V/rH/Zy9tQZOWTH1 Juy6S9pZNt2AMTP0FU64rON58sq11rF8gNT362PvWVa0VnZMOU8Wv3UHEE7rrWuOfhfY9CeW cTgde7qekWB6j0uf/NELkWYt2JFhaHpMQrneAO4BvtYC0NwcsgFoJnNljOgqEoaBs1pxXvaw zFM543PZh6eiRjA9qFl3WquzrHp8mRBrXfbvDgMcqBFk2byp8WPX3UobZvGBmTb3/XZLDQlD UjWWWZrHXXZ7hePntzBXycY4jiv8x1MyGLoxYZsvsTRYY/wQNadzMvOV8W+61LY3FLewaFYd XLM0KIT4mCIIqFFuE9d2MwITF3kZ2patMEDiIycqnBa4lpW1W8P4cJdutdDos2oos01Kj61V udCY4slciAVWjU0WS81wY/JqfHzdciO1bF7u6zQxLqKyxgGxDA2q89tYHj/YMYfYsdWvzFut 4YHKU1mI8zp5Of/06/37w7dFR0nu376JGUWSvE4o9oOvK49vTM60V2oECqHGRdmBua+rts23 youtZI54GOmYJEeE1iiWjPK3P1++Yoa+8WEq3QWi3KXawyUIm1zVKOkDaJawFLSdOE20kq0b 2vTpdkKb4m5ZukiMWTEkIGDl486JQos12tA4Ibv43zIcs4tjHmfpUfMFdSiSNKEQbal1E8bc 31gGbzZGkG780C4vZ1MrMa2g4NmzwGR7OMLVGNoFNtJKXx4xpszYbMoxxtamTR4z3qWMSTM2 8tUh4YG7lPVswTo6u+QJGSiNzMC8AcVkBRNQjIrBWsYzgZKOWcDk5PPnM4GvVxcQnxBvsUaY LVtJGLQ4UoYoRGFs2e3W3bhaIZ7dgac/Mk7LHrZvzMrZDnsyuSib/cRGtUtu/AiUkzyKCOl1 HYaoHYz6l4l7aGATq2sEdCgfVDSES+SHPPBAZKuZtAQUpuQydhZofL83Zew6dPhcBzKPWDdC oSt06BBqYHkiuLUhQHoJDD+bf24Dp1cb/Ck+fhmSskrJQFqk4Lu1Wo65C5MW5QWrMN/kYawM 8uicqS92ruWauGHyxvybKkZGZS5o0QI1QyNPh0YbMSPdDHQ0EcHA5FX+go2UmphnqFYRkZlA RE8HbPrQ9oW9Lkh5hzNJhTi5EUo0jIA5dn1mWop4UpCZS3AaXra9EWbwP5rRY6iIWFsZaSt9 znInf1iMdBLBnReRToMcOXp7ijA9Yo+BbyOLumZnOH4IldvTZoliAWTQ3AuDnlRIVq9OGEHp W6aetLd3EaweR508dErtjSIm3va+ZVHNHMMPeWBYVz5+fXt9eHr4+vH2+vL49f2G4Vk+zbff 7knbFxLIMpeDpg1sit768bqVjvHnpZqEcu9iBDyWWxnkDnObuy5I3a5NaHZEsjmaVCqMTuyG YOOx7qKk31pFNDOTgJo8HCoymTnj9ymGdDEd1G1gW6T/NQ/lFF0/OSRUdK455FMdCwY3qjOz o7XEGV2+RNXqYD9QRP0UVUq0KAp6gnYjetoKUI2zJ/iK4jOTSErBZNLRuX7CxKdUjlkDRGB5 qyr5pbCd0CUXdlG6vktpgHzgpohdZYh4qK/SQB4oKwtujPVXB6eoksMx3pNZGJhOymO8lZMA B46rVtZhRxT9zsSs/IoPIbNBKX3b0hRihNrm8w+L5jVvfAxtksSA9CxLbYQcMrzAdJ1whBNa 9oWl9VxhNiEIWRKkFy8iY2PZxlEdSh4i3yvracLIofZyGSdSvzbi4FjWlyfqNbxRtrsOrFae 218V+4BiiFbvCW4ixv1nTFMuc02XOAE/7ZlUykOcxujWd9KP5xhnhrtTRqs4SMQsiEz9pKUy uxVoa23dSpXkxw4OwKVtDSZtig1tW55WOsLQyt62ap9YTIT7UyHHDM+gOaxQQ+zyPoOlXxVd vM8oAowtPsUFOvO3p1KOMFyoTi1MdA1DPdORRsyJHPT2PUrtZxKFKr2kvC9YtLVEBv8DgSr1 XXJlCyRH+KumOqwaGxbMkpqCRokLTEHJQf8LMjHo1sLMTed6ojQ/sF8tLuc9lnGk17xC4lLd wvO87OMr4Rwyd4NCYpMcGR9915d3IgUbGbJKL2RqFieChJ+rVxvJSc6+bIJY8HlbbFwywlui CZzQjqmuonIYGsaQ4dYnh4VCGliDq1ZXi/skNy8KGFUzVyiujC5SBSF1Zl5oqHO6jPXJU7dE w070dEupPCs0WRR41zrEqEiPPJkmkoM2ZSSc/a9WwE0BNEo+linIKxJvMmMYKp/CTWlcZDnG cpETkOVGcxlTZA34MDINFiAjQ/yISFXbML/rq6Ssfc+mW1hHkb8xYejtqaw/hxvRP1tAdYFr 2wZWRNy6oNCNNwuOn+aujEa9zcmLHYEiiTeeGEIhotQQbQG3i3rL1LLd6Uum+IFSZGeQ2VdW D6OJyKFlqA3d8EtJgZlC19Tlgeav+ZWD1RYxKjxon7mLPFGR6MvaVafk0CZNhhdwHT6TuFo7 YR8SkNwStF4BKOnUaKGlyjIwIjdUXZmtBj59ZbKAxPHIzaPpPju269Go8mwS1lAsCP1rK751 yjombVcyTUvrFq1fRqGchlZAsrDr9aoJ45iALfZwSiUt2AIROxltq0p+GFklODfZbnvaGT7E SOoLnX5joUMb1ZaOjRArYwfL4VyW1JlEIIS+W6J7qISKHM+gijBkSKUtEVpat74duA5dA5pf HFPOA5kMdgPKQKISifnwVJxs31KwtnuNRSdr1/VWSNYsFeeZW2jYmgSrl6lZoLKvN2tMlUaf 8cxJJIXjIrrU0ly74hUrEXlXVtBsH6HldRFv862Qv7hJNFtagw+TU8euIpeTEm3rHYMNZZVm honHt9UTQDeG/Rnx5zzJqK050Uz7CDlWXb7jT3vy5FRZor9SyDyUGLnc5AWOOYOqRvEpGS0K YpVyjWMpvcoRMexyTHNMmzdGwm3anIf41FVtVmSJ1IIlAfxkx/j4+/vDu9avuGT38nNjJCwc 3otqP3RnEwE6ZnVxsULRxJjlzoBs08aEmlIIm/AsNZI4hmIOcLnLwlB8fX170Kf4nKdZNUip r8fRqVhihUK0uqXn7cLn0kelyscUdN8eXr3i8eXPv25ev6NR6V396tkrBI1/gcmWTgGOs57B rIuB4hwdp2c9rRVHcetTmR+ZJnXck4uEVf+pzvbDIStqsc8Mc3DE58gYqMxKB/6Th45h2PO8 QwEfTeBfgl8/x16OsJCVInF7d1S7DDszJpUmoGkJ7CP5xQkInLd8L84QNRMSX0yvu+rzpLIC coCZUUBKfj4hb8aKadH0HdaK9PH3x4/7p5vuLHx/nkNkuZIWpAwV9zD3cd2hDdgO5HLjy7l8 7mnJycgyfLS0zdibpUNR4XtXJmdMID8VGfWI7dhXojeiOBKe+ZMGEQ8ApCyVBUOSr1JxgTON B3UJh/5yQ5bVTVXq/OMo+8QCJ1Yqg8MCqMSHYReMxIp6fWVcFBXB8c7E3Mr6buM4tL1AafME Hs5nFcOWVVfvpYW2SFaWZKVpdWmRxLtsSBLyAppTlGU9bh1UaS1jvSxnRwfyc53Das3buhCz ehM0CUzlSbRtjDRl4EG3kySVXHkmpOv7DGduR+kG/pC38mPy6ve32dRGkts4OV4Uw4RWJ+qW eBTO/FUCde4OWEqT8/lJH1b6Mc7l+65ehIGNTrKchj11+ZfaAqbgwQRLkpu32E0Qke80BDsr pUmZq5jJpzrJtJ5OieRZfjq9A+PLQ6MjmgdUK5MQl54bwvGq3pl5j0emqK0Y41WSNneavm11 dhgJYCmtfH8kOndmlsMs++wz2jggAlhOHTru6pm3iT42HNXTL3orpYdt3GamKnIysnecAOZT Cy3Wx4S7cyQrheFUnMSFXpLDB8PVnTAgwBS0mrIoHiYRBqI12zewkM/mJQmHiVgd8LyEGUyr WG81YuqebNCEj5j2RCzdKcgB0WaZOlGd65ParBlXprURd8bTUXIFzWonWjgpcni32hSx4cWR iZrFemQO7fkkr93Wr4f9D1OujpBIWO70nvbOkKGe1NT61ikKEvRUJYQN8OU2VXiOoDmcKQ/0 BZ9mRRdrDZgQQznyiAHNOVqTD6MI3aW1bRKvn6iJnQsma92aqM4ghdfIJmnd7M1D0OGuSQgb Dr+yG8EkRbnIhdpAMYKmwpxnKo59AVQnAt5qZykUQiIUtVpCMxIPfRGqx2riFTjBqsUMMoud WLWapx2/1Nj5nEuJJAUgWh1oBB4F4DDW/hJ42gccVduFPxWJgd2km4kYKNSdJ1vJ7vHt4YKp mf+RZ1l2Y7sb75838bf77x+Kbo8ld3mTQVnysCAfCoRzwv3L18enp/u3v4kIEW6d6LpYTr8/ SuJGdftgtcZ/fnt8vfn28PUVc8T/9833t9evD+/vr2/v8KlvN8+PfyktHxnlzJzLzPyexqHn ajs6gDeRZxHrIIsDz/bNuzYjcCy1wrKtXU9MHTJuYq3rWpG+XSWt75KplhZ04TqE+t4VZ9ex 4jxxXCrghxOd0th2xaR6HHwpo1BMhLVA3Y3exHPthG1Zm9Va2GXuhm23G4DoFyEp+I/NJH+p OW1nQtX0AgenwI8isWaJfDHhGKuI0zM+vU1YYkLlKb0F4UXmHiM+ENM0S2Bq3SMq0mdiBI8l lFZs8a0+YxsA62uHTAAGgfrt29ayxRTRI6MWUQDNDUJ9E4aDqq1xMAdrSjnzfsBXNHX9ccRg 51Z2q+5c+7ZnHmuG97W5A3BoWfp6vjiRmF9sgm42lktCtSFEqN77c927DrHa437jsAsSgQuR ue8l3idYOrRDbSyT3vEjzxI5XeFr4SsPLyt169PNwHLglbAIyOeSRLwmLRDseoa145IPci94 3yZOkSPiCrvE6caNNvQl3khxG9GOoeP8HtrIsYhBngdUGOTHZxBa/354fnj5uPn6x+N3YuM5 1WngWa5tVrU4xShnpE/q1S9b4M+c5Osr0IDURE9HQwtQQIa+c2jJjXu9Mh6HkDY3H3++PLzp X0DFCfOTAQeQtatFuWLw+P71AXSCl4fXP99v/nh4+k5VPU9H6JIZf8YV5jvhRlt3hNUd1KEy r/N0dIue1BZzU3hb7p8f3u7hsy+wL433Efr2UXf5Ee86Cm1bT1oGVtpyyH0/0Dn8kEce5cA1 n0wd8fGTBWp75DnXWdkdEO1H2rABNNS2LYTKKSdnuLv+CdelKnPlfPcLnEzWPKM9W5Pm1dly Ylub/ersBJTOhnCfdlxbCAy+kgKBuZWADj1tb6jOfmCAamKTQbUtl0EJ7bA6B/S7aEuxkJg4 Bl/rhR9siJaFjm8TUO5TqULJHodBSExWSI5ZFPmapoLQgNijqjPsstRV/YwOPHIcNuvDtwld YmlVZ9uNfNrxfaHYkh69o7bQBoGjaSFltyktSzMMMLCrqYYItql9EhA1na5/xneWRRfsbNLj YcafLZtq35lu39nWqdvGcq06cbUZP1bV0bJJVOmXVaEdtpluFdqD9PoyRzVpnJQOIQE4wjw2 zSffO2pM3vq3QUzYEhncvDUB2suSfU8W9LcxFScybxt627Muym4pD7epziR0S0mJoDcvtq8V ANMP5JMK5UeONgnxbeiGxNpLL5vQ9lYWAxIEa6sFCCIrHM5JSaoQUlO50eLp/v0P42acopOr qzYfY8ECTfgANPACcczkuuf3+daVlH1rB4FDK0BqYcE0gjjK1pL0qRNFFoa1DGmzZm+RapDN Kt3pKLjE/Pn+8fr8+H8f8DKX6WOaGYbRD21e1oUYnSfgujS2I0dJSiDjI2djiC9T6UIyNEv7 Wmgb27KJotCAzGI/DATRoyNDGlm2uSIaJWznGNNyKGQG5zuNjIxOlIkc8cSu4GzXMD6fO9uy jTPVJ45Fvg0rE/lS8lsZ5xlxZV9AQb81NJphw85QNvG8NrJc4wzgUcMQz6QzD+kPLJLtEsuy DSPIcA7dTIYzNnL8OJmoQyDL2BAavg3KuWUchChiycEtOoGX0JBTvJEUCnmlO7Yfmjgk7za2 +no0QdbARnGtFTDjrmU3O7oZn0s7tWE4xScMNPwWOis9M0vJM1HQvT/cpOftze7t9eUDiqCw WzIXvX/cv3y7f/t284/3+w84/D1+PPzz5jeBdGwGmrzbbmtFGyEZ7gjEXM6ywb3tztbG+kuc tBlsCLod8YFtW38ZnII4Wop5Yr5CsIrIZxEYMorS1rXZKqJ6/fX+16eHm/9zA5sGHPY/3h7v n4z9T5v+Vu78JJcTJ03VZiFPkU90sGYdo8gLHbk2DpxbCqCf2h+Zl6R3PFs8+c1Ax1WnoOxc cjEi7ksBE+kGahEOps62rJv+wfZk9XKaaieiZM7ENNKCn4tsNhonBVrfOHspPIc7qSW+JzFN kGWJgUsTqSPuiewqKGvtfqMN2CQCUtU7n6DiE0FtY8tXe6XVp1hfPryegJhQOyQo5fd+Jt4z LomuhQ1PKwKrhA4/YFyzjYLYDtQyfHTlHNsz63Y3//iRRdXWoLr0Wq+c0NJ4ioNN3MsYUTx6 jUs2lSFF4PHnXLV+yDEICD/2XbA267CYyBDaadW4vsZOab7FcS6peygRr1zjAjhEsNI7Dq01 qJypX+hiJEPj3cYSs3kjLEtsfehxxbkBFZfAJwZ0dMdq1FkEqGdnCrjpCidyLQroqAw2gtGy app1lLJKr76kNmyy6P9ZpToPseMEybHJuB0YeRVFhHQaXEbWIVnKcfV90dngGua2666Fbx5f 3z7+uInhePr49f7l59vXt4f7l5tuWTs/J2yTSruzsWXAqY4l5rJCYNX4thQoPQFtOVgGwdsE zoSklYYtmn3aua5a/wj1SWgQq58o9o5tOArM69cybTPxKfIdZb/ksIHf4Ovws1co2wZ+gdQf AjlclE1O3qY/LsQ2jk2s9OiKRHWsdtrs2dfk3f6//ldN6BKM56c0Co+lAJB8soUKb15fnv4e 1caf66KQa5XM+MtGB30Dua8uhAXFLOTcXpAlk4f4ZEi4+e31jSs3qk8FSGt30999MnHhcXuQ c53NUBPbALJ2lBXAYJqowVh7+sX1GauucQ5UNA489iurvti30b7w1S8ysHGXjrst6K6upWku QeBrinXeO77lUykwRx24gT1f3RJQ+LtK6w9Vc2rdWG1q3CZV51A+qKxQVmTHbJrx5PX5+fVF SJ31j+zoW45j/1MMFdDMbZNwttgBQ5YMNW1OMp1vWDO619en95sPvA/+98PT6/ebl4f/GBX7 U1neDaMXlGRT0h12WOX7t/vvf2CaMC3uJt5L73vCT4x9O1ZNd6Ctfvt4iBtKG0DnzLw+nV0l Cj5tSukHu8kb0m1OQVsphRDC0xrkY8+e/02zMy2NkYy97ttmxQ6dp6iJB6Lbsp3iap6p4vCt su2GrqqrotrfDU1GPgOxFMBQuTbrMHOUeNIC/I5FCGUlRuvl4vvEC7I6Zw0PP4CdV24OJyiy +HaoD3f4Ek1WGrteVHE6wKk7RR+v8hKT2bbGoZS8VxDWdcrsnJu4XAZJpiTh+6wcMAOxGrA0 DbgJh+XaA3q8Utg2OTBXfb7ZOMl0g38Dsthkz8VyQAq8AlomdRc7EbR5YYuPlk3wY18z4+Qm 6leQvuRfsNY2rjQ1pW7uxkoPaZGk8ncYCEalusAqTLOmOR3V9VDGRU6FQ4ijXpVZGkveWkIb RMomTrPqKLeBw1iWo7pr1M/HZbqv6XR9iD5Wp3MWn4zrbztHmygL8Lxf4fAz8JERyf2JDV+c 3GXFz80utDy0Mu9hYRDFZ7IkPQKFOBAzKr3AlNGJFQQSQbSp2Px4rFgVZPXFOSWTXCw+wFui zuYWtNlAqxWH45RSr/GweW07RR7v4/3kSiMOKAYFEN3WiQyNR/znvlCETt6AlBz2zOteZnfy 7WTE1PExKxZF8f370/3fN/X9y8OTJhQY6RBvu+HOglNBbwVhbGz8SIytypoWpHdhkqcjZXtq hy+WBftG6df+cIRDtr8J5A5y0m2VDYccE9g44SY1UXRn27IvJ1hMBVkLcBIIVQqDQ64OIMfw q6Erfc7IdSDgizyNh9vU9TvbdakG7LK8z4/DLb5zkJfONhbfCZXI7uLjftjdgVLueGnuBLFr kQOSFzkGTuTFxnXIumaCfON69hWKKLITeoBwIRagZ2SfgEOOlL+XTltb4eZLElPf/JTmQ9FB 78rMkm9iFpoxjV/XWj6Nz4/7UVrCoFubMLU8ctazOMUOFt0t1HRwbS+4XKGDJh1SOxITeQu8 MgZqFOnG8jQBMNYF6K3l+p9p85ZEt/f8kOSWI8b/F5HlRYdCOeYuNNWZRc6wVUWf9ynaIAgd cmIEmo1lk+urjI8dbAplEe8sP7xkPslVVZGXWT/gfg3/PJ6A7yuSrslBQ8ySw1B1mHNxQzar alP8D9ZN5/hROPhuZ1jJ8GfcVsc8Gc7n3rZ2lusdTSa/uZAhc8/qaDbxXZqDFGrKILQ3hukR iNDxcr3C6rithmYLqyJ1DXw18V7cHWPXxavOKz2bCqTb0HPXvz+HLgWpHaRXGgBEThjTkTgU deYe4vWlINAG7iert8g1IVGVpFxQSOQ8vWaytL1GFkWxBQpe6/lOtrMMMy7Sx/EPjni1gwrp zmT5bTV47uW8s/ckARz8QBP6DEujsdveIhfjSNRabngO08sVIs/t7CIzdnAiC6yOfXC9i3kH fA3iou3C0PBdiYSedZEk2pwNLcNYjDjpPceLb+lYMp3YD/z41qxac+IuxaATWJiX9uBeW3Jd jaE1lhN1INbWR2ck9dyyy2JycBhFvZdiEgRscyruRo0qHC6f+z0pPc95C2fsqkcxtOFXckS7 L3maoYLcDpfW8a7MK4jzOgPW7eva8v3ECR3xPKWom2LxbZOnYnZZQbebMJLGutidtm+P335/ 0JRXOH60uHgNzcUeVcdsyJNj4Oi7aHIAxsJUvXgoJvNpM6qmagfYjeNjHwZRpFYyaSEAgj27 q8jLDWaJgJ0TdoOiiza2s5WnakFuAttew536REaD/gb/BYHtqOVA4R3UADo8NWT7mE9126V1 j6kZ99mwjXzr7A67i9q/46WYD2mGruHpv+6OrhdojIoH5qFuo0Ax0spIz7ys2hwlQB7Rz3Vw inxjOYpRAoGO7OPKwajqj9xmqK875MAy3SEJXBhCG3RwxdZTtYd8G49hPoHWLwVPPZpOkIWr H4nWsPIb5gwPmsyu9owqIUacHgMfZlTOu6ngTGYirL5Obae1xCTI7KQ8WQ1gsQSut4INpQTl Ejat1TZJBQOHNOyPlqgpykYzUQlRNrIAYjKkPKR15HuKziuhhk+hYyvCazzsazKBg9WIHpli tnwQslMXfFJ3StUEh7H/MRpM8Qg8G5EUiu6cqQ1FcJGS99cjduyeaI9wlcNoBvroOdf25RG8 8tIxk0Z9Kw8pAHZbjQGapN6bLGfbCnR2ZeLypjm1w+es1Iwm+9J2Tu6KNEEJkYp2eUzgiahD H7n/j7MnW3Icx/FXMuZho+ehY2zJ8rEb/UDrMjt1lUj5qBdFdpe7OmPq2qysmOm/X4A6zAN0 TuxLVRoAKRIkQRAEgWiTuAg8PQeBsQp1FBy9iY/pFKvtmipcclAkwneUxX4iadOGGVbnCQHK UrRdk/BNGDk2/gYOmb5NHw5zzKFnVdbSWUfUeA3pKPPMmqiSJ8IaqrxL7MoL3KF8Btz55JhW Ul0f9O863j6KyR6evTx9vj789uOPP64vYyJlzbac7fu4TOBMqi1kgKlIexcdpP09XhyoawSj VKJn9YLfKsf2MRVEvDr8boYPzYuiBS3BQcR1c4FvMAcBvM/TfcHdIm167Bt+TgtMVN/vL9Ls krgI+nOIID+HCPpzWd2mPK/6tEo4M6zuqtfyMGKIIUMC+I8sCZ+RsBvfK6t6YYSvQr6nGZzX YX7pyZ2Q+Jgz49FEhsHHYnURZQ4Uix8Lnh/MXiLdeN9ikqOZE3kCayifVFRjmv359PLhX08v Vyp2GI6WkkZ0B5syML4Fv2HYshrF+KhSmiNfNMJ8jqwmifk7vuzTNjCc8nToOHH1JoKApdtX Z2YdtQokZ5cGLQ2GkA54ptonpBcJg7Zc+5D5nlLTkE/HNrBaganr8XrVw2mxTKwsf9hyDDF0 E0goCo4cpqMpHRTIfHt5AzshDW+oeZ7RLWr5kRnfRoDzGQW08nZMYHoi8435SFAtAxg2yj0B a7IuumaQ25QBrH9V/8iI9oVQUey+LIOtNQII8tYJaN/cEHT4asSwIyP1e8Rxc3HD7z5c2PxS UE+yT5yznL4jwaFPa5ChnH7KDfjHS0tnpABcmGSeMTrWdVLXS2OQjhJORaEpqeBgA/uiyeD2 0SjWlIbOj4uatSXsiL5WnUo4G1I6N1Z2ZobLHpIvzZsx5OYBhOsepCiahD2CRpa8toohqGdx nBaU9qhmgC3HMPzb4H7QpvmphcOxp2Qp4k7XTgDWJYW5jPagnZzlKrLkaF4XScbFwSicMONA o+aISphjwMoUbVl1mdrLcw9DSboP4W7V1iwRhzS19vHhRZNevRDoLbkxycqN/toD5SRGAzRo hviAo5sIoboM+KpD5wvxS+iWFKiDcKoQ6nsklBBpFi4TtoCf8THGMo1lz9t3oNEySd+Am1V6 UvsaREfYQe5RrRSV9353pIpIKup7IuE+DggfBpZqn8WPPagpfRM//rLw9EUUadr0LJNAh/2C FSFSNwYzFsj2g7VORfBIR4eNhNRlhvpxo02g3rphof0+0EfrWiTu0E7mhXsMjCeLW58cKWbd 8ON1v59gDiTtLpTpYlm/SLBwpjnZS1bkzQH0pEbM14NeUtOMrFsI3hyuqUYMgYqmAF2mTjAt HjA5Hkg3N+RwJKOpIc14UJ9emFInLzV99k+///PT88c/Xx/+6wF2gCn8teNwhxeGKh7zGCpd X/+IK1bZYhGsAknGzVAUpYAjc54tIqesPIbR4h3lV4no4QyvKYcTMNR9xBEokzpYlTpbEXrM 82AVBowy9yF+CsJm1sVKEa53Wa5H4xm7ES2Wj5l+I4LwwQRhwmoMbBpEmso661I2Mx38EGHT TOF+wz7KJIgMZeGGa070vcmNYkhY9h8Qkc8ubiRTLiSyGSoQ7KlIqdzVN6o5YSNRA0swxw8t lywqMljQjcZNQq2xi0hifMPia+1wQauUFhXlHK2RNNso0tQQrQGsSmozHPINOaUzuVu3m731 hjPzLGvtOUbBYlM0FG6frJdmej+N3W18jqvqLYakVtjOURC9IW6mpoBcE0ScRtoMMG4ho1f0 l+9fP8Fpf7TWDqd+Im5/ruJri1p/eD74J98Ho37TlZX4Zbug8W19Er8E0bx7tKwEjSnL8N2a XTOBBIkgUX1qWl6y9nKfVgWz5GbiY7rO0Soj2WOK/ru0n/d93s2Crc61CYW/euVIAueIykik q6H8hgSNKC46GQQrsm2OJ/itBlF3VeLoTgeeuKN+0K2E8AMmLOzi7QUU1TatcmlEhAR8y05k ozus3V2QWGOeVmnL42k+im/X3/H1BxZwfPGRnq3QyeYmFhQsbruz1ZQB2GdUAA+FboYTh1mm a1PTvG+g92nxyOmVjOj4gK43nu/FBw6/LmbD47oVjLc2sMtZa/K9ZDEriovdx1i9wvZ98dKA mizsMjBIeV2ht5KnXFoKYJvZJsx5oofwV7D3j+nFbGaelnveJiZdnrWlRVbULa87p2lHfmRF Qp9HEA/fU15NfoKLr1MnVmBuVKNhR56elIuV3Y4zZzV54FGNv7SDDLHmDsdg/J4yXJfMCPiV 7Vtm1yBPvDqQ1uOh85XgsOZM6YWYIm7qE5nDSGFTazyKtKqPtQWrc+6uqwmKPxqNeTM8yyz5 xduu3Bdpw5KAXnpIk+9WC6Lo6ZDiBYBZzOioMkaVMHFo+85AUqBZwsOLkl1UthSb8yDq1arw FePoOFFn0mRPiR4XbWqt6bIrJFfT1P5KhaGWQXXxfKWS3JwkdSvTR7NyUH3wDhLWjyaYNeDA Vr1AKllxqc52WxqQRqhP+PgIOn6lfJVi2h4x0lzEsKF6uqQ25bPZBRB42C1rDo8uZJ56RFpy hxfqXg52QhssU2bJGwDBzIJtRr87UYiuaopOmBW0+i2xWvHoQ8kENxbsDLw3YQWoJPLX+oIf 8XRN8mNtNgrklMD8FRaH0Jcjp5zkEdnh1ts3IjRbfuK8rKWzzZ15VdKGW8S+T9v6ToPfXxLY WvWnTsMIgebU9odub43GAI87ITE7pfplbd5FM2wEUzAmQgNQqkEn9paWctMvxL73qxiN0mKM OvZfgax5+fr69Xd8AGorGljf415bYghQgkc3ErxRmU1mpKvC50SezqCHh1r+lPy8Ifu8rhN+ 1llnV2oXGtPtDA348nr99MDFwWnGVBlJMDx1KpMHkQ0I4XYA0D2g7RG5vVKiik9Iqv3I/foQ c+36FVR0PaQ8RVGW+kFupjBuak28Yy9GIOg9ZW0RYrIt2eq5hhDaFQ00oBN2+aoaDpWfdTAc C4FDTPSH2Jxn+rpHwiamFSJVSVWBMh+nfZWeqJR8RCRXnI1E3iusDU49DDYvtMYKTvpDIFUG n0IDOWyacpSoZi3eLFj6SMjcLgcg2C/qpItlYX3doUu4YHscxDNswBUrUO74v9RnorS/BiMo 1BDmcOwDgJ3jSmcyJv3rYLepEkwcwS6/BKZYqCZ/DbXSv35/xZPh9KA4oWRLvN6cFws19J/N dp1xih48GzMS7Nu4FNLX23Qsbs41BW3RowP41EtrgiuslDiHhteYFqsUPhPUvZX+yb5q4nKj XxwZWNT4Kw8OeMtamxM3rPQvgJmIyR3txG9QNU1siVWXThzudXR4hUj0ozzaHYgroZKFI/ot 3rkmVTV3z12wXBwad0Qxh9NyfaZmEKLCdWBPIn0Fw5qAet1aQVcLV8HSEUmD4HTIa3v8SJzk PkwYByvdH9zA4oB6UEMKLqvbM3bMJ+YTB+ZUgCM93dMJX9zHE0hxIIDUtJnmBxL4PkJOi24Z Bu5oiGK7nIbO4MyMgKlBnT1uNLHVwnaLUR12G6rWKY8N/H0QdyYbflflOSmNNJROFboMHS5c HuJPT9+JAKhKJselWRecNCqZOkLklFAaM2JkOducKlCR//tBsUHWLXpbfLh+w2gMD1+/PAhM u/Xbj9eHffGIW2wvkofPT39NweqePn3/+vDb9eHL9frh+uF/4CtXo6bD9dM3FVjkM2Ysff7y x1ezIyOdM2YD2Ot/otOgyWo4UY3IEaA2rsbi01wxkyxjjrIxoTM43YDi88aXuUisp8M6Fv5m vj11ohFJ0i52dBMRF0W+Fv7alY041G99gBWs01OP6bi6SodzOvn5R9bq+Y101GhZAxnF4r2v +zC5+26/Dsjg1WoZsznKDk56/vnp4/OXj24MASWZk3iru24oGFoljFOxkiro500rsoAJbXYq YH+g3V9vBLYQH6CG87ZqkuxCq5EAUdXbH1aIe9O7VNIjaWObwQOivqMiKoqcJXnq65WiSDqG rxWL+UzUfHp6hbX6+SH/9OP6UDz9dX2xhkFJDvhnvbA3rqFG0QgC3J0jd5kozJQxzlXalRws GciND1cjf6uSdryG2VvQ7mTzFzG3qZciOcXUxfOICsxRRMg0ikOgmacPH6+v/0h+PH36+QXv QLCZDy/X//3x/HIdDhkDyXSWw4g3ICavXzBk2Afn5IH1E0lubRLZsvgRJr4QcAATNRm1RU3P A2aRSK11P0H7LrGOjjNm7COFKkXpqc5ZBjNmutygsTLNTSPwpL5t1m4gOGSpYiS5H3ZCbAJr RqLBixWO/FTQ6abLy+6RbOzAW2Ru2AGXhvE2xkMb1Uh07AuX+jNtDTfcupCo+ICxAOgeng5c poeU+cXESIiJ1QfXvPTOKXD6YgOa85luzLgrlFtPi9KSzriokWQyAQ2S154ajqDBUXZ+jYQ3 7J2zJY0o2kNGbyGIzLd5MFENuwJVT7ZdBiF1BW/SRCHNyVw5cfp60Zze4EDXeYo+phfRsKpv Er9cNEnfJCvIl4Q6BTqL9iKWZE/LWPZdEFridkKihyVdrBabTbCgSwFuu3K1shF77t4e4Iod S0avuKYIwoVz+BqRteRrX9INjexdzMgEyzoJbM1oePOsA9HEzfZMedTpRCxz9eobqm9YkpDO NoZgS9uWnXgLwkEIkt/iUu7rwsMR+cbsUO8YfmV6VDFdhJ0cC+XI6MYMNqajyoqDXksOHhaL bSvMiDujbR60Mk9HTlwc9rXHsVrnhuiWZHwIfXAlPd+7Jtlss8UmJDey/tyS4Mn3dt4lTXsn uV2mJV9bbQBQYO0/LOlkd7abehRpbtIVaV5LvIG1jMS2FWXaIOLLJl47ayi+qNeFHtbxZLh+ MCpUu0Va2EtVuTY4TycVtC8z3mdMSIyzl1vVCS7gv2NuqU2FY2ICNayK0yPft4x+JK5aXJ9Y 2/LaGjW0BdjmMwytp2wEGT+r9PNGs7hAD6nsZEIvQHe2G5a+V2w5+7YeNH/C/0G0PO/NRhwE j/GPMFpYJ5gJs1ovVvb38PaxBy6rlBV3DiTA7VrAlkI5pbVx2Q86fVWyRp/IzZ9/fX/+/enT cBKhZ3Jz0FwwcNOSGCRgwsxdrOpGAc9xar5uZWUYRmckRry3A3h/0R/3HX0ZLNnhWN8tr4yS ZCiGYU6AImw2WCm1RWMZxtQNC7ptjKfb+Ru/vl9tNgusgrxxusNNvfrhyGgP8gC9e1bVSfCl onsrYlL4zi0jFTIa/XRO5k3DiJ0MDPiGYfBbE0B3+9odFf82ta4vz9/+vL4AO253FfaprGji kH7JoVbZaEXGw5QxbHnrwiZLogU1bIhuoRs6NDHNmQUbZ/WXR6zDbxUAdOi/WBFVg8WVzdVf B/aCfiSA6D2U78hXQYiFbTmYAoy4YPu07g78mYO8sS0uymQ/jYJ5OTg8XD7678YGR8zpDkFf K+T0MDYFvgf9rKkFl9aJLlPGWXMhT2dRi5CG1vv0bMNK9P2ebKUWLhM2pDvGNgg9GS3QzWSs S2r1ZyZsZk7wsc1+ST/Rsdi3lc8kqqP2XfGAMvprm+wmoqwv8J3U223J/BJHoxmcPX01AE/f rmJiqb8aabJlFkijtejbyxXzm379fv2AUZn/eP744+WJvKxGL5W7y8WZFl0Vo9bsh2u+qOai 1wbDv0MOa1SiWuU7XuW3GW+WnRjnLQezqS+thufupMb4aHlDwYYvPDrb0oB0J7VBc0r3MSvt VqPHkWtkNeTI26M6fUheGj2YifoJk0W/vphh+nXZAGzlcrNcHmxwKdehHsdHqwEFJy9tVIZb jZ6QeiyBzwUwWLAFPyShECqltFWPQBvxcq0bigaEeuPRlMokOM99+de368/xkAHo26frv68v /0iu2q8H8a/n19//dN2zx15iiEoeqqZHoZE59/9Tu90s9un1+vLl6fX6UKKN19FCh0Zg+O5C qjs+PfqHwo0vyEe8d7Lc/56hGKCPvjhxGRsO6GVJb/5lWgo4+D4S8xv9ZtAVRPPPR8cQ9dbo NnY3WD+5j7oY5fcZ10VtXEIqgn2LJ5gKz36HEx4Gqjx1PfDxCQgRdEHVML3HoTxqEc8qmLaR HnNyALdcDwkwwE7BkFvFamNcrsOAtt3cCCIqc9LAhCZmjVNr3C4WmNuCzj2pSNJiGQULO8mP SQOHwpYLZdugLXeKCtNHeqLa3fDU0XDCrleB0wME7wIv45UTg+70MnS73sNs7991+9TCAJd2 kZ4NSIdab48UyvQcG5rUhLvVym0pgMl3TyM2WjjtBGB0Pk8ubm6FUUTmYb1hQ6LCNcHEZhuR p78Ju10vnEKKKZGX84heh3aPhudx6iF1J5wq3Xd8NjayhyZh8TJYicU2ssfsVFqQNs0xDQAl AJJgu6CPDQMHZBjt6BAQCl/Gy3CzvUNQCe/Aw/HivOe51VYZs3W02NjQIo52y/PZ6QDslpuN lYfZXVwRlSFPYWsZ6HFBFYyLcJkV4XJnj+GICFQ7LNGofCl++/T85Z8/Lf+uto023z+Mr+d+ fMHXw4QD8cNPNw/qv2tvdNXYoBGndGcfGvQqOhHFQFBuFx5b98Cy4tym9H2mwmPgfa9UQUfS i7SFh+TA5u62XB05ZY8nb0J3XRW5q4IPGXXxDbb8+gLKgLkXGdsHk0sr0/wAFyA+I+oEq9D4 /hbkKCleF0v6aa028+4tjhbDWtDhTUb8NiJf3w+szstwuVroM02+PH/86PZ89BY1TDuGG6nk pecRukFWgyJgOa7QhAkXj29TlZK6wzBIDilr5T5l0p5PI54MWGNQxA0Vsc4gYXCKOnJ58XyD 2Mfmfo5+x+pGQ43C87dX9BP4/vA6DMVtcVfX1z+eUUMcDxIPP+GIvT69wDnDXtnzuLSsEnyI JePpHoOR887diaphw1sxGocPI+1FOfOmS8yIMGb7PHGB8E5aCL7HwPaU6TiFvamH/Qa9rUXc dlq0MIW6eQHNVSKcqKmVsZmiHQGw6azW2+XWxQzqsQE6xLIWFxo4Pdr/28vr74u/3RqDJAIt 1gdab0e83ykEsdXRSpijZg9gHp6nqJOGLo1l4Bic4WdJk8hM0LR1bHZGgaEnNLTveKrSAOnc Vh1oj87dwPwCBFtKqPxTOUrrd4jYfh+9Tz0BpG5Eaf2eem9/IzhvF8a+P2H8DucTRSJUpJ7P NLyPYeV1+stsHb9Z+eD9KZEkbr0J3G8dLuU2WocuAvaP9c6MiaWhtrvF5i7jxogNd3qvKHZb 8suwc+k5XidMK6I41LPsTgguimWwIOoaEGbgYQtHRbidSM5AEFFlmzjbghZ/p6iiWKxDt7EK E3ox65DiuUJt732wXC3lduFWOsDHWeHO0mQDujt1Op0p3oXBo8tZeSpWC/3GeW4pK0omiAJo DNquz24LBzPRkmh7G0cy2hKzExHr5c5FCDiq7haMGrMMFBYyBcJcKSxlshVnYP2SqhJL3J3k aRkugg1Z9BjSaep1gpBYse1xayWRn/seUabzGZuAUNlOmgJoypYUJabNjpILCF95hBbRXAWP aGG1CinOKAyVmlYn2BEzT4ms5ZpiTbvbkOfo20CucIipkihzVvcGapCUhFSCNRtYKbvnMnGz 2fkmjgpVXSUqcYU2XHjK+A82v0SEtA+Z2Sxi31FTcheTwnLA9YdTST5avvFxPaQqMP2C7860 uKwJcQGDHFB7AMCN2N46PPLNp/U26jNWco/nr0a5WdHmhhtJsFpQAZ5mAssYYsCpdQBwav8V 8nG5kWxL9ahcbSUZmV0nCImPITwipGYpynWwIgd+/261JZMYzUPeRPFi6X4LJwyxSMc4TG5/ 48B4BDfDzTdS2iQegik5mLphhdua95fqXdlME/Prl5/xZHZ3WjJR7gLTvHYbM99TqZmC56NN m1j8mUCH1RLfWJB+S/OopEI3Vxjg/gg/3W7iEy9qU4ypdqTNLiTdFOYhbFeWUWtmjtwtW+AP 6bKmEwlW7txm3i4M7S/KrRFqc+5BV605ued11fneQJRHqhQ+UUlYuL1/Qvi/yr6luXFbaXR/ f4Urq++ryjmxHpbkRRYUCUkc82WSkmVvWI5HmbgyY0/Znnsy99ffbjzIBtCgfRaJR91NvNFo oF8YmKSIOfPsfiZb+JeSGfyWtTmbNrE/AZxIxAaBJjlzZuNklXox9z7Q5ibMHslXbA3Kft5n DseYZTbHuDuMMYCmODRMaeUxqltm9bZTDEbq07eL2eWSgy8XU4afHnENMbLacnbOimoNhsgb 6YWnh+lLbJPJ5HJsmyiDEXNUS+/809Pr88s4f+lDyHLiQRODrMouzgRWbsBhHVDr/YZ4qetP mtsiltZVtKrmRsI53bUqZxhb9Rtm9CC8KPka5wRy1VCTbth6+tO4nYgqNv+l/hQfGlRcV6qY dbpoPor2R2O32bcBLTWtBLIY8V9GwyQB3ebzJdyN3IdhDR8Aab7FnNlpahun7trJ4mpmx2ec Elmmimpp71/JVJwErBLVSeTv5w64LuVUXdhgpfxE3t9E1P600mkxy7bH/UKeivQgdOusK9m4 QpTACpBEEFJ3yy5GWTu3hOxXO/jZxSlXPWIqfSKk9TWxwABEgsmPOURE8xkhoBF1XDYzt060 Vxj1xAEaVPMEGobntMjWcbetLMssFyXLuJhcUMtorL3eU2U4gvLNgqYSkp3cWGYth03Kmedg IGngDOnBCkio0sK6v2W38e3xmwPPRbHniK36SRGhFByaZo3JuW31p8akRbXnbHlMO3LbUYeA TWYOLiiHTQ2cQKaiE4k25iTdRW+0Li3bbO0AXRpnRCQMHZetPkkoBrJqTIQUf2R0wJCHl+fX 5z/fznY/v59e/nU4+/Lj9PrGBYl5j9Q0aVuL2zUNtKQBnWgsaT3GlNacHAQcdKtSVpBDprmY nvMaOBUsPOh6K3IqZ+iylTMmXViJKLudjINlT/MAR9+/FSf7WkQgPEYXyTxYiEnpHCwHsxeZ 1ikFyb/z48Vvi9+Wv63O8tPnx/uz5scfvuvw8HVMs0L24GUX20mbxsu1v9fyu5WUTWFkeHF7 PyG4z1yN37DTpug8WXiwJ5KG4gc2zp769q6sqTsEAXZJTJ/5KOauni3OFwHken/nd8WUyKYl oyRZntGD1UPVk0C10aFZiFtBMwwd1gBdTibnXUpcTQYwS1o2llUnYhov/q+K6vT0+eX58TPd 3gbk7pR1GdEAdJu0FugjNbicGsRN297iw1LXli16j4Gg0Py+mPv4GArU6Flv9L5tuk21jVAq IIdNkYJQ1VQ0RKYSfLo4u+qOWYGRUa9u7mgcSszAsLEs+xWkizCH1mJ+BcJBiJEg2TpZLGZw n2FmW1NgOOv5+bpg6pCoJaelJQQXM6+5fpYuDcdY3hP62ELgKsa32wSFCeYA6Unm3Hq2CCZs rfNVCL5gWlPFyepiztuEaZI6gjU62t5mkZxPI+4xdCCYWJkkDVxUcHBc+PAd7JeFD26SyXR1 yXRDpagIxPUfCPgiZ7NJqMiLsU75Oc8IZnXJxYTXBJg2zbpIGHjWrKY05biG7+OJlcBzAFsJ cA24SoB8aftIadyNVI6XgbxJuZRL0JmgEEXLiUpGWEBGUNMwtAZh8pr5GMtE2gCVrYMPLrcc sKzQPsLHSAshH4xuOx7Q+MrRwel7JTN4Jq7zkkOF8eJI/9YgrsvjQsf0G8BT4BndAc5ZctmQ P7vY0l6rw0Z/YBU8lACyLPXPqNK5Hfb9mGZddEwbmeaLW3mpyBLpzCRIOopdjgar2Kums4RC DJWuMSStAx0z/FTeLAvWyJ68RTgQaHtFhg/T5eaij69kXex1ktyAKXGWRZiB2HzJUpVZFXfH crLkeMMuOgg8oMj1W0OgZ6KK6HQO55rVwOG0U6/Q3lEef31++JtazOEDbX368/Ryeno4gTz3 +vjFdqnAwtKYjQKDKBAZ9OugiX3+sRrsCnZNwhlhZ/nV+Xw1mwb6aPToXNMsKjhtLCU3we7S BW9KSmiaOE8DTWjiiruUUIr0wjobHdTFJFRyehEwjraJ5pzoYZMsz9nq1/lktToPVB8nsVie vzO0SHRJD0yKa2QWvrhihTGpIcjEsaGOnA6+iXjcVuRpwaP6h0pmHKZ51Uwm/GfHFP9uBfGc R/h1WQOztEBZMzmfriLY5llCw3xSQdN+uCUYbTnAom7ywAotj0XEnX2E5BDzc5Dn1VSbmHF1 rpPlZGWrP+gUpEc4e/DNIrD1I+kdZXNIbO8NTN0Fqzfp0Uvb7qaHXwY/W0fpFYZNmLjfrdtJ F8d7nBB+txCaJOXNdiUNHG9wL4J7UDVKA0fgGL5bOBonlqDbRi3vMWaorsqCMzsk85Palmjm w/h2W9BIswa+q6c+sJCPxV7lvNG4wTa1XVANu26NCQ5o9iiLxQKXW8SHGdV7ufjLIAqdV3ge BdhFIKmNQ7X8CNXychUfeIWffWBMaYAVmXAMoA3PkdZl09KAHKhsss54OZX4VkSk1x5WuLMj oeEFKtHXo+h9VnlSQfr05fT0+HDWPMdMXAy414sihWZvewtz0iqKVZo9tnqXbHrBGQ66VIvz saoCs+qSrbgZpUTHiZVF1katZgyqBWZiZK8+KjYzhsyCMKEYKNfFdPS3mAkXKd6X2eT7W3v6 G+saponyfR08jl2RqJ88589BhQKerwx2WZlLkaT5FmjeEbwUKb7pWQbAPsku3bxDIdrdOxTr pHqHAg7Cdyi2s1GKSVAQlUjdhPcHBUjV+I0X96naqqF7j3dp+nyzjTdcIAqGNB/vJ5m0kQox 4eKHmrdYLgKHpk21vPwI1SVnOmfRSIV6qOmI1Ovp/doksVqeH6l0fI0BxeVYsy7/m2ZdMs3i iVeTGXfddGgWy2DTEKl79pFy3lvckuZji1WRjixWSfDeYl1NlrypgUPFWh87NJfhhYXIDw8T kMbRaMcuCZcYoai6FA6kmzriL1qGrhLjIwQ0+YfYlyKVszdW4fikIUFj52f3KeBu3UVJwym/ fOLxU0aRKHY1Vun7++TCNr/1kMwCCD+NWAc5OetNaFT5fPLt6/MXkCu+a1PTV6qG+Qg5eaNq 2qjWpjddHrwwkUtpCl/EO/YGKAMWbBOaa4N8iVg6TpI6uphVbJZrhV0CcpCBJUxeM6u4QfvN 1SUNA2qjm+RITU97ZF3lxCc/qq67bRx3q/MVcS5BaJ574BTAUdU0eLFkoIvziWW5muqy5+cT /hAzBPghJ4/2bVsc3XIzDR/9jPrLwGgp6MIWoHv45YR72RnQM2JCO0AX53YVmYEOtImiBeCS g06sqN0IzzQ80Bw1MXYdfXsuZhx0OXe7rAtZ8s9phOIyTLFlCHz0wh4gU+yCa+flypmwam/g 37hCrOV2HatiptNL7nZzDXtCrUaivWliPHIAupysLFXggJiu+CsVUKBhmf6Ws8IYCKbURwfg W1OjB5zar48aDOcwG84C0XKIdPM98NTrVVZFTfNOvySNTIA02rsciLxeKD1L3z1abI+a8iXC 0ldjvpoTxtXoneLsWwTLZeA8d9Cv5Bg43+EyaPc1KuZ5m34kuF40cCGtnLWiG+K3Tq1SF2y6 iwirEL0q1AdWh8zkAIrt01E24MJ6uG/6UeOj5zdDhUBAmqiHdWIzoB7MujgZ7OyCLjc9LhMO yNW5ml2cu3WqMZyEuqDx04tzp+/9KE8CARcozTREU+WpjDSEJ6TzIkrPz93GOvmu8NQ7xrbM hq/xGz2VUHmwzv7Wwimw5UGtIvrZz2IiF4epW199x6r2JWrZXE4n3styvYqWMzZnucGiOTrz keMq42Fn/Efh92GFZzNsD+jIe+JW8DWfxmggiMNjrwhEcOAQvVzZo6+Al2xj2ENnwPI9uBwd zcs5/xErkvfYBT9xIFGMj8Vl6EGiJxifpctVoOLLdybh8p0ORX65AFtsz2e825ahWG7PA3Yz SNHsYAcEOxRHGMdha7vz95itKKaI5lEzjbIbhEgMpwu/yvgKzeTDjb/bTrk7AeEKsnFwALt6 BwvbVjwWOByRyqhCUCUWtXjzLF7M+7BH7mPsQHZRHTDA6TtkKrVTNwOmGCC1Cee2Vt9GXtil 0Fb3FIuPNuliHmy9Szh9p9aozhfzD5WFF+NGjnxsaxA0HjDlnjcE0gnB3p0XSTYdb40kms9C FhS4MNJNeghr5zAeY9Y1ZYwWiFwFVZ3Q0r9ZiCa+XOE88YhZpDF2g4JmrxKDqs33bvJt2kUJ f/lG9L5Iq10qnA2WbXNUggxAFWe2O8R7VtGnXRAH85WbpkoL5AB0iAeoNAfmDGEGCv2O4CNw zIjhEEGgGxSPkS52A6YRebdfqQQ85PGlef7x8sCFM8QgPlZmNwWp6pLmiktBCJp1utPDYK6z RKEsaFPHTjZSY2Uly7bAUiXcw/vh1K6afowhgzeOmsynN11UrUeiE23aNq/PYeOFSdJjhRwz VLs0BV/4VaO2P1xonUTBEmEW56lfIIAvUpjTcKHKRDxUrPLLdIddZ670q9Oek13bxsEitX+t W6ae9mQtMzFVdZzvKbJqlpMJU2N+bEZGrIBVXotgU5BnbaWdIcw40xvVpLHnPk0idxfI++T5 rM4Py1yG60ntjR61Obp7pTxPV9hAaHxTmzqi0TiGaZLxMvYXF1rMdHXFDJgZzPaKWULIhsND rNv0CZ8Kgr1qdporxDlnMdej83ZPXUS1rFLC8JILpCFu6QoRusMyf6a7qKqjZSuxW81wTec1 9+LYIydEPtLAak+LUfWhswjGbIpbbkT79YHeuvYqiGGwJuejTMSo1YPLV+GheisNl4E7WeRk /jvpTwI1L+ZO8gHr6dxh9qSMKM3WJfvkCgfeHrYRGX0FGqJqqUxop6fTy+PDmUSeVfdfTjJ0 GcmLbX2NPmnbVubBoiYPDg6v2pyPi0cnt2XjNtEj6D1YqSnDey23y5SesRuvKhO7TbqxtXUa t36/KE0W3fGxK2xSfGlod3W533LZeMuNIre4AQgZCsp80Hsemc/IcXKe+oWlFTbmkDd8tNmm iirYr3AweBUOG0KmW0miOsAXa2CmoW+b2SXIjvHNSPGSZKTHyPq8bskHn9AXki+aT1QctdO3 57fT95fnBzZOi8jLVqB1GrvxmI9Vod+/vX5hvMmrvCF3T/mzKxoX0nuKDvVY5fWdKfdFgi5J pi/AAZ4+3zy+nHRy2VeTwBUk/LP/aX6+vp2+nZVPZ/Ffj9//9+wVQ4j+CXvDy96NEk2Vdwks t7Roup3IKnrq22hTudHWNc+MH71yo4uj4hBZAWs1XNr5RM2+5viBotke8Z6SFhvLTbHHDe3h 1R6SToiP0eV9Xeyscz1VQyBNdvkR0Ikq0GgeTh3yGEkQTVGWVlgDjdvDBoPtvW/hkOA3mqKr ppEsfIxmtGN+++nhdznBr7uUc/Lqsc2mNneQ9cvz/eeH52/8gJjbQaWTSg27HkqRcbgDxqcS H4zXh7eLKl/T3cO2QyVFPla/bV5Op9eHezgTrp9f0munsQNb2adx3IlimxbcIkUBLgdJuLK9 pZMqivASz+Sh1I17rwm9J2yoYSjLbKv4MH1vbcu5cz15LadYv2K8Ev3zT7BqdWG6zrejF6qi 4rvOFC5LFzJ/6ln2+HZSTVr/ePyKcVF7juVH7U1bmmZE/pQdBgD1sNE1f7wG5StObBu4ccBz KM6T68ARlYhDVBHbAnlsFZs6UnYnVjFSmYEWMIGymtg2DRxgNksm6MEE0vizc92R/bn+cf8V NkpgxypTBDg8Md5ZQtz1lf0EiK8dTd6moM06dQizLI4dKtu2oQdVia0nLlGcELw7ksYm+OEI QcXdviTqJi6aRvFmslLYEbH3lL7xjElk23pDJ5pIamrGxr7lplUyWv/N17w+yty74ddLrkSN 6qO7wzzvq8xnzPLuPT3vDmXWyizhiowTtQz1zKO2O9JaDkkqqbN/zsj1eXz8+vjksyM9VxzW 4D4mAZlm4QiJw6YW10a60T/Pts9A+PRMt4VGddvyoHMEd2WRCNwlQ0cpEQhT6FWH6QWJNzsl wCOxiQ7W9YkSYFh1kM/ZcFdWQXDDSA/C7UTiszAU1fUa0K6MkjIk1eOhE6AjVOqZahhJb3Q7 cVARq522S7BpT1FSxyuWpKrohccm6TdSsiGcSBzbeAjFLf55e3h+0lKzLw8rYjjjo8u5rSzT GIz7HVBSSHweHSfziyVn7DtQzGa2gcCA8WLDMxQrW4WrUcpLK/xp1RYXE6rp13DDLFPMQx67 w9bV7epyOYs8eJNfXNDgmhpskityiFimmp/R6IPA4ksaSjlJCMfQb21JHeWxCxVri5VoIRGE sA23UdCTKgPhrCXCOOoWRJ5aD+OdBJCJkbfwbZVz8bhQkYJhgryP8oNY49XfzS9J5Ed8jStE 28WkeoSnG+sVSvmBdIVgGyAFgpw86CTRCmQwGEOro+aZrq5i2U7Dj+Wb6CaPp3IwB7h+vaRj rvbexXyKWf2sNSL3ZFNTdYdiBfRzc5IIDzgzQPu9ezKddyKQ/UgVNjkPEqTsS3DRrmk18LPL 2VzXiEntoMwIEhUXJwsxKnFTS9N9IbiCG1xV2qc2wtuy5PRZ8hNRb+xCZKh/N+j9IRcdv7TQ HfMn+aHCtdkgExKuLw6BclPxBeoNt8tiTCZJk8QMyDZe0w2ACLycpf5rikPh+gu6BK7fIsWK OksLu2+aDbhtMeqJQEnJTeyORzAEJyL1C75d9S5dH1q34jTnfAUU5jixRxIg06VdJh69beWM uFLkZtvcbXN63Sym55xuF7E6fKVV/pUQ+ZrG5kOgzMY0c2ExutzqtO9WreGkqgrbNG5RaJwc p3anFFTHILA/cKKtShDetKyIgYpQu4/ZtEenAZKlJ7mnR0GczMG0Cq04VFNYZRMXUhDkhF0P WpM4EM2IUU/hjOJIxCy5jfUFwKpdKfwdWDZdxZWd4VrCMVpvcKPhU2moZqquUQBLUd2DULvm QitnSKQS1KZyYp5KUCriyCkMYLvaYz7tTeYBMBWJO62HFL0UW94YQRJINap3B0nr67MHuD74 mQoBg9NlaYyAKaTsMR0lAg5EK1riJ6mOi6xQu3p1wP6OkbhKLXOTHg01c3dIc8jfRRNJY93m 9KqQZTMftw3Iuue6hb56K94jaqTS3Uo1myhT6uveOgO6mQhb0yWfXpEmKE0j6wOCphW8ag3R RZvTdPZaGMFiQaRdpwW9fWJExC3WWsUYO8UaHgvnCAVDmzF0Yc1fk/J4V3Ui5RUH3iLq+wC3 uisZMIYKshiJDDhEnE4DCQR1Nuy0KuOWzXGqXLvj4TXMWkWIi9rdkk2eorDHZnJOwxNLqHym tc2hNUKew8HShiOZA+Ov2IoLrvzSm+TKrwkD/PGGFwotD8btzQjJ1XTCD6pCZxEwCX6hS7Q6 Bd3GytnH+G1HZnTkUg+WqDaCDHUBt2hvkNCOwy9yzN5BUSjHpNLKaTQgKju1tsKQo2xkgKTV I17lqt2tp36wKN3gMxoq30xGKmDs01yKUGBxie1d0v26DTsaKbvnWNtsP9ZKtBgbM10zwRXe i/Ng6DA0g3f4YPis5scfr/Ihazh5dNxcjK41zC4Bwi0epJHEQiPYiHB4QS9bKkoAsl9SiLa/ c8LCyFzp21xXPxyiuB6iQt1XYoHxcPnDFuiUKRSmOhyhWKRDRzjRRFFdprrB7ueoBce3hmAV cuet1tLcd5yo2x4zj8wnmkwjSeU2xkbPUPTll9ZAHB23HhlLJEcIKbuoiDDa288ROr0k+rVl Ukmi+2WvNqPumqQoraPDHuzslaPitshGuD1XQVfciTbnnLEMlPbWzGpSAV3GBr5opnI5JrUt 7uLHNdYdtexlyOBx5Xz7P36D+77oA/wDg+VuBG1lV9YgIfH2EpTOXeMsUQN8qQ7clSlZlB24 gwFp5AOTDLWi+26vvfQIxye76Sw6xa5G96/ifO+SLD9EMrphdikKESjuhfkEBrkB4aAo1f60 ptzIuN5aUKJAd6iP03PVBhZfg2ysd725BqgUFssL+eKZ7UGCrW1mLZeaFJrkEvUWvkKNjYx6 YIRKoGn7Ng/cawjhSjoHhIdI0cUVBtjFAt21ATffbroqchDM2CuORaNH2SuAZwSy+rya+SeP hGKF9shLI0iGYSB8v+H14QZ/bMZWNlLskpyTLgxabY/GGyAl/qFsnoiRJkRVtSsLgS7EsEF4 2QAJy1hkZftecVKMH10oykCqukb37pHxV2IhrPGpPQMSbtnGD1DurJMYZMm7cKN7mqaomm4j 8rbk05g4BdKrsoOSyy6ApZH+6YigY7q/65Wzn3yesoqrI0yq7NMP7kR4trvDMaij5K9jeL4H LTGyKXcNjpCOii82adyko3zdpk58ao7WZ4w9qr2thDNn+oaeVMrd0/5QI+UOC6P14Uy3ntZX 7DeNJwgaVFiI6EV+bj1TJKeUs2j8oRgeQHbWeye2rFVPcpMZcFzo8u42hJ8PeLtvbbqbny/H 5Wj5MKeuayG2rfQtl/Oumu7tNihtkseWk3w14fZOlC8u5ppluQP5aTmdiO4mvWObKl9kY/Ve 4UYNHtQ+qQx5G5oG1CxOpjRLpDre8UlAP3N3IrdVTT7F2GD27+5S3AjJWAMVV5v2RFIeR+xr kX3rI1+jnUAcVWzz8thqthLxTy8om95j9Npvz0+PbyC50oQXg7jSxXHBFitxeRjXSKNiuNIE bHqNvIkaySCRvF+6WFJJkscLEDdR609sdcZ6178IUMdsmNm5/ctYgHc3ddoKF5dHMsuxsW+k uQRM44qkLm3DlWCegSQir0YyybPz01XUKaB85UzJo/cALuOytZ6ftapYbPYNLy6rb80zgEBL Z956yiaEajhtpaRB5x7VkEGhD0KSbIPb6AJ3RpGUnUWuZIlNVdtxd/SYoFFCk0RsLj5zzKjK OIsrp+VO4XjZk20foVH8EyNrc03o2Tvb38Nmgdkq3GnqrY7fmyjM3gaTsK34hxSVltEvxaDR +N0MjVVujYvPaau8DheHOsrNA8Hu5uzt5f7h8emLr/tAbx9qRYCuhC2mHVKi+tDEHoUmi6xf EVAk+zy/dT9ryn0dC86Y1ifawTHZrkXUBgrZtLVjPUU0HMis2x27h5khMLXjEyWx20A7kHxb m8dLOt0urovYDCtR1qKKqKpBNJW2IST6k4uSalLa174OQ9pghtqQwQohjA8V0ws8nEI91OdX U6VsA9JYgLjyTuV5FO+O5VQXQrEqcYCtU5MN3dRC3AmNZ8rWzYIxSoRndyiLrsU2pfFsy40F t9uBqb9+upBukwufDqHYqwBG98gdK4NWtYcGC6mizZ5pSpGWjV68VRR3xez8/JxpgbrG+NOk xI8u4Ajek2FOM1Rquks6oCBrBevRsc/aFCbkKKdEmVj/+Pr2+P3r6Z/TC+M9sj92UbJdXk6J rl0Dm8n83AonhXBXg0hQfT4zYwzNVNzLbnAaVBanbtIy4JSQpTlvfoNTUsO/CxFb7n4DFM/u oV8uxoqm7COLMeR1AClP2BLDnllp+CwafU9iegS7CQnpuMgv633VdnERYOpwaGp30sLlytJQ oEeGJH1xLfhzGR1nr/dREkq4NfhQtvG6A3m55R2N1OaBWsgiU3nohqIwjYt8YEi4019leVF5 QIY0mLZVqVzum8evpzMlz1tmuIcoS5OohQOqwZyTDavnBlwqcwfb9p7TbhOw9Jx1G8vUWwLg 9tCksIXizClHIhsR70EE5u76QDJ3C5yjSXK3KWvZEAfl1OWgTE0OxklS+mmdWDdx/K1o+AHK 13GEuWSIrjOF0QTMhuYvN0AgpUEOejjaqnWu0xkpqjtGLetD/EnV9JP+ZgbhEzsACHX7rxOs puiabl2lj7ImduHDRcZdFINNQVt7Hxr5L83Uh+SUmZqRG3bdVDeJL0R/oQbIK4gbC4Pyx0Ni 5BQxjZKutGnxScgUDtahpAvEV+5aNI1zrNp0cHpCX/jFZN3UQqsZDTLtXaEg3VrFB6loy1N0 fwawyvY4lCyKuL6tWkssscAg/WwbCwcnsj1YBuQbdQ6o9T6FI7iA82xbRMgOeZtkL4GwC0gV QDokWDVFCsGUer0vHf1GDYxXgbubqC5CTo6KwtvzA36Tt92BD5alcNx7nyzVMo2O9m25aWwW p2Cd/Zq4kTyPG7kShjmLbi1eM8CAgSRpjWdsQnMccgRRdhPBPWlTZll5Q+smxGmRCF4oIURH mCnZi9HWwk0UBqOsep1wfP/wF821WQhc0UN0ABusE0D3y8dhwRoQoHM5ngTiRrG4zgDlVoKJ h6BarXqQ/Avu6r8lh0QeusOZa1ZwU16iXtKe2k9llrLJt+6A3ibdJxuPx5p28HUrX5yy+W0T tb+JI/4fpB62dRvJXmkQVfjOghxcEvxtIgzEZSIqTDM9ny05fFpi5uhGtL//8vj6vFpdXP5r 8gvdxQPpvt1wkTdk8636FYSp4cfbn6tf+hXTOgekBDhLQMLqGxswc84hBVvM1yn0V6lW+RcU SZfdHbujPA24g08X74hGRo4bmzH1vPp6+vH5+exPbialJOFoIxB0hdd37t0YkYdcZ76zv1Fg nXYZH0t4uVjSouVTy1rxIxYXB0itRYpp+35aKBCYs6SmaaSuRF3QKXOeJ9u88n5yR6VCGLlg kPAlGNhUIhZcgEvMDWg4T9Pt9lvRZmt7QHsgJ5qLfJN0cS0i+q4rC91FTbdNt6i8VyNCmJD8 M8g+5qXZn+i+nrSJ5fmOUYRETgYEM95uhSOBRomzDzTAWvbRxiESUhxwNkIP1MnlU/bytvME OYBU2T4gC66FRy9B4WN4HRIr3a5/2mgp04NoPnBO+LHByHd5lUOclbqRrNnneVRb8rT+2lt0 PaZfp2yferKRa5GiIbImiHxeUjFFdJelvEpJobM77pRWuBqvyX6J9X6d8sKtblYO26oryoJ/ 86REII6V412UZE16x7RD4TbRodzXfDfiOsrt9aQgSkwGlsY2UNPkbcKiG7j+Nzt21R2Ozt7B hHtHZ0mXeWjR7ipv/V8Xx3mIHHALT07UwNBttda1W/a3EoYpWUXSrW/V4LBddymdIQqVV7Yk f6jCwopd27H+ejgUSk6HprUeo9Xv/sS/whA269sW5LbJ+XR+7pNl+MBhNoqlwlYksHB6NHdw Gao5LcRD7uIwejUfdqrbse6uaZMwNohwO2YGxDq9/aYbMv4E53rzkS9oBz9Cb/WZ+4AfhL6P v3w+/fn1/u30i0colTXeYNmBkDQQVU3+aljzoU9vm4O1rffetlMQdWKwfd+PbEpRl85xZSD+ tbrHhB6DeoI72zuIwmGSc+7lvciokJyRIScSO0Ebkb8Dkd/+sMcsZ0tLgLZwbDpfi2RF/cUd zDRY8OriAwWTRBs2ZhGscjEJfjPSmAVnMuKQWEG8HRwfcdsh4vKSOCSXgcZfzhYhDA3W73wz DWHml6Hho6lWEAPXW1xU3SrwwcSJ5O8iubDsSBM1cZrazTNVTdzyDIJ7rqH4Gd/0QI8uePCC By958GWorRPeq8Ai4WOaWyThdXVVpquOYy49cu+2LY9iPMIjTplo8LHIWmpMO8CLVuzr0t0D EleXUZuOF3tbp1nGFbyNBA+vBU3yaMBwwc0wkArTtbTYByKXWp13GuoRtfv6Km12QRr34WM4 PooUVz778mPpd1QIvtPDj5fHt59nz9/fHp+fyMsAZtGkw4y/u1pc7wUqk/C9izuIRd2kcMEs WqTHtCj06l3jM0iiSh4OMPWIbOB2jV2yg/uKqCN5ZeEOXH3z6RK4XUqfJy8Q5sjlyKDoiS0z wu+iOhEFxrhrUPVY3XZRBkJopN4jhjuqS8Y9V5e1fItWJh5Ww1BxEstv8X6i4hkyJRgRduhr RIxVsyb//Zev90+fMdrqr/i/z8//efr15/23e/h1//n749Ovr/d/nqDAx8+/Pj69nb7ghP/6 x/c/f1Fr4Or08nT6evbX/cvn0xPakHhrAbOswGV8i0/zMItxm4noqteRn749v/w8e3x6fHu8 //r4/+7xYyseW5G22Nn4KnzVY2uQQ8MMCE+8vq2FFc9qhAynk1W1QkulNgMmux93NxuvokFD D0LC3Slj+YZzB/IUbJgMPbNgqdRia61yBs3u3cAwG3R4EvtYU+5WN+08lrW6YtH3nua2iDv9 zGfBcpHH1a0LPdKHOgWqrl1IHaXJAnoYlwfyloW7v+xf9l9+fn97Pnt4fjmdPb+c/XX6+v30 QjLwSmLUNlnRgS3w1IeLKGGBPmlzFafVzgombiP8T2COdyzQJ62pXm2AsYTkouY0PNgSgxmY q0ZcVZVPfVVVfgl4hfJJ4bwCQcofFA23MwhZKIx9IYMho4Uqm/nSJhfHtlbmrI1X23Yzma7y feYhin3GA7mGVfJvuCXyT+INYbRvd3BUeXBqeVv9+OPr48O//j79PHuQ6/jLy/33v35SXmjm t2FTzytk4i8nQWMT9jCWMGkir5EirhXYbUeTsxmD9Ejs64OYXmDmeGNa/OPtr9PT2+MD3Kk/ n4kn2UvgJWf/eXz76yx6fX1+eJSo5P7t3tu1cZz7c2p7jRvKHcgX0fS8KrPbyew8kEjI7ONt 2sDCCPejEdepx3BgTHYR8PKD4TxrGa382/Nnqlg07VnHXCs3nJOSQbb+donbhpmatUeX0Vd2 DSs3a+/bSrXLBh6ZnQOSlExf6y+AKAFBtN1zVkOmgRirzyyA3f3rX6ExyiO/MTsOeOSH8wC0 tBlKH/n45fT65ldWx7OpX7IEM708HpEfj62idRZdienIfCoCf/6gynZyntDYbGZpsweDWdJe QXky9/lrcsHBuqqKmV7mKSxp6RfLOdAYzpMnE/psYfbILppw/AHAWNvI5oJ9erHgyruYMMfr Lpr5wHzmjQYIbEKsyy3TppsKSvYWSvz4/S/LOrNnD/52ABiG9/SLBinoZuPcupzpjnIBN8jI X3oRXotkrAQW508kQv2BS4S/xjbyr1+A5pL+gIq6sgJY9gM998+vmxJ7HIKbLpn8Pc/fvr+c Xl+VhO+2XL40M8MaUrlI5Go+9SrP7vyGytdmr0v4QmwaV8Ml6PnbWfHj2x+nF5ViwbuLmBVQ NGkXVzVvSKr7U69RP1vs/TlCjGZtbskK9w63kUSBLB8DhVfvp7RtBbrp1yWVwInIaYwCqSz9 9fGPl3u4Obw8/3h7fGI4d5au2W2CcM32TNQObnIHqnB3kEgt174krjZF4k89onphZLyEQWbh 0NzuQrjhyiCYoQJxMkYyDEWYiO+CI9WwRAF+KlFy+7rjv7thhh3uW3ku8ClEvqKgf6t1GTPI ar/ONE2zX0syK85/T9hWOaXiHBsuzi+7WOBjRxqjxkkZChMl11XcrFCPe0AsFtZTDMoVoFlq QwHBmBqrdX16ecP4yCBpqigXr49fnu7ffsCV8eGv08PfcPulW15ZPNDXp5q3QdCEsJjjqyxt +iesYeQ8Crnn8F+///ILMbD6QANNkeu0iOpbZW24MTs3C25ZdYWWV+tB16ph3RouKMCWak4z laWFiOpOGntQLWHkWHuuUzh50Z2CLBgTsgcO5QLu/t2mlh7r9EJISTJRBLAYRnbfplR3FJd1 Yoc4g6HIBVzf8jW0glMay8dAGoirDykUp70JuoNywBjwTxsqkX2BVjdoPBnn1THebaUprHpT 6rdcDLcY4MJ068aThU3hy4NQf7vvrAMZBVX755AoyNrkEgObVKxv+QdfiySQoFSRRPVN1HJ7 V+Fh6q0m2aomALAJfuuYqMeATfmieUy0NkoSJ6buUZGUOe18T2ppw79RKHpOuXA0XsHTL7MM qe4U03egqMknZRA4p7t3lPYWNVeKraj/ZoG5lh/vEEyHWkG644pT1WmkdLKm6Rs0PI0Wcw8Y 1TlTPkDbHWwzdsloGgwWwruvaALpxRJQEmuSdfzJa5E91cOwAJ4Fw5T5m5q+yZv1pJLJZKUl h1MoKhxWARRUOIKi+3wdk6vdGi8rw0/pdXSIss4GRw0muQHmdcDUYDWNZYvPxGlpuVorEFoV dhbnQniSk/sHun9bVvwa0K1vMc6+w970550MLCuNuQeCQvZXFQA8fEttcSTOfIiKC5dvIi5C 5/lWGb3a7YHRyyJpeLGTAizhxDdp2WZWXDT8wChyMH2QE4Taooswxk3Q6M80eOxgbLaZWkhk AmU+NDe/lPL06F0TyHLMyrX9i+FmcXbXtRGhw9ifIAmSYyyvUis/dJLm1m/4sUlIkWUq1QUg fdQkJIfUX5kdckgaZt9sRYv2euUmiZjAfPiN9ImzcoBtyqL1LewRajsfINnqH+41TqPoLpKg xT+TiQNa/jOZOyCMMJJhyV5tEYgQxVidaFrXzf9h6j13QJPzfyYrr88F02iATqb/TKdea2Dr Txb/zLhnVV0rqaBB7/eMbpZmK9c7s2sr9H63tB49CjC1UIFJ8ipC9wxYpAzdPopjZKabbN/s HC+InkhqO60kBtLCGdV3NxFNmy1BiajK1oEpqRjkOtg9097QrgGm4HgHVhiAjNOcletP0XZL TZs9iXjgqsUEWXqZiD7DV68LM3cBCf3+8vj09vfZPRT4+dvplao5bacflbiUtU2XWFTWWdli sNPSc186MCVdSrVNytQMZMltBnJ11qt1lkGK630q2t/nPVvQtyGvhDlhdLdFhCmaRlghpegC 1v1w31uXeCEUdQ3kZHmoz+A/uBqsy8YKOhgc2P7J6PHr6V9vj9/09edVkj4o+Iuvbd7UULX0 uZKmmsMw12mFKX+xmRbTqUWUqIybDfeQvRMY1RqN+GGmKMNVnWqUix6ayOdRS891FyPb1JVF ZgV0U6VsShnAYV/E2h8OtmDnZEbVHxyArRfo8x1VbltUKTeop67Q7VhniTX3yo8OpZUdVe+G 5PTHjy9fUDOcPr2+vfz4dnp6o87s0Valf62J2pYAe1W3KGQGVeCUwxBQOhXzmTVjkD1smLFr 5Al842rlfTLUJkrKHJ29RyrRBaK9AZWdpOgFE3m1TcjB6v/qdmVR7rVaXN7vqV0KEujQ1jGX Q4/ShfSeEnll1ZusRwcZ8VfiVkbd5gpM1jIwFSwtkLOiNmrwmXAHd+tz/yBYNxFGdCzSNr0T ndoUgwURYrl9hMN3FeOneNCkJl63k9N2dL3Z84SuOyLzFwR6q3jPPtoAoi+XODEhexTHVhSN 5aKqCkOsEfCcenqUHvBxm2SspbwpQuGC5YtVmTal6yrqVdlZjwr960WLLlPW+SghJvhTsEg4 LUVMtX4WmJFFbfzGuqXYOBn9gNmxBn9T1rz9v02GoUeRC3+AFNgecD0TzOG9Pjvz9vvELbbJ Io4Fy6Ws1yBIT9qcyfnWYEZareSdPZ7P3HEKElaiaUSRuO78w4VMlnXISXpqq5ZD7jcOqFFh 6trh+VQ1139S4yaLtswMD60JOb2Rlqd1u4+YfawRIw1USbWkUdUIlT4L8cRkvWGG2ZSDjZ7D G8czmUGHTbauImRyvp5BYXHRwxaHw2XgoHDzVY9Arr3WwK4cqWOX1kMaPyQ6K5+/v/56lj0/ /P3juzrYd/dPX6izZiRTsYMIYl34LTDG6tgTDQYeYHvkIS3sF/pS0pSbNohcl2UL0nmUUzJZ z0do+jZYhpJOZYHpRmS3w0iYcILxW+/mGgQxEMeSkhd1kdnpfrOWdOOjrcxiQbr6/ANFKnrc DCoFubFDThoKqzVxFGY8zAeTPKYae5kgA74SolJv9Eo5gHYqw+n6P6/fH5/QdgV68+3H2+mf E/zj9Pbw73//+39JJloM9iCLRAdM/yJf1bArSOwHciNCRB3dqCIKGFv+eJNo7KHLvfAFa9+K o/BOqAa6Zbt2aabAk9/cKAww9fIG7rk7r6abxnJtVVDZMOeFRzn1VR4A38Cb3ycXLljaCjUa u3CxisPrG6AkuRwjkddjRTf3KkrhrMyiGi6BYm9Km7psTFOPcMyoLfG212RilExPuHxGM3IC x2HlGMKmxYevztVRDPOiS2D3xCb4fdwkqoKbKG1H4if8Nwvf1KtGHFht4JgzGK7J/bV+WCby AihtdYtGiATtdaUCw11zV0o+CYBB/gO5ohE2+/9byc2f79/uz1BgfkCFofU6oecsbUbPynfw TVg2lcFRUkfgk9JW0SVwo8BnA4ym5UWssRhroB92VXENoweXlUjqApX5RrxnhXvFgGJihhFa SChmYooeheH9UoGEfs7pF4EETcSHkoi6Kt5LQUQ+JEjmXO7b36cTijdLxqpTXI9FBrG77nC9 a/0qUA/vAWbjQEt2cAhnSrKRXp4yMjHbddSBFfFtW7JBUstKNZwIAVKs6l80xrHbOqp2PI15 edo4e0kVoDZoLuV9aRpeJw4JhoqQo42UcMEqWtdbI9YfqlLIOpFlx473MPI75ao/AFVOXqS3 lOE4nHCv1Gkzve5VcHPKYTvU13zjvPLMVc8tSBMy7+veYkKpSz7O62/YqXYmjaUhJxJPgCnN ys1mtAwp6YwQ7G5g1TEEGl02BVyYhT8eeO0cvnTHwywJi08p0q4p4I4Am4KpbQ28GjOq1aUM dKXfhqikI+FRAXwwQs2T+iCQ1WCdoUB16NKy86K2apIrKHIt1OKyfYApgmtptRm+MtxAbyMX HqoDy9ANwAtPnSZcE83Ks60jbot251WE+UuAPt1u1QlhbTK1gVS8Mwcnd8WggmN3IkF/cwuO MqnDw7khOynGPOJ6xvxdYtZJGwGrr0aOA9KE/4q4j4go92IispbNZ004BNBEt96RRYYauUPo TKIrqacjOj86Nb4neBNhKjOufeQir8J164dTQZiwUsRqCqK/LD2MUrM8/+f08v2BvzhVVdx7 hNzAoiw5roBECklXOS4ixbNA8gXZf0HUHzt5QMjrFf82ByWKfJ/JXR0mi2WgEbxaSmYclmZh ecF6PMJi8R/X8ibtlKqLIq2m4HLAOzOs6+ZqRGeDtPUGJPO6HqE65qz3mbrs2fHv8PA4dnik BYYdlaxDhD4e0W0v3A5RbN2isjIqBC+FsOTxyCu6+0FZAUOA++jHiXeHQBhglxpd2xw304Gj RGmmDAOCRW3QBFwU6FGhJQZW2PM3CFVatqfXN7zd4INE/Px/Ty/3X050B13tQ09lRnrv5NYZ Yk9y69fIBw4pOWhH4lfCSASeVeUgyRdu577tFNf7y7rlwo64EsbLeGwejOzNNsKui9M7yVLM KHygDKLihROnpSJJz0KvbLdG9VbYgAQBJ5X6tLJUEEjPnzMgxEoJT721SBv0EO9Gc0VYti6X 0SB2/Y0tNOuem6dNg/UnZbzPXfFC3YTXqVpCvMuqo4f//0FwSu3YswIA --qDbXVdCdHGoSgWSk-- 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (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 B25B6C433F5 for ; Mon, 22 Nov 2021 21:12:55 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4Hyg3B0Y58z2xrD for ; Tue, 23 Nov 2021 08:12:54 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=intel.com (client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=lkp@intel.com; receiver=) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4Hyg2c329Rz2xLL for ; Tue, 23 Nov 2021 08:12:17 +1100 (AEDT) X-IronPort-AV: E=McAfee;i="6200,9189,10176"; a="214910493" X-IronPort-AV: E=Sophos;i="5.87,255,1631602800"; d="gz'50?scan'50,208,50";a="214910493" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2021 13:11:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,255,1631602800"; d="gz'50?scan'50,208,50";a="606570337" Received: from lkp-server02.sh.intel.com (HELO 9e1e9f9b3bcb) ([10.239.97.151]) by orsmga004.jf.intel.com with ESMTP; 22 Nov 2021 13:11:04 -0800 Received: from kbuild by 9e1e9f9b3bcb with local (Exim 4.92) (envelope-from ) id 1mpGad-0000hr-IJ; Mon, 22 Nov 2021 21:11:03 +0000 Date: Tue, 23 Nov 2021 05:10:21 +0800 From: kernel test robot To: Christophe Leroy , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , alex@ghiti.fr Subject: Re: [PATCH 1/8] powerpc/mm: Make slice specific to book3s/64 Message-ID: <202111230528.7rsJ69Pb-lkp@intel.com> References: <14e2c0b0d4fff49c1cb30166f54ce8e445e17b16.1637570556.git.christophe.leroy@csgroup.eu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="qDbXVdCdHGoSgWSk" Content-Disposition: inline In-Reply-To: <14e2c0b0d4fff49c1cb30166f54ce8e445e17b16.1637570556.git.christophe.leroy@csgroup.eu> User-Agent: Mutt/1.10.1 (2018-07-13) X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-mm@kvack.org, kbuild-all@lists.01.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" --qDbXVdCdHGoSgWSk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Christophe, I love your patch! Yet something to improve: [auto build test ERROR on powerpc/next] [also build test ERROR on hnaz-mm/master linus/master v5.16-rc2 next-20211118] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Christophe-Leroy/Convert-powerpc-to-default-topdown-mmap-layout/20211122-165115 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc64-randconfig-r021-20211122 (attached as .config) compiler: powerpc64-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/1d0b7cc86d08f25f595b52d8c39ba9ca1d29a30a git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Christophe-Leroy/Convert-powerpc-to-default-topdown-mmap-layout/20211122-165115 git checkout 1d0b7cc86d08f25f595b52d8c39ba9ca1d29a30a # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): arch/powerpc/mm/book3s64/slice.c: In function 'slice_get_unmapped_area': >> arch/powerpc/mm/book3s64/slice.c:639:1: error: the frame size of 1056 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] 639 | } | ^ cc1: all warnings being treated as errors vim +639 arch/powerpc/mm/book3s64/slice.c 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 428 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 429 unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len, d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 430 unsigned long flags, unsigned int psize, 34d07177b802e9 arch/powerpc/mm/slice.c Michel Lespinasse 2013-04-29 431 int topdown) d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 432 { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 433 struct slice_mask good_mask; f3207c124e7aa8 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-22 434 struct slice_mask potential_mask; d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 435 const struct slice_mask *maskp; d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 436 const struct slice_mask *compat_maskp = NULL; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 437 int fixed = (flags & MAP_FIXED); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 438 int pshift = max_t(int, mmu_psize_defs[psize].shift, PAGE_SHIFT); 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 439 unsigned long page_size = 1UL << pshift; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 440 struct mm_struct *mm = current->mm; 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 441 unsigned long newaddr; f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 442 unsigned long high_limit; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 443 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 444 high_limit = DEFAULT_MAP_WINDOW; 35602f82d0c765 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 445 if (addr >= high_limit || (fixed && (addr + len > high_limit))) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 446 high_limit = TASK_SIZE; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 447 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 448 if (len > high_limit) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 449 return -ENOMEM; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 450 if (len & (page_size - 1)) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 451 return -EINVAL; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 452 if (fixed) { 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 453 if (addr & (page_size - 1)) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 454 return -EINVAL; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 455 if (addr > high_limit - len) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 456 return -ENOMEM; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 457 } 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 458 60458fba469a69 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-04-17 459 if (high_limit > mm_ctx_slb_addr_limit(&mm->context)) { 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 460 /* 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 461 * Increasing the slb_addr_limit does not require 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 462 * slice mask cache to be recalculated because it should 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 463 * be already initialised beyond the old address limit. 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 464 */ 60458fba469a69 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-04-17 465 mm_ctx_set_slb_addr_limit(&mm->context, high_limit); 54be0b9c7c9888 arch/powerpc/mm/slice.c Michael Ellerman 2018-10-02 466 54be0b9c7c9888 arch/powerpc/mm/slice.c Michael Ellerman 2018-10-02 467 on_each_cpu(slice_flush_segments, mm, 1); f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 468 } 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 469 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 470 /* Sanity checks */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 471 BUG_ON(mm->task_size == 0); 60458fba469a69 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-04-17 472 BUG_ON(mm_ctx_slb_addr_limit(&mm->context) == 0); 764041e0f43cc7 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2016-04-29 473 VM_BUG_ON(radix_enabled()); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 474 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 475 slice_dbg("slice_get_unmapped_area(mm=%p, psize=%d...\n", mm, psize); 34d07177b802e9 arch/powerpc/mm/slice.c Michel Lespinasse 2013-04-29 476 slice_dbg(" addr=%lx, len=%lx, flags=%lx, topdown=%d\n", 34d07177b802e9 arch/powerpc/mm/slice.c Michel Lespinasse 2013-04-29 477 addr, len, flags, topdown); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 478 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 479 /* If hint, make sure it matches our alignment restrictions */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 480 if (!fixed && addr) { b711531641038f arch/powerpc/mm/slice.c Christophe Leroy 2020-04-20 481 addr = ALIGN(addr, page_size); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 482 slice_dbg(" aligned addr=%lx\n", addr); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 483 /* Ignore hint if it's too large or overlaps a VMA */ 3b4d07d2674f6b arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-02-26 484 if (addr > high_limit - len || addr < mmap_min_addr || 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 485 !slice_area_is_free(mm, addr, len)) 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 486 addr = 0; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 487 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 488 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 489 /* First make up a "good" mask of slices that have the right size d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 490 * already d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 491 */ 6f60cc98df2be7 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 492 maskp = slice_mask_for_size(&mm->context, psize); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 493 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 494 /* 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 495 * Here "good" means slices that are already the right page size, 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 496 * "compat" means slices that have a compatible page size (i.e. 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 497 * 4k in a 64k pagesize kernel), and "free" means slices without 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 498 * any VMAs. 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 499 * 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 500 * If MAP_FIXED: 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 501 * check if fits in good | compat => OK 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 502 * check if fits in good | compat | free => convert free 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 503 * else bad 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 504 * If have hint: 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 505 * check if hint fits in good => OK 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 506 * check if hint fits in good | free => convert free 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 507 * Otherwise: 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 508 * search in good, found => OK 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 509 * search in good | free, found => convert free 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 510 * search in good | compat | free, found => convert free. 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 511 */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 512 d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 513 /* d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 514 * If we support combo pages, we can allow 64k pages in 4k slices d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 515 * The mask copies could be avoided in most cases here if we had d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 516 * a pointer to good mask for the next code to use. d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 517 */ d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 518 if (IS_ENABLED(CONFIG_PPC_64K_PAGES) && psize == MMU_PAGE_64K) { 6f60cc98df2be7 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 519 compat_maskp = slice_mask_for_size(&mm->context, MMU_PAGE_4K); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 520 if (fixed) d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 521 slice_or_mask(&good_mask, maskp, compat_maskp); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 522 else d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 523 slice_copy_mask(&good_mask, maskp); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 524 } else { d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 525 slice_copy_mask(&good_mask, maskp); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 526 } d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 527 d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 528 slice_print_mask(" good_mask", &good_mask); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 529 if (compat_maskp) d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 530 slice_print_mask(" compat_mask", compat_maskp); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 531 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 532 /* First check hint if it's valid or if we have MAP_FIXED */ 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 533 if (addr != 0 || fixed) { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 534 /* Check if we fit in the good mask. If we do, we just return, d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 535 * nothing else to do d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 536 */ ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 537 if (slice_check_range_fits(mm, &good_mask, addr, len)) { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 538 slice_dbg(" fits good !\n"); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 539 newaddr = addr; 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 540 goto return_addr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 541 } 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 542 } else { 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 543 /* Now let's see if we can find something in the existing 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 544 * slices for that size 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 545 */ 830fd2d45aa116 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 546 newaddr = slice_find_area(mm, len, &good_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 547 psize, topdown, high_limit); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 548 if (newaddr != -ENOMEM) { 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 549 /* Found within the good mask, we don't have to setup, 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 550 * we thus return directly 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 551 */ 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 552 slice_dbg(" found area at 0x%lx\n", newaddr); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 553 goto return_addr; 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 554 } 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 555 } 7a06c66835f75f arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-11-10 556 /* 7a06c66835f75f arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-11-10 557 * We don't fit in the good mask, check what other slices are d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 558 * empty and thus can be converted d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 559 */ 7a06c66835f75f arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-11-10 560 slice_mask_for_free(mm, &potential_mask, high_limit); b8c93549142077 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 561 slice_or_mask(&potential_mask, &potential_mask, &good_mask); 830fd2d45aa116 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 562 slice_print_mask(" potential", &potential_mask); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 563 ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 564 if (addr != 0 || fixed) { ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 565 if (slice_check_range_fits(mm, &potential_mask, addr, len)) { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 566 slice_dbg(" fits potential !\n"); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 567 newaddr = addr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 568 goto convert; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 569 } ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 570 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 571 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 572 /* If we have MAP_FIXED and failed the above steps, then error out */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 573 if (fixed) d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 574 return -EBUSY; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 575 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 576 slice_dbg(" search...\n"); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 577 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 578 /* If we had a hint that didn't work out, see if we can fit 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 579 * anywhere in the good area. d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 580 */ 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 581 if (addr) { 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 582 newaddr = slice_find_area(mm, len, &good_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 583 psize, topdown, high_limit); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 584 if (newaddr != -ENOMEM) { 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 585 slice_dbg(" found area at 0x%lx\n", newaddr); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 586 goto return_addr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 587 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 588 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 589 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 590 /* Now let's see if we can find something in the existing slices 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 591 * for that size plus free slices d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 592 */ 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 593 newaddr = slice_find_area(mm, len, &potential_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 594 psize, topdown, high_limit); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 595 203a1fa6286671 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 596 if (IS_ENABLED(CONFIG_PPC_64K_PAGES) && newaddr == -ENOMEM && 203a1fa6286671 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 597 psize == MMU_PAGE_64K) { 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 598 /* retry the search with 4k-page slices included */ d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 599 slice_or_mask(&potential_mask, &potential_mask, compat_maskp); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 600 newaddr = slice_find_area(mm, len, &potential_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 601 psize, topdown, high_limit); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 602 } 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 603 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 604 if (newaddr == -ENOMEM) d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 605 return -ENOMEM; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 606 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 607 slice_range_to_mask(newaddr, len, &potential_mask); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 608 slice_dbg(" found potential area at 0x%lx\n", newaddr); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 609 slice_print_mask(" mask", &potential_mask); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 610 d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 611 convert: f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 612 /* f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 613 * Try to allocate the context before we do slice convert f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 614 * so that we handle the context allocation failure gracefully. f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 615 */ f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 616 if (need_extra_context(mm, newaddr)) { f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 617 if (alloc_extended_context(mm, newaddr) < 0) f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 618 return -ENOMEM; f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 619 } f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 620 d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 621 slice_andnot_mask(&potential_mask, &potential_mask, &good_mask); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 622 if (compat_maskp && !fixed) d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 623 slice_andnot_mask(&potential_mask, &potential_mask, compat_maskp); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 624 if (potential_mask.low_slices || db3a528db41caa arch/powerpc/mm/slice.c Christophe Leroy 2018-02-22 625 (SLICE_NUM_HIGH && d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 626 !bitmap_empty(potential_mask.high_slices, SLICE_NUM_HIGH))) { d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 627 slice_convert(mm, &potential_mask, psize); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 628 if (psize > MMU_PAGE_BASE) 54be0b9c7c9888 arch/powerpc/mm/slice.c Michael Ellerman 2018-10-02 629 on_each_cpu(slice_flush_segments, mm, 1); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 630 } f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 631 return newaddr; 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 632 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 633 return_addr: f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 634 if (need_extra_context(mm, newaddr)) { f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 635 if (alloc_extended_context(mm, newaddr) < 0) f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 636 return -ENOMEM; f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 637 } 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 638 return newaddr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 @639 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 640 EXPORT_SYMBOL_GPL(slice_get_unmapped_area); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 641 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --qDbXVdCdHGoSgWSk Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --qDbXVdCdHGoSgWSk-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7601069589033101537==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH 1/8] powerpc/mm: Make slice specific to book3s/64 Date: Tue, 23 Nov 2021 05:10:21 +0800 Message-ID: <202111230528.7rsJ69Pb-lkp@intel.com> In-Reply-To: <14e2c0b0d4fff49c1cb30166f54ce8e445e17b16.1637570556.git.christophe.leroy@csgroup.eu> List-Id: --===============7601069589033101537== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Christophe, I love your patch! Yet something to improve: [auto build test ERROR on powerpc/next] [also build test ERROR on hnaz-mm/master linus/master v5.16-rc2 next-202111= 18] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Christophe-Leroy/Convert-p= owerpc-to-default-topdown-mmap-layout/20211122-165115 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git n= ext config: powerpc64-randconfig-r021-20211122 (attached as .config) compiler: powerpc64-linux-gcc (GCC) 11.2.0 reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/1d0b7cc86d08f25f595b52d8c= 39ba9ca1d29a30a git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Christophe-Leroy/Convert-powerpc-t= o-default-topdown-mmap-layout/20211122-165115 git checkout 1d0b7cc86d08f25f595b52d8c39ba9ca1d29a30a # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-11.2.0 make.cross= ARCH=3Dpowerpc = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): arch/powerpc/mm/book3s64/slice.c: In function 'slice_get_unmapped_area': >> arch/powerpc/mm/book3s64/slice.c:639:1: error: the frame size of 1056 by= tes is larger than 1024 bytes [-Werror=3Dframe-larger-than=3D] 639 | } | ^ cc1: all warnings being treated as errors vim +639 arch/powerpc/mm/book3s64/slice.c 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 28 = d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 29 unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long= len, d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 30 unsigned long flags, unsigned int psize, 34d07177b802e9 arch/powerpc/mm/slice.c Michel Lespinasse 2013-04-29 4= 31 int topdown) d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 32 { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 33 struct slice_mask good_mask; f3207c124e7aa8 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-22 4= 34 struct slice_mask potential_mask; d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 4= 35 const struct slice_mask *maskp; d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 4= 36 const struct slice_mask *compat_maskp =3D NULL; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 37 int fixed =3D (flags & MAP_FIXED); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 38 int pshift =3D max_t(int, mmu_psize_defs[psize].shift, PAGE_SHIFT); 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 39 unsigned long page_size =3D 1UL << pshift; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 40 struct mm_struct *mm =3D current->mm; 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 41 unsigned long newaddr; f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 4= 42 unsigned long high_limit; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 43 = 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 44 high_limit =3D DEFAULT_MAP_WINDOW; 35602f82d0c765 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 45 if (addr >=3D high_limit || (fixed && (addr + len > high_limit))) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 46 high_limit =3D TASK_SIZE; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 47 = 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 48 if (len > high_limit) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 49 return -ENOMEM; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 50 if (len & (page_size - 1)) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 51 return -EINVAL; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 52 if (fixed) { 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 53 if (addr & (page_size - 1)) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 54 return -EINVAL; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 55 if (addr > high_limit - len) 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 56 return -ENOMEM; 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 57 } 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 58 = 60458fba469a69 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-04-17 4= 59 if (high_limit > mm_ctx_slb_addr_limit(&mm->context)) { 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 4= 60 /* 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 4= 61 * Increasing the slb_addr_limit does not require 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 4= 62 * slice mask cache to be recalculated because it should 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 4= 63 * be already initialised beyond the old address limit. 5709f7cfd83052 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 4= 64 */ 60458fba469a69 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-04-17 4= 65 mm_ctx_set_slb_addr_limit(&mm->context, high_limit); 54be0b9c7c9888 arch/powerpc/mm/slice.c Michael Ellerman 2018-10-02 4= 66 = 54be0b9c7c9888 arch/powerpc/mm/slice.c Michael Ellerman 2018-10-02 4= 67 on_each_cpu(slice_flush_segments, mm, 1); f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 4= 68 } 6a72dc038b6152 arch/powerpc/mm/slice.c Nicholas Piggin 2017-11-10 4= 69 = d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 70 /* Sanity checks */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 71 BUG_ON(mm->task_size =3D=3D 0); 60458fba469a69 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-04-17 4= 72 BUG_ON(mm_ctx_slb_addr_limit(&mm->context) =3D=3D 0); 764041e0f43cc7 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2016-04-29 4= 73 VM_BUG_ON(radix_enabled()); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 74 = d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 75 slice_dbg("slice_get_unmapped_area(mm=3D%p, psize=3D%d...\n", mm, psiz= e); 34d07177b802e9 arch/powerpc/mm/slice.c Michel Lespinasse 2013-04-29 4= 76 slice_dbg(" addr=3D%lx, len=3D%lx, flags=3D%lx, topdown=3D%d\n", 34d07177b802e9 arch/powerpc/mm/slice.c Michel Lespinasse 2013-04-29 4= 77 addr, len, flags, topdown); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 78 = d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 79 /* If hint, make sure it matches our alignment restrictions */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 80 if (!fixed && addr) { b711531641038f arch/powerpc/mm/slice.c Christophe Leroy 2020-04-20 4= 81 addr =3D ALIGN(addr, page_size); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 82 slice_dbg(" aligned addr=3D%lx\n", addr); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 83 /* Ignore hint if it's too large or overlaps a VMA */ 3b4d07d2674f6b arch/powerpc/mm/slice.c Aneesh Kumar K.V 2019-02-26 4= 84 if (addr > high_limit - len || addr < mmap_min_addr || 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 85 !slice_area_is_free(mm, addr, len)) 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 86 addr =3D 0; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 87 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 88 = d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 89 /* First make up a "good" mask of slices that have the right size d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 90 * already d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 91 */ 6f60cc98df2be7 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 4= 92 maskp =3D slice_mask_for_size(&mm->context, psize); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 4= 93 = 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 94 /* 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 95 * Here "good" means slices that are already the right page size, 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 96 * "compat" means slices that have a compatible page size (i.e. 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 97 * 4k in a 64k pagesize kernel), and "free" means slices without 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 98 * any VMAs. 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 4= 99 * 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 00 * If MAP_FIXED: 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 01 * check if fits in good | compat =3D> OK 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 02 * check if fits in good | compat | free =3D> convert free 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 03 * else bad 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 04 * If have hint: 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 05 * check if hint fits in good =3D> OK 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 06 * check if hint fits in good | free =3D> convert free 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 07 * Otherwise: 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 08 * search in good, found =3D> OK 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 09 * search in good | free, found =3D> convert free 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 10 * search in good | compat | free, found =3D> convert free. 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 11 */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 12 = d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 13 /* d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 14 * If we support combo pages, we can allow 64k pages in 4k slices d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 15 * The mask copies could be avoided in most cases here if we had d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 16 * a pointer to good mask for the next code to use. d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 17 */ d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 18 if (IS_ENABLED(CONFIG_PPC_64K_PAGES) && psize =3D=3D MMU_PAGE_64K) { 6f60cc98df2be7 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 5= 19 compat_maskp =3D slice_mask_for_size(&mm->context, MMU_PAGE_4K); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 20 if (fixed) d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 21 slice_or_mask(&good_mask, maskp, compat_maskp); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 22 else d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 23 slice_copy_mask(&good_mask, maskp); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 24 } else { d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 25 slice_copy_mask(&good_mask, maskp); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 26 } d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 27 = d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 28 slice_print_mask(" good_mask", &good_mask); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 29 if (compat_maskp) d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 30 slice_print_mask(" compat_mask", compat_maskp); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 31 = 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 32 /* First check hint if it's valid or if we have MAP_FIXED */ 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 33 if (addr !=3D 0 || fixed) { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 34 /* Check if we fit in the good mask. If we do, we just return, d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 35 * nothing else to do d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 36 */ ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 37 if (slice_check_range_fits(mm, &good_mask, addr, len)) { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 38 slice_dbg(" fits good !\n"); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 5= 39 newaddr =3D addr; 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 5= 40 goto return_addr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 41 } 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 42 } else { 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 43 /* Now let's see if we can find something in the existing 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 44 * slices for that size 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 45 */ 830fd2d45aa116 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 46 newaddr =3D slice_find_area(mm, len, &good_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 5= 47 psize, topdown, high_limit); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 48 if (newaddr !=3D -ENOMEM) { 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 49 /* Found within the good mask, we don't have to setup, 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 50 * we thus return directly 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 51 */ 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 52 slice_dbg(" found area at 0x%lx\n", newaddr); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 5= 53 goto return_addr; 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 54 } 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 55 } 7a06c66835f75f arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-11-10 5= 56 /* 7a06c66835f75f arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-11-10 5= 57 * We don't fit in the good mask, check what other slices are d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 58 * empty and thus can be converted d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 59 */ 7a06c66835f75f arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-11-10 5= 60 slice_mask_for_free(mm, &potential_mask, high_limit); b8c93549142077 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 61 slice_or_mask(&potential_mask, &potential_mask, &good_mask); 830fd2d45aa116 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 62 slice_print_mask(" potential", &potential_mask); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 63 = ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 64 if (addr !=3D 0 || fixed) { ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 65 if (slice_check_range_fits(mm, &potential_mask, addr, len)) { d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 66 slice_dbg(" fits potential !\n"); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 5= 67 newaddr =3D addr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 68 goto convert; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 69 } ae3066bd1cbe58 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 70 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 71 = 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 72 /* If we have MAP_FIXED and failed the above steps, then error out */ d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 73 if (fixed) d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 74 return -EBUSY; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 75 = d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 76 slice_dbg(" search...\n"); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 77 = 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 78 /* If we had a hint that didn't work out, see if we can fit 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 79 * anywhere in the good area. d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 80 */ 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 81 if (addr) { 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 5= 82 newaddr =3D slice_find_area(mm, len, &good_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 5= 83 psize, topdown, high_limit); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 5= 84 if (newaddr !=3D -ENOMEM) { 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 5= 85 slice_dbg(" found area at 0x%lx\n", newaddr); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 5= 86 goto return_addr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 87 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 88 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 89 = d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 90 /* Now let's see if we can find something in the existing slices 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 91 * for that size plus free slices d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 5= 92 */ 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 5= 93 newaddr =3D slice_find_area(mm, len, &potential_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 5= 94 psize, topdown, high_limit); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 95 = 203a1fa6286671 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 5= 96 if (IS_ENABLED(CONFIG_PPC_64K_PAGES) && newaddr =3D=3D -ENOMEM && 203a1fa6286671 arch/powerpc/mm/slice.c Christophe Leroy 2019-04-25 5= 97 psize =3D=3D MMU_PAGE_64K) { 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 5= 98 /* retry the search with 4k-page slices included */ d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 5= 99 slice_or_mask(&potential_mask, &potential_mask, compat_maskp); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 00 newaddr =3D slice_find_area(mm, len, &potential_mask, f4ea6dcb08ea2c arch/powerpc/mm/slice.c Aneesh Kumar K.V 2017-03-30 6= 01 psize, topdown, high_limit); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 6= 02 } 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 6= 03 = 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 04 if (newaddr =3D=3D -ENOMEM) d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 6= 05 return -ENOMEM; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 6= 06 = 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 07 slice_range_to_mask(newaddr, len, &potential_mask); 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 08 slice_dbg(" found potential area at 0x%lx\n", newaddr); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 6= 09 slice_print_mask(" mask", &potential_mask); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 6= 10 = d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 6= 11 convert: f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 12 /* f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 13 * Try to allocate the context before we do slice convert f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 14 * so that we handle the context allocation failure gracefully. f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 15 */ f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 16 if (need_extra_context(mm, newaddr)) { f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 17 if (alloc_extended_context(mm, newaddr) < 0) f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 18 return -ENOMEM; f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 19 } f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 20 = d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 6= 21 slice_andnot_mask(&potential_mask, &potential_mask, &good_mask); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 6= 22 if (compat_maskp && !fixed) d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 6= 23 slice_andnot_mask(&potential_mask, &potential_mask, compat_maskp); d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 6= 24 if (potential_mask.low_slices || db3a528db41caa arch/powerpc/mm/slice.c Christophe Leroy 2018-02-22 6= 25 (SLICE_NUM_HIGH && d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 6= 26 !bitmap_empty(potential_mask.high_slices, SLICE_NUM_HIGH))) { d262bd5a739982 arch/powerpc/mm/slice.c Nicholas Piggin 2018-03-07 6= 27 slice_convert(mm, &potential_mask, psize); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 6= 28 if (psize > MMU_PAGE_BASE) 54be0b9c7c9888 arch/powerpc/mm/slice.c Michael Ellerman 2018-10-02 6= 29 on_each_cpu(slice_flush_segments, mm, 1); 3a8247cc2c8569 arch/powerpc/mm/slice.c Paul Mackerras 2008-06-18 6= 30 } f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 31 return newaddr; 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 32 = 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 33 return_addr: f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 34 if (need_extra_context(mm, newaddr)) { f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 35 if (alloc_extended_context(mm, newaddr) < 0) f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 36 return -ENOMEM; f384796c40dc55 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 37 } 0dea04b288c066 arch/powerpc/mm/slice.c Aneesh Kumar K.V 2018-03-26 6= 38 return newaddr; d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 @6= 39 } d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 6= 40 EXPORT_SYMBOL_GPL(slice_get_unmapped_area); d0f13e3c20b6fb arch/powerpc/mm/slice.c Benjamin Herrenschmidt 2007-05-08 6= 41 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --===============7601069589033101537== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 ZbzPXfFC3YTXqVpCvMuqo4f//0FwSu3YswIA --===============7601069589033101537==--