openmpi4-4.1.6-150600.3.4.4<>,ȉfVp9|O f'4.&`aƘ,$b+v0li>&ό--WrS' aoS4.C 夭Ш/=ALnW*yvjhnc^ w"HUnl2!_\[ӓ;E X~ mpB5ӕIϔ^q[@'յ·qc\F]<AiNH2˗cV$3C>E?td   I  9Zg }    ,  \ ( *h,/T2244d4478(7v8797:9t>t?tFtGuHwDIytXzYz\z@]|p^bc]defluv4 wxy 7z  $(.pCopenmpi44.1.6150600.3.4.4An implementation of MPI/SHMEM (Version 4) OpenMPI is an implementation of the Message Passing Interface, a standardized API typically used for parallel and/or distributed computing. OpenMPI is the merged result of four prior implementations where the team found for them to excel in one or more areas, such as latency or throughput. OpenMPI also includes an implementation of the OpenSHMEM parallel programming API, which is a Partitioned Global Address Space (PGAS) abstraction layer providing inter-process communication using one-sided communication techniques. This package provides general tools (mpirun, mpiexec, etc.) and the Module Component Architecture (MCA) base and plugins necessary for running Open MPI/OpenSHMEM version 4 jobs.fVs390zl38 Z)SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/Parallelhttps://www.open-mpi.org/linuxs390x# Always register. We might be already registered in the case of an udate # but mpi-selector handles it fine /usr/bin/mpi-selector \ --register openmpi4 \ --source-dir /usr/lib64/mpi/gcc/openmpi4/bin \ --yes# Only unregister when uninstalling if [ "$1" = "0" ]; then /usr/bin/mpi-selector --unregister openmpi4 --yes # Deregister the default if we are uninstalling it if [ "$(/usr/bin/mpi-selector --system --query)" = "openmpi4" ]; then /usr/bin/mpi-selector --system --unset --yes fi fi_ g9 9X'W n^ j*3  iWokd"1},FE k PP j )72 p;go7N Y I r YR  Loq  K8N.W$ D P^oAAAAAAAAA큤A큤A큤A큤A큤fVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVfVeyeyfVeyfVfV3b83b0abc687abb4bc5c7a40216514e7a83b758b030bd54f7aaf0360d6cad0e147eb240fc2cfc4939acbe313200d60f1931d7eabee2df468ca9da4476755f9326376591b4641ac80fe6e261c1c9a579175d9daccb203c1e607cbc57d3a237cb0c9b0881df053fda467028f42b8f7afb400d54005410fcb354b2e452c6ab780d8cb1bcea851ed90c0dc1850383d203e061f42aa5fe611efc196d5f202d8d11f52da48e91df4ce80b8b0ddd72567cefbeef9a1644fbe49c0718a3d1704b2955cd3e2c7a6e133cd8bd36677ec57a24fb4fdde36eeb8a62582fc02dedc99e1d012eee1078c8e3a6d117ddb08952038337b48f52a0c8a5f62b41ed09674f15654ba23abec49d465ccaa9d81956049f28e1a685c72ec675070f4049076af8a3cf47df3620990623f3d63b64fa3282a852797cb4a0fa03506aa74f74d8bfb1284ec7a0965e8bd27b77c112ab1c864113604ef2d6e83fc50d6f5b2f46fecbcde4d76d34ca43a3be9c0ee28867c9c7e58f3393c41836cdc73f95bee6a947cd3fe4bbcf273e9b0be5b29c825fed626651c7617f1982406dbf4f6a336fbd11793b79231d05c445a02aee62bf2f74865195c2c5204fba71227d9f55fa67f0153bd345b361bae930b9d4518cab4863f3607a3ef47d60efb59a1e2949066e06ef340c3a823a8c50f133b10e2f320ef55935871d4576cbee0f9f570657e4e6a1d9ddc2cb5b6d9b905bfa1daa29a26f2529c4322de2d3ed98e6bb38666d08ae0e1364890659845a1b1678f988bb48871feb73578f3e78e2d6f59da21a0975b9abb8304b9cd9b37ddb2318b339e6696394fdfe48d567c361c4ad44fffa14460f975148562876275d727c33acf65ad7aed903e8eafbd6aa3eeec49900b1a1e33ce8ac3944076e05c4ad30b5980932364c4505a6c5600c3b2c8000649b141b273707be9c1ea47d49e4685c3526df0f90ccf11e29bb1c0be88892e2a3f1c6f2e05e38c455850e5bf424a5f0274c5b4abb3d50660a2685ecdc8ac1512ba1414e91a56d639d8d1c5d173c86d3ecd90b4a02639aaa4c4de33bb9ad606f8dc677e5753f3db81e438cdb2283c15420ac3fa7b9acf483807360f3c30d214e7c22bb51057d17aa3c6c159562acaaf797da2ba40c2b923f33f4095dd0ec1748eb500a30de3031aa870855282febadbfb056081785fc6dc199fe2072120f2e261e70d7f0035e29094f772547d034cdd8eb0e5e24ce32ec0f73d9ee19150368ed2e177c863496e0d2cde89349ecc55022f84f1c54efb4ac5a630d85e91e8dbd582d5f8360b772575a73e1d02a37945c101ea29688882253aacc2f65f7785afc82d7168338b870bd6183ec6744cf3b4180c8c1bd60db5c5b9c892859dbed5b72fa33f2328c85168f6a44c191e4b26497ad86c118411a3711756a1207e9c7b79e017e06792db4bf0161cc7cbe95b06a8fee28bfbc4b9b35d52ee2ed2795977e1b8de94b8b0585149ae3273585ed10df8d082a777eb33ce5afa4d0fa1b837c6be62ebea73ca71932abde12e74df0b6e3879e9c4c0c3c4596377bce4743e80b058e15ea01ddd0a05a842f421e8ddb1b628ec78391616d24c01513bce868e2ab4fc3f18435b846bdb00489c4eb339763f8cb2aba135984036f9838ec81a65ce042df77af7dda7b8c9e8c76585c52ab5570e4d0cd38a17f73107dd6765407ddf15dc10238fe9525a8a3028b314e3fad222fd078ec86f0140169f12a352c3bd8a3ef405b3fa7fd968e9f2778654ece4f4d9d1862a0af777c288a3fd5e58b22b32c7af8811df028035f6bcc8d084febae8b33d070ea2987c623b1241c9f9c94f2b57892f3a97545c58b4d2aaedf21025c61a6cd88f5b2db6974f53ae6dd293759763b5fec9ac401fe31b9b78cb7683d7c2eac58d7f18da86ec5213be7638c3bc7e14923290c603026d115cdf4740c6a8ed3f41cb0ecdc33b6fd1ba89c2d97870c02711e723250ead630c86aae866721fa23ee415dbf4f92af3f4b865a3b346569c24a03924fc734299bfafa0d45326bdfca511005e08c9e0418e124a81bc172d19bb40803ff4b14b3178acee6cc768a1cd247a415d63ae59c044f08b8ced5b891a52e897143eb0049091663cd53b0b6db3f96ea195acb9ed1d6e84c2e2280ea0382e63d3ed9d58c1a9afa831b18aaea1417985a195acb9ed1d6e84c2e2280ea0382e63d3ed9d58c1a9afa831b18aaea141798506ee99e6d352792390333d8ca64c04b8440d6d410ba65aee199f78210ddf0cfe4e80ea61a495616dcaa8a9726dca78ca8ad31aedbf60edacdd3b8ae926229416c421e8f47084c47bad67172025b6943d827898cf516f36d777f9dd01224a313cf3d198b9617ad8b5048eed2fc35341b93ee385e1f2010888244f39761f2e5650c55b82920cba7309e356b974f161ba66ff8b0f2f4a474bf43248fb99f7f373ae4a8ea8094efd28a88eb2322d3615da54e1bcf0e2d1d36174357a41ff7b26c131083f5b10c1ab8e4bd0bdba05a588cd580b765dd9ee9446da0dfc0f3139e8d60c24d56c3863af3de7d3b3e371ef446f12c0422bb439031b7fd6f60a08f141805924d56c3863af3de7d3b3e371ef446f12c0422bb439031b7fd6f60a08f141805912d188311ae23f6223f71301e2506fdf11ce5b500531fdbbf8324acd51671977176b4d484c6d6bbbf8ee00bf1223e2f2cb72840adaa5acffb949d2ae9f9ccc68d016014ad19ec04bd6f342f27dcd1cefde44e2341f6d35d00a567f5ac4fb48a2a942d0861c620a22efb72b19b54c959662fd90ee05171b2ed58fed03c38174665fa140d7a5bfec0e79b474e5c439d66c8fb4959ef57b331fa115c9aa7444681ad2f5b01cbb37af0580bde03226006ddcc45ca301633781cf97af56b6b967fd47af20fd325e058a648b63af24fadda9c9d4cd7e24feeb1cca49695304270ab719dbe671c928f96ccdb035f25f34b8565b44454bb9631b6366c4534d998b56be7e97fa203e22ba7befebabdeb356f37b9c73b54fb198e0bca6754a34e34d46585d7c95e985f6a76f6eb1f4ba295a8550c6ffe360d81f05473ccb2ffe0a275fcc445e77441fdc6e5420a597924b97280bfb4c02fd5d833b50b6fb7ff18d18d7294a930e2a362efb7e22792f2e93f484088ef2a9e1bd7bfdec78311111a6c1a85bd73c8d8c8889555d33d861180fd8e88059e0af333eedb33c17d27076817e02826560c41ab8513d23a93b393dfbef4a1786e04c861c2a2071ac4ccbc83bcfc08f8ff02ede3af78b4a56426a9ea8a4665cf20b1648b8f5dc9163c0c9e2c4e04a2e8a1cf4166cc2f2e12554700beddcf8233e25a18387e59e3d8b1ffb78e871aba691b7b1edd0e41ffe4b64656671116e550cf675371ce0b5cfb9727e7615410ce83c74d365e8d56fd460ef305dc36ba5bc581ec81a495638a3a20ab5fa7350a2fa0082c1dd0a7c4c24d9584971108a3349bca7609e90df23011836b795474dc0d8912c21f456306febe6becc9d296482c6b9a350d8e2856bc2b05153276debe979bee6e779f42a1377d3833c930875837df3627b929778d0bc988214bf5ffc20bf875a3c0afac6fc1af2c4ebfb136ec56162715885a25fd5c3689872056e50080662fadbefa11f1f8a877067dcd6c0038b1d98a9c5da00379cd5be07bd503c23cf5c0e4d45d77ea4cfc31a02f53e5480ca3d2e358caa945496baa1cd22e264c190af60e42fdd8fa194c77df825e43ef35599eee31caeb53d00685750c5494bfb65a5544870ed325fd28e3dbc0fad667e0a01aabb6ffe48f4c8c02ad3d6390966d99b5d5adddf77fc87a0df0dd57b5514389860bc458bc7b2a483ef10e7b9671f6d499bdfe0c5e8cf85b661ffcc3eefb29371cc85c3de53be8ea9c2583019c1f5753d0cccfabbb8e09edced98edceddaef50759860aa00dfcb59de3dea0c145c6a50b1da12dc5f6d88f0f9a18d6aaa8116feee1fcb17e8d08e1eb356905c271a976d21bd1c79cefc63e0531a89bfda33f61e4909deb73acf401ef9857b8fd3f33388939ee7b88169d16e819be3e0049f468adb23bb413ac6f970dd7f2746086e45e9ce60c7de59ffc4828d4be6cf133aa86b5b221f0278c21bfa58743af97d6a8902f4e89c318003f4daadd991994c973a71a8d6bfeee1d8f3c37d762589db9602370086345cbfa02b3d5e6682f156acf8aa954b3fe182971857e20d6c8e15f52f7f49e9830b3c50b1d39aa5a20eca234c294c6f4df6f59542cd102bad2510315707d29cadb29d5e299d587877bdca77e99b11849b2b715e86e12280071ba9dbe042551e99c0065f6e4030278988a2f1a1b19d2018381da6057a17c1540bcfab746582be621703d8ab209992654e1d38440451d9744365a3334cd35adfc2dbb83341fa62c5ab00a7658340cbc46cc78d616a1c33345c0d9bf918d889064f7d8a4416fd8b8e022a02cb5f8e4cb6e497f008b3b2e38262bcf4838b578ea2a44bc710b2bad3bb355000cc8d333d5f72f56ad356a362465228e5ca685c29a7eb2c10db221bd5cef102188ad91ad9b43b79d8dc6150d73a1d3848ab05702b2ee18e417fb5cad897aafae5f8264b56e98bc5adc640d7441a40c4374addf8715b61f6170e1c4a87d63b8ed752570a4b31a8509c2612df7e083d1513ba6625fd1f15b32058d359f9fb628fea25cc8292a3c32f6321cacf7f9289bcbf480adeb22f28ece0ea2e5660aea080753025c9848a7b8d53211c9c3f97968d8b7a4cc48a842c2d5037d56d3cdc86105b845d3ff3220d9153968a46cd1d0e09546ab1403b9ad1213da5354c64929aeb3eace2a3d68e96b2c5ab26109270ffbd7485d9d5a345f9e280da3e6cf40b95ce5804a8fa3f8d0caa54afa88351fb86ab8c3f477c691d4d9ddcccf533e4e32be24b0015a643fec51febbd90bdc84a672adaac49d633dfc4a94018c7c2db71de9577ebfe15c186605844c470dcecd3717f4ef0118c9440d801c0f58f87ab261135ebcf035a72fc8360177fbd5d57bced2e57a7e1cf23d5d05a4d08281orterunorte-cleanorte-servermpirunmpirunmpic++-wrapper-data.txtmpic++-wrapper-data.txtmpifort-wrapper-data.txtmpifort-wrapper-data.txtoshcxx-wrapper-data.txtshmemc++-wrapper-data.txtshmemcc-wrapper-data.txtshmemc++-wrapper-data.txtshmemfort-wrapper-data.txtshmemcxx-wrapper-data.txtshmemc++-wrapper-data.txtrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenmpi4-4.1.6-150600.3.4.4.src.rpmmpiopenmpiopenmpi4openmpi4(s390-64) @@@@@@@@@@@@@@     /bin/sh/bin/sh/usr/bin/perllibc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)libevent_core-2.1.so.7()(64bit)libmpi.so.40()(64bit)libopen-pal.so.40()(64bit)libopen-rte.so.40()(64bit)liboshmem.so.40()(64bit)mpi-selectormpi-selectoropenmpi-runtime-configopenmpi4-libsopensshrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.1.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3e%=4.2.3. - Fix minor issues and add some minor performance optimizations with OFI support. - Support the "striping_factor" and "striping_unit" MPI_Info names recomended by the MPI standard for parallel IO. - Fixed some minor issues with UCX support. - Minor optimization for 0-byte MPI_Alltoallw (i.e., make it a no-op).- Drop support for TrueScale (bsc#1212146)- Update to 4.1.5: - Fix crash in one -sided applications for certain process layouts. - Update embedded OpenPMIx to version 3.2.4 - Backport patches to Libevent for CVE -2016 -10195, CVE -2016 -10196, and CVE -2016 -10197. Note that Open MPI's internal libevent does not use the impacted portions of the Libevent code base. - SHMEM improvements: - Fix initializer bugs in SHMEM interface. - Fix unsigned type comparisons generating warnings. - Fix use after clear issue in shmem_ds_reset. - UCX improvements - Fix memory registration bug that could occur when UCX was built but not selected. - Reduce overhead of add_procs with intercommunicators. - Enable multi_send_nb by default. - Call opal_progress while waiting for a UCX fence to complete. - Fix data corruption bug in osc/rdma component. - Fix overflow bug in alltoall collective - Fix crash when displaying topology. - Add some MPI_F_XXX constants that were missing from mpi.h. - coll/ucc bug fixes.- Replace btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch by btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch to add ConnectX4 VF suppor- Enable libfabric on all arch - Switch to external libevent for all flavors - Switch to external hwloc and PMIx for HPC builds - Update rpmlintrc file to ignore missing libname suffix in libopenmpi packages - Add patch btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch to support ConnectX 5 and 6 VF- update to 4.1.4: * Fix possible length integer overflow in numerous non-blocking collective operations. * Fix segmentation fault in UCX if MPI Tool interface is finalized before MPI_Init is called. * Remove /usr/bin/python dependency in configure. * Fix OMPIO issue with long double etypes. * Update treematch topology component to fix numerous correctness issues. * Fix memory leak in UCX MCA parameter registration. * Fix long operation closing file descriptors on non-Linux systems that can appear as a hang to users. * Fix for attribute handling on GCC 11 due to pointer aliasing. * Fix multithreaded race in UCX PML's datatype handling. * Fix a correctness issue in CUDA Reduce algorithm. * Fix compilation issue with CUDA GPUDirect RDMA support. * Fix to make shmem_calloc(..., 0) conform to the OpenSHMEM specification. * Add UCC collectives component. * Fix divide by zero issue in OMPI IO component. * Fix compile issue with libnl when not in standard search locations. * Fixed a seg fault in the smcuda BTL. Thanks to Moritz Kreutzer and @Stadik for reporting the issue. * Added support for ELEMENTAL to the MPI handle comparison functions in the mpi_f08 module. Thanks to Salvatore Filippone for raising the issue. * Minor datatype performance improvements in the CUDA-based code paths. * Fix MPI_ALLTOALLV when used with MPI_IN_PLACE. * Fix MPI_BOTTOM handling for non-blocking collectives. Thanks to Lisandro Dalcin for reporting the problem. * Enable OPAL memory hooks by default for UCX. * Many compiler warnings fixes, particularly for newer versions of GCC. * Fix intercommunicator overflow with large payload collectives. Also fixed MPI_REDUCE_SCATTER_BLOCK for similar issues with large payload collectives. * Back-port ROMIO 3.3 fix to use stat64() instead of stat() on GPFS. * Fixed several non-blocking MPI collectives to not round fractions based on float precision. * Fix compile failure for --enable-heterogeneous. Also updated the README to clarify that --enable-heterogeneous is functional, but still not recomended for most environments. * Minor fixes to OMPIO, including: - Fixing the open behavior of shared memory shared file pointers. Thanks to Axel Huebl for reporting the issue - Fixes to clean up lockfiles when closing files. Thanks to Eric Chamberland for reporting the issue. * Update LSF configure failure output to be more clear (e.g., on RHEL platforms). * Update if_[in|ex]clude behavior in btl_tcp and oob_tcp to select * all* interfaces that fall within the specified subnet range. * ROMIO portability fix for OpenBSD * Fix handling of MPI_IN_PLACE with MPI_ALLTOALLW and improve performance of MPI_ALLTOALL and MPI_ALLTOALLV for MPI_IN_PLACE. * Fix one-sided issue with empty groups in Post-Start-Wait-Complete synchronization mode. * Fix Fortran status returns in certain use cases involving Generalized Requests * Romio datatype bug fixes. * Fix oshmem_shmem_finalize() when main() returns non-zero value. * Fix wrong affinity under LSF with the membind option. * Fix count==0 cases in MPI_REDUCE and MPI_IREDUCE. * Fix ssh launching on Bourne-flavored shells when the user has "set - u" set in their shell startup files. * Correctly process 0 slots with the mpirun --host option. * Ensure to unlink and rebind socket when the Open MPI session directory already exists. * Fix a segv in mpirun --disable-dissable-map. * Fix a potential hang in the memory hook handling. * Slight performance improvement in MPI_WAITALL when running in MPI_THREAD_MULTIPLE. * Fix hcoll datatype mapping and rooted operation behavior. * Correct some operations modifying MPI_Status.MPI_ERROR when it is disallowed by the MPI standard. * UCX updates: - Fix datatype reference count issues. - Detach dynamic window memory when freeing a window. - Fix memory leak in datatype handling. * Fix various atomic operations issues. * mpirun: try to set the curses winsize to the pty of the spawned task. Thanks to Stack Overflow user @Seriously for reporting the issue. * PMIx updates: - Fix compatibility with external PMIx v4.x installations. - Fix handling of PMIx v3.x compiler/linker flags. Thanks to Erik Schnetter for reporting the issue. - Skip SLURM-provided PMIx detection when appropriate. Thanks to Alexander Grund for reporting the issue. * Fix handling by C++ compilers when they #include the STL "" header file, which ends up including Open MPI's text VERSION file (which is not C code). Thanks to @srpgilles for reporting the issue. * Fix MPI_Op support for MPI_LONG. * Make the MPI C++ bindings library (libmpi_cxx) explicitly depend on the OPAL internal library (libopen-pal). Thanks to Ye Luo for reporting the issue. * Fix configure handling of "--with-libevent=/usr". * Fix memory leak when opening Lustre files. Thanks to Bert Wesarg for submitting the fix. * Fix MPI_SENDRECV_REPLACE to correctly process datatype errors. Thanks to Lisandro Dalcin for reporting the issue. * Fix MPI_SENDRECV_REPLACE to correctly handle large data. Thanks Jakub Benda for reporting this issue and suggesting a fix. * Add workaround for TCP "dropped connection" errors to drastically reduce the possibility of this happening. * OMPIO updates: - Fix handling when AMODE is not set. Thanks to Rainer Keller for reporting the issue and supplying the fix. - Fix FBTL "posix" component linking issue. Thanks for Honggang Li for reporting the issue. - Fixed segv with MPI_FILE_GET_BYTE_OFFSET on 0-sized file view. - Thanks to GitHub user @shanedsnyder for submitting the issue. * OFI updates: - Multi-plane / Multi-Nic nic selection cleanups - Add support for exporting Open MPI memory monitors into Libfabric. - Ensure that Cisco usNIC devices are never selected by the OFI MTL. - Fix buffer overflow in OFI networking setup. Thanks to Alexander Grund for reporting the issue and supplying the fix. * Fix SSEND on tag matching networks. * Fix error handling in several MPI collectives. * Fix the ordering of MPI_COMM_SPLIT_TYPE. Thanks to Wolfgang Bangerth for raising the issue. * No longer install the orted-mpir library (it's an internal / Libtool convenience library). Thanks to Andrew Hesford for the fix. * PSM2 updates: - Allow advanced users to disable PSM2 version checking. - Fix to allow non-default installation locations of psm2.h.- openmpi4 is now the default openmpi for releases > 15.3 - Add orted-mpir-add-version-to-shared-library.patch to fix unversionned library - Change RPM macros install path to %{_rpmmacrodir}- Update to version 4.1.1 - Fix a number of datatype issues, including an issue with improper handling of partial datatypes that could lead to an unexpected application failure. - Change UCX PML to not warn about MPI_Request leaks during MPI_FINALIZE by default. The old behavior can be restored with the mca_pml_ucx_request_leak_check MCA parameter. - Reverted temporary solution that worked around launch issues in SLURM v20.11.{0,1,2}. SchedMD encourages users to avoid these versions and to upgrade to v20.11.3 or newer. - Updated PMIx to v3.2.2. - Disabled gcc built-in atomics by default on aarch64 platforms. - Disabled UCX PML when UCX v1.8.0 is detected. UCX version 1.8.0 has a bug that may cause data corruption when its TCP transport is used in conjunction with the shared memory transport. UCX versions prior to v1.8.0 are not affected by this issue. Thanks to @ksiazekm for reporting the issue. - Fixed detection of available UCX transports/devices to better inform PML prioritization. - Fixed SLURM support to mark ORTE daemons as non-MPI tasks. - Improved AVX detection to more accurately detect supported platforms. Also improved the generated AVX code, and switched to using word-based MCA params for the op/avx component (vs. numeric big flags). - Improved OFI compatibility support and fixed memory leaks in error handling paths. - Improved HAN collectives with support for Barrier and Scatter. Thanks to @EmmanuelBRELLE for these changes and the relevant bug fixes. - Fixed MPI debugger support (i.e., the MPIR_Breakpoint() symbol). Thanks to @louisespellacy-arm for reporting the issue. - Fixed ORTE bug that prevented debuggers from reading MPIR_Proctable. - Removed PML uniformity check from the UCX PML to address performance regression. - Fixed MPI_Init_thread(3) statement about C++ binding and update references about MPI_THREAD_MULTIPLE. Thanks to Andreas Lösel for bringing the outdated docs to our attention. - Added fence_nb to Flux PMIx support to address segmentation faults. - Ensured progress of AIO requests in the POSIX FBTL component to prevent exceeding maximum number of pending requests on MacOS. - Used OPAL's mutli-thread support in the orted to leverage atomic operations for object refcounting. - Fixed segv when launching with static TCP ports. - Fixed --debug-daemons mpirun CLI option. - Fixed bug where mpirun did not honor --host in a managed job allocation. - Made a managed allocation filter a hostfile/hostlist. - Fixed bug to marked a generalized request as pending once initiated. - Fixed external PMIx v4.x check. - Fixed OSHMEM build with `--enable-mem-debug`. - Fixed a performance regression observed with older versions of GCC when __ATOMIC_SEQ_CST is used. Thanks to @BiplabRaut for reporting the issue. - Fixed buffer allocation bug in the binomial tree scatter algorithm when non-contiguous datatypes are used. Thanks to @sadcat11 for reporting the issue. - Fixed bugs related to the accumulate and atomics functionality in the osc/rdma component. - Fixed race condition in MPI group operations observed with MPI_THREAD_MULTIPLE threading level. - Fixed a deadlock in the TCP BTL's connection matching logic. - Fixed pml/ob1 compilation error when CUDA support is enabled. - Fixed a build issue with Lustre caused by unnecessary header includes. - Fixed a build issue with IMB LSF workload manager. - Fixed linker error with UCX SPML.- Update to version 4.1.0 * collectives: Add HAN and ADAPT adaptive collectives components. Both components are off by default and can be enabled by specifying "mpirun --mca coll_adapt_priority 100 --mca coll_han_priority 100 ...". We intend to enable both by default in Open MPI 5.0. * OMPIO is now the default for MPI-IO on all filesystems, including Lustre (prior to this, ROMIO was the default for Lustre). Many thanks to Mark Dixon for identifying MPI I/O issues and providing access to Lustre systems for testing. * Minor MPI one-sided RDMA performance improvements. * Fix hcoll MPI_SCATTERV with MPI_IN_PLACE. * Add AVX support for MPI collectives. * Updates to mpirun(1) about "slots" and PE=x values. * Fix buffer allocation for large environment variables. Thanks to @zrss for reporting the issue. * Upgrade the embedded OpenPMIx to v3.2.2. * Fix issue with extra-long values in MCA files. Thanks to GitHub user @zrss for bringing the issue to our attention. * UCX: Fix zero-sized datatype transfers. * Fix --cpu-list for non-uniform modes. * Fix issue in PMIx callback caused by missing memory barrier on Arm platforms. * OFI MTL: Various bug fixes. * Fixed issue where MPI_TYPE_CREATE_RESIZED would create a datatype with unexpected extent on oddly-aligned datatypes. * collectives: Adjust default tuning thresholds for many collective algorithms * runtime: fix situation where rank-by argument does not work * Portals4: Clean up error handling corner cases * runtime: Remove --enable-install-libpmix option, which has not worked since it was added * UCX: Allow UCX 1.8 to be used with the btl uct * UCX: Replace usage of the deprecated NB API of UCX with NBX * OMPIO: Add support for the IME file system * OFI/libfabric: Added support for multiple NICs * OFI/libfabric: Added support for Scalable Endpoints * OFI/libfabric: Added btl for one-sided support * OFI/libfabric: Multiple small bugfixes * libnbc: Adding numerous performance-improving algorithms - Removed: reproducible.patch - replaced by spec file settings.- Update to version 4.0.5 - See NEWS for the detailled changelog- Update to version 4.0.4 - See NEWS for the detailled changelog- Update to version 4.0.3 - See NEWS for the detailled changelog - Fixes compilation with UCX 1.8 - Drop memory-patcher-fix-compiler-warning.patch which was merged upstream- Drop different package string between SLES and Leap- Add memory-patcher-fix-compiler-warning.patch to fix 64bit portability issues- Link against libnuma (bsc#1155120)- Initial version (4.0.2) - Add reproducible.patch for reproducible builds./bin/sh/bin/shs390zl38 1721980632  !"#$%&'()*+,-./0123456789:;<=>>@ABCDEFGGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.1.64.1.6-150600.3.4.44.1.6-150600.3.4.4 mpigccopenmpi4binaggregate_profile.plmpirunmpivars.cshmpivars.shompi-cleanompi-serverompi_infoorte-cleanorte-infoorte-serverortedorterunoshmem_infooshrunprofile2mat.plshmemrunlib64sharemanopenmpiamca-param-setsbtl-openib-benchmarkexample.confhelp-btl-vader.txthelp-coll-sync.txthelp-common-ofi.txthelp-dash-host.txthelp-errmgr-base.txthelp-ess-base.txthelp-hostfile.txthelp-mca-base.txthelp-mca-bml-r2.txthelp-mca-coll-base.txthelp-mca-hook-base.txthelp-mca-var.txthelp-mpi-api.txthelp-mpi-btl-base.txthelp-mpi-btl-openib-cpc-base.txthelp-mpi-btl-openib-cpc-rdmacm.txthelp-mpi-btl-openib.txthelp-mpi-btl-sm.txthelp-mpi-btl-tcp.txthelp-mpi-btl-usnic.txthelp-mpi-coll-sm.txthelp-mpi-common-sm.txthelp-mpi-errors.txthelp-mpi-pml-ob1.txthelp-mpi-runtime.txthelp-mpool-base.txthelp-mtl-ofi.txthelp-oob-base.txthelp-oob-tcp.txthelp-opal-common-verbs.txthelp-opal-crs-none.txthelp-opal-hwloc-base.txthelp-opal-runtime.txthelp-opal-shmem-mmap.txthelp-opal-shmem-posix.txthelp-opal-shmem-sysv.txthelp-opal-util.txthelp-opal-wrapper.txthelp-opal_info.txthelp-orte-clean.txthelp-orte-filem-raw.txthelp-orte-info.txthelp-orte-odls-base.txthelp-orte-odls-default.txthelp-orte-odls-pspawn.txthelp-orte-rmaps-base.txthelp-orte-rmaps-md.txthelp-orte-rmaps-ppr.txthelp-orte-rmaps-resilient.txthelp-orte-rmaps-rr.txthelp-orte-rmaps-seq.txthelp-orte-rtc-base.txthelp-orte-rtc-hwloc.txthelp-orte-runtime.txthelp-orte-server.txthelp-orte-snapc-base.txthelp-orted.txthelp-orterun.txthelp-osc-pt2pt.txthelp-oshmem-info.txthelp-oshmem-memheap.txthelp-oshmem-scoll-mpi.txthelp-oshmem-sshmem-mmap.txthelp-oshmem-sshmem-sysv.txthelp-oshmem-sshmem.txthelp-plm-base.txthelp-plm-rsh.txthelp-plm-slurm.txthelp-pmix-base.txthelp-pmix-pmix3x.txthelp-ras-base.txthelp-ras-simulator.txthelp-ras-slurm.txthelp-rcache-base.txthelp-regex.txthelp-rmaps_rank_file.txthelp-shmem-api.txthelp-shmem-runtime.txthelp-state-base.txtmca-btl-openib-device-params.inimpiCC-wrapper-data.txtmpic++-wrapper-data.txtmpicc-wrapper-data.txtmpicxx-wrapper-data.txtmpif77-wrapper-data.txtmpif90-wrapper-data.txtmpifort-wrapper-data.txtortecc-wrapper-data.txtoshCC-wrapper-data.txtoshc++-wrapper-data.txtoshcc-wrapper-data.txtoshcxx-wrapper-data.txtoshfort-wrapper-data.txtshmemCC-wrapper-data.txtshmemc++-wrapper-data.txtshmemcc-wrapper-data.txtshmemcxx-wrapper-data.txtshmemfort-wrapper-data.txtpmixhelp-pmix-mca-base.txthelp-pmix-mca-var.txthelp-pmix-plog.txthelp-pmix-psensor-file.txthelp-pmix-psensor-heartbeat.txthelp-pmix-runtime.txthelp-pmix-server.txtopenmpi4NEWSREADMEopenmpi4LICENSEgnu-openmpi4.1.6/usr/lib64//usr/lib64/mpi//usr/lib64/mpi/gcc//usr/lib64/mpi/gcc/openmpi4//usr/lib64/mpi/gcc/openmpi4/bin//usr/lib64/mpi/gcc/openmpi4/share//usr/lib64/mpi/gcc/openmpi4/share/openmpi//usr/lib64/mpi/gcc/openmpi4/share/openmpi/amca-param-sets//usr/lib64/mpi/gcc/openmpi4/share/pmix//usr/share/doc/packages//usr/share/doc/packages/openmpi4//usr/share/licenses//usr/share/licenses/openmpi4//usr/share/modules//usr/share/modules/gnu-openmpi/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:34857/SUSE_SLE-15-SP6_Update/88384dc7a8e49348803ad6dd20b1dfac-openmpi4.SUSE_SLE-15-SP6_Update:standarddrpmxz5s390x-suse-linux  directoryPerl script text executableASCII textELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=7f2e5ab6bde65a8553062bd33c7824c975154317, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=2f6f5cd6a2ee6010f647d815001e65f7c6f232a8, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=fc8dbfe4d8167f7570f6014e8e5cbf4a19ff0fd7, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=fdfd5d020ad1b5668097a8231627ee60e0340086, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=15e914eb3f880b5efd033904b17e56e8bcf7a8ce, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=5f1d18352e420daf3f1a2435b6d31477d546386f, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=130da2d5bfcce9d4c404e689831ceef176c07b80, for GNU/Linux 3.2.0, strippedUTF-8 Unicode text !'.6 RRRR R RR RR RRRR R RRR RRR RR RRR RRR RRR R RRRR RRRRR RRR R RRR R RRRR RRG?j!6openmpi4-configutf-8b07bd10496d2f168c737bbea09291e5efaa8606e271ba0af1d96ff1c21f8dba5?7zXZ !t/uh]"k%]. 0ƥMi޸1^%=w?$ wHa`l$2{PBAURL?`91*twDO2?fh38LX]dsĀZӀR\s=+<,ˊ^32bl}d-|@+)F$.E \3]lRU.' 6' >NPM0)é)Z\> j.<^a6z ]E6,9|*8#Ї[m`Y ͉+It1TDbU7n+m &"-̃5*@ݺ^a::gƈ`fZr.ĥɓ;7LV{VZ)e!?5 xK g2i6T#I0(.hyמ#j"k/^5 Pg'&O:Ekcr=6# 1E,]Xc6 Iu>FJDC fWܳ&ӎfLzGk~-Q?pQz^Qx㛏۟T F=Vn!{p^˪bدl/SeD\E˻~ͦi+խyà;BBa(*i:[+ AN< 4Q f{ڶrNit3>[5fH[iJ iw*P )tnA=G9ag3F_jp'6oCƯ}~FG~wMh&bֺ7k(_){dXQ܇lL2:Ж2G}f0DyN43PUT6Hkr'tƺ6ɪ\:T2 RfL34^U,D,RR2 ,A< >MIҞlnw!U^ |ŏH/"M;f(J~`x7 Vaԁ2RۛN 1 dDd-f" h$U!K zwC>m+k.x7"wp {g`~4upebɩF!އ ^kFHQ>ȵ&ˬJV:éFLa@j:hy /iOޞx㗺Lcte$=qʖC8KFfH+#ԔIDý4[BxRZJH 3g^[}:6LrݶoCZ_|@ԷբTo65j g,_!Qxu1~~A2Nq;Ͻs&!f?ܯ?xoug\2@p;y3{[UC-hTg ϫO|b&|F5rA2k)A0䬥]5J@GzRƇC]=zђRv-_Bh}*”%'0\S opibUtߥͤz-CMc3r'gQ.\m\CbbQRZ#[\91:`՘khu@wQx,GU=a.Z(09׮y%nBA-}_nP)G+}J6ERAcѕbx&v]6}?t37}1+[|cڂ ;wned SDXT'}9/?x;q Q5Me^1 1q;vM\ȂxQ`i*n0I9{BԦ;0mTty籅VO?,ygdY_ |,>B,՘< G2N:N`^#E6׏xHK*J!t2dggm|bUk1M:b^?a'N~Wljb YA_?N\sq⎨YoF#8↍BГ_qi\ZY;U&/бƽ@0'6onv<W;U.<ؔ1ԼiWb3 GM =mF?K lIz-N2E#kC<{a)4VxmcdX81:' <7_+b'Ԗ3A%O;{gC:zqiY;٭ 9/MT<V;)],bčH6) ,w⟛FSy");h6u(X{`u|!֍\}݋-m"->:vһB*Z1|Bvg~`xQ+E?%fu5ğjA '֎\ܸ7;yEZrĵ{U1"VLwV8P*Lg8*!T tlx)ֵNFJN0QgoM93X/\ԐRgЁ'È]! 𠃎gtyd62 |ѩSnF |kbو;YFhնNZ APaiNmd]$ϓ;<S{Ƚ&+<ߚMVXl]@fkQ>d3*H{i@cg'٨qEvl&^=XqIzɝK.}~A k4^l-RɶN皥<Ol `?xXDb5ibFYad^4BB,b[Aa_t${dP(_jҠl>l ] =p|@AW/SV laժ,L:C:S`g/a5 eyèZeKĊ(vޥOPkbp4HuKaJ h$*MHqhIv@s (X?0E v nvKA嫗ȡ^Q#c{D8#*kh\.D8xOәz+3UtP*4PW cS:=FX'ƥyn-> T1[bo+O~|QݫRIjlЫ2l5{;L٦570"܄,>V$mxR$˒)N19 /{E8p̠D#zUO*\DtA;qΚ.^ik8n3JG6h/_rއ{\ 0"1G 4ՀPi^*Ars񡳯ƃxmA X xޕ<^Y@+}V**5v} kie)(EU_ұ䒆Hȅ<]N& :m99'G}:h_ >u3qbiAwQ1yL~%-jhLdqK2a}>i祄;>s >IzNԣG1gqx;…\;8 E8t^]3~jL[JSs2$L@4pkc\JZuHG2ƻuH7  @PT +C*5 3]>)N+գ y ۫kC2m΅MrGƬx#b% =i3Fjޢӝ D9 阭MQD0",E!!tQҕƁ9 ($]õTW*n!Q~KadAVOQr*!$&]TxGGR2KLnd9o7Lױ&tA%]oW`?r!ճs)f$1ǒDPP>X _Xp#ߴbBYho~!H"ײ 2ie[$BmH\p&GMU   ʐR̕ Ԋ/u ׅHѥ/1/BU[l5g$ZD-شjmdBFTiI$ɵ5W!+w휡߽h}Pg,Dv/b}k#̜ZRɾI\Z!/v`'GʤGqUR#m$,تr |!spt|<v,"xYtǠ!G0׺DA9ƵYxO>U9ϱˮ[}VI SK'bSo&ȗa( _GLǮ 5 }lW7f0&>N;aUҌ%@aQ.A913]sNj:r`&}?ƓgV2y ЕW\}ٙ"5wݛNh̜դ{u# /*j,rvm4rOS3;rsZ_Dk<%]k0%1mbXc ޣD`d=h 62YZ&Cn0|ףErG0r(E'r#H z 5Si7R^s.\"Hb8xfǰ;  {2#V5߿*P:9DԄcr0=3b!ا8v䰭<OpC]^+"ѵNa Le$՚9o4E䘰 Nz)#7k_T(+hKl<\Լ,rLNRqx,κ+D;q@ͲS.ύHoN]cR(*̘Z_2j0Gu&gj#-zw mƀѳ{KXVt@Ny#lo &tTlM]s'4 -)1rƳ&CH٧Y~S&EQ#SDw.wdkQQP԰fQF–;:o@oS0%lsH;RH[roUT('{ EÁa ; {x)jL->OUe qSn1Mtsn񻥋 ͐FD䫢#,CPw:`'Xx 7b90u]/kz" ٜE[;IwD.v^?G⬤E>XDVqٴ@çZI{" gj`u0 #ld{g_mYͪlK2HD8>zR^CWcI9O%T/ )vB vȗ%0~{[UZY֋·u@;ZjI=="c9'Z=RelPAnK]Ox -Џ D91+f{-ژ:$.aPESKG{ nW%Db&dޖiXWx{XsC`BFvl9iRM|@Ff>jt(=!qRzŶgCJoFt2}j}d9!&O=rPǓZ{̟:Lf,|SN&#,'+sLbk9=v牄Kwj؇naP?(F[Fن|T-&Olf%|`PM&pX_V~K~Kξer _L B<B2`oq8gNEo#uVIMeĚMTOx&W )FdPyYMlI#TJ|d\ӄ?f F1LQDVNv6@YSa@ #ETDɺ!T[?y5 :np`M֍.w ?7F:ٛGEE/$R(Ji `ƺF$z(##/|Qy$>|bȪ[ AU;!ߤӭf;j&HX>"8/ zZ#O1HX)=kR8fTgVu>k$Juj hB3K(nJ3n 6z6io8"KxǠD.=;o!|`͝t&15\;%۞-4[\D"U6zzf*ܜe*=-Jnw[Al1pW0cKta }J|:> A;:JǬh9ɯTtI~djUwG <6̨,ZDQ8ms(2+,fVa\T{2و4LL=Bbgs r+ 1C}ApEkÍ:h©n@{Il/; qcxP0y4:izk |;6Bz?A|U:~8fvz疠LۃE]`X5׵4-_ \C dYﵔ<= R} "M@Ys)J`Dv WEnB*"V==%>yXB`a"5vV@ y6z7ߓfRQmJzJj[#^B+A%A-S#\ ~/"~aH4_֏6?WExp=ހE+-Lڰjs31>YK K)\"87G8Su2׽Y~̴J`d#%ي^?.%={1y j+!-}뇣+6GlA܎hc@`ɿ{DkJhń7h'2Ӿ\: XQDMs}ݎ|E'`141qpkXhx+%2Vo:9dwbU$@r"N3SS[յ ]P*Y+N.1 x[c Zȹi{$!M4e0?ҩ̊_S`oi,59ɕ;Dh'p6w1 ֌ - -/ٕvޯF[}NM/ A$ZN)fXiῳH[2s3gt]P9iRL6j7Z/, > ڇuXh_cboRZ!%d.  -m%:XJJ$99?Ӂ#kr]\GdY=, SusN=[fӑ.dePXn _Ns[K3;Dꄜ{wV6.ԟy 25]th^rrzR8"\iL9p >j&9i-`ge%g`l},K_X@hv~C_f;yqpI_&0:r|Uc:u`e5~unt=FLKWQf8_·&~'Ϧ@9o ֶKs '>w)RґN.tfVv-@eADÊ|ܐUMzF {%+wL4wBD}xkkXg DvLzM!sטbtG:+ǞQp'}S95&CUEG<^BI:z_Fےҥ2ZEɍ ^]Av1Έ'c2G'j(_F>^m{ǟRFohA=HBϪuqNzE|O=,Y=!(Jm5 k*DžJwYU-8pDĚ! &D-0CfDpa1MLw;]zIfZM96S~ 3~R ߱fs6<4ԏɵĤZavhhy@qBe>={(\KO;Z||Mx0X n 9@5!>Qt q62sb~Ixbn~F.< l*ρ!kVqc ެͥ{¹v􋛃A22m  Df٤Yʇ84Mx3 p.T4<प<Rc,R7Mt?PŝvsLrr %Ԃzh❇𽀿٢*'UwGgD/ԉQ]`ps7Gf&oPb5>-+B9ǒn5H P)lU350t τ ̧5e~̽{igx~᜶ԑVDvYF%evyѴ6y-C*%j | 2qagdZ&}L̈́~ S4--Vi8YB/;-]YQ"^FsN̰8mM^ UŜ;S-" "n_7v&?EE{.1Noz!;cGMqSwu9yr|Z2jPtrhw u@IoټG]W'oS.Q/>[#ĪFx0dd&0AQy@e,Jzj6*@ #= WR{`wg˼EGk7楱 osC_~J; WYi;Z?J# #pЩ(l=,a!,C 5AV/ԩFt^0ASQ W7N\ɤaHXnː|`& "lSU(_p,ջM(,?-.@%z;zbcp&yw̓Ƣ_su"ۯml_EWNƽ LUƕ!c@M,U #yIˢ(LD SXآY+M  *؎fj>Y EхkcڃbJ)q7`MH"Ue;q m"zUfp=&3FHF r.}|<[d,bJ8|05.X?Ӿ"3G`7={zr4"$x(+[xLF27Ruf(JiG*xӚ @Ou:dUQ& " v$9 n {_#H2:pBR;pcWn4 dH!Mu;IZ^:H u+_%i˜e1KI_nn`Vh RIm@ jObeƠҖ7)-gywX7]6F܃ߊ|5d6(*zv5=&WՎ3by)UԽ4Y=M[eGS@oRu |ï|G~6-76?' dy `u.O9:-6HHCZb;) ZrؤA v9f!J8͈KQ@):aN:&7d;-R" meoꇷ/+z8C\90;L$wF$&F#qI8EtZ+B=$qCcl ˉ0ItWb ͠3O KIc0.&hCH 0wt &^b.ztފA+n,&=;vpTt &G{'MgJu <$zMUR;nY6_^0 DufOuѰgF4g @g Jʛi嶿ll/G,Hû p4R'gj4ңZ?&io>?(Mtw[s9r}},O o-LZ u:w-mW,XwO/C(-%+fn-YP:RkVXX]vi9TDU057t4Vy:#0-zL5#;?d=F«(ajecg ցjȩ^KR=V2<˂WmNGP y5/nq';Dpk('?Na/c>>&Cuo/FͼTă"`*YJa_4w95lՠ^6^,>ͯiCb`[wN`׋i!oJ;c㔌o ,]qEf៻޽ĩmymFiPzqhs{Á袍~V0>e29\&Ug&]%x=ngC nLN`ϱCfP7qvL?\43{Y봏tB}ǚkg 2jҼs"<Eu:i:T?>$ƈGR"iY[9ުnw(-Bڃ1zdzbMh6wLM^۝mAΛ`y{oZVb[ךy%hdT4طhlSd_m[':EfL3҃U^&$/j8ZL4 (NO𾣻k^.]Vmmcg_1M`sV,!^#tnR36-]2$Q v?\KnPDqKϳII?bXɘzӸVx&RY?+{70|6͒ [(G|bcy]fR>39V HM=^GhRӃJyP$yM`D7ԃ'󌣿)|}gDAF}2\ĸh0JkP\g;GNf"+n M.|BQh{yT4F݈n)mM%dVa-V/spfj_7ϡ/u5V󯯹:TuR)dzpK5$1h,0U|O" or$|>p.P*5g Hc(x|Eyqeo[4E/ʝg5yΊbF)GvMf X@0] YGδ#T`w9AÃ,$/Lr,ڗ߳K՟o5kVn %z5zTo/h(DVm(oIqމg/C=+%:#c͹ZPC?4 X[Gj$L~b9]%6=x*dlPu?ُG5]7!cg+8nWY)t#7PTp~sg^՘6Wx掎CNJuX@ <&*0l-mҹ"t;ݮ*eEe:{VM&5<6N]I0uUE2Z7y w K'b `ZdoTKXR;Q YvĂIAv3-x'!~׳3^bPs1ߌ2H9ha4j܍%QpO*̌S@Pשy mbĀ'afU?|/&J &YJݞFV0@X.g1t+е(g"5M OWk[9vO2GBDͧ2B͍T-*m@Tg+6Zr̵g؃:Nn!}4%pHi6#mx}ҨX4=F+HPX5矴[[=Th֨ѝROࠥ DdWsZ.9[xb " {D|ɶXZ-,>cvٞ, w_~ٍ蔾4Je= ;EkfjW= |dG%) Swg-ƽ&ȗgdVo(w7>VBWi;mTfJ|yܪ$a/pIJ{8g/MEphUƍ)sbr6Qʐk/dPhDn}~ %!gf<w9hK;d~%D☛&b_z *2;}R,U@.{; q:hXOw6OhErp w0yg,7,9@1XEzh=eWVg @g\r(%N2,;hxmJ\)Xqrw=o&3ӓVLoqm%YVP#`y+}s0,2 L0JnO*`S2Qᖳf(hƧ?[ɲ{HG v$]381RS$a<W ((Eqol2WL4 q˪9+5NR|"lKsnMR㵎- IL"n'" m#d݇6m &-ؠS+J:S &uKɝn_b.'? 2ޏ4 .o Kh3+F|V}li-S.E,BOet]8by}*ƹr- +! {يQu= ѷ$>!s/Fqߔ|\keYgؠ!ܦ*M3!TX0-Is5kb[;,Y;F7j634 Oo#Ma^j9N()!uE7 =S:dMY!5:HNq8XXQw׮.C9vDZf^J<B,WǥEcH0;͐6&m{fMOt&MԎ|osVT$  h5֜Rvއ痔 8 /UL+0i%߮DFq ki!=]+C/'0K1NGi8Rze1gn2?n1ʈ)v),3[ɹq 8"IȰ58}A+beq9f[1pzK\ۋ5A@> Cej ڭ$VDW#Mm]?9*U4J:$I{TC4rDsO`2!oc&u~r1[;)rrτKʤ g,t0Jۑ9Tg@_)OR>''KyD|ES+!5/KUBk/ȨqFxzoW'>{mhof%66ag搒mSڬ}Ϥ2\G3ffۮTU4qH_+ r]1mDdXym MzjFi*KxrhAY} }S} {)[ Jcnl}XM2*%woY Q&mE&{pJ!H1s289~," o|&R,i BCS,Iti~i6AI˿i^og.Lw&F)~6zY s,̵4yQIwUYN +ˆ1p!Kz}V$8Kf brXߐb4)t<))L*zJhb 6`Tּ,saL@0zis^eMGUyʰ| @-M?w9>p텶zrPIJ2F13mq񩚦-t]pB[ E',\M v{[oecƯ9̷PWEt,R,`{F.tw fz*XnqߊLa ;sLg/-tR|'yqd7# zk4\<Օjw8UB*0%>*ɂߠcyФ kTP2a΁:N&w}a܀J~>0x &*[åP*dd9Sv=e{;oM0դ)X*i#[VOK*{Ľ/:yv8ލᨔEZI$ʆ6Ȏ@Q'kd fӖep)&%r&5&)6=J6; K ϴT,5Y]uE6-N&" ȈD H},dsgZPeѦ^huMtbU _}50zOV"lSwy܆#Bj S u]ܧVbJcуb}#uu jYVR#kԾҽ"z5hZS1Q>7k"3+LJ.y01"DCx?Sk-(׏mmWq?\Ѣ9s/Iڦk'ZK_f,+V2Q?6k_ agau=# _kg.oFNX98R1bYJ`# S8-Zk@[#}o tG;zvZPGB XB#YӮ[ ){{\#ply9܋p&&m&c;iwjg4]lyB;'G;X2p錪5VmlTF%)f~Zy\32r5yj$;bixsCFk/9ҭ~ߨ!iwe*v xIsmyʩ{Xgm.vwyqGe`k3_\ڻ !L>bKqq`@j}M>1@^mXI}KT_nN%ni"B3^yx]x "G5J.wDA-ê9+!ezuD3:#7RE.UqZ+Xe/I͛DQPfh.zc4h$Gw8[01=J* o}"׫!bk,zlcTZDV* onnBD\(OπDbN7+sĤxߵU)f:BXyHr7%61X atOMVx*Vks-&%݃ Wf45 kI0Eũi8apj~+`!-пײ@"j yW;Up0U$QsKFNaQ}i9N қ_ӆ޸]/5.rtt+qv4vѾkOzI"qxh>  ?@7WiIeVb-z)Rb^Hr$4흥rSP .`s 3M0c+g*҉B-.Ґ p@RZI?:E >EALj1c< 53EYPFB}e>GLWrO N_=>QqveODۺ~շDLLdk&yMQ4- s+'d>5>/ ^ n]O|iS= 2Z-35w 졐2@OAd<%uˁxR!@'ֲL^]% nWfd.ILgm_DcX$3Ŏ4c4z'[™ ٤[ϹZ"C>_DdY˰o7r~i6<)07 p7Z-aגYձh=ޜ Jhu7ֈi\EO? K!se2@̕HJ+ǀQ\³sn傳,O_P@ 'ek=n?{TK4o2m`IL ` 48rԠy?Wj}OaqcGpB+AvxxKc}K[KLK= BFTCE=ze&vRp_T5?<)TwxƂ 8(eQouIG֜BM(/dgN]6aZ*TKrP':|ʑQ< @/VFE6̹y:Zz|ãRQƌ&D'M*.juD |ĕG_s/FcϼpslٜdZ1Փ/-iӖ!(МT2O!l,p^4`ʫA`d4)ztil!rt!(ORRr Xie-%n8 1 բ1;RomTM̬;ȁ{[+%v-MޗXG4:hWxvş2hi4auޏ7jCJ|ڣH=,Se S"<8sItuhc*hY9D[Ru>P&M#x!as-w Abw_8Lk@e 1@r9s;B3V rU& i~(WJ<2_@bd:Alul^[h9$nBMP:+qJ )V9O/"Vx}'V/)h,^&5Ҕщ[ZN䨁ip !gB]%Y6*#*M`= t_OBC!ܦr.O8w8FjsKfm_(kvB,:+t-:뜶!ydH” 1m6s$JQݡ>9b&w'$!ntZi`j=$8ùaA*2hP9SWQ):"Pcq]Y f"8µy8brX*tsJᾥ.x8hVӴ^Gʕ_lh"LwE Iy1h.ǵ@T@U=pTI0菽FV, dCK[+GrG!hEҧ yI*u5{&E ԗD!Ք'bZ1-L,(|nͲ]ԙW.!~gwr5_i'kPôDzwjt9lx;pJ_MXQwZHc'&r+Z;X6|]iޥ>X\gX7VM2Ià.Eq-RPq<r W8V)`lRDG]N%#g@l36;w{km?f4X>CQ'Q2 f3})Q?ҋFu+vҥfv ;6ƃFʿo]3i#%^*(jge$_+"c`LAj~}{NBe+}mq\l7c};+6kRTɖB~Uf)LjbBVȲ56S\lX"s5nc |S3enszTsXYZYˑAfӃfχr^jq{Ѡb:Tt/178N U cO͊TI #`!Sk:jbVܴ;٠-LnC}AsTv? ̌5U Y ިdV{VzYct̥m؟6&"D]!oܾU%Pʼn_<}2մjYw^cHF.\_)zl XIiģP%56*@ł&jh0o=ownogu@uFy>l> ~G+Gj|o׿͎G4ZWGK AD笖ϜXnPhŒx y "AGa_\=T{\~16 lשsOStZͨ<_}E< g:S0|hpo-uGKa`%rRb(,0>l&74m>KRHDE)LY Sd ഃ|q'hs o|4q*GGE77⁼ށg+-NKThjdDĨBy$ʔ}<"/-%g8vf$B#BWO7EϡVr5RZU͸Ѿ t~u -i72P:eRe7Fj6rHuŭ55F B> ]Ud'Bwױg{0\"ŮTj#?'YJûf9qWؘhWmOZMCWi+Vfi!yZ/'׋+W)o^}g_&"\6.j̷U5wW\,Sؠ㣷F6Ϋ)|ЧWe1&-Waw!2uۅ;7|v`M ? ,@^q[&7Z(|CCjZ,,.-~#QgTp| :1Rd^S^cG$"Ȋ)/ײ?8uRǿ?P])5A"M3CRl_i#m `Cw1h :p%q6rDla6'TbPW杮aER-X3_L35O>r;:{\TlwSM WVUm% q=B[1ZܱdOqgk\E Nb.{M @LJzD `?+)M#}* n;t.l؅²h: ynK7~pӢ\!_UubkjIO$ ' paP\vRr״b=3c.uh{PkN^kϞѷ)HEd2߮X5>4;{_w&oavED5Jv YZ