tmt-provision-virtual-1.27.0-1.fc39 >t 6 6_6 3!92d LuZLdϸ uZLQLV?\3j-o.v腺7W$ol v#(OWn\ PmFaed ̾8PO=rd_O) xG3M=4h{KCv?v0Ym<^{XٳY-&eV%A0[ >lԻV?9_Oc;k!ZFFڜ&X#!)G=ImB?aLsjV/}ԩpoLNўRGO[ﯥO}h,G(Jxß+|d:5`ѢqdSN(il9nŶʩܑ>r_(1rBwwxr]S[E<^+/[yˍ^~F1 viLki.KB1J‚G:eZc5134bb9f680ee09aaaa70349f17686f5dbb29c824770394b0fad7e687cece9d1e0fb733355bbc6ad15941af01e0972d2679fd925030204388b603e00473045022100ff31da7bd2ecc50ef89a979e5e806df3e349ed3474c56fd674abe56d3f6bbdb8022040b1d2ce8d5515f71ec4b2f007c92970d80ff4be565e38504f34f0204fe8db35030204388b603e00483046022100d63c21ad42bb57a480bb688509c0772beea23903ee9ae9043798cb410abd6d3d022100d4f4e4749801e5840caaf237449df6e44e24926b3a62238caeed6405b6319612030204388b603e00483046022100d37b34b25abfd8458ada23738df171cbb6899d61ce3b424fa71e0f001a3e6e45022100938dc7d489e6dab78b21443e5c1c1b66c24b41bca5e01f4f1f942fd750c187abx3!92d LuZLdϸ uZLX)XjTd&Xfm CaEBWIK܌jشʖL&8ZZE?b#R!t[!'BRn5IԨ@ 7Êo<s!ٖJ9{R7H7:K 7/7+wub,˝Hg֨L]zH' 28 ˚GZ TÀm&B\Z?=smB \S۪avqiρƧ(~f"䴯Kl)-HXT0I`rZ[i%}%`6gj ¼Z"d-"{Y1Jr49_8>`D?d & _  ,2<H N T ` # (4CRlx   (89D:-BGHIXYZ[\] ^Sbdeflt uv$wLxXydptPTCtmt-provision-virtual1.27.01.fc39Virtual machine provisioner for the Test Management ToolDependencies required to run tests in a local virtual machine.dobuildhw-x86-10.iad2.fedoraproject.org\cFedora ProjectFedora ProjectMITFedora ProjectUnspecifiedhttps://github.com/teemtee/tmtlinuxnoarch{a|Rdddddad32fe149705f2a36cccc6293e7879c63f07b308f3414531d1eeb95a44c53d6b994eb324bb91e5dc78634a6223a92d2004601e7e9c553b8c9ea1cc9d12141d19ddb5578ddc8f7a9931788a05d710eb25860b9f426886c03d8dd662d2d326b6erootrootrootrootrootroottmt-1.27.0-1.fc39.src.rpmtmt-provision-virtual@      (ansible or ansible-core)libvirt-daemon-config-networkopenssh-clientspython(abi)python3-testcloudrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsZstd)rpmlib(RichDependencies)tmt3.120.9.23.0.4-14.6.0-14.0-15.4.18-14.12.0-11.27.0-1.fc394.18.92didǢ@dd@dq@d\d9@@c@cck@cD @cbc@b3@b@bobJb\@a a@aUPetr Šplíchal - 1.27.0-1Lukáš Zachar - 1.26.0Lukáš Zachar - 1.25.0Petr Šplíchal - 1.24.1-1Petr Šplíchal - 1.24.0-1Lukáš Zachar - 1.23.0-1Petr Šplíchal - 1.22.0-1Lukáš Zachar - 1.21.0-1Lukáš Zachar - 1.20.0-1Lukáš Zachar - 1.19.0-1Petr Šplíchal - 1.18.0-1Lukáš Zachar - 1.17.0-1Lukáš Zachar - 1.16.0-1Lukáš Zachar - 1.15.0-1Petr Šplíchal - 1.14.0-1Petr Šplíchal - 1.13.0-1Petr Šplíchal - 1.12.0-1Petr Šplíchal - 1.11.0-1Lukáš Zachar - 1.10.0-1Petr Šplíchal - 1.9.0-1Lukáš Zachar - 1.8.0-1- Use `testcloud` domain API v2 - Bootstrap before/after test checks (#2210) - Separate value formatting from key/value nature of tmt.utils.format() - Render `link` fields in tmt stories and specs - Render default friendly command for guest execution - Use consistently plural/singular forms in docs - Make file/fmf dependencies hashable - Rewrite git url for discover fmf: modified-only - Refactor Artemis and Beaker provision tests to make room for HW - Adjust imported plan to let its adjust rules make changes - Get Ansible logging on par with general command execution - Support Click versions newer than 8.1.4 - Teach tmt test create to link relevant issues (#2273) - Add story describing CLI for multiple phases - When rendering exception, indetation was dropping empty lines - Expose tmt version as an environment variable - Fix handling of integers and hostname in Beaker plugin - Fix bug where polarion component is misinterpreted as list - Refactor recording of CLI subcommand invocations (#2188) - Put `--help` at the end of the CLI in the step usage - Extend the expected `pip install` fail to `f-39` - Make `tmt init` add .fmf directory into git index - Fix guest data show() and how it displays hardware requirements - Add lint check for matching guests, roles and where keys - Add -e/--environment/--environment-files to plan show/export - No more need to install `pre-commit` using `pip` - Ensure that step phases have unique names - Verbose regular expression for linter descriptions - Initial draft of hardware requirement helpers - Simplify the reportportal plugin test using `yq` - Add dynamic ref support to library type dependency - Remove `epel-8` and `python-3.6` specifics - Use the latest `sphinx-rtd-theme` for docs building - Full `pip install` expected to fail on `Rawhide` - Add missing name attribute to report plugins schema - Add missing arguments in polarion report schema - Extend sufficiently the full test suite duration - Add support for log types to Artemis plugin - Fix `tmt run --follow`, add test coverage for it - Remove the temporary hotfix for deep libraries- Do not throw an exception on missing mrack.log - Allow injecting credentials for git clone - Exception in web_link() when node root is missing - Rewrite url in git_clone - Add support for rendering error tracebacks - ReST export plugin should accept --template option - Add `role` to the Beaker provision plugin schema - Fix test checking custom destination for libraries - Create plans to cover individual step features (#2216) - Add cache_property for things that are generated but not often - Simplify public git conversion with a declarative list - Spec-based container becomes generic over input/output specs - Clean up logging in `tmt.utils.create_directory()` - Move test framework code into distinct framework classes - Add template option to polarion report - Group discover/fmf options, improve wording a bit - Record tmt command line in tmt log - Add note about dynamic ref to the plan import spec - Use the `Deprecated` class for deprecated options - Remove `python3-mrack-beaker` from `BuildRequires` - Switch discover/fmf to our field() implementation - Lock the `click` version < 8.1.4 - Refine examples of plans > discover > fmf - Override packit actions for `propose_downstream`- Test for pruning needs VM - Internal anonymous git:// access is deprecated - Beakerlibs pruning and merge - Add dynamic ref evaluation support to plan import - Replace self.opt() when looking for debug/verbose/quiet setting - Reimplement the `ReportPortal` plugin using API - Make `Step` class own export of step data (#2040) - Make relevancy/coverage linters to not re-read fmf files - Add a single `tmpdir` fixture for all Python versions - Replace named tuples with data classes - Replace `/` in safe name, and fix prepare step to use safe names - Do not export fmf id's ref when it's the default branch - Move the sync libraries into a separate section - Allow running next plan in queue when one fails to complete - Fix a too strict check for the detected library - Convert provision plugins' step data to our field implementation - Convert execute plugins to `tmt.utils.field()` for options - Cache that beakerlib/library repo is missing - Use code-block directive for examples and code blocks - Add the `show()` method for guest data packages - Turn fmf context into a fancy dict - Enable ruff checks for mutable dataclass field defaults - Create option metavar from listed choices - Document how to modify imported plans - Recommend needs a different option for `dnf5` - Ask ruff to show what it fixed - Bumps supported Artemis API to 0.0.58 - Use `--version` to gather the package_manager fact - Use f-strings where possible - Bump pre-commit hooks to latest version - Fix ruff RUF010: Use f-strings conversion flags - Fix py<38 mypy type:ignore being on wrong line - Move isort to ruff - Enable passing Pylint checks - Fix ruff RSE102: Unnecessary parentheses on exception - Fix ruff PIE: flake8-pie errors - Remove duplicates from ruff rules selection - Fix ruff SIM: flake8-simplify errors - Fix ruff RET: flake8-return errors - Fix ruff PT: flake8-pytest-style errors - Fix ruff UP: pyupgrade errors - Fix ruff N: pep8-naming errors - Fix ruff RUF005: collection-literal-concatenation - Fix ruff B: flake8-bugbear errors - Fix flake8 C405: unnecessary literal set - Fix flake8 C401: unnecessary generator set - Fix flake8 C416: unnecessary comprehension - Fix flake8 C408: unnecessary collection calls - Polarion report set to UTC timezone - Add `Organize Data` as a new tmt guide chapter - Fix emptiness check of /var/tmp/tmt in /tests/status/base - Allow modification of imported plans - Raise error if malformed test metadata is given - Ensure test with empty custom results ends as an ERROR - Fix /tests/status/base when /var/tmp/tmt is empty - Remove `pytest.ini` from the `Makefile` targets - Bad source path for local libraries file require - Remove useless loop.cycle() from the HTML report - Implement basic filtering for the HTML report - Cleanup of "logging function" types - Do not patch verbosity in discover for --fmf-id - Drop enum from HW hypervisor and boot method constraints - Fix enforcement of workdir root in full workdir root test - Narrow type of file & library dependencies - Make web-link test play nicely with custom SSH host config - Use serialization callbacks for last script fields - Save click context in click context object - Add the `envvar` argument to `utils.field()` - Improve structure of the packit config a bit - Update release instructions with simplified steps - Sync changelog when creating downstream release- Revert the `Source0` url to the original value - Use correct url for the release archive, fix docs- Do not display guest facts when showing a plan - Add new guide/summary for multihost testing - Define a "plugin registry" class - Hide `facts` in the `virtual` provision plugin - Cache resolved linters - Improve documentation of lint checks (#2089) - A custom wrapper for options instead of click.option() - Identify incorrect subcommand after a correct one - Remove one extra space between @ and decorator name - Assign envvars to Polarion report arguments - Expose "key address" to normalization callbacks (#1869) - Move export of special test/plan/story fields to their respective classes - Expose guest topology to tests and scripts (#2072) - Enable building downstream release using Packit - Add sections for environment variable groups - Add default envvar to plugin options - Load env TMT_WORKDIR_ROOT when running tmt status (#2087) - Opportunistically use "selectable" entry_points. - Explicitly convert tmpdir to str in test_utils.py. - Move pytest.ini contents to pyproject.toml. - Rename Require* classes to Dependency* (#2099) - Expose fmf ID of tests in results - Use the `tmt-lint` pre-commit hook - Turn finish step implementation to queue-based one (#2110) - Convert base classes to data classes (#2080) - Crashed prepare and execute steps propagate all causes - Support exceptions with multiple causes - Make "needs sudo" a guest fact (#2096) - Test data path must use safe guest/test names - Support for multi case import from Polarion and Polarion as only source (#2084) - Fix search function in docs - Make tmt test wrapper name unique to avoid race conditions - Change link-polarion argument default to false - Add export plugin for JSON (#2058) - Handle el6 as a legacy os too in virtual provision - Hint beakerlib is old when result parsing fails - Revert "Fix dry mode handling when running a remote plan" - Set a new dict instance to the Plan class - Replaces "common" object with logger in method hint logging - Parallelize prepare and execute steps - Formalizing guest "facts" storage - Support urllib3 2.x and its allowed_methods/method_whitelist - Require setuptools- Add `Artemis` to the `provision` documentation - Add artemis's user defined watchdog specification - Add support for require of files and directories - Expose test serial number as an environment variable - Print only failed objects when linting in hook - Refactored metadata linting - Request newer os image and python version for docs - Explore all available plugins only once - Add test start/end timestamps into results - Implement `deprecated` for obsoleted options - Unify results examples in test and plan specification - Convert gitlab private namespace into dist-git url - Shorter Nitrate summary name - Correct the path of Ansible playbook - Refactor logging during plugin discovery, using tmt's logging - Improve names and docs around CLI context in Common classes - Fix ruamel.yaml type waivers that mypy sometimes ignores - Drop some no longer valid TODO comments - Replace '--t' by '-t' when creating a new plan with template - Add a new cpu property `flag` to the hardware spec - Fix duplicate export for Polarion hyperlinks - Option to list locally cached images for testcloud - Log out testcloud version in virtual provision - Use yq instead of grep when testing YAML content - Don't use specific addresses in virtual provision - Polish workdir pruning - pathlib transition & logging - Support for fuzzy matching subcommand - Add new link relation `test-script` definition - Remove `group` from the `multihost` specification - Move "show exception" code to utils - Add missing support for 0.0.55 and 0.0.48 API - Add type annotations to tmt.steps.STEPS/ACTIONS - Support logging "topics" to allow lower unnecessary verbosity - Add support for right-padding of logging labels - Move tools config to `pyproject.toml`, add Ruff - Example to parametrize test selection via envars - Merge run_command() and _run_command() into Command.run() - Install beakerlib into images used in test/full - Don't run `ShellCheck` on tests & decrease severity - Support multiline strings for option help texts - Fix tests run only in full testsuite- Change help text of the `tmt --root` option - Add support for `results.json` in custom results - Proper support for the test `duration` format - Prepend '/' to custom test result name if missing - Document necessary packages for pip install on Ubuntu - Tag cloud resources to `tmt` in Testing Farm - Display guest multihost name even in dry run (#1982) - Pass the `arch` option to the Beaker provider - Use `job-id` instead of `guestname` in Beaker class - Adjust the fix for the default branch handling - Add support to get `ref` under the git worktree - Fix dry mode handling when running a remote plan - Enable the external `polarion` plugin tests - Extract "run a command" functionality into a stand-alone helper - Increase minimal severity of `ShellCheck` defects - Display guest full name in `display` plugin report - Push using `sudo rsync` when necessary - Avoid warning from installing tmt as pre-commit - Add test checking repeated test execution results - Freeze the `yq` version to fix `el8` installation - Update the `CODEOWNERS` file with more granularity - Document current workaround for running scripts - Install `beakerlib` before the `ShellCheck` - Rename `Guest.full_name` to `Guest.multihost_name` - Display guest full name in `html` plugin report - Add test for template-based export plugin - Add `kickstart` to the `artemis` provision plugin - Extract just tar files in dist-git-source - Add missing fields to custom results test - Add shell linter `Differential ShellCheck` - Always try to run dhclient in cloud-init in virtual provision - Fix polarion report pruning and add or fix arguments - Run `chcon` only if SELinux fs supported - Require `beaker` provision in `tmt-all` - Adjust the new `mrack` plugin spec, test and plan - Add `beaker` provision plugin using `mrack` - Adjust pip install to always upgrade to the latest - Move `testcloud` url guessing logic out of `tmt` - Hotfix Ubuntu with virtual provision - Detect correct category when export to nitrate - Add an entrypoint for interactive `tmt` sessions - Fix internal handling of the `where` key - Move logging labels to the beginning of lines - Refactor CLI error reporting to improve readability - Remove no longer needed cast around our custom Click context - Display guest full name when showing its details - Add `kickstart` section as a new specification key - Add more controls for output colorization - Rephrase `results.yaml` documentation and examples - Fix `get_bootstrap_logger` name and docstring typo - Expose guest info in results - Enable `root` login and disable default `core` for rhcos - Sanitize plan/test/story names before filtering - Set default user `core` for rhcos in testcloud - Remove no longer used "err" parameter of logging methods - testcloud: Raise default limits - Update log key content of results.yaml examples (#1834) - Include guest name in execute phase data paths - Adds "bootstrap logger" for logging before CLI options are recognized (#1839) - Export `TMT_TEST_NAME` and `TMT_TEST_METADATA` (#1888) - List supported operators in hardware requirement docs (#1867) - Build tmt usable in inner guests for tests/full - Target test-complement for tests/full - Tag tests which are affected by how=full - Use PROVISION_METHODS in tests - Report individual test results in tests/full - Use Require* classes for collection & installation of plugin requirements (#1766) - Disable tracebacks if default branch is not found - Assign a data path and serial number to each test in discover (#1876) - Convert log path for results:custom - Allow report result for itself in results:custom - Support to import Makefile having '\\\n' - Require `pylero` for the `polarion` subpackage - Fix forgotten guest when Artemis provisioning times out - Turn `tests.yaml` into a list of tests - Simplify the `Result` class implementation - Use `Path` instead of `os.path` in export code - Use `Path` when working with logfile path - Fix use of old `os.path.symlink()` in discover/shell - Add /root/.local/bin to PATH on Centos Stream 8 in CI - Install jq/yq for more readable tests in tmt test suite - Fix Common class ignoring other branches of multiple inheritance tree - Use Path instead of os.path in prepare/install plugin - Convert path-like strings to `pathlib.Path` objects - Change `Plugin.go()` to accept logger and extra environment - Artemis API version may contain multiple integers - Add logging `labels` used for prefixing messages - Adds "full name" guest property for multihost logging- Fix tmt-reboot without custom command - Fix test /discover/libraries - Add serialization callbacks to data class fields - Use own private key for `provision.virtual` - Adds a template-backed export plugin - Polarion export fix component upload bug and upload id first - Convert story ReST export to use a Jinja2 template - Convert export-related code to plugins per format - Do not clone the whole remote plan in dry mode - Hardcode tmt git URL so test won't fail for PRs - Add py.typed marker for 3rd party type annotations - Fixes isort 5.10.1 installation issue - Improve logging by `tmt.utils.wait()` - Check packages are installed via debuginfo-install - Always ignore failures for recommended packages - Merge report plugins options into step data fields - Dynamically find the current Fedora release - Suggest using a pull request checklist template - Include a simple Python code among the examples - Apply normalization callback when updating data with CLI input - Bump pre-commit linters - Flake8, Mypy, JSON schema, YAML lint & pygrep - Use base implementation of provision plugin requirements - Relay 'interactive' value for podman call - Update Fedora versions in `upgrade` tests - Apply `ShellScript` for the custom reboot command - Update the `shell` discover specification - Enable to sync git repo to SUT in `shell` discover - Increase the default `utils.format()` indent a bit - Define pull request Copr build job in Packit config - Decouple logging from objects and base classes - Enable `url` and `ref` as `shell` discover options - Export `TMT_TREE` in other steps as well - Add a new key `system` to the `hardware` spec - Remove default for the dynamic `ref` evaluation - Schema update and test for order in discover step - Merge report plugins options into step data fields - Add a test for hardware schema coverage - Better type annotations of prepare/install scripts - Move `jinja2` require to the main `tmt` package - Define the new context dimension `initiator` - Respect `TMT_WORKDIR_ROOT` variable in `testcloud` - Annotate commands, command line elements and shell scripts - Adjust the `reportportal` plugin implementation - Implement the `reportportal` report plugin - Require the latest `testcloud` package - Define `srpm_build_deps` in the packit config - Include the new web link in verbose `show` mode - Add a clickable web link to test to polarion export - Enhance `Links` to allow checking for any links at all - Drop various guest `wake()` methods in favor of parent class - Catch `SystemExit` during module discovery- Do not prune `html` and `junit` reports - Skip extending fmf context if cli context missing - Connect needs is_ready property as well - Cover setup.py with pre-commit Python checks - Do not leak "private" fields into export - Set guest hostname in testcloud provision - Capture provision error when login is used - Support `TMT_WORKDIR_ROOT` environment variable - Support step data definitions carrying CLI options - Adds flake8 coverage for bin/ directory - Prune irrelevant files during the `finish` step - Add junit plugin schema - Support to import empty key from Makefile - Deleting unsed and duplicite part of finish step - Support absolute paths in HTML reports - Capture exceptions when getting `image_url` - Enable verbose output for `provision` & `prepare` - Add support for Artemis v0.0.47 upcoming release - Remove unused variables - Initial support for passing ssh options from cli - Update specification of the `where` multihost key - Add a simple test demonstrating the upgrade testing - Use custom subclass of click.Context for better annotations - Extend the `duration` for tests using containers - Change common class constructors to use keyword arguments only - Make packit build with the next release.dev version - Add basic test coverage for `tmt story export` - Fix export of the story `priority` field - Read source from correct directory if ref is used- Protect args in rsync call - Set tree root for the default plan tree as well - Properly set the `tmt` script shebang on `rhel-8` - Use image exists to check for container image - Updates docs with example on `adjust` & `prepare+` - Fix test duration enforcement - Skip missing debuginfo packages in `recommend` - Explicitly document extending the plan environment - Fix ownership of a tmp directory propagated to container - Support fetching remote repo for `shell` discover - Fix default `framework`, remove old execution methods - Add support for Artemis v0.0.46 upcoming release - Handle an fmf fetch error in remote plan clone - Do not truncate `RunError` output in verbose mode - Warn user about data erasing after prepare step - Formalize `data` package passed to the `Result` class - Change order of plugin and guest classes in files - Add `compatible` as a new hardware specification key - Add `tpm` as a new hardware specification key - Move the hardware specification into a separate page - Improve fmf-id processing - Add test for TTY state in test environment - Login after each test using the `--test` parameter - Mention version where important features were added - Handle dist-git-sources for gitlab - Fix getting CentOS via --how virtual - Capture uncaught exceptions when using testcloud - Update the overview of essential classes - When following command line --how, do not iterate over step data - Convert utils' Run unit tests to class-less tests - Enable variable expansion for dynamic references - Support beaker libraries as recommended packages - Add `SpecBasedContainer.to_minimal_spec()` method (#1637) - Enable context based plan parametrization - Coverage for tests defined under `discover.shell` - Fix `/tests/run/shell` access permission problem - Add step data classes for provisioning and report - Adjust support for the dynamic `ref` evaluation - Add support for dynamic `ref` evaluation - Add a test for fmf id parsing and normalization - Fix NO_COLOR not being honored by executed command output - Moves common command options into one place - Log full chain of exceptions, not just the first cause - Drop deprecated PluginIndex - Add message to failure tags in junit report - Update the pip installation plan - Remove pointless reimport of tmt.base in discover steps - Do not use f-string as a docstring - Fix use of variable before assignment in `Plan.go` - Fix variable redefinition in `discover/shell.py` - Fix guest distro detection, do not throw results away - Fix a typo in `cpu.sockets` hardware requirement - Make links relative for report html - Review all uses of `type: ignore` and link relevant issues - Enhance ClickOptionDecorator type to announce identity - Update `/tests/execute/upgrade/override` duration - Review all uses of `Any` and link relevant issues - Annotate all `cast()` calls with respective issues - Move the `Result` class into a separate file - Unblock mypy's follow-import setting - Use set comprehension instead of list-in-set sequence - Use `enumerate()` instead of `range(len())` - Use dict comprehension instead of tuple-in-list-in-dict - Replace two more list comprehensions with generators - Replace GeneralError's "origin" with Python's "raise from" - Fix normalization of the `Plan.context` key - Adds a missing import to polarion plugin - Update all linters to their most recent versions - Define CPU HW components with more granularity - Adjust the support for importing remote plans - Add import plan feature and tests - Add type annotations to `base.py` - Fix test depending on ordering of elements in junit XML - Adds type annotations to `tmt` itself - Remove custom yet same implementation of step's show() - Make sure `repo_copy` is gone before `make srpm`- Fix recommended packages handling for rpm-ostree - Add EFI configuration to the `tmt-reboot` script - Fix adjust for precommit test - Fix provision for coreos image - Emit only non-default keys when constructing a test from `execute` - Add flake8 config file for easier integration with IDEs - Multiple scripts for CLI prepare -h shell - Allow mypy to cover the whole tmt.plugins and tmt.steps - Add typing for `steps/execute/upgrade.py` - Fix name & default value of polarion's upload field - Fixes enhancing of environment by local's guest implementation - Ignore plan -n when searching for upgrade path - Document & correct use of class conversion methods - Print fmf tree location when schema unit test fails - Custom results implementation - Refactors internal link handling and storage - Allow mypy to cover whole tmt.steps.prepare - Add typing for `steps/execute/internal.py` - Use workdir with safe names without special chars - Adjust support for installing remote packages - Support to install package from URL - Make sure short option '-x' is covered - Add Polarion as a source for test case import - Print path to the used ssh identity - Add typing for `steps/prepare/__init__.py` - Use generator instead of list comprehension with any/all - Fixes handling of default of --key in connect plugin - Update test data for the debuginfo install test - Add a helper for importing a member from a module - Fix plan schema to allow custom context dimensions - Allow mypy to cover whole tmt.steps.discover - Remove support for the obsoleted `detach` executor - Add typing for `steps/discover/fmf.py` - Fix importing for pylero - Allow mypy to cover whole tmt.steps.provision - Replace blank "type: ignore" with more specific waivers - Use the `SerializableContainer` for plugins' data - Enhance SerializableContainer with default key value inspection - Moves validation and normalization mixins to utils- Unify Polarion case searching - Error out if reboot timeout is exceeded - Initialize workdir thread-safe - Add support for remote playbooks in prepare - Add plan schema for errata and minute plugins - Correct rhts command names in stories file - Print escaped command suitable for manual debugging - Fix report plugin not getting arguments from fmf file - Less eager to disable nitrate case during export - Move `tag` and `tier` to common core attributes - Use `/bin/bash` instead of `/bin/sh` for execute - Reorder step and their base plugin classes - Fix prepare/multihost docs to match implementation - Teach schema validation tests to peek into other trees - Clarify motivation for creating `id` during export - Add link-polarion option and fix link searching bug - Ignore race in last-run symlink creation - Fix polarion tcmscaseid search - Force order of clean operations - Convert status/clean argument to option - Report enabled plans/tests/stories via option - Hint user if 'tmt init' creates nested root - Require `libvirt-daemon-config-network` as well - Add type annotation for /steps/prepare/install.py - Encapsulate created file within script's dataclass - Adds normalization layer to base classes based on fmf - Fixes data class used for local guest creation - Fixes Artemis guest data class link - Making tests/full more usable - Add typing for tmt/steps/provision/podman.py - Add typing for tmt/steps/provision/testcloud.py - Add typing for tmt/steps/provision/local.py - Remove unused keys parameter from wake() methods - Adds types describing tmt constructs when as stored in raw fmf data - Typing /steps/provision/connect.py - Allow raising an exception on validation errors - Inject logger object to base node classes inheritance - Fixes use of SSH keys in testcloud and connect plugins - Annotate tmt.steps.provision - Ask mypy to show error codes in its messages - Testcloud expects disk and memory to be int - Do not inherit classes from object - Use keyword-only init in base fmf-backed classes - Use decorator to register plugin methods - Demonstrate inheritance on a virtual test example - Add a simple hint how to write user messages - Add typing for `steps/finish/ansible.py` - Remove unneeded parameters for step load/save (#1428) - Normalize step data to be always stored a list internally - Display test/plan/story name in parametrized schema tests - Allow numbers and booleans to be values of environment - Give a reasonable error for old data format - Add typing for tmt/steps/finish/__init__.py - add typing for steps/discover/shell.py - Adds a fmf node validation layer to core classes (Test/Plan/Story) - Add missing keys `role` and `where` to schemas - Extend plan schema with all known step plugin schemas - Correcting rhts aliases & adding rhts opt. - Adds a generic "wait for condition" primitive - Disallow push/pull/execute if guest is unavailable - Rename "default how" step attribute to enhance its visibility - Use textwrap.dedent() to unindent docstrings- Reboot has to check for boot time - Fix path inside pre-commit test - Cut circular dependency of libraries - Update 'Develop' section of contribution docs - Precommit hooks to call tmt * lint - Schema loading helpers - Package schemas in subdirectories too - Implement reboot reconnect timeout configuration - Add missing report specifications/docs - Print result for execute -v - Correct import assumption about script - Ask mypy to check whole tmt.steps.report package - Fixing the directory name escaping in 'cd' command - Add polarion report plugin - Add schemas for plans - Write extra-nitrate as soon as possible - Retry git clone without --depth=1 if it failed - Support to lint attribute 'id' - Do not apply test command filter in upgrade - Fix export.py typing issues - Refactor location and signature of Phase's go() method - Simplify abort handling - Backwards compatibility for rstrnt-abort - Add type annotations for tmt/cli.py - Add typing for tmt/export.py - add typing for steps/discover/__init__.py - Convert guest implementations to use serializable container for load/save - Detect plugins by entry_point as well - Add typing for `steps/execute/__init__.py` - Add typing for `tmt/convert.py` - Remove duplicated dist-git-source/dist-git-type - Add typing for `steps/report/junit.py` - Add typing for `steps/report/html.py` - add typing for steps/report/display.py - Add typing for steps/report/__init__.py - tmt-file-submit is a bash script - Add type annotations for tmt/options.py - Backwards compatibility for `rstrnt-report-log` - Support conditional requires with `pip` as well - Remove duplicated short option in tmt lint - Adjust the `rstrnt-report-result` implementation - Backwards compatibility for `rstrnt-report-result` - Set the `1777` permision for `/var/tmp/tmt` - Adjust the fix for the `rpm-ostree` intallation - Fix package installation using `rpm-ostree` - Handle empty fmf file as an empty dictionary - Fix distgit testsuite after tmt packaging change- Require fresh testcloud with coreos support - Bad substitution in tmt-reboot - Ignore "certificate verify failed" error when handling retries - Cache content of each loaded environment file - Initial polarion support for test export - Fixes names of Artemis API versions - Convert FmfIdType from TypedDict to a dataclass - Add CoreOS support to the testcloud provision - Run containers with root user - Retry getting environment file - Test import --general is default now - Add typing for steps/finish/shell.py - Enhance tmt.utils.retry_session with timeout support - Adjust the `rpm-ostree` install implementation - Add support for the `rpm-ostree` package manager - Add `environment-file` to possible Plan keys - Avoid Library url conflict if repo doesn't exist - Check changes are pushed before export nitrate - Add typing for beakerlib.py - Unbundle template from the report.html plugin - Rename `uuid` to `identifier` to prevent conflicts - Use `must` for all mandatory spec requirements - Fail import for packages starting with minus sign - Adds support for newer Artemis API versions - Disable the extra verbose progress in testcloud - Refactor internal executor scripts - Adds "missing" imports to help IDEs follow objects - Add typing for steps/__init__.py - Implement the test `result` attribute - Add typing for plugins/__init__.py - Detect legacy relevancy during import as well - Implement the new user story key `priority` - Implement new class `SerializableContainer` - Add schema for stories - Add typing for steps/prepare/shell.py - Add typing for steps/prepare/ansible.py - Require fmf >= 1.1.0 (we need validation support) - Package fmf root into the source tarball as well - Add JSON Schema for tests - Exclude namespaced backup in beakerlib - Use --depth=1 when cloning git repos by default - Handle missing nitrate user during export - Removes unused GuestContainer.container_id attribute - Every subpackage must require the main tmt package - Introduce dataclasses as a requirement - Avoid re-using image/instance for different values by testcloud plugin - Add typing for multihost.py - Except nitrate xmlrpc issues during import - Exclude beakerlib's backup dir from guest.pull() - Increase `duration` for the reboot-related tests - Several release-related tests and docs adjustments- Command 'tmt clean' should not run rsync at all - Dist-git-source for Discover (fmf, shell) - Adjust the new `id` key implementation - Add a new core key `id` for unique identifiers - Recommend qemu emulators for other architectures - Copy the whole git repo only if necessary - Reveal hidden errors during `testcloud` booting - Use time for timeout handling in Guest.reconnect() - Split `Guest` class to separate SSH-capable guests - Explicitly set the docs language in the config - Kill the running test when rebooting - Extend the reboot timeout to allow system upgrades - Allow selecting tasks directly from upgrade config - Adjust the new `upgrade` execute plugin - Allow specifying command for reboot - Implement upgrade execute plugin - Buildrequire python3-docutils, append plan adjust - Implement `tmt tests export --nitrate --link-runs` - Detect component from general plan during import - Adjust the support for steps in standalone mode - Add results method to ExecutePlugin - Implement a common ancestor for Action and Plugin - Allow abstractly excluding steps from runs - Correctly handle tests --name '.' shortcut - Rename WorkdirType to WorkdirArgumentType - Fix workdir parameter type for tmt.utils.Common - Allows importing jira issues as link-relates - Enables mypy coverage for empty-ish Python files - Adds type annotations to tmt.templates - Prevent infinite recursion if --id is set - Enable mypy check for Artemis provision plugin - Adjust provision dry mode propagation, add a test - Introduce new _options attribute to Common class - Add specification for remote plans referencing - Bootstrap type annotations - Execute script should not be used with discover - Add the `arch` key to the hardware specification - Fix pip install instructions - Disable network access when building in copr - Ignore list for dist-git-source - Remove the obsoleted `detach` execute method - Fix login during `execute` and `prepare` step - Import from Makefile with missing build target- Add multiarch support to testcloud provision - Consistent summary for test export --nitrate - Allow dry mode for tests export --nitrate - Add a nice provisioning progress to Artemis plugin - Add support for the `where` keyword to `execute` - Adjust support for export of multiple tests - Add support for exporting multiple tests - Basic multihost test for the httpd web server - Update multihost specification with guest groups - Add a provision plugin for Artemis - Fix exclude option in fmf discover - Reduce the number of execute calls for reboot - Add support for reboot in interactive mode- Add a command to setup shell completions - Use /tmp instead of /run/user/ if not available - Use separate examples in the test specification - Add more story examples, simplify examples export - Story.example can hold list of strings - Fix traceback when connect plugin is used without hostname. - Adjust disabled shell expansion in Common.run() - Disable shell expansion in Common.run() by default - Build `epel9` packages, update install docs - Adjust the full test wrapper and document it - Test which compiles tmt and runs its testsuite - Add --exclude search option - Correct regex for require read from metadata file - Update document for creating virtual environment - Option to export fmf-id from run discover -h fmf - Allow import from restraint's metadata file (#1043) - Do not disable building for power arch on Fedora - Update documentation for plan parametrization - Make .vscode ignored by git - Drops basestring and unicode built-ins from utils - Fix timeout behaviour in testcloud plugin - Fixes possible test of None-ish CWD when running a command - Remove workdir only when its defined - Adjust the new `tmt plan export` feature - New feature: tmt plan export- Prevent koji build failures on unsupported arches - Check remote git URL if it is accessible - Implement a generic `requires` for all plugins - Run commands in podman provision via bash - Adjust implementation of the new `order` attribute - Implement the Core attribute `order` - Fix link generation in report.html - Improve step name handling - Enable shared volume mounts in podman provision - Add support for multihost provision and prepare - Adjust the dnf support for rsync install - Add dnf support for rsync install - Update links and refs after migration to `teemtee` - Track output for reboot purposes on per-test basis - Fix test --name '.' used with multiple plans - Tweak test suite (duration, centos:8, datadir) - Use `os.pathsep` to separate `TMT_PLUGINS` paths (#1049) - Document framework:shell exit codes - Add `html2text` to the `convert` pip dependencies- Make reboot support a bit more backward compatible - Ensure that workdir has a correct selinux context - Use `centos:stream8` image instead of `centos:8` - Disable X11 forwarding in ssh connections - Fix traceback for login after last report - Use `TMT_TEST_DATA` as location for `rlFileSubmit` - Implement variables for storing logs and artifacts - Adjust rsync installation on read-only distros - Handle rsync installation on read-only distros - Add hardware specification for hostname - Correctly import multiple bugs from Makefile - Remove dependency on the `python3-mock` package - Adjust linting of manual test files - Check Markdown files in tmt lint if `manual=True` - Adjust pulling logs from the guest during finish - Add guest.pull() to the finish step - Update virtualization hints for session connection - Improve error message for empty git repositories - Minor modification of test result specification - Use `where` instead of `on` in the multihost spec - Clarify that `path` is defined from the tree root - Adjust ansible requires for containers preparation - Move the reboot scripts to a read/write directory - Ignore read/only file systems reboot script errors - Require either ansible or ansible-core - Set the `TMT_TREE` variable during test execution - Clarify that 'until' means until and including - Update test debugging examples with --force option - Add `bios.method` to hardware spec - Improve environment variables specification a bit - Adjust the ssh connection multiplexing - Add support for ssh multiplexing- Improve testcloud/virtual provider docs - Disable UseDNS, GSSAPI for faster SSH in testcloud - Use `extra-args` attr for ansible-playbook - Fix el7 provision in testcloud user session - Adjust the instructions for migrating from STI - Document how to migrate tests from STI to tmt - Allow to pick objects by --link - Generate ecdsa key in testcloud - Simplify plugin keys handling in wake() and show() - Add support for Beakerlib's rlFileSubmit - Revert requiring exact beakerlib version - Dist git source can contain multiple files - Symlink worktree for discovered shell tests - Read environment variables from options only once - Correctly handle empty environment files - Use distro values from context for dist-git type - Make tests --name to just prune discovered tests - Enable duplicate test names and preserve ordering - Require beakerlib-1.28 for beakerlib tests - Adjust the dist git source discover implementation - Discover tmt tests from sources - Reenable plans/install/docs - Correct the `playbook` attribute in the spec (#948) - Ansible plugin for Finish step - Thread processing of executed commands inside tmt - Adjust `tmt test lint` test for old yaml format - Canonical name for centos-stream in dimension - Remove obsoleted conditionals from the spec file - Use a fresh sphinx when building the readthedocs - Allow to specify session type (system/session) - Package tmt.plugins to store arbitrary plugins - Ignore ssh connection closed during reboot - Improve error message for the missing step name - Document how to integrate tests with other tools - Use the recommended format of the copyright notice - Update notes about the release process - Update the hardware specification with new keys- Add support for reboot in a reused provision - Solve the reboot race condition - Adjust the current git remote improvement - Use current git remote for url in fmf-id - Implement option to exit after first failure - Clarify and update spec for the discover step - Adjust the multihost test specification - Add the multihost testing specification - Make run --force behave more expectably - Increase duration for tests using containers - Rename soon-to-be deprecated resultcallback - Remove the minute.obsolete provision plugin - Document how to create a new minor/major release - Explicitly mention '.' as special value for names - Add Github Action for PyPI releases - Improve fetching remote environment files - Adjust the check for rsync before pull and push - Install `rsync` before guest.pull() - Second chapter of the Guide: Under The Hood - Simplify the search for step method options - Produce better errors for unsupported plugins - Add more ignored files, categorize gitignore more - Extend .gitignore with a few more common patterns - Export fields of a case should be checked by lint - Adjust the bugzilla support in test export - Test export can link case to bugzilla - Document the support for `open` key in html report - Allow html report to be opened by plan - Require essential packages for tmt testing - Skip the docs test until the Sphinx issue is fixedtmt-testcloud1.27.0-1.fc390.17testcloud.cpython-312.opt-1.pyctestcloud.cpython-312.pyctestcloud.py/usr/lib/python3.12/site-packages/tmt/steps/provision/__pycache__//usr/lib/python3.12/site-packages/tmt/steps/provision/-O2 -g -march=x86-64-v3cpiozstd19noarch-redhat-linux-gnuPython script, ASCII text executableRRRhttps://bugz.fedoraproject.org/tmtqemu-system-aarch64-coreqemu-system-ppc-coreqemu-system-s390x-coreqemu-system-x86-coreutf-856bc4cab9b9ca03374fb26114aa0a0e873e151a9858e97a11677b2c3e9298218b38f0b0d86196985b1179a94ed491647007beff6f37624a2532272fc1089c277?(/hx g]@wBx"X Zc>LUMm@!-=9I -WVL cuS,+¡ۯS.|C‰.";_p/ X*hvI JIM-b+mQH9𶩕0Zqվ<^ո`GJLfM+v=9MшaTM{KN"e?TIվ]&厁B &f饒0jD Ngr哹Sf92j!{0Ȋ* jg0P6F@ģqHWQuvnzh; "AM2bŷE\*ކg?ŃK?&<%m/C<nJ!Higqyt}+l|UŬ%(1U]I>{A{lȃݑ/l U, r3!Õ!z1---c\3*4]Z9ۡO_kO~dW5iϤqQN5M;sK;Ǜ>0QZt,[]-l*Oӷ8m>?TM.MhR;4'Ӈv)12Ll ]Rؗ(>nքY e[-cfØm۶m+{Ō/vk-$P"&[hrog>рv\.v29eLfhH[)O\y13 $}+)Νf:rwo_YSy'4o}Ci3N$T F; K;{+A;I|ώNm A @` ix&m⣁3W2"!!>$a]~d!r "> ,Hy:Q7ydh{H}Ec_mSvY /旫%Vl߱4H v˻϶;䎩C9dC7iCژ5dI[ )!c0$3|1]Hl1ed-r#c E-Eֳ`򝊚m׿%nUS8ޟN  YQН@ޔL݌}DY{iS2@ÎSJBRC8JkDOZ t!*|!S<զP#BhVAYmQɐskeyll|pc1i0!U2>]W1!E΋5/j`jUmOŻ1B*$hhV a "N$"CTv;_~T_ޙ`˝Ip[ ֥+tj2, 1`c:mLM $]"33ꪇ n07KMgUCl20 l:gpU % ^uXop#Ő #BdXYR--{лUi9!K[~?dAɕt7vc{ElaѺL-c[-ؖ V堶b"%=4K%٭ ؿ6^+mżurܼ89xo Fl`jYdOVɪdX+5NEP:+0:%m> FJ`AOS=8P0*MGUElUKj֒4) sQ]㽡}SYT}Ms|, }g1v(% 5\2 vsB[ ZwD #Eh%`ʭf. o3 -t@oɹ\|hر!a+Lf/VKGh$>.AoDtyEȉρx7db3(ޖ<\yͯzHկէyûE1ؗfz2kwe#[Ocv Hq-q0_a聡ʬ MF@Օ&`b 0 ?SQ*Lhvs7x:$ ¬66=mχf.*z"f֐/ģ"zZFDfYu58fy8UV ֽdV5Gcglb|qTTazDf Yiv;'th7: ACϽt:O<Î} !1A;gȧ7xxwBA@F ˝ͦ]ײ}5sD DyvPs]fyhY` LkRIPP9F02B"&0TS#)I&s& Çf:$xbRrԟQ"[6cc2 iлUq{V߽hqgQS LS nx? p.(Y(k^-JֵJ]i ;+]=9"F+*3+2OM̸18+:J5FjEǮ`D 2z#SuG?5V5֨E*RQbMg^ؐ%3ɬ՟5כg7Er#z/ꊌbUl՟?0.j* 2T1:Aiq!T8iTpwI!fEDX2* a &S-iSS Z'c#Kب^d p.f+F4O4o^T]{Ս;[((q/ȇ8A)9*[O ch!a= q@y@ǠMcwo^LW7'v\l]VI5ߴb^p93[1J ?lϓ;<Ѝvf$v|ƙ?^ؤ(mEoV SBMEsW&.A-3~vXnͤSdJ&:7ǟx/w2]Y&.»ܸ3ytKq翝9\J.}?`;J5d &:Eo.*g.)vhaJTJ΢M&Ǣ3E UgpH1q&9|w HpF2C]LԦh[L֢P)ܠ9N ?[R5ѐ3h *^aF-.,UІDY^!B^=` KE k6VLJ ʏYL!QNrbdC~Zd>BO 1"]yBw!a;#"&! #P~3q4밓p8H74hVZ1?$!.Ҭk܍#oBK AɆMNRDCm!es՝Gu.* NGUO.%-u ^EA vD8#dܠCCF u8"Qg0G]#0tƹEWk O>,/DSҲ<\JA gmRr1EH5EzE6/0GLj?340bk 8uLb4Ms2 ',N-P7E1f!:'Lb:e~><t]gGmMm9rS-;eWY{|pbj p8JOP(J-DpU?3Շ+4-fsq(v^jϋV;X[;|+Y{9JyAе~i7.T+"hQ]Q%27';o2DC&ICG@._KW-c&2X\ϭ,Q|lnZ­=+[?tEq;@<P0&9`rӗpƐITΚ4#:1;=fW]+joWEbQ9(EafAPͧf|'KyUe/tO8Z(WpU '  "2UXkGUYw橛˔CPI0ˇw*,@]ζh,Zo.[|E@kBƱp )d{c.f)Ջ7"g2W2-nɦiF̕5:;̇4di:7v6>\ٗʿ<,w׷HV~DG, 1DmպXuŨWDM_SLQ(Zc (rJ#ӈTI !X=Vw[!<`~Ơ%v7@a^a'Ԧd)C ))Ĺ˃A s1Ήm81^v.Xc`jpYnS2.A"fV`.JԬ!9׎'5wgҝ36B;G|0N !,V;y[N:}]v B5QL%"Oi(Yᙧ<4FJ1B +<ũQs\ʣr^j) 6"-n_}X9qwuvGI%+DAI!>nM Cmt1ֈvRhܱM501x3+Q̦L?1`]{'Q'Դ2蒨kfZ b *tz7 :"4:X"O֡{w>vri UӅ;\UNMϩU5Wc]N@2Bדof؋vL$Cc1f7xBB}mHEe~pw/R=:8O ^ؖx[vP;^S˫m+)xi&P`P1U 1a61bOɼ, Pr~`ݦ/8t_eZvܗ a3qa̪rfzάj2Mf?ֶCl2岛^u%Ɗ OɌ}=d͆3 UXPM_@x4klYU(l*$DC Տf-f/cdƲ]0UxJ6sf \=ddR&"aeFF QFQit:UXnTT:% L =3zޛ T<*.ZO5 !"W}(;OkWuS *75ч"Uuȃ[א!4NJ+/V`hV jʬU:*X 9!6]UOBOV>I[d;^d*ԊUY7όqt_uÌ 4bz3LS4j7=JcMpxaǥ)C߼ BNp MSrSY *'!|iKk5EMaW NU/@F2U* J`+JHpVHκ V`+HK' 1$A(4̌XmxS*9!u OX=fZjPϺڸi**!Qrؔ}bqo@o ⴰIPCo`g_'A6?O *$M]$׫t2fnǩ[\ FEDOtO:Km@j//3J)/b,b+H@߆:1UNjip܄W^˶S).<,QRQ:7Y⴬nk CpP^ؙvբOed亣C׼>1rtP!'JA)| L.![. Ib&T咓I[#`Z.&-ѦC*s [ȧ\\@d5TmVζ gC]+9*"G-rA.Jhp:jSGljM96 |r۫_GbșEQGc9byx\>fX\5fDaWgY,YLi QDUɀO=JнfC*|dS^rFi SIhwM7rLhCv62s퓥[e&uu%(q440EAYVv̷Q"M+!`ɨ>2c xS0I4Y"M0 5 Qqqz) 5yFU,OeBn pqv SI `˜0ga'$=aB Wܺ8N>3ӆ%`\Er ڰK `c1 B fqCHxxĞ#a[.E ܩʇ) nFjVJRʏUOH.w,C)S#{.dLd`:suI [i7XOL A4X7pdos .%Hzpg1gru`NF珖% M2%{ ;Eӻ95SuGʠT;*nH - K'}B=PhU1!&igS+`-t p",7L;\v(d1/I_Ò~Us;"%ĴDx-^`ETFQ 3Šguguf)\H=^߽rַ{gs& "se 2O β@x>n-^x zM>q~TX]n2 oIUrײvc;ai7"fxUWzj'?RIāi< bY4#`LhSm8"ZZ^6I>zv{ҶOp M "qR _Dx}4^ '}N7)Vk~se\<d=K4HηYӲ|X8`>PpEQ7H?!ǹ-WuJ&IӌőVvf]dQ^'b3!þA[UEjgmC\q x ^v{ҺE4m6GPS[_ehxvA>P^HBaz2&ll̺fݸodv7p\0JklM%?/P2w'DW]#1\#oL;C1:0+Tv*uImC )ҵԣa-YӆjՊVՑUtI#9j䊪Pbt`r=^*n uM}X-8 m%_RVCtPvL]ęY}q޲jpD? Au?CO9ZY|Z\1t/_MgZ*X-5<ĵk3:[-%Q]1pYSwL%gU\ nqetO_v%`&g:e>.Wl9CJG2ø{׉iC9gݷ^3PxmSm3=+XXa*BinTV2 Ėk2]~' v xşapjru\*-kE*&{DJ?:vQ8j\2 Hix6~Їx,]x! H 7>zݻu`x%8g[bS8%2Qb#p7*Q-R'aJTv3 \hs]/-&NJx}s68rP:^4q7,[/kpH@ƐxYўSj›x?2jQ8~EO|{0JzCD΂NHE]rZ-N Sy/A"G 1ԻWK<%ðb@;ҡ_G $HEh(ouS|YEYjjֵtU'IcXp Ss?Q+_s@z TNh0fj d1USY2Ecгݣzw9WւfPH] C,5F2=[3|@ωx)L[.'>-SXR6wȠZAHv>BYJ,}b}'kn᳾JkYM=U,V~gV*|y*&)5|u`ulp/XD&v(-iFwK.b !ıUWQRg[֑HrD jnzd Yx%'R5^Pka #C 2ie04sy ";vͩN)*aϼɊ2ө DdҰq4Jҡ!뇍b&ecF9'b&FTV1|J"]q?푛%Qi&ʚ~M1c™.k:bx0uG FS,OTL;n;_Z_}+&xX zHI K¦04\@e?*?t0ƍ7.N!ܲfk)=rIO8-MɌ}'Yxv9̝vjm_3,_;]6-@&>m}.Iv7:<:F(ȝF*%d=˶#H(BNH^( zk&qԋ=cd Z"%cߌKf3>Y8d K(۞Y̙UI &eE7DmT랯^ʀ݀"KRb-'n Q 9GK,hֻ(4̐+ƁhK"My/Ex$ZC՞O5 噣.~Z4#݌2sm`2]/3Ťh8ZLZ2rX7J%$RNh$L626rQ=qjK؀;$! s27#}r^_ιS-tTwB:'5y cSFan?-n ɹz)a֝t_!+^6҉q2d=~yGa,fPJm D:Tˑ0B$sŤ6ʼn)KwwdR1fI  늭>H xT#kn| mY W |8[n$G@Ggw_Axck&1u0Wk)./DnWq89IxrxBY,jR3OsQ7vlNԣgIOv"Hf83{[9e?YnĈ`1DJJrDT^5Tl.#?hz Һe?%D"+} e̵{sh!E7(GD=! Bqyڀ)x`aPEjaq"-uX 83EuF*>{=,hvMɨ$k SGG[| (V5e5fGЫdHojJh:gDq"=`AcDb{̂(.{i X}i# `t]M 4r0r)~"%<.n<ׁJ&M{fk|p Q^x={u40!1|rb&*nĺw+g`/ *,*R>%(,D^La2و4r"FD2[\==τ]'63-YKM,H%~(]bQ鑄G^.T>mT4w_.OF J"#okڪ iXt5}}5t9Ǭ/XɡwlR|U0ze ѱWDKUE eG[>51y2ՂhO r@yPQ2]ܝBmN3RC:٪XW:c@/4j*Ea؇K͔=*csʂĶJCFEQ>)IΗ@h "XWMh4514aeou0I朗שR=ɉfXVR śUD̦Hm;;T&}gGF|z{04HW&,jCκ*e 8^/yD5gfJ9G?[l{z2jFp[ aJpv1y@졍%WJ0sѿ.BW(3T1mO92*w_cR5 #!:q}Dpd`l&#^#hPd!e!ѕv6X6=6e^b^j+^Nt^R<8zptVΓ6x]I{5`?y8- GZj1>Qv,@3W*M5ƅ^Qz10op S+g*\[I)a5Ec_Ĕ VO6$w*I&IjrRPN%IALڵ_եI sh4=Mڳbs!ehN3à]co1:=-BZ$ĉ\l >O+R={zKFUFV5 2jh‚f_%l1iEinU7+ެ) Fc8< /Qix`.n9( f<ē)0'OkF kQZJYpa\gsתn('lյi'DUI4Q{Y@!v[=)|14 ق2O8-81fݫ̮pwm~.?^=]W' ZG; tJT #b;B*p!uxf8R|۪ɉBIXONO \K)dG2GC"a{9*d=lx6h+~CۛpGYDuWἆm ]TAF7Sx^Rm]P!E/->/a^Jcˋ45 C^:DAwW2_y,~|`%Lˑ\MrB"&İ[ Aԁa1InUO4ff5\\{ C4eoekت,e1zIwvu랛y/';r ͒qןa-CP*@mvo@bEV bk-sݨ C9Dix5,.pt.]];3d[6vVQåZak_;[$JM6C1<,kuvm~*kb[ve E'lq(w77ʸ} m3w椉{bAq y]̜N|s˸O2%߭ڢuuGb9&Xp4??nQǨ}ن Vp{-dt :T!\HZ[=OTd#kjU]| 0z[c,ʹPJExߠ9'8h a2սb!@ 8-?"8Q !!F DDd" DDDDIz~)Qv!MazKt\py$iK:m׶gZifC u%UISOfdg"AubFovm;oSSaQ(Qb}^@pb4}B#zR{*p{1a;JAlKsVY_CIE\rNh~6Rtv wG6PODb@B>揪8.ALF0qfOAwph';.f%-$q'k.0Ǚܮ=:>&!L_Z(œSX|6O!I ӂ[U0ub4OoN'(_1S Vchmr9&t1=;$'C# sP'|jOTAcvEY(t&i>1-@8[1.o{BI h]cY=a;HN6]AvRukPˌv1Ky"[6c΁܄^Fډ춾w-7QS{,-%*ӑ cyqJok!sf/%M5>|}TZ28  T[GG!ZE-,+|'bXpA0H΍il s5Z Z0w2%Sߖ`z(_dCI,8:jFJd0d%8K (MWĺm5m/oʷ:̔8=Mb  u7sп{:,+LV'OVgZ?YR4:(jqYw_^4Ʀpf:б͘j~l`:SADRsO5\*jj?U u;+#G5<-nCdSlIf␂v=VH|2}6Ý󱃋&2E~CLҐBj8S-\pfRf*7PᏰs+l1Dz/& =πҫ~L.ەg}ӎOwV> uS`gxM1ql܀EtEi 2'xϠs(R3 f m0[ht8bm:;btpbvH֪lc{2{ZѼHm,G8kl={f Ąᛮ8 ⷔʆq!=`m,7Ot% n6/ggN~L?4z,*@~yD3l6qQ KYTꡠ5 5v= 0ưwfڷ] 3kU.  p245u'Puh #z$R|4">XK;n &;8|߅^ZeKsF͛XF`k]B2ʇV;U;mnu#q̌U  ^d1ij3wwl;twAPLf}Jg)UԒpH64g苂bݐBC$qQʰa0(!"M "H A$ItO #Q, XU']L-{Hf[A3 iAToI3_ȶ wUC 74vϣ!J!yZ+uA4@F}|"X9Iu.9TvoRTL:#A*SlC)h} 4hpAj*W!D8-D/H3, Ϸk淏1rycRKR++E+Kx׃|_f>ZͿorM>"#NR [,?Np0T)t&g뷥\']#&]j4d)XNX?+3ԦX䑧lJq9R`K>T+;(NZmPKtxvPF JȾi3 #VcrNrY]5hHeF嵙$Uh ?–M;!$Zd%AD>ByYK:,n?ru~Ia8&`|P$HV"Fo}  (ȸZT;\&Id5E-6k %j(L/-Q|<H9 1O޳&¦EzNպ x]r(Wt|RvɎ4K²ouo~GOFE ک6ng_Q}V{fFHs2")>xNd:}u _]+L)60X&mQ$ VEp˽Rj|k˱VE ФT*tN" @Q_k\,O\ f" V-܇щNv-Xck8XPy~LGW +?J~Bߺ|s54VNn'M,_{ 5w~Su ߋ C& Ƌ-;)0&qG䟯 p0E|v }[}>"1d3〃iފS Nc/v8e%aCOw.ҫsxApŸDk}-@ (BND>unj񷴼w׸:,ms !i:ưQØH#:MLJqtmE&Cjv)O' Uq@q_mnBͣ1is/ObԎpF*_D=lhj]'~r[7c"7po<,Q87Jۉ'uú)$wu mnQ/h730oY\v`m2gf-B[TŊro[bD0^Mv@C:kIĜ,ZN.-*ˤb=Ui__[꾓"ʟrFeKsSVV-IWOk8-_3 ڒ\fBX s~oo[U91$K? Ū^??j\[$zmnٙدV/V؁b%.+rIRf'4&0.?3Ї2S +tԛ1 ]kmfߟ>'bwt˻$)wsdleEtAչ<kAxcUk` i"Sג^o> 7 |&U.ZD&OWVxX3$y;AY$`%68=uٳ~M$!V[*[gNѼ&cs+Ox- ;B{io|%b%Vbc5;U8 lyֈr7h09jzˏ")]yH,v ~!M(BŘ?2IaggJB!@P8"c֕GB?t/YGv,,̐qkuv1LֻL*ȯl 4<7. ?*¼D?YvlI"vv7R=Q0M/rмLwhh@ [/4B7+W *Z0Yb*x9^L Q0}MD=UGF 6^/Y#*lp|W╁5ՎBd˘; ֩sy (`XN9Μ>  JU-:G*Y4t4rOlD!֑cDc񍴇DAeKkkȆ0fFŚKul6n_KvW"6uVg])<lW'@]q%޹7ADHS@E1DowE%lxɚ7p4Ya*3v`eaXJd"{@22MvXm+.r\ yBa5)})C<%("X-Z>Y1Dp{Ǭxszao 9%K"Eb bFB C EskaȂOJ AmU%2Ar!wV^aP йy܏Ɵ󣌚bTVkBGw9*Nj KW*>l!9@ׄVVc+}H,.ܯ[ m*WnQ vNSj&ˈ/nT(/Oc2k So޻!`l a d$?L=dG ƠB\TZJ9(5( v8uZ'<섬jMst_Su7,(ȫKF7"ٶPLJĉԇ˗||43f;p3H)jQ1J(ph++cLdM~Rд?U}0`@y%[9EHg\N0|AfQh[ih`Q>9x3mq7Hڛ'ӈ[p+nyT~73Ot7-uex7h]">Z/Tckы\o^| @ꎪFզ?*:Fa ^Ÿ)@)ʒZ wc_ ͓I ʚZyR}B |0ݏ50dfT\>*ȶGKW68zECzbOn{bb4naR4g4Mx`?vCEPޏ+=/A%^B%ΝK`LnvxA]LjfDcM=ں4_c'fjx3Gn/?clxy_d]{KXMHӵrkIC ۻ!? cn߹Hc8JUx<的 jHEQ"9I%"i$l8[%lSrђK@sD\Ҙ%\&6 0:6m,q="m?O% uKfJs˾ umd-뮧> xvw/}\۵dǪdzuBYđed23F" ^Axx|qjy {֋L,Ѐ` eQΩ xq<R›PZ[}Xf\1 JT!|eLb儱ju{ a;3@+,7!"f Hp]&V6#m%`nĺkvyL{Iθ5FZ zܑYN|ҽrG*v{A>%CS&tTrT q@`T,-kw^wR2Cs"^?g