rpminspect-1.10-1.el7> 6 6`d63!}|J^>j/5,db j/5,d\,2'RB~O D[KT*9Pf(w8&hA@4?[U!lvY2٩yh/I͓% D(ŁSbtXr*^^@ɿVvEW1)-)CבyXАVU- ~I>jh7h!=>bK؀ǸwzniY,w\=8knN s{Qv( I/RwD+"V{zR3==T ] $~64Y -+BjR>2NhF߼blv7MO_)|.Iu(e`)b{<|ɥuze.zzXa;}V~gٜ8V(o%9 bџ@EQ%ŞWus#O|]36)h$' BB5r.IX|H,2eh=+֙@/sT53dde0bed0dc41af0b81a025b97d6003bc4f4cc7J3!}|J^>j/5,db j/5,di_MG/2kiw |-ogN+bvp^>W8NrRa9Q`+AK1#F5Oʢ۾bRc9*uexL,Gh qZ9/4<ۧ]upy6Yj~a$ソ"{{ƥ R拄&E}:ƭI[8{R*BD](&,OjHHh\Ԝ2tRɊ <Y!A \\@ɗ(;).qrXoɩWfFѷDr0GHq)H3NVl=QJT$ܨ'y]N_Zg$l*԰c:?d   848`ds  4  H  \         $D l;(l8t9: mG H I8 XDYL\d ]ی ^bܰdGeLfOlQtl uݔ vݼw xD yl ߔߘCrpminspect1.101.el7Build 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.bbuildhw-x86-12.iad2.fedoraproject.orgFedora ProjectFedora ProjectGPLv3+ and LGPLv3+ and ASL 2.0 and MIT and CC-BYFedora ProjectDevelopment/Toolshttps://github.com/rpminspect/rpminspectlinuxx86_64^HGZwJS!MӜA큤A큤bbb}b}b}b}bb}bb}eae3d3a4d618319e340365aa70baa2969958494725310f2a497c80b11a18f9a679a3364400c3cb4d69fdc17e4e47b3aa18f6895bef18a1a77fb0ae489cc74cb6654eb34996802360214f5ea5af7c026e24b986f4c1245c05ca0dec2ed43ab6af30d2991f4ca62bb98698287f081ff50c290c5f129797ff05cf2e200c1dc8272169d16e8508bc824e266b877813f51ffa1731101c0073da3457382b99970f6ebb3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb369861c870234259a01b13a2f3c8ece6bcb952bec6fb316c1016b72a6be2f6cf8abb05d5f0a4ca638e4e9c52b53bd3a90dff45afd7f8b0a27c35653cfc5ad27c716e3rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.10-1.el7.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.3()(64bit)librpminspect(x86-64)librpminspect.so.0()(64bit)librpmio.so.3()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)rpmlib(PayloadIsXz)1.10-1.el73.0.4-14.6.0-14.0-15.2-14.11.3bb\@aW@a@a0`@`\{@`7@`7@`U_@_@_@_@_[fDavid Cantrell - 1.10-1David 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.10- 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.10-1.el71.10-1.el7rpminspectrpminspect-1.10AUTHORS.mdCHANGES.mdREADME.mdTODOrpminspect-1.10COPYINGrpminspect.morpminspect.1.gz/usr/bin//usr/share/doc//usr/share/doc/rpminspect-1.10//usr/share/licenses//usr/share/licenses/rpminspect-1.10//usr/share/locale/ru_RU/LC_MESSAGES//usr/share/man/man1/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=genericcpioxz2x86_64-redhat-linux-gnuELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=02bf996a6917e216d4fbe057100ff7da0bdc26b3, strippeddirectoryUTF-8 Unicode textASCII textASCII text, with very long linestroff or preprocessor input, UTF-8 Unicode text (gzip compressed data, from Unix, max compression) RRRRRRRR RR https://bugz.fedoraproject.org/rpminspect?`7zXZ !#,] b2u y-iSqj`/;"{s(P Y9'$g7I "m޴aP+V##;+ frjʘ~W;v)|Ug8[ WYB (^Ո#֫mV-Ա$>-N'!3S:.< sAƽ͝,󸔔l#v+$I  4*@*T$畦ҤYGR*0 pN8G6G=PyQWqO . x0x[c8bynaޮ Iݐ9Ikzb$g&|DTEtPרiXxY.hbWr"pPn*z;RLU3\`bz~5ʰi36_ b ZŬ#sHLCuVÃD4IJ2I#w't6Հ$~5W9p\iRX~k›L9!́Pp_1ps@@RN"[HE2b!qp6XN|eG釹+^;$rIAp`LV>РrhTc6e0Aj"Y#Lݪrφ tThH{1,]s]HJVߗ H]ay/eV",m!@뼫jkTot2QH*0u:O 7DD~6|X"3VqҗbYDYOr+(O4R,*)Z2.‚ *m '$,}g[ pH3L"n>ڙ %:o&oZJ~NF֡6@X.0m-Y&/9MsΨu{W.g{ > ('<+M_!ey*`ew+TVz+{ Um+<=YgZb'zf۪\{ӑ?*?FG(>WDlgxT5^I1RZfF58_9yL g LfGbrIRw{M|x>"NR{hCh=OCm8]MD8ĆezvMB~tddE"y@ŎU Anv Ad;HS! 0v[FC~gۢz=u5?-L2샳$Me{*8\=1/aDM {{XAk4:^1#mL׀.dU:A$,)04I^.IcagG ,Xhހ@ "\0RK-Sɠj4_o&xEcQ\PE:|峨}iԀttW^>fs1YvfU&,~)G:8\L ssGuvPȍR]cr:bQU=Z(=n&r;żۮhY#-٫hQ|Łq|S{˽vAoӖHzkGM^ 9sҦ9 LB6QbE{vFEI .qhٖ:GAt _> xsOO 睦uPZ3ΥnON}%H{~HIR*F;. Qa'ba+~eyuYn{םY4;玗+*tg1_Qނ>0NIU$gyFL,\O& fY}i]6=H!6//,rdHgLdpu 6\5ܯkn&K/õObaM3A>?̂ N??ߖ޲kO(SWiO+؁;vŇ)й8Ulvu` NoHa7)t';= 1d{;$ך:.I;R>N=L/%3i$lIIse %TJ-T(v`.Zkw gr\nLb8/`<3tDR؍+ /A 3qYˆ>M\aW%N_B V2DJ)XAYr&dUJg*oGЬD{%>{TEn*=R5INjTchmxw@k OdIz˗eA6g,IFDַ'>=LFON(މ5MιT᲏jM4=sYx7eOw7O{I/+慿]?e_fYpL}hn)SAԬ, xJptjAdFU6QGOR}ꚪ MDA ׀>cv/(h^3çY +~Q u:P|QwΨ1;ɹ4lS (_d 65ğIF[jܢ @-M(F]\gp~q^]w6׆D+ m|_o؁+ggIiD RmRoU*ˎta:hq܁aTtI"Gcd ,z;_`|..t EOkzW7p|,Mb m$-=& RjU/bb,hKe)$s5AG6\2dQC]gDR@3>'N)Ŋ'~P농]lyxQR^Qzzj)C+͒bVUhΈsc 화58q8geF˧ƓӣEZb"sf=dKL.cX^Vcw?~DޡR1exFB?Y0yz)$tH!{`^yAinEATa/vϰ7>1\:* L77'v 0`pG:AhBiM&1OpR@ia~ bz@# e7 )ˡP`{yN0\ .@ʎu~~ikIKX#D!dս~ B:.Ey ")a_BZi)LwjI m/V2Ϡ͢7fB,ӢS8:jr|*\ke0gjj]wOª2jL.$f> UkM{3](wuy#z.>򆮴x7"}ԣw"ԳXHb[$۝UѸ`+U0عB0֝_gIj*xo)3n"ZQ qm0=tŵjs򫡭M6eІp J Eeto "rDꄊd)4pVe_zV(UIUP؇9-;IF4L #ʮ(jtf򙠱x:iu,t|- 51>72(_@ٷqdWG**XZ33qƮě`n5TtNPe 'h6/2nӵ |"VȖs- .?E˲v'&egiPc4K熫lԭ. 1eJ`=d_ * #Մ+k\u}(mҶkO2f`d hXߐj}iMH)=fxPD g^(tA5OMẇIk<鄐NA^k,W\_՛L{7A4eP%4WRGk`9nci{mMv< LOؤPj ޠϓUO?o-n}o?sC,u5v3lP%_OCCDG E4H{])*P F i8eyH?R^Es#&hG?Nec[u Qf/K ý^i{۴f}ޜ-P{TC`,ұR7;N`!~L2e~\Nd :a(p81$Ұ0q?Bι8O(S |v #N6.@jhqMжcߵ'fu::}&SР=+5xU$ ȷG[V{>$I>l];._H"RkI7k9[:$H=7e, 0^Vp}:^Y\^ɉXd81g8D|V /yWZmZ)yy;цZ3TA%) 2 $!EI.Y6Wq2d,MRqv4fª$J㈵ҒBXCwK(EO"%6Ijj!Fy]wꥤP8( >٨= 4]B"<&v)8L0Q==\(㽲ɘB/qQ^Ϸwخzw`>vr^*AkTk>3 CbdP5ayQ:rޡj]]^ܙ@hX 6ˇN;\Q4 κUIa!D3NuA!0b2!^Nr\c,iDBO/" SsA6 |WM1PNYztK,֒@rb^`$e!P،3#[<>:2N}ƈ_֣,$_?XVyoPTL9$)=&.d*w&'ƍzjW[>zM _x ` =贡r|`(rR6c+\{3{cX?sX&1?>"R>Cm{e($nmj9@&#Z+`rBT'\zg@bnodչ7eap2}t]ˌ i`Gw 1{Ty Lxg492^Gl/֌-VLڠ[:(j; ZR]L\'Dgb}$bnH%n. jv|Oi=Ϛ 4s=J:vQ- EVJ,utC(k+' ; v/0T047ߊنlLۮc"C2Xar'>GEdAw,z5͈y|@zf8_ԭ_ v48e,ƨBفi42# x"MmA9wN>f߇,җݾUP_M @d?rT&zBzǬX<:Ss"TЁ_{-7K`LȿW _QY8!5/?lX0m(,0$Mӟ3[+bѦ .l=wy XKf59ACq4tw 2LW?V'V)fTq73NX)gN?pqsꙩw$˗I)8dFbG.`DmtG|D߷ٖeD+Dۣח[OXhhmfN|ODCj)Uȹ#9be k &:6^OR25Z]'D9m_ 덗A*G2M}},VO):LG FWZ:brřgmR /Bblc1$9[Ez2N$𣾔db3F_TXy{hZ p6Kկ)+.SH6:~‹_"(y!5 X]22ғ5xyQOWW[*u+#oEnЉO=WLpowUaE\մ8ĉ63_!9zKA3Ҟ^O}oH%uQb6i5ic}c7Kߛ`eO<đtA1,AҝףM͒5.٦Қn5$s~H4rE5oq{8UB+,=n9NzفoV~ q$cB>%9]7h5t&0Y de)$1U8-|e2iciͲ cm2yg-ꚰ]g^*DalP}:R+/c"wL:d˔J>-hP,A:pX QY41&[A,'AWa1]/<2sRAgGsJ>w>`pM 'LZ4²CX;//ׅwZpjUe|;CgKD7?Ր0Il<00҈SYOM8zY"~< zqUwW`GVӫ"\!n?o^e>ޡ EyDA^Q7JRH~vz$RA-=~󹜨LٲLE>6m" ͖_)W eUO\COch.g1|)w5T jBKVIyJR^tfŰԙCESBGy2z厬YbIz<2~ c\'Vݳ E'ުRSbr0#B02pU<ГpeGR#x>bNWeRy,4PZ`c,ծ:Հ~9Ć)>vR*4"$@~D \Sk&N2 Dp5t5%7hQozo9G}.&ӱգGnPp%vE>~)n. {71`cTs2j FD5 -*Eΰޗ.+$J//: -K/G!\W3Σd7.QN(c3<ᷜ'0o%akɅg#1\lX. A|Ez&& PeEʵ|nftnR}^ir< XИ#uWV̊ ۜh*#>GSOtͲtU{:j!)rpwܱgu\0~`8bmwBIf> f/=1pKk'BF_G jb5@¿G56VP\9]4Qƚđq<qNxhzRch_بj2H P߉Fo$ݹ\7CLZK0mto#bj˕g8h96o%fqY M6V|YԒ2;IX) Y+):~ΤԷS@elK9<1YgWtt򂵒k,"t1' n=Ev@x1V(LE*MdFpC[Ux|~%1Mfim0NW iR|'J9\ŭ[C3{'lbԵcFR?ϱeHXnGgȶypO-&⑸8#BM%HS w%&h'H@%ù<+OT>vPfŒD'eNqFn;U#{ڙ-CvYlr=@򱤺8Qߥ͇ziuX)?׼] %!ΪJkxnՃ$jc SzM}Ԥx$8fj7LWOGF$B,cp>`D|gXP:YU3F5" 1@;R}}f6^9ui i|VoFOQ ¶pg* Ghz'۽* jRav<А K8!fZ mE_'@ d4yWFˬcD'P|̥0.56P=kl ʬx>5fkB.S1ǔZ2hv+tzIm;5iTȫ<<ͥ&\"IuMD솟}x;fY$ p\A|o[s/\r{ݵ)EwVhXT#߸ٰMHՔ@9&.,V]7ilS#yg*ƑS\r% oN䉈_g5x9'*[?׾<@ѝ5rvWW CsOQQa9Rn4l&1A}E0䓄 gCz! *n;DM6=>:PYS#GzB??i,^|[>/i ̰&ڊWT cݮ>ͲV%2vZ+?P).)r Jbs;nH:h}MYpy_w&X>(O]qəQ6<U 9Z/IO&l= x@w8^APuR\ts"L.l_ΣLjAOJN%'z}p(bUP*7F hĭk`v*6+ p[˃q d0 K!iUHYĦ|Ș/ g:)ձP\ā BL[esHy My+|؞XoAGP=hfav I$z,ǠYD{s\>N:k㼤X3; |㶗pÑ A]9~=LAtMZ/>vhju 7߻Z>ץńzJpYĤ^떧SSfH!u+a v;Yׁ09D=v5q*)Qc~LR^ Ͻ U؆iz]h_aߦ993K+Wa2TZf*:ҟ~<3mCz]IQlJ̚ȩ.7eH+fIum2.Qu9yG̗Or.ghWjڇ}7^"_U,7O Zfg.6>_PI( Ȅ;ĊgUഺ̙PaDs[Y&p)UX ͧfAS%3 (QuQ_/-6fx@ruf6h3Rh.!6XP.MLsӦlTffW'Wey%gdd[,A 8iʖ/x{J}Mt awcEF-*֙b38+ j*0l JTZ`;na~LP1¯geW7"V6wqO>=(y/̀: Iorn>6F-9_-uDžKdܾZp[0YǏXաS[)PC¿􁶭M03(ٖߗ`x E0]̜ŢQ=f5͝(]?u' Fb,/o>׭qLn-L<N\#MjD_VmY4h?.['Ii2G)guYmdX,muDi;3=Uru`svg[&)+·%nf&+HlHM>I^D_!!b+yeNP:CpE%j6s6}`l.8'ۋ{QKt / 7r~ D&T[&mӒrFn"<{yᮏU8HI"ߙAH -I€0~2wR,É/8.GncN[Ҝ/ʦU(B,E^TO}\e$;vG+ȷM8Bzi5YAhPN Xۑo--v5@޺}W7HcRvLs3l$/C&:۝j_*)ahkO4Vl;cIFw MNHysr?%?H.:)u+ jTn Dl WL[K&uiUcqu!|1 K(Q:i6U5J|.]%ԉoKǀj,ABRDB.$=%d6GI<:EdPJlW0qXL×l(b =ԇR ޺: [3^eVWRQc*:( _tG_=8䄞EtYP ?ɳwZz*5Th.ؤ%-L3tL1Qk|g@VAq!9@?n&^ XwISJR\j"rK-JEu _g_k/c$ؕUh=.m6'RsD^z˞dt޿I.oeٚ;FH~>vb2bط3:֭&?E ԗ.>{|=p)NWstj'JI?4 Ĩ䨓\*&kSVBubZڢpjOicy ~V^jxTƱ=cN}!.ntBQ}]`i(Ԇ"1?R<+dv &J]n| xGʰu_.̢>9ѣf \i ZU/l N.C?_,{sV:5Nr+v4KV j#]ٚ_8_kx\VTSCq5aN_2׆x ܧnKM3? 0q˫̎͠W1*iz8@q4E$LX}%||QG+"_6)O$WHԤK7`>B uļYN*h& (>ͥ0ɺ kXgfgi'jY"SPT3O+wHY"W4עuUEW)0 :U"[γ~1C$z4m|O|G 6#tDА;t~\ows@Csu"ID_J}~S1~1~#1$tEt[u67'M5?SXdd!N9feăQ~fÜS-B ̅ڣ햦B$ẉۢ#H[?P-ʼn6O!ڐU@i_*_M_eƈ-N8 )DĜ~)ҿiC~kdl ˤ3_ h6í1.r{YKp*sѾ1{0ҺZ%uŦ.vK ?Wt]JrPm 3\C"A:Ek2oS/)gO t1ϛ~,is=QAaS)r}0S;73F(9=ىylEP24:e:n/UgUG'01=ȦihqF'@vvc}9 &=BGm4Nm߫*yB2Ek'sJD@z[S/t;#ChCמ\|Ur<1mݔJOdW; O!Ԑ5 P?{U:њ3#oN_X2Od4mZ~֓6h}?prMcSţ PKUҸ4Sc烎ܵUA;Iu a8YOd6 L, 2aߨZtw<:ZM%ne^G'Шk4{EY>&ߣ=.3AUN*׀'Kw5*5{2;G7yN^ӨvgP +h6pvSdvXt *դ,z+4t&.V.q4ЏbDE/=#@{38[*q:F>7uT]d|Av'kᛊ*'"-BLU ΢u2Hݶ_s{>qҊh+/h:pI̾c: g~ZI n5p]H%V}"ɱ\H*;+gF'g24 !#wWd<2)S%\ r FU__2zxeG7P*#J#܃! LilӃ >r6N Hs^'Ovh`1`Br(>ݨ+# v](?<|zTk§>(@AsyVf>pL\G6 0Lѐ# c4Db!? :Vhvf=%"eD[#f->t- M65,&WPJBLIɢ֭v҈O4n2|\~+δʽDn}~?lh]R)_r&~-5̆l1>BMM^@\mf<$l]a ۷ltUxkA@hQџE{rm@DقE:>]nl]cs9SrV ;jp?@ z\pmd[{-h$Q]b}xv\s?L[ d.h=!wu^C2#pi`&b%q;ʟXcdREZ7ap%0N8G!uh=>˽d݄w3-~7kӸ}-/@)>xM Cu G2*g5Cs*/KAY:J$aKw)1oro&Y0ԮzrZ˅Vw:WJCe?˪Oxr6C0_zWraٱ`2vzcKq4 |ƍ31/gn1/˅ _dOZMJf, !oNq}vs9Rfz%D5ɲs+)Ѽ|w{1(1RkN͍=oTSA ^o,סIy*^'kS=t!UyL4 DBJZc1Cl/`0K?-n [r^t {FlvjY\ {  h ŷ{Y3nΙ-nHB{*)Gp_N+-=a2 e7^|@LqZS~&E,drG8Fn=vA %-Ld ҭCh i %IGGr6T}@V-d~0{>'8P}jU։nD6=1"s; QY:/ G~I _'}qhCz{l!\Wlm1Y?5\砢 a:S^@ƚ-~oR`snaoQvb=4V[6}.??Dvp3dKn.麫|څc<#,Ss VQl+ ivjkr Ye.dP87n (z.ʒHByA@C:쳄O8Kd Ρ,[/5mE&T|"|,N0>Lg(.j/z]^eʏs4Rx0/Fbf*2O~)F}; @+DM΅gן,Y XM7LA@Wj3rx}Yho\V&[REYy'{@l{S )ʲp; 92M<_wH͔2cU t oUwi\9z91:SξCf`"~&}{> 8ǶS6?߁0JeV *U| -N\OcjI7֬Y=w{m`} (eMF.nj> Dp@MB7L bŤ^*fGT~ԒזfBڞ#ʁgyo]VVR$Pn\@Ft>N`]*0K'uG{ygٞ0 W":-w6/j"^7XF҉YijE 5S]q?zk_ fȓC:ƢV?3E@,"hz=~)L_ yaj rvHq-ne`][RS {HѫH3gPdԾA5/DG}5@Ccc+!N-i'ۏQsGÁA`*1J0IQ.K‡&BKCgcăލ͙CŒ3zjpQ2 TXy,,J]KI}`L3^Kp\rj_C7s Quq;W$0 -A:7Bg/ٿY# Re/Q, e﷭U~NBxvgrfӰ/ǒv.H0Ʋ=Uvg2+0y:򡩸%_2yuӺ cO|D ctBH!RwmnoJQ?2b:\LR< ]=]VNHLLP91#|W-Q[;<6{'Gp1d,y~T{$b38[Z@rVG)oݵ ~CJGب6{C5KQ{&n:͇Pw[Kc]8 nS~y("WEZ&̟w?-hT-RS-7kf DSrK9PAtN4}v.O`:<412A?⦲c.[o>O!`4N^fv֦1K2V̡/{|np :RX" 麍~.ݾ Vu HK3Dx{LRz-ї\sTT\JbU5?3ճ(o̥|7/}v3ZDF|,m;cbȦ:#` ml~Ju$a>(W TvI&74-ަ(x;fc\49iQ.iVÁ.DߓIYgKf)(ݴM9+.R8>{j4f,,X*˚/ ŭ kVM|^@jdJý``RgAD ? 3H vQmKdO}.3۵$ sSioc;ʂ{f j捸R &sw=3~4~oJr+A"0ɚxu/<$-K͵9DHi,2*{م$-(yw!$OeZh`Ʒ)NKM_v /g;{ɨ'xȖ;%w<>WX"msN*$ROU^9Xcȟ x?VboQm]{p)ل&"7u҆.@ds7f^r_Oe,1Y7$,pF6\'"13Gj9 ~Xa^̽X8Za3)&\ы UmgZŐHl4w mrTe1I7ĻI5v#繵.n*8ִ=c k)Dw, \Cw`RE3 x|.'/NÿWNA{_(MWwCtE=Ҧ}ejeRw̖lН/"/TG㗠z0d ziU_F;~^4PCe϶TFW|`IآhGۭfalfѓ$ KZ*|>!#_-L UŒQIDKtm) gxJ6}M 8J8-pU`]0" $s!tR·'`j;ѝR6+||{ 1J˨xX$z5mL]ؘN˭&v[Qʪ8D9@e_`uI^CiU] aD[esӎd OeJ:f7um\ȵmF.GՐtc;+nҴBe9'TiN(?ڤ-9KH|!0`7+x@7wXlfjlhDŽֹ^ oLOPSBS(KzSn.TYY\Bt7?y@ZVsFh&qS,^M_ ~(S~S*ozpfkVs8C[(Eiu&M^<߯[O$Y oH/@҄ovYgi0u {w!2% - u ]TbEI@Ŕ׌[숩mG 8 +3ң w{Oв4h8Hx׍2T>3(yCJˑ2K:d9Mw]:x\ 4(kߒLGO=E8&qJJ)V; pK`4T[,{ ]N (kzM@e ˛Ego0 o?G7)?#NZO7TGX=fT7l;i3H~&18Q6us3`GWDe[bF먵]d!7Sor-TPq:3 t0/Z[ڗL-Ep#YyM%569E|vYŃPHtB(( %~# B'6,;h=-QcM>}έt'oK$stt/(HD&t͐NASPg׀ UGAo܄N'b>B8|FLEE!GMsWoȰYFmxt[>` Ͱ-,Z&va$̘%Lor) w5VUX#$l0Br1RlmnǕyu)Wb r>ۦimj*xkٓorz9>O#qm=4Nyn~m (zaGs2p^eoildZT1%W' Q BT2ixQU_%Vg--%Аok@.?$[a$ f^-$!C.o/9Owmݺ6na*Kyn֘= -SiBO<(Mc!{οi]aiևґI/ϫ. 6 ֧݇D=REH$/EX>[?hC/2lmz^$J!͚^RU{ؿ>~KsTՕDw19#Y7bH2D $Ym5v;gk T O(N3FS&ܱQ"$(o.XMhS@X*JFj;bi&U$ * 軟/6[{-ItI? Izzy{pݙ(7=űc\lpzP8n!>WeCY]΃ ئs({|dwqlEioD*ӥ`Q/e Hc}+y:tfݒ4|[yE^?[xo.Yڇz+z8=4AX~"bKU߶<ҧNn) j =[yǖ_vvPI&7%ARgYri5^d.f-喬1~˰aLFeCS3B]eL3K-&rұvpaUM1?ݾ[\lW<Ø92~7 '8?u9Gv.bR WUR?CqM)Y@w4c{ Y?KR8à.װAF͇\E64/6ont'@ۇ`asx@*=`YB{ڥJD}JTMdKc䐎ipb O>{nPjF=涺l3Ejqkb>j-9ۥPa`(o׻6U_COYp.bu1KxǪ&A!Y,r'\:CE0}zCDWCun WJxi6r 8 f*Y=*tDdȞzٲCcVCDŽyz`!Ykki\rl2 3i 61NXJB'a e}mX6r53]$/Ⱥ̳rnEx_!?G,3x*@6Byj $إVk籈RCڌ7lLtzs\=ѷ%YHJ*֫Y@EL^W^H x|KCgny99ZKD +M0gYٔ&QDc (Y]qMkgjl9kD4,9Ӭl{,yn}z)5jx1e7oÚAٛR5 ''Zw1qQҵ￟-~LdO-a }W=Ly6:-MdtҢ|ߖwd'}V(R{ Dc|GF~u$U:bS>˥zg£-iFbc`irꖹSܹ x{-+ڀf,QB=vqYLxl:[#C f0zxVk4n{B"z#/.{Mls.Ok;_V9'Kw须P`՝qYfPU[lI5yƄ쩃V?4hfzgkmo!_RvbL/4>Wk;=i l lK|o ƥc<;*3g tPa[G ,L0>O?F~W}0c} +&.glh"2mARQ!H8' dE.D(5@xͭ6%ܬcy 1q.!uu9 lhy~ L+MDDPJo1+Nz{g'7 ={,ܵ֔kZtU+ʧ$Alu! Y@y@UJDS};ʨ,H'6+Wل8pNg28\+C%I+Xɒ'r)I+ju+U rS:4DLu_ai ]UY D+CN|OO`NZ,{,.'cYIqޚȡ?EmHJ΀z& 6G n"d W+FgSqhXn+T^L2R1[I`-Wbd~i#tYdyU@ZG"7qM)Ig6fpKiE\Ɏ5w1_Z j;kRzMΪTө.Tw;R;i>WfcsWm3WE~Wj.;~?1v>u1 ݽcro&PQ'K h>X}wKABZ'd:2@dkFd`5*' Fɥr_$eǦvKVq8E_U}5 &bJ2f~2E #lǮ$t4Z*^b*1R%ˏO'Yߡ23k&OF7 ͫ*ů%_FJږf;L7B@m2 cY 3<̭g(%b"R8=57d48hơ騝Y e lG-X[ܴB)P?iL/Ο;˚aGW]`8YeӉv-:9qX)JJJ `?=׳LA'UQ"Nڏr`M5z<~PD={"&uu0yO0aK\ց9,J'ow]om^@׶12).dg ,aV< afNQC/T!XhlN3In߂)04zh^$= XьV.}(BP?%4oluSxy`AN֗JM܁ &bNr{+ŇBE?sFwqf^kuꘄ連%?(YXIH\Lft5PR%6@e 'ptꆯvFIDXDCx0Chhy; &ͬ84$\+ʖh!9P-al^Qr]ԍQ^w?h7pAP ƒc "G-S'GBHŎNk*Řzq9LXD˴xwW`33fJ&Q²h윧5Z@qv=L<,W')Z.Xބ0v=7j 8*wHW["`f?k>t#)5Rmho/BX\Ӗ[ j g<* mԃbPKv"΀4lG+Ru4f{?*eB?pU*`\ &v `MC|" LwhʒƬ !95H7uoS%=ɗ g'͵AC>D޻XAꅐ یBLLfֻX†ށsb_cِ\L&LD=-U|Di5b|R]]noVĦ?t]U4wܺqRG~ơlDI_7>̓A*z9oa83٘>y!%U%GHHvL.#Z-Tk(lmjFɈ$`ȧ^2lk­޼&d6mrm~Ɂi6Cov.!UϛR-eqyt_k{^qh`MmxuwhfWdP&ݓ|\DE|.G"/8GցPЄ:a"$&nr_bTZ+hKFwmR ;- ]g^ ?M+m}a6emT9m6@kVaU+Ԗf5L_3cA;*~:Z5?_X맀_ I6yV<d-%X)_Ό[O$<%\$9B9r8.,+e]Gϟ.Nn3sQ 5(4u9>Ќ0&Kb;.v_\)'k:c#}f=+&ҩ{:;QՎp) Bi_$S(Q5H Qyl)9WIY8tR {|D5[I0ҭYec K@Sv^?7E]V'  145EH'[A6cI,`=s.1sm =&Y4.1YL9ҽY5MEr}s'U[%}uo}'D}k9Ce3-;k]\>g,R'H(~9nw] v?] x(Ҁo=c>M#p^횿v|[qϟ6Ivnl8B욪 ]}5)MeǼok韚#)Z' @ؙR^h9(yɺaZQT.Nf?csJU>fԊw7-_D!yRmfeD9?c'`7?S=PZ.Zsk[W'smz,GGhC[ܗ D^VLu!DҧA\1ٿG0DP4O{r8KrVUId{>cܠ%*&tڢ7XoE2Db02"xDOW ũGM9$cҲocO͌qpnyp15\z Tcκد*-^x<[f=_^;1nK`owQIgJJYoJ T0xXiAИiFlW+|>4ewjp" .5r)R;Eq(>D$^cF>(j~kT+ֳ r: arܷN"(3i Xp51>td}+9x4 i(a#ϗm5ߧ6&ɏvPY`Y_F'D;WI " q7p]LuIMԾs{{l礜a70$*΋f^(^mnt<7Ԉuq&u-*.)}E3c)crLLR'f.s 5}L٬nx˃xK@Ʈ5QY#~th:݇?_lc}C"5?ڟs:c)Bxumt/8*Yal4/?tbk6 ;]ʤFG+Tڲ.2=R-ǚr!u-)w:' 0r8}YQY.åkMwk6hX}y!3hjr3[Ҟ! ^n1;zCI$22z|':tSIx:|^LLՉHQ̎,X9,rDŽ%N&'  #e5WH4pdGvt M{lo(ӲRêNb~ Ic ;g_PKYcZ3,Hovl(aɐ9phlR%3_o0N#_la6zQN++6JELdR N!Yi]&m~e dn>0;ѝʉ aEƫ3YnQ+4c'-GyfMZ@TV%D]Ȏxh1FYlrp6#K,z!]=hKEWFp7کs#ng8EI_k}wKrNP*OU-'e["~&`5Ȯf`I `M,HOw0]EnyOgƱMҼ_Պb}{\U8nK$"܂z̖ar8ye~zYR12azq@nu,)ح2toSǃFrcNF2TᲸ=C= 8],E7&0xnY`w-IpĎU;qXNYiML|N9!;H؆QM@$QEk@5I#l㩿8 gvlj fOX*.nCY8Y(\eVTCSo {Â~nqo&]5<ܜ&Բc?x{Ub+fc5?n5bc=uv'q=mtA~L>y2߫kHh4 _`{~<~2';d6ĽVYhʋc_-s꧞*PSqnc[+2⨶cGkOX靜JNsH7,È|ts?vW5+Z"`/AE5aF߸%D23LIf~jNba{[-uo4[*?;ȉ+OdNF;H=tq;ClwS{F]Tr4(;g7bO9u\³x\}3ĀI)7cw!T¯~/PR4o۸+o7)ݎI@Xj|M܄A)he[wԏ!zUy ԃ&uF5>2ycZ1ͥE,: >]ɍSL؋^&~dxsXM8'9C,)L.p BK{e">fEhdH+Aq4": Qphf/ӟҟͬ_c0OJҜ,i3O|sah bR^jNH!w ݯiB&c &.ؘ|u ٱb| A):4GQ[$E]Wᐌ >a΁ZՖoeCSᆎPApܑ Uu1o>ΫQ( 8?kdn|{ ÇgD mνD^o ogB'g]4* j"壴=asD:Փ.JēXN }d;D23˜><*d<ÆI$㨝O˒CD MTja[l1yh,LE7vA:?| YX3lG' %|4Y{!'+aUgK#Pqb@ٳj_4 52Tj`QF۰{F|vI?'FE)(8ɍDLOdL(gSsI g#.%u}-ҿ119T`%N~/>dfGa΀(?^A7V.Z2IwY0J?3aNA_YkCeb{%>cB=hk Q" Rקy VBCF/Z5O\A o͏DvRBPHqLJL!=7Ws }mWE*sGŋ/D;>@W'sV+Xv*q1KՁm ,hfBʽ-\G^>FzH l^G s.!4Rĉ@:@/" .P @n6o񖓌)MֶF" ㉏d4J`UL-Ї>-ݸʳ:ɀdmp09VXHS4vFp yTTfUXl`J,`]7p.\p0gƽ$bBtt?'SCbdP ?ENY=Ӓ~F*eBQ aPnA4:%%B@Pq@ԫڼ1(`uo#Vj=T8hox73>]0 Wr%2GӕXrS t؆?BL,+i1~\cJIЫ; sTۙ=#~<uDZve.c;:#3L<}MbnʯI*dPá,aɃǢ_by&H(d t (]kk%FƧӳ.M&%9C/*rPLƍ-ǥ+xW)p'~Ec~';g*}%(Orx^#2`C$< 9H/$)}!pW9y3Mf;<ځߌլ%YpiS uˣۼ[6HzU}A9'K/NnmcUj=Z ԫIm=/h}b%0$#QnyyeR `H O;e}+!MtOrEzb3 N E24Jư8NA&%@#C۾B$[|ģ> Qmh1\"&d@p,5:g RPn?#a*{IyY>1Pt6U@<#OQ~LK8jU>k-;/BB8 ˼"ʼncӚ5iz-rNzt1\,g㟅Dmr)z &FQ{|o )FߤTtg$8+m=oHJ@..Cpy B<59̡r9:)};V!,EV9 \l29jAIq9R$MIưx^{ >'stFpq€ezĦbN9 VCg[M֫|sZkhq'G\9yMJJ.c Ə4ǃfM<{!7}7OoȃV1 8 k FA+6x&´2HQy;Bdy[艠zU?~n:57- vM#}Fk ]F>sq١ymKy&sޟep=S{ka؃.Ks"x_%j?`¨VAgI~(i\3g/NM&3Qs*b?;z tQI•p8>a$8tw_v%Ȩ$m ث {&.SW z=xZ,`V^'j!? )EC\ @!7'B Өnjj}%ӸB cTJ/os1$h-i <~/UW5ֶ}L\H4kڙWK W{>0 W+^8&9(,1vw+5THY=k5pU"#Oгr0!}kYj7ř&++V[|TKvěZ߲QCW :Ğ1`@\: B^o3Lr zD{*驕Nw@NR&a\p9 JكĂpy1_G˼4[=gR0wv+(~GyjzMxKNu+q xW0F Z'Di$*~4%6lJӐ\sm&%|rcPS[숿 G%5*<[BiPH 1GX6F"h+KIZ\Lz3 fLQޖqQכ'rߴKmN,$YIBp6f<*$Ư3 _SoUQ`̮(RmuΖ5D炀`6[U8;\$D,NC:nS9c_ٛ>.a^lasR8Q))3vs +ob\ͮ\EqX+J띉n *SqX|_ٷ|my x "@0;Njz| fȼ\iJZaÆX?egj؍;lv$F\- MRzbXz LH\0 ?ն'o^]cfrl0,Wwl { 4"<(|pBz{<}D>FƎōMU-BdG^L?zfgetn̖~ `W'zYIܳz|(4r78#}[GnVE] 3p!O"&;r 77?!{tBJE Ԇ,Hg5X*{BIU@Km ,=s£Y3;+Q}D/„|"Ÿoi0/86s=5` 5\WJPݡ]WD QmOȤ͆|w^xNH4qKǞgG@yP-d<`1 >PL D//jUɤvgCj}wӏcwb؎{=bF!47=Jvg _G4Iia4@ӬJ7=X@%YN0-:1 OzSIou䀰s[ &:Ehf<&"ψH, rhiw} r:A/@IL)>]Ɉb2${^oC&Q\uSG+@nUjH)"Q8 S5'`9z`>.̪u Bck{NmVN5L$I,o7'S9sH73肋ԿU1oHNT"ߑ/^ sYI8;?Tq&OUmZ5QxV$j Z(O_Ճ1gBY3'r S(- @ olxU8]`It_p ?"ѹ-ߵ#/ςOr>j܀*![׭p ̡Jȳ1U0:'uS>N# }B1!*fzQTAt_a<, %-Ģ_yy6!Sl% CmRRDSu吧T.ٿAڝd w؃,b=ɴؓ.?+.o+V˶?&L̩b}e~ŬAΑ*eFʒSd&dn ,<>[P8x~{ KH{)Atſ!$'C= tO^$wuune52 zxY{;epl֜[Ϸ%@-EU2BTw9RgeORјQU ;MgΪl=[sܔh՗O IJ`*xtZw:sDJ^'XQ'!L.q0ފ~gg^/ۅx\b|3ȭoϝNf:Tf=~,JclFܖ#E?-WbĞV+5(=ӝvgIB 1!Ҍ.s8t[cO,bBpr\ ꙿ3`"jϹ 4;a3Q÷OG3/ox3JugE+>c6wUIV$JWnw.a/IUڗ;QDzޞRL) p2~lBREY2S D zpM-<*'b^&X*/jlT qWU]?j͠z NӡNBpO:OuUP %gPdXG1 :hAGJm- c,چZQnAK$AN9 d^sD ԃ)VI,UxMRVť|XwBe{ubQ }:曋Va@!|JRL78=P>Jix9U\չc~e.tl3V:?x1A_Yjj8a-Ƒn|PG]37cbXj-8ٶ{sYx*8ճ[%I KbDG@t f Nbݑ]go*2gek~~*Z 0rVxZFo F0̧a8gwӻ0߯,ZXAhOBZڑyl:QKnk\]1NL#t::I>1 ܅S5F_QD(^HIsJw'-ticR]#˹Rcg5>DE]QKVD?ըQdW.Э< ;"xi5uF>6vU*a`+)\2(ZuCf Sي+͚ɽHYlQaFX7}6 cIjH%1E\J )ޓh# < xNvKJG Ŕ-k//=yUc ![/r(]3L37$B%W$'~7hx ݗ6czp^!yl4X_ \AlEqйy#W%(duiC'B>~t;z?"'-="{?N!Ѭ Jx”Jw<܃ 1ːWGЁ҃}+kMh O)_Lx)f?Cx7?@,mM*uF}V) _HN3%Y LQkpdङa7 x_:wa'aB{VrLV_:^ m9WՋQY*f$=UtSg=Uwn{x.qKbѼQvy%{|u ѷC?~Mh lt14G!ߔL_ 2 l=vs=BM,:hⰳN'주\jH>T6rGymn䆵I۱tgQRI-~Fǥ (rN!aLQ.7 1;ŨuXZM3|2zH3< h,(ƈB]C@bi3(JTuQ!#?< fe/8"AAb'qh#$ʉ8](!2\?< <e /GR&UT- nRރU-sP&7 Iu`(]%n% F5%;N%_:2g2Aۀ.7$pBer7|xsmpn yj0RJBPSi\|qZPXj_adĖϠ5]{-k;&5gՙeU2}:o{~y>>hmS.FABTI;t%Xm\_<{91YP) Pb)mzLǨW>(@,f?~#u(A(m쌘ϑ~wcDzHsl#- ooIDEE@Uå>Ҷ[ќWőnH-oH[@(c 0TN1uY׍ie7V0UwQhAP%ΰOrtJjF+x/뚜a?VF_ǔ6vTH2ڴ`0m*6|,amGBG.Z(eIԛJY,ot,-%) eH_%Q/Q@sW"Iew;9C7@_&YWטk.窜~DZ8ka_sb)F!'R$TO˅H{HCꌣwZzDbߤA0[A?D i <1ZD #5^AH+Pjl%JcoZ Y oeA j6oPbd-&a!RԪwn7͠9I}U3@:Z 3X`!\R߳L]\XYCݧ?R7t O{g"q]vEk'o{3ϱz:6#u|hg~\\R{3'./Y4 qA=OtLvW9٪jfTfQ*$sh\eT%3±|#zvZXR(@3S(O&{z`H.[ǙA(YpR`Xrʣ~"nRpA'9!m"w׻{I MoCqO)_Vy֣$gw%u޹[_9j)P|KBoǵѯ1k;YϷ] AmyBy)Yi$i OqGʦ{2:B[myJ֢+Yټ?0F`ͅd/@9zh%{BnѺkp%DbB` o !WSohJpgcc ;u9]ڔwpĖu3*܁6cZWfE ɐ^Nk!,,DShLX WA7 `z`dje{gO+$m%v~Sy\.й=F6g`?u#AFW7ЧJF. 7́~J-?7y6gź oI8awh |+҄*bau#-4{VBSIB 0cԨJn&(d{>aD$_ՍTP{|FiUd1!mPB[C_z1Lgf4;mpJϢߣɶ/c0k[e#j¢>.[ڕkQim sPwS`BBemw::ƩSmqTvBM.P`Y /a2F̈Es-?ɟX߸iEyfm ,$m.U9̒,2O)^@&D1?Cߓ4CȗuMeG_X (hO窉&N _ڹj u,xt|iUф4[Pd]e=ϖbƠ^S>cS)mPHA~|qq=ey!4OvڝA[|^B(rM3&,>pΞx /~ ;@*yt>b_D@D][k+҇AӃGq!4 5*]vW,rѳ7ke-(,S\oЙÍ2^jPy4 .TRcbun8T7<0r)L ^L~RydO>p uXFFFFAC7V%x鲿A쁗L! _''PWIxȈ>(Kb:" ()ܹ2ضxBNOQ* ['h(6r'{+Fk< J}@4T y$Otvn3 Aw;5hѳw1#O\M2fj̷3KYq'(Kw4% Rfjt]}&L23Ҳi(nOhFTm$>*ϴ+/oVV~C_6ߐ,(Rʖjr|S=jG=]y@:l7B%C >`>S@ʈZ;tԸS}2e-5)a(y܍Xj$_cT sikG)ttx#y*mJ| FиOT[s: gԭN!9#$ߣtL2YHu i' ,%4ve-JYL2IdyHeW<Ҁ?$z`H%*`Y[CU` 5mU cD:{0R="{)@fDY4uTcO6) 'z󬹺94ʾU|}"]i!;pB閧56"'}z!0sxuFXQf)YVtLٍx`sxS݁oGaDi>m)ɪnktd;bTy'~c٤vMq* Ӑ.y"O|OKJ#d?'.aۥxh< {NVffa^+~yל;CDS'U`C?B(ǟH(ݎьPєj~ž8"bo]6I~6.Ž""![&q*~OۯPzDB#^OPZǘ%N@S9AsL#4:Ⱥgێ&. @h-L$%Q0{ELϑ &fXsV Ѭ5#j!g6ނ Ǥ{ϡxߛMR CW?;Yk5 –l\ÀW[]>b3ָui2A;S}CQa#'&A-&< VyuqHVaU6;9i$uNj,15h))by) ¾@j(IӼc(f't./1qZD(SgSx F 9wf3>le)qHӬ-I;AP1Y%*z Ȱ]%nlUn Au';\\4_x W(D"{ WRA|aCswA>=2nEN&u~5&Ij.咘BUU)jcW3%.''{+zS([QzGgڜrF Ƞ"JsH OyȂw0Ǻ顩 [G:s^y[, >ٸ[vTet6O@w,Z2{MD,F]{Z@9 e/JbVgh5уc V_sݜуcq<#mkaT Y;3BlK>S2Pl&EA9J:p*<E9!{F\Sk[D,ȫ"V9;$>C=[Gf ⍛;5#)L& :p( ?WVYj)2M۶S,,sa{L9j K KAtJ|+v$hޱa8Ke3bc#af\juhu)KA|0%. i,Hm@(1beZ;SY4kd;MI.O"k[[hP#Jvm?j*71hOMfk֒)OaK4 N:#Γ̟]t-51?ʿUSW/.}^خBL`CQfa.!&*˲[Af)J:Ew+.k؂gw:UJAWTш+Qw⁷S-ɹ{rl"TD}\MnDek1D>+FUzsx$*z9-P7&;fﳢ6 q:&Y 9>T% KΦ37J/D(/GMԙu9{vK&ӴH{)g(+!b0V1&'1!'I[7 .C=XIVFlƝ#+z+SFTP5&Í/$vkᔑv񆙡;d'Ӱb> ?:'JC/NΥuЩ8Vk6+Ķ%yjV7Uv!7[i|M+ݎ@Q ‚{ A?:;-EB3Bwǀ?~Ⱦ:?ҥgZK im7Z{e!$O|LܳGctܞbØJ%A=e:Pc*?M4 !Q64l4ΐkQ7ͥ<^*M~ s/uBd^/7 WVիG]K*InFNYvO?zMXiߞC9 0?P}a{AY`h6p[~ i+,Snzk. M(_ߵYMҀߣ}L_*\5Ne/Gŀ'Y0as6r;- q &>zR]]&Drc7a0V9Йy\* ѕ. Ȱ<(F_ @g Ut#v%av?lERE)YzOW.hDǹZ9$|}UEyZ oߜ} yS[Fin=s=\aH"îvG %~d{а5XX)jZ2x޽-5GjYun6,+EA`4,T ƒ&_P!VcFSxޥ?H-UlPdoeDrh(_U/IJa?7VԌkɚFI0aGG|EOw}`/dY Ш+vTۅEyLh10o'R[ 5ay=f:td N.Q3FNO,^dQLuƈ/{#HycfBV$#teOP C͠w2f8JnuŦ5NCه mYk9met"ʆC%FWnD~JYr\} ӐϋL7Z?i҆I Z>="G/g$b;OG4']s!,yҟ :R){mSco>q\_JidDZNB(5c񒰚%fI%]1⭋ j &,]hu_QB&,nW .=jܫGcz grA/L.'ž}ʼn|Q>U*êW>n9ry|Jv}8J8aHHt(Ң^:J= MN-Iz D(KIT/x[rNֲo7U@a@S乥B͜7 0`r/j-cdℨx#h1JBll-m [l& iN0`.[ذ}FG_J}`^D u}bzLZ^G|_9S#2 M3&Z( PaiE*c]ۄ&IJh%cz>?kkѻ"o<O\ dG)derYN1|UЦ`0癳 (ɲEOV2ꁵ̊<;v)o+7!aZWK~L"BG}*w3t̻Zl#ئDsHKzvZ$ Q9iyВEXV8yS-sfޔ22JXC-D:cd%jBM1.INT|QZ_Ohbl5wx=h`H/';5X"wgam%IIlvrǛ@Zٜ! Hl 'u{iD ?SeDm唁Ke&*C8y+`,7!cAsב M.12WUukj"6 g{z):NKX@:?xb:(eW\kbP3touSVj Yqu hT0^. ?9<;\i@/٣x"(2'8{mqwW}W4]rLܩ ۝ʕ5ncf~O;ⶔD/9%Rk]4tYK7R1wY'2|q3F5W{0_Hw4 qdT4mqz[ʒUz| (׵G T34dS]Q 9}2R!dI) O(mlmD&} .t,R2Z-8bQx!  0cպԄ(9E 8%!ѨԭGVo*XרT1Oqe>RPY@-JV{IrfLi$dY8Χ ە)Uγ@JVY-8ZFМ׽]5ARF[X2.9Qmc"b ?_ .X/v 6N7af+4!*XVl׀tTR\udvRZ ҫ`, WfW2g˵ ғTNw/, ƲAX"jO?+A9ʲ}Ǎ֠ª;}E4ODC=`U^UΈ{=$.{&+|j)TO?~_7jI| md {"@q&ȟݪ)6w)am'aH&z,-p^?nb-bf}A5XidL[g hZoR>ʼY~Eo8Sl>Ҿ d;Q$ ##n5<,\B%INO {rsN>@ bpSE_ib#GqC88+Y! ĩ%耪)ܕI'Hoh]^PHQu4MY=8*zmgBY!}?Pjdhv*9-Ő_(sF"eUBN=`{vKָh!yBx*ڭSҢO-L55a|Ȼ@T^8]1x 2Ke1еYBHm'sexq઻#-YDwTĥ%hY Cc6E]kD0i &Ɓ/T͞:vjHL#ȸg_r؋Am&AwІ2q,Bb_mscX f߭W9u%oL?]J:Ls&(2hPI1&_)&jQ<ܹ1x0 Lh9lPWmO >\OT\,Ay"JJ-ݽ:/^Ն'_늒ܼ >i2A[YQ+d2cB @x.nU5[A_dDZ.ˎ<љ9A|$kShʦ"K\v#^ZBE4A>ĵܰ~&!!̨M5VYB@OBAϪ%DVִd 6 P|Q{aQo|Zt8{k.M[[16+dtƉ]=%Z*1 0ʥ ]0K< L cK>.; ^Z#rtw[drq;jAeǴ ζ _ʴ%G XN/EC&C][܊(ƂmļL3p1%2}Xhݜgdkcn\">P_BEtmӀ]"(2rW3ȵrOhb,| Mꡆ-$..I5 ._$*_ߎ#άٖu^WzcRgC,B_r^: c2Ě]>hox^q7{2`n#Vbu"K'MWn61 .b_̧hԅf`-٘JMmBCkHLOU/}R] %^ 3``Na_B GwC Xsɼ=ڽ%HUD C9 ѶX팩{[we}}KaPM-*UIѳwgBpzU;;2Y7_4jΖ!_sw{?2e~M(VI.Ɂ S ۻj f (euTTi.nS^ c]hY0S7Y`~бIa4,{|Auv}}ng 0RVn t''UCXU $)['ET1 |ҟOMYIn;CfW4 a |KD5ZϓoY )ssB(>k|x!:W SWn=fgYo˅5FC- LX!8_GfXa둿4 >o2LZhs"$gmR+Ēkͤv98kbelwix"9/{M,?s@7'YШ`{oٻώvnV.gai`j%##Shѩq"[kQLm˿K_K@\8[(εWX(. SNd=u v$ :tcjI9p җTWIzh)M`Ivy2e,oqB]mH Uк%!O6/B,>\E nF|<>' ڛP$CS3* LkǑ:Q4d$?-GO෠>$0'+JK\_ؔJ)_$cgLBJ1܊n1ƦpѾ̈́^aСQ{hZʾ7k)T(`*hvĻޔ ăK-J5̶ozgˇ `6ǣ)]U/ (hYyci,G=dJj.[8Mk g{lU\*&ōBb;_)(I<)&i\ [h[LޮTh~@%px [k%BwƟAǞxq 1c6&tB1.tY@8~0Q@~ 3_&2tpT`?1g(8 1Gġ('fڌ1sV_hw^Jw;RXׅQWt|ωO-|d38A.JH*7PS'4Lԁ˛޵%ê-j8*O Ґ15oKPW-,ܩ xk `ǐP/3+Ļ܇i类a=f3*`|_0$r훤 k68iڨXq(> zb4<48& UN8 FMGRg.W凲q"N,WڹHӑ16cickhe?`^/2pOx m4UUo",<2)hJ#7\w{/iEG,WCu..4GdޟU'#5*I^L7~,ƭzY1aDTNI'`CbyWR#Bd6ogl b&- Qڨ|:T6y9^yqZ~{P(n {TE04ؼ*?KUr+FiJz_fE ; U_?9Z"^1-%mx'|t 9 \;E(?]ReHgYؘ++X(ʙ5 *e05t˫=+Y~~ w{]IփWU3dgo (Ѻ9"Vkƈvޣ>EyuL_iadM[w>V_+`ff2"D,%`^P K*/d Ш:4QEa[G{//69a#򿱓AFwO3(RJЭq4$ztCT<'s*BkMq]j!ɇw^A9Ζ vi2{0̭Ea] ryPc{JE~.n32ʤᔡdܗB6Oer .\XڙioBh YX#W%2M,:[Ts)$ϖl0T`wF;q٬ "My:>d;NÅQaҦt]9pa&ߦ9$@v%UFURN ֒'=Q_? I [Ǐ<9kڥаRI>qݟL̃U7))Ln wjj2]i܍G #nQ&z먌#o]& 7Heqzcy@ifߗ'е s(N޾F$z`UQ[RXc7TH7&_^A6EثӠ)~yq;~fهmnzVk+f`œ^Մ@؀r{3W3SWƻ0OCU&ܠ:.\ӴbkQ@xp+N4J$ :'6m*:b{n4C* ش%$XM! Ћ1 TǼLV 0Ƒc˃G|$SBtAE=9 eM>oHh;4 V |%f[sN{@2 R#X_ 14 S,x`c)pkvMzoLm8}N8%RHNnfy8U `SY$NMS"*TiqhlhuVg\Ul]G(pFޞ2' L3֗7kN/z.ج_c gcz(R"^'M\2mre /JޓOAٍ;Bg~WG6=ȣ| +T:8?\b937;Kv7nϬD/f8Sƃ&u$DgeRZRW_سauknͼ bSsYǙwd;'3c'2-TfۨF:sQ@X`+I2Q}Ăeؘ-y{'Qu9[܈*L_g™!+v7NXǂ?/*gn9` r"&}E>s1/RI3DžQZӫ"IK"i 2$lBW ZO438#É%6r'Rh |IWiS^h{\޸+ᗓ:e_'Etg{il#@XCm_g5% @k~o l4YUGgٱPـyTTfG5؍E,W̥c̖)%[Ɏ>Sq>" Ɠ-6.Vr^ϗNr@8K)o5/a:k{@=䗐`MFz+Y^$YZbL+{3n/D{"ÂcDЩasː. @L[(4 ⦫F#iY'9ha)/-Fe^πө>:^Ѷݣha`Rl/D,lmp~vgg)ibQOBl'u`8^H B}ޒ= Ϥ.;-QP ncp/lCJ쌲)G׏ۆ/yu8IOU|{ ]|]nPFKn{ۋ-%dA(Z.O썑u#yH5a\̢(ye7V(c¦%*[ d*$&\/n3.i(*,rUҜSJ8퐝$Zr9S8R~RFlY!&#~,W:BH_o{Egѱmlx 񁊈mEs) b(j/O8H 5vl&%a' ޛJSuK cx"9'qV:%o|T9R0C ǒ{Joy< :yИ.tC- ?`1]vbaG0~y4Bf?ut/7-nPCҙUZ𫼻KcL\?u|i` /Jp꟪( i=3r{)2M75K܎d A-\Lq0r1*z>d'[ͰUWȡ属)̶]zCػ.زPtvƧM*!%=ћedzI #,_֚R'4zؓ*9J͝(JMgwGN>(Lv}3/Z/ Od\Yu;K/YkG E!{ʸm]$@jݥHy_@g7sx~ xʜX1|\wfl~摁[pI`NaccKB ?(]3+ڀli+QR0(Vp!Xy9ȴ8US-o0FKHtM"yCŒ -hyYpx4Zb'c(`TŴ7`9Әl+Br E&@l۔,hW}WB2UD;W!52Use0eu?W3TxGAv4F⫫Wӌ|EQ)M}/qqvUI?O&vK;*͙^$x }`c, ꑶ*93-8b*,'Fj&˗@/L @.2>c%`QQcpG %ՆwT3\ۯR@qĦ˦ DVxdU oIv"~mGjb`{?Ԩ?Ԫ pajbD*5O .cL0ZQ%:KgN7 ",aPVh 71<",pW1?6¸Y'sKsT+h2)p;4fкnBv݊~X$' uzzi8a&ĝYOai"e :V=`X֢NE!!W ǘr1l30_[nBqCᒴ<q6 ,uRf៽ia(6=Z.}]o$_%̈ԦV؅֕R)D Wh(워oߪq5\aāC|F׾=P}#V!Vn9H 6KyYTdNCpp'9;+r@[5gՏsqHâ ңY9p~8++0먹PV臉%`L ܌ԢR *Ԟp^.\8WR2ΙV2dlR͓r1^7ЗJu Lgz8 ɊIBKs`#=QcdD6E!z#eKbxhfăREt6rXn$rP>M7ϰsI; R lJQx =C + ^-MI*G'-ck9 ; /~\y+`j&jA!{ mWhM9AUK n|=d~PJТ9%'] @yϑ?ᵣ@)PlÜ\ RoHHC1,Noq؈MiTh(4#@\Q@xYJlq2fފ`ưYM3{`x&&%V}3W%jF7M}0G,]td%ݖ9RꐎUWqQ0JP ;2S2|ѳ7R ړ@?:T@ {vՅr57` i^C ˓^A):](S$B:-NAzKOF l>5>ԳW6OÀ~AbB}k),GOF#PF' 3VA).:6rUE˒#}{ξAq`YwHtoiN &QWƿ$;t3B5ch6.ƿ4)ءܜDl{ \yq3V&,K0۽(?6q@؞E¾ ϭDн\"X&Nޖ-z{7G|xEӦ X* \bf "*t3){_i{9. Ay07O;P2ZP˶Zjt7Y[7%W_0m̝"S;QGSjTFY0@8! DMe?ģ܍j6ߣ1%6RUp]xơfZ] ˚(9]u8$#2~jgupغ->lcwrJqJ8 :Ok0Ӕ_ l9t0^o\P0;~f ]'j/mTUlp!ӲCI˞hrOwkN Ʈ7~l{Bk ҬpK׿Cm3MM5aGJy a^ty1o]]a!["Wpt[݂\ S]10fZe&vEƕ_Ro3zpμ2]9B'u;> ޑnSbPUN!@Ry>~餋MJ)X{:9N1TCbPFCy"* Noߖ!Ɠ2ql WpW@.w}F~܉4يڸOvõm rzT?5uIHשc41ӚބkA>^Z95,S}Y\<ȣ *W XPۄ<-KjȤhڬv1qT*÷ɕ[QilmM1IG{ Aܩ&;0I֠fbk(T(ɨ눍B*O7SX߆#:w a" $jC"O;Ȉ7%w-(j7γ_Kڋ va .;e_A )K:~sLU1o}j1$_.pV9<ۀYKh +Ǵ hz?W}MO 2γ\("P-ވ@ L¿ y'ǝB]!f)åNcm㱑sS!QDR"wCOCgqJ[7Gd= ;cy[3i XSX{5/8LHS|ӖfLRe_C]3҉&LV'n=ƛ^0\k5+Νvi[/j 6g'd"X rZ@)6e7\iÑg!ՑZZԝVE`|+([Jj'ʅ\8]=|(a'So8ZHs犯@M8 8Y-݅D7Lu7Q}|$Ņϯtf"Zj 2iQn/asX\~(GT5읁R+'r_H,N9ő=vFQ94עwD.B*f{q8v?"ErT1;Y[LSezl1i'-u(u#YZ1\g=kOB_TAZj egJz8p~ Me{w lmrG!"A=M;Vv@B2_XI&#>j{@1Ӓ$*4Gy[.;R[ei &@tm#˔s/+B](X\p?\:Rm,«)T/`Un`qʋ`[UUY=w-)Q8iIA(gx ?A(i^E :zQ OWa;~n\BpڅCwb.b'2 hnP"֬$;j,x > $km dxGL^9aٍXҕi(ZZYSʚC/7\c.6W3VEieCu9lK߹%L}m@ї2t`h|̼%^#<1?*LH)1(ׁWSe ptfOQiF4^Ԥ*sFFh}Y&[Ժ5fEyg!d؟](E|eA6Cܷ"s4#4s:ٜnAJߥޙE4ӱ8nfw)"N=jSIEEBca>Mn agɌ~^|!Tȼg~+8s-z y#I'L.v'yxݏq ήW.6ل># Fx=3L@V"`>kB*z5Zp%=d8b@vTA徥NsM*v]2yCϳq`|ku#Y=QE+sܩ7jJ2'!=H-e[A&clT/+ɥ̇.)z\=d8IԌaAdZ%-Y ƔTƔ5!t`;վ猓 ?i;iG fD{C@c +jE"ssI OBɲ^݀SvߺSZRSy,_v$ AY.NMyVh\/cVKf<7)J" t$"ձ[< @ 0uxtQ!+ӥ/#-zi=`:]֌-% p'Ŧ֯,G 7Wi|~Ȝj "u |eDLXBړ#:cH<]Iw`h Y#anKP5Z-$2K`׼, ,DЕeMKT7.G qʧGzaoc8[xڃ0 EωmH7.3'HRŜhԀe#۳^I߹)U~# X S7Xt6FikfbqTATRP+WXoѢO rѼ +-ba~ D:%ۻt"2[}lov rAbR41NKW۱% O!+``Wa÷bk?U4V-PP/ZcժCOpo1u-qˀI{E n̾R{]mʢiy+;pVںv%ˣ{WtGmG aF'1;&q*V?1 ćWiqGV/ A[_n)p\!p1]dpS`F)#6,}i{Mf6|ѡ Ã[jAx剘Sy@*E\VX8Lag5҅7/:!i±ww19 %JbzKe@oe: 2zTci_r?ٻhܾw $?<=}pg^S!sWF ZUe D< <[׳*Q,fFbh9:lyƼ3\#A`3U Qr!(NR-RR!I -=A@qfPJ_ccpFݑh|'`|& V\J%+s~tUDZ7u]USTo'y(_$B:zstw RH|9) a- !yf F c\N4NA.T-%܊?C߷:P#EĞ7鎫D_G*tcBkvFQ8rtڍ w١ҧdR> BsU\);Lw`8)# Z*O',4O(SAMg0mb.I#x5$c#^Ri1+5H7|yMSP21XAGkKHKH'|tDE _Bx|C*󣺰sV*Hh&zJ=gtcÐ\w i-7C=v8'Hzz0-։.ދԴ=^OOcj1O^rAq@f򎋷n+wX)o"Izإ 8|/O1_ǽcؠ6ӅA/Y^D$a )nge,}m#?s…xp`k㞏O_~PFSR*]V/-HiKE%X7ֱ]열EI4' r5eM[+Ox̓Re6,+@k^a_0ͽc291 QLS }wرyą)#6׉dwѼH+v 2iSԒ-$(΁q SSvp 9a&~R5yPp8>Dؔp3r ~gOu YKe9d_AT ]<ٔ;gUj>`0UVu%2_0ܻ7"BDs@rh!͈1P7eV[N뤝o1}OJ4EҼt@gpʥuMomsn}Twya<|J$4WXrnTÌ]]U$ E30z?&=nHl/Vg.S!ZFJ}*9 PuF*O7ܽxH#&S*?ᱤRת D]d)E yk: h%Ud$54"`Z$(I#a!JÝLL*>;jcvq#_bjȷfb,|8. $eϲ~ؠbD8X)Ecq72җ9@& k'<.y3ta&X?=g7h7doΧinKF)nuZGO~>%C(B[3u NψAfa% `s=" L1cjjka7,X"]yƊ%O6դ!FQ0Q3<%]ලtZpux_4]YMsDz vg.3cFY %}-qOjEdpc9W}D:e휀F !4:Za:Oո h%tsTOFK$O Dg5<ӕ5ul~_Qq) JvGPmh-囱I,7-yZڃ~û /9]de=u2#rӏm+&}ʱ"ܩ2+(DU+K„s :a2nZ?E^% q\Hgk Kˢ'XQ){eu+p_I'ȟ(LhZ0I1Fa*yCmxݠq"}~w_ 5ON%<|04zbri1& H'R :X_p0-qCקS4PCnI0ҁ6_V.rIC#m!j CK1 o{uHA#Ϊ/Dآ\% g݁!̷cf-]y\/2ƽpJ,}Ȩ!,{7Kp*&,q(I&6(pF^4=4dsKn{e ͍ײȬZ1e)F뵎1tJ 5\FE?oo?Lu:6=pWg0vrEgyOd x2'HW~F|G6Ӯ,e;AS@Unr] iUe:& x,UW&l}|, 5 sP"H"G>A>S@H, *J} ZEmcCYZ|UF߄Y|EpZFD#2 ~ BC'Dl5q&j\ȼed5N^|Ei:CHx,.@,b(-"Ә^e~O,lJ"5'Qq"nwZ;}-xM`py7/ɕ7n P7}P@ڵq'>64=]^Ch4bΘhfT%[Z̉t*jn*+RyXzj>g Z)',Lry:r y|} p:2DJք0D^^uEu@u[J4ЊQp5;·P|K:wBNҚ W4[\dB?]}VCx)v@A){杮jC<6@$? (4S ✚%Ը'cmnIMYŚg1[ilZ-T*cѧ(6ivs9齺\I8 4.:cF (u{'Kn=NHgeS'!$m$~3ͿW/%Lӆ< Ûpge ԝ>f1ZmqKΑ1Ug@qn3E_8s=v&J'Nb^82:(LMwdjnud}伢j$ 2t=.r+JvC=sOl3Lީ˜tBFle8 [oLTj;Y춣ţd.'^fT.oSsw`=p,v@/?IݟJ螔T)Ȇ?k" `膝b,qR-M4/ J8ѡ-*I%`s 4`eɴc(@lm0T)cԤ!̖шs_,椺r~ZW+tj 2<¨)$4Bnoʲ(\`z8z7D̮C.$r8Iǿy4 3v ^G;n񧕵o*(6dm |A}=S銠VDd~xL3dA%j m =7-~Msu`>J7̩!B wQROTf'Yuf99`>@6؊[ &~&]K8?D _i[`II=J;Hه d8IR=Lr* |{Zdq@X:g!i>zk}Y;9FP~Mn2 wi|\tP9f]\̋WgW%^t-v0- $Kl M#NM6LicqؔdĎfvLR# 5)Z`bLM?,TSf#* c(SVC-w9f0С)rx,m;'ahpD594wJZ >/%AR8Fy|s [9x}*NBL*rT 7@pltW3]@Mynh`4Fk#8Lɨj{SbxOor&>- 4LӲ^QM0.FCitrIxQB׎hG&2%8(X)Ufrۼg%czCA/n 0|ܙRuHH K#ƴ%g|ePq@SUKQKU"FZ&HܑypY% eO` Rw @PN>QG1LP~냚Z4'&{a84؝udaR{_- A 6JQGJ6Pf9Yk=~w)I2nS/\"Sn7,g&C[;?.fhgTE̍s9= BM&x IXN}q !J͗y`4LʧNb; {rHԤ%>(sQ䣬ReU;e}bC1PD2.P4nzC|^YodEE=@n\EG6\soYAIv"+()Q+7e;nfTإc 8x5XOʣM[B^nяu_"~kP9x-3 #ke>soHkdTxkBG7GGu2WEɹbƭpJ*y||治pCD>zxݗ 7yGWԚ\G}1Pe*>_~6v⬆&Zk>mɸ cQ~މ j*g c/=s9λ4eY]qݑ[U%y<M)W1UCcIQvcF='JD#O?Pͬ`FpБ&9ǘN8PAZ\塗[ T~q6 tgr8i7u@A%g]KZth;SnSwPQf~Keq@r!V.j9.,#2s!I4&Ӄ;|T<[ O47l!Zy?nww=?'-+QrkH5p̸a+,h*د$ˀJ6"J=zٰIW(E3 :%VmBwlO y- ]yr#rz4o&rn])oAu܋d%~wURR?[u|3-cC8h=֬%x8MԌo%9R>`( .gU^t5,JLS5ݖLȏ4'~Fj$@| @a(R.^>F# ܃8XI Uqq'INIhGN:o-I13!tDv qv+u'-ai$w(Py,W4$\Z0z~z H֎Ӊ=KNr'HWf/zSϧ M TpHm E}#7bT-wrH717)ףOM]Ŵj9@RR~ĉȶ\RkVOE:,1?_r_a4|lw|C,v2~f`ק\LMXȵL8'gl+Ws}l. Li[u=F&3 u/*W|,j P`|VG,,l`u?ɘ4 3h& :_^Z\=ďi>:u M~wj櫊eXK|zU񎟀{]`i|뛾Dxip (Rd-2Ucm>>]2 NVް`㜨0=`:mZ/i3BPḻ:/LmM c ɐf>oV[BTϮN27%&;ZM. j'lRc1z2L4BƢ8na@ FIk#]>𥽻B>yޡtl%/f$ژoJFl,EaIufGUԌ!vr;4n_G / %:T]UP[iXj-@8+KN9@bmyfy~ڳt.u|%!UlNC]CxdYe.v+OVK$e,Ng2n"I@:L€ ""CQ^咞%2[lNyۖ)3aa,K|E(N`@IP)3S^Y 0ɖ_dZP A[x!O ~C=ǥ>5'ڌ5&kyxI ]™㽧l]Ql1%3He HZS ဤ6$*a>9"$d!+D:B6LYWpddlCڊrn:5>:}#?Eܠ /+IcgU>ʜfA@@CB~؜ 8Af$=y֐in/\*W0]s![¾OܹpEߐOM㘠[@[$tZfVe=Ic%d^9Fb*]JTǕ{@#@yбDãL p,wQud(xUq-غqv. U57 BG=tpdޣ]n4ާQ𳠫 7;]niܔ͉zϾofLMEEƴI qM,u⨜>)9s?l?.Ѧilq6hm.lMD0 40F=vGaΘ5䍴w^0NR8UZ4vm(';'s' #"p/ڶM-xt1Ǻ*rޤ L15LE.Ot~(m@ g]f@ c֘ N(B9'kg)24{*E3`amdøZ|ܔuN!MWһkEeuA.")*q# .!IZi[*Cjd% c)mw:iHužMv7 `1ņ~qПɨR0!HaK:-tPC %7J=—%UIVɜmck#GH¼$c>qݴBT'b4!3o`8Nn0Y?8SŴ5!tN3!u4K!XUD" ҙ [ЧE7 dM^ѽ ,Ӹ##zF|Z'P!|}i]uzuLMĘ#m){?W!2͓WUa$I}ԳBg|:1]>R6o3/65uݑyuTGfg< 2WޛRn ǰ ^T{FK pd\FHU1WJX}:uktÚPtb|J@,&sd߻)JCsF@f wIG|+Km~Lᣵr_ey?ށfPuv ֿ?,\u$;˗rBfSvMQ"/_xas`y9nۥJe!Qݜ+uaԊz$T;!2(BJn"<Ԇ_*i)D ֪+mޤWC׹?` Ւ&t$Tu.ӳґ^{6m: Nrʯ߹YdB^fSA"ʛVaID+^TYxhBxloZ`RE^WVg{RC:dV1Hm(*r{ީ^Iy\6gA۔Vo&0η~^[Z R'f-)=l',+*lT#&^N>:ZfKw^HP3Td/bJU_mFW"6g4IpA*YZ_ o6K674Spq/>ǒrX9Ö1^A~֔Б6Ta/c:SQDy;FKOԿv!!k^.-FB`-!z++ X R#P7 YB.S9`:Iȼ."jQبOzv%6s«& ^Gworrt7 ȌP:fBFXn '(*,}Q+#1q[o$ºع$UvKKb𡋦G%gTk6dZ1GWy'wd RO͞FDh|R9ZݕM(>-#[X&*3:qR? `Owuk|lYyhl~U:e0z_OM%y[hkaΚQ7KXrsLTT"|ѯ'+}\MF`VZ͒W0 7p+RR:K7dT1̀p#\xBmPd[8 R3C^ݮVȉ,:$~ah?5Y j/?sbDDq=|G%[^GVa@03K=W+r%TW$XNZ:2iꗧ^KYd]D!">XЋ%dzhaIQ޳~&pzC:HXjI=T.N1CנIp<}hBy0)4%sȥt܁XW-=p~&7*].˜:ȱi+;=+wzKAl'<xy9|Jstd9_ :+^˼_ eFU~\s,.阶Z´PDc!}5rX!>8 8nP9+t ]C,,iMH%\VD`ksyHnbfVߙW^6![l+k ۶n ?*.9}UM q[cb 1HP aG9)*oAŖgr_C~0nlYkt糶 V 5X|2A1Mrôs2Oc#Sx^YP$QyH;<:FP}2"k(Ƥz}uPU4 ꋕvHvU7% /Y\AmOt7H\尭dTHap.;RW4q^"lίؠbԪUBP\Du>;&LY`(@;Wvp7gTZd3!u B+7ώdž$$hb 䬩F 7ʩa&deѵ_ <2W. |h΂Q5-ՉG0V/s, Η{!~l1wЎDDrs g|ee(,@*|wL^KXqI-hFaь{Mھb/+R>)m12?G՚c*'1 H@xپ[^9w0qKZ@x(Jv/r0 uOX~Æs.#B7BpzSrr;;ٵ!EOPm 0MxscmRֳd)ۉ!tT q`6T[T a.|~xJe6gA G bT>DRI3z?uX6ijÙVDu^{xxs|, ШN(R]Zm(bH0%~os묔 Gy 8-Ʋ\Z/[uK$scd ?9Wn ńTyY RLzXV_/[S.iVvnJgC%i7w*+OLb9MTv5+W PJj霉𶌍YLneoNB΁ )M@˰| hSܐ*3˙̶ٛ=N:FgMr\Kf0Nꮔ"0o> ͇;e ewv#Z5WR4DPD,ht{mS Z KmW <|Ym >UĽS+҅9ʼ#3*JnMyny[KB/H7  ;/b| ]Mv-LҔvCI`oΓljG1Z49j+neq,Ŋ$~AxwXTXku4=5j`*DfohQ]:% Dm=ksnektF%|KLS+K)!e7 =@v΃JYTe't :G.ܱv!\y)HuR2r(Nj5_Q@B\,'w]41{BM$gI!ojƾY4v"OP m4~jH:Ⳉ^O5@'?Z&T;g/a+į"괆|"-L Ŗ5{w*2",3ߩ}߷\yc8V"`XV<^r0(ϯ'U6(~,3 9Z\ v?[H}ZDԿaLw,B,V?m"0S9Z"L*i{P2[@ĭ0}E^ a u$U9۪UiCqӃ9 -*"^R31%=(D bhQMi5H鋺ǯQAd*g:?,oFq B|* :j*KfepIEZzF l5'3?o'S`dfj.UM g3A,j9X.{pboZ.!4Ε;Z!߯3q#gDU"aqw.ydj>VXO[X'=RGz+@#*PorɛZۨBS#1 eHvo~r|5 -dhi7);Ga[|}Y-όPey>~S[7`}7IX6V"°%FQD~&>H|r,ͯN?aɌcBhl͛59+.&,l΢|/+c&MH%u>taҪ,-{SLf=S= 9AYO&cGP‘hLʼnaGmU:gDRQLK /ʏrl ֌lo~G} ,%4qg0[N*S8oM`a驐!28nplЭ|yOP87QCcU9{ܳ4*V)MZ rGDkpTm*/hPZ2UΚW#̰]pxj_X J(EQ ;Nl{cA+Tfq/jTIeB>b3#[Ghϖ.*D\>̦r!9Qu tnPt50e6 !X4='"7' 쿦kGc'4NK*DLl|a;l欦iCجDlE3n{ 3^s'*Mz2b";ۿǜk j iIThqZfC"h*uL'nqtJp_稏^]\ C@RI M0QƟ~ɍ$ ;K ?nC^H /Lgi@vnk#˟ MSi.D;^ɱ.Y6xאBa|SCn}̬5nݿEvPbkН7؜~=ÁYşʺ$'C:24B.P]\dGĠ/5)?Ɏt6|[\-O₧uK|.OrU^4{!ߋڅQ(oN*~5mp\k@3w^Hop c:pw.fF=Y|\_q> x7QF"_p(F\1_/"qÊ+ :lZT}6"Oui=g?1:˝#Lm 1{q;Tbi}{guɶW`(uC3\Jƺ~Kǐc>Gɝ,zZ /'W Z +}t!9*w`w%2#6^&GƆ5ƷXWj> Jmɽԅ^o JrX~8:crq! Kח#*u@W])rvǺMl/-vd~xӑ9TQ7`\E-!\ %'eg`5?Hݯ.lڙJ%Dk8wU5dfG]Ղz= t赢 fpi{݆ZԒd؋3){Nc_̶v}SDXp bUF2нj̯r |p9w߁Art ژ\o2Vք=2t,ux״oqx}t1)D @38IϦWSy30)%_LꑓO}m9E_Ȅ'V\KkAxESƠ@1Lz؝g }cwӗ-cȷf)"KgrJ6(Ƙz &KR_+u{]cz!BKa8 ߺ7?*Rk7Vш$mf9:8?ƴ`]:`WC;ݘ1oSeʩV#;R@@kskݙ8ͤAҳ"Q9ǟ`Q$ou]:Hlvh-o6t?ub&AFYW`4rx=^niL J"y R#;~FՇa~x3_\/UArjrpW=|3 첈YEi田zOխg 8)5Zy.蘧PU;07ʴ.(/S%3m LL}8ٶ2tzf' W^ڹDՓ݂t} 4HYzyڎ1e“yIG^;V6C^xyDys㺙8GgA[Y[ ޲%Ө2P>Ȋ_9E.Tc,~bpuݓtAfj\w> >)q *<ݔqy9Ʈ/ !u#u쇡Ftg(32 lkN=ɥC pi8%AyO e\4 qEHMroӃG!.(g(>oB 2 ]h3 s!\ jj!DEKְeJب`}ֵXuO~H}\$k T6V(1z3@B8MW;ysJ,_ʀ'Ӽ|' rG!оy)}gZ'QLTS@惻D6:fR34/hQmMz0KyK2B_p2 ob[\>Fk=٢ybƈØ !Sv x=qiUaB4ü)R"P렣T#l nse #'Ԟ1͈ ?xn:r%kApü BK<a(֜G|!"fd -V甑#H#w `IShsإvq1ˮTJM/r YZ