rpminspect-1.12.1-1.el7> 6 6`d63!}|J^>j/5,de(@ j/5,dd6$5CbPBjV1Ǵ`{IP19RGx7oIV)\{n9 ,*̈́*6YttDUW/WT+G5ΔjF Dh/Lܵ7ȫl);d͙/kn:RxŖ_ZG=0x^,.︽2`lS5EJO1#Z@9yBL&\H/kc YI'6vz!M}&Vu𙒅Jꕘ,asysL5 WxDf?fyyx `U٨gBϺ BzK NQtxTZʟ_J1oWgN7i,*Bt1X߰*μ̕<ܿ͢R,;f[jG!"~-WʅZ9H{0eۆCUwH_afe050cd83b3f5fad57e2331b216261b08284300։3!}|J^>j/5,de(@ j/5,dje;-͌Rh^^; me; &FHShG 2FdF8,Fފzv̆`QV.KH 􀺬7T nNi2,]^)~Rt)=r%ԡ{hW5x fcMr*Svr'%5$StlLC#a:D >Q^'PP71P^Zu֖5tE QH'Ri pK.ػc ]D謅{R^j7fp$KƸ`I!BAs? V%+ɳGs t,PwӕDe oXsE$?Lt烛d[W ['kcMSgڧ҇ZGzcocT|{k{,o; H1E~ >bE 4z8poutGIW{!nKxFĺTb>:?d   GDHtx/ >Py            < n   4 4 (c8l9: G H I$ X0Y8\T ]| ^bݨdKePfSlUtp uޘ vw x8 y`x|Crpminspect1.12.11.el7Build deviation analysis and compliance toolBuild deviation and compliance tool. This program runs a number of tests against one or two builds of source RPM files. The built artifacts are inspected and compared to report changes and validate policy compliance against the defined parameters.e(:buildvm-ppc64le-02.iad2.fedoraproject.org9Fedora 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/rpminspectlinuxppc64le@BoyPSMӜ^A큤A큤e(:e(:e(,e(,e(,e(,e(:e(,e(:e(,7fe08e25dea03fd667adc8052d436aac50262d5760f654d4ea12fd1ac02edc6f3961a81fceb03eebad1c94a0c7e5549cb0e5efabf3db659a88a653893d43d399a0375b4db351a3381dae2641ffecd8d006bb6fd07e1be47ab52f180d8276ad29284cce1ea34a12ec5ace2dd2aa168fb90f6a46f70bb33a8ddc3f883cf52b48de7fbfd40bc99e9b35856dcde02f75db88e1332e6e309126c45c3c8fbef4710fe23972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb369861c870234259a01b13a2f3c8ece6bcb952bec6fb316c1016b72a6be2f6cf8abb0751f4abde88f86d8e158f189782d916f561a6fa662956b0ff7f9780a6b515419rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.12.1-1.el7.src.rpmrpminspectrpminspect(ppc-64)@@@@@   @ libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)librpm.so.3()(64bit)librpminspect(ppc-64)librpminspect.so.0()(64bit)librpmio.so.3()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)rpmlib(PayloadIsXz)1.12.1-1.el73.0.4-14.6.0-14.0-15.2-14.11.3e'e'd@bb\@aW@a@a0`@`\{@`7@`7@`U_@_@_@_@_[fDavid Cantrell - 1.12.1-1David Cantrell - 1.12-1David Cantrell - 1.11-1David 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.12.1- Upgrade to rpminspect-1.12- Upgrade to rpminspect-1.11- 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.12.1-1.el71.12.1-1.el7rpminspectrpminspect-1.12.1AUTHORS.mdCHANGES.mdREADME.mdTODOrpminspect-1.12.1COPYINGrpminspect.morpminspect.1.gz/usr/bin//usr/share/doc//usr/share/doc/rpminspect-1.12.1//usr/share/licenses//usr/share/licenses/rpminspect-1.12.1//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 -mcpu=power8 -mtune=power8cpioxz2ppc64le-redhat-linux-gnuELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=88a8635a6702c0a7d72bbec7fc730a522f06591d, strippeddirectoryUTF-8 Unicode textASCII texttroff or preprocessor input, ASCII text (gzip compressed data, from Unix, max compression)RRRRRR https://bugz.fedoraproject.org/rpminspect?`7zXZ !#,7I] b2u y-iSqlmzxM*k-Ђo)^(r-w6usap8wɞ{q6Z QI#Kp825 <3( 4| (zcH'G Y˚Ň|W34OpG#RuR3 .ZtWFFjBM3Qi*c<̀e(cvKȤ* ʀLކL/l!GcW)$$ە^Touw:!Ԑq/H-N԰^/ې8U9քEd&j`4$0oA8EMK70ORYSŤlm(+sfv=Pr0)R!C5{3'Jc.# + ~lfZ]%Ǝ=>[ұoR4{P5h㒒' )J3c wR[ א?- D\O꽥f* ls~xx?݆v& L]]Zi*os۬Jxb4^oy.v$J; Fh?Vaν>1*҆֡%30d7ӇI/ ɋ!HOg}<!e^) ݙ \J]4.aƙ𓕰Gc7N|ݔѹq.TC(}2Uڅf:^H@;\Ko Qsov.8^l*Q5NJ֜X&5-s%1_Oߍ_\,H>׷X 0%oI1wxBb[i\O_b/0 cmzgKgsȒf,bLigk6wu4Kܠ/90O8'"6-Ii@.T˻u:y׀'+:">ո#"idMΩ[?-J<zf!cb0Qc5+kN#%F ]@nfb`Hlvsi_66y 881^xVw3%e,XUPC$dg 1gG 4Md/R}@(GTO)Z-h>V_6mq即*I;$*V)F}}ܠ-?E1! ى@4Bp"co^Sq&57nvJc9r ˿MПW7)*'R 5SMQ0-C{rE<+|qIpr NraICPm諳6Q5F~bˣ%L{ؾlFZ^漑pF3H|R5ԷO~?!28s^ch SN\ p6^ ]'N7 痛\^*͍lXUxKJ 5SW m "!x!_{X)_tE,g|ĐzyCeL&CU$rnX.xn.q~^bl& F$Yt结}| 0$cȰ/Rj!۽}㿸L7? =D<#~.Xww;;sJR#fO`Id,Rd֪]B+z{u{$NM9hw!r䆪B^]~b$9-73}i5"9O|&>NJaqF.^,Nbd-/ m9tJA0D/{M.Yh_TҶ#H^ݤcxIR+}^:Eb 9G{3 ]ۜTc"&m)A)_J*'u@$3ŲQ?Z&B4X'#J•b()Y% (:,νx6TJ`'.UGί g!Ƀ\fUT&Gu@ p.B.27MkPja9]N%;C*I8^ vN7E01m0O:C!sB4 z03; ?s[G~p v;w`4O=_ҏLjư!qy,Z[F 4d '6Hf`GLޟ*L," e;%9E?fjt ve9qg*z#䃐mߺxjk^2 *3M@#WY5 U oh(d* Mր-5k |FXXxu{f NsuR"'9/.8EV4.Ct`|EŽ&oqs:3L0wNEuptף|!̫ +)N#a:gV3w 6 f p̤`ב嵶<> *8jfݭ,'ĉ@+{/{'+Afloq h>:4@Oݬ^k\u{|޸b0'ƫ~ _ )#i0%ӧ6]FUHoM@+l^~+$rY^s%؋մe;_=_7#>B_t@{XGZ$CGw"w%^No²QזQӈ?/+ s6ڃ*o)#;t遒ȟT u'g{LUQ eiĬ< 84Hr 2 ^pޔoҶ&FF%:S*}(,V_HXT!Tջ!MFG3)+jŪ v@^E8E9 ?QM!Cln?K@K'xƸ]_B]thY2Qߵ$ ﻪ?`u[;NE2Ml,I=ca;Eq^|wvLE{x KR<ݰj.2Yr%ߜy[W<u}UG?D˜短:p(I@r A'qebAb#wQJ&T;w7=.Q LAkғ/n mxIO@>\2 !r@N&T \v"z(. j[u?-[ѯ&j(vdiw(m8>~̵a4~W!^=sBSfn%noNg-!4Ndl\vYEt3y\>t#CQx$1i*Jy  NF4Zdq:DJ&Ѿ|v=nf BQ,EzQN[lF,̢%[cZ0׀? v|# [&wul̳.P4qgFAJ_i+YOf2շ7?Y"%]L>oM{{!ĶuAɾkyy,H0a/nu\sZsSQ8@*ꄐKs">H^0lb`< C0,=7i * [#ՙU`ZE*k~.+zN;Q0^wHdӵABĹjI cji23ct/GJ>1Km!MAS.Y T c DV&G3K jeĠV䤚U HlUJ#& ̇@F 0+==e.ecvV߬33'(Ow 4L]PJxs0I+?9B,lˮ'pbE@*A:ajJwB{M;\z46Ȩy'=3r*"{)M\B4>~~_κd3!<=R-V8_u1- IJp1oߣt]6ze v;ӧH ? JpެОr|C 4XVQIПPNwRWvFlevIxE'u@#]3wc}e3.m[PԄ7J%5Hfߛ4+QF":i/ 5] oUmN0F6`ٛʩw5kcۥok=*@F AT05"e֛n=5r-Ft/0P(*O%Cy O^Kn1xJV|xmh .~%%G8$@ΥxGgˌǺ!jU\\\MiKmrڝ3|o|N?[e싋z5ljkLZT bYC6hUqZ&ȓ@$خSşNemOn Jݥ&$`^\`Bw >^{F)<={ltH\?CuT$l1#j0;T̯j} ^j7)p٪fb\PYmu~T*Q&n?!*nvcHdÈc,_//9g^t(]_ U+kr8}مs\a ϕM5}(PzOr*|t}_Mk>D͸ #O3LDn 6kZ6xUܻDOl);62- {^7d* h?+'H 5.,*P"QfZ SiM/h%.^GzC1<#fcLMZԊtKl#bpu.u;@8[Q;֝xA?>V,w1}>5&˴NšPj"RX7 QD3CYc->!rx;bENY$.>GTUN$`8D'ER / xzڗ+5=U}Ѝ8ڄ7O9½ag8NEM2e/MF+E3ş 4>2IC-Z7:]x4nQXc3g~a%}4 >N>?֫kC&7I (*P`;A~ &Čn̬&p%]p8t?jSHƪz*Ox̢J_cַ0|a-Fm$C[MFӂ|xbN+'N?(옝/0n`.6D"` c(J+0Fx,f2ەNC&ud^1'tUc,4uj1aJb)0">=n~kYƼm,ìߌkةDeԻ{WGm6Slat+P$EԺ E|}d8k`G;|V9Ui}kg`si9O+[1Ԡ/y$J8̧%3˸(ͪ}^]ٕSz]9iK^c`HuNh=-,7O' WpṨ7hsR<Ƣ(e IdHfƻ=_*! ۠O@zS(ϊ5$={=ȊޏMc{- g!Jp=1ZvObaӞG$+ҚP*"o@*.ާtQV:)645eY%MMgOz#L:!U6V**$w} tYzubq 8Lc!S5Zp!ۓMRz5)%opRXz2ٰ'pΥb&=ŀA,xò?}K!ZħwFڤΤ֠=&|Ieo 2I#ٟ&ْ> PճhX;8(YE@Ab( Q*5Di}qtN^$c"P޹&ʲ=bv]oSm1}W /5X.",+}}'WaWˢ2oP,e&#bM`R4Qwa.MPGt9e?/uXb:8(rO/J~c1$0SL۠!"06hM.ˢ(*BqŎl h ;O,YF "ӣ]SA0O'!l}#(RP_"u !GcDn![In9i;&c-JTDE0 ~U` S??Lθ ꘋj'3Qǿu<1MVTk??qo#5ڒT*$5c^{)TBrfyDo}Ә ʕXPN/W$XLS-Ӭg?ĨoE  d"<hjAiӮd|b ]Al\3W4]\YD5lJBh#D &^[^|ZϹ"[qDrs?ExTea S{nM0hَf(7 ꊠ1UtI4LYh. {kOH)e)M5zu/F' QEm35N;0&+L0>@[O-hLmj+ou73hB~WX(n] )gDKP,+'3>k#dti>-WRr>NC\|{0|Nd3wkN vS67VQ m*v}Y T _R\}L; {lcTاs*j,BTQkM+kg}cEIuuC#- |48s;τ 0Ċ8>?d?]Og'9u vZ2.>‹ ~O5'o>ltE7y9Lt (:3Ed^hҼ;Zqՙޚ1k浚bkk9[Vj v&1{;qQʺ.H. F'H BR~’:X˧;ǫ{r/k𚋅>>B""/]5%\F]~Q*;P:/.٢a%u{)%sMl[yCst0@C_!7LCX]^vNmnta|_hY:=-\M\{OmF?WN Z(DQ<= "P([q5S嫶C΋B`DmK#Me-y{=Dr:9V=5NZ睤7%d1^Ħo!{'(Z~4]P hSn{b{ˢ \ݻjy*_UAx5!bGBuفQ|Oe[=p0Oj[=V7ΠP yo )>/C(Y:)|LMfޫPcԩ$?o-ѩQ$V)!p6Kߗߋv4sZp{"K" +gL $ `&,qzjM$bB,.:ʏSC6H1B{^11(^/*^.ӚÔ}O*"mm/̝IlG8q-m(-)|"(ǢHⲯC5\7n"&?uՑ[K;:MMτx3mhz1q r7EELߋCݶ*e|-S5hpe@nw*G〼OxʮxY qy2FŒh{۟e$"Bqii>t#DŽ3AXr @Ĵ"ǠHf}XgeztDIu _զ莏x[)OB5!ߎ\r<0>ʫZ)zx_9-BkQ!w_*^傥9@l}GmD{&8УcfĸT!se4%W/tk'\gZ$A׷XZ59!:DZ:~%# \Ar[m{,w+M|UIJƽlѰ_BƏ0v3xnj2$"v9Hs[3R1!d,E2GרzJuDN +YbjUOa?Bmz1ӳI ſE3†qA# (MכOčL\"9G|GzD3f|XrKM e;4Q QF&=>LȕqY8HN)k YiyuK7 ޙPmDϣ|ڭ@b=Aop)΍{tZ A=6ex1;u9W9uW!%4j̧yVlvǜ<ԆS ! ]2]Rh%r}c҉NcZJ=Z:\Q{b ϠNGSh.&b";iG2=_FOW> :%Ȕ3nҒ0/5',.\I"Bb7Gk:~2|?9.ڻ7cr1&T< 6A_CxV&3@zCg'%#t($dco,8(6o%R}t1;L=:mu#|oH 5H-=*`l`_5L$ :7)6Wiu.+<k2uRV utVk$17HPW:g>~0OO$R8AhN/ln; Wbrj۰mRpNO1V rliwƕW@K qkJ}HK|ZjHr~j?xޱҾ\R:c<3Dl ?Mg6ZFB7y-]A6vap8OAb Thnz#u=nO@P = Z1%>L: >n8&DA,wϚt}E[y,q_`{Qr^a2?#s#55 TFbH9o98YvfЌ <};@Z0ٚU&epb gU@e`~ k%c>Mܿ`氬0]*6f-*TdNDX$? cIZ9-gt m쌭"i|dn+.˻` 6Ό.V'S1ookArx5L8ḒƐ۽>і5Y6(GXe/rm=Gn7%?{pAmti pQSsaKiOqO΁Bz}L@^E] 54Чf,[9FB:4,x"L)L'&xSKX͐TM `2:&FHݭ(>jaWH:9 >X͍U=PQKa } ``y:FSrc<>/sW"H9c/GΡJ[Pf]`ka 9.(YKrMnFXP.&f"q$c`XP ʦ ߆b$-;JB "7H6G\ewLIE*ν$BW]B~nw$t 6Ri(g&1qM wS3=qb9ߧMy]ƒ@yٸlR+e9BJ/`")/Fְk{it?o*gШA2!' |Tt s$ X?tq/$kdװcEGKLۏaML +*XK{5/ &:[AА̖ۗ]=Y۸7G^@]1I]X_Ip}_B[nˁe2n*:bk:'3ϬdV-hlh]J/e@gRcȠ΃QQMqO^@bTV+A_*@;X*EN[B;`LEJzn \z֒ym aE{e dӗSiD4WZC Q}֑Gk+УK&39JHs*՝`R8XqznI|I`%; ΍C|Lg(dV*#DqJp{HY,w0CHhe>?wtVLt"*˯*RRdJ(Y(cjyXLRƅ+#^#w ŁM$ב[\ߊ:KcSTxtNbI +`$`XE;<յQn]'q*PtUd\MPF_ yUn3 aMj:?F$2vL@~oq& A7INLH|Y<=>;s讇Z-D9iK1VpjuS's`*.}\|ߚHD#q6Yp|GMuʂs^wZL$*8ӦKp$m-?ls2a `ch2dQÐ4V3@yGfx4'mً rR>DsI^̀4sIYb`Њi@pE#h-~+|:dM/?Ol_44Q|)RJ&CȞQȀ(}6˓X"IFT ~QQr4P; to3!bm\=w0ފ;HMg`^FYk e!@%z:4$\[O*h;gQԾ #/Pt>_Kx˘ZAeek6h,kau΀I\%UeChӲi&wxK(P_[Plw\'*ts31sdN)5Œ;ꠣ>%מdG;IDy/aW_6;옿ƝOV=l6A[VPDx&=`v^ %6N=pP΢'s㿗 ><Ђ|y%XiѬ/EWbjrKfԸ}ks!f峾H[DZj`- ⳗfx6%q-RK|; "F#[.2ӛigy ;:Ɗ8"V~s=S|@ivl'eZz0*|ŋzV@KMtZ}elIjC( N$䇵]EЭzk,3'K_a]@G.anY0 Nb؉K J_wl47,.fBZlNTxV.@a$m+{w7]O4*dxcT)fֵ|چ|NJيa/7dY:!Yx`Y~bݘ<ʏ]d6To'L%"yLjY *,8yI `KIi-!!FHw>dY blC$Bœ:-~_hUՃjkp#; DӢu{Z9_rתiiS5yơtKf8:X&uЅui"`:o| T |v퉄ZB"s\|σ@Yw;| 5\Bn:p]{\'';pQToF^b6E t+DqDM }bfqh%._SM&9(3{JIrdݹ|ܸLx]_ƍ+8yGbQ-" /4)k)te3Ub-8_ adb\=eUvc qG,%DBG /!N<.=LUt(Aw{Fp-PX7gK;X\,A$(^cLw-5~ ]@76.e E@cW策0q{DZ7j3G1.- 0))eKCҫtȻ 58+ Xʉ+WE\ŋ mxg A11tzfz$ЖN6RNZ38g=MϗK+jlRѡbJ4z 3 Faktݷf⤒[N;Gt4![V58MIrMnwf>h쳪Li8?l>?8A*EzL큩elnk9x{xו^j[w]pr凜Ic 7| g*F$orP&E⑛ģQ@ӣSX (K؁׍i$% r(B3wap:HRY}Cm AH&OfpPGοeRHm~R~K2.p tr ӧeǗ/՛Ϙ8'fϿ_5N6;&~sl;[rҵ鎁'!bBf4ց xL#:DzF\ $B J$rPWXBd >~e X] PJO d3!&ņyq65FXs;r Z{$#@U~#%ɷB}b50Pw ĘC(%}Xmb^ա?2Y`ݩkR>SP3rh57Ѝ|*;[1M)^Yvm8e4f;gY-YkeDyRhv5z'rW/Lɭ>d#BL$lCmNG(7r,2ElX2C:5s|?Z*ˋ2=lP`jr;!6#*k#VԄ\{NʽBۧnC;jOꏹruRx\sٰ~Cā%ғ¾~qpxZPbj˖ Mp5,~ݕSRDN?`r4 /nٔGQ9݇ZsG:!/s9/12W$ִB~ٮĸE(vH'n7VIhqgH FB˫q<-klkwKHSiYG]PJ3B+N hL-sodBE{#I4L=;o^3a.H4En8vD!6b_/бp纝f%`ヲ61=@.8iRj/]`SC"V&Scl1% H +jbSVp]q 'B:Bn& ,.85ϚE#/g:O%TODu:5Nx"C}U 2 q' yTVS5FcswQ SI>`YT'JArG']Z& D78$/I˾,u#HBۈb8)B@H7=SmnYu-BA` x̝tXp-wMv!&(9.jw卄bvc|'Kwj=Geh`ycUD1j|,~>gZ3= ўl(-9a;#m2CL7{ctG׭u Q.9d!o/ڀu*kxybdyv Y*z uP7>~$J PpiWjW_ћz^ךA/3* ]#b(XuQPudŸb6A5>^FRwh~ϘIdwӽ?FnM3m6LJЦ̂^14KƏYvuɆ@oN`>P\K1R= \DJ= T@mquhRI' 2"fR =X͈icj8:Yvbl0Şg B~?8GG|+F&EˋkGGC}T?ha6 qPE"f-<>uLŎ ?QpLefIߒ7s۪F$29gP\U7Cd3U}Tur!4_nUBdl;¶Ҧ M6~_,W㹀ϰVyw*ɾf@ƎRz? [r21X\~8޹c@)/g_m,Fz3}+c?>лę48XRhk'·.7-]A FSGyZZc.*7u@[U 3E(W}Dc'Wi3HhlLTc]0R߲HM= Tr9Q%[|0'UcYm  R 2§&YV)c@?f~ mZbtujsb5V968F9XqqcpWƜp>mXHL-b8EkAIw$gs~.}GeKĶV_6X#%+̽fD/Ǫ7SSum6tێm0EĜ2"L_)O7αڭ/ :-'e$/wK/ILhU?ux(7xK ˑoٌ#dG$/] tǼ\չ ӢT$BV@@jc {B1o7Bq;~s1A"E8"_TlA sp?TMDcax[fN:cok,"\V1.8wEkiwZ8x~Utj=6('[uM4GNdcT`D}k2r4 مJ.db?Do&x'|(G&;9xC[d$W~}[MRD`,#_V~l+G\Őv<“p&@ɷmvݴ}Zϭf91O-60F9ݤ3sI(/8wCʭXO w~GX0rg!WmQe&RA @oNEߟ77HXG[4r7u|٭Q9Y%a, ^N:ݞG{;qk]dwͥ=ݿ1ﯛ McJie*,"f^z4}0sW#ݠg -K Ky+m -qyyQ^Lτ!-cZ>2L)N/>6Tkg涙|MJ<9ٶ m'\*KER?ߍAإ^׾ gӱ*^5{GrtvC=Y6??؎?,t5.)0n>\DHQ;<(Q~UǔusNtK(K^srH9x2X]ٺ[ ϸ}uD^h?/]Ks7հ2O_+xB @S]2hhϏkMazX(pt@(âle#?EdÂ]㏡Fp*j0:Z{@^-a^f4A͹sDri+ w~/#a:>)NGhkxl[EXc+Z'_,)dz+H5iEN@stG!ޤ\~6.ޚY[x30 |9Ͽ-+o*\tʵ48IdǓ"Ǐ5jOqۉm_}13h D-o?764ÔN{ ?F$7s0j=s|2PZ^h||~7=DN|y G@pوnO9F>b-4-|igczrJdvk :iD+s_c#m@02<0$. wn<$(*sqQNF%`xFzσG,6 ]p']:^ LHNǜ2?:s\3t*;B1(n%= &n&-a<ȖK&QI8yw"dc ]3 #A3O3Ui. čר7unK5gk3 {(0gY;X_&(K£"cwsz`8ƃ jYт~J^Ը!kIcmi5jpsbkc۔V6 4\W^RI ʒb2P$:+1H䩦I-^ Ω#@؁X <_>tJFv|$4;M# G !@HBיp;-ȨwH[YS"JqٖP_iAX&G&K5tq͊a:y=>ǐ֞؎_pl0U;|?}T98]7+c  QBZ`NbSѓ |ju'ψr<]pıSdH(p ZWΖWB>h@ aqNqŠuB9L;*4a8(!޾ FT,a{o2چ~'EŎĵOgL#p [L1HbI`)}̅˘ɂJfWlչ 2~YoGq*ㅹi?Cn$L"R _C{޾`Q?@UzX$@>՟FamG,QLu?yEF*uʦkljzax+J.nb p^bG5/5~(,ԑq:,rtr |hdA=E#&#'$Ӱ-S#1y pKP8xz:UK:9!?ls hNܠUO )8`kfBjk !X)_焲1dAha u5JR%_TPoזd]$W=rE&B)`*rrshqg]1qgh`\ 1þ]5&FOG*1h"S_S^piG 鶋l_cq|{gZVWA^{gIƐMqKT||+T,n1רur.BD9Aޜf$4>'xI'B7L)iKkdW:UƏϜ_HNܢr8`GtDYm ֗%p-)c3[hfB+ eb)vԁftRepLn(pT-spD9ҤVE İfLY|`]Ļy7 5ABy&;ەiEkl/r9QsJn8YRw0*oIaU;'N(E S?.miG\(nk :{}I=GS'4CzdF\S3}iI^!$IpC闬v Ȯ)VޯC.Uy(vi1:m$S{sаd 1ͺS범ɮ{XY8i<0E5ѶE:ȘC/,]ۢwyaTǷR犮9zjg,OC_rtG::C ]C`1DGQᙕN=*K_krws\=7ҶݤQy O$A _̡e)E{5}a(~Cf 1c=~풁x]Nb*iS|N]9\}n">[99ȝdRI Eڄw~ oxdRܲwL]R*skÊi*ƒD/\:r՟;^;pK~j./21'㶣\)I UNFKMBi&:K˺HVO% 3Djey(^7#SH1xyQAus"@zD"I.}uBόoQ9.`i"`0(˔`5@$$zrZ1⚊(+e Fg"x3cAJמS+PIbN7nwb)Ev kMK.]CHx;C4C@nV`Ᏹ)VS-w ":FHuGYfUq3> OI2bC,U_7O׆1o ^J߬xS9ZH|4JxѫmXk8zZ~BZ/Ρ `wpT48>ϔqV -~qgdҐ>B =*Fd&K&hlc9bNISWFk4LҾv]]n{R RGU^J)tk6m>37A=}?85dcN+"D,]ب*K;Jn e7gt/}[.#wu@˯L 󝕸ƒNk-.R{a]<֕?w-ŔL?sPR~6RbJj“LEՁuz1NCů%*G|+瞈+|NH{\B tD61#b^]h[R 7| jAso㛺**CX y쌶,! a>k40D;A2_aw8#HP jh9Sk2=uޗOC>BDW1)Ts_ќ_j:}-LW5|x֊>(ǚ%2QOm/IB̕%UW9[/IR|z7wg.@<vnRHE?Di_' $$6_Ɲ7f$KOt4vOF3A Rݾ Sѣjyk/h ݶ7 dY9APӕ` uĪ}sCKrܖgTKنhBq!ٮ9~k;ۑ䞀PxVK€0r)u}E+"C Y0WDMÝlUY)DVL/Ra(HPX=np Z ̝!bK*߈W2 ixkŌbâ2p@Ϧ0~gb84Z<[r3|Oy:L㢯.V;IFqD$v'o29ϼc_ kiZ\zL3brQAǀv,1Cw<v~ FzO0 8Kgo>Y5!ؚJʻm9테2pP8Mip}'i 4 8n@Ӥzv/ -Vq\WFdٟ_] P?^R"";3d@ T{!sTbK݃en}6aJA!|z~d)R[3)-}#|2Zə7Սh.>Cze UxT*HbIЅpP7+yh$T=@fjG]3*,<<4G/'ۍ()AHw*S.;&'85 FA XEl}ۙ;o!3qymXhPc|fkxYZ=yp'sq)HE9ŸӐ(a~(Ѱ] )t2m`⥶qѓoֵJ+-RpObObhNKrƧԙY%A/t=tv1 @v);;t-2XxuT @"Ⱦ=hTGEmh6|1e.j$ qK4I--ɳ,2TՕoDWbV3IVAfKqi`x8hvg:Vj֮]t.vu"zmAvX #S0uIN Ί-=sb r瞳b~@U| Z ԟo `rJ;wsG 4Pg($(LɝkC?Qtbds{E}6H$P/;^zG8" ]'#_JǾ̬3Lg䂰YlʅN]Auk_P4EH`9]f忂zwG)\Ch܄(bOcra}N̎FddY7.`a%ل7ђaH̰ !ZQ8IcV:mwvu7 0g}Cૺ:-y?6}nVR6z2`ɚE!Ht(4I+S)A-R3үZfq&bMi`O-h!idoT'yhnL̋v3%hkP?p\R1Ki ͲOd5Y ~űfذI{ՂO׍ZMip@ED6o i\w( HweVwjQ6SQ! }k#FX }#Z:{C c*){໽DO}LSc8K]Kq`cԑlkƠPOY1c@X=V "APJC/;l F U>m%nHwωҔeRoK_]HW=BUj%YJoIbt)Au[f<3P[x2Ș=nuZ ?9ݒVM[<*Ȋf.׻/]n7F4V;8p匀Fob$"%7WzuTй UP"Gz!szQW(L똁Xg0Ш|:FV~KVTboó,iJN:|x] +ƖK{hunLxc#/sܲU M){5zltonZ)q@c[捷U/}@hAHdLj(0Hj첕mP;kրqƌD+WԉQP9Lo~8ْćԐ9_^p8Vxqb6W LN>X|(BxKǍ$SN?7w+߅3I01)VSD^OHʅ I4 Kw0TILZcN:1\}Fy\WVF 'odBЪܞL+^e&K!::@v*$j@+I5H4?xek=T"ܺwuu`CNN?}Y][KB HRWbEDjS{_3 m4R26Ț }So?#,73>&ܹDHpWkڙZP Jn-ݹQV8>5}%bk)_*6u& u30Ry(Ѿ?1Ε%Oo O R!PС]2Y\4̍F:=-5=cNC_ 9Ǘ=:Z/Cf!쌶 0uV&hJUd>stF`klՊy,jt1;BլPg.k=8C0\R$fkh_/IhJJFsdGi->ʠFQdbO9{sZ|E73/`RMQ2Gwl)ka;zY2![ , z7EH,|lZg.{J[ X12'k2>(/`g,uf2KׯDdW^$n.p6E99c ];4@AKv~Ieq(6!MUʸE !$`fP4)د^M+]O߬rhަS|Oq c϶07ֱr5츷ǒ$dt& Ou,$ O}CjVM ߽T'* !.}w-7]Y8.A ^^?<& Q;؆9rqD'fX,OV|=?Q0I V8PNw[GX߁=8!Ks\ϩ]c屛SO!jdrp F9W7I'z s;Iܠ=)W.Ndx&gL\ : qiaaՐgC]?O Ձ;òU y| +nm :WmBPB~k#DPY^E]G]/T7s u&`:p2(=qUNj7to8D51Nb¦/%Y.BKXMː IKwlн U)]# 0138v7]Ɗ L5BnM0خ>xF턗GEXQ<Ȳ +M?==4 5gI~Ûڶ59%1P3Be>k;l2#q#:DES5 gI GWvb9sxI+ O&˙-:|78KhK9]K,{f(.z|vh!̥v/߇a6ߌev ntfp6WE|J -2&r?,`,bXwt@%ʡ#*El aOh g#S9dkݹim,cY& m//gϽS`m#SD?0&Mpdɷ/+~T?w*ӷ#T/9+ ) @~'< c0rb+rGֈ: ]qӭoseb5ZgpN&b9N}WxV O_֙6јy92P#0TZGRD>3klR+wM:8hN(;+QDeJ;Y jk2,F 5*5oNF^HfZ4%GT*><+a Ǜ2P%a. x lzjNA҂(-|^~FZb4>p]-8IJKȫ _gd"ǦXMSss3 8ܝxzRuvc)]23Z/GQ\z Ej3NYz[=B [+:mu%jFv"  +R&4c[4%ʎ_{mY1L.ՒaoӁB(rվ RH!12x$}\|vpp͏2~Oknpd C6C׶Sc6?=D}GsH_N'.@g$ף>>Sr w\XBφ չ7R 8$(,}+[C}J1 2֕r.}BNc`?Aa"_sv^:dk,=Fb{,Yl !1Lgu! c|365!FyP`}VF$YcŖ& h㱔w \|H97OCGA]eO,xW' v>sdc rOִd//)'6MwI:+՘ݡ>ۈK<;yNi kJ.f~N>tPM)o6|WjL EK@܆(m(C5?m"d,߾9劓mJvYRӷ; ʷ]fHFqX?f@<|P[s@뾘JJm#x*U-41O͑Q/vqrOy C_c;¹/~hXL7[|kp{Tb=e~+v2 .PQKZum&[&F8nG(fM}R:NնBr- bqs}: |WD| XݹүuSR#^;nhIҲv mxk_ yХFffי6C/sgjWC &$H18媝hFI'y_[1k}=Cq1Cv2ΘoZ {񤫺x]~νt5]GԑǗ%+wѧ6$7H7yG4OE[{D7wm+T=h"5 Dfsp{5vr[4Qv8<;OQT0 O$EbЍ咗KIg; F] Kt);V "X@. ~{z,-{B@RBjQA +tqr~Lo_G"д{ZEܺ;KE|(NcJgrߩ? S0˦1n֧@i{-wgvXsɓzYôhkǟ #WCu#ƛ'f.S R mn}F|6oSgi۔r$=+J g9 1W;nI;"V'bj;FUKg_L5(u d׈/;\r8_emO2+7GU<2By t (Dks&TwΤ3ǧvƇ\]:"@!x5ΙI*Tdlՠ Ҹ“"!R߰VK’y~GԳYIt­w2C@:Ũqq7FS#ǽ wƂ5%RV-:jǔY}XtXr7i܉aO6s11*0J@C8{ 8 ~KB_V1+tg8s@YJm"w]VeZLB?{ ?+cS"urype1c#~Ss8ٓwCȡ7/D {7t՛[M)\^wkB~b bebvr-e3N iSDQ^㣾A\#44^z +8em:Xg v xYHdkNɿ"(ަ8|g)dvaB/yy ^rOJ.>,qn<ݡt:tan$ CԄÖy@-SL/Tb֌ n V^ Yd'sÙ0KFE'ۂ{ϸT P  uDBqxKfJK} ;Ւ-}!s Фy2 _Џ0psf= 67OSq]<'}\,ǴO^i~%q(O^j$CBpcxS(Ŋ㠪.3g{-qHYk.^ݗWEyk:ܹO gg%SLO$og3.? -,nf_ڼU `tGKd R~5`ÛCƒe&z FaS⦊Vs$ LSH_[R2|e@d&Ɵ+] Q[mB w :52#2c7Ŷ:+-N MSQ)31_$u8MFɊʰ̤UҴCyImNoýAaWƢ(l]QkrN[a򼺙tz6;K{OP!C(ɦ4$.pLD?ZpB8l R j(pǪc/|̄\=Ԫ+4d0~ '[Ҷ_tskF3Ok_JV (ٛ\ Ε%_xř+/IzAB]y%)G:)/5Lq,"E0-&8NFG޻?/$a"&jF I.Llnfu$hSŘSk俣(ʮ^c*'뿬mS =:8' l35N I=8HJFJEJ0vNQ#)X^U"3aM4x`|C&X OB[LAXS0z暌>bQN%Nq ٗu ceT/n;(& u7o 9ajVNJBR`]W9BZ ~fШ#J bl%XOxfGcB):tGiLoҤ0ᙐ*4I [8(0KHkNvFi%,iԴ/X1STR*7hXM>Y`s(4N[}53=(n*sYb APa|y.-Pg%n j⥧)y O5cX*ș+uGPl"usro#t >2]!~OKh\3R 6 U,Y_CWrlgpBr}QX̦ E1?5*?nGo6R7VY m܏=9!H[Vd7KedpE| FN<͛GMlDViiRL*8P1k\ 6"^2nmX7YxIlxS;~ 6x%x]8n7I28z?&B'}/BkpԗCA/`X|=A?W$,_f@EL zx`$̈fȓL-C-Z g,M`E'J"_H`á>)\~jBۏ P4K'vv dv}Wя[IĊ)uHs0<"[]AjE͔6cОY_b[DdրU"66,z=q@qp|dNNEk?c0߮OwuMvՓְ iFPi:b 6+\c3o[\>0vNS).I+tL%謎 [rGCy ? xEJo r48i#֞1j=5&&7hcF#/&etvs RoJGG+k؄mA.O1:%MbL}\O."ԬcXf[mYX"-V{B$^K^%9,l4CErX 5t3)[<[d'+}UmŅzVubY4,/v$q.CRt|^ndI" cf(ՆTK3k;gGϴyQ6_}yw3:HH,J䘪f%k~H=ȥ#>\ciah3=YZdm9t?jt2.~G?YW3Y UӖY^Pno~G׶J-S֘cgJ3(Kj[nQqnq ^{ܥ0[@nL3gO;"Dk ~Nƨz8sQ0kVPC9 In%p*+ crKv<:ի'TR{zђS>Z$,4I##mOW1zܫG̿Ǿfo!aw@ 1msi9αHY^Wm 7T~7[^J*oL2lj.+ڑ"`'.8=ų.c1wѺ͈|k ~!dm`¢"12TY#';p~ʗAunaDR S)~"J2~Ǩx:DV[%8`毈'rc$gu켓D\.@":]|dpoO^I1`)d>j7Z:{8('NTMBSd)rWEXaqV.D-6g6gA{`7D- w5DąG ڏƄni䞺\{,`v| 2j$8m,Pӗ}H^ Y` Yxs` 8M"@7]njs$b*Q@t?)!<{q ?¸ɸYYY}RW^)ɾy{łT&QC !~?BOO ZC5hE]ٻq-sZDt{ՈSjSM3_]_[Jyеdz9.$֦n>'ǂBj|Մ6>aDD'-xr!O^b'&~(pyewƤ;/!c֏Nlp78l|9r m {e_I6)n^.Ics `aCAw*t9 3):o&Ԋ A>(ꅘM.ыw?tPY$gkJCPЙmOWy腹 9Α8xAuв~obMz݄EoHkT@Uqì>mg\?vDuDƵ9&m/6n{b֗uzm[b6+ũV{RfE>!An" mib˦ o)e  `/+n&_1䪤&*+ ¹ xͳb[w!! ]{FTnYxvyyUA}BQB} \]qKS"w],R&[Ĭ,処p$I,2FFiNiZK+i>~o]}?&R~ٟ6zY{v$*˖@9IeGWJպ@a?f#w`At2PnB.|&W_cxp]I/kQl2%?X3x~lN[E|;6&~~vGHa3{'(47)+RŹ}Xy"&%*hܷrrjH-NEjMJ !}0_e3 x@dT ,bVEg0 λ_j''/ldCWN´~kk|zC q#k~e{U\QҮIiMVmpIH\"%}3$81Fx"u!HQHT s87՜kVHUKgP&mh6+S߉$V s!<2ў19b˷?ׄnLώ p (mnl +e=YϘ^5b;i\Jw A!V]Sf,R`,PןVL4iY!*RCE딖qi2m +d+~@1\sn{^^zm>Qi7ȉЃxizF(hx}uZWMMW~k WZX'o?JCu<6 F{Ϧ1(AS' 3BLw[G9 ~=L6&OH_W`9Cf +mU3%@ q;oZ3]r30$ي|gVѶovMn8HtZfG| Gڼm(SR$)U>gTD>jV. #llr5?|qM+HQ;mµwiƙo)ʢ^'rUfaDsKWl39 Q+Rg-bttd=z86QX27]Oȹ%B!c8_!ygZz bo5l0U\cԯH NPỽ~<-x7Yv,Fx#α[A'npC5M_1N7Ze (_8xlhUFt&Tޔ"ot*NC^qW5 MPbk-{w2ӓB(iz7v-LKќu erj4[Mr9Zѳy 7cJR8 >+6p~|s~SCЃ*5Qom"Qv!q iJ.3ݪOkձk|ZMɝ/'j |&7d1t`^I/86pY ҁ2g:0R;#Z7@b|樜"[ٷtH6$ZҼBy|'j^C3Vi D!zZheDi|YY\MSf5 IyOgwARԋbi`gJ)JCA=Op}ߡ*yLCؖ=$L?Y98|iw̥&;J [W[%3 tÉG^(tZ` ~Y,[E5;輦9b3ԨީoIdK Uf~$7594Uͯ7ʛ]?c?dT-K_Y ðۥn=V*ʿGB oiG`cc7\ ^d-#6Z`ê=sRsXUXv~n-luZȒX"r:5.-,`J-Ƴ;f~T&/vN1)AYrĤ Ł|Y}Vf;Y뢌&ی%悢#PStGd e#nԪ)ȲLC5l1~r4 Pa]ȃ/pwtH -eR3vpgH\8ixx͛í8..vAӻr䇶 g$GGb*HY'3%j\DBQn!@Z w?6`+weʦ̾O)OrS47g%WTMJ*r^@K=N8cㅝ13pĢ@.k& -A#N]tE;9i/^U&R,bPmn6ix~=oi}2xlǣ[hM )M8Ldm]mPmHw=`H:r:rcLI!oSS^o."g]П*o/YnTbewڦ 12#:ҴaEEb) {pvdѦzhȌGi_;289I6[ ^RJ*1ؚkPhum!g61pxX9rʌ\cuKDh#=`(# ;CI37ԩ+$2æyynijY>HV7gdX !(H,E)>:ySaz{D LjK#N\|)tMiKv^ zT. 'q -s̷wOg~8lՓ)/jg @';+7J?'F.FQajɘᰘIj at!gx̛vSG硠7s᣹ ͱ$mL:/5v^>DNhJJ!̑8H32.Eu]PNm1ʁpQ +P t*m5~,ǡV&V !p?hZ,Tz}+NFTinˬm?C]j2꟥y`aDE| ܡ>OZ"GꅕllDiTc>qY'ؘ޳!;=KV$=>oO$HRaOYXKq|Ve@};Va} /Jm16WZ8cB]K\Z ƒQ<.>/Am5aen_ƐDZdڟ/26ܖ&03Gi&3Ʒ 7R?@KtRV R(?W|{1\"ȒH邻6 a_Ml)ԛ{_Ҡ_~ZI ՏswOMU⧫v%5]˾ǔJ Kn*ߋ.RvKHmK3Z`| )\*2陬[(Է V20n~q{¨9PYEʮ(T.89 L^Rn3 -,kiBj {%_"vG*[6pDU$ɣ|wV7<3̒!2u\۫mӭτ5]g.Az!:=zCH=E׾a>i$5)j7nI{.&veHM9V8PFuKΎlj  75^ɉQFz܍ZMrX Y,2kYkI/^?gI26 h(P+d6/RBsԫ4@#4 f&!W*4ǗIƏŁULA`&d@/q⾃+LsZ Ɵ= 2w`Ԃ( HtS_N5/ufjqq*Ld`BD{ swsm,pR ^;(y@簴 &͛b7@}F:yc;( }x9,R"p: yolcwaaRPH*f*%s\1Ɗ=)U~S5<ޞ!41/<~bZQ]]0xN%>ƿ:BJyNpR 12ȕ|cx5&9;}2;e H_)` x3n4ZS0YXnSs4LbJl`ˡ6 ĎĢ%x) ~C䐾kZV-S:N]x;bLrm(Z/PgkPwZq^ Rle ӣCܟ?J$33ppd<LD3[ GH5y \1@v.hѴ>Rv%%XVշ]-dtUFG.ݎ>bЏ [Љ@Xd9=e98)ψqQZB-whHGgTZg|݄'^!@e٢eҶ\A"JjCp U`St\CzhNIm*;VNg`I)O-Gi f4l+Hr(98yoqi4^%hiɢ$sU Pgd Hn% ЎLqoZYܯ̬o*C`jܫ7qo `aR8kb'PD*Oi$X0@\%VmןuÒ^<Ͽ ʶ-SXf-ךuxR꣱ U*Yn* 0yS~3l!{X9ܙukX`8WOG؇UCjvj.%a&s2+?R2EP~J]B ˛W' qU{{O}{$(F'(`wkL;#nG5tCKf4$4Oln6Cn5i9e‹Q.[_eſj23dTk[^9:z# oq*hXXosXuW)0fzhwE #[6Q,k}D_:mm`<6[= 4hTʿ횘RYnZ-wP=Eu"+y7=pidTLf0$:VQ9TȐmnm9CtGS']v u҂Ԡ]=6 ㆝ 6P;DYc?~Tm ޽{͏ *? 6[`0IRzS^Qȉ*b"M|~Qk+w&6ǽ A"]y}QحE%^ՔOz6:ҍ/,^p*[$ j|XG]#p9MI W|g;9>O\ߝWn#ϝ/o&- yESUh@I߳";F|F@12Ѥ#"]$ ;[@WagɃ.Tm`|t\Jf)3C&5-eN (y|P`~w*}Mm-҆cHP/9~8i"zթ N>~tÃK! xv8v?WvJ_}r-2lI,v:pݍH@7zC8#rþ(!nj`ڇےX ffR8K99O:ڂ,%~h(nk29PN6Wۂ~5 7 ~ [/T<Hn'bwcF{B0+wsd2G,CSx,R+ޙ8 tKof|A\/'Y}rF75m/KS,fvA./AIMrI݄rpd4T#yPduhޓz[9(raCx&jJ?ߥ0=Zk6ͼ*l"bқDIu|i"vl+^U}~8Q84/(9w^:`ie!LtrFA"0~lt^ϖT'ޠ'Hl; "{䨹nRI0CL&Z..mGzBr UyxOn#ɕORB|Uh FU.X *%? Ġ* aLmUl&toHLƉo@E<[|BtDyQ _x6D[1EjL\ݿړ'z̻s6m /0vE=rP9s=J{B.O~UwTl,W4z7UZf`A$?,vWe6`TZ5}AQ6oHnX<<]\b]41>{VƩ|-u_zd.RN<\j/!+_V`c")v9 dۿ&Uj;\AE[ճj/D=5O2[uB & ӿ^2;7rV&0( cIGs-U1w 8">'dp@|zsAg G@W;|فn5;S%*+,ƣ ry"yob`RVk;sv3'-v^ CFQDɒ׈^H#$`M~ڪj[B[3% rE$B!ﻼnAX-8r"5IއRmӰz&%wEv*1gcs%'g)*ʿ);C^Hr.!\$K vCGx`L)G Io66 nCX^0U['@:K|T/-Ŏ@}R')=chw &k\^dqT dV`iK+1bq<"Q0C9)#E<jЫDs+@Iis 0)U,5høXXa:6 !cBCc,^$E ]Tx縴,0u8z^l8(t;)s+؅Voulwl̊s\s*J8ci4}oI(Ǵh;Qn.LqG?߿NNZsvlVIҗ !5k;y^K'ⅉ oU冮l$-h7Lh.01gLj69IFGqAsytH_)U7AED743L%HJ0 A7 ;'GԖ#}Co/jcA D^ KS\d[$O¿Iֹm/NX1Z>yգ݄0 ED̝FZ}V0*ˢG-Mol)KoRw(2;^^GJߕDG>kzt uE1DLd!J0bLM/h<۝ѮwS:.{,60eQpaO‏56~;Bjo [z4|AdFhԹ6xybK105.*A.S0Rls>f%SӯSIo!Zj^U}̺#]nȜ56 gO4dž0k*('@ }դ}gc$ ү<ņY]m`A|J(KwS;|lΞtř,qV?lEF E  xЏgZf! tbrp@X?N,; 5HYF:.;Dͦ# O+|EKVl{')'Ii㝘ao,+if3s)3^S",mGqݔ}f"^`ǴNloWk;`\M P3*|T3X+ȦT:/4Q8(e˧:dZfڡ@-Yº9OiOФL2SWG:SSDYu ~Q|÷snKG pd 0 vs*uܼoX(B3K L@PzAH ʹ[/~U 1MyON4rH$n7d %2nFDe$,b̧W:(rٙp)\10)JTj*./>:+tL a@d1`bn+}*1`d$Hy ߳k n@iPk+EJ2s $b?5,3Y ]r;)6XJ>a.`t Q 3zKd yeLL̚ǝSLqiJ춵2Ptu 8@l=.mtO[pP\yn;5NN-4#l9ӲA&oIk{N媢Ɍ]hŐdo@\*Rj/{-,4Uuk5"Vn:d|>;6ΗBJ29tŕ[m{`9Oңǟj\)ٞo=[-7:\'A QBތ#2ٔ)[OU>y3*=u sm^[h+?q͞Hlf^f%X]#K0/qK[Y>l?FT4SaVWbf6YEhmxQ>yUmwDhO[ u%8)TJLK̤-ibwRDdš7e>~J\Q91u-L QU=K3aJ9ƋwE0U $Ub d'/vzI@~4#G;O3]Jk]k-".ovOVs/sP/QvQH%{K:k/(,//ߧΊƧ+Bs)!(ù\3jZCo<ɗqfNJAgWUd sgIAIV˟c#Q%jF\р:`I >acaX.nbkl>]%k5Sd_5Q m\UQ3#DQʍ·Tڅj8:HYwF mGQ_c|>Aѡ Ձ1{IRTiH\C.<ǫ XKZLc:p 8{$ߊO6Fw7~SU*b8gɹΊ]y(>Uzr,ѳ);S45ɼI{+gGb\B*F+X¾.ФgrxQWjL׍@aݳ$ķfF5^"\TmեcFd9e^rbi OWY/+SR(:FjawDAh xk-KSt*Eģ㺙iCK,;4/Z$\D"' A GoA7MdVn_(An%"Q47y=Bwddp\ė ,ke I߲6=0uĕ Ȫ\Ѐ+بI#ߞN .NH m? (xrlNeF* {ťrzct fE<Hͷ&9,R^:­BdɂbS X͞L`(h"gqM6Wv;J9ChiŰj R{ۺsJKzMGwP:!-Xx0G ̅ BOA+O!ojV5 j܅`Gⴆpt$4K`7NY"Q NgٷY_VkUX֠>i۽ҋgIAU#azefJ,-eEbAPgpZΆǐ?[1 6z爛a 5 ,9|rў.C i9uw6|yu|F7wzQ =bH9IX:yDT=ҫdwF/olyc{O}V8B[dRس!mFv }ljfs)VE !n#qӺ=ĝ/"@)J[? þs %j Ac2qc{†*TΜv&ov6RM藲DG#'ԯ5}LgV>**ɆCz N!{ljxtb%̾"j1;ƞC(iP]x":$5\v{.b0(_ktDRWl)1,&YuJQ|Zn&5xdwE%"9o#|ggh6% >|6xNj{O/R Pߖ04olj'D('LI|+I(Ao҈:t+m+ BdLULwd$A FGV/HKw9I1-$Cu$2&׶Y+qM8MgQ /^jfn+t/;u ; g`% )Xf%+n`dzXÔ Y̥Q?*i)w(؍svzFo>]L0w&} 8^fmVƊVsRq^kD̻2nKj'\.Z)-P (SIKIYz6JڙHV= Na EOC^Kd't}Ӱ>:}_OKn[3&Ou[:xzaeF-- 3G#@J*i_yTgQ5sl-mqK<&fha<=>YSOEg2D2!0 7l}Ҙ6ޑRZ^s"W(^ldL<g2\K Q"C:*C'Zt eRcm"ӀRTODkKkRi:{dZ~3|qUcBGUA1IiUL@[x[ MPzH\Ȩ]8] ++ ,d9dRdt܂Y(f*`vncMBR+l:%Q˷V\5*2iاЉGeɟ(祥1İ %m{PJ.3YbqAv;lPeNIw^ɼM7Paz(7OUɻ7{8%gzܬgЁF^k U1|- $ &C2$»mٕ5ʕXc%E-ǔ'eZSkΦ ~t,`hCo!h' )v"b'o: 7t'*.AoYl"M(4zœLRf卫OsC#ϻtIvlIݸ8]J, g;Z=W%+:1]),4%Q|[S%ʲKyඟc(O(Veex:KDkF!s* Dl`R|hQu n ?aW.źX_נG/+ r٦^ N:l9<}r& `H%\\D>tE6|@͗T |˅6(@ iߟmEC:*u@ ;NF!p~PPwC`"Kp'AVITч~-Y?lvx d^,LU[ESbIB2 ߜҪVOFimѿ_vr<}EqD_{lʃ[>ceˠf='MAU ܡNgkJGjM4 .z, ,8؀!%0ʰܝ%Ҫ}7i50E:8 [=7Ӛz?Զa9Zl7R$]WztE & zsvxqC&3źt|{uE|m|s6/) }1:t BI\= ii:0`+Z^R! h$a%i /$Ϫ J.5FNBdg`1!p+S;^w]"3v"Dc{d Cv1YZC1q&ퟍ *?1zWv@Ieᜆ̘)O}"mNϕƩIdA8vںd^msF4phbo^s2q|O ŶodXhIx#o\Ji(G=7HҰRlZWn;%9xagC_FXel1>g_#^^+ :{m=S(ޮ l7B5߃T'8FǕL _b</pd'%]H4C+S+/!Eܹovڽ *hb ,-} ^xAu JrL@,bsK Zׇλ]g9rg\$zmmc{RunA~Er(V4&밊@aM]Q˓*`{_ ' <8 N kϘiwc(O.?&5:ߤ ~o{hU?(Ub IИf} SU?88셞%CVxQe6ר vodWsn{[6ٴ2E mlvA CA$*ʋfx i$$ykn K-U8dBrKiJvȏGw'Dnφ4+J'؍e>1h7Ds,$qn<@f˅ߛoU."~vƣyКQ DK . Gtd_|VB?Qϯ :ǭ2yҪD+rTʫX&yk]!^Jt 9 NId4`"+?K$_)oc_ULA,G |^9,5/y`ҥ0a 5eYoi"޷AFf@CʟХ%Fw g^kW_%w7:0oY^Rq}Aҕeߤ"uD[a 8q{mӹ--a∗5hp'ڿ'37ܾV3q}tquЉ#\6PBfGDY݌LG BjJlOCBDM,J41a7w1?nB^v"dB#njz2˜,mg܉/*6O=F7v 7G$AU`Hs%CJ=9s$@P0WwIu/=Qj:k^q p~V!f,9/@Պ^(/םin:_ "!"3:tH=e8a1p jtw;&W.$C-2֡ӻW+ן$q6!~@Qݟy." 99{suObKB;#~̅ BHϙ%q8;m[?]Q҈$K8k)Lfk%ZݽLuL{a6O|24)|Y7\:ӥ^ Jħ&Z*qEi6Jd[:G߿** 5dĬA jxͨ+z7 iC'Ɵug)7/>EԦf n 8NM1@d*nx QxNxHPtit?rÃ}o杂=)o"")AF/6vZZŅ-]b22%$%n[Z-l AⓊ> و2 ^#﮿Һ_RwJjYC:+A;q4y#&C/iCz` H}ObeӞ,ؐOpwʇNAɅ71%:ڼS&~qLC"/3KrVJdQȳUtzXWxHDH4}Qr8 qeHՀN Ar.*6,;|̈eJht`[3L7gYܥN=ᄩ=s{Jb96X7/=}-F j]C&@7Æ˲K9:uml5@WZwEfڇ~"mIo/}}všTW(;Ĉ?c^s%ިq{ ,:]2[)#dʵcƺܒ3,520EEcoBO9 ALrGoN`B.833â3O'ۜ ~[3/_.*oŢ(N/"`?G~iL1j\20SRUmAw{gԴX.)1rk㟱RFŐ\[Wx(VRtk_9`CQؓ%9 vO4jއG4XɅ?4XW^]~p P l2a >ޅPwZ4CO%lYGPCXZdb@vkDREh=- 24]l# 6?'[-Y+H@gqe@knz* P }&T>vWr L6h+:1~]F IiJ 2>QYQ$a|z{d'Aˑ.9R_I_0MP#8<ˇ`{֍Mc0T#?5m %=I= P5QwJa{~ې9W; z{d{G޾Bpa^bh1M nMd55%8.w;;Z9WN!cdP0ׄ#ϋ:!Y|FW":8&u1P퍠l,!~@.a 1 C-#~'A{ecoi} ޲QѲ0V`=uW=o3}BŨ1bG"o< un4肳964nFq 8$5@3*m1!Fpw6٫d[bZ~ĉ [^26I\&LӓlW=VZ#0f4`r`8,!2<]o A֕ F &'NSf2oC J(1Sdq`N5*PUGUr؅y4hf 7y9!BtK. B.|독nyGutI迶#)̩Ã=_Ċ f he|MP|c*܃N}!)T$Ho"GwXL2Fn Flt =W=DԘwug!ĉR?ض*3鍇K1 eS{ p 7hw&E+vGFQ h/Si2Fe oߙ] _O* Q\N0V2m$6zufH&K k )h?PaK鬔D΍-R,ь֋<#Rdz_#mgz|X#2.5ɘcJUk酫\ПAvFTg r-oa؜MJ_&3h7"-1JqQ52N5QYj\sjSqPxkMJv+7KU]Q.'s>ۯ\C<_$g,tq؋6Xp@ Y( MҢ(=<CT_Pl]|d0S.p," I5'5iǟ_RE#Ulu%kc<;miGWi0Ж29 ԖX1\]6f:dCRC ,7k5jj!5@d/8ia1v:L\`3Ӻ7gLV34U\ cJD  ?N]ewNߟchnqf/QBk/6W,ޭ`NYB+1j(7=\>`ږpQ YmkNe-g~,5F1j.ْ;r SiKܱMW;ALXF5S~I:%[нV `1̅%j*׳J"KܴwP8C=n"]p?爙#:&{L-`ŀ,HR@5q*v՘ld5$6uA ;WK' V*[0¦^7!@ɰ so }Ғ9L w{,ÿ 9 Q(~|" wYK+:^5558hK^F: DGCvԂ+e]z_0a4-\=Ss[ŁW_mf7jq[6ƑoCt|ߜYz@ʺqS7P빠޲_t''NNEm[Oc;G/?[ %`Mۭ < Q:r*i]|sX]s+bO7+X>EtBs&VxIt~Jr(u0}nr^qѸwOA1A{T{ؽL -\Y!,?z?Z)ZߖGF$t?@tC[{6[0ߤ:{21f 5qNC< H&=ֹ^ ,2V8Tlz~3u i%u%nj&ÍIu5O??[~ :F4'<FAnskgI]c)gGv^>?آIeJ2IR=Z.M>PsQP[4&idBEX= {|yI y¹Q o˛:;4,"&_ՔʯC#hzlѓ7Z` P(g[rdޛ7i$]ApypR8gUE/+[.>2+W0jݖ8~KAs>AFиfr@iAqf=B5ṕX#h}fސ}Y{ڭ+ !qC<Ոr9w8*T Q#TqsL/ g,ώ,Ѫv8]”! ;L{9ݍM>N d a@/w:nOQ:0ɓc7DSX[UD~D2o3=/O'S&KĺKRPHp g<dpւIΎ r< j:,FNlSi)+8j׋L:Tus}W_>ekh:0DQ,R[H/vO6DIʔ)(+͗f#fgCvT'VKtX &2wHdkb bQޤvsl`(SrP- 3AĽ! S̑|;EG hO96\tF!MD2vPzu+g?\$FBكeUjȵ[4^_FNH:"7Dh^{Q=1yPp;m5 +&wv},~mU^3!ߌl * s#Ng*^P[v%SskF*xNu .StŊl,•Z\2ގ_J5Tᰲ)JCȣ59#hh{Y^,mVBíɮώ5(Ysy?>U\CL,m5Ĭ`ԨqSO\bkZCYH?iv0+^f8+NKN}GF3!n}Ţ* .ٵ/DWf0i?s@Bȩ M Vٝq]wC:O\#u><°;wu|a4Û$ݧxi 4:z6TȦ2(}E˷TO@Ai 1eRG+ =ݎ Un֛PaDeCo֏efexN7k1vkI6,gz{]R껞 k{?\_dIP}xd0F:?dR1Vad8ʋ'j`+hk;%V^.EO=ج"nw&xCS<|7bqa"בwk1kFt;W] ɄV67OdT&C\oz<( ~oO21fC0VAXSgVMvڕS;=iKЧ HJ8D^g V:. G9ƩxP"A.1+I0ϴ# M an *9,eBe4^I5DV!,=/jc=:ೌq9E6bι-1,{ ҼZ&TLWFK=mȍMK,dWU9UI c9ThwMm;6r {é+XzjviQLP}+l)E'o㚺8I̒3BJ6!@#`mV6GO\I"Ct v!ΰS25<Ŏa,+RY0"Pc/FU_ҙ}oCC$3;J7OImIT| d N=&@b ߑJYDU5A¨?{߹`ޱiY[WpaX\DҨu' J)XߑUk]u~\pIpgs_a0e/farG7X Fa/=)T&MF--e:^rѓJi,}M t!۱t3^Ŭ?AtA'P`R`l嚂hqB;R %LJ?Rv!;vNc-kNUEC,cDf,,76VɗyX#wO-C$>wFJ- g76cGm7(=Ѽ`Y'WC84Ul/*rRuq)=îH%AaZ෱"0%ڨ9AjEG̽HV7fnL MeИB!6Asm iJJi;V@{NNɐS 珑hNPڇƭ#7ZF.Uj gwD=b_6"8b4I2SOu@6zn/޻ƣ`'MZ&7$X"vl dwʃDE -+_6(M&t0 u$zo9O @}/$5l{ی0|jGP6oF k3&p0,H]V&dpHnT'_7 Ucw̄#G_ #"Ûzٔՙ`ݙmj c9uS5%4>iݴs{uq!J|6S;1џчK}9f/lRfHNG`܉?pp]OP ?ITxrO(yաV`2D:(SUǃApI' hqFkvG-OBQT5-P!y5\-:Lailie5g q7(@CH%:tJ(_LtIjd# HsVtJr0^ "D~):K.E^#mcPZRB 6115͇NIrl-:xɁ XcD^[1 HxHm,5-wlhqK4I( wC[O=RBJJw$$0zp <V8VG* ) s>P@Qn$ck9A|RL5\<7ғɹTP_ǫ}!`yBʕ:̤jauXwϯ-{ "0ڐTFX\"jn/140B^a" 3b֪ k6?UBAZ٭<įƝȔ*As)*,<I2hwjpui#I% ։dt 㿳p*Q!䞚b4CJ#>VIJpC"R{mɌeѮ5;`̤ WO{e5MEy·vv[Faa4K.vqhnwpx,y,Xcp3mb8'$S#W{\47=.yI')Q=؅]OG%:sX{K4'^3Us`$sZ1PJf xU]M 򏴹 bԟ&f; uNHu ¬s׹.XeRP g+m*S!ް%$)>%xYeq*zXoU0.zN!F6ԡ~5!1V !9&)ޓ}D^_v%q`zߚ=8p_h4d a2뜫r5I>vOORVEz$@*bt2ҚK0\d" in:(ue{kNMUʓ([f|h ɦDޮW#jICw;v ϘMȓ `-GB\7*I 9}X76(<~Bb*.$'/C$w:{z+ME8/$7kĿ8xU bSĕqɃ3W̞t Y}jI/7 6zm=6aΊY`l}M k2"d 3[-_:=+1o[Sːv6BF~-h4$)$,8bXm(RIUmi[eJJS)UTyVkf3G1MΜߙ@'ϴ~(2)zHG t"ƹR툳@+t[酤rd#49G-?ҺRN $׻@l>ŧ!@wW)Сޣp|/v$Y4DXS6&Н^L |H@ЂފVAY>jB9A .Z@Ri#˸b*Oȿ ݆Cj3.Ia|cު:H׃> nJT#]s0oQC[$ԄU䋧BJwI4LIp#}ǭOs4n\ `q|{9l " +O*A,|;Ռ K5ESRK =~wC~;Z_)Fh%WuŻ=fbQkJ+-7ƿ`ɔ ^?ٞ98}qAUV\7b c*Gxuȁ>mܦc+^{ mަ\DG ˲ -u]:ִw'^H,LЈ|Yў >fG4XPBܢ[ 7BN rT`jRkZ7aH^Xj)?/0Q?&;pSA-:!%F|QGp@I?(qQH.sM!H$y4,EdE ɿB3~jdř3~@Qq@R *ld!(V7p;Et4(aBN݅tJnP,Vk' A)\L>˘(Z$nx?hO.j?i)-$ .А_,,6sKퟟyztn!33}D( zVp:x`k>e˶k\ 'l1}pl5 )E$$Oyy3b/QW2n#\zɶ`n(t7*}}%+T7^PGϊQ+L¦Z1Mco5C[,yp2SUa5m9sǃ'1=NLB]cgɎbgu1@-V*p +Z-.Τz*~SfX+T]A]M~PؑFR 20cru.! żƳ[b/ٵ̧m1r1@A>^È-H6@…$YF-<4 J|+>6ZOld+9D{TQ(_fyÅyl ʒpa˪).tņcdTxRՅ1YF~Kogjihyݭ v=:"5nc)l o4NFi{.>k5DZERwUARXV?'V#9ņW<j Ƭ/MEȤQf'PX>FbO^ECaqzY[jt xlI w9D1<צIwgfJcxWH|@{N8<`⁁C1>W4Z%t'=Ey[%3Ԙ2[c__Z=~^n9_9(Wg`N"EV|>bKwa]-8 *ZvpI[IEb]_YjQ\C-7_F 1haA2ǻ!K̦ B^{O.)HG%A3"A?b*)ٛj9SShhf{ p #ԤrmjU"%>ǐ.K}pW\[(\_'sKqQA6csX?i}?T&Xhg9_ע½{C HuvᠽZ` %F|~ȜpeaK]=j;Z)?qeh9*ͦ !^v&͝Q7.8]9"oGHD3cAk0Ec~m9PgZe1bOd&f1PץJ^9ҢvHz^y$~6?6uW62x9 UWXz]i\0M̊WoӽHbƃ3趢-dL~yC릊ˊ\,A)i~>__I 8ԺE}QRʟ&aݡCqLv qq i_KO i>s^]M鑋ɕab binG\.3͞|StA`骓-+Zv[ ޛeBkfm1 fn#\܅ɋ eWN`{Cn3}m .z^eZM`ZDL˱4e±6~skgS|E|LIMZC }ۗ %D*} r ?kSD,|BS~sX=@qN{GV/m:~džVV#UaHB7M| K_mY<;~M4ݴq;. I+C %e1 .! ]!z %/S(fe'ID?"F"pyiħs]C`;=Gm`PeqVǑ @b5ӕp)`/Lc:A@j R dJ`'ﶅ$~W7{WBf? Bn"Bӹ0rnnu.;M)m__߱޴868bdt8J6i=7FU-,i[m'o|р׈e#=Ǎ[ßv)+! y6GbM6F$ [bUMr/8[3¹FҔ}|^3Faz5_sְ9xA?!FYE=v8!PJ[9̪ t#^w8)"4[2pRBg5,BcJ6Eٞ 0Y2~IR;zAff&nˉ-wyF,]Efr4祠LW>.192Fo7A &_)_WvUAτA:,hm{q9w'ZpP'V<BQ9̜X+*KfG딵<ّK9hULM?z/*j (qlFC0[D@ћhPbkyFg|[ e{\UGb&T 28gL0p]BV$.EOS|׋BˉOPѯ^[h Bs&mɦĠ'v3q뿮%zn6 9E6tc|}%zk|ۯ $)|p8ψSTE\edɆr:Dhu(Nmcz{{F9F./!dCam?Pīk ^/הIkUYS\JYnS yCeMi~cRs*IiP urh2 j)ylZP@mʌsk2g29ܮ-zS^ӎBuw>xsbz.FFH%GI(m,MɿRsn*R! 68uN3mpH |6d`6/&FᥙtΓ;7rflkՠlvF/[Y\ #T:(Wf0'sPJb=A=s0H tXځX_ܰKv] \MQ*?o-bt XՕ i ^&>5;ؾ[*)7VUIO8*\Ñ 1S×?Amָq1LսҾZ3"Lcݫ C<`;`yk?v1xczAKnaTWÈs*1=}Q B?}ժ0{ySB"J%4.h][ # LQ3g<{'.$Q)BX(ׁT Z tLتX *"5b:stk^ˣGu d}x9zVעZi%7'-Ն0jkR#p%Tpޘo۹O%/{hke0TF r qmկ&?U;-'~7\Uς$Nz?-Ԡ;9u[w}hSlh%r#I;> ѓ]9;Σa4Vav3br}$d>6EңChON"ZʜI/(ƀ4-?~dCam~ bƺ:-›(]aiIK(^B(DIy! D {Cw:HLG"8K'o$$:XQ>.]itA ŶW ץxns8N8)/;iN|+[w=ji\f=zu9Kb (6v_ڜ%DǕxOU{^7P{;oΝ["4,&U @@< H?=18:fgz-H=~垠UGhdH; 2+(m~`,MZ(*g$k-۷mQ5[œ`KYҏ ;ֆBgAz:o(@iD>`!T]<5<&է{!F1 /: ^z=6~ 8C:ua'`"ɬޜx/ZH̾MirC5F6mVeXTAߺL K+6]-~: ٰĽEӢ 5 ysyd$K}+%QEym<DCs\2>Hj74Lv5}@aR ^02IoX͋[+I6}L\k畘m\bseg DGͳ/2ϤB;52xŕ^7EJ=l5cL_;o NTZϸ)x𐆖="vOWiDY571E0F-%hmkv{/P2vwс>/=B  ۾1iuy@U%H2\-o͐U{8"|A$s:L;Z2XU2>P t=~i_+68FA~Ɵ:R`G a ;EFg1t;!h`~(fhQBr΂f7`$'CqK>Ǜ抋OՌ#N#5' d%I ̪{Ͻ "_-0l2 Vfi/ Hs:2KЗ6TZef=xob.;$[G[ E1MdpwOJeXz\UwV"d D@#f *%\<"Ϝ8_ ۃ7_.Z!1)86Ωy/eҨ ;mk RD6upw?% gG_nӕ׈g{}|sJ(](?3!.?Bn|JD3ƍT#geY{$( WGTTp4o);c?ʴ `GoMdBi8\حD!M35@,K 8T/a`S?%]BZp5MQ p1Ӆ)HɤgC 16v= 0&Qg7y-[kNZfV!SFұkM/UQX~t -azע2&ж6{.\9_.H4fݥ"X.ŖQw}}.TxT !dRcP;0E?KјMU(tLH_ͱݩ'd3,ț3ЙErdв!&nY WPFleΡ,WFOLU;i_WۢP86R}T:=|)ށBvTٷ7W}=O?"ի^3nΈAZ0ۜdd![J?wf\oEqp4="Uu p]F\0=^rԕ} FvB #P`f*W w9E_Ạs!2 [ dv)o_i_mu0AA(^l3m$-8-EZ,^SZ:ÉդHH-VWc,e2XoKv`aNրRY@1KkWm/KYkJiCsț4w[zȴQWh}=EBb#xYQW:s$ej+"!Q+ȝkӭEm_XCeU!#'d$kMd;'vɡsuaO|m> XY؍v;S٫~?޺H{xC;jXYk SQ@/&fJ(oD~ckdQ@}O(ԛIC(SC~({)}Jӌ(\e!]|lF?.2qL6RɕIZ1Z:T6K ;P.>{`5™s-ܸٱO|0;]N~JVYv$aa {9?39{ 3~Ne@GvnO"dQXKkv'5c5iڻ^S#3V=yR ?+W'Am}&i*M?DJqU9 MGq1lMmD΍)z7__3ɤR}tH](?]^i㑄̷Fg`6L^mHW?̓PJvJZ4uB q>%f{bBJj\k3ߗ/GQ|Uc3 x%xвeD: 6#pDѽserVj"זbGK]'rL4Π:9]xs&3j*?h7EZg"9hK:“;f0t8T;FB}Cd,}Lϔ"dBn+ Gvnޭ*83! Q1 6br3Z,<*f &]bf=xh#:H;Cx}N=UZ`wc+^=.6Eĸ 8XS2rAJ=)7Q[mX!,lٙ1 eŋE}\mu\D_7)8rGt6V;:Bh3A%)%3Y4ɏIm -Zrf~&&ˠ,2_8,6#Ł( @8/>+=:Ł:ma9`uvr[gvݹA)xyϫD] pMf/:_Ж^ vJ Py庛~1J[msN /*ȃ &wx䴎,iC4apt vsPUR"DE8HT$s'EpFLvڭ"L]WyE 4'O I+)Ɇ 3X/G)LTZ:>%F)ǩZ”GOjwH;'&n۫p[Ŝo.Oį)#>uo-B51S^<S2#grA̓>y[99-/DƄ}bfRKiX0H|C^^|v)4h B+J',E˪f:3z oIuSڦrIjUgئh 1=ehrY8p$64pB' wAz"4N3y^} DQ?i"v@4եeKicd5[؃e+ 2@9UΦiI&$(BtL̼Ra$% q;ʔzCPkOw(|T:S]4Ӧ)A ńVBQoCZ Z\b0ܱ,Ryu_>>đ={gF U "Db4=۫4=L/6k8]gl}@ZM#2r,fWx/ ]⫀Igx/h6(uI`=jidr c#4Ԗ:e(}^.Ge1OE!X4V+{QBi // I%K`jⅴ8cPLR o] zɖ7WE3v귑f EC JX+hpDgI6~9iMĭ_kT "}@ ;F!ȓ Ct7 _x~-4:; Xpd-zUv<{f/ߕq3í]A N-ٍuU2<V=+H8te0~ yqskɵB|3)&.ȼt [(0Eډ`o: OE+F\kUC׎re3Vm.N/JslS4PL<#3s<zR )jgЬ:;fLaja֕< ƭ_@}q@*\F_nˁs1rHFSeɉ7ԍޣb29(Bⶒi/ϫxyz|nX?>ͺMDdpMm_[};8*ٝ|`)`_-r߿'c֣ 9z1mq gtnXcQpv=3OJNL$b?`*hn&3+s BLAHC7b V~N-BB.ө<cx$* Gp uUWk{ӨQdZ103-qx!{&&Γ7^E{%! +Y'g%dCK!lw/;6,d꩘qxH 0Y:!N\v8Q v&M5 5Ia Qi]3PdT&]Q<1-p\di|e3żi8Cu Tx..ԙ֮g^Tac?,l^tqB'q3Q (c uN;nN5$ȭŋiS(lU.?*Ӯ|d_$ Nž *ӌ=SEEJ;u)  Fk)JaOAn,5$NXbL}?lt$9)UO.xcbZC7amgLaO_ 9g-&.u/D&Wdb)oNהRPd):$ha^w58"M#)~xEZ.pWb{.Idڐž&⼋Eљzjy#Kd}Y\Ɨ%.j`$v#=n'Qr)Y 'Yms< f+# 8DFh!9HDuW/ov{P$l5=e9I#S;Ƿ>f0 )?yw 3n]>cLEnx`e1BѯV=U,.Q,IHf(=6?$M$t=˃om2MG_np6s B>ca\LfyҰ hIcxҸygn"NqWz<ߑ6`\bEAL2# Qӈ" -gB5akpRP--OKK;Lݱ6K;Z|Cy@hL斛'c3(P apVno"ko~ lŻŸQZrdBpհͱ6^24ڱ$8r1}n,v&lk<{MdGV >>A ĂL\(JZ(Q-Ƀ9fF>5YZY9ޥR)|_u^t8q1 3NY6RX)KD ,Q33)XP;Y¸utuʫg6^HkVOL Eh.Eb%;ͭ`7ڳ^Dƙǧ7D8u Dp]4*>oL4yG?=GB66zǝJ'+ѝ8#^- _cYxd+7"ASh 3<%<&3Zc.[MMc\D K>f{ghAafx gg|ZY >.ڂH*@{>An k6lǐ%F  F"l8mӄ&^,@㈡ 7ZJ7ީL*C+LnU }ש!՜,bsDk9~F\dp^TfN Δ|Pӹ}cF&Uax aZ)O'+3C H>d6gzm0?3Y54 bjTTJp rF2x$ZCɨ bs;7kxb@s)է r8JuC7GIUML5]d},Wc+cķnŚ,4{*Ƨs}#|w tbGx?x&sRC}09riT>ݳ靸.Ssj= l|W[o[ cMz X*v̳W_}2I8ZQkv}x=euAΫB$tXēzCߞ!X&GTXXe@Ox آzGmʦ>gC4ZُUVtf]& UR&^Ă0G̪`X]553mSptT8%&Sp犀F,b?(C bݻi#Bi\I_j:g%RJm "y&zpoihZw,3b/HPې5 hmX5N7/7&O?Y8o\LBZw8,Z38, f=0iЈnzt]m'w`X~=gȜGk1?ǕLo9:ʧztItqD]H|̚ w .nrV@Ղ>.aSidW岌`Mgs#6FE |泰9F:~!22(|b-;ug#쁫.u01aG1F0'dʻA$`Zlyn5XFFD1-su' S@3 {@7#s˰/E ,P{2ǐ+\IHX<<|~H!R|>0*unzMYTzYU%h J70)}騎uWX\0=K*S\ i9o].-3z{ * `ġ=z>fڀa M9SO`ϓ$2zawLR[أPh pcIix`" aqaMx}RBТ} X|y>vn1qȄ,bVBOmtg6eqïF]gaʁXzo_›a(T_PMAI/pxl *lCj4 Mp4Ƿ.7gF?-8bNZfhk"/žrvq`>'2 <4ڤ-S$|,d(.77L*uJ.\ -H4V9خSHw-B4_AjrPdfdAjlk6k?3(J^[2D'*%2ɐv 9 JJ:ZJKD8sUrțx;5R&Rq3I^DȎ6^{opgo)md d~__ ȹH8Ue!tc-e6ȷjhK5>L.+X[:˼/@!; ߋ; 6&\y)CG0cr<IA=KT;ί! @L,fZcD@!v]AxNf)#)r~]q@wߑ+*@9_bdV"XSp (Z_r$):vA/Frܠm9 \q*,#,6`X WN v1VWv]9_RK^-5}1["Ra"ã~Pl^'& omOś0o2gH-Xr1%gQߢJӈz7y:M Y| c-@ `pŤ߇Өni44ج'ҧ4 Qx2U |sXQ/ <,}ls#}ZA^iԘ>l5'ֹ([!#e=6_e\ Mt2|.]tݍw)H%M[M`oPtRdI5vCH#"4զ~(Yx򼵭t8HP!(ijH;!qkd`*nK;-` !Fs׵" cA]~%0]'g H\;ΖҴ3`y+~72˹gG^ CVh vm?#5H:z$ݸǢvJXpqFxȄ&DS~ˠy&^Jm\J(OLxb.6p&u7O dNUV O"7u`kXpP#h$ s30ȟtM^EGihn0d6˂,i=ep1YA^Zq'k',h~u'ɫlBG˰Ϥ0ʈBY0ohw7Ůj C^ǹi9-@ S IGSn盷kY7ĻHROl-#ƻ f@ꬍ2v)~eʺu9%,% &0`p6U'zw ? qFme~Ym, Dxa{p]m5G5Ks6c:թ\BJ$b䯏5z75H"MKpH1qDo!c$leKjn%V)RQ:})RR)rՓv mÚO׳A֜\ ՃY.~%0O|iޱm,(@]viSIKdHC'ēMi; Gp,cE{]6ux ) ,Pl> jf6e: q^!q}RkI ˞v.@3'uMPLg}cX1Cؐ|FX!o>ōO _|N^9`30/ X!϶ ZXm)9 w}@ʹȂ -N)snU.vuD}sz6"\Gd  Kj68";X8.KL8iN"Tّrwq+t7D/5 _ L1m]7I:}3^s~^afd,q.ZwF4Bʉvtﴸfsv:YC*ʓG$91RH$ QRvP@rl@d2.ē酉[!v>N hԿ7x'Aʀt-wrąTzz8|WMB, .n-" 4qM>+YрW8Gz lL(IhH?sIs0>fMc!H?IV@:&Sv& )?h݈ozK L HH7<$]%Bn{Aݟ4a'[ AZl-JV\ CPzB2g* [9?6yގ~yu,˷oGʬ `W Ϧ'9V.sȟDe~SG(Yq )48!Ms^;LzMi+ǽ)q']}]vp7"nIƮ~u|S䫞 ` e@us<^`EQeݤ!)xrmbs+Ȝ[Ah!6 *~<`7Ɔ8ųꮣN=A?3Xk ܕ1h5]+.$ $2r>?=t5oBMxA 7$eI.3Qf V3ޓi"Xi4V [&Dfd֜N/QĮ794ҷGT=*#fN oԡR)f S8訡*: 5jPtN9_q-bXE)*vj*hg>'X=}%拧b->jrꇏ{X1 UcbtI--D:=ߴT>Wzi,5wL[=0 jt;Ru폗3l; )-!@P;p8x=}0.nJIbǏ{m#[2A}<7%܋X07!%<ߖ}2hA2<9+ޞ$ah]6 ԣ[/ M Ib ?ЫۣdD*)u g4Q(׆,{ M[saP{bNǁLː_iӓӽњxi d>\FyȓN)YZT͟Țû}3Yn9> H@g>;drYuM*x\@L$a `t(yyфY{f-sgCn!1?oxdѳl;Jf'UY'bY"rlΜ+ђ˰ްw"o?'͍RCSP%VNIsU#&pS D0Eb۱MC}l|&Ƹp0 I5 BO׾RLswYc&;;fPfp`y"SMBxtprE΃@ΫsAQ-"3N5p3N['lca'oNzOe< &KS1 )#"./6-\rO@yәA !")6^]pH"xx˯|w;Li0~z"YU>/KVVHBh {zbu`*]zHȉ(Q#mqZEU|{JG(z=țw_CЏ4GGt0ȷ&( uוDz"4jeEKs~V4*YbD":g82q;6I|83,̍FO-iK5-á59T~o'Mcy7ˍYP-/UNOA+dfD2 #_{G瀋v*ߐ^XC^b8&my|o~~+d1(-;V}|*)"~͵g 8~ m`dR "ӵ~%3JI Ǥ1K4?J9_n%|AV 2|JcM/4sbwkdəhH]l6hӦވ+}~'cqJ̪zW56˙ 2f0贬'ZgV֙pNA%%ۻJ.R$0M,Š{>@+H-Ⱦea=`p?ȋ K|ܒ3cнy՘8Yfnkh@۴Y&fUgK"P9j - ƚfG`'˪|/Q)\e^Z\t+Wuµ7 Z%Z#d ϔ> Eͱ]n؊Q,kKoFG1&RÈ?M>mmݤqw2<1},f)AAK9jx3.%xG 9 hKcO!;,Zo}6]5p=rͬ1d;2<G,M$ B M ԐXˤ B AѼc6 .'PmDr7\(Rcs]-$_o(N..nؒ_lJr*TtwAxt̷}MhHppDW0II$rv h>L7Dhq}1 z!Ԍ=H僁%&mF8.rDC^"lWӇL= 5M`=sa5`oSnKMJU0zG igs\* iy[ CAH[OXx4- ϯXIHAu\.La|=t8;>`9l-x4X6.VoqI'!Tә&'IU53NBn4Om9gf%2ydiMعzG{Jᅄsݕ&JJ<JQ9uw49L>L0 X,(O+,O =IU``VIws&A4-z7XTRHbU6-*[ABWR ˃ UOuiD!)lX`x|> 4'0Ǥ2buc T~uy0kÉ@$| ;F~T`.4Dnd*=4πPz،M(c8a1V ~W󱑜9l ftDZm޹j%)S2,?3q ^QB@V#ΰp6ӎ bԸZĔi+jqG2~&ĤBXH=FS]a_$.?Lº7 \v(Vbδt¾#sӧˏI-V5V+'- e횎ZӸBRR=$r'Y=@ {4 @+XxgROK8}iaǽ *Uϥŏq)€Y/}FvNUV`:m^U:HZQ%} s`$FHCWN ɗHfRzj tY(l'Z{  p&&*.ҟ5F`3} Nu}0?V-Id߳.ߙNk/KA%:ǵ$0}wT=OLΙK S4msԉ` ~&%!rc-`]$hgꅛ[X%m qxT׼#*#J^Q_xZgBJn{E 1b k2ǖ#ҝ0Ot4YZDӿH<,u@rP4]{#I206r9IhMALy/E#i+6jE/Ke`Xr %Mf _o2\w/ _G-bgWZ6tm1O 9:U c&pΫ > '?ˎi1}65ZQKmA7Ώt^˚ Lw;cAQg=#U4ɲVDscIe$\Oz92յnƅvo@įQ1<g i$rtО5GzBN'o#9 ! w Xp%F˸( ht8`39)(O&\pGP=Wiv,)PsPHw*Uot̀o:'h %*>񜲬$@p:[`殛"3ethj*h\W^e|,ټkő1k=VBT,6Q*ntw\:\?VJkyg`3D4Ҫ5Hhۙ]8by58AFvY}cD;\H+RbB楞{mrUy&RQrKRq2o\|![ҡ.W @ J||eԅ/{ PAdڐUE!#wwskP :ߡqƳ>hJ ln(nڈؠe9Ι k(l9'M }l\h g!+w=<١_XΑ9 =2ukX[PReqv,rg7B_9:FZ2 %MDC>tdTBk@&*VςGqʫx`L)OJf*T& S[į]{Gx:\/ghL憻ꃽl+iMI9_:3ղfؾp;c)mgrх4>yWHɦFwףX1)FxTC1LK!zv+h'.f]D1y/ѣ[BC>*-hށ9 ƀ/Rȣ0:'aپAlscFERU"~?M7F/qLQ٥ L?%t"aRA=P2cTc@ż"εܘ;F]=w3-a T"3YI4<ee[6Mh~~2;[XBG)hIUF.ND_z%37zf'[h t0Ns#YXXlsKU /#6,\ eE=W-F0x9ߟȧжGSc(~-E9X/5;GͻBu>9~ߋWK:۪[%!;mlnЉB꬚@ ^~WpeǤ~ꊼ95RQqCJ'SCky] ۤx3Łcpd;Mr sFT^C=ME|WuI董$vrF8Ш٦m}`9X ~[v2!qtXC;Tinڠt~ YjCpMZϟ3mO_27t _º!l_l˾4@4'v #"e ?hhrVkD p1j!vs8' T3@ՋǶ.s0PYt0Ǚ`G!KpmbqxՆ}&",(y#c K{ڝnG~#Ρ9Oa2YhgeK!E!SZ`G֑4{ìWUc'ý!-!@w!9\,j~pSi/@ER#vSIx _Pȫf n-Brp4[/TbDJT 35FB[C7f,S@-)!l!`H}ڙnY?VZS}>b֤39>Q`*]DFi1SldCO5PZ@hifD&) 8)+*In"H M (5*p|_SaI>ͅ;0W~n71;x֛? #HɘǮO} 7BJW !M4b=f gpAxjen}9L6𕃱Κs"#_ӆf`/Ӳ%unJֽU_46R 7\6U`LWe )gB13;`ҚΌ_̬f4*8LhKДD. 碾ӿ VW1R b۸splz(v ^Ҕv?)P&ޥfc:(6sBIo?q68L& 8ZPT ]|ŎZOo)7yE_(6f3<:Ϲ9a,`Uckb9qyvQ5 K2c̄>4QՁ!B8ӥV޽ oxP7ldV! u_IqnR-#.7H>`*jJ0qjhn>j@w:o@NLWc©I. #S>5$v fr.AF35^ j|ŧƌ5S@&6DM߯_dÚl"]DV$ PA|=c:`5 XN!>UL{"PIbڰċ.(gLtf!A{ޢw{c%T._Ԗ"iy$p woU(U>^}ۙ=鱧ߍc#Buϟ D0PV ^x !d/; ;CQ"cW;)KU R-UivX~2Cϭ{z˝5l5'PH>mTތēZ 7 B qs>CS)RExSl`v;!v8PMT9k_miU# 㿙F"q2q4^ 샱Z'w(t jgl{@Mf75d4[࣭,,z06Xȸoyx:æ P(-;DoG&ؔ ܇ UÇ+8R`XM-Oa>^Lkj}TMbѕg.eB[ҿԠ$kNQt"^,dE dC]}~b$J|T\׋0Փ_.m*!p4B ,A_H޼D)]p}=˭N|lO92-NC-/Z*gqel6}wvj]M(J pym`{ud89|[xn8:lCR[)C [Q7\r8p. hg37WAO%@hBYt?b sgQ6-vo lBw\[\J!1~Q\o"`@gz\} -Y⃽6,H'Mn^ϰW=+R· q)TT*:NDW64ft`x8+˄*Df'l(>x:D^p0=NPQ:yG+s@7*OkGPtX5{+ԲT,[o'4B>L1"U v9Ol7F9d"(NKۧw>C#.fg3xyQZ>HsQXva* dbN)/o %_nld7KY$с;9p)`ȝ<8 I&o r.ycX\ϡ4&&oyK-B4/SDU/Su1rI@v#;amޟXiv^Eb r1/e[qwkǶ0A=x.]fsQTTF#t?E@C5.>xvGaf< KU Г3^؍"- ~ҟ|ŖR^FFG%)Jdu\Xw$ŭ5Q#U=n۟.[ÂG[>uuwo^*s80ѡlMc_w5eiЊZF4;Ho'zj(/Q  [ Njj yb.ƫD8pal$m?7{WTdph 3~vة-o({z"+.$WH:vt固ǠhEf\E۳2T̰>oʨvW?^Pe ϝc'ϋ]3DFh*5Gm^R|uq_Epޭ(#q$̦_fIsmU^;?M 7,k= ]/F~\bN )yv.H.\'JJ&^JqLhGV@ NĐ7GQ%hSM#}\zs_íyqYC PzmoX)SK=v f Mt]PSI /`=q'Q<*`fS284+^(?Ԃ@$3@8ѯab3yU4-L^؁J$M"q_nT3 ]dC4a7/N4/m4Z:h49~kZ!j4m3O QYR |FfMssm^<qmtH}؂V/BvPGAՑr ,W!|GVGa$Ҝl#6& BޱYC> ]"C#p'(H_8 +ncO,u#<^Q=:<#bZ,<\Q)/r,=2{DBZS.*,G 5,c t@lB++ Ho ub C!K`MM ɐ \ƭhB>ylĄ$6;7oT^JÒCq!r@6{lRӐ;T(}ҿu25E4ՙCt9|ǑVxs+8FߘLwQcOk}lb|=T4эQ.u|3;o?ɾ8HMT?#bC @ A0K>@۳cUb# fuAftg Rizb<Y XFpwrAo*N>(Zqa}}m[ )H7 6+Q^ɞ4'mBWI^#EJ:p'޴|#YJ*x*-$ST7$'y{~&9eW,, C9xK ^JoJzmAC_9Qi&@u| ˢQ#'n@DVKTAEZOkt~,l}d@TmLLL4gu{A h-;*MW$UAl$w0"Bf`3wSXL}, 8W*`٥Ayֽ6#̆{Պ@H+D6o=ԡ(*~u [fwQoq\cOK3r~M П P3!= ]^rY,t N dpZF$^f[˰Ph,Ewcq H|7fJz/\O.RUyՅQ_EALu9٢k96J^8wVl/]6/F9n7ikAT0&ǿg?6#Y܋ǖrg~7)qn8SE\)&emqMb+K?jqsYO..]N'76x ̾7¶ YZ