all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    ubuntu-noble:
      ansible_connection: ssh
      ansible_host: 199.19.213.233
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: public
        external_id: 8cade9c7-1673-4579-be1f-7e8643352f42
        host_id: c9670958829e9c96e47d452d2c9c4ce9edaac336d3dbc4a3c4ec531c
        interface_ip: 199.19.213.233
        label: ubuntu-noble
        node_properties: {}
        private_ipv4: 199.19.213.233
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.19.213.233
        public_ipv6: 2604:e100:1:0:f816:3eff:feff:2ea4
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: nova
        cloud: public
        external_id: 8cade9c7-1673-4579-be1f-7e8643352f42
        host_id: c9670958829e9c96e47d452d2c9c4ce9edaac336d3dbc4a3c4ec531c
        interface_ip: 199.19.213.233
        label: ubuntu-noble
        node_properties: {}
        private_ipv4: 199.19.213.233
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.19.213.233
        public_ipv6: 2604:e100:1:0:f816:3eff:feff:2ea4
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-config/zuul.d/jobs.yaml@main#1>'
      - '<Job pre-commit explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-jobs/zuul.d/general-jobs.yaml@main#1>'
      - '<Job pre-commit explicit: None implied: None source: vexxhost/ansible-collection-containers/.zuul.yaml@main#136>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 105908f5941948ef85ed3eee889f10eb
      build_refs:
      - branch: main
        change: '111'
        change_message: 'chore(deps-dev): bump pytest from 8.4.1 to 9.0.3


          Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.1 to 9.0.3.

          <details>

          <summary>Release notes</summary>

          <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest''s
          releases</a>.</em></p>

          <blockquote>

          <h2>9.0.3</h2>

          <h1>pytest 9.0.3 (2026-04-07)</h1>

          <h2>Bug fixes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12444">#12444</a>:
          Fixed <code>pytest.approx</code> which now correctly takes into account
          <code>~collections.abc.Mapping</code> keys order to compare them.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13634">#13634</a>:
          Blocking a <code>conftest.py</code> file using the <code>-p no:</code> option
          is now explicitly disallowed.</p>

          <p>Previously this resulted in an internal assertion failure during plugin
          loading.</p>

          <p>Pytest now raises a clear <code>UsageError</code> explaining that conftest
          files are not plugins and cannot be disabled via <code>-p</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13734">#13734</a>:
          Fixed crash when a test raises an exceptiongroup with <code>__tracebackhide__
          = True</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14195">#14195</a>:
          Fixed an issue where non-string messages passed to <!-- raw HTML omitted
          -->unittest.TestCase.subTest()<!-- raw HTML omitted --> were not printed.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>:
          Fixed use of insecure temporary directory (CVE-2025-71176).</p>

          </li>

          </ul>

          <h2>Improved documentation</h2>

          <ul>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13388">#13388</a>:
          Clarified documentation for <code>-p</code> vs <code>PYTEST_PLUGINS</code>
          plugin loading and fixed an incorrect <code>-p</code> example.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13731">#13731</a>:
          Clarified that capture fixtures (e.g. <code>capsys</code> and <code>capfd</code>)
          take precedence over the <code>-s</code> / <code>--capture=no</code> command-line
          options in <code>Accessing captured output from a test function &lt;accessing-captured-output&gt;</code>.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14088">#14088</a>:
          Clarified that the default <code>pytest_collection</code> hook sets <code>session.items</code>
          before it calls <code>pytest_collection_finish</code>, not after.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14255">#14255</a>:
          TOML integer log levels must be quoted: Updating reference documentation.</li>

          </ul>

          <h2>Contributor-facing changes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12689">#12689</a>:
          The test reports are now published to Codecov from GitHub Actions.

          The test statistics is visible <a href="https://app.codecov.io/gh/pytest-dev/pytest/tests">on
          the web interface</a>.</p>

          <p>-- by <code>aleguy02</code></p>

          </li>

          </ul>

          <h2>9.0.2</h2>

          <h1>pytest 9.0.2 (2025-12-06)</h1>

          <h2>Bug fixes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13896">#13896</a>:
          The terminal progress feature added in pytest 9.0.0 has been disabled by
          default, except on Windows, due to compatibility issues with some terminal
          emulators.</p>

          <p>You may enable it again by passing <code>-p terminalprogress</code>.
          We may enable it by default again once compatibility improves in the future.</p>

          <p>Additionally, when the environment variable <code>TERM</code> is <code>dumb</code>,
          the escape codes are no longer emitted, even if the plugin is enabled.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13904">#13904</a>:
          Fixed the TOML type of the <code>tmp_path_retention_count</code> settings
          in the API reference from number to string.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13946">#13946</a>:
          The private <code>config.inicfg</code> attribute was changed in a breaking
          manner in pytest 9.0.0.

          Due to its usage in the ecosystem, it is now restored to working order using
          a compatibility shim.

          It will be deprecated in pytest 9.1 and removed in pytest 10.</p>

          </li>

          </ul>

          <!-- raw HTML omitted -->

          </blockquote>

          <p>... (truncated)</p>

          </details>

          <details>

          <summary>Commits</summary>

          <ul>

          <li><a href="https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e"><code>a7d58d7</code></a>
          Prepare release version 9.0.3</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22"><code>089d981</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14366">#14366</a>
          from bluetech/revert-14193-backport</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac"><code>8127eaf</code></a>
          Revert &quot;Fix: assertrepr_compare respects dict insertion order (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14050">#14050</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14193">#14193</a>)&quot;</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241"><code>99a7e60</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14363">#14363</a>
          from pytest-dev/patchback/backports/9.0.x/95d8423bd...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95"><code>ddee02a</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>
          from bluetech/cve-2025-71176-simple</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619"><code>74eac69</code></a>
          doc: Update training info (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14298">#14298</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14301">#14301</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869"><code>f92dee7</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14267">#14267</a>
          from pytest-dev/patchback/backports/9.0.x/d6fa26c62...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439"><code>7ee58ac</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12378">#12378</a>
          from Pierre-Sassoulas/fix-implicit-str-concat-and-d...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8"><code>37da870</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14259">#14259</a>
          from mitre88/patch-4 (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14268">#14268</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed"><code>c34bfa3</code></a>
          Add explanation for string context diffs (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14257">#14257</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14266">#14266</a>)</li>

          <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/8.4.1...9.0.3">compare
          view</a></li>

          </ul>

          </details>

          <br />



          [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=uv&previous-version=8.4.1&new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)


          Dependabot will resolve any conflicts with this PR as long as you don''t
          alter it yourself. You can also trigger a rebase manually by commenting
          `@dependabot rebase`.


          [//]: # (dependabot-automerge-start)

          [//]: # (dependabot-automerge-end)


          ---


          <details>

          <summary>Dependabot commands and options</summary>

          <br />


          You can trigger Dependabot actions by commenting on this PR:

          - `@dependabot rebase` will rebase this PR

          - `@dependabot recreate` will recreate this PR, overwriting any edits that
          have been made to it

          - `@dependabot show <dependency name> ignore conditions` will show all of
          the ignore conditions of the specified dependency

          - `@dependabot ignore this major version` will close this PR and stop Dependabot
          creating any more for this major version (unless you reopen the PR or upgrade
          to it yourself)

          - `@dependabot ignore this minor version` will close this PR and stop Dependabot
          creating any more for this minor version (unless you reopen the PR or upgrade
          to it yourself)

          - `@dependabot ignore this dependency` will close this PR and stop Dependabot
          creating any more for this dependency (unless you reopen the PR or upgrade
          to it yourself)

          You can disable automated security fix PRs for this repo from the [Security
          Alerts page](https://github.com/vexxhost/ansible-collection-containers/network/alerts).


          </details>'
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/111
        commit_id: 7702b0ed68052682e0b86a20793a34df6d72544e
        patchset: 7702b0ed68052682e0b86a20793a34df6d72544e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          name: vexxhost/ansible-collection-containers
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        src_dir: src/github.com/vexxhost/ansible-collection-containers
        topic: null
      buildset: 6c8c2aad3f8c41a29d0a131775f98573
      buildset_refs:
      - branch: main
        change: '111'
        change_message: 'chore(deps-dev): bump pytest from 8.4.1 to 9.0.3


          Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.1 to 9.0.3.

          <details>

          <summary>Release notes</summary>

          <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest''s
          releases</a>.</em></p>

          <blockquote>

          <h2>9.0.3</h2>

          <h1>pytest 9.0.3 (2026-04-07)</h1>

          <h2>Bug fixes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12444">#12444</a>:
          Fixed <code>pytest.approx</code> which now correctly takes into account
          <code>~collections.abc.Mapping</code> keys order to compare them.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13634">#13634</a>:
          Blocking a <code>conftest.py</code> file using the <code>-p no:</code> option
          is now explicitly disallowed.</p>

          <p>Previously this resulted in an internal assertion failure during plugin
          loading.</p>

          <p>Pytest now raises a clear <code>UsageError</code> explaining that conftest
          files are not plugins and cannot be disabled via <code>-p</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13734">#13734</a>:
          Fixed crash when a test raises an exceptiongroup with <code>__tracebackhide__
          = True</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14195">#14195</a>:
          Fixed an issue where non-string messages passed to <!-- raw HTML omitted
          -->unittest.TestCase.subTest()<!-- raw HTML omitted --> were not printed.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>:
          Fixed use of insecure temporary directory (CVE-2025-71176).</p>

          </li>

          </ul>

          <h2>Improved documentation</h2>

          <ul>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13388">#13388</a>:
          Clarified documentation for <code>-p</code> vs <code>PYTEST_PLUGINS</code>
          plugin loading and fixed an incorrect <code>-p</code> example.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13731">#13731</a>:
          Clarified that capture fixtures (e.g. <code>capsys</code> and <code>capfd</code>)
          take precedence over the <code>-s</code> / <code>--capture=no</code> command-line
          options in <code>Accessing captured output from a test function &lt;accessing-captured-output&gt;</code>.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14088">#14088</a>:
          Clarified that the default <code>pytest_collection</code> hook sets <code>session.items</code>
          before it calls <code>pytest_collection_finish</code>, not after.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14255">#14255</a>:
          TOML integer log levels must be quoted: Updating reference documentation.</li>

          </ul>

          <h2>Contributor-facing changes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12689">#12689</a>:
          The test reports are now published to Codecov from GitHub Actions.

          The test statistics is visible <a href="https://app.codecov.io/gh/pytest-dev/pytest/tests">on
          the web interface</a>.</p>

          <p>-- by <code>aleguy02</code></p>

          </li>

          </ul>

          <h2>9.0.2</h2>

          <h1>pytest 9.0.2 (2025-12-06)</h1>

          <h2>Bug fixes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13896">#13896</a>:
          The terminal progress feature added in pytest 9.0.0 has been disabled by
          default, except on Windows, due to compatibility issues with some terminal
          emulators.</p>

          <p>You may enable it again by passing <code>-p terminalprogress</code>.
          We may enable it by default again once compatibility improves in the future.</p>

          <p>Additionally, when the environment variable <code>TERM</code> is <code>dumb</code>,
          the escape codes are no longer emitted, even if the plugin is enabled.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13904">#13904</a>:
          Fixed the TOML type of the <code>tmp_path_retention_count</code> settings
          in the API reference from number to string.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13946">#13946</a>:
          The private <code>config.inicfg</code> attribute was changed in a breaking
          manner in pytest 9.0.0.

          Due to its usage in the ecosystem, it is now restored to working order using
          a compatibility shim.

          It will be deprecated in pytest 9.1 and removed in pytest 10.</p>

          </li>

          </ul>

          <!-- raw HTML omitted -->

          </blockquote>

          <p>... (truncated)</p>

          </details>

          <details>

          <summary>Commits</summary>

          <ul>

          <li><a href="https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e"><code>a7d58d7</code></a>
          Prepare release version 9.0.3</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22"><code>089d981</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14366">#14366</a>
          from bluetech/revert-14193-backport</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac"><code>8127eaf</code></a>
          Revert &quot;Fix: assertrepr_compare respects dict insertion order (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14050">#14050</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14193">#14193</a>)&quot;</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241"><code>99a7e60</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14363">#14363</a>
          from pytest-dev/patchback/backports/9.0.x/95d8423bd...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95"><code>ddee02a</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>
          from bluetech/cve-2025-71176-simple</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619"><code>74eac69</code></a>
          doc: Update training info (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14298">#14298</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14301">#14301</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869"><code>f92dee7</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14267">#14267</a>
          from pytest-dev/patchback/backports/9.0.x/d6fa26c62...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439"><code>7ee58ac</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12378">#12378</a>
          from Pierre-Sassoulas/fix-implicit-str-concat-and-d...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8"><code>37da870</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14259">#14259</a>
          from mitre88/patch-4 (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14268">#14268</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed"><code>c34bfa3</code></a>
          Add explanation for string context diffs (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14257">#14257</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14266">#14266</a>)</li>

          <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/8.4.1...9.0.3">compare
          view</a></li>

          </ul>

          </details>

          <br />



          [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=uv&previous-version=8.4.1&new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)


          Dependabot will resolve any conflicts with this PR as long as you don''t
          alter it yourself. You can also trigger a rebase manually by commenting
          `@dependabot rebase`.


          [//]: # (dependabot-automerge-start)

          [//]: # (dependabot-automerge-end)


          ---


          <details>

          <summary>Dependabot commands and options</summary>

          <br />


          You can trigger Dependabot actions by commenting on this PR:

          - `@dependabot rebase` will rebase this PR

          - `@dependabot recreate` will recreate this PR, overwriting any edits that
          have been made to it

          - `@dependabot show <dependency name> ignore conditions` will show all of
          the ignore conditions of the specified dependency

          - `@dependabot ignore this major version` will close this PR and stop Dependabot
          creating any more for this major version (unless you reopen the PR or upgrade
          to it yourself)

          - `@dependabot ignore this minor version` will close this PR and stop Dependabot
          creating any more for this minor version (unless you reopen the PR or upgrade
          to it yourself)

          - `@dependabot ignore this dependency` will close this PR and stop Dependabot
          creating any more for this dependency (unless you reopen the PR or upgrade
          to it yourself)

          You can disable automated security fix PRs for this repo from the [Security
          Alerts page](https://github.com/vexxhost/ansible-collection-containers/network/alerts).


          </details>'
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/111
        commit_id: 7702b0ed68052682e0b86a20793a34df6d72544e
        patchset: 7702b0ed68052682e0b86a20793a34df6d72544e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          name: vexxhost/ansible-collection-containers
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        src_dir: src/github.com/vexxhost/ansible-collection-containers
        topic: null
      change: '111'
      change_message: 'chore(deps-dev): bump pytest from 8.4.1 to 9.0.3


        Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.1 to 9.0.3.

        <details>

        <summary>Release notes</summary>

        <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest''s
        releases</a>.</em></p>

        <blockquote>

        <h2>9.0.3</h2>

        <h1>pytest 9.0.3 (2026-04-07)</h1>

        <h2>Bug fixes</h2>

        <ul>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12444">#12444</a>:
        Fixed <code>pytest.approx</code> which now correctly takes into account <code>~collections.abc.Mapping</code>
        keys order to compare them.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13634">#13634</a>:
        Blocking a <code>conftest.py</code> file using the <code>-p no:</code> option
        is now explicitly disallowed.</p>

        <p>Previously this resulted in an internal assertion failure during plugin
        loading.</p>

        <p>Pytest now raises a clear <code>UsageError</code> explaining that conftest
        files are not plugins and cannot be disabled via <code>-p</code>.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13734">#13734</a>:
        Fixed crash when a test raises an exceptiongroup with <code>__tracebackhide__
        = True</code>.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14195">#14195</a>:
        Fixed an issue where non-string messages passed to <!-- raw HTML omitted -->unittest.TestCase.subTest()<!--
        raw HTML omitted --> were not printed.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>:
        Fixed use of insecure temporary directory (CVE-2025-71176).</p>

        </li>

        </ul>

        <h2>Improved documentation</h2>

        <ul>

        <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13388">#13388</a>:
        Clarified documentation for <code>-p</code> vs <code>PYTEST_PLUGINS</code>
        plugin loading and fixed an incorrect <code>-p</code> example.</li>

        <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13731">#13731</a>:
        Clarified that capture fixtures (e.g. <code>capsys</code> and <code>capfd</code>)
        take precedence over the <code>-s</code> / <code>--capture=no</code> command-line
        options in <code>Accessing captured output from a test function &lt;accessing-captured-output&gt;</code>.</li>

        <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14088">#14088</a>:
        Clarified that the default <code>pytest_collection</code> hook sets <code>session.items</code>
        before it calls <code>pytest_collection_finish</code>, not after.</li>

        <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14255">#14255</a>:
        TOML integer log levels must be quoted: Updating reference documentation.</li>

        </ul>

        <h2>Contributor-facing changes</h2>

        <ul>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12689">#12689</a>:
        The test reports are now published to Codecov from GitHub Actions.

        The test statistics is visible <a href="https://app.codecov.io/gh/pytest-dev/pytest/tests">on
        the web interface</a>.</p>

        <p>-- by <code>aleguy02</code></p>

        </li>

        </ul>

        <h2>9.0.2</h2>

        <h1>pytest 9.0.2 (2025-12-06)</h1>

        <h2>Bug fixes</h2>

        <ul>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13896">#13896</a>:
        The terminal progress feature added in pytest 9.0.0 has been disabled by default,
        except on Windows, due to compatibility issues with some terminal emulators.</p>

        <p>You may enable it again by passing <code>-p terminalprogress</code>. We
        may enable it by default again once compatibility improves in the future.</p>

        <p>Additionally, when the environment variable <code>TERM</code> is <code>dumb</code>,
        the escape codes are no longer emitted, even if the plugin is enabled.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13904">#13904</a>:
        Fixed the TOML type of the <code>tmp_path_retention_count</code> settings
        in the API reference from number to string.</p>

        </li>

        <li>

        <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13946">#13946</a>:
        The private <code>config.inicfg</code> attribute was changed in a breaking
        manner in pytest 9.0.0.

        Due to its usage in the ecosystem, it is now restored to working order using
        a compatibility shim.

        It will be deprecated in pytest 9.1 and removed in pytest 10.</p>

        </li>

        </ul>

        <!-- raw HTML omitted -->

        </blockquote>

        <p>... (truncated)</p>

        </details>

        <details>

        <summary>Commits</summary>

        <ul>

        <li><a href="https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e"><code>a7d58d7</code></a>
        Prepare release version 9.0.3</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22"><code>089d981</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14366">#14366</a>
        from bluetech/revert-14193-backport</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac"><code>8127eaf</code></a>
        Revert &quot;Fix: assertrepr_compare respects dict insertion order (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14050">#14050</a>)
        (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14193">#14193</a>)&quot;</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241"><code>99a7e60</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14363">#14363</a>
        from pytest-dev/patchback/backports/9.0.x/95d8423bd...</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95"><code>ddee02a</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>
        from bluetech/cve-2025-71176-simple</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619"><code>74eac69</code></a>
        doc: Update training info (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14298">#14298</a>)
        (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14301">#14301</a>)</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869"><code>f92dee7</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14267">#14267</a>
        from pytest-dev/patchback/backports/9.0.x/d6fa26c62...</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439"><code>7ee58ac</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12378">#12378</a>
        from Pierre-Sassoulas/fix-implicit-str-concat-and-d...</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8"><code>37da870</code></a>
        Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14259">#14259</a>
        from mitre88/patch-4 (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14268">#14268</a>)</li>

        <li><a href="https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed"><code>c34bfa3</code></a>
        Add explanation for string context diffs (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14257">#14257</a>)
        (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14266">#14266</a>)</li>

        <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/8.4.1...9.0.3">compare
        view</a></li>

        </ul>

        </details>

        <br />



        [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=uv&previous-version=8.4.1&new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)


        Dependabot will resolve any conflicts with this PR as long as you don''t alter
        it yourself. You can also trigger a rebase manually by commenting `@dependabot
        rebase`.


        [//]: # (dependabot-automerge-start)

        [//]: # (dependabot-automerge-end)


        ---


        <details>

        <summary>Dependabot commands and options</summary>

        <br />


        You can trigger Dependabot actions by commenting on this PR:

        - `@dependabot rebase` will rebase this PR

        - `@dependabot recreate` will recreate this PR, overwriting any edits that
        have been made to it

        - `@dependabot show <dependency name> ignore conditions` will show all of
        the ignore conditions of the specified dependency

        - `@dependabot ignore this major version` will close this PR and stop Dependabot
        creating any more for this major version (unless you reopen the PR or upgrade
        to it yourself)

        - `@dependabot ignore this minor version` will close this PR and stop Dependabot
        creating any more for this minor version (unless you reopen the PR or upgrade
        to it yourself)

        - `@dependabot ignore this dependency` will close this PR and stop Dependabot
        creating any more for this dependency (unless you reopen the PR or upgrade
        to it yourself)

        You can disable automated security fix PRs for this repo from the [Security
        Alerts page](https://github.com/vexxhost/ansible-collection-containers/network/alerts).


        </details>'
      change_url: https://github.com/vexxhost/ansible-collection-containers/pull/111
      child_jobs: []
      commit_id: 7702b0ed68052682e0b86a20793a34df6d72544e
      event_id: ed477fd0-37aa-11f1-9375-ba961ffa0837
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/105908f5941948ef85ed3eee889f10eb/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/105908f5941948ef85ed3eee889f10eb/work/logs
        result_data_file: /var/lib/zuul/builds/105908f5941948ef85ed3eee889f10eb/work/results.json
        src_root: /var/lib/zuul/builds/105908f5941948ef85ed3eee889f10eb/work/src
        work_root: /var/lib/zuul/builds/105908f5941948ef85ed3eee889f10eb/work
      include_vars: []
      items:
      - branch: main
        change: '111'
        change_message: 'chore(deps-dev): bump pytest from 8.4.1 to 9.0.3


          Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.1 to 9.0.3.

          <details>

          <summary>Release notes</summary>

          <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest''s
          releases</a>.</em></p>

          <blockquote>

          <h2>9.0.3</h2>

          <h1>pytest 9.0.3 (2026-04-07)</h1>

          <h2>Bug fixes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12444">#12444</a>:
          Fixed <code>pytest.approx</code> which now correctly takes into account
          <code>~collections.abc.Mapping</code> keys order to compare them.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13634">#13634</a>:
          Blocking a <code>conftest.py</code> file using the <code>-p no:</code> option
          is now explicitly disallowed.</p>

          <p>Previously this resulted in an internal assertion failure during plugin
          loading.</p>

          <p>Pytest now raises a clear <code>UsageError</code> explaining that conftest
          files are not plugins and cannot be disabled via <code>-p</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13734">#13734</a>:
          Fixed crash when a test raises an exceptiongroup with <code>__tracebackhide__
          = True</code>.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14195">#14195</a>:
          Fixed an issue where non-string messages passed to <!-- raw HTML omitted
          -->unittest.TestCase.subTest()<!-- raw HTML omitted --> were not printed.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>:
          Fixed use of insecure temporary directory (CVE-2025-71176).</p>

          </li>

          </ul>

          <h2>Improved documentation</h2>

          <ul>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13388">#13388</a>:
          Clarified documentation for <code>-p</code> vs <code>PYTEST_PLUGINS</code>
          plugin loading and fixed an incorrect <code>-p</code> example.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/13731">#13731</a>:
          Clarified that capture fixtures (e.g. <code>capsys</code> and <code>capfd</code>)
          take precedence over the <code>-s</code> / <code>--capture=no</code> command-line
          options in <code>Accessing captured output from a test function &lt;accessing-captured-output&gt;</code>.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14088">#14088</a>:
          Clarified that the default <code>pytest_collection</code> hook sets <code>session.items</code>
          before it calls <code>pytest_collection_finish</code>, not after.</li>

          <li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14255">#14255</a>:
          TOML integer log levels must be quoted: Updating reference documentation.</li>

          </ul>

          <h2>Contributor-facing changes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12689">#12689</a>:
          The test reports are now published to Codecov from GitHub Actions.

          The test statistics is visible <a href="https://app.codecov.io/gh/pytest-dev/pytest/tests">on
          the web interface</a>.</p>

          <p>-- by <code>aleguy02</code></p>

          </li>

          </ul>

          <h2>9.0.2</h2>

          <h1>pytest 9.0.2 (2025-12-06)</h1>

          <h2>Bug fixes</h2>

          <ul>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13896">#13896</a>:
          The terminal progress feature added in pytest 9.0.0 has been disabled by
          default, except on Windows, due to compatibility issues with some terminal
          emulators.</p>

          <p>You may enable it again by passing <code>-p terminalprogress</code>.
          We may enable it by default again once compatibility improves in the future.</p>

          <p>Additionally, when the environment variable <code>TERM</code> is <code>dumb</code>,
          the escape codes are no longer emitted, even if the plugin is enabled.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13904">#13904</a>:
          Fixed the TOML type of the <code>tmp_path_retention_count</code> settings
          in the API reference from number to string.</p>

          </li>

          <li>

          <p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13946">#13946</a>:
          The private <code>config.inicfg</code> attribute was changed in a breaking
          manner in pytest 9.0.0.

          Due to its usage in the ecosystem, it is now restored to working order using
          a compatibility shim.

          It will be deprecated in pytest 9.1 and removed in pytest 10.</p>

          </li>

          </ul>

          <!-- raw HTML omitted -->

          </blockquote>

          <p>... (truncated)</p>

          </details>

          <details>

          <summary>Commits</summary>

          <ul>

          <li><a href="https://github.com/pytest-dev/pytest/commit/a7d58d7a21b78581e636bbbdea13c66ad1657c1e"><code>a7d58d7</code></a>
          Prepare release version 9.0.3</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/089d98199c253d8f89a040243bc4f2aa6cd5ab22"><code>089d981</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14366">#14366</a>
          from bluetech/revert-14193-backport</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/8127eaf4ab7f6b2fdd0dc1b38343ec97aeef05ac"><code>8127eaf</code></a>
          Revert &quot;Fix: assertrepr_compare respects dict insertion order (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14050">#14050</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14193">#14193</a>)&quot;</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/99a7e6029e7a6e8d53e5df114b1346e035370241"><code>99a7e60</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14363">#14363</a>
          from pytest-dev/patchback/backports/9.0.x/95d8423bd...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/ddee02a578da30dd43aedc39c1c1f1aaadfcee95"><code>ddee02a</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14343">#14343</a>
          from bluetech/cve-2025-71176-simple</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/74eac6916fee34726cb194f16c516e96fbd29619"><code>74eac69</code></a>
          doc: Update training info (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14298">#14298</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14301">#14301</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/f92dee777cfdb77d1c43633d02766ddf1f07c869"><code>f92dee7</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14267">#14267</a>
          from pytest-dev/patchback/backports/9.0.x/d6fa26c62...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/7ee58acc8777c31ac6cf388d01addf5a414a7439"><code>7ee58ac</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/12378">#12378</a>
          from Pierre-Sassoulas/fix-implicit-str-concat-and-d...</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/37da870d37e3a2f5177cae075c7b9ae279432bf8"><code>37da870</code></a>
          Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14259">#14259</a>
          from mitre88/patch-4 (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14268">#14268</a>)</li>

          <li><a href="https://github.com/pytest-dev/pytest/commit/c34bfa3b7acb65b594707c714f1d8461b0304eed"><code>c34bfa3</code></a>
          Add explanation for string context diffs (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14257">#14257</a>)
          (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14266">#14266</a>)</li>

          <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/8.4.1...9.0.3">compare
          view</a></li>

          </ul>

          </details>

          <br />



          [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=uv&previous-version=8.4.1&new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)


          Dependabot will resolve any conflicts with this PR as long as you don''t
          alter it yourself. You can also trigger a rebase manually by commenting
          `@dependabot rebase`.


          [//]: # (dependabot-automerge-start)

          [//]: # (dependabot-automerge-end)


          ---


          <details>

          <summary>Dependabot commands and options</summary>

          <br />


          You can trigger Dependabot actions by commenting on this PR:

          - `@dependabot rebase` will rebase this PR

          - `@dependabot recreate` will recreate this PR, overwriting any edits that
          have been made to it

          - `@dependabot show <dependency name> ignore conditions` will show all of
          the ignore conditions of the specified dependency

          - `@dependabot ignore this major version` will close this PR and stop Dependabot
          creating any more for this major version (unless you reopen the PR or upgrade
          to it yourself)

          - `@dependabot ignore this minor version` will close this PR and stop Dependabot
          creating any more for this minor version (unless you reopen the PR or upgrade
          to it yourself)

          - `@dependabot ignore this dependency` will close this PR and stop Dependabot
          creating any more for this dependency (unless you reopen the PR or upgrade
          to it yourself)

          You can disable automated security fix PRs for this repo from the [Security
          Alerts page](https://github.com/vexxhost/ansible-collection-containers/network/alerts).


          </details>'
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/111
        commit_id: 7702b0ed68052682e0b86a20793a34df6d72544e
        patchset: 7702b0ed68052682e0b86a20793a34df6d72544e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          name: vexxhost/ansible-collection-containers
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        topic: null
      job: pre-commit
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcy1kZXYpOiBidW1wIHB5dGVzdCBmcm9tIDguNC4xIHRvIDkuMC4zCgpCdW1wcyBbcHl0ZXN0XShodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QpIGZyb20gOC40LjEgdG8gOS4wLjMuCjxkZXRhaWxzPgo8c3VtbWFyeT5SZWxlYXNlIG5vdGVzPC9zdW1tYXJ5Pgo8cD48ZW0+U291cmNlZCBmcm9tIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9yZWxlYXNlcyI+cHl0ZXN0J3MgcmVsZWFzZXM8L2E+LjwvZW0+PC9wPgo8YmxvY2txdW90ZT4KPGgyPjkuMC4zPC9oMj4KPGgxPnB5dGVzdCA5LjAuMyAoMjAyNi0wNC0wNyk8L2gxPgo8aDI+QnVnIGZpeGVzPC9oMj4KPHVsPgo8bGk+CjxwPjxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTI0NDQiPiMxMjQ0NDwvYT46IEZpeGVkIDxjb2RlPnB5dGVzdC5hcHByb3g8L2NvZGU+IHdoaWNoIG5vdyBjb3JyZWN0bHkgdGFrZXMgaW50byBhY2NvdW50IDxjb2RlPn5jb2xsZWN0aW9ucy5hYmMuTWFwcGluZzwvY29kZT4ga2V5cyBvcmRlciB0byBjb21wYXJlIHRoZW0uPC9wPgo8L2xpPgo8bGk+CjxwPjxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTM2MzQiPiMxMzYzNDwvYT46IEJsb2NraW5nIGEgPGNvZGU+Y29uZnRlc3QucHk8L2NvZGU+IGZpbGUgdXNpbmcgdGhlIDxjb2RlPi1wIG5vOjwvY29kZT4gb3B0aW9uIGlzIG5vdyBleHBsaWNpdGx5IGRpc2FsbG93ZWQuPC9wPgo8cD5QcmV2aW91c2x5IHRoaXMgcmVzdWx0ZWQgaW4gYW4gaW50ZXJuYWwgYXNzZXJ0aW9uIGZhaWx1cmUgZHVyaW5nIHBsdWdpbiBsb2FkaW5nLjwvcD4KPHA+UHl0ZXN0IG5vdyByYWlzZXMgYSBjbGVhciA8Y29kZT5Vc2FnZUVycm9yPC9jb2RlPiBleHBsYWluaW5nIHRoYXQgY29uZnRlc3QgZmlsZXMgYXJlIG5vdCBwbHVnaW5zIGFuZCBjYW5ub3QgYmUgZGlzYWJsZWQgdmlhIDxjb2RlPi1wPC9jb2RlPi48L3A+CjwvbGk+CjxsaT4KPHA+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xMzczNCI+IzEzNzM0PC9hPjogRml4ZWQgY3Jhc2ggd2hlbiBhIHRlc3QgcmFpc2VzIGFuIGV4Y2VwdGlvbmdyb3VwIHdpdGggPGNvZGU+X190cmFjZWJhY2toaWRlX18gPSBUcnVlPC9jb2RlPi48L3A+CjwvbGk+CjxsaT4KPHA+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDE5NSI+IzE0MTk1PC9hPjogRml4ZWQgYW4gaXNzdWUgd2hlcmUgbm9uLXN0cmluZyBtZXNzYWdlcyBwYXNzZWQgdG8gPCEtLSByYXcgSFRNTCBvbWl0dGVkIC0tPnVuaXR0ZXN0LlRlc3RDYXNlLnN1YlRlc3QoKTwhLS0gcmF3IEhUTUwgb21pdHRlZCAtLT4gd2VyZSBub3QgcHJpbnRlZC48L3A+CjwvbGk+CjxsaT4KPHA+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDM0MyI+IzE0MzQzPC9hPjogRml4ZWQgdXNlIG9mIGluc2VjdXJlIHRlbXBvcmFyeSBkaXJlY3RvcnkgKENWRS0yMDI1LTcxMTc2KS48L3A+CjwvbGk+CjwvdWw+CjxoMj5JbXByb3ZlZCBkb2N1bWVudGF0aW9uPC9oMj4KPHVsPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xMzM4OCI+IzEzMzg4PC9hPjogQ2xhcmlmaWVkIGRvY3VtZW50YXRpb24gZm9yIDxjb2RlPi1wPC9jb2RlPiB2cyA8Y29kZT5QWVRFU1RfUExVR0lOUzwvY29kZT4gcGx1Z2luIGxvYWRpbmcgYW5kIGZpeGVkIGFuIGluY29ycmVjdCA8Y29kZT4tcDwvY29kZT4gZXhhbXBsZS48L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xMzczMSI+IzEzNzMxPC9hPjogQ2xhcmlmaWVkIHRoYXQgY2FwdHVyZSBmaXh0dXJlcyAoZS5nLiA8Y29kZT5jYXBzeXM8L2NvZGU+IGFuZCA8Y29kZT5jYXBmZDwvY29kZT4pIHRha2UgcHJlY2VkZW5jZSBvdmVyIHRoZSA8Y29kZT4tczwvY29kZT4gLyA8Y29kZT4tLWNhcHR1cmU9bm88L2NvZGU+IGNvbW1hbmQtbGluZSBvcHRpb25zIGluIDxjb2RlPkFjY2Vzc2luZyBjYXB0dXJlZCBvdXRwdXQgZnJvbSBhIHRlc3QgZnVuY3Rpb24gJmx0O2FjY2Vzc2luZy1jYXB0dXJlZC1vdXRwdXQmZ3Q7PC9jb2RlPi48L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDA4OCI+IzE0MDg4PC9hPjogQ2xhcmlmaWVkIHRoYXQgdGhlIGRlZmF1bHQgPGNvZGU+cHl0ZXN0X2NvbGxlY3Rpb248L2NvZGU+IGhvb2sgc2V0cyA8Y29kZT5zZXNzaW9uLml0ZW1zPC9jb2RlPiBiZWZvcmUgaXQgY2FsbHMgPGNvZGU+cHl0ZXN0X2NvbGxlY3Rpb25fZmluaXNoPC9jb2RlPiwgbm90IGFmdGVyLjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzE0MjU1Ij4jMTQyNTU8L2E+OiBUT01MIGludGVnZXIgbG9nIGxldmVscyBtdXN0IGJlIHF1b3RlZDogVXBkYXRpbmcgcmVmZXJlbmNlIGRvY3VtZW50YXRpb24uPC9saT4KPC91bD4KPGgyPkNvbnRyaWJ1dG9yLWZhY2luZyBjaGFuZ2VzPC9oMj4KPHVsPgo8bGk+CjxwPjxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTI2ODkiPiMxMjY4OTwvYT46IFRoZSB0ZXN0IHJlcG9ydHMgYXJlIG5vdyBwdWJsaXNoZWQgdG8gQ29kZWNvdiBmcm9tIEdpdEh1YiBBY3Rpb25zLgpUaGUgdGVzdCBzdGF0aXN0aWNzIGlzIHZpc2libGUgPGEgaHJlZj0iaHR0cHM6Ly9hcHAuY29kZWNvdi5pby9naC9weXRlc3QtZGV2L3B5dGVzdC90ZXN0cyI+b24gdGhlIHdlYiBpbnRlcmZhY2U8L2E+LjwvcD4KPHA+LS0gYnkgPGNvZGU+YWxlZ3V5MDI8L2NvZGU+PC9wPgo8L2xpPgo8L3VsPgo8aDI+OS4wLjI8L2gyPgo8aDE+cHl0ZXN0IDkuMC4yICgyMDI1LTEyLTA2KTwvaDE+CjxoMj5CdWcgZml4ZXM8L2gyPgo8dWw+CjxsaT4KPHA+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xMzg5NiI+IzEzODk2PC9hPjogVGhlIHRlcm1pbmFsIHByb2dyZXNzIGZlYXR1cmUgYWRkZWQgaW4gcHl0ZXN0IDkuMC4wIGhhcyBiZWVuIGRpc2FibGVkIGJ5IGRlZmF1bHQsIGV4Y2VwdCBvbiBXaW5kb3dzLCBkdWUgdG8gY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBzb21lIHRlcm1pbmFsIGVtdWxhdG9ycy48L3A+CjxwPllvdSBtYXkgZW5hYmxlIGl0IGFnYWluIGJ5IHBhc3NpbmcgPGNvZGU+LXAgdGVybWluYWxwcm9ncmVzczwvY29kZT4uIFdlIG1heSBlbmFibGUgaXQgYnkgZGVmYXVsdCBhZ2FpbiBvbmNlIGNvbXBhdGliaWxpdHkgaW1wcm92ZXMgaW4gdGhlIGZ1dHVyZS48L3A+CjxwPkFkZGl0aW9uYWxseSwgd2hlbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgPGNvZGU+VEVSTTwvY29kZT4gaXMgPGNvZGU+ZHVtYjwvY29kZT4sIHRoZSBlc2NhcGUgY29kZXMgYXJlIG5vIGxvbmdlciBlbWl0dGVkLCBldmVuIGlmIHRoZSBwbHVnaW4gaXMgZW5hYmxlZC48L3A+CjwvbGk+CjxsaT4KPHA+PGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xMzkwNCI+IzEzOTA0PC9hPjogRml4ZWQgdGhlIFRPTUwgdHlwZSBvZiB0aGUgPGNvZGU+dG1wX3BhdGhfcmV0ZW50aW9uX2NvdW50PC9jb2RlPiBzZXR0aW5ncyBpbiB0aGUgQVBJIHJlZmVyZW5jZSBmcm9tIG51bWJlciB0byBzdHJpbmcuPC9wPgo8L2xpPgo8bGk+CjxwPjxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTM5NDYiPiMxMzk0NjwvYT46IFRoZSBwcml2YXRlIDxjb2RlPmNvbmZpZy5pbmljZmc8L2NvZGU+IGF0dHJpYnV0ZSB3YXMgY2hhbmdlZCBpbiBhIGJyZWFraW5nIG1hbm5lciBpbiBweXRlc3QgOS4wLjAuCkR1ZSB0byBpdHMgdXNhZ2UgaW4gdGhlIGVjb3N5c3RlbSwgaXQgaXMgbm93IHJlc3RvcmVkIHRvIHdvcmtpbmcgb3JkZXIgdXNpbmcgYSBjb21wYXRpYmlsaXR5IHNoaW0uCkl0IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBweXRlc3QgOS4xIGFuZCByZW1vdmVkIGluIHB5dGVzdCAxMC48L3A+CjwvbGk+CjwvdWw+CjwhLS0gcmF3IEhUTUwgb21pdHRlZCAtLT4KPC9ibG9ja3F1b3RlPgo8cD4uLi4gKHRydW5jYXRlZCk8L3A+CjwvZGV0YWlscz4KPGRldGFpbHM+CjxzdW1tYXJ5PkNvbW1pdHM8L3N1bW1hcnk+Cjx1bD4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvYTdkNThkN2EyMWI3ODU4MWU2MzZiYmJkZWExM2M2NmFkMTY1N2MxZSI+PGNvZGU+YTdkNThkNzwvY29kZT48L2E+IFByZXBhcmUgcmVsZWFzZSB2ZXJzaW9uIDkuMC4zPC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvMDg5ZDk4MTk5YzI1M2Q4Zjg5YTA0MDI0M2JjNGYyYWE2Y2Q1YWIyMiI+PGNvZGU+MDg5ZDk4MTwvY29kZT48L2E+IE1lcmdlIHB1bGwgcmVxdWVzdCA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzE0MzY2Ij4jMTQzNjY8L2E+IGZyb20gYmx1ZXRlY2gvcmV2ZXJ0LTE0MTkzLWJhY2twb3J0PC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvODEyN2VhZjRhYjdmNmIyZmRkMGRjMWIzODM0M2VjOTdhZWVmMDVhYyI+PGNvZGU+ODEyN2VhZjwvY29kZT48L2E+IFJldmVydCAmcXVvdDtGaXg6IGFzc2VydHJlcHJfY29tcGFyZSByZXNwZWN0cyBkaWN0IGluc2VydGlvbiBvcmRlciAoPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDA1MCI+IzE0MDUwPC9hPikgKDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTQxOTMiPiMxNDE5MzwvYT4pJnF1b3Q7PC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvOTlhN2U2MDI5ZTdhNmU4ZDUzZTVkZjExNGIxMzQ2ZTAzNTM3MDI0MSI+PGNvZGU+OTlhN2U2MDwvY29kZT48L2E+IE1lcmdlIHB1bGwgcmVxdWVzdCA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzE0MzYzIj4jMTQzNjM8L2E+IGZyb20gcHl0ZXN0LWRldi9wYXRjaGJhY2svYmFja3BvcnRzLzkuMC54Lzk1ZDg0MjNiZC4uLjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvY29tbWl0L2RkZWUwMmE1NzhkYTMwZGQ0M2FlZGMzOWMxYzFmMWFhYWRmY2VlOTUiPjxjb2RlPmRkZWUwMmE8L2NvZGU+PC9hPiBNZXJnZSBwdWxsIHJlcXVlc3QgPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDM0MyI+IzE0MzQzPC9hPiBmcm9tIGJsdWV0ZWNoL2N2ZS0yMDI1LTcxMTc2LXNpbXBsZTwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvY29tbWl0Lzc0ZWFjNjkxNmZlZTM0NzI2Y2IxOTRmMTZjNTE2ZTk2ZmJkMjk2MTkiPjxjb2RlPjc0ZWFjNjk8L2NvZGU+PC9hPiBkb2M6IFVwZGF0ZSB0cmFpbmluZyBpbmZvICg8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzE0Mjk4Ij4jMTQyOTg8L2E+KSAoPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDMwMSI+IzE0MzAxPC9hPik8L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2NvbW1pdC9mOTJkZWU3NzdjZmRiNzdkMWM0MzYzM2QwMjc2NmRkZjFmMDdjODY5Ij48Y29kZT5mOTJkZWU3PC9jb2RlPjwvYT4gTWVyZ2UgcHVsbCByZXF1ZXN0IDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTQyNjciPiMxNDI2NzwvYT4gZnJvbSBweXRlc3QtZGV2L3BhdGNoYmFjay9iYWNrcG9ydHMvOS4wLngvZDZmYTI2YzYyLi4uPC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9jb21taXQvN2VlNThhY2M4Nzc3YzMxYWM2Y2YzODhkMDFhZGRmNWE0MTRhNzQzOSI+PGNvZGU+N2VlNThhYzwvY29kZT48L2E+IE1lcmdlIHB1bGwgcmVxdWVzdCA8YSBocmVmPSJodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzEyMzc4Ij4jMTIzNzg8L2E+IGZyb20gUGllcnJlLVNhc3NvdWxhcy9maXgtaW1wbGljaXQtc3RyLWNvbmNhdC1hbmQtZC4uLjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvY29tbWl0LzM3ZGE4NzBkMzdlM2EyZjUxNzdjYWUwNzVjN2I5YWUyNzk0MzJiZjgiPjxjb2RlPjM3ZGE4NzA8L2NvZGU+PC9hPiBNZXJnZSBwdWxsIHJlcXVlc3QgPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDI1OSI+IzE0MjU5PC9hPiBmcm9tIG1pdHJlODgvcGF0Y2gtNCAoPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDI2OCI+IzE0MjY4PC9hPik8L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2NvbW1pdC9jMzRiZmEzYjdhY2I2NWI1OTQ3MDdjNzE0ZjFkODQ2MWIwMzA0ZWVkIj48Y29kZT5jMzRiZmEzPC9jb2RlPjwvYT4gQWRkIGV4cGxhbmF0aW9uIGZvciBzdHJpbmcgY29udGV4dCBkaWZmcyAoPGEgaHJlZj0iaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5dGVzdC1kZXYvcHl0ZXN0L2lzc3Vlcy8xNDI1NyI+IzE0MjU3PC9hPikgKDxhIGhyZWY9Imh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXRlc3QtZGV2L3B5dGVzdC9pc3N1ZXMvMTQyNjYiPiMxNDI2NjwvYT4pPC9saT4KPGxpPkFkZGl0aW9uYWwgY29tbWl0cyB2aWV3YWJsZSBpbiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvY29tcGFyZS84LjQuMS4uLjkuMC4zIj5jb21wYXJlIHZpZXc8L2E+PC9saT4KPC91bD4KPC9kZXRhaWxzPgo8YnIgLz4KCgpbIVtEZXBlbmRhYm90IGNvbXBhdGliaWxpdHkgc2NvcmVdKGh0dHBzOi8vZGVwZW5kYWJvdC1iYWRnZXMuZ2l0aHViYXBwLmNvbS9iYWRnZXMvY29tcGF0aWJpbGl0eV9zY29yZT9kZXBlbmRlbmN5LW5hbWU9cHl0ZXN0JnBhY2thZ2UtbWFuYWdlcj11diZwcmV2aW91cy12ZXJzaW9uPTguNC4xJm5ldy12ZXJzaW9uPTkuMC4zKV0oaHR0cHM6Ly9kb2NzLmdpdGh1Yi5jb20vZW4vZ2l0aHViL21hbmFnaW5nLXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy9hYm91dC1kZXBlbmRhYm90LXNlY3VyaXR5LXVwZGF0ZXMjYWJvdXQtY29tcGF0aWJpbGl0eS1zY29yZXMpCgpEZXBlbmRhYm90IHdpbGwgcmVzb2x2ZSBhbnkgY29uZmxpY3RzIHdpdGggdGhpcyBQUiBhcyBsb25nIGFzIHlvdSBkb24ndCBhbHRlciBpdCB5b3Vyc2VsZi4gWW91IGNhbiBhbHNvIHRyaWdnZXIgYSByZWJhc2UgbWFudWFsbHkgYnkgY29tbWVudGluZyBgQGRlcGVuZGFib3QgcmViYXNlYC4KClsvL106ICMgKGRlcGVuZGFib3QtYXV0b21lcmdlLXN0YXJ0KQpbLy9dOiAjIChkZXBlbmRhYm90LWF1dG9tZXJnZS1lbmQpCgotLS0KCjxkZXRhaWxzPgo8c3VtbWFyeT5EZXBlbmRhYm90IGNvbW1hbmRzIGFuZCBvcHRpb25zPC9zdW1tYXJ5Pgo8YnIgLz4KCllvdSBjYW4gdHJpZ2dlciBEZXBlbmRhYm90IGFjdGlvbnMgYnkgY29tbWVudGluZyBvbiB0aGlzIFBSOgotIGBAZGVwZW5kYWJvdCByZWJhc2VgIHdpbGwgcmViYXNlIHRoaXMgUFIKLSBgQGRlcGVuZGFib3QgcmVjcmVhdGVgIHdpbGwgcmVjcmVhdGUgdGhpcyBQUiwgb3ZlcndyaXRpbmcgYW55IGVkaXRzIHRoYXQgaGF2ZSBiZWVuIG1hZGUgdG8gaXQKLSBgQGRlcGVuZGFib3Qgc2hvdyA8ZGVwZW5kZW5jeSBuYW1lPiBpZ25vcmUgY29uZGl0aW9uc2Agd2lsbCBzaG93IGFsbCBvZiB0aGUgaWdub3JlIGNvbmRpdGlvbnMgb2YgdGhlIHNwZWNpZmllZCBkZXBlbmRlbmN5Ci0gYEBkZXBlbmRhYm90IGlnbm9yZSB0aGlzIG1ham9yIHZlcnNpb25gIHdpbGwgY2xvc2UgdGhpcyBQUiBhbmQgc3RvcCBEZXBlbmRhYm90IGNyZWF0aW5nIGFueSBtb3JlIGZvciB0aGlzIG1ham9yIHZlcnNpb24gKHVubGVzcyB5b3UgcmVvcGVuIHRoZSBQUiBvciB1cGdyYWRlIHRvIGl0IHlvdXJzZWxmKQotIGBAZGVwZW5kYWJvdCBpZ25vcmUgdGhpcyBtaW5vciB2ZXJzaW9uYCB3aWxsIGNsb3NlIHRoaXMgUFIgYW5kIHN0b3AgRGVwZW5kYWJvdCBjcmVhdGluZyBhbnkgbW9yZSBmb3IgdGhpcyBtaW5vciB2ZXJzaW9uICh1bmxlc3MgeW91IHJlb3BlbiB0aGUgUFIgb3IgdXBncmFkZSB0byBpdCB5b3Vyc2VsZikKLSBgQGRlcGVuZGFib3QgaWdub3JlIHRoaXMgZGVwZW5kZW5jeWAgd2lsbCBjbG9zZSB0aGlzIFBSIGFuZCBzdG9wIERlcGVuZGFib3QgY3JlYXRpbmcgYW55IG1vcmUgZm9yIHRoaXMgZGVwZW5kZW5jeSAodW5sZXNzIHlvdSByZW9wZW4gdGhlIFBSIG9yIHVwZ3JhZGUgdG8gaXQgeW91cnNlbGYpCllvdSBjYW4gZGlzYWJsZSBhdXRvbWF0ZWQgc2VjdXJpdHkgZml4IFBScyBmb3IgdGhpcyByZXBvIGZyb20gdGhlIFtTZWN1cml0eSBBbGVydHMgcGFnZV0oaHR0cHM6Ly9naXRodWIuY29tL3ZleHhob3N0L2Fuc2libGUtY29sbGVjdGlvbi1jb250YWluZXJzL25ldHdvcmsvYWxlcnRzKS4KCjwvZGV0YWlscz4=
      patchset: 7702b0ed68052682e0b86a20793a34df6d72544e
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 01384e11271b1590fe57d1c69f228708f741103e
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_0/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_1/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 01384e11271b1590fe57d1c69f228708f741103e
        playbooks:
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/pre-commit/run.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
        post_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_0/role_2/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_1/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles
        pre_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_0/role_2/zuul-jobs/roles
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/pre-commit/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_1/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_1/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/vexxhost/ansible-collection-containers
        name: vexxhost/ansible-collection-containers
        short_name: ansible-collection-containers
        src_dir: src/github.com/vexxhost/ansible-collection-containers
      projects:
        github.com/vexxhost/ansible-collection-containers:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          checkout: main
          checkout_description: zuul branch
          commit: 5cdca68958fd97a2306f0ebc0ab7fcfce6c445b9
          name: vexxhost/ansible-collection-containers
          required: false
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
      ref: refs/pull/111/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
