pax_global_header00006660000000000000000000000064150026626240014515gustar00rootroot0000000000000052 comment=c5c3a611aa36e371830cd0b4ae4e2e9e64b07359 xyzservices-2025.4.0/000077500000000000000000000000001500266262400143455ustar00rootroot00000000000000xyzservices-2025.4.0/.github/000077500000000000000000000000001500266262400157055ustar00rootroot00000000000000xyzservices-2025.4.0/.github/PULL_REQUEST_TEMPLATE/000077500000000000000000000000001500266262400211645ustar00rootroot00000000000000xyzservices-2025.4.0/.github/PULL_REQUEST_TEMPLATE/community_contribution.md000066400000000000000000000010101500266262400263210ustar00rootroot00000000000000--- name: Contribution of a new provider about: Contributing additional providers to a xyzservices-providers.JSON title: "PRO:" labels: "community_contribution" --- Before adding a new provider, please check that: - [ ] The provider does not exist in `provider_sources/leaflet-providers-parsed.json`. - [ ] The provider does not exist in `provider_sources/xyzservices-providers.json`. - [ ] The provider URL is correct and tiles properly load. - [ ] The provider contains at least `name`, `url` and `attribution`. xyzservices-2025.4.0/.github/dependabot.yml000066400000000000000000000003321500266262400205330ustar00rootroot00000000000000version: 2 updates: # Maintain dependencies for GitHub Actions - package-ecosystem: "github-actions" directory: "/" schedule: # Check for updates to GitHub Actions every week interval: "weekly" xyzservices-2025.4.0/.github/workflows/000077500000000000000000000000001500266262400177425ustar00rootroot00000000000000xyzservices-2025.4.0/.github/workflows/release_to_pypi.yml000066400000000000000000000032541500266262400236540ustar00rootroot00000000000000name: Publish xyzservices to PyPI / GitHub on: push: tags: - "2*" jobs: build-n-publish: name: Build and publish xyzservices to PyPI runs-on: ubuntu-latest steps: - name: Checkout source uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.x" - name: Build a binary wheel and a source tarball run: | python -m pip install --upgrade pip pip install setuptools wheel python setup.py sdist bdist_wheel - name: Publish distribution to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.PYPI_API_TOKEN }} - name: Create GitHub Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} draft: false prerelease: false - name: Get Asset name run: | export PKG=$(ls dist/ | grep tar) set -- $PKG echo "name=$1" >> $GITHUB_ENV - name: Upload Release Asset (sdist) to GitHub id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: dist/${{ env.name }} asset_name: ${{ env.name }} asset_content_type: application/zip xyzservices-2025.4.0/.github/workflows/test_providers.yml000066400000000000000000000022041500266262400235370ustar00rootroot00000000000000name: Test providers on: push: branches: - "*" pull_request: branches: - "*" schedule: - cron: "59 23 * * 3" jobs: provider_testing: name: Test providers runs-on: ubuntu-latest timeout-minutes: 120 env: THUNDERFOREST: ${{ secrets.THUNDERFOREST }} JAWG: ${{ secrets.JAWG }} MAPBOX: ${{ secrets.MAPBOX }} MAPTILER: ${{ secrets.MAPTILER }} TOMTOM: ${{ secrets.TOMTOM }} OPENWEATHERMAP: ${{ secrets.OPENWEATHERMAP }} HEREV3: ${{ secrets.HEREV3 }} STADIA: ${{ secrets.STADIA }} defaults: run: shell: bash -l {0} steps: - name: checkout repo uses: actions/checkout@v4 - name: setup micromamba uses: mamba-org/setup-micromamba@v2 with: environment-file: ci/latest.yaml micromamba-version: "latest" - name: Install xyzservices run: pip install . - name: test providers - bash run: pytest -v . -m request --cov=xyzservices --cov-append --cov-report term-missing --cov-report xml --color=yes -n auto - uses: codecov/codecov-action@v5 xyzservices-2025.4.0/.github/workflows/tests.yaml000066400000000000000000000024551500266262400217760ustar00rootroot00000000000000name: Tests on: push: branches: - "*" pull_request: branches: - "*" schedule: - cron: "59 23 * * 3" jobs: unittests: name: ${{ matrix.os }}, ${{ matrix.environment-file }} runs-on: ${{ matrix.os }} timeout-minutes: 120 strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] environment-file: [ci/latest.yaml] defaults: run: shell: bash -l {0} steps: - name: checkout repo uses: actions/checkout@v4 - name: setup micromamba uses: mamba-org/setup-micromamba@v2 with: environment-file: ${{ matrix.environment-file }} micromamba-version: "latest" - name: Install xyzservices run: pip install . - name: run tests - bash run: pytest -v . -m "not request" --cov=xyzservices --cov-append --cov-report term-missing --cov-report xml --color=yes - name: remove JSON from share and test fallback run: | python -c 'import os, sys; os.remove(os.path.join(sys.prefix, "share", "xyzservices", "providers.json"))' pytest -v . -m "not request" --cov=xyzservices --cov-append --cov-report term-missing --cov-report xml --color=yes if: matrix.os != 'windows-latest' - uses: codecov/codecov-action@v5 xyzservices-2025.4.0/.github/workflows/update_providers.yaml000066400000000000000000000023151500266262400242060ustar00rootroot00000000000000name: Update leaflet providers/compress JSON on: schedule: - cron: '42 23 1,15 * *' workflow_dispatch: inputs: version: description: Manual update reason default: refresh required: false jobs: unittests: name: Update leaflet providers runs-on: ubuntu-latest timeout-minutes: 30 strategy: matrix: environment-file: [ci/update_providers.yaml] steps: - name: checkout repo uses: actions/checkout@v4 - name: setup micromamba uses: mamba-org/setup-micromamba@v2 with: environment-file: ${{ matrix.environment-file }} micromamba-version: 'latest' - name: Parse leaflet providers/compress output shell: bash -l {0} run: | make update-leaflet make compress - name: Commit files run: | git config --global user.name 'Martin Fleischmann' git config --global user.email 'martinfleis@users.noreply.github.com' git add provider_sources/leaflet-providers-parsed.json git add xyzservices/data/providers.json git commit -am "Update leaflet providers/compress JSON [automated]" git push xyzservices-2025.4.0/.gitignore000066400000000000000000000036421500266262400163420ustar00rootroot00000000000000# Extra XYZservices provider_sources/leaflet-providers-raw.json # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ pip-wheel-metadata/ share/python-wheels/ *.egg-info/ .installed.cfg *.egg MANIFEST # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .nox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover *.py,cover .hypothesis/ .pytest_cache/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py db.sqlite3 db.sqlite3-journal # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation doc/build/ # Copied file doc/source/_static/providers.json # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # IPython profile_default/ ipython_config.py # pyenv .python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. # However, in case of collaboration, if having platform-specific dependencies or dependencies # having no cross-platform support, pipenv may install dependencies that don't work, or not # install all needed dependencies. #Pipfile.lock # PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ # Celery stuff celerybeat-schedule celerybeat.pid # SageMath parsed files *.sage.py # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ .dmypy.json dmypy.json # Pyre type checker .pyre/ .vscode/settings.json .DS_Store .ruff_cachexyzservices-2025.4.0/.pre-commit-config.yaml000066400000000000000000000003271500266262400206300ustar00rootroot00000000000000ci: autofix_prs: false autoupdate_schedule: quarterly files: 'xyzservices\/' repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: "v0.11.4" hooks: - id: ruff - id: ruff-format xyzservices-2025.4.0/CHANGELOG.md000066400000000000000000000137521500266262400161660ustar00rootroot00000000000000Changelog ========= xyzservices 2024.6.0 (June 6, 2024) ------------------------------------ Providers: - Added ``BlueMarbleBathymetry`` and ``MEaSUREsIceVelocity`` tiles to the ``NASAGIBS`` provider (#168) - Updated ``GeoportailFrance`` TileMatrixSet information. xyzservices 2024.4.0 (April 3, 2024) ------------------------------------ Providers: - ``GeoportailFrance`` tiles are now using the new ``data.geopf.fr`` domain instead of deprecated ``wxs.ign.fr`` (#166) - ``NASAGIBS.BlueMarble3413`` and ``NASAGIBS.BlueMarble3031`` URLs are now fixed (#162) - ```NASAGIBS.BlueMarble`` was removed as the URL no longer works. - ``Esri.DeLorme`` and ``NASAGIBS.ModisTerraChlorophyll`` are marked as broken. - Added ``BaseMapDE`` and ``TopPlusOpen`` providers. - Addded ``Jawg.Lagoon``, ``MapTiler.Ocean``, ``MapTiler.Backdrop``, ``MapTiler.Dataviz`` tiles. - Updated ``NLS`` to use their new ``MapTiler`` service. xyzservices 2023.10.1 (October 26, 2023) ---------------------------------------- Providers: - ``Stamen`` tiles have been removed due to their upstream deprecation. Use ``Stamen`` styles of ``Stadia`` provider instead. - ``JusticeMap`` tiles are temporarily marked as broken. xyzservices 2023.10.0 (October 5, 2023) --------------------------------------- Providers: - ``Stamen`` tiles are now available under ``Stadia`` provider. xyzservices 2023.7.0 (July 13, 2023) ------------------------------------ Providers: - Added ``GeoportailFrance`` ``Orthoimagery_Orthophotos_Irc_express_2023`` and ``Orthoimagery_Orthophotos_Ortho_express_2023`` layers - Updated domain for ``OpenStreetMap.DE`` - Marked ``GeoportailFrance.Orthoimagery_Orthophotos_1980_1995`` as possibly broken xyzservices 2023.5.0 (May 19, 2023) ----------------------------------- Providers: - Added ``OrdnanceSurvey`` layers xyzservices 2023.2.0 (February 19, 2023) ---------------------------------------- Providers: - Updated available layers of ``GeoportailFrance`` Bug fixes: - Use ``pkgutil`` instead of ``importlib`` to fetch the JSON if the default in ``share`` is not available. Fixes this fallback for Python 3.8. xyzservices 2022.09.0 (September 19, 2022) ------------------------------------------ Providers: - Added ``GeoportailFrance`` tile layers (#126) Enhancements: - Better cleaning of names in ``query_name`` method Documentation: - Added a gallery of included tiles to the documentation (#114) xyzservices 2022.06.0 (June 21, 2022) ------------------------------------- Providers: - Added ``NASAGIBS.ASTER_GDEM_Greyscale_Shaded_Relief`` - Added ``Esri.ArcticImagery`` (EPSG:5936) and ``Esri.AntarcticImagery`` (EPSG:3031) xyzservices 2022.04.0 (April 14, 2022) -------------------------------------- Providers: - Update ``OpenStreetMap.DE`` URL - Remove broken Hydda tiles xyzservices 2022.03.0 (March 9, 2022) ------------------------------------- Providers: - Added ``Esri`` ``ArcticOceanBase``, ``ArcticOceanReference`` and ``AntarcticBasemap`` xyzservices 2022.02.0 (February 10, 2022) ---------------------------------------- Providers: - Fixed ``MapTiler.Winter`` - Updated ``AzureMaps`` links xyzservices 2022.01.1 (January 20, 2022) ---------------------------------------- Providers: - Added ``NASAGIBS.BlueMarble`` datasets in EPSG 3857 (default), 3413, and 3031 - Added more ``MapTiler`` providers (``Outdoor``, ``Topographique``, ``Winter``, ``Satellite``, ``Terrain``, and ``Basic4326`` in ESPG 4326). xyzservices 2022.01.0 (January 17, 2022) ---------------------------------------- Providers: - Added ``SwissFederalGeoportal`` providers (``NationalMapColor``, ``NationalMapGrey``, ``SWISSIMAGE``, ``JourneyThroughTime``) xyzservices 2021.11.0 (November 06, 2021) ---------------------------------------- Providers: - Updated deprecated links to ``nlmaps`` providers - Added ``nlmaps.water`` xyzservices 2021.10.0 (October 19, 2021) ---------------------------------------- Providers: - Added ``OPNVKarte`` map - Removed discontinued ``OpenPtMap`` - Max zoom of ``CartoDB`` tiles changed from 19 to 20 xyzservices 2021.09.1 (September 20, 2021) ------------------------------------------ New functionality: - Added ``Bunch.query_name()`` method allowing to fetch the ``TileProvider`` object based on the name with flexible formatting. (#93) xyzservices 2021.09.0 (September 3, 2021) ----------------------------------------- Providers: - Fixed ``Strava`` maps (#85) - Fixed ``nlmaps.luchtfoto`` (#90) - Fixed ``NASAGIBS.ModisTerraSnowCover`` (#90) - ``JusticeMap`` and ``OpenAIP`` now use https instead of http xyzservices 2021.08.1 (August 12, 2021) --------------------------------------- Providers: - Added ``OpenStreetMap.BlackAndWhite`` (#83) - Added ``Gaode`` tiles (``Normal`` and ``Satellite``) (#83) - Expanded ``NASAGIBS`` tiles with ``ModisTerraBands721CR``, ``ModisAquaTrueColorCR``, ``ModisAquaBands721CR`` and ``ViirsTrueColorCR`` (#83) - Added metadata to ``Strava`` maps (currently down) (#83) xyzservices 2021.08.0 (August 8, 2021) -------------------------------------- New functionality: - Added ``TileProvider.from_qms()`` allowing to create a ``TileProvider`` object from the remote [Quick Map Services](https://qms.nextgis.com/about) repository (#71) - Added support of ``html_attribution`` to have live links in attributions in HTML-based outputs like leaflet (#60) - New ``Bunch.flatten`` method creating a flat dictionary of ``TileProvider`` objects based on a nested ``Bunch`` (#68) - Added ``fill_subdomain`` keyword to ``TileProvider.build_url`` to control ``{s}`` placeholder in the URL (#75) - New Bunch.filter method to filter specific providers based on keywords and other criteria (#76) Minor enhancements: - Indent providers JSON file for better readability (#64) - Support dark themes in HTML repr (#70) - Mark broken providers with ``status="broken"`` attribute (#78) - Document providers requiring registrations (#79) xyzservices 2021.07 (July 30, 2021) ----------------------------------- The initial release provides ``TileProvider`` and ``Bunch`` classes and an initial set of providers. xyzservices-2025.4.0/CONTRIBUTING.md000066400000000000000000000101531500266262400165760ustar00rootroot00000000000000# Contributing to `xyzservices` Contributions to `xyzservices` are very welcome. They are likely to be accepted more quickly if they follow these guidelines. There are two main groups of contributions - adding new provider sources and contributions to the codebase and documentation. ## Providers If you want to add a new provider, simply add its details to `provider_sources/xyzservices-providers.json`. You can add a single `TileProvider` or a `Bunch` of `TileProviders`. Use the following schema to add a single provider: ```json { ... "single_provider_name": { "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", "max_zoom": 19, "attribution": "(C) OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik" }, ... } ``` If you want to add a bunch of related providers (different versions from a single source like `Stamen.Toner` and `Stamen.TonerLite`), you can group then within a `Bunch` using the following schema: ```json { ... "provider_bunch_name": { "first_provider_name": { "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", "max_zoom": 19, "attribution": "(C) OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik" }, "second_provider_name": { "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png?access-token={accessToken}", "max_zoom": 19, "attribution": "(C) OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik", "accessToken": "" } }, ... } ``` It is mandatory to always specify at least `name`, `url`, and `attribution`. Don't forget to add any other custom attribute required by the provider. When specifying a placeholder for the access token, please use the `""` string to ensure that `requires_token()` method works properly. Once updated, you can (optionally) compress the provider sources by executing `make compress` from the repository root. ```bash cd xyzservices make compress ``` ## Code and documentation At this stage of `xyzservices` development, the priorities are to define a simple, usable, and stable API and to have clean, maintainable, readable code. In general, `xyzservices` follows the conventions of the GeoPandas project where applicable. In particular, when submitting a pull request: - All existing tests should pass. Please make sure that the test suite passes, both locally and on GitHub Actions. Status on GHA will be visible on a pull request. GHA are automatically enabled on your own fork as well. To trigger a check, make a PR to your own fork. - Ensure that documentation has built correctly. It will be automatically built for each PR. - New functionality should include tests. Please write reasonable tests for your code and make sure that they pass on your pull request. - Classes, methods, functions, etc. should have docstrings and type hints. The first line of a docstring should be a standalone summary. Parameters and return values should be documented explicitly. - Follow PEP 8 when possible. We use Black and Flake8 to ensure a consistent code format throughout the project. For more details see the [GeoPandas contributing guide](https://geopandas.readthedocs.io/en/latest/community/contributing.html). - Imports should be grouped with standard library imports first, 3rd-party libraries next, and `xyzservices` imports third. Within each grouping, imports should be alphabetized. Always use absolute imports when possible, and explicit relative imports for local imports when necessary in tests. - `xyzservices` supports Python 3.7+ only. When possible, do not introduce additional dependencies. If that is necessary, make sure they can be treated as optional. ## Updating sources from leaflet `leaflet-providers-parsed.json` is an automatically generated file. You can create a fresh version using `make update-leaflet` from the repository root: ```bash cd xyzservices make update-leaflet ``` Note that you will need functional installation of `selenium` with Firefox webdriver, `git` and `html2text` packages.xyzservices-2025.4.0/LICENSE000066400000000000000000000027551500266262400153630ustar00rootroot00000000000000BSD 3-Clause License Copyright (c) 2021, GeoPandas All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. xyzservices-2025.4.0/MANIFEST.in000066400000000000000000000000671500266262400161060ustar00rootroot00000000000000include LICENSE include xyzservices/data/providers.jsonxyzservices-2025.4.0/Makefile000066400000000000000000000004241500266262400160050ustar00rootroot00000000000000.PHONY: update-leaflet compress # update leaflet-providers_parsed.json from source update-leaflet: cd provider_sources && \ python _parse_leaflet_providers.py # compress json sources to data/providers.json compress: cd provider_sources && \ python _compress_providers.pyxyzservices-2025.4.0/README.md000066400000000000000000000066541500266262400156370ustar00rootroot00000000000000# xyzservices - Source of XYZ tiles providers `xyzservices` is a lightweight library providing a repository of available XYZ services offering raster basemap tiles. The repository is provided via Python API and as a compressed JSON file. XYZ tiles can be used as background for your maps to provide necessary spatial context. `xyzservices` offer specifications of many tile services and provide an easy-to-use tools to plug them into your work, no matter if interactive or static. [![Tests](https://github.com/geopandas/xyzservices/actions/workflows/tests.yaml/badge.svg)](https://github.com/geopandas/xyzservices/actions/workflows/tests.yaml) [![codecov](https://codecov.io/gh/geopandas/xyzservices/branch/main/graph/badge.svg?token=PBSZQA48GY)](https://codecov.io/gh/geopandas/xyzservices) [![PyPi](https://img.shields.io/pypi/v/xyzservices.svg)](https://pypi.python.org/pypi/xyzservices) ## Quick Start Using `xyzservices` is simple and in most cases does not involve more than a line of code. ### Installation You can install `xyzservices` from `conda` or `pip`: ```shell conda install xyzservices -c conda-forge ``` ```shell pip install xyzservices ``` The package does not depend on any other apart from those built-in in Python. ### Providers API The key part of `xyzservices` are providers: ```py >>> import xyzservices.providers as xyz ``` `xyzservices.providers` or just `xyz` for short is a `Bunch` of providers, an enhanced `dict`. If you are in Jupyter-like environment, `xyz` will offer collapsible inventory of available XYZ tile sources. You can also explore it as a standard `dict` using `xyz.keys()`. Once you have picked your provider, you get its details as a `TileProvider` object with all the details you may need: ```py >>> xyz.CartoDB.Positron.url 'https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png' >>> xyz.CartoDB.Positron.attribution '(C) OpenStreetMap contributors (C) CARTO' ``` You can also check if the `TileProvider` needs API token and pass it to the object if needed. ```py >>> xyz.MapBox.requires_token() True >>> xyz.MapBox["accessToken"] = "my_personal_token" >>> xyz.MapBox.requires_token() False ``` ### Providers JSON After the installation, you will find the JSON used as a database of providers in `share/xyzservices/providers.json` if you want to use it outside of a Python ecosystem. ## Contributors `xyzservices` is developed by a community of enthusiastic volunteers and lives under [`geopandas`](https://github.com/geopandas) GitHub organization. You can see a full list of contributors [here](https://github.com/geopandas/xyzservices/graphs/contributors). The main group of providers is retrieved from the [`leaflet-providers` project](https://github.com/leaflet-extras/leaflet-providers) that contains both openly accessible providers as well as those requiring registration. All of them are considered [free](https://github.com/leaflet-extras/leaflet-providers/blob/master/README.md#what-do-we-mean-by-free). If you would like to contribute to the project, have a look at the list of [open issues](https://github.com/geopandas/contextily/issues), particularly those labeled as [good first issue](https://github.com/geopandas/xyzservices/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). ## License BSD 3-Clause License Resources coming from the [`leaflet-providers` project](https://github.com/leaflet-extras/leaflet-providers) are licensed under BSD 2-Clause License (© 2013 Leaflet Providers) xyzservices-2025.4.0/ci/000077500000000000000000000000001500266262400147405ustar00rootroot00000000000000xyzservices-2025.4.0/ci/latest.yaml000066400000000000000000000002161500266262400171170ustar00rootroot00000000000000name: test channels: - conda-forge dependencies: - python - mercantile - requests # tests - pytest - pytest-cov - pytest-xdistxyzservices-2025.4.0/ci/update_providers.yaml000066400000000000000000000003241500266262400212020ustar00rootroot00000000000000name: update_providers channels: - conda-forge dependencies: - python # tests - pytest - pytest-cov - selenium==4.10 - geckodriver - firefox - gitpython - html2text - xmltodict - requests xyzservices-2025.4.0/codecov.yml000066400000000000000000000002421500266262400165100ustar00rootroot00000000000000coverage: status: project: default: target: 90% # the required coverage value threshold: 0.2% # the leniency in hitting the targetxyzservices-2025.4.0/doc/000077500000000000000000000000001500266262400151125ustar00rootroot00000000000000xyzservices-2025.4.0/doc/Makefile000066400000000000000000000011761500266262400165570ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line, and also # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build SOURCEDIR = source BUILDDIR = build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) xyzservices-2025.4.0/doc/make.bat000066400000000000000000000014371500266262400165240ustar00rootroot00000000000000@ECHO OFF pushd %~dp0 REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set SOURCEDIR=source set BUILDDIR=build if "%1" == "" goto help %SPHINXBUILD% >NUL 2>NUL if errorlevel 9009 ( echo. echo.The 'sphinx-build' command was not found. Make sure you have Sphinx echo.installed, then set the SPHINXBUILD environment variable to point echo.to the full path of the 'sphinx-build' executable. Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from echo.http://sphinx-doc.org/ exit /b 1 ) %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% goto end :help %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% :end popd xyzservices-2025.4.0/doc/requirements.txt000066400000000000000000000000651500266262400203770ustar00rootroot00000000000000myst-nb numpydoc sphinx sphinx-copybutton furo foliumxyzservices-2025.4.0/doc/source/000077500000000000000000000000001500266262400164125ustar00rootroot00000000000000xyzservices-2025.4.0/doc/source/_static/000077500000000000000000000000001500266262400200405ustar00rootroot00000000000000xyzservices-2025.4.0/doc/source/_static/custom.css000066400000000000000000000014231500266262400220640ustar00rootroot00000000000000span#release { font-size: x-small; } .main-container { position: relative; margin-left: auto; margin-right: auto; margin-top: 50px; margin-bottom: 10px; } .table-container { font-size: 18px; width: 100%; margin-top: 30px; margin-bottom: 30px; background-color: rgba(128, 128, 128, 0.1); } .map-container { height: 250px; margin-left: auto; margin-right: auto; margin-top: 20px; margin-bottom: 20px; padding: 20px; } .key-container { font-size: 16px; } .key-cell { font-size: 16px; line-height: 22px; vertical-align: top; width: 200px; color: rgba(128, 128, 128, 1); align-items: top; } .val-cell { font-size: 16px; width: 200px; margin-right: 50px; line-height: 22px; }xyzservices-2025.4.0/doc/source/_static/generate_gallery.js000066400000000000000000000235041500266262400237130ustar00rootroot00000000000000function getBaseMapName(data) { var name = data["name"]; if (name.includes(".")) { var basemap = name.split(".")[0]; } else { var basemap = name; } return basemap; } var accessData = { // contains the keys for basemaps that need some identification data (apikey, access token or ID code) Thunderforest: { keyString: "apikey", idString: "", name: "Thunderforest", }, OpenWeatherMap: { keyString: "apiKey", idString: "", name: "OpenWeatherMap", }, MapTiler: { keyString: "key", idString: "", name: "MapTiler", }, MapBox: { keyString: "accessToken", idString: "", name: "MapBox", }, Jawg: { keyString: "accessToken", idString: "", name: "Jawg", }, TomTom: { keyString: "apikey", idString: "", name: "TomTom", }, HERE: { keyString: "app_code", idString: "app_id", name: "HERE", }, HEREv3: { keyString: "apiKey", idString: "", name: "HEREv3", }, AzureMaps: { keyString: "subscriptionKey", idString: "", name: "AzureMaps", }, OrdnanceSurvey: { keyString: "key", idString: "", name: "OrdnanceSurvey", }, }; function initMap(el, data, accessData) { basemap = getBaseMapName(data); const mainContainer = document.createElement("div"); mainContainer.className = "main-container"; el.append(mainContainer); var titleDiv = document.createElement("h2"); titleDiv.className = "title-container"; titleDiv.textContent = data["name"]; mainContainer.append(titleDiv); var mapContainer = document.createElement("div"); mapContainer.className = "map-container"; mainContainer.append(mapContainer); key = Object.keys(data); val = Object.values(data); nbOfRows = Object.keys(data).length; var latitude = 0; var longitude = 0; var zoom = 1; try { //---------------------Basemaps with specific locations ------------------------------- //----and zooms to optimize the map views restricted to given geographic areas--------- if ( data["name"] === "Esri.ArcticOceanReference" || data["name"] === "Esri.ArcticOceanBase" ) { latitude = 65.421505; // Artic ocean longitude = -70.965421; zoom = 1; } else if (data["name"] === "Esri.AntarcticBasemap") { latitude = 82.8628; // Antarctic ocean longitude = 135.0; zoom = 6; } else if (basemap == 'GeoportailFrance') { latitude = 46.749998; longitude = 1.85; zoom = 6 } else if (basemap === "OpenFireMap" || basemap === "OpenSeaMap") { latitude = 50.1109; // Frankfurt longitude = 8.6821; zoom = 14; } else if (basemap === "OpenAIP") { latitude = 50.1109; // Frankfurt longitude = 8.6821; zoom = 9; } else if (basemap === "Stamen") { latitude = 32.7766642; // Dallas longitude = -96.7969879; zoom = 6; } else if (basemap === "FreeMapSK") { latitude = 48.736277; // Banská Bystrica Slovaky longitude = 19.146192; zoom = 14; } else if (basemap === "JusticeMap") { latitude = 39.7392358; // Denver longitude = -104.990251; zoom = 3; } else if ( basemap === "OpenWeatherMap" || basemap === "Esri" || basemap === "USGS" || basemap === "WaymarkedTrails" ) { latitude = 32.7766642; // Dallas longitude = -96.7969879; zoom = 4; } else if (basemap === "BasemapAT") { latitude = 47.5652; // Liezen longitude = 14.2424; zoom = 14; } else if (basemap === "nlmaps") { latitude = 52.370216; // Amsterdam longitude = 4.895168; zoom = 14; } else if (basemap === "NLS" || basemap === "OrdnanceSurvey") { latitude = 53.381129; // Sheffield longitude = -1.470085; zoom = 12; } else if (basemap === "OneMapSG") { latitude = 1.352083; // Singapore longitude = 103.819836; zoom = 14; } else if (basemap === "SwissFederalGeoportal") { latitude = 46.5196535; // Lausanne longitude = 6.6322734; zoom = 10; } else if (basemap === "OpenSnowMap") { latitude = 45.923697; // Chamonix longitude = 6.869433; zoom = 14; } else if (basemap === "Gaode") { latitude = 39.904211; // Pekin longitude = 116.407395; zoom = 14; } else if (basemap === "NASAGIBS" || basemap === "Strava") { latitude = 48.856614; // Paris longitude = 2.3522219; zoom = 4; } else { latitude = 48.856614; // Paris longitude = 2.3522219; zoom = 14; } var sampleMap = L.map(mapContainer, { attributionControl: true }).setView( [latitude, longitude], zoom ); // Case with no apikey if (accessData[basemap] === undefined) { L.tileLayer(data["url"], data).addTo(sampleMap); tbl1 = document.createElement("table"); tbl1.className = "table-container"; for (let i = 0; i < nbOfRows; i++) { const tr1 = tbl1.insertRow(); tr1.className = "line-container"; for (let j = 0; j < 2; j++) { if (i === nbOfRows - 2 && j === 2) { break; } else { const td1 = tr1.insertCell(); if (j == 0) { // First column of the table : the one with the keys td1.className = "key-cell"; td1.textContent = key[i]; } else { // Second column of the table : the one with the values of the metadata td1.className = "val-cell"; td1.textContent = val[i]; } } } } mainContainer.appendChild(tbl1); } else { // Case with apikey var dict = accessData[basemap]; var keyString = dict["keyString"]; tbl2 = document.createElement("table"); tbl2.className = "table-container"; for (let i = 0; i < nbOfRows; i++) { const tr2 = tbl2.insertRow(); tr2.className = "line-container"; for (let j = 0; j < 2; j++) { if (i === nbOfRows - 2 && j === 2) { break; } else { const td2 = tr2.insertCell(); if (j == 0) { // First column of the table containing the keys of the metadata td2.className = "key-cell"; td2.textContent = key[i]; } else { // Second column of the table containing the values of the metadata td2.className = "val-cell"; // create a single input and a button with onclick function for apikey if (key[i] === keyString) { var keyInput = document.createElement("input"); keyInput.type = "password"; keyInput.placeholder = "Enter your API key please"; keyInput.className = "key-container"; td2.append(keyInput); var validationButton = document.createElement("button"); validationButton.className = "button-container"; td2.append(validationButton); validationButton.innerHTML = "validate"; validationButton.onclick = get_keyCode; function get_keyCode() { val[i] = keyInput.value; data[keyString] = keyInput.value; L.tileLayer(data["url"], data).addTo(sampleMap); } } else { td2.textContent = val[i]; } } } } } mainContainer.appendChild(tbl2); } } catch {} } function initLeafletGallery(el) { fetch('_static/providers.json') .then(response => response.json()) .then(data => { var dataList = []; for ([key, val] of Object.entries(data)) { if (val["url"] === undefined) { // check if url is a key of the JSON object, if not go one level deeper and define the val as the new object newData = val; for ([newKey, newVal] of Object.entries(newData)) { /*if (newVal["bounds"] !== undefined) { newVal["bounds"] = undefined; }*/ dataList.push(newVal); } } else { dataList.push(val); } } dataList.forEach((baseMapData) => { initMap(el, baseMapData, accessData); }); }); }xyzservices-2025.4.0/doc/source/_static/xyzmaps.jpg000066400000000000000000013472371500266262400222760ustar00rootroot00000000000000JFIFHHExifMM*JR(iZHHo8Photoshop 3.08BIM8BIM%ُ B~dICC_PROFILETlcms0mntrRGB XYZ  acspAPPL-lcms desc>cprtHLwtptchad,rXYZbXYZgXYZrTRC gTRC bTRC chrm0$mluc enUS"sRGB IEC61966-2.1mluc enUS0No copyright, use freelyXYZ -sf32 B%nXYZ o8XYZ $XYZ bparaff Y [chrmT{L&f\o" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzC C  K ?4o2Eif K| G}j>'>>_o*Da@Iɯ{񙋝yKW{M;'׿xu'6.`t;X?ȱ(q5%ıca\d_uY%G6ǫsrjG4$rg-F: rV:TJ~җWظ]gPEޡw q9Քt?}[uk Yӵ+D) RۂB/ʩF9Ijw6[on0qFO97 񫘁 >5YoםOiQN֛F߉L6#:ŭV i`@y&#Ȟb#`q:? SF9K&U$4DH#,[-oats0rcz ,5LJP 1spYdcX noDei/ X嘐+x<`_ uZ"^ҡ?cI0No# ,b3 Y$ ֵ-fiouBp4,Peg8\^k:_]FNT;+``9k9=knW{w7r'b^Yr?v b#ِ%Q.`d$qߑ\"ehL|Cc9Wq|@Qh,$y?^ʹFfv.z4Bs]?Ȼ)vw#1赹Ɉz)ϙj"_\xG3YI9 J(m (Si?ֽV?z9mnHaH:Q[h;8u4▓[A$o&5…c2jIiMK'1^W=C懭n rZKmhKM$rEn%ivOZFK󗇮2_G {"X匇nd\ #m<]6꒣ėQ$ei&<ǕRXUw<R*Xi[P{8eKQH/n@hvΎZVx ѡE}5e+iB9M\B|~c@BKZ'm CL6-ܢΡoCk6gi-q[xHۦڐ c8QlUl;qCgLCNږ0W=? )EMFN6d7-ҍ\0!g}`ྯ╼[nBH܍Ŷ uf]+|j$$iUeߐpp0>~>?4>*;iҥ}h|֭)ie(Eax}\i ׼=oB1T#z^˲ۡ)gfֹcu%rFۿxQ2"|܊|#w?cY5 r4db#: `E>+>|5y{ xvRg}g U,3K 3xΌUkino7{_zpsT,JR\ 0ad=GjԘu^)KU5vuU$l-GxF_!s1[b y(|GyCvwFyrw<w^!"ENa1 eTyo n1QE(AE{/AhF*6+e`r< 㟳$7%6kGm W;iN{I3 M? ou9Vu:@Auq*}Npݚ٤[ֵ|IIh !t "o rdad+%Z|ѿjl)Gj k/dl*FGCjrߑ?7 $U)h >4̧Fbp}#o>..Ӿ)-K$K{Y<溸%{IbU@>Y[Y ?  uA#ӽxyl:KP9E/ýGGa7u{ & :c˙m([|Y?a{&pE26&܏y2XF.4Ɍ;G!.$2z|sg]xVHb4V$ CkVJvOfpĶR:p/I9.m|+vFS;rnG ޵b{ϴڊ(c8s2{7H=+Ҿ(^t-SjUЎ5I ^JC:}goEei z#Vb%/OA,63GMm=Aρ~.:WMh}o@5KXmԖoٌn]*>6e.o3lZ,U;GK+RVZnzio{h#PaLn!;cj١O[RV6P:8O$?Ue ]KU>U8# ]L"F~~^Y?&\X~Scf;iө9zaTJU/Ug-gW`AvkZM5#êdQ:mϮOm[VxaNc+FyԖ1jR^gvVhaNvǥrʥ&]~jWQP3<(A%A$t*Z46pdTP> rzU[:ݼWzt0m/Rsf.. E>@=ӸwG *6[&Vo;i'6XT:T-=+>j o\YJJ\FѰ>nk&g5 { 3Om4MZIS c} n1`3 dN8Ο'n6,W `ދDA8 M[j: hi 6Jjt?J<wiwA4V2H^8|So[k1hy0Qk:Ưb%Q>Iͺ-1W++oo3~1xZhr EeR Du+?Ko5-ZhmifV ƃs3 [5R5į߁_?욍E9 d2Wzv̤WM4KG ?i4W[PʆSA#`̜W svZ[wa$Rґ4"pJ+vp:`sY$z1YF?v H {\\ _?._?'7H#ĥ˯ :!>7L=jhֺ,yȈ%1dw&tk,-dNs z^N ]KJ1uTRI#{5o˽Tgk;4u~!=FHb`k~2~P:!Nh{A53̔evdj>o 35z)88jvjN$]/S(…Jt%~}w}ַnDeJȡJKr]|-gt$i/J@]cmd,FzNMmVsz枈ewFp)o)r]奢{T;O8uXr\02!#_OO)5)jSBJwddHf?p{d5>]qlܹ8ϝ)H8+ilX_߀Dq}EtLrF}ҿ8C_2'JNZf ?ym4;Vb^|E8~vlOÂNʈ!_;ٯN-{no^U"Үt]\ z?s*+Gjx@zיdA5V>jؼrܞ5ZzBU_ ==KkKkAkXV 'c𒿃| ?u2jb^ٴVʆL/ 1\޵%9ؙx>U,VQ̨Ď[-%MN64sLRQĈJ+EuX VRG~{SWkգ\jOv Yf"DH:AjR)ո _>+>=xxwEou" qj}13o^ Fk3ĝ3P_#wA OnP8qT];Ǟ2kMjrֺՔ8Sr857 ~#+?:v]~eaeR U 49X<0w9jS$a*O k߆3g>%Ǡx×MnK2 I@b@QsO؟5#OXA:MXe+XԐ#l xƿz}׈m`t c r\i[ |+&m|K6yo1[{c-̂URfE~Go⸂{]: Jpx>kiPfD YX`(䜎叇χsGھI]5ykmr$Yl2c Ax ]kXpͬV]mD0;r9C=wmi5ZuiYt0>3iz}Ռ7Ag> :tM8E#~Ÿ3O^) 5{qKFJsTͩXw]oZAۧ_z WĭSG|Fطab~QS+fY0 kCT"kt$2hO\D^#$zWyBf?U;2ZysoMGoomI48rY*S\l#:鷁DZI>f !s֞gw*Ģ8dX֌>dqut8'9#Fp8ަ);y/l?jk}V!wãA-҉udgǁ{鶶% k =5zs}O~]2~%ΛzϼKGĤ7Q+15TIZ7Af8tU+?g 88knmD::$W,ھ!m:CR&pp9޸{ b5% :?vS Nx pχV=}'Ӛ^Foϱ$/-j>gIu%{תiMͨ,ާE?w.]2k^"4/nvIG4nvȎS/۔nN+鯋䴿qxJC-t@F]aH",|ҭH<(%`; ~)?|6c&ÖdejCC˫fIܖrř%dA SrY]3\2U{gtZ]SW69=:u%r YP{_,Κ_Vs읶ͧny 6heX/?_7šh.IC DHgGY!w WMI{SeI*h,- !,p})CNrUqQЊ5dic27\׼/ +<>}^ Z~úu(8%r|]/ $l/y|1⋥K[YQCgU᳉aPS;ݰ0=I+W'd|^3Bu֝|Y'U~',RI[XdaG`u8"'(W ׹|0SOS3\\JŤg;K0+_77l_u۹&}lmYgTۜ>1.P~mol,x$_֎ (1HE8~HUB(%>'gM&*2\ \gkR.u"C˶KLk;ZiէG*$ȇ;G# {⾓#nX^گNXJ3r[;}vNHH-nb۵#G5n]&mZd^ TM,B yNlu16|9KI|?5cޙ.^%"P#8Sժ _),x6+s=x] o85DG o∟OemȶFc$/2#wt/Z3ip[*\0!W?6WI8.-IM)n1nT ȨH~+񇅼#w-2*UhBnzX7뗽ȜJ<H.-|1~{c2'bc;[y[ -t&GRNt;lܣxDqMǻWɾ$jWm.MWv|+H37mG᩻P>uS9m!'5_H.fIpyKNI$ccԵ/ v06}_gҿ9DWv̭,1z('<#ڽ^#mkQv[v6 ;8qⱡVB+]qSR4יWu U;/r AWyZY.?+~Gk)`J:x ';#ht,Pu:iu OANm5QESbf :{W}xd:P1bs<@ҹxKCt{F}8utȣD/E!}`79i3S<^dd+rN7{چXoAӛF"H!d1a!|s6`1#2ij^&xcrh*$d.ps1\PFRbȉ?co}C7lŤޏjg2ތd4HQ0I&ħ廛tdxv&L6^d%ّ/VD V$ˈVtkb>..Wl-/,MH F%ty.$re\_1ߙw_ՙ\GF#h>[,C'֓k4MtϝGgit ;-eJnvAkn nZ./8mXF:tKwWɤ`Is \LmE ͻ٦O2uųmX4qR)Ioc.'?qIkIs-Sb"e+s\ʯ#؎/3+S֊Me8vkW F^U5uӺ~Akzx5r3;C$ѾqnWˑvxW͞&eԖ)-HZ4;ylL eA;s^G_xWITԯ䵆$ra`h0͐ TR!Ǡx_voо o1:سV?iwl.'ɕMӬlX`'Y1P쵌46m&ҒvI8JWR:{HzZKliF].b[[>+fJJOd5g>t]VO_A<ꖺl0]]M%W dBJV!!_hOc eItaeqpLZ^C5匔^0*mfm'3|U7 z_Zʰ[cg0%ŵ.(̲@/역hw+K;WbbYGB|K3JN #^_Zv#Fz$ b*֗^? SJHwW^>1WwKkv#{Oğ Tu Pm.-n Ԫ1F~/p2O'Ju[NY')-iRFJ7]Tw?+{~9k!j+kg2ی#e8? 48Icyto?bG?TӼ]-URyQoH_}Wx6ܙ^vA#ۚޱE+J/G_k{B4nǂF~]tݤ7Yb QݧI] wZY5K˘㶾vE}dbXInE+ fm-$+Hc8IbsNثv+&e8 6ĬzՙZq˨y=g}!4jBI]cÿj:nDGbA#>UMEڴ埸Hx%'?<+i<7׶v S]w8Y! ,؎IB# XzV~>"8%̱YϨ[[0o&> BNndw_⯓K3eG lSOuٵRmWv|N>оԭ>[ads=.Y=m]Âeä||u;3KKԡ#FH mp_TAٯC5 }JҮl(~[, SI1^h.!Z=?,Cv;k>|$Zk9~LXb.kF:xmKC>ac$rYvıe4aHVt$0^i.-aQ)+E$ۜ+-gτSjƙM#mi֥GHp0W߳'}/w;kW$5ISw[ݬB *rAkKNk(''~kTLGR{*zMJf&諸Z||h喑a ^2[Dh( $y]K{}'Umᴂ88 UTq\Mag,'6]rV̼m֮ 7i:O)$ΣX@4)o1ٮ,y8r\8fKO5Nk]:~[&c@c|gƿ};m ƺ4? Lm%R.Py3L",oA>,<'b\%¡?xʕPE{osᏅ<#]};evfS5IJ4.䑋 s8Q\bJ!)PBy%Z.J*کN*J YJOK+|Kzp ݕs4t,͓L7yzEuq ̛S8PqKo=WkGnV1 cO)Ҟ@m/K$ *8 ҕ81VϱVJ*n_6Ͱb9#m #8fk_Ztɥ%Ez \n},֨-yjpĐ9=/mJ xsḿmd8'J)FM;l|Ԍ=⧄БTYX'WKGnMt5#\ۨ-4*qr28 cO݊n|_}= Munon]w` ? gx_Z$RwY=9=+kp*NJ'Y_Х)5V?qybIa2v#ֿ$?^"?FYL=pxu-0\S%S:tkzZh5=M@+q[P@IH|uS"roH̑uK`JLMZj (]9NVj_}y5HJr"eIc8),.pfXxLo"+d_NM_ 5sA<6!˖|9 Ȩ5dh<6^QNx B֋߮+W4կpbpXuqsUGeᏆ]SȁL*O'1WC(#MVi`ds*8q޾vPy?ww׭rbjG 젶^zIh\8<,67&2 r?vZ~i#Cj=bc*knm&Xu8Ypp#9S[65-+s$=v_hTRTeoIGQ(]Β\mLmt.32 g|cʬ隌*.lm"G C:x.׵OQ҅.@{u4\Mo7ل^_/ :zʹbk.YM+F5ЗQ]h:Zܾ7NA{]qZJYDȜ@ʳc?Ỏ3\PeH<Ɣ)pG͎Xm܎OJ6 p7Ǎ==}*2GBO[]_[ѕtz\V %#sr OV%[۹8ŏSW_K ϤȠH`s$dCO4g"<2~SdkkδF:{mWis]Ddk^pjlj5}ZX*9*rLOؽ©Z˿^~/1J}Q@:&{_c)a0jQVTwM=wn1G~ xGw̚*ͪRI#o?z'ߤ"~w}-yPpK#,OzK_!͍FWu|޿JcdtptUm^'j֩UZKDb:ѷ! z.֝>Q.> 0^iq,A4êD͌{sֲ>kPJLeT5F*0Ւ>,cn0'nmAXddOt=obycfN%BrW<~5ڼF@ 1*Ӡ goXo"Y\KPai=v0%$VG܏1QiQݘ㿠O=Qa Fo=1MajS#+6x&pXuv#m\*+Ga#gP?AKn=M|m-y՜oY]*ʖ{|]xj^1L4ZrDpƒ,@'{Wȿ7ӵ~M=]KOOH.Z ,T0\nj\2X?[cw`W  ut06r 5QꚎݶs=ˮpnnkϝq!PkQV}E|Yba-a$omw\jmD-gJhCyB(f2# pX}ׂ=>Mu}7s&&?9c#֬5~ xƱi_}_|hpkod@,4YfHnUP}'w?uui }>Gy-ow_9T#%[X| $,OWN( ˫k+Y//dXYw *$rkةIv |Kֵ/]Ylێ ;sO+كҵj:?qL6ɨC5^\¿dHEǟY."W=Y"(M[yBå[ꋹp@00v>|?>)r^bI,J->~x?uM7lgK) *G$@>\x']MoxZ'Iѥ2鐻Es}u* @T~> ֭&Odc,A?psҰ5SMQծ#e噄hݘ?_x]Z$V:ּcvA҈&7VU 4N 73#^N?fX/au_i1kmr3lڌ`q_NY#c$cUz ߁߳גuxYuZ uK$j"$pE`( Z(/ +?"8Է>0+|r?ȉ$*^kV/'%8`VM>f] .W G@zX!s=Aߊz/ y*L='?fLd=xU%e ǭzv]i:iiG=qV_o|[Ė꒸6m]]\6WWCq2SV;)ohnQ)F720^U۟Ïgе-XhDj ^zԖewHnKgsk kMϼ~`bZC[!F۴,_i㇍?^tS ߓe]>5I'V\Cc~5̱\I+cu85 ,O\q݇~>ZKch#E=]z-h_ϵDR[BDe]}nyn5a?^O# rЊUuO*黪Kw:/=ȼEHMuzo|CLfLU;wGC ^mgN/vb[z]5߰eۜKp>lvNOμZ\p7卶ݰX,U+?ʽ>]/)}^G'UG2e }$dߧkZ<&xH8';5vu]qg,(*u%'qX <7OcS;HK3zj23TaͤŦA ȏ#t @jks˟_e=9|Z%S_AVlѨzQP@R] g:q0I*T|;VIt!ԏII84|s/'zk8Uݘ`nQWsi1&ȵB*%PWuF$|hSe |m8 3YU!aSk`$d7֡f3[]19wlbX3ֽfN6;[U0A9޾e0ی ВJ>;Qn2N-7}Ǎ>~ _^{jgwk8XYl " K#)?h/,~Z<3e.q!rcʎ9fɇgc2*6p,Ǐ *uxXmw lvc6ߡ &/߄ dIֺɥo.As6$YPKkenP8#/s,I#=IsSndIOHM%<޾aN<ϟ+b:؍[-I~ _xّPWw!ku-Lj rgjw6W7bX0W]J'vC4P4n& *Ez#rx|9_Fo_>+U԰驵K5_)g,-b!_nw }nSR9N)9rFC2S9⽤N*i_v:uC+_|a?'[O:Υ\_[\\r3mHٸn=kĴj#ȏ@_Mٹ??WWm?_"*woM|3cZm2v\D911^o_4+xY )bVYBypB)FmC{̋;X;u[T-zx$$$S;UegzkzoN["fTR"7pw~x@?i!Pㄻ[Ay%c #[lP671;=g+X-$[x5 (a N$ryC; o)ja 毬B$o^1g$N `d_V->1! eEc] TKL2`pW~~6^ $bHMխ#bOc,V Ff +Wa)/v;70jV\Cߖv=c|TԴig {6 >쇟owQYèy@``i w^ELGmR`djCz1ۥzby89OOLsW<> {;[IrM[g;R?I&U Al2q]MZ%BuP?+mv&/\Wwp.6ȡx~ q_ K{(L%'MEՊz,ȼ_[b 'Ye{i/ECt| 8LE8"J~.֯#Aþͣt>N:{cmR4} R 9F+EN+zݍj>wܬƉFH9;tKk=,& JɌj?!#O q:MP_ͤFG[)q(ޅie$0[>|`s޼ua[R9J%$ߡSOcy$RdIWgU;~G =5hn5=7oVl}Г@|827z~[cY"en65]eԭG-u žCպW+l$oH=N+zI02;#&f$1ܚO.MsTQndߢz'?K1ıa`WQ\O'O$dG(<{W/'hY[v%l r0a~\uYN7!c6,qG<`$6w"jvnwK=TbrM6{}>5=CVV3s? ]3K/M#v=u/UTni_ZŠN{{-aw6F[; J~͟Oᅷ~ LNۄd"1WmdG@ _!OVUžU߿swzFMS&)>TSO׏j%~cRf= ZsJc8~pr+ӴgL/Rpyǐ}Tӣc_ֿǰqtNZi N&iDF.Nҙw=?tzouoEH BI9|{=0[ x|FmoA^k&KeOJaҹJ-ZpQ?< ]6˧xSƟw X {[y2>۳[~K&0+</Mw>' cAh|F߈w*+LW}1RxgDKx-,#,6č@951N4};WEE]u1je<`d4'ٵy.Y&Ş8Ld6`,Ͽ'|>]h~ޏ[eX≆ly[˕R("u#$r$\}($( B N '$c=2Lk‘\<s}T[^Qp积o<6Z?' oZ|(b897Ӽ3iK#@6fVwgֺv_gȅѾ)i$~\ Vgqm]-rax~x#_ys$_nWly*x&-4V+:`~pr?t~ gK˩>̲J}zW,V:|:rR3?U2V:6z_v}-:.O<poGu83uZW8hm\P:^rMޚ~S%|'\-5He N qĺo5)PwwwI&?sk0*&(_xq̑urp{Ax8e)Tc6QwZoDn6zXl3>Xݽn6x:Aai![[唯>Tm$CkZ 8"*G ޗxoM:Er2y@Pǫy؟eSCUn!T 㞹B_zL͏DeT`ۊkԵ'ús qqq;(Գ*%8f kזxwK/Z~!~Aj I#Qd_ _ٚѥx4ŅSV<}Asƅ{Lio Ť%h]$GVH#|o?d.a! i2pRךWLֱ@iY66;?\_Ic_>'ѼODa} ]Gl@Bv׮ '#0hu y$E0ѽAqG vEyVn+~=΍ {X"9ceI 3ɱz_*D:Z ^+uyt5+ $$"HDe+(er\O=+qTlxۯkZ]#Fԡ 佔3<ܺ۴r9$e'Qң(ynj;벗- H4◗ߺu4G+^=)qͮ6MWsH7I.e-#E(좾/o,K핱wq^6k mJ^k)cM{(Z0}WgU/ccEHA sO&#z9cNe# xC OVh).|9[}Iv]\rFElo(0 imцdiFdPaXu ]cLmd.y9뒼(?k+&|Ukzsm)DB|~e`s[OD:ޙhK*o+>=qxwpb.#T-R)JB)h˰BU˵N῀OujMD\tU\7'=N{WE(ʍiJ{/= 4qHן='/w]{y#|0/Y~p1Ɂ;<Þky;`nz ^x5~bx|@r< r\nV_R{7$򛘤*RqӷcEyΥZy^/S8X%ܡ&@ԵT5gmX)8'$=k@{Kim G1NrH̊@Sא|ykkZrl+KE1o gX@KFqmM\U[Mnp4m9s UN\Js@'3Y/15)qp\:w:;(.SOׯ5|G0Ws=0 F|Ȋe0[T<⳥nwft)Ai?N>U[{{⸂-91|Ƒ26q^UO e6"C2M c,-=MGVOMQw Fӥo!y/2hqi^)SK>[+ #܉3 &GkP$6W烉TBHv פZ}U|*~ʜb{u/sokKpa뎸Z.iqwfL #=GCjVvvuo$MktQxw.[#()VmKVKs?`~?z4%(#T 8#t9O8{e_PFzN4,,r\H㜜qWx#Mnu|x{kܧeS<|ǒ0x&& q^))((< ar7FV6M}޽_ CuaF29x{ᏧŠ(3 ?-C׌B#L񞥜QswW)k=L׏_>07߈{Ě646KѹF8+[@R>/vѧ.HGvaFfLZB\t2,6s*A?Ϗ|mxƪ),RTOSK%–kBGRtcfXn<Ҵ >$Eoc1Ffk^e( rvuUG}G5-{B̡Ѓ7 zy8Ҥv6ŎK˖o}4$@qmgIKT2; A~Sx~>7z33j u gH?Tb;yX [iHߥ:'<5 i2Z}x"9G'<7 Eef)qpxviNV|J3tTdxl|M|S4O}wi Qُ.v& ͞" O_1g 2F>2K;|坛Os_~ &YoOO}1Qezʫ\\ymve#v(AzO.~˒ζcVYuW|G>ܟ3mRih&{iecNSrm1WvdoWĽ DO)eǑ_1tun:'5.h̟ `_OO~$ (a? jjDJֲY%9=s_Oqo'GIWicRY@#no,JWJMz%uڟ235KYr[HwSNzsӭk30sa:.TȥĻ1EH }xM.P$w\/'S)7yv}y*CILU$M]c'*x xf]C$2yP/l#$tRZ(0gq`pjN>QZ^l0 q?Q].q N혣Cv;Pw;0gv~\ `W=4\4eeHj`.-DI-MAVOަܩ?/P#IuK< Y}V\BLو>7Cdg#974]*"%_1@(`m¹Iqau2/ʂB? *Q3W*#7pZmU!01w #?JϗIˆaum䎹w^,]Do(DqتreJR+5kbyrl{p}2HQ%m>avmLMg;zֿ}[{b}qG6/{{s'HͬX ӃRظm}Oԏ"+HUo5=EhGpz~5xwZӾ=~~:Ʋi^ Ώ`ssgQdWWaՕ_MX:/ZxN]̖M]G%0m'|/xz7¿ M3Ht1gp9YIIfv'}.Y*z~;jtӪ<:I2j*jI5:^ɴ߳i}7G4i|Gquy9$&zvpR`$23ضk/KҧoŚz"p00YI'qݱ8;WX5q얉}xzos5dz}c\ZJ'syU$,!L)S ppx',yWRa#O\OJ0ӕ99-WcU#Ruת_% LwrC&pFz~5:75yVՕX4F6;\W-qM {ROokoVs䑖\9'ZWV/U}dt2XXÂE+jGRGN_$8XҭK1O+K+JMdG&ޗI|R|c{υoY_K; s@T$2|"״gϋ[#o*]@w+S<4f>#/b$FAc [kMatfx m B0H98kjiMZMstry 2 4f[޾sDk[2 [.bA#JNq1Uֵu_vkӼQ~g`xLwmM v?.eQ2g9;h:)]U໅,|'P&[tg\VXU i4XEգRJ zs{go^W^i[%i]&6$2޸r!E/MKĭa㿏ڂVq$:XV-/kgu˜\F S=U_Ŭ!GB # V2^\Seo=n$0Mz)_TWKB0m;Ijw`8-@U91kk|ȵp>BLp翔+8mn#|-7Gkσ^(fi>/$2z /$ث%iO;,9N_ף8c\_޿D?T+nad+1#i1_> /yΛcq'C#=sЁ,~>)|5Qkմ= }b]zy2;;[[WBp=o@mFN>ᖑ=:t5%Flv_7Fe ^_j'ߢFNo?N?iڛi)~^"+pR9nnOK{xeY3kCP(m,f9|^CVIwYV6N̪>|;@1^@IE$qXiqcpP\T<7, lehؒTt=q{tVwI”]?5Y4sdKm?}GW.?ވ=x_i_xJҙ. 4TR[QFAc._MOӠhɤպ= mYO&ҹ}kēqF ,.q  ~lzs h>d H 9_Eq/n,-Ң ^ [Fz'Q{uR|lN`mRu.X A{dU&V猳[F:y~4(664 !ՎeJ5c{Qn䴿ثT ū}d/{xTBTYx;OPyͮMg[ȶH/b:ga_Eq4+i);2Ͷj/ev :bFV ȗqU/U$=z{݀OZj%68xk IgƗ"%AV$μJcM*FbTU{f@<zW 7WbEuoC?N@+$vP!潓.ck>'G\׿fpW-%ڿ y޾s<"rZl؈؎NJY^udV<cm?4\b:=G~jsz2.ʰ}@סuaZ@zt{$4}^1>M6lqF?m{`@V {~Qnǡ'ԶUU{iQP{ s]dQ\F&Հ$.dy9g=ISFB#:$7>=jT܀X5nQEaxK|6ԀR;3CN$%CNƼϩɫd0_Fj^L{P2, }h_T:Z_{KNu7KGL7+c.b5 4$gcQKN^W;Uj m60|smK9%q+#N]Un55"$V .YGD ap08`ַ|"@hccpGq5#gLw? hڍ 6?zO0l<98:X@љMOnX{?dkm,!|w&a~jO}wPs$:pGЊ/ǿ 1ڎuV4=|٣"-mQc5W|I_:ޥ-]58Ud-?ie$5YE74"[A~BFKRƛ:~"k? oL_584mϫ]2[)w ݅NviK(Pj*\Eso^ ]'=BSӮZw)Q!k3+ "h7R: 4_kxö2}|$74lB,;?_E zUMnxƇ͏I]gġ G(ݼr5Υ9Efcs\OKM; _I𞋠WW^m-"40.1rYN +אk}#&7,р$k{ȁ(ǦkO|{<37KMfK>5coqx 9Xu|pp3^?6Zxn/-cn99eX9rۏMmuDQ~!>ݕx#dI&9#S; N+Cvywe bN8T4GIoS6Y\@sk,l's=Qx7ė 27bJuR$SxМg=/«ku-Ԕ`/|`n#dHӌ^_Xע-,7s_KYZ>,-3 EJ\y԰9{-+z#g=;REl-,FY8r&Q溏 Pe oST5~ky2AL m+?z1[]"#K{fxLUU;w}Bnl}:OۂWšH(A*Qo໶Vd}CmJt }K|`?n/A~>o:]8AsLSsr "xcs—]hqi0xTX <֓Q)֎ڙsM]ȒAS5&j6z׃{Y \t8AuśΪ OM͐Y>NjWAu wYqirj3l= >90UIc1aOOī& )Q/#aJTEwZO-gUaŷb4I(  J")P;pI6~ |,~/kʫ Χr6w$Ps|[?hOC ;{WF/ hn-[Gl&'%%\:0Y}:XJ#ʸyF1}O<`U~[_j!(,G'J0@UVA%KǟZ#FM*e+Np~tNNkO_66w|mvGP+ 2" Q"aIbur??-~~&48nvӭheX뛖`jT@OK40X-M̧Ynx9~__??oM ZUl> pO6㸄vcGtA )IH啰J6\^ug׊|no v}6zsF6[ s+fMsf'm-tvUo=fe;_ԣ ӅE_]x+>h~?|olsE|>2،+# ֨|A-ϋbYPB=M}1Uc Cúskb|dL o+n",cp,>.XD܉hcgo#2#nF$NJ t$}W]¢Q [ÎX '!K|=+ω~(}4VGА =+7“P|+,<0=񓡇XxFOy`h7šVX`En,DV Cl@2FIŶs(J#0SvyJ/T3#H<)/ڊ.( :\$c+Zey%% a>JGuQ}Cg1OkoLIEw4%@T;,sp~*yZg|64dӡ^C{#2VN3ҠFsڹ60V夊7eIO\WV_Jb$"x@*MV{xɲ^v.ZKx80?xth^u2>3tvuLz~yhV+^1o#GzUfk:6E'95w ict  o~ }#:>&_J??<`8n]Qp_"Kc<,vpN=fd,m(<Hlb|fh^xC׾1sz~2Yc *؃GUcO ivd%$W}Oһ;?iUQB+[{@>Fo#kk=<18*1\u yz`k׍qO^,9TS=UO8EUA_w7xgLcW}+[}Cej0$z/_nѕm Y~u];)v}@;!N@<6V?jj߱?ҵj09eՔt:Oi f ߒP!R.2iQ:Sw֪ĽvF,NA(I\{xLN&sO1NiكY9<ِ;7 6maS-ۓg드+6('gA5c]oP-D& `0 AT9F*g>9BY$iNZ,#G'(ēWY> tI\JԊiQ־g?Ќ9w)<=y<Ь~I$Hx5z^V+/u+KOC0'n;@ߝUďR/*\x.V6GUXo3RԴXU Q%-fRB=[+d$`yIV'uԿ_ rbMV1#PF??^&M}309tQ|{p~lH&I|konW'j<~i|!t#6H}Z)pXU~S!;jOm|̽ǚ?[k}_e+GWN̎A OJ|;{EL%sGC|gDrdHEӕNZ{|CJL3%N 3QKiߙ69v䙫x+dWC g53_-{Z e3[Vx|rKY0$,L)QI>k|$k0JZviE+Foq7JAGf ֧* 崙YNQ*sVe/vOQZ]u/_>/Y}-tF4GyLmC12Q യ~6vĭcksMB)?.YVXBgAm~tox>HX䶚)MݜfɆT譌m*ˆRTYo5 唝muW*Ti>c9Tsr]kz'{c ?tӓ[Me5QwZY2HҤ6Ow~]3:7&>E i}~^)œ+2^.i_)1-6P1UB=;X6Vr!#Z300=F:ÎQՍv {aEJէek+qՔcJVJsl⾵C 푲%FrzPivKhLo"DGqձ(Wԧӵʘ($ W\Tju?E1&[w煮<;ķ2$~݌=GL֟Y6cqJe2vֺ}7>V6L{U63'o;s=qX*^-ѣRTEMNm4l7 fO4dω3dG$sՎ)n(%Ak}qEZT%)oT4:]i<0 FEC2K둞NoHP sHmMw;j3@srUݙ@.T0˵k Bvkpdq|mZ.5R]_sStefr6bM6K lC{)09RL[GQd+1 MYE[Ŝ$oOHQ؂D,Jg8$Ы gm>iN;qht(/hn'ZPʘ㏘_>>gW o;|(ƣifW?;oO2jZdc5ź$w_Zߍ;JK__Yjށvl5#RKm[JAm%żx ѺK DZ;5KmgH~> %;x6[][Eƫn缴 n1 z :5Ic5,R\vPO^*]YO68+!{WΕf初ӊZ~BUVKT|j$nKu SsANF;TR.5cBas gB mk;_*wdrï[6:fjkq 9{TBi{?+3okE,u@ ?kbev/@kZ\+V''lg>$lSRC H*oiI71<0+11XeyF)+w}{k֡ZCF>m.XPƼtzՏaT|3jW v=﹘}Eezu`3o EDm4cM9<=xt{$㝨?}zvم,v>bw徜_I#uVK MpuuwO"c֑G%77s#F{l2$yђ q_Z;"e1HAFy ZAhC׏,] $piά1RƧ4do}ktO]ԜS9hXœz"{æ)}QukTKǚAzr:界V'-Rhb``H߱{] FĿUN۔M$S|}=^Z5@l2F '~}+ɵK]RɼSƙ ~![v2mkz=SM[zgОMFXC{xN[u))#np^i*(UG-~z*X ~~-,cdn:fBUuU3T[&Ӯm:ѕyXX@>U#'M.F_9sX#[ŴyYP4tMb%%W^I1Iۧ܊VAVOGֹj;WaTTP G{Ӡ\e8 # HКrF#4.o$H,tm$ma~&@;twC= .S\#!YTsMyQ7QA&9%o_~ H3Swd?'wj6֣!o~/oxej70񞯩|J~"Aye˨|?Fĩaxѫ/ =6, σx@xoRoY]1Gy"ZnI-&%\Y+A> O|lVgic I h$bIi$`]ؒY$<+%r3 yGjW=:)N)B {? i7[ɨyrVh'Fg21H%5م.q)ë6\[ssq F$q铞IJ>^-׷sVy.0pƪd9\[ ],`9 ulazad?Κ/{M)[\iWsZ'hwyxoj>j2j%oAg 7ԶkEz{W#Aw5;6{=:2u:F wH/ȸ^?180N)66QFiѾ1tZ$Dy^(v|x4O" mjα_J]š6[D2U9 FbQsRqO5=hOin%p-FyJ<Ҥ)PK&}io~ ѯׅ4av^E/q6>$t'm|+xd_aiv[̖^pkG?cO ? ?iºmkk. k!5!`|Na6kr_ٳ_>3[^MMٮ͒ e!ܬ2Z7_/:nȎKX" Y rH+Ⱦ8^#4h_dMn 4@̪%7tOZx?u=ԚYT@S\@eD\=b!*m%6ZzwMzWOZ߾e{Zn#21D& Q| _(x|9f෈$K47zכ,v_1 k 捛oʣ|k:kn'mv^!L 0,%TǴ:^PgvFG*kpY,lž5g[oG`tqUg |7iK+XWF>f̚uf( <#`1pt-ߚ־&QxoÚtŖtYSc7 ȑD)jYjsW^$oh!ۈ9)$,q9wp>apT)y'{uDkhjԨHVoXN[^秙G?~+E`7(S 14K%1!DN Xީ1x$krTcoi@f]*ٷke׊t𷌼OL+Y;]-!9$'4m]N`m 2ccI9yх>e/ϛe_O*GaN;~˥/z_ >'Gυ#g |E ,cUGcЎA xw6mt;l_ |A ׀&mI\]0࿍| }nDw[K?a+X؈.Xw^Z~}|GnsTfY%Nl$4_tkun&;W-E"cKtUf>Ү⏎gW-ZBчʧsHʋ,8RpN jFϊ`5VtGI""GU·'έBm.#n: ձ-|E)01$AuLjl̚Eom?*ʚ/|y Hы[q: ,-Ѥ FRQ:Yi.Uٿuv ;d(@ rhky'=οs8~R9;=xwco,|8I`w\~:5+'y!hXcpgG`~<ӯcgYYH( vnҪrs94|=߮2/ @u8e9]/ ^2<8DR.pєV*?5 &Anz>q2K d!Aeڮ2>c錚 v1WSبgBf;M46Ydݵ{uWM\4 (~]K,g17cA9jifR޿oA߯N-XIՁϨ=ⴲ[FIu ;/ nq_S+B}4FrU WM;0=.KI+ yg̬,;o$̛FN=i8 iI&u70Ϊ-1AҠ yҸxK\3*i\fR3Ƭ u ($|O~ˠiͫ76VyMBy [Q?' .NkKD}{ycj8c"<~=kɼ7]/txvgNԢEYv=?k9bYF@n57[ ŭo7A|_mOkljgg=WkVP2m#Ybe*_.sj:6{5ޟ8m3E*'9,Rqڿ>]֗Z|9]jZm;gw2bFze@1)UrR?nHG9o–{fc 1'x_= _|9sesg}\EI$i+,rUP0v@9$F森(ZYt-w`b+ 8|3?;\{˥+\&2VF|M? *ڗOIlzJVGgiފ=Zu=p{^k/=M,ft;:֔ѝ$jK"^dE£WtK_H# i7xRMO> FGH4$9 2EgtO [ī 0l6m 2rnӋ?T֒MJ-Ŧi剕z_V7c*^sQz?ZබS>rP nN+xdp÷ʊTA'͋p>8(g8jc>[h1<x} 95xSk%K\pKeq=lcYOFS[Tk]!GNO1svSԘ-|X3 ̓IEPl7M LG9OmOySQu瀹'5V䝿u]A'?yEjɤiQȷsE\'mQ 1s8ӧ ^mptarRH=8}_K3<\BGV>A5]B+#X.Ř6秩'j:=gciDcׂ}Gս\Gi6ٕ9O%\7/dW~21۽.n$=RF;gz\O{kg m '+f w×0M-9H sԜg)TL#R߁틉Tԭdm(5xbq_w)>N/V0>lEqƿMO Z CjZA!H7 ZtG\Lf;F1ȇX~Õaadܗg~I%pN.ޭ=ʍ+|#xi7hmaeq#r;Wou_ 浽GTq>OYѲ:O^}s_hNtkGTuƮRZIѦMt]z ᎸoP_IUߌΟYDz ]եo@ҵoˬͼ a$rFN4֠>C(!cjz>ۯ_'o# \\4sl/AM(7(JO?i׮49Vm|DrHr[$nahYYFcs_s-C,(p=YO}[D-KYbӂ[ʬYi<kzT7(߫9452ҳǼhZާs0O=^z{^C n*@lcuCǫC%fWXdIoFv35iFkI Gʻu>ڵQ ZO4,g+'syk+[.`>_#a-Ã\ד/ſےB7Øm`-ڲo~cywjD}sX%5cӪ3>vV?A,ds:~N¾Vc|cPM.XiZgbZ$ٚ~?]|Ir5 .6K&+6rj,zjgP;<y]BY^';pMw)9R&WRտ [)Ƭ=ok9 U>O#Lbğ K42G@N(oc01\7(G?gS<~L xs]Qⷘ( \6F:}/xڗ<ev7I 8@~5($<93^;]xkû/8aVXԕ5_h 1kۥjSsOc١=gg4Xm^B\4&3$D7ʑ{63ǭ|t5P:уi[ߺs`%g8>_W`|$ޤCal {i9b>Ce<(a6넉?¿?xS=Kg.'bR[-̘?Q0|V?|SQ/Q-{'lsy`!R#reَm*wPNڔJS[-ayxt)ʆ 'k}t+KRe[D."\}s?4\'rnN;|ybx" :[}uI..#c O831Uw :ޤOۻI÷z4Jk:Lomϔo&G[Dz rǗeU)Riy=>_й}.XrL daFqq\\$pD\,~A|6_h<fe^9Rtf%BerQ k-[2/mXO €$9k8j7=zFkWen-o{[c&oɽ&Tڠ1douAng^s eʹ A ].W"k9ٶ/`ӕU4F)F@2kn݀x*(xr7e}}i'-;q^8"N_R[M 4$6`XwnʽuܫCxa`Err3"5t-2`6UDUz£Sufʍ%q[҄w"ʤhԑ ZɴYFS%*̘4O>˱) jL7A}rZnc{gae$6w)vqR?8鎹}pNl'mҤT=؞5ťˆl*GuB9Ljz:wFb0pFA氵ѧ2\)Rn;v5zAadVrCc:4A nt.cmӜsU;[ <%ب;(+{]y;օ]Y2\C冕%#~QF"*0$`0ҽ̏9#YVV?`ٗS7M 8~Xٻg7_j)xQsUV+t6QZKik+D:?w/OW# ۋwzJ9C6:LBe87%k+/75"XMOqmiӥ"oK!:FVHdl'?_ٓN/jk5>0.d_դ7wαĬHDXaQB/.yx*kI/ZQt ϧ}[ƪQ=iV ~+/4++OҾ Y}"5a ¼zzBnV(p--y(v7WTN=[sxcV79)/UPY:3c*c"Q~;_DuaJ%/  vj+ľ]x{UAĖ1J鵳Wc(JZhmtͧ+,g Y[W*2K*y拣YKBo-^1%(dwvmrj 1Rqn RHբ?$AZX^2Y+M)舥;W>1_>[WW_[֦ҼA54826O*iC♚&0RVG%붦] +:b<i_5ǍEֽ ZjE廦r|_m3N%,=r:Rɀ1 6|+ھg_ >W=]i:}0HYgf;Dԫpr63J^|4Lohn&j=ͼq((Y;^nj~vF@\ V/I܁ENĒ͜z{&M/&xu~2}a2M11ܶr[1U1\۩qTuh h5Yݶ$\\B?ms?|q"ioowW#1n%?3+~jڶߵva3\.#iqn, >e/e״2-*# Aϧ8֬$]QZD|G=[amq14ח6vWp%QOchrr ̃n!j?uMn@u? ^6lU.^H&yDrл,A-ZX>41Zxm4^{T x+,'kߎ_χ/KWV :u͕0jrC**uMϜn?_ x"U1Agzth 2TpA)᱀~0w>"8񅥐3OkZG Gy{[R@R[eb;p g<C|1VtƘYh,4nҼ,`P qpmql~XwCD|o$Gc\=֩^l̋9%pS~=/߳· Kk9ش*2"*rIVb+T%Ju6J5}7E&iXNatE]ruGr8X"9uKƳeTY-MsG,1 998uK\AYV9n/dfe$[H'|;XݒG_70h̑imu7XZ5J,_ ;/КJ_XQJM.ng|77[,i|)܂R0 3Co$^ UPyh 6H.I$2Ez׆|[F٭o q:W|Bi ZHŽ0١Q!MJ1/w7.[=5oe|#Z8 .et6mMkNF!xq߽|#凌eÞ o.|Gta Óe>4j4v* $#$JҫqsvNʧE 0z1+0Q.J;H/Y;7o+?SӭH8Xۻ"S]7_5Hl4?0?QT>gSQS:Eh隽y2m 8p{۴;h^F >i[((w TL䧁Ӽ>/=hZ'.lQI}]XkS@ek^2 -"I$-8dE%-.0}P;M#?K kB ;Gp`^^Bzo?TҍVky>gK-<95}[7fͧǃ>5[wIiALfd Qp٤o:o w,V^_ϪA>T7Dݘ`~dc^g_{Kai irNRD%9\܍!i $Ort%K+)o27Vϖ@?6Ӑ+,Jo{t['[v _ c InFd࢓mj 'vxĉ 173Gv#$X *+Cψiz[[#F6ĸߙYN~qns[I,>2l(W~xkCrb@kIfoL{ÿ~85fKy ]\}3`GOsq׭Z{x/='jҲ*5;xq ԟSMHa2E?P:4ڎ> ??&ܛ28e+yY\+% G\XI=ݴڢ \.Sx|t6Gdd2)8nlZ_C.pE|(dR+5(B7^[Q,ej߾g~5|q'->w|涝eX`ͤ~;ǹx,>*~ֿt/Mɩ].u 4D4{Pk/m?Jo oPj2XHmU\JM!^ E5)-n-0K4iW*cP?18cֿqYm8ҧix$mm}^UN O/^CL~Ӗ(Voٰc;Xt- pzT?ljdx֘a~<+%<$ז9=֍{<&i%xöv͘ pq'$<3;y3@b ePńts1ۀ?xH%z5y悦%~]O~)Ox+j66:zr\F"xD0m(aQ6Y@|?į6E||h۷J|k+>P]Q( Y]f Io h c\k [EhP}E~9k(Fӓ5xyJM{dwc%V0øȵzny5 xY#*[gidjKTW7Ǡ1iKmCyƻNͧ95b-Nc m' Jﬤ[5>Du;rObx{xch ~Pd;j7r}i ?eʐIV =+Zm&t?3t>CwSjqʌ@b2^yyW˞nTRA;#'dQ*K8"s}G͹aʶr2r I#PE_& p IymԷBj귫pgBtQ F̘u> VGu&M#bsEVd*$,y9A*&EHAb¬aW@:~7/cc(>b#!FG5욍̺Fm"TC9C+q\BJFHM8FLB0~M???AG%xHD-fݧ p>QךH~_I]FW[FFUǹEX-?ࠟ eFҵ+ջEiEoB\YQr8H26IgS֣t=j+&ٮmgLo's#pJ񑟫qT%jӣKCqIcJ ^iUhĶM̶7'UFku=L(scj8TϦ ojig+-FDԬ.2i InT+- Q>Rh/4mY]$ֲ\CV9BNGV8koy>>c:F7Aʚ~ge{zjtz4֢VG }}?gw_&q9~i|>hg:U/k{ _?a]գi4(v_W}189P zy|)y]ZI'#k堔s{+{JG:5lK̉hʖxCTvTd#@KzGZ,>%x_Ams>ݥ!j}ے?9fQù.~'9 ?v+sizh4*HUR2͵@&_GHZ[<"a)pA7OAdžR̓ypU[TGf^Z0;ޕɱvRW=u+sTI7 Y[սGw/y+ iך/0$z5Ζ^LR(  +|oz_b!2;^늷g_: 1$r'˳뜂?J9Rr t'YZY̭ڻ%k}Ǚx3kw+7~ZlXм?wZKzȑ^5 I#=TVVhĪ #"n=Ws!x[%$WMyO xv\nnb5kmI2PFE~^N/ k_#onoz~Go$Qv.F1}./O욿 g/b2nTgh >!ӄlvϪѩ&~xڿfc1FO5_ & ffs;L|'_ı|{~!ִɴ/鷚V6n޽wqke )R[:O/؛Q*[gu%a78ɩN?xҠVU~# cII7*r輏AO9_~?>.~"ɥ~ҵ{T/r~,b$wD,}?iۋ]cwgOKlGœC}-<"vYNUq[6|F?_~'i?﴿Gӯn#K= '6if;$$pp3_~Mw<0e|L◛?^Optj5I<`Jw1;Q_))Zv[~=OĪ9.tUC O,>PKWk?f Vql g\Lú?hw? 1-15(8mmW/k/xĂRRJd~NbT):T*E9>;/܋qSoZ^6u@ea8d?4Q>q^,G1PG}M\~0Kf^ڹ3RIŹs|t9dRSO'%JH^QnK#'|\[qiBzq^*{u]:8Is Öz֗5dTqcXL$p[1[ *'պzUOԞk=1B̪ SP{d ~5JAR8 cXmuHr nČ=ٳz_RMY.*DВ \:#O%â$d *};ף"o-oBF~sj-ӿSΔ=XYգQ$9ZVY>A('$Je=sW4a $+ǭ͸ᙲ$`fKdDI1%9~u2&tjI$[,ltR+2)Fiʳʗp1EÞ=46zd6z' )7`+-9$>Ǭl/[,/ٮ/]OFk)xUxqdrl5{$sj KwHCa> G*i$Nᑈa/_KH5io!<3\x~%l3>colXQWҾlxNъ贈XI@1B6pHg*L`g Kx1߅ ~w}o/?n&?2y:_{3#kD_4K?[MI4eF 09٤i@:~TWhSVW_.amxF =&3$v_81ܣG_K5~rj,~!ք$ԦSVF5{ך$ fT_}[EN:Y^9y8\rO HǼy*ʖ* WSY"+ڤB/4;_')K w6?D "J,&aZ58:<7?~:umsZ־(o43nY-t͋hXo*pēet/a)$xlca7 D]2_`WӾ G}bp|cjQ%|l¿6tcE-٬ҎF킭^]|+;ռ)6yx3sLo&m8=XI .$ǵ|T'J+GG͑ҾC3c :_lnPltDLU'rZ@u,?ǐ8~T_|Gܺ&N֢LH2I;D %x s5>xnQL.x,y%JYi |3/i^ɚ"]$[dgJFQo.S{%URJGjwLLDAl70NJ!NiF⟉&?4MO^Z2h{#tIGX8D ۇ𷎟]ֵ_WO$m]n\4GU6>30h5u&ws=A>"2جLaxӿ՟O.myk}m#:j-吼3^FyƑGD(S+nҡ{_&o*?&3tV]k ~iW=ޯj-̬٦FH߼4zS85/ÉE-- 뭔fFi6a|}K^γ^KsUծ)A' .mه@Op ^rvܚ&Z ΨLrv Ҥ m h$^-ݯet'{;XVTQͽJ4 8FBo:3G]/<;o\J91H>?|9ۗ,"$pyU\?鑈c(v @QO4<+^֭a<:no-vV5{(ǧGKx585K=i|F]Oo RAFx |+,Mm--mpB#%Ddaie`c7¾ׁX<3"ac@rYij1I_U<ξE֩y5"ݝ ὆>4an1wH@|˂:|Ai3˥VGFO6"qa|e5,vj0Rdk+xSA]$zLQT9[ؼ7я+ӧrٽ熯~SW8|ךG,I z@$ ݇e?~H%gaa$fWI>O^q+3>^WQUNW-}oUL<E/_;Q_-ύ[QHAY1|Ҟs_A*kˑk~:yk2<S*6>ۯ72^s*TۻFHEWrϓ*}`6[8#$`sT^)XW9z*Ω 6 *ɞB9犩]]`3g]u#*7u[,l5ɴ92dop+o?W|cSfّZG(84+ٶh k Y9Be4yp3ֿ4i}kᮝ ^54Үhab4mHJ0-U)7q5#Ǻo|cxo/ipȸ(YӢZIx%>-~I.Թf18&4җXR=(Mۣܯ\t3XKc &IvlO Œ'|Ag21Vd o+l#-~:YvmH%% aOŘF-\Q/ Z'ŏ6ꉨ}g8K ;|hcRf;2ε5ׇ,繂+wtN* %h>Ѹm:0&2ŗ!˜0@Wv8nk7:=7hv xm 6*<ܜ+k#nmUΟY$0A`&B52ni7mrn8_xgWƽ }%ՅgR* \Rs_? >X5cxl.^igCnfYUJ«yu-2FlҭגtMH#TpB =QA`r&߮v\+z-ZEׇV[%Ȓ%L <|# 2UxC0j HE!p^\m8~a|񕞙 QѼg$2.y;|C(T^OSֳ=ST9Yi(MO421Q{65#5U#jU`ԧRQudNֺϝVT}?GQߊ( ZM&d lo1H)&?W{^}d5ϕpp3Gl?=c!zٿBhڶOqoṧsě(;RVUϕp?S? ؼ6PEx]ZƐH c(݃\R˰8UP5D]4MBitoMŞ+Ey]#L1>+?|a"xV+Ieh%>0|ZD4 H[V2I+MGi1z#\+h{7<9m{N|A^ⲵ2ur-I$ }) o2+Յ[+o[O,8"q5!*J3gTovSq>nxWjI+ZYzMYUq5osދzYk׽VJƺ ~<񦶑^:29R9#KL?.QZJ&\ :gE~ iuig-LO]e=IªDWzumJ) @JuciJ%fv.~=GoxkeoqapY_"spTr1ŤKu!* U^19MixݝT߸GosF/!Vdl~5ioٲ9ɮ;|eX'`V.-f^ VFEv#M51ZZ`Z= p_dh1aEck~m!&do7=}OZ.49޲e|b{W!K+gUe%cQZG?sjv+!%Xgk7v$VGhr*XZ9.hfNф>OɠVԵFK$&<\:LWXD|!'![͐jD yQEFKqQϭp7zм\so*;FOLڀ?A b'YReӮ Fe0**P13!_'4?@f._{{Tgl;d ||lk4VE>)@x^X績Ppvw#M.#i+&VFFe`Tzo~~V6^3pR27R5,ٚh-9xY  hT:x7I꼬kwcqǪiY}/z;RKl"t39٧p̒wnvl37F~"|-B v6r˩M$C A$bcTXcwo4ZeO{`|@'oݾ9 _pGr)sH+'V_M*Tcr{qVΖ}˛5UJ?-?ϕoGn}v_ῥW [ɺ6yAgvpm ~M̊|Ljr+A9dݟ3>4CDy[ўo,9bI|h5tx~EHᲽAEwFNI@Jڭ΍DX=nJႱ+9I&)BV=y9x|>oτ DдvOQ陱cP kiHT ,ql3oIYrD @??^Yl^_d.D?|K>+g&gX@.0k{B| N?VwU{ė0H2;4:s^+8F#_f:չW6QxMGZ&CC5$ͫSZ9#H#Wcȯ /IK+Kh"EU 3|3p"Uۗ7c!-ì YζD'qH )?gڬ^X^Z[=h̋ۏ`>4\6 6b} REnx^&G8N8rdgnnxwo'/Ax=xOH<.]dSv<2d~슮=@5e~Ͼ/ڧ5f2gu/rVqUc\+? ~*~-<iҵ{2V9r$73 ~  ?~V$$;)f$+r?Ӕ!%- Ui*xm,W߰/Vu to*\X쵘9TY6j|_tiXxSv{XHyn5>;|b/Qxm1A-C.PJ/ 8|g߅lOocr~1-U^_k{Wmܹ1ѭjŴ=mϧz x?(}D8ǔUc1y. t\g+ sׯ}.e{Qм_i0*\I!&wcа##^pXIߡ3Lvm~mݿ g犻$ОI!6Y'AN~[a8svKwS~6E=mj[ 11@\.sڗ_ӥDVyFlS[yo,-SȤ., `g^cm3_m=iHN>9c5Eק)l9;Y%-$D:ž\}&Vø֪IM (QO`i.ng6IlCNI%f{A\,6/_饎.iK3 7@>^.In~wH05ME!Fddq$rZzg"kܣ$/~G^Y+GcuX?%m퐑}fא̭n\0U$cVPYmc96o=ۿnxgkrkL>Saor;cڼU~z^jWN\lގmQA+jHJ*:UiY"FRd˵zWͬP\0Ac_yJ)OQ,ڧ[ı1 N~ԬnV`8}ؕV ;0:5m#ʰcHUFqndp@cnwƻlѳחdoZTEu&r2}|O-kM==['cy! [6@eIh*~ѿ [HV{O,hLH~ k~%UG!CggfK-:ݘKI+Kq$'^/,4K9ȉuVEŕ!e $єxdW?FϘt`W<O%#j./-Qam}\E>gڹ ;BluDQ$'F}k\5q|ܣ?&v/SUu$c~{d: - +JM^B>lftJb  *dW]Rk? ܪoۿ{3N幅ԇ[|~nI|-֛|S xZs=~OeI$a$>sL//kseo{%ֱ[% FAP }} r(E[P:Nԭ m!лA*E]T68|+<~'d7M/U?,2t·:?W?.UBM}ohvum[,Q5$Pn`wBC>`??x9o&ȭhnXŗhUr69?W?LzErDPQ_t֎NKYl v{k蠖QhKX ]ݷy%b sUZu\Ch&xŔo<6-y'˹X$aa*˶B6}Y;]?_ l(ka s$$qGzP Hn.%rn ‡_%`6G,Uo,yg-K+b*0*d(E:+(*rH ǕX*/?v>2;'5-'HuRޟob:\͒s]Ӵ[X&􋨼En/ ߇T tuEi(XϵA[hl湺IbhV&-e\F*O|/q_}d2y1F`$fY"Tdmd(}s0x[Zo!kwYE#LoIPQm ~0M]I z=}Žmf"&9/wM #ĨvWGcQ$;;TNju`Կխc4a+ C ,g{:a I8:)zicS[7,ZFus(CkY7M5#K~$޴:ſ+X-YXT(W|{㮅3˭}Ey,o4H ϹFpN8p3_ͥ\2, +e8Po$ipXe$*yit# rQUpx^N.?In~ Z2RfOž5h0ZZiLjB$fZ)yՎ; SdYBKQqw#a$us|#KmCH]9V9e},.ăK Ѽh{mm仾ݾt_և>]:nMƒ=n: ^X8q‚ܲz*/FÈ4>Bb9 vc fcP:[W:0t꣹.gtr֝@T&$a&ÓSێI$Ei"udR 9ܽŵ-k- `F:Һ(t9oZsFH~MNTM.2eW׾D],o${)N-pr?<<) :qͳSǶ7.i8I-cyĈL{Jcy_5q>㴚TY YWz/×Q_ǖH̨O-drl9vyM+W#6wֶ8HcX% QE" tK $U}BCoP]BN3)XuFmY@puMj  q$Ebp p>o:z{Uݱ3{/Ft=nh4[B< ,b[Hq+tՕ[m8=T edTnD` U] ~\̷M,+pʣ8sƳI %K{U];Od1o%xTDvg?)3[኿\BOst^=f3"[S&#b< pX{hi\4˹%#1pl`nWfl$$H$aws#  Pk綷2Kpqԍ!qXRPorZnNZD}|W^m}M&R$+*RHA\pB{M:|(\-.tV;$ 4+?X[UwmZV=[]9K{`iݒ0r()/ A=ޓukBi)lgtnޑH\ykrۉjj5Sqnfڽuʛ;Wy\c=w>VW֙6ek;ķRFd/ž>Zuص9A/B3n<Z ~^5|Hj miWhmXn,m#*̸'3kVXwMYVJd,mB5𲄝ܢTn4^7DIF_>=Mj1MbtHM$KyQcC2g' m!62^>GjFn/GfyY&'XQmYb wɖA0mM EsFKU\7 Dμ:bpyA -w| i:Uk0þ8>,nɍ 5)sm;5Q4-lռ9Y6sM"?o Ǡ^Cq߬2{k L't<;Ehhɜ%/ ۿvxԾۦB֍g}tL.BftZ]ܿvwtu[6[V$Ui H}df*RSb҄b"r>\ۮcʬ;_&|M|/'`5{MlZF%K(9o}xrajXK'$_Mt>Ztg:TޏUh?<5uCskm65L%!U+4h/E&HУsz?nz/[4]E CTf~F\95!ڴP@0Xi` \'k^x֫:1Rm[]#ԥK/u~֧q &TXSO+V Bq1ⲭ&+vTTcA?t8VݭӐql`JRM4SӴ;;)~4IP} 8A8I?CwhvyLLco:#2GrXWW¯m$!)f;q{Vay<,W80O?J#X/#c;"I8u<1Fަ [yxY*d0qK/ٔN2(l|#d:OlWMC Q#lukX+64]O=%m!+L͔g6|M ܕ>m_?Siey\qVqr-NY8Ũ]okor'9Ey0HGT}zLWOj6$XQ@?qZ7|- XkEն^kZ$h$RUҽsPu nL0`=@=Aꔞ# m.y$j0r=wVm H7\<(fA +_בׅK5Vndc kBI}Lo4>d*/^N?@Yx#Ǎi,K'HdhKor-T"F2Ɏ7]U#X*d_o䒵^O+:7:xl;rJZ~LTz:{_xi{} ]ZJ5pcS4l<@ „Tki $:2 }NۍHD]q^7O?6Y."X$*"v/7QN>| jow F ~;MGSyeyx[p7?g">ʛX?sk j֯ϧxclJ֕w ^0 r]?}O"s\ޯ% |])goLwyc߃IjKV-|s:r:9 Ct?ݥĬZ+W9׃V.n1"m͵FN5)_D~ux3I>*,!ivN9ЉP\EX!E/׼_cJ]A>?5{xxl $yY 8p#'P#~A~<]5I~'xľ1ךuNδI,tv#xWRe_ٟ^JռOx-; 6jZY,*,ByQYus*¯k-mŦe]y+CWo4RMpQEjmq|HFVS$?i`ό |Ej&_e !.C"d;oUB6kx$mdž㸟QqghKaʟFXuuï͸S?e#|@uMж}ҮgB84 Kӵe 1@y ,k*F^HPW\oկ4cpbOVps۝i(~J}/s䐌 [d#|3#l Y?t7\qVcA_۬j`r7`w55F[0!H!LmțxP^|YS%$㵟wg{RKZ:S62xz,jWf6$(6?1ׁZS_Iam-܆5+$H]$($)={>U*kl>g{5 [P;Cr]N~oSoKЙ?F|z׿ |=5ƙ}ʊhHܑ8eY G;?汢xC&c~դPd6cʷ9?8F6;`K@Ӽ5ᨡ)"QJiq-\>c8eSGOZqOgB{={/3v-A!ؼ+MLf ^ B(/'}:)`EٸT{_'ĝ ䷺ lx)3{-Ǟ#\*hOfS+8oVNd'q uڣjit%|np1Ubx(q]mwG+iI<]?j8+q˛AYcՐ% "7$Y\Ca=k/hOHf 4kHǛSr8eq;]m_;{܁b3pƾFM&Y8EےzNHq_Y̡W*&tטܪF\Z_ևZ4 4.yˆ*!km獎#Al8ҵ O[3P_( =$aaW o{qdI,R@ d~{k h;Tr1_h=LIyMlvTz,{Z.$&FJ7 Yzأ70Bٶunm׉'WK&Fs=mw>.&Zyr->Y>E u`Fc 9?{_xJXoj~Fk~t4kD!tmW_B?JaTb?K1CM8_Ì_?}O_ߍ`yO^nt5qv!ཊQ~M> x՟YϩmGJK-ޟ o\E M9L1Kf?tɘ~"{(|TO߅4^ֺ tVv VTVfVPI -]||V$1c <ء! H-E5g:ςK免4-C\H=W|LO^/ILӰHmAydGX5i%Y+;K?i7ùtχCtS760b[1`.V khrb_<%0xMSZԾ xHy& lƶlS&[VݣymqV6@Yg`uf!T~ t/D->.4jٞKn&&qx">7>vfqU\:$ Tpzc5<#_zZrVv1UtHo,>ݿsc[QSxÇ_ǀ'y{nO/YKJ #G]B)F^sd!|Sƞ)uZꚕ<7mK[K{eh^kw#$kj]W\R>Gl1Ʊ7`Ě;Cc.iw^kwKvJMTXfu+oM{燾#.4 J oY^i0b6Ƞ1ʅ1N+GQi;5#ʒfppu{{ij|g>j^y^kiZd+/8R{Ͻq~+_yzu1yq#h%V`$R"8S S4xGePTLrUz ;UO'z0nQRd){)Gƞaѵ{ZΖ1[tQ҈GEՙF+K-Oý:kU+9!o$P oۻwl|A gӵV MFùTye< &:睷 }z}J>%o>&loo-9akNlD9\( 1_Yx7M(+ VPԂϯ5W \^]F/l]zR@y\.RF*i z-Ye3xs ;j(2Β#glєSH*AkբB Lj6KmB$!壅sT%7.tOv77Q4QIqY"t?7px{twdB"n,-/|la1*UEm"* fsc(=^TF|!6'%;PW~о.o^VP[ʿCr3*Y %0͓׏khw6Bk[_Dt{ʖ=?)mMC J?k+Malg|0GC iXDe%y'+_zh t$\d ho^k;#u]^vuIn\Z?#=OW#5iIIcVY'{ m[Kk~XDndDP~BYU -4Xo,w/d<,8 qcVSJn> ]z_zV-/F<@cI${LrW;#}WT:mmB6kYF"Veêǘ''F^ KçnAÃ]dhq*d<<|è?ztޜag8ڵs8F!uY$A ]Q"_qh3ɯ,B9B:uƱ״`t)oB'z21:<.5C_7EiA=ܜ_Ӗ(J2\vKDoɞf'F{~'g3pQ2lw,J/4g.S?(j_BVUAtw#$ꏙNVTm[Z!Pa#L^O1_)R>9O_.Yu`8+pU[U-&tkݾvs1uS~^o%I\nHGfT?3^f eEh{>M2EB^my֚MZmlڣsז|QlQ1=}"?> 'A{p·0A2ROO&Ҍr# !e9UIRa2 xi~X'{è4/1'_Ulmdo.y?۰juku((>:mPVEVdUO{ˢDqASK,PFe(X~fkZgnSJbnYjVڭZA.DL#pĀntnkjMظEvݜAjV;?C]_xLS<($FvKq۰5]m[h U;FO\;nƧKdmLX`{Hsoc<<4hK@K Ŋ`~oM0h>3QA \o84.)9TP ]JO3N6ֶ'yn|ñj:}=_Leg +R1yFW8#%=> _maǕo?hHe'6=2H^.beI-xI$b7;IO*ʽz +%Fiw00ѽ۫f|~_J>9" P$?b2DN y}Ԝ{׬vw `g1Ws > |O>-|*¾&ht[-Z'RVe-=*c+5Q#Y`*cN(MiweE7.[%5ӖzOQ ?tφ4iax-fHKtȡs,FY +/x,JRլ{nq4^;Vy\۟(12duO(Lه@<[6[ijn^`li>~#̊1 |ut?kK=GU7&U$e=) 1y"0I;bx9n]<=ʤjrNOrɸۗCߡTkT_;_?'gAde' B{{h,CFࠖ~$g4 D"d]E/l# ˈ;1TY>x_}#Vиcgmsi\^omKt5͸{]Iܡ߳{<nJQTWYiapF<ֵ;hȸO3\_&r?챓F/&_D_%r'Qoc#nQԭ| ݴ)rb8qK=k75w3p Ez/o.,FWe-!dD%F8`qW4OˮmZ<:Ed'ܤ ;Os) pxI q[v׭ԳILjw ,Ǡ5|)/}9-J&16Х<Ɛ\v׉AFQi<[vQ`a~5$0bekĻ)hU݋ DTs?+WoNRD] @qMF}="`o1F<ՔyϭuXgicXbFXAH/M-NHf@N\Iӭ-s1׶A,Z$>\KP[k`vH /1}uѼC>$xb{hڕ%ܥ!+yBJFa HEm~.Sti WvnD` Xܙ%Hax;x3Tt|5ryvW$HbXnV"I  Ev,Z׍/lhPG٠*-9{7]$VܯUOϱT3 V%J-;vK)>ֻz#_i{J*hU !iu5w@5:Kxew%03qNt]ϦZ|.aU>QܹSNY_cS`O+?>&<<nt[k wW g?n].4O?UP%O&(\_Ǐ//wI5:vڼZ۵֌-NIVv猁^o{j/,%Nr3C+ct 5x|7{/ӶǙŘЩGr n߻yE'-,߽|B~|q񪵿ONŮ,<'k&gFO=F;dpI >.GҭXrX9Y]2}Զ^$mm Ֆ/w_?P:qӲIo5a"8Ѕ$p3׊eaNͿ(#'[ӁڶE&p$˲/R T7LJr v*t޺/ej붿DڅwêGJyõvy51BR׉TJ1I%em3(һ[΋N6aڹaRRH#aȮIԴN61mB -ׂA<N~䣯5?|c6iiO2+`BmWv8xj󋴞J u?M4u1I py^s?ᦥg֤f&]2K!aL$GGxi۫O8#yCEd?瑤DH3߃ > ~_ljOO}G:.ټM&&:Ndc%,JFE̚Oנ\cx{|7i:֭/xZ-ickewIj K=EHw.ٌe!:W /Y-ƙ#+ï5\(9)6D~IKL^_٩3ks(1m,(qϞT̢~˩xWG6>fceP' t>m-xX$5Gusi:4Ze͋mD=ܦ8ϵ g992Wџ ~>;7xšS;N;ePC;(idv=k?;P<մ>t8 d'3'~_^7qj{C K~):w{%_i4)?uJp\yTkO&=G\ײG`Qbo_|JM= D^k{+o3%ەrIaSih8&w>a`yl2cf:y~59|*Yimp,422H!v˰냊xDBb C'tG4iךėy-Ǜ -*ҿmɳ 8zY}l[fKM׈;5ŕ ^)ӚOtn4菦m Oң,F\Tc2:7¾x|S%ͷڮXUNc#=ik9[\d KcIb4SI#խkk/9ʹ!֌ebC8x|Ҭ/p//szR*Zg<<~C9[. $ᕶ % t>6d?fG8FoO"B,GL{Von a]F[UC4{6 n^7T'r2 Rx rĩ HβwJ#Wi6.u)y7u5\4oD"wXNpr{Ԋ^JE`xVtڎumVe f+jx  Y`{E:E!V s];NV.1Wbƃj;C#qd ae}jFvC0V Qza=nm/OMv\g-UmF!#.;tm=NP[>{[dw>#L;]@S2*ߍ~!|?YyyS^ޑb$NH[鿴ď+km][V[{8 Z1)+9V ŤO̿<" n_*Կuéɣj76ukv`\I?, ,O:&2)7$@2x@,?c[~2uKu?MspIyU>?jؓ1kG]>!679N5m^[ycHRޒ$x2:o=a_s:鶑^6մx.ziWiow~Qx̞6C ,4 XK-[]9 )%ޟ<"t{u1ZUI I/ '-1|P]揤izۉ[wWG}$p?Vhɑ~f_ :(][K~5ti{Yfɡ٢!P`7+ _>G/o,Q,*|&hn* 8>'>*j?e GTi#N}FMFZ(l[k|g$?d(}WǗ%>$vŗgSb!9`@Vy坷~ۙe[Ke€UH88 ,5Ts~g>< ϚwymxVamax;0umV0\L^Gtۿ2c8uKms/^Qh"Jǝsc`V uiZ6i"ed jSvnN2 鯵kk=2m$K chʴyyjRh=IQm!u+.\3ym"1q1xxJ {}J-c+Wc%~UZ^DSśqf?w#p:[\WM jY{VL%LAW Ǹ| Xr#0P,JZ}֫uv { RK)pLadiۧ,ǚ~o3,'ju+뵏N+p ==Zu+ʭOgZr|CEzNwMb-cD8ĎSS֯l5ٚn+kmϕlR1r/` k> 6>c]- ietc+(bIq|1Sn &+mg\y NRC++1RgVUpJgw"4([VY0lT`]x=36񝆯+K{8r+ T6'3ZĿ"^քe2 7?@睏^\vKhKa1yn}I̊qRI54=]/.xR1"sF@[c8JK:xϵGRgR˂aDZx!|=k7a9V_!C2)oc$0JV*7 z/*e8rVLWaFխ~Z\#*pLd5I4IwѨKn. 5tji[W++,#aYqDwG'ַ㋅ ox԰e+͹B m ~lr~uO .%Є|2Ze~gz{w rx:w{wυ}ᯈ?oF]A`34p4n7y xWhV_jQZ&he'HV2y=}x-Z+/hTS0l{ײtI{FyX ccK/<xúW[XasY5*Ho>g3Ikh5˱Q B|=xP; վ]ǪiPIB>8L-⸿xCz4-܎sWk_ɿ*T}|ztgU-/mS)W0]EQXOt`z=EkGy{ܢFު AI=5ŷ0 ʽq}ALRB'dsӎFG5 aau/ k(ɫǫi^=UNWOt]~WE󢴽܁+8L($Nݤ2}Zeʄ>k:mĒ Cvh*ö>U*5=}vbd2u`pZUg((A5i;vtfTkV2VXih֮Z:}\ ƌ/n ORxѫMv=*>pnrٮ[hVmЫNDiG1ܧ4_<](SA\,+VnZ]˻Њ4ݒվȩ[ZI`<: : iG9XW6#&iH@ e\4=<mssmQ!̌Q8T!B ̋p$cL11[Zu{'~ӫU*kݎ׷_]Rwse] dz:e\@לܵ3*1&xǘ@(7cz/(o&xѳóOjhn. o [Ao}MJ-Bj5oCF%d_yy60ZQ %؅pp%A@7ОbUU!pxN*ăk{sdr9sKxAP@}M~F-qelJ ~Up1#v8?g )0Xyd1c$uW 49SӿpsѨ;vgK Qrι7Tr~X7uIХI?Kwu:FqI5ת!ͽWwm+stR(2aފNLkrͪډ=Kj~d>ޟQTiS69 [U{GuI ZhFi]B&\J<ɗvcdqC|ǎf1 Gג^|"_~"]hƑ$v_a`$1ܶ8bwo8 V^Hʴk .3%dΤ\*ѽqپKUSШv^יk#P8m#_t _xKJO: cMrײ;4E+dr>l~2xRޛuMj+]>;-JqwY !s+I7Ǿ"_ӤK.aEtīsar<ɺ$Jb3c- KмLxFW#"]g4ue򛘂f3RXed+F--$_hRMq.T]n>d Fekk쑺Oi3$^V:{fM2Ėc.x _o]NFɷf[:RjHN}|u 7Ꮖ帛N3_ɚ!*MvB5. js'tZ{6ιf|^-'_z nϕv֩z-:/'{tKOjqW5__1ω|𜺋AgX&OT#hJa@J.Knj#|<},>YOViyx 洌w!%8 qtZT\ڗwϴZI'qIG}>d?ez楢]E&޿eeډNnP'Hk3Ʋ_"٬QD9a rJk8> T_⯉Cgt7]T4ֆ[[ `dRI,-mS \^؟۩G6I<`)b9䎇ڿ8w*О R-捒w1Jq|WTKK`ߠlc}."!\n$7?/o:[-aMT.AK1Њgu ϧú rrI&GcSǧAz#pc/풻ꣽZ/p& jwsr>jMCJ4T*HD1.2&r+Mj[eRTmar jb]vBs;VSO]12I#:)%0I$ m椊TԮtT!Qߍy\fbl.cXs7= Ƌ4|O?OWʻ I ϥ\ԭ5dkrv;2erX'"Qooq;3G"`pW]ͩ'thtK$ GI: ,-GV+mB`ϯ5{TU1yuw-&NUv(]XQ%r0{Nk]ޯoj$ 7rX kK"Q}haAu8lXmFMaǪ$SF1|)rqֺyi1k;Z-$EGF n]\ןD6w(6P1q'k_tO4)G7h"WCRX^ + '897ÉYkn6\dG_!a$D,q_S^*-ڥjRQe7 mm[-y1ҿC]9U ouYDǜO`V:Q:ib*aiI5ui٤Ѥ֪/Iu!jn7G'rbyKm @vw/`[T䎀fӭWW:{o0@8wmtXwlQG qڽ}/Qu%H%~ʷsFk5Li^WH`oy[q'单y;W{?x[᷃%m,Y$;6#FI'T)Yy`0ח#(~HkmNc#%KqO,Sb/whω-N]Aeq%dxȤ1E** 7{v>zQ\3sۚeG}+4cu~3ǹ^6 Gtp#ѿѵOM>ҼuJSjZ$`q ܔ\ a'*ˁJ: mU1^&qF1]O eGG+"#'Fl8-8|۟_Jֶay5<%8JEsBHZ~-7,-terṁ'$09pl560:56R 1Cd2Yʞ/ }m:pWG~пaմzkݍ6vk6W3E/!`6~ڵM*&udQ*=Q_9x #w_;ᇆ1jZk:[Ŷ9#=:ב|?Q7zGϊQt>/som+rBD!)/g>;i]֏ e |*V W5+znܭƥ-Ƒyo|[4$2ÿgV73xb$5;54%!nghL%SdT&k $?? |Viw}jvx&bGܲ_N2#4c[8Eִ}JkeA,V7üH mДԟ1Or0d޽ȯ˯qF~*H텺u7J]O֒Ȓ]r#tP$B $zr;;R|p[iS㈂;aqSDݬBLr۩* ȑKK_LO>+Ē}#2G;GEQKyq=s|R֥|XiSoٱ|+{i$٣N){H.2R~ph Sᗉai/$1w\% ŷ ~N;/OxyQ&Q#UTux?xƟ?gLM6LZ[F;>erk8ͮv~f Gt->O6?a F,@V^0Ku 6+sǥ~|!;t[爼5;jz_ ?P)Y>%J)!|/zo0E@HZJ4b ~idnc?lh]F::(cqLwv:tI[Wex3(y2quszUw6)i!ꝥcWj: $nEf'm`gm2"ꁄ ~5K݂Sxɣk[^a!!v_j~ u/:"&!m Y 8=믈n7t`=p/ݼ,i6]|ĜvǩS*;EnCyIAic.dP1=5qd@ 8R x+cmi4Ƭsa\o^8&6jj t.f9}m{ƍ=cIe?}mC41vug\@Oz i'sPzxxfG $y 9*^F#b;޷܍jYE  0kiU๖pV)L^8$i0t1YkK^zw6{֔ HM[ 4wdh}Zjs4' WB5:FҏyQ+NՄ2"!`@p:WC i2Hr_kd siD'YM6omqfF=SںO qCy?8e ;z^H|gel]WVF[+ QkQ[=JˏdPrJS]4%sZl4.IU<޺iazdhT/y֒hc$MZJ9$gJ /41u_kN!,)=@rWZkxZucn0I=s)%Ӯ8€fO ~)/'u;š9<_nY ,ɷr yok7Zhf% ֻxh^^9$!#R*/ɩeuG<;nbH"nY |9$a4{JIӏjm<9] ,c2k,Fcw勓p {e.%/%npx?]G|_Ὲ> ehdvE),l!r:Ģ5䬑=Y5ʚS58$}vmJGU׊ 664$ONH Orr[>qV#[.<1(=3O \󩼇" '$nW ͌#'ɿW%ռK/=վ@PdbF 噁$F1һ߳x⥻Jį;͌=A;r%-${`|HY#AB$~Km~]i$>1dH6s P_F|, <qijF8.4Y&ɵ4OAHaMy۟yn۟⦍xwCZPjnbWx(-q8U;KA WĺopL=91(wr no Z^7C59p5Bl('~|byT.f7:2Iwy<2JUGGqFc\I!fA)'F~}Q?~#so>pqZ{\uo-I䉃,O8<}{ǺU!Aiwdwssn;$ڀ?$_%/GħGּM WZã>mQaVq$"dusJb^^^ql`hVM^eB-|('⭞\Iu$./?zU~^F0Hx;/qo _cf:/mFմ{8m E.Pc߱Rc_ٷφ_?<7-m,%mj6}lUoEWw=L$a}|s:_aiHe;e4bY'iWY[:\Z R]yXQUF:~ƯJw7jW'`w9nf|A"f[Ë;vlLQg~2"@!T.be]|ydDڦdS$ "OpE' \cέqyšLRu]~+MI[H֝RCɉ^- ,3geYZ}]izg3ʒ+1̞4R0q;xe3۴ D30`@Ĥ<ᧆuKw[ F<?{;c5T%BcdujV1/ޖi0E$Vy_9(Q_o Xu&>eah-OI^!M-Ex`2xLMc!Z  ^you <|lEny sjyuwmۭ]IM GD0'2j/" H7uG&.cۻ߄#*ki>V&*A<|hmcr_^'?]Tzh>V4~L,.U2:gֳ2Ykx&U'&%Hqw_ OWĩ0Hxz<;Us+qVI;xUqㅨk? Q;Ե9.mH@F P@:E~7E1[> ;+q E-;0O<[F~݇\eSZOKw1]j8bYW- mUŅogm 9}<_E*Xw;y|ĺ^=H2]CyXwX::ơ`-\-znhLH$.S10jZdbO$tQC`Bo`=~]G`TGv7;`gp$ };S|/x"4خges "&%K; &x[ޥ]x.LnnĖAg~r],X>b]x7WHoɶI䘲X#"J ?5} k ɢj1s~.K+!/(\Yq` 󫂝?iR\]}NzӅJUe<8i|Y+mv4[[Xq!V$+g#,u;Ú~ uٮM-H0il;8;s`m!5 ?dzdm%A.ݚF-s cuuxE'-`Եkt iavIz9+ҥkӥ(ۣ:KSG4< 0l9c{?-,QŌlЦxy펼bYdH]y~ 4;iwU.y=0:5_hpLD܃߰Cqh o%-m4=>f 2 v̧8;7#=ܦ,͆)Lʠs1?.^ZrwUEY}L\&/%ŲF6;g%eaB|6#_ )ҔhVThw0 v_㱯ѱ8<,Tl=fT*pj#$juI .VXfM= 3+8l_מ=աXΪ.'\>rH5imRѺ4HW 2d c>h6kq _.6jǰ9Sw}w>j7NT|Uk-|yYWtݏ9xG(;n#?+k#ZдY-N=,8e>{W5Rx[?C:uӏ+ǧuFB #khkm 7 .x:漢2vF42vlN& r˫ṟ4"!bdV=v0~K2UΊwR)iա*G^+ jKnif1&{x;F?vFB@RĚ)$!wګLܰ?( \/c/,$`_Bmc!Wi'aniFvn]V#X-:[sGiop7;i:=t*^}SFDcm8%< *9f 6$$y'û,#ww72D|v2m-ǥ}l]^R  LqO#+,e,SjE￞ն} >;׮~W5?QiH\1'$y~~k=SbXs uKAt8k{{zJ))?p;t+]6_Iq/*ON?}+#\SYROg?Ykm3~9-!6]X/A6VwۘdX=v? ̖ez8F֍cĚf+n :uȑ\|>^C*!cNA$[ 6k;kЯ>"r{wZٽ p08q˗E GqVxfd?h{8†&U>q^ǥ+Gq531$'qW8K/ Kna򿄐?@HZV{'|v:ˠy)}ji\Ȇ&濙k_fUR̘B'ާƵeENrp1ӏ|{XemH\{W}g~VCFD&gVPl#rr9P9?FzW$g'ܽ0(eBg'$WfV9}SI5jxό]kyzTkL$=)MIu˽)UVD^R+ ,Oݭfտ <4|?-a.-0še& 6H ۰~oiޯ|! ;y፥HTs#':7Ap=O2J+i.ˮǃ=BoctO~ma tm6%F@XXr ` e\};+ז鉖e$rU(G 7 n#/h"tgsxZ}6L%bhm Ib7>_; n&IRΧpmDuX e#( g5WnIZ;iNI_ ;'E֗i/5wԧFDΥmxRʢ=<Y|I/[{#5엉ښ7(-bH\@%2I&  '&>t`۶ӯP2=QV<clzYpEwmqmMh-u[$T1)u*ԜqUvߣmP^3w%Hec?WW˨\a |, -7 y'L0,VmŸK\F8%_>෇ީ?\yI.($WfHER0W*163iթ^ɨ9oN :)'h(be4"DmS(\KApW_&SF|N_YQ˕oqל޿CGV¶KcJ(K{a9(aHcʱ!JM~ci2l08\e Uji)^ 'xJ*_rIKM[K~# V*U*ZWVd~6IYlڥo$g9>X9,ҒYYnyfFu|\C~.[4C\EJھ𽶝dkZԈlvBxPzwnyfցI±0NW0ۆ%cI=2N+z4[[*YDIyul.iy#*7 S<%i.(i' 7[yz4_;He HY]{RԠk+{9"=<2Y]36ɞg+Z^%IτKMU-!dTVu flZ> yk{u+u&H$[9 mŕx>UY}SԖs$r*C>yU-ٙ7615J! 2$x!4bW#\vE =½+¿ 4:\j-IZZ2ؽ©"dfpɁ|q<-mo% :߀⛪[gI(ʳ> `s,rG@+TXa0Ur9ejqu#C N6 sҴ4mOƚޭٮ']8'5z_iYpU BH8,;wl.ILW!ڣ%e"L3d`c 닀na766  О7صү5;Ǝ 0pT}85NrW?"u$g<}kck M7vR_= Kʹ'kv_EkXட m/|{D6# |K|pgǞ4ǴЮt ¶e&Fd4n˽1\ӣFߚas\Mb'N-ݨɫ?/ȾCij~:nr\"$ +ڰ%s㥷kL{]t_ڽ}[1D8vt@w'WΞ5Om75c}U"K9,j8avrGC!~ Ax-sT/=h۝:BR BiFXiI;Nd ,9F_Ƿsҭ$xގk/I#-o+ǥ\0meA6q"t@Z5ݸ㑰V~" h͟SǞe:>>b?2>E˟~L!p?H<)r4 5QAvϧM$F =2ͮlI|IY2XZ4Mv67VV@7awH媼SUjK?A(7~VܛѶ~}0`̥@OO2铵؆.bl6o FF:~C/I _JFZ ={؍$ ﷑3 4~H?gh~č"]:=bP3;gV̷"wWxwzVMymuX.e<4PnldfhW^>A5ѪRv ֣Oeơ]06W PW {WS{.ַ]ۅk0TU:,ގ|Jܱz5&ו xs^2I〳k^PwM{LצZ|mTj^g:p O6/5W*X 9tmBP9~s;U?h%`O`Ozz!SVN+?k.mw__Oo!lo!Yq$r*R;OXzfI^IN=Ԅ%q2]^5ͬY1G"cMocoW VN_^6o?[j~Դcm[^(fE!眯;Q?㻭 M\Ap Ŕqymtх{C,V&Č=o!L2ìz/Aԯ"5@Z|Zߗ4wBY$ڬ ~]ߵن>:wVF}RYcͺÜİaNec%ب{'9}Dx#㹮Dm^RV()1b)ܡFVQka1/kJגi^]NXV.ś95~?[?j~8J{.=69gH᷀1Zխ8^?.u#3eKUi*YF8HnYu< /NiZAvrc(˱TͲQx+k(i=m$ps_|y 2\nk`̍4_Cf>2~~/.qI֚ahw)$ę} jiw΋`ftp1v!mk_akWkBIiMg"cA9>~߱MO|N;jP<2X[l:cj'ܿgood.HNHgz@ DM}1MiYX+:\b[NW_=WC!uϖ?4:H_<[[ ddPV c'_nŽ+vrN6q51kKՌ[",rbYVM?%:pj)+҂MrD(4/5W6- ,hFǡa܌U2SWR%峜c`22}6R[*["f8D};x"mf(,w*A5JPǩrK3`p )=@9p|[ :6ׅI6?˖$^A8p=|]6?iy;mS;qZ|kyiYRF5,ps'8݌c5{m,mZ3YzG-"%s.ޤ]|" mkZunN#cNW,}8!9n ec/lPir F!ZF*uN8 olq\y Z; ?;ɸsl*qyJ!_;+Z9\il/LJ@=lx >Ze%̇t9KPWxSďK) $k.le Iّc?Һpy ܞ=*鏆R s(cm?}k.[p!.w UXt"Fў3튱ga$Ď杛=vQIy]$՞OlSxD`  #sv٧Ӧqر'pq93mb }1یֵu7$X?q*м_rɽ,Tp{u |Oڄb8N,I: 'Ji]wmˎ5_.N>;*߀!NJݹX\:n[k`փg4k}AZ;W/[N2}+qd 88Mw7:OeaK 0;pȯ][Poy%YNOCI[#29S׶xwyrdO*|q/pێ6aڀ< /ȼ0[;pB0l(IoϟGP>_82BUҭgMRW! xVi}9Y|`e^lM$<^jwswe+*IDc/(t/iO ̪Eω#Ia"kr0ALP~_rWtKÍ+<:?$I@w g8j+|5/UZ⿊1%mek(4&=7(dp窀oH[~)\hI,ҍ0b c,~ #cO#Oj~&xV'Od,q_L@2nKؼe[^ZW/\*AhȨpɴuo501o3fҾxFֵuTUI1X=|C7_vkM K൲#*c $I9 ^喏V8RZ/ˁ xy~KxwᏎ"=W4Oyn^}WhRr~P 8GvĨ#~MP'gʿ6mGKУEIO0185ML>t̚cJǫ@4-OJ(c^xtpT]T$9W(*g$Glq֭Z"K) N cj7"8|zV~.F\q>ХSڥ3'n~!iZQ!I)~.Ve+(^}bZ]T#޸ehqkյ+Vc=Vt^*RRCBwl7bF@5?k_hӼD%KHYO*ʕO5ED&ܹ9=|ϘG\ WUw'$ý\%JQ9gF\casjEjw? j?YxWM%׆@ F$e!HH #M~MK}oTz]F,K-X\${2%wj8o~1>(syĺE(?dbnWTlues/ifE$MbMfuAK]6yS#Hd*3?F 5'Ͻ^xJl'W]mై4̱<퍤#f$1׊9 {z]º^O^%W\M5ŤfM>RWM򴛰I;jԺl]N꺬jYEͭ~ú6 RWRD#_kcL38Vn/՟9S3O>4GJI佊h 8HKH:dpQ:$i/ך%#3ݮ}#[l 9,0N~fԿj߇3]ZXȑD>Β06(9Nώ>*5O\AgmUUXmz.Sju;*y~uQխuowz$({uyp#>b^_~h qZ[Z1sq9<k[^)MݛFE ;+:^@`}\~=Ķ]VQ0x@T 03XGrpfEF*?_to_.X#lO:ΠfM "UĂZӮ6RT{t1w*H9_ Ʋ|n'CjPyl1:HTBvzW? ^7^51cKq!!H1M vΖ_e8|=f^vWŸDՄk\KcnAr$'߃] #?&g].\Oʷ4 Vo/ttA-9&=q5 8|}}R}RRr[{kh㓻$kե NX^q%-4<5zU=綋[Yj6j9JQ"y"$NF4p=_=~cakhCۅ} aAfc9}#>kOjV-:K(Gڮ% vcp2p~y~$VG_6 4;\.0HS<Z\:o9UW:|g ˹ou=.XZ #Bjf N9kන<ئ$~>Ú.} upսρͰ0F׿woou [F Sy#5& ~r$x$6ܥr9:^Ese7*͆_VPÿݽ;tGNo/+"sX'o4:𳟺ñn!Ǯ+ӫFX7&^.mt=sս\,Gb4k?6ZE:$U. ޸PIЌضYV#ZŤl+U3ҮWPќ7 0N:G MRz<gw`o%r4Q` qںm;zuw\+<՛WT[@ vVq ]ލ=- M"|ҮcH<q_cS4RooRARST*ٴ~!kK+H[.cr@VT$tv  LiBdb24Rq+׭4۝Ji3C _'>Y4ۇv#99;_ 4{~jV8jͷ+kQ^D0RKYt:6 ?ZDUT F˴޸^ڵFDAUG==kƝ<WmPٷ|Wsomy99[6Z^n#VM#w$ndAGО(fњ h6O sPIZ;,4*,nb'5kE_YNΪgq)!FX|*_jxb3Dq2Dn s4q[k:]/aliݵEIim_x6ͱo 4oMo6d<7_Iᩞ$"r !??i_t]?D&̗Sa60b+8dEϠ=.xwQfk ׈˫"+[qgnЪegf2_՟h/?譣՟_as爝lJ1ZT{|i|IQ/^:vHhZ\j3\]:;I洂8dux^Vym<4qܬc۴_,~!|SM /afT&Scy#VP2IwBvKǾГzfh;<0I1sO=Cd8HFab\mbk:,ը>dSi7md۶SҜLE5JSMw/.TVFmYhW4[ˣfmʲFTE<*bÔ@+ִ?~ .o7 {Z_YM~Vv*#)#!n|¿vzb7Qiv6[Iew.gi/P"6>'qL}jCikM6dK3]̮mGFOfجvKޜ*|(kެ]Ί< źJqj6ZvmO5qCPM]C_{X(q3O\) nRCڸ~'|v-;uBTYGwl%V̷Ưs秘a݉6Cf_i!ޥZL'j gsuarElr.|dB6hhS&Fk<k$74L֖vte!NwO9u qgKYH\3Cs.#Z#VuN2;`YSJ#Kۍ@Fr:$ iV(FvUp1Ƹ k#0F'׊KXYH#0ە p$Eoj=jڭKDZ;pry? ͧvTd#?yx?Qk+ȯ>)`Hq] ֓s"nI[Vua*AWʓ nie`%<8zEl:gYUoB&qahqD5m]5HYvz|=#_o-SUno,lԤo,C:,INBTMA5ԄYĒ);RA [wb/3`0sK}?^ԅ7q3C3l$1啲10 ǵ"m7TK8Ÿ1IJ%Ɓ*7SUW$̏LkTvx_-I-USҵ~܀)ٻ%:rv0+WtJeӼ*h$Y*\ K}_2yuv˲_\O/WOխZ|*H} F+[őJ6}U.hF1zjWĝo[YmҼ5| ms/=V+̱&yP~L6⿎n'u=V[YExD1CmW~~?g_ i3#\N>tFdrݝ׭x 5oDJv|1lqy\ѥV)Nޝe#NnM.mhF%wmg~-~͟ 1^~Ѿ f6XHb !ߡ.$f;vm o~#l-| m<5Y!QH4WH):-ZNѯ`!( FUݰY_=3__/$ƵχHdte$FȥTuabAPnTM5BxNRiidֲ{\]NwghưO$t g t!E$i"!UwrXv{\q4Q .h3099?^g쬤OkrC6ϗ"+ MwOSH21#+g8]_hݽ֋⋭J[Y?.^lrȓk[˝P?Sww'ĥlԞYi8Ç8^#q:KEgvtwZyat1^7(AJWleiFUN;5K3 ]+~'Z+qi/. `Q\ibYfC8'ؾx3I=\xu>u:^2Z'1.9RF I |/|Eq+Km%Y1_Fl>;"XcmM Up \, ]+%yE©mbNsֽLW_~6w>Emke. PI{U j|'_hzmݾG !P:5F*m:~Z۾ΌTQ5W!J5[-*yh˹@լA瓏!ΟS'e_?e6ot]gߞ+1?fK㘮kܾRl[!<-` c\5?t]#i-2$vFl@D?Þ+թJUTҹɫ~ϟ{q{S|BZ5]J3ݒ.In'LG\ٿRѼ0o)v}t]?08q^O 0Guyrƒ Z(%]etgiJyN;({zxދuK;-U 1]͆qk?iȌڢq|\0@kǵ$@qN+#oN;Nڿ-[5:u6ԕnu8*I=7&,=!IY2@lkm7rnLPlOH?w]OVT> xzF X>w[E2BrBwt+\ Mw"\ŧ,s2ˏ԰mZ(9O#7˞⠎X|?Zi@d$჻6Qy Ol` pxǵ~[CEk?.TixOeԣ4K9~@*|@ ̱q0 P>sdġ 0ygX_K4ZR{7OiRKVUN? ʪ$"} dzZM}̼  c⽌MY(CXsfn9s֯"O#z{^\eA+3]1uFӉ#z?PZLPEO}ƛ.k,r.9^bCf.!A^OrG[{k(Yګ?o5fq/̈G$Ga}jVSFz uRM6?jCcij78&&Xv8 9?=j⅃Alt]Zьegj׆l'c$\:wn@31&4xR?NuHs $/£`/6jNAO'[f7u(M2>A ;#p1y+َGfz~獊H9hz_j7r&^l@?xƷY.535I)>{k.{4q*+0BUH8n.n\lcvFlmcK!JFqªZw/m*\v͝,NK YBK :aw[K@dpQrE4S|Xx'^YFr4?~*X| #OXOu Ric_ =CQ.>cǞ-1\:edgB7-8ئYJ?moh^n\O?D.d oUȮ㗇.Ě3hKckWR<,oHYmhZ+$~3s3=+ݾʚڙ hr$*U{`>gò~쵋7l7,Kl7"ğ?imrfm݂}e,u*E}x6?U8+ @>UQyzϞ%<5mztnvUn^X).mԀc1$.GBYΙ1|{ݕg>n /?)*˵$eQFw8SIl߁ ~^\Iv<~OWEizvhT oc U??9&H1V&1ah'.bq?jd!]KV8wnN1ոeV>ey{,K&1Sڼ{f%wEv tЃ#W=oDx"4ҵtM'mʥ@\ԒxJ ppOWb#Fw~G^#jkmGUNXc+¼P*=;h/jW*\snAp bb^+ssLj q_J'+']VlEWi_|ψ,xV,ݷ8A_k[o9;WyX#bF}5W$ KH-R{EA@#u{m簯:i8՝Smj^gLUb`{zWw I.~2pQfI vLxz H$ Xr;sܐ+CAGlZ[{_xsN}i&Yf;ic+rM+Җ_}[Rp>}E/$EaB^L ߥr7`n,#"ҿ?YM#Oky$r^U~׾>o<5kumK¯/DT=r$nkrdXڭ6pFp0vjdQf?҈XjpqgÞ|-ᷚX#i@ۑ՚QO}hT3JNwy<:ͽ"H];_ GuM;Ap bF *$g4C2-:gm#g.s,,-# "HR[ߏާO=BǕqPp#h#@=xe5= t)ѮT2A;k(/6c̑˙vderqxmxR^҇5tk|*:ǥ{O D>]N1p6b =xN@bFg1WUV_|5xAu=s-.]NY(exـJz斩y/_IΪmUp@nm3"8 l$>5xWEuv2;,q:+Z2!qʶF3k74}oZdhDiBDy 6L.<U W煫%nqMՆq5v˷"ubH8=pqS>ݫ[yû$O k[kN(;wr\=`P]ͪ_Ī<%nEQ3Gnk)N-ciQ{G['noAj]7-7ݱ 8>"9#W&o*=/}Q_~x|*`೉;(G}aײ_[o7Kx(׾uv8eF׬zhlH۸AM :u 6-Y-9QھU\@j)?),}z9S;gߣz[9KDtШwA/uox +'"V 9^?oi%O]߅ծLF ea>ƺ-X?$jW7fr}zVkӄJhcA4e硙\Ӽssԝ ;U",o@RxlM wm:伇x*S#QT=?.y_sh+٨"E߮?LѰ8g.WAecTdc:da?O[-ʼNS1A I 0kWז"$A,֌ʌs֓Ju ?)'bϧip߬)6 ïYٱ涵/ c8X z Eدh>*Hh@GJi+ R+H&zІ)MЉTǖ &ˍ.H `5muK{({v 2M!̼C iʃ^N͡^@#QxNnl#\Va o\NB0\n` {u 4KV\uh嚗 ^j-qܰS$ fc8˿C K#4:VyM>HVl/[6Ŏp> pSj0'ըb @n<3G,~~v閖+v2 ;JKE7vc ?^ռGkE['nYfynfeT\Sү_t-"K/S'5Kqđw$WtlGޯ}U<2?;:(xw \. R`sŭx<z- ^kk{᳖|}9nLoq^XOq~;>+K#{u\_gi`{n&Jʖ?]' ;jD

||%כW$sUeShIP]EF_>2Cߋlv՞^f5Fb`-dg}.4|17G[unѴ&K]XB ,n@5H]@[ۉímkNj?fk|//P]V[S,pOQԫvov]~FWfg %tK]6I=ͽޠ, r_!g4;Js:Ķ^B1Ap  DRI-d!fI>s]i:&c:呼vfxyLi*r*-u/Ey_X<ķqZ|roA`v٪G+J9DԮY-}z[]Y"< /|Gc$𶡨`k~+>%\cxݦE2~"x]8R57[kfJܨ4w_\Z?pA6g>%KF[Hlܒ;==+ηk= I3ZfJ+[[lq\wj^5ŭyYeVBG1j^Fyd?yBӞBY=>8"H`,Nǧ8Or-M*4 ^&s*oa!.QaXDyy*@8=Tf%%`Rf>!G8*)maL-yQDQ0~7 LrpGM4Gn# ~\U³Oj|љm Zt{c.$1.bV@:uk.}Jys4K;}kW_}s,VK?2)[A 6pkJM]/R$pr83Zkq>&yu9RRd1;ڄ0x1|# ڽN}kMK5]TT9$qW@Ui[ -Rό"7c#ܗ^ҴuK^̶)үTicr1В?L];ðSu</Oڪ`#}uwfy`++7itSBԗA2pH_Wsh/#,p6_92WSZR-o|Qx>|9p w<ڼ0- 5_},ROKm2|n2ҺvI0 #NՌ`YZӿ"iW 鏮k:uy_[q:P#xCl9_Of3vͨj7WodI+d(n |1n){IsMdh%J'W,Aaa_ |Mk%i $e^7pIA= dF>oNе֚UVRL$js]G iR^_˩l,l0IJ&mF0NKvYGaB8t`KEUܑ^Ce&-nG[s.[CyLCnQHy^o"ջOjKqy)~e(?9A]w#' [x_Ɵ )HbPSWfl9C ѧVl˦oz5jᖻzd k[!Y/cP%XR魷 dIe 4KQ{6ZeNj`HiC.aGO< ` {1Qtxa!;9Ig8߳/½6I%NJm= o1[\qY] I, p˻974GT[h쟣j˽+EJUcQa'rnIr^86'n@i}i׺Wq4,,j%iGpI@4_5:Vԧ twG-A#[}>{|ھ͛pY7TN6/X1Zm|)Χ x9K n4RX 7SU kc"ټ7:%NV]t9Rߛߩǔk_5+?\ҵ+8-'{{Z=U2Ā9$z5k]A<onڏeD2yci8,J3͇?z.pmmȼ{.gYM嘓m#@Q^W&|4mG\5&Oծd01[ƍD-Ӥ*%.8%*?zˇuMntMG~6s᷉ouVMJq8IaYiD;S0'Q\>KmAmH&U42+G*=2T+o3KLyVHPG˶Ĝ c6O{SˆSA{?4[LyR*`cܱU~"GҺtS^?x~'TY䰛J`ݦ^xWAʍ /5PӾ"K-fk,Yv[Z\9(BJ i js.caҥNl7g4M^P8eEe qq& 2v_DTqT7 ۞[q{W,5]c|:IVYΈy A5Z~ ֑kn#}dN;Sq՝j\c?'Ų ^2{YaY0;1@}w~2 X^c[Xnj{y x,m5/li+xV^JZ# ~7Í? ?M> Cƪ3ycū Kx$Q:@Pyo+Fy{=a(-)m c\s]^\E Pyl9{W`JOj|I;=|ڄ3j u80fEJ_C J D,lޗ˩!CAʟ>n6AcnB=|_\4 1'1oTˇAK_;EushZC귗v6mYIo#n8gaNx_gViiʒ\ǠAiZ}ּ5O&waKbaa))T}^C8_/NWsr;HD|>SqP×vqBWx# |-뿷e!M(jVu1ژN{mLc),OpvmJ'z6[өZwWۢJUҎڝ*'EAT|ǎޕ̋fTd_-G#+s>"4o٣ψ=ƫo 2@Pp"HUx 0dWEC/Khik$8]F4Bp! $(+䔧.zu-m?5No>eCKo$#C1^G.q$dk*1={ZgT+W^mfW7 VQD)b0qɯ}>I"lXX :׏.gVw&"VQmanX K˹9ld~Zs^HxU 㑒IzVi,S85Z⸟[. #f`5 g`~WMڽwKy_3#D3H,䟐4܌k0 Z )Cw;IvٗWC+{+X1\L~@=5tVT `h ў2mUe;Wdv,W+e7n|ºOxB/|sX|-kNӥE84bUV]f*I80AOalnmX/Kɢy~Гyǘʹ7ˌKd#:adjrـfiZa -0ndͭۏqa+}зز(@^pv-][ˉFO(VF~~w '\Ve9Sm<\H? ?\`03EIxAܫ1Sp/Iy ֌Ѱϔz JߒGfdKS |JX.XJ7.H?ZVamo3fo[(Wn9zb .kzҍH0GtZgǢ-242f8ER`=Oz_WXGώt[=I&pgofvCֿ;;|(WcƷ,k n. 0]H]6J}h꫃_7bԿeȼ2tR>Y<4G#Ϯy^]c~б[H;yױvO%BG*Vn,m|2<]xGձ.mp:d9;R) 7 . wb鎿CH;3rIO'@_k^~~75nn"NYZ7T6ZXak{G"eaA GV#_ϧQP/J>t;qo! I'`" QHQ' =jZF}UEԋE$1a tm#FNP}UJa2@ y(n#=+"ԛ br(d8n1@n& =U1H?k+:[g +O{WKYo[9HxMMVj\29IػcF2zq0pr~wGG FkFuo O-m,K{r~]}TaQhnZ 0r0:VV+6ͦj #ndžw5|1oTh9)yyL.#Q%8idƻۤ|0)1 Izzf?.K!ӦN7F2 סl'⼶6,E5Ƚ8bK]@ &=s^qBxz:xEF2Z>8ccIٿҾ)t=J3ЖP)P{GJbK2*:L_#pD7VvӄkMO媭OkJV~gև:mzJ]*B-ù{m$)s'H4=VM+Ob ȝTv)c|a_^[xcð,:,G6Qȑ6?wd3 漓UѴt YKd19gcݘMwUT!(G+`U p>S> qy`I9f>?_2Ec])Ys—#8-E1UeGN-aR8f\ qAĒ ~6'"ƙڧ's_V{/hma\,|?|<ោ7'lWQm-^Gă 1Xg$HpyTu_wIj~cxk~.$oA$C$pGzq^1ViwJ)NO9=@:W(|@=gŚ%\$rio*a[k)ގؒ;b8\xÏAb;9cDY- RF"!ǚ?%=xyE^ g=A AuRM0]c$*$秵-K.3*2.\\ WVZU dִB(R@˽d%H9GO'Z)4l 9ąQٝ@a۟*:4ӻcgF|Gůr) \<PI963ש]YR'}ӁOaԖfȇgBU~5Җ.LCMjbBo@r9C?ʯ~Ԛ hM8U\"=?#TaR_Y74(!){*my~Q$'M'>]G ODs##{?_j{UVkw)*[%՟0UU֟a " Pw|<'{錱+h460[l`#$cN*ĺ,(eq`<Tn"h9'my< zd7ms|2,Lrhs;Ksn0b*p nO۝+?-nY!Bq^BÀPHHPtdv1 }}*YZ?*N2`r8{ԵK^)h>DwC,m+d; C;C_2v,ۘryN)g0X$8"l0$~yy<ص3"R1H* m=7sI#!*FP1޺UqCqŽWh%A[j9t폩w!t6ȣ @r~F~6_KV+{ybQ)m|vm>Օ׎_1 4Jdst8υ|ek>LJ<1P.4aqWyYV4bQk _|.NKE5Yye&Y%= man[.l>OkG"4,"R]H[5ٯh7kzEzVfX乖;=.!3hd2T]OCTr/7Z۬$ez%i /W6oM?1631l $k4o's,IĿ! CZԮm|Qkc<*R+{Y&ua-!u ?A7<9A !;jg\=D3sbl4{${۟ yqmqnq,_9Z_g` =H!N{RLzXWeS?r =$Xibʒz>\SJc؋;"mpCrgwo-,AĒ>͚ #C&x7#TuTFk5ό(Ӽa,mFLdFv[iGUުieGfލ{5ҵ<- }Bv/8D<ʕ8v+e5o W%E%d!ΡI[j]*(->+R3-Z_ZbVVe E)}#bT;uc&k6miޛ6iqOmop6ڔ  \,ֵx/^'.yxy&bn8e0(TGB1/ͥeo^d|e)h]\xRm!.Yv2'FU7195n t{IQ][.˜ c:F>9Wwj&s40KVL RdrB;<3m osq#9Y=u9FlOTy7` RPQ$1p^Zq-"}UcWͥ6ĜyKG Mzaoں_jWnK6ʞFeSۻ]i 4|b*AbIfjZT-g[I@ s @CIڜu 6Mq-3eHrӱcNq@]=8:Zu-v{&u !#?9!pUQ$yEsWNyXSE"E%B0*O/dX>\VTA NNy4Y}]:D6J>`sԶs5;"5r?WR< <.XKg;M8}j߁7'ʋĘ>8PT=EجQְMxIc34Lˈ/LsY$ױM5y6:,N3/?|IŭY~20%΍ͦh+K-1y oF|'㯎~7F!٥Әo!' >Fk¿,~f}.Lpb$@~*~ j)]=o_##gʥUZ;ZomU^}v+qs,}A;Cym񬗾Q\4opȌ ܫ_U#^燴J7K-R [8D1[Ƨq眓~,^~ ~՞H.-Zt҉.fP&TF|| k-.|BN(x{) rhb66lTu+;]޾O#[-qU𐩆V)JɾWy(q]'(ۯxoit?ũn"ib--peہyoRi,XAdjbOy FcU(<-ҲT־_A 3MzB arcT(L5W?|猾!z7W^YWq,S8$A3*GXz?+I$Y:%9ng#,@]^ (l|)w7>'Fݶo-zX }6J[c ok$h;f< )4ZCx ( dKOҿk%_ß ۗ_2Y^_*Vx8k_|GljC~ ֗,HyXZ {k[-իK[jhtG-hZd`f8%D` cmV7{4P*27!{u8uTQ7 1'\= +`ӥJ ~ʊ|ϮJ%I 'w@>Z.Y8_;ˈgp8]:q^=<Ɨ}sl,Qu32vgTZZ;߫KljKǠv Ww`]#`\fvҺ-]PtAOyIl"2] $zG~+2=wh7\WͨF1:G]InM5;N-%L,d FPZpzo il/u #{|+͛"'g_ؿ◇୞'Kk6OjF(in9]#|֦5RΘ]H`@x^nˤj՝ $HY =A"7K?xz; Bm!`pUpk7Z~?y%uP3G~t8A~?;it⿅i.<})̒hUmK/G? Eaqmoe Ԭ~v>tFyT䴟?­^A];' 1ê)?5#4Z#?~g|Kf,|?}7]6"hV"{yUd5p"OA~6Oa⭮Zx%BP_lO52b 7 i럲ŝ_OMiaF"I2.#*F* \`b> \(7MG]}3 g(w6gij-ouymBA3!TA+cIM2h:,5g,59#,I=%IOo|[ko/ȲnQPB,r9,͋[,k9@qצk-A̎sᗏR4vR]4Pȧ W X ~ ”L/>֬$[ q2( р|lm2<42n3#o=\̖e u~[yB6~JMjZּA.-!f.%2B .rkmtX&E\+]ힵ_ot o4+!Z]Idy%we(lXT=KU6'{MI} iéttvFD*wP a1[Zx{d0P-#.%~9a^i{5GYg>R,Q{F^[q淩F"j|ڭOF5`LAx<9OJG¨p*oi<7KN%wyʳ2ly˄=}=7d]-srK厣]mJXb&0^_C7oH [m<W韌t?컭dM=FCeh,b+Exmޡv+ EsIg6nYe;嶑@/An'Ҝm;mx~43zNY^!;jyuWN;SvTIc}i?35vhTGwL 0e (־ I:V:}m>S&TBwHá,seSv{mRa37b+` ghȨIp.4\噫AJ/jRW< >fX#%jomn.ͮexH)m"Ia*#tQzd_ꭣ\z( _,bzNe|Ypia2͙[?,ҋ!3-ec$JTw+v'UkNena @>=::,[RFf~\V2xrNNN1_NƩhZ4ouOC{(9pV=r:>8R|~pJz<+IRy8vK($@#Jɇ$(fe 8:¥YhNo bs$F'$AC(cH m A)] LVgdc-~^^QR'-d<= P<,L Y$]M4TLd d`xkw %co-cc_K6[I$ʷYڴۀ{{Y2ٕSO`q\% kv];ZU};BkzOk:TE%ȎKX(ƵyH]! ̼_o /C֡:Kيa;W>vrd8#HPJpWxO{SngZ唰Ϩ5Y܈vaXhI,KO%ύ,h +u%ݝdlq"lS+$W)&ݑ~&Ϗ~32MӴv{˅[.$QItHP!F cuYxw?ůx2HW{XeUhZgyZ@N@k>K{8Eb{ɤa(՘;B(H,[*70n^>[KMȼԮkHMHc*@r҈ы2>>!/;-wfUlorKʩdmbUQg$jzs=.xE@f| 6qz73u_QOhrL\ 6+MhG.ݐrW~Cq맟 k)n{u}5G!|/.g|Vl-eMT*8>r7$/ikH"5 (KKI;i,rii}it5-:9eeme~K*EP!2Y"GKG\B]nوSh*ゑ3\y9_aj^ođ& w2a^O0 Os@--|؜84'aviSWҔd/Kg\:ՍFٌAUm1黃*akZf*`@>Ūs#S,B2rWq[Wiz:\$ɟ98hc]_=vrijY; Zdn'D)FI1r t:5i 1"QJNӃE5{g*1n))fX+)997GIȶD.#mS6 <նkpk+~v'^oŋ3^jȪǘ6AJWp+u kL{[.๎q1av 9<P[9ڽOq$kX$? 6ݞܴӬ4!y"Yvr3O~ ;f.W,1[R]#7ŧ~ɍG#w3{3ꚌQ,KIF bĎb;O[Ӣ_=<*br{W1wmD[HB0<1$9<ut֎mYcP\ddq}4<(`Co*0!_sjŽ3+4f*d-4Rok[4MbOWC6HTI rlAb1.9"ω'XJ6KR"Xee+}Bki4y-Ac 3mX!i{,1&N~zxj3N+'^c eUb {4U%i/V7cpW]o>Qо._|ouo6%桦Ij,.patr:q^~TDs##@7n."P(&*#F(=paR$? <=qmG">pI{FrEFciʅMZViy_Uq<1Tnz}-;~⏄=Kƺľ([HdY4+m!=ؑrx./.uڢltJYYZ\IOКMG!4Uڋa\ŏ^5?|Th^WI{p[#4]JJFV4Vf`M1:sw?bᾩIEG)Z['dĞ5vV)\_iJ }iԓ"ʬSI$>)|f%W^0M]t8Ϧ# j-gp8bK9? ~5)dђ =־*xE.m&[;}NegPO9~| Pо-i6)6=#6 [R$)twy1Syr4A{`Կ(5]CcּBaho~YdC¾Dn  t+{ 6 Hf}$Y77?NZIS\DUJ{SgIMu>ÇEJvk_>qi/y$7{Kb  ׿8?h٧E> KkGs*G!OS[RmKVg緈hO^jmw xڃ"MH)֖Ĥrio\kQ#HݝGr~)GPrB:Uk}t.p1tz 9sJ:_9^ )sJ3:{/+rq}mM ;2_ڃg\{WQïۖ?./)E/ao}Yg@ކ(,cj;WbBnHJ5x$|Y3]WT5.ӭKJ:9e {q4YJkMF?Y[ {x(E*"hHQPڼ{cxcD܋%b20gV,3^VOc*Mh{Օw,p3 m˵Qb8;~-k@˸% ;s^CX;{%αDI;Y QJPWf´v>5q5,N0[=yfrw"GH!zgOz'jYjl P$|~x"<.sUYvHvTVqbD:vTܸe(F1_Sibq_Gs_KVkEќ/ty6y2\*.U?k{UE1ҤXA w<$ApJxujtG=b[8m5y|;D ǮZslʒ\YCa~J[o  r=5|kF!B~lg99'=1W+1y͊aDaI$ /qu!ey㈐@eV աEg&>f^zr"[]uLMgwF~.%/sl+soPZ7~]@^XwM,b)` Dod>ZSAcwRp^; eJ}kȫS4y+;Eֵ=BHnJgٯGXk]hY6%+u%X+G-n7*}=W-P>TUFܶMmԊ' ;?>;zW?ir*2`1ߊѶ.#"N0$ڝܣlvȬ6}ҿM9"iq6tf7N m8TOV\6?xSƟ[c9=j޷/;R:Z*Icd5Bq\OECЁŃy ==qfgoMu_@8z/tjBwHpq Ƿl4ٙx\V. N}u*Dےi6yCN(2}O&uKFBLYݼ2XW~"ȌҸ ܷץpWLet ݎU$fiۀJWMusO+\Sj:.B=ZM v-s5u(o*8^f m{?|&T~ xO9bt X>A* a=o<7VsnC+H#+k~7o|Q9^lɹ'e5oC<5O)7뿴oI*[k)8̈:f (IME(  b+OM~6xH-.m?(]-^Q[%OGa8c8Gퟦ^vIb&~_m!;!X w8Jy98''xF+Y/ :\G^ZgfƩqZ%cG3aGS[KVXf^92:5,KocyDLstzl~o ^|._1kX֗)*X[GԶs\,v#lzφk"|u6+"Ӭ[ΔF>QH9UkƟWRw~8^\+-FH9a%4{e"6PS`0[#v+fH-V5D- ykgoČr} YRLŋHA{ >vx~FtrZPHV+?_II{HGiIKwCxJnA"9} va:MiukeSA;#FdhڬcYn "ᶗl1ܴj,p1U-oƍ LQ2F@W<]#_l> KVvsZ]F0P<cR@}wDߍG.}(]Iu)E{ixfŞ}+Jft{8 4$>洒jF9+*o'JqJ=ODε{<d6 a(U9UېFFk^ Y^;>&Ll`چ?yK+j䬣;pp8_֓^x;>l \BGi`p%|7Voґb0u&3[b弽NNyz*ŗK{o4\O pᇳ^⯄ZtٱApInu&qڼh~ÔJM<.pu[mҕTKc꺑M%ס_&-ƧJ 73O O9PFsM}~$ebT`T#5hISa"4=V賴2+*?SF=ϛ上uQ[׺eMS G3ǗbT\IAk5wE_^x}E=vğk{Gcw8G9|z~ zo?lXD-t\ K6b?K~[,xڛYS ?H *@1㯹x=O]HX8.!xǥ|/^2]ˁcTRͲ1z\m'ru#NީN8k8^X'woH IJ[D֭4 v6d{.쑝ٱC۟K~4BԵY3W+(#?wTZy^xFBHK2>" &T,q'͓}x;||&ifu=6ݱ=r.a d ATm5vٞMB·{ uʀٹsϭwW/{}zqU2w)yvmqIۓ^W ͂3evst=xsJC>Av+Ѐ[ שM6ݺCP#X񮫩jW:ŝw1ʗ 7D0ʐk xu!xN-sWʚ@H>ߏlju/tQeԌW2: Pdhfrxȯ}zLXw9 nc8SKޖTW=5t5T\%ˆ3^3x/Hmj@;kçxWKL:d/%Ic+eϏy*IBO^+<_-^ݼ&gYYy–Km⸿BYL dNu?4LDב6Pu$pk'OC;lkY>̥ v9^H׭>xuv3U[-GN]R?; "'.XO\qw`xL:/ k~i^8̰.i`77r+ψmum LU@RxNddꩤ¾#la{nאw?h;Wq.S<iQA8VN,]<$TVi|O- FShd-j, d#jA߷#5 σ\4/ZY\Hg>cd㟕o?/*ŚGLpޏ,~e)0\@F3vaJ> | |-f=CPԼ%><wY[zY(@+wis"uHAWykfM/l҃8!cb58Vnn8^-β5, J-iU{y@ivゲllWje` z}+?|1Լh^3[ͥ"k4y\;ʓk :G.g ?K<Ų+-)-1\|b0kԡ[o21|9gV&O{okk'=+6gҐJsP, ' ke|6uyuItI>=l| 10'޽_ fOHY]L;#Dx zW >7J_#NRwVC1(|~߳g/&uٚHg,Pm8y#Un} ÿψ&᷃./n+v``K][-pMK ,T%(=o B7 ޕ]sE_'ݖr@F?Pkg$0RQEd@V}͜m2D>W&ϒz86cD/Aܤsk}Snc=x vJ䓙%nN3ՍB[VIF  Ӯ;U᱑C$a'=k{7R@2"rFz.yi+fcxi7ϱ8lܼ*>s1 zT϶I,H- o|gqF5{|v$`Lm1לךODnbKt~"ݚEy fH}זsͻ`p͂iyO4 "j8P{-e1K9kzo֗sA (uRጥU57aiڃkvɭ[\Y_CrF2@UQ[ ,qg+$-__ßj~.{.5툷ŋK(Xmcdwixg?~|KK^ t5{se!lyU6> =?6WR[MtVkm̰B~ӂ[I (¹43Mi trĮc{G `T43◎>$}j\/5BG eP&擜1zοss_V-),ZUF%a2%H28T%|#B7^a)>TzYy&u4KvI7Ә◂? Rx{RM>=fݬAbyIvٍc;*m?$xK{F|Ujw7YY_Huwf!b_2oebR2=k_/ڢ iֱx'z4"d rLwM<2myu 3~wHuiLIեҮVGSOӣ F!v7 &yf3ntݜ>Xl״WG(xu mͯBVxǚ{ߋ߳7#$׾%[<wkY!^\E)aeIK|Z&n]@ l濲f?Elgi,4!$,VCL+6zmɆ=*2Hp1n$A_wT)bjV7yNܛ~KHka_E<,f*8ӣ p0zO)I؆^beܪ€=MZJ|w9*sڹht^dFv Vb5K]8Eܼ/qx5q}[\_G(G̚(۔gD°<J5 ُ9 O~ܹr\4 һ318?h6s 7$?fRz\fqyi$V V][ ד nh+?=#k({xӅRQ\iF/NRo%hƯ|y)& ;g;Way!Y]J 3;#>~Hu i!Ed2)Cm$c6^7܀>ٯղzgB="S)soVri/G20}C>t~; 8K(oA@]b!!P!iP@nxOkMphvhF6J=>/^<}dZeHcʔ\Zv/)'|y68&'/˯c>ʞ~?wz;_9F]9*sF_;>!x2Լ ;CbL` %K ߕ'֡ŏ?4ciJ4YgU#3'*݀$>;xQZ'u+e?_,2mc k˂xܣ,pcư>ڬû Ln˺H{]$E@B-h_?g?>Þe_k4۪7q!IvAP?R>|Gh?Emu,jF<ť6[V!_ |5 ?Kqč2Ԙ 5 5$#ܱ5[ܕXU3J.Trqj騸Tԕ~?~M_DԱPG.sS$fM<%&=í*1m6UaRCQD]5EQx |ߙ~4sPcJ6׿𤵫`$KM jES|x[W<a<ѧ6$ &3h^+򞧥xoIBͶE4EX~ꀀP8yG|E^jw m~[Bv8D/#*~uZlr &(|ҿ?L/W㫄[s(eU$h;x+N[孾}N ÚP{oIwV[\Nn1&goo=[Z']=zi|W|9_q05!m'l[WK--ďrW?/c-lA[$+dkd5EFTYJQZt:{KP^knzҸVxy1$ >744bSX 5>']]ۿB*d3k3F2%vWCz: j%6Lm8$H$(,^# wrD6 X Sc=kdԣ {\?LIg]7T54t{apISRAx"$+Of2KRgr6^1qC^ԄQ!G XssHR9`X1I ct{KttW7qӚa\Ҋr[^V*.fG[|6dVA1_fONk{wȶqn]?ZU`ӣSdv„Ppdb~N% ]\uLJVEc$k[1XgEK"/ 1Tc#'$o*?ݑ(5cg_ cQTխsσajk?>Ҕc2sy?; )!FX{VڍHɄ-Hr<}j!#O׷,~SU f1Krv#JR5l\Ig9USz4uYt2?6Gҵ-5;kƭo!ӌW4sJ,Hզ7FjHᐔW"N p1V'>m~A2A\]櫩iZ0 tۆg@G0zsP_xzInfݕAG˖pr+汙J ]㣺_MJ? W6WqTU߿LWA͇ mn̘PA8 Eyi̾mHKAaӳdҩFS^ov) ozzWcqJQjQko{:#֓ !%tKhBҗ!A<=&FY'Y1v<{+;?\zZz[h:,quy^]r , zk:X7g\1RM[T溺5I؞ׁڽqAwnT~^F=6#wh _O- o< H`n!gn 75UӞteA+/ws~PǹSZ}֩r˒>dG.uQM\ݘT\ݺ{wU/-AXk&iS(nw[tQWa CY֗hX6m6SN:'7RƒM1 ($9WKcs)tIql`K 964eb@+[D+*8W @`>\w'b|!d`w8*޿gw$4sF2sr95d@nt |{Ծw_w˰+A=Qoɑ,DG mi0A?UrW(Ao8>@y>.ȨDl5j_$u]~\uT.nuѠFy,ɦ/޵+SllX`.ZMPS Ma~+m|oXӮ5m.^6MiKrFAuDŽ1t8Aw5Kj/fgq \,hMʛFvrX _W)vacX4OP:?uUrI ~G.CHmn4O6?kyp7&XJ+ۣ y+{eߏ>&x;zmq]j?|?w5'K{=Z K V6 *)?ne7սyw_5.x,hHm}ϓ:*QW(nm໷{[Y#J0YH#SQ@~=/읫1G+շҷ|9|}E+bKs޾OIаyǏʾH<~|_ӁXE-߂u`$7PKXH.m8.=}uAKeu=BT"?1XGi@ָ7ңtHFȪHTS\]k:-o :iega)̠C'U#*1 Kz4\ A<61xYJUHRpp Z~ 𧋮R]N~k{ܸВ̔G'I"'5+SUW6'-2Q գ_U#lX"7#&n"?>{"R2 IIp'kI9'?Oܮɦ(\z 9_(`RxRPЊ#[j8_̿U5(-<'Hs>WýSȷlR?.쓟Bx}e?IאDɦ~BOUOxi#I<1j3Mͱ0V37_X}oރ꟝n>JYN.IE'ѣ6TBcf㐪zxrCMZ%Mm +1.ѳ;> |GZTN-=EMGrWW~xo tYZ3FnEI=t?,??ضKz<񛷙IwY#IP ?Wk^+]X2N6vr־m=z;o4Y@"{H&]C>rXc szV+_ϧkmd 7"z?. 5W;-;*rIvS_F%$[X112|dSH#x/WW垏ro2\3Ml=XlC|ƺ]ʲDȥ፤2PI|E|]ys=\0r|y|Ua9rסNPWn~5*ԥJ3%?s\KO3 \޼2#r w8'=k&~izVhUo.&yX˺[F tx"Z5$ Aqd,,R$n}kUƱm+hܦ0ٔHq zjqqkoMQb0ؿ"u]RMsQMMM,\<@Bh"ImlEl89[w tVs/$F13y8yKMz*J19:uf>CizQpp+{J\XkFiSt`` <$qRQ` 4ه1c-͝ŭF q[R|XKf;I%;heDHdTrrFIϰʤ1V&~pc*dĮ ,0)~|l&"sj^FmB@./ߒpoN1]g[_̹LW*'/xBYg[ffHL0敤a ^y$cΡXy6%ծ w@۲E{/:[IT(ZIY>۩PK:_ -l;}aZ;u3k M0(T{|+μE:=Ŕv|*`$A`KVE} ޜvڝ̆w;/#YrGZX,#s{N>UFub9+YBnkJurJ_^3୾࿉~% 0w'G=0*׉t|Y] ˉ^{VlJH}JڮXj8΋x.O.}VHO^09Q<J%RjAӭ眱XsZ ~/|_*9Y2npX2me>:b Gr K{Ce ֒ZgfC@5ֿHaX1~WQuM"b19ZV=ss\34Wsn:sՖ8pٜ)bc}ww?7zŸ3|/1ͼwo (O̼Gr?D䴴m$q҃|eNxM75~t[{+5GVi _0Ϙ[ic}^,ާqon΋red}J;_TF2MY44s,=*E&FNͿxkMniLGf"BAj35_ |e4Wd( . e#G )7}7W g([-%T,X)VXu),~Xiwu=F3} !mSqDVۆb$\~=>ՖPUa=:f.]oݔ5kE(+3&17q >$IӾn.7y1Dz ~ĞFG ;gּVwgwtPJGWsKj^uU Y4_͎In)a~f'1:U{)70򝕎9RG9{]8( 4 ;_LWؖ[v`8ǹ$=uN57̺&ۂGOj>Zk6噆23+V"WtRݸ֦}ch(i<8_JQˡfd[3a@c$ZMfGh|sާ=pDQ_`bQ׭eI.Js' کЦ+{Dq d us *FᏩ4f^ $cN?_n$ b7C?KmVxYu 9\c@*R钼rO zqV3/PjfM:TǍ>#xSß5Ej-[dc+3sq_v5BrK3I;3C_,|a{O6gowblO&2'WW6,5;^hsVubnHc1Ȼ摡;e_~E|]J{oU1[ ^K>񕖊nt1ocX rsUqIL=ipg̔>|l/_ fͥtö^$4^TIF4cqxGloO_ m.w.JGv뽋\*:\05'wơVvF CU|<9^xMYhB#,w6Jm6G~&Jnߔ"9?(ס~Qf8)a)91O[nF]'f{>3 Ka$wJ;Ҍ+. Oi_ tKGECTrDXؒ>R^二]ܟ>| ^qxsI״;[x.I&ӕm:]v5-Us\\B\˪C-ـ5n-RGp]om jZ6Wӫnagh;IFn#pz 1AqL-VM/PQe͸88\׭2NsT8EiF r&<ĕ)R hSz>E4rO/Qփ,|M VZՖ PIYPJY_|Xzax!23 qҿϒK|c ;GE]T1J7B戡5 IgT3*\ޱV^Hn)0#zלۅD'Wvwi]I֋kr "D _oMyzvH# uB 5{-хtf$. 7IЭu+rVI.w"sn#zQkkי$x?,ckt8VԷ׈4w" F~Vˊ_jĢ#0?Vn?*wCw77*\`jPiI%s-t0YUT 020*[:vWzhr r}hd*ɬ-cAفJޛmk\"18) ڼIڤ$rϽZ'('k_~#Inn mF %u9kÃwes粼+0F֯7dlɾ> h|U4ޮWJ"\Fb<טK4Hueդ .Uf;/ <ߦAkV,4cng#Vyaf>`'rѣi$ӯ}ӪwC䟈_>{FXJCc%+5G_6Ik{i)nn'OCG< <3E810V⽻RR oIχS(f4>8U{;ˤX>W~1KNׯܗ}=;d^'>_uZͦ}A75i]Mo5H-mĻCD$s]?4̍$gwA"q.u)T}pX#2'Gǟ>>o\Z[鷯mMEm....Y#6{,FG2Y};jv䶶 [cq`Afi\O#Tm1=|:n&x(ڹ{d\tnlr>X=}7ƿ ~&k]5{SJiQl4hTcBavwQo­_ WJxRM&k4}Ֆ#7fc d[ly& Gbv~7ﵛ;MڤN{{GYHVW:E.|Tp.Z:U9IE~Tz~K(|c+?ꖉ iΠiSLA/c_ubY1ncv= >?~? h;i-0kyp:txEu=TW1⯆Jnv +*F:=Uy}ݞOi':z݆ ǎM5]6YydnpG(O8@5᫃_7YGf qd{~U~)[.<"pYsZQ;Na4ӱEr1\] ; ԁֻz[Ė bKld[yv*0랹ؼŅ~Ap89[F>G֋?5+K+(km[*.H*2Af>s^7GЮ.RufO"+xa/A 5}q푚/BPnҥI?*>xߍ_#~Ϩh\\ʳ.$)k&ݜg%`}:A>_S[nxTO5cyF[D&F)*d>21d FFp{{WuJӊ^#n|s /v} rzv藚Blc&Np:WL/'ƱwjRtq ><Ί۩q,a ;覸od{4,%dlXG _ʒ8o۾v:iϪ]I-pÂ\^hթQwO:'*vS7díwV6|9Q֙kz8Rv׭t˪MصkCϾqd)-Bv:Λ-1HOJH %+[X4ۨcA,V9aְ!571UB|LUZ3tӌZm>'#hm`EV=>_FtK˽VIvʅpp8>Tr[H\N_QֽZZZ]C1u;BqԟƽFyi۲S5 fhX pykv4j{s^zJ| X=㡧[`0\(\2"jFan,'>WrGr۾881]m{$83rO*g6J'n2F$zIΥ<>rDeh#:"OpeoD27<ñ'RyjZ!Ly1=7@ӘAUQ1 =q?̅4y#*g3֙V眩/ӿ&~H $kF5Vނ=UTUJkt[4BZ~. V Go +S[{q;={_9٦Up1仸tZmmpA8O+=OAXdF'5U@ 䀪' !oæx]Kr^c –Inu(.MĶme&V5aii:j6u֯nC#XI{Z( (>3>xcv8YJur2&֭m'?Ⱦ}:W['Z̄*i1Ӯ-j/_6FO~>7Fn/ ;K1$ɠn% MVG(G[l\gr_Y2OGZ{Svob)s3nq ڀ?P+?VҴwKѵhQRa ~KXmb1N72l؞+lC JlOS$:Em'd;]AP*xCI1ki.|*¨Wth:L( H{(xƧI|9[,1VS2ȑRp9 ω-5k$wiڲV1RNcwoƾcr2K2*߰:s5υD|deQvEFKn?Z5E{:zRIO4? ai~vBS09HHRI¶s޺ !$x Ḵ{mCI%V'Yi#q Axzkڧt_Y[0}Im.|x>A0>Lsۃ(2rPgmoRQ|$J h%  _j `Ǧ\DXymB=]#MGU}ϠEBQ-"{)j>k9%}~lA Ǐ\ [ͪ 4G{ 6輦-8u'kWs׈5M:^Ēe[υ%\e!y* +g<+22mWPKNV۵m׺>Kbƅ|3~:-NoG'{7ǑeV(.`+d柶2ECqL2xFxiL,#fSOp]W?12AĹ[Ƣގ S-cGw>*ҾY>64Hַ^H$* kkYZh^0оp)_28(8mf$lb\`bZ%ttWhvq_4m5#jvdBB&Gf=ϧ36*RJJ-k}9֞CO8Isk]Z_]i^YF,Sp8$=@8 7;H|O;ke[liYͪ H?M/Jaq&{;Z\ѩ DYG'~![)Y}>kdYJ;fE 2t kF!rZݻKkxzOSM)N\ֽo=J*JZ5>Ҿ"1q]]<^V[XZ Hm3媠!z`$u=kI2=({Ukʣi Q&$FaHX Ny8'Es(hcnsc8ykm2%-+?}kih+W5;X#.C3C2o<9ӵ0q 'xȮ]HKm!cG[H,ٮkǎN W2n'p']e%v$Me+lu`Ts: Ϩ[ Ր![v^*7 ? t!K{-#ZDB5m(xU<0Uod[Vwı d럧Y.`ScdbT0`J[ݡd(,1=ñӛv;5%D$,rn\Xr2xM0rG#3-[@8*Qc H"CF}wtu@q_ߵfk^ѴPsEabÍD9`WsD!0 =w|Se_Xh\ 6l`Дh!64X$sc YEb1mtI&L0x'Ϧ -Lqvs< |\J`jrIZ:r?#߆SNIC0Skm/i{^M]uq>/ <%k࿄~..kXmk{5d|MKUjV_ XYxu=XG#Qq2{C.֌ypNA\k/H% A@1hmRI7)2sVGGŞ.mRX.-V_19E1 %tb.k«G |LZ![ȯ ֣̑_4]cDf 6xSVA+Ϥirqaoi v7r0swq2y*%R)ݔ!Ю&_ƺi>.cHd%HѤd pPYX^ u/jZm& %RQps3+ζUN3%#]2R'yϖWB*n^/v}>}{k I~?ԭ/Y&Sj"b]%%Bk}H8|I,5ω"]XĶiFKɤ*vvxFg.^4>N!I%xnl!Wnf?)%pQLM ƶ|SmoI(k_{Y,; P25eZkBokZ8)SV`2=j^ӑmba5fgSMjF-75+U4am|O؎CĀK`S!RIq<`)1Ms?7)DՓȞHDϲf1Ff(I/_ywP߈%vFKCǹ01ϑ$|Ǻ/Y4iPYGqouo{[^WٞIT'}3RpZVҵWIn.Qr-ߌ>tSwxŚMqk_dyJ+6ci%s9E~~4M JX1ʠ ㎤W|#{e>$f.Khy[Ռ`Rsxfּur^Q]",*I#N+7a)rWi|W}~IcU 587_7UxWqꗩ/u;pH܉-Kme#S_ôR Cn,cQx.xߑG _~ l}8A ,r) X,`TJ8"6eCrAUOr*;C_y+biTR5%Y(__{%U"'l_ӾתK6܆op ~zk\s5}/yEےvEߟƾܧ,JY<=?[o$2Yny.]ndn)n߹l Eh- rF:B.vQv $d1SŤk.vlIFo"k0sq U+' @${Vze^lr@99m/mDqM ;PG } J/g'(&Cs!O5o]*o5$[>S­_ٽF[s ;$" ,[j/^H*_p۱ X34+quouo$$11~z:ky є29O.⫐7^MB4>jVr\啶W@ZxrCgOif'~C%4>+x[k6n!mybe2:bOޓ^M𥵥QQUccuWlVt,+<T}Kq rpŏJT3]E{N*8e떊dvO+HoWVg}[1G<47͜.̅GqҰQ>d.0)8֠u ]RNN Qx#y;㝕'~ȉ.bkČ|&1-TNGUS5ZweCϲ>g!$JI)+u#-7{9 00k^<謷AiUJOs[+麮ܜe*W"0ϡϵr.KâgXY뺭V{oo,/؂ $G U EE[W*vM/vcp䮪TJvM7hTdޛ$텬{~Y%hw9HD3޼IgS^遮KOa2YAo8|2DkIv8s?3\O=`\2-Msc>bfeRp |5F՟gcী[ĚΛxL5=?K.w" -+ɝleL柬RWɱh}fPWj-ӓ$k{bK׬AeI& $hsN }}ߌ5rjynM jf8b{pO~%+2xO u{Z-6niiBk%n 2$-v8|Ms>x[I qZ.0?ir ҄[k_.i.)al :MVN{Znm'+,̮Hy;`.F $unz~m,|9闺seBnSH7@OLoڇN.ou_xOA^|>\JN;mw|o--&cIKn1BڒGW,ȧlyƼRmZv-8qwe)EԲ\W䕿K *ggJkt`^ UŽeKnv[ 8(ecsye⾕[}}B+ܻ3qp `O^NOJ]GJ54|]y ݝd+xmKhc/\@Y E{֥?&?z~unnoJH&[ou*ܽʒ POg~ hc߉_¯Hϟ3Լ%47oֺhK=ԪK x* {UKIb, z: A0^Wo ݂jRi=nޓTgX p=Xӆesm=HT^@\8&̙5ˢQ|U_]Ucx\R dߖk R|xg^5fxoRz6罊W֟9C-p+^BӬ-8mJfb~Ҽ6\Q4,בޛԗp~+750S~}GY EAomWv0xZ[ɍ}F#0me뷧ʸ#YvI)$|3z(1j-Ϊq5h|Ayj1м.R'U-FFv:$\זj $RY/xÚx=/W$ 5ѩXW5֍nD"|!ʓǡZjt# *jҪ[[~߶fX&McNGeԼ#zw|,l~$hs5v֯m2<[.KHg,uU?X;+|@W|Aa>s;KF-GZSV]ISNM3x4d%1ߎz4x',0I{Ėv9k^W ᶌsbj6Vėms3`nF95(ʟµn%Xid)f1<{Ie<3:6kU)'v rLx0.W;w? ꁌ}#To[xuOWpWԿ=-3'Ut=XiQBоc;OpkM82DžP=FsX^n ;r2s޻/Z0I` zFf8YVlBU`09#ozik'YyqYZ2zPKp6}0;7j(:$dz> _,+{fk%S4{dT~%pqOkEo.dwހg` 9'iƑVXTw.>#nkTIOǚH][Hݼ:SZlT4S.z?0b43m8l2suVvͱf@~8|N'/,V" L5&rcGxaٺJ<c>\4%Ѵg,Xv5us,ϱa s mOTN>zTe^Ξc jտ.G6PO^{FܠVn{xߛyݰ@X g-ezZ/iozc]эN{xWo5 x㚗 `,mܼZtJJ'sӯ.v=`g>A1'==AzPDRRz}g)f|ү&FSF9o(q sX,6ݤ0{S#|P /KIkkrasD{2r ʆ<rwuռ3HoH6EA -E'Olibя8'AFՇ!muu-1≭Çi]$h# 'Ͱwj^]yʶjQr$>DI1U1'N: IẎS^:]'yy@R7 0=!iU f WOmFv3_Y#]}Ŷ˨7K̡bi#DV ˰|Ko/w }o\@$nG*H>Iio|QxuSi.hjV6.\Fqg-=2ČQX?I?xcMσ2ňluw sJ$'{jsn+ #ſׄ_:Ɖ"XMjG{KGf YM=mţDYp'G_W6|+t |=V#;:-4ɮԮf\,<Dm~g?mOxWgZ]ծĐټ 7i }Γ]\ʪ;EJ?1|=ƚo|4C"k_v}sgv3Yc g!ˑmUqƿSf%fh*E xfxB5u.<ְa%۪ZJD;Oԯ?Iof XA5YBcb -NI'(ƿ> |bx=g,3-ڙc=R,KWS!C?/=u}օ&g}KZUPy&&G=D/D7Vÿ !ŮwzӉ4J9H\c&bn-?O+ċhMk/<;6yodn$@5 PVI+E:_!4m\Mk Rh5+5E (x#xM4M1`E,YY$kCa"B:癶7 l;_m\ xYriKKy>blW?KebޖdУ.ݹ$&|oOJ/ ӫ'&|/<1W?u~?Mwi,cZ?<4Yݾ٤isѭ!?%DIk}CGO2}3Şe|=gx\E'My׏|!}{lHH ~xZ:? iݞDpЕ9{>[]FIcϽMBeUɝ֓uc>»^+d^SC))oksw!c31v6ߋgm.@ ·?9;W־Hmo2p*.X% (m07n`F6ucQ%c*taj+K>VMi*Z1۴(|9o}o7K6[R^] jFAםѴOFfmJ_(fyWZ\h:.lڎgq+k֝yu Do{o~xIHVLt[Fv©cӾH/ghz#7YIa"9_ dWꚏuqιt M. o~R | 7ږ4k!Fe\$UH֣$ҋ!U?7׈ᴶ頶 eQّ`|@jW›Rjq3·G psN+߳?iHc`c`YG=| Ҏh:4QYZ\bV2 _'8ZxHs]?DU*M{J1b-m5K"G0dzW3'.NK+q]Xg0aqz35{[clVĞ>xZMٶ7,wjǖK;/S55n0۾uֻi~İ"bRҰOĿgKYL/o XãtbgzoQ=Z:q!lQx"5F~:.Nô.#ipF]ί6=Rg YwH,9ҤЬ5^jVy`&+m–'^9_ 5絴"϶$YFr"$''܁^6#~.mhCY*bO~ ɶ9d.ɻ̖fhDR7!Ip#~'<ڇ.'\z5c.W͡-@?\Q *kڦH#ͼqmcL8>'@$i#Km|IPTqF*>^u_##W&,W4~Tku-麗G<_) c @XgL]of<[bXawd1BUH=fDftT-i@ 3ڠ> MVq8x_k#a7FF3q xTpQ$U?k;AOjO7}D?c Ya܌?zĥ x; *Me4p$k&v< ㊪ZR'ukWU9ߺﭮOMGi6i^Bji8Z8>[`b;y1|rI!H ,j 24@nd+(=3^W3='-C]M/WhldW,ȯP¿4 .[KԴyF>FD T9Q?{ޝw۷[SOw>@~խYG;V rzgaD4Nee#$('0+_遼BEw0gBw '`7?'M.ZFdP6^W,l6WJS^NR[Kw?ogӼeV[zm~5=O=h%Y J8y+P+x?cPtEʉt€ l'^GùX8$&2 Sd_=Wkayx51}]_CI`r gMZI]]޻KeofnI>Makpť\FpjTKY@6zzzWs7vЬ+ NqT>!@#) r9V\7BI<ٿs 6s9V&1 ~9J)R,w`uv7ڽQ2?xx8٭5 &c {M4i#f^0AO9[K2X+9`XCM2#E]ycv<i|@Oɞ;`%7 xys6 9aݒ_.0 =kԗdRq7|q87Fyp3i-wXKyin5f9˷a3Dtu$tͯ+)o7>V+C% 8#ӹ\j!(Tg@zd& 3PBeNR3rľ[K6}3 A쫎=7+'-n&uP_ݫw?h63+N}\ W?M/Kj/mtőI؉U93Fg4*Kgq[xF@mY-ZK*>%Byy[CbOc#y{wj\xŵӆH" e]$.]?1O0ݭEs5cr}d;"]FmA=F| Ēaq.nQw8O{UeUexTb'&bZ6Owdw dlp~ү'/!uѯ#Ӭ8L$:REhčoxS~Gbovġ $2KF~2~%je[w&yi$xF)A.Gh5JH[}X p:ς~xiWw:`bK{{YFۙonYVe$)vA 4q+ʤpNJJNN]7gvoluoxoºxf!=Ѹ1~FgzW]ii?3cgu-մ7b&gy]QYƑ!TȊCU !|}x7:XjIc,L pEx`VS9.ꚿ3KFLӮlHAdCy*B{TR>s}>,_h]9 ty==/0z qPjl,jpWOZORQȞ'ޑ_D1&\rJP3ǵG^9}ƤcWs[K`[^V^z*ujuhI3@\$*霏LWAmbyfOw9XV׷Zɵ*$yd#$s+ꮊ=@(VM: mtmbx3`< KKq$ w s c5 8$g1PrǐGo|W,9-$gsԎ~nqs$gAqYSзZQt"[A>Z~{Q߆eY㽎 v$,r|r𯉺|2'Ҽ4]7۝M,FifF!cە'?fxS6(5KkNowwi%2y!TZ[#8N3^s;ׁ|d<]Iz|2ihFiH}\d7\ѣZh dXҧ<.iAIII5mkC?gڭc\fS,WhZvvt #IdRJ*@יe|?麲VsegmEm5նcI@Щlj>kǚZx~}WӮ4GW6\orfPX1?PE^~|.!$v/:^,.Pp߾OYsOCT[I6윓NVN/?x_QN$X3*d`V$Y~xxƺC<ȱBX$_j?O Y.R+.UyX2$t 4W<1][4ƞ'ټ{A.̳ܿ ^aWtlu]3V2̃%ˈ*4an34d?iOڃ?N=M^yw>,6QyeyA[PJm5xce߄~|U-&[#]|HI,:C֒D\%ÖfS{v#o_1W–wS5~MD1co [ h`-_~Rx_]𭼶0K { eLJ%Gv27W2:z[mmDR0s4o(oz.-4ީ-cZmzhQZεekJ$P/;8^Vnu~ o @ 2 @䎵n᷄帓NbG Hc8K`'d湏=xdO.({ƶdms`=7Z-֋ ,P>y)F=m{ZWk|wjGzͧ\}yG*'&ti~^; ,zbğSW4حՒ1|6lcX6=ٞUںyD2{+Mp2;õynRZ6KoO'xFUe֌dԥE\' |Zj7<Ԣ,ݚ{]F"Lnb$b:>3_Mc1 5VD66c"L [8;Hb1DF I9؆};<+ UsDPaJOG_|'<F s$`:7nV@JZsadύ*.>Q{{y D7ws%c )ݰ;#*G_ +KH&+B[y>HAG"} L5⛽W‘Y͙yE#hg$ yQ`v *A?>?{h .J0Y!1%.gfrI{`{WQkyrwLasck#$n@H[Xf< nPd}nWs5S6f_][h܋+ݡXdXZRSZ dmE;X r8x;5=2&[9bcNmW\—m)dׅ*N.ynM:{~_#sQK?Md$L7Vf_Q[cT3+a9^Ssx%e{}HQ$ qX'.2$dd$5Jmu)#8'?19ϵvBu7#xʤԕpx{o ^W<UiVBm]fX)G!=zUįqTc 3TccgQ53IW!^k9S=-s:pWa+uLTݼچm>7$#f.Px]. X-_hY%8'~c=wL[\Gp-`G3l#nK?N(jﶲ%Ej3ݍG'+c>=Jsc}kP.k 4W2݈hG6̫wͷ2g˭@ȱ\Cah'C)Ai? m+`\H\֔CJW@A %} *Xo`N>UnkM#=i7}^K:YKe1҅=aմi7>Uk" UnF }>_xHEЦe%sV]=QʹA"f"ђMB$Dѐ? ǥ[BmTI7'XG;vIco%W"pc0#ePWlpNZҕ'Svk}~HqJCRGmM=] CDx9=enÚ }J`#~F>swwMjr&c;\[=;Wo\KfV&.+NG'.z_^::.w{KqZ-[cj&L[8W#%.>TwVɪ*cUeT%P H`Vx XRQb=c.k6F*ue٭^YEjs^`yhb5ITg GI> _*j iv{Ë@(KLtA=y!]I+'r5'6]l{#%ve/ Tgmo*mGaSj3cl7yx؝r}Oa\-޽y81~_@UEԃw~5j5tˍOj(qNӦKU#00A_Ki_|G=^x}ıKKuٯn-fmāml?}#*6u>jŴO#57t"^M,m[˸0;扷pۈps\@?g˺!о#m|/O뭫YϢXͧcio/<2Oi-Qg0d칩M<7'DzƏ' hmhDgƁ`}$01%@#*W!u_ ~ʷe^xſk~RKg#Uҟ]lcltiO*+T+ g x>s[Dک m Ct2NVFUiC ~8OQ~È53wxs6^xYtvDK˙ -,*9tMOKrɦjꟳԤG2' |%Vi&t]Xb[]FHM͒딺H$8b?ƻj,i-2Y `{< 'Yri*"7A7~u͜KuXrFq2oۆzQ?._k-;UWF#bA|`dҽ?WYη_i~-7[8,ܷ,i#nS$a?2Ỹ0i6#om_M ` ٿ2~~q@yM@XԕpG[ڰb8 GZvZTZ"1(HDUEPrb@_M"P'}E? / ]V9v HGU 1+e&ǵKTdjGZvU$bhcVJ6CqHOnw0p獵R]XVT1KAUe0fL zW'] 1ҥ3BdR+g'ҘWj P+猚P_Q@ ,ߥC$ȻPI(3b6n}M$xI֣{H0TyrhB??+oWiϼm=6wMXNq_7|oN͠xZ(ӎ}#bqa:W=a%y&wm}w6 1PONhd=C99)#GOf|#hʊ9~ÿ?J5V=?lݼdɐ6ƘR}XT{9*>C*f\Քok}tc5?SMqtai9dEtAӜf=;VYp^P^ϩ~nڗnq`lP栨}vfgUVCm,9'䭗ʵNXCʕZWKG8m51yǨvI0 ˞2AҢӚ6~dƶ߈kݛ ȹ,% IJ:3Z?Kx| YO<-=ݰS㢆rc$d}=icuyB+gŚ8乹w[Pw,yyb ^z13^Y!SoUW ֺ,%cfw ޼7VX`hREݐ܌56oE_}M7p `ZTҡYwuqzھv)ʤW~2ͨ5%iMtkH[, A#z?5 Pi1ȱ6nN9SkăZٿ ;;sUbY?j;[b0SJ4? #EN7Ү~{ds4s_Ojm6 +O1Cƫ:`ִn韯N+7HX%v,̃W$Rx?b"Mn3S׾\o,Y5ep}HU $\}}mݷnTʞ7# Vb|xo`I3%x=m4$EWï~iK5[\ ]IVs\s꼓⦹\n p^*pCNO<-BޏTWR'QS5t>kׅ`r$?&}>^-Z[]ıg M$/\m>?D ԯ,zEO =?4ȴ ld722w!P,z{fa*rizۯaT$^on~/xR,> qll2hQr8靤WxrO'+ /.da=\D s3senʘJw-y&o3Yo6\HHn}+[[IgYcG*ԡ~y(WGKOWv,w|mg]ݼG&)<0=n~Fdu6aOf2t wmҼSun `]Ucfd`{:p0d_[}XqN k=ĺ֕_pgI2H죒Lӂ'+󮬮Z2yH㑓N;}nר#W6hߏcr>cp 2( ڤ0NxZ )ȸ&5oBN6a6+fHD3_35$Vh$}Qrvсӎ:WC%]A9!XzFROoiwss0 U{2c#FG"tm.w>k*UP:Ly5ՙWX ;p>/KvF=jL*& 4.ZG+FT)G_IN# Ԅf϶y/ѓM|[㾍-kdyy`x.HbWAWq]Rq7mU$ shFۅcBTc3k{& Ki3C467yvlUJlVd,8 B A) s, sSV!_4?|sm|YII5 cuS i%Ի?~A"5kK?<^+<(Vf7q뵍f[Rv˪KG=fMר1#F6lV*$|UR-H5]*6HCPͳ,w *澄[>*QY]MqfX[ XٶG"7A\sQq_|ΞY8VO?%?_];S(v:Bғ  Gw~"~uȰ1$"$¬qf$b<ƬkO>IKu޴&AQ;ظb'bN+[g+mk>$qO3g [V)%N kżđjI-NNMFIzvՏ9rLrӥq=T)[Wk8ZFgxWgKRhiL$d*U7Qw}{Y`+X'Ǔ,rxfe^h(C-U>rú}Kxdkٱĩ(?,q'UBkPik6uaYI'{'lHv u62/_3Z3oJ-~wC2bӕ*Iۭ!wCTMwT[p =~H; ',f?-ASOH4S2i(7Q,H( r漣ş۷f⳽hXA9aynS3:_þ=6Sijaok77[O  d7T+<Ѧ~OzRITQh /l5I[BWRU-0K&9WQc$gM^O~%:vVi\R064K(ڤ׍[|kWᦆMfHE ~ іR vyY?G|N.Uފ6HT$Y쌌O}\[5mmZ^3G1}bbVwK,2#a"n~.k[/jP,鹤@t03ſ ^PZ8RS4Թ im{ݳm^Γ?"%7~]}?gOI_\iWٝo-ke j,pOiai0q_??WMӬ[> [YlnY)»F_j>7#yJr #pq_e 52JϙY;%BQjWYs[կgj𪑝}m{RW,]s=[$&Xd ~S&#+;@iV;R/uN&eekI<2,*N'vXdJZgeA.y9:UeM2(g"ol>v]Yv c\Es.M/ZW.YO;, l$ 5]|ej=WWԷ\IiP"&mb=ʜXd ́ӵ.6_1` c{^k FdY62 2XL2xGЭl-m,6Y乒&^6!Iqr_mR\&E"T$Yn%U@RIGqO@ ^}U]bL8ԢܛfyUJkQӼ><=FHH%F:oq&X+ s_|$ּIC*YY y aFO2hB _ݮ{WYӡSܲiig}?rxˎ(4W3G|kMںWկ+_:u߂mVm1${Y3%mQTI]Є\wc2ő~nè=Z_x_X{7څ$K$+ ¹g62x4{x[M-m. tuK~w2Tَ"4|kwK{oFx-݂l'9'xgCVѾx_CiUK<ªAYw|gXxW}Zw5Ԗ /ŒpQ|XSFMK_݂nވݔE ~fT(0=?+7)f ~*o0nn~"`VHT+@RdSt j↏ x?%fFeWu6X,o"L1~zw"~17ǭ7R4"JH}+SYIK*C*# `_GT}^b*}XZ1_άKG R0펋oY_X[3܄R'#>FH+3狨ߴ:S⦃*״xLzMQmP$hآ$9*{9ӥ$XWtTk()Ù( ќew}.|;MuT2X˘<}B5n" cy\FdF8sTn1G *导I6AJ)a1TZ/Z9$9<35GSԵ.aܜu[跚ZH q6Ӯ݄ )_O?{1Sm[`i/UZgcėk19#w&`ThG #I?S^"=\'901rFsВG\+8o&A(ƌ#鞢1RʊZڿ;*g_fC2s !vݏjD2䓽Hd^*Uؕߔ|WxV.౵X^=Z(ҍ)(+[7^ z{W K+jVz;r`z>hWں\:^L 'b|GY_WI{T΃{ycgi#]#PdJ܃vT ׀c[8:}^x5MB ]n2vEݱ@S!i>$!yYQwmQr5$Zus&xhc-yFzkTΗsw{q<:__gڄMs-]=I 4:nw snKٿͤv{g,Nh$0L$iy3K>B@ px~+.2 .zN{][j)icUN^o/kou(XA_zcSOUׯ^gmv%&E L+pWoLrOҵ,/CyQJGBo4Fi.x9<ĭf&[#-՟ҾbxGR"w4Z_Sm=ۛ;D>\$}j4"]:=x>7i'ԭeKGN hʿO;X0y s0z&tԮđ}ݒ0J2| j6}6j;neh\wkvr2ivGv&r>g$=6@~1郌W'?c:4 i~1-ֺK[κ(JJҹI3>M}e׊m{m8kIk$0`'ttL"b'0l-wJNV-JV \ڗ! I$W;m\ <ӑ_74z]c}%Y IXK}ȦH|Cr;wyW<2&]#0F Fq=B=4 H|u$ Tei}tbt84A˭_=8;b\4bIr8@4Xm=*zJor;'N* ]:@&>P)sa ^D9Q t=9<>02? AR -@3 Ó>¢<0XÚuK4qy_CmnFr=nm.- ,2*VcU}=b.#$`Wm-,lyӡß~47O쨷ڃ-Lp=zf[a;Ǟ/ī1vxXkt'E|GpȰ[i|QUG׉:G2c*rr;Z=64aVIHOQ#?wokm'SO y#-BY.{rzpG_tω_ |4]Cuoi-\D嶎 S uygsi|a8S_R_yq!GsV߲|c5/|0ZOozٵ'Rn--ܳ@pDFֲ,gPy| -e|W'yoGGk6`u3ӤlYm,R/xK:'YllCtM24{o^9Hm%lxUyKSFytbmawME(n.y/.DǂN\meK_)ݐak84'~_G~2|+ς>^hoqayfmUgXtcBEuBʹӨ5).cY͉u}#%~RTӆր<vоcN՜d[$2L伌|ǒc޽NZƧ*.[g;b7p3xm-.5ܩc|c]ik6Z6㸍 n2C+ke|)c/x. }Cwmyᛙ[ZG42ӱȰgy`a0i|٤8=l?iH?~jc,P^k[6:3~ue;V9@bÈ|@cd,/՜(@ #g6~j~Zzh+ml 6Ol"*I+Z¬EU'uy ~WKc~s fA_VwB9`<5>yX|dgh˥kimgctNWMS=U]K̲.p<0 9۶@@c_@|?o#aX?ݖ"E`zkҴ-J1#.%$;o@::>|"n![mMxT.ǡpX~ +\; aTnǫ7m֭,>5][oڊu_Ќz)4<`W?uK;-ew`oy$ .2-n ?lrD_]启q_3Wtff;5tg8z5R;=NGALW- L''?κ)5 HOýK崊< B}ڙ#3m0#\|cӊo PE1 _|zw;-?".b|@=B{W<^#TcZ?_-_G[И[Ǜc`İF/`c{@oZ7Z63@ 췱 pV^ 10Q1?wkrBbV?̰==7xܬ,a5q069VAfTOڭK+tbhEp@m\Z]͒>ڣI85.F:ƸaA"5䏉 gm緊i_̸bp"q$'SPkKxOR xqI<Ng>*kIaCVw)v9$:NqZ5% /}#A}b߲͏MRe(f]:nE+lc+(UzzF%fV ~iP$qF0IȯӟI?7  E>|un"eP3ׯj'AŽN5F57?돇+OC@գ')fg>\۱- 1I$cݟrIu|xK>Ʒl09fT`<9|"OmpqMςh%ڮkSAb<4m*~3_*֋VqB~#⽙C9o&D~8g(UKkS_f.ݚwZ|4躅]N>Og& a <@!n.hGR_^"<-h"TF`C^gTt+_bZF`d5OWG0O+tiF9e]zTZXMYBy O 7j톘[ģ\$,r`JeRAW27}w~ҚE)-př1=~vRMM5%,.4."#M)02+ۧN>mn{ zҷ3a*΍{cY/eE?/> [I B F"Fz3Vo#GE \}0r9U^G' 2I*Kq2̊Wr:^ɴ( zӥKgՌr8EiT[d2H'KI7.X_+hrHVvZq}z& NueZַ>ܞ<Я,/Z6zW%l繊y)S=|j.irt$UM.jc\ICᮂ|JZƝżpbB[5?l:Wv\"Eڴk0.PAb,_5*m'dKKpG!LO+#h #dτz0Klf=@` l͔q1غpZTE^r._RQ]iK? ~h{k~u,Κx@]}F]$ơWganbhaz܉4nVn82Kb UeݺKs cI0xLmi>%O6ZͪM 0F4v}Y>Y3h9J7JjNrjN-w[O %NKwNT[t=Jbx>FJ5/ھyyC?'X8|!4iouOZhmB4{|FbQfRG͌cma~:E֗_ xO౾m%k X;dyI:ǛUf-믉>-.3୕ֻhrX o:I!c`a)v-/ '_7+_ GHΩX4/Fu_+MUO> 4YGK `F~4լ4h%q0E^sH${W4cFm;t*|I^#u Eq($p\ێxT[RYdjB|@m6ԿT.LI0@ d]bĮF}mSNYى%.Qp~Ǯkۡy&,NbKR=*a.s2a,=sۮz4jڂG4d ! wF39J/g0$IԦϏs:wMG oX9g8'6 3F$mI1_,};VԚėQ벶|#.KW"JW1d88TFX 6W<3ӭfVsy71}zw*X.n-HR[I9#y!qFeH53t.Dqć/0x1ڰn5#lc1 s%PI^bUg$l9$:s'gONm~{m8le; cvI5# RN}fIb3:7*Q\+qI4ۓ%~&<([c%,u5k0$p0!LWς|G[3f]𬶺N u-/lSL%ܧ)W\YZAacSJ?(h{⟇5k>R+xrG,:sanʛYVp9-liӍOfygY)caRH>x9;+I^hӺ+l})(5Eh躜^!:ΉiYരg0IC$JȮ03};m?ƺ%W6z[̌ }r+<#e|ִMSVt}|?}`.XxݡiP{y ucox&kOo_߾bq],m74B;b⊄<ꕧ^sw}-oGzuWu=vȍem"(\gӞݫYo>xi/sqZvi-& m4$>~¹Y9&UxĂqLj~1k6R^EM}O<7"鍰K i!Lc U]x7oq{-j:ƪb0z.QH8n\W> 4mۦ'%N5ZvI}^IK𖿫xÐG׾)GXPԦ2Vs_%Y m2MC쯪xSGKKky/gVB;+kmy>i--Hמk;X"H; K%:*PRZLa$Aœg#\q_JYPe: ?$e.OH4+|eܬnj^mnWL`46+vOfwr#0Y 9G|q¾|+<}'~$xkh#."FY ϷiM+.9o0qTl38,FܭȬ۲RiSs}kW[LKU>-֥NEYCY#ZiTАDT$<ǭlG[8m^/ $b[rM&88.Vvv؟MѼ㖑}:yC-DbY|8''ʿb:Ag,m},hQ|l>UcfcFs.KG-I&Ѹ~ gME$YPl MfK[B/ g]x;ź{{Elړn; )\~ujggjd$ejv<(B',|~+:oiS5Ayum Gd\k:mTqdmo)_7k|S(;j>#ӯʡ__]Zy CSOTcROx)՗2vg^t"ԞJX4Ks^xk*R2) '"CPFZfknyG(V$ fI]YA#Z^AaJ4|sV?py_QڈIt>-\K#]~QQ μি[97r3iqLZ51m۱>=kЫ9'*[D_6Kq)F?xw|QY>!|״ivZVDi'WsԚwu:_ƿ?­t ? tESBY5tIZ|mHa.J~|[m7Ş IZڄ)&K@%DPX}tJw<_||S߰OOwGVDu75ܷ?t֗_+'XAo2MionA_U}vdvX1; 0_m45G K#p\gvNl΅S\n9:ï\a\.1i$|L4 02'VMV-lap{T7Qhd"GwU;xQ"K [ϓ|#@ʟ$l[qy<ך=_qOxQn-,"X8=(D&&mNyg[ׯpUQcd8Lc5CYnIMisCpF6 }k\3Z*ZRnVK[-z[cTT9WMGSdb5 T\}u ?Rsq,q2ƾ"5T 7H~9]1yjܨ Je)ܠNCíg[~Brc- P,W$M-D@ !P[q'˥TmpW#Ik i#쓯ckvn]IJƍ;hQzƀ,֋ uSb2ȩې'<~}<ַ%$aveG'e& ߅UVgMyKbe*}GYV7/p ێ_Evva>ZWoҾo\ ~9k4|X4XoJGMko "2 $nDnI-1M|/t~!+|Fh%k]YE,2'GHW>|;kχt}"c<2nVIba$3C"VHfHUуG'ςm_čHm./%4]fhF5X+D:_05;34G鐙$㰕`#$qO# z?+چ \dm$Ni'Z=/%2A|5<|"Y\[Oq[+] G<==gi6 ݎB:8'?z|O4$0?v-}_ QrdNޚt^Gp5% }^'t+!.g{V*ܪȥwHp3]|CjWpIe~]ڷ)ρ"M;k8ǷZ{τ۟Y˩iDڀ0\@ZG?Wjʊw3bUUr|m.{$RoI!98^ۄQڼ'GuE4+-] b9NwF{SQy4XNT5ћZuVfr@SUKH91r=,fO8H]LTsIeqTkaf?yk VYT T=@֝B rҨ98^'ë2lZk}",u +S ˬ->;P~iXec $9i&m]<;A$1-J\Hb@E}FYWzg&^4WŲt#X<5ap .5ӷ*x>VFD XPÎz`| oX[0π-uƆP; ^[e& 2O@@kz\1f d= ֫1VdeR;``Ν3^(Ǝ.]l*HN}rNMz8?sլbU֫R)]ݩCF#W1˒nSg9 ꚷxURe 힞U;.q}Y !HX1p9/c~]klb{-qn$.b12!`p6`8iIU{4HbSsGv*c#,685k kw!ԏy*kZt'Ҕ} yu9BImOX&Uy`y_v?xOO}nN:Heqk!OxY5,n7nrJӳ=am_ǩIOTzt7>VGso+Eokd  ~__ukS?5hmU&$cď nM"KFG0e#zc@1;纞vQcie@KOƸ9S%emo%˰ؙR|]qx^\iur6hHPYnC*Č0kh7&DY# X;GZzעGfh1?9}XΜ~FW ';'oe\\ܽk_,Wo5#0Dc*Ss4??<7%6UwyD#X,cXQO `YXZlLI 5<֧̫icEkmL:}Rڨpm Wx,, *ϭsךŅݳ#X[. Jmpx=t S7g̊EG;|ʏNy;Wl$S úےm&b+駏t֪ڋHNW_&DYS!7*L\F}M;4Zn_-“nNۆ?uo5ޥ%ڭti3 RlP\fA#2P-?Bxލ r_o>{ []VUd; ɻB6n>"Y')c4$N;^kWs% p]FDPΌXo^:\8X[Q5^OY.tz/;[ʿ |kiŋ±DYU$A x״ڽlgܤzr`v1 k}7wMHgPΏHBį /l[ Z d)d}ErV2 )"#kpMЖ'vݥw~ˆ NZڷEZD>$YIc ܅$ |TYfDC1#Q'9xฯbi|%8t}jA=jb![.E>;ZT7Ŭ(vX;`q޻ f7s*{4W2^QzcV3u`YdLyrX}1ǥyNRgF**2$ :`gvxǦ*0iW$1XFqx %Nw !2GC>+%ܡ9?ΞbH7lA __RDpO,BnV8 uSCV-/n_*B_-O,#ݾf! 0 52;VwK`3n# Sy'ɬMRPe5xv%e}T];d\?@8sr:@8#ҕ؝r67*kb$c0;M#v/|DԤ2jeo, mul䒡GGJg#10>`GC_%|{Z5>/{gOmYH+X(c{<,%tvRHB|bx[@_n"Ocv;A8ᾅiz-ȧ!c,-OB`ʾ~G?rk&UWWе-*80&X{" &υ![o RAL_7A9_Ź:e&po]SZ.-[<\&/KJ ԜRN|~ KL~Ҟ1uIyi}wB8[ kGY;?n \*EH~f= ~~ζM5nd&"a%‹*$OEմfch0n\.3q>/.3'r\'9:IZ׌t3^0j{9sB6_FPR)L4wM.IxGH՞EXvkudV2FFUsǏiHVpDP> Wu_\/vuJ,%Dr}*Xˌ.T!b@U>[\3[[U囌"HxԳ.$rTyc߳}5U&|:e^67_LʰOd0UiDGRO6ڿKV^&,兽ZL-gH)L8N9֡cMkGtYeV"1#B3+PInx [_]xMּaDUCkoAu w3bF*$,#ܿReJ)Ys6ݛ5-ҺnԴ\u#Ծc_?f-2FFK~FLmkP$QW_jB7Yӫ\1 5'ctisFm;GʥF_}-뷡Vqy vE蚦<2Z*M'jFb#0 O)K\EDrpI>$ %<=  --gHYJCX3!wl˵%ބ0ӝZJij}ORJF|CJM{3j+8c&˸qֺmSR3+* ݟܑl|ߍ:ym~̷oF}zנ2[4]F)1 ǜ/隱 ʐyB%8\]fy#|#֮Ʉs΍vR 8\{Էc)J g\/ȑnVc\71st+A+e&Hla 0?{{Vfgɉ1Ĥp3#gs޺t.-e2*5pGNLfgt Y`kl g?CO:TEˌ];r @зUHnϰ7ˑϴ8 Cıt+, 318UعzTSQ7nծĒ.؟NzmϨq i,^y#e3#dXf~VɓaqXlU)[rVkMn׭Wh\>"j4_h HLf7͹&(~[4߇h w: ֟3ݝծFhhuEQvFBUq;|ϾwÒxCpLw|xI}H1O6m#LO>3hDc;/Mtɭ7޼],O˪ߵg_<9v6UhT&ܮ1%%wvfuf/'"5H4ˋ[i,u'`+KtëFX`ɬ>{YLRcPGu엺"cxTscW4lZ(oǝqFˇQӧKY9'մ!6#VLʟ?R_S8كY>隴O7;z)#eZ^s8$i$1nSBZV֧'?˦ho~Lm]O'V + i:fEUgM H2_N je'rs<vzm䴶nW}FXGv<5d|@1"7W.hYG3WYQ`}M޳pr2Tr==yJ.4]:[yowLl9=2|6IꏲHUmw}$}QEB#CԤMOO0]FX]ܖ1br;+NֿZsϯArE Zf|.-4KRE2@=oms $4q>䏙v8E<{|8bII}eVV(ao:~.5_=iOfὥ٤#a*ym{{*W+R-bH!m5Z#g/Ul$3[cdljn&t)yrc-@-"G-O8tSPdPS#ȮiN7('ԩ^Zl~q|'Adžmz:煮سG k:Mͬd +bP\co~,<3@c߀&&7zxV}LVƖ@M~8\!,f#T~ba0FkNJ5Hmqe=}ѵH@N{hqm;N߁[¯m,<)1Zgk0#5U9[:t3h>&PRƲavʲ < 0y<=;]h.̐6瓀qxO5Nr_qEB4fҘ#R@#+q?x#:B=\Y ߎcR% ^~&GE-NXlI;x$dwE`G^Vg] %l{|5/'wz>ׅ/L[ϵ=bp͵_3Z_|=:,fKװ(pKud+f1"RGi+Y*Nާ讫}.,UIrRSFG<~8Mkybghy |l5Y>!x_:^J!I&j\؇` +ҼwA|(g3:_Eov+BkXI)F|Ҝܚ|͹HBĥbI$kOҲ|T}zt^"tTQxiXmowv@;$FW{Pφ' -\Ngj P|ʹdU%W ;Lw>7<-ec[mf>v:6h)8*K]pK-tg$+Ёǽ_Ƶ+)2#j4;wBWJ87fZDBmWe@=uׄKxd]({yt&KEZoSzxmbc]L.7ᱹxuk:Ā L< IlEj ɶk{b5fv)SuU }8RyO|Z[(ot?ۚ; G ~w*~Zy!ܤ0rQЪBsZN7wZK-6[ }y5iSMHԥJta:RTJH'5~xo[9yƍިPx\B|H:9',ķ8WG'ʏF}59bcps0Ջu}y[BT`tsk4YO 󃃟QL e*FxvzrI'gG(QV%~[}v3P=- h]C4?^ҖYM67 AH|h jYgY%BnK |A\j:ľe8UyZ+hF 'IJL UF_U+z8+Gn% Fݯl8,Ô}PGzƹ_zJ6 n#tWh:ݼer[%Xc'-v7Ÿt˨ͭ7: ^o%6 ?D~!x #An%dRAv#Q ^_mшf5?{h?׻(H(jB>%ES~;%FR$0ҿdDw! =j}W;ᗂ>1Rm5-Uʞ,7B9cp)P]` wPGe?l??_|9]\Dw,/Ot05ZNpoڪ) ąDJV9#b?~|0do4-{KoukϰZCVc(Fؔ("̟h~t_tQ@e}Oы_ d}ӏ<_W3>}͝pli$F*n~Ҭ튂ᰡV5%Y31^C\bnڝJ{_4z%:Ӎ\ B jhv^_3} WLlŵ6ܠ$Ywo#u4ّdRd^bo&_^ớ+?])/ 3O9? 0*0ަBҽ.]6~roso|*yRMv%SPz;aEtϊl@ :5^<ƛ2&6XAʸO1tȈV+3>JP'U*?>[~V't١q#=҉lx IWNj%WM"=7MO]: kn2F (Í ?&F B{[$#m-tm'G(SHt_ReXם;E~6?'-|!jJϽ5 ?Iot? j&4:fH&dm%3[n2GA^#KO_ӃFūLa zgzTh6 |+aUzt¸pwOSe_ 9ɼMh=_7S Klao.1^}N.V<1k"ᩥ+,l9NݎA4Wɩ< pepy;A+U3;-% 5 ō-Fvgl*I'Hǂn>8[h գh4Ǎ>Xqߏ[zaB!5FGf f{wyl_v_?o'3Bc6  ~*gJKB=OԣV?uoc^H](U$̄v^'Ioq B5i^-ql]0MܑpsoOwlzւD,L{b$r[W;⯈: 7f5Z)'XTeت ry}'t,f!O Js{Sm_XƷ+NSA4\` $U+ɖǽv3W;Jݮom-8l{bxrI]Z:{l^Ky4,(K|dyN=EkOit6{'>$DrzS`Z_4,"gIJ}(¤R3ly0]Z[VxmƯkS}_]}Y'E| <˶"y'b\=ZMkHC ,Ȏ(\F0 2Oͧ.~UqgII#k=s ~~!kG,-ey;x0  c}65)IҲ{g>e _)Юȍt`݌ V-/5`Dml봞^+O˄`q4ܻ\u}.tXCro'܃sUuK[=DɑA2?|c#VB2ʀ9?:F#F6iIf\6ө;N x[Dmr}lxR,e8!ugb!?*u߽zûgd] g=xɷl5-J.5HLx9i;M (dM(}S9<넷D1HUIJyǟ^4ߌ>|+UԓOyf(Yދq@ɹ5+'Ek!|A]./txcLf)LE!r\@Hkx>QgZЮn16$V#d%PJ͸c;_/^ OiZLjұ[#;yMp@q㎆S|=,]y/6'[XYBLIo\E&2YMeZ+ xY%ui'2Zh<%z|\1Vj7]z맢>ЋǞNlrnI;; 4r[#3W͟?hO^2kM.G,N w|Xyk9/Gnxaw m&\$,Kha,rz{_~KዽVc}w|41Q;|G&9R~7YF61tѩguɦqy[m^(dU,FW]UMMv˕J*5o'=Xoe.m|xsDFV7&m0D!0.fϋ?hh_5zf%ͮZlqE;a.~ׇ<5X:PּR!D7j9EЩC򕛏k9[޶+'W_%B4S k_5=O:M& jZsm%1aYD`(ۘ$[^u 4ig"V-P/ qcҼ;}UHwM,{~q0ND:.'Xciho4һHPU$_}kPz^go{{æY̡gO 0Ta}2Eyk2|g%F˼ǿ?<񾑣yikƲ I\0B=s]gëφs %=֦/ʓv̊V, Z__ }e,|Uz+JN*/ki֭~~3Ե'ƺY\1|WyRH|Qh)C_[6)ZDӤOYbO&xA*%*PT/cöSzvZx_{nV߅&ZEwsk{n1~ׇ(\A|rWj]/dtD.0HFHpuWGM Ie6)gX81fW'CYSGpUțH>i;O>oҝ:D^`+9cVl;⧊;^WmK]paOeM\/弓~i>Ws [k]1Vu#R7;uYx~st THǹׄ_ xi|WZ\:AW{f&LB9 zd+xXu$}mMk[FMfԬl;\g9Ͻr>"[Z]H#{i*q€zӵuj"pN\zs^-O+UOs!\`J`zl?d5~Tjӆ6MA7k;_}5:/_/l5͝E$Fsȸ6&FhF x/~ t/ZVECd[%A,>_,&6mn1|Kt%YEg&@ \\5 'pp9<;5_o\w"j"ңn-Z]n}4&{U6TTEJ4ޑm-nN>OݩYD7bd^9푚~#gmFkU>X'OzS']'_ٷo'"Դ-VmF(bOŝ.8 gM&Xy%`yNT,)$'&'Y%|H63ź&vѺ *WoMFk;Y y#g`8a#Ӛ>io-PF䍣_6˭ZE|'n%^mYNA8-s/"SF($*_9V+ߝ-.7 a_nJ6TwWV$)6$Zo .{c`?6,zIcB׮Ժ[F_bn1 =r-3d@9:#ix囓J+OC*Ķ(\k`Qnr@*V^ O E"G4zk'%IF>Tfs:7tWSksiPA,dВ1yoû𵧌|"F4g~3 uȫSqEdF~ghX?mPAx[O7#%J6=2 |"<^6Жg9¾26zhxJϪټzLwL1 (u7;dy]\e$@ 9$c4ioc⾇ޕeu]rׇn/MWky3 ~n:b}.\:tI޼,K7Vu*rj7ʴ{$cAѲ_Dw6{|Zup hO lgcy韧:dBMˆ*A?S!\#2e/0G ҍ#5swriMccV־og,(tT$9RH מ_i+qQY=ߵ't2;$b"U>ќ`zmR$RIϠ&K1HZ}k/ ʚ?g!ɑJzR fe#8֡AV{$,gQ?qriXZiH~kK P!`_ < /k˝SSciks>g[AC#r=e}$7qw(%5A$4JV&'~ÿc%$;-rz[FDˊ:QqhğZ}Ztqxf̟M,+(hc,LBaGJ?,+|%~M;ӭXdֵ4GBUF$G,3. 6 B7'$ "ex Fqҿ3jiϊzZiZ{ƲmsԎ֬H!eYJKv5Vd_>FqtPwU 9=.GJZ+>5_ǏK$Xom_ʼ;l1\B20<Fe>E|i3׊,yi#+.HZ)wdxt<ޯ{#Hk ZʼnmXvf64KI_.Y@>]6ou[F~<מ䞤h50|<\\x~Xbgcp8}+{x7:^{FlcM]/" }>^uS_ggLoqmE_o/~l.?{Wy{X |v@HԎŕy$榶፵@تz㡯R0I#n2~36Izܗ2d\iWPF(pnNy5wJV۲9*SZ1\|#] m#U|J燮A} 1<,^t"֜<>#~IV3rp 6ֽV厚L"7ͧu*$m#} +\Ǔ-K+S$?UƔچD.2Yҕ^HM1T}0MXt[Fͤk:(7(~Y[#!G>{[⟆WgI%'˹Z EI1«\8;5k>7|^՗+HXQ@ ">Xס}fW]g.ZUgxe+/-obFC1Q+bTsO0rltx%lI+L{`j:ĉQv]),sqgn(6rm%/[WjAnJHC;Ān:W>ڌc$t{w=_[{ 2wanaq~eU8UdɴNƽ#pmajzqݶVdߵG9k@[ -opnx#9<O:x:VSf4}O?{᎓k.zaޡKD-Gʶ@Ac$xdTAɕǥkm|تFI?C\k/9Y2rzej&Hq9qjKEPwzӊ_O>l$g_FuդrI\D-uVB/듾IR39n-`]2JP]їtF;hL6"9sWSk1Z?V?R3\%6%Uu.`ϳd~*N= 8 pp,rI(!sjX͡Ec s${_mqRN _9ҥI6 geÿjS]\[Ao~Y;HÀҁO̓ 3Ȓ,6NBG$r1$ԖEtXM X%(6q֙icqrt^'ZN7UW=yG$W_d׭6!t(Efn^OxMbO*HhM՝#g1$xZh lV%W 3Hק?ҳ=>MKTS\9ǂ:cfh*|sXo{mw4ꐍb6U$`I~U̖`=ih)>>_>գz4M؇-9a/&QcȊc NUT,Icⷾj\>UCnw//NW P[ٲV.dRw0~i:]Kdi!hyC잙|IG6ǭeM10諜SxsnVYZ]e {+}wN9>l k %ݏAң6i gO&L[e%ްZ)i=8*F2!G;${*-qXI8?+vWk*' 8O'TRqtg$:36C0@_AkJ$TW*? Vd7( 0:RKsFbV Mq~f裒~2M%Ɇ<s:UTh6L7V}*ımpNAy+n_1Fju3MU,$pmAo|.-GQl<Tiʹ͵P*y]7Ư 289?:a 1w\vlkB]|"!HVO7{8ab̟G /r}ai#.%S473H03J o{+K\t ݰ8E:JUۙնkFa~ӝ#i䭅)t/%c7 Iw 1#]K-5*Ry%f3֡Nfѻq>춉-$=Qmo?1BD2)Mq#yt]Kϋv|kw![\3OV+Vv(@F mG⮵\o,_V?|vv,b Xa[G#\v 6Mu:=77=֕siK6ln&4-U _q bN+ֆ')tnM(|ytnm-^,[ŦIqu);(Dd s!|!X j^$6%x&13~J:pAb>$KYy%g@#1 sƸm p,[_ &7U ]k2}>$?ҥ0<ֈpoP慭xz jjz}Ɠk4pH^Q| (2n*;hԜl̴w N ?գA礑ۦK8>cC&r Ԭ"XmᅼHU;P_{7g|I JMkE{O!'}XI+S*?[DnsNHJ0x6+x ,F|rMp&k\HKeH~%p|5_k燮[m.i-iq|]x|#k'|kxHvq_Ϸ# |pg iŭxCSԖ&k+gMtsMofRV,rXN2>~G>Or<%O.JKN?|Z39c9:wYY8dT!@ ]2Wpr8ߜW]diw%܏n<9]7sZf")wX"Nv |gN?JOiM/'ʹr=xXF<ϴ]C0cZ?ot]??|=:=sFm2i[H:,U$8Rz? 5kϧܯJvs 䬀my8BG'?Y/xXѬ464;X?Eγlh=?^C|ʰqik{|V>4j?];K8tǶvh͚Fe&8(rWgR. IdI%w.sgc<1IH.3 Ds,GWsa?nզѯيO&+db  Uԃѧ0>hs}/KΡqt`V$;UvA ~Vڮnd r>#25=6uGo)G|J9mzMMIv XJFvLJjS mB,JGSv=~&+MltydO8EFלh֚ R, r2q;=n6N8OQЊ0V'v}:j׶bNNN㰭" Ne-dl]# .YY\ S=Z7G ;++}?{މ:#k> #ZOj=-!m\/~ꙑInv$7'/^C_AmFVFFWy?ϱrҏN^iii,V"KMas-gTZ ˛QoO{{]>ic!g»dR,l#(2LtUդYnn2+ֹ,pJrx>[_=<)wk6VXC S2Җ&FW\u ev++={C,VDR,H؍3pWplJA/])SW==n;lv9Jg6szWs&sDNB)k@om:K6njOٳım˵ݘW-N}k{QCHu+'x`Gq0VHT8 sc⟀mi:w_h"971@ v9j["βa/SITs`8[X5{(YXaڹFy0k`9f+,} ==¼.NA'`+igԡ\nnc{5"K/s8PĞ0=kthtuajjjCivV !͚[3DAc_|j׾+Zι⯍NlrD/q4XlUb%ub_Ӵ >?>9ZBe(jĞ1 ,tK{QR[I 9TOIPGk[^uE@}޻]Rѡ[+kkX/lqw9V%nOee*o>>|/:`xB0.ĝ4"Y*}/煴Gt[[2\H-$J^Ff'IL+˂iݸ? n/3i.kM5/Hw^[vc渿=~E gFoM6 %ɦ]"CD#8O]+ʄK{ޒ8Hlv;X|s|QҼIH8^HY7":Mm0g9W;c?߶6 Y8Ю1]OtVa#g˶tjFh̾0<u/ k*KvLWߴx;Ok jJRt I |3ċT75]fYO׻(q_N:rv[C $z\ mE-Td{vb%c+ۮ../f$? ߍ)ū7i[7ۮq޾Wii:_;I_, ZƆ{5՘J3~{Ļ84_Hd;yy+0Ie*9ϯrNpQ})78ƹ).u0[vY#-g}]̗f &)6m-4d*rG5~:OZ*x&/Go59d>_ɷ$f;ܶ`c/|!GmhHZ%rKI#ugbI5c11O9'R{A֟ m- 9`Ŧlos_-(QU񚾙#14O8'^ƶɨȠۯr-TekKsN-կypt3 S=R5|;hV0B5h8޼S柪j T3rN:ke.wjPq?;KH>SVhˏ!q ,J=0z^3mg7ffdm1$<.OS |{ԑ#|AKOX f﷚< b|c e<0ׁ$Ste7Zɿgǚj K9``Xnm=1_vInK!A#i@pLUO{{#3(_k2{^ܲa70}1\]Kc{p2jRl5WEv`Hq3~/׼==&Id-=4x_(#*#< 86)kkJ_?]YzLow e@ۼdIQt$⹫ KUNmĠI1p oj$ ^ i^NK٢eC9$:u5J>iiy-MYxf7PLzO_R+">|DӴ cVlE9n mUPǓc$WY?>&Rbl[OIq#_N_# Ɨ[5.4.;@t ^~OEFGdNggFI˒I$՟hVu}ii@8';%ů?kmw ɉU`|ɷ#g5[ rjєU׬17!R懺yrKBtӳIDxkM,R93ԑھ5;}gGmdY%pI#c5oh,[OMB͉bs"@=1c˛;߃I 0ztx|V蛵ߚI_yԲZ[JVwVijnNU6]SRRG痏#c+cA:"խ4^Xͥ_9W|CG޻jϢXo*[0K\HB [vz\?uFֵ-c~mq$vHkG>P8< (BO5ev>vQ<+ZΛJ+QQjk]$i5)Ҿɵr9Pv:ǩy!x..#YY!7qs" ח|Nm]Z> \8bBn20rF@~xx3zߍ~wir2m?1AHx9=3)Ey=ÿs͸V/yoo 4}>0 @1Zܒ>d\9~'ox 9gx;B^TQ)Y;wd2y8=-shpjM"Z2'tŶN< `hu/ vj1]x-q,LRO-(;ܐ;7Ulkͣ}%OW4"*}nRpu\IE̷s,X[bW xZv]cYm`1>u 0}sPUѕ9]j'uOow78cZu,؈& G$TWeM@P0͎HM2$~6֋YŰ- 3eW[/ڲ^^'O6_-!E]+^Iť;ۮa̎w߿vk𞔎 X5ÉD$Vn`[~$dhho5 mk䌫?/ yK+K\chc3Uo):xoOy#wo,LHSUy9`}!mVk@Pw 9rNp9\@b#ª=TtqE@2nn TWeܸ}0k~Z|*ڦkcmbE p4 B{09]//p; pieEfiG:5;Exo+mR Qt}0Zo4fxeoMI+=Wke`+ ZRim(Wmv?*| ό>%=N]J=5k{k6j7\QUDϏ>]#=V}l77hG/'kJ@@d*`<)%ǂ>!I|DMlij $|me9rx?6 ߆f)kqkB8bd_I@5xC$&?kZVK߯W(MISnV.>IВ_J6N;n-:NJ|-isj/in#Jxew1Ę 2NXg?#ᆏ>'okkwHđYEGϑa.>8g-wg[k#k¿eFh5Qe0n!9WiG5Z:bommwh1Fk($)* <-`Qmx$S_Y'c||!x"h5M^վ&. sr"c$8&ܐJ4qmLQ𾫢.t[)#I  c!VONMOGw߅:7l=u^Z㙵fh,;;θ@ Ad!ѵ3^!קqcpsJ7o~XVn-tZ׈h/C#|~y?kt~]r=^LRVh'B"b˂ ͘bʞ*etNJ2Գ_!.0$)lAӯ; JYND~jڕ)+N tU8-~{voz6kX\Oqu.w[[k$8ku0]aX9#ֵ>m;Rӥ$Ip0HeXйf( ^MubUV+.Q`s6~1׉My}.}UeK .YKʲ#ylFxdRk(c09dѧwZ/IK } `/hMlKt5t%z]Vٯ&-%P&,Hhm4j$EvboxS<[yiZuĢ)C=ժ1m)2Xxk|CӎyBxc2I"P o%*Kƛ!nʵǺ~-RZP‚7y|庅&#XV=hDRrq^\=Z Fm}WfO0juW=9]>-fyJYV;Hm.VC `;JY$+oxCVKg1!!se c?_ Ũ?d{Zm|=y[nM3p46HD@1?NmZk[28L1"2'ҹ5kDZMk0XPB]$Rb۟עJD3Dgݖ2)c3rrxF[hsi4q.Sx+9rϭa}o,Z2[A>c6*F>|̛v%@Yx6{I!ߜ+jRY TU݁D֧4ZWueNvc8>٬}cOҬcs wap=>}j )ݽ|Kd0dsf=+:EBR'?Fq;Edm.3 q<{?&k7It> K :KXΈB&[5}& O;Fas}py$+B&/u̴moKQ?n>6߳Ft 0z?Isv7_t/m4Q"N{}2)V+ L&Q[*Gʇ#oc_6cHOl<;ŭ7L$4Rf&-!(ԧ';SvKv>ZkNĬM:[E:.2RzYu&ާ sxA9&RZY챵ť)FYJ _9%|%mQc~8xCi=*@k*vn"{ \Wplj-u+S;_ªfhHl㯏~G_~1x? >6j!{?fZEW ` DF)^V =OeT% TV=+rzNҶL{pn;fopn~#+Au+O"Zx{k$/#g'Au5/ ]j7:֛o` rIryPbSxIvލ⎫ZIѵk+mZ$ op#s&Uȯ2jZ^ ~zg08„]ڧ^~~ ֚u_It"[MooyVqI"4 *F(M)w9i>(+aaS=ynݿUPĆ)'zT*ֵMB Z-RGo D8'XZۻ<$ *tkHHg`@PNw3| mJ+0P7Go-nbiQܸ<v kwGՋ[Zn!/1߁#=sU'MHO%}뱈ɂ ii+k&׏qA޸ k/dT N <#Yiw^,ZHUB'°s]ꊃ1cX^M"]9um&5Qv7;.>b22H$"ƅ߀+Цk}c(~|t&eqQ#:ZGdC%E< c[MDcbf 'zln|OܶrM|#"sWt!نKmbB~k4e ?h߆$=;GAiqjv79CAc_mWJGOZ]yKxJ'Act[ݺ*EqYTYZPuBJKjCisneYYxue d fwȞpՀ =~?T_ ~,kezYwZm*76#5=ŌH1<~g<1e+M>PFZ 徏pzR"|ԼcYDβItw5s<-n,rs鎝j5*X䁌ОO{g\+힝뭰kUҔ/z 1#5& -F5Ɨ6%+.=cr>ygkZ|4]+\l3s~&{85F a4`4kq"edR  %/χ%g,G>c{?(LҨ t~ VoqX77xGum@Y7^2+=lsH#X]#8FG5ZM {L|~3G nrW c#x¢VcW~x>Uk+v孧Ka% \~6ƞ/5#ZQ.iT9`xYz⾉ȵ=+eTa !'uH;=8# G-bި\0ܜNIoan7Z =2Qk_vb#~]P:ǓMz  JHWMBg]0>YW+B#-Q|>׊[F-HϯO]mճg˭gɧ8g,1ybΙE^UđE1UBO4uw6_opI쾦9a[|ɅS"-ϪKge~g_j#f9Hv ֵN;Ho.a"1ÿza.H bH⼟ěOO}6٣6 )9E32pI{ZeZliA9Iٻ%vIۋ9QƸc8's\x=Yէ ZBi[t'$Oȥ9xcs"299~U^Ǩ +#0Q@ۭtF"bӉP9Ux\/{I_s48*'j[CmcߒO[7XckĪRFN8G*[mݠWhrN'i[n If#>}zm\'Ɱf%Hgvx0GZ6./;::KXU$[E$|מ_z._Ħew7Bҥid2v)$smؐݺb`pϷ 8kO.(RQބ{[ۉ&uLl|t>~5F:ͥĒ.Ҵ/S8wK=k7~xrMΥxtL441\0>;UPNa}x1gN>=^.;e-E0S< Kco \Ɏ]f}*I]O;̀,[ש_f~6ksi\\i;9qߘ\2KhXquwH{[ &t>9l"ǧ5>mc=R{u}+x*JH9'+/ísğb-ʞo3~V[zqG_Ӽu5%dIX 0S=޹qg*0jn1xO,>|Mov=Oə6jPd?Þy.](T-ϸ+UKٜNYI|Ino\~яMSN۞w=>XdD\dH!N@U[`Â9ҡ[)$l29`~yrwk<%OPz5l=[d^ż.V#e5 Sh$j]fPSQxE "HYI*p@5߅OynwH4P2 Yq8' ]O-ږRMʍCS H"ks6b1Ab~-'uIe(wAS>ǭ~{~=u#؄Jlp ey?gޛ[ }~34X"VF C*kD4co$2t W[k}'F.:#E]2hWl.a u=qg&-R($˴kk]DX2pSߊ$Ƣ'}VV%SLfyڷ x=ӹd10a_#vJ GVOqu>OJu&PXgۨ.m=- s7zeZlVB0Hn0{ýzuϊݖ6,qvY1Пxn2]^! 31?yÕт>` ~IJNt-֌(~~oر/Eu{RIˤe 7# rߜ C_/!ށO Yu;u]7$ {@$c}7k\YxzLelb7wxY٤;xyc^vVWm}Ytqb*ssoݢc62o%r탎>ytk8`yx'v5l;|7oI-Kt،D4lvd*G}A*A(%*4=^Mﻻgebid8| ~{^i٩NW+~+]ߘŷv_.aXlOn3wp<6>9i|5x/SkKu-.]AarUڈO͚xFgt ;t2;Hܒ9^ľ(kdHIT鲀Btqɓ~B!AS8Ar^iO;x;8҅lPI_$ޝmzg3E\=Ħ[h`v$ؚ̤݃%E}[/A5.yXә8^قKhUuBE@I9^mcui%w7RW;fXsӥ/}o2 =*wY>+(|OmwIqnѢDmF󌁿tFWKh~)Ze_Xhm-om+~y l~oRBV\&"8n w2X[ZydJ++iWomo^ */yKjm[.cc2Պ\qzߛ55;Ϸ 3K'ٯa2"#i %C`U/x"wkjty E$SNT2lFz6Kum&Kna\kc/oʆ%s =+6TBWixO%9`s f,et%Zo iv,\Gvn*I#w6A9鰲0$(8Lq85-NFZ-s%DL.!A.ܻ>Feki[g @8 tiw&Xs֝ q[qt*B##+BĺU֛xHwkI!h^2HU2*+HY =zb?l3C7pv_gRHD˼l`A8RWlSmyE@ E!0ȹEjmkiA`+ieo![) PP:i~AaO\:/j*3z9UHa#Fnw,kBLJ.㉶KqXchϞN~b$>(π)xƗ[gSi$ BȰl&ƉQ\TZ/^_my?I;B/~xKIn4dw c$7KI~%fЉMP/ث j?1X56w3JkʡX؈ɴg5cஷo M1QųpExkO#dJOPRpGE^7E׼[9ٸ(ܴ&?-mB,A;R#%!٤UT :FM._fMm}uIӭP֡(NnwOs[[F7W̒E]GhZ I6[(QI#W'jGGy,J֓0WFƒHg|!ޫ cjz_ڡ5g[Zfi7mW|ړ3+#cq; g>+Z5JTQfE b$d V:mjcEyuv`:s0A*I-me)(88p2y,ҐIiouvIxf^GA gG7K{ k̖4LFT{.@QEQEQEU}FQeT~Th"yZ~Kz5-E>F.滄xаk?___+Rji.1vgj. axጟ\|>m7Ptͽ{iă?vUYNA5558Qp?5P<=Om[SOOރ#~#jƤTڶ\fYP5Z"YBH#?^w]K@V'}!ziCāH89|#ߋ b!MJK;=v'ֿ>2j:xOk_4 B_mZ"1l|܃Z!//X8q%%$J~?m_ o'74jxM+Vj-f^r #e|h <xfZwWwGe>Jł+Œ+{|0fX#?dEFQKK+|vͥ.k(鶚;7ͣk y #6 O("8`.r$3 JJ7JҝiNNݷq:WNυZgپht d5A1FVK A{-N ӡd\-oX+RTȎCP~*~?OXhum춭pg}垔Q iY׌ {?kH HOqY|M-ߓi%n7Q;waN[Oٻ{|!lOQ7և.᫩].g.]PG ˶xRيrnHoʢ( 9-2e}㿊uxӼST?:ֳ~s=igg4yZ&YG#s2W߇?l7Լ1Mx`u$ѼǶg )Hs<1$p:t%*ooBjj[q l@AOЀy{]ZQ, ~Vࣩ>q\j=OK#~oi(ٌU0J=GJcMISvcB:9J#ޕ;)/CA?Ņ'cm'LrKsէk܍m5K9L>UN33QOks}ueN`9'=[Һ;UݜXq NCwq 6gQe4h+'_m$=F^bH\p}xg xF_ x9Z1Qv295ȼq)S$u=?c5:ܯ̙qX|ҥ|:Ȫ+I)g`[2Mhɯzu㲲K-r16GIg |V𧃟GyZ*$Q% N2jxd69-RPNVnΧܟ9Oc s|;Ta=W.lcNSߵcň(3ޕΦnr=@>fԦ6IcȪryE"S;Yo>a[_KX4VFU7N&.\o*?/6튝U0 Aܡ*=㶍}qEUѮWҵdkmKJ>E(XH2+}-12#𯙾ɲdWR%u=X"]-׭宰|z C~ z,K-d$L@^Bk[Ʋ]j6ۆAr98YiXF',szѯzKoRxfméUnp::Wud'zw셗]Xqq9NGNzOn ~$Je.$>_*F8Vk߈5~">%ēyk@TRH$Mw'P?]xGvYS]YZKXʩ|m ur's׺oZd5X =gN@(xhr.ww0ywUEBJ`&316oᧉ~)|W"}Kڣ\41!#_mH]0PjREϤ^|ҧYЅ׏/4kR`5s4ⷓnm &/ژJ\ ūV)$r'9P W|gO?5_oìk>6r9')aj(l|_?>)_^o[,Z@3xUvմ{D^XD oJn$qzY;HMw9%$5c|L+\?mʅQB1BxbiXj^uFA=i^GB4iyi{f '>ݫּݣo״~GlF>W. z^J罏<-ML 6kWi|7Y{mÛB}[Iiʬ_4w>g??0kzEōaRQ0Z GO]hV#@>Rwdg_ ^MrOPjXN?M7 %։&dwī6O^OIhmhDoQ_Fclj[{yamfTxà rO^z+T<>`\ _46ǭ~W/xyst?XjD4kmeEbou|wä ʡ{=91p6ރi   䁵szx: ۃ4R;׌|?;OO}/s[w&%a0I9}g߅~Q6pO Nv0]; Kᦫxq"jR}WXAU+q-pF79j 35+kiϱ-[$C<ş"$Ws, Q'yjo?S5=Sl^UΩO3f#cCFyU*(n9=o_<\ω[v ,y,8 d1r+>ӯ4K2$iYnO_Z"ڱYmW&6oá<3n13HUsS;|5Z$B *,ۉb6ux—6~/r^ -V4fU!"Tg3yO.KMqq"hw+¶AfTj>cCZfoMh < y,I,nBbUm/u-c<'z|Eh*!"^O kEf3<>88uMw~Nkac g2@2JJ!@־`mt SMM`E?.xdp77`OWX[]́5'o-(n_V"go 4f&yVG-Hq*M_o[;de>W@)-Ǔfc=P7Qk=ɼ3ڹmnu`&+oxUĉ ;0$r/ASGl%ЧӤSx q_4M0qQ{#h|i}WB>Y&UdVIV<9)UrĮ^;M^A$U!9!UCOse؊ܺ*U֎RZۖz,vj<+e{^JD2Mp|QYY}+ٝno4y`dCdW 88lM|J.4t`cGVro1I^ kwޢ# CUۻsc;Tgg֥R&KV~ \C[ Yv]ZP.e+K5=ZۻH_=`ν;km>.ho5{n ,q]&\|1}8'<g SR"d_-S7o>1`+}*l ii`@D+$N{BM˼Jr@HJty[͛ӜiFBNjC+2b#`2ޜp?T-[,˂O_`;by_"V&og?ƹē4mQ32Q80Ld"I'=L>Uڜi'=m-j$5#eWq* ':>RxgSAV; J Σi;;<7g[O=] ;Pؕ&`i%{&m-pZyrF8W=%: ȊsA Ѽ aA'W 7W2"\Dy ={&V#D2F $~}j%H\< mxj3Ɨq6}3$36ecTуc 0Rb0j+䍞]D$R|Qa z{sTȊrù}Wl0(Y Xd03ִ{Z]!5P1 iWbdS&A*W=@ WN:؉M8 c2c|}AwBQoyk sgJA]:x"L@Jo'-;9J{̗˧7«Guo1'$cD-L)[s gzfZjZa%NCڸe#~ qOQviU$HB|*:Hc- u>Ѧ& |-Ƒ1Y9bIM# I8<-jеy 5UyǹAiL0W⟊__kN#յYyVn^ѤjFQ0(ۃ^5/l"Ӗ.ɩr$%-WMVJOEγozAx[ySH]&MJQHVLm۷n; WLbYo-fAd =Ϗk:W].frsmmqX6dLMMOxV ? x&[-^cWL-|]Kc$}Ҽm:ޟ5Z\M)lm79e|c,9U]g> ZoeMqWI"qKxr(is*5Y@c^}s?n]He-t9$2Or$_fwWpu(7J7}WgG MSvg|TM{ׇUA!.]~-motXlj& FTkv:M浧ZjQ簄\]<k&M-}wb+fAB3?䴊Sۛ;uC3}%w܉o 'ST| |(xOG1"&I~m0~q'oot㲅agÜO l$t ÑH7)Ns#Dd8P_^畿'M'99$l'sE+岐gyVʨT]\md\Q޵}6{?N Sض`]%ׇ'LX3[l.4! 2} (J( (ؔ44kLqWN kX-As_ :d?]Sc6VG*:%vyձ1.R_3Sƚ5wM>;O5[#X$ycPXTN[yd<9V` <8WGyk%%Ҵ]6K;IT<fne\0m$$oF+ҍXl%wBkUsCt*ԹE ڛE2!ΑKpl L|%i/^<+궚޻{藗ztXu04>|0MF y؃?|7 մ w7wrL҈ȧ .uQ_VwdߌZq-ajO{Ϋi4'\n>$.w鼑ʤa%<'B\wMiu/ 5SW[k%HA>ȁZMCewy3׆> ]&;#VBqg-\~`+m O- Yd:E_Amk"h`Fv,W1S >';A>.e[5L. tLa|JX̿(iFkÓ<\]V4$e엳I=!ʔZM;Z;~+UOn<[=kT@rVSHCPBvkIZGqs۽AYO"! / x+ߍtCYx]K2Hm\YuGRxo{Bw)xsƏy^1qsIJIxC$ "ZpŠ |Y|Ow(JYXhMAHnY|$h^v`9E_^GmhZz[x#䓁^ڤ6X56nz }~)RQ9v?$<a~ӱku}&~Y@S6~fujgaM+UQTf IzUjөF53?oU{ u.oou_XHg[Kd+<C%Iy3,f(W +Jſ i^'{h֯#/"Ofa:/aA\ | 3h?l*OlqSU}/y[{hV'y6%y]`*qۡ/eSݒ?/ ǿa%"={8+גhu-B->Xe!Y$Ux{oG\4?&k kkj=[KdȐDV__ϰC>uM&z>̲\G6AwZ_?}F[L9\gGLwB?ŷ޿g쒶榧ųĞ.Ь[[/u=  ]A#Dyn[xǗnwFB&jт-/.PQmX|5uk37ʍc ^~.'&nF"+IH𭅌u )@Nm<ɭuַjQtjAۮ篒c$ ׃ח[nyWE6 aҿ6ΦF ;Kuz")- 0O9$Irk[5MEoķwbsojqxVZ'ԃH8kvth,|3nJϜ ,c+㳌*d:vU'NSw2Q\k֥ *c9|1e][k{?< %̗ڝZlfFS/e\QWIi#Pko!3qeOr2+z[X?gp `*0)+8n5[60<w-pXvF Y7wynwmgթWYׯ-ylxLj|}Ჾ2tMI]ق+9'&'QY7O`Hw#teenS=hT 9z2+Ů/xW]ľ7H#)ԫtYT.:+e`)9ajSn-E}"׼¢SXj_ }m!h]豺_kOM/I-ͽWnl1V5}ǂ}oks.,<USŞh<=u$xxoX8'iNzu< Y\]iuQY2M 9l7T%Xv@#i5}u/42pHgڸ]K7Z2K=Ēvy$kONKƆ[gO;9,FjyXL5m^ed$ix?YA? _yGqo"˧ȝ 򯗬9Gp s08{oOu#3ßUl(xURK$'CF2F~f} ~BիEa4q_>k6U¾PSRxZ0xO+[yKg<,4!F ;:37fTҼCx5"Hgb 2xIwpT9xj>?<5&7NKXR:F;y眎xfK>3ijK(-1FҾҼ}ȿʙ'Ceo~ +{HtC) f<Exհij euBUe %od4 [_%8+A޾sK5E٘\x_˸N *7z.C<.<4?£]U9:XwRWGȏI>ď3C< ZUB̙*A*s@_jVv[cXq=skWG:(X 0aq֧ʕ)i|Gt=MRk&l7`F8xTtX KH.[Y$C4[$}]cY +L[_:Τv1BIHn> 7WJ_r_K<0^yDƅVDĪu1RTjI+sTJ4oPG8|P5׍Q["nw$h Ѡ58? v- {Hַ#K;o-'ZjD-MT[GBIA2p+ü bnmVx G_)jKRO'ԋXbix9{Y m-5? I,dNy\dg9pR2}f8=Fpz9[:bW0OP!.Z d A9pOңH?TXl gwZ՞h|.]RIoT?繦]-[ql4^h7H\& 85dj^L #FWe;-!|EXhXhQ\ d5YD)k6NV0n+?uU7G#oZj,imIʆDhD 5&Rhjx;?$HH/-Ntye<Eamc(ǔ q^>0|Cѯ(u"6FD##V΄ R5֟xvbi:ΙqmFFى.Ъ!vN kՍ<9ʤ׵ǗQ_ RI74D'Ft>u]jk~?  Z,Qo_v{s'?τ<=soGB/U;L!Wcrrk׿k[_Z񍧉l٥6o1E kr4yBw 4NcVۛi.w&?F|MI#PyG0pgN4qVݓ5jҧ:-[yj=$WE5Ju<\&%ے!>P'Zൟ{׶÷'XfsĆW]Yf;4B<#͎Jҵpo.,ͺr{.Ob /}Lw/mZGm'|*팝^,ԭN"s[ZYLp.;cxJ\'W1޿_ 'SP9'6@&!#ap4)e*.~yK-[u%)UU%{#CJh=wIgi%ߩwXi(u D{{o ^IO?Ҷ :k(7L7Mos IZ,/ 69vf\z*V9#=GO#\IRdSA:t)[YZL&a ޟ;Wo,TC.z`zՒN i[ E8#؞V;Vq0팞Oa}Ajl|#|ňדIqL5Vk4PʃڳsvDɜ{N.ԻHE$N+ɒHc%UF>,C \_c- &h9kM_#N^LM(aђzO_*ot -ju;iiIlNE>vI;L-?XXQcLf'xS5gUHgqkBx,HR E6cQ.I5x'Ȉ{|M"; 5afuI$ `q_J_ > |(y5au Ì5@yݏz,43NH+$x<6GNiח*mVNgAaL!`\6lW αxuq|E:>Qsǧ~}E9}CCNW9 _Y?fmN jn[sWP##,jG]j~aT% T~d R7 wNh?7d|%<_?5MoCqqxjPAkmAae6jI>?#t?hoXӧY|E2yIx(9H8ӯ>~ t+? cA[[ :1DOVc$Mz0{5w=.̺K^#2p {* ť!gy0s9iί1GQQKħǭ.I/ { m/Z఻DEiv_0M qP~0 ^06[4p[܏+E֕Ȏ)lvw3m#0H2?[KgqW f*?c,?j ǫ@PKN wI1ȤH%N$դ|TO٫sVkV|2d TyF&\}k7mYnMa}P߳fψ~k!Lj~ :MԮOqJ<֙Rc*[G!~)ķɪfoD1_ؒUºAx<*׭'Yr.ZUIb;s8殮> ڻ>] }8xU䌚uI$6i:t#H8=XӊISdYxzs]$ҏ3" "/o[[SI[ UJsS2o$mOs#]fxΖd@d2;'.*ٯ.U]IxVRMLm-r'{;gpO#fCڍiz+DYWOs^u^Ear]Pq|qDZ"ǚBx~@#B[PDQyNdߍ~Pʜ`m|В\r;x9]wV|՟g[krzŕǛʞd {q5v:VY/FD;H\?:˗wF Ek#>F nsA?:[9U"1OP_wJ:*R]/|>J1ZUR m12NHg'f)fiwq:fFf#\ bk<_ÚΗ~` gVM9k(GQVU:im̹lާ\uĸqIYθ]:VgoA]͔^,uc5hQyQWS)ymʩ*Kc F$U$2`Y).}T*KXОUcOCϵW@'Y:"ZGQ3vᒇ#sG@qϰX ːN:ޫ°Ÿ~lԎVbD"IG8:qW!Vyv1W,NqI+AbW ^M!$v< 5g5dNMT: ҐmuW+ i:Z;xmvQ%a2 t? )4٤it&8`ppNx85y gſ-+AT̓s$5[k)vf +U*I6@l-D2ULr^r80i:415!"S,1d_:.?^qHIELNo!n+/CCnuOWzdxxt-$c<"2Яt/R[sO \I'}wΉ4}BM8Y{${wu Ga7>wkf'K?@ G)=QɯȯCF nBE! FlPx.wuS Fje5vLnءff6VVwr$[}&ac%zowT| ZO/r5 /nnɴfh uG"o?'vkEҏk=JkVrg0®6Pî:s_<|wx_VQ2֞6}:ޥ˜רD;kMt+!/k+}@~l]X_[ȧCF=p xlerI#z}>h?3i:?MF׼W©zl}VTS&=_?w?t{MB;玹׌6E#s0?{_r{R S - K̴o:܄t'~W 55? "GoȬm.m5H̰y+o2##g1s$xT0KIʤo<%vEWQӖXGh[ɟ.X[?[ 9m#vVFQ?q3[L,z }!KN. Ig]dpFzcRWZx4~`c)ݫqwM/d<7yS_-?#lw "aYi<)^Zh#ObĀ}so_|Q˯>I%6[˺-$ps9f._ |B+N=Ŵr n<)BkS7K k_cִkK1:F` sp9;2i6_S˭yf&;CFH?UrjZA%,i$C99zD@$Q') bP"Eb`" =|66;u3&te;+hk #VJ(Yf*;9R't#cƺu„u9UhIrĤ2˿_h}òuWb-+Bmn.c_. Cc# ܁^nu.mN/)ZhEr@F=kޝJTj/FU0"gk5(Mk[b։r%ո`N < {R$MCXV Í5v0ṮQ׬1c.zLC?g }qZ크vi)J(9={u=Vim $b5 N:`ǞBN&|hep1_LxfǶYKbS1>91_/Fu(?Oɳ^/S[6LK78r rzvS_iL[ A2L[},$8dJX $G?' WFM'P(F7y_? ?a84c3)m21'`p ׳*~Zr쏪xJnhM_nT1eFR*X42\GIDNdT'K^|9Zw2ybYcWbde$ L|/ wޝH4&O)a*Ȧ4gUpr@!J'ÿ4_Z<`fMᘥ …8 0FUu@5ߧkV G-HM6VKjrXPsnLbp:tX[j6[B#ȰfqMpd~OeOXZ!(1Zwr0\7q"63SM0=1_ج]7䖖O]=N:u7.fo nYy/;4o$tk+xW(>cN1Td~ޱ?}@>*:3i)1yyaR>7gy8'hƖ_Ά%iksJ TIzX{_2|7a2šI$o6HBceYgko^</ Zl%e'ljϱsK_4i}tԖK2-ge v^-N3_Zs|Ca2U7TqK&+Ņ)(y.xRKx\Ȅ ç= ~ 7Hwmc<0ʠlK,TAYr@RqKO|ifتy'`G5mJ:V shu=o?nu{iV[WHxdv sziTY WRQd%UT =(ԙ BBpSKXx>nv*%bY5֥2n 7֛xVk%C8o@}z.m>%xf^_e?u%7_cӒEl 8-޲jw3cl$2K#vZHDAys] k׶:zi{sc|퇚e@E$FqԜZ7mk^mV83u4F^`pG58ֵmK^o䰷1i4^,l*+œ.66S,+beψOkז^#)I^ehvּ?75kQZx sm8"0\|+%X'ӯa]F$av[ݯ48Oj7ޑ,l5 ,;G[J= Tnf-~1R)cXBF CW5b# lE:unhoٻgyqTAt>m|Nlf49's<&$@\0L,NoS[x(ɚcۇV 2 F9*;w^ռCgi1 έ.hHd,R*@pp7K/X^f (wW*l)W 8өFi+pPV]-tsm?2B757HUo.%dmM̥\x ¿,8͠үtSOfɌ+,gbrH0HW m57P@s_Ѽ4`xJ<1R/5wK{zZJ{[Lhs42)2a'wXX0'%JسZcDEk|q6p;cjyɯITr쌵`q wjKHz|$w"R'7͟2"+/sMEe ԴcpSqn~M2$ bAg`I#h'$5TivϹ2+5clX]ݜdV6^]#A8&+K&df1;U}R?0܃źFm1$!d< y~t5#3GXMF(t62ʅ6COz Ԛu7D#b4YRI\ 4_jRC1ҫ^\L֐afM͞PiYXӲmj ѮQ/d41Hr<5/ I̪$P8wyK<^t,.5lPOmy#:Օֵ>Kc$c$fBX66Jbs]QPGLb9<1;KF+iW[>QLxe`B@#>+}K#s9sW"~ Lx+WTS"Lmd+ eG8#}^_ f-Q P (&rѻ'셀xR< ϩPe$|./f{Gk5̹~Rh2Npߝ λ|K{txMÍ]}Fcb3\/%.8 zǏ]F6%1^dGkjFL1߷vk6hl  uOʱB<|@phm yY[b(+KyY}ݽ:?#?5B 6~O'&i2C$y#jvWM4? m'բS *A#Eϩ2< }|Z~Ry-tRٙ'w\Fҿd'QכXΒٗ7Ip"W Y+)bAEp7a9_s#޾r_>bhn7Ǚ\$mt+A=Kѯ`4 8fPC`н Τ}y3V%R-Z{Rwd۔ym5 5q^i|ANwHaǣ a(<#KƉ&[8@+O8WQ7J ǂa 6p{%.cJm?s׼3mcXt=y>ʮ\cXX+Do#\{l!tyTJX(9$(cxY{JVؾ}~U|{.,A>H7Ndr 'g慵Gg{9$vҗ r9W^XƬ^ֱZc} ,39`+О8ۋ&DocoOҩ-c;Z;|To?$-BK +ú%ޭu u +'ڵRQew\$}_cM;R.741hu Hvk/i鵑8ȗRlk0G,)Ÿ?h//~MCmV@fn ed>e} 4?P#>IJ5̇~ u5y(gK8!T\(n[Xȭɍ[ vj٫lGzjeG?1MqãkQc6\s 簯JӴiQ?'=|CO I:Vn 8zwRv߉mg{ܜk*(ʶmхA/熑_ ?v>.a%7Qߓz=?mMV-"4շvsWJG#Gfhf.z8/|5 1O'y8UW] yx_GZjVb%K 'lǩx*`U^ZJ2'ʜ]qߙa1jU*NPQM&Ӳyݞ#ODH^\ N3^խ^!qAiʁ|:kSu5-Fw@|l5h5 ,B3eXC|,p֪F7Tu+c]\n7;ݹϔ2VH5 ¥ԞZSO?;,OC:Dui|ݐ:qנ|ݪ^iBTv$C^{;k۔}LrFx>ײ|R-gRF yO_`JujIVvw9ZǰZ<*r|zp;5`If=X5=ªJBQ-[d5mL.J[7;O@I<9'x}wƳϦ;'ZL6tjz=x[ڌ/\I ZDU_'өC;o'C.w'V+vиǗ/KrOs5/ zBd\׿lN)hXQI~TRq*)ܧ~0E5XcJCJ?X%dr\==s_vM}m]|GxS@$kxtZ&4K 2e=y_? m/'9h˩x{K#i%ԭf6dhgiSpGzk3FnH<؛ |ewP3b-FlMF$nP}Uc A^j#78[k2ܜGt SQ@(GZW {[ɡ[vrsls4YF?T-?cROo¿4%Wk<#Ym&!T Q&xw/m["SD e;B9&-<[Mes%[L7VD61*O|ÃMl~hhBPZ&k۞[GGӃx%?'C'_ {g:}3jdxeTl!- PO|E¶zG$4wp8 ('Wh)éGwx-a3S)e}v华瞵 |!\]kKi+D $Gd9, Һ:oYR?M+I~1 QȠS|mJ|i Υ-,-d[r%",p+Y2Fa_ْ?*VuE\K%ߌn5}wmBIlFP~C<X[K?XY`ԭtUs ]#802# u >{a@`YW1]JҍH&M|-0#vx2YpzxMr#|7[ u?hdW$!WMNu8e`A^@O>[o8.v{U鹀ZW{m cp~Rka?gr]֯c+gmEؚ eHAq2E޷MJ}Ho~n>h>TOs Ƕ6EoSo֫_3FpfF zQܚ-;s`4f{?Jer],eN6aqqaVAveV qsֺrn8D20\pQMXB(8|}H|KV鼺̒cU]5Y7o 񎓡R7CȬŀ m }?kdL9d\oR{$Wu f j>3<^+][ǾoWš aѷB_F}+Tim4j֨C#ſ 4IhbH ϘcC v˭gHD1?b +v*qⳇ|9o\O=8XX\?j]f r墏1?Awl{f%Nrm0*5 Zo:7rxWvIkC $*`m=:ԯ)#SIwy-Ės#F۔I$dp=L^𦟠BЉ3eNT= :WcXynݸ56\'#]N=@fj爍9WMݟ?~&yBO)$63FL7;m:8qbX47MeQi.Ai R6޾>,_[x7ԥHhv 󴏅$x 74VkZOg %hd5)K"#Cۚ9ʗuu_?i:1^!C]SIv`D !"/Qy5 mOq QUQi]a4-,Bn\xLEA02cpBK#s u SÖ1mV76cSWksպe@QdKyrJqJ?*_?>[fx6IyJKg{*,ɟF8']קhO)޽Mw>U]@cO-E \DۺNC)֚хQHAEP IF@3'6Xog[K\&Ƥ<)o2\#$+e&IEj%`֒ksyv<Ny~15aq9b(Q{E$齴%fG/ׯXR6Xȣ$UѸrX' o_U~ݜh]L-7v㵏:bI %Bd |b>TȻK=Zqmoy[]Ʋ )IO>#x\ԡC<wn1vJ> +YؐF[w\dzmށ*lXP(XP=:楱ҴE"B)'9rVFJ3e:/& KdPZdWeA_RBɭAqixVr0Q˱¢C6_z~?|)/LJf7|{I;wuPcܮm#xo~;}SƇ><}Z5S 4=Ź K&}OGÏGįW]ZA,H?tGM`_Un̨^ci' ] 2{ߋ? x~Q)j3xYcRͼF [ Ws [5},TT\Z|EOBJmnX 3ibp!v05C/x~I9fܶk6A#ZLG֨OwzVღ^X<g5oxoY>"FhF#66! 3lp%!Yc|'C[Suqeu!K7,KWsA$p9Q-V{U# 7j-+Ztק>ku֥7/;? M F]܊ڗv|nk;Ԓpm"$\NC CQG(V>{Xeiޓڿn/WT|V||OW RSsܽN0^+X2˺hd(pWX秬m ֽi"[sm% ISL8+^2u9mn_]3i} 1 3 [/3O6/](d>J<1ik'^+3˄b@*JJ8w>%kۀfK1 ~2 GI%-WWY(N4i߮_sё E^'$&e!\NynjS/$q !=k ɏɞv?&ᗡ㎹W.~3-8؎}1ӵmtAbk>L9R:M^rחWR.)LFo0wW)n΅"|l:kR GdLce?y儣+t׮%{N[6sheH!9Lz{䟥P^pYpۆAX9:%w/B /]Z<jog Ĥ"-*ՇL[>熵 YRR6FASiՒe]\WyqA6dEږ{p~702^Nx? |oN&oN\Ie$ՙsc_]:-gP*9ǥp5+3ix_@GeM>0fX_oZx¾WotOÐIcn|\,h:! bӮg/ky˖հxIK qhʥ~gGeѬp)@YSk^C֬.-;(oF7lO^E0z} ,r o6\B*m],ldd8l1Rָnr_5u}]-5]gX:HeV9l|]S~>|[Y׾ 񧅧k xBX伴HU9ằDUb"9S[Gwj/G$!BvF;ǵoO]֜Am+Fˀ>"H(SOG_=LԤP {UlK}0ƾq:ϩڶa3FKH8X>=xx`1I"yF0 E}*:ME9$c{y;[ _mdx{;l<;Yú-,&<_1-/f, ̸u|0ಟPx[@es(|GsۼNrTn` +?J V7ߴ'qUw$z+~ҭF|ժ/F6UQ\4 ⧊KXV6 (a[JfGh6 <h_ծfρ?5x!Yei|!frWPmHK/+m67%zsRҬnc}B$wK`% @@,gνKxHgў7 "Iִ+XPDS2˦]yqr\wϷӵK[_J8xSoe=lsjz3oo"kaHPǚ?/&#p}ZIXA{;tW:,T01mçW]'a_ƿĿ^$ԗ麵Ki m,2X2\RBNSI]i7fai*ois+VpֆY5Kӑ ?5"XŞ?h;lQ 드q*[;=/IvjpcTiƗ;$q~Zng'jƔSiI.\OUgrck'䭤WߝX=B\~Xo wclҘ=3Z6 pAYrLnu VGNihYb[8"4j>*!Y$jV9DU$ZHS[{ 2U;f ,\zq앿!N#)6y5HZ(- )rc({MF}m*`z:=kK+IWp33\fu1K[I'r~ugVegzMƭݝk| p{ּσ{umA,V;q ۱jL pH<#qOo(lFHL{Nq +rtա.yE|VZ&$q>YU[ezsVM[yt]R"On JI}qUDKpb;- ;mPU ?) SV+Fh$-Q['hcO]X]irܬ>bzx]qXזwf۹!."[?33֭W]JHonofp~gE w1NXe&qUZdhBW A/kRd$3W͍"Ag.C9 篡GD!dӸ?B84GfkVw pW!ׯl0s9#c4`vQ NY5XͷoO7{=G)i8M5xCliqtSjH u<oZUy<{ G鱰 _^Gv0PNy1қxI5h:7רoGLs"B&A]lܻWB?!p8Z]z.{NYAt#-$b'# 8E~U{~85?xÈmN,_7Mq$)!2DDo-;F3GK/]I-tK<Ž q2*F %سr?gK8g>8m{{]J4Qrp\r)mi~ M7V#X bkN#W ϗ;r+_ZǏ77k? x[Jmϖ{3|)gSOk3xYuFVKxvu0[.7u$U.!f| l%GSGVdO3>4'|3TE1ZeK[#91>\L~9ω^ gwo5Ѱ298k~R< M|Tuu[043E4R`|M <`A8?Hu 5.,d'P(~Xd1>UB9~,A_'=NFдσ4?s}vE ^\,gbB.>tI =E|[Z+k?+DEVm~ͭY@u%^/  ps#m`ml#;Zh&֝U~Tk $XZ@;YĞ 'QEAOMӦiyggy< OY.mǘr3#>P>c=+LE^4Uº\[b@G""%|y_=fO_,%[;V$WEʵ !eG):Q\):$m8gڥ̟kb=?gY&㻻(@;ƝzF~?> K/SKTc4G :6wWPkw29Q~uiͨi7S4V1E#c|`8b2IBI|oXhpijܴ^<+rvܒ8mT;2>h xCn5y9=|yj.މ#ZmytT^H>{~ o8qH[|VԗD7٭YUᝐʹ.XyDj#Ts m8oCo?u8.*ҽ4u@dnc<>̀دLa_h,tWoo+"xUrF7+2x㺲Y-u.ɓ s$^)8p3?}S]16+*3F#$UF+UӦI HJrd&E߃ш|^ <_kmnmneFi?e#7Qw3z!5}=K,/3HZ<b7l 3T,IEUg[o O`6hbQφ~kt]5m۞0uxwӷt ppp%VbF6FN WKF-Ra^3M~ĚǗkD>5fY.fi#~YEVПgRj-ioĪ%擬YCE"nxd\ )]n[VšCcӫ8=@_x~&KXXR$fx]T'ڡ$d|O@|2.yHF,wFу,NXg;yP]sG=q60NNpOlb}mip Hsg=sNoNkSϩQt~gKs]6VTsOlI I$5_*«F\*z5lj~#ң$o- xzdpי|{bti;g}>+I#RFzžo^GP5WvU|sb18Nak|ϒRIB0ה`^S5dFёq q_'r9q#3% cy3bsҺ#MQRjPJNWUwmE4wx+Ikd+;ذ+l˒2A͒K⯂>1POhCO4xfK2I']xbCXW6rݮy-_͈9 \0`Ͽ ǖgVgnk$Q%&TYFV `^ZWN>g+VsVj*ݔWGg9+Wa #HT5Fdg-\u|SVNMtyhtЈ 2stxxx ? *ݱO /}Z7Lb)W&]T|>!i f@8#VJ),FacB[WROm.umRF] PBrā=O^+ۏf'tF Bcr?XlAK!7 l&Y&{5eV:kGʊcfiP-<]/ Ah˱PiGg'\k awGs=ڄRZ-[E;YRHe#?Z/xݭk!`}ʧ=)Ͻ|~l6Ԓ:3]m&@e\+lrbNz5ާu!zj-b߻7>}E|[OXusrOxdv`8:r䚳?`1n!qfif#C$*'8w|O߂]ԯvHo{aeHMLL񕎓;N1޹Ⱥa7 H +  #m]LC3\8Ivcڹ!Gu“ᅲ/پÚZ/𬅵dbeopz=l&IXj8>M7}VRt#O=jKX@OSS8ANK8kF=:??OҮ6W]-/E=;GS>˩[Ǽǣb\Wg7=̢t󕡐 G' [nJۊS'8KUpF `i-?i@8wۦ2kEf$]c .K AYA>vZ= xQO r޾50T[slLwO#Zj2,ˌwHݞ\>֑Yʎ%Cw gvVx" ġs<#zS-e< =8>7[]"|؀]G_ҙ",Fkv;z\Tvow$,_8u1I,ϴQ{kvC᰼WƿO}|b׀\C,0;$+:#u~ƟIe"G%wsj̸3TR=l yNp3Y-)_eOKZ{9[Mm2[5u+n-V%#m L .NUhۯx|!2jCdmױIA4wrLSeVCrOޣQԾY!_?[)H?NvQkv$0*#>#GVbdt~Jbľ!!)wk"ˉ&kxZYQKYqD; iU΋j:}'f +nCp+;Wiag>cǥ$i:孌Fy7kyh#Pn$LoiPxᾓI>:Ma X)W/'2\ E$fܟ9 .26q8wx~և<' h\?d67h/4P, -,4x ˧C2Z!. -^\̓,ᛎGFG¿[v65dl#+xjym7c1\ݑ0BĜ~᷂׼+iZŮmXT?{tZ_θ5JrK廷# R'i9|% w?lRCΆm6PTV2fB2DҾ1 ~#wM[[[)@ZěUMX~R m@$I|?a(?x:|/xWOnxSH$DK1 DV “@85k\yE:%)JI9n-hFMє^u}ybKߊ"B47zƧw$6Vo,)T3>X;GhzDzvv, %K 7 X"|8~_/&>"zz̒~GM?CmťlҡIvƥT9\;o<\5cT9i\%*ՕRq&W&Nֱ՜I7O'[}w-R5C{xĶ$icmstvO@#)_~ |Uu=$vZLs;a;-̮e#;7)>ue7 xKm&lp% 3Sh!Hs^gemno1Gɏ `=\&ɶ?O=Y`x-&ĺ5cVKVV1ټ,RmD#[a5{^LGFNќ?ҿ3 w~0|iq+KKK 'FԦ{-kdt:3hjO37w Mbx)0S[FhA Bp8ʅns8>Ղ|Ix`(VN0çsZvdP$n6򯽻3)tKvB1uIgxyOЎj0[ f#703i!Z My}eÖyʄ$t4='FEVO/ycUs e$[@#r F'9?"0'= j=#7s%4c16,Wn1Y?m.iAː#uP[mE'x#w~"2|8.ZlFZ_ZIo4~DjEu|׶v %>|; 6 5>+kk[wdit>d[̨X67jmWM0Bf6t?iEsnDz*7v/$ *ձQ줮Ofa-[AxA6~nY6uAf,cB3b^!v@o:f*kdn,{t¾*7ah!n͹AM#v8ؑ{ J7ݜ9sNkJy_et\Y{NJ,j^ El&&xHy,ǧ$p0$1;eN>,$(5hΝo,e|nuR<$Rc勡bo*ܛ}#7ҧT־ؑ3nsҼ*MĐ GX9*E tcR䊷e= 7wU{kU5J}${ v|EiL D]0+WYïZyOivcpwE\w~xx |!/Hٜi^ǨJy[y' CZV0m{sT뺑[??N:UMIk"l(,IF}lU~|oCz;V[56k&)%+(Ġ[hPX~x~?^pgIݾ+EZI-W{2͞xd#wSk !bJeyiֲϊ5B|E4mn#~'̲7/%QyAwn4w=hҫ^\?w\?Q^Ym<=i-7Nhm_v]mcv2'aGo)ទkthj"C鐧EO& `0k~Ҟ8V4~YGPALj򼂭|vR;WZo4!Ro(@*2p0q^UX{* ,m$+M}rK;}g_eoO6ፚΥf d70!E kދo"1\.[;H,3_Xtua-n]敬8nWpXe9> #(~LG?ǟ(~k* |zVe'ua%`3C\G]V8fc|>~ͺ6K;P=mFL#E ϖI%9˿ i?>/eh%v^:]Et_.? V$6[mBTg m}?7żV4۲\DFKl~vʕI]_ש:԰tI+4]ONJXOռJk l!Hc+27G?"|eYMtEE~g[R\<O3·a}Wh=F}Ǭ ^q sjXVtV?kJqvߧTqt:}!HOz w^1[M垯iLSÕ'=.?s7gtS[N,T#+:?^KDBi^/({Bz#dV3Я9Q :# $g'iN v 0{zkXnxFDX![|7k9K Dkvǵ}D#MG8i90H瑽_~Z6iW*"}2|:'2"J>B9R\ s?xD|-x̵Ěe79~0;Y J0N5ѩ]Ւ>3\VW$iuJԿ m&edP1?uGN?wvhz>7ymyΗ /&؜()d)T{^~u]2H&a(00p>g*k <>+.U%z'm#7Q!AkWGe9 1Y,`(/uBqF6. "K#/R2#&H3:+=NJҳ-2mJP`R ]Pq[-S)1ޑ sF;׽K'A;G99:[`0kC}Ag g# c:5ɂiw9H֕ޘVeKv#K`8QT)cFx=3瞤&|d)#$x8+"#|Bb$z/,$h3*wAVԦ Ć3H#t/ 6zֱ$TۃY*g} 1$!-Þ*^_EirjܰF[T]Uۓk &.TR%9_YNIN5KOmk* WMѪZV 7,zu= h-܀#qc)MpG nFGUi<% ͕Cft1ʊcbT&셵,Id(yD)kC 唨7^u_?cƷG2kLE{\j0y.{;)d0CH'^[ʯLϥ`Sc~ ;50h/-$K[hp O3WwP|]vw>18;-%׈o,:Or>e*w|{xWMޜߵwm8M:)H5_ 5Iy%08;s88?kχ9xB g[cDhx[ᾟ&D$*NU6$/G@=(7yc*yះ֩V TGsL۲bNߑ]G&COnk">&klԋ_KYLy.C=+%$b`#[yZRV`ONcH|I8~c4K:K0? > x_ |-?yZVٯ5 mQtQhO۲Q.`{#pdw<~ԈD2J'N&֭nuZ-GW |X_M5cusĪtҷOVtA&9[Ѭcx`8q24jN 9TcXx'\\&]:PLpp%P0r@d}:H7Ep":<:-N w;oeT`_=a|#Œ]'a7< -ulZCpP%bqsՕqNghukq6[ºxԼ]60g[xLzt6j3 ). zT^-tMR?6$obD#&UT2k4JTմheX9eg $ @iOzhLvGk,fJKL୼3a#GT W ߄]l|@#Xm(£d.p:8~z(ZmG'!woT7;\|ǃs>`>}?̱M]@]HGc ul3p$ . bmQ#o&Uܛ. B$_|'?e#"MP* Pa73VRe'۶h"4ٟ%;I4ߊ^f ewjN75'ݺ8 I/UIPEy'y[yOZeuVӵ+&kw*MY$ Vm^-"Z+{fd,X=#Sh{3frpMv:ƍvqKmf.ArۮPn &<:ckܶXğUi$U:CaKOZ8I 1hMq2=Gzś/xZ3XKI.刁 `YH5[K-9e+%;/GϴR˷n 3-;U_=HįP>,7f@2"DIݏ Űy9:Ws"Xfw*Kgj;Gp-O^1Vc^]^kK{:w<ΎqL`j!4X[YH`ڻ6X&a c޶<){KMd eKqk̩jў,Jܓ{xxzhi3$)a̜ Ƽ[wWԤnp22;x9{:!Pߎx?k6dڼ.~Kȧld15ѩ|}1X:hO:CA# 7ͅ'uQE[RFFQ1$G'$gkGb^tJW[xYU(-@^C=R)o8v{J'n@`d$scZTb+W88S/)8MF$>{{B16;s&#}qY:5 3&'!D#`lgcxKkK{ATYDPJà-ce$F1"vv;8uwi% h aw?ڦEݳYkRYvGU ;]6|zC^Ô!i;!6>#k[l@c^LRNr$r*ѭ?C JhW>D~Wa:~eKb,&f}X@cY߉> ;1oz;|€$UȲs:F,/j>MJwkKH>%w1eGS_4o3.l[Ei3l Y> q+VxlW[%}}5ZKGe ʥ.q.H>W$W}Kݺz}_kgܚ| |Ѡg%#;4(8-.9( Kw_fI 7;۝\'T7m eI O>gYJ@?c9¸kStflO|ޮTR+6Yf5Zi Dyre㊣[jr?ޅqI4m<5urHlԑq [iv[J<7m,!!4AsW%=t7Q%"' !Ґ#o8==8[}7n}k(N;g׮@皖.-6JBǓSܜgZӞ<{VMfec]db$1qjFxjϾin#>+jQ dI媶ݫ\n0v:xSL[b 8쑓 ho[7^Z0iFϱn.6TW1!kzvsxL.4CSn-W p,BDqk,CM$'f)F2:u NV{]\SgRgi6o;~ {KTWu "ϕr{f?ݍƇoJ%Vt) 8pr2H+c\WWk?>%d K&ϰ.uhnaT,MR7>EzonO|YxEOU$׶ۄ;:;3\yFRM,Қ]84j߭N3}}ag4:Z%m$$]a}FrktZ-E=%IJ3_Kcr}H_A^Ǟ)y*#D {ĺmFPL^Wk ιѾ6H@Ѯ4kuDH4BPʱ҅ 1Ju<=l1N҅WIGojӊV};i~%xsWqj^0K-A{&A6,Ynt $$~?@x{Ǿ4  K֚_^A.eIE|G3|.GCzE+&FKk(Eoj.d%bcH|]x}mZ]{l)#Ge_.FsIN'* \M 8I$<iq3vD'F_Lwp4Oḟry%cs~n톻_:ݖ첪F;,jYI5W[O/VowX'짜頯%aKfh.+T08qX)Ewd(7;>(ЯJџ^7w᧟OoΧqxRdԭ4F[K+\M Foœ1-@KǺAq:c?~xZE>:Ihv4AxI"\VSղ#Q5S? x+=n&`Ʋ2. W=kX9fh_͵d(p '8_Ӭm :QMo9ڋ:h/?5^Man5)ZD] 3_!h~ hŜV }0mndl0(AwhF$2ധ#;@{K.davcPc3֨Ɲ^XiHghfyjnzͽGm$~TK#aAʟ\$bnuͪ]A14@8CvTgb淚9m7Q8GV~e)(1I"RH颇OZ\/@99f?x*)6rXzY";;$-LK 9`8X72l$3vV";I8>E2lܤ%Abc~IM^@ѭ K!3L;+<%4D[ߤ t@ =n!FUNHrsG#:esA5{bI>"[K55`:cr[Ҿ <;uO jVi_BDVvz\SkGepVER`W:/]M?O0=гxʢ\\eA/ry!~ m,&_g(+<:⾭IrRB? ^Mʤ:oc'Iѓús3, '$2;=OZ<8~Dl[k2_4bc/*䲒 zOkXIm{:c7hIs[GY[ i GGeAK|?G'm,Ɖ R$R[D;KFϫԲZʫ,E4҄dn.1ײm_[DŽ$G<~j\Yj0]8 *p&e7 F^)ӃF9G$ >r |ͮ~ֺN to ͨ6ז6M4SZIu|t1J-+'88%Z\ׁW}3Z.Sŷ-#MJ)ODyHDϖȡZ̽﷭ORc/[2NҿMs>.+g>=|!-RQ[kq΋i1鱀=^H?:&;-_r0h^uWT޳eшͼ1^o'YqKú5 l[c!$_99^&}nݺUN\?yQOOߟGrf﫝5],zxM>ޡ?h]vmN ҐȪw8'J`~Ο ,4a5Fqys3NFpy V%$;r\0Yma#a~M~gtIB>[j1}Ve?#I7Ukwo4Whe$ąhԓyI~euĮxCX4sbg4'Mk[[{+pdj1צy_?kzhZ\YriG",3%'9iHxjѥIsTW3۵=9[|+o}=,huj+~ ?jj_|Wl]\tϕd|Gz|JQkeASQ#1OUS2敤]~?0/>-GŞ"wSw   k?moB4φohY[PY63<ꭗMv-6x.pv2mۀx^O^aVxDEB䞵kS&m;FNw;1䏆~(E0ˍgשV<1OSI[i[dgBIc^_1BճiC6 ~ʧl8NA33]XPsg2%Eyh-t:ږOc$n'ϵTK3xv?^ۤtܞVvK}!5 A?]fTl7~=jiw,{[ *6fW 2Q_m[_))Z+{mm~h˻Mnn [ j`r}+kMykvo#).IAEt/txS]7)XH<淯|3Ci,P <+ݥ/zoo鞍:UVvS Xyǃ77'Vά4Pe6q:Q}Pxc\Ҧ%1)vDRF̄85 -.4&OM:Fko Z#3FYY}kox;KׇTǙ K=O#dEupq6i{jO#W"s-j.C|^9MkeF̄RKxvTd}E~]:JT+;3u4<9)TWqm⟴Ena>AF9EaUn} *JE m74A\eM >,IEpQB .#v(zǯH>~oݏ­i1>ʁ'p#9^m}={Ŵj@ En3Ru"J:5m?}cY{N{"0- @u$ >y $OeDd2$׌-ƯWl*dN+nQ3'9Q_UKV)z%`U!k |GkL@u= [FymDTa<x+u2ox1/ %c4MyOL:~1^*#ӼOg_'nwŘ,6IŹGTRTkt[̵$3>(AƼWWԷ+ɟEMg}5w+ǻȹH?tP@3#5g֖dG4Iq[=,Nܼc-1wd({{kHYo=1p1'/OgrT1O_o|X`@f0qǥ~h|x7K]PPl(#IE9봞3eͼ#$w*G' '`O^5p٪Ʌ¨E@;]^,;Nq BsJ楁;sҾj|;մه\Elۤ4؛eο0qgo! y;$1S$}ʻHzƼ~~"P|QWw-v#=Ɋddd);33@a/.-G>IѴ1߳~Oq ѭ+k>%oc̖TܬDA@,NMM(xnXӭ%6Vss?<W[O?Gi-xo۴Դ8 ¿W>7n  Ed !W+qW>MjOo#]mdp@gw3Mt@1vsj9YËU8$?k h ~No83Õ~ls胖X_T57ͫZaլlfbd%9>d@{¿/n|;Ig}#OF ZkkpDv< (zpP$wqN9*frM=c߈g|ucyj[Y*[]InP| ⺇5iw4)d0,x![rkص9xoBwū? l-KTJnlV[y7Kt~ne ǰv/Ԡ>UO>Kl $IaH \Z4b~>kuZN-í6ɲKH6PHWh#ub5.2MӼ5-K^&+T,;y"H'5$.sݞ"JMח=*OǁEQe"6Zy󂂻=@Vw]\ݙ dC8OPӼ}xdӮ+[{#g>"b6ځ{wVRaeP9k7:wt]F=B[y2\0OV9zt^ݠm1FTpx=sWA1]#8=zW_3QZyV=OIy< $ HۈҸ/Q#{EA>\n~^q{r8ܬ>_Ƴe_!h#¹+}2;U8ҏϱ8vʾ*8⺻( 1t[K0#"!IC^Y-ei$dA^\ڼ|^9ILJTԭoQc6i}ûc<0akpq6xn>;UDE >y* s_LxY|&b ZV$[ư9[C.<~A=F} ъKSJY%{4Ⱦ#|=о#Y&ĶQ?2z8|լ|[;[-UG>'X$̪T͂<8>([O_,! Qǭv:5[."Y9.;sֿ:΅*Rjz6wK^jjT\+RUiJ:/Vӵ(m.mX2#Gzy,ʓ9a?x`HtwoVs*jY?Mk:ޛoaDL9%pTW)kz|P,3ZK (dHҮ jA=}Y$2T.ɮOpv9V6_.5 F9.Vu[t]]NJ^R𾱦ϥz\6XdEdtn`I'4\jxf-eiЎbv+:v퍼R(®-A|g,y*G11i1ڥVc^dpOM{K(J,Tjg¶\^3>qx~$q+Wx~l}Bkֺk]7ck?rr8G14xPbƚ>quy`9QQemqյ0#dG\צ|4?f}xEq .4-1Lmnu  C_|!]^ŴZ$:ªA TEnb\w~}LCE6+w29op ;1y:ʡCM۳^xN[]kI.ߊ[MUkBgQCПO_ZMw(YX""f=Ted/#dm "I‚g|IsTXLB[oDLd&L/a4?[:{m@!e˸R_,ױ֒/$SI&ي#E$NXI 4AY4ifZI#anbO = Z{wj#gifm켽S>3`bz*sߠnHޠ:z/ox\ɍ|``aI(vλ 1{#Cqwo[!Ӷ>jIO-h -ǮA5Es݊dppvC.UOOʨ-%ݱ@p6yBJԴصcף1EpdJ[1ccҾ<]o_W>5[341\(LHŋ =?G- 0\պ~UsNeYм-kW)㺴wFX-:DJAaiCQʕM]Ü*bV)ɴ{|U q&\\"Y7$U &v-~#=Nj|G+sv;yQ"imD!49;ܖTnX([}ս:"^k~][jZ-S]y ?Oѧn 0Zx_KUH!ef-=[Ijrۙ_NSDԭ啭ge#x [^MnLGӤK%ג7 8MH,:jZ7XmB!x4M.˸r0~]|b- sFz5emwNNRuM.[Y.^Xƞ| ŴX+rpX=kmZYT Ix0LUn%)!]0Uӭĉ|mF ` 9+柁,ÿτ<1Kuˤ$Xc r@C?1l!+ pxxZJnҾVqZ]W_֍$f߾)[>P[Z&i&'ofvJ&K>vη.(0@[uܞb4K$s,JI]>,kJCf]yfQ6eqԅ-F 2M{=Lv>TDG]JH=;Jn#ӣFhbGe."3^s<%IWRT+`|CڢqgXe\Mw.5MNc%̭.VAd3H<ZQSSỶ<|_{{4w -]Ϊ3S9>i,b0Au׭d[#F@34WM,KH؏NƟ|H;x #\.sY<;B{c<V6eUhsTW~ ߌ?ࠟ -m4V;ˇXc4QU<ϋt[RTT8n+/,xn*bUcTvNyV1f1rW.lf"j7Zp喏9(YkiT|)AXlW@LGAc M˕i&Q!=w5&w;;x\vki&()0H1UocW_jxE÷2\|95t'_2!W@3ߞ+qxb+ԯJDtz4'YB\9>_^+#}+Z_OZKþ{]GG{?ϱ/!dKHa eR4/sRx3L ElmMO[[s=ǘs7^sk~:c;s[umZPhtm-f%cT3:eTrxW7|_]ǍS¾വ1vHݡ(ğ6IA"eb-QkE+i?K96[BIh%iVdەy5zw68(yEFN*G՗ Ao`˴uDG@~^~Ta8 _5=vzqk<+,70Ȳ*6p'4vkTuK0zNW'W _|ulٮZz5mڅ̰7mIy#zҳcwA4Da]NR`#r:db+bY<{ԏZ_grs/mdx;o1Q%[(.UI\m#OJ'?Y[[82Ƅ V 15''baisCnL;ײO)*[eb~`?(q^b=%> խ;nֈ|/hj̲nQ6F={5rǧG9'qިx_9uj6GnfKx"@:QV~>P3>! Zʥi#kǜ},>J޶>tW<ϲ?IJqFahXI޿=8J>\](:i= /-USꚴU.nb1z]ǥY?l'$mDlm!SQ68a1o|߇~o4=HEmcavТ(Q@zVOfzP'lƏ9mݼ]> b҈BJxHBw[ ><=拭7Qj5=WRj`),LLL?e^5|l! wٞ'om5HG{mvw2\wbf-UEfi)9;Xwu?q b n]o'@[A̡$G Sktm&.R&62ۗ19a$Tee<2qt5.[eд "[veyXL2CVIZ3S)$~wR~jsgU[3t %u9L/^w|g8%_@0+p|精ONrGKdvHG̾e2*QԀq]: _?|t7~п46ӥyNHE3ȶv(IL<]s8Q朔h%++ꬽ[Mz8SQoVm}_]t_}Ex~xS'X-VdڻUVh́GI~{e{lEj`cxHjv2 +ȑpNU_Q_U-μ BJm?C8kwLפs}մ'wlqC{?#~R|RL<R8֡N+5,26x@ S&vϡ NyqB ,8=+q _k;+֩K2#n[2۸tp^6ק9$z!]@^I8 N{Yl`ijKrBO(j}玂ޭ4|Nfhm3O{{;8R,e-t#~G&qevP7+yʞ@遚e`lN>E@,yNkm⾾.-U7%{&8¨8 H PYgvvc99r}yBrNrv:b_O;kXſŞrO\InmțN|6O.iwe] ,LXpH8 _~P,OƿVi-կOtjL' 8_wNV-ltKF͠O;Enc*wrs#/z?o_'~KC5ԶvƞG G?|dt wVZY_I!i,.Hvx> Ƶk7ڔ㑒(WOƌNzlvcf3>|Hk>飖9"v[O[ȫ$3FS_:~<[xWO~v%twR#lේoG,9X.Gaz?FNĽ->K=:-6 tX5tٮa,\9n,ԠBLkʶr1ciW>5%ǐӣޓga SVL(`pA<+xnOϦ nQ 1s_ u:Ơm^Is|ڍ#toap |"Q}QWI_k+ ^~HKдEC)C(P8?|5i3y(G ıP+<7Ş5ǫAj1XtbFE2 b5&/ĽL8$Y1˦af ݅xsSPSUS*黯sൂCkTɅ`/ rMuj1Z{vZ{x.dR|Q΁2_և<#?ݎ$dDQ22wy"@,[ egj7y /('` R~R8 cJ*?cNgt*N9OV @FOd23+AڼK|u귶rIo1chc ~e9ǨD坞ocp5]v@m=:R:Sk_2FT}*O_Z>`ZGY#ݻ$Yt_6#ȇ.dE$D,Z~}fa9vb1B=5 TTtN6 =@*PM)4|m8dJ RkH\=xCY-3q_#G/.csߎ9r-9ӕ9T /t8]#o.(pTҸ¸y8~c^F,uQ!fff,1m2Gm(%TȒfWM;_ON0Hs :}E~S(,cA+_W_uÖ)F:#8 i-׭>&xXEIԂ!f-1v^'*r扙_6Ǘ/h}N &8xe_vÕ#"c6wRBi7ocgnOlwX;t7m* :;]p@u^ΐ [J#HEI r#p;p_Uk &:oG h&ԼJ-).n,ۜtqCî-3k{mWW.`rhw=3_Mh/t-!Y1 3rI$'k x?pf^}F_b"I7WCx @E5y準Pg˖7o.7';Y@Wn[ˁ~A#۟eК5m+i Ydgl;2%@?whBI(u>Q^'巌7[Ox7FmPxp$\@q^[2+ F$Hi{ew#bV[i ֍ߴޣCgKh}w7e7{I ڙ#$d=4*$r8ʤ 8Yioӱ??ei6u5uv~C Ĩx2Ofd+?bZťEu$yc(tD67(@>;/|@ |f6p-1RF&xؒˈ!*;={!g$3؜ύˌr8~FhcF6t˶O%Xl7aje_xktNo,J& ?*Ɗ c1; `3Fݽx8r5x#U'Mɲ@`Ϟ!?־ӗٟ5Vm M^ LV80y :qIy:VQq2(oB{m_L+kVM'bkhg/S\A i_I#o EG*MomeiVbX}@ 98T6JI=@) SIjoè lxl?qZu]k!ZސA!c[q98ْ6م7CW_?iXz<e_Ϸ;cn{ן]4]M2O>L&2Аd܂FW|GLTHX]qW xxSo0X [ #p-] _:U5ȼ9|0\[ʐ'PA$5u_xzK{(JVHlUfqpM`xT'uϗ,I$c`71vFKeVF~X$vgBVwM_SEM#b܂g=UvԈf^#RHs ֤ڶsmgQ;;p6Ky?x./voXtئ0KPO#6vcq&C؁)6GF[H2 d?SyFo k-;O|gICwwfU,OЈ<޺*(@"$_%3JM?*ۛLߟ.xoC^'_b|FX(t<鷩8h_YI"YF-␀d:\لS<3#VzYʄ# FL~*xC/}[þҵMFRgtV;e00pIq׌+Og5)o$Yk6 b=Ld>`X$%,wc8ȯWueompd,sW_<'8[;kks[Ȋҹ*pe؄+RӕjQMI-[mpR:QrvIjV[d2pogd/qTqGW=ę/rNN};NE2;< uA>xxO6$j{4ɪP}=QoMӎ]^"[giK i2*{ƞ4CUi>c ہ+\Ldӭ9Qbv_ g>8|:tԱҴڮeqfvbiiDpc?úW|Fm.).,bPkm]ħ "_.e B ,*wD=3}Ue59Egv9ͷݹO8ullF_((mW^"Yu XD08#kcMϒk5ĄSN f][۷;3;sQ22O@xw?־;vg-4X5܋$*K'89:U;nql1#Odrp6rORPsЈ0D6uᖀ:m;ã?WT +;LзYVS#ZU9+L#tE]& YH)/Q &v*pH8#r)gp=^d}pZL!`"ICDANG`׮/an!S%̤- ! ߈i~{;+4RRY(gD,ܶ?\ߵ/«x]Tmth/&#t#˖u`>~/Dwz>I??e_͢^]OYoJ,Ѭed1ƉdQflVqX6K*H$ckIC_$NeծE̒&QVs`0bxEkҠ,c5尶,uKH (S~Js,7t!K[Я,peA9=|^kI2}fdRRdlH=9>0uaV 'V&^y4]=]+@8鑞F3vs rl ʽ|Tj-RV>n|yqƵiufFy#DĨ (,r`AiAфkKO1 wV1y[w49oLLYi=tcW 1MzGWny v#qEUTw}tXpի,<7>+Fm4޲jibXs=GD9VVd =r?ۺzyY{#u:Z]7I4Hds3\]gVf^k$ҵ[EKh&+a;\$&~e E5:N gfڊS淗3өI߆5KYa6#'ڟd&t{WՒXfl#;e-*6TF1ܚ ƋމeConI.¹g(miDegx;N5ڟR@̶Eqmcky7!IGx٠V pw{ti`irzݒVok4>0 ڟB7X+-q\JTsak;W_? Go]xzśm$vMX])a0fW/}P8?_ivYrv%{t^}y!O7AAOLuhӵ[t!Edu!Հ*AhDNJzoz-[wS`ǩ+EHI} ҿ6)&5Y~=|)x W|QB9qx*VZ}&?0.,PO,d"X9VgyqN{~G ӟ/-j;/x 6e i4 ^e6*,vJ&yϗW /$d][Ƴ(T X*en/OEy5+xG)o>Tm۩ ~R5u%V0o[f'Q&o j_#C0m9ciRmcAڶDw!}5/.k>^>+(~u#.v)% K(%yw_Ww VkY h~`prTW u*w|?ڕZͺYm Ȓ-,!Y9.9"^D׼?z4G d $}l2H^*Pϊmy'ufK .J gFr` _/7<+1Cm $o)HUAeTR?]C'JtuWZu ?s/pG^yS"(x.o{,vʛؑm+=xSZogÏkqW{~8~dFxM &Fח@!MQJ,Ҙ!2JW3mZ/?co|D}GúgWԚ RPw{6f#]ŝO)ҬݢKhcێؐn=x] o-]9#f&Cwgz0~C1sdi1Ζh`]ύn7[B.mlg0ƛcN`‘dEFH Dd /㎣{=/!+EKb9'im= R=jK!㙣U+ cI<k=6V"o&%BU~꒠àeE]=ZUzK10o˴Vfgki,R+-'$W66Ai8oهqGB>n+y췕sߺ_o{H"MV˜HGZ&hŒXn_ɮ~1#h~dҪjZ5ƒB:+$d4Z$[܋x; &kg>tYROlH{KK;9\̜)iX ~5GvmN ʧzRIkOJmJ;ۜn1EX¤J۟:c14hI=sa}qJ^`jZgߗ$?6Fd:$e( *K!uQ9) l)8+lǞ~_x%ѯT,'MVږ]Vc$vGoI A&;qoUh(#x :F'e!ysus1QщY]~R fk'&icmu{ dv&v05Ա^Gyx,AcR ⎡b]>;pZ(ǚ crn6I eٽ!@IqYn_9Af $k[Amg}hb_ڶ}6wB+ɍ񁻏oUEpkℚ=yD[^MDRD20;8W `ϭ~PE/S7kHc_EkLGs\2>e$e Ai:i|Y?],Jħ);m4vi6IdLxWLU;FS (Ko.ךD_b[وԅ8(cB |r]{ĚZU#Y %ݽ.UQF'F? ٵ[=[[yBM=.c?b|oAZŲt 㷺.]d8bH ͯ>N}/?SkmGň>,:sIseРUҥb|+ɖFf_բOxLL[e%$k̒^JzA_>ɡ|2ͦLqkp<[z9zĀdy~}x~+c0w^v0vk"N귒M[h7q_ x>4P9 W"*3T)w'|?+&V85ϕnu=FPttnb8|u<><}hћW_-%jDpp1#=5w׌$5>c@ ~5EV`ݖ8T~4fS~RRڟ$R!!k,)i#iws2b0Feq!yRzfsB_kͩ^[Dȸbidmܩ$`⽜>մ $?d]f$ĦI>~<[kmb( u\g/66^XX[Cinx,A?{0oJVlEJ-IXkľXHrA¦GҾGSWX98=*|5i8`niztg]͌DB0;+R*r2دkmh#9aHypHc'+r=ziw< Ws$ґ$* y\"m^q}߸P۴J0DobOLk<+<&ՑH :X0[}Qw/t:-%u-"q4P÷.{@Uxz`~(m?c,ej̶P4bg AM?YmK ӗ9 FlkK?G>&1LM,.۰F$lf@C2arc_zx⮓qk/WMYbi𯟆NˍyʹwVoGOC/CU>~4 f=>\HHP Xp⼠fFȚV{0$v,16IB Wũj:o;#RI.^'S]Ezz4Y0XKH\A_Oxkgtv 2( sON_׶6ۈFs׬ sz+EjCs:I,e(]tU+D͍T'uED\rP_ cgFs dHkؓėHE t~rfwpނ/ut=T/+tCq\爦-Ջ%Q_,z@wX-ᇗ.b]{cW{VҪ_)"Zoe V` '#+{%#ER ;͆" W0'EyC"ځd$@^=p7{j>"HfzHrK 7~bҽV%mi `쓗Ua s#۽qs1\9K>0ɓwtUש +*|*m.:'~ٖo5HlEHFG5R\Gm. ]c!qUۧS] _rڗ4+ŏ*,AH_-TZ 2$A-$sm6QH{W #ğ ZCS6y((]Ԭr+}ݭ=+oiz[Svo(gb0EQ/ x#Ěď'P~EF9\cF3׽}gP-$.$L#*U c e[ ା xWD "oyyH1 z'N4)BRv~vSU CH}\խιmYIEr㑜֭t5AGck*I!e:`w(ls֪x[H4KKK[ez .A :z-pGJ;@ޝ{WjRיa^!Ѓ$emj\=&[k+̬j.@H#,Aq]߅PA, 1!S)cȬ>[OIm#b3[Ӑyҋ_c.fə@?tHp3\GJ,<ׯu~Zޖ:}J(Qge/ʀ!rp;f-fS7## GPp_>kpFqu ێxSXws$}; 38Æ *u J6+gD#@UM>:Rpe5ʗ '@EJY%tۆ c]u6X+HHU7y @cٺ]ydGRqY_hԮ:yk@iɥ+7tF^+ %4rg,}oWˈ" /-kJ\Sph`x1TM4ʬ]>pn-Mv}JXuN[wM*v]g߇|Ox[XO_G"n0R?݈>dB;Ⱦ<=ZL4h@ion ۛ?u~~_REg)mK`wG܋Q±'úɹn>TB>VLpnjf'WJ%yl}4[OHKdWʠ`s-43I8Fc.G 6GGAtwCXk _MkSk @ $xdh2y^AmliL>&8nJ=wKUP':,s;^޺%bgvi.\I_#|T|A\?v_Ew> V=?v6G'BXֿK?xOP[)fQ(qAoJ 95Ȯޟ#Hwd<"?Y WO4in`LJQ"Xc Igr(w .kO|w <>DKm/D߹.@mZCEb."c(L< [[IS&u?7>{"~x;COVɼ;igF#H?t#Hnkj\SV8_o/y/}<{ZaF7I5.bӺ_&.rG]D#lPFp¡BQF <|=xW]UXZOo*_:K{d8"d<EV.o1mdl O&]O YR}R+y$PηV 4)T 4Kb/>wOy5`|i#I k+{ypTⰅR&K=-b"Dcǔ4Dx|fg,QojZ*ԵX59#+{y'2'I f1HcWI H ۷]Jv+U~n k0(4Qڽ>AUH .$ex>j]NZKpܟ! 8'Um1f6WwӜx$6,Vkz>e;wpxӞίCW/XƐfx ܁5]5wFr>0h !u),|NΛG*KGq]լsL'8c$$$Kq9MS*Ɏq2vm6 =jiv[* AԟzұX4njTp5*8hsėinhԊmn{`rK4bsZ/^5X@n$w纫;4Aflg*B6s%e3}Ԣsoj(4Cө$lӼCVokZEio5")!GM6( qH flJe5KXMo֙v[_E/SPlwVsGlG$HCd];mN|7dE<aW+&I$Fv'W<.־:O.E%xA~!pgYTp9^}Ė>Hu{gBw\\MQcpf8X->kO&6R[5崵od%ށ /Uy΁ "i%١ao1ps"P+HA_kIJ.M{j+ J~Uڡf'CZu,00ddO]*Uۯ{ye!b(OSJRvT&sj2Nҥ_u ":D Ľ-Įz8,zLq[Z6e1Hf1"8d=yo72"ƨW'*>,* KUu;4s,|cƒZiNyF|R+;&={TR|6#+f0|lcf''xQw*z](CӡvhWQ8g;c=Mt>2ɪ`ͨ[kpJ5Ux($Wx'ՠĺΙ(y`Ŧ>:d~h^ Ye[Y+q.ϺcL ״T9# 5S*o )[+r6"ˎij#NM+MD?!\*0cW<^Jo|19N}ޝ~_.q?1_EcE.TFc$}kNƟ/^Y?t]*h"+pTQ1?}>"?MK@X2Z?WnWIynqˇx&E)WWE5 Oy72? }X6$AE} ^گ$M\›qC=/KK{Y^ {-Q WJ Apg u[#W* /3pqk, 14%U?l'o$VL(:sתuA`ڽm6Nxy AxμٮR %a 5?#˖,4e@Ҽ5Hݱ9I^["~O&Es;5߃MaNjœSL ?*(*Rבq,ykeE yҹ4wVԵQ$"4O,1Yc޾@ n~xúNyϧ ֟."("DQs+10J[J](W/[KHQDix׾j׾;5_0"k#q]Io**k5j-4^ hXi%T|}S-Lj;X}khl5mq%UT I|P A#)v֏,n>'x<'FW\-TYndt-YM;K=2m=% rЫN"i向wQ֟,P="\?THBNxf 2xz&-Y\#rD.pଅXBA<2k57 > kO ?S]{rl໘iVg6Ф?iHٔ",O/_ ~)SaVvv<XAeg{(#wn¾=o>-7E kN 3h|Z{emNbyyKh L;\<~  L^x\]CV.ĬfE巷T3D)5-GS]Lѵ#>l@v4~cׄUu7H c1gJT-Oi3̡N@c̤2R+SJ>xzI.k덗R=~Qgk @aǗ@)S5?ǢXk]e4yͤdmagHlk k#L|axXt˸nkIar[O 71 bX'}8hmOSSMj\n*s@'|AO  B ioETv c|mZKF-דi$SLjj [A-#c|Kns: 6pؕ 2ټb>t%-0ӣV9{:+P5%'܆fkOgBMO[Ygnyê:t*0=Uw;H"?m`I}\# XmY$Qnb`bOiم|b,->k_p8Ex:Qx.SO$X²>󏆺MtN)aKeH3r:tɯPY)O ۯmg|ͻ_\i]> k0KmU'9P>|l>| iM;3Nhҹm9$^ܚ m7_dQяLװjt-PF7P Lp]@nv8jĝ:6%L-/ tO#ayB)8 @!s9Rco1>UA٘Zg1\N#܀,͞5]rl2,?d҃?pʠM/vf(w~<ta6bx (# O5Qm7(z^`90MV)wuM촽Q\Ci(n'ӚX[:՘=8mV| 1gNi[+2vGggs%}Gb?ZZ? i/ gXHzn2 2LPF@BQZ?n Ar89_Qcaj*oX?ILJ]~6/{&}r{|ƥXͰF˅PY: o:m.mӳkn$=,R˚.JbBAP8o,Β$ml<;n?tل#{̠c !~Pp95-Z,4^[; 8=N[2a#:xmYJB^5ia)vUYm]3)^1x_ZCjǠb4KQo#0WAnBQ? )7H$n|Fs@ȯ˭n? |<*>vVxT:3!۝(99P7cN2$~g9/-9QozJiaN?b@pYdr:UEHܞW^M Q׼C(- [ZRBXXnתi{&K{5$t ! p#k*a'pcNq3kgw>p'*޵WῊq \ *p~-_K|G%.R#]`&k֣=ާfn$.@~żpռ=>BmoAA1\GѣSjuDŽjzii#fڍrqۚ6<A*'zIHoq^A%P?#\r1ВGowmo[{ol.VKf7T5d,6䃴_~GŕVΔ\I MbAnVxDC| t$xQ74-^IeKo6C򱌫̤w|dթ:R%6zu8-2s1}IO—ϹnKv$+ྭ>Ŀ[觙C31+ǯ j\YR1XG'iQy2MA&dD AB3;z7o.>&q~˹+Tc5QE%dzV""uT8y;INpN1V-V ,ZBX2N~i'݋1Xֳkxyh2N:G>V?\),5]_eSel ͔Ӗ#o<H]2 <{WG\LjXmaBU;qu<=Eue1Д,Dzռٴ9=BHuȶi#pq׌+- ؍y8 }x޹"S2Ώ* Y%ؤ~$Lt1Ȼ =|W*ӄ=S#Ϥ`F߹X7/lFArzgN[Mr3u >B`Lkkn l@]{bI޾S O -o\ܱza{1[]M; 9bmp>zDQ)9J|ڿRo׭ZOzo.( g>MXūQH(?T}M J vuPԿ<6cOlU(B/-xumu^VT])#%k4y"ʛ@'=?P+ YQ|95 -CD5 [;)n/maKxt&(A'|2X4/;ᦹㆡ}j x>]CJs[gTy#6lJ"xVet&/ [OAin'3dC|n"%.Gd:+zQվd[I{ٞ9;?2?݅.\?lZ|E/1ortlju&Y d+,V 9+I5t53֯i8.k?! s0|hմ94?2G:Tu$|0@xik[DR~:+[k0G}ilL9fc#Kg|Y: w~v3_"x] EXDe~ZR|iV>).lGPeW;]Y6VߔyEYܦ?r nYum0mJv&ZMoUm~ӎ0k%\H#k`q>3]ExGB_o46K1)gGcUPI&aBL4j>:i]B]"^͋dpBI/$>猣8i?2YD,ZQ2;I&?/H>< =]CJ6JQ|{˥iCFQ_ᇀw{uK٣"Kp O#u#FEP?]qp# |qz=8Q+Rfpj>ZϨjG8xk -[^L1/[p"O)dIFD8,A-íCwQ2ɦ+X{:l-|ò"6(Ř]OKgCm%fu1=p^w cKU *j!|JW{Բ+2*^wIbyv<08WKؙm>gZ*bAxR(Qo5Z;liSk\p=Ҹ.ҷ T+ojֆI^:F]b޵2ݱpіz 1TţH@u7k+s;I$dPï#<4A4,٫5a:Z+ *dveG<{Wk5!cѓϮ<3ļKuzUA~^0dwKY bf%FWrXtl}jXRonxU9+7zPOJߛGT^+BI0\᎙㋋mRkY+Z~=ѷtn30ijZdKz^473I4`3 b]EI6BI2'k<5&7W 0МE\5{N+sYྣ.Eovֽ׻}zZΣ_޿@)/p1z^ tg;IM``t^b)+/ ;OkѝlWBJjܥ}ݡb-4-F?=%!_¹Ǟs".àcǟ^eiawr*8O5`;(JyI%nqaMLooOԫvhG r8~8>+v:O\ڬK{6p}GAzUk-{I c%z.TkjufR#B:減ǻ,m+nbs 6N*Qׂ nAV.߉?3X**MB1*Sf][d5״ˢ"FI0<`OL:~瞸5iih(`yp$g3CouGuahABOzguFY@$3ӑXR%^n{3\6T'ZZ7:iIDekS+I?+k<4ou(̊ @0Oq[z_&7w8ll u;\Yy#6IL7ʼ~!FUz4u  MprUB8Y>ѠnسyCA8l\ƺYakgX܊ $NOj6XGExGNsW*4d[o>2 v_cV։c}îi,ݱn#c3 L|Ui>t7۲&) mM d1M q_]ZGdQ0`{WuĞ?ӿlO ' N02Ͷ`lY$0ʦ]mUsMkbAvVP7Zw:hp7lb(>h8N>oɨtA!U2d0AZF5'h,2>a8뎕ۆh^nU?qtQ^S `7qndd!һkV nΚ#N<=Z⿄5 emy62:=E3cnRaБZ~γnwx̫ cnT>xl<~Uć!QV tim#&< {ٿ{~"zrŸs>m.oq"bO 6Avs\G,1,5^H*{dWf<7;k)rnyS\( 3%~azuNiç19kv|q&~nRxjњL1fSvsEӕ2؊Ҝ2iciڲA2-HG] q޻)٢enU9Vw\w'SSZĞ7ϩH>f. kG otyuu++F>uܶx8|,((kEJVv_TyXlFi S/g&e shNiG_F֗k[8 Cl+Ѽem{`,]r{\T[[+I.eRSN@':u;4XKlœ`3q!r}Mra#iҧ+s;mdwo(̯"䤌N`jsajqyouC6pIg )f+ 7Ho*?Jpe+3ڍ-9uk!oy Bc8m[ڄERi^|r|ßy|_]"Oy*%/}0o4ˋK4b?3:Cmچ WMnmgQ$n=G،A-Oީڈ|=zҾI  |>׼'j[#;86a) 2O80K}ր9ՐxQ +מ_fyfgV9=ϭiNynI_1km$'?-bǀ9e~lLcݵ{~4%Fd e,q+͂f>կ Rҥ)oNĹn0G8 8W9xþIԥe32E3N$`Ȇ7!wdgp*_ i5_/~&|?cfYu}EۘsKX4*K8mY|U/HmqiDZ-r]HGp\ڛg皟E;Pc[K>#:|I_Z1Ff%qm0@5N*eUqKCմ8;{jvI$Pxwa"D0hyeg6,?>+?;`נ<5s WdtN|,̹#2nbe19wQV׵$o. tHN*C[zO-@rx^l={⽯|1;U2-'97 RdJz_^鿶MR; iJsX׽~||VUGZYj3=[g7EOqimdU[ gvr. Qe 91둑kRP%{nmKJ3+N>['<5'$4r"/ؒ8VRIϛM#꧂"4ufq[*2C$2y<0s~hkpZ Lt&HeeR~xm^"ٖ48R)2(>+s*Tkվx9Jfឡw'/i !L Wk$m۞tW8n;ʌڞ3_M>%b]ۮ!u, 2:&zKYOci$" ˵ӀDB0+]1UM]`zXuFZr|xGЯW_mc"1RG=rrk.u asms'O_jx7''cr$Q@̄í0!|Qc;_K"&tYn#*!.$02I+NQZK2VU^hjʐK9Bv>{|H̟in`ܨIz2HoաӃY>ZM3 qE3 Qkc(dU*!ma^} hKw w k^rQ;ONnxynG \S_u!CE< N_#k\Zry$]}cVR^ҪԪ&UT*W.f,̮ɘx(8F&Y]7@Og pvdlvAןxJ>(KyF$@ۘ#1;$*)ԒG[Jum=]o1f$~!,_?X+q $Ҙ`g&h{i=s_ *bRny-Jnu " ̀bdmx JH幉voW\FON[VҼS[Wmv g'IMpvqqڒYn x%3\q@1v}}kSZ,5.gM.e8-;D *sB+4JE\GqO:<<1v榶=NEl<[" :5N] aETFe_Oe /xoOUheX`h.$`oFMcu%KhCUO` -A%95K2^gs,Fhv1Haȅež|4{@|\Ap:("YCev'cT~|L:LJu @i1_*3P%!g;q_?5{_ ޥ֔}lD/ b~Rsf~y:jZZ|%qr8=KWG&k6$bS3EӘVQY-A kVծT\C#F JC#W} е^]?ǚV+9/m"Pm~ȿ6XΤUVJ~ .yHTIƜ%%{KFWIǀc8Gs,]W+wͦ_ +kX:ͦ=WL xtݳq >/x G_?qqwzVM>[t,ڍ\<:nd"H2GmRӠk8-ںùfU()cq'|{ᾗ? MmX307,YfWaEdUT.>71Cd0* Wpg*Εԥʯ*ݓZEEIHl p:X̶W&)P,j|+ٮE[ɷٟjO+$zƯpڵ;P!-֮!ѱwK|w?g;U$pCś`$ G~F٣-j=RI$Deph0pp8V]#W-uO"b,4o9C$H@)Y ybA$ 1vAKG2iIh~xKӡ-#ГRu=Ŕ{` yGu+]&QvI`<5+oTFY ݓbr-j*uuY_X':]q4ZG"Ч^IYq<zk.ſ+k _ˁ-# ! d˞cyW;V/wWѿ7gy xMHd{kIEv,E2*z aV2FH1O**v>-_g6{KVI1;[+NPw^rv 60K-Paq*awrB-*Ehl1y=3};oF#Vs9'#g͂=q]K4 4јS#TVZSQkY~˪V<GpGq[N_Aȿ*}n;[WqMHJ/Im&mЬy6L񃓏YI)9ZGfEcmܷ3xǰֶtΎ(/(ߎ8=x^tij>fVdq )עZÌg+ͨ紏2?9]YcnoA+*]ApLUJ?ʩף "JQI1@$9'c]/÷9?<X3Y#9YE̳xTȑ֢iEt"iEt6ZԖMeU w@ra>WOo3Zu ym%S,h[tTcpXt>5{%ZmY5+$3` c "*umh}06뤗i-hkO+ǥOcmۿZ-rDP`&s0[T$M>'+ Il i`cUՑԪ z`7 <@ܘqWʕOe%W)G8GWcFDJ6ytDq|,zY jɘ}>hݜzųD^f[ Yw>5-6KDkiqdg x~gz4ӇENim]ݽN/%g-# Kϔ:YaW%d{:pCk#iμj_7PU4$qk"ο*Te: w_G?5wz4D,kZ\X*M0X؜M`LK 0գ4 :|Hn \vU&>6))&WWmyWPk,љr``[+}2=k W𵎧sWӞd'?bO|IUku=ղiqh<A%%X0 ٗwuM[ǫ;R}6+[LlgM,vɉ ]nSpMOzF庨 ZK R*4m x?xsG="/4Z;k2I$DnA {hsӳko.Z熯:GHmJ)H~㷾AK!HWi>wg1y:՛xgSly#itfH#\,ckb! TVz8e(U\Ջ_ Ye֒}p@?,?=_"&\'KO/aRc$I'U(j>F6܌ҽ,\0RVgeN)O^1*jq,w̎)7Aqn0$tS+uM0 V鑟yXQU*ӣOOr0废g #$봩A`s~:LPG $c ['QCnDi'?W!qօ ݜ$>Xu t#_Vx|>$;HҽDk v^2xxo79p덬W Qg\c~-|VSVuRmߵ;9v}21qϣ dsMdB'89\0F& ɚ! ޹JkX1c[\&F2T`!=4qqA+xm|{VVt3UWn3^IcP՝j贤IupGu_=?^*@H#MļzC|ɍ# !}m ;*ˢH$# qI;x_>:#7Nԯ%X~*n}!2~C9 F@m {SYD TͿfO Vž~rU8fo EW.r r<_,|=-(̶Fͼ(Ͳ#(.@ /1~}KʪGW^x󽿆<'3czM$afj['</>0mn^h ̙ >8 ⽶ TӸ!Têokޞ]Ѥ\][EMvi:McA3$Uk$|xBHgeL n8h~)_ǟ ?|FЮ֤ +HfA)r=U|ZxgM |I9hмoēqN'7q/L?`z⌁޴Z?!oI{sLA}Śx]X>)YvP@l#К+u>;1\|qϭo|abӷ@k_“;y9 _ea z_1k ~l'EQҬzUqA$:'=͆|ĐX֥~%k:Ŧ>=:{R4K琎NA_^ $@ݫӝ-ƍ"."~*x W4{ѱ{uvY) khU@ifk9u^",wPj6%zY!U xle37|S>ug6d kJg1Ufd~c8@d'c?h&O~+]pb!u.Uv H'>ě'QI@0i LWm}NŇ? BZBvm1 8;<|w@SEśm1# F:V?r&_|&y'RN֞ fma Oy1,a[ N]j/n烘QxԢʹh^H!-.>@ { Pa|RO C;-?\aW^/u)x>^F^HTV0|(Q>F#cFVWyQK,𜤊O##6Eko (Q Q^ژW2Ee;0_#C$.<\ַ#E/-4M2u'8欣~Ə_Eouժ,P6TTp>a멬gM-(u9FR:n$I!z ruh˔բ*LLqfFG*Xg*pyz_ SO9󡻉dج.Ncyݜ>bt3H,z}y;$\2Icr{kežuk`MoSd?T'b|Ŀ>:RNV}Vu8FFv^ݚ$CdVe 1X?t`gp8l>%6pݵљbXO1LK0Ns]g`=mm B$rzk3GV"q 7g(j;NOx|ƬOݖtgNHK/?nMF?RhC䃞۟ZԺ8,G*@9P=,kt5ee܄9f]ol<[< LIIysm2wc :g _a8EVf`}&_E !T~dPTdc0kGm(b@2@|q1ELt{}<*N(bI9dc8YkOmn1%[$9<OJ;W[mjQɢ~ҫ2Lʤ*wU$MHZL;FOn^I=/^u#NOm%sJǠ<R=<2HBdF*NG~ |sk_2QYiΥ{#$O) cȻ{XFz>t֓Ľ%>&EHJHKJ-6ʿ(UWE2F/Ҡ@bWpxz1Ua\p#?jxG:7V˨y#uH;(Oi`>M6FFJ)ědȪ睭cKcG2rE"Sdf9xL4^EIFqvsS5ι^؇'⟵7B~(xO Z\?uGw<EF@V0Usv6f ,FIroQsZT/<è?-eR6֘͌0O^' #"0Pd\Xji9uDP PJĒ4hT8$ 'Vc;ʯ88F9kqSIֳ#Y)8np=1^5ůFI^(hnMbzz/f+12#CɎA9\>GRҞζwkzqX[hEg:,e7p DT~ß^j9[dKYE+ 0:K,+0M7sȯK&JRԗ$|XY*>WdӺ<7/ ($vZum%Xڼ d,P?+ Ҷ~X~o_.m-,uF"4R6;7{fu΁b-Kg,E3>z漋`[[ x}O:; #Stryruq$d{_,&׻/Am45CO5.NERmC:X"8PLDGb=D6v˸gd跏oDv% rOPT0D',@힙o[5Qt+ nfEeSВ:} 5oya⥻jQ~rZqQZo٥|MiH] ~F&1m?/.i\ &\p OVO~zcTrͨr<"Քݕx{oǴF qס*U5זuVg=ctqr[Z[NC=$J$69='6};M& V[-1}m_ &$Y65xfId%Hց+v-YwN&$wJzHȊqJ|p|2,[AWcn$mwƹ$]@ŀ=W+򶍣+^[5*NlI°".? ƒ7.k3Y53/9s/+3MU*+;Jsobc c"iqK'F#K'u){ʿ kK:h6sX $Dh=KI|1O}e/gfыٚh7_;B zZ"ӯG-XHx$~JW mO1N@PD|k6F=k~֞qʻ] 5wG*+Ѝz 4Mj[a#۱6A  ǡ~gvL6Z"pAåym KyP K''7vG#i+ҧ$qBԒxW?tSo_z݉pնrTdʰ v'Ş7/? Icif%wB.@b?y'K#3)<8 ӸkNFΪ4i@`k:u‘T!:J/Yy.I@!2&Wv4''Hco37gtۡv;N,nnl>P[0t#J ~~.ԁ{J$RJż!Wgz5 cUG(o~ώ4y4{k';9R:20+e ޺Bp2j&$ 9Ut?D4 ,lH DZco/-?a(xUN+IՕ|3#ci#0*?al<_72 @︆?->_dž|x&-fY#kKPiofG%ʹLN, Ǵ޺?J .m]dEe# 8 T럳+~>,fg1KwB9M?RlDǒpЈ-K vઞG6ԴgDeYuKg{=[LE!SX6BBCy8r-J?͜}-7V ҈,c0 9stxS麥X 2adp2 ~86߯ك SߴZ74k/MIg8x Kʤǵgc@||EW|C,Yx١񟇀 ZOx,m+㹸Po,4jkǿ~|5@&{͝p /ʙ޳\Ԋ ^u9v^CJǘx%o~ @>j?4u-E-2f,H$QxM~*hjcM/n,LגmN{g޶>+zH~bw潪*aR?P`qkv\[ڬ獲'R#/;OPsh$$x~+C\7/_ %ַ!13̍"o]ꋜrv8?ZGآBf 77'֧xEN6h#1Yhn*'nyoWq5#Hq^cV%ׇuDQ2*!u9?z-A\;5Cisffx wǵMs$%YBn#+8Z6 U7]c.] 4eTTY'v]ԒCɿE~&v`q$UW\,p*~lƿUౖ3ۆ[:|1vIm/^HlFin0H7޹8hWW:i/7DPK KgڱJ꡸?IZ*cŅRGO>Qkt~U_^>ddCl x⾢7o<;e5#RuiIګؼ~=мIe ^G/K>6 Fs g x{& OPk7Z"$Raur9{|i¥;ǧyT1UpҾ~hSr9Q[Ιkiia" ؎x[8U6%Hg RH7rI 5kzQB߃߷_18;8e~f4xOK/`vGdO)A v{ß5-W]Y]Xph@KO.sp21^7ω?;x]3^ L(0ǹ RFX~C[-V1R_uk7KekmFt8 H$,'|s]ް|Mw%z\&)O)ē#PU\ܓ.BG3h$ dP@'V^^F֬/mđ~=W+”{O'VXJɳzV?xyzservices-2025.4.0/doc/source/api.rst000066400000000000000000000035651500266262400177260ustar00rootroot00000000000000.. _reference: API reference ============= Python API ---------- .. currentmodule:: xyzservices .. autoclass:: TileProvider :members: build_url, requires_token, from_qms, .. autoclass:: Bunch :exclude-members: clear, copy, fromkeys, get, items, keys, pop, popitem, setdefault, update, values :members: filter, flatten, query_name Providers JSON -------------- After the installation, you will find the JSON used as a database of providers in ``share/xyzservices/providers.json`` if you want to use it outside of a Python ecosystem. The JSON is structured along the following model example: .. code-block:: json { "single_provider_name": { "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", "max_zoom": 19, "attribution": "(C) OpenStreetMap contributors", "html_attribution": "© OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik" }, "provider_bunch_name": { "first_provider_name": { "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", "max_zoom": 19, "attribution": "(C) OpenStreetMap contributors", "html_attribution": "© OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik" }, "second_provider_name": { "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png?access-token={accessToken}", "max_zoom": 19, "attribution": "(C) OpenStreetMap contributors", "html_attribution": "© OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik", "accessToken": "" } } } xyzservices-2025.4.0/doc/source/changelog.rst000066400000000000000000000000371500266262400210730ustar00rootroot00000000000000.. include:: ../../CHANGELOG.mdxyzservices-2025.4.0/doc/source/conf.py000066400000000000000000000047251500266262400177210ustar00rootroot00000000000000# Configuration file for the Sphinx documentation builder. # # This file only contains a selection of the most common options. For a full # list see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # import os import shutil import sys from pathlib import Path sys.path.insert(0, os.path.abspath("../..")) import xyzservices # noqa # -- Project information ----------------------------------------------------- project = "xyzservices" copyright = "2021, Martin Fleischmann, Dani Arribas-Bel" author = "Martin Fleischmann, Dani Arribas-Bel" version = xyzservices.__version__ # The full version, including alpha/beta/rc tags release = version html_title = f'xyzservices {release}' # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ "sphinx.ext.autodoc", "numpydoc", "sphinx.ext.autosummary", "myst_nb", "sphinx_copybutton", ] jupyter_execute_notebooks = "force" autosummary_generate = True # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = [] # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = "furo" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] html_css_files = [ "custom.css", ] # html_sidebars = { # "**": ["docs-sidebar.html"], # } # html_logo = "_static/logo.svg" p = Path().absolute() shutil.copy(p.parents[1] / "xyzservices" / "data" / "providers.json", p / "_static") xyzservices-2025.4.0/doc/source/contributing.md000066400000000000000000000114031500266262400214420ustar00rootroot00000000000000# Contributing to `xyzservices` Contributions to `xyzservices` are very welcome. They are likely to be accepted more quickly if they follow these guidelines. There are two main groups of contributions - adding new provider sources and contributions to the codebase and documentation. ## Providers If you want to add a new provider, simply add its details to `provider_sources/xyzservices-providers.json`. You can add a single `TileProvider` or a `Bunch` of `TileProviders`. Use the following schema to add a single provider: ```json { "single_provider_name": { "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", "max_zoom": 19, "attribution": "(C) OpenStreetMap contributors", "html_attribution": "© OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik" }, } ``` If you want to add a bunch of related providers (different versions from a single source like `Stamen.Toner` and `Stamen.TonerLite`), you can group then within a `Bunch` using the following schema: ```json { "provider_bunch_name": { "first_provider_name": { "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", "max_zoom": 19, "attribution": "(C) OpenStreetMap contributors", "html_attribution": "© OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik" }, "second_provider_name": { "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png?access-token={accessToken}", "max_zoom": 19, "attribution": "(C) OpenStreetMap contributors", "html_attribution": "© OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik", "accessToken": "" } }, } ``` It is mandatory to always specify at least `name`, `url`, and `attribution`. Don't forget to add any other custom attribute required by the provider. When specifying a placeholder for the access token, please use the `""` string to ensure that `requires_token()` method works properly. You can also specify the extent of the tile coverage using the `bounds` keyword and the format `[[lat_min, lon_min], [lat_max, lon_max]]`. See the example for the area surrounding Switzerland: ```json { "bounds": [ [ 45, 5 ], [ 48, 11 ] ], } ``` Once updated, you can (optionally) compress the provider sources by executing `make compress` from the repository root. ```bash cd xyzservices make compress ``` ## Code and documentation At this stage of `xyzservices` development, the priorities are to define a simple, usable, and stable API and to have clean, maintainable, readable code. In general, `xyzservices` follows the conventions of the GeoPandas project where applicable. In particular, when submitting a pull request: - All existing tests should pass. Please make sure that the test suite passes, both locally and on GitHub Actions. Status on GHA will be visible on a pull request. GHA are automatically enabled on your own fork as well. To trigger a check, make a PR to your own fork. - Ensure that documentation has built correctly. It will be automatically built for each PR. - New functionality should include tests. Please write reasonable tests for your code and make sure that they pass on your pull request. - Classes, methods, functions, etc. should have docstrings and type hints. The first line of a docstring should be a standalone summary. Parameters and return values should be documented explicitly. - Follow PEP 8 when possible. We use Black and Flake8 to ensure a consistent code format throughout the project. For more details see the [GeoPandas contributing guide](https://geopandas.readthedocs.io/en/latest/community/contributing.html). - Imports should be grouped with standard library imports first, 3rd-party libraries next, and `xyzservices` imports third. Within each grouping, imports should be alphabetized. Always use absolute imports when possible, and explicit relative imports for local imports when necessary in tests. - `xyzservices` supports Python 3.7+ only. When possible, do not introduce additional dependencies. If that is necessary, make sure they can be treated as optional. ## Updating sources from leaflet `leaflet-providers-parsed.json` is an automatically generated file by GHA. You can create a fresh version using `make update-leaflet` from the repository root: ```bash cd xyzservices make update-leaflet ``` Note that you will need functional installation of `selenium` with Firefox webdriver, `git` and `html2text` packages.xyzservices-2025.4.0/doc/source/gallery.rst000066400000000000000000000020141500266262400206000ustar00rootroot00000000000000Gallery ======= This page shows the different basemaps available in xyzservices. Some providers require an API key which you need to provide yourself and then validate it using the ``validate`` button to load the tiles. Other providers (e.g. Stadia) may require white-listing of a domain which may not have been done. .. raw:: html

xyzservices-2025.4.0/doc/source/index.md000066400000000000000000000077151500266262400200550ustar00rootroot00000000000000# xyzservices Source of XYZ tiles providers. ![Illustrative tiles. (C) OpenStreetMap, (C) OpenMapTIles, (C) Stadia Maps, (C) OpenTopoMap, (C) Thunderforest, (C) JawgMaps, (C) Stamen Design, (C) Esri -- Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community](_static/xyzmaps.jpg) `xyzservices` is a lightweight library providing a repository of available XYZ services offering raster basemap tiles. The repository is provided via Python API and as a compressed JSON file. XYZ tiles can be used as background for your maps to provide necessary spatial context. `xyzservices` offer specifications of many tile services and provide an easy-to-use tools to plug them into your work, no matter if interactive or static. [![Tests](https://github.com/geopandas/xyzservices/actions/workflows/tests.yaml/badge.svg)](https://github.com/geopandas/xyzservices/actions/workflows/tests.yaml) [![codecov](https://codecov.io/gh/geopandas/xyzservices/branch/main/graph/badge.svg?token=PBSZQA48GY)](https://codecov.io/gh/geopandas/xyzservices) ## Quick Start Using `xyzservices` is simple and in most cases does not involve more than a line of code. ### Installation You can install `xyzservices` from `conda` or `pip`: ```shell conda install xyzservices -c conda-forge ``` ```shell pip install xyzservices ``` The package does not depend on any other apart from those built-in in Python. ### Providers API The key part of `xyzservices` are providers: ```py >>> import xyzservices.providers as xyz ``` `xyzservices.providers` or just `xyz` for short is a `Bunch` of providers, an enhanced `dict`. If you are in Jupyter-like environment, `xyz` will offer collapsible inventory of available XYZ tile sources. You can also explore it as a standard `dict` using `xyz.keys()`. Once you have picked your provider, you get its details as a `TileProvider` object with all the details you may need: ```py >>> xyz.CartoDB.Positron.url 'https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png' >>> xyz.CartoDB.Positron.attribution '(C) OpenStreetMap contributors (C) CARTO' ``` You can also check if the `TileProvider` needs API token and pass it to the object if needed. ```py >>> xyz.MapBox.requires_token() True >>> xyz.MapBox["accessToken"] = "my_personal_token" >>> xyz.MapBox.requires_token() False ``` ```{important} You should always check the license and terms and conditions of XYZ tiles you want to use. Not all of them can be used in all circumstances. ``` ### Providers JSON After the installation, you will find the JSON used as a database of providers in `share/xyzservices/providers.json` if you want to use it outside of a Python ecosystem. ## Contributors `xyzservices` is developed by a community of enthusiastic volunteers and lives under [`geopandas`](https://github.com/geopandas) GitHub organization. You can see a full list of contributors [here](https://github.com/geopandas/xyzservices/graphs/contributors). The main group of providers is retrieved from the [`leaflet-providers` project](https://github.com/leaflet-extras/leaflet-providers) that contains both openly accessible providers as well as those requiring registration. All of them are considered [free](https://github.com/leaflet-extras/leaflet-providers/blob/master/README.md#what-do-we-mean-by-free). If you would like to contribute to the project, have a look at the list of [open issues](https://github.com/geopandas/contextily/issues), particularly those labeled as [good first issue](https://github.com/geopandas/xyzservices/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). ## License BSD 3-Clause License Resources coming from the [`leaflet-providers` project](https://github.com/leaflet-extras/leaflet-providers) are licensed under BSD 2-Clause License (© 2013 Leaflet Providers) ```{toctree} --- maxdepth: 2 caption: Documentation hidden: true --- introduction registration api gallery contributing changelog GitHub ``` xyzservices-2025.4.0/doc/source/introduction.ipynb000066400000000000000000001056721500266262400222110ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "source": [ "# A full look into `providers` objects" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "import xyzservices.providers as xyz" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "## What is this \"provider\" object ?" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "The provider objects are stored as dictionaries (with attribute access for easy access), so we can explore them in Python (or using tab completion in an interactive session or as a collapsible inventory in Jupyter!):" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "xyz" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "Most of those providers have themselves multiple options. For example, OpenStreetMap provides multiple background styles:" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "xyz.OpenStreetMap" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "Looking at a single one of those options, for example \"Mapnik\" (the default OpenStreetMap background), we can see this is a `TileProvider` object, which behaves as a dict:" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "type(xyz.OpenStreetMap.Mapnik)" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "We can explore its contents:" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "xyz.OpenStreetMap.Mapnik" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "A \"provider object\" is then a dictionary with a few required entries, such as the url (required, with `{z}/{x}/{y}` to be replaced), with some additional metadata information (optional). These can be the attribution text to be used on the plot (`attribution`), or the maximum zoom level available for these tiles (`max_zoom`). When this information is available, other libraries like `geopandas` or `contextily` may be smart enough to access and use it automatically." ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Which providers are available by default?" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "The providers definitions that are shipped with `xyzservices` in the `xyzservices.providers` submodule, are coming from the [`leaflet-providers`](https://github.com/leaflet-extras/leaflet-providers) package, an extension to javascript mapping library Leaflet that contains configurations for various free tile providers. Thus, all providers that are listed on their preview [http://leaflet-extras.github.io/leaflet-providers/preview/](http://leaflet-extras.github.io/leaflet-providers/preview/) should also be available in `xyzservices`. On top of that, `xyzservices` can have a few more as a bonus.\n", "\n", "```{important}\n", "You should always check the license and terms and conditions of XYZ tiles you want to use. Not all of them can be used in all circumstances.\n", "```" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Specifying options for a provider" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "Some providers require additional information, such as an API access key. This can be specified by calling the provider object. Any keyword specified will override the default value in the provider object.\n", "\n", "For example, the OpenWeatherMap requires an API key:" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "xyz.OpenWeatherMap.Clouds" ], "outputs": [], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "xyz.OpenWeatherMap.Clouds.requires_token()" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "We can specify this API key by calling the object or overriding the attribute:" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "# Overriding the attribute will alter existing object\n", "xyz.OpenWeatherMap.Clouds[\"apiKey\"] = \"my-private-api-key\"\n", "\n", "# Calling the object will return a copy\n", "xyz.OpenWeatherMap.Clouds(apiKey=\"my-private-api-key\")" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "This can then be specified where a key or token is expected. For example:\n", " \n", "```python\n", "contextily.add_basemap(ax, source=xyz.OpenWeatherMap.Clouds(apiKey=\"my-private-api-key\"))\n", "```\n", "\n", "```{note}\n", "It may occasionally happen that the `TileProvider` is broken. In such a case, it will have additional attribute `status` with a `\"broken\"` flag. If you think that the `TileProvider` is broken but it is not flagged as such, please [report it](https://github.com/geopandas/xyzservices/issues).\n", "```\n" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Building the tile URL\n", "\n", "Some packages like `contextily` can use `xyzservices.TileProvider` directly and parse the required information under the hood. Others need and explicit URL string, attribution and other attributes. However, not every package need the URL in the same format. `xyzsevices` can build the URL in most of the required formats, with or without placeholders.\n", "\n", "Typical use case would be a folium map, which needs an URL and an attribution with `{x}`, `{y}` and `{z}` placeholders but already filled API keys if needed. You can get the most standard URL in the `'https://myserver.com/tiles/{z}/{x}/{y}.png'` format via `TileProvider.build_url()`. And if you want a sharper resolution (when supported by the provider), you can pass an optional `scale_factor` attribute." ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "import folium\n", "\n", "tiles = xyz.CartoDB.Positron\n", "\n", "folium.Map(\n", " location=[53.4108, -2.9358],\n", " tiles=tiles.build_url(scale_factor=\"@2x\"),\n", " attr=tiles.html_attribution,\n", ")" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "If you need an URL of a single tile, you can pass `x`, `y` and `z` directly, alongside other required attributes like `accessToken`." ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "xyz.OpenWeatherMap.Clouds.build_url(x=12, y=21, z=15, apiKey=\"my-private-api-key\")" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Overview of built-in providers" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "Let us create a flat dictionary of the built-in providers:" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "providers = xyz.flatten()" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "This results in quite a few of them already available:" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "len(providers)" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "For this illustration, let's single out the following ones and use `folium` to have a look at them:" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "source": [ "selection = ['OpenStreetMap.Mapnik', \n", " 'OpenTopoMap', \n", " 'Stamen.Toner', \n", " 'Stamen.TonerLite', \n", " 'Stamen.Terrain', \n", " 'Stamen.TerrainBackground', \n", " 'Stamen.Watercolor', \n", " 'NASAGIBS.ViirsEarthAtNight2012', \n", " 'CartoDB.Positron', \n", " 'CartoDB.Voyager'\n", " ]" ], "outputs": [], "metadata": {} }, { "cell_type": "markdown", "source": [ "You first create a `Map` instance, then looping through the `selection` add all selected base maps as layers. You can switch between them using the layer control in the top-right corner." ], "metadata": {} }, { "cell_type": "code", "execution_count": 24, "source": [ "m = folium.Map(location=[53.4108, -2.9358], zoom_start=8)\n", "\n", "for tiles_name in selection:\n", " tiles = providers[tiles_name]\n", " folium.TileLayer(\n", " tiles=tiles.build_url(),\n", " attr=tiles.html_attribution,\n", " name=tiles.name,\n", " ).add_to(m)\n", "\n", "folium.LayerControl().add_to(m)\n", "\n", "m" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ], "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ] }, "metadata": {}, "execution_count": 24 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Loading providers from [Quick Map Services](https://qms.nextgis.com/)\n", "\n", "Even though `xyzservices` comes with a large number of built-in providers, you can load even more directly from [Quick Map Services](https://qms.nextgis.com/) using the `TileProvider.from_qms()` method. Note that the name needs to match the name in the QMS database." ], "metadata": {} }, { "cell_type": "code", "execution_count": 25, "source": [ "from xyzservices import TileProvider\n", "\n", "qms_provider = TileProvider.from_qms(\"OpenTopoMap\")\n", "qms_provider" ], "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "{'name': 'OpenTopoMap',\n", " 'url': 'https://tile.opentopomap.org/{z}/{x}/{y}.png',\n", " 'min_zoom': 0,\n", " 'max_zoom': 19,\n", " 'attribution': 'OpenTopoMap (CC-BY-SA)'}" ], "text/html": [ "\n", "
\n", " \n", "
\n", "
\n", "
xyzservices.TileProvider
\n", "
OpenTopoMap
\n", "
\n", "
\n", "
\n", "
url
https://tile.opentopomap.org/{z}/{x}/{y}.png
min_zoom
0
max_zoom
19
attribution
OpenTopoMap (CC-BY-SA)
\n", "
\n", "
\n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 25 } ], "metadata": {} }, { "cell_type": "markdown", "source": [ "```{important}\n", "You should always check the license and terms and conditions of XYZ tiles you want to use. Not all of them can be used in all circumstances and not all Quick Map Services can be considered free even though they may work.\n", "```" ], "metadata": {} } ], "metadata": { "interpreter": { "hash": "9914e2881520d4f08a067c2c2c181121476026b863eca2e121cd0758701ab602" }, "kernelspec": { "name": "python3", "display_name": "Python 3.9.2 64-bit ('geo_dev': conda)" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.2" } }, "nbformat": 4, "nbformat_minor": 4 }xyzservices-2025.4.0/doc/source/registration.md000066400000000000000000000105671500266262400214570ustar00rootroot00000000000000# Providers requiring registration The main group of providers is retrieved from the [`leaflet-providers` project](https://github.com/leaflet-extras/leaflet-providers) that contains both openly accessible providers as well as those requiring registration. All of them are considered [free](https://github.com/leaflet-extras/leaflet-providers/blob/master/README.md#what-do-we-mean-by-free). Below is the (potentially incomplete) list of providers requiring registration. ```{note} This page is largely taken directly from the [`leaflet-providers` project](https://github.com/leaflet-extras/leaflet-providers/blob/master/README.md). ``` ## Esri/ArcGIS In order to use ArcGIS maps, you must [register](https://developers.arcgis.com/en/sign-up/) and abide by the [terms of service](https://developers.arcgis.com/en/terms/). No special syntax is required. ## Geoportail France In order to use Geoportail France resources, you need to obtain an [api key](http://professionnels.ign.fr/ign/contrats/) that allows you to access the [resources](https://geoservices.ign.fr/documentation/donnees-ressources-wmts.html#ressources-servies-en-wmts-en-projection-web-mercator) you need. Pass this api key to the `TileProvider`: ```py xyz.GeoportailFrance.plan(apikey="") ``` Please note that a public api key (`choisirgeoportail`) is used by default and comes with no guarantee. ## HERE and HEREv3 (formerly Nokia) In order to use HEREv3 layers, you must [register](http://developer.here.com/). Once registered, you can create an `apiKey` which you have to pass to the `TileProvider`: ```py # Overriding the attribute will alter the existing object xyz.HEREv3.terrainDay["apiKey"] = "my-private-api-key" # Calling the object will return a copy xyz.HEREv3.terrainDay(apiKey="my-private-api-key") ``` You can still pass `app_id` and `app_code` in legacy projects: ```py xyz.HERE.terrainDay(app_id="my-private-app-id", app_code="my-app-code") ``` ## Jawg Maps In order to use Jawg Maps, you must [register](https://www.jawg.io/lab). Once registered, your access token will be located [here](https://www.jawg.io/lab/access-tokens) and you will access to all Jawg default maps (variants) and your own customized maps: ```py xyz.Jawg.Streets( accessToken="", variant="" ) ``` ## Mapbox In order to use Mapbox maps, you must [register](https://tiles.mapbox.com/signup). You can get map_ID (e.g. `"mapbox/satellite-v9"`) and `ACCESS_TOKEN` from [Mapbox projects](https://www.mapbox.com/projects): ```py xyz.MapBox(id="", accessToken="my-private-ACCESS_TOKEN") ``` The currently-valid Mapbox map styles, to use for map_IDs, [are listed in the Mapbox documentation](https://docs.mapbox.com/api/maps/#mapbox-styles) - only the final part of each is required, e.g. `"mapbox/light-v10"`. ## MapTiler Cloud In order to use MapTiler maps, you must [register](https://cloud.maptiler.com/). Once registered, get your API key from Account/Keys, which you have to pass to the `TileProvider`: ```py xyz.MapTiler.Streets(key="") ``` ## Thunderforest In order to use Thunderforest maps, you must [register](https://thunderforest.com/pricing/). Once registered, you have an `api_key` which you have to pass to the `TileProvider`: ```py xyz.Thunderforest.Landscape(apikey="") ``` ## TomTom In order to use TomTom layers, you must [register](https://developer.tomtom.com/user/register). Once registered, you can create an `apikey` which you have to pass to the `TileProvider`: ```py xyz.TomTom(apikey="") ``` ## Stadia Maps In order to use Stadia maps, you must [register](https://client.stadiamaps.com/signup/). Once registered, you can whitelist your domain within your account settings. Alternatively, you can use Stadia maps with an API token but you need to adapt a provider object to correct form. ```py provider = xyz.Stadia.AlidadeSmooth(api_key="") provider["url"] = provider["url"] + "?api_key={api_key}" # adding API key placeholder ``` ## Ordnance Survey In order to use Ordnance Survey layers, you must [register](https://osdatahub.os.uk/). Once registered, you can create a project, assign OS Maps API product to a project and retrieve the `key` which you have to pass to the `TileProvider`: ```py xyz.OrdnanceSurvey.Light(key="") ``` xyzservices-2025.4.0/doc/source/tiles.png000066400000000000000000024174241500266262400202560ustar00rootroot00000000000000PNG  IHDRʍOf9tEXtSoftwareMatplotlib version3.4.2, https://matplotlib.org/+X pHYs  IDATxy&y{oD|{Y{UwW7`h P$%MA-ӋdqٙE|77}>hРA 4hРA 4hРA <w 4hРA 4hРA 4hР ߠA 4hРA 4hРA nA 4hРA mȏ?zѠAD/ȟxѠ :"^D~|ED&"r]D+Y{EDd_DvD䟈w-KOpOH>B_~j_W>4݊w!^ ΅'w#5h.x}w!߱;?[g?,5hGWM\iM'ŗ&4hp;>4D|} !BBxDr_AD EWEŅm#""[ ~BD{+w*"Y-@o\aBG!/ǀ|wmܫ+1ؿ?""ȭ-⟩~Uׁ?\mc-O;w[v_D~FD^XX%N%\˥( !Dϊ["r """w\:!"wr%"j'5LD>Z.o=w9ݩMZɪe/"oȿ+"7gTk[D׻4hpwJNs"k{-zCr8TvE%*;,"{"_.\D5yZ.>ն~\D^y98"DO}""//?H4+O8ȂzWD1oTUzu~ND> ٠tg^/cy."ok޽aaw=."rCDx6h^LJ'2--JaCG<𷉙̿O"H$}o3E6&L$M+"CDVWcg]W~k{/3?<l11O8W%S^-^봰 4I߭A"?"oཎw3 "/,?M!爳d6Rx݈e 43Nܥ3&>?E ǶY3?C+^~6T .`Yo֏EG*w?{g+xxg۾Po4+¸Bǐ/VoUc!` J\Ѡt?:eV6c 8lcsEA;>LD:p3`OXvZ+!!PHf}6BA!7T _ !*1B8w%Nݣsោ<{,v!~r@#"D|+RakT1{N; !Zlw_ ! !dS"p5C$?us}D"_ !ݻנZ ~ B7BD|l?BC{N&v@h-e 43BC_ !—vl?BU*17qzC/Uq?>%Gg'!› c_ !j/(1^?m[5h`M\9qʸr hK >ǦyO/s[e 0?OE >L牶)o~!AB:bU~DZ*cz+&/+>O$ß>_[ލX֠AINv!DT} c1⌼ǁ#]km5hЀ&<`W\y S !hCXlgc\~a |h!CD+?'"D䧈osH|ZD~Wd/H,DѮz׾%"r/TlE$fz l?_-<_$cg;aY:qq"U$OCwU]^'NcwاmDֹuz ~UDF.b::U2GOo*N. A'}=}`'0mQ I,{a{ׁ? "5hEW{Ri-~Rt%4@3? >4!hJʫ bG,v/r$iNTi{aH,OEdL ȿITnB$Uຈc 'Cq54H4hĕܶ-.?p:?~_m~٠85h𡁄~!"?<B_ "x;ǿ Ԡ#T|Dz 4hРA 4hР*E| 4hРA 4hРA 4hFC7hРA 4hРA 4hРAO5M 4hРA 4hРA 4h(4hРA 4hРA 4hРA'oРA 4hРA 4hРA nqIz6!hO[=ʖ4WxHq>ۖل`9>;Ea'9\kW_o]\N C 7--a\5ڃ&KEIY@Dp$Aτ1D'\vsZCB X4a c AINye++ޡF|4$ F$RXI-K0 ˛d字_#GnFchRIa'o- kb JaA)E!R1 Z#ZϔQE^PI2{. Kco!J#:~7`:cC:IIɲ&0iT;DiV*UT3",禊!Y<8nؚ9 !1IΑ%)fC&-(rg#ˤƱh45 Ƽ"g\4̕Mz;r[RҕLf#DSD)| !p#J}<[z%rFissi AJ_9=q7n||Ʉt.ib9x dY{7d2_^8nk-5a?'q3{6Ƶ !P%J;a{{xSO=u۲ힴ_z:F=ݻT%Z#Z {QQ_Ʉ^{G~x W~W;xq[Z:SeSؐ"+Ƽƛf O_<1,PZ> H58o8n'!&{t888`0je$0Zsn^:6:8|>>[DI끿g!%"mzf.C[ DB*}zbBв񮗉WZ\vs7Ƿ:8$)O"),Mq[`w@kډYAEM(mxY)WJe q}k:`^),`$@ Eۓ-;x2 YNgt(X錵q *}{O1A)RR7s -e||^/_k[|y1yaٹ:R,M_WvjN'EpunrcO_]A$.!PSf :H4vFP%Fք78wQ T4ِ"EZn3g@)uCY!L2&MS0Z-"f[ipxj?,k4EtEy;(@7i I-<($*a$tZ)hʲ`B~JQ:m *p*Ee b4:6uNp>5$uDg8x(]bX,Q!ҚSYr3 TiYa,F)tŌI9.([(եm oIPn"A5 CfU.Px LH|im9/$&gX tޢU`ϊI$C (mAbRlLhpg,--C?CXkt:(N$\$NZOD 0>Y~'d۽[]$"HF> ^cQE(扛qNJx,w$EAG㽧""wAw NkIɃg~}}P E,q<*s{۪I; O x(c.1z_Z,EQ`Fœ4؟6 a Ongܼd2eey$ 6v =xPe|vByObDa x21szmL !JB,T1ZGޣ>Z)VRP15^kl%xJ(X(K{="vxNs(*% Jd`^;+aaQ<6xU|WZ)Tc:1"R9IZiJ Xd$0C)"h,!FW&b29RJjڽ9Uڒ,P 8Txi.JO'd0v$sZ*fZRaxyJYDEޅ=¸=9߃~w+(ك QdbPuy9__e$H r'-@f4[We ڝN H4ChRAiBEv"Tێع>aYP ClI Z .@n=G0P+UsP&6(!SվEAjv@B@ڒ ZmfkZx1$8mг)}?lZ|ƈja$ ;wg(WB7 oU >C$B烀7^zO#Q 72ܾ^S1JZ-KK()7o!*^bx:+N!$?8`:Z-BEa@9Uy>+#F)K P&ALy Z1XY۷Od),c:N%cc%EB9dsJɜmZ||*}Z\AQHq,N@dc[N`K$$! ϞaYШT:JkHPw>fTn;(DFQ:@{9r (yKUwb{@n6-F#̼%Q Zr[b& &AK%M.),0:tn4%" Z9QP_x?_2<̜zRPJ)eYg'xSW\$y< EEIjl CVWWO\Vok-V?JǏ8Zg܉tF{3,fGӹlH3{gEWjYiڔBwDQu"pA.J!&Khڤp*cB췠TE8ҌN r(#OQ%ԍ?D]`D$jxĖ^G-%J{6nZ8^b KEܹs(ZP!HZTC1 wXY](c3MNLmY;h-ruP]ںR6ᕑbVR ޑ*ޑ:KH"rqI3E S-* Od!IqQ0Ru4S')oV ҹҌ|tYV*X,bɤ݉,d)dΠFI) QO{gAAWfr*ı|4;)$$!tYN">n6e,\,R= բN'M#Uٌ~2Y^_<|I_5(O̙ ܼvӪN'I3:>ac7&@Y), J$Y n$٘Y>ÔmtFE\l]΅~YI>ˤkgQ>ӫb][fkh' AOyyg-6ۜ6&vB2iId-Rѵ)Ivu ,h̫DTA7 _icL(a:gdز Ն |71I!Oa"~kk__gmm~?~nPR$UsUH ʲd{{~zNc:#[Ԥlm(`ee^wzPi)Q+>v#`ӾHͲ,x뭷pœ}Qsb|M ژloojX]]?{vNg24z+mXP[uxM)KLS+BP{s{q,c&NZPfsB1\!{>5| 㓔$;j$-o>/F Ҋ$<85ahyo-j|҉Ok1$ 9Qf` ,3f-~7Gtm`uZѯ_vJi S_ĬJVMJ2T1{G/z>7X5Lt":ڎCm UsLwnܔ3Uo~˜GȖZ~%&Lpjׯ\%e$e[;h&E'P6O8)vwgL5ks 7oNZ9?`)1Vd4F+ie% nf eJh2>xlYr0aW.Ood4~IgxotϢ˟,L]jH *]9s|7~+Ej:+ 6dJRtllI_EE IQmbo6 +%[S>[&tV\\](༇!#akas%֔EaeISTi6^YHӑ9\YRZ- Ɵ*NSU-;T mMLB3*>> @OV9d,'e`bsQ4ZQl1W76X[Ҋ63eA-@J: ZܳN[LLJ&6;3c6.X6ȋ)E]_RzpC+mf3|M/s?s\p|#lnn>2)|Rda$xo;V$I cɟI^xΞ=d2q-:锵5v G9'"ЕR\|W^yk׮qwR|ŋ\zut9qR Z GãI!I=e"OO?r z?E  {?XT?*Hh4vmj>S6 y5*;dk|8Tf<7EDeg>kB!s=]T"-QŇCۇ@f4"Z:ȘDhQa}ijD% ~gjKe =އ_Ծ ޫ+/Rn[SlZ05{O0a} 8?'9|URB'Ϲyv#j\E}riN  [XF{&'cq >ݶh;C-H Ay @0'4vuTuQN|9ܹ &ؒnS˨}>`0IIօH(/Di,9J,&[ûhs~mE`ko\QU΋džF YT1#O&C #΀oܨdDE$- bVU:+ZGwSZ:Π ZtW J-C~IjԸ@O5߾F-$\ޯ6Ƿpʵ|JEW(3 J:V7GtJg)NNun&h66ٽ˯7w\tb8ujpDgi9N Ѷd-^} &! [ׯmAFjK$&yɍ"Ae{3E|Y9C+N>&iptIsOT 9vܐIhcGstLV)J 7YIrFluR1qRo&Zk[8x?CDh<Oik6'z-,SW\… kd񹨓(Z|Y]]eii k-{{{;XZZbee,?6yn~? .--J|+bТ= E5^V)񌗾gά( b@f9N{Yub(->xcHLBi-7npjcR\wR%W}RĕI9kZ[QUOeX!xҒ 7:BXuwm,oRg~d2V9{jUڭ"3 xPOJE90Ƈ"qSF"9- 29U'ace*Z|{\$D~6*%vu097FX*u{Ԃ}$HaW(x\(2cREE~:ryNeoHK;8L0jJf 1y) ]9*{bҰ3FHVk q Lzob Qܛ%q-Ӛ~C+u ʸ/}pcgP˺t:e:{}~V'_1c YJv6tiguӮIwn!p->JcnF࠘m'3Ξ;*+|e?~y!EP Fo6xƢ%L fCN%݋f.pq`w%xsRmЫ28KH½OB,/-peuB"IqSDTT9>iRb˹f B4NE$^5*!ф~;"$$9T H#V:kv4f:ϟcg{wx@hVZ,wӨjgYsDinlm:)8N byKtm׷}֗q` +(ȴƘ^x2ao`e4T !LY]m d:AP(Q!%V77Ns=c2!MXniع{rI߮(=CǞ 7ǚגg>/|3 V3GxTE/ 'ϑ)E;Q|O"*#fyT :Y9&J  *>6J2/\/Ϥd>&—xn/ZL5tb_d-"U0s{W_0;ھ쮢>(M h,Bʒ8zQE%(:`uaNJ!<ƁyUAB-b W1@ق4N͔OyXg)I d̊1SEK';(Q$&%/tZ=ff8FU_R~Ϸ/rMowߥ3n`}?J~?'+p ><_t^z"p8dee_~9sϱ SOQaL{cN@6a1=Z$84qppZ$bx nܸ|0ԩSs7dmml֚/>tߋHӔSN9'_{#dؘ',*3d2c톓;;/}Kگ988xOǾBIVa?1bbRq\{%B}1cܜ?d|+gh8nc4Es^@B4MSId^>7w9sj-+A,KJD"=UՂXb)e__eo8ϠwHVp4*![3#^BX`+{,CZw:L|7kT ]$ؕk(XdM苣IHVCE&NjR^V\(}]PopOc: mJ[V x-ʆ:{܇#duJ IUBz~ﻑ ~EQSI,#K FJ6mZW޻iڣL3F{c,oOoG~M:(\NQ$&eue[n=xywgC_'!Z%p*;m["CԖ.Jې- )8N7 KhE˯sgyn3X[iƘA~"BWf(^۪,N&(~Hфb6SLg3LyYbnYZ`}$EقyI:YMY@!gu%~&3 &|)Yb:P3Μۈu, &!:ڝ6$ &Kho@;Gx.^:t4booI2:m.;۷eW3)غS ,M}R,E8#$$`14PnW޼ʠ&IZ6a2d_f$!Idv)rƾ$X͘ IdiB@Q+ P.YUERW6<"%xubj[DDҢQ exPZO& a:zbq JxTZN# cHhJXUY>ZTs&a-۳! {&[߼ɠ7 IΜ9C>ܡαŴ,Ug>цelrE0!Z+ՅgXLC!SJ&6d0̧mpaH* *ܕҴ[]@̆PA-R@K|0FC-Ldcc~\v/2NEV/V@}܊.\^x_t}sﳼ /;w~w2L!0 X^^ٳdE$E|[*ʲW^͛L۝/Z-91!<){~~V2ۣ( & <[qn9s ш_Neuu^w߉{Pe`Y?@g}}} F\x/[oW oU,X+<_g z󽘼c͛7?1(&YU`m9Wo/B`cmdh4晧ngt:m4־tN(J )JD ~SՑ 9>DdiB7ksje~ōz6D֖6:-f팧.uvu;6F딥 "9} xNj~fe`8ucB)EpѲ&bH6J'G\ I~uAy;jdcl{[]~& ‘݉c̷[Uև0yHI $IQ i`iM G1m-EYNZ# (X x >7ATRmϓu~m92o˞EpQ"u2v+COrF{cMOVY$?k9nvJQqα8bN}1dj=-YgN3OenGpDB%׷2:yv3l6)ZDx. ('S\$&M",.388cY0:f Vx])klomayQZK~y{Be4d>1TEe.YLa5o~EX>\hͧhWGv!IPA੊,)a8"bCZLqU% (*k71¡*".!9zjg!1u3-]P"Tfb &EFu2ʫ.!LzVѲFFip1 *UVC$L7T*%X L\7oϬ~6{Uw5(#-2x|5U6q =-3f%"YY`i=$0HLmR{@ -PTlaVLigq3`mV[,p΢TB[9"{Ih(J/r<7+_ _җx"?OQn4:!8xXuq֕/O|O|'[o$ +W`a{{^xaV#G7=#7no09s oׯ_gooo トϝ0 G~m܆N^w9>3N$ףnBW_/w+-&1g}X?As{G}im}K} 9koC[t}$u,] !0:mWֹueHREuޙp2B@'E@ݚXV$օݟźJM.l\gH k9nq"Au𕯿EJUɇ8,}! > &&+Z+y<'I+ q^q$w3ΕG#G!P)-|VQDż u\H xTL_gVJR_u5^usΏe-ǜ:;RdĠϬɒXlt4hmܡUN}NJk1FBkcl\H*yBA Gˣc44e1䥥(6d</’'y"{-ڽtL3@k궸qc4Ȳv L3t;m<**{~Paֿ F1"߹nٳgT^O?u7dm\FbNùX?y*#AoHR'*ʤg%Rz,VP1 w%D8 !{:6J߹.tp gI)NB`.|cH$],MT QBT{Ig)ZZS8G/ѠB>=@+AjOq>%Z ٤JDu'D!PmM:ssi-*f r0Eg T;}D ֕'Mwy' `uQ E)8 7wgMd%/]VܾP+LnndwNo 78k(.j9l֯c6a kog¤)[{m(ooa)A֊N5y'3PJ88اŗJM""0{NG̹`LIiƎэrx<'U W<:-g{Mn[-ةC5ŏXHe<"`eAO:`AID,tw*+RD,i!xr%I[TRJĐFԷzJaX+BmRn:[2*U+`qdh &NMdQlJK-4gSL]ɨah{cFqPpȒl\yijJsDϧU:)\TCf5`V%\bXNHSOniFLfj֏eyǠl(N$nk??p8W^ggԢn'jԊ@5Z9,lv\[, E%UIm?n}c,Kaɇ"^n~FL&)m߆Rfsk]8ĹΟ?ϯگjܹsܸq7o[oekk{~W\A$XN:ӧme,&AN:uZ]]eee(~{~n=w _YO:ySo{qcP|uuwyK.㨯՞"+-އ~7nc{ĠUB3O9ؿ>DbVo4/|2Yp4ͷweڝ(x+JZ|P+++>s_oA޾l:%IS>PZJHz:Kb JR]r:+u֒Yaپqu_1:0ԹhSݬu:wRW&Ӝ(heV1 jCn=b;aqX|:͉c,Z඘]ו2c*LYd{vUە&-p7v%'IF(5Fm !#I(3`Ȍ!/@[h$LbhS[_ [`H_w8مm$*J( OtGAv+#KSr&3l'֤^ҥԥ'?ڵ-CZV\9Dk1Ot;LncI;99{xY1E(z* tmn޼IQ zv̄k7x2R<<)vG'G)I K ޣlyc( r;q}PJXYmNqE FK) tmD ɉlW,ZU]O@US!@iKLCV"Uh)|MұB Ll`%SH J i^3sĿӘK$efz^$2e6ѽ\/ݼr#H`GbTY"EHdڄ6-Cr @zG" qF:3+x/>ǩHc_GYKj.ItHlKUrz>MǢ=RU~A)lIa ϺP11"'i(HUUQU^\**bXkM("T*zN%$Q]oK6:'V 6@sK3el+$)LmާeJ}B :F_֭[|_8^OXk_!}}Gq"[@zXŤν).]bkkug}SNUFzg>~HH!2677oO5|VCMO 2ںk Z?Pe"i] f/2ˬ?pz!OF-&-݋T_uZ3 L&{Ơˏܾ$kU6(QWD ޡ{HNf+o],h %:غt2?pGesD>rLcvvvXEۀR m{Rc!CX__69u+3mgEA;4Yvo`%hN:͕_ϒfK˝8.yg{/ :R6j|S-n<1@YG 芇>Jhrj|ܞ]a(H >^Xm@/ih#u~h4V3 K[:Db:t¬j2m*(݌MO]\ ZQҽw+r$cꞷΑ4&KsqZ}Ν qccp.\P}fc{C~FRe@t1Sm{h:(KIXXIq6n'J/SVBlptn9dMXx>E-FfdNw>|#Ϣ¹$1fHE$*Dmь# `UlC=BdlxQ:`]+9Th}Hv=f&h$l_#FD2ޕ\v-,'jDp'e=5YwI<ۊHFc=Z!T26okQsdh|<",A*1eL亩G's Qy/"9oY][j0FI5K(kQddž-L P%| "S\lLnIڂGI ;$lNq31Q6[)vdnB'dhI O* &mEC^".6J$cZDF^FP+iN;q֐ +hsWgH v$$:$9" f$GfXW~kFJ/9766X__3 /K /?#?W\v,8{,Nӟ4{x׿իW'>ܕ+W8u"3q|X0k=F\-$&o&NsvycYJA}~Of4q-_>//}7_W)˒W5}Steqo|QmϮ֚K.1Ly&/2>,i>T^ o'Eppp0ywkW{q{F$ZЮNEO_N>49w'1{(rc{G{>r8M>k9,/h2eiB+KH*};/X[]i~{t22Ekܕ>{Q};,*"˲ؗ@1-{+XXgmmUeshi)pfM'=¯m>vn 5f&%C\dPGqȼן^vW&ǒc ׺ c☕7m}YoY^ /y啷h{|c0!_j-+=u!F$}pEL<9=L–Xp>}*bEh]f^׬tRgے)jj@4 >%U]H(J J3cD*>b BUA0t;8)NJ^ W$*&{pEM8!H5Eg8kui3WB@H8p֑&V'#GV@B$`!F6Z1HhΜ8Nne[^@uC0@aeJ'"8r_TVtDwF RE")>mggl2#--&dS{K5!lyI|`4j6%TE`a`uc["U䱐mA'c"3vl5y UL錷,Qma-ӃpHocn+Nq}82^ndQGQ,IMӌ25 Ƙ~u͎aUG݈Dk^:tE+Jl4*ʇ*!W-@)R1EA[ FòLPRQTBb z9~ $Hx"mkD"L(E9pfIźvTI/ >xIJPxG, :%λJnŎ-QR`y孙4i$'G|{-Pp8-9Z]! V)Q`/c2s"QMe9'5!OSO1x8(˒oonꫯ""\x-뻾^GYz=_CKd]x=o-*k "U}3΀N%MZ qp0eko^S+^^"Ign:|wpB$tUk꣍*fHgZL䳨~'ӵRdiZI> "UAj_U[:}|1DQ(uQeY8O'%Iܵ}moF?#1ǕEE "DcFA;AiE7 ~*k"`n 3έ>}t:mQAwOE[B@W /amEɂV[Y3+k;;,_ºI0'[ԡDEx﷎X#aa%,h`}U '> "ouLК5+K,0 ރOOGj=❽*Su/*4Alou8#"9l8,Q/Y+$hsp+DK eɦQL,\Xtא@_"{)q-S1<'񜊳HB$Y{ */mheS٤loѴ}DR|7I>q:*n& =V> }t_%l7o%41dCk8`go\ǜ_PZaEqvDع3)3nszցW^} h'%A;f"EE>J"ٛ ..&dL{˵SItͭ_COX8XKYآ`Gd칄b)I):I+1txyY _} ]F` /)%#!t\J NE[<:DbtiJQc:AT&CTZ%_D_IS-#1g h ^lT~$DY|BT Ρ1i$IL[;@8,ts6ab{ێ_e}}]+vUZvHaKDSz"%`B$u1-Xh(6G)E;5m&e)]J3oc_A8=@]%QD ТQdsC,i!A&(>ǰ/!C^|kl|2!nݺE#^~,nN*暘 !<9[䄈~4M; G!|eTk__^ _{{qʽ1$I޳3L&\pᑮ.X0aUy\t|+׻}+O[[[s_ubpmmy}u#dǠEus4 !z6/ُ9Μ9֚+W3s(; ދ1[K looW{h &\Xl,U +mW3+ %_;ma 誰glw=MXD>K!hm<J{8Dy ;sۢJy.ڭe:%Y*kKL&A{"guRu}uqaNS5'd! @t̴,w{0/8g 54^K6zQq1NM yQ0)fe֊((QЈPb@&O#Y @֊?!^!ރ$gc< ίV:[4A.m+PF_"­[;ܸ~,XYY%/ sllS%slx4Mά̓I[FV~SP?F2n|AhO@LfH5]pQb-ynnAH7vr.ka,qIB,,>a+ϻHEY|֊]\hkn䁗sZ&0 ¥^Txf)e'8ʼ@'-ZxX YVҫ&FI]w/՝a&Y.;uMv&Z ]#X˹} ,398@p29KK۾uܥSޘ6I&xH[).m0Ⱥ$M)g9>x˜ty@[ш )[{edZ`Z-Yt2%RE5DAaVhe<[? ğG>⓽"'-Q5^lll(hA}Oe9^ 󂦏|R_|=/~[)uD¡x |ӟZ,ҥKK|?_ݥ鐦)_XYYy}քS}'?izkAjX__g{{ vww)˒ .|W hrtubaqo]tNsrغ^'݋AO:zD֚vt:/"n B&T#)J)fy[{݊05EQI:jEQZ4dJi`h($I"Dҷ%p8{m]v;Th>"`c:+h3E9;oqĤfNw]9W+kۓhCb,K=a$U;EYF Y$9yXHŲ+3:_手8TZ$B=.h)Y`ʲJZsO+Q}jB5w8_틊0"BVRJy9Cm [X 7(Rm$&WYW[iJw 3 RYeEb"4X#{t\_@l 9 =Wň,el`O_%oO w [؟tE6wU8:a aV\O>7T46O֍[EΩMDC橋)mU},J3XҔ(z&:e*,4< *8(,kx!*X;d8egwZ/ô Te$+{yul]MrЪT"7&Qw[TA۟tkgAiTTH]eeŖ`bGZklQ̕X_H5KTX?XRK$ …h%>PNJF7mM4zY\93fLm JF;G+TIEƄ@LT(l.v`XgVPjBifnH\@ldK$a\LÈquD_DB5-*U{O -C<,Rs8Y" /\EQ!ܣw}d2{1p1/2~G`0?ι#Dq,*_"!T,&Uk׮1\p+Wp֭"k eY|>^D#"B͛ynN['O":ZǿsRVJ).^.oܦf1.NwU1h1^/&f?{x/A'It:P ! Hj:6Q<@D A=iNzZu?$^dw8xkQ% HaUۋ|@M1;F@'udIJf:ӉsañÊ$f>LgrLr5 l-DkxsU)h< kl7 zyNT% iwtAğQ QBgЦg2JJP:Tbӹ/q9SBaI$xo->͢V?FrzI9y0Q Wq>iVZxE>{Ah޹qR4ٌ[;{2ʲ$8ϩvN3u&C$cH9r*Z L貘g6 (-ϗ/7B@0x{?[o2+wIMrfYog4%(s5k$i+ К,V)Jɭc:IM>B7)w ,3O!uvw2VVޔ7Nb0[b v|7O@lop5KVVXY[a21IҊvCZ%ъYZi2D^{gPAd0<}g"}-)@f4a$ -+trIW}:%Z0i{,onXݲn7_wGdgg8N .f*!T J @0B S& xDSBnT%#(Ei6&ȈȈq6ݬk|ĽJ7so^{ya-mU !EQ4b>^Ô%AkRN19IWOHNI# BtΡż)BwX>x ǻdw9JM X^1HxHQZ#NRm|R! 452ː+Rc[\Je6Kj_1s;\r[hMj+=Z* i8g>[oc戦XFAPJcA8qQ dTMż6M=UXsZ@ 8_wWT2zG ݿ]R[[[}:vף8ރR s=HbįX3?R/3N/˿+ ݕi+bQ<=s#.\׾5WXYOٌ+WPy^ Q߷jdaG=|>D}c| >8y@}=t/}N?}r![[[mos=^}A}Oth?ݏ_{?M!l \$$fu󆀎;90(՝='??INf3lu cb/`Tld<Pٞw,)р<Ϙܺ}w>%y%{1ϰ^JhM%AњZtdFږcۆã&ʘS I&V]=d932ɲT%wRɯ+"v:bIUǑٜѠD3߻ |z>E-`{Vc ] U_dےB;_ȕwDĀe[DPJ]_Ǝ0;{4($.;>x\OOJI2-Q1hۓdhbێLl}:,2n׽dDb2iT}eDXS5 /p {wL5Z# =?aykP\@PjF9?>ƈkd\cy7/V!\N)˒A&f^1G7Oؿ~m) J&s>8tzh"ѥR1p-QHb]LнVa{n2D w?\O;\f#Hx|!ɳ<ڶ(%nm\|HE@ܹs'9e o}h1Zk6E 1*Rvqd!גLM1ԣSAT%R7 "AUxZ0@|'O> 5'֓_=@sg|'qOs.\9믿?}>q~^O>>j⣜>(DҥR+QQ%?)PJ8HC_Ţ"H%j͌f2&"LdZ),KLb`> xOf R$ƷsnD1ǕL61r@"J"g4(BPg+]g0HYgn/p}u>V0(s^}7%* *aC-?^Sd&be(8#_&L}6y])uPc*Vg2g _ItI3wUt<>C +2D QR[5J*2ʤZB B(I^p}bTJ}; :,Ds{TMüZb;Y JT 1T`֔U$~mJti2I5軄FnTD)0RĮ=gX7I$YM{~%ba);pR`ˣ8љB.Inr  6{:%['_hDJemЖۣ6+Գ9/좌!"MbY1sڕ.=.$DlӢuE2)DV9t=CpP{.#{..KH&{}\3\Hmf+ޮɤ" VFlիI%Cv ϶1":Kom"CĕkM[mNx"dʱfQeU.R!Gl_#d6.P/+:@o}ʾ+{|Nf nsj?m2<8t8_A\gQARJ^۷yWcss+9yXY z ;trx`0C!ʮJOKHɥ%z(8  M2q*8T}P'V$Zmޘ0&i;HlGKeT2]Ȩ5RH:iқ5igRH{G^6IH!Wo㈐ o-rRC2$i(USe]⻯agdg{VN.F*O*INENZV :}͂ΞX? F{5WA~~$}dLj4ID&݁Jȴ Pz$}w%C4J*$,[N>xt1ti? ID,Fކ~>ꒊ !L2hSC) E;9'L(?OF4 t`BowЃODDcvփ$}-BELa>(шN6=1xAMf.b$ P x K)ٹt`[VR"M+Y+Lu\dIxK1kE'Š KB\sP"m5|!Ht2 q88kQ ֿ, ޽u"wz%:˘L&rnJxrԼ }, r!X'-{d4 yB:ikv4 Y/EٶALQ9^C k[x={jBh9'x"O \DMh-|gQg>9T#KPyAdk8fr/X`$7&ق_KWٽ;4Ւ"Brtr7F'WWw61Zw]Pd`eI^4Hpi;-hɰMrl}2T0jI!00y*n"rsT jŵW~ 1=uum"EHMS5&jܲچ}i2A !BRP-=:qu '/Dh%j+‡-;64Ǝ+*=mR[6g{NId|NP TU*X$(z%!xȔfsfaa[02%ZZ5kYؚR!/*wqshDC[RP鷉y H<ɄSF{oGjW.^x<͛ܺug}xAŊQvW|Z⃒3;!,F&Fgp8Ju`ѫJ$ N7Ę'eA67h8ϩd3[1,S &iW!Qwɍ Y*#qmbBUbd"ڕN3bNmm){ٷ)W&QU֎MiCrC-A|M?g:,6,gm ٺNDã2;f*=%i{0ΉG8$"!}J N6O<}MUK1NU 3k5L]:rI dː:IftP t?wcYt/C` ـr0F"z4$@t-n6U{Fprt = _kM^}zH26L+)wߺT(h%M l_ʅ]nwx|'ͷevZAZ9LiKfYFq2j5/})AJ-r߶HS,[2.Y\L)P 7Ƞ1eY>i=M| +~<4'9>loosrr MxfHf/z.]?{O#P`${BkΧфhWo bd&_Bb+#I/D՚1&mӻt޵rYS9YEisd!jv5lH@ZLF'Mczewnd:c2Z tt*QlmNΪ"I=[()eK:2$)U%eeZkՁ͍!ۛ#K˝;yK~<|g\j:Pޛ$8K8==7gk{U &yAևt{pXҙ˒{,8ӔOucJO_J}ՙ'OWaC S!d" #U]'V }xŠ8˲J2* B $,uW1ӳضcIG@.h픤&;1hRrOxYjl(,NP*2uma|r}x'7qr|eB0hkT*O(OF#ƈIN!}hpCi ;ֻ+ȃ X){E2N) p^/:Pu0)љSpUDkǘN.;H:Φ$:xtw}.#X>]Q;*e#i1s (@#ۚQB#hr.H@ؘ,C1ށK(]^|H"~dn[%^d4&gƂ;U-K<] ֙{$abLk#ct.` }x\|7~@eEZ8Qړ{T($HnÒ($9hƅlll@۲%_xENos{6u0mi2v.!nqrrBT/%#z׾B1F( x͎lNEdZE0wGH@k.eL O26LNޠd[ku+&B*$QVLTqQC~pY*pmr,򔅷[mr F e5ٹzsX$m QY@i쒃"!8Gpʄ>&XBdZn;3L۱;DQ`U+i ҘP))[70(jH0!";CY5DBP|Ka0Ɲ"b+ߙ3`<q>~ioNS/cF U5bn4;aL)a5NJX]xwu3-҉n1V6mbHެg$ ~c~W^y}5{ zo g|Kc~_|[ŋlX}]_+=RJ~c>u ~ Pw  "I59 :q_җTA>_r3K03)%[[[f3 esz\ljш_~W_}-q3}^|B~㼖C9Iٌݏ},|;-[[󎪫pB8^Ų"4]+&yCX}69lR% I*f<:u5u\`1H)a25iZN Ng3ƛCFyI*X(6ϸJ='R5w+XV5yf013e4H׫LȬ+!Lgs2m_7-Eu >Ihz@ni";bSX_Ӟ|싳s}agگn3::AVБ;u99!HB,ۆ@.5J'mJI<+:]Χɺ$EJQ@k4 $!K{Q2KrNB>R+!pKr8ZeY%`T0V9?On|fٛs@jwiƯ6r[HmQB Ġ^Ӣ?;F&y᭧m0?!v2)2EznAIk;8eBL4ʼn3(do_ j+>ӬGӟ޵M6*21[;VYA5VE@]N A"5MrWN`H(4~ 7DDTЁkg3(&#Gtnٙѧt&&b!P(vr3l %mا|_߽Iit?!q{M*.7o-$m`g1Ƅ.2btc[:k+ ͍ mR2*lQ(ũ9 &z< {OCt% 5"lo8y/</stxhS|ɔr  <'x@b;zmA9vim˲PEMd[LMV"JkN l_ܣͱuM76g3 Zb0Qųcʼ̐M R: `oouYF$w=mu- J L2&ik1bK %hлӓ&!4w]38Z'IQ*V Ji]%<"ˆϴ$V(]P^s,ƶSۚ3('۝MLBP,m7@Q>D-SFAm2i* |9c^MK}2Aʴ fyk1=!/2??7ǽI^O~]NH(8;aZGIhDQ|}o%.q^Lu&56c`X4 [[[X@3t /"oxq7=~wg3?ޛjxHUUdYD5>=!857NrmR!< Z2THif 7쉇yW(dt$NFi ╔ /^}&]bg{LkS?8h,#&F @КY{{|鋟'319)M| ls xށDQME0Qm0Ct rTܕ1҆He#;݂dn-DM=4dC MĀgYs=ҝ;w\FRu<z/^;-lm]`h69I=dxW%vć@>%&ۢL '-懇^&7j{"llPl{;kMm"Mѥfz[6׾9SRd햦=/+G -[ۛH!9:1-T'Lv%mUcd1c #dJRW5mr6EK'T`z> ҜI)s͠,P0_,LFlض,G45|N\dB,i 5G{JA*I'ITl'SSV G-։yoZ!@t! Z |UcmK>rg%1erHZ Y5LXJ 3] 92cF w[Ab,]C|".^IƵx69**j[3oa&6&%!zZ_ӆTYOlZ;d*cvz=X-#F?矜~:}ſ癌1FڶHL@{p_[htvz?v FիW?uP߇yߠXc"@y=h1$oܹ`Hs ,w!Yak{dEӦǽ!EQ'8דgϜuy>z$J}qn8h-ɲcd.UCXȤ8PHd$_"IRc4{V,قp>KF+pr29`b匛ɄAfR0o2 jP-j{su=!D^JOR1RHBot}Z5LujτwSh|!7l<{Pu~-)`4(;cPt[S'fςMJM6]~B]Uꅮ+Vѣgq_RtxdKD|Orӽ(Qu^ uK1EV""ӻ:R$,hCa/] ZkUڐ!U K)P*;ұDyӥݔ JkV]b"Cy% J&͇PmxrwGQi+F_Bsٛ}g"62yF_l6S*/%8q0Qt c~XV"M.YD ?0Gz1"Kw5^&y璎 hQIT11Ϫ! *a+R@@T ^43ZJ'8gΫԳ9pFcOK_ad\*e~#(DȐ65}2_X+ HyPJD}R G:$m{ C'$mK(t?C!`|ܮ_4nIT.f$AfPऄ,CI].",y[ł+{{ܾ=P\2(ŧ23&{;윜R75/clSn 4~91~kk#_xf:=&zEU&/1"/PkzjxHj1'B"/IPI[TiBۤ2Ip%;^ȊbM6%b#byB-UcտWO,^>M 0>|ZJ<ιGA899TO*8ڵkOD^G}~>A8zsh4x?lDG>0O}sӏ|ZxhO?iΤh:V‡Tr:@>U1փamF"u x렠BEJIHk-I>]zlGDY.$!oQD&mnMO i Ix<@i^"4uo/Bj[%d/5cĶ4UQnLՔQ鴦n>UlL}ש?1q#XgWma(A@I*I˿!XQtcPau>.ibHR.Y;VdHC+UiL_rHS%iPfHGWw2J4Gњ`؝O`uɠDȜ(K["h"eI p_7%>y^tꊬV~d:h ۣ1M Q }?OFҺO0wk>"|bd"[%Mq\tFgM/v !B+6d'};/3N)%5L{J&vXm3ٵ%mϱIkʮ@f|(I08S !:+S YgY,+ꪂE^1 a!,I^pN@Csr Bztrl$FQ ,O/I/N /AJd!eYye1xOwEDQ]@!O!foPv6].L2)cL $XK ,mK4EmW!3pɝ,^H._9:m|23nK]/ygZ"Y5f1ML&MpXtz%"v1B9,1yNX@8ktv''Xnә-:ʲ SCۖ,c)yY&w1%Fbnyo_':I-ddy H$:|]EoM9 pdƤc7uMD)J)E2EI)'H |O%{ęwHfQtަNlGAVٶuM(RE2<jQs̟\8=plo^esoy^  F%z` =YbTqȔ O(X6K|pɳFJwXqDShIbdkK5sؕ&c~mf 73lLJư*?9J(W*H 4G??g,G,X 'Q`~ >gg8X{{{9~;?X,o|CǓ`{)*cZ5 sy:unݳ4ߥIrHbRDtLkE([Bhޗ,r 02I 3CvQQrgYZwB +-C{ܴ3z*%+Y^ǘ[HBz/*MIJ20( 'S tge陥kC+P=IDF]7!0&zY8?.'t5y^]t( ψ;g})J:1e'eܷONGvꪛSUx@+ ˩rKZ| Q!"p3_%$Hؐ:X4i?Vo.F1:>#IZJ );?/%A%GG(S Je UƤ,o0.JT}> G K&Gb>B@X&.MIXZK0`u$ bsCtA4逺G[ɕ@i-YvLGID&)Y" lkm J%ֵIG 1">qQ.3|%-ۚ؁"sۦH{pprؘ0Y귶FU QRƖ,Q o2G.l*AeAͯ&G\c<Sls頻} m`[lpdRsEu-ۮD3%O,[|2[Ϟh_guڈSx<͒EbMl#o"ܠ 'vJyn|6W~W>c$a(`|~ Rٟ7~7vuOC=cIaۿ׿u~~h7MZp8d]c D|zRK sm%&(G$^ItV%MȦ&*MF$aQȔLe`V!5nh" yATxw'5dPy Ad\4\#PSa)~ ^gsՇB`U "! Qu魛Exgh3H,'[U dUM1CUq|]vLlp'nC@ 2-8|UnmdOsg풭񐝍MԳ9ܾyRE\ػ޼Aմ<.M;uXJ*jNVb g-ZJ5" !\x(ʒ$llo&i'pMQI.tQ0ʂKy W ap5P4MS,C A׶h%SaX^J@N>&r6C ϝc@MfRb@褍CH$,'"PFjSO6&U A[+]ؙq+X˪<iA*E2k ޥ`NR"Nm1chW7@DFzm!R5Oe fYNi[ S6xҠ@I5ӂ[Z`R5Ec+c$ :4bEx"E,p$_KDt66vU<>Ï;w?k_>f8>ڏzv^( .\[x>6|ԱP{ //?llleه:o =h[A/pH4TU1}^B.It: ;bcDqo?kF+5S'rIݴIiR5_X.k6&#!m"Fǻi㤞 Dj0Nd0˿m-ev{ HZW8ɻ1}螝;35  Ӈ* 8cdpɌђ͍a"Ƹu[똌^&BLU=譒7Vm?ɒϜ$ޤv~hRruNבBn|No|o8R FZ ! sQc!2*H!(ȯbXd:'N.2%iRB"13QdEu-)hl LRv5dw-Jbt[|h1J#ĹpQ!4y0E lKL'" ?~wع?~K⁌hzRgd? Z{^gЃ !JP͛};O,HnvLNC9JtvM ~( Y2w1DaNdA En*kh3Yp6!YN ѴȶAUE4y4N[cY/<,>4}W_5M [N@5X1V#|vX/r] n>CgyʏTKغf0 #%bNgfzre a@6/^BII>3[$3W\ocF;;dtq qhhDs75 [z8٤,K6 o~ yv;w  VIV|IvLUږYf&$S/VɛbP5{"V<Ȯ\4%,1E"-N'8u5Qg,ce,S1" &t"YL$c$3eeɄU$[fʘ&B$ Cyb{爝jH!;T3҄,#oʈբUH<$ (gPY!RBPiE7)" b$2^P9Ae[*ooHCHA F(*Ҹ1Cv6UD2L23wn)\cUvK&z6Bp&ۑCT"Ȉ;qt:'vX2ưX,3=k YxB1c=PJZ'2nʲd4@)7=Ac>GGGܺuohf\|tp8\S677s_?S .OpyvϓcHFi{$hx<^߿G</|3Bm):F{Oid47Ӿt@fbMb-+i$14V|Y,+Tj#B 3^.aA-Qb֚q,ax8[?3 D|C,zsi3ss&?hhCc !fҝouk5θVBCUL~ņɦ&&{!QƎ0~q@r=[~/WK:ڎI6i }?9|_Yk|P@]TdCo]7"Y\+W&[ORЃ!()YtįLf@(W[ !M[ELZ LmŀʞP#,>Z `Af`pxMj@TNUg1*M0ɶ=>xs A4&-|@v/Q&UɹڠO~CAЦ"<ކVO0#*; s=C>&ɘ(ZfCm܏lp]R bՀIoA>Cu,3Le9E~5A |ݒ:^9niEFB@4u "$HHyƑlnhʢ .leww]go!(쟞Z.2h-nJ[P :ڪ[O cN(uM4dBXV4MKUW'# r&cȳmDH>#= Dβ$"eҗ2U(>1"Sk[1 2 ib\IִMRO@d#ɰIϿ׿$"N,yc!A`qUt~vVĘB$9A^PHCնKZBֆUEW{=-sf BtkN'm""/ @|J=P<IZ:f>: 0#s1Y9M֧nHysYUx۳U>zddNC88>`vS{K*I5 "$\-mTf&9:xu)ݵ'V|bç[nhY5gYI wgYSe 8]$@ItnW ܇^~])h3t}kHzϸ(ihW bɹDVegLe)0+WܢOXUaҰD޷_'/ ֌JMB@1JcrdJHQBuI$yI) Z2'oXo9ycCv.^tzʅɲ$yuxg*+Ɠ+ \23?`I@!9>8u"Q@>ĄJ</{r :C;H(ebz%9;x6Bgj;u!:tҋ2.l Ug)D.tICbNjՇT& =8$Ȼ_@B 4Z$}.սP;=u?T/\zwF6)N*X/F%#ZB>8dzq8Qu~(խ"mh!ɔdl${'m$$a٧$"ק'7ogW0Uٮ2 PZse > L&LO)Ӧa2W)},ˑԗ_#Kwb8}ŋz)K1m b>;m]3 ˚DHAUGoԵ +ͼ,XfSB,QZ`LbBbm2zMؐ.ܾs-mSQk¼f8. TMMS98dYר A c$''\}9T("urdL~ɋv|u˻SIKtgchJ'Dk >Y]ͧI{i?91CDyJ(X3"M;s>>WX8+Nl5\!P,64{Gar\4!Ę'D1`} 1[ |H b~=N1G;fHj/6Ԙz̕&D˻"1.Ԍgp~ɴ~k@ef>~kz^U{ͿI1c{{z#[{>AHy0~]1<[o!WW)7^x⣿97~8ųZEWAZ5QŽ~w'i> pݳAWjz}61F._S1cD;wo^Ohx-x.-Azxk1eNN%y %h3D>( ۓ E%0?X%b@ ='oɢf!<(atg%, 966F]ܹb;1{Ny.އ5R I>FO3{eF^xX,*<#3,Im,ֹ4%EүѰL,})'Ⱥ6%׽a\'|*A,wOO\{9Lou,Joq!R)C`f(q艓>ڎ@jts/>÷ǫ[lK23Ri[Z! >a!aH } ~El ;&(`[(1Z_qj89R%wguUxkPRr[lln"4$Fbp(X[2/%ȒF)&9R?? Y(W,uJQ"V; .鮟_ IS|לǷOqqAL<^5|0Y4_>nKKaηll&@Ko{,U5M>I|BiP'SC8\um _-.Գ2ۖ 1xlL4mcg<%{#V ,l &D6DD#ЄiY9^.^C/_sY\ZYVgpԴ%*. )66!tF@ gPltpm_{j`=bH\ bqṂ,ٸ|ō-5 ? _*759Fi*O "7߽ɘ4x#Y4(Lcg<`b1XNg!Bk,Cؖz X,*Gv̰`Œ?oŋf3?troo3 677MGy֓bۃe+?_SW_}O)omJ~3p<bơ$c>lwMuZky7ɲ/ﭮ8 83}Pp]eޯ-J,Kf>{cDžљ$xqRO:E$"])Y{ve^ hԂ@`6[J0.ϗ4E+ ShfUXHmY#1P  Lt`s"1Ze]ƶ-Bzhzf-qN1(֢r-"UdWF@z O|)d ,P"H zGk["It"}bzO e ELJ#FZ0 %FΥ=o$p7t ZB/% 񘩍TՄ, #"9+m(c@msv@"KC  ATl[-СdL\dWγL .i) 彏OQMr)ISM5+6ƀ;]y@Tlb߃Zlc Yaؿ~H>#UZt GjYtCLgKC2&YsvGs8"ޫɜQkڦ+?E[8ru6'|;9G\meJ1iq]/ ե 1eል .RnzkYK9pJ"fe%:S?8Hh*TԃeX•qF.'M`' 4%0Ђ GM`zR(.ZdwPl8('cRؓoSWKpl8BjEu2E(T! CrȢ`8/_/aFol u'_\y9g ~d6ns:/wޠ(s(9:>{I`cwk%r$R䝷rm,/QqI"XKV<5:- npr@ c֥iٕe&cN:7np)`bm0Me'i^EEBƻsC]dyS.Q5$ڔFJ4D@u]SMubJ18pdg NBf99 lҤU К(?8`ٯgL}Cw+ zO- bu?-rmŲY$=.$3>z v7!Jeaosx}M311cv@jb`o ;4frZ ?Ǭ΍ߥq,Z ܞtb;1F*{Oh dwŏxpm[ݿw|P~Qk"Q_җ׿//=Qyfܸq7|H恿[JZ,˗/ɫx<+_ =u{fݳӟ~o_{5F׮]Z#]=GG</E,Ӄe\HeY]_wa%1ϳD(͛5^R2~v !0 ;o^z\f(L\1[0( ^z)bNLF&;"t1 /BJ&:J6XB (:<9J%Nc4·ctgښ*d˚xi9sT=Z%eY,rLF-o3-|ւR) 'aXւ"WhZd< I2PȳdZ,ټdAX? 2W9aI+YCi{fXLɊbq)[;ٿs{OxZRdYFmf_I2 En >z@faeLJϔOorgO`ZA$Zbtig08Ȳ/S.zR55h`h R-2@wnӸ%Ͼ<.Zt.-*Zi2ᨤi,c+m$NybP-Q:o tfQ& zeNA,i[M|Swx\%Bʒ}&B bug 1>KB0qw%+AEg,lR=Y6ii6/L(9&ݦ2U2<~o^pt|h2accs۷ﰳ1F;wxkkf!h~GHC "K\5 ̨D6ɤ2d+R8(3>'~REAMg|>dmTe=F2cBWjhZ65,2CVIwC|aמNa#[b9 l'Cnu%BI&F01&4׿-9$pBHܰ{fwwR.vwwEdB+;wf&9;C,x!^yd19*sdS5;t-6-0RRNl5a4ΩFco\SSמAIS/f0H3o,-ږ 1LnO=֥K@Hֆ#~?' ťJK|6" >yR!%%oߚ_}=iY [R"fiJAE*}4eQPe*i RiK$h>!GGG3 >r0>Ҍ?_KP_Ɋ{zczig/DS1Xk{/~]+penܸoo}~c!jNNN~_~G~#$?lnnRcAu쓈 s.O^iʲd81K.Q !4 u]P5_)a\}P{UwL3<_u.Yqʕ\ߋR~:4jLUfR '˗s_*oK|0N>9ynPR'6"b1aN!*p|td8X²1LO!%ETy'E)e0"b6C Z zIkbxk`{7:@+$bʒxz JcuCa 2o.R,S~3s8 B0"1VS&zGD)W&dEP$ZIK1鸇 J$UQY*JB0zk1~h_=@VY\zMLkƟsg}v݋m$c]fjK4 Pg3ޫ|WƪNNN}^ymnN+iVfxz*o6o&ш_}7g~g>R=xpp+W{}U9OI1DH)֭[<3ObaY[kh4z;\~+Wdl>(a$?y)ucj߽>UJw|+_ΗU{>aZ{sɠ#g>ɠdΔl+Ţb<3iDMiu]3x %?x&M9I21CxyY_#tvkabu\$knU6'A"RZ >t 5!6x4EM_4Rw2/X6J~]EzDzY6Lgh1ڠ̧'EI%`>we$_Kj]jנ(׭T'cBP9.~'4"i;cZ;y n Je+붉aH 8'qƘ7I(3Gk,˷奯(et}dlW_ݛz9Q(ldRdYFY 9><x 8>^&ȥKk:PW-- ✧*yb`29`H6H/(@i[hcL0y #[TɄ,F n1;:KE[[1E9`00Dwƨb;+G .^BHvGc -RD)QB` 6ȢK:UP|I[Qd%!%v{уJJt)rtQ?,;Zkg5]=ɦY,W,~0|FAAƎ!AؒH%qEf7{V՝ϼ59nUWUWuW-P{׳?GvQ@fDL(RBdb5׶$_|3/1*dڏ8iqE1*X:NGcMCDf mJ^ut"s\"9bzvz:^N28h|țZПG)Qa;0k ?Jzl Ϡ3ã 5_+~~__@ b&/ॗ^_2OVd׿u?՟'?gG?Q/s?s՗1+xg}lll/|xLshOO)/| :uj.󺥓 eYHspw!oϛooٳg׾ޜ^~!;18<$Irׂs~~8˿̧?i>=K !yYXXPƛ"!fBrE.^ȑ#G>֚MΝ;#B666r W^ecc84-v/Os~xLǾ+Sy׿y* Qq׿uF,6B#.%<4Ry.!K]nˡ)2F%T@Z`qJ22R!e4YP( m qckgv!?BE*JI5uE#I5UWdQцhBdBkx"F!u֡/<U}COow_k8 nǺǹ=?pt#%/Y5CHH5HyɨsEV}^JͱųY'$gOx孜O; Xi\06BL`2(BTijU"-R h WUH E]W i!b\Rk[mlq(Vpاh08zaHY4Ma\bO< P*,7#)֕uk+Hz#_gu6XPQ똼uٍqڈ2_@VMDG| 3ҴVJzCO(&QyOHvh onv0UtT\'V-ҿϵwit2:+Ď(%RI{5TY䝷/ ꒽ L'p(B)T"[cَ=>JZ)t9ni!|a=﵎ .%)$#^` lQu3rG4Xo)J!p&QmpJwQVc6$:ե PF KF J"asTE6QlDlvsRX[+#tU{O!9p35Ek:OP |>J5QD vvIX;q`h4H$;fJH],./SBcq y-%_D 670 \]Ξ]:/cI%j#.׵OQҚ@di+W6#?ktEvbxs"h/QM4&2h%D5B31R:&qI+fmEJ7̦hSv|!BH2!$JA)̓ ln3/=v7_{^G_l4)$?qp-`l h5@x7Sd܎XGIS/Sфt(H9}G̈́ڌYȞE?6LA%aU/L+ $YX$SϱxG]lmm?^ƭ[kn}L[ejs|?q_6qI/| 9Dž 8v؇I;O|~>VC]?+++lmmEuMegq ?Ais:ׯ_)EƇA2w$x ~mz?{*$78O>deMlo]AHI/0l@@j3d]})ݹVL,4]@Pc>M>.+4[ ;[;Y5Ϟ Nb )&NJBmkTkq%q" Bv >C _C*)BuPTPBqw|XQ;<⃗ʅ=@Zn)lkKokṷj0D*s[c8ʇ CTq4k-{ J -x+daES\'&4M#$рi3f09?ܡFE'19~(gO8qD&ۊЭ*bJpj(grYMxj #FL|څM$~*'W>t" F22Pt2+k:5|5QmorXpQac%0@4Bk\ s_8,1fXqHO!1Y"\]c&csY'H$!hX#,8d:8kVHuɰϩE8KhR O>c8sO|Ɠ(4)ÂqD8&/2kdd##ȋ Q;uKV2 ZMѶd qЁu=Q{x?F1Z..SGLvwR:I >x/B|;@ k-^m3Q}O}S|_&g>s^zk_%677dyyy.qsKKK\pG!A`wߝKMM\k͕+Wҗ>1ַEQp|Ib<spp0qYv Cy^y8/2y/r93ܙ1To=V'> |I& Zkx .;;( $Maccc*-/9H!7L& t01xÔeQJqQ9… vGos^͞$I‘#GL&󼢔z$9Z˅ ?4̙'xCkիW?ϻʼرc\ͧ?ix'?_VI[C[ɤ1BY3}K^IUJFƲW6sU:k+0 CL|:{,+4!&9F4%4H%0ikϺ+Hؖ|# l .lqXawyؾGUiH 79QB%hƩ Z)K %%qHvF_k +ZM@$87:Ggvڑ` @ۚҒ7vyk4L.I E(nzmE')MQM($qa\@ $+KQ6}uݲ?y/j|9PQV q= R)I~# a,QCHѵ&V1 ^ݢq3yn!"[M A*&M p T,ntٹՖB.2~mGKG>xK,@O~'GWh%1âFㄜo9 ~!l̥aLU!dH A]24,DC3 ]_#B222A@;b Z8尓WHd3Eլu:ef?$B$1ZQL6e8L!eNhkX,G @&ebf C]$Jzyj!;8[~w=οcN6۴ dBZ++R"w޼+?z#Gֈb9)^۴A=qOM/PBP#"TeM%i0,.6HX e473Ah@IIogz!I3!m6%6!qۻL29SZJʫ`d G]X"bD!-ZQHd+rT3! z`-A#l*kW;]{6IDATVNf"$E I]0$J:9su+,.#GYSWةhS)ʚ8dil6[DNi5ME3ΨՄY&\{ПL1.gK*]Q: Y!"_ ;eO1v ~6 pga<{E[UF|M9P $.)G`!-F産EG?>?~K.q9}htW{Y7J!͋/HrxٳirнA?3?˗/9/^9q9VWWosG.!-bR8W*9p[ 60_kA((W!d{{'4X41&Ņ] [lLMI&F[ԏF3%D,6i@OYѴ)?tRRV5AI,# BF#ڀsQ6ddkcI'NU$d*;wQ"CZ/8J8$i|xƢ,M҄NP#M;^Z~NJ0{05CXhk{gG_|]0gs=/cN,*(͏h5mAB^]nPZPVs"["贽x%)&"IÌxe@,S^FxnWPY<`W̳ /#%{,.t]tWxs|߾15v ,,4QΠWdYB,PW5FOhxQcB"M%'O˅P9 M4r4WT$g~0Ii.#&a ,,*H-:++qL,Y&aN$Q8@RYCw(mY!㘴ӦōF\zu=6{:VZMTDYNgmZCcYU޻AI/V3eڀm~W:,.(ǯ`SG>G0@DəmXAaj*PՔF36c[3KZ8cI$]hJSSJԺ/ T7b~辇9iƆGm-53-C6!,7ø[|)׮ f[q9HLa sG=caa;}/vG>r>,X]]}ۣҾOӔweNOs;ťK8rXftuuo~~oB<0+v(x饗fǹsr \p6_m|_g>c;wn//~q_H{}.woUU' gϞMں~Z^MRO2aHQi߇aӧ~:o6A1Gy_ɬY~x??"I4~h9hoii7Z>O=4cw;'U+nM"*-8ܬI`ڱ)lV}hF2%P9b8}|KG69i꒵d#dE=F.noHhHe44co4C0ѳԕFe"/JQ!{ bR' U䦢5Č.Tb&Bڭ6!|c&RJs<>l$,M\ILbj P9u/⋞q_%WHxY!=A0 d]9p6<|/mdg9ql!=N'S]@<XBuSCW9-Դ?u\ޯ{iWߗkg8Y $"_dJcEU=p3ciM^ AQCu(pNa5] D rp{Ebs$(ոb޽{wv4²k>X 46nxvJ!+{S@xCS!/F㔺]mc.kTEMwmu?B:<`q;`{<\@ϿHC?tJJmy.^DݡE©/ bE HVX.so}_\\$2$7^@TcMfQ5fy_r,3G|=!y饗888[?y:A! eY>"Hh4_*Ν献y<; |J `s}0c; XΊ;FL B3Z{oo?gbrnjA@sl?Jn?R*EQpڵl|z UUPr,YktKKK,,,<4+ts="朣( ^0 D_ĝƹC HCMQ;UJ$g)vN<LumSR-ϜAΡkq9MQ)ΰ[6,qB32Lʚ0.Fqa!_rH)pᄣ+M 9TS  /XՊiϑRi70ƒ1zuO^FǗ趽abzd` OMń!Ȑ/g*c8N* ӬI s3GFQV$I Iv 4Y9AQ"Aut %jt]!I2STAm64 tYQOIȳ#Xز5nI]kϹ/KsX UI" uc%M}72E._6I+aD9T #;, < d\>`e6ȉȭvs >CP( Q]a% #]Q9Y k۫瀾u*um JJ q PTc̜8Q2% reЂ[7%R~nz%bl]1޹ǐ /z[ax[ cqq幹ݽ.R*iv Ð{,obqWUE|cڤS0hܗ ;.È{~묮b?Ç d<36䝁ߝ#*f{k-h4_/=?`u}ON(Ak6Wc?IH޷%,\z4MqqܹGO.`qq~Ctðg7u!_֨ݝ[(6 i\"a=óuHQ% 8[b˔M.åduyp*SS "cb,,,1; $ cjTUEQȉf,/.q}sB95ۛ$J*tޠO'v  ) =HB! |7B MY2A8ҟ,b=COgu%r 9IdRJ.QR`]g;^yU|J ($2PTuMӡ0'Ȳg=qS{Ttnt3}?dU"Sf5%h` 9} d Wߩn ͣ ]pxa v?RN_|WE,3 8o`*aՅ/bY BHY`e@Ȩ$s̤'pԁAF+F^ 1 =q뜣r=(_¹.WLIFj-~P@nl~`Pn (|]ESX:~\Z? vveI,h T SMգGiu: duu''eNf2[J:ڄݽ=5Dp@ɏqCupx2!TPRI2Y͸Fi>O.d^%HJJ?n$*~>?sĉ{:BΝ;77 FЮMǏ ?R@f@G>x ^.:u]<(mVD8888?z R\6 I+iQ9tm)˜edd$O9MUMp"HaNREiCEwcѱfܤ]k6ȣ6lS`[͓dP r򼠑%J&Kv68kxC;ca?yoKgCe-84;MGȺ $*qxJ A~Zc<<)`$KqIY\ZBE uRM5,tyDAD(i!\MԄ.@BksLtEakjMM%*@VJԌ qϥjɪoeݫb7* q3BL/޷LzX kR|dly IRJN:E]cx7?3/?0@Aj߻W|_,t,Fd^~6u]ի}= u=!`9h2=?t(wge0|~сpAAk-z$f`{X+ͤg0P5k$Yh8.,}( ApU0dq1!yj6O(c-h$. p IQ@T lNU ieM^z񴟏YMI {0"=HȆ7QUBy/Bc EU(E-t4t;^Iȥב✱qBwy4mOe&FC8FI?q^,+Ϫ@&ahNS@9$UM#K0ڐW%yYb44,ա›{).xsAoʏ69u8:B ﳼ`0`eUqm:kG+9 I4vTٛq2'LE8Bn 0#H9<k eLX()8@|Z!.')-1zt\ǜM# Ξ9HnO'D {DMyFP (K>yo6Fq֑6SFc&)Dx*Hmw C L|cyo75[ܔ4;+m6/P3HagBp6N)#%2jHa-2DAXl]nuc|V8&a-W%;3^ \Yccn{o~>Vm"Eg m4 W._%kA iHsE;*4J휣,첼q΄'nT?BSHi*ra !| wOţGv: z9`.c%)Ǟ~VŸC9 NSfy h:gh ?H9~(yY28#$i JS:6ׯVE^)C/JΡLTSWʤ"S1x$9VԺ&Pcp E%NX$LT2L' z2fMs*zٿ豴{^Bտ{NaK_UU?0>c.лɐ|HG&0fys4eii`@ݞ3&M *`a{{g}'v !xgOeYh4|2VNCQ4MN:ſ7e8lR\x`b7w<>ؠn#ce4Q%;;;q<{g&a3777Y^^fqq9s=nR.fB<4◖~9hqq}FwJ[Au1˲$\D5^1 p'nO` l.>Ncdѣ I$ u 'I1ZjB5ts]xWfgC^] *qxaRaM$QD]k:& 0 Z v0h3FO_ee 9NEtZ-OQ^rGI/RWev$z\~ %{zVDIƳ/,!% :׮^D`u}u=FRLLpf?OK!ɮX7`{TN)o @(*k)+!IJ $ 80)58g0 PdSd:it( X[4k-I0HS1vTh1J8rXi= AYUncˊIYpspﳾߦ钵;z=\]G@|R!Y!أlԙ=]X`GYĉ|+fM y81HUS%Iސ\HαV8i)yh+Ca8#i4isl*0ݥjy γږZ30 kn4BFcߒ iu>A3$i"[2 Y~$VׄiIEh"hb &M1q3\YN ~ͷ;Tc3V1S )\^{p$7 B֏d2Œ"pv/rSSj,SPyԲH˜HB1ьἰTmjp^Xsɑ| _{- 9Xn>K,Ј ϓ)}LU=?`<)pCb*~i?ꫯyҥ{b*76aBJy_wߣx"v/^*vwwYYYرcqN:ř3gv9~~5ݝs\vG*Esҗp8jre^{5I0Lzlmmǎ_&I1\՚K.?\0omm=^~e666㩧byypooꫯryrڵ*鑇Ax^fv]wk۱K ('%]{3CNE ! zYAeXr `epDo gufkHzzQח?O`T%I`rc9Ӊŕ%%$!RD|*5`@]j:qI pH8:`2/\O5{Tň&͍aOsi$ QaH]T2 $D̙J)AaVyw>l8._s/+W)]ŋk$G~l΍n{@YAAպ1p+9+,}ow/͢G.b7>A3]$~asѣG+͊ CI̬ŋ! cȲ L&7ntL,O3o7C%B}Isw֕%N%T +,Tt҆!a0QHETS9yI kƤAG!EQIYjf^TcAHJPN(55RR;LU(/Œ eU3$I˯B'>#L]ae:KHQn 4 x1Ŕ==CF:%Gz|&je$/hf.gS52di<6 @m"z%C&3y/O"* jT93ܬ32{pegROfE[ {Zm*p$"+P3.|( 5 eR⮳NP#&%}&7nR8Bv°Dጝxͩ-'7|4ș %6 E]iT`vn֎(9tJCJn CDU`Ba|uʭzocO!x%&""GEQq03GiƳA&?)[׶hH`@ ꪢM9`&dt A`16 CTFSU++ "MEs [?E! AXn^Qz_l_砧.( %Õw.!%꺦j#+!IDiI'Xn~Dn8qN 10Z54cR\~bFʏ(㘏|0 iعvZk:˾+/ 11 _Y gxgsKWHήBI ]sF3k)LWL>,fnż*P"#V]FBT~Y*SS&^P=6uzm .}3o6?K 3-8WQ2"s1أ I: DͶgzBp)|+_ɓ,--~qh40ưs=a9+k1]o[fs$71#2cbHni-qldF:O4ͬH$IB,//?٬?u15\pZ= qa5JJip tYXYIJ5n\;b)V[e{.A9 ?qz&9 ɀQra@)~"QBSkre: wv8;hwk1fBsa Y#$F $#Mk ׬ea^7kD4 Su]S`iGaN2ʪ`a%K؃]ll$ #dLe =3(QR"al4"ZZF1a!(j*<țp kFytiBqBE+P9I{e|叉?(%:s2tYy#VC-R/m3)HG"05 I o,AWVcAuO$-buqgLͤMi*qԺe]`XxҰ"1+.:jE8h qR(}$q|nT8>\<3Wşɟ07q_7_/~v}kr/vS& Z_@wޙ3Npdsq=tL1Utc0r7b'6nbMB.^=og<y8]' [[[Ik.v8mlڜ ;UN36":,F _Hbv|20,J3vc'N0r WrYPI54M⥌b%q(&`P+ t]j[ bZ#EHKۦlǃo2l Z][F1BOA72l]yi L2Ө0/5[6ui [UuM'تqL OV&I#0PM&;{&}"Cq!]2PX r!%Ý]I; dݮ7-B' Dcp BmŒ5bFQ׌uqf/ ZaBajA I( ]Q3J!D[2K-e3*aQ%e]%ij]a=1͋Ygxw(}h *EkH⌡RIFs2|j77ϯʯϟzo_K~~__f}}! @~h4cmmm iq?{6tFsO2nARJVVV([o-eB$A)k-Iܵx8lĢbIi \eB3 FͩVdSp9Tf3C͋v0`L[Ax0hr!.*$kWƿG IǴ *[SORe4n:T'yA*#j!QJa0:qqy>Xm>9b)>MST7' \Zk7΋౜9sJn( i5C1fEV 39ik I$F#eA3M4 3{\svq3=勗#Gt<AȸpW(Hrv.M t4#07Vgx)%~ɥ`8seTIU  ugy{+׏q|ظ~V9RĊEzÜg!"`cTz# r|9FwWy3)P"kCڠ+\4S(&Yo-Rמ s'}TjE(T,ih)947Tr x¤+D1* 4#ns΁D' ChͅKLMhC#kppGwù۱޳="xn$@BQFjd 2VetY澻"(KVkA[ u\YccD۠/?\x(E)=.kf![ڄ$&{ɖ7+X̞R/ƌ3GW=.}*kJ0Kܤ A) |BE]X*WjZZ&rᐫSkAt/8ylNRVVWPJ&eI& ᩧNQm_" ZKg7ȆWi< TpdY`՘R@x\ZF [ l$4_¶;\ۼ \@5*x `ߧzpziJeH_L]cÈ`hv jozmEQԌzv鏞WzL(}ƈ* RڳߝCVցM |kT Zfj$BἌR@HF:v,P8$c&P!&| ~Tu6Ԝ/>v:1yr87>I@QOF;&͍cHh5wB)Ee C<^5_WB~ ZOYH)i4dYFј3sTU5ionٿaLV}̌f9Ο?OYlllt^"řIӧI-VWWEٳgRJΞ=O~rƽ[tȝ}pba~Ɩvq.^?Gh~npc#֟@̮pAӪ`yy`?Z9(~ }oVvT>9|X!oq_kn5vO;;;9㘚x+CTR+6uKLR;ngϡ׸:4c(4M2 *PSvag0`oH(:mڭ&1l_?mO MDq\ $Igb%>=q̓ce YUl6IC)$K ŀ ҋaHnX [ hD+RdU]]9yƘֺ;"dVVeVU`|@w9'bǎ;{_L &vbzZi@*m SB=]Gb꿪b YA@QdUA ]FD=Uzbh7_>(+ {E֊^E6*$Yɸ`%}"yV5V5 !ӕ uF, qN7bgg})R$_|=R|>Y_,N545u'ux d:y}TaD6 gDx)$4(NpYQcv : SD0YM wX%`V$Ωbc?~lڪS@zW^Z*SOۜwgì!>9տWi_of:[oHtJUU;w5A15UUe}%?:?\t#8g$N ;; ٟY?OS,8&cf٧zt?::CD˲4,:pk/OzI_T :xcs%ܹoŋi۟yc nGDQE1v5$ˈT SyBmoby^aLIg{*3>uxΔ&tN)H?uQz=|2Ic49&M) i`H\c|О}t/P SFXK^&f_u>sl Zd!y=nhxQllnhv{DqC7RTmQ%(KCkŅ=gܸuJzGydI*YPRR8@* @QV%u@UT a9Z?ʅw( c3&M֚/ы$tD6:4. YO k-_~V ub6!Ľ@OVEYE_ZC<7/VOOGl=hk10 W}KK[n84 K"?z*QA?'u_+~~i9="~-2?0 yk=ԋ FeL&I~{jв {459ycY㟵c0Dk Gn\ RJt:ƍ<<t/49h4b8ޗ^g k5uu ;̺"i |(VMW5VW4[=.c.>{gÃ#~}wNgSjiL'SBKGFs,͢9WZޓohT)Wю#٧VaʒJi.Ix8cϼ$.M xf-֕(ϯLcP p 0\xȅ֍z]JEf9YYtA{TD|6c¥uޚrf5JA E Rc,Hs)-?"-s^z>ԴuSz*B0J&稅bz!ٌ79̾Z%2sNkgk2[._P>)L3;[gDQEqOH!;|!Ie Zk^xL`<l2LZs50(zqO?!WyE,Iӡ4Mzz~:ax"f??Ȓx+rE0jWJܹs/2:8M.mj3rbI$AB!iUt:QxX ZZupqjV{.۟~/kǃsV֚h֚(H`8$'xA~74,rւݖ!j#$"4Y%JCVXؽ xB;* q=9,[LgjЦT˅?B:Ke ЎH)(PBZile')RH|_cL}}K#c($K*~M,!"nݼŷ~aX j"܍1Ten/B.':ϲᄋ{.X{ozoh[z;J! 0ְ>y'x T੠^+k*N@L_Kh2(d>'n4tݻCZ>AW V@qDwc\~eۗu%T:ZEO~ cVwBo1,)59j-ΣrؔDJ 1qϺx!+}<$sGQkGD۵$}8žR0޿cVuBpnއJdT!j~<)yAdym!?Arptr-l=s P{!)%?Pϓ>b0^|:[ ~IJN t!U=\ӭVJ(ZidpESfr0xx%Pc`|LLL) O ҲDg3v[]s_gvgskTy mAu@&B4M|g6amH/h|8Y}Eiqh4e2chĕx?hu;Dq/6qZSjAFJ* Jaѝ{h]oc dVGi~n '%:$/R6\ͮ5("Zy(b|t #z!{ؾqD9.{-dy R)JIXMBz@5%j*fcͻiUf)kck)VuQ I F.Jr349-J ?ɥ yeE}DvHe wߥxZMj_r6ya5~ﳻ$?W_/SO=/l6cwwxL(X[[[>Ʉ].n !X__fkkKS?.%;w'Z?ʹsr}Ͽ39Ui}$>`>sϭ߿f#~?O~:O=}n޼ cIr/ `ݻw?N3p;Fՠ(V_1IQOl' > >=_|^{FqrO-T/axeӶlƒ0LeY50A@!T$ţk+E6J @qulHBor%vg8UR#skVQ.6f|]z=qc}ksXciZ,uP|B ךiXgɊI r 4h^t2?X?#~sƭ}kPΡ*ˊ( as鬞 $J*ҵhJ{h# |VԼa#KfV5YV0-?! [uN_k1}<))2ݲsq6sh8׻l6g}6O?vҰ 3^u^øD˅sdR#!$w)i9 n*X?eTJIUTxq e!x]Z,|a =RR&[! ypxmyqHr Z- ,Kn7OoQUl =drHs ̏F\tQ^jM!}Hϧ0nF31M4Db݋b `qcJ!TYz uk͹,贯E8vo3Q9a)h4)K,1č(YFZAf(|<ϱ^|\Y UKEhYPfL'mn-K$ؚFǴ-(hۼڷ*(Үק-,z=o\r|2u:r|| ͛7i6/'''~ eYdLш^zv?88wgT_Eu6y??˗ɲN:|gS 5srrBR&U> >}RY-;;;VNǵ۴Z-9t,\__9w!{jbyi~aXa`=0}xs ȫDcݽG49fajCnH k+qq2KQ; 0%62PLJݓ<ؽsՉqB.$}Gyiuk@iB,Ø:cjt|/% M\ͭ+#vL|^8j ?( cj2Y뚰6v ASX>eU-X &c^P+EkҒ78}(t;tU>&Pqu,f̥ }|.SKC&Aviu!'ㅃP/ O54\T(NƆqA"n~03!:Och4;OoMy3< hU5^έ d#NSu8CT;BjͼRP AyF>$94m|;AUtdG-)珵^ތ D>"pA|8 _S(`/n95"+%aE<`atr ש]URⴏ@ QBTDU!`ֲkLsܰi=ɬ K2g$WkprB` x{S vYA`~h!=*M0Ʌ Im0/9Ilm<Ad>lj _tr8*Rq}J!pZQIIZx&o>{#:q K_$))kn1h/%A`=*c> Q^YE߹$hZd|PyQ -2Ʉv{F#ZZs2jR2͈q>`m)` 9"G{n(t1x*G B?&ѣQ)QLxZt;f6+[mc֮>Ej#|Z#\n X)IMY:}BjGy/VPUT7?%TkqB!9/jnР0%0Β–T˜{@ZxSj!gxQ;Xۖ' A#R+Dߑ rܻ˗ow??w%˲U?|_GJ~X^kB.].7o駟J_ϖD/l2hZ={ls+kkk<yyS?Ir{fwRyEQt:pvIӔ,Ν;x!N,A@Eic ׮]9G`0X5"OS6ٌtJנ*UWKdBEDQD͛YJ|F/51RUlll0888 2;;;Xk)˒un߾:wܡ頵L.gx80PA4`SI4z3H33M DJh87JCi4_ЊiZRJJBTGQRM_ZSZ} D{V.8T=9R!BI3 q 2,+ҴUZqF3@@U3%__K&ؗčb Ms )B2tZ BCBem fP Ľ p\m/z><(]4rCLG NΖ g(|""^Jv$g*$Ce7"͚qYªV@ _ml~Z ;5{/PQ 1Mqeu݉&+̒N3y}2fQ S[$|h_@`DvaEM6?$#vT2оZůn4F5cOVudMS庞X^kUBWbZ!$} g1N2J*2Xڲ*OTt{])| >֭[lmmq/oͿZWzRe$GOruZ$W$Zk9ۿ͏؏l6a˛oIUU矩?H) Ȓ,4Kpd2nk|:UiJ"Gՠ,,F$IVua}}7o־ 2I4/g~g׾_z%ڷlH)pRJ(⩧B)ŵkVgDGYVUZVVGhaa,ãCD"-0عt|A %E3Nb* $rpJؿA":l5#PqAXIkWg 8zmjox_{g)MEnJ SEX,O{݊P{(juzMX{Lf>I1{XgGJ*Dg7V[KQXSn]z|c:Kh4"h(%9nEVB)iQ%fn!Q2cgCǿΎ}נMr|n HGy>QommQ {\v.֖L]Qwfc Ҕd=^u~E>Zqӊp3An2FZ8yl.~\i̝n2 F*`Gy~P-JoZjӖlPX1(HVUޭ}tNpZ}6Cl(;N\_4Q(J!IJPYCYT bR+[^u >x#oBq9o\عYj6(n; *U4KGynd5gpbY#oql3h'{TUyh4>dQUAK|Խv6ݻjX zp5Ν;=,K*zXmwcq6 eQK'abmα}(nļkF0|FNGT2JTmqPZ"@ EZ<+P:}&9q#FJ4m=zyBUsQ_"#IZ@S4X^'ra,7PNՓeo!Ǘ&5eaQZHʲb}-)p(y?ou] :uknEvd kUQO:ZlVbXG03 [0,+@&D$GKE9r@o#u4-Vdvsm޽qќ7kkq||=p ZaRV48('8F8'-_9 I?#B: #qRJd3: D\/\V`sdu?؎}DՏg8\ 2T%"sV# ?PB}M C߇.ބiY` VIfujZbTO?p,G.1[դ}*\oqzb618Ip0+p^C}IpˋuB;H),/jnJ8çA,јIu*knĹ>o[yru[4׶[d12?ܣP?Bb|:ovBվ,BlA>D+m5OĈXR;BbOgO<ͥ+Ayb$%HfHܼ@*G!׊iZܸ5C^x"Z)?b:EQ>RyLGhm1~'#GY昪 -~`{{!Inɔ^(8ʲIFZrV{!.NkjrfC(K^^_t`:*rmIBiJÓ 's^nd:e8@)Rk4cI܈<$Duye)- Lԃt1R!Fֳ=$ .[IY+]dH!i^is|EQH6?3?￿ g쟱RCʞҥK| +CeTUŕ+W׾vԙs9Poz ΢$I8::"'zXګ, ֥Z>MOTnݺŹs5Abqr0*bi{lJ)zLSʲdggNNNxw~A_?]5tz/Z !6)Ga@2/*aS1BxͫLR5&^sP NQG~͸H JI& B*Z:tz=#ZIߧ( ÌyRd%A%%&ZBKED`>NX!\ْm", [Yp Q۞4-Tka4[}Lx;g [ln _EqEѢmdIlsg\gV xR09ɥDoW/.1y DF!R+iŠ- %!+4|:)di0E_BXG9BHXrbB;PCpO;#mLj&Iay! XUT\9.x8έo>$c9rU$5O &2qr6P3K˗LgT{opYNc+1;_]~fp7ZTYB&C_cIȧ#5HYkBL3"]Wk\|Fl{ L$ GŘvnV'B}4I![[kmv/q)x9A [u@9p0vq>01I5֊Y :_),}]HEC:ZXrqO$EK#FVߺ IaKh8%Уn*IPEVx^%gr(]<5s]~vaPJʂ 4IIk/#^'R;a?+`*G:b a8W0$Z]SWU,iIJӐ>`-,7RZ*GIJKWg`ץ\|YsJO\֏XC")HTBЪ gVI:Qt#NkXW/c+ UpD4qK!8*N5Z!E[F~gKExoڀw٧2hwhz1xBcʒbAlmm믿l6ŋW} )%Ij8<^|E XY>>?3?CyB/2·,h+sm^~WԂ<9miZi6I%5HkM5h<tB|kВ$&bǏ~ģDX(z/',NNN(˒/_W^\RH)9::b}}}uf'6MvZI,ɲb$ZjڠK#V̧iݭsl7#T%YDMHS14}tjT9OQYo"͉_HU. ʜTLӄyc{},'|ʪTJUp{)MH8ȫvDe 0~.pi}z[[$s9CDqʢB窚vf, Zl}cQV 1_:gkjr@!hV IN7),x8kjoy5_@4FSZ|b{{N7l??qSTCvzPUIag+4Y8U Nz1h-ړ\$̒-hNb9(*WLdDXyYp[YpvZ4$eVB}h>OXkyͷ)NhTYuc/%[4u5_< zb=D{{XVE-jr* B֕:\C/ г(%^B=MWX$XQY,N)DU1wQa*'!Ias<ɐ3K~]LYksSLONs[[T*k@Ug e:-[x:ٺYCAa.M*03Jb"J|\N cEOH\U7z+٬ Yn ,iJX̒ߜA Y^$EoN@,ER_5$Ycly b Tbe%o*SwxTx1Ã#VN}vM?hsx=EU*%ivcҬ pRP87U|>rQd56"}J*sو:C GUcRNi\>GeRZ< e(`-2g_A#.D== D,9CnPYk~ (QӻG2jU XkZ9gcY5*SRHd's|3[q̘90m ]ykO;mǴ-:.Qˏ\ɍhi@@Z#F{ ń09;c2>v#I 0i$s,rʢ /K<Ёpu0dC"8wn`23v Ȳ=w\vmP]*f5QL&\xq_j2H(/]Yc8r yA@4MvvvxW̄,W~Wx# ò, %a}qk-/_o>KY5Ο?Of89w^{ k׮q||Lyh Zb998i+"?TR%y3Lh4e}V!擱4>ٌ,WD': !5e)8VLٰ͔#FLJc3¡?J&iglo|g>\]KZxuUJam1cH0=$hNd6#5)G\MYU8Q'6d}ԾQT R S%#e}b@fLe92TXBުRF#:e]G#6'FD{5Qh69w߿͏|vY_pqekkW^}5.]s ?t2++ ͭsu|sXk̋5'?97;'Gk( /7?eFfZ)jAi ʧ(Co :!IDCVkO~7P&L)p, [lNi z[ u P&+DQJ )[ȬLJ hf>%%hZTHcO6"JiF[!-xOi2ã [O_DE1͵: HzV9z:G]%O 6A*vo ꅄWJ# #v^BiHOep2%qTd2IiSSRZ؂rSQ`\95ef3(&-46%U7XS{/sY˛7#GU$u}W^y-^|E^Jc(x|>jZkz+=g>?HaꬨXN4eMB{ym@c &zW8i2 }Bf4RsP-%RHLQ*)ZE/\49!RҊ,-LWa2b %BjV<TSz hӫV/Iw8CY>W.+\5\%*Puic Z)<Y^nPG_j!|Ox~pƀhV( qJ Zt7{ZP$%M3Fx&MjqƦ((ToX7% \Lh (N Ynh7xHyB1Evvm6hnv!uش (|1 859YmP-<7Ҁ,KNNfm4JVQ΅$2)UYI[/ZfP&xҒ5З%kⲌ,Kh; S:pBpl%M6y2"B2$NQϭﳿ; ,τ16/{nsM~mV|d2ammm:4M)$Iy&7od}}}VJG%܆灏AjÂy]U*|Q́eyOjOoc9͵ =[|!jSי( g-1l0Mhmf3CeO v'Gs7Šn\2heɂ)*Qjq?QǼ* ,CHA2HA<]X:5hFlGH%ʂi 񴮕݀p_)(00&PU$PY —vfjūrα6 Q6kט "Hӌy͸dc&4uJMVpbA׮a@|%zdFa ,A9d:'/K(EY­0g7 0猃.kWX3q_pyO+FV*!N3cWHVewnꮘ!v2GEG<_d38f8E c-!*Ȋ f8#  Re6J/OZ=Ub:$)R)FT}v,Icj'idf\*ĔDZF/(f/&/d~7m0;`*0$92q)#&Ū[2և{NC,[leQ}XiGnI-OgB)B8Z^HC!p^or᥯uz<{M_\'A5C#j$ mلM<`]AVyc]X@sKvcmPTV''C^D&,8T7 @*T X_d~g2j) k%UU 5q죵OB}kړ~HLRFD%cn'MyP>Bhluy(^Hpƹ;rrrQ4㘨D(Vh di hH&SFLso6m3{>7o'g/!9 趹#?օgR)t=IlfW.6ެ?qbij?yO)<4UelI "GxYUz)9S:'B#e3)˚nWc}8Ēo|8<5#)"Z;0foo,y嗙NVŭ[TU͛7k_O)o|X)\f[[[c8/Xci׿]$I8}>`5 \Z>9FV )%EQ}o}[_ՠ平AnwE?XZ6 RA@Ql"~8Ht}6JWA`ɜ( BjG'L*47`cZ̵1k]޿sD2'<LX׶A"XJh돱2RIRX<5R||yPޟ}-pEXjUvN$Pՙ8)U1>OR {7yie?xK1I&R ͈1ݝ5P͕DžύYżU;×K$ջ2Ô%YYZ ob\8EҠբ#$LJ̏i 6#^.R)t4Hx=6jG,bČEN({_(מ#n6li+7Pm_;ݸ =I,v5v(7aOK/^#+,9_%)HAU:hɐm֞}2tʔLUL)j54<*5(FɪzšD QQ(\Yg??g?VE$a]~;;<Ϲqoifɍ7ַ!B樂\v~k-ׯ_g8[ojxhߓFeݿwSOƛoɭ[V*<33Ϭ7|(ɟINNNx"Gk3r&ҒjUT|څ B0 ̒;6JulnG#c=QVsL3s4~Agdy~}xdcrc:`([l:×%DžeA>Oe) T*49v4EbV+@D.1eE BhŨ4\[ 4CzDQDU`* k !tI3ڽ.d44yWK\} =dD|As/!ǿAЊ6&1TR-e4Ast=b p[1 JWaF.zcMM/v|D˘Cj*0q/O?|X9~'~:C 7~7VO<ֲ3=C߰=y"M55+ VnW#Ċ0?6`N v رs ]7}s#_ȖX==sUudȢDHZZ{w}>N&KKk̛mjܼy_~߃󦁞WRMVj?1c .]b6668s y/Ϟ=wC@E a[\zO)kytʹs}6KKK sww0 e VN7n1/^__ _W\cB,--qS||F|&OƠVEF f^4Hs{_=I k<`N\}'&AZ|ߧSfZx3x^U;Wϫ]*n:by9 Ҩ; y Gj D*cJ0b}Ӿ!$M3°)3LɊb eYin)f]A!-0h! e9 |m\8>NZa~lEF=(g"S3Z}άH丠jSV"vPW#?@,JnLST#d\ BTHTO#dآ,@TQW =B,ɒ؟B,~*,1Aǫ|WYN\%CV$e2M_y2|%,yy#C4e<Uwܣ^J)<>SL 82X z ca:r0ov8ץJ 'Vg6 D8+9J H%B)>qMH 28& ?0uqapt- d'7۽ϽrKp/Iq˫>h'>V BC:. 㪈, RQE/ٜdDZRQwPx@qr) ^şћb 4R3p,K V8%4[u 㢤h H&lRmM5dQRdq.j9hpɽ:nì#JLH!Ƣ \yx4e8qk&~34W1cb ~g_)%?3?_~fd/}K(>Hfs*{{{$IL-Kʲd7nƅ >^/3'#VWWڢn8Qd8|K.h4ԧ>5S3泟,B!EQ1cCvsF+«JiJ\r_pC"!g}f8䧱y/'[]]%s:?YB,[X TI JLӅo1tJ'"GA}7I{q/]lj|3 bPV}(zd .+++/ye[q@X锈dc=,תtU7}χژIa2]/Xs܊ J # +*cbK!f$,jVD5{]$cms-dqyyFcEIt1fthy۬ܿ}( Bϑ^93hV(!ff#D32=r)45V,J#B!e,bRef8M Cc$Zhǡ4$I*YjО$E!V8vN&e2Y$ |`!+ + yQ(d9* Ξ;,q5v1\NbsB9_~.=lg%C@9ī8Gcߦ ⸚OuWx_ͯ߿[(8ӣ#&Y%.} +_pUXcol<{7npױe,Q5aŋk@9Ri-vS$dV9J&c kRST);%wYv_@Q&Ϟѓsg/ çFA$|;!O?L ~c?nXk;w=_h@,pppoVy౶J)VWWJ ̕eL&H)Nk\~}qqjZk|<(Z(az=0< R*˗s70PJ?\r~O<LJhDz,dfe{k'@QV,888xyԱ4FBWrUDh9>>f<3N{GŠy*˒E( @wF1hdA',8q;?N\P9%?%3{\Ϟ$Q" <\jܚ9 ),Zmh҂1+%]]KiTk %uLhf-Q qJO3&$Iek# ncS%Q1R ɝ[yq[oh0e<.x7LbnujwpT !$~E;kx,Bi z%.. ꟭TJ0x/=n0^ބĴ_coo1vol-1}瀚qYXS%y:Q-%aI B(10c˝cYaYT%gV (%"'eE,ƬF c 辮!%;fJZai0I1$Ӕ,)Y[_#ϠBd8CYTv18!fGi n萏K${KYw4$R>c&FawD&Xas4Ić:K%I3G'fNx^A;>Ʉdtn]q2ee,Y')1l94Mh6Ͽp}&)r77+4Zr|GKtЎ^_(NJ3 }(xcz 'sxwr`n;9 ogb*hUz%XŔx`$5 R\ 5O#(Scz"RKASAlDZ&R.XTǣ)@YdɌzeZ<TA`5ugqxŕ?q9V;3E YKLiQW.Ɔ"Z!Zc<#KK뢽JtioZ$O$Fމ=W[hvTU?Xʚ``+ `KY0}OCXzsmv?k ZuGOeQC!%K˄`;#+,q|w">uR@HEmuetUδ~kGO!H8 $.5BsF(CFܿw,ä _Ν},l5YZkq|Hx̰q|æ>Z +Y>%KF;;Ŕ0a:7`<*HӔV+QRjL'S,geu<bUr/3iB',))gI4QM|"e>A5d:e}s.hK39/tJ|f ?9= |lr%_~-5R6.\_"3/t4 @{"‚5Ǵ ΐxVӹIawH3 n nLC>'ĔU2C| N-?oOO?QAE7d??{g|+7_(˒7o^x+ U9WXRk?i4 um  X^^^4L&/. s\y\~3g|< 9 fe:r5677YYYAAys5><~W .oyH)IӔdBr޽{,//?6ssMz5'7zcȞ? O:4(z^RJºuEt_)%Zk X$BDG-0 c0Ztڒ,;$>R^Zrmesefi:NޜNvZ B J<<޹} Vdf;#LgW5e==1Oq'cWY?F6#b!55Hδ| GB'DFlI;M5lr#!iՌIihޔqܲUݽ5)EeCN"J(R ]VYA2Nqf*bxW!['Xe[]~ĹY[%L|2}`,FK((mA?:>&Xޗ^yfq' pCGV/\B$1VM*Ai ) +hlV '}¥U"ws_ɡ[#zEjKHFc&YNc} yBO:wA:.B ",-4 Ľ#¥UZ%h3v)˒~E8R].:IҌ+/PBa]:Zlnqpost2MXV׸}a9.$Jj D#iavg1,$6fna ZA Ybpp N 7 9s,n5BMIr6{{{x ZMnq{$d2au瞿DI Cy~ET`I͵??CsyÛoS[[. kR +"%- Y¨LH Zݔ$ϑ@xp$DnvAֵ|juL,s9zd._;L)\|dϣ\"quY<>x(˒}kگoM~0 ?p$j,,ϟfGZ˫+++\v 666jn3D|p]\վB 1qSיL&q||7nx~Nyq'Vq^JY r`0͛?fDy%xLm^y?duuua$x7Es||PNⓇwV%&N8lN~B?~OO]rà,K8&IsqPEdB$ufΉ듘_vM_$zO, 4 <{&ɲ 5t>Zm9+ *zdRp8 %3Ak VJ,ginթEf9`-#Q 9Y]nt2fT0^ Z1\$N ~SNe[`3i0d@T`@i-4()YYm#`0ceuCT]9i\)1;8dg{s8 j,5%AGa=:Vf$y4өӬD㜈Avr(KT%Ʀ1R [ax*K)!Q!ΧmzD[MWp=X߅q dO9YBV]=x[@YZl64a^Ë@ɒxu;YT.{RP2|?=![hW"^`>Wէӌ6\=pBXlVU<@:K.Ev߿Tê~+E( 4AiM /!}\cfW\xEFΝ\|[09tq6`gsBǃxS SF@ (F,5}ljae W"_[L'Lϣ"MpS";w_%7n?Ǚ3g>=Ij5_ |e:~l,/~lnn?<55oao߾MQ9s({9Y5WBa>|p]fݻw{ίUB ʕ+|ߧ̿nx<=1ך&nckܻwqXYYPGFch4h 3Zm;q])yF#ǝw?t8::XUq#|*~{(b<cY$6)^=\ܹsƏAsZE݉S|2QZ#)g; HK$EYWҚ$ |ϫ()ViOsǚ0)c:NIlF$b@QV-r&y)A6Je$7)dIi:ĨϵX#4uB0bI8e0ns@Eњ2qzRbw"NR)W][!֘4fWH)h6Wy.EQRE` bf̷h@\)Zvj=hLiNnݺOr,VYL'1ɔZp]!-3Ʉp:(!q%RTkU%+k^DZ >hl>/mhF8BJA0X uO% /]SX &n)gÜHKꡃdRwuc@ewp4Tx[k1U-ڄ% \W< B]E2-) 3up7K#1;?ZMpy08>asSm\UE ΃#0yIww)xtU( L0LrjaLQBQd #=ϣW_1zK14*ȴߨQ[dq%KM~[k({N`|f(r:%d' vE/{8a:(%ଵ!A{&wӛP"12A^?bX&Էtwwƫ\v~S7pw=AݥZf:ͩ 1&M |ߢb{kF-D;. T Y~w^E^(!I&%5xJa %F &HIa`d0=wp: PZ1IG o묝DT˂pd4Kir\gtT<$M =u]gPR{l\N~f^}'O*/59wׯ_gZ1Db|qg?gHӔΝ̙3ux x 6QBeLSY(gVoooR?ktJ^_T6<깘o7'{(Z?- ?ڇ}Mݳj.*D]?W?*y6~~q?'mi0 F^guuua}Si6$œƠ0  O݌x'Qs:ALr"OuE̖j+,1(G5<1Bc?."ZșGoШThےt(l_R'9Jf* h68;ŔwMB/H-N]h4DIEYXhkakg,u%LD`Xy%3ZHx@YI+NvPIV0PF( 88>APYi1[;CRYzG٠ {,Gx9 Gc0@ 5ѤiFz#Ȳ,/4xg,ij D+`iEYC,RNMHx}۴[KN 3`8.FITI (yʧyX~O'sS%Ō0:e0")&a=./F;xi+!d#cӜ7BuSZUr5ZfQeZ >5]#CrKwB \Q# V1(*ӦG%e34v ǝɾkp5͖̃* xBYUj~^E:#,Ϩy9q%;[ Moy6X; %e^eRpl (/qe ֬,|$ư5Gj0Um|'vJ}2 @-oy\Ze'})x{2&ɦ#|gtpH;.x;%92¥ULQP$1]jkۨ\4Zk8 3LhUSKi,qa6xR3IQ^P[o#}vw+(to299a8Шi/5t^jd,h'c{dY5?p( )ZIeQ)t@;yJ4O&d#fO}`-/籦k4& |&wn6H}sN-N˴0TҢ02^#j1W0 bq>D*I^cئ49R*,^k7>@4c\8Xiʛo_+0 3w]sBVv__?KA`f0EZ(d$z*,AR*E3WßRm^ H?3Zk._w]<_]=}6Ʉ^{Rjq~mVWWq* ҥK)>+0 |EȜ?&G·lCQOd~<`@ u<= Xx?Ay" Ia+Td^=t~6GGGc5.\`8RGGGܺu/zda{{,?x0:)(uX,yNCJCp0-Hg${52t<™PK]lJ^ ,*h(鎃\0 pw@`,K1i.8uFM#sV.s%li:x $r霝yWg+`c PH񠇆3hTTj,Q3lj 8dJV5PR2x`!/*gǩ \G3OPZq,?Qi#D- C NS.ʜ!]q ]oa?bkkވw<G>Kߠۭkomj f4Mi6[s[tWɳo]&!S1)`DUN)T-.,[qN+5xdYL&9Zn$.Vpm Ik5Z>3*u4Ǔ\5SxQtHϣsab$ՠ4X 8`]!( q]{']2NЎݪ!y!5IbMjL&Ƅd2JVE4-H5kR ~k %jko{څ3,%WB++X Q! :w.;/j7}|*--4Lb5XL^{-^fys[N&q )n"op|BU521FY9>βGR֫+'xLPsͥ$".,՚ :&b^Ix?8}7~?g>i?ǹq 糀__YZZZ40VK/t:e2p}& ϟlQxRJ\%˲H^>0 d?XUꜬ{1ݼyVZfӚ/O;w/… ,//3" oݺoo6J 'y,zv,7x&,H2x~5Z^Gy"`0<0\Z-| _؏Ʉ,w.]V-bH4M9ſOVp<iU4f04fqiFJ\$tXX<3lsAyNR>Y>$2ZA=hR WzQy;ڥ)2( ސ\%/F!^UƆ"/J`AI;dummLfhE5BQSM ,DEϞ3E*pJWh  JhY#" -888뢴" Әes{V8GgdEp8զ7(3K{wc׻ƙq)4]<U+Zr%Yf3ɤ!f`Udg`jU$0X DhrL #|zu$ysq8EbhG5bSڒsUo!*}K2M)aw>6V5h9S)eb &8:q4 (&D!K[TlW0d ]xz!PGm}wD;&\^c9zkSn5/?\7p@c}p|}Z(ѢطȔ'4F2,x̵eihX'E.q_Yoibp`H6%VW ju#2CE;o$}^g3I J:L )ТB퀵ATi00L?a=|Wj K䁋cKv0d|X[YZ]C*MUZ/}Nիe =k_3So^ps}lӜǏ~ŋ Uh)pȗ%Μ9BW%׮]Cz,sPZFo !Y-l{67ֲA@57}IrF\|yao+!dȹ+_ o/_q߿+w~wŜ,,˒fs꤭a2j>08T\1^/78sCwǠÿ̛hcvm!IEcVC1eY5ewww?>>f2,p$S4! }WR%tJ =WWqMW0uE(oz-T1Ċ?sReeZb9y^e766´2.3=S4ΐJ/omEPuC.m. waNW7*/i?'&%`gEH  ($tC23$eJp$ɅuHӄ^2+r&I\( ΥA%cx Vƴ:i^XZ)<ϣ2^C޼Co\p`3LGȢDX4Z,q=;?p!ZK3='\^_s:{ԼaQ޵Py9$)#s0S$E7+ۛ'AR酒ޕRbLf-,ͲY"Sg:Xxc2VՕ{cd!h8ێp.\_ ܧR_YY_aп4QǭaL1i $$Ix<="c2u#XJR~RJnxGjX Pypu1x~QfYD5 1QkQٔ7.sp<LmA8h%-i{WX1}4$,M(ʒ8bEK$*ZV$i_$)`*sO+kapnn(Zx6!vOb&48r/P.J-cL(e1a1,]ۦ9hq'_$\lJ#A+Qk !$y2&$} ) wˏM677ygF(3mǰ{Q 99v,/W„r|oN$moos-GaƘ{RTyPo*v7\rgrxxիWY]]… i=qsO}z7x_| nܸh`S?SyN$|_ƍaoo?gC᫯ٳg+Uǡ,K)e(|A]rea}ZL$dǡjs?s˗eXZZb{{v0,]c 뢵&24=~< MS,@yuH9@x1Ha`0<68%N68c,b>2ͫ ||h4RPq67{?(X__gkk#Μ9Ûo*ʲ\*OakGyeb43@΄r֤UP'MP΀\Y/J$^bӉ ZKJ[P%U?CTD&AUؙ44Zcr4{((f㬾f66 U ɋ$&}{=v=/)rà7bc{)0e=l&jh4[()9CYn߼ 1B@gYB-g׶:9hmԋ;|۷oe:+uVqR"K4x>t*!%U<BiHhS K!hz ՝2N,}с`J|A(Is 57]:UʋLR[mJβ6i8Gqz泞N3_/k.'-M?9 0O`yWH1j#-.2EB 4qa (,-Fe`@s6yԾGkA,,q=^=#I3Z&=0=Ghx:!jY$tBP[]g{S为'puBfrc;$g`ح5DuL39ܫѣUsH@\)ʔi9%6ƱKRsGo*TܣJE9J{k6ؒS : Ir8;^ qp z}:.nx/>A! IFyAcʂ pPzN rn10$:,1QEKE9RjФiN"H)P!I l^< ~'R4LtKtwo@[4ᘄ"p/q8@y#%GQZG+M{6H_D;v/x.UzTJ8NRl6*LHn.gO9skt"Jcpa )RT1e( E#'5 Q 66M)h))s24vS!'K_=cɈ=SU_E\;kI֭[ܽ{z?yT=,0 $ZşbmD\reAQy*X___8={p]>^,E׹|2ۧD'I[|J$م4OYtSU2'pIw1h<3LX^^ٳlmmqxxlmm1u:?g P< r~~WpE {b"]r_|DAԡ8PJ/Z!lrtgjg+$,p0ܽ{Dgi,NHf2DMJ\ 4SQ4K\)Tư?d#,)*ȔRx3KJ`OO p9R&YBX cp8A0zTkH!wIF<҄a,| k50Z]t'LGEYTԕO{لc$yVR)rZ-ެzg؏I҂wظsA`?x~\pn+,sʌ18 fmߠjix$@8۞W;ht:xZqt>xet4btjjโ; \bGEY0 (Iӄ(hwPrX^YbeyޠˆXD4C%jne]UU $N$"Rt6pc:p(c<j4dL&v4ސ8e|RQ;ï>_~oZ3Ls;[oůO$RJ.ַ͛XkY]]*K/DhǭA͛7}!C)6sU.^Aׯ J8 %cdB , y"`NϓeYIi}}C?Cm{r(xR2{..]ŋdY|[_hɟI_N$.|9)VՏkRt`0[V(T%5~LӅAA`yyy@r4Myؠl"kqn޼ brzZ,K>A|sx1= TI;Yky1y4tt"Io~s\T1H)FJOO,^H&KT1EQtvlnn3kt~gQyU[[RK3LP:?[ &shcLr޸zU5hk'eOg]vh2׉.(-pz3"3$Ch4"$sL }88RS}:tL2ʱdumҎ()fZ4![Iv ba@YJΓ%igm'm[ ZHQܼ~HQxTlBĜ[Z[f8J>ųG"pʒVIV!*"785[V'`oX2%(,hgF< bI0)VXf0!CxHQz179|9#ƽ Q3 2"+Jx `I c;ʙ{QQAJٛ௭aYreP) C~l^""燴`JubX,~)hd?XI"D*^U*`E` aQǝQA  ,$lomT0),™ⓋkEu+#upA<%kجEu߿T, X3ޥ2ԼMY#c=e-u/Rj4G/{.)%=Jǔ ]ǔO1o~my; l=w'.9Qq)JqAB8h-#n߹KY@& dԛ:#ȋ,(c Rp8盯mḲOL׏bFiIXk)qB p)E2"DU FfB5ɄVK\|GځIbYex:zIdzp ۷FݡTq^V19e2e Ey yu:HbKX"`:4MxG{#s g!Y~?ًKزp) hhHr GdJ1)OYYU) 4 AѨ< x޽Ob$+2AYbj[m4Rzq_QkL%иDPsߏNZ|s /9::zⓍ5+Z<ϣ^<>=iwcItakrvs1|T j\ C^5u$Ơ?N`~&1m??gl2g}}5 I,l\dĠ'( Y 6i#y@*(AaYS3|yl cQ"hiXOIz8 BؙыUjZa,NYZujLSi:i +/usp<VUEYx* dL" |tJYC UfNYc) RhsN*T* :u>;ZSVV,wڴҗzHvB/`57?n;wR08s$D9!4ʧ,Ez0!&eJwGde5yy>XH#Ʉ2 } :i=ljxc 4KCqe  €$MI,M9yfĄAq)QS12vNA@$,ɒD3v:4;2@Xt³X]QSwVSᝍ$ID9lus?s9swO=x>no|)%g)__ӟ4gR.ŬhnpKYǭ&qNͷ3f2_ɓ={FA 򍒞aڵks9ϗeIq8׃fIYAse[knê$I(7_Sb.Lh_ ][UlJȣ]5O0'v f'LKm c]ʢq8(*[ Yk,$,+q! O8¥LKX33!NQđVSdE'N.dyA"/ D*ɋX,x:EnǙS]@uk4y8:LN i-B `03Ri`h \M@IR U_-vو}8WΩ 08%96k,WBJ%FN6&ֆH{Bx-Q-g-i,7 !*JCbH p!g>&f0>f~2 0)xuuC]%GSfLI]r@:enXe9KRyIfGJ z^BQN>/p @sKwv8sx94d@YaS a_$DœH(!wꖞRC!ˑUJ19#wj ro ;Mw] [ )XK܎pZTupbԌlฯ\O7.`g~Anȵ,WSE` x1\,nPc IO)F;|{mnr2h =rNA~E%ZZ{V7/nL1QoYDGH])XnIť/`L T$eUP>]*'"UNstZ-LCly;\~`$퐕m.oЍ#Tiea&cȋ)ͦ&i2eoopX1j@W)cg gz%4>_v(Z`7XeH˸q̛XUw÷{SSʷ|eFO8GUU$i}f˞fTjae-_aE5S6ز"(j,Oa)~3S0Z#qPCJWt4.S iU2)2&TZ3Sbǧ4 A YAhFϦbQr9B8ܸPao7:bm1ǜ|&fɏ0L3NUUH|#8{,O?4Ny֚}s|_W_1gᝅy?\r^ \t(R&せw<<1߫9h>?CǼ dU5Mooկ~__AAncv3}xFiQ%nka%(!\0EN!q){-Z;f72{,7 < XPRH| %t( cjR lIJMUjix`- Q 1Q,*2i-~KK*,u*@Z.`xn6̺B4Aʘ}H`yRc Rﳔ!+!:X{}$% fkgʃb{gf#d4.(ih5Y:)I%EN9Nh˱dg|6Yevr0km99Û{[V6ER`{Pz(6/j&='.X u%5BD CnM1ي\ p& p6$IvZJIC3㭪bqF\-[bK<04/]LD4M)k-q#^//s6M!JXԽBd&BA(UH\;nwػ7Gc)ڙ*8۩ק%b2SÛYj)2e֢/n jub{mU/y¥}(C(pU K ^܄Cl5Z` m]U\ՠTf1ri >B(tAQfAi42%*Kq@ Rj7(rRuRk]x} LH` i42dpgXχZd>T 18*)LEy\pBYPcotx>4@7zVxjOh;y4P ݎԟ~7o.^ŋY^^&"\Ÿs[as✌2,M߉hZqﳾγ> pnG?ѻA>|O<ٳg^J)Ν;>>qi}!Ŏd}}}y+v#]Fۿ͇>!~7~5̃55SƜDxB`iZk^~eXZZZX?oNͼ2SȲlQ0xtP|#9sfqt:4eoouA3gxꩧda:Et:%I#FdYCJpՍ5H ()q)goEGU^I.4f9kuRU 9s ֒gAE39Ls q+ \qʊ8E92/qZ֝i^x4n@,8*:dYr$pȋJWH-B'1NȲtQl ,ӧOb1)p!6|%I3CQEh bu~EGCY_f]zJYvׯ\QŴdG#Vz=THpK%4FגڮF ~Hk`0<3^2-h#Lo~VwvÉ0L42È.qMtJH)&aI#^)"VB=k;$k-M^KFV -dmyf ;w'B T; &1s(}w>YuZ#,@ ٶ'I.q_ P$8"OKോu :Dƿ.2ꫩxFTtt 54#/r6DAAJ%[ Gc~Sي*-Y9++K4WGlU[l9  0~tCpgZ4e^+#s"JTI0m$i #5,P^E)尛i.8%=*6F'~H#t\ZBP+kLwl] #0bxrfGi'}w>G32cDAg<^c-jsiSីo<恇K/yE8`{)z~dP[^P\C9xn<nG@N4>F)|pޣQo* [>a`Bv0.W8)ܲ}0f4٤OE+[>غExVqMQ_,s6s?eV0?XI#n~ev 4Z.AvpzI *ڰ(NAinI:Íyny b{<0|G~X]]e<3Lߗ/_'s qʲX#˲;m1Ju*`t:9v;;;4V5Z{10s/O >ׯ__x QP8qc V<ϙNE:{{{`$I>8<#T.y8_p˝F#^~u`@$m<[ꎤ; 4K_/=V<=m1ϭKx9|~gSTUF'0ouG /+kvT߭8+ V!aPVD,wкY*2bt(`Q $eNɋ8vEIҌn7.S; z#&+K˜J[4,J6@CAG{EIxKxA(AF(6H⸒c:3%C<2ЕƏ;YʙF[YKYY֐H uJ:9*Y5U Ba( 1Wpi! ϣX{?JPd4O0ٹN15RR<%A:q'Yi'?I/dsqu_NEXk?_Wq]}1DQO; Z+ͯEl+(q666h1λ ~/!Q-ךA4x7,aAԧ裏pI&[wy<#mMj;ZP-@ [`9dEVTYj(Q7)Kq eUQ51^pJ2hc:(W!XKYUH5>TeE4do8`w{t'S0DY6h6|\%9]hԵ]>YuX(%)x\[[KAx`MJY@EQ*x^(');}^:RG> QӌC S2JMDgq0JUZLEE:LpޟbuBB^xJqklln\JWE"Y[u*BO3wq]cRjbeeV[h4(JV7p`gّGk9E|Q![\Z87MqPZc_s]8psQS21IS=! 4f$EZBa uJj-^ xRiK(ng1s1{X *}@~fna3+i_"*].Ct8[)y#O:騙ļ(Ν=]=.UQ!P  tD Yx:5%!{KLuRH+Y`*Ujւ3S[H nEee2JVRbmm bA늼*ILɰL1mG[+)>Ӝ=) ]~]BJ $hu]d>vOsARpٙ|kEJHA Y;3S2`Tt;<f[#kqD č0hMIfg{h4[1tG@ .mJ3eX˱ug=Ze`w{i2$&,RI`wg}5qD nG>pp}sPVpkq*pt1) h-~y;m'>L:BN7I1O:\6 &Sa9h~m&H0[Q\|fI٤nDi s{1բ>f ?3& IZdz=pk k-'N 㛊KKKxw3ϼbyyu Ðלn=B܆vw;L8uřraYx;`{Z|6T&>e\rhSdep:!I x^k,,5JTc8V0R+5H%ٟ1ʰkQR ]}H,~Tm eY(66'|8菨*3d,:]F[ ( 3>mɔnYvMo@2MINf!8bm} P*kv!&/Ӓl9ʱ:/^f4ѤӔ,/ωJaGͯ-%!A>'8TQiKO2 <f"c X{Xk(, n=l*n2ͪ:=20o%¯oMeB"lU.AAq0\t]Lqn"`M3r- R`˥`}0B E9ǢBJ\X+> TZ9>ǭË<| w_9^ka: nHxa3n@9aQRh,2tcH,/rD`%\nS}0& r։dtו%s!XcQ"8BN$[6TRWVz#EƻZ7Qv% Bl4# p\P jxt5"5o6V=_ bp7mu!p{ O|(j0Άx.lef-9Yço^)[vO%6`5ҐWSq X2e0,Hc-A8sVG1h6bBH0LYYG|YZrv_Ng@oySn!1xK!tQI4Lrg _ Rllt EJppk@omVc$&e+CW  @1i x8"%A8 11Gsл?7) WS !?/??/??xK[UW^ 蓟$UU-Do7NY[{0? ̏|\#vaP7G?{^><7]|>,vӧO^>p]_xQK:uj#|qŵzh4v 0(E!¼@TUш(jn&vc}dBE9haii} `t:Z0[ c YY^^~EkA>(닂̝0 ><͋F3g­<9qi߼N=wGxcW'nnteU`5'X^nӌ|Q};H%X_Q9~v#*g9L倘*Fk4IWt?½Wk-*d3BZ˒Eo-V*WQK)9 JMe,kBBI َу BhFR" knf<()Qb MsBxkP  s͒0?MsU+á^RUQnKܚd?\P3|VdB>P {i YOzUq< 4i5%rB2 3 וL[U"!YR%9!4q+"8BBJh{*kB`.\{yFW<#ZZAۜY+ LePRY֔Vs%l:CZX,*Ǫ1#DG1n!nw#~cB.2ݹ*xy*I9u<ڻ_ 4VVs8C&b۽ᵯܗX5Y:A*K gbVLm\KcV>5ۦAO7ҊxL:.i:lSF@ex NdK4!Q!vut\Re<wXüVW % kEns鱗J T9m*}7U.JcJ䮒UJ^e:E-8[Fs%X(oU g̟a{{tOOAy~ZzLӔ(Hc Fcp)As黅q9.\ .]b4-9x*irh4 Ug٤3 PJq}Qbsq{;yTUun5EQ|"Ï+V/| x< `4(e"dyy5UUh4yFѠj- Ls<)5ykQuWJ Cň[1DQ(4W&åw!%coa0ܤȏUß;Ƒ-2GY3j4|\/g)u&hcUSюr,ࢤKOV6X"]WQᘪSz+mF YRzkǗȋq+HDA@R䌦 Avvk4)&i%#%Rڃ^"UE0k,+g4|uFl`(JZhuש ?ۧшPj[P5JJY!ZK`ĉʒ`e#2h.{'NtE腴㢤l9~ ڍ:4>I62)D=c h-)$p +^%Gx{M#B!+I "5(wϷJ# Q^=` $AWAaYx;)"!  Os 5IkJr#HMA+}@XHs/g]7^蒧9e^" Q+~ېҋYWQ߬&>Έ6D"}vvޭBYJ! &_,ɀl_YXdRŗ5:[P%~#iQߜщ'!T"TO@5+ج@w9;h7 jOtwAMclݮhJWBj)'ʌ, mܲDs?A m[\ rRKc6xl{Ћbk (0N=#̚*ޣ]k(Y[  8DZ^ N=L3)e9% ]&2[Wvh;\ 5,x,ڷPfI`%Q-ʲ>^wQj(yj,H$p0PrnPdiI"KYr)KA52CQ̠e2qܺ$h%J}E/r߉%^op)zǏ!}\BK|T b9(&7.ƌm4˖L tRm ’zH(k{r:9]DQ>YDt((55/m |_ӟM:s8}'"_*шuRq˗vͣ>zϕ`^˗/S%V zqΟ?ϣ>z[l!'Odss/az;'{%666xAH] shQ MkMDQ ` ^9qq>NYiY{8 ">t]._L$oQ*>0q|9<~i;jʼP2wgAOa0|.l2NF(v<8~1) ^zrӺ݌vB&+?;sbQ6Č$f+xu!,PG.EIR JIp27)o:fB"-1i }|S!9ݴAhMdC_5x]]e4MGQ%UQD-A|ShM7QIRh4(ak-Utꇐܦ韠=ĴNV1VCRdxOQ tJZ{e^EdGPT%*E]FJE]bh S (+Ejq#V~Olr\?tjI-^7|,լ|) )5om\": Ʋ;t<#$']&=vb\7@1!2ANJp4WUH`œLCx"V+]le#2S"r&2$I+(Y/ȫ<#쭼ڥrw{1.]w]z)N<Ƀ>x󪄐cǎqiͿ7$Iv }slmmO|_DUUQ%ш~? /˗/⡇cx{KQaǜnw.8L&>]g4EaPJq ._kkk\p4M ÐSNnRkdaNd\5[%쐦n bEb{{u#Zt`Evknx`Az+ۯ_(VRog}7ȭlOt/VuI]U凜4M1IEpAϋLtёs7/|cHӔ4M>w> +j;޽¢arf)%r-Ww*8JQTXv> Tm˒/Ng9K"2E(O~klmni]j. vV GzL'Xt)ʂ,Q"T+|oFd+DDeY53;b-Rhg2I8yb sqEPzEG)JhD\4MY[[b{xTck˴lNs!ac28# ZM0;A0f2LMl i,x(QgϞeU TJ3))bc (F`s.奀ޚຖ3X:% %BCmWxBEU 0@4-LR pG)~|q=R! QVd!άTx"h(cx%c2CJPETQH4 8泟,> cVWWs_|d6,㩧ggoRՕa ;w<ϙN|c[x t9<ϣhAUs"iNg9W׾K7YxZxakkǏ/lk^xLs̯> $aB#I$l!UU->nUqZx-̭M wsO2PJM!++78/2Ǐ#e+d0x !t:|~CvsaH… z=R{5c W^ess? 1:'dl6}pzw`̿ځqرWhAn&߮Ԝd`q }u*˒pxG[nUi 7yAbNp Ub|븬c)RJVVVv]<&;n2u kf /E73+X$!Ӭby,n ߁'p)u8qYw jK5&j c7|}Tfyr0'LF)+]<ߥ*5aJLӔH4aUKsDU`wFdC7n5`"EްZd+B>زŒd<̺Z2846xeQ]&$+o ))~1$iA܊Bp6PcXPuACpb13Eֵ M3BbmbfWddlE a6$OrZq0k˺Ii(J]"z{?GPGtgI}J=U!2L/(qqjp)|D\7/Ñ-ܨA% NVoԍ -= Ӌ\mvߪgr&ŔlM<^cX%R&^s_~x~|cY:$ q" P4[d87B &[ב1+'NSf[IW+σ! #b:Hr),ո+:匴PbLPUBl~Lgkrpp0ءӎh4B9\2b9U8!N~T%`P#!mVcعr=3lU"|&)}D:TEE$&J2w=NtװH!qdH?3F(ӄݽqw8}4kkk C~7~`kk}c4Mʲ{{{dY?a^|ŷ8ŋ<8}4im}ס^74 (?~m%$1fq(0ZwیO_iw󝅍xǜ^EQvo5XMߙJo:MS\88q cx9u]a2,[.[q/)j$ɢzا"zNν^ ,ln#|ba+`+.}f9.]fZ/f>R ;6j@ EkFR(%pw E2i ؞\bS^6YCi?4Z!(p=Udy!VZ~LGDq8Ytxx2A_z,MW._X8s4qmƓϝ⠿r/$/JG¢FRHIXi6#\CH ZiI^Pc|\z:G=3Y$(nn0ql#ieS%V 3g{{c 1i8UdY2 d<ȳ8r16YQH*CU%FXdZṆ)kix~5O9?C?ij>'?Ix≅툰g}7D [ےsRr>F)McJ);FUUy;;; "x5R1=oS??h4"۽w̃z=cssN禜[P[=%b>)%ys%HNCټc蜄߿Ƽ e>AZ,[6WߩxwRh4x~8ޟeeY-dn}OUU,r (:v@,W" Xəӽ@4[EI$AiĢbX O8ҲYiA@E(b B*أK$CȒd9Vz$ ]IZUIN'ݿs߽D,wGH睏 ]e^xe6<:Z8X``D[ Z͸S k,Eefg瀵NQIZ"dy46Lh4pR1MkWC&I+Ɠk`0Xp0kO^hkPJ: "o:\;+,] %B\3; G$1xSOKB3J(v+L N'@a\AT%Q+gf}[Jck ",ac5F:T?¾n3J6"4Ÿ.ABT1J .Ex]/Ȭu _Ӄ-f( Fն>XrqmJpgƚji&35+9HUZ]CksW+סH CX s8c+٤6hM!O z4kªW^ҮDdϊaGz5]4!=%21rS=Op#轌Iz0(AG4z\p[Zt(E)=432뗩7_}D+;XSmzC2!+w*#v]xwn QUyߣ\7R*זZUeqQUdyA /LP`utPJ#n4QB!P~HY"<&1Bx<,sQ48ԡ++mi.PVjF43MqV۫}m1S#HyT`d )r4aFMƔJI% +}ΡBIsPy.KP &jũ%Zg$mu!LY!:CUUݿu]~g~^xO a|\UMe!y{8ŝ׾6丁!t 1lnn"cƒv's/IZeY֚cǎGc eY.;)wwwܹs p8dss,J(X]]%^g(Evn}s3矧lrl6hAZ4cyyfɋ/H˧GX]]O?ͯ+37v$60"`^ֽ؇yhbZBy~ϗR.`*<{^ ՃNc>-rX?8QvgRdEFwKom !V}'SLh;Ma KDRla ɪ)%/⚐X q߉WW.iYFOp?O?4g_~~V ͈(FO|< B~||+cx"<š%M{B[kf0|@MEqGE2/^lnn1Eo>aN̽DWUK/`0ժFUjtNhilEQ(7yDe|K_?TU/">mȇ!$|lw{\۸QS?So&w#{14,EˌF#666ޓ|׷xч䧾?ϯƗJ$I?3gΞS?}7}OoEV"()3ЩKЀT1݆( 'cBQy`aShaܔYj&YR̉VFvL9SK*kyvTTjt"8PPK)(Q%X _3TB>kCZZ*A( DVBhHG{FHՌ Wv(PNM Z]Z @XĜ+YmV@!ݨ Ȋzv.0 +AYt7CLW3C ^R̂QoB'bZMMc=[b_t[Xeqbῇ @(E]oHw(ӄhi?G[{,wV VfX8]z#O!Bm6;͕k.H١Y/STJ%ݏCӽmA|ҤKLMG|}yV &(it_DBV-s}4(hF>KkH+ !S.]n$9A⯜]; Ѓ}rq=]V8ʅhCMyNH!1VP,QUqf \7&MmD (IcJ((S|%=LSc\Z&x׶8{St' Ihɋ3be$}*RG D .[!M/G;$h)$rQg-˴ؙ}So*|TUoo4/_6+c-Ԇsq~/}Kׯspp x'ַE|ࡇZqgB9j|ߪcH<}A+=_2Q-A^4My7q$ Oz {Xt܋Cǹ^vKeapq]~Sask-!Ģw9nI3}Ο?|f"Z;ݸZy5pqP[6';)%ckcve.Ӳ5f(`X'(7@8oc='p57O(N2@.Ac-LF hGRݭ>EV.ht[U4X;!D ҜN.4cdRύ$[-hk8rLĚqBԮ k?%N9k̶[>.]cXkX]k?qi~}VT3@I/]u~?++ }'9w1>_CIdkp@p]I:i5;T՘ݝmʢ\DzPCn +swY\ka ?Ac/ﲭa/9Th@V5HG?yi8$&ݕ.<(0բ7IAsg0B$Bn7LG)+GK5#L+K7V/p&܅`f̉kLH+h "Y<1Vel1;lo"ԡUQQup`|YA_zCq7{#W"?]=D !(4lLoqw&(ϧvttwxV6"V$y&ٔmWcQjN591(/_yR1'}>ףRhL&>Q'I{7trm~{N<QUQ8޹<|o||M@suu[԰[&MJe:MQCC' 9VWUUhck}'!OH)%Fkzp(飤#uSQ"}f3SK4D~ b:M&9tK,-uø^` B1f (6wy-wY;A2/plWQ\W$d ˌTE~pPLѦW.HaRW]⪺`tr.D^>_/|__ggY^^^WRJΞ=˯}~7~5kkkt: SU+++8NZ(%򑏰&HӔ=~x*B?9la7+sC;o::6n-⸮K\~VEu]1 ylll0 F!\x}COE|+_q{1[Zkvww1t^g0$ Û^}q^ӭȲ˗/X^^4sݼ1.^G>upcvstB-uli! VwH)./*i^N+(DvRS#՘$do#`e+AqoK yF7#p=aRL)R(譴ɢP1Q3@>;XZkc)\~MIsX*LIݴN3l9Mqu)E>%OMk8$?| vEYV +ͭ}!@IIY(adcE0PJRU3SK4uABNj Ovq8. ׯjBO2JvasuЫ+kRnrU %Uq=KL ȩ.zV=O#5*eaֵkO=, l .]7L= $}~,ׇX=a^gx>y!"΍{5~!!ZZ l_'^^cvxkckeΏ7Cu:Fl~A1NYr}s}INؠ|-O?%&hއzƊE n08h7벻Cl"݃#Bѐ.b !,N^+ֶ[RABe8)-(1 aHXcP$KsXVz`%XZV^& JIZ?='xi+\yI{GƑ_*)eZLHuwj e '=u

gc-^>1dFYYUeؘ=ȏVw2,! SV ddO[jU໿Y\\_">F' ")aS,fSeYΚ7{O[V/`@Ewd#L籸m?'x"c +++t])˒~qLyjt͇q¬dGCܠEQjzO2I9X/D-_ O lC]*ID{/o OY YlCk rul $ﰺ@5˶U%[Z4Ķ,餣 V䉕mm4eQq+]RʷȋRX _ٿȧg~B=#(U5ԎGo>So_?AJs+k+ Cn\ۢy$-i8͵+7X[uΞ]&&ڭ[Q?"`oh3&- D\BE dX0G H,,!/D-Lz=>Q9z!l })f/I uzt=p,FH3Uy;^ʇ޵U8OV3|Kc$xOي4|s1Jf6BE&>3zU(6EZP%n}E@jH÷Թ0go+U;#J)D1 3' 13_}cPHV+k-\%%n楍hbE\@K~7}k%·.6H}O<ׯ[:i:{(DԚHfr.1;? VVy5+?C&ڼE}OT I /qt[H[c+hbٕ*!Mr@E S.>/D ~`4L%Z}_]kR/\x Y6&IY]rMQL-[ k( *ɉ1 H),ɳQa$ p8fggN`أEJheձg(͗o;SL&qXT,pL&铜 7H{q"&c GZxcX’Risבe8<<3 'gJ, }cU5njc^z%~~kzĿ8>>yWoսf>.~=/_OOeEQ/3 PJqz)nݺEQ4 y!0ӇӖe?w]h͛7pA!G1pʕ~cO_{5{챙?NCHE1 ޜc4Tyiiz~4?zǿ}2MpNĊR.8!)1x҆DB(efцow9o$OӲ}xj՘XbEH lLYbTu$Hx۪<-B \ѵè rmǭL&,.ڶYz}ۮE2I 7[H_E'qN2\XbFCK8Ls0+2zd#l|X0$yQ䈲H#oTSфHr]).X`R.gS4P"8 * q 2B`Ssmn/jo[!@(ĩԽU(-j+Ԝ3$z_^np8vh;6!Y2F)E '6/GtSk*g!P_9K|xR";?($+xx_A 4Z.,92v-_M^5ÄZM6Z؎146pJi\2㝒U"x}r(K${(A #,,(˼reEIQh!A(pATEWS3*5yQTS?Z"DqD1EQ>Ee ^fcDZpl4+ ljY5qz-}MxD0ZSx=vPc!_%t &iK$烍q5阦jp&Cj a34ӛFp_K__ⓟdyF?FywtEQ\z~|}=OCJ8g_o2%~.]vY]]%4)b?> GGG  |4iZk.GG,uC%!I+F5mN-|߫ۭ8a {[G8MS(J%se{?'C@QxQI=,l,`JM~",*yPWR6'ˆO|C咍#,r,VZUP*UT  x we^g9GGXE|*oҚc{D JJ<km-m2Yc&q%n*p0c̉ i 48EZ]2ݢJp?r_wLkk,|.63W7HmbM Zݷ|BQ +A@XZ#pyzӼv0"gE8J3tc۴Bр?eeEiyuX%ZMgBEBQHgؖe9'AxLɨ(4 Se&O=k><86琙a2,RYSK*i,]=vlf80$i°?j`),}cqꐗeToNMC) 5š h/Lͅ K 1'>ͅ DIʭ[{-Q'V*{ A`=hؕK)ùsKYkGe(DQ cwA?$[Z KI3mpJ*d6Haxx]1 EEJ]'/rU*S %Ueb2"e =x-pf*`Qcfs$EN]_x)PJⅯSbSq6F8ܼɄՕ^rZF٤Bk8b"/+5Q1B 'qA ħ'Chm˯Q%FxLX1qmDz 5Mc@Ç@$-ELX[c p۫njLh᩻4=N0q2mr[X;ZQR2>ءNrxeWJY FYo0Hx1vp[(kvMR-q;,){>5ǧw{/ .6x껞+JA/>nBG۬nw)MYj#w=D (B?Qd1D1:<<1DV5ܤvh6q"(bZmǵplϫ[(KC%x`20jMJJ$ID ZaпdyJY, X& ڢF1e!- ,0p_ƗY:wg/~r%fPJ %-I1 \D.q|oqȲlWYwUs>(*7#ɍޣ"s< TJ]Q1)˒CΟ?"P^zi歜)ɄW^y9>>>f* Ðgϒ9irpp<\pzKKKz#9=p_]]7Z-8f4+s Zkz?4snAVuw?G֚xL$ֳi%{֫<ɲlEh4f iuJ?j vF#M YU0[n6~>??|opRrܹ__ӟ̢>Ʉn;X_z/c}Z֛ZkLɸ q+nyg6n4_bYΝlooďȏpu$a8r||Ld<)FZ/޼yF1Ntݙ5 Ç>s|{b?"a|73Rxf7{wWo,$͹,r(8>><ۼNM,9>>};,|^_]5H*W_}9a4sxEB Ep>&NA&41wmD!Jc[1EV]cZkҸ-IvQcD%&㔠ߎB0QdBN(LBmE-Ft-VڄRK cGS]l!eF`ujP?P8]L9%R(c VN<,K1Q.zHT yN3jJ@Yv`tDqLLR3A,Z^{Z>qq\ٞM/{D٘z#qԤq7/Ev' !m6Z4- [V:)%> _|3k1YBge\Cr )3n+A@ C%d^g~9`w~wOc?c?xgJ !^~'~`ww]X1˿˜={/)qjy&˸; o9~ppLEf*RS+7ny׹cii S( _H)}%z+cA)F5&9eY|~hg ]LwvvV5 Dj5("IwŢn_WyA0#ު1MmS[pHVkqdBj7Ԡ韟ɟDJ뺏T,)%kkksL7:XAιEs2Y0mpE{,jb=A-R#rRq'R EF c3FD;2Ãclۢ֨Q9FB^H<%JqmdS/b[TKQ]CrWy2;'TDHű߮NS F4)95{G,.YXhm!˲'ӉI{pZOVqP=ZIkuh4lj $KhJ 2%&DiBTHƔP!%%I3x%9.˜*89r4\Nn}g\%%/s&B"|۴! =Lcsl^MGVjI%m`?b#zJ$;y&au])AH̕˻L&c1nfB) :emK]Afe'7jd#)K=SЃ, (()%nZXg<]a8)#ĶJ]V6 G s0b-  ]/'&d_bCD#-<˦֑F9f:dNȌ&JI].ܚf_~W6ٻϞ=?G/O_җޅÿ(g>= gqh4+<߲O;T+IvwwyH;U?1ܹso0dww dgsERj\ `6~js|aJL&(=f>Lߧ,wX^^~cvoY *˒d2%`No8{/Xx<~C >T]c !j֣Ԡ)>^HJ ^tp!̈zC_/cE{b8hs0 )oȊX*'ph]d9@ʄLɲfd^`Et0m(|0q-\\th(efy&#&#tA6ek;@$jiImqϿR7ayH!=%%EYV|C%LR`R4 I3r8籺@mHʄ$4tM&qLom.:8R9I%Yj6FSi'0wǻNH`a,E9 BcqeRҒ ǀetIɕ/7:5F,9$C^9<PZ(J%`9 $&3瞛۾W'j;eI.B` j!O0wQ 4u^hˮW)QH`#Bl!+n.߿ #:IBִ8. gũh?cA9.!R*Vx3m),f5`6 e֙X"vi2L9N~VA$Z+u쨤M%6i~9s/cocVˋg퀽#q/x?q|xWH,_u[otsαHш+W~˷]JIElmmOFXEY31~oFM׏<,jj|<7n紂;U/~CYs/9v-?fʢ ZH#q f0쎚McRABWIg9i6YOt˲m)5/1BM ӨuIK[!8sf ۮMb,"IS"c,[R۶:4B޾Oߵ57xmș~6JIӌFĒF 6۲Ҕ(N(BXz}q1Fo@OR6=B#|&i89EY &q˲p۲0 -&t95'x8wmĤz0F$b N+L9} B:Zm%I !PMRzzp $ 02 62t)ǻf%UOSe5ryHэ-\ף9D kǬ,/l&dBb9'SZ'E!N($:E`0$K3T g㣞f}שBbPTԥ8s"~A^@R[ZszoZ@2kt8Zx5lb\HI]frGt|@]L(^5 K{ ƣ3"dhcGM$x97>ا8w 3FΟ?`xN!"Ih!L&! qV6km<ò-Kϑ ȣ-xP&pPylƲe)(uIq4a<ⰺe+,#M2vv'xZqJ$IY0 &gų c۴[C`+ɵfwxnjc( )ƪ.^s|GO{*-|}f]#[_A]!ӼqV1o<9<<я,{׽v$~?|U677ygﰭC1ʲ|$$S$looth6c,--faa,fRYqV yʧx9})@D me*w!,d !ŧ)8ͰR>fٯcKbtKU)K^ălxRyN4Nuu.K2K1ZթV7֖%d,)tHsesfc嵢z.d4u{bqT/51e`uNZ^#.1GQHit0'wLA`N#ċ}OXKX&}: !6[g:mrKWt넵KWoq.78hڝKH :.ak<:cFRuF,# nnq)9d2HC5f "JTBTZk\R{Dh>R&B: j!Q0ɒ><ϩ>:P洤A];E,,E uҘ߄+_ Giar5&ɻ;t./yFhYZZq-L!OvJu>U==UT1+++\p(Hh / ^cڠ,)$,>ވ.RJ4 cQc'd(cK%"},=׭:ض}[)/n<1{M"dڱSju)*v8+ٚ!1Y;vJQ zn`$9/Ie+ ϪQFe$bwD3['hV'#Fo}HǵPb25gl$܇U P8>1 s9~"QG`*H"IG"(, yR5h7Yҏw(YIjipܻ2-z2)a%!Nx ]vp<qeU z`4mFh+lmoHKIr0gN_AC$R ԍ!>>Ķ$Ub5i94¢(=Edkk5(.>a$p\R+F♀Vƭ~$ ϬFo:DIV>bl YĒjp@BR$ ^Qr"MxE1RsaFY|_+ʯ{"/c4e0==3+`xя(82 G֙c4MIy`0xVuw`6/^d<#`82PACנ,qB~w=k[^x RGAsݲtQ gHBIdP;!z%ݚEChqT%wg \zuYǶ5R^;-(?XB`˲QJ ->`08N9Lbrn9Q#Rp<4ʨEQRJvE*u|4`+ )4VmMc{_6eUBk4cٌJzFbFORTS q\6q tB0RJ OrlƯfN۝#^z]hcWyVZ歾87c 扯NJDQF:<<ҧ~S$-0b8kWfYlʳp'sc2Ȓ>kϟO#^}y<zPH!X2Ex&ʳ C!$W㕛OT `HZ{HEH,R6?OWU-PR"D 4KȲCQ ) k>APgVpp>{~6`ﳶLYpǶ0i8a2g.҂m VyWG4Nvi %""S,5(MS Eu0VV#*DzaO6$HREYx"e v>&f*YZ`5?ҢRϣ3tKXa(m0A?SX2örDYMk!m9kyH sp}(wj ulXR!`d:'O(_:ϫ\ t(u+tM\ĺA,t]a0pԛpy^:6ۙ!lb'ӱm&qxm(-\RYc!]h1&Ex!ضEĶ,|õlT,/NQc)qEXF s9;xo'Dc1qf$,5UO ֣|KkU(73R\qeQR<ͱ=!(~'ڰKQ\tV`HɍSL^P*¶k2:lGa0؎E8]|9o  Zc E^" Ҁ6cY}o7s<(ST5mi璵4L{[H\`h֛\({/4R*~4Z|SbKA(X ܼu̹јNӧ,s˔cRZ:qs&O^4FpLS\<R*%V5hhDNĔ9&h!ʊAXX(!ͶE5eWبVHg{uVíX[񸱟srU4xi e[J1^  6%ϻ\wECd^x\~^{N??//Eѻ;qttg?Y_E&yS2aR=>>lrxxHh9s vM?FA^5l۞}/vwwؘYŜ_O#ǔeu;%Ξ= Tcf1%l~_OOT{}͔|cGEYVk( O|ή',u:>֠4MIuxe^?1Uy> 5t]"hXԠ6:k1Y*ՠ ع"~GE^J2S(c67 Ym hpկ5Tg2!,s}2h`JYZ3$zVFd)R("KsdiNzؖ^+>ƣVNeX"7xlKZL.g:4j5n 瞘-W.Zǜ?Gj!?GHǬvTc(>qu%Im4QcVU{ zd|sgW 렔a>{C%3IrVND)4k!9i1OPRQ鐦)X%4s&⥨ u,f;af*)} :ГX{w6B <e[ShhiIKh.k{qIO|Yi1#zuRX(eeepx2v]IJ [>K/t9Xh=H9ШgF[/un> EkN#s8<<3 =<ÿ=aGs/E7'|mW#'P.mz)DQ=z3O!;[[[dYFV#IM(G/ q7%wwwgcڤxе>S"^Z1Ƿ㙺8Sݐ$ ,//ςLO׎,`0&Ɣж0Bsa<ڭaN.I/}rZ1I&(uj zE'cRR h!dařOAZVN -Uy;硐4@ٕ|ɷa34УGv=a3+r(9!Kd=wqC(`FBtE)cW>pgtɒǻwW5/) t/E۶Y[[<4kBY(Ax7 <׹8,uW$K6|eU#@Xwu4JAkT^`,?L#-0QUm90_CY}1=yt9!m4IzGVQ1&%h2M;X eԖ֘ ڋԃ|cQoV{>Iz ^zOEiE QtH||$f)-ta\qg( k.F maYZ(Ja/XBMpDp4pmzcjI" ( E7ݮ!FXض"SVW -Sd- M!+rV UrIxK{€ _bw0b,&Ea[0)R!Qq~aR) tAy` c /L$kEn/HӔ!FO4 <ɒm.\0y!z'|o~󛬬ܓx:M^~`Jonnl6988`ssxWYXX`<sMZLYy[[[?qZ֛gFRRVahq<̳A1ԘxI`]-51|_ڵkun4$IbNO渚!,kved2hqh3OJ >f;AA̬hފW,,,̾84[ dY|9!sk.6hgHudYN87&6@ Q-j>E,1>Ʉ"/Y^bL<}Qe2()1! 6(#mZ!!Y,(ѱXs~u% Ze +%)d`V+D B4(K])էf&&2S-$q3Gy xFK&'Q%%i&h5],7 Jl.^Srga@^bά`[P(!D#Hk$u5wD< <!#i5 BHߚPѷBJT30q]'([s0;N52/q Ƿ kߕZN2ʢD]3YI,K3qltSi6h0Y]( en,41v At`rT\ 8/ت'փ6NFߊY ^$KL4fORٻgwHVf)!pxsq7+H1\qfKk l'51Glq~c׵ bV6?7)'c \|h8ܸqpHEH)plmmQx'++f*œuf*(w콦5g*TqfV5^__'I:'sq/LIo}z2~ f2]-vgلmضP__k z׿4֡ڃ Z3(Y0_5Ee֞c7BPwfԆA5u8PB4%sx6AoRjzǢ:aD)z8$Jci ƣbSdUje #:QuC-vA\dTZ6&DqBB*?K_z sǞD#WW!h<6+ÃWRRj0`F $;Gh]\†Űu<Fe~P;['i{.zjDGY))KM*IJA* `*ȕ3ĝ{xP5k \D.Y_A;lf5ht|"!+K گiQyXH*" Fc@4v5Qf&TY`0`42p4A*:'ZLR4pZjq]m1pscpl.2pҷ7uiagER PW[U@2KЮrC?.8 F L!W1D?b}zRmwS*"XXfUu.tRg{?̇%|b7r*:.I˂fέ#&GDلz{5gZtά!W)uiέt:D1J;֭kӽ4x⣭[dB48 +S\&ܨFiA%a5 5k1yd]$Ɠ>8GQ)J,E)dY4ΰTi-V Nי1qs|c)`W_ %%L("/ivdI,4C $!mXEV4SZtuv8w)7G$s#B,! a }Ǟ,3"ԕab48 ?1@yҨ Vx9sf5Ɉ8M )3 XZZawwXDQduѕCF\a&8ʦԂH,<RH̉^b8cwy"*udR cJuQFM 4ǪqFP?99Qt ! cΉ\#neKRF79?F#tIU!OO". ؒRZx5eYx &(K:L# OmE0 $eQtdVg JY!iGd\JQ~H|E4AȼzqQ 0Y 9BJnEvnB*9ڣ,":?L?zq#;!ƶ<ˏ믽F%s6p<~Ԥ"'` %mFcΞ+G\zNe'zi6G#$!m,(EK<#o /0܀ }1EXmtn=@Y7p|!O\ϩTfG,RזxqKYԜ cRhSi𫫆e'x[` y;#1iᔈ~WXYYayy5"1dY8t:a1vY8oP~-Sߧ`ٜ]^}Ο?R[nng7^m3)h4z7i91mN3 % gQi: >>>faaavO|JJk]eqaxf[ :įDQ4[֚`p"^8=ItmJ$DQDDJh4u;j2?9|/㝁?qn<m%q(]h38N\ EZ.F@) eP2Ib<"[tH]c g6rUOӥܣnr;{h]d\8ߠdziDVh4b|/5ۻdy@mU"Pq4Jx5Jmp]Ƿ;kN*lZ>&cTZцSszmgYFk:@uzx<I8ۇ9@H }t"\, CԀ@%h'BЭ&tP%A2IBHI88YEX[NJT^w(SzYGOHEkEz^ 0d.VEg0"+5Ǿ:GYؖo4G!')$a{k3<P$2o9!īCl?<:Z?8i9F$IHfIDQqDV=/=lR@JI3.MS `m./^$2X[[͛RO!IDATo8(!,K(yeY'Oj Ð`qL$t:t۴)xttOeds3g=o^$IfMi>aΚeY5kss`?NAcNmp1x˗,;jДlyqLx7kNXsQ!EMLc9%Y>8“H)Ãi:!k&R#8V.ɀbY(3l<8ql˪ _:KCOE뫋hS/kpvBVL&9G}Hi[!RYXE Kަ."6dE>#Ӆ8M]co.#<%K$FhA)qQEIe,IB;X'(&=]-d4$Հ ]Xp8$yݚ \1&+(HV/k~;)FlעK(KPP O(+x hm(ܧKM WcDB{}68]E g)Z:$&Br듦 /[шN,XZ(K._eYM$ s,Yo=K:þ_} t F)ɸL[YXCf>; zih쏿D&+#IVxaD.$A= gHۢ{ _#ܦq,v(QcE@lo_h4:XV_giy0ey um+hp-qzFk /rZ:A`IsA@Gg:5V"Y| <c>I*&~ BƇ 6,y̼*8t:U ׿u.^1(k׮!×e~i m~i1wq{{7cxqpp@כqqԧKKKqL77q0 BL&q||1eYμRqL`uu}c\r_| t:O??1aoo7?C?ėe^y RJZuidYFƍXd2,K8ME1֓Ffsv}O1mE`0}oN3# ֠APvvvp5hJ'IB^guu}C m{֜z?;3Sk(coWp> ?c,eQ%g%%$ؖPg.Ff9,Gܺ~@g1n0 ܥQ >OV>M7$%3,- agRTAT4ijxeWA>e) 'AÃCsdyx[*[b()\w=e)d`ٕr?" 4FFo8qlE-Y\^f{ABg$-espU|ߧԆQq\&Eαָڲt#`2=ۃ9AH =Lc iDZU׼JkwPRSeƢ*P{LG>y!^Xۓ cϦQc_a06hIo4aŌFcXR2=@9.P%BJlE1 }ϝ$24%IVWVFdinxį{\pu2G E!ϝs|GAHh2]In.pmtĨuVQ>&K</-lv4ElH$.H4N1XYmaYʫ3bxpX,M7LJHmFl?df1(A"AH llC5U2FD=loqNEVff7g̈8lgwxy$)^PoX8eBBʺu%RH Cg{{8эLX][u!mb\\%Jbd㭇D9i0O_x[/:hC]FY[KZxkԶj$iđiت/-Mh$2T%RHr5d&+C'i8rwY^$Ϩ5xn\Gt\RKYuԦWEEWU~~i:^7"~j0hRzNwMȵzNܹsܿc~9::BJə3gh6EAڵkmk`CJ)$A4k|cXL>%߿?_YYF;wnf39aB^#MSlQUT`oooEO'|0f5S/Ә|%k}}*)3ԧlk<˗/LͺEߧ,K|M.^eYx7c"dYAS[i8] èȨhDAy3ӘZLk̳umc<{d*~5ԧ>A=Q=tS˞̙3<(y`&wŋ LӤ| ?9TAl d$V)8@ ǵ(UmǓt: $0 ,ǠTY|yAX*Ѭ1*2^wt<%/ QHB "iެzxNծJl$2 S'/Jt]'M3?r9,n\0lj4Mz6B$H]P/n(*?RL˨&b!P]7<I!,ơI!yFm'~ |8FJp]YPk3)[ Zd%QsuaNʒ2Q )qlePj慠ˇ۫&ҜTD㘲T؞5SIS{;U)$Q#S]ФjLUg%K&c R^< UUuǐeRJ)[N󆮣Py'~Q(K ePs(M#h娲:1 Ob, ΅5z6Y9%||}RdIcNeUorc{gXiH|ϥ'%A%y^RaLh/bLӤ?+0A 5Xt[hF(r$F&A0vt"Mt]y5`oѹ30h]Vb[{696h!i&QP/Zhr7)VY<P쎻<yބ,‰,"SZdH[E! 6Sp6F !N hN o/p|tȤߥxzx.  zce< Hjmp||CBO} 08>>참8);wO~r&$I85 W#6i錄 ÐO~9s@qȪi*봝Sf?q@^0 ^~eu$Ix饗f/{salEc&VVVR|1,,//϶ާO?M8fti D4\}yԠyM> D3Ul0d0}l^"~:Bz *'2(BUDW0vMz#qLQk !.2 AB{#۬Y eIV 1 dce]Ӱl,yv 4I^F%5T*$a8Jڟ_*sxC]L \&=Gt,C ]RXQY/+I Ы@Ybz L5,zk%dbSb(R \A̝AAbN?λ"G)T^P &MժBb)hHr?]R,giBYGJ0M H ´,BgARB)M2kuH kMj aӴ*0ͯL j,zH99%>1VqTS"kjq8'ꭩZ,KlJ)vww|d~ .[o$ gϞ},ضM3/| >{,f5=` nYdQN$I2Sj6kTlll97?Y3A)2Vׯ?40U㣎[ワ64#b) -4O߃f`@Q3qm4| _N;IEQM)$˲kAD 5Eqtnx&5,W0XIdic&J&%(" R0XmDynjG!~H`[e:~Rʗ T+y!ajNr I2LfS_,BLDLFѬ1uE " A|/*b2*/˩OHmQ,$@(xtT2'. 6u&Q$+$z*K$w4]#T('!*Bem"=EP  msF K\0*?  4N z(5~*4*xǜ-4%('4&K2@Q z`Ũ KiD7 "U 蔮 4M MK1w%5D!=|B4*ŻQDqx2*((l`)NmvN]>j@9 &*A\ec~ R%G!0VЃZ;i1ܷ\V^T9JUr9'&1Iř 螋ľ ?Y`ܠ}4Tn 2p=2B^orMzWzsgocZg6(&P'OC TeWqD%4%m"[s-gVYhIh4=.Yo4(1~5kS Yp8dsu a9տA:յ(U [PԬAOyqD\ ^kiXN*_-OI\Lz? 9~q||̲KqeY͛7wO>$~% 4M>vMY0 CsvB̔Ay$ \t `Fʙ9#ɧ^0%Ŧ)Y/[[יOL{iEۼ3/j=9(c*N|7hZz=RxjP$yΝ;w}V볼s|ߧͺir<eaPff`ɞO-q_?z6ip4Mcqqv2ӺXYWfZ+o(Vk(C@iࠨ;. E 9I5 B F k!dÄTH]Y:mAHҌ>AhCǢ2m,"5`4Ʒ雩R9C,]q\oy&$q &4j6e`h:n4kBybCIAEeikZUوBc٘B ߭1kkKU RT̆ɒvB1s{RrRhJUR!kՂRU6(9  OEiV^P M$ǫۘi$Q%i%9g!52#S:Ȩ"9"H l%44GJkخI2O*@1ഛPJݮEr,&)(]GfY-9j?:#hZ趋d z|%S4ZҭLJAUd`֮U5seB(G_^Pe|*1kFE` "+(4A~㕗_4 P9~BC<"-6Ϯ_i:GHǨB[9񉏭$Dq:{ضbqy *C0Dt8!͆i:a &*`4qtF 0#vB;Oahur˫͘9Fa{{#>#¤ijB`YW^7͛2 888`mm!zv n޽{!t:mlRJ~~??FJ//oV^xdh4_&cVVV(rVSii(uJU#i>2]uy666}k:.\chgΣEe%rdHE,d^u>$`EM&M]ph:-=AhzidYIYjhNcFga~w"c4=$4[h-(`4c/9;oED^d^CC*ƙ-Y)$RmeH/N{ëʒUnkZLɝjiR[|!/]<ϣjap_γ>!x".]":瑦)KKK 3A@Wmt?=Y[[cqq7orm}ٙBܼy˗/#doo۶YZZk_eYrU|*W(Ӡ鹼E*O<{{{FYhiVyqeYu~W??'I~=?x/{AAL&jL4 r==8hFբO|˲AyW\םTL_^gj]8ά=sc$A6ϟGP W]ՠO_MwAFݻ*oHs̈́ MzcNTYk:YabO$KjзE1LT6l $/ Li@qUk^jiaJE@)8:i5/H׶tahxtC,@K7hkh(5!5^yI) }lۤ˂($cvʕOBT ]Yo:g F4D*hhJa)"cDCGyPБM?FE µI9 JAPN"GajD2XB'v oBbrS/x(I}j1 ɸq1qi8B]!1MM7Ҕ;Fݵ8I)N,d8w-QҨYNec::>J.KUSB0MQkTDY1Vf,rt]y'W /IpO&P òyN+闊ܭT0Et,ٵc4A*Q[ZcrK:a~{Y 1Y@EEjs~,6y$xo,u-D1~eyahL|OJ4q]<5 Igti+B(e\I'M̳.RQ$2$j8鷾(Bdii``YYiP[E4>5ǥ`^s4 _4X&E^4$o r<Ψ]Qfh1RҦᶀ@XZq*sBjLv0N3CFm|`beoo=fJJ]שj |' ,jv;w! |[buu4Mq,|2ysڵ*+pK/ij5 Ν;t]8_ۣ/r||Lq}Ν;O? M& ш$IX^^_2!eY8 \toj5^yh<35À(>!b0yC+4AJ9mvi4N),--ͬL',KzRY}֠_|qV^:988jnk r]Nç>9?G m3T0d<1"VjDŘD+8.IRxN O7Aj$Ji/6M#lǢTLc:Nۇ]S35f i Az6ex'7|\h~̉D9 (5Y e{c4) "hfU# ,AD ~5gJ ++Pډ^jٛbjh)4!ix{>{RiH)㘼(0t(:믿e;HM2i4xnl:{X__Ǵ >3WQc,TTJBV-nU\Mwj6ˆY-0ik'y)~ӝBK ,)g SXJ2EnˠQlxsUhI2T&m$5."4 !3~pUp<:U& d}\+L0[gs\$dr<`ԋ!kC4#]6δm{F7.5"9A$X\nYD0-R4[t=j9irMѸxյuG5lOḬЬ/m9rQh8p41=t$2",%l@>G2kK=$wq 4LJAO?Ν;o"WR> /0x7SkA j5$)Ń )AOSw¶m:W\,K8<<$ C4ٳ,--4Ol<+DQDc %Yì4m4Sp˔҅,+~1QB"Ѥ$S:J((p=%0+%ML`8  'UmЁ2[IQM48q{.}i. 5I{# @?0ȋ,9?$J$ 1qP2Bc}}4AVĪ@0f6Pb9, *0}hy2L2G*kI90'C)PqM&JRD*Ak:Eo*ի0$37Ext1iYD!-JEAYT^EV Rx[g79{F$M /r{;I}8p\۶HpihuDaqh[A;0:~Ҝ8H\򃕂$N)"JAG /}e,fQkDaDY- Ϯc9)kMa.ck9܎JJ) ;yh4`6Wi,n &K:Nk@;B ko7 W>Z1_ÙՄјQA٤t(g2Baq ICmutc8`ˈVΙE^}`MA栥1{w'd1m,%WQهZL3 JN^gY&nw,?5oaec%i7 ~'qmwxx?g__ ӂ<A<9ymDɄ(Ѥ$`H`emoNgavzlnet$:qK R5ȋ,5IaHDxu~D:6AgyNB(P7> c|ǡP%akV6%,t$IJ?Yc- ;8F7%2$y*I`:q)>HEs;s]Lä(JJRSR4UYR*qQQ*40%v5\v\Jw=s{w(!2 Wx XȺGޟ5}YuQ&d8V05LZ=W;g &BRc.- tKrͷt`qL3k4uc Q VXD~IL *L|Hq* Hx-| ޿RhFDia=d4 .Iκ1L Ӓ C 9da証,s!&;~2m/<]\AFʹUk"^c[_5$@kwO<)Sf{wb 1 htFl?8s>~@EeP 13gLx%GHR , CGPKNƴj~E Dej^5(ծ3 cTcu! rF;5q;}MaFutU'`|>wNz8KK7)15ǰqt$RJLMgoi8[,՞%L)U8)-"DJ|K__*< GGGܺu}QJ}!?3?oope(~_VWW9<<䭷¶m!t:DQ4SfYƗeZO={ZH)r w!wzgR,f uʲW_E)ř3gR>xm$ W^0 ޽x5ۘFA㲶vmQ"Zme5M i$!?Wergs@t#8[ZCJ,J0ikol0i0&8Gm 2tAnnǝxoAQW {,_b;$iA^r"L:٦ll(K$jgV6o juM|M$/ PhLᲰay@QC7mz!岤V)ʂ4P"*R*^B 4(ʒBH!h)e1``P[٢I:IuŭgI4>sU0'G!55(G!19yؒY^(:h=1%BJS(AZA:oܯFQ MHVX@+(QhЩRTt]RYA4Qz[ _LL(: ȳ[FS pi(y)M QR(E8P7ɤJ Q 5 UzPP{(_TEܛ"pI?R3P8DHۄcE!pZ~I;,!ͳ*#YiR)]5`L:R$1*A7KO\ݾOs+讍 1zDV(淉_Mrm\ϠDawO=^w^ys[ C&aY꤄iFYA5p])4 0L }g[,|1+D;71-I4%ðXZB6wo1w8vq\5]{3 wφ_BNa5\5ɒ=0OJFGw05 @G'0@kt\1LJBf{xpJa1}z6RbhI?arx':,k÷nwJ9N(C={co]z߾_j,-8:1/zq_㥯DmaM+MEA$ |4M>n7orEt]hd믿yիWY^^+_ v~7oΔoV ~Ϲs8>>~OӐR>)}S(f^۳v],9{,1O>$ɄugeYOf5<@?ix R3j9XZZb4ϒeyN#ʹSq`;ާQ1 h6YSE|~mmmq-ZEQg;=8i{1g}هjTSOirɲl< J)^xGjiܻwoH[ySfike˽{X]](\{GB((&g[>9v5=L2*i$,Q°tPՔ^%U^VFY UyLib,8xm[ Jc"'4)Q(qҬ؆AhM81Y*r Dc bTYdok@A0JZinT)JAVjzo($Xee j/ Q,ETD,) lH2"sc:QwLY(4Mm$'Yi؞UBG=T)9.fᐣSZrD)4C(.,>R[E*2(|8tF)EDhKp-2m"-,p(C?!p̋7vgŒ|*r?򷈄o޸phcacZDWm˲kU*BÐ`<' .]BJSO s}ǧf̭VkfADEiY 3{},ǏԠׯx"Y]]~k0=5t]Ƕ߶ZtyGcycY̆g<dz׼ 2=5W_ՠj1Ʉ|3ύ74Gs0Y=sa`2$O ڠEKPBUAVӘ*K 8W׮]}/~vg F#+_ a!,%W~;?ǏN7)ICUN߷8ΌNӔ4Mv3׿_ Z\\ٳ|;wwM&vW8mIiJ4M4McqqqFU븮Kzj=~~oVVWWgYEQE^g5BΟ?O?M$ض=cO*&tVHaQV"JK6704!(rMU!ISyy U~ (uS`n9}aJsP 9M>LX%0@kMfZR^%!PqMRpJn^E)P覎k_{U(o?XW$qԀ0,x)a& 'm- s( !O&QA2ACc]#̃jJb?"+ C?0!tMPY$i`xMNb6ƣBJJllCCPHIJVI>9~x&yA#43ng$O4:?f׹r vZ&++r`{'H?. &IPo( RPL$ $LUp.(dFn@^Vwk躃"$x4\2)˜"Y#Z-r$EԠvm ,&os9_˗Y*-RSDikLҀ4O 4qt0nܸk6B0j9~fsIySg9S[wzXeYK$$I2?]kaX;w/| 4q6,{vL]4[?m KEA>20հiӚ0e&(eGj}sMS:f9G9Qf 0V@#EYfHBP2EȋIH &Yꆆ_wm5!<MjXhRc2N1Ͷfh\z,¹K=$Fh%rri(C1|Sw)#_qQ*2 t1sªW(IMEYPXdInhiLVaLJk+䅋F9& ф$,/p2 5A*&_>QhۑdQTزd:eM V@354+Y>s8P D?O%R>oLfcc! G<,.6(54RˢtLʢ$Os4Ct"cҝ{621A$hB̂U\^)Eey٤QZ$Eer-@ JujA6)MFc()TIor.+b}Mxh.zb Mh䌷==9ԪrEU Gh ʥCQlCB/\P՝y >C)drӯa 4871Zhh]>I^'{G` Up]:??Mܾ},Ȳ>O74U?~zDHN$I}g_Dp80 <@1xW~~OL&E3c0,,4MWYh-JA*t@S Xh-\B)~LJ67|Vm_$™7|gqwAoH4[mwd,Fc'0@ܿG@HI@[u6PJO2Q4a{{C0)KnH[xϠx@d(F 01 ά+eTS=USR wĕ UciV:eC G>Ae?`+ռc!⢞]'GU0%n"*{ē1&1vAX:X:*JH=Lۚ9PÈpWĴʦ(mUyןRdI^6n@!B@<(=QMj؞uXaX&!i7p UDؚK{iTلݙJ)|BGx4s#"3|&لhE{O''Z%$f rPEФ& &ePNBD^ m!,_48yFpn; OKoo[#npxObmnWؽs[(:JoM&E՟F-pYB'gzĚ YR3Ⅺy(4ݻN;(rWd [;4-?_֘jFf<ȹvkV[twY9qөF!.R)qǸR֩hHFdyJ%DYȽbíYf>Pan?c)\z*^oKn&3hJJ'I2 3͓O>9# /Z?V>`Iw#RQ5%Lߋ;88Cfx<ܹs3y0OUqHH!/ͦ0Uj~>GYob4!ᐅt]NC7Ch.Kzш[5^`4Ha6XziUVP.mը }fX哟g2E0bN5X\аMۇ䉠r؎M $/& ʔ eLzoqg1*ɳ G$}\Z 4] CJ2\Q0F>H} qeΜ9p||q 888lnnvy7?6ׯ_g0)lnnb6;;;3ev^'c$7.Uy#|^ |0<N;ӤeAp%RܸqvwsnhFq.mO]ɡ,y7fi~׮]u]:(}VR~+$IضeYa8 >_YZZ fd1o&W^*((7|??si/??99145hwwZ`0 Gjt t Ϛ ;>%ߙGqM'QN۬eYH,˸uv}k<Z-(baa}kRn4͇,z躎8j5Nyh4}PgJS%a\z)%Z%1EQp4~g `Vt]sEf͆is^~ LKli=x@gqX\ZAh/iރgi\,;Bq*$vU*8( \߂B 0B)Ae2hvv4Mp[67_j4! #7cqiB,,,L&$qL{q!Q.c:$Lc4A"M &qL8sÀUpo,sQF>Fǵq|68:< v( ZHYg%e(Nnit<"'srqDQ&$wZ`Fs D}V 0m8 a2s|0' "L 9[X~ͅIoDY5*8)X\0CfF)%k-" |]ëxui'P92PGcEoH)8E"$,*;j>46"B5JUU(ohBgZbg rJګRYA&yf M G:qte2 ~hPX?jG%_?Q8:ՅK wJӤ^v1 Vp8BAj!9\,Y>0-4]g2 PeyQ#Oc>a6KKG4[u$hr2s1Q2QN;R*řA0%dG;7Π-tH$F$3uiMFD^x`{o>@ .as. o!oQ_T_wUqi8d2AunܸAQej0Jg$xEdY*M02LÐMj۬?d!1%?a8&'}6GGG3t`j/S%/_f}}^z!idc0FQykd2޽{U jiKǩ5lΚ\ekP3B;ITI)1O'~?L:wx~iB5k2@UGku}6:QQԧ>mt!Mәݎi[5'!/J]n FR)`R1MZ4ŴkLBfO& K2LlXB8FtVJ4)Kn tI9K>ke xyaht&"v\,uX:%]L:eQN3'fSoxdq 1t^`,5yBf<1hZx580NVTu Ph1iw4y\( x<{40,cfppu!Pqְm*~DgB ȐD#4ݖ@fh8d"A бVquҊZe;-KHlsZY )H!N<ޗiiN3I,Q6Z~5j%?RJtS'/3cQG%ʶᔽL 8OR&4 iTA%<5,ՂS74Z8HHֹxsH'deNjH&($$"NG6Bt[;)M{ :>@xln@}*q .,9~8,˘?,|i 'L>أ~$ȳ&qQLFlw(2.a6ą,?H(pBfzXф{wiwtA1Y%h8IVE,樿+$`ݦq* -LG5Eg}.7^KVbY%d@qxx>)v= q.]W_rS+˪095eYo|(xgͻg rgV~WuiA )?K7/˿<3R{Z `<3Lp]w~5h:(NFc62qgFOSK.8'KNxD?=tښl̲졆s`:Kd$S e+n:#Дo mj: ]GJ Yc u5]@O $#2Va !5rVV)h#퐸d/T!ĺXꂬLI’(=gsvs1(Xiw.Zt$ޤ, aVn7v#n\>in3n4=(p=!rZ )u\ߣT4= 𐴿@] IC"! Ik:am[t-j5ޟJy}<Ÿc9U5en7:6 @ "F !=Bs 4tvneUUscǼ"#:\=ˎU;֎"+2/Ф9OHtd<"/ |ݠ, f %}+~?$Br huIwVNQTՋխ-߬ U)1ˎ=\{{{i<}/O}O i/?'$G(bym y&tJe|#!In޼ɵkO-+KRTUEcB:5h'qpp }TԠ>=Ek4yi6;Vϡ( 1J)3u 1> C:Q=VkIׯ~H/t]zcm4!zǞӝ;wV\\im˅cW"Hx~C5EYJj5\5I1SW5I 4"9OLx71[T3em˧$hFYV$i6o 0 $˨E5T CGHM`j:Sṁ(@ݔhEU-tMh(f<%͖g?1E5#rn݊ppD]ל;ŭ[wiHcM}b~(u0NN":'l`Y&Yw|+_O}C8~–0&.~4z"+co\"AY{JiϿxuZ1%A1#?`4&q\w ੫O28o}#P vwpfV`MQS4A:&qNfeIخI.y^`=-u j.b.@Z&hP&YQ /$@1 uY! a)0%l:1mqB6K(˚:AJ&uXE{i1k8(i"u ǷI ˊR()i4fےUE'hݠ;Gʲ^#uF"Qvg99#n,(*E$'4;3Di)ۦm31.#"v+vX+9LqnpmcUŃC&RZX©Skя~5vY+<*hJ)>}>X1,o_أ,{z=zJ)ZAv}BL{bϢS_\7&w}6;;;N(ׯ_g2pUt]g6qi\e<s`.ſ `tl6,pHcoo/-n߿?ir9n޼/u]3x79wɄllllŧ?inܸmۊ/!l4Mt]6KEeɭ[5*.\A/"UUEc5H)Å 9+VSqq&BIBR(`6h>cÌ S1  JIzpFT`i, RCPahDi4ѥBy"b(w܇p\t<_ &i.i5s|؇ZdTE5QLwA̦36zk(8²M;ipߤGk.5TekH%>{ v| 6S.^nyQ^eϓy4)\HqUk$[_#fuI4KaUIwߦtzIiiZ'tuFtIZHhmmq޸:5dJMtmRC+cBnONIS&ua5]|rDՂ~~niݰBp8 m\]vyl]tr !㘻w2րx1eYv?zܿ8<!ҋYӴītwwwy7m~0~:FSN!㰱 ԩSH)y뭷}!=48iZܿ<{޺u ]zܻwaə3g4z4M1RJnݺw+V|X 9vޭ=zGk£|љ~ᗾ˲ŹN4Mf2Xf;,)/Y֐R21MFY,xJ)vvv]֠ <]˲Ų,:/_ŋ/,ˀOfmmme⇈HG* LK'MZUEIX-YyD4Vh@QUX,*x7oj}v 28膎aRPU(Q5U\2( CCk3]40 D"0ym9'؎sǂVtFC(` ZmdHCJFoTEG\:7n4{-c&{Μj{ﱱ~)ުOZoN<"Mɥ$X[ՠ?2*Yz}(Hg},(Fc,ҥKA@UUsnܸAߧ"> 49}47oիPT49::ݻKx!vyy+R_8*Zw>P5g_E|͇>%?&`-˲$IR4|lnnܿaڊ5i>0( Gsi[m=ts7CR4dn %FTeJ jjMqźmVQ!e |%qQU5REEkE4 Eia&No#')B l{yMcb ax6UV0QaG##uk(sa11-gA4)iZPkt!|_L%a@S+EǸCQelE s pSTck # Zv7fΙ±[M8ϥ$9~&d:J8{v8d08t;w>`\x<ƶ<[`tC >e D֔ѡ,Kcv!b-&i%=n|~sg8%+D`LzmVqG^dw \t(W5hŏ*'? bq(q_ _c;7&foxtzb龬X^ X Ɩe}˅(Fx<7^^\[ԖVEg0 s֨뚓oYEɄfIǘ q}7^dYF]K}\e4--{25@ep8|lo;Wv4+~B!y]2jzd) 0 lǢ(JtMǴ e6Da7Cxas0. &LcΫ$Cd4%9Wr6&њ% x9hQYlNcp^V/}{}߄XS?S<}lf2Mt]*ʲ\FW^]Eh8(<MӨhE(}(z*`6irΜ9C8y4 }6Z-^yʕ+aH]4//.^R%677988 Me0dܾ},9wvnݺ6kkkK˜?G('YfPeE9eY8izѝm_͋ɗu}i3XXXر<TU< I666(%&2er ]l s_x J,&Ԡk**P)IZ hZՄ5$M0'4ZiheE 0(R JMqmt^ b91v1v8Ih5Xk{~:!J*,&- "1 ZyU@&!\x_A]H0U \,Z ֳwx!02gzM(yH_Vtm©"/jn xYj;c72u9PST/ Wp(ai gȵ,u\\`< ix6Ya=]ݥ,"dE@ BY4]FR1w✻ 0eDx5diifjtDm4Aj&q(٣ {W>Dޙ4)6{.J[^^ZkhWuN1lƸJQU9װ(ʂ_DZzt+!)^'"\v uzU//O~͛7988 "Rض >e:y3xh6??׾5~~i嫼GқQGmA\{ER>5( ^J̴xqYԠ=.\bPUܹwHU5=Iԩ (qp8 '\.V87hcMd+V00LnO4M& qca,EwhB^___ e-'s0,K|IvwwyW9s̲-ޭ-i.CMӤs?sɡE JAav988X.2X;x^$IaH)0M1VxGg>jeԕ¶aZ jAU֔ecllt%1qP+k*NRiH]+Ǥ;Tu5aEYExU/覆)s [۠LSxlqˈД )e#NBMToaӓJĒ6QVQd&E^(LD7=ͧ1K"|w,ƳtZ-ʲEQ2xwp@2~aoc)BhM笁CjӨA{@D}A( !`WY ?h@z6(D93MrwsiMC$;݋S󐍴A5!RfY8ǰt~^{ uPUME;[h$s4])Co0!Fe2qMfK(҇Y1p6YCR` V),i!SR_srcP%z1 јєE\LAQ%TYJa.Z ʜo*k$k:Zty:&Pf9aVSY˕E͊-BF>VФ^T9CK<3mΜDJpF^hB8 x6Eq]ojvJ1Ã#Ә1k!,nǴ枨wM8۠g5R&q4r$m!ɔ W_|~44'RŌhmm4{骂oE9`ULa{d> ۢ HX&dx6݀'S&_mgS1&GDa<>=υMTY # 6z۴c:SemzŊvo|S= DׯccﴝE7t! Yi'fggC& QJ):/"m#$Iˏ W^#.]3gt:ppp`0@)8eYrxxȵk(˒{ny<[v/w~~lnn.}s?Y=g> doYZW-|u]L~Gmk I h\|_|qU_%O~l1Ih4h`6I,3( q< y/|]kbVkYVb-ye޺B;$EY' ec8靲)k>E^wmZh\7jIQ瘅gSH(("+]ЉlP:k yF@.\Լ^Im>#7(yIYV׺46Rh2b0#_q&6 }ka:R~E!T syn`&a[x6=3J&X1!"ۗÈ1<%gg4|t١i˵WtՋsI'nna$1sAng> Bp,H89Vroa0! a5.&5Ǽ~N< h*(JLS4akgA:y& fC\e:ymWcN#:&& yJöˢ+̮HU tXcYB@2^ p,`n)4fՔʰfŷJ/Z@%kq;킦c/O tH.u5o7-Öt K=u-ZXah. jl[=5j8cRtvXŌi!5fPSYLr򴠩h|d.ՅhXRcN͊YS]\`L#,h59:WUpzY@Rm<&ȪDik~°tLTnwo:I‘ˠӹ୰b{3hR&1y8 Z5ٵ3񝻘˹6q_gt.a&apxx'.yr O\v4dk#t6^;?d2L^ϣ xaIx8SET|t_zA 6Ժ!NQ$D 4SJT=?ILu&iU3ZMJe{u5qk8JI͍M]QDeM]U;ȝ=蜧c:Vu s9w3W]sRz)\-:I&`@YonnvZng}}vyܽ{CN:)w]Ӥ/?OO}<Ͽcb; |8rAYM߉wA|~{ Z5h>~dYmyr; Q~!OS8^N,jt:k;EV,<}_ +~dQJg=|B>JQ%94nDZ1t$NiٱɊpj73[G0m4͑R0DeHRӉ8Jq\4$O Fj"/I yM' wej042hiBYq 6=8 t,sjumM-a踞D+YɈJ(@%[k=$1*^ϵ6k0 }IP1K29X7a4\6Ʉ1;Ns24/2K}JB =j",H5̸xBtMh@Y縶M91 )񋘦KҸ h(ISGsh],F"/f"] z"+DU8_i ll*E/ t3'D['<3uNp2c6" ywX4 y駸#k]۷@jsOƻuI׳9~pf\yǩPRT[:e^m4]4C6uF5-haҿb!VC?Dw}|4g:7ɯcHV3 E$͍ vF3H8a68[gc{n0=q^D s_>^*“y^9(eg[hT)簳inHfU][c^Wh}__~-Re;mj믳X|3K m,m{޺KiJ'_f0//E{iRВRK/-m$ʲΝ;\pC,ˢ,KNNN(˒fIXݻw uY qq)0$qz{ٳg `]*+V8ǎ0~MQoB~-𺮿ˣ|/j.y׿e Ze۷9-BƲ,(*&ɲwAycrru6Ms5GAU gxv jB]EIXi4\NhL*Sn Q%O9U Cl:,Hl^h,+F) um{~kY)ע,jtM"PI& vycNf LgqPVN塄"yN^2͙3gVBi$a5a"skWtE'ώQ,.P;0θkϞmesaB%u",MyBk#j}fΝQJ3o} ,4 !nV]ʢFpT5]#Iؘp )_ VFD),2^osi3bXG_>],]و?A߿d׹y?tI8'ij= qo:vsH݆,{o10 d8`wCDU5mQ\>ƬL9{ ,[wIAHS@N#Bg?I·hL~<ōsw9]lKFnʓWxJטB.\ʵ1b}`A!|tmn޼.G0 A S詚۽HH![$01 [WÂ$+&!.8J1>UZSY& hI^HFnáH !MB.R ,K`55 [GCh Ԑ]CBՔUSL >.Ks0PJ&{~ !p= Qc׼O1gw31=8~2Oha oι{~=y%:Si 4TOL}< ,V51}:!2Aۇ+4 ~oA:]ֳVo\r7S3vtlp'^Z#ypH4x8f{k8h4yUR᪒v 2/ceN% Laii:o6gwNSM/$^I`<{,k_"޻5N}emp*I^m=Cv(Us9>4; 4R^C("ϣgTfZΩ:°\B"(r>TB)JƒVO__yu]n׿/bY1LNKhihFğ3^zi)YMx}'I)V}=~p9޽ٳg>v,iˠ85"?`0@u<̙3_XVUY6ou)%E;?,f5,K0ȆyG>ܹ×-,[oZY/pg%į1@T6(URV5iQc.k@b:QRkse68&2ʢn9RM`&$LOfH]0:0˨츬R "K~C/{w?KF1͖?LQcm. JTMllrgɳ /ИCOfEw{7غK6HD JPcjݣ(23(I6"M$;$ ;vOf1U|޺hPW)[Fm(\p>st|R[ &aSϑ}' R|9"'A>H!y91ilnSôi5@Xc0q6ϳ.nwpFܹs/%'2Ff3߿h40 Nx\XX>|4q]~A +??M 糿ϵk0MS'{4o_GJFW5B1UQa[xJdH;MMarjk"-9>bycsu $ƌrހPW Cx լrA% sH:t1*0Qw69:4L z]Lb69:v@Qܛ]lV IK aJt۴::A8%]h8%-O5g#8w~,2 vmy nH $v54%/ l+Ī+l+B qFE@Rk:1s3>E&FaTŏ3!^)s]6? MٍWHϡȶX|ec&ݖCUTa6_-t4M6򡅍2I8>0TGuIF#5\}}W^g|sƹu,8y 3Ifv$16vv=iVp~O~\tӧO3N'>Aei7n(,F+~ꩧp]uN>M`<3>,nw nibY.]Zvu~DeA@3j|@Ja4 ﳱqLelmmh4KuggvXXQlllpM <|տ4]%ܻ>ipK.1xꩧH]kPIJ,Lg4oAɄ5nܸ]kУwb !EQӟ4EAB425ʲD4&m?`&gΜ! CL\.=i6}ʲ\_WHIVG1Rl&}OPumTGNoZWp;Y$I$BF.@prG4"(E1BJF3$c$iFQ̧W^է,}Mь/c42dԁhR^! 스qM^K"Y CٜYv=gjꜜx@2qԹss'+`s j|`3C'?iYшVw4hhH^{(@eXJ+~񪪩84 '*rK'*#dHaQjbrUNA ܻuQ xXV(âa-LgS\.jqD٠khMju*Xm o^ %C]!NM)ӄ6ր`kK3M\PY:O]a360hH|&__f?AN6OrwyVOqtrs/.2;1-IEMkcsaEE^ik hmmS"<g k{&JՔUI8-N'$IBw+Np}t)* q (~ eq4$RFf˝Jvv=+<O>gxI&Iz_;gcmY1\=ي{~7|;w;;x"??cݒR!2Uuzض?{)%e=I`anȲ}.\vEXEYܷE? 8<<B0usqum7n,;L}(ݦ0f… n&^ß|3X÷9qQ=|Ƕmvww~Tri k묯sڵeywKUUaHZn5(jmض?uhY}nB&0 u})+of_/y'G @ "b5w7ZA#QkqPQ1 әJ1At0C ˲q}Ikk= amw)MHMW%d)i#$IJHMɝ7tI\;} t`:m`6 ut>`k{7x>.71'Os\Ӥ Ѕư?e6pj}4)LQlQd%fVADQA]6(<6QUڢIDBai5ۭ5^ ޥ𨦪`REH _+] J)Y5Dk>>\ 4FwȮkTpaHAX?R@w.NEUBP Ce"qJ30jؾ nݹG>qS0]ݶe;ˋ$ʰce^R ۀZf ~k.וb.(t]"ܯ@! i`>Ѝy5E= ȳۇR`hFhgxlwnynsM4~.^`3W0{G783<*Ԩd޵3k֭Wz8±Li*l JrL8AZh~(H'薍ݚ dH<6=^WyR9_CFAwu>Ï"Bd>v7.7y5eV{Lq{ɘn8O?dz.i޼Mw~.U y=)$#tTՄ¿z/?%4G&l^F9qxu,%/ ZSؽt `49͍5Ons)鄧>{&UG$FC)G.5L"4ARRyeήh7,F+ {xUX`hptǯ]W%w!PE&YIhAFyx״[eD}IjL%L~i 3+~<ϹqҦ(o /=jiEuMK1l0e.]B7os][n'[o۷i6t]9}4i)YQ%4 vܟh&W\?ȩSxg—mPG;QG/^\v}\ܿswr޽M͊il6X~35h뢔Z>)HӔ,iZV]y~xy-|TUV ۶e-xn o__ܹs\vmy,,%MS2s[ՠn4Foh6[G !aSOh6OqY:E%: 0ZtHgLS,$ Op[$p2|#K2"F4z=) iwLuta#eZi2Z6pTCי{.;C\ۡ,rf3 l$JDiljkb},!cuJh6bo0g)DtS[^\7^YI,nwP@YT tINUըJyf =-MhQ빕[sHai6ya;k^Fu[]Jr*_B%əc6Zp lׅl,)LTJ~Q1 MȋB56:Ti;4M( Pe㞾@Bҏ{L߻HU#tˡs# 'XN1*x z "9ThyOT< d> oQqd)$c#4\pt6oXTI'Եb:"ypzG' ;IE,55FGG6yQ@J&)kg1ufxʣSN+B_L,aqzwAY1F o]c " #T$u&A7E4%a3ҜD:ql77쐶nA;T Bhd`ތTuMY̭$CC(ka&(ye]ߋ~kg̓Pسz' ks v0D8px"K Kk̬Oz4F̘5<ˉF133a$'Mr4h-5EUqɳ,ɐ(4:iD)qUݒs8%K2M! m*4q# vbg]3 fд+ڵ(6YJ2vl#+ NqNVNnbP Nc|N`DDT*Z^O "A`@]@ {d#QL8$6g#lm%xp4(c_dBw$uQlMϡlEkصkj}CaZ3 4H1L4Hq.Liumy8T2b$AۥRaۜݏ4?~y@i} iʚ!xRhbݜbru~@nʙ#X<ڬjU>C,..ܦl1xl"3ˋ8z8renn9=0M[hXNXpM`usH8d`@-Zi`Y i"k7I[rc|f0ljC-IeLOO$ _?G>~~ɾyh4" Cfff|bc( >{7iǭYp?By??MEh4}bE%a?& `nn(Z}? ԗjP$l6'6FxEQV4Myꩧ&SOq ^1=A qM8tز,z}9(+mM?*V 6hT47iÐ6nF(HB\ߦRsiNWuqv ӨWрl<Ʊm񏳹N7 vwwcyyO\|o"Zk^xfggY^~i}YwٹWp%>f˗/sԩԳ.<9<ſs1 x{h4beeeB-j뉢![[[<3DQ͛7 JqOcO~6.\@)?8sss,//SHӔz'Ƣ(xG?7n̓87gFltJu]d[o0$ vi65VZ6ۘ[kPT՗f7-RՠM/mmm`0Ԡӟ4I jPV dY?&ϢSTSNO#6??}8EX2#-r R rȅ@knҽisMc <)vKaZ,hv]&b&(tNeaDk20 tXI; iLl*N 4"s*'Ht7>D}~UvSl#(K ;=-:sk?,*|$KZ鍺'e RiQϵAdܶ_P­9NԐ,J2EZ#%VDi9 p?xx!!|0xI~7@EW62iw[Bm!L0&K٬fI8ZԔ@Y6~5QѸBC1e㫗.۰1ĝȻZuwq̶}S;(a401 ;iJs:Gfר},"D8Z5&Mc,AN01 l 1lf;}b8q; :K?^cK;0&kiZOe~庘=R[71f{E~'4M߾ӻMV;fIeܸq??#H9M)|ߧ1x"'Oj0qe"~CVٳT*Ν;Gs"2]6 Um44ۈsαŻn(xЇ>DE< :V ۶'n7o(GNJM8(boܸя~WNjfffp`@òsV#2.^H^FA뺯}RRvcalmmQi,//IR!2$4MAc-u ۶iZֳqx֊mݺ[\eww44 ׯu:V\tN8:tUH .h4RNjՁ,9ӭB[y3m*PLODYLF׹.J n,0 I$r "Sr,aCQ2SMp,ɱM D)CHIPN%Pm`F&{=(`SY:"OSS+8y Ӎ0Ĉc3L7@na ,AZ&QJDL5jeFe='FGūPwKE0)l7F1HP*慄EZ-u@v94BmbKȪ94ٓs 6wPm%)rAQ 528M9fuR$nb?) (JsF: ;6|4$eb((42oSa:%V4̱]"+HbCDHG&co#j:mqxeDZeofU BPaG#0h)k/{XFךa2Re0j4_!OS~4MG dqHBJ .N} R/] x"??~@CRA>g)FO?=Q޸qk׮q1߳xף<4*ggxnlmmO< Xz=4eyy۞{{X\\$c=Ynܸ";;; >/~0FAﳰxGZ^cO<v .C>Νm,,,O9|(5&W\ﳹ$ϡhpʕ7\n4.)gkq(tAa+9APEq[U"2x4Vxjۻk j4i455EQ>'O䡇B88;;A*;SS-66ȳ8Jr} Eww0QK)Ҍ(LPÐiʠ @g!ChȰ 4EiUE+ 0-fN'XA],3x&JHd) CCiH? +"t@/ZE#3GP_|QV{iYUn$ n!kM$>hTm"%EKz9?^G_oEM(~;ߔ{;CRQVV\rjJVcaa8rHY>nmmEm3???Q&*7qfzkkUiѣE>;C]םwc/Ǐߑjj}m6}{'>|$I8~D?r } VWW'ўaYsss[fffUfgg9u_u8#,~8}o5yDZcbaanKKK\t !ěVƪ &vOcOz3+B86`mzf޾-`vנBg_EѣGIӔ4MFy3ItŶllql,Ǥvq-qy9U!cL!DINI ELc q'g}”BfSK!=j tvOZ#]9U-(4l!_bރ:Q] ho!yךj ENM!"/Zg,{A36hy4шKd[ <$ʋ--r's%9ǫ@n zw=Fo DVc/ hME'?'?ɷȑ#xxcy> }9PJ~pBz4&4<8yDɞd;RI]ɲlb->;;;Y>ш Eq8looO'>sss3q-Aq"i'|,LӤl055RjRk O!+j m$ɤν q#vP8 !y"St;8A;$b,W!$8$N1md!6eF ~E | [dQvX.rFmz{ e`Z CH"E!`' =:}IҔ4 m,bg ም=fȓU{D^#Ib* 1զ3Giԛ{=@RdyNCLeҬ׹6 ST*8~ t0no>mW*lm$!33 !Ji1 L%@hr#"OYrRlw(qHE1} @߿Uk+4GQX.I93Xݪ~ з.@6^bﰝi#7!H,\<4i3UT!E1 r<ī:8E8F1q\JRGk iW Fq(#EPfUG(Fs~ *Ki708a juF!2LpM$ *xX s"Bȼ! r d *IILpLYa|IZKĨy`EYhX@I( $S! cIjMW +Ii aXݛxU!*AŮթןʠÉiEA#Td5\a8 8IF/^ҨUܡRbMfŇ !o^*rNO=Eh..KAXAJaR9Ŷ4 3ȉy&y>G{{(9Kgry+%7_lܷghA/Y5nfZcwTOZԒaYeZkòi\l*;Wh/3ۚb}lj.vuE}M^}!AVyEY 1պOVj,<> sS&pLJWH#vƛhHQ䘮75aRMNIiBEFOi&_xP/]_gy'&^)%^ nxqgB]r!asMBDŽ{{{;vl|_u];F$Aӡ뱳8O~%:b&{{{EZk>jh}}|}?C?G?Q\2y<>bY_ TUΞ=׿u4ezz|p 0ܐRbY|ɓ%Vnjj5IiZoj:mÐ$IPJh4nSz=lm`fffhbE5&TƶYloos ԧ>šCѣ >k /p[ 7}G)q3333!߳,z ܕJIc6 C^qom*uMQyy>iҎoed6LSB`i4q4vJOp3@5 L$K3‘F(r^'H!(0(kDm!$iNQҚF]e`e&QL9Cf80./m1iVΎhL`4 P`}Gd,,t6'B<ʼn,lעZZ%{bfF?(cYJg9ie9YWm1!klnmS{e>F*C #f̬BY3e(ibJ:#i9UB޴H HdI2 ^55st01$AVFI ]>R#&Gb)7L i^%I?žuf@HѬwh)Ѯ(cKWN!h S eྌ7T`B`&ADL5 F{{.,0zyFffLe0=3lط$W[LvgNik~cAy^z:U`w"낒ȺZC+L _[%Ǵ1rIDAT'YF4 wZ`)lM>K2i-.bz6+/ZsYzΨ'mZ7o8X8DMe֟뫛4*A`Yms ؠZ233CE$mߧZbY&!=^>Vd%} :hھtux 4ܹs{AILfΞ=//}0߸;A΄jWs빁ҢVM_r'6`шN3QCu݉?5N{fs}jkx~FSB2 C$֨ضE^D^_sɊ AyFq=$ cJGSce9crh4ɨiq)(՚QmلQ`{{!Sh`  &Zq.4x[YssmZe?.dkw< v~ o`pChīiYGP@RjIɱ,a- ^QQt4L io2z[=X\^ag{ CT|e{sX(SѾv]<⿱q!@V]t]0x1oF@WZiI!|MׄP!˿aW^xımTF!$yc ~b'R0&t^ lepZU6tQ>&QJ,`p ;z$Mظ a ئMkn%Oǟfᐩͥ nveZTk5Tt\*G<`&? K eȸL ց o#eb7]j%=zv)f 49uNQCsnwqv~3 iRqʁW}y͝z&MӠ~xAguwAqsw"'3.?W,> 7CLe0 TFaJbC~"aYOϰhؑ`@$x׃lo`(^5vp4^e),G9:g_?mBR MdEi4%Ո")`/CaH<$`kw4_`o|'EtHmGD^^EQRYJ-}|y3}7:ۣm41g6osg>ÏW_++++_ c^1^`B|+#s>dpYl69|0Qa&G})%6b}.^H}m(ڵk|w}O==^8[!iFZR`kwrB0;;{[̲L[j5h59sss:tkP$t:4h8&˲7Tn }5[!dff4MK[RJ^&u4y gԠ|@O`i*Mx`JD"/&s$qeCeJ2  54hg9a )Yc+"+J:.K+m4j 4qQP)BJZ3 ufN?$"4"טd$g$Iш4HҌ#QH- IØ~oLF`ؖ4WVos267|0by68K1DiLĘ(-ٯOhpTFF@Xf$ Ҡlݼp8`9aZxð:ssay72qd[-a*<@1x6} z;"4-Kۊga~L֤INE@yn%6B 4;lBjMkk؎rN;WuC2ަzqZ6qO 4!I$1T9, ieX4un$ϋ2ͲÀt?pLh О4`qn@,/S󢠒JBXGR4qlT,hM*(Ey>YJ) ԁL#z:} mfhna3bw68:BN(ŇF&mk#nF\*A'YWyc`0 iov;H 4uU.>#Rګ7\ƹ$i^ĩai>E ;ؖF i:Kǎ2 B|41V}(=LOO9?zP@ Ü1.iIm`WY8ymSԦʺS Bbfllޤ5YX#hqa0u'Np+ѽq8ιLkR"븭:3nc[&Rk PzszZ>}XQ>u;(8 X%feh_WFA]òQ )B5%JIrW9^#j-SWG72 vgsYapP sFaB(HN FQex$ /_}'|{{iZΤ(R5<oQK/a;;;4/?qP!axŴqSd6ReH <@)ŠP;؎iAobS6 caX0b4h A I%R4'MKe9(n"(y"X,="'sUǶqǴ"NR|ŴJ_x)$E^`.ш=[;{X,t7+(0 ~{DIT%2(¶,H6rb'fKy:e!1T:$NGxP!5fgPd~EǏS3U!,9ZKrA`8~aߢƘB"E %ҵ"3 zA3 HX7hl +s}@d<0+~8(˿"@077QlQnPBSҐ(ˠ JY aH;KKC܊[uyVY&ʷJ[ r_RT.RJj (Fݍ.rI3 ǢlD#TT3#@f1" "I)Nat5 FzrWjy vwB Ӣ2LD.Q4_E9.JTShqfI^d7H6Ylcs1[3հ&ηXkI͕7i;BpcW\ZvGu~*ESי>y `5XX̃A1Z^qO*ՕeԦ?q= 0mJNR,4`)1i,cXXĉ| /lKNc fۤyZ KXY"Fl]bz~5ɂ;,O}??<#;vٳLln;x;1[|B#<¥Kvy !7(ijc}}Ǐs9\B<AѸ'Jcn .v'J)<ewו+W~&noy^Z9eY C/c>Yp8СCorzi.nD%?Y;I-3333 1 @IN;y Iu#sZRJl۞4^mpYՌkWYI5:(gH)'5]zdvA :7"kX 4# AQjgF "g=BdA@ nfkxn0 0 L, ytR" 1,cTժ GIi$(X^a ϯj5n&#ir:Ӌ-ʽ͈:;"[BLJzØ|m!@2؃q?$4`jDy0P5؆s_[9\ChRqD4ʷ":ep24} f `p+uQ&+UDVH)nʏ_ [RjRh@ !z(Ah%a@0-J"Ӕ 6ю yEQ 0%dq$e tpMz{CbD4?MehMG$>QaUk8c<ő׮\a(Nh,:[٣]rC&L^إ1ma>VL 5K{)5J(:GY PrePRJ Y>t*YBbn9ȑEeWHEw<^QL?DQįb?c?~19{~rȑ WT|c=nH8VE[[[|cСCEW^oͿx1 I8aeQVRwjЍm M{!Nkfy"}lUfAup{+Ƴ~~9rd>4'6#nH5ﳺ>1>A :7L  @0M1uLd i(7 7 I6E^rNTN֐$) 25ːak;$q)zl*ҒCgtJqh6DA9(uwQ0@emj ף٨jQ0KRu&)\L@Dk~۲0MF꜌% -'J9[!׎@k8&§Pn89./L;~6Ey5>q@C}DKtw}LӱqF[QǡpAv#Ns"3DS0¸Ev )A/[ Wߴ*ҐdIΨ,$r$ު`mg> olN/t70UF10ѶR*)i(Ca1(G A*%0ph /4qPPD)8AU{# !7P?z%e$>ReR-x<5|I"2=n 2+WV簃_ ݐS?"{6vvFl^L_.QYXFFJrQg3t)!:6{. 'N1ը3u!zl zLϲWyNUhNOÈ0fmPKi c0Ш(ڛ{yQ\3\9ף3dH<0n\gz#G} n.arD.5UcJ*3aHbucI  ˲}ɋ)%7<cHךY1 Ca`0$G_t1B`V0xx\eww5W_ xߪAbii 9{,;qјgΜ!I7Lu]FфcLeKiX?4_hafffB݊,+Uj?߹O?VqM\}Gp׋;YjG!~;7FK)T*?iʏFeZS'w˲z]/GǤi>Z[n%3A/o4a8i&ܺ>`?==MQ}|Ԡ|BYa6ªP хFz) %wyZ(Z,Oq\e:!ccUYȉkS9a$)I$kA^xn)F!V۶GXdk^ؠv,Zcizz;mv;=Z:K˳\߸heA8@h8F(5fA/RF@Bsy)Ok|7bRK0(RA2V *y! rlF皽vZ8 e *.w YH37WgUPGl,z)'[>ae1a`ߓ޾%*Di;&K3R=oWMBgHa{iZ#KBXF!AwQ/EQJ۵eRWLD^Pt(kLf 1E&iB:t(D9>`>(ȓeV߃!+{xO SS\Xy8ᅧ/ 6vM[ 63 ڗViIs$^0$2QDEI{X@ 軋3MOg9iv3/9v8؞S&r;X,..!K4M"Od23clX~,)/`y}'y77N- i*S4*Bn8`H( {e`E3?Jq`yNNwxx]\3.S&mHa`00K,i00`/M7}FF{{{o&ݿ 7y^^qmξ%fuucǎї}|7 cp]0 Ο?#< q88΄?sĦFSO=EQ﷾y8 &D^Nr4eff֙J4MqҺ~7Zk{7Xp=s/T4Z0] įd C K3"q0L$ b(ײ,Ca 3<'4ݽBNh*4J"# M*l! <@Yǐ6cTm|ဈ6LUڨxdFǯ50QvWt2B* QkPqRO׉4J;[T+Zk F5^ͽ5 5?H+]qA},S %bG~Um+~  !U^ebaEQo"M&2p[sV?>ͻ/ln=pWj6n57׶Y=̀7n2SO3 ?c,) ['K/ bۢ?q.sH8) 9>*^S]zY_v$InAqcmBccBP:JV1z,v$qVZ(p*w= ee)U<,d4lc9! ZJק6!T- eC4 $#3\e( ^@XNI,JR((p  ,|MY@NQNyx ) "\Lhsf7V&V& {a >Mh. 87&]6+7fF2a,5i~o9pdfOcG~/~oЪlX8 cTpt; Ӆ@)k EѺ HDnU[g8L"T5,q3*~0(u[ )hܼ{y.]S_ ]]ZB/r2a1t "J~Ww|!DYb_j4l)[BGXʢUkȋSLe(|ǔ۽ҋU \C4'poF#~W!Μ9ESSS!Hcqqׯslۦad83!=СC|+_! CVVVmu<0 N<L+ Iv'x6bI7oޜrYJ}Ƥp7m>NȬzi!鰲B4 ?λJ)}ݸ(`!Vwoz(v=!ߪ>R7T|g4M( a8ٯjo :s Gի3:^XfgM{cÏ<+oshWj1aAH`;Lc R0 vvL4 IR$4Q$tN"JBk\!s7v򘩙:(M(@ FSyqHҔ0Lݝ.e*lĴ>^PQ )1&d|A1aT*h*5QdIs-8C)[qiFgtz}jU(AHVj8 @Cíh8,| e Au]jf3yDE ( ҅LY8t5*I{ خE$as,Q 굙x=N~٠J Br2 ;5rTmm^Zo)PqQnPvR}DØԽ /3{C3ZG9.Yc o;mV8rQZT˗^D;b> EqpqMj:ɍjʣ^Is؃iJٽ1`s:If!*y>2$1[eÐ^4F ^gӜjp:y2ZFMLf{=v1L6^XggkGN(ē-dK/=e T*qZcȲ C" U|rHpsM?AEY |ף+nMzNN<ĴXu|c~8qě/2o ~ችBRauu7oRV١cq%:č7jDQDݞ4 F.]"2>D5iA@ۥt&B)ř3g^묯sui4v4z7/7E mh4)Em3;;KQWԠyǹ-|zh;o -9YH4ShYrvpmFv{4ΩR"GHy^ $MSO^dNlZ0 QA.>.M4uDiD>0ii+qD8КL2%Os|q,w Ǵe*n;TQ8 %DaB5S)\n:xLfJ!Y/@m[S֑4/N8"/rFqHQ\BQH8ڣj0}.&ī}9~@Nm0Ib ӯ{y_`6l&Mre"0c²~C2(4E iH@OWR0%NyA8jνHNy% MQsȗ=L㬙Roy|%.n eHVWWw'˙R u4}<'тIW߻2Ŝ(4Z{HV ":g]'f)!=1 AkMvֱ*_eQ*7{|¿gFuYF/={ w1ܿD"_Y<Bŭ2Wi! 9TYUnWkiF]"n!Samwmq#^Z'?L#~囶 !G?Qݿw4M_+\p|3ض{/__cqq__IpQ._{y}.]B'> [~u_?$ImhZܼy< >0ooO?auu5? < /׽'N_>,?,,,oͿ?3?.??ooq}/e_k|~kEQe]NJ[I1 tTx#I LH)_6g.lKBz+֬1;;Kj5Vo襥W].O?4V?9|'ɓXM[$$I*FVEynYӤi:, 4vH)'ׂ8T* Ѝ!ȶmwO<d9R >n f{.2V{|ѫ,UӋ4T(3L%yeԚϟ[e;{;M^g{|'pEY^s׹_GK_?£s2g>i:H_~9hEE7" cgVЬ 〬HIӌWO<Ї~/>}ױB 0լay~uXn79?AKk8.~Q_i W4 uJCDZyUfXy9Ql;Wgv4M'uduuF0"s( wGwN:a >T5oBA89@!5M*($ @}Sd2bqZ ޽_C}EFZܝ B8-x<__kBL[gqoQ`k""ZiuR M o`4ls껿/| kvxK_'MQ0tcw8ΈKxɷY:z??9h9&Q^p-?ʯ !ɴi+\b/g̸a3WoH\lgíY>݇DAL1P\QTAOw}v zz{w:+\1}njüyz*:ƍYt)#ZFEFt3ldGcŊV)()8|W(vz1kdfu!P3BN!]uB_Y?` 99^F!C" %./Z RNU BFH=BѼNJ8^_'OĤR櫯p)wթEZ]xAF(=d۪/3!V"P3B@QvB8lN׊P=/FǛMdFt.H^^:tgD$'?z  *-6]ɸc̍:XJrH,HU%֫OQZ|v;ײ0'%QxW).R8ߥbӮٓd*++Yd 9yL{ 4^z~ڵ#66;#pEF(ȗ̙ӎ"3^&Btr ^6m"VbDPeP(,{e(3z jyŬ3Ks$ 3Mu6;qz Q9*))5TZ"yDf3)9w*;< )Pi֧OyN<ɾ}yꩧ8}4/jҴiS*++ٰa*{tؽ{7G_~ݛÇsYn7K,'dڴi|駤0ff3d߾}1֭[t:ٹs'ǎB`r^ػw/|ǴiQyiѢݺucϞ=FC޽q8f @pBjZB3<êUz{クnd2xz)"##ڽ ?Viذ!oOZDD,\`…yz2v *e&%%zjNOCRefϞ-`*DQ$""B磪J޵krÇSQQFr A󤤤0a;`ҼDʨ?hP|zZtVEK*t:/&!!ԩSiժŘL&T*ڹڅ (((CRuVK$`~d2aZr1`Ǝˊ+ؽ{7fիIfhٲ%UUU{|;wf͚ѭ[7JJJ={66m7| wΜ9sW_믿+V) DCBBk֬ᮻjR^=зon_3<& wIVxbfΜ)r8l69Nɗ 0gyٌnFk,Zo1 z%_6f~?Jo,/(=ԩSx">ʀJ~"˸q,X2/_䡇¤S'RR^9 QCϿJ M?nK)U1T\+G&Jbw]l%=>hG񤦦R^^βe(/*{|Z5j*+Mr?ps1BF3R2S2py[&uSch޼9G  .DK(d@V 1D4x|~K/2k,"j$FaЪ*TJ9IF\^?v9ۦ6;ndm`ZYbu:>ԬYُ.Αco'ngٲeL6M6Q39o.'66&m/Y <VKnn.˗/a۸\>SWfĈXg Ӆ\. q)x<>bM C"6:}2ZTV8v~=kgy!wؑxJSˈR h(w&e" n}&WpMZߚ 5*D݋Bo"Wd jA@*<>SH;It=pSVAˉ!' V 4.^`0H˖-Yv-=?-Z r2N'Fs&[Ζqa֋mWK'[KrY3 9DMӧ裏ߟJ| L6RQA8xv:59r͛#dy=4 l% eN9UV1`L.SabÆ ٳJoc`V\Ɇ lCapr2ӧO'&& 6vx"=Z%1=Z$\~]W.]X.>cݺu;wC2ASb2VZEVVcǎ<Ȇ ZtEܹ3O5:BND5oڄh˶1 |?~( uJē}WnD1o#Z-wqUUUT koaʔ)RVfd2f̘L&c׮]l)rs->sZ?#G$A᭷B1}SF>ݰBAw~zT*g̾YԠi] ׯ_~s8v]t^cݺulٲ͛7кukS~}>cFÇ@ 7 Bt<@S7>>C[Y&Z>bPXXȌ3P(OS9px4dI>łի\>uZ\9.͎V &T gz^t޽{i&-[d̘1ܹ{F#6lQZZʚ5kxꩧXv-3gdǎl߾"yׯNxyxWW_}}}*eH^y^/笠r -bƍ 0mҵkWx>F U\]'OҵkW 4|+ht:bСx^ /Yr%V 6*}kűvZ 4mڔ>Qy'Y|9?u֑իW,_/ҹsg6l֭[y70L'cj5999L2F裏V?0o6,\Ǐsm!"&L`֭Wd͚52tPT*uaԯ_`0֭[iݺ5g˖-̞=;C:ŋyWW:ubܸq[@0]\\J\,ݵk ==Sh~6KL&?ԩSz֭Rdݺupwҭ[7>#Ξ=KVVӦMcٲeҫW/7nΝ;ѣ.O> "-{ 8@ Gw0`Tq\\v H:u= ȿ{h̞={?~<7onݺ|>"""Xl999t҅PXXȁ8q<dee ^֯_ŋڵ+ɘL&)l6seVXAll,SNERrJ.\@ׯRۮ_iѢ#F࣏>o߾8 ED\.Wذa_21/~ә2e Z 6t:r =W& 2{l^//_fƍԨQ'Rvcx)t:3f ;;[x<̙C޽ZqݻZjGqqK׮]~:K,3uTCK߿={еkWt:wq~!TTT0k,V8 뉋CS^^_͡Cعs'C W)HݺulӇӯ_?:t>/Lyy9 ә>}:(ҪUj@|UU;w|,]˗wnݺlٲ?f͚qݼѷo_zիW9s ǎvڌ?^ @ee%*fY aZTqFn7]t!>>ףT*:u*?#v=zHL6}t:III̙3gq>+RTDEEjt8𷂊T4nܘ> &3۩UA[ ɓ'p[ :@?GSz|v*:fK{3f4mPl۶ǎѫW/&ANN+W.2yd|q&rKnVl۶cǎ1a22Rٱc;BRp3bD5+f޼yt =_/ruNʲe(**O>ٍܜl_}kצ}^ݻӻu{֯_ϙ3g;RQ)(J۷Sm6*++YbiӦώ;| )));Wؾ6:6&Mpwåq!7o]w͖U1F .cvIV#<إr ێqy^Oy78tseܹ̜9>۷o(3[cmFߡ[r5۳azɓ2e ?:M^RY>F0Eq4QppzԬY={p]wP#6>X)Sm䯻?%KYɑ#G=z4 ROG͌d].wVҴiSj㽃f͚1n8vͦML2{r6lҦ8].thΞ=Kll,Zݻw͎;.:ِB{eҥLdgL0QzƍǠA:t(ӧO'N: 4#ɨQÇwj"n?ĉ̞=^z`0ȼyXx1j瓔ٳyGtԩSK#GdÆ ;vKeTT?8GAn:1cSLY V`tT#0c ƌ}G߿?cǎB['2{l>hтO>Ǐ3g._,e1ڵk`<Oh"e?MJJMM{aĈlْScQvm ģ>c=C=R:8 }u h/[n<<?~\?=zݻwӸqc.|Lz߫r/qr+yڵk׮*ecyTz2ѣGKժUŋʕ+HآE ȤIE4 /U F!OhC#k@APSOqj_RĖ]Hdd T:%)7nk׮eΝ 0@ڞ… Xp!/"L8dzfhӦ ͛7gԩ~>jי5kkfƌ̘1O4Ȑ!CxꩧXbwЁ{w`0ȀxYv-~h,DCԮ];^/dСٳݻwr(++]v9pGs=G\\. OFF׮]clܸWmMKK#33E,Q=4hЀ:лwo \.gӦMX,~i̙B`ŊO3~x^/7oY5@^^@p֭[իWY`.W\Gaԩ.]BpA BII S^^^M̝;{ǣjyСݻw'>>JJKKΖC웿zjڴ7d-))СCtOj*|2/g&;;["6uTzMǎ9qx6lf"&&5k2aڶm^nj3QTTUUt:%0… ԫW@ ѣGٴiT T~}N8!Q6YV***())шd w\ov={w^󉎎F!Yf1i$f̘V믙?>O?4J?F m&}xM6qi,X/&L'22RJV .l6|A&OB`r۶mXnwܹsy'6mбcGƍG0w}\k?̾}xwyGx1xp\̛7_|bW_}ţ>3zPxs({lݺ3gP~};5̛7#F0k,4j6mҥK<#̜9z<>Pkg?RΖxSf3Eǎ㫯Bqy LSUeTTTDAI(*(d7EdPd%2==N:a, ϟnv hЄ… ۷.]p _Wnpߏ58GF8}4^+WgZ^/jrf111x<V\K/Ķm8}4vBWЌ=@ƍ~:FU$fA'q=(ZMEE[rL&N զT*>/(T@:@!Cb i{@AtZJEd ۃVFF 6g 33Ν;,ϣK.?N:T?"^Mtb_As>sΝˌ3ǏSTTD۶m9ԻѦYJ"..E1c )>sשj\OKߣMHQZWtC=D0W_eǎ޽k׮Iuԡu2~>\NFZ2&/z b WLiy E*gN^!)b :m _• W^/5_pq4 W\BT ѣFl6&%KfZ-۷ogԨQ?Η_~RO?vSTTDV{֭SN4mBANx1sy{=V\)q>3ƍÇݻ7Bɇ~HVXl&xA$%%!C`2|RFk8 ǃh@(*]S Ӣr;V+/"(bX0ao6W^eԨQC:ra0hРaÆr-S ZV4 6i$ ĉ8N ̟?_.\71|{5kaꫯXjգaÆlݺ3qjvЁYfI46m`޽\x`0?222ԩ nћcѣG=z4҂v /(,,Τ~h4st"eK&SQO|x쌈p8xp  blܸq<\b \Ν;G5ի&I M0@ZŠɓ'ॗ^&Mo0m4&NHlllcnj5Fb߾}̟?!CЫW/DQ$::l6_|'N`֭l߾M6Rgo>.\(R~FF۷:uPV-ڷoÇ/l,^Xܹ3]t!!!;r_ }Ю]t<38NΟ?π2e [Po߿?*KkͩS l߾\\.T5.gdd˼yh֬L2jt).QFѢE ϟ/Uz_ 'Xd ϟgĉܹbΝ+6zh,XP sݼKhZ Oe̘1+R@ii)۷GE5j֭[1 \tIFVsU6l h4ҫW/T*yyyFT*W***OM0Vn?R(dddSO1ydN< W^hA#F *ӧ=Qu)JlZ/鲆w< vs1p@ONV9s&>ZAڵe̘1|XV^N^)bN9}ڴСC|g̘1{LJAbW^ѪU+ի9&5kRVV޽{]6.\*t IZ(++CRtWOPpI{= c2` <ڵkK;v PPVi7`:mڴ!;;)Ǐv5oW g}һwow=2e UF KWٳYv-[la!ǖRjvhڛ@ } $s-̙#ͭ{9f3O?%G0K5ҥKy'8x b ao]5I9w8 ={)gȑ,_`0|nLFQxh6mDEETVVҥF DTTTP~}W_'F%3.#DP<@PJ5 *5>'ūw'h@FBЩ 4J#ja2Fi##5.?MAK<˴jD LWN҆fGPIR\JdTA`iQBN0( ~ 䨅_ EABe+>D($(ÿzV6q: sCU6&>yFyt:.7j+׮zt >M6KUVӴiS:v(-,srrhqNxA7@ܲ2jJKK%-[pΝ; }deeq}P{5 .?@ZZ3ЧO֯_ϒ%K(vzZ+Op PG.]2e cl۶Ma(--raTD_ III+&&nB. :uy~}֬Y㑸KkE T*%N/W.y!i[Exd7L&cǎ"BGeΝ>| ?2R Ř*D("l4"GcˈLHnBft\~f٨zꙀt4h/_&qF8˗FEE~; ,@p&wuĉ(SO=ETT(y|̝;{ҹsg ˣ^z\. 2e O=R/fQ;v,"++KjɓXp!)))Oʴ=zz%?ٻw/~)ǎKJJp\T*&l кukrrr2ކ%0sNnvƍǴiՄ cbzz:z>@B)**(neG4hc:u R~}z!{js ^˗y~GSϾ]vQTT]w7|CQQtLZ97[Zu2k,>*+C|rɄ vm4nܘ6mH e޽{ovp%HRR-Z(ri|Γ~ja}O>Yfr]wIbƌϫ*9%%;v`0U& ׋^'77`0hD&Mzz:Bz… 6lFQ; '@(hLBBEEE -66H^/ڵ!ǃf͚\xQhܸ1eeeTUUYd֭{RZZL&o^zG}TJڵ+FbnV\N~~>˖-cϞ=\.ڷo/Zt);wӢE(%zqEʈCEطoߟ.w3!4}ǫU,]u֡jO4nܘ:wL4rp#)).]H{:|p6o̒%K5y&ŕ!ʰ xFFDGG3h a̙1DhZ @YYOI&~ŰfƌSR.%aРA[n ѫy}&m۶qmVINN_Va~zv;#FvSRR|2ׯ4=[b]KZу9skX2"+Ztܙ[2@ %xeqt~LZZ:tg&B.cHhT bٳ'o6fG&'9q<KO,geP;^vOǏ;SMW_+G_=mڴ!77x= :|d$eϏ!]/t:Y|9yyyFvv6lڴ'O"Q(؜ipgЧO}{=j&EQVSV{AD( .?AXl>drPJ**bF%62e@CLlm>œ|bj\cg2PQ >?AFPtZD 9 |}"P7:ErYb!G"~VF[FTie2d>/B@De`qiJ|C(@ ZtXHA!. >ՠ(R^^ATt$*埃+^TIdd$vAUBO>̛7dt:9ɓ'_!g :)vڌ;hf3*8q"5{!**J^ݶ##F… 4JZfڵ=r~g񶕸3R?YX}[~}wG$ =͛7~:j"??ɓ'Kp~8q"~֮]˰aÈ-ZT}RSS4iEEE<<,Z\/^̫*[^=Ν+ "FZlI _[nߟSO\\R)eǬp~iFEdd$e˖IzT(\tѣGС?@5k2zhj5;v$!!?BAϞ=]'q|&$(‹ݸq#N 駟SVV?Q*FVZŚ5k={6* =Sl63uTJ%J9sk񳱼I&9rDr/j2elO<3PTdeeq1P(;wNLNNᆪ]vvڵkGtt4r5( {I8p{w{7URYI۶miڴ)={JEƍy5kӦMcʔ)| ߿?d}z5r>}:& ‚ hժ4&$$pb06&&F 򅷩T*F#;vd݌;V6jH 4L&$;H'=k֬SO;PZZjeR%Nرcwr$aÆm6 (/))cܹСC1b"z~?ov Fdٸnr* ϙ3'NDPŰa>|8Æ |r?.JgϢӅ7oi߾=N޽{DIMM`0hۙ6m|ҥKL0bV^]saРAǓ(QFATTT5x`|A ĝw)ֹ&Z&""ݎ^gժUL4 V$>>k׮ѨQ#~?ْ W`~Djycy5 oo n޼M6jiּ9'? ˫BÓ&MbxB`֬YL>?c=),,,0(tRԩ KƍjW? Z֭c߾}h4, WFTzj:u*G6A^C•/T &7%aCbףFBYr%yIs8Nܹs1DFFDtt4 O0w\""" pv(lyXz.,ӢvƎ1 |>/_΢E5k[lAE7n̴oJFz-lق#JB!'¦((-FTbۥ9Q8p#Gdĉ|ѨQ |?҃LD+pzt:Z$53 }a? oDFPU ЯX^/ƍCR+ѩM8Gh4$&&2ydqJKK0a(RvP0wg;S[Ν;]w%{'NбcG^?  ШT2;DQR1tR"R<Ӊ\ 2:~g=&Z3Yo7@t|~./Nj#4!J JBB6%Vs@dEnnz=>@\"2Br|>"హ@ TJP&x0ArKPtTF9Y @V􇮍|L/#Rg Ҍ:$Fb{ԍ^+аaCzI@fQpChF-j&ՠ9_a'ͨEYJzBQCʍ>+'ZN&I&wѱcGK^6moA1(g%OQRRzO}giykM @ۙo7ezBѠ/.Vw>a3شiۈ-S]?"t*v^=1*:W{6g'S~n7;-+YV#hnKFɌѣݎ Ȕr%] A.]oO^z;KjNKKr݌3FEׯ֭ׯS\\LRRׯW^yEzbrs=@(.E+Vмys233{ؿΆoPvmDQɓ 6L eΖ,../ O?4_|ϟgʔ){d2x Ǐ'!! 6PUUŔ)Sxw$O>D/.**bK(J}])t"DEEE1~***U$&HJJjrI233AHJo&:hsqk୷ޢR) ZV ~\|\A@PPPf# jt( ^/4lԮ]׋Z& ry1Xp%166@ee%R)N'w}Yh P\\,&a`]0Lzf[^OuK/++#""͛7ϤIesTkbbHa?j8łZFP^^Ndd$2rh4Cؒ)(]TTAѐ Unn*++lz*0eͭ _GVsF޽ I BK"JEJJJ$jABYYFK+|ZRFxQQ111l`~SF˗/Oݺu%PYYIJJJg駟ryf̘ڱc8s 'NbH\ r8{T:uH˟Jݪr'QiwS?-f(8P*ƚiӦ1sLj֬WG4tiAldh:?jMSW8~>js UES5s=|uB-tm^H5ݠ lrM2ݠ2ٜA`PBn?bZMbss3oA\lV mPisPPEDJD&dYJ!U%ӤFt.?JAAQBNqx} ݎeҤI߿ۏ?|5H%ڤe߾}z<$Tr-&I8z:RNM҉ m1CQK5j* _Nֵ1;KvstH/OTiGn+jUBNiE%'~SRC#2JDA&P^fv"5 59GD7[Q3e|ʫ} }_%],:Dj\# "n>ʜ9srr\6QQ'#z=A рZxP+C D ;C?L Ր!]GA!G`D"4 t*y) J"D Q&xQq;<<~Z03A x&t=QDv1qe_oHb?t_ (AӃF>EA| %+AQ$ޠGV#>JFsu:wzOe4EN?_h :wՈk՛%%QzZ8Uf 5W1t}l\woifo\ɓyL5 >ߏ>.RE0ҝuG ЋNQZfT*cc,'HjB 2$ŴUuuSDF6SURh}'ᴹ1M2+rVRƍk`2)* X5.^AR^?8Aҷ7h">[= r.bFdDEy4 yl4Hrd8lv\E eXz5C{ lT \rM#xHMOG%@eQ/5T9tmCv, b!/9L>H=:{,GeĈav~{w}WY޴i111L0ロ#GTۯgϞ,ZM6/4XBB&L&C"x< _.ӷX,$$$,Kwaɿ0|^'e{#6˗/SQQA~~>Z.]IMM%++ J nK* <yyyA:vٳg;w.2 Jgt U*rӧOӺuk***]ME3~̙CAA2(== 6pEڴiÝw)UtjRp,f:( gxUҍܰ]xb:u0٭~RRRh߾=`?VZ]z%[}c=\.G&vy>].Ԧ~2WN~IΝ?_h}ZbѬMg>)Ы0NҼ5jV_+*:5Mqdo\-_XerҊBRP+/ yVA0rRew ELFb T"Ϗ.`0PQ^E:t(M+DEGa4Z, :H3SV@} ?JknH*+ΠRejHN`|]<~V o܏ ~=4@VM'b2VʎCVQJrlTѴM D<^ P#C?mNdmc"j!V !:V+'B%GD h RMPUG+qDD0.>OF S(RXn!*2׋ZL+(r\n7zZs|O Dɳe qC*J`FA@'U21|Ae o$4kV%o(Qz od?iQ9-#P N\2_N #U4*zQ1LԎNFk+.7QϜBɄAG=gH9_a%%$Q|eNQ: 116J&""S'#qD+HLt|_N۾#PF678AK4!@Vy1!HPh&A,:}a(clޙRv .]Dlڤ7nLBZ="6v;^Qe\UN)mVNbL:LZ] u :]vg;6`:v裏OL&cذa4k ۹pu)8RSSQ(ҠAZnMƍINNZ~DQ$_ӰaC"##9/'HJgf`ߏhAp82~Y,!`0(@RX$JRM ?a H6xWX>,\UUU#;T*ZV \8ٌZ[q<^V+*)JIr MEh4h?@^Az,UNsb6jBN5K6cBDNAIQNA"h^t?r ߂?@5*Ԋ> $DINLA&qD[)dhUZA/DQ)ʯ+A ؽvB0%A&=2AnukB#T*%z(S`w9q:\l/2 kTj.db0u!Zǃ'AOĠmrRTTNՁ ZQK>l OS3DJ;Q4*HCIJ!ۼR?N Ev "5*+]!brZhJNZ0ȥ*r95 nfRW)P(qeFk4I "*:_/ҨP)dU(!qW+44JE5uƏB ER51*Etj Q&Gz2(5h&, ^FNpj56H7z͆\.'>62CY7Z\q&)UO?cA?eF|JAZA#Q„M uWJeb0iikr;u"j@CI^)p^UώMԫ\dӪƄeTʩGΔ "Fd\tb,5RQ+d|Q`AjF0ؼ.YTyԊВW#.[t7T7tJ9׬NJ\>jTR! k2W.> DpجV3v.[~;(BUYN0@BEn~Aч/tSq*rJ,#WȩN"z3Jfgv׏ZSZ:Ww5(*(Gis|.fRNd,Vߝ!9N/(V7Jp;'WV-|5[RgW 225 r< Dn`SѪDymsNB%>^BG]IIraw8OM[eUN'0uTJLZnwRpҭBYƍe˖X,o7|Ol63yd֭ba呔!nݺԩSвeKOqq1* 6dTUUoHnkܸ18pZNϟ/%3v_͞ԩG^Tv=zSRRHNN.sΡT*iܸBa@KP]0, JIP=V0IsT*%c7,naRjVGLH>ݎRW=npr0LT*n7v߯WNJo8T*$mZ% _2LNvij?J%:^/ 3*)//G&IҸ {Q 0Ar,DWrOW&I5+:/lQXnxF !@q\F٬RDQQf2Ab^9U^өE֧$ pllte`ԩ/S~naCD! RPljƏZ}cmtSSV RVa ZJ{=.&#~o? Vh4q8X,.Z `VI7y&/EtL$Qh:>/BEb| j LG8nސkAq1vGh4ѠBGN'6?@ DPe2A0(4UPRZI}П.RViceP'&~u:v卅O. LvqyWxY"U4IB&B&W)P A@ycۭir{D|qEsf3ѣFBUZ' @%0B:EV)G{];@E:f<8u&Z&-\>F2Z, \V!Gep)LVyk%AeZVSH2U|shEPג7,REz!"A]?|Os7 JHN(_j!Pj!Xi'"ɹ]{3 @CBNB3i)^_Y29J Bh4]xj̠^:ҠA=6mLZzjEy>]LU7'(FRdeH3W;GZ4ѥywyitL }2gJ.[+tLd`j?#hڬ Dt >yws.%D2DW9k MȅPeh2L; \srOIӰwkg=-w >&r`B6,?H(5֯b@Z*ܜٻ iײc+<7v|nUKH֫gK=΀F.fA@RKD^EUA.ּ,Y8J ګ}AT2zU"F,a$M#BK@"2~VpI©Wc׀6P%'(ǯ@QI9mtn%U^ Q7FS^3HA((^:x3"AOF$.^,U1U\zܬk8˨;(w[(9p8Ŝ ws]Y^-4isl,nKEqq*ʱWTP\Rƕ\`9JxQb0 'pA:SN1h N:fcL>VhnݺhhT*uԑĽBgul6A^^>|\VXg}?ŋQTDEED5tBHffD}p),Xoq >#GrAwޒxUÆ 6333{a2^RFj֬IBB111|,^_|Z^z%6mx"M6eذahL&}a[#GJnݺRV9&&LF~& G3MVV۶mW^׏YfQZZ*KaچF0 X rfnZ S*d!.pz|>~?~͆dp{ jIHHGO>FREBYj?/ '_x~a}222$~ T˂L&ZMtt4,YDI矗2Âd g9>֗^z ȣ>J|||s*)Ɉի?%aCȯ#ڭ߼(x<*++ϧB@i{I6|>%! $JU-xg'(T5˗Bj R1hUnYQB }%=[]t/<ܖȮѺ ׶rZ)Gu\R`Ut׶6ZWC;7ud~s+?udZK_WhQ;L ʠV5& Dj C}:G*RTJ9k'r`6JEo2A2ZI֙,o IF AyrQF zMg5(8F*(JܚLXQ+UD $Ģժh#"vWeTUU6LZ棪EQ<+.VmajШUD?U*{J)ҀF DEƠ|x> :FȈh=:NO|xbęc0hucQ("jӅ'q۽JJn*=4DEFGl\݌ݶtzKRTTĂ p\;v!C0~x.]eNzYYx1k֬fq=yfx`}L&͛7'99OXui_mҠR*ؿ?<qqq~_Nrr2N?i& >JF#*k׮C曼0,^?/CP VR\EE"J@1@?DžT9Ad> :н# e~ LJ]A^I%CA. $"B O7DK#eD A1_^tr=""rA 4\nLq3y` RժU|AyZ-JyV :ma? )5999 *=u#u!PS+>A2h^3gΰpB|>9Çgʔ)<|na4i-fܹ[˘1cXf \.V+ZJel6SDsJ">||>? t:INIjYT?''5k'1Ft^d,K/NΝ;z\rl eXVbRvǍ*%swm6~?]vg}|7f Xr%o&z;v0d޿XDI:u*k׮EP@AAgȐ!,\Bc) o>(]taN_&fy4Ҟx.xCzlEPQPp3%9m˥R!(*ɈA[2\7^xC xXD|A A $+R0 TSeW61f `e\NYn6m&a} O>Izػw/׮]cԩ><4 /^'СCdggc2&++ٳgrJf3-ZYfѳgOz!f̘AUUyyydffRZh4:ѣrVXQɡFٳKsziӦ(//Gc6Yr%=111TUUIjN:wdd$|}ݸn}Y/^Nw1rHf3y7y瑘#774^~e.\JKMT2vXyT*`0HݺucmgCuQ0uMdXV|MvJ$ʙo._LRR O`X5jp]w1i$woMAA/>ˣf͚梨L~VKVVjB O?M&M8q[f 6͛K@NNdggjĒsss@TSOѨQ#wǙ2e ˗/G,\'Ob2!IEEjRIVVI9RIZZ$Z{UVVAUU$yu233Q(< 8-[VSRR%%%ԨQ^zi&V+x^^Ttٓ͛7f8$77ڵkVZzDQDG0 $Fjߪ a>PZZh8o FA;]?~<>*cDzd5knpLPÕ"#M~9Q5ߋ"`4SUQرcٶm@b222۷/7o&""˅R5jPQQAUUi2sxȚ5kӧǏgȐ!?~'x6&M{,X@(rswrQ^}U~?\~#ؽ{7YYY^I&ѥK:wL(,,D&ܹs7o`*ZlIgՌ=Ahذ!OoeȐ!Q8{СC<֥fƌ9|C^9]\IQΤ{d2fΜСCiҤ | O>$zA8y$fի8q"ݻwcǎtڕ2g|Mؾ aӧ9q_1cwu:uȑ#,_S,L<~ѻwo}Ybac_ `Q"O%p2M:JB;iF%5J,BYy * 2bec Tf"C5AxT9(HH%9x+=2|?j2$# ~b\So RU_hu"?͛7ӼysN>-V^M6mعs'O9γb L@AɓILL 6ӿv)i& KmcU8vXhN.V:ѣ;v]#x5-z).4U:yV^͸q4hÆ ~`֬YvFEF8u3fù뮻oXp!ԍףh+>5kfb * G={M6GuVRSS|,[ >}gL&:u`ʕ~>zMӦmԩ(g7(k׮OӶm[2[gõ jjBh͛o~ EnZ…J'qZqZ -nKLL ƍcС̛7֭[Qrʉ(dggSYYIVڑ:־[{9R52.0G €ca ^b"(S F$۰ Ph47ATo=S)GP"6R[zI%* FB YˆU0 dJkMج"]'N2QA+ש٪ ubaB2K/ԢfL?̺*|~Js(awyRpJ&S4|D Si ׏}Q\jBQ TaqcORUҨCo oCk.zɓ0`1j_~p!VZdbРA~=z+WsN/_N׮]ٻw/[nSZZ*A`>}իW3uTn6 D~x1 ҳgO:}Gzz:.]bرl6\իy0 (J<k׮eرRz)RRRػw/ׯaÆqIfΜɄ x6mkfȑtܙHFE߾}ܹ3woaۗ#G[orYV^ʹih֬ o߾`Ŵk׎CsN^z%vȑ#yg;v,~-BwͨQ֭dر7xݻөS'.]J^tO|>֮]KEE{/53@Wr@FÅ xWظq#?~K./멬$..@ @bb"DEET*W^ETһwo 5k7fɒ%5Tbݺulݺ;vPF x뭷۷/j`0ڵk|\rZjѶm[N'?# JOر#dtؑ#Gn:˙0a۷ѣlڴo\< 2͛7ӫW/.\@/9|b ͛i۶-fΝ8N )))̞=hn Yb 6$//kr}Ɖ'ؼy3NBEV+lٲΝ;3p@^y֬YCaa!O<`d{1 Ğ={JzKZ+q\~]vL&cҥݛ 6m֭[)++#66mRn?/.l WH'p+Aa͌p%'az$GRR2 /U/ \.TmJU#Pxyꩧx뭷xgi߾=#Fŋ;Ws=vmtԉ!C?2}tׯfի4m_-}c#F`ܸq4lؐv_aҥ\zFCDD߿?ݻwgd2vʏ?E)Sн{w5jD׮]|ddd0IUA.D*"Ō (93$aqzT}9# 3tZjUabN:c=B_G?QZ[[Yp!8S1cg>l.]'N;T+әg?Ave: ֬Y k+xz!>Or]w|ry饗~Ƨ>Zcq#SOSN_:{{(P,i4 eQ.`a\K3' iVuXNQ(,Jl3(<1a\@J%d8DOo?3ȦӘFCR!21J*+hnr릻^?lߚM388H:y2~te'rif͚m'S}5k0m4)Sr~կ~W^yK.O?f͛ɓ><@.bnn>O~o~<3\~uQN|ⳟ)]yDQ_׿u.>q=pb.{eΜ9|I%s=e˖~wqyL>o; !'po?]<9͋M,O<ӦM/}˖rEo~]wݕK/8~k_cv;ϥ ~;=w||v؁k!稣""/p7rQG~;gK/JaF߼z^ LwZS,r@Ӓ4f3ZT&1 G5V)tqkhFc=y%*t-QW[0x@ӬT44ˆbf44zK0F5*\J EI=Y-mŘ@VY' RGX!˲l& |R1&ڮ"k,پ*/@OhGNpm0{DR: rLn O-.!5 *M^ 2Qh^6zhѭ,{)flKÄ L6yҥm3 t's={6㏳{ra̙3y[ʧ>)~_{{Ag̙||g<#uYa,Ys:(/^[V `m;˖-gW\;@wwwͱWnT9g}6oy9묳Xjgy&ϧ;3}ه=؃}ks=ǜ~|[w?u]lj'駟rssE?{w:^xO(;#~8+m]͐4N۠8gܸqs1Y w+_ ~}BP_8͆ KǏ|+L2s=˗|/(ַEW[0_*ǏN?ꪫ:u*9kƯ]tt;===p 9vuW欳bܹ?]z{.===#=~|K_ZY̚59s}_;qk_&Mⓟ$sOg֬Y,]_C)J8"Xa۪)͖ODQDKK  mmmL0t:v[oVM5grvmǥ^JP3`tuuwsrWvډK/g}kN8.G9s/~W\qlVvc9/~Kx޶γ8ꨣҗēO>ɓ_}J..rvqGoqG>;B >e<2T,F!\PdlDB'r&kKdl0oTb`4Dow?C]1ƐJ9do2T,ҵL6E 0x4bk56 0C>SPJcL]==`EˏLgg/,Pl%x[S[6iPB㦠!f6)N)UxnQ|>OLM<ozw|>O_BCCRZ=c * ---tJd2Z$ ')ŋ_??9C8q"1ʈ}\r BL&3b[Olc…Nco1sL{Z]JQL:^BF:rGTBZ'L@h,+zF.$sU]jJsWԮ_F^ĉ.lsnF.BN<^W(M9g@31@d 61%Mר SMPQނBR.X3Dw(]JlbKC[^Dx&Yv%<8B$ 224"ly)*% C9x{:_W,\ڋ~`L} /Sy{vr"㬵W"ddy(ns2vj k2nÏ#Њ)Kzeɓ? V(ھW# #l>g(k۪ gu#|maRTsc>~*J-R"ͺ饱4|bH12.?}WӜeB6.O?>vr,^L4 89夓N↣gL0Xp!+W]vم/|/|L4nwS*_tɆFW&2ROm+I7ɵ 1ݱ vʕY;4K,YMkkCgZ:~tkB]ڣۅKVvKgyqy3Bֶ s>` v~[^z~V,_AgM祁v:ilؕ$#i< )4Ƈ4Ͷ(ʫxWTlxqv:j6,~~ dyz7s6q)2_ [zgzxgvmy98䓹9c(Lxk}r3{lz)ZZZ?p;ךc=s=nO}S#8q"/RMT_Oa֜_k.P.kqܸq\xAg]sW#JPmգ:wܑ|&N;4vm7-ZN>= 5CWv|>'T b*JM֔er\bVϪ_GשĨfk2u,oڪƪ8q"k׮.ȑG;SF Ð0 "c&Lq^gZ=fppxMjMU^l6KE?wտo6 XN#b~c2L^Uݤ=#t:>RC~7~TUg>{`p\kb8CW^y%\y啀uD!<ɠF+!-~5fkAuwl6ˣ/Q|>OPi!Q{`BcccMM8Vt2kr ӟ9ӟDc.@5+kJD>Cqhib!" )J)ZCRq!2 =EO6@r{MSeО1GaDX&< 3t6PS7b B9C+Rkq1)OH1%KCe⊥04H.dHL86rY M JR hk_&-mEn;V\I`.s9=_ƴ?8IҞAK.ﺕx-k]wpEqgp ' /1Ƙu*?0?JN~~fioo綛ob`$ nҥKd23}tZ[[Yv-tvw|qDwp>'\ppjb͚5#>,9CX":Js9|_g|Anws nM_'?~N>dsO?rw?iӦT7Gu]Ǔ7 8ڹ).]c=ƾ[x=UcnaK~"6)j%E+Cy[TW RT7+VvM+KV0OWHiZB[EQ (M!6Bhxs}1^]:E>Cy_1>I{x_f7e;Ð#<.Xbwr3pYgq%pYgw8ƼyMtm}CԎ[=Xf=dѢE-TKx{K7.eNs&:]xg;vG~_RykctI|_[nӧ~k'xj«|߬EV)Jtttp5Զuuu?7L>ΒkW¼yxI{?E~K_Wyǂ;ГO9si样iO</99#OfW T"Z==O{7 W^y%r-s=̝;痿-7p@ueٲeN\w<(ȴ':phU\bO6ȧa)bIbv9;yŁ>'.ʤw >=O؋߃Xv->1ER3SlL] }t=K ䷰Md'ɐј}װ+-,6̝vKKh,K,aW_Mww7^{-G}4s嗿%w}7wR͘1n;6P(pWs'uGSOd>7\:M!O?4'>O,[|?y䑔e0dtttp 7v/sm/;3f#O>sGGW^y%o1cJ)ZZZ_^3O6,\#8o~\x7b|> 7@KK x o #nbξ˪U_k-RUVC59y^-Jj̵֒j Ӈ9G/fbѪ.>s57;w0|n_9餓oj6|ZhrUW^{]wu5 >;8|Ir+V ˱~h",k׮SksmַkWߏڸꪫ~ٳYAa0(}Ci3YmLemf3QHOo}tvP(JeTЃH:N rg_\^&MA\&ca`eo4i{xKznZy]=a M>}:w_m?E^{99^|EfϮٓhkk`;R!s੧b}e…Ҟf 9V^ͮO?O?][hjٜq|SX,r)E)΀}t,[̣>{Kgg'vo=,ZYLJ)VX;LG}Y>`,X]}3g]]] {1k/ZMx'YlMMM4җtRԢΝˬw&.N2ٍin69#t _+`,6[xMyVajFӒĆhxx~?]M^5Yh1alY|5}!N>(EP"<mBٵB*BЪ0BiڔfNs.Hl`$b,"Il՚+vf{wt:[VU@^x;\.DZˍ7ͫy,Wiٴ[nRđGӹՂ5L˧]pyCKSx[BCCg}6fZDn>>y][cᥡl**>h9#xsp뭷bc!˱|rL"Y4/<p߽'L:_"?<'pKm}'+9)(/;M+1Ns>˾+ϡNࢋ.bviܼp꜉\z x1Lq?-bvc}A{wBqJ2_Zsl[&q5𖷼q3X>gŚR!* Ihϧv.+ɤI߿]V2;̜ L0bw'dr 4iK7_ @1K~J縳ObSťl'4O8IҥK9HREsĞ{;@__<tvvsA;b ^͛L8nnwQ(?~<,\>N*b=\J)~a;0zw`qkW^y~8-Z#яr衇&O\7>3choog\}}U&ZZZoۜr)_EdV+-ZMSOpBwߚz'OE!ϟ?^zc޼yE^|E/^C=Rc9l6[[8VrbViii<,Y9Wk$uRϟAԏ ??`w(4\*Gqs{Ʉ^ k%,;'M;H'^ӕfx*)S' O .O~.N ˬ*>pdrgR= ?Ue܃:)|zM&'Y?Rr}kO opz@ x$) ln]~ 38d˸wH`[\8Ny7.8N&9K8orJrSIp/N쏓9ɶkӇ% ck g]xyܹs׳ n$jpaIW]+)SN8p6nN(N~1'9G!IčŞIIӏ3kےs6m_OZƍkq~1a4O cpqx&kSqrA\; g+zO"Co'socn,كkw݁1k8911@w+N{gW '$ 88t0N/ӈ=wƔGd~/noZza=M)uRG)՛':fcWJO(QJRmJ{R;ԇG*LnJ)us~I)$ٿR) }Rikf)9RT܃J+_͹ηFD^[ԙ_m(JJmZZZ-:Z'@)}Oe8J!2ԻRLUJR%:yl77Jw+OTsm~?\K)uRQT`ݧc#?S)gԔWSkoǏ*P/$R?VJr=TJR㶼V lj L.ʯekɠ pYok6j=X/ತ?:ckIbXتgA ߀ػnaQ˂L5E. >9JF ) ~}38r𖍔gur(!i{cwn<]&6lӧT Ol5:}@w0Vrwcpp ?*wGJ?h[Ϲٷ޵O: l JW_ǽ3Soo3}.> Xs(ot``~R5@*9両g%۷DN8#C+'6ɨe8äNrjcrFɥ]듼_g[m;~mg Ɔ~#Nv컉|8~$;WWlfݧ(y θ;!V S5J_ _nR*ǦtѲwI lBoH33ۓzON%sU` ,UcY'Y%~>G{ 䓺$ܨ)Oʼc_\VGn]>׺=gAؿA]"oaa?rc}NNm{N?}Ml^?sVI}Ω@}:~W'+tr+G>oX[Ȁw/q丛O:3i[?۔3nlTݾ?N M>y=~H@RDT+EhuP-C8^ hjDW;+/Ag$K/gqߍ:8C\LͭRjo@8/揁RNтV>'p s3zOG%f8 ~Q YuN)'p셋=m=e~/ތ܍ ܬ:PgB.jxȷpѹ$?|-֮ g\;3wI*TLARpF|m=A2=sSr^.-}<$}~T7MyR* ~:M)5y 4Z-RjdI}76S.iwHs[qmp3fp/Yk8c{567TOA9ڿ"~onoV?]OyWqz8\4hgt[kpUmvz~{8|}G .4"R 7;M+ C ߠ.Qi8h Gdę\_~-/8w$2FQJM9ܘޑD~8Zۈ3?5|che@~47uڬ yʟ_2r@7?7pp$ɓqoRdudFM8=c>~F)U?<goa6.AxZ{nu n <^,mZ.d$|n $Q^ɹ (5 G~d#KFߒӼo;9ipL=ǽx'Fz>Zu G.e? +xKݾ oȖ.{8[ΉWg–/֟nzݵnGI"U)93B.G>?վ8x@7J~?7z|C gPyxTyV2ܷLȈxӟ?3>ڐ<+Kw3pׯYWOc|3$σI@N#Y~^FE /D'_Dm'y&&nl<"~1pBݾnD{ ~nP9"W2iۂ?úѣ_?\J ,w|qm G߃ӝzr gXFL^>;3r6:ɺ2ऺO61V| 7\czo%؝czf7 \\X>_$3t^A>y="k[kSquPJ[)աENuںݐ| |OzqHW=rmqb=mSJyJo*^QJdntYkGroVJ\kRZqM^g[`٨s׳=ΣyR}:nO1l =e(Wayȷ}+Su}IvTJU#qWrn7 v!ٱ9rf}JF`}7[ v6֖qFnpm`ɴ9EW՗c: q|}ֶXkpN"u9ݭ[dǀZԁ8N9tXkKu7C6}/OK]6Tv^Y:^b-RjMZہs|mnźh2+꛸(LAiԡMوR& l)] L]bS{D_-]ldL p|ʟJNL?*u?ȪisYAú-gJ7QzFZHjScEAx?{R >qYIϦ.RsJ[07fBy7} ab7c]ڝOM-.t[km3p5tnh^ZЫ<笵!Wm YW[gwsoM6#@=uY"/"کn\_mWqBpƊ\ݾm6Pfglofko18%t7'R%TjUфS6V-+pFӉ쨗MəU\T4t\$6\T#֮Ѱf.`RjW[`R8e=BkuoTsq׎ro5`vNR*ٌlLgYx_rΧH:{S6n>9fs +ނKsٺ] ?IMTe.[^F)A «a>niؿ9Ħ߈>I3UN^|tkޏsko, 5Z{8un.kH x#˟_t҆>Bp@/p3 IíAq&К8aV$e5ZkOF"kjCRj6={[a`^\nkmI)?PjRjJwO%QJ)WJU)ոhĥ[*\mq(F)JiL<LI"j$/w(?VJMSJƸQ)n: 0_Or[P?wk}r ~+[L݇Yo fF7R_ &2γGʖ*Ldx^/UJ5*f)zα)9#e\jO%ދ3x˩.7JX)rkL-Zn-kR)t?xs˜DJWJ2KFN \۩RR''BdG|6t 1Zl\# ?p9I`Z`VA^܂K&po.kJro֎'v'zܩ|KܯDSɾspzq[PNAA 4T.OTJ]Ʀu1}Rj/֝:v*%oYkwA8}aKFؠޡz[b+چdȰ(&&˅_7%op'1bFfK)5;kDt_g9/d̺0J󫺪Rjw~) l5lՆxtGRCsŻ 6TuZ8W{akp'noR)7qqQrWri%7uh@Fo`ro7'y9o H\R,}rk/pӰRJnE=SD#6`&ɸ߅\7+h؞݂_K2j ?I݋[0m$yaH.~3TN&.OnsnnY3slJ–5\_pQWYk?8py>gWf~S?k+Kp qjq$IDAT &R^\[kPJ]z mZ; .J*k=uo;\lߠβ3P*Ydwrs5)\ۥzb{lܱ5[Ľ$;`qR8=gKO؞AKI&߫Qt{ܣ A,9/yV87i]b}\HN\{.h;2.Yk/u̕uWڿsN)6i߄ޡq]ru1[LYd  oT8ܫO>Qbݠ_{0qw+nݱ8ݱt2aG{%;tAQʌa Z;zz  ›qZEA7JsXk'!:ak$ӐNJaNҽ~SAAx:D@;"cEOA߂R*-0›1 gnx.5͋  ovRezMK$ ›  U. DXkfқz7QʪycƢ}ʐܻ \ qxJ.JM5;~ճX뮫TZc-(c (,)?@J,Z 0V-(G1XCEB", rJ1ZkDqJ,qlaabCX! L\BW_?r(&vO\ٍ|[!Od# qc #H!41A*^ k!"vr*|LX#+2Fe&Q>(CQB<~gZg4XSƚ|R)bŚʥ>=,ZiRKa*bkCPXV>|UxBTB&?k8"vmԘ%[*8D%.PT^yhZ})Sm<ϫm(PC)5`"L1((xAG,*R ,0F ub ى3085hQhekuR)c}VLJcumHk5c1cj֚ظHmcb< ^Ǩ J~I{ܽT~([ jv!J)׮|c&X.k%Жb\c#fqq4iK2~\x pW鎅> KTd 3'iu L>@bWa -i <Z*hwJ`DbHn˦I:10qJ3U,MxI7 |o7q ƢkkP5q] -W}:]7FxZsLM ھzh}ܻ֩'6wͯ7QT*U?Ts縎aC7Pu;Fv9ck1q_:U7AgemZ CJ!>){>h2N^UY5eP>JO/!J>6S/[;zn2ngA;=1 qtrsNC\rϰNTϗ aHA 4մKx9%+7v `,Hg OxAK6aCP>1>6ظkdjFf&*^6s<*ؔG:a]}5|]XLv2=h?@e:VXG)v24|8R)IXJ['P`qtA%k, T F)OgΠ*ElKcTD1 QZ&J^`,55{';i(8^)3WTܽ}Psn*' @W!& G]5jϫ3ػ2x:٤J+"+B!m@if"/GYyW @ZKd |n$"C[8&gl![Z;|b61^*Uڎ5(m 8U;ޕ!F~:K z(k&؂P* +UCstǘ8U5DpD_6lXsV琴a!>V=M\)ঢ়D1&B:GgkvN6ڱ$*Rƣ9ј׼ǟCgfBb@SSRdIbi'2"!.)#6x`G9 2($Ɵ PKP?9cU5li2xDS6tVnc|k3Dk(+xOzȪAXK\^(bpH>q:+ T3a\ l?.NxufhEdcz38_oTaq #RK諆(]_i6($e2'ܣ(&(xt:EP"#rLr\0fp֊k:ih1ibrHFtR9d0Ӑ !.ɤT bD&C䲙ZF#6QU7kNԢݪFtN=sSj,QjTO P! :[GF?sV* I{ըQ5^}/`,6v ǡЍ6SIj1Cc&F!aX&Qn }x[ B0~&S~؀5e<6:O^5Z(g$Ɖsi/H2:He=ާO)YLD&&QڳP< RQ`V&&Cp(MdB}w}`'L^x7hn²RyB`SYX I Fעk|o3"^Tc1~\._랁EOYJ!m1,\ &iT*1f[M h6T*0ux1u_|561^Unb0| -‰oe&4if+<`D.Q F%}u=flJ=܌ [|d|bҐT%Do PXи kbUr/ӶYN3XrN 3eP6štNb8biWg*XvZTSLdxݗ:G*0!Ȳ0(0s$!eD?NcpeqWUd3͟1cd=D;{IN7e-(Fڿ*kה :Y!Мu"@)eh{WmMq}t͜I0E40ߝ`m=oB2Vg,IlG\WxQCITxL6&ϐ gP44j p/y..6ut"B% z2t* M׌ޞHQ?0DHLP+M>qKkHZ)4*iΘY 4dO"GGV xVg 6n[ V &%*y9Bvپc +А2ib+AiSgqFtʧl=,4ykIR#|g|yī ֍k=UpCǫ}DJS*ĥa==>_$%S됔uZzt%Tb-^rnܻ Ql(Tb PF%bSS! |065C;PJ{ЌKqcjZt O+xքQq\&Vű!|rg,x+aEpZ0@\e})&)&NGB`C7ZE )(W*w&E*N&Qs"DF6gZSlDt27}P'"I|}T5nVR4FzΉi(5NQQ7Rjh1Q(jwCJݽSZ{hMSICTS@ yF[R<>.H[9#H9ap41.)BT!Lk'| M 7q7߄J5iԦƠ5q$ERιuFJ&rYJZ,#<''L֌ZR& QqB@@&`K"6DC&BllE6vUK}e$GǥLL:q̺hj杻JLn.q\ ŶZtTE|` N,BUc)bٌKbTı%Sd)B'<"]𰃚*d5ΘO@S(錥5`ޞ YQX(W8Lמ_%3/3:&N0TaT2㋺~ܠF'Ud:eؒcd4!ϠLX'9 3[=#/( vr%)甴ϔtƥoa%5#zdN#K(a7HF470$FU^p+b#+sq6G@+ x&ۥpg.keʄǑgaH*#&tMY4VM!:qXyT>a쁊 ([Cr gč!8= }l3y$JR0[KkzP`@X'Cpf`sQJՌzuK-uzZNT f5.}:HtW;obM0N i߃uipV(:Y+]>fƄ07dl3q}O'`#Z4>(tJ/F*T3DI"ͰSjVگVJuV$ rkLAk1.86 cSI  %>sƚj=TSl_Z"G啮wimDHlR w<02 BLSbV0$Byn꭭h10T*ù! KyDW f`-dr9GW ۱:bO(d2y9mz%I[6hεP,/G;Gcb85E4c$?}m cϽ{~ il)ʢ=C\~͹ET]ҫvѝۖȄrPKiʒ5?XRhc1jmg0eJ3- tredZSY&2ҾP9G>Mgm&syU-5zX+XHIe*FQ"<ҁ﹵#YIl Bk.=fz0F,Ţ3%kT !t%1NE*P={z(7NBy Oeh |> ڭؤ >&gqx% ޳ S2ey>i8e|LZ _J) {~ M Y*X0tDɈCMۚN*pL¿T> & +!QѾnu jl,a쌞I^v?18Y7SPLE!q3"ck\6ư6P,ek3̝,tBS&(?S oz'.+""g\K#k;{D>&58B8xa"Got5 :k  2u.S 8vll[\Dq+Qn|P?ȠѺ)ԙ cpZMTR94)ߧT gS.`JX롭qPU;я.2e6m4-Մ$WHcx_r%1o - ѱ4%z;k٨J6tmPxXB\tj.f):YK:iM.LhmY[7hH%)5(8{fJ)2R6DJI~LދQR~YIx`y42<. ^+KVt. PM2Ė7aX),ՙZ*1qJuu"5>T(XYdCt](`RZ ⫘83ጛRM)gqz:AamO֊SZYR4ЬW=g#48,+^Yo%aڢ CܻiSs2u3#1em%9/LC.MK>CGO7tLC <00PK/d ]Q.*T 8KkBz#8Y7-j#qL1]@ttΡi@ WYS08 ecОa  eE~::|\'G"JS*+ZR!ז1'S+!*nF FflbJCbM (tvcVrQI=Hm'#O|MJco )Coad RAa*_A)f6m1QL9<{T Cu)R19Pܠ@fN|{hj%kܸ^0 |_ tw'1"H0;1l0kCƵ'RFszB&|V@k͚.(fP"Nјn<[֊\1`z:?@8W[ZT6#k ~y)l*pt  Wnqlc:}+u'xqE;+;igה%:iFN"s)EǞM7sȫwUGr'-&OJO`#Dҵ$X#&bذlu'Ql1OfTFa475so| :Eud>qAS>[3T(ytmxZtZ*aD`\.CKs(~RѬMI46ֺska՜ ^moeֽ3›r
wzi0!vl`#~ BӒK6T"kj>'CKO.Y.0Bxё|tJ cijj888EE`-JH* O!jSaʤөdhhnj N@N&ty75Q)Ui57ܛHz"jSܢ?` ["gF(M !(8E:ۖIi'4k6)C&PΨ _Z=XFXL 5R[&FzEu=ˍaÔ 6w;QtPs]W)H;|^\3r=UN|>ڴ,Kl,hKSDWK~_G1qTaZ{rE<֜U$ΣwTqэqaj6hy|WT(WBRAmZǓOI>"7:dQbf Q„ pPK&qՠ3Ե\C3oD!ƆIJ"]rt _,~M3$UsPj)*ռ\XRHie!?BQ\nN4JsHu ,=0qH\u2$.W.ի?)KH[38gBW˟e z4ۃYl@BFXm,1VNNj]U&UsEXWQV(48DExJcWuz8XO>N5R <cK:G8wJtT$RI}sa'ARFd`T]@wjujsFT/$;n:A,^Z?{kKaef> ws5wWWMlQhAh%A' @HR (VWuuU֘1L{pw}s7"#3#i@Ľ}07_fo}8*J Ÿ\ ?@MٹQe#j&$>1Csxxn1?b 9 vت$ X<4|zK_|_S s/y_7N4͸@ZxUMcs\p\ӑɋ(`0)c~Upy@wpqW~'_w[PNL -1;||5"'f@զ#e&τX<RZ"\6|ӯ_6!ޙ2_ڷټo?!K#1= $8xƒ{'+!dkjRsPo7M ulcٺceo_ _]d8g^˞~ϾHc[w3]8'!R͖W?=liul?pr13R@UnkhL3oo{gxd52NlWn1D 0{{=qI>bziƥ)||Њv]@0[i#S:Dnj1~hsOUqhAjx|EeЊ0kz.)lY7*m≟1ۥCI&Hb(, < Jghaw=HHrR9+` xN]-*(&Уd)yDIM%v-@@*I(U_&$G.9y7YʄgmR񶘥Ǝl[k>=IT.s] |/bW%>b͒ecid@SλظgK⢴ԗ{RGĐMU${K{wMxuXH8E&~ q{vSlZ: ẏwK}S߰UDcE߶i= 7ݮ,h e2,%gbŭ{Upx\Xq6bMT,p9"m2V˅֐b[SU79=`Ɉ;D.0Q{q1Gf N+k0f0  !0k X ʖ:B˂`ƛ=R`b:%e@S.ʤqH13rZOJڇErmyb6a(eDѴGlWg`DWB$jLJ-SveJcREc ~,'RaPJj]LQ ȰcgbS|ڟAxx7Tjʺ*EMp:nck:BaNܢB*BK/L1Պ->21RsdWC2+?dbn0`R$G/&WI |$[cl=1ł)N'@WXR)BtTLն%Y#`iÇAkJD){MYKmv|x$\edB%auc& U}@!pΐYrʓq/W4+*^ޛs)vW1_w+|訪-0-+Y1 r G~#:&r#R XIMh)pSZ5E&_H R$K…Y`!mxk30H`,BU-Tib0N5T)feW+cNz)%?};Y!RIrGӞ7Jk~ 6Xz>Wx1\M@kMNo+#/V+[~73p4wsޱY' ^}z%!d{ky ?=,[Kˋ/—V|d}vBJfEuH!Rb4ʢ6|U֐BbHY2]8Mus.4VPi<>ku[m<ђf?<:˿<ּWyms[<A|\:"Bhe{Y:Ҽ?om+Ġ\@䊧.ؾ%\|Ʋ& \@/>sogTqlt;|f2r 'ƽդ赓qbx=yk1ʟ021`eVgN*}$1R>_$m*# Am `(fmiWڇD~~ˁ")F֠Z!b/v6ZjYg kĤ}ZC=ŌkHں!sq Dey_/GKf0<^xxrN]9bRկ'ìqU5](_2a^)#&蔊Am-  o9q5M2^&e:~jV3FĘ2ط㿯F@~||]<C H(hGyȸHtiPD8lJAϝ6w-#J$ڲ9A WZʓ/@cʙ>MMʙ8MUcǀ1Rlb^5VtrI ƛ$gAhR)tuA m]s\ CCj~_0 ơɨ6l[٩ݨ`0vMC W{5)Ɖɸcu Ҁqz42lMM:ΧcH8*?IM#P-^u{ $4٠:ͲK HŏH;ґ!mيDMNSȘ`@ D\nvuJWs4ǿ fF#Jk^]3dJ)OL9SLc5)EX3TQD,5;֭j'gl)*jR7c VI G]W;1dSJX Úfv uVU1xx XIdw̹1&ѾO1M #8.gUy̮}ߓ9 qjVqkIcPpK(Y%֔L.~}>gDETM4*+ARDGk lj.uZ§?q//qM_`V*qCI `(frS=&)~'IX_K}}lrk/~_>9TSTBry.d_<ޝ/˟9 qpb˯S|G\ywUMHݛ= (l8!Ӵ(A25pyÝ;I% bRb2/0a_c&Z ļP LNkoTX s$扑Lҭ>?1pl/ƃ,'vgF{ +p #.bBMJZÇg)/pKM8d;Lf<<9'%G΂c|ӟ|uƷիte> ŐUe~fߴT%׵'uy g8n"ŭw;Um #pU$!uy.[ՀFDZkyC0%̚2vO ~M@v)&5bK ړ>tw$VTӞݚ.)<_Udկ 5p'DQ޵AD\uR QøW:?ϊ;1hHutNƒ!]M>4K7nUU ~Ιoߠ<NO/Z6b6>bd2ܸvT )ֽ,f3nMۮmef%f]9]׎A5A9 r||Hᙜ<9'VS& ʁsb) 912g=7ک<1L۔3mG?@4ڦl#|xd/&vjֹ@h4)U.O2n^ Gt+Me[4\&:u{ʥ;K 2֨gF7ѹ|v !RKeH&3O̹|V'9C IzeA@د5ej8 ^cSqT SIS[1mB'5Xr6XsY/tqU>| +|5fceuʇ18SU Y%Zq;۫^f2~0f$Ƶ7Rc:愪`ZTy'b//rA{2!1wp-iyH'NÚY\_ZV |=ogl6/ iF2&՗ѵ#GN}W+a`Ouϧ^o|el̒~ͽ:,j?_ 7pm&y흀8>hpîAi<֩fBGc2^~?W=KJW\d-R"DG+ bBU[1眣C\gW_>仯`YQՉ瞟ܻX^x'Ruqm޺g[ocqU }lII8]e>7'=GR/}/wgM.:1sppfg> w{+I1px>r!Қ%> Ks.Ŝ8mj%x*l5WŔpӵ$?{~ܵQf":@wKqA5#޼1¼mg>k"5>TlmSsڰzi/TIZm<2biFÞsNSjf@VŲJ1~DXa@bL15)0)ڐ\؅L&F/%/kd;S?n+5FPpnW! wLVq*; <8ppz;pf-yN#W(T5&bIFܘ4찡e8+ih~'%uTrTޥ@N1D\AE#feS4uͬi8X̋!9kFez p k6"o#Ȱt 8LNڦDEm,KY 5?*DnTU&cɣn|'S$A*@3֞:ƵYfF ŕ;wr|Y.@&HNSقC?9P2\Z?.65!'}3) dR1iR^ bA9nJv=U.\P01% q8Hٞcv0g<.A%R0^6,ĉ) Kfv~ i<;KfTf\?O)#O<]gϧ"5zcSmSGRcdvb$۬ZL1DȗՏ]ɡ`b v+|JlOX9fv`*+\:U$̫mC=iM^B$eS=}ky,I?%4 `:&\3޻;cTku>8F|N 8${RaϏ@1ӵ?U+d1y5xFդeqJ̚o|< /]mPRHLc4 m؜ߥ]b(5$%wrN@:kb0" }~/|חeO;_ӟ|vas7ϰ`}"G7㵨Ixqݼ82IysnJ.GbW)/"}L z{tWYZ[h|yp11V< Y#_q|m^rVi;l"<\_`bM5_~2I+>K_1k"U S+A jV$FP q c'o{:]_"Vh yg/~lT8hwaMat &bj1B_2sˈ\nK⛓| z_oy&*Q(qXU0lt q+J3jGc#A?K`q+g~?7yӘPl cbY1 T5>)c6SSٔ2O}2Mka']Sٲ'Ό6ƒTw xDxlQyKlHVzVL?1h bϪnL3~tSpغu`'R_i_\ܲv,jT̾c+8_-~7!kL6F 'T4cMCoCLl}% +{hBX0DM\_-\3²t1R6Fף{qhL`-9 ȦyOɫ_~{ib]90 ~2FT< bJXo;XmHbݖ`NU9,*MƛwbX.f@SW ,3nTb۩je<}?Yoꊮ5zK6gn84$8o&PlÙ |79KZ5zC hrNS$H"f4"x&ŀ# !%R3)DRъy.U c"Ies1lVw'XZjmdrIOw-lZsH, )I2c((:=ڱabÇr$ "3!RECJdYvM^,V Mg9(xC:f%}wtN7öxRAđʂ{.Te(W42DZVy$*?{kо̎@")fѪDE3k<`:EbϢMgJ6OFƹj|MNHGZwi޾k8Oo8=Q_bMJwpYWȈDO4o_xGNsIJr=auv 1zRbn8=y 'go럾XoOYmhjt2O'H@S;,[ N/ ^)6b0oީik<p7*5o+ME>ub | B*&h;OU;om&PW#o}R%NΘf1&cbE#|1Z=iM+eOb+;5i{*%OsfqI OWħd.{Wf1'=@M7' D]|1zicp'<"Iɜ{WyB;[c~֐%Y^dʥrwKk--V{pʬm*{H)2kFgkJXǍwv0tE&DĢ'/@0=)y(*:nKԯ'Gk A廞2b0{1h̫SY7ְ!e*kR+n1O7 N{ϼ䩬PEJq϶|-Z |)ÛwOy,Z+/EifI)E 5K*pybaeie9X9<\2x#2 Xԥv|%mOl6mSca4ME? Ti|f*mcm[65uUX ʾкZ+xRuX3Ppeٚ,5v#׌Dx撝+P@”Pfe[jf{E#ޤ4%t<3}GE?q+V|̦담Ih+o #ynYA 'RZSW ^ Ʒ33/fbkN*⣿ _%oÊFjY2dg7/ڹ?1*Q+YUu"-!#KYjӥ{5H$PkDAbթ Zz"͐B fՖwVj)ۛb70JE^ln@w梣6aB$c qH8,bU9m}ԼԎd1`cdc^ǽ5z#S=\Usp5Xp{qd45(v.q} g?/C@*b9_*Iw˿1Գ-zK?1 _}P>kјS; W)zg0}/mJjb֪$yLBn{?a9oYo{ڦ"^c8!(k1!MǍ>Y2tM]k|TGN=׿ݏƿnˈ;A*\tA\޾6h wq fC;{=ĔWٙ Hv>N/t:vF<-~"ERe #?dhǝf:\%Ҍ?B S_)V^R=Gm͘Š5%_4/8yj 6 %@BU~[?!OY.ftJ8>@Dxxv_y~EiF/\\be6k&:Ed$ȑQl΄t/ )ju2YEL ^}hʩKLS?:Նe%M &1 (ayi~gd_3=|Mfdc\<3d96t>rfu \%;ܒmUcHIu:*g3jcZI]i1ɔ7DNKDH<1mHY5c:GhY0b VظC%6n]ֵ¯pJ Wٜd ZQ0Ub"E Lcb8SH+ea&0IȹVa YΏܶ%o&ު 5Ai"VGnAP2Gju \.KMQg Z0UD08D0l䜔8:@Mhsj}v-d!'!_+?N3L7 .A~)V<hP|1FM(3aQr"a0;} RVR MM*&)IkdI;_0fS0-6 vyD2-ָ)1sa7_LS#a]&[\{}bw>~WF<¯ۖq{<"W cM?WBCz[i!n o\;gE[S>3^ EE.k qN/?odXD+&:e&RL KZ.QXF#LsB"Rn[r¬mYo;9@Jz-g}dz\R8HQ"sٛôeu݀ĊϤ7.@֪Lՠ`&r"%W"?ܐc܌{ }ln!q;.Xog@bGS[>a#R C90db؎V0q<ФKjLygg۷sC}Ƶ#NO<GB7y:ڠLܜJ!wOVdWq8_v~Яc2&\rzF0\9dKw{bn{TSRU:͇|+׾~0ݶ'%f w5G0 bMlz!&VA-7=n' ?v~f?jP>#,"]A7C3e>3uU1ƃ9k8XSW"?Ž6[mG3oa^?UThLkyX)JVQVm {vچ!V-!">k-Ŭ7!"kOΙYSb‡a=[[n-@k}? p/U9#_'DŽvT|OABB!m帷46ܢE+z ~Q* R5bj?g GrFʘDKׇTX՗)qt.){j<))ñ3n}r M93Ec5}Rĥɀ]F#sYAI|nYZOH5BdPGo}rzk;Ȭc8\.gٞ Ŀ@"Q;uk&zrˆ)w0F8X.5STY0 uU@`~wa놁8r4m7 %+iDx1FAM&V~J %Y0 ~z=6۞Y4M-f٬%= <1җX]aw*.`3m*0;bdz'H;|&6˅f *R&@]UW'Kʠcb`IIQmdkJ cĘXP >2sٕXŔ Wn??&$Q)0{`)|V׈VǧH(Y*iB(j׺89R{[״ukg^%kDStϡyca_Ycvv}$3rj~4xǶֺcB0t]GBk{e/=![HH&Q9Pu*T 7sa,n fIHj3.G}QtӔ4f9 #>- !7 $O{LId=^"]8${l{ -:u<>K@idmdpx9R|P9gs |KVuwRAr3kuc\2P M{~a86Rl+R Dc@r!bV '\5F7<1X@=σjUO.L5kW.l$@N$\Bm>FMr΃2%r.yUF2s) 'n UʂXGpFaŚS歷WHYʙ{ųYCJ*G$rnttSbY8q˧ (WY ]d.Lnn6ãCg%vUedys(k}L=wL8#osA{MT(tGix&EHE~_O%iblUV,ERӳ5)UXq*["/~%={4?mG3~wϗ{F2}+*3p4͜a 1rrB7;wXrJl7H&'rԾM)="{=: *gS[T>[6k/7}!5Il=`_r!O~ܶ_2Zlc? zg9GX8XyuU1k.jЯU7$#~ҬGI+ K? ,ɥ" 5}VaŜ9MUåJ?Tr|,m]j/;b'Cpz'MD?dc 2z?+$^ kyf`^|Q@+M̡nmn7&ҠXǤH<2s&g~Ծ{+ǷR]X$K d+ <0&m<ܼƊ:xƒ޳,M4Vz}#eSSmiOladPMĺbJ453jpzUa!fjV_sh& @~BВ][W^y#FY;Vc3W@ag.nc9 xuTlCS5 ľ+lYd2b%g%J+0r]b#bl}o>ʋ|oSc?)Ɨ r!&x+'dMjPD6q@gHLڵCN֤* HU!jYRۄرex`E>-;n;|칆_ 7O1y[,f3RqKNO$',3.H*hIΞn#8$_qP_k|<[~*zϛ豢3p!osxuV %􉏽Բ>\=a8psR30()ǵ g-aObԜd8XӶcv@WLkrAY7͇Y$##HqڸmjVsX 9͏T>-3lyS_k YK U1G =7q{@^9`4R 6i<,GQ1Sbj5sC@)Nϟ)P\Oٳ02*dw#c|dh?p}FIGS{ŧA fSJp#A<NHtG@H) qd ek)Dn8na.U9MU̿):t~Ӂxy,=X~/ӢwL2s΅Y'H"6^\`!?8!7$lgd9i ),',4Mņ 'b6ij2yd6b|qVKasH1|σ'cN#0tYmsj3PX :.Dfb=`3 򞝯 kMM KZ˶/7Ө)$^Sak@O[HTL֒D+,Nn0SRq5͕V̟' }#BUbU9{C=4`O;]Rؑű,?.7# rjr-:MsD*dEeYTyoJ{̸7>9q5EW<:t Ƣ7EĐ&`-9e3TpQ*c9KCY4NŖGG }$H}>V̤?sK? a\ $ 9Ylb7E>qֶp<ɪ0²Lraֺ I)34uQ1Ek|pvPzK6,WfhH;D)^I1㲾i1U<.ZQe.^:wIB@1CrB1%1bR Fp [1KFHpb̉hvG\¼/}S,c";1̛veuClv{*Wam 0RJ@aUr&*x|Ij9nB\#yJvL|\l~mOhC|HPB-m}vҭbx qCȂkZ*B9NX52%^r^dOmzF$sR9J[o\+3KAߍ̎H):sdJiɉhSـ)9i5dQv>2 8S5Լ¸XX ٌ KUWvɱ'Wmr"'wuC*]*bl‡ȩ0rdల;%^Ƃ1}?158pNRE+!c̏25NbgL@Z5yb 7}O=[*hu16U/d2d'KU_c}@]8{D~<+#ZFr UH"Q@z:k|*ǒ< <)QnpSYI|xB*fIrIȨ_dJ,ذ_t!ΫEyY# mS;˝v$wUdM0s2FOn!)q.I+`-;2y8\O폑QH@ɻ@ޓeı ᄀ램Le1HľGz)D~SK^9[0ƑրC{ !@M.3fejڶM,>CHmC龪ڱ\8=[-_bn X:$ѶY7\";]cxYGm }߾&vSb?`Bd#XvGo60N},Y"f+ o< ><7^{ )"uރ%"˹Xmԋ ) Cor|;oXo#8~##? y??vUf?PWKIp]3 ySWϖ?SZ_ogՕ,"W%?kicOrt(lx}Kbx{v\O;%ɓ'Ӌ56ҋt&'<"1(GBQS4* nL)5C麁 Qf) d1A{Y#[SbxF] ݨ]H*>S[pF(1ȍƦQƓbky{Ycr_iY#gSC4ĬCqe沧PJIB(d\bPz2 O/_z{ݞ &@ FgD(bF׫b1H̀sJ2 cT!Ō}?0DRVn0o sM`x9Be,!fAmYr2{ljrVywFd *;ywcJ(?V8Tcc?xX]1;R^lHP9sj#<%RVUr v9ڦ!BP $tjzE_o PdM"zelafw ,m]UIYv;GDu jf56iaJ?[\-wP+ոJم'Dh8w 4!Da;bd$.ަ]Z  ^smG{VFS@ϘV(s7( |$>hOY}}V*7j9lIY,xW.F)8̚lvKʂ Ԃk%bz_b5QaJrӌZM@ځv@xƬ>^6##Z0rŔ5F5JVl{XqY/5uƒ~d+lճU. #9s?EBgTj+LL&rsJ3LBUP*+rk=9,뤫LG^.L ǁ?z eR-4{S#fadubDH1]CDcbV<%)F/lISgYMrmU9|d[IZOBX3ömH_jMrʥ"'VqS`}C^Jymel=$Rvrm&ȧoC&#uSsZKX^}r̯'_~,P=uu@Ef;-6+$owrƬ?-<8X@ g;o?`!eW=޺ߑܯp_|Ǟ;o*޺˝Om x~_y?P-+Oc%l@kt!Ĉ YZ%D=zzFNci3"dcԇŔb>V=!R/woTS!m>uֽk`g ̓f57]/OT;>fPQAck{v7`M5VS~`jW*pM! ?I1mXVH$cГݑ9 Yؾ. )7faӕDؚ* \y4uXAP$jƾ kt#[ÙVl{5<38c/SDsJ))*/!?ryp[wۻjă4x졨C`LbLY{N3v% UYV+nPW{-.kM~ HԄ%tptG4vce6kh{Y~sc\C 9{H#픕6Yoqrrs <sN]۝Lq:.жdX.xUJZ9h}`B`e!v(d&7x E HH֌,j8%j POgڹŚL#C&1\RW63r.6xX]+@!ӠD!`Ûhh%5k2 PTfyWF7X򷗰k!墅\bn},aU>DLkl͈"d1RޱΒ'ߍ11ʶ8r6HgT%;;`$$K0ɇan,65*̀AP-o.n `#6H)׌ӈL9%>qnJ!yT.hݶ#MVUU<MkؗcUEH#CybrA%fIK<1.L," CeF14]R!eZUD{V%a\Bc Ř}ybN{#ʼ3TV-veVY6S`YA-GGہBJ >(R e brz|DAaTF4zf)mtܕ9{^ :R:'Y^GPdָN.[V플 wU#.-3E>X)k.b]#sc 1^EFʤ"fS 1ɐDŇX+IJɆwt*-D* _̮1޳##8gpZu5fz`&_͏qzg7fqhy.~_hjK~ؙ-?:nжK \lgh+GܣJz@z5a"y5{3UyyW,f-9덲JC=A'mϨahFW^OtyO>}n]+~?QsJzϽ3KORkyl"abrp2wx|3qwY4有9cE:bS Š756K';1]ɸ!YL( ^D*:N#7ێY۰Ru L|Ŋ%T$1vjC?b`.-cY*˵I I jV1tۭuMn 2ͬ9[;+^j9Xe>\4uakg552] {$#ld3e0EZsaf<& d4L )oǿs`TebZ?bt/P'gjY4 X8Pa F3#HBX9e j"|Θ3 m؏Ca:Fiz?RM֬%f&5(FE/lq˵jJAD lT_$>Ggw? %G#d2NzƆ+ )UiI:vM5q Vd%g8&v͌Q V.3ܓT9 Xw5akF\4Izn;^pbpbd# 9X%S|%%i Y-ɨvtVɔ>ǫQ5Er2 F1 NՈ&3Hwo.~Hzj<dSeZju\'M`tQNR_$XQctjfÊUBnjʵ?bTnȘ68{U 9bU[&}fڏK T_US-W/ۚggoEF.儤jjALAG/c씘Mc@gAwI}bLŠFH1ajQ8?D͐vFJŷpo֑4j⚈le9 ,k|Z:]]ɺƔqIvgd>6Çə3C+Ρ)'PƐ5cN 2?C-Z+ 36$. eeVLI33'4>+r7[Ę@s$^#cU` S 1MWHॢnc&fUe8[s|Sx\Ŷ'9C?^B$LJ[,cD1ôxm lxF˵-xG3;6u_Q Hr温}Gs~&WˣX4чd,no%-G?nͿ5^{skn| 䚔PϘ7lg-N20$>,!b>ɩE lzq^ e=@TL2)% n!0kBy0U>K?W5M1'H=}*]Z~Z{|?iuyTV +˵x?X)Ud0(^uO#'g7=:Xptx}Z̙.jW?R_Sa %zr n~,;p [}sB5:e[Y6^8\SK We.8fTzI}6HUާbdG[H4It+yd Q^,ZX~ޯx:,A Z3gi(;H T \0Y6Mے)EZ:x4!"ila.6l# m510`_M)kBt Q奤/ڇFU Ge[JS"Ġ0E;u+]a&KG6F,M]SdRWo]x.!`b,xxqN98X軁ms^jMˬnwPރ:˰I0lR''rmܭlM]QU#'՞ RY tCwL[WIF{ŊU4XnꉁmSOFK [A;eԜUL22 +mew.==п<8>j Q-C35˺&&ennb;Y @}!FS}P6c,lQ^53QJPP^kwɖĚMS|5q`dȗTBV2I>aJ)QѸk Mq:&u)͋&q C 24f~7̖DiHH+bu Ʋ8:&@waR٣- U .5ʣc`9ϡTFXC^]ps;X&cKSG?.uGYQ.ʖ: ϗ ݨKCő=w4Z.zkɑ1jd+]$tk40R8cNٮ~D,c㪊j=9dГuKJk"쒔*WclzV*,0 g4ndX()NF{(#}VӸJ~w-M HUz^+E~#8=D=Rg?F]$ )sD M0prn| W A7db.r;XbCejv@ժ^7 lk%~t|OǪ #O|BYԻw\ r%1;t] %ESvYrD+E5(M3qsֵBMqq1Vc N/.ɍa1'np~~Cyjo~e7'/sl'ɟOwNĂ1x!˃u޹sη^{@GOY.f O ww !z^6Wpr=!"EǼ]bz[z 5M\l2뭎v>=Fxpޗs}02?˖rbm1!iV!$~TMHrY1Sج~1tͬJJ/Seɻ\߳czɦZtGGyrVĪ~o?MDx,Izd0i({cJ=HekKv|7u1?d^X6ZSqg1wmw#/V5%{> &pN ^Od F)/4׳M΅ph_)陌Xi)7b?N cĥot+LR8b\IZi4v~+m1T|9/MyE?]RYxSzәqTP*E'. ZQARF벩OIupM]Vx9ӭŚ1l8Z.uBVlx xeRjя|9'/gM?1bF)(/2gmaiZ9W } 3ܾ୻ܼ6c>|((0r4u=mS@1;ˋQwD&6ݻ\_F`cw`)`d:x^'pף\uʌ(;(0qVƺGYw[bY P !]nS:d`g9eSTWm|aʨ3T=R4ҴV] [r k`Ȝe̘7-mU}gOʭ Bq;[!i+{8c)= 0YR/oL͘d]$] -"E;2M@]'`t0\P5GswwK.b! +!1=`k$%$]džD;aE[cu}T1sah!] [Rsn"b1k*2 ( F+4T1Lm*դڷ> [;"({NtObcXc!cRLa<8~9'pA=̂Ŝ(?bw 9`Vf4R9!xW>.k$*1UI)q~~hnL0TL 6#tcxY.6=5Δ7;dV&V.ş)AxhU"el=&'k kUq讀rx#a`2nVrVPh)}޹_[nɜ<\c& nl=yky٩o>bp&kgi+Yb*w$6oG]Ua \8==#K˯}ewhD_pٲ\̘ڧիY|\quk!b|^>WMGCBlY] MmG2ڣ`~|~15&1`xa9oYgbNsJZywj/<4agQ-꫟ 9:%ѝ}BĶhS0T7 @U;Ơ3gv{q[> ]SM6lr[wxᨶۂyI#Yێ57)cEd8;HP|mkg3rӻ+fUb1cw- /@?FzJvL.yC.˛2vך @'3!D:bT|31 i(cZcYgm?39+ϓL g+tGxL}\%wzy?YIwGĘ'|PƬ5e뜲?V'-uZD"A%#Cnn@.)g21Ҫ:Vsmh&zߕP1\X ~d[{SviqX+%1TS7:6'̼m~pĬ2>mY'O_iX,RդbP`B"DŽ kP(B$q3j6m 2m/hf.!EBec ~3?c;553fޯC`4=,7kKlt4; %j2X]Xoծ] 3PM+V=,Qݽ&ݔ.\sS1YM$kɒ(S'$LG#.rIgFV`]7)&ŒHm |k'@Ro2CRz< #)&TO=!&'psK^Qǐ,9%4&-!UWς{A5(8$ZA9[#*Ƨզ'lN5Yqɣ4ָt_*`G~_וV}Ȥ*q=%2lJ2TD&}N:9)4'>@ aԄ2&SŴK`@F#CF?}3ʿkĺ?wN.Z tDDvܳnq3KkOrL7aO6EhW̫5Ma`v'^>䥗| {[$;BR8Dngl˷[&4_ŵo~.f>Uhj+IC|[[̙{'gܶyX3r:^Bx&U >&R.C=L(MalM]:Ji}0KO˜*(;f~n>DfeX@D秺0~~amZ^8kX^pMl=IXʖG1be=ʹAf?ESe6D%8Cw4 יx}anFx f)͒%[W9фvZbZ4;>,ke͛bsĊ``㺀=9ݑt]\֋Svhi-ٶ)LHG' S]Sz,5=叾=Vw3oτiQ~,9S&z)p HD(R0E團m|u=)'AYmX恵Y|rÃ%zm8>X2x?1ѻ^KXN'KZ͔k EF bԗƠ0MFǟCm|ƌ`nfcyB*Rg1xi`HK05IZ(+37s|)> &`3N!5V06PPra6Jǿs"1 HDR;OeL"L CVIs=k_A.L5y58߇K観>cLHIe7F jh냞b-ռ#vN5;T{j{}R58N٧VjVPWWHIg E![!wН1X6 FAs SjJe/TGPqOEZewDG+cJl%*pVDcn"X0L/ %[dtUd?|D0 n)”K)kj*Ku9BRembkMr[qX+!Du|oMƗD)Ja(JfSF %Kps?sVg LTYb| ya2!lK|S1@19 }@,kFaJpMMWƗ*fg+V]3buhiK#ac&?'EYo XX^#nzua_揨9{gC0%ȡcLɼq#Veۿ ggiV~O![m@ jˍ d;WHY._Ζc񟿎EoƋ{86,n+W88r\;0 V*W3D%ܸ6㨩|n88r~I,phC-{wqՏ><<Mٯt5F}z> U5ޓY_P6Z> n)6ﯪ2 ?{lIgbߞt1<0$A4ABwIE`(3=ȤGIzkdzimj`lh #Ԍʪ9;Ϲ7"23"dm̈!)!ƓXg:?!y|FÝeؙ"Iɷy5 z w[|ƆlІD{Sԏ9Hc)P$lWJ$rn–t2ϗ Oye~2Ǥ*NeZG1&cgg2$XuU$i=0nBi!Dh-cJQW해 Ywp lũxwgB\Ff1ul+GVnAVb>e<+rmIIz}q}ۗ(p ^Thf@֠CAbJE٠Ɓ02FY։i &B.I+ez)d4M¶+KE&$g ,e)-3n I#<>o\jcW!``2; ] ƺ%%1L"%CJ K/M>f]𬻈Ok-sv00cbP8[vFƁVR=X9ŽuX+Kc 8vhS151wvMih?Fݧm2zD3oz~C 1j#(]pR0U51iBR:%4jSD PMyI@_Cیmf|/YsQDˌ2a=?b2.F;r"}l5B@ Bg٧sXڲ"W&-,Ϻ1Sa T)2l y`R00CފK;6Q5kϜ27Gz ;f1m`WvFhˏ~q5"%.;6TVutyKc2!]h3Mtq4Mב)i/}퀿 W-wη`.99լ|/97~]5]PO ^iˏ6Fsws+1QҊܥs0uZ>ecn!1׃C0{)f/rf#~kES1OՋDA}!RPt˿Yh|蜞_t颫G)f q-dWÞ{)A wm)ulՂ豣:tT&+қ. H MQ͖6G9e*3 Ҽ0=ݣٌs9ATf)+E)e+x->넨]Tܝ;&Q.YS=: PϽ܈1b"zvkl4FZԸf45rtpk :+vvXg^t$w1a68TSJ뤳@{oETY?V°Y魍h(nk UG5{|$VEJGzݠb4qΖHO8 5 ;]6H*Bo{= y_6{P7J JTmzĤb&H:BwhcjRHVad+j'@y=cjj) X [w5!qQ fD=fg,-zQDvӪƖ3>f:֑9d80{ A Ma +QF &7nEM"Pd)C mN-'a ^C+΁aؔyӪwcdũ^%1ƼeT ֌k-`CdcxĻ>׵gstsʅT)pY s q>F”9ICc"l]CSU\+L)Y1Nh FD7F7z#OwP89B\aM%Y־XuME.fbcKYBkR$KQ+yZb"P{4QEB;rI|,DˡhY eT^C#dex{3X#],1'Rg<*槉ӓRhRD _  4!x _ T'`4J;=9ݎ!9'|?)'r>fXrxk !(\6T?E =^x>(xΊ6׸znxۜ>hf$KXF)*|&wowGhGȖVQS.M`3s/2pڢ??7YdDZ#=Nk֋-%Mlؿ4W_n1qg,]x{-=G{&M<q[<ՑRbݴû6T>?,)Ur-,Nt\J!{5ѭZ1XQ3FJngZ3L.*Y sy뇍=K֔f .S&mXXc ["QKb:_hێ$\9S붕$V {3vN>nܹfAum褘Mǜ-c: .my ߳CeQcoXa@(,$LV~Vgθʰ3p|2ǚrrPm@~"qahw>;dz[[f6}i3`/28 R4icB~-8ʕž^1deeZki91%͚. t\R0AaaZ1'&I@/u]BKJZ NsjP 5J[B舩 k@+ǨgRϨlF}GyY*955rHڠ1 9q8יlFBM6բ IK[x7깅G/{"{mvܿX !,na1N0zL[Q(( JU8PF晋1b fY$UcLYeTy)֚"y8g. +AS9J)A֣hg]mͭ?&1 x97*-9bf!逦fd6 \USvQ&g9fc ٲ *D3[ ډlh<# 35[ +&ň7ս?Mo +r h+f?ҝ92;LLS3@Jc$t+HʠcT@U'.|6jʑDgc@."yiE\&ypNcܘ*: uc<JbNMJUrbD3.R`kmA}dCGlEE/s'ԛcet1YwTw }1o *+̣ۡ34re*AN%c_BuVbN*}D뿿I31~k$vZf-QFAԖ`Tqeq K2]{j36,Оu4>1ωuhW^f?@)ewyvK`<>`6Zx#aиJ1|Պ~ 7 /1>pm|ۑhM={Sْ??|x {?z]Sk5_~;#d ޿}Ly\9> C1p3b<83k\J{:oʚ_[+kh#uNٟX{CkIyk'WiOCk7`=ؼN+5u {Y ;)b(п=J)Ymi;+KZԖIr}?PJQ[CHY$?=L(uAJ!CU3xgeU 8(VmbJaEYZNUBH9w>C)C6Ss#jXI w6%g^/왯@`AhF61`"96$#$Gٮ9rgԒ:$!,|b.Fx4% +Pl@F'+NiE"wĔ|9-7y;L#||?FR Ot2E6:)ZZẴ{7W6c"|i|i*9u-qRZ)ڲzH$}xpn ; xz]xHnJiz aҫ_B{ܺ?T1i݀Xm[/r?R M1E4STEH;#]ƧH̽aIg8c؛L,5F*;S&ƀ Ev䜜 -!x|PXՌ.ڌYSjvFΠkTQ%OȺAgF`r™ȢviW-%z2Ɛb<eơ&Ғm*gqBA☊,…Vp RAAշ2H 2 6S6*e,Br/Uz#ǜ0"B"-99N8cPmK # RZ` {=SP(I+JbXaKkPҵTQ]lT9Hע=+r5}yV@95Ed#Btx3D Bv*_QU;dUHi|R-Eth\$z6xy_(v,}V,:h-f9 6#TجIt3fʊDBK;Ԃԡu&ΰƒsƶ1)c1ځIh7yQyd}Gtpp88M+3*x<>:C,/^f(!' :&e*K2ȕNWd(Ld}B:~'$)Ui u 9:/Ib&"R ᝗bPS ⧬9P=.°Nɐ ՕJm겿;HQ$rtPQui~o!7{a[nGօv$\ /]rmo_p"b RS3ý~1q#vf R˝orr9w\翴O]GYl>drd2Xw 1Li=#+~{L'\v^x5B[[ٳ ܾyi+/e/~鐿+W~YϵQb'gk?<6{q'͈;~ϏF|?OPK.o Š^ Ot> )*Ijx5{;ߏ.w8ROvwD៓"`ts`W֟Yd{W Y:ki3>EJm [F)q1+Fy:a>_@v맫Z(!dtV֩߬{!ݞ1>Z_g>hRरr,OsI%iE=7R7t Z@rbĨ HVr|ZmV<ؐ+)m{prn2Vd]sDЎdDJ+/t)\.OǤhHlt7O)i;!n,>i;aO5cd] r1NxU嚔9rTq' 笰shv+IVC4Mt2zP$SY6=U `Ԇkɱp[~W@ﺪE''Y^,Dj6B v^dfu%ԧ*KtE\^. @L 4 ̺OC˚zY)g| k!猏U0_H$2LI1jMZ]M& 1Q 3;)i03oOl\*c|%g?ZgghUӴ+q ]P[źh}G\5I=f\TEMjV)+V7Б}_N^< C>w"=g~]Ӛ0k ؒȷa+FAqU- GJc6Z)T)fm3{= 6矝GG"u&I#}j;(PBZ >J$Zi_c)JvBRoQmxq{x[!V-V J)`E f7=4G躇 }751ER衸pZAL1V;rJVkpK,3jsզD% ^R΄ōwp1frڎGƳ&/Li)X]eQnIK6wD LY+ c)DD>CńfPw~EXUS5Ղ?Bk1o'јfqϸF68Q) fKI8 l2.>61zԿ1& ֑Jc呸ur|\xf)J!!CZmr1{X/hmߒF27HJR0CRb|(՛g-3|t8w6comԾb9ca\۵/_.7G}13gJC)AEn=vƼ]#޹};Ǒ?c!ύEGR(7=ƿ.%b:G◯ Wޕ7Pb׺9{W.nX,-sryO~~prk5''/@tSk/p;åc^xFxpw9Y)7w9h9oː| i%G$m<s)~>݃<'4ym>jۼڏ-daCXQ]}ݷ='!EB]Cו?cgqlw<>MD@ҶdlO0wկzR{ߙ0*PV=!PEv{ ɰ[1M4ghڃ8gy'?K]Hտ3q \u]C\ѓ\(m>dlzÌs9Y; ٛ$LGŪ S0B;{tni LÙ2GIΤ>w/}PD@|#f8f`ymk%67S9xTӵ^%Y(P^E'|<9lΥ]F ] ,+%*N voi@M쨲eZ1`u:1ՊrMY$=Xr.wK1%a,"5BSmZS,k꺢r=((z IEO.VҎӶ-}*AXf_d!&uK>pL)m4#Wa.z3Ԑ"VTd}$i3>jWXxl7Za|tC+M Z+х/iBL/EK>FL _`Zi g0[*7t}J`S$$2Fc{Dh[JLF2wOYЕkVdx?b!i1 :jdN0HYmR8lE;3e#bJ֐qa*-q : (S՞-c, Y6vaoK p^:)8_}YHXxOHN|5zOibl19⻌Q/ʥb,.6+?FlП%*( yX=LJ=H\li'5" F_RKI\bD̠4Z$ӊlВ㊄lQtKL(荳u\&y&G#-rJ9ek-ۅ^};J],Ս @!9Эtmx47H͒].!yv{TX -JFK\gֲ<~?+C:ªR<҉?L2L 9hT˅r}68i† *| R$K(B($q"JD2*yTFc-tcٜg,WK5t^LcWbIwyjk}~\G&kS]kXf{۱+\GJr[>.d}|ρlr#US3w\_?ǥ}8|9gpbR +sƊh4]7]~gݚӦ'k|lٙ:*5Fݝx#vRՙF>gCq/ƟheidHP{v!tK4:_|+IݏcY磎a(TjME#F]Krp ER߅|i(E3Ǟ{~~>'AsEtFj)?t ۚ|(>Ӟ~}wzUc&)b1sF|~>5V0Hm^""s1NY@r3w9%5t*y1HA a;rE>y /2<*كVьqhб“ڬ oJa5g)gvk' ?ī{Wv=˾΋lMڔcD%3HTNf3c|̛y1ޣC.)Q͸ )l"CFTZO.ϴAL 1ZP5m#ұۚtV'}?u(Ee)\yu3ڗh|QRU=e!.%1r6M)$um,J~P>u 86k~95 U.s)ϋAA;zC f}tHP ̰6ϡҶr9uG$]A.`T4˼to03MRSCdڶ=>²$W(EAX%#CpuĉqR/>Ws` /:_[_ݿt?r} ~5]qr*Ij?dwY-aXRC,gg+V\sigSIŽQzFNT"͜J9~k_`| N9dw&LGS?G\}^kGkyNfv\֏Nֱ`Ԝ %t@VO&zT=i}PZJa"yYRk$>gJ !9uTYM;ފ=<q4°fX=C_}LrOt. dD̉ E^wX$Dy+.2`uX'^@gY8ʰEړRh2FƭO1~=PH"C:h{?a<4d/O[GG^3D#r," ,YYbVĸUcЉIlJ䋩28DE##WgZ oԧ@ %暑P44t|ZHd?Gq(i/v[)I&1Pѳ;§e֊\k爏mT4Aq `['dl>&h>8[{&xxO9H/\Ԇ rڀ_Yѻ_xZW"]b{L[&_|%2ENaǐaRל.ѣ +,D MxVZtOpe4 Ľ9gŴAcwv&Ih}]gHbb<af<aѼtP1_|2~e{3zy!lct]"uJ7P*0ʬۄ /Mvr6MLS(IfFLk;BLP3{)!1G/{z$:JVVݒzx*d1-ڲZQ]i1 9va٬qƲ?1q#| rD>HR kq#&h_Tr84]T41Ҷ! hE g PN5wt`dX=;#f:rj˷/8825҂)&b'/w6"`E]K"hk* gJ0ryR1MbAP81;ŔEwZC 1kn=Ư3_c^!"IQTg2i|HZi lmEu=8#?%q$S} zFO?tk)g9rLY=uMjUp.#ۋȷ(/:8^zןM*G=,WkSU+q*&+ ܸ2-o0˯^|Ŝ<cGS^]xv{ar[1ןs~._eox;oK_`Z33:]B 4mGʆĘΩgɽER/V\}fӎ=YCbb#)#DCY >i Qs!2zm=)&|Z! :V->hKm-VQ:tE?ud?cB&Y.rBQuV %:QK|p瘣S?MrK׬MZf56vO!XvØMHD8Mg2nDQm.urLѹ( X*8kOQR$.=(\Jz($HaC^j#CbTUL&\@$Ҍ)Ѭ;Ful2fZbaf2446 #U~NftW@$4MKZo+ߧg 1u-r8t'+d20& sB^K&Fuj)a;It4a/\53u@zRוڕd\ijS \,W'䜸-uEwx=\1M@Vxt |JZsZth+ +Zd)2ԉMΙڅA'?ĺkQ92jvS&hD7KYY%c䞬c\DUF@ecD1wpc˺[qӚe1wLF5rM0CK|p;ensV\E/` I[cj4EU 35G&=$s|r6Ӊ%țnܼɺ3\z%]Pܺ.)1& egg%Fhۈm̗+vA2>j&R0Xȸi\U^,!bݳcŧhkN57U%yd#Μ39BƩ$~QLa0Ot?|:g\Ӵ+{䜹kW8/Y75K{;ܸ}H)vgcz8ȶ;SR\9qNF\e?HCQ 5b2E+9FUE}0G Vۏ]RH1 $KM@: O 1"%m+>BiEgRH,pLkttnƲzƱ($ Z$R g(̤h'УGC6{w0_|9wo3?Ǎg-VZsWğ/^s2h(Ele]~1фău ߓ]"&[Ne٭:wkxzE|\0O؛ ZR%k션$Ji.k/ baw:e]:2_וhnz%0HtsCEN3hOmBȅjrVUT;IaCG遧Yzc~f +8yυ lMp,qy佛 \a:Ļ %fe_vj[οXMzĪ]d,ڵŰn[4TV@Dg)371KF/_#0jHZ G2#+a6s$eњٚ%y.&ڑs ,F4#%OkCi-) #F)9BA{ju?i.ƈ V!?syӮptDĈmY\g/ƥ}<܊-6U6C$3. I1 ʍh'AU#,%0ra)6Lܔ`Pk 9qSVXHA>IesmF(<q YEbE*oyycj;F11R}*R$vPYzȃtu|{}$DvӝCYw on7e h@Tb`[G/zOu*ņͱZfuE ۑ>۰e2g^֯bvD6)D۶LVƸBt03دZLʭq( ''^݄q||F΁,ƻoܿbmibdn"|{`ڢDK<@ $I\-kٍH 8?oObd%)ۥ_RL[S xmn򹮋-K3ѩ]g__&jo\~"l{)` .Ѯsz=C0j̍_g2U|{7hۚZr؛$~/qNo? +`v!H'R@֎DD;[|o;+NCfwd]Dョl[&q{k|X\3~}r,WYa?t~^G"ǧg\9r"Z0g! l#O =6Ac1.k'뗸 q_1_j~pJ=1+;W.[,bͥ9oNxr˯fOjP6RBW|Xk;|os8 |<ǝ yp&O΁,(D"lRQݚkX:R32|ƣh9C6)0|wanЮT#4ǒ|5#s r7\9M^3t?C<|16}qt I;} vКÃs~mn;V%QUH*u4,"sңFJanUN:ϧ>tA2-WgF󳜛r}޿JE']@VcE E֊i >>ctW m]+R,/(}>!)&Q_hk>XF +U(%!JaP+R4UEhSj*FX)-`b'ڂGFX['IRtY)l"5=.]3B[zhHD?وVhM QRMѤayeʊGNYtٕ<=M\=YT)nDWU2l?}ۢ] \) 7ePډUR,JYL5aH\q|}aKLQ>ŐnYZ{z#UaL1ݒ gj g1aG$X(kvz,ba[T̴BKRTXoTaZL܌iI222butgo:S#͆xo=b %;3M!*@a4vZBsW~サjyi??g;6UNԞFcbR\$Z8oVq̆H&'b"%l^ML)6d%RbbژN~DezCO&[WyΗ#%6&皳Ct_\̢yr1—}Y)|8o,S܆Y۾K1qV)V,|5|TLM@P`{D$. o9SFҍdO bAQF⪖uzEH+ uW<Ͽ~׿5rLqw~˫g[VI²3o|*3Q}!4;VnLtƒ&klG[/qqsʁeo_ָbs :NlkU>+p&QD1S <|89iI9z9P:c<בrd.rGcY,˨G\$Y㙃Gtk?%Uccbױ/F5)ٵїnLg o:ϳn2Y5Tb뎙+|9v^H\[k^!!D ! 2viŮLd2@1Oİ~t֭F4O<#̺XݽOO~Tij(L?+P<3{IDATyAj _z֣_:BWoynhUdcƎ6VUtЊcĄi+O$0TcK1rR\b\;+Obzm`dxjNzo>?&kjX|dܑx,KT&Y?)tG]3vfm%$]gG0ס9G1t-c{NX ˮY5 ;{Spig ' h.|<8DXl ,kY(! #[NZ߬Nlɘc-ׯCV+zi_]YL =_,yxptg\4gzj0 m6=޴8^4\;PG>dajd9gX 3rzӸA J0o"Ie'L1F \+Xn}9 n˵#t~I)ŷ[9ӯ>0Ƣ|+FSHauHnbVt3>8q3&as!p7wPQPzT>sFu1rCF/:2"a)J K4*CaZ " &+1K)} b`x[0?YF\:KVLC;*FƐ@d9GI)4mL4Qm͍N3r-c "ڎ gx6}t16ݧ T8~2{H>苁dk!.WB2vΙn|fhmk-uKd̶G\:إRݙN9s {;SU9eŒ^z"s,H)OC  k8؛z?hXs?Qa(mXɀx`Icz/|hS Sݏ>ibLR'Yefɪ"&MjCC q E>Z1-jN@02z}-[~^ʪ/.r{oⅫ؝M0ZtXq-~k/+_}Hd)ʊ !.T>+.W;]&(Mt6c.QWP5mh#F*CW*f1nl \K:p AY _ɗɄ:0s" Vqzd<*k1S #YyEF+ǜ[n=c:`J@nfKYkɒ+&kތu6RyoAmmqdjuڭW@x9~ΥM>eUFZ8{\3hjʑS՛i,xz]L!`u(\9g1͢-@\]>$dGPhLe3N@^NOcIӒaG"Pỷre=?[t@[G, X=zpm!ga&vk!+aEo_ܷ+EL!x L4Lc{OiͧBO"6qhkr6ʘ)i4cxmGX꼑Q9HJ9i~^tC2#q-kyiégT¨CґAZC\Jd} *;$I|vz^D(ݹ1#Qρ3Q׎tj0Ŋ.x:p{ X5k־eo2X\|,wŮw9::-3 NM*1Q1 4=p>%~لX,V̦c@tgcí2cUdLΙbEӴL1̊|tʄ" ɫDC5pxUwI/ič[g\4`o|}'LyQgdᶁ$R,weQOJgARpʅރN ]r?l|7LJHN鼼/1rlRֽ#&AYʙS`utݟUgn=`m#ur- ;beNjRm{f<j@+%hS`X9KtLHi#9S.ݒP?QqmxNŪcgZm% /w{Y#J(̻"1sSKU S&XXn 1& J)jWlia5((\(]%,khڶ#fM3ig6~`1SO & h4?vcjLCXޕ圭e?=b& `݄ѴD4)m=&NC *C}eeEwz-,EF6A )&(zYLI׃,O`E€պHv_!b RdaL\1cjX熂FDʹth]@Ĝ,fȻl@wth!]5 $4A9¦UZI0 s ,XdHQ (Urˑ.KRH~Eמc{'5GX THA 2l5e'Q vc2܀>!@+R<:7G].19cYO0Ċen!dE"!e"kLC6es<[Job#IdtNe F#ͥzMyꘓ]+P{zZAdD% [Ns.Z:T.$=OΥ[#7Zу֍Hz^)F3˗x7ߺA AbmD%Hmⓑ n,T7&yM.뿬.ii@%iU%3ʰ5$dFY# 6D|L.Ic 0ɥwO|sbD kTgUn91ռ4Ǭ]TZd/c~n]sp-;o z9BA1A-+*&wܚ3.D6S$PYK/o7`L3^>x ?«|6_oq^ß7swoPZ"\LR(Iw e *Bۊ[yT<1C(!R`ЉXO trvh^dTv6/$|ɨ&4۾H}8 ƎkHH!RGR4r!x|z/ħ.qi[)"Ӯhkz*xHࢺݮ׏{\_V{qM,9-B!D| F)&3a({;t!! ǏA[d99+^8]V S#()uu]  /Q1t 3ki6 ?)ULBj.. Iۂrɐ``{1|\YYQxM{nod2"u멜-;z=8Xs|neݟgUMh}ȐP$r9tV42%y߰{طkav 05Wk0iڝ)}x]覣 A'Y`hW+~ygg/e3B5 hP%1=摥b)G jZc"|,|MG>&qگqX=2Zfk̃2JXZ4=֪N(2$EFbK2 [Hȥ]I ad5/b0K]`o-$``R I_YOT:)'RrE:~C "dA.^(x9(tJT}qXx`( )}4&l >Ÿ܏b0;(磿9m. HeA-xn ;7Tl&kM&"3cIc kЊG)jMFX:KE'B)~qxd (>J1wh KIĘ 1Sr&U?Kwί27'-Jqh%u)C(Rb|$Wz @M@5=(JA3FhĢi1u.];ER0F܋cCCu0)Oi!GŌU Xx!Ch(=KMl\->G@)2k$dʠHe21n!U8k4NoK΁^^:jT);zz-M* 럜312V_/y*c_Y׮Y^|Uޟ:GT|װ:nq:t5{ggJ G% ud4!yâ]1X99Sp^y ;7[@+;Y{˪ܺwJ¢SwԃJެ)jlREOn|ý;dNZ]6> uӲn:uYLsm#̺n(GJ:4˜G|~ GW"9]iVDh+j2:KiW^@s9g?n3}5gksXx\W. Sr)e~ZcvģƁgmG帮׎YBUJb֜Η؛M#ƍBBxC`iUFkH޼?ْw?{3wltsۅ!PlLgk*|le%D)ƣz0c!zmGR 6kLƧŠb$k=Z i}T5˺=9ŨUXZ}Ms_{+W=dr+HRmVGN)uO"1  c*u=^K{ c 1LK4ĭXּ"9 #-qym.3+grX[._٧~% cWbݴN8Y9[ح'̦ uKFdYdN*i0zi _e`*bq8069Co lX؛}BP4R,PZ~ ~ 0]0ҽҠtM]ψas5!&B#X5""mb1gb+%E]狒g?Gs}|ؾfc)v|h?:&⽡㫪Jr9oYvG#P q*0}'Um眘@;~^*>Jq;Iͣݵk3G7 ǖ**tzT/aT&j9b)%q21D֍ԎS)64mVZC1ɀU1I ukr(wR{_s;SOx2bw.;!'PYH:RP(*+Ox֜_g&S5͝5d0 `4 )gf;5VG8[B441dn߹Oȥ07L{NӅUj_fn.%>_'I$F [χII75'VH#ʢMXBzdVz aIW55MR51GgZ>Tt$Plp61򝛼{ tĕ;27/M| _c\).f~+?^o %^|%On#m(iҖ-FB۬#Kc gwn˜aw ?8eܿgdHb˭ Q,[RNb\?a&~NZZhF֊h15]N+D3HVE眙/W>];ޓ5CA g^4EQC)!v(#~ylDh+b`]5(HH /fȍ|ŠAx\-m4>uDB$L-k㡪Ⱥ].DibGm>̙Ҋ1M"m َ-%q܇ Yל0f2)vh}>4RR*9|OOƇ}zBSr R,GKs;Vl 'Y=W^OXJs% 1'i70|i8|rcjNG6,^wI5boo'O>@AFy& R]?;eZ\ݿ I{U9VD,Gʹ8|hnHzJsq1'Q/ݝYw*\/ 1r`4 ׯrg͊t mRu c g%NO !rJiw\7 6z\nYp`,c+ĩ glRr4ezz|#NoJ_XgƢDzRT<9%83v{./OZvg? EG;^1>o97h ͒Aͮ܌u5 f U1t&R1o}F汹?ZGKn3޻ڲn} fZkx97N/Mj&(P!6`'$ؐ %Ҷ$KAe&)l6ɎpoN瞼^aYU_~_՜k sp{9kVլ/x87S p͐=YCPX Pld9|mcG1F0"SPmOb]}2D#`-{ k9 'vx;Uvd*EQa3E]a0{ s7¦lJ;k'rY Cc&caobai ~aAE?ZlC(c}xҌW1hJp9R-2?g/O?KĜ7ǯ~-^}soTtP̂U:SJ#ƛؒ\冟h\ïwǿe𱗯2_/?5n9cY]+%.u@7jnLtpLݭ_v>i=?R=zĸ-B_tHSUeomޗb㚏a"6wFY)͏uM5΍[xy"W B=WA!9#"8]V TCx p؏s31%}{׷q?Үg 'gOۘ!,rq3|3/3<aTr}7Z(.QXjr;xûl _\AV܋?U $vL?)>kW3$!&O3:$ 9[9'I"Yԏ"x9{5T{Q| %z߇ >C읟bc;G8]bc+ŕ Ż?(jpY(Kj[>ԀQ:Nnk+-@bUU/~S,V1X)Yr5͡ d79nktW@Ѭע;O E{'J 9i,:e{_U-cOvC7XП)#MryJFSD g))Ti3BL+DzpBx8"k*E$bCrȀ8r)5cK#oIin(}ᝂ)fVJ֑CR =!'bX,,|׳㹹cEMmmC@ЅBwdS13YK6]vbqCњ"d7}+ HHib`$ fBATJqa8=|Gچ=7*hh/Cs"E D{.qxyBt)>>dR{β KfŤt?s|8cvwyXA+$>= .eAg%8Y7#w2dv EOqܿ_58v"yP\'syL}Z>?]}!…uuuCtnq¼${ @aO]odc6*kd=Y ߽{p4P| /eL?V4pW#iۆ%Xoج;ѨQ)XZfżi{erxrk !BYHr$EƠ5P fr 5"+O 9Uº2~MO[5|ȪL +2$iOb 9E1)`gV_`I^µ+ 'u#',}H)DM vٗ->KQ Ŭ|"&VY):)%$r}=}!DBw ybV7+ԑq= T~F2l)CcQ"XHեR< ,B 'A;5LUƴI}$J?.R/|W~b[$r8m0kkN'k8}* 3D1ʴ^VAHd zH 9oZi=ϽpSNmbH0Vxlqΐc*oILΥPʜRt۾2vBI B2Ed8[o- }2"w4uMU Z3J.1 9´ňǚg?~=ǯW78맥ؘS浜= >J;3P :ӂ~wδ\tn:贗0S2&lKlz 6*{3߼9=sx-!sP7fFȡe>\:c[w_d6\}fƋWZ;2<Ps鄯-"8h+>?so}w~~}gV5Y93,~s ^xږo CYx~[w@=KĸQ|ةׅy (Ŗt/Fl^1Qm*2zN~>FRnܾ˅%uSODaM @^xK~@1޹>ui;uo#)~1C ^f\yWDh&\0.L?sxA6]ن{ ¿xؓ"P<4OYH61ɖ˳Yrǣ RPY"TLiRu CO27,TLOY0keKJQX5:_ή)n;%kC5ƐmW&랜3-V1U>ȐT+/<[dh,!~P*ev*woQi< GDq  ra[3m2cM.AOFQ/~DŽPWLڳl =d7k"gRJj:4hS3C Ĕ=9 l5%¨E, !uMSv186x99]ZM h~䌺4AxU-mwJJRy5;gU'|ZU9<\7[Bj!ᬥ<1*FlA8\$ Q=N6Rc1RM}o4FOe`{!+K<8Lm"*eB!N52Mfx_S8s 5 [ϬS/j12Dtd:kkI{72՗?ϸW0&S$AƒTJ%L4*3FzjpȻd!LU;wTXD;;f5bt1Z\έ,VS- ޓPs !f:BJuړ` ۷W @:a H&#O[?|^ݞ_p~a%*Gm1huZkiXHBkh* ! :!f8|@Er$0ao:Yqc&kҳH?G! 8H$bB@I̗KOF )2B= /]5;\]R(H_?:1PU8-V@Z9uǬ1\8Rs5Or$JKg|+_~ qOqW4e6_ݻg}螱HX=UnQ)}v.,&ͥA0-N+do#ƨH>)6{B3BĈY|ȹb6oUk>ܸló/yxm/GyCk)._ ܸp1z.?˗]-551M7開Wb-{{^7%8MS,[SA=k4<*fmͶ]mmwAxX>b:O")blfb=^=XV`֖9z`U'^9?G`t?=e qoP*/gkͧDh΃5]@H3Ȉ{Pr0uclZ u[]w(I>t]GNF`qx*ۧ ̯sK,6JHG2S!e6!qGQxT<ڬU:y&ΐpܷӿ?q`6x^UtMBƯ"C(R)5 a~`r#ʈk̪GR3 +kYffB C D[%VֵڣW-p.QywN3MX-jZ6!F*^[uVpjW6xNʓZ+0IN݀kj5fsgQ S$5BBE1?*u֚[`ћI1Vv]ڙ(%;xtZHbV;w|aV 9U 1 ];ٶBq}H/VߌZb'Yoo\+\91{''>Ikt@j&/3Yjd,/-wlnqַpcaMu^U$J̎a^&ryc#3j7Ǹ*x̅#n HHs_Y$ER񭫦1/IJ6Q?upV~Ǩr>oȺRdQ,:9ġC%;X\ڶU7)RRd 1B )a\E3SspVpUK;TXE"f,VoKԄE}OB(Hg"1.if^_gs}O8}k_g8X|/$ƍ3~vϛ]ˑ:UMV !LߣLBV I¬rHVxO )dx}^hjmYMZEJu655ԻK;<1lҦ2kwo2?1 1([F @,'|1ᣰ|BƘ[AAe|Bpjj4Oߛ?G)a|ꠥnC9G `ι{ܕ9݋,*2Ƈ X_zt0tH96'4M5N[sO=ʞ4u5u?{>Hf j7R>z<}dcppxBu^}1bL7!etl]t-\="aXCe yϺ{h{&9ͧ@> R1xY4|M03޾yj1CDt<ˇ$oh9e:pdh|q'>u L`yC$ QfٻJ J•0V%G?qVIIKXB[q onypuOHYE$\_wXHwTOH 2scnSex+r~onR"[M8yFeb狉0觧kXVˋ-= \w]r`>kU 4M"6}j5W;Æk'w|ŌЇ8dwVn˦wRPUg-m;9NB9KkkN&Cmcb: u1QܘP04Pkdѯl;f&EU1,Y3=*?1FVӞ >i !$r^k1zeᙒ0}`v ^b} SP F̀)92t7i@04Uͬ=_?dVGκ<gꆊ>V%|:~W!r"H2יIZTȜԘ?4񣾻~zp)e7}Ԧ/>0R+"Ӂ$BH)0:Fis]{_>s }OT;KD^(UMUتW$C" afbRUcIb*.Hd [vdjE%$a HbPY k! Bܜ嚛Eq;C;S1I_-^+pZr8XIta˭[>W[olQ~2.-g?_nC_k^v^{oKߺ!p$rb͒=nZyͷA*޸I-[fϾ+//_$ 㖐Ro={cUo {~^r;YݱU~8.Xgtǧ>oC9ڻ!%nܾ˕ }PaeSLkEiʑ<,z;MW~3yɽR&4||v+Fk}㱫a{&U^~9S~P+'Xk3G%q5Fl!N]2OネUv& f&a lFpđ!dA15H, {T$X ikz{Bk\S6 )3f4]5Uk1s)3 `*`Ĩtt  =Jjtk"@A z-$#%@H'f]-1X|[<)DncBb[j8]P0ߠ^=K2F h:dN8Tlcb !_E7 _M5?Lr1åؕ@eMb"ffCJB9Cjqmd@OAhf1j" oD5?4)9tǐ 9rURƉQHaa!l6:ĐS +fRL1E+]?^pva#K`;ccc^{JAq8WħT )t>ƍ׹q{ː<2$hSUʖkfgMbL|[ +yuwY8ʊ7b{/c_[.Eu =; b&}+bb$Qpsc(olŠDLodf9 Dq!={޼\>\㧙-_;|ǟ?7H2?WX,kN,|cږ/6oXc|6b0v˺6*dl_kO^_Wۯɦt>yd$7ce灸J(IH)e0E w7ڢ+Qm'gFpU?4–oFh>0`^9& XR^ :ǕG#zpArV yo[}Ig|ۜHt(AN{aze3}όݣD e?s`S6g$q *ȠsVMY)syE0s ڊ!wz2u>J +3޸uzȓA9jij|+ XptK0/)f.rK9<{A0R+RG4>|[DŽaAeCbbxߏy9yEc1 )ʒ'k1Ӹg;}O%sV|njSxO//#w7gsv} 3Dࠍn4DQPi  \J6с:DXM[H $iZ Ĕ U=gZa,T+b<;&eXf Ih{GUjLf+C]+hl#G}OQ{(FjkvۗB^r1yFոy&wr(,|l;Y`mO]WjVhubLFy5os{^zfMC嫝ᙍ22*Yz;05J5aegka[M'@[fuex.ȅqDm{â4L8\D0NvěO.k{ 3SudEAj4¿^K|j߾0\iގ5 }.&\b8.ObDJiub>` r"9؎N-q+MMDPG5-Iak1-S([82h ] DY^øL85$c>0|ڼsN/u&jIyv| sn2MsJ-I٪1)~5[VI@ CXg Ըƈal1ٰDU;$ t Us,NB#xoac1HL 9uL,^arK3yk'xS͓q6JcX| YLR?L嵰24Xki_[e}3H sLc=D@Fr6!jf4 z$ern`ܷfKH[DbNﬥ2h&K*{0F:gKq({?wɜ\Sٜa7|%n>a 6yO9u;Q={Q<^;`p;bZ/xN׉EҾƎ@贑OT%L]7gHL0U%13qdItln?3 @|ٳY˖7nO]{oR\'DqxZR8V,ґH7O/A89)wW^>pLqr҅6.'Vm♋3n"6FD]˜ǼK|qθ:pxI1{=s)lk-431&RL;֐\ޯ ѽcM]sa`;{lNfr>PM:Ɣērq?_DhZ=)AGxp,DH*qG(˙≯#yK Q;D5{lAIQmb{_0FA5g M]q` ˫dSq3]xLɍ p{;p܃+>xd) ShBq""1(1G CaGX'<{Tx0 3bkr-V +[fO]dw'{P'vx`pCDI'".]!gNȥZ"1f R?I$lcbQyZC™{J_cG|OqOtm>qO/x1 7΅ƺw\^>vq˪ɌW^b9cRv^[5L}l*)W9fJ链ˬnHD=#gaHQs ۾cjB($H1!VYm[&J$2Vy4{mZ.^8P62ef2JVc\Ќ+1-+jC {n8 Zh+HR 9U=$ D"xqwv֓2>BW#/1ÈY5\(r80ԆEo4|'?"aq*6Fr$djK?a2be*9e*v ^5)d''؅Z϶;eZXrwBN1FPsʘN[U4MC8ȀXG.1T׮pՒ! c3Cb'j8&i4I:;\afx'|a1FYy/6 USbR+k?541钠.&(Fs$ƀ9me^L0WuMUWm3!`\=j{K5JR,Y^z;aVՒ$Z #+"fawn 1zf"%b?_/pzu$njwI"b=㹫sNZ=Q-]'0t',eUdUcÏSrFp`Kr@sք PƘ)"%O/#p#cYxeg?,? Wq.wNNx63omW>I˿U~kyykۙ.=[7nqflpzs8z~/_5TlHdp$:#IwyS\rz=JJ/縑7IȔpe KEA $7D!p+k /""l6[޾y7nsra9oYHo.7~`0ɖ]q\u>Q őqʊTXU.Xchd' 5]]sZ❣TЕ5) g Wu~w\=߷]NXUeYԞ0G /Ԏf*E"bJx3&&@@)8_쎝]r3V~!P( jĐ oRL!s7Dy mX˄ J/C6|U]=FT[~u?sMH\[jO^&OナG7<)`c>lf敱hjUEe  ^mjw!B`>kB( exaww<9łn~6]7Xh5SCԺ+lcO魯pB? $Yir"8%-[V b%VO2u[ZWm@ , Qۈ!*MԼq>k*BܹbAv:`ʂ͓V G+z5c\5{V(;1ԏf=]{4&OYue4m"E{@"D)YSZ๻ns`bD?< b^Y8y+,m$-` dh ft>|KX%^?}%ϯGǿNNh+.t֐z16W6p @Rͼ簚n2 [sp<0YHi٭טZ޹k0@ l#6HGs/C2$7 %#34ׄm|sAAe׫L2> 1s c$a`.͝L`)ڝA3{9N4cM2!j%Yʌ`-[pRg#HNTuiRD֩N婪Z׽vXz-YtLg~l,B4Ks[2b` i8#9e~w ooKk?9 \ؚ8Sx#C X1Y"MJja"w6AR&2' )|S-I-SGp&RY_>0;;'@5ZO*[K. H3R.]a(E]02( ]#4Ũ B51!&;b0V0/Bow[a 9Xor鈻'1!Ɠmtp-"³+mw}o=u] Wn"H,9{qtȔMuZ0)ABP檱-w^v4kƷs;w-!S{ UG|eKX.G/~avI4gw˳/$ cƂi!r`^? }!"$BT?.FrJj^1DF&?_T,bh}0[vX5%wXPTl)D T(eMwyߪV7DrG~zNEC5?^ϵHՈVxTU-F#b},4k<*O4`R1'~0\?9WYWƪx0 Qڪ5]颂]?4mEJ~Z'kڳ:npr 8W9`LO;3BN 9r55:K{5MVɲkQS1if)Ngk.5Մ$SfhۺѤR4. }T]? UӸu瘦ixӳ5b6Iلvat&d5HM$gemz*{>SNNjϙGrY3#&Olf~;C- B1id{n-zUjcf$&\3 f3V LĚ_wo2'<`l;IHʪ^1Ӽ=2OG9\kخQe<6@H %28n ZHHXonTHѪ ,v\[l1J۶t`C=$l$fV5;Sned@ =X+YejArU sv`@ @ &N}JE5%WClbDݐPPIEŠEq4(ibʦ^ vO). .hơ<י sdȫVUfV[SIQ6n=_$;ou|nNQ`.遈Jqϔ9möxO>{'kبWNgXz ׮d3bnPfeQ^A߅8/w0拆n9ZgK$~+p&r_7ʁBst<㭻qc6Bd /wZ-T~fi ݚ!tH`Z$GA &s(m {@:n j)NBe<9Yt.ch5gwualE*6Fِo*G!=^Wν!5MD8Wy^^r&eEGa}5 =Gpn>f \8\RfJlbʖ۸<{\އ>QgG ٗIxTBr;E0*slg~#eo%F^/)k_ݓ3^~"! /,m+kf"(P(d cOksdUtUsOW9@cytPI! ڔ>dPi<}LJ|+<⑻a%̽0~[1^;pYj[cBP1ʚHy7-MULh܆Yr"euV8;pZ=M]Ѵ5)eBY):hU0>9=7o(;Meu8E3ZJa1M٬a w1aj%@9 1/sNN*3BM]W9[o9w1oKj'ٜkb6`g9gol8X8V;!*5Gυ 9[SL"d"KpvqV˨4~ o-^/~;Km }𦀼-jl[:U7~ gogHԈ(kt&FPJ䔰K[G25Kf\G`nÙ"` Yþ'~i慱#kZA= db܈/'R䤦)e@0x{_nt)@Nig-`4{-)l6F4$*ws?zP1F$G1zi.pvv !:l|KY,_D^f~D۴,ۊ_bgL"M aBbp~wƖIV-6-4 F퐈ɫL2¬i>3d1)p1o k1$͓IE SU5C{y1НQ͜ER%e@2eb:^kBLsWm+ejY ֓v>Bcլ:|)GRkUaVtCdR76QϿȥ 3Z;*F {@,SP+5>)#緾w%GQ cp Fe,c tl FW,DpҠ;3lb>KkOY̹$pqn_~rsKwR-m$<3`qwۆdBŝ;,+ \9mdSH6d<ޢTuU <4{uU/{du;Aeд aN֜잗яN4ubp9c;wOx ďݏ2iuM@*~x`QæW;fu͍,lMŕ\8Xaϟ,ލ ~?, -۳ ͬZt0ɥ>(DM׫ULi*=Z=r, `ںg^93g{|;)hÞ-T>JIO=pV/}v9Ys;hb7_{g/q|,f-GˆϾ|8L?9HAp7`:O3o{ik|y,} 0I Q[so8U]O xSpCX"9=~OトG>jN(xt ;3>~4P@VAuK((-Ӿh #꺇hIǠr }`ITVdKx9f){)sI2'ݚU99'mO)@7- aj]+S_BK]UԵȧ"sa&1&wF6KbbY;;ąk'Gj3Uڦ҅)_.Z@=_!6`n uUMo${~O9Cwǧ}sϵvWYU$k xDZ݊>8E) !bEO.3.@EB!$N-DU*#S2QqYoSb>NBNoȒ"Kj9a 挴 65npu b-F/<}?r)92Ii2&_i݁iwOadKJaITMC,eιsx`3?/ѡUUcĮ9@bfIwz@\0L,__ʗ{=_*cSۖ+%XÙ!'cgg" =r$ATv[H8tTCb拖lCNHY9QS>8ax- H6Gf2ʘzD[D3Xj1cluIf@~OP]!ll&;sog㼗R"ʮea*l18RR2@!1 # o %a̭DJؤ옦EP}Yzmn"_޹[ dP138c.Iw"U1ś#wO(U3@ׁ.szòY?IY-Z7 ۚ['[\!;X[cLd5טąUyY~KoR I7I`>[?,7^Cjl6qZ_{9Y P1PyO,ѿ`=V֙"X}ENڥk;M @mra\c ayE}"rk,=)q^ˣPJ鵫^~~f{}6[MPm]w0۞sdJ[CyjgraɬJdF%Kp!Gpy=᪚Uþxnem~6T[vP!>gq["%nuX.$u'ѲO ⑻T#602+-;3q9h%,3~.g-m_g tq c",!(IRHUSB9VT@q$rb^XgXpXuwʆ_ Ҩc~ ](\50cG5"FSٙ=*_'e$=|9:Da3LY22XLnj @s^c6nt0X?Vܸu,Tn8{D-=*55dDFhP1Ù7o1F)&e;Kb b^Z 1E_DA`q}"1k=Y`[r! yH-~Ǹ7 nXpV׹ I9Oe gXі$q #!WNq*xOY9 C X+4MS6Z U{$}ꁄDsn7UL'² nd6ɨ}+?Vׯo-ϚfcM%ń BL;8m6 Y21%\P7-a%>Ae9kUC,LXb]1~OwjEI*QMʳn|g(s6˹grm 6aXTTDDe gQOB'x?MRL%Ю}uՕW]Pk"3VDf~zQdd+yqo19_s/,8{}M6kwcQ9]nPek\.kQo巾v| &C %3)z81'RuTMs4׍ƻ®ON8 Xj[U-oOθus68fQxzB+[=3͐3u]]QP5؜r-Y?)k|@oh̖?'fO7b$ll@ 2ms#Nk Ωj*35(+4;F%3%0cV,"tͅ6}?y gqob԰u|QI\;RlϛE3֪'IIM=i< 6hgCbY݀cl{9SJP1]TmCTm3d8g Z%y>>*]!*W6%\W~PƭF1\ךmmxi1n>9hV=|\ R6guoD#w9Y=hH={‡tmn ieuSMJ{Gq|55 j';#4A㙻mf=gCR)]<e{!l-+I,]nlb"I:13;aXgN>]يi &1%_;YHQf&M]QTlX k2X*_֨C{7je4XkXo7ĬQe bLl6uUamm~5/'}5;*hc"YKʙr[m[hgU;eZ_᫊R,1^oY-Z0=e.T޳hZ9 Dkqzϱ`Y΍ Cȴ'GxG62r.FIyx{8Ahʡ7vCMv@EQ3icv } Mţk7xC4ޑwe,{<'ύS@Ig2ta cuOd^%ꌠǾ)뽲4nVF#Ik*82xSP:{rPpj_TΑ B6[6gymSL`U Q +ʍ>3eLYŶ,[}+PBgLaM X&p3J(YǍ"YjIڱhQWϼ;wּݷ +sÁv7vݗcq$"_W Uek퓈'Hog+/]i!]焔W߸p^'&~lg^8c~a寱NlRfȥCدiwo{d#`M\rR;CJ)MP3Pӑq(3г'yGRJ1鍡m =9haYs1'gxkZ HieQ 0$ t*m=WCW9ӻc%Αgtv|u"ZNKi|anyN6za0\-NC҉1!A?x6A[CLcOv4)=veĐL`-bN M[Dž. 9sLYbCm jeA5Ω!bJ<OؽdCMsa|]]ib=oݔUUymg/+DuTMQqQmkBlj* /[3ܼن\a1H: P=09u˞džm%s?idѵ-7O^ν)bXnț3oo֬2U 7 zq({)캜aTjf$So:7ߦAd 6!-j /iO:LȺ8;+o'6f#3%\fr)M5 ,Ȥή0^ҏ4jO?5SxoFcH)ѭw|_*P:\DŽq/ߕv0EG>񲓦 !LIA*sx'q)f^Wf\%.TJ2M$DeY  2/s<~a|A1`rWk 9UNbTG4JE(X፰j=^#-jGa(n\La3[gmfSf8΍_e2Rk·s*)Epe4֒*SЁ\Zlr+X.:t]O䌑vqY "?C(EpO̙YV~`ﺧB^amƱ8vRe'I`+jmbk>cmCΙq7rѼJq)I1&G3,{zl)f['Zl!֓b;s g/8Xf>}.&K+/_S??3{P5laqT㛊{ܸR4aqy8 X$z獤4;cast\G'6:5O6>fJdvĽ`b,`,`NStŝ3ێb7YKyȒ |8lSߴy۰i@cVyU,Ƶy_^ w-Tm:.0VG_JVi@Xy@Fm?\} S%}&vv2h ֐izR0݋栢ચa%xGU;\/z{/|ܺ{Ջ+ҍsU.p'-zZ!^zɺ⚶nnz<COi|,9H 1)quo? 0|ࠍ8+`+Eǽ}O1'HYRja@mU:|跁;'H.^>$HdB .0@eުSjV{ uN{l 14e#sfMcq2#k57NZw Vd7ue[+l[e5HԱl}<ʅ  ǧg !0o@LFe}'k$ptPsh1W=y"AbLMhyoC6d zojο+|cd w̝d$ERlEZ.r$vNILFt["x2wKmVʓ%!3JV@oYpQ >&U:F8d;s&@C5+MUEs" H&ə1cDC?ŪfVqr&;%dsB}*1[Ofe;P:|0>xe$%Ccq`Ǻ?Ϡh&XAkJQ~ ukENXg,p][+i,Úߏ'˗1),YwbHΫ^;l2!얶g^9'>{}y82no7O?s:ɟ|wIȆ&HK(h<@<ff c1|17bw=O?wM?Ja`9g{"B?!TEgרOCΙ^`> À]Y$F<ć L,'sW/ި5u5>Xq2o?ųpxC ʹ%DB[y9]H*yHa`Ԡ!wZ(gwC٩R &r_wu0F}Bu\ \7kb!ۜ )N׸w AZGW!ҥ٬! >/3tO 7lcOVCl)3[*&Uk U)bzUFsNٚ yh} 2OF|(x߹ɬmiۺt i%:aKC+rNmSWj6[,)Ĭm!6{`neizb ERZIept٬z[A͍[N".X-G2r#˼tN)VqvEdVlC^}?HjZ>??$Vu5B' kڀuxbp#A \]Z3ng˕svr6 (cZ`Wtt-ЗϨ'$kHIu7(2G)ޠc`_5L Uf!<= U_Ѥ ;r6pJ5D65Q2kWO1|SaC, Ϊqv&pڲIaA>qH@ =RMu m*l"ւ_놘C(!{+WNz9KYc_FI9_gJ` V 3M#:Ұ!vȵ7O .| HeJU]W2M婍27vR9 HRvaEp"X[1y f+axgLܾvyGJȾt`^$>S7#l+!CIqP?2o@X?#cx8sbyiέNv[D)oǪ=> |F`qt(hc(Ȭ/Ĺ1x:)tGHhBp">sgjupOW)n oW,,/Oeo"1s &Ǫ]D J*ȸ 6k1JKȱ#JP v K IFYD6ХO|9,Ͽ _5 ]r0dA)"F Q̫s_7x17^?K\T&szkCGOgxki}ӽOp5u_'ox -g&cۼpF\tĝS0IŘW"+dl:gLIUKZlU~y1:w< h J@bP>.:B2!hWӨ#b+{ lr>}fj1לZb1k"\]sٲ} ExfHAt 4 +PD ;Z*oIԘEnJ|!4YCO>=֨v=jq@1$ O7sri"%D4ʨ!i1y`!:*ઑ _għ_ɖHSt@7s.g\$^JLfA"Deˬvެ IZ0ޒxg\.pqu+66UuAyZ@i-{h9::_Y&J&k ZKNW54L ͶmU&'˨ATt]i[ն$c!R4Mwߔj)ɐRy;鿶mCBÃ9s;=c힓 {06bnta(`؜0nEl ~c/? ++ͯ3oY,!Cjb[}p <3Hb"8 l""rɕWH" 1 )6kay*-C }Z00<l)K'pItFe$Q)9QUjd/vTٱ aϰǍIBG ޟ\y8˷VuwulZHIEI5%c๐00`C|a<mF@MI ɦͥk[sΗY]՝O+38q"x)>j8IbN@pbCøXF~^lZ*rvK<5PR4jXPUDH1`ɴ61py{s]R"轇'#f9">EY*P i-x3/w{6CJȲL)7ʝ);Q2N{X ΩNinsHCyQ1uAl'o}./O {F7$;1Uv?deܗ|/%IPTHՊ7FBNX 52Bs!Dɵ @,cTi*q:yc`mh(;@9 ~7O/[?=OazrIpوc֟7,D<9{zw$[r՗nw؎.6? ^zaiBĄ¥{zWGik }/BDږ۷aރsȬkC;SRżӵ(KQ,j\Rλ5aXC 7^Q䲼 QL>99p뽩 3=vɅ`_24q1Я6̎2pmOR G7u_CkۡNt>m3ECDXxY6!f$vMGN;kK&]:%c)2SbI%8"Ha,ƒb.\сPRA}Nv]mbtڱhA\MDz=/?[!\n1^#9ք1rHt:\͜uӸ 0GC«v )^ib%B-/83R)\Dl "W<٬Ufxirơ'l.-Gx-7A'mꩣ#eCkt@3b@Lq5bь~;CdlEׅf a,3֗H30$%3ƭ|<2AI/exg ŐC o˄Nެ~a Hjӓ+R0%gr-V6lDT7W+utPW%Ʋu\֌mk+2%zTc yg+Uо!Zo9>Zp|~4\tgGp氹TYʑ+ݙ/adT:G\I4޲uDŽ96}Ⓙlӌb6c AY8:9#Lk6mX e~Ά?1g6ovmqVhv)NdjTM LځE+z"*ْ 1*˵j:i='J3F!# ֪DH)BLL=X'5}SnpAvn hZN~~Xf{ڳ:nkNfANI'idQFJI1`S*bf1Fk7}"c_)3Ur$QLKAmi#VC#Y#:&;gcs!mlG\ߥ_GsMe'B )b!' 6]ƜwM\5U0*WEYlA|I]uw-Fu=;ٔqц޷Q5XRN-SRƃ.?bHߓҀs !Btm~Nw;_.kH?؝sjSPw,9c[-revPrD1ݍlڴ7{fgk}6Fq1Z"eP8|L"ι\!Ŕ?棩٠Sjn?R}9ʣsP-iީ EuvM{œHaT9 Pl iTW#6aX/|UO8޽{au ߻ɒ5x 7cxkX12RyExg ~;胼.sܼyby$HDZ!xζ[|EDDYftz0gL~zͨ $+S(ʴ8aXýX]#L$1]eN2Fխno朣P*;5YΩVc%| `gX2ct2K-6ct P'' { 9T@ODƺX!;"z=7b8=::_N-)p4[m{f]s0ޛ-Ʊ2"9n eaæaa}5ruC޾pzqu">w5dߒ%0><[leHVWSq.K)XCQ4aDII=HK*XN췜y4xS(dxUT6:w.1S]=Ƚo)䉹ew@|c&уŌ2kaCރmk0$Ov[ ]!m2`vywۈ!bwJQ5eN78kBR "Ma\CF)L AML0c^#zjyW(s2N%rq6[qN'C1 k߅42:rqon<:攬^Bc`Xb.TSٜrfs$*m M(1k8b~0M$g͎`%.È85z5xRjB;=Gy%T:X0b!b{:Z5K.ݯXd+OnӴIû/WH㿆/ƺP`VY=Gm5M8 VQ'wQ)cd}I&+]ޘiY DNz_GІ95<4cL~Z3V H1)JmSjë62TKmڥuէBG6[rBER&ǑELk7W!5 lm]R)e׌l oZXx?Em^ F24޳ȯow/3S3 %,zh=/^g]djb&k5dѯ=8x1gXo(End=c5轔rh99V||4\kq719x?.J);QΥ1f|hTS]} ;MEfzK֛m?T1fO+"=%}?:S;훧b6l|qro_}g] 1aD%p|EΙ7^jCAeԆXv ?-2ԩUD,Cƴx¿t<1"hoTyDZ;Ik7sņQ&t,ļMU}+ٵ-Oَ}ԇ3Dfvc̖ql=ݢ%D-F㠠V-aL$m$f`pጡtL*5Vs/]J$(RryQTjBW53+StD\faNze4`(db5 TRiqbbFsZR`u/)۞ż"02s]] O`5g0l.YW]v@㌱ 2]{]|sϛ8X ߻q}9rI/?1 c00 kR_#}8Co|oK±8YCLo a2!??U\|> zIu{d)Y5&\apN yM81[q2Wɕ+C)`Ȏ+j8IXɱ'g5&P5s54Y3`TٖGb6Oc:,`ʸyhs1}`2>1{O 8GؓblDT$U#:[sAؓVLJcϸ%%4I C TyO)*2' _Wn"wFנּ̑%kC!ǺLV"wW#s,gF [bHR#%Z?XBR#Y`JƒUbC г 0 $dr&dڦbF]bJT>fu`Y[$Vҵ?W/ٿdQec}*&GCB.{rkʭݒ۷#oR b#V<9EUdSdĪ?L1*;TЅbJ\DхqJ MrRDA蔬f)'_:^3Px&V[E%a͔{U˒`%∸k5'ո/ N^TCrC ڶXNH"n"$7*% fT#\%G*C& 3OK"3dï+oʿx0=O6#Gkw0ۆB/q~}_C77=:(TL sT~Q95zv ß*awtp9y0fz6'X`Q1FVɤ+H3 ]|,LgjJO`4G*_f>d>Σi "SLI% [LK7](QJk8YΙn1«BffXo>d6Vx.^ċxx"/aH4T&Tt7#y^Zn7Lqwֽě7̚+&gNa*fźb0̻Yol=ݼJ@Pt޽ !&.&UKO}Q *HVMe a *+P;&Ħ8/<1uRMo /g ..֤f2\gX,z̙{o+^pŧ"ggOO0UM Yu8qZ!cd1]_e`ڛ?!#Yw\t?kI8Ú7bnj nl,_a:|EewkfFFX%l^]3qd|iig %I}Oi}0 k?V??,} )]|Y 1̐ T_Q֦2+;&xɪQ> qTC@R¢CNF I $(YuUO<Nʈ͈ik-ke߈T JfҁΕ=re̮*?Ƶ@eٔRv<,H2ӈ@#)&S2I rie !IN\9W}!TP>猫!bx105-Ww7)bŝA-)t 7>dcQp2N2c XJʈܖS"S1P2XU!o,.:Bc$6D@M "bƐΨqp9kX|^C2Mcجwl)"D6w1c',W:OPbd:30F[E؆BtT8V)1[u FS8YږrX ! d3,wMK5mf#Ƹo%S;Jetcu0['B ڹ;?gx6@)0Љ+Jfӳ,aQ2'ٛ]'I CBM%03pbV>{^!>(3Ӷm=ar~*AX!૎'lD~CD>k8 :y>} z-vs[x(|xtPL%@)ZV)Ks\)=MEYQc\ 1sx<~ X&_VrL<&'YRAxc_A{$(b;27XJ0byPhdB.׼'3G <4Tzn|>"<&fdxg&/ଣѦj1nFH!e\RѮo<\p#7&.p^3_CVǐ"WFN-ntvMsBЅ^ʥwe2؃X5TVT/lz!p|lΨ ~ H c c !8N KV[$Į!x~z X ~`Bd45Ai찲g{Xok=)]0'O<)N瑟~5_Uoõ">(vtU77N ) ~Gom{3m6%Fid NKd"mqe87WgE\6͒ތlV/!KOF͇̰p%2I 0S={b *Wa(X{ʠ7͜}j]c^88v\}O?t|XvY9%ȁTe8bҩ]Ti8 1]C$Z8 k$Ұ,x"Kե,UeќO#4;9yX~%sg:x@38ƾ0DJ K͡ W<$RQ}ɪwgI‹a8+tTc+n{8ja;$g mctq c|Ke3ga6te`FhYY03=c&I63V}fL#e3bY,q`fy1}"ɑia#1*c=%e!9ר7P~]cT;}2&}놠OpZpٮbj#/ጫ3\/ƶ5jNP5*FnD 1\ ^rm0zLh-W`رĊ|T"e͜J>j(-[DzR":Ch4T쁖Hm))s{[\{3O^[{M樋7]SُM5-0KRQ1]2voF-u1R~32т c } 5j&❫L)0E֧␙b d=cL,d; ] ?8d9q|4Gf/i[s*Qܬk՜91'n\?ED5'}ڏ2 /ݸVr=nkt嚐"~b6ש90-e_p918FV-7N}.wt3E[vM#QFJJ;U}v$ATb+!p{ /Eo\ :'XrLxaK!grR8V~>Oğ%^[^_oQ-w0.3״kMfLr1@WeirUF\nIbJI *HcFL1$pb :jX*:gRRu./ngxȄh('Ѓ"'LN#p, h1s{|}N\nYf)`c*nF9( JZD=b(y` g6$|=h$CJU_< CHy?={ɰ3^PlC )A ,ZG?@Z${6FEHyf ^ ]6Q )[`Qg3 %3k (`ZO(NE#X:@O)JB,_aY1ex B@rCl&PvyO9X [:\nX.ie)1pX??oqΚ&x3Ö1(jLMdHf@c{j|]s0Fm\Ya2pOQ|ktz$F 8Q::}ϥ2_y1kaU S-!T臑%2B+R>A zT1+}U  UEĭEC X=g!rFW=k]4LM}wc͇dmSy,X X\D9r7 )^R_ |F =! Pqc wٽctQF18\zlTY"+31'")eg~4%%Z˕LA)q :##zf[ 'm#9bXJHVILp4r[){Iɪ`TAG&0/]Ö iigz@,֨O qnAq}I;;ヷzlI2BJ8RJ^PF>?`Er*K~y/gޖG׀9ehac`B xurmgB)#c89X;^>WnqߤM |w{ ) Xԩ2C\pTjzkMvAV"QFrڹQL1!))IG\fjc̮Î)k /t] "ڈ l68^Mڦ!Lq|lV/xx*EQ sǵpHqʸ0P1 f8>jxZɒ#ĠV"b0aJ+@h*FbE'N뷤7-'=e>~ jݳqQv31zu n*"C,qo^g\qǔn*}Su~bګARsP6O0_4KQ yMc =ť"^ħOD6I]NxޓBשd2ɂCE o&郿;jZخ"?NKpfyĈ6JܒM-Pwr>T52*9-Uv c/"sޙ :qIQo!ŋ'13|XsZ|V9nADӎܪlHi/&ٝ3`jy4gaLt שIaD1qCf'7cm78{ۘ1mK:} UmN+E%3Ju85lH07|w˗$3*1S Đzvv&wd 'ӸD)g c.HNtUy!a5Rkig}鄀ٝCCʉX`0D5Z|@f,ԅQ R |E;0 N 2} u=PY˂*^Yӻzk D5AK>_? ?X#E9}Ke_S Q;cŰ݌M13rg-9'R(f7MCL˖9q,dH!or__wv~` woٌT뚏/ zF w܁x.N9OɎ _;S1ˁ"''3mr_3t3&V&kub˹ۭd#C?RRBL )`0T?/ҷ)jNDH1H:K"%lY&IR0լ1s{ #/ُ_7GMxrd!fb\="'vޝȘ ,JoVp(UͶz1nilVsL*"Dη1>~ue[niݔ-;J.Hj7|ѱ^m1b\,3 )%JŽjع+7uLP'YT)g )5XtKIdH5F?usLFk]rq"ŌFӸx71umϬ$j1D- +K%}?p5cY] ;!H^h}uΫlL/y~-_叼>퓯ƒvߣYDh0˛b!#1ʦX+V vqtoWҗfoEےŰF@°-1D\kqĊcb{wz3^1=iIHBKyi*p7CWv?g`nK+NfϺi*DeZc*SMLPvŰ}I)v*`TM٦mœ ȝ{;R1F]L]JٙNRNB/0>QCIuP&Cr!EkE9=ӟ%_p!WbوcZK7_aC!#P*xmaG=:Rnak%{4 Zq@؎@"GkFLFwUK5 iD$FhMǺ1 |q;ura_@2CʄaL`J~m ~%dm4}٫9ko؆ʨQWdj 'N9^6ܹ{{M4I}sR)ˆ wyli1e(m5qQwJ꣫oBY'T[v5Jzʤլ{ʞaw%ʈ)kݤλ=D! E% e鲯Οr:]a %'ͧ}-BA͍=hsj1z"p9nyۼ1וo=N̹PH! F{C"g9PHxMM8H%RTLAJf C);IՋ~g4w T.?IT6;&rȧ1NO?aY̺gzO4;֣}u /Z334`O>*5STw<;>kO=̟r~v;T/CwXkXoZ"_}G"M";|ױ^Ib@FlCzjz4Tp=pA 59 IWi!ri<N+my G qJ6yIt<(;x)癃]\lhO]{ǃ#xk/__c_s~%=;)E#Q0V[zrߧ*m~Lى'>7^ņH@JigBd>ki[d=Xb .mP| U4ZSScb35pvͪk4Fͨl`;̗3-1$MIs 1%|w Bc d gsƩܵ ч!SY\NY1F06r1W&l +=Pp:JB6?KvL(^^lsՆ-a:b64Q /,1᭥L?t9ڵc6(lG5f(ttkuzq=k"֔H90>pAKL{LȒ_ `]Xw۷wzEl&LKDsQ"Đqֲ )+Ʉ&w~[_g _(Ktj޼7!"c)$4V HP "Be40cdǝ甿Se| x5XN5)#$G^&%}D +K@j^T#ޔ^1jn\que7N~^w:h婦izͅ9aqRp X }?'䂠k6w0/,9+Z4 *ZDh}C9?͟ieAʨVU곃Y MpԶtv`Q10/tm0!XciALaL*aaEL(U-a5r %! pbT:p$bxJꛠ#<+q^AC=6g;Bgi:N6SZ9cz.M5["c EXQt񞘢HJ:IW0E2)z $Jʜ,~넷n5?}ONմڢlטu[~_~n&N'2#!@|23M}J62yL&^Ӣ?Ki$UIXb݁(s='/[| 87LffPF`r75WthrZjE |= њ\I" '~҇M_ģk=k~bEx]sݯ8c0ןBdLo2rP'r.kވPM?M >5[r&G$Q |'4ZbĈqOoP8ŗ^YK9BM YWNx}ixJжn^/Y|.<@uֵ sNíexs9Ikc.13YD@C\)&uJI ,gt>z54iOr:Oyb("ZrN=?9s?cHu `et'Bt2yx&W> yh2`4]˺X!ka" ov"^@`ai>5M|ҋ01)#o"_v/?&w)e!9n33qK"zwzy|n툱5GÂq32_hf{ω$yoiHn|<{Yp(sƛDt$ag;ΒN 辶x+yh}S]`1-pŲ(/ ?:,a$ce*M0!TZK#R N 9ٌuWgѿ~MG)[NƞD96!Q cPV 97Xtba/.t>~1C<(U)lj#c Xm:.t:y`v}?༐ Xn7fQ<8lP6oqdֵ4N' 6 @.zHSA.}# QqxׂbƦ:B1(9 w 씱R3UQ!횋m$6ai~\ ,qI)õŒ-mSrdu{[Jgbv-չ)f4*$ƻ`<5X0[%1Ĵc [*i~ ?[yrJ2yPh2AQ_d=B)2O.]0I{oo9# dfJi95̙4jdo,'LN`=Hb);z"z2E{bd9؂*r&Rآ8P̞#}R}BlY>"u0b>׸s0> 1k'G G?b_Kld2Oa(wX&8®>lגc$ b*18y4#U&#yl@!O9Z6``x)aL(e]>:D Ō.T¢9\_xie5xe<=ζw [%޼!r40s|f=9BH!rtzJӾ1c0c<-1D[r4sOL C{zYp|sʼnE,kO#Y2㣝9̓s] /vLУTc21&U&5mZ10 ۪u* %]Aa#k_?a>xWC9Fp?78?_f{_'mc9qXX)ȞulC)\%bdUZ~(m.)8O FkHe=X$4SD $K̛a_~>oqY 3q8gT\,^zqP^w \{k]k9Rci܌u?(cN<+a;H/ ;Ȇ6m_}_z\9ôsP0:%JAWj1fQ`'EeFkeXEREk18*# f:iԥԦA[b(vl*}6̺i$#\⎹%Fes(#\oX%" VXhNʂ9cIRh|CLAeZ_N\nj,$1N5-qRX5Ο͖ gw1@ivS"@IU "H 9khfs{87in,!YbyǧCcf3PySf*Pjމ6oƘƒSǁDĊN Ԁ86QF`S>BQD>^a-,(Ԥ!\&PxdHV7Ƶ3\;# LR6O] =+!k]44aD6K;S\ EYC?R Ve,Y:Ja nNcT 5]J2~ֵBOFRxJ_l+{k!1 cͅ LMyy'MRf7"*5-6`@ $ !E(uG捜HIp^Kg=YFR?H_| a+*#h>W@zC1e3@1͑P@&C1A1 4 TӡFsHb|CJۺͧ,?aеG3MϬmY.f>cYrvO~pg z7NƗqVWNv~ɔݽ?c|$TY5=Z0Vθ와ey ԋ01K3OQ`FtmTQ)[)GhY**d#tٻɍ7aR&k֑@9nF2hZ0, x|l{n2|,[,1gR.l1Eցq|\;Q{Զed kmIoɐm6"ܚ71q[w|!X=Kw7#ty<ar)۴Ve@}ȇ4w9ګ9O65)i(Tab!Weۚ"á>ZR_GCx!`$IrF6:b xkV)cqy?oQogUlj_L弈B|K0Dgl ohl]z*XiIa>pC~EשYky9?}4|YsE;(PvgBJr0e'4XsyauQPcl{|񭲫q$vnƁhfM,<9^3˧1lC6چm?]ж-!QZuy6XUFI#,UFzKݎ!6_,Ǒ;wc䈜B- %5K #0ZтK]GͦW3!Eݬ%D"Z˂͢[7cGhD 'oT q8;\sRʢye`kYHEp?B Xv5s5w~8%ub as!Έ&|q/}k_}w99k {bʜe_o 9גּ]&uP҈=0?qOq*Dգ͉Mb؄Z8?Q$3r 51\JrQ?E b,56̟ovV@6,c$z^^CMgc m?rzt`<ɮxMi=ox3W\v5 X_Ng8FJIxTa#qr3)oxD*sdB]j{:|ĂGiK)dރs#$G.3oh^kqNMbZK?t@\%Z>j "~Tֽ}0ysTBNf|7 od3si.̅hYX~rLMC.CO՘,L;:uuTm=H)pr}EJ̺8&Z @jaNHdZ@jpu̺k-)%6h a.9lX,fN/5,!$1PrflFʙ7Np3 A -U8eac#Qe^u cz\UjDI\ oq[Yg/\'8+r/DR5;yC9]]T}b2_•>]™_͸u{{g|o?'8n`xK3Q#ꊣ%x7'ad \ $B,x"zDJt#7sq;Ƙ9E֗k<"ʘ,Iܤ۞"֩4>͵ZYZr`fX6ĜtD4,8r&oȷ*![#QZ?&SMҐcQFnKd1ȱ:ڝ&^۹3ny!*d=\hO,g %TFscmN"3 Xbӄ`݌. 䰁n(|Fv]D-ȕ-mU)ddi1M5 6^nZA\5-$JR!$2Y OְtqvswA}U/`g1NU' C$ %A gb !$b$!K*mUf ߭8|dR\)9H=Ok i]M̢7e'L(,E(_,d1=7u 0>^9=YHPJL[t$rȄ-n$ icT!+%cFNˆGLqz<}Ocғjňr;;v6Kwꂆ0୩zZאJ2\M!K&el1e[!QD{PMI l<1d/sB@&Ԝ_WX_9{w{|-CtR//Gg ޹Cx+cf:$ ,xh(?!&_89>!5{~_h?i_,RJֲI)%?VIGtpO$r`/ճwڄXkg۷ͶYX,VՀh{eW0imx5f׷FAFg-堾zLSu/S"z8+))rС|c&?OGd༏\5Rea!qFy/36PXTU|5V}ϻdm\=8>`r ƻ;Vr!E0#I7s b\6ʠ4noM hDѩ^g? "sGvgCTa nc&&JlV,|p`Rh9ͬ Y]PɭccD`aȹv W6[ר,Kʜ ~z01>cX.(1ȩ-ĐRVvH+@%ټP͐*Pr|"e.LNOsaӳX P2U/Zd(`b*(G<׮`az;wX.-eU0prڰߧ{4roqA뛪5kanvfyv;bf6oyS6}b^yq;$]1wlAHQ)g:s5"oo"۟twf cf1|6H1x7O~כ9\BOEr5R:['LlQ R dĽVƽIDAT$}bxT4\;̤4$He1BIYUcM4PDlRW0m[nHqݭK{F{̎fit_&} iQʪ`+s>MbpH&v1RAW3mTjX@uӽO lCRzR(xn&"%;4tD.j;:f$CIcվOwDƼW0)㌐Ѥb kR]Gb^ G9'~`ҠwV%S_mj0ldl|=XHsEt$~@Qp%}XYLLp19}o)2w,bp pSﵜV8=ݳ;RN]UM%P}_br%BRd/@wR"C c".bT%gVݬE/M=BzӤT=;SIe>R C"9RfmR&J!`]u~vV(2Hq\AL_6 Ss7- @Īu-k./74%ΐKY05,\5Tٌ94щ[#gkFW?a̵#G }o׿UȽg]4+N"3wܼ&oy ysϞ0$-BjNmER+(X 9]C =yG^[@7_bE[|~aZ2ʌ=T鞞(@M[9b.;i{)'&gΪvI 1HIH]M |4x2`b@' \(w:I7\%(Y)i5:©:!s3b<"&* -i%l_=vR _{L jqJ]KѶj X%R"N &-bQ)%1Ĕp! j-PBsc154287lHO~vWo:[~>ayQd 7s..G\xZYIHOU/(Vہӣw4m[3?:uKR~a{e.{4\ ]dJOx\$P)eȅ;g kӧ k~~sIak XM!mz)۵cR~h?5",3`sEE|vCE>g:rupyA[gO`x#''c}X%e.5 J?*|!qhM@ &0v4jP1Z{l;`+u_rmKk)TPYGbHUZ}p2&_(@i}~Ֆ^.|W1uRx˼J۷o|6&]+Ո[e)BGT#ݳ Dh>֍ӧPՉӔ?x#е lvۙ[?)˧eZ>!'Lm?/N׺x|`;ft7NraӶ*#;!&.7=Y5܉'y -a 4Ui"l7LF_ú1O礼:o)p2qY/uRkTӐxyѲEYvG죩SЖ{*3Aʊo դs<|'&YOYRxTg<v,I0#[AsPJcxoic  $Zwo:%mdK쬡>tO@Wr[Ng7N7]tBʊ64\2pvOg׮E82]L10J,Pg|vk(!R5X-Ϋ8e&f5#Q%sQ&|(sn*^JQ,g lANq:|Ι7 ͖s՝ ZkL0.͎߶ Ywm?ZmpkBd+oxH??;%oy:'źC߳\5XG1s9M#4R۶ņ닑*">k!ljwt>ogSo"BJH:(^v-r'aswB) ے*b1$B̂jU!gL bS7xsM.?.Rڹz1l8H [DNLvl+ep훖NϚu\ cmSWkwJIZ Јc泗Az5Tж-c dV2q(9*m7C0e"HWX1%5*qa39+XӠU +UӾfv֓rTǦ]Jnm !Ѷ f 72dl= v~L 8} + N;[B:Sj<"X{qut^&#HT/MBpFccĈ%DHm#l@ FaDaL c!B/)Tr E\C)禾ʝoHgRx^(yJ)4\\\bItMO{ NԛĿW~w?S努NJ)OX[yuW}RS]m4m6hY^n*/* ÉU)>4}Riƶ$~)i0M(]-79Ta]yÚ*S 1'=_ERqf\fĪI(Xo8>>|KRAw0-e H[zwsy3Y~ͯFH => _/p,y7;|"rson9;͓ZˢkskƼmvr09ctrI 1'(9O7OI! kS Yׂ):5bT3ph9]ˬkwW3ȍL P[0 1)d ?R?15 )G75̬pN9Gxiְh,s?CpyPL9(]I^OZZ"bg [_]OAS|v@%_CPK ? (yDyb[E=mIq [,?Q@RFDtȸRDOE'>㸋\(i@tn0o;.7Xe|n|#N̻@85-c .EUʮ%#^hJڍs/eu3M 1FV-MpU|a#)d8N1*@9l/;FT>j"jjveOD5m'1f2}CB63rJX"E}ДĈ1tK. PLMnu8-;ä#2OK\6XoyuZu|{a*T2&Wz 3$0{oݪռլjո]9쳇] 8Pk Zg_/}rGgKHG{0(<>{c1glL/'vl-Պ:.\Z`\,u{PY\׿*$4Tb24́>g#1L*+ctح,ZbJ_%{TX(1&eǨ?):S | !vA̕B\T?8[*ƾ7[0FT E-⪆7E1e0TL&1\F!ֆ@J54 eVÆrߑK0x1vqɣB i\N$1:GS<6hBH䒈iu 9 N$8St,B1aJ1[l""5K%S,xS*R"{ܲX3+(Rh][7xX˜B? :V놩 -ħ^ъ/_O %(8' Ӷio#{Ƴ5LAr=^U[r{Pj3([3Mʹ8CTb@! Wlh]:R,_I`)py~TX(cZ PaQofC=N68鉉N 1ۚ5T֫!ZLwʒ͂GcϽ% RaѶxWX->y6g2[l?O'ѝ}^}w?7oo?uYx~K/so| J{D)8Y")%./7{ ?rsn<}*0YJn~NOh/.uZw&Zn9 SO0,c 3ه2N/H%VEl)tA.jϵF'q2)Jp_.uk=.9I̐1Z7@BxFߔ W|B bO-1up?|F:9(AGD x-Va'䠷^23y$k4@\ֶ8\2mu"RX[AR+,g&0 ]a,xa7wM?Q3pv mbpQ4sqrЌ5 ٱ@$FhyVwłĘ3[3H.57)vgk jSTF}i[O!4-j'G@ SО*=b+WP>_)আ@]iDj>b$6C1"]b'L=ݢE\$){v6DBFhچ7aѵt]zE&.7;nh FŒoonx,4 EGeNraX.ZSXKㅗ^X_bMlz0M#Ay'9v??ƠM=i]a;*‘-x ŗ7MӁ7o(}%%BDrcG_nPөeK "KCnPQMJP}RT=I/בiS u uLZtp%03rvj8s`Jbuꩂ^W'pGf~s &t>-v2Eqk4k03$,՚5G1X Sm4)iUWTHL^MSAY+QLQ\Ib6EK]%DXbLf|odz'5NJfU;wmebmܬ=W~WNN+rqwG8uyRyTGLIϳ5W~zamZR,jXa:GN N]4"/(1U&c'@2z)(+j:yA' X{cY-~ G?ܱxg;.fU*ߓ.f)d2ǿE:[̢a,!j=3 fߋ9&]ӶLE0G1,=:5+΅,*̂3?S390 cr'@<gZ52y1*&b,SLə $ k3F<]?xa5S?7pr$20NR%9f W ſo?Q;wMU_|OM~1(//ۤM] π?O痼­B]42>CI,6K+S3)#:9(+g}Qqz BDLAkOd:|3e䑐Kfը[(E(eIAlTSH)gcTirAs8˹,&$ }H8#O>tp]~ؤRre=ObӤV)FƧd ʏW.~ܘ@(^I?*3M=A{1ӡzLZFSy܏:ʬ%ZmZu4#W[럮kux4w"7NuZuiiSy Yk݁tj HXyb|S]bkܧ_|m~Ȏ)g)"jCTĤwH;CL8*ץTsVxoyyjTt(rH5ߔ )aM-B 0#KO1_|q[gLXSo_OIש>50x`5KmN "BamM_Sڛ/㺛~9]67N;c`{2u7o6\^\ntzer,;K6Cԫ)Z?!2d)!"%mGF +Ͻx> #'4u-Gg# %Q8KSjh"Ti=\ZTUWˎ4cx?i XIӤc9g*ma0Qv#a|wh; ط'H=A'9^/)Q8^.0FX-: ~߳Bnӣ'dpuYG@\d%3+|L=̒Eֱ mIwﮂ&K[Rʼ;I1JRWK֍SOWϿ=0&afq;>sgOW~'eqcuL w8}v@Pc[12GeGp`#]Y4-1'rZ}zix0%a]A3=sr ӄ }^sR 8QJ>0ca:+k%SrTY`ʼ=o:ip΅BuP5/7 ㄈ "=91躉„C5Z1Alӊ?u4lf 'W3yu.~S']>7\X$P > )bFj4Lwl{b6?۹%L K!NRF茭bΘъ_C/8]ww| yM½0L=CM6G NeZ[9EAbCN`hT'l㴋uZJ!e]*cKZpkb{U6ͭhG] RnYZ]9'j>Xqis5ܟݻ/"wy6rc;eGTQrVT ,0vO2ިٙ󑛫;_snlYRcѱ㳷zo Vf6px T]?5&,~qpd<} "8oIVĢїҗ^ư}`hp=|zh|<>bN}QS0'@ѠͰ1ˌ ?:e٦gyfGf:uD )6́=o{9g Z+${O!gOI CNF1 iC%8Njwn;%S廷8|zٱ8=Y :a7[\lv|fOG{మ/Ew5S )яs.HdA5w 娲Ef| <3?7 WN9g?El震T;4qXYKǚlAO1D@H6#[`J=ya`f`Vp^fg*{CD#/ow)c'~ӈoCn8%MQI';_gCw~~)^8) Y 7kԺ9X|k')%z?4nJW;"gKi+xI)`^~;4~"@KM61EJ4փ1Mò\v7=''kMY#h*y(F S r$w@"vOoME( "3#Ӵc\B>RHV,v7g V'WfoQFC{Mg9vZG4$yvV)wO8^2>F`IUnp8tu?Ƒ-/:ٺ} k~\c@ 0DHDrIl)ߧQ do2\^p5;'oؒ}SC>QoN8qRhL`L>7Wô]Ĕ;f\1)ݞ\Z!]$W Ar]X 1%bUs)\RYz@\|<38!+k 5Yjc,))C{bمnoy"'  Ze| HqO(XE=° S"09AckXTRH#'s'c_Y1 xdU/kj<VM=NO!6 b߫w;ol-vI!jPDH1*;\ӆqޓrsP%Be;cq8N񝣄DJ ׆Oɉ3!0c!&(Rf,lZRR8^vGhi]-$UfF!kuPt 1"y͐%|m8~8hXa&D)Hwgm]P])W_[ H477ve.sA%Y1cA1DfrULJEu%jM/q|37o%hcͨsQ)̠!>ڠ,ba~7o>o'O~+g.ҿ'X5#>~;H0D.1}'`vZyxA|almϯwݯ^ Y%j_xQ_}R{6s ^n[#y&vϿ"qdTVgsxUωhcXv EN*bRZtKqm'v?<>V5X.B>h=O(:@i/Z>lwxAI׋94!>d64O}7sWޤm4 ~m<%0]\t|kș"2΋'->^!D7F.7/WXM|G:zq歛aO:)9n;xcKc="ݲ}w4☆@0`w[eld”hۦjWzŗжY^2#7op136 j4ib}¢LS wkbJQ-u,޳ 0Ȍ10嶲䅷|tZ- C "iXWyS"W ҡ Sdfj8kg<ʺ˅[_xv1/88/4MĒ4&#fy޷I9⊪XS"ӴAdΧ>Mžk|q_ƞHBNZ3T/Dc[,wׂ7oe6c,>|q*/r}J.\msk`(l:K0$BRK$}pW2M-F_ke}^y2dRVln{]@;IS)Rkq-*0!gm,Rb$[4 Hɂw (&֩c6pRG9xc1cu2gQZe ka~6(XrT}{AR&vgh[1 F;w~myˠ9䌩SƀkRrjF C9 QHX'0⽣S )'c\L"e3zP)Z6;ޓ+CuW Efx_(`c,aؐH!*Ky_U9]m8?KdqLmsJ&wcف47_Ųe(QS5/;g97Q$(#49e2v+#\i%k#@I.TfJ*sīgNWa?)f}o?-dQ1@Y8ΰZz#E* N4zsN2_ G+?/oˤ8Ƃ4Z~;o˿?Ǹ,Ho_pzz̛oj#pz^ojIm'CT8%1ۍ!RH1CPȩ'v̵np`|~Qf{8;0tX3<})ot pYߠKfKt3c4'rxp9>pm{M~,Ȼ:>^/uj^-9bk,SX-A #9&VGOd?|B^ދek$@.DZghGEDlhă!*<{ !TR_Ƚ~壎J44 Q}.pAMAz:,$ANVqJ.~EU˪56ă5nRI7OAwN?!KbX9~x n0Dx΢mx8Rb͛f:Ķzbgzn<,NeLȃ><x@PU7Ԋ;4բcteqۆ$|pucr >+2bh|3g,ZB l͡1F`=[(~7cGz9z1f1c ǁU_q x!DFBf9ёj+))OS(췗2jа#S×B#E0HΙU5wM_2Ps!kM_JO5 7 VR&5T-X/OK7{|݀׌8*3Ç ˞RŎM~_d[z ? .1*34MSmDJVSY#:m+Hc[EJD2C$Rp[n.RX$Cin:p(>~7aʁ`%3o|wY~3q+m2i!1\%b av)JF &LsYH! +g?+_4/[t+,-ndJ)[ 慓=bw{RRSypURG'E2!A'_XIjݧFXaYCa4y}i=[RLl7=1 Sd2mO[0@\M:zcPU'RurAL T G+w)bJĄqXO)Ӵ{~ױow(~)J$9p9]y>N|7^i<- /ܸ(6g"ug>WY6LߏX UZpIEx(E)EvȪm#30DvBq8שOq)cR7x& 4JB*RpFp5y-%S$Őޱ>4aQe\s&'7L{ɕhC1jPfU8|6c7c lS+OΚj1?3\L"*m@Q-rŮ@Zc}`Lʑ"F'NDQ8َ},o=xR&˱0B#m-$_%,vuڔIw-SJ)  zo2}gY,16e`7GK[ O Ŵ)x! kQ%QU!r, +;PHc=Lݏ)§DX/;vTLtܐbhUYwC|6%g6ĈywJjKw4R'J!ъQ݌qF:ʆWSRA)]X]nvLF ?)G2i/1,nl8j=!e֍(chqA5MakMYO <>x[u-/>Atq rgO삦5r)%"P*[9(ň0sX2ǷwLI'7jn<FQTch[sl2Ϋ|YR]Qaq2mZ4Eqi.t 1,WRY8==!#^@)4gQaSPDgY4-˦7ac =S5 NlyMƑbG} ;\[ZY4bNa-kg48M,aj?X^˟B.T&$5:Sk4^{"f9W?px ܫ k=ye̚А7Q 1JO\(OS bxup }Smi1(P1 ,DI]hf+wsiH*a,`a{l Ǟݰ1ʿچ%g9?#7OYhqZTGuƉug$<¢T12CFVGT)LMuccYr&aL z)4F0dʀڀʃ䈙 cDsKf6^C/p"bȖN)`mG-Dm\s13/JI 9Gr:g wNys}RqP$rV^D%@)7LHTÀVX. !ZR>X'/"`,By&p^v۶p,I7M[b8iҀ)L&fC!rM4 #qe\ċy? eauQ=[QFir1UCvBϓ=w(4M!$F$ H-Ãcg7(I*i0'N^y;Q5Z!S9Ű#C*)*;SYGL1)[L41P&P iO|ҧ7vX}J٧%#`,7kkk3W̐EQ+VW}>ct$~UEs1İ1]77Ҟ+"!Ly9s@{Q24QJ8бG.04 4FsV' 9=yi$L=R@{5.J8e2")܋TkÖa{I=!w]]o[V\)$TXxϔ"5HTgVt<3'e;O`3jYs91Tϒ3`qP u%[ce <Ę5ؘiX{<6޼ɶOuZ-sqq~ `Ɣz? NCZR(3(0<? &.>Y%Eʄb~-RJAxmu:vPtKy%.! > ]J1kӨ kݒKa zlJS.s~%f÷FS F:( =mi ٵ9&H&%g). {HI䔫TͣGνz%b Ȋ=/),|=VG f&Pưh 'i^KhM,ۖMs8j3o$0q߲+irzNqp j{wڒQVǃ%PZ / 2yp~·qV%aqd(@ߏtmB)0̢kY,Z6n{>ٗkQl&~Gf ,q$z]'{&'fO99Ycp0J6Ǽ}wE0%C»qB5 qaWG>sұb09ᒥko1 f=(s)F0 G__?K : c1Enˍ1xhC<6&͏ݝ:j^CPui액,A:cefoHEy#Q5pU d]XnR d  e7]ô$Н9QַUVOU4Hɘha: i,쇁2+4|vF`ɈU=fMRXv8o Y4x BkC"B,:&1Ӷ-B,"DmV )FTF,hPL$rm|Xxza)ψ'^~aca頏,h6*/גNuՅzΕ}jJݣP*5Q (۷o#g{ CX<дc` X> pɤΓ[\Y$Ft#vγm9aGQPbn1bU@NM#2>L!=txdR"*' rr`[Zu;$xZsjOxRԷ(}q=S>&O NG߇Lg|bb2]'ǥlǬRmTpSg?Ti'扟9(>M1F>Od{lⱍwi ;,-989pbAur1YىN07xF'nBIc]Ϙ/x{wBCp}r’͜o-8ML.RT̆;R{yvUKJ)~u΍%w+\;DZQ8Z.̧^ߍ\n,ۆW6A8Ĺ 8M~0bx;0eX- 16^Vm`ѵtm"j6}ęzrFD{N8=\ ̍G {0NO8=9DK9Bٮp9F:/-h!7Š])xXWQw!g4R~GQ0;)Y@R-Hv?ZD%WlI!lw −P59?_~d~ar3NQ fbP eӑSRX<ѩP"X ]p.ڦoݏ§̫w o a&GB<&7u_fiJ/6U^1\gcᵠ,(Yu:L(@JoYpyW*j ZRe++-zu4lrObˆ;,|Ӱ/GLOΑY[|\?evڶYGB縻pymiZ~os$Nњ*b$户ơ)$bu' :.BVɴ؍{w60'Eu(6.PT@ԉD&7qWOrH mHjm3~[|[\=&nE 2?OGeNrJ8"nd&n.0#+X  $@:jwAw xXr/Uwb;O׭tdQiԤ:Ǻ*QvqaY-Gg|c!ŝC>/5KkQ*3V4OHN #[)$xczƑEwk-1jht_56-䁘0fh e;n(0%BBj$B <>~O:ZSw:9|e4sơuz`jP>:I22!"%EjUz![>ۏ o ?0MábΟ9^8?xSa:nƒ>pP ~` ׈X: 7DA:Ic 0C B *j+U'\] ixHS5‚J ]N:a\3om!k''eǘ8]7fd3\RIc!PESrqtӟb8U?5@h)b䩰9r  8|!Ll{Zұ\직~O6J䘓c~{R}y*ZժSomCZjaR臑[7O2GKrd8W] Mݮ?4fkjhSo#:ߐWK_~RӎkܻqhɢiY4-Œw*PQ NhOu4<۬_'II3=OBWi@JMWG%ב j!8K`uF<"_cPeE'f?1H5AfPh4\4LS9yR2CPw]o@oʅQ (fW5˖B pd -)nƬp]G?%R2w;'WwGӇpXZ VP1CZ:`oD˜EPRj :K̙TC(yZàROb҄&SȄMTG2| ł떀EĢ>^+ː 9/ Y<6HJ"cu?:B8a@L"jE ˇ,Wg2)gIIAT 8j l)NX[Z7`o|)XRbq<`Mr 垌#tKG"}cHLqV5K¢ӊ9)Tƣxnirhd t18Oߑ5"11Dr(nA}ͤ+kuV)xc8Xd5Lɉp΀$RNZ:AH=`HUFJD( v"M{J7,ۖ8K|HFD8>^juݵJbus()Kyl ,w7>l>{fu E}d~RLU;K|XfR;ƽ"DJsy.20lo.Ň @GVp6nt bgZʸUrлA )r.Yk85ϩJ\տ89Hx)?9PRvkM5 A(S0i}CŠ0%| <㙴-8S{t" `9wu!!;9~cb,Kw,ڎWn^z;7i]C6]4 hQslr[(tarc? 8c9>Zc{觑uOA'gKOO0дfcc22{͵bM!j[7N(7 @QQb.A#)v׶8縸#7NOXRh8L qtaе %:$l.vW %{.PӎsH)F~Ûy>\`snn+`q+U*(]9I %^JJ  e##>EMm {RVoIaH&JΤBbqbmO]J"eUxc1Zs0B(1'Cᓳ11 Pc qHpaZmϾjSp͒m\(2X(]|{m:3g0~6o> cd&44MLDJQ_͙cV -1mHeWM!z.g&*0=c#3?F5pt3V E_8>5c&xw)eGNW~vqJ-96iy͂w5/M1R@w[-s7 /06b:Wk=<)\ J\j#օ5FM!3)G)-&Je5+:bRD E\ 88 !1dIQYL~F>kjD,2ϷI&2-Hb1MG zm!!m3FJ !L^.W#V2Ev5B׵9ONCxՂ!ε82N[^zR|ӰX.?R#VXEJ5w5JK8x_@:HUZ_)hyQ0\=UF؏frs %t% p Of^26GH%E(j|TIrdY~G^EJӣb=v1ulNъa SȩPs-a!"!$)|jq"kz,^=!}@ƈTa{N^\o+WT=awO9~ѡTj~+ϙZ|*!n7F!gHzYGɅ83a"CȖ˭0@b&C#A!/(#ws4U*|}Nu9:iwxm$= ćAJͭC)O<v<F5{K>wk13\U^s #EO|GB.ph\&$/e]5}9Qr\^lFw#q G+e*]ZOvAƮ2еR LqhFVGU+vŔY@тh3uerWG#P-6N)0#GGk~daxM4 aRR`ϼ9NO ;CϛoSE5C"}[N%J`-8c )0(Sr&x=5FKf(ͪM)g8:/8:3?npqm>[KOňdCAJCSOWzJc.X8aJKչ4jXRQ}w+DH2$xb~~A Iv7gƞ J"UUA &hb ŕ QrF$ 15ڈ+JČVk!_09i刔 b240bL[ 2i j01*#k5U$$\s)W%e2*cc42Lfz0+޴]G07 &R͡MmPE(Bװc2aWWۑɥ#}"RVz ӀaB B:B&BqE$ {V2V,w9b" }ɱ6^ 1f)EU$#S"VbrB }<<ȀѦHy[s62f %#RJNX6ev3sǑ iK)96% Y|5?77okzR@甜iچPTsF)ckgq3H  TΒT>QJn8>rPCĄ`tD6uja}qy>wkS}-b7Õ-)khđD! b168 )Z~Ë7ow<<ېK&Lpގ5ݾ6 WIyEjBS" [7C4 %QR$PJJp2N*ٴFV'"x~a1cb; Es5;o0M|igaGŒ_-:iFBb{1Q@]$+:JN[į4Me_ t1YbOI21ֺ-b#gx9s&x|+'K^Xu:ֲ}*:mb !̃}=z#wX-?3?jA*W=mly9H󠟸l|p gGw-t}SIUĄb)Pul&u:NFgW0^Aƴ'(XJĐYysJ <>LVc4Lou&n﹵qG7:ƟJEA=ɐpS~!le'R{YFwfW%n{G53UK.~;p)28Їf.hxk9YǑ 7Wxw)Ph k1\;rep ŨxM)2OtoŘYTc5q\#[6mym=hk m JxdH)q)].b7αbdxdw]y;g +k0rV澵,|5ko&TĴ񭭚枒&`)4ŷ߸+#g/&6 9M"b 8+$-x] #! PH:RBJ )\ޭEyZ%fɔpn6 NOYlwv wX;]*󡀰ՌuPII SBKf#W*BPz3-F,&_J23K q~7)>1ǘbl)&B)pdj(=)cJi6Nz)%b8ԏMGӴa ڧk7gm@ goF4K)8cSz{(]&p|R&-ô}.x ;@u3E@?e3,qYr50Zj4$ Y S8)gKoY:C T(8BqiXPm~E+V<]cTJôbj+3O~<^_=Iơ[oNѐ.Pc{rSƵ 3Sn].fMrGF?,&,9>uOYwv{]b(phʧ)S+c)VOW`{ɀR1) L1a}G5PYe4TJk 펔jnuRXP]url6;ھ)))[F6@N'gRD Z9k;EG&xH.t+Jd5PM ,>˿u1v|p`^Vy  ky|c?N`B<ROSVYGlD'_Pazj6;Nh* `pYyF2qzu`*Qc,ڔS1BED'Ϛ9D +0^ѻk9%r[?T*xg/0 Rwv']%jBL|Dh/͎#J.V E˭5稽4EtlڎY64Z7fq){b,]ե74u g/ȡZ,iZϺdƳh[uq40M"L1PWʚ)w5@19^,U~%S[{KSxQ~̓706`3R"bIj8u|]#g :z,"1aiz-7ҏNds L*k3 Vpi /~GyIMC8GX9M4~Ma?u4?_{ue *gk>Hp̷X[8aEɺ1Q4; 3S @F S9*_y+Pka\a2PDpǡG:"8/aE(ْ„uHQsiEN8רwM4ăTQ=b*]RnR(:YSX keebIt]H}?P141LYn?[{}?,Fa#Ee- EZk\X-+~/fBrx+":9&D.˓ (~M9a{/h--%b?s&3*?Q\=~0CD֒D k~omG^9R c$r?+'>CRa8G+b,BElWN eFԬd>}5/[BʤbiAO_P9`jnzRN8)bŇAW4͈Y.Bc=GaQaHDVe`4)h-"e I?qq93k-'[S\l4V5~ioݝϩnuT\I,!%(( |(Q>DHP 8H![ b[uԩ{iF>}iUkN6sw1#Q1ʓ2c*kF:*?l)]G_M8uR 3}6M q@;pőp{gw8ڌoqwNu_/q]6 %J*߲k5[?ט i BZ@ ̑6Ք8QxT3MtÒ༱J{u׫׎1o6a~m;6}mM]QU4!N%Aΐ3yFvi;R{Ӆj`L]*B)Ho-InyĽ7~ ͇k+ؤ"7*mvxBnl,|`J#AڴI8²N[YC8 V~6%&j!x|&j2({zkj3`zBw4⬱+3Z{Z 83j$VjpyqJ[.Ic#'.xleZgoXs,O{vqRA,8}]"bS;ʔ'w%(18BQhH{m+"k_ˌZM}&USM# O(9ö9<8 QDn ]rPIԡ5JGjI"rL^&gYJ@|%8!l'jlNy}7K/b(UՆPU}mMl/,m:}ر&F>>kALJ?QYhSP.xJm Cઔd @c<DZJJyO⸉0KݯwS{''q0gQlrb׼)Uۺis?9tLyp8#UG36gݧs Ϋei*ptS : ڈ4R}BQrXy<Ʌ' ĹM|@Y]w#?9QUF^[zyV=rc+\ϒ,lK_TC&{G#Un&{SWvۮ'6zdy4[x]:L91|a3+ٌMȥ>rmWZ+;X,ffӴj5y )eV )efC|eÃ}+n9I8&7`"HƢw,}D+ӴgÇ>j"j*֗cw]ǘEmܻz9Y.,9~&i4F6GKrvq7GAgƒԬ$pU\=gl+򵧈Id^45 LO'v tq2'fMYIX{yٞS]};qfPS3P0* Ĝ 7y ;rĶ(DҼ^zl9OI&#£M2e69ǽM jF]_#Cw)Ek/g([a7>Ԧ?l5BTM%9_mZd }i͕GDpnosb'T"JFV'3D+#Cx[j.zz\RWVZ8]ETÂbfE*n ȳ̸<_#I4&f~ַN2D ~X-8c:%v59ggqsl2 ~'7@xJ_qM`9ʔX7ke114k5oכubFWZ9'L3{)<f*Yā/} SX7\\\d5:qoL9'B\CI=T'uGY\~ B`F1)ŎT߼ͯ̄ izyH>D~_9ӽR?y)_E[,7`9gf|0-&#b<Ө6f?`H br;]^tFx..QJ3Ҫ*q|ba!b dƶw'qcA$&EwLEN&cǺ) (7SU#9. l1>P }@ N"}GQJ-x1] tĊEJ?K닗W+MϤ"538677.vfe@->(ru>}uAkΉR@$Pݧk^M<|C߳3P:_xOج*YjjGWB0 @kۮZ o._c\sX;J7{SzC{z&f;fXmTtSk nj^eTpMaF;ώw Bhy{W%#j?F>PjT {F' j}F.v=nsK qfLӸo>H%?_M|Bvp\prv&U{"Buh';*n')bM)՚a_{ݧM|T]mwBu /6((sG6 ˵Goծ{6q0Ms-ؖc{ϛ'S1ς{\yr0W,z=C$|WwOPfwojgcx6kz@^IЁ?"CU9 1)Wc;)ZatsBk3qz-a_RwL_~/ }؛X 3o مDbShj|֖>+9։q}e]ADo67*x"$PҔ)Ř;|4f3B 1s.N/gi6Wr)$i ÜscX/}r/EvdKAjENęU )f3(,OoM=;V{lV'&46fi){^{uyh5ӄ7u.8(}Tl%#$-P |Fn_}.ρ|Tȥ qj+ཊ5U1V<q>ؘ7u-ŒR*j2TeN͐ ^᝿6%LkВID qf7b "=!I?jf&s_BhfVuff0 @mM[T;8)#>D;fJ%2WCVƔl:C vIWI &s#LEΡu"v.Lnz1O7Pu>'Ğࡤ5e!.Mc`zrд+ Gs*mݗݎ}1GqJ!3qpƻiJN:(}V5&KɔF~d⇜V 32FwRciۿfs@n7xx?qG395+{]ėwa'frWu6+#p -WuZ!q6bG;kt9b,U޾/5hw@s&7Tb!Lp8MAgT& %P1U`&EVƲOvG2^fG|T}r3ĂN{ K Z=r uO/8[{Xιu琔3kFPeaux@Ne䄴)4émRQ)}؍,:Ӄ7=}{[xz ǔsc ] kZSW2ĤjT YD 7)Պ.F@'g }d blա%k,/}/b( EISr2UkjqKw&_FR?5?N_GO~[?A' {q[mo_Ĉ݃i38RXj.vi@<*c;L!k&Ϟ~q'*3VX|^;u5NBhW x.$F,R^BY"-#֛]kb&~7Ӷ䌖A/qb9c@㞵aB4 Τ= Ф全FjԷ[U-@qn|q--~ ͘+ְ+u lX2?0_q (V{b riene7M@34~-|Jʯ YT8Km?u AzZWLOy$v&" d{(4φSh34]Zɓ+dB )uf* ܌RFb~'gJ 1KFisAq'q;҅NjV?y6ccUe\ww'O\{OmD㗁¥EY=A(HpYђX..V4I *ͼ}>5Mq^}\0{k/=G6>FM|1pPwtzY*y8}a11sXݙܛGYMLj3|r&{"3?|b=wW'SlKĤ7s9(DPujoSTm&F€W`nkθ_FLM\'w8g ?eLoƮ肧6S6#NՖCY.! |isMNtTGB?>Cʅ-gzg~/ S1i >R+C[קqĹ/5AImKrL{ EJ<7H5G;51zպ`%W~M{gp. {η^Hp.&p0d2*3OylXjL 9wc$+BFcDۉ~qۈ@?D9VEu^tb&8!+bd*?IӔLf/;jtwF.}vDL7 zמ_keb^Ddw} U믱?|'\/k]߁8nƔa=&Ƽ|&`>/+։rO74_𭛞wE drLE Qј hX41/Κ׏߼ڜE7Q6g\os_#_uopJ4#EON.ʴ-qbg X՘ٕ tᜁO*(&-E8‰%~:O2Y?G)x]'gP_K܅ۃeSBLO^Qcc1TD'VLyKXVPR_R9J*(ntR rn^, xW0Cju՚E 5hg '*D:LSf>tnzz6g 3`q%qur* MA ٴoƷ(0+`C˙& ѓRLYfD]`1tkfJڤOGR F].ӹV%HEKcl9(9|hS_.uxzw3 +S^lj5Մqqklik&KܺU?+pIkZåNYyXzd'VS ;L)s0t1XBM 7Ⱥ_duA&cL$CK<~Hَ۝O+ldְlou'kz?!b:Nu\l&.N9Xwb]b.ʚZ0;*v˜_]qb}V[¬ߑHB;vLsr I/ ZpEPڴ[X>O&B ؁rV+rpf/yݐ T#?8%Q)&)ьԄdG}y =|g֓{#{@8q%xAT f![[޾9Yǽ #c:- ]O9 7i] vR9{rٚrB3_Z2oy6H#q$ G2=Λ&X-W tSfLξ(e'G[R13ݵ=sraPR9w&ӔfO8`NO.XwoE0DQ'SrTqށBJm@{&XQhٝcӔh]י`͍X e 's\`=7o<'<{}]Rk0GꨳF7?7No'Vk 5#Z)*R;PMlRE*tQA1P {R(?h7~WeB"&f͵vSGѡ$xcj)E).N̖Ǩlbj#1sHi"z t=u-v!b,l3JٱMݕdn|8ozٚ WL؎3 1"> !")uB@B8]oaE6eT0j84 Ux;B(Mڥc[ 5 4%A!\U*"bX>w(%UI&kbT%Ƹ-qb9{O.Cc|E̊j"J7;@ Հւj[.ᄈ7gqx#U˙Obg͸"fos|`uqFiH'tJAŌ*a&ŶH 3NW_{G9#票}~N+y*m*#Wu/+o6C@uYT^ OfWGCG;α朝1ӅXt䴛Ȫ7 M<9,mVwh(8LJKr.\{SO-D(8"'ܽw{\ΗQswv_6<>9cʙŜ8䘷\.Fv˗c16׼;Vgj>h 3gxaJV╂5[~ߨMYWlolixM.vǷ__կߧV;aqN5Rill`;%~p6+w.@3oߎ5A\;#>rMMĎS k_!ZaRb^`$^tn2wfa/mU)t7yx:COT|%uT Vz+}`]2֗e|ۼM1)l֛LUz3M<{zIJZ''t}Ac n k5DUIg!F'~J@ a?Je,f";e4vD #wn> NR >^K8M)4lf*O(]EHSb8Rvlߔj4#i,_nCfauiLGc28<`JfF݆'(*lR%I3c)U ZS]}aWɜ.7ōZy5#ODX.ZXo>on̗˼CB(h6O:}wl8x>zb[Z<>c|6_`=fJQ^,L8b{-v*+~7=f/V=4 m3g阙@v)kq:>2Iomj$pTm1ҍ$}>mK]P7q7@1KN=3}1p|B%qY'_ x;,gsek(L|=Ua6OW `r???'"T!D. I+{O4%|guɿK~_waZ;:ヨ++)̺cfYjߌ~ 9]hKDc6fGK=ЉJ+\ʿ 藟yD甒%P'S u<)#(E"]? Y=O!-WwG\%iU NV /_cZ?}z8uTg`3 _k}?#bq4e,K..3no(Fj9S[HU8?_ ߚVim lS%;pZIPb4lnfyT >=偻0 TNϚYbܯA7`uݷ*gIGo?MZUK.4mn]{d 9"@.&uK]oJMbG>p=᝙j>s4 c;5١i4Kk~w ȘyYuls[BXz>95]=y.:\s%#)iPvbWP|e|xveHCCN YH6O-cJv;R~1٢o:0H9s^aF f:Nz K+6Iɨ'VJ WNMF *X!cηرE7DjC;,4Lw4Ϧͺg&^m)ཧEB <~/qtn '#[dXm6c)3f \rZ ]/RɹiU0y\3I_R(ɓX`Btgx'~tQJ3kCW {T)M:>@t~(,R*"%"B"S6Cfqh-s4%:HUؤLv7berB7x^o*_{f{SJ6A]|HkjksJrPuM"'X~qL<ӇƟ1Z}M)er{z2+>!P6lJL<4 SHio '\c< Z&dV HRcӫ-:R2ŤiJ;LTQQog:W}=K/O閷0\;!O[|뭱n}_wB?*7ӔQh2}סɪ69B|鐋ӳ-1ܹ;<-ZA#U%NpY㈻X R"gy)w^"FH7tܾ3_zwkMTkQQ(^晅V.O =_y.O޲gchFyOQ_|j.JJoo>Oǿ˔zkt)}P%vv|Ϊl2n& NNsFχpp`JfYĔ Oι>c|bLWH* ݟh__llj,f)qbFf$,ټ؎^+iqЫ1)GӣIcD0j]T`۫/²׮I#&\u""\(H߳۬7fHmş;sɺ3?56t=ϨZ@3*Ja5Gn/Itwi-]w9ܲ u"nۚ;/:3i֌W`6 [zti !>'@<*|xha +vRl.GƤ^l\|-as{פ<+tdz"{,R9?bSnZʓw[ieH.QwxL4s1q>'bR=?fXo{M8Nec>%B=gE]zls\D+R1)iJZ.YgL:Zuf˸M\\N#Cޱ=)҅h@v ad֦T}n; ^)gy"Ĉ1-}l 6ЗRּ5vCܜEP^Q?=? k2\p^P(\-y9I<쎘!VXO]^fgplfJ q/'UHYO.Fd[U@SJ|' _%~wGeF2fNssUFA"X55Њo qhy =MC=&Smߝ1Ed?xnNwVڥ%%TN8q"hL3Ubh2EY\N~CÜ3M!ۗ0d&j8#IY Y > M~Ƿ|gJ)sbGLSgzձ8\pvqq[ke2 a*#N1%:QkLvbޓJ&Į5D Ջ}d|p ;qn:kPyz[TZ y܀ >pbI^>#E5X3MKCꕩWre9cVx[9ѓ3RqJ]۬7[)Q28w^o _} %s{^Й 0jr5VM|!cDlFo7\urʹM1v>;.g D=wVK^~Ԫ9i*v16i_ƜN=w9X.L y*,sX(Ü4is!ٛalGs>ph.:O7(Ŧ(l%v@RӚI #_+zϟxk=-߾WdEZ=D:G?7<4;7xjƜ !D<׀,\knfAEI%C-D3+?8'ɏGe4=N w9TDV>R Vsݱ-F3 L8g;ANNP?SBWV&`:ji`m [Às[)²*PWR1 ت+nNڜRTG%@U|{p9@*>zf@{zi9k,v-f"S@53qTf;'Lճ T73#5_m@A>N|h1?Ny0Gɉ4ɝL}ʼnk@0k27룶 Hz9KTTO)jZwnCpyq4}6 ̴Cjv 35+kl֗ e6\YNZ#%9Hh=zû$Wnٌ/e;q__+TR97jq {ڵcߴT@j ԝ5c;TBtT)&᯽}jxb:VH-p ONL<,J[;lq_^ω@l6e~|r6p\пT|>G֪pqf&緘iA]]kDf69b]i7a_}5ΑsTpAPI+OʅR+3&σn0&+8Lܝw +ɣ>0XZB OS`wsy_sF\V8{}Шja'%6\Pel F,+ 3r?a p}ټ^[U.[o^ )qxWf7﷝QlǑ9 \uxhÏ/M|F9aXO?^0&k֑lxGł_[xNmp#6W(\IYN4(ì7blgk s*l#H?e$Sba#Dpb`jLvF`r%aULZG b*U\W\8,hZƳ®va6[glLʦPr~"b>ޭc^\p1<2n'nrO^rf&Rɤ(%jR+5 Pk[*e3) q1&qS8kctm4yNw*) Z-?-z8C-;闔%Gx/SYs"%URpc()۵lȥ}`Z^gj%D"D'f&~?f}ʢ[ }!ht4evsb>8-,*箁ayc7Vb9;~, THVgR&uDqqqa9L@-udvTfdJe[f'q$!biR56'̖@8;J 0NO#i̸cW<%v]v*`&a60t ۬MӺPEH3{MLyhS(xRqV}f B55D)E{?g4/ y1^ݠRĸYoCQd#5wQ7OPȎ>Sf*Ź]tl'qSI4-{~c]$l+ƤoLʣٔ6)&6LVlp{w9?`Յټg;n(Gb#&Dg;3XXP>GJqsV?O',& oQ7bsݱ֨.;rxp q&~>Tlas|EE#a3΁q>~7C!R05%!tPl!0z_Z+5KxMSK_ԃ9&n5cUybNܟg;/TxMN!IG[zQGuq4p 5Dw}U1} ` |-˜V[3[5|SIЫv~ϪTX8E{o.X3my_+>]BU8 |U8X.8: wn %_!{]ϼ>uZ*i2a@8dIc"DGv"[V+yjb>0K-Y+>9!L&HG{כxl'ܸ҃I~R93D:N4?',}b@k%@NfKGRw{n1}uo[Nyr'g\ͪį6+V\n֌i6"3e/RDxiTN-YN2WޝPBۋ'ƞ>[Y]fz;P TulUj&9ȵࢣ́  8 C%9{su&5 O[-SK<3csVe͔"Lv=ۏXRz(fʴak=JʅLJf烱cxI5ȴ Zq\ 2sDJ359/RͼD5 P5:Qk&L)Z'ָk$dP$~@6MS}l'M|#ʓ qz)Yfl?X'L==1#d=w?qw:=9z)S2 m^%LW=zwm|7q;[= S}KDq;sd?-9O9;BoSZz㪺q1*'/\"qy}i-I?VR2 ~_w5ɂWS5ϼŊRގE%իiim5/g𮛸>>g#Ën``vvΩ^uL@A-Iٌ_pWxZrCNt<9; SǴ5veEQ"9,f;3i?ZKeF KHQžw疁Hqk;O׾jr6cvŔLc2f`3L)0_P'glE+Vt۶U5銔"T[+| ()}{b4ca 2fD6ft xUсBoq_ͩ-蜣@n]D*YN5rQJ#TJ$CJ QAG$ #Zc&+?ȑ]_Ώk.2NRsęɲ}%bǥ5C$w% t+d5ut\+wEpNW A5²jlMS_N@SkUj@7V-s 䲡#5佌Oc\rp"q3u*+q_dR9! :q ~FMSuY5z]lE Pqj^Qhcp؍ɘ)*R A 4.~(L93UPP[Cs7Ek7q]ZUPsnp%*l6ŦVO=$3>W+f <9fl-@EN7L'gUgƿbMR ,s=i;skN)5'g އ'hVFÓSn37L[U;3q"k#ϵMdU)mB]ߑrr0/H;@͍i1).RIQry`0M|^#%zOw6K>9wn)(ZP}Hkbw͔43þ0!\K-jmߚt?ݫ׳zЎu7A:fduF zsq>α)?!{]ZT6yA"={RlcҔ:[o1+[Mucd15=ΆE*Wm;{4o&>3w!;N=!.Nphd(h)Ż#1f=󥱵B Lcf8{0 .*8|𤩐sf;N<9=eGV rpzvgKW+B)BJ3 2Dzubw Ⱥgs*4ð`s7]Bio| e=oFӔ8;Vlc=Owx'hU̇|{Oiċ'Ӫ !xMjG>B&>1;J5˼6h+pvŽ 1u^s|"=`$`Ypx7[uJ`QPj8}{GSќPUp %uB صgp0zܢ "8NR8\|ߝ2-k_%0/S.ƹH\~q pz4v]`?&W:9grNX(e߿{O@'jZ]o.қ@ ԪԜӖiAjB7( uBg0@eV}MJ;?0|F-WӔ(2bHj]'J;=C>va/B =۔ٖ 5TFF SU٘691MT" !PDp{;"TE8=! TݝUjMa~Π̣g-os6U奠X΅':EdkR˷L4MtX[i5ŜYSΤRmxdB4ل @5.`xe|ꂑzy ߀zԞgduqZpb|d ʳ 'x7͖v|Oڏ7l?NL9{SLښZ9iL QklѼ7H9]kއ0y1YBR_A⍈P砼Aץ֦*0ִ~vߡw}%+=#LVl1; c0&r|&Tx݆E8k[`LDX6ˉze;(ՖfB2#:cc3{d̪vb{gԫehDU9R"HpwqJ#(Tgn; K^j2S\ZGR m}كt{+#&"cu_=b3:6ɯhqTBY5i1-G۬Gu2 bjs&M&xby>Aj t(]==x#x(G9p⌢MI59i3TfM=*zܲ*Z!t4MM>T) N1Zws6Ggm0B҂;V.o'o=̾_aSjE&j o &&38`;\L6GqH Y{&:Bq "N##f,eK\j9U2r-nה麁~3pVU_tCJӳjM RPZMx(?ktf [jM"|Q\L(qT!wJH5{f1 WT8&zNL*a$]dRJw"1I%ӄhI~ 0LnM}0?Pv?kq>d? JI+8ʵ=gS/1_.Ii{ iDJ$Պ~1_!Ruq@MHE\A}D5pqf-ozGϯ7';aN#]'t!6?_sBK;Z3@gVsP7<65ڀ1歉j}TgأTEqx;nekNM z5˒7M|N饣v>X}b=3zj&}&}׮6Żt]دC^>Kcjy ˲F4rJXu/ qcMiL6aئ{>@Wlj䛸 &?/t '|-={ISf=_sYcd/WL{?W U['6!y"~$cfDB Ü+.xB3m}ȺwkhY,'/Ȼr7r2F.eJ;f83M!(!@ٳB=NSa] :o-J "T> M|P$xb`~oo2g}KU7YaSՂȄH%vszI/)oY58t}fP<f.MfȊw)MldrSN>A|G<:}ԑcFRQfyFNep6|W^%'fӳ&|^I6sFM*yRhӔk@xCnoŘ̋%ɭ[7]<'qv 2vvYmG^pʟZHb` v`k D1_"@{{4yfukvjM|VG.|*)LuO|x爣;6ag( qLFxpFe(Z߬rik9l>b3om*mId3k9rPwM k͋wM@z[6`]L3Pnns_ > PgӲ |BXog8RPhcII R th|>PQ֗[L)L58:ZR7G秔ZHpJ-x1 ź+NA0cS؏8]/\I=F$=j!x&4Ϩ[b MLXVM"szqn_<<{3s]'r|pȭ#kFjMnH91N^<ÜwlƊQIo@e~NzҀҽVyijEaĊ@kSp> O, U?=G8ǎ&5~ˏwNp;.MJBHx$҉h\Xγ7yn;i""T -[<ď/&6j^>'ʇڍmy{.Kͳ fϘ \7<.րJ⫚mOFQsM~Ӆ|guݵB#ǻlIJp0l#&+0@ ::j`z a=ȼ;-[J1ypN[.fLzڐƄ,fh }GgO/98Zԑ։o~ b{Imx)y0)QQ\i<ơĿ8d P!My=H=VezB^c |> /PS[f%c)%3D/g14}י,~aQc:y|oÇ jƾ"1j0c^ ԜE-VA8&a:)7 ꔾranqRFһ{o} e?.,:2(كxETRMV"ZcǼ8\Lp@ȔROe w s jӦf pk@ ]an,@E((R xK%0̐БRPᶂ ƚ GF,9o畖CJіj32s#P*Y_[ 0kfJޢlITR2>شSQj@ؑkV! Y[Pw]?T\3܊y(}ܾM3.&٬YYhf&Kbj1 m 4w%gɿ8[eʴ0- hZF@{| fX\#hoZKAMhwqJؘY(9%jTRXWt- o/sJ)L\nXmRcWeSg=E><<\W^ib ;d3 g9O!z|[^Mr 56 ÂO3~iڞ\?QA3XjrN8b$Ј5Sʭy9ID܎宽o(pvblwoKd{\"ke{mWk}R-ϼ9穥gzؿx$=gx(s¸Y.f\ĭ[ZY,f|w_z39n99wQrre6t\69嵃K\q$69ÃvjR‹,E5cRpѤ,پR~8AAƊ29Hi!Mi H s=SZpwg*pߋ\>7/ &~m 3ͶgoX۲,=lZ{."̪*fΦ /l `ŀ 70dhPfA`p~_,۲dS*Jb"+UU4Ykfa̽Ϲ7nDfY{$iݚg9[\ ӈsGoܳG1Vd`v;jVR_E*,.F8VqgI[_:%SRq҄}yJ,mQ]`jUqbw!e\PJf!26ۑ -08,O\\f_|KVEqj Z+t=Q<jbYOc}j?Z];4hBCDGp 1X>Bl.noذL{ɜa?_=]|oM 9X ?ZO21YPkVa3gر AkQD C/& T\cx{(|{7WK#s3H%xZ1ݝPs'BT۸4n43 q*N="npD=cQ WDq"yj( xp) yВc7GчLd/?}8)N%Pw/w@";"2=9͡)]\yvξ_08Xf)B*g!aob@ AsBQ&u|ɜu=ԆSA,Ґj`Bj'GDOԲ+v -V}~QΠ'wxo Nb4)-w(Dvť54`9y٣fT$R,֚{NW=SH9cDTqjϟ{~~ݷ/ 3y1eM 4eqG\p?| 7[.ru"_/K{onyx&3kJ<yrsu$`ȖOtkqBJHT MVhe;OK@i_L?: Əu?Tq]w ?5H+EJv~ \nĉc n)s&M\>c}>3$E?‹EI@=#O"z >x9GrzKw^wn7l";;c)5Wv. 죧JtZѳَƉ{+mTuv&ݝ26!xzt}4<8`9~E BQXg'+d&%Qr"Ћke=^lc3X+΄pA6Ԓ( -Y# LL3Ye-8ɵQ"P\ t;" xΣ>\SGK "-^釞*J)L~gt:51&: '8k_qhR1d(jR g</p.= HMLP݃]w %7{<ݏn{ 9]|\1'A]1ܓ VJMk{hGU !B)JLpr.R}gZrFĦuR)sԪ. H#!yNNHsE S.KAV\ +;)S- 朣B0L[U bL{sƋ#:䌪=nPT]HsV{LHcQfsa$rcT&ڴRA/IDAT|])W~?Dv5?;WLS!v!q~q1{pGRq<86 ,[iMHy(F7N[޷ߥ4">脸칺9;[/8kwx)::GJ 5[cacDl/TU#xGvՕIy][!ME2vG 23QbEV7Q=Mcx%;f`бboB;W܊-CoY&eܽliRUU^^Ja P5Ԋ!&/>$M_x,_cL>/";x o|"B#'/>muvcfʅ. ᆋ婙W܇M {m߮AС?tk׃ 7Քqנ6Kx+9$@li_$6 v 2}ʦN+Uz~sc}I}KUY (o,w~@"]I9u#xr9S!xo[Ӝ>wg>%j\0r C2ܻ836Z9*+"j503q$mwz(s6!Ղqn8͜HpZ XKS[{Gulx[Ejni^+vsUUD{ekw[b!&1%SNix=  Lt=\d5b&H6C'BU牊9)yNT(yd1 hbUx=>z67HLEm S.dpht73<*vc8GwbzX{m$϶dDxw~Yl\}x]yAڤJU)ڨvCP}eS[L4Yzuu? X T HfEv⺦&@*lRfa mbbLE->Wu|;6g|+ n ؍l7#iJT8]- -ltiK.)nv[ƙW7@e. Y-1I0]tRL\ v0^ =sʬ7;NWqz{d`Dl ['W'%cyqsn$=''KdƱRzshf0tN:r 1Ѕ@" P#Y4g ;Ws)M`0FJ3k1Ad `Ai(pjD,|r/B#da21e|U`xW=J&4'c6Q hllOZoC dmnb;z0.,Z+*B m$>') )CrLܟ:~c=>_}uیO_=u)šՃw` ù E Uqv}P[¹jWOCF꼡x !6G_b 1S P-钔EYq U wM 󪆃ΛJʉRfsS|4ВvD-qSWN@ \)#4'+"JT2}&)š$5'8R[ҵ+zct^cwHRqS&k"qo q&OtBq#fxiILmj_9?eI{Bu9L!ܙۇ*\]]hhP88歑*-o"XK$PLXXM݉8OJe=2(];SYűCBw߿ _G4*h-/+.7&S\2.Je =Hߵ>%!K{ %!2(xo'J+o!23xʦD(#\-D6:T o> 1Psw/ 9d9\{W|C18QSI{}jދR&`]̫Kagn"x Vpf֛͐>zʸ,b`yje7NxXӏvt'TX޳)Q>KA^^9C&k#Ἲ;s.wPA?wRρNg'6_Z9yn.u&֠ʹX f;wJ v8;&" AYυ;h1AaKnSc돺Bq oHn|2SҜpӘpg5ӯ:rE'nܬmO._B`\ Ey> &6Ҽ;sDw )B\ۮe΅ }ߑp0ω7gz6%$=׻Xc 00zXtj" ZE9>WD=~JC;0ǽ ÕR(%3x{Nx*B6H;Q<B@nNxQ!RX4&B"EemH%U^3ǹ^+)8\wgİCRT⤐B9Cqޮzf_sW+£_'0ğ\;/&zoXZu ,ԚR` -uT<#UE+ .D*x2M9:#*<`pB`a rU56H#6骣 Ԝ<[/=8ؖiY-/yVy/,%qkݿvv;2,:[ 2:ʆK5V9&lw#4sv:pBܬ7lw#]qZ#͖Rv6^fvZyΜ8;9!@΅R+6ֳ8D.F/NRL9Sn7mqUxpq0geNQ۱2Ε#KssJ=~*v:B*q)Ra\ȿCJƋw9nl- SSJ=/Z(5u{یvɵLԱM$BG!:KB0\ds`z{&[Lժ}jNԃ!\` 9@#냧/X.hg.WIm*iг.@f^ Z㾐ܰyan:38.^qP*bW4:gAXv16\^p -! ՂTNEQTX 14-]qŁ8ZĦcC臎a/*!xRN8KΟ?tdz=}YtW3U5NG!3WA,, MSR11b;{=C0\gBckK] gR$ql;фx'lߦ/[ƃ?8OJQc;r t4]z;['=tA^K5 yOpB?Gkw\Ď߭ߙ sP/9ע=Ggߊ;9RJh.{/b4' Hl>|Zֽد6e {8߃2tbk9V : =N90aA~wG(4-6kĔ(uE.tƙ3:sB $\N10^*s. Y [DxW()q=%R<|bZ(Fio֙`ʌ0BlUU1u?;cJ,-by}:{o#X3i::=e?bdY3}جy2lMp/^p.pp\R_0[|K+n676RrY) I. ˙o#33c7mRz_軞!í-8!oM] W;dxУ9%vx^?\=' a"eXUU%ʪ1_';mR:c2a XslC JCiFAb<_-&'&4'mcuVEB0<p\ wWkVˁ7\x=o{$MN۞RuPEkc !8*z&3Cxvm]LmomSЖ:A^֠3jqy6լwCRg<_C*)xxEd[q7߮Avhv;㪲xwY=u?Sj \r-%{Nq71=9Y F t8`BEonJgš|dLFx'Ât&>~ 7g14}xqN(hHbX`sPތ#slAwrfN3sJwv~Ճ%y8//{:vyT6'dbڱ>;Vc~NA;zolUiNdZyaG `wEcl/x^By!H* 3QV]SJ#WNr!0*RđMaJ`H %c[q!-oNBs& ilF~>A-+#T-XTΐ/܆rG7Gݾ LHڻwSxoRʌ} ߘwd-io--H8SB=$b[B𹖃#9wgRBm@oGsN8qh\BmNz@]@c/l'g#.nϥ9cC TRRp.B蘒ƦTijYʨBD,@JVNњOZVflLPp}tĝٍ=Z9gWOox~%ovTi\]maakTps߾W  ^-ƹ 5YWqL7__|{/1rn"`8$Q_jʋ857b4UK9R E_3}%YPM5D'\ Qu{Ŭ*sN`-trq}wӜxܻ8"%gvGySFv)):ֱ/jXT"]3qA1_HPϼdZL6w%2$LbATr%Odlwg:S*Xu>5bs|!ZޮAOnpg N}|!˞e36)7-EyjV6Qyc}u?R.w+vC$\,٠U5U GX#}Fn73WhEv޸ㆬ"R)l/pG Tu&i;#1\l \،;1޳&9攈u&Z)\ w3]gț3%W|j bBl'\9YHfqtU8$}֪&Uh9{V Y OsgQ9YF]gOԂ`Q1J)X>RmC QS@<(٦IArS57eeJ,&:q E "0f Z9Qw'xa#Oل*jH]U\ؽאf};PXV̦p=o%'B-9-ߛq@ԨGjsa qfucJڔwC#Xū A||%eCcHu)=0XeŒV'C$fW)a\DJ $jAQTG3H U{y& $,@#T-dQRR-uёSAj(fe2&p (ͱ+4ҟ旾E~[?|[[&(Hq̄3%Cܠƅ- jdFRt1ʌT(T\&a_{]mS?_\-cm9M?ֱ>ǕKa2r!ۜ+[K^}}]l҂ k6Fl%f.7)c`3,4͌2)/9?]gfj;Va0^tkZ:ǭ.oxquC4t39;J\u,+悬'N;+vMm?rg BZ.~ r3~ LK1P[,VC-Ő ' T1_zCXw,3TX 3H섲7QA3Jxj#S*r s:Rě_x{N>y㱎(B s <"&dD5RfXf)Fjǰ~fu2prc64LUp*l#ӽ=95nω104;;;O GѦ},=43`_1Xwq)8 :sd:G<}³+>w1.x}S2tlѰ<ڞ`NMf0;\9x|b9L<3\P䥠c}f )"l ugp,$'.`Wy1W;ڴ:sF@0BI H=r-KDy&L<}RU>E ' N6sPUBOƅC0&v)%#Z-D!SiY = })f,X $>ђPnl'y)Ŝ)݊o}-0VOA=%.QkƩP7dNգLoإ+WpjX'S[61h{(6rmR!L.!cFA MFOEB S/= |q"1FCRTGTUIs{%;cޑs𜣊!PMZsZ SpOT=K(1'J *eANsNgm)]G, 'QPHR t~#8ɅRi?ClM.b`Y݌!0O%xZ_*Xj oqz8ؓ.v; /rq5٭\2gaۢc4$yq34]ş?Ws~5OMd =dk&WETBA5w֞'ŦepLG#*DGt~o}BtsmXR v7w~Já e8>D /"GđD-U^S!Q2<ϯׇs֛qu 8YRGy5 4 ^kd`/4aBw$>yz`/"NW CU^㼙}]<>>:V ̥p5;n£E`3G) /AgRǖr%Ҝw z3{`ˡ?E}zn";obgE7Sey_o&Z\[B?c}'~KěW/;;O.s~3sUn{8TP)Q{ Z_z )_oQ5Λ}{h_z;xΣkW dGƦZGb[FB!5>S>PRĐ֊W5%MiŻ@<@/ <]EGup!&J\eg!@B i(BhibG9f1U+bdhk>VlbJ0+sj&ezr9୬oH)q`3+ Y`3Wx=rmn2'ԜH5/ >x>xeUf]2HփԗlJfG,ޚLH] LE7EŌ!Jo2o{ {v|swoP J.ZY)&<ֱ>vT9#yeDTMydPG PEL߯iw֠4D~޲s8-Gcb$'WPU.ovVӈȜgK޸Nwois/?滟޸2!/mF;!Ue3G6u?: PB'!*(j4gze;ViJT `1!lΙi7'ۨRGK.fz؛ ˡfe=w\^ݰVBfNܸ\ 'B3O^puzt sr@5k= y6Ǵ+: 4P7p1cpN)M?g|0˜0N#94j$z:ꄩT ^r)08wd <;Ǻ@-Erb{ ScǗ=ĦSf+**=4؆œIŚUz9S.8(QpNj1:Vw8t!9O )O4OtC)h,ro}KTshCLuUBx^[uw6V&rvmת ݩ\$~eD)ggULӈ'D\w7s)%bxwv *9K!`8w⅜͍Ñ@z<PwE{-S;NHV (BqMSy;{62sJŋ`eLɚB6㽏 ⁂oS\ p5*0b 28***B K=X&W%eb7\[&TmBc&56UQQHZL)bJPҌenMތk£'![OLQ1k--{$woZB l6!-r[cdM8 CAcf_1NWkJ,o?x%PdœgG(G[>wiw}GņÄM,\L}RZ3N3]Ц{aF[nJG` \,nװ7ѥqczy]OT9< EʌJ\ZZPg7%9'97ɢá$-8Ͻ79LZ Un}}V6q'aQa %!oJkyc SWRHQMY$:ΙqIе=oA46l:&8rɍߚ㊣ \F@z/$UrZY8o^ Cc7g)U;};^҆qس+ݐڑ5k8(HSyb+3^{;eN.6qf]-YU4M|ko?ϼɟst<8{8Q!rgs/ :8=]LSQ(, ~??F\%vR#۝0>/9s֡ی:ق Bq-w_cYN,):+@g7שloDhk]d7·abiV9Oi[&r ]D|xXX0le1ÄohGG|dF۟ΑF;u-b[.ٍ?`yc,w!x.Ќu.Bױ7038s⃣FAt3ƚxqyMɕ'Y N(ݍĜ 0\r L2pmT,ZVQ=. ƼgxC7x2}?X}ΠTS"b a}.;qF܌ܰ7SP 5ba^qN֬r9(!xbP!TU"TbhAqr Pr!cw(%R/"<1%xR)1L:7xƗwkEi>f sm4ގ: bU5nsZS5{5ᇊ9Z8gM LtVqcbzp>w" 8Yq}{u.03o-|'\t8TC6v5_JԇCsuA M7ʩ$RqT@T)\s;s7M216k([ǎL !Mo#:6V"ڲ@! x{ONeXP T~*>+e-[{Ċ@L''* sZYϠJ9rN*4MEPzNNz>ݒղj7pݑU-_7 i$U>˛_x!v|xz>F[r{aX0%۴Hy.>%dF.SK;XVT \l:!j[p}ǜ-58Ejt1z8[v{GHsJ#"yndxU(!ȥMf@ۣ̜ qb}Z,h5癔3g7X =9[>Xi{`.}m_6"..ʜ~~\9g&of_uuBh;2EgR2& ej_s>jm*\?'YG!Yp)Zzck42,{ËJ" 13xnؖnGs.udDt..r}agz߱,Sf `PMףG͵򚛛 r`CEy g9,~d4ͬO>.T袣o#Hɰ-D!QRD$q~lG)#:F IڰOJW2"J* Gy\-(1cf8Cz ̹Ry#} 6oCE]י[N iG pnIKa<׾n99۵İ'{}Պ:ߥ2T5PuT藧> 2$ &mʰ<_QQnQ9o"w;waZp⹋qBTD(jsw_ӎ"7MT*sD1sw":g"[Ɗ dujAt8g !ӿ45:ۤ:uT @i#e@YG T5IJ9+]\"N Dwxg ̮_%mB7[rqX߬&Sujf)Yt_e't1|'Yq?d{9Ề:m[~Ú^)bё!A*+D3ϟ߰I*cΊ`}12LskNӘԦ^\c0o=6s;H0dt`;;Dl殣OBOPLq9{L\6 Yg&~4X*,Wnf(dn~YN8=[((˓ 5_ǎ)~=NOBp3!pr$xɒ\jU9RD,B:sFٕH:yg+)׌jX%%S@BPE 1]%O 3ģ;S^C06{ƻSRW%7%\tedVcf;KeUE +o,Ny ?\)} )x  N*,{RXDGwB 5IeΙ5FЅap /Rt.=SͼDկq?wof@Y|zJ5CQzn֎_{qů[ēSxCH= i?~b2}d5kՔR Z3^VfV@4wu!(\ql*^)xF|0s߄<ˉ^Ik6z>ء9[N)ed7n+~J.A9r4'\oǬAn )ޖ*.Y9ޛZò*}?e[75kKw:<} ,#c: ?s!-!uZ»WL ~nް&/l 81޺b/·aO<!z$B'.8ǃv&XU.LM(25>=i1=P Rݽg3Ʃ/0CjFk1FT1!mBTXWX;/>:omI$RЪJfB{_\"ʳ_P!_aJ86.9ԛ>/+[fLx/PJO𙚮Q-A9q\5T!呮;Aj o2wm2xk)`RAO+(UZ7 6*ĮhG|{e߻]}Y#([x._O->՜nfUN%h] ԆJxE"q}Oi$M}xbplbJ 'QGg"Žsk(qETke\ox!dΦ*o*{*\< sim/CU\_*%N hFLO!Bܟq^YrB٦ ^cW)Vѳ)G1XLbНNT_82N[9\]pv~zA2S&'Y^ !0,:̍^28;[%_wD?DPpCB#I3ybH0*Ta7ϔ0tLsK"y,\n!̳6#>xNΗȕRANN]&X-D%nf+.9ƹ#~RJ ƂsT"0{8m&RtAXv9gJ`望{X ;4+'5QK%BEH:@`>~W~M),D]–НSk*mj5lj4|俊0sF8j݁Q߂HEH)O9] bW5&ް9|(7^;ܹr@&{oMPט4Ԑ8n4nSquۛSx*悫sW6 VBs;;کuqmݐ5uD{L-ZIyFE!jk<0b<*0Mqc}>UkjܯԲ$Ʊ0,cN,%o'욪@[kU&mĂ;3ixx4q SgBT_[w>EvT[ED<7W#]*/gϮxb4g>t`*j5eAN&P9rJ.5qҚO %_OD7?A|iv2 * h-t3.ֻҪ~>zelϽcNifJ=Uղ~r,7[;?kS}9 VOMS~bɲ'T4G|.΂])/]5ݯRݭAa_Zs:jNhWnڴx@g+](5ijėO"21lp3Je,}'5C?()6 vŪW.׮A]k C{q!PrƇH-&r~蠏fd)G^cf.” ѱQG!X"Irɥ]oY|<&k1bEJw x62wK+6C1aG1ѺU+is00͚U`Z0 CY_m|dX(r9еdJl;NO\MGps.10,;xJ</Pj6p7NwznV2.to5S >;oi {} ]pݥ-RBc)&G1)8BԒ L>JɕNmsI)mdnI;j82 AJPʄQ CR04|%3!{Cޫ`9)%]JHF#؎9p7¿=_{  )@%֋eJ)h.o4Uޘ.[7‰pj(^wL-tv{#H5:>}:d4˃[]{) pk,r9>nǭ0爀'tsM?KxWs{/E @Czr0L&;AqW3tIlqT@k/)29ݝ BQcJm.k0DQ%8bAOXҽ; v\Qe;N-,KR>UROOOfƱP뾑U#@+?շ q* [NV+El _ 7l2j*t]Er3 ypsGb둫LsyQmnOu$ycYIk#n_WxExSNQ=JM這cg>6{~3kKj//b߰}P2vbZ 9=߾6,c7tDg5Y*qv ,?c.],[Ŧ@ML4#I \Cd e?!f} GA pE(g6j݇-[2?bO#u|(F;AD(Jƒsprz+r2u?J;c\>3r4,y NpML-0dΏEP扩ݞ:(m޻hkBjY=<;q"y>L bn>/:%+.S ,kL\!D)RXĞU:{K炙. Ћ )3RαGm_/id}[r1>x) &*#z.Ɏm&I.6 !(͋Mʉ9͸r)LN'r4L޻Cp.`D!&".q2{3%]NՒ?ZkϮSs5Z;r#?ߟQTd=C)y|zC`w,qVp&~h$/kLm*Yni>E݀ā՗pnE7rmi/wT@xveg#N(&]9+>Tއ4+B`3J@\yF!N[~w[x#bN$N7=`9>Moq9{[ocGUS 18$8RQz(5.>FS}{O3 D=ZPguQ ^>~";8}^Q,̑c7*Z=WPr~a/nYZ4!bM*\au8t޳Vw?<Oשy 51F/xK< Z ʣpY@ i.8W4d]Z:D:~s7oo/ "(n͟Mͬq~$ŸWD͎tP)[%1ޖQ?G>('~|LM}?{nAwA>JBݯeN՟nŵWDV5Wk۽sژϯ:?ݔ~9ֱ>K%[ xOKuB@WSX5(4AYoQmo"b7Gjbh%# qcQs X[zeN&v> Tr*LS0.bu-Ţ71;x 淚Aw@-R*"r ud'SOBc hI<}9)ZI8: -J@ɔ_ ìZX5ΜCN3}L)i‚o<ͬ7;Ce3l[pZ D<6tD.Q:}`gb[y$h]z 5D%9sFrqvj.5(,MTN]/'+攉}$DJRY 6iT*:Йӱ_| "̬qav]㥏LDQ ԙ ))/ Zi^B Fc B/c{fD\k$@/@!D$F: ;ݐg{s[@4':3‰sKz`Z).̛~@ 5Pe {{PWeυ7b.x8C܎ўC%0' #|=P,H6XН (4BE'❷ Okc@ęvW5p a㬗TBٌl>WϿKJUCv(ٱM\+u8g R%х8pvi{ .vqX\98[!{r)-56m T SK_T32zc`cDsBn674c;n5UJ GOH9E,Z޿OX16i"+O=bmr70KǗބ:Gj^pYrl[ U2.x|C˭fE$t|țo47S3U)ƛo\10>'\cOֻڻ]t̓mTΐCddVd߇fj1rilEL#?Use;.׃!?}u-Ƣת(fH}Ccc|lS~ PpM(0\9l/ި{w9wQS2~Fg3/z)1ΙZtc ԙ{hA4aWM1 y4ۤHkV<xdgQlo:'QG!SSnZsݰMXU=͜-I9ޱ:YC ,'C03}dz+y&‹sG7t,O nyq}wCOʹC_(oݿO7oU6J%bf |:;z 8]F6;eLT*{(`b>]0fJТhMvTz/w7T2cqΆZؗ .82EFJ۞Zz#ꁓDP5!Yy룹ҫ"DsR*W<~3CMkg9<$A, vvFFA @ _)_ht#t'nq7R֌=~/>ó{"o3>@DͼĐ@GBgmRΖѰ撱FjsJ|vogb Ztޜ8|ZmX! `{՟]PT(mbm!X8brER7H3^hW?75C]v_M>"@IN)g(cPÏǧs+)"ƣy>ܓ}qPEAOzC!sLQTGbDeOı|DJ(PMib}_v'mvo>NbG>+$XhC$TokPXj^]޹skܥꞥ[—xȬ>> ɜKkPtG)ٞVқ D*?nI[Ж(V~7nMJo躎Y!RX.rdVSV%GzEiE=]Ѣ0ԣ %jٱ7хo0(u2978r39Oi8wp$&13(!)nBX> 4~@at' d\K/m Cǚg MRq!)_a0OPJt&7cHbR\8L'?_0=:`fX,W]ypos _|e)4uG_c s*^Fw"ĭ͛%E9g-rM0(VkbL[ Ih2H2VB{~-&#jE r O_l`ބ+sWcqu_ zF&F ﳔIyDФCi݌Zv&tN1Á<ah.xP:Oe$ ܎9Pw Gak]VfPl:1 БH} US%JklQ]RA5ZQI;w[{qt`2raopdq?gY-G~_YE~jWڈW ~EQOd6{sK >308J=<;pE&sOn/A e/qa nfz GE 'EKAՏ~oQ$i>0j8}$3.yFF(NWD.>I߬PQ(? (1&WY.;R%Te`EŨ'q?J,$CeKʢ  1ҋˮxr" \؛LƄpeZܥTR~)_E2zմ}h}.aJCƣ s>>mFTzj0Ӭ[H28SA]kV5F&TRLz+F):puoͲ+aVq,%z.0mUN;҇~);6^ 0)Es` )H1*J> ]=F%T]2"@YTyXZ) tJx7Aml1:rp Z!o:a&e)0%1:TL5Z?g++J#ZIhSg Q­tEa+ ǡR2ńji EYbte"1M43jJM܄bJ$1+H"D@jDt-[S{}ê߸5<Olɐk@҈dVlAC94hʾpE ! U9kWb}(/h)tVi@fQacz>CnF Xrs'i!+-bD|^cMMAȯPAOѣWvD#OaW_}؎98̗=:x:R 4jMev~ N"g6$5fEF X9ͯ+<A瘯}-~׿ .~4{]MGһ%fZBP(,lQy K. Fb#sgo.ЏAAl*qJ2Z&s7j-qWIzg#U bD .x m C[M2=[2 }MÀU8>)9 =zH|}y J&ߔT؈8[uQ|4k.O7]A2G np)=Ϯ~xSk#Rq^s1z邲,(Jj(Gl?~pFs~ы{ؠAFՄi5u26(%SmQ8Z)d@,x 9dH@[ugTUi]Gaԍi\ &l[NL'#\v{Fud|( F@tvm O?E;|GZ)fSPx8=Hsi\}F*8l:,`Tbo=jRdIbfk=8PJq,xQdŘn]D]]I--ͫflRv-{16Eif@E< uEF6c4Eo.jNwx".E 9 c(&͍P ggcmO=4sC|:&H!#l9E1Bg:B@W41aät`1o$փ=X$"ebRj{1-b2~Q,=EQ^<@Tpz *itw5V". @YtC >te{`5'dž޻ӱr#yl0ծ>UjMQXYm#RA|w9ܷC&0}8PjCOY|4^f=@Āʍ }ɹ m]}oUj5vJ1RJהoRXO?,weV@RT".IbPMǐZ6J YW: ^CcOU]$P5(MJmMM}NRg5(fXO&j[B)a\g*N1}4\*Jf1eUy!wCL+gXVRCJ+kb GXB#>s<}I݂Et|t1#k"2 )hIa:LrAc-g")xJ[}I <h^k J \dG# y,E4) iDdL *f7yHST K^^4|a2Httݚ`\ !$R+SLH-}Yx@QVGQ B) _1S!AN58(RL (H$E1-H1fB߬9\!Ů+t"Z_]lƹc|mnsEZVZ$=pKj5|Q`hӋh BO,->G CFQXS) ihʿCcrXmxHPC%2'dlRtnnY]=߻ϤO}LRA)( DE(֫Cמ8$I J(mK?'\~P}QaTѕԈ>uׯsmKYYNNskF}yAo׿}B_y1}~/|ujxd?Hf `d ^="O=="ʳ5]f^ҧy9'K'rz37tMG@Scy%?5Η-ε7Dyd޳i'_]ܾ֊ \ms),1ܺ%IlڞQ]ȔӍ[Mt=nIF=Ǽ1|=@tߴ;} xkk,%"ew[xw!NNޛZ[\?cZzss|lp7X !#VS{D}U ӻ^W1l @7h)2&4ƌ?5H}b?zj(1k;qt ʮ $B\+~W? ?A04WXXQmIM\wHxOt>i](KpSޓ\vM/ _>,"fDu͸UfW)˂[e7:5AfpPZF3U9/$l@nA_RIF+#)ZeF!BЂā0`Pمn$$|W]W7G)x|HY'nZki{;(lz2L(% ќ mziP3b LbΥ f]h1n\9,Nhs]g\i0$(݊#vB 9Hox.V|}s"9SCs1846g7O $s ZPwn>÷k^}w}d<205<8nj;O#UYѵ })f/th4Ym)ԑp Yߊ'vOFm}[KB|t d]FU몤0:#eot\$O("52I=83_+FuE߻ὟX70} b浣<dNC`‡E}8%Zb&KkPJq9WjƊՃcDYbJv8p :bh=3K̀sV`Ŝ*GiL5(&KA {a쉻}ή~7=R${ Њ1k ͛R* %+{lɸh}ϺiJc%hXwqс4m)Eah~p' [LhQXi m8;seGYYSV$D66;BƑ5eYC,:)y2ML ç{Zz5޿UW"IX-[tgK֫|ɕ}FΚ%{*F4´r\ݟsx߻ގJ~Q :9&)cl$=]Fc,<m/J)BAYeyہ֠O;֌lIT1cO¤"Pys`F"Ja–1&Frh h)x ܀GCCF:E_c+~v:b߭''@g,"!;HFmW*L5[0ޠBw]1uIB?Kdx){E tց.YO2$H1bJZ:-H55}B+VcR̬~ vё߰ⷍA l+B*ПKU}P)lCu?0R#E,] * 3D)bx!oBmuV=eC=QR(!!DrPOBLم]=\ahY-޻ ܹi4p[rpv0L_,o? _U|-JIaZrxt[/V4٧9^,U|śzmgBh4yyӑkÝ aT|w_T/p6WKO3MxWxs7,KwoZNɃC*е7θIh~SWƼ+𬛖X {'ż)&U>/SO䧞+|s{=e]"!4 >w]/B cQ IM֣·w9&s,Vkƣkrs6G BzD4ozfRQrMv&czٟٛc^錹c0!7h>!lC3F[1ExƾB.M>Npa''.U{`pz3Fs04;{OYXqx1u!EIӶ8aYB*ɓa̗kj[hbf6QU'g ;8[y>5\Sx!!18:6kPH9̪AK 5(O* Σ YGB\-w]j'*ER|wBCbEߝ^-QqF%EQP.Ƽ[؟N)c4QT-n h%αMUyPX 1R0|UQB}[Bb`6LŰ}Oz&h+-Wk.q3*+J%%X1IR1%nݾz3Y:ʫ5!ϖj$% B` ŽRc) ".Pb;I m: !Rĵ頻]6 |qQS Q& AeW*PXskTfp+Y4)`U~~R*h1&Z(2SyS-Zږ_ׯqW超{wO9yq}OkCcpq ,vKjih]G=- B1g)ōHeʛIvn EA\nMhЪ&F޿v`ue"X^#:{i刮ʀkON$VTT9q7d̵V "ބ*mpaOS9t84U.!tB]\1g >ִT:!fW48܍69L".U|5.c>]56pDˆo0kp]CUF^ԓK9W!(MӜLx(Y{ :Xe1J_ꕚewsW˯| ߶(xΎO})W1f_?7=N*^}>7̍ yQW_˧]-hBOsu]EuQе-15hlr`#%IW.W^g091/>9Oǭ[+hj2wH*d'YJ,#>G>HfSۉzL 7?~cyܸz9G'&6-Q)_dv3w%ZClw1q̈l\kFϤ(27k26glH׌R"$V+ ۉ!NUO}.;D mG+MLZ%GQw(,QNN躞kGle^䜓Ʉ,m4ڌZA!QPQc,dE)faq\s01co0֥lSe QVUڅ^i2)cTX??cnZq!^8{Rkw8PHUbF#$ AkN!Viο]lV6nBtKBкܸ .^VjUޘ wULf::8GLjT?{JztxRʮ RY }>N`nof1)=h2 IŧFxp: ]\}{kvvQSђ>R٤=;XHʂ伙 T'59ԘX5XËEZl&ƣkIn ڂ2,PYȤr(lXCs2DP\J#Z RMRLfy@r`Z8C]ꏣvB^CԂ$-'EJ,+5Q9ɸ&iV-}#"4mx__rg_k40laIc7W JKm͟Ƴ<0~.m!_ocÿ{jf.1{hpޙ=FuE=9p?,OhϨ$1ܹٳ{gF_~$Wz75Dž}'ܾ gg4M+o:|;w>}ko;/˻ GvҤ;V>=mQ(C7`dRU⽧v+MGHbY6ڎ0 qŎ΍ɓ1>.m-wQ0KPxppVFx@[WPCCեMƄ99_vDc.>t ӣbQB+JS>0wPjdWkv=>x.|B{#} FC.$P.s(MCRD͞"ugT Y"I4 kx)lηm' 3֠$VswbXk'JDPft@GWZ;Gn9;3VXcrp+28;CrTrX\5> r&DagZyR:G[u,[ؼƞ[%vTj>A.#bzvtu 'gψ)9G:s!2$sf1jFezt4!uUbKCv)Ȁ>cR(F\?\p,k%ZDgj~+LQR%l7hC#f'}Nv$tKgbpK w8#B2`e1]y8/!4I1Lq@d'*h?sbR0N MdܓP`C jͼ ߻b= QC)Mhd׾c.&ރsEp- Z-}w#yIDQ%Ere]mu%7XE~, )D6jU1u肷޽Ϥ[kg0B_aodX,o@W߼K9oy)EQ֜/#bzNKB#Xx=fq|X%+W7`D7<'Hnb}ppuFp} _ b46iˆ'vk\CN= قQܳ7xSG濾mz'J {;1~WR -gLf{qd4te7tN:@Ut2F)a4)| 0b7Ms4f!QE* ( 5}}XM!z"BerG h69+%:cpDV #1b Zg'CH ĔrX5"ٝ.3 Tw\ǟ:|<#.29?Y`!6>F \a*CCCقd[pR^ϕ#~1X[ADYT-l= aM۷EqI(d1 59ջGٛNFt]OHg䨮bE$;pއ/lDx@CȆِDw*Qfc4dB>dAPu0Ąl<*CD)Fsmآ(`Fy~Ov'{=8Lz@F%Wjh€M0+44%",v F HvRh+u #EL9è|fCEtLI\K tQbUv7:UI)yD"PeSm1Ŕx&5h mWk=MH;1~W,Hqhtdw/m]^#zC3q@ul}ﰥ%Y8Ϩ֎mV>kF߅PiZ5(!u=˸Mh]G;\j傺6,~yx#KcYnAnS6tIّ@F Ď=rPϺG7eUlr-}ZmFle$Ubb]ܚn|˫K( 3)ˆ*ljA*}0 Dt}@Ættwc!NZ,T4@"gfnӺǕl("لAzRBis(%0$] D/)jΗkʷI>[#hxY~!p󪦲WY.Ihf)g ]=ixΚG+3ק|g?xU7;隞F^|[yrmOF>ſE^[o7D)ϒ5S?AFLx3r+..x)5&'9u2`]oK thDY2:+>1LB@ mжctYMEQ"LsϏIңHnN=gI1-wΡ8ؑ6y=ʁڀpdH: y~ `kpmdqќ]1N!cTYWsl?N&mj`->dEDZ麞n٠&@]\qļ͎38Fskq.1Nqps*C lLMq9g0f hsŚgT00G[ost5sڢgj(˂>f}]&Qmsx2yV*͊5Xe8ܟ'bxR<]^FPkb˸ &1?Od"İ91eG|"t$BAڠD0J$QYrՀQ$Vh`%A!DxOe,=)sYaa`ׅB)^BrD ( u3F 4.aĀ{Igד1@U.-g!6dU4Rb,'[.bo @JED| 0S(-rpsq+Lge*tUØHCD)(3(_yx5Ѷ@ID1Dpٜ<)dk怘Tv*HAQh=ka-6#.7 susT7AbҔJ!EIG;|vOwt ]hFƢb"DH)O (sPb8pvCJ %jBѨ/FcIgVrRsZ8ڵ ʣq\M8]tH"WSb?0[_~'-PưzFkWБ0Ոg,h+$XfI^p?XhA)r374zk۷scZ~ }I? lYgWe,7mNy{8^-iv P,/79ZSp$7&gD=^1JpJMõw'pXeG5 pUY?r{|dծ>ID8m=PÐ>&0ji~!CdhVgpРkRs*BEo]X:X&&BΟD 3]U6Ң| 0!xz_b=)tĐP2ف݅O#:Od^.C]J8-wnyqPp8DnSUU2W@f!]9b8{5o&%9~2o kA]v{qPEMtxJm#,&H1}/;F\;! c'VXq8EX׮0;9-(,y}tXu aTTt댿y}}`ݴGX.bDc0ٔuL'#NND]GY `vk\t"1g8Aeʕ+޷oCZӭj(M |UI{ hIr;/>䭚ytp0*yc6xԕ}3w9差קL꒿+/qvb}~j8~oAw^];x3k(eX;>y@'+6P";˃.R5'c٬i:MUY7{OvsrFoR"[e0J! \S.位y;QI97(i3j\$MX3k9mF/B >sr>R6=\J)A>^aTUL']}b+βl +tvÖa2Lp|zl*CafA=|2 H EiQb4ó i겦.sjh-1)dֶwѨ7sj--Op@HÆ2** : )EI 蝪9\yQIaLV>tXƩ@%~}h NCZ QI"t1m\vflp9!(%XѵI17b2QQCϿ;5Kv`ǔPy4s+(@Uc ̰k|fMCaOtx$D.sb*v~IYR]繘}e(2VHi,%}-~pߘU,eHC~ ǔ'HPjCBѺI+FesC@_HPDXRH@Dֽc DN ]걕_ymY+VGz_Jýk"haj0 avY+JwH$(ÛE4{Sj@ (֚.D;ǔɛ5ӑe(Y;疓ǥ@YZNOy/;ý/aW|‚ヨ89>o*~;V4][Ҵ\GRҠ"s{tj //ѣo+w"ܺ1?ү[*OH-V uY2/q͟[Q\0D^Hv–U 9#"yr=Z=0hRcj<5?gڮgv~w?!M!cGՇAV Xx\zv|g%m ETs6H40#ZޯE1 "q.w 9kУQij]HHJYKH!_G<\YEG]cP E]e: (dG:; x4#h-ZfV咢Dӄ,+fei@QڶC)a~, &UQa5W |I9 Q {CCEud6"xՖ, ͚պm{ǷagiK]VXmmIYXNcB%sԓ  Zj0>^9G0oV=>+ n\9b4xSq8c\WdlG?=f\Ѷpp8cnY;1UjN`} >ʹx )BRy#d|>7ji5J+]kkqg46 % B"GO*ϡ6(J7]{K[P:8\t#b=HwlI"LbC_P1􀃒Muns%9(4-M|lF!p`g|Yϙx7QCiCVz+_Y/Xwtڸ7bn 17f]a1lCKLGcl>"B GH#*`Mu+$uhU")n19$+~쒸> 1Rޯ|Ѱ_8M0Ŧ%Xфx?ʟnyOuv/l'({惟Ϗ&z'Yi#Xx^N>>+Bg)D3[Gtu !jQQ1-H:XSgF Bgq]" !O)6:A瘋 y=aGAE]v?lB̯2*;@XõGW ǧgܺwz{̔?sZn\9,>d^׳ӌjRHԣ22'VA躞XFreC) (hW{$*^|)B3O 7?#Đ1;e VI)(jDǧ(QL#B5%yfS*Uhʸp\v@QXnݿCP6bUҊI=b:BǼIC`ٮ~Xѳ,le~+ǘF@(Q!Ӳ22Jc  yW JQK H§J1}=Ud:*>һ<$c*_RyZEH9(:"D.BGlFiUjTv'IFg})U.m'V~ƪo|iCw $,Ѫea ɢl̛6@@5X)^a(`&DR"@J(ǝ|HmXyb%9VB̛@FqjųOof޴78Qg߸-+~7_"_"9L5Ǵ+󕯾~M>WXX, *ר+Fue=7ʶ Ҹ00('.?Vs`/Ch8L}aoDyBԗ72cJk|9DX7-EabvъVMǨ2X3T 'z7f9ԃB Gq9Aw$4kPRIy /cSB*:~bdipM@kD 4(ڞ|dO3]g6uEx\Z6&L'c&!@v!V X[2 hX.;͜真-r@0i GW1VVj3gnhqźH1Ҭ[֫I=#fX7 WLq͹wrʓ7|`}| {O4YwԶ`oFg.5ʲ72*Yr0ɮ~8RQ(YI._)0f&;5:ORx'|RXmq'`$G=($% ( t]`UV\Q)1R.؁l G)kփ q- cv X-XQ*FX,œqo̾)2y5}o|ɚ{イ BB)=8%Q$RhK Kb߁-$ƀ[g9? A}.VV>2 u#CcZCtqU-{ 1%oa)H)ΝSQ(A h]\B\8/ Z=<.%dZu[5_|j6k ;9/_f޽R#u͍kDuyWħBWtv\qkz^=9qdb`P[ߧ&r Gv]}hZ\9أcþQd|5SW~?8U[hn^;wnĵCˆhEɸxTxr"..}ܚB_~pfHvɏI$=B.:bDAjW?`b*II:EUq]Ӵ-Zkf{>ahPJq|||Gޱ7Y5 2tCآn0H1^5LB9OD:?_?$Zbx1VtNv5T Qwf! heqcnˊsc2t\rr~viU ap1p3LEeځ I˯EuG5#Teglx[I7, mɴ|0+F6 #ǜRF̃WΈ2&Si2C&*#;3s>1kATu PEm-.$>Ǵuo&XU, d^BQrFѴeAz`KH&k~cDB2f$Pۤ4:X)V ߺ?xֻT6wPd'.+W|@#:GuIhĘSԽ[<6C0V m.6:<,u6M bsCc|5Dңh Js,qCBA94f1;Dž^(3Iso:)4sy|[V P2MZG2-cJ4@R@EIE9IIvD0*XQ1`]Cn.wm]"UU2>gD@׶YypcF-]l7wEGbn4Dp>4 lM9{또F.=R Vtr㰬 s7."ܽ0{n/=cO{'}^@ƇS0U?͛U櫆q09ܫQa<5]q?"`lA2%AY޼r; [ڻkUJFe=9Z{_sQ)G[ûS͗TeTSJDs#}+je7Ň"GZm75/},wp&h1O"^z3IFmCoFKk>XEPhk͸?#2s:8/?w?i%"hQ ǭgVx 4? 9{2È{Cl m.-Wgtq`F٤h\@( BA RuBz桺XS5%ɌsΠV #[]dN+!pc#E'дQd:. 5n3+(/ |TXiޣm0UuvYB ?g~d4sjJYItmzբ9EX3= c5_?ECUfkX-F+ƣbY*;#16=ynܸiEHr͝Ǽ>bh@(V,$</v#*aZGLXk\te5v--uYz#2#q!]҄-I". !DL1BYDW1 @$tbx;%Tf–YTp)12'>B:SMegZ+#J?5}2_X;^NPUnga"( (+iED"b1P( PPQEH i 3scǪ:ǩ3iwqۡ9y>cFxPExo[.S,@ْ%DԬntf|W[Bkj\:%Хb2{"@XLIJQX߽MEֻL rLϩнABvy t^cS8z%LHTڬplؤBa2;Ѕ{<9($fL|`^`rPw(R 76Dq.N-Z@ JI3) s, ^ Ud[G@!~%*0)sfW&!g9O潎#9$sɈ"Sd&g&';(!Cg(B өb*Z8{L-6&s\ɼqX3F(AZh1Ɠy)>>u<`ロ?>Ф&A2F#vglgwݵJ#:Mqogݗ#d}\́ʯWOt\<nZcZ15'\OrE!Ds9y>%WNe( Oua+ ˫;ϕ/j05`qKYJTpKqQhT:4gͺǘ7)(9Gf*dhFMD bMZժN'ez yl=qYŘ %YnHbg)96,濫@1Jb%`zd#5BG"83 +\8! +C>%wA4yyor#I)L-`(JRaC@82zAnCP Rw;Zf8҅x,J!#H BrEHIsݣNJ2pyJ1,\9`i\u_W#\XE72ttw^޶hC A\ňi6 w4Hn"zz!3&D0Xxbu~9HNH[ ~E(#.G5΃oa:8|ѭ cT4"LCY8n]F -g֘ x µ[9*Sۚ߭5LAFEH"D"k ·D  m'PuRqL ɤ&:c4QtuHf9)(Rh!1,*H,<%X纟kO[d$P£dwI 0nɉ0tr TG ڠTHJ:!uZtCLX%i8GVa CWC V;lHIL)E߄tm1ZQ<㊑`.;."sXGj ,&e7 T+8o(3ܗ˖*x[,a7gtMbD2IlD4A%Y=WLnE7e#}鵓 UR`E]OsbØE<lGlum7[\keh)$)H:ƦZ ()lt(iILToH ܴl{uX=Y-\!49$:(wJ]I !S}uނ )|5)^p`;vF XP҃QZiV=lTq`f8VΚ2gRB>!͞CH6-+% yq̝;̼y#jVA0VA% inwUBkbZ*=  ʥ"U xaAR$%,Z)ZR)?XcXchc:^r8kX~F:EEi捎Pё&z $󆆨*J1:=9UrLM։ Y4.\t瑎Z)gkig-6g^Yd sI gm1htRq Yж`P$Zxw`cB"|ዸI֓ -%.h)ŒW"Ꙥ]CDYI4@ IiE[B*E*0vz\g,q{$Qޒ(d!KD40s(F+84-QAϯ\%^p'1'oME$+(!CX!KW *q( "Px)"*FD ʅG Wl#0uw]]ѿ+mnw@LRMDbʴkKTH|,]G㨂TxLqyTHCx) q5lmͷψD!JRQΝX)wcփC$EaGHYHPRay]wsWyZGO%yafK$ ֶPJ28 K6*2NJ;ː2!:Eqv̳b媜KWhe DHN HwEn۵@!9HIn>ɼh?=dX7[}G׎)@r:FXu c,qC\ Z#Z|b:@HTr5!R~9sY2o8hR픵btdhxCb9#:On8I5f`8q5Ȥǡv‘(ςDyhm? Ej,R`Ax$IB=wTܐK$(gH A͢  )6@đ/ptPBaWIbs |o/\8B GW:iXk ,ޡHZeދ1ubwsepra!OREMSϹzz/;oQ" E,f#'ynDzIXrv)6>Ϯ)f!D JV]('0WRAV1.KP*ki'NRb1B`])@< T.U* oي{vx=<1(2j Ui]:I%hgRT˒̀#Y2ub]،Hc/r8Nâ4d?TM/eݺ1V\?}8:ClŌOpA.;pjcOzMoo<)%Ȳo<S ՘n˜ J T69{._~ R[Zung5-`y$eM4sG'֚-/܏Rs%?e]gݺXmɲ/+8gImJBy"p@kV%ːڱ~b(Nx_JqEW0Чf7{ZyO(G,+*Մ9Pldsc~:]l/2].ω"LO9QJo<5kW~}m1=vۙՏMpҙJ1G1Y&xllg>ok{~,xƖ\\ΆEw&O$?+Z:uY?A9TXz(ͤ:*{6Rܑ`xg^OxߛS<UڍUgtk?/0u6@gn|j)1Fht,;2Y"y"CI$ +q;MGiu2P v}¹#4TѹeY0oq]ٳ5[Of>1lD?w@LQ4iŻ7OGO"$-ccSDYocrP534O%)99j*sF,&R~ ,ZKd>$"7Y!)'"{OY4gdtML#N$x2'Ҕ<RŁDYU/iAfTaqf*㡙D93""u8_ +P+ZHI :CiX޽Ppډ"n @z8H*T$u0^S[I-&;l?g7S,[?mjA/eMF08>Q R23[EkeR Pf^lNED(6rΡe!%R<l:-,aa'EtI4B#uNTCIIEFו/6.>u@'H`ĬY^Ų9Unj1h<`ȴX\ HD͔V{K) ,3HM$C,yH, '@Co9sNkoŋ8=R)K+`m[']|֭G?~ ZZG1?o1o~>1ca&"nZ's@-Kst1=5ro/&/fgm1o>MUs!h!V)juHS[tآ'I{?\|їh4Z_ǿNtǬ_G%,3ʒ%U~s ny!{-|s뭷9yy3g+djKfzw1`կz)'/cv{vE ;6 ,)XB vQovVJ8IFpR_h(!P@7,2[j2Sv;+|?iu?3H∶srPX#܁_)>^/FNĕ Jkz|jwmaq 1crLuAɨ*7<';^m\JX36`Yj%I}bͣTb㬎. @)asU*qu!KlzInr*1C5RLh!Qo J1վ2IcL;gq&&iejHXf=S$A)IT"c=GjJP+#r'qN$Bc qxHS.%nlIӐyfuZ68#W)S4º33Cf=:.x/ LIE袥YR"\s<#|w-ڋ}PBSQ.c!Zι@{ID%c :)1{j`;o|ecz}  Yg1ԺUduxaH< ` Pk{Ycr(DiWe)j=LMWZgN u!#. ^g:"aQ>GXCFz&n[5(Yk-.oٰ B\Ѓ1w5d@0yUAv^5qXjHEBHԀ["%8ءTi eI%Q$I^Yu YF^pd)g-Oy4C9묳w [7nw}{{g?L\mo;fO;?V}xO?~.k𑏼wN~N~yp)o7]\l'0 {?*{^U myϻez&' %cg|9>^v8cfj6nG~zo'׾0ne#qM0=v+So*6su|+?_wuz+IRv{Oy.*żEKyfCq o`<Üp IOS]7gGZ-[{4u'>yIzռdpƯk-[@js} ~z4Hq7wS2Ft>z/]H|'#xVp{G+nĻ|+s g槗} m ş'*Rre|弧-M,\^Θm 3,'tf juhӍaqY DvJ,{1QZiVYϺ)XVggnFlz ȻZZ>0:<`}2Ã}`R@s}=[Rϊ$8u1֨ʳHL glrr+ EO΄ꮫƠ'[x:ǭ ouV^|6ZBdxojPouݝ˹?;G{Y[ƪ`u.x |i$ hN?,maE#,gţ\vl DUcl:⟦%06Ez6+;& &yj9JBP+ӨƢbUkA@K=˔)LQ*-$QkADB*Lnb֊F=pT$i6U+T*%09U2:w8I)rcuEK#TeFhwRV<,s 3<Џ ? 4EiJS&ChTduB5[\HQ*LHpTP_f4 oGA0y {whÒ\J:>҉hqyF$$u ^KtLyDdhy')ʭ. K, o< XH ĘYx[8sh۰P e Qv Epz%ZQ$e!܇G3Osrc1֢(t/*ɕmbV/=2asclT!TDfƒ=$Cw ) 9\^P#AʞǽXؘvW5cE> l'>x#j뮻8's/No}+89묳x_ϢEx&-Gu9rq۴ :/W̟7cx/xsks ' dttK~t.\s G}49ַ[n%˗/8uO~\{˿ `.ɹ|{=$Ipw׽J¡r0?jV^ϢEyOq=<{x;AR樣+Vpgp]_\ve\w}̛7_W%2PJ|szIpg=_# [q${=kojHWS_ȱ>uGsI'aaSNGWyg[x[BN; Z]g}/~lǩT*\}|/3:o{Xvv^W2o<6_yЇN{<.+r)(RS?³ڍᅮߟ]w݁իgbhq[hfgYNJR#j2oC(B.Ec6Su_v&VKL6dYN^t9L(Ynpv'%4Il1ֲ¹T+%l>Q7ZBw `Ŝ p|qy?&q=]'3O' ]ŁBj} l̩&!^瞰F |b =4Sze@u?Nz>Is J9H"Mi-儾jiLgg*ju5cӨRJ$9J*2+#cpaCœq) Js-ok=ޥUZl&l5+?mK̔ #S0kW&rБ c,^غIJ$Mn f<7)/DEĥJD"LhWPXcLm7v4QRgJRWR)I3$A͍;ϢsYh5y3gRQN;t 0l618L!Tpmr $8z Xxvae FR`^ R!$ۺ^E}, Bh&Yǐ1\h:fJW^| GU;T3+z)QVX<}cM`QRIR#a3_tϔ2L`$15{׭%A htZ❠O(OMMn9?c=_r&''oe]Xf Nh~ӟrW?J~ǵ^s ^z)r W]u{.;ve˖j*~_sEqUW}Vg_N ox_wMkΜ9| _k_ַxs׾5>qsEn%wuIpg s|c+9Ge]W_M7 s SS 裏R.{x7 ~l|S / .஻>{2,X~~ǻ..,Y|~栃7 7x#?OH]wݕ￟[o;l~u]7aƮʋ^"~0|8 >Op5װn:gO} . /ݗs/⸥9RJS./|wk{2ģDlPg֭3<>A.B8N:$^zjsWpꩧ{8쳙?>Gy$x+8餓w}w]9<@_?πRp b3sfW0LsC Eaf:)2Aӝg]|)J?U!i-N3,d)Uٙ9Xp.R(0_k t!sK>qMq9OB7\J0v//jfB !PBEL#ƍU̯%TT4 h9fAVYRܱzsbaMY(ƋЊYp EV:KyS-ʥ~x3H_oiۤJW[}*捒$NǓf)ZKT+e$qT,H;)VF05 m14t%b79QgJL֧h)cj*fuJIX`{֡Ea=Au*Q2," @HYs{˽/3MIK(m:%Y67A@>$Ӌ#'^ڢ߂ioIQyT3`ùucS,MfbkؤEq&}U*p1nbu$x'\\:Q('$T5R,úy6Y z*5C(!JUl֢or%nnh*rIDAT0~i;O=uZ+WK>6Kr;c=vml\yYnfŞ{ɵ^_r~{N>d/_{^va6|s#^q'h?|8ꨣ6zvo.{/sw9: wO~O}Sx\,Ycd㓽A͛{?LO73gSSS,٬3:xjpN7|;gjj{キ9Nj_bzl>NDvśaM{~x)̟?^e]|gs߽WsG`>`ϞCOOwuq]*]lC9jI%H.!TJHEE*R% `trL'E ~msݺD]']Mڍ=O)fh/Xnٚ 䥈Hgt8g%vP*=u!iqs4CE&x|6 #Bz+AEI18yf -f? _QXzS<_`R"VXhcc,G~6Y!ivrJҤR0Y`Npǥ ƉfrNluR`rC#Иg"ej2jl4i[H-Zܢfdd8 JBftdJ)j315\o=S VGs W$h%iv:"FMա+DHGTJPIJt ,2"6Yc%uo:-R ZLF(z =&}UK%H#E[/0FPo&X+9~ӧ%“T!HZ>Gh(iޓ{p6:C8er2KV7BHI)Z#Rt2Cn.)*BɂIEHjf,8ZC$BW/:UB{a Z"$&PZxp.I[<)Ŕ=8gCu{HyB >M^0 sQmȴc4$-{ddve[ JEe p ;pCB!SMc](%ѷ4A&o)JEH6pZ{קpѻ&iN5Q% f7d !Pxd16qdx_\wYKE#U XzBp7D2 &f p4<`W~xh<%{Yϲc*J1(ڹ!Eo] }|j'u,K N:GGjC#yD@yLٺjm@f~_rgcSO@~UW[r7>{WSN'<vox~o?uc~gp2::ڻucl֮]s'wy'o|#Yp!klOn;>pꩧ}6یQ>3<<̣>JRy6_|Ncwg~+^x!9t~k&''99餓gѢE|,XGyw^Z.\/я~)Fpsrmќ)ʙ3 ˲N_"˗/O5}Syt70yd rsD)$ȫ,yQn:rEpg?4 >ԏ|ipo砃3N`]vٰZ{W^ɱ_rm<ڦ^Yυopz3<~VX&]wݕW<#~;?A~s_.\_3)?!QcC(U|lU'7dt,8D h_=Ax/8r] Al=K62BЕ-Čbx\撙1\T iE_VXB`ldg! ^hVru+] 4oKz8&x cPa&D:Veo>4s.bbb yK1&LO6)WKR乥ZQ$d&d&cΙb5qH¹THGfZ(љnOjLי73GΑ8<Ά[e=1VCSo$%Hj 8p ILTɭŤTR :iC;&)vƲQ̲E SNt,Cw$j" 4,ϙnh,^<ㅰDQ!GW8cM;dPQhA/&%< :^M@yw>tiAҞG$,,sn%Jື!C A;78 ʓrY仁A,AT33^n+"a%(RygJn./iW87xWC ^\ty]Yñe8þ18oc,| ?c)Jݤ"C'q.8綇6(K"ߡ=F3;cyUe:b Qtŵڝw%nEjt@,#Hݝx* C)$J%# F}dF:팣*2\ЌCEܱyN4lٜﭘUVj5 qre383馛u]);gyL?ysYzZyOҥK?TO=C✯\%Q*89%oG? K.5y gߎe}axxwwqpq̗%>e/x x_u:imV/ce-䕯|%sϼy (KO'pQO|m{o;89&/|wqt:K8r!/}N;>W|[c=(x~3$??8S_'rNʳ޽'r!y?i/ssޘ;Cbh}ݗRJ?=NgXjiLMNvQ*s=w`tP~_կ7 5Z+o{ԧ>lV,_7M>^ O~QN:$n,XkrsxTUv[4-{os#Csdhʠ;YXo餡U<">lec٢R-\KuIQo0R-'TʥXBɍz9Yzҹg1axuAM Zl6\l#+ b !. +:+FὧV)~bzbQBP+(m왭GVf< {ZibX;#X1P&zARv@3c kUWǙ ř:G1EkM)j2RK:>Z'&i6 c( ǔ9FTJ}}5*V+R+0PWaE6i$2bV#Jb#‰!"T<|%N /a1ik(#Fcxp!IZ% r"))iE^zN ֭F'$i\_(Uq2iup×㰰(. 7<8!% `RiZ2kDc)GN$R k =s!< /Y股 IuPBi2%8eh "kD@ N;S8CKY%B[#a6ɊM/6v%`m16yvwn*e%QqÄDxΐH'\Ƙp^ZL4qF|1D1xڴ&}hOZ( ]Gצ"zoSbBx5YE>_~F[e`;ƮQĉI: ʄЕʓ cr4:,$ӤIT!e2r:/Zs9c$\7 篚#-P8^1 p{rM+OKq#BENE{&p>u\ꇘO1H/~ ֍Zկ^Ǿf? {^aɒpo~kxswO?{8s{7K;9sFgWsY_g}z[lk?g>s.&SގO?nxի㢋.^oַ+mW]E߇:oo].9RJFy{ejuk^s]+~_qAc^u S5/+TJ8g=܉-_f*v߉W~#̙3]wWozb,|sqbTqs5Is~rѯYE;lϭ79^›=׽swo|6 ,K-.{ Xrо;rapCes_5qn_^~83wC_? WISke˖qc罘O|sGn;;w7}oRK7rꩧ_?M("TD$#PX&`q>;n=<۟pv4,% ߧ3N1ք.]0J+p!d>ƿTɎ;ֻ,$F, :ϽޯDYCE0m09Sȍ x2\izE+͞څ K PZBi~l4fXg2a P,EIbB(>t !0i3Ǡ @Y:@*4g/ ۓA3H^.Ŧe fσJƅ2[ ={z0C~tjIS~ʯSq}?RTcET{ZA5+ӖÙ8%K1Ҙj00GGhFYFE C|!Y*PjCCNg:/ A-H3wjZ֮gp)}3hX?y4m$" yfG)PN;@GddP5kd֠'hRRTڬvh\ CT}(]fdP_jRZ I{ B_IFZ':iFcY ҴRav88%_ !,B0Mti)96R8ڹ_߭R)shǎQJaBzc;$0U8kO 9Q!()𑤕y"$ZŭDp+·ST/8+ܺ A J`|# wt8(OYl&?ˎNF)ǃ (G/Sx{[?2 xk|qT!ևM&Opw-m 9tawm>-GUJH!dX >]7l4qҙXoFG%Jrʃ[M/.~[rEkBa4[+H[ mȢzt 9@ ĉ|-x.8`lCK XͰy2D6%Ke8[՚ (tɲA`>s&3I a ʰ^19V#j'&Qaq$fh_mF$ngXf ##sah;߯_w;+V,[N[Z;cժU̟m{VTq6,UȷH;Uh]W @@BޖbɌl;HPRQ)iU+F"FGנ#KZLQюkmkMp/5y1X+ټ V(֍ՙja|'Dk* C5,kβhʿ%lXs{Ǩ,r3*\q-F`\DYݙo|l?088V[mw$Y{=l9\MکƓŊ#<Z-&&<|L)5!d/%ߒ#؍VnIɱve,[N}V;L=⽧IR$AO,͊~<8Al"Yܧ]{l' Hc{ HkQq\|6 'uğy D ,C PEM4xW܄M^]K唒!IYv xURM!9Ve*օF0%JfHK'&/TyUcؐS1s 'IN0IƠR19B86 wZO$Eo#t?!V7q/Da R?QQ$8Of4%z16eTc20ĥ8ٰMdY$I1$c y J%AŁm+R*cE I㔒 8NQo͖,lf-ZKT.F'|PYg+T*w4%sQ.eDED(tZU,˚\1ٜZK;`֏E|ڕ*ur%B@Ii" b (E J115E9R"D#CGRSN J"LP^kC-$ 1Rwժ۝fݦu5CHZoy9s1yV"/Wё;l忺 R=%CEer5ɉj( RLIsTb 炟Agݹws LXJ"%*bcLߗlAeAx=(ox14m&w'"9~`%DE8w.?u;n 7b'p[Eol4:}1[/1>ʵZXJkt4lM7T+i!J^_0xvCn-D:™qeA'4 F(_ 댞/ ''W:T#mH)(%q!mJqJR rpj4 A1 fksq B 2195$f`I)a`/ x}Uik:,$f̙39ժT*ej RJQd,Cࠗ(+(E1:9现p(C}tҔ8X8o%1nVI1't2LO5֣PD+6ΔPh bWP, դJ$ҭ$Zll2$Sզ?`h%#)K `a`Μ("Z*kS;"|\b}p*J N R17|&R\3iI9<;:}2yN_Vۜ^ʇY{-E[JW(ETH0>e0Fx4OD>x\n\wżW`Ѣ_K;SHs?w_3+~r7TAp?Tf>*Q)33?A>'sоs܇? ^wdi=\~ ƚ ٚd9׎15 Ͳ|/ 1zOV3;J *  %QI򔝘ǒ2d zhn,c e'91$FJ4ZmƧY]uΑD?E!UɆOz,JJ*IL%UX0wC$I봒2IݍЭ_ӻ<<64]t1G8"3ǠTF<ނ "O4ϭf90{Fwtl1L厵fnɥ"7p@FӔEfS@Ľu)`n5CDi'QH@UIWcb*ZI) jBɠCƚE$1djnt@'Xk{&(%i6tTׇ)9Of`?8\)a$P+lXkhu4[m )%/ylq9[v8q38wxYr%sڣ9XzK|%ǡwF֬^G8k??Qn|WL7Rvi[~ߒ6'9-?-n{p ({.'|:?OOO۲stKk&&1'9w D[n3?y*w,79c93^:~ϮN8)uQ\X`RnO|//|}xϡ){.\>9n6N=T*f.K// 1Yz5IӔOgт!V>p޵Vlp˙d||O|;ᓟK󞵴:iY]Of4LG8=A9!JI`KUBw(1QOr>qJ*̓7* B] 6I3_zOt.ݟɵRZ(IV%tm"pWe%rILc,]v}g{[tMԡ;R"H^ݞk>ј4CEz1 v#UK2B'P+A9 Nm_RD#)u8R*;$frEuncHmV:ʱ#V ֥.vD^b|̢"ж6()54w"ъ$4Cj.J` (=΁.@HlY #@q6ӁRRF\쒄ۇAkCoxHd1@)S,NCa |1K$!U3EfdpČ,µ$qBy!2x1]V.t\qh/Z1,9)jqj♻.40#cM 8':cy Q00]Y PJ^M@ Å@8/u1pfF)6 P $RIJجfp%$nN'+p2Bj2ZKJI DsBFبD71K6ߑ-]1$YkzkXkdT"JH /THyF"10BfN9gp5po`]wehh'}wwܹs?1s=j5.b֜144u]ǭ[fdBXq7r9\s 1gqs6ާmR !Gy$If?`ժU|jϯk^BJ^HkI=K.W0.^㬳΢\.sE111EY^~z4 . sk/^rꩧ_rL|u{g Rw+;}aVz4Mo~^x,]-k馛8SXt)wqysrɧpec.駟mwz.^)2osӍ&I{wM[o5?8/;޵#MwrWp5055|>k9̯s__̳=_GvR.ıGr=pם?e˖ _g}袋8'rR8sz}뗜r288Ȝ9lrse~w}|3 n-yfrrWUwqq1}۞?0sя~ȮM7;N>}N| \r%Lpܿ} YReqz!֯_76J?bN=~{ z`OBM)cvJ"DppWT -yn7?kB"2ۀQ?:#Dp zyqfy| .A1ɫ ~sau /ބX(ǍA3ZD824yp(RaAFx"V-?4&oW\BEntja=Jf^(ȥXyNll .T5h~3TwZݚWG?s.fhx>j?I)!J"$"I)\IX瘞nCѤljiLLMQo6X?6tTqnd&sR dI@wdYNTZAxAb)()&fucML992V^dP?^dARfV#k6h7r֯Ӛ@z%fO DF'=ORK5%:R(ڇʱg/;8)ʬ+vPPr0``uUk, 1 HNa!LΝ+fF]~؝驮z[O{9x}u$y":~Kq.ܪCLlvaYqröB_i؀iH7f웙i !c",#K`h3uBk# X= y@kemR3iaZqsVJhK bQºfaЉhA$>7egbX&[FqTNh'c۟Ms ^Dc:aabaۚV= [/ΠOܭqhpMD IDQ* +dZ*цm-Pܡ/zǾN#/ܤ- zұ0ј7(6 0MD˖C4doLXz+57~pV?dYjןĆX˅$S7UPxl}͈5+ pK1E 21$/Nw3$M z*LXؒECAt.nbb{QkͣC(z h-F 3VF EKbUX2[R1, +O? &w^:wLii)GUVx<FM=1c>cժU;J&L9C4-(ׯӟRUUCjj*<,]Iljs=5 Mܹ3O>$׌f„ Ȳ8M7D,cРAD"~G^}Uĉ9|~f͚1x`t] =ݻ7U|||<d<Ν;s뭷2k,0~6 X2`˖ |Ջ뮻2={6/"㡇ٳg1G09眃dgg3h z!ɡiӦz=zcһwo-[Ʋeq8,&L@߾}ꫯGK|޼y{3Zf̘AJﺎضH4FNNt e˖ѲeK x+k֭+z:\N0dK3<<쳍aݺu<|'ߋ<.\?멮YvV3`ȑ̘1/G 6mڰf ՛4m493{yN /X &_ &9%ͻ:l>xjkYx1/`ĉL8h4Juu5={}r-m;Ì3ݻ79994k֌SN.\HYz5͙gLiE91CB?ğа,[#%VPQYC hw 7/ "I"j9DӍT7 *lu!", =N609RD GlXIu AeQf7X3%-.'јfNӁtskbMhmpEm0LqyQZ]GUmCJ6Humʚ啵T 6 G F|;Nĉw\(Ưjͤ:̾cz"eݿD=X&,FuԴ,bIH30ש q;K.b"Vp6lzS@+$A2! lFv8T d{F(.Wj75Kъġ i+fӮ#|mK8xU[SpCŕWH9Pp¢*PXJ;B0f'rv`(#`cŴߴbL0 թH5,ԒDUm jNQ LQQT ]eY"RĢ(q0}^qERDI-jj$3 [OVq9ց(bDM-8<=NjCA2I? _% h1ǎ'"şPU[> 2Mu6TlNAUb떈$JhnZaaQ b`&ڬɉ8pJ`X/zZn0LEQM6,bc:)23-bb?H qbnI` eq $ldB8''+A4m-Áay80eK穠*"xkx.cT)ɡjA4R|zȒ6j)bn۸H1 2 ݈dQX(H4` atY\G/jh>g˖-lڴ6mзo_ 4h55Q~>x nJJJxYt)GytЁ &0d:ug}& zjN9$=]w+Vxbf̘ygؽ{w^f 03d͛GUU]vYϲo>^}u23ywBL6@ ڵ+ k()FQQX UU9vK `a\.ݻӷo_`GcDvv6GTB^prGRRRXj555̘108|07|x;##=z7$ܹs9)**4Mc,] cѣG07x#m۶mF"BJJ0`ݺv"rJښ&iIsDfh(BȒC`TU""8{^'ކU0h6Dm8~dZ&,FS ^:` `] l?Hq^7 EDcQk9!0MdIHq5nP4J$ Pj]XqSyܿep"NRgK IX@شFti("$pr⒐;`SӜfZ4r-0(䰙qq"NS70Fh?c[nLw3). dԻ(/a%;a~k40-޿a㘂mpl $I䥺6@M@d :j!}DQd[A?HS_"*D|} 'CEd3HuESP-3ީ'|2ݺuرc,_6mt:ټy~rN;d IJJ"PPPq瞣g}Mqt1qƿ3qбcG^/m۶eҤIt:ٷK|wM0dƌ3 ^NrO~2dH.R>Sz!b'˫ʢ*zw}Lj#xG <\.gu'Oȑ#iӆ[gK>=xŧHOOgx܌}_~9`08ϝ:u`ٜ~TTTЧO_֮,~?GK.1<38N~>SN=TFرcu=g{ikTTTЯ_?~Z ǃ) 8(//')).]sϱm6&MĐ!c,^ď7t>|UU)CZjŻO_eBZĸI[hVGn8zP>t[( yT[ LI m* 1`_{%۝V\R11!9}HW5裏FEE'ONnn ?(vbҤISgAYYTTTpup-ݻꪫիcǎcǎ# Md \p߿QF9èQ!%%x 1ݻS] ̺uǎ˥^Jv={6z+]wK.osR[[ˑ#G:t({|j ;?~<7tg&%%}1f̘FlcǎqUWFiڴ)mڴa̘16pꩧq\8N~GΝ9t/W x'СG婧bժU|'l޼m۶_rYgqmq)PYY9ZA=شik׮eذatؑcǎ/r2vXf]1#F~z6m]ieSҤI=J.]x9Xd [@RCӾ}{qn6|AFәg-܂sǎ'|D8̰ax())|ɣ>J8p &Lulݺ[n>#GұSw ١C>}:UUU{\r+vmdgg*ex?~<8Nvرc/(,<–m;C/suѦMb&{fÆ <̙ 泳l;W; kyW8|0#G 0%.Yi&EeU>'?8;[PԑX?7B^~߿3\jR qRc$jlh>SU AQg a8%K8]+'D'gnZ"49Ŀ {' |2c-ʉ"_ aƍ~GZ_hasį $jD*6wjR\R,Sl@&* Gq٤=ݰOӉω@!`ZIbI~p8E>t]XDCAR djȲL(ꪂfdp8w6tEEz>nQSS5$bYb6ps$E@(eZ4IIŲ@U|n7` r8Fb6xDÚ-M!(B8#pTbZ ŒmpQ%ٟhN`C7IIKB+\0OKvKYXDۍá`Yebe˩Ɓ/%nYA?t^)&X6L#n! 69fƋȊ Jvou.eK醘a `K*گ):ch0Le^DY`/fn2.I z l[{D[ǰ`EۤU=#o !aXq"63  F|g˲=,LϺ V`:; ,{K)%Jf3 K@2 I$ a3A7,tܢIfd4,\";%ſ〰vx.l+Vȑ"^{LBYYiiiL>{` ~MSa,\N;}_}cRWWGzz:i2g}ցh |wG3g/2L>Sjjj?Ool#LۍsΔz駍t5;^z^}u2C^ˬO_#%%`0Hzz:/2ᗟϹ#G$݆ [L>J$IBU|j p-oAvu]Ǹ{`ɒy7o5550g>N9RSS1dd1{3p0n8JJʹou$jjjy,X yw2|IMUzYPXb-eQYYIjj*6c=ƭ%,JKyꩩLTB$+q?ہ(x.tMPQP(D,t:pX,mI"Et> #8T HhF]8KuPTܪ~p6hQ :ՄCa,uAtCCu8\*n$"ɾ3,+Yg0L8ADdI"%5)a $4m %reXI׃iHihf,c* ,l+Ы7Xn3`Iz`h6&1. cZ ,c …i`Z& Je{ðcNQFLh:R܀Rغ#˂m.kh1EP$8s&ے#[V E%!XEBAl;, 11f) 0b&qZӴ%, M71sSD{ck þiͲ㭁6 a6o&"fb0=oeKB LcfeV^72$޷ Y8܈D^Ԉ}H|y%ښ} @#EhȔD3J(nwCH+!T~ò/xXbDaԃBeQRB)ġ&x2lˌ-_TQ/Gs֯%Z0mXֈAN|@DBBF 3A@0"DBň ; +^б,Զgas ]kdjj-$I"##j}32ҨMrF";33hb?.CYYdp8}'^KOO%   nm4^zqjAq55}~>BW^uzU6pŕ7z$I$''QQQŽLn&0{FfșD~h<7P]]냳RS-0`奧ypc5lQAM0nXd5ɤW^~Y s|AO&p!r:е(I>ZP[VFr𥦐6{,F|Q'T@U$1ihw(!Ȣj.+Rnklsn°kܓw׊_b="|.DII>APUhT}ZUXE+fxBxg`!7!RSC7@e 4ҡYQY䠦B'#Շ$GTGL̈NJ́k`'N/B7^Ca?g_ެ/|<+,BDe QaLM D#eqW7 do3z?5^|h YR4,Y'eYvA'Q_?."$\d@Ѭ' vhi9-zXj`IB{"._4ms_Ӟ;Nm ^&~F EBL,^G^͟=Dǂ]DqQ/?djB #YpǥwL$-6^ _rLH22c.ͨn|v~iOCuu-<-B܊##^|~*kcTUEhܡ}.f1h-ōY5MCe$Qm-m˲>-|F5yP5e!`*fBD+X EV>J KC b$tHq6fUq)MAZ"U(6M$E,hZ⊪bWm|}x L[Ʋ 5DLfh˲L"Υ Z&PXa, $ HRTiQTQC7, AmV ,QJ늢%x%8=K*R 4LZ;eTId0ʎfg$Ͳ8XS™LNn/EE ^ jJ65,-jυKGrzb2DԢ.LKY 4MYŠQiHF=Tcb\0DهqM`YΔ,TO"b8eYpcBVa\౿,<LmIAU,=ǐ2CUhF/k]t[4Şx =!v!U儴Cj՜K.Ljj2|**mwqR|kƍt^^.>r'1~ lٌ .Ϛ5Xf/Ӿ}3V-x|_+;SQUSO=Ï+ֿ/z ۘ3gIcy@P HCL* " b[w " H64AGu:$ ;^OEYBt$J(8';+p(ȪVҮ]kdeqZrF-eshݪ_}fͲп;®]d˧zvLӤ-f0%[-swR\\>A$+'&''JqYyݜ4nR|^Ͻ&kl4@K va9u@Um9nOFqYM()b (B bil3ESeOAmV/I0_ w"N߈S\VqK4>EYƈwt9s_=$!8+좀눊gWwOl{TL$iHNfLNĉoAWuaTϡ?`I*qU-9~FұǻyĸWB9MRd ]sQlox(6 oZ5@A4 ,MGvq`DOө7oVqRt܊ҽGi2f,qhw~CNoF~tټY>:fڃ_\Ī"5_KQlZ-2~Mqj&tj`1pG~i= w(\7k(b~a.!U`TIIl#EEUM鉱<h$r ,]~3Ӛ8{;FӞCS9Ե-`%tkQYHd)]͔4o҂=ҥM^[8h.:T7V9msVF~V-r1MH4B$%iqf jCȪLn:ڒޖ=ZbKrveHTw8P8JLY.$i$''ѭs_]Y%͟$Ȉӭһ`7O1rQQRK(Űt"TԖS\^LmIt??[DN)|;b= p9Ӊ]~;MR:PZUJQY1eeTVGChNLQZ^I ** (-/PZjBuQ"SRt ܓ ܙ!ȸd _IedX,R&boN~z{2Kivt7ݨJۉe6^q2>EF$$UAEtz Ut4 3nP*r1,<6;V84nxB5*iXtZe3Γ ` $%$EF;D[XHt KsqiAckŇ=o"60mC2Uͧ+")D bD 2˖C0-f润cQ=FGfb^/YӰs^1e2W&맼ee2m=*}C%T}2wk9Q2NNIa!mYUiy s~ӯKp极(; Cpg籿`zwXY0bQ0u,Cc*1w\DRY)>%xiAQA0 tdg2f Y/ Oz WZqy xsN:$R?VIԬS<5-GV{>j>a9I -eh] K8R 9S޽bJ!*a.[;;w?Ms-W/ 'Ell*n+ _̋"K~Bڦ3s~1ĢEދLTq Ӂ>,sנ뵌Brxmb=7qv^zq<$sL@U<{͍7_<2شqM}Apddp **v-׼Y:^nI>d,#x(?˜G1`PdU%+ML?~.sTV"=g_{ni*+F dǶ6>x9:Ctq5C3wuh(ȉIq8TTѣ.Ų\|q~c-~ﺖK/i2›}L6͘ X>wrW&mdE`lg"Iyعs5Q2žt-ij.df4rp:DTש pK)QM@oZD4b1 9O,ðHMXLL>g_#'DdY&lBamҺ͔w tKò߳Q9H%LM'۫BE -h` ̿i 'rxeۡ+жm[}}"?ÇgM%))BNX, /aCX چW_}6mpyQU#33] Fގ$HE#e<555|>(ec@eev .s&Ԇbx Qvrq8h%gЭ[7LKu]̟??@ pYuaheYA^/aiEUaV:.m#$y4MOBVAn:ekra.B6lO>ɜ9s%s:"t:YSh"BӇiovM7Pd 0bELٛ`y,5~-<h9sp-py1|pFڵkٸq#)T^kƴi8z(\r |z+gfҥ,[C#G.B"Çg5H8e㦛nk<\:r%f GIEcx=DHg2i$VZ_^~@Mxロ{sθ@ 㧭sh{&ɾ ",Fvt\NI q%0ID"BUdfCqegF1ME ֒$:]vLᥗ&pan***?>G殻 ?a9hFu F0B%<. 3bzu@34nˢ@]M3!/GGg%''9o~=CSڢk:4Ęd nWɺNLWA뽍[!p8߿EQՎ+kꦓ "IIIio(qF.lÕJĴ"_9ҹΓwlX?GRWWGee%o&Mbx4#))ꤹK&"j%8N>-b!pep8b^EiF`FIuQL ɓy'<쳴iӆ}2ͤWjIᛒ:nhL]]UU9ث)MVD0024(v֯-%_\ѣٸq#k׮qݝwOW_}.]0"yfW_͇~ BL6ok[oÊ6;)==ѣGF>J]vdG5¸q2e ?&L# -RB,Bu'aiQl&fq%vSO='Ln]T&MѣIiߓ-K 6;)x<jm u70u"f+WD}Q־k]=+k%DJvˣ;5Si 8nk={piX~[ȴo6@z󢬀b $grT3)9m!A݌x۹曹:t(6mBQyNx|DQG.tx(2cƗ4iΐ!}k[zgJ=O>B$A z}1۶;TiӦorQC=Ďi۶Ubh4k͠A2|nj,J'&?OI 6mKr 9R /Λocӧ;64Mct%.?ğlMP ʕ+e'xhdun]£܅eY50cp81io@]]nWӧO ر#Yy챻xۉb[3JЭ0VHZZ G]̐!CxM@g30 A3|!9s0L.x i.E_ΣM0d:GΝ;QU˗S^^ΠA|L8H$˜1cرch۷}vF֭[9s믩g >'¡CӼys{=_2 > Ʊ%tr*KDN&sAYhEEE}lܸ۷3awx 7fwZ$sM#( F5 {Ȱa}I&55?{{H(kS" x0M}/رr|]yq"/C7Lʪk1- K6Ϸ1㭬𯑹$5Cבe[|v%ɨ ]>d+Κ.N;N*Vl3AG¾ @˱>]dˁ MF}}bշ 䱥AN.AwxAY\)))0o<.A`ΝL6 ӱcG>l:Ľ)ڱ@) 0{l\.#??ݻws54=W_}uFK:t4M:8w}Gii)wf̛7VZ1W?rQ4`0HZZ[&??[k.n. ظq#9K.Ӷm[hժ`ssŀ P;gũg͞={x衇h׬ 71ͥYێD]]9^z)Ç'++BOΒ% 5k999{on) |G}tؑbJ~iFii0b=o; Xt)-[dЅB8T;7$p8ܹ3XEVy'Y|9| 70[rɤ$aߡ0"98t"gϞalS 2Q$B(-RYV @RR!1c XoVn7wf̙t֍{O4 m8z[?\֬Y+OBhтx rA @xFsno'Ǽyxټy3K7DNr0^TOgŊd$Q=F8%#JxcX E" ixnB( PUE?|+.rϟO~ضu+v8xW4i/UV߿>"4Smz>|8*ZxC+ 33C1m4V}?g̠iӦٓ3Da$L=sxx^ o!.7DdDӢd233iݺ5/"=w}7=cǎk.fΜIμJt͛98z(۷og޼yrдiS=|ԩSYhYYYܹy34%tڕk-038cV2IMM%''뮻O0_䭷b4Fڷoϖ-[ӟ'$??-[VrSPE'6]CJJ }ǂt}=<=-OuYFO眜:uڵkD"s=wyatkNr>Zs=@ @&M@EjQZ4ay\vem5\7|-Gx'CTR$ $ +!Cc|ᇜ{YO?~?$ÓO>#<®]hҤ Ge֬YC\۝?Fee%Jgݻw?@ cƌa޼y9r{C97c֭"`_ӻwo.ڗXAF_:Q {Xz5iemcVA-t-eh +2jPdbY-C (&ȶ1ⓓ())!##VZѺuk֭Σ]v3x`&NȔ)SxL:ƌСCzٷwy x^ƎݸKF6mh{wL>o Fٹs'*}]b}ݼձk.^z%VӧOwߛM67x^;_yf B^^VsϱqFRSS)((`Μ9L$''STTĔ)S83Xd \r gϦ Ʋe˸{غu+ӦMce{J>CIMMeҤI̞mw̞=K/DfO_'^߻w/ӧO /7x6mڰyfLd牫gJA_ʉ8iYTbx\N\NGk $CӐ_vw鿐Y dM޿˪5 ¡&:IA@q"V BUAT$Sx3n#I9(? .DG`zIv2&A@lڟrIM( *h L?NQF1c ֭[7ŋ7nVBE F_ÇG@)Gj9y5j | `mܸqt˲3f ڵ:h\:t`lܸɓ'sM71l0}>[WaZ4iƍcr5אĉҥ 锗or%yꩧ|r)l߾/ǺuxgF?kw^&NzpӮ];nʻK׮]4hK.壏>ۗ#Fݻ1 {:o5];wgEL<v.~/KC!"NMӈD" LEoPĘάYXz5W^y%<]P(ܹsڵ+YYYL2cǎq]w1Svm[=wJ>}e&Y=ƀhٺ bL0zP]R Uo:@zz:UcW&XmKiӉzȑ#III0Pѫy'7n /믿k׮\.>ʢl2%&^y%ǎcȐ!8x ?|=ϿC9sЭ[77oԩS裏عs'SLf̝;sYg_&C2fz!lBFV;jy%sf$++"|I&N,}˄ ҥ $%4|M}QzŸqR&;w/ 3f`c LUN䚭Q(}jZg{ȲX|ݻyjLx8p {a "NMq?ѺΝwݻyg %MkNyy9-Z R~4֭[I4TMWRЀ LRD[rZZ,Z:˗н{w L0'x01b^z)O?4-ghZ*jsAnٖŸW^i45kҥKeL$Ffazj2X*Ci'dY& `k˲Mgr30Ֆ8%#hZEEk4=x }YN9&L^{7.a0 Yl/3p@N':GGSNlڴ3?oҾ}{ ƸqHNNgatR9^ _r& ?yn>ƏO~~>>8t/_NJJ 3gs1yzW3d_oAnnn#24;`߾}p _QFѿ+^/}eر}G۶m{=z4w޼Kdee1h >Z.]Jv6m3fht=q{7|,FɁ0 n: /σ8pq1fx8y衇8|^xoN~~>ƍ#++ |ybfbԩ5e]eYk޽o? 0p`/NV,[5]t?#?<Ǐ駟gϞjՊzXφ ԩSy)((o[&8C[ ]cy?~ɓYbছnK/4MnE0@/ Ӥ..A$Nˉ@5e̘e6gDz, $a-قhLCeƱ -` =Y_8DYL,ô4>i-AQdR|Lm,"%bբ:<!*O=s?"Ac"e Qg@8^_7vg`Zj1f222hٲ%dffR^FqŅT'WTQcXn6l`̘12~xx LH{>33TUUFrr2/&##&&\+u3>+VSOBKob1ڷoo$99IhѢp8Lyy9huֱuVƌ@&M( ڒf<3ܹN:2JKKYn>=zc!2^{m#n]]TՅIMMMҒtЌNm$ E4Z4LL?-9S+rssٳg-$I9߽xU-''~/;vPPP@Yu\ZnMaiM|KӍn(\xٕ|7~} gwJrr25556=) El-[Ɣ)SXf gfʔ)رt-=_笳J$.h޼yYZy jjjPNjAdA  %%b23m'x͛7Gu}^xUVѶm[\.HIV ߚFYY)<>KhF0RnGEVM4c7z"z! ӃAQTv9Ft/-Z05+2Ao0o<ڴiCr-;%OQ oXnN޽{zx93E+Lkȑ| TUARvELn~VX/& p_&MPx}:ϧO> Y8F9I& ?*7p[0,cV"t*4W.LwΣ$^&-swd.ke[_~9}ǏV7hݺ5M6&D$mQ=a!ܹsyG5=.:);R)++####\^{5LBII SLaʔ)7i62>|8cƌaԨQמy֭[G۶me9>effjiҤ UUU jBc&_~9|˲q:tI"Jay%aĹU}H7rj.D0e6v2W!X#X"n`Z"7 E#R Z"B1J,3ׯСCY@.t28 ZQQXl޼њ`ժ뢲l[xee%{aݺu 8 =cٷoFIjj*mڴi4Gh+ߟkKI]|`~i֯_O۶m$)1OmX&1?Z C4^/V'===5k)&HQ"5X1baӦ퉟dUdeeZy<"HB~yskO?eٲe׏+:|kjj}k.<ǎ$w0(訪iYo&I<3+#sϽY;2sı{ӍQ'֓ #//I/OfʕL8= KS2(8x;Ə?c=Ɯ9s0Mcǎzm>YovҴw&Mq}w_gM4՛ǫm޴#q$Ӳ0M?' `*QZ^IUu-2!*2XF4 P)R^Uˑrva"v8ߑr8ރ(+GǢeQ?UArɡ" $!*2I^7i>^^ab z"Nzԯ$QD$E!*HuW( p6D bӺO$Y_ʚ{ KY Vng_+w0ovz{aצռd/_%\\ٳ'z*^s9paÆF]nZ`ZUHW%S?믿4 OW^y޽{s15RM60½L9n Yl_|ۀv8;ͦhVÒ%K(,,$;;ێ!I[fL:sx7))IU䔮sԱ}t[.Bs6ǔezn)Zee%~Fss9X/L~(.;kһwoN] VkQQQڷ^￧"D"ڵ$#%ȂƌN3(uMY8{9]:˖-[ڵ+GKih"+EL`1A ypn. @k{nLoFFg̙3СCⵢ"ڴieYl۶-̙3ߧo߾Nf?CU8ρ8ԩ> 6гgO.֯_WMJOoU rgP.ζ IzbCMÈŧRq5+g׮]mۖ4vލ)//yk?6zMzZ &a+w#u/_9+E޽1M}b޽\wu'|5.B{9ѧj\Ğ)gt% 2g\=Bh,_xTQ/=ުϒ%KiG i&K ѥKL ƪU2osQ"ILD6{5-3d z-ZM͡("H1DDB@Dt-eAchQ#wbRKX~=ǎiӦ 0|Jl߮];dY&//޽{=餓ؾ};>ޞ %%%\pҧOrrr>|\%KжM7pӟBH˖-iu-4EN m66nH۶m[W[ΞݛO `֬ kkk2T"q1X|9ݺuk4L֯_,7$4ğ?ŋO)--Ev5k شiӯnNxy/SQY(LT#;Ж=' @SR jajVTS]]G4M*GƫZp NPq:.Ur"KNJtR%We8&Irb3L3!{"NĉeifCQPT]p&̑u~L6`j a$¯ ljIdEJAj*8C.50cX',׽eZx θ$*$")w8oɉw&ћ[toǚ0fJ~G3cUUodРA_?&ũ\٧~-$qS]]I'd/G9s&ۗ3sL}7s송7߰eRRR>|81Y`]tAe>swN$aС̙3&K/ksW잽?$ 2tP:tҥKisrSYy~Z',[ Enn.=z`ц7OX1b8… 5 ˲رc=z `ϙ33>Keɢ :ɓ'3w Yrf[JgѢEȲ_!{I石g:tadud34 C~(6p9dN5lFݙMѪ`n7]v80BU֬ M;|>Fɜz/hӜtg@SO=Yf%Jߏ( t ѣBHۆ?;#i%oMӦMIIIaȐ!D"kڵ+ӦM###,˓o$EyudYS䤷c$%%%䆮 >SOMӑ É[(AXDp80t`0B,!I"a 8DԹ'=K7n)ٽ{7yYY_qjN;4$Ibڴix^rss֭o^ z3y@A09;0Eѭ[7=J޽ٽ{782s(޽9sx>|8f|>FńraQMZ$I,_aÆQݴ ?6WZ$W;|Wr'sEQa5عs'^{-_5Of͚e;`U;B{ѤIҳY',YBZZW^y%Q`'YYYP3fkg0p3k,)E]{Gaa!~:\pWM6f8O?W_Mv,jޞܺ"Biii4W s <ė_~`p^|l [WRWWСC1syHKr-Zf ţy2~-a P%&M>qeq@+ҽ{w ~̙C>}rJtܨeŐeIDEUQ~jٔСyZ gZ3ZO>}&YYY3p@yN9<9uc;m34'}=z 0tPV\ɒ%K߿?Hs={b GII ,_~Azw'RAQ0m4BHjɬY8x vCeٲeر1WVcK? `Z` {ґK7DS% uuE$f is6 b $;;e˖!Cz石sN '̦Mh"͇~Hmm- Og޼y\Џ~{ 1ciruב·~˦MhӦ W\qNWaPS>Qɡ{k:0BY~!gu[ne͚5\pر~a '&ҳ|՛ۉy:h ֭[G֭3{Zn ̜9*:vHN8 J;hZ^x!7oI&,\iӆh4JYY w`{_TV2j(Xl'&rОk׎-[v뾂BvСCٰas̡_~{!,Yǵׯ(2k, 1b_Ν;iGϞ=IN9AIz+vEVVW\q3f~]Ð!CxL|6 +z8z0W .r1c ***ׯݻwgΜ9esyqL^^ X͗ 䴿wym۶5*]י3g`ݻӷo_:q8lْ={#/ЃvZٳٴiIII\~Hw}Cff&se;cYpEx[{,Zvڱ{~[&--sRUUŠAؿ?{ѯ_;1by{$~>owy;0tЄ˼{D ʺuhժ@.zlK3$m۲emƾ}ҥ W@D0X?? B^ YDc ,KMrQ4@xr_a`&Ҙ[+0$A2~ǯo&#l05m0^n%pEqsЎ9DT8x(9Y騪Bm (6e˩:i^~5Ft/?qn Ii[sԑ0,0cŌ`3~kNsLB8 vgE{L,݈砆w J~tޟ6" /@'-CRt=)ėٜ֟t˂#eTօqϿ.`q5nْNRmaV FQMԅbWO.ZdIM5!ZdQdո -3}KT+A5TEIJ,"N TTT㔓:$ Yɭq8۴SHOK#1&_f,s60LtוYMI{Ītӣ+AuTSt &' JvQZsC3%oxsF %3p$@(K`JJJ(Ȫ 5Y05GNldQ a& *2Z  #RFN`8=No(ڻ%e&FĄ$U DI̤րI2(`֧8iѣ/¬"&`! %RAdY [hU[t2UV.X]pPGTn)*- @XtJoy7/yĠ"C,$Guʀ!f;8NaChEQ,XFQ#a4"#j,1ED40L/sj)Ƽ|(3s>eֳ4f*tIXUAm!x-4 E᫄àJXصĤuFvyG^~MjjNyڵCUU7]VZчѧO 7KoС;2|H)ٲ?_uI'IϞ0 W }ۓMPVVB>5ʕkyy$ޠA5` C'Hѳg79CYn_N:N*m >wХK'F<%KӫWwbGs̡lҀiEyyqq# |jk9ȃYr s(,]QOH8_3d@ Ynkѕw1 }klw]_ce,[:KW'_PUUaO^inn%s9o_~7\'|ɾA~X~3W#/\ڵ>|g^}mjjѷoO׻ x8{t}(KVԳ~q5;iMSS+ǮhƗ_-3|nz ,`)t;W1vݑ{Lx2zb9H`,7h>v*J5nd; g177`b9WA"`_NII/t9|dYjW}qTL ԇeKnC5.^B-Jye)x ?[45rf^\p_XgcGSqYk@!]1u$-fzN2FTxvp]HР[*?4#[DwrX8Km}3pp(yXCr0 q]xpMSIfT'%`p0_E۠_O6B}c ,+fCm#H)1 IBt-`P YE XOA%ԾRH.m*Rz?6!c,^b"8G2cHeM&%JS{1*Pr9z?Az AA"' 8ftkYOB8~߁ =RpUoCesORPOVԲl04:?Uu064 p0 ɠi9$S)b$RJa<T7֎d2Y2,*ln"yݧYsR `gtC a@tU#O8LfvWzdw* 1q,mqBSbIdҙ ;܍t2'_\`(@(RLΝ Lbi0uLD !!MHt&*{jPlA 3u,FSUL.) "7q+W&ْ)(x,)P< !PU5ETNN#`~ړXb2\4Mْ "5v\urUA^!sPq<7 wCBA~y*ۗ˜."خP5_fGxW(q4\qn| \#L?SҺ-kHx?"M"?R}xs|g P̓kPDPQ5_(H)· ? R R:M pY5Z1u4 l{;Ȁ. -4JHECS8yw@j8v6_:A+Ct,#RESb$6J ,AтH)|-Ĝ$yEUÉ6DTfc|yTH;t2,OHWYH wıH%Hc6H(=_:t 3xf?.UM}Kmq8+s/z !b锅jkHa` 4RU'S.`nNG(w!+y+VR2LCǓED]:r]= <&Ix  3ͶmM<s,RSmjKɠx!յ>n9G<.]rQ5µhzv/S1;itdJbY`K]BZO%ƻX"EA55OKF6 Sd3MhfR50CEhf *.zZp ߄ɢ*tP?BH. BBȒ ej=XPT\?y J{AL">_ chnS{Ɗ~v  ~B:QchѐoL$ݪ믪*;WJiiiBq|Z郞mBA$&O?R=UW0 J:P04@@%+tAOLҨJ}}ch*!PAI7o:毧Dk몂M4|u_O>^ޗ>bꨊBlhmo97)%T,owBNnl[mVihjO)L@T\0Nv ~U #(%ɴe;tTJ$!s/JU4)~6?Vc6 TVVt}-$!wh C466R]]M{v<\k?(u[ʁBU/Yψa  Is^)jX.<޲ʿ;DJx5__rġ'߯ԛK汪"C7ڒ|]=$KT'ׅ~o]QQ)s **R(8(XR thC"1X$&c]%dl4âSâ Ӈ^E$M_ڰC@QU ;WAEnm H _# VR.!.FWxNL)]TRHP+(~$TEZGڨ"4Ʌ|Y'Ⱥ t##W8u9> 'TTU+*ax\_SO.]J)-o_p׳^Cӧ/e&}}noj9eE?GcNFu82:;n$>\r#/~^S欳SGأSزe p]72PʊY<ߜv)sDqq߬Oqq)%KdG1?1l`n~yh444PVVƟ  O_<>RĵQ;V-dzJ%ŰY<b)\f j$CH]Q5r]WZ("HGg2AO2Pq 2wLnqIܹ KNٰ囍H;i͸~囮D&4k7Q5)|_S45'SSpʘlnXjtc},`@,]n=jZUeDD"# * Eazth4lk$AyI1%lٲrL3@ֶP–&2ٟޤsU%AӠ(ݗT[ae%DCAEac]=̿ x*tM)Ozt`n\j4-[UZ]溆ݏA( 0p]0( uuutUUꫯiXzV9lV+%өi"57өp?B,ʿ\…777SUUc[~"5nI?okos(`P UEqEӶwC[~b†M*F @iDP__O.] S4LiHNhHhNcQ{I/]q\w<61 UKQWJ zG\ Am,Ab< b4hش͜=oaРA|' < g\EAy8D"kјLCRe7?p()۶u]V\I5Ǔ U[I455ѥK)3Yz#=֬Mk*̀2<ׯD1 2ocs)F($|ℓN:veU]dm@r@H4?Il層g*;m>TN 32:,Y9¿/*:2=jp =~һN:4ʒ%K8p_ZTOSߚ૵ Mk*)liIA=^ULk ])7[ԫ]hOfinOdmveu-#dljk*) Ե$X]Wu)4 U%a:EEEԵ&9Eo6]waPNS{˩mV^[8묳8xXooGU1Φ ]EJNB6a_)(ڤReBH\5< w3 L&K.;t͛m;<+qt{78 ^z x=gwn}-Z}هuo>6a]Y~=s!.B[[s ^z)k֬aڴ;%<`l6˓O>Gw8x뭷Xbr bx<F{}t8l?6\)ŲF<(jAΒb4zLPt"De<?"PT!vp@: -l<\4U$t PP_86(S7qO($v¦M12Yui'Q0]E%6<L@(W(C.ʖ-[8RYYs=AC 2=؃Z8\eż㎔rײxb̙N;ė_~ԩS8nvMgv !rۓaUR1?RJ2YMSrUZ~{?.}swLt-r޹F馛Xx1cW_}ѣGf*K s)Ji0@3YeS 5 CvhI˞Qӯde-Cih Jo]Vٲe =z`̝;-䡙32e +V 8|. ڵk2e w GqUUU~~y(ps衇pSv-2.C( gx:t(ƍd|לzr!<<\vٝ9n &B2㌑#Yp!-+ .dw7y]_sキǹ 8a!L2+W2zhN;͛E׿fc8_|Gqo-Z\@8O?cvg\x4&yGz̝;kr衇rGrweN;4kΝL7|;3I&J8٩fvk U2V T SO$t j:WT khDS$0Dȓߦi>- OP**`sx2I[,fm"I{k2:UIloZ^VHLi DUTtsmҩ,%EIݖFbFCM2*T++;k -, kT S7,/?_h!k֬ቹbY¦<}GKK \{vDnr?qUWѹs?mmmlܸ믿f/yW?~<w+V`'pwr=i&ƌq{CJr]9Z_~!Dۗ sϖ-A wB!j:w̴iX,/ϧ@>Bpc"V:p{w3PU &еkWMF6嫯/SǢr|ᇜs9yBK/0mW_3yՉ&>x^ ǺKL4"jʊhnnGt֍=z뭬hX!=Td^$ (B{99)UQ1oI)s0g")upgMx.Z.NsZOt#3&O̫~M7l-,bĉ4773}$ ֬Yĉ0sLv^~N: /0z.tfμngy)odxs3g4:u1sOrwO0e ۍw<_|ɓ'+WnH"dG5ķ 'ێa F>DZ(bD"euȃyxD(NN^DE74Hc;FQ$D<n" m#DQ4%$B(L5G{FeQ6!Ϡj]po)fJ,(H}C3H)H}T1LT*e8r-Aq#q.*K3gO?4\tEkM' b[p۶injB5lۡ]|&L` ,+^Z?0~x~iy睼_xb}ϧO>\}<quY1N4g}M6q-0gٰaÇ̜9P(5\C>G}2?ϓN?檫c=뮻:veƍG}}==˖-# 2qDjlRYɓYf #GN`̛ܹ7wޙqƱzj^}E>#ʸ馛xlyٲe r g=Lmm-vo<#8yW8p ]xs=yioogɒ%\}<,Z}ݗ38O>%K{1ay6oСC9sYkd(++?O>ᥗ^",w'x",XH6m̙gonf:$'a~x)0tmX̯lD! CK_|;MlxCUݼ MӈF;]_xTmۜ|ɜq$o2vXo?y}\#D"SO=ŗ_~!BY~=ow}7/"-Wg}62mڴ'ts̡:^z1bx &L?^{@ 8yn /@kk+#G䈣a]iXIӧ.^{-Ueeqۭ455qYg{#_砃'O?CgϞ[~k`0A[oM61az93fpA#<s7JKa6mPe˖qYgq}.\pZ<6s{,7poqDuᡇs=G5$g%3x6KX3+ ^xSN9za{a=?Ϋc=yMQ6mCK/P&qsacV>ζ1ԪRJ"ǵ(p_P90!]us PddAHW$B Gn#U-s# =|mX**5hjSZZ%L|-ivi'VXihh`̙̙3znvȃ>ȣ>ʖ-[?><<ض)'%\{NQ8쳹X~=sl^z| }QzM>3z!R/"FO;:u"LFmm-={  qm1}tON2dҥ[|8X"HgM67T&5< ˑd-u LJTYA*JH2bēqb8m- c:ٌnjljl$Ic6m+ox)7u*'N{ 4{'O7'W^aԨQy.+b(N)QM 4.U hUڄ A@H2D :´(odR9do" d;D;N&+]@PQAѰ=e[8 t4ꔒˆr,-AIi"E0+z(0ôZɴlBY"!2lgnX= @`=q--p$D ynn*QخQ֕>CʎXx ,3f`466`6n#<=CMM ?z+,^T* '?NIII~sg2~x/^ 7СC1cfun[,Ys=K/.={2e&\[^~e,տ>^z)^= 3hP?bƍcذ^ꫜr)̞=P(Ș1GZoxG8}H$p?=g omm-UU՜|8Ao?>c it8Ii?Cד!M$fxp]h$aPBR^YUw{ǵ]+oPFo7:E:v2tḇ;һ[mb$ om'iHJhw;Ųl2 R-  y`9٬EUW ]hkk4Mjkk ȪumlaÆpB/ |lC=UVK/1c >,o_|=D^zUV|Z>C=PMƙg3)`Z[[m{I(/)뮻A1{l/^?C=DCCsΥ'|S kۏ)S( wq^z)'pBޖqf͚s=裏CUU,X@KKKf^s5,]Yf`ϟ?3gdݺuhƬY3fd….8_mihkֱ De4h㰥kS،aƍ +ASU,;`=$͒likhO$ؼݻ D*Ne='NO߯DwJYƖ6b IZکon%䚄D !&d|% 6 dXDUml0A qSSYd ;Iף6*'_k:\r%tIL2'r?pM7o{sUWd"?W]uv_||g歷ޢYfj*ϟ̙3 ̚5zQF1n8.BG}Dmm-y⻪Sr2qD}֯_ϬYxgشn-EU .o￟Rz{on RoeCqw 9+93Xd ,& ob ?x_|Eo 0 x\|Ō3{H)y(++cҤIgƌ;/E5ϟ+%|#F`C[MqjSY42|pϟO }SSO=Ac:×_~I߾}9yG( Uxgygk]L6̍q64pa`/V=Ǿo*M9 Zt !t%Mr؜Ȓr%-4X9x~ּɎkh2ᷙucY7f{$ddټA9r$bp|E;#yl޼c)ZZZ89裏0aSLr!x,Z:.r4gÆ _)++ /Vёpr9pGG36*++ٰaC~vk9r$|0o <2 { 17tks0bZYvalsZt*#F`m]z6֒hOfOYWgXK6?̕W^ A2]\ Bג(JѠI4mA@:&LKp,`$"=I<6lZڨ 1Lx"E2"PlrHRH A4 md1baXI dHx^Xp N0%2&zt&IS@&E7\[[@q4J8V ttR'5SrAB˲0s;@swšB<gr73wa ֍͛7#`#kl`޼y~|g}?wF"%1ϣ*uuu|g<#gԔz?{SNqx {1f̘>_|A8f͚5c||nQSSC]]ŚAE=uI/tY5s]veKm-܆ >, F/ܷOnBMM {W]u;FJ>h>hĉ1 _U{&4_~69x_OO3}(x92[r@dn#qrd|^WH˲JT|uU(OZmS2d=V$MYȁ*{Ġ@gWv4i"1Ptxot(U*Hxh*=U\hMGѓOtpQT-ZL`qU-% {.TC BKS@r*bejQFJ )E>L ]Q&tѥ+"0rH{ҥK8#hmm?/橧?KKrgc1tPFz뮼 6 L&y|vbv"RSӍvLd]w?GfGoO$c駟x<Β%KH$,>VXY0aSNgy{;SRUUE"gM(*Ҝ7ӧիE Nʤq,E}RKH!f] 0aB*("ZdaY X @6"Pt=;yS!p?i{S4~5zGgG4Q3TU!|(BPWߊ봶2l)raf),T,ŕYBmheA,꓌H<)=:(_GA"\r `ڵ?X,Fee%H>qcH3錅" 8BK{hCmCG2544k E]4R8V@CBSsj02rH,N;nݺ>Qs7衇Jq; p'kۚQ9A(,\ƏOkk+uuu,Xp8_;ДPB0|p.|_~ٳ)//gٲewNv8CXx1{:ʚ5k}e]:u*3gK/O>>L:ٳg3vCTpGz`ܹ767I&TN9h0EAz_̀|lo7лs)6mp8Lss3 ׯXa_/믿rVXAWN;K/ĤI^u,G'5ދX%kp@l$$i24t&Zٴol`͆lROݖFZioMJB( %R 14] F ecC9 mQ2㪹8,&[Khh-q5bbj+ijŝ.$hqm8dd&M*\ шI8NiMsIein3_KScOp^sw̙39ꨣ(6j6(TUUQYYɽԩS2 jV:Q]]͘1cHy; ?Шi=z/fԩ<׏ݻs50uT^xQ-uYە2wϋlY݋t6oLyy9mKc֦o߾|\УKuO]1tU_{@~Nio٣ےh4JSS}C+Wo'P`ӦM^dP[[τ4 KBT_~e ~sEQ 1? C[˃}x?tB`jjOhkUuMs}pmm?<$P|"CPUД~v k,%EA<ºK( O _ⴥm\U%K7TL{N:McgRؙ$N:Z|)"+j|ߟA7Մ"=\'iʹrc Ɋ7x#hKaݺG۞srD8S3gu]șgٸqc)*..f]ww_䨣ʓ7vp 6_~Z'7`[.s9g@N?lU/3o#'e'$"`;tquxNY'.ҩ=D`.Zt\t|xCX4dXvXX8tۢ%FrXBQD0bAtˏJ sH$3^#SթCWPTa\U/TJ0M3G ( ˿b@Rv++ظq#{U$3i?pfϞ}z ;w.˗S|rjjjӧ/SN#gy&+:=B0tPN:b4_[nTWW3eNʬYի=zN2% йsgXh;#<k~ݶb "\:ZM׮]Yr%{PZ\ץE߶IŊ+;EEE466 SDZLC߯iBDQz)x &MD4vt޽{qF駟&0Ы'M%aYPOwgݺu41wOzwJKc#sa̘1ܹs;餓>}:O=xSJ*g,vۍ?+f~}?>'cY4ƨkj=y_{~[mq[H2XC{XC*6˦ZZcĭkP'Mݭ+=8{1JteD\t :"YeȐ!~`;UGѹs|2Պ+(2 ֮]KΝ޽;^{mޯԩ Fow F4eȑ444䟱V_r]áԩSyG9ӧ{lOD"FO? 8Ә4i^{-vNG}4> =K)-Iۥ݆M 4ٜ :wM|;ߏ8$kZ$,=I%)aShkoob}}v|cǎ`̘13 &pYgyog}x7n555(퓧wN0d\TWWӳg aժU}H)1c,^Uw駟N4SOw^z)ӟa]weD"X_:RX1ؘz+HI{!Z! +Bךּ.ڒHqEbxY`~DTQU\sQeE8wҖ“*g8nb!$rdY/Cy[.(`M8Ckk;+}$LHRJ";R4e]ƩiJ.R \y啜zꩄa  ۷oox߾}ms9]_O?:38޽{( s7뮻1 _ q֬YL< B}!ƍ㏧K.D"wV#FSOK.΀/5c 6męgG)ciogٳ9S KƕT/gy&guvz))--4MLӤwޜs9q=P\\L9Sڵ+ݺu`}sꫯ /˦=I&$Zޖe2.BnbbHeju4ps ⓽IO(hp$[,2@(~!]w]RΕoz̑7RJiUP*}{0%N͵Mhz& ץx\i#!7,D4I%jTQxFUkVG0G0egN1u`cqO&Fb*)&QE%iL4' qIh圚"4+5TvIjjҲ@qZFpӠE]X!/o_W|IvazMnw+1c;͌稣bժU6К&of;<***6lBn6e|vۮk/~M7m^mۜ{L:;yt֍P(/ /'dÆ TVv㮻gOgz뭄aR7tK/e7ulܸ?lܸ=z⋯ӧO?ؗΠ( kx'xgPU>+WҧOͿr2DsZ"g5f(Zg TO˖dm0 jYEθkdDN۶1cirW .RIEEEEE|'<\6=Cnݰm;+B~3`0Ȱa7nx o0MۏO?ݻsy1iҤZk%h455yÇgƌ{Nyyy(~TUUmGп[TTThl@ 9s8 \qr-\{ '@yyyYBN8w_*++)..'kرc9ׯ_>!sf̘1L4 .!&L@U5Unu֑d?~\Ha; (`Sc\'%{AϜfʍ,]-t]u- v[MQDTZ||3[ZTՎIf,ZbivuΚ5R?x|-m$`HN챃OFmhhgfء+ѐɆvg_gllhg~) s/7ЧK)5%$=Kʍ,z#.ev=׷ѯk9Ccf.};Ӟz܃.~fɗkh\kKЌ &NMk!Jd3)4]`;vv \DNUA]躁eQnDakڏZ.DRT6ӞgnhD#LOzXY"Q%BCS `??j_?.v-.a;)]:q衇2o<1SڣCRe(<9IƮ YnAa?OoNqf0V Ywau .SDr=؎nED5Eئ=C k 1cY" 2 +3΅5%~٠A?'ž}rS}=Lv)2Yt<(3qUaXΟRU;h ԵqǝBLhȑB o\PPĖUP(/WTz~6%{8RT(#sľ|c!38 W^;bxJkk;'rd;Ê[?C&^ ~q{'޻s]3Xv#wu7?'L,][*/45ʋilN U]X f*!TE z27ofS~/ O㇦ TEQ  ];SRbO4dH,PBs-9Mh%f]׿Xtj h̳Ϧ-p0T&æ x뭷8i4l3tNE¸KSkL&9묳l 8K "9xܗ:!m;G#!Z -؎CrBB?ӸT:CUy%$Siꛛ))RVē)Z)/)&#ҙ 81TEkuBUe[uYr%3gdԩxGmC#I0++5-?޲b¡ E]ce%EJ}S3eEx95"T-1s?t:WU+bq$ee~x` @0`Jgonlil4_O&ogWW?{7RLC]d-4Ueiy䑠QYVF0`zfink-'hTWV ,XvWwBTR @ E,+u4Mp4rՏ~r~3m*83Ŷl Ky|F!((-.B"r?f,a#/}]$ExY~ᨥupMQ0{_ DftEpSSIY6 $}*B3YDMN0ITYP %;c,$EIY(Y fs{]U2|)"F $'sR iYl%\iP$PlW^y%vC !el)3-N0КZTdx֢2"m;؞Ky(w8"!LM<f~MM40%92)%[ LM$`b)ۦ,7dcS $M}6먄%H^֯LR~^'!GK~6_;l0ʺ[~p\_hs.phC ( Ӏ?~341rٲem!C~P@[ 8XC xgK >i8`q41 (EC`<%t3; (/ ( ( ( ( (~?@P@P@P@P@P@P ( ( ( ( ( (__@P@P@P@P@P@B ( ( ( ( ( @P@P@P@P@P@P_j5IENDB`xyzservices-2025.4.0/provider_sources/000077500000000000000000000000001500266262400177425ustar00rootroot00000000000000xyzservices-2025.4.0/provider_sources/_compress_providers.py000066400000000000000000000145541500266262400244140ustar00rootroot00000000000000""" This script takes both provider sources stored in `provider_sources`, removes items which do not represent actual providers (metadata from leaflet-providers-parsed and templates from xyzservices-providers), combines them together and saves as a compressed JSON to data/providers.json. The compressed JSON is shipped with the package. """ import json import warnings from datetime import date import requests import xmltodict # list of providers known to be broken and should be marked as broken in the JSON # last update: 4 Feb 2024 BROKEN_PROVIDERS = [ "JusticeMap.income", "JusticeMap.americanIndian", "JusticeMap.asian", "JusticeMap.black", "JusticeMap.hispanic", "JusticeMap.multi", "JusticeMap.nonWhite", "JusticeMap.white", "JusticeMap.plurality", "NASAGIBS.ModisTerraChlorophyll", "HEREv3.trafficFlow", "Stadia.AlidadeSatellite", ] with open("./leaflet-providers-parsed.json") as f: leaflet = json.load(f) # remove meta data leaflet.pop("_meta", None) with open("./xyzservices-providers.json") as f: xyz = json.load(f) for provider in BROKEN_PROVIDERS: provider = provider.split(".") try: if len(provider) == 1: leaflet[provider[0]]["status"] = "broken" else: leaflet[provider[0]][provider[1]]["status"] = "broken" except: warnings.warn( f"Attempt to mark {provider} as broken failed. " "The provider does not exist in leaflet-providers JSON.", UserWarning, ) # update year def update_year(provider_or_tile): if "attribution" in provider_or_tile: provider_or_tile["attribution"] = provider_or_tile["attribution"].replace( "{year}", str(date.today().year) ) provider_or_tile["html_attribution"] = provider_or_tile[ "html_attribution" ].replace("{year}", str(date.today().year)) else: for tile in provider_or_tile.values(): update_year(tile) update_year(xyz) # combine both for key, _val in xyz.items(): if key in leaflet: if any( isinstance(i, dict) for i in leaflet[key].values() ): # for related group of bunch leaflet[key].update(xyz[key]) else: leaflet[key] = xyz[key] else: leaflet[key] = xyz[key] # Add IGN WMTS services (Tile images) ign_wmts_url = ( "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities" ) response = requests.get(ign_wmts_url) response_dict = xmltodict.parse(response.content) layers_list = response_dict["Capabilities"]["Contents"]["Layer"] # 556 layers wmts_layers_list = [] for i in range(len(layers_list)): layer = response_dict["Capabilities"]["Contents"]["Layer"][i] variant = layer.get("ows:Identifier") # Rename for better readability name = "" if "." not in variant: name = variant.lower().capitalize() else: name = variant.split(".")[0].lower().capitalize() for i in range(1, len(variant.split("."))): name = name + "_" + (variant.split(".")[i]).lower().capitalize() name = name.replace("-", "_") # Rename for better readability (Frequent cases) variant_to_name = { "CADASTRALPARCELS.PARCELLAIRE_EXPRESS": "parcels", "GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2": "plan", "ORTHOIMAGERY.ORTHOPHOTOS": "orthos" } if variant in variant_to_name: name = variant_to_name[variant] # Get layer style style = layer.get("Style") if isinstance(style, dict): style = style.get("ows:Identifier") elif isinstance(style, list): style = style[1].get("ows:Identifier") if len(style) > 1 else None else: style = "normal" # Resolution levels (pyramid) TileMatrixSet = layer["TileMatrixSetLink"]["TileMatrixSet"] # Zoom levels TileMatrixSetLimits = layer["TileMatrixSetLink"]["TileMatrixSetLimits"][ "TileMatrixLimits" ] min_zoom = int(TileMatrixSetLimits[0]["TileMatrix"]) max_zoom = int(TileMatrixSetLimits[-1]["TileMatrix"]) # Tile format output_format = layer.get("Format") # image/png... if output_format == "application/x-protobuf" or output_format == "image/x-bil;bits=32": continue # Layer extent bbox_lower_left = layer["ows:WGS84BoundingBox"][ "ows:LowerCorner" ] # given with lon/lat order bbox_upper_right = layer["ows:WGS84BoundingBox"][ "ows:UpperCorner" ] # given with lon/lat order lower_left_corner_lon, lower_left_corner_lat = bbox_lower_left.split( " " ) upper_right_corner_lon, upper_right_corner_lat = bbox_upper_right.split( " " ) bounds = [ [float(lower_left_corner_lat), float(lower_left_corner_lon)], [float(upper_right_corner_lat), float(upper_right_corner_lon)], ] wmts_layers_list.append("GeoportailFrance." + name) leaflet["GeoportailFrance"][name] = { "url": """https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}""", "html_attribution": """Geoportail France""", "attribution": "Geoportail France", "bounds": bounds, "min_zoom": min_zoom, "max_zoom": max_zoom, "format": output_format, "style": style, "variant": variant, "name": "GeoportailFrance." + name, "TileMatrixSet": TileMatrixSet, "apikey": "your_api_key_here", } # Handle broken providers possibly_broken_providers = [ "Ocsge_Constructions_2002", "Ocsge_Constructions_2014", "Orthoimagery_Orthophotos_Coast2000", "Ocsge_Couverture_2002", "Ocsge_Couverture_2014", "Ocsge_Usage_2002", "Ocsge_Usage_2014", "Pcrs_Lamb93", "Geographicalgridsystems_Planignv2_L93", "Cadastralparcels_Parcellaire_express_L93", "Hr_Orthoimagery_Orthophotos_L93", "Raster_zh_centrevdl", "Raster_zh_centrevdl_et_auvergnera", "Raster_zone_humide_ara_cvdl", "Raster_zone_humide_auvergnera", ] if name in possibly_broken_providers: leaflet["GeoportailFrance"][name]["status"] = "broken" with open("../xyzservices/data/providers.json", "w") as f: json.dump(leaflet, f, indent=4) xyzservices-2025.4.0/provider_sources/_parse_leaflet_providers.py000066400000000000000000000120071500266262400253560ustar00rootroot00000000000000""" IMPORTANT: core copied from: https://github.com/geopandas/contextily/blob/e0bb25741f9448c5b6b0e54d403b0d03d9244abd/scripts/parse_leaflet_providers.py ... Script to parse the tile providers defined by the leaflet-providers.js extension to Leaflet (https://github.com/leaflet-extras/leaflet-providers). It accesses the defined TileLayer.Providers objects through javascript using Selenium as JSON, and then processes this a fully specified javascript-independent dictionary and saves that final result as a JSON file. """ import datetime import json import os import tempfile import git import html2text import selenium.webdriver GIT_URL = "https://github.com/leaflet-extras/leaflet-providers.git" # ----------------------------------------------------------------------------- # Downloading and processing the json data def get_json_data(): with tempfile.TemporaryDirectory() as tmpdirname: repo = git.Repo.clone_from(GIT_URL, tmpdirname) commit_hexsha = repo.head.object.hexsha commit_message = repo.head.object.message index_path = "file://" + os.path.join(tmpdirname, "index.html") opts = selenium.webdriver.FirefoxOptions() opts.add_argument("--headless") driver = selenium.webdriver.Firefox(options=opts) driver.get(index_path) data = driver.execute_script( "return JSON.stringify(L.TileLayer.Provider.providers)" ) driver.close() data = json.loads(data) description = f"commit {commit_hexsha} ({commit_message.strip()})" return data, description def process_data(data): # extract attributions from raw data that later need to be substituted global ATTRIBUTIONS ATTRIBUTIONS = { "{attribution.OpenStreetMap}": data["OpenStreetMap"]["options"]["attribution"], "{attribution.Esri}": data["Esri"]["options"]["attribution"], } result = {} for provider in data: result[provider] = process_provider(data, provider) return result def process_provider(data, name="OpenStreetMap"): provider = data[name].copy() variants = provider.pop("variants", None) options = provider.pop("options") provider_keys = {**provider, **options} if variants is None: provider_keys["name"] = name provider_keys = pythonize_data(provider_keys) return provider_keys result = {} for variant in variants: var = variants[variant] if isinstance(var, str): variant_keys = {"variant": var} else: variant_keys = var.copy() variant_options = variant_keys.pop("options", {}) variant_keys = {**variant_keys, **variant_options} variant_keys = {**provider_keys, **variant_keys} variant_keys["name"] = f"{name}.{variant}" variant_keys = pythonize_data(variant_keys) result[variant] = variant_keys return result def pythonize_data(data): """ Clean-up the javascript based dictionary: - rename mixedCase keys - substitute the attribution placeholders - convert html attribution to plain text """ rename_keys = {"maxZoom": "max_zoom", "minZoom": "min_zoom"} attributions = ATTRIBUTIONS items = data.items() new_data = [] for key, value in items: if key == "attribution": if "{attribution." in value: for placeholder, attr in attributions.items(): if placeholder in value: value = value.replace(placeholder, attr) if "{attribution." not in value: # replaced last attribution break else: raise ValueError(f"Attribution not known: {value}") new_data.append(("html_attribution", value)) # convert html text to plain text converter = html2text.HTML2Text(bodywidth=1000) converter.ignore_links = True value = converter.handle(value).strip() elif key in rename_keys: key = rename_keys[key] elif key == "url" and any(k in value for k in rename_keys): # NASAGIBS providers have {maxZoom} in the url for old, new in rename_keys.items(): value = value.replace("{" + old + "}", "{" + new + "}") new_data.append((key, value)) return dict(new_data) if __name__ == "__main__": data, description = get_json_data() with open("./leaflet-providers-raw.json", "w") as f: json.dump(data, f) result = process_data(data) with open("./leaflet-providers-parsed.json", "w") as f: result["_meta"] = { "description": ( "JSON representation of the leaflet providers defined by the " "leaflet-providers.js extension to Leaflet " "(https://github.com/leaflet-extras/leaflet-providers)" ), "date_of_creation": datetime.datetime.today().strftime("%Y-%m-%d"), "commit": description, } json.dump(result, f, indent=4) xyzservices-2025.4.0/provider_sources/leaflet-providers-parsed.json000066400000000000000000004647771500266262400255710ustar00rootroot00000000000000{ "OpenStreetMap": { "Mapnik": { "url": "https://tile.openstreetmap.org/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik" }, "DE": { "url": "https://tile.openstreetmap.de/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "name": "OpenStreetMap.DE" }, "CH": { "url": "https://tile.osm.ch/switzerland/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "bounds": [ [ 45, 5 ], [ 48, 11 ] ], "name": "OpenStreetMap.CH" }, "France": { "url": "https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png", "max_zoom": 20, "html_attribution": "© OpenStreetMap France | © OpenStreetMap contributors", "attribution": "(C) OpenStreetMap France | (C) OpenStreetMap contributors", "name": "OpenStreetMap.France" }, "HOT": { "url": "https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors, Tiles style by Humanitarian OpenStreetMap Team hosted by OpenStreetMap France", "attribution": "(C) OpenStreetMap contributors, Tiles style by Humanitarian OpenStreetMap Team hosted by OpenStreetMap France", "name": "OpenStreetMap.HOT" }, "BZH": { "url": "https://tile.openstreetmap.bzh/br/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors, Tiles courtesy of Breton OpenStreetMap Team", "attribution": "(C) OpenStreetMap contributors, Tiles courtesy of Breton OpenStreetMap Team", "bounds": [ [ 46.2, -5.5 ], [ 50, 0.7 ] ], "name": "OpenStreetMap.BZH" }, "CAT": { "url": "https://tile.openstreetmap.bzh/ca/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors, Tiles courtesy of Breton OpenStreetMap Team", "attribution": "(C) OpenStreetMap contributors, Tiles courtesy of Breton OpenStreetMap Team", "name": "OpenStreetMap.CAT" } }, "MapTilesAPI": { "OSMEnglish": { "url": "https://maptiles.p.rapidapi.com/{variant}/{z}/{x}/{y}.png?rapidapi-key={apikey}", "html_attribution": "© MapTiles API, © OpenStreetMap contributors", "attribution": "(C) MapTiles API, (C) OpenStreetMap contributors", "variant": "en/map/v1", "apikey": "", "max_zoom": 19, "name": "MapTilesAPI.OSMEnglish" }, "OSMFrancais": { "url": "https://maptiles.p.rapidapi.com/{variant}/{z}/{x}/{y}.png?rapidapi-key={apikey}", "html_attribution": "© MapTiles API, © OpenStreetMap contributors", "attribution": "(C) MapTiles API, (C) OpenStreetMap contributors", "variant": "fr/map/v1", "apikey": "", "max_zoom": 19, "name": "MapTilesAPI.OSMFrancais" }, "OSMEspagnol": { "url": "https://maptiles.p.rapidapi.com/{variant}/{z}/{x}/{y}.png?rapidapi-key={apikey}", "html_attribution": "© MapTiles API, © OpenStreetMap contributors", "attribution": "(C) MapTiles API, (C) OpenStreetMap contributors", "variant": "es/map/v1", "apikey": "", "max_zoom": 19, "name": "MapTilesAPI.OSMEspagnol" } }, "OpenSeaMap": { "url": "https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png", "html_attribution": "Map data: © OpenSeaMap contributors", "attribution": "Map data: (C) OpenSeaMap contributors", "name": "OpenSeaMap" }, "OPNVKarte": { "url": "https://tileserver.memomaps.de/tilegen/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map memomaps.de CC-BY-SA, map data © OpenStreetMap contributors", "attribution": "Map memomaps.de CC-BY-SA, map data (C) OpenStreetMap contributors", "name": "OPNVKarte" }, "OpenTopoMap": { "url": "https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png", "max_zoom": 17, "html_attribution": "Map data: © OpenStreetMap contributors, SRTM | Map style: © OpenTopoMap (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors, SRTM | Map style: (C) OpenTopoMap (CC-BY-SA)", "name": "OpenTopoMap" }, "OpenRailwayMap": { "url": "https://{s}.tiles.openrailwaymap.org/standard/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © OpenRailwayMap (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) OpenRailwayMap (CC-BY-SA)", "name": "OpenRailwayMap" }, "OpenFireMap": { "url": "http://openfiremap.org/hytiles/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © OpenFireMap (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) OpenFireMap (CC-BY-SA)", "name": "OpenFireMap" }, "SafeCast": { "url": "https://s3.amazonaws.com/te512.safecast.org/{z}/{x}/{y}.png", "max_zoom": 16, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © SafeCast (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) SafeCast (CC-BY-SA)", "name": "SafeCast" }, "Stadia": { "AlidadeSmooth": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "alidade_smooth", "ext": "png", "name": "Stadia.AlidadeSmooth" }, "AlidadeSmoothDark": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "alidade_smooth_dark", "ext": "png", "name": "Stadia.AlidadeSmoothDark" }, "AlidadeSatellite": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© CNES, Distribution Airbus DS, \u00a9 Airbus DS, \u00a9 PlanetObserver (Contains Copernicus Data) | © Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) CNES, Distribution Airbus DS, \u00a9 Airbus DS, \u00a9 PlanetObserver (Contains Copernicus Data) | (C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "alidade_satellite", "ext": "jpg", "name": "Stadia.AlidadeSatellite" }, "OSMBright": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "osm_bright", "ext": "png", "name": "Stadia.OSMBright" }, "Outdoors": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "outdoors", "ext": "png", "name": "Stadia.Outdoors" }, "StamenToner": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner", "ext": "png", "name": "Stadia.StamenToner" }, "StamenTonerBackground": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner_background", "ext": "png", "name": "Stadia.StamenTonerBackground" }, "StamenTonerLines": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner_lines", "ext": "png", "name": "Stadia.StamenTonerLines" }, "StamenTonerLabels": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner_labels", "ext": "png", "name": "Stadia.StamenTonerLabels" }, "StamenTonerLite": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner_lite", "ext": "png", "name": "Stadia.StamenTonerLite" }, "StamenWatercolor": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}.{ext}", "min_zoom": 1, "max_zoom": 16, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_watercolor", "ext": "jpg", "name": "Stadia.StamenWatercolor" }, "StamenTerrain": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 18, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_terrain", "ext": "png", "name": "Stadia.StamenTerrain" }, "StamenTerrainBackground": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 18, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_terrain_background", "ext": "png", "name": "Stadia.StamenTerrainBackground" }, "StamenTerrainLabels": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 18, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_terrain_labels", "ext": "png", "name": "Stadia.StamenTerrainLabels" }, "StamenTerrainLines": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 18, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_terrain_lines", "ext": "png", "name": "Stadia.StamenTerrainLines" } }, "Thunderforest": { "OpenCycleMap": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "cycle", "apikey": "", "max_zoom": 22, "name": "Thunderforest.OpenCycleMap" }, "Transport": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "transport", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Transport" }, "TransportDark": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "transport-dark", "apikey": "", "max_zoom": 22, "name": "Thunderforest.TransportDark" }, "SpinalMap": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "spinal-map", "apikey": "", "max_zoom": 22, "name": "Thunderforest.SpinalMap" }, "Landscape": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "landscape", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Landscape" }, "Outdoors": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "outdoors", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Outdoors" }, "Pioneer": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "pioneer", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Pioneer" }, "MobileAtlas": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "mobile-atlas", "apikey": "", "max_zoom": 22, "name": "Thunderforest.MobileAtlas" }, "Neighbourhood": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "neighbourhood", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Neighbourhood" } }, "BaseMapDE": { "Color": { "url": "https://sgx.geodatenzentrum.de/wmts_basemapde/tile/1.0.0/{variant}/default/GLOBAL_WEBMERCATOR/{z}/{y}/{x}.png", "html_attribution": "Map data: © dl-de/by-2-0", "attribution": "Map data: (C) dl-de/by-2-0", "variant": "de_basemapde_web_raster_farbe", "name": "BaseMapDE.Color" }, "Grey": { "url": "https://sgx.geodatenzentrum.de/wmts_basemapde/tile/1.0.0/{variant}/default/GLOBAL_WEBMERCATOR/{z}/{y}/{x}.png", "html_attribution": "Map data: © dl-de/by-2-0", "attribution": "Map data: (C) dl-de/by-2-0", "variant": "de_basemapde_web_raster_grau", "name": "BaseMapDE.Grey" } }, "CyclOSM": { "url": "https://{s}.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png", "max_zoom": 20, "html_attribution": "CyclOSM | Map data: © OpenStreetMap contributors", "attribution": "CyclOSM | Map data: (C) OpenStreetMap contributors", "name": "CyclOSM" }, "Jawg": { "Streets": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-streets", "accessToken": "", "name": "Jawg.Streets" }, "Terrain": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-terrain", "accessToken": "", "name": "Jawg.Terrain" }, "Lagoon": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-lagoon", "accessToken": "", "name": "Jawg.Lagoon" }, "Sunny": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-sunny", "accessToken": "", "name": "Jawg.Sunny" }, "Dark": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-dark", "accessToken": "", "name": "Jawg.Dark" }, "Light": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-light", "accessToken": "", "name": "Jawg.Light" }, "Matrix": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-matrix", "accessToken": "", "name": "Jawg.Matrix" } }, "MapBox": { "url": "https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}{r}?access_token={accessToken}", "html_attribution": "© Mapbox © OpenStreetMap contributors Improve this map", "attribution": "(C) Mapbox (C) OpenStreetMap contributors Improve this map", "tileSize": 512, "max_zoom": 18, "zoomOffset": -1, "id": "mapbox/streets-v11", "accessToken": "", "name": "MapBox" }, "MapTiler": { "Streets": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "streets-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Streets" }, "Basic": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "basic-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Basic" }, "Bright": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "bright-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Bright" }, "Pastel": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "pastel", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Pastel" }, "Positron": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "positron", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Positron" }, "Hybrid": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "hybrid", "ext": "jpg", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Hybrid" }, "Toner": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "toner-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Toner" }, "Topo": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "topo-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Topo" }, "Voyager": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "voyager-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Voyager" }, "Ocean": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "ocean", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Ocean" }, "Backdrop": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "backdrop", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Backdrop" }, "Dataviz": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "dataviz", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Dataviz" }, "DatavizLight": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "dataviz-light", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.DatavizLight" }, "DatavizDark": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "dataviz-dark", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.DatavizDark" }, "Aquarelle": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "aquarelle", "ext": "webp", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Aquarelle" }, "Landscape": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "landscape", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Landscape" }, "Openstreetmap": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "openstreetmap", "ext": "jpg", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Openstreetmap" }, "Outdoor": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "outdoor-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Outdoor" }, "Satellite": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "satellite", "ext": "jpg", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Satellite" }, "Winter": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "winter-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Winter" } }, "TomTom": { "Basic": { "url": "https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}", "variant": "basic", "max_zoom": 22, "html_attribution": "© 1992 - 2025 TomTom. ", "attribution": "(C) 1992 - 2025 TomTom.", "subdomains": "abcd", "style": "main", "ext": "png", "apikey": "", "name": "TomTom.Basic" }, "Hybrid": { "url": "https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}", "variant": "hybrid", "max_zoom": 22, "html_attribution": "© 1992 - 2025 TomTom. ", "attribution": "(C) 1992 - 2025 TomTom.", "subdomains": "abcd", "style": "main", "ext": "png", "apikey": "", "name": "TomTom.Hybrid" }, "Labels": { "url": "https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}", "variant": "labels", "max_zoom": 22, "html_attribution": "© 1992 - 2025 TomTom. ", "attribution": "(C) 1992 - 2025 TomTom.", "subdomains": "abcd", "style": "main", "ext": "png", "apikey": "", "name": "TomTom.Labels" } }, "Esri": { "WorldStreetMap": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Street_Map", "html_attribution": "Tiles © Esri — Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012", "attribution": "Tiles (C) Esri -- Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012", "name": "Esri.WorldStreetMap" }, "WorldTopoMap": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Topo_Map", "html_attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "attribution": "Tiles (C) Esri -- Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "name": "Esri.WorldTopoMap" }, "WorldImagery": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Imagery", "html_attribution": "Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community", "attribution": "Tiles (C) Esri -- Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community", "name": "Esri.WorldImagery" }, "WorldTerrain": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Terrain_Base", "html_attribution": "Tiles © Esri — Source: USGS, Esri, TANA, DeLorme, and NPS", "attribution": "Tiles (C) Esri -- Source: USGS, Esri, TANA, DeLorme, and NPS", "max_zoom": 13, "name": "Esri.WorldTerrain" }, "WorldShadedRelief": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Shaded_Relief", "html_attribution": "Tiles © Esri — Source: Esri", "attribution": "Tiles (C) Esri -- Source: Esri", "max_zoom": 13, "name": "Esri.WorldShadedRelief" }, "WorldPhysical": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Physical_Map", "html_attribution": "Tiles © Esri — Source: US National Park Service", "attribution": "Tiles (C) Esri -- Source: US National Park Service", "max_zoom": 8, "name": "Esri.WorldPhysical" }, "OceanBasemap": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "Ocean/World_Ocean_Base", "html_attribution": "Tiles © Esri — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri", "attribution": "Tiles (C) Esri -- Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri", "max_zoom": 13, "name": "Esri.OceanBasemap" }, "NatGeoWorldMap": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "NatGeo_World_Map", "html_attribution": "Tiles © Esri — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC", "attribution": "Tiles (C) Esri -- National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC", "max_zoom": 16, "name": "Esri.NatGeoWorldMap" }, "WorldGrayCanvas": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "Canvas/World_Light_Gray_Base", "html_attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ", "attribution": "Tiles (C) Esri -- Esri, DeLorme, NAVTEQ", "max_zoom": 16, "name": "Esri.WorldGrayCanvas" } }, "OpenWeatherMap": { "Clouds": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "clouds", "name": "OpenWeatherMap.Clouds" }, "CloudsClassic": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "clouds_cls", "name": "OpenWeatherMap.CloudsClassic" }, "Precipitation": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "precipitation", "name": "OpenWeatherMap.Precipitation" }, "PrecipitationClassic": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "precipitation_cls", "name": "OpenWeatherMap.PrecipitationClassic" }, "Rain": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "rain", "name": "OpenWeatherMap.Rain" }, "RainClassic": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "rain_cls", "name": "OpenWeatherMap.RainClassic" }, "Pressure": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "pressure", "name": "OpenWeatherMap.Pressure" }, "PressureContour": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "pressure_cntr", "name": "OpenWeatherMap.PressureContour" }, "Wind": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "wind", "name": "OpenWeatherMap.Wind" }, "Temperature": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "temp", "name": "OpenWeatherMap.Temperature" }, "Snow": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "snow", "name": "OpenWeatherMap.Snow" } }, "HERE": { "normalDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDay" }, "normalDayCustom": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.custom", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayCustom" }, "normalDayGrey": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayGrey" }, "normalDayMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayMobile" }, "normalDayGreyMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.grey.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayGreyMobile" }, "normalDayTransit": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayTransit" }, "normalDayTransitMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.transit.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayTransitMobile" }, "normalDayTraffic": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "traffic", "variant": "normal.traffic.day", "max_zoom": 20, "type": "traffictile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayTraffic" }, "normalNight": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNight" }, "normalNightMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightMobile" }, "normalNightGrey": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightGrey" }, "normalNightGreyMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.grey.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightGreyMobile" }, "normalNightTransit": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightTransit" }, "normalNightTransitMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.transit.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightTransitMobile" }, "reducedDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "reduced.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.reducedDay" }, "reducedNight": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "reduced.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.reducedNight" }, "basicMap": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "basetile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.basicMap" }, "mapLabels": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "labeltile", "language": "eng", "format": "png", "size": "256", "name": "HERE.mapLabels" }, "trafficFlow": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "traffic", "variant": "normal.day", "max_zoom": 20, "type": "flowtile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.trafficFlow" }, "carnavDayGrey": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "carnav.day.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.carnavDayGrey" }, "hybridDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "hybrid.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDay" }, "hybridDayMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "hybrid.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDayMobile" }, "hybridDayTransit": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "hybrid.day.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDayTransit" }, "hybridDayGrey": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "hybrid.grey.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDayGrey" }, "hybridDayTraffic": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "traffic", "variant": "hybrid.traffic.day", "max_zoom": 20, "type": "traffictile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDayTraffic" }, "pedestrianDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "pedestrian.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.pedestrianDay" }, "pedestrianNight": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "pedestrian.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.pedestrianNight" }, "satelliteDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "satellite.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.satelliteDay" }, "terrainDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "terrain.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.terrainDay" }, "terrainDayMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "terrain.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.terrainDayMobile" } }, "HEREv3": { "normalDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDay" }, "normalDayCustom": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.custom", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayCustom" }, "normalDayGrey": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayGrey" }, "normalDayMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayMobile" }, "normalDayGreyMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.grey.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayGreyMobile" }, "normalDayTransit": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayTransit" }, "normalDayTransitMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.transit.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayTransitMobile" }, "normalNight": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNight" }, "normalNightMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightMobile" }, "normalNightGrey": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightGrey" }, "normalNightGreyMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.grey.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightGreyMobile" }, "normalNightTransit": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightTransit" }, "normalNightTransitMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.transit.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightTransitMobile" }, "reducedDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "reduced.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.reducedDay" }, "reducedNight": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "reduced.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.reducedNight" }, "basicMap": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "basetile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.basicMap" }, "mapLabels": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "labeltile", "language": "eng", "format": "png", "size": "256", "name": "HEREv3.mapLabels" }, "trafficFlow": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "traffic", "variant": "normal.day", "max_zoom": 20, "type": "flowtile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.trafficFlow" }, "carnavDayGrey": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "carnav.day.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.carnavDayGrey" }, "hybridDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "hybrid.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.hybridDay" }, "hybridDayMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "hybrid.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.hybridDayMobile" }, "hybridDayTransit": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "hybrid.day.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.hybridDayTransit" }, "hybridDayGrey": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "hybrid.grey.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.hybridDayGrey" }, "pedestrianDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "pedestrian.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.pedestrianDay" }, "pedestrianNight": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "pedestrian.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.pedestrianNight" }, "satelliteDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "satellite.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.satelliteDay" }, "terrainDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "terrain.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.terrainDay" }, "terrainDayMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "terrain.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.terrainDayMobile" } }, "FreeMapSK": { "url": "https://{s}.freemap.sk/T/{z}/{x}/{y}.jpeg", "min_zoom": 8, "max_zoom": 16, "subdomains": "abcd", "bounds": [ [ 47.204642, 15.996093 ], [ 49.830896, 22.576904 ] ], "html_attribution": "© OpenStreetMap contributors, visualization CC-By-SA 2.0 Freemap.sk", "attribution": "(C) OpenStreetMap contributors, visualization CC-By-SA 2.0 Freemap.sk", "name": "FreeMapSK" }, "MtbMap": { "url": "http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png", "html_attribution": "© OpenStreetMap contributors & USGS", "attribution": "(C) OpenStreetMap contributors & USGS", "name": "MtbMap" }, "CartoDB": { "Positron": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "light_all", "name": "CartoDB.Positron" }, "PositronNoLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "light_nolabels", "name": "CartoDB.PositronNoLabels" }, "PositronOnlyLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "light_only_labels", "name": "CartoDB.PositronOnlyLabels" }, "DarkMatter": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "dark_all", "name": "CartoDB.DarkMatter" }, "DarkMatterNoLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "dark_nolabels", "name": "CartoDB.DarkMatterNoLabels" }, "DarkMatterOnlyLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "dark_only_labels", "name": "CartoDB.DarkMatterOnlyLabels" }, "Voyager": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "rastertiles/voyager", "name": "CartoDB.Voyager" }, "VoyagerNoLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "rastertiles/voyager_nolabels", "name": "CartoDB.VoyagerNoLabels" }, "VoyagerOnlyLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "rastertiles/voyager_only_labels", "name": "CartoDB.VoyagerOnlyLabels" }, "VoyagerLabelsUnder": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "rastertiles/voyager_labels_under", "name": "CartoDB.VoyagerLabelsUnder" } }, "HikeBike": { "HikeBike": { "url": "https://tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "variant": "hikebike", "name": "HikeBike.HikeBike" }, "HillShading": { "url": "https://tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 15, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "variant": "hillshading", "name": "HikeBike.HillShading" } }, "BasemapAT": { "basemap": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 20, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "png", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "geolandbasemap", "name": "BasemapAT.basemap" }, "grau": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "png", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmapgrau", "name": "BasemapAT.grau" }, "overlay": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "png", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmapoverlay", "name": "BasemapAT.overlay" }, "terrain": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "grau", "format": "jpeg", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmapgelaende", "name": "BasemapAT.terrain" }, "surface": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "grau", "format": "jpeg", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmapoberflaeche", "name": "BasemapAT.surface" }, "highdpi": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "jpeg", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmaphidpi", "name": "BasemapAT.highdpi" }, "orthofoto": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 20, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "jpeg", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmaporthofoto30cm", "name": "BasemapAT.orthofoto" } }, "nlmaps": { "standaard": { "url": "https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "variant": "standaard", "name": "nlmaps.standaard" }, "pastel": { "url": "https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "variant": "pastel", "name": "nlmaps.pastel" }, "grijs": { "url": "https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "variant": "grijs", "name": "nlmaps.grijs" }, "water": { "url": "https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "variant": "water", "name": "nlmaps.water" }, "luchtfoto": { "url": "https://service.pdok.nl/hwh/luchtfotorgb/wmts/v1_0/Actueel_ortho25/EPSG:3857/{z}/{x}/{y}.jpeg", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "name": "nlmaps.luchtfoto" } }, "NASAGIBS": { "ModisTerraTrueColorCR": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 9, "format": "jpg", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_CorrectedReflectance_TrueColor", "name": "NASAGIBS.ModisTerraTrueColorCR" }, "ModisTerraBands367CR": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 9, "format": "jpg", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_CorrectedReflectance_Bands367", "name": "NASAGIBS.ModisTerraBands367CR" }, "ViirsEarthAtNight2012": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 8, "format": "jpg", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "VIIRS_CityLights_2012", "name": "NASAGIBS.ViirsEarthAtNight2012" }, "ModisTerraLSTDay": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 7, "format": "png", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_Land_Surface_Temp_Day", "opacity": 0.75, "name": "NASAGIBS.ModisTerraLSTDay" }, "ModisTerraSnowCover": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 8, "format": "png", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_NDSI_Snow_Cover", "opacity": 0.75, "name": "NASAGIBS.ModisTerraSnowCover" }, "ModisTerraAOD": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 6, "format": "png", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_Aerosol", "opacity": 0.75, "name": "NASAGIBS.ModisTerraAOD" }, "ModisTerraChlorophyll": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 7, "format": "png", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_L2_Chlorophyll_A", "opacity": 0.75, "name": "NASAGIBS.ModisTerraChlorophyll" } }, "NLS": { "osgb63k1885": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb63k1885", "name": "NLS.osgb63k1885" }, "osgb1888": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb1888", "name": "NLS.osgb1888" }, "osgb10k1888": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb10k1888", "name": "NLS.osgb10k1888" }, "osgb1919": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb1919", "name": "NLS.osgb1919" }, "osgb25k1937": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb25k1937", "name": "NLS.osgb25k1937" }, "osgb63k1955": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb63k1955", "name": "NLS.osgb63k1955" }, "oslondon1k1893": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-oslondon1k1893", "name": "NLS.oslondon1k1893" } }, "JusticeMap": { "income": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "income", "name": "JusticeMap.income" }, "americanIndian": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "indian", "name": "JusticeMap.americanIndian" }, "asian": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "asian", "name": "JusticeMap.asian" }, "black": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "black", "name": "JusticeMap.black" }, "hispanic": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "hispanic", "name": "JusticeMap.hispanic" }, "multi": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "multi", "name": "JusticeMap.multi" }, "nonWhite": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "nonwhite", "name": "JusticeMap.nonWhite" }, "white": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "white", "name": "JusticeMap.white" }, "plurality": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "plural", "name": "JusticeMap.plurality" } }, "GeoportailFrance": { "plan": { "url": "https://data.geopf.fr/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE={style}&TILEMATRIXSET=PM&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75, -180 ], [ 81, 180 ] ], "min_zoom": 2, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2", "name": "GeoportailFrance.plan" }, "parcels": { "url": "https://data.geopf.fr/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE={style}&TILEMATRIXSET=PM&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75, -180 ], [ 81, 180 ] ], "min_zoom": 2, "max_zoom": 20, "format": "image/png", "style": "PCI vecteur", "variant": "CADASTRALPARCELS.PARCELLAIRE_EXPRESS", "name": "GeoportailFrance.parcels" }, "orthos": { "url": "https://data.geopf.fr/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE={style}&TILEMATRIXSET=PM&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75, -180 ], [ 81, 180 ] ], "min_zoom": 2, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS", "name": "GeoportailFrance.orthos" } }, "OneMapSG": { "Default": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "Default", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.Default" }, "Night": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "Night", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.Night" }, "Original": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "Original", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.Original" }, "Grey": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "Grey", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.Grey" }, "LandLot": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "LandLot", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.LandLot" } }, "USGS": { "USTopo": { "url": "https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/tile/{z}/{y}/{x}", "max_zoom": 20, "html_attribution": "Tiles courtesy of the U.S. Geological Survey", "attribution": "Tiles courtesy of the U.S. Geological Survey", "name": "USGS.USTopo" }, "USImagery": { "url": "https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}", "max_zoom": 20, "html_attribution": "Tiles courtesy of the U.S. Geological Survey", "attribution": "Tiles courtesy of the U.S. Geological Survey", "name": "USGS.USImagery" }, "USImageryTopo": { "url": "https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryTopo/MapServer/tile/{z}/{y}/{x}", "max_zoom": 20, "html_attribution": "Tiles courtesy of the U.S. Geological Survey", "attribution": "Tiles courtesy of the U.S. Geological Survey", "name": "USGS.USImageryTopo" } }, "WaymarkedTrails": { "hiking": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "hiking", "name": "WaymarkedTrails.hiking" }, "cycling": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "cycling", "name": "WaymarkedTrails.cycling" }, "mtb": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "mtb", "name": "WaymarkedTrails.mtb" }, "slopes": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "slopes", "name": "WaymarkedTrails.slopes" }, "riding": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "riding", "name": "WaymarkedTrails.riding" }, "skating": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "skating", "name": "WaymarkedTrails.skating" } }, "OpenAIP": { "url": "https://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.{ext}", "html_attribution": "openAIP Data (CC-BY-NC-SA)", "attribution": "openAIP Data (CC-BY-NC-SA)", "ext": "png", "min_zoom": 4, "max_zoom": 14, "tms": true, "detectRetina": true, "subdomains": "12", "name": "OpenAIP" }, "OpenSnowMap": { "pistes": { "url": "https://tiles.opensnowmap.org/{variant}/{z}/{x}/{y}.png", "min_zoom": 9, "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors & ODbL, © www.opensnowmap.org CC-BY-SA", "attribution": "Map data: (C) OpenStreetMap contributors & ODbL, (C) www.opensnowmap.org CC-BY-SA", "variant": "pistes", "name": "OpenSnowMap.pistes" } }, "AzureMaps": { "MicrosoftImagery": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.imagery", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftImagery" }, "MicrosoftBaseDarkGrey": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.base.darkgrey", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftBaseDarkGrey" }, "MicrosoftBaseRoad": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.base.road", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftBaseRoad" }, "MicrosoftBaseHybridRoad": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.base.hybrid.road", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftBaseHybridRoad" }, "MicrosoftTerraMain": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.terra.main", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftTerraMain" }, "MicrosoftWeatherInfraredMain": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&timeStamp={timeStamp}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.", "apiVersion": "2.0", "variant": "microsoft.weather.infrared.main", "subscriptionKey": "", "language": "en-US", "timeStamp": "2021-05-08T09:03:00Z", "name": "AzureMaps.MicrosoftWeatherInfraredMain" }, "MicrosoftWeatherRadarMain": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&timeStamp={timeStamp}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.", "apiVersion": "2.0", "variant": "microsoft.weather.radar.main", "subscriptionKey": "", "language": "en-US", "timeStamp": "2021-05-08T09:03:00Z", "name": "AzureMaps.MicrosoftWeatherRadarMain" } }, "SwissFederalGeoportal": { "NationalMapColor": { "url": "https://wmts.geo.admin.ch/1.0.0/{variant}/default/current/3857/{z}/{x}/{y}.jpeg", "html_attribution": "© swisstopo", "attribution": "(C) swisstopo", "min_zoom": 2, "max_zoom": 18, "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "variant": "ch.swisstopo.pixelkarte-farbe", "name": "SwissFederalGeoportal.NationalMapColor" }, "NationalMapGrey": { "url": "https://wmts.geo.admin.ch/1.0.0/{variant}/default/current/3857/{z}/{x}/{y}.jpeg", "html_attribution": "© swisstopo", "attribution": "(C) swisstopo", "min_zoom": 2, "max_zoom": 18, "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "variant": "ch.swisstopo.pixelkarte-grau", "name": "SwissFederalGeoportal.NationalMapGrey" }, "SWISSIMAGE": { "url": "https://wmts.geo.admin.ch/1.0.0/{variant}/default/current/3857/{z}/{x}/{y}.jpeg", "html_attribution": "© swisstopo", "attribution": "(C) swisstopo", "min_zoom": 2, "max_zoom": 19, "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "variant": "ch.swisstopo.swissimage", "name": "SwissFederalGeoportal.SWISSIMAGE" } }, "TopPlusOpen": { "Color": { "url": "http://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/{variant}/default/WEBMERCATOR/{z}/{y}/{x}.png", "max_zoom": 18, "html_attribution": "Map data: © dl-de/by-2-0", "attribution": "Map data: (C) dl-de/by-2-0", "variant": "web", "name": "TopPlusOpen.Color" }, "Grey": { "url": "http://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/{variant}/default/WEBMERCATOR/{z}/{y}/{x}.png", "max_zoom": 18, "html_attribution": "Map data: © dl-de/by-2-0", "attribution": "Map data: (C) dl-de/by-2-0", "variant": "web_grau", "name": "TopPlusOpen.Grey" } }, "_meta": { "description": "JSON representation of the leaflet providers defined by the leaflet-providers.js extension to Leaflet (https://github.com/leaflet-extras/leaflet-providers)", "date_of_creation": "2025-04-15", "commit": "commit 7aafb14c7195456e13da5096d0a8d9e49b404128 (build(deps-dev): bump eslint from 9.23.0 to 9.24.0\n\nBumps [eslint](https://github.com/eslint/eslint) from 9.23.0 to 9.24.0.\n- [Release notes](https://github.com/eslint/eslint/releases)\n- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/eslint/eslint/compare/v9.23.0...v9.24.0)\n\n---\nupdated-dependencies:\n- dependency-name: eslint\n dependency-version: 9.24.0\n dependency-type: direct:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] )" } }xyzservices-2025.4.0/provider_sources/xyzservices-providers.json000066400000000000000000000721321500266262400252530ustar00rootroot00000000000000{ "NASAGIBS": { "ModisTerraBands721CR": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Terra_CorrectedReflectance_Bands721/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg", "max_zoom": 9, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ModisTerraBands721CR", "time": "" }, "ModisAquaTrueColorCR": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Aqua_CorrectedReflectance_TrueColor/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg", "max_zoom": 9, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ModisAquaTrueColorCR", "time": "" }, "ModisAquaBands721CR": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Aqua_CorrectedReflectance_Bands721/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg", "max_zoom": 9, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ModisAquaBands721CR", "time": "" }, "ViirsTrueColorCR": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/VIIRS_SNPP_CorrectedReflectance_TrueColor/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg", "max_zoom": 9, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ViirsTrueColorCR", "time": "" }, "BlueMarble": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/BlueMarble_NextGeneration/default/GoogleMapsCompatible_Level8/{z}/{y}/{x}.jpeg", "max_zoom": 8, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarble", "crs": "EPSG:3857" }, "BlueMarble3413": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/BlueMarble_NextGeneration/default/500m/{z}/{y}/{x}.jpeg", "max_zoom": 5, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarble3413", "crs": "EPSG:3413" }, "BlueMarble3031": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3031/best/BlueMarble_NextGeneration/default/500m/{z}/{y}/{x}.jpeg", "max_zoom": 5, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarble3031", "crs": "EPSG:3031" }, "BlueMarbleBathymetry3413": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/BlueMarble_ShadedRelief_Bathymetry/default/500m/{z}/{y}/{x}.jpeg", "max_zoom": 5, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarbleBathymetry3413", "crs": "EPSG:3413" }, "BlueMarbleBathymetry3031": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3031/best/BlueMarble_ShadedRelief_Bathymetry/default/500m/{z}/{y}/{x}.jpeg", "max_zoom": 5, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarbleBathymetry3031", "crs": "EPSG:3031" }, "MEaSUREsIceVelocity3413": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/MEaSUREs_Ice_Velocity_Greenland/default/500m/{z}/{y}/{x}", "max_zoom": 4, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.MEaSUREsIceVelocity3413", "crs": "EPSG:3413" }, "MEaSUREsIceVelocity3031": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3031/best/MEaSUREs_Ice_Velocity_Antarctica/default/500m/{z}/{y}/{x}", "max_zoom": 4, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.MEaSUREsIceVelocity3031", "crs": "EPSG:3031" }, "ASTER_GDEM_Greyscale_Shaded_Relief": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/ASTER_GDEM_Greyscale_Shaded_Relief/default/GoogleMapsCompatible_Level12/{z}/{y}/{x}.jpg", "max_zoom": 12, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ASTER_GDEM_Greyscale_Shaded_Relief" } }, "Esri": { "ArcticImagery": { "url": "http://server.arcgisonline.com/ArcGIS/rest/services/Polar/Arctic_Imagery/MapServer/tile/{z}/{y}/{x}", "variant": "Arctic_Imagery", "html_attribution": "Earthstar Geographics", "attribution": "Earthstar Geographics", "max_zoom": 24, "name": "Esri.ArcticImagery", "crs": "EPSG:5936", "bounds": [ [ -2623285.8808999992907047, -2623285.8808999992907047 ], [ 6623285.8803000003099442, 6623285.8803000003099442 ] ] }, "ArcticOceanBase": { "url": "http://server.arcgisonline.com/ArcGIS/rest/services/Polar/Arctic_Ocean_Base/MapServer/tile/{z}/{y}/{x}", "variant": "Arctic_Ocean_Base", "html_attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "max_zoom": 24, "name": "Esri.ArcticOceanBase", "crs": "EPSG:5936", "bounds": [ [ -2623285.8808999992907047, -2623285.8808999992907047 ], [ 6623285.8803000003099442, 6623285.8803000003099442 ] ] }, "ArcticOceanReference": { "url": "http://server.arcgisonline.com/ArcGIS/rest/services/Polar/Arctic_Ocean_Reference/MapServer/tile/{z}/{y}/{x}", "variant": "Arctic_Ocean_Reference", "html_attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "max_zoom": 24, "name": "Esri.ArcticOceanReference", "crs": "EPSG:5936", "bounds": [ [ -2623285.8808999992907047, -2623285.8808999992907047 ], [ 6623285.8803000003099442, 6623285.8803000003099442 ] ] }, "AntarcticImagery": { "url": "http://server.arcgisonline.com/ArcGIS/rest/services/Polar/Antarctic_Imagery/MapServer/tile/{z}/{y}/{x}", "variant": "Antarctic_Imagery", "html_attribution": "Earthstar Geographics", "attribution": "Earthstar Geographics", "max_zoom": 24, "name": "Esri.AntarcticImagery", "crs": "EPSG:3031", "bounds": [ [ -9913957.327914657, -5730886.461772691 ], [ 9913957.327914657, 5730886.461773157 ] ] }, "AntarcticBasemap": { "url": "https://tiles.arcgis.com/tiles/C8EMgrsFcRFL6LrL/arcgis/rest/services/Antarctic_Basemap/MapServer/tile/{z}/{y}/{x}", "variant": "Antarctic_Basemap", "html_attribution": "Imagery provided by NOAA National Centers for Environmental Information (NCEI); International Bathymetric Chart of the Southern Ocean (IBCSO); General Bathymetric Chart of the Oceans (GEBCO).", "attribution": "Imagery provided by NOAA National Centers for Environmental Information (NCEI); International Bathymetric Chart of the Southern Ocean (IBCSO); General Bathymetric Chart of the Oceans (GEBCO).", "max_zoom": 9, "name": "Esri.AntarcticBasemap", "crs": "EPSG:3031", "bounds": [ [ -4524583.19363305, -4524449.487765655 ], [ 4524449.4877656475, 4524583.193633042 ] ] } }, "Gaode": { "Normal": { "url": "http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}", "max_zoom": 19, "attribution": "© Gaode.com", "html_attribution": "© Gaode.com", "name": "Gaode.Normal" }, "Satellite": { "url": "http://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}", "max_zoom": 19, "attribution": "© Gaode.com", "html_attribution": "© Gaode.com", "name": "Gaode.Satellite" } }, "Strava": { "All": { "url": "https://heatmap-external-a.strava.com/tiles/all/hot/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.All" }, "Ride": { "url": "https://heatmap-external-a.strava.com/tiles/ride/hot/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.Ride" }, "Run": { "url": "https://heatmap-external-a.strava.com/tiles/run/bluered/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.Run" }, "Water": { "url": "https://heatmap-external-a.strava.com/tiles/water/blue/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.Water" }, "Winter": { "url": "https://heatmap-external-a.strava.com/tiles/winter/hot/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.Winter" } }, "SwissFederalGeoportal": { "NationalMapColor": { "url": "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/3857/{z}/{x}/{y}.jpeg", "html_attribution": "swisstopo", "attribution": "© swisstopo", "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "min_zoom": 2, "max_zoom": 18, "name": "SwissFederalGeoportal.NationalMapColor" }, "NationalMapGrey": { "url": "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-grau/default/current/3857/{z}/{x}/{y}.jpeg", "html_attribution": "swisstopo", "attribution": "© swisstopo", "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "min_zoom": 2, "max_zoom": 18, "name": "SwissFederalGeoportal.NationalMapGrey" }, "SWISSIMAGE": { "url": "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.swissimage/default/current/3857/{z}/{x}/{y}.jpeg", "html_attribution": "swisstopo", "attribution": "© swisstopo", "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "min_zoom": 2, "max_zoom": 19, "name": "SwissFederalGeoportal.SWISSIMAGE" }, "JourneyThroughTime": { "url": "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.zeitreihen/default/{time}/3857/{z}/{x}/{y}.png", "html_attribution": "swisstopo", "attribution": "© swisstopo", "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "min_zoom": 2, "max_zoom": 18, "time": 18641231, "name": "SwissFederalGeoportal.JourneyThroughTime" } }, "MapTiler": { "Basic4326": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "basic-4326", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Basic4326", "crs": "EPSG:4326" }, "Outdoor": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "outdoor", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Outdoor" }, "Topographique": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "topographique", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Topographique" }, "Winter": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "winter", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Winter" }, "Satellite": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "satellite-v2", "ext": "jpg", "key": "", "min_zoom": 0, "max_zoom": 20, "name": "MapTiler.Satellite" }, "Terrain": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "terrain-rgb", "ext": "png", "key": "", "min_zoom": 0, "max_zoom": 12, "name": "MapTiler.Terrain" } }, "OrdnanceSurvey": { "Road": { "url": "https://api.os.uk/maps/raster/v1/zxy/Road_3857/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right {year}", "attribution": "Contains OS data (C) Crown copyright and database right {year}", "key": "", "min_zoom": 7, "max_zoom": 16, "max_zoom_premium": 20, "bounds": [ [ 49.766807, -9.496386 ], [ 61.465189, 3.634745 ] ], "name": "OrdnanceSurvey.Road" }, "Road_27700": { "url": "https://api.os.uk/maps/raster/v1/zxy/Road_27700/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right {year}", "attribution": "Contains OS data (C) Crown copyright and database right {year}", "key": "", "crs": "EPSG:27700", "min_zoom": 0, "max_zoom": 9, "max_zoom_premium": 13, "bounds": [ [ 0, 0 ], [ 700000, 1300000 ] ], "name": "OrdnanceSurvey.Road_27700" }, "Outdoor": { "url": "https://api.os.uk/maps/raster/v1/zxy/Outdoor_3857/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right {year}", "attribution": "Contains OS data (C) Crown copyright and database right {year}", "key": "", "min_zoom": 7, "max_zoom": 16, "max_zoom_premium": 20, "bounds": [ [ 49.766807, -9.496386 ], [ 61.465189, 3.634745 ] ], "name": "OrdnanceSurvey.Outdoor" }, "Outdoor_27700": { "url": "https://api.os.uk/maps/raster/v1/zxy/Outdoor_27700/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right {year}", "attribution": "Contains OS data (C) Crown copyright and database right {year}", "key": "", "crs": "EPSG:27700", "min_zoom": 0, "max_zoom": 9, "max_zoom_premium": 13, "bounds": [ [ 0, 0 ], [ 700000, 1300000 ] ], "name": "OrdnanceSurvey.Outdoor_27700" }, "Light": { "url": "https://api.os.uk/maps/raster/v1/zxy/Light_3857/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right {year}", "attribution": "Contains OS data (C) Crown copyright and database right {year}", "key": "", "min_zoom": 7, "max_zoom": 16, "max_zoom_premium": 20, "bounds": [ [ 49.766807, -9.496386 ], [ 61.465189, 3.634745 ] ], "name": "OrdnanceSurvey.Light" }, "Light_27700": { "url": "https://api.os.uk/maps/raster/v1/zxy/Light_27700/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right {year}", "attribution": "Contains OS data (C) Crown copyright and database right {year}", "key": "", "crs": "EPSG:27700", "min_zoom": 0, "max_zoom": 9, "max_zoom_premium": 13, "bounds": [ [ 0, 0 ], [ 700000, 1300000 ] ], "name": "OrdnanceSurvey.Light_27700" }, "Leisure_27700": { "url": "https://api.os.uk/maps/raster/v1/zxy/Leisure_27700/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right {year}", "attribution": "Contains OS data (C) Crown copyright and database right {year}", "key": "", "crs": "EPSG:27700", "min_zoom": 0, "max_zoom": 5, "max_zoom_premium": 9, "bounds": [ [ 0, 0 ], [ 700000, 1300000 ] ], "name": "OrdnanceSurvey.Leisure_27700" } }, "UN": { "ClearMap": { "url": "https://geoservices.un.org/arcgis/rest/services/ClearMap_WebTopo/MapServer/tile/{z}/{y}/{x}", "name": "UN.ClearMap", "html_attribution": "© United Nations contributors", "attribution": "United Nations" } } }xyzservices-2025.4.0/pyproject.toml000066400000000000000000000005741500266262400172670ustar00rootroot00000000000000[tool.ruff] line-length = 88 lint.select = ["E", "F", "W", "I", "UP", "N", "B", "A", "C4", "SIM", "ARG"] exclude = ["provider_sources/_compress_providers.py", "doc"] target-version = "py38" lint.ignore = ["B006", "A003", "B904", "C420"] [tool.pytest.ini_options] markers = [ "request: fetching tiles from remote server.", ] [tool.coverage.run] omit = ["xyzservices/tests/*"]xyzservices-2025.4.0/readthedocs.yml000066400000000000000000000003141500266262400173530ustar00rootroot00000000000000version: 2 build: os: ubuntu-22.04 tools: python: "3.11" sphinx: configuration: doc/source/conf.py python: install: - requirements: doc/requirements.txt - method: pip path: . xyzservices-2025.4.0/setup.py000066400000000000000000000020351500266262400160570ustar00rootroot00000000000000import setuptools with open("README.md", encoding="utf8") as fh: long_description = fh.read() setuptools.setup( name="xyzservices", description="Source of XYZ tiles providers", long_description=long_description, long_description_content_type="text/markdown", url="https://github.com/geopandas/xyzservices", author="Dani Arribas-Bel, Martin Fleischmann", author_email="daniel.arribas.bel@gmail.com, martin@martinfleischmann.net", license="3-Clause BSD", packages=setuptools.find_packages(exclude=["tests"]), python_requires=">=3.8", include_package_data=True, package_data={ "xyzservices": ["data/providers.json"], }, classifiers=[ "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3 :: Only", ], use_scm_version=True, setup_requires=["setuptools_scm"], data_files=[("share/xyzservices", ["xyzservices/data/providers.json"])], ) xyzservices-2025.4.0/xyzservices/000077500000000000000000000000001500266262400167435ustar00rootroot00000000000000xyzservices-2025.4.0/xyzservices/__init__.py000066400000000000000000000004001500266262400210460ustar00rootroot00000000000000from .lib import Bunch, TileProvider # noqa from .providers import providers # noqa from importlib.metadata import version, PackageNotFoundError import contextlib with contextlib.suppress(PackageNotFoundError): __version__ = version("xyzservices") xyzservices-2025.4.0/xyzservices/data/000077500000000000000000000000001500266262400176545ustar00rootroot00000000000000xyzservices-2025.4.0/xyzservices/data/__init__.py000066400000000000000000000000001500266262400217530ustar00rootroot00000000000000xyzservices-2025.4.0/xyzservices/data/providers.json000066400000000000000000030037041500266262400225730ustar00rootroot00000000000000{ "OpenStreetMap": { "Mapnik": { "url": "https://tile.openstreetmap.org/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "name": "OpenStreetMap.Mapnik" }, "DE": { "url": "https://tile.openstreetmap.de/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "name": "OpenStreetMap.DE" }, "CH": { "url": "https://tile.osm.ch/switzerland/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "bounds": [ [ 45, 5 ], [ 48, 11 ] ], "name": "OpenStreetMap.CH" }, "France": { "url": "https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png", "max_zoom": 20, "html_attribution": "© OpenStreetMap France | © OpenStreetMap contributors", "attribution": "(C) OpenStreetMap France | (C) OpenStreetMap contributors", "name": "OpenStreetMap.France" }, "HOT": { "url": "https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors, Tiles style by Humanitarian OpenStreetMap Team hosted by OpenStreetMap France", "attribution": "(C) OpenStreetMap contributors, Tiles style by Humanitarian OpenStreetMap Team hosted by OpenStreetMap France", "name": "OpenStreetMap.HOT" }, "BZH": { "url": "https://tile.openstreetmap.bzh/br/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors, Tiles courtesy of Breton OpenStreetMap Team", "attribution": "(C) OpenStreetMap contributors, Tiles courtesy of Breton OpenStreetMap Team", "bounds": [ [ 46.2, -5.5 ], [ 50, 0.7 ] ], "name": "OpenStreetMap.BZH" }, "CAT": { "url": "https://tile.openstreetmap.bzh/ca/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors, Tiles courtesy of Breton OpenStreetMap Team", "attribution": "(C) OpenStreetMap contributors, Tiles courtesy of Breton OpenStreetMap Team", "name": "OpenStreetMap.CAT" } }, "MapTilesAPI": { "OSMEnglish": { "url": "https://maptiles.p.rapidapi.com/{variant}/{z}/{x}/{y}.png?rapidapi-key={apikey}", "html_attribution": "© MapTiles API, © OpenStreetMap contributors", "attribution": "(C) MapTiles API, (C) OpenStreetMap contributors", "variant": "en/map/v1", "apikey": "", "max_zoom": 19, "name": "MapTilesAPI.OSMEnglish" }, "OSMFrancais": { "url": "https://maptiles.p.rapidapi.com/{variant}/{z}/{x}/{y}.png?rapidapi-key={apikey}", "html_attribution": "© MapTiles API, © OpenStreetMap contributors", "attribution": "(C) MapTiles API, (C) OpenStreetMap contributors", "variant": "fr/map/v1", "apikey": "", "max_zoom": 19, "name": "MapTilesAPI.OSMFrancais" }, "OSMEspagnol": { "url": "https://maptiles.p.rapidapi.com/{variant}/{z}/{x}/{y}.png?rapidapi-key={apikey}", "html_attribution": "© MapTiles API, © OpenStreetMap contributors", "attribution": "(C) MapTiles API, (C) OpenStreetMap contributors", "variant": "es/map/v1", "apikey": "", "max_zoom": 19, "name": "MapTilesAPI.OSMEspagnol" } }, "OpenSeaMap": { "url": "https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png", "html_attribution": "Map data: © OpenSeaMap contributors", "attribution": "Map data: (C) OpenSeaMap contributors", "name": "OpenSeaMap" }, "OPNVKarte": { "url": "https://tileserver.memomaps.de/tilegen/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map memomaps.de CC-BY-SA, map data © OpenStreetMap contributors", "attribution": "Map memomaps.de CC-BY-SA, map data (C) OpenStreetMap contributors", "name": "OPNVKarte" }, "OpenTopoMap": { "url": "https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png", "max_zoom": 17, "html_attribution": "Map data: © OpenStreetMap contributors, SRTM | Map style: © OpenTopoMap (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors, SRTM | Map style: (C) OpenTopoMap (CC-BY-SA)", "name": "OpenTopoMap" }, "OpenRailwayMap": { "url": "https://{s}.tiles.openrailwaymap.org/standard/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © OpenRailwayMap (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) OpenRailwayMap (CC-BY-SA)", "name": "OpenRailwayMap" }, "OpenFireMap": { "url": "http://openfiremap.org/hytiles/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © OpenFireMap (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) OpenFireMap (CC-BY-SA)", "name": "OpenFireMap" }, "SafeCast": { "url": "https://s3.amazonaws.com/te512.safecast.org/{z}/{x}/{y}.png", "max_zoom": 16, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © SafeCast (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) SafeCast (CC-BY-SA)", "name": "SafeCast" }, "Stadia": { "AlidadeSmooth": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "alidade_smooth", "ext": "png", "name": "Stadia.AlidadeSmooth" }, "AlidadeSmoothDark": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "alidade_smooth_dark", "ext": "png", "name": "Stadia.AlidadeSmoothDark" }, "AlidadeSatellite": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© CNES, Distribution Airbus DS, \u00a9 Airbus DS, \u00a9 PlanetObserver (Contains Copernicus Data) | © Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) CNES, Distribution Airbus DS, \u00a9 Airbus DS, \u00a9 PlanetObserver (Contains Copernicus Data) | (C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "alidade_satellite", "ext": "jpg", "name": "Stadia.AlidadeSatellite", "status": "broken" }, "OSMBright": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "osm_bright", "ext": "png", "name": "Stadia.OSMBright" }, "Outdoors": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "outdoors", "ext": "png", "name": "Stadia.Outdoors" }, "StamenToner": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner", "ext": "png", "name": "Stadia.StamenToner" }, "StamenTonerBackground": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner_background", "ext": "png", "name": "Stadia.StamenTonerBackground" }, "StamenTonerLines": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner_lines", "ext": "png", "name": "Stadia.StamenTonerLines" }, "StamenTonerLabels": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner_labels", "ext": "png", "name": "Stadia.StamenTonerLabels" }, "StamenTonerLite": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 20, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_toner_lite", "ext": "png", "name": "Stadia.StamenTonerLite" }, "StamenWatercolor": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}.{ext}", "min_zoom": 1, "max_zoom": 16, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_watercolor", "ext": "jpg", "name": "Stadia.StamenWatercolor" }, "StamenTerrain": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 18, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_terrain", "ext": "png", "name": "Stadia.StamenTerrain" }, "StamenTerrainBackground": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 18, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_terrain_background", "ext": "png", "name": "Stadia.StamenTerrainBackground" }, "StamenTerrainLabels": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 18, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_terrain_labels", "ext": "png", "name": "Stadia.StamenTerrainLabels" }, "StamenTerrainLines": { "url": "https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}", "min_zoom": 0, "max_zoom": 18, "html_attribution": "© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors", "attribution": "(C) Stadia Maps (C) Stamen Design (C) OpenMapTiles (C) OpenStreetMap contributors", "variant": "stamen_terrain_lines", "ext": "png", "name": "Stadia.StamenTerrainLines" } }, "Thunderforest": { "OpenCycleMap": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "cycle", "apikey": "", "max_zoom": 22, "name": "Thunderforest.OpenCycleMap" }, "Transport": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "transport", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Transport" }, "TransportDark": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "transport-dark", "apikey": "", "max_zoom": 22, "name": "Thunderforest.TransportDark" }, "SpinalMap": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "spinal-map", "apikey": "", "max_zoom": 22, "name": "Thunderforest.SpinalMap" }, "Landscape": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "landscape", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Landscape" }, "Outdoors": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "outdoors", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Outdoors" }, "Pioneer": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "pioneer", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Pioneer" }, "MobileAtlas": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "mobile-atlas", "apikey": "", "max_zoom": 22, "name": "Thunderforest.MobileAtlas" }, "Neighbourhood": { "url": "https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}{r}.png?apikey={apikey}", "html_attribution": "© Thunderforest, © OpenStreetMap contributors", "attribution": "(C) Thunderforest, (C) OpenStreetMap contributors", "variant": "neighbourhood", "apikey": "", "max_zoom": 22, "name": "Thunderforest.Neighbourhood" } }, "BaseMapDE": { "Color": { "url": "https://sgx.geodatenzentrum.de/wmts_basemapde/tile/1.0.0/{variant}/default/GLOBAL_WEBMERCATOR/{z}/{y}/{x}.png", "html_attribution": "Map data: © dl-de/by-2-0", "attribution": "Map data: (C) dl-de/by-2-0", "variant": "de_basemapde_web_raster_farbe", "name": "BaseMapDE.Color" }, "Grey": { "url": "https://sgx.geodatenzentrum.de/wmts_basemapde/tile/1.0.0/{variant}/default/GLOBAL_WEBMERCATOR/{z}/{y}/{x}.png", "html_attribution": "Map data: © dl-de/by-2-0", "attribution": "Map data: (C) dl-de/by-2-0", "variant": "de_basemapde_web_raster_grau", "name": "BaseMapDE.Grey" } }, "CyclOSM": { "url": "https://{s}.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png", "max_zoom": 20, "html_attribution": "CyclOSM | Map data: © OpenStreetMap contributors", "attribution": "CyclOSM | Map data: (C) OpenStreetMap contributors", "name": "CyclOSM" }, "Jawg": { "Streets": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-streets", "accessToken": "", "name": "Jawg.Streets" }, "Terrain": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-terrain", "accessToken": "", "name": "Jawg.Terrain" }, "Lagoon": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-lagoon", "accessToken": "", "name": "Jawg.Lagoon" }, "Sunny": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-sunny", "accessToken": "", "name": "Jawg.Sunny" }, "Dark": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-dark", "accessToken": "", "name": "Jawg.Dark" }, "Light": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-light", "accessToken": "", "name": "Jawg.Light" }, "Matrix": { "url": "https://tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}", "html_attribution": "© JawgMaps © OpenStreetMap contributors", "attribution": "(C) **Jawg** Maps (C) OpenStreetMap contributors", "min_zoom": 0, "max_zoom": 22, "variant": "jawg-matrix", "accessToken": "", "name": "Jawg.Matrix" } }, "MapBox": { "url": "https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}{r}?access_token={accessToken}", "html_attribution": "© Mapbox © OpenStreetMap contributors Improve this map", "attribution": "(C) Mapbox (C) OpenStreetMap contributors Improve this map", "tileSize": 512, "max_zoom": 18, "zoomOffset": -1, "id": "mapbox/streets-v11", "accessToken": "", "name": "MapBox" }, "MapTiler": { "Streets": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "streets-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Streets" }, "Basic": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "basic-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Basic" }, "Bright": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "bright-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Bright" }, "Pastel": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "pastel", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Pastel" }, "Positron": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "positron", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Positron" }, "Hybrid": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "hybrid", "ext": "jpg", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Hybrid" }, "Toner": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "toner-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Toner" }, "Topo": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "topo-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Topo" }, "Voyager": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "voyager-v2", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Voyager" }, "Ocean": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "ocean", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Ocean" }, "Backdrop": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "backdrop", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Backdrop" }, "Dataviz": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "dataviz", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Dataviz" }, "DatavizLight": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "dataviz-light", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.DatavizLight" }, "DatavizDark": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "dataviz-dark", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.DatavizDark" }, "Aquarelle": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "aquarelle", "ext": "webp", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Aquarelle" }, "Landscape": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "landscape", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Landscape" }, "Openstreetmap": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "openstreetmap", "ext": "jpg", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Openstreetmap" }, "Outdoor": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "outdoor", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Outdoor" }, "Satellite": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "satellite-v2", "ext": "jpg", "key": "", "min_zoom": 0, "max_zoom": 20, "name": "MapTiler.Satellite" }, "Winter": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "winter", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Winter" }, "Basic4326": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "basic-4326", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Basic4326", "crs": "EPSG:4326" }, "Topographique": { "url": "https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "topographique", "ext": "png", "key": "", "tileSize": 512, "zoomOffset": -1, "min_zoom": 0, "max_zoom": 21, "name": "MapTiler.Topographique" }, "Terrain": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.{ext}?key={key}", "html_attribution": "© MapTiler © OpenStreetMap contributors", "attribution": "(C) MapTiler (C) OpenStreetMap contributors", "variant": "terrain-rgb", "ext": "png", "key": "", "min_zoom": 0, "max_zoom": 12, "name": "MapTiler.Terrain" } }, "TomTom": { "Basic": { "url": "https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}", "variant": "basic", "max_zoom": 22, "html_attribution": "© 1992 - 2025 TomTom. ", "attribution": "(C) 1992 - 2025 TomTom.", "subdomains": "abcd", "style": "main", "ext": "png", "apikey": "", "name": "TomTom.Basic" }, "Hybrid": { "url": "https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}", "variant": "hybrid", "max_zoom": 22, "html_attribution": "© 1992 - 2025 TomTom. ", "attribution": "(C) 1992 - 2025 TomTom.", "subdomains": "abcd", "style": "main", "ext": "png", "apikey": "", "name": "TomTom.Hybrid" }, "Labels": { "url": "https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}", "variant": "labels", "max_zoom": 22, "html_attribution": "© 1992 - 2025 TomTom. ", "attribution": "(C) 1992 - 2025 TomTom.", "subdomains": "abcd", "style": "main", "ext": "png", "apikey": "", "name": "TomTom.Labels" } }, "Esri": { "WorldStreetMap": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Street_Map", "html_attribution": "Tiles © Esri — Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012", "attribution": "Tiles (C) Esri -- Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012", "name": "Esri.WorldStreetMap" }, "WorldTopoMap": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Topo_Map", "html_attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "attribution": "Tiles (C) Esri -- Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "name": "Esri.WorldTopoMap" }, "WorldImagery": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Imagery", "html_attribution": "Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community", "attribution": "Tiles (C) Esri -- Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community", "name": "Esri.WorldImagery" }, "WorldTerrain": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Terrain_Base", "html_attribution": "Tiles © Esri — Source: USGS, Esri, TANA, DeLorme, and NPS", "attribution": "Tiles (C) Esri -- Source: USGS, Esri, TANA, DeLorme, and NPS", "max_zoom": 13, "name": "Esri.WorldTerrain" }, "WorldShadedRelief": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Shaded_Relief", "html_attribution": "Tiles © Esri — Source: Esri", "attribution": "Tiles (C) Esri -- Source: Esri", "max_zoom": 13, "name": "Esri.WorldShadedRelief" }, "WorldPhysical": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "World_Physical_Map", "html_attribution": "Tiles © Esri — Source: US National Park Service", "attribution": "Tiles (C) Esri -- Source: US National Park Service", "max_zoom": 8, "name": "Esri.WorldPhysical" }, "OceanBasemap": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "Ocean/World_Ocean_Base", "html_attribution": "Tiles © Esri — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri", "attribution": "Tiles (C) Esri -- Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri", "max_zoom": 13, "name": "Esri.OceanBasemap" }, "NatGeoWorldMap": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "NatGeo_World_Map", "html_attribution": "Tiles © Esri — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC", "attribution": "Tiles (C) Esri -- National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC", "max_zoom": 16, "name": "Esri.NatGeoWorldMap" }, "WorldGrayCanvas": { "url": "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}", "variant": "Canvas/World_Light_Gray_Base", "html_attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ", "attribution": "Tiles (C) Esri -- Esri, DeLorme, NAVTEQ", "max_zoom": 16, "name": "Esri.WorldGrayCanvas" }, "ArcticImagery": { "url": "http://server.arcgisonline.com/ArcGIS/rest/services/Polar/Arctic_Imagery/MapServer/tile/{z}/{y}/{x}", "variant": "Arctic_Imagery", "html_attribution": "Earthstar Geographics", "attribution": "Earthstar Geographics", "max_zoom": 24, "name": "Esri.ArcticImagery", "crs": "EPSG:5936", "bounds": [ [ -2623285.8808999993, -2623285.8808999993 ], [ 6623285.8803, 6623285.8803 ] ] }, "ArcticOceanBase": { "url": "http://server.arcgisonline.com/ArcGIS/rest/services/Polar/Arctic_Ocean_Base/MapServer/tile/{z}/{y}/{x}", "variant": "Arctic_Ocean_Base", "html_attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "max_zoom": 24, "name": "Esri.ArcticOceanBase", "crs": "EPSG:5936", "bounds": [ [ -2623285.8808999993, -2623285.8808999993 ], [ 6623285.8803, 6623285.8803 ] ] }, "ArcticOceanReference": { "url": "http://server.arcgisonline.com/ArcGIS/rest/services/Polar/Arctic_Ocean_Reference/MapServer/tile/{z}/{y}/{x}", "variant": "Arctic_Ocean_Reference", "html_attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "attribution": "Tiles © Esri — Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community", "max_zoom": 24, "name": "Esri.ArcticOceanReference", "crs": "EPSG:5936", "bounds": [ [ -2623285.8808999993, -2623285.8808999993 ], [ 6623285.8803, 6623285.8803 ] ] }, "AntarcticImagery": { "url": "http://server.arcgisonline.com/ArcGIS/rest/services/Polar/Antarctic_Imagery/MapServer/tile/{z}/{y}/{x}", "variant": "Antarctic_Imagery", "html_attribution": "Earthstar Geographics", "attribution": "Earthstar Geographics", "max_zoom": 24, "name": "Esri.AntarcticImagery", "crs": "EPSG:3031", "bounds": [ [ -9913957.327914657, -5730886.461772691 ], [ 9913957.327914657, 5730886.461773157 ] ] }, "AntarcticBasemap": { "url": "https://tiles.arcgis.com/tiles/C8EMgrsFcRFL6LrL/arcgis/rest/services/Antarctic_Basemap/MapServer/tile/{z}/{y}/{x}", "variant": "Antarctic_Basemap", "html_attribution": "Imagery provided by NOAA National Centers for Environmental Information (NCEI); International Bathymetric Chart of the Southern Ocean (IBCSO); General Bathymetric Chart of the Oceans (GEBCO).", "attribution": "Imagery provided by NOAA National Centers for Environmental Information (NCEI); International Bathymetric Chart of the Southern Ocean (IBCSO); General Bathymetric Chart of the Oceans (GEBCO).", "max_zoom": 9, "name": "Esri.AntarcticBasemap", "crs": "EPSG:3031", "bounds": [ [ -4524583.19363305, -4524449.487765655 ], [ 4524449.4877656475, 4524583.193633042 ] ] } }, "OpenWeatherMap": { "Clouds": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "clouds", "name": "OpenWeatherMap.Clouds" }, "CloudsClassic": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "clouds_cls", "name": "OpenWeatherMap.CloudsClassic" }, "Precipitation": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "precipitation", "name": "OpenWeatherMap.Precipitation" }, "PrecipitationClassic": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "precipitation_cls", "name": "OpenWeatherMap.PrecipitationClassic" }, "Rain": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "rain", "name": "OpenWeatherMap.Rain" }, "RainClassic": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "rain_cls", "name": "OpenWeatherMap.RainClassic" }, "Pressure": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "pressure", "name": "OpenWeatherMap.Pressure" }, "PressureContour": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "pressure_cntr", "name": "OpenWeatherMap.PressureContour" }, "Wind": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "wind", "name": "OpenWeatherMap.Wind" }, "Temperature": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "temp", "name": "OpenWeatherMap.Temperature" }, "Snow": { "url": "http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}", "max_zoom": 19, "html_attribution": "Map data © OpenWeatherMap", "attribution": "Map data (C) OpenWeatherMap", "apiKey": "", "opacity": 0.5, "variant": "snow", "name": "OpenWeatherMap.Snow" } }, "HERE": { "normalDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDay" }, "normalDayCustom": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.custom", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayCustom" }, "normalDayGrey": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayGrey" }, "normalDayMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayMobile" }, "normalDayGreyMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.grey.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayGreyMobile" }, "normalDayTransit": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayTransit" }, "normalDayTransitMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day.transit.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayTransitMobile" }, "normalDayTraffic": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "traffic", "variant": "normal.traffic.day", "max_zoom": 20, "type": "traffictile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalDayTraffic" }, "normalNight": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNight" }, "normalNightMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightMobile" }, "normalNightGrey": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightGrey" }, "normalNightGreyMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.grey.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightGreyMobile" }, "normalNightTransit": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightTransit" }, "normalNightTransitMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.night.transit.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.normalNightTransitMobile" }, "reducedDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "reduced.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.reducedDay" }, "reducedNight": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "reduced.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.reducedNight" }, "basicMap": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "basetile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.basicMap" }, "mapLabels": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "labeltile", "language": "eng", "format": "png", "size": "256", "name": "HERE.mapLabels" }, "trafficFlow": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "traffic", "variant": "normal.day", "max_zoom": 20, "type": "flowtile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.trafficFlow" }, "carnavDayGrey": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "carnav.day.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.carnavDayGrey" }, "hybridDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "hybrid.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDay" }, "hybridDayMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "hybrid.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDayMobile" }, "hybridDayTransit": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "hybrid.day.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDayTransit" }, "hybridDayGrey": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "hybrid.grey.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDayGrey" }, "hybridDayTraffic": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "traffic", "variant": "hybrid.traffic.day", "max_zoom": 20, "type": "traffictile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.hybridDayTraffic" }, "pedestrianDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "pedestrian.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.pedestrianDay" }, "pedestrianNight": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "base", "variant": "pedestrian.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.pedestrianNight" }, "satelliteDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "satellite.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.satelliteDay" }, "terrainDay": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "terrain.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.terrainDay" }, "terrainDayMobile": { "url": "https://{s}.{base}.maps.api.here.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?app_id={app_id}&app_code={app_code}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "app_id": "", "app_code": "", "base": "aerial", "variant": "terrain.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HERE.terrainDayMobile" } }, "HEREv3": { "normalDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDay" }, "normalDayCustom": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.custom", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayCustom" }, "normalDayGrey": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayGrey" }, "normalDayMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayMobile" }, "normalDayGreyMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.grey.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayGreyMobile" }, "normalDayTransit": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayTransit" }, "normalDayTransitMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day.transit.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalDayTransitMobile" }, "normalNight": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNight" }, "normalNightMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightMobile" }, "normalNightGrey": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightGrey" }, "normalNightGreyMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.grey.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightGreyMobile" }, "normalNightTransit": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightTransit" }, "normalNightTransitMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.night.transit.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.normalNightTransitMobile" }, "reducedDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "reduced.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.reducedDay" }, "reducedNight": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "reduced.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.reducedNight" }, "basicMap": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "basetile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.basicMap" }, "mapLabels": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "normal.day", "max_zoom": 20, "type": "labeltile", "language": "eng", "format": "png", "size": "256", "name": "HEREv3.mapLabels" }, "trafficFlow": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "traffic", "variant": "normal.day", "max_zoom": 20, "type": "flowtile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.trafficFlow", "status": "broken" }, "carnavDayGrey": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "carnav.day.grey", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.carnavDayGrey" }, "hybridDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "hybrid.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.hybridDay" }, "hybridDayMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "hybrid.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.hybridDayMobile" }, "hybridDayTransit": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "hybrid.day.transit", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.hybridDayTransit" }, "hybridDayGrey": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "hybrid.grey.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.hybridDayGrey" }, "pedestrianDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "pedestrian.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.pedestrianDay" }, "pedestrianNight": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "base", "variant": "pedestrian.night", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.pedestrianNight" }, "satelliteDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "satellite.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.satelliteDay" }, "terrainDay": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "terrain.day", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.terrainDay" }, "terrainDayMobile": { "url": "https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?apiKey={apiKey}&lg={language}", "html_attribution": "Map © 1987-2025 HERE", "attribution": "Map (C) 1987-2025 HERE", "subdomains": "1234", "mapID": "newest", "apiKey": "", "base": "aerial", "variant": "terrain.day.mobile", "max_zoom": 20, "type": "maptile", "language": "eng", "format": "png8", "size": "256", "name": "HEREv3.terrainDayMobile" } }, "FreeMapSK": { "url": "https://{s}.freemap.sk/T/{z}/{x}/{y}.jpeg", "min_zoom": 8, "max_zoom": 16, "subdomains": "abcd", "bounds": [ [ 47.204642, 15.996093 ], [ 49.830896, 22.576904 ] ], "html_attribution": "© OpenStreetMap contributors, visualization CC-By-SA 2.0 Freemap.sk", "attribution": "(C) OpenStreetMap contributors, visualization CC-By-SA 2.0 Freemap.sk", "name": "FreeMapSK" }, "MtbMap": { "url": "http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png", "html_attribution": "© OpenStreetMap contributors & USGS", "attribution": "(C) OpenStreetMap contributors & USGS", "name": "MtbMap" }, "CartoDB": { "Positron": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "light_all", "name": "CartoDB.Positron" }, "PositronNoLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "light_nolabels", "name": "CartoDB.PositronNoLabels" }, "PositronOnlyLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "light_only_labels", "name": "CartoDB.PositronOnlyLabels" }, "DarkMatter": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "dark_all", "name": "CartoDB.DarkMatter" }, "DarkMatterNoLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "dark_nolabels", "name": "CartoDB.DarkMatterNoLabels" }, "DarkMatterOnlyLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "dark_only_labels", "name": "CartoDB.DarkMatterOnlyLabels" }, "Voyager": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "rastertiles/voyager", "name": "CartoDB.Voyager" }, "VoyagerNoLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "rastertiles/voyager_nolabels", "name": "CartoDB.VoyagerNoLabels" }, "VoyagerOnlyLabels": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "rastertiles/voyager_only_labels", "name": "CartoDB.VoyagerOnlyLabels" }, "VoyagerLabelsUnder": { "url": "https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png", "html_attribution": "© OpenStreetMap contributors © CARTO", "attribution": "(C) OpenStreetMap contributors (C) CARTO", "subdomains": "abcd", "max_zoom": 20, "variant": "rastertiles/voyager_labels_under", "name": "CartoDB.VoyagerLabelsUnder" } }, "HikeBike": { "HikeBike": { "url": "https://tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 19, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "variant": "hikebike", "name": "HikeBike.HikeBike" }, "HillShading": { "url": "https://tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 15, "html_attribution": "© OpenStreetMap contributors", "attribution": "(C) OpenStreetMap contributors", "variant": "hillshading", "name": "HikeBike.HillShading" } }, "BasemapAT": { "basemap": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 20, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "png", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "geolandbasemap", "name": "BasemapAT.basemap" }, "grau": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "png", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmapgrau", "name": "BasemapAT.grau" }, "overlay": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "png", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmapoverlay", "name": "BasemapAT.overlay" }, "terrain": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "grau", "format": "jpeg", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmapgelaende", "name": "BasemapAT.terrain" }, "surface": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "grau", "format": "jpeg", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmapoberflaeche", "name": "BasemapAT.surface" }, "highdpi": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 19, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "jpeg", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmaphidpi", "name": "BasemapAT.highdpi" }, "orthofoto": { "url": "https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}", "max_zoom": 20, "html_attribution": "Datenquelle: basemap.at", "attribution": "Datenquelle: basemap.at", "type": "normal", "format": "jpeg", "bounds": [ [ 46.35877, 8.782379 ], [ 49.037872, 17.189532 ] ], "variant": "bmaporthofoto30cm", "name": "BasemapAT.orthofoto" } }, "nlmaps": { "standaard": { "url": "https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "variant": "standaard", "name": "nlmaps.standaard" }, "pastel": { "url": "https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "variant": "pastel", "name": "nlmaps.pastel" }, "grijs": { "url": "https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "variant": "grijs", "name": "nlmaps.grijs" }, "water": { "url": "https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "variant": "water", "name": "nlmaps.water" }, "luchtfoto": { "url": "https://service.pdok.nl/hwh/luchtfotorgb/wmts/v1_0/Actueel_ortho25/EPSG:3857/{z}/{x}/{y}.jpeg", "min_zoom": 6, "max_zoom": 19, "bounds": [ [ 50.5, 3.25 ], [ 54, 7.6 ] ], "html_attribution": "Kaartgegevens © Kadaster", "attribution": "Kaartgegevens (C) Kadaster", "name": "nlmaps.luchtfoto" } }, "NASAGIBS": { "ModisTerraTrueColorCR": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 9, "format": "jpg", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_CorrectedReflectance_TrueColor", "name": "NASAGIBS.ModisTerraTrueColorCR" }, "ModisTerraBands367CR": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 9, "format": "jpg", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_CorrectedReflectance_Bands367", "name": "NASAGIBS.ModisTerraBands367CR" }, "ViirsEarthAtNight2012": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 8, "format": "jpg", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "VIIRS_CityLights_2012", "name": "NASAGIBS.ViirsEarthAtNight2012" }, "ModisTerraLSTDay": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 7, "format": "png", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_Land_Surface_Temp_Day", "opacity": 0.75, "name": "NASAGIBS.ModisTerraLSTDay" }, "ModisTerraSnowCover": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 8, "format": "png", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_NDSI_Snow_Cover", "opacity": 0.75, "name": "NASAGIBS.ModisTerraSnowCover" }, "ModisTerraAOD": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 6, "format": "png", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_Aerosol", "opacity": 0.75, "name": "NASAGIBS.ModisTerraAOD" }, "ModisTerraChlorophyll": { "url": "https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{max_zoom}/{z}/{y}/{x}.{format}", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "bounds": [ [ -85.0511287776, -179.999999975 ], [ 85.0511287776, 179.999999975 ] ], "min_zoom": 1, "max_zoom": 7, "format": "png", "time": "", "tilematrixset": "GoogleMapsCompatible_Level", "variant": "MODIS_Terra_L2_Chlorophyll_A", "opacity": 0.75, "name": "NASAGIBS.ModisTerraChlorophyll", "status": "broken" }, "ModisTerraBands721CR": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Terra_CorrectedReflectance_Bands721/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg", "max_zoom": 9, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ModisTerraBands721CR", "time": "" }, "ModisAquaTrueColorCR": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Aqua_CorrectedReflectance_TrueColor/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg", "max_zoom": 9, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ModisAquaTrueColorCR", "time": "" }, "ModisAquaBands721CR": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/MODIS_Aqua_CorrectedReflectance_Bands721/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg", "max_zoom": 9, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ModisAquaBands721CR", "time": "" }, "ViirsTrueColorCR": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/VIIRS_SNPP_CorrectedReflectance_TrueColor/default/{time}/GoogleMapsCompatible_Level9/{z}/{y}/{x}.jpg", "max_zoom": 9, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ViirsTrueColorCR", "time": "" }, "BlueMarble": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/BlueMarble_NextGeneration/default/GoogleMapsCompatible_Level8/{z}/{y}/{x}.jpeg", "max_zoom": 8, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarble", "crs": "EPSG:3857" }, "BlueMarble3413": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/BlueMarble_NextGeneration/default/500m/{z}/{y}/{x}.jpeg", "max_zoom": 5, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarble3413", "crs": "EPSG:3413" }, "BlueMarble3031": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3031/best/BlueMarble_NextGeneration/default/500m/{z}/{y}/{x}.jpeg", "max_zoom": 5, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarble3031", "crs": "EPSG:3031" }, "BlueMarbleBathymetry3413": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/BlueMarble_ShadedRelief_Bathymetry/default/500m/{z}/{y}/{x}.jpeg", "max_zoom": 5, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarbleBathymetry3413", "crs": "EPSG:3413" }, "BlueMarbleBathymetry3031": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3031/best/BlueMarble_ShadedRelief_Bathymetry/default/500m/{z}/{y}/{x}.jpeg", "max_zoom": 5, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.BlueMarbleBathymetry3031", "crs": "EPSG:3031" }, "MEaSUREsIceVelocity3413": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3413/best/MEaSUREs_Ice_Velocity_Greenland/default/500m/{z}/{y}/{x}", "max_zoom": 4, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.MEaSUREsIceVelocity3413", "crs": "EPSG:3413" }, "MEaSUREsIceVelocity3031": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3031/best/MEaSUREs_Ice_Velocity_Antarctica/default/500m/{z}/{y}/{x}", "max_zoom": 4, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.MEaSUREsIceVelocity3031", "crs": "EPSG:3031" }, "ASTER_GDEM_Greyscale_Shaded_Relief": { "url": "https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/ASTER_GDEM_Greyscale_Shaded_Relief/default/GoogleMapsCompatible_Level12/{z}/{y}/{x}.jpg", "max_zoom": 12, "attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "html_attribution": "Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.", "name": "NASAGIBS.ASTER_GDEM_Greyscale_Shaded_Relief" } }, "NLS": { "osgb63k1885": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb63k1885", "name": "NLS.osgb63k1885" }, "osgb1888": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb1888", "name": "NLS.osgb1888" }, "osgb10k1888": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb10k1888", "name": "NLS.osgb10k1888" }, "osgb1919": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb1919", "name": "NLS.osgb1919" }, "osgb25k1937": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb25k1937", "name": "NLS.osgb25k1937" }, "osgb63k1955": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-osgb63k1955", "name": "NLS.osgb63k1955" }, "oslondon1k1893": { "url": "https://api.maptiler.com/tiles/{variant}/{z}/{x}/{y}.jpg?key={apikey}", "html_attribution": "National Library of Scotland Historic Maps", "attribution": "National Library of Scotland Historic Maps", "bounds": [ [ 49.6, -12 ], [ 61.7, 3 ] ], "min_zoom": 1, "max_zoom": 18, "apikey": "", "variant": "uk-oslondon1k1893", "name": "NLS.oslondon1k1893" } }, "JusticeMap": { "income": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "income", "name": "JusticeMap.income", "status": "broken" }, "americanIndian": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "indian", "name": "JusticeMap.americanIndian", "status": "broken" }, "asian": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "asian", "name": "JusticeMap.asian", "status": "broken" }, "black": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "black", "name": "JusticeMap.black", "status": "broken" }, "hispanic": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "hispanic", "name": "JusticeMap.hispanic", "status": "broken" }, "multi": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "multi", "name": "JusticeMap.multi", "status": "broken" }, "nonWhite": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "nonwhite", "name": "JusticeMap.nonWhite", "status": "broken" }, "white": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "white", "name": "JusticeMap.white", "status": "broken" }, "plurality": { "url": "https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png", "html_attribution": "Justice Map", "attribution": "Justice Map", "size": "county", "bounds": [ [ 14, -180 ], [ 72, -56 ] ], "variant": "plural", "name": "JusticeMap.plurality", "status": "broken" } }, "GeoportailFrance": { "plan": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -85.0, -179.9 ], [ 85.0, 179.9 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2", "name": "GeoportailFrance.plan", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "parcels": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/png", "style": "PCI vecteur", "variant": "CADASTRALPARCELS.PARCELLAIRE_EXPRESS", "name": "GeoportailFrance.parcels", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "orthos": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 21, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS", "name": "GeoportailFrance.orthos", "TileMatrixSet": "PM_0_21", "apikey": "your_api_key_here" }, "500k": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.38, -6.0 ], [ 51.45, 11.15 ] ], "min_zoom": 0, "max_zoom": 11, "format": "image/jpeg", "style": "normal", "variant": "500k", "name": "GeoportailFrance.500k", "TileMatrixSet": "PM_0_11", "apikey": "your_api_key_here" }, "Acces_Biomethane": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ACCES.BIOMETHANE", "variant": "ACCES.BIOMETHANE", "name": "GeoportailFrance.Acces_Biomethane", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_carto_Latest": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG-CARTO.LATEST", "name": "GeoportailFrance.Adminexpress_cog_carto_Latest", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.2017", "name": "GeoportailFrance.Adminexpress_cog_2017", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_2018": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.2018", "name": "GeoportailFrance.Adminexpress_cog_2018", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.2019", "name": "GeoportailFrance.Adminexpress_cog_2019", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.2020", "name": "GeoportailFrance.Adminexpress_cog_2020", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.2021", "name": "GeoportailFrance.Adminexpress_cog_2021", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_2022": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.2022", "name": "GeoportailFrance.Adminexpress_cog_2022", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.2023", "name": "GeoportailFrance.Adminexpress_cog_2023", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_2024": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.2024", "name": "GeoportailFrance.Adminexpress_cog_2024", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_2025": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.2025", "name": "GeoportailFrance.Adminexpress_cog_2025", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Adminexpress_cog_Latest": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ADMINEXPRESS-COG.LATEST", "name": "GeoportailFrance.Adminexpress_cog_Latest", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Areamanagement_Zfu": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "AREAMANAGEMENT.ZFU", "name": "GeoportailFrance.Areamanagement_Zfu", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Areamanagement_Zus": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "AREAMANAGEMENT.ZUS", "name": "GeoportailFrance.Areamanagement_Zus", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Aire-parcellaire": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "Aire-Parcellaire", "name": "GeoportailFrance.Aire-parcellaire", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Bdcarto_etat_major_Niveau3": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.0, -5.5 ], [ 52.0, 10.0 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "BDCARTO_ETAT-MAJOR.NIVEAU3", "name": "GeoportailFrance.Bdcarto_etat_major_Niveau3", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Bdcarto_etat_major_Niveau4": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "BDCARTO_ETAT-MAJOR.NIVEAU4", "name": "GeoportailFrance.Bdcarto_etat_major_Niveau4", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Besoin_Chaleur_Industriel": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "BESOIN.CHALEUR.INDUSTRIEL", "variant": "BESOIN.CHALEUR.INDUSTRIEL", "name": "GeoportailFrance.Besoin_Chaleur_Industriel", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Besoin_Chaleur_Residentiel": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "BESOIN.CHALEUR.RESIDENTIEL", "variant": "BESOIN.CHALEUR.RESIDENTIEL", "name": "GeoportailFrance.Besoin_Chaleur_Residentiel", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Besoin_Chaleur_Tertiaire": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "BESOIN.CHALEUR.TERTIAIRE", "variant": "BESOIN.CHALEUR.TERTIAIRE", "name": "GeoportailFrance.Besoin_Chaleur_Tertiaire", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Besoin_Froid_Residentiel": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "BESOIN.FROID.RESIDENTIEL", "variant": "BESOIN.FROID.RESIDENTIEL", "name": "GeoportailFrance.Besoin_Froid_Residentiel", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Besoin_Froid_Tertiaire": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "BESOIN.FROID.TERTIAIRE", "variant": "BESOIN.FROID.TERTIAIRE", "name": "GeoportailFrance.Besoin_Froid_Tertiaire", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Bnf_ignf_geographicalgridsystems_Cassini": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.9343, -6.39486 ], [ 51.8839, 9.96282 ] ], "min_zoom": 6, "max_zoom": 14, "format": "image/png", "style": "normal", "variant": "BNF-IGNF_GEOGRAPHICALGRIDSYSTEMS.CASSINI", "name": "GeoportailFrance.Bnf_ignf_geographicalgridsystems_Cassini", "TileMatrixSet": "PM_6_14", "apikey": "your_api_key_here" }, "Buildings_Buildings": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4969, -63.9692 ], [ 71.5841, 55.9644 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "BUILDINGS.BUILDINGS", "variant": "BUILDINGS.BUILDINGS", "name": "GeoportailFrance.Buildings_Buildings", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Cadastral_Parcels_Sections": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 13, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "CADASTRAL.PARCELS.SECTIONS", "name": "GeoportailFrance.Cadastral_Parcels_Sections", "TileMatrixSet": "PM_13_18", "apikey": "your_api_key_here" }, "Cadastralparcels_Heatmap": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "DECALAGE DE LA REPRESENTATION CADASTRALE", "variant": "CADASTRALPARCELS.HEATMAP", "name": "GeoportailFrance.Cadastralparcels_Heatmap", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Cadastralparcels_Histo_2008_2013_Parcels": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3922, -63.1607 ], [ 51.0945, 55.8464 ] ], "min_zoom": 0, "max_zoom": 20, "format": "image/png", "style": "bdparcellaire", "variant": "CADASTRALPARCELS.HISTO.2008-2013.PARCELS", "name": "GeoportailFrance.Cadastralparcels_Histo_2008_2013_Parcels", "TileMatrixSet": "PM_0_20", "apikey": "your_api_key_here" }, "Cadastralparcels_Parcellaire_express_L93": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.1505 ], [ 51.0991, 9.5705 ] ], "min_zoom": 12, "max_zoom": 20, "format": "image/png", "style": "PCI vecteur", "variant": "CADASTRALPARCELS.PARCELLAIRE_EXPRESS.L93", "name": "GeoportailFrance.Cadastralparcels_Parcellaire_express_L93", "TileMatrixSet": "2154_10cm_12_20", "apikey": "your_api_key_here", "status": "broken" }, "Cadastralparcels_Parcels": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3922, -63.1607 ], [ 51.091, 55.8464 ] ], "min_zoom": 0, "max_zoom": 20, "format": "image/png", "style": "normal", "variant": "CADASTRALPARCELS.PARCELS", "name": "GeoportailFrance.Cadastralparcels_Parcels", "TileMatrixSet": "PM_0_20", "apikey": "your_api_key_here" }, "Cadastralparcels_Parcels_L93": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -41.0, -6.0 ], [ 52.0, 10.0 ] ], "min_zoom": 6, "max_zoom": 20, "format": "image/png", "style": "normal", "variant": "CADASTRALPARCELS.PARCELS.L93", "name": "GeoportailFrance.Cadastralparcels_Parcels_L93", "TileMatrixSet": "2154_10cm_6_20", "apikey": "your_api_key_here" }, "Cadastralparcels_Qualrefbdp": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "DIVCAD_MTD", "variant": "CADASTRALPARCELS.QUALREFBDP", "name": "GeoportailFrance.Cadastralparcels_Qualrefbdp", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Cadastres_Solaires_Locaux": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "CADASTRES.SOLAIRES.LOCAUX", "variant": "CADASTRES.SOLAIRES.LOCAUX", "name": "GeoportailFrance.Cadastres_Solaires_Locaux", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Capacite_Accueil_Electrique": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "CAPACITE.ACCUEIL.ELECTRIQUE", "variant": "CAPACITE.ACCUEIL.ELECTRIQUE", "name": "GeoportailFrance.Capacite_Accueil_Electrique", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Cartes-14-18-edugeo_pyr-png_fxx_wm": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.9421, 4.79205 ], [ 49.5144, 5.9969 ] ], "min_zoom": 6, "max_zoom": 13, "format": "image/png", "style": "normal", "variant": "CARTES-14-18-EDUGEO_PYR-PNG_FXX_WM", "name": "GeoportailFrance.Cartes-14-18-edugeo_pyr-png_fxx_wm", "TileMatrixSet": "PM_6_13", "apikey": "your_api_key_here" }, "Cartes_Naturalearth": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 1, "max_zoom": 9, "format": "image/jpeg", "style": "normal", "variant": "CARTES.NATURALEARTH", "name": "GeoportailFrance.Cartes_Naturalearth", "TileMatrixSet": "PM_1_9", "apikey": "your_api_key_here" }, "Cget_qp_bdd_wld_wm_wmts_20150914": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "CGET_QP_BDD_WLD_WM_WMTS_20150914", "name": "GeoportailFrance.Cget_qp_bdd_wld_wm_wmts_20150914", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Communes_Prioritydisctrict": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "COMMUNES.PRIORITYDISCTRICT", "name": "GeoportailFrance.Communes_Prioritydisctrict", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Communes_Sismicite": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "COMMUNES.SISMICITE", "name": "GeoportailFrance.Communes_Sismicite", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Conso_Elec_Commune": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "CONSO.ELEC.COMMUNE", "variant": "CONSO.ELEC.COMMUNE", "name": "GeoportailFrance.Conso_Elec_Commune", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Conso_Gaz_Commune": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "CONSO.GAZ.COMMUNE", "variant": "CONSO.GAZ.COMMUNE", "name": "GeoportailFrance.Conso_Gaz_Commune", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Cosia": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.8392, -1.99328 ], [ 48.3882, -1.42008 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "COSIA", "name": "GeoportailFrance.Cosia", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Carhab_habitat": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "Carhab_habitat", "name": "GeoportailFrance.Carhab_habitat", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Debroussaillement": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "nolegend", "variant": "DEBROUSSAILLEMENT", "name": "GeoportailFrance.Debroussaillement", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Delaisses_Autoroutiers": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "DELAISSES.AUTOROUTIERS", "variant": "DELAISSES.AUTOROUTIERS", "name": "GeoportailFrance.Delaisses_Autoroutiers", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Dreal_Zonage_pinel": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.2719, -5.15012 ], [ 48.9064, -1.00687 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "DREAL.ZONAGE_PINEL", "name": "GeoportailFrance.Dreal_Zonage_pinel", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Edugeo_Landuse_Agriculture2012": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "EDUGEO.LANDUSE.AGRICULTURE2012", "name": "GeoportailFrance.Edugeo_Landuse_Agriculture2012", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Edugeo_Naturalriskzones_1910floodedwatersheds": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.4163, 0.419457 ], [ 50.064, 5.43248 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "EDUGEO.NATURALRISKZONES.1910FLOODEDWATERSHEDS", "name": "GeoportailFrance.Edugeo_Naturalriskzones_1910floodedwatersheds", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Elevation_Contour_Line": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ELEVATION.CONTOUR.LINE", "name": "GeoportailFrance.Elevation_Contour_Line", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Elevation_Elevationgridcoverage_Shadow": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4069, -63.187 ], [ 50.9218, 55.8884 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/png", "style": "estompage_grayscale", "variant": "ELEVATION.ELEVATIONGRIDCOVERAGE.SHADOW", "name": "GeoportailFrance.Elevation_Elevationgridcoverage_Shadow", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Elevation_Elevationgridcoverage_Threshold": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 3, "max_zoom": 17, "format": "image/png", "style": "ELEVATION.ELEVATIONGRIDCOVERAGE.THRESHOLD", "variant": "ELEVATION.ELEVATIONGRIDCOVERAGE.THRESHOLD", "name": "GeoportailFrance.Elevation_Elevationgridcoverage_Threshold", "TileMatrixSet": "PM_3_17", "apikey": "your_api_key_here" }, "Elevation_Level0": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.51, -63.2529 ], [ 51.1388, 55.9472 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ELEVATION.LEVEL0", "name": "GeoportailFrance.Elevation_Level0", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Elevation_Slopes": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 6, "max_zoom": 14, "format": "image/jpeg", "style": "normal", "variant": "ELEVATION.SLOPES", "name": "GeoportailFrance.Elevation_Slopes", "TileMatrixSet": "PM_6_14", "apikey": "your_api_key_here" }, "Elevation_Slopes_Highres": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 42.9786, 5.75296 ], [ 43.2733, 6.25761 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ELEVATION.SLOPES.HIGHRES", "name": "GeoportailFrance.Elevation_Slopes_Highres", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Elevationgridcoverage_Highres_Quality": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "Graphe de source du RGE Alti", "variant": "ELEVATIONGRIDCOVERAGE.HIGHRES.QUALITY", "name": "GeoportailFrance.Elevationgridcoverage_Highres_Quality", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enr_Aero_Civil": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "ENR.AERO.CIVIL", "variant": "ENR.AERO.CIVIL", "name": "GeoportailFrance.Enr_Aero_Civil", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Enr_Aero_Militaire": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "ENR.AERO.MILITAIRE", "variant": "ENR.AERO.MILITAIRE", "name": "GeoportailFrance.Enr_Aero_Militaire", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Enr_Grands_Sites_France": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENR.GRANDS.SITES.FRANCE", "variant": "ENR.GRANDS.SITES.FRANCE", "name": "GeoportailFrance.Enr_Grands_Sites_France", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enr_Perimetre_Habitation": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PERIMETRE.HABITATION", "variant": "ENR.PERIMETRE.HABITATION", "name": "GeoportailFrance.Enr_Perimetre_Habitation", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Enr_Perimetre_Pente": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PERIMETRE.PENTE", "variant": "ENR.PERIMETRE.PENTE", "name": "GeoportailFrance.Enr_Perimetre_Pente", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Enr_Perimetre_Route": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PERIMETRE.ROUTE", "variant": "ENR.PERIMETRE.ROUTE", "name": "GeoportailFrance.Enr_Perimetre_Route", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Enr_Perimetre_Voie_Ferree": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PERIMETRE.VOIE.FERREE", "variant": "ENR.PERIMETRE.VOIE.FERREE", "name": "GeoportailFrance.Enr_Perimetre_Voie_Ferree", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enrezo_Besoins_Chaud": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENREZO.BESOINS.CHAUD", "variant": "ENREZO.BESOINS.CHAUD", "name": "GeoportailFrance.Enrezo_Besoins_Chaud", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enrezo_Besoins_Froid": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENREZO.BESOINS.FROID", "variant": "ENREZO.BESOINS.FROID", "name": "GeoportailFrance.Enrezo_Besoins_Froid", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enrezo_Chaleur_Fatale_500_Industries": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENREZO.CHALEUR.FATALE.500.INDUSTRIES", "variant": "ENREZO.CHALEUR.FATALE.500.INDUSTRIES", "name": "GeoportailFrance.Enrezo_Chaleur_Fatale_500_Industries", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enrezo_Chaleur_Fatale_Datacenter": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENREZO.CHALEUR.FATALE.DATACENTER", "variant": "ENREZO.CHALEUR.FATALE.DATACENTER", "name": "GeoportailFrance.Enrezo_Chaleur_Fatale_Datacenter", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enrezo_Chaleur_Fatale_Step": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENREZO.CHALEUR.FATALE.STEP", "variant": "ENREZO.CHALEUR.FATALE.STEP", "name": "GeoportailFrance.Enrezo_Chaleur_Fatale_Step", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enrezo_Zone_Potentiel_Chaud": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENREZO.ZONE.POTENTIEL.CHAUD", "variant": "ENREZO.ZONE.POTENTIEL.CHAUD", "name": "GeoportailFrance.Enrezo_Zone_Potentiel_Chaud", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enrezo_Zone_Potentiel_Fort_Chaud": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENREZO.ZONE.POTENTIEL.FORT.CHAUD", "variant": "ENREZO.ZONE.POTENTIEL.FORT.CHAUD", "name": "GeoportailFrance.Enrezo_Zone_Potentiel_Fort_Chaud", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enrezo_Zone_Potentiel_Fort_Froid": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENREZO.ZONE.POTENTIEL.FORT.FROID", "variant": "ENREZO.ZONE.POTENTIEL.FORT.FROID", "name": "GeoportailFrance.Enrezo_Zone_Potentiel_Fort_Froid", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Enrezo_Zone_Potentiel_Froid": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "ENREZO.ZONE.POTENTIEL.FROID", "variant": "ENREZO.ZONE.POTENTIEL.FROID", "name": "GeoportailFrance.Enrezo_Zone_Potentiel_Froid", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Evol-surface-forestiere-1980-2011_edugeo_pyr-png_fxx_lamb93_20150918": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/png", "style": "normal", "variant": "EVOL-SURFACE-FORESTIERE-1980-2011_EDUGEO_PYR-PNG_FXX_LAMB93_20150918", "name": "GeoportailFrance.Evol-surface-forestiere-1980-2011_edugeo_pyr-png_fxx_lamb93_20150918", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Forets_Publiques": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 3, "max_zoom": 16, "format": "image/png", "style": "FORETS PUBLIQUES ONF", "variant": "FORETS.PUBLIQUES", "name": "GeoportailFrance.Forets_Publiques", "TileMatrixSet": "PM_3_16", "apikey": "your_api_key_here" }, "Gaz_Corridor_Distribution": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "GAZ.CORRIDOR.DISTRIBUTION", "variant": "GAZ.CORRIDOR.DISTRIBUTION", "name": "GeoportailFrance.Gaz_Corridor_Distribution", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Gaz_Corridor_Transport": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "GAZ.CORRIDOR.TRANSPORT", "variant": "GAZ.CORRIDOR.TRANSPORT", "name": "GeoportailFrance.Gaz_Corridor_Transport", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Gaz_Reseau_Distribution": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "GAZ.RESEAU.DISTRIBUTION", "variant": "GAZ.RESEAU.DISTRIBUTION", "name": "GeoportailFrance.Gaz_Reseau_Distribution", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Gaz_Reseau_Transport": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "GAZ.RESEAU.TRANSPORT", "variant": "GAZ.RESEAU.TRANSPORT", "name": "GeoportailFrance.Gaz_Reseau_Transport", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystem_Dfci": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEM.DFCI", "name": "GeoportailFrance.Geographicalgridsystem_Dfci", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_1900typemaps": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.4726, 1.62941 ], [ 49.1548, 3.0 ] ], "min_zoom": 10, "max_zoom": 15, "format": "image/jpeg", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.1900TYPEMAPS", "name": "GeoportailFrance.Geographicalgridsystems_1900typemaps", "TileMatrixSet": "PM_10_15", "apikey": "your_api_key_here" }, "Geographicalgridsystems_1914_11_15_arras_verdun_belfort_fronts_600k": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.3396, 0.87353 ], [ 51.2857, 8.88521 ] ], "min_zoom": 6, "max_zoom": 10, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.1914_11_15_ARRAS_VERDUN_BELFORT_fronts_600K", "name": "GeoportailFrance.Geographicalgridsystems_1914_11_15_arras_verdun_belfort_fronts_600k", "TileMatrixSet": "PM_6_10", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Bonne": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -0.49941, -55.9127 ], [ 7.88966, -50.0835 ] ], "min_zoom": 0, "max_zoom": 10, "format": "image/jpeg", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.BONNE", "name": "GeoportailFrance.Geographicalgridsystems_Bonne", "TileMatrixSet": "PM_0_10", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Coastalmaps": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.5205, -61.8799 ], [ 51.1895, 56.1352 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.COASTALMAPS", "name": "GeoportailFrance.Geographicalgridsystems_Coastalmaps", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Douaumont_fort_positions_5k_18mai1916": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.2064, 5.42696 ], [ 49.2229, 5.45493 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.DOUAUMONT_FORT_positions_5K_18mai1916", "name": "GeoportailFrance.Geographicalgridsystems_Douaumont_fort_positions_5k_18mai1916", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Ajaccio1976": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.6654, 8.507 ], [ 42.0381, 9.13252 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.AJACCIO1976", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Ajaccio1976", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Belfort_montbelliard1973": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.3676, 6.50535 ], [ 47.8735, 7.25597 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.BELFORT-MONTBELLIARD1973", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Belfort_montbelliard1973", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Berry_sud1952": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 46.168, 1.00082 ], [ 46.6854, 1.75144 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.BERRY-SUD1952", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Berry_sud1952", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Bethune1956": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 50.17, 2.37696 ], [ 50.6484, 3.37778 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.BETHUNE1956", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Bethune1956", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Biarritz1979": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.1433, -1.87654 ], [ 43.6885, -1.25103 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.BIARRITZ1979", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Biarritz1979", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Bourg_st_maurice1974": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.3827, 6.50535 ], [ 45.7331, 7.13087 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.BOURG-ST-MAURICE1974", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Bourg_st_maurice1974", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Caen1969": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.035, -0.875721 ], [ 49.4434, -0.125103 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.CAEN1969", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Caen1969", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Cap_dagde1971": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.1433, 3.00247 ], [ 43.5073, 3.62799 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.CAP-DAGDE1971", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Cap_dagde1971", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Clermont_ferrand1966": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.6457, 2.75227 ], [ 45.9944, 3.37778 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.CLERMONT-FERRAND1966", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Clermont_ferrand1966", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Creil_sud_picardie1979": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.035, 2.25185 ], [ 49.6058, 3.12757 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.CREIL-SUD-PICARDIE1979", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Creil_sud_picardie1979", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Dijon1962": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 46.9422, 4.75391 ], [ 47.5368, 5.37943 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.DIJON1962", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Dijon1962", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Douaumont1916": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.1519, 5.38761 ], [ 49.2326, 5.49243 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.Douaumont1916", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Douaumont1916", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Grenoble1965": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.9416, 5.50453 ], [ 45.3827, 6.13005 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.GRENOBLE1965", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Grenoble1965", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Grenoble1976": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.0301, 5.50453 ], [ 45.4705, 6.25515 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.GRENOBLE1976", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Grenoble1976", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Grenoble1991": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.9416, 5.50453 ], [ 45.3827, 6.13005 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.GRENOBLE1991", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Grenoble1991", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Guadeloupe1955": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 16.1695, -61.6758 ], [ 16.6495, -61.3005 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.GUADELOUPE1955", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Guadeloupe1955", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Guyane1958": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 5.12238, -54.4198 ], [ 5.99398, -53.419 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.GUYANE1958", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Guyane1958", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_La_reunion1980": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4954, 55.0453 ], [ -20.6783, 55.6708 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.LA-REUNION1980", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_La_reunion1980", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_La_rochelle_rochefort1959": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.7331, -1.37613 ], [ 46.4273, -0.750618 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.LA-ROCHELLE-ROCHEFORT1959", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_La_rochelle_rochefort1959", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Le_havre1975": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.2805, -0.125103 ], [ 49.6868, 0.500412 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.LE-HAVRE1975", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Le_havre1975", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Le_havre1979": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.2805, -0.125103 ], [ 49.6868, 0.625515 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.LE-HAVRE1979", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Le_havre1979", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Limoges1966": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.6457, 1.00082 ], [ 45.9944, 1.50124 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.LIMOGES1966", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Limoges1966", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Lyon1947": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.4705, 4.50371 ], [ 46.0813, 5.37943 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.LYON1947", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Lyon1947", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Lyon1980": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.4705, 4.62881 ], [ 45.9944, 5.12922 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.LYON1980", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Lyon1980", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Lyon1985": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.5582, 4.62881 ], [ 45.9944, 5.12922 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.LYON1985", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Lyon1985", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Le_mort_homme_et_ses_environs_avril_1916": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.1978, 5.20969 ], [ 49.2602, 5.31045 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.Le-Mort-Homme-et-ses-environs-avril-1916", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Le_mort_homme_et_ses_environs_avril_1916", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Marne_la_vallee1966": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7059, 2.37696 ], [ 49.035, 3.12757 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.MARNE-LA-VALLEE1966", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Marne_la_vallee1966", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Marne_la_vallee1978": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7059, 2.37696 ], [ 49.035, 2.75227 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.MARNE-LA-VALLEE1978", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Marne_la_vallee1978", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Marne_la_vallee1987": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7059, 2.37696 ], [ 49.035, 3.12757 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.MARNE-LA-VALLEE1987", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Marne_la_vallee1987", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Marseille_martigues1947": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.052, 4.50371 ], [ 43.6885, 5.62963 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.MARSEILLE-MARTIGUES1947", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Marseille_martigues1947", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Marseille_martigues1980": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.052, 5.00412 ], [ 43.5073, 5.62963 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.MARSEILLE-MARTIGUES1980", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Marseille_martigues1980", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Marseille_martigues1986": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.052, 4.87902 ], [ 43.6885, 5.62963 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.MARSEILLE-MARTIGUES1986", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Marseille_martigues1986", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Metz_nancy1983": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.4576, 5.75474 ], [ 49.362, 6.50535 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.METZ-NANCY1983", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Metz_nancy1983", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Nantes1972": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.0276, -2.50206 ], [ 47.4522, -1.25103 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.NANTES1972", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Nantes1972", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Paris1964": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7884, 2.00165 ], [ 49.117, 2.50206 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.PARIS1964", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Paris1964", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Paris1979": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7059, 2.00165 ], [ 49.035, 2.62716 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.PARIS1979", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Paris1979", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Positions_20k_avr1916": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.1307, 5.11659 ], [ 49.2732, 5.58059 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.Positions_20K_avr1916", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Positions_20k_avr1916", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Reims1974": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.035, 3.75309 ], [ 49.4434, 4.50371 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.REIMS1974", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Reims1974", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Roissy1973": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.8707, 2.25185 ], [ 49.117, 2.75227 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.ROISSY1973", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Roissy1973", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Roissy1978": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.8707, 2.25185 ], [ 49.2805, 2.75227 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.ROISSY1978", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Roissy1978", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Strasbourg1956": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.2081, 7.25597 ], [ 48.7884, 8.13169 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.STRASBOURG1956", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Strasbourg1956", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Strasbourg1978": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.1246, 7.25597 ], [ 48.8707, 8.00659 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.STRASBOURG1978", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Strasbourg1978", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Toulon_hyeres1976": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 42.8689, 5.62963 ], [ 43.2345, 6.38025 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.TOULON-HYERES1976", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Toulon_hyeres1976", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Toulouse1948": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.4165, 1.12593 ], [ 43.7789, 1.75144 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.TOULOUSE1948", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Toulouse1948", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Vannes_golfe_du_morbihan1960": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.3676, -3.37778 ], [ 47.8735, -2.50206 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.VANNES-GOLFE-DU-MORBIHAN1960", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Vannes_golfe_du_morbihan1960", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Vannes_golfe_du_morbihan1971": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.3676, -3.37778 ], [ 47.8735, -2.50206 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.VANNES-GOLFE-DU-MORBIHAN1971", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Vannes_golfe_du_morbihan1971", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Verdun_nord_fronts_francais_20k": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.168, 5.29434 ], [ 49.3036, 5.58034 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.VERDUN_NORD_fronts_francais_20K", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Verdun_nord_fronts_francais_20k", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Verdun_nord_organisations_defensives_20k": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.1609, 5.28694 ], [ 49.3069, 5.58493 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.VERDUN_NORD_organisations_defensives_20K", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Verdun_nord_organisations_defensives_20k", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Edugeo_Versailles1979": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.5405, 1.87654 ], [ 49.035, 2.50206 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.EDUGEO.VERSAILLES1979", "name": "GeoportailFrance.Geographicalgridsystems_Edugeo_Versailles1979", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Etatmajor10": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.3847, 1.82682 ], [ 49.5142, 2.79738 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/jpeg", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.ETATMAJOR10", "name": "GeoportailFrance.Geographicalgridsystems_Etatmajor10", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Etatmajor40": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.1844, -6.08889 ], [ 51.2745, 10.961 ] ], "min_zoom": 6, "max_zoom": 15, "format": "image/jpeg", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.ETATMAJOR40", "name": "GeoportailFrance.Geographicalgridsystems_Etatmajor40", "TileMatrixSet": "PM_6_15", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Maps_Bduni_J1": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.MAPS.BDUNI.J1", "name": "GeoportailFrance.Geographicalgridsystems_Maps_Bduni_J1", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Maps_Overview": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 1, "max_zoom": 8, "format": "image/jpeg", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.MAPS.OVERVIEW", "name": "GeoportailFrance.Geographicalgridsystems_Maps_Overview", "TileMatrixSet": "PM_1_8", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Maps_Scan50_1950": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 3, "max_zoom": 15, "format": "image/jpeg", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN50.1950", "name": "GeoportailFrance.Geographicalgridsystems_Maps_Scan50_1950", "TileMatrixSet": "PM_3_15", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Planignv2_L93": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3274, -5.14151 ], [ 51.0897, 9.55802 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2.L93", "name": "GeoportailFrance.Geographicalgridsystems_Planignv2_L93", "TileMatrixSet": "2154_10cm_6_19", "apikey": "your_api_key_here", "status": "broken" }, "Geographicalgridsystems_Slopes_Mountain": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.5446, -63.1614 ], [ 51.0991, 56.0018 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.SLOPES.MOUNTAIN", "name": "GeoportailFrance.Geographicalgridsystems_Slopes_Mountain", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Slopes_Pac": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.5446, -63.1614 ], [ 51.0991, 56.0018 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/png", "style": "GEOGRAPHICALGRIDSYSTEMS.SLOPES.PAC", "variant": "GEOGRAPHICALGRIDSYSTEMS.SLOPES.PAC", "name": "GeoportailFrance.Geographicalgridsystems_Slopes_Pac", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Terrier_v1": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2568, 8.36284 ], [ 43.1174, 9.75281 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "nolegend", "variant": "GEOGRAPHICALGRIDSYSTEMS.TERRIER_V1", "name": "GeoportailFrance.Geographicalgridsystems_Terrier_v1", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Terrier_v2": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2568, 8.36284 ], [ 43.1174, 9.75282 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "nolegend", "variant": "GEOGRAPHICALGRIDSYSTEMS.TERRIER_V2", "name": "GeoportailFrance.Geographicalgridsystems_Terrier_v2", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Verdun_environs_nord_fronts_offensves_50k": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.0887, 4.99018 ], [ 49.4144, 5.65437 ] ], "min_zoom": 6, "max_zoom": 14, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.VERDUN_ENVIRONS_NORD_fronts_offensves_50K", "name": "GeoportailFrance.Geographicalgridsystems_Verdun_environs_nord_fronts_offensves_50k", "TileMatrixSet": "PM_6_14", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Verdun_environs_sud_nord_com_group_80k": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.9421, 4.79205 ], [ 49.5144, 5.9969 ] ], "min_zoom": 6, "max_zoom": 13, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.VERDUN_ENVIRONS_SUD_NORD_com_group_80K", "name": "GeoportailFrance.Geographicalgridsystems_Verdun_environs_sud_nord_com_group_80k", "TileMatrixSet": "PM_6_13", "apikey": "your_api_key_here" }, "Geographicalgridsystems_Verdun_environs_fronts_50k_21_26fevr1916": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.0849, 4.98696 ], [ 49.3719, 5.64305 ] ], "min_zoom": 6, "max_zoom": 14, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALGRIDSYSTEMS.VERDUN_ENVIRONS_fronts_50K_21-26fevr1916", "name": "GeoportailFrance.Geographicalgridsystems_Verdun_environs_fronts_50k_21_26fevr1916", "TileMatrixSet": "PM_6_14", "apikey": "your_api_key_here" }, "Geographicalnames_Names": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4969, -63.9692 ], [ 71.5841, 55.9644 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "GEOGRAPHICALNAMES.NAMES", "name": "GeoportailFrance.Geographicalnames_Names", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Hr_Orthoimagery_Orthophotos": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "HR.ORTHOIMAGERY.ORTHOPHOTOS", "name": "GeoportailFrance.Hr_Orthoimagery_Orthophotos", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Hr_Orthoimagery_Orthophotos_L93": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.0, -5.0 ], [ 52.0, 10.0 ] ], "min_zoom": 10, "max_zoom": 20, "format": "image/jpeg", "style": "normal", "variant": "HR.ORTHOIMAGERY.ORTHOPHOTOS.L93", "name": "GeoportailFrance.Hr_Orthoimagery_Orthophotos_L93", "TileMatrixSet": "2154_10cm_10_20", "apikey": "your_api_key_here", "status": "broken" }, "Hydrography_Bcae_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "nolegend", "variant": "HYDROGRAPHY.BCAE.2020", "name": "GeoportailFrance.Hydrography_Bcae_2020", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Hydrography_Bcae_2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "nolegend", "variant": "HYDROGRAPHY.BCAE.2021", "name": "GeoportailFrance.Hydrography_Bcae_2021", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Hydrography_Bcae_2022": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "HYDROGRAPHY.BCAE.2022", "name": "GeoportailFrance.Hydrography_Bcae_2022", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Hydrography_Bcae_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "HYDROGRAPHY.BCAE.2023", "name": "GeoportailFrance.Hydrography_Bcae_2023", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Hydrography_Bcae_2024": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.1505 ], [ 51.0991, 9.5705 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "HYDROGRAPHY.BCAE.2024", "name": "GeoportailFrance.Hydrography_Bcae_2024", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Hydrography_Bcae_2025": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.1505 ], [ 51.0991, 9.5705 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "HYDROGRAPHY.BCAE.2025", "name": "GeoportailFrance.Hydrography_Bcae_2025", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Hydrography_Bcae_Latest": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "HYDROGRAPHY.BCAE.LATEST", "name": "GeoportailFrance.Hydrography_Bcae_Latest", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Hydrography_Hydrography": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4969, -63.9692 ], [ 71.5841, 55.9644 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "HYDROGRAPHY.HYDROGRAPHY", "name": "GeoportailFrance.Hydrography_Hydrography", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Ignf_cosia_2021-2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.0, -5.5 ], [ 52.0, 10.0 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "IGNF_COSIA_2021-2023", "name": "GeoportailFrance.Ignf_cosia_2021-2023", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Ignf_elevation_Elevationgridcoverage_Shadow": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2735, -5.27131 ], [ 51.1791, 9.67502 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "IGNF_ELEVATION.ELEVATIONGRIDCOVERAGE.SHADOW", "name": "GeoportailFrance.Ignf_elevation_Elevationgridcoverage_Shadow", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Ignf_lidar_hd_mnh_elevation_Elevationgridcoverage_Shadow": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.5, -5.5 ], [ 52.0, 10.0 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "IGNF_LIDAR-HD_MNH_ELEVATION.ELEVATIONGRIDCOVERAGE.SHADOW", "name": "GeoportailFrance.Ignf_lidar_hd_mnh_elevation_Elevationgridcoverage_Shadow", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Ignf_lidar_hd_mns_elevation_Elevationgridcoverage_Shadow": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.5, -5.5 ], [ 52.0, 10.0 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "IGNF_LIDAR-HD_MNS_ELEVATION.ELEVATIONGRIDCOVERAGE.SHADOW", "name": "GeoportailFrance.Ignf_lidar_hd_mns_elevation_Elevationgridcoverage_Shadow", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Ignf_lidar_hd_mnt_elevation_Elevationgridcoverage_Shadow": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.5, -5.5 ], [ 52.0, 10.0 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "IGNF_LIDAR-HD_MNT_ELEVATION.ELEVATIONGRIDCOVERAGE.SHADOW", "name": "GeoportailFrance.Ignf_lidar_hd_mnt_elevation_Elevationgridcoverage_Shadow", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Ign_nl_test_st_amand": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 46.7204, 2.49458 ], [ 46.7276, 2.49723 ] ], "min_zoom": 0, "max_zoom": 21, "format": "image/png", "style": "normal", "variant": "IGN_NL_TEST_ST_AMAND", "name": "GeoportailFrance.Ign_nl_test_st_amand", "TileMatrixSet": "PM_0_21", "apikey": "your_api_key_here" }, "Inpe": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INPE", "variant": "INPE", "name": "GeoportailFrance.Inpe", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Inra_Carte_Sols": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "CARTE DES SOLS", "variant": "INRA.CARTE.SOLS", "name": "GeoportailFrance.Inra_Carte_Sols", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Enfants_0_17_Ans_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.ENFANTS.0.17.ANS.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Enfants_0_17_Ans_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Logements_Surface_Moyenne_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.LOGEMENTS.SURFACE.MOYENNE.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Logements_Surface_Moyenne_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Niveau_De_Vie_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.NIVEAU.DE.VIE.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Niveau_De_Vie_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Familles_Monoparentales_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.FAMILLES.MONOPARENTALES.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Familles_Monoparentales_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Individus_25_39_Ans_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.INDIVIDUS.25.39.ANS.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Individus_25_39_Ans_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Individus_40_54_Ans_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.INDIVIDUS.40.54.ANS.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Individus_40_54_Ans_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Individus_55_64_Ans_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.INDIVIDUS.55.64.ANS.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Individus_55_64_Ans_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Logements_Apres_1990_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.LOGEMENTS.APRES.1990.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Logements_Apres_1990_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Logements_Avant_1945_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.LOGEMENTS.AVANT.1945.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Logements_Avant_1945_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Logements_Collectifs_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.LOGEMENTS.COLLECTIFS.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Logements_Collectifs_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Logements_Construits_1945_1970_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.LOGEMENTS.CONSTRUITS.1945.1970.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Logements_Construits_1945_1970_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Logements_Construits_1970_1990_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.LOGEMENTS.CONSTRUITS.1970.1990.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Logements_Construits_1970_1990_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Logements_Sociaux_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.LOGEMENTS.SOCIAUX.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Logements_Sociaux_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Menages_1_Personne_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.MENAGES.1.PERSONNE.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Menages_1_Personne_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Menages_5_Personnes_Ouplus_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.MENAGES.5.PERSONNES.OUPLUS.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Menages_5_Personnes_Ouplus_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Menages_Maison_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.MENAGES.MAISON.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Menages_Maison_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Menages_Pauvres_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.MENAGES.PAUVRES.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Menages_Pauvres_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Menages_Proprietaires_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.MENAGES.PROPRIETAIRES.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Menages_Proprietaires_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Part_Plus_65_Ans_Secret": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.PART.PLUS.65.ANS.SECRET", "name": "GeoportailFrance.Insee_Filosofi_Part_Plus_65_Ans_Secret", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Insee_Filosofi_Population": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSEE", "variant": "INSEE.FILOSOFI.POPULATION", "name": "GeoportailFrance.Insee_Filosofi_Population", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Installations_Pv_Sol": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "INSTALLATIONS.PV.SOL", "variant": "INSTALLATIONS.PV.SOL", "name": "GeoportailFrance.Installations_Pv_Sol", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landcover_Cha00": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CHA00", "name": "GeoportailFrance.Landcover_Cha00", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha00_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CHA00_FR", "name": "GeoportailFrance.Landcover_Cha00_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha06": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CHA06", "name": "GeoportailFrance.Landcover_Cha06", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha06_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 47.1747, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CHA06_DOM", "name": "GeoportailFrance.Landcover_Cha06_dom", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha06_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CHA06_FR", "name": "GeoportailFrance.Landcover_Cha06_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha12": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CHA12", "name": "GeoportailFrance.Landcover_Cha12", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha12_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 47.1747, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CHA12_DOM", "name": "GeoportailFrance.Landcover_Cha12_dom", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha12_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CHA12_FR", "name": "GeoportailFrance.Landcover_Cha12_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha18": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover", "variant": "LANDCOVER.CHA18", "name": "GeoportailFrance.Landcover_Cha18", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha18_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 47.1747, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CHA18_DOM", "name": "GeoportailFrance.Landcover_Cha18_dom", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Cha18_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CHA18_FR", "name": "GeoportailFrance.Landcover_Cha18_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc00": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC00", "name": "GeoportailFrance.Landcover_Clc00", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc00r": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC00R", "name": "GeoportailFrance.Landcover_Clc00r", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc00r_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CLC00R_FR", "name": "GeoportailFrance.Landcover_Clc00r_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc00_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 47.1747, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC00_DOM", "name": "GeoportailFrance.Landcover_Clc00_dom", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc00_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CLC00_FR", "name": "GeoportailFrance.Landcover_Clc00_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc06": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC06", "name": "GeoportailFrance.Landcover_Clc06", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc06r": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC06R", "name": "GeoportailFrance.Landcover_Clc06r", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc06r_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 47.1747, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC06R_DOM", "name": "GeoportailFrance.Landcover_Clc06r_dom", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc06r_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CLC06R_FR", "name": "GeoportailFrance.Landcover_Clc06r_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc06_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 47.1747, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC06_DOM", "name": "GeoportailFrance.Landcover_Clc06_dom", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc06_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CLC06_FR", "name": "GeoportailFrance.Landcover_Clc06_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc12": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC12", "name": "GeoportailFrance.Landcover_Clc12", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc12r": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover", "variant": "LANDCOVER.CLC12R", "name": "GeoportailFrance.Landcover_Clc12r", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc12r_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 47.1747, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC12R_DOM", "name": "GeoportailFrance.Landcover_Clc12r_dom", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc12r_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CLC12R_FR", "name": "GeoportailFrance.Landcover_Clc12r_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc12_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 47.1747, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC12_DOM", "name": "GeoportailFrance.Landcover_Clc12_dom", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc12_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CLC12_FR", "name": "GeoportailFrance.Landcover_Clc12_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc18": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.4428, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover", "variant": "LANDCOVER.CLC18", "name": "GeoportailFrance.Landcover_Clc18", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc18_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 47.1747, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.CLC18_DOM", "name": "GeoportailFrance.Landcover_Clc18_dom", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc18_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CLC18_FR", "name": "GeoportailFrance.Landcover_Clc18_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc90": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CLC90", "name": "GeoportailFrance.Landcover_Clc90", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Clc90_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.CLC90_FR", "name": "GeoportailFrance.Landcover_Clc90_fr", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landcover_Edugeo_Evol_surface_forestiere_1980_2011": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/png", "style": "normal", "variant": "LANDCOVER.EDUGEO.EVOL_SURFACE_FORESTIERE_1980-2011", "name": "GeoportailFrance.Landcover_Edugeo_Evol_surface_forestiere_1980_2011", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Landcover_Edugeo_Klaus": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "LANDCOVER.EDUGEO.KLAUS", "name": "GeoportailFrance.Landcover_Edugeo_Klaus", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Landcover_Edugeo_Lgv_archeologie": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "LANDCOVER.EDUGEO.LGV_archeologie", "name": "GeoportailFrance.Landcover_Edugeo_Lgv_archeologie", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Landcover_Edugeo_Lgv_faune": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.8631, -0.898315 ], [ 47.4145, 0.898315 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "LANDCOVER.EDUGEO.LGV_faune", "name": "GeoportailFrance.Landcover_Edugeo_Lgv_faune", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Landcover_Edugeo_Lgv_flore": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.8631, -0.898315 ], [ 47.4145, 0.898315 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "LANDCOVER.EDUGEO.LGV_flore", "name": "GeoportailFrance.Landcover_Edugeo_Lgv_flore", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Landcover_Edugeo_Lgv_technique": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.8631, -0.898315 ], [ 47.4145, 0.898315 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "LANDCOVER.EDUGEO.LGV_technique", "name": "GeoportailFrance.Landcover_Edugeo_Lgv_technique", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Landcover_Edugeo_Taux_boisement_2009_2013": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/png", "style": "normal", "variant": "LANDCOVER.EDUGEO.TAUX_BOISEMENT_2009-2013", "name": "GeoportailFrance.Landcover_Edugeo_Taux_boisement_2009_2013", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Landcover_Forestareas": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDCOVER.FORESTAREAS", "name": "GeoportailFrance.Landcover_Forestareas", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landcover_Forestinventory_V1": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDCOVER.FORESTINVENTORY.V1", "name": "GeoportailFrance.Landcover_Forestinventory_V1", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landcover_Forestinventory_V2": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "LANDCOVER.FORESTINVENTORY.V2", "variant": "LANDCOVER.FORESTINVENTORY.V2", "name": "GeoportailFrance.Landcover_Forestinventory_V2", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc00": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4825, -61.9063 ], [ 51.1827, 55.9362 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover", "variant": "LANDCOVER.GRID.CLC00", "name": "GeoportailFrance.Landcover_Grid_Clc00", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc00r_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.1779, -5.68494 ], [ 51.1827, 10.8556 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.GRID.CLC00R_FR", "name": "GeoportailFrance.Landcover_Grid_Clc00r_fr", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc00_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4825, -61.9063 ], [ 16.6077, 55.9362 ] ], "min_zoom": 0, "max_zoom": 12, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.GRID.CLC00_DOM", "name": "GeoportailFrance.Landcover_Grid_Clc00_dom", "TileMatrixSet": "PM_0_12", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc00_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.1779, -5.68494 ], [ 51.1827, 10.8556 ] ], "min_zoom": 0, "max_zoom": 12, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.GRID.CLC00_FR", "name": "GeoportailFrance.Landcover_Grid_Clc00_fr", "TileMatrixSet": "PM_0_12", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc06": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover", "variant": "LANDCOVER.GRID.CLC06", "name": "GeoportailFrance.Landcover_Grid_Clc06", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc06r": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4825, -61.9063 ], [ 51.2963, 55.9362 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover", "variant": "LANDCOVER.GRID.CLC06R", "name": "GeoportailFrance.Landcover_Grid_Clc06r", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc06r_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4825, -61.9063 ], [ 16.6077, 55.9362 ] ], "min_zoom": 0, "max_zoom": 12, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.GRID.CLC06R_DOM", "name": "GeoportailFrance.Landcover_Grid_Clc06r_dom", "TileMatrixSet": "PM_0_12", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc06r_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.0278, -5.91689 ], [ 51.2963, 11.0883 ] ], "min_zoom": 0, "max_zoom": 12, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.GRID.CLC06R_FR", "name": "GeoportailFrance.Landcover_Grid_Clc06r_fr", "TileMatrixSet": "PM_0_12", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc06_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 12, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.GRID.CLC06_DOM", "name": "GeoportailFrance.Landcover_Grid_Clc06_dom", "TileMatrixSet": "PM_0_12", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc06_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.1779, -5.68494 ], [ 51.1827, 10.8556 ] ], "min_zoom": 0, "max_zoom": 12, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.GRID.CLC06_FR", "name": "GeoportailFrance.Landcover_Grid_Clc06_fr", "TileMatrixSet": "PM_0_12", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc12": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover", "variant": "LANDCOVER.GRID.CLC12", "name": "GeoportailFrance.Landcover_Grid_Clc12", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc12_dom": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 12, "format": "image/png", "style": "CORINE Land Cover - DOM", "variant": "LANDCOVER.GRID.CLC12_DOM", "name": "GeoportailFrance.Landcover_Grid_Clc12_dom", "TileMatrixSet": "PM_0_12", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc12_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.0278, -5.91689 ], [ 51.2963, 11.0883 ] ], "min_zoom": 0, "max_zoom": 12, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.GRID.CLC12_FR", "name": "GeoportailFrance.Landcover_Grid_Clc12_fr", "TileMatrixSet": "PM_0_12", "apikey": "your_api_key_here" }, "Landcover_Grid_Clc90_fr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.1779, -5.68494 ], [ 51.1827, 10.8556 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - France m\u00e9tropolitaine", "variant": "LANDCOVER.GRID.CLC90_FR", "name": "GeoportailFrance.Landcover_Grid_Clc90_fr", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Hr_Dlt_Clc12": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - HR - type de for\u00eats", "variant": "LANDCOVER.HR.DLT.CLC12", "name": "GeoportailFrance.Landcover_Hr_Dlt_Clc12", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Hr_Dlt_Clc15": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - HR - type de for\u00eats", "variant": "LANDCOVER.HR.DLT.CLC15", "name": "GeoportailFrance.Landcover_Hr_Dlt_Clc15", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Hr_Gra_Clc15": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - HR - prairies", "variant": "LANDCOVER.HR.GRA.CLC15", "name": "GeoportailFrance.Landcover_Hr_Gra_Clc15", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Hr_Imd_Clc12": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - HR - taux d'imperm\u00e9abilisation des sols", "variant": "LANDCOVER.HR.IMD.CLC12", "name": "GeoportailFrance.Landcover_Hr_Imd_Clc12", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Hr_Imd_Clc15": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - HR - taux d'imperm\u00e9abilisation des sols", "variant": "LANDCOVER.HR.IMD.CLC15", "name": "GeoportailFrance.Landcover_Hr_Imd_Clc15", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Hr_Tcd_Clc12": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - HR - taux de couvert arbor\u00e9", "variant": "LANDCOVER.HR.TCD.CLC12", "name": "GeoportailFrance.Landcover_Hr_Tcd_Clc12", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Hr_Tcd_Clc15": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - HR - taux de couvert arbor\u00e9", "variant": "LANDCOVER.HR.TCD.CLC15", "name": "GeoportailFrance.Landcover_Hr_Tcd_Clc15", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Hr_Waw_Clc15": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 13, "format": "image/png", "style": "CORINE Land Cover - HR - zones humides et surfaces en eaux permanentes", "variant": "LANDCOVER.HR.WAW.CLC15", "name": "GeoportailFrance.Landcover_Hr_Waw_Clc15", "TileMatrixSet": "PM_0_13", "apikey": "your_api_key_here" }, "Landcover_Sylvoecoregions": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDCOVER.SYLVOECOREGIONS", "name": "GeoportailFrance.Landcover_Sylvoecoregions", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landcover_Sylvoecoregions_Alluvium": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDCOVER.SYLVOECOREGIONS.ALLUVIUM", "name": "GeoportailFrance.Landcover_Sylvoecoregions_Alluvium", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture_Latest": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE.LATEST", "name": "GeoportailFrance.Landuse_Agriculture_Latest", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2007": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.419, -63.2635 ], [ 51.2203, 56.0237 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2007", "name": "GeoportailFrance.Landuse_Agriculture2007", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2008": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.419, -63.2635 ], [ 51.2203, 56.0237 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2008", "name": "GeoportailFrance.Landuse_Agriculture2008", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2009": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.419, -63.2635 ], [ 51.2203, 56.0237 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2009", "name": "GeoportailFrance.Landuse_Agriculture2009", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2010", "name": "GeoportailFrance.Landuse_Agriculture2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2011": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2011", "name": "GeoportailFrance.Landuse_Agriculture2011", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2012": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2012", "name": "GeoportailFrance.Landuse_Agriculture2012", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2013": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2013", "name": "GeoportailFrance.Landuse_Agriculture2013", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2014": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2014", "name": "GeoportailFrance.Landuse_Agriculture2014", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2015": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2015", "name": "GeoportailFrance.Landuse_Agriculture2015", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2016": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2016", "name": "GeoportailFrance.Landuse_Agriculture2016", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2017", "name": "GeoportailFrance.Landuse_Agriculture2017", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2018": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2018", "name": "GeoportailFrance.Landuse_Agriculture2018", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2019", "name": "GeoportailFrance.Landuse_Agriculture2019", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2020", "name": "GeoportailFrance.Landuse_Agriculture2020", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2021", "name": "GeoportailFrance.Landuse_Agriculture2021", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2022": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2022", "name": "GeoportailFrance.Landuse_Agriculture2022", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Landuse_Agriculture2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LANDUSE.AGRICULTURE2023", "name": "GeoportailFrance.Landuse_Agriculture2023", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Lgv_edugeo_archeologie_pyr-png_fxx_wm_20170210": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "LGV_EDUGEO_ARCHEOLOGIE_PYR-PNG_FXX_WM_20170210", "name": "GeoportailFrance.Lgv_edugeo_archeologie_pyr-png_fxx_wm_20170210", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Lgv_edugeo_faune_pyr-png_fxx_wm_20170215": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.8631, -0.898315 ], [ 47.4145, 0.898315 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "LGV_EDUGEO_FAUNE_PYR-PNG_FXX_WM_20170215", "name": "GeoportailFrance.Lgv_edugeo_faune_pyr-png_fxx_wm_20170215", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Lgv_edugeo_flore_pyr-png_fxx_wm_20170213": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.8631, -0.898315 ], [ 47.4145, 0.898315 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "LGV_EDUGEO_FLORE_PYR-PNG_FXX_WM_20170213", "name": "GeoportailFrance.Lgv_edugeo_flore_pyr-png_fxx_wm_20170213", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Lgv_edugeo_technique_pyr-png_fxx_wm_20170215": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.8631, -0.898315 ], [ 47.4145, 0.898315 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "LGV_EDUGEO_TECHNIQUE_PYR-PNG_FXX_WM_20170215", "name": "GeoportailFrance.Lgv_edugeo_technique_pyr-png_fxx_wm_20170215", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Limites_administratives_express_Latest": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LIMITES_ADMINISTRATIVES_EXPRESS.LATEST", "name": "GeoportailFrance.Limites_administratives_express_Latest", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Localisation_Concessions_Hydro": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "LOCALISATION.CONCESSIONS.HYDRO", "variant": "LOCALISATION.CONCESSIONS.HYDRO", "name": "GeoportailFrance.Localisation_Concessions_Hydro", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Localisation_Mats_Eolien": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "LOCALISATION.MATS.EOLIEN", "variant": "LOCALISATION.MATS.EOLIEN", "name": "GeoportailFrance.Localisation_Mats_Eolien", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Lsep-crue_pyr-png_wld_wm_edugeo_20130128": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.4163, 0.419457 ], [ 50.064, 5.43248 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "LSEP-CRUE_PYR-PNG_WLD_WM_EDUGEO_20130128", "name": "GeoportailFrance.Lsep-crue_pyr-png_wld_wm_edugeo_20130128", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Maj_evdc": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 46.5514, 0.495276 ], [ 46.5662, 0.51663 ] ], "min_zoom": 6, "max_zoom": 22, "format": "image/jpeg", "style": "normal", "variant": "MAJ_EVDC", "name": "GeoportailFrance.Maj_evdc", "TileMatrixSet": "2154_5cm_6_22", "apikey": "your_api_key_here" }, "Naturalriskzones_1910floodedwatersheds": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.4163, 0.419457 ], [ 50.064, 5.43248 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "NATURALRISKZONES.1910FLOODEDWATERSHEDS", "name": "GeoportailFrance.Naturalriskzones_1910floodedwatersheds", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Artif_2016_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3998, -63.1614 ], [ 51.0991, 55.8465 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.ARTIF.2016-2017", "name": "GeoportailFrance.Ocsge_Artif_2016_2017", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Artif_2017_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3998, -63.1614 ], [ 51.0991, 55.8465 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.ARTIF.2017-2020", "name": "GeoportailFrance.Ocsge_Artif_2017_2020", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Artif_2021_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3998, -63.1614 ], [ 51.0991, 55.8465 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.ARTIF.2021-2023", "name": "GeoportailFrance.Ocsge_Artif_2021_2023", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Construction_2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.CONSTRUCTION.2010", "name": "GeoportailFrance.Ocsge_Construction_2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Construction_2016_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.1505 ], [ 51.0991, 9.5705 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.CONSTRUCTION.2016-2017", "name": "GeoportailFrance.Ocsge_Construction_2016_2017", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Construction_2017_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3998, -63.1614 ], [ 51.0991, 55.8465 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.CONSTRUCTION.2017-2020", "name": "GeoportailFrance.Ocsge_Construction_2017_2020", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Construction_2021_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3998, -63.1614 ], [ 51.0991, 55.8465 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.CONSTRUCTION.2021-2023", "name": "GeoportailFrance.Ocsge_Construction_2021_2023", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Constructions": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 14.2395, -61.6644 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.CONSTRUCTIONS", "name": "GeoportailFrance.Ocsge_Constructions", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Constructions_2002": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.366, -5.13902 ], [ 51.089, 9.55982 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.CONSTRUCTIONS.2002", "name": "GeoportailFrance.Ocsge_Constructions_2002", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here", "status": "broken" }, "Ocsge_Constructions_2011": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.CONSTRUCTIONS.2011", "name": "GeoportailFrance.Ocsge_Constructions_2011", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Constructions_2014": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.366, -5.13902 ], [ 51.089, 9.55982 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.CONSTRUCTIONS.2014", "name": "GeoportailFrance.Ocsge_Constructions_2014", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here", "status": "broken" }, "Ocsge_Constructions_2016": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.CONSTRUCTIONS.2016", "name": "GeoportailFrance.Ocsge_Constructions_2016", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Constructions_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 14.2395, -61.6644 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.CONSTRUCTIONS.2017", "name": "GeoportailFrance.Ocsge_Constructions_2017", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Constructions_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.3043, -0.291052 ], [ 44.0864, 1.2122 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.CONSTRUCTIONS.2019", "name": "GeoportailFrance.Ocsge_Constructions_2019", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Couverture": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 14.2395, -61.6644 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.COUVERTURE", "name": "GeoportailFrance.Ocsge_Couverture", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Couverture_2002": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.366, -5.13902 ], [ 51.089, 9.55982 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.COUVERTURE.2002", "name": "GeoportailFrance.Ocsge_Couverture_2002", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here", "status": "broken" }, "Ocsge_Couverture_2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.COUVERTURE.2010", "name": "GeoportailFrance.Ocsge_Couverture_2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Couverture_2011": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.COUVERTURE.2011", "name": "GeoportailFrance.Ocsge_Couverture_2011", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Couverture_2014": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.366, -5.13902 ], [ 51.089, 9.55982 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.COUVERTURE.2014", "name": "GeoportailFrance.Ocsge_Couverture_2014", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here", "status": "broken" }, "Ocsge_Couverture_2016": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.COUVERTURE.2016", "name": "GeoportailFrance.Ocsge_Couverture_2016", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Couverture_2016_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.1505 ], [ 51.0991, 9.5705 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.COUVERTURE.2016-2017", "name": "GeoportailFrance.Ocsge_Couverture_2016_2017", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Couverture_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 14.2395, -61.6644 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.COUVERTURE.2017", "name": "GeoportailFrance.Ocsge_Couverture_2017", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Couverture_2017_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3998, -63.1614 ], [ 51.0991, 55.8465 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.COUVERTURE.2017-2020", "name": "GeoportailFrance.Ocsge_Couverture_2017_2020", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Couverture_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.3043, -0.291052 ], [ 44.0864, 1.2122 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.COUVERTURE.2019", "name": "GeoportailFrance.Ocsge_Couverture_2019", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Couverture_2021_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3998, -63.1614 ], [ 51.0991, 55.8465 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.COUVERTURE.2021-2023", "name": "GeoportailFrance.Ocsge_Couverture_2021_2023", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Usage": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 14.2395, -61.6644 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.USAGE", "name": "GeoportailFrance.Ocsge_Usage", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Usage_2002": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.366, -5.13902 ], [ 51.089, 9.55982 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.USAGE.2002", "name": "GeoportailFrance.Ocsge_Usage_2002", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here", "status": "broken" }, "Ocsge_Usage_2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.USAGE.2010", "name": "GeoportailFrance.Ocsge_Usage_2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Usage_2011": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.USAGE.2011", "name": "GeoportailFrance.Ocsge_Usage_2011", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Usage_2014": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.366, -5.13902 ], [ 51.089, 9.55982 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.USAGE.2014", "name": "GeoportailFrance.Ocsge_Usage_2014", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here", "status": "broken" }, "Ocsge_Usage_2016": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.USAGE.2016", "name": "GeoportailFrance.Ocsge_Usage_2016", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Usage_2016_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.1505 ], [ 51.0991, 9.5705 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.USAGE.2016-2017", "name": "GeoportailFrance.Ocsge_Usage_2016_2017", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Usage_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 14.2395, -61.6644 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.USAGE.2017", "name": "GeoportailFrance.Ocsge_Usage_2017", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Usage_2017_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3998, -63.1614 ], [ 51.0991, 55.8465 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.USAGE.2017-2020", "name": "GeoportailFrance.Ocsge_Usage_2017_2020", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Usage_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.3043, -0.291052 ], [ 44.0864, 1.2122 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "OCSGE.USAGE.2019", "name": "GeoportailFrance.Ocsge_Usage_2019", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Usage_2021_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3998, -63.1614 ], [ 51.0991, 55.8465 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "OCSGE.USAGE.2021-2023", "name": "GeoportailFrance.Ocsge_Usage_2021_2023", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ocsge_Visu_2016": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.2815, -0.318517 ], [ 44.0543, 1.22575 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "nolegend", "variant": "OCSGE.VISU.2016", "name": "GeoportailFrance.Ocsge_Visu_2016", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Ocsge_Visu_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.2815, -0.321664 ], [ 44.1082, 1.22575 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "nolegend", "variant": "OCSGE.VISU.2019", "name": "GeoportailFrance.Ocsge_Visu_2019", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Ofb_Zones_Exclues": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "OFB.ZONES.EXCLUES", "variant": "OFB.ZONES.EXCLUES", "name": "GeoportailFrance.Ofb_Zones_Exclues", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ofb_Zones_Exclues_Sauf_Toiture": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "OFB.ZONES.EXCLUES.SAUF.TOITURE", "variant": "OFB.ZONES.EXCLUES.SAUF.TOITURE", "name": "GeoportailFrance.Ofb_Zones_Exclues_Sauf_Toiture", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ofb_Zones_Necessitant_Avis_Gestionnaire": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "OFB.ZONES.NECESSITANT.AVIS.GESTIONNAIRE", "variant": "OFB.ZONES.NECESSITANT.AVIS.GESTIONNAIRE", "name": "GeoportailFrance.Ofb_Zones_Necessitant_Avis_Gestionnaire", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Ortho-edugeo_pyr-png_wld_wm": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.4607, -3.20264 ], [ 47.7138, -2.62716 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHO-EDUGEO_PYR-PNG_WLD_WM", "name": "GeoportailFrance.Ortho-edugeo_pyr-png_wld_wm", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Ortho-express-2020_pyr-jpg_wld_wm_wmts2": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHO-EXPRESS-2020_PYR-JPG_WLD_WM_WMTS2", "name": "GeoportailFrance.Ortho-express-2020_pyr-jpg_wld_wm_wmts2", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Ajaccio1975": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.8334, 8.65713 ], [ 42.0846, 8.98239 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.AJACCIO1975", "name": "GeoportailFrance.Orthoimagery_Edugeo_Ajaccio1975", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Ajaccio1990": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.7868, 8.64462 ], [ 42.0939, 8.98239 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.AJACCIO1990", "name": "GeoportailFrance.Orthoimagery_Edugeo_Ajaccio1990", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Arcachon2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.2289, -1.87654 ], [ 45.0301, -0.750618 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.ARCACHON2010", "name": "GeoportailFrance.Orthoimagery_Edugeo_Arcachon2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Arras_lens_bethune2008": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.929, 1.75144 ], [ 50.8068, 3.25268 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.ARRAS-LENS-BETHUNE2008", "name": "GeoportailFrance.Orthoimagery_Edugeo_Arras_lens_bethune2008", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Belfort_montbelliard1951": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.4607, 6.69301 ], [ 47.6801, 6.96824 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BELFORT-MONTBELLIARD1951", "name": "GeoportailFrance.Orthoimagery_Edugeo_Belfort_montbelliard1951", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Berry_sud1950": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 46.3669, 1.23852 ], [ 46.4531, 1.48873 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BERRY-SUD1950", "name": "GeoportailFrance.Orthoimagery_Edugeo_Berry_sud1950", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Berry_sud1970": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 46.6081, 1.01333 ], [ 46.7283, 1.42617 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BERRY-SUD1970", "name": "GeoportailFrance.Orthoimagery_Edugeo_Berry_sud1970", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Bethune1963": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 50.3939, 2.62716 ], [ 50.5054, 2.95243 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BETHUNE1963", "name": "GeoportailFrance.Orthoimagery_Edugeo_Bethune1963", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Bethune1964": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 50.33, 2.83984 ], [ 50.4098, 3.29021 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BETHUNE1964", "name": "GeoportailFrance.Orthoimagery_Edugeo_Bethune1964", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Bethune1988": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 50.322, 2.5521 ], [ 50.4895, 3.24017 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BETHUNE1988", "name": "GeoportailFrance.Orthoimagery_Edugeo_Bethune1988", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Biarritz1977": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.3165, -1.8265 ], [ 43.7157, -1.18848 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BIARRITZ1977", "name": "GeoportailFrance.Orthoimagery_Edugeo_Biarritz1977", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Biarrtitz1979": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.6795, -1.13844 ], [ 43.7609, -0.975803 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BIARRTITZ1979", "name": "GeoportailFrance.Orthoimagery_Edugeo_Biarrtitz1979", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Bordeaux2003": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.6754, -1.12593 ], [ 45.5582, 0.125103 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BORDEAUX2003", "name": "GeoportailFrance.Orthoimagery_Edugeo_Bordeaux2003", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Bourg_st_maurice1956": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.4793, 6.61795 ], [ 45.6282, 6.85564 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.BOURG-ST-MAURICE1956", "name": "GeoportailFrance.Orthoimagery_Edugeo_Bourg_st_maurice1956", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Caen1991": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.035, -0.975803 ], [ 49.4109, 0.0250206 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.CAEN1991", "name": "GeoportailFrance.Orthoimagery_Edugeo_Caen1991", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Cap_d_agde1968": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.1889, 3.02749 ], [ 43.3984, 3.60297 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.CAP-D-AGDE1968", "name": "GeoportailFrance.Orthoimagery_Edugeo_Cap_d_agde1968", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Cap_d_agde2008": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.1433, 3.12757 ], [ 43.5073, 3.75309 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.CAP-D-AGDE2008", "name": "GeoportailFrance.Orthoimagery_Edugeo_Cap_d_agde2008", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Cap_dage1981": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.1889, 3.01498 ], [ 43.3984, 3.66552 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.CAP-DAGE1981", "name": "GeoportailFrance.Orthoimagery_Edugeo_Cap_dage1981", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Clermont_ferrand1965": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.7156, 2.82733 ], [ 45.9596, 3.29021 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.CLERMONT-FERRAND1965", "name": "GeoportailFrance.Orthoimagery_Edugeo_Clermont_ferrand1965", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Clermont_ferrand1985": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.7069, 2.88988 ], [ 45.9423, 3.2777 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.CLERMONT-FERRAND1985", "name": "GeoportailFrance.Orthoimagery_Edugeo_Clermont_ferrand1985", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Creil_sud_picardie1975": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.076, 2.25185 ], [ 49.5085, 2.96494 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.CREIL-SUD-PICARDIE1975", "name": "GeoportailFrance.Orthoimagery_Edugeo_Creil_sud_picardie1975", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Dijon1971": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.1893, 4.87902 ], [ 47.3676, 5.24181 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.DIJON1971", "name": "GeoportailFrance.Orthoimagery_Edugeo_Dijon1971", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Grenoble1966": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.0655, 5.61712 ], [ 45.286, 5.94239 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.GRENOBLE1966", "name": "GeoportailFrance.Orthoimagery_Edugeo_Grenoble1966", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Grenoble1989": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.0566, 5.54206 ], [ 45.3387, 5.96741 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.GRENOBLE1989", "name": "GeoportailFrance.Orthoimagery_Edugeo_Grenoble1989", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Guadeloupe1984": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 15.9411, -61.7633 ], [ 16.3376, -61.4756 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.GUADELOUPE1984", "name": "GeoportailFrance.Orthoimagery_Edugeo_Guadeloupe1984", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Guyane1955": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 5.384, -54.1321 ], [ 5.79487, -53.5065 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.GUYANE1955", "name": "GeoportailFrance.Orthoimagery_Edugeo_Guyane1955", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_La_reunion1961": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3906, 55.258 ], [ -20.8538, 55.5833 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LA-REUNION1961", "name": "GeoportailFrance.Orthoimagery_Edugeo_La_reunion1961", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_La_reunion1980": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4372, 55.1579 ], [ -20.7836, 55.6583 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LA-REUNION1980", "name": "GeoportailFrance.Orthoimagery_Edugeo_La_reunion1980", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_La_reunion1989": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4022, 55.2079 ], [ -20.8538, 55.7334 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LA-REUNION1989", "name": "GeoportailFrance.Orthoimagery_Edugeo_La_reunion1989", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_La_reunion2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4954, 55.0453 ], [ -20.6783, 55.921 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LA-REUNION2010", "name": "GeoportailFrance.Orthoimagery_Edugeo_La_reunion2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_La_rochelle_rochefort1973": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 46.0726, -1.37613 ], [ 46.2286, -1.03835 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LA-ROCHELLE-ROCHEFORT1973", "name": "GeoportailFrance.Orthoimagery_Edugeo_La_rochelle_rochefort1973", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Le_havre1955": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.4597, 0.0500412 ], [ 49.5409, 0.387819 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LE-HAVRE1955", "name": "GeoportailFrance.Orthoimagery_Edugeo_Le_havre1955", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Le_havre1964": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.4434, 0.0500412 ], [ 49.622, 0.375309 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LE-HAVRE1964", "name": "GeoportailFrance.Orthoimagery_Edugeo_Le_havre1964", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Le_havre2008": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.035, -0.375309 ], [ 49.8484, 1.00082 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LE-HAVRE2008", "name": "GeoportailFrance.Orthoimagery_Edugeo_Le_havre2008", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Limoges1974": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.7069, 1.00082 ], [ 45.9596, 1.42617 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LIMOGES1974", "name": "GeoportailFrance.Orthoimagery_Edugeo_Limoges1974", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Lyon1965": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.5494, 4.71638 ], [ 45.8987, 5.07918 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LYON1965", "name": "GeoportailFrance.Orthoimagery_Edugeo_Lyon1965", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Lyon1984": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.7069, 4.70387 ], [ 45.8726, 5.17926 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LYON1984", "name": "GeoportailFrance.Orthoimagery_Edugeo_Lyon1984", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Lyon1988": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.5319, 4.62881 ], [ 45.9161, 5.12922 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LYON1988", "name": "GeoportailFrance.Orthoimagery_Edugeo_Lyon1988", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Lyon2008": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.2067, 4.50371 ], [ 45.9944, 5.75474 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.LYON2008", "name": "GeoportailFrance.Orthoimagery_Edugeo_Lyon2008", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Marne_la_vallee1965": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.846, 2.40198 ], [ 48.9858, 2.93992 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.MARNE-LA-VALLEE1965", "name": "GeoportailFrance.Orthoimagery_Edugeo_Marne_la_vallee1965", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Marne_la_vallee1977": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.8131, 2.48955 ], [ 48.9694, 2.92741 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.MARNE-LA-VALLEE1977", "name": "GeoportailFrance.Orthoimagery_Edugeo_Marne_la_vallee1977", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Marne_la_vallee1987": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.8625, 2.47704 ], [ 48.9447, 2.92741 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.MARNE-LA-VALLEE1987", "name": "GeoportailFrance.Orthoimagery_Edugeo_Marne_la_vallee1987", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Marseille_martigues1969": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.1798, 5.20428 ], [ 43.3984, 5.69219 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.MARSEILLE-MARTIGUES1969", "name": "GeoportailFrance.Orthoimagery_Edugeo_Marseille_martigues1969", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Marseille_martigues1980": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.3165, 4.67885 ], [ 43.5708, 5.29186 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.MARSEILLE-MARTIGUES1980", "name": "GeoportailFrance.Orthoimagery_Edugeo_Marseille_martigues1980", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Marseille_martigues1987": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.3165, 4.65383 ], [ 43.5708, 5.1042 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.MARSEILLE-MARTIGUES1987", "name": "GeoportailFrance.Orthoimagery_Edugeo_Marseille_martigues1987", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Marseille_martigues1988": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.3711, 4.91655 ], [ 43.5708, 5.39194 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.MARSEILLE-MARTIGUES1988", "name": "GeoportailFrance.Orthoimagery_Edugeo_Marseille_martigues1988", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Marseille_martigues2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.1433, 5.25433 ], [ 43.4165, 5.75474 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.MARSEILLE-MARTIGUES2010", "name": "GeoportailFrance.Orthoimagery_Edugeo_Marseille_martigues2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Martinique1988": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 14.3713, -61.1378 ], [ 14.7104, -60.8251 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.MARTINIQUE1988", "name": "GeoportailFrance.Orthoimagery_Edugeo_Martinique1988", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Metz_nancy1982": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.5902, 5.9549 ], [ 49.3376, 6.43029 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.METZ-NANCY1982", "name": "GeoportailFrance.Orthoimagery_Edugeo_Metz_nancy1982", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Nantes1971": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.1042, -2.27687 ], [ 47.3591, -1.40115 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.NANTES1971", "name": "GeoportailFrance.Orthoimagery_Edugeo_Nantes1971", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Paris1949": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7636, 2.20181 ], [ 48.9529, 2.52708 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.PARIS1949", "name": "GeoportailFrance.Orthoimagery_Edugeo_Paris1949", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Paris1965": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.846, 2.02667 ], [ 48.9858, 2.48955 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.PARIS1965", "name": "GeoportailFrance.Orthoimagery_Edugeo_Paris1965", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Paris2010spot": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.5405, 1.87654 ], [ 49.362, 3.00247 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.PARIS2010SPOT", "name": "GeoportailFrance.Orthoimagery_Edugeo_Paris2010spot", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Reims1963": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.117, 3.95325 ], [ 49.2968, 4.21597 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.REIMS1963", "name": "GeoportailFrance.Orthoimagery_Edugeo_Reims1963", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Reims1973": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.1252, 3.95325 ], [ 49.2886, 4.22848 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.REIMS1973", "name": "GeoportailFrance.Orthoimagery_Edugeo_Reims1973", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Reims1988": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.1252, 3.91572 ], [ 49.2805, 4.2535 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.REIMS1988", "name": "GeoportailFrance.Orthoimagery_Edugeo_Reims1988", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Reims2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.9529, 3.50288 ], [ 49.362, 4.75391 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.REIMS2010", "name": "GeoportailFrance.Orthoimagery_Edugeo_Reims2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Roissy1965": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.9036, 2.35194 ], [ 49.0432, 2.70222 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.ROISSY1965", "name": "GeoportailFrance.Orthoimagery_Edugeo_Roissy1965", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Roissy1987": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.9447, 2.45202 ], [ 49.035, 2.65218 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.ROISSY1987", "name": "GeoportailFrance.Orthoimagery_Edugeo_Roissy1987", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Strasbourg1975": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.4078, 7.31852 ], [ 48.6563, 7.93153 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.STRASBOURG1975", "name": "GeoportailFrance.Orthoimagery_Edugeo_Strasbourg1975", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Strasbourg1985": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.3995, 7.46865 ], [ 48.6232, 7.894 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.STRASBOURG1985", "name": "GeoportailFrance.Orthoimagery_Edugeo_Strasbourg1985", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Strasbourg2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.0411, 7.13087 ], [ 48.8707, 8.2568 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.STRASBOURG2010", "name": "GeoportailFrance.Orthoimagery_Edugeo_Strasbourg2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Toulon_hyeres1972": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 42.9696, 5.74223 ], [ 43.2163, 6.33021 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.TOULON-HYERES1972", "name": "GeoportailFrance.Orthoimagery_Edugeo_Toulon_hyeres1972", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Toulouse1954": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.5618, 1.23852 ], [ 43.7247, 1.55128 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.TOULOUSE1954", "name": "GeoportailFrance.Orthoimagery_Edugeo_Toulouse1954", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Valee_du_drac2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.7643, 5.12922 ], [ 45.0301, 6.25515 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.VALEE-DU-DRAC2010", "name": "GeoportailFrance.Orthoimagery_Edugeo_Valee_du_drac2010", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Vannes_golfe_du_morbihan1970": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.4607, -3.20264 ], [ 47.7138, -2.62716 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.VANNES-GOLFE-DU-MORBIHAN1970", "name": "GeoportailFrance.Orthoimagery_Edugeo_Vannes_golfe_du_morbihan1970", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Versailles1965": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.6067, 1.98914 ], [ 48.8789, 2.32692 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.VERSAILLES1965", "name": "GeoportailFrance.Orthoimagery_Edugeo_Versailles1965", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Edugeo_Versailles1989": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.6315, 1.87654 ], [ 48.8789, 2.33943 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.EDUGEO.VERSAILLES1989", "name": "GeoportailFrance.Orthoimagery_Edugeo_Versailles1989", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2012": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3539, -53.2686 ], [ 50.6037, 55.5544 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2012", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2012", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2013": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2013", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2013", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2014": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2014", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2014", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2015": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -37.8942, -178.196 ], [ 51.0283, 77.6156 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2015", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2015", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2016": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.32, -54.1373 ], [ 50.6549, 55.8441 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2016", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2016", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -63.1796 ], [ 51.1117, 55.8465 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2017", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2017", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2018": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4094, -63.1702 ], [ 51.0841, 55.8649 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2018", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2018", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4094, -63.1702 ], [ 51.1117, 55.8649 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2019", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2019", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -13.0169, -63.1724 ], [ 51.1117, 45.3136 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2020", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2020", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -61.8234 ], [ 51.13, 55.8464 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2021", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2021", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2022": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -13.0259, -61.6648 ], [ 51.1117, 45.3136 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2022", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2022", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_2025": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -13.0277, 44.9613 ], [ -12.6208, 45.3115 ] ], "min_zoom": 4, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.2025", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_2025", "TileMatrixSet": "PM_4_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Pleiades_Mayotte_2024_06": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -13.091, 44.9299 ], [ -12.5665, 45.317 ] ], "min_zoom": 4, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.PLEIADES.MAYOTTE.2024-06", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Pleiades_Mayotte_2024_06", "TileMatrixSet": "PM_4_18", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Rapideye_2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2014, -5.80725 ], [ 50.9218, 10.961 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.RAPIDEYE.2010", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Rapideye_2010", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Rapideye_2011": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.0227, -5.80725 ], [ 51.1752, 10.961 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.RAPIDEYE.2011", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Rapideye_2011", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2013": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.8809, 0.563585 ], [ 50.3879, 4.29191 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2013", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2013", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2014": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2014", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2014", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2015": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4104, -61.8141 ], [ 51.106, 55.856 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2015", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2015", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2016": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4104, -61.85 ], [ 51.1123, 55.8562 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2016", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2016", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4104, -61.8534 ], [ 51.1123, 55.8562 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2017", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2017", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2018": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2593, -5.57103 ], [ 51.1123, 10.7394 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2018", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2018", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2593, -5.57103 ], [ 51.1123, 10.7394 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2019", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2019", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2593, -5.57103 ], [ 51.1123, 10.7394 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2020", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2020", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2593, -5.57103 ], [ 51.1123, 10.7394 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2021", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2021", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2022": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2593, -5.57103 ], [ 51.1123, 10.7394 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2022", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2022", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2593, -5.57103 ], [ 51.1123, 10.7394 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2023", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2023", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Ortho_sat_Spot_2024": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2581, -5.18838 ], [ 50.9429, 9.63 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHO-SAT.SPOT.2024", "name": "GeoportailFrance.Orthoimagery_Ortho_sat_Spot_2024", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophos_Restrictedareas": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -47.0456, -178.309 ], [ 51.3121, 168.298 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOS.RESTRICTEDAREAS", "name": "GeoportailFrance.Orthoimagery_Orthophos_Restrictedareas", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_1950_1965": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -67.7214 ], [ 51.0945, 55.8464 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.1950-1965", "name": "GeoportailFrance.Orthoimagery_Orthophotos_1950_1965", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_1965_1980": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.0, -6.0 ], [ 52.0, 10.0 ] ], "min_zoom": 3, "max_zoom": 18, "format": "image/png", "style": "BDORTHOHISTORIQUE", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.1965-1980", "name": "GeoportailFrance.Orthoimagery_Orthophotos_1965_1980", "TileMatrixSet": "PM_3_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_1980_1995": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.0, -5.0 ], [ 52.0, 10.0 ] ], "min_zoom": 3, "max_zoom": 18, "format": "image/png", "style": "BDORTHOHISTORIQUE", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.1980-1995", "name": "GeoportailFrance.Orthoimagery_Orthophotos_1980_1995", "TileMatrixSet": "PM_3_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Bdortho": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.BDORTHO", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Bdortho", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Coast2000": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.301, -5.21565 ], [ 51.1233, 2.60783 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.COAST2000", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Coast2000", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here", "status": "broken" }, "Orthoimagery_Orthophotos_Geneve": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 46.1241, 5.95007 ], [ 46.3658, 6.31198 ] ], "min_zoom": 6, "max_zoom": 20, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.GENEVE", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Geneve", "TileMatrixSet": "PM_6_20", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ilesdunord": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 17.8626, -63.1986 ], [ 18.1701, -62.7828 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ILESDUNORD", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ilesdunord", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_express_2018": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC-EXPRESS.2018", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_express_2018", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_express_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC-EXPRESS.2019", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_express_2019", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_express_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC-EXPRESS.2020", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_express_2020", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_express_2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC-EXPRESS.2021", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_express_2021", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_express_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC-EXPRESS.2023", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_express_2023", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_express_2024": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC-EXPRESS.2024", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_express_2024", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2012": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2012", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2012", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2013": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2013", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2013", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2014": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2014", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2014", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2015": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 42.3163, -5.20863 ], [ 51.0945, 8.25674 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2015", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2015", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2016": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2016", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2016", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2017", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2017", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2018": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 2.10403, -63.1702 ], [ 51.1124, 8.25765 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2018", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2018", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3125, -3.74871 ], [ 50.1928, 9.66314 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2019", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2019", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 42.9454, -2.68142 ], [ 49.4512, 7.74363 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2020", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2020", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.0 ], [ 75.0, 179.0 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2021", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2021", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2022": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -80.0, -180.0 ], [ 80.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2022", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2022", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Irc_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.0 ], [ 75.0, 179.0 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.IRC.2023", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Irc_2023", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Low_res_Crs84": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -86.0, -180.0 ], [ 84.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 12, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.LOW_RES.CRS84", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Low_res_Crs84", "TileMatrixSet": "WGS84G_PO_0_12", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ncl": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.NCL", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ncl", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_asp_pac2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-ASP_PAC2020", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_asp_pac2020", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_asp_pac2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-ASP_PAC2021", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_asp_pac2021", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_asp_pac2022": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-ASP_PAC2022", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_asp_pac2022", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_asp_pac2024": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 3.73601, -54.4984 ], [ 50.1839, 7.72339 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-ASP_PAC2024", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_asp_pac2024", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_asp_pac2025": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-ASP_PAC2025", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_asp_pac2025", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_express_2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-EXPRESS.2017", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_express_2017", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_express_2018": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-EXPRESS.2018", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_express_2018", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_express_2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-EXPRESS.2019", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_express_2019", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_express_2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-EXPRESS.2020", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_express_2020", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_express_2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 20, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-EXPRESS.2021", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_express_2021", "TileMatrixSet": "PM_0_20", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_express_2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-EXPRESS.2023", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_express_2023", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Ortho_express_2024": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.ORTHO-EXPRESS.2024", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Ortho_express_2024", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Pre_Irma": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 17.8626, -63.1986 ], [ 18.1701, -62.7828 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.PRE.IRMA", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Pre_Irma", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Rapideye": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.0227, -5.80725 ], [ 51.1752, 10.961 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.RAPIDEYE", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Rapideye", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Socle_asp_2018": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.5 ], [ 75.0, 179.5 ] ], "min_zoom": 0, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.SOCLE-ASP.2018", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Socle_asp_2018", "TileMatrixSet": "PM_0_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Spot5": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.9023, -2.10938 ], [ 46.0732, 5.09766 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.SPOT5", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Spot5", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos_Urgence_Alex": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.8095, 7.07917 ], [ 44.1903, 7.64199 ] ], "min_zoom": 6, "max_zoom": 20, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS.URGENCE.ALEX", "name": "GeoportailFrance.Orthoimagery_Orthophotos_Urgence_Alex", "TileMatrixSet": "PM_6_20", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2000": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 14.372, -61.2472 ], [ 49.0193, 7.13497 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2000", "name": "GeoportailFrance.Orthoimagery_Orthophotos2000", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2000_2005": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2000-2005", "name": "GeoportailFrance.Orthoimagery_Orthophotos2000_2005", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2001": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 4.47153, -61.2472 ], [ 50.3765, 7.23234 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2001", "name": "GeoportailFrance.Orthoimagery_Orthophotos2001", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2002": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 4.49867, -61.2472 ], [ 50.3765, 9.68861 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2002", "name": "GeoportailFrance.Orthoimagery_Orthophotos2002", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2003": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -61.2472 ], [ 50.3765, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2003", "name": "GeoportailFrance.Orthoimagery_Orthophotos2003", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2004": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2004", "name": "GeoportailFrance.Orthoimagery_Orthophotos2004", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2005": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2005", "name": "GeoportailFrance.Orthoimagery_Orthophotos2005", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2006": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2006", "name": "GeoportailFrance.Orthoimagery_Orthophotos2006", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2006_2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2006-2010", "name": "GeoportailFrance.Orthoimagery_Orthophotos2006_2010", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2007": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2007", "name": "GeoportailFrance.Orthoimagery_Orthophotos2007", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2008": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2008", "name": "GeoportailFrance.Orthoimagery_Orthophotos2008", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2009": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2009", "name": "GeoportailFrance.Orthoimagery_Orthophotos2009", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2010", "name": "GeoportailFrance.Orthoimagery_Orthophotos2010", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2011": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2011", "name": "GeoportailFrance.Orthoimagery_Orthophotos2011", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2011_2015": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.0945, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2011-2015", "name": "GeoportailFrance.Orthoimagery_Orthophotos2011_2015", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2012": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2012", "name": "GeoportailFrance.Orthoimagery_Orthophotos2012", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2013": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.091, 55.8561 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2013", "name": "GeoportailFrance.Orthoimagery_Orthophotos2013", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2014": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.0945, 55.8561 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2014", "name": "GeoportailFrance.Orthoimagery_Orthophotos2014", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2015": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.0945, 55.8561 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2015", "name": "GeoportailFrance.Orthoimagery_Orthophotos2015", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2016": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -178.187 ], [ 51.0945, 55.8561 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2016", "name": "GeoportailFrance.Orthoimagery_Orthophotos2016", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2017": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4013, -63.1607 ], [ 50.3856, 55.8464 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2017", "name": "GeoportailFrance.Orthoimagery_Orthophotos2017", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2018": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2018", "name": "GeoportailFrance.Orthoimagery_Orthophotos2018", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2019": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3125, -3.74871 ], [ 50.1928, 9.66314 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2019", "name": "GeoportailFrance.Orthoimagery_Orthophotos2019", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2020": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 42.9454, -2.68142 ], [ 49.4512, 7.74363 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2020", "name": "GeoportailFrance.Orthoimagery_Orthophotos2020", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2021": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.0 ], [ 75.0, 179.0 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2021", "name": "GeoportailFrance.Orthoimagery_Orthophotos2021", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2022": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.0 ], [ 75.0, 179.0 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2022", "name": "GeoportailFrance.Orthoimagery_Orthophotos2022", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Orthoimagery_Orthophotos2023": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -75.0, -179.0 ], [ 75.0, 179.0 ] ], "min_zoom": 6, "max_zoom": 19, "format": "image/jpeg", "style": "normal", "variant": "ORTHOIMAGERY.ORTHOPHOTOS2023", "name": "GeoportailFrance.Orthoimagery_Orthophotos2023", "TileMatrixSet": "PM_6_19", "apikey": "your_api_key_here" }, "Parking_Sup_500": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PARKING.SUP.500", "variant": "PARKING.SUP.500", "name": "GeoportailFrance.Parking_Sup_500", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Part_Enr_Commune": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PART.ENR.COMMUNE", "variant": "PART.ENR.COMMUNE", "name": "GeoportailFrance.Part_Enr_Commune", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Pcrs_Lamb93": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.0, -5.0 ], [ 52.0, 10.0 ] ], "min_zoom": 6, "max_zoom": 22, "format": "image/jpeg", "style": "normal", "variant": "PCRS.LAMB93", "name": "GeoportailFrance.Pcrs_Lamb93", "TileMatrixSet": "2154_5cm_6_22", "apikey": "your_api_key_here", "status": "broken" }, "Pcrs_chantier_d046_crige": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.436, 1.44147 ], [ 44.4632, 1.45428 ] ], "min_zoom": 6, "max_zoom": 22, "format": "image/jpeg", "style": "normal", "variant": "PCRS_chantier_D046_CRIGE", "name": "GeoportailFrance.Pcrs_chantier_d046_crige", "TileMatrixSet": "2154_5cm_6_22", "apikey": "your_api_key_here" }, "Pcrs_chantier_d46_test_sde22": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.4357, 1.41634 ], [ 44.4632, 1.45428 ] ], "min_zoom": 6, "max_zoom": 22, "format": "image/jpeg", "style": "normal", "variant": "PCRS_chantier_D46_test_SDE22", "name": "GeoportailFrance.Pcrs_chantier_d46_test_sde22", "TileMatrixSet": "2154_5cm_6_22", "apikey": "your_api_key_here" }, "Plan_ign_074_gris_n15": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.4544, 5.47119 ], [ 46.5192, 7.56134 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/png", "style": "normal", "variant": "PLAN_IGN_074_GRIS_N15", "name": "GeoportailFrance.Plan_ign_074_gris_n15", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Plan_ign_074_n10_gris": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 45.4544, 5.47119 ], [ 46.5192, 7.56134 ] ], "min_zoom": 0, "max_zoom": 10, "format": "image/png", "style": "normal", "variant": "PLAN_IGN_074_N10_GRIS", "name": "GeoportailFrance.Plan_ign_074_n10_gris", "TileMatrixSet": "PM_0_10", "apikey": "your_api_key_here" }, "Points_Injection_Biomethane": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "POINTS.INJECTION.BIOMETHANE", "variant": "POINTS.INJECTION.BIOMETHANE", "name": "GeoportailFrance.Points_Injection_Biomethane", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Potentiel_Eolien_Reglementaire": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "POTENTIEL.EOLIEN.REGLE", "variant": "POTENTIEL.EOLIEN.REGLEMENTAIRE", "name": "GeoportailFrance.Potentiel_Eolien_Reglementaire", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Potentiel_Geothermie": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "POTENTIEL.GEOTHERMIE", "variant": "POTENTIEL.GEOTHERMIE", "name": "GeoportailFrance.Potentiel_Geothermie", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Potentiel_Hydro": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "POTENTIEL.HYDRO", "variant": "POTENTIEL.HYDRO", "name": "GeoportailFrance.Potentiel_Hydro", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Potentiel_Reseau_Chaleur_Paca": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "POTENTIEL.RESEAU.CHALEUR.PACA", "variant": "POTENTIEL.RESEAU.CHALEUR.PACA", "name": "GeoportailFrance.Potentiel_Reseau_Chaleur_Paca", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Potentiel_Reseau_Chaud_Froid_Paca": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "POTENTIEL.RESEAU.CHAUD.FROID.PACA", "variant": "POTENTIEL.RESEAU.CHAUD.FROID.PACA", "name": "GeoportailFrance.Potentiel_Reseau_Chaud_Froid_Paca", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Potentiel_Reseau_Froid_Paca": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "POTENTIEL.RESEAU.FROID.PACA", "variant": "POTENTIEL.RESEAU.FROID.PACA", "name": "GeoportailFrance.Potentiel_Reseau_Froid_Paca", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Potentiel_Solaire_Batiment": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "POTENTIEL.SOLAIRE.BATIMENT", "variant": "POTENTIEL.SOLAIRE.BATIMENT", "name": "GeoportailFrance.Potentiel_Solaire_Batiment", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Potentiel_Solaire_Friche": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "POTENTIEL.SOLAIRE.FRICHE", "variant": "POTENTIEL.SOLAIRE.FRICHE", "name": "GeoportailFrance.Potentiel_Solaire_Friche", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Potentiel_Solaire_Parking500": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "POTENTIEL.SOLAIRE.PARKING500", "variant": "POTENTIEL.SOLAIRE.PARKING500", "name": "GeoportailFrance.Potentiel_Solaire_Parking500", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Potentiel_Solaire_Rrn": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "POTENTIEL.SOLAIRE.RRN", "variant": "POTENTIEL.SOLAIRE.RRN", "name": "GeoportailFrance.Potentiel_Solaire_Rrn", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Potentiel_Solaire_Sol": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "POTENTIEL.SOLAIRE.SOL", "variant": "POTENTIEL.SOLAIRE.SOL", "name": "GeoportailFrance.Potentiel_Solaire_Sol", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Prairies_Sensibles_Bcae": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "PRAIRIES.SENSIBLES.BCAE", "name": "GeoportailFrance.Prairies_Sensibles_Bcae", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Prod_Installation_Eolien": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PROD.INSTALLATION.EOLIEN", "variant": "PROD.INSTALLATION.EOLIEN", "name": "GeoportailFrance.Prod_Installation_Eolien", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Prod_Installation_Hydro": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PROD.INSTALLATION.HYDRO", "variant": "PROD.INSTALLATION.HYDRO", "name": "GeoportailFrance.Prod_Installation_Hydro", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Prod_Installation_Pv": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PROD.INSTALLATION.PV", "variant": "PROD.INSTALLATION.PV", "name": "GeoportailFrance.Prod_Installation_Pv", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Productible_Biomethane_Commune": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PRODUCTIBLE.BIOMETHANE.COMMUNE", "variant": "PRODUCTIBLE.BIOMETHANE.COMMUNE", "name": "GeoportailFrance.Productible_Biomethane_Commune", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Productible_Eolien_Commune": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PRODUCTIBLE.EOLIEN.COMMUNE", "variant": "PRODUCTIBLE.EOLIEN.COMMUNE", "name": "GeoportailFrance.Productible_Eolien_Commune", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Productible_Methanisation_Commune": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PRODUCTIBLE.METHANISATION.COMMUNE", "variant": "PRODUCTIBLE.METHANISATION.COMMUNE", "name": "GeoportailFrance.Productible_Methanisation_Commune", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Productible_Photovoltaique_Commune": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PRODUCTIBLE.PHOTOVOLTAIQUE.COMMUNE", "variant": "PRODUCTIBLE.PHOTOVOLTAIQUE.COMMUNE", "name": "GeoportailFrance.Productible_Photovoltaique_Commune", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Protectedareas_Apb": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.APB", "variant": "PROTECTEDAREAS.APB", "name": "GeoportailFrance.Protectedareas_Apb", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Apg": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.APG", "name": "GeoportailFrance.Protectedareas_Apg", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Aphn": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -53.6279, -63.3725 ], [ 51.3121, 82.645 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.APHN", "name": "GeoportailFrance.Protectedareas_Aphn", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Aplg": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -53.6279, -63.3725 ], [ 51.3121, 82.645 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "nolegend", "variant": "PROTECTEDAREAS.APLG", "name": "GeoportailFrance.Protectedareas_Aplg", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Bios": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.BIOS", "variant": "PROTECTEDAREAS.BIOS", "name": "GeoportailFrance.Protectedareas_Bios", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Gp": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.GP", "name": "GeoportailFrance.Protectedareas_Gp", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Inpg": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -53.6279, -63.3725 ], [ 51.3121, 82.645 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.INPG", "name": "GeoportailFrance.Protectedareas_Inpg", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Mnhn_Cdl_Parcels": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.MNHN.CDL.PARCELS", "variant": "PROTECTEDAREAS.MNHN.CDL.PARCELS", "name": "GeoportailFrance.Protectedareas_Mnhn_Cdl_Parcels", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Mnhn_Cdl_Perimeter": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3955, -63.1538 ], [ 51.097, 55.8522 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.MNHN.CDL.PERIMETER", "name": "GeoportailFrance.Protectedareas_Mnhn_Cdl_Perimeter", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Mnhn_Conservatoires": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.MNHN.CONSERVATOIRES", "name": "GeoportailFrance.Protectedareas_Mnhn_Conservatoires", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Mnhn_Rn_Perimeter": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -53.6279, -63.3725 ], [ 51.3121, 82.645 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.MNHN.RN.PERIMETER", "name": "GeoportailFrance.Protectedareas_Mnhn_Rn_Perimeter", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Protectedareas_Pn": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.PN", "variant": "PROTECTEDAREAS.PN", "name": "GeoportailFrance.Protectedareas_Pn", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Pnm": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.PNM", "name": "GeoportailFrance.Protectedareas_Pnm", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Pnr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.PNR", "variant": "PROTECTEDAREAS.PNR", "name": "GeoportailFrance.Protectedareas_Pnr", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Prsf": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 17, "format": "image/png", "style": "POINT RENCONTRE SECOURS FORET", "variant": "PROTECTEDAREAS.PRSF", "name": "GeoportailFrance.Protectedareas_Prsf", "TileMatrixSet": "PM_6_17", "apikey": "your_api_key_here" }, "Protectedareas_Ramsar": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.RAMSAR", "variant": "PROTECTEDAREAS.RAMSAR", "name": "GeoportailFrance.Protectedareas_Ramsar", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Rb": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.RB", "name": "GeoportailFrance.Protectedareas_Rb", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Ripn": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.RIPN", "name": "GeoportailFrance.Protectedareas_Ripn", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Rn": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -53.6279, -63.3725 ], [ 51.3121, 82.645 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.RN", "variant": "PROTECTEDAREAS.RN", "name": "GeoportailFrance.Protectedareas_Rn", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Rnc": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.RNC", "variant": "PROTECTEDAREAS.RNC", "name": "GeoportailFrance.Protectedareas_Rnc", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Rncf": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.RNCF", "name": "GeoportailFrance.Protectedareas_Rncf", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Sic": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.SIC", "variant": "PROTECTEDAREAS.SIC", "name": "GeoportailFrance.Protectedareas_Sic", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Unesco": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.UNESCO", "name": "GeoportailFrance.Protectedareas_Unesco", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Znieff1": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.ZNIEFF1", "variant": "PROTECTEDAREAS.ZNIEFF1", "name": "GeoportailFrance.Protectedareas_Znieff1", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Znieff1_Sea": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.ZNIEFF1.SEA", "name": "GeoportailFrance.Protectedareas_Znieff1_Sea", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Znieff2": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.ZNIEFF2", "variant": "PROTECTEDAREAS.ZNIEFF2", "name": "GeoportailFrance.Protectedareas_Znieff2", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Znieff2_Sea": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "PROTECTEDAREAS.ZNIEFF2.SEA", "name": "GeoportailFrance.Protectedareas_Znieff2_Sea", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Zpr": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -53.6279, -63.3725 ], [ 51.3121, 82.645 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.BIOS", "variant": "PROTECTEDAREAS.ZPR", "name": "GeoportailFrance.Protectedareas_Zpr", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedareas_Zps": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDAREAS.ZPS", "variant": "PROTECTEDAREAS.ZPS", "name": "GeoportailFrance.Protectedareas_Zps", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Protectedsites_Mnhn_Reserves_regionales": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "PROTECTEDSITES.MNHN.RESERVES-REGIONALES", "variant": "PROTECTEDSITES.MNHN.RESERVES-REGIONALES", "name": "GeoportailFrance.Protectedsites_Mnhn_Reserves_regionales", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Puissance_Installee_Biomethane": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PUISSANCE.INSTALLEE.METHANISATION.BIOMETHANE", "variant": "PUISSANCE.INSTALLEE.BIOMETHANE", "name": "GeoportailFrance.Puissance_Installee_Biomethane", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Puissance_Installee_Methanisation": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "PUISSANCE.INSTALLEE.METHANISATION.BIOMETHANE", "variant": "PUISSANCE.INSTALLEE.METHANISATION", "name": "GeoportailFrance.Puissance_Installee_Methanisation", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Pva_ign_zone-marais-de-virvee_1945": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.9109, -0.473697 ], [ 44.9958, -0.353311 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/png", "style": "BDORTHOHISTORIQUE", "variant": "PVA_IGN_zone-marais-de-Virvee_1945", "name": "GeoportailFrance.Pva_ign_zone-marais-de-virvee_1945", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Pva_ign_zone-marais-de-virvee_1956": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.943, -0.459808 ], [ 44.9831, -0.400713 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/png", "style": "BDORTHOHISTORIQUE", "variant": "PVA_IGN_zone-marais-de-Virvee_1956", "name": "GeoportailFrance.Pva_ign_zone-marais-de-virvee_1956", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Pva_ign_zone-marais-de-virvee_1976": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.9412, -0.462614 ], [ 44.9695, -0.421769 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "PVA_IGN_zone-marais-de-Virvee_1976", "name": "GeoportailFrance.Pva_ign_zone-marais-de-virvee_1976", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Pva_ign_zone-marais-de-virvee_1984": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.9204, -0.479737 ], [ 44.9712, -0.403842 ] ], "min_zoom": 0, "max_zoom": 17, "format": "image/png", "style": "normal", "variant": "PVA_IGN_zone-marais-de-Virvee_1984", "name": "GeoportailFrance.Pva_ign_zone-marais-de-virvee_1984", "TileMatrixSet": "PM_0_17", "apikey": "your_api_key_here" }, "Patinat_apb": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3781, -109.438 ], [ 50.9841, 55.6872 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "Patinat_APB", "name": "GeoportailFrance.Patinat_apb", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Patinat_pn": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3863, -62.018 ], [ 48.1066, 55.8367 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "Patinat_PN", "name": "GeoportailFrance.Patinat_pn", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Patinat_rb": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3768, -61.5181 ], [ 50.7622, 55.8053 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "Patinat_RB", "name": "GeoportailFrance.Patinat_rb", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Patinat_rnn": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -53.2258, -63.0583 ], [ 51.0775, 81.811 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "Patinat_RNN", "name": "GeoportailFrance.Patinat_rnn", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Rapideye_pyr-jpeg_wld_wm_2010": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2014, -5.80725 ], [ 50.9218, 10.961 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/jpeg", "style": "normal", "variant": "RAPIDEYE_PYR-JPEG_WLD_WM_2010", "name": "GeoportailFrance.Rapideye_pyr-jpeg_wld_wm_2010", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Rapideye_pyr-jpeg_wld_wm_2011": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.0227, -5.80725 ], [ 51.1752, 10.961 ] ], "min_zoom": 0, "max_zoom": 15, "format": "image/jpeg", "style": "normal", "variant": "RAPIDEYE_PYR-JPEG_WLD_WM_2011", "name": "GeoportailFrance.Rapideye_pyr-jpeg_wld_wm_2011", "TileMatrixSet": "PM_0_15", "apikey": "your_api_key_here" }, "Repartition_Potentiel_Methanisation_2050": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "REPARTITION.POTENTIEL.METHANISATION.2050", "variant": "REPARTITION.POTENTIEL.METHANISATION.2050", "name": "GeoportailFrance.Repartition_Potentiel_Methanisation_2050", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Rpg2012_pyr-png_wld_edugeo_20170126": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "RPG2012_PYR-PNG_WLD_EDUGEO_20170126", "name": "GeoportailFrance.Rpg2012_pyr-png_wld_edugeo_20170126", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Scan-edugeo_pyr-png_fxx_wm": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 49.2805, -0.125103 ], [ 49.6868, 0.625515 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "SCAN-EDUGEO_PYR-PNG_FXX_WM", "name": "GeoportailFrance.Scan-edugeo_pyr-png_fxx_wm", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Scan1000_pyr-jpeg_wld_wm_wmts_3d": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.2891, -6.42088 ], [ 51.444, 13.55 ] ], "min_zoom": 0, "max_zoom": 10, "format": "image/jpeg", "style": "normal", "variant": "SCAN1000_PYR-JPEG_WLD_WM_WMTS_3D", "name": "GeoportailFrance.Scan1000_pyr-jpeg_wld_wm_wmts_3d", "TileMatrixSet": "PM_0_10", "apikey": "your_api_key_here" }, "Securoute_Te_1te": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 17, "format": "image/png", "style": "RESEAU ROUTIER 1TE", "variant": "SECUROUTE.TE.1TE", "name": "GeoportailFrance.Securoute_Te_1te", "TileMatrixSet": "PM_7_17", "apikey": "your_api_key_here" }, "Securoute_Te_2te48": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 17, "format": "image/png", "style": "RESEAU ROUTIER 2TE48", "variant": "SECUROUTE.TE.2TE48", "name": "GeoportailFrance.Securoute_Te_2te48", "TileMatrixSet": "PM_7_17", "apikey": "your_api_key_here" }, "Securoute_Te_All": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 17, "format": "image/png", "style": "TOUS LES FRANCHISSEMENTS", "variant": "SECUROUTE.TE.ALL", "name": "GeoportailFrance.Securoute_Te_All", "TileMatrixSet": "PM_7_17", "apikey": "your_api_key_here" }, "Securoute_Te_Oa": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 17, "format": "image/png", "style": "AUTRES FRANCHISSEMENTS", "variant": "SECUROUTE.TE.OA", "name": "GeoportailFrance.Securoute_Te_Oa", "TileMatrixSet": "PM_7_17", "apikey": "your_api_key_here" }, "Securoute_Te_Pn": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 17, "format": "image/png", "style": "FRANCHISSEMENTS PASSAGE A NIVEAU", "variant": "SECUROUTE.TE.PN", "name": "GeoportailFrance.Securoute_Te_Pn", "TileMatrixSet": "PM_7_17", "apikey": "your_api_key_here" }, "Securoute_Te_Pnd": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 17, "format": "image/png", "style": "FRANCHISSEMENTS PASSAGE A NIVEAU DIFFICILE", "variant": "SECUROUTE.TE.PND", "name": "GeoportailFrance.Securoute_Te_Pnd", "TileMatrixSet": "PM_7_17", "apikey": "your_api_key_here" }, "Securoute_Te_Te120": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 17, "format": "image/png", "style": "RESEAU ROUTIER TE120", "variant": "SECUROUTE.TE.TE120", "name": "GeoportailFrance.Securoute_Te_Te120", "TileMatrixSet": "PM_7_17", "apikey": "your_api_key_here" }, "Securoute_Te_Te72": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 17, "format": "image/png", "style": "RESEAU ROUTIER TE94", "variant": "SECUROUTE.TE.TE72", "name": "GeoportailFrance.Securoute_Te_Te72", "TileMatrixSet": "PM_7_17", "apikey": "your_api_key_here" }, "Securoute_Te_Te94": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 17, "format": "image/png", "style": "RESEAU ROUTIER TE94", "variant": "SECUROUTE.TE.TE94", "name": "GeoportailFrance.Securoute_Te_Te94", "TileMatrixSet": "PM_7_17", "apikey": "your_api_key_here" }, "Site_Production_Chaleur_Biogaz": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "SITE.PRODUCTION.CHALEUR.BIOGAZ", "variant": "SITE.PRODUCTION.CHALEUR.BIOGAZ", "name": "GeoportailFrance.Site_Production_Chaleur_Biogaz", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Site_Production_Chaleur_Cogeneration": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "SITE.PRODUCTION.CHALEUR.COGENERATION", "variant": "SITE.PRODUCTION.CHALEUR.COGENERATION", "name": "GeoportailFrance.Site_Production_Chaleur_Cogeneration", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Site_Production_Chaleur_Dechets": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "SITE.PRODUCTION.CHALEUR.DECHETS", "variant": "SITE.PRODUCTION.CHALEUR.DECHETS", "name": "GeoportailFrance.Site_Production_Chaleur_Dechets", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Site_Production_Chaleur_Methanisaton": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "SITE.PRODUCTION.CHALEUR.METHANISATON", "variant": "SITE.PRODUCTION.CHALEUR.METHANISATON", "name": "GeoportailFrance.Site_Production_Chaleur_Methanisaton", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Site_Production_Chaleur_Rc": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "SITE.PRODUCTION.CHALEUR.RC", "variant": "SITE.PRODUCTION.CHALEUR.RC", "name": "GeoportailFrance.Site_Production_Chaleur_Rc", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Site_Production_Chaleur_Rc_Bretagne": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.2719, -5.15012 ], [ 48.9064, -1.00687 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "SITE.PRODUCTION.CHALEUR.RC.BRETAGNE", "variant": "SITE.PRODUCTION.CHALEUR.RC.BRETAGNE", "name": "GeoportailFrance.Site_Production_Chaleur_Rc_Bretagne", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Site_Production_Chaleur_Rc_Paca": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 42.9758, 4.22277 ], [ 45.1331, 7.72777 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "SITE.PRODUCTION.CHALEUR.RC.PACA", "variant": "SITE.PRODUCTION.CHALEUR.RC.PACA", "name": "GeoportailFrance.Site_Production_Chaleur_Rc_Paca", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Site_Production_Chaleur_Rcf_Lineaire": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "SITE.PRODUCTION.CHALEUR.RCF.LINEAIRE", "variant": "SITE.PRODUCTION.CHALEUR.RCF.LINEAIRE", "name": "GeoportailFrance.Site_Production_Chaleur_Rcf_Lineaire", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Site_Production_Chaleur_Rcf_Point": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.3252, -5.15047 ], [ 51.0991, 9.57054 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "SITE.PRODUCTION.CHALEUR.RCF.POINT", "variant": "SITE.PRODUCTION.CHALEUR.RCF.POINT", "name": "GeoportailFrance.Site_Production_Chaleur_Rcf_Point", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Spot-edugeo_pyr-png_wld_wm": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.6754, -1.12593 ], [ 45.5582, 0.125103 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "SPOT-EDUGEO_PYR-PNG_WLD_WM", "name": "GeoportailFrance.Spot-edugeo_pyr-png_wld_wm", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Spot5_pyr-jpeg_wld_wm": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.9023, -2.10938 ], [ 46.0732, 5.09766 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "SPOT5_PYR-JPEG_WLD_WM", "name": "GeoportailFrance.Spot5_pyr-jpeg_wld_wm", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Test_pbe_le_havre": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -89.0, -180.0 ], [ 89.0, 180.0 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "TEST_PBE_LE_HAVRE", "name": "GeoportailFrance.Test_pbe_le_havre", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Thr_Orthoimagery_Orthophotos": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.1533, 0.0354912 ], [ 49.6969, 6.02353 ] ], "min_zoom": 6, "max_zoom": 21, "format": "image/jpeg", "style": "normal", "variant": "THR.ORTHOIMAGERY.ORTHOPHOTOS", "name": "GeoportailFrance.Thr_Orthoimagery_Orthophotos", "TileMatrixSet": "PM_6_21", "apikey": "your_api_key_here" }, "Tn_Roadtransportnetwork_Roadlink": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4969, -63.9692 ], [ 71.5841, 55.9644 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "inspire_common:DEFAULT", "variant": "TN.RoadTransportNetwork.RoadLink", "name": "GeoportailFrance.Tn_Roadtransportnetwork_Roadlink", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Traces_Rando_Hivernale": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.1893, 5.44835 ], [ 46.4052, 7.20036 ] ], "min_zoom": 6, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "TRACES.RANDO.HIVERNALE", "name": "GeoportailFrance.Traces_Rando_Hivernale", "TileMatrixSet": "PM_6_16", "apikey": "your_api_key_here" }, "Transportnetwork_Commontransportelements_Markerpost": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 10, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "TRANSPORTNETWORK.COMMONTRANSPORTELEMENTS.MARKERPOST", "name": "GeoportailFrance.Transportnetwork_Commontransportelements_Markerpost", "TileMatrixSet": "PM_10_18", "apikey": "your_api_key_here" }, "Transportnetwork_Commontransportelements_Markerpost_visu": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "TRANSPORTNETWORK.COMMONTRANSPORTELEMENTS.MARKERPOST_VISU", "name": "GeoportailFrance.Transportnetwork_Commontransportelements_Markerpost_visu", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Transportnetworks_Railways": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4969, -63.9692 ], [ 71.5841, 55.9644 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "TRANSPORTNETWORKS.RAILWAYS", "name": "GeoportailFrance.Transportnetworks_Railways", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Transportnetworks_Roads": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4969, -63.9692 ], [ 71.5841, 55.9644 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "TRANSPORTNETWORKS.ROADS", "name": "GeoportailFrance.Transportnetworks_Roads", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Transportnetworks_Roads_Direction": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 15, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "TRANSPORTNETWORKS.ROADS.DIRECTION", "name": "GeoportailFrance.Transportnetworks_Roads_Direction", "TileMatrixSet": "PM_15_18", "apikey": "your_api_key_here" }, "Transportnetworks_Runways": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4969, -63.9692 ], [ 71.5841, 55.9644 ] ], "min_zoom": 6, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "TRANSPORTNETWORKS.RUNWAYS", "name": "GeoportailFrance.Transportnetworks_Runways", "TileMatrixSet": "PM_6_18", "apikey": "your_api_key_here" }, "Transports_Drones_Restrictions": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 40.576, -9.88147 ], [ 51.4428, 11.6781 ] ], "min_zoom": 3, "max_zoom": 15, "format": "image/png", "style": "normal", "variant": "TRANSPORTS.DRONES.RESTRICTIONS", "name": "GeoportailFrance.Transports_Drones_Restrictions", "TileMatrixSet": "PM_3_15", "apikey": "your_api_key_here" }, "Utilityandgovernmentalservices_All": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 71.5841, 55.9259 ] ], "min_zoom": 10, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "UTILITYANDGOVERNMENTALSERVICES.ALL", "name": "GeoportailFrance.Utilityandgovernmentalservices_All", "TileMatrixSet": "PM_10_18", "apikey": "your_api_key_here" }, "Wmts_beziers-colombiers_2022110638503087": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.2771, 3.08618 ], [ 43.3849, 3.23436 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "WMTS_BEZIERS-COLOMBIERS_2022110638503087", "name": "GeoportailFrance.Wmts_beziers-colombiers_2022110638503087", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Hedge_Hedge": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.4756, -63.3725 ], [ 51.3121, 55.9259 ] ], "min_zoom": 7, "max_zoom": 18, "format": "image/png", "style": "normal", "variant": "hedge.hedge", "name": "GeoportailFrance.Hedge_Hedge", "TileMatrixSet": "PM_7_18", "apikey": "your_api_key_here" }, "Hydro_ardennes_pyramide_raster_wmts": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 47.9409, 1.99937 ], [ 50.2587, 5.87344 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/jpeg", "style": "normal", "variant": "hydro_ardennes_pyramide_raster_wmts", "name": "GeoportailFrance.Hydro_ardennes_pyramide_raster_wmts", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" }, "Orthophoto_1947_calvados": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7508, -1.16113 ], [ 49.4308, 0.447995 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "transparent", "variant": "orthophoto_1947_calvados", "name": "GeoportailFrance.Orthophoto_1947_calvados", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthophoto_1955_calvados": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7517, -1.15977 ], [ 49.4299, 0.446633 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "transparent", "variant": "orthophoto_1955_calvados", "name": "GeoportailFrance.Orthophoto_1955_calvados", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthophoto_1972_calvados": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7508, -1.16113 ], [ 49.4308, 0.447995 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "transparent", "variant": "orthophoto_1972_calvados", "name": "GeoportailFrance.Orthophoto_1972_calvados", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthophoto_1984_calvados": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7508, -1.16113 ], [ 49.4308, 0.447995 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "transparent", "variant": "orthophoto_1984_calvados", "name": "GeoportailFrance.Orthophoto_1984_calvados", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Orthophoto_1991_calvados": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 48.7508, -1.16113 ], [ 49.4308, 0.447995 ] ], "min_zoom": 0, "max_zoom": 18, "format": "image/png", "style": "transparent", "variant": "orthophoto_1991_calvados", "name": "GeoportailFrance.Orthophoto_1991_calvados", "TileMatrixSet": "PM_0_18", "apikey": "your_api_key_here" }, "Pcrs_chantier_cd45_test032025_wmts": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 44.4357, 1.41634 ], [ 44.4632, 1.45428 ] ], "min_zoom": 0, "max_zoom": 22, "format": "image/jpeg", "style": "normal", "variant": "pcrs_chantier_cd45_test032025_wmts", "name": "GeoportailFrance.Pcrs_chantier_cd45_test032025_wmts", "TileMatrixSet": "2154_5cm_0_22", "apikey": "your_api_key_here" }, "Testsrd-pcrs86-poitiers": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 46.5758, 0.30613 ], [ 46.5907, 0.32753 ] ], "min_zoom": 0, "max_zoom": 10, "format": "image/jpeg", "style": "normal", "variant": "testSRD-PCRS86-Poitiers", "name": "GeoportailFrance.Testsrd-pcrs86-poitiers", "TileMatrixSet": "PM_0_10", "apikey": "your_api_key_here" }, "Test_mamp_echantillon_pcrs": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 43.3964, 5.0246 ], [ 43.4236, 5.06254 ] ], "min_zoom": 8, "max_zoom": 21, "format": "image/png", "style": "normal", "variant": "test_mamp_echantillon_pcrs", "name": "GeoportailFrance.Test_mamp_echantillon_pcrs", "TileMatrixSet": "2154_5cm_8_21", "apikey": "your_api_key_here" }, "Tuto_scan1000_srd": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 41.2349, 8.35477 ], [ 43.0475, 9.75281 ] ], "min_zoom": 0, "max_zoom": 10, "format": "image/jpeg", "style": "normal", "variant": "tuto_scan1000_SRD", "name": "GeoportailFrance.Tuto_scan1000_srd", "TileMatrixSet": "PM_0_10", "apikey": "your_api_key_here" }, "Zzz_nl_test_prevair_o3_chi_an_euro_dave_20241201_d_1": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ 29.9888, -25.0 ], [ 70.0, 44.9977 ] ], "min_zoom": 0, "max_zoom": 6, "format": "image/png", "style": "normal", "variant": "zzz_nl_test_prevair_O3_CHI_AN_EURO_DAVE_20241201_D_1", "name": "GeoportailFrance.Zzz_nl_test_prevair_o3_chi_an_euro_dave_20241201_d_1", "TileMatrixSet": "PM_0_6", "apikey": "your_api_key_here" }, "Zzz_nl_test_reserve_biosphere": { "url": "https://data.geopf.fr/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE={style}&TILEMATRIXSET={TileMatrixSet}&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}", "html_attribution": "Geoportail France", "attribution": "Geoportail France", "bounds": [ [ -21.3768, -61.5181 ], [ 50.7622, 55.8053 ] ], "min_zoom": 0, "max_zoom": 16, "format": "image/png", "style": "normal", "variant": "zzz_nl_test_reserve_biosphere", "name": "GeoportailFrance.Zzz_nl_test_reserve_biosphere", "TileMatrixSet": "PM_0_16", "apikey": "your_api_key_here" } }, "OneMapSG": { "Default": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "Default", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.Default" }, "Night": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "Night", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.Night" }, "Original": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "Original", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.Original" }, "Grey": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "Grey", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.Grey" }, "LandLot": { "url": "https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png", "variant": "LandLot", "min_zoom": 11, "max_zoom": 18, "bounds": [ [ 1.56073, 104.11475 ], [ 1.16, 103.502 ] ], "html_attribution": " New OneMap | Map data © contributors, Singapore Land Authority", "attribution": "![](https://docs.onemap.sg/maps/images/oneMap64-01.png) New OneMap | Map data (C) contributors, Singapore Land Authority", "name": "OneMapSG.LandLot" } }, "USGS": { "USTopo": { "url": "https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/tile/{z}/{y}/{x}", "max_zoom": 20, "html_attribution": "Tiles courtesy of the U.S. Geological Survey", "attribution": "Tiles courtesy of the U.S. Geological Survey", "name": "USGS.USTopo" }, "USImagery": { "url": "https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}", "max_zoom": 20, "html_attribution": "Tiles courtesy of the U.S. Geological Survey", "attribution": "Tiles courtesy of the U.S. Geological Survey", "name": "USGS.USImagery" }, "USImageryTopo": { "url": "https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryTopo/MapServer/tile/{z}/{y}/{x}", "max_zoom": 20, "html_attribution": "Tiles courtesy of the U.S. Geological Survey", "attribution": "Tiles courtesy of the U.S. Geological Survey", "name": "USGS.USImageryTopo" } }, "WaymarkedTrails": { "hiking": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "hiking", "name": "WaymarkedTrails.hiking" }, "cycling": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "cycling", "name": "WaymarkedTrails.cycling" }, "mtb": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "mtb", "name": "WaymarkedTrails.mtb" }, "slopes": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "slopes", "name": "WaymarkedTrails.slopes" }, "riding": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "riding", "name": "WaymarkedTrails.riding" }, "skating": { "url": "https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png", "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors | Map style: © waymarkedtrails.org (CC-BY-SA)", "attribution": "Map data: (C) OpenStreetMap contributors | Map style: (C) waymarkedtrails.org (CC-BY-SA)", "variant": "skating", "name": "WaymarkedTrails.skating" } }, "OpenAIP": { "url": "https://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.{ext}", "html_attribution": "openAIP Data (CC-BY-NC-SA)", "attribution": "openAIP Data (CC-BY-NC-SA)", "ext": "png", "min_zoom": 4, "max_zoom": 14, "tms": true, "detectRetina": true, "subdomains": "12", "name": "OpenAIP" }, "OpenSnowMap": { "pistes": { "url": "https://tiles.opensnowmap.org/{variant}/{z}/{x}/{y}.png", "min_zoom": 9, "max_zoom": 18, "html_attribution": "Map data: © OpenStreetMap contributors & ODbL, © www.opensnowmap.org CC-BY-SA", "attribution": "Map data: (C) OpenStreetMap contributors & ODbL, (C) www.opensnowmap.org CC-BY-SA", "variant": "pistes", "name": "OpenSnowMap.pistes" } }, "AzureMaps": { "MicrosoftImagery": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.imagery", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftImagery" }, "MicrosoftBaseDarkGrey": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.base.darkgrey", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftBaseDarkGrey" }, "MicrosoftBaseRoad": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.base.road", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftBaseRoad" }, "MicrosoftBaseHybridRoad": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.base.hybrid.road", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftBaseHybridRoad" }, "MicrosoftTerraMain": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.", "apiVersion": "2.0", "variant": "microsoft.terra.main", "subscriptionKey": "", "language": "en-US", "name": "AzureMaps.MicrosoftTerraMain" }, "MicrosoftWeatherInfraredMain": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&timeStamp={timeStamp}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.", "apiVersion": "2.0", "variant": "microsoft.weather.infrared.main", "subscriptionKey": "", "language": "en-US", "timeStamp": "2021-05-08T09:03:00Z", "name": "AzureMaps.MicrosoftWeatherInfraredMain" }, "MicrosoftWeatherRadarMain": { "url": "https://atlas.microsoft.com/map/tile?api-version={apiVersion}&tilesetId={variant}&x={x}&y={y}&zoom={z}&timeStamp={timeStamp}&language={language}&subscription-key={subscriptionKey}", "html_attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.", "attribution": "See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.", "apiVersion": "2.0", "variant": "microsoft.weather.radar.main", "subscriptionKey": "", "language": "en-US", "timeStamp": "2021-05-08T09:03:00Z", "name": "AzureMaps.MicrosoftWeatherRadarMain" } }, "SwissFederalGeoportal": { "NationalMapColor": { "url": "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/3857/{z}/{x}/{y}.jpeg", "html_attribution": "swisstopo", "attribution": "\u00a9 swisstopo", "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "min_zoom": 2, "max_zoom": 18, "name": "SwissFederalGeoportal.NationalMapColor" }, "NationalMapGrey": { "url": "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-grau/default/current/3857/{z}/{x}/{y}.jpeg", "html_attribution": "swisstopo", "attribution": "\u00a9 swisstopo", "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "min_zoom": 2, "max_zoom": 18, "name": "SwissFederalGeoportal.NationalMapGrey" }, "SWISSIMAGE": { "url": "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.swissimage/default/current/3857/{z}/{x}/{y}.jpeg", "html_attribution": "swisstopo", "attribution": "\u00a9 swisstopo", "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "min_zoom": 2, "max_zoom": 19, "name": "SwissFederalGeoportal.SWISSIMAGE" }, "JourneyThroughTime": { "url": "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.zeitreihen/default/{time}/3857/{z}/{x}/{y}.png", "html_attribution": "swisstopo", "attribution": "\u00a9 swisstopo", "bounds": [ [ 45.398181, 5.140242 ], [ 48.230651, 11.47757 ] ], "min_zoom": 2, "max_zoom": 18, "time": 18641231, "name": "SwissFederalGeoportal.JourneyThroughTime" } }, "TopPlusOpen": { "Color": { "url": "http://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/{variant}/default/WEBMERCATOR/{z}/{y}/{x}.png", "max_zoom": 18, "html_attribution": "Map data: © dl-de/by-2-0", "attribution": "Map data: (C) dl-de/by-2-0", "variant": "web", "name": "TopPlusOpen.Color" }, "Grey": { "url": "http://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/{variant}/default/WEBMERCATOR/{z}/{y}/{x}.png", "max_zoom": 18, "html_attribution": "Map data: © dl-de/by-2-0", "attribution": "Map data: (C) dl-de/by-2-0", "variant": "web_grau", "name": "TopPlusOpen.Grey" } }, "Gaode": { "Normal": { "url": "http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}", "max_zoom": 19, "attribution": "© Gaode.com", "html_attribution": "© Gaode.com", "name": "Gaode.Normal" }, "Satellite": { "url": "http://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}", "max_zoom": 19, "attribution": "© Gaode.com", "html_attribution": "© Gaode.com", "name": "Gaode.Satellite" } }, "Strava": { "All": { "url": "https://heatmap-external-a.strava.com/tiles/all/hot/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.All" }, "Ride": { "url": "https://heatmap-external-a.strava.com/tiles/ride/hot/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.Ride" }, "Run": { "url": "https://heatmap-external-a.strava.com/tiles/run/bluered/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.Run" }, "Water": { "url": "https://heatmap-external-a.strava.com/tiles/water/blue/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.Water" }, "Winter": { "url": "https://heatmap-external-a.strava.com/tiles/winter/hot/{z}/{x}/{y}.png", "max_zoom": 15, "attribution": "Map tiles by Strava 2021", "html_attribution": "Map tiles by Strava 2021", "name": "Strava.Winter" } }, "OrdnanceSurvey": { "Road": { "url": "https://api.os.uk/maps/raster/v1/zxy/Road_3857/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right 2025", "attribution": "Contains OS data (C) Crown copyright and database right 2025", "key": "", "min_zoom": 7, "max_zoom": 16, "max_zoom_premium": 20, "bounds": [ [ 49.766807, -9.496386 ], [ 61.465189, 3.634745 ] ], "name": "OrdnanceSurvey.Road" }, "Road_27700": { "url": "https://api.os.uk/maps/raster/v1/zxy/Road_27700/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right 2025", "attribution": "Contains OS data (C) Crown copyright and database right 2025", "key": "", "crs": "EPSG:27700", "min_zoom": 0, "max_zoom": 9, "max_zoom_premium": 13, "bounds": [ [ 0, 0 ], [ 700000, 1300000 ] ], "name": "OrdnanceSurvey.Road_27700" }, "Outdoor": { "url": "https://api.os.uk/maps/raster/v1/zxy/Outdoor_3857/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right 2025", "attribution": "Contains OS data (C) Crown copyright and database right 2025", "key": "", "min_zoom": 7, "max_zoom": 16, "max_zoom_premium": 20, "bounds": [ [ 49.766807, -9.496386 ], [ 61.465189, 3.634745 ] ], "name": "OrdnanceSurvey.Outdoor" }, "Outdoor_27700": { "url": "https://api.os.uk/maps/raster/v1/zxy/Outdoor_27700/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right 2025", "attribution": "Contains OS data (C) Crown copyright and database right 2025", "key": "", "crs": "EPSG:27700", "min_zoom": 0, "max_zoom": 9, "max_zoom_premium": 13, "bounds": [ [ 0, 0 ], [ 700000, 1300000 ] ], "name": "OrdnanceSurvey.Outdoor_27700" }, "Light": { "url": "https://api.os.uk/maps/raster/v1/zxy/Light_3857/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right 2025", "attribution": "Contains OS data (C) Crown copyright and database right 2025", "key": "", "min_zoom": 7, "max_zoom": 16, "max_zoom_premium": 20, "bounds": [ [ 49.766807, -9.496386 ], [ 61.465189, 3.634745 ] ], "name": "OrdnanceSurvey.Light" }, "Light_27700": { "url": "https://api.os.uk/maps/raster/v1/zxy/Light_27700/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right 2025", "attribution": "Contains OS data (C) Crown copyright and database right 2025", "key": "", "crs": "EPSG:27700", "min_zoom": 0, "max_zoom": 9, "max_zoom_premium": 13, "bounds": [ [ 0, 0 ], [ 700000, 1300000 ] ], "name": "OrdnanceSurvey.Light_27700" }, "Leisure_27700": { "url": "https://api.os.uk/maps/raster/v1/zxy/Leisure_27700/{z}/{x}/{y}.png?key={key}", "html_attribution": "Contains OS data © Crown copyright and database right 2025", "attribution": "Contains OS data (C) Crown copyright and database right 2025", "key": "", "crs": "EPSG:27700", "min_zoom": 0, "max_zoom": 5, "max_zoom_premium": 9, "bounds": [ [ 0, 0 ], [ 700000, 1300000 ] ], "name": "OrdnanceSurvey.Leisure_27700" } }, "UN": { "ClearMap": { "url": "https://geoservices.un.org/arcgis/rest/services/ClearMap_WebTopo/MapServer/tile/{z}/{y}/{x}", "name": "UN.ClearMap", "html_attribution": "© United Nations contributors", "attribution": "United Nations" } } }xyzservices-2025.4.0/xyzservices/lib.py000066400000000000000000000517441500266262400200760ustar00rootroot00000000000000""" Utilities to support XYZservices """ from __future__ import annotations import json import urllib.request import uuid from typing import Callable from urllib.parse import quote QUERY_NAME_TRANSLATION = str.maketrans({x: "" for x in "., -_/"}) class Bunch(dict): """A dict with attribute-access :class:`Bunch` is used to store :class:`TileProvider` objects. Examples -------- >>> black_and_white = TileProvider( ... name="My black and white tiles", ... url="https://myserver.com/bw/{z}/{x}/{y}", ... attribution="(C) xyzservices", ... ) >>> colorful = TileProvider( ... name="My colorful tiles", ... url="https://myserver.com/color/{z}/{x}/{y}", ... attribution="(C) xyzservices", ... ) >>> MyTiles = Bunch(BlackAndWhite=black_and_white, Colorful=colorful) >>> MyTiles {'BlackAndWhite': {'name': 'My black and white tiles', 'url': \ 'https://myserver.com/bw/{z}/{x}/{y}', 'attribution': '(C) xyzservices'}, 'Colorful': \ {'name': 'My colorful tiles', 'url': 'https://myserver.com/color/{z}/{x}/{y}', \ 'attribution': '(C) xyzservices'}} >>> MyTiles.BlackAndWhite.url 'https://myserver.com/bw/{z}/{x}/{y}' """ def __getattr__(self, key): try: return self.__getitem__(key) except KeyError as err: raise AttributeError(key) from err def __dir__(self): return self.keys() def _repr_html_(self, inside=False): children = "" for key in self: if isinstance(self[key], TileProvider): obj = "xyzservices.TileProvider" else: obj = "xyzservices.Bunch" uid = str(uuid.uuid4()) children += f"""

  • {self[key]._repr_html_(inside=True)}
  • """ style = "" if inside else f"" html = f"""
    {style}
    xyzservices.Bunch
    {len(self)} items
      {children}
    """ return html def flatten(self) -> dict: """Return the nested :class:`Bunch` collapsed into the one level dictionary. Dictionary keys are :class:`TileProvider` names (e.g. ``OpenStreetMap.Mapnik``) and its values are :class:`TileProvider` objects. Returns ------- flattened : dict dictionary of :class:`TileProvider` objects Examples -------- >>> import xyzservices.providers as xyz >>> len(xyz) 36 >>> flat = xyz.flatten() >>> len(xyz) 207 """ flat = {} def _get_providers(provider): if isinstance(provider, TileProvider): flat[provider.name] = provider else: for prov in provider.values(): _get_providers(prov) _get_providers(self) return flat def filter( self, keyword: str | None = None, name: str | None = None, requires_token: bool | None = None, function: Callable[[TileProvider], bool] = None, ) -> Bunch: """Return a subset of the :class:`Bunch` matching the filter conditions Each :class:`TileProvider` within a :class:`Bunch` is checked against one or more specified conditions and kept if they are satisfied or removed if at least one condition is not met. Parameters ---------- keyword : str (optional) Condition returns ``True`` if ``keyword`` string is present in any string value in a :class:`TileProvider` object. The comparison is not case sensitive. name : str (optional) Condition returns ``True`` if ``name`` string is present in the name attribute of :class:`TileProvider` object. The comparison is not case sensitive. requires_token : bool (optional) Condition returns ``True`` if :meth:`TileProvider.requires_token` returns ``True`` (i.e. if the object requires specification of API token). function : callable (optional) Custom function taking :class:`TileProvider` as an argument and returns bool. If ``function`` is given, other parameters are ignored. Returns ------- filtered : Bunch Examples -------- >>> import xyzservices.providers as xyz You can filter all free providers (not requiring API token): >>> free_providers = xyz.filter(requires_token=False) Or all providers with ``open`` in the name: >>> open_providers = xyz.filter(name="open") You can use keyword search to find all providers based on OpenStreetMap data: >>> osm_providers = xyz.filter(keyword="openstreetmap") You can combine multiple conditions to find providers based on OpenStreetMap data that require API token: >>> osm_locked = xyz.filter(keyword="openstreetmap", requires_token=True) You can also pass custom function that takes :class:`TileProvider` and returns boolean value. You can then find all providers with ``max_zoom`` smaller than 18: >>> def zoom18(provider): ... if hasattr(provider, "max_zoom") and provider.max_zoom < 18: ... return True ... return False >>> small_zoom = xyz.filter(function=zoom18) """ def _validate(provider, keyword, name, requires_token): cond = [] if keyword is not None: keyword_match = False for v in provider.values(): if isinstance(v, str) and keyword.lower() in v.lower(): keyword_match = True break cond.append(keyword_match) if name is not None: name_match = False if name.lower() in provider.name.lower(): name_match = True cond.append(name_match) if requires_token is not None: token_match = False if provider.requires_token() is requires_token: token_match = True cond.append(token_match) return all(cond) def _filter_bunch(bunch, keyword, name, requires_token, function): new = Bunch() for key, value in bunch.items(): if isinstance(value, TileProvider): if function is None: if _validate( value, keyword=keyword, name=name, requires_token=requires_token, ): new[key] = value else: if function(value): new[key] = value else: filtered = _filter_bunch( value, keyword=keyword, name=name, requires_token=requires_token, function=function, ) if filtered: new[key] = filtered return new return _filter_bunch( self, keyword=keyword, name=name, requires_token=requires_token, function=function, ) def query_name(self, name: str) -> TileProvider: """Return :class:`TileProvider` based on the name query Returns a matching :class:`TileProvider` from the :class:`Bunch` if the ``name`` contains the same letters in the same order as the provider's name irrespective of the letter case, spaces, dashes and other characters. See examples for details. Parameters ---------- name : str Name of the tile provider. Formatting does not matter. Returns ------- match: TileProvider Examples -------- >>> import xyzservices.providers as xyz All these queries return the same ``CartoDB.Positron`` TileProvider: >>> xyz.query_name("CartoDB Positron") >>> xyz.query_name("cartodbpositron") >>> xyz.query_name("cartodb-positron") >>> xyz.query_name("carto db/positron") >>> xyz.query_name("CARTO_DB_POSITRON") >>> xyz.query_name("CartoDB.Positron") """ xyz_flat_lower = { k.translate(QUERY_NAME_TRANSLATION).lower(): v for k, v in self.flatten().items() } name_clean = name.translate(QUERY_NAME_TRANSLATION).lower() if name_clean in xyz_flat_lower: return xyz_flat_lower[name_clean] raise ValueError(f"No matching provider found for the query '{name}'.") class TileProvider(Bunch): """ A dict with attribute-access and that can be called to update keys Examples -------- You can create custom :class:`TileProvider` by passing your attributes to the object as it would have been a ``dict()``. It is required to always specify ``name``, ``url``, and ``attribution``. >>> public_provider = TileProvider( ... name="My public tiles", ... url="https://myserver.com/tiles/{z}/{x}/{y}.png", ... attribution="(C) xyzservices", ... ) Alternatively, you can create it from a dictionary of attributes. When specifying a placeholder for the access token, please use the ``""`` string to ensure that :meth:`~xyzservices.TileProvider.requires_token` method works properly. >>> private_provider = TileProvider( ... { ... "url": "https://myserver.com/tiles/{z}/{x}/{y}.png?apikey={accessToken}", ... "attribution": "(C) xyzservices", ... "accessToken": "", ... "name": "my_private_provider", ... } ... ) It is customary to include ``html_attribution`` attribute containing HTML string as ``'© OpenStreetMap contributors'`` alongisde a plain-text ``attribution``. You can then fetch all information as attributes: >>> public_provider.url 'https://myserver.com/tiles/{z}/{x}/{y}.png' >>> public_provider.attribution '(C) xyzservices' To ensure you will be able to use the tiles, you can check if the :class:`TileProvider` requires a token or API key. >>> public_provider.requires_token() False >>> private_provider.requires_token() True You can also generate URL in the required format with or without placeholders: >>> public_provider.build_url() 'https://myserver.com/tiles/{z}/{x}/{y}.png' >>> private_provider.build_url(x=12, y=21, z=11, accessToken="my_token") 'https://myserver.com/tiles/11/12/21.png?access_token=my_token' """ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) missing = [] for el in ["name", "url", "attribution"]: if el not in self.keys(): missing.append(el) if len(missing) > 0: msg = ( f"The attributes `name`, `url`, " f"and `attribution` are required to initialise " f"a `TileProvider`. Please provide values for: " f"`{'`, `'.join(missing)}`" ) raise AttributeError(msg) def __call__(self, **kwargs) -> TileProvider: new = TileProvider(self) # takes a copy preserving the class new.update(kwargs) return new def copy(self) -> TileProvider: new = TileProvider(self) # takes a copy preserving the class return new def build_url( self, x: int | str | None = None, y: int | str | None = None, z: int | str | None = None, scale_factor: str | None = None, fill_subdomain: bool | None = True, **kwargs, ) -> str: """ Build the URL of tiles from the :class:`TileProvider` object Can return URL with placeholders or the final tile URL. Parameters ---------- x, y, z : int (optional) tile number scale_factor : str (optional) Scale factor (where supported). For example, you can get double resolution (512 x 512) instead of standard one (256 x 256) with ``"@2x"``. If you want to keep a placeholder, pass `"{r}"`. fill_subdomain : bool (optional, default True) Fill subdomain placeholder with the first available subdomain. If False, the URL will contain ``{s}`` placeholder for subdomain. **kwargs Other potential attributes updating the :class:`TileProvider`. Returns ------- url : str Formatted URL Examples -------- >>> import xyzservices.providers as xyz >>> xyz.CartoDB.DarkMatter.build_url() 'https://a.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png' >>> xyz.CartoDB.DarkMatter.build_url(x=9, y=11, z=5) 'https://a.basemaps.cartocdn.com/dark_all/5/9/11.png' >>> xyz.CartoDB.DarkMatter.build_url(x=9, y=11, z=5, scale_factor="@2x") 'https://a.basemaps.cartocdn.com/dark_all/5/9/11@2x.png' >>> xyz.MapBox.build_url(accessToken="my_token") 'https://api.mapbox.com/styles/v1/mapbox/streets-v11/tiles/{z}/{x}/{y}?access_token=my_token' """ provider = self.copy() if x is None: x = "{x}" if y is None: y = "{y}" if z is None: z = "{z}" provider.update(kwargs) if provider.requires_token(): raise ValueError( "Token is required for this provider, but not provided. " "You can either update TileProvider or pass respective keywords " "to build_url()." ) url = provider.pop("url") if scale_factor: r = scale_factor provider.pop("r", None) else: r = provider.pop("r", "") if fill_subdomain: subdomains = provider.pop("subdomains", "abc") s = subdomains[0] else: s = "{s}" return url.format(x=x, y=y, z=z, s=s, r=r, **provider) def requires_token(self) -> bool: """ Returns ``True`` if the TileProvider requires access token to fetch tiles. The token attribute name vary and some :class:`TileProvider` objects may require more than one token (e.g. ``HERE``). The information is deduced from the presence of `'"`` string to ensure that :meth:`~xyzservices.TileProvider.requires_token` method works properly. Returns ------- bool Examples -------- >>> import xyzservices.providers as xyz >>> xyz.MapBox.requires_token() True >>> xyz.CartoDB.Positron False We can specify this API key by calling the object or overriding the attribute. Overriding the attribute will alter existing object: >>> xyz.OpenWeatherMap.Clouds["apiKey"] = "my-private-api-key" Calling the object will return a copy: >>> xyz.OpenWeatherMap.Clouds(apiKey="my-private-api-key") """ # both attribute and placeholder in url are required to make it work for key, val in self.items(): if isinstance(val, str) and "{key}
    {val}
    " style = "" if inside else f"" html = f"""
    {style}
    xyzservices.TileProvider
    {self.name}
    {provider_info}
    """ return html @classmethod def from_qms(cls, name: str) -> TileProvider: """ Creates a :class:`TileProvider` object based on the definition from the `Quick Map Services `__ open catalog. Parameters ---------- name : str Service name Returns ------- :class:`TileProvider` Examples -------- >>> from xyzservices.lib import TileProvider >>> provider = TileProvider.from_qms("OpenTopoMap") """ qms_api_url = "https://qms.nextgis.com/api/v1/geoservices" services = json.load( urllib.request.urlopen(f"{qms_api_url}/?search={quote(name)}&type=tms") ) for service in services: if service["name"] == name: break else: raise ValueError(f"Service '{name}' not found.") service_id = service["id"] service_details = json.load( urllib.request.urlopen(f"{qms_api_url}/{service_id}") ) return cls( name=service_details["name"], url=service_details["url"], min_zoom=service_details.get("z_min"), max_zoom=service_details.get("z_max"), attribution=service_details.get("copyright_text"), ) def _load_json(f): data = json.loads(f) providers = Bunch() for provider_name in data: provider = data[provider_name] if "url" in provider: providers[provider_name] = TileProvider(provider) else: providers[provider_name] = Bunch( {i: TileProvider(provider[i]) for i in provider} ) return providers CSS_STYLE = """ /* CSS stylesheet for displaying xyzservices objects in Jupyter.*/ .xyz-wrap { --xyz-border-color: var(--jp-border-color2, #ddd); --xyz-font-color2: var(--jp-content-font-color2, rgba(128, 128, 128, 1)); --xyz-background-color-white: var(--jp-layout-color1, white); --xyz-background-color: var(--jp-layout-color2, rgba(128, 128, 128, 0.1)); } html[theme=dark] .xyz-wrap, body.vscode-dark .xyz-wrap, body.vscode-high-contrast .xyz-wrap { --xyz-border-color: #222; --xyz-font-color2: rgba(255, 255, 255, 0.54); --xyz-background-color-white: rgba(255, 255, 255, 1); --xyz-background-color: rgba(255, 255, 255, 0.05); } .xyz-header { padding-top: 6px; padding-bottom: 6px; margin-bottom: 4px; border-bottom: solid 1px var(--xyz-border-color); } .xyz-header>div { display: inline; margin-top: 0; margin-bottom: 0; } .xyz-obj, .xyz-name { margin-left: 2px; margin-right: 10px; } .xyz-obj { color: var(--xyz-font-color2); } .xyz-attrs { grid-column: 1 / -1; } dl.xyz-attrs { padding: 0 5px 0 5px; margin: 0; display: grid; grid-template-columns: 135px auto; background-color: var(--xyz-background-color); } .xyz-attrs dt, dd { padding: 0; margin: 0; float: left; padding-right: 10px; width: auto; } .xyz-attrs dt { font-weight: normal; grid-column: 1; } .xyz-attrs dd { grid-column: 2; white-space: pre-wrap; word-break: break-all; } .xyz-details ul>li>label>span { color: var(--xyz-font-color2); padding-left: 10px; } .xyz-inside { display: none; } .xyz-checkbox:checked~.xyz-inside { display: contents; } .xyz-collapsible li>input { display: none; } .xyz-collapsible>li>label { cursor: pointer; } .xyz-collapsible>li>label:hover { color: var(--xyz-font-color2); } ul.xyz-collapsible { list-style: none!important; padding-left: 20px!important; } .xyz-checkbox+label:before { content: '►'; font-size: 11px; } .xyz-checkbox:checked+label:before { content: '▼'; } .xyz-wrap { margin-bottom: 10px; } """ xyzservices-2025.4.0/xyzservices/providers.py000066400000000000000000000005151500266262400213330ustar00rootroot00000000000000import os import pkgutil import sys from .lib import _load_json data_path = os.path.join(sys.prefix, "share", "xyzservices", "providers.json") if os.path.exists(data_path): with open(data_path) as f: json = f.read() else: json = pkgutil.get_data("xyzservices", "data/providers.json") providers = _load_json(json) xyzservices-2025.4.0/xyzservices/tests/000077500000000000000000000000001500266262400201055ustar00rootroot00000000000000xyzservices-2025.4.0/xyzservices/tests/__init__.py000066400000000000000000000000001500266262400222040ustar00rootroot00000000000000xyzservices-2025.4.0/xyzservices/tests/test_lib.py000066400000000000000000000216171500266262400222730ustar00rootroot00000000000000from urllib.error import URLError import pytest import xyzservices.providers as xyz from xyzservices import Bunch, TileProvider @pytest.fixture def basic_provider(): return TileProvider( url="https://myserver.com/tiles/{z}/{x}/{y}.png", attribution="(C) xyzservices", name="my_public_provider", ) @pytest.fixture def retina_provider(): return TileProvider( url="https://myserver.com/tiles/{z}/{x}/{y}{r}.png", attribution="(C) xyzservices", name="my_public_provider2", r="@2x", ) @pytest.fixture def silent_retina_provider(): return TileProvider( url="https://myserver.com/tiles/{z}/{x}/{y}{r}.png", attribution="(C) xyzservices", name="my_public_retina_provider3", ) @pytest.fixture def private_provider(): return TileProvider( url="https://myserver.com/tiles/{z}/{x}/{y}?access_token={accessToken}", attribution="(C) xyzservices", accessToken="", name="my_private_provider", ) @pytest.fixture def html_attr_provider(): return TileProvider( url="https://myserver.com/tiles/{z}/{x}/{y}.png", attribution="(C) xyzservices", html_attribution='© xyzservices', # noqa name="my_public_provider_html", ) @pytest.fixture def subdomain_provider(): return TileProvider( url="https://{s}.myserver.com/tiles/{z}/{x}/{y}.png", attribution="(C) xyzservices", subdomains="abcd", name="my_subdomain_provider", ) @pytest.fixture def test_bunch( basic_provider, retina_provider, silent_retina_provider, private_provider, html_attr_provider, subdomain_provider, ): return Bunch( basic_provider=basic_provider, retina_provider=retina_provider, silent_retina_provider=silent_retina_provider, private_provider=private_provider, bunched=Bunch( html_attr_provider=html_attr_provider, subdomain_provider=subdomain_provider ), ) def test_expect_name_url_attribution(): msg = ( "The attributes `name`, `url`, and `attribution` are " "required to initialise a `TileProvider`. Please provide " "values for: " ) with pytest.raises(AttributeError, match=msg + "`name`, `url`, `attribution`"): TileProvider({}) with pytest.raises(AttributeError, match=msg + "`url`, `attribution`"): TileProvider({"name": "myname"}) with pytest.raises(AttributeError, match=msg + "`attribution`"): TileProvider({"url": "my_url", "name": "my_name"}) with pytest.raises(AttributeError, match=msg + "`attribution`"): TileProvider(url="my_url", name="my_name") def test_build_url( basic_provider, retina_provider, silent_retina_provider, private_provider, subdomain_provider, ): expected = "https://myserver.com/tiles/{z}/{x}/{y}.png" assert basic_provider.build_url() == expected expected = "https://myserver.com/tiles/3/1/2.png" assert basic_provider.build_url(1, 2, 3) == expected assert basic_provider.build_url(1, 2, 3, scale_factor="@2x") == expected assert silent_retina_provider.build_url(1, 2, 3) == expected expected = "https://myserver.com/tiles/3/1/2@2x.png" assert retina_provider.build_url(1, 2, 3) == expected assert silent_retina_provider.build_url(1, 2, 3, scale_factor="@2x") == expected expected = "https://myserver.com/tiles/3/1/2@5x.png" assert retina_provider.build_url(1, 2, 3, scale_factor="@5x") == expected expected = "https://myserver.com/tiles/{z}/{x}/{y}?access_token=my_token" assert private_provider.build_url(accessToken="my_token") == expected with pytest.raises(ValueError, match="Token is required for this provider"): private_provider.build_url() expected = "https://{s}.myserver.com/tiles/{z}/{x}/{y}.png" assert subdomain_provider.build_url(fill_subdomain=False) expected = "https://a.myserver.com/tiles/{z}/{x}/{y}.png" assert subdomain_provider.build_url() def test_requires_token(private_provider, basic_provider): assert private_provider.requires_token() is True assert basic_provider.requires_token() is False def test_html_repr(basic_provider, retina_provider): provider_strings = [ '
    ', '
    ', '
    xyzservices.TileProvider
    ', '
    my_public_provider
    ', '
    ', '
    ', "
    url
    https://myserver.com/tiles/{z}/{x}/{y}.png
    ", "
    attribution
    (C) xyzservices
    ", ] for html_string in provider_strings: assert html_string in basic_provider._repr_html_() bunch = Bunch({"first": basic_provider, "second": retina_provider}) bunch_strings = [ '
    xyzservices.Bunch
    ', '
    2 items
    ', '
      ', '
    • ', "xyzservices.TileProvider", '
      ', ] bunch_repr = bunch._repr_html_() for html_string in provider_strings + bunch_strings: assert html_string in bunch_repr assert bunch_repr.count('
    • ') == 2 assert bunch_repr.count('
      ') == 3 assert bunch_repr.count('
      ') == 3 def test_copy(basic_provider): basic2 = basic_provider.copy() assert isinstance(basic2, TileProvider) def test_callable(): # only testing the callable functionality to override a keyword, as we # cannot test the actual providers that need an API key original_key = str(xyz.OpenWeatherMap.CloudsClassic["apiKey"]) updated_provider = xyz.OpenWeatherMap.CloudsClassic(apiKey="mykey") assert isinstance(updated_provider, TileProvider) assert "url" in updated_provider assert updated_provider["apiKey"] == "mykey" # check that original provider dict is not modified assert xyz.OpenWeatherMap.CloudsClassic["apiKey"] == original_key def test_html_attribution_fallback(basic_provider, html_attr_provider): # TileProvider.html_attribution falls back to .attribution if the former not present assert basic_provider.html_attribution == basic_provider.attribution assert ( html_attr_provider.html_attribution == '© xyzservices' ) @pytest.mark.xfail(reason="timeout error", raises=URLError) def test_from_qms(): provider = TileProvider.from_qms("OpenStreetMap Standard aka Mapnik") assert isinstance(provider, TileProvider) @pytest.mark.xfail(reason="timeout error", raises=URLError) def test_from_qms_not_found_error(): with pytest.raises(ValueError): TileProvider.from_qms("LolWut") def test_flatten( basic_provider, retina_provider, silent_retina_provider, private_provider ): nested_bunch = Bunch( first_bunch=Bunch(first=basic_provider, second=retina_provider), second_bunch=Bunch(first=silent_retina_provider, second=private_provider), ) assert len(nested_bunch) == 2 assert len(nested_bunch.flatten()) == 4 def test_filter(test_bunch): assert len(test_bunch.filter(keyword="private").flatten()) == 1 assert len(test_bunch.filter(keyword="public").flatten()) == 4 assert len(test_bunch.filter(keyword="{s}").flatten()) == 1 assert len(test_bunch.filter(name="retina").flatten()) == 1 assert len(test_bunch.filter(requires_token=True).flatten()) == 1 assert len(test_bunch.filter(requires_token=False).flatten()) == 5 assert len(test_bunch.filter(requires_token=False)) == 4 # check nested structure assert len(test_bunch.filter(keyword="{s}", requires_token=False).flatten()) == 1 assert len(test_bunch.filter(name="nonsense").flatten()) == 0 def custom(provider): if hasattr(provider, "subdomains") and provider.subdomains == "abcd": return True return bool(hasattr(provider, "r")) assert len(test_bunch.filter(function=custom).flatten()) == 2 def test_query_name(): options = [ "CartoDB Positron", "cartodbpositron", "cartodb-positron", "carto db/positron", "CARTO_DB_POSITRON", "CartoDB.Positron", "Carto,db,positron", ] for option in options: queried = xyz.query_name(option) assert isinstance(queried, TileProvider) assert queried.name == "CartoDB.Positron" with pytest.raises(ValueError, match="No matching provider found"): xyz.query_name("i don't exist") # Name with underscore GH124 option_with_underscore = "NASAGIBS.ASTER_GDEM_Greyscale_Shaded_Relief" queried = xyz.query_name(option_with_underscore) assert isinstance(queried, TileProvider) assert queried.name == option_with_underscore xyzservices-2025.4.0/xyzservices/tests/test_providers.py000066400000000000000000000157531500266262400235460ustar00rootroot00000000000000import os import mercantile import pytest import requests import xyzservices.providers as xyz flat_free = xyz.filter(requires_token=False).flatten() def check_provider(provider): for key in ["attribution", "name"]: assert key in provider assert provider.url.startswith("http") for option in ["{z}", "{y}", "{x}"]: assert option in provider.url def get_tile(provider): bounds = provider.get("bounds", [[-180, -90], [180, 90]]) lat = (bounds[0][0] + bounds[1][0]) / 2 lon = (bounds[0][1] + bounds[1][1]) / 2 zoom = (provider.get("min_zoom", 0) + provider.get("max_zoom", 20)) // 2 tile = mercantile.tile(lon, lat, zoom) z = tile.z x = tile.x y = tile.y return (z, x, y) def get_response(url): s = requests.Session() a = requests.adapters.HTTPAdapter(max_retries=3) s.mount("http://", a) s.mount("https://", a) try: r = s.get(url, timeout=30) except requests.ConnectionError: pytest.xfail("Timeout.") return r.status_code def get_test_result(provider, allow_403=True): if provider.get("status"): pytest.xfail("Provider is known to be broken.") z, x, y = get_tile(provider) try: r = get_response(provider.build_url(z=z, x=x, y=y)) assert r == requests.codes.ok except AssertionError: if r == 403 and allow_403: pytest.xfail("Provider not available due to API restrictions (Error 403).") elif r == 503: pytest.xfail("Service temporarily unavailable (Error 503).") elif r == 502: pytest.xfail("Bad Gateway (Error 502).") # check another tiles elif r == 404: # in some cases, the computed tile is not available. trying known tiles. options = [ (12, 2154, 1363), (6, 13, 21), (16, 33149, 22973), (0, 0, 0), (2, 6, 7), (6, 21, 31), (6, 21, 32), (6, 21, 33), (6, 22, 31), (6, 22, 32), (6, 22, 33), (6, 23, 31), (6, 23, 32), (6, 23, 33), (9, 259, 181), (12, 2074, 1410), ] results = [] for o in options: z, x, y = o r = get_response(provider.build_url(z=z, x=x, y=y)) results.append(r) if not any(x == requests.codes.ok for x in results): raise ValueError(f"Response code: {r}") else: raise ValueError(f"Response code: {r}") @pytest.mark.parametrize("provider_name", xyz.flatten()) def test_minimal_provider_metadata(provider_name): provider = xyz.flatten()[provider_name] check_provider(provider) @pytest.mark.request @pytest.mark.parametrize("name", flat_free) def test_free_providers(name): provider = flat_free[name] if "Stadia" in name: pytest.skip("Stadia doesn't support tile download in this way.") elif "GeoportailFrance" in name: try: get_test_result(provider) except ValueError: pytest.xfail("GeoportailFrance API is unstable.") else: get_test_result(provider) # test providers requiring API keys. Store API keys in GitHub secrets and load them as # environment variables in CI Action. Note that env variable is loaded as empty on PRs # from a fork. @pytest.mark.request @pytest.mark.parametrize("provider_name", xyz.Thunderforest) def test_thunderforest(provider_name): try: token = os.environ["THUNDERFOREST"] except KeyError: pytest.xfail("Missing API token.") if token == "": pytest.xfail("Token empty.") provider = xyz.Thunderforest[provider_name](apikey=token) get_test_result(provider, allow_403=False) @pytest.mark.request @pytest.mark.parametrize("provider_name", xyz.Jawg) def test_jawg(provider_name): try: token = os.environ["JAWG"] except KeyError: pytest.xfail("Missing API token.") if token == "": pytest.xfail("Token empty.") provider = xyz.Jawg[provider_name](accessToken=token) get_test_result(provider, allow_403=False) @pytest.mark.request def test_mapbox(): try: token = os.environ["MAPBOX"] except KeyError: pytest.xfail("Missing API token.") if token == "": pytest.xfail("Token empty.") provider = xyz.MapBox(accessToken=token) get_test_result(provider, allow_403=False) @pytest.mark.request @pytest.mark.parametrize("provider_name", xyz.MapTiler) def test_maptiler(provider_name): try: token = os.environ["MAPTILER"] except KeyError: pytest.xfail("Missing API token.") if token == "": pytest.xfail("Token empty.") provider = xyz.MapTiler[provider_name](key=token) get_test_result(provider, allow_403=False) @pytest.mark.request @pytest.mark.parametrize("provider_name", xyz.TomTom) def test_tomtom(provider_name): try: token = os.environ["TOMTOM"] except KeyError: pytest.xfail("Missing API token.") if token == "": pytest.xfail("Token empty.") provider = xyz.TomTom[provider_name](apikey=token) get_test_result(provider, allow_403=False) @pytest.mark.request @pytest.mark.parametrize("provider_name", xyz.OpenWeatherMap) def test_openweathermap(provider_name): try: token = os.environ["OPENWEATHERMAP"] except KeyError: pytest.xfail("Missing API token.") if token == "": pytest.xfail("Token empty.") provider = xyz.OpenWeatherMap[provider_name](apiKey=token) get_test_result(provider, allow_403=False) # HEREV3 seems to block GHA as it errors with E429 # @pytest.mark.request # @pytest.mark.parametrize("provider_name", xyz.HEREv3) # def test_herev3(provider_name): # try: # token = os.environ["HEREV3"] # except KeyError: # pytest.xfail("Missing API token.") # if token == "": # pytest.xfail("Token empty.") # provider = xyz.HEREv3[provider_name](apiKey=token) # get_test_result(provider, allow_403=False) @pytest.mark.request @pytest.mark.parametrize("provider_name", xyz.Stadia) def test_stadia(provider_name): try: token = os.environ["STADIA"] except KeyError: pytest.xfail("Missing API token.") if token == "": pytest.xfail("Token empty.") provider = xyz.Stadia[provider_name](api_key=token) provider["url"] = provider["url"] + "?api_key={api_key}" get_test_result(provider, allow_403=False) @pytest.mark.request @pytest.mark.parametrize("provider_name", xyz.OrdnanceSurvey) def test_os(provider_name): try: token = os.environ["ORDNANCESURVEY"] except KeyError: pytest.xfail("Missing API token.") if token == "": pytest.xfail("Token empty.") provider = xyz.OrdnanceSurvey[provider_name](key=token) get_test_result(provider, allow_403=False) # NOTE: AzureMaps are not tested as their free account is limited to # 5000 downloads (total, not per month)