From a40bde3209d6d2ac2d4b79db48d73862a59b61cc Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 17 Jul 2026 23:49:35 -0400 Subject: [PATCH 01/61] DOC: Add Zenodo DOI for 3.11.1 --- doc/_static/zenodo_cache/21422872.svg | 35 +++++++++++++++++++++++++++ doc/project/citing.rst | 3 +++ tools/cache_zenodo_svg.py | 1 + 3 files changed, 39 insertions(+) create mode 100644 doc/_static/zenodo_cache/21422872.svg diff --git a/doc/_static/zenodo_cache/21422872.svg b/doc/_static/zenodo_cache/21422872.svg new file mode 100644 index 000000000000..f67ae78c3ef8 --- /dev/null +++ b/doc/_static/zenodo_cache/21422872.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + DOI + + + DOI + + + 10.5281/zenodo.21422872 + + + 10.5281/zenodo.21422872 + + + \ No newline at end of file diff --git a/doc/project/citing.rst b/doc/project/citing.rst index 04f60c20bfaf..96f44f7b2daa 100644 --- a/doc/project/citing.rst +++ b/doc/project/citing.rst @@ -32,6 +32,9 @@ By version .. START OF AUTOGENERATED +v3.11.1 + .. image:: ../_static/zenodo_cache/21422872.svg + :target: https://doi.org/10.5281/zenodo.21422872 v3.11.0 .. image:: ../_static/zenodo_cache/20654446.svg :target: https://doi.org/10.5281/zenodo.20654446 diff --git a/tools/cache_zenodo_svg.py b/tools/cache_zenodo_svg.py index ca80e6376712..17393dd94787 100644 --- a/tools/cache_zenodo_svg.py +++ b/tools/cache_zenodo_svg.py @@ -63,6 +63,7 @@ def _get_xdg_cache_dir(): if __name__ == "__main__": data = { + "v3.11.1": "21422872", "v3.11.0": "20654446", "v3.10.9": "19716234", "v3.10.8": "17595503", From 8e01118f497313be4a5b3d77ef35e209ccfbc5ca Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Sat, 18 Jul 2026 19:28:59 -0400 Subject: [PATCH 02/61] Backport PR #32066: Fix crash on prime after single-character superscript --- lib/matplotlib/_mathtext.py | 4 ++++ lib/matplotlib/tests/test_mathtext.py | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/lib/matplotlib/_mathtext.py b/lib/matplotlib/_mathtext.py index 9f23e5e3ab08..f81a0df8099e 100644 --- a/lib/matplotlib/_mathtext.py +++ b/lib/matplotlib/_mathtext.py @@ -2607,6 +2607,10 @@ def subsuper(self, s: str, loc: int, toks: ParseResults) -> T.Any: if napostrophes: if super is None: super = Hlist([]) + elif not isinstance(super, Hlist): + # A single-char superscript is a bare Char; wrap it so the + # prime glyphs can be appended. + super = Hlist([super]) for i in range(napostrophes): super.children.extend(self.symbol(s, loc, {"sym": "\\prime"})) # kern() and hpack() needed to get the metrics right after diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py index b200c3a9e048..b89ceaa144cf 100644 --- a/lib/matplotlib/tests/test_mathtext.py +++ b/lib/matplotlib/tests/test_mathtext.py @@ -569,6 +569,13 @@ def test_mathtext_operators(): fig.draw_without_rendering() +@pytest.mark.parametrize("expr", [r"$x^2'$", r"$x^a'$", r"$x^2''$", r"$x^\alpha'$"]) +def test_mathtext_single_char_super_with_prime(expr): + # Regression test for a crash: prime after a single-char superscript. + parser = mathtext.MathTextParser('agg') + parser.parse(expr) + + @check_figures_equal() def test_boldsymbol(fig_test, fig_ref): fig_test.text(0.1, 0.2, r"$\boldsymbol{\mathrm{abc0123\alpha}}$") From 1b0374a3ec4ce9678fc46aebc9612a514e2bc910 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 21 Jul 2026 03:59:13 -0400 Subject: [PATCH 03/61] Backport PR #32058: MNT: Fix handling of ints in hsv_to_rgb() --- lib/matplotlib/colors.py | 9 ++++----- lib/matplotlib/tests/test_colors.py | 5 +++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index 010f73131fbc..fe80faab72e0 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -3729,11 +3729,10 @@ def hsv_to_rgb(hsv): f"shape {hsv.shape} was found.") in_shape = hsv.shape - hsv = np.array( - hsv, copy=False, - dtype=np.promote_types(hsv.dtype, np.float32), # Don't work on ints. - ndmin=2, # In case input was 1D. - ) + # ensure numerics are done at least on float32; ints are cast as well + hsv = np.asarray(hsv, dtype=np.promote_types(hsv.dtype, np.float32)) + if hsv.ndim == 1: + hsv = np.expand_dims(hsv, axis=0) # ensure hsv is 2D h = hsv[..., 0] s = hsv[..., 1] diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py index 2ef9b7c5d091..32e155e47f72 100644 --- a/lib/matplotlib/tests/test_colors.py +++ b/lib/matplotlib/tests/test_colors.py @@ -946,6 +946,11 @@ def test_rgb_to_hsv_int(): assert_array_equal(mcolors.rgb_to_hsv((0, 1, 0)), (1/3, 1, 1)) # green +def test_hsv_to_rgb_int(): + # Test that int hsv values (still range 0-1) are processed correctly. + assert_array_equal(mcolors.hsv_to_rgb((0, 1, 1)), (1, 0, 0)) # red + + def test_autoscale_masked(): # Test for #2336. Previously fully masked data would trigger a ValueError. data = np.ma.masked_all((12, 20)) From 9b17ee6112ce408df09f4b51878dbf74a30d555d Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 22 Jul 2026 05:04:07 +0200 Subject: [PATCH 04/61] Backport PR #32087: DOC: Fixing typo in units documentation for pyplot figuresize units --- lib/matplotlib/pyplot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index 97fd1bc6209e..650ed5873203 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -946,9 +946,9 @@ def figure( figsize : (float, float) or (float, float, str), default: :rc:`figure.figsize` The figure dimensions. This can be - - a tuple ``(width, height, unit)``, where *unit* is one of "inch", "cm", + - a tuple ``(width, height, unit)``, where *unit* is one of "in", "cm", "px". - - a tuple ``(x, y)``, which is interpreted as ``(x, y, "inch")``. + - a tuple ``(x, y)``, which is interpreted as ``(x, y, "in")``. One of *width* or *height* may be ``None``; the respective value is taken from :rc:`figure.figsize`. From 16175a819d7df3a4a0594d2cb37d1d17bfb1e61f Mon Sep 17 00:00:00 2001 From: Danial Ludwig <69001870+dkludwig@users.noreply.github.com> Date: Tue, 21 Jul 2026 23:44:10 -0400 Subject: [PATCH 05/61] Backport PR #32069: FIX: remove warning when clearing axes with shared axis --- lib/matplotlib/axes/_base.py | 7 ++++++- lib/matplotlib/tests/test_axes.py | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 25138be1471c..c835eefc28b8 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -1354,8 +1354,13 @@ def __clear(self): xaxis_visible = self.xaxis.get_visible() yaxis_visible = self.yaxis.get_visible() - for axis in self._axis_map.values(): + for name, axis in self._axis_map.items(): axis.clear() # Also resets the scale to linear. + # need to do any shared axis scales as well + for other in axis._get_shared_axes(): + if other is self.axes: + continue + other._axis_map[name]._set_scale("linear") for spine in self.spines.values(): spine._clear() # Use _clear to not clear Axis again diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 9e27e9ab0a16..5713c371a341 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -37,6 +37,7 @@ from matplotlib.projections.geo import HammerAxes from matplotlib.projections.polar import PolarAxes import matplotlib.pyplot as plt +import matplotlib.scale as mscales import matplotlib.text as mtext import matplotlib.ticker as mticker import matplotlib.transforms as mtransforms @@ -9264,6 +9265,24 @@ def test_shared_axes_clear(fig_test, fig_ref): ax.plot(x, y) +def test_shared_axes_clear_scale(recwarn): + _, axs = plt.subplots(1, 2, sharey=True) + x = range(1, 10) + axs[0].loglog(x, x) + axs[1].loglog(x, x) + axs[0].clear() + + assert len(recwarn) == 0 + + # the cleared axes has linear on both axis + for axis in axs[0]._axis_map.values(): + assert isinstance(axis._scale, mscales.LinearScale) + + # the linked axes becomes linear on the shared y-axis + assert isinstance(axs[1].xaxis._scale, mscales.LogScale) + assert isinstance(axs[1].yaxis._scale, mscales.LinearScale) + + def test_shared_axes_retick(): fig, axs = plt.subplots(2, 2, sharex='all', sharey='all') From 9dec37623431a0d14a53a00ef2de39eec4ed0a29 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Wed, 22 Jul 2026 22:19:17 -0400 Subject: [PATCH 06/61] Backport PR #32101: Cairo: Switch back to character codes for mathtext --- lib/matplotlib/backends/backend_cairo.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/backends/backend_cairo.py b/lib/matplotlib/backends/backend_cairo.py index a16c7a25aec2..5201959151da 100644 --- a/lib/matplotlib/backends/backend_cairo.py +++ b/lib/matplotlib/backends/backend_cairo.py @@ -8,7 +8,6 @@ import functools import gzip -import itertools import math import numpy as np @@ -249,15 +248,12 @@ def _draw_mathtext(self, gc, x, y, s, prop, angle): if angle: ctx.rotate(np.deg2rad(-angle)) - for (font, fontsize), font_glyphs in itertools.groupby( - glyphs, key=lambda info: (info[0], info[1])): + for font, fontsize, ccode, _glyph_index, ox, oy in glyphs: ctx.new_path() + ctx.move_to(ox, -oy) ctx.select_font_face(*_cairo_font_args_from_font_prop(ttfFontProperty(font))) ctx.set_font_size(self.points_to_pixels(fontsize)) - ctx.show_glyphs([ - (glyph_index, ox, -oy) - for _font, _size, _ccode, glyph_index, ox, oy in font_glyphs - ]) + ctx.show_text(chr(ccode)) for ox, oy, w, h in rects: ctx.new_path() From 6e4e6974cb96e0b7aed281b6cd22f85eec2d7429 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 24 Jul 2026 16:42:54 +0200 Subject: [PATCH 07/61] Backport PR #31978: Bump the pre-commit group across 1 directory with 3 updates --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8706ec94b3d5..9eeeb03c7937 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -44,7 +44,7 @@ repos: pass_filenames: false - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: 0671d8ab202c4ac093b78433ae5baf74f3fc7246 # frozen: v0.15.15 + rev: c59bba8fb259db0fec2bbb77ad8ba51ea7341b56 # frozen: v0.15.20 hooks: # Run the linter. - id: ruff-check @@ -83,7 +83,7 @@ repos: hooks: - id: shellcheck - repo: https://github.com/zizmorcore/zizmor-pre-commit - rev: a4727cbbcd26d7098e96b9cb738169b59711ae51 # frozen: v1.24.1 + rev: e3eebf65325ccc992422292cb7a4baee967cf815 # frozen: v1.26.1 hooks: - id: zizmor - repo: https://github.com/simple-icons/svglint @@ -95,7 +95,7 @@ repos: # SVG examples are handled in .svglintrc.mjs. exclude: '^$' - repo: https://github.com/python-jsonschema/check-jsonschema - rev: f805888065fdb6162e1f800e50bb9460cbd223d6 # frozen: 0.37.2 + rev: 5030dca3047414c338091455ac41803200ec1f0f # frozen: 0.37.3 hooks: # TODO: Re-enable this when https://github.com/microsoft/azure-pipelines-vscode/issues/567 is fixed. # - id: check-azure-pipelines From 338ee89c994c30fd0b8b879915903349e168c06f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 Jul 2026 08:29:39 -0600 Subject: [PATCH 08/61] Backport PR #32115: Bump the actions group across 1 directory with 6 updates --- .github/workflows/autoclose_schedule.yml | 2 +- .github/workflows/cibuildwheel.yml | 2 +- .github/workflows/circleci.yml | 2 +- .github/workflows/clean_pr.yml | 2 +- .github/workflows/codeql-analysis.yml | 6 +++--- .github/workflows/cygwin.yml | 2 +- .github/workflows/labeler.yml | 2 +- .github/workflows/linting.yml | 10 +++++----- .github/workflows/mypy-stubtest.yml | 2 +- .github/workflows/stale-tidy.yml | 2 +- .github/workflows/stale.yml | 2 +- .github/workflows/tests.yml | 2 +- .github/workflows/wasm.yml | 2 +- .github/workflows/zizmor.yml | 4 ++-- 14 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/autoclose_schedule.yml b/.github/workflows/autoclose_schedule.yml index 006cb3dda986..f3b43c784924 100644 --- a/.github/workflows/autoclose_schedule.yml +++ b/.github/workflows/autoclose_schedule.yml @@ -22,7 +22,7 @@ jobs: name: autoclose labeled PRs runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 5618d0eb8764..8cbc91004183 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -42,7 +42,7 @@ jobs: SDIST_NAME: ${{ steps.sdist.outputs.SDIST_NAME }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 persist-credentials: false diff --git a/.github/workflows/circleci.yml b/.github/workflows/circleci.yml index 017bba79148d..1796be0d03bf 100644 --- a/.github/workflows/circleci.yml +++ b/.github/workflows/circleci.yml @@ -31,7 +31,7 @@ jobs: runs-on: ubuntu-latest name: Post warnings/errors as review steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/clean_pr.yml b/.github/workflows/clean_pr.yml index acc1994e7a9c..07fbecf0df5e 100644 --- a/.github/workflows/clean_pr.yml +++ b/.github/workflows/clean_pr.yml @@ -11,7 +11,7 @@ jobs: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: '0' persist-credentials: false diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 64a7ab4b8f6b..5feecaed2d77 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -29,12 +29,12 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3 + uses: github/codeql-action/init@7188fc363630916deb702c7fdcf4e481b751f97a # v4.37.1 with: languages: ${{ matrix.language }} @@ -45,4 +45,4 @@ jobs: pip install --user -v . - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3 + uses: github/codeql-action/analyze@7188fc363630916deb702c7fdcf4e481b751f97a # v4.37.1 diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml index 02636954b8cf..ba92ad3a9ca1 100644 --- a/.github/workflows/cygwin.yml +++ b/.github/workflows/cygwin.yml @@ -80,7 +80,7 @@ jobs: - name: Fix line endings run: git config --global core.autocrlf input - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 persist-credentials: false diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 600e7fc34a95..e3d04a05d78d 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -12,6 +12,6 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0 + - uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0 with: sync-labels: true diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index ecbbe5b0129a..ee5b95b3c4cc 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -11,7 +11,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 persist-credentials: false @@ -29,7 +29,7 @@ jobs: contents: read checks: write steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false @@ -59,7 +59,7 @@ jobs: contents: read checks: write steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false @@ -90,7 +90,7 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false @@ -122,7 +122,7 @@ jobs: contents: read checks: write steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/mypy-stubtest.yml b/.github/workflows/mypy-stubtest.yml index 2c78aaf08bc4..2bb92db0b4a4 100644 --- a/.github/workflows/mypy-stubtest.yml +++ b/.github/workflows/mypy-stubtest.yml @@ -12,7 +12,7 @@ jobs: contents: read checks: write steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/stale-tidy.yml b/.github/workflows/stale-tidy.yml index e7d8272bdf24..c4e8ab51398f 100644 --- a/.github/workflows/stale-tidy.yml +++ b/.github/workflows/stale-tidy.yml @@ -13,7 +13,7 @@ jobs: permissions: issues: write steps: - - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0 + - uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10.4.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} operations-per-run: 300 diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 4ebcdcee1f31..87e293636564 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -14,7 +14,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0 + - uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10.4.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} operations-per-run: 20 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 34861a727a75..f8f63208dcd4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -97,7 +97,7 @@ jobs: pygobject-ver: '<3.52.0' steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 persist-credentials: false diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 759a2f1d36e1..48e4e35a56ef 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -39,7 +39,7 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 persist-credentials: false diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml index c276e7a42548..dcdac9cf1090 100644 --- a/.github/workflows/zizmor.yml +++ b/.github/workflows/zizmor.yml @@ -22,9 +22,9 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Run zizmor - uses: zizmorcore/zizmor-action@192e21d79ab29983730a13d1382995c2307fbcaa # v0.5.7 + uses: zizmorcore/zizmor-action@6599ee8b7a49aef6a770f63d261d214911a7ce02 # v0.6.0 From 476d7796cefe02e7aa6673132dfefdf2ec7275b9 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 26 Jul 2026 17:39:24 +0200 Subject: [PATCH 09/61] Backport PR #32048: FIX: update Axis3d artist positions before calculating tight_bbox --- lib/mpl_toolkits/mplot3d/axes3d.py | 2 +- lib/mpl_toolkits/mplot3d/axis3d.py | 179 +++++++++++------- .../test_axes3d/axes3d_primary_views.png | Bin 4029 -> 10923 bytes .../baseline_images/test_axes3d/stem3d.png | Bin 163742 -> 200288 bytes lib/mpl_toolkits/mplot3d/tests/test_axes3d.py | 65 ++++--- 5 files changed, 152 insertions(+), 94 deletions(-) diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 07d4208ee4d9..9cc1e8eaefbe 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -489,7 +489,7 @@ def draw(self, renderer): locator = self.get_axes_locator() self.apply_aspect(locator(self, renderer) if locator else None) - # add the projection matrix to the renderer + # add the projection matrix to the axes self.M = self.get_proj() self.invM = np.linalg.inv(self.M) diff --git a/lib/mpl_toolkits/mplot3d/axis3d.py b/lib/mpl_toolkits/mplot3d/axis3d.py index 8b3a50c6b32c..fc62b045e367 100644 --- a/lib/mpl_toolkits/mplot3d/axis3d.py +++ b/lib/mpl_toolkits/mplot3d/axis3d.py @@ -2,6 +2,7 @@ # Created: 23 Sep 2005 # Parts rewritten by Reinier Heeres +from dataclasses import dataclass import inspect import numpy as np @@ -9,7 +10,7 @@ import matplotlib as mpl from matplotlib import ( _api, artist, lines as mlines, axis as maxis, patches as mpatches, - transforms as mtransforms, colors as mcolors) + text as mtext, transforms as mtransforms, colors as mcolors) from . import art3d, proj3d @@ -35,6 +36,32 @@ def _tick_update_position(tick, tickxs, tickys, labelpos): tick.gridline.set_data([0], [0]) +@dataclass +class _UpdatedArtists: + """ + Class to supply artists that have been updated ready to draw. + + We track the types of artists individually, because they need + different handling in the tightbox calculation. + """ + line: mlines.Line2D = None + ticks: list = None + offset_text: mtext.Text = None + label: mtext.Text = None + + def __iter__(self): + """Yield all updated artists in the correct order for drawing""" + if self.line is not None: + yield self.line + if self.ticks is not None: + for tick in self.ticks: + yield tick + if self.offset_text is not None: + yield self.offset_text + if self.label is not None: + yield self.label + + class Axis(maxis.XAxis): """An Axis class for the 3D plots.""" # These points from the unit cube make up the x, y and z-planes @@ -439,8 +466,9 @@ def _axmask(self): axmask[self._axinfo["i"]] = False return axmask - def _draw_ticks(self, renderer, edgep1, centers, deltas, highs, - deltas_per_point, pos): + def _get_updated_ticks(self, edgep1, centers, deltas, highs, + deltas_per_point, pos): + """Update the ticks ready for draw and return in a list.""" ticks = self._update_ticks() info = self._axinfo index = info["i"] @@ -453,7 +481,7 @@ def _draw_ticks(self, renderer, edgep1, centers, deltas, highs, axis = [self.axes.xaxis, self.axes.yaxis, self.axes.zaxis][index] axis_trans = axis.get_transform() - # Draw ticks: + # Update ticks: tickdir = self._get_tickdir(pos) tickdelta = deltas[tickdir] if highs[tickdir] else -deltas[tickdir] @@ -485,10 +513,12 @@ def _draw_ticks(self, renderer, edgep1, centers, deltas, highs, _tick_update_position(tick, (x1, x2), (y1, y2), (lx, ly)) tick.tick1line.set_linewidth(tick_lw[tick._major]) - tick.draw(renderer) - def _draw_offset_text(self, renderer, edgep1, edgep2, labeldeltas, centers, - highs, pep, dx, dy): + return ticks + + def _update_offset_text(self, edgep1, edgep2, labeldeltas, centers, + highs, pep, dx, dy): + """Update the offset text ready to draw.""" # Get general axis information: info = self._axinfo index = info["i"] @@ -556,12 +586,11 @@ def _draw_offset_text(self, renderer, edgep1, edgep2, labeldeltas, centers, self.offsetText.set_va('center') self.offsetText.set_ha(align) - self.offsetText.draw(renderer) - def _draw_labels(self, renderer, edgep1, edgep2, labeldeltas, centers, dx, dy): + def _update_label_position(self, edgep1, edgep2, labeldeltas, centers, dx, dy): + """Update the axis label position ready to draw.""" label = self._axinfo["label"] - # Draw labels lxyz = 0.5 * (edgep1 + edgep2) lxyz = _move_from_center(lxyz, centers, labeldeltas, self._axmask()) tlx, tly, tlz = proj3d.proj_transform(*lxyz, self.axes.M) @@ -572,13 +601,26 @@ def _draw_labels(self, renderer, edgep1, edgep2, labeldeltas, centers, dx, dy): self.label.set_va(label['va']) self.label.set_ha(label['ha']) self.label.set_rotation_mode(label['rotation_mode']) - self.label.draw(renderer) - @artist.allow_rasterization - def draw(self, renderer): + def _update_all_positions(self): + """ + Update positions of all child artists ready to draw. Artists may be drawn + twice: if tick_position is 'both', the ticks, line and offset text show on both + sides of the axes; if label_position is 'both' the label shows on both sides. + Since tightbox calculation needs individual handling of the different Artist + types, we return them through the dataclass `_UpdatedArtists` (as opposed to a + plain list). + Since we reuse the same artists with different positions, the calling function + requires them after every position update, so we yield `_UpdatedArtists` up to + four times with different content: + + - line, ticks, offset_text on one side + - line, ticks, offset_text on the other side + - label on one side + - label on the other side + """ self.label._transform = self.axes.transData self.offsetText._transform = self.axes.transData - renderer.open_group("axis3d", gid=self.get_gid()) # Get general axis information: mins, maxs, tc, highs = self._get_coord_info() @@ -613,28 +655,42 @@ def draw(self, renderer): dx, dy = (self.axes.transAxes.transform([pep[0:2, 1]]) - self.axes.transAxes.transform([pep[0:2, 0]]))[0] - # Draw the lines + # Handle the lines self.line.set_data(pep[0], pep[1]) - self.line.draw(renderer) - # Draw ticks - self._draw_ticks(renderer, edgep1, centers, deltas, highs, - deltas_per_point, pos) + # Handle ticks + ticks = self._get_updated_ticks( + edgep1, centers, deltas, highs, deltas_per_point, pos) - # Draw Offset text - self._draw_offset_text(renderer, edgep1, edgep2, labeldeltas, - centers, highs, pep, dx, dy) + # Handle Offset text + self._update_offset_text( + edgep1, edgep2, labeldeltas, centers, highs, pep, dx, dy) - for edgep1, edgep2, pos in zip(*self._get_all_axis_line_edge_points( - minmax, maxmin, self._label_position)): - # See comments above - pep = proj3d._proj_trans_points([edgep1, edgep2], self.axes.M) - pep = np.asarray(pep) - dx, dy = (self.axes.transAxes.transform([pep[0:2, 1]]) - - self.axes.transAxes.transform([pep[0:2, 0]]))[0] + yield _UpdatedArtists(line=self.line, ticks=ticks, + offset_text=self.offsetText) + + if self.label.get_visible() and self.label.get_text(): + # Handle label + for edgep1, edgep2, pos in zip(*self._get_all_axis_line_edge_points( + minmax, maxmin, self._label_position)): + # See comments above + pep = proj3d._proj_trans_points([edgep1, edgep2], self.axes.M) + pep = np.asarray(pep) + dx, dy = (self.axes.transAxes.transform([pep[0:2, 1]]) - + self.axes.transAxes.transform([pep[0:2, 0]]))[0] + + self._update_label_position( + edgep1, edgep2, labeldeltas, centers, dx, dy) + + yield _UpdatedArtists(label=self.label) + + @artist.allow_rasterization + def draw(self, renderer): + renderer.open_group('axis3d', gid=self.get_gid()) - # Draw labels - self._draw_labels(renderer, edgep1, edgep2, labeldeltas, centers, dx, dy) + for updated_artists in self._update_all_positions(): + for art in updated_artists: + art.draw(renderer) renderer.close_group('axis3d') self.stale = False @@ -689,49 +745,32 @@ def get_tightbbox(self, renderer=None, *, for_layout_only=False): # docstring inherited if not self.get_visible(): return - # We have to directly access the internal data structures - # (and hope they are up to date) because at draw time we - # shift the ticks and their labels around in (x, y) space - # based on the projection, the current view port, and their - # position in 3D space. If we extend the transforms framework - # into 3D we would not need to do this different book keeping - # than we do in the normal axis - major_locs = self.get_majorticklocs() - minor_locs = self.get_minorticklocs() - - ticks = [*self.get_minor_ticks(len(minor_locs)), - *self.get_major_ticks(len(major_locs))] - view_low, view_high = self.get_view_interval() - if view_low > view_high: - view_low, view_high = view_high, view_low - interval_t = self.get_transform().transform([view_low, view_high]) - - ticks_to_draw = [] - for tick in ticks: - try: - loc_t = self.get_transform().transform(tick.get_loc()) - except AssertionError: - # Transform.transform doesn't allow masked values but - # some scales might make them, so we need this try/except. - pass - else: - if mtransforms._interval_contains_close(interval_t, loc_t): - ticks_to_draw.append(tick) - ticks = ticks_to_draw + if self.axes.M is None: + self.axes.M = self.axes.get_proj() + self.axes.invM = np.linalg.inv(self.axes.M) + + bboxes = [] - bb_1, bb_2 = self._get_ticklabel_bboxes(ticks, renderer) - other = [] + for updated_artists in self._update_all_positions(): + if (ticks := updated_artists.ticks) is not None: + for tlabel_bbs in self._get_ticklabel_bboxes(ticks, renderer): + bboxes.extend(tlabel_bbs) - if self.offsetText.get_visible() and self.offsetText.get_text(): - other.append(self.offsetText.get_window_extent(renderer)) - if self.line.get_visible(): - other.append(self.line.get_window_extent(renderer)) - if (self.label.get_visible() and not for_layout_only and - self.label.get_text()): - other.append(self.label.get_window_extent(renderer)) + if (line := updated_artists.line) is not None and line.get_visible(): + bboxes.append(line.get_window_extent(renderer)) - return mtransforms.Bbox.union([*bb_1, *bb_2, *other]) + if ((offset_text := updated_artists.offset_text) is not None and + offset_text.get_visible() and offset_text.get_text()): + bboxes.append(offset_text.get_window_extent(renderer)) + + if updated_artists.label is not None and not for_layout_only: + bboxes.append(updated_artists.label.get_window_extent(renderer)) + + if bboxes: + return mtransforms.Bbox.union(bboxes) + else: + return None d_interval = _api.deprecated( "3.6", alternative="get_data_interval", pending=True)( diff --git a/lib/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/axes3d_primary_views.png b/lib/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/axes3d_primary_views.png index 4af8ea9040a03f094853161400dd0bf97adf2bd1..0dd53df2156f934243c9ad8eea50a6f2c27b6e6c 100644 GIT binary patch literal 10923 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 diff --git a/lib/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/stem3d.png b/lib/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/stem3d.png index 468c684081dd725ca514e68c7cd2d21de02e9bc5..b311dd5731d86758280d8fc5155db98904673867 100644 GIT binary patch literal 200288 zcmc$_bySq$*EUMW&@s}Dba!`mcXvuET|)^HLwBdNFd#@dAQB=BAReeJ!kNz&6%#RE}-kdTn@)YX&>kdRR6k&sZ#urPp6 z3SU8df&WYbmCXVTeOv;A?ERgQwCw|Zy?g?_+#Tp&Ir|5=`@9h3;TPcH<8g9+B`7S$ z=_<-6ASx~<;NZyPB)}&i!Y9fv!bR^E80Z@y!OQFY-{0o(@pt7d>`vDOX2AAUGY>#Q zBC!AW54m2p&K(IE2}xZ^-YB^EuQg^c>B78p<0_8FYkU;6N-91(zR#cgubxSc)3N%s zzS}AlJ6!P#+O*lE43ZRS`EkBVM4!y2P=94}`7~wOKkp{gD``2udNUyJ5F{)qDS0%- zy;JJ>&Z60b?f)2PNb)hkB`Q+%{MIz8xr268M&j`V*93da9^CR`3AeZBu4SmZ`X|Ia3-Tkky@7;bDGNG?rV zJryS<{lIAxyn%jy`h|CQZNS}+K_FcbBy!c>56iMH5^UON6zPl8Z?jyl3QwX7y)_xXhR0< zmM`&=qgJb6c0(!R=2spYC+DzF)Scz_@81p^L-DVZlHff%rJSLxmq%;qUwC?(=CG&6 z$KmbHU-T?3-^^60I4Uev;H#RXL&`;o6HoS7SwHpwe9C3HKk)WR7*?i(~K%z>f^)R&$9Ox z&B3>Ob^MN>aVHCfao&*eey-In^8G}lYByW0UK!-D-0dg!r@l(!@B7Y9<315dNvev9 zicQMt$;rSEYhQ~*9TDa7Vke(Sh=?5of6dR&2mi`3{j|T(V(n?W!=#eZ=E}MjyoHyY zm-lAvCP*rBsb+iIY3|PVTwF?AR;6s%(DzA7gmzz@wdC7gi2ux+H*ZcxWgll6uk`hN z+uiFoy`Uf)5wJ%~|2fY`M(#HB7G zz`DiqJw7)#x7gpdVLtCAp~Smi5k+?g3$0~lBugG>3mWR`NoJz{C9KTM>sNzM{nsV1 zhLzr+H*0%L%+H_OPZf)k3pl;rix9h|J}jjJ4%o2Crr+WRJyUgE-4+Cg=lE8dl)7pf zlfI^=Mr@}zpv~ngr61~cW%uESec!+DMw8>2c>P6OeSUUnOFeDA;dS`?<6V7yJs~ny z7;EJ9Mk0P%n4%);X?wZ7CDLKI5Y}X`%kGGstvQOa|!Svio@cXBS zwWp1WMB1TL(N#Cwu=|IupD%_1cS`#3L4pV-_|Xn&XcfCfvw3UkrK03e(e?e!nZB(p zFPjc-eNQgzuK(fk=LlXIGMdk6S=3{XnWvNp22VK6g2;lbmg0Dnx{dKur{Ehf)dgLi$iQx;z$=DQxP22tZX zQ3xAzGy*VE7Vi0!A~;33aOF2jlQ=Y_;1^-@a^9E`DetP`?r6|&nqY4(CWjKJqZI63$Xq^r9;xhojYg z#t>D>=L=0gTBY0V!rypYfDB;%X9f$-^S(zjp&Qwi|eiQBiI_1Pv6YI+Mhoj z`-lp~X4cYRhr|dQUpV@vUx!({6E+jhK7b-#9(2G}S~+w49Uyh_&2Y1O(yP&=x&6r+ zaQ2sDP=@d7SuEzBo}SHLa=A%HPwHeJ#?Qs|^^Vc{E`uZJUVhWxT*~U+N|XHb@`D{5 z<>aZhmgVH>{5)_!&oVNP%eBK?*czXW|%tb0&TbFFS zo0XvnTJ{^djC{P=shv)OxbDt@301C){OxmXG>s+hkB61Fzp!1utt%z|C2#KBz2DON zccv%Tq8z>I7C1a}r^Rkw?Agk(M5p)|{r6tiE~Jq=B|%G9U$nLWZ#n4lS28xv8LQ?y z8}*7`CfhS#E*qRqU!0b|{eH1v>+^?vc6RpfV8{7H3R_1b*HPw@NaTHRSgx5o+&1{> z;cDb|@M<;ez+44#84cEVIb+|X=MTU3Ee`$j_VP)x9bBy}5IY89_LQN>l!4bd_DP!0`=JicZtQSEo zrY2ZrVTa=HOqh37+h*0MPJcM2FS4)Rk83o10(@C{B-3-!S~l7v82AM90e1yYCSFwg2J{u!O!0B!YU`tTedc%>fC%30*>ZueC#vKkM1G3soojr@x9@;?0Q{x+bQQ7Hkr>~ zqVYt+sw32CYe0oJE>#BxvCm6nYN1V-e2IR&J5^Z@Hmhe*VSK z^1qxNmR2CyeLBH8vNroH>sCclKJ0S0Dm@e?i;nKI014N+vAXLSqV##hCQDrXS1;kn%TZi59k^&@2!8?u5I;>ullzKKK4I& z&VOPsX$j@2bDm(xP{nChm+$R-ZNDIi*y- zx_O+``hY?MK4o33A4zFIOC{;RomIQJyU%~1EkE7~2nNmV8^LXtzV>cBy60%d`8dV(O4x?FJ0(I<+{@w9?kEyg7 zGh|t|8=V zCFm!eD{;=eQq(PYY1;KNAb1v)5&lRKsdD+Y%~hF!Z+8wEYn}zmh4#X(D+NEsCI^n| zWS%)SEc;t}7p}CP4jT+V{J;>*5jI$kmbW;r-yl*Qy5thIIL{h^rM=Qg%m2 z$AfA0aW8|KaBt3CQ#Gnjj|3(pUk{m}JEK{&geE^=-C)^f7X#g&^R$v&N+fzYWc#1VF6Y{o;N~3dZ%dZ_CB&p!fM`lB zx)$D{I$Bk}4k|W;cYd_XTj24j>Xixl96$JefDOP4X=2f=mf42o`-3*Nwfq zWJcOZEs3D*dp9c%6_g@B_I>C;QAjL)FwcHpTg?)tIQjSA_U32_A>ijA6Tac`X*(e@ zC3*P5`a_Al*aB#0<+$|AoxlQdmW!51Fv@C`cwX$CBRB>w-s(BEY#$&|6D*A_*FDuU zmA_mSoKU$$lit{ z4UG(W(F^WUqkS67$LAqS%&i)u5+Qp-v|IkgD+Y~SzV98c^#>y^6A45$r~2sHe57-Z zTw}j(4f$a@2cDP2oJhqx{-OqPT(SI!>SWZl#5bB#lfIn>H~hEMrO`TQYgtn% zBAW7}31t}#4%HPm4q_P)2oX8rtah^VW9P6J^Tl4LXavT2->P^p0;@0bEpIEjaorEI z30&$0a@T<4i24{_uwU^(UfOHgNgn^fNgD%a%@&*%8j-#;moG>$#yb9W>hs%=o!J_y z|5AuP>3=DNCEt4GLAl^I+jwR9x~HCd>OB1(aVo}4&Qf-ZbAI03he=lR!|mogxbt+r{?w-TMil9&>OZMHp&lZ}-X%vT?Yq3;zYKiW z;(w?46$>%uW(LD-E7}?j|I&PgEBUfIJNADCf^%AGi9jqMcWzm4>=^x(p-Q{=N73Nl zw-NGtssHr|rLPPjRls8OR3w==oAJN0LB*Y%e%t@l07y|VjFJCeW&QuZl^gy)n^;XW zX5Ir_^zZmNEh_+f*?n#WOw@w4_Xl-%zdXjx+Z!N!G!_;Xgp`!YP$(f9CMFXb8`iTo zHH`%Nz>ydINCvV|drmhpH%>R!>gInoqTe+X5*Eg`thiwBW-n8y=>6zm%;29FQ&*}2 ziNTDT?J4(L-wI^wp7E`ZR+6vqQIsHsfm2gcH=l?@B`Z*ff$BvGBKr}|JN}&gdTz`F zc&ehY90mGfT@S&AFdJKYPNOM7frp33#=$WJP$px!%5p@aoTOZ@+?`yQoNLUhSZEqL zU0z5vz{gL*EG!B^YNVvMZVHAFi<6gQLm!ATQBVPWAPgHf^=c$7}9nZAyf3N8ZIhB7VXz1jmrj07^1pe6civ>v{7D&B#>^W3tG{MOCMH1H5J_BIobfF?NwLKV$kdk<>PrU`$JNO8uY>gJahOF$=l-U5 zCtdPFEgB>bj*E{^l5+$qMvPVL#%)-8c8L7!?CjT1f^+PG6elMqH1*(8>M|k51_i){ zrKv&v&2|J>BqV|KyFw{cqAjT23L*`2I=-CT+~D-*&z~>G60-5R9w{+qN!M1Xqz(a|HnLx%EB^$+*4Z;X4!Wg>foEIGn@`X}f9ZsT zdt^sL1nZHQKjNdqwa^-=vnQ$*;Z1QSnWh91&lXakIvATuOg3r0BU50VZ%rQMY?Ud@t8O`CbpuL z_T9XGcHt=|;J)MBWBWyo9{-V52-}4IM;t8?Q4G6bEmoAA0VmB3`jRS~n>a5&pK$r1;C4$H0 zRlHB%DXKm2Y^PK2>Kx@I;pPg}VVR-qG`P~d%QTc2Z)pVlD*o;GevQn9G@O)->}Qx7 zf#hGljC>)~CD1MQ`1ttdQ#jo%>GBw&ys5QoLF;GUAAG#xvY0N&lj%eW2ncka2!@AJ zs6i6MLc~_vO-|6>gSY3;pVA6IFS2*H?*zZlH!>Ad3~fR2F`{M>`4O@;#Z~2m-6{bO zADqhNEHg4Q83mw+vy3o#(AD%OwD&;07rR&P5BdR`yS3!2zl28&CAcppD+?p&*!LR$ zvsTF_GauG#sYTLit9J?$wE;oyix!sfb%;nJ75q<4qT<%MTUjtv|*0@@; zCBa5W#7Kz{LD?U26aK7t=wTAe-W)+SUc*}GqEk5Qo(28T&#_>#0Ts>RbHNy4sqj6@;5vO-_E}4#GMqVDPn=!5&%v`qv8T!uz zSXK&IslUU&Hko%Ql`Q~JwsOf?9Fv5tqp`!XNF*@c6LI(IBq~DAffR{?Cd=T^h~5Zk z6P3gi#_N|Rm#)!;X&h}n-F9Ubw!)ip7mzu?yL>_L~>fN?Pa zS%R~W)g z5?r(ujxeuyKTMMd!3NC=UYIM{x(Hjx>}M7GO7mKo7=#oX&=z}IMe=lv)=JAz01&fG z{gpw#1D*7?o%H=>2#e6-nfSkw2mN}g?FQa1tMA-p%>*bZ8`D*eaTLofkuOYALk?Ia zKCnt{wGwX#&X+MggdAUhngl5g=%MmVsGP4-H3a2t@^ETdt9TDouLSyWUv*qA3~F#`8K>}u5HS<8LvqN_ZSCgqq2kIPal`u z#KW<11SYeAwdSLc$0uXG-M3KbVkdUB6Y__PuRHmO?EqD3zc@RtKvv6&1I_0zjV59R zL*(yNdf&OtRO06t1#QDqz2d83{#mUvEIa^_*c|}+KbRCC6I?eo0RaICsc9+!;PQs+ zZD{zjUijugejO=)8sSKV6c_7w`z|7MUa;f6`5v5~vlH+cXL@>?Y|(ah&PlGay%f~1 zo*Z`ZXFgxhRj2MkArUeq*%~B4n%0mOGv)CCMHUnF`3tXHSKXqfOf{Qs6WZdzFe>P= zRJ&-x&TC`FhjV8jE}fs-j~KN(REc`WMB-%)eGTI?J`h_Q)(2NeE`kn=kTFEtWrOd5 z8VHP)*U7d)WPC48s#~yvdIBe)5BbW~iIemL0pQFV=lTx{b>E)TfL6<0r%Mlv)N30# z>03Tdk0Qkt3EFgvo`w?#nr+`0833#H>q>mpd82a9WIiS9-@pxLvi zwkNcpOaK-u0*PQboQVAr9Y=tK)W*+Bdb=Er=)sYUcf* zMH27$F5dY9scw;RcN1DGI%wM|V^)bu6&kEd0iD?z2OJ%|uIE+)dUVQ(UX-1%YUkMe zgRy(4Ot-6C86^uKV}?{&Zi2l^sV=2e$Uw1r$R9z9WU>|nNkY7P35o!!PFU({%=e&#jgVb^Kcq$sA0}4seoVEFlC87l9h>CFpNN!gctJ^a7i8XOh$_TaHJf`JN7P@yC|;?e7mqV{KbLAJ z6oKp-#X?eeXoS4{4y;7)6<=`0_eXOc*qh6TKbkp5HPWscJso!n==8K~3&%kc!^S1f+04h|psLIcB5HJI0DLM~Cok#MlpQY1rqFy^ z4x66jFi0O000<57jpR`uMoh$dq7ske1dW;iF*LrEWrUjqy#KwKB<9dA1)i} z=+(VT&zM4dDWGn52AyEyTRRox*R=l@1Tdu+5~O_}%{iRr9nW`XD#Lfjhk`^K+1Gkm zqklR052bG3-WksC- zzea67fZwP_@m&+93;XTRKBd4^(lwRCdz6~U}_PQ=`!@Pe^ z&_bZ*7Q2fe2QDeFMIVyF$!~Ke#}>7Wv`3n&vvnz6@r|XgS6w)_ckCS?k&wTd!kL&0 zn9PT>AAcRezyOi}OxW{$5$Tg#S7L^uJSDo14A6!q)oBlJ7X7Ty7;OJJ zCgjCMpD$qUew%IzUt0roRltwBCAlUG6yc@l5~S5=P!)zR4+HJs!@dF0p)r%)U+}$i z^>JI4BxYVKDrkO<{aEy<+CbM)~~n7IpDH-vws=_2O5l*=2r zTejhy$kcusSP_|nCkIV+ShV8bpV~iNNj89Au6gwDgRn+90S3Jb4M?JMn;hUgpPCYR+Y3*FKUktOLovol9QWT!(b=nb zYXavbM)|CE(1g8KE)lYjvswW~=qem(n}0og!I}Ts4kf7w00nM5MF2t?YXBCX(Q_}`xu3>kgC>f^qc8sc?F5~P~BTtu&i z+&bX(VhOsr!kfQ3DT)b3tJPp^Yns<2%l))lz8(H8A^gh&7r3-#%Wg( z`i%>K+J_F1zF&r|pG}r_(76xAVPF3Jz;yiq^V7U`{ri>jduL9V5biim-s$@Cwe;NE zY-6LxYQ@c#EO|Ee>D4ti9`C_tT9Nz}>Qw(!0k1v362WprZI?i%tpubf=H4e4VS9jC zY1F@?qY{f}F9C7o4eBo)8^@(+CCS83R4+#kA-;FtY!eb`PlY%IZne58OrG_qYI9v>pEhbRQWVxr>a=wJ+kOx~rn&=FM4D*!n8I zhBkoIujovg-jkrQFIS_^U8YkCPmpS>9{w~Wzj@x$qMP$AknWzRv!4Nm$E2DDBe3{B z5vv)tQO`S{6&*Lgaiw~aT1pFzI~Qh`@>a=o7M36lG!T#Y=JoAQI_UMKpKH|I!cF07 z^cuyWXD+<+G`wAbF=Qh%VIxV3jscZ;fDSBTW^6biF70EMk4qa|a{75_KNg?SN5rKS zdmeT6%qt!iqosAsqHEJF7~;F<1Q0Yg+lXqk~6m?L9*`cOhJ9iI!X!uYvGan z;iY64g6mvwot>PzFPtwfL25qua_4Iu**kNmLl;08ijLDsTJ%)Lc$<0V&HM{!3c-m!Q3yE6FkfXg|KmuKO}OFEweM0-yY`8CBq z`T#&|O~3DN=;=}CH(e%53>vE-2xa`o$xG;yZIAzRl@xLY;=)p^#{NZb! zQf>{LGX+^$Rhgwbg?yKAT!nm1fexKl_;jf+FV>#s@X)T>Y{j~AC?G!y-PR)<7&9WY zaD*3;X?k*PQE1;@cKz8LKe^~a`m}O2H*uDs;>kDJpGGw?llv3r92+9Y00Wl#klohqI@{8+P&WY7J0;LOi3xjud!mtQxqRM!@xH*Q?rvhjyodcH{PgQnyA z7r!YloK3PuzdCNECX3QHT%IgtjHEEO16u6o=W;zAAXi*e#70<#*YWm>dh_fqO{fXy}9^UdDbJ`uElswf{Y432!>i9IRG(mmM_1?1tYsGL)#6g2-fMfS^d!}oguph zgj6R$_cob62+;Qg0|r+@Z{vkew(+$9Mc(_;djFBLU)n0OdFI*}N&w}0pa!%*mye{h zf~}%U*h?f5oiIQDM{QlU;h<5LKwDRRfFCqViS;aHionCNh6?(Mf}w zPblkB%hR{D6}ouuNFUq48Qu|ZLqhX;&q;PMJS;zWM^y~0;`GK9Z1Vx|x$xflL=clkQ92`*}=16}ogvs4&Zvhzu2`+uj5V5yZEb=(c z4qhqPgf?q%K(TbKV_L?N4}BHTj{rqB?7CY(UNPGIel>aE2ib473iUFGxd#i1)BKES z*U-;TESS}&OBHq)5m-z33YI-PJC4!g$9gyVhKE|VxEBJ z+vbO@pfP4)26HkPrR_4)YDhn)|UgO!N^!X*HSGvXFGQ=hLVI`-l!WKK#0b3zd;a1nC|y<)OUt| zi!v!xc;=#=2$6N2%%6!-+2FL?*ps;q>eJah*D8^ie_LJm*OYN2dx1>$&0kJOin3*g z#aQ}-c;4a^xh7k6V>~CMS#S=MO&G2~XP@tjwTP?#bn#EFfo^W1W16@Mb949}bL8nb z>-FVNA7%Pa9PILU-%MS@$RnP#*k()+@9JV(rJt<5IrA@al@{@4$8CF?+tz+4C2J z53e%LLk~I^{+2xeVuxclTWJm?{(U{D3Vf_=CSRuaZ=+T`>)rYqg2+y!SS7l~5-?be z21zW(VyxV-`~*QNW=Cb_&R)xEpwEsc#?m{)nc_v?@qD8xjs?BXGeA+(+U)|&=TO%F z^iP;njL_uiL5sk1p$4tC?dgrF1oSH|+@xqar@#kaN}aX6|%+JJeL>9H7nGE;dDG> z3f$>&H2N%LDcQis^VU5LOL&;9`|nwuZo}tWcQdL8lPxzY=FY5#w{cxjpVXK~=flpw zhxIik_(mC@#|lprT7(>nt_Gt%T}3^yR>NfhDaJq1?mv}K#O0$Er)}g-jhe^pkjiB~ zlF|gVK-FKjOd(wfGR7)d7u-|?c*&T1pApI^ zzA{tiD>}Z9XCX8m#KedE6^#|u`7+{msg6D@k<`|P2}a<#&;nk-j-|bf?)DT_4An@0 zJXi5wGcyqIXEQUWe=5jk5jhf5Fm>WEqpTv@!i&RC$1M+!@Y|)L*^3*Wj2z-yE)C&2vAHcBi^=w);eOmU(DtrglR+=H+>3nzlU2#LWYiNSXTQ?#sb4Z93Z6No{^wP zD>On?hJ(I^y>td*m&KgzPV~_eATM2Sje2Or3RV|o^gjD1pL|eVc}{-ONh+EJu|jP( z|5@Ko->5e=P$u^iwEEM1^xANVpM~xs>S$ux_abr$S8^|=Ju0qCLFeXonCG2p%2d`L zADO#^TGB7xyb51AURlvbnsLv#L~sb3|u{&QBbfaAcpHSNZyLR z#P4F&`AxrSFsRE#%3OCTMAX2>LV}|DjRBIP#^+fb#5fl0`+(HcfC3x@gRyv{H*y)l zH$#3O!KhT}B4FK7<1$^P_|5(-QF&boKAQOmrz28M92X9`n5Jm8PMH>E>6hQuVzHc` zutX2^q-jZ%O|GK^xVJssMnff=B@x5f-1tg)DEydluVRk0EkuhD*pK%sN0F@cHvKF} zGXywUZ?uY>%VX@i64In;K!RkDNrB*ijj_RiS99y{vQ*$yi6-1toR|sf!twA}%%9I4 z-Nm-IZ5F#f2YlVS3UcR1q}C_}753>U%3psmYoo|O=xYCZ3j2b@QME|h7uop=GI;iT zY(E@G^lB61(Hm@23N&3D+?me5j+Fku_8GJ+$cI9(VCYNZ{nb9>E)h$Fx%Uq}Ew>6t z4z(zo(@1e$kU-FZc<$(&rC0n6z`s3%gLI4GO)q8xLxz*PpX+6*OzRivMt3ICs z3ivized--_@uwfE#da5BSziq;@Oc76+EF>qDwy~E3F z<8-PQ-ST1?)#lL8Kjs?grd-0@7Q`AOs!93fRWa8}!r}+L(bG%jEnCDvd1H57wAOou zV#MPWsgB3+0aG7kf2#@ryX1LRr`N`l0pTz@paK>DC$-jZW>wC5MBgitmO%0o=1Q3= zrXCv^vz++agX)d6$xeNsh>z^hl`|o@OwFCpGUg=_>t*1aoBuf`g1H^WQRg?!5N zPS^9^RL+g7n8M7Q<6?)u|K@j5Hz0%>`N%~}z>aPkagnpjzuP=KT#Dm{ zPaUMIEI?LFa2EjEXGbG8?*O56uj*CQE=i$EmqI%@_(7*sYLR=SNA3scfY5+Nh^CoU z*9dm+&RMO7Kg~MLpEc5SsR8OH9na_*B4ZSfU_ina(MLYnp(ezjy~pSMu*HpbQ3l3kT+R*kEse-?CV&j#&`;V2};BCO;XD z$e7>0(n(anXTZb3Q`R)6u+Y$)v9d`1-0qKNY&vXV8GGCAfBt10{<&tK(9krgKEc9_ ziV`vV<0FiXqmcUt^%6nH#H%xiqGy00#{4{ktPp8Y)om4=IAvHP=xkCxpX$-E(;@6H zQg+1-JjJOIsA*&4F`073*);u zU_w)A`bT^@tkw6qJl0Fk%LW@0z=C}Cv#Hq%y2OQ#UEp>OrbOtizzw0>WlZE)y9sk* z5@V$4(j$>7qj<|IC-kaYj+N8G`Um!2<4r&}KYV;=xvvwzkDQiB&AdKvk)FqPKJ(s?4&!(a&oio|GE!HRo!i%{<*%Q$%V(eYXpvjDArC%F5QcF|V7 zdJfgys^ElPrZnJJhtKHau zFm0K>@#nERXq3+tdjlncSAg6QV}yaZdp{f$r0nm;dCn+)@17vj$U#rIGqW}hC_9s( zhlhG?PNTJaF3EdMH=CbAx6H;y`n$xiGJ2fJbM#`GEk&xLZjp>sYc~>${d?u@=ucL@ zD@YxGeMQ~i)pk@BWhFL6VXs_TLp?pXa?%6)!MFVCUX5CkW$`i6^UBoDS)S9wv4Ni# z?iWqW=2m1xfqN>MU1RK>)gVNhmQalT0cCc@4IEP+eU6d;lI`+vg|kK0zx$?F6rTA0 zRpp@^Ehx$+C6(&c`bW4yA7L*jwgGff$8F2NCIpHqxxjR~qDm->H8??Rl4Xz;B}ls3 zre$JT23%z#lZ;HWc?xQWOVM{?%mqSp&_1HMeTh&2`^2BH_uk)e^~kS znom;`#m8OQ`gJsC-cQ|EJ6G4HW3WHwkKO%jEZHO?d&I;fL{LUjrI+x<>hw< z5g52i#jocY5AWVB zv)v9{XJPGNH+Wjt2u+-5Ko=v!WHL!d<~v_SYmr%eWY+0-e&=+LFIYhhl-{~8#+8?*F%Lc~Q4)uQC*q}DB{BE~AEe!iG{VB-Ci6N zr#5xMigtf@4Z0^DJe_?e`1rNxjlQ1o!eux2wb;vW4q7Q`!{XS=1`Ml{N0+~BF!ok! zepjrPVo6f@XK#YnSRD$uUWl)sk_CC=4++ zyYjvVVzCf2D(c%TgotrOBx6Rh3x(^}$)HD*Ej07t>V@x_cK1fo;F;GpLltv7)pgi2 z=fLx`02)F{ez3?))5Gen!3--i6?O%s_~@xECMWW|1v|Qq_C`H?3L#bKN3Fd4LRhUl zi=Nk_Q^}=W#Vp6^PX}@#CCz?QWBK=yzv=INH0?1JH`(Sk_K`-wyGRo%#*u52=bnkh z<1EHDnC;?iyc(XTeQ24G`ML7EO%Z`}0}@+}AG7u~B#ck1xL|~3-DXkeo!=3erJl#H zuo@)P^iJuDI#Dw&Gs?w~b#vud&LWm(2>+_}O6fIXbN_36epx|Eg!9Yb+Z}1dXVJ13 zVsVo&axE(2^di}>pOcsUPpxDrLh&2(qCB10V0RG_H^{BHNyAr{{H)*fvpDb)jZhq1 zbS2g2sp{Ub3g=>EHZEo*#*6#2kxvRx)h>L>+gY|1l!A3R%wH-7M>!I$bq1uYcTkn@ z-1VHj@visw5Qc$8Bm2M)l?wV6Kbco!IG;ujo;wISa)#qYWHlHqY$|yyr7FL9mLzBB zBJFN?zu|N&d3A-$98^NS1TscGk@{Eb$q9MT;<05BPQ7FT*gv%ok0_nqHDyaU$o9E3 zD!Pfr1*7;mJ6kxM`Sa$;n**76*+ec(3G*3`O4F2G_DE$l)9Fh@sTt6?)A3ahd|7?b zdh!xo$&-5EM=+LiXAD2aBSf+QUv&{TO7Um)1cqef!oAL(n_j0H0A?k)wrKb(?@%h+ z3x6lX?;Rj%P6o1FX9=|Vvz5l(m-cspLnRrqNa&hm5F0Fid*y(m`^a_;ohHJSfjxTL(k4^~xbhy04HI^9U3#m{E`;*O1Eo$McwoQ}NYC%AOWG;O zQb3>C-^OI^IM!x}Vje&RDe>92)Y~{1W1m&A%$F|3wG@NSI;5HF=XDby4=UMs!UC{c z`?ylbotfpg&&_apPBORT6PVklw6;|BFSmMKPY7U#{`u9x1r8UAeNpz z$1#R4Q%e3H8k@0RIxK`1wrRf}1msga6!ALweDLGywj1aJt&#eM9FJ>85pO#<1u^(z zK4tn9#g*$hdaOL^O`dK$UI)c=6Z+;>qu(Ra(-oBbM2N!f*rme9pk@m|0~cigsuvkt zS2|HD-M|O<=)a0XWKxRJBclQZD6;)uGum$94wQR7c2|+MzS#0R2Y$myV|ij>OxWI) zxBlbZTjcj7Kn}m>25cK>0D06cUaYO45Gu?FONtcoT6Sp}38ggH1o8pxRbhV5?_6~` zOtv?qM=!WWCHFaJ$TlW)maonjtb)v#S#%F6%M|d^}q z5Vj9nJz1Ob-kXxSINIsx4DnOt_KJvzzgqJx% z_z4)F5^=D#*b6A!NauwlCtcibN>_)hYd`=$-gEMGBYA2qsc!H#H~@vngiNL(^4QH( z43@dL_l;-FoiBYgI(lx<0j(x1gys#9_5T)V*~R3IGNbeu?LZNWQ!V5WHA(v$O= znxxRlGKEgoCj7`{UAqRx`8N)i2MC-JP5rQLUn_nlbFmq^1K6wbn3^u}8?=R*8JP!~ z^6c-Hy*0WO;PDxJ^V$+Se=Cz;HO&A#sKHAQzoQbb#1exU9$$dwFzJN|C#|wZH4}$Q zc&7~=;arTx=ZYv`!p_vNJOot>wB z;<}^O6M5f#k^1#vo$c|T*@&SRzCCIcADSNdyRW|KcR!pRjIlQehfi1U>SccudRb5+ z77F7wU&lKbvXrzJ+DH4l}N-DCzk_n?rN69Yzthw#;-~ zt>o`Bd(b->)M+9F|+NDPT|rm1Za1I2!ogM18lPnKH2Adx`WI z`NxcudSY|{3bG1W!dC$kAlS0xSQP+N#ch_#o_(<~%yGJ`5Fm)+N zI*BteDK6LT>iW+8vk(+J=Fo}LBh;*NXa`K#?^SEHp1Jk)KOOZDCFzq-W^GEL4~YYQ zY~6%o_TLyeq|iD9Gvhki>Z+ev5}4SV>ZkfX`~H`cj4C6C_RZQ9b;^&|gw$NEqeBPi zY|Wk{r_#e0y zuS-W|I;fqOa8odAjBGt#0;GsS_-*Egk^MxS=J(nS1GAS$`?H0&Dgovj)r#*TA3`(w z*4y}Wzokl5m|V}AxbbtFuWuar{}nx}63jY|>PV=x4J2=g^g+GM?P}eT zouY+M?WBL2wXO*ccjWtH@xMqq2kt!DE(#}&%_nvm+qP||vC-IUY&5oQr;QrhX>8k# z@y)xwe=uv!J@=fm&)(Oukti%Is9AM-2~pqi)PJ1SOstPUMCzlMhlvs&ZWYyIW^Fbs z_RI6_RxFAb^x;*|QMXD^9%C)E*Y-1_GB9XF`TUl41-j^4%KZ4h*5phM6@2#dj?9y- z45)dgegjE7@1LeSayT+h-MX9J13>qV5a~LZ3!Z`F(oDU-!g6x%K{j7Zxq{lt+F%xPrhSJAYl`z1DZh zu%6|94%L8#`|>>pE%xq^&>{c{BDteyb(0jW&o4VUC5UTPz24WF>UReqqX`>oF#RN_ z2!K=lC{`j3r+-CY=&G(;CQ?T#=(c#dqze^lNY+?*Zg%}xF zunv_B7gh{L5px}qbu??3Vbkoq4oa?_4IxDgmasvSb1)J>fsnL+mtpGNRh{Fbfv{q# z{d>8M)d_a@FzR`F;H#X+#d&T!?AF*#Rw25zBxRGe_wk((67{SHyBob5(2RRI#W2v# z(555|yaXywvy6SPKSl94&(wDH2soj2@xy=yaa5r)LW9&{dkl|{wqz#HJ{L( zZE8MPpktds*|=wryJd;Jd;3}41_Oi0N+jSzpg1Bs*n@Sjnw+fw#7cdbJk)=tvD@PYfgL>d*(!%nAV z1Lb*Z3uO~m>P)@r9NLb{-Dg9-Xg?tL`sSs!#8q+oV#)-UgQR&5cz3h`k!y*-mQ4{V zeijY8i%aYUQxd4Y$dW)wR7$M@9+#r4*i8@zR#e>bGip|Z5A#$H!~K@A7*n4^{8^K* zNR38A*ZvPn;ViPKoaE*Gdm)H;?Wu#^YhO@rey!Fjk$cdvx4*AW$|7H2<`Yzx51R^| z4;BAtX#Y6gd7vE__~Dde89f-fmue~%v58!3Ys=II(oG~V@TtK$hUZ!(sNy6J^S6zYj(Un3tD3 z3?1PkN5&Gni2E{6;iUz}fYXfBl@I^?Mlm9&9?JkzH6S?<0%N)u;m_?RiWd|_zk4&t zCpXZU_%~d){spy){D4f&YjNN8J{l2gx@J}DM~+0xvTMDpowz!z<5RvBqGB9qCDILs zR$@_D4@xEudGOjy?@wb}F*4L&!dG*X{@_F$5N#!SOQv%j6A4oMimHv)HC0B=Hb=RG zs=0YwiKhK$L=&Zkp{(u0UodeLivnvpoIqtHB~A<bU( z(S)M+sZRwl*K{b$F4UM?NxkbtBH}odPi{gPmL1R2@ElKTm0CZcU<~q`xxu6vA;B+8 ze)VWu<}QCoQB4}6gvn`m5tVYdh=d%N`p(AfR@!)QBe_jQ@xH(MX4NA^CX$vr*opd^ z2ai+=dbwkjB1d8?j`d}u`?hl$z7Z}Ri|S;2`g|c2KiYuLpbM*Ra4~{Ktli}*4m#xDQdIx#T@TQls`Qcj}g6-X1?xwagjp` zI}U|&v39sFXK24U`LL*(tW{wkGDlDn_6Na177e#d%V_=guD;lGgcVtEVqj*u2f(?SLhs^`?@L$$Y9=emaQ)l8t|3Ubz$ofw%Dva??-b@0(1DfykPaKOhL8N1!B zm@{JtNwDUELefzTwHAdhQR?hqox4#^z{!mqz;9B|EXx;dQ_tU~Z$_4ORfmSp!cT)< z7ON!TX_Zj!TfJsT^CfyW6aLlGIE;;hQr=O{Yogf2n&une!;+ifCVo73Uf^oYuWa~h zO!IdOkX=u4fJ)Y@%NeJ%RVGDfqXay|+U!7~xel6S^(shG&$)fH?jPsVe;)kEnuHPg z=w3C;*j{p_%i(Tny}YsgedbR8XFHX@ormv8R(1`3i_aOOo)3L8g>B zNgLB@G!ceMCH6AzhT*6R3u|RMEl$2?F?9P*q3UyZly9JsdXih_-%j-Dcm7^*XFQBO z4G*8j2{!i`<1-grnO0SuhsF0A?*R@J49O}HDp1k@*YJsuya96qX)qcf5!SW5zw&w# z*0;qwuQv}DfAiwoS=}fofzr5yB9@20?VhMSqDxyX*O-25mV+cwV5oua6(8nPQ^H)C@MbK_Z=kCZ(&$|z z@Sv|(@JQ1vmI}1i=WI!0sj=eD6QUdiSzyl(uGCiSE10d0JED1t%v=x_w6yCZR=2!H z;sT`s)!ON6$QqGWJ|0dr%MlSXBm{!=D%Y$CCTS^U&QVlNV~-Z&KocCs5Qt!T5xz3Keac!>qQ)YW!>YJaXG z_ri=fzMJ-|s4WG~L0=XAB#Zr8CjO%~c@+d6QFI=xl2mz4oTyOQIcrT-@%xmRrRriU zjS#^AB3aGCg&0QiMxVL=9HCte+zD`P0ewILx2bA?{@pC)c^qC4sx1QJ*atE;vHp)T z45B`KzLJCxjTuZvK2`|5J36O>4t!oSl{z5{$Xae^ZmdJhz0`QFXxXsVEmO@*kk%A& zT-D}Q1cbR;1Z=~0qs;8GXFX!HbJYbLoHa@*W!vtrtr#hJv-WzfCI5Dv8BW~lbq`%i zMVz&aTGjcPm^HyI#>%gd7$i$m_>|e8jOSz!I?+;e&mk|O;5yJX7C5_`gY8z!Xi%Ruj*a(1(+c2 za`j`d=*}@Km31z*gY6UIPw22-Xv493?UzzggGxR-c2)HZG3dOVvEqDjKgW(;vXGTs zr{(yZX3x$b@%NRQVD?Ub^*b_Of!Wwr-rS$+*3o|5nAB`Xuli5J1&`GHO4YzHYi%*o zm;oP=k%-mxGiWeL-d_NTrGl~A`}nVY=MTQuo!B}0pQfTJ`Ws&}yML_^Az=KFbhg6* zavb$!ZSq!rpP6c8oP`1Mu!;m}l+=hRZmmnq+(s=w@O!sShU&%F*@Ym`j766H%b}y) zvB-N0!Ow2b8W;o8JinQ=gVg58S(wM7qE30wE0Fu*;3F!>)3WS-#6rc6$j0{qB^Mko zh>m#tF&QChV65vvdquLq?C)Mk!)T#XtN<+_?8DnEy+EW87W;>Pm4pu-wzIXiXM0Fn z^OiIFqq?;~hFDf-^jEq0HyIeqn(L+2NJjGYer!TqXlsDDL&Sos=~2E|!}kqdv}1)V zPKE68-Q8V9*3KXGpi2u5nQ7mr2`7^a{rgiJ5lgeus|qzKvXj}*-G*beYcaj+UN=_> z3kb$sPO!Whp@@#|kybt;-^+?Ss_l`Oul%3m-}&1dmBPcED4~|~e{)&lf4qHYiuB7y zBM<%R*SkKL@;b9%vj=gEeqhc;DV7qKTS)m0F|wIzQikz0cE+NcUCXuV%X`6)-q> zAsr754ehg}q!SzeJ@Xi!p2M)1qzw{8680=e8ukOAGixBpfvk{_r-25?a7~f8e4S)< zF5|aAZWUcKjK{;^6w%Prvq`Ad#}+UQ=pkc&i>USy7x*fB{h3n>-}+U_oI;fh-mlqW8aivp@+mCUx@C!qEYdz?!^jp|uc;(=RkLRFB zXSPbLf(ovuW3Qrb`;>)JL?X?s=gqE+bPRmI#+7~j8VocTqM%hzF0aEEtV`;lv%;em z&|Xro(?Y&cXV)Ydb%qmKFPWZ>{!+}bGQtPbd{oS#{>XI1OXpo;ed&5ZhrLj^k=#Cyq>QT_52 z3TPS(g<^2oWcjIlG9C`s?2uHxeIqxRwpCGu0ZwW6xZv%(d8paqo?J+*DaxwMp53Xc zde3cf{s$u{P&SYdFQd>8oI&G+k*lXhL+m2Yx&0nB(4MElny~$YN!uB%Op4h(0J77HTqRpkr+4 zsaBLemDSl;SazHs%m|4|wn`*D_@dKMx4wAQFh^;LZ2~Syp?iJA6P$pD9h)5_OTVGU z*qD)p{MRI@CV&_&(HMttDe6~n(CqR;$U3c&&o2pO4*zunGENh1)nZslJB=*K>SaCB zVxfN`TJHMdT9YlV1xPoN8ATPKkjIGiU4fBcn{b-c7G zQvI-=QeJnI4=eZIyx*Ga6ETK(*{WG%IlRMGsi((cB65RrSC%M5DvMF-f44M?{3Ues z;X~mpXLEtRW%ovzbNewryt@O%CypM>{T($S74-);*FprCk&$nEyKxgwN|!b@|Jx550eJS(gMm2S!a^l03($H{-G3nn3(}>6)dSi--T$72O+^GZ& z9N45Sl}_XJ;&5Y9#?w})>9O?OLbfeE--b6lElU_!_K;RDLXhh040b&DdO6Oj=quev zGJv6;tS2kom!;jamp)c|-=a)!jAkeJ>l8YoJiuDDUR*UO z9asSWgCb{t1rzZnJ%w*2Z)RDt*L{P0mq5}>cBNiXSwjvQPJc;~O`5+EgpW*OuVNg3 zOA~|?Mn9gbPVjQ?=lyQoGlUEu@v@P{xsp^y~5S-c4JkjibJeB0W)Bla3>qllE~=j-oGd~f{+J! z2=l6^+pbLK@;!H|9TkVC#6VBxK4`Ldf#<4pjo2$+&^3)L;-v>1N>MO}Y$iY8t4A2H zS4LCZ{)~OeN+d`j__4<-ifU>ttfC>{t{H0NQ3Co!;bxMQq0X5?#AX@6&A2i#<@f$` ze)EmD+ORmC=Feur+Z^63x19G&rkLB)-XXEm+LWO(W=cd?IANp+mwt4jOT75!Eh-?P z>X!8p&nw4n*UeQg)&s&nqarjJJ7)5|nWXxfP+t}mQYiiS3r6-2=aZ5&c+(-%b4GC3 z0GCi zLLeDA&lnLHAsa6oN^6CVO6=9|=|>|ynS}a)HbO3fyYR4R8;sXJ$A#HGp1I)G%Tgs^G`I<$Xwd$=jMjdC{UdCO_*Gi^`Nh0!vRj|aA-$fd zSlY^7qNjWYx&QC)q?~%Lo0ncqz#ReneYmqCCcsr&k0Hn4;Run5r1G<)Pz0aA9=8H| zMj}3M;see(0YQ!7+O4tgyc;;VolBcfTayo;{WWq;9wZ3 zvAQJb8VB1ONtD4!My2^aQcOAXY}nQ#Y9}rq0oqd&b(EFGe4!|dSW-Ssi$0u3f-*5J z495Mkd9G&C*Wf>FV3r2KLlHYdQ!AyY2jZY*$4r_lVz#XZ#s1@1HZ&i6h$2Z|&JGJk4>M7)p*;Mmo9K9EnCO2$n?8q? zfie8hHtKn5jm;=m!7dKHm4%izzr)O^X;I$wA&pmqyS@duGPt35LX3~~cGrXo;#i{!K(6u5jhSFyzJ`=-gaG1r~ zU;l;juWxs6aAfJ9(^2o9jy~L(G8f8v{rnkSB!lHI|qNXOYMa4$w5v%4`WTt4^MF+$Y_15VV5cB2V22)dfMW1bD#4G zmUO<#4P+~)@8H!C5~iYTh#dW&%=rRQ8@?mkXq%_{{tWYNAYz6=*dMLMOD<=ozsIMy2=~-f&wQU zHBdN-=&?27cHN?;;b6t@KITSbM*#pov)bLJpIC>`+RCmEfR&!dRn<_<9@^qm=-bqh z;^JE!>Df65!k(|g$tfpvsSX>ZPf@bnKLqv-(l|;lv_1y7`)2)Fohvy zGWUl&`>jv5?L-G?H$D)BW5k`UhBJx*96?-HKnOUQ#?G;v@573vXvQ@5F5=WR;7gW+ z6zc)_p}=z+dbZRBstfxLUbtIYp*C^jbA2DsF)h6Lz|uRMq4&IBEzja4;h`h|{ZrU= z(jnZT5NHjchyEIZ(0z2+NsBfhz4DD_-fO4%M!doYo;;k62~~E~}V6uX*U`&!%|OlU&vvNBT9bSabU;E^g8P)@Lrhpc-1;cC4o1icKt?PmK2B2IJq1aX!{@;QFH4 zy$If9l;C7y#-{w@q&*znn|Cx3CvWtpl{#7E*Kex@w?)2e;v+2FBIiU@%HtAwd*A9_ zr_9Aq!;CQvhuo{V5D^t7qojvLGbRn{8#UVgF)z8d%tG^!pNC0fp*UPDu^03Ml+MrG zn)HpaylFf23cjJPS_e|lgMbZoZ#OICyxEm?|1ElQkfHrx-i~xl;rCM0QT%ZE!jz8Z zrN><_?d*UeP;VS7^ZRVJBl~>?=q#tVDa3Z}d{2%8&+eQU`5hX<1R@4kx>U-X6}LXd z|DpuG?nfDV9i#*i9mv(Ay8vc#c-heGqy>zhpzi9x^afD#(uCkNF+s?*N5|*pqwj`O z;LhzviAm+ljZOt2EupSW>Vp$9^o8TP{qzAgCK-!uU_NA%jv@cjgXNHm@M-{;x4~r^ zT=U8N@Y;!RbsRH^VDhw!xrn(&iFD}+#VHd08d4BZ4PyIY%C6z6xHTJpiRC}dJhBnt zui+``Q^PwR;zRxafw}ns-Zl5_2)Um(BIY&#`}V2#eRl4A+Ko22Vlo1u8miRm^H6tE zb0_}f`deL1KOsjP=-}}gb<2CVq9D+IS)z*U@KFs&k?e(qy;0|48YW58vBao!FGA^P z#h4opU)Cf;V8p0R%!`K#^4l?2B>pX{)mG&LI{V?Zcs2`*LiK_IOjQGan>_aygvSM= z9il9o#pMr{!mZ%dPdittt|(CK`vH;(xoB`OOF;nU6rqubvKry7>}i79ToA;fv>l^$ zU$OlPxBoEfgrc;tnFTD_Wf!_$WfhCrv2sZ9YG(g>D7nCO`4I0ySVt+oz>654`BYjL z>5nnZ_PGbkgkHp<9FI+!FTqNJ&*ElvzJ$JxdF-OLi`6GAr#zQ7w?4Km(&UBu+yMq& ztMu~e%E9=b9ivq%+?|KNZj$pj3wqLp4ch7;Vd~o9+RDtx>w1F{QZ2L@gfT>!%^mrP zxP#w`c--B(Oku!-UnRDmky^;grK7+qvsPx-scF-vzcGW0Vf2ZY-p^in?7efq3~mt$ zapFGavf|ODzOA0LV_nb>8VZeL`I)K@>_WOyN;OZVOmz2jnFtAPn(u|j%f%R-+IQj6LS|M-{N{*PCiyPg#UKUJzPV>e$K69hW(G+N$F&B* z6}>X$h8gB+@1`h;)Nh@wqHw~~_}AJ-9xiH%zRji}y@`9EOC4MoCqT%CH`4aNx zUx4_BU4)yF+h^}o4`c;P${_pxA+qoelPZL<1 zx*p^PDZW_Dw%>MBhyzqorB2(kd(K*PoJq2Z!9cUz(EeJA(O21hJ)Y4fbnB&z7i zG!muz!e~Zx=n5+9Ai2>?Vd_H`(*Zlm3Wjh(_jKl6seSd z`I?P8Z6EKbv|AN});O#Cy3473+y)NKv~T=!p$r+uvFZ+zccrEY$h}o!>RH##~z_)3t_gS!Zbl@ppMdV=8<8iW9P9whbf(Rk`mhf?t5{~wN%}a+tN2GNK#*!Swv~D z-74n_0z9*3rrYxqWoESjN_zW;3<^b6g3ihBcm};W>m;oZWrd6Kc4oK2?^}xtAt!(R{+YLktt_7c0*gV z+#F+dO%1o}Yk1e1&$mB&3rY&|Czsz_urnzG`XFXoBL6u;)xha^=#uqUHozdQ3P8+9DU;2Namd5!DNBIvBV3Y zu;daPPk(UoT#__H5&s!fQ*~TA!5G9FnX1E_>yl@#KOM6^&<8l_GNjQyJ)^xx_6u^A zS{rV2BgjZ~=-H|McV#OkwW#siVWwewpBAgx3@h}L)p#JCQ@qUUn{H2QB#d;@+qt@=u#x+yd*>zLGTo?oAp>+Cwqzjn0i# zjp>$(Bd{j+FCUI1s6HqEuBO(ycJo32L7$)mPEP>qQw6N7rN4eF4sr|BuRm*r*tw^ZjOd18z2WPZQ67Q`k>~_W~};%eyQH8G&b_8dV`r zu&ckikg*A*A8m(PCW)m`oSL`c{&WuY>o&sGsY$=S1+2}#QQ|&sMlwNmFoTTH!x{}j z+Tqi?14nSohaLhF8eXzB(T`%uw_YbgrJifQfNjXg-@>`f!uosiWA|mzq;{SbLl{Xe zTVK>KmeA#lc@r(~q&vu`4Z+881D}3@zpdPnIU2g;^lNIAjY+xC{@wMUAFUX-co&sC zB$(w!J;fpX$f}L|>qXtty<|C&@0k2o@>ZweeP~j#iVt#NyNKs#O%&|BL1I5YU!IZQ zjAKB<)->9RUl654!kiq!Y^61%#unHje{ygln9hrxMcNrN@@^k1~+}f_u&h|sEm#ns>iBEL^>Nj76e3P z=)M>0Q-0DILKLo2B_T6)BEQm!S-L%Xt@kTowZh~;ce?ty3)|C7(49u7HTMO)>CXB4 z8%^5q=>ajdIM+gcHiusQ++zmjC6E+8OBXd6!ayAky0+ki{q_MriCDzW|5 z3N+-C44#K&-#kCC*P31D(1?V5s+A|__JonH|8(d{I6$4~#^-QgHL=Cm7o{8CI=Cg3Z`QE}JppQ3O^L&DoHI$Aa{L27LXG$cLf@n-NHA9blc5tA%{#qWJ zbg?5zJ&K)e@rO2nCdYWGchaBTs~G1Yos!=)gaLw#|6SIW>ywa=aIWvIjK1?I1&)wE z{|gyZw5(Y5eJl=(s9jv+dfXT5fIjM{nNnV%P5WL$?)rHd3|^sl%t#hQ<<*bH<6p>E z)@}vPATzX&FTp&j{23&rIrX|8tFM^hk8RJG@~%+@*)>zgIu||TZVaztm!F(cU%z=b zDb1P$X^1=(>B?p?(h;Mp^6Gzj)?I)nzV2dATg4~SNgBCQ+o`nK*1PgD2p|%FbV8S? z1YaLEzUP3lzJw%~lPt7piwFNAFp^FP9=gaOJ;JBJ_sZvh&Peq#IxOOeyq=ZuCyjEO6q29{Z9$X|4W zght*zgv}8n_U~(9VF%+*s-Ema2LE8_nc5;YF>BO}u|5qf4GhLR;W8Pr<~0!;5&s+p@t#-5pRxj)gTr8K-c_$8=g)>T+aV);AqUvL zW-;*9>;6`gHy1TjJUx7g(EF9U;Yb4na^Lm`5+dDtIqr81m;rbjb>|o-Bgsq{bAQ}& zWzgBpyi}pp(vTuVGfv<+k9G)OH(%gI$t0QD^U>%mx262o%&bgaDF0?ICdSohZ0wcF zuT=4Jy?$jD@VIkoLuFC)2SbFvM8DAq_yy8TJ^ECkMAein!)XanHG_WOi7ylGL}>J0 zjbU%4nOR+T$eAP8Z5T=Y7M~6^FA>yaTp|8%xOkR1RjGe0X+wBlZ`i;}~cEtgU@THd91T0s_ z4&(5;P09Ex`+Q25Nn&E6f6~847*X#+Got77V%WqUg%x2BBxNgUX2~HPr}Ku4bk476 zD85ZyYW-Ry%IdaF$g?}WIH=g9#l9=}jUB~`c91k^;V24$CEf5X2Y;6}iNoG1CEw}_ zp?Y3-APDBwnijQUB{;c zZGNvy&wfDLjHmKn20}RpD>)xNN^bJ8FRt&TvvPesMU0>GN9Lq+b1{Xj7H$miHZ|?$ zy`-f7#!tunsE`NiN5T~EAlnoDy|3Cjt|j#1$MWKEVr&mvv}DWzr0u?i)Qj}&uTevH zO)7Hx2>I8!(!cedaeld~DArY;YvB`{d-G-4ifj#fNRLu{%Yjp1s|<--L?C`tw^+r_ zch>YliEzT%sU9O;%4bTg?>k2;o{YpA^twm|1~nl&q-}U*pmAAx0cJK(nh01$u|r6nHA8YBF^pK-a#Bzy$wY~Xcrnms z=?1nz zG7eED@r?%GE#p`b18=f0KvcJpMPY>hEO62FK>_2iMC=ADHpgrXVC4Lq(VSzvz=VkRw#P+KNcsb397q*ZtGS7fyHbC&+>q_Z-#)H*tIMf@$;#6DME znV2nJ>Cq|8nY21OW-TY)IsTDAf>1UH!;>qu7;P`15J*?jWI2tM#dXYrNzVfr0Ugc` zuM~_@qegln*|}_i=uk%YjmINoV|3f36zx|*4e8%Br-(@`nH7GLJ`)LrDv9zn)TTSm z?LI;w6Sq|yJ9(l=rvf+W-}@%n&J(k+gnX@f6CT^Yl5rLMnGjK}*)wySIq1J>wZNZI zX2;Y}Xr9yC3%iT7ESt5OEPmKc5G6+NDd9wFrCzcrOgon)%KI;EjB3wR7!{QTUD-qB zz|qi+S-3b5U;=rpxar6mBjMZiX&+x(s%p&v&c)r8ygc#S-{K3vo}7quj`{KS9<%;PT zjUB2~EfbCINyc^Gb6CWf_+xg<5iO*$4TdV2dpG!0HVJtLJE$Jp${m2A4CVmjX}-Vv zrT@sxUc^nstT|@>t%KCQe@*(dw5#u9L?#$6rZ=neCrmm55ftSXx8Sk|6rp)LX*nei zrY!JZgR=icSjGLpIQFRU3$Q0!YKPl+U}I+&hYVS7mrUPZ|6Qk`y0A)ns3!x@jgfl+ z9x-XbmnpS4Z!eLav?(!Kd5r9D+@{uhOIbw|4wfj|J6A>D;|=dMI|5cbe{-6RxSN4M zpL2{2XRJxU!c1TrWe+j(b$MbGZlsQZBkgazO{JK<)mNKptT*#XpZY&he=AIxtL&(T zl!zj&n@Y)2e2FV-1fv%3x4IGAEieBFg?YV7LZ9x zEQC(9HVvj$j_o8IJQ7iR)^sj;{&q2Wc=~_F5=>_%`kb|JpTd z-wvP`OK8s|XGM!?eG4rwikF;lTOwOS4?h!HCCg+wS>X4Y(w4{n8E6=AQ9aS*ZOHTe z?MgEdS0NS&WAaevqyd?RAlq)rORU(h;k4Huk^K6t(fc_l-yeK9R%R#|@S2h>ELT|M z4@kOatb6SQ-4vdD+p-)ImvmI;&t01dIWLr)Nh{)AiqvV{OK=Hm|5&-&sS2B~El=k4 z5fUUGftU6OArBwJ?*U@-<{EK-c{cObL)A0qigdWf`#xCZhW~`xM&EhfCj$!(|Mb4p zD~j>}wy__x)-3H)MjsKr(M{nktJ&ABE{ElbodSv5n=ZQT-karG;Y)d z%^wl^cflkiEF?l4+8%0!Szm~veuWjkqPR;W$9*?DZOKT>i6M?SDdeg(j9hx}L*- z6o0+BAab`ahn2e^i48pt3$ca{3h$Jq!I4U{%zQT!DUXDa5#BaTai}32NpkmzUZ3Ci zi)a{1xCFG^TC3NEJk*!PFlcrDcf`$cek?f{dEs5H!E_FOa2Hl+)1erg37hJM3R~c6 zb&z0t;E*u2&5)1}U7`)h&?sh}ccdj85ynMeTm7J|I$1Ld^@pV)G z-dm)D(1==r5D^F%BLLj-G|698Py=`lyOV09qY;L4sLTru?Z1dldBUj}`bUmEZc1HD z3z?p@iao8xe2QTN4L~|WV?to8dY$P4*y$Y{VA@~oqh{Jq2o1aB+pgnSh`Ye=_dPXz z@q0+A=Jpg*+upcB>k1l>C`A3v?cFX`LZ@hYRE?&o#ch<*8=jq6d&RcqR!*?=;en5= z&PmF;93^B4F2AFXd{k-dZPF*b`%B{Q!rq6E+sVHE_{c)qgDX8tDJn^!V znZf#%2*|5kPe5Tf9UXCszyjbA4*StHqmIYs4Ix6#0=^S)r;?z9)2Z_bx!KD(E1`>E zOg^Eq3vg1OK>Q^-jaDpsKC4f@sqY0L>^+8a+2o@3XI^%nfQ2SP2QB*2g0AwNdg+46 zb&UvBN-U573F(#{%<1fkUYM3vStluabPonjjPkLhE*-~ds0DfWqsu3;$KmT`mLOs3 zcC?iOOI5|_js)RIVO^!GZQD>r3E5%OAG)jMp8|0Ar!q(O9|_7`mjBLW3gGfvPAL9{00pQL^$Lo(1nG0C9;(Np4z>S2T8u#l8U!7D z!lr&K3?-7dv%ZhDfx%IyaZ~tS>_ID09LA6{^01XSZ@J=IXAxwZe=37TOufh6ue)Jm z$HIng9|=D;gJqN6sWDNf`JTH0749qM;n;EFn#o}xj1(af!xl!dUE$J*if`=uYJ6~T ziqaZ6hD;~UMT8X=vrp}0&%9S*Z{c7UlTf7YYeDxrNlk=Lgj#Q>%TVMf71#qOvvSr; zBq`GS&{t+ue=(wx7C)w+>5FR}6@sX5(r>?{r*6eOhOcV`2ak5oR{d0ozGsxDp*G&r6X716;KEq2(B&18!n)-_lIB7Cs-K(RepNoJpQhYLD5oz&%_OA{U9+!{+-Md z7b0Ya_Nz9{{hdf+k7&1nsDnLAOVTNkz&{2*=>(U<{8F$;Q$M6!X%!?{Ohx6=Sh9eg>^y?CLjuQDhb_$$4_J70lJuxzM~e zUet6g8&bXPhM;*|!3UV0nVkXnNTmOU$`YJgC1CF%PE4rC~s)Y|kU;Hi#FDfoYlk-T6w4a?qS6^t`E+eEcAum6e47*<;XLWjO zXP&62{9~Mjvhxq=Z@E>Y=eqbJCa6<@hzD7AMuN&V6zL~>f3q|Ev3sNcW?(;;^n z>f*drQRFnoy+?%1D~7_j9Qj$x_w^&-!}z5A;t4Svyzd19RCtn;GCAN#XYhVuCIZeT zYU)CF`C`M@ZC&MW;I^-<@3fB^eio$O5b)*@-X(iG?b3vbK@=qRdjNEC6(x#5WT?Vm zAUC?h6D)f3lF6FPk4hwk>dg8{4jg zdqO<(JLfK+xW>W6+Z^nf3;Yamm#r!cYQ2TCp>Un2b7=#3D`SqgrjLK7URjIpHLKNU z^AFFHO$TRNVqwbXHNk}|(s^T4kr`pqYk|Y&nU2P+ zI9Q4W?gKV6sMigwnI{WO6+9`$Nld$&cMLwYG0^z@u}7}gOWzofWIkrKsP? zLyC<~ww46*m6{}1>n!(7UGVZp#zN@|e~weS1`Ewnsv_oc*@&hkluc3}+oCA)Qni{1 zV`Gg8Hu*nou+X$Sey1xHXvDEFUP#{ru5)=q6yX@G_6cY{RxDS5LY0O4C^l`}FKp+V-D4Ecakufx=VOqI! ze-{h&0Nr?LK@AIRemGR$KRSvY3(o-V+(O&mtKsKbdmgf5Dc#1)Tdid2NNE8b_$)^` z(YI8&14w6r0|*$?1NK!|MgtLBe^x)uv|X3Tt<}|wR@GFg!g2)N7qtmE#<)-VA1Omm zGdRogTthnI2}8~mI4evAkdv2oDj)4%W%E>SyHXPe@!`3z;EWMMEo_MzPVv1p`Z}kKj4>F z8^}$UHYaSi+APD4oPqmgA3-;CJ-(~7GB>00yhzIQy51IH2}$NR z)PjYClG8Mmz9JErkEkLpx3OMcZjknR-Wu`Qk>G#0DEm_&M%{5GsNVA_xa-hPgceTB zXfXUw`q@DC_BQP04Qg*K$Y&31r`y5#`UE-)`m-b)Wx((-Uf4eNM)}VqOqJum@T~t# zUJsMTA?F9oUsC)&0K2d;`7u7Q6j&OFbqkj*-89Y9?14#Gka_)m``3=B@7#VvkYgWS zd9#etu~S>)d3)Y~gN~_fz*VOt1>zU2I9S;(cQ!Vo!)XSX?>)w%Nw)Jjzl<)0IV12z z7`=34%B#N{vK31%aoDTAs z(KL%G_RHZYz}FOJ*FX-(qz|^05M0{Hwyu<^U@4%k>F_pkprE^hs_1Q$iZvkNCErbw7Y;HP)Jk(iR&A6rqr|e$ z4J}p<<``%gmIykatXiR-Ui|4!2+mHv{ggGU{4&=nca$_EkhGKHcwgPr~7HNq?v?L z(i!pz{BRI5lv}%(T4~Z%+>d`yHKLbNSK7)tp&1w!T1}0O+5RitwSgl;o&jBXLNmG= zp^Y#^f3i%K`cFSh6CYfV4$s#}Uj(I_ezImQuuyf0sq#OhEbc`Asx8Z=k-{&Q2_v=T8e{rXeyZ17&) z|0?+^Sxx=DfYG#6Cq_9g^z7ecF7qnsv&)N4Ip^dc6Q6&rE z|J(g=rnU+v%l}HgW(_3Qw)GqJ)`B^{uX7{fF#oA}Pk&}yuL+bcYcHMLe3X+Baa3vW zgp)kyef#-f22&KwhZSzO%UEJQFftBakUTfbx*nVaqV57`C*UGyc zE_c9|Rpw{>-J7W|dCx+1V1O6crRbq6SX_DGyq; zr8!S)#o;D51V`FLsSKa56#L%yPb&7o zCv(S*HVHVP;iU%q8B0I_q{Kqiy*0sR$Sm9ge$THY_17=(8rul;6W$%ze#p$q&p9jU z<@Jk4(MmJ`Sh;`Gz@LuSzACsYdo&G)3yx#MilT#WtCjXZnF6;NHGE)93!P@nceGwR4sBO0y&}G-rP_+a{R%&kI}#__sMf&-&iKURe+p zl8caEFDn`+A#*yC+v0quF}&Nox6mxw>KUmR+4+t#91{-4S~_p|#Y^Fg#nbq%i7(=H zz%j5T&1lEA5k(Nx#$=Z#Tqgck$W12-l{2_NP-Hf(&euU34SUzZwJ(VSE8G=`Mc6SY z{IncSZI`6~nE7_QFm{wM&KG({U^&xgk9U5b#-uIsOkS$f&M+1`gE_*tj<2APNj~+W zkdS#H8P(BKC3?hBZ01!RqHjEUNz7NYcE7s5PVETSpzVY=U4`1vEwob@Jov=q_Jcx? zS$|H2_#sLlW4ld{2ek)X(RltnPgA4ckR{?vbVxM=g4{*?^ zOseW=LKs6|wO3)f*0!g;Pb`2Vnflo2Xq0o7vu^C|1GzI_O1hsLyV zJzBXGnXM}7D@+|g0c~vU`FkN~+*P0TMGanXetU)APNk3Cq*FZsSs|vA!DH1rCc$eO z%`-08bk26ht051RE@0~8RKrdx5f9!zBIXLy89VX}l3X)8y{zie!xN@(Po3}6y};4Y zhztUAdik)db_4RcnrWKzn0wvVdF;>%KTJt^t;2;t5J*?=wUPQiIFQCqa6{ z)biP`q4xwQGO$q84mNHM$OS^*lHGyBF zV@p`4>k|6YN@dWrxW?UI|Hte2noCEumQlwP=ewgUOVYVY{XSnCoW`Hc`U2Vy1sO5G z9d~xIo!e%qXEMY(yr7+6x4|iNd@!`>@h$pGDG98kCqDVJGlQ6ZD*JozQ!Z8K7w1Fs zI1z$YNgItt*!A82~Ji$+aql0k0Ff9+T-2bN`Vj*4% z@1s%%VVvDP#8I;p6b!{ zarpthTi`fzzGwKp37WqIB84IP8F1_kt z|3k(h7o8C95bqSpyhCUH2(I017WC*Rmlt-DKx!C!q*$Va zokAG78&*xJz=$Aug%${Cov|IGy)1{7r@~yp`oMX*rrA=GvV+20=m%sf9w7 z$$M=jH$R;*ioCY!Q{biW7GJ=ltJ{=c*nALzjbDE3vJ?83DqUhb_#oKNdK>qLkJJWK zUz72;e7^4kJ0VvE78rC;k{=p2_%S?H76dZ*fQ{Ogd(uiF!fK;%9|#_vP=m)8BoaR)d6P zPwP|V1lJ$r9d6wIbqMxr3dV+xuUa+*-Hod`B=GIuv$t>mbj)GKk76(p2`t=x5pOjk z*f6zB{d>2hhAC1}tK~tH>6ezSb5A)c#{FHeCN1ljV16o1(~d$)sUoqD$Tq+iMg1+- z)z&^rs3K>%_KYYw0tcSt*^lBJFX^7P!gt*YF1)~UrC>OCeaU^zEfhS1Hji}kJ~1cQ(en~+X#6Mz+b}T z{+c_m18g^{CjH_0>r6+Ucve?ef#D33vJJGcv5k9*C5G%W>4$fj&lQ#Ip2eZ|u-oBz zdUhV!tsLL_rwGo1Bt$}aaQ~CwiZY1EzxI;;khT3rLSc(L=}ykh(UVV*72o_eOL}}3 zkmRjl10V2BxSAbfDFPU&gfZp}~b4;pk3emIk@4LP5`!XNWTXsq0&U8xx zL($EOsZlEd5WZn}556yb?|iW`EVR(R`)sPdh&I`|-OK0oQS9Fgk)^8z=ui;DbMNo# z9A8Y{g+i7oBngO(VvSs&+ML7o-HazJauU7Hsx>wwZNjlI%z(6br4)lGq@55}q zt%2%XETUa{QzA(!E3DA_vw?Ti*xkk>uF=C>0|}=^xLFSeWoe!3qOFY_WvE!JR-e7F zL6@7ya8#EYH|7_^M&&J9snk2VfP>UGdc|%EF=tX1_;d=0wIGVF&{r&dPie*g{aDw#^a zqLVGeOjg>Ij0lq=bXQI$#%U!Qb$fvoV(lQcsi_~9@E_{PmX?YOwndJ1M`2cYu7{o2 zOwISedw;!%vC0|u203V5bLW~HUpMF572RW=!fxH6U&_adL%(Z(FS$eQ`2=BNRd~{_ zb~>~<1(SIkU+z{Nf1_}I9zqvjPGuZJ|ROY+hOlG>iKM_8!-&Fo~lASy(DDm!t9yD@~(U?aDpc69`DOuPt|40lj zI3BmmW=Y@_$u*OR}F=`bob$z=r+NFw0d#B$|d9w-# zR(if^YF5W~P8mpt@{Z zEqmr}iql^rGal!{_5$j&USCRw$uZ&@gR^0ty41G|O>JYQ+)wbeINaQ!rh3Q*h6bS} zfl1!|f42--i``7`1vu?Ca!1U2`|KPYv60Z^)1>5eSYArt#Zq1ulQ$PP!kt~oCudqn z8UNcO5l+C*!V|x$Dby6_J{|<@X31|rVjCMdl3@?&ZNoST&BdF0rYG=pQ#XY#u$VtU z$-qvb=n2D)t~r*5#~=JT@7_v~n8G%LVd^z=X|By@w!OR)5l01gVh9%LvJ9|1u!*yT z(FL|6pa7GCixas?DmJ6@A*C24dOafJQ1QqwpXb{1-S?d2O5`nTvGnT8Nma$=B>!gg zE>-vCl<>u1vOIarU-*26d$T44`8B=m-(u|Q_cUd}27C;Ej)7v}B?RP~Qkf))+2@eJ zPup$Oai4qjqd4`q!&kMB1*r)OkZbXCSiq9z8cNczI720!bbCZ&x6%lOr!F2gtePWZ zUHY7=e%b5MFwhdg+5erA_oV&_rqN>!G_Y$Umn12rW}bkEoiAj|nn-BQx^1|;0PYR? zfd+&n!sp!%k!T{u^YG`ES{mZ3^?_i^EITtUyODs2j>27Kr9=NBg(KFRW$yJ<4?6@k zh6lkz{dUXW7o|juI|u>Ss_3M+l$;C6dcpQ!I;aV7^86>g!qxQ>l9ng)!UdwS?6 zliX#EZ72q>Ad~<8dC?QMY#MC5!U~Dne82DLd_Jk^&JW%pK*o20Xc_bqtSY!f!C%E$ zUG~Arkn{hWBH;RQEieJ*54<1Xz_hfE9%;3krFJt)(XK7KzVzD5zqzow*DknP$k2Vt z+zU&62PP(Q)qdx*<0qZ&JA7t7TN-8|;Rz8;Z(IChb~oSA>fRO9^a$oijo0**Iy7<}3W)9xq0698qA4r#pz0Hy-(*$l*Gy7 zhM3lk7XU;TB%+=u9j{`irZ^Lo%#buaQ^`N-;zc{(4`)3oF~5esnNIB04~P82O1~78iV(2XB869MP0q^@*L;>w}(yk`Z|Y(Zu}84pWGuw z)Im%+pI;6^Q@Mg<%)b-qi~ON|oX{^Oja=9ghQ$&v#!^J> zGOE=gBHAwstD43Hu+C_gsm0@xjp|v-YVPShf#o-knUe3P!z>)my%m}@hd~NaN>s6+*DLwgw~Jtcbb0!ZLH}MhU8*q!J(kmT#5Jp=~!n{G?|^m-S~`c4%laAKk<=fUHCn z;3!t8ckrj$bLWRIxhf!;`pw$^t`ok1-_2kXxO@)2%t^f%>J&gZIR8AH z+_y-W2l1;GAh=EIyR!KC_h_53+CsLZR@+O)OqXuBuF|>2u2oN-)((+Shjgi(9rVe{ zD_r#`?Z_y}n3fORT(pZYxHEE|SVP&$nTEc7A>Jt7nkJrE7LuxG41hYQOiF3!k4K!jmN1@Vk}*%~{r~LKGm3dG6g>1s(1E ze~=OL5KUNWkvS1}{BOSOc*z*{F(Xi3zK2M3k0al z2|e|Ae>z-gI(oP_w0k~rSbvA)JnnDVkiM+ir#0lpZvFmv+Ip{dkbwfhLkLG#kHzH{ zgQq9d##%-29`ert2(D_h*!jZ2x%!84D<(EWEWbSlWjrCd-#(JM2z2KKntkj2iRFif zrjUR%(EBkz1OVdXk>)Z4L3X(wDPya1gqRMWu&-aQ{L4j``C8^zEqTFxRAhfr)r7|C zBacuxpqkzH$I-ub10_~!NkGyb6Z#i6pGCAT{ZK_Kz56^20R1IDxaSWPh0Qeyh)?T$ zkU|C-xvm8oRqG%jXMCJ#v^^BQSM?;7S-HAV%NBuCROF-MqbKk_E8#Lq&#3;lFwjEIQT)nWM18+!Ld@5D2LC6bf5=kYbnXMg6{n2795h@1h8-9o zXpyJ=*nO*|d6fisr^k?=iT?nB;s6?os~?kE1&<<&aVrje!yv_Pvwug{J`6hAq^iNN zPycZ?GDai<;4Hz+D554yNb2Rk-FfwPb z8!rfIBt4oNa^`P3%C@xOX|I*%v@{nX_)F^kX=;V@yi5Z$foN6TCvjAf7&vDu`^;@5Euy*dhp)C6UFzqhEx{@ zHn?D;zBA$q81)xb+uR4o9PSOGPr-UN+fFGz$#Q0h(i(~7M}5BO)L{CV@>hnm^7wSw z4A4-Y->L)!OCw;|D16K(;T6Iel8vBF+J8O}-GtcZP`d1yu7#1r)u~H%ndYeXQOyBUC`rvBY>KCjcJAvK+p%CeCd)|dZYPFOJF@oqmUx(isR43f1p3m^<0$3p z7pfp}56lgtpkGy7`h@|pl&S?pIGMF}^J=|-j8EX@tmQn$$5fXyp$7oen6AVmtLOsbk*-c* z5lm5DfZB*OJT1{!p0&MGLz6DgLB&!r6(h7iNr~*g(dIvS{_+4USfDoX(npJ>(>QQ} zBW;N%78xZh+0{(TEc1*rE%s82==~9pI^E&| zB8;Js+;(vKhbbHmcdM@ScRou7yPBhwnZ}kKCZ~+qtI_YcT6+0N_z(mWWtESYE>?7D zQ<0kPeFi&H)k2)}Wo2IExo!erd7Hw2>f%(6tL}rfCJEAq`El&iKj7IHD%KV)E0uoY4*fkPf?Y>16U=I)tl!=*9!Zs+LiBJi!C!V>34BAAYa zvN>h$05xtF-eK9(w-koBYOe{#6*% zcf!G5>NHF^X8vKIGrbZ}!dz>i#?i=uSw_I$Y6g*#mtMs>E;V;lkFY*6sE8o;bE{9 zC*21TmdOj2Tl+ds8n3zDsl}+{4ZA60AajF_sOL>QeI?YjEag5B09;MsTFnGBG&4~Y?aVl zd8D-t*)aiGBoJIJUU9q47`Z%=pY=r>?M^5`*F_ zcjK^L)gH7MD)fCNMiPTIb1UWDL(#j zofO~X`x5}NXCW8zDmA~nx=F-dzy93bC|{cdKrRF%kLOq{IFHQd!n^57!M-Zx=QnAY zd(JNdpv+^-G%(&&y}IevI7X1i1lX`w|L=(EDT=TVU=xZ@$D zmA|M%yYbT+44QG-K&7BD$P6Bhv_BO3{$WOst2I3&y#{3Ym?T+jG2k&QLG!U4m9arW zNvXO~+#N*nmN0j~7`2F1r`}hf;&}2o4{KY6aw(Rwu4;^arvLERb|DHfl~+O?YLz8O zqGgAhD*#9hKcxegQE}u+<$OP#BAbuZfkNfrFD;07Pvn?$aOgX0O(SmG_q!#-?hVtg zC1!%Z6_m2XKJsKJ#94*u&-dezf~2AcQ+7>B?sX?8vub8kU92AlF?w3T6jO z(HMUfVwV|rnZmG$(G)KVsgX$_Bo7zziyrJDesS5_YDLykDK?1Ic~Iwj9`Ka4R*gda zthPbcFk(hI?0m$302<#p6jF}--J}ELB>IfZfc1+!&tftkFYCK52*8%TkTzuD?IeyT zbd2LAn%SU7_aeXt0=zGQ!(5L`K-0Vfm{8@_!R*J`axclJ2@ZCU*3aH!I<_xYLzI#< z9G0WuNXz6e3wtku&BmT!JHt$oBrx%_Wx6LbNb}f;<1^Lqr&hG)SmyNR^{PY#;lYPZ zF|!Ymcm%uufPxoJoR9fIQJui$A7#XUHw8(auUBNvbN>v|qvU(m=yIzpxl^w$vxarC zg|IP#m&F7wuUEr3+pX0rQ0cFphNT~0^n}Cbxm5Y|vly)+LHumKzKJ620nN}phJpZUVpS%y8DsO-#8)Sly>+aOhtcvGy-&9> zyys0yJS3x+ci{jT8bqsIwn>YzbiOU=dt zKa)Yft7WHI^apWi>q)sJtWeEcspiIc;{~I-S>BznmM_${ zTBEgP!U3+tB-AlVs=>Vo5Aos%FItgi_DhuUV^i|>8t4`!y!L|G<0xUVMQ`vs{PPIN zpC@&{??0x$5eX~HY9BR=?pyfZzWgD~B@Au4s>{s7id?wOP*V##BQv*_F(or^iwGnK zrj|Eo6wA0Wl5Tbp^6sc4d|KObIU|jMMDC{^CeEbaRR!qXvkRrS9ZlkT{UxmW!$T2{ z)gT)jG#q9Y_o=I{?!l7^j`MC77=--!+BP&qNtc1gTU;6d9sbCOa1}XU8uZn|!ZKON z626upH)L>HO!}?{0W;u|GW+5Q;r{hdys~#oYEU&h8l!`M>wK}jCk~~&eD{7=o>&O0 zYjyK#$Xk;sd47^TH#;!`<-zm0)}>w`WF&ZnE$Gl}E;yI#2hQ}*#%jsYdo8RuyafVw zLiW<1ZIy0Pi)n>{ZVQwb>cUk1T(4EA%2gxvv>In(z}6L?1dj|WtE=#8(M>S!RLR6!ycMXa{4&o^br&Z^teX55B1<9@ zjB*~Gn=mg%P@&p3-U#5>!f=4w%{+ezRGmgtaLRD|NakMrS42tK?p^zw-oRK_hF0d_ zY5d(!0tcCvuz0rs1dQKn^UNEUHCRWYw3RJb=;Q$r7f$(l>{w++(sf^B^bDCmlq5wo zhS3^u{%xj0CDbNn?uX%&dd&(Jg*pVCd+|6<4i9U8l+m@ry?1d*^+iD&GKcBs=&41P zejt-_RB(tgfW9s+_58E0sc3;S+*qmxi(Z=uNHM59Umw0fZSLc5^_j-HKF+{$E{83~ z_r>J-8yW$UsrgPb_cp&)ekb|GC;;4zjYW*@NEo8P+j|{5et(Es z-Qd1F^<^FmmLBw?LbwXj6S%`DW0l9Ol}JXYx+=}^YX@XT06lEt=XdAfOc)6hkc zi}pb1AF#(hAcDj?(R&_uPzqvoU~|Fye?LgtqC>H}ZlGrE+ZIF!&sp}Ao6Tlz?a&tF znx;7}x!)Sl1;%D6+8_k*awKUsd(%g-hza!K*!a;JPyBEu8{hb%+=*a15i%gKaB}9aG98iQ02XTGojjdV# z_PjV>8NcsR{KL!{WU9yo{{vniN6xMbA*a8Q5&4gQrCJoHSM$P{f+UVu-N@#=zuWUI zGg~V1itBlD`Xt8i`#3vNTHk;3mSVogdVZ3b+i1RKwiQ)GtOjXe_t*ELYaZq%R1=s; z415)*a&kcj%c1q7%{~cGTY?e0_PS6$vz*idt;E3H0qAnX<=+jMox34$T^6G_VPwsY14d&<1v^0|U&O%b2o&KAu{*gT%I6rte z=dkJ<&V4a<2d?w&Wq4C|gaalgh@xOnzO|n(pEN@kM~JSt>|)sAar?a!=s6wkNiQrd znFFYhyl2gQy|kR41c%dkX11l#eFILY81PtgVh)R&*xoKMO220pR_yfX({v%j?Gp2; zlHt$4)Y-k(lfjGMq5DS|p`783%~|ZS`0tqtaasMSyB8S` zdLH{eGahyM@BDhHhNfmnPgU#N22YUws1D%J-%iLRk_lGJ^BO|R zKh;;K3BN=d7#U0KE|+Or}fyS)To+csu9p-5v8Vcld!0B**qgGW6vfVw4MnlbYuqhYE zzJ--dNc=|lW^c|zKN0lt{Z0=xa91@vBZHcj1|~-6869n7P!c#ywb?)f%vU?hxfWRQ zE0NIcTZeyiAHPqAB&a6z?=9HGv#vzRSkZ`yO_9gXJZ0!Y3n8t)b2xASYM&;NWqc7< zhyi^$Ir{_?7K!AlngLnSYkiNRx+&R{yLRYS8iLk$DL{6Bw~8FhUwl{k0TAwGP41cT zs{7USAWHyxV`cy{J-cj>0`5ZwzCsI7#h{5KP7ZO#jxW2~9eHA;gelfn1B#CZ$|+AK z`7s|R`73?z1zYzHORimlrH@J#6?)!U^&`V6-k%sA zv^SxR9^Cjqd!Xp}eHz=uJ~vCDhbOi*?a2R1wJGR02*W!OD8oJ)t2;iIbH#za=CdY0 z+yAMKpt?}R6PrblaN}VH!@*n&|2@9MgNr-Nh9Z(R$*kp8o<{Y-4AJN1=Cv|~DcWSq zGf~7yQRDHKB@EE8qV{~^E4nNXG$EO2Z5N!(4G&rf-zFRMc@!aYrI}w8Bb+%&5-SfJ zhpfjho!B?ErLFuOVS|IS+t7&do%VXrO`Ch5YC=YH*b*WtDCEY~uNl}CfKI)s0G=l`k=MB5{`HOE zZ<~}8nGtZ=pL)`J8EF;-nsLQ-S@t&+isfPR^Y~3mz%!KD9Ka@ruH-d}P{BNCkctqU zkPSJ#Pv6ypM;D}9(bS1!gIjlOP)$q(_|1Kz%xnX{{=A$)jy+L7iGa&uXY)D!8a{OyNf=oVCssz3E0ft?^%$WP6j~62O;#kPcgPN-xm?dMJ8P)I zysfR6p6s9C`;vh#?#wdGR$z@XVzG1y`+BqPMur>vXh8nYjep~l`L3&}$AZSI-#z9P znP)n7#wu`of|rz!7<`)%OFks(A0C3@1iPFg?8Y!9^}9ZWQ+-OmZWy<>jpmcyR*!QsGH`VOU(QlwfL_^H4*5yUNNWyG0@Mrn>Z? z7^F;Iht9^-+QcMP_sS4kCd9hQ$$tLSMT;l^+X0W&jzDq_Ra9$|j65ay(PrDh5D=r9 zs!Ww1D&$>~htrlO@o}{#uho8&#MX$?SY1+{DNf;X$f$LaTn>wO#diZVa+` z`Q1d5Y^n(`-$)TVMLI}_cvbb2=ELEf8uBv9Beu8OGBxy~VGyp9k}zGSeaA^Yb~L?N z4&GO+N{8ptv#_J%c9}})4qEn_WVln?29rmg=7tHo#4Z}5MUhm|>ZO3l=$Cc9! zwK2zhq|#WGy(|#?1x4K{!rPaKDrY1Qj>0`K1vDN~R+Fo)$VS&K#e!CU7?zW#E^|n| z9s3*0Zh@*olW=&kCON^8%q* z*k30Vm~MtHJ*`FpM*+*iuw)Tom=t1`Dp4Dpfxtu2R=LE$$xQc2fUKF5S3^nPcvT-_ zxRp?sgewof(292!=SGkSjkzjLMN)oz>4PXSBlzL7qkX#`lvT_3)7R+1%j~qI7!0*?b`IR1l!QSDY*<(V zHTJ?&Q=(=pmZ&7i4$3IRCnSSckrClr6feD&?SyQ+?Q*^-2JE`Jo;yjPPcb>npD-bF z@y*jqJ|Y`wxC><7OqhZn5^D5H1TAo-xVbRb4_r91sE&17S+oM8LiLQC`82dbmojW> z^_!$%Q(LjD@!EUO7hYWiq8lxBWel$ES)95sXb$M7_R5qI_;K_@+KO-W0AKx!zUFJKo6VO7CH`7 zZq(Zae-0ZQcE289*TRZ#OaU;s;F(J1)qWI?oyvd`-M_w}ICVzEI2=x|?>SXXyYAPn1GUlGV`V(#C~1bbPuaYL}XS zNIrinIZ0-?iIIAKkROM^puB&*aXYkBFEpR@ZhfDNPiYX7-(l;Z40z^Qiw`NbH+t&h z!`0!X0fgmxAG6{YqCr1Dq4(O>7tzU@`+6Bi2;{fWmuM*u+cca1F}U1jr>m{s^Lp?y?E96aC{r(a?|*6J-%LT1j4L$^-+Y`4<=ib9441bt z{3QpHHPL>PU52A7jOEBP(^#cgs~%VOmc2ONQk#%~Xy0NGfg$q2(SU_f8~YzYUi^(T zO)|)EoKdY-8AK%oUrJ;CO9GWBDUni(($WG87bmQ6h45;=SXpe`9_S3$$bT}GKx|%E zE@^AVuESd&Pc|}$DcZ-Y6mO(x`)M)L6)esQ2ZvbSAg`>6rDpOEtz4eYVg^HSG`I*c z(;2FtB`x{hh`3sS3gpQU+YUtDGy zy3NB%qoPuT7z|?=7D&vug!U`Mc%RHvDqo&&e4fZ+NkYuz`m6t}d!L|W^JyY`Jb2N%o)L(SP!j821oKsh`|Io0B6b`~p%k1~uAjklKW z5mnp@6r5Lldunua6a`w7(4$(0wUDlRSG)eQgqh3LfsbN_i-oltOQBJx#a~2Q-}L|E zRh&r+JIL_mOy`TPi8aXAC@=v3nBtz9jNZ8LdwANab$aT^j#}GN-IELsgT-i0L&@{a zwC4NzjUA+$Btp+5rt;|~*=G!|^W`c1{g@V(loxz*;@IqVF@AUkRsV-#=T)u+cH_wB#TvK4 zmHAm*TJJ0v%t_p<6%Q#HWvBv^dM4Q2e?!!E-fAL z*@K^ocJnT+cV)njd7gseSH9zvT%%L-F~g14;px;xqLBWiLY-cYW7lmq2g{M%_XoOnIv9CLRl4-G}aoP|8oH)qU zVy}q0;&1UeVdW(vLPXLfhF2@cM1M5k}e~-*NPk)m^=}nv_w8lz+ z+jT(c#*!eStoU6KGDXRI`l{n-Fx|_?QVixQo#sBnPo;C$$X1hNXtfhf2$U03sngSJ z2Nl+gF0D+eOH2GK$FkI`wx9p4!}+|SA#|{vx}tWR{lnUxub_E75vO8hK{3xN5nkWz zhDyy+sehIlOWicLmy29!y@?rRt@_hOaupE~&BFT2#p7XzfAf!W6sj&uNcDp_W?JJx zEh`VIXqJp3?cj)aWnyc4-o;U+f=VXG@W#MW=lp>csYoM54*xQuzwzeEdMLOIO~G#3 z3PYg|=Na$SjG>m^HttTwaFz`?DF5JxbBJW^r&ADdqYIjkx9n%n7@>aQ&*jaz5img7 z+S$J7y1Kr&BT}b1T&F0UA5_5*X8;giwPpiLb^3P@c}4|_ua+MLb<+g%to>{fju_ev z)d?fI%i7w_Xe(fA?lX2ZyioL$Uy&rES2QDPOFzXYj`c0vBE}P2mDpds9_Qs8nVG$3 z>NLfa-$?699r$P_)*T0^f9_t1K5FD3<)b9s{q4YUCP7sUcGS+jlg7;QDwM+Sh)-i& ze_m}5sWJPW?OaQ&oF@%`QXl`3>R6zb%O20{M?XlRnvoj}oPAg~zOj=4Fc@jFln@4ce`Yjj1wF)4!1kH^}7S>jA{T=e#{ z75d+!5Q3>=t0s%HurusbfkjPcV}HMlhNd-J{Xbvfb^?A%>Xq1<5g4Y)2u1+z#V63v ztO!fti3^0+cK0_`a1~LwFU#sU=3(Y=TC)GlRwThZcMkhfEVG38*)!Z;*JEoLkAECl z!;cvakpcCWSXj)O&aio$1=p0l+qE3ky3e$SlZr$`zL`L?M!{eq3E2PpL`$|phaH23 zyPnC5k}N+VRT*m3-jSsGg1RT*ErG6ihbJ`2Aaus@5>OmSN7u;1L&+;n!MW!1LFF2s zfX4Uy(;&iEc_Vkk6H`ATF9tQ~y;*r0R%+;sLQH=RDyJqh?ZGq;UQ4qt!7{QDh&I3L zjpnMs8hYAv*oq00MUha70E2jO$dQxjd=tk>7D$|BVx_@6$KM|82LdU)G9S+f zZmAl)=anogr+@tWO-YaIcip5fv1S{oD%m}JY4Ftw(NR)QdAF}&O|?eAn$zQ#QPu!q zM|$#Ar@rlr+L3k5u}prUF<0X6_|h-3+jB(g@FnF<1}ZeR68&36jn!BVDA`Tzl!zA> z_JfU&(D5<92QnW4mt2#zGa=zI%ZK7)5m7bAZxn(?JbCOJW0Vzy%HHWkwe>`RV6ka* zX*zBq%}zzlVd$thOriNqLd7#plyLiL?_mM&gs(mqnJ9!YGxf~d^P^wBfnd^&&ru^u zpI&=^)}J{wHJf0(2FWL%#3f!bDvQjY8v;?5Fo}{UkO^IHD>LGW(Eq-5!y+f!X=FXN5ItdrYbI%==-d|B z*jZO!Ci)j8tE0d3MwC~$fT~ayl6G0>+kA)H`1CI5c)Z8nAwpd zJF(f&2^Ad*Q4FjoWDZJkiU&uNumhJ({Pm6<*#as?K737v{OD)5k=VEJ2-vs_V?bOm z92bi?QYd*`OnmR5_|bI>bH?7XYp;W|P5?h#EKZoKtEU|&oW*b!=SAsFsn2~x|FU=s z?b|G`%gz+-P{1M#_2%-CJ`q+++B6Am3%H&>NBJ3=9aAdz4cvTH=hgouz)+OghA0(M8Rp~X*8aeEzI-lA9i}~8c$b0?TpPjZe0;Y(=EutoW$Pd zan+~9FB1XDok{(;#;cE0g|VR+y)N*kZ`0x!ZSvF7r)w@WHe*@~0dKsq`0N8P44d(7 zUgpKrFALvyT|I5wqfYlVbaCDvH}KC`>TuA1#Sz30M3*9(fAg(Bp-#E#pL5jVYd3Rs z#C#WN#{X`(T*SS&7=|5lc{>?;QV z<%g84f=HDxa}7V_PP9nf(PxEe@H#O1cx`zRLfbP$9W+Fbg8Uw zY{J@sBE?)tBX-Z^*(pNR*i*yNQ)TKN9dAwxDOdp;L2vQ_#~Ia+pW&euz&9NQGyJ zKL26KrD62P4UrnpK4@Jxf?`c+efL@3(%l+G4u9X=NJSL6CJee7ydMjaWY7XCQGW?= zvcwVIEZjrrm+8{$jo?m!J>|;sFNuPYn)GGwy*&j3lev03L#whuBHy~v?V=tPBfAJD zU-F;sjCrl!OB=65kYB_d32W!eivkvzbwsWiYhN&mxq2~^o2oh;v|!6iBRmzz&zb6n ztS@RiW~;HOFCk^AvUGYjB6^1z+mNr#ntxWnZpT2qH@7J|4iUfoq2&(Y>ec=bm(?V% zgZx_&vGPwM(mI!*L)3ad<0gXNy4KSwi;LTv?vU?)o7Adx>e}^IatE1(W#hP8egDns zX#%17lE(;JEPOB6Bmu&X`ge>2S_4dv)4FJ(cL7)idg|LDJPG4EU-n@7kEOp5rsID0 zX_V|V)kj{_djF9Q^q9^*{j zc(pT0lrM+LZ`5a}SU8&lG-tXg0~i!vAMS1E7v;ZLp|}&XLFp~E3Or8X!u>|El#Eg_ z(U`CywicN@8!=X3kUZ5Nm5APF-9S9AR#xMJc+xAtnS0Bgy#9nSB}UIO@bY9$5cV#- zys?yF|hnyr4-b8M=?6i7agHK~nZ!B_3EERi(@R=fs3dvb?Y-c_pBvBcH;- zHFTB4Dum2^un^d8se{Wc7`Q<|phU>vC*bT^ZqK18j+9&VN_l zs0uB*^6|NMdzl=$qShfRottf>;1v*AQSoGXfOGpYe9X4&l5+{Ttdw`M&o1HSxx5fM zEZ{n9a$V+a5k^WA0m4>q$RvJzMo+~;r_#(3cBI%ot`~z6gr6@D@6qaEoF%y1)HpXW zUEKEFd(HQ8Tj6mlP$%$_>hHe?62|6mn%y<(GXoE3=EUr{(gmF~Lkrin4nHZaZ;NYs z>{+bUc(A=V)sMz6MNU%BtyEXO2kT813RIgf72OHGQ?i$mgYw~saJ3s;e>yvUF>3bx zyU9+`q2ku1r3wDUI@m2e-%%97gODIq^_zae3`Ig{I)6qh0QvpZc93V0W^a^e=N~69 z$hWCZy~+w-GQ?J{tatjq_2X`Ub%bJH2+5SAo@BDJD)WT!hK3lZEG|sq-~RgF8n%*5 zB2;U9xd^QEeZpIq>`k=o9$4^T@*u^sApx&I_#Tt+^xikIEl_l>PknnnK_6(h{-_*p zVjgnnVSvPjXg9XnbM2A;9*3$@vng>mz5KE7KlXOHQ!d??BSHqNmpa)-BxA~F>1QF} z%c>K+eZbfP`J^58YIuPO1E&5eg5C7Z$l~$c4J)@JnVyfBZ>|z>qvF4jt)bY5|A6VJ z2!bTsKDq)rH&*Brz`Tk{Zed7UOMbPklFc(VHF+pi0Jygu`6>PfP(iQ0HxhZ}b+%w6 zrvxkZl%uG&1wYpUKO-1#?5M`rq&kd_*@-Fr!;sn5$j%#yej#$dGlusQ+bzcf2iPFL zi}Jz6SiYxRl(-$yuLx#L|F>#8=4A~uoN3}NdaGJRR|X(Frwqnr#T+pVF-^_FCt7Gv6t%JdbBV{@^XZR_*RW&7~R_j^noYejuC{`<>19GThQKGVcos6m9jr*%sSY=Q|*vs59OK=344 z;mpx&Y8x&X85sf8H`sGwGH8&E%@osWYyl=0?m$daow#E~9d{g}hK&Y_8ethW+~ND` zC#3r-ap7-a3U|Q79fJ>2=}295b}XId6CH5`iu3YN`O!xR`SL3uKOc3wcLS-JXxh33 zn4I2e4v0SM~xlOL9Nr@v&CY1AhkQ-P3Uy=wN0Dk z9=j{!=8LSRG&oX`MfOZE5R&iV=pvUBRQbjGGlOWxaL_SlCX>%OY7FDwmOk__-iXS? zk`pe({3FKV=)L8bGC00N2EfR`@ip9ToSz}2D_Ln^K(ZpY9QhRucyD!{*fCsbWZCSm=KAJrw?yMcBwWDj3!AaNFbE&+ZpM(fB8-hcgfa0g zm^Q2*(o$^!iP6nvP`@Z#%x(H0yuL6SkNs+!e(Vf+r8d_8`;4u!jG&6gDrsQ|fZBBZ78wM?3L zdt>y4LLXt4))6vb08*cS9yMQliP9&YK;w=aJiW9SbulTJG$01|9FvN=$}+56xmP$0 z+iIin%&H2|$KwFO$Il*T9~}3uMY(wTXIt>Wez%1=B`)8;&Kf2XPHe=bos}6^qaHRh zQ2k=wL)!x)MPukldy=j9lv!cxku?50nYajPTWi*~>%=}(u-S^L&ptzNZ72{Lg)29H zhGEmkq5p^PB6R3bgucCA1R#%OHvC>`+o%HO z?pot#=|6NR`rmvrTCTbp#qYg~8~*zh>Nb6WeqUE&`;YG<Owki4GCZDGdi{PrO+5RIQrNzd+6Z{)aX5Zoq-a zB)qwfmFeAxh;3g_dg*EnIWc`5(?5k|XzDi)h{vgEcsKmIWYK)HAj;RA8F=Ak< z-MP|!W@gJ9O3A}=ZLB7a8j7id>dLyR7hhKWPs?alIZco`h?n6#4MX6^}cPJvR) z^A5BLa=r&0XlBPf9s29;aANy0=v1t<5Z6LulU;sSPAHT?LqmDFpaq4T_%||w5PJLV z7<|&)_I=x{9G#ELPQlV8Z@fud@cu_81^qK#n@nypm=Ba3xE>6SSS9t9LSJxHB+@Rs z3@I01jEYxYLFHR-1MAkodc%z zN?(nv5ZYTgSUJ8;t2DxF{KX z@Zxc%s1XRz7%+I^g~x0UkBttGo~jjBUV+j_9}$nenAQCM?41R4R9DxAcRVCmg1bvw zC=LY*^-}kie)WEJ|LgAV-hOp=_fmJPl;ZAA2n0)r&cB{B?BV7zn#@e>yldT+WRjW8 z+)dV`VSU9zQqTHxD`|Jl7oeRG_%X9vm4FE&F82}b@{ zkZY!#k6%?L<0VnvnqMegvsOuuhRdW^wn(4$P0VLz(PKoLx9cQ{GZy>!wmbbV5oz8a zRR(s*k_7S25#YdK#7W{_#dwejQX|aaj|!%+!^NU!D_EQKdsHOr70scg*a_|_0wQP9 zAy~6Hl?L8FRgYkbez6AUjrWgj;5p0B&K_Pq0HU;mV3TR^!lxUgh|1Q z#HYZIV2zSw0sg33+M5|`kWi&pEgHiP-C#O9eXyCMMoI3ScS+HV8IrhiwMeTbl2*9Q zeC8=jP}xkB(&9p6J2q|!J^|fnE7YeT$>N-UL_mlA<#UymmX=Fg1fq4;=GkI#>j7cI z!;w=Zg~~YZm8DhS+_0c9@&pnZd<4s8s#ZRmIK0BDyx2M%k&O;22JP{thY^R2}|ay3rgD|FFO)$k1p`&@iw=V_y~^ z5Rbb_(l)v6_&v-bTEDf(G_e0-W_YZZ+^xm(>6F#xz*zHoye>z_CczCEs#}NkZeb4I z^Aw*PueT>u1E&pIP@uAEIMSMt^f1%~IM}tqihe=xBzLI;>%~CjZs(kj$ z`*P1xpr zgaG8(pB|Ee-n}L7&O0PyW~SukZQCiBPzij0L52n(kx;NA6{d)n9Jm|)`bcAe)b8D- z<*TpA=J(!{W8eN-My#A7yH4CB{qDL^mUV3-GH;=jm3aH+ww8ov53v>a6u`*)Zucpi zEEbTTpKt6hv`+R6&bd;+owUx{+*ca&3WzpHlcAu5#!Xz=%0Xp@24S?6?@x5fg5zQb ziXgSTtNkifrIqiNA$1NgbHaI(XTAN7Y+bV!Dd9W)8`=A}Zxk@lQG?sRePeU*o>$S6GT$p7%8za<4Z5g;Fn*OerxAQFVAMVyr)+Z9s0^GU(7KH5dQ0}hjf*WWvgUMaYK1! zZmF!v-xl=s8`n#geYejXQCs0uP10&Q2bEIx2o4@sS||Gl4j#@L=Tj+sp_)r$P1od} ztx8$diuQ}?{ltAu);=1ap`y0JJxI_AcW>L)AAb_b+D%FllVttjhe`VA(XxBbo{}k_S&nN-`oBqxRZMa<05eis#Ok)#sio zh3DUjCYB_4N~KfhF0y5um$n(MPvOs2IFF2s40A9GN@avOuUreDJ_Y+ps3C;$koJ#- zt%zv=qRrZzSTl;mzLlJ92a zn1frqPuqsFXXnP!tZ21#X$GL=4L0$r;7dE-KkpNJ5$?p| zSk4iMHjmry`%g}m#^;?Y>4OK!-Pc_&2{}2k`qVF_@tt?dZ8=Tk+nHXP>0O6+lNQ^S z$yQH_JT|pN=C2DLd;sPQO<0sGL%Zypi4Byv(4fRk>r^L$AP;bE{n0wHBOI}!VEz94 z?{eXV7aE(z`@7(R3*_#*@2(Lv4%Q+2GWQb!E%#Sd*$Vd5lA^%(kZP_ndPA zGfiHU>+y|oq5`|{=%bICsxI&C@y8#RQKLph<+WqBOLAl5*mFbE?|~zRqZSQAp%*cd zp+N*1>bw(ia+9!tpxE#_%8PbJpEyNa=&G9h>8~V-L&WYkZDc3 z$iqM7%YgZlxA$x`kzTz*8xEar&cLMUD>uupbJxkw^KwmJ$G^)rnFF+LlpuSrSz!7` z26fya#Ty7vt~gHHqn&IiEHN7WIs|cjezA<1nPU!?*Y0iTN%2y(dbaS-rRH-`zFeQP zR!%?ATRQ%7+G@Gx6NUx_$6x=knEeFG(h6Tqh zmUBS<^Pm5iY#@dTgLVAz$IH=2A1&j?jjPs<1xX1uL7X&|dyGb(S4C(QN=0B@K%vr2 z5Gok&4ZDV&;9xy+t#ROR_NkPR*r>|hFm0A6fT&CrCR!QKSn|02A-!KeY5V3IvhJE| zrEtm=x%cH?8cCG63NuQHEyYb~We}=pu@S{(B_Q>B(#w;glpjg@uxH-SsBpvU^H_Y;BrhrkW$0%K`0) z26F-i0+PO6x`Z?wy<0aj!N4W^be09H*2~+!OqID?Qe}Ehv8>!!C~r?(VGbJ8hjq>} zuRF3^wlu3B{9MtDe&8<6&EX7msE*89y+x+1*kq0;eqJOk8>Y!f-m{rGl4bsvUK^Yv zjFviEO+!>p6e9=skZ`A=*2xNNJPA$beHP7RMYt3!uAfq&8#mY@lD9Ev0Fqu*D7!Z- zky*zdCNjl4w{Y&f`O>Oo3*$VdY!5VwUBN`KCiKcsu$1Z(ZAxTC5*Ojl1Bw@N)~%CS zef!FxZQ95|kKE76m-!80RCEsc+>wL&NRO;UV<)JhJ875xsu!UW7o0EjufF=q{15H*i{|=$?6Jq>%rnoFefQnh{CvX=HyHcz?6c3Bsz|jBKrom%w&ng= za&m=xH!3nTNV9=BhR$qYux4{MS2F54dUxG>kCY?`OkCL$)u$lO+do&^4MiYdY53qNbz=Q9n^4OT$U_e zEGG}~%8G6)DU)$fwYK+ntleBBKh9Za4$!-G1M|96Fm`DfTqX{gUV5BngrbZt-rGB_19l7XP;uE78E% zv185q*mKW4eUE7dp9)BI4nPR}-H8c*6OLoa>(&Not{nlQ+K6C-NXbT#jnzS<>OiXg zJJ($u^H>l3a|%;XC5=_^6HdmH&&%hhvK22L_fGFKB}JNCf4!u1>LkxR_^>2-%4A8- zD7m}iVaApqvhm-c?c}a+=Y?e}hIMOUYz6j_`%>*A_F1pB+KNEca71Bz!_NYv(G+q-+lL)dz$}W9l^baeRZ$rXxfT! zUPmclR67Yk(#CuDNPj3PDiTRbk)j3-CGX@5WJLeLB2&hj-)-EyMV2pHY6ASCLhrRG z+D_T>eYWk_$Q_tehJxi!m?9Q%Cob3{Su@VW1$GlVq2feU-H)Ud+uprFdbH;VzIjl(yke#$n{tx~t zNfFK;jEA@0dMhgD0$-TD?2bF`DEBxC5qydoISD3L9u*3b&Wa5s0`}R*aQvxIH+0}4w}N0w~V93`DC-*r-%3Oc)FXag{o>% z&6u|Rc=DG;(xO3{p;PU%y@HXxeHw8fu<0M)zqL6EOG;(J;yhoIJOdF?+4_C^-@ZI= zstIy3Q!-}*N!X#2b&z%T8Fu@DRbYbgW;x~5V+v{sY05Hi1s}YglP;j;Zw)rF9|Sa< zckUhj)?eR9w1p{fUMY*mGlT8ScoIZvWdx_0HDc!R6c$$59D(E`j*z?+DPL0$b{&_qnShJdR_? z{~=i6InnGJWjCW>nN4jrX92@)1i_>; zmFC1|8Ave(5Ck}HCU@TmHxf}Z&#z1dQiCV{A5m>M=c;7oDp_{deL|Sh=+slBo+A_P zM8otHIe51g=0F{0^3sha7(p_ZhVZeAHkjkyG4rHrvrH3+?A|m%%5v73tN@XBAgb0b zEgQ+Mts2OMdv%hW&4u28VP39`UAW#1D%1)_dUB%d(aB5IB5)ws2nPB}m?Oe*{eh+O z&7c3ugcbR+pdiCgwC1keYL0Ng|H4o>l`8!H&$P61jpl)-&|_f8n7D%vcUcuD<&;xS zF@LlF{`<#-5ASb1XeFkmA)0i}Kz2emWN1QEJ;>DQ`3iK-l;#8iB?fpdP9z7xtiQey z?1Y)qQ^6_P?qP@gpQ?5oxz|}EoL6W)Bv0HK&v?!efH(d3-+xQX!w!>X{rk%$H{2{~ zB}H<6ljd^L_rXOf!nGC7YfX}h&#W0wy-&0{g40EH)g64eZ3WMxT6)}Z$C>+!fHvB2 zuL=FRy4#9C$%{1=$iDM)Wk|;?Ney5e zwY)p1W0pCt*{)CpO^Yf6(z)|FO62C__AupI9aQ-7O6`;zw=kLKTKBi6JEr8nxl4jjTzwt}@uVnB!Jg_~q>_Kj$jfa}6K=l`jlh_r8n zO%taAdGJue6tPAi9=9{&8P7Qa*mKS=R9g0egdRPl&2`tvrMKTMk0l&0TRV1%iLJmE zD3wa9$9!(~1u~vg%lH}i| zxID97@Hx15!mWTrOPC_sYtuOoC=^vImWd0h)Fhy(YPo00Oj?>}lBYZBq5hGT5gBz% zXA@;+W}2YE?MrDdApxVmepG({zyJNu^niT-{r5&WGTKmE;Llb>%T6TMmU1Z%{f-#|Ot)a=lMJ`D9~s>HUaR=84`9&dtw1 z|Ll{My#O*;W&H+7 zi++7X=1n)%4yWQ(Nm*$*#j71ESe|lgCOeD%sXS@Xilkp7vu3E;vc@)V+&+)X)i)9k zVTxGI1M)}J@|UE8uH@^(r)NhN#)?ltZ`cRwor1Yci! z?KRVzK?8a$f)7Aa4yxXdKmI5uo_L~f@8RcDPd&A62O!RJsa7%E&Dz1J6gY$|Og3-m z7txf?_ud#3UrqZct;7kHH*_x#brAzX9IsTM^lAe)in%BLJ?73!0Ayo&CyS|wx zJzCT^R4o&XbnO~4PI%+fpPSOdjK{8RWFNXhS*tI)4mbbi}sDMA*!v=%%5AB zBG!ZILIL~6`J~DNcRHL34x4SPGM?(-_@hLEhL>C-jV`?}ZnlDZhtEZzs1A;s4~}{r zb2wB)0@ayVQlSvSKp~I+dDBfdnd?V3H5#fmwZT>>2nbng>}Omve&;Wti6Wyvr0=!2 zZ?JArxnLtf3W|4rESL+ zOk0t8K!Fk$PTG4#5*M1VR!XG5#2}TWbz2JKVk=6wvpe{Tt>Ck;FSz?r=^y>h=Ee%HgUA|G~tl46Y z|NXwiRl#TzR>t$_zOBqbmWbhmhMqNdosr7aKnHYho+x{7T;gqzZ{5&Wf{sM_YC!wO zQ3*aUpw8^7n-9*01x<(hj0^=;kY}EGMn;bwEwKVY4m$p1QMrz2{Xg{3LsAnF3(0Oa zZSFt4cA+R&I-^174#cw3;JkNKmet)i!dhWn@>#+aridk=7P1ydq*OGC6U~e#6=be& zAO{CKanG1}vZnQ(aj_LRH%jerXIGtka2!UQ4ONY#Qo?=^t3DadC0WcXue{PYU%Uq# z8-|$HL~t%yFVT1%9U{rS$Mxe{aNh;974=ff-}l2-PL;n}?=Hm&Nj?g+v$El@+OebA z+!LVBqpaNfH2Y`M4I&GcOS2X&q+Y#LU*8CJ3OfP=qbh_cf+=sYCsIwS2%?p^(4Jq; z4;5Q~NgSW8*c4s>QW;xOR#s*LGxj?TKK%8gaxF)W94Q}t^pPBO)KNx7ljrestU%=h z76royNs<%Dk}!$ZK-n5y0pY~3IdkJtIS5BOQ#S=R%!)3A%DiWH-v}IT9eBul!;ps4 zH^TFCZ@)uIb8;lPV+YB;=IV04hii(H&T+}!os4pn2^!|CGxI=bIDa*FnY=n~nKY`G zY=VZpx@Jqm{FRbeS{P7|+ejfc%QVMX!#fzN7K&6q%~@yEwVV} zZI0_lb(PtxHp)A{PLpZ5BJ(zs_?pe1|6_?{XCNQk#BeWP8M~}PYBrIA`wfRndF6qC zAz?G8yh{@-22)ilVhIc>K@LYvhtnCT%;u?1v8uSySEcl)V8I91kb4s+8)rY>gR$Iw zBW&Qm3Iye>0c=C7r4V5H+6=WQW|NCINglgA~maTwF!QK=~ zhL~#C;fEhC#~gEvJpJ_3=AL8^i1pxGGN;h4Y6GIx1ENVyss<#QoCEQK`4tJJE(!7a zUIs={sYg<`2Nuq1M{4rU)sBFJ2!qT4N!tE?l2cMm1zh_^2t=@VfTRnVe(f8nia;b5 z^MERvxX@;N7%2oF{(64HwH0Q_OG1LwPfe<@ttcxiGj4>VTGD4h0ulZ@fT!zj%W8!{)=eptQx$k<1&}{NDTW z^}@|Er_a%H*qKL2^VBp6mVa#BC|yn()YcqKAooh~t~1o9jRhq>DPHUyw5R=&a}1@5 z=LG|OB}eSu(i|AszZd7p&-1*E>?`uNnb+sIUFMo*a{>{1Qg#hN)#CH7Uo>Bi+pUq@ z)~lCn+E!}jf*7jS{PkvPI{hfoRK5yFQ72UJ!S%f8qKk}k#!x_Q4(7hE>JoT$g}*hc zhM09xne(Qv&8Ccj=e`PMD+oHsq*G0;4!mhL8EhR+1P(SO@JRbc;>qKV7Q)SVaxJkP z1eg9Oa!@JAW_sdeE1>T1eyDr|3qG**Od#KHzy0K?r=Ic!%drkVYBFL;!BScr*NkEGHn zqCN#{Cz`bLU^FNEoLJ8T3MX;F!TBI4Blz%_REoq_C^FNMDpmO?+8%ra+h>?WPH))T zZ@=veK5B!lh&cr-+Qx#L8fSt{n2m`|FjO{^O_~i0x>j{ifpAKBI%#7B8qmVDZ$#&f zP>E3W3j(K-1q)=uV~@%A1J97j&AZEIzvN28aetbM0M7l0uGwbFcp&h*QM)!b2c_K! z3)ji}f6kVv>pZf0YnhB)lxGh5J9@UHzr#Bh1c}{13RM8Ut5z^>809evT1Mh`?mC&W zd`GkSGrujC<_(}~(T~Dhkn&V5N_{w7TvKiE#+YiLLzW1Yu6HM`kTElJVxnf_ukt|| z)F|o%334yH>@qXSm}c-;4tc8WaLx>>XaM4Dj#de25NzYc$>lk$H>#?!-lRi8X=Bdj z_elFjs+z|g%Zw+^KIZ@%$yd&oo2q4$Y{H;YTzg;_Ic0FWN>x4xDoAwsQ`B(+8%OZL zK)~mpf8Hi1s+g`x;6aw2*MfEhLeVpIrbd?zZABKW@ck~Obt{og>rFz=Uu8r4JwgQ~ z&cF3r0nwnv<0$k~I+o@XgchEb+@$B}X z!8@d|sqE3Iv6;^i2wabD&Fh=v+&w#(W^?Z#L8w|AOoRLf|Ex3zI_g6^qt?|#2Di&F z!6ly^!|9&AVX`;bO^oVQlg!kZtJ&b_5PYZ#O0eMLs;jP&pMLtu1Rpqz7L}9i2H1*< zWc3LeS!Zl8tT7x@0{mbZBQ{GmXRWGMHE&wq4-_XIj2da*h$b#7J8vXfJnm?L&&HouF!PpfqBK~)L|Hdye%`-FCdqxka6FWcawlBjG_lk3Jh zBVoin&Ypu)9?aHrow<%=(#uxju;kkAH9f)5rCPKK5i z*=UJw)p;SSLH1C2%2l1sGH?IjV5@YzvIt^8_Yo!W0#ioO|v6IU`(ygHGKWq!ho+@-LHNo6x@M=yLA~qAKH16A(?!+#dg@Af zefoUKD++(nS5%=wgAcA3?;+TR#NekBuArq@R1Tc$irNYScGkVpLEPL6EKPBOtq zIFuYdBcGK+`$kwV*b1C-0vNRwBsU^STm+g2R8>%#6V5)tBFQX#L?`3o%YT>4OCK$l zya<(a6Fp^8mXIXrQW|j*opU}QMDW41al~ur4O1E1+J+iI!NO5iwH0{2ye>C3Mng-B zEFPjt9pHjdV$;O2t`6B~r7oyEWJR)(+y44Xia!3teBbJxyQM|nzQ%B@S-ncOY}zCv z8#R<;4{0I!N%dviGKLD~%H(AmW!CB~=6L$o#nQ52nh8b*w@H_ToCVUQQ(zu9{T)a4 zX=x4(8cd)tC)W(;`EkxVbMVZ*Z5x_kgbGQQrWrv$pL4P~b3x{;*(zhEuaq&09w<7M=~Z*m5Om%M zpF7;XkuBeRD~V~Tl8})hEA#SX)rJky7b)446!8=nOF|X)#b_`@@Zog!J!NH5x^A7M zEnOxvrmd1^mu{z5gfJJCRlOqkfZoA=GNJ2U zsW{kr4r~HG1&IlQ5$-eABG;P41UZ>t+6356E|2_mcewbd(OmhX?E%$<19TJ<`%-&tc6Z zrG8tPyr#rR+tPSWwc+iFE9C8oA{i-(vR7V#?6Y;P8C2LXJteH5;pT%qCZN%(1$`Zp zmv1u1BR?*bc3JgIZwCQM|Mrc1M${j;j;%Awq)+lnIsC{DQom_y`E5Q`ms}aU(EEPh z`Fn*qxZ;sChj}WfW<&5n!?~GR5+wNGe!KVHd*$`lUpKTXvYHmrlkAR!uBjpuR611l z)NLzBT0mvu;B|5G2}IbS_#NxiT}6#2be@r0fhU^tM%1~&PTZMCUdOh=fX}t_to7qI#rIkuT zTAC!J@w;^MeQ8>nB&VfGVrr@+Bqw_V7{1~(nXfo;<=2@}K=YJ|r>IywMTO?;>Q$>{ zo8f9fit&)b1RFS@s zip&FwC3vp{LpoQ(pYIpE;XJS{7}hzDd4B)W-b*RD+NP*+}w>HPN;!+vEXoLJbFIT>snIm~j zZweFH=?QXlhZ4!$Fi+;q%L{vQDw`9P5B@$FO^$2Aj12~O(f7eUYEd=R3IYg{6xbCU z3gsLJlg`9OU>9@{DG3XA6;g4XIaA*a@{9NLZV~tN42G3=`cKQb}kq=M$GNeVCOv))T!vGhqTPiR9xzr5*gQi44qRrvXz7gd_FPcAB8Wk1E zxqTZ-tJbY$O>sT>W0ALSWI;~8nGeEo?--_=XZl_A-?k5gxV~(wbCGyw84cn)& z=bE75tLbaZfiWG_L7U^7NQP&dF%;02{L$pd6xB;jGSA7Xmn_fyu{7klI%!ZFIdGR| zhECxr^FR2J!=Lg8&KQ*s0!5uG;}4wEC!Tmh9)J9C`R=>#j00j3eS~8xv`>eigLS4h zBGkY-?guI%DlFixqH2>OcEukTJep9U44fHyKH`}@boPzB^ygxE<*!BN@gdF1WYEz5 zvaRL8(zsy%O{D=3i7oATwx@tftJjUs6Y9?3ub zTxp!NSv-Y>vSnM5+_t&B{9D#Qrg=)`_*NciTfB*gOa4jBk{cQimu-nD^7iom$R+E> zoBur{y_sC!>HyiAlqRo@I7P17I7xEL66DtAd&|svEoFAIE^^YYS+YDMTW-&5B}JYD z$?n!k9@_O`nXo!^a!Yakhz=%!LggdU0f;!EIALUag9RVF?(xSTZ|)l=7+19dV@*dO zpMrI(3Cci#KE*X-&9nBy8AM7SmJTG;3YW8rYUoOf7D+})p={h9fD{&P^HH$0vSEHM zEt3pM3Q++G)P(NYNtj~gN*>AcOV5fn+4QnB$&r=Sk}fkL=YgTbd>{mbPpL zj`JSrBvJ*z$Ka0J6=)Lu%kfc_a%ONa9Nb?xvIHO6XXFpO4poo)@4sKZ{q|d9R4iiW zSOlY15J<4@RUSESYgdcnWY?;!o!kr_4 z6UsTEQWi=e04EI|H%<|@BA!yDb&0O2`+XqAJPjns+$&Ws6q`cnkYud`B@oH1L#b}j zyt$-){+aLb4IA>z*SyVJWc|7vA9c8RyX>w8ApUzm{8vDV%RGijfxn{nUDE0mJ5@*G z1p;Z3xSUs*3nXy~#z^4Bd)|lwzfO};TxWm(w<3N830`~(y>qPKTWfZJHP6eAiHxM_rQd&Y~GubF`_Q~J{o6+C| zMrx-l#@e;z7EeXF;HuWe>r}Q8%LA3_mRrP=pD$?x21vt`Pd1O!t8r+r7Um$!!lwO` zqdA<&o`XrL13EO4UX9D7bJ}J(aQF^GiqT-fD*b}Kk#1>eGHj1#l6F8_`FE|iZ$#Cv z-kY@295meR*=2ix)3u2-&ItVZ*xYeOIIi5ki!9EiF@BwVH+_{%U6{xV9RL9U07*na zRJB!B<|oKIQ#QyuQzn^3zW4SyCiz9Ba?K|*BkK1E)kx}|BcK@^H5>pV>Ti&l?|OJV z^3qE$$sKpxAzyvEm(F-<&K@Oj|7lB?;2AX_{QTd!o$x zXPm4=F(@-jZv81o7OmeVSs5wv!pVJ1wG`xRDU`F{oFenqZZ%1e7f;#oyYFVLm8(9Q zX)?F0_eYM~)l_Z&n4c?`yzdQ4;8{O@d@q?XYmVIV(^^@&1-qAQUT1mUHo4|w@ALb# zZD?i;Nfd2Gpg97XxZp8@-e3U*`v3|yIIvVnbq0+^Y-a|!!D9rADhZ2&7^?EYwS!H; z-|(DJbjXCnL`mJ=5DuC(Yfgzwh&Qk~$%!5*E=!OVtJX;4^j3bW9f9O_m729Rf1A1g zoWd0T=vncCzj;8ci9mfL>XgT-50`6(@2KMq0tFvoO*nU!q=;zD|p7U8MVf z0Xrow_?h>?ISN+Qo;`cE9Cp}Ya=`@`$W1rhRA+*ZYE=Qzi$(^D%v&fU0Vs{)JiIg*wy+a~t zI44WOy@r!P;K{k*u|QNU?geBsZ@lqF`QnQ&%=CJT_;b5;z!d=qv+#mj`sAK`Pii)iWXXXZ+assHz*sjU~WxH!Wo+aPU&JmW)$vu+f@LhMEn#f)IWJ~LMrRG|!+*l}Qz4@;!U0-0N zZC^UIuXJtZJ?EcISuHnyKFc)a9CmXmRz*Kyvw zc_#Qc{q)mK-$z{vKB`3zh)xvcLU8k_Y-FfxCV>YFfhMD1L!TmnTTx3JQ~6&+*gPJH z3$8OqaOQ&ztP2-K^XE(6v;UJf_qsxsH)t*ozBONlcFL9gdNwnXw9V@8T+ZWv_G;bG z92br3AU}+qEaR3J$ozr~qfn)^s%L*+;*;YgAQ{-Pv81}@jcC?y>EeY_wr!gn(K=hs z+`YZ5E6p%{BLoh-*2E=w=6K-y1=6Ki#`XZm+ZgZe8&ShW3E9ZoikQjfRB?C>UK6J$ zcWY#W1IcFMP(b^tNXb^Ids^D}^~`K<}^|1D2e=Zi0hq0({77qg86a8#d`vLI(`xdCsnv=y51#dfhr0e8le zFkBTpg zZ&)h(ET1e{7vEmazEjb_7C84P_h+9lVS@QPY{Y;5^B=kIzWb`YdB4t8K(tYt#;S0e z%~ijf3#uj6Sinu$Q7$-+gPRME!^&gMa%5$I&VKH#x0!6no++E;uj~#cn}|Fu2WJNA z0SZ_IBvcmsDe7dWiQI7P9>yWc%P;mRRsFFb*CEHdLK>u@RFy6J^=xVstLmpEm;3Bw zj=l3nynQ1>8Z?l@4{R<)sa<5k@_h4}e=pf+8rc`*ER`4jTxtdndMhK|zLDIuUfPO3 z!-XMbk@suYNE*QL4x`ze2GTCgGL3Trl_F9JO@a>$7x$b7AAzV^$m}v?ko)q|OD~lt zpL|mG+i$;!{+~tVYz09F)kS!;P#d)x8O&(ogs={DbBdLL4^>6g#055k%^PQy&rnq} zN7ipGlJnl4YO1A3ai86@Ob+a`V;;~;e=d=Se_Uw(_W1s-<(5Ob`_|W#V{H`D#I-Jo@uu^BSiNZY$S~ z>S_`cpZvQ@ZvJAn33QIwy@lLySP%Jq;uN{_k4>_+z+)06FQ3}iOf%QuWv{N;=DkDj z3I~<76-x8PPH6DqkE+F921g$!jh`7F_VLFbTl!U;CA*M4e-FTn)H|8{0`^G`4Lg6Ps<5rm<~L+;C#swr$&X z(y*~}=ez5!b^p%4qdD(+_ukJ|t^VmVYKu&47vEsJ{Bx~gl(osIS1<&hdhDnY#x%xc zddRiVMmgmvRRT{NF-d(kzQ9hZ%yW!?XU2o#2`6rfP<1Eyq=MP)GlM&gBCWSAhVrT9 zaU{!8=PK#u<;mp8?80O5thBg&|7ek&zg?8Qo-nz5s@%s-%RM7I^EKi10^BCcHvO%4 z)T{_nZCS-ch^$O+FzQ635;1X-a$NdhR#z>GE6|}g+z5g*!rY{tyYrz9doqp60{lII zl1xekP)r{Sba|G}CN=Y08=Jhjx=}ppQ9aql5*#BML>@pS|Z>0q$C1Hr#Ov^jbF@#0*-ZQ`)?sq?f*ETcD{GlQor zxlY}%PJaC5<_*v;Up6eS?sanvbF&Ir?Zn&WM$zg#twsIhZnlTmdYj(bC3;*0Y#WK$ zryk$*vx(cVA+cEJ-GnC9kiH`3*na!bnIQS>;`=;05B_%p|H=bz2;?h*&MMh+crUeg z*e0L;u?S>3LtLo#M-9(cD2(75aX~mzKY1g&oR8pN%Grwj272kkyY&Ivy1E1Qtefh3}2gdrGt0QR-}m zJs?ShI&&z!J!9XM1S2V`o$x8U{OF#$@Zm=$tMD86b*RJV4eNHj3;RgWI}D)7r2MZ0 zP9cMLR^{_Ad09~4APSG|2CoxEJO)}~?icF=XvU3%1dZ~#?}f9B>BvX{j7SF03UADq z%q@gcw?}}j+v)VH`l>EHP;+@jPwo+~ouo{C%}N4-Y>o;ql?P#AM5?3j2FXQ%2Id4K zGtZnlXkx$-m2;q&dHdjkaJ5R~{x%?$ROP*=z6I%y3!Ky;-xW#`h5H@hAK9w2HWdlUOF3HaS|d8`Q$F^e;qfz6Qa%W(8d5 zeCJoAJLttc`<7AZIF+s*sUmgzGU{mCOup(Cn>?&I6pIKY=lNwetUlx-cF6U?JV)<- z;N&ML_3x&ztm*f=D(%)Xzjo=H2|rK5T;v!U%`D>fAzbf_SrPpQyC0V42UmQhH@$*( zE@uh7HV0|%0^`ko9~6(#)N$RRuKM!#vZ4JR6 zeNfaqwzb~UGNMP_Rx+USV_YF4{3F?A(4g35z^Mp!-A7`x^g=DrKcb6@QrFqFOCPlu zeKOaX6DQEy6$T?BX~0F(_~{z6gNp1VX)@qW3F+u*V|@sU#z}l4sPe%Uw2r0)9YIQ z*KjZI~DxPoGD z{>isVBlE}|_1AjE%~xod_V_eS$R*6}p^u}R8H9Gk#1<1{NyEzQ&00MJ2Ck69ZR%kY9vA6wIguVEwfW%=PD!QCw_*D3Jc#JNZ!Py z|LEqdYxzkd-uZJW+l{wnijQn-xaj~l0m+>s%?UYUZZqmMu|Gyju<89toxwaE-xils!k>7^*DZyfV8 zmRwKpOPD=oqL#_;=imrg^l1l875;l!NA>NL01IOix&jm)Nkt(Bh4j-3Y-30ujGqdf zJlScqS|qt>yNrcPCsCkrNDi}mxSM-fnmV9*Lm8lN-Wj4uLBZeDvoag@aay&sk| z=Cfm`eq($E*Q0t-6U7X7}!Qj--Ar5ZMR6!(i+_j)&v4}clh^pmaDVr z^tC1uKkm=u*MFi=HJde6tm;`p#^RSZ4HO1wR1@lAac8LX!bSa(H5a~};0PHeW@d?KA-vB>oN4#JqNU`Y?B+tyI1WTxG<3BaK`=&yrsV7-OPq&s6Kv9tBnAII6GGml66g>DV3El&ajBgXljmv?wWHy@33b)hu3qX{GK) z6eNPC+W26nwZQAcz@g(Z&+Wt`r|-6dI~riC%hjBu`ypO;2%-;F(7Qrg372j*T{xR5 zTlpUKY>#jF!K!n+Rd;Vx8xQ=SOM`2RKktVN5*i#K?Bs4x+rBQVc&WA)aU|FJQ3HCL#MPg}izerV z)kN8g%Pw)vuAsRw38%CCb0+m5u`DPH=~Cx%gOfiNo{W^33f~3pRlM$F|K)VfaL>E?+f%q$ zf$#?sCfyLjnm0mEPwU`_R=0Jok zYN_xcs*V5EH*$)0uEcb-Q|5UsYY=I({Ec|!%kN%KC(%YjcU+WnXzsh%CytegqaKHy z9@S^7T(_rOCEnrQogE*Pi*poPJjRq}%hKlx-oWqcc3>6Usym(Ktf}f>r|Ww{Pzz@) zKLe?;JtPXP8aP)>>ez=sGXk!jwJhNLoytTRCIzt%4pYXfEAb6lGv|sPqEudkt?2_Z zeL6IuM2=w@V9lD^zN~cSc7k9Y(4>L90?k*0Re|G2uf?m!4-nK_ofs4MQt87evY#Vh z(3f)AUr)7io0u?MZ1Mmjrhy}_&dCX#q6E%e7jN<%V*^6e<-@aTD& zWJU91zB}0a>2~{O(Bk% z0ir2fi}~Zr+moU@*IWg8`R#}8knJ|qZqGc)k;jOYQ8HQb>rhZajRx)e$5#w|HDrL~ zV&4buXxn$@{iy5xaGi+2y`&Os%Ibzm@4T~z2vXXXc*RRzZD1iELFGT zHrD*JjMJ?zs3{pZ*B7j6%465mc*C-eX^&~34A zupcZvF}A@xf)qHXOnw)3?#O~caA=%($?4;D`!nrJP>8#KWp6Q=IXU1f!+>|Osl=h_ z5<3YGS0dD=F&jbJzj?sHCB1~ph^aWtZXUfd8>UQ8Wrbw;c=BKhpL!huPg2pekW6yt z!qv8cbf#wsQ9=rBGtnN~0zzOIscCh*2_fQyy=e465MQ1CAI~{1pK_x1;VC85Xz}c( zs0oKbUx5R{SBTrGwWMbraY`7 zQgH_SyN{LDHdhdPK0QuCVQ$8Bsu3q(C2gzU25U~^_s`U3@k_}T zIFcr5sgY_F@%Wn=c-AG_Ft1UUGfaz;>IMPQe~#L~(*C-QSed zHMia_-0Zg;XJK6o=LKcFyBeXO*h*S8eiu+hehlX5<41?h{MY@Smtw<2f_166!mG

9*v-*t9HW3K`VR(ulHzDcQ1;GVZWy%qU&cS${dheYe`j z*<**nPysahEdub($^ymDU3y%PJ4Nk>^5RVnIl46v@!Zv*1JZAZMS&wW4p{@KpndgL z$^C72B>Z25C!ZRM6nU7$t3nd;LGvNGINNva5f4GNs4o8Gt^4y;q%;l!9tqYnTnT15 z9e+50FkFJe*M5-}>J*Gy!pKr5u1lrwmxb2Xl_JiPe~1H4MC}Ip-GnRr$e?+ybd7%q zC836qPkO4udtc|_9@czyV^b^;nfhrKVmB+#X5$i|5HI;`{15VU)~HdnDlmVuUg|w_ zD?eT@_;$C@;&5a|iqLrU1=7RgoZYF!n;Bx1B(om5un*BwZVTX`bUQf}Xjnv!yg0@k%MUcT%vDK5JJJ2mZXMUx4yJ;X2UDD(L08}z9lxso z#R(}Wf+f@NtHFUjG0sZN8YLjh@87*lR}p4C3(GI-^`hRN7}CI(%8bxb&AjT@?Odsr zD0?gR%0oU8nOXUX2}}EnX}xAr11W`htFpBj@dEX0iAF|OC{OFJ7am`IM&-}HiSzGQ zGpW{;@$=o31)`wR6yt+~$gRRDL!#u=CC$L1m#rm1UcK4)9AhZXpa8V;)tUTY0c`CvCetS^ zyB;6d#?DP`m0jFKZBbh^uO-S|Sfb}myObLSt4pC!Imm+&yR|L#TvnjCp7SKo7}kz+ zMVHz=fDMiTurptPWtCalW@xgr1%SEVVDu9+Q(WG>aNBQ{(bJkpjt zSq6sq0&Ro%$97Vxc)hy>&w4E5#|@l1`S)P<9GA8RyTkXljR9T++F!&oMH(NO?NW|s zjd8W|&1v{VUEhFUKQedJd?!v6iDDt?*KprE? zWTSiul`Nhzk}={Ur2XEA=MtG09;>-_`qu@AC9>)p{|n2vp;OYp>b7C z;wslp&0(Blq*z8C{sV>|{D^kC9>7w@YyFYNRm-r51AWB1@nJ2c*o5W(W!58e6SdK) z(vYR43HsYP3}sp%3U)Lsh>$y>%Wa#|YD!2M@$*R?Gws4eqn5MfI>8f&qAZ>V(767H zkC%IcBLiH1p}ZsO6V=q9&3&s##4y9rEceT(mJMYcLNv`9zr$BsDyUb`OD3CavSH=W zB2PTuhKM0rtB+uPhQ3?y1v|gW03`i@}J%Ulc(M08fIye*~Pxu%{l;irv&~Rs6xLL8^nUr-tID zqG*zXa!us(`oQ&v>+1^GbF5Zpo9TR>#xnl5cx;VHirv?wHZob#!^*eze91cMe9f@+ z&L)fY#~LS3sxtS4Dn*Cjr4t(o*rGiyXzZ~(nvJwHjwn;_4t5=wX2EH|zsSVyxR8Ub z1Pc5|J-?p309m=3|MW&&_5@3y0@TG+phD|3DeO3>T|6x&C_P;MeqA*@59B$MlfG&3 ztvuMgpy%xsl@RzVIK?=)`04`MtRMHr8bvVTS|^M^s_upJ!=iucu{iiB*l@pJ)YeAo zCqyR55XhCzqbIsD4?vg``FP4lfKF}3q}2~nALQESu!@PR4=2=vo$7|Ah=Z-d35aJW zKx@SF)6@|DjL^>o#L0yevoX>N9yEM~_GxTK*lg3`6&yRAb*@EGM`%5Op%Qp3;A5N7c zbA#j;b(0@sTb;&n+FJZf6!Xn7t%UP9bkROl(4i|BEEYy=Dadvu^z_-;LNE~wnla|c zYSCJIkDDT<<7VS?lxF44dx!)}@>MmNEe}1+>@`w#f^Yqhw<~3d490&K#GNi~u{vDE zUtKbA%KOl^aHpGW_D<(zl89VOa(}>pGbF?LGBMn~@J-|dPU=PoDA6@IX%iay7~>x? zDR5-g0}7Ettu1>I43S%GsIY<>CFJz8NHzg5qDe}j&wRM3i*PMlj6{BKQ|3GXzEG?| zM&TU|aArGVc~ z5)Oy2^?C!!+m}W$rrTtG_v4#Ava22XH74G?gxGI47c}87t9I_GN-7XD+lw0LwBo%% zb`jqSYDx41HcAL&xfME_lwkO2-bHE7E&cGL@xZ5bJkKY}g_r)5CV^F|!tiOUa&4s3 z?Jh$M~TG<(Dq7IZFbirkXw= zyb)p#Vh;X>gg=-5@-`%WC2-5IxUUcWp7<`T)UV@Q0*fA}9m+*6I zC*J2wXar*s2WbcPCp}#_(Z=dlgx_55GPS#LGR6vLzH{|HSQb1+lFvi`-rGk4Gb(TT z&xxGKbOrqKWsd9=K+4Hs&Kb!xo%N22N7Zia*4c6@oe2q!lY8+==2%|Q6U4M4)~*HSMS(_~KT5C&mL^W>dSmr90Y^KGWlMQO!^ zX+IKt69+`_VZuMc$4iwo8I_?V0M>e?VsRd><{uzO2Z{&*R3V1z^Paeg>N=8Ch z=webk43Jop2XbCL>vuQGPWgC6=#I*m64+n)t8qh1RfG19(3Ei zSrxR7GPBoq{EkOnRns9q?&Ol9X4$5+0FRq~udYd(Y1HHD21<8?-n-Q+*KUgAFpf-KLnx9ywI zgGd(J+UH6>qfc+i=R{}sZXuRz)VS4U8HGc~ILR3j^>pWVJb+y|DURIILFY8ye2{UnPoW)2 zN|OgYVX+v?hLmc)G(54k8s8Ii#tLoH?_wspuhsbe?W`9tvH|qCp*-0S>}0f* z?^~RZ#*7u^Rp7-b+Hs*NVSPps}?mx)lUkk||Av1}%M8K=gV?&l-I+boE-E$GYR45w(eC0_iu zj^&^BQC4UpeX+SiO0g|FYkTIg7YA09{kV-0L$KrTdkM{zvVN&bqg9quoPn6o=y!gL z%8DQ-&!n*rAJ;GwZ_ZVQKeL@zW7GF9>PIJ%yoPP!3O%GinQ`PS8FRzd zONLge;osjbIq|!Br=c+`)XR##NC^d^(Wc$SpnK1_NjJLO{fSqIZ^ya^Ng}$IeAf!E z+_}Y^D32f1>le0vhn%&mNd?;qs!ow8o(c)HHU0A{5|y{6!D^i`ZP*HI2E6_94>x=m zk;L1h`WqhT{T0+eG;0(n1*`QPwK9BY3Z8B6dWRf<^tWPEMI@?DS`q~K=5ch{8OMs`s$4|w+jd8<-PMGr>Xwi`mmh<7 z6mRaUDx~+i%e%SLkv#OS`&IZDvtDXatbU5mN^%UYs3PJbew;^`Ft-c@#Sui?-Gv>j zwk`wJ$4ywnovgEzS}IS!(d+k`s*grqM7epweeZd-$_NHDEX~P2I!0m>%OA;zFzReOCGy}iINIr(LNNrV_jda z?f8EB+-u%))JK-MqKobdi18eH4PgvmIwYs;9R<^iC4@uMt(qajp~7xcyobz^;UN?b z>|~{tN_Zx0hhrdei}Yl_W!y;p1{C&uIS_hpuvRRkp#a?&i#u}YHrCFVA2=DC6r}Kx zdb!z9mY(4PfD@jMJ@zayuXnk`3e#|R^aUQNleM1m;T2otH<^@x{paVo=2f**UB9Y3 zJAH$-2J2mpjP@o=!)W=3Q%3ovW5P0A?DElZZUS(gX^d~=1~W{BxObEcsV)BC2ZD@y z@34i$+E|J%-yyQ132ZQ5?{S}~5pAohamUDCd$gxB!rl|{t8aDHe|IDp*fyH2K?L@^ zT5jfROXQG0O)YK~5+blPaF8Br-9#5!%=lQz6PC112-23|7_rHkP;=Hvdrt6uB3f5Z;)rjc>yko-DFQi;w7b# zoYMX`xeq|z zS7~1RC9q8B_FHl!Ykxr7<@y%}$x2V=q(e~}k5y9X+m3O~=oNUoKcr>Ql<*YnSAkxXjpREyRN?M_a!jV3x#>PM^ZA3+`(sU#cb_>fb;&D*HYq&1oU*kY@lBHKgwF&L+l znfs&B=KFLLBH$Gg8yxAd9s-YbV0u5u82KoI3vG>@-|)gQDsuss zeV&r_8a#IV<5_|CMzofuj5?nBVDGXt@i!dUG#J_j1spMG!rt>WDP}S5+j@wSocpFU z&~7m*M_RI^h7wu(Hm_%Pr&M04|Y69G4fJCPvQN&cz^NP^X9usH<|O;NA!3(mXT8875j=xK>H4ddbg=O z)-vm#;N@?Ox16$r>!qr0a$Sz7`PCm9c=NWqVZ>{GH2Y0%hDChR*&c`@4aE4lJbE=? z7zbk_5#ci2?c20ioJGyUg~vF0u{QcG^zxgRi=ELz87Jna&jY=O-}(2{u5YSKxaa1A z^Wpm%G!GZEl6CB3gv$9wjl9#GHCPih*O~Z9TZ-`}$svPt&ANHcw)H^YoBfQ9Ou1an z81~MVkwJk0DCAX+3NrZdsxzssb?^F%&tVdv7bg4G zRj~f3dUDPJxEso6IObB?G5n(5Gh!Gq#Pp86cY-CgjU5q<4b1&+yvUcsC01QivbwXz z&X&Q*(hCoeD_)VJj9OkZ2+8dEMuk!OJMme1FS=G zw*G@X{k-|EKKXR|8Ip81x^bH;Vho1+db@s*ZFi9L_;ybJ_DfaxSV(_BefC{tsI{2# zFUhliFmgm)QO}Gp>YkWhA1yZY*=8+EFa4hJ@1_-i44 zADQ^BlH)bK^cWG3ST<_gUWJFR)c|Sr?m?h#XR-P4N}9OP*C;iT_urS)t?4U? zH&np7dEVFQLWs;?z$uuGdW#4PL*=hA9cLyM(1*XYHDhE-cA$U}x$s(A$9na%v5iH! z3CP?g=Ip<|Hp1!Us?;LE67~gvL17@jFWs?;sKHEe1ZbdXf2~GEwXDhbj*nqVY7UA^N z@vhfRHh@O8tKAsQqTPoZZRK@V#N^_L{P{W~AVmDam^sq>K=~HjZ~KVqZV;aX+{L)q z(yFuv^HOP1K;s22asdZb<8dO%)^W*4=L)};-9m$!r|2TEZS@`Ako*XjV4D=Y7O-DM zgqJ8aw*;*G@3wvp!hnx=68?5$rakNY^?^dIqvz~P;r#`};Bf}iEh3^q>`_JA>#a!a z#V~2GYw&wvqQ9ku3o)+_u_^^5`lG3MsBj1{C&&`E7an}VDKfTDgzLtpRdsu3{g3ft zo*|5dn?CO1EBO8zr}EyIV-Zcba0YSkcqbp-AIu2bDA?yp^eGfAml$~fF=+8Fsc+sJ z!aH=IMgO*^S}AH_Z@Du1Pi(@)YbTDoHbjCw#W{n@9_bZG5az7FF_++R_{^A)xiUv0 zrah!3q&Htk4Acx1NX-kD{5AZk7p-52mwfEr8_Fw4nm_l$j^6wYpS=HCw*ISMmG(C> zEa&8_w5mO48z~1Un?NevlOio$73jd!aA^B-_G>VQxJ`kEl}|3LoHN@^|70{~f(o$_ zU{=SN*5xKY6%^%4G^85nt%G4np`(ncfj@4+4zopQVhxd##FDBp_ph@sR_Vqtni_!^ z2{ov^J72&q8@awjH7fXCEft6!v|N7lvhE7^QOwcKGh4b0PC&HC0qQC!?HlPu9Jvr0 z-evpeLY(ho1%xm^We%?MiiBUvRqmH_AsUp{?_=Gjzx_KG({|yBl3QXSGuSMi%r<>D)BkrMY|Dx^TaauAz*S2rgL6bLr zpB*&$NlFO=Ls3*`pUm+cAMcai3HE_8gtjfc8w@kA)`R(|Fl0(OClHOWaA1g?2u~c% zq^X8<3g2D~Xx|!nUwWRJQO;b+)_^gAR8FfB)GCur#&hY=bl&a8g3r}aoNBEk@kE35 zb4!u@Kbp@>E7g%WQzp-Lu(t3Jw@^#9%R}`CT^`d_(Q(C_>qs{wrTXxH*F*z z!i)}kAh7x3>P0Mde=QVIxMgSqZH9T}yU_)$IR3$>;T_%S{2hJ;zYGUm|9nOcJrFZV zD#0SATss{FN@1y5vd^W5}KgOC(|K<)}we`>D1dJiMA_a zhG=)!K)^)aK(kEojTkV!O{>Ew*xK_Q#lv+;D|Is`ib&uS7r)hv#lm}Zu+Fr71PX^d zQwsOwqvfJ$9oZ*+2S~5Y$maLq{hOf%;*N%c=1(Uzy1Rj`CEw$@zFjBPA_f=#7Y8%? zIFWf%j>sUeKaPlRjyKzwId`jtu%CR_P0QK$%b(}wWZ?w6j}#^Y*VSCA?N*DB+#gg& zcCnY4YXGhN5Kw*L3TJTpq3fCV zHOZPCsD8O?491)uwgUE$Tr-Mr7u~yXnk?2^8&;(a3S_4IRpQi5QNw!i)V@;gfC2`3 z>#wyCN73}KM!3BAE6Cg!g%;mjdtbDuFfx`6`>-!R*g-h_Pc`JXP#fvKpRQ2{soP)2 zKYb01d_~IC%g(bd;wqMi3thB|8m7z4AmPhOMjV8FjO=a+Ufx!%nnrxqp^|%v2?@(^ zbj6zIcP`KDfgyK_>vC3+l`}g)D-1cEAW?sxy)3UwwrF2QAe!|`*XyO#W$%AHzH^xo z<2o~#yr8_lk~t7Q3!?xTzH0hl^uK|XWF<2n>{U1qdV|dN8qb6Y$Z>#>B3xMrIvqcJ z13*&J(GdZh$1NOb%IG>-p$r;d@#kt?30W^ZC$cN2x&Tz{@yEP=h>OLZ)6^}uEeOr` zSqAej7iepff20TX@c0-Sk-4wbe&ccTO^zq_YF_WaOvEW-vuW>-Mfu^HvT5p0AXz_( z4X5AxoiBTh#IrAo&DQ7L%vaF;KYh^W<|D7$ky~k}C*VO-8?biS8Abn-7t9qyC;SI? zZ>9NAEWO@sv^q^zus|AkBP5V{WJ4zgED3$U2`R}gGhD~#;AqJ#qt@m zZ-LFCB2L~Oxr???b8gqKg3lj_!A*lAt+B?1{l;Wkhf`RX

c1iNB?fdde)pZ#oJl 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

42Gfp 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 $y^!DHMmE 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

ySdW=6SgYq_X7`X0hj$BG?wDi>fh~>Jan;GP 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

3r&TmwyunyT|`u#}RTLQW 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ÖmR3raB-TIS~?AfCn_wYUn%i*#slm5~h_!GxxP(01f{5tkwWxNm{U5;kz2Qb3cpE zlnym$MgF+esmnGeuiae_XQ{Z6^}re+S!&n*Q}w4Vt}iqaznjiKZ;y9+{UrOAmLdS{akJQjI zTOFu;V~o!Q6E7I6EdtV0yh?Uq^fiS?xEPWJO>(DfRw~l3e)|J!TPFJroPXa(s|$ut z`jJey3)h}rP$2$SlCA`J5i!5~jk?5qgO+A(O-_GiR?DI#ST8-MP*>GQ&#V5R&Rj0| za#Pt=>|FyC5VJCNyRXOiRAH0fR?-lhmFi+k@)m0~Cc9qrjTK<+tUM036X7~^x;dzH zT)uieXjjlq+7!im=|G9Hg?{VVKxY7<5D*f8jLE-JJOvFeKboHr4S>bK`Z9Lg^oWV~ zyYGLvX|%oWVDpz=Pr~uW_;_PA|1RHsSYJvK6DMr1;9Q3Y2&6y8Ndk*Z5@bY?1Cp=+ zrQ#k7hj|LmO#ll|t$d7xWS_^_l>d z5~eUucCSf&L{UIkrL0x&1Ozof=$0fF?v4~!@k8+ovmM37#X&S0O@PJXX5GlScT917 z`6=rhr%+(5KQt>B&You$7N8r9otvMWo-*BcaAsO9MTKY!qvHx5x%s;ek^GJ-deyD}~S@?I6kK^2!>iB)@9Pw&KLxlA`*inLaKkG+pr8@}e1u zxWxB|85yPvAPORCUfOUbp{V}zS&8=yi)X&u(5;ku)pqT6V#uc#)6)f4*$xZuoF1tF zESv1b4jPhXfn(NdoDK25b`R9a!n}as2xg+}gX>{G z5h)w9HiPwi-?XfNaHY{yrzL>6tmxGFme^nY>5Gv1%Jt*pGGwDS4WA@bVem}K*pQmb zPN!Z;RYm(xT#zo&2xjV@6V`qmqLApjAPXL8g5`n95V=`pAt}7aXL>Ci+AfoA-8=mO zzE_$bBU|ITb?bil%U_bi`{Ii)l7@vG`56)6F)gAcYppRb5UQ7W`|i8H_{A^&=5PLH^ytxCgKZE6fQ4ZMHg_!^e3|e`jy%Mo zWPt+M#m(#PAVz>CL8?1}5>qW9bnUz{Vqe!ht}1x70Z zd=xQlD?dhuoI4GK4w7|C9!W~|iN>a8E+CL$x_}IoPuG{N@Re=#<&0mQ^7?}G+b6U# zrbqQ3hK8%V@uuuM9@sMI%M+_trza%1SU}d$;hn=1-g$jun4gQ}N28(N&ZH0}l6E!R z)BNz(wCe2Br%&(Rz3;i_o~QsU0(`ijykp|!i(`SIW>Aps1cVK7ny;3Kc1v&O#tTB8 zaZ@N$p5N^wljLH`K}fp7QYXMI9Sj$3N?n!SVu#!|&PSUmbp~9%dX0}K#eib( z_L!7KQLW~J7_~kHP3+E+P<8VBWi2B`En%`tw#0_4s;*-*M0RkDS*wk>7%hdY$!8$K zZuFCxShL}flxkm;lQnecuBV}UB5BVC`zLYgFhx?3xzliM+O%m=0a)BzPnmde0T2UX zVeGCu<63>-+0_>$GS1A`n@V*?=-oBQs3W231e3j|`A8cTTMI)-Lx%`j{QNpIzyfj!HKWehWS)4WKCF#8 zJRA6r5rm)*Arx5YZ@&2^fkJ*;&jA+0xeLlYQ=I&`Y{&RNBo3m4hprC{bOLryO-~{H zme8BA(vT!AvbAU+MPj4LaYbD^^E1}_R^`@Gc56zR#Po+qmr`(YJ{In(>pL&o#BN1I z1CzSy$hqnx=TIcCEHB26H(v03Ou@wMB9Wh?Pu*wFku^w2{qR;&=)z%L_`%|O%z z^cy&jlkw{c3AHTDIwVO~ zPt4BRkl>rJqf#z=YF^%*6Iw)x;0Qu}Jus-)KpdnP@W`1`bJ9c4keIL zwatmokz_>8rxbv-r6qJ&s=K0QD9U?nNlXn2uuvSERzrRbs)3SfyF zSQftyLxY}jd2+TgGWG;XaviwZEWP4j<@EqHlu>Ps=Zp`SJ_9RzGs>G90{X9zMmI#qPuDu?chgzCWhlCzaiM4jjK#E_i22*36CR(B5j&mH3uG zcrd@qC%km!>d-CKasmC$wHOe9g;Lb^AcWE79nl2pi8NXE%127a^ux!F8`*;Z5Uc^7 z=qsqacXEdGPeiyvw%y!!k_)820xYJ?1moXQ-Ym}r1Q0+*ln0VwPxHfD1F)#f@V8^2 zvt3t#s0*sYnRwAD{HntD>s~tau(VowaZ#S8KLWfYydGbELX{U}p~KhjmXdaf!tV_6?JzU@Q&b*^xrYQ;8Y0wmMs~&LXQ%Se%*1kj1QWm##e_TA^lB7r zN!p_IjifY~bVkKtUQ36D@VLbuNQOO);^fJbpL^~(zm5n4ENy2C0jUF-u&W|rYesEI zrxDJrP0_`CY~PV;ouru>4b*UJS(`?GxW4MWxC&F6Bq4@LNj0$eU|tN_SVTxNBYuFgTN(HormoJe{d#oX{g2IhV&JQ9%^2JF<72PCaem8|>j8N%h1)Up z_)WA3$n|KNIg@m*#P`3VF`QFcIoBaPIgfmmdzUUC$yJTpP@9Ca}6dK$V9;dwA@+n8Xy{q5iWtyH1A9&AwU0aygMF(5mZiI+WxJpsA1 zn(ma7ca(jOCgM;5k-~6hFp5Zs>@hLJ)HfPSKmZmDL4ua7W~a!}Mhn1-FS7wycvY=_ z-+`-&d1&;yEJ5|qrlBf$!*`4xcsdTg}gy+GqZ4*bE zPU3@616YcXxR)Kp6o6;z9hF5+azH$L?6^Y6?ZGAEhB6UVf2&Ik9=7{c?S${mFrsu1@#zxfUF z>5tUFjci3oL@_#$i5FDCUMWGPP|r%*bE?DTLW@t|er+Out)lnRl7eJkOGPl$qoR0d zjDt{EdsDJw?x;A1$swl5ffK<=Zs9=TQQ>;nSryUFhU=9(843+s#or-7$GjEnR0z%kGTCI6Bc=1pqkSwi#{nvl>FgR!ru(U&;dnR7$ zSB%Cv-VQb#oO40rDn$+FI!YFZdjwq)@5Ti8;w@ z9TlsjkDL@0kX`Q2;vVaO=( zVAzpt4;eCq48@27EDfUTf>wmoex^7O1HUFVjV)pmS6272vdc&8(2jw{)6;5ar`LWE zSB{vO2p5LN6~-jy!`n_mi7D!T&zR)31HS}O6?DIQ{^M_r?*GNfFNR&(o&SwWnq4eR zyY(rNpoH7o7=yd8eS5)ecN--iJ}@Iv4D-dOrtEi-w}^2dt=2pm?5F67Pyp*+{^eiT zg8ecg4zLs3JwjA@*xV>nVUs8rj@K6FlvGq1*@M_RL89o|6Q|F@5TWEf zp?tu{0-5h(6v6U<3UScW(4BxNyM$*01QV(V3&HHvsgn_4MYsw?`OQ0oiI+eMza*Pv z7~%%v*WN0K&^}IlT9sAR8mWAKaS@w#P%ly3HZ#B?tAzRfOPm2Lm>LCO8DnA6t?!Nr zX*{%SYZ{Uw>5SSML4q@!2Mu4+k=mI2uAIXh;n`d_mmG1L`EF&G@PZ91Op*JbL4$@3 z8x~D~r3k70OmU!8ln3^l=DgbuHuQ`=N5>`YSNqb_#GN&S z{5qN1PREw6$UBr?)-ZQbLjR$wX+^^Pru+NU-_+&UTW_C_-%2RZU9yoi+^)^Y@O6b* zOh=ySLjqR9j1>qZ$^Isiq!$7mb8QaITXg%et;3@tEWR&AwxpT+WkeicDMD&L6EDgG zuME!1wr2#NZaNdQH8Wz;!7*op4@zE6q)6(_#VgzbtBa`rymZYL4^`!dKUl1Jic!eZ z3hvguaxI`j1l$~`s;*|3hy=O&soD7tO->a)xfPjvg+0hR_8vQb&rg}}u#y@}Lt;|O zR;L!qdB+Nf=16%;^AoBF3wDN^Z@$?tBPsw(5t7>hJQXHhAObcg@$~StrTb4^<_1OU zh)XZwGx%ywa}KkE6<~>FvSw?NX?}afG3H+g4X{Rs23RW%083kziRG}X>JUyftaMFh z+*(w}JgwWTN$&C$PG7iUk{Tvy%#c`oFnq_)+kjur1w?V7cQlG&irim)_0{p?$441p zX*ka{Qyh04IRU8gJGujB8VmRMfGEpHMd6^e+1rk>w9m$b;D~PpNLs}?dVZ=+1z~J@Xg5BUxX*k$R4BvQdi%dk8bbv{N>Y4 zGDAQerinqZC0$0RdX&|R3kQf08JZuf@Q}lc_2ZWj4S*#agY9AB1)lOn*#1cNNLwTDhOB7-)k{|`C zFs!YhrOEm&<1#j6mPtAzzoc@StGA43rnFBW^F3%G9v36v9WEf`NTK8+K=WfAt5>hS z>#n=}GNJ*nH1)fkOuTF|s1IJp);OnWX3#!4kpWoq6AJkZ8T*?!@3XML3a}(-zB=9v zu!yHK4*_+ML~J{NwQ6?|fF%_zBte?e8KR0yK)&(YJ5kS+izE8DOzz@%>#(2v5hv$M`^txBzEDF{0HRgeUk*4vJBu zbX3moO{2_|@vkp0rU9o^0_xFyMAFQ6MyA};n=XORyu0Yr7l$A2-MeY_oGUi%Fx>+z z9m_HN42YB%-UB7ni$g|H4dToLxjjhgaY-nm0rh}AJA67fmsieGgY~CV*$1V0w zf1oKtu(PeFL5rm7_)9xk6yO=02V0X7M7;=z*_wQ;y` znrk}alC&!EmSH1dpa+fOm6TVIxy3adUKav%1HeUv<_7}aM<0FEZyXV?0zrPcajpe~ z%}uI*+E|Ks{K9qX%@T4G>0}J*LLJt%hpJZD3U=dlL zApzEoAOMR^UI3Q0>Atj(vPRx_Rvr@u7U4A4bjI_|EuO#gt!aCC1tzD0 z2salEa}Fa5>Ek^eU>7&H3o$16cfH4PHcB|h}?cFwhO9J^scx6Akqwv z19r2qrv0f&DMN>^eD(bWH+`{#nWep6#btH)>1V)Im#V6emZ)^ymvB32D6G+f$&>j= zLtY(y>$r4Nwd0qY%V%xy5pa=b(ftq_)sD(rWOHW+j0(*UMi>CghJn}PW+32QR=7JJ z6P^XG!oYG-W~JE9RysHr_7jdarkDinywr8*wjM(^W)GkI!`X9IfJL`WL`L#wx2NX@ zt-Ho`Bw=d`!ZF!H-Ejy|L=QcpJPW}979KKSli2;Vf)3Toa^%LAusDIsit4>V(;15^ zs{78(5=qD7E4f)6B_JR?Kt@z(ex^^K4h^qgM>GHy8x->EPJM8vu(4U>*dc9v%Gt}` zT5ps1I3Jji%U_}s;(~oV;A$PXx?BN)RS~pZK$z({F{3QN*pgFwmYFB!HA+tB;i-=f+jResb@K1(hx>zI_TO^b<~N5Fj2?f*)IKR1087U;IDa2} zh>utP)mMo-lVTII(JOrxZwy?d^@BqTzP@!;9)iY?}#6(zLH_gmx)U?FZMfTgiEAr*qq z#5UPWjxb7{AH z_a||jeDT7UXq3Dj56pdMWW(5rBspCVIE^GLsKWu4>tv?0OP0nx^xWn?1DelWkZ?P8 zGx3paNxu2pcMo2XhY8ZU`?V0F9!;)39_Dvgl3j0G6~cRw8Rnh-K-5Fg`~dxb^{ZbQ zilib9u#`%d591=YoqNPSt4zEOhAR?a6_DhzL!fZr9mZ%V0kO{WQ8O1TJo?=8LY8~v z>1UdAbI&$k5!M5aX{iT*K0?iG0$A$;JPVRt3!n*whrZgnM_y`JyqWM_02U5Ea<-&H z2*>o)18mTtVv#UCiobyvN~m+7)i+bJLd=DZUSHo8zWKSPHO z9XxojKY{~cv{LC3!Em&&m1UPzgzjLWI#4~||7eX~Js9v^NvpKMaTS4-rkb}`mn*=6 zs2%Bm3QFb2N#c-R=qg(5~LE~YtMUMxX%{9 zcKrCEJ98}7abj8)aO`$J#GOJWuqchKG!M*r4(aplCRZRtj1vg>)TpxNTPORET@ z2$u>$$&me(&s>6fTbxqbG1@wE_MhxJHa(y}Qb~)^bVlR5pKZR1>$g1uf^=}NqeAoZ z-h1zT{`u#A9nk<-XgD@x+hu8G*+q{i6R#t1X1PIBHstYFnwJZT`g+^G!E&;FpLCJp zxf7EQa{fw8E`NJXPnQ>5U2ueddrZy}zn8wz+M=V1x1K0p zv6KM7>Jt=TrGx}n16M1+GG~hmlA{Eqjg;}QGsxGG#joj%@p*fhyn8|_n})D6V!#_| z-!=2yg@9<4AAh4lqxkDz{~AwFlmQm|8ZK^5Y=^SIVX<+pOmUb3?f@1z#*z0+O1kiQ z;8=FipFv57Rn%2Ne$D{v#HXJ@-TuJ`b4`t|@0*s5O91C{-Qi=rGNvTI48Ko8Qp%Eq zywBGaJ~}I>{dI-n&x;Dp&-U%xZ@TFwzqiA_3WNo3nhQzGi%sLk*LS)3lb1%^@!6*Asf+OJ8a;~wut=DN%0!mX3}1_XD`;*O z-UY!!$<-n8P*PsmU6V3|7oMuXFpUUB5XiU>>Xg!03CKy}GC4)%h=#0Wejhvm+@>Rp z(-&~LwMRhIpBELHpEurkW7McoejU*OSO9u7TpQOI8Xd=p>?f{y=A@G*hbBl!WshL) z_t#bO_wy}#=s7D$i@(n-EaZveD|&Wzfa7gihP>K_l4Jb);LKcUa4wVD(V64saT%tj z4yA`Lh}+DnKBNj{$tE+v!VHjZo-P0u#Y|R!B?)9T$1enJdWbP&ZH_LGC@Ay$eG^mJ zG>q(w^4m5xUDV8XcLJhSe%{e2g6~7g&fow2-{XLYGQh$uFH9sMhm{4+Jr9a|7GQo# z?cL@sZw%N33NflfZoG}pCfWe2IWG@i0?b>N19j%)SH)!2Yqx3Tp6ES2ZC*w#RlC=& zUq`zGS@;UrzMFTZ&)8P*)ZE-oZp)?s-`u9C(EP;3#r5dX!*3W-0a&bgv9?1EE6c8H zo;i1278KiwV?bSBF7O<$qj2qVb#>!wZ!6ha9tDX9VP1#2j7%?C@Te$SC~BdfrpB}B zZAr=MF+Md=6q!D4XSE@**I7Fq@BzC@RA_$avo>woG{25$04zL$thzS#QS-CJFDz;3vy7IDdO}ndD&cQqs9ugN&mR zYV=*=nU~feW71Ut0S!5+IC@bQs#SfEfXG9OH<^7lz5u{_YJPqwfJIwd>qGBY0G0-e zF+zA~zomo1#^NJF|7&sjHVY++X`Vg}%s()xrO;2=8C#kvCbXn8ZYerM8($X!0;HBr zEb=sp+?`+i;upA7JOx_6Uy>ZUlii%wy~%^ zz~Y;F0k8bCCS_$;L_?#V5~S#)^_~J6l-7&g9W? zS+6e6y?cs-st~17hziZm;>C*}e)wU(=fj@IgoS6@a}edhZ-w#*PWI+tIF3%Tn`3&i zXxYe2z9`p?+j)1{q%I~U(+R32G3)skE)^9ceF+8oB+Zs;CS$)2Yruj%T~tfZ+$=S_ zC57wpSy`;xpx0~LY(4NmsvWB}+*01LD&^yPsN zVWk8LzudZ)6Z!k#^lZd)?3Q8$Soch7flb>gPiO@q?k;^7$V!+IP-1G_UUjUQd01_& z_eEfO%tiyi3QMrgfMPckzD&iafpz~Up~nljE< zqwHAWpeTS&D5f}f0E_qK-EA{baKd9Is-{t>50u$Ew98`rUje-Zm zRzJZJ_w>_G`y)H30&!I9icqlrg=N=*4 z{cF~&@ta0ut3X(vXwWe0DjdtMlD#<@1e#5L6!OgjAih9zu*h&9xub@YFXHz|l^pi% zlH5kl-&_T1fpeh+HYHY{5_eSK;=MAd^BhDZwa=BL^Y1%xNoW+U>O*=7EZitgN3){{ zlHO1NYlIEJGM76@5<0y;O;3S^gn7svtzmlU_QAQ8KjM)osm2Z>IDJi|S=_`0zG`Nk zo0H~9K-l_#wo#!`1R(&h*w&&9u%tL5l=48oa$mzFJmK;si>qCYs6r3+7aRa6cz&k# zcNir_QJ$q5B^1B{(nTF$!E0K7%dNwnAEs+p90o%+RS}V)D#Xg9a3#RbKznvHhw)k6 ze(Gl3*wmc8|77@fY^IVB&;$3^Q<|SpovP?^@X|{!`3)l~0E@+d1`So{hvwkN50hmD zg2ZrdPoq!UYAhB&P^jcCB54I!T5NIZ>)}MJ=l34KQW-F2)49`ULIIr**0%ti2}w1f za$H8x9SH~y7?gKZXnwkP@4ju@HouN&04%o9FbRKH9pPDa2}rSk9W7L_g#s+~Utp13mqusp=y+sC&6tkiv{6<~e3x!TBkqBs3VlH3h_-)Yw) zDS%e>L0&8mE!d!SbM`%$u^d7HEJ<)&YXMlwXbNnywy0trWM-Ntm?(-MD6K=UDXB&# z1>{1$xUmfbl~v48;hR=>w@%f``=@K4y;!F-fnx(nWoiEx^Ld8h=DyT$C>Avw{OGMMYKB`}_4< z_uzB2H+E^b_r7y+>%O^q)l{!UUbz4r>}j31){Vm;s+TEYhqe6hrKLp@4^mBI9as*c zWzoLb2Tlboq~N>25+^Ghxd68Xb(PJ_taZ?=Q0X5dPV>V@{oU_=#|rf8hz7vY)IIBR z!n?o*4lW7r-*Q@zLEi%11498UI-!kA*vrYAF^lH`NyWFV8~fH9gI+k++Sueb+oR~UOJTh(VG#fzm`hKe-O0tn?_`l6oV3x z@Yyg+Nc}`@cQ_XblnUl9{?^-}n0F4lW2G{7QX(E1ROzEA*5X%tLP zp))k|G%+;IBNvjP8?@^1iD@ZDM2H>{{A#?C92F*^_HAQbA-t@3#bg0Tg+`J0{m=jW z&*%dzFeX_h)?#mPhP`2-sei5pCJyk^S}rc0Gc<%v@|MHF4$fDz0a#l3>2|cgsozx) z-o3pxJlOBV%Gi+Qsb?;c^ZQ<0xsfPO(n@I0P80(JJ!lw(9wtLKS4)*|_yfB9ok_{y zY;FfC#BC*r`$h_Hz4g}c;lurr9RRHGi%k?Zx03C{L1~4nq51XJq$>m`j9MZsMjX!$ zhB8Xn0W5I{QGs!G<*J6e?gC?pt2H&ftm{v$12z5DI!Fq{l9mo9%9LmYSmljp35W|d zys77!$u}T%g+MX*v4UQcmtXkS@)kM<4DnDrs2~3nuf)+M4MS`N1o|L;H1;u3sLqG` zMpfLJfBL6?!h!175pjTJU2ICGgEebooV(2zv^G9}*Z{EJSzRt|%O@pNic?DXL3m<( z#R<;)FD>Tp???HVQCfDOc>tVM$fWkekpud8Bcnv)*{i~jWmO+S7%|5Ju;{8OOEgHo zBRhb_K5uR6CuD~>ZcR^F9th--iD)%KByTKeQv6fXQ@Desl0#g}#w%y~4l)TbkapA& zkQeG82#fk)C4dXjeOPW0rcq2xOvJ?-eSpP&%|5RFUffa20%toMGR4{FZ}Gmoy9lT2 zn9|j6TRej$%rD z5yGJF0-q4lBL0R@M|$-Uz&9UT*@J-H9Z1W|4i$#xr+@$clP6F18%9(B7Ene4*}6W3 zWw-5_f3BH$HGfM%4-RAQg)L&^8t2>)swwROmZmhpb$fc^r24Mi4%~F}{U5Di&AhN6 z&zK-+4M|XzC7eL&aJ2#~Dr8ZLV)V1!+m;_vS4c216zBU>vob_skbotV)|y-@+a(Z5 zp}Vo2PWWCrkmd_-ko?8(j>+zt^~aGnop&L{g!SOp5hZ{H+{f6kvg|TrJ6tgF3Z;Va z5WmrrferAvdAlSLVsTCbCx2XDDYu>{CRCji($PQ71X9y4IRU?M;c6GS2fR)8G+)$n8 zWGJPoEx^*8aUECd>rZ_6QC5!!AtpU=d(Sg-=Uu;e(TeHkq}OU)p)O-9z=FD3V%hM$ z!L%OA4w0CJs1vO#v}PhcE}ZY9)9`hL$_68yQS2Gy%aMR=DLEn*0>Bj1%U6(Qh{z*1 z9oMXPG(YUy6iK0R{W_uquuz|T3=_+)?QqS+DC0TfUF7v*=b20^Tt=N4y5G6{HJsPir^B?7QuX+S>jC<=AOK4u+Oq^;SvoR3 z8Vq2~@Yw;ZqW=%D_-*A}?2026m+j*0dgO(99q*d4%kqeNP6t1CX#ck$l*!NLbzI-`lwow3BWGPzfI3%N-pTL3g zaLW{DEnw7gMZ0<{_vBkvzZWtf=B5>30U)9RuuxQoy59!CI=f;ei;}?k!d-PF`HDDc zQ)jxcL8S;EBiASwh$)){lVx`L!RK1%U8zfqCR6fU+g4Kr79vm*cKjo=awVmvus%ppBw3GP1O!eX+CGY&P~^uVQT8Cf2e6n(9~h!z zX?`$A0a%>)O(Wt}AixgvD4QGVldtb`)wOvDp{O2O19#haY*h>f_CvOU(M^wMc;)Co3M2U^ zrjHj^eW1_G76M2PwJYq52nc%`7A(IlE2m>=6z9&J`}pIJ|11C&N=`G%oegF3bv5{D zge4rwlyb#(X2-YP@5Mc4z4`(JtYD0Mu^V~;u#m>^01It&^p#goPDfvRT`044z(&q&85I-ra98tmj z37F7ud;4jA?zrQQEnBwujU!4PEEY*nmR;|R0VAOrs>i*viy)2xvkpc zQuuLZtTO|w-L*~3KRh!uz}gxTV687YtX(M;V2Rmmt!je)jd`eiIJf-(>hXGEb_yRp ze8LvWLi(@k3=U>yV0aIsKDagWwuKA_2|FVOn9UiX%r_;ocO{EFGLw&0l+2b z)5dOV4w>TY6Xem&$S0eKZAPS(ecl}_1iJusq0|p^FNt$$4<;fqT!6;{Boujob$02p zop<-Hy7RuP;xP)Lz;ImAF85Vax113^czrNm_8biv;Z~OzR~lVno#j02K}w@-u#bg~ zo5vV#mrcht&CiWD-pEV&BRe!nQGqz0fhF2TaMQ6&ym&A0>$Iif#H#bq2kuxQ#PN`51g2yp{Y#n}#zLE?+*oY}uincY?8Mx^#Q!i%pUg2;E{BGvJ9?nc^7G zEGX-M=Uu{iB>9F}lXND*Su2@d#Lf9GY&BM!9O1CIXkD|;%YmwAWb^;<1 zJ^ASzr88nihNAi56==1FJ>b_7S%9VG-hd3}=B|4tUMLt$x8T;XK5h0ak8)?XR-90W z7RULk-{v1WCzomJx^gZ^okYKwLVcG#$D8%0lXNAn1U@P!^~YMg{@gw$HS)#Q_vrLY z=BLM*3wJ2&kiezR7?a0C0WA9ZhXPp42L)J=jA*T&H3`fbqeLAr|I(Zk<78>WS)r;o zPJXeann|MkIs@&T1P!GTVSCgE#v8#a6fr8;l+NgyMv(%k0Rsj^0bpqm9c+PmHBEYNnCGTcpTH;) z@4DTgO{VOJqi{Py#RZ{W=fD5^zro-B$PNIODi0P60>WP*7;Jwfhg0TH7AnH!A}$G( zcj1ucUPvhhQoz=R1I8#I>a9d(fe8F8;gj&#G9~|gLZ1(Ne7Z4r*!ZjJMzYXMOZioo zF=<)C+7RM0+)-Rc4J<7V!*tY<01Envb*^S^Fa$=>7f}^j|OT9pI=-g3ED!% z{?f8yF(6N0`lh(?f@Z{XoV)TZuhtMK36#a~^uiV~7tfXgEUwY6J}jj8#8i2OiUNbV8pSm`gUxqzUVHV3(oT-igmK0vVzoP()7nHqGK7h5al%zSb|67|nYZ;@J zeBqV3Db{!*Ar9jtUNLEqpfku0Gs!9)9icuL#&kx$vZgcgtsT)QLhsr46etr7vF%>chvSiF0x^`XDod_^LIZDQ6$_{6&3C-f&>&pOPM^t z9sw*`kq}HN?0(ln!#3-p6esOxo2nq&r9vt^o9)h=5~Aq{B>F&~jx(VDk|Jyx3I@Zt zwMc1{=W@MGlPM>|8g3T{A@abRwuR>BSHJodciA7op#Y0j!F`vowc9cd_e{L{0f2Y> zV(yd{I@{^9B&m*fL@u}mIF&^}kQWsYPJmzHTH|_k?DJ5Fw8BHjKmMem+wJx6y4~8n zX~vA}R6-dBByG|b@Qw-TsfA|6V7v@HDq(Swt3s_A@(yLW4l$%~vHXxey$p?ILSQ?ydQcFMiLCX(*&??J24sy{NFQYgPqF%k_#*|)521iE}L`N^+Aa^YFGA^Kl zBFL}=6v}d`>n37?zc~O zpFaKU%l`@7Fu2WfQUVd9s$};u^$aqtnFr0MyXwymX(l8olZ#JlI@P7ZR%H+M6^d+` zfwlkmSw*l^RdTSYRo{EIDf^y_8`+;YzX+j+S7sUZlG+17lO+WHz&Ef6=sE`0 z_va0)HqSR8x6b~nOT|Ynlsr_O^7tpGt`2TO^K9bt1UD(1XOr4r+hOt#JA|dh9cZiU za)-(paZp3b8ADL$h7B7wZrr#$7+45Rd=7*T1QDUkFg{WoCxC$F1Q0H0g6QpsJz1oC zVGqb%+MRRwDX@5Itir#@SxJ{D7{l2r7{g0QY7WaTq|LE+CnV~EZy&&LX0YRuxb4+A zVZjWbAJ+261uCxr#lN{?H|ciYR$ErvoNh|46iygp2~nH?e=G7Oa{FOV3nF1;{4O~jSXT~%@Q*`M+G#NSpft0A zN)|0dB%8{;ht#bdPB)ed38HD8tHwfd$h#KvNNVYa=7YL37GM@D`N~MsGj7;Ds7MBETUsL>%Q2WD+G1 zVUM6+q6b#5sv09jfa4ojot2eRJRK#a&ZIWtx8IP}+|wk*AJ-jkaoKxxyaG8yF%^_G z;KT@28V!k;;|)m&dW!%@!XixT&rb}WS6!A|m}Mahf^LBR@i*WI3u{@1-3(|hAQFaa z=(N{$6c>MU-~FO?9!&qF7zL(C5^WsmFayDIQ^)~*;|H9~uK@ZXUFAFH%?RLb}CU6>b+ zOMubflUCM|cx^%y1m<)g_Fhx~BImLzWQ(YRq!k!`<}L3PH;4kqq(^N)&1kG4Z67!u{s9P?qb+Ta zx&gJb=`Ua!D2|rzt_FA?$1DB(HK)oXJFW=&7(th^oDqn)d+)usJKh>KY7}U5Jxvip z01+x;<0J7Rd*SHk3QUokBrKKZsj)d`V993sWwP^nS4$^BEQPz&UfS4}un{}D{vL#T zuGpzxf(IUW00WDQ9Ea4={pf=@ZMG8YoRZ^{WF3i@E5L8(NX|Ka2cqyD zG9Jd|#SBtOyE222G}=xY9gaYFDW(ORu*1E>7mh2!wGww&h8_3DGVE}QN+>A9I{v{2 zwYLuV@IRj2|Faug{%aJSvktr#T10iV+-PO@(~dUQ1A9ogi0QoKuS?2?6l`*U+F6d* zj`t!Zl~?Y#;|_2XW5P6GG(^BLiBPZ+ABk5J zqPPM;G5ObDp(#rga$DEfE}Q9BNf^?)rVes~JfI{?BbatHolda85C3bQfGK8QM}?N{ z|84VbQMj@$ptWhgxMBk$OAaBr1AcjQ#wPYx)VDYcQgisE8Cc>D%do#*xS5xRPAwLC zvoh@A1{PXCC!jVaKOzNYm9vj(U>`rk+1G&1kuyt!n@}>FBsy%zKpDQQZn7O&RF+0p zC0s7mhruX1<%~$1M;>{E9;vBQr{>?l^8MYcBgH|N2ysG3Tm?Ti&`W6-F1jL8(6L`u z!egXA92^qZf+=70^a}P-Eyg z>)~Ooe|e+S3u}cHwwnS&A%WBAjE*LLo^r^PdU0bjNoJTIt}Ou-3@l)N7zQ$M;6Oxh zcMcZ@R^%!}e-ZczFX6HYJp4=u%#RK9QrbltOA#qQEvOa*z8%A;D7heM=scV|%oPdA zuv?JqWJ5#itK$yb`13^4u03s1R+pyb|KvqI`Bd-SpNjjkRK@&?H zpmrawT^$~N7E+O2^{8_LAq5sdm&DgB&cIRqQRv#gs z5C@6ZCh*8-_^5opFP(&Cr4lRQ*Q{-9*V94CustJjzzbFVyQUdp^zdl_km~J1&-y2K zeEWm#Z#vNKFo^bR_w2W>b3Ar9PIzz2>yA21QGevLn(3rIg1-7+iudr+D}{A_hJDEF zEkOedDTJU@TZr(nKj|pI8_BFBX)BA8eoubX?hv0)fB=>8U(+ zic+wpVycfgFpA24j2=Duvdb>J=%S0rU`(GrJ*NhiKW$A}%*Y%9ZG|AkK|`9r18w;Z zG}IX_?ShOBuk=EcL#AAASy$=w0n&j#i4+@}9^&S=py&8}cp#%9Ng3AStGSqdkCkI! zoo#3Yv>gMh@}o~_<)G!&41c-f&o8JY9;=ex@U^YBetvlkzK9dnLhED+!iE3dqgKZ1z|+&eU!%V8k=*N8UFkLnF1UNk7mgV-mEB!0K7addd+ zJmOn34IS&sS(^5RjfHh3=K+;3KRbk{GG^HE`-!nB!@hIn%0s^$s=}=Ox88c;I{cV1oT%bOO@)L0`%kFI z0e6JM{GdWcj2MB`a`Z>;4J;%Z|E3;i9f=o0vMhvl3f3R;FTSYdT!~duh^=jC=lxUc$QBtzy^mpn=%^QqXmM;Z*MxSJhJbKe3%3p{o~?#(;)og2u8fJ`;(tGy{JYRb~CU#&Kp?1 zGeB`6`$SuveMYFU4+5gIufC9%XP5a06SA@$17)Bq#dc&-QRy3;-UG+MGC5Em;V_C^ zuIsM5jw`lm)hdq3vw?**fPBw7Qk+3;r33jz_(p(uU{O$|x|WbH#Vc|GSI%M|-WG(t zQ9SVm5w}~661uF%%8vk(+U#Ual4rQy~U1dK}nqw(9dgFe6*+QX%g^D`m=$c~j0lnQ`_ZW@lfa+0mbt2RCu-)p`=#qyv#nIXwQrX+w?x*EeSj5)Pwy z)m2v^21T@aHn21WIlD-4s3mpt!hR7T9-`H?@TKS^p|nHvA=VXNO;AnkFewj6SB!EY zUc0YL(6abpaHAr?yT^=4zykg9wk{7~S}yXIgYEQ#JUFe&fqTKpCSvU1%c18GQhs4O z(`_S!wR*E1-BxCppRd09s!yLj-T7EDu>2{=*+t?NU^=`5sl;#Q@LeYAT0#&~IID2? zL#{ct6vw1=P6$Lnby#2;D5heRI2rbJ6%||Fdb{D@`p>)Tu{-}TcjFV!bZ#*p+MQ6V zm=m2%q)Wmp)`?&(TCv(6s)$O!s1iwIX8Dc>b{p24LL;zJ?ztlz=4a^8q2tGo@6N~a zli-kX){%H|+VM;fypDocR@dUhMS@S!`lJPuDZ=C2-|%J`P*^+w7K_<9I_BS#VD4qR zj_LztD5yLOK`l5QrQvid-{TrsDx#RbtQZd=xX-v~_7_(-K~BM9-!IEIvrnI0IsF9`kAFN@C%#n;CyT@dMDq{)8e|9W3;0CM|kL*#G04^57<|f^0Iz zz#p?n1+ZB#K{R=bTA@}5faQik)XV#MU8`lRIatNlB z->tQJdQLU_UuV(YdIB5CxMi zrHHUY>qICEfPHG_+L^0s(e;mD%F*y!BM5}Iryz$-~EvP0e#gIbs=A4*f!2YWl=^W38uMk!o z5&&JL2ysRqhIbLI;q8iP0d#Y8?5nDO-+xoztuMT=p`>KzuH7#!s6H2SNcGix153hf&EDgB`rBlZm(hfl4SX;OM!LM_us%?c zPTg=VZr2lL+s}T-w&~%0*j`IQx5AI#eHq%j6XMPCkddzSHLm z8Cc8ejw&L6H!kjIX+NzKJM_&FT`L*5S>!Kug*hz4-acu&!AL}!df%d9>_Sk zGydY2l7~(C65csTaozFO;>C+$v-k!U(hc1oABh*HfHfc(*yI9h4Wm`J;4fj#JK&{I zV0dJglSE!4`q8^T#ak#{#68xbQ;ZUV?#o*&fvB+7sp^^|PySA!tX;SL>ajPLNTE*r zG67z|0V(YAwJuP*3|v0kN&G?frKu|D>58H=(Z?D!kZXm3Q{S@MDy7(GI*)6>fB_2@ zEQrY*L$kleXFHK&IA!s=$;OUBT~ z=`7iDNFS&XOuFI6nsbgs)#l3WEmk+8*a4^<>^HP_I>bC|ZY}!@w)h5CrwlB=*!SgG z#k@3fPL*HmYY{Ai5K^&k>&eb@#!crLW!O=O>S2F!YBBq-E!yPtuz%_WrL@$*@y7fL zpNZh0;O6<(%M->&ItRE+DoN@?(cj!K2)Y9alkz33b_g4Jn+F36w>|_IJu*@p))Iz` zeBYQDTH(tZ&^K1hi? z7yMFq$9DX>_>)CNhwr<8_s{zROnSqAf4%7QRcI#8Q|x9Lc3fw*P-((HPyIL$@S#c2 zEG7O@6pvF@uND&^d5?IwbhJ=WucKmNN+D6e5f~&I%#XkN_3O8M`SO?yqMC}B1{P;% zG1@pS;Yf9*m<3jnZZYx36H}UXWBzIt_oe4EiO(b<$SIBIy=pL2Ro23){W|%Z|6FSC zMHm``=)X4D1x?W6ib0vO$%soiL_0h=PiF2W7cOpZYp1#teFpikWN+dmXIA*dzA~`h znO_1s2if+-neWe;gI!%tvF|I3>)HR)!VO|K68ETP2#IO4>{DvuP?6>zj9<7mxQT-; zXy4!_(Ofna(3KUXix2B*YKW>8c}z>M;4peygP>daf$93wFTVIe9qC zOf@DaZUXfyfCT|F?<))s7{XX zyg3K(Mf^;Nq&HZ@N1o$e$wUmS@Gs@G!GCX`GpGKJyH?$H9~{*5+;g3~cOwKKd$HT< zlG3L&LB#`VSF1AWhj0|IlX5>&f@VS03JE_nEm67UH@ZuU6FH`&H(DiDe3&1rMZ5m` z>yfwJ`B>@#@nf`cka&d~g8a;wH)r&+Z(wP>piJI}Xd6uA_1YBNdTw4V_n%dL!+SAt zc>JHqs;tk~??YQ5T^SL`Q-Au63DPfXnhi@u9HhB>JDXht>-hzBiBGO_4XnntPWH(~ z`s6(|S%Wop=}y1c_o0sx-!i+j-g(RM&Muu8C*$<6k1niZAES-ONDuX}Lq#M3*&i`? ztD^oYV-U5%*jG9uqib&ESwH1uLGfHtVJfl`2GI5$hX&n^ZfG4f zI_-J>_;(-@fH1+yb_%3MEvlJQR##rRF(ryAS02s}Aorv$w8C$IXYj%u^psov@s-$1voKx&%*p+CjK5$Gf z_??p~Nsf!gobe!XD!_{L@f&enq{v4V){{lbO)nw;O9;%*)mLAQ4(`s!l7SV!(!&fa zex@Y(1*H^Eb@>+@%h=4U!K8o_dA(L81V}V;^In0EKVGnv`^kT+Rw?AKC;d}S z5*#vmGmrPAn%pmb$6tSDHx#pUGu=n2KQC-*ie{PcRO>%RSn|@Pn5~sP*O>x11 z0h?wUgE0nUY%sWBI;NQ3d+)u94x*?FH3SGm7hQl5y?5;7`TeQiXJ*0j(K*uA(VUqP z;Ou7}Ju^pB&)IA5cdhlVca;plVi=0@iaWUQER?*wSRrDMeWo!*mS#7UcIKA!me#VS z@a!KXFTkuUIzBSW(WCoYyubFvdi$$Z+n>o5=mnLqyutaHb9av(J=6AMFqR0N9GNx$ zjmev3bB)?_iZjML04pWKP86BY$oPnjvRP6fQlN4#`97jkqWf^e(KL+!uvIH7YzAVM z`T5CDe!_XnD~SQXa=H-i6W_MT;DubA08_)AF$0lHL5Boa8gW z7e}UWUs7*9=0ppn-6~{5K0#-i>h~_bEG6%gdD5N_X&2%9tl4RHfOYuzIgXd= z7kfQA`r7gpSLV#QG=9Q`!Gq8B=rO$WIR5o{$0?^Y*VN=}TMhfTxPu(;xO5kA z)|z2|Yf=iwN3G1)Vq|DR{dWFgQN0q8IpMU(Lpl=j@P!e{+=r(ngfp{&gj7Z`GBQ%S z(3Tj$^6n_B=oF5W`;KWI>$8;7EE5kYt5Me%r$2He%3qOivkV3kvOCk~~)$oD( zzOl`xB@bK}w_?48jA9(O?|nr$isD;QAJ$vdQOVtx?_8X?Yg2M6r-Fr;pULkn3@}kW z3#FGGLVI;-e^Wda%G#}(by`RmY7Q2=ELgd~e?h+;F=9ks7>8NMgqV+;mHTgu z_Z=S@nJET>9*3qEbFX}p!tMi@&;X(Z%5-&bIGx z>a9k{D_2P`|3Zy+b0HBjV{NyT=c+EQ-Z-vuP3ON>R(*X|t!BK|c08kOO4uI0-~mG3Dg5eb*nG$nil7qNR_x zR8&A=bjra?1XukNS`bRMUE3<~u=WGvmBAcfPS*EV8cBra#KoJM`k(;-M+!{&fh0J-HT%*(@7@L05R^LK zf553G?{sY5ze4Bb$%OE5q~|~wd?u*{V$Fl12DR}WXbi&$m{FZ zUthQG%Iej-#*W=Fa^$6D%df3md2Pi?ob$`mr(YZ~@?5Vk&$Mfo`(6v)D|eD zI&ZC74E1raI*z(Dc`{DOR}ad8$HgDvc#l>4Y$Dii(Vd#-ukaZKrh$R5Zgg6-Mb%2x z-&WNt4Oxlgm{!;F5ONFmQx2V%G7;1w40Y%sl~JTwXSHh8N*G|7#iq^LiNFHl`K(Z? z6c?~aDXXo^CxaWL=uP_e2h9vd%$k+5GtXq$Hf2M6)R&P9> zkuitsPRds~_}q|$)-#hwERJ0t6X&uG;`Q72Hts$1#mYTWPp-Gx<5GLC+POT5uvQAD z!ntL;HK>?E#){f|rswK?gm(2!#1TOen9{;8A~Fnhwjq`IdHLm+7c5wiXBc4wSjBZA zMD~orX%LSp@dhSR%5`+F2Z2!trJajT1dG=Sd}lwlA}!vQ|1wlqBs}O!Nt5nh0{*ip z&+*f&ZWUVyd)u*Ro|XFC%TuQQ^Y(4=+NV8`Y-l<@=E~J;(kB$Z3oGMmL`TPbKIi_l zr=C}BL}lkXE#D)v9pQLAE}Dvxgn|U!Z1N_9frL)x2kZsF;{4>5!~kG<@slBwNRKiu zWpO6CzWo1lo^#s#>E9N9IrW*TC#w3%Rh^dao^KZl_ z+&Osg>+AUh9SriXW|Ng}EVH*z^09Ht46vvGlSFc{Zk_1=*_XJc*EOz3(n>tG;d~laG$+F0& zYvMzM4Oz8GD5$5)8Y&|4*O}8{9DFq2frZa{kQ6&p{KU)EFb3=K(^qbzmGaTTolo~q z_=XzQC$8bdG{{#OAlAZqcG~;Uct|zkO=VuK3h#?DU*BjQ|%G z*4m$YWy+?bFnlFE7KWD3EGPz<9|F8|%gHN=0W~tbFd9XVfNPzbYx%(}v4 zesG*f5keNsGmJ0-EP$X(7lJd4IfyVvzzx%$a7f9#;8$-KYSjC4Gx<9uDf<#7$GD z?&#a^aGSQ-wQ4EM8qwgBmpUx!-?Rr+R@YXqVLuY9tT`&dhZHkUSi@SP^)PttE{!5@ zO4}-@0@HAYtQZ@7=?*I2w~Cqx_vtl)TA0B)LMo#;c<|tN-gzf{0L#o$sv|aiHalrtM08w2Vqs(y(dK5Um7jU(=H1nqx$Pr%*?L7c zn6!D|nq8}scW!zR0R{mWR7`Qu@i4lr*bB!qbSy=c`6=vcATVv{f*xjoMJ&Nh%NnaJ zg7rAFHvp9fHB2sUkz5v0=#f+BT%*+$;c2`f-w;C%TTw0GhFK>8v(PEe@f%6C;LKoj z(`&ycv$WH!Sbn(8YrlH^=0^*52<>K3dNw-~-Vx~r$*`wy+tFldn$&`@RoMFHNJlnI zZ0Ctf9(e9vWqv@bklYPLQemzFVHsx^aKkASaL?uNqVk}sSL#)Y0LRPzkktqCGlg{Z znqLr0c;781`4kXEWA?-OJNP>y=CD=I^V$A!{GGWXiZ6q)gBNR%2Ne2UmvNvdYnUqM zjW;h08)iXNo(3C-N;w8sc`k1C>fLkZ9v?b1w@usQRi4-H4@S&s(qvDsUeyO~^miCM zZOhlxxCBq)O@3e-j7;AQ(lCDJl`?*q35^9n=w$Hj+;Ja#5 zJ#u90^ELLADn~Bd<+g!V3gkqr-5NuBrhojqQ#63H?UVM$hB5J??{qLDndEp%jumYIj zEJh+F#gr&eiPwt?yjiDFxGd%#I1HWxA_0y_(#@Vg49(!QXw63$l;=(#J$hlp$it<| zv}`$IT>Unu$BrY8m(S6^a}SwN!B6XUp0f3vK6>(WeZTn7Kl;Q>Tbm4wWAhUqfWlsO zTp{`p?)9S7;9cg2Q~JB#{qErbSX^H&gn2TnloXD-VfS$}xOP^6rO-;KQ6DbI6w*}# zzaUntnSLf#gpbmWC?NNxq0Qip2W3hKole3nbJixXeeBE3+&X%6)vil9QupI&b85cp zCs93rwo8|5t5)4ZuOWCt?3c3_a^<;{ltXJHbB7JfY1mMaR*iP^_>CKfO$RCJ3)?T< zEqZbq*2+G6SpvG6VIQ$Lh9h;yC*w>?e<~hwCZ#5q`?w;ZvksL}bi9c7YDxK-+D#CC7+#k z{MdzJWJa#uy0?DM85}QB?$KNAF-e{0ZJN3)Dn20rgJJbAGM;?)>g|YaIc*nasw#=t zNuz07hOgVTE;UnBOmRSQmq9$?RBABG{QT@^KO-cQS3;w>Gh9d;ToKtkoJzbv;Q*{d z_Z~w!Qd;;GDYT0r2%$%C-=5SCl+CIu z60!LRN9v4@7jop7$P6B$E5zhn=x;0yYsG9GA(c@ieATO0udo6va}u5N4iqg+bV?Es z*hvuerd6c0Fo_`1_T?{g+CzI*Jb7hI+!4_x)*D^f-=CT|Y;kO4l%)-#*}%T~I`!~{f$Otsj?1q;Iy|Y% z(w*}Yb|&)EwbjgGzs*gN~#+PBR%VQg~9RstJ0vDbqQ%)N|r>h5 zp~)t#a`H-OPzBH7K&lH|Ubn##PKnR?uo^(#Fv5f_2>3m0z`gOYOg+U=#= zPqmnl<|AWjEUHiJ8xxazE=Zia(pNKRX@h7Q+2^m*=DDR)eRS5gu^Vll;!*CTnR>X}7hfwUwrZ z+7)5N;F|;e{}sjo=wUBcvKJ3?4;?ztzQfU{pE>%})33Fg?N9J+a<-5=e(|R0!?E-u zx@`?>Z9jVML3hH`Bd5;e4PqDkv_1>sLfy`m<)tv0pE+~py!6sbd4>^QfR*JR1-9H^ zoy11W1YZ{LV##PJJybhA)3rj{JS)IzF)6mu3uB2by-D z&%@7}^@qBbS>)lk8lPJ^F{*|(i;{h;7 zsW&Mw>nGxMx)2k@rWe)z(^@TP+Wc6;IM3%VUP?W3ao~o7gv6|~_J!e_KAoLBCL$&} zHXh(eK&43Fc8(sSjmFPBQ?NKEKte%Qhb{1;yyfW-!xXBc4w zSgeCwaVI-au#2-plt&pYvvZHRiEqH?nuT^X_H27j=v)!4`3S#AiqIGej40pQx%0#u zZ_>w*q)%+4_qMEABg%8Sd7zglX{M8x@~r>_x25x?{TDb8PSd!)$&W^tiHBvC5`<(p`-Sl4X!J~wq>aK z2zC1evOOl{x%l{`Nt3c#e{`%=X$fdioO?4ZjTQ+aE2=LczU7Clnc|9!^9z}FTDl7Z zk^7&_-_mq)Vn_iNXI`4~I!E>D)p0^f5@4D2sF(zzlw;^H6_|{c*|{hDs1A21+S7V8 z6*DIhIxV`rzDe2qJyZ}2%lffukBYUcVc|OWTC+bs>l~oRK&7{7PeAR0;03Y3A{mOH zOWZqCQu-}SSh6;nGl|b_@{?3K?9A0^NypsCG*lXzc+&Ikzh}Z7(w@K{&YtiLEc$eDtEIsIbxEAZd*iopiMT#bF)NJap5o z+jl}L^D}JNuttp<MMqoB+QQ!t-ybFz;^TG`d5B1jZO(`y{JK47g6N7!DNLAKx9PUU_cT05+aR+1 zZr!k9$470BK7d)VEk74oQGF)ufaE00!?E{;O!u->4v#v({q8GvKixmBFax=L=Wa-4 z6f0G#v|`1IumUVIOObSg$|V3VWTKes!=2ktU~T`^xt9PY53SYa!EI0L(Nx&344lOC z0|y;=rWC~{_mmB09JFOvv^58JN;#X{xDQbP|KQZ+Th@3oW@!kpQ5%J)MbO(OJz8^g zQm45|la@xI(ZK0)(+2U{ZGvs5iTxTd*0?1;B&s!5L6`YqvHtOoe~hD?7v5pkF%ffM zo-60i%?$Ub#H$+Fd@c*0C~S!coPm`Hq%%y^pt~Z5nvXCH4e1$H0}U|ews>Fmj8jeD zjfzfx+TZS``mmU|lGFS>GU#8d^gUrhq8(s~BK(?Nr#-qN;i>sB=j(+eT3qG1 zQzWT7bvjb2G>vq90IS=I8wU=^f6)fx2x7eQaCr0~ts9V5hE!G=3}o_(cswy62jC$T zGK$YU^9=uehyWJm!DUctIWxlzU%F>L7+2b#VU1wA8dTrn}2skRI<75{^sYwAnFm0Ie!IJr5^Zw0meq$(-3Nygs zgfPQpTJmE7JuWFD-j#R>%!t04er}PhMBu5&so4G%QdfkBKr0ZlZK8&iR^noSOleMn z-1fnzOI7IuvfE?={@L7X0SpEQZ{Lo-mdEb{UklxDhf689MlWKr5-hKT6{HSlc! z5S*D}83?eWFqxlDojSE^*DlX6!V9q2DY^8LOy>kL+l6#x9sw)y+Sn2P&UeZDtu`Wo zzpeZ-SGcJHt-AP?+#yum+P=NRCu6zauVJS{^&4E@x>c?$sRIsDOJtiW@B0Gb>z9 z8>QVq?+9CaS~V5cO1>Vyk+rhG1meA%oa2=$5B2w*)!Q3Wwv10Wx;NLsIyV!oPG6h6 z=@?lFt1>%XGw~H7cb_3uQH-Sf^*gK%L~(^jqIEa*$0v86ziH-*LfatnlP9k*B?=Sw z=L#7Glt!3@{ev?js*m!9Zo*nTQ}o20gKhgSfBDNp0s@ zAAfvP)?fUSyz#i0^sU?E=Wxc^hP5*tgBXJh7a1EodYT@g{DVgiInm(fhyWyA9RZg)?fJl*;uiT)n0RlDPe zWxm?XIjKVS?Gu^BL#Qu26H+ht-v8JBm7x&{?@djz!Xq4OY7)^SrPj$kZi7Fv<=Ca6QHN@e-<&@e zp7`#&q*6ZCN7&n)`5dnh9?<{Y_<1@tvx$itehW>00$uRvvTFiQl(1e zg?E@qiWoENBi}iINUawoUXUx7Lr#>L($4&p;6XU)9h$G_%rF7MDPhW4m6j#}Z$DR; zF3t9{vW{1-ay=?ask=hlxqRjR&)Kjsirqpc|B`JvOmb#I!k!a6EX+XQV5xzq+yiis zNSo}noFBYO$*>0?^V6(Zvq6If<(1rU>c9zt+aWnY z+4Vo46wlx4pU>w)w{Jgz`>cf4nLuFDd5|I1i1ak`h;s1HB`6R&T}Cr)H;9OhW(jny z=1lf%{Dm*sIwx6vPU{()csMHBSKjf#G~fMkafhM17!1VPoJa1En-T^mZ>Smez+@DE z^rIhPyblY&Vr67gWGQz^y7I0Rr{pcpCYH&*UZiUt{`RyCmFMQN6_!BU*SQN5F1u3Y zdpW193ZF~vcN@&duOjIH@9NCe+wN&4=w_uKy-4&`bb7d{wjROQ z)@{hJyOH^MnhvWnYZaBc5 zFW&C4|Jkxxb?PNgo8EWzE{+U@Dr6bMq7FF^GCoUd^wDugcI8}QDR)mR$-Z!t@{Jbx%Lb9%V=W+*eeT+wVqnL+ zU&UpeBk^JTVpWGHygf0|S$ytq!L~_k!#T9ZN=?NU0mksG5n!{-&*aIIYt^ciS8_uE z7C%iWO$_&`bMH#Ls$WW;2rywrS3E&uIpG}OPC+>?1=iJT4>PUAJcvMF96biDtk2)= z>*J9`Y~xgGt5AF-i5zd(a|V;-_b!av{HPv*shzu86eLW-f)44T*Nc@t3OlqQ5V^ zcq=1A>Ir%;+Qjc|HZ_U+#o9sC6~Q8`NDELQ8Fn^eP7$1477z}aWfWO+09d@dWB``3 z6iIfl_6hlkHH+w+d0GciDNbt0Iawf6(b_Kz#q$J9Bg`-j4GG|97(SP3L23q>WETbx zHkgW{G4!q`B--ic6^A8J{TIFeEX7LhX(iWh`^pC481ix_@e7`Nafx3eH}0)9B1VZ{ zg_YOR=&(qqO=@Thi~w_5Bmzv33_L0oqs}pM76f zf~CZ(sE(Ha@i}91x-b?_X@N8gOgPMHIJ@wXGY=4MmeK>r*PXTUODxV8?&7*;E z(u&Nmi&ATW8Fs?M04%0xNdhdvxqMMc?eU$=g-+g;;?y-)9YU5%S!>vO1)8v_Fv&QT z5;WplaWKq!&(}qS_uk9%HkfI=2`zU516V>WVm9K3xG!|_uEdLBN;VwBl*leG z$N!O%G|}sqT0)*AT?2a^UAvBLqp@u@wryv}wr$&LW7|$+Cyi~Rv3>UYonJ6>&CHth ztea7?qqGP4+M&6twff${)ZzO{8vA~`uk-Pj{?LOg=;e&211bAuHY5vyfAzZ#LdD_{ z+j#IfWA1Wu@=V6+(HHxFk`K;cLPKdkC(oD2*6Fs*6a^WDm`$Xy6GTUG-I#o4>QZ3^llY}{#Rl}XXtgD%rMF`reI22 zA2(^_o#RxNgTPBiauPw2y(61CnGG1#3AhO%N-U*g2^?XPIDAlv((luR)<$Sa9D+da`R{F2&>VCX!F=?=P#M~Zn3~fk-##}j+HPyB%U>5 z#$;Gq_#t*z0PiSZJHhBiX;0}GM_z$`oukWp54rvlY53}hAOF(*fL>n*=Zi^07)Z<_ z?iG0z)6aKozpm&=F(cTFXlztEU>^E zAa&|P6{^_z^vK{iQ|=*XbxkcWRH0joSzIR&&Yj${dQ87ZDEh7jG?>ddh-_c0?Lq5F zddN|-1V0?XYsj_E2H-;?>H!b-i{i=Gx=l==ps(Rot$D=C)WXIgK~u3?3>3<~>cIw3 zM?5a!zXGum!!m5bf6+1Gx_^nsG3ZuErvG#Z&cuRj0)07=Q`Q~YA2z zxgD-MjpgSslYc)w!#E69xHUuR5sBdnb5jr9u=K;cJUGW(l0`P0Z1y8$8FQdN_cnLb zF~Wm+Cn9M{6JRf#X=U9?j=q1W@cBpv{6|*>2<4($bsFWp#%O%}x&^vrehX6kVt9|m z7;NV^$!;sTpnX*~QJbDd$d>M7uN^y{w+Q|exR=fAKsDLRFFmEKwRxzyo{C6P zp1fL9j3=}xkPJG_tN#MWrGgzhBgrAV19r0qkKni)EH6-oGeAEejqoambPpHEd8e|} zb_O@AVJ}dMC+#CtsTmMOezvRpC)^nP7af|SQFySP-2y!+I2w-nE*zns!{zcj!=680 zePTP;^`?7G=n&pTJhBb&PmiYRE_V{4%M}c&-!h!Q1hA#mg63)-4;4$a$aljK!-mHa+P^3$fLh6At#3MLfNYLfnW_C#m_m{a8%ji_DaZ zTsR`Co{!gr8b~_u{=zhlc#IWxp)&xssQt!iMl-7eIxj|-8*SfbiUDti-;ai&o?hm_ z;k;u83&)ZdN34XKBG#s*V=ueHxPT8r|Msh(_A`AO&d2XHX`3Z@K zf)uvhd$#L^q6jD*Xg1n9JfyBHf@ObGZ=Oz87lp*Li~=A01Zqu&*E^AZ^~A?4n~t>p zd5Uj3ji+o>Cr*#ND(8@Z0atF`g{P}?lUU@|FFc^PPtW0uQ~^wyF))Ko-A<&@kuBWZ z=Y4kr(G)LG#B{a!8?F3NS`-(}J0qIg%Ab5?wNkDn4BMXZ#QOg9#6p_eD8tQ}dCq>K z8G(+Sq_lv_=Hwd$F`6bije!y5MSnN{O#>2ncm0lx_(BNTO?(*a$j4}P*>>%Io_Z=X;=4v2R1dQ4X_&6X6sWLGxCw(X%noLch1f9=!@9U)B z7|$@iJn5o8xX!t>ps3Xyl{RR9BuC!KYYEfhg-0rLJv?V9B(mY(;9M*bRU@PpcjmFs z8s}GQ^-g2PT({?jrj97D9GR-6*9z>J@;UnTN7%u`ju=R0R15(ydy3FOrC9hpia6T1j#wK`yO$(jZk@f?KM)4#^84{5sWb z%vBUZR!Z2)?TGv9J#%_Mk@Tt(urGr>!d}Yc2U2(F)W}aJWTQOSlVTQ;i^hz8RkVzh zNfTFU!46GwUDs~8;T@Z6Pa@r}Yzy?`l*2Z6mng_^qKSTX_;AT?5dUOii6KboM*$5t z7Ku(2&&^7~o;6~CGGYPnfzTuK>5V=aN#%odv)k(w&oZ{lU^`LWhkQ5Qt(WTns$OBj zR*-5jVO2|0s=ER255MR%32U`zDrM|gK*5&ss|0mD$9=R=7VdGDcpT`D5xp=N7x`a0!@8zRIuH zF>N^ffmVzEhcSfgQF1i!yvs5qU~M)l;0klFh8e$KXvz)+leaO@W^*pQ)-$+WH_U7`Df0cl{E+Uo`a`d8L%1{%9r!n&Zi+GV>v~GIg1Mg?XG~G=y z;-%N$raHFM4Xq9<*qmdy6DR_akBM!{!T%Q@jRieGOtv(l! z^e`xrsFTqDW6AY&HLZITZhL1>+_`3gp}-18v zyZlP=pfD(5hn+~Z;xk)dIib*cH{P0a@HkZXls>$8~0|5je*s^-qb>kuCbA$h+<5+o0H!@B`tCm(LIYPqV01wGC@P?OEbj{ z)IutSVgL?C;_hAf5J2EJsrWX5OW`)8Wqs^l_T+@h=2LSwT*@(Ph&yx$8p(>V+e5Wj@!@@;Fc9{L@PPY7+0dt7pjg)amcs!s(6KQNfEX{p*}U}y6e#z z?I4pWwuB+_J3m9^FNN3=vNgro@{JTtcL-FA2+$vckcVzU*;)KV_ z0-yL3Q8h<3%q0>aGU_^PhOiB?#-=P>-g=N&g#ZP1PagQUG0CswVOnW$Cin(eJ>h+` z+fTo{2c>mvZ&R(uy#|pR3_NsBnXGHmTo%|UR;e*Cr^~BPB2pz`cMeEv*8TP@F;5sV z)UuT8>i?-}k4fg4?sJ4S-zT*frBT4jE~wuKzr9p~?@?1~e6!vH8n3$dOQHP5K+Yp5 zaK=0yvU9AM3GrCis=%YklxG(VQ$k{I=HYB1;4USP*&=v80gLI6$MtqUn3f#c)8l_D ze;%=lCfRiuzCa5#2`+Pl5Jx>m6RtI(uLg^dqpSZE9Ea4|0V$mdxL^Iu@@DFU z;qw-D;lQF4O-T9#VKYjcNoKI!?r)4c6kDR5c>RLz@%VOy^eh9VJq7m87pLE zA02RY*$E8_UTqvI)V%GZT!D=S^zr^Bhn6d}hLn8)n}_l>+qMT6b-J}~yU~#z3lu{y z`%_9AD)UMhfEa-Q)o_)4&yxwZ{geXl%u1qAs)&$`Nn~`9eTf)oQs@z&;RE^Wg1>kQ zOJ$d7pH)7GGj0{rEnq6Nn;0=Uw!DB|tDcw|B!(&0&PQ{9X`7ezc@qO6o2>d6m04ZZ z3>AT7FWG_B(p@~7XNZd4@lQ9a#Z0Wuw5SE~Kdn_Tg-AA}eym>0xk4bIJWm(_rpqW< zk5FvTaQkvWYlEkHzz|JEg-zSw5Wbw)-U zB0hw%F992e<(EB*ByvLNyR&;Rcem}m5k`3#XN-Dild_SU@N(m}@t`zA*-Xll*sqA& zKPwDoF$Iv1`+k9q_o7qEY5np4B>K9E0JgQkpPd(gYssMB)?z@{VqB}*kxgA%O{>-P zaYt!pFg?pIr+4<)WE|$O#T!zF+r|*0{vzC4sUtNwQK<>Fxbs!3o9%6E!6W~PIR0tx zgch0Duzbn0;PtwFhXn&;7gPQcc%+LZffZZ(!gI)Nn8GPtlDE_lhv+>g)sbqgGAne}-%>E;|544J7mC_t+J%=9;tM$&eUY)n!9e&KH(es-t=K`H#wR*w#BY`NFj zy7eq!WU$}Sycz}=Qi1@)ag)MBhGf~(-yKrCD?l3R`0+Y*!fEswz!S-5Bmp?1dEFl; zkyac2>D7{oLI#&75A4sTj`L~p3+8c{aXOa98B^4uVc_Fo#G>Q&c)|Y~ikO!H!n&1j z1`21F%s4Q&Ai|pARidK7RC&J1ZfQu+ZWqgG2vV65xJERHD@AB^)rorCF6Sn?PZT{6 zslgYsQ3mTRK!TCEn$fhKrlnm%Lm5FRj%=#4X? zP)3S_-BNzLmlJBKn1>%O!~E(Od2J3S-M5sd=dM*6-|P}0<3ly;Rx5RdF1X2vvaLs^ zW+$B|J|uK9yPcD8KE%%Jk*$6<-9=jQn9$rXLrb9Ci>~7bs-_&U|Pl%iE!(q`?>ZA;`6`k&;fC!zX`M5er}u!})FQ!H!= z+l*CA9J;@QFvxvq6JZ$!DtZ|1#5J5;ZBa{4%>exKvVD4<3Y{V1VJBJ|ov3FLenq=l zm<;t{H27u#y?Z5`NJ>%Qm$z_tJ4&=LI}&2-^8$j^0fY4fA}6YgD|4eVmqwz=;ql0Y zU3hPCAcl`yaRL+_$B@zfE$-+wM=<+0(?MIm`WAkc81VzZ09CCKuR31Li@k1Am||RF z4Oj{FQCFWlfC)$uZlW8wW-b1Q2nB}!Qj~=M0O*R`0?nt>AUqBas(uA_m@HgL&#I4u z|HoY0Wxf&wdevi1W|!1<^pnsfJvGbt8xv&IX=;Is-xaP$C^b?4NVNHtgYy|RwcN(uqj9qSd>|o05 zlY!J{l7cR--J$hULX@v@NQHw#5DuZHC02gkFY{t&_*Yj>YA2OLOh^#j0@RmSv zYv6Et+z<1wSb!5%UVM%EM*AxPpdBe-|^|;Vy&V{iE;*b3g5hZHV5CTp`j~^Md=F zg6MQalU1e)@Jf?ic)3@40Q_jPj_PoT!Zjh{=2O2nqz*|<6!NK4xQ(FI?Q&%@EA=m6 zS(G`?wn~GZ%WUTmvRR99{TEhdI#ibym=u8EqkR9a$5Az&fZsb`8ogW-+Ga_h-2!>% z8yLLr!kJeOndlf!+%yW8wM78ju|@n()Vr4_>VheewFxUr->)lFw1(R5ALns1mI3zj zn}`){*P9H?LG5lEtxGx2$Qy~6deHiFY1$frOVB-4z-TnV=F3fRRwGiA#lHxsA8%rhyOaMv;hByw~Xnha>Q4gJwARTNvLzs z(@#QhpVqPRR;c(z^aO1t7Ckb?F@!vcLxlph zw9_BdLIz$MW=wdF5+Wk%q~iJ@R4=xtLz74958_4y5b$*DKH5Z3VbnRlGSJsnZ*f&b z5JFV2>H-k{`!|8)N{N!9s*+B1ZP5KXHkE1{5>&5w{#l?5y;VfFEcb5?BN8hEw|ugVD*xX^PFA*Od$L@ue-xhE ze0hwbYtB@vsx`n9?fHBhFR=&hd$pgn}csCd3)#G9kr%ZJ?RiLqL4a^XDmp$V5j8o?|cqxRWMYMo2fG6lcPxioa6 z+i6g(DVGc=(q>p2a1NS|74z(D8rRdTnqh1fiBtwybAIC;1c;;0is}~lUSm1f`&?V z7_sf4JLW(<`1iQg@elP9&C?iE4Q!`y(SZ>@$mLkvLWrn<|^qA#WD;ZITrh)+`S4US9G zw>tcC+toT_1*xur$JQnj;;dYb({0;RM*Se~w!Pq7^>I3%FDFkAH@>a1^e|cS7Me*V z1z4VOUHKjv(6gAUo@c68T#~wL`zQ44Pa*T3=*j_hu^!;4Qb3+?FdXq62qp`Ia9H( z9746dInI2roL7Ur>9OY?3{vT&0Ejj&{fA;N<#=SH@`7dE?o34U0iiLbHMb z`O&>uFHGB^b-GrYuFT+5)q!KeZu!TrRJJ^S_e#|aaQ?U7*DJ{R?oKZ^F-4Mwc!GQL zsWcX4f4f1N0q^T^LVBH~{TsYQTN@i+R{94GV65YE@blRCqP%kTa0H{i>KQD(b{*;bu6pF+jc zp8B$pmF;y4<`Rx;2J7L-&^t~@(}@0R);ji}{I8>7sI8IlxJ%^D#W}5HwcU`~WV|B(wO;`AW%jB0JasjTngnM++7v>A%Lgzv z8!E%$YECQ!?JPo;>0o0YIF_*gQ5_{u*v<}_gI$?kdfr)0Z9pGQLHsx-E+$+eA>mM` zxW+25SAPHQ7|zoGd93G23CW?F(v-x^i8E5ZItUb_>-9Rfv|IntGyWm(@(Z4qF$#Iz zQ2_0Febl!N}EmHMnr6J;qzmO z#BZ6h?b^B8=h>yFmv5utAgJ~7+)aPz7Q2(4SEWS<=&Xz9|3uI_xmoz@zv+uIYE^A7 zt`Gg2X6YkDS$%_PQ@J$x@n!!!j@Cn`v%;9;qJQpjec6`FLh}sH+jOFe;d|NSAUFGZ zV(^IR&#US4W57iROQXbKriTFSl5FU@JXA3IU{=#fb+e(9_-3&WIkB>9&b_25b)Sj| zCQiAOOxH3`g^RuYH*%sIlwW^-U26^*cGw58w#ZdJ#~7P9_f22c1sKdB&-y{yk!HNs z%ARV*{So4;C2T!|ykKEZp(smg@?xDmO?OEU2j4W&W z_u0d$4q5N(N^qD{c)~GxWO^bX#tRraXW)A)Zsqa?142(Fo1{Iw#4+SXay}93vGzNC zX*A1kH!>}1fGS!QO>aCgaN~MYZewa<@{Zrhp6~n%4=D{x(~_>(`WjCXT+F|2jIZHk04pcQCzCKwbrJ*B}t?`vk*jb`Cv^ z40UDmEn=Q31=ryKM55_%2&)Xv+yuBz+IqN9HUwkpDWS|kl~yaeeDmFXW<{YB$aSP} zs6IsTSxp;(fvm=eANQt$c}=(LcL{zudolftb%Uru35%TS( zZf`XYuBk$G;7S^`c0XN1{zmr3M&a?l@2@&xOU4cnM4$5BIv7g0bekmboOHUUY@A-D zm})4VvfTRS^-_61;jLR0|2Pvcer#E);$lqrj`*|p_RiL}uL+ZfCQi{51TpIgQN@x^ z=L3AX7ONmwO&Iw`LYjI`>8S2bO)^~_pMobcnZ5FYy#anUanfI&%9I{T>btN&eN_x) zI-em9Hr~r08?%0!$E%i&Y%aAcdTh;~qJz&c6>ik(F*S+&NdyoHTOvzv=$-qTCYjax zpbkWvmMtdNQBNeBn(=1ST6s=#nQsZz1BZ?Kn;EA# zETGeHuN(PmvT!WjWQxyqZ@NakNf~5e6H`1N&!f&cK(v6ikcC|SZZ|bcbzR{n@Zz%N zYt&;;fflqN4dC9r8W2c^6?P42JFw>bZKn-iZnyW|SJ7tO$VEuRCE$D^{_+?W>i!Cr zIXbmy>!O}2+hWLp3F@xLJE%xpFWLY434F6Nj$rhh$}^%tP^3K?Lq*J8$LB;j@J#Hd zlRi)^r|_=uY;EAB^|sE_7Pba$EKn}Q*P>WH{pY9AA;vrgPL{^YRy*$HEKr@+FgA&i zb%Yj@w(NFQseyAQ3JG}I*^5wePT-yGaA2DP|7wUIzIoD z3c%qLwdPS`AB7b-$&ZM;Sa_OJQikNFSsITo98Uc9?R!wd>P{scC+?+ycG&8m6G--T z^-Zsl1aM~~G!CG2!iQC+XMK==BKFu4fmM16bl_bn%Kt2dO^N=MP7oLG)JYm$`(i0d zTMZZtKbp)4m<8Slq}IP|2!FV0&Wta=bs>iKORFUs!1vRD7+`e&Xlg8wtH5Qe7exP8 z_2>CYJTuKY95?%VmqgY9!{=hTD9?#n&5+zuvKEF!&L2S|I5`^1TmF?KzFy>Y6n+ie z7D6>Rb)PeCeDT{{kgCF5175*60!RoWM+q-h<0t}Nci-k&^&lV`Wt8WL7fJp;Rv+V* z8Rp*dD|L?#n*X#40=_lC$_G2VU|OQRC98>tmJ*9iGwL$>0nKO`Q9e=&yG*SHe#M?9 zy3ki_C&HPT^|4h8+oV4|1=$qgnZ@VG0x9k%IW!fJ%}xIO%VKy8^=la2F>VZ6I_x{M zo$Q!@(3bePl4V)W#Shuge6CP@?9y5Lp0EX&=uz2l5Y4Mf1VLX?Wsb7(9k6Lu8qMip z&>F+Lg-!0%+ONB*xauMEn{o~O!kapS5E7c-S$?s}Q$4v(1Jz|AeZG}2Y|oYz<{0HW zItl{fHXk_aVD&#ffriBKx;h+EphR{kPGeylzK`c2#qT3Miw=k%%*CMwnSE>foW)MQHy@%CeUl% z(?hnf*#$NKmX8Q+H+B2-AX!-9VbEE0$vB1Agn)zdIKJ`+K6V?W z+jC^5s2kZMwXCTA+;U1;QPNONhEztDHYR(!GL-K3~jQn z^J8Ul4rXTOG?ralgR4pAN^MXd8lNPeJZ|Kg}sf^D4~=^ z0A@HQr~&8(cj;5*ZubW7c;1a%wtzdregL@E2RjIs>LR86z;-{<02J=#(>H-8Gs5%W zj_Iu2(*C$GY>pLgcHbL9rJGRM-dD9+-W)bwzP7~=2=gEKK z^a8laZXZ{WbcU!IGm}RTmGxV}(0P0JX_n%^jRkK&q2txb(-Lk#yt+#lntP?>oxNXKR20--m6ba0@p)toj7@6$D6Qngtj>I?$l~3a8ou1|X#Ag^>z~pBYedsJ zt)Hp3IGMT#2ss0AR?t);N4Lhrt1S~FKhY!gxMQCS>|CzIM?=TW0hcU3~M?3 zmnm^_EZ|kYndckWEYg3To#DXO2m;S7?kip+UR=^YbMBQ2G!Ser^ocb%qxINoS_r(; zpLJw>&(p2TSY6jybrmkk5GyBBn;L`0+NOn&V@aQ2j#(SyX;TqrACW-M5@`STAU(fvVUs69Q5MKw}V(q1474HUb4S!A)AfdCSW zUx35quv`dX!B?l0Y!?vysu9PUyvap@^n3O8l}sD zPlW zU1h?t8IEvTotS!Dm7b2RMYwtg7XC@kLI2{e z;3Hx)m)j=e&IO67K}{t0gB34S)xRg*SOCL51W5G&Y-TfF$BzL(ig?uMYw|9-jKyC) zdP$J7a>x{mv$JKC2htGcT&5hPz>dF{_oQ;j)etu&x7n_&-1>5C>R+>I7YFRv?iM*6 zsQJL#OT+1Ox8U0IkH^ZS)wGCm*=NHH3e%^2-H1ZECJ-*{(+I&2K$H12%H!+ybMLcb zs|yl{QIt>#XSo^Y`4d3FKo+T?otUi2K=eTW zq)Eisqp`b}8a*s$CF7OP9r@Y*p`qXQF_C**XQN6 z=YvJVDvgb{oNVXn@`~+HTB4nmA6$zN)Tt==i6Kw)f#OW;Iz0Zr*A!-FL?U99afO=< z;$6PJK#LwWE0r4HI4Y~~w!PK_j4c8+Dv+>bFmo=w{QYo1PMUX8w}sWqygOfQEIy7_ zF0~`=RqT|S00mza=z!C%R96)5y ztj%rRJ7mhB{5!b2UwEz5Bf}RL?^jx5K0g2=tdB zhLL23^m?`x+j3h~cT9Z2o&`pKbqWgKPX)f5*(6ufac>7pBn%xb5eKz*P(R!`^8giEospbqDql8KJZ{F6~84vhJLSn`s3 zls4Qg1>|u*rO3SLEWElbwV_TH#?2Gx)gco*hgVJH8JX;mpEkrkVeziVa^)!B>~XgU z4s#pN_aM=i(32__z)|XVM1RCg4p*K3=Nqt1o|6x8L--i`qA&F&d34d8^Va}Nlp5? zzx>ZX?6|WOy!vruGZ-oK_0H7qqk!`@&H>%%|}x75?k&Vq*zLs$b=a zL}ob&qcPs#le@GUa!c) zh7)7HPcbb=UA4fzHnNTsvR2mWj=I$9_G*_m+N=_Ilh#HX$8qx0ceNcHB>VLwGsNNs zdzX4r`F#FZM^0RJ)s`vaMIgu@IvPwy&XnPvcmrr>I!Azoo*BPyl8l`btIwx%$+_S8 zdTQ&pc9~iF0IHoz%uG~!hCrnwh$SXND9g0LPz6P3~v|@xG)`h0&Ax4e$ zNiVI`!E~eLZRIdf0#l-l6_9{&V(oS@Bp1f40GTW&G)y^@eWVqftU7tt6j(nCUxMGe z=IGfM#04gO)J?-g+{j)f%$4aF7pN;oD`rH3K@;$?3Q_*L{Th)ng&6wM=!ApOxDTAU zf&K-K4gA1FpN&>K*qjEd@lIq8G(hAo7`=Zg1U9T>78kOQ&-yH~3y_rfK;hEt*~pI- zwWx!Ss+_nf7Ej7fof>t|OV9mls96KCuc)y==1eap;Vru5?Wi}X_7Nkl7Zr|JX1_;_ zcZ;4OVL}F*le~@Rv4fSl=L=0cd1W(HvIJRtu$&%J$gQgFC>oD;yB4 zTUs5p2A45WW<*7(PiSl-mL(qWmy=egmKoIQr|)7-=X0(b*oWt5Y0khuHF%(#ZKYKY z>Mf&XPNov30sydXFr-?U)j~PL;NE4**=@;}90Xc*SxzKlx7FV2Jt%=LS@5JOx#MxV zJ0vs#DL&8N?}anY) zVHo51APymMjT*deuJZM1z*#n+6p3G$9<~F*{34AAUdH*+OX_2ySx0YA3@w+8%UMg- z={KY7Nob-5{M*aZe(-v@xv#@oP1!D}Q<>6QM;r@VBR}J@PBf+GLaqx|qtdZm8Vb=E zevrDOmRR4)N^>NC5rf=>vh4KZ?Uj(rR0d6XYic77*jgHzAikkF-A00Gn^L40n8;1cyEVwr z74(DLYe$|8_%8`VMT95_V5Jb{poP)K)74d-O(8TW1?$oxN#90bB;7*3z)Dx-7!n;w zYWA2|*sex*aho0ly?c!>y^ELM56O82ogqX)`u82RLGCu8@|(N2S3g-vm56 zeiY|br=4|~`hh`9tNXAY{x`#D96n>LCq?V6*b&NnrpW)W4p%R`? zW&C*RPTC626Z62O8eOg-;s+AVZ(d*2 zJJB+v=?+5vEKvL%s|ANke=`|rXV50{Yl*(`Y7H8uk%rb+X#R>v2<&iEtmvs$9x;I=OmFWY0goUEyHO_P)Vn=}$!mP7*Ckx&G+m8MW! z&5z>sn6U;UvODgn&S~AYm4HOL&BQE3#EVPVXL)BaQ}fYC{epTVam|0(`*&$-IWBB{ zI>18U?-oucviT2SqZJgqQN;k86cRE7x=|84H%PyFSJ(kd&y$ayBrEuOS(tszo#DB< zmlQAPm2BPbl@Z&07+3g<9H|dCs#}~%&1t^W!G5au5pU!-V|&VVdo3IeG)=5ZjpLbL zDe0p~1{ht`j0b90XX;sH2vCi-K1cx+3zbkR%L$z*w8;@n2?|FfXdau`ZsDsF98Eyg zr_UXEOstwdJ2c9fi~-SA+(O$_{OGg7oV36wfw-MVtQhoC)nnfUyC1SiYQN6CC&w4%bD(1SxitH;% zfehjs7SA%j)ICQQ@ZcEkU`deyfyo20R>Q-4C}nD=jMd%RNb*)t{o0u_Uy`iJB`DLA zKNmSbULjp8>-^TbA~6adK`=tz8@IHVM7aQbmFluAMRdfFQOI^Kg#LkHT72JWh3L3q z*(BXQ&{~;$VMD^xRavi)h#rHA$P=t zjW984a4s8_2l*iec)`fFu}BqmcW4hw%hBE4VyBrZT_ew$E=?(G&?Ei={Od-)FNi^2mV$8KY!0$WLQj*?~K+?dr+_aw;Ca>a2SgOO#PvtjrOw98HO(F zIh7U|gZiWu;+jt&lIp$j;D|(iy(sY*@$4(Z@PbxqFJ*vgQFT5$ia?iNu#sPzXPHvp z)>9Y-<&rfGk%lSrsiO28*P!an?)Q_9-o|j<-T_{cB^pYIVR48ZAH{@u?&iVwgU43Y zYcQ6@6p{djWkQ3?;cOo?BGKDaiodIoVKH}+y}p$kJ4*f88Ors+!jd7Y0ZZnP{RU!d zhlT*6)vz^CBMiFJNeN^4x1Z2_##x?3Q!<7`kBBv)ohzDDtGe7VQ$Kg5Cwr?QCQw-- zYHGlLfn8~r)m5Z2svD6G4(`v0OG|C3*qC+~JMU69I{mB`>Lx(X+k)>*rf4wT$jt%8 z8bbb({U?@?%Aosn|5xz&Dv#|1crHhbXZ6Yy5ov@M?yyPcLR(5Nz6Qa)^QI_TG@tkb%)n_Sze=Pv z;bi~;LQs-Whe13txr~t9tJnnJeFB<)jV}6q1MiQ=VP6op-JX%H%gp$cNh(U8^;#nZ zy{F$89?p-z;dvp(Wg#o(By@BT*q|L;^FOThh$>*zl^v=N+=EPcV z@Tng&Xv_U@GxihK`@ZHc)&dBFF0-15dC2qg-R}1bMGW##P6{AGXa>P#wlyP|&Inv8 zLC&+wn^4H1WN^hWw5t%C9c1yW+wf*hzT>Nh59eh2kW+j7s+4!BTG0m@?n(pbkZUuA zsnvb0z9`^S5o39KJhrw#s0p~%jSRo4XsP%RBSNX`Jic?&*5s_9-_Qs9;zor6joT>- zP>M?3Y-jKt_L)!EJ^fxfd(fcM0^GDZb0W6PWx=_8=4S_dcjybjTOSQ6VFelL^Xul_ z2MzxfB7y8o%b9aI5KXrI;CFdU=Ns+pS}WETw}pi7;d5J`(wU}OdUf1cM~tqO>7MSu zHHsq=B=j#1_tdP>!DJ_(-{J#mG__5G+(=PJIGQMnMQeUh`zxXdUR*_?k4~ieU8wl`Nw`|6cL}B5D@E&vKmdKsiGm4nJZ;(Hd;Qv52G1sGsDx&DR_FH2eBX}`P6p!dzc5fpx zM#M6RfR2`>=KRL90wq*T@vHEx8sT|a*=w~_n+0fBMj@{WzZPI7_QOE1oB4hy6ST^? zzX7NB4g^}AHLl2xl&Uls)_6r!SEd9LnWl?j}jH{CHGlUH}K1j0>!iTR1?zPie|H?2P z#;*y%h@B0}h@zL(?o9BNIg5{_exRs(rJh)}(am8@>$K;}_FbNyvNW>(|K_&;K}-PM ziaMWmEHvh=S)p>oD?Fzx)(BH$$4MJIZRVph1CJhQWh&boLEQ~o5AV&foaKI*394-O z2d8~6&~t;9Z`Dyn<`2bq%*snHnm?XRkbDgUvsf~c!cU}5bt2HZNP^&*7W-&uLEYp! z&&0)%6SzhC&?Z#b{Z;S>EA@{fd=%&Dy9J!&xQ0oMA&$lhYbTj${z`;X+FUzsrvRIG zXg~26?yFcl4wx&{SWY3aG$YScV( zf^gufy1{7FeKJJEUCE@im`M**CXgpG&@(7{wU+m6eJ0|^Qd5|VpEzMqC_WO}ajq_-ya{r)BC685jIQYWK!D>cK?10B$0ni{YTUH|rU zK#ntpwtk#jb`<8xZnut6B&2)sU&w>UA{F$r39B^>4E4TSDx>}z*PmDU|9m>&_3a;_ zb*Rqda?ej24x;E9tl1s>HEeT?guvfX!Gtuz)v+rZ#}XI#Zw9xM8-O|}!NG3p%8#^F zfA7WIG-b}Rq3rclr+rqLg5>TMp$lEdn&f!Q@sF13<=P+~PK-uqqSPjCu!nAnZJSN{Gmxf;9wyv`FC57>7O>e;%0^A&f zSh@wjU;l=ZuKK-RGHxvVjEc?u$ggg#Tp#6)P>n=tp{3m$#>8zT58A1f!+r)k}mAykD#dLeY!&4{EV$bEZ zubo+kK#+u8o#{p|TrM;;iS93&l}@`qC9eIZ9H&k0M93tsXD;hZTQ!$7Zhc9Z9rPQa znmEeU`E{0rEFu|~EL?cd`jD-DyW>*s!==ttVU(4X;;oVf&aV^du;P=0`XzKfE>>AM zDM$2TDD7royN<*B>xHyyLKs9dJUFm$gU5o{g^I2r+D`D4Nkb2lkVv5dbv}Y2;ei9N zY~%oN86$+;$0teEZ}}AdGGoNJ+?cf%G^p!8&%nziU@sQ3=GlB2S-5xFFeFS{^zuJ% z#%yr!` z0&Jc8Cq?J4z|RblZRXt_K@Jsa9Gb`%#EDP_v2qQBvQ<$gMt!PDN)H(OuPG-ACZ4jg>A*@IO>&@7^3mdf@NLaUakN=N_l5@6`NE*k${Pe)aR`>8 zZG%vNBWsE+H!@lwk}xK8gJvN0VIr=kGTa{qRdrL`qZJVhUYkTNu|~$TfmVj?DjqpW zzxWJv<_YIK7F0R(8*vTHktRZ2pu*bz93`=Y;G-ZLtYEW+;3O?FU(?FyM!{8_*3C8e z3fn4~BzoBm@!_)Xb8mCrwiD6*Sx&uA{3zP$8#YDc3=hhVJEYL^p)~&Wv8v<(#VH}4 zvITGZ9{7V^-r;DAy`28ggx~q@L)}YVEj0nP!D2Z#JMVAJ)9c44QR`kJu6~VfTl^|! zug$h7UoSeTDnN&LRf;_86c-n_oI&KyO)={((^8Xz^Qn0E)9etS-C>lVBPB2R6E4;MoxrlFc4Q@tRBQ=x$gF1slSNh&D ztx+r{aanLya7-pAT7Y);Pdn)~8)3jK>0e(&Q$^Hjsa&ex=wG#au7z?-Kv#@Vc{42; zwYYq3lN}PAqbcSiv8TeK%IU!Gc0rH1w@^4NSInPI?)YRPNsNRBOr{y{6rP2KJ)KI4`U<^JUG;}fN#!O!phII5CKv2LqSF3*xqncz$H&_0j4 zT(t%w!K)^Z)$9^AW=yh5yP_zALd>3ek*5FKpy$5XFp#~UR%qSomGHO$A{Rb|TstR= zP4F|6N0qVej#TiH?>>|N&#w;{pFc`Fp_S^6_%jX{fnZSyK%0)+2Qv<*+AbNf^nmN< z+hcKUbeCOKV|?70MjNX8+Y>F@xAP_papciXqLQFd&H;5B|lnz;b zj4!w7Z$yrGM>ZgXqem_G6ct0|qs!tWD?t$T|2Vql=(xTv8e0<^6WcZ>wr$%D+t{{k+qT)p zNnz=ds_VlXLX*@?IqM~O?qv$})kh013=(TFRGX=4Wz3|4r_MWW+#yg#PguTvJ-cBMh8$1S<=*4D`t1XAK z+-3?9(rm3tul%HR$U${RNhPT@AdD=dhg_b#pT8k9O5U~0gKo+8zlRDg&rsH)^^4Iq zy&2ZWPvI}*pg(NLxy6k)EEzbHN}Pv>@AkCpTOxQA2!dpgnS z!^Y1~q>V=Xu?3l*q_SWBbiOR6GEm>< zx~wfo4{`^T(HLsyVMNe1oEk!SO-B5gW9dYX@d#J6~KazslBlRMHzZDf-LCWc;reR%36CEGBkGqRW?qgjWOMqvA)Lug6hgIh>@( z8kYO7(5xq{q5%%>mqG9+kwC!<%l6e*IB=>j`qOE??Fqoh48qhz_+jCiteG)vIob+L z7yYoEP3)=BvY;(eXZ;1MashrHLe}dfG_oplEd z7^_W_0THUD_~E(iEZ>iAF!x3;xcA*B{jGmXytFiEVU{`djpg5#TbgoDJfg6h3<1@T zIFOIE4!7&mU6$E5R{-v5t>WGwvu>X_|315-Ea2QrqX@rek zMP#@4G%xky%Ck~ynPLAr)PyRq+|dLsP$pr$Ft0%d+e;iXDbjO$Qy_3TRd`M3SKBYC zCqh~*Ol+fzCL|7Mq9K%DQ`0Tl7F0E8++C{=IovY>4to0h8>uD(5fag&(m(GQw|03yqa8R`gg_mX;NBPPGZn7x3~f^`|x& zb-{E!A(f7}5~Bxos>M*h;jQ+h9700Y^#u0casI#zB+iRv`S>P|VB~Q2NHNhr<~jcy z5blLoGh*t-U`$Tl9a}mJ9jQ>jq9tL}+QM_FzTHWOMV66zgTN*6s#CELKP4Awx;|0& z3J!2y%0~!3c>c5A`s;y{YDFESRE4!*0amaj_+lCClzzn zn{jMv@0Zp@Xv8_Eh3+*3@lNO6SDnFEoP73Bj#$2f2vhvjVSAFgp+vZ$79jJ$BRIZf zY75v7st2_)8%6KXZn>?|FCPMfcO=X3VGc#qN+*`qMg3d8#3}Ou<)-w;ujk_xreqlT z4_q`#+rtGDzDj1Z(_gdo2WZ!s%OGhgHITNHd?0ROv&~)Qj9mKQ4pC@ z@;jXeWo0aj+d)Z_juckpk0QUyhFFMiEzS5oUWUoZ)1GBft7C4~8_C9jY-+Nk08*O> zyv(Voh2Y?zb$%DKD=TR>IS$Wx>oOVr925yMs_#@<4YD`58<`mN@F!~3Qz2dBV{O<{ zXol^hZ2x>ye+YUgtcm?ik$^Z%A;7@D)L1zc(uISPgEc2pq;Z7dNG0v8{)Nf;)@rp+ zcPgw7EkNlEoy#JcvHuec{*ypJs;t$Ol5RkA2?=hBfy3!DEcf>-cOTJ*%7Y<5H*#D>|_(8BDr~pTENPCj` z9B%(HhzuONX3Y6QQ8GlgYhdJm!%Cd zaqnsKsrv6hT?@0%Y>}QiO9>xk$7)y0DPk8v(&F-d;$vtDx2H?>QT}=+z-hF~vDV585GMOzQJFI!YJ@>u-4bBvbj4AWrK!(-Ay7 zav|{@Jz^=MWHt9C3c|m49EjU4tgfUF0;wzCW5H{UOms>0q2g%S~wq_!szN73=!LBxo5#%g=m@! zW4er)ivUke2|=?)oykoWCJ{_|+}NEMjL^S@_&q6au*X*Ij|Wb8`j3H|Lx0=>&GmGD zepztp8$)!T1V2L@7jYU*X!!iGze!-d{_3CWP}b8C0V#A?E}9!VO0~PI$0&C)el$6n z!kae6%utsA9!ZQ#a1>=AWp4~r%-G@1V(Yq{CwWA9E4PM>o*^LA0>hLD3&j+ZMB0yC z>`OV!V5z#xBi6k z@&LID2JLO* z4ouWl78Lv`K!OHbZOF|UMVg-bj-AlGR7P`3x=tsRjK;3;`1b8Kn&%$ojU#q z#mIxWoI1pUR)t*gV;3A^FW_7x@rn_@L4^$a)3R zl}#53T9<0m^@0p5$cm)PlTo{FU*<5l82e|tgU$u7xkEAe9G^!?J~AR9L}c>`%sy_J zqafGC5A@G1&KO@xOncSu7GFqXV-kkn!`k+~eL&KbYaO@#9`mfyU%8Wnk5F3!c#puk zgh5zP%mCZ4xpif0rT79 zddYSb#jL}l+G1>f z;Q8`|@1N&Kw34T;yO4m=w_MGGK!zTcaI;!2_dmuw2dOUw$><7;#%t2|m@@%#B35(I z>w8S`bJ!o&^$+J2oGZ$Xd3p=k!wS3xRDQB%TC(+K&GB3%A*_us({{UzuWeZ_3C4is z^hPxMq9?B<^;xCBN{Ez2y;W`LUaH$H_Vka717Ny0OeBqlC--sL`^?EJiY^OXS2*Pk< zE#Tk^^Q^HhqYi7^ac4bmpeErC3mxh*K|T^uc!EjyWbY{-Phd^&9(Ebw>=0AV$Kb5V zIb0&^6;)&v6*n>&b77+7-+kC{Np_B@dEEUXt^ASN&|q5B7!If*%lN0L4y~3G^=8n2 zh>Zj_gdLbVd!XR~v7Hv~rXtbF8qgt^e$nN@Z?E14bRA|P65%`0FCJW;344c{(0=Uf z<1_)eop*fh4#%4$H4Cb#t0$A(sGaDCe4oY%o(J zcE2=Jjyz>cj8AVodkZR>o$1DB3%6C@MN8+#@H-(1iAUwLDJ4<#$S(wkgrU?d~6x(DVq zc(&x0F$7a_%-F~_DCQbVGN5FR*|qTxgVK~?@2zK$O z&OA~kn0~?}G~4+P2$;3XGi*4YkMi>(j!T{@LB(n9`^R|EVNri|S$I6p=Uk(4+VB}{ zNeN`ZK1aI3@YGUwTDagwwi##WnFvUdz!)upAf3y6{)^UOZytlqF}ivfwzL|!*XO&h z43=v1tPGo)qA8J@0LvUHciOiXNvAq1`TeJ?2Nt^-#=7DqW5GbLpP91W&H<#WS^2oC zVn6(R`=hr0)2ev#aK72iP5o;XB3VkHa=70_$1jDNjfTx3qUh+<0sP53FyITSUKP;W z6YwHxmD*m!_?h!GB(Z)3=Cds-X0>Cwyjh8BGfzr8Q(q{E+hA-!InE_vrklYonn{o&3Z zNW|wct6GOn3(JN@KFU8F%(C{wrX;_%jHNpbbBaObqP=Zdpf#bSN$&$5nJ~-0BP2uI_3C-aZ|H0o2^H01I*-aBq>9nt zA^(!iM%2{)F+PlPE7PsAl5}*NB#R^o0dIz}KK<5#7U0}4yX`WFI%D~4g-)}o##A@1n>_;8g z=S0V)@>;^|BK0|v1@v7X_0KPkpmHr$^7P%DP+7W){JYN_wEe&`WPDug z9!)^3O@9<{WTUGe5{VjQQyeIVn7xdFB&RDms7q!H)*8wIX5X7rZ=E^s5HBc&Y}8R8 zMp?w~x|c({)}b^F%Di`CvDIzslebtk~ zHT%txOpL{wVBq*j4}{OQ5`rSG4ATScKEcGhul=mR<{RJG_dPnHyX_{YEjDfw1M70xXrxm(*^7JE(`CLt{1yYBzs~eXSPj+#EFsY04eFS zuEY%=SWaHS=4s`;GT!^qJO5J3tvjjfGmQ^yQBg!jnZaeuL2Kwtgt~}eKk<{wL9sOL zn-=rYox2WQ;=WTD`607leDs$S8VOEU*5KhMIOmhY=;kD^2TSj}LovPU?WQ4(iwB&O|U5F?}>R;qimWNH`|6 zkD>NhhAdF(fZ|2lUdE@2n$j8?P})Q^HS~7~Wz3O885;1o_|7%k?t}g+FCNEvKC3sv zPcd#St-~bp{cwNu_`_ewK9oBiO0fgQ7V);tlxFCZtL7os!O?;SzQiyR+N>06iC_H#p)pVklLRA;`{iHYI7y_bsWs^^poGG z=`)J&v$yBQhpHV+1=$u+?Va9`q}Fkt?AM4j+ylUpe7=GT9mp!?JXbKBiE9Y^2uVzu-1?rbl#L>R{NKLhst@q z^5ST1x$u{0f7&`_D@w#6u^ofRd#LChf>RsW&;iV!DZ8^fr+KeL#OZzC5@md4MR`}q zyUzJ8yRNu=HF12-_W1mi7LsoIF!0HODvhn3HoIFu=nmoM@xYF z?1^{5>)P9QVlG#1+7pJsc?l1P>NFr3_4LlTM!Q}fxV`@E;g0a9K#&zTj=6;9n@)pa z_ARUUzFaDe-5{X<))cu*hVGnCC!lPDK~D%#Ojl})qPfk~ix>Kej*%@-(hkOvBI!*N zW^m{jfS|bL`UxIfWoTt0wP|p6ev$x;a48nF6SB|2FZFRDde;saFfqe2R3A9?Q|uG| z4JjtLij+tTFJjIMJh<-x?-(dj_LEfS4)z|OH+Nkq7iZFU9AOkww5qB_Er<)=JOq7i z58A;RBpyR_-^Fg#*$C{u`0xt8%|yhrQ(7~fi&*cv?PcXs+eeyv4* z&hJdjMfW?6ZU0Y1_cNC6JDBbLt?NbXY%oE`SLEzzU8U2`-|e`{!C`$*Txbylv5k^@ zyU6<*8GI4z0Mn1i!e7a9(@gZ!IEY%Z_H{Cm?B9w4Yj9i8$|GsFUL4OTC6$d1#j_XATy?*BbnYMB4JUxIWrXKZdaQVlP039~Dgq$$soGqU> znDnhYoQ(jh2dB83RtXLq^mq4HK3)qY$bjJ@fTYQiffsuv>ry{b$XjzP26>Q=6$Bz@d!S^f4!PhsJZ_kOj zga6LRoIkEqzI9-RVWx$Yywm>sJk9+V@VxsCb^ZQqf!P`EPb~GkxJjWyP4V}KzgohAK%&rGVRGu>oSBBnn{Q}jW*(9uVVs~{Da0Ma3k-4KKL$PQO; z&0k9Y!Z9TUxaJ(u^TI5hZ7X9T!l2c=acDOFieR!^Wp}odEy@E)LPEf8+|zo_BvK-Y zuQ6ehQ3VFAPh<_~3NS?_;LF3WaoP4k*Nv9MR#)A4EDBfl6&Bcv(MouH?*lLrkOIg_ zy}9yhdO6;*@oX25UZ@%NhO1{lL!uVu!>Z+ETaV2H)w6Iga>&k0_R6KVU<|@}URi9M zF}{pAwRU7ItAloeh@+hVPBtFhV2LVcQEk?;VAUs=EG2a)wik zT09rraB0E!D-82CqT?phQircS{=4*%EnHKU!ypo#BKf_yBgT8SrhNK_0I>tyE7 z?$*G!KTf+2bWu@_&QsS9(!fi}$}E`51?V^yR_z9BZTNw1@*Yh6ThhMNm~Z9d3EsWH zO(;w-8x4O|6jM`O{Thj8P`B4+$hh80dqX%{R)dTs8yDORT4e$>u$}Okk(@fuTYKo^ zo1=_0DTp-i9N7y}`*Bv~BH1bvq_eD6C32dV{ZNb{TvFKea&jRYuNbCwlx%o}yB!aP z8;<9^ynDxVDJpml1}ut1tSXgJ$xJORAVfB;xjJ37oFG0gf6AiEmH#lP&E+j3mMhW} zuPsvUQ7$H5;9Mwin6**Ep!%`ED9mtP>lCB9hM&wn6yGQk0?8Ts?15nfP;xG=eMsQ% zq)_fPMt3ho;W5r!UFmT&8_8!=LVl4BQ^A{jt;`TBlKQgig~$3k<~=DeZfX*@CYcv| z4Ra?&(eoc!_^)R7zV9Orm7Z29!M=2?>ugQZ{ZpU> z=Mn1nNmu(U&%Ie?e8rLFh2zTG+Cy&ZUa!rOu`2jxVrHZ(2nECx+0d+b=%AL-@?K*s zOxak@8pY${NYa@H>9j=GVHH{qsM7SY9ieli4ocEF(bFAbD9DkGWB;4}b(E?#D`c$B z!c^9_(oM)9Ew>{xfM(cEoFt5_5va$#ct0VD6$A%i|9A&D4qRD{j(bl<>dHnnVz+tX zb<>|%2zF*7$G%S)959i2f*1a zy^xnhg%-jU8lQWuDN`xc9dr(zFjs}pM;N1R{{fuXox|E#Vn0*() zqS$Lw9kl%$X$Wc_v|rN5TSD9CWppv(Cm(C~?dgXObx0lomV|GjOgzx^8)tH|j^a5& z6Hdct9%i*1i{A(8m8sBpmPcmjY^nurW6%-QW&CUdrfIZ(w{G#c`nFkJo4_zt(uXFN z_`jQhH)l6fJ2a6my%f`qKX>|*_~|jPIS~hGmwtdITxVVpk!aM5P~qCWHi6}6O+F2K zLZKv$vSf6XvR9beg`G9|jeW&g8N?;N+ol?CcW^bwQs0066kR5FI@3gdSF&0gabaF)|KKl4XNRx|6p7U;zG6_qh=>6 zT3RZ}1CJcfXLK}VbZFd^xK4L$zj2kNw2U;~o)KowBQ^P;{38O~)RCBWYkhn#$7<}- zy=z|agRSsfm{UwYd6E;py({P0%BAiZrj~Lq*^N!MErc|Bk;Ee&jc)z~Gwe-j=tPWK z!0Ttu)4jB8;5CxLHZ`R+HL6p1|1HlnmS@CilBE6~N%nQhe&*q|i9-aQak@OTn9-0} zuusL((~~)i&?wmRzm0Ao@JNHI&IoOx`&O4=7f>hgb(7fDY%ZXQNd}UsS>>tbPP1gQ zQbRaLn?V_EJxBf4!m4E{6aos*#Yh}xJFm`+ z@*l-J>!TJuNL=Gt6`3*KFHA%3=o5^69^Bb>&`{y7UCVia#zqTP`GcRY4hervTc!S3 z{FGfn>N%)uie~tL_ZTgdh~P6iW5o3LshWpCJ|P*VOc7M zxF;m1&D%_t*r(ZP+?kxFhw)jMT$3IH`Z4dyn~~CCpSf!Gkp7fFOy~34`DKX3!gw6) zKhss8@dSDu&$Ozv_sJfM0cMUb~pCJ8SK2XZVApqeMBDkrapmA<^0Cz~s z&`p$(NKZ15X}{S9cqDa>#Pax8-C}`~NY$Is>lexAgq2P<5Qc*|AyM>`&-fs}wn4=J z(~z1M$`AK8L1lknDA)?IB|Pa~Y#XYN5bIhnutWu~8g~!<-Sdt;Zz5W(Bso9|eG)sv z-$}1y15w*6D11mJaE8Xeq#%mMP60Sj8$Jxq#tKNp-;}p0@vmHSGmH(TU?Dok4;8;A z3Ef)OQW#|(t|yqt^Jv$~7}Jd>r)W)clyKCEV94uou7u^x*qft`vabPrh= zP=XP(lGdZFk|x#sv6sB;n~)G!i43wxfig03o$E%|s^HM&f~}E=f>ge+H7fh#mm69nTxxGJ(K9@JGvqGtyw3EN%$7cVP73HM8LF52%5zsdQ(zpn-M0{E zCWAE7qfIV;%FY9{Z)(Hz0uo=}f3+@-L^ZX<1qB6aBqA;UWf9fw zJ4&%xG021drJT;nZu_vTyKUE>1^0dk8vT~X!qmA`wm47162%kL3g(cppW`{rONhO- zL#ED~qhP&Id_^iY23Lz_dg7O@PNmncOtl57nbFpbdTpR6>RmjZ0iHv(clCR34qmqgUL`1(6oV`kRVpWOBQc4TG^uy`Rgf$ym+qr-l>Biqi;-ps2q`6a+P z0VAH&xI;4-LE(De`glE1ro2TpfPBvU!lJ%jBQq^ev1+{fGy}{dS>Bz~#S6!<(f@iU zf(%~GM<*P{UY_GhIp5~GixO=Y7GgbzuPkOW1Q~1uk{WD!Lb!=_+x|6YD0IOlVngMZ zF#_Pfzc7k6PSqm?z5VV@tRZ(B{P+3BaW(0Ul7j3a*A~k_CZ%I*Cb4uyI_lehsBkbL z^!fKF@2xqlq&G!9%^h@%(|tq2LyITTjE;}Aitu(3qdx5n9`47IwF>x2*;dO-o!6`f ztC$-+mP&Fu0*mXB6EcNswqkyx=wmdG6OAfaj@@|X^IE9oX5ukjGA{>RvDeE z+{Phhbr2##wU_;H0QhFM7^W0}N^T@AaY3K6{4bX0x=UcgwPBI#>R3Y3N=v&n&L0*s z&c@MWPcXW!@3zv!i2PVdTS(5<};1Hxq zNfX+v;^Syv?q_)jrwaDyS3qc~lO=~_DviPr!szM}*p(j=RsvFl?(3g-JQinJ2j^hA zP!p&*RuE_;-*qKaJB)tS82`AEVW|>274p&}A5zyGXG7?b@`k`NoN>f3brT;8PUdV& zk#_*wDpJhJky)(O6&6U|ahz}9rni~%Q)xS9>Lo|%HB&Lu8V@@Pvimn1Ac#aUHMZsa;oidqM z$ubM0o8^X~#US-VD=9<)u&btd$e8Jl3ozn^#auCmgHW2lSy}mm)yosZhlX@xIF)&_ zq0)x_Uz0W6exX{)msRzoTyDYZBBh)lTVnnvV$?|*W31mOCe-i=jv|2d6NsFl*-=oD z?=g083p~o(LDUl!L!pS0`%|UR- zM(m{a?K$+377sgl_Pl*bq=)lh*w;^y#rRkj;7JO7bewYmImhn={u_7tpp%Agma-$( z2xkn0^5F@*;Uufmx=K{p0^WOYzLy#*l7y0` zelrYq8At8R3m!KaB?l74_JPoUlYxx%?5`;PH)&a}#q!^ILAiXVv&iwtSicXY9dyVT zqCUNcHfzbh%8s@=h*doqo#7mGAmuk2EQ0CE!ml+3Sf1fn**%6BrrnhTBq=-6Df^S- zd=s`V%=)P{A&ydwe`LgJ<8&Fb$O!!?lDCkO zuF6cbN!6naY|GC0ej)*c5Un5|n8});vo}aUhiqS^SQY|Jn{A~;Z6L1Ae7On+)=^JT zWKYd+6t*rvH}``p*c*t!+GatrJ?k&%Vd4QH*uB&g9dR5Z1Iud8kCVSKI;l&QJrb=3 zCZJQq-hs&zn|hOQ8=-zAJBjc`XlQ*0=h}-++HOhFjFDl28K>CKLAw(Zgfj^L>M)XX zzlUR2qtYj?RO&Q&xJpy0cidWTm5J%M_|w7A#jRZFFKu!aqwT>aK&A+KdVxI@S^NOF z@|P#Bc!WN;jPpj<(&chH***h#HTg<~-w4*}if%$bVl<3@?IRvcyw$hK0n$LhUqA>? z7lz^O6R!Ig_bOa9R>_dnuUQ@_Fv$}AW9cmJ5-VK5u_!Mk@ucUAn+=eTJ$$%4_a^C( z`x=3%NDq9$$a)98z$rzue6|fSP0$Ubn`qBdK)bLX`WV7WiPNR{$N_HJ$`p2YO(4pd zrxc8%!_PVln$BrzI_dm~G5?7)%O5Ru?P$LfU_F$hp1}dM+pKTZkd!2d$Rr;PB4BMw zh#6v4a>XD{Cj&!zs2&sun4>JUq@9{b-0zcl7M{UPsSHt~W1RpAZT!WWc(0#gt_M;d zs4ODhOvvd=ZvsEHtmDtBhzLJueFfP}};O)6Vl6WK- z1+WZ@2aQw98`W4`>;wuR)u3Q%L~Fmz;5oV%NZO#gMI3i9d0@iOi-&zbk&!Ghpl`5A zuKB0-?rxp)w$ zU8B|!(-h!LP&A|YOLK8#-AYmo7=2N=lNWnh!DJuKbhmQ&>b*Wch4OJ5p zXU%h#UvF`QrNH_URYxY0!Cdm>Q}_t0q9DV5m$)Otp2#0*vU_Uhx6H4t(3;PFkoJYl z)OR;`k^pL?OS*bC>90Helya@5GGBt79>U07sz?L85jkR} zg7LNM0j{1Qt(ZxK682yL?B?bTdH;f))jE}Y)F6S;og+2`gGJC|#)(@_4PbR`j_>4# z1PN|gMM+OetTvIPW7Ok5(AY=1k(TmAO=H*5?&dhb{S*{@tj1u^8V(yEjfab-@gJ3*E_7 z5q@Fg1>RyRgk=iN)$ai}w`BWFsG}RiV?LrF&}@s9a*?Q-xMhZBZuadk4qy|9GS6v_ zUl2rsJv+&W)SA^K9#aD$`XC+}#s)sW_=F}|5Ev2wF)8{VZQvWuwulqU8x*p zGE-i_aem*7GNnA_&fY6P8m=IAG}5;J^v2VwDbM!n`JC3wKta*SV*|po5n$AqUi**z~NQ>1Fr( zj<13oaB0d6hW&>B#o6@m|H?L8%--o~25!t0JH7oMa-X{q&EE|fRt`?6qTzHJL>fuN zvPX8R@ITb<7;U}XNiLGAevX96m99Xp**#==M~Tn`&3Lx4T)ERACJOOM3PAeBEP1&8 zCN*d<<@3rG3u6mJE~id{>v^9UG_9#*&3jf*oy2yW5 zvu0(qklCmiM=egEqBR)(mlOsxWhblErMvMuvp@H7Egb(7+ zzoc)kWyO^_Qp=2UMM#YqZ<*I`NF1?AI}+m;EiwSz~%S)_f35sp2fjNKPW@=)f_ z&!$pC(z*q}8>wWhv#E1+w1QCuz$v(?OoIXm@Yw3C*U{dw&WW%df;dbfotEJhQc_Zh z2%F3@ozKTdiyam$?l@GhY(#_Q#5_w=F1t2>fJ4eWtF4OALN`42!!hcmh`i2&-x(7% z*=jnOc{k`I?Yc>w{vKrwLPmNd&$wjIp5i)GUW`_Y&ijN)3N*)EK)Hc5d)xi~-e-p*G z#`m;F8O2Mm`Il;jg7a`3QkfnoJ>O z5RIMggs%Pk;ek_91jwI2^iv({zj9F%Q}M##G;bT5$pYooWN0Z-nD3>D)N-(0j_cnP zLW^U1ySmQNE6=473E{|Qzvq`>qLfXc<|CWC5|GQpPRaI=)rO3M@27^v{p?(s?O> zM=gA8?rxMmtAQsPl}!9%tn)8Bgm_3>MH}3vk!@eptPE)w?<->-~98c8+vn21Ib6#@Gtir_YA znFS!Te-GJSCh0>uOH2eGdIVbTab^GM1zP|qY`Wn>ChvWoQ2;HAv_{uTi>+7p$Z0yb33|?uK zl8vP0$*^m6AL3Y^>mAGPU%&2^btqX3>Ue8m$Bv1`CS5B0D1&kUDr_)PS=Kkl7Z2Vg zCTos3B_-}C#q!4P%ro3l;!(Be-is!Wz@(KN?c(BQ4{ykeIVm$*s)QBgMzd9 zreSjIX&m{ciHAI)B`ML1@cm%fulLZyO7w``*s`r(WBp`!Y?ltSe$>{O0G3H6tV}03 zCUhN)_WSU3bLZh^X{aTXBC$%~ZMdVMt{CZTZjmYA0tbK>tw#0QTSW~I4I7XR|3aqo z{Rk+DjsErlbl3FzD|o0{XV*Z4q3sz~h+D7{o!A5>@6vh2bTKwf2_^UW0cq%Q?48^5 zunR=N1Ws8{ye$evKD-#iNKLKhXt`gr^;2etD1%09z&Kjedb(M2(yxEpPu)~}zmQFhm|&$y93$t{RVuBo$>?eu~F6LUbze!7O} zu_;e}-@XvJ?(KsG_$fwtT){p8%7Ib1k(*Pj)Cln!c2aI>T%qJ3 zOe6@Ip7^QefGAxr@+7RE!uAsMvrWHgpiXR2RaQ=Ll zmvhPox@TC?HEGv|SFiuT?10OcFFGqt8In&4YySHWbNlUM4;F;2`!nP!iEPNc*;M=K z=x*r@#rv%IGny7Ulb5D`^kCl}rSm*fO!>D*aCitd;J)YUOr}~Y%L?1V8RxKcPDPJ| z6sK0r;PP+Zg4R3N&h3LUFK%m&>_-!Jd=v&mCQP4znel&_-ziZ;IquxM%RCd{XV+cWV z8DE+{UIhe9qg{naBQdHzH{fQfZ*FdA#s-Q@^HM!(K)Cw_)$3PoPN(@Q@JxV#fdO^w z`@+;|s<0+qraCQIQxZYGn}&vl^L&*buOZx&6Fz}~O3AR__$muS5t#hsZJm@CvqaeB zx~1dTTdWnM`oW)!^n`dEAXwc8RfVjA>Jm-!5MOx&_CXv5x1Or@2Lq0VE3pUj0rZ8B zFBf4p##?BHZ(Ph{v#C&-m_f@%?loWU_KGE*a)I<`C!8FOwy&^Qj?uvk5^ zUiy%LcNSH@Aq#&<8Z0hqN)#JQv*9m~iyyXQbmUD{{`W%#$zKY5JCO_s1A85<}>msJ64F+2m_f??kgL3kw5?k)Pb0@{$$uEKubnc}h&$@Bw zCEYNL<%r8DR>7bOp^E`s^#E>eKd9pVU*1GJD!=3J$DuyH7AkOO%uPFaq097L;%5K zm7vW)&7$IVLx+B2r?>?725d!lO%Kpeki2QAn(V;^x7uaS=-apV_al#n|GzzUKD2^y zwx~=wv>QnULi+!Wl&A#Tx(`~Vld^&pYv=!-^hRRhP`GP(HT@GA8TlBehu#m`O9a0| z5Ege+^ly4fNy$ZwETHoy`Fl|NQdm`}q3H|H@`dLL!{67}kvk<3!yJMb=8Kn?%`lj? zX-QYKS%^qqgkW2rf{XThTR0)Sf>OzMoL1PWKU7mNxzbla$*{kJ+m~;UQO%i;b90d1}R_a8Nbt1-La&M=I+i8TLaQ8 zse)a%VNTMJfbV(TYd2~)jfkmGp{Uq&o`+Dm=jTEQI|al3I@zD!RzLdqVxa#*bn$g#}-O;E=(;`|ZWUP~fZB|I2Q-mQ0P-FFgN#$hcSWGpZK* z2(c{eWh%_;1tX=;T8XsjqH)_iO@MDYbMNLNoQE#7!iknji@2?WD7e15nze6lfsd9h zt=CqtLs&%G-;9%{{3cuMK5oulxX6flpf`-prK@uI{5EgR>5tL7`+0X)%oSz>d+UfB zJAU@i4FB@}-nQu|FX^KVv3UCAM}h{g5tk^!iI4JM(JeIUnnBm#FqCTW8xa!(4)|}# z_L8aaig~kaqjb)$s^A=dFI%VD3+2CCQTdp3Biw+lBEBMR1*N{af zcWLHfuwRKLRk{@LHGl8=`7MMFA4UDUdv_Yzfu0<3=6l_7?!0vxL}A|0qNv7JBjcs!DCf}#W1`2 z-Ib+q5ib@rfu9~olUn`59^420#`Q;_lLT40fnb?>wSBvv$a&n_)stVnHe*!P-e2B6 z@)CK*bouRTZGkWwYB$6C))W^$Vx(_N5sI*y%cdk~k*g3K`N}d@&x!pHdU8BbBR(Ki z=8zB|Qp~3+03;N)(=H})G*%x#K_R-eY*F{wX)8)%k zQ&YFM4Y+cB!v1VJ@^Jb=^fop&3JD7f_jh+wn9Mf(dU|^L{QO)r(NL_~b*@#QDk&%| zL`Oq&@6M};ma=Lwd97-iw!E+9u1bGp_OL0 ze#7Z2^3Z!?c=cScUdd(U8O6UhuDvCC`uf5!?Q&!_U%zHY%Wt~!eUC%SZVM10E6|&e zl{}@u3?Dtvb#!7zi2xwL1nq$BKq-WgWvMj5xp{9?Kmr02D@^F{k5%P;hSX_dQqqCG zJ_w$#RG5hPgUir0Ibi?ye|)`VR9juJKO9_(TXEMQrFe0-;u1VSaf&+>r??g?TA)yh z26qTvTuO0wcelKG?!9aMzr9}~EBl=6J!fY2%y0J0ki??E?(y-n6&a;(OMVnga`BGp z^!}sz^;gNsW=OOAAKynt_HQrK3K2Djum7^hiGck<*t>2mx3{-&Cz6B$Od$oK0@Cm9k4 zugq@5T~w1+ob><77Ea%deA2n``=a1bYb21XwqXz9<3;4veQq?YTskSg;pt?kKR7+b zSXnhi@GrT|f&9tWmb2CB&m$5Iel_qpe$TjEQV&5*%8238e8rfH%Pt z4dFLdL~(7rv#!<`QwK=Z7up&;~75G#8qI=uxGiFoJ)*xbhI_vhO%sClN!Zg?A{ z`8`Y@*yerqiSU;3YA;7(iXvmJ94;QF4BO!hI<d)>Kc8dihl1Jaz-!Ju|OvHT`%Sb1Eef9cB>8%%IfUlKR zLmiTQ9F!Vi41on;$@I#;-~hmY0`jy?Xb7nVDG{T~JW43d;T;)!kC=Ww1&(36a+3=c5XVHJ-5OXw588 zW(a8LX;bhDhL>rr;HJm}uV06Vl-6TpxVC+Ww^Zd9y))~Oh*FEauvCR*ZSO5J#?S2y z4Lg_>DXzjD!W{M45D$j6-yJxtjEMsDY3aiNwDMamJeUC>3;c$V)*> zdc-P`82H=LYQrEbZEfui@pF~$OKf_yOH*@AU-dRMmqnmDfN2gyPx}j>+5V-o4`@;zY zW`ep4#~D)3|KDWFW3&<&=VJ4PyuRLIRZL8%V|}m;3d+Zg#wDbGqxF?PE4Tah)@yWK z`7LG;e}gRf&~yt1Z;fNXNAQK>H|XWy&RyAZ7|N&q`GBN>-p|3aKNkt)IE2K+PPmin z+;`?>KSse>dsWs@lAs^EDzyMP(eP0J>KLKy2AvRet5~9c+Wc&q<_~dHkVPf`#X!}2 zKqF@a?ZKB;e02?5W*JPu6J(Yp|A`&@i^=SXEtwa-(eO8fmxps_{>Fl1LdWso#83V^ zi6dvaEoiaPqsxrRQh|bA(Qr^$uH6GRvBu^_b@tDo)LYdu2b#9x{POu|5B$Z@h`^|R|k2m2k^U?|U? zxvTJ`&=w2mN4ZY>3`x#3hAzTU7qS9L@C7ZuY{L2mTg68_eeidR+@j4I#3RT@w7>H0 z+IXOb|K>EXa|@?&{|?doJG<|U9>-+4c%aNuA%*x$$x1>(S+Z3ef#n^<*lg+fr`iA- zYHD#Yv5grcBcopIKjE&$aV^2W4MZg*mWuU`yP{jd!ouL@_RWoFiVW}+c=4c6q5s;v zY?{`4y+y`D{B{+j%RSfMFGo}fkfBp~k9Ga>B332t_TJXJ%%2HyL=BSCW&U?`1{_LB zL$hT=-($jNc|cRasIRZ@^_y5uaF?{2>Gq{h02Nqb>Q}T)U1QqvpO~`_F%8@nY0D*X zNft&mWLcfx-lofVEq6=N(+F$PLypJUL%;2Bw$d=86XcvAtp1i}>%EKqR7C_wsFWJ) zZdVU(DPJ*d&;{doq<9D!Aa04E>gE5$@=rK4{GS-8GNJ=f3so}_14*6h4o4>zf7y8R zRfC)nN3*%Lb@+ny&>Q&pDb9`a=XMg4VhEN`dPat@>8A`sI^#)J(I~1+LXaw%bkaxn zTl}Lm39c^voge2unEKYAOQr||0GjoPhgi!W9_UGdM-dSP0!k-3-&fbyN44h-xdV zA)3vpOY{#*#dAmy7)hfcu!wG%M!A=vkHS@v!MG&sDpy~!GQ!ZUv~|R)3A#8oWa_E*r*>gnRO=}1!+&#Cko5a<&Kytmg9A|oo$j^US2eeWSXvQ`LD#oF zGmc`3wUtgANEm@9{ol{1y*L$M_kw-G>3$z+bh;3xaJ(QT-bi!vZe^PP8xsD%Bg64F zVUqt{^8dbjGyFIH|1Oh8zi3N_62QNOC;ji+{mOrT3Lo%)Z_nm);)aA+P*!XhEa+QO z3A}cmfR5ulJk}D&>Hdd_zApO{JU?PWT2;~O&SgBq)(IO3cT!N{{!4JnI|%$E83_Ke zI{=0IE?_VM0FX(61b1hGL*Skb`2Ta*L%{3Rj)w?7-a5^2 ze_)pcCC<;@6f#g3JFb;wi*dr>)`5pe{)Aw5e5XtXASO8U$CAucrYdvYf~wMjQ_~>< zN@VbQHyh$`D7(yohCETyKl|c#p2mvskel*L4V%8L3tK)zu8hdujqMRnN7v@9cW-wJ zg!##^L%YGe-yQkLTV>)rcpA^wZ6-h4c7Mdc2=qo$@P{p_`<3j zSNWkI`e^RUipn0R%3S29fqGr0sS700W$|h=v2$%PzVK-`tUPq-nvIt3pAXeNNY-;F ztNhVs95Ln8M7ritWK(C*wFY~9EIYmr==2a-v2S2ri-V=`G=g>Kwu}jt`3unZzY8A9 zIK$0G`ec{3l``Dyv67l%LOB~z%cH<|kk_ZHW93jTHxx;_cLV9kNk+XJ8Vi#lg*4iR zsc)Hn>6P0#nn+0F758x!0P~mMUb94y5{MPHMcngrzupzjWMR0D><>B={}$9V;##t$yG2x=VFvNa3={oqQB-n zUr1TERt%UOI2_cln3FM+#M-$vD)ddIyMkEt{P{g`3^P2`GIVn!KGEy&;lYTBl=?ag zEbjooXTP&HbCkOPv(n$TjPtKI@^l|p^#2o9z`I8XZ8Z{Y`Rln-(ORA2(P|vHciD+K zt<-@nFOLcS%%-Z{FEa*}Y?p2@M+?kH*5<`NN-04mioR-_if$nsLt@GJ~8$$dp)-etN8nOc9NO}z!)LdKA zB%fMgNzP?aF4NYEBW-VK%i(&@jo_AOf(lJ{5npOAs1L=yjFqNn=oDBag2+F0O&6WPlqq0FV@SU6>un=Q$$TVZdj*muh?5); zXFHy{Y8eLgrmjX?FsN+Cu~m>Kw#N`0Jk0tFuN1*Ym!0f`#|Rbt;$VHE%g#+_g<$?w z*uVQ+*z;OwCE4A+CO1#1W$AAp@5XIRi0pbyu%|yvzZxri$4YO?a?CdMFnjyW(_}sUY$)F@m^|t*4YnS zE)c^ChSMvMKwpCa4hyf&9iz&%LXDV?azTQ7ip5>fAGua)Cqf6z;DVgJ6Yv-U$&1aI zD6~kVy8UeIlsVhk`>(&rFQ;0k8p6S7LT7@(RhAlb0Q;cJosDP_g1eu_ktE-LSy>t3Y|Tb zLj_F$Jz2_V=5DT@#@M_SS-{9PtV0*(uTp3s8qDB0D*}be_i?toL(uyZfI{cTa}@M1 zr+wbo7t3*lKyX}GiZ(6+hX;>NaE$sC6-*c85WFL57INlO-gQUW3dO0pTKx$q zS9vufX`g{<<h~zESflh(=9-boEe^@U$=!-#35? zuA`t311(r=8e*W`OLcq52X`#T4yS&5(NDn$QfxIe385r4SZlHXtOxf4SqKr#;pMC* z?L~+lHvS2xTh)sIoj=W7ACw87;*kLqj}8gDb^AvNS9<3D7!E`lO5z~(SPt4Xxz)c& zt6~0c5D~bAab8Y?nKr6uZd}iw5TODO!gSL$?FfIVAThlvHyYEcR@cnpI07JDYt-%~ zgpT9gbwmTwe{ehuI*3`k%(Wk@H=8SHKb^OF-bm7uG-Xwq<`=3m0Wn7aVO1zZ(wfH( z7~qzJ>K=G@H;Ae!Yr)JLpc0REqjZbhhOUe|vp!a>8%+E^e;7c&_Ne!AcBD~384aI$ zedCHI2x~KanFuh_rvAQd;qqHgp}$H56Dh;P=% z!b7Rnz8)ew?l2>Q?kO4PDsQ^_{2N{~j1&+}vnriFHu{Z4O&efp1ZI47=Vw3N>dZ;k zuvLph=i6h1pC)C2A`-Vm>*P|ouC4YlnRLPqL!Av_dRW^she0jhnwcs{^~Nf#%d_>R zQOS}72REMUKG4-iPt|yjFQ^%C6QIc%-KQQE83@uq5#^Fk_iMjXJ^jhze=0Za1s^qF zLsUaevc#8>fF#7u@+)Izzb^o>NmP<@9ynQgu|=Pbe+g1SdmgL_HzF8d+<79|p+j(* z)czZz-vxxZEUMX|I7E`dXWX777pVs-XtBjYQQe-oZ*E4Ya3R(=meCIEhsAf06fFvF zqhYlXU!Bb?|GLf%%JppO+;iOI-ig4Nsb`E>D!%DjMuu{H{r&`7hbTw~Mf{qwdA?}YFU@?~uOAry5$DSo zVg(n5SIwP(6dR%Rg*CN%hMuf)>ij#;*$@NHs)P>$U+>^-k5v~*yd9zcYWB7fuLm|F z^4~MC#4K$ZK|qa~`|AGwG*%hnS%@L(O%lu61<$pW!OG;3K5QPu0Y{XVJf6Kf^>xMhR&PQ`<=685`FH=u$IVfuQLV_TTL1&=7KTO4 zy8lgBL98Ap3f{ptWfKFYHmg`l)?eOghv z7v1WRp@Qm`fM>uS* z0@eXv)fW04<%;}!U-|(6lEjM!Gn8IozU_8lh1FjXJGMP$_MJz5}PGz6i5d3afY@CAB=?y7zTLv zIPm6AYhUj?R~5xUXdU)j;gJ_x{k z!jdmfhh&3XPvuTrkee(-kg~g66hZ7NQ#V)Q@YnXffcGKFf3J9+9AA<*FeS1@P6ZL6 zn=&mwC3X5cU-i4;`u(39mScYiL-HkUoJe9YjmfQyaC%8j z#^4GX^l_xsRB!+9w8!p#=X+0KG!hREr1w_0ruRMjL0kGkZ?E#|UmdjkOH3(m48Fk3 ztOK34f~5%lvQyUVZ${i=1>4q-B&GSs?Nq<&Z8Ti=6j*?l^{~byk~+JtpVMkK~x7#v{74Y z%C^QW%ukSeM$Be!Yk5shDr^nr%Pk%thjBwjP*tXHda%1pZ@U9O@b%!U=XvNiR}FV=r3{I@!m(O#6OEowo8b613rc{q>63Y#~8HCp!IyK|wF=)7wM5_a>( zsZ2|)YxdwjA4pnVc~-P13P|(9qLPB+pCzqa(Cd1iT;;ti`;%S3-`TuYm2+}cg?HCJhx_VH0U5v`J;qx$;M=;Y`3c}6zSqlnmyUeAg#mh*&ji-AwSb@QjKjDf5+}kYimGAl zWb|Ws(Y>s!e9=_{ACW*WEkx0uo9X7$e%qfSkl;?(i&~&TMhzt}&E|Fgxhgn+q8iYF zbR$nAx{}T!CE}|7zUe}qui*-=gxfF4@6%i&;k&xLP0ior)FXN_+&UsAJdXV`FR#mg9J#T!>OIp5h2`xTg8_eHstmIh>p0!M z>MOVIx;s<&-o?B|JU>jo>Y{n)@QLe8knnepZCyl^!@GeQ!7aNfaxfV4E@!{ZKRDun zC&#@SFcM^eESB6Cg)GJNj=;hELHh|ms@es~wS!ga-BY=AW?048G29-ky8!4HD3Mv7 z{-)rPm8>Gt6vk9hqgS#J-9&AGh(mywhx6vCx_<@B$LR3K z^EZXXI6+w&OFLU(;}>r4^^$VfOE#8XdRrfkGd2%8$Fj|6{D_w!36;7+?v)S#SVxIj znbe0arBP}7X{e9uUC%GP9`rtw`63??xHcNKzBK}rJ8aPr>)%h_ZeyALDjQ0X!R8~; z502>OQNp{g-H+dBR#3R#^l?KliryQZF}13M^_M8WoK;$LC?v>IfrA%+ly=Ir{2*y} zflES^j!&lZz?=1hK63DPevmC<^YY^6;889Ahou8zKjv@rz%z+WZp+n%FXzr?pvS*> z*grvK;xO8?YU33mo^bD;6^MC{G{)DR+wbx?Q?#Lp7z0`pgI`|GI3YXCwXuoaRfR~{ zlo9?Tua+?C_~TmtFvt6MuYi$??&-d$^~-rC`R06!lucj&cW1)fD|_Ad7ZPY|0+_TM z+ggieQFH!hPbJe|pWsI+OSp#Ry%{)ccF#3_|Bjj-E!l?t+zrmi-_30%Li(DJVBc@L zs!z5gAqiIxlf{775xGHFLOkD`_)~_BvBZRrf}OnyC4-z>N0E!vzZIkZ5(2>=#c_T`oE(lb0fNzM*>;jr0^FE zz>+^LWBB|Lr?%M$8CKhCc-5C#GlV_)p&FUM?Ts`&&!sQ?7+CS7eVWpn<|UBIt)2lI zaEN97ewoMRVf@>tU2kr6DkJ~08|N*fEv!%%yMeuPrIyTY#=z^ z^5dP(^#A}gemrTLG2o*i5WpDJaJ#I2akT|(CJZkLxYoB*4{qohcC-#UK>~LERD#5Q zWO}q=ubL~Mu@^;ue~CZqGWP}t(wcM8N2AOH45peteZ|z|J++}d4V6~$4`O`odaR5P z9&&8lEI0QFrAA>$&CI-q_w_(=cEk{b0xrb53>^GJc<)cc<&Vw3Gt+EgL;hS~q|))F ziG!IWm0vk2nlF}r$9~LCmb?&7ttcb^ag%Q$YL>qwj5uAETZja#(EZ(9qXcxvLUn3+`e!^7<6QTCW#1?lQ~Z#o1ck?O;3V$ieY zIVwrH`*>v%0_yXAU?W;6hE2ZfRu03md-~{q3sa5T2eDL{mAZ>Q4Y`uudR0h5i!!f> z>$`@54_0qB?K@Es($jX?!@;Bxk`!>OojOeT8VQSi07=N|Ynu~&uvJ=;GH5ekS!58S z?KxU#*p-A{i?zwrXnT$Pz4I(=)psw~z`#I?TUzA!RuM|Q}3mCibnZ3k7=LX%H!nWJ*mU2z)0dX0m1U7 z*tuoHQc4jEueDQ(8IwBe@A8vHR|)^iodc> z0fje~=9LKYQ(4u}Cde#IxsKR>onq}?z8c^F4Mu2M3w%-!di=ZO)aF_lJ#Bn(1K(x3 z**Afrey5ofd&a#cg80xw-gg%8ERQIc<=1MTx^|ZFp0DyQbeGm%*{@}qMe;AtdlEsF z2*7XPIYa4@&<)f5#JsP8nR$_R;Q$vwHu&XcKe!y5<34a@{YR#DC9hVp3s~*cr%#^( zHn7Zmj*Qks+;>%H*!B%2=~$_`S0Bc`QJqCKw`z)IJc2_g)Mf4iDI=&N6~gN126{DJ z0;ZaTkSa0+R7E~quFh_l8O~HH`k}@S{4x{rX0ti<3eliI!w!F=qB*`Wi&Z{2=N=%H zc=`B@w2V1M3Q(7!ylY)XYPs@8|Mr0*LS&d+_*;<8F3kL4(tdmhmcf0fpMWDwGCcSvW+$nApsUZYAB&P?yY2kKOc~j9t$B4~jSydcyM07s1th%l)U7@D`XVTc)%ucsM`^?tW-#ylYR04zZ$g zDf75nXW>eGO%JJk42;)&*Nu0Iijke`IK=~+p$BF10gaE@X&*}ds{(4@fzKaaV|29JLFMq zkdwXy-L$g?kArEr^lmu^JuR)Be-&IW-zr{P28;|REB@i4?5^?%J@0v$#61uH=QFQk zP%{E)>P!ddHA_q6o=h;m3Pyu#@XvwUp2y(XuIG_1Fn9M~(Z_5ma0E6F`2D}o#L_rY zovn~ONThvjuO_5HbPVo36CSvydv^_ZG&K9aw&34UQoJ@4ued+B`kv*yXApPp7hD=i z03I83SL=yudmq})rL{whLcVDY&YUjQnNfP@LPnajgNywdtX45Ka<5rTIWy@8WhRMz zha{2d`CURlmwWjPPvs0PvzlXbs#^yUUDbD+3juu`1b|037pYHH*dut8Na+lyphmT&}~V$wJ|-C zC;^o=c}4`nHZ+_{cxV;1O*6Vzv++MFU!R`6o}Qgc$qhQ$2V22mLQGkjysvB}7hnn$ zn|n)Xx@}4ZPDGcP@vMd)Mm6d6d)$k@4dBb}f;EEXZ*aFdwn(CE|8RJR!-~y+JGbS^ z%UE>nM)$G(R4FYI5n;cFuur_>elvi)AL*FpXu#*b-B3wBox)XxIGz&PoEarIF zA|N*8+&67)*iRxW<9N{4_Nyw}mw2wWTr1cwI~gsmurt~jOYIneQvPL&?9D9$u6`4* z$-C|4QW3lLiu&g|kz>%r_6uVbEeuU%O82LMbY26V?w}e85Oh8%gS&G4KMU4|{xg^_ z@#&)2qok7_HGPCbZL`Sq02Km;Wu}jD>u3Y54R~aDM{lDNMKAxf`(8O&1otoEy$TW~ zyjghzcWU26PVZboea_o`yGBqwL&$IUF+Xlj)h=!BTm`pW!q*v6+|bX`hzAs@Pb- zr%o{yb=pS}W@%IV4yWnc@`sY3<0Qe3gOAabS(ou4sX4hXCU<^G z2w2EzSQ*CvkbhxTuOj51g(aVy?a7_>w;RDX@dTbq8=NO50lqU`NP246K`sXQMHQLJHi%-dmZlGd9<%)2@#CC?=0U7H(xQPUD7sIVYaNtkxl$E z`woN9muVk_J(OptFyHrqlwHVG-irF1!|T($y=HZotFrRMdyJ8Q@(PzOq%ZhbvAiSt z8^l6L3~dgQe772n*ev?qc~`mTJ7;jJ2F_4I8KGl^)s{uD=mskA&lFo=VdL_)iMHv4}-=-e3p%JBLwJ~9=ljeA}iceFzIL+<78 zsD=0ZVZm=T-$G;bc+FJ+$B*Ml{Xg_VU|TqlXF-nNTUD6^=&=Sj!~BC^tOqgrwC3MR zoQL50pnyaNt*VuIP7802|BG~tD)?l*Eyj|HkGxHm^>I^+;Ke&gKJ`Wc?J{%Z(9Q;z zj%9*gfAY0-$eO_TSrY6ipGQzulzlq|c@h&K;rdUBGRF(2in zNirF-8ZhzEK&nYSK6W%t%C_Cj8Ur9{w~xoARLPWIK<@gP7B*N*MUF^=`;}b{w#P4P z^ms$UdUgAE$JXd3?KRJ09(8xhnVnK;MjqoI^J~s{{qO9pi}7q04WYSmHRy zL_BQIckw;PE0M52q3VR6)R(xQ7TK-j@b+w?h(RPh;?fX-{(i3MNU@>CbfWpdbdCp0 zxwam=T*L|=L%f=;WS+G{@!%78vt}h)p4n?Wpq3EPy97ZrXssI~W;a*kcbb(so!`Tl zo)sN?1!x!yu8GU)=-uZ=A4m*(Ly@k3AOi2)yPHv6KY1QY2&2>y=mFCE*`gy|+@YWW zbJ!I^%FFue2A9t0z>b+sKt&|Nh=A z&R)0&B#R_mg-M)99jixw7Ymi1Xr1|U6+K@-EP zl3%w6eNU^oPN>b=J>O2$1Murf8jRhg2P9AH&qE-wkcfos6tB(BWw;MgDjuKm7vKpu zX%HQF)k6S-CP+TCI`6j&)4a4myF=vHmyYt(CS-K6G42-YgYy)*7iE-^ZBBci0^8|RI*GK=^_akxUx~SMC@9nP zcFm1<&!n*|D8}gSs7#$!+>j2A_p_~hHmy`GdGLsby6GC5+XD6y{%1jkHzMZxRNfFo zL7qO>!2$IDXeh#ts)XX~qgg_b<9_SQc2hU2b5V5WWvJ`p#qQOU^rvdHca~;_Tj@24 zMKSYZ3TGgK-rVliavWN<`D5SN(b29|P^;m&qX(zrGesTWJ86JAAwxitr+#-|pA%k` zlY-9MTF$k7z(^jLR0a{6@*JwN!MM3xegQ7mn&@RWWg~p&$lLWTmQQG{0|EGE`gMVJ zWGZM-|7KA3#ON^iyP0c$v?0)r9ks$b-r)_iA;G| z9gR!~lVk1ULnS$`+W46FS*#_y<2rd>D-Je-65)Ik7ak29qj@5^`#o7$K7&DQWOK)H zCSe>1JbZc%GU5$`y}!-fhL`=6E1_I)CvV=OD=~8OkxImj&Y6nYPjT9_7{C74L9kf& zeFZaHA2_{bO+83?%w1>g*;6HS>PlPo6*<1!VGup(E>Y6R!YfU=dVD7K4k-rlBf#KJKxIy>5>u-SeqT%AC*@uDS5;tN3Z?;P= z&Sj5+9lHNwM0W7uI}Y3rC+iYB4Tw(b)6cv|@je{esO!8Xwg*S^ssa2xeC?UjJ-#7+mFZ83uX7k><<^zqY z-7yT%r1Iyj3evAonBt41( z%?(^dg|fvtvu*4x#qZP7tm5YuODTE=ZS7Ijn} zHif|Pf4!H_<%!vpW)M)9kqb0k*ucEmhj=^B+su}tsk7bRxTzEVL=xK=HY>_g;eE1q z5=s_plY+i633P!UHyJaT|19&AxPpoEi);O}Y=D&<&u16Av-Sk<^wUyta96Khm0e*D zmLCdQz+W$6f4w~v4Xg=av5U7Uy2kuYR}VLT<9)(t7$Ud0u$2y*>sB~AV)yXsRorUCcH zgl19mqhQIXB^Mf5c6XgV8M5M{+}UO3Gyn&GHdXzT@cdf56a^=dpwsE9;t>*F_aqws z3h@jvnIjbS%D45-f3_~mQ$vJ_`}t?(P2{9W$4x}M9}5SHqj-cTA1FU?)0N6~aCpyA zVu6rz`{b~Xbn~0R@sWr4Ae%Kpfp>+ThD%rKHrP`%|MYQX zb)$e55lF720DylovwZ3*B10&fd3CJlyPiA0Gyk=t28@?RA97qTQ>J-O)d$}gaLCY% zkF0oSaNE#pzw+(^crO46NVLL?-|6lenl{7oS@N+2;Y-4sr-^S2oz0&o&)_x+UR`%r zy6%;unh#$C_Xo#%vVRzh4-9b$&+Z?=k>rZZD#8g2uFFBNr!|>kvi5FSVS<`u_|c(l z!V9r!N%}Sd8(zDTj$N9M^!Z#1TN;WqfY`>)6ymnZSbFE~1Wq}$IqZpK8my-TTq3pI zSB>vDN8PiWMswp!j9oqN3rcfP3gcUcLyb)Ix-353WMO1SG!ARxoQO0yuFH>q7y8*+ zd=RJ7WBZ7wqJ67@6|||r`aErQ#I0YNUk+9Kc6|BKH(~ZIfpMNhaDN42kA##2K^FpQ zuu7oE|B@s8IM-dBsmGXlJx^t4N>O704eG{6bDsF4Fl376TNwNl!=2ec``z*%f3CP^ z-0W!%cNf9~{980io|dl^L9`0Z6U1PfMn)uTsA(3NImLE!m!{}{&}KXegok=h1X-hB zEwZjZq7^|E8kE5Zs$e?J?eo#4H^1JnZvh;O`EifOO9bzLoaB@Slhdw_P;Zsb8fGkX zN@F+;*KBrgrMf=wKVxzBcIt^TNnwYLr8p>^j%{T`JL9LnyNH|bfk!&&V-`+4rS z&@7dggWTW3PU4f1GH1J~M>he?C)@qxm0#~nq%pZSSPAz%glmF#a>ReXJW?pfKl&N8 zG=8Uow@mdfw5P6Do!2#0PDLy4b@#@FydLDgMx&9on}?(HFpplrL;dqnf)mK#?$#}@ z8dQd#CVbHZ{0?X6i`Wq!0yJ96wqsIFI6+Aab{%@nqZEeOYYE%~;WF zPg1lZGNB3#(fHMnl*_&kr_Buenoh9|7l0qzPcnAazMwXO5TU+-w!h8q?@lv4w;dC z@weeC_kXBGpzy7M==-`))BjCJx0pBdh;l6A1LWBXe^v{4uPBZo3okRw=e?Q`OUmVs zB62M%@Gr9X55e{z@nfbMx)xEPy}Gf53E7LUjRH|dl;dHsd@ zhf^*%Cg!h`^{wrfN&P`LL7{B=`;4+29B}~2@H%=T$qlPqjoo6>k5t48U75=Y=MTC3 z7wGm}I?Nk`Nis!pc#NM4t5hYfkUTcI=5eZ)2{SUW52yN~w$2q$iAB$$NUo@$amr|b ze519}!$anP^MB5~)b@vfx}z*vaXmG(iU^iqVkh5qm#aK|g`W|g9~Zw|YvwQT-|y+Z zpm84LImbIz9)33#0|WkkW+Jw@G5|Uft%zKFB>pq@=e?>w?P*W#wXDu(kyFQj+k~gN z&f5lf=Q6l6IYF8j`LF*aPDDEzhX+9RkjH8JIBPG;Q?I!(CS9b#xLPeMo^b36kBZaL zV30FmFS0T?;0QDhJCKV_LDfH2;j;~lb7a8h?oqMk z(S$miI8ePSq^t(2tlCX%7_{??5i z+)s+_MTJg0abdWRRPNh?7c_XXteX_Q0oTm_Y|m8TAEp=kiT*K- zmSUU;!J=u_jPq1)-U``47v@newIF1Pg2qu&HO-K4_$#~2v#<)$L*WNJ<-O13)4m?m zAcv4)$3q37X{mxWE zEa`Y>%NgCE7VzyBGcwr*u8;_ztn2z7Kf*;$MJMqFUtXWi2CFsRsZc}c{AH-zI44!~R z_Xx*@dNFg*Lkx!8K%XFddM;wXQlIsTFLLMdt{{k`aMkn;qxHCF#K%o|Pcufip0 z8L7f$w}{o8R79`sHCWe(#G8Aa)5+j5y_47D0iTMCA^1B zJ92eE`G_cOq4@RhQG?m$nc+M(TUf|;gwENa*;v+#`K!qsr_k<8WTcqkLXhnx6w%Ij zuBRethytjYt)xEufvKC?o&Eh`gdWN!mnado5v_7h863fWx;eT_P7GjVU|`sn`{CIP z_lJG@+IPMBor0yd>rn9DN{-7<6pPHJHd7jv^IwwrWMqWYAjB*n0y$gD&L~lYEGamm zt|_%0JnS4t9rcF8^nY!BBJ6CKsHT!|5wP=l<7_(Jl(L_}ao6;UtPxjMT{3_~N4VzE z{0%i6x!MRn2KDZeQ5(OUn(UKP?w81fUdwX`vytVrQ zK>`uXRuYe6lQX}${i&jzL3{>z*%4uuPo`@*aXo@e7we`eT22-70lchg7L( zf|q1#HYlczcnl#5_@s*(yyJd8T&jM!WT-c$A6(pmPY8CUJY9~_^~dN$#q-{k`Bi7c za+vjZ!8h!a;ua973-qKVw-`8wq!F^HJ+Iz%-fhvqg!bhoHlX1GIzsU8+ofhKY~`>4@^?L8$IQ#TwuRZUc z1?+v`S|GY0aT(ql&!vz{kcC44OH$TONg7U(LM0_I*2_UC#7shqi!?3QaGCzX%Zp`8?u2_N^3kbelL)DKvt3s#X=IW2xt1SPVklUHRDU~)E|7CO2l8#LldfbV!m^4B;xL}~?cA~&2U|VHBdl}ZOwv^I zGY^%FCaZhkLL5gUWqqZ#X9a-=$e?_!7m4Prp8%j3;vF2j;&{uZ`<2qMLga8FVBf>* z^9(UNGO%;}II#}!wfUun>5@YpRpv!G~p z5s6t%&B^GJEkUj!A)$>gN2Mbf?_nO25_)Tl2rLTtN4K%^>OA^%%fiX7wD@r)n!kd- z!{#&?|8EfQPGVij%2w1oeNJTX7#`)28lA80X_r7s-$x(T+xH#}3WooM+LiFfGv8VE z#}G@AhSr)(OeX#Lf?IH&40r8pZavPH^TrjU#?-EM6MEeD43^sH=Ltwij|@+8{CDO3 zgZukJf8z5Oo;Wbi(#%h_I!Y2(livIWFnSIY-sUq6Fp$4?S*{||8C!JG4{ub81hIdC zh?^M)V6a(zTv_zmO(_yj5<}K$$r<>6t&7?G6Az9|g9 z8HOt-bnGDlIAq|Lr3yPLfWy`l`dFk=1a!=NZd!h&8G{r$OCD7$dILYbA@Rajvl@bg zhPpDeCjom{DpYW{A~?=EJOwg?H#ISe=|T*ivT*MbKFs1QbIOXF7L74O5eud6?T~(b z8k7UmeHMSaF#tek%ZI|$@r3k zKD-(k{5$^Bj{OvICPv}!;+HbyqRD-Qq15Y~D`(3`@pw4|DYv|#|4tA4H85UK{U9vg zZK|UFgJx&tcbMt5tew?9`0l4{2Tzgn;>wH7Q8VLRbePGTk1D7c9(~y(wck4U58cK{ z6~2%Z>b!~;IKS&Kq2!y=4Y1zNlD>U@pZ}mb85>8=e^^BGVq0%pHSahU@G#LH!>VexoFg$s;eqo8@30KOd5!-M05%p0*s8lWn69Ph+ z{n)_Qpb1ECuyI-0_oQ@GHYQj}jsUtBlqUUu0Ea<%zD8Z*7e=FQtb|=!wu0EnFMjch zF=NIAy$JQYw?!DZG6{AgX;#u24h2jY4D~!5QWEY&hE6DLL?o=Fx_X-y|M6OQzxa9F zVp4eQ`2PHZ#uJU-nD^bEPwY8r@UppGaVWIL<8Rtr{@69bgT7T9w2rz$#xAWm#)H>UVU|PVSr{n2 zBVnDJ{3a`hvmHq69x}{4V?jrrVn#j7+vH_%uGc%civle9cW=Vy%geU5=MYC;mqT3E zeSJ~C=bDE6h(1L7L}cW}=1S4#*hu1EbOK4tgbM~OvBHC{g-864|M-uTr$lHxl!=}b zMrHJkViz?Yj{GK$1tKPqk9&SabM^>uTseEOonSRos4Nd1F5{o@SM97mxVQEg$#Kb- zk+9J5GRUReX=%L@Wv=tlw0Wjti`!aVyp4)o57YklpIttzhSM$`P=!GXxE3O6(lEGW za48;?k4D}7+ggEi86(!eJm!Or_ALGrNaoF(2aie6i=?NgQ|^BL zC<7h<3#AQu5x7a=K9TVVg!J4m5HTJ)z<~Rv;UeDvNJWhY8?n`RpsQxPhMNKrlgP)3 zU(tCz%E)TegOA`3$pfySxlc;khg24>tytKn6tLCtW7Xk3ty~Y*f&s|{icX}@SMN zev<5@4<>iCH`WB%Q>ILz|0C!{Kmc@&ELgBWew;IBPSBlL2N)=^vrS4)65pPR3#C8` zn8KOekmx#|R*4d&#>i#giLM&+Y%Jcoj5#6Zn;YG@#__!bgnm2cG~- z7ty-jb2%OzI19?p_p%-_Ngr$*b^Q+liS+=IFMa7tQoQS4DA@8D!6GwANI(g8 z9ZNmD)?fkT)p*#5dpc08qa^s*?8I*QtC!T{Vv7E|Vv4y@3KjwGurHj+917nR+Pt>+ zJW57nx25icjt}185@4BA&yKH|OG-Yg_x##{y>;+T(uhrbZiI^j)o1%~-$)|1guik* zn!|y=F=m1bML5dqEOfU1x4-@EH0Uy8=M$g!gnNL+2FezX8cQbHW(dF60uIh*7!QNr z#3S=N7e)+NiF};+6`cVVu8|bgz4YSCWhr~NZ8)^3cg3rGSKBXNx?H)sNq$TkT~(A{ znuDxtuW;u`%AkCvMM*ytHN4!q;|I@nx%;0;8<;U`)A~8vsq1nsY0o(zAc+<#@{$2B zvS-sVX&7v6ZSNX$&&tNM#8op&vsUF=M|0ROPcfqL=WiT4b}X}`f*ysq7Xx+%bjX|D z^d|QJ%NSq~R)88(*XzDdTw3cvPLYR-O`=2|C2ou-YPv4Z#shuD=->k|NqALCn%dTl z(BB?g+0W|Dk{smCRwF{f-3`D(C^g~Wp<&-LG%!+(#Wsr}aL>wS_0=Pps7p8|*8JFa z-E~)HW~SE?5uX4{=8@SD?7HUyF^vbCE&6BkC+^v*l*oriC~k+EI)Ak9TotH7&h|f* zQ{A-qQJf0}TvOt7p+#7inIjuLCWk(4oMYArSLGgHY2&vfA8~zTb>%O#RQZ{W-|mEn zi_y*JZ8QgW%$WG*AWAP3h?%gP!xRei@j+Bg>YdJ!xz%#S+j}ws9{pQHU9)X zku&3_cgb(UlJv^_ZYA=u=U2oOxe2_XLhS6E_Tss#8I!hJQ`?*K4xB%C2}mSAZs_1R z;2Nqj_sWsQeTrTk-aPSzr9Z@ez_JL>J9Y8;C|_Fk6WVV@v71X*N>;*e2TYCwT)@LtRoBKOfNKO(4as3;SWLYg4T`b z5MH`bLAZX>%XjYru-o>X42o0m=C^} z*KR&@I=jn>y78oMs`m7~KKQ{83c!kk5J^JEY!$n#tj0wiZ*G&4aQR0~Zgay4n66|74sC-wD_W%cFK^+F&Q&n9T3$fj!|-N`PErSD zbT%6nACl(?hdXKU+&)vOd_R#kz_E3R)MUowEgdE8?H!8&*Mg;4H)EU5OHjH5zMu#4 z^wSqtj;-5Md(7IXON39xXp$k)MqT?g%Oa9V`LUC3-MaPZ(gpSvG4$Ec-uYBxtN7 zz>*aKbG7vose|MoQwt+8AKN=5l2#m3;iEh1 zmP;ZN(|B;FSX7Zy_i|1xa`f5{Wwt;90?=uY9A~gDkH04Wz(+S95A5i^(-rBvRz6?N z)~|L5Tax@-)$g7kOe5hP%kQ!QSnh{!xc5I0>E($cTQrZ-v5|zxFz*S(Qr50r3zcFp zUP2B%!e%J_6Ez-=F=JGnw|N3s+;*4N0vyH?usIvo#uf62+b=b##;Vo%i+8r{JCiiB zhS$=CM?i>&!fp;xf}o#-fg5>2AvtaaN_%ePJxM*%IkKcz@w()8TLLKAwPZ3?SsYy6 zBlGi>WHw#GoL`!AiE3NT$N#!8AG>Rg z5z}H_1S~?zyF6`oV?#UgmhKAOU>yOLj8PAnk}gy!_!W_u4_q}=IuNnw7)@y}bsWje zA~FVnL>XZH>%aahyUh&+u$+lZOygmcmV55?Gl_hB_d_W~3YVmvlGf$HYmP+7M}-r= zr|xLp(ya+YE7c~==#e+AR}OTe8}hc;&>=dGkJY3@{Q0QNMiT4vP-}=AC?-VJu@fjp zKli!M1>+@jfkfC0rGFwNoMJp2hXAq%xil)$PK%BAbTRhzzdT2ZuGY=lY;_p679QTc z=_rG11X{7VpF4F?YI2tikcrNf;yp9shAuyTwQJ+iMLkM821zAf9`)~NFA%(L_WXt2 zHgGVb_u>P~hq1J=DE0sgpMLfDdN7umMryFxnk_$&$hV6%=MK7kI06dk5d zYzJ6-YmZxv#lnsicQI$Wz4?egAC)%hf_D{4YNM|9W<_@ph-tzY1VSk1h5}g5$ptYU z>{-^mn_bNPkPvff8%x3@^6{6fkuESP;gb4ab9u;k2e!g!(6!;yx8<#^0apzlve24C zgguBtMWNRUh!_~lbbWk8dikboSb>;{IX#q&FsnsshhrxT7cTtjSHBumi95hz3y@|g zPmDWkP?_kVpVH(y=(qT)(e$K*@7!hli9lvtD9NRQ+H7 z^izoy=gwgV7>e* zPxT9v7zKGP1$p{^@7EAoF|RADZ5!%b=WufUMx&*QOINtnE^^utyTTR zdx6V067#|5@=XIV6DyRIMqSng5tdjF0%29sgwFr*09eXm5{d7t6&vU){&YxUPUkVZ zFGV+rd?N3M;+e71w1lh6<*~Q6mFhyqlX)5H1&teL6G$gDP{YI5f^-y(ePzrCq3!8-e`&*@Cz(rVCBMNvlOzIPidE0| zI(_O4?S9o+o?D8@Zb4p)Xe1)MlD&w;PPhL2K@o+s4~csp*9zdatxjFw-C#zLh|Y43W%I3y_VX>uRNx4UvzJY8YkkLNz6L z@RuW-tcmki6OOMel{81+O8U=tO&$sJr+w#z4<0O5*N&>g>lf579awQ4-RPi=3V|TN_Dm+3~}oXiMN(kXh*Q5hmA)hWI9_0&a3E3}4wlA)F@i zbTM+DZ48MSfg@vXUBbBL5@}TY{2rJJ8_x%ZhnNPiV`Sh2zDkBiVw@% z3YRuok+gESBdwb%RcOAG#}(@I}fAR)BIti%|6RkV;<+?2{7~LowItp$F6uyMZDNN^S8%W^(QkGGMzoT6W{K=_ue&Y)&y1J zTcl{uBMnM0opZF;bk0R&7@F5&M4@!>2ROK=_NWy6X`{Dd5mh$P-j_yy zI1=;06JZ+<#9c63=!vya7l0APiMpJe6d{Sb8w+5WL?&uH)bog(n-qh=*_6m9l5$-Y znOZI9)PtrAa^>O+g-doxDT)4D)ib$r+Db}Hq6M(5UNY4r)!BQ}Ce}c)$Y-q>S1M$N z*pm9WNv*>le0hT`51;(JEWcPXsyo{)Z6uMsfWQw%l-(ghTQX$Gkl+38cR`VO0W5zc zRcbs4?`!)~goJQ-d+e%`$TKjLv*;Wi#cF(zOugmD1KUnn^*?9Pmi*OKR91B~2G+Ff zIYVa?s;gLp01plctu3gHQwjOw5woGbb6?#Dl4L9I3n;!|qHAh56&#anILp~^IE zxz$EpjoU>&@r@P`&K5*&B!Hz_ZReajM_ZjO0_OydgiJ#8J^B``hWhbn#D@uIJ~kxo zY1f(DgBrnldCZ4Ik*rU%I(=9Ko@EOF><02XO_OpZza!JTAt z%Z|jNxg95kZKCByecXmDw7Sl0~BBdyofHzb0a^;_-9T6#*(TU{jFAFq4|!D zx;%Y<6W=%$Bqlu5Aaa8NEVP=n6XKj>O&y&9_k?hH9U=`MkyknrS>$YhFqW`XUWPLt zB`ewiR^9poT7yMGT-J^?2ui+NDBJ=T5l$0(jcs4`8xK;L)l`4Ndc3~iAYrW&2hUmw zsJN@mr70J4Mn^*L&eIV^jhm?1LhWrDb+z{2-$Y&DGBgc7SblDcb(NwLnS>Y**JEg% z8~sot-j7!uVY#l(rp1J6LXSpg=h1<)!vBUL@e8n=<#5vp z=(X03O3^D>H6$B)EvmHwBE}-I8(9-y!78xGeKwM~lP8~ik|0(vUP3V06NiEt4{6Tu z!E1#8Mmd8ckq_cyb|G#OyA{@gn=e@H#DVjHD=*|N*eNDq&G`BYr>`E`aYp+GkL^1r z25e*IK8_SF-l;7byb#(ptH$r=gvFpk%{2_o>)Ql!!_YME5i*mlrm?S&G$o z5DN87^HDx^O?w1uZnD*U$nvp_p>&DT+sqpAxVex^S&!N z#MQIQ*lGo~+w=3Prb;w5o&xg5g!pbGaWg&iCqMbgbI&~&REayl;wgm7EQB*2sG`xJ z?ohzaZL}rw@n04Ou;6-R_&PuCt~w5cVzi$It6mJe)UxLsbXGFU`RLwr8X;)jc7iwK zb2Dr}cQn96V`YoHHk)DFM&7k&$P@PNGJs&m_8p`@G-gbY%w=sXf4h2KXZr{V_hT(5 zxG+ziz>z(tmkrz~>=H5(&WAKs9bM49l#{IQGxINF-Wx6>gFWD*eK+bl+7f>C#y7r^ zWf+W?&;{aYAgoL09C1muuKW(%D1kw~Yr?eX3V5L-ddwiPX+Ek34DO)S{gXaxY5_%= zt**kRwfiN$8?cD<-U^?b$l={uzU2yF8|y&Sx}{+ggQ9NTCIXLqLFH6WeaT`kprxdt@(wb${WORDVUI&16>_{uc?`>xshHv7T$mfFcRrjo}ta9P% zZ{s)<(0P1_%^(o36Lrxy(*iDCy7bFm{&LWx@Q1g>uFqDD2bYe<^V;i_G)E#Iv{@rw zoZny3Js-z{5rWNdW2$s{gu_^`luQV?6IucrHXNoZRtk9aA7v;^E~7Ml=kZ400L!#Y z3fq}|rpNaubdz~cXp)U95NnApQ8ikDvW06TdFY{smMmEk^deYX-1^`D{`VtCj(q1k z-`Tr&??{RiDNSJYcG+sA#=}fTu)BHXD^XH)M|Yo9>88dD*v*n*v*v`f&2pq+!x7cn zt%XN+*BsX$iQy0Ga&l_IBWgV&8hd`^U5mOE!gfex zD1bO&EX+pYu=W*1j?Yu^6AN(ds||x&3Zy1IG{wgMI!`lPsI_+ef%UT+B<8a0ac5mpKaBkBN)bs@F< z_RhIWE>M#w(Z{$$7IH`{34d$tUN;l#;mk+PfPUy<-N2sIU@0}OtRs+?K06u%IU)lJ zRfwB%@Q4YpMqUT7HYD%lAZq65a#W@@Rirg(nx21@y~CEWIrji>cxl6UJ-%=0Q>+4$ zUdsrz#z}aNsI+<9$3)$5jk+^u&V1yNM}l62l||#oZLv$DV?0EU`Csfrgyiogk&oAL zhh~OerlWHNR1q#&DN{MM!`8%De=eKkqsI-MrfvgJB^AE^)Y{_pgwPbOvnbWDv`YTf8AR9_|tJXAi9+};KL^YG)gL&gJQ^(dq(W&_nQDkzJs>*9r&0NwknC&SS+b$cNsCIyoO&=>B zh=!Pry33X=``OQahI)fMg02N`fj?o1$&XJz{q!e4`AOehAU2U*b}IClBc90LO@0%T zDA7kK7eN^~zdGkK`(HhFGYfwyXLLC8Q9W}Ns#ra16;DKULskb%gC7;jbEGKYIzu2c zpwt^d=*e{nu*jkiNDfD=rFwXJ#QhQy3*o|*)(VqeONK79b^`Ggu16qvv_uh0%#Vz%q@8jh*mBRRx5SP?IM3)FbgUK3z*s0O0JQ>=fa^S^Ji{_>a~l zVFr7tTjZl71SMn{NEDJT6tls($cw7< zrpuSFP+tP5;z#8XrHtb*W8NcWAAe5#LD8~Z^4slY8m;M~?1L%M(zLjIWaXAkekRM3 zb0J6Ra-QZjq+U>*{Cs)Bu<~t(d@*HEnB`_4wf?li;QTTLUo=b^yK_@m;k2 z&2N4)eD0$2jxuJ@*WkZzcsa=X_oZ5A&h5P_hJMxQ&h-#>M$v6%UeQK63_ zS+Hr__TP>l(0kOxx!p?Co>3;xz6@0~)Qc{Y%{EB~F;u1|0d%;N)@-y?j>lTS&Gs|c zBVQ*U`N&6@_q=-b>a47+pbOz`7z{RdJ@UW<5BM%p)B>pxv?3ktBo%7R~JqqS_6lgCST?W`{cdJ@2%icY|dl|q>qFg(x zj-Xf60;Y_q)CB{N`E@b2;dl zq7o$%q~6qca8cj#`8~?g6Y~vvEw@5X@#4OfGzWx3c&ttH2!0@+6^NOzwZ7|J?_wXD zJ$p6)BIrVh3IogZM~qxl0G1iqB{U+PM(%~pgs0Ob`HqH~e2*98om`vD{d?H(rR{O<=Qjup0unWXeNM$_r)Ke@Iz*f+m{KG%|!`!)ZZ;N6Zh#C)J zAT%LA;*UvzJE+a!k&GAAfG|NU_AL1buge2@`K9ZsvJNiq!3nja&0yN_Ni=$I!sov~ zY$ImU!NyCLGA6!-H5+YoAw^4^86%?$u&^KEn!A+L)Km`{GI&)4uI3EVP33s)fDVk1XzA zUR%0d+P^6`lz8p3KE*=Hu%vt5!IXvJwD+Qg&yzuHm;}_uCBTBmK`6B(Zsc2P%XXBk z+hj|x`&1h!EO>J{oB9&o2LxOD82-<}p8h*|~>V{vMFcDoP@(CxnI4-Aqve-~NjGXixNFjIW^;D7>@`833#|Lc0 zSPb@s!(1&_9s;?v3rRX!eJ~lue}a_>utUf# zT|%GNr$RR2 zy~mDUSh}bHS-M>(4~k~8gO?`nmV-&pl`ZU7%8S%-)#uhd?^rcR%c0~%TmmdB&z$h2 zcohoa$#PN=&un$=#&Bex5+*}#rcAKezpa&=AT;;VMCmAYt2H)~n3#C~{r3mG$i#^g zX(80%A$)6p0LygFBdh??q7*G6w4rQp&xfKk)O=ISlMnN;`nh^SM;Fdq<+V_^Umo?T zmSNvGy>>3UYnN>nQW~3`u(5*-r6FJuoDB|I>1~hf4GXX;uLoFSI}Ta^78yxdlGY`I zq2Wl{m~!_ziCqZSjiKyQ2EA6K!t<5+3bB*#fB*Yar%nxe5r%vI=}&)(0>EN(H$4wC zIl>E1({-@8O622v`iLV(wOK$!X}17lHZ|MI@X30np|mDzhCQ#loBLA$_^HIfll zN@(zhq}v3-vp)G=vh7CBd&VB5ODSr~x9a=tgYw1BERh#n;U_!)E&YHGO&b(>eelGaHuH!k2 z>o?W3Z@VPI%pP(pt$7RZ0*y7;h!+1AZ$kiI`4DVEzMlc7u< zNMBMcC&`?;+ zc$yi7GAmJHgwt;n0%DJ_9fV}W?eXoRUoCi64mJ#WQV6bC9X8||TQ}{@ORLCC%>%x0 zsWO-~a)3pS-a7HgoPkK$qAL2Z~@;&`V+Ybc|u<>~c2qPg~grGep+v|}R zif1&{w&I;jHHrSiQ=#?4gzz%#1yCY^2dN_W2e3@A#n5$GNE$;1Z!tc0Tk+wx>>2j+ zJN>m|=mZ=6QU<-2D*<-`e*-ZSP7c7LEhFefSoY9g!7ultAN`07Bk^9ZT_9HD!978x zIpS%GISavw$j5&&MKdXQ%(9B7*H3?7$ydh?Tp?+}34PP=O1$fyYrZ>w7!p!o*ksC)owE7`Y+B;X=B`?06_3fISThJ3pbEA_|`A!j)HNvXf?y2;_ zs+OnI2k)vo$ol~(5Gr~CSiE1TO{wR_DfiK90@XEtF8o6jrub`jt;;YCxB%*=l&BECcg>W zkq{+%^)zg_fy5rE+v7&mSSZFipFL8KP~o0FaZBC$gI0aOqk!LEd9X~kRw@ma4XHq{ z_SUzA0<7URCcr|O&FGf^ENx?#7L$NQAOV&USf);zNBp(B>I55^Hfzvpxg7+8lOKqs zeDRB4#K#VL5mW_O7EuIC*w2Yx*q99+@XQOBoYCBFOp#P6x)hnI8IC5A^&q|LHnqJr z)m>JOwF|TV({xH$#+NT$rf?OfoCSkDuoCamj!sw$f7;}s;j)d)bVN+<)||Q+82y*p zGZo@siinjO(Oe-?C*-@$DuiB(ZHvvwjbDOC7*qBXZZ#QkAG6R=9vTlxph#<#CsA0> zll2i^(%DUJhn5Uae;7Ahi>{s-nA9t~fA+Ha&TRP9nisBK zSI7caduh^MgmN-2?Q{KC-nZ<2QQ*6i@1DPP{+{}yR6$9L2AWAJ6-`fO zji4TBTQ`ElF%3y8p5Kr$XXF0n{d{qk0E_+)DOFrGj(O6a=RT3jWTcOLWe6Q)RjMKZ zNnJuTdgJ9JLM0kPuSL{W>9uUol@e7$Ul%)!HG1@Ds!W331>2U8kU$)Z<kfPpzMHtY|L1vj7IvG}1c~b28{>o%+=(QXN zfk<*Wc5=rZchH0$L_8|Fe}KieVy6(}VK459Ot_oqE?|iJC1Y;AlCzt^Gi^V#sqM9? zRTM_9E~$9+ZOVhC;AU6#QSg>_&k9ixNJ}^0kScP%uMX>|*i{iBz|v14Z&*JsX9y3B*tG0Q?@1tLf=0dL9q*7PsrU#>i!UX{Lp=xg=tr>> zTci__kNCo*A|M6j5=!={WCM}e2U8qI&~ocL|jjrX-#xx0xVO|W9$l(X!U8)#KG>r zwdjz#DLSl!YfCLmwF0ch*2aKe(eckrm^wJ4Kl9gQf|VBAh7dWP*_O+8ABd8uEs_1s zhF*(>B)umw682n35#tH45Yz@G^o@QH$ts#eK2d3><+cdA0>(|-G7U}p;*zgOa(Z&&zsUWiDDdZ(Jut0T z4uA6e#AW9%T#$il%HeJn%pTi+cKNUxrqJM!*i`w!`{Dt|6m*i z4+I?GsprZ5JxY|wE!8ZZCvtW(@gjvB;I@#?5;jSf=A(7>K+JzTGk9Wm;UYOZ;yy7S z2EcM48Nn^F-)UQqovJI_S)5&^omK6jpyfM+*Vn!SkwCBb-XW1-4zBGzS9MZoeo=3X zSC@kCO2uoLEwv>l4YN3uzVy60zKNpsR31j@*CDWFR(TL$Ae$N@-+_Br`Mf-~avJgYgw|=r;2S+%Ftfhe6~M zX|)RP;hqx^A|O9w>kQQFkvWe`1K{*tIcrLCuX!V-N1+e3&QjdB`6Q6*;P%sM*vgQC zYHCNU4%LeblRZ3<=&BrlW{2_dd?CokHM)nm`) z{zyaXq5VgoN0)-FErovOA`|WzdY!#tib<5{qv}^oxc+EP^E4Cp?#;)smHng& zGkIVE541INfxc}|%?UUTOIGZ$Hy^~V2y4}5?+=;ygq~Y_W6jPgR!7q0qIPh$WV1FQ zDM_i7LyPkW32?w7tY{9d9i45}Ix2lR2;)hY7KHsLMucs;>e&gc^jdsbmZVlj#^|H} z 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 KMNUMnLSTZdlgrBh diff --git a/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py b/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py index 538aa3c9bbeb..e8bc3d826f2f 100644 --- a/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py +++ b/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py @@ -194,14 +194,13 @@ def test_axes3d_primary_views(): (0, 180, 0)] # -YZ # When viewing primary planes, draw the two visible axes so they intersect # at their low values - fig, axs = plt.subplots(2, 3, subplot_kw={'projection': '3d'}) + fig, axs = plt.subplots(2, 3, subplot_kw={'projection': '3d'}, layout='tight') for i, ax in enumerate(axs.flat): ax.set_xlabel('x') ax.set_ylabel('y') ax.set_zlabel('z') ax.set_proj_type('ortho') ax.view_init(elev=views[i][0], azim=views[i][1], roll=views[i][2]) - plt.tight_layout() @mpl3d_image_comparison(['bar3d.png'], style='mpl20') @@ -2860,6 +2859,47 @@ def test_axis_get_tightbbox_includes_offset_text(): f"bbox.y1 ({bbox.y1}) should be >= offset_bbox.y1 ({offset_bbox.y1})" +@pytest.mark.parametrize('labeltype', ['ticks', 'axis label']) +def test_axes3d_tightbbox_includes_labels(labeltype): + fig = plt.figure() + ax = fig.add_subplot(projection='3d') + + renderer = fig._get_renderer() + + tight_bbs = {} + + if labeltype == 'axis label': + ax.set_zlabel('foo') + + # Remove ticks so they don't affect the result + ax.zaxis.set_ticks_position('none') + + for pos in ['lower', 'upper', 'both', 'none']: + if labeltype == 'ticks': + ax.zaxis.set_ticks_position(pos) + else: + ax.zaxis.set_label_position(pos) + tight_bbs[pos] = ax.get_tightbbox(renderer) + + for pos in ['lower', 'both']: + # Should make space for labels on the left + assert tight_bbs[pos].xmin < tight_bbs['none'].xmin, \ + f'No space for labels on left with {labeltype} position "{pos}"' + + for pos in ['upper', 'both']: + # Should make space for labels on the right + assert tight_bbs[pos].xmax > tight_bbs['none'].xmax, \ + f'No space for labels on right with {labeltype} position "{pos}"' + + # No space on the right for 'lower' + assert tight_bbs['lower'].xmax == tight_bbs['none'].xmax, \ + f'Unexpected space for labels on right with {labeltype} position "lower"' + + # No space on the left for 'upper' + assert tight_bbs['upper'].xmin == tight_bbs['none'].xmin, \ + f'Unexpected space for labels on left with {labeltype} position "{pos}"' + + def test_ctrl_rotation_snaps_to_5deg(): fig = plt.figure() ax = fig.add_subplot(projection='3d') @@ -3270,24 +3310,3 @@ def test_plot_surface_log_scale_invalid_values(): zmin, zmax = ax.get_zlim() assert 1e-3 < zmin < zmax < 1e3, f"zlim corrupted: {(zmin, zmax)}" - - -def test_axes3d_tightbbox_includes_axis_labels(): - fig = plt.figure() - ax = fig.add_subplot(projection='3d') - ax.scatter([1], [1], [1]) - - fig.draw_without_rendering() - renderer = fig._get_renderer() - bb_no_labels = ax.get_tightbbox(renderer) - - ax.set_xlabel('X label') - ax.set_ylabel('Y label') - ax.set_zlabel('Z label') - - fig.draw_without_rendering() - bb_full = ax.get_tightbbox(renderer) - - # The full bbox must be strictly larger in at least one dimension than the - # bbox not including labels. - assert bb_full.width > bb_no_labels.width or bb_full.height > bb_no_labels.height From 31a1c1a20d1e83e9e7e06724ee3d5ba50fbc428e Mon Sep 17 00:00:00 2001 From: Sahil Mathur <44415247+sahilmathur254@users.noreply.github.com> Date: Wed, 29 Jul 2026 02:36:10 +0530 Subject: [PATCH 10/61] Backport PR #32049: DOC: clarify source of Cn colors --- galleries/users_explain/colors/colors.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/galleries/users_explain/colors/colors.py b/galleries/users_explain/colors/colors.py index 97a281bf1977..b5df32f14543 100644 --- a/galleries/users_explain/colors/colors.py +++ b/galleries/users_explain/colors/colors.py @@ -61,9 +61,14 @@ +--------------------------------------+--------------------------------------+ | "CN" color spec where ``'C'`` | - ``'C0'`` | | precedes a number acting as an index | - ``'C1'`` | -| into the default property cycle. +--------------------------------------+ -| | :rc:`axes.prop_cycle` | -| .. note:: Matplotlib indexes color | | +| into the default property cycle. | | +| | | +| .. note:: The cycle comes from the | | +| global | | +| :rc:`axes.prop_cycle`, not | | +| an Axes-local cycle set by | | +| `~.Axes.set_prop_cycle`. | | +| Matplotlib indexes color | | | at draw time and defaults | | | to black if cycle does not | | | include color. | | From c828c5958af93f8db4c68779e23a053c1419d2bb Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 29 Jul 2026 10:25:40 -0400 Subject: [PATCH 11/61] Backport PR #32132: Add source directory config to rstcheck and bump requirement --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9eeeb03c7937..4b7c022f7748 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -66,13 +66,13 @@ repos: name: isort (python) files: ^galleries/tutorials/|^galleries/examples/|^galleries/plot_types/ - repo: https://github.com/rstcheck/rstcheck - rev: 77490ffa33bfc0928975ae3cf904219903db755d # frozen: v6.2.5 + rev: d8774e96810795967ed9603f445b4e751e7b313f # frozen: v6.3.0 hooks: - id: rstcheck additional_dependencies: - - rstcheck-core!=1.3 # https://github.com/rstcheck/rstcheck-core/pull/114#pullrequestreview-4239740896 - sphinx>=1.8.1 - tomli + args: ["--sphinx-source-dir", "doc"] - repo: https://github.com/adrienverge/yamllint rev: cba56bcde1fdd01c1deb3f945e69764c291a6530 # frozen: v1.38.0 hooks: From 82a9e5b990e24b32444ac14dbd481e6baaa2483a Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Fri, 31 Jul 2026 13:54:06 -0400 Subject: [PATCH 12/61] Backport PR #32062: Don't pre-allocate the Type1 /Subrs array from the declared count --- lib/matplotlib/_type1font.py | 64 +++++++++++++++++--------- lib/matplotlib/tests/test_type1font.py | 52 +++++++++++++++++++++ 2 files changed, 93 insertions(+), 23 deletions(-) diff --git a/lib/matplotlib/_type1font.py b/lib/matplotlib/_type1font.py index c7b73f9c0c7e..0b5403a3720a 100644 --- a/lib/matplotlib/_type1font.py +++ b/lib/matplotlib/_type1font.py @@ -612,30 +612,48 @@ def _parse_subrs(self, tokens, _data): f"Token following /Subrs must be a number, was {count_token}" ) count = count_token.value() - array = [None] * count next(t for t in tokens if t.is_keyword('array')) - for _ in range(count): - next(t for t in tokens if t.is_keyword('dup')) - index_token = next(tokens) - if not index_token.is_number(): - raise RuntimeError( - "Token following dup in Subrs definition must be a " - f"number, was {index_token}" - ) - nbytes_token = next(tokens) - if not nbytes_token.is_number(): - raise RuntimeError( - "Second token following dup in Subrs definition must " - f"be a number, was {nbytes_token}" - ) - token = next(tokens) - if not token.is_keyword(self._abbr['RD']): - raise RuntimeError( - f"Token preceding subr must be {self._abbr['RD']}, " - f"was {token}" - ) - binary_token = tokens.send(1+nbytes_token.value()) - array[index_token.value()] = binary_token.value() + # Accumulate the parsed subrs into a dict and only allocate the result + # list once the body has been read. Allocating ``[None] * count`` up + # front lets a malformed font declare a huge count in a few bytes and + # force a large allocation before it is rejected. + entries = {} + try: + for _ in range(count): + next(t for t in tokens if t.is_keyword('dup')) + index_token = next(tokens) + if not index_token.is_number(): + raise RuntimeError( + "Token following dup in Subrs definition must be a " + f"number, was {index_token}" + ) + nbytes_token = next(tokens) + if not nbytes_token.is_number(): + raise RuntimeError( + "Second token following dup in Subrs definition must " + f"be a number, was {nbytes_token}" + ) + token = next(tokens) + if not token.is_keyword(self._abbr['RD']): + raise RuntimeError( + f"Token preceding subr must be {self._abbr['RD']}, " + f"was {token}" + ) + binary_token = tokens.send(1+nbytes_token.value()) + entries[index_token.value()] = binary_token.value() + except StopIteration: + raise RuntimeError( + "Malformed Type1 font file: Incomplete /Subrs" + ) from None + + # The indices must cover 0 to count-1 exactly. + if (len(entries) != count + or (count and (min(entries), max(entries)) != (0, count - 1))): + raise RuntimeError( + "Malformed Type1 font file: /Subrs indices do not cover " + f"0 to {count - 1}" + ) + array = [entries[index] for index in range(count)] return array, next(tokens).endpos() diff --git a/lib/matplotlib/tests/test_type1font.py b/lib/matplotlib/tests/test_type1font.py index b2f93ef28a26..067e9640e409 100644 --- a/lib/matplotlib/tests/test_type1font.py +++ b/lib/matplotlib/tests/test_type1font.py @@ -158,3 +158,55 @@ def test_encrypt_decrypt_roundtrip(): decrypted = t1f.Type1Font._decrypt(encrypted, 'eexec') assert encrypted != decrypted assert data == decrypted + + +def _write_pfa(path, private): + """Write a minimal font whose eexec-encrypted part is *private*.""" + plaintext = b'/FontName /X def\n/FontBBox [0 0 1 1] def\n' + private + enc = t1f.Type1Font._encrypt(plaintext, 'eexec').hex().encode() + path.write_bytes(b'%!PS-AdobeFont-1.0: X 001.000\neexec\n' + enc + b'\n' + + b'0' * 512 + b'\ncleartomark\n') + return str(path) + + +def test_Subrs_no_preallocation(tmp_path): + # Regression test for #31962: a font declaring a huge /Subrs count must not + # cause a large allocation sized from that (untrusted) count before the + # body is parsed. Here the body is empty, so parsing must fail without + # first allocating a count-sized array. + import tracemalloc + path = _write_pfa(tmp_path / 'x.pfa', b'/Subrs 5000000 array\n') + + tracemalloc.start() + with pytest.raises(RuntimeError, match='Incomplete /Subrs'): + t1f.Type1Font(path) + _, peak = tracemalloc.get_traced_memory() + tracemalloc.stop() + # The pre-allocation regressed to ~40 MB ([None] * count) before failing. + assert peak < 5 * 1024 * 1024 + + +def _write_subrs_pfa(path, indices): + """Write a font with a two-element /Subrs array declared at *indices*.""" + return _write_pfa(path, ( + b'/Subrs 2 array\n' + + b''.join(b'dup %d 5 RD \x00\x01\x02\x03\x04 NP\n' % index + for index in indices) + + b'ND\n' + b'/CharStrings 1 begin\n' + b'/.notdef 5 RD \x00\x01\x02\x03\x04 ND\n' + b'end\n' + )) + + +def test_Subrs_indices(tmp_path): + font = t1f.Type1Font(_write_subrs_pfa(tmp_path / 'x.pfa', (0, 1))) + assert len(font.prop['Subrs']) == 2 + + +@pytest.mark.parametrize('indices', [(0, 5), (0, 0), (-1, 1)]) +def test_Subrs_bad_indices(tmp_path, indices): + # The declared indices must cover 0 to count-1 exactly, so neither an index + # past the end nor a duplicate may reach the returned array. + with pytest.raises(RuntimeError, match='indices do not cover'): + t1f.Type1Font(_write_subrs_pfa(tmp_path / 'x.pfa', indices)) From f968c77fde056a3e4895931b27de04483f4aab95 Mon Sep 17 00:00:00 2001 From: Andrzej Novak Date: Fri, 31 Jul 2026 12:50:18 +0200 Subject: [PATCH 13/61] Backport PR #32078: DOC: Clarify backslash escaping for hatch patterns --- .../shapes_and_collections/hatch_style_reference.py | 10 ++++++++-- lib/matplotlib/patches.py | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/galleries/examples/shapes_and_collections/hatch_style_reference.py b/galleries/examples/shapes_and_collections/hatch_style_reference.py index 58f3207cb9d8..6815fbd6ff77 100644 --- a/galleries/examples/shapes_and_collections/hatch_style_reference.py +++ b/galleries/examples/shapes_and_collections/hatch_style_reference.py @@ -35,10 +35,16 @@ def hatches_plot(ax, h): # %% # Hatching patterns can be repeated to increase the density. +# +# .. note:: +# In regular (non-raw) Python strings, backslashes must be escaped: +# ``'\\\\'`` and ``r'\\'`` are both the two-character hatch ``\\``. +# Forgetting this silently halves the density — ``'\\\\\\'`` is only a +# triple hatch and thus sparser than ``'//////'``. fig, axs = plt.subplots(2, 5, layout='constrained', figsize=(6.4, 3.2)) -hatches = ['//', '\\\\', '||', '--', '++', 'xx', 'oo', 'OO', '..', '**'] +hatches = ['//', r'\\', '||', '--', '++', 'xx', 'oo', 'OO', '..', '**'] for ax, h in zip(axs.flat, hatches): hatches_plot(ax, h) @@ -48,7 +54,7 @@ def hatches_plot(ax, h): fig, axs = plt.subplots(2, 5, layout='constrained', figsize=(6.4, 3.2)) -hatches = ['/o', '\\|', '|*', '-\\', '+o', 'x*', 'o-', 'O|', 'O.', '*-'] +hatches = ['/o', r'\|', '|*', r'\-', '+o', 'x*', 'o-', 'O|', 'O.', '*-'] for ax, h in zip(axs.flat, hatches): hatches_plot(ax, h) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index cdd03bcd7e89..711927b556ca 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -637,6 +637,9 @@ def set_hatch(self, hatch): hatchings are done. If same letter repeats, it increases the density of hatching of that pattern. + In regular (non-raw) Python strings, backslashes must be doubled: + ``'\\\\'`` and ``r'\\'`` are both a double back-diagonal hatch. + Parameters ---------- hatch : {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} From 123fbb123099f166e7632e8112dda9c7dc3d1bcf Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Fri, 31 Jul 2026 19:08:46 +0100 Subject: [PATCH 14/61] Backport PR #32149: Always set device pixel ratio on WebSocket open in WebAgg --- lib/matplotlib/backends/web_backend/js/mpl.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/backends/web_backend/js/mpl.js b/lib/matplotlib/backends/web_backend/js/mpl.js index 7745cbcf1e98..7a6a650716c3 100644 --- a/lib/matplotlib/backends/web_backend/js/mpl.js +++ b/lib/matplotlib/backends/web_backend/js/mpl.js @@ -64,11 +64,9 @@ mpl.figure = function (figure_id, websocket, ondownload, parent_element) { this.ws.onopen = function () { fig.send_message('supports_binary', { value: fig.supports_binary }); fig.send_message('send_image_mode', {}); - if (fig.ratio !== 1) { - fig.send_message('set_device_pixel_ratio', { - device_pixel_ratio: fig.ratio, - }); - } + fig.send_message('set_device_pixel_ratio', { + device_pixel_ratio: fig.ratio, + }); fig.send_message('refresh', {}); }; From fea3089406c636d7ccecc6418aaaebdcc483a41a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 4 Aug 2026 17:36:58 -0400 Subject: [PATCH 15/61] Backport PR #32155: Bump the actions group with 6 updates --- .github/workflows/autoclose_schedule.yml | 2 +- .github/workflows/cibuildwheel.yml | 8 ++++---- .github/workflows/codeql-analysis.yml | 4 ++-- .github/workflows/linting.yml | 10 +++++----- .github/workflows/mypy-stubtest.yml | 2 +- .github/workflows/tests.yml | 2 +- .github/workflows/wasm.yml | 4 ++-- .github/workflows/zizmor.yml | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/autoclose_schedule.yml b/.github/workflows/autoclose_schedule.yml index f3b43c784924..f09a1ff42fb1 100644 --- a/.github/workflows/autoclose_schedule.yml +++ b/.github/workflows/autoclose_schedule.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: '3.13' - name: Install PyGithub diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 8cbc91004183..f4614d2d6ce7 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -47,7 +47,7 @@ jobs: fetch-depth: 0 persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 name: Install Python with: python-version: '3.11' @@ -125,7 +125,7 @@ jobs: run: Remove-Item -Recurse C:\Strawberry - name: Build wheels for CPython 3.14 - uses: pypa/cibuildwheel@294735312765b09d24a2fbec22660ce817587d55 # v4.1.0 + uses: pypa/cibuildwheel@4726cd35bb13f7bde50cf2761f2499ac7b3aa32c # v4.1.1 with: package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }} env: @@ -133,7 +133,7 @@ jobs: CIBW_ARCHS: ${{ matrix.cibw_archs }} - name: Build wheels for CPython 3.13 - uses: pypa/cibuildwheel@294735312765b09d24a2fbec22660ce817587d55 # v4.1.0 + uses: pypa/cibuildwheel@4726cd35bb13f7bde50cf2761f2499ac7b3aa32c # v4.1.1 with: package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }} env: @@ -141,7 +141,7 @@ jobs: CIBW_ARCHS: ${{ matrix.cibw_archs }} - name: Build wheels for CPython 3.12 - uses: pypa/cibuildwheel@294735312765b09d24a2fbec22660ce817587d55 # v4.1.0 + uses: pypa/cibuildwheel@4726cd35bb13f7bde50cf2761f2499ac7b3aa32c # v4.1.1 with: package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }} env: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 5feecaed2d77..d07566f963f7 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -34,7 +34,7 @@ jobs: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@7188fc363630916deb702c7fdcf4e481b751f97a # v4.37.1 + uses: github/codeql-action/init@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3 with: languages: ${{ matrix.language }} @@ -45,4 +45,4 @@ jobs: pip install --user -v . - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@7188fc363630916deb702c7fdcf4e481b751f97a # v4.37.1 + uses: github/codeql-action/analyze@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3 diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index ee5b95b3c4cc..babf66e4decf 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -15,10 +15,10 @@ jobs: with: fetch-depth: 0 persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "3.x" - - uses: j178/prek-action@e98a699c41eb69ab013a45817a0406469a748f8d # v2.0.5 + - uses: j178/prek-action@5337cb91e0fa35a7ff31b9ca345126d8bbbcdf16 # v2.0.6 with: extra-args: --hook-stage manual --all-files @@ -34,7 +34,7 @@ jobs: persist-credentials: false - name: Set up Python 3 - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: '3.11' @@ -64,7 +64,7 @@ jobs: persist-credentials: false - name: Set up Python 3 - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: '3.11' @@ -95,7 +95,7 @@ jobs: persist-credentials: false - name: Set up Python 3 - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: '3.14' diff --git a/.github/workflows/mypy-stubtest.yml b/.github/workflows/mypy-stubtest.yml index 2bb92db0b4a4..aaa9db0463ed 100644 --- a/.github/workflows/mypy-stubtest.yml +++ b/.github/workflows/mypy-stubtest.yml @@ -17,7 +17,7 @@ jobs: persist-credentials: false - name: Set up Python 3 - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: '3.11' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f8f63208dcd4..33ae4f82f4ed 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -103,7 +103,7 @@ jobs: persist-credentials: false - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: ${{ matrix.python-version }} allow-prereleases: true diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 48e4e35a56ef..8266f0d57872 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -44,13 +44,13 @@ jobs: fetch-depth: 0 persist-credentials: false - - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 name: Install Python with: python-version: '3.13' - name: Build wheels for wasm - uses: pypa/cibuildwheel@294735312765b09d24a2fbec22660ce817587d55 # v4.1.0 + uses: pypa/cibuildwheel@4726cd35bb13f7bde50cf2761f2499ac7b3aa32c # v4.1.1 env: CIBW_PLATFORM: "pyodide" CIBW_TEST_COMMAND: "true" diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml index dcdac9cf1090..e66b441b8e43 100644 --- a/.github/workflows/zizmor.yml +++ b/.github/workflows/zizmor.yml @@ -27,4 +27,4 @@ jobs: persist-credentials: false - name: Run zizmor - uses: zizmorcore/zizmor-action@6599ee8b7a49aef6a770f63d261d214911a7ce02 # v0.6.0 + uses: zizmorcore/zizmor-action@6fc4b006235f201fdab3722e17240ab420d580e5 # v0.6.1 From da4bbdd12cc1a9419a8b541cd34a10c0ecd3919a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 4 Aug 2026 18:49:23 -0400 Subject: [PATCH 16/61] Backport PR #32168: DOC: Use raw strings instead of doubling \\ for hatches where possible --- .../examples/images_contours_and_fields/contourf_hatching.py | 2 +- galleries/examples/shapes_and_collections/hatch_demo.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/galleries/examples/images_contours_and_fields/contourf_hatching.py b/galleries/examples/images_contours_and_fields/contourf_hatching.py index 020c20b44ec4..b574afdd19af 100644 --- a/galleries/examples/images_contours_and_fields/contourf_hatching.py +++ b/galleries/examples/images_contours_and_fields/contourf_hatching.py @@ -32,7 +32,7 @@ n_levels = 6 ax2.contour(x, y, z, n_levels, colors='black', linestyles='-') cs = ax2.contourf(x, y, z, n_levels, colors='none', - hatches=['.', '/', '\\', None, '\\\\', '*'], + hatches=['.', '/', '\\', None, r'\\', '*'], extend='lower') # create a legend for the contour set diff --git a/galleries/examples/shapes_and_collections/hatch_demo.py b/galleries/examples/shapes_and_collections/hatch_demo.py index 8d44dba5489b..1ac7a3d8a858 100644 --- a/galleries/examples/shapes_and_collections/hatch_demo.py +++ b/galleries/examples/shapes_and_collections/hatch_demo.py @@ -40,7 +40,7 @@ axs['patches'].add_patch(Ellipse((4, 50), 10, 10, fill=True, hatch='*', facecolor='y')) axs['patches'].add_patch(Polygon([(10, 20), (30, 50), (50, 10)], - hatch='\\/...', facecolor='g')) + hatch=r'\/...', facecolor='g')) axs['patches'].set_xlim(0, 40) axs['patches'].set_ylim(10, 60) axs['patches'].set_aspect(1) From 2cdf90a7817b28c27b359b96759a7c1e3039a19b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 4 Aug 2026 18:32:08 -0400 Subject: [PATCH 17/61] ci: Drop some extraneous setup-python invocations The prek action bundles in everything it needs, and all the linters should be installed in venvs with uv or similar, so there's no need to setup Python as well. Since 2.19.1, cibuildwheel no longer needed setup-python for building Pyodide wheels, so we can drop that as well. It also appears to be causing some kind of conflict during the build [1]. [1] https://github.com/pypa/cibuildwheel/issues/2566 --- .github/workflows/linting.yml | 3 --- .github/workflows/wasm.yml | 5 ----- 2 files changed, 8 deletions(-) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index babf66e4decf..d909ba16593f 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -15,9 +15,6 @@ jobs: with: fetch-depth: 0 persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 - with: - python-version: "3.x" - uses: j178/prek-action@5337cb91e0fa35a7ff31b9ca345126d8bbbcdf16 # v2.0.6 with: extra-args: --hook-stage manual --all-files diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 8266f0d57872..14c1684dd345 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -44,11 +44,6 @@ jobs: fetch-depth: 0 persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 - name: Install Python - with: - python-version: '3.13' - - name: Build wheels for wasm uses: pypa/cibuildwheel@4726cd35bb13f7bde50cf2761f2499ac7b3aa32c # v4.1.1 env: From 9d596dd87f88526bea246da7f85fa7b1561e6bad Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 5 Aug 2026 02:31:06 -0400 Subject: [PATCH 18/61] Backport PR #32158: Fix tiny wx plot window on wxPython 4.3 --- lib/matplotlib/backends/backend_wx.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 3e07e5a14577..7591a6575806 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -935,10 +935,16 @@ def __init__(self, num, fig, *, canvas_class): # otherwise the toolbar further resizes the canvas. w, h = map(math.ceil, fig.bbox.size) self.canvas.SetInitialSize(self.FromDIP(wx.Size(w, h))) - self.canvas.SetMinSize(self.FromDIP(wx.Size(2, 2))) self.canvas.SetFocus() + # Size the frame to the canvas's initial size *before* relaxing the + # canvas min size. ``SetInitialSize`` sets both the size and the min + # size to (w, h); with wxPython 4.3 (wxWidgets 3.3) ``Fit`` uses the + # current min size, so shrinking it to (2, 2) first collapses the + # window to a tiny size (GH #32143). Relax the min size afterwards so + # the user can still resize the window smaller. self.Fit() + self.canvas.SetMinSize(self.FromDIP(wx.Size(2, 2))) self.Bind(wx.EVT_CLOSE, self._on_close) From eb3e50ccf11faac9c17078ccb8a6bc4096c4c4f7 Mon Sep 17 00:00:00 2001 From: Ruth Comer <10599679+rcomer@users.noreply.github.com> Date: Wed, 5 Aug 2026 17:34:49 +0100 Subject: [PATCH 19/61] Backport PR #32172: PERF: Avoid `difflib` lookup in `ColormapRegistry.register` --- lib/matplotlib/cm.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/matplotlib/cm.py b/lib/matplotlib/cm.py index 8bf28aa166aa..90bccf19738b 100644 --- a/lib/matplotlib/cm.py +++ b/lib/matplotlib/cm.py @@ -91,6 +91,9 @@ def __init__(self, cmaps): self._cmaps = cmaps self._builtin_cmaps = tuple(cmaps) + def __contains__(self, item): + return item in self._cmaps + def __getitem__(self, item): cmap = _api.getitem_checked(self._cmaps, colormap=item, _error_cls=KeyError) return cmap.copy() From ca32551f66d028d1db8b8e745abfc6e02b45c0ef Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 7 Aug 2026 02:28:31 -0400 Subject: [PATCH 20/61] Backport PR #32150: FIX: Avoid unbounded allocations for float markevery --- lib/matplotlib/lines.py | 32 +++++++++++++++--- lib/matplotlib/tests/test_lines.py | 54 ++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 9f179e7bfe42..dde1c3003835 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -198,11 +198,33 @@ def _slice_or_none(in_v, slc): # bounding box diagonal being a distance of unity: (x0, y0), (x1, y1) = ax.transAxes.transform([[0, 0], [1, 1]]) scale = np.hypot(x1 - x0, y1 - y0) - marker_delta = np.arange(start * scale, delta[-1], step * scale) - # find closest actual data point that is closest to - # the theoretical distance along the path: - inds = np.abs(delta[np.newaxis, :] - marker_delta[:, np.newaxis]) - inds = inds.argmin(axis=1) + marker_start = start * scale + marker_step = step * scale + if marker_step <= 0: + raise ValueError( + f"'markevery' step must be positive, but got {step!r}") + # A theoretical marker can select a vertex only if the marker + # immediately before or after that vertex selects it. Limit + # the candidates to those markers instead of materializing + # every marker position, which may be arbitrarily large when + # zoomed in far enough. + marker_delta = delta - np.remainder(delta - marker_start, marker_step) + marker_delta = np.union1d(marker_delta, marker_delta + marker_step) + marker_delta = marker_delta[ + (marker_delta >= marker_start) & (marker_delta < delta[-1])] + + # Find each candidate's closest actual data point without + # constructing a len(marker_delta) x len(delta) array. + right = np.searchsorted(delta, marker_delta, side="left") + left = np.maximum(right - 1, 0) + right = np.minimum(right, len(delta) - 1) + inds = np.where( + np.abs(delta[right] - marker_delta) + < np.abs(marker_delta - delta[left]), + right, left) + # If there are multiple vertices at a given distance, use the + # first one. + inds = np.searchsorted(delta, delta[inds], side="left") inds = np.unique(inds) # return, we are done here return Path(fverts[inds], _slice_or_none(codes, inds)) diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py index 33a06e326d4a..54e515449bd1 100644 --- a/lib/matplotlib/tests/test_lines.py +++ b/lib/matplotlib/tests/test_lines.py @@ -271,6 +271,60 @@ def test_markevery_figure_line_unsupported_relsize(): fig.canvas.draw() +def test_markevery_extreme_zoom(): + x = np.linspace(0, 10, 200) + fig, ax = plt.subplots() + ax.plot(x, np.sin(x), marker="o", markevery=0.05) + ax.set_xlim(5.000000, 5.000001) + + # Calculating marker positions must not allocate an unbounded distance + # matrix when the axes are zoomed in extremely far. + fig.canvas.draw() + + +@pytest.mark.parametrize("markevery", [0.0, -0.1]) +def test_markevery_float_nonpositive_spacing(markevery): + fig, ax = plt.subplots() + ax.plot([0, 1], marker="o", markevery=markevery) + + with pytest.raises(ValueError, match="'markevery' step must be positive"): + fig.canvas.draw() + + +@pytest.mark.parametrize( + ("markevery", "expected"), + [(1.5, [0, 3, 4, 5, 6, 7, 8]), + ((-0.2, 1.5), [0, 3, 4, 5, 6, 7]), + ((11.0, 1.5), [])]) +def test_markevery_float_vertex_selection(markevery, expected): + fig, ax = plt.subplots() + (x0, y0), (x1, y1) = ax.transAxes.transform([[0, 0], [1, 1]]) + scale = np.hypot(x1 - x0, y1 - y0) + path = Path(np.column_stack([ + [0, 0.2, 0.8, 1.6, 2.7, 4.1, 5.8, 7.8, 10], np.zeros(9)])) + + actual = mlines._mark_every_path( + markevery, path, mtransforms.Affine2D().scale(scale), ax) + + assert_array_equal(actual.vertices, path.vertices[expected]) + + +@pytest.mark.parametrize( + ("x", "expected"), [([0, 0.5, 1.5], [0, 1]), ([0, 0, 2], [0])]) +def test_markevery_float_ties_and_repeated_vertices(x, expected): + fig, ax = plt.subplots() + (x0, y0), (x1, y1) = ax.transAxes.transform([[0, 0], [1, 1]]) + scale = np.hypot(x1 - x0, y1 - y0) + path = Path(np.column_stack([x, np.zeros(len(x))])) + + actual = mlines._mark_every_path( + 1.0, path, mtransforms.Affine2D().scale(scale), ax) + + # Match np.argmin's preference for the first vertex on ties, including + # repeated cumulative distances. + assert_array_equal(actual.vertices, path.vertices[expected]) + + def test_marker_as_markerstyle(): fig, ax = plt.subplots() line, = ax.plot([2, 4, 3], marker=MarkerStyle("D")) From 725d2d7916031795910e8ecb78d73920ae825567 Mon Sep 17 00:00:00 2001 From: "Lumberbot (aka Jack)" <39504233+meeseeksmachine@users.noreply.github.com> Date: Fri, 7 Aug 2026 20:48:41 +0200 Subject: [PATCH 21/61] Backport PR #32179: Document and fix `AngleAnnotation` constructor default case of using the current Axes (#32180) Co-authored-by: Elliott Sales de Andrade --- .../examples/text_labels_and_annotations/angle_annotation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/galleries/examples/text_labels_and_annotations/angle_annotation.py b/galleries/examples/text_labels_and_annotations/angle_annotation.py index 178f54863477..b8bb973c6181 100644 --- a/galleries/examples/text_labels_and_annotations/angle_annotation.py +++ b/galleries/examples/text_labels_and_annotations/angle_annotation.py @@ -91,7 +91,7 @@ def __init__(self, xy, p1, p2, size=75, unit="points", ax=None, * "axes min", "axes max": minimum or maximum of relative Axes width, height - ax : `matplotlib.axes.Axes` + ax : `matplotlib.axes.Axes`, default: current Axes The Axes to add the angle annotation to. text : str @@ -128,7 +128,7 @@ def __init__(self, xy, p1, p2, size=75, unit="points", ax=None, xytext=(0, 0), textcoords="offset points", annotation_clip=True) self.kw.update(text_kw or {}) - self.text = ax.annotate(text, xy=self._center, **self.kw) + self.text = self.ax.annotate(text, xy=self._center, **self.kw) def get_size(self): factor = 1. From abaedee544158672041ac4f416a28a2a310d3d10 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 7 Aug 2026 21:56:12 +0200 Subject: [PATCH 22/61] Backport PR #32181: ci: Add environment variable to detect Azure Pipelines --- lib/matplotlib/testing/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/testing/__init__.py b/lib/matplotlib/testing/__init__.py index 3c7cc76c5570..fdbf79014611 100644 --- a/lib/matplotlib/testing/__init__.py +++ b/lib/matplotlib/testing/__init__.py @@ -260,7 +260,8 @@ def is_ci_environment(): 'JENKINS', # Jenkins 'GITLAB_CI', # GitLab CI 'GITHUB_ACTIONS', # GitHub Actions - 'TEAMCITY_VERSION' # TeamCity + 'TEAMCITY_VERSION', # TeamCity + 'TF_BUILD', # Azure Pipelines # Add other CI environment variables as needed ] From 97f1c569b9aece700995b953e4a7adb8da2d35a8 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 8 Aug 2026 23:32:34 -0400 Subject: [PATCH 23/61] Backport PR #32183: ci: Make eslint check fail on errors --- .github/workflows/linting.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index d909ba16593f..f93b5b2a2c91 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -130,3 +130,4 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} reporter: github-check workdir: 'lib/matplotlib/backends/web_backend/' + fail_level: error From 7c6f69277ce54206cd409c58ae01c159fa425b9b Mon Sep 17 00:00:00 2001 From: Alice <24862220+a-lfns@users.noreply.github.com> Date: Mon, 10 Aug 2026 22:31:14 +0200 Subject: [PATCH 24/61] Backport PR #32196: Clarify interval semantics in BoundaryNorm documentation --- lib/matplotlib/colors.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index fe80faab72e0..6815a8c07d83 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -3224,6 +3224,8 @@ def __init__(self, boundaries, ncolors, clip=False, *, extend='neither'): boundaries : array-like Monotonically increasing sequence of at least 2 bin edges: data falling in the n-th bin will be mapped to the n-th color. + Bins are left-closed and right-open; i.e., the n-th bin is + ``boundaries[n] <= value < boundaries[n + 1]``. ncolors : int Number of colors in the colormap to be used. @@ -3231,12 +3233,12 @@ def __init__(self, boundaries, ncolors, clip=False, *, extend='neither'): clip : bool, optional If clip is ``True``, out of range values are mapped to 0 if they are below ``boundaries[0]`` or mapped to ``ncolors - 1`` if they - are above ``boundaries[-1]``. + are greater than or equal to ``boundaries[-1]``. If clip is ``False``, out of range values are mapped to -1 if they are below ``boundaries[0]`` or mapped to *ncolors* if they are - above ``boundaries[-1]``. These are then converted to valid indices - by `Colormap.__call__`. + greater than or equal to ``boundaries[-1]``. These are then + converted to valid indices by `Colormap.__call__`. extend : {'neither', 'both', 'min', 'max'}, default: 'neither' Extend the number of bins to include one or both of the From 9210d15cdc7125654fcd9bab08efd0230485f421 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sun, 16 Aug 2026 03:02:52 +0200 Subject: [PATCH 25/61] Backport PR #32212: TST: Convert all non-RGB(A) images to RGBA --- lib/matplotlib/testing/compare.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py index 92547c3585f6..0beef9ccc421 100644 --- a/lib/matplotlib/testing/compare.py +++ b/lib/matplotlib/testing/compare.py @@ -401,11 +401,16 @@ def calculate_rms(expected_image, actual_image): def _load_image(path): img = Image.open(path) - # In an RGBA image, if the smallest value in the alpha channel is 255, all - # values in it must be 255, meaning that the image is opaque. If so, - # discard the alpha channel so that it may compare equal to an RGB image. - if img.mode != "RGBA" or img.getextrema()[3][0] == 255: - img = img.convert("RGB") + if img.mode != "RGB": + # If we have anything other than RGB(A) (e.g., a paletted image), convert it + # to RGBA. + if img.mode != "RGBA": + img = img.convert("RGBA") + # In an RGBA image, if the smallest value in the alpha channel is 255, all + # values in it must be 255, meaning that the image is opaque. If so, discard the + # alpha channel so that it may compare equal to an RGB image. + if img.getextrema()[3][0] == 255: + img = img.convert("RGB") return np.asarray(img) From bbd81688da9532c4a0fb757d17cddd52467d5fd3 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 19 Aug 2026 10:16:09 +0200 Subject: [PATCH 26/61] Backport PR #32221: Qt IconEngine: Use a device pixel ratio of 1 when high-DPI pixmaps are disabled --- lib/matplotlib/backends/backend_qt.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_qt.py b/lib/matplotlib/backends/backend_qt.py index ff99b64749ec..3a18ff5a4ca4 100644 --- a/lib/matplotlib/backends/backend_qt.py +++ b/lib/matplotlib/backends/backend_qt.py @@ -720,7 +720,12 @@ def pixmap(self, size, mode, state): def _devicePixelRatio(self): """Return the current device pixel ratio for the toolbar, defaulting to 1.""" - return (self.toolbar.devicePixelRatioF() or 1) if self.toolbar else 1 + use_high_dpi_pixmaps = True + if hasattr(QtCore.Qt.ApplicationAttribute, "AA_UseHighDpiPixmaps"): + app = QtWidgets.QApplication.instance() + use_high_dpi_pixmaps = app.testAttribute(QtCore.Qt.AA_UseHighDpiPixmaps) + toolbar_dpr = (self.toolbar.devicePixelRatioF() or 1) if self.toolbar else 1 + return toolbar_dpr if use_high_dpi_pixmaps else 1 def _create_pixmap_from_svg(self, svg_path, size): """Create a pixmap from SVG with proper scaling and dark mode support.""" From c2404dc147d83b7ceaeb953e4fa36304fc51f526 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 19 Aug 2026 10:17:19 +0200 Subject: [PATCH 27/61] =?UTF-8?q?Backport=20PR=20#32223:=20TST:=20Use=20a?= =?UTF-8?q?=20nonzero=20tolerance=20for=20test=5Fanchored=5Fdirection=5Far?= =?UTF-8?q?rows=5Fmany=5F=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/mpl_toolkits/axes_grid1/tests/test_axes_grid1.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/mpl_toolkits/axes_grid1/tests/test_axes_grid1.py b/lib/mpl_toolkits/axes_grid1/tests/test_axes_grid1.py index 5a6a229f3c59..4162f5860f0e 100644 --- a/lib/mpl_toolkits/axes_grid1/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/axes_grid1/tests/test_axes_grid1.py @@ -1,7 +1,6 @@ from itertools import product import io import platform -import sys import matplotlib as mpl import matplotlib.pyplot as plt @@ -369,7 +368,7 @@ def test_anchored_direction_arrows(): @image_comparison(['anchored_direction_arrows_many_args.png'], style='mpl20', - tol=0.002 if sys.platform == 'win32' else 0) + tol=0.002) def test_anchored_direction_arrows_many_args(): fig, ax = plt.subplots() ax.imshow(np.ones((10, 10))) From 33dc49b5094671eb2100cce561b3c78860102299 Mon Sep 17 00:00:00 2001 From: Kyle Sunden Date: Fri, 21 Aug 2026 11:40:02 -0700 Subject: [PATCH 28/61] Backport PR #32209: BLD: Force all internal extension symbols to be hidden --- src/hidden-symbols.map | 6 ++++++ src/meson.build | 10 ++++++++++ 2 files changed, 16 insertions(+) create mode 100644 src/hidden-symbols.map diff --git a/src/hidden-symbols.map b/src/hidden-symbols.map new file mode 100644 index 000000000000..bea858a839ff --- /dev/null +++ b/src/hidden-symbols.map @@ -0,0 +1,6 @@ +{ + global: + PyInit_*; + local: + *; +}; diff --git a/src/meson.build b/src/meson.build index 8b52bf739c03..2445a9a734e6 100644 --- a/src/meson.build +++ b/src/meson.build @@ -125,9 +125,19 @@ else new_preprocessor = [] endif +# Even though Meson defaults to hidden visibility, our bundled libraries like FreeType +# may themselves export their own symbols individually. So force all symbols other than +# the Python module initialization function to be hidden with a linker version script. +mapfile = 'hidden-symbols.map' +vflag = cc.get_supported_link_arguments([ + '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile) +]) + foreach ext, kwargs : extension_data additions = { 'cpp_args': [new_preprocessor] + kwargs.get('cpp_args', []), + 'link_args': [vflag] + kwargs.get('link_args', []), + 'link_depends': [mapfile] + kwargs.get('link_depends', []), } py3.extension_module( ext, From d14bb6bbcd941bf4b56052785a8fec106b1e3421 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 21 Aug 2026 16:08:35 -0400 Subject: [PATCH 29/61] Backport PR #32147: Fix nested braces in mathtext \text arguments --- lib/matplotlib/_mathtext.py | 52 ++++++++++++++++++++++++--- lib/matplotlib/tests/test_mathtext.py | 20 +++++++++++ 2 files changed, 68 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/_mathtext.py b/lib/matplotlib/_mathtext.py index f81a0df8099e..319d6f065389 100644 --- a/lib/matplotlib/_mathtext.py +++ b/lib/matplotlib/_mathtext.py @@ -24,9 +24,9 @@ from numpy.typing import NDArray from pyparsing import ( Empty, Forward, Literal, Group, NotAny, OneOrMore, Optional, - ParseBaseException, ParseExpression, ParseFatalException, - ParserElement, ParseResults, QuotedString, Regex, StringEnd, ZeroOrMore, - pyparsing_common, nested_expr, one_of) + ParseBaseException, ParseException, ParseExpression, ParseFatalException, + ParserElement, ParseResults, QuotedString, Regex, StringEnd, Token, + ZeroOrMore, pyparsing_common, nested_expr, one_of) import matplotlib as mpl from . import cbook @@ -1873,6 +1873,50 @@ def raise_error(s: str, loc: int, toks: ParseResults) -> T.Any: return Empty().set_parse_action(raise_error) +class _BracedText(Token): + r""" + Match a brace-delimited literal string, allowing nested braces. + + This is similar to ``QuotedString("{", "\\", end_quote_char="}")``, except + that brace depth is tracked, so that the string does not end at the first + ``}``. As in TeX, nested unescaped braces only group, and are not + rendered; a literal brace is written as ``\{`` or ``\}``. A backslash + escapes the following character, which therefore does not affect depth. + """ + + _escapes = {"t": "\t", "n": "\n", "f": "\f", "r": "\r"} + + def __init__(self) -> None: + super().__init__() + self.mayReturnEmpty = True + self.mayIndexError = False + + def parseImpl(self, instring: str, loc: int, + do_actions: bool = True) -> tuple[int, str]: + if loc >= len(instring) or instring[loc] != "{": + raise ParseException(instring, loc, "Expected '{'", self) + chars = [] + depth = 0 + while loc < len(instring): + char = instring[loc] + if char == "\\" and loc + 1 < len(instring): + escaped = instring[loc + 1] + chars.append(self._escapes.get(escaped, escaped)) + loc += 2 + continue + loc += 1 + if char == "{": + depth += 1 + continue + elif char == "}": + depth -= 1 + if depth == 0: + return loc, "".join(chars) + continue + chars.append(char) + raise ParseException(instring, loc, "Expected '}'", self) + + class ParserState: """ Parser state. @@ -2216,7 +2260,7 @@ def csnames(group: str, names: Iterable[str]) -> Regex: r"\underset", p.optional_group("annotation") + p.optional_group("body")) - p.text = cmd(r"\text", QuotedString('{', '\\', end_quote_char="}")) + p.text = cmd(r"\text", _BracedText()) p.substack = cmd(r"\substack", nested_expr(opener="{", closer="}", diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py index b89ceaa144cf..1e1bf793cdae 100644 --- a/lib/matplotlib/tests/test_mathtext.py +++ b/lib/matplotlib/tests/test_mathtext.py @@ -337,6 +337,8 @@ def test_fontinfo(): (r'$a_2_2$', r'Double subscript'), (r'$a^2_a^2$', r'Double superscript'), (r'$a = {b$', r"Expected '}'"), + (r'$\text$', r'Expected \text'), + (r'$\text{foo$', r'Expected \text'), ], ids=[ 'hspace without value', @@ -366,6 +368,8 @@ def test_fontinfo(): 'double subscript', 'super on sub without braces', 'unclosed group', + 'text without argument', + 'text with unclosed argument', ] ) def test_mathtext_exceptions(math, msg): @@ -576,6 +580,22 @@ def test_mathtext_single_char_super_with_prime(expr): parser.parse(expr) +@check_figures_equal() +def test_text_nested_braces(fig_test, fig_ref): + # Nested braces group as in TeX, and are not rendered (gh-32105). + fig_test.text(0.1, 0.2, r"$\text{{example}}$") + fig_test.text(0.1, 0.5, r"$\text{a{b}{{c}}d}$") + fig_ref.text(0.1, 0.2, r"$\text{example}$") + fig_ref.text(0.1, 0.5, r"$\text{abcd}$") + + +@check_figures_equal() +def test_text_escaped_braces(fig_test, fig_ref): + # Escaped braces are still rendered as literal braces (gh-32105). + fig_test.text(0.1, 0.2, r"$\text{{\{example\}}}$") + fig_ref.text(0.1, 0.2, r"$\text{\{example\}}$") + + @check_figures_equal() def test_boldsymbol(fig_test, fig_ref): fig_test.text(0.1, 0.2, r"$\boldsymbol{\mathrm{abc0123\alpha}}$") From 051f2a022c701b1627ec5b4f6fd152bdb07e78ca Mon Sep 17 00:00:00 2001 From: Kyle Sunden Date: Thu, 27 Aug 2026 12:15:51 -0700 Subject: [PATCH 30/61] Backport PR #32242: ci: Force-enable long path support on AppVeyor --- .appveyor.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.appveyor.yml b/.appveyor.yml index 4521bc876a8f..1910c02f33fa 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -40,6 +40,11 @@ cache: - '%USERPROFILE%\.cache\matplotlib' init: + # Force enable long path support, because micromamba isn't doing it correctly. + # https://github.com/mamba-org/mamba/issues/4392 + - ps: + New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" + -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force - ps: Invoke-Webrequest -URI https://micro.mamba.pm/api/micromamba/win-64/latest From 9cbc79b974534e7b517000b2095e744d8d8b4c24 Mon Sep 17 00:00:00 2001 From: Ricci Adams <1097294+iccir@users.noreply.github.com> Date: Thu, 27 Aug 2026 12:20:14 -0700 Subject: [PATCH 31/61] Backport PR #32194: Fix the rounding of animation frame size to match the eventual canvas size --- lib/matplotlib/animation.py | 10 +++++++--- lib/matplotlib/tests/test_animation.py | 13 +++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py index 7146dc28fcc9..ad303cbb92e9 100644 --- a/lib/matplotlib/animation.py +++ b/lib/matplotlib/animation.py @@ -177,8 +177,10 @@ def setup(self, fig, outfile, dpi=None): @property def frame_size(self): """A tuple ``(width, height)`` in pixels of a movie frame.""" + # We cannot query the canvas for width/height because the dpi may be different + # The tolerance of 1e-8 covers a floating-point tick for even 100,000 pixels w, h = self.fig.get_size_inches() - return int(w * self.dpi), int(h * self.dpi) + return int(w * self.dpi + 1e-8), int(h * self.dpi + 1e-8) def _supports_transparency(self): """ @@ -293,15 +295,17 @@ def __init__(self, fps=5, codec=None, bitrate=None, extra_args=None, self.extra_args = extra_args def _adjust_frame_size(self): + wo, ho = self.frame_size # in pixels, so need to convert to inches + wo /= self.dpi + ho /= self.dpi if self.codec == 'h264': - wo, ho = self.fig.get_size_inches() w, h = adjusted_figsize(wo, ho, self.dpi, 2) if (wo, ho) != (w, h): self.fig.set_size_inches(w, h, forward=True) _log.info('figure size in inches has been adjusted ' 'from %s x %s to %s x %s', wo, ho, w, h) else: - w, h = self.fig.get_size_inches() + w, h = wo, ho _log.debug('frame size in pixels is %s x %s', *self.frame_size) return w, h diff --git a/lib/matplotlib/tests/test_animation.py b/lib/matplotlib/tests/test_animation.py index bfddddf6d665..9beb025c2a2e 100644 --- a/lib/matplotlib/tests/test_animation.py +++ b/lib/matplotlib/tests/test_animation.py @@ -103,6 +103,19 @@ def test_null_movie_writer(anim): assert writer._count == anim._save_count +def test_frame_size(): + # Test that the frame size is the canvas size and not the figure size + fig = plt.figure(figsize=(1, 2.03), dpi=100) + assert fig.bbox.height < 203 # due to floating-point precision + assert fig.canvas.get_width_height() == (100, 203) + + anim = animation.FuncAnimation(fig, lambda frame: tuple(), frames=1) + writer = NullMovieWriter() + anim.save("unused.null", dpi=100, writer=writer) + + assert writer.frame_size == fig.canvas.get_width_height() + + @pytest.mark.parametrize('anim', [dict(klass=dict)], indirect=['anim']) def test_animation_delete(anim): if platform.python_implementation() == 'PyPy': From 65faf23725b89577e1ccd5408dabbbe5d228119f Mon Sep 17 00:00:00 2001 From: Kyle Sunden Date: Thu, 27 Aug 2026 12:37:18 -0700 Subject: [PATCH 32/61] Backport PR #32228: Fixed a bug with drawing an empty Collection --- lib/matplotlib/collections.py | 6 ++++++ lib/matplotlib/tests/test_axes.py | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index c9e04a70b356..201b49cee057 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -363,6 +363,12 @@ def draw(self, renderer): return renderer.open_group(self.__class__.__name__, self.get_gid()) + # Bail if the collection does not have any offsets (e.g., an empty scatter plot) + if len(self.get_offsets()) == 0: + renderer.close_group(self.__class__.__name__) + self.stale = False + return + self.update_scalarmappable() transform, offset_trf, offsets, paths = self._prepare_points() diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index 5713c371a341..b2b273df50ba 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -3220,6 +3220,24 @@ def test_scatter_singular_plural_arguments(self): facecolors=["#ffffff", "#000000", "#f0f0f0"], facecolor="#ffffff") + @pytest.mark.parametrize('edgecolor, facecolor, linestyle', + [('red', 'blue', 'solid'), + ('red', 'blue', 'dashed'), + ('red', 'none', 'solid'), + ('none', 'blue', 'solid')]) + @check_figures_equal() + def test_empty_scatter(self, fig_test, fig_ref, edgecolor, facecolor, linestyle): + # Verify that a spurious marker is not plotted in the bottom-left corner + # https://github.com/matplotlib/matplotlib/issues/32219 + ax_test = fig_test.subplots() + ax_test.scatter([], [], ec=edgecolor, fc=facecolor, ls=linestyle, clip_on=False) + ax_test.set_xlim(0, 1) + ax_test.set_ylim(0, 1) + + ax_ref = fig_ref.subplots() + ax_ref.set_xlim(0, 1) + ax_ref.set_ylim(0, 1) + def _params(c=None, xsize=2, *, edgecolors=None, **kwargs): return (c, edgecolors, kwargs, xsize) From c84c867a6ed7c87ebf97aceebc8cf6d02d05980c Mon Sep 17 00:00:00 2001 From: hannah Date: Sat, 29 Aug 2026 20:52:58 -0400 Subject: [PATCH 33/61] Backport PR #32250: DOC: Convert math symbol table to sphinx-design cards --- doc/sphinxext/math_symbol_table.py | 39 +++++++++++++++++------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/doc/sphinxext/math_symbol_table.py b/doc/sphinxext/math_symbol_table.py index a143326ab75b..08195d893ed3 100644 --- a/doc/sphinxext/math_symbol_table.py +++ b/doc/sphinxext/math_symbol_table.py @@ -1,5 +1,6 @@ import re -from docutils.parsers.rst import Directive + +from sphinx.util.docutils import SphinxDirective from matplotlib import _mathtext, _mathtext_data @@ -32,7 +33,7 @@ 5, _mathtext.Parser._overunder_symbols | _mathtext.Parser._dropsub_symbols], ["Standard function names", - 5, + 4, {fr"\{fn}" for fn in _mathtext.Parser._function_names}], ["Binary operation symbols", 4, @@ -87,31 +88,34 @@ def render_symbol(sym, ignore_variant=False): lines = [] for category, columns, syms in symbols: + lines.append(f'**{category}**') + lines.append('') + lines.append(f'.. grid:: 1 1 {columns} {columns}') + if category == "Hebrew": # Hebrew is rtl + lines.append(' :reverse:') + lines.append('') syms = sorted(syms, # Sort by Unicode and place variants immediately # after standard versions. key=lambda sym: (render_symbol(sym, ignore_variant=True), - sym.startswith(r"\var")), - reverse=(category == "Hebrew")) # Hebrew is rtl - rendered_syms = [f"{render_symbol(sym)} ``{sym}``" for sym in syms] - columns = min(columns, len(syms)) - lines.append("**%s**" % category) - lines.append('') - max_width = max(map(len, rendered_syms)) - header = (('=' * max_width) + ' ') * columns - lines.append(header.rstrip()) - for part in range(0, len(rendered_syms), columns): - row = " ".join( - sym.rjust(max_width) for sym in rendered_syms[part:part + columns]) - lines.append(row) - lines.append(header.rstrip()) + sym.startswith(r"\var"))) + size = 'sd-fs-4' if category == 'Standard function names' else 'sd-fs-1' + for sym in syms: + rendered = render_symbol(sym) + lines.append(f' .. grid-item-card:: {rendered}') + lines.append(f' :class-title: {size}') + lines.append(' :shadow: none') + lines.append(' :text-align: center') + lines.append('') + lines.append(f' ``{sym}``') + lines.append('') lines.append('') state_machine.insert_input(lines, "Symbol table") return [] -class MathSymbolTableDirective(Directive): +class MathSymbolTableDirective(SphinxDirective): has_content = False required_arguments = 0 optional_arguments = 0 @@ -119,6 +123,7 @@ class MathSymbolTableDirective(Directive): option_spec = {} def run(self): + self.env.note_dependency(__file__) return run(self.state_machine) From 8d7545a16afdebb61c580a740ee6cf48ec3f6a2a Mon Sep 17 00:00:00 2001 From: hannah Date: Sat, 29 Aug 2026 20:52:58 -0400 Subject: [PATCH 34/61] Backport PR #32250: DOC: Convert math symbol table to sphinx-design cards --- doc/sphinxext/math_symbol_table.py | 39 +++++++++++++++++------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/doc/sphinxext/math_symbol_table.py b/doc/sphinxext/math_symbol_table.py index a143326ab75b..08195d893ed3 100644 --- a/doc/sphinxext/math_symbol_table.py +++ b/doc/sphinxext/math_symbol_table.py @@ -1,5 +1,6 @@ import re -from docutils.parsers.rst import Directive + +from sphinx.util.docutils import SphinxDirective from matplotlib import _mathtext, _mathtext_data @@ -32,7 +33,7 @@ 5, _mathtext.Parser._overunder_symbols | _mathtext.Parser._dropsub_symbols], ["Standard function names", - 5, + 4, {fr"\{fn}" for fn in _mathtext.Parser._function_names}], ["Binary operation symbols", 4, @@ -87,31 +88,34 @@ def render_symbol(sym, ignore_variant=False): lines = [] for category, columns, syms in symbols: + lines.append(f'**{category}**') + lines.append('') + lines.append(f'.. grid:: 1 1 {columns} {columns}') + if category == "Hebrew": # Hebrew is rtl + lines.append(' :reverse:') + lines.append('') syms = sorted(syms, # Sort by Unicode and place variants immediately # after standard versions. key=lambda sym: (render_symbol(sym, ignore_variant=True), - sym.startswith(r"\var")), - reverse=(category == "Hebrew")) # Hebrew is rtl - rendered_syms = [f"{render_symbol(sym)} ``{sym}``" for sym in syms] - columns = min(columns, len(syms)) - lines.append("**%s**" % category) - lines.append('') - max_width = max(map(len, rendered_syms)) - header = (('=' * max_width) + ' ') * columns - lines.append(header.rstrip()) - for part in range(0, len(rendered_syms), columns): - row = " ".join( - sym.rjust(max_width) for sym in rendered_syms[part:part + columns]) - lines.append(row) - lines.append(header.rstrip()) + sym.startswith(r"\var"))) + size = 'sd-fs-4' if category == 'Standard function names' else 'sd-fs-1' + for sym in syms: + rendered = render_symbol(sym) + lines.append(f' .. grid-item-card:: {rendered}') + lines.append(f' :class-title: {size}') + lines.append(' :shadow: none') + lines.append(' :text-align: center') + lines.append('') + lines.append(f' ``{sym}``') + lines.append('') lines.append('') state_machine.insert_input(lines, "Symbol table") return [] -class MathSymbolTableDirective(Directive): +class MathSymbolTableDirective(SphinxDirective): has_content = False required_arguments = 0 optional_arguments = 0 @@ -119,6 +123,7 @@ class MathSymbolTableDirective(Directive): option_spec = {} def run(self): + self.env.note_dependency(__file__) return run(self.state_machine) From a1f14d6acd66e149420c8f9d0505d8c712b0ca9f Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sun, 30 Aug 2026 08:15:04 -0700 Subject: [PATCH 35/61] Backport PR #32265: DOC: minor fix in pie_label docstring --- lib/matplotlib/axes/_axes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 565bd30d32bb..e12f4d1329db 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -3794,7 +3794,7 @@ def pie_label(self, container, /, labels, *, distance=0.6, string with ``absval`` and/or ``frac`` placeholders. For example, to label each wedge with its value and the percentage in brackets:: - wedge_labels="{absval:d} ({frac:.0%})" + labels="{absval:d} ({frac:.0%})" distance : float, default: 0.6 The radial position of the labels, relative to the pie radius. Values > 1 From 3787a741068fa403b97b40aa4b6dbb5786607d04 Mon Sep 17 00:00:00 2001 From: Ricci Adams <1097294+iccir@users.noreply.github.com> Date: Sun, 30 Aug 2026 20:54:26 -0700 Subject: [PATCH 36/61] Backport PR #32225: Fix ResizeEvent handling for TextBox --- lib/matplotlib/tests/test_widgets.py | 4 +++- lib/matplotlib/widgets.py | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/tests/test_widgets.py b/lib/matplotlib/tests/test_widgets.py index 3f8cc750f557..a109987bda53 100644 --- a/lib/matplotlib/tests/test_widgets.py +++ b/lib/matplotlib/tests/test_widgets.py @@ -4,7 +4,7 @@ from unittest import mock import matplotlib as mpl -from matplotlib.backend_bases import DrawEvent, KeyEvent, MouseEvent +from matplotlib.backend_bases import DrawEvent, KeyEvent, MouseEvent, ResizeEvent import matplotlib.colors as mcolors import matplotlib.widgets as widgets import matplotlib.pyplot as plt @@ -1097,6 +1097,8 @@ def test_TextBox(ax, toolbar): assert text_change_event.call_count == 3 + ResizeEvent("resize_event", ax.figure.canvas)._process() # smoke test + def test_RadioButtons(ax): radio = widgets.RadioButtons(ax, ('Radio 1', 'Radio 2', 'Radio 3')) diff --git a/lib/matplotlib/widgets.py b/lib/matplotlib/widgets.py index e43995ca43f3..6204f2030686 100644 --- a/lib/matplotlib/widgets.py +++ b/lib/matplotlib/widgets.py @@ -1718,7 +1718,6 @@ def _click(self, event): self.cursor_index = self.text_disp._char_index_at(event.x) self._rendercursor() - @_call_with_reparented_event def _resize(self, event): self.stop_typing() From 0eb5dbd78ba2e965af0405e10807e40f8d4bd572 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 29 Jul 2026 10:25:40 -0400 Subject: [PATCH 37/61] Backport PR #32132: Add source directory config to rstcheck and bump requirement --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8706ec94b3d5..5709d4b8e084 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -66,13 +66,13 @@ repos: name: isort (python) files: ^galleries/tutorials/|^galleries/examples/|^galleries/plot_types/ - repo: https://github.com/rstcheck/rstcheck - rev: 77490ffa33bfc0928975ae3cf904219903db755d # frozen: v6.2.5 + rev: d8774e96810795967ed9603f445b4e751e7b313f # frozen: v6.3.0 hooks: - id: rstcheck additional_dependencies: - - rstcheck-core!=1.3 # https://github.com/rstcheck/rstcheck-core/pull/114#pullrequestreview-4239740896 - sphinx>=1.8.1 - tomli + args: ["--sphinx-source-dir", "doc"] - repo: https://github.com/adrienverge/yamllint rev: cba56bcde1fdd01c1deb3f945e69764c291a6530 # frozen: v1.38.0 hooks: From 9d6fbd790fbe17d697b7a0434502014052b78a30 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 31 Aug 2026 16:57:34 -0400 Subject: [PATCH 38/61] Backport PR #32252: FIX: interpolate the path and name MPLCONFIGDIR in the temp cache dir warning --- lib/matplotlib/__init__.py | 5 ++++- lib/matplotlib/tests/test_matplotlib.py | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py index 2a83cc1f1091..ae4710142e73 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -575,7 +575,10 @@ def _get_config_or_cache_dir(xdg_base_getter): if os.access(str(configdir), os.W_OK) and configdir.is_dir(): return str(configdir) _log.warning("%s is not a writable directory", configdir) - issue_msg = "the default path ({configdir})" + if os.environ.get('MPLCONFIGDIR'): + issue_msg = f"MPLCONFIGDIR ({configdir})" + else: + issue_msg = f"the default path ({configdir})" else: issue_msg = "resolving the home directory" # If the config or cache directory cannot be created or is not a writable diff --git a/lib/matplotlib/tests/test_matplotlib.py b/lib/matplotlib/tests/test_matplotlib.py index 6dab056f9170..bfd503156a86 100644 --- a/lib/matplotlib/tests/test_matplotlib.py +++ b/lib/matplotlib/tests/test_matplotlib.py @@ -32,6 +32,7 @@ def test_tmpconfigdir_warning(tmp_path): [sys.executable, "-c", "import matplotlib"], env={**os.environ, "MPLCONFIGDIR": str(tmp_path)}, stderr=subprocess.PIPE, text=True, check=True) + assert f"MPLCONFIGDIR ({tmp_path.resolve()})" in proc.stderr assert "set the MPLCONFIGDIR" in proc.stderr finally: os.chmod(tmp_path, mode) From 15249ab882740d0ce42213dc2297e0d0a765d5c3 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Tue, 1 Sep 2026 11:09:30 +0200 Subject: [PATCH 39/61] Backport PR #32268: Use "{}" for format strings --- src/mplutils.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mplutils.h b/src/mplutils.h index 475530b3d880..d7920095b067 100644 --- a/src/mplutils.h +++ b/src/mplutils.h @@ -64,7 +64,7 @@ inline void check_trailing_shape(T array, char const* name, long d1) { if (array.ndim() != 2) { throw py::value_error( - "Expected 2-dimensional array, got %d"_s.format(array.ndim())); + "Expected 2-dimensional array, got {}"_s.format(array.ndim())); } if (array.size() == 0) { // Sometimes things come through as atleast_2d, etc., but they're empty, so @@ -73,7 +73,7 @@ inline void check_trailing_shape(T array, char const* name, long d1) } if (array.shape(1) != d1) { throw py::value_error( - "%s must have shape (N, %d), got (%d, %d)"_s.format( + "{} must have shape (N, {}), got ({}, {})"_s.format( name, d1, array.shape(0), array.shape(1))); } } @@ -83,7 +83,7 @@ inline void check_trailing_shape(T array, char const* name, long d1, long d2) { if (array.ndim() != 3) { throw py::value_error( - "Expected 3-dimensional array, got %d"_s.format(array.ndim())); + "Expected 3-dimensional array, got {}"_s.format(array.ndim())); } if (array.size() == 0) { // Sometimes things come through as atleast_3d, etc., but they're empty, so @@ -92,7 +92,7 @@ inline void check_trailing_shape(T array, char const* name, long d1, long d2) } if (array.shape(1) != d1 || array.shape(2) != d2) { throw py::value_error( - "%s must have shape (N, %d, %d), got (%d, %d, %d)"_s.format( + "{} must have shape (N, {}, {}), got ({}, {}, {})"_s.format( name, d1, d2, array.shape(0), array.shape(1), array.shape(2))); } } From 126c21bfa435ebd4eaaa54d094441d8f9a2566d0 Mon Sep 17 00:00:00 2001 From: Ricci Adams <1097294+iccir@users.noreply.github.com> Date: Thu, 3 Sep 2026 09:54:26 -0700 Subject: [PATCH 40/61] Backport PR #32275: Speed up RGBA-stage image resampling --- lib/matplotlib/image.py | 23 +++++++++++++++-------- lib/matplotlib/tests/test_image.py | 20 ++++++++++++++++++++ 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py index 25e6a3bd5ee8..65cf600dd1aa 100644 --- a/lib/matplotlib/image.py +++ b/lib/matplotlib/image.py @@ -450,8 +450,6 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, if not (A.ndim == 2 or A.ndim == 3 and A.shape[-1] in (3, 4)): raise ValueError(f"Invalid shape {A.shape} for image data") - float_rgba_in = A.ndim == 3 and A.shape[-1] == 4 and A.dtype.kind == 'f' - # if antialiased, this needs to change as window sizes # change: interpolation_stage = self._interpolation_stage @@ -535,13 +533,22 @@ def _make_image(self, A, in_bbox, out_bbox, clip_bbox, magnification=1.0, # Resample in premultiplied alpha space. (TODO: Consider # implementing premultiplied-space resampling in # span_image_resample_rgba_affine::generate?) - if float_rgba_in and np.ndim(alpha) == 0 and np.any(A[..., 3] < 1): - # Do not modify original RGBA input - A = A.copy() - A[..., :3] *= A[..., 3:] + # Multiplying the whole array and then restoring the alpha channel + # is faster than an in-place multiply of the strided A[..., :3] + # view. If alpha is uniformly 1, premultiplication can be skipped. + alpha_in = A[..., 3] + if (alpha_in != 1).any(): + A = A * alpha_in[..., None] + A[..., 3] = alpha_in res = _resample(self, A, out_shape, t) - np.divide(res[..., :3], res[..., 3:], out=res[..., :3], - where=res[..., 3:] != 0) + # Demultiply. Zeroes in the divisor are replaced by ones, + # which leaves the corresponding (premultiplied) RGB values + # untouched. Dividing the whole contiguous array is several + # times faster than np.divide(..., where=...) into the strided + # res[..., :3] view. + alpha_out = res[..., 3].copy() + res /= np.where(alpha_out != 0, alpha_out, 1)[..., None] + res[..., 3] = alpha_out if post_apply_alpha: res[..., 3] *= alpha diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py index 7d01b44d60a3..788d39774a6d 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -1861,6 +1861,26 @@ def test_resample_dtypes(dtype, ndim): axes_image.make_image(None)[0] +@pytest.mark.parametrize('alpha', [0, 0.25, 0.5, 0.75, 1]) +def test_rgba_stage_demultiplies_resampled_alpha(alpha): + # Issue 32240: resampling in the 'rgba' stage happens in premultiplied alpha + # space, so the RGB channels are demultiplied afterwards. The original + # colors must come back independently of the alpha channel, and a zero + # resampled alpha must not be divided by. + rgb = [0.2, 0.4, 0.6] + data = np.empty((4, 4, 4)) + data[..., :3] = rgb + data[..., 3] = alpha + fig, ax = plt.subplots() + axes_image = ax.imshow(data, interpolation='nearest', interpolation_stage='rgba') + image = axes_image.make_image(None)[0] + # A fully transparent image premultiplies to zero and is never divided back. + expected_rgb = np.multiply(rgb, 255) if alpha else [0, 0, 0] + # The rendered image is a single flat colour, so compare against it directly. + assert_array_equal(np.unique(image.reshape(-1, 4), axis=0), + [[*expected_rgb, int(alpha * 255)]]) + + @pytest.mark.parametrize('intp_stage', ('data', 'rgba')) @check_figures_equal(extensions=['png', 'pdf', 'svg']) def test_interpolation_stage_rgba_respects_alpha_param(fig_test, fig_ref, intp_stage): From 43b85ca084e2c964fe9ff08392dc153954b23de2 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Thu, 3 Sep 2026 15:41:29 -0400 Subject: [PATCH 41/61] Backport PR #32254: Fix bug with PGF hatch linewidth and color --- lib/matplotlib/backend_bases.py | 2 +- lib/matplotlib/backends/backend_pgf.py | 11 +++++++++++ .../test_backend_pgf/pgf_rcupdate2.pdf | Bin 129447 -> 129368 bytes lib/matplotlib/tests/test_backend_pgf.py | 2 ++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 384987e3d036..1183ef01b683 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -979,7 +979,7 @@ def get_hatch_color(self): def set_hatch_color(self, hatch_color): """Set the hatch color.""" - self._hatch_color = hatch_color + self._hatch_color = colors.to_rgba(hatch_color) def get_hatch_linewidth(self): """Get the hatch linewidth.""" diff --git a/lib/matplotlib/backends/backend_pgf.py b/lib/matplotlib/backends/backend_pgf.py index 36048fe016df..6f3a796ad10b 100644 --- a/lib/matplotlib/backends/backend_pgf.py +++ b/lib/matplotlib/backends/backend_pgf.py @@ -458,6 +458,17 @@ def draw_path(self, gc, path, transform, rgbFace=None): r"\pgfsys@defobject{currentpattern}" r"{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}{") _writeln(self.fh, r"\begin{pgfscope}") + + # hatch linewidth and color + lw = gc.get_hatch_linewidth() * mpl_pt_to_in * latex_in_to_pt + hatch_rgba = gc.get_hatch_color() + _writeln(self.fh, r"\pgfsetlinewidth{%fpt}" % lw) + _writeln(self.fh, + r"\definecolor{currenthatch}{rgb}{%f,%f,%f}" + % hatch_rgba[:3]) + _writeln(self.fh, r"\pgfsetstrokecolor{currenthatch}") + _writeln(self.fh, r"\pgfsetstrokeopacity{%f}" % hatch_rgba[3]) + _writeln(self.fh, r"\pgfpathrectangle" r"{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}") diff --git a/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_rcupdate2.pdf b/lib/matplotlib/tests/baseline_images/test_backend_pgf/pgf_rcupdate2.pdf index 9d05f9e3e559a1d4fdbd93530bc891b87f19f687..6d2dc07a9fe25d98242fff59e72bd754588d6a20 100644 GIT binary patch delta 56868 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

We}48-v?D)et$x4uym7LIiP7R^$aFId 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 delta 57019 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%0D_C^E9zWQk* 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 Z|L0H#Qv3`=LnI+ALG Date: Fri, 4 Sep 2026 09:27:51 -0700 Subject: [PATCH 42/61] Backport PR #32193: Raise a clear error on incomplete Type1 font sections --- lib/matplotlib/_type1font.py | 59 +++++++++++++------------- lib/matplotlib/tests/test_type1font.py | 16 +++++++ 2 files changed, 46 insertions(+), 29 deletions(-) diff --git a/lib/matplotlib/_type1font.py b/lib/matplotlib/_type1font.py index 0b5403a3720a..e91b1391b2c1 100644 --- a/lib/matplotlib/_type1font.py +++ b/lib/matplotlib/_type1font.py @@ -523,12 +523,18 @@ def _parse(self): # Some values need special parsing if key in ('Subrs', 'CharStrings', 'Encoding', 'OtherSubrs'): - prop[key], endpos = { + parser = { 'Subrs': self._parse_subrs, 'CharStrings': self._parse_charstrings, 'Encoding': self._parse_encoding, 'OtherSubrs': self._parse_othersubrs - }[key](source, data) + }[key] + try: + prop[key], endpos = parser(source, data) + except StopIteration: + raise RuntimeError( + f"Malformed Type1 font file: Incomplete /{key}" + ) from None pos.setdefault(key, []).append((keypos, endpos)) continue @@ -618,33 +624,28 @@ def _parse_subrs(self, tokens, _data): # front lets a malformed font declare a huge count in a few bytes and # force a large allocation before it is rejected. entries = {} - try: - for _ in range(count): - next(t for t in tokens if t.is_keyword('dup')) - index_token = next(tokens) - if not index_token.is_number(): - raise RuntimeError( - "Token following dup in Subrs definition must be a " - f"number, was {index_token}" - ) - nbytes_token = next(tokens) - if not nbytes_token.is_number(): - raise RuntimeError( - "Second token following dup in Subrs definition must " - f"be a number, was {nbytes_token}" - ) - token = next(tokens) - if not token.is_keyword(self._abbr['RD']): - raise RuntimeError( - f"Token preceding subr must be {self._abbr['RD']}, " - f"was {token}" - ) - binary_token = tokens.send(1+nbytes_token.value()) - entries[index_token.value()] = binary_token.value() - except StopIteration: - raise RuntimeError( - "Malformed Type1 font file: Incomplete /Subrs" - ) from None + for _ in range(count): + next(t for t in tokens if t.is_keyword('dup')) + index_token = next(tokens) + if not index_token.is_number(): + raise RuntimeError( + "Token following dup in Subrs definition must be a " + f"number, was {index_token}" + ) + nbytes_token = next(tokens) + if not nbytes_token.is_number(): + raise RuntimeError( + "Second token following dup in Subrs definition must " + f"be a number, was {nbytes_token}" + ) + token = next(tokens) + if not token.is_keyword(self._abbr['RD']): + raise RuntimeError( + f"Token preceding subr must be {self._abbr['RD']}, " + f"was {token}" + ) + binary_token = tokens.send(1+nbytes_token.value()) + entries[index_token.value()] = binary_token.value() # The indices must cover 0 to count-1 exactly. if (len(entries) != count diff --git a/lib/matplotlib/tests/test_type1font.py b/lib/matplotlib/tests/test_type1font.py index 067e9640e409..067ac27cd104 100644 --- a/lib/matplotlib/tests/test_type1font.py +++ b/lib/matplotlib/tests/test_type1font.py @@ -210,3 +210,19 @@ def test_Subrs_bad_indices(tmp_path, indices): # past the end nor a duplicate may reach the returned array. with pytest.raises(RuntimeError, match='indices do not cover'): t1f.Type1Font(_write_subrs_pfa(tmp_path / 'x.pfa', indices)) + + +@pytest.mark.parametrize('private, section', [ + (b'/CharStrings 1 begin\n/.notdef 5 RD \x00\x01\x02\x03\x04 ND\n', + 'CharStrings'), + (b'/CharStrings 1\n', 'CharStrings'), + (b'/CharStrings 1 begin\n', 'CharStrings'), + (b'/Encoding 1 array\ndup 0 /.notdef put\n', 'Encoding'), + (b'/OtherSubrs [ {} {} \n', 'OtherSubrs'), +]) +def test_incomplete_sections(tmp_path, private, section): + # A font that ends in the middle of a section used to raise a bare + # StopIteration out of the parser, which says nothing about the file. + path = _write_pfa(tmp_path / 'x.pfa', private) + with pytest.raises(RuntimeError, match=f'Incomplete /{section}'): + t1f.Type1Font(path) From 90b082e92759e4667496b30da5d278f9b8f8b47a Mon Sep 17 00:00:00 2001 From: Kyle Sunden Date: Fri, 4 Sep 2026 11:45:26 -0700 Subject: [PATCH 43/61] Backport PR #32226: ft2font: Make glyph loading failures more robust --- lib/matplotlib/tests/test_ft2font.py | 8 +++++++- src/ft2font.cpp | 8 ++++++-- src/ft2font_wrapper.cpp | 4 ++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_ft2font.py b/lib/matplotlib/tests/test_ft2font.py index 105feb37fa2f..8a588fc24d38 100644 --- a/lib/matplotlib/tests/test_ft2font.py +++ b/lib/matplotlib/tests/test_ft2font.py @@ -922,6 +922,12 @@ def test_ft2font_loading(): file = fm.findfont('DejaVu Sans') font = ft2font.FT2Font(file) font.set_size(12, 72) + with pytest.warns(UserWarning, + match=r'Glyph 6504 \(\\N{TAI LE LETTER OO}\) missing from ' + r'font\(s\) DejaVu Sans\.'): + with pytest.raises(RuntimeError, match='failed to find glyph to load'): + # Character doesn't exist in DejaVu Sans, and no fallback defined. + font.load_char(0x1968) for glyph in [font.load_char(ord('M')), font.load_glyph(font.get_char_index(ord('M')))]: assert glyph is not None @@ -935,7 +941,7 @@ def test_ft2font_loading(): assert glyph.vertBearingY == 64 assert glyph.vertAdvance == 832 assert glyph.bbox == (54, 0, 574, 576) - assert font.get_num_glyphs() == 2 # Both count as loaded. + assert font.get_num_glyphs() == 2 # Both valid glyphs count as loaded. # But neither has been placed anywhere. assert font.get_width_height() == (0, 0) assert font.get_descent() == 0 diff --git a/src/ft2font.cpp b/src/ft2font.cpp index 3e53a87343a6..b1bcfed5ee54 100644 --- a/src/ft2font.cpp +++ b/src/ft2font.cpp @@ -537,9 +537,13 @@ void FT2Font::load_char(long charcode, FT_Int32 flags, FT2Font *&ft_object, bool ft_glyph_warn(charcode, glyph_seen_fonts); if (charcode_error) { THROW_FT_ERROR("charcode loading", charcode_error); - } - else if (glyph_error) { + } else if (glyph_error) { THROW_FT_ERROR("charcode loading", glyph_error); + } else { + throw std::runtime_error{ + "charcode loading (ft2font.cpp line " + std::to_string(__LINE__) + + ") failed to find glyph to load" + }; } } else if (ft_object_with_glyph->warn_if_used) { ft_glyph_warn(charcode, glyph_seen_fonts); diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index a8654ba1d8a3..681b44ea3acd 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -356,6 +356,10 @@ const char *PyGlyph__doc__ = R"""( static PyGlyph * PyGlyph_from_FT2Font(const FT2Font *font) { + if (font == nullptr || font->get_num_glyphs() == 0) { + throw std::runtime_error("No glyphs have been loaded."); + } + const FT_Face &face = font->get_face(); const FT_Glyph &glyph = font->get_last_glyph(); From 2ce439905e367b1b8347d0177ec5c9391c4c988b Mon Sep 17 00:00:00 2001 From: Kyle Sunden Date: Fri, 4 Sep 2026 11:47:40 -0700 Subject: [PATCH 44/61] Backport PR #32267: Add checks after using pybind ensure() --- lib/matplotlib/tests/test_lines.py | 6 ++++++ lib/matplotlib/tests/test_transforms.py | 25 +++++++++++++++++++++++++ src/_image_wrapper.cpp | 3 +++ src/_path_wrapper.cpp | 5 ++++- src/py_converters.h | 5 +++-- 5 files changed, 41 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py index 54e515449bd1..1a1f37c9b1e1 100644 --- a/lib/matplotlib/tests/test_lines.py +++ b/lib/matplotlib/tests/test_lines.py @@ -203,6 +203,12 @@ def test_lw_scaling(): def test_is_sorted_and_has_non_nan(): + with pytest.raises(ValueError): + _path.is_sorted_and_has_non_nan(None) + with pytest.raises(ValueError): + _path.is_sorted_and_has_non_nan([[[[None]], None]]) + with pytest.raises(ValueError): + print(_path.is_sorted_and_has_non_nan([""])) assert _path.is_sorted_and_has_non_nan(np.array([1, 2, 3])) assert _path.is_sorted_and_has_non_nan(np.array([1, np.nan, 3])) assert not _path.is_sorted_and_has_non_nan([3, 5] + [np.nan] * 100 + [0, 2]) diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py index 4655a8b5ebc7..2be5fddf17aa 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py @@ -11,6 +11,7 @@ import matplotlib.transforms as mtransforms from matplotlib.transforms import Affine2D, Bbox, TransformedBbox, _ScaledRotation from matplotlib.path import Path +from matplotlib._path import count_bboxes_overlapping_bbox from matplotlib.testing.decorators import image_comparison, check_figures_equal from unittest.mock import MagicMock @@ -885,6 +886,30 @@ def test_bbox_as_strings(): assert eval(format(getattr(b, k), fmt)) == v +def test_count_bboxes_overlapping_bbox(): + for invalid_bbox in [ + [[[[None]], None]], + [1, 2, 3], + [], + [[1], [2]], + ]: + with pytest.raises(ValueError): + count_bboxes_overlapping_bbox(invalid_bbox, None) + + corners = ( + [[0, 0], [2, 2]], + [[8, 0], [10, 2]], + [[0, 8], [2, 10]], + [[8, 8], [10, 10]], + ) + center = [[4, 4], [6, 6]] + bbox = [[0, 0], [10, 10]] + + assert count_bboxes_overlapping_bbox(bbox, corners) == 4 + assert count_bboxes_overlapping_bbox(bbox, (center, )) == 1 + assert count_bboxes_overlapping_bbox(bbox, (center, *corners)) == 5 + + def test_str_transform(): # The str here should not be considered as "absolutely stable", and may be # reformatted later; this is just a smoketest for __str__. diff --git a/src/_image_wrapper.cpp b/src/_image_wrapper.cpp index 6b6dc61dc1c6..b14e4eecc514 100644 --- a/src/_image_wrapper.cpp +++ b/src/_image_wrapper.cpp @@ -127,6 +127,9 @@ image_resample(py::array input_array, // Ensure input array is contiguous, regardless of dtype input_array = py::array::ensure(input_array, py::array::c_style); + if (!input_array) { + throw std::invalid_argument("Input array could not be made C-contiguous"); + } // Validate output array auto out_ndim = output_array.ndim(); diff --git a/src/_path_wrapper.cpp b/src/_path_wrapper.cpp index 802189c428d3..48fc679621cf 100644 --- a/src/_path_wrapper.cpp +++ b/src/_path_wrapper.cpp @@ -281,7 +281,7 @@ Py_is_sorted_and_has_non_nan(py::object obj) bool result; py::array array = py::array::ensure(obj); - if (array.ndim() != 1) { + if (!array || array.ndim() != 1) { throw std::invalid_argument("array must be 1D"); } @@ -297,6 +297,9 @@ Py_is_sorted_and_has_non_nan(py::object obj) result = is_sorted_and_has_non_nan(array); } else { array = py::array_t::ensure(obj); + if (!array) { + throw std::invalid_argument("Could not coerce array to double"); + } result = is_sorted_and_has_non_nan(array); } diff --git a/src/py_converters.h b/src/py_converters.h index c03df3933ed8..d354eab701dc 100644 --- a/src/py_converters.h +++ b/src/py_converters.h @@ -60,8 +60,9 @@ namespace PYBIND11_NAMESPACE { namespace detail { } auto rect_arr = py::array_t::ensure(src); + auto ndim = rect_arr ? rect_arr.ndim() : 0; - if (rect_arr.ndim() == 2) { + if (ndim == 2) { if (rect_arr.shape(0) != 2 || rect_arr.shape(1) != 2) { throw py::value_error("Invalid bounding box"); } @@ -71,7 +72,7 @@ namespace PYBIND11_NAMESPACE { namespace detail { value.x2 = *rect_arr.data(1, 0); value.y2 = *rect_arr.data(1, 1); - } else if (rect_arr.ndim() == 1) { + } else if (ndim == 1) { if (rect_arr.shape(0) != 4) { throw py::value_error("Invalid bounding box"); } From e93c7560ca4db9e60bea1a0b052303d9ad6f9f68 Mon Sep 17 00:00:00 2001 From: Ricci Adams <1097294+iccir@users.noreply.github.com> Date: Fri, 4 Sep 2026 12:04:00 -0700 Subject: [PATCH 45/61] Backport PR #32288: DOC: switch to more stable location for intershpinx registry --- doc/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 6651383fcacb..8447f9da40c6 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -273,7 +273,7 @@ def autodoc_process_bases(app, name, obj, options, bases): 'pandas': ('https://pandas.pydata.org/docs/', None), 'pytest': ('https://pytest.org/en/stable/', None), 'python': ('https://docs.python.org/3/', None), - 'scipy': ('https://docs.scipy.org/doc/scipy/', None), + 'scipy': ('https://static.scipy.org/doc/scipy/', None), 'tornado': ('https://www.tornadoweb.org/en/stable/', None), 'wx': ('https://docs.wxpython.org/', None), 'xarray': ('https://docs.xarray.dev/en/stable/', None), From 6c340628075ac401c2cf42e888c85c64b2ea5a59 Mon Sep 17 00:00:00 2001 From: Ricci Adams <1097294+iccir@users.noreply.github.com> Date: Fri, 4 Sep 2026 12:04:00 -0700 Subject: [PATCH 46/61] Backport PR #32288: DOC: switch to more stable location for intershpinx registry --- doc/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 6651383fcacb..8447f9da40c6 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -273,7 +273,7 @@ def autodoc_process_bases(app, name, obj, options, bases): 'pandas': ('https://pandas.pydata.org/docs/', None), 'pytest': ('https://pytest.org/en/stable/', None), 'python': ('https://docs.python.org/3/', None), - 'scipy': ('https://docs.scipy.org/doc/scipy/', None), + 'scipy': ('https://static.scipy.org/doc/scipy/', None), 'tornado': ('https://www.tornadoweb.org/en/stable/', None), 'wx': ('https://docs.wxpython.org/', None), 'xarray': ('https://docs.xarray.dev/en/stable/', None), From 5aff5c5472314a2163a5ca9f3dd2fc91ff866bd0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 4 Sep 2026 15:41:05 -0400 Subject: [PATCH 47/61] Backport PR #32104: Add font family to mismatched font weight warning --- lib/matplotlib/font_manager.py | 5 +++-- lib/matplotlib/tests/test_font_manager.py | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 82a5256eb68a..0ce526980da6 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -1663,8 +1663,9 @@ def _findfont_cached(self, prop, fontext, directory, fallback_to_default, break if best_font is not None and (_normalize_weight(prop.get_weight()) != _normalize_weight(best_font.weight)): - _log.warning('findfont: Failed to find font weight %s, now using %s.', - prop.get_weight(), best_font.weight) + _log.warning( + 'findfont: Failed to find font weight %s for %s, now using %s.', + prop.get_weight(), best_font.name, best_font.weight) if best_font is None or best_score >= 10.0: if fallback_to_default: diff --git a/lib/matplotlib/tests/test_font_manager.py b/lib/matplotlib/tests/test_font_manager.py index add063df9066..e9cac7caa5b8 100644 --- a/lib/matplotlib/tests/test_font_manager.py +++ b/lib/matplotlib/tests/test_font_manager.py @@ -615,9 +615,11 @@ def test_normalize_weights(): def test_font_match_warning(caplog): - findfont(FontProperties(family=["DejaVu Sans"], weight=750)) + font = 'DejaVu Sans' + findfont(FontProperties(family=[font], weight=750)) + expected = f'findfont: Failed to find font weight 750 for {font}, now using 700.' logs = [rec.message for rec in caplog.records] - assert 'findfont: Failed to find font weight 750, now using 700.' in logs + assert expected in logs def test_mutable_fontproperty_cache_invalidation(): From 395b33e78fbbc521d857e5319358f62fb27e1579 Mon Sep 17 00:00:00 2001 From: Kyle Sunden Date: Fri, 4 Sep 2026 13:51:58 -0700 Subject: [PATCH 48/61] Backport PR #32263: Doc: tell 3.11 upgraders to remove the pre-shaping workaround --- .../prev_whats_new/whats_new_3.11.0.rst | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/doc/release/prev_whats_new/whats_new_3.11.0.rst b/doc/release/prev_whats_new/whats_new_3.11.0.rst index 95c9f8313873..0ff9fea3b998 100644 --- a/doc/release/prev_whats_new/whats_new_3.11.0.rst +++ b/doc/release/prev_whats_new/whats_new_3.11.0.rst @@ -774,6 +774,36 @@ Text support has been extended to include complex text layout. This support incl Note, all advanced features require corresponding font support, and may require additional fonts over the builtin DejaVu Sans. +.. admonition:: Remove any pre-shaping workaround + :class: important + + Because Matplotlib did not previously reorder text, the usual workaround for + Arabic, Persian, Urdu and Hebrew was to reorder the string before passing it in, + typically with ``arabic_reshaper`` and ``python-bidi``:: + + preprocessed = get_display(arabic_reshaper.reshape(text)) + ax.set_title(preprocessed) + + Matplotlib now reorders the string itself, so a string that arrives already in + visual order is reordered a second time and is drawn backwards. Nothing is + raised, and to a reader who does not read the script the result still looks + like correct text, so this is easy to ship without noticing. + + - If you can require Matplotlib 3.11, pass the logical string and delete the + pre-processing. + - If you support older versions as well, branch on the Matplotlib version and + pre-process only on the older one. + - If you cannot change the call at all, because the text is handed to a + third-party library that calls Matplotlib for you, wrap the pre-processed + string in ``LEFT-TO-RIGHT OVERRIDE`` and ``POP DIRECTIONAL FORMATTING``:: + + text = ('\N{LEFT-TO-RIGHT OVERRIDE}' + preprocessed + + '\N{POP DIRECTIONAL FORMATTING}') + + That reads correctly on every version. It does not always render + identically, because it draws the font's presentation-form glyphs rather + than the font's own shaping, and some fonts space those differently. + Specifying font feature tags ---------------------------- From 89017bde2bdab9482f13733ebad705c62ef615a6 Mon Sep 17 00:00:00 2001 From: Kyle Sunden Date: Fri, 4 Sep 2026 13:51:58 -0700 Subject: [PATCH 49/61] Backport PR #32263: Doc: tell 3.11 upgraders to remove the pre-shaping workaround --- .../prev_whats_new/whats_new_3.11.0.rst | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/doc/release/prev_whats_new/whats_new_3.11.0.rst b/doc/release/prev_whats_new/whats_new_3.11.0.rst index 95c9f8313873..0ff9fea3b998 100644 --- a/doc/release/prev_whats_new/whats_new_3.11.0.rst +++ b/doc/release/prev_whats_new/whats_new_3.11.0.rst @@ -774,6 +774,36 @@ Text support has been extended to include complex text layout. This support incl Note, all advanced features require corresponding font support, and may require additional fonts over the builtin DejaVu Sans. +.. admonition:: Remove any pre-shaping workaround + :class: important + + Because Matplotlib did not previously reorder text, the usual workaround for + Arabic, Persian, Urdu and Hebrew was to reorder the string before passing it in, + typically with ``arabic_reshaper`` and ``python-bidi``:: + + preprocessed = get_display(arabic_reshaper.reshape(text)) + ax.set_title(preprocessed) + + Matplotlib now reorders the string itself, so a string that arrives already in + visual order is reordered a second time and is drawn backwards. Nothing is + raised, and to a reader who does not read the script the result still looks + like correct text, so this is easy to ship without noticing. + + - If you can require Matplotlib 3.11, pass the logical string and delete the + pre-processing. + - If you support older versions as well, branch on the Matplotlib version and + pre-process only on the older one. + - If you cannot change the call at all, because the text is handed to a + third-party library that calls Matplotlib for you, wrap the pre-processed + string in ``LEFT-TO-RIGHT OVERRIDE`` and ``POP DIRECTIONAL FORMATTING``:: + + text = ('\N{LEFT-TO-RIGHT OVERRIDE}' + preprocessed + + '\N{POP DIRECTIONAL FORMATTING}') + + That reads correctly on every version. It does not always render + identically, because it draws the font's presentation-form glyphs rather + than the font's own shaping, and some fonts space those differently. + Specifying font feature tags ---------------------------- From 31cdfbfd4666834e6b4525826c3a1dde891567bb Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 4 Sep 2026 18:30:10 -0400 Subject: [PATCH 50/61] Backport PR #32000: Fix PDF path collection culling for `hexbin` offsets --- lib/matplotlib/backends/backend_pdf.py | 41 +++++++----------------- lib/matplotlib/tests/test_backend_pdf.py | 27 ++++++++++++++++ 2 files changed, 38 insertions(+), 30 deletions(-) diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py index 2fad9f7b2cf6..256e75705dfc 100644 --- a/lib/matplotlib/backends/backend_pdf.py +++ b/lib/matplotlib/backends/backend_pdf.py @@ -2012,16 +2012,11 @@ def draw_path_collection(self, gc, master_transform, paths, all_transforms, name = self.file.pathCollectionObject( gc, path, transform, padding, filled, stroked) path_codes.append(name) - # Compute the extent of each marker path to enable per-marker - # bounds checking. This allows us to skip markers that are - # completely outside the visible canvas while preserving markers - # that are partially visible. - if len(path.vertices): - bbox = path.get_extents(transform) - # Store half-width and half-height for efficient bounds checking - path_extents.append((bbox.width / 2, bbox.height / 2)) - else: - path_extents.append((0, 0)) + # Compute each transformed path's exact bounds for per-marker + # canvas checks. Offsets are not necessarily full canvas-space + # centers, e.g. for collections using AffineDeltaTransform, so + # cull based on the final path bounds translated by the offset. + path_extents.append(path.get_extents(transform).frozen()) # Create a mapping from path_id to extent for efficient lookup path_extent_map = dict(zip(path_codes, path_extents)) @@ -2037,26 +2032,12 @@ def draw_path_collection(self, gc, master_transform, paths, all_transforms, facecolors, edgecolors, linewidths, linestyles, antialiaseds, urls, offset_position, hatchcolors=hatchcolors): - # Optimization: Fast path for markers with centers inside canvas. - # This avoids the dictionary lookup for the common case where - # markers are visible, improving performance for large scatter plots. - if 0 <= xo <= canvas_width and 0 <= yo <= canvas_height: - # Marker center is inside canvas - definitely render it - self.check_gc(gc0, rgbFace) - dx, dy = xo - lastx, yo - lasty - output(1, 0, 0, 1, dx, dy, Op.concat_matrix, path_id, - Op.use_xobject) - lastx, lasty = xo, yo - continue - - # Marker center is outside canvas - check if partially visible. - # Skip markers completely outside visible canvas bounds to reduce - # PDF file size. Use per-marker extents to handle large markers - # correctly: only skip if the marker's bounding box doesn't - # intersect the canvas at all. - extent_x, extent_y = path_extent_map[path_id] - if not (-extent_x <= xo <= canvas_width + extent_x - and -extent_y <= yo <= canvas_height + extent_y): + # Skip markers completely outside the canvas to reduce PDF size. + # Use the translated path bounds, not the offset alone: the offset + # need not be the marker center in canvas coordinates. + bbox = path_extent_map[path_id] + if (bbox.x1 + xo < 0 or bbox.x0 + xo > canvas_width + or bbox.y1 + yo < 0 or bbox.y0 + yo > canvas_height): continue self.check_gc(gc0, rgbFace) diff --git a/lib/matplotlib/tests/test_backend_pdf.py b/lib/matplotlib/tests/test_backend_pdf.py index f4b16629af67..b76c5e9ee4cf 100644 --- a/lib/matplotlib/tests/test_backend_pdf.py +++ b/lib/matplotlib/tests/test_backend_pdf.py @@ -732,3 +732,30 @@ def test_scatter_polar(fig_test, fig_ref): ax_ref = fig_ref.subplots(subplot_kw={'projection': 'polar'}) ax_ref.scatter(theta, r, c=c, s=50) ax_ref.set_ylim(0, 2) + + +@check_figures_equal(extensions=["pdf"], tol=1.0) +def test_hexbin_negative_offsets(fig_test, fig_ref): + """ + Test path collection culling with non-canvas-space offsets. + + Hexbin uses a repeated polygon path with offsets transformed by + AffineDeltaTransform. The transformed offsets are displacements, not the + final canvas-space marker centers, so PDF backend culling must account for + the transformed path bounds as well. + """ + rng = np.random.default_rng(19680801) + x = rng.normal(size=10_000) + y = rng.normal(size=10_000) + + ax_test = fig_test.subplots() + ax_test.hexbin(x, y, gridsize=25, edgecolors="none") + ax_test.set_xlim(-2.0, 2.0) + ax_test.set_ylim(-2.0, 2.0) + ax_test.set_axis_off() + + ax_ref = fig_ref.subplots() + ax_ref.hexbin(x + 2.0, y + 2.0, gridsize=25, edgecolors="none") + ax_ref.set_xlim(0.0, 4.0) + ax_ref.set_ylim(0.0, 4.0) + ax_ref.set_axis_off() From f18ef2643f3e5b02c9de977b515b7239a5fadef7 Mon Sep 17 00:00:00 2001 From: Ricci Adams <1097294+iccir@users.noreply.github.com> Date: Fri, 4 Sep 2026 19:31:06 -0700 Subject: [PATCH 51/61] Backport PR #32198: TST: Set subprocess timeouts consistently on CI --- lib/matplotlib/testing/__init__.py | 2 ++ lib/matplotlib/tests/test_backends_interactive.py | 5 +++-- lib/matplotlib/tests/test_getattr.py | 6 +++--- lib/matplotlib/tests/test_pickle.py | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/matplotlib/testing/__init__.py b/lib/matplotlib/testing/__init__.py index fdbf79014611..68fb66f6824d 100644 --- a/lib/matplotlib/testing/__init__.py +++ b/lib/matplotlib/testing/__init__.py @@ -143,6 +143,8 @@ def subprocess_run_helper(func, *args, timeout, extra_env=None): extra_env : dict[str, str] Any additional environment variables to be set for the subprocess. """ + if is_ci_environment(): + timeout *= 6 target = func.__name__ module = func.__module__ file = func.__code__.co_filename diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py index 5d76300054d7..701b9e7beba8 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -119,8 +119,9 @@ def _get_testable_interactive_backends(): for env, marks in _get_available_interactive_backends()] -# Reasonable safe values for slower CI/Remote and local architectures. -_test_timeout = 120 if is_ci_environment() else 20 +# Reasonable safe values for slower CI/Remote and local architectures; timeouts may be +# automatically increased later by subprocess_run_helper. +_test_timeout = 20 _retry_count = 3 if is_ci_environment() else 0 diff --git a/lib/matplotlib/tests/test_getattr.py b/lib/matplotlib/tests/test_getattr.py index fe302220067a..91b2d460574d 100644 --- a/lib/matplotlib/tests/test_getattr.py +++ b/lib/matplotlib/tests/test_getattr.py @@ -6,7 +6,8 @@ import pytest import matplotlib -from matplotlib.testing import is_ci_environment, subprocess_run_helper +from matplotlib.testing import subprocess_run_helper + # Get the names of all matplotlib submodules, # except for the unit tests and private modules. @@ -59,8 +60,7 @@ def _test_module_getattr(): @pytest.mark.parametrize('module_name', backend_module_names) def test_backend_getattr(module_name): - proc = subprocess_run_helper(_test_module_getattr, module_name, - timeout=120 if is_ci_environment() else 20) + proc = subprocess_run_helper(_test_module_getattr, module_name, timeout=20) if 'SKIP: ' in proc.stdout: pytest.skip(proc.stdout.removeprefix('SKIP: ')) print(proc.stdout) diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py index 3494dceffe5d..4c552e7eafb0 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -10,7 +10,7 @@ import matplotlib as mpl from matplotlib import cm -from matplotlib.testing import subprocess_run_helper, is_ci_environment +from matplotlib.testing import subprocess_run_helper from matplotlib.testing.decorators import check_figures_equal from matplotlib.dates import rrulewrapper # type: ignore[attr-defined] from matplotlib.lines import VertexSelector @@ -326,6 +326,6 @@ def _test_axeswidget_interactive(): def test_axeswidget_interactive(): subprocess_run_helper( _test_axeswidget_interactive, - timeout=120 if is_ci_environment() else 20, + timeout=20, extra_env={'MPLBACKEND': 'tkagg'} ) From 0a3597d112e1b9d22cbb6af6fb2d50ddacfce6c9 Mon Sep 17 00:00:00 2001 From: hannah Date: Sat, 5 Sep 2026 20:48:07 -0400 Subject: [PATCH 52/61] Backport PR #32303: DOC: correct scipy intersphinx mapping to link to docs site --- doc/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 8447f9da40c6..58340bf32a23 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -273,7 +273,7 @@ def autodoc_process_bases(app, name, obj, options, bases): 'pandas': ('https://pandas.pydata.org/docs/', None), 'pytest': ('https://pytest.org/en/stable/', None), 'python': ('https://docs.python.org/3/', None), - 'scipy': ('https://static.scipy.org/doc/scipy/', None), + 'scipy': ('https://docs.scipy.org/doc/scipy/', 'https://static.scipy.org/doc/scipy/objects.inv'), 'tornado': ('https://www.tornadoweb.org/en/stable/', None), 'wx': ('https://docs.wxpython.org/', None), 'xarray': ('https://docs.xarray.dev/en/stable/', None), From 9805ad599b98b10e679be8ba611f1b8039025d88 Mon Sep 17 00:00:00 2001 From: hannah Date: Sat, 5 Sep 2026 20:48:07 -0400 Subject: [PATCH 53/61] Backport PR #32303: DOC: correct scipy intersphinx mapping to link to docs site --- doc/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 8447f9da40c6..58340bf32a23 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -273,7 +273,7 @@ def autodoc_process_bases(app, name, obj, options, bases): 'pandas': ('https://pandas.pydata.org/docs/', None), 'pytest': ('https://pytest.org/en/stable/', None), 'python': ('https://docs.python.org/3/', None), - 'scipy': ('https://static.scipy.org/doc/scipy/', None), + 'scipy': ('https://docs.scipy.org/doc/scipy/', 'https://static.scipy.org/doc/scipy/objects.inv'), 'tornado': ('https://www.tornadoweb.org/en/stable/', None), 'wx': ('https://docs.wxpython.org/', None), 'xarray': ('https://docs.xarray.dev/en/stable/', None), From 5d07723529fd3e00b160cfe6ed78eeec4f9e5f81 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 8 Sep 2026 13:05:21 -0400 Subject: [PATCH 54/61] Backport PR #32315: Fix TkCairo bug when displaying images with partially transparent pixels --- lib/matplotlib/backends/backend_tkcairo.py | 10 ++++------ lib/matplotlib/cbook.py | 2 ++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/backends/backend_tkcairo.py b/lib/matplotlib/backends/backend_tkcairo.py index 6ecfcfcb8cf0..cb69ab2102ca 100644 --- a/lib/matplotlib/backends/backend_tkcairo.py +++ b/lib/matplotlib/backends/backend_tkcairo.py @@ -1,7 +1,6 @@ -import sys - import numpy as np +from .. import cbook from . import _backend_tk from .backend_cairo import cairo, FigureCanvasCairo from ._backend_tk import _BackendTk, FigureCanvasTk @@ -14,10 +13,9 @@ def draw(self): self._renderer.set_context(cairo.Context(surface)) self._renderer.dpi = self.figure.dpi self.figure.draw(self._renderer) - buf = np.reshape(surface.get_data(), (height, width, 4)) - _backend_tk.blit( - self._tkphoto, buf, - (2, 1, 0, 3) if sys.byteorder == "little" else (1, 2, 3, 0)) + premult_argb = np.reshape(surface.get_data(), (height, width, 4)) + unmult_rgba = cbook._premultiplied_argb32_to_unmultiplied_rgba8888(premult_argb) + _backend_tk.blit(self._tkphoto, unmult_rgba, (0, 1, 2, 3)) @_BackendTk.export diff --git a/lib/matplotlib/cbook.py b/lib/matplotlib/cbook.py index 2c8c830ee2d1..67167ebd182d 100644 --- a/lib/matplotlib/cbook.py +++ b/lib/matplotlib/cbook.py @@ -2210,6 +2210,8 @@ def _premultiplied_argb32_to_unmultiplied_rgba8888(buf): [2, 1, 0, 3] if sys.byteorder == "little" else [1, 2, 3, 0], axis=2) rgb = rgba[..., :-1] alpha = rgba[..., -1] + if alpha.min() == 0xff: + return rgba # Un-premultiply alpha. The formula is the same as in cairo-png.c. mask = alpha != 0 for channel in np.rollaxis(rgb, -1): From e0dc08e747e8b538e6251ebbee592e9a8001bc85 Mon Sep 17 00:00:00 2001 From: Ricci Adams <1097294+iccir@users.noreply.github.com> Date: Sun, 6 Sep 2026 19:18:42 -0700 Subject: [PATCH 55/61] Backport PR #32305: Improve error message for boxplot_stats function, by printing dimensions. --- lib/matplotlib/cbook.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/cbook.py b/lib/matplotlib/cbook.py index 2c8c830ee2d1..94cad8121353 100644 --- a/lib/matplotlib/cbook.py +++ b/lib/matplotlib/cbook.py @@ -1266,7 +1266,8 @@ def _compute_conf_interval(data, med, iqr, bootstrap): if labels is None: labels = itertools.repeat(None) elif len(labels) != ncols: - raise ValueError("Dimensions of labels and X must be compatible") + raise ValueError(f"The number of labels ({len(labels)}) must match the" + f" number of columns ({ncols}).") input_whis = whis for ii, (x, label) in enumerate(zip(X, labels)): From 93278ade075ca4b6483afac10f9a2d1e775a5f36 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 8 Sep 2026 23:54:10 -0400 Subject: [PATCH 56/61] Backport PR #32321: DOC: correct note about PyOS_InputHook --- .../figure/interactive_guide.rst | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/galleries/users_explain/figure/interactive_guide.rst b/galleries/users_explain/figure/interactive_guide.rst index 21658bb5849b..41f54e4b20a7 100644 --- a/galleries/users_explain/figure/interactive_guide.rst +++ b/galleries/users_explain/figure/interactive_guide.rst @@ -405,17 +405,18 @@ The hook functions typically exhaust all pending events on the GUI event queue, run the main loop for a short fixed amount of time, or run the event loop until a key is pressed on stdin. -Matplotlib does not currently do any management of :c:data:`PyOS_InputHook` due -to the wide range of ways that Matplotlib is used. This management is left to -downstream libraries -- either user code or the shell. Interactive figures, -even with Matplotlib in "interactive mode", may not work in the vanilla python -repl if an appropriate :c:data:`PyOS_InputHook` is not registered. - -Input hooks, and helpers to install them, are usually included with -the python bindings for GUI toolkits and may be registered on import. +Interactive figures, even with Matplotlib in "interactive mode", may not work +in REPL if an appropriate :c:data:`PyOS_InputHook` is not registered. This +management is left to upstream libraries or downstream code -- either explicit +user code or shell initialization -- in all toolkits but native macOS. Input +hooks, and helpers to install them, are usually included with the Python +bindings for GUI toolkits and may be registered on import. For the macOS +native toolkit Matplotlib owns code that exposes the toolkit to Python and thus +we register :c:data:`PyOS_InputHook` on GUI application initialization. + IPython also ships input hook functions for all of the GUI frameworks -Matplotlib supports which can be installed via ``%matplotlib``. This -is the recommended method of integrating Matplotlib and a prompt. +Matplotlib supports which can be installed via ``%matplotlib``. This is the +recommended method of integrating Matplotlib and a prompt. IPython / prompt_toolkit From ebe947bd694df95e189fb93b63060051a6b55f3d Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Wed, 9 Sep 2026 23:24:10 -0400 Subject: [PATCH 57/61] Backport PR #32324: Don't force any diagnostics to be errors in bundled Harfbuzz --- subprojects/harfbuzz.wrap | 3 ++ ...t-force-any-diagnostics-to-be-errors.patch | 51 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 subprojects/packagefiles/0001-Don-t-force-any-diagnostics-to-be-errors.patch diff --git a/subprojects/harfbuzz.wrap b/subprojects/harfbuzz.wrap index 3fd5915fa839..452ec45bc5da 100644 --- a/subprojects/harfbuzz.wrap +++ b/subprojects/harfbuzz.wrap @@ -6,5 +6,8 @@ source_hash = ee0eb3a1da2c5a28147f12dff55f6c7d60aeeeb29ac7ef334eabe84c8476c105 source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/harfbuzz_14.1.0-1/harfbuzz-14.1.0.tar.xz wrapdb_version = 14.1.0-1 +# Stop making some warnings into errors to avoid errors on latest clang. +diff_files = 0001-Don-t-force-any-diagnostics-to-be-errors.patch + [provide] dependency_names = harfbuzz, harfbuzz-cairo, harfbuzz-gobject, harfbuzz-gpu, harfbuzz-icu, harfbuzz-raster, harfbuzz-subset, harfbuzz-vector diff --git a/subprojects/packagefiles/0001-Don-t-force-any-diagnostics-to-be-errors.patch b/subprojects/packagefiles/0001-Don-t-force-any-diagnostics-to-be-errors.patch new file mode 100644 index 000000000000..8d4aaf999c2f --- /dev/null +++ b/subprojects/packagefiles/0001-Don-t-force-any-diagnostics-to-be-errors.patch @@ -0,0 +1,51 @@ +From 7d0428070322d13d6bb187cf549e8e21d4bb1d4b Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Wed, 9 Sep 2026 00:47:33 -0400 +Subject: [PATCH] Don't force any diagnostics to be errors + +We can't be certain that compilers won't add or change which diagnostics +work for a flag. So disable Harfbuzz's pragmas that turn diagnostics +into errors, as this is really something that only upstream should worry +about. + +Also, backport the ignoring of `-Wunused-template`, or it spams a lot of +the build log. + +Signed-off-by: Elliott Sales de Andrade +--- + meson.build | 6 ++++++ + src/hb.hh | 1 + + 2 files changed, 7 insertions(+) + +diff --git a/meson.build b/meson.build +index 78d1d41e6..08c078fbb 100644 +--- a/meson.build ++++ b/meson.build +@@ -31,6 +31,12 @@ pkgmod = import('pkgconfig') + cpp = meson.get_compiler('cpp') + null_dep = dependency('', required: false) + ++# Matplotlib patch: Don't force any diagnostics to be errors. We can't be ++# certain that compilers won't add or change which diagnostics work for a flag. ++# So disable Harfbuzz's pragmas that turn diagnostics into errors, as this is ++# really something that only upstream should worry about. ++add_project_arguments('-DHB_NO_PRAGMA_GCC_DIAGNOSTIC_ERROR', language: 'cpp') ++ + # Includes Microsoft Clang compiler with GNU arguments, see + # https://github.com/harfbuzz/harfbuzz/pull/4394 + cpp_is_microsoft_compiler = host_machine.system() == 'windows' and cpp.get_define('_MSC_FULL_VER') != '' +diff --git a/src/hb.hh b/src/hb.hh +index 4a21ca90b..3e5c35aa4 100644 +--- a/src/hb.hh ++++ b/src/hb.hh +@@ -151,6 +151,7 @@ + #pragma GCC diagnostic ignored "-Wrange-loop-analysis" // https://github.com/harfbuzz/harfbuzz/issues/2834 + #pragma GCC diagnostic ignored "-Wstrict-aliasing" + #pragma GCC diagnostic ignored "-Wtype-limits" ++#pragma GCC diagnostic ignored "-Wunused-template" + #pragma GCC diagnostic ignored "-Wc++11-compat" // only gcc raises it + #endif + +-- +2.55.0 + From 39c7f0678af763abe850b41a71cd2724e326157c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 10 Sep 2026 17:28:53 -0400 Subject: [PATCH 58/61] DOC: Prepare GitHub stats for 3.11.2 --- doc/release/github_stats.rst | 262 ++++++++++-------- .../prev_whats_new/github_stats_3.11.1.rst | 137 +++++++++ doc/release/release_notes.rst | 1 + 3 files changed, 288 insertions(+), 112 deletions(-) create mode 100644 doc/release/prev_whats_new/github_stats_3.11.1.rst diff --git a/doc/release/github_stats.rst b/doc/release/github_stats.rst index 0639e3f3971c..1ad8f43653de 100644 --- a/doc/release/github_stats.rst +++ b/doc/release/github_stats.rst @@ -2,139 +2,177 @@ .. _github-stats: -GitHub statistics for 3.11.1 (Jul 17, 2026) +GitHub statistics for 3.11.2 (Sep 10, 2026) =========================================== -GitHub statistics for 2026/06/11 (tag: v3.11.0) - 2026/07/17 +GitHub statistics for 2026/07/17 (tag: v3.11.1) - 2026/09/10 These lists are automatically generated, and may be incomplete or contain duplicates. -We closed 16 issues and merged 70 pull requests. -The full list can be seen `on GitHub `__ +We closed 18 issues and merged 101 pull requests. +The full list can be seen `on GitHub `__ -The following 27 authors contributed 70 commits. +The following 32 authors contributed 101 commits. +* adarshsm +* Ahmed Mohamed * Albert Y. Shih -* cyphercodes -* David Stansby +* Alice +* Alice Alfonsi +* Andrzej Novak +* carlosgmartin +* Cayenne Matt +* Danial Ludwig * dependabot[bot] -* eeshsaxena +* dkl * Elliott Sales de Andrade -* Erik Vo -* goutamadwant +* Gleb Popov * hannah -* Håkon Steinkopf Søhoel -* jaya prajapati +* Ian Thomas +* jameslin9968 * Jody Klymak +* John Duggan * Kyle Sunden * Lumberbot (aka Jack) -* Mervin Yap -* Mustafa Senoglu -* Rayan Salhab * Ricci Adams +* rokokol * Ruth Comer -* Scolliq -* Scott Shambaugh +* Sahil Mathur +* Simon Altrogge +* Simon Høxbro Hansen +* Sreekant Baheti * Thomas A Caswell * Tim Hoffmann -* Uwez Khan -* uwezkhan -* Vincent Gao -* Zhou Qiankang +* Vladimir Saraikin +* yuzie007 +* Zeke Barger GitHub issues and pull requests: -Pull Requests (70): - -* :ghpull:`32052`: Backport PR #32038 on branch v3.11.x (Fix occasional misalignment in reported mouse position (also fixes a bug with canvas height)) -* :ghpull:`32050`: Backport PR #31304 on branch v3.11.x (Fix restoring 'auto' aspect in 3D axes after switching from 'equal') -* :ghpull:`32051`: Backport PR #32037 on branch v3.11.x (Bump the actions group with 3 updates) -* :ghpull:`32038`: Fix occasional misalignment in reported mouse position (also fixes a bug with canvas height) -* :ghpull:`32037`: Bump the actions group with 3 updates -* :ghpull:`31304`: Fix restoring 'auto' aspect in 3D axes after switching from 'equal' -* :ghpull:`32047`: Backport PR #32025 on branch v3.11.x (DOC: remove rcparams listing from user guide ) -* :ghpull:`32025`: DOC: remove rcparams listing from user guide -* :ghpull:`32046`: Backport PR #32045 on branch v3.11.x (DOC: added ffmpeg to optional doc dependencies) -* :ghpull:`32034`: Backport PR #31975 on branch v3.11.x (pdf/ps: Stop retaining glyph indices in font subsets) -* :ghpull:`32045`: DOC: added ffmpeg to optional doc dependencies -* :ghpull:`32043`: Backport PR #32042 on branch v3.11.x (DOC: Remove warning about macosx backend) -* :ghpull:`32042`: DOC: Remove warning about macosx backend -* :ghpull:`32036`: Backport PR #31894 on branch v3.11.x (check transform mesh shape in _get_transform_mesh) -* :ghpull:`31894`: check transform mesh shape in _get_transform_mesh -* :ghpull:`31975`: pdf/ps: Stop retaining glyph indices in font subsets -* :ghpull:`32033`: Backport PR #32032 on branch v3.11.x (MNT: remove redundant imports) -* :ghpull:`32031`: Backport PR #31967 on branch v3.11.x (Fix NoNorm cursor formatting for uint8 images) -* :ghpull:`32032`: MNT: remove redundant imports -* :ghpull:`32030`: Backport PR #31990 on branch v3.11.x (DOC fix parameter name in CharacterMapping.add docstring) -* :ghpull:`31967`: Fix NoNorm cursor formatting for uint8 images -* :ghpull:`32027`: Backport PR #32022 on branch v3.11.x (Remove deprecated freethreading option from cibuildwheel) -* :ghpull:`32021`: Backport PR #31992 on branch v3.11.x (Fix: Axis and grid panes out of sync when inverting an axis) -* :ghpull:`32024`: Backport PR #32013 on branch v3.11.x (DOC: Document ax.transData and ax.transAxes) -* :ghpull:`32022`: Remove deprecated freethreading option from cibuildwheel -* :ghpull:`32013`: DOC: Document ax.transData and ax.transAxes -* :ghpull:`31992`: Fix: Axis and grid panes out of sync when inverting an axis -* :ghpull:`32010`: Backport PR #32009 on branch v3.11.x (DOC: Fix outdated text in image_resampling example) -* :ghpull:`32009`: DOC: Fix outdated text in image_resampling example -* :ghpull:`32007`: Backport PR #31994 on branch v3.11.x (Bump the actions group across 1 directory with 9 updates) -* :ghpull:`31994`: Bump the actions group across 1 directory with 9 updates -* :ghpull:`31990`: DOC fix parameter name in CharacterMapping.add docstring -* :ghpull:`31988`: Backport PR #31985 on branch v3.11.x (DOC: Fix broken configobj link in 0.99.x API changes) -* :ghpull:`31985`: DOC: Fix broken configobj link in 0.99.x API changes -* :ghpull:`31972`: Backport PR #31932 on branch v3.11.x (FIX: include axis labels in get_tightbbox when not for_layout_only) -* :ghpull:`31932`: FIX: include axis labels in get_tightbbox when not for_layout_only -* :ghpull:`31970`: Backport PR #31969 on branch v3.11.x (Stop passing symlinks to ImageMagick) -* :ghpull:`31969`: Stop passing symlinks to ImageMagick -* :ghpull:`31950`: Backport PR #31857 on branch v3.11.x (bound ft2font stream read to the requested count) -* :ghpull:`31951`: Backport PR #30252 on branch v3.11.x (Move cibuildwheel configuration to pyproject.toml) -* :ghpull:`31952`: Backport PR #31928 on branch v3.11.x (Fix notdef handling when subsetting Type 1 fonts) -* :ghpull:`31958`: Backport PR #31940 on branch v3.11.x (Add loongarch64 image comparison tolerances) -* :ghpull:`31959`: Backport PR #31910 on branch v3.11.x (FIX: Add mtext into RendererBase._draw_as_path() arguments) -* :ghpull:`31910`: FIX: Add mtext into RendererBase._draw_as_path() arguments -* :ghpull:`31948`: Backport PR #31946 on branch v3.11.x (TST: Increase some tolerances for non-x86_64 architectures) -* :ghpull:`31940`: Add loongarch64 image comparison tolerances -* :ghpull:`31928`: Fix notdef handling when subsetting Type 1 fonts -* :ghpull:`30252`: Move cibuildwheel configuration to pyproject.toml -* :ghpull:`31857`: bound ft2font stream read to the requested count -* :ghpull:`31946`: TST: Increase some tolerances for non-x86_64 architectures -* :ghpull:`31945`: Backport PR #31920 on branch v3.11.x (Fix various small type hint issues) -* :ghpull:`31944`: Backport PR #31943 on branch v3.11.x (FIX: allow non-strict monotonicity in LinearSegmented.from_list values) -* :ghpull:`31920`: Fix various small type hint issues -* :ghpull:`31941`: Backport PR #31931 on branch v3.11.x (TST: address pikepdf deprecation) -* :ghpull:`31943`: FIX: allow non-strict monotonicity in LinearSegmented.from_list values -* :ghpull:`31931`: TST: address pikepdf deprecation -* :ghpull:`31921`: Backport PR #31906 on branch v3.11.x (TST: unpin pytest) -* :ghpull:`31906`: TST: unpin pytest -* :ghpull:`31915`: Backport PR #31898 on branch v3.11.x (fix: allow array-like fill_between where masks) -* :ghpull:`31908`: Backport of PRs #31678 and #31782 -* :ghpull:`31882`: Bump the actions group with 3 updates -* :ghpull:`31898`: fix: allow array-like fill_between where masks -* :ghpull:`31911`: Backport PR #31904 on branch v3.11.x (DOC: clarify valid inputs and return type of ``same_color``) -* :ghpull:`31904`: DOC: clarify valid inputs and return type of ``same_color`` -* :ghpull:`31893`: Backport PR #31885 on branch v3.11.x (Skip hidden y-axis offset text when positioning titles (fix #31881)) -* :ghpull:`31900`: Backport PR #31896 on branch v3.11.x (TST: temporarily pin pytest) -* :ghpull:`31896`: TST: temporarily pin pytest -* :ghpull:`31885`: Skip hidden y-axis offset text when positioning titles (fix #31881) -* :ghpull:`31782`: Bump the actions group across 1 directory with 4 updates -* :ghpull:`31678`: Bump the actions group with 2 updates - -Issues (16): - -* :ghissue:`15363`: Reliably set the output image size -* :ghissue:`27570`: [Bug]: QuadMesh.get_cursor_data() returns incorrect value -* :ghissue:`31276`: [Bug]: Setting aspect back to auto cannot recover the original 3D plot -* :ghissue:`31955`: [Bug]: PDF Type 42 output regression in 3.11: excessive font embedding and fl rendered as a ligature -* :ghissue:`31960`: [Bug]: imshow uint8 image with colors.NoNorm() causes OverflowError when mousing over figure -* :ghissue:`25220`: [Doc]: Better document Axes.transData and other transXYZ attributes -* :ghissue:`31989`: [Bug]: Axis and grid panes out of sync, regression in 3.11 -* :ghissue:`29541`: [Doc]: A few problems on Image resampling page -* :ghissue:`31568`: [Bug]: savefig(bbox_inches='tight') clips axis labels on 3D axes -* :ghissue:`28117`: [Bug]: The zlabel on 3D axes will be cut when using '%matplotlib inline' in Jupyter -* :ghissue:`31927`: [Bug]: ``path_effects`` on text gives an error in matplotlib 3.11 -* :ghissue:`31925`: [Bug]: minus signs not rendered in PDF export with TeX -* :ghissue:`31939`: [Bug]: Regression in 3.11.0 with LinearSegmentedColormap -* :ghissue:`31897`: [MNT]: unpin pytest -* :ghissue:`31890`: [Bug]: Type hints for where argument in ax.fill_between does not allow np.ndarrays -* :ghissue:`31881`: [Bug]: ValueError ("cannot convert float NaN to integer") when trying to show horizontally-stacked subplots +Pull Requests (101): + +* :ghpull:`32330`: Backport PR #32324 on branch v3.11.x (Don't force any diagnostics to be errors in bundled Harfbuzz) +* :ghpull:`32324`: Don't force any diagnostics to be errors in bundled Harfbuzz +* :ghpull:`32322`: Backport PR #32321 on branch v3.11.x (DOC: correct note about PyOS_InputHook) +* :ghpull:`32319`: Backport PR #32305 on branch v3.11.x (Improve error message for boxplot_stats function, by printing dimensions.) +* :ghpull:`32318`: Backport PR #32315 on branch v3.11.x (Fix TkCairo bug when displaying images with partially transparent pixels) +* :ghpull:`32301`: Backport PR #32198 on branch v3.11.x (TST: Set subprocess timeouts consistently on CI) +* :ghpull:`32315`: Fix TkCairo bug when displaying images with partially transparent pixels +* :ghpull:`32305`: Improve error message for boxplot_stats function, by printing dimensions. +* :ghpull:`32307`: Backport PR #32303 on branch v3.11.x (DOC: correct scipy intersphinx mapping to link to docs site) +* :ghpull:`32295`: Backport PR #32104 on branch v3.11.x (Add font family to mismatched font weight warning) +* :ghpull:`32294`: Bump the actions group with 2 updates +* :ghpull:`32300`: Backport PR #32000 on branch v3.11.x (Fix PDF path collection culling for ``hexbin`` offsets) +* :ghpull:`32198`: TST: Set subprocess timeouts consistently on CI +* :ghpull:`32290`: Backport PR #32267 on branch v3.11.x (Add checks after using pybind ensure()) +* :ghpull:`32298`: Backport PR #32263 on branch v3.11.x (Doc: tell 3.11 upgraders to remove the pre-shaping workaround) +* :ghpull:`32000`: Fix PDF path collection culling for ``hexbin`` offsets +* :ghpull:`32289`: Backport PR #32226 on branch v3.11.x (ft2font: Make glyph loading failures more robust) +* :ghpull:`32286`: Backport PR #32193 on branch v3.11.x (Raise a clear error on incomplete Type1 font sections) +* :ghpull:`32292`: Backport PR #32288 on branch v3.11.x (DOC: switch to more stable location for intersphinx registry) +* :ghpull:`32104`: Add font family to mismatched font weight warning +* :ghpull:`32267`: Add checks after using pybind ensure() +* :ghpull:`32226`: ft2font: Make glyph loading failures more robust +* :ghpull:`32193`: Raise a clear error on incomplete Type1 font sections +* :ghpull:`32283`: Backport PR #32275 on branch v3.11.x (Speed up RGBA-stage image resampling) +* :ghpull:`32284`: Backport PR #32254 on branch v3.11.x (Fix bug with PGF hatch linewidth and color) +* :ghpull:`32254`: Fix bug with PGF hatch linewidth and color +* :ghpull:`32275`: Speed up RGBA-stage image resampling +* :ghpull:`32277`: Backport PR #32268 on branch v3.11.x (Use "{}" for format strings) +* :ghpull:`32268`: Use "{}" for format strings +* :ghpull:`32274`: Backport PR #32252 on branch v3.11.x (FIX: interpolate the path and name MPLCONFIGDIR in the temp cache dir warning) +* :ghpull:`32252`: FIX: interpolate the path and name MPLCONFIGDIR in the temp cache dir warning +* :ghpull:`32266`: Backport PR #32265 on branch v3.11.x (DOC: minor fix in pie_label docstring) +* :ghpull:`32270`: Backport PR #32225 on branch v3.11.x (Fix ResizeEvent handling for TextBox) +* :ghpull:`32225`: Fix ResizeEvent handling for TextBox +* :ghpull:`32265`: DOC: minor fix in pie_label docstring +* :ghpull:`32259`: Backport PR #32250 on branch v3.11.x (DOC: Convert math symbol table to sphinx-design cards) +* :ghpull:`32255`: Bump the actions group with 2 updates +* :ghpull:`32248`: Backport PR #32194 on branch v3.11.x (Fix the rounding of animation frame size to match the eventual canvas size) +* :ghpull:`32249`: Backport PR #32228 on branch v3.11.x (Fixed a bug with drawing an empty Collection) +* :ghpull:`32247`: Backport PR #32242 on branch v3.11.x (ci: Force-enable long path support on AppVeyor) +* :ghpull:`32228`: Fixed a bug with drawing an empty Collection +* :ghpull:`32194`: Fix the rounding of animation frame size to match the eventual canvas size +* :ghpull:`32242`: ci: Force-enable long path support on AppVeyor +* :ghpull:`32236`: Backport PR #32147 on branch v3.11.x (Fix nested braces in mathtext \text arguments) +* :ghpull:`32210`: Bump the actions group across 1 directory with 6 updates +* :ghpull:`32147`: Fix nested braces in mathtext \text arguments +* :ghpull:`32235`: Backport PR #32209 on branch v3.11.x (BLD: Force all internal extension symbols to be hidden) +* :ghpull:`32209`: BLD: Force all internal extension symbols to be hidden +* :ghpull:`32230`: Backport PR #32223 on branch v3.11.x (TST: Use a nonzero tolerance for ``test_anchored_direction_arrows_many_args`` unconditionally) +* :ghpull:`32229`: Backport PR #32221 on branch v3.11.x (Qt IconEngine: Use a device pixel ratio of 1 when high-DPI pixmaps are disabled) +* :ghpull:`32223`: TST: Use a nonzero tolerance for ``test_anchored_direction_arrows_many_args`` unconditionally +* :ghpull:`32221`: Qt IconEngine: Use a device pixel ratio of 1 when high-DPI pixmaps are disabled +* :ghpull:`32216`: Backport PR #32212 on branch v3.11.x (TST: Convert all non-RGB(A) images to RGBA) +* :ghpull:`32212`: TST: Convert all non-RGB(A) images to RGBA +* :ghpull:`32182`: Bump the actions group with 4 updates +* :ghpull:`32197`: Backport PR #32196 on branch v3.11.x (Clarify interval semantics in BoundaryNorm documentation) +* :ghpull:`32196`: Clarify interval semantics in BoundaryNorm documentation +* :ghpull:`32190`: Backport PR #32183 on branch v3.11.x (ci: Make eslint check fail on errors) +* :ghpull:`32183`: ci: Make eslint check fail on errors +* :ghpull:`32184`: Backport PR #32181 on branch v3.11.x (ci: Add environment variable to detect Azure Pipelines) +* :ghpull:`32181`: ci: Add environment variable to detect Azure Pipelines +* :ghpull:`32180`: Backport PR #32179 on branch v3.11.x (Document and fix ``AngleAnnotation`` constructor default case of using the current Axes) +* :ghpull:`32179`: Document and fix ``AngleAnnotation`` constructor default case of using the current Axes +* :ghpull:`32177`: Backport PR #32150 on branch v3.11.x (FIX: Avoid unbounded allocations for float markevery) +* :ghpull:`32150`: FIX: Avoid unbounded allocations for float markevery +* :ghpull:`32173`: Backport PR #32172 on branch v3.11.x (PERF: Avoid ``difflib`` lookup in ``ColormapRegistry.register``) +* :ghpull:`32172`: PERF: Avoid ``difflib`` lookup in ``ColormapRegistry.register`` +* :ghpull:`32171`: Backport PR #32158 on branch v3.11.x (Fix tiny wx plot window on wxPython 4.3) +* :ghpull:`32158`: Fix tiny wx plot window on wxPython 4.3 +* :ghpull:`32170`: Backport PR #32168 on branch v3.11.x (DOC: Use raw strings instead of doubling \\ for hatches where possible) +* :ghpull:`32167`: Backport PR #32155 on branch v3.11.x (Bump the actions group with 6 updates) +* :ghpull:`32169`: ci: Drop some extraneous setup-python invocations +* :ghpull:`32168`: DOC: Use raw strings instead of doubling \\ for hatches where possible +* :ghpull:`32155`: Bump the actions group with 6 updates +* :ghpull:`32153`: Backport PR #32149 on branch v3.11.x (Always set device pixel ratio on WebSocket open in WebAgg) +* :ghpull:`32152`: Backport PR #32078 on branch v3.11.x (DOC: Clarify backslash escaping for hatch patterns) +* :ghpull:`32151`: Backport PR #32062 on branch v3.11.x (Don't pre-allocate the Type1 /Subrs array from the declared count) +* :ghpull:`32149`: Always set device pixel ratio on WebSocket open in WebAgg +* :ghpull:`32062`: Don't pre-allocate the Type1 /Subrs array from the declared count +* :ghpull:`32078`: DOC: Clarify backslash escaping for hatch patterns +* :ghpull:`32134`: Backport PR #32132 on branch v3.11.x (Add source directory config to rstcheck and bump requirement) +* :ghpull:`32132`: Add source directory config to rstcheck and bump requirement +* :ghpull:`32131`: Backport PR #32049 on branch v3.11.x (DOC: clarify source of Cn colors) +* :ghpull:`32049`: DOC: clarify source of Cn colors +* :ghpull:`32123`: Backport PR #32048 on branch v3.11.x (FIX: update Axis3d artist positions before calculating tight_bbox) +* :ghpull:`32048`: FIX: update Axis3d artist positions before calculating tight_bbox +* :ghpull:`32118`: Backport PR #32115 on branch v3.11.x (Bump the actions group across 1 directory with 6 updates) +* :ghpull:`32115`: Bump the actions group across 1 directory with 6 updates +* :ghpull:`32112`: Backport PR #31978 on branch v3.11.x (Bump the pre-commit group across 1 directory with 3 updates) +* :ghpull:`32057`: Bump the actions group with 4 updates +* :ghpull:`31978`: Bump the pre-commit group across 1 directory with 3 updates +* :ghpull:`32102`: Backport PR #32101 on branch v3.11.x (Cairo: Switch back to character codes for mathtext) +* :ghpull:`32101`: Cairo: Switch back to character codes for mathtext +* :ghpull:`32090`: Backport PR #32069 on branch v3.11.x (FIX: remove warning when clearing axes with shared axis) +* :ghpull:`32088`: Backport PR #32087 on branch v3.11.x (DOC: Fixing typo in units documentation for pyplot figuresize units) +* :ghpull:`32069`: FIX: remove warning when clearing axes with shared axis +* :ghpull:`32087`: DOC: Fixing typo in units documentation for pyplot figuresize units +* :ghpull:`32083`: Backport PR #32058 on branch v3.11.x (MNT: Fix handling of ints in hsv_to_rgb()) +* :ghpull:`32058`: MNT: Fix handling of ints in hsv_to_rgb() +* :ghpull:`32070`: Backport PR #32066 on branch v3.11.x (Fix crash on prime after single-character superscript) +* :ghpull:`32066`: Fix crash on prime after single-character superscript + +Issues (18): + +* :ghissue:`31999`: [Bug]: PDF backend culls visible ``hexbin`` cells after path collection optimization +* :ghissue:`32261`: [Bug]: ``count_bboxes_overlapping_bbox()`` segfaults on a malformed ragged bbox +* :ghissue:`32224`: [Bug]: ``FT2Font.load_char()`` segfaults (null-pointer dereference) +* :ghissue:`15491`: Hatch line width ignored with pgf backend +* :ghissue:`32240`: [Bug]: AxesImage redraws ~2x slower in 3.11 than in 3.10 +* :ghissue:`32222`: [Bug]: TextBox widget raises AttributeError on ResizeEvent +* :ghissue:`32219`: [Bug]: ax.scatter([], [], clip_on=False, label=...) renders a ghost marker at the origin/corner when combined with specific styles/limits +* :ghissue:`32186`: [Bug]: GIF frames become skewed when using PillowWriter in matplotlib 3.11.1 +* :ghissue:`32105`: [Bug]: Cryptic Mathtext ParseException on \text with double curly braces +* :ghissue:`32208`: [Bug]: Wheel's freetype binding can conflict with system library +* :ghissue:`32217`: [Bug]: Oversized Qt5 toolbar icons on macOS Retina display since Matplotlib 3.11 +* :ghissue:`32133`: [Bug]: MemoryError in _mark_every_path (with float markevery) when extreme zooming in +* :ghissue:`32143`: [Bug]: tiny plot window opens with wxPython 4.3 +* :ghissue:`32144`: [Bug]: WebAgg figures can become permanently broken on displays with device pixel ratio of 1 +* :ghissue:`31962`: [Bug]: Type1Font allocates /Subrs array from declared count before validating the body +* :ghissue:`32004`: [Bug]: set_prop_cycle does not affect Cn colors +* :ghissue:`31277`: [Bug]: 3D ax1's tick labels and ax2's title overlap in a constrained layout +* :ghissue:`32084`: [Bug]: Exponential numbers on axis look like 10Σ² instead of 10⁻² with backend_gtk3cairo Previous GitHub statistics diff --git a/doc/release/prev_whats_new/github_stats_3.11.1.rst b/doc/release/prev_whats_new/github_stats_3.11.1.rst new file mode 100644 index 000000000000..998e0cd19d2c --- /dev/null +++ b/doc/release/prev_whats_new/github_stats_3.11.1.rst @@ -0,0 +1,137 @@ +.. redirect-from:: /users/github_stats_3.11.1 + +.. _github-stats-3-11-1: + +GitHub statistics for 3.11.1 (Jul 17, 2026) +=========================================== + +GitHub statistics for 2026/06/11 (tag: v3.11.0) - 2026/07/17 + +These lists are automatically generated, and may be incomplete or contain duplicates. + +We closed 16 issues and merged 70 pull requests. +The full list can be seen `on GitHub `__ + +The following 27 authors contributed 70 commits. + +* Albert Y. Shih +* cyphercodes +* David Stansby +* dependabot[bot] +* eeshsaxena +* Elliott Sales de Andrade +* Erik Vo +* goutamadwant +* hannah +* Håkon Steinkopf Søhoel +* jaya prajapati +* Jody Klymak +* Kyle Sunden +* Lumberbot (aka Jack) +* Mervin Yap +* Mustafa Senoglu +* Rayan Salhab +* Ricci Adams +* Ruth Comer +* Scolliq +* Scott Shambaugh +* Thomas A Caswell +* Tim Hoffmann +* Uwez Khan +* uwezkhan +* Vincent Gao +* Zhou Qiankang + +GitHub issues and pull requests: + +Pull Requests (70): + +* :ghpull:`32052`: Backport PR #32038 on branch v3.11.x (Fix occasional misalignment in reported mouse position (also fixes a bug with canvas height)) +* :ghpull:`32050`: Backport PR #31304 on branch v3.11.x (Fix restoring 'auto' aspect in 3D axes after switching from 'equal') +* :ghpull:`32051`: Backport PR #32037 on branch v3.11.x (Bump the actions group with 3 updates) +* :ghpull:`32038`: Fix occasional misalignment in reported mouse position (also fixes a bug with canvas height) +* :ghpull:`32037`: Bump the actions group with 3 updates +* :ghpull:`31304`: Fix restoring 'auto' aspect in 3D axes after switching from 'equal' +* :ghpull:`32047`: Backport PR #32025 on branch v3.11.x (DOC: remove rcparams listing from user guide ) +* :ghpull:`32025`: DOC: remove rcparams listing from user guide +* :ghpull:`32046`: Backport PR #32045 on branch v3.11.x (DOC: added ffmpeg to optional doc dependencies) +* :ghpull:`32034`: Backport PR #31975 on branch v3.11.x (pdf/ps: Stop retaining glyph indices in font subsets) +* :ghpull:`32045`: DOC: added ffmpeg to optional doc dependencies +* :ghpull:`32043`: Backport PR #32042 on branch v3.11.x (DOC: Remove warning about macosx backend) +* :ghpull:`32042`: DOC: Remove warning about macosx backend +* :ghpull:`32036`: Backport PR #31894 on branch v3.11.x (check transform mesh shape in _get_transform_mesh) +* :ghpull:`31894`: check transform mesh shape in _get_transform_mesh +* :ghpull:`31975`: pdf/ps: Stop retaining glyph indices in font subsets +* :ghpull:`32033`: Backport PR #32032 on branch v3.11.x (MNT: remove redundant imports) +* :ghpull:`32031`: Backport PR #31967 on branch v3.11.x (Fix NoNorm cursor formatting for uint8 images) +* :ghpull:`32032`: MNT: remove redundant imports +* :ghpull:`32030`: Backport PR #31990 on branch v3.11.x (DOC fix parameter name in CharacterMapping.add docstring) +* :ghpull:`31967`: Fix NoNorm cursor formatting for uint8 images +* :ghpull:`32027`: Backport PR #32022 on branch v3.11.x (Remove deprecated freethreading option from cibuildwheel) +* :ghpull:`32021`: Backport PR #31992 on branch v3.11.x (Fix: Axis and grid panes out of sync when inverting an axis) +* :ghpull:`32024`: Backport PR #32013 on branch v3.11.x (DOC: Document ax.transData and ax.transAxes) +* :ghpull:`32022`: Remove deprecated freethreading option from cibuildwheel +* :ghpull:`32013`: DOC: Document ax.transData and ax.transAxes +* :ghpull:`31992`: Fix: Axis and grid panes out of sync when inverting an axis +* :ghpull:`32010`: Backport PR #32009 on branch v3.11.x (DOC: Fix outdated text in image_resampling example) +* :ghpull:`32009`: DOC: Fix outdated text in image_resampling example +* :ghpull:`32007`: Backport PR #31994 on branch v3.11.x (Bump the actions group across 1 directory with 9 updates) +* :ghpull:`31994`: Bump the actions group across 1 directory with 9 updates +* :ghpull:`31990`: DOC fix parameter name in CharacterMapping.add docstring +* :ghpull:`31988`: Backport PR #31985 on branch v3.11.x (DOC: Fix broken configobj link in 0.99.x API changes) +* :ghpull:`31985`: DOC: Fix broken configobj link in 0.99.x API changes +* :ghpull:`31972`: Backport PR #31932 on branch v3.11.x (FIX: include axis labels in get_tightbbox when not for_layout_only) +* :ghpull:`31932`: FIX: include axis labels in get_tightbbox when not for_layout_only +* :ghpull:`31970`: Backport PR #31969 on branch v3.11.x (Stop passing symlinks to ImageMagick) +* :ghpull:`31969`: Stop passing symlinks to ImageMagick +* :ghpull:`31950`: Backport PR #31857 on branch v3.11.x (bound ft2font stream read to the requested count) +* :ghpull:`31951`: Backport PR #30252 on branch v3.11.x (Move cibuildwheel configuration to pyproject.toml) +* :ghpull:`31952`: Backport PR #31928 on branch v3.11.x (Fix notdef handling when subsetting Type 1 fonts) +* :ghpull:`31958`: Backport PR #31940 on branch v3.11.x (Add loongarch64 image comparison tolerances) +* :ghpull:`31959`: Backport PR #31910 on branch v3.11.x (FIX: Add mtext into RendererBase._draw_as_path() arguments) +* :ghpull:`31910`: FIX: Add mtext into RendererBase._draw_as_path() arguments +* :ghpull:`31948`: Backport PR #31946 on branch v3.11.x (TST: Increase some tolerances for non-x86_64 architectures) +* :ghpull:`31940`: Add loongarch64 image comparison tolerances +* :ghpull:`31928`: Fix notdef handling when subsetting Type 1 fonts +* :ghpull:`30252`: Move cibuildwheel configuration to pyproject.toml +* :ghpull:`31857`: bound ft2font stream read to the requested count +* :ghpull:`31946`: TST: Increase some tolerances for non-x86_64 architectures +* :ghpull:`31945`: Backport PR #31920 on branch v3.11.x (Fix various small type hint issues) +* :ghpull:`31944`: Backport PR #31943 on branch v3.11.x (FIX: allow non-strict monotonicity in LinearSegmented.from_list values) +* :ghpull:`31920`: Fix various small type hint issues +* :ghpull:`31941`: Backport PR #31931 on branch v3.11.x (TST: address pikepdf deprecation) +* :ghpull:`31943`: FIX: allow non-strict monotonicity in LinearSegmented.from_list values +* :ghpull:`31931`: TST: address pikepdf deprecation +* :ghpull:`31921`: Backport PR #31906 on branch v3.11.x (TST: unpin pytest) +* :ghpull:`31906`: TST: unpin pytest +* :ghpull:`31915`: Backport PR #31898 on branch v3.11.x (fix: allow array-like fill_between where masks) +* :ghpull:`31908`: Backport of PRs #31678 and #31782 +* :ghpull:`31882`: Bump the actions group with 3 updates +* :ghpull:`31898`: fix: allow array-like fill_between where masks +* :ghpull:`31911`: Backport PR #31904 on branch v3.11.x (DOC: clarify valid inputs and return type of ``same_color``) +* :ghpull:`31904`: DOC: clarify valid inputs and return type of ``same_color`` +* :ghpull:`31893`: Backport PR #31885 on branch v3.11.x (Skip hidden y-axis offset text when positioning titles (fix #31881)) +* :ghpull:`31900`: Backport PR #31896 on branch v3.11.x (TST: temporarily pin pytest) +* :ghpull:`31896`: TST: temporarily pin pytest +* :ghpull:`31885`: Skip hidden y-axis offset text when positioning titles (fix #31881) +* :ghpull:`31782`: Bump the actions group across 1 directory with 4 updates +* :ghpull:`31678`: Bump the actions group with 2 updates + +Issues (16): + +* :ghissue:`15363`: Reliably set the output image size +* :ghissue:`27570`: [Bug]: QuadMesh.get_cursor_data() returns incorrect value +* :ghissue:`31276`: [Bug]: Setting aspect back to auto cannot recover the original 3D plot +* :ghissue:`31955`: [Bug]: PDF Type 42 output regression in 3.11: excessive font embedding and fl rendered as a ligature +* :ghissue:`31960`: [Bug]: imshow uint8 image with colors.NoNorm() causes OverflowError when mousing over figure +* :ghissue:`25220`: [Doc]: Better document Axes.transData and other transXYZ attributes +* :ghissue:`31989`: [Bug]: Axis and grid panes out of sync, regression in 3.11 +* :ghissue:`29541`: [Doc]: A few problems on Image resampling page +* :ghissue:`31568`: [Bug]: savefig(bbox_inches='tight') clips axis labels on 3D axes +* :ghissue:`28117`: [Bug]: The zlabel on 3D axes will be cut when using '%matplotlib inline' in Jupyter +* :ghissue:`31927`: [Bug]: ``path_effects`` on text gives an error in matplotlib 3.11 +* :ghissue:`31925`: [Bug]: minus signs not rendered in PDF export with TeX +* :ghissue:`31939`: [Bug]: Regression in 3.11.0 with LinearSegmentedColormap +* :ghissue:`31897`: [MNT]: unpin pytest +* :ghissue:`31890`: [Bug]: Type hints for where argument in ax.fill_between does not allow np.ndarrays +* :ghissue:`31881`: [Bug]: ValueError ("cannot convert float NaN to integer") when trying to show horizontally-stacked subplots diff --git a/doc/release/release_notes.rst b/doc/release/release_notes.rst index faa2672b8560..d5c82c6d8295 100644 --- a/doc/release/release_notes.rst +++ b/doc/release/release_notes.rst @@ -21,6 +21,7 @@ Version 3.11 prev_whats_new/whats_new_3.11.0.rst ../api/prev_api_changes/api_changes_3.11.0.rst github_stats.rst + prev_whats_new/github_stats_3.11.1.rst prev_whats_new/github_stats_3.11.0.rst Version 3.10 From b76fea990aa10afdba9225ee0f058d942cfcb770 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 10 Sep 2026 18:21:30 -0400 Subject: [PATCH 59/61] DOC: Set current version to 3.11.2 --- doc/_static/switcher.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/_static/switcher.json b/doc/_static/switcher.json index 94b8d5ee39c4..7eab89c213a1 100644 --- a/doc/_static/switcher.json +++ b/doc/_static/switcher.json @@ -1,7 +1,7 @@ [ { "name": "3.11 (stable)", - "version": "3.11.1", + "version": "3.11.2", "url": "https://matplotlib.org/stable/", "preferred": true }, From d3ca9172e392048ec242b90e8423e88d1a3000b2 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 10 Sep 2026 19:17:28 -0400 Subject: [PATCH 60/61] REL: v3.11.2 This is the second bugfix release of the 3.11.x series. This release contains several bug-fixes and adjustments: - Speed up RGBA-stage image resampling - Fix `hexbin` clipping in PDF output - Fix `\text` with internal braces - Fix some crashes and make some checks more robust to unlikely cases - Fix frame skew when saving GIF animations with `PillowWriter` - Fix HiDPI handling in Qt toolbar and WebAgg embeddings - Fix `ResizeEvent` handling for `TextBox` - Fix bug with PGF hatch linewidth and color - Fix a bug with drawing an empty Collection - Fix incorrect glyphs in Cairo backends - Improve build system to prevent conflicts between wheels and system libraries From 879ad8ebba3ba5b62ba1b5cedfb7c7f54e85b3a5 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 11 Sep 2026 14:00:39 -0400 Subject: [PATCH 61/61] DOC: Add Zenodo DOI for 3.11.2 Also add a User-Agent to the script as I was getting a 403 Forbidden without it. --- doc/_static/zenodo_cache/22700776.svg | 35 +++++++++++++++++++++++++++ doc/project/citing.rst | 3 +++ tools/cache_zenodo_svg.py | 3 ++- 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 doc/_static/zenodo_cache/22700776.svg diff --git a/doc/_static/zenodo_cache/22700776.svg b/doc/_static/zenodo_cache/22700776.svg new file mode 100644 index 000000000000..1529241eea6c --- /dev/null +++ b/doc/_static/zenodo_cache/22700776.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + DOI + + + DOI + + + 10.5281/zenodo.22700776 + + + 10.5281/zenodo.22700776 + + + \ No newline at end of file diff --git a/doc/project/citing.rst b/doc/project/citing.rst index 96f44f7b2daa..f24b01f89389 100644 --- a/doc/project/citing.rst +++ b/doc/project/citing.rst @@ -32,6 +32,9 @@ By version .. START OF AUTOGENERATED +v3.11.2 + .. image:: ../_static/zenodo_cache/22700776.svg + :target: https://doi.org/10.5281/zenodo.22700776 v3.11.1 .. image:: ../_static/zenodo_cache/21422872.svg :target: https://doi.org/10.5281/zenodo.21422872 diff --git a/tools/cache_zenodo_svg.py b/tools/cache_zenodo_svg.py index 17393dd94787..b9eae09ca6bc 100644 --- a/tools/cache_zenodo_svg.py +++ b/tools/cache_zenodo_svg.py @@ -31,7 +31,7 @@ def download_or_cache(url, version): return BytesIO(data) with urllib.request.urlopen( - urllib.request.Request(url, headers={"User-Agent": ""}) + urllib.request.Request(url, headers={"User-Agent": "Python"}) ) as req: data = req.read() @@ -63,6 +63,7 @@ def _get_xdg_cache_dir(): if __name__ == "__main__": data = { + "v3.11.2": "22700776", "v3.11.1": "21422872", "v3.11.0": "20654446", "v3.10.9": "19716234",