pnetcdf_1_12_2-gnu-mpich-hpc-devel-1.12.2-1.1 >  A `Ct@p9| nM &%ػ|o@$ޫ k[r׊v\GXOϛ:'m̗S2݉xmщVf en3N37 m- olMrjSll$BUN#vo}a >p>?d%, 0 clp| 4:Dd t    (Px,( 8 9D : : FUGlHIXY\]^Ubcd#e(f+l-u@v`wxy0zCpnetcdf_1_12_2-gnu-mpich-hpc-devel1.12.21.1Development files for pnetcdf_1_12_2-gnu-mpich-hpcNetCDF is a set of software libraries and data formats for array-oriented scientific data. Parallel netCDF (PnetCDF) maintains file-format compatibility with NetCDF. This package contains all files needed to create projects that use the mpich version of PnetCDF.`Csxinomavro SUSE Linux Enterprise 15SUSE LLC NetCDFhttps://www.suse.com/Development/Libraries/Parallelhttp://cucis.ece.northwestern.edu/projects/PnetCDF/index.htmllinuxppc64le!I* 3A큤A큤`Cqg`Cqg`Cqg`Cqg`Cqg`Cqg`Cqg`Cqg82893bf5d6a73371bb8bdac1e69947474b23b031ea5f7f7610efedbbe1acd89140986ff3e6b3ac3ad6543281ec2d26f6c0d4a8441cb11e02f238e72751e2e5111f7d45c90c88b43e5a078f768bf4277c9bc7d0e3d75cab2c57ac847c254a5971d4ede346f7df25c220830042f4200c150799f5f51b27efb12edf594a2c1da9bf7f3124a0c7b0ff6e38fc99cb297e62ec0d473e12bd8039e33a98225d6a6dd77flibpnetcdf.so.4.0.2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpnetcdf_1_12_2-gnu-mpich-hpc-1.12.2-1.1.src.rpmpkgconfig(pnetcdf)pnetcdf_1_12_2-gnu-mpich-hpc-develpnetcdf_1_12_2-gnu-mpich-hpc-devel(ppc-64)@@@@@@@@@@@@@@    /usr/bin/pkg-configgnu-compilers-hpc-devellibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libgfortran.so.4()(64bit)libgfortran.so.4(GFORTRAN_7)(64bit)libpnetcdf_1_12_2-gnu-mpich-hpclibstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)mpich-gnu-hpc-develrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.12.23.0.4-14.6.0-14.0-15.2-14.14.1`8_/@_@]Y]]w@Ws@W~UWUnU@UK@cgoll@suse.comeich@suse.comeich@suse.comstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.dechristophe@krop.frjengelh@inai.detoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.com- Update to version 1.12.2: * Updated utility program * ncvalidator now reports the name of variable that violates the NetCDF limitation on large variables for CDF-2 files * add corrupted file bad_large_fixed_var.nc2 that contains one large fixed-size variables that is not defined last * add corrupted file bad_large_rec_2_vars.nc2 that contains 2 large record variables * add corrupted file bad_large_rec_var.nc2 that contains 1 large record variable that is not defined last * add URLs of NetCDF limitations on large variables for CDF-1 and 2 file formats * Other updates: * When calling ncmpi_create() with NC_CLOBBER flag, PnetCDF now calls access() to check whether file exists first. If the file does not exist, successive calls to truncate() or unlink() can be skipped. * Improve detection of HDF5 signature. The HDF5 signature is located at the beginning of the HDF5 superblock, but the location of HDF5 superblock may not be at the beginning of the file. It is located at byte offset 0, byte offset 512, and at successive locations in the file, each a multiple of two of the previous location; in other words, at these byte offsets: 0, 512, 1024, 2048, and so on. * Bug fixes * Fix NC_CLOBBER mode for ncmpi_create() when files are existing symbolic links. Prior to this release, symbolic links, like other regular files, was first deleted and then created. This can result in an unexpected outcome, i.e. the deletion of symbolic link. NetCDF-4 library implements this differently, by adding O_TRUNC flag when calling open() to truncate the file to length 0. Historically, PnetCDF did not adopt the same approach because MPI does not define a similar flag to O_TRUNC and the only way to achieve the file clobber effect is to through MPI_File_set_size(), which can be expensive as the function takes an MPI file handler argument, which requires to open the file first with a call to MPI_File_open(). * Fix a bug of calling Fortran getarg() with the first argument k with a value > 0 when there is no command-line argument is used. NAG Fortran may crash the program. [f16bd3c](https://github.com/Parallel-NetCDF/PnetCDF/commit/f16bd3c1ba1b08eade2384f094c519f3f2dc114e) * Fix a bug that limits FLASH-IO to run on less than 16K MPI processes. See [1d84fa5](https://github.com/Parallel-NetCDF/PnetCDF/commit/1d84fa5d54ca9179da4a5b1a4ee3b92cc92287ed) - enable non HPC openmpi4 builds- Enable openmpi4 builds for SLE >= 15-SP2.- Update to version 1.12.1: v.1.12.1 - Option '-t' added to 'cdfdiff' to compare variable differences within a tolerance. - Make PnetCDF build with OpenMPI 4. - Fix aliasing bug with -O3. - String length of I/O hint 'nc_burst_buf_dirname' must be less than MPI_MAX_INFO_VAL. v.1.12.0 - Add 'cdfdiff' utility - serial version of 'ncmpidiff' supports classic NetCDF formats only i.e. CDF-1, CDF-2, and CDF-5. - 'ncmpidiff' now checks file format versions of two files, and reports difference if not the same. - Option '-t' added to 'ncpmidiff' to compare variable differences within a tolerance. - MPI info object now includes all PnetCDF hints once obtained form call to ncmpi_inq_file_info(). - Fix segfault when calling nonblocking API with zero-lenght request and request ID NULL. - Per-file thread-safe capability is not supported when using OpenMPI with ROMIO backend. v.1.11.2 - Utility program `ncoffsets` updated to skip printing dimension names if the number of dimensions of a variable is larger than 64. - Utility program `ncvalidator` updated to be able to repair the file header to fill in null-byte paddings in the space between the header size and header extent. v.1.11.1 - Optimization: When inserting nonblocking requests into the PnetCDF internal pending queues, queues are now kept sorted (using an insert sort) into an increasing order of variable starting file offsets. - Fix ncmpidiff when comparing dimension names of 2 variables between files whose dimension define orders are different. - Padding -- NetCDF classic file format specifies null (\x00) byte header padding, but does not enforce it. v.1.11.0 - New features * NetCDF-4 driver -- Accessing HDF5-based NetCDF-4 files is now supported. - New optimization * Burst buffer driver is updated to run varn APIs more efficiently. - New Limitations * For creating new files, the NetCDF-4 driver in PnetCDF supports only the classic model I/O operations. - New APIs * C++ API `NcmpiFile::set_fill()` is added for setting and inquiring the fill mode of an opened NetCDF file. - New PnetCDF hint * `nc_ibuf_size`: set the size of temporal buffer to be allocated by PnetCDF internally to pack noncontiguous user write buffers supplied to the nonblocking requests into a contiguous space. - Other updates: * The automatic file layout alignment for fixed-size variables is disabled. * The internal data buffering mechanism used in the burst buffer driver is removed. - Bug fixes * Fix bug of checking interleaved requests for scalar variables. * For put and get APIs when buftype is MPI_DATATYPE_NULL, bufcount is ignored. This is not implemented correctly in blocking put and get APIs. * ncmpidiff -- when comparing two files that contain record variables but no record has been written. * ncmpidiff -- when comparing two scalar variables, error NC_EBADDIM may mistakenly reported. * Fix crash when the MPI communicator used in ncmpi_create or ncmpi_open is freed by the user after the call and before file is closed. * Discrepancy from NetCDF library * No read/write variables in define mode when file format is NetCDF-4. * Diffrent to nc_set_fill() defined in NetCDF-4, ncmpi_set_fill() changes fill mode of all variables newly defined in current scope of define mode. * Error codes return precedence can be different between NetCDF and PnetCDF. - Discrepancy from NetCDF library * NetCDF-4 allows to read/write variables in define mode when file format is NetCDF-4, while PnetCDF requires data mode. * In contrast to nc_set_fill() in NetCDF-4, ncmpi_set_fill() changes fill mode of all variables newly defined in current scope of define mode. * Error code precedence may differ between NetCDF and PnetCDF. - Clarifications PnetCDF currently does not support Fortran default integer type set to 8 bytes (option -fdefault-integer-8 with gnu compiler). v.1.10.0 - New Features: * A new I/O layer that makes use of burst buffers is added. - New Optimizations: * Internal memory management for nonblocking APIs has been improved to reduce memory footprint. * Blocking and nonblocking varn APIs have been improved for better performance and less memory footprint. * on noncontiguous layout in user buffer use the user buffer directly in MPI-IO calls when neither byte-swap nor type-conversion is required to reduce memory footprint. - New APIs: * ncmpi_flush() flushes data buffered by PnetCDF to the destination file system. - API semantics: * ncmpi_put_vard and ncmpi_get_vard APIs + Allow to write/read two or more variables in a single call. + When argument filetype is MPI_DATATYPE_NULL, request is considered zero-length. + Limitation of vard APIs: element data type of filetype must conform with variable external NC data type. + element data types of all variables accessed in filetype must be the same. + buftype must contain only one same element data type if it is used to read or write multiple variables from file. - New error codes: * NC_EFLUSHED when request got flushed before when calling ncmpi_cancel(). * NC_EBADLOG when burst buffer log files are found corrupted. - New hints: * nc_in_place_swap; enable/disable in-place byte swap on Little Endian architectures. * nc_burst_buf -- to use the burst buffering feature. * nc_burst_buf_dirname -- directory where internal log files for burst buffer will be stored. * nc_burst_buf_del_on_close -- whether log files should be deleted when closing NetCDF file. * nc_burst_buf_flush_buffer_size -- Amount of memory allowed by users to allocate when flushing the burst buffer log files. - Rutime environment variable * PNETCDF_RELAX_COORD_BOUND set to 0 to disable or 1 to enable more relaxed boundary check for argument start. - Utility programs: * ncvalidator adds a new option -t to turn on tracing mode. - Other updates: * Add a check for NC_EUNLIMIT in API ncmpi_open to detect whether two or more unlimited dimensions are defined to detect a corrupted file. - Bug fixes: * Fix type_create_subarray64() for case when some dimensions of the global array is larger than 4G and oldtype is not MPI_BYTE. * Fix the bug that writing scalar attributes of type NF_INT64 was mistakenly casted to NF_INT. * Fix calculation of new record number in put_vard API. * Fix calculation of growing size of nonblocking request queues to include the number of records of a record variable, as such request is split into multiple additional requests, one for each record. * Remove freeing name object because NC_ENULLPAD is not a fatal error. * Add a check against NULL before freeing Member "value" of NC_dimarray, NC_attrarray, and NC_vararray when reading from file where respective tags are corrupt. - Conformity with NetCDF library * Attribute _FillValue of any NC data type may be put to global variable NC_GLOBAL for all classic files. v.1.9.0 - New optimizations: * use hash functions for faster attribute name lookup. - New limitations: * max number of files to be opened simultaniously is now 1024. * maximum number of variable dimensions (NC_MAX_VAR_DIMS) is now 2147483647. * maximum number of attributes per file (NC_MAX_ATTRS) is now 2147483647. * maximum number of variables per file (NC_MAX_VARS) is now 2147483647. * maximum size of of single put/get request or aggregate size if non-blocking request per MPI process is INT_MAX. - New constants: * NC_FORMAT_UNKNOWN, NF_FORMAT_UNKNOWN, NF90_FORMAT_UNKNOWN will be returned on ncmpi_inq_file_format if file is unrecognizable. * NC_MAX_NFILES, NF_MAX_NFILES, NF90_MAX_NFILE define max number of files that can be kept open my an MPI process. - API Syntax change: * Argument fill_value of ncmpi_def_var_fill is 'const' now. - Semantic updates: * Calling ncmpi_end_indep_data() in collective data mode no longer considered illegal. * For CDF-5 files, the maximum size of a variable or a variable's record is NC_MAX_INT64-3. * on inconsistent create/open among processes, the modes on all processes will be replaced by rank 0's mode. NC_EMULTIDEFINE_CMODE or NC_EMULTIDEFINE_OMODE will returned on processes disagreeing with rank 0's mode. * ncmpi_inq_nreqs() allows argument nreqs to be NULL. * ncmpi_inq_buffer_usage() & ncmpi_inq_buffer_size() allows argument usage to be NULL. * New error codes: + NC_EMAX_REQ, NF_EMAX_REQ and NF90_EMAX_REQ + NC_ENULLPAD, NF_ENULPAD and NF90_ENULPAD - Utility programs: * ncmpivalid renamed to ncvalidator - Update: * Update UTF8 encoding utility to use utf8proc library version 2.1.0. * Add quiet mode command-line option "-q" to utility program ncvalidator. * Add an internal check for whether the file starting offsets of all variables are in an increasing order as the variables defines. - Bug Fixes: * Fix a bug in nonblocking APIs when two separate nonblocking requests that can be coalesced into a contiguous MPI fileview or buffer type but the coalesced length becomes too big. * Fix a bug in nonblocking APIs when one request's access region covers more than one other non-interleaved requests. * Fix a bug in string parsing the environment variable PNETCDF_HINTS and print warning messages when hint strings are ill-formed. * Fix a bug in F90 APIs for reading and writing scalar variables, i.e. number of dimensions is zero. * Fix a bug that fails to do byte-swap when retrieving user-defined fill values. - Conformity to NetCDF: * API ncmpi_open now checks the number of large variables that is legal for CDF-1 and CDF-2 files. * Add checking for error code NC_ELATEFILL. * No longer disallow _FillValue for global variable NC_GLOBAL. * Don't turn fill mode on/off automatically when putting/deleting _FillValue attribute. This restores consistency with NetCDF. * PnetCDF can no longer be built on 32-bit machines if using OpenMPI versions 2.0.2 and 1.10.6 and earlier versions. - Clarifications: * External numerical data types can no longer be type casted to NC_CHAR type upon reading/writing. Only legal APIs the read/write a NC_CHAR variable are the '_text' APIs. New translations of internal data types to MPI data types - check release notes for a table. v.1.8.1 - Fortran parameters NF_MAX_DIMS, NF_MAX_ATTRS, NF_MAX_VARS, and NF_MAX_NAME have been fixed to conform with their corresponding C constants. v.1.8.0 - Copy fill values to data elements that cause out-of-bound error (i.e. NC_ERANGE.) New macros added to pnetcdf.h, to indicate the configurable options that were enabled/disabled. These macros are: PNETCDF_ERANGE_FILL, PNETCDF_SUBFILING, PNETCDF_RELAX_COORD_BOUND, and PNETCDF_DEBUG_MODE. - Detect HDF5 file format: * ncmpi_inq_file_format reports NC_FORMAT_NETCDF4 on HDF5 signature. * 'ncmpidump' checks for HDF5 format when -k option is specified. * ncmpi_open checks for HDF5 signature and returns NC_ENOTNC3 error. - New API: * ncmpi_strerrno, nfmpi_strerrno, nf90mpi_strerrno return the string name of a NC error code. * ncmpi_inq_path, nfmpi_inq_path, nf90mpi_inq_path for inquiring file pathname used when open/create the CDF file. - Optimizations: * Use of Bernstein hash for checking if variable or dimension name is used already. * Storage of nonblocking requests. - Changed syntax: * ncmpi_cancel can now be called in define mode. - New error codes: NC_EPENDING, NC_EINVAL_OMODE, NC_EMULTIDEFINE_CMODE for both C and FOTRAN functions. - New error code precedences when multiple errors in API argument detected. * Utility pnetcdf-config to display build configuration. - Semantic changes: * For collective APIs, the following errors are considered fatal: NC_EBADID, NC_EPERM, NC_EINDEFINE, NC_EINDEP, and NC_ENOTINDEP. Once detects these errors the calling APIs return immediately. * Consistency check for header data (defining dimensions, variables, and attributes) is moved to individual APIs and only enabled when safe mode is enabled. * For CDF-5 files, regular NC_ERANGE check is performed in PnetCDF for all APIs that access NC_BYTE variables. For CDF-1 and 2 files, PnetCDF still honors that exception. * Error code NC_EPENDING will be returned when pending requests are detected at the file close. * API ncmpi_set_default_format is changed to an independent API. - Build separate doc package. - Run package internal tests. - Remove: parallel-netcdf-1.6.1-destdir.patch - obsolete build patch. - Add support for HPC build. - Add build support for gcc10 to HPC build (bsc#1174439). - Add build support for openmpi4. - Disable 32-bit build architectures: package cannot be built there.- Add convenience provides to allow e.g. netcdf-openmpi2 to pull in libpnetcdf-openmpi2. - Also build openmpi3 flavor.- Build MPI pacakges as multibuild flavors, add openmpi2 - Adapt to openmpi -> openmpi1 rename on Tumbleweed- Use -ffat-lto-objects when building static libraries.- Trim descriptions.- Update to 1.7.0 o New features * Nonblocking requests now can be posted while the program is in the define mode. This feature enables applications to add new variables and post the nonblocking write requests without separating the codes by ncmpi_enddef(). Note ncmpi_wait_all and ncmpi_wait must still be called in the data mode. * When using immutable write buffer in put APIs on a Little Endian machine, the in-place byte swap operation performed internally in PnetCDF can cause a fatal error (by trying to change the contents of an immutable memory space). The solution of copying user's write request to a temporary buffer and perform byte swap there conflicts with PnetCDF's design principle of avoiding internal memory allocation as much as possible. Since the size of immutable buffer in most cases is small, PnetCDF now compromise the two by making a copy of write requests that is less than 4KB. Users are warned that using immutable write buffer larger than 4KB will still cause the fatal error in the PnetCDF default configuration. The way to completely disable in-place byte swap is to build PnetCDF with --disable-in-place-swap option at the configure time. In this case, the internal memory allocation in PnetCDF will increase. o Syntax changes * In ncmpi_wait_all(), ncmpi_wait(), and ncmpi_cancel(), the API's third argument, array of requests IDs, is changed to INOUT. Upon successful completion or cancellation of individual nonblocking requests, the corresponding request IDs are set to NC_REQ_NULL. o New run-time environment variables * PNETCDF_VERBOSE_DEBUG_MODE environment variable can be used to print the location in the source code where the error code is originated, no matter the error is intended or not. This run-time environment variable only takes effect when PnetCDF is configure with debug mode, i.e. - -enable-debug is used at the configure command line. Set this variable to 1 to enable. Set it to 0 or keep it unset disables this mode. Default is 0, i.e. disabled. Users are warned that enabling this mode may result in a lot of debugging messages printed in stderr. o New example programs * examples/C/nonblocking_write_in_def.c shows an example of posting nonblocking write requests in the define mode. * examples/C/req_all.c shows an example of using NC_REQ_ALL to flush all pending nonblocking requests without providing the requests IDs. o New test program * test/cdf_format/dim_cdf12.c tests defining maximal dimension size for CDF-1 and CDF-2 file formats * test/testcases/test_erange.c tests if the error code NC_ERANGE can be correctly returned for two cases 1) get a NC_UBYTE value of 255 from a netCDF file to a memory buffer of type signed char and 2) put a value of -1 of signed char to a NC_UBYTE variable in a netCDF file * test/testcases/check_type.c tests if the error codes can be correctly returned when conflicted in-memory and extenal data types are used. * test/testcases/put_parameter.f tests the use of immutable write buffer (e.g. a buffer declared as PARAMETER). Note the buffer size must be smaller than 4KB. * test/nonblocking/i_varn_indef.c tests posting nonblocking requests in define mode. * test/nonblocking/req_all.c tests the use of NC_REQ_ALL for flushing all pending nonblocking requests without providing the requests IDs. * test/last_large_var.c tests the special case when there is no record variable, the last fixed-size variable can be larger than 2GiB in size if its starting file offset is less than 2GiB. * test/testcases/buftype_free.c and test/testcases/buftype_freef.f test the bug in r2160. * testcases/add_var.c checks the starting file offsets of newly added variables from re-entering the define mode. * testcases/attrf.f checks NF_ERANGE is returned instead of coredump. This is particularly for NAG Fortran compiler that may report "Arithmetics exception". * testcases/check_striping.c checks if the file striping unit and factor returned from MPI-IO hints are consistent among processes. * test/nonblocking/column_wise.c checks if PnetCDF detects interleaved fileviews from multiple nonblocking requests and correctly breaks and reconstructs the fileviews so the combined fileview is monotonic non-decreasing in file offsets. o New optimization * Filling variables at ncmpi_enddef() is now done by aggregating all write requests into one MPI collective write call. In v 1.6.1, this is done by filling one variable at a time. o New utility program * ncoffsets reports the file offset information, including the starting and ending file offsets, of variables stored in a netCDF file. ncoffsets is compiled with gcc if gcc is presented on the build system. Additional command-line options are: (-v) reports only for a selected list of variables in interest, (-s) prints the variable sizes, (-g) outputs the file space gap size from the end of previous variable, (-x) reports whether there is a gap between any two adjacent fixed-size variables. See the man page for descriptions of all command-line options and examples. o Semantics updates * All nonblocking APIs now take a NULL pointer for the request ID argument, meaning users do not wish to keep track of the request ID. If NULL request IDs are used, NC_REQ_ALL should be used when calling ncmpi_wait_all/ncmpi_wait to commit all the pending nonblocking requests. This feature relinquishes users from the responsibility of tracking the IDs of pending requests. * Using NC_REQ_ALL as the 2nd argument "num" in ncmpi_wait_all/ncmpi_wait APIs will flush all the pending nonblocking requests. In this case, the 3rd and 4th arguments "array_of_requests" and "array_of_statuses" will be ignored and thus these two arguments can be NULLs. * Using NC_REQ_ALL in ncmpi_cancel() will cancel all the pending nonblocking requests. * Using NC_GET_REQ_ALL or NC_PUT_REQ_ALL in ncmpi_wait_all(), ncmpi_wait(), and ncmpi_cancel() for all the pending get-only or put-only requests, respectively. o Other updates: * Conform with netCDF on the maximal dimension size for CDF-2 file format to be (2^32 - 4) * NC_ERANGE checks have been removed from nc_test for text APIs and variables that are defined as NC_CHAR type * Add README.K-Computer build recipe for using Fujitsu MPI compilers on the K computer at RIKEN in Japan * Add README.INTEL build recipe for using Intel MPI compilers 4.x * Build dependency rule is added for files configure and configure.in * PnetCDF checks MPICC/MPICXX/MPIF77/MPIF90 instead of CC/CXX/F77/F90/FC. If MPICC/MPICXX/MPIF77/MPIF90 are set, PnetCDF will ignore CC/CXX/F77/F90/FC. If CC/CXX/F77/F90/FC is set instead of MPICC/MPICXX/MPIF77/MPIF90, PnetCDF will now copy them to MPICC/MPICXX/MPIF77/MPIF90. * Enforce netCDF convention on error code priority: NC_ECHAR trumps NC_EINVALCOORDS, NC_EEDGE, and NC_ESTRIDE. * Return error code NC_EGLOBAL instead of NC_ENOTVAR for APIs where using NC_GLOBAL as the variable ID argument is prohibited. * All Fortran 77 test and example programs (files with .f and .F extensions) have been revised to conform with 77 standard, and was tested using pgf77. * Now provides a pkg-config file (http://www.freedesktop.org/wiki/Software/pkg-config/), making it slightly easier to set the correct pnetcdf include and library paths. o Bug fixes * Fix the bus error of invalid address alignment when build with Fujitsu compiler. See r2171 and r2180. * Fix the bug for the special case when there is no record variable, the last fixed-size variable can be larger than 2GiB in size if its starting file offset is less than 2GiB. See r2166. * Fix the nonblocking flexible APIs that fail to save (duplicate) the user MPI derived data type that later is needed to unpack read data to the user buffer (a call to MPI_Unpack). See r2160. * Fix Fortran 77 constants nf_fill_uint and nf_fill_int64 (thanks Jim Edwards) that pgf77-based MPI compiler does not like "_8" modifier. See r2045 and r2051. The same issue for NAG Fortran compiler is also resolved. See r2089 and r2093. * In the example program examples/tutorial/pnetcdf-write-nb.c, the write buffers used in two iput API calls should be different. See r2095. * Fix the error reporting mechanism for NC_ERANGE, for when an arithmetic overflow happens. Overflow checking is now performed before I/O.- Fix license- Fix building on non-x86_64 64-bit platforms- Update subpackage groups - Make subpackage summaries and descriptions more consistent - Provide rpm macros for version identification - Spec file cleanups- Update to version 1.6.1 o New features * PnetCDF now supports fill mode. ncmpi_set_fill() can be used to set the fill mode for the entire data set. Note the differences from netCDF: 1. The default mode in PnetCDF is NC_NOFILL. 2. Setting fill mode for the entire file or individual variables must be done in define mode. 3. For non-record variables, they are filled at the time ncmpi_enddef() is called. 4. For record variables, users must explicitly call ncmpi_fill_var_rec() to fill one record at a time before writing to the record of that variable. o New APIs * ncmpi_def_var_fill() sets fill mode for an individual variable. This API must be called in define mode. * ncmpi_inq_var_fill() inquires fill mode of a variable. * ncmpi_fill_var_rec() is a collective API that fills a record of a record variable. This API must be called at data mode. * ncmpi_inq_default_format() for inquiring the default file format for new file creation. Note the default format can be changed by ncmpi_set_default_format(). * The above new API are also available in Fortran and C++ versions. o New error code * NC_ENOTRECVAR when attempting operation only for record variables * NC_ENOTFILL when attempting to fill a variable when its fill mode is off * NC_EMULTIDEFINE_FILL_MODE when inconsistent dataset fill mode is detected * NC_EMULTIDEFINE_VAR_FILL_MODE when inconsistent variable fill mode is detected * NC_EMULTIDEFINE_VAR_FILL_VALUE when inconsistent variable fill value is detected * Fortran versions of the above error codes are also added. o New example programs * C/fill_mode.c shows the use of ncmpi_set_fill(), ncmpi_def_var_fill(), ncmpi_inq_var_fill() and ncmpi_fill_var_rec() F77/fill_mode.f is the Fortran version. F90/fill_mode.f90 is the Fortran 90 version. CXX/fill_mode.cpp is the C++ version. * C/ghost_cell.c shows how to use varm API for writing from a user buffer as a 2D array with ghost cells on both ends of every dimension. o New test programs * nc_test/tst_nofill.c borrowed from netCDF * testcases/ivarn.c tests bug fix r2023 when the request IDs stored in argument array_of_requests[] of ncmpi_wait_all() are not in an increasing order. o Other updates: * Change the chunk size used for moving variable data when the file header extent expands. The default is now 1MB. If the file's striping unit size is known (from MPI-IO hint striping_unit) then the chunk size is set to the striping unit size. o Bug fixes * Add missing F90 function overloading for f90mpi_put_var_all, f90mpi_get_var_all, f90mpi_put_vard_all, and f90mpi_get_vard_all, when the user buffer is a scalar. * Fix when the request IDs passed in argument array_of_requests[] of ncmpi_wait_all() are not in an increasing order. See r2023. * Fix C++ compile error for converting NULL to string. See r2039. - Update to version 1.6.0 o Format conformation updates: * Conform with netCDF4 on CDF-1 and CDF-2 formats. The only difference now between the two formats are the OFFSET item in the format spec (32 vs. 64 bit integers.) All names (variable, dimension, attribute) now allow extended characters (eg. special2 and MUTF8). o New APIs * Nonblocking buffered varn API family. For C, ncmpi_bput_varn_() For F77, nfmpi_bput_varn_() For F90, nf90mpi_bput_varn() For C++, NcmpiVar::bputVarn() * Nonblocking varn API family. For C, ncmpi_iput_varn_() and ncmpi_iget_varn_() For F77, nfmpi_iput_varn_() and nfmpi_iget_varn_() For F90, nf90mpi_iput_varn() and nf90mpi_iget_varn() For C++, NcmpiVar::iputVarn() and NcmpiVar::igetVarn() * Blocking vard API family takes an argument of MPI derived data type that describes the file access layout, as opposed to vara and vars APIs that use start[] and count[]. For C, ncmpi_put_vard() and ncmpi_get_vard() For F77, nfmpi_put_vard() and nfmpi_get_vard() For F90, nf90mpi_put_vard() and nf90mpi_get_vard() For C++, NcmpiVar::putVard() and NcmpiVar::getVard() * Collective var1 API family For C, ncmpi_put_var1_all() ncmpi_get_var1_all() ncmpi_put_var1__all() ncmpi_get_var1__all() For F77, nfmpi_put_var1_all() nfmpi_get_var1_all() nfmpi_put_var1__all() nfmpi_get_var1__all() For F90, nf90mpi_put_var_all() nf90mpi_get_var_all() For C++, NcmpiVar::putVar_all() NcmpiVar::getVar_all() * ncmpi_inq_buffer_size() returns the size of buffer previously attached for use of bput APIs. With ncmpi_inq_buffer_usage() one can calculate the space remaining for additional bput requests. For F77, nfmpi_inq_buffer_size() For F90, nf90mpi_inq_buffer_size() For C++, NcmpiFile::Inq_buffer_size() * ncmpi_inq_recsize() returns the size of record block, i.e. the sum of single records of all record variables. For F77, nfmpi_inq_recsize() For F90, nf90mpi_inq_recsize() For C++, NcmpiGroup::getRecSize() * ncmpi_inq_num_rec_vars() and ncmpi_inq_num_fix_vars() report the number of record and fixed-size variables, respectively. For F77, nfmpi_inq_num_rec_vars() and nfmpi_inq_num_fix_vars() For F90, nf90mpi_inq_num_rec_vars() and nf90mpi_inq_num_fix_vars() For C++, NcmpiGroup::getRecVarCount() and NcmpiGroup::getFixVarCount() o New PnetCDF hint * pnetcdf_subfiling -- it can be set in an MPI info object or in the environment variable PNETCDF_HINTS to enable/disable subfiling. The value is either "enable" or "disable". o PnetCDF hint priority * The alignment hints set in the environment variable "PNETCDF_HINTS" have the highest priority, which overwrite the alignment hints set in ncmpi__enddef(), which overwrite the alignment hints set in the MPI_Info object used in the call of ncmpi_create() and ncmpi_open(). o New error code * NC_ESTRICTCDF2 for attempting CDF-5 operation on CDF-2 file. For example, define a variable of type NC_INT64 in a CDF-2 file. * NC_ETYPESIZE when filetype size is bigger than the variable size * NC_ETYPE_MISMATCH when the element type of filetype mismatches the variable type * NC_ETYPESIZE_MISMATCH when filetype size mismatches buffer type size * NC_ENULLSTART when argument start is a NULL pointer * NC_ENULLCOUNT when argument count is a NULL pointer * NC_EINVAL_CMODE when invalid file create mode is set, (e.g. cannot have both NC_64BIT_OFFSET & NC_64BIT_DATA. In PnetCDF 1.5.0 and earlier versions, if both flags were set, then NC_64BIT_DATA triumphs NC_64BIT_OFFSET.) o New example programs * C/bput_varn_uint.c and F77/bput_varn_int8.f show the use of nonblocking bput_varn APIs * C/i_varn_int64.c and F77/i_varn_real.f show the use of nonblocking iput_varn and iget_varn APIs * C/vard_int.c F77/vard_int.f F90/vard_int.f90 CXX/vard_int.cpp show the use of vard API to write/read record and fixed-size variables. * C/transpose.c shows the use of ncmpi_put_vara_int_all to write a 3D array that is dimensional-transposed from the one stored in memory. Six transposed 3D arrays are saved whose dimensions are organized as ZYX, ZXY, YZX, YXZ, XZY, and XYZ. The C++, Fortran 77, and Fortran 90 versions are also provided. o New test program * nonblocking/wait_after_indep.c tests if ncmpi_end_indep_data() returns properly when nonblocking APIs are called in independent data mode and the wait call is made after exiting the independent mode. * nonblocking/flexible_bput.c tests flexible bput APIs that use noncontiguous buffer type, noncontiguous imap and require type conversion * testcases/flexible2.c tests flexible APIs that perform type conversion * testcases/flexible_varm.c tests flexible varm APIs * testcases/varn_contig.c tests the case when the fileview is actually a contiguous chunk. PnetCDF should be able to merge all. * nonblocking/bput_varn_uint.c tests nonblocking bput_varn APIs * nonblocking/i_varn_int64.c tests nonblocking iput_varn and iget_varn APIs * test/testcases/test_vard.c test/testcases/test_vardf.f test/testcases/test_vardf90.f90 test the new vard APIs. * test/testcases/inq_recsize.c tests if one can correctly inquire the size of record block from in a netCDF file. A similar program in F90, named inq_recsizef.f90, is also added. * In test/nc_test, the test programs below are borrowed from netCDF test programs: t_nc.c tst_misc.c tst_norm.c tst_small.c tst_names.c tst_atts3.c tst_atts.c * test/testcases/one_record.c tests the special case defined in CDF-1 and CDF-2 specification that "A special case: Where there is exactly one record variable, we drop the requirement that each record be four-byte aligned, so in this case there is no record padding." * test/testcases/modes.c tests if correct error codes are returned when various file create/open modes are used. * Under test/testcases, varn_int.c varn_intf.f varn_real.f90 test varn APIs * test/testcases/inq_num_vars.c test if one can correctly inquire the numbers of record and fixed-size variables defined in a netCDF file. A similar program in F90, named inq_num_varsf.f90, is also added. * test/nonblocking/interleaved.c tests a combination of interleaved file types. This is to test the bug fix in r1758. o New optimization * Prior to this release, PnetCDF wraps each MPI read/write call in put/get APIs with two MPI_File_set_view(). One is before the MPI read/write call to take advantage of MPI's fileview feature for accessing non-contiguous file locations. The other is after the MPI read/write call to make the whole file visible, as the root process may write to file header later in the data mode and it alone cannot make a call to MPI_File_set_view() because the function is collective. In this release, the second MPI_File_set_view() has been removed. The root process's fileview is changed to always keep the whole file header visible. Saving a collective call to MPI_File_set_view() is expected to improve some performance. o Semantics updates * Header consistency mechanism has been updated. See README.consistency for details. * The use of NC_SHARE is also revised. See README.consistency for details. o Other updates: * The subfiling feature is now disabled in ncmpidump and ncmpidiff until a bug fix to allow reading the master file with the number of processes that is smaller than the number of subfiles. * The attribute names reserved for subfiling feature are now changed to use a prefix of "_PnetCDF_SubFiling". The leading "_" underscore is a CDL convention. * The flexible APIs now allow argument buftype to be MPI_DATATYPE_NULL. In this case, argument bufcount is ignored and argument buf's data type must match the data type of variable defined in the file - no data conversion will be done. This extension makes the flexible APIs be able to correspond to the netCDF APIs whose names do not contain a data type, e.g. nc_put_vara(). * Type conversion between NC_BYTE and unsigned char no longer checks for out of range error (NC_ERANGE). CDF file format specification make a special case for this kind of data type conversion. See: "Note on byte data" in the format specification. * Conform with the CDF-2 and CDF-5 formats that names are normalized according to Unicode NFC normalization rules during encoding as UTF-8 for storing in the file header. * A new configure option, --enable-large-file-test, to enable testing I/O on large files and large variables. Note the testing prgrams will run very slowly. o Bug fixes * fix the bug for flexible get_varn API. When buftype is noncontiguous, the bug forgot to "unpacks" the temporary buffer that reads data from file to the user buffer using buftype. * fix the bug in blocking flexible get APIs when buftype is noncontiguous, swap is needed, type conversion is not. The bug sets a NULL pointer to the read buffer and passes it to MPI_File_read functions. See r1815. * fix the bug for the NetCDF special case when there is only one record variable and the record size is not four-byte aligned. In this case, NetCDF spec says the alignment must dropped (no padding). See r1791. * fix the bug in nonblocking APIs when requests are resorted into nonoverlapping groups and the first group of file types are interleaved, it was mistakenly identified as non-interleaved. See r1758. * fix the setting for PNETCDF_RELEASE_DATE in configure.in. Using read command together with IFS does not work as expected in bash 4.3.11. See http://lists.mcs.anl.gov/pipermail/parallel-netcdf/2014-July/001586.html for further detailed discussion. - Update to version 1.5.0 o New features * A new configure option "--disable-in-place-swap" is added. It disables the byte-swap operations running in-place on the user's write buffers. The purpose of providing this option is to deal with the problem when a Fortran program uses a immutable buffer for put APIs, e.g. the buffer is declared as a PARAMETER, and in-place byte swap on this buffer causes segmentation fault. See discussion threads of http://lists.mcs.anl.gov/pipermail/parallel-netcdf/2013-July/001498.html Impacts: 1. It takes effect only on Little Endian machines. 2. It only affects put/iput data APIs, but not attribute APIs. 3. The INTENT of buffer arguments in all Fortran 90 put/iput APIs will be declared as "IN". Without this setting, the default is "INOUT". 4. It has an impact on performance, as an extra internal temporary buffer will be allocated to copy data over from user's put buffer, so byte swap can be run on the temporary buffer. The default setting is to enable in-place byte swap. PnetCDF tries not to allocate additional memory space, due to performance concern. Users are discouraged to use Fortran PARAMETER buffers in put APIs. * A new configure option "--enable-debug" is added. It enables a memory allocation tracing mechanism internal in PnetCDF. In addition, it enables the PnetCDF safe mode. (Note that setting the environment variable PNETCDF_SAFE_MODE at the run time can still overwrite the safe mode.) Default debug mode is disabled. When enabled, a user program can call three new APIs below: ncmpi_inq_malloc_size, ncmpi_inq_malloc_max_size, and ncmpi_inq_malloc_list to obtain the size in bytes of current memory allocated internally. This feature uses a binary tree to manage all malloc buffers, e.g. tsearch() and tdelete(). * Add three Fortran parameters for PnetCDF library version numbers: PNETCDF_VERSION_MAJOR, PNETCDF_VERSION_MINOR, and PNETCDF_VERSION_SUB. Similarly in C programs, these are defined in pnetcdf.h as constants. o New APIs * C++ APIs are now available. They are developed based on netCDF-4 C++ library. However, users are encouraged to use C APIs, instead C++. * ncmpi_put_att, ncmpi_get_att, nfmpi_put_att, and nfmpi_get_att - these APIs correspond to nc_put_att, nc_get_att, nf_put_att, and nf_get_att. Note they are not the "flexible" APIs. Flexible APIs have an MPI derived datatype argument. * ncmpi__enddef, nfmpi__enddef, and nf90mpi_enddef - these APIs correspond to netCDF nc__enddef, nf__enddef, and nf90_enddef (with additional optional arguments). * ncmpi_inq_file_info - the naming for ncmpi_get_file_info may cause confusion, as "get" has a different meaning on PnetCDF. The correct name should use "inq". However, ncmpi_get_file_info is kept for backward compatibility. * ncmpi_inq_striping, nfmpi_inq_striping, nf90mpi_inq_striping report the file system striping settings of the opened file: striping size and striping count, if the underneath MPI-IO can find their values from the file system in use. * ncmpi_inq_malloc_size, ncmpi_inq_malloc_max_size, ncmpi_inq_malloc_list report the size in bytes of current memory allocated internally by PnetCDF. Similar APIs for Fortran 77 and 90 are also available. These APIs are enabled only when PnetCDF is configured with option - -enable-debug. When this option is not enabled, calling these APIs will return the error code NC_ENOTENABLED. These APIs are usefully for debugging. * ncmpi_inq_files_opened reports the number of files that are currently opened. Similar API for Fortran 77 and 90 are also available. The API takes 2 arguments: number of files and array of file IDs. If the second argument, array of IDs, is not NULL, then it will filled with the netCDF dataset IDs. This API is useful for debugging. o Syntax changes * For all Fortran put/iput APIs, the INTENT of write buffer arguments is changed to "INOUT" on Little Endian machines, if option "--disable-in-place-swap" is not used at configuration. Otherwise, i.e. on Big Endian machines or PnetCDF is configured with "--disable-in-place-swap" on Little Endian machines, the INTENT is "IN". o New PnetCDF hint * nc_record_align_size - aligns the starting file offset of the record variable section. Note this is for the entire section, not individual records. o New error code * NC_ENOTENABLED indicates the API is available only when the corresponding feature is enabled. For example, nfmpi_inq_malloc_size() returns this error code when "--enable-debug" is not used at configure. * NC_EBAD_FILE corresponds to MPI error code MPI_ERR_BAD_FILE, meaning "Invalid file name (e.g., path name too long)." * NC_ENO_SPACE corresponds to MPI error code MPI_ERR_NO_SPACE, meaning "Not enough space." * NC_EQUOTA corresponds to MPI error code MPI_ERR_QUOTA, meaning "Quota exceeded." * NC_EMULTIDEFINE_FNC_ARGS corresponds to MPI error code MPI_ERR_NOT_SAME, meaning "inconsistent function arguments used in collective API." o New run-time environment variables * none o New example programs * Example programs now report if there is any PnetCDF internal malloc residues yet to be freed, if --enable-debug option is used at configure. * Under examples/C, three examples are added: create_open.c, get_vara.c, and global_attributes.c. File examples/README contains their descriptions. * Under examples/CXX, several example programs corresponding to those in examples/C are added. o New programs for I/O benchmarks * none o New test program * Many test programs now report if there is any PnetCDF internal malloc residues yet to be freed, if --enable-debug option is used at configure. * add tests for flexible APIs. The tests borrow from nc_test/test_write.c that tests nc_put_var1, nc_put_vara, nc_put_vars, and nc_put_varm. Similarly for get APIs. * testcases/record.c checks if the number of records is updated correctly. It writes to a variable's 2nd record followed by the 1st record. A call to ncmpi_inq_dim() or ncmpi_inq_dimlen() should report 2 records after the writes complete. * testcases/noclobber.c checks if error code NC_EEXIST can be returned correctly when NC_NOCLOBBER modes is used in ncmpi_create and in the meantime the file exists. * Some test programs are developed to run in parallel. The test mechanism for parallel runs is command "make ptest". Two environment variables can be used to set the MPI run command and output file directory: TEST_MPIRUN and TEST_OUTDIR. Their defaults are mpiexec and "." (current directory), respectively. For example, make ptest TEST_MPIRUN="aprun -n NP" TEST_OUTDIR=/scratch Note the keyword "NP" will be replaced by the different numbers of processes used to run the tests. The testing uses up to 8 MPI processes. * A sample PBS script file is provided to test "make ptest" on machines with a batch queue system: pbs.script. This example script can be submitted from the build root directory (where you run "make" command to build PnetCDF library). * For cross compile environment (and batch queue system), the environment variable TEST_SEQRUN can be used to set the MPI run command. For example, the command for testing sequential programs: make check TEST_SEQRUN="aprun -n 1" TEST_OUTDIR=/scratch For non-cross compile environment, there is no need to set the environment variables, as long as one can run the MPI executable without mpirun or mpiexec. o New optimization * none o New utility program * pnetcdf_version prints the version information of the PnetCDF library and command-line arguments used at configure o Other updates: * Revise FLASH-IO benchmark to use nonblocking APIs for both checkpoint and plot writes. The control variable to switch between nonblocking and blocking API is "use_nonblocking_io". Set it to .FALSE. in flash_benchmark_io.F90 to switch to blocking APIs. Using nonblocking APIs is now the default. * To match ncdump, ncmpidump now only supports one input file. * Makefiles are revised for better recursive make and fixed some build target dependency for parallel make. * File creation was revised for handling NC_CLOBBER and NC_NOCLOBBER modes. On systems where Unix calls access() and unlink() are available, they are used to check if a file exits and to delete an existing file. * subfiling is now enabled by default. Users can use --disable-subfiling to disable it * man page of ncmpigen is updated to add the description for option "-v" which lets users to specify the desired output file formats, e.g. CDF-1, CDF-2, or CDF-5. * flex, lex, bison, or yacc are no longer needed for building ncmpigen. o Bug fixes * fix ncmpigen.y on parsing CDL file to get the number of records. The bug failed the command "make b-test", due to getting a wrong number of records (current value for the unlimited dimension). * fix the update for number of records when writing to a record that is not the last record. - Update to version 1.4.1 o Bug fix: * Improve pnetcdf.inc portability for fixed/free-form Fortran programs o Fortran API syntax changes * For nfmpi_put_att and nf90mpi_put_att family, the intent modifier for the put buffer arguments are now declared as INTENT(IN). * For nfmpi_put_var* and nf90mpi_put_var family + On Big Endian machines, the the intent modifier for the put buffer arguments are now declared as INTENT(IN). + On Little Endian machines, the the intent modifier for the put buffer arguments are still declared as INTENT(INOUT). This is because PnetCDF does in-place byte-swap on user's put buffer. If user's buffer is declared as parameter, then segment fault can happen when PnetCDF tries to byte-swap a read-only memory. o Subfiling * Subfiling is a new PnetCDF feature that divides a file transparently into several smaller subfiles, each of which stores subarrays in CDF file formats. The file name supplied by the users serves as a master file that contains all metadata about array partitioning information among the subfiles. Because data partitioning is made transparently from users, data accessing is kept the same through the conventional PnetCDF APIs and the master file. * To enable this feature at configure time, add configure option "--enable-subfiling". - Update to version 1.4.0 o New APIs * Fortran 90 APIs (adopted from netcdf-fortran-4.2). All F90 APIs have prefix name "nf90mpi_". The APIs support function overloading. * get/put_varn_ for reading/writing a list of subrequests (each is specified by starts[i][ndims] and counts[i][ndims] for subrequest i. ndims is the number of dimension of the variable) to a single variable. * multiple put/get requests with explicit buffer type names: ncmpi_mput_var_type(), ncmpi_mput_var1_type(), ncmpi_mput_vara_type(), ncmpi_mput_vars_type(), ncmpi_mput_varm_type(). Similar for get APIs. "type" is one of the followings: text, schar, uchar, short, ushort, int, uint, long, float, double, longlong, or ulonglong. * ncmpi_inq_nreqs() reports the number of pending nonblocking requests * ncmpi_inq_header_size() reports the size of the file header * ncmpi_inq_header_extent() reports the space currently allocated for the file header, (also the file offset of the first variable) * ncmpi_inq_put_size() reports the write amount committed by far * ncmpi_inq_get_size() reports the read amount committed by far * ncmpi_sync_numrecs() a collective API that can be called in independent data mode to synchronize the number of records in memory across all processes, and update to the file if NC_SHARE is set. o Syntax change for Fortran put APIs * intent of buffer argument in all Fortran APIs is changed to inout, as byte-swap might be performed directly on the buffer. This change is for performance consideration. For example, if the buffer is declared as Fortran parameter, then compile will fail. o New PnetCDF hint * nc_header_read_chunk_size: PnetCDF reads the file headers in chunks. This hint indicates the chunk size (in bytes). The default is 256 KB. o New error code * NC_EINTOVERFLOW reports the error of 4-byte integer overflow. This usually happens due to MPI-IO data type constructor APIs' arguments using 4-byte integers. * Error codes to report metadata defined inconsistently across processes. o New run-time environment variables * PNETCDF_SAFE_MODE environment variable can be used to enable/disable the internal checking for data/argument consistency across all processes (by calling collective MPI_Allreduce). Set it to 1 to enable the checking. Default is 0, i.e. disabled. * PNETCDF_HINTS environment variable can be used to pass the I/O hints to PnetCDF library. Hints include both PnetCDF and MPI-IO hints. PNETCDF_HINTS is a string of hints separated by ";" and each hint is in the form of hint=value. E.g. romio_ds_write=disable;nc_header_align_size=1048576 If this environment variable is set, it overrides any values that were set by using calls to MPI_Info_set in the application code. o New example programs * example programs are now categorized into C, F77, and F90 directories * nonblocking_write.f and nonblocking_write.f90 are the Fortran version of nonblocking_write.c * put_varn_float.c for using the new APIs ncmpi_put_varn_float_all() put_varn_real.f and put_varn_real.f90 are the Fortran versions * put_varn_int.c, put_varn_int.f, and put_varn_int.f90, for using the new APIs ncmpi_put_varn_int_all() and nfmpi_put_varn_int_all() * hints.c, hints.f, and hints.f90 for using PnetCDF hints * flexible_api.c, flexible_api.f, and flexible_api.f90, for using blocking and nonblocking flexible APIs * mput.c for using ncmpi_mput_vara_all() to write a series of arbitrary start[] and count[] * block_cyclic.c, block_cyclic.f, and block_cyclic.f90 are for a * -(block-cyclic) 2D partitioning pattern * column_wise.c, for a *-cyclic 2D partitioning pattern * put_vara.c, put_vara.f, and put_var.f90 for using for nfmpi_put_vara_int_all() o New programs for I/O benchmarks * benchmarks/C/aggregation.c -- evaluate PnetCDF's performance on I/O aggregation across multiple requests with different data access patterns. * benchmarks/C/write_block_read_column.c -- writes variables and reads back using different data partitioning patterns * benchmarks/FLASH-IO -- I/O kernel of FLASH, a reacting hydrodynamics code developed at University of Chicago. This benchmark can be built independently from PnetCDF release. o New test program * test/F90 contains test programs adopted from netcdf-fortran-4.2 * test/nf90_test contains test programs adopted from test/nf_test * testcases/alignment_test.c -- test for header and fixed variable file offset alignments when entering redef mode * testcases/nonblocking.c -- test nonblocking APIs ncmpi_iput_vara_int() and ncmpi_iget_vara_int() * testcases/flexible.c -- test flexible API ncmpi_get_vara_int_all() using an MPI derived data type created by MPI_Type_create_hindex() * test/header/header_consistency.c -- test header inconsistency and see if inconsistent metadata is overwritten by root's o New semantics for attribute APIs in data mode o New synchronization for number of records o New optimization: I/O request aggregation pointer). o Other updates: * configure.in and Makefile.in have been revised to detect MPI compilers and other compile options automatically. * A new configure option "--disable-file-sync" to disable calling file sync. This is to be used when the underlying file system provides data consistency control. * add build recipe for IBM BGQ (e.g. Vesta/Mira/Cetus @ANL) in README.IBM * add build recipe for CRAY-XE6, Hopper @NERSC in README.CRAY * add build recipe for CRAY-XC30, Edison @NERSC in README.CRAY * add build recipe for Endeavour @ NASA in README.SGI * add declaration of flexible APIs for Fortran90 * "make testing" now hides most of the stdout. Use "make verbose_testing" for verbose output. * ncmpidump: add the command-line option "-k" to report the format of netCDF file. * ncvalid is renamed to ncmpivalid, a tool to validate the structure of netCDF files for conforming with CDF formats. * Fortran type NFMPI_OFFSET is removed. It was merely a shortcut to integer(KIND=MPI_OFFSET_KIND). Some Fortran 77 compiler does not recognize keyword KIND. In that case, please set MPIF77 to the MPI Fortran 90 compiler, e.g. ./configure MPIF77=mpif90 * configure now automatically checks Fortran module compile flags * Support additional Fortran netCDF data types: nf_ubyte, nf_ushort, nf_uint, nf_uint64, nf90_ubyte, nf90_ushort, nf90_uint, nf90_uint64. * Error codes and messages conform with netCDF's o Bug fixes * Argument unlimdimid of nfmpi_inq() returns -1 when no unlimited length dimension has been defined (to conform nf_inq()). * Argument varid of nfmpi_inq_varoffset() is fixed to be the C's varid plus one. * For collective APIs, many places have been changed to prevent program from hanging if a subset of the processes got errors. The fix will allow all processes participating the MPI collective calls in the PnetCDF, even if errors are detected on a subset of processes. * set the nonblocking request ID to NULL when the request length is zero * report error when bogus request IDs are passed in ncmpi_wait * when entering redef with different alignment hints, fixed-size variables' file starting offsets will only be changed when it is bigger than the old ones * Fix some Fortran API intent in/out argument declarations * ncmpi_def_var is fixed to detect if CDF-5 data types is used on CDF-1 or CDF-2 files. Error code NC_ESTRICTNC3 will return. - Update to version 1.3.1 (September 24, 2012) This release is primarily a bug-fix release, tidying up a few issues and incorporating some early feedback on our "buffered put" interface (see http://trac.mcs.anl.gov/projects/parallel-netcdf/wiki/BufferedInterface for more information) - add a new API ncmpi_inq_buffer_usage/nfmpi_inq_buffer_usage for inquiring the current usage of the internal buffer allocated by the "buffered"-put APIs. - bug fix to make bput APIs properly return error code NC_EINSUFFBUF. - bug fixes for ncmpidump to avoid residue contents from a previous read when it read beyond EOF. - bug fixes in the the tutorial example codes. - add more in-line comments for the tutorial example codes. - add the error string for error code NC_ENOENT. - Replace parallel-netcdf-1.3.0-destdir.patch with parallel-netcdf-1.6.1-destdir.patch. The patch accomplishes the same thing but is created new for the substantially different makefiles.xinomavro 16150332621.12.21.12.2-1.11.12.2-1.1includepnetcdfpnetcdf.hpnetcdf.incpnetcdf.modlibpnetcdf.sopkgconfigpnetcdf.pc/usr/lib/hpc/gnu7/mpich/pnetcdf/1.12.2//usr/lib/hpc/gnu7/mpich/pnetcdf/1.12.2/include//usr/lib/hpc/gnu7/mpich/pnetcdf/1.12.2/lib64//usr/lib/hpc/gnu7/mpich/pnetcdf/1.12.2/lib64/pkgconfig/-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:SLE-15-SP3:GA/standard/1c1fd31b7cc68f216163e3116397bf49-pnetcdf:gnu-mpich-hpccpioxz5ppc64le-suse-linuxdirectoryC++ source, ASCII textC source, ASCII textAlgol 68 source, ASCII textASCII text (gzip compressed data, from Unix)pkgconfig fileRRRRRRR R R R RRR RRRRRRR R R R RRR PRύwV&-.$l=utf-8ed9b1e23328d07dedca4b91a027dd901db6bbd201556cd23b204b50bf42b85c6? 7zXZ !t/ ] crt:bLL.bZRTa{V3 1o.1MU_TQم4 jk`VQhr9  {%SDENm@?%Y? g|f@Wa\̬_>#!&:>Ksu>ƈM!@C?hj J=:K%n(xw[@ީ@JOyS =}A{_~7GmDQ[{ԏ9SOlQEB 4w꼳Qʷ:a$A-MLȋu Dw$(O&m7{ j:%mc/?ҙB>wtͲl*\s++P'7 % `0ơαf0x4h#,7) n;ȮցRи EZtq H:._\uUA^N?3ⲥՂ;:zH3-(cWtJxAxt;ec(@4:!w* ox`jj[{0afp2BD\w lu ]d#S|w~%rhef4[P^/̏5,< ZT)P)) dc Qӄzr'|Y]Rmq,j;5. "D<>^q9nV{5 ma[kSȄNh;;C>[ Cym]xd > Shc6/vfR3s ) GCVcf](=`0Gq kF{#Ǣw}ѥ滀qO70@abUK\"?by0sQhKxa44_|㹎rcƎS:#`ס2|:;-(#'fٷtbϊ沣AE 䒏IW^8ݡhR63b~8}qkتDjxI;"X:~z<ο^F{Cmr +ȶ9P%K[*Ķ \mށ*փ bʩ&qZog`UGA54;@42GI[:T'A`^Ka&0uג5cemzhKF0Sܒ䬎LyU{OhC=U bbU`$͵{'7 e#u2Nb H[7A}M^^MZqZl/ I{$H*Cj`[~ruYzP\B 7a^0FXL/*urITIdWY% P}X)kv:E8@y4&\\Нuk790qt߳p2D QŹػ[N10IQNFv~⊔V)iXxi q+tR/;RzPkKyu.g446(]W+&ЪhZ c55Wfbl z&䪵O1HmܲF$RZgfiy6w% EyXT Bm8;)a@3ͽlnb%qV< 4UH9zSp$h, ? uǰ:#.vY8%5ahr-NXl"N/kpd,"d 8u^`Aڳ, ǘ;rL>;{dO%81 R3)e?!ks-`7+3] Q0q [fW: dXخx+X?p@Q.e )GuN+Rc:;0CӂnQ]L/e:,T8AΩ¡').!j?{*BD1^&ݺN ^`%hb!רp:"<-Jt‹t]>KQ &}i`VU{Cֺ-=aH pIq{ K b"wꙣ0pÎ֋.s =^+:/=>1d~WBBwV=|NNE?=$st b`mʉleºWyBk I SO/–F9?թnN.]3 YD[|UbH=22mon YM!%4' %{җY,. v>߁U[G5n4K^retuIE40v7Dsƃd}??UZg.S=ƨ8ZV5wA~9JG w:P %,;2,0Ch9zI8탂7O\E+z斤9̔mq "y\]9<6|2@G?K;ZoEz⹀‹8-ms+}Q 53eR /95EXl̤1sF *I${ .LDK|~ZܕkF)mOhZqZaey?޸{nkf+a?k'p)EH?,mCP4ǺѨ@ ;}S+E_ϠztZw?Vu/'3rQ~p^UMSS1ݸdfh(eѹ, qɌ[A=vP1䱾ɠz_X#P7=26S[^[єD ›Hi ?S|NwNVͱ)-g<^*`%\&7eKL2< 嵨_Gp iU$pD`ƫ\?bbk}%/b}PIKB`Pv?ݽfB |zW<@b`î!Uʡv!}8P{]6U?t%f籪2Aa2 gTU,4Z쳀10?jo7  rzG$-bEod9YA>_,=|7t2uni|7 \lj@e.qs"ZfnJꤦX&YBiCw\HXb>EPW߾a!zpܯpQA:ZL$b]HYJ.}/7K®Ix7Ap/Ч^w2@$Z)<__ 6;߹ճ3pė\|6qAXcN-%V\r+ߝb+*~F1tR1nkC hw[ $I9Ϡ)BT4ߌƗZ!YyXTT$rrɲi85؃laH6̵-MB'KD!.6pbr@ ,˟vt:'\@+YBK/mֲ$xʶ7k9$LQ`Ilq ښpviF a>rYٱn_1 e(Ur^l6k0(OZjc vp?]0IFg.<-b= 6ك͎VpB$b7|3a1Ф ty el6-+ 4x?Ȁ6LLU|22VaWn E `g |9C=i.N;-IcGVМcgu\56o/DJuHiFWo #`eߵx4ʵn+N b^Y – ?y}{IuY-ǃN НT.,:~8IC"QB M0߿̻d?MKV,-}GpЊb >#u1ڴ&Y D?LGJ|;MN&"ʣU>_3LF 3^gpL.~. ].c[\k}Pm24}4%=$nm),xDxߵ[bjHbI kS4- pn"#x_[غ f-/qA&O\49 Aaf׀ YJw5zW[w7w@[wXE],p'ߣ 2+O3BMBе!5DokVZFQ}r 1]+6Yhb )xՀ 49v o&]w*쎸c # myl-]C*}RשH8V-pCKc^:9+JqLL(J/B`V ۅbXGp_TF0ĪYGu#Jn)K@6{U@~jgyl38;,\ ;'o0d#15&nqy( _Lrppoեj_jP%jP )!*c E 9߆d%g>S DԽ*ƣ&Y_ 2&:if #Z)5 P%JMB0Cȥ>iAǖEMZoBrk. v*~%mc7ʿɈƶl= K#EXD |Up[DzWti&vuG 2IJ}d fjP܏9=]h*)'XߎVvwI&H+CR"S&f(b׍zRģPe-v*ϥh0*x>dQ'Edz@LBf!5myݓ\]1G`ؘeB455C^Gx?.ȮO.[0L<0zBR1]̗iJ2r({_tgK*Y*)SֆA, e0V[F Gjl:)~`  wkzNc3G0Pe1RNXw F%d8tT"1k ߵ}vz_ gҞS)ꋛp@EA[ۦ]Ij_(ԆSyR rLm=wN*#XjЄbPmM]qELG쉗-t#YKUz=uAPe޶14 CC@rvAg3L$V躖J(YW{w98(&yЁT]ZQTg32̑-aw޸wlrThRE ٚWhrϡsيAqnObT&yk!upSlQ1ʐԹ hSODhY֛܎-e͇ѣi4! RRcK K3/+&}R,Y!AS‡k!n?ɵC1RU)_PszfG>6rےMx-{b e+] 1~DdZ4>v&#|l-4rk m"if̗B5o&AP9VxTLbסgJϯY]-]7vFohީz;;0ۊv]B{ U5m?4+PiⳃL)q1DE]Ql &D$7vYks&:l䨅8A5 - h q\UtJ_ (m(me}o?Xn7|Ha#+KLV(1>#f *uᅭD߿,}}qz1(wj6 Fo5 oo󒬫pWUj.>E50b h&9nzf-sѣcݹ#2^vɞ[M ;R-ڔ ЀPOt<B+Jf]AAugWuAI D_{I`3RNSCjm,3fYؗ7EFKf2BD9!s/VЧX B~1(O!L훉 qfi։cU-} gZ;:k%u N  6z2 0BGuv϶'Zz<88G S(bgQWHJN6j:k7{E>b{qZ^gȢ S.s'ZQL[$&=UfHEUxfs; H/ â#.9Q %j^BtU!ذb/&s&#|f!gGB4 3,+2IeLN!Y+dH!u cH#1E{;^p 1~NK\8ވ{@6ЫݫqAơUXnt\_2Ht8/Q},hk=?hzYwql}c{: '?^4sᛯyv'E!ɾ͘P4 Г_R sITX:SOZs`%C]ct>YFI"'lu۳vڻ.5ƒ{,"W I]j&F'F.UtҫjaXC_kJ1Q05U#o @Q) ל5,v x>7G?뙄7gi̗؋C W|˃G=>5^)[KSQ1癅^SN|Ta(+Vp g҃?;<1f귻#Jy*j`JO>qW _K  A/nɫLA8o4vPޯ.مغ-'ZӸhzc,p46ЯkZM"w?ۥICW,WD>\1[X}w[ obo̞wklw"Tw. ,r#"/!Ζi=nTWS'VFӝIl^ uTqh?: ]`LgiPOMSuuþ.qH+TUD^ }Z̡ mqA,wSJU MOŲ1l;! " _- 74SGxgGzQya \DXCܪ<< Mٿ#NeZT-TstY2lt@jF3]Y7yɁ@Os2MV+tt'p|/) gDhA$f uj};*0e-/H=8d_Ibic&2m̞}ïvsa2&ON71&t4y1i5=1H" &eQ:Mk;BX Usio<y"* Cj YVbHcQټҐ@ f1}"ZB/&X[&B,[Jz8DB0tV)#,a0/hko%g~WC\ݎH}_rZűkJG\Y"vzdQeoFûVe05A-x uٔ=1C`QVY*]4XPT]682~Dse-7ev<|*IV-_dZ;g\9o)$R k%UNE[oZH2jl@"ygWyR?Tx@Mʰo0WWP(j>,N:,7.NN,[z.iJ\Nv*6G#C`a;*> %jSƼED\AEhd(pFDUiGk&EZY 'c9W44}]~=v[tf pUJH_Qm_9۷& puZXݑ>7 h>MFH@\|zr,~W1SԗQ%oc489Xe %2wѺX ϳ k8&FW+ к?F l6F~' dY#?ձw)_|{殹@M[`d[5|(@Cث01GXvrϦ.a{cFJd_<;{R T(k7C?%Z"n-"V֑.ZD?/YhI#sr"u|aܜG&s+:0z=bP9W+sS~OT2UzK0P\tQuCg¤9#ޡ`9>ˬOD c^ |]ɠNx|/%+Nii5ى˅)i$BoWseGFJy;'RNٵjÓHU W`urA H傣}TUb+CdQ2c4 g|>?≯ LQɸDR}H~M+.V uӖ#IskC4. 4r2W,[4NmcV[D[S"||m}ŽANlJPaLkH^k@¸1gG[k)vxt,!A~!@8hv5] ~&bN}HM$ʳ13: L Շjt>ԃjng3'y\28WJx55G>#$n@CN4WCsmGHJyϔYhfH퉋F|PZ)!Ap}aYls/VRg#W.[HLQWao]Lwd꣩er-nL}qW%EQB^NAeƆ;z @_bl|\nn DZّW$Om1s9Ec,NMX.k'(GDNb L&:*!1 tj9yN%SIP,<=&tn =5)A I4'@? Ey*,N#.UaiWFs;I$=X7uDuH@W!nrg(@8H~OuseP\Lo wC^ρ`85@ x=Eцm @] },hc%Ë3Z%mяibIaǾ'tޗgmֱ)UIʝ<(G-AAVχ/1B6t2m>|ony*H Qe$lvZݼ> G]/n?_8> $D*3kUG"t]ط`qӊh&\P#݅\| ɪuG#,ds|,fUU>.B 5E'{ 4=og}$ QGIz^}ԱH́8 _ n<LdnM)H^>MDnrh>R<=AaGNvNlQ>Qdѧq7$G^/% 0[ڭn0 kftkoONkzFo'UW༫qW^a [p ޲t1|n3. fSĆ]הjT+Z>S MfJ a7E^ܹ+-@KW-ꡐ.DDih|~r}}Zk?JviOr|ȢrۛidJcȋ|'sw6>X-@ͽk/&S+LIJjB?KL»6@0QYT!IFdn|ق+yCulZILDS;kϺMJ`'OSj{r "Nn1 6I+xu3ԞM^T1X4r &n!V R/>M\$iGVLeQ偶V(n5Z&͸ά1FιTA*|lp=XK0YKdfةUC()j S+0|=..,wWOƛ3e~Z.c<){2/X*L?#$Mvx\5*h nV pJImvȵ _"(ڷɜ:>"ekRӛۑ̰M2Wm8Xf33./c? `zu ɭ[e4.$r*~ vUrŭÌ#HJxm(Y%btl" l wuwj5ܗeu \4`-s+Kj>¨eJ"@Hn-2?ǘ*e g*ۜqUSܽ޵&؆ vz.-dwXPH޻,e<&Zh4l@@0>Y;Ī $[L_^Txi x6Fʭa'(9S`pӊ[\mDp;~H7DJ;1-U&=YѼk *(=0׌/DmO9c6#"Vvd* L䚈ErWk=aAt xwU] !›MT Bw3KLĩ66 Ph'xX0i iY/φé`]=W$u HlRz\y̺, $S.x^Ƞ^5 as9R n`oȝ 3+ $PWWkM+W8uV4yDYEq]_D`y6֋*%m9kHW4b]u Zx(ٌ zNFׂ"}ya 62%f_,aTѕȌ2Kz[<-`knAA2ȟxL`žhd~@[O¨n/SI:UAm0R9&n4&n{E9ᨸ +%YE^FuqoG?&lt*x:R1\F-ï+i5^^JR0]H̩r43qًfrm C;4]{aq,*,}b"a cDp4Yg_BPa˗ա{.` s4[ʋ'! T̘@0ERɽP/UU@= jE,Dj!1L )+_&eRu|w~׶C.="LwEچP&ayH\Mm_/ 9!S-aט^h 0, VWRzd-{U KSʙlr9&AE dM1rSKz=>a Fo;9[KPWܬ$]UC@'i'+??C&CL0OY7D|B ,?m@s$u :c]'"4i<&X5kQqB6n`!kO|^tp^}%vs%$ #cO11sܟG 0~Y,]y| zbJf܇kZu$/փ$ 6_E Z_(ϥ"e릶кiDpxT}jv Qhm+@SĪ,. 8@NԮbD1l Hl3.Nd&:j^pkIHT#yrNLؿ:tkkj[]d_ 㿄!!@#Sկri 3z{`| 7V}mN-2Dže% xEr3ݲ:㢴U%(VBk4˯.rsBmmc\'lkט ژmf=)q渖`Svo/a廪[l|na*l0F?p< zr HOY[$茸R?`Bp/Pm3b5}uŊ%YN4Qb@@6\V0Nb.%5ћ$a`O]"r>2., dߟ@uP?FQL˗NRTЛ` ADKP;wNlwL+'N6$'GI/9Mmڲy2^\-Tl}qr gI;@r-i ',CY MCF% Lq-amdl䣵4F <2W: =0#G h>XXs)8IwX 2aI;+~*)~poƾ {?)CIyYj]Y*t;uE8)GBH-pH"Ɠ5.jo&J#CA黌 R+ćJ7.jxz-&cvcIݒ,ІVx짳]uׅ ^`M]t3fѫ'ռB<^ }=zfU ^x?A S;C6DYFi)z4!EԾ*w^RO ezK?#?b.V|L3ưa4" sRoKGOqJc`/w~lu% ]7sq9IN\֐¦uu%$u9.&z#2/T˞(Fc?; F<7 ű\YFzUu9ui̮Xpve&jkYl~fs'^D7Rxe<\<:?Ba(kkr5ڟ^Y-J[tdDR( cm # NEx ǮևKv^#Q?bL/WI.Jf&O]i(@t cpr& `N,]E]Lq~ze"Ր5t AKP/Q*UU*ִH$O:6P}j{|gE&ik8xV"Z@ v-:(=iB?|EaԮrݎP$1g/eh^ uɀOE7^J20}AeLm.QK󢆢- ? f?R~zer9.3tSZ@.2T_+LuVKcچ4R)Yθ iD{?苶w{H*l:4K]ޟ˘;3Ufgl(-<4ɠjCpv70Y+*3vn/܇hHbdڌ2>[>Fy8֬c,e kcLG&Z|yܜQfW,Pbb6pos2kO0o7݉i94zbi[b RO!pZK4s^_KU$jmkO踹Րfo)_H1>ڐp _t ev/MͬAdm01lA沎E60"A)\qC=$]Ic͈CI '&#tI^ ƽ=#=g"?Y%Ed4ӄZD+@d@OXxyٵɀ{Z2ޢD⡏Ūd#{O '[116- TCZ\-g7)ܠlϴ|(ȿ9*Uv.QN}&Qc{ˋrOvtKqok28mX$zG?!Z40,G1V {cw|j#ޚnQ'I`iQJE9GIOM;6莣 7;6>W&0*sapw0) ywݿLQH n/S'E'~Yx@ҍ0b#t@(@ 9n~p1!mo}ܠx#R͂arcuOߺCcQiHnO~tka;1? @B29{[tQ7퉎] Ǵ~u@u*Tc@"0b,j`øs︡h\y& JatI>Fk Dw)uo7!\Я2?->QѩObo+Jq` O1YՔ{1! gm;{'ߣq>1W Z1լ =nο,%޸r{AIӗ P%c#5PQd:=ɳ,T!75j^v^!#,an|uˍ= w(˜܀MdFiMGE-fuw j=|lU ;Fpςҩ%0+Ћ_n9s0~0*Nա^l: #c X i:]I.v̿$~jļ$r1FTy>/–}MTNl@6˧/,T1UZGNx}?m@ 'F ]` }k fY! 6sRWM49w6>-J%r OrCeblLo4q=AKH%YUĨN 5*\ȧT1Y|#9Tm}_MZMqc"&3 *Q:VvRF{w:ZxT.B+`Y o:B+dqBgtԔ7[23u)#¬=ӄKv6z 5>> ݧm|U(*EAqPM&A8g5VKh/N1ɖǰ}vkWlla=$q$ \5x \5UjTC4(\/-gq@!&'x$:k ?bޥ>%<3$o^TwJdE/Cb)#\ հJfGdmv:yH5yUDȄ7~%L V ޴-.8{RBFe-{ᨄQ.bSϰ3A]emܯptheTwgm KX>*I1e4X=@ VS=Q1amӫ|QuQV@Y0(0c^}’Y䢐 qdQIȻ tsC|w?م.haV.Ps"9L_3S16)vܡL*~rFc@o7E#J ᘘi=Grv}!p]O5?w%&)/wqgϟ0-lܯhD=LrOض~3oԜmn?f,̒-8NBS趹qlSLW\&(&QV* 3=ue+2AnS^S_|׆yW gPB{wS1T=mȶ鎛1j9\l6ES/%(}VL)p83KB{lc g &ێO]3R+Mk5!%N꼜}}M.>ц~^JHhC}f*.A*\:`zWK9Ae0Uk+;9x%|G|Xo +5Y%)1WucM.oLe=}8BQBY_xG _qYxY܊>b6 TL{A=VJL.V:[Mi&u6_Ge,?޳Wqo UmA }]+⣧n̊"7?} PhfBܙqs[*:(EO}Hb 2A[TR0CD| +ǎ3(_"}uT*.Sޜ}#LdgօWt3[P )w'dt*cu8z/Ӿ*`rP>>Oqo5჈&~hp.–B &01 -7g*uouC {V#֡ʮWH\a:TeLs6814CsL$>m6_?WzgEY\60{-T"]HKFH<4-;Q@' Wo}GYdAGw|rf7r΂Vɬ<^XZ5^XL(hu9N's#]ra,ṢͿ<;~;B3IKoPy;=`CV`W>9^aVxbkv<p=9L  ݬDcpřJFvc*^ܯEnme a͝B! _.~v@nPOJVaZ{H3/>u k[m{7Ǻ߆:8^,h| ȗXM^ذ?…C &ZgU/C֔Y .ju6oţ3zXLx@Z0b7**>$|iqՇGtk#z% NQ,Ŷc5D?+o|UkRNIˌk`s)drѢ[/C&Zq25:Qxwۨ,΍ _VHq4fe0OE$He!H9ڐHہs/yIHQ N=ԣ]^ȳHC|WYJDˑ0:݈?bSB6C\6@5|;[/ #)`Y"H*B$^[8<Gተ0նKit{V7dcoN׋bK]>RsW; dU @p)[eO~NNUEeЪ7_e!{wBFЖh7, ,ҪV92,ɗ[ 챾yM46Y`]ZjىOyӵI֎)S:N3#pf 30^Hw={&w)hM*X6R I=*wTXQ+`,Bi\kc 䔢:liCY}>~qb{Ca#hOaP&~!OphO35ONL`&O5 n9`mLz뤅Kau2ҿt }RP} ~J{GF}D: X M{oIT/1 ]lC@Xo.A8dcߧa\oͿ] v$?L](Y8;4*[/'X Xz )L._T~2˓Z,26#t"3񊳪e2\`ݸ(!rZ~pvcmk646ZFxxWG%<3%+;湻1 w`B/n\b-Ƙciu>.$DQiѿT[xR,\J.C gnbiwoG15j|(-0O+-8I)Lh8Rg~+Q#*zfϔc!e GؒSa7:YFX}4D$ AJۣ2=!V7"ԆRLp191e,nƬP8G\_r@>~BS|[`-Dǖ ^< mr.Ѽ~y=zDO݅S|= ጠf;6}eBhH rj`O|Wsx}<[M+{Dp(.|uE c}4hH\P8|us T2Ѹ cgÖ˱G8p%c,;&v%Gy, b7 #M<~iҎgEc[~xAtJʴ}q}àʔ, T9q*[9pZGHt1`5J4͎kn_8] ΍W#R\::*+%Tу;r_ IƛK@D)Wb!t÷(nŽ:O>I!ş|M޾/_tEp4{qv!ۭu᎛ȷOiz*@>P:ga\?78jƭ>%L'bMn^;9̪#I; scH{r*n!1ι0;ԙa5\/y1)5ٓ)YYYC f D4 ARw; ps]J.%X!Ws7A6sSgyB byg@Xzט=&`G7-}!D0V$-T;0eGFM vry`ZNUk\(W,ݛYYFTLkaqfv,35+N\턤a7ILSg`yd*ұDjݢݴGpIml,$XsxE (fh w_9Xs{D!X`B÷MRR.1=о=.PAe+,)=D_?(ݎhfd Eė0pSm'}蓺v#Xq|ga]M?6 TBѶT!Yz,O c4eW4RKژ.*)_!T!ջ{4ǹG|LjlyY /Y?x@LQ ș}_X{ΊQf<=+:=14wT׏Lj*Yks7<*PC;)W>w1H9CS&EfHm" OKPJj3_H7lp{F> W]nz5 .ɥTx"q:t]L+A^d;x!~ҌpDWΚ /=vl~7bu~O(ϊŊ̽d*EEob^ŹcYxMLB3佤]mag%H߳J訠\`}r6*^^)X#J θ(;hd_ w3zG54jɁrNPFE|TUa":y6ю uS (6XA`hBB@E\d!">DJ\k86avUdM믕~s/ė:;i*6J#,+k|H/? BCqVNYeTl"sO.:pVopy֍8zG+) u]=|}Ƶ2Mk䩔-0.m,,c*)3ep;&{59ɂ,>$]4I$ gigEξ O,媬kGN\{`nW)0Oښz9F\  uMɾ (S86cX!X0׃+SUksڶLe._ NÂVƳDMEU$tLym%}|Wa31r0ϻjyr MD|g/|M#\.J˒V w:=XmڑMn#d,dI5 &WrZmۊosF}I^k=mc..4V|ըR} w$BgmԔz#[);U*-"ͤYH#_3? Fxv|Æ sJ =0L'"Ĉ'b$fI< Z(=^_W{'D=~5(^v>PeYNQ`WyQFXx\V~2R'p:U?+I\a~}Bg00Ȑ*[L 1rc&iYmȠi jz3Xȼ/ 2 rl! ±qI-< 9|b5r#iz%@4,h`5"yO?ztj@63ǰCT{"*tܭ<t9̫07HU千q$Ԗ!mC&v{6m\‚&Ig#k֕?/)H v#$>a62mL67ksg 3&{bBLl_gIn'6q>U)@Sm56f#ǀ7)|ba@׭H1Rtoڀh ih@1ປZOntMI7遼3bbc:X җF]{dz-}*OjJMS\a ඞTP廜J*:xMbIO(co8L)d'O5P\W _ZjNr ^"nP];=BMeCiKniyP>,ӬNSkU BdHnD~ZYiP%Jd:ae緕KN{*9xG0H>joH~Rꆋ DqP oLQ'Wr^+vrV0Tc~3\>Q}V3`u@-|GK* H)U*J& 2P"»DrR̈QޒN#krAQ'P &vA`~5W*cCV]pVvM 7c0h>Db6%5R`I .T_C.w-%k O/l[Ƈ "-R|-[_uͱO4WǮP_T+ӄIɏǼOV< ~MmbK gR$qˆZ&(6FlN _R Y_UtPyjּA{u ;PH5I9&+1V[?$U~bQ+_w{wkIkBg Nb YpD~0[/5-( qm.@`nw9Dָb(X P# D!Rk#)$.TKx^QDtk WPMC@`"*)ks8DGǧxdxF} \H`"LjR^][hoTIIK 4T߯%p7"]Vx4 <`G6 ܏O{㄰>>Q=5/|Hh"ZY v1>̕` a02fo|Iy9Q-2oI60{bh ^ز3HQtg,$[妲g~cSZ _Ġbg?7L2 \ ]*r|!W uZ\gY+ Pk4 0O" GZƚ|DCJ.=> 1 ~9)UB>tp'[+O;K1L!+,ؙrqN&vDLJآ!$jn iOׂ8#~c0SawW3$eqQbb&PB_N x~ȳɠ-wh+Z a\HHxQԝb3-D/"k)S]y];VodT b*\Нf!3V9Z1j"+2jҚfA@]{cwhK,)dòM̙^K:=hGUF"U<ʆ 2c<)Hb!(Onj"pPq-2]^>ߗ9wLct%}fQRkp M̘  ylﰹMH~w֍p6J$o7s(l^Jk8.e;8d-dțτ ᑌo0 LX溓|ґKӇ\zs4 YR G)@_}ڙUWkķa]x췸t4>V`trg}LwHau dDUq+M:2d)u'XǿNrȡEnsRY!A徜Ql*'VՁgZ81M]Z\QS[P짽%5u*ꬎ8{oN'U$rx,=r:22gUCczdSl>ľۤk愲[|eXq}@\'΀mRIPBBqe-N-Bz~k,kF]L?zrSZ<ֵA91$y -$h Rr#^b ޙ鯔Cqa>3X̜CP|;O5gey]S# G7PJ~<Ҭ@ؓ+ X Luޅޫ E]\$5u҉~(“fu7 TaD+hƪ7ؐ/XHC|oߠ 2Z+h0]onAT(t'zɗk}IA%#ٌ{},jel ſ`'. {E&QW6FfG'H_PCVr(d~ *c9d;ocYqDHlDL 2Q SEĹE\%~)t,:"VlT3JK`edܸ(PmlX{LNN8B 5c7By^C![28XC2Z+5_8_j "4_LCwuxtxoari!+[Ig&u=GFX)^O9&8!ṇvE}SKL.Lm !=jݠINbKbW.6R:f Q\eFUkMN]vN{fG(,<0ϩ%Nٗ?E-j%rt6wjV5_I9#QC55KsM-/>P.r ldp.yJx lKF&bVYV.͛ %uafuBoƢ{X1%i`mQNH,rtSʊ\;x]2@yϟ'fg^sc@C@E b0hTIXC7%АB|Ϗί-0~bN/r3;sM>$ulؠ0?GEԙ%ޠb6eS0`U`"IʠNn${`灺+<< ?&ZQ:nCzGB=60צU'NBQ}=mŘx>I-_[}+R\B֯d4dH SCpZ90$%z53*AD͚Z)(lN~)n&cALYB2eQD;sZN΄b'do v<+X߯4}~jSu$a0΅鱌$X~dcoڱ~ hSE ym356.˲`Fn}x>}bvҡt.5"9 ٠qGUcYur43{; [hԋ|jS~Y7Jf1oK\(kdcxeky=:\x3;]`9ۤ:W Èfi"ZS zٮL%==E53~0"mUǰÁ'U/9)ziZ_V/3.3w7R ׸`r0=b@Hw֢]{o9f?6Pmĩѿ5^>UƒT~]@>a6C?|U1^(S;FҡLyKBfgnu17b ClBG :N ٗ+ܪn_N0cԜit5CWD6^m2fOf\Q4mT$4O@j=8eCr-Х :!sgH,v 5 8~`[ma$ڰ."[O`EQμ>UU\84Zjf+wwo-LftU : G3d.Sk;o(2/΃-D&gm's,ӷԞJŴƋ"3FwjުW{.CjiC6fC?i34"@jLԝDc3a#! em\׻ฝ9 m3b֜5MrztI)%*qS<=^qL/og'$ '뇆&0\5gjO"IDg:G)X:H/3X}Ɛ{HZ;=b1W6GmBASɶ v<5i!C<ٵ~$IT}J$Rg y(n'LmE^%T}5CGNN,Zw4ՃNT2ARӜSKf~.G"(=dn~L:PoCI`M刘We8r%o(Xnد:m"x>U@IU2la{ʣ/s6Ne T m^3ㅵ`…Yuiz@*Gܨ}Hpco8w5hmnN7V"0v%d5#̗5 b4p}ZP8ڃoP:Uқ{0z 8 xg~={_6}D%z/G27{\te^eVKՙI{ :JW)xEBd\7 uX]rY ck["z'o$C@:DO#/P>*C~YHa/Y(_]?W^ ܟG]ȁWfѺi m% ZA`d+CüBI8> i* ddnTR[3 S%9R>pYmW?e^ޫyaKվO{q/Zc{URaeѓ?;%q$U=8QKcܢ6=OZx""h4<E^ :9o!bB1U9#S΅l`\gPREj,ƍ?9ϒ4em:d*_V" DI 懧A3GJ v3:l4<7|A(:?5&m;ťMGΝ<#K͝n)1eOL%s@x%m\T.3p2=F=rv w}ٔ8${~*j @ !vk!sf/l{hS~|Vdz&^TRfv=\f_ajQkMBNj Sksq?*Dm冹?ճ@JkAIx"bgQlcGj]b@O3Ւ8YwSEdB.nz8ֈ0{6>Z>"K,'6ݠ?&vSg$Ԋf~#d^N aTDP]"1t;9Sd¬fQ_YhgW#/$lQo4/Kzxn_o geV/󼥘&ΩX@˞fj^v𻲺CRVCģcfF k\3B3tSƦi簵a eIo 0 vg 4X$c.0tjA4d Ȗuq # enݫ 3x'AMH 9w$^)9FDX3䍋̫G5oJ6Iz)TJ#xN[iYƣ!}>ԓأLb,MBk>yUr!N1+9"=~l]]<(h.&*h.%0j3%Qm߱kY%?&|#T}y Yc{غӠKb@nmL xXPmSQ*A 6AK ]0SM]dT/~2W;INv ]?R/Gw>Këm4 *a ӱ!{ЙPC+3s` ]Zp*?&3L m)ah[]>060RU;2˰aKˤ٬iS4^Nuu8%)/VJvq+,)th 0 9ùG-p/{.t Q mYa ˱Y)d;7$@m,8u /JlX"%ԙ䧢RNNgSl#ÖQ)պ-07JhYFZ_XT?ëLѻaدqdsb`*K|iD/zlVj|@dߚ;MSaH8|RԦEۘddU9GHxg2|y>)^E,OXjX4/z`pPdF[,Q\G[5ZAp'?Hf!PV.<taKFYv<&m+-b{6GG YcR۷zkC) f˚߽~ϠU;?cxۙr H%N,}i#R~s0^~i(4yKCۙ1x[QG?+EMR %@OGۦcM@3;ulRJwʯ<01-1| z HAͻj8 ¬ku-m^d~]Q\M93$IsEjg+w`?w.cY>pJi$īigi#K>@C|@’)V:^gSwYiz94c{TY|bLq`k6TO5ZuYx˟(:xr)՞ 5"mg%DnG@op ,t3A~bX#Zg>#1SMZ,DS& L@l7̌&xR蚷si+-u+6I >PZ8A~sg`d$Qu'XTr!:֪_W,v1CY(2 ?o/ ,АAي/i ϋWN46nqj;+%@dk]QƇPh+?>m"o}y1Ti,M*}MAd Y6L %ɆW{EX1$O 3fqz\>z螬 &L_[a8ɱ˰~eݫh3!`1LcԂnvc:s"BF>nX3z\Oji șj~D c$&GϞU[#ُJIuҹ@GS2S_q:PmkX6Rw-}4H7Λ#2 wL7wAHغ2${?(p}|5.=2o:hW;;X]^ #=D0; | + Kc^8uV[0n!e4inA"c$G6FzerE6AԋDG&ԑqI4@&יA1}ceI|a=/@+33xM oU%llud(9od#bƉ߰AACfStbLa\w W&uDYL(F؛֗ǯi{-:#;$n1ܚch\w[IIxQ~RU'"n{lU1-S:bEۦbK;&[(b:|*ͧZV]gҋDIbRķk}B1՟+4]O4MmZJ&žӨ"LW|$w &[ӂƔBqF/r)Ec+.Wo l0+> ,"ۺF&y:`E uz*/ DU^KtmV2GTPwGa'Fw{F Gi~ ?U`sR )C7==YƏm?*X 4GM@W8@'0~&@ #hM>GQ3ƘpK!Pz5S"0O21R6DfICRtѷPǧlmot[Y$MI ~8AUY˧0K$ss/{l~68px!]gIX3}0}qrg];<`^L1b^}Ou~M%zK A_"Q`>Fokޥ(3sael5wmV[p8El~0@%B= V$Aj-),|DGBT<;ʯl*w,yWbZ1U:s.:v>w׿҅ddS#EiUzpHhEӂJjAڑm1G$O9h$8A<.!{$*LGy9cC%+| pfFe2,%3߹>aq;c63Esxհ'1@\Ғ0wIg QF_ʆgnmnJ[蟻Y$r9xCcѽ_}J5)݊ADU͕j{_JqAU˃~h;/&WY0,kDgLXʸcmYD cBY~.a4mW ew¾35R2H'#8y5$pagܘwDGc. yуh`b4(\9!`>!Y^s>G6L{$y=܇>{;GQ\El=!AuH7d[Vr EϪZ^~Jq0İŦOzt0tX07F۔3+?1Vf&Rq0oG7NnH%9yx{;\[+yT3+DcTـ @??}HJMXJ3 J[z+>k"v#NHH!aRFLz0b3 ax#w"*oxK V}xiR| vꭓ`tgcC.Y˽ilGk2=cÍ$IUz&K (v_)b ?jykSe;VNw.'Xm]EmȦx)68aL2@`By)9;o?LiT09"TRMYwh*\p&tdhQ/ .q.8`-"Kպ¸{bڕUX6 x]f*ݴ?K^dߩY^ysLZ&_#y=Tn9²DImaa*Fd~G'>OiBULOL{4Ф]&_i|E׷3IZ"~r2֦ڋПv3b V_7Mztd;RuB6gͦFV٘d3 )%(RvgdQXL w& #F68[o2kP7R@~{?) lLhfq qR XW+gBa yi$jG~/v8o^aXSuGqvL_ Qi* #ׂSr&%u dG)u2&FwyM&ڕJsd9uٖ-{* lt :D Ixh;(wͧ~J4+z G*D)<1 sD痮ZTz:4|.>|/Jŗ.å3e* A3恎UVrO[m2POB@I, iI%DZ/| (8zŴ4 CU Fꭴawn4XEjHv,Y xALTNsbby"QK1(L*6*Opl| hvy1b|ctA@-`>q{3޵:k GÏ[6]\ tbٵ}" !sMduPDGnNw-:&Z91m.o}"!)L7HQt/@!wB $v'9@cX#.SAku\ KD߳3ֿq'or9 w0]<JkrAkQoMٷks6b8%,xpMϚpV%}LR(5܄:0~eT/nΨ/B,B֬6:nEr%O[M!ؔ,d &IıK[@kRZP4o#ϴXt$]ъ aV)dI.i рVH8Yau]KͿ(7鍿2OZW0U_iU4h`?:̢12;˿ ȩ-Ć}'EYh2x?e2[fh`ito@wG0nD1x"r7ݬ8kw0zQt3 jbbѥgvb"LI H'[ӫ``ސ鰊pM> HLMmE@ kC%{; `9mxƂ.0aʯnkO{BGo6՜k1&ߍji'5TU* }-`g8{A{C1zx4^d*fHI粲-$R͗pTYlBe'A>a>*8[Qx, oz3Dݚ\7xDʒ.< x>r ) Wa\Jۿ( pJ T8f̭$Հו00 &3KgjC$[=7F5݋\K'6α\AVG[4voh܁X T<`:/=DtMFH~Dl;Mi K{d?!8sZE JTF&Ռ)P+BPe^gǟ6|~t yS'x&z_/dz&KTl `{O*s-|4SR,@ %`4^uù(1/RD"^dCzFDS[%5S˱P#}19iIg읒qł8#,JYMO#lB6B H:*Vܝu[$r.gg2IMksn¯1H "ah>p>.SpG;82_krQQf_@hG\M֡B8I+b~4Sc9/+=guɎh0 1o]` 2lG]L >+uKxpZI:B\Gdi >p?IH?g":s{_vձn.'0K]l44>KvJW?JS5DF(C-0bax9jU lanmCAXS!_Y6e_y%A!v 2$tFU%7sW92~~*8ȖEŠ6汞k-sIv껩.vArڵ6؝ lʬz@=cn0w:skݚ!#-PNB"R"朢WEGai]cRZ Ga],wHd:/gyԕTx=֗fh\>>x xڃfqЍjsφ ^$@#0gE:B,~ta"4^Lj>|M]+q,b_leZInҡϝTd{U]B-j3Dg7]<9i;7GqoA<\NCp#ھ|g]/3*Hʶu;;somAl)+ZY(DME6y^vV[ Xp[|r#JOc;{.: 'ʾ fNۯ)eȠl9_ 7/h-Ȫ.oT0by ߠ; kr}UH&PqPy\-\Cy&_dc1x_'[PN(zڬ긽eFk0j΁G(0 thU'h|p;SF:RoFV'ִ֨<,G}H I='R.As?d$}UEŨfeѳ7 Qh*H`\Z]㙿CJjLZL$k.|"epE8V]B]0́+Owk,XJUsw_2m[zE>ط J \B`m&.K=b]-#d)= Fԑ(>=0"ȺP>X#`LxZ?fbaym||ѩh?tTo7w`9tCq$s1mO th*6miECN}k)ȸe)Ӡ-IOÕRb;\Nz}q/trPAOVUGjj-ۯA쏏,z"->yGH##䓹_n.ph7dɋ FwQM=9Ҕ""YTr(#3,noCªkqb(cqN='#*.87KG>~0Kf֔Ε4 Y%*kА > БtɜGfM?V=\~ԧ2 @imM%fAS7q@GniX=k *"Ln8c]C@,3OuqՏ_[.wϗdŽ{6bN ç GRNw̠+@F@}rچA"-“{J|Cpʲao[m[5 ȟiI~՜'rD悏PMXsWpAv4zc=>%Ȑ_nHFDJš⒉篪Cf> qSUA_N:o8d?^1n^9IӪCBUS>&k>k usf a'laey䓺wNPF,|*5sX:|}UX¢6u5ҐIc>\y@W g~wX!=fA 4eo0 i|%@nO %eݜK"I{}kx7d- 0b <%F,nU ^; x\Ɲ퐆89 {t mmVSߪU3~ ~9\ 0W!p2uzOdyej"[zr۠R&MR4̬lCI(Q0yiN,b&˥蒗IŒ,_*kA2y596Տ<nxddgU#uY[CM̮%`~ɣJ DN9y󿘤Tڌc9c;W\/b`{"m^>rOf Jï2S([D>-kN SaiCLp0~l cOq"yoT A)zWp^ϝ3mu,Iʒ Ff(3{ 3ۿmMAҝ/{oc&0Vxygii[~ "3Rq3[ʑnN4n)ωvr]᤹K qjrIMh/R٣ÐNR@{t$n2 rkfwJqtgegu֔K ^ j_ Ֆ-v#C}i@j?+7j]^l*&/ L7\ۆ4C65e3o8/kړ2r- |Xj6Җ`=[v.Dqm`:F`UOzZ<#:O@0~TO@ߜcEcbDN8?.%)MMwROp`}C *ÔMeY566}"-Hc rYf1|VƓLhmdlma)G ^l0\ɍG|i1`Y B8B˧HSL%-"/ /(uMѡ8: /-ȹ2U%- 3I^}8d&`N(gZy 5F ϡշ&*<-ܣMQ!/ /Wyp?%:Ra,XJzYcQ%gn6[{lAm.Sxnz~MFqy8Wm9h| QW*3{$B8O=2#.'m+TC=b2hN%z;K˶ܤܔ r"wrZcT[>BO WQ9†ˆ6A(^Jgt;$ :p>`~t0ԩG(}PI W=r}ѺAC$0%XLU:%OUE5{%JˉLmk'3nۂ29jo*WmKnIG=՛ȭG!룡59a#5FWWMdc3\E1 uF0>u70]BF a')WU3za>&fU%=x!# ~/&Vr%Hՙ[ls1 (gVdذذwbU$v\,w@Y.oi~ |yQs:&,GjsS`=[6cI,xQPz)^Z1o3h gz/}JD2:HsoB-{wlouяsU݇]:N"Rʼn]<{d'rUr~&0YNI=kg?@#m=0%a͢طYh04bQxfNnT:I'(g_n~*Cy9](t[ZFg+tT~Q4L|60J|t:|ڵ'}Vz1}w}yV%E|!r#M}!5#vɠ-}{>@ނuA=Fx@ұwND{=;}dԆP~Aj(_*=FM{^y&G$^>RPJ48kEGMib ȓ;MW-/ H`2ˏ JPsY#:eB2uMCEVDUX|YZP2<4[t !  Η釩4|QɿL:z+Flxچ ʺi3V )1е"]&x;x%8dwݹ\ļ:lFr!(dLl# iɻefM" ݈Ig2t@|L-FQrqg\a蒟~w6v  t}HÃ(Nn>%zgOUQ-; tzcUZ8kn~:*!R/*ȥ442 +(frF=eLl $cCmm +m:.H?jiV>0lQ8\dz{MmpFBcF~xx)/W|Q҈4@@>UXT EO,y G/{t4Өp2䐿UŤ^hqc e=?@(|_ôCXBiF1'. "cR ϟHEP9/.Dy 1 |<4>c2ΐ gNf X&bY$U9 a5SL1 t|551<ɱ W~Y; 56>@&eQ0,La ^iAFa' [T Cנآ&[mW=E,䶙rCZ BhsKK>gUESҪ|^Fp>x^O:ljp޽_9c3ɨb鍝 5*AJf2pQsCJ(zј.mJڽ6*:S(geQ6/пQTSE kM=[]OQ!_ǑPuD3 QJC[JvDn^!U,x%ƛLȔq=vCjow[#գ8]_ ;I#--ݏۧ6b:' x}ۡ)~6Id׾Uhu'[_Ӈ)Jh Ũ< (&遑 Zt0mhQv'"C 9J M%{&Yk@U(15x'`W=Azɢz-NDI~N ŷVNI 9`>^EEɰf찚'wƊPCb$CT+<1Yxbbb=N&n=-8epHY0aec=y -LU+̝,k^o<wܺL9b-hC@Q0[fP ZƎ; t`W2sb`~E^3u!ecyg&t2Yзfw^ת Bu <* &9XpCfm)-} }Đs֣Fm֠.nyaTYW`kޮav)K$-΂ro׸Xa@eamMPE >D|3EzA,6"2@^'䳫29"ЂTՌ"f>Rjlk 3FS޶o+H hF 6Jm_ я۔kA/TVv޼~MdǩZ^_4;z~Tq{cx*Tk ҄d>rM]SW@. J9܁ h *{ľcFb?e0M/w{h6 j2wٺn+9Q*S3ֶR~!pQuAj>>H|? IZxr%7[꽸 o".~҅U!NR0F'.U2jh|"G92}Vg }aɎ&$swDo6EF`?օ ]QHXU'z/و%1GUDݕ%A o{/U 73y;9 ~87~f*sI;r7\xUFX#Tb~˟,DUϑ_Lα=b~g~S'@x*cP`n/Wfx~ բoe!vNKն%c_DWs}9/{m]h]E L[J2oXWձrp+D</(qArR(unՙp)x4sQ3W[+M!"iWI3ǪIG7{JBR2)"|H`1'OQ:2ju6KDޝ)(精I(۠ߊ Hˇ3j2KX gMr!ݰoWm?Ķq(-A'/>t&o^%vP:y$E5Ge W}MElS p֕ : crÊņ6_b!@Х+E+dԚKP%ӎ-갰 ++{]AY0qtz/ m]F0mTN%c.rjJ b)U $%uC2xjoi!)~ A//L.E'PWMN3'hfLzu çfXx%+mOmw h/HoQUc[U`BݣWͮh.cBt]zKmZb,vWƪt~qL\:D1kFsw??r ~:Q_kN}z<> v{I8K6?mGi1y('0ٜ:';KJ墑*Z[heUnR8}]UH:MbcHHDˌX0mX$JS>gW j3TLw" fBRl*lռ&u`1jWAOB\<ӿ$ s)Mu[q!!^f*~‹ָ! zcr7];H>kq}NGXkfg(>}*]ul܏EGqCF̿t&4S]1M}Q嶋 ;0 jod_e7F<X 7[t+WSiJ=}-fJ7 .^.yrbIk7^Sޑ]pw4nZvw@NY 0OrX*@i:WZ 5 GۢM̺Hm&`{ =k淂3L_ >}?Z)Ͳf0kjZ=kCRɁm3k0~e\ŰWQҼ:kUĀ&̧eJ[J>o^=`'wd`AHn1tW? c UEJItnqx,)*r"V` 5gnF(2.qE\(#aAEdъw:O*m,SKgÊO#(nx<)g%! h":F[4/KGPԍECWm"h?/h\E|lzڷwv}$ <)C㓾c4r0,z9Cjϖld. 3@ G&G4?,1/-IE1F _m_5iʑA8 = Ipt X~GC E:eb>6wC-tb8K9.TjK杠Wѕ3K%4<4,$WhWPTGk {/#^;&a=c)#yT3 jpt1l1r' {:Ho tKyޕSyɄ,9q8dkp-!.E??/SWG_"10,-XBhFL|?& h<\gF}Gw31'hfXLT|mj -򟁘ᾪXܘ)YWǪ'=m@w2*]0zy8x# NMy{m$Ӝ멪 3Rz3zF˯9QnLr7Iwn({&T'SW4*7k* vG*O*_eCi&3?Dk YQ+b6mDIҼ#4OJ$ůB.&wnd;vF46 +KwS'P|;u~:}tjr?aYpb%̕ uwByRy&VQϣ}&g D W(Ar;X/3m`УZȧ,l0{CdgE88edQMeH[#ӉouWvmٰ1^6v"NymWY뉤mtŅ sE ?.LVUr<ިDt0TCҜƂƪBhXi=6s9xU"W (hxڬ?#ܝ+/d_SI4ʰUD=ZHBX%oiK-nQx^zemk(&zڇ:"2EXNS<Ь8_ gu #ly鵦j{46@<{UZЈ29o2t lpn}Xв> 8\Ran6fA fV0Dc;%:T5&M*}Ecy#y!IQ} )Cə^,>'P̨&3jmź|y{*g%] ?X>ĦHЎfBod[}8:>8Vyl"+ hՂM1lmݮ>?"c60RDK:.vGI-S+ 3^ ؤqṽpAdQ~f|^5ySB@Jlsr%L |:8/]Ni ^D!k}oB+px>/c*x2xUKkY(/MQFƥ]kTEEХ;n^/K0Zι O^aGT#68PImH;X810`3׵7`!Fn" ./}A43$E9.gI hGYHtٴoP,MӐHNO~8D?5¥{y**DVMm^n9:]+Hlo_g}89v4'F>6 Ęl3}FiwI k3w#TZ#+.%/(kShyv炇IW^!We.Ǭ2}dz4eRfr S` |'v)քEl41FڶR'=ieܪgxT->H'2c~7p+Re怚U鲚7.PQ 2M):q#B0bsOowg4L&K{/)NդOJRkOʯv39g#u1v)^Y $YO=*eQN-h>l55flޯ?@p$&kÛhn1ukxذ լ Ur(3>`[W-UiZEU#sÚ &w+|/Ś#{W5RlhIh3 H`Ǵiz/L#Ť:A5rx `JIcnfYI¾3!k by"K'x㥝-,H0OۈzEC:ec +pOf+ ݀LKdG;zͬ yO!c2Rf w vPY rctVi` i i8?ufMNdac| Sm69lm/)XΈq"Xr ԇh6BWDp4ښZFFC6|jןDDm4òxJCΚZhe9;w4/PHi˔#]hS%e [ޖشOc]ڲģ]@2c7d˺s[U:>^+'3mY 'GWR'rBj9ܤY2]C*JSnZ lr Z v/Tj(Ww'_D=dG!K |Sq lZě2NNQk 5B|}CG5t({GՂ`G(闂}ƴ\-qz7yI z2LNEӹ1GQCɧ$zoV's`Rctަb F]~i |Bj.Tޝ9[ó&-)r-DǨ)oco7?/ORƒ"W[-?; "|P[#09JIO78L \ .G'>d!8?owuNt9Qx^:[F0 Ҵi  }ڔ~ *'Ls  $1 ̈Ў[  :[nM 0ler~j*qrKwOQE &i▘dMf-:)\~*ߕHl*_c9%dT? *A ԝ~V4>J&IlK7D$g *I0'k6^z,t1ŭ$u^\M8S/5H"ZL_&ĭb)͉ט{`<)H- 2C9^mHx1%ud+ɻWEpA\GDԒ\m,e#xcU8Dш=O/2[/cX_,Ǽ%[d> .c+Z}i!j,EtXAĦ,3|vϴQ@cZFkDLPhX#q#I# ̭uyt E!"ބo3V3x+c+,&(]"Z =bOתuL4dib2Ps,g,Q[_`'aˊ;bkɼug7 eo(0ru@i5g2AxcGƱBTsᲬNoKiʈ 휝AMJ0˪fWY;nY`$ܔfL.GIfl kՈ_:_wõJ'L^b1>qV72D2nMƾ[4*&QNTPZV+˕ W}9\|! %rvKsȻ7[ޛb)k^ǢɚO.tT(Uz4Dw:{{[^_;kFȶSV(5p 8RD5]w.SǦCA::5F 9%FQS\͆ d B&Q >ia.bGl~1!wFntdYvMCllق ws/ pn)P |ԙ^{Mv[%UU}lO#Otwa03 x ~bٕtŏ>B㪤pߵY#UNv;4-]t{8d),!K6x`bÐoA-6bfT䞨^,Ԫl J{ݷ]_KvU>b+rwcytP(*8K2gJ0>UQ(a`G]k򱻢\㔄/odO;iow&|Z*0}~ʭ?U#m|,qé\X)H2V1r-Ѽ>[FsfM)ȰYd􉒴xteIdxž%^BcqB N=dI'5V,d/Qz%Z,AܟYҎIi;4ej*3ĉ927Ԑ'o*J]YR3<|dsu{IҶJ(|3M:Zm{E`?*Ȥۣke%*8O}Z!4&}b7sI./ j΁{R՟`㾕DY(TakR D?yq;-[Z= x~{g , G(XX*,^!lqAх9L8S3:C+a\3)zίJ er@"`.pds6}hL 4؝cn(FguA!Jj7V;WȨ,n%S~6 k#% {i`NM4TGv!.s(G#zGy)<Jzlͳ{g Icv5@(v?Tƃ cٵU~) H ն VXҡ@OSB j y. )mD0UIn)tߤqXO.C#8?[: 5vIqst ofBg%{vX&ۛT25T澿¡ f1amr8TF(;-" zTXRKN#X<ߝ1J=|XOb,xʼe:QRo5#2pֵYmtP,fgt: y%n%P\ea<ݭ4F;~]oo+iɅ .I9Ffsw;q|'ҠAX [ F^!iݚdL!QnlaY3YLMmΪY5G t9oK̠MK-5N+p@ܐAJ.7ka^«&# "3<&(J/|wu7R4Aj#]ŜAKw"e%\US<'{gw`ĺ3=%IeΞP!܏{BY45 Q\RwOw7E$j~ڀB F ;kAb^TZ-L*P @*v򌐦0|/̓S_dᕞK^{̓`kv#^7 ~8a0ֱ;%C7ͥ9I]IPLmc$@qFE ;L6pB3'uYjq:B)J\R I^>-4fn9h^IG"_{0lkjsxqȻlGV?p{-"nFOgX 34&!rǦj#(Qcus]U%V Kgꈉ_|U?4O*wr\; O^K #FnlF`;*.auWC`"WKG9K:mŨ:[#G m8~U[D5K%`u=*,;ALJc{5LB`(|,ހ@L2A泻y;S)EҼ{7F-}{-U<#={[=P<9yiYF3-'> uIܹFa-=-f'.uXЦGv}\_#H`2![WMV2 [*P^⋦y98*VHbte{_ Sԛ7U C颩:-^S;-I~ZьԌr>ؒp.0cK (AYPC_z5Q;a۷NԦ;~{>n}99ҕj. niOH-5|2g\]+-g8c .4o$(@rji/-/XnZ 3-%%"JFf 㝌MU; n}-r+U ap? SB sIp/ӧm < {]{`|_J!Y1ɕ¹[ˀQQ8-v8`!2]fS6z)}d`_dkc u9hvÛ(1ay ҳNIPCDDDjr톻e{=^wK\b%~?͂*e9 DK˛El WnB3v]Oŵ~xO^Qr8Hux%&uy荲y80G;95^ahv: vzxBP:.ܲ38pŀ/ ˻@VY6"SvP!i0W"O8ՅE'2]F|觫1&7Phuo^)g8KO#'ŧ^mra /˄ , 'ـX6c.`-o a\Z"nI(&ae[]%RoJ5?3M"UbZu7[ w"z<zԫl;cNtM?}ynX, P{u*nd;'V,rf L;㤼f88ޒ֠Y.]|Դ,ّqo]G'TGFvմQ/%3=w?vHsUnӬ8GИd$* ᗇ%z8՛Aq1iˁK:#ezGrWwJhBNO4/QfцģdXZBpzo qSg C5D f0NHqHO\$Vԫ!a/p#65S"ƿqjć5taH/O}l+WTY'Q̅`} @xZl=]gOvltǜ#|Ac6Ԍ ϐaUt ctuXXH=ymc*1@%+Ob76gLCJ)||Cor%lQRω!c0/]40j/~=D!m: V(3Dq#)D >M2\. ]^jS}%.2^ D /uزK"?UhP!)*G`D8A_{ssAbC*àeCigAwd>j ު[o&96_L w%cI(~,~Nx"ά p{c3%vISrE2Ztf"i;rxJ #=L{*yӌi$F$SR6@zr<*D΂ 37y{`vٲPbP% ?b̖-M=;.g.K(lHMF ĦqX\A{EcfUf1ԞH/j.Y<ҠL>! uRJ~G}Ats+{ (0ca.9d@/ ". zno_QKZef:6Uķ\}&̣yy_c"x3RS-# af)0eQS}oZ%==oN'2Q$hw+ WohA#>|MyM/5a:uS)wN kGԹUhIt7LvEduRnb%p *pahi.f1vv߭/Yi,G-4_zAR<~ ևX(ͶeOR8)iϘHj GJXmFfF"|)͞|36kC P4 ؤOs}6\0_ge[ ?nf W$ML@ B /C~u~*oF<"@4\8?=NϛQbGN> 0 j:40_YS&]`4dܓCTh`?~9hD"҈Zd|!]ȀD#Æǘ漩lp ."Pk߀vmadPbVeZ gٮz}vi(##ݶ"rd Z #렭$jG+ꢛgpU5Ng [419Qc{ލVm!g/4-b6  v>F3$Y@ןq 0ݷqDɨ Xw9Q8Ѫb۲qhի|4J9f-CxWL!%  2;iLNHpn"{zWIX?p@?m!"{ ({FGh!Of[(cLDu.S`h~ץ&\qхbw[>L,^/ |nA䐕8D.g8 PVߤVeyŊE`.mµi͝^FX Kźic>e ZEq fIi#>}J%zܱ r]c*BdeY8 ,.\A>5q2MGerE0!F.x>k=Ɉ&35pJfw"DK2g (Q\ tTz@A$d?jAN=k).WP1.?0+I@B0"MHج N V ,a5q[elM@n-li])$|޹ǁԇ_Ćzn; tgR1ฃOuzeyK_Qe=-jId2j8;J)6d+i$jzru(bS]%ep$<#99wr>ޤI򢑌&s5(3a!|QP^ƣD(Q~D螁5lA|P4-J}Ru)vl _",jٹO$>O)` Cq/N=`W}kwOږZ%aq-&g#uXx/O4F6a uY$\Ɍ!+N29 0y@yd &69g۴|k=Ћ5Qi@[QilTdѸF8O2^-Iޏ$.pjpĊ#iEtVHG,b=>3NK/G6=U૯;pqp}c\ϓG9"P/榕nVX'.q"_1ûE 4v<$gbZn=4 7g9 B`xNˆ.\(/TaU&5=d`g 7hH5"7raV՞-iBiEhZ{AnkKsEuU$D话z':u8ZK 7fv̢}භ?FVV,:a;xL??4gzJ?çS| +pq *q nqxR ,mx9z S 2m='F{be#=թΓpם|YJ>5GcW'oa*/U9‰ņe^S%} 6yPCp3-՛Pbr,#QR+J?"H^?~$ە0sz}{?PPfn3cv]\qК/*DX9yQ: !bGbD9Ihu9uޘ;OAflV9tˆMֲQ37%DM쨊Roڤlgk5SYz(}HӄRX"*.\Jf Zm$h_]t,$\*J)!kL' ؙ Yѹ8p(lv':$~@Qꄵ'ɬZ]qʔ oT6b} "I{ (6 9vجJ9m I^٢@j :X>zMeE?Нע p/ >- mG|5αPka}6t2u`c8I|D'f @)xvrFdv6s!|}F7| {J3}b}!MdLpR$E:V3_cUgX)`Háf*7&ɿsJz"HQ {},,&&`5pJfoṮ!y:yy B> ڥIň2]jC` Ǯ5uߢ4 TS*<\IP:ES'ն tXD(Y6 ?]HAFԱ&YӔ7ו s/V5, >p^Km&Z1NŞN "Yh98N-3q I"7gJ4z>[ 9"|#9l"ƄK{$S13ĦQcxN4]Ds Ŧ̼KujHF(_p= "@B6iԸ&:Ixj`d3)CHdΧ~v RE 5!K*JYpw]@\(#m-ڃoYƹ ?ṬۯTRiT|pnƲgtLR ~ 36~;ܮ|@Ďl _ɤY\%PHW3Qϧe$\!H|hSEqcҮOPg?M9/KӹXz0 ԯ XWP}y5fxV=`>u)3dֵ}2ےgF@ap5%hZw4wz1& M-AR2 *Y2Aŗ|FSzƌ1=f LPf1ɵه>oǤ(;Ic#5T8ypI$Xn+$tFe$ <]}5I&L SDp ,^hn8"#C ',QQ"`R9 ] 4wh/Lgih>koG<$Gޣ4FC~1f<跌W>!;]9 f1X 0עB<L&/wWIyK̑v_MQH; ݔW//؟VF_J56k @kp}<9FGvt𻊹*/Y59p#Цf϶=EZ > &=8 um ["մ,7G(0[h]#"=U]Uێ`ʳZb@+jW"JX?^4!NFfTYkCg\B 24*y%0X It[l Y7PARjD#&+3$A,VFB:j ߌ ]-?F3|JkJ<<UbY0{8s>"`sZ'x;>RR_fU*=qcV"7S5q" 0<[T3+* BSs L{L2ijb+׳In3ʃס 8dB1>6ZA@,ߤ{@Fz~E$4"!)3*έ>/ QI ⳴Ti_h^;-* B*ZK1ԫ.G1n ªJ^b 7t̬f}њ Jk+H ~8 -]BӖJ5N2 eZVo3er"ӽb9{h.P@8s*~M>x 72 Uk>SHҫ gpc?@# *ҝ󢥺,/cCQ uX\r6Pjd30[!QB>% {}|7X0ΑxPVB9m`0ۏ!8KAXnѝVh:Oq|6 }!#{9JTe<G6{4۵2r҄Ӿi461%*v23@61`?O)++B@Jk}hW2'k8/P;>P,{G} 8bT9qIv4raap+q!4>HSUlrZ%~ifˆ𶄀kM`yx!2dyfZ7dŎχecjBre=f6Zɑ} afTTMw, rCCta>Iu,"#fI[ 0c5E28h4n+[j~-N|Ccq0AdnK/ڼJr i)`~͠=kvNu^ YX|~7 }lU}5KpE_{` U-*HO= x{6/lx-9|Ó֫teMHJVXP8,>nە/K2vF̒/LZXhd9$Fж-˾1D_p)ʿK׷ԛs[Y*n*I[]^L^ߤ;-\ .W'DZ'͆PfB bHmwv'MF$EV(w 8lYxw9Ԇ2;DHkY[95Ž:XajybnbBĢY'e1[c$SQ^oˁ%c;d%wZhLkYo#|JrWlY%Sz;: z wz#_V҇;Ch: ^wd7F !ꖝ:zDrȋּᬇ( yZ LrF ]N`l[6*R@[sܐ)CPz0ƴ=}Opj0bF揦gD>S8qTpIp# UԦJD{W,GONɒp8ˤwNXLE*n!cXy .lҥ$*HW, IM@Tu?e=l0 [mU DYݏy`>78%mvL72puiNPX_*G8x]|N Jt'J>Q.YAȝ3-ԭ?ᤖz% JyMFe&|߾PIcP4PɃD+N~0Z-FA<TgGH;YJMm7K,+ɝ0 R X邠Yq ٗxQ)k;^gO4 6ƖU!4aC j5Yz+[T pPgDKm~y\|Y!6Ҝ"n!H91Ŷ ~E n6FjX|bB+°=oogޞƵK>8%ɪ|qZe]o#g+ YT-F1g#"z^ͦcS!1F^Owu斚>D=ZC;iCmƂlK F!9h %UO 4b|*Į*9Q&[foo&@J3",7#٬ޏ2GzQfě3$20)p^el,%zg__ ZQ bOoA˾эrFme'd 4o'5ae͙zbUu2#;P%Kn];׺\l,Q혌qJpF ct&ffAh|l %B}пb?x6YuSN^mO̞ߗ%ƈ7֭nB`=JpkP+lܴ 4tRo`U?|)!iao?#E dw̼|J!z;&*?(ԿU`ʋTA[{hs:n(g gDqp81ziҳu -Ské`NXѼO,6]c@:bnHh  7@~Gk9 HOC(M Ŝm=0=%ar^D+WV kC[ m {=K!vU+DL+6>7R@gCyJJJ3'+T#/F|f% *'A7)3i? -7?z/P~fcAU; i;ćGU<|"-ˠ8fnEJDȕ?x77֞:ZAYӫ\'GXctiچo8] +=r9J2+bC$!Uʼ{o¹zߍ;47Kc&ҭr3u(* FFYa1ƻȕDAB(]X!e@Lq z"/:8瘡h|^ԚJbBDDj"JY /Vһ6Vy2.ʻY-PZW=vI\g=^\gOMT{gg &EVj'zKaN:f\\/~ĸF6:S[fLߪpՏm3lK,]$N̪3ӈfGGdxȬlKN9j)f:~Q=1ǏcdBCcF m)E渦Su7g~Bv%Sz:/b ŹLRLR?5Ÿ#/,<:j%=~ 0ߠD+G>БG# ޖz&/UJUإj+CfPޚy4'kaoجiПAXfg,iIUCoEEi>KS,;43 聟v񂫹FfaX:(KItqw{Ս+|i |42PԦL٤ҝ#"u%:z o bV*M@r{KA@\u^i/f,pRuءprLn9Fm,~vzO?F'6 ^.y.P7b4![)%gB 5b_R Q·c"A0L`7N1##bڪ u6ܩ:D%vZ ѯw !{l&Uhb+)T&aK>Ljh*W&Es]5FFBc r%,U(Zl -RsCEܤU /em8! i{ڼ8C( VmjD.b.k,EF=}%e@OqQ S̤jDs_?.)0p$9N$ANwٱbA&G!H}eōWVzV+4@H/YF{*9Y%9Y;{I MBJп&C:͊>)UN!yҒ癈!gCc5g}_NFenYoܭ'fe߱8sSC%h\=TD- R%&GDTxl? ccXca#U?T [|S{3ݷ}k29'(`IL,+zϩEbvx_BBHek9Fw~s M')~{E1ҡf¢`0_nyOƼN0CY(_a4}]C-B,cjbX:B+ %{a[C$>h4$QՓp썎/yyZi(U;٤29{ /m;H.ܥclԫ߄Qtuzb۳͟8ESIϰONa1EV:<a }FFwzdS yʳЍBx/ ~= ES3 <dp#_ d#@-[s9;n WkbU v8Bw eQ#|d՞N>]((["άʘD+iJ,YH&trG7z]K,ڭ +IsRh x"(Iw k.$qa dR>CJ_m 7_qKx7exx1c) voUG=N+HkAZໂҝAF7?$YWrLH ~jM\q-H?Un\*1&@wVﭗ@2#xf i1%ѹrԓwF,:RSN4.KP }0K iohB2@gAZb]D0kB 894B+^>5d?J;K\@I;4:ȪͰwmPHB!U $(Q.mE^[ 7nb_ {L ߛD">I`Jh 4m2S]*&92_]Л)'ȶc;4G;iOO~2ӹϬf KJX:ƮA.&L0k*]U.,1S:H3% 5esy)zej 61>XY{;W4yQ  у*yI?fv @ V4̮ԒMb"\V/of;+!q$Roy9c=Dx=c(yU^B`%X !q,>pQ9}XͷDK'ZT/u/ME7Eģ̈́&[2 `(#SQBi}‹P$؜| Y/5ӛ*<.l`.~{}~ȐZo~i O&zhZ\#}mAoWQ6s.p\9htP6<>R `zO< !JMYțLUpt+L[hBR} s 蠽,>n.̀3ж޲mFI?բ)~ -6VHU0ok$8ûu~3oAuְD=FO$]Ұ RvWtchy4&l_Uuz} _8b,B': Wќ }W@2\tSbcePVCpC,PRYۡnEm5 1&IT$GjA pA;JgABnpj}aφmGB#]*ze58E@_mJ8 @H@HKpܿep7-J3j`1Dnj**n&?$J,[l7&XaDvEfr9{f~.iBoD,}˅Qš!6Z⛓q E]N3gLE+9 ~`ѹGVK8 JN~J>'⇏֎:rX hyP[ 䀓V*@~W(orWܵӴ:Eh\wW!{h2>(mX^wmoS8Dg2:݀HXmlڣQmcCNϰ?[no fңttXGKE:z݋$RI @.hl3)q }ix_S'KY˽M4+`>lVS? Ve*5%}&u7ω&0-wj[(,_Ot=lZOH735%nNԌ#{IvZoR!DxAvmƨCTܶBp7.(ʥOyR@o؂"o~ *> m)kTi6wƚ)2n0.`P,D-s^NV"S0O&74|>b'?JZ~u cbNFذ&4|DdB&mUٰ$SRlKI|UmYf4W9:rXZ0>0:-ُ޸ɣXBU;RlTU.(Ĩ8?'wwv=)#ƈN43QkG^8SՈ&t||d<;.(F߫Wzn Kt9H7JۅR#naAt)kB~ZGR /BJWHWsd/f!F3 N[P|Y.s*wp_y]SLg/Ol'qUXOgdֱl/r$ŗf$BH*6tжjܛvfbCH;7 ;8$ R>G&K p$t18xsCWMt=*G:5o?".{ IM;a #>yaqcʅΙAD5#䭸Tg݃Zf}ΪU}jP ]fLcZA.WfyXR|]&x~8^G#;{W,~q฾ixe妖d7=9racTo336#%<!.9kmʫЀgO w^P֙ʕso *>DG4(=x?rVm@`@ܡfzNqfxsH^yex *ʷkX ˆCt"W׭S1!Oﱶ&{YO[I`Ud= 0υc2@my%wAěuZP5zob} qSй ua]H^fv n&kٲHcՉK:RDF,̭qNRNgiBBm{}cwV0KL G٬cP˸P$0lZs;MdmycPX)Ӟe田XLjILJ<ְ="<~eYqv!i ;* #5(,ΎCM*lbv.CرSu>ʋ-xsVjw :%\JN9?Oe{%I;~QS(߉:M0f0~}δ&]xZW2k8+"z0)VD}[gWrOH_lKûX^{Od7JI5FR.  Xq`mOL ^mv3|d"mɘE iz'$'R^ZnaqxD'[яP3ٸHnkiA#Ri@;q3GS9k^vdY~ V1@6V&Iy !?ME?6Nh)4ҪRVVnٶ-졹6¸Iz#.ھTT>8h܂_$$eNg-lm U1pηO1Sh2Svh5n]H`Aejt}*9?AyTikJaЦ#()(P҈BeN@^pG"{mWKPdl*й̥YjA?\WWnW_80Emƍ=5+ddE$u*n?icqWZifs[ǭAfHq̀n$ic~+BqG@]`k$jǘ|Hr &wHK~jɮԟx-bDg%.i\âY>]4Ttַ /Ole`׉Xxm|pGaŃ Rp;†(A 5|v-kǞj_y[7)w`{ <!S[xLw nH/n-!5j2q>I6 Ymeg'ԀKmnږxqL: PMCMX:N-s?ԀJpi'r pS{qWLh&;xwiinjYOud~?Y>"ӭhazc/IB$C.G?QމK?wݏ!k@xg+B]|K[HV?30۳9 wJ}H^u"䋉KވeqC:*|}d.KPWr6ڸ\R8@7\0K#J ւ !Tɒ c  i.vH`k Zx4IȑUKuoy~cP gyWJaږ BlPİcETqR,{B) Ewډm(m(ĉs*Cb12 u6K_60z̅ 1og))L_&fmJ*~Ĭĭ3{@j}O #) 0XE{1r$ٓ8yNi$})'rގ"ɃP=Rwclq9A1ׂ'1'GĤw}C-)[L F*^B:%{KI'II:U}fc)_@zC ;zWu׋ŮQT(= m` ^XW:+MtsU.|9}kݬl5H+%SŢVH"b0'bLx`mSU$)':>߭j_3e<#9 A+$u9ZV\&l`9Dn\|i\HtU\@}Nu@k7Cݯ3Zk/p^CʲmQ}ݹ$k_i{+~'a5\Ϫ0wA$׉MD`LE~*nA6r 8- CsRH0ˉg[`O|_iDT8Rr +p1}>)(ﻉ'M<voEw\Cb 25bPؙ7a&;e4&LI%@x/`+jQjD5raf 'nf˜k7]۹1D8#s *oޏvf.:iu~֜b#x#)i<ͻJxܷ~ 4OEe1-9r}Q݄& rӎ4¥BK\Ȓ+1%P˅3mTډb)B@>qUģ.m!#COi>]9m1ڟ Y~A0Wky(7Hۅ'ϢgG j#lrtfк޻!M^@@UhXK;SSKuq,\'U5ɷ{<D1oΓ*Ñw]T%B|@_EQTtYUa7ŎbOM_}V[x70쵴WsJ31 ܼX =)6 !5}?k fRVq*zs: 7g?Ȇ޹fA:AN4 Ӓ߮ E)񔆌U0s2Zc6™VƒĚ=m2xo[J6S |%O|*W\q=i%MUΥ)._zȂ3: ͺ/`Ӷⱳ$.A? b)Dՠ:^П.Rh]E- rtB[z)d3]BTSQqIŵyIco$2Nܸs5ahFM<3ǡ{.!A;jpB a5r1F=S<JZe.6tPUQ':$ CK HNﻝשvPZfAaMxI[*-mИ^gw@:4+ps Xѱ8g!җ jyݚ3x-r]O< բ$\CZ>n/Jw'J!?a%j0=HoYCυˋr)f~iffu9]aMVkJRw,_8!&i}d!1A"gQT.OredY*- 2KT^-_Up{z ww4пWه~RZD̬ 0Gl5T'Djk~8Do6 s' n5Gsnh47Tpƻ͞Wv#(CKbȋd& G)' ?vmPda{0:R?I[eǨ*Ҡv_L^n);TJYckέKȬ9f␂I(C\%^T7g>Vy uԍp'y*Ep>(mq(+>z`(݇I o#‹7,pP0U`$֘Lͅp".D,X0x+> Bw}%&ɿ;:^.>ud#$ Ș⧝UKJGb4pAidUeT%JaWOJQcϋu־'.M9RZ(kv7e%>elie|{!yTwe@:3|u%DmPk(1w\,!+d]њY %kJF@?*4@M`U7KOr&u0(uF{@GYх@~O~t6sy0Wh,8ʥI-`7$o:T|BtEAKgq7ð_50^Q1瑄%yv 06'q9nVv#6D@Jօbԧ_d{cVD~*1hRN Y$EG''M7K4>edRO=at ] ,?< 6x1uki Lܢ`ă[S[AK '݁òZcM-T>ڞRf^Ą}ղ֗Jp_aFp)'+V >\@$DJ"o+O omۇ=,O&^ 9gS1|+xYM&ḆC;ʕo ygH[5wnV]M yMC) x`fiwq9Mir!|׺⃠@߭h5IW-;btJafsqV11^4ˇrg^.淁E.LHڜMF+^))@BSP7s\(k[jĸUrʥG7U].Oݐ\Xx"D"͔ b`;P#%unr)OYunQ""q[K 5|vpRV|b ‚>{) [iBxD;|».V a:5ŴWkO8;,9G&m5e]"붵@ĖëUIzfqmiGx >bOqĄ7 h!{5ndq{\gr`qE!VZ"4vHq~n7GF~6i[1zxO?x?ݴ xDE2[*{l+E7iml^dz:۬'psusyo46$.v y`mC) e }pAD7U .W,nTIUd#Ȩgdd\J*e&I ~]Ƹ:EwpY !2ڸ+4C~_h+4[OxoK0^0H:[.#'v~ e/L\ɠ0ϙ%E2 j~ 򠮮O3okf쓚-W[/˅$HM6L/r( O-h?K ЎiW01 5 8 ::Uֶ`T.(2U4ruk&҄"NMa~8v^k1WN7@9#Z !>0xPJ1ྯjlߊh9ZfJc\ဓ <Iuk3a,XaXP%8c#m۝eq v.BO >/=%۝Ӯ5 ʒʠ,)nA]c!wVFnk䎳݉=(pH ̼u@a} W6c.o|>ԑhf;=$DaB( %VE:#uy稛hg=YC{ (d%^bܰī 荂VShBaF.EdvIkcosQBs] IOf:ADqsOJ1Y2E'(L?lbH'+En]jR4X}NmE4ɳfp;%MgJ* o Zf90)ˠW}n&㊨s4kk´'鄃- E}&iK$ (r` f|6Ȼ/)U !ecO\oˋ_ُ7dcng0ۆwQ_(G߾`l%R45='uS! E(6t{a}1˫l'k 1j}<;8k@#Q"ưAY*̚HՀ!Wnk2wCŜ k0V>>;aDܳ@7y&LJƝͦ%u_l 9zc2ZRI';Ik[8ڏ! gO}>8eTB(܈%3F/nP{Lw9Мu7qOSYu6Y6 GXȏr [TJ~s0_h##>ir8֙l4sԌ(߲NǺ 4\GXVŗõbhFm|Տ^pfmmo:F x!= '# Չu{z^N4Q `ԣizLN+RN݄(b1P,l.ȱ.:+SjIHM)nUI@n3J(a˗ LA2>H. $:WEҤ(Յ&]'z;AF\V\qO|ZT^|:Y/ ><D1xB1f:H2`5;!4<%9aL$#_˨YAZ<_TʬL C&W$UlAE>L{Z Ph$T",D̐ Lh:"]?H#ԆPBRi?}tn v҂F;}ΊS_Wm)J1)10#(eqD: o. },U H">w0 wPOZ4g X^e&Gid/h&ò dMǀ£Y5҃7y' LD k[F39 +_<&a{F%FZ'ezk1xMfmo%o[fsXt$b+?LAU:W#"ƾsYSM+G!<țz< jqgBݽ9@bvǙYG66J>t%kgt60&|U3:m d=0ӎtR/ Pft,kjm&za}(;d$2놥82{\r.wI^ biQ7]*PK9c.كOb W<?_O,BTYIC?:AZ˩_LHXS\dPNiئ0.jZC+58ku gLT$1hxbw-`5/~E;]"M:$ 3V7 cC7k>m>V*ߚu횙 tիVQy!G9=*o ⑚P64Ѕv[ĩ f}>>PNi^yF# &g@WL%$S.ooX@c{o`Lh.9֏S;WY%FQ&8gYqJB ۉ2i&EAM|݅)=bd;NY^PR(قz"ӣc[M Qc0~RfZМ8* Z7̴)GgB̩$H(p}p"KK9gYst ѹY+&ut^D2JoA:7{F'Iv^H+qSrL}& s) ~/xyN.]UCAXc(YBQ"JjYqvXY@#>=t7|Rye1C Kf 5y.ַ̬[\T*=(`WIa<[=(qD9჎Y4+{[n՟e*WP(%4 h=磾eq>&wV܋SE;}%roݭ Tl 8z!H]MjP[*܉}|N ;X!"C<#Fc Y:ܠlNq3HQ>ۜ⧶)"qDvhh)KTɫ428!Y\ʏt'?uՏLrNpϫb\8] [D'°Z9x2-l4;űqTW74ZW R7)a_aj"':N&jFQ0;ջjZ 8=n#4Mgk]c5'Bz[Yi=(%C.h]ye p倍q}G]+R2s- njҸ=Q!ck]B\[F) 㲞_uqA,WOn2v$֪U߱?. ;1  ʃcRH;VY78_<]On w<<^^hJiCcDuUx9)  %Prցκg4wD.s:f) y[q=&YK}2G֫6m;KSPE歔#j7Ԩx~bO[ϑC? <e C$ZA_TI/ &>KHO k= ir̀=vߌjAtlfy~U|]SN@nҰOX*/NODnENN~7I0Кn Fv#4c Hf%3x~c_9q VxI8d-P z⚜EC?i57 Jyբ]sм+81AF#rڋ%'OBurs奍{!^20"AXAv:8;̎CǺ kSA~7i/KX./\ȓ۟H1$ʉ7A%V&IVXB~oXY?؉ [?Q.`w_]Ҩb lJ?HͲ,!NX?5>&]e`. ?"[Yf[Vd>%]n=:3vP}8kj֏dĕcغ.)gCg0\kzB$THw!h}x Fp+Qպ?x\Bt\Ji#('N)6$ѱ F茒"cv)ŽToh[*d8#)! ֏y!v"ﻷǘI>3 Pk;!VKB4X1Q̉Vυm;A\Z7ؿ]UF9{nJ ?EXdP#Wu|DԜ"BY)?$oō(K!'YF;dRƊB_:UmViA||"[GJ05-=z #&:è~IsEIRϟH<}vMmgaoZf) ,|9irI3'9q#J l5C-bl鎹d|uyhAߚbv` f}Jv8q KkCT^J{_aC(dR~7h9\rGeeHo^w0Y5]1 ;REGFc ydIN>^{x55sP2gcܔ? stxDy/ M=p˥H brD DC,|*ĕodٛՎe\sC*JztLaT\ZBy,+wSCum:tR)Uѿݕ)gp)iOI,p<ӭ`~CDbiԟˬ #<||ΔJMrTXL/IHQ*}aj*SI^,i;9]hC.v10 cOBIw# px|׌94lێOʋ[GTL\ءoPᾍSJ.',%OPNeĂ8VɗljY [&Le!6>O)Izi,:Q9rw{ qP |9fxy 75]0f1U S0MP4Yu !ϑuQ9ק`F #X,K=xbAM͞/Vzg oA& >WQxi2: h>3ə7J^ff=+ E9{>"2 )#=A]5~bH&9*2j<Č)xu@fsL.h!mڹOfUNx;`#=9*,I M26B~W3PSb9> / qz\h\."rVL)~?^lo a8jS3vQ'?o{ \RNX5 (0\l0~{Xb*_*9𡦙{dtQTlp0j8 I n^=W+_|qbEk }/Iԫ$1BZ2;ƞͺ:`EQ?m^7PgQ~?WMXAXbleoᵈ0O*)# wU5k~U,&Ѱo|v"k4 `f<X0dhQL|I'߆k5>aFg ufZy5{"QT<%~0{%)/)o9AO;5c()kͧlp\?ɛ2^Wm 9`dk\8a{Yaڔ9W߭+_d^"{,?bpm=V_X_ЛEYOs̻7ۅ?[Ye%89+ ,׺>yWΝ_ҷTD_-n_;x.yOd*})_ΨtmClYvD2M8nts丩quByapqcgg[ =yMWu-oʺ/'>߉PO0Ś^#[Y.KDaQjzUo.]F pUL*YA^t]B(_: qg+"8f;K\bXq-y,(-PkT̅{IxV^­g0H1)Sr0\ jmSK%<8Bz6G^;=;QtjarPZ %44<w VC~^?qD_7MZ x(+݇']xЃ\jBƊeXK>?|Y'j\&*#v] 7p2_eV$&I#H !oe}BlMʽ껲lE5mEAQm\ baidgPsRZ5o79tn["A-Az4V쏡~( JxzsY{R> z3dԾfA)O@OEpxvoHj ob_ apyC1d:/MctEw !8I3]V]P<=N@>p~*3]Lhi#MCU"Ul*`"JfO#8c9ۉR)֥M.I@͇BHAv9Kv<ؘݾsJv`GsDX]]2+q(rm{Pmj5q ? C=Ҝwԣ`}Pg6G熗۞?z:͵enfR:^N ʗ,: zDr' [32^q2^S[h ~#ZA k+6'P_=8F(W O K(Xcܰ?GVXۨ(/W3,Xz% 2/p=󻼼M9\<{b "m n_U-P"8t\Q w|Y}.:6򋵼&!zHVI(x1?wo [gG UV0wVIq,7*ο7"q34): WdM>zcпX5f4t]7BFHFNeoɒݶy605g(Uwd$#qRF|EpvoЅB#ӘtmA45Ý3b#Xh:1,C!fM=XaGNoTf~m;R.Zq%tQ)~>v. ?^@> O>k 2øL 8qц 'ŊS b~~{yvƌ?ύQ5O֨Dpi*zR,"]>d*aL!їzܸ^51]78|(])Y B,O)zw5:5U7M=J(=,0ɚepgMf $kf;Hdީa2vscy@FgeW6n W"p>}U`7b8O# Iug0TQն jfDǨb`|[i(&GK=;(Y,ʝf1։ٕ}F֋eUuÿb̯tVBʣIm 4";j8M>7}SR޷0 ubRރti844N7 E\lYr!ko*C364@>+(As߫|5"A>[nx\D,v#4`p<~JSrfB;a}OnX*9=j-#j$\.̛L=+=$a,5L'fq6xC= G/9Bӯ e%9})2b\qZׇ8-?i54U/Q2Ŷv߇SCks .ԡЗ"8j3bWOwO1P`|]~[_ @X4Y'Ukפi|xV|hs5CZ_[@`ɻ6Gڐ/e$ŗ6j&TxaCBzpH<>@t@hkx Be<X,n&ԅhHvh 5?}{;mR c$a$""4 :փN=8cP`0AfYp- -3nf_Viː~%:7F2C\HѧPm6A0 {xF}VBIX>C F,jPs }K_=ZLO{bF,Cpl)Es|[_YC5Bz*M4衄+(%z'$5D:>br{b(%[8~po7X :_a |UY?5lSE#la{ )-iIl5* HpaL!.T=2֙қmV%dE:TC5miSXLUC>lLMCr"/ }"]> Z(0'-DlJ#2f.DR f(T GySZOQX_g=EFbc烀4ɛք qw;S=n5(6:BbzCy㩽ŴCeP:ϯ\v<;Uv1Hi.NԒYYb3f~ŰΠjsFxȼ잾l>Dq+ f hT+0E J Q)g@J;՟uQJkqj[|ص>+;U՗.`LYmH F۬zf莘uD#Os·(7UX2djF#zDgG2tΪ>sak\D_a |}bD~Xؐ90&hQCK :_RNp$t;C|6IϮ=]RپՁ|LE9C!9`x虺ըqBn[|02`=B<-t2DArg- NB '~!S"%HeKi+fŔv B݊=5_ A+!pBGd+o]kͭŧha덵DsԆ(8C C 9x;BG8Jj*Y>$Gҵ܍r^\Ӵ&fcv,A}Q浸+w &WD#;*aLnRYr8z9}p2N ɛW0ɔ3"pI.9ަ܋#ͱȰJ 1fxgG$]זiQ+sH(i2k%.Us@tW#LKE$7xʵcy,HJ0;Bw+9Nň3{HP.öR<rHQ6gC[iMomZ|HS" Ug!t@j4C!g kXp8`@:ȡ'%cDm 5r I;-"D ʕ͍Ń௙a+@oΦ *%gkg[O$ u4@dW}2Vߕ|O'EoA"c0FPX>RvE4Y(>Ms -;:9AFigSIX*:x eߜn}*ZLN^Y4s7Pg}74WQl`UF9 _v1H+mfpc02QҀeq>~5lȞnb%'h<1IxB*! eAǽ~h"Zυg}vӋ"5j#MtJ§Ƕ(Z}`ZwQEUaj)}chBWРМyH!yr&FvYs?-KWf*Y-و!Z9_r"/35ɏ$LBxRխ?b%45å^m(!#>2]RņWׄ%qTQ<ԟ?cUlB$% zH>Ph |3俒jT}G_ !nQ-5LaH*Ǚ "g(=a{3 1'M6Ay߱2J |ՒQh8Ť1/97;ۡeahD]SV3&# oK*|H?[dF;C ,!*[GYX{Cnv/⼸MBbL_vxBC1pq 7osx6v:}|k*2v( ox` _Z `_l9? f PMA;-݄=t\55vGE. Jkso%i`KUuT&JbkaI]+0fracgHs>=Ur4{wA2+J䐏[?QOI\c:VM|HLUjǻuL@-v.PmzHox5ẳTSζ/Я[UdT+I"B \[Ak0JE $;^x_XyLy+$Ƴ_$t2jikO^:DyZDF,ĥ$1 }t"~c5td $<$"0MsϏk \Vh1W.4pQ2|'% |<+z[XA9J7Rg{s%CҴ)aՂirDkVW$|",q ,Ʒ6>D{ɧSxMɐXD_}ϐr{1$%OF5(-Xu:w6[`R,A{:[ƹ:crvU]q}r2);| H=ye xaAI`xxc{ޒa6ҟ;H]9| ˒sg=Ƅ/!/nϔʃo-.0e5A)Jl?WO@;^6.Po|jhn[۔{1<<&WՅYʀpjgp0:!H4N]@q`\ <ͨ C0Rxw}vH/LoOm tZmO6QWծD 5(HqطfS!?Hu揙GZoH19t1JkxMc zG-7.vfxoT#bYp8r*LIt {wT v|U\`?eke3?ScBܸEƠ^/omV'^ȯYfUI|6^[#6,]`R"(],DYaN(ʣ(> y3d$ @.(2`J@yGJZ v]=] )v 1Z>XGeЉuOf0y:8IEFw>V\a+a{<.@s%%lvkJ-KLWB`R~wAg(} >>v5EHe[4do,\hs LL5gW%AN. !: 1'2Ufݮ{T¦D4dEvG^xq 8倿q9翰e,_u׍v]E'V5ny=s'~ ~ c 9 'MOpɳX. ?^"QG2`s3uF\?G L^3Djoѣ}z*UGc<3Ka/Ӡ&,(ٻ YN7©ĈY>e8jyʋxUsZu|ߠ\鄁BkbLvM3crl$iX_iVrͣHubx}u4dɣt>P{W->X WtgvY{$!'WF'?E8֘Hz<{ɥ@kCcn? QN:g8tWX~sF@1q{Ss?7gApDjGZ|`RBY[*͉&4>Ѕa1 l#80R»Uh4ݮ> b'm_}ZEsĴՁThFBWI"N錵\tQs]3!,}W埥tHdSPSc~\dF28aQP쁦=Y4zϘGWÃq~nZB}Wt*m:Dd׀Ғ(S [+4, s=bM>HosJo%L3w .}0<5lLСL^?)IrmuA hNK.na"! )V)zl|䗁A@[>MILk/+UM=_(j< pDʾ5m¨ MxXN:n?ؘ jTȠ{zIRn3p!+<ēsV7ηwG"AyxL jᬗ@x\B/f NPƌblyRcojXrCcpF; .2 I_ahGR{\[xAvUwukdw`Vm}F]&>ּ uaS=&oLRo`*(w-0{XVcn[ZEˏ&^+2\̬rAG@'|| Qq#UaZ^D|(@}g)3t?;G/AӵX/CJA,% e%Tв""[,bb!MFYWC?)ϱa B>ꥫ|ĕE?5x#Sl;i[rybw1 %d+Jc1sT#̲0% 81j1TA;ʥ4κQ$`+bnEFHA\\+[?'OVU!K*JJ \4Q2Rohzr LY;)fB71`#8bW@\iJ){AiXP]KvYY^ R((>ġb?:́Ґug Fyɞʝ|!K& `8Z!gEYyvoI)3gHjfw[߯{ ficc ^ "Я/ 鈿68jw p8no 5gK#͛b1-sYn0m)| "ᢱ7B*cNs1%s9aiwuW^\b]E̗* nNrWEx&9V܂3V3Qi$!eC'Vs%]$( e8Z覑(~0D0yoZM5_ԀkXjyMmVkFQ%KbbEeГ_~׆+D_#[c>'42 iI@,pt,=˼1nK>xXF)g﹣G7ŘGG.k;~^bW28>gy=Y0DģClsy $A86P|6\nYz/,$|K2|C,0`bOn4lݐem7SMķ`9ۍHFw.K7;bsp2& 52Z[yeWmo;?<>ִ|otEewY%Q%fJy[dthmOG"<avgN4QN:8ej=]W]僽vz^L&bT>yW ө*AP=([DXX9Dv->aO =q^_=Nb.^f>w_ p>z@D)zl˧z)VCr Eܽ@j 7y$ ZsA ȉS|I 8v8̅[ٝ_9 5 xB`6 -aCnZ`Ґ&{\fENgDNn†Z0vFIymDFe#tc?~vن=xXlNp pWxWOM9l!- EDF80O>G N'm_'_ t C-H1>vD<6+f֢]&-ڐbc'C,Z`d,F{]Ɲ'5H/υ3d|P)!׻T 3wdm?=SgY:B[\Zx'.W!s]xOj0a,̋v_J$TC:›6m؀Bʸ^"bl! )~2*c~TBݛ1r{kU /Qz&6 /m*^= #=􅛍ާ,mDrs;[r&Ϛ{4;\"ݳMBa[X@32?At]&δ'G+AoCå;/*!iZ ֳ\9Ph +4dz%=gnPNنh(o=i$VW#֌\&U<6xF}1`#mmf<@Z{[48F`"([i{mM,f])@I_η\zOpʆ9,7G+,Z~%[4&z#r9_ (+UseѸ`lrd2}=˞G17p>[7"Zc%G:V N94(Lq91XCExm3zT%7{ulW[GRw~.pWnomRX!{n T]Bc.w`?vL[r. Lr(9؎?#g+;ST_ g ~ъ:=dH+# e[kWH4&x . "%R%'U2\1]ܼҤ 4ڏ=4A֥"_|5kf9iv>ZTr@w4-+2FΑ/Y+͔gX[tS X9s3mZ $$QFO™MP{&SdSp7 4)(uEF|4Mcx[jUm`F;)#{ڇl4SAɳx8sU9/W.e\[FM]hb75hcL܇ տ|>[\Ru Æ: ԗ-8=7>8ҠSMDC䰣\~Q >)AJ8m2O}m_Ǿ$߀MpJH/*]c:VE/Gshk. agO󸫃.Q:(ק.A(@0-SsEPa~QGF &mD J)A^tKjaø* -,W<%wC Z!US ˃NԆsH Zz;3+>VZpc3VLq6/Xf cwb ;,,"TZt.Ixcz׫@FfaTAҞ\(`A|JM1e, *ݜ 8zQަ}Ɏ@m8=m JYDis0g<1 jM±N8ݓ[Ȟj5f^v'S\]@ey0 n[sW;,Jh"6K,eW)V/ +NțwAБ<Lt9;Hcϝ]UQW%F&n[c X5gb'YT߽]VZ?8^14:eF}|l!"^/a5Kㅠ;ܗͰ Uњ{ 5lyG$*a: +-VC>LA?=u|R]PpsN LU_0 Q`{NgKgOPz-6C3s9aޥ@0 q=`Q )NS6BJ{qii \cM/9A w X:?g})/dZh ,VRf4ի5&=q':,~ѾTC>\RS\@!-"FD4#_&!71J8JUϝT6bV,KTrGA'L0a#?؍J,NSyTș$ 36yQ"̼ R]"K k.À!<A0]ܠ(Lɣv2_|}D&awxK(~ z,P.cQ I9\t:9rb-;'39q٪d9+\~^U^a7@4:oKͮDч\}{D&MQG^3{D,p_zo+ 'TW;$m:{wgUx ;lk-XszVcmQ]uCy\ٗ6SoHWRPW^إjz7۬KKXd4mpot\`.U߀#۟9݃Y]Ëj}:cM,n #BTT}VM=9&;'v $HJdzZ6v:֎N?yW:b}=HA'IC]@`Mj5@*)[-#֘sY0D>V57h Pj""r>%,74nxlr>UGcb%HD39î+T0&(:b=;5ّ5VZhbww}diNn.cyZ#_VD4^U0<58IRFKkKRTB&COfh: Eă3@fU#p 1aHkY#q}5i,6-LFZ8yLdtf~t+?0I`GC<W@{O[K n47c5s UQeXx (VءdЉ HCn?y%SC;7$qh zymEDJ#&kCI]9sc),;BpY s@e$1T R,gu_FGIwE* ."M!^u<* 2=Kyc:#YO| /\R%5U;Zjavhf9IqŨh"wF4@ _u&{6x.AIZMUf:h>4FmHL^6ң> ~iL[Vbw,,L2V奰}8( xll`A FV|%ހθ)%c,X 2C[kMfcV}/ Gpnq9RvHFdMD>‡v򞫆\{HO_d _߷Cq00Aёm Os;vOPeQC!.'%Xr ~iFֿHmگAx'9K (H[Ɩh~AXד@^ %t.lj6JpChIߕB2M*#l7jnN%+ST9lQ@3(mu~%q4WjAݢeM˼bNѱ9~~Lh Ǜ>BZ !g0:gR=#prٳC(Y\fbaliBi7?V: =q"[adzR ƗQhs=YG`3Aa-¡򎟍]񱀺 -!υX,O$V_P:a^ɤݨa{:ƿ jR4E&)ʍXUb<V9>6#R} ?G8pkZ6$†ƉNփu5w::]Uσ IMSFԎ^<;by*P&o5!Zs,, ,] <$?zK&QC[R]omWC{_xv&=8eg szxt8jdOV* O}dǙ7۬^mxEd#w0}O7~(@ ˨L4햞aK {7 Zr X0hV4nɻ1t#;KR<DDN!ldFPIa@'= "b++ TEv-Pun.!i4)ju__Μ 6hs9F"trH],YPh-+xb,dn86if-w܀zA]ɺ.|-iG8eŠFlCHh҄K,B,N &u@l.֒HDֳ>I|7Dq{*on]?D\-<,=~yx{YU|tnkiCh M$:Ξ)6wde ,s_iA4ֻWfex N%P" 5X hNeqwf{fWx|gwWX} {QITٌf&vxɛ7ِUl#$gƝ-2aiIpk x*N*j?c5Vy }3jt{jS,Ϗӑ<Gpf=sԺ̢lab)N}0}>!M~y:pǾN6i[A1R6%B9uzzeǝVU(uWB&r{*ژc k򈏀'Ujk0NL7TM|D[&ȉ'6=F7SYrv" (t6b@B2% d5p"A܊[8,M#N4AG(']oo| 6iTe=$?w|"@!yAGߌ8"n GpTrˆM;~xǢEm UqWrR'C4Z{aY0N<&_)N I6nKJd68_n[P/KVpR|ˌEbGIZlAѨIz,, v5ўi$z o`ϔt(Û5X'l_ScNe$a}0d:̠IU~mpP? Y{mLXH`jq2]PEi}I`j0[9 ],cg[fWF~owV#S^>=4^b2yZO!ݭ"ݗTr.%~My; ^i?Vϸ1& ΋U[-Cw.9]>MXa{ VFn0x&^Cׂ!*q^i+Ҽ* fa}#R:9>TC,igl 8t9x_qm @n9]LhY ,LKGr(9(m4dy%r#DgL4B/2컎ˎ<kUDRHs?U W=Gtr^?`89=zHK*br4xcaja+M|WP,8aŠD,;4/\X?|bfo]H#NzGo(r 0 B'Uj(8LrG6t~HrBO]|Z!x+uJv%@" Iz=9. AgW tk5Acl?gB2Њ{ pIR.H2y*(M7L#j ɘ ,E *A$8eW0gFF>V!w9՘27]=XmnEDGqǻ*vA\#iiI"Χk^D^u6F˧$Tiq'V[ok`}҅%75̪qeQ7*", *o8mޖ7ꙅf~QSZflܻI9|\+hZrKA)P\ UZ9. 1B&L_ >}duCX &/6‰a.f.K?3aSXI Y 6eQoMFޑWeĜ9,ع%[W]iadDGo~\IbGU.vD-8]c{@>yd&9l,̚KN~%NrWGrs! yiJ.I`-`0_-T^B>?22Wh.{E i{AXH\I6Z*R9z**?K+7xBu;*3^X C/覧Ӥ߆?Y)#;ɛcO0Q{HU(9"0Ra^g{Cu @"W?1+sdO).UZbH5RI2uU^  xR:XǓC!mqُ~ @|ViP ]1K% m["%F/U;Fkp{ѩВ'ѻ'k$ƿ# Y QIDrԤc3#3mJXoo1Zoov7qSS}qZ+ZX&5_,bE>K'=EVy=}`# voo&EM?pzQ%_O]vc .㕼Bڅjd`>[Zi 66Bp&eٟ4 ޏT*9.=n([q=cuى6V>@+I؂+D inMkua)`ͫtb1҇M[KQ:O `ضJGNy 踺FYvvg&oI5ɍCVBC0@qY]`,#,C yfhEa;>|YKZou`*Kȿk'z3i!%rͫ^K"_Q)<)zeR>qVÝ%q5͝d 7EPEt0Mpv?ɚͻ_׊V~Ѣ{ ̬Y0[W6A6S8.4 }v)0)lu7vdc/d¸w EHfɎ ȗ(H}>@ʓxL9u?Ns m$~w͐cr5JXLdu}s [&2[yQve FI5VG0|{<__X]GJ Ej~N/5A 6NpN%3]xwGAШM{!u]U#|GG~< Z+]6Z.uG5. ㆿuve˱XCU13 a1W!z^=R(R5r倣tө%=ߛIu29F}JDY\Yq~U#:Г(G =7N} ="^$Y\_X.#GFSs70Y+2b6 E]C{t\c&O @D;iȃIdI_x)f嶔^w,AcnPA|pLW좢SU}nQLq6;[ptb/*맚oZZ$n G\ vyU|[Sy'켽L1m~Id̽ T x%3p]h.W}tAM&OQ,AL6.aPj8I ۽8v GA_0k&h/*(05V;ĢXL5FYbS+s5'xIDt5+x;vM304jo^xS;}QүAp759:_p.]xA3> =fGX]se3ŚH Yb'#K,@Bd?@j݃mGJ:Va uJ;nG)1mHugS*Ma3>nJB4Gc1`m+]^"R}-4t;ߤ=ŲûwV|^w[~k7>q._\4?T:ZN oʊLAlOj ,#jDxlcS0>1g~4;*JH2xW$%[t@Y gn8 CݳRu<{GXv_8t]tI GR3#'Xis{pT Tp8Bc"g>T]ʦv1P-$X4H[gX% uSafhSkyrˑĤggj䄅 /b,,?b " Br T͜[[$t=MXkH;Sܳ9uVel jaX;RO$F;06&:- ›߅MO65VZ\ҕr B.S®.EKc<#D>V bi(yQ(j&i?jx_]pd$TaYu5cjwn 'FS9 ۫0BGI[4g "P ?P3JH "7TBN~pV;{ȾYM}x:;ToeG] D!`r5FW)^;4DZc&.V}]Ui`V׾̶ |6+u/FUPg~' ]F _SlIf3i#ElQ]Z 6.CfL]I/#ʍ_wzM_hXp#BwAr%^+N$m; qŶڃfq]0X߂gR$rJ,]L}>Y""/m)|vTHju?+lu` mkg !ypi[iNOFM?@^$k zeáZU *wp%,٪|] =Ֆ^Qײ x;v -m8#] q+z X{EV¸&; 9F UtQ8fЮ40#)#pn~81M qDc38z-$c{ t$%x. (pI= SGD'1N7[⭷l?d_"X&"@kIy,0QpI˱|-| OqlBz+_:^]~&۠b{ع_,[pR(l |0x/BLij&kI\˷ᠭF l}DDƪפ p{ӄ;v~ؑ cq*:zDH R(nHӥ?>i hol@ˏsJ" :p*0?Fʼnn;W Αt54#FCZbp=ۘFIj܌yAΦ`Z$SL>g~=f^?UD0+ac-lMߦ%+U OV8!J3ϘmcG#4OFˊ9c~ܫe,2*VeCp=Pg/}MNȗ;,@ֲ$E~OD?>]j`n ;@vC <nFX: y@ҢeDL?>"!K}LY`[v~S%os{ޙQ}&HR~V89T .#Kh"(R.;$`([ s@; i QP~*vLEVapDc{PC^[%n[k_ۍS4F"c`kr?qBLq=Mayח1'=1#Axgw!uLobÛBbKsNnMJ9Sc{ars J1$/[ڕBnC60\CYnwV9c<' ->J;sP_t=ܐ͗Te:nsR3Pj䧲N$|5~Z6'"/~ORhn;]lRLJ?i9@]F:}(%$.rSR-rAqz{TJ>C sVw+NF{ܔ,h;S&SccG|{0X) `HuTթ[E ޱG?-_Ahs6DC"(oBÅ}۠RiO, Q-380t\ZmŸ'b;~gNӗ D٪4r's28BXN揳ZF04,޵(m!4B1v`igⷩ)_ R&J $b$ o2JBwڮ=&W&m1nm=f'ZLOq# =Ip;>.f%i,U3\L#9>Gahj]XEB ,,m+1#q}6w]4pG5 ,u.;>20+ " ٿ* ҁeEcZ_?f$ L}։KGoטtKkQIHܸu. +󍉔&`h4!~pDyÐL?Z8C7ydœ:yZ,9pbM҄^)()Cyɋ -4 ϲ@f M`,@hcHU5z!IdQ?zDOPej{" Cޓe5.׽BII׉5HCX[7' nPi 3Sh+648PțO(I񻗨;_֚/c9)f^d-Χ$s.^YQvVqwKZL>ZdcExYnbfj_ tIaYϪmA|qmǧjfACXP=k|M"l„H lS=ZPi덖ȽdF G0'X"L^靧Rf6}K2N>h#tR Q64PDXߚ9PO*Ehh$/{/Q>-r'jkMR,@{yA[ ƽqS礨Cis_\;'!ڣK8̠cjEUjg@1臀bmt)v5h۴NzBH"\0uf`Ѻ'hrd0,o{X2/ :%8;mPT/C3t=}/pf/x|_w ^1spnLBt7r(oN`Csq9,iF6>"ZTj@:j-' +ryjʄHx<:+8˨-~ >tW.ſLn6c_8|2;Uh 3k 3j) ^کeX>yiAZQR {=]m50g#t@ րwRTK!s.z1Hm*E?jylv álMjWy饻֑x^G7L\,[#tK `kTM[Uq_ [ŹB!V]FGV rT})KpQu%4Ҧ돩~JL\"XFc8L]"-diȟ¡hC0cU<QǗc< &ufi,*E kCVNAp+׷}UzPWZѪR"ex#rLajDUǃaud[䶺ڃSm6-9pgEfYA>w31'| O,j{'D%~JtwXg6?TKBcޚG.O7}lX~Y;W=t1skc2.r*(Q+њ;,E|!}>z"B}]L0lP&Vѡk(iCJ8J}Ii֦Ǫi q^=9.&gOT7}Rר2 {Y0XIr:c t# D }D tLҾU)a`IO&ב}M^C6 UE^~2aA0^{huطLq1] j2LhteWWR?*G}kՁmYhV8424ci<䝍A#xu#bEe0t,7JxFĉ}¢`K,^g "Zo8ĢNkQŊ/yPHLC꥟ V Š \c5[^镽i#` y8Sb>9V{kʢE~aT99@L)}^v`i6J{a6ĂP"8dy4}n&.`(gIV$yҺ0|:rĉ⏳+T:QS3( &i{R=yh c&pGE xA]y*!Ԫ:mFk`F(e 䠪N8W޼sM| rr IޮLƸ1,c}ߕEh]dʫ FG.]},P8Cm;ke82 eT3$_T^YPQTvr^OCWeCySAѱ U~ıեKNX!Tu <+F:),LRdm٩=OW nK_:l ~ՠ0&BQD_(cPZ; x &+Q#0$Y2~%o.\kel;=8͌#,5=>~dmE81q,1flG^vd>ōzg S-w)#h"(+|cOfT^\H' rөJ9wl&FZA4%Ԛ˼]2yr)k* Ez6+T8HJ<,tJ>u+.}?H OŇEʅOI#3QKᱨG pK>._m.Cv=\tGS3clzYNϪQ{^E;JGf./Y-F}2{\ 0ӊvbȨ=;捽󑍷~KJͻߢ,bD%Y!q[>q @r<9MX#f3k&Lnnl[o$hZzٍMEi4Jb%9!>HV 6P+@3:f) c"NCKXXTexUPJ8(2>_>C;uyGdݕ#m8+WS'^M[p[CՇHc374#Y}.8?? 53aB_„6F|qR`?1bD!Jn1`qf@JU2nTs̮٢A0?:&Uv@J0>}Un1sFH&S<VUvZLkC]!uvLB!22=E'^)߰Br6,ޒ,:!׭ au?9*m- YP*HOB*NypUZe;R?Tw@ߖ>(MNe9D 1= Q9ލ-`ͦpHs~%HhVJdDX]"ε^Aw?mVrO8SX ;Gs!ͯP㍠2Rj@f5_ߊ7/-KUϹȨY.ԉ]N8xEŇo덕Tw%B^<+ ji.Kߔ^69NT [Z|0I8HM;ԆKgf/9nrJgScq[x1c'4$Br+x-:ZXa<|kAOk ڭtW8X5-[ hn<.sxE4:.@pP3oJkڂ{wouG};"RiwQA C+d+icI3A˾Cb! s;k8ӯjm3u8Ng++%rƺhw>Gaܲn1-$DxRKb 1 &@kɈ=5BOOKxLe pB6PN~ tV .*hwG]k[fxc>|LwT}}NQHXgVw/E`gr,q ~pԮ6}/ Ę˹.Hƒ _mjŤa$J L/)ȍjO+24%T9὾*uoK\A [[cSEmZՄQ=ţZ3sM" [^tcƶdW-Z\czs|kXǾ$-?1 "ayfr1+C18o~{gg<<$8KAM!򴁆0EߦOq7(vyZ $ +IWRS )թGg)Lā.L0(d8 ixsYT_w&jEdn;ĸUmSNF0vk5y?sGiJ[ >W{ `r옳9X[ߛ)@x_:{Yc;CvVTn?H+&EvO`69&3u#7OjCTt X`mc!6jqC p5] X#m|ru u](<0}ol3HiW@G zDig\#iwa4⧚yOhR=U0I;t&@Hâ!i.܈jǟjKϮ@۵y8h[)lgmp$r&{KSuq<$R)':kFlw,JB_T[։-uXJi0_䰓Us-Z,>-boN;QN9%N5k82so-<߹t?pQisnx hmlvp wȊt w=Q#IyD >+N'+$/pY\D͢ěRP~J_Z.%5KM=p0]q`=c}B~kKU3B7e;Zr֊yIk :Q pZo_kI##MT$.,E9G2"rA^zݤ禲Q(خbt0xB2kWK1[少&?lܬc7TX!:K+!h}ET^V_P2GDuJq_&lš;$Q5h):={ޔ fFNho#.j+5Y\R7mdꋽZ_`c,F{bRkeb)`?s" 3R0B0L#%> (-lTLhp}q4gNathL3{Y8hs[t.s*y ȊƓNBc:PEhǁCBCU \QW9&4WԫFzգDLRcM忙[:~v-}w<T %f?crNӍ3 p ]5E)վ%S` =G|Hvu&M[Bo:|3gz.pQ\ $dДN+:ݢ=%5%JD-[bdok)dvw̬ԙ&@;WsͨIoP Bgb,LGqf+^#j{12ԡJ``-5D/EavR%8@[R@$[.ּ\ \zp@TO@UW%g߈>é? 4jyU  A .BgcJ"`_]E;uXڇZvDuQI_԰.{~%bG˄/GvQ;U&a1̷:3.K ԲRvAV&>sf% ݽ#Rռ `t;z?*ʾ4^NAtg(dѕ)6{:LG3rJŷw[E# {GQ5Y3|OpqlKGz /r7+#A.ƌA4V^NXwUO_f%}fA) 0+Yö qϩVLAY\36>2n(.eIw;g07[ (:3R_xp8_O6y{ن2I32 X=*7bf2$" Y"8`!;H$5puf`\ӔbAFLlSq jkp%ݧ{Oia{HډΘ.T]_p'>e4E:F\YJ؆ NنǦ|߆iӭ:=RͭdQZ:>^vPg]&)zM"6Q:7'.U)sZYexϗN4i Uǖc4},' @;JJA/L#X$h!YdR6* iD _+Dp>0`|5pMIpM4yV²eߚ\r"2-5o@Hc@C-HYewf,(T3:`UC`I LX"d);|Ck1 MH@@օ,ǣ Yΰ(_eL̟Ol;4+(G\PRQۼ(Qh4h Sml$P "PK]<>uبEd^fy݃Iˁקw.ӧT!`jk!{&;l 2?κY]5¸$KA=kL7y| ܀+5$$>|^j RwPm0l :Z$kIauq,PbȈƮ顩fȰ47{*ZXu҄. .a>Μ8Z1urƲr|xv'%N 'Iv3<1G߰˔iy0N **Oo⁔zDe6(d`n3c=|w?gzvZEqP-[A{_gCx,e&éB } qdp0pV3zRg Y);Y鐐ɸ ԏZǥ\a$_n/h\hPˋf-9 5E '(5o;gz9ǭtU -"LnnA ] S%+1OZ>RZ+W3PU9KLH&w]SRNS%@*z7tGur1-\ȋ`(YZ-%}ƫkW ] 51M,cY=,BI˘Ƿhes _# M%iƊ;.UʚGN*nmrl@R PxY1 On[^㲵ozJ6g@56Ƚ6Pe(PBa\}Rݡի* )xHh6bԧbmg:{[cf7ZSBjcnj1tU:V6Aƪ0֨NyaÉ|cfm,5[?s)ɩ,ݨ5[Bق.RK8 Qڦ¨C֕]j&*\k؀/++ twt e3K|ж$Z)r9RaЧHVYa4|kAOj #9R kBVXW@ Lii$XU( U İݍFĴ~IW D)MQηïdf, Es=tJX^ڨ4|t[ʥ֠kJ"o-Qg>)~ ؙ}`9)Fe|*SъC7H-q?vH}MDb*Z- :˄22 ͡1l:v9@y,3'GM\ &e1rxK|dFR+v_T;1f ȋ36jSEuX%rۗŠaysC ǓF*Ve]>%n([6K'-x FxVNTr?,Oa:~(&nFa;<;22mA>RҲ$kUH' I͉I0$)JJznߊ06y6Cnj<7w4ejPó2]`] bN-T'Q{gFJNV8qk?78qK*XrRPLޯc\' N3trd;SJ[^\eri3I-ֽF@է(b]jԴ"KY OocPˡ E1gӇ_!Sw2~#r㚟c}_=)pfJy|vUM /)TܱNx _z`IBnބ;.1 NAjy:.{*&i@쨓C|X\-eΜFvquNSt5$1𽟠vV \ubqdfz0T.a-/`>¾x%~vb=xxBme<ǻG䨓YPY8Ogn e.m,kt%'JUeEZǭaң>i^o5j23)2,2_7SSd 'Ulω$.qD{ i$rξW|Kc8 T_B.[ĩn_sFzm0 j^$#W̠xbOh;]b%Ba=O]`,cKmslJ.vgJ/1.Uev >s3_lmF2|A&l{}}%5g͇˻ n"?ƹQMd(1C] \M@GrjHMK芎Ze&6B %9 A3玞#)½76 Rk!x(w.۹<j_]Zl=ӑgͶ'^DLFi}"ÕJ+Ki(š[O(+70MfQm7_y`h(w>>%JMRh2PrtfAi;&DVi3bKXv7wg͊zZg_Ϫzn=<Y@Ue6iBı F^@~gI:!H3Ɋ䘼yALr&ZSMp2*=ehV[P}휜߉r%ŒrY"3'0-pؐwk~ΪkcNerIq܂.x/x@sd$ySՇG.\lUR*}{yS)ۢP%pbb[˔I/}3ܼX[Ыd47 9M Si󴁭l՗[ѰA\ڦ3uIʀuZ1b{-11{_ ؒK4@ к63Vy)l$4CD€L< ~DF淭 ]rWGe3D  S9ikQO?z9$G'ˌ *Yـy3+? ~?3͍'(6sOT=VF_puNȩ(PĴwVTwԯ%-@c[nۊ̳ʭ4%Aj|._,ZO_ylu6b_fb$ʑ0-I煠σ=1⤭yj(qVǡ3镇Y'tF&[(9xo2 }ĥ*,#ӅL3|Û8sИjHvGI ~^?SbU]fK{6!A ؙҳzx_3>NUm숢d?:^LI:P~Ĕp ZTBsCl-=nU}\8<mX*@2t`= Ug&b8ՆH>A{ HY42!럾#7(Ԗ`| v5QfU\fdl>/s@&xPk|U5vg }zm>u֣RTܫ1q;wp9o5+/XSvփj>'CZ/}Qz%@g-~w;7-OTF!0[mqxg ᒆ8AjrVس:es+ hڠ\urY_u[]-w*!BQ ns-5" mXxl? ?c٬z0ocJz{1a#XA=}{B#\=,l+SFG w~"UN-gu/ 4,VrkpOO}*9/tA+gr*Q>jXԓڎs,82)qeM+#W;ݚ%Z7,}" 7p.*o|L#^#@ܵ𶉑%Pm1uӖ+ yi^&qgO%;-[XTj>*B]=ͱN ͐ ZBI?c\'O<:q6k/ :+ WF[כ+ }\wZH\ V|},4̔Y"}!Ƚn߮o3bU{ 2~%+U k :q~+an[•`S/^jtڮJINl@ꏔ9-盀>;l jP5 bbQwMHA$(n.RHc/BmejQxۮY&cX)Tt')gp;25?1;ñ,(“ܜpI~ w%)V<\NzRme' ]‘5Kggr:_7&*⤩m4'n/ ֤$!NX]ң~ 6y ٰ⦀:&0]ekA4X-m[|`WaENB(}W1ݎ`+cՇW 9RY*0fvD Sfmg!!CdB[]1ZtϰMn/D8+8wd#\]1s8.Y{9ү톗bi V2˟{)^#{TbF?rZKXVE f?Q5|@|'>H@9 b_ PO82RU2BuK6xA`Z ٔ^RmNʌa 5Ծ,Q(r~)) b? @{98ǐׂZ3ia"cḴ8;yxlCD߳P]E _;2uP;篥\ sގC@ lC2s.M\E<ć qYYgٓ}r}f>й>3V;Lo#j=ޢuf5J ;zZeL@=[ s9HoeٽHA9pBwص aVLr8DM8#e=-*^-e}KjSE{Gv47uxA3;4"2v|dǚ,[fm̒A+xƝZ~< dBF>gT[cCIWYEMyl׊W+ݐ"8OӃW*u}˫)IjV(^jS57'iJ >J9Iyz`2(1o~_Vi]X&U͞MsE0Szq`pNwuʚ/ VɷQБiy§Iah,]J`PEAmJX<7c%bb"،g1auJ'(D[q=* 'JME!Ck< C=mg̢]VP^W 7|дK8 F1wV\Kz*B!Q bZ_B6!c7%T-J@ћxU@ʚ- 8R0l̑R[;0 0 r*W@% .Q"w# @UE@Գ-ɏg/K qj JiXŃ-40i)R3VLP9~/Iv{l|IkQх3eUZA7F]{ 7Ș}谩a08 sVSjUM;_os0 uI^U&IJ[V0Y|.q1%JѨP+Pak9c C.(K\y=gѹZ_1){1^x7#m} Lh,6x Hs@4TIQYbz\/4r@xiOEߴ=d= :M pN: MFG;;dZ޷V'J[I _('HxKk.^΃.6m(vh ف=uټzg mo })sS:DR=1?|eS|”ˑ{.,8fs?%X+޻ZriIw>CsV]Ab- L'(\]fh:kT6\-[e}&Rs3 Lcq?hgLzVFpnj5MI`:f'(4o0ҁa̞:T=W@KB=P9aV ;9=A!؏ǥ?Nӧ?~2ueBF= {u]N1l6Ǭ^%鐍Oi|Ơ۠S"hӵXG=ұ3Fmдbb5uy?2ȴ?aG b>]8#-# 1[:R1ˎ4+"[~&ؼv.C@UI#Ftr򿑣'"ZX*Řz7EVC`*%(z A2hv\= Y8z| \pmYuy3C|.6|[4hХC@tgLE3[ x>W$s]zx6ڔ%՞' `$]q[EBz^w[JreD`7^RxrQYCUZCY1Ne Wb?:KWw ֯M9SuNH17gȶhfZI*ɋ ܎LZ1k1k*1+yr:)PM{U, s@e%H$:0@D#Or.Sn34GHEnM<{Zady=}KU6r7F! .7 Kd$&8-(|+_$wUqR2:Lep*"uA엱u+ݠ>g) fU_3 =="r *Mj}6:ysRyć3Li [x:GIY9|4F4< 'cc_E爻7JRM-'TpNM2[;h[c={Za؏)> P[py>ya\[XGk9qR]8v@M'߳ {"5e_y8ޕ!xcVŶp[Aˌ\M!4gL2[:%4γ IG=5L1 uׂb],6n_Qv ^!YK أƕ2ۖAVFBЭth4'N :h焰ƥm!ǖX;2 OI nʐH%㕹ڤ2kw+DKrd%aB<6W-G|F UR? +O^3A[Ng|!'ZSZXvztI'$P":Sָ$QMs2Ḍ_GXtϩUlg@X~t%Kgw;N@1uhd̃7B!zRF+ku^W}Ryyi{ObPq+-Ln)R Tj^v qF˽ ~^ʷ䣑Y$,amrmv.KaV㮏ⷪe|S P ×;zg />dc%˗NS"We} x#|L^'0mc$ kpB(zs!nqo<X}$,,Yjoފs[gxcj&_vzi"]2J?7MY'5Bb ȥƬmYaqCNpU)͛ 5с Zu_D p&>jG?GJ*Sfz`i U=<ؗ{eu&wݣM+obӆgV}C QgFܸɤn'?Hο$Ymԁ$i::!pȸkzEQw&]j *V6O8qUu}7<ڛ,vQu%阄:U*4pcDLo# [ORT&ԏ 2 l> \BSlbWF6 r? QQtb)JUPyyPRd) $햝Uީ.QV $HBsp|oͼFd3p5Q8iSL1NQoT{a$)6mp^D:X[h!eS.ϸcicReڄ;pHIG)j6[Rl-bbF&m}`E(;#|t~rDNY ` ~bf͂Ԝրchž|WUom"<kk[*B݌Fc4AN;תPGsMU2'#jB> ~ݫ~H5:jm%m\~MyCNb7Hy :AwH!5xȞ UsQvͧ7ބ}VPrF҂ʕkk)ֲ2/eNarO'pR5aJ5 | S-Fc[fyF6?U AٌƵ.`< vځGM H6~4; R CO䌃Md\>U49ҦXA۳}k[ؒ@do1M+qNGy&%rU9 f5QN#ԕwwWivh GzuhTXw/P+iAbaɱZa"2,@KdQx :`UyFfy7jb6;.?$!HU-y_{5[ 쮗q,`pfW%"9mΉ^ӥљOe#8X/>}.'E`}2.xol,zЙ=Z~BN+{eBxépk*w:0fYn+zem#&!k119^Ɋ#|"*STۧZ(rOC tCYx酼N3 /!p6RWl7a븓o+m Z2I!j?.xņ-YL 3) h{(_9#}"6iOC%ߐtvJjKdve]"r!2߻1s{&OThodM*Z+@ঃe]?,Kq ?)Mٚ;#1諼+ðQ=hbMyrdV[riqT. Y-G3#Ԉ0(uqy#E~ش2a'Q UWNPP!>:hܻ1@$Ov[a}ՠ5zm! <ĉ226Ty= fظ,;!8tt 㸏PIʣX_<$3aЈ `W?&$CZ-@jY"5"A<"{e FSN؛領hm1v0j$ij;ڴty|T1A$S{zM&L1CkDuڡR/o<@c^(pJ7*㓂Ǎk"/X^K(WJ`kT!G?7:aAJd(ViQ]Ar}$XuOKj|QxJ{T!Y:yi!p 84w8*%ɐpx$q7._uAr2Õ0 Frxbc]/ȝx_$5[}~C]d/NС{]L^F%hC('Grxv>hUת[NdQĵ8N񇤹Qa'*O@89dv ^~i(< lN%e]fIdOŶ{} ` XA2ٹE5fL?.A|2E;sr4 ۍ%b/Q .Zcl^kQ`W=c:Ƒ6HPm={pɗ߬ {Jv1q'cfbƬw/uyUvJ4FaxG7 ѺgH]/3@̋ <ռ( 8,J0/uԴTucEkmh8ʩXApTeMy+h~BOm=T.ؐh-M6ڈ^s'RH#}[!~&nxhf]JYk_Pn/ʺ;lU%6{K~^,M4]}C3lZB,5F8x1kha2)1R/piÛTҚc퐎7"eM_%oN O A _-F;% FǷkr19@7NtxwK9H{҅7]AZoyqaoi .uR'G!0PV FM#KjG(ĮMQx5|O`%5H;:3:摮OMם񍨳!+#odp&QCW"MM1Y +aҮ[/BVC!&$=mODucuebI?aLI4R("e4,t &Ɉ*if$'OOZ ګpGKK~udY\B kЋv6^VT D6wS>j}O'*cɧ6m:sGJs:Q\竈"e-og'T<Nua þ%a˻R=h3s7W^Nk%׵Th_ӎȉ@~ Gh:UU;YYCJ O(rGՅ `t>apwaSÀ҆h/Pm B [ŜDޡ2'>IL a}08WZCޞ`o-yZv` p'7 z_ f .6-/8..$VK&1mIO@ajXA {v!IS=MdR C\4| km? I8<ዻ 7hm"vJ/: ĹE8a z)a+(ROn(.t{W_#giyYv"_{E%ʘUPn<ӈ؃/B=0-v."Yj-CG~f 5BdQǣ +tW6*1/lJ1@_S"6YE)~;P}Uu[W^Uq!qʣǦ6;:%Ԓh:$LsYXߙT 9mf 0GElj#8r+KV+C.J2UvFH1%uo9 d7䳌|e#+GH+A+kRylO#!=nsBsWv)rQ kK`F0~mG^DXϏ8x(!we uJa'>VmQ]1/ %JȊNwKz+=(T͔rK%H*kYjX0<00f7N8g`  "K5b9v`_^IoR{/P N"zzWjDGdY # /) qrذsBS P@ z+%BiZ2ʥ}%r/ ~}+yəYR Y3ìa׆%{AS-RkƀF}oَ׺mVgi>>Hcfp Vg5H̄i`/gNLfܒ8QƃFd*H:(7Lc3YcaI 5"ORHN1*>pwp/+'jl!1d ^@Ҳw]:e G^+ᰋV3!蔮UѳC1YkHb /5B{Ha3%;[<)}hEm 8ǰO c2PuwN_RigA=lXF΋[VQS3W_ OB'}L`ztP@m<a;!EXhc@wR`2ꚟdƀ RA"D]2qq~d݃Ҏ"SAwqա>uͼZ]wHDL/_x(M̤{v6T˅hӾB8R/7Jy& QADL~&!nt ZP{35:7|!Z媠,V"5xn}Kb[/F .R)0^_ CC=xmaftpEٔ(C3T`{ 6HR1\Gk+vA]HxFȴd&6=zK.EjχS!Ut.y%o|Z X@ʹȿĈh"ש ^؍GC39rսc,2)B C>/H +Ŀd ^er apH.|^MԲ\Ctq)Z#V%>(~(Ύp_ \ =a]*D&a" XXWM]#ZeLe|uHW4q6vz}`FT, 䓤pGɛS2ޯD;gogGRA#=oDGqt16amv(Purnh}4gKB6DuL W*͆?W޵[0\Q?vxo) 8@c̽ @~RHZAv:Tm(Vg=:閪,8Fj`w)DsDA wnp,wn]M-Dy1mٵN\8|#6L /t*Z,х'kde~^.Ĵ:ߞֆW$BԒf ^-8rt;ũI>\4 rM4Sހ*kJ]aŌ J>C-Fo~8ٲNP @AjhՙƼn QikY A؆3ZЌ*b46-Z"P5Lػsd;':SxBӬYR4$o%gDD87b5m}dN#\.Aᅒ<+*- 5ֺߘ7;hU)@r,G(o^b\'ݦBmtx">cy@Q٪DE`"nQ̛+EѿT%sSKfL!62*'T홶M:Cj,HlMSB(y`7ID$waL󱹶N,YI}zrصoJ(~oŎ<8,W^(yvW!aJ32AM֧O T>Y^e;X)89??<-{s۰tD\2d Mv)|_e DYW3t ^ ٴ.XQ+.D~0/F3Lz~e DU;X:Vt}<\#݁ 0H,VzqC+ 2t5&p#,6`k-X3S$ZB}-bxT{cƵ"Xc7 _\3Ig]@t.n|GoعZP :9捭?%$e6XU~"F  d`R b?2%U#zXӠd|uiGwK9d NE &s8!*a]`($51h7ng/޽T At{g(!x GD)~[ qij6"*d}.w (3Z#줁r* {\HD E_nޅ ((Ln>fJā]yG;hxL@ -Ljߤg ֩$mQ/:Wg6TaRj<$[2f_Մ=tQDj3a$lOp𮍌M:DGbܥ5;uE0`ksE|zy+{+ <@ "{T;vqG*(;xmFWďg*L$x٩*T8W6EN;#!iJ)^윶%Py{k23ǭRT/:\xכܷ r,,"FOQ7 %!O|-,(6':#8-1c0oK(.4Ks`[LGeFHkcjK-*~kKbGzDjKUS7)#?>kIYAa/O GMd|kJ2P_wE渜K-5 بUM 6Yu%Э5 푇!{%=0X&mSGcY6y_"2ADij]坓%/\OT% π2ٟnLEh\Ј_v',U?n_v](>+do3P)dMv|޺2U{!Qr Sod}€BAJF,~w(4xȹ~lOpm:]JѪ|CP1JB)^9oHFiP-Xe944 ]7Bg&Nd7"2@Vm֬з9!u寛rU݃H+͔6 {λw(,ڳ;rǛ1 z82̞;q1sB$P*k2*&9erV ^V{PۿoEcW" k͟Nhg9.ڵwFb1}d|$F?0eZ=SN9v8ΞLJuؤ+NA)ύMR:ݹvz jwj I>'g7!#Gu|}pY!& = d}I+FH $PG2 fʽ׳.CFs9b40h}K4;8DX2=]fQH+⍺D=^q='7o7.uu bue%92|ͽ]z,嫨sr, w3 6漓@0`Û5]}-=V7Mj1~JSkV^B32/{C0y畹(,z/RWIֵ(օWdb וqviqߚf3ݯMmW%jr# F)cODDb鯖>ǙzJEV;_}Ip_|gx|tO6%MnXTՂ\mkd0ǻvvɓv]q/|qԊxu;Vޤ|~Z~%t]lp!Ev͜bgR?y J#9WoD[yv_YÙ{e%z+ßjtPW8[''qUa&zoD"dZuF񇦅M ;VM?66%&QLKJ`L@[N[ n}HqެD"rR ?l"ĴWF{_ͩcm̲e}s k'g}E>$"/NΤ_Qy "F"L-5KM$5vb M)Zx')`*Ef ׸nؐXLD^Utǐl5nAxX.*`P=k)0t~BŽy-|/W̶L˗ cs ;,R#*[<%Coj=.KFm6X_J)g.䐭== 믊# `k| h6Ne%\ ?Ѹ>dVedg2 P vU5j\*e"]*kBVz{0qblWVOnRT~uZncMݜhr'艿g\f3ND. [ŧUKP2c gϫ<IV>[ h1h&I}l XjNy@q&Ǧٴߔ߲ ]#N(D9"jJb4B6/Dr^)[g@j7_H)Ȣi\UDdݙ.~F; K!SNJsɄ}J._x%eH# ₟X}&ǚJ^q3D諍0~|  ή\gK"]4i蟪qԓFEi{tSIhL>ZpnzD-=Ё0'xBS+[\D:y]ߎu_7$lw$v \dEgU_ՋW_V2_!EEʧi*Q#ĉi{%aO8/npd}ޫ:G5憦Q<# T+`P3IQ=5*s3,aW z:f_vSm`g3{gJ&+VůBN?r}%;yu; _]ܿl/*x =Ȉ{1b6SG|UɯTuSwcފ @M@딘L|v:!`(LZBB4?&> q <'ѐ-3az3iQq ~OQ։tK JFr&< IIUbiĂs~YgՄ;Apcs JKYVJBi0WxCh0{֏WE+*8͵7 x$ $Yv~ xtwP +}/ͬtL"X/ۓ> *F1RIJH~7SDIٜk3 y8O[WrP @׸fR"WDnۊsx;H@ U$aiv$5 Ug6xϟvW5v}X 6. tUǘMe oR{'a8#\?wx('_@& ®~a7gl1#&쾽JDIB Y^ooi}GLܖ ds+U)Rm5Sԯ,؍q„Y*ãl00eN~ d iI||iW | \@Wׯm ոM4P$ ^~,\ LZKl9 X +HJmZMluYzjҀT ȄKHۉqdrPxRHwc([ Ya69^ճ0qN S7g"1xs"Vo&].J!$#NeXk,p.ɚibsNĂ-Ϫ*)W*OrǨus3Z58I%{p=#_)P 7g59{*D< 0,QpT> 2X{Ln6fh=FvпOE͙;&LWG%u~~᧩.ICU͈@{"OMbj!~'}$+\/7M%ãV|8V - a,nLۚ!F FW0HAuׯr=ȀEZo~ourG%!`l/i<< jqs۵Kr%o*Jz謋nӲuמр5 ~htH0הg̗7UUf P^!"ă>W$ k @XD8:r ɓ(\ Km2wG Ч!}HB}9fY aPIOXkX-ot  !qzau4-|J=дprC7bEY`Woo< wN}|?kհ\AەcGL4 SaF{K=>tE#S#sVI3=!>r_Փ 1U"zZ&>ud;Oq=oFy$_u1ӿmPYd].g Fa!fέ vp~W *zqK˭\dų2:^]fB$E̽ÉvMS]Q.Aw94S.>/x&^Fy qRl"Nk U?ogMeLϬz $0;'Oԇm2x?81ܕ@~aga3nGnQ_lıHA㙀J O-Ǟc  j[)AoQu_+6Eg쇑@0 oЦ)g d?c~(1I;,e.W+-=ߠ`| Jt`DukכA5D0B!"%3(+$3oN?LdL@#utybvܐc*Z|zB )Oj4oͪ:4Yaj;q`ѯ3@ - dj/ϊxf>J\/ΰ1mP$qv~bVFbKٰ;={ҩf2N8V>6am nܢLWSH[A`@ө(@Dzn< 6eBi6fx0|̠sZiwpf%AZt%W-(cy OǗyw1θce m^7Iq^5`[l@_㻿GGd eVJ LN/ՋK$e]aƠޖ elHGod)\I 0XOِ{BB$7܃#8hLl]G#ζq? 9l^ 9ZI'u[Et̜ݴ yeu x= gЗ|R8p:dӛ XxtYyc=WSgAh/xMF8r` ,31zhRUk ׀DM=r9^v eèE\e6ﶶsb e$]*8pD^u#)gvXU}@,xQīJH̘5,?V=Ⱥzv~wOy4sAr8+)e^+{fR􌴍WL-C(f͓ʤ^(yhg9Q3c('fO&1j3M|NSuw|SԽ•9Rz' ɱ- 'l2ؿމ;iؿzD-x f=δƠH{($\eDuSQ6W[&:GE71l4e[9tDRL4?oYl&A q4OH/ڃ |ym)c&c^̩so]] 5݂^VĮ@h7 yO{J&E RP $튱Ÿ5хUN*vqFb_?ZD & u+'uPnq 5գ[%Bmwp;\Uy`P*k(Cj!HA xДC ~o(6Wy #/<@SoA5a:nkj /21ovfvܙX§ H`a /lUYk. a?\穛*ъxh!Tnr,7ҫxZ#x<k8_ʶ,a.mTqǞl'QM&~wMvx<8AOWN nq([ пߪRZ'"1E:U Yo+%ZЄIz5wVwjJykn`ocȠ-eUhh*%s[Psw& Wjz!1Ob. @VKX:s- O$ ȌAW>jׇg_j`!M!xDU#~/a_III'͐:>1p#8<82\P7@(?hUTՈzh'bڸ8Z+܀J^`p&x [(:9ޭ124uppj5v3I{IvIt+^?U#'4ZBǛ{c!vQ5+<J6aOaTRpLJďAH%x=oK Б ۰&\4o/v:gmw6SU Y@VJaRig9ޟ [+~N1}K񟒬1%u 4tҳ:`1>Y>gsŵP2 ȕxв|QQ(qD8:9hсlf[DV%՘V7 Wݒ;B/s{ E06Þ&D.@A6b}-p|жH8`Zs@Ra LU38ց}2Af*,JRӤ'ݻ}k$g1y&5 RLKr^o tIL iv&s*+Lz/- tn 'w`Q+}%V,ID-(AgMG2p>kOK//'|xx_b7Q0|` k%wx$Gm垜Tb$pUuvA2X𨰾FeLm z'N̞ܭl*T[JX^9>3V0'1 cF@7U[ $߶v@bFڂy{ْKt&=x5Ӱz "*O55Q}4^3LTM'䚖23;*vEժk[reRԒ.>dOgGN^`'/ȒxhSxuSHce~x.eqK=u|^ x,~ayhAҽSt* M(CkOY(HH1"}E YR"m?J EpFf)fU@CcCQi+OfQUp/ z UၑD솚Rj^}oz pn.t *r3$b6j.5LϽ"U|2$ևl<#99ӿ8Dn zrBIͲ[B*s]xhJыl^1}VD=TLl͟_%X!^U'!WaT]R"nb Wp)1{P-E+`˛sy.X{5Gf=D}PuX0aժOssˏmkldu^ڄ&?PC8+$ B'TBb OQ#]~{\}ewuK5pPN,HA᫊.]6[GsٽFX dztt}mLo-`t>4 irY-2&g4WE{@Lk9#P"~:&N6ۅ;F}<2g"ǭ amH"n䢄 5< kgKnk҃+HWA[ɰs;Cdl+u)Cɻ}"AKHf ˽B֜K6",LNa>23um%aScWm-^r01ko M_˟:,Gsz<tw(u-Mb^<H[ww';Cj/E1Tk "adi7wTG0n, xa҄n;ۖf^op8tSjzH(zmo"X`yE7K͎VõK3Э(G" XnQD:`hgz~Z_JkXΝpB-Ow_?'(䈪 )"3%˴OZ{#."Vʡ!xi;Aרpr݌"+U?(D%e]XZo(&@-4Ws=͊>9]Ѐ`@p'y' QN1 |(zuNWkΛjmaYeBE=!U9=z7S 8PIL8К }o'?2AsaM'-*Cm#{V`{k*i#Y*шP u$Nwܢkc%;PPZx44K^BtЏ/_?W8Cb_&wSGԖo@vNn|rD ?o8}9pbe?J CbQ?E1Rvt>XW8`"J Zs:) y(+,Q1uO)ݛ?I2 \;pT*ȥP녔"JDHϧr/;`p,m72SI4x֎UBv)3 \ri6Qi"OiuDeTu oU}~YԵdzD]d ~ye3@$ZJz۽Clb׳"Gj]"ʥR=LʦWa!ΞV;W tDV9Cf|RϪdIm\ DWT!vq X,>su]gag 8KW3| aY6]YcrOBc TvBW@2{@K^:1DFXHxZxe(SV0Ll\4p0&! ڥQ&ےW䜿ΐ3ȏyԇ=Yp0ޗωV)Ό{s0V &2.p [Xf>5R-5Zc>% (fVg؝meU*uo#.d6ժh/sHjfo.fT>qFLE13ǔwƻUd4Y}k/)WuVx2O>IuKՀQPgogiV#cؓZ; T֪Em!x799G9,#t52` =@`3ȍ0@TȭAI{l ubH[BqA-Aj~=LjL@;QmD"@^8<~2 t<2{,\Hj5D~ϫKr jLyͥ|>Dg$%2 tf[>(B tKmw_^+kX1ǥF4kl Ȗt]QNsk!=DT?>O<4ddt0٩oԋbG|r:iZ>߼I㻠VWN)xY0NܯdYn&=%+aõaXєh/$RYMzRHRӸSOďpyb&74M yI=O|#f9>y2YތZ }Ezm6"i\{Zg^ī qiwxԹq"m֚xC*$TM.YT&UOwNL[k֕&wO_>B2z \TP7'.AJmnrM'v)/vMӹ}c>7+Z> ggE8rvI/s)9qe9 )2߯dAH 1UWs5EOhO"?i]]KH|ywZ7=iJ=H_vu-J}ndz"]s6E;IQ,+PTcª]gq^nLV'.b)Ȝצw??-lDEh#:y%B<)>: jO;1!2岧nʈ.k3IGpstq24*?oik)|aqc0{)96z/@,th"rdu"7*tBtzWYa`ݟN;<:vwf~Ul~o&=_u1Tu(]x} agO@f3j#J䘃+tFFiDd!BǮxl|R:KdV]ȲR:fJWC jx)̗fGrN-`ܠ7ۉfs£dLڄEK3W_&l:5\fE2{ARv^)aG"Yuq2뷶^e[3 +I_Č(Hl{$dlfW_yՀvpij]Y2T֡Ec͗ح~Y\kL'G;Ypf:h\# K{Q":-wExzTP `:W>b  AL 9$ n~fШ7Iod2;|g|si B6 M.;l!ލaү@*5"HYƛAh!qs؝$w̪y,AĂ+%N1.{YWc$@R}Oz۬2R4c׬]il%7NQKp(D]qwl={2fi#bھW/ٮAY0K! "lj%'.˹* #?1#ȷ,Ge9 ³B8%Ya s Xj>1Ҧ)4~T[~AYIXcK-C5RbtyFaNyE#E JԸ+VțZ6q/[<@lpdՠn")Z2_tWY3%.ۋUkcǒ9ƙi7x~!Bө/p5~c h%,WCngM[Cb",a_8s#=γj3eQ\Zc&X4f}F\N^_Ey%L_x>4)gx߬D+&/\eau%\Ipo 9!#ccܤѵ2.{ @Q:ܤ-TmtQCFy;[^g7BZ?Gv66X+Q\{aLxpK#Sj-ݸ4>;I,ą߀>+"b^S!eFQu@!~k(ڭ:8Q-V}q?3%_Y*VXNg96H2E^f22R2KFkj[)Ѝd-i o̮lJCGrϵ=zj$ȶͯN(F]vne%˻<ndIJ) R_N]nbR5>njQi3$; eh2g|}*ٗ\Ȟn~d1keo(ub#y<:7I. (4^ D1UUnvhӫ=38Dnh.Xv Zt9&XDŽ4U^ktϕ󃓯6@4/j(a\P[^hBkwOLKWVB;Ro) o3ۙqF!at^i₣_xW?);|۱G؞h97>1tw[,+j5>K٦/IAџ%ŭkF)Vx0w5`{0q_7A8շZeyV]=IZ],=סą+,:­u\}ԟq@6.>^v.D+"շ'<YsoUgzIc/|&ъ6|RT~ 0xPVM5)(QBw~Rԏ-gOЮ2[]0wSbڪJz %|4\Tc s}.'j,oo7 OAr3"5;:騪ƛnDܥcfu Me?Fu-,!CN}prYPu-18VBavIMc:d"y`u2z[xc}y>@<Z6$soJ>0 BJږ 'I׶ YZ