openmpi4-4.1.4-150500.3.2.1<>,fl p9|{=A~C Τ`%k{)u~F pl3vh?|ZHIv!xRQNDBZo|cU_Q@L^gi|G̾!WͧX*u_DT"dxHDT'kl*2}@ߒ #x49KƳx/~eo+/wahI=N3~A2g6M&;a)*u>E? d   I  9Zg }    4  h ( *,/2n2445P7m(787 97 :98 >m?mFmGnHp8IrlXrYs \s<]up^ bcwdef l u vT wDxxy:zCopenmpi44.1.4150500.3.2.1An 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.fl h04-armsrv1SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/Parallelhttps://www.open-mpi.org/linuxaarch64# 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_    ` n^ j*3  iWokc1},FE k PP j )72 p;go7N Y I r YR  Loq  K8N.W' 4 D PV^oAAAAAAAAA큤A큤A큤A큤A큤flflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflflbEbEflbEflfl3b83b0abc687abb4bc5c7a40216514e7a83b758b030bd54f7aaf0360d6cad0e147eb240fc2cfc4939acbe313200d60f1931d7eabee2df468ca9da4476755f9326376591b4641ac80fe6e261c1c9a579175d9daccb203c1e607cbc57d3a237cb09a87306cde0ce1c88ecd93a3b5f2e4ffca645da3a72e47f43069d28993e011415c77f72850f0357e31571304feecc55f21da37cf811856ea8538390cc1785fd6f8c2c357d691705a7ab24ebd12c86613a67dca81999619d31720ab4b16e8674a440b7c42c9d1e22a8e4810000d75e1f093c157092a23899a493b105f56643040abf928852e005ab0963f30831eba0b87bbbf96c82201446ce1e69938ec776664ef903a7fd7dfd68840a5eba3000bef9d52b0819defd600034b7eb36a622d0d6d3ec3331f0dc39565fb8fab44b99051d97c256fce37061f7c70e3de869e0363aa65e8bd27b77c112ab1c864113604ef2d6e83fc50d6f5b2f46fecbcde4d76d34ca43a3be9c0ee28867c9c7e58f3393c41836cdc73f95bee6a947cd3fe4bbcf273e9b0be5b29c825fed626651c7617f1982406dbf4f6a336fbd11793b79231d05c445a02aee62bf2f74865195c2c5204fba71227d9f55fa67f0153bd345b361bae930b9d4518cab4863f3607a3ef47d60efb59a1e2949066e06ef340c3a823a8c50f133b10e2f320ef55935871d4576cbee0f9f570657e4e6a1d9ddc2cb5b6d9b905bfa1daa29a26f2529c4322de2d3ed98e6bb38666d08ae0e1364890659845a1b1678f988bb48871feb73578f3e78e2d6f59da21a0975b9abb8304b9cd9b37ddb2318b339e6696394fdfe48d567c361c4ad44fffa14460f975148562876275d727c33acf65ad7aed903e8eafbd6aa3eeec49900b1a1e33ce8ac3944076e05c4ad30b5980932364c4505a6c5600c3b2c8000649b141b273707be9c1ea47d49e4685c3526df0f90ccf11e29bb1c0be88892e2a3f1c6f2e05e38c455850e5bf424a5f0274c5b4abb3d50660a2685ecdc8ac1512ba1414e91a56d639d8d1c5d173c86d3ecd90b4a02639aaa4c4de33bb9ad606f8dc677e5753f3db81e438cdb2283c15420ac3fa7b9acf483807360f3c30d214e7c22bb51057d17aa3c6c159562acaaf797da2ba40c2b923f33f4095dd0ec1748eb500a30de3031aa870855282febadbfb056081785fc6dc199fe2072120f2e261e70d7f0035e29094f772547d034cdd8eb0e5e24ce32ec0f73d9ee19150368ed2e177c863496e0d2cde89349ecc55022f84f1c54efb4ac5a630d85e91e8dbd582d5f8360b772575a73e1d02a3794579fac4074af7e3c5ddbada422ebf4ffe4c1648a48981681330a53297deba7350180c8c1bd60db5c5b9c892859dbed5b72fa33f2328c85168f6a44c191e4b26497ad86c118411a3711756a1207e9c7b79e017e06792db4bf0161cc7cbe95b06a8fee28bfbc4b9b35d52ee2ed2795977e1b8de94b8b0585149ae3273585ed10df8d082a777eb33ce5afa4d0fa1b837c6be62ebea73ca71932abde12e74df0b6e3879e9c4c0c3c4596377bce4743e80b058e15ea01ddd0a05a842f421e8ddb1b628ec78391616d24c01513bce868e2ab4fc3f18435b846bdb00489c4eb339763f8cb2aba135984036f9838ec81a65ce042df77af7dda7b8c9e8c76585c52ab5570e4d0cd38a17f73107dd6765407ddf15dc10238fe9525a8a3028b314e3fad222fd078ec86f0140169f12a352c3bd8a3ef405b3fa7fd968e9f2778654ece4f4d9d1862a0af777c288a3fd5e58b22b32c7af8811df028035f6bcc8d084febae8b33d070ea2987c623b1241c9f9c94f2b57892f3a97545c58b4d2aaedf21025c61a6cd88f5b2db6974f53ae6dd293759763b5fec9ac401fe31b9b78cb7683d7c2eac58d7f18da86ec5213be7638c3bc7e14923290c603026d115cdf4740c6a8ed3f41cb0ecdc33b6fd1ba89c2d97870c02711e723250ead630c86aae866721fa23ee415dbf4f92af3f4b865a3b346569c24a03924fc734299bfafa0d45326bdfca511005e08c9e0418e124a81bc172d19bb40803ff4b14b3178acee6cc768a1cd247a415d63ae59c044f08b8ced5b891a52e897143eb0049091663cd53b0b6db3f96ea195acb9ed1d6e84c2e2280ea0382e63d3ed9d58c1a9afa831b18aaea1417985a195acb9ed1d6e84c2e2280ea0382e63d3ed9d58c1a9afa831b18aaea14179856883245d99f27b1069391e63a226d92469008794664170852b9419dd0cd152df06ee99e6d352792390333d8ca64c04b8440d6d410ba65aee199f78210ddf0cfe4e80ea61a495616dcaa8a9726dca78ca8ad31aedbf60edacdd3b8ae926229416c421e8f47084c47bad67172025b6943d827898cf516f36d777f9dd01224a313cf3d198b9617ad8b5048eed2fc35341b93ee385e1f2010888244f39761f2e5650c55b82920cba7309e356b974f161ba66ff8b0f2f4a474bf43248fb99f7f373ae4a8ea8094efd28a88eb2322d3615da54e1bcf0e2d1d36174357a41ff7b26c131083f5b10c1ab8e4bd0bdba05a588cd580b765dd9ee9446da0dfc0f3139e8d60c24d56c3863af3de7d3b3e371ef446f12c0422bb439031b7fd6f60a08f141805924d56c3863af3de7d3b3e371ef446f12c0422bb439031b7fd6f60a08f141805912d188311ae23f6223f71301e2506fdf11ce5b500531fdbbf8324acd51671977176b4d484c6d6bbbf8ee00bf1223e2f2cb72840adaa5acffb949d2ae9f9ccc68d016014ad19ec04bd6f342f27dcd1cefde44e2341f6d35d00a567f5ac4fb48a2a942d0861c620a22efb72b19b54c959662fd90ee05171b2ed58fed03c38174665fa140d7a5bfec0e79b474e5c439d66c8fb4959ef57b331fa115c9aa7444681ad2f5b01cbb37af0580bde03226006ddcc45ca301633781cf97af56b6b967fd47af20fd325e058a648b63af24fadda9c9d4cd7e24feeb1cca49695304270ab719dbe671c928f96ccdb035f25f34b8565b44454bb9631b6366c4534d998b56be7e97fa203e22ba7befebabdeb356f37b9c73b54fb198e0bca6754a34e34d46585d7c95e985f6a76f6eb1f4ba295a8550c6ffe360d81f05473ccb2ffe0a275fcc445e77441fdc6e5420a597924b97280bfb4c02fd5d833b50b6fb7ff18d18d7294a930e2a362efb7e22792f2e93f484088ef2a9e1bd7bfdec78311111a6c1a85bd73c8d8c8889555d33d861180fd8e88059e0af333eedb33c17d27076817e02826560c41ab8513d23a93b393dfbef4a1786e04c861c2a2071ac4ccbc83bcfc08f8ff02ede3af78b4a56426a9ea8a4665cf20b1648b8f5dc9163c0c9e2c4e04a2e8a1cf4166cc2f2e12554700beddcf8233e25a18387e59e3d8b1ffb78e871aba691b7b1edd0e41ffe4b64656671116e550cf675371ce0b5cfb9727e7615410ce83c74d365e8d56fd460ef305dc36ba5bc581ec81a495638a3a20ab5fa7350a2fa0082c1dd0a7c4c24d9584971108a3349bca7609e90df23011836b795474dc0d8912c21f456306febe6becc9d296482c6b9a350d8e2856bc2b05153276debe979bee6e779f42a1377d3833c930875837df3627b929778d0bc988214bf5ffc20bf875a3c0afac6fc1af2c4ebfb136ec56162715885a25fd5c3689872056e50080662fadbefa11f1f8a877067dcd6c0038b1d98a9c5da00379cd5be07bd503c23cf5c0e4d45d77ea4cfc31a02f53e5480ca3d2e358caa945496baa1cd22e264c190af60e42fdd8fa194c77df825e43ef35599eee31caeb53d00685750c5494bfb65a5544870ed325fd28e3dbc0fad667e0a01aabb6ffe48f4c8c02ad3d6390966d99b5d5adddf77fc87a0df0dd57b5514389860bc458bc7b2a483ef10e7b9671f6d499bdfe0c5e8cf85b661ffcc3eefb29371cc85c3de53be8ea9c2583019c1f5753d0cccfabbb8e09edced98edceddaef50759860aa00dfcb59de3dea0c145c6a50b1da12dc5f6d88f0f9a18d6aaa8116feee1fcb17e8d08e1eb356905c271a976d21bd1c79cefc63e0531a89bfda33f61e4909deb73acf401ef9857b8fd3f33388939ee7b88169d16e819be3e0049f468adb23bb413ac6f970dd7f2746086e45e9ce60c7de59ffc4828d4be6cf133aa86b5b221f0278c21bfa58743af97d6a8902f4e89c318003f4daadd991994c973a71a8d6bfeee1d8f3c37d762589db9602370086345cbfa02b3d5e6682f156acf8aa954b3fe182971857e20d6c8e15f52f7f4d1a9a3b6755453fb4f8b25681bfd418546e02d4efe2a3d8bbdc7810de5cb52c5e5218212bb98c3be72bf3e0e1ba252c4f49590f740cfa2758c780ff6db15ee6e5cf608b32ffef26005503f128e94d3870b7fa197fdecb5592cc153799f5e9a5ab15f2261e00bc848fedf233fe2c9aabd93b2319155a8259105d55b6120e0b372e387947bbcaf30e00bbf8c0df764cc5669979bdb52787684a33cbcf25e892d675ac5325e324614f26691a52271f5f7b3da37be17405150039f10b6344140513203facbe7f48a4bfce24de124a1be08bb45c5611b5780c7e5189500f245988885bd5cef102188ad91ad9b43b79d8dc6150d73a1d3848ab05702b2ee18e417fb5cad897aafae5f8264b56e98bc5adc640d7441a40c4374addf8715b61f6170e1c4a87d63b8ed752570a4b31a8509c2612df7e083d1513ba6625fd1f15b32058d359f9fb628fea25cc8292a3c32f6321cacf7f9289bcbf480adeb22f28ece0ea2e5660aea080753025c9848a7b8d53211c9c3f97968d8b7a4cc48a842c2d5037d56d3cdc86105b845d3ff3220d9153968a46cd1d0e09546ab1403b9ad1213da5354c64929aeb3eace2a3d68e96b2c5ab26109270ffbd7485d9d5a345f9e280da3e65120d50d408d68cc8ff0ebba87b157c3dcbd6828b3abd33300009063737cd4da3e4e32be24b0015a643fec51febbd90bdc84a672adaac49d633dfc4a94018c7c2db71de9577ebfe15c186605844c470dcecd3717f4ef0118c9440d801c0f58f8a39062650b41b5fd992eb3ada3df1e4078bf1710f7bead2ccab619e2cd714ed2orterunorte-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.txtrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenmpi4-4.1.4-150500.3.2.1.src.rpmmpiopenmpiopenmpi4openmpi4(aarch-64) @@@@@@@@@@@@     /bin/sh/bin/sh/usr/bin/perlld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libevent_core-2.1.so.6()(64bit)libmpi.so.40()(64bit)libopen-pal.so.40()(64bit)libopen-rte.so.40()(64bit)liboshmem.so.40()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)mpi-selectormpi-selectoropenmpi-runtime-configopenmpi4-libsopensshrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.1.43.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3c-c@bc@`N@`N@`[)_Wr@^^y^s^^]]@nmoreychaisemartin@suse.comnmoreychaisemartin@suse.comdmueller@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.com- 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/shh04-armsrv1 1718355468  !"#$%&'()*+,-./0123456789:;<=>>@ABCDEFGHHJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.1.44.1.4-150500.3.2.14.1.4-150500.3.2.1 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-timer-linux.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.4/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:34207/SUSE_SLE-15-SP5_Update/26eb82da626b4b2a391e604d4c41cf41-openmpi4.SUSE_SLE-15-SP5_Update:standarddrpmxz5aarch64-suse-linux  directoryPerl script text executableASCII textELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=cf2c85c040cef71dfd822f571ea44d052e0a2b7e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=29bc99961c6b2295e11f166638cd8c32c3f9f17a, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a968b4fd39ad697246a0396a03ce6a0f3e4eb9f7, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=1a0cb0bfc27cc9bfb8e34899149368f849840610, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=60d971ca1d861a1705c7afbbc0c12295089fa66f, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=176e61bd04dde730a2d0c18226ae1f63af524b4e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=bcbc9c45205068a4787bd50337891c421b652f61, for GNU/Linux 3.7.0, strippedUTF-8 Unicode text !(09  RRR RRR R R RRRRR R R RRRR RR R R RRRRR R RR RRR RRR R RRRRR R RR RRRR RR R R R RRR- hopenmpi4-configutf-896598245832bd547c2935856cfb9eefcf8a588bdf4daccd30cbbf1b24bae6678?7zXZ !t/|]"k%w!n. 0ƥe!dNGzaar٢N0ѠCkTU#'OC7C*R|ӯ9C]`NL,,ÁImV< uyKڦ2e2w'7sbE$Ȼ',nc8QP,`k[Wd;_gS+\qok7UpP>rovǩ2O{kC﷥>Q$ );}a?@Mxg r8fn=!!Q!GeL4fZCB9v W[~dڠx_2c%GLr`|d !b/ׂo| 2ix*u{y>%mR3sʹrN#cp9ܱk9CJ<ׯfչUvHt}4_Ͳ@#vihl8_WP׹tN'լ,;irM1{ DH=q gRܤTSV]hO&9= ${':zX5n&f} zKJğ~It @קP_L,댜ݦ=2~b")6Zie[OTRe P4JñG Y'[BoIz)w~UW烰\Q` ^eJƋmKBK:Ĵ#k]K9+cF3 n$µnD^C 2&~,P|Dp^LR.gyh˳ N'C!j&ݿMV1ФrsA*ΔR|hnNXULNeNDmUfquӜ?Ƴ"gЁP5qڄKD=!M+R]XEs])Q0@lizvK.`V?08sQpuf z>պi Ѧn @˧̷8R#wQ#v旞\3$&ʼx%YWw+Ӕ.tAdOYLV 0,e,mhu2hs0.S~oR "ɑ}!;לTj<' ա w\Mh,7r z_J-FwavgI~fM*(yܣ"V+5A߾|xI~Ev,=p'5*lhFGӦZ{*%4Yg :pxH]eȆB ψjXauYAYʿ@$Ǐ LT!u>E`ΉJgvE mIጘ(k؄#̡lJ Q/] dMlM@՜lz J?^7΍l"Ji2}W/eB؈ޙ*b̨F $HŢTnTDjzNřqeMq q(%-%y4NC\$N@nxױKz;cKV&t4rUu[HCK1Zu{d}2MH'5uCc7Y[5h(%*<Q#Tv5UkWėfcp,\Zn佹F]Y׹M8_kBm[tͅD~;+[9NMR#Q60#6J.v"xV/)`4:q}0 2 1UT߸r#FftKU)Ƞ%cRB ֢/CdCC=:v rA-R=qda$l៥gXZFQ8`6N&4 U;FQ3,] Œ˸x`A`BJ/N.|ol3geڪnOB%^@k4*[fP2Yݚ?z5[tJF<3٦KڞnRC  ];PG=[dCj`kz&=80B7ڴWmgf(F+ G&SjRy7X׎ȴý+H9Bbt"E&Wq뇻Q\qSܫԈ+9) ęQ4O ~~sPl-\=bj'Ur̜ITv#FSd@*32Ct"Ȳ wN={kkrPrB83)ƸK73&p ET6 WAd/; l,ܜ+bho@$S\_2"Qw*0 j$Ϟw"VkRU?۩uJG ZIj1yyAѹ1taް|(g9ЂΑ>n$/mn}1 hOHK,2MGqoI6ϳĜ]31H[%OA"K4zq /a8Tԏ3R:ĖI/c|u'",4B!υdR 5 gBZ:D;vo8fH')9ޔNU8L{:75lD0GVHQN{=)(3CUSdWԿ4R)uOQѝZַUS܌hOs0F.%']hd:5j`U_k>#w<^}XN+پs[fVN˥' CF[ZOvzjd#sb,Lhr~i|\G˂rQlv 8NRHrv%ߞuB0{>F83JZ/ .-::IRc uWUJE*8=7/| :Bc0[S( !6,)a n(X y/+*1;=6B䬣\,GNbmkA:AhȟV}dŠ- >mmd['o*[nųR|#[[bEP)'$Ą"u KLlmaV W()K,tf:5akfٗQRL6Fݞh>2u|loXoay>J<*2y }̴wާw&dᗔ¨bV[G|$F63(KdetJ+ Iήm^!M|p9]&n0:2S;sEq X^soØ!3eȡ@ n FtՠRUI{J!jA&IgÍ߇aI:$>Y⎮@h~%4k>Ys8MDr<hB[-ѸEhBzG‰-JLgR=QGE"MA/(J@f\fp9nPXp!T1Ͻy+eKtLœ*AbtN;5װѲX{byo XF=5Ku$h ~RuZ!DZطc yGR6{b+c eٶ -7`6:|lAc8-$ Y BT,)q.G[58r[޳$ͧ:RkTT57(]_\}#뱚yDfr,7aC8BhSܨF٘]fؔw8XcZs^H lvPzfc ׃_rdPj^μtm![ø7 @%~f3 S wNLx^އ5hN Y|RߗlLrZՃM)FdJo$umln d= v Z/^6,q-Y,m%##9TcTft{FqB!}s %*M97ɓ0(`u63j b/.( lX9l-Gw7l '5(l;RX An-ul+a0X/ɽzHJ#CP0y~\ ]SL3mc*fax-*Dm29Vٲ ::ۑn#$sC2 ~:29 ]V-QC\d]OkLhnq=4AhT0Gݨ#JM.3k;d(bH0iZCFO哛DCRȝk;ѝ'cz6? 2G,}!{1n3zn aqMTE]ȥ9`Tdc*BTD[ܛڛ(hݖ(`0\# ~%{Hc>6X\]y1kS6,/*p,02,P +M2[w(,ѻ 3均m872Zm˹D; G N (ku`9q2SC˪LV}&/; el\iÌJn}~zM*[jPx21+b_)s~Q%poQRVqv?8OyGIfol`(>Jʶlk<KOU~ޤ/d - 8)~>69oQ`f ظ|1>k2sz8;nM{%R2, U-2*q8ۥ_`$te%mGK@s3 W$~MJMaq_|EaM*1ؿL,Tlޟ)@K o$IwƜ^_.K6q@= h. |/ iՅ&D\Œm \;Fݥia;2 # ޯL,ɵQj:O|8y+KXYcjBFZ81T(Am&K{CAzfJAz@9ԆC Smbe2Ki{` ھSgXx0lRZa7H"moA>܃Cji_ <,eїw}pʰ/ɶpQAsQk>LOmc-T4ps]Xg!>X1#lEvi;Rum` .e(v8Wσp9SS8vgUH,&.Զs Cq#E:3?.|7p=@%:*X+} _sy77 $gћ;WmOV3 9:lㆰ:9#e+?!oʏLc\~&08ƥyǯ. %}I"ɐ;D:MT0w~ϳCju2zf3̨ 鞒 3k[ оI~`ipBo/ۙ/Iv>&Vr0D,@ x\K\|s,ɛ ͗%.6yLZxᖰfJ*> POtc &)`iv>Y\nkAY~]ZzS!̤o3=E*dO߀1pawL~bX"pGu ⡾bq^DX'd|ꐓ"醧Lfud lnC@}MDSr 1$l{@Tw ?W%\wf.rwp5D2/WQv1 t?V|!['kvFhǡLt2r u.2rq3Όg?ߢeT.@qg!➕PdǢTsĜ-Z'Pt7upۺ̡:g|ޖuY8meAIoܟ)KD^|;Np?4yeLS6h,o<._D9\~x#DE\:.H`MWkIy WJP wVm~fJϝ(/, X)Y0kv#(&r%i_e6tiz X|y>%d 9xT<ɡG R$nU}=tCj.ؖ Bz7iG.T֩9I9qV3G:WGB}oeFPU#+{؋ao`ݯqwsQ76{V~<aވJ YjQ˘n@!vN&!4ƅS`Zai}<֖i;#Av:I֟ _ĎmЖؑl|hnŒ!\.{^=jQ/ e=o FȎXw.".  zhU:TIꚁm'BYG1 iVDf.ool)eYij‰դ8GXa&̲ESUvf+QH2Tdv:qzqW|2j7.c!iO٥8rkHAUQIفY콉%S鼬?CrnKhXQsoT;6>Df>#H#!txϲ:9P4.7Nj j˴~ (  7}6ĘXHrqx$1J"UrőTl huy.\;~b×Vҽad/):$ݻgZ'.\WѹM4}kEVWE[(ܨ ^<+;[iGS$Wh+]Owjx}+1yƟa.xؘDsWCÉb1!~{! ._ j0p%$'ViVEPzzb)^`/*XG)AX+H[|cqEِ?;FMwD7rɉ5^*f粽@Ƴ'ۦt6ɏ+d~ 7YXVDcj2!l6`7냷,+Y ?,=ϡcfIʬɔˑ1A_" =czB1}Ү-/pxVLڟ(2;w.AdTrSGOhv)59Tߣ%Krh1Ͳ`t]-}$ρu)%^̉nr7QAȕJ!WذfHdIp˘ R1 >f xf}e\vI'* B)E`#-Wd ]c<xsutYL 15wɖ`JFްg6;͖ |˯E8v2K42ӛ"|-OG xѤ@Mc5[ܔ:W(j| g`0$ 7!ÎW3fʕk~] !c۶m{xt<-H rE&v09rup=6W#J?[z厖hQy=Vdp9zTEaS#x:mkDzȊLSʽ'FVy#c^Lsp+" Gv!7<h3|;c, }tS-*|X}E`^GtU+.So`LpH s%e$ceNJ?I Y^:w+Xg1F7G$](;n]8%%OcU 3'DN7vPnF#IYeֵjCF߆c1g<&Y#*I0jx( EƩsNfolufaK[w | )$|˕T~@(~G\~oQVo\"O[ॳ[FFh u pM8J> *~=!YJ9^{ϑsi @W;>WN4KZ&Ưz[6E_ 9ܤ0jJ}$Q;Awf\$y0). MMaF> 0;uK*| $%Mr{OZv?_7Sx-ELEDrP)Cz>&X LRJk8e,_kC]$*m_ܾ7Y79 fb-37 ^z(+p9˦ve9}DGgjgBA /32tZwl tGc[J%o`. !fUԳ(e7)٩C/Od1l xsM\B\O;k9\R~&<Sx j;r8}}쌛/HoyfLjg!y4c/(Qʋ peOT^֚/o/VpzⶽS!0HTkZip=ߣHg5na>;Ty8hcD>8~V: u/@$3)X -*Pj~|u$" HQ0Ɓx<2r0>í *6䰚۝DaT&[̡1 BZL4=tO`5D~ .Qaf)n2 Fpe{2yY\ [&92.Y3<Զao %cBay[RDV k::򤕰5ӉK0=.Uŷ:cxy%g+cCגZ3npij 6OKQA#LoB VUM8O ~tUqZ]T oӕQB ;n%]|2?z 8xPQ%>XX"E^-É|4H8{m !(pntldCL2g^%*.3lJ״\eI )wnPڂbf?v@ާSWC|Cw! Py#ij6tp{ ង\h2k `yMionf&<GVjl z'%zM~E|Gt-xnLƔ,Cn=nɖ L %["$Ї1H?;O :@5XNKHMYnd^^YEK Rq縷$0+|5&HhROLNg~9x8P/2VU y \xZ<1tfft.cq= j.r%ƒI Xl{%Kb(tKtb[eX C8 K.;-¹]yrkS bHc3_zqeÓOыG[+.l Y5;#k<'M\GpzHn@hU5\`4LJC,Iy +Wx  v[Щu>*0T:ZYulc0A Li{ O.__3+'`β 48Q.MM@XUY$ u=wcx kږnX ᱼ^kO^<H |<7qԑĎ}x ]j:ucݭ#4T@Dچqɫt-)5k<;ڜ_/҈!(cB;&A|e5\ՀbJUaYO2wW$\COըR\_('?iw%i)d${of"Ǜ"* pg!%t^\~Ʉ>>R@Z%;.U}CS6bAyAO z"kdseYDvYS5#.WtZ :2vXTٖ#f֒XZ)^#srb-!׮{TǞpȇ)T}ٹY- U j:&6ܨRy^F:D~& i;~{ oX5[_6.XՃ0{N;$*tTqP(%{Qvϊ^56飯+};6iBߣp@^p)$1Ny/Eʳ%Tea}9G8pcU@ɩ+ywԇN}m55-I$IrDm- n7V ̤6u@c'A]hbN 8UY&D'H FX|qE6|#\Gݦ(9%F:稯;dS̥vs,mG(ҟ`pe,m2 FU"pt\oxJOjyߝgܜ3č0j\X_N-n'uKr8zy<5q;}$ Ïؑ-ILɇ IMfTA$hH 6Xamt`g>Qв`o ]#'hU|f$": *C|Lb7 y?xQmD Hh'WBpU.ƒHo4SN<֔ 2luB=?-$ ω^K ˾aB~?~.BQxMx׸6ˢTSFk]#PT@u`"eW-+5hq2THGEO#Z10"KDIۧ-!m,_t\d] P(s#Ne쟓w'™_UXffz^C;+iy1lK(Kcȕ<;dňPF>e'Y7tԨ N P84)Dz s[[:谲` 6;.;ڞR;2uc91̛ni<,aLVR7b2;t]*gSĪVG,iܼDȰ>`!?WŲ_;ʝӄ`}7/k]8I ?O 5  /E% Yp2AUoOBw0> *&h O1I($/B\*#1Wϴ'Iikސl4a4LF_<,,zs~0Gӭ):t-*3w+|)T/qD^ 1=K6߄5x X[81["̭ރhQ1Nǝje$jYh$!n} -gY:1'YE-#%qJ î%  /*I^vF/j:Y;B mx{>6Wxpb[~u6|: {u2q.6ր<.Ct` dϝϡ>"vi_~엫!Ս4=B !#-Hƚ~B;s!|(C$T2ڂaYZ6s3S@tqd~}H+8rz-=u7^Fn - c}ZZ%) 2#q? L44zU( @y.+B6"VYdvd2_D'钤Fz 9kLdh\O[(6u;hwղ}'ߡ3wK۶An°2݃Y-S_ %x%NYԙV$,]NV_U`1)@ `;4)Q!0_![WxHl<ymrԬA%3? o5 ̧Đ0vS׿d߮.CllNDqi?ȮA *X6&bYȌC9Q -* tAȋ_C.꭬愽#λz,&. 7|{~m!>6)9ͪ[h}6!^}[RwWaU;L):FG~ vrhKaC KvW~q3#_I݈sH;4C bAPE|<ƿK#Xml*dGތ_v@>jhyl ><ձKlZ246sٞ"h"y=%t6"0{r};Yzj1Wݮ -zW#\ӢYߒƿOkcs/Gԛ6ªž_s@cd?nhϟH%\=̜2[: . G|SJoՂU| _Vpz )4yA[ؘhV,a5B.WdQB޿I3|R-7f)L"Ʋ0,!])5iCt*`de9K9H*RWzLfCv"P;?@Rr+s|GEzEJu\H>?XJPSA[lpHO?M%Z9̶oTMdA!/Y?@4X`/cjuՃ ̤:b|O<| $z]:H#?wW%`^Ýi6m l:D t#0C;X'*ry);M/M`Eu ?2i7qn;q."82s+-z6=*hokD5a ^۳&H^rW`vdYY dcfiy!K1QEMhQ+Jo*-qV9etn(9\DbȋKixP.ӫ-=e9yF=jڐ6+2Ś`sbJy^#teRfl;ˬ<JCvS7j_7K=70ocV3V@Ӊai h)㼜ԅT O݆\K99i. ~ŗ%ms, !AS0u c}%uh߀`ɇ^_"!L+Dȑ7Yq OI|:){u }=G\tIj"ˮ1q-޲CRc0P,yƆt _L#RA74=1 ]9= G G[h'lZt=Y!]w{8{}SeVɒM*XӚo)_<5Ğw`[MAH:?qEVcw|Wu*MM?] A)'r{ղB'JIO92`uM Gmo[02.kLZPOBP@m8;9LŔCɷezaz;Pel!GH,VSIa:t?RY;E7XAqiUe@6 bk!Ï//@ʧfK_ML&Q-zѩ3Iq J#&$ bu9ø؉)𞆲 Pm|jPj4v#<*= %02. ^ĩ1X}%I[ lVMZЉ<_uX95zZpwLQ%& /āHkpa"6Ym AG o`sB3=;/knH}Vvډb^b5/L/,GeJQloZVEObz,i{ !zWb󔅻/ʽ{.o]}:יhhdhΡ k/\ hi)>#:I5 I lDjLНsWw1<#1IXwM~G^Y&&\*3PDf=Y Gm rAQ6Kc dߏLR$p÷Y$钄sZ`Gz+2Ԩ4 !&I@CiWE\u*zZLK!jI  UԣҪ^^{wb$:;ᕪywt0&6y DHNsO#|翸}@U.PwCT`^nZ<-#\?oJ L8 FTw8V5嗺r\% 3)mpvE1 JwTro[%ugsD=U+nlӿv]a)a 0jFqW$YO Op3\4rlHXdVN1~. pΛUGS4NwAJqSt@¹$Ԡ/yI J¾cPթu*LLvdbZfK56Bܔ|h9jE13:<gkj_A48T4;runjQ认 q"lW+zG51nsrL} I| ~|{wg; Ui쭌/FER~0#޻_d/$ul߶QC!seAbӐ4Y#cIO3vm\Eˈ7Xwa_ <% *ssQSXN66GՎl.U4CsxJ`:{XY(^1xvu?[|yvuQ贒"ߠS0a͎L /qj W?R:>ճrV]_ EH8`ʣȼ.ػ~ EPڹHNBg6ʌ/yJOG9¾5qŜØL߮jrπ˷yt8qzIJF+ 8M"|DF]FX9K X<&l(m3YTW/sjg9}]龖UsdIhݸE97Xc+kwML?@=YĖc $ns4(f6{=gQ|iۄV%P 'axBhVM`' m+LXTq,;rF<6m+96"鱝|0[}MUue>ۜS 9@+kh@D%/[e_NrJZy9 s $K@G?_϶S5TT2/Mi^Iѯ7GGC7- 5Mqr a+N|?u`UX't2o4vF7?=YqF "WT |ˆk%Ӄ\еތ2uq 9<. > @[o/c(7ʷX C= %3gY6cziRZ`aњ\ZcD6#bȐ.ݻn;!}WbwX\0>-Wa/k޴{@UQ2" u*>Ǵ: 3ܮM*|ڗHJP eu~7U z#6%KuwƸ (+,J:IJIֻ* ]iO>4SI!NJb!lɴJCil'\~jeMSd鞭 ﳜ˂.!WCg s;3<DZ^GsJIlJTRlIgϵX$[ r-*Xox)$'tMmcyz>߮tծ9# @]Uȷg7S|"w;7޴9]Ӫb9j.S%r`ގ$fZqYl9!NR`i{'f'tRO! $dzOjT-.386GB'.̓:+v2 /ۉJe_23˪7?qnukIΐoJO`#(|) B0MHK/0ӯ~A`K -/@cC =T5xu%A ˟N ڡt ¢(3Fvd .Tb/ K4QVlɞAq gPqfޘg˘ڙ!Oѫ !a-㷸"GӦy4),;}JyWe,17(`n(&@h3"#FӮURT// a-R,|'95h=ms&%꣏MwL sњMYaq 4Mg=UPY,6dk ,ZF]D;H=dR ӽIQU%]ј~ǂ|\HkpإA+eqHBCaE"142ȿo&EegݭЅ8 H&+|(v_QM=,}'򋫗҉gEaK0O5jp\ɫ@ Hay]{A⑶Y|F,ξsj |@L:IǫᄐoVrGk)(V`&FDT^+bMP'*R1U|%O"_$H\4F"iaӈ_ApZD2oĎWٗ)n;_P-P#^~a G22OU|3,:O[ɕ\żf 9Š1mXl*/T!7lɜtq,N)jЀ2 !0@>T@pܗ∓hh*ETw0kooFR:ѡYv^&MهwROȗd@Cw9T]hpH^ E*8p%cJ̤XiU¢J{"ZFRcvT{#q$X\텙}\nvx3aڶNwޔ9Lb̿($usDM:FM3T,BK\x^TgAo}"i(wxV`gG 7# !o Y9rgVyA͜1H*g'<Ԛa1C+p\E?fW"7-- 1XxZS6ztںk_P<+I&#?xK"Io5sHΧ&ʸrWْIA9Z䃥-|;0 !x,@:Cv0G%G󆖫Y15݇ɟQ0 nɓˀSR!fO>O&3:?~ *>ړ|򲹣F~ 8m$p dE(ekJR|íPa~@]bw\z8x*jo_u7P=:O輗|Dϕ 25~q3Fhȃ2̿+/0C UŜ]ڒ?]'|rx>dz4yuVCC>g{DrJ{ :>ݷ!&oVF`"5S1jf|sZ Ta(  9ڵfl<6\LtK 1!ģ)MKkÕR3p.5Wtr aS)/ZԎ|=fQ_#-}a6%VLMKĄػD1BkU=oٽ.V֛R- I,\qŨ-6私DhwCHߙԎfYvZ9̺n(l SJ SĊ6*)ş#!2uwDVᅘ_WiLM쉓]Q0p!]] w?)t=c-ėId'O)VSz6N "RnFA My⮞+"kЕL㲉eQګ=ȟg K.7 ct? I5FpDx=BȻ d~)p3NrJ cԂ{%L~x94]xV\u>[+=}XwsI:'yZ tl m[wF@kA~T\wyaPCOصؿA$CtxV./gyjZG{b,v畝sQ]}a* S$&ƴ;T. ͋vM% t 0 4!gf22!ײfZJ~o/[ē9k41p(*Dr+B5j-)f -+rMRS KD&P4bI!o 1%Ba\x=,swGv_&yaqjkgHO -8Ac-̗6myܟ(xUJ|+n\{q?KFff8#hK-vJw'>3[ m}V~ o q<=D ^9UР-'1r^fro qU")fPl-5$\vmȞń)\ O-tZ6{Z.8o2j 0+0:eRO8}as5tAwSФ hF_jXr/^zO_Jܑ# ZH ęN*0G#+Svjh5҃R餎TYL$#yg*zj ~XV/K:zTGy}ͦH#I܆1ZUB7c.T`tێZ)QE >,`SJjk<;pݛ.;+GDq}bxc@KՃeaUpA,Pͅӂ*&<#w>ZJPV;L*6$H@hs>8W+ڣ+ԗ߱T6}'q%M޹g)^Q8%1ml6syCҲ@<(+WG1'K~r2-±, |Hb'5d Bv\u&eMi$OظyG5 tPl)Jea>L|$!ͦ=Na|~oK*gA'w1|QH0W0!V-9:צ.׻vaK`T].sˣxqxAGrG n%ŋJy&1 <> 3)D@}Y]f70C~rFaK9B._}f^Nn6<,>(@>ipWDWWy J3z+oc&Ϸc%dϓv U)鸂_kZ 8S)3IAsZyJFktI}bvYT7FzG@_d(*t6 Q51sQIa-jm\{=7{N8wMoVgެݺȱPr\i^+>9g.10hhKOeL޼1 }HO Gbx1T̙0}I!Uf );ǂ$qsdٳ#`+,?Ql n_8#*kNC>>D/;BqRdǨojxzE=+SBi3C.[jCEQ7.5ߘD=ZdyOft-̢霩X1,`k!j~9m;[eUQO! ȄH<#hufr eaLM9vI5=c$$ dmC R]Oew;Wbj Sgq[ /(g,p2NݑDnބ7>AvsJ%}OS:{zm3Zk@>\,*,@> [)TC`qIտ7y_lД@T9Zg& [ž Nq+N?TCӥ>! g[8b8-~~%u|mP+qD8&p'cV^=_VVmqaCb^ef}ml66^eÍ`0cu A ݥDž֮ YZ