rpminspect-1.9-1.el8 > 6 6_6 3!y덏%!E/֡b !E/֡QH=b'RVx/`y>qo6)!B IP&[Wǔ -'@at(إul\:*0ЙM\+ ctk땺ЀJ?gjS"JlkIggbD3(ϸ .(M=GP{JH,AQ/J*~-6k_= eq0e\7t[](q#}VvwHr ^Pŏ }|/#l`ƼbI%ڰe{r25w~^#7:.,ld/鵳]kK?2m>?FaD S9'sЉu6JOt^ʭN,6y\a6ЇuU+g&ώ#`WEgTW?Qw~| .FC-iI&σRKKF/ TU])ʛRCʦ(vձehb πw/4[9Y)w m&U2O\XA[Sk)#u. j(E63p{e:\\|$*b59}W.iGPgmT|R\G@M~F(гeo:tP3O>F>p=?d   748`ds  @  Z  t        U  D(89(: G HH I| XیY۔\ۨ ] ^| bUdޥeުfޭlޯt u v0w x y 8<flCrpminspect1.91.el8Build deviation 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.bbuildvm-x86-18.iad2.fedoraproject.orgFedora ProjectFedora ProjectGPLv3+ and LGPLv3+ and ASL 2.0 and MIT and CC-BYFedora ProjectDevelopment/Toolshttps://github.com/rpminspect/rpminspectlinuxx86_64thZwJS!MӜAAA큤A큤bbbbbb}b}b}b}bb}bb}ed258c7a17b35804e0e9db1b4e414ac58f6af8f20ccd829753004eaa66405c8c79a3364400c3cb4d69fdc17e4e47b3aa18f6895bef18a1a77fb0ae489cc74cb6654eb34996802360214f5ea5af7c026e24b986f4c1245c05ca0dec2ed43ab6af30d2991f4ca62bb98698287f081ff50c290c5f129797ff05cf2e200c1dc8272169d16e8508bc824e266b877813f51ffa1731101c0073da3457382b99970f6ebb3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb369861c870234259a01b13a2f3c8ece6bcb952bec6fb316c1016b72a6be2f6cf8abb05d5f0a4ca638e4e9c52b53bd3a90dff45afd7f8b0a27c35653cfc5ad27c716e3../../../../usr/bin/rpminspectrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.9-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)1.9-1.el83.0.4-14.6.0-14.0-15.2-14.14.3b\@aW@a@a0`@`\{@`7@`7@`U_@_@_@_@_[fDavid Cantrell - 1.9-1David Cantrell - 1.8-1David Cantrell - 1.7-1David Cantrell - 1.6-1David Cantrell - 1.5-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-1.9- Upgrade to rpminspect-1.8- Upgrade to rpminspect-1.7- Upgrade to rpminspect-1.6- 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- 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 ru1.9-1.el81.9-1.el8 rpminspect.build-id6c75e162b8b7bd932b2a71e5ade2158748010c9frpminspectAUTHORS.mdCHANGES.mdREADME.mdTODOrpminspectCOPYINGrpminspect.morpminspect.1.gz/usr/bin//usr/lib//usr/lib/.build-id//usr/lib/.build-id/6c//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]=6c75e162b8b7bd932b2a71e5ade2158748010c9f, strippeddirectoryUTF-8 Unicode textASCII textASCII text, with very long linestroff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix) RRRRRRRR RR https://bugz.fedoraproject.org/rpminspectutf-8604fde8640e74de6ad9ff2262ecf4a1c0f46165d560c4ad2898046491312926b?07zXZ !#,d] b2u y-iSqjq_%NPwÆ|j}1@2{%y:2z Af7sMz@.my} : VBg'a3@n-vw Bܳ;9:^"0r%AD0:ͶfKSZ'}qI\^m8+pbxg+lJLc fjE}N'}Af `y$?`1&в*N|;c{\-4UV6nXDmoz``{e>k)?>U]S+&&=.G熲-/XOnuͲ!:hj߭$MQ[|q|}u(ïֿ` \Y5o9,t.>4 jx׉$@Gc/.dbGz 2DPinfE%y `|ZWi 1^p3Ț]h&HAԻD/.9~,Elp#h5вQ` y} ]zfseoꃣ47޹Aq q"ʤ &m[m$.4«tꜞ֭ij@>t%W[OmʶI@F s Q̿xޜ|Z>dQa@L=^ XWٕ)9 ]F7әHATS ڧ\u}w3NRͭ%e:紉x'gߎЇû""M9pcj ` ֍ru >%`` R*-yGe;py3(9}yXuɥ 'x$u*A2oh2U-R%7-g׃@+7!ǖMc"7n<wa'{UnLdƫ:߽zU%&TkoRv½tEXw72 %b 9E}YC~V6ZkTGgNrE|ђJD=guw:a<`IN)+ǻ:>>C-ޥ^N@ qͮ9ni_ >>U0Ø +}XB7%D@B&X `k!H .ZfoNB.qNjxѴ.3d_}=AQ_ ~*X\R}0 m">};:жRݰ.{jYKߛDΰ(T4o lo[~Q0!Mtv$2Z @Ϛ3xyrtC3n%ksW!h(i.´n7Ƶȳ[ۋUa;Ywkb(m4˳ 1Y~Z9ՏOKe`u:n^pFNmx51*C\< <#@T%j<*5ƁDD΄3ę{iFû1D}c$ cq@Φ+uO^f9TV¼Pn%X`qVP5l# x{y/М|kB |#M ]mtVoᤙI{_WII;2hq={sWo ˘rw"zEZPqs$_-r*lsl&%%]=>$JΕ#g:YAWNpl#Tpq>wm}f.v؎ $?)*%ZKHPB(줖uƨ ]3/gd+)t32$.bAe+,Q1rc`cEG? bP2,7tr$3&lp#CX҇۶G!'U@Kʡw7 Uz;Ch$/W8@ /dn*kqF }TnѡWD',KV6j&.27fyN㉡7 ț֘iV! |7Q,A^t?SguSq_ݣ,bP0édJQ64cak($t7n&P_V'6nSg4d6LZ{[ vXfu=--7d7`1E>yy^ ztWm֐^Ƨ([ dPk>硇 |i1b͕V2Pj]".sޤ0vF$N2;% NJx)<:dZ,l3#>ZVet3Ff:k+ !V0Z@6=w}k*|DsxUI1+]i q >Lu <*Z_,Z~IVA5NzplPXN:H|ƻV?Ԭ 9XOk9k}j$9JXSۧ3b[?xOl3Saz8Amܞ$ iȖvSɛ6G84[R/$M#K#( uH 䵥Z0$4Fx#9jdZSWb:{sL:# *eCGy2s{eq짤oH+Mxl>Cdي0,ʈ6Cyi5d\LxG$5Q!o`_nzȔD:B\e2[PIkkX&H7~B,#^qIl ҥLtKV6-á!'?ɣh'sDoƆdr,)2_U=q5Uo]:IO㢆Nz-b]VM/:pdMoL"YA'AA M]M0[@WX@`lk5B”f!iY~,6|{yBlΌC4׮~T| ~e_ =mӸ@/QvHGhÜ.Eɼ޸E߻(適Pӧ1Gѯ#, /W=|b|[%M EQV:nVOLϽ~^C6CޢڄѢhkH{?IbKKZ3٩ 4Ew~-]0戄#f, -;iXFRi, Bp?v$\dPyi${"m5n)tF`~F) l\%v3UAn:Po QM", ;.yCe ?ң٦dZebK*Βrk9Q?R L/\0{GUU_ryn52x iJaq5.GU䢬9˚tRhW -|Q骟iVc>ԻMK,T)R~(@W2JM!B`1op7:Cu?ElWޙߓE8#/^>3E9TOz''eD+o+ޕ3>}aϾ^y Q x 'ժ$`1a;M1"ʟN ڻsYzV9˩0,8υlK1/g? *4xy\  t)4SO E&z qAEjD%˙>~w8T4x*rS;=pa*f>̶Jk˸cW3vN+x^2EږtDqNT;?5z |?A) [n腜LQ;]-;B}6B*5<_p.GuhCQ+:s鑿<'NñgIe YFù #$5Lac>0e3F଩."".hB2hzShz,=NuV4i>gM|m nΥJ8LGgx p\ysL8^yjdkas= p?M- lˎ?.TQǪ5u:̬q|u=넽Â̝t齚<獨. lܦ[8?E?e9S]pi(Ŝ)͝ą` dX~3JX  q]Ybšho8,dwU:lg[|ԃvREYIGͥ L.#nO`~>wZp-)^u.΅ȠoyѲ%8T9t*&ߢcċiCKQ\WtU1C$O1mK+9E"W+#<{kPo*/+]2.,6+8CaJ'?%nW$'fA:7ACs\ Sg:o ^z+FZNQbe@򸫎A9'' huaܞsK OlIBxwRfYӼZ3`E Soej/l FL~c5 4%l*3E^VbÌotæ@1K 9}%+'JQs?sW!3oяu;75%FEyHڴXQa# !4ԱNNFģt *bkt{`dѱM(̿JKJ?O銝R`VȢ U:-Q\ODLEuGsf|#Huw/<<~@['2Ev Q؛H<_ bdyouYlRy=mcݧ'y_ xo4)ahTٕﹲ[l$ӑ8>Htw?{wdx}j .]K0̽^.YգMFY3G&Wf}P{zUU4F\XmLrp>YD_G#470YUBgt{C`6}Ӹ^ԛBc`Єd9#6sLauQ<]lL|b P+є{?f)6nTGbCfuұ/Yjv9RYvfuݤ2C܆sm(k^++vi](g x pࣦ-;Wst_:;_s @9ULyF{ϭ3˖`df{u#%7}o-\Y>M5l-`ɫC<+=qM*>C Wz{0f%5k[̼;lY.;/@C3U נ>О_N‚4QHKW/dK"ku]Ow0; >ɭ"<ضzuEuwTm\~:[f;^`NwO>*8kde8%6>EeȍG吚.Cib_+!̹%)vz/C n%gEKeW'~Q47l֞j@bAѥpna!9#mnrnӇ~Q%9$~,5 '_YTM \cb7p=A_jb]Mv $+m mB[^ ` rVBOQ6Zؖ,}LL5@0hyQ`/}|` טi_n h 0WfK^'b2)Z^̽K(DZNQָ #I1 o.K>pgժN'"Va[_ej}jҞ"OZELD*P3]KE?v&C /i18l zT"[Hi,Znh$1DN"瑌fZJ^~xCs_,(lKm1QաFk =zCYl 6fU~V|}CezR*qEx>7"<G /F%iyݚlC %Kt0#&t; 1p()z Yl1̀=PQ%aL㫥$0F/dpr1mrOAz)}4q{rJ'pU%EXIaiXt,$keƀ8z1h|[ XJ~egR7>FK4ǩBfhp% v +1+.oMZ<:@fx;3wdcO7%4hs-Jm{5SXT|b<屯!H߼ x7֌X~m᱾e]Јi#8>6b1 @qUq^٥#S4jפiN^=LE>"MO[H(5maib<Q̓{l%5.]T0.MOziFn?=Z/e0o#B^"qm.hOL =S70+eZ6ua^*Сt/uaI hJ<pK 6_M(cu=ьLmeڲx~fkY*LXyJqdQIz9w ?i>Pe-n;"^c-3p1P` |o_7*.$d&8>2~厄Wl~tZNRt(v!wS/ۤ~RV2pj7TWO+B WZeVp{QQ }#יۻz`hVOQF󬅺2Hw*dIWxu ʯݵFH(Ĵ"n*|ȴFSnf=жCh--PS& sf¯Iv>c\OBQcGǙ-ejA:;|cY^'IBm cQs+7?+JDQf%q-Š[F'+3]+&l|H.f@DF$mJ9iۤxr, ($Eׇ0<oYL E ƨɽRm>MI7A^ U3)Mƭ_&\E`Y- -4^*}Ty=:& t^9]Ž ]|9tMIF' BA#@!5D#W~|N(!1yIIcVi܀Ԇi%:EoGJX>|me/ \=)_)*IjI}A2tD}-Iej! H .f!9; {w3 @k:,fgrW^eG( hgaiۊm2!̬Wu|Y‚i#N͙owS--:O+]PrSN׀PݐR9da^b?!2,1]E4cHה9t5K#75Az\ڏMw3ܻięǰ7.Zb}J&CRqiuR0r`Ù^zWM]I:^[FmCXu7B"G돯}ׁ7;+*4;_`~~O/|nEyH18>y nUU}xVd`}.k%Ut"Q,&Z@Abn }hn"O5HZ\sz-c9ZO(28o^t06;smnra|1WgI/nM?h\BTԥ]{4KW*%+ F$_%F2`45l-hܰ Ͽ>[. H+Y7輪W30Q:+PN%.D\vnxvy2" F RʛGRȹ$H<S24//K%8qZ#%V+U;ȗ>KK;Z1uy$!/Bm{L]\c(-j oIo`ۼԾzt0;2&ѦlS.\sM^VM+ń:"͌.5 \~[G[݈S8 cwJ)X[Y?~zo{'|] J+?wrgY]u ;t|,V1ӫg㑛[p?Dt|}b  3SܴU4ȫ g6/'c$S.񚞭![M3>gz-BHUorU,O'_y7 /7TA$[T1|V7yڊ>f1!y&A3`_ 7scȪmcYܣֻqG=' *?<@ T:ZǤqL}$I֧{G _t~ ^_3bX(U>N_en,ZkD5|z49L7nQ+Qws)˰/a͌ =¨V ^ ,hhA# (S8n:J@<//_zHai:yM0}^M|@`^JчyhW8_mNv6{,`dFhW " iFQsPWq |!nKJ $v%z"*[|5$pK- V+׀9D. Ļ$HK_}}~Jm ph_lS8ujuKIp)d2!y r=̟?i6O\[C,9(> :!DT7F\Ǔ-J`˱8*'թ|ja3^u^aoqc/{{/|iTa͟rB .r^ 0I [gwYȶxbV{r+m<`Ɩ$8OXI si *ɠC@8d]Ʒ|D4c[6(];~p'~t! YF{!CbqA[)0UYnHՁLI` }X>sR|GTShoDd{2P9 >Pؒm^ `~2@ dqeqmu}37T“[nḫ؁mRFCY:L+s|.V7\D":ɼRTONx1}{ O\9lH5o?pt/l,֡e"}/X+}cPP_E"jmJ+rlyU,Wy7PpDn$<落i.12-f|}8E <'e?n|GtɯVgZ()p3]KGr4h*"J;ke w&x?f旫m$6LH,dOy~({]s7uQa &* !6 ڱg4^ӋZX"oLaZkBin4elo?Z$I.U-:ϚW5m$sRS &&N.OTAn*xƶ=譱RH9)r aiFϘ^q/O,/,CTE"忎ήp(V'e?QAq$p肅VW0'8M8ô9 Ith q>HzT2.:n1 .Z> Zq^&AES ®C#N uE16*5MS5Q-v&oFU!qXG(*wȲo Nep9UMwm-ZM7ƛE(XW޹x>I{EbAHOWCt#!ZE&iBMm{܁U6XiJ9Rs(u~+T/-15 ?OkSVUt^,k6WV4&PhBڞRPeaٽ7?j~r}xR~Nȫ}|h#m 8!ʤIoA @@r7\U't9\G}= $#O^sH"?>yh$:!70:MH~쫋y #)כ3~ClV6o!jΎ^ޣ@N *knUZRoch3a!<dJ Sﲔ<|Lq_=Vrogڂg7Zb-SH]'=o[8*mgHo0TZGwu؇k0u(8?b.Mջ72o+~1N#x5@McqJNbYs?+-t0m:Q1%w+zbSњlNfR/se&!9 s4}bQfP&yXaRO' /c2cs ûV|*q~ m?+^^7+ߪvB0uLo:0 ^[T %8ِm56E +w\j,1G~ztLdfpѩRb[ !2RPǖ)S]; ack9o~ynK)d6X=s4w3.~6"sGm r*'HiQ E.vKL%x9mU}k2̂x.l<̮ {Ե(RlF3LIA8Lp DƸg6h.essR#*+bUm*O \ N;!0ҦCL9)'l݆I{nU}#R%Z$ǪkGA%M K:B穁=pXX ⼃8KEݒ]hTgR/xSf~3'4D}!ƓF:h%-qm?Vۖ`n •H:m.;6 mF6#0 RƊ+ZfVQ zbL$"bѤ2/M"=Ij?bWA372*͏ @ΔrVkwpĠ%ýcy[Rr=vr#g?Y%(ۊ{ַJx XZ譐WFI,vEHpɹXgg۞Q?Ai3 Oh+4s]^;2ѓ̗^;`ڳʎ"Y")wD"b 'RJk.G; 3 uѷ]%3\\JVUۖa!lk˶liq\@6 D7$؀w4|g\^ܘ8r[m(*_d&êVwOC_o>/~}>7'?R"GѼ:BNC_#y l*jBx!,^}iY]7hZ_)q-LaZN)Sf?9ƻT=";af q]BܰCU ֻNC%,J#|!tW)<҃w3\j;@bze s,4 !+>8/*8¨ѭ)ͼf[5I$!CK>Mx8=՝Dex tÞYUgo#t\c 9Q|qLwz=vØ g jv|ְ';)w"/՚EO"9s,~WNO!E50"AN$8(&jOYkb 9egOv1䗶ogY%O{QIڱKz#gSӂ7JqdN[ɳ[iSfsݹ{M}\ qHֱu(QB4A2Jtu-hjSϚ.1ӒG+Puls`]|)ym=_\m>WoJQ֔,_G8eS{|\; DhsZF  _"ijQ9{}†A֨$O ]Lc%*.`_t>LCΌFZlHB>P'=:`YA9JKqF*=Cm\|٧}!C~3U- ;̠0'EU 1ɶZy* 1>HaXgZkԨ} 0ad p Z3^\I]¼T: CxĻb) Up5*TY T]?ՈhJ)?m_1'=yfЩq;m @NoC9|81ؒC__\>XtmY`9dkЄՇ-dM6ԶEwycb)/c3̤\H?7_/8?pvwfJCUn%xӈ ¸QəAzK1dR8rg@nb/+5R&藺%lcbv{ǛZt:Knl '݃ôw]_{Tj9Tjvȏ :<&q0.`a21X!l91 ^paMϪEc krو-uJ$׉qy{!keb,r+ٺtMӲ#!*R!شR[[%>YgsUVpv٥GTZ^ Fm(wEt5ۺ2~T|تh!Go< ߈ \ #W9ϘzA9W2'( y|aBE@f^յӞB}^LZg5Y>vuRyk[ZW?aR]h%*:)n95QRcw/X)>k[R ɬ8ݹB'v+Y׭nڜ?EE' 诐|8Jw)bo-ڨ$*o=b}#7u Wc7xhX\zJ!` [cvj^M)'EhS 3&‚#zgni7uuznD}Jݠ+{%KQPv+wlݑC8_s +|0&.W2rƄI"n> ggyyFqo@k? @&NGNT/@*m'cM/O"8f/Ө 銰xP=7~>Gqq{b5̷ϰw_jf C~)6]J1KwďֆI p$izXdߨ]{ G}}M3ߐ-VzHS.St޿K3~T6bN>%?kt/\*FKV6*loSƞ*˨(;I-,sL|P}Ӹu@F! j_46/4DNc70jqr=OtD;U:D4jYbsk&ɴV5U9(R!T;8/⚒F,>0Xunj'Rm PWv\Pkj;粫ˈ] -ki3~躦Gz?+YױG3[ǹ+iХ'ϖHۧ@5SVlm⛚4֮W?2s#qzsArҸa$D7])puePザA7"UGo8v] ~a{ͻYνھ'e42\ei#MSj:ɰB KhZ;N_Xns-)u`jgFiu=*"iĺ cw_ }p)0S{Z_glԉB}dVH-o*mmBiYbC' }:8@"Ejk z5|iLt^c8}D9׻f;e:y# 'B(Ĕ% qQʰq^%>QJ%^3yCVMÚxm)g2&ۓHPhCi$Ë59#\*{i ;[@+uY{sVDǃVRo mғ.v N`)c79HA+^PWd`z=_^1{% ]bwU^s[Hu&g xVnPb8Z% *9 V~f1ݴé#FdzFs ڇhbO)m*TP5+ Fu^l눊,ӳ]"/a^5As]m]{gyHƌ!5#6_ަp ՞qltLHr Վiix>_xUD,s/ya+n+p_t-< 2*UdWL4OQyPI7@tu{u'i9hAOe7IGL1 E(b-}X 1p߷Q[d5l"TԮٯV^!Žr/5&lEݫg $/!+iW&)y3ut{aޠ/y̗Ix o3Z:ރ +l &`Wg~?b&9:kHem`w.'eSRx_7|ۘ՘^lY+=H[pd5 ѹwoqo͸:l{ uV( \Ъ@~=] D+?@.#`IJ#0/{9)SE4 d2 ?w/xӨ7>õkF 1۸=Gh'S7ڙ.JpC*th|QV:s0 WghN&yPqOso;Ab)ږ]pbl}UVmUȯJFk6AApp7X_!"?;ªoXz]՚VyYoco8S>NE!䂸 O+? p.typ~4;nM#_.mD6p`E 'Orfll%"/d&qhJyY_lLG~ 2Ve]L+~rb+4zȸdJ[8-#̞X/~..2-hV6'Ybԅ㎼5-l95X}s-tC*؏SF}*d.}1`xWCy+{oy#bLbzjLl 3Oy ωdIԉm\qP RRC0I!VߡH J-ޔ<+ fZ _vlrFb[¤m+tc+/VCG Re1su^&9Q\ (xw0FvgN3:ăa-+0| [l;AW@3yC~["͜ol4ƒJ0jm*C2>:v4MGeٲHdH*'ym/$s0*=ct S"NXEuu{Zt*~wa) l;y| ;tvˇN)n]*:'[~|{Lʶ#r$xU.Yus΁DW;|=0͸`eM[o2sFH<!~m,hu\&t$,dj'Ȧ1ǜ:H2- Lb>B$HR/2#:D` S\Tũ?N7f 4eFJ{1qHaʼnLC:^0BlWGm * Pdd|՞P;a reAe?J3OʂZk)p̴ؐk(8hpfp|]3ԸvCmC1_Ra<4|Fb8LBrLƁNt&* 'pJO{|C\X?& .OW5a'#]ſ,٬a7e2HV=Y[b Y39=y Wx2JF;7C m4~)Gd 1E^DayMcpw\7 -=۪cP@VDa|H1(a[jH,NqڏmJQm!;6hnX] |c on.r+Zl0h]݊X_lObjЁbß$aC'Ũ8}ķBid<b͛Mi<چ +O?^eAkO<`A lw>F9|EKӳ zcz)X e;5Qq7;+(BWO24?_;sI%DQV:Sq dk̥v&!5!om؅m/3@4EƘ\n~yQ"p^(3եU%&/+n@҈7{'ig%2k"Zj&jhY.#ќ?s[R|A25 R/>TY!C^q'vj?bNpӚ![=mB|(ߑ jyDGK`&P(W8lqM.{o O|Znd[,ʟ+KHD- IuiZI\q5o$¿ H*&g&BncҔ5vHP+Lj}^p䗂sSYvt߬{ɕ^)G6` ̗"y^Gl;\.(.O0)#u{+r&Si,@)xdIGCEw!|X'" )ht#E:Ҳ (ogCm E'~&鑵ٸbHzⳄB+R1Ty:hFV[;R@]{XwFݹ_b%S5q_*5rV5FfO*^ 7 U 8L8Vh ¶j:Iut5L:6"q蕳D,e2sQ[t6$:|CQĒXlHZIq?[o;&"]7;u})V,+Â6 w,0? /]WdNrSfX"JfI Jvc^WӭuZ3x7 فs m)_8 v8΢׿qnF;:/um/Y:,2GrkhE܊DBO&Շg v 6Ps;.DwSwSeVcu<}SMQPkۨoJ;JA%x%;! AsZU*hmz4 f Ct"U ě\7ǟGЉ7oEB4KciލFZ IwjV%rfTȃJ0ODE}`/fB*PNҿ{.UdWc^7AyJޅ3Iirg;vecKY-yo, w=ڟS ׋Q<΅F8VAα9a:P`im>d Puku6X> %N'!K}E&|~GODC'2n6BBnUDK.S+*^ʾB+yşμW2%jYK3~}X 8 &jzjݴu tJs@Aի_pWB{@KC# )$Fm׻08/ @lbJ+aP.ەC'8wMLNBs]q<ȓaR/@S|-pyQ/R/8+,u5nӲN~١8J yFu!3?2٠}0 t&fL{rrеI0]FV L-HQv$^|*(5ٝJL>Fijpe3p ̀m^C !k||Z*ي6N|{꠭d$:տDì*x]"[n׿̶TT׷ `6#D 8Tâq>,oU I0^A͟CdCAæ^2jٝ RkMlcn۪4Ke@J:Ts]$}B fWQfǚ^$& K1tGx"kg̈́aJY{9r,)Xc"\Bt욊Tec]rBlJUɨq7]~|"cgLAGIcUFG|u[wث޸YτX0%̞7%dKc(Z2c{)u$*/B$)vfmvV0lK*E'.-y\AsOGwkosG qog;R ަ Нo\z$ݳɘNN+!ovM[&*O9+Ez=7NAc\dh@ך5~S/fTR]6b>71e?qmA|9i9l8hlKZµ.b5Qb8S W@2q4{G 2xj)c=Bwmp H&yS_MБ_($FH1s4yQR? <O7R{OwRQ%' P2_ؾ V-mDdU|!Jz;q6(6ym 2fB[o4ކXz1᎙=qp?gTF?R C7AJ)YP VzbL1kM" F ^?}ezutrɔ9k=[⊨7EAY7k*_/McT?9gSżtۼqo(,MZ4XsߓG;@U|P\<(p ~S={8Dw{z-r߮S^ɋ&XiV,| M ޟdfcbܧOQ]e5#W@,.MkMX'0u H^`2.6 ?53z613?N vuS6i0߈l1tfB4Pk}]h̉V^\Pwҿĕfl.΋񔱥ilru𵸓~UfZ P$fseAO-rr93-/ R=Cy9Y,esr@‹.|#VrӅ~B`SS=DJzШ7Fp=9 벽׹,}RH}06ƙ'ŌA.zA#P &pv1 !FKx ]Kٰ}c&~.M 31"HcqMfctorܢ,Oc**Nk<סzh_KM|s2aeGpa!Ƞ wEm}3P"eQF^b2smui>n㽲"'2{*K?Eth뵠0JA07L;\Fkڸ\ zrُ(G'$/-8vR/wqc d{vmIƋ?FqN'~ 2՟i`qL sk#F:j]KW (ȳ/:o6ʷ)Izᨧ5W{ Ē_UlOG5Wa]?hdŖP\|Jp+?"^DXe[UE?+צͽv'҂Se!YlqJ)@?50Bn:=OR=? x2 1<'F.L=Re+@᷿_:F% ]_#MKKqm%LGiU$S?k,5t‚>0}qݵ%hf`Ib|V#S\0]N |`#9dK/4GQ²>ءH&jPKY rP _l%}MB}S#hrd͝pZm3ڈtf]9$&'k.]%W0s9!wYX>Z:H0 o،Ro-z",fbRp-ܢot/dkBl:)ԩ47KQ&WL.;bxk5Q[ g_8H՘^ Vq,_S\u2[ɶ}Bp|'63R/a\^= ]Ls R])xgRn48) oU"p{%F*Ô.OVc4e ]} :ذ(>v'>)Lxi;rpƓu/TfN>r4`/RL؆0 J04p`OkCMlVX^_A|R Lu\[\29O |)טgcaV9#)&A+A*ɥ\8 HJy7-L}$bBB_ S`>?J:Ԍ~kX^f0?;e%( n+aEJ-$\;@tOxɛ]FAQUE`bˮޞ-IOoX0L0O>],&Sn/[!-B?s1!nv5K=fE`f%, }s?TF_s- ncjJK+{/.d\]kժ/lAdcxL|B.@^V@r_f%QXj>'5:buEUwf@ECnj'~v]aJ]ت|y K0^:;B*p}-rL Skz_|®2̏ɯMO. x Up˷->^~3S{hj]ABoY]T;j5o > =+ 2`{+ရ 7f7*}_ÌŰ^s"MoVNm8l۟)7,JBD-ڒ/Mr\Vǜ)* 9m3qqZ{ZCrD.cj7 wD^rt:@ǴBԑ~ώTgܞ ǟ5ŽnC4;}$Y".cRiMTfwSV 󷃡׏LfȕJqau60BJ$ؕzV__ZIXĕ*\ux]k*'%",KJoboo=ϑsaHBHqM_ԑ}I ;r:E"۴׾mꪧ %~5cYm<=䗹wxgɀu 侺*F(=heWh9'`f mӉߋ*;T= Fˆ:qe0a hl}eˆR{$z\5I; O٠ge,^AU,;t&(1ڲ"ݫi*;WА8 bip{NHݎi/q-Ԫ%eD(ؤD !t+qS e2SO~tDh7:Um(UklSot+iԧL4iW]y  Kۇ/9`XɍjE/nU >!/qir*],UȜ&ˋYFU{]LAb% cb_O=^tC.+ZJjoOaO&y=(S1_Cxgѩ1ڬ̗3^G&U "IB6Vc"qP-³:W(=/G<$2<ǒ*_CJ?W =evMl_=Z WHqX`{ъ'Dž&WE Fb1oID,"YvqO7 MZ 'j9BR1S3&qgAq0#XJ冺ӎ;ԏo)4-{7_ZކML#nl / pZ?-7Rrl=IyyQȫZ2dR!]ǽx"iKssrSjheRSIY Cj3PL"Q +FPlt%Tv3ΤW-Y,#„)1yh9_o ǁD8 4:E{ʗjl4LGڵ\ peӸLjG ûYw|!ylYW e8w[(wu X9)wP,$by4ur])UDТ#yrl<.4Y&e#$ P``YEHI D% fb$Y"qCQlo8bk#I G?ϏimHl[:8@} LV=\gj:`Yr?hrxd`a Px@[)!]z"PP 5 /{&q$H{t&'mZݝJҁȉC̰vf2ꩇϝPN;3tL-_3u/b+NЈҋW_O{l.B!mL85đ7Wc1m^hdUsLV5u*TgL0eA/ᑡfIǜOO'nr6]e5.ZlUIaN+O_lVA, m?jZ6..߀|0KRڋD%r%+|" )`c/Oqe^m˫zٵpp"FLgYě"Ґ&ĩ<`i5r+Z yMQgNa'iaJ2ڳҦnTRH39EQ}(wMci zh73R@ꙸhdƗYTd0o$:sΓKؘ~!e}<_KS'mbx=t))/xy~7 3j?޶Ciy[in=GDяo>Yق)O@j ɼ I9IV+ 0"Zя^C8n,oMFWy儃RucNJi}E{$2?*DHcf}n{г g3{ )L@W^B#<Bj` Y&`a{n^fG(&G݅;C8mXUV3 2D`Zs!` T.KBsz9d-Fg9U/+l+ J.5E F&ikcbX8hujW&R*"M,~gK5K$.}(-KQCJC5[}5fĩs0@K`+FGBτ}IӒiϛ: taqÍW|0·{6]`:u}]%(l"P{qlS .rb5!Fѿsfxq!rO PbW84SuO}m 2 `6*f(1Z2;&þpiq t*#iE]Wkہzn6~ĀznYԷX}>],c3TFB"+H"X,l VNEs)2=O'X9oo Q/&v׼2cSñځ*֊SޕJԊ 3- P3[B p8D)[J/j>b 'ǐB_I"u8f!ќHd!Y a{Uke'~ۼXTHq~HA9t(W2+%ԫI>kDC6_7 Kʗz^qT$0z6,hm՞W'`[WiAAiШFs*ݜ.*A}ofW 9c;4T9_2r ȍ|SR m𗠎n0|Ȃ^/_$vFgUՊeg ES.Ǟ"ޗl829X-<%L-"(X 1KoccI(߲/ɞZNFVⲏ }_{V*P$Fփ=`yI73 W&5fX T&FN q))nUR_.h:8!?w#xl*PRMّPv~1$%F`~} w&klH8T.YwV|umDsv&Nuyٗ9|w wݙ\Bnavқ{ lf |zvt׾ ?0M^l~:HqM}] AMϸD۲`S}%B#G2vҪ+{S=`jMWFd|L؉i2/iKfɪƒn2AY9(+xb"{b`8!~f&ٶceT FZԝIpIX||˂`xZc7jdɒ0Q+.%l5B(-­f7?j! #iH'8P%acK+CErVN4'8?/q( nŦmU% e"NKH*j*ÍwI_KV*eռq)" tG}PwhF1ݼ-KeN&iiAhI>1^#CӸS>U=y8Њ {ebYԥķZ%Jdqƅx^KזK̺[B|jojEuﻴj5ɟ=44w=K1j LؘymQvr}.o|˰I X]Ec!\,eHV\FF(_VQG82_n۫S/:A{ ڸeiJ`,+X|R!,=Ev4ҝ HɱM;T^}=4 <&ЩK/pRt~WnS]Zf!NZcê:U[8֢^i=^" dfߙJ Mr$u}PА]b~?dyĔq"mf{9!aŊ꾸d6RQ)~(1]>i 9uG:V賺9ܽɑj•ַgSoG7{ݒ%`M>gf\4!Qi]&ȺH3ei$SwY2nJt+ĥŽWdJ[l:nWzF;!2 |(4`ȟ85~S4&C,>zG(pQ{伦\2UH6E x[kKI~GEPܱ~g$q"7fv#/kEٸ' v*<7A!)sO'Td_M+§ ~'8JO{99Fr;i>koHZY<~Rs4"0w[nDinr(p:gFoRYNٌuP6w@[j,?ux> 'i<3-w+ 1A {M{'FonV}S=I(>ҫ]QFD=C+vFD,6Zx!ˉ T:Ϳ-ZiGJnr=w=mm?~m8n4SIQq/{.ſuբ9]ʠ Ê}|Qd~w8rwU`qSZC|LRGxdFEdt,Fa̪毪":ćJIhEDpQ9?z(BKw+Xk0 +~!2H ͒w>\zS K&hdAz{j^fny:sOtUg y/]_p ѻ¤Bpӯ)tf(Ʈ;[([#H5@y`fz1wo ([f1S JZ5l0 tJ-Y>r].IB)V_ZI:y()TxdqGKJ{s(,|jDkk7_ڸ{\m7a;P/a2s*&>UE} $(ʑcfTqfbg:1. ʚ,8HB9B].Xya8GMcR=1[MqU/s:"ELs{y$U%{ eӹkwWWAEڽ{R'.tgXJSY+?fňc K^eHqk#&WGo0@Q{I~|U!FG`:u>vF&YOisu;{XAUUX"  FH51V^A hEcG^(pQEҽ/l'>q1֨N=ʑ1PoA6 $pEw" WĚ@Bh^|O<<끞_!F`?5+ׯ?6jse8]GmXeWUlhrcKLPT%{  ,xmݳAc}yV+i@IcW[%O%PC[D 41+& 3zV0T8\<2~bk[w%[0ɳGVXǸ:2p&vu/Q1Jۓ+8[rQ0~NW3sBV=QG2e9 A)}[KP.YAIhƃ%@i%N5H4gI2з)Jwɮ3CUu->P55V}`Hϕ^;Wcŗm/$Fxn,Q]|$zeۏ\ < 4#Z5|VMaPܛ{>áJߚ)^:hg*?G~>AOEWޙu .N;i> BVǣqDR:L]Rj\ V%8Wp |yF@Am@%^8)Q~!CĒ2wOES[j! +x ]?ؙ|҂U<8U8b=5QF.$-կ)&|" @eY m8eZնwh1'h~C[˪C^6%ϱX(B-焁4Js :+_tӶ.πSx~%jD ;j\_gzW!sdsWO-r!;(MT  &Ow ͽЄ{JnDD:]-B*{ sJSl]ŧ D'=QwM;hePVER'0_"* ϋ( .jC 8ldMsx\MnZ_\cх}qu.?!r-M-{GַSe~X׼c3JS*,D$iaզ/LfFobS4p:w=ZY}^r)ޑd 'I׫Luhx1K㔻 1_`嵤 xJJ\0^2p뵄:?De 3@dFۗz4ipbf+]Rٚ.Bux)'CFl r^bwgPݍ/ZIt­9b[鶰+'T4Oީs{J\cmgNs !wbDp:Fe6'{$P .$ѥJOLg=btLX԰ץA87?~w!+>`5632ip.WğcW湗a ENÐgԋ.N=)![]1eU]t%"77c%&];uY]ʲL'ڂRn|ӝ;=G u\TtO4Uj.!*6HT o> W8 OGi8ϊ)8'< ;g[(ֳ Utqđ)<%hZZbV>t3uhrZY=iXɴ3is2W,9uK_"3Jo x.զW@ 'V@egSe^tK #Cɞw mt&M@q=MB Ӂ4v֐w_M$~v HII)a4gs*@V_^0U#J9'@=f'@.8-:P.fbs]kH~lճc!m#@x"i\WW*PS! -#S sLd0jIVB 翐:ʳp␷Ci' l$$l4@.fvVC*nl{x;Q=΃3Z˷l\F<3_]ǃ%9CニRP\1+~}xUfd<[]_( 9\\#-LT$eTF-mf?ҙj*Z)1 eMlC}HxBҐRa%1xR=(]x业/]bbOO X`Mp?|töp/ *Lپ-aѷT6y^Tuj DEBʞCZG_~?npgR\SƼ03YH8-<TXQH`"D< 8NPE8.l+= ܺ qv&@-'z|[[M{a#c+C'h* }qEͥQFIt4F.=; mmSҨȏtg%c,|dQoa#Q"S{g8'1ː )9aٲOyGZ DD<[߽֒*nY®P6 iC`WK$DuSOߑGP{c#b8ݩ Ԯ ]ܯqٳ:f㙡01TYI˼\ږćbYF2k0VVZLl)'*kq_ <(y,f+T5pY{".6;X\Rq wǧ[?j3aI~)}!Ɏu͆AOy3|钄YqLm4(\ZD$ij.8PsȭA^ \ìk>=YI}$cX@Ui7W#<PFtݖ.>kNbCªL]u`!Zq\\KN2ت@ -/^âWO2*pG-Ps_6} ho=k"Y:Î9;B;{18qYy]#'SLqD\{pKNESaB2$ng=%ZV=1vv,u㜝Aur凁EsE'_eח+u^h!"l} uT)1~E*fsI8ɡ| ,|?& aS.l-[5r.:r50[85Qi+:BZ[]_Ⱥye<(u6ǘSC&[z|+O>ѵމij-Sz:+Ȃbhkkj&  V%=NCL9,[S31gOd¢|~; ("Av7yZ݋ ?_*љwoI6XO bkSEeMÉk]ټJ](Ӣrr]⇫U*00gYXng8A$DtCˮ`VK{{~O%enOR̹)=ՋhC櫀p՛PHA}qi*\t WjNfF-шc@bMb M4lCcQIw&vMo==gр"&.|whG/d#l//t|B V\yl/<9 a$;b>e|_kLݭLԇ1r"FBi INXtf+GtyN,+ ^\4!̃M.j"<ʌ]&E+oeȻN;# \_ሡ]! / fUxI+6Ow;: ",x1ri7 q@؉a(ɪPZ_dɽ%OZ@+Ӣ\uP+ " 6SFjb[LB%* r,E\Q@ݚdJ# i#b2D1a~!{1\lҬuU5*?C4GB-(e=O71  iv+x%)v<$mQՋ#fKS۾o\먳R}ǭRcŔ/}9@#Y z$ ͗֟ Q34Жbm kPܜav0*ts}{.U:{ ʧU jsNJ91VL#cEL!܄O1#m U徾Jw> LXFk!9 M6tSΨ~;"-7[ %s 'RR.D2x`SytQ@+AfځJML~!. \%+M[_{ti SlԡVm\N:ʋ瀑P1Q~AaVYMSuvHzʱg/&f_ד|u7Yn>Tlj[+3:r!&Uaҥ(8D. ClxV~ZEW`y` ^g'ec/m&WU~-xթ38Hd6EV1ZsBeou}*`59n5,'I BG `ɛȴ~2Rwpz%1`9ђ }d< &R;!T=vB`LK3 d#=&_w'ebF3}"\OEbw 4OQ/ukIߗ>MP(x%ZT{ ҃ LÚ<ڦ%af\;~ܱC)Ų_> /(H%ttL?aNjpId|^7gW=AoQ!0yx 5>zn[W{ŝAh^oJ]nޑD*DhY'nB`"ON6gl&hU;gA*~9&J *P;Y J'8QgpŊZP4$8uR3N8Wn1/ߍ]}XfueNvJkLM(Z!4 }Img4齂>]i2g`P9+Om.q|)g͂£}{1NC'ؼ1kݱwWmLK.] e7 [(|su!2,B; YTѦFeи'3V(NMϔAZ;brѡrUCz1{.7rVhH*2kJwf3_M}F<-$S5S qhV'I4Y5C(uR00ЛONKkOLVږ2VbpεCjG;[n`p5@xSdHR+#im~nA? oj`/Än0ϿyA .N oo^xTsGyXX$L) u|m9WV_X2S@Yjي괳#xمW4W*4Z,!~g"P폣?Jnwm(JAOf*K_ӚJeR0-ፌܺ$N# K:ĵ)3_.?cQF34iXV2缗l7H=N:'䨏P`x!X>)L\+pU zno0C71~k0۵axK Xy u[9 ӕ&p{xk:XQnXܤ8Q_Bz D1? zkx!XY-^7vc!.uЕ&^ZxuvLĂ P #9?@*!/w wuӏS3E͚2(l$Y*!l1:ʂ T EQ|ڪK̠/EeS%cGL̇wcUcU0lyLldCC:MȂ?h<wrH\EXDf7Jo3O}JOն.QtŽ/0U;APp!#qN>߆ެNdXh,hS8J 5sȻC8l1=*&ryk h/\hES i֝D;%~7iI'Ώ++GG9_Efĉ]WS)xqɇJbg#w;qX^ve=f~ـbu"RXOPH΃95^]ZJn`U #4oAj-`%?,n˾V.qIM!u4Y=h &0ĉ׀:js?V$׸>mS[, ~c _ɘfhN/~@bKi?gCQ'g]Ǣ^ŽZrVrO|V;$oNq1̕s0j[E^g Li_^l.ٷm6_dSB1n][.h4qhEQAxraG/OjB0kjJD ]a7˺_irGL'eTqSKyz9"!R31`/,&rmXim;g"ezPYN??rY[2eG \NM'а+4>(S@6JKR5n-u%Fp˲YMc#^g=z-o MK=*˨jIA}wUր/f5̤ i7n4{U)q*_F?u*Q7{(uP^<@")16u!kn L];.IJFh3#&rc[  o_4d p4W&ªє[髃﹕RrH*tR'TC ՃTw6o]A b#w09C5F|Ϻ`DJ;э]D#yU,MCUe7e~RUzRU9I2GB>4zV.\:33/ns: B1+idWR|K]ݢyKlw>K_r7Fb2(ˍu./mv#}2aY+F#KSe~fZ1o~M%$6!0`)݁_ޚ!{jۙȁYgG rԣʦ/,B\B1#EbE؈aG 1.V_&(ƬTXS5\MS8 nн2.3[ՔxR:@~kyqW7o;tVv}Q}2z2j$ A`-fBBl \z7dY :1sDiW91Z s3@Qp=liSː)z:Vt1^Fenk5U* ~0cDgW3sCJ̷~RC Aa7uz@/ \#V١IѸ.uWwbi{֕UenC;;;PrW{: ٻeS 'P=d\<+FY  qXQ?. ǟ.e]qIKob\_LtbcgSNճ *`*lTwJ1ļ} hǚZuq[=T ff29[ t}?G0o}IBGa0Iח><JͪxM= ~QRW&;Of;Hre)0S~a!$>˵sUᰄ3wG/ZkZ@]wPI=e5?Kd& ]P0.)p >w:_ևgADN#sUqO{0KA<]3z tq[=1Lh[-?6O%^Eh'Z5ʥRb ]<}G!0gx8&cv]i1)TҴ^Y-/C&.F\R+al;9Jg؍&nw@2Cv !a@B5XFcJM&⯲f bGL7jL(%Y~Xb%c0p2eΠWȼ~7°k45vlu@ Pɚ A_o+5\Om*6KVؼZv۷ &jDn&Mn4Wt3k[IP:QXZ[_Hj;e}A$ʤ07{ εv"UDkzzu@_({{G^e¾<:C3߼RR$jKߜY {a Uo 5/tY8*IڍQ2ɳ cϽWXbATwTœc%+='b+<,3b]VVGܹ̭Iqǒl*:D1x6 WY ׂY^3R$,:O4D1SVB$!"KzB 6z&SkBJVcܱUF>L $3s99Ú`ugfvkV(DH]0ф KaMϡQcKdWG )SL xՄf+V Ib1 3HpBVlp1Fqt#Or;QeW\#8QZ5\FkS{T:l5Ƙ})s$#LoLo3泤6 e!z%Q`Uys\AQ"!hP%^6A;k\,`0^cwQh%4B8(o"j j:B093ʳ[Fwct~'U]4=4O&gbl+NeIH&i<t+z#P* dAvhΆh2Nfuv zj5s=8À^7l!*wFy+v v>F#%'n.Y$R* kqNBi~79zl4Q{[#-~ff%u'qܔ\/^מR $gx٭ۀq @b/ 3R%lsATniR8mjӪ0Hދ}s&0j9ho"ݯ2M q&K L OfkmaBS!%,zxC/Xl]DORg~ oNo`R c,vqu 1Y=);]J# 6i m(-JeyИ)N:rkT@bp@5EE?ol=^brƧMԔN"f89㖙| j{) W8ea3`E3~gV}b'ohc&ku /Nd[cC-Q٪uPDx^~]]lVIG%)KmZT@^EEdiLN\5]ŰG7Ĺ, }@RP^@ZXf˞;js%W\(,pe>>r宅 ;kƝʷFIQʭ!I]_ •|W9M/HdUiR[ fN z~ C("pr]jcU>$,^pj6Ge4OѠچ]P!>6ҜaŜ9NuHLt7tΣSޕ"UxY𻋨mH- W/$wxCʾD/NǪS\NΓn}Rm[6[e)u@5ݙ@{!ރřxdTNM3{U뮰x}7}ZH!(*R&|g$eZR6;ӚItS̗EohV :2>7oW1 5LyIx'IP^ߚo@f˅D\?>2x )>,WPN/@Ph*yv+25tZ~ +oY SU[s%}{?ՎOe~2Z }L͒7gɑ޲%v2qyc3Du(xttn=!hXa\U g߻Ċ 4;1`Ib1m _8/wSQxQ[M@<&m2Y~i`{P2B]\zgѝB9_h? 't>X|]J\ަtEʫbba8r: ;f#{JMaG%>#q%0+bZ'j`ڊJ@rvqE$_Q\^*X;.uQ=%l&pOPGH.6аz\)8n9rTiWSxe9]ު5 ʥk[=[~6Ʊv("W*m gw9vaW1z[Y V)f`L8MaZ7'EB{htu>2!hfG)kybݓCSkEՆ$n^F :F/*M>ԟBq@Ywփ-[9"p"m\VO<*Z.tƤǣ10\N} ScS,Ԫ)gUqUЇZyOؚi&fuk7Z ]wX R7/6o?j;PXHݱJ$sQ^KwAbenC^RiN1"Ϳj\ 49DxeyMET㫠*H{n¿ZٔLdIlU'H g (\N-p Ƞ&;scB aMsW>ҞG \SΫI]Hc}Źj'z| ~ojg&bHLPd}h^p+D7-mwTh$ |N`hnsy>,\"~ZKUimcbGؠڊq{ Dg,Y6hVy,;54M[ %_2 ve՜Hߴ8*/gdXo2;dpj|L9\1|Mi`'5NZ Y<ÿY,{4@m(="+jv}S@zzh^%Ovfʉj0GrL`ߐHT\v0l35Ёm=1iUn=NaՙA |12J\mOk!"$ȱdXZ킪i^9v@_%퓦n>irAH3p ?ѷƓ.iH(3zi`d)́fÙʓR1P0 ox|i fyG[+=.p]CH7Lm~^Mxѕ0a@v/ tAbT%͍T`A՛O XC`,(=u?}!k#(W;:wacW|m[P251K K-rGAC&ggHacFK!< 6gydh&o9WE)+I.OQժHE;\jL!\ɿȈF.bNp+kbU0$+V8DX,יĸM(jpVFWDul80k^@w/2Y\=E={\cH 6KLSq MٱY6ʪ cW ;)6}6`2/ೊp|D ;kב#|ZR'l WtN:%T&x)ߐ e*$I6?n;Y)Kk< 8GKp]|[{f@O+Ӄxs6j:l_v HGbQ}zrߺlo dޠm.W(yBy;ET'Me#X{һy* FW0WuUWJL/YE&m&dJA dC1{ڱBUӇ>FA)Nig@ˇ1ng8@3DӜt1A\0Xy/+w Ő"mVe3itW{n._}ƴT:rgD [sNJ&0s ob7!y ://ͯ ;J&caGf4x1"Ъ~z)bL4Qjow60cZ r\Q 5lf&SY7[ں>P79y>VRjAk.|(ĩ'ĉ)(Nqv|y Ii:Mby1Tl=S ]`1xZ)6^1E(aX<_& ڜgC5[1ׯ z`Yjf!PA4]_P+(OkzC#o>jqϿ& ›Ls`4Bh.+R%1XѮՉ>{0jQ ~h>?ߤS~W\3diGT-{ gwBʓ6#ImDG:Wj AAKŚSeO^PN?Au?;}ԃĉoUڟ&vspcإLkqe/" ~z`T'V8f}}]K7FP] 䑐;c->*;쾫A׸C!V]+;H.UzCf 0T2d\:(簭QʷȰQ8HOS-ejK͓\%PV*բ,d,:D+>A8Wo^8Jg8 JAAN DDrx|AD28i㲎:#L}Df)3u `t (ZVei c-r@,/''/pZ@w0i!;Rn8gLTjWסKc$+䗴{z3PkNuk/i ۏY_8J$ncف$4f0:ւf-K8(?uAmHQ0, M!n 0r^?z5*Zw8LhMP2C6ܮ"^ gi9\T'.tG xvI_ď;REq&B|17}Q3)>W{O8q1xDoX@_ip!.OAB7k.ac7׸J{h 5DyͮX#O1PArGs0'%5mA+ukkJ?;xJ %{XEʝ}ME^p_B!@K_2i\S x49s D O-6<WV;, ewC2>oUv,,(Y%3D[%4f"Q(^NnY効mʋOI Lo@ʷn_溺IjGw C? i"+ Jci@??_~Vn(4 hpc ?nqblLUI]o AԕeV<!g݈ D٣7w%.|_WTe̤vѶ<*7MC|Rفa\@/y#@ѫxp'ǯSᶻu%?Z$Pz ׅ1~[ܦQQ/.Gq l1U t*[=FY1A09<3Ӣ$X2+oX'Ofq$PKzߘb:׎A]$p</$H̼HS3KqHWI^-AqbBO/z%Ip|g؄B4>Y0$;_(u2.v{p$~yv^IA;wm *~|m Vt?m%zv2廉v_L0 yq ?)B%*n޴aK5lɷˍI0?-KԒ飒$δg LVRH0]"M[Bk>ĔQqH:XlQ. RQ,ftu.T,nQ!M 52^t! lI^U 3UZa鏰E2|nށЈX?3a3, :tc \@84HߤIKGQ`FQ =r /ur[ xpZ.QjoN<0+xΚvs1Psqu>a aየ[Zinl1POyl0[EB4W`$F3PJjbS9AXfr#xg`<-`mlٖ4 ~?~@cVLqlp2pkH?bƧn&5ZZMg"%Wm)?aV*PCeH nNv̻fuM.\u +oD7ol>hjr!Vx &kꕿQhbm>_{9o%;'2yucuQ]2_ }F9IV2b_DA߯0m]J5Ӟie٥FpDnY,70Gf=O{޷.qVMV}/_055љ( 68Ԃ6tPF3'D+oTi^2+h\E$-/CJF&lxOPbǝA``߆Œ5zk3Vt^V89[WN g˘K<@I$$Cz s@r0="!d'5-Ϥ.e%wcCOJg[Md?4Z\>Cb]~uM܊NZWH(wT|!PI AO~0ga5Ú~5jDXdr[Q-]+Kovwcukh֛AX$+TZP&APn Q2T=Pp0USEuK O[fzuFEvoy&Z>Ie DT>??vGZ|4ܽx6_X;ㇹpHo0 (8=|q^$WctdG35VtBH\eD (F=}?gY$r\:vSva 1= `{|>5TÎm؊AXړyb1DmZҚkVj,y*gp45u!cg(_:͑)#q;h/ RP} DBQ3=*J\Jdz`+cy$m"lng_?T0׌ R35H1ʲU<˯π!KQ>웟ޞI}Hnm%:pN`fBQ0:bIWWlJ΂gI\scE#~*NeM_W; 1Z{iM2OՖI dRMVqZ#" (ڬoV> Ӯd4$ 1vE5b\eV @ԇ=ﳞ 0VK7q&Փ*k^[L]jH  s m;ttHN^Rˡ@/"[9 vZk;JtDs% W[\.5euFaBH/}^s%xniXHHH^!cl'>1Ui{*I~ݗ 9]͗33s,̲[F}\.y\̇@oO`+O/H!Ǎ.[w9wm!nʆQ|̠A}=I<=\ZDx#2<<=erB8v#<[ )8CX+ [_tN6|.}Rxv^YHCGՃ%*Tn-bn_IaZ+P667? V4cՑŌ\5`58^&gY+),ɼmwT"nd׺j/v)\&o˿Z=+bVuV { %py2cǛ0KJQP{7R PXcñuXDЗåӱϥx,&bJԅd0^M,JӇ4у̹<_[Ow1O |cl۲A2j(Bf2GYlJI^C4[Wn1蛮Ko.%e>BnoF;aމ.(@" #[Voܥ~*>K05Ly@: wy 5QzPN]3>~8w!Kbj)T:ZQ!jYUʞQE ǦjV аHFDž%ܾe"ZJ٥eB9 #|RZC)/)1!_?5-O-ϱq:\I˚Pv]̬r;2 xE>8..H;Ol80oȩo&~-Jz֏$ uѰ. HLJ˗+l3͎0:+6.~5}~e/ZOߘ.a I_^nΉ5^^C3O{72'DS_  !wF )*r{F!4h:sqFU51ryLSN8ݨ$$_N&UZ}![]o^k [E&y4ٖ޳|xwO7n-bID`2dۜB+ .&P_~{8ae A*qi3zLpn,>l"q,2[OZY{^! RW^no=L61"=j߯y fp}P-L\$Ji6E5> Yc{-JOd$,|Mez?U :ؕ̅Kɿ;24*V80<3Aݱ jzD$`")%&Vې"'nލ-F wD.=>b.~YshU5O?~Y"y !SξÏU3R^m!A9-j90ʃzh49zN!%X$`F]"vDoE`5_KKuh#@|/ //N}dXL8 <@:@9iVjk=0pMWO0#9 W2_pkt2pdpT0vҝJH|fTֶ)r0òއq ,+rE.% n>W4xC^be艩j梗բkג$i\p#UOY%#fhf>;aXZhrM.xlF2 M#r2);3-eL8o#}Q*Э>6zi$'kb[ڴ4ǚ5O{cӔah Iag]y5N&% ;ZB;{BWX=76 q1s͏ǫLfvE98Y*2MorB҂~R#69D[Fk]gx'cRD߱nBHl$RR&ӴlqtkRA;Mq(Mq _~bvg|xifZft y9ڡTH--WmaĜL; _|;*RӒC,׃-ͷj#ڋ^8x)QaNuىZ95W?4Pl*ZѣnN3% +"u}2Kwjjj_PwRk-|W$6L7H3a&a]SYw jÈ&ABD [',0!o_,ґOsbz '''(gǠ>51`RZ&N| v'뢦5G?Lm) D^[=! - #6hO;Xpsm HT2tشUjnwEpr?KLcY-8K{ {Rٔ!@O+UU^k<8y*FLMxR E~ s'mgsX,TDYI \׎`0yD^Gu1%F-գ`#,|!v%Q\(C^1;f*GbTMQ@x`CW5 og50c)y:Щ*m)̕Q@@gplly=-ϱ⁗Aa!t"eؗE^Z$p$l7Ѓ/i H]2`{@,.j$~ /`R)`WQ;<3qo<[]qEh;o[3G=bUGzRۤ,R?r^ž&Lڄ'&&ln㒺KLj,V9MՍ ǾoڂX K#Q 9Gq 4'6Hr,Bo G<}kD9)yQc$rX{y4?A+ԈGL^[$Ҧ`ڤ9ؔ3_4:ok3$}3 񜕛C+=^YΥ*.K:VF6|<;'c ~:6d'Fm%݂ӴBv@bk*m'/.&H)0uwEBjE$gk Cc O9ob ]QIX'ĊRp cq"tYnWR!ENӥG?8Dn<[M=+,6to}ljʶ^2'W(-hYf$h#Ϣ;6f|&%{9% 8Ov;9*d\FS8/3p.Ӟj,d+'o92,n٣X Jpх||Tm(zԳ,= cVO%@IM X,#Lgg)K ]@kb5Fhy;-aL{qUimB49=P =R*X·GU~ַa2U39db%Y|YQoCRH{ƭǔpBKuYbxo>\ӞKVFgKwA:3N;}=N>GeN 6K@%(4NhWd1Oq~ gHcCFȋ :4&Xrx< uM{)!k}Vۊ8*Zw' Do}ׯSȣݗ4 2c,椥GsZn1`י2NvLSO"@JafLrK[~iC0/~J3,ҊmͿֱǻt區,ee[70Fi' )nU\A:vk.dIi$d볔Q 3ѓ^I]9|]*^˟@8P8 _I8b92?.6B}x1IdHqlm9E T;&SkaRʉ4تL_r6ם2| v7a+%Yz1;jGhZ>Z%B)NY-ϲ8{%E*1|6,R>$-:j7s}SksWY4 +u*tխ@rgiQ( :0dpCK?8 d;#,HL}6Oit{,Rɳ- hcɪ-l*]_ jO]slҩYy1P 2a5.QG"Ч P9$|ƊX^{i%u>5!SkQܬ)[Xa ܂)-#@aۼ?9`#緥!LɯTN5@xDs%3ք"FgDmg{`)=zbqjkafQYkJ;bA&]9p3vMf@eZ^Nf=1Oyv;0 ΂Z6d2՜J!\Ɩ-U拕LEJܴB]-e:˭ݽy!]rclaud_D]~JهQI\evom}hɣOf#Ԗ№;'*Q k d _ i.gQV?GncCZ,nbdJ:(L_w5OGk+Oֺo>Ab:gqG%Nr9ti]Ok|R4 ?hCbbʘS)gudƦbV %q!Ch>&5ܮج$EO*qT;k5B 2s<0)ZL^pKf7 \JU"Rbv<3x34Xqo[(=2bQ.! *ϸ"e҄f2]V{9sl^Uwf,Qh @nxb!~VK5{ +Brߚрhnh%#SЅ̈PM&M7Ė< GШS>9_ҹw+*qN㾢⿒K?`ژ(HkrkEּ@+ua5Tifeo؂ǥ"V1)[Y$*`8N & p^~k=v'V.a"jCp>3:cq' 4Ur)HTu|m| 0֓eOg)g'":\86X~gȔe;Ey&J\IX^]x 4O25 P'k0T^gSIp!Aovp3_Wxe[v 95[^ AYHX z4rfR%2{ MDwju95*&*YږrT3D{u? M%m[֊8; fC;t3Cz:ŧ7V KO0WD"jD(e9If0^٥8VZ(hsl8Mpu݆"4@}zu0N/G_w8ɺڷ>淧% +c7ԅaKQ˜i97fW n{dDB{gs煲+|xz޽`꨻-Xu"%+lJup TJe` /alz г85 Ó'4y}L3e. wbg!Jht ,I%oSt(P1j=y\:$!^h!tq0̫I?F!y4 YXek.ִא;UN4ORZ+O_GmWLD~Vw5LġѬcb7*4.Ƒ h%΅Eԝ*Wa#5jOG٢ڋ`44^>6[Ld1_%jٳm~d;Q [J cH%kÿ ;uwy]=*t7Rb1wSfď ^]} :*?y?᮫"_⊔Zm܁M8cjqU8@]ws_jZCVe 3ZX>ЅTEW%_qqVx<f mO7-:@yf3S!bz)L!WK[A6|s1ub}^~]idS^3Z9vMxڅ',jCt֙AWyv"׷D#.*p *r.i XE>ZJ_y\]fI[$s@@YΑ6=5Ԡ.z/uJ^ L 0`s =[PToA181: rYECLNޡ#VB4Dk\?@dKug}O۞3 oQꕏy2 m_߮ŻNx6x`cAl[;"Y!Դ44| 噵 Ӫ3oM|><ͅ LZklNK懳=FXˌ_Vw]",Y`6P◀ )~S;ĄJOrdH1pEbg0N M%'SєH~c 'W'Ok[Ņ7ڠWkVvJFL*3w6* r=0]Պ 9͙ -.HۄDEE\ TG%x\PKA0#y8~ bШD?OՎEl KȘRbMrqŬ=`(&m.HiIN50.'َcH`P'@b6"/b@9V'+ZLoFy*Ee[TAC$x!-Ɓ+9OG"udb 9ycb[<$dǾ p8aiZC܇JH78[xSԝah]ĮdG:37đfč2to޴LSFԵ#tߖg1Es*/yc"\L~S<]q9Vo}wJ*{fA^ |WBppŬ"TJ6t}KÐz,1?飫;֥;S$F@It8 wMYӉ޳"2e6=d!W8N:5QQ[ ĄΙk;)!S a>Cil.v,#Wig;l~D!6>}/#VҼ dPvfg*'[Qa8Rֽse}z1 xV4Zl\݇`KTJkvo@=! ob~\rv85 tf!'suHCN<j†[:[e!:n5%tCog AE p;'ҭ0y[.otGG9tϭ/P^s/}+mZ=cuj+w Mf"%';?:Z0e:"[,~PGKfsQ'/KSWv+ rE6T:U@ 5Sκte^%`{_ة*gE s/ ʫsi\xH$1}|gLgg S.Ԓw=wf'V;Dubzgݔ?T;;B*O|G/rt]:"Gi7~0h,W:#c-ı>j(,kPiMMsJ5~FDn1TT=ũY~9eZ&bonV$ P`1lhG2mZ eMI}Q5΁V0cRwvJޞ9qRo$ NR&Z CHcR;?3Ҏ$!kfm|-/#p^q&d#fuRr[*bk*(}-Z]8LY/@uh ܣ1%Ir9[:m01G9H,Mf4`ݽ(/a׊TkEdSWj^9%羪5lfN*etk1^vq[RvvmTF0Às|jC(O)P+7}B.]6r:ʗ%]8~"w0b#^/%fB{f*A@,/WD"x g,x٠_T ;CQ0)8Hb%5S;U[QQӷOݼqOi8M@7t[݉rS&8: qG9}(}ctDl^9K \]s&Z Xg͜L^i۽.c4#6]2 \y jrb92 9ֈ Kڗ҅M%;ܿ~DsQ:m\5 iU% PW7\LpF+X[4D;o T;.p74=KSD_C>}^s:rʀіRzUI$ X l#j6 tVgP?y{C1{i {]-qX=!iPl ]*dFc쫚o|C^U Ӫ -wgqNτ57ޕ%iA uB ieY4S&W킖}F?6/ZDzɩl6 ޴]T{ E<-G]wF=ZV5Pױj*bLK<4#*FV|yt( pVfZ1cƧa >%xKp:A4ڬS‡\ƑA ΐ (:Hs[Sh% <mTÓqrdVMaShDg4n@κ%oI@ r,zǂJ+m[>BerOE.ZaCVn?b|~OT )R>>֫ H- o(#0 ؈b (N6~^V?IHC /.f 7jPk;B8N!"R<<%fmw)8 :ڦ)8j@/Z=\a>w{zaw-hKWDܽEa38ӴLG^Hoر͆@6>PFTsqF!}b=9f#qXC[8 eٵp~]g-{>-K~J~d\jG&5,V;3t:pPJ_H9.$9kk&k`E 2Pn(mct5XGiB1UM笴2).p(cM_)qLW<~"煞ƾcVyc-: /[@~WցwҁIf6ޠy.U#|f!],fc`ŲP@fu\F@P1UlDY5{'wjpFٍ!NY X?tng#Yb|BG;QU<_MY%lW;c-*+Zp,2{<wpoX`Z@I &|zB)4g{ЁoX{D< 0|g.E6TW0.[[rQl@ ͪG)1%)ˢ^LlM(ƒf?XK6Gy(ioKȹxߋiƸ@] >Ƶ1brr= Pe*,_Q"d)> ΃(i'-PG(ٳAxJ6iAdEMi :'jE(7O2jp7SYVLxH޿+RPrV4 !k\{ /sV$QA DpLaР&ZJR;HbLQ.Frn#FthY5m=-w~ 2R,g\Mo_+K.i 6?T+Ntp`]Ǐ?#C#s1.:5SoTÇM6mSk8\@8|@D)JxתuWݘv˟Vk_6{#Ci֓ j\4ȹe\v|tCw}$q~v]>\B "1<:x /3ֲ"UcsA)!O^Ыz[nMWn5_U1f"™^ bKVO/fGvo5d=H `0JxpξLJGkS8IM{d5H[jÇJkTC2@-鎛rj׶L=̷?m䘛 @5Emc]]&fHmbЋj6OK_GkYWU yPMlȟ~H}>gs8 wvh;(cJ;m|$R1Sn$ƿ*QW,W3G=[j/I һc}%hL휉($*2L^R PSbqT$` ;ٓf,r#GdbV]yb |7%怗1,U=/ŁCIm6ru 07IR~boK*9{pE˷]%rqTy0Úo?(s҃+cͲ-HL.)}3~e&]t8,-+uCN(eLÂ8.hGUi&b8D(]mY ,0'IWct k; dTDksq'rGSZ`Kp{pҵ*H#MIcG b֥ToZᢾ$ԉA:נ9i>3a %5 9x B{6o?׹E;H8dPh 2HYV]ܹMWtUѬKW~ MCk#F!.V#@l^8Y /2d,+.ُiA8(t/4{oL@ͯ`}Qi[!x#y' 3+lpɓ(qc4L!EvE(|.Mvbݼwz$u|p}\dրWb\d&0kґU+z˾Cf/{GL\ U*<'4ZjE@ZȦnPMh9h7kDc;M)WU Yt:Ҙ{X~\~e $vKU49'!e lFэ8#ֱo$dD):vetrT9'$ yyJzdǺYU> ޙX[IkOL@2R6pa_u9f -wozˊ]Do~IP QZV kfBDC  !wPsnpؕ{UcS$=+z-4@\g^, I}H=mi?K16K,-u~5/ G2n97ڢo얽;&l=G M,񵦣kx{%h1Dl|Ƒh 1TB}H90N#-6gҢ49GlL>e5" Kff+B}qm_5xЁD0k}dG{ d(-&am[x޴Emp^*H 4)rjft+4Uff'}A~f{kM([LwSzEZSE.4Lx_{ 5&弲SHD2u.LQXg"I[!}td)^x LaFmTTا y[)Wy>@oq t>4r+KMYJ.q =СI Ɵ7q 5hEBCb}DV|K/E.w@Ժبk\MY\ 4] +E}Q`$9K;Mn6Vncr\lBΌ+P(9,/woQv/ ]ƩLaE!DY@}2m%th Bvǒ 6w@km߮>)+ TW-v3v(D5БZDߋ`MVyM+d"yuJ@;-X HsbL2P"e'Ss{n]kP8Hf! EOM3 iK9_rpi7[RLld!ׯW4f4 :IwWD-\Lj0K,&ߔ^Xp!k'ެPD \$FhI,u$ǝF;t6戥O T޿hh3-EbDrIk'9 >M^y:Yd{d#}xqԼ!ݗ\e`$Uk7ŭqA k`2OLG^w/%@/W [x.3;h̐UGxa1zW62#&r1Nq &?nA31ndn[<45@q4/M_Ď6o@f =^Չ翜m(09FbZW+;t yCOCT+KBgeG*թl#'HUVUh\`+c]ydsUJƯ=jI(N/CӪh {`MpqY$}w\\J~CsE5\n;>ibvkH~L\ƱGrl]]uKLT( |H &KJXŕAS0 3Tdd-wksb~݅s~=pn(kDuRJemW|TφO6_(~Vam!,+}ި4[r}Z ͩ:GAS[2_nE{՝) {V|&si6\VGvڽ :Զ׸5w$j9єB썎0ľ.A4 ,J rKNz;k i>f. QP` D-kxŏyK8ko<1>ܦ&Y'5C0יVho d:BbxrgAsm_Lg?զ7 pQ~|՚B+(#(K?P=sDu-09e*eurAR>8R7:!I:&pLo;WzR*$QYK4^Wpcvʷ' LQT=f<_]3cɱCz%}sW,1_? )z +QR%=ae72q\BU0E};%ctOخ* f w0?L$e"FiFP"?V"o+ ';N#Oљ`eTHNU 3!0K;?;ZvKY@2 NVҽ*izdBrDb9($!ξ+R<mHK7+psi5>DIm}|jǠmvMVGpNiT>pˏKat_7Ԛ%;q _~OcGPkkxģ~{7gㇴXxxۍѱc|34i[PYBEv#p0ryV(sg^"dsgNG";'dDTC|8%[mӓ`?oϴk`=*}䶫7ߩK\^SZDƁs~>[`e p'{Xpiiܙ|r?}wL h98oi(| ^Ѯ"/~)]$SW)`gejZZ$ٽg]>$u$XxDM!(~IluaqgosQ5Uc#௨uPw=DT]/o:Z`YLu`;/"ݧ [ s Dh0$aXr^Qg>‚j}ЂȔ m\:mmlG5 rߝQ!@C\T~]D"+o͟g":`&BoN?m P#Lq h*{-BJY36EC'JWh`2yXE?g{ٗ8NoI*{%ˤqmX^E٠#+g݊jJğ}g[|#G)))^rT ð3o8LUH@DR;CBi39ӮR0F;1&jqXr'jq# ZNT+1jn_`| ;^sqȕûs3,M<\' G<&$TJ*g{&fʖy׏g^|U-v`@~('dhyKIf/skG"e2r;zI!A'^D+k ͛<=+{oql6QJXUf>++f>P; \*]R3('\g2u~h=*v"B<̌/TnoIBwgUJ_i]vSUNk;W&p^b2,oܷ0ˢhl)9I=75g,D-r&'!n)cgW@rP)((nbaZʖ9B =hFYq7DK XRy3 [(1ĭ˓@-dC~My'_e٨d)wq !AF8Re]D,Y Iܱ7>PtLN]K&]Pl;t,@Y'+nZ]?~Q#@ǿ+,m244uĽ;}X1\ gq+dFίV~PCfĩJe(79-sze PVL'.,sd`eL,6n$(m )0g43`e;Mev2>ϗ;P9AH'NX8t gD[^L>ȥ> CZ}VkNyX\t8bL %w\kAr+ ) @)\:hOC1TMl' ٦.˖nz|M"iH,& ?ìB}Pef˪Ū֛(=@̇8+7*#IRe2q(k {ޭBdyGnYʫ;0-J&\T'cDΜabS1c۟"쁶!:tlV=CSQ 󦐦T-&Eѥ]mX#AMrz6C٣aFjOο{+:*QL+EQh-8yd#F?b 8E!zurՂh?FXcUS"jfl'whc012{&d%T*zOP4ʳf\1~^05MN륷-v$_'lԱ;d2aWi.m> ͋96ON<c'ۜ& f)ŧv X=rMT*#Q05al g;=VʳuKJ?a^s7@er4Tsu'v*ن][]!KR#c]&%!duwm4130][&kHG̢J#3yr>Te@jE4]ĈiM[!g.Hnq%,K|jqJ(*V"UZ`-ɯQ2AM7Q^h?y4A~`0jZM,?livq( 0RgP>CZJYyF4QLԍhK !5~C c5?h0iL ?_o$:2ۇߊt|y''ݿ.MA5LceUjWrCI0~HCv zs'EF FA>q^;l3nF)U6mq0kۑeV1ɊsıY >""$|+KmoW=:>NY+/bi—.qJw1’nnOZ&4Ta sFQ.Sxm9'h(=jݶmpIr0z)9%ZA.~^~W:?fϑl Dr|W,&S̔Si-&'Fb 7]l8L!D ^N ?bgltB?ef6NKk쌦w(osmيnRQ~ED@KbHu=ʀT-Jf !pOS^ n v~9p9dxG;'b~2Wlg"Bb_Lw!2B#Q%Pc ^ \_n7u ßf]W;MM ˀr䐘@eMcxɳlֽw G20A +*9(\W]so8P /v0RT!uCPȚo 뜃ݐfp*D)LjvW6UvK$.gH~X[s+_xCxrJ#XP/JF:6 | PyMnKcID;\_ I[&mʜ-(-4C`I3Ԩ|p6q8w|~<x&Fj=S}8ry;[FkЉozvpIj4(u(}$gqXcSk fMYX8b҃ДZkqsڨ YZ