rpminspect-2.0-1.el8> 6 6_ ܉3!y덏%!E/֡f !E/֡W9Ge;2IeJbLdUF(^Ywg[p_HvSB/OUi<9,k m%4|@Y DM2))3?A`0z-\TM]1AMekͼ"Ov%tEPNIeh8Mx L/$T~P&5@$I!h&ng9~`񣡜y| kL}$5aH6x_Kb_,Z[ Mpf` 7; \֟,JZDOl1%U?4b Cؤ!p5՞a F?Vk\Lvx)M_59HSݾ_‰ʫ 2VM7MMYj[-1CMJm2)llK{!ˎn8Oi=?d   D@Dlp' 6Hqw   L ] %z8 ( 8 #9 p#:#GH IPXdYl\]^ bfdefltuv`wxyL txCrpminspect2.01.el8Build deviation analysis and compliance toolBuild deviation and compliance tool. This program runs a number of tests against one or two builds of source RPM files. The built artifacts are inspected and compared to report changes and validate policy compliance against the defined parameters.fېbuildhw-x86-01.iad2.fedoraproject.orgΎFedora ProjectFedora ProjectGPL-3.0-or-later AND LGPL-3.0-or-later AND LGPL-2.1-or-later AND Apache-2.0 AND MIT AND AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0Fedora ProjectDevelopment/Toolshttps://github.com/rpminspect/rpminspectlinuxx86_64g,hRgӜ^AAA큤A큤fۏfۏfۏfۏfۏfҹfҹfҹfҹfҹfҹfҹfۏfҹfҹfێfҹ499e744bf2df3ff5ecf1cb15a095993642a2984a04b83a65474c61710046c453fa8c0b4571b365b09362c42f4b6478e6c13b5686c5b704dc9ac31b7612a5789b8aa0afaa4963f34ef01d76c6cfc3eb155df3ac53223f6cb604cfa15218e9747ec89faf3d54735635766a8f4733a5de5424a39cb06a8acd2115da239d08d203082ee61831629c88a705316c4c7ae3e5efdf3e3ba7eb0b5f8cd18af66a5ba52fca6428c78bcb8e138f505eb3ad25020f03fea9a09c52f87cf9c713dcee22e36c1d56744a64f09d51de59f7750dff9b79fc2d7532d4abd6ff5ebcc2db02dc91baed10629119702eb1986e3bfdaab2c2d69aec0aa3d9d00d5e381c4ac0c5a11ccc32dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551b379d826115c3344b669b862550664562a060a92e32f237b230429cbf5f3b8131c870234259a01b13a2f3c8ece6bcb952bec6fb316c1016b72a6be2f6cf8abb0751f4abde88f86d8e158f189782d916f561a6fa662956b0ff7f9780a6b515419../../../../usr/bin/rpminspectrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-2.0-1.el8.src.rpmrpminspectrpminspect(x86-64)@@@@@@@@@    @libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)librpm.so.8()(64bit)librpminspect(x86-64)librpminspect.so.0()(64bit)librpmio.so.8()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)2.0-1.el83.0.4-14.6.0-14.0-15.2-14.14.3fٝ@eeedkY@d@c%@b@bbb\@bb[@a@aW@a@a@a@a@a0a0`@``@`\{@`\{@`\{@`7@`7@`U_@_@_@_@_[fDavid Cantrell - 2.0-1Pete Walter - 1.12.1-2Stephen Gallagher - 1.11-4David Cantrell - 1.11-3Michal Domonkos - 1.11-2David Cantrell - 1.11-1Orion Poplawski - 1.10-4Frantisek Zatloukal - 1.10-3Fedora Release Engineering - 1.10-2David Cantrell - 1.10-1David Cantrell - 1.9-1David Cantrell - 1.8-4David Cantrell - 1.8-3Fedora Release Engineering - 1.8-2David Cantrell - 1.8-1David Cantrell - 1.7-2David Cantrell - 1.7-1David Cantrell - 1.6-3Sahana Prasad - 1.6-3David Cantrell - 1.6-2David Cantrell - 1.6-1Fedora Release Engineering Björn Esser David Cantrell - 1.5-1David Cantrell - 1.4-2David Cantrell - 1.4-1David Cantrell - 1.4-1David Cantrell - 1.3.1-1David Cantrell - 1.3-2Fedora Release Engineering David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.1-1- Upgrade to rpminspect-2.0- Rebuild for ICU 74- Use rpm_macro(autorelease) for %rpmautorelease dependency- Use xmlSetGenericErrorFunc() rather than initGenericErrorDefaultFunc()- Use RPMTAG_NOT_FOUND macro instead of -1 (for RPM 4.19)- Upgrade to rpminspect-1.11- Rebuild for clamav 1.0.0- Rebuilt for ICU 71.1- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild- Upgrade to rpminspect-1.10- Upgrade to rpminspect-1.9- Rebuild (related #2046952)- Fix invalid free() usage (#2046952)- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild- Upgrade to rpminspect-1.8- Fix missing %changelog entries in the package spec file- Upgrade to rpminspect-1.7- Upgrade to rpminspect-1.6- Rebuilt with OpenSSL 3.0.0- Use %gpgverify in %prep- Upgrade to rpminspect-1.6- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild- Rebuild for versioned symbols in json-c- Begin work on version 1.5 - Use llabs() instead of labs() in the filesize inspection - Improve has invalid execstack flags reporting - Use long unsigned int to report size changes in patches - Fix some errors in the changedfiles inspection - Update the changedfiles test cases - Check DT_SONAME in is_elf_shared_library() - Skip debuginfo and debugsource files in abidiff - Make sure abidiff test cases add a DT_SONAME to the test lib - Report INFO level for patches findings by default - Python black fixes in test/test_abidiff.py - Update the test/test_patches.py cases for patches changes - Generate regular changelog in utils/srpm.h - Skip branches without targets in submit-koji-builds.sh - Fedora and CentOS systems in ci need diffstat - opensuse-leap CI job requires diffstat - Fix the Debian CI jobs in GitHub Actions - Fix and enable the Ubuntu extra-ci job in GitHub Actions - Use pip instead of pip3 for the Ubuntu command - Use apt-get -y install in - Enable the opensuse-tumbleweed GHA job again - Make sure the Gentoo GHA job has diffstat - Get the Arch Linux GHA job working again - Use ubuntu:latest for the ubuntu GHA image - Simplify the utils/determine-os.sh script - Update license table in README.md - Allow any number of builds specified for fetch only mode - Handle old or broken versions of libmagic in changedfiles - Update GitHub Action status badges in README.md - Fix $(OS) check in the Makefile - Fix the ubuntu GitHub Actions extra-ci job - Make sure the centos8 job has git available before cloning - Change strappend() to work as a variadic function - Use json_tokener_parse_ex() to get better error reporting - Fix reading of the javabytecode block in the config file - Catch missing/losing -fPIC correctly on .a ELF objects (#352) - Refactor elf_archive_tests() and its helper functions - Followup fix for find_no_pic, find_pic, and find_all - Install cpp-coveralls using pacman on Arch Linux - Install cpp-coveralls using pip on Arch Linux - Install cpp-coveralls in pre.sh on Arch Linux - Install required Python modules in pre.sh on Arch Linux - Do not upgrade pip on Arch Linux, go back to using pip.txt - Drop DEBUG_PRINT from source generated by pic_bits.sh - Do not run apt-get update as a second time on Debians systems - The lost PIC tests need to invoke gcc with -fno-PIC - Update the OpenSUSE Tumbleweed files, but disable it anyway - Define inspection_ignores in struct rpminspect - Clean up the config file section reading code - Add add_ignore() to init.c - Fix fetch only mode download directory - Stub out libcurl download progress callback function - Perform symbolic owner and group matching in ownership (#364) - Restrict download_progress() to systems with CURLOPT_XFERINFOFUNCTION - Read per-inspection ignore lists from the config file. - Add commented out per-inspection ignore blocks - Implement per-inspection path ignore support (#351) - Report annocheck failures correctly in librpminspect. - Note all regular expression settings use regex(7) syntax - Allow size_threshold: info in the config file (#261) - Check ignore list in files for path prefixes to ignore (#360) - Support a list of expected empty RPMs in the config file (#355) - Call mparse_reset() before mparse_readfd() - Do not crash with the -c option specifies a non-existent file - Update TODO list - Make sure brp-compress is disabled in test_manpage.py - Require/Recommend /usr/bin/annocheck - Note size_threshold can be the keyword info - Ensure ctxt->lastError.message is not NULL before strdup (#382) - Handle corrupt compressed files in changedfiles (#382) - Disable debugging output for the ignore lists in init.c - Drop debugging output in the xml inspection - Remove what working directories we can - Correctly find icons for desktop files in subpackages (#367) - Followup to the Icon= check in the desktop inspection (#367) - BuildRequires libmandoc-devel >= 1.14.5 - Manually install mandoc on centos7 for now- ExcludeArch %{ix86} and %{arm}- Start work on the 1.4 release - Trim git commit summary prefix from changelog lines - Report the program version number in the results (#309) - Handle compressed but otherwise empty man pages (#308) - Flake8 fixes for test_manpage.py - s/self.rpm/self.after_rpm/ in two test_manpage.py tests - Disable broken ELF heurisitic and size limit in libclamav - Modify dump_cfg() to write valid YAML to stdout (#306) - Migrate more code off hsearch and to uthash - Replace hsearch() with uthash in the kmod inspection - Update TEST_METADATA status in TODO and MISSING - Restrict style checks to specific directories - Replace hsearch() with uthash in the abidiff inspection - Change tsearch/twalk use to uthash - Correct misuse of entry with hentry variables (#321) - Normalize copyright boilerplates in source files - Use hentry->key over hentry->value in pathmigration - Adjust lib/meson.build for Fedora rawhide - Drop gate.yml and begin non-x86_64 arches in ci.yml - Add armv7, aarch64, and s390x to the other_arches job - Change init.c error reporting over to err/warn functions - Modify file triggers and matrix use in ci.yml - Split 32-bit osdeps out to post.sh scripts in osdeps/ - Split style.yml in to shellcheck.yml and python.yml - Rewrite extra-ci.yml to use the matrix strategy method for GHA - Move the emulated CI jobs to extra-ci.yml - s/pkg/pki/ for the centos jobs - Debian and Ubuntu fixes for CI - Python pip on Debian is called pip - Try to fix just debian:stable - Enable debian:testing in extra-ci.yml - Enable centos8 in extra-ci.yml again - Enable centos7 in extra-ci.yml again - Enable opensuse-leap and gentoo in extra-ci.yml again - Run each test script individually on emulated targets - Try a different syntax for the emulated matrix jobs - Install s390 glibc headers on s390x fedora systems - Detect 32-bit and musl presence in test_elf.py - Skip lost -fPIC tests if gcc lacks -m32 support - Add stretch and buster to the emulated targets list - Drop Debian buster from the emulated targets - Install gcc-multilib only on Debian x86_64 and s390x systems - libc-dev:i386 -> libc6-dev:i386 - Disable Debian targets in extra-ci temporarily - s/AUR/git/g in osdeps/arch/post.sh - In read_cfgfile(), keep track of block depth correctly (#329) - A few more yaml parsing fixes for block vs group - Recommend or Require libabigail >= 1.8.2 - Finish normalizing all the error reporting statements - Advertise of rpminspect-report in the contrib README. - Report libclamav version and CVD versions (#258) - Ensure first argument of warn(3) is a format string. - Enable werror=true and warning_level=3 in default_options - Update the translation template file - Get rid of invalid free() in get_product_release() - Add inspection_id() to librpminspect - Update the po/rpminspect.pot template - Improve mkannounce.sh to handle stable and devel releases- Start work on the 1.4 release - Trim git commit summary prefix from changelog lines - Report the program version number in the results (#309) - Handle compressed but otherwise empty man pages (#308) - Flake8 fixes for test_manpage.py - s/self.rpm/self.after_rpm/ in two test_manpage.py tests - Disable broken ELF heurisitic and size limit in libclamav - Modify dump_cfg() to write valid YAML to stdout (#306) - Migrate more code off hsearch and to uthash - Replace hsearch() with uthash in the kmod inspection - Update TEST_METADATA status in TODO and MISSING - Restrict style checks to specific directories - Replace hsearch() with uthash in the abidiff inspection - Change tsearch/twalk use to uthash - Correct misuse of entry with hentry variables (#321) - Normalize copyright boilerplates in source files - Use hentry->key over hentry->value in pathmigration - Adjust lib/meson.build for Fedora rawhide - Drop gate.yml and begin non-x86_64 arches in ci.yml - Add armv7, aarch64, and s390x to the other_arches job - Change init.c error reporting over to err/warn functions - Modify file triggers and matrix use in ci.yml - Split 32-bit osdeps out to post.sh scripts in osdeps/ - Split style.yml in to shellcheck.yml and python.yml - Rewrite extra-ci.yml to use the matrix strategy method for GHA - Move the emulated CI jobs to extra-ci.yml - s/pkg/pki/ for the centos jobs - Debian and Ubuntu fixes for CI - Python pip on Debian is called pip - Try to fix just debian:stable - Enable debian:testing in extra-ci.yml - Enable centos8 in extra-ci.yml again - Enable centos7 in extra-ci.yml again - Enable opensuse-leap and gentoo in extra-ci.yml again - Run each test script individually on emulated targets - Try a different syntax for the emulated matrix jobs - Install s390 glibc headers on s390x fedora systems - Detect 32-bit and musl presence in test_elf.py - Skip lost -fPIC tests if gcc lacks -m32 support - Add stretch and buster to the emulated targets list - Drop Debian buster from the emulated targets - Install gcc-multilib only on Debian x86_64 and s390x systems - libc-dev:i386 -> libc6-dev:i386 - Disable Debian targets in extra-ci temporarily - s/AUR/git/g in osdeps/arch/post.sh - In read_cfgfile(), keep track of block depth correctly (#329) - A few more yaml parsing fixes for block vs group - Recommend or Require libabigail >= 1.8.2 - Finish normalizing all the error reporting statements - Advertise of rpminspect-report in the contrib README. - Report libclamav version and CVD versions (#258) - Ensure first argument of warn(3) is a format string. - Enable werror=true and warning_level=3 in default_options - Update the translation template file - Get rid of invalid free() in get_product_release() - Add inspection_id() to librpminspect - Update the po/rpminspect.pot template - Improve mkannounce.sh to handle stable and devel releases- Remove duplicate elf_end() call in init_elf_data() (#303) - Update translation template- Small change to the way Koji builds are submitted - Move the master branch to version 1.3 - Drop DEBUG_PRINT in process_table() - Add doc/git.md to explain source control conventions - Change Suggests to Recommends in the spec file - Add kmidiff and politics to the inspections section of generic.yaml - Update TODO list - Use warn() for non-fatal errors in mkdirp() - Require libabigail >= 1.8 in rpminspect.spec.in - Enable multiple --headers-dir1 and --headers-dir2 args in abidiff - Swap out some more fprintf()/fflush() reporting with warn() - #include in peers.c and rmtree.c - On fedora-rawhide CI jobs, install gcc-c++ and gcc-plugin-devel - Disable fedora-rawhide GitHub Action for now - Correctly handle the -w option on rpminspect(1) (#256) - Drop the relative path handling for the -w option - Build and install rc from source on opensuse-leap - Update doc/git.md on how to track upstream - Add .github/ and osdeps/ directories to extra-ci.yml - Build and install rc from source on opensuse-tumbleweed - Adjust curl(1) command line used for rc in opensuse CI jobs - Trying to figure out why the opensuse jobs produce curl errors - Another slight change to post.sh for the opensuse-leap CI job - s/PowerTools/powertools/g in the centos8 PKG_CMD definition - The output of html2text on opensuse systems is different - Rename HEADER_MAN to HEADER_MANPAGE (#264) - Add inspection_header_to_desc() to librpminspect (#264) - Add xunit output format support (#264) - Support the new output function call syntax (#264) - Move init_elf_data() to readelf.c, move data to struct rpminspect - Update inspect_elf.c unit tests for librpminspect changes - Remove check_ipv6() from inspect_elf.c - Create the badfuncs inspection - Update po/ translation files. - Add badfuncs test cases - Forgot to commit test_badfuncs.py. - Fix flake8 and black errors with test_badfuncs.py - Skip debug packages in filesize, display changes correctly - Fix spurious execstack failure - Fix YAML config file reading for BLOCK_INSPECTIONS - Expand dump_config() to cover all config file settings - Minor spelling fixes in strfuncs.c and making code explicit - Simplify list_to_string() so it handles 1-elements lists right - Add abspath() to canonicalize path strings - In the doc inspection, only show diff(1) output for text files (#254) - Add strxmlescape() to strfuncs.c in librpminspect (#264) - Output the system-out xunit portion as CDATA (#264) - Slightly change how strxmlescape() works - Add the runpath inspection to librpminspect - Rename test/data/lto.c to test/data/mathlib.c - Handle the empty string case in abspath() - Expand dump_cfg() to show runpath settings - Fix block handling problems in the YAML config reader - Note single builds cannot be rebases in is_rebase() - Hook up the driver for the runpath inspection - Install patchelf for tests on fedora and centos - Update TODO and README.md files - Pass -D to rpminspect in the test suite - Add integration tests for the runpath inspection - Python flake8 and black fixes in test_runpath.py - Fixes for GitHub Actions on Debian and Ubuntu - Disable Rust support in pip modules, more extra-ci fixes - Update pip and setuptools on debian and ubuntu CI jobs - Make sure pip is updated on debian, centos7, and centos8 - Fixes for extra-ci on arch, centos7, centos8, and debian - Adjust docker image names for opensuse and arch - Add Gentoo Linux to the Extra CI set - extra-ci.yml typo fix for the gentoo job - Use gentoo/stage3 as the container for the gentoo CI job - Disable opensuse-tumbleweed and archlinux CI jobs - Make sure util/determine-os.sh picks up Gentoo Linux - In the runpath inspection, fail if DT_RPATH and DT_RUNPATH exist - Use pip install for PIP_CMD on gentoo - Set PIP_CMD to pip install -user for gentoo - Handle a NULL from list_to_string() in abspath() - Do not match path prefixes in the runpath inspection - Python black fixes for test_runpath.py - Stop doing an emerge --sync on the gentoo CI job - Replace emerge --sync with a manual portage sync - Use emerge-webrsync to update portage on gentoo - Add uthash and move the file matching code to it. - Typo fix in README.md - Fix some memory leaks found by valgrind - Create mkannounce.sh to help make release announcements easier - shellcheck fixes for mkannounce.sh- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- Formatting fixes in Makefile help output - Begin config file restructuring starting with rpminspect-data-generic - Support multiple configuration files. - Docs work in progress. - Only fail the annocheck inspection for RESULT_VERIFY. - Read debuginfo if available when running the 'annocheck' inspection. - Add the '%files' inspection to librpminspect - Add __attribute__((__sentinel__)) to the run_cmd() prototype - Add test suite cases for the '%files' inspection. - Added the 'types' inspection to compare MIME types between builds. - Update TODO file - Update the MISSING file - s/rpminspect.yaml/generic.yaml/ in the Makefile and README - Skip debuginfo and debugsource packages in the 'types' inspection - Add test_types.py to the test suite - Note the 'types' inspection generic.yaml - Modify add_entry() in init.c to skip duplicate entries - Start GitHub Action workflow files for rpminspect. - Install meson in ci-ubuntu.yml - Change 'nls' option in meson_options.txt to a boolean - Install gettext for ci-ubuntu - Add more build dependencies to ci-ubuntu.yml - Drop the 'method' parameter from dependency() lines in meson.build - Split xmlrpc libs to separate dependency() lines in meson.build - More xmlrpc updates for meson.build and lib/meson.build - Try to support systems with xmlrpc-c without the pkgconfig file. - Changes to build on Ubuntu, specifically the GitHub Actions system - Syntax error in ci-ubuntu.yml - Add ci-fedora.yml for GitHub Action CI on Fedora - Fix errors in ci-fedora.yml - Put all of the ci-ubuntu.yml steps in ci-ubuntu.yml - Remove install-libmandoc.sh and ubuntu-pkgs.sh helper scripts. - Install python3-setuptools in ci-ubuntu.yml - Install rpm-build in ci-fedora.yml - Install libxmlrpc-core-c3-dev in ci-ubuntu.yml - Disable ci-ubuntu.yml for now, enable code coverage in ci-fedora.yml - Remove Travis-CI files. - coverage fixes for ci-fedora.yml - Install git in ci-fedora.yml - Enable manual dispatching of the CI on Fedora tests - Remove actionspanel thing for GitHub Actions, drop Coveralls block - Comment the ci-fedora-yaml file - Fix the 'elf' inspection and test_elf.py on Ubuntu - Enable the ci-ubuntu GitHub Action again - Check all return values of getcwd() - Ignore installed Python modules with pip3 in ci-ubuntu.yml - Build 'execstack' test program with -Wl,-z,lazy - Add ci-centos8.yml to enable CI on CentOS 8 as a GitHub Action - s/centos8:latest/centos8/g - Trying 'container: centos:centos8' - Drop 'sudo' from ci-centos8.yml - Rename README to README.md - Enable GitHub Action for CI on CentOS 7 - Drop -I from the pip install line in ci-centos7.yml - Use the 'make instreqs' target for install test suite deps. - Add back 'dnf -y install 'dnf-command(builddep)'' to ci-fedora.yml - Nope, that doesn't do it. Just install make in ci-fedora.yml first - More 'make instreqs' fixes. - s/scripts/utils/g in the Makefile - s/TOPDIR/topdir/g in the Makefile - Install make in ci-centos7.yml - Move REQS and PIP lists out of the Makefile to files in osdep/ - '^$$' -> '^$' - Slightly different sourcing of the osdep/ files - Set OS using := in the Makefile - Make the reqs.txt files in osdep/ contain all deps - linux-headers -> linux-headers-$(uname -r) for Ubuntu - Remove html401-dtds from osdep/centos8/reqs.txt - Use `` instead of $() since this list goes through make(1) - Does $(shell uname -r) work in this case? - More osdep/ work and simplification. - Rename 'osdep' to 'osdeps' - meson patches for opensuse - Move mandoc installation to post.sh in osdep/ubuntu - Add GitHub Action for CI on OpenSUSE - opensuse:latest -> opensuse/leap:latest - Install tar in ci-opensuse.yml - Install gzip in ci-opensuse.yml - More fixes for ci-opensuse.yml - Small fixes to determine-os.sh - ci: Add Python linting jobs - ShellCheck fixes for the regress/ scripts - ci: Add ShellCheck to lint shell scripts - Adjust how the Makefile reports unknown operating system. - Just check $ID in determine-os.sh for opensuse - Use pip for PIP_CMD on opensuse-leap - Update the centos images before doing anything else. - Install curl in opensuse-leap - Get 'rc' from Fedora on opensuse and copy it to /usr/local - Install kernel-default-devel for opensuse CI - Move the 'uses' part of the centos CI jobs to the first step - ShellCheck fixes for the utils/ scripts. - Some flake8 fixes in test/, using yapf - Combine all of the GitHub Actions CI runs in to ci.yml - Manually install rpmfluff on CentOS 7; pip is failing here - Use rpmfluff-0.5.7 explicitly for centos7 - Use rpmfluff-0.5.6 on centos7 - OK, let's try rpmfluff-0.5 for centos7 - Last try, rpmfluff-0.5.4.1 for centos7 - Back to trying to manually install rpmfluff for centos7 - Style the Python code with Black - Add the Black formatting commit to blame revision ignore list - OK, just copy rpmfluff.py in place - Make sure to manually install rpmfluff-0.5.7.1 for centos7 - Don't assume we have a header or even a list of files (#161) - python: flake8: drop * imports - python: flake8: wrap long lines to less than 100 characters - python: flake8: drop unused imports - python: flake8: remove unused local variables - python: flake8: add PEP8 whitespace - python: flake8: mark in-line bash scripts as raw strings - python: rename several duplicate test cases - ci: merge style workflows - Adjust rpminspect.spec.in for file moves and default changes. - Return the reallybadword to the metadata tests - Adjust test_metadata.LosingVendorCompareKojiBuild to expect VERIFY - The shared libmandoc check should not look for a static libmandoc - Update the AUTHORS file - Rename ipv6_blacklist to forbidden_ipv6_functions - Rename stat-whitelist to fileinfo - Rename 'caps_whitelist' to 'caps' and drop the use of 'whitelist' - Rename abi-checking-whitelist/ to abi/ in /usr/share/rpminspect - Rename 'version-whitelist/' to 'rebaseable/' in /usr/share/rpminspect - Rename "political-whitelist/" to "politics/" in /usr/share/rpminspect - Drop unnecessary method re-definitions in base test classes - Use super() rather than explicitly calling the parent class - Call configFile() on object instance rather than using the parent class - Upload coverage report to codecov - Improve the error reporting for test result checking - Convert to AUTHORS.md file, add Makefile target to generate it. - Introduce the 'movedfiles' inspection and a lot of other fixes (#155) - AUTHORS -> AUTHORS.md in rpminspect.spec.in - Add basic tests for the filesize inspection - Multiply the file size difference before dividing - Update README.md - Update README.md (more Markdown changes) - Update POTFILES and rpminspect.pot - chmod 0755 test_filesize.py - tests: optionally check the result message - tests: add further filesize tests for shrinking files - inspect_filesize: drop extra - from the message about file shrinkage - Enable 'permissions' inspect for single build analysis. - Add 24 new test cases to cover the 'permissions' inspection. - chmod 0755 test_permissions.py - Make sure all RESULT_INFO results are set to NOT_WAIVABLE - Fix some specific problems with the 'permissions' inspection. - Pass "-r GENERIC" to rpminspect in the TestCompareKoji class - Add 12 more permissions test cases for setuid file checks - Update TODO list - Update test_symlink.py tests for new waiver_auth values - Add a fedora-rawhide job and renamed 'fedora' to fedora-stable - Update the rpminspect.pot translation template - Relicense librpminspect (lib/ and include/) as LGPL-3.0-or-later - Ignore .tox/ subdirectory - License the rpminspect-data-generic subpackage as CC-BY-4.0 - Add a copy of the Apache 2.0 license for the 5 files in librpminspect - Update the License tag in the spec file and the %license lines - Add debian-testing as a CI workflow; add missing osdeps files. - Update determine-os.sh to handle Fedora stable and rawhide - Drop the use of 'sudo' in ci.yml - sudo required for Ubuntu CI job, install make for debian-testing - See what $ID is set to in determine-os.sh - Workaround a bug in meson 0.55.0 for Fedora CI jobs - Add 'debian' catch to utils/determine-os.sh - Rename 'osdeps/debian-testing/' to 'osdeps/debian/' - Add opensuse-tumbleweed to the CI job list - Add libmagic-dev to osdeps/debian/reqs.txt - Fix memory corruption in init_rpminspect - Add comment clarifying the License tag in the spec file. - If check_results() raises AssertionError, dump the JSON output - Fix test_changelog.py test cases that are failing. - Fix UnbalancedChangeLogEditCompareKoji - Handle rpm versions with x.y.z.w version numbers in test_symlinks.py - Fix mandoc build problems in opensuse-tumbleweed CI job - Install gcovr using pip on opensuse-tumbleweed - Handle systems that lack pkg-config files for libelf and libcap - Add archlinux CI job in GitHub Actions - Forgot --noconfirm on the 'pacman -Syu' line. - Add missing DESC_MOVEDFILES block to inspection_desc() - More minor fixes to the Arch Linux CI job. - Install gcovr with pip for the Arch Linux CI job. - Support building on systems that lack - Add detection for to meson.build - Ensure an int is used for snprintf() in inspect_manpage_path() - WIP: 'abidiff' inspection - Only report permissions change if there is a mode_diff (#181) - Fix -Werror failures in inspect_abidiff.c - Add sl_run_cmd() to librpminspect. - Add get_arches() to librpminspect - WIP: abidiff inspection - Some minor edits to the README.md file - More minor updates to the README.md file - Replace get_arches() with init_arches() - Add test_addedfiles.py to the integration test suite - Expand find_one_peer() to soft match versioned ELF shared libraries - Add the beginnings of the 'abidiff' inspection code. - Report out findings in the abidiff inspection. - Update the test suite to cover rpmfluff 0.6 - libmandoc configure workaround needed on Debian too - shellcheck fixes for the scripts in utils/ - Add abi.c, the code that reads in the ABI compat level files (#144) - Be sure to close the open file before exiting init_fileinfo() - Python formatting cleanups - Add --diff to the Python format checker - Add new setting to abidiff section of the config file - Add -n/--no-rebase command line option to disable rebase detection - Store size_threshold as a long int rather than a char * - Check abidiff(1) results against the ABI compat level definitions (#144) - Add 'apt-get -y install libgcc-s1:i386' to pre.sh for Debian - Add integration test cases for the abidiff inspection (#144) - Add 'dpkg --configure -a' to pre.sh for debian - Install libterm-readline-perl-perl for debian CI - Install libabigail for Fedora and CentOS CI jobs - libgcc-s1:i386 -> lib32gcc-s1 for debian CI - Install libabigail for opensuse-leap, opensuse-tumbleweed, and arch CI - Install libabigail for debian and ubuntu CI - Install libabigail-dev for debian and ubuntu, not libabigail - Install libabigail-tools on opensuse-leap and opensuse-tumbleweed - Install libabigail-git for arch linux CI - Move free_argv_table() to runcmd.c - Install 'abigail-tools' for debian-testing and ubuntu CI - Install libabigail using the Arch User Repo on arch CI - Explain the osdeps/ subdirectory. - No, just clone libabigail from git and build it manually on arch - Add beginning of kmidiff inspection, put ABI functions in abi.c - Read list of possible kernel executable filenames from the config file. - Drop abidiff_ and kmidiff_ from extra_args; add kernel_filenames - Just call the abidiff and kmidiff extra args settings "extra_args" - Define 'kmi_ignore_pattern' in the config file. - Handle builds that lack all debuginfo packages (#186) - Do not assume peer->after_hdr exists (#187) - Store copy of original pointer in strsplit() to free at the end. - Use mmap() and strsplit() in read_file() rather than a getline() loop - Fix memory leaks in abi.c functions - open() failure in readfile() is not fatal, just return NULL - Add utils/gate.sh - Have check_abi() pass back the ABI compat level found - Update descriptions for abidiff and kmidiff inspections - Hook up the kmidiff inspection. - Use read_file() in init_fileinfo() and init_caps() - Use read_file() in validate_desktop_contents() - Use read_file() in disttag_driver() - Adjust how init_fileinfo() and init_caps() iterate over file contents - Fix 'tox -e format' style problems found. - Avoid comparing elf files that are not shared libraries - Support --kmi-whitelist in the kmidiff inspection - Trim worksubdir from paths in reported abidiff and kmidiff commands - Remove the kmi_ignore_pattern setting for the config file. - Create include/queue.h to replace the _COMPAT_QUEUE blocks everywhere - Update AUTHORS.md - Report metadata changes for rebased packages as INFO - Do not fail the specname inspection when given a non-SRPM - For passing upstream inspections, do not report a remedy string. - Do not fail the lostpayload inspections if it only gives INFO messages - Clarify unapproved license message in the license inspection - Use FOPEN_MAX for nopenfd parameter in nftw() calls - Make sure to close open file descriptors from get_elf() calls. - Include 'src' architecture in the rpminspect runs in gate.sh - Make sure kmidiff is listed in the spec file - TODO updates - Update rpminspect.pot and POTFILES for translations ru2.0-1.el82.0-1.el8 rpminspect.build-id259b742cdd2903fa7160e15b215cf5799f2f185erpminspectAUTHORSAUTHORS.mdCHANGES.mdREADMEREADME.mdREADME.rpminspectTODOrpminspectCOPYINGLICENSErpminspect.morpminspect.1.gz/usr/bin//usr/lib//usr/lib/.build-id//usr/lib/.build-id/25//usr/share/doc//usr/share/doc/rpminspect//usr/share/licenses//usr/share/licenses/rpminspect//usr/share/locale/ru_RU/LC_MESSAGES//usr/share/man/man1/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2x86_64-redhat-linux-gnuELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=259b742cdd2903fa7160e15b215cf5799f2f185e, strippeddirectoryASCII textUTF-8 Unicode textC source, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RRRRRRRR RR https://bugz.fedoraproject.org/rpminspectutf-81e628600baf845fbf230f14be94af8c72f55c913643db9e51382e10f49572d9e?07zXZ !#,/] b2u y-iSqm). nDrvn"ж{ݳbF'z{{MǤ;n 7Ј[`{0Q0X;E|;6JDጔH~BSTk+}w_wV:< 봒@ojsS}RPkO<`=s8.s魢HrDBt%{s jz _]y~k}qzvI:$/6WJ[oo)CuopF@0K@&Kɡw=tmJ9F*"թJfۛ < 2竔A%*+iHOls򜰗7p6}@2bz $.s;R|[FmG1Z Zzʡ̫1&<(OܷLp@&LqdP>?6I^u#i{zx{^"YwND$?V:fF f͢]#iGn?h3vXâOdG.Y<E]<\f*9iXRŇdzu&M\,@@t"9/ئҤ@jä_aeJ@z PEvTJ>X\[\1aRLsQzoyn*q88yghhgsz%[\qCtqH<^$!OvR^b5=e8뢭 N4JBYlPL\Aă~Ðe( ͳXq7֢w܈q9GRMu-woOm:GlqԌ5K(ƖLI09%ksQoӺtn TH*++ՉDVē2N[Pf 8lA$gș2>UTa}؅!<(v8{IZm Vؚ@l/ʊѓ0{;0Y&]]Q`b m6Tw_LHݤ|"3\] A\`vEi͌>o2zcsW  c`|=Fw[(ތ b^S+>ڏO3ߎ˅lLp':bجoEuck&zlR}55^@{$MVck+wv>︻l5vxT]ဲ?'Qx,ZHdҤ%0J̨>x+nUi0b'<ŀǿɑʓ!`stW/`ȣ im#zThq'P`9Y=O/[y*h"|Q"xc X7v^* ^K%9ka%LTI2tt,H?lb?[[%R8.jEvnJO(^8s72W>7kE֟WIyβzw_&KMByIGۜ]Byk@庇^[]vUG4+ xek&vsNǫCl 4 jIi:Y&m @X$0={yWico|nY sFQȶ'f=fqѳhIЊq2̀=}xwF4i,z[9:_cDQ@JN*/XHقjqY\Eh ""/Xêt{ +h~Sp]N>O@$bhDc:p~OoYчZ,Z}s JeG|emƄf٤yM(1񲒙2x2&sA[:}d]O/mBuZA1v(gN؊LMeQwj]^ێ2UVTTMkY xUe F'Ŕ Tv]ucl$@œd8ЉO H-b6=Q;cgp? S;!ȃsYͥ6=aiwc|rz]Eρ"]BHNLthnWVdԫ5N@'IOu6Ʒ~(ص>.(KPʹ-Q9[+yXޖ;u%49'%(bmQ(fFPi`D/_Wu oJ`V:S3/E!:quy-^6ąEHmmtZ <2p.#x,yBwzUH!&\Z NkdQjeVkԁ*w8uw%w2y 7d"kpD_C;tW2ݝY3ysO8LWY@vlHh1rxe%Gf'c3s(HЀjhu0z.ބ-ЙH nJj+"ƣ C}c'yߏCTӈ9XW'K]۽筯J:f ?&kB3*V$Ҏ aHnʀ\&{"]KR״zB,ZetF }7?WрܹWUnʵ*V<ɗyTdNnW +}/%seGn:Ouɸ|SPYp|^5Q=㹮Ӑ[|j࡝5#̧|r YfhX;!!13omӗ  S}Z:$ =:"$ ygĝ>D}@#-1~m\3`(cW9zN֗]POh+^Qr@ɏn_\K<6t;GO0&ђ8= vƹ'2I|/W = Q2!%foL6g{*d2.::r\"B X!!q6nw72$cqΜuPKUT;|wW%0 ­ViIӖ&'/kPW3OJZ`6fL ND-??;7xd{w2ȕ3B9k\74x;P%+CѤ̒1 ^4/Ϫ`uuѪȡHC йAUQ!7`OJJm*ި"d`XAT"J<,I)r_i3xX$-{BܤnΙ[~EXf^jS4bc6"uta[d7HZq5g3=U/ڠ,qB׊w mʳ(>mCb +Y_D}Eu߇)|w:Ul3 Ƙ ~ϯ@?" K\1vVL-'$qE<4aAsMR2?zNBT8F P`ƤVǏK4=DXjVQ[G'+z~g3#U:>0kF&*6lTZ+2X&( qPWIKG~V)h\CsAFWVH9;ܾK&hBO]nYsжj2Pb>2A}'Ы-QA@S@4Wa_&{.>Lq$v#*O/8!/˘wzZD*n*I:K M$[\ 6&l`C^$j m_H01L$b.nn+vI`ZÕQox E!퐓3w7ϟ(<}13lCW,S53bH#!E;%yX/;]ʡ=b =E&K0^X6m¨(["wkz6+˶NW!@}Up/pEfHo֤D׵0i zUFB[V gMm3}Oy(h)>)sמW+T"^x"Brc(HG#i0v#GrRZUV> l^9Y;m ʨS/>(Xs2:-dDšӱ'seb peu6…<®L0QT F;CcaH\ 3|˭ o `9cOᵹ]~"qq+:=ښYد^uҳV j(<^\ey󁗞;B@3uL)p{5+G^m(7leG5 V7Ոݭ w"7Z_Xzy̼A:rL3n?Ha5ɚ 3 [{4fƑxTa+9\cs7aR-lL4!G5Svl^":bO۷ª!vS7!@:A "654oaBp1s[tle|5iUY0(@D0VWh ~x/`ZNJ,zKK%ti%3Pk+0e:ʵaeiK`^-ͲIibeҰ<$| ~3 FK{${uYmJǶ * 2zr,I +m!Z`ԭ4]}klZtqS/r%~NLyWD&nI ڃٶЙE9=oIr[%Aߔ]i3QEUⴃGV8* =+7Ʌ(r`QU͗=|qЈm ]/]n͐cďʕ`{D UjŒ!7)h\HZ7ܯhNd-$'8)A䌐 j늬X{2m;Dzbag/z53]Of +D1xpKbuG<".nOYyV#RgL?yIj􅩇 }8Nlh3ӟ(]- {d; H&tz (2V[C$E] ӧl )LD)`F;Tb4 )Ww-pnIuƁ{(#'u\Ϗ$;޸AƠB#tmLyVxSXANpMb:ѝ Op,?&&U]ֱ/_ *tM$mBKa!"%J. U3d-idI =si7[; pRBBx >{R{&0Tc|fΠ "s89j!=$9hOqT;ЛtDKvbZM@^=1ro m_ &.U8J`fFtJn.z81i!ŭF֯sAh&_:)tPq ,F,23K|_Ce~bZ_ޅ;} XyOaSrGE+و\+* ,l,tyJ,qGp3m}p`۷gFF=4WTnї )mT9ƄjG5\Fdy4&LeuűRgC}+h=6WABP SD65heA.[TbgcWFu@ U[p3C 2y}Hfo^قqiL&//Ɍ\F/^4ɻz6:M9U:-XT:OtWRĬXޛL"Sg} |"i^dJVVFD&؈ Gi'n[U`/_t[&qk̓oI"~\ i39Ph+nSC._Sejw~yw7<+;?U Lݰ愶t_ǣO΋96#Y .?Vs;9/r4oTJɚ϶@~*Q@HskTr3ߟ'I9a5?IY}v,z|go93@w֤0'ǃi]SUH)"s|Pcy`cNvtBх\..xM^NE?GEQjcLOt*aY _w^v"#Ϛi{0L}ʤ98cv!n +Gmxs3gb2-xqt;!G\X|aΡ({_v$)vBsms12tW:hP{Fo#ɗ5D}h ;Oz ɦ8RNӒ/}t|J>'Y &KKd q f陝/s]1/K% ?X-siUcX"#lִ!HVjJRzmv6dk-21;Y*\ `utUOwԣ529RM&K }G|IHzb@C>q*Y]iGĉŷȧ>P zDP Li#|^^~1J l̫7oG/7 m-.Ͳ IeD}̺R#ikzpnb' \ʽ4oѴx<|4rB]h b>e)U61m}(FEٙ~̻n= ^Y"T*L`#)N2mJ;S7ҹ2oG%2msHxYaf(Hӛ I8CLX$ $sIT`d"~QD2+`T5:m}U?;/FV-.<pb.Y''trAJ}\U>h1"{N)k*]T2wER}ɞhbÏpKI `}*d? U$cQcIM疔׺{Na@톙$Np*Ã^I15jɓ[marS*gXZADnIJ+: 4R^-ݵz`+?q0k=H\"ě-fWp^|/F\d'#*LtƴABoW/܊EϮ"l!|?ESNһ6LnmLeP]$B'Q]G O ?Kk2&[;;*cöhPk}FU迾)䲲-T̖EfctBe;IUu ꠔ<צ&X9I$LK_1)!b )pk(.6\@jC$ BV6lW?CiTNa sYi %,1_xNQKHF+LWBˆ򦮥x-ǩjv ܤ7A[#qƳoQGhBd#3)o^|{ <\1%pffh ơ.XK7ѕS" \hW*, LJ %$2^YQMi{:_o78! 明wJX}y} p Pz]PI` ec')UFMߏGc.URWi B{>}X"I9ɵ1r5=JBW&3.D?<>A &.1)"H9=mm<MܪǿۊhCW!bcsK^16ۈ[qN,mn91MZr# }B(5|onw{/ --µvqHg ΁pLX$ֽW&=wra>aY/{>,e`tXj]sיQ w}a L'E0T 哄o5nX^ ٔ] "+eW Jddԉ|xU{a<҅}(ac\ZzZB^gc]{z \1y59˰k 8 1c❤GN6f؟%7[ŏϣ h$Bv㵿_%X]u ?(v!#@4N5[#V&)LmK.XU˿먅B_Rg%.>rpr[L2xbb;ZxF]6L73hbVf9i.$c.eqDV.O0Ds(){9ߙ)Š"*[`4)gC+hɵg%  l#h0m=ݹB!4;'45RniMtYXM{Q916Ul籠ن n0j]R'ߡ Q\C ;Ɨ>E-Ƅu.b:{NABO+VuCچҢ4Tű?%F]4_b=IZ| w%iaƵ.mkLՋKf hoHˊiu5?`>,NzIiS0@z>x^iRA _].F?d]&&.bQnbEwP4=_D+u_զX-!CAk٧Cn@#ױ,uKO94ٵI']f+XeѨ8 z>SظBCeWUhlO p]1?.0#H$}bOW:6~hġZyAA66}gq\ZWVPwui5Crt= Fk??lsgТH9KpYJ+s0V8@1)vt4S)P=ER˩*h !V2>=i/YyưO#5} <(1H?gr Sꆱ'L]8% BٶCѪ_i{I߮ΪVCa׈K~`b Q5JݣXeIG=|.GVjb4!o,:kĐTx fS|ݑC5/#u^{ Q hfĬ2n8\dw 7imfS—Ս?p/rYcH>DSa+뉍,2}(ĭ7u@]v}~1woL҄.z&)ߏZҥhʿ"q3bKԺ6㨸i16n/E!HS()) Bǣ, =_k~0aB wt&O8^s涹kI0F$sb?}_VouѶDe?%q2,,*- GeFc(l⸙-U iU+d1`HW >(m8($гtzr\aey1o95/~z͟0u{p|)ь`{޴>CýQCMMeO.^xxb:epą 5Tf#67GG ,a(?j%[ Xv9wJs՘*T ʼ F aKY&;˲V)M-Gvn^#׌2gV8ɏD=H7O҉O`6ހKg I , 3`4sMG ,9?t#rV. @E zv~c7Q}]QN!;06pz>8½sp (LJwF` W$J(ơ"Tv.TnV|"qftt;7E54?<e_-<9Q&M-PiP;.5"c7v9 8(9{I]`{4Ӎ+M!֩G6Ntۼ  TXdJ:#N6s bUkwsAID2tܒԘ<ү}(29V./Ӟi4$f]F.NHwrXqLa53L|;{YS3jP9Sbc_uE/jQL/zVA_, dA9Uh'c%;$UuwQ :b_f5t5#rc_l617%׀`^001!\FlF ۽_,c0TcJSxʯ?P^t)%V^ZlP:o"Q~9c蝃gt]0e3@֩ VaZ3 XiNPG gaW"H(͈R49̉ܿ\Luޗڮ%9s ShnxJ9(ß:9IIa y_ Q+ gZ:,ڕQEU'V7\X lx?}eHkoFFЄyF TM'YoX+ ѻlItk l0R2eJ\sY!}gB[ QI}p l-ȗiS3A?Ɗ"mFr@5YTG=M5tS`rc>4u_N<^]km8X 'fp+2^m(WzTE!_ﴍ S%c`Q0dj :^0ԕ+7X4)(4,Yi[B􍊙s}'i@b3~vmz[pi1刼>d'wM^4sRcHo>`9sl>GKB6p3J8^{ ʳ e]Q:,O}7F<7\˸ :hxٕxo:|'82ǎ8Ls]P>PrS"aPJg83łqr]d6@2Kfnq N'١dYPQ ͭt4و$:(`l [^vŸogn^ل^  >1|gt/nl,TK@hY$0G tDL=Y)|5%cZ?WZ%=QR`鬷mc@勚 J=o1\?;߯Mls=H?.Opg_o*өB@=ozPzwT"D5=D UA],c_3tP7leA nlIgL0^@25׉rb:@ s@;\0Pb)sϳT LbDBa$Fg5(#9x!ۮnl(HRWhQE? _)WYdfxLHThK` *Kf@>e6Za{]x!ir}0r8v}VˌY8wԕLwlH?Mlt#˽#j4|a; cP^Th ,Q?Zcp e0vT z9/XOM>e9/krwC{?~ ,U|Nũ 8qV˂z8ĜpÐպ.J%VuEx !.:-7)0 k3Z4`uRhQfżbf[Sj6OˋK)R(, .`fZar`^ ҁ= (\;nFGuhBVm-$ )&Vڢ(ٶ0/a;)ۭ3M p(#9S}ה7mlm1]y=UBa{j">́_(CB `1年0xkvY!ƿEaDKn#EN2*V\._$!D##8UXEkVF$cf(InKbjbdj0bM_JwMp} "i_= rsh< &7FL&>v09g, ʧ1bfI71 NXкEO~Z۫ ̙CD!V?peXYm }fVDHilqd8@iJ1fDv[B)‚*|*ظBGTS/M-U%oP)E+CEFgтE^''4m&Q{]-,"v;'I}ʑC|Όp8L" lXH0"rhVa/L. KQf!۰DA {EkƖzeY! bR~-Ac۠6t˜ւ'J\1QRGvs4cU?))Ր#*"Ov KkO2_DM{ B6g{pWퟫFC1: xmKC!;<wg{zr;1GFu
.꽱kwl]{@vt(4DPqN-Ҍ70|X;k8ED1=yv5{ y.&AYnN~i0qThpurIғ ەkTQ CHu|1 I2ђP!d_sGh!X:=ۊ7;,G-wZM4 j+[rtZV,C$PP\V~=y6=DAdۘ2a)ҁo_?M&AT"ìu;msqE)a^2\iߛV;QYʭGt(l%0"¢GX"C s=LTDAEXZ@.dK.cv@|cڷCzuf8-{7+K ÉV( x }/B7>3= gM ֫HovI`r;A2p{ ut3֪7CmΏl G!tKlN?!%>>p8$k)Kd +NO1A;:]52<[m?IݳO,Xt/UjƲQ.2X[C;,YRIS5}ȱjdHȄQ3jsRTv yCt=ͪ,aQo1C"@k15t; 3KiJ]"H oXcOS6J#ڈ`C/TYaTjeA84aOB(E%06%.Le+8s b!\DջݠŸĄ3FߤHadΜ|plr1`BJa7(*Ң]9*_\5iM,h"UaN5]~,w) 7P9q#X|T?8-IB!Ebe'Nϸ!#/=LXGC F4JKdz.L>+V2-)KNyQǘ+d}F WT Os paEiܵ8^W5#\$@{! .]&Vʑ*\q,V< I^\&u18aB\%5SǁɆXp*L,2M?d4 ~L 9'\JePX؅a79RjX.&e'l.'{S;M&RK- zMfX!FWz n `vݗ} Mv\) (#u1ny|#z`P|5[ VzKi(;0 Bp?6ѥP.D*-ԟ{6C8i)w++B%;!%fS`!J̔_eޤ ETLBw(cJb|l6[|+)"߉ihvLt15/tkKFLQ7!=Y֣V?.`#vOUWP3QG[Ym/p%(;WzA*~c# :e'R4!0 dԗSaS8DcUaFG H.7S*#2c(XHb#~yھ I9znd@ :Qe)86ww32P3y7o/Áv!'K 7@)dHHѤ8UGq}cGI۲ +=085TDp_wM$&݌YKE.-478L|0/  z.BQU|~W`:axk޷#v`iuĦagOS"]mX ZSY.9=D}c3',yBl ,徧z  wT$UWfߴ7Qds*%}V۲j{z:8[>Ԃ&@cdv%N2(s2'pZI Zp p6c9w(t:3`}hr  VJT 4C4qb寲%%EVn)wXL /=}:\.{A̎3ֲy:6t|D7_w I˩fƘUc} Di[aB&6T[-@;+ړBF4vBϹ;Wi#1 =*zzV|^884 bZD 2 gNpNwlR.$6C6hS[4ƀ6]cnyUW7.=93Y蝒֧f4vc j*d֕anKMFH/#N}}Ѩ'*վ. s4mz2G[OYʳ:#O 櫴1 F8aMJpuT{eƑ (ű@ i q@ܯO۽2GBahmA8XХ +\D"S{ l(0og4ZR$g0E(Įjލ4D%hULCP|8"|9%Pf-ASv9Krrߎʋs\!n>5*x/:aU̵G0Aˋw=̯E:Ҥ+Q<sxGX2h12o![/F +ky:mF]L#[:õhzP <xBzQBJRO)Ȧ Uv?eұGmN&jBG%O%LXݕ**Ь싄z_0>Pm,I( I 8Z/7<Ӝl ʳp`mRh9^7xj /3 /~ʿT؃LdO"a3G֮njA ܮ~`Qw4 Le (O-y;vOnɴz{)uK9 /b{RS5U~Yw]d|OǸOmRϱˑ6lAJgИv"mY֔/ɹ~uI_:lAmi*[^THa|LD$O4-Ahl24pPM:w+ʘξVQƫsKVXѬH$,pȃ+$50ߍtIy{ PBJ$>ݥsWzPqZ@Ov)ac Z=MVu2A as7<_LZh4JFDz ML;`r)}fEv-q-o-+G+_Жb 9/}W$e~ Q !5 $rMԷcH@saHbyd6~T,, ĭ֞ oZ裸^Ev3⃍@}퍠j&`Zr_cM8o/ _6Y7&J;b۪5)_Qnm>l 1K :IRܸVK L90Gr\XhUNHzt8lxJ 1-C?^ ,뢢WT=剷E'Q]*o-+@~( >(uvEt )Fw%54Du W 2=fީ)"ac`2ءno(M7Ҡ'=MbʵeIT:uW klwH: na/o^ K -Sgؠy#ΙqD D޼dྟv8jMpyv݃dZ3/)d_:-s]`7h \5a #5js<ˊ[1@ΑaF+#q O aJ'whûvSO7Ywk$ +مi^\]HpMl[ \49eX!?v4oK "؆t.bY6,/BV`E FxeO{mh ŪJZ|B,WeiwqAG.U@pͦ+U*^ 4%輚X8#.ۥkPk]@Im$fO'd|Ĵg^j)[ ȵxJL^2)Y }H'(gAq9k~| v {#>J nYZ[Ӧe=ua?Hϳɗ@ 5::LD2j#.* -4ٷuؒ0 t-O<>0;:ݢ4`uL &7b`[!zV+lΠ3yhBg^rwȶrJ܄Y s͞NtkZF}i>E%*>t4.hmKk1(a>BmGdo{z+Gެ^%C uhP{8:R¿vh'cLTp |$fȿ%.TBSw+|9\uv4ަcF+0}<L^˶u#I FqM35crvtGRDE8h)81Hap2%xšJE'?#ЖlaWO@(;L7k1/O 6d$>|jmmPm2PO*BSs+]"N[_b~G vP,ҁ>qڽo}^.B GJB^$ц)I9d"9|%ZӃ, {ƀ WLJ ʚʓ}尵]UAR Q695Y"9x$K=XpYaNc&`%fJ";^#HME$H1SsP=s14@ Rw-?k彻N\yJy.%IuWq}6"{ܶ1M$+,ua_諤C8f,dPCE-TwӮʮ?*~i/T\p >BvPT#`ǒR/L7QJ=g-W-Aiy[lCg^k݀#EYEp`^nF5 tlL^>S1`y**[jţ{>''|]wp_$>U@A:q##jYMnھB!hƠrR;ݔT2d#"* ' hU0Ma˵%C˲jlOkyn7ތ?헪h&9l;7iy;v쨓=Sl̻G+Bvc[V{?gBW@zP)#c|Fu`_'q8 [=mH` K_$ՙJ5ʥ( QETzy1 jJo‘T 瞨F8Q?q53/G|I?]g5sST[{[bo6р$}) 3Yy镃gtYdf.M ,8 4pqj.B=ܮ9wRg6Lqt +}vLM%ԒmS9I4x*vB]kH\.?xH/ Y*7 8Pz -el,c+IFDɞ~-i: A*vfxcJ f,)(-MؿCpЛ̱<9~;J?KA.ezdVAXymC {wv(Zv3E7@CĈH(,-]ي󦿷\eLYVPZ*q,,JxY3{n]:ts7Pta}^X1-=WF[ֵ91!h8nIIT?evt݊3 6,UZ}~;hokAA~GipL8 iC' O2)HϧB@Qu砏E\dycV6mjp8[(R2Kn`qᕲ.r# 0jfpqs9 /چ٧ceM*qĚȡul7 I%r`_2تb/gTΏɺ?nͭf$AΉqHG)q\8c3Rgffb/fqO3*J!gve `8t(NϳzS'b-_˓GJ \t^ 1'!aGk7_#dE{YI|IvtJ1\qt~[(¯}wY! لDm)~f2UfyiY- ؤ?MW턜dl TWD)}(x>)'6Fiސ흰>O<= [6fx9PmO dā̑+tXញjۨqu j%c!6^dU|ȗLYG- UU^yQI~Vޟ_l˪Vw3ЪuSPP$ D. ZG4)>\>ZsVܟnoE,hhD޳t-9ل1XTH&7I//MGuɆݮx܎3q>VFq/{4(Vïal8͗.\1Rxb[D@Ik.Z0_Nv(<{3:]ӅrQ9knKoS8¸W\> L0&ޟ Z ׉Yfm/ʰs%+c ށHcfŃ,fvK^^C/MͲ| @ V Bo1ux'gfK0T_bީVƬlfa(rr쒖~u50']& pU~;LLҩkXЬθт}r4Sn&2>DTbP& r$yȻ9Ck,H٭3(H" &m2@:^8~@v<8!6k3z##my FV> /h/A$ƫ$8ВF/LA% :X0(̃jwu `.{P,eeSu(l21P g.ǧL<2XtnH`N@gC 'dJxB3݇^*t>Xaב/e^۲"~!k(0r)qDhJB%E>.KuXC+Ae. >*~EO` ՞w%6HٓCeI'#//& VΡ>I'E?RiU7.Ƃr,"եrUޤi.ROmо3m%%s}hБD&Ai#ǧ3_Dndr}$K,IWw)i ھ1\8!%bOax^7@@a|?M@¶KUO.HQ2$$3!^Njyue|QӐ2`HA ^xפaݫKb!yzSrtWO#N&q,K.&5w(b|_Cik7] >? kjEtxc}vRپZ88%/" H.fV?w"=b !ςʯO<[{ Z)gӣyzO6\`7=ۦBy©cPj>l$ #ִ[H|~1\fn D@J^RذaˬՒGUڔJx$==keg=~?`t53PT؜^Ep l;qxK0~SIPQcNr04nT!cԆBUZpf4#o #?}J훫'~7NjkRk]{^xf3tF'pY.ڻyXXd=vbQcX E۟L%:!byΦ (rÚ^x,"._+o hͫ}J>cԽF28D8 ֋ Fܜ#0st?LD]8QZd}O- = QOy3GӪfyκqV,la g>n3 +l;M\IRK}[:Ʊ\d]n}j%][RhQ -`)]BB7+NTDLNl$y4IF#k!RIw谩LN/XCZҾw?b{T n"W̱hﰥLpK@G"w0S˅Zg -Ws?2g=L"}b)O|h6/L@uN ry332*(.R+ƗeZb1PPZШ:ؑx 4T2poĎSinY.+D N]2gY3~؄P ZWӻ.,rTb̎'6F:+;3:~BY8!lK![HX[ZJFf|R]-֤vV``8>CͩqIlp}4$ٲ]W rIu3ZӬv4a*%jwA:#[:24|'j"]AGv2Te89`hxr[RXm{xŜ*mߖ_5㉤tk/Su~ro2 >ZTSBV-#j W]lJ24W4?LyhG%/dt UCr~.yà|+ek-"v^&Rʓ.m3l4pz4S0;Im:c!7wѳ& A6k W$rbrV ʻms { )ȶ }>/Y\MڸdX&= 0\Wf);@?xU z(utlf|2TeB(4QZę0xR6~LY@ [hc98 :.߼ye\p2 #e';}yWx~^16&^ Ł>2Œ9Mq)}Gie:\Bes -fop7|op,QOc%#Dp^ JA|JԾ{߃"\Ik/hg\'wx'oQ##DJyx"vR||D?QR/ U-Tgvϓ@>Ke@zpmq <{.152o@Ӊ% s 2@9̑dUey-_"M1R B25(,|˜̓|eQhO*=+% Z19`^Ad'DxZJ׈"H9Aӄ5mqk1[&(D|5uw0́bbоg5v,]";( ׊ ''|m]֙PY M"s%ziX{0HC%lϦhOiVpZBEtk$D z;fz cu2/%'`i^&{d !nN =JVzݵ١"24c "Kg-q*e_etwC7D^]*~!aYfX"5Զ]8eٔSG0- >VozDђ(% r6JP7c+[FD->. 8JJSh'NV>T}Ykߴ(?`dMJ711W4rƩ0 Yd>ЗAYǜ*2t6 JpKC[ o`Ǖ- oX2"lR2e6gr&m&p1N~U!)и驟e|oDV%M~Vo.νxa&aG Xˍ3A|JhbweB#NU.졆9C̿Ӝv;f|?aҊ={T.1@hha |ˊ0?=C@a8+*)|Մd_N:a/@۞0Ct'cV{l84/S\ԥdfV -贍A0GoI`_Ϲg-hl-Xמ2lpWlP8sL (K]q& %` 'KϗcMj KXQ2zEXRQ{W7puZr s kq =dNeCU 7 ]G"Ͱ\36+P#sJdBeSC^n-mۜrx"rƦNZ $Tݴ6|PM8/_QĒHxM'LʑU'7Q%vȔA¤3eb#AI͟zt4(PC37z9F*[75#qr~.g4$v7AŠrA0 Py-mKغ|.װՌch +E;{N[9*L?W`Qh!OmT9@EbhፂPf+T:4>ZR+uI- #v*˟S@xq&$^ZΙJT{3꿐OSO%w(|=X4z$ʹ#+{fb da*\)֘sl}C>o xn{?T^I4[تpvׁ?U^tzB}Ƽ {e,oYj&lx|uEL scMVe0%>u6؜_H6:bK$jl kelӘpgbj..%BC۲sǺ#HϮoyZk_Sm!;~ꃼB\oO3~5øħ DָG)4ks>Pi}):|rU]@MꃂrzY2:4Az#)wyY$+=/#~\`i *YTԫ8ҙm)i0sLѤ SS㑮`u:0D PVXVD|AYnRq㦱gC,JP F5=1bKeFpR2nDgR,1{5-d#fHat̑fEtBmҴGfy>8uW}vCJ'46l+a')%Ad[XThQS2C>J#A74Pna3M98$tu@ٲe/jT& Ě$sY@񰞄aMuϋ,]_t?z+ၭR;1aujއ4E="Ҵ/ +Glid4~a]}SB6Se ᙾfe77)˟[*MU88W1 ;yEUjrMh2uֱEZI lrKn[!6**ew. ~W6B #Դ* XW)M[ʁH/; ȤbFNT- SW묺 ?\jY#x!N7mtԈ$ZUV7.ΛL ݔ:wV|%{lXQ _;ñ3rVMQWSe8_&"IET=øaV,1~`?ћF {FƌQ^pK[ fTws J/,> ="(Xɽ3i?~*gh3-͓pfiR+)l?NC-'չ"uc t@tj_>X-Y4=!~ ?{p;I.u yv4p} o[)xsT yIӾntvQ=@iO䶳r//geSbu 0JRH|HrIcZWejxTnX:Q.ކ,z\8t.~ꚕ~=r[CBm\vTRŚ:ڄx:9ZLwhe'lֵUh,/}Zn&QI/u tC "+D'թhf<- LN3^iIEr9Hձ6sP$)$=xOBg[paT, |(8ZisgfNb%fX'WR׽+ݟ"OTdM+Od9 -Ri?$LJҏLB#^#[쁵~1}uU4M aC6i~Y~mUPtIBƭR=, lE s@_BMhY!eGEM^j(kgF妜C~ hhZz7Q4bMgeñTUHs=!lzt6L^1#6HM"Ecw&~(r4v& ܞĩkP\s`1u2/qSۮ6 u׷хRngR}Egm4(j]4˰t~gKL1*H{j?`F٤ʧY,o~쭚'`_m Ƴ,G-- YrpHXՖ!ˈ̨Ә'N4GxEm.?h _Ĩ~/&1Vr @ ,e7hn{ 2^Xl`TZ^eI[|Qh3/`Tե_V.UH?OO04,\tN;0%?`Ȃ-?}toQ݋߲WS$HW-IkaclЏo`Pؕu+ʫ 0x7-jB|:n ݯ8~>vV ;i>vv16? zR!w9-1^?;ʶ>V\0=dZ4i e0l1| BҖ=޳5.FLuc5~QWbYB 9aZIi 0*mk|z)"Z(Ft PJʬLoHz P A,dǦvWs7wYU6쎍='}QgTgdZxj Ra† +`%x.RlRcr4.{^IZ\PC'ħ/*!``"@DHG%%ruJq-<·QcjA$H%Spk-Ⱥxgpʬϐ }_>D5)U=}V)F[d2v=.|y6#gԧ J/GWxYf6=0RNJ3h!Y-tv)ā$j tIt#"2V]xO(Oͳc\Wa^cVƫ3t"Īǔ"Q'= @BO,#(:n| 1^)ؘ:wnKjc5u#~ILGi+ wf8u)3b#,w}>oK$fpLc9JѻTAi !;#& 6{;' fY 2#y9~ 1缉c'{ſIFo%w',|!; z^p2@AJ1JHYn Jw$RyëÁ)[D d0 lġ~ h*K2\OKJ3'R}qA<Qr7y J3ͺIFt >Cȝ.GgNu \`UMYasD8Wi@4vR^c!~k](ω?],M_A2N!;/-H!d|!MN Qʇ")t(Df?o=u,T7ɜFȄ;t6c ꝝveH}]DY~3Ret /Zu^z0RŒ$g7%)n8 nϹ%r*n  >jVB-_,Q>1dRfJ4YJ?!Ï& Oб0ة]~3+܄h^9G>unR&t_WF^6)dLgI#֡ODPmw SkD4BroG66/e)o -<و^lE=c 2V8.)حdEfUGL8k]m8Zm;k@He0z]m-4֜E2۶Шݖw2/ ʑ*إY]I{_!PO>$;4{)շBKaՄ|q""0gAAtFN96.(+Q8r{.*Ml[K^ Hz Y>;6CBswTI mrQ) ktEj96 S Ts`=nU s5,jnx!R6fS|]@EяlzI4S! C4Iɏ$T{hU`FbZiJ[.kT'xhkB#kPA%O},8QAkU״ ayXL6wW辐sA7EC2mcTn(?48Ӱke;OIIXt<-Lb͈:w{A]:R5̨$rL֝Mw$OiAZ)wb%/(iZMޝq0j- x˅z’=CHIԼ:0ik 1`)7x@{ \x}zιwݵ ޖ "Y@_ ؄"\6̲4{k;h2rJ &_ȇӗxqĦ( -.%`f]}ߦ_|g+ Q&)p-`EоÞ3``bUj}LT+=[:\QOhAF?#yMn /hL_"EybfB1kDlc+WXfdȮGM;i|!²6(0-YTgq~NUv}h͸N:`oɒj;VhFzTs<4X(4_\kʦ4Dx|$ï8*mZH>gn`of {s3<Ylc;lm vp3rFFH C Ud)ENx>&9*˧`<ɴI)0m=`l0Or\ݰE׹I<ň2.tUw -p)G#x:F?}4e7c>j*ƙKGIVɂQ]cH0|.p2w{? FΙ#'VN<)2vz'Rcf@9?M,uaq\E_q zpnz|v9,'X$~~[θ荩{_BΗ72Hh.Ƿs%nY3Els3b}AU Ρ06 T/dt} F)Nq]dG?sF'RtXK(cu/}F1#e갵&Q?zgHd>!^dܜAoς) :ROuʌ(&cLsok?xnea ԨÞݟER>'+<)X=r60Pu&< 8=!c~,Fy%/[CyB#-⧝I^vYRm)%4#L\+B5˫^-iSG}E1`ac ˕WȀ%Ao!iX+0ԇP>8֗J }Ɍ65*œ9*9i* q= wc!{NZ ƣb#;_XuJKbMTUMg ,`5GRmE PuS*L1ba YAja8UUqvtG =gGg @A@:b&rd@+>RpD&"N3toKvE:&"SLA :(<2J$5R>热H\'~FLC+QqN:ғ"=329ŃGS Iuֵ%H8FݩEsug_0%|r)p0 >Wfx6w[`'m,lPM(k;ySJYp<(jK }mjS 擘7vr֫]ʙp6b7|8L^Ի*S# B0<b݂g;- -͆ ߣuy~OoaR/K?QRI\Z%w#|3#3q/r` v)COxlFQ2{Ho٦(&O)$C[^F$F@3t}Vdkn :?7T`@j3ȷ8VՐӊ2Pg.T&hYiH ӍK0hD$Ts뻨1Gy V<(% κdOxZ,bZCo)̅r'd[Pי$q[Ol yAKc9Ӷ ϐ 1ѝ5'.#7}U#(98+\Gğ CdA;OcS q.`ȴ4cX~cNBI2*56q01 yǺ D.Y@Ace ި?_([|]Oi c|AiݟI^%$(-!Mt@l6mKNq *:M8ۧFw6Q); sɊuuɏ>>*Kd0dY[~S85Ĭf,>EDc理aJ49)ϠoJbxA^Xȿae(pK(]LV^nI 76Wv p?&%>&Fm=Pi'&*Xag B;)߲Jqs"A!\\6"Q+^ b55ha %\/7!c*g xHvǩ5ְSmNdhWǬY|hE&s\)Ain3+-Π}Գ^wE- YIՎ~e"+.ZΑM %_Bd%ԄiU&Ape/ѳ!o˚0kg}ҏ)&Ǿ}{i"<;18ma=`т[{{!vI֬ɏx,]udj.(X<`R-e_B/eos 8i~0Ȗ7M'׍Jݵ D2я^}{==t L$X/" ̌F*^hno֊P殑 t{P iAJ}fs6F|mk$OKN$7hcрs7M0:LQF5CLƓc='0Eoi' 5qAb/:̦Y# 3aB8BJC{f˻3VlC<#=0'o_6jg'N4{ϦNhݙh di`0ɗǭŔVHik.Sf0>;CLy6s,Q3 T3Q'rϘrT#_ުr&_JfAsD[~3M;13׷9=;uPhZhxE"tEcFl[H\Qq o_xZwݨMz A_\=svȃTAAKvB $ Eml]_k i^+>դao t̐PdDr6wP?T{Β;y\-9:g3ӗNW*gr/QO"\y@`(G9ۤs9>5Rl7ƊE cc6@K$F\$W #[[ g9 4 ۙG¤\tCC/xvm-7)UZ!vrO Fڼ0"wJJaUuW|7ذܺZ̓ 9Rd5 DT)u,®|f*RNa4L*@WHC"3잂]u .ֲ߻%bMt&nri[f~zjfV|a5<=5_W4gw~5.>{VeHTk&bx)Lv)O; }/_R[t!mwǰ4 /T VB-s)v]X&{,º!]YPY'%lr v]ye!jCT|=p &H;|gʴE4/iB*m c u8\Q`%Γ5ؓoE]<{!Z/V++*G->R=;ISdZկ"U{vC-ѤJnՙѼ (xBD}l,GtGډ|iM?պ3`j?YW['K#R#]Knԟq:q\INT;#kѽ+PVP6C9gee#_f8KF)kM;D{rfqЊɄB931Ɔ\s4?!m4}'BWM򗋞n !spњZ# XXOM=0^@FeLk[A*#N8 }aDG,kHb;.wj\Kp4ӑ1Bڍ*,-LEd/9? eJ@>}cc+4y)Ÿ,)z: <*o~|89T%{L0r7yڋ5_ z+qRdpDh:>\#p<> IƱ^kqP|B[Z( C?53ΤKhE\ܐ)2Ϸ8˰&Y?IFY)B5DJ$jʥe SI ÄCr KQH~<7zL{˧V! @C4k8c`:T㱯2;#a34ATì# 5%SK _gbb?oCo<*TYf;9}P3TPREyQH8w@=}hZݽJC$ِHk}ٞғh΃͝J6ƥ!ȹq6GLg.g&$ $pH̕v(9%,OF@r^Xj3*|gw1"p-\:dvOm _|=X)P2;XЂx(w62z܌#c?IGPYIfTT] ӁEIUُW?1n:?6m1=gO Uff֝904F9O,oOpLs!jv4S #;P7Bݴ eݵbӌ0PQ-SȾ"gȯ%V5vmElX_jkR"xf1gn N: C(:.}i[s4?iD.TrEX !?7K]~UfI$x F94+4ܬ`Fq'%l(|c@ `xd`b{2I^&'.2İ MuP:L1ύ"MyBI/B^ NXh旬5GXvEzp0&Q<[cc'6 ݯ)8zsgo+Ky>]s#&W,>mײۅr$9i-vĨm$ ɍ)D[L]z@[v(>U:/PXJ8P tXU_ouI2O(M2;bNLpg=!CNLO(@Ba]+x,݆"x(䭫]r0^БOkʺ+rT[q{r!Wu(P\5TM+O?!tagHȴD)K[C}O6ҟh1 ь$B~zAA%BPխ`%8^<BBMpvZFݩ] P)fSv!T\xU+5=P:D^\bWg>lR>W?R3UEN pSTV!$vr?8K,HOygZԹE*.ច%_Qlj Okޕcxt2|CEc%ourJ$/;ܔk8)},=026{z!7Bt2veZ[X\d؝`Xӎ%fI|"64eQ%<3K'9i*sP߰y VGtzh*P6-*pUǚc6Q-۫3BtLAy[S ul㽟JCriqf6T#bfUP᪔N[7aN܎X`ϘPјC㖜MBPKWai|j)σg]Dg<4oTl MQYd9r,[Cԏ79 E+HLOr җXR&us@s>ZlMm?gzs4S}dgܣu Nvf UT\TcmMXEU 'Dc25av0W&./>S"nN0UGzkW&*X"BD̟W Y*gۍVȳS@>8rWsZcP}a-IB$TE@HߝaaU ?V6>ElXlAӿϤiPByr `X)@DLw3̖;w#(F Xg9I0jV8`Әb=3wH:UָGU &4S̊2 )T1;1NkŻF˪2P{&°[2C(60X#( 7fOX? HQ:xJps&gcHH*X{SzVp/'W/oqDD.ػ2;Fsˠvu:N_2S4LA&/)¦Ek8kn3 M]zJ% M7rKW2݂='NC ϱMpl3yL$@;l(.O(%PUio VUɘ߭̅y"9>+vS՜lFcx N6A9c,'S["7V/ ܄ݳR(ТV xMa%0_$E nXm:նaԐ?ZO!{me~/}-C@ ޷yw/ iv 2˰ Vƒs#8.Bjڪ7c`z,C#oٸr\Ƙw^0D6MSXzg#%ax)*TNKNe{$/ٖ͢J+fN)zDN&٦5t ƕ Ӹ/_q:ƀObӬۃ7amD9οɶ^+= S_;T8T^^+{|WN X>٢+GT7GFZGUbki]ۤ]IZ+ROyǣ?[zv hp,]7#,.xe9<eAWs<j os':_4cA@KP",aȵq4N\wH vI %a;0ZS>`JHpX{jғk[E;~8EyՍ (ƳN^RBglpՙ8%n_7nmFlu ȥ-I)n4Q$|J@W {R'$ J¢Y9 IH!z}84*.ƹW\ ,dc.x+#/&7 Mq@MX&Q6"jKP)^C| 0C"JMg/:5kOw^$%}63Y-_gRzn4`$Z٩csGt j-\Vñ:Z5lFpIT&'IX֚)n]y 0?khB(V*Y7U͇q>KY Z4H} @bkIqM&D`W?)h׎* nRL5uO&{%qDxC֭I'MbҺΰM_;euq殓sɾħ\Q`W=<ڢ>WdU4j5'G(ЁHp2)د>5,˝\*Qdtq,~0{o75 _t 5R\UjT~Mc^Vӟ~B5bKѤϚ,X%_*r* $:s>@7E0@?bYOA#7!37[8T#n5*Ci2*xAuI|v&VczXEr ú~. B{>IO]l>Zɥ I+l2+}aYt xT:eOLTd,czx8Uq) JZTV2523"VA9ʟE>Ite(Lҍ(n=tr+JPe)TƊJo;aC _e h{YTcYJ )ufF1]*i>gOSWŸD.gfuwwm[sξ3pFv~#>\Rߖ:HF$y}j8OZ5e4?g'frCjh] VWg`£D'΢;oc>A.D|߭+ȪR(p+1" 9W{S+,1!d!vDhMj1zf_=(|+!bzP̼6تgL*p$QF >oJO]Wfrp [%%&TJS} tW!z0u?9Y6v3EoKsgc"ɸ9HFPL68/!~H&AM09, o /ka9Ӹ@e~m%H/'X9mv:!ldE== cݺ^8]LTx/KU+sdfQyX X2_y5/gHOl4հ(zdm3gyCۗOq/sGLSz\eCh#>7&OiۓS7q[<pق]ΌX-82W{ Rsh;ı1\g?≬:]"sFCqݸ|Sjq*qP-M3柭I@!Dh^6v'{"/Gw ʼnRU86l(cS,qWuLߑneTjO 8Ɉ\7%CYc9qwcw@H1Q; kׇmG]2j$`G҉Tnzaw{ B),]a(R zAv6`/_qdri!7mk!}>z6>6-OT3_noehԦʹ>ﳳ"7%ߩY8AtH$1FqD'x~epWҝWTG_NL,ӠZcySw!o&r{ GZP`~ZG.qLB{.זZ]օB8M*ƚm)üfH.~rH]gF-ǂ=N`doP{lWo?Fah}'к]Y>uYQHvrN4>g.8rP4c3fYJ^ӥoB7 kב4R7<#%GE5կ$ TRpyݸa =ke2z^w/5q#˖{ w$* #s͔</&)w]NR{X{ SnE uՃc)Xs!'L 6$Z {)0_ozl=6[^ ?l~n.!,zs"tg^YYLXt=0⒳h*twGMkyCP{A`QSAKfXg;nZmB9= '<+˼h;Cvf-x@eך}0w} p%^|/ɟerhr/jaJhay~J%Z%#g^?!{'Ke" S ؛ \ ƫł+X|gQPIt"qpc0F t'dvV /rU=1~ $QқWm1q,M7:.qUT:GcsܝiN`VC&"|4ڑceݧzO12apM ~vB&}~KƇ:V]1RNhcD6eNA-_m_[9lEL a%ȓʟGMU{8-cpiEuft-8eX]ؒ9o7t <=Աvo彝n6>TZ8e~qn˘}j APZ]zHOWBu#.v d29r nFVr>>kU"[0./7۔q-Re Zսkj3K/͒N%Ҳ4b H섏$ՕR'k4Y'>E;˰~.c2"5%}=+GAy;C.Z?z;REpy ?#C0_4} G}ϢzF/}Z>!.<~ Y*,8Ht`o?IYE1yc+Hl2c/F&cT.rQ鈍iWJk|8[ WWl̀[GNpeO۟"IH/u,QZ&%bJBXGXk3oG}{n%notk魿wiqWڰ-NrJ]CC`Dg8Soʤog&08uM*a"UgttVmB\y H>&r,x~rg*>%t`fsz*hO*TrZ /GJť}GMehG5u(\,#a}x._ޓ@@B)6&ƾ((Y4WMHmμ;ֱseP27:'#W7 {aJJP qz  ې:V9b@LKjMk'ύSO5%QvWoW%SY7\ ˱Ӓ$ i4i 4|ǯJv{,(.GKHT-u\ޤv{4Ř{>dWlZ͐< 36-5֢2@C:`O8''/,G)b`T}q$C!^B2e#pŅ )]Pidn . /{'Vxs_S\_xQ\4(V?P[&fTZY|>CX"*+m?,ON7cPdز0ŸLP,=T/[p)cmCTýD*i2mGtL@մ %c;bwd-meEգ`oz]ٺմmBfݎcZ!MgANYV;+推;f:eϰmyMְgqR]l0ucK٪H]3qڸ®aHIR瀰YG;^Gg֛{ZoFb0i^e,:e[,Qj}O(2 4)\ug$bV<+G)D>3דĵX)ߣ_֥22^ls?G!aqspDģh1YpcXv_sDšrqT!t-\_˳s,&$߫qhܱܝW`,8}8/u' !~ ֖u`./%/G;>`HO>Xgc "hu DS@u#JԐtYO]!f)-.ц N9^~HAnߐDSlѱ쎃\Q]ɘWҡywPYL[XE79߮[C[y4%W=(> 5Dj<̮"q("a7@jok*2eVRӱD@ fgFUVsJeM8LŀHu2F˥]]h`r{11Mk7'U Zxxbb % 4 dR_ p%d |:'cũSӜj6J54kΓ`X{D<NwAm裦IrtL 0$6Rۜ#W߶Z"yKGs, `DD90X"̠_cX㞖P4^5&hq"?˜2/`ba˫Dr!CQ<E!|K ggcy1uVřC?dԅewNC9gVoq!,46=rǖC,hNui "PdgVB CB=uEug&.uAN8ȟCko&C8%]4m3Ż+5Ʃ y~Vmfg~|ĥ5f6-dep3+A% Y-w~L?B,ߍKT.K,6N$#lՏ3+\.sLhBBZ {8L j }nYo֗P\;P8bI /W~X Agq#'LJFtnƠcU]ac$A94")Ҏ2eɴE*Kʼn Z)s| %%fJڛ_^9yK:$Z? .?Q֜+R&,{!QPoj6a.vŠzڠ&M1H%YmԅnB*$\`9G h ,-]UK8gpn O3D{8Mk*fWУX'NkiKb W(E˄J"Tz9ҕ96l!E~ KX(Nw 7ۘ7u{׾e,#v@ThU sK~?+uF Y W`x/>N?)7$}w@8D2GH<r֥]2ް.-ᓂO;#ڨ\tp^Q>[gE͓V6¨P8`F6g"d†GŨ )|.*hp% 8ܨf+4c;6Nc:Mw,c %gg`G<#=ڔng9)nfmkÕT[:p EHH븣'Qgd-YܸWnE{{4􉲬@b Tp T[(Taզ5srR^m'4(E>CG_-`"t\z6(ӛ9u^mrXExU4 .5a^*J\4j 1s ҝQ>^[p~2"tkg/+_L]r,w2a͆ŗ4Jܨ-h598E(#rqeG-E%?TOmƙ6GdUIkBӢ(ujǀdϻ~:i _څwg я0 &gyN HU m?>ОhU'?IYK;k|ՈШҋ&o'q]MŖ)(u&i2~I ~$ zP,,ՠ-k K<* [x!ԅo{i n=L)y8@b2`JҶC(PM 6wiF5DU"N/U)WgYݑHv͔#g8WW`B S,jc׫椕S9=4l1*cܯ??q)r$yE=G3-sU?=GAj vKFϋn .20*R?вb{wi"eW[\L|ͻ#O.;^;G>A|"Oc;\hmڏ;Z&$WY|͞nǒFA{ })fnvG,.0gQC޺֮N##Ao d̍]Ug=%}:-˟/gy,2XbB˾Xd7c=`wKMp\0[nzUDZo{WoK 8p\,ԑG zy4PV2*Өh*E.fnO799=j109 bG.8~wb*L}e~Λ[Zp[|NMREҼ<LxJFN.F `D_s3O xN+3G}7@ 5\܀XwIN -E00G)ͦ6W5vY崬ѿ=>tV)6K݉ R_%\0+`LbDUxU'̟mV4H*DUEd5wLU @ 4W{Iy8`eH%kW_+W3Q__zh?jA"YWΒ<1yRpfhrMάr8~/-`qmDR[qB!Ia˜Hm0yF$ IN ',CxyTe ">cPB^eM1=P+V!0Ai/dH)N}CN a.+{IrLQrg"j2!(zQ ^M-3xYtNJfks+*-=~67jޗJsQtвNF!g`#cHC_s˨N+5:Jt$Y?CJ^q4bG]r8"@aJ'em?b=Ufoֈ sEYwO5gE Os)NUCb(YC0 1lJS4<39IG?7 h2C ??dOb~\*/T}X =l¼vh%,H+L-#>x5uiH*|*E 9e{W®o(J喿!tyAOFVaֆF%k'R42'5X`vy4ۏ}LCdT5?b[J==Gn9bعLZPڞ},fD\'}C߄EgS+zOҨݡnbMT+\F]i=Cē#عZvY6-"I0 ApZa:WbAbIհ*ϑo L) 7CZF%LD1&[_RuNnа/w|#%헻$ޅ:-^ƪk\GijZwFx%b4ߞOm3c3AIѴf'TD:I lߗ*g/N>rTeAju' W0bh V"WˤaKʆD$ 4]q׸ Dq qvɚb}h|HeH O̖Ao6d}bX:5l $i T 'Pɾct{zA ]&-co+L$4>!-%p9LhU$ѮԹt%5뢀7LW3C/0[P G6ԹP&3[hH{|1b%!ĄCʦ=n8~ @Z'!MCY}+QћRu0z{ Ƌ_SI$u}\D[Ϋ첱qK\~fJ}iBzOw3e=Yh)jmrV1Eaʆxm(WIO^#h#O6V*E@ϝ~goL.%4dAe7HeU^]S?E>-kju@0"mjG-x" 94u ;=g OS[,#=id"Q0SXtpIZ0#*7n~E2eĨZ x箢cbfpD̍)F[/h1z5Gp*hqw*Dx:k}:-F;ٔC&h :dLNJmr]EzU) G7Lhɜ2|j;g@Ȗ]!t |&:sL1}#"T+uI?mml98=ʪ' zIw%V )ЩIE4?\Fn&{'p}7==򹉫MM)2+i:S\ cV/ f%@*ULб.nȓ )!ȯTQW D~לm3SV]BFyO4Qg͉C"xV]8@ړ%8'cȍcgu0'aJ)@X4Z>[/w_Y8L[/t+&}0? !610b-"Haг|bWXRrPIz:[7hST ٦k9Q!eSSe`E 8/ۻǺz$ƞ*͸@_,0,s.˂ "*ǡY>g}m훠Yt-- T-+_X_LV9j_Y\#9womZw9_6ݕ V^'&Qa @gd#FX\c %8 L9mtcՎ"HL8g"Z?T3Uoeq.3yLpW%Iy#2acb̦ni(c&O&rIuj4ۨZQɈFWG3*MUӅG+(D U]@h#^  ~5p=~%hdZ젟dU53o˙zh+c2w@etR#1GI'0p .Bkm͊{z:189}-ZO,k҄ia.;IVSA`n !9u0s nWY:}=裨l a Ȩ_ƏAnVP+bemPoU_ d#yrSRjGֱ6dҰ+F 3 SXGlQf|߬$q+%r?[mLY$1 l=".}ej/h؞8^^Es۽ jG`q#2Q1 W8^ۙ/q3MPݏ%jcοw -.R!ڜgIuƵ(>8'Rl2l#J[SЈ"\ WI?dulc?Sٖ#?mmx[q0w BY!PIs E$cOhKԖrGKDZ(Hxra:ENQd憛)95 uR.Yl-2>n(hFEm7 ɫdlmN;p(>jmET=Gm -!&MEPN Y&]]ei3$)Dr+KYl1|}ei; n1DUc+Ҫ/gڃ9pnXI3-=nPO6 X 3DwŔwHlZA_|\f:M73s lPd/Kn 'c\@*F`T VJN q=¿ 2d gE;,/˜be4"#e5&svo euYyy\%y(؜Bjeyk1HlC2R"ϛRc{5#3zfA yżs!n(U)oz;nl:%$!Hs˷zBAqdqMHLgcy{\Ŵ%$ xÉڨ}Q0:l-!0hEFɧF18 34ܹMD9t^_/ZVP q2zA>HaN _->j33bBީ*YbEv%SLYX.>CKB~4N=/G ^}`d*g6O9.ۡӞj\,t .pD2\ @VȜ$%Fayyc7lOjȽJZSaɈ^V*Gs #խB!;*n<p!L+vJ-SjŎ?vd+(8 !p[)g0F::5PPC:0D[viBL?n9LJ4k9byEthK_E`sIpV4obmx:~Uru$ԯVlq0;L`5|&fATcN}pϽǒdK"rRtT^Ӆ3s,x?쓲_uqi#ZEdKx;؋}3UR3J+W8FUt#yh|zF{E9I:uvP4 8vD6)Idv쬘at鵇O+7v=*7 'XpJl7 )P wBe[FANO@fntCG xSMmQX&U?OHiMAb@<Qל``v͎[$ 聱F* i3p5G)B8߃g\]{F Zճ艵_㱼rcuIE' Dmס ',ױsY9!jG!;J? #UC|sX'»p̦2^PmNUKȮ5s:]hنYTV]q?ۖ%sX2}~2Ω8{1H G_&@@ [vz`_H*%2ZSEϞeBA#a9_ !e?C|Z~[; q|<ǔn8Ұ1@]n&rF#&j/]~- %]Ϫ̋8u?U+G9 uT6iLi݀8pu<薎Ȓ˧\NCiկHnXyiY};JUݞ=3ﱂ152.! Ѭc B5WG{}$YJZ 殼 t +E9=jK0J(&nwwvի`I_T t >tyqCܪq߮gjnjË8hi>G6CE v2TCdDsxu;G˞.L]ɣ͔L3htUasځ?R|te+Y/Q!q|+9'6ypQڗ*3 UQ!<|DXcHQm3=hG:l ͺĭ.\5*yA* v./PTκACH9M7"bV{ٽNenS I*l[5 ʘDJ lWsvS# ,X{iE\uQfH{IW)%բĠtmTԾ(>̟:[SQndGQNrLslF"C"7 l/$PY#阂+G>'M ޤZ׫-YV1Wo YhX 7zRgsy qz64 O]u¡ r):N}&V GQRygLRP nyxh̠/QZɓ,i[Ybg"ē$< P*0dHvo]"5:%זQQ濞T!!56+Qҳ|q!gԮ3f-osÆ_M -&WR_h?ou7! 7XQP65D@kѦH:"\6-V.PD[|$s٧N=kZȡDj?ʽZ\rR {Ň?(8-e~]:Șy5)#%*PTt**"$ k][R{ ABT e{pҼJ^- c/0x"lȊxέKiɾt:AR{ :)A+ 6RFpzcP .TH9Q M"iHw'pjw TS-[B1HPv溧QVD}qAt|jeK-@z\PLrXv}tTb=9ݵ$fv!NͷևAz$l5?},'n?S!~fՇ)=*/_.Q$ \yYI-RyndDQ*"2'{?̘>Zqܮ.ι Jy/E=S k{f`U(!d!gm[T O"|6'},٤Қ?$_)7#w@3H $O2&? qcNGnKw=0.UUwyZ#00eygC-A^0=ZI)9wfB:MN UvJj)+׫B`/"qHt{03(Cu`p^0] %]hj [NZ w_n,!T9js#H{@& 1 ''"RN+Wr'`<PD)+ J+WH Gּ~w=XKJw('yArWHr{VB\uM>}!Ϫ+<$I,{S7<>RU ;C}cCIZw)]F@Tͣ |Qu}Dꉥ>:;F EM ܘcQIrJמ4wIYPW2\)# ,.,Tqo!LĎcmpnT W4EI(eɀ&Uίxy"7ٮp 3~!OYȈ2( lV&v_ix*bb;w#uW] սAF6Cex/<9{]Z֥C1 ַ}½Qu,*$q@aG]:xYm1XQ.!N?-ELj%% ɏ E8r'pC{͌FE _&[xchCt57ΩO!Ǵ{6eUa2^@Y$coCM}Au E<U"I|Ftp!|X2ugp^p{ K]ۣIbSBk\ d=ik|Mըi|eȋ:V;~AfMsˣzEaFVģ 5l#~xoeZ4rҥJjtȫtBK)Mʠ]f$R1| E1x (ʺN0kb=FդO6P,h^d,3Syޓza6It47/-sŇ= 4nUn#5i_q؄QeÇ,@a& ɪ~X^i CXDƻB>+1|֤L me`nP/"3Q ZYSw'pتWuJ4$5H6 p/WDzK D/M [2  ]W3ٔc.NE$?NS+}|zTǨN03"0&NUx_>F ˈOP,) ;nw&K4Ra-㘾. ؗrݮ9H!p b&1yz}}pnMJ΍ \jD(pR?,"Q9ڒg: 4Pp adڢC8ʘR{rVTj̐1C3f,8ӤVo5 ` s%&]R6ph.'j3и{r"A=bѺk Wj>~ƌě!Q @3Eyz |A?LDhO݋\5->HG WŔM _^!a#Vr(1PO(#r7*SwM] 3iz& ?S{x>=t=)6ӐHmM5Yx;={8t i;pO`2'}V˗"T6эɥ%dv#)=.g-9kn̴6qcO@5p#S 1}KI%} Q㸫Gp<ą0we}")ǓBoQ) 35{%!- Eսd1{Ve\UZ =<.3{&@ ]~bJ q0@J|~5Anx7}m Xl%v>C;yޕ^]ˆ@v}WHP[(|Wi^Pg;a4z"Ù]j5!bQHom&y/{ݻ6ڶ (%q2o[Q$J٫H!6k"qZȗV-K޺>۳O(=,̇l7O[ cY-"=\* )r(=\=="ǎoձG4aL*3JP.frtdA:{ʤ]`P ,8/4IWJNT"=DfnKI#97-uPn_.JZ99&7`7ݍ COiYa, 7V Ώ zxzh_!)2% K&SWNcvr9z:۬$7-_m)w_a )Wt Z^,cVoZ>Oua< P7v>'24cԆ >ǃ718>>UԌcmΑwԆtcp4@Œj!%u V6]Mags/OË@6?o[szZh0'/FC?߇8 ̴/J'^a8)%s(MchDZI9P]:4 nxG8k&f\\Hpܫ7H0;X"fCikJ-?t#iVj^qZ߸.ӣv`k刊`1*nÆ6mJYbNVPj'0qnG'I`2UHUaP23NoG ֱX[2q0 A1=ղ~ӏq W%?% `m4X%s `\eC)zij7,<{kKqgH%HK=r$ d؞2Z]2-tGA/g!A'JgP6DdO mMLΟj l2$-1DK TYW ,J+{#9]i46oT~sPAOϼbR'wa=us?lpc7+ ]g}'tКS9x[G`R.o`ʈ1~)$SC.AUo9ȎKnr71Yࠠh )t}'M5K"m+xlivw* 5}#nىmn4zQ*+*#d/baٳ /vSmHR/$QbMLbhH ?+\ Srx貁Z2:H^Cc̕媵\{U ;l븨<ΤI%麢t5sQ+AЮ!t#SI-.A'ߓ(<:2n9ѺCCKB3y BxE882i3M2AJW%GuԵ UE]6+5%{+-] 7o92K=`]|ܝhvc~w`3)_a4_:f)WfQE;{Z-TeGIk|%c۸?f,$:%TT٣?pϋ|kmv1Ͱ%:eDMoc8b| 9e ơ.K.i`] "bONt2ƙtb_PrF7ad s,ETw{u~ܨ{mI1.Qӿ$+ԚkS6TCkl]m_O GW9[ rlbVb{>dmK@FvxI$iܩUh\Pfyh}Юk% ?GǫKm\.pi Z}'ZLroEo :32jFCr! eKjS`7ٓ.=1Y| $`߄<؇J}8 yǺE/ʔ4!2\@Oޔ|p\ou%aŲe5a.JׅVb/r }3h Ig O-X):RXC]H9!uhj!spt/ʧCjMXk\vR\fmRCɒWලnِIaMI7][PCzigD]Ar q M"1LOo%zn`b A ;ࡆq~;f~ӭiCҦx[ԍ{;Y3Hr}pysCg3]P9@T`cŮOuSA>?h ؘi$¦RaDwL4~ IT7=-&N Fq8֕'$%q t>%J⶯U:|D3ޏLKɂaE<_Tϓ]CX'=iܬ16.qJsV9`F߹nD)QPp,[G Ougr ƲHXUly]^i5wꀘs4jL)#Q; °vi>ژ|Tbs- \;ooh^os$z*-K#ùfwz1T~0 /uHEkCbЎ]?UI^Ee+("1Apu5}g7+< "){Z6r2fj@{P &Čht^&@?T9wGeFN+ Ta 3o ^^ B6;8ufH ƋnaM,^U+і@.$>U6!}_*|k=72xPԛsŧ 'zGٝfz]qr~Kg8K:\qB6 > G^hg岷(zg~A[v 䇱L6MobNo3ޫI0`քl-%dMvWT. fϳAW9OnųJ~ߢ仱lQ~8y[M3W.A̸9*W| f0*-JZr7RtggBV5q$VuVx߰{,Zw2N{H&_(Ve bC*\upl|2z# ;C u!dzˢ?KAb$ oX NZn.x1%*sB\-B uN:(A[zhMq]wzY%{b/tLߖfsw-4c㔵; ;a/^E.so12ΐlf_U_3}na!E;h6M;}_b^-6imhE!JƤ817快G:|6,uP9J%7I7b6շIR)Q,C+}` {#liRj.Ţ;qe'XHbvo8:| q!/e͊xeUBD>Tyo\ۿdhق$4N>s˼Qsf߆(a:a|}liIư 'IjN iK+ \y7n$N\yS^>d=Vi>Z%o#EF qQdCfHI`$5h$_CmuxT. B%lg1hAʾor#: C$qdJ4,eKN- ݵb{0t­% iiWB jԷ#"h{EV'2.G G{޾NeM[4՘/\ R2ߝ"VhgҐ2mpg8&auCTź@i__՟[| |.F1_j#y>nM($%cSib]i 1]8+t"I%JoOW^2҃bm#S su`;$tdӫY葃9,bm[lc\²mc,2+0sIP"a5{ȗ m$&ߙ.pN8oCV]۱V p_Āp ţm"r|f˰+4;-bGS%W RrDX`{@vxp#ϽO(hUN>mg 'ލ`Sp>F1y 1gkɭO;vEnD # rʼ^p2e(Muȗj9~R4b; cKH4q?CZuqժԵ}9㌥҉}%L,Fhf"^8S*+ h!ov2HwmF8vȄi 7ۿ ?ccbj4CA-oN|rWXD/C簇dk"]2x7 UY]XO٢</zvQ(Cqp9JdB; ɋA5,a\s3]* %/}ZYʸ}c(>(lSGT6 aqfD(h|`=F<>zIڽ_H(Mi]_kVA`I2&q W:hހNUΖ?K#,3]z3 g;y>"/)S:k Zqz+m { `cͪV.VC]3#`P[#-Z_[nB.D;yb ;D,r#`xi}C^~ ,MB%{&c`Ie|'Χ*y93 ^A^U%Oi;)UvN`EJǾY̞8}{ATla=x9 ‚P%ռB#KSn os.6IyZW$+Ć١IXPV |XϺCnx[8qHt)os?5!|V^C]p>~6l][B l qwR 7]$;^&>yF*c|bxb׎,ɮ4Y)=$W9 lbdAg4|-u <'F?YXk_S5noM9 գǺ'hH϶08LJ!!Ľۚ 3i)x#78m0hvNȽVbCE 밪k/kSoV,&I8X%\Gmjo1(W|' |d+ӈRMo \VVpBQa"1 1Ŷ@O>c(2 |h\7| !k"q#X@C)dxGe%1hslBh: 2ɳpog@6,s:'Pqo5Cƀ{S,0 X \xLzYcRҍ Fq=*qM4 N*7j`UXiߵfݽdWVN-I)nbuuNUlVĐP1'1_H7Y{R&7Z9p)P-J pc@ ;Obn`'b~ٮh&FQ# #gϜj15a8:»'6iWO'jlGz23LN@ 2#@_+ai0X`a0gQug;›ͺFZ+9_DI4_IIo"|I-r,:KUوG&dިתT?'x,R{uMG9 %hvRڼsbQC87NrluڗQ[{gFgaU1ף "B!r 9P\tb?pߌM:E{w],.Nsά2A8o{?j`SV"v)ݓ:n4obDPu3VNRͽƳr1 s7~ksֲ8y^~2d~lue D}.!HUtxvyH , F%ˆ 3R[4VG.XRh'<[͐mΗ[5yS3bAU-MYCUZ1c~倛fG2f:'\@!8oEדI2dzuw/֊tˁМ޺ Y%9}G P ӕ#j~0S gp~v5;T›5qLq",)4Nr+tYA45^9 9S\%-7WtS-~9uwnf!\Оx햏 ntIܼ!?M^a8X P<'?o+顥?CXh{(Wͷ߱V FAPyqcቇ~h`0eeѥ 2g8z CM! W)B_,(5x;70lݦCAOz@,bܳ&7xm~x ]ʜ ' :ѬhUqٵg. Шo&֫UlsOl5[LWuE_p?+.FeMͧ"Ik[ 8Zpd"},j(k_+dGimF2ѱdl; `'|~nC4M9nCbk~fTkU`y͹)L@0 Ġم= 4*B #soRg9ԌoJlN%@Ȅ}Ɂi.x.(Q6@<͠F`VķZעV|0MqXV.`m/ӱP$^C2^⩪zCݓ<,yMC=ך/ax9YwEF8|: 8M8#ս_*I|"Rn٣4=nyv |hކSj5[–w[\V@~X"rW  Y>NX#F lL0| VB& d4|:K m? uwyV ɖ/HjõB_B'O'O悂TMRa+5f ?^ ~ջ4XvύHND?}2^q~SDf~NB4uXv)L۟mJ0/^ #~b GHIL9d7Hpd ^(ŵ-A)+l7I FF1xy2)vJ`ˠzCR7]e{> >,s<ߧHN'_xRV`Z4qdN*:I3;c6vg(iNC@ b}Ovf+^ڻY%79^y}q[c-ze-e 7/ OL'VLH A*nL.u!/nml3&4YY7l*{W!t k͔x$0@[щQ4Aj%n'6__(vQ⇹4tKkˇ esd vuRI?P Oȣ%/セ"8r'˦#l\f0+F ạxcU|^9Vk K q#`K\]B(ʓz0u^x-:r;c@V% ָI-HX7ƫA %L0l 2Dp9ix3q#OYrUBPۨ{хB5 qJ|WQ}6h_0秇b H'ρ-t:zTmChkԇQ'5[ZC\Q=] `A%$o T`+vdC>РIuVq\,"vZs%d{^JBHHƺt(lBos0~$X׫ߧW^ܵ1)ɶ: # oyi&\pg1f qq>h_] oF{97E)!]U-* àۨ/PK{O$n`W)ᇢۧq}Zm|8n[t?Ẍ^YFy(R򄑧JƎm5>WZvqUu'I[[(JySč)hL)*dKg~BtŸpLXJUWR[ݹ~9=tH AYܣ)>'@"eܭdL{N=k+] $syw+-u$tӹm J`x6{f )NJĒ,k#]<>)Z[Ji~hۿ9`r! upYcO;\YʎWb/:>g-9l ͐Я =! -]8ë򭚫FcIDM<xAƑQTۊ G# ^f]VWV;'72'$^{RKOZxA,ĈmZ}kdl!ѵ*&[J^bx4*u)0>C Bg=gEs dc1aFZIcrHєWU*wM\8;g/O2 O#aG5`cfj!6HSj}J` ɕB #5^~a Xrb ̣:G2x>wH4tQBc@4g0 Kq1uV~E ZB-Z;92%nm~Љy`+r֐u-CŜ56pi_oz XLWI;Dȹ˫XiM{On1*LE"Bƒ-lSzFEx o`+Y)}#3w_WNkӗ1:D^Z]]-]׹ '0mxx(ΊccLwC6i=MGaXIi}/&͍k6f֙,drF9XqۄH l*{e? Jkϔ9flXxu R#Nr,@0$T +sʐtsP2Tk:I<%[fHocFJaJy_6پ1͢1{H|R^pwp4^Ǩ"lj6][y Ԍ6P~產S/r&̓r6xgihz]4|I(EqJ~+$ߕK1䰛ᬩh2֫ˮ]V"PcdYᑾG8Yq:N3 ԗJse [q`Nɿjʞ|e9Į2]ǜl(ee6SؠKm*3jե('AU^K NJ3,ddYD#?Ql(ek$GahL{y 'hi$eAPi4=>l̰2iVal,̩a)'ni4: .s^o{ˁ:]~i|!{@b|_9qsccJ-Hg^ͽ;λs7e -5 ᯉ=~Fp* ~0HY|7DBr8R/Ant9e3 =JF}Q(r/j:dGAl7l^w^3#&]f+qRK6)ha'F[:֯<:RsWkr;ƻTKe@{ѿu/6F?܍[XvVгՃ}pKAy*2xtݭsLeе__ ^i) qv^"[ Tdw,8^iGD8ފGXs% Stz&lYLI6AmK:ܽ3XiEvԔkg-m]^kMv%W$wsLh;+ϸI?eXsm[k mUw%!l )BAB&bgIJKk<%9pNL72&oi OdSY&~nz0_w W;.j;GekF&bSᎵD#13U vu- 3ELx{4]K+Cxji@pM!yv^'EB5 alLV7|sʿѴcA1*E/^VS9Z먛~G9h ZXarDC6 hYmYC3׸ꋻ<}>j6ccG9kJ&DҏkѠ[,>Dn ?A|u OM%(^-iYX]m^r<~m־_;X-`Fn3#>$ubeO^aE~F{/S =bhL[ȊLעIO`PXfnS{ xXݵĢ'̮;aRV49v.fc{\>/, \Wp#i5!2ug e0G^!KycRJkk{' FqƪqEڒ+!Kr|̘Pi6 &iI"J'p8P Atae$`cpDf[z̥A BeŞv)2 vNfg݌/}/8UTbtF,،&F:oKB_tLM*a R=nj=.ZW68E!)𭔣mSm6lhq-^i7>b,P+r<.:gq ^Wx5sOʻ;0#]i9uZ~>NoTݤߖP^͂HH+]x b39tI7 1Pa;׳3` aSAl]p4 ~4S&`?JLY䠢Xn=z_!c=nV"Hk_Z <= >ɹZ;@$ b̯a`oIJha˕ObŌ0嚸KqUa(_+%vj<<"`#\5+[Ѧ퓕Xܞ$yjha޵9)xE!"#fD A6Wl*.%aڙ¬(iSἴo2 sOͲcϩeZ"GщTjܐk+}cmMRRkaVBHxcPOڮU- tcJ>tg)&z$ <|ؼ lz*?䛂n*)c_4Y}X>I#UaRMc/nD-&_HvH+06?2Y0&e/6ch["]+%m݆쭔鿢 xn2i_ fjXz Rz`| %5{ذnY+r+}]AWv5@yZҨ|)/WS%90<qmcIݔ+PK)Ut7;Ə. VS YY7iP;Ed\)l˹ zP\e%%($- l#_0*zl I*L)WĦ!h1EvX̀F bTйGRλ1o }_woe/ƶ(EݑVi8 bTUj%h}]l_.b(І*p-s9Q1=V4I;Tā} [YY\5ܢm$}YօEk*i~` [!CX)yg& >c~ ((:Jc o-5$DiAaA᧏dw a'd`j\˯gVD9Gתli.4LɬftS}~ S*p9_ 0pzZ3PjZ﷑ԗ_Uc2~Ȱ|B TVn- ӊ&3*9"eMCEPvӰ;h>UۚϬ\_iL rř'>c̲QͥGm@_ E'cWK2juTMSQE~/0ùI($]?w;G [ ҄Lӿ@;jW:FV}ohK1|?l"ⅱ?Te POnj2O0BJ2wj}@VҜISV^"l_ dh)Dri!m|Co)4ڕj5QOw+[O?Dc Xx6hv\G--.Ʃ1< x hu:fR5UY_{!h>&yxfBUqqY8*v0A+e>>}}y" D^a0-fY7wЗMUFG^=(RCޤ\>E=Mud4㗲= ipIچ]uaul|RnʫDկ'9 F >>pF?Ҝ6!2Yj@XbTVdJyȣ]sR1])]_(s2E)} (bjTß+3hα$LY`qK91K])tv`d?.7Ȥ &m7=\jр=`POٳ#bVŔw4%_okS850H8zkk4첣BYhqzs"{Z=t!1 bipi,&2CdD\9o?J07s =tTMlF%\sMز fuho?]oJ2 ]lدMrZQQ]r D6/ϕ&FNS֡i0C,-QOfCYpv+dD8.Z1oқ sq0rE~r$b~j$+IQ9[O4)aG!q#p S& )BLkw|إ?A]]gԯH;<+iMP͘iR >9Kh!Gʳq+"/`R ssrKKWmXISG= SYsA w7z, S:@rx- nՠ ق|4l.G%zbd T>D%M> 44yoiņn1`;n+X3M ei E'HhvkN4?V J 7K72'"m걎kn@)pTl?u톳Jp3 Qa 2@/"0wec$=W ˪&D@߄z6L.(HSeJ9H83.&*W+WS &}},%z$7{X$Xõ& 9xR4Mobg 8m؇߮[l/P/lJFF,v%c3߲֚ȦlLDwuT2[jrUB:ܬQQ].ߏ&"{͵%Pi/}^oic_'Ͳi«3b x> gk2(Ac)bW9f(;8'R@l@3DLyƭ5s+`I LQep4ͩ=QǙD"0DP&B20aMGp/M@}&YSC Rn^H<\ZMe/{<ޖQ`ٝ9e7&eg{lT`V'.$ygfE7G*.'WT1 k8/w{u'+A(>/A_ w41h./ jyS `21wZqf-oYZB?]pOg hCH|6UADmïY'G)wEZ^AEN}ӢfVpܬ^%`NZו2q#i0yLxʸsfӆXM݋dMv.žB"hH;3%.[xgd[ixa/:Lv;1s!0nK ز7RYi}L}oNTommopb@1ȋMCg~hIC߀冠͞@/s\osf>~ܕgeΣ Te՞[^A9rBV$;21|lxN̊/ ™qb$_!Prb4 SfD&SK$з M4F.ʴN-Al:n`v~ZkP "z?BUa<ՏE˝+*%" FJwO)2L#],VWCWYzV~{1-/{]P8}QcݰВf0%d|]o# enu;Wɉ(mg3`5^TqPUKh6a)`҅c" Y!s a\Q[70 .C]2ڜw̛_+/)aҴSsؙH5>m(cQMĝ@cF;Z_Ib-3FdД*#|.&i@/jTeOs9҂yBI/ɕr+Xgw.CU]d((rKDSٺXIhߎ/ܵQ#OKͷ,f }u>rȀ L+d(v$q:9R\>'Nd,0'o,Iu ILP aiiV1UA¯ eg\hKme9Cԗ@TZ(8n:S]p]=pcWZhmLa$D-RgZUlwfȢG4E.~M- ub (V7PC/&vY%|Α"(jPW~j!gH%Z%#hXȬcxNtݙC`i|ZŎ_r1 _HBjIQWc䝨<#tSAph7UσX҈UU{)t)wYk|]Gݼ&l!.f<c pJuW2oo9:wpKۋn}!:e+嗰G{)_vIG}FGK:[DGv?5|Թ =0KLJO /iMx,ƃj$a-N;>Xiʉ==}nR֐%b6aS5Xf5TO.EIfc(WIhkw}µK&y6"2+{[X`\Qh?z(N==0rlq\f6J~C#GWU zrH㬽ƬtJ,s TxW%ï`yʑH6%6i%/v5@sy2zנ$o`M0ш~cO٩e9K#+)&1ߩ+VĩEGt[0BV'V=%Cx"( 2בd 1Ӷ ^}s5 [=Ƃ'A  soԁKrY”Tx*#w 4up6@LIJ \U,k :PUۘ+=t䘉В ]Gd<mnjzƳ- FZ Ԋ>Յ7sƅvV-Ir+pV-rPpV!yi<{-Ks?sGӊ^OP@D&В<`9G\sqA蝑!9G~.gdX @g hNa /Xc_v]g`h}gWL>x]^fD Ƨ;i _5QaLAB%Sxpe`zjYt0*Tx"vhc{zƤ .Ҵa@b"o4| ϐDE&{kSK~EJy]d k(,b($Br9!1>Y.+tz_N1К]#w7H^=ٙ;(*  7%TmX\[e:\w _癢$9Xc\k@l噈Líz75"'|jfZ.sWuٹ11lx\OWSx4 nnoɛ"QfvznH"ݻ~qЛ1 ƣuq)= KEɂlT_ؽ'y"Bo9b7餈"dȰfmTC~*¬k' ? ͐ R?p&mm%WbC΂ajm/)&XNbiN~CUXb"p2=F46b("|yDV~d%V-rMJJtx8T\AD=JbE*C f_i2#NP~ql _P:`{.9Spbg39c4pzUOKx%m93C+4}~2%4W7{t'uvR$g^ZNVNNy%"s H;3 H_3y,J 2aP:jVY(|IE аĿj Ej%I]nrC;.VJHɱvgtC$jm9D[EQx53+>>.i>6iW#;0] fLLPeX'iJc*rC* Qٲ<yÅPB+sSMzHuB~.hw7ziT̀?gd8CQhiF|As9%D(o {a9VWA*g2f>'7",C?۩_-Z4Fﯠ.p9Ӫ[;bClQc [ò󪭛B29C|fhU6\xaqrJ]0:ȎMߚP'k^_)p4Sn 3%Z9c:6<$CPbSaFb"2oB=wwj/ŘkeV|5kXԒ67? fnbGRZD;}Tڄ m`J$,m 'n}c WAfBD5b:O$pJp\9޺D0"ljn-@]l(g8o4; |?'AٺD~(T7΋6J8FF(1T^#Yrށ,^zP_.F+EoX" O;'0y݅g@O r6<,ш#lEObCLLl{{wTE˧0pڵFb}7o:,c«Z0BæsN~kM.MI/轁"ۓxZ2mLJ:*;mq zR}eOrMtt-1%7{,>c+،} 4XW>Tl7=|U }Y9Tv-PIXO<I0 yW%V!cAzwPs?B}ymTjN}9mg[AV,=H(U@n[ ;[ &)[(L~Nk4 zk')sVtly&)XWо!zef !73 gWS"ɉ6>iT0ϻLVZl1pvEV҇80L{tRcHU|HaƱaIްa$ؤcRVzEx@M?\oӰUs=y9_N& m|zo>DmtJbK^l`}իÃbஈQZf~cR95bR3f^ o4\X)sxP^%~ X(;nSÐW:}؍0;FțzT8u |pю zSOӊ.DtZGpVOJ(A!c!~%s`'s_!#߬D94lň 1_>)]+_gRl9Dćk&75)b6^ivlx_}b@b`3x:sD]O Gaо4*?0P?چڿv/ dq$ '݌̭pe0lˊ}PK9#wU?L:m&V%'ij%19T}?VJR]5Hޫ:XM)$QupS\Je(#Ef YZ