librpminspect-devel-2.0-1.el8> 6 6_ ܉3!y덏%!E/֡f !E/֡l\IYiU\R]&O\Mk㞫|T4z,T+¤$&pM{"4%4N{J|lzyߦA rkF[ơ廹L=WLI-+HAզZO/DcEv-ayϫٕˎPM+i =+&38p%rtnʱ*3Lν-qrtOZt# 3Sٵ!6VzdY2'&"90756ec5cd592089a6ba644d06fcce4d748a5dc94cceb03e970e4ac9def477c532c49389a37d1f119d1db6b5bfb39748a89c6447HƏ85&S >=H?8d  Y L v   I p-  8 P ( 8 #9 #:"#GHLIXY\](^bdefltudvwxdy4Clibrpminspect-devel2.01.el8Header files and development libraries for librpminspectThe header files and development library links required to build software using librpminspect.fېbuildhw-x86-01.iad2.fedoraproject.orgFedora 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_64LSN;s*3X2AK* AA큤A큤fۍfۍfҹfҹfҹfҹfҹfҹfҹfҹfҹfҹfҹfҹfҹfҹfҹfҹfۍfۏfҹ8b284031772b1ba2035d9b05b24f2cb9b23e7bd324bcccb5e3fcc57d34aafa48e3b1462195137af34a6927a03fbc46865f4ca3b91e41532392e08b8bad83983e75477bacd8cf26f60984545b56bd8a53d8ce6f3c8547a394867261fecea1a143e188c4cafd74624d1683e9a985a48488a38605431c8e723c4549d47f3afe0fe50669bc165c927cce9e532040bbfd08fc93da1ddbac46ada521f35c8c03b8f427b249f5f94554fe8d22763faf1c33909d583465da266139fcf53de79c058cda2ed21db9348caa25c6dd2a80bbd421295f390f2ce95567b2321496f1cfc21679d20f5cd6a9b6525883ebe2df9222cdb72c81ab43517c9681fc1eb8655ddf604e5939f41fdcd2f07d94a6a53147ce576b81185639cded09e5531685921cf3ea586865ed1d51b63fb02166defa77a3e854e24be7424fe072c296507f853ec7f12b7017bc72a3ae72e57dbde636b8944da9b22b5020cb8131622bd1b00b5401618f744aba584d58a22dcda8eeb5a8e25f7e2f4c92aed02f0e47f38a0e5a2ee01c5a3802f517a7fb6166b105f7f29a674db55dd12f8485327f503847c5bde9387cd015b0a323804e5cc811f16d4fe51285a7eae32501f84cc67f7d9f60a4f656b66171c14bcfd4dcd2e75cbc269065d4e6c0e2c9dd3fe8e078f92cc06e70c2834b22c66a34393ea2dde3e938f33d21a3489cf6cb1f3969ae29835570f18e12e9e6a818e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118librpminspect.so.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-2.0-1.el8.src.rpmlibrpminspect-devellibrpminspect-devel(x86-64)@    librpminspect(x86-64)librpminspect.so.0()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)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 2.0-1.el82.0-1.el8librpminspectcompatqueue.hconstants.hhelpers.hi18n.hinit.hinspect.houtput.hparallel.hparser.hqueue.hreadelf.hremedy.hrpminspect.hsecrules.htypes.huthash.hlibrpminspect.solibrpminspect-develCOPYING.LIB/usr/include//usr/include/librpminspect//usr/include/librpminspect/compat//usr/lib64//usr/share/licenses//usr/share/licenses/librpminspect-devel/-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-gnudirectoryC source, ASCII textC source, ASCII text, with very long linesASCII textRhttps://bugz.fedoraproject.org/rpminspectutf-85428e89af478f551d7f41f1da33890cc44809bd0a7072ad292f4ce5c6b044ba9?07zXZ !#, ] b2u jӫ`(y0!Gwcf-:i/ץ=L>LW^p4,H Z {݀gA&P.!R%l( +SmEyXHP_z(CR}z0Ef-WU` lH-5/犻As b+ Q:b;F aD|xX8 HG%qރnĹPLly}~*zliؗBSDɾX̯\"ՃD*Cβ Ab{`)}x,!Qnvh{ZW %A:f y :W6h0o@ ?l֯hͺoNnDAw P>VMdI9}d="CDz޻+oYV ųfD*8+ Qw UDo8n^R*V_f@q.͇Rb!_6K#K7f0 xhX}V-߉m+;ȻеE$wOfbeSimXOꡖXz&I25=a(7_1,ЂY'B49aJ!tNdUfY$[{CJ ,2FG.MjѩzSe^^9Sl K}>:`cNc7P`ijA>VdɕH>J&ݴqߌkO;?X pNc,SΝ3FC,5J@C+ZF^:x6 :3SЙ_v,| KZ4&ȸ= k ߥfd/!.QKq|W9AkУhk CnlTNL6#.F.%PpaѤ]rw7 iQ_ZRe{:B;0oVi ţem/Uxx.Ev(,RL~@0|u_Ͳy+&iwPaZ=x &`TD[3+ҥh/WNNR@ŅA?X@P> V4C :z=QKe[ڃ cO:{>oCqN/g!6Z Wk`~Zl khuz;(K\x?w-!Fdcg.JuhBւ)n[ZuMfCąk-G,䦧9$}i2Fw9G>MgYU_c0ip3=<:c bp.)̘g&:F<-s-IQdso{OuJu׽,\3IQ#${ƧIL &Z$;X g€[^wK+ȶܢ}J2?WG( RXf6 H)^֖ Btqѕc{!څK !Q%Kl\ֲIP#]_s[,rG ܷHG+ܸ~2&@C]h, P`g\QH|ZloTcV~R(<~ ^*dv`a  e9|s6[T6^b %SIVlhOU3!bbWW23L-G "B^肟pIkNIYUL8!\P$%@؇n(o5D*@2#D=*|[BD WeXmRTgٜU]9/bCGNpOVpiD\6t@e;.ɚQK.LX!d4d`3bz5%٥U> =B7~?5{?ě]4u8kJCֻn,LF 4~ˬPc&43i ]r+\ܣ j/:SfѮ󔦕&jͳq}˓ %Fy4ԩQ3$^>6 B8 /pʔ-@q'Iw8qmFm fѠIߕC#ithӛ@yLPU'\"*ȿAF%eGFgɮX0(ɟ(xxb[CGrTM;4,0)"ߗ ZۚoPN#`_ZS # J&ﶅdyXX3-"9ﵳLf)61% N,Z oY Ri{DAz{2ij@2[v$441O P&@/1`iU#pv/KkZHO3K#$ ԝ]vh% qD/Jl^Zpd@<˥\ 1QY_VL(1OZ.N?Q-ÚRh/C=r_x2K.m(dY0 n**hYaJe e̼4W{,Mâ3-f*m]ts]Gl9-䨦7.%C.Spق u<-^yiyZf-l|qE0[ZʄW;Pv &-Bxlerpv60jI \||H6NXz\m޵/_8bSyPV3xm eexl\CzGY M)9)SrDJ(4aeTdk[-VtOʼ1sYJȈ,S$^7ҎMtms ^I*N+ W9ZՒƛJڿ/xѹm-SW),D8Iqw{t{ KIC|<_ R˜? Y.3CUoms] EwbO:iUf6 C^5@L)'EFey0&M?"tJɇy|T I1 I *?CUr䛗qH-#3u9H~fi[zg Lr4\%Ý,"'et j^(#%*h4{Զ|G7u zi-9}>iVԪHRLpgy(~j|nz&YvTF+Tٸ zYJƞrJ7Юzn*d$Π L&G%3UKWP‚L8]5@}|Ias:$irO:ȱ0a{hh=D>/<;AP55=2B=S[<}i Ӱ0#JRHZ# oJ12q-o]Myv{Q> [`jcc%< p+ĵ uzBĒPOG2[h$;FW_W4c@HIЇ(g_W{T|l[n' :?LF §:bF!^7fRtuf0#6I)w-#Jcu|W3qo|AXsu":{Y\QPXpF8`ђfk +Nԕ> u`qcqJ@6Jdng([ȟ/VLB05W5?\Fpt"ycc*V"j s$&s#F!hD d%H-@b :&@װw)SAk?%XT"H4% 矕NLf9-_ rSX5 ^iҧKw7.!,8ZSE-V=k-ʩW "] D+U! YTago{b_5Op^JJ?S;/YȢ1 I|߃hvt?^v5!j=qz1˪U}]52 y=A/Xgj(s5jm$. 6 !YL(O;r_Bx *b8 n-S)$'3ڵRg2&?NY; 2M|d/Lх2ߧM%Pt9eƅX8H*d2۔,AF\rNJs^)J!o3o0L Xh2kfm,x/.T.+Wx@;װBW !lS[K-yJXhV 6 0Eш1yJIRDvmk}-:l"׀ cn:|>R{%~seP]G {% I㢚B2D*^WgsӦm؈TmKI"x:blYhH,3(sGfďL~;FUx5ɼP˙ڋ)5<(Muz,lQB) 6I֖UUo-N`)u{ d'vvi z?횐Fkc$^948v.enfEZ!45K"U?"8^0o2*v]N˒іT~4L dGYu˖+P:u+>/vq E͉\AP@xV|P6K[ATM_=U?BpkrPOtY&6vu qiI;;UܡY ,ԗa y2@җlK!*&5kQ@u,R:DUT1$.(`JI'fbY~pBYO$f:gYTemʱ&WU ^(YKʅ'W7D|r3@x2I/z3#$* uc#q`ڥo5/nVΉ(*˧lNYv1S#-pb@RV|n,#"A#Ά,I'ӿ'0zCɱo#$:G-ezzmn><(OZhDq M/`Ht*hBlA,5$J]ذ] c)_c5>E;!g C Q Zl&l?rD_0#u΀"k5(0fZ+H= Z{+n2Z<}1U6qT"Fb s#M?zKgb> s\KcJEᓽRas-%9(i]Qdfb,h2%Gq2a҈W.gQVρBy(Ayfijynь;|=K9u#&040׿K'q~XIϐװto,V3mh/`E4u2DY( ?=yA IT]Q1F4AWa&'ngٶ4LXb#c'W]"oWtF-Aߐ,^l4ϔ{ɔ5@y}My<^?>U"2ym$ 'KY;h"pJ-+2i|gxCWK*v;q 4׽/W2EM85: A 01c~Ͱq} rɍ#O~hts Sټd!!VN"Wx4aEyoL4R S%RQ$eFmѮڭ;fz9g(6z杣.+&nXCc^tYW ҌyH߫FI,~#K7/ :D6@T+;` A}n#7- 5Ba{< \#+9t]fm6cf>,r8<(ƽ3ĉ2TpjwwksGX;500tGl3wl6HuxӘOk'y͸ŗcFW|T DVtG?|籆h"DJ kfN+s5f,65ޥ0gm3\g>еߚZnZ"s`:&݌ Z[Rä0t@w G|< *zw`Xw$6z|#N8Hj(,씷MO ]5t͂Já7cO#vLڵ]FwpV/,)H1϶誾/uh7y?ŹNFyHIs) FJ sW~_5渡ZsKlLdĊ0~Kh][?VE vӐM9Y+[ZE:2v-8>ڔ#9b!]+f]4ߌHp^xX.]7?9L _;RmSBvn5,һͰ ·S5A +8劔P=4|Nj̆ wt kէDL\"3JmyղIgK)PY*ՙWedJK QQE}(}^h[/l~Ɛߠ^]p6s)I0 ?Ӿ!xs!N c` a|2U+ʷ$QF#(d;$ u+ymzDŽ&C RXG'|59YѕWH5>(&v!*l5'|"ƪ A){K7e2i"®}iMfk~q &>'~3=ZdyD@Ze 1ʰYׄi3>D+<~?p\?H{իK3ku*o6ϛFpD?"U 1;bs ޙ+L?iLah/0܅o?6tcF(*qx=܍\P MlRܷFqS2\ 9z Qk'T(H&`t,MSw+W W볥q63 )sJ?#f_vrr`8DdeIA;e787 la* YLk<EU#XM((1TnYu b4V[h,Gt|XUm!{U,P_ͪ= ol%rC"!:*ktnaJWEڎow}̢4mT9+Xr?g W{磩{;fAqYlm 6cM!ͻ*G`iTw!H3as3״7bzT 5klvYk ݦԳ.3;O?hT["!5]`ǭIfD '] lW&hUѰ"3@d%GEċBk<%N/b?xv}X9p[PpY+PgoEW5 ~[+rnh_:9-zfy"\n)蠵u|>mm:I0C#dcQnv,~gDPgC`wi8zL&1@Tayl1k-(WAG#f3Ad38|ve%d{Gؙ#o=k2S`5OA|EO$ruoBAd+XB}(0뵝#lD@{Tiڪ~#hK4v'GhʟM7ߔ6.J- 8+bˀM糇xw %O3Evt9e j$4ܯ:AAeuت pDUSi_fXʘN4L&eEKno3Ԏ{qxanKe b-:K"Hᝢ=٘Xp~J}_{+UD3U]CzMZ`d` GCXQx4K &8\Ӥq 0BtC^ B ט+ W.glW`ʐ@B]AO\݉U7U$ w@N*hc{M.Vd,w+{ϴ#"`Np.3I(9O 腫4iȁ#7j_&Iد3 gbxu퇖{{{~ |ܸ1U0C2~%jQ* i.2#X&`'g"ʫtm iBJBjR/6c~GlhXɻ$T^q}&jY˲BEd@ٿҡG0y?&fĪ} $j">y6yҠ}܇4]5h{pY?wt)/)[ Kdӓ ۦJȵAVf*a5PfwP^>(٧nZX!{6]9|p@dl,(lqɎHҭjyQo9hc |)31HCl 23\s3vd%pϮ q,E|O3C&7tFp̌vddE Oˠ!_Q$ʈ!o3jQ"ˌdYb˞!?&w Afia֬ӻWr,jOM9t0G6VBΠu.F(ruB"!y duCפ7b&5$c%FIđGװ6>8Ac9 );8#Cs%H[#W!<{G `ex+!mɺ*L9,nɂ8ğg;H&#)) & 5պLPFxl?h*Л,k⨯ˆ٩ n2[.Vpg~Iqz% ScV` |ô-}@_1Gj0./ޯK r1quT~RE i2bګ1O05-_\N._ݠO/ЋX9gk=cS {Ɖխs/S_)Uj'8HGji(o\B]YPj483 $#h!Յ]tgj2S51.6׾~0y%g ր٠'ёa]FJuLbM)B&9_wv{1EʴM2R޼\vJ'_{[}tɑ.HM3:R"s 1O ܝ3,㘢Wb`JDO?ze':99NG3)V ;h&cܙv ̪ *5H{# GDUDh}؜̎-('GS5^IN=镲6 ;JǷ+F- ̣8⪘۞_aC)z`Qgt?t޸`/QFbHk}kS?8N#?xllRN vPz2o4>QQ#8 0_I(ͣ>@ b5`y+NFO _E'FQ-pXB2IьB֝"`Tͫ*ѩ'vDh|z7\axF-8W |fJ G*܈#͐YhKi<pCXۡeVZ9n(m=Hm=Ry+Iٻ&"6BxTC.y>6|mZ#%]X+[y+ /YL+byn`Z@šx.=]FnNnZl(* kh"aa ۍL1Y_l<U!y('JAZՙAgڑ4ܱ{%'im& D\NN>$[{9&ťĿEB%꤄-Lm;KOk 0aW-swXńNM {}r MLќU9D#0*ay+~4"c/[ܞՅUpܒىb+ԃq C QIFH#y\`H/ǠU@wjPq&d7xO`%1,UN>(-VY]1T׽GƀB8_;5Y,BFg4D_R\8hd(/ˁw crcIgyȷ uAk^V&YƢ9Q[;7iM3ԃs%gu qtQDP{|Г1hB exMj/+&[ZHj aǿY DQyÝ;;W3б#k\Iכ @Ѭ/\v)0$y9ELxD_ri}>AkcsՔ0Mm@@vB4V4°?"3)JmgQ"7ƛ068&Ea4XA#tW}Z8N OU)|<fҁCWTƺvmE$S~0ˁ4T%,3: ZSUf`H{w_$OIob,OjK=\!}-HV#S)uSO 85tz^85$B`A1-Z23U6r4C,SP7]*͏'OS`qH Fq*>ŔJɌR --f|07RbT Mv >" UmS߅6MKY)n>ڇm SWإ6H1\i[.ӮP\6/RUn[<`F6Mʣ-C;ncXNQ8L]垱q8RtG:WVK֍Oy4xy6Ή*f6\ʹxIB`=(Pk*ʃқx׽8ۄRwnLy7"7M~Tokxv*=P5nGIe68CR1, č m'3GUٱQĶ!vd8GݥN#~'n8t#^»lvIMXZ96 } IJ#%[ryQM6r$]m"!@dzĞc#.cJl]%bYN8 ^ V]ݚh w >>JP[D)%0J=GJe9 2F{fA+ZeeI@XllrQ*z@;fn8{˺PI هڅ]s#`itEp#s|q}ޤu D X5MLM)j0fsH 4\?c=_Vja)^dfahk~:f"gV4>2˱N!N jW ;fy[Ȼ%X8@`yQ{ :u,EUu HkRn@݋O+ȣX_ySB˿pb3jIg)U@_Ǽm`]<悖U,Z޻X+_y>'ՔkFU̼kf(޻œ 4d``ʁ@0934 $Dp hR0h0$䣴C[\ڙ]s @x1F;f69Bzꨧ:njXbcϘ ˤ@(q4,tLxTf3E 2eI C'  =ά5DatO!!E g;f,Y4b=k,o1pWШpaDyYk>&bW?;yiݏ-DIqj\l&cteߛ9OX|oz\}.3??RIG8~}k2@:h>W\¡*2[AS9h. ~+m}ﹻo(`lw >dl˴(6%U{B":'$-Z>&@RղC{軲OЫ.Fc{ctiY)e{16=FOݟ ZbS< PtgFݏ-L&# 3~9DZMkbg*76DaI5cED)PV3yӁQwgM'UUx <oLq+Cq=1c FRw7 t#VJћidN]g4WzZ XWw?G@zAZbifmltѣc Հd>\YN(c qID%կ,t]xX(ԑ|b[ii0H)FHEȎIL;5~bH.4Ahwb$T8x;KyȊ ʲ*iX/hb}gd {YWao^fߛy|Nކ>69iͰeDIi>V Uw%κav g'tn9*bԇs0+Us|`j+v U;-8Ј4?O86@HAzwngB-KYU&ݎi|?]9: &N&K뀷rWGxeth1l%NFzPV rTڧSw0+Imѓd]iHxXd)=jHpr +ڈ)MXE !`hiCUO]*a 3ȯF`JaA04ZmiN ѠuMWp3pRZ u + L -3%x 0%0cJyd7\ +hgSw!DPN%:3~ PzΔh;:%Lv3I_2R ]5;Ϲ oul`PapIr~oz3I؜=UfsK8aFQ[Q1KFHUׇh,q8UEi nઓ+%sȡuC4TA[ 1PiԊ.zFNM(n7Aj/<%F|:d4-p'z~8(^E9ŐҴyԊ5L6ˏ.PfۛBBBS7/0,9hUeWba+krW}X>XU>7NW-R;3nq[R ;E | t[fv,V~LR@DJpSw!_i'_ΟwrێHe \fCĴupHiSgѾ4Ⱐ{FmVZ<}T'mWgmmb yiR7MЩrD8D{>9Daoh˻_µ*r. R6 En [,f޾AL*x}j;)l vxMѦe&ړ!$*J9頡r` ȡ[yөŞ?,? mn7 6@RJЏ$gBǮW&z=fX볗EN}u>$d0~CφUBg^nCn|kkd'ndIrT%NceHGfE h +9X e :?&T+:E-"ȱې 2!eF'‹)"E %[µSYc=C5ZyIrM3s@hT<=#nP7qcHGW֐OV\ IR\^9PԷJ6&=>ZM O[5w &J>Gg7׎ܙg.Ȇ@>!Y)Vk-wҦxW0iJ2񭍶bBXa hYE7Qws R0t?!h5eNE1- H1cgcÆz'qۮ MJLl2eltagil#R =z13Ke0nNYa Հ6lovi^FTU ~pRxkŽ C,J͜熘zř `H3[?'Nԟˊ{uKys{.-EQENsЇ0ǾslW! \3VZpcąK (֎3rC|PCJw{|hٌ[=bt@ƾ,78L1xY Ҫ4azQ5jqXQj=KwA2J u +a;\3S&l $NrX!ՌAal5FR:W.4ho|<#=o07 0_n#Yh.vy]ոs 4]bx.tLc CjWpV2̖ Ҟw^7.Oko}CHxG;Dz׋wvnn#eoj9.ÄƨsV}Ur a+L Ȧ Z3 *\s26_KJpȎM]#z*K_PcTc{//7=Q0D25?mӟjAUjb2JOR7\%_k>uWJIx\o d,\v`t7^{ٱ&DIm  ElƬg.Υ~kacÈg U%g,Jnf=~l⸊9Gr4g=za`Q{۝L!^c⥉S;ǵ@0 rӠV<'TȤvYH%gF[n\S $ 3ii@O~+`uDi6 :K@3nY_ BeZg%K#|ZD6<\.-8Da|n0-Rm'4peMM@CtFPx zC-' h%#b2 `4!Fk͠.dTj ]+zgRYsEp5x'Z)/XˤбAb:ё>S=ZqR~V# GìJ"U+m0TINZdshwO;3=tA8v竷Q)'/%q]K1#7]oFs|X MfKD6CƔ`xkoVuo*uH:7w^ڌqVf!:R1׷@ |9`#A2>M=Y:Ԏǘp=eMLubN{ۉBD {,Pe7Qڊ٪mgTa̙"Fwzn[^t+=%K;ؼe(Nr<iTLkHtnڜ? t .-?毭/}Ԑ:Azp'&C`X$nPnzx<|vͿa KFJ,5&Q̓5WI+Hg\rToo hZ*#n=Ks s#|l"Z4Dm?)8}?T6*bc.z7EJ$8Eq//HSCTLAGAm@) e@Dt ؇o~n81= r woZ2z-k3=We4PZTBJS3X8QRSOȆZS<nڔs|5R2W38R3$DDAp K20ూ/z˽`ܱT6ӭ*G!Ua S,DׁtCڐJ)2r VG@'m /Ə,c>8weJ|ݾ S<BG?{ 7[=$_诹 5ج]|KצXт v B7-i`-ò43v\Z`-~ =dN 8%Zˤt^oi I1(DUEISW3*;RE% ۲/c(UvJ>_?%р*OGXt 縇/YǢ|NxTQŻZx/I.ڶ^5ˣd!Q ّ2n9DînTi{x<fQX]r|Խڛ Q{ώo+Z AG%,RA;pϙcϻ-jQj Bǝj42a.~u`Xܬl0HXF)i feA#.w |"$ԀqWG EB xS+bRE0rr]%/HCLK,>4 kK(49ޝejr%L5C ״^"Q]?nk'ȝs$YVr[2ml,nB{a%έ LHUs$yS(70T%R \$P$urtYȠޚTH[BtpBw8[eٟbvr)./0_1@R尉w'ZE8?qfԧzi VK!I0N->aCR]@KE"0FL6]1f?iE-gp&>"Έ!ܴ6/|WD7B..Mt0$!# ?5פ Ğc>`{P6ͮ/JCF:h*m>;\ H/3ŽTJ+.QƐ8!ݿ޿]ZaJ}Ay;lYniʼnөTl2h"H>]D@R=Vzq%X`nM,FɞA# لf4 us6`Q~awԻmE[$j%t M:oBo3Nl4peJ~Y)bNWgjr֣4"lfVW8‚7J@:ga5MpkAJ4R6T|=?Ux$ζ%t(B&ZC28xjD(r= ]2˸=_"tENWbS[^ViZ'i EO2fD~}m!ݡ[jKjl0wڅR]j,qm{jv9\cro;snkʅԼ9,G>ܭ1yg`dԠ򽷝ΎЛV4)X'<)s,\~wa^q@A_-|Pr+[]d>X{0Bۈz IGclbY8 g٤]PM_JeIqXh!ǃ#4t̍g("ǒ0S7K"A/][wQ5b-ķS|,qIbo9EEN_.++HwXQƻÌ"A܆UvDȬkףkOXpJ;} XQbKF|iLTŪK7eLwY[ Ì]Y/A jnz@<#}>kH/$ A{c]ݨm*ǵ~dӈ@o_'orKUS'+l=˷ֺ5|GHllZ 06\DCV4<nStb? .u#B6}L%p-b7H&Dկ4ϯX` eM="LsA`OهOcm:Em?ÊnQ5+\e9~ÐIŔ7|sEڽZWs tt z|FBV?~ST׿UlI3Z4 /G~'p'㼼gДΰWu_5nTy-Εc=g7m_YEB)\zn>U{DZ .YHITџbdIHv^[QS6̤خx0ړ{PZ06? H)ʝ.?ƔS1Ɗbj =尧Ϛ!\ƒe(t+Zjj羙!s~~^z]Kz* IǷxRw%1YgRwSZO1B\Z2cUe&!P0XWۨ"q;(K=އuU{uF˿ݛ֙-jmfWؑP_`p,d&'2ڄ11~F >p&($$񞦵)u__/;p,  'N*R&o >, -DRmh5pM-R~>)!2_V:ynB_'x{:OnK{ _ת,P!@uw50b6xNa}vo^GA%ۙ>LX~g|\ Sd2?}䴰&g<I -LKl!4̙*؅T$Kf9#1K[yxmYFyr܁g#եc-c6Ikt7&S*-|!1Vn[Lm:tlUS{ -:a6|E[uO䏮[PϒRg>61mg6j IdS]b&V8cb v O-yqYN>pe!m3c1/uzwVC7/ \๾h {1j!НPآЉIT*؈h ʹcPaq^H%P:sm\U]\tӝ\zcd$%`5wV|(Pp-~L u-B"g^=T=#PY#ͣ53܇I|!CfW=3X{9ѮvqĐ v]OC[2M.w' 9̦֗sߣ#I(q EwU|4;r=lm AӜwInnEuĒXw f仓GP:[$/f0q`._7𠺢4mF*A᱖aخyU0=gq޾"iߌXr)+"_9ϱcE[n|lmzDyRXՏA,&Lf2g< 3 *d4+n^^AMch"h=|>,N.ލZw4܃9?u 4$rHx:(?GZ(q]*{J _G 0+2!!wDB#-@ +j$8@7..+eۢ3t~ 8ۀs|SFA-&NZq!ЋsUΡO".hg5xz?gvGZF$bghT0+gϙGՕlڔIAJk}C_֖SWq;Hm==,qe9;^.LS KW^i:.}(crfKSVA{(b]KċJxjr @iGF'׶^ ERBmV(l|αJ{/ŋ'I̡aņ2X`JtHԎ ey~ѯZ6>tYA4:Lr/wy}C{|YQ5@\ٮT_J$X\])QXBb/$sk:5gԥ;יwzƄ"dm]bHdz?3R"U[Amӏl}^&1'-r՞1b]tu&tџ#GDv.;F=lHO5=9DJZ :@r*ŵ,`Gfc\x~T՚t=,Y*\(,̰3lkPlDA |Qm2Pn}=TV?]`CI :f$#7-rlLg A1ȨH|Vc[PP+FS~:uY^vW{bKqNMOl&$&QNNM7t kƆi%efՄ@4vT$Aٺ^ ݯm:)7{ӽKi isKo*Grܙ(uEZ&Viƹ؁o Z31, &tqMJi ?Y7+vXb4D7V#7'PMzMgyEueEldpA,o~o]uHk!\pK췦h 5CED1%EfbS$a $0ϳǕyIu,vɏ'I`Xd5Z8= W/gvD^Cx ib6?ZZzwKR?+haDH`cq`ۋ!p87͌G fHo 6~94zN~%"%kU#n~**zpo􌈣ULN0l{,OF_%E uM1~1 [DfQS4Z/ti(1s$ c{(mh=O>Gnx&:Z$ jrrYpJ64L\L2%h)W¹T˅TeT )vl8>S sr < A fh*[T 䄢=at˾bH28] ^mor:hB|v-ka{LԌִv#"/Qx_]q IRq }}diW#G) ?3LH)ODT{eA uZjW_a 4ƿgo Vgƒ&$rO" ILZ(YxYġnlYz9 _ߚ`dUQU.:LViwš_,Viޮ>JQSo(ZkIIdjrKfHM|m!jF}(L~/La葾_65Y_IF'DbP~~kpS("T]YEZpp&.)ҟm.SOGTF0/1$өRso@jg4hz34t<3n;Yy36');'b,!SpbAL+z7;> %W~斺ܲ0R;[Uv{Z'ě1XVg`P'bU gXhNYcW*}޴VQ #r3>(FqL'}WOr{B$ly/p+?Mn2RrY*&d$y!L^uM> N>{ws u,P2B6JfcKa E=|j_óvc6 [f^#n_qsجRڰ9qqEssxʋ4{oՄ&9GXM0V|LXp.nYVUN8Eio?vFDȬD xt{\3 w~Xw,]fS2B%jfL6k~Dc8gorqJӲ< }ohd.@CDbMD$Cn=CM9"\Ւ7j[8La=@0_R*^F&qlJ)`HV̖y\@I @R-LM*+Qf>[pE :s»Q,?5TIFWڝsG`2 uRBjTI19_SVЍm6\,^\CbK )m7SA{ymXY_ZA4/Aq&-Q"i<5L«|GƲe-9gP*jGXC(C BW*KtcUHMjR}qqzcYJzj9ܼ9$޳ȕNb]mH8 S2{qϟ $mQ\ih)C\F"yTTVh]S`EA^1  oLQZ>@,awĦ:!SKY%r(U(rHgֹzCf#Uy"_DHj$zͬ 7><`p UmV߈9"%~zv~c=Hl?JL30BQ t#Yۋ+;:݇ ѻ_BlꚣqrS9UNH]9hGwc/UiV=NNq77р(5JS5R鋼`a(5jHCߴk[c9Q{'ξɨz9e+ǵ`&zFulpeO&ԓkCAځ {1m>8Y̒\7=U( ;zlYs 3qe_|^m~e;ɬ~`Sln%4 zDT^A a/ʣ0fc~k?lFJXenJk`O m^I]'zy<41m*︹B脾f~:h b9,NUvi-0< M}E6[}ifQX9s̺|@@NPd(F)َ@jI|CoJOYBe+҄YW'wYHڑKǵRYFppoX9wwsq+h6f-^ų<7ebK͒-i!-sF0ߛNVF};%+rUdT 'E!^}&~pn#],]Y"վ+sZIyC5}0[XRsĆnIj_C݀XW/L~]Ud]%Ұ)@j)QceAV6}^)2ĭmSPIȤZgrlm|{K ccYlFk11YUlTB*gKNH͟ux'W߳=P:5@V rVcٽtndOo\(iy-Q$`.5VG )A0sO5T.(R,ANۡÐ3}ZH|kNam%Yas][O/ȇ mƷ'~9EZ7I'Tz[Kěσ3kŽ~3P]j~ӇjnL,.!q'H. J fP/^:!DS!gr#0kXXs){"1&]lԍ| ;L`9vrs} Pj %hVHB{i2g^+Ubٔ=^'WS:0![D#Ӈ8Nz /8-}|n@o~Р$E"Ĩ'˾ZVpI{*1g9o惌xT'5?t!.'s良N!0NU F : J9yǖIJ 2LZSl.y7e=`8t*L|j[e0(uXH|E9u,\?> 6Qqjh5cB:h9E "MJXbeߘri׫pfl!T g!yͯFev-$T˗BA$y҈8{Z itz3,V:A]?܈Q WDŽ$奦δFt o*=qbPb&7+k+宺2]a$eߒԞ1iޭ_4AD{JvO)R,?Pp^Ն+i1M!UN}+[JU}7&vozEMEQEjw;QעY,Ӏ7F(+{>3@8gH2ta .\+T( mй^mJ})v0S^鐧ic7hj?Qk<=YKFoˠ-=*e0NEToOC!7у'x ]WG. RIKI,ЍHUfQcut!H!̰5?e,)`:vcU_|4὏BEoE42ܢVGsVzH,RyPmc,xReZa"d :b 1ke'~p..awVȦfl".ōr ;L0sWmf1P)*K66r2w2m7ԑ3N[}qQUVBΤdh" t0+`ў2M Q٨R b=,׳s o~j[Y$X?j7ٞO!-q0X,&aSpq%:Z>ԑG^W'[5 G\)%kqG(Aoв>A Bce¶jpAQ0GŠɉRL9KҟX6!eԑǟSQ4"s܀43^tJVɡuھE6L2= 8T3ڟpA]][2658w@UR7u42_Z.~pA@hErl$ 1'B=}-s,6E'^;`MϺӬ)y4 ׶H]VWF/h1Poڢq{yjd +ܚEF9'K}ޔ4F @6>7YL꜡Tz3%A'cec*7Y$#H!HiFEw2ɲT^O94 ֲXn[1pX./GU8_NT@ϷbY@0A7s#+4E<Ǭ&a$`ӼIoKi&7Iv01~ ʾjdL~h1'3`yCO<s?VU=3{wïo 7T{Lm@O!|?%a.;7bPHOmNzkCh%Ts'dXpOc.w ۂrWGn/ ϙSP7dGR"xkjz[Oiiýsyg2\{ km"p$Ɍr5u`vDOIox9@|-1a>~L4; ?чZ*outq=Q4ݼ_TsqIhem2h:V05^uj mw/Pc..ٜ Nc K=wAU:GFqiF6z}?rג"R9AkK D5păh}#6 ).QVQv͔y6@Y2tPM|>f`sdBsII rcGYvR2 B>AQtV(UٓuRT4ƾՇRD)!Jn 8'+C֟YCf7,Jh %ǮY sW']٠e+zB *lJ72ֈ  /)-`t "E] ss$+|\^##%YWx㓥+qM_\uHcWm?j.RZ7'k-lRJRg^ex$2Ii!݆.JFRL7>y 6'v!;F (tB,00`)Dp4QrA[Ju,qZ)Rs&x)Timo =Vx`tܧ"$b:EZ&}u&]ߕrJ֮)e)],z:JPXZܜ0t!A*)"ΛX|ɜĥ&rzu~p=WgQfE[ @pJ/:bpwv gC"֗kjJE%'d o^Hi4c#@E;"վ";27 VqNN4 sB2|Z|s gxn̅p ߚ@D_wX%*A'+"G7_j) $URCe7>|u1G@- PGRR 9$i))Y(W.btDhT޼82sBȠ_ GȄP:], |t5 |&i8k$[Zyq4+Y| [" ;VD!*b=iuvs8XnFe љ=Q_ rjҧ\ }GNz$LH _ImF:<^Ꞵ ^ [?5:?.8x*Vv D8Z`GV<bY O3*SgKY͵K8GU0-E)ZҫgխY'l}fV6 ߡx}k0o\#TܡACAxtԧ|Erbb_:22nw~b Ҙh9} n[Gf+QHϖV vF x{o.x /AX-ݨ*<}fQ4M8¬ E/cp)LUʦ\E J .K#8}>K`Di):9}4M%[:E"%+xڊK?+yd5c9p:r'83n"4S7o$"A5ډM>x3 :ן/W{--qhXPL}WZaەڟ|!nTVpt8wy#Ad(I}|J`/3G5{Ě}Xu]A4p4蠓Ef_ /0ڗqH F^0k&wjnY-{Al3/D`g7Ôb"8'̢nkí^! j[Yhv"P͝l3 RWV2ƶr"$C<ƛGmWy?V£PZu}o̼NU1|\BDCg(hJ콄&:E~RprR٧t#_.?Xl?qS5^Jk3 B) %։RPXf³:T ڼt%VpڮUr$us@'8BÇSXQtL8Bsh)l Y$h΢aGjr$[:ǐ\dӃjMbh Bɬg si>ܪCv/VnɟशZ.LnGi!]:`8xC||+ u=GpcM!rK+.VR&w=rj&Z+dx:&U!p')q;q4*(}B MAL'H*Hi~¢]6# yjMT8!;Iwm)}ӳ"bRێN)Ɠ5]hiI" pp1)GYv/̔R3u-"bE?bXЌ/ACZ `8|y%@ĕOHV!ďr[R)Gd[omQ7alvwX-sbϩ{ 3oGs,YVrJEPz_^o/e`$ݨRҴrttko?&Tgʻ@j8V6 Todz)|݋HI:흯(Ѻ{c\J%lۚ!PWz{@<Ԩ[!쁶z,K#+ '4}gJÓl>eSE%{'D6_|U><ژQ\`tLGxH͈!V͎Ա%1J {l\^(j_POt# 2$'tg!h@/LE(2~ې֕Tw|$,NMŀz !p^Sꮖok˞!,k/N0G_T%s}i?7T8wӊ DÊq5U WjdZ%neF'_CGђٔ= N U [E)KݷK  Eqnrտee#IBDMf@͑'_ӏ9f-G-y2'uWX.3/(q"ƄV+}oEF(DiY~r`ɤ1EQخLu(SRuurs'8v.!~ʹ\`ܾY;(rj^.wA%>;8{2-z*(u D6E♟whQ%8\ .C/w RZ(Xlħ|m?cz#NiI{жf@:uIGUSj~>/4XOdBȳM=v"gjw\_1vm_"YȨwL6~4C+2ǦT#!= ۄcy}{q:QskT*%ƴּj0]y#L3Yqܡ26W/jh-GlݛG~5RdrXzTI}2T!br38j/t泍1#Y,Pi{&ycY*muWC̹WkN\(Iڄ}`c>$B#О\+{̲ K1yO䓑16ţ[x$Z/u_> KU2~}]1dJS"$B8c2E5O4]$ kQk.+]`)P}Oe:"b ؎R8v)ʂ{18P Q,6ʞ.=fH4# |4FԧN!LEfeqps hy;>4ǀ)Ӌts)u!t,ڿLt; v@' P18oFD#}qLҢR3_e 1SkA㠤nˣqVD5(ꭆ4+l3auCUT7'Ə˷io4ݎ~rmu:뒥 * 0K=k4W>fU>0)#Й@4{ǣv ŋ2xHŞ Wt 7?:@nr [&Yeo2ԝ2;?&RF-ϴ;S8V'NEw_GpzqI&]L1M&BhKV+ö)>1JPZlqE:&%N\ȪWE~ad "u(Y]ŽLj^ Ȕ9ݡ% HpJKGMLS4lI#x.lFn1DBRN;Oqz\JJ~8$z3$~wҵ2ͤ܆.?FMpbdЌ(.g#zo3NU:5Xuk7|jmpzN EWm?>nDJ"՚Z(ϊ.akV-t 8B`4R'ӷ3 1fL+5"@ ᤤZUt̻xr"]$0*zgnjz\f}^L*Rܔi2aQ=U(KL=? Ӕh H+eS@`H} K/[(Xfcf_M.|=0oڨ#_f3 _Ph QOQ~3]y +y\؀&SA¯{]{e vmNeBØ0>/@!R|++2f=_/#;H9n2&r ߛS vcMIeDE 1Lz,yQҠ#[p Y*MTT;MD3@N5#ϕ~_1ܪ@[B̸-Ǐg$|SV@2M_815 dC$ttzuzOK4x ZW31XI^I["t(K$UK0݅ Kj-l=RFLȳ'1LrƩڃ×84m _bU k,JZ2 W"0J 9I{eϟd*@3r.Hp)9{6*^u`B*OBQ|&O)mAs+?5.b=d&/U4ZM// s&_@s.`~, F |Sb)P 4LL@5xaqK2S{0 Zi(|!ʩԼue[# 9׺kM5]aə[ /!DO#('F|8QhcRz1;?4P~ PZt6Ɍf9P,E-CVWYN.mv:WYl &J:I:p@-xD!8Cd=}[ٵfJ.MKt0TƎ>کag(+FpײK̎&R®Xd_$]ʮ^mDqTrT~B^3Ix/.ïbpD-蟿ԇ+/ǶغSn HD<cഡ$vNV[\~BZfv7N-`amDHXh&4ɼC`=y? %8%Trܜ5s ;#F[cHQ }PeS0ir dCl;A1'GS71kx?)Y6<L\MƎ Y"g,PiE2"YJFРkdlfowޞbl3K;%ޔ9ܕ(J_J]mǝ\G& oRXV+aRՉ8ijұ2(xJ{ C@ܗjNdjތLoî!v~ !tszkJ^ 1:<iϢ |]U%xc9O5:TNO-H0I2Kb ;~u淮9%|ulVj: Oc:Ӭآ=,]9~`PHJ@X?nӰ,h:_Lo$c ЇQk ZXZBzYqp<Ƣ/,w2_oM^FDwvrLķ4+I쪉  ;Pz>ol LK\(,@>Ԗ:a6[jPoRe<i!bi Xae " ,Ddži 'HymYSLfzB&CNr,u轌[nnW~\ifl =| x[j ̼ :=%#Ue9?X= MN/&s8:S} GN2"U' ʤĶ.n*w2Vj ;d4fhƋYO=k#)f۬<1/ӈ֚6BLW}煠a2G(Ɓ:5˄dp3^~Ub((ԋ< np[u(Ū9hsRBO>/gYx!)#Ǧ"QZV*&6N4$ux?W rĀt5xpe-65n6Ab $*@R (: mc颵1bXBqxwrNjnR\ZF>1ej!(R ?8{#kB|W_sR909 en5pN߶<ԅ|w9}>dGBu!lm_[;BnA,E: FMukϳC\ƾ`,'|*p,866hU <92֦hN(hkI j]OVȫ_3[;ǕO/`5ެ9Lw([֭"BłnY[v; Cwlʛ k0Cߺk ݺB %啽 ɻ.F e Əkl7c(]asZs4پj̼E=5P^P`6RKVrU0,SA~KշvMFtWC<˷| GĹ?1 և4嶭VIǙx{D\Q`Qg/"3|v#(@Q,I[+3^N݅B,[ avl3g0wKOp}B;'Q5*(u *T`Gt-\+R=]2و#wq,#ޒKJD6B)P臃|kSG%Mx,Fŵ\3!J |E-kȨPҁ$S"SYn `%?j ;|v# *hE lYEڪl&b_AxT J-:pP@ȷH8xtrwpVF4&f)Y_@62EZDCaRXCIkԋrnGUCZ|v3_7ohd___Mr _d Bm6_~ <"P^Mلy-sNlWr Y kFO]_V4%4%=(YA$tK$1clI$TřTT[VCH]gɢ:E縙5rY>i&?K ¢NUV\w97iQx<=7!\"j,,"%h[? oPNk_ !`.v5{.6pgjR0CjvAurjߐnN'{vkCM tsֺQ, [FSRk˓}/ܒ9Wn]bgX?8<%xꝿkVsqWU%׬gFo12bCٜvv1@o>Y+k_<Хq)5WժSy{| 8*|EV`5uhd5>yFuF?W)eQ~"@'KfRtc4 Z$%Ctd7z ck[:<=p&JJ$w(HrE6y؉C[|u.o :7)̈́P6:`Oh} RDz kr.Gݝ Rr-E&[a0.ȚS:X^Z-8 l 7bk6ُab*ȫS~\M]PCrL@kL bӃs*xkSA߱JCe6WvDGE->)4l51uFEa q8pdb"pɽŷL; 36ujx{ @xJMeЛ*|Se!|+;`v`.ThA/KPsb$~sܯ\og wM'qm ]`ְͯ|!Y[Ӛ&s>GS +$|?cc?',/Io9{&ܘ}P Ml(mz[΃s 6skv2棁0r'sStrcbJ;,]Yw jGE7Q#;$Dovϥm ?mz> ,j]Ms{'F oeK3>T\;9CPix1G/ <$?-^U%= } %tsoC"2E` u^tNBp4' ֺ#R ~Ecf!]xy%f1KwN=lTy_-.䴀{%(HפfDe\E !Le h_ڥ:Y>;;ݭ=(0B'(jO"9(APx7gb< 7[kVPNaPQIa?u5JfrKzncF8`!n#҈=o*=JGp,Էt1R"\H ꉮ0\l 8t O7!"]?;$muBU!th4!]_Y2Nr0g:OD\qJۖ.yjq$LJ9(Zp7fDɬWcH̆{MVTe2Hzԟp ilӡsni. +ZbΌ!7ρ!sZ=*ZzI8~ 4 /bgyj⹣ý?@hY@iob1A`C١lEb!ߒSy'^,lCtwuűP=pPvf6*,Or߂jOM4? ozu\XQi ǷA4xPLbHd ՘>uIlȡV)vO[`Ʀ2K3Zs̷ 4 C=Iz GT/.+cox">r~/ҭҜ&  ؈W`]9"B;:#k_@]iܓUšQآXc5h54gCh4:]Da^,H^5l {;bb+)O~'nj2)xYA)l6gig}ZEL*r%sB5i[p=caלeV)fFYzR(Ta€ဓƶ&QhK{oD1錞kE-4:0[- < 8!{o!1fx-o<6#cO?#2RE2[A6ԁt{!V-1͢ $?%+5o`o-sFmN(矜xKw];"%k~ ߭r3b6d `y$ KǶ-sB6lu0=gԯG6Bm:*\; 4#x-dB_D$s,s}pЛ:C3.d}8LDs4y 6M`f pė]) y$D#*E椏 bh6eѻLp17el_w°McgJ((BM0kجf s. o^Ʋ.ϰoPa{zx&N6V:;xrWIZzxyو UZ Ơ NJ5ÃoMbjؑr*Vk yIPepB&O6:>xB^'޻eMp]]wbl()zf+oך絼l\zɿĻ?$e=⺨]s#a|¸(*b0]/XˬbChf`Cb#;?ʩ۝U)MGʳNmG8fI>;J.p2)x;}Icvd;XJ?o\v>blʕF*$A~qSΆ+<U*X`ݨ|}du %-.26 E w"TuCW;Mm}տ7TܛS YZ