From e008f62f010277771af2baa8b1aa1071b6c20307 Mon Sep 17 00:00:00 2001 From: Daniel Huppmann Date: Mon, 28 Jun 2021 20:36:02 +0200 Subject: [PATCH] Release candidate 1.0 (#553) --- .github/workflows/pytest-dependency.yml | 4 +- README.md | 34 +- RELEASE_NOTES.md | 474 +----------------- RELEASE_PROCEDURE.md | 7 +- doc/source/_bib/references.bib | 22 +- doc/source/index.rst | 45 +- doc/source/tutorials/ipcc_colors.ipynb | 6 +- doc/source/tutorials/pyam_first_steps.ipynb | 6 +- {paper => manuscripts/JOSS}/line.png | Bin {paper => manuscripts/JOSS}/paper.bib | 0 {paper => manuscripts/JOSS}/paper.md | 0 {paper => manuscripts/JOSS}/scatter.png | Bin manuscripts/ORE/Makefile | 21 + manuscripts/ORE/make.bat | 37 ++ manuscripts/ORE/source/_bib/main.bib | 365 ++++++++++++++ manuscripts/ORE/source/_static/.gitkeep | 0 manuscripts/ORE/source/chapters/appendix.rst | 54 ++ .../ORE/source/chapters/applications.rst | 94 ++++ .../ORE/source/chapters/datamodels.rst | 144 ++++++ manuscripts/ORE/source/chapters/intro.rst | 139 +++++ manuscripts/ORE/source/chapters/outlook.rst | 89 ++++ manuscripts/ORE/source/chapters/pyam.rst | 291 +++++++++++ manuscripts/ORE/source/conf.py | 59 +++ manuscripts/ORE/source/figure/overview.png | Bin 0 -> 293203 bytes manuscripts/ORE/source/figure/sr15_fig2.4.png | Bin 0 -> 106579 bytes .../source/figure/temperature-by-category.png | Bin 0 -> 46967 bytes manuscripts/ORE/source/index.rst | 95 ++++ pyam/core.py | 154 +----- pyam/iiasa.py | 27 +- setup.py | 4 +- tests/test_core.py | 92 +--- tests/test_feature_aggregate.py | 1 - tests/test_feature_append_rename.py | 6 +- tests/test_iiasa.py | 10 +- tests/test_tutorials.py | 18 + 35 files changed, 1572 insertions(+), 726 deletions(-) rename {paper => manuscripts/JOSS}/line.png (100%) rename {paper => manuscripts/JOSS}/paper.bib (100%) rename {paper => manuscripts/JOSS}/paper.md (100%) rename {paper => manuscripts/JOSS}/scatter.png (100%) create mode 100644 manuscripts/ORE/Makefile create mode 100644 manuscripts/ORE/make.bat create mode 100644 manuscripts/ORE/source/_bib/main.bib create mode 100644 manuscripts/ORE/source/_static/.gitkeep create mode 100644 manuscripts/ORE/source/chapters/appendix.rst create mode 100644 manuscripts/ORE/source/chapters/applications.rst create mode 100644 manuscripts/ORE/source/chapters/datamodels.rst create mode 100644 manuscripts/ORE/source/chapters/intro.rst create mode 100644 manuscripts/ORE/source/chapters/outlook.rst create mode 100644 manuscripts/ORE/source/chapters/pyam.rst create mode 100644 manuscripts/ORE/source/conf.py create mode 100644 manuscripts/ORE/source/figure/overview.png create mode 100644 manuscripts/ORE/source/figure/sr15_fig2.4.png create mode 100644 manuscripts/ORE/source/figure/temperature-by-category.png create mode 100644 manuscripts/ORE/source/index.rst diff --git a/.github/workflows/pytest-dependency.yml b/.github/workflows/pytest-dependency.yml index f3100f040..27d6ad6a8 100644 --- a/.github/workflows/pytest-dependency.yml +++ b/.github/workflows/pytest-dependency.yml @@ -23,8 +23,8 @@ jobs: python-version: '3.7' - name: Install specific out-dated version of dependencies - # Update the corresponding package requirements when changing - # minimum dependency versions + # Update the package requirements when changing minimum dependency versions + # Please also add a section "Dependency changes" to the release notes run: pip install pandas==1.1.1 matplotlib==3.2.0 iam-units==2020.4.21 - name: Install other dependencies and package diff --git a/README.md b/README.md index b002ed58a..dd8d974ac 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,10 @@ pyam: analysis & visualization
of integrated-assessment and macro-energy [![codecov](https://codecov.io/gh/IAMconsortium/pyam/branch/main/graph/badge.svg)](https://codecov.io/gh/IAMconsortium/pyam) [![doi](https://zenodo.org/badge/113359260.svg)](https://zenodo.org/badge/latestdoi/113359260) +[![ORE](https://img.shields.io/badge/ORE-10.12688/openreseurope.13633.1-blue)](https://doi.org/10.12688/openreseurope.13633.1) [![joss](https://joss.theoj.org/papers/10.21105/joss.01095/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01095) -[![groups.io](https://img.shields.io/badge/groups.io-pyam-blue)](https://pyam.groups.io/g/forum) -[![slack](https://img.shields.io/badge/slack-@pyam-orange.svg?logo=slack)](https://pyam-iamc.slack.com) +[![groups.io](https://img.shields.io/badge/listserv-groups.io-blue)](https://pyam.groups.io/g/forum) +[![slack](https://img.shields.io/badge/chat-Slack-orange)](https://pyam-iamc.slack.com) **** @@ -95,6 +96,35 @@ and Daniel Huppmann ([@danielhuppmann](https://github.com/danielhuppmann/)). See the complete [list of contributors](AUTHORS.rst). +Scientific publications +----------------------- + +The following manuscripts describe the **pyam** package +at specific stages of development. + +### Release v1.0 (June 2021) + +Published to mark the first major release of the **pyam** package. + +> Daniel Huppmann, Matthew Gidden, Zebedee Nicholls, Jonas Hörsch, Robin Lamboll, +Paul Natsuo Kishimoto, Thorsten Burandt, Oliver Fricko, Edward Byers, Jarmo Kikstra, +Maarten Brinkerink, Maik Budzinski, Florian Maczek, Sebastian Zwickl-Bernhard, +Lara Welder, Erik Francisco Alvarez Quispe, and Christopher J. Smith. +*pyam: Analysis and visualisation of integrated assessment and macro-energy scenarios.* +**Open Research Europe**, 2021. +doi: [10.12688/openreseurope.13633.1](https://doi.org/10.12688/openreseurope.13633.1) + +### Release v0.1.2 (November 2018) + +Published following the successful application of **pyam** +in the IPCC SR15 and the Horizon 2020 CRESCENDO project. + +> Matthew Gidden and Daniel Huppmann. +*pyam: a Python package for the analysis and visualization of models of the interaction +of climate, human, and environmental systems.* +**Journal of Open Source Software (JOSS)**, 4(33):1095, 2019. +doi: [10.21105/joss.01095](https://doi.org/10.21105/joss.01095). + License ------- diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ce5407326..67410cfa9 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,466 +1,14 @@ -# Release v0.13.0 +# Release v1.0.0 -## Highlights +This is the first major release of the pyam package. +It coincides with the publication of a manuscript in **Open Research Europe** +(doi: [10.12688/openreseurope.13633.1](http://doi.org/10.12688/openreseurope.13633.1)). -- Add a `unit_mapping` attribute to show a variable-unit dictionary. -- Support plotting of continuous-time data by automatically using the time domain - as x-axis in many plots. -- Improve the performance of the `rename()` method. +## Notes on prior releases -## API changes - -PR [#550](https://github.com/IAMconsortium/pyam/pull/550) harmonized the behavior -of the `rename()` function when the renaming creates overlapping timeseries data. -Before, this raised an error in case there was a conflict with existing data, -but automatically performed a groupby-sum when mapping to the same coordinates. -This was marked as deprecated; in the future, an error will be raised -for any overlapping coordinates after the rename operation. - -PR [#548](https://github.com/IAMconsortium/pyam/pull/548) added a `unit_mapping` attribute. -This will replace the `variables(include_units=True)` method. - -## Individual updates - -- [#551](https://github.com/IAMconsortium/pyam/pull/551) Default to IamDataFrame-time-col on the x-axis of plots -- [#550](https://github.com/IAMconsortium/pyam/pull/550) Refactor the `rename()` method for performance improvement -- [#549](https://github.com/IAMconsortium/pyam/pull/549) Make `plotly` an optional dependency -- [#548](https://github.com/IAMconsortium/pyam/pull/548) Add a `unit_mapping` attribute to show a variable-unit dictionary -- [#546](https://github.com/IAMconsortium/pyam/pull/546) Fixed logging for recursive aggregation - -# Release v0.12.0 - -## Highlights - -- Add algebraic operations working directly on the timeseries data - including automatic handling of units. -- Drop negative weights when performing weighted regional aggregation by default. -- Allow recursive aggregation when (some) intermediate variables exist - and perform validation of the existing intermediate variables. - -## API changes - -PR [#534](https://github.com/IAMconsortium/pyam/pull/534) changed the behavior -of the `aggregate_region()` method when performing weighted region aggregation. -By default, if any weights are negative, the corresponding aggregated values -are dropped from the resulting IamDataFrame. -The previous behavior can be achieved by setting `drop_negative_weights=False`. - -## Individual updates - -- [#543](https://github.com/IAMconsortium/pyam/pull/543) Add a tutorial for working with algebraic operations -- [#541](https://github.com/IAMconsortium/pyam/pull/541) Support units in binary operations -- [#538](https://github.com/IAMconsortium/pyam/pull/538) Add option to set defaults in binary operations -- [#537](https://github.com/IAMconsortium/pyam/pull/537) Enhance binary ops to support numerical arguments -- [#534](https://github.com/IAMconsortium/pyam/pull/534) Add feature to drop negative weights -- [#532](https://github.com/IAMconsortium/pyam/pull/532) Add an option to skip existing intermediate variables when aggregating recursively -- [#533](https://github.com/IAMconsortium/pyam/pull/533) Add an `apply()` function for custom mathematical operations -- [#527](https://github.com/IAMconsortium/pyam/pull/527) Add an in-dataframe basic mathematical operations `subtract`, `add`, `multiply`, `divide` -- [#523](https://github.com/IAMconsortium/pyam/pull/523) Add feature to compute weights for de-biasing using count -- [#519](https://github.com/IAMconsortium/pyam/pull/519) Enable explicit `label` and fix for non-string items in plot legend - -# Release v0.11.0 - -## Highlights - -- Easily order data in the line plot feature. -- Add a module for reading data from the [UNFCCC Data Inventory](https://di.unfccc.int/). -- Improved integration with any [IIASA Scenario Explorer instance](https://data.ece.iiasa.ac.at): - read non-default versions from the connected database - and obtain the "audit" info (scenario upload/edit timestamp and user). -- Performance improvements when aggregating or concatenating data. -- Refactor the entire code base to the [Black code style](https://black.readthedocs.io/). - -## API changes - -PR [#507](https://github.com/IAMconsortium/pyam/pull/507) harmonizes the behavior of -the `aggregate()` and `aggregate_region()` methods when performing "empty" aggregation, -i.e., no components exist to perform the requested aggregation. -In the new implementation, an empty IamDataFrame is returned if `append=False` -(instead of None). - -PR [#488](https://github.com/IAMconsortium/pyam/pull/488) changes the default -behavior when initializing an IamDataFrame from xlsx: now, all sheets names -starting with `data` will be parsed for timeseries data. - -## Individual updates - -- [#510](https://github.com/IAMconsortium/pyam/pull/510) Improve performance of `pyam.concat()` -- [#508](https://github.com/IAMconsortium/pyam/pull/508) Bugfix for non-empty but invisible header and no rows in 'meta' sheet -- [#507](https://github.com/IAMconsortium/pyam/pull/507) Refactor aggregation-functions to increase performance -- [#502](https://github.com/IAMconsortium/pyam/pull/502) Switch to Black code style -- [#499](https://github.com/IAMconsortium/pyam/pull/499) Implement `order` feature in line plot -- [#497](https://github.com/IAMconsortium/pyam/pull/497) Add a module for reading data from the UNFCCC Data Inventory -- [#496](https://github.com/IAMconsortium/pyam/pull/496) Enable loading meta from csv file -- [#494](https://github.com/IAMconsortium/pyam/pull/494) Small performance improvements -- [#491](https://github.com/IAMconsortium/pyam/pull/491) Allow loading meta from file without exclude columns or with empty rows -- [#488](https://github.com/IAMconsortium/pyam/pull/488) Read all sheets starting with `data` when reading from xlsx -- [#486](https://github.com/IAMconsortium/pyam/pull/486) Enable reading non-default scenario versions from IIASA API -- [#483](https://github.com/IAMconsortium/pyam/pull/483) Add a tutorial for integration with R -- [#481](https://github.com/IAMconsortium/pyam/pull/481) Enable custom index columns -- [#477](https://github.com/IAMconsortium/pyam/pull/477) Add a nightly test suite -- [#476](https://github.com/IAMconsortium/pyam/pull/476) Add docstrings to plotting functions `df.plot.()` -- [#471](https://github.com/IAMconsortium/pyam/pull/471) Add a `iiasa.Connection.properties()` function to retrieve scenario audit data - -# Release v0.10.0 - -## Highlights - - - Refactor the plotting library for better UX and consistency - with **pandas**, **matplotlib** and **seaborn**. - - Add a `sankey()` feature to the plotting library. - - Rework the documentation and tutorials. - -## API changes - -Several PRs in this release changed the implementation of the plotting library -for better UX and consistency with **pandas**, **matplotlib** and **seaborn**. - -Replace the calls to plotting features by the following: - - `plot(...)` (or `plot(kind='line', ...)`) for `line_plot()` - - `plot.stack(...)` for `stack_plot()` - - `plot.bar()` for `bar_plot()` - - ... - -These PRs also add an `order` arg to the plotting functions, and the levels -are ordered based on the `run_control()['order']` dictionary by default. - -## Individual updates - -- [#464](https://github.com/IAMconsortium/pyam/pull/463) Add `order` arg to `stackplot()` -- [#466](https://github.com/IAMconsortium/pyam/pull/466) Add a `sankey()`function to create sankey diagrams -- [#475](https://github.com/IAMconsortium/pyam/pull/475) Add a scatter plot example to the gallery -- [#473](https://github.com/IAMconsortium/pyam/pull/473) Refactor to plotting API following pandas/matplotlib implementation -- [#472](https://github.com/IAMconsortium/pyam/pull/472) Add a `sankey()` example to the plotting gallery -- [#470](https://github.com/IAMconsortium/pyam/pull/470) Add two types of `order` arg to `barplot()` -- [#467](https://github.com/IAMconsortium/pyam/pull/467) Refactor the GAMS-pyam tutorial to use the gamstransfer module -- [#466](https://github.com/IAMconsortium/pyam/pull/466) Add a `sankey()` function to create sankey diagrams -- [#464](https://github.com/IAMconsortium/pyam/pull/464) Add `order` arg to `stackplot()` -- [#463](https://github.com/IAMconsortium/pyam/pull/463) Clarification of initialization-error message if file does not exist - -# Release v0.9.0 - -## Highlights - - - Extend the data format to work with dimensionless variables - (i.e., accept "empty" units). - - Refactor the `interpolate()` feature to accept a list of years - or `datetime` instances. - - Add the list of authors/contributors to the docs. - -## API changes - -PR [#456](https://github.com/IAMconsortium/pyam/pull/456) changed the interface -of the `interpolate()` feature to do the operation inplace (previous behaviour) -or return a new instance (future default). -A deprecation warning is written if a user does not provide the arg `inplace` -to warn of the future change. - -## Individual updates - -- [#461](https://github.com/IAMconsortium/pyam/pull/461) Add list of authors to repo and docs pages -- [#459](https://github.com/IAMconsortium/pyam/pull/459) Add a `get_variable_components()` function to retrieve or join variable components -- [#458](https://github.com/IAMconsortium/pyam/pull/458) Enable `Path` for IamDataFrame initialization -- [#456](https://github.com/IAMconsortium/pyam/pull/456) Speed up interpolation and support interpolation for multiple time-points -- [#454](https://github.com/IAMconsortium/pyam/pull/454) Enable dimensionless units and fix `info()` if IamDataFrame is empty -- [#451](https://github.com/IAMconsortium/pyam/pull/451) Fix unit conversions from C to CO2eq -- [#450](https://github.com/IAMconsortium/pyam/pull/450) Defer logging set-up to when the first logging message is generated -- [#445](https://github.com/IAMconsortium/pyam/pull/445) Prevent conflicts between attributes and data/meta columns -- [#444](https://github.com/IAMconsortium/pyam/pull/444) Use warnings module for deprecation warnings - -# Release v0.8.0 - -## Highlights - -- Add a `boxplot()` visualization feature to the plotting toolbox. -- Implement an API to read data from World Bank Open Data Catalogue. -- Write a tutorial illustrating how to read model results from a GAMS gdx file. -- Define `index`, `model`, `scenario`, ... attributes - and show a summary of the index dimensions on `print()`. -- Refactor the timeseries data backend for improved performance. - -## API changes - -PR [#432](https://github.com/IAMconsortium/pyam/pull/432) added attributes to -access the list of (unique) items of each index dimension -(`model`, `scenario`, ...). -The PR also marked as deprecated the equivalent functions -(`models()`, `scenarios()`, ...). The new behaviour is closer -(though still different) to what a pandas user would expect. - -## Notes - -PR [#420](https://github.com/IAMconsortium/pyam/pull/420) added -an object `IamDataFrame._data` to handle timeseries data internally. -This is implemented as a `pandas.Series` (instead of the previous long-format -`pandas.DataFrame`) to improve performance. -The previous behaviour with `IamDataFrame.data` is maintained -via getter and setter functions. - -## Individual updates - -- [#440](https://github.com/IAMconsortium/pyam/pull/440) Add `boxplot()` visualization feature -- [#438](https://github.com/IAMconsortium/pyam/pull/438) Add an `index` attribute of model-scenario combinations -- [#437](https://github.com/IAMconsortium/pyam/pull/437) Improved test for appending mismatched timeseries -- [#436](https://github.com/IAMconsortium/pyam/pull/436) Raise an error with appending mismatching timeseries index dimensions -- [#432](https://github.com/IAMconsortium/pyam/pull/432) Add attributes to access index dimensions -- [#429](https://github.com/IAMconsortium/pyam/pull/429) Fix return type of `validate()` after data refactoring -- [#427](https://github.com/IAMconsortium/pyam/pull/427) Add an `info()` function and use in `print(IamDataFrame)` -- [#424](https://github.com/IAMconsortium/pyam/pull/424) Add a tutorial reading results from a GAMS model (via a gdx file). -- [#420](https://github.com/IAMconsortium/pyam/pull/420) Add a `_data` object (implemented as a pandas.Series) to handle timeseries data internally. -- [#418](https://github.com/IAMconsortium/pyam/pull/418) Read data from World Bank Open Data Catalogue as IamDataFrame. -- [#416](https://github.com/IAMconsortium/pyam/pull/416) Include `meta` in new IamDataFrames returned by aggregation functions. - -# Release v0.7.0 - -## Highlights - -- Add new features for aggregating and downscaling timeseries data. -- Update the plotting library for compatibility with the latest matplotlib release. -- Refactor the feature to read data directly from an IIASA scenario database API. -- Migrate the continuous-integration (CI) infrastructure - from Travis & Appveyor to GitHub Actions - and use CodeCov.io instead of coveralls.io for test coverage metrics. - -## API changes - -PR [#413](https://github.com/IAMconsortium/pyam/pull/413) changed the -return type of `pyam.read_iiasa()` and `pyam.iiasa.Connection.query()` -to an `IamDataFrame` (instead of a `pandas.DataFrame`) -and loads meta-indicators by default. - -Also, the following functions were deprecated for package consistency: -- `index()` replaces `scenario_list()` for an overview of all scenarios -- `meta_columns` (attribute) replaces `available_metadata()` -- `meta()` replaces `metadata()` - -PR [#402](https://github.com/IAMconsortium/pyam/pull/402) changed the default -behaviour of `as_pandas()` to include all columns of `meta` in the returned -dataframe, or only merge columns given by the renamed argument `meta_cols`. -The feature to discover meta-columns from a dictionary was split out into -a utility function `pyam.plotting.mpl_args_to_meta_cols()`. - -## Individual Updates - -- [#413](https://github.com/IAMconsortium/pyam/pull/413) Refactor IIASA-connection-API and rework all related tests. -- [#412](https://github.com/IAMconsortium/pyam/pull/412) Add building the docs to GitHub Actions CI. -- [#411](https://github.com/IAMconsortium/pyam/pull/411) Add feature to pass an explicit weight dataframe to `downscale_region()`. -- [#410](https://github.com/IAMconsortium/pyam/pull/410) Activate tutorial tests on GitHub Actions CI (py3.8). -- [#409](https://github.com/IAMconsortium/pyam/pull/409) Remove travis and appveyor CI config. -- [#408](https://github.com/IAMconsortium/pyam/pull/408) Update badges on the docs page and readme. -- [#407](https://github.com/IAMconsortium/pyam/pull/407) Add Codecov to Github Actions CI. -- [#405](https://github.com/IAMconsortium/pyam/pull/405) Add ability for recursivley aggregating variables. -- [#402](https://github.com/IAMconsortium/pyam/pull/402) Refactor `as_pandas()` and docs for more consistent description of `meta`. -- [#401](https://github.com/IAMconsortium/pyam/pull/401) Read credentials for IIASA-API-Connection by default from known location. -- [#396](https://github.com/IAMconsortium/pyam/pull/396) Enable casting to `IamDataFrame` multiple times. -- [#394](https://github.com/IAMconsortium/pyam/pull/394) Switch CI to Github Actions. -- [#393](https://github.com/IAMconsortium/pyam/pull/393) Import ABC from collections.abc for Python 3.10 compatibility. -- [#380](https://github.com/IAMconsortium/pyam/pull/380) Add compatibility with latest matplotlib and py3.8 - -# Release v0.6.0 - -## Highlights - -- Add feature to aggregate timeseries at sub-annual time resolution -- Refactored the iam-units utility from a submodule to a dependency -- Clean up documentation and dependencies - -## Individual Updates - -- [#386](https://github.com/IAMconsortium/pyam/pull/386) Enables unit conversion to apply to strings with "-equiv" in them. -- [#384](https://github.com/IAMconsortium/pyam/pull/384) Add documentation for the pyam.iiasa.Connection class. -- [#382](https://github.com/IAMconsortium/pyam/pull/382) Streamline dependencies and implementation of xlsx-io -- [#373](https://github.com/IAMconsortium/pyam/pull/373) Extends the error message when initializing with duplicate rows. -- [#370](https://github.com/IAMconsortium/pyam/pull/370) Allowed filter to work with np.int64 years and np.datetime64 dates. -- [#369](https://github.com/IAMconsortium/pyam/pull/369) `convert_unit()` supports GWP conversion of same GHG species without context, lower-case aliases for species symbols. -- [#361](https://github.com/IAMconsortium/pyam/pull/361) iam-units refactored from a Git submodule to a Python dependency of pyam. -- [#322](https://github.com/IAMconsortium/pyam/pull/322) Add feature to aggregate timeseries at sub-annual time resolution - -# Release v0.5.0 - -## Highlights - -- Improved feature for unit conversion - using the [pint package](https://pint.readthedocs.io) and - the [IAMconsortium/units](https://github.com/IAMconsortium/units) repository, - providing out-of-the-box conversion of unit definitions commonly used - in integrated assessment research and energy systems modelling; - see [this tutorial](https://pyam-iamc.readthedocs.io/en/stable/tutorials/unit_conversion.html) - for more information -- Increased support for operations on timeseries data with continuous-time - resolution -- New tutorial for working with various input data formats; - [take a look](https://pyam-iamc.readthedocs.io/en/stable/tutorials/data_table_formats.html) -- Rewrite and extension of the documentation pages for the API; - [read the new docs](https://pyam-iamc.readthedocs.io/en/stable/api.html)! - -## API changes - -PR [#341](https://github.com/IAMconsortium/pyam/pull/341) changed -the API of `IamDataFrame.convert_unit()` from a dictionary to explicit kwargs -`current`, `to` and `factor` (now optional, using `pint` if not specified). - -PR [#334](https://github.com/IAMconsortium/pyam/pull/334) changed the arguments -of `IamDataFrame.interpolate()` and `pyam.fill_series()` to `time`. It can still -be an integer (i.e., a year). - -With PR [#337](https://github.com/IAMconsortium/pyam/pull/337), initializing -an IamDataFrame with `n/a` entries in columns other than `value` raises an error. - -## Individual Updates - -- [#354](https://github.com/IAMconsortium/pyam/pull/354) Fixes formatting of API parameter docstrings -- [#352](https://github.com/IAMconsortium/pyam/pull/352) Bugfix when using `interpolate()` on data with extra columns -- [#349](https://github.com/IAMconsortium/pyam/pull/349) Fixes an issue with checking that time columns are equal when appending IamDataFrames -- [#348](https://github.com/IAMconsortium/pyam/pull/348) Extend pages for API docs, clean up docstrings, and harmonize formatting -- [#347](https://github.com/IAMconsortium/pyam/pull/347) Enable contexts and custom UnitRegistry with unit conversion -- [#341](https://github.com/IAMconsortium/pyam/pull/341) Use `pint` and IIASA-ene-units repo for unit conversion -- [#339](https://github.com/IAMconsortium/pyam/pull/339) Add tutorial for dataframe format io -- [#337](https://github.com/IAMconsortium/pyam/pull/337) IamDataFrame to throw an error when initialized with n/a entries in columns other than `value` -- [#334](https://github.com/IAMconsortium/pyam/pull/334) Enable interpolate to work on datetimes - -# Release v0.4.1 - -This is a patch release to enable compatibility with `pandas v1.0`. -It also adds experimental support of the frictionless `datapackage` format. - -## Individual Updates - -- [#324](https://github.com/IAMconsortium/pyam/pull/324) Enable compatibility with pandas v1.0 -- [#323](https://github.com/IAMconsortium/pyam/pull/323) Support import/export of frictionless `datapackage` format - -# Release v0.4.0 - -## Highlights - -- New feature: downscale regional timeseries data to subregions using a proxy variable -- Improved features to support aggregation by sectors and regions: support weighted-average, min/max, etc. - (including a reworked tutorial) -- Streamlined I/O: include `meta` table when reading from/writing to xlsx files -- Standardized logger behaviour - -## API changes - -PR [#305](https://github.com/IAMconsortium/pyam/pull/305) changed the default -behaviour of `aggregate_region()` regarding the treatment of components at the -region-level. To keep the previous behaviour, add `components=True`. - -PR [#315](https://github.com/IAMconsortium/pyam/pull/314) changed the return -type of `aggregate[_region]()` to an `IamDataFrame` instance. -To keep the previous behaviour, add `timeseries()`. -The object returned by `[check_]aggregate[_region]()` now includes both the -actual and the expected value as a `pd.DataFrame` instance. -The function `check_internal_consistency()` now returns a concatenated dataframe -rather than a dictionary and also includes optional treatment of components -(see paragraph above). To keep the previous behaviour, add `components=True`. - -## Individual Updates - -- [#315](https://github.com/IAMconsortium/pyam/pull/315) Add `equals()` feature, change return types of `[check_]aggregate[_region]()`, rework aggregation tutorial -- [#314](https://github.com/IAMconsortium/pyam/pull/314) Update IPCC color scheme colors and add SSP-only colors -- [#313](https://github.com/IAMconsortium/pyam/pull/313) Add feature to `downscale` timeseries data to subregions using another variable as proxy -- [#312](https://github.com/IAMconsortium/pyam/pull/312) Allow passing list of variables to `aggregate` functions -- [#305](https://github.com/IAMconsortium/pyam/pull/305) Add `method` and `weight` options to the (region) aggregation functions -- [#302](https://github.com/IAMconsortium/pyam/pull/302) Rework the tutorials -- [#301](https://github.com/IAMconsortium/pyam/pull/301) Bugfix when using `to_excel()` with a `pd.ExcelWriter` -- [#297](https://github.com/IAMconsortium/pyam/pull/297) Add `empty` attribute, better error for `timeseries()` on empty dataframe -- [#295](https://github.com/IAMconsortium/pyam/pull/295) Include `meta` table when writing to or reading from `xlsx` files -- [#292](https://github.com/IAMconsortium/pyam/pull/292) Add warning message if `data` is empty at initialization (after formatting) -- [#288](https://github.com/IAMconsortium/pyam/pull/288) Put `pyam` logger in its own namespace (see [here](https://docs.python-guide.org/writing/logging/#logging-in-a-library>)) -- [#285](https://github.com/IAMconsortium/pyam/pull/285) Add ability to fetch regions with synonyms from IXMP API - -# Release v0.3.0 - -## Highlights - -- Streamlined generation of quantitative metadata indicators from timeseries data using `set_meta_from_data()` -- Better support for accessing public and private IIASA scenario explorer databases via the REST API -- More extensive documentation of the `pyam` data model and the IAMC format -- Compatible with recent `pandas` v0.25 - -## Individual Updates - -- [#277](https://github.com/IAMconsortium/pyam/pull/277) Restructure and extend the docs pages, switch to RTD-supported theme -- [#275](https://github.com/IAMconsortium/pyam/pull/275) Completely removes all features related to region plotting, notably `region_plot()` and `read_shapefile()` -- [#270](https://github.com/IAMconsortium/pyam/pull/270) Include variables with zeros in `stack_plot` (see [#266](https://github.com/IAMconsortium/pyam/issues/266)) -- [#269](https://github.com/IAMconsortium/pyam/pull/269) Ensure append doesn't accidentally swap indexes -- [#268](https://github.com/IAMconsortium/pyam/pull/268) Update `aggregate_region` so it can find variables below sub-cateogories too -- [#267](https://github.com/IAMconsortium/pyam/pull/267) Make clear error message if variable-region pair is missing when `check_aggregate_region` is called -- [#261](https://github.com/IAMconsortium/pyam/pull/261) Add a check that `keep` in `filter()` is a boolean -- [#254](https://github.com/IAMconsortium/pyam/pull/254) Hotfix for aggregating missing regions and filtering empty dataframes -- [#243](https://github.com/IAMconsortium/pyam/pull/243) Update `pyam.iiasa.Connection` to support all public and private database connections. DEPRECATED: the argument 'iamc15' has been deprecated in favor of names as queryable directly from the REST API. -- [#241](https://github.com/IAMconsortium/pyam/pull/241) Add `set_meta_from_data` feature -- [#236](https://github.com/IAMconsortium/pyam/pull/236) Add `swap_time_for_year` method and confirm datetime column is compatible with pyam features -- [#273](https://github.com/IAMconsortium/pyam/pull/273) Fix several issues accessing IXMP API (passing correct credentials, improve reliability for optional fields in result payload) - -# Release v0.2.0 - -## Highlights - -- the `filters` argument in `IamDataFrame.filter()` has been deprecated -- `pd.date_time` now has **experimental** supported for time-related columns -- plots now support the official IPCC scenario color palatte -- native support for putting legends outside of plot axes -- dataframes can now be initialized with default values, making reading raw - datasets easier - -## Individual Updates - -- [#228](https://github.com/IAMconsortium/pyam/pull/228) Update development environment creation instructions and make pandas requirement more specific -- [#219](https://github.com/IAMconsortium/pyam/pull/219) Add ability to query metadata from iiasa data sources -- [#214](https://github.com/IAMconsortium/pyam/pull/214) Tidy up requirements specifications a little -- [#213](https://github.com/IAMconsortium/pyam/pull/213) Add support for IPCC colors, see the new tutorial "Using IPCC Color Palattes" -- [#212](https://github.com/IAMconsortium/pyam/pull/212) Now natively support reading R-style data frames with year columns like "X2015" -- [#207](https://github.com/IAMconsortium/pyam/pull/207) Add a `aggregate_region()` function to sum a variable from subregions and add components that are only defined at the region level -- [#202](https://github.com/IAMconsortium/pyam/pull/202) Extend the `df.rename()` function with a `check_duplicates (default True)` validation option -- [#201](https://github.com/IAMconsortium/pyam/pull/201) Added native support for legends outside of plots with `pyam.plotting.OUTSIDE_LEGEND` with a tutorial -- [#200](https://github.com/IAMconsortium/pyam/pull/200) Bugfix when providing `cmap` and `color` arguments to plotting functions -- [#199](https://github.com/IAMconsortium/pyam/pull/199) Initializing an `IamDataFrame` accepts kwargs to fill or create from the data any missing required columns -- [#198](https://github.com/IAMconsortium/pyam/pull/198) Update stack plot functionality and add aggregation tutorial. Also adds a `copy` method to `IamDataFrame`. -- [#197](https://github.com/IAMconsortium/pyam/pull/197) Added a `normalize` function that normalizes all data in a data frame to a specific time period. -- [#195](https://github.com/IAMconsortium/pyam/pull/195) Fix filtering for `time`, `day` and `hour` to use generic `pattern_match()` (if such a column exists) in 'year'-formmatted IamDataFrames -- [#192](https://github.com/IAMconsortium/pyam/pull/192) Extend `utils.find_depth()` to optionally return depth (as list of ints) rather than assert level tests -- [#190](https://github.com/IAMconsortium/pyam/pull/190) Add `concat()` function -- [#189](https://github.com/IAMconsortium/pyam/pull/189) Fix over-zealous `dropna()` in `scatter()` -- [#186](https://github.com/IAMconsortium/pyam/pull/186) Fix over-zealous `dropna()` in `line_plot()`, rework `as_pandas()` to (optionally) discover meta columns to be joined -- [#178](https://github.com/IAMconsortium/pyam/pull/178) Add a kwarg `append` to the function `rename()`, change behaviour of mapping to only apply to data where all given columns are matched -- [#177](https://github.com/IAMconsortium/pyam/pull/177) Modified formatting of time column on init to allow subclasses to avoid pandas limitation (https://stackoverflow.com/a/37226672) -- [#176](https://github.com/IAMconsortium/pyam/pull/176) Corrected title setting operation in line_plot function -- [#175](https://github.com/IAMconsortium/pyam/pull/175) Update link to tutorial in readme.md -- [#174](https://github.com/IAMconsortium/pyam/pull/174) Add a function `difference()` to compare two IamDataFrames -- [#171](https://github.com/IAMconsortium/pyam/pull/171) Fix a bug when reading from an `ixmp.TimeSeries` object, refactor to mitigate circular dependency -- [#162](https://github.com/IAMconsortium/pyam/pull/162) Add a function to sum and append timeseries components to an aggregate variable -- [#152](https://github.com/IAMconsortium/pyam/pull/152) Fix bug where scatter plots did not work with property metadata when using two variables (#136, #152) -- [#151](https://github.com/IAMconsortium/pyam/pull/151) Fix bug where excel files were not being written on Windows and MacOSX (#149) -- [#145](https://github.com/IAMconsortium/pyam/pull/145) Support full semantic and VCS-style versioning with `versioneer` -- [#132](https://github.com/IAMconsortium/pyam/pull/132) support time columns using the `datetime` format and additional `str` columns in `data` - -# Release v0.1.2 - -- [#128](https://github.com/IAMconsortium/pyam/pull/128) add ability to directly read data from iiasa data sources -- [#120](https://github.com/IAMconsortium/pyam/pull/120) update install setup - -# Release v0.1.0 - -- [#114](https://github.com/IAMconsortium/pyam/pull/114) extends `append()` such that data can be added to existing scenarios -- [#111](https://github.com/IAMconsortium/pyam/pull/111) extends `set_meta()` such that it requires a name (not None) -- [#109](https://github.com/IAMconsortium/pyam/pull/109) add ability to fill between and add data ranges in `line_plot()` -- [#104](https://github.com/IAMconsortium/pyam/pull/104) fixes a bug with timeseries utils functions, ensures that years are cast as integers -- [#101](https://github.com/IAMconsortium/pyam/pull/101) add function `cross_threshold()` to determine years where a timeseries crosses a given threshold -- [#98](https://github.com/IAMconsortium/pyam/pull/98) add a module to compute and format summary statistics for timeseries data (wrapper for `pd.describe()` -- [#95](https://github.com/IAMconsortium/pyam/pull/95) add a `scatter()` chart in the plotting library using metadata -- [#94](https://github.com/IAMconsortium/pyam/pull/94) `set_meta()` can take pd.DataFrame (with columns `['model', 'scenario']`) as `index` arg -- [#93](https://github.com/IAMconsortium/pyam/pull/93) IamDataFrame can be initilialzed from pd.DataFrame with index -- [#92](https://github.com/IAMconsortium/pyam/pull/92) Adding `$` to the pseudo-regexp syntax in `pattern_match()`, adds override option -- [#90](https://github.com/IAMconsortium/pyam/pull/90) Adding a function to `set_panel_label()` as part of the plotting library -- [#88](https://github.com/IAMconsortium/pyam/pull/88) Adding `check_aggregate_regions` and `check_internal_consistency` to help with database validation, especially for emissions users -- [#87](https://github.com/IAMconsortium/pyam/pull/87) Extending `rename()` to work with model and scenario names -- [#85](https://github.com/IAMconsortium/pyam/pull/85) Improved functionality for importing metadata and bugfix for filtering for strings if `nan` values exist in metadata -- [#83](https://github.com/IAMconsortium/pyam/pull/83) Extending `filter_by_meta()` to work with non-matching indices between `df` and `data -- [#81](https://github.com/IAMconsortium/pyam/pull/81) Bug-fix when using `set_meta()` with unnamed pd.Series and no `name` kwarg -- [#80](https://github.com/IAMconsortium/pyam/pull/80) Extend the pseudo-regexp syntax for filtering in `pattern_match()` -- [#73](https://github.com/IAMconsortium/pyam/pull/73) Adds ability to remove labels for markers, colors, or linestyles -- [#72](https://github.com/IAMconsortium/pyam/pull/72) line_plot now drops NaNs so that lines are fully plotted -- [#71](https://github.com/IAMconsortium/pyam/pull/71) Line plots `legend` keyword can now be a dictionary of legend arguments -- [#70](https://github.com/IAMconsortium/pyam/pull/70) Support reading of both SSP and RCP data files downloaded from the IIASA database. -- [#66](https://github.com/IAMconsortium/pyam/pull/66) Fixes a bug in the `interpolate()` function (duplication of data points if already defined) -- [#65](https://github.com/IAMconsortium/pyam/pull/65) Add a `filter_by_meta()` function to filter/join a pd.DataFrame with an IamDataFrame.meta table +As part of the release v1.0, several functions and methods were removed +that had been marked as deprecated over several release cycles. +Please refer to [Release v1.0](https://github.com/IAMconsortium/pyam/releases/tag/v1.0.0) +on GitHub for the detailed changes and +the [v0.13 release notes](https://github.com/IAMconsortium/pyam/blob/v0.13.0/RELEASE_NOTES.md) +for information on the release history prior to v1.0. diff --git a/RELEASE_PROCEDURE.md b/RELEASE_PROCEDURE.md index cb6576783..c3442f80d 100644 --- a/RELEASE_PROCEDURE.md +++ b/RELEASE_PROCEDURE.md @@ -17,7 +17,8 @@ (you can find them by searching the code base for "deprecate") 1. Update `RELEASE_NOTES.md` (see the examples of previous releases) - replace "# Next Release" with "# Release v" - - for this new release, add a "## Highlights" section with the most important updates & changes + - add a "## Highlights" section with the most important updates & changes + - if applicable, add/review "## Dependency changes" and "## API changes" sections - add a new heading "## Individual Updates" before the PR listing 1. Confirm that the PR passes all tests and checks 1. Tag the release number: `git tag v`, e.g., `git tag v1.2.0` @@ -40,7 +41,9 @@ - copy the release summary from `RELEASE_NOTES.md` into the description box 1. Update on `conda-forge` - a PR should automatically be opened by the bot after the Github release - - confirm that any new depedencies are added there + - confirm that any new depedencies are included, + change the minimum dependency version if necessary + (compare to ./.github/workflows/pytest-depedency.yml) - merge the PR - check that the new version is available at https://anaconda.org/conda-forge/pyam 1. Confirm that the doc pages are updated on https://pyam-iamc.readthedocs.io/ diff --git a/doc/source/_bib/references.bib b/doc/source/_bib/references.bib index c96e68305..44bde4a82 100644 --- a/doc/source/_bib/references.bib +++ b/doc/source/_bib/references.bib @@ -1,7 +1,18 @@ +@Article{Huppmann:2021:pyam-v1.0, + author = {Huppmann, Daniel and Gidden, Matthew and Nicholls, Zebedee and + Hörsch, Jonas and Lamboll, Robin and Kishimoto, Paul Natsuo and Burandt, Thorsten + and Fricko, Oliver and Byers, Edward and Kikstra, Jarmo and Brinkerink, Maarten and + Budzinski, Maik and Maczek, Florian and Zwickl-Bernhard, Sebastian and Welder, Lara + and Álvarez Quispe, Erik Francisco and Smith, Christopher J.}, + journal = {Open Research Europe}, + doi = {10.12688/openreseurope.13633.1}, + title = {{pyam: Analysis and visualisation of integrated assessment and macro-energy scenarios}}, + year = 2021, +} @article{Gidden:2019:pyam, author = {Gidden, Matthew and Huppmann, Daniel}, title = {{pyam: a Python package for the analysis and visualization of models - of the interaction of climate, human, and environmental Systems}}, + of the interaction of climate, human, and environmental systems}}, journal = {Journal of Open Source Software (JOSS)}, volume = {4}, number = {33}, @@ -28,11 +39,10 @@ @Misc{numpy howpublished = {USA: Trelgol Publishing}, url = "http://www.numpy.org/", } - @Article{matplotlib, - Author = {Hunter, J. D.}, + Author = {Hunter, John D.}, Title = {Matplotlib: A 2D graphics environment}, - Journal = {Computing In Science \& Engineering}, + Journal = {Computing in Science \& Engineering}, Volume = {9}, Number = {3}, Pages = {90-95}, @@ -45,6 +55,6 @@ @InProceedings{pandas title = {Data Structures for Statistical Computing in Python}, booktitle = {Proceedings of the 9th Python in Science Conference}, pages = {51-56}, - year = 20102, + year = 2012, editor = {Stefan van der Walt and Jarrod Millman}, -} +} \ No newline at end of file diff --git a/doc/source/index.rst b/doc/source/index.rst index e678f5ff5..83bb4d1cb 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -7,7 +7,7 @@ Release v\ |version|. |black| |python| |pytest| |rtd| |codecov| -|doi| |joss| |groupsio| |slack| +|doi| |ore| |joss| |groupsio| |slack| .. |license| image:: https://img.shields.io/badge/License-Apache%202.0-black :target: https://github.com/IAMconsortium/pyam/blob/main/LICENSE @@ -40,19 +40,22 @@ Release v\ |version|. .. |doi| image:: https://zenodo.org/badge/113359260.svg :target: https://zenodo.org/badge/latestdoi/113359260 +.. |ore| image:: https://img.shields.io/badge/ORE-10.12688/openreseurope.13633.1-blue + :target: https://doi.org/10.12688/openreseurope.13633.1 + .. |joss| image:: https://joss.theoj.org/papers/10.21105/joss.01095/status.svg :target: https://joss.theoj.org/papers/10.21105/joss.01095 -.. |groupsio| image:: https://img.shields.io/badge/groups.io-pyam-blue +.. |groupsio| image:: https://img.shields.io/badge/listserv-groups.io-blue :target: https://pyam.groups.io/g/forum -.. |slack| image:: https://img.shields.io/badge/slack-@pyam-orange.svg?logo=slack +.. |slack| image:: https://img.shields.io/badge/chat-Slack-orange.svg :target: https://pyam-iamc.slack.com Overview -------- -The open-source Python package |pyam| :cite:`Gidden:2019:pyam` +The open-source Python package |pyam| :cite:`Gidden:2019:pyam,Huppmann:2021:pyam-v1.0` provides a suite of tools and functions for analyzing and visualizing input data (i.e., assumptions/parametrization) and results (model output) of integrated-assessment models, @@ -121,6 +124,40 @@ Table of Contents references +Scientific publications +----------------------- + +The following manuscripts describe the package at specific stages of development. + +Release v1.0 (June 2021) +~~~~~~~~~~~~~~~~~~~~~~~~ + +Published to mark the first major release of the |pyam| package. + +.. highlights:: + + | Daniel Huppmann, Matthew Gidden, Zebedee Nicholls, Jonas Hörsch, Robin Lamboll, + Paul Natsuo Kishimoto, Thorsten Burandt, Oliver Fricko, Edward Byers, Jarmo Kikstra, + Maarten Brinkerink, Maik Budzinski, Florian Maczek, Sebastian Zwickl-Bernhard, + Lara Welder, Erik Francisco Álvarez Quispe, and Christopher J. Smith. + | *pyam: Analysis and visualisation of integrated assessment and macro-energy scenarios.* + | **Open Research Europe**, 2021. + doi: `10.12688/openreseurope.13633.1 `_ + +Release v0.1.2 (November 2018) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Published following the successful application of **pyam** +in the IPCC SR15 and the Horizon 2020 CRESCENDO project. + +.. highlights:: + + | Matthew Gidden and Daniel Huppmann. + *pyam: a Python package for the analysis and visualization of models + of the interaction of climate, human, and environmental systems.* + | **Journal of Open Source Software (JOSS)**, 4(33):1095, 2019. + doi: `10.21105/joss.01095 `_ + Copyright & License ------------------- diff --git a/doc/source/tutorials/ipcc_colors.ipynb b/doc/source/tutorials/ipcc_colors.ipynb index f54516359..af4eb1dd5 100644 --- a/doc/source/tutorials/ipcc_colors.ipynb +++ b/doc/source/tutorials/ipcc_colors.ipynb @@ -61,7 +61,7 @@ " .filter(variable='Emissions|CO2', region='World', scenario=scenarios)\n", ")\n", "\n", - "df.line_plot(color='scenario')" + "df.plot(color='scenario')" ] }, { @@ -119,7 +119,7 @@ "metadata": {}, "outputs": [], "source": [ - "df.line_plot(color='scenario')" + "df.plot(color='scenario')" ] } ], @@ -139,7 +139,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.8.3" } }, "nbformat": 4, diff --git a/doc/source/tutorials/pyam_first_steps.ipynb b/doc/source/tutorials/pyam_first_steps.ipynb index 9fd033282..ef773b4d3 100644 --- a/doc/source/tutorials/pyam_first_steps.ipynb +++ b/doc/source/tutorials/pyam_first_steps.ipynb @@ -139,7 +139,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In the following cells, we display the lists of all models, scenarios, regions, and the variables (including units) in the snapshot." + "In the following cells, we display the lists of all models, scenarios, regions, and the mapping of variables to units in the snapshot." ] }, { @@ -175,7 +175,7 @@ "metadata": {}, "outputs": [], "source": [ - "df.variables(include_units=True)" + "df.unit_mapping" ] }, { @@ -660,7 +660,7 @@ "metadata": {}, "outputs": [], "source": [ - "df.variables(include_units=True)" + "df.variable" ] }, { diff --git a/paper/line.png b/manuscripts/JOSS/line.png similarity index 100% rename from paper/line.png rename to manuscripts/JOSS/line.png diff --git a/paper/paper.bib b/manuscripts/JOSS/paper.bib similarity index 100% rename from paper/paper.bib rename to manuscripts/JOSS/paper.bib diff --git a/paper/paper.md b/manuscripts/JOSS/paper.md similarity index 100% rename from paper/paper.md rename to manuscripts/JOSS/paper.md diff --git a/paper/scatter.png b/manuscripts/JOSS/scatter.png similarity index 100% rename from paper/scatter.png rename to manuscripts/JOSS/scatter.png diff --git a/manuscripts/ORE/Makefile b/manuscripts/ORE/Makefile new file mode 100644 index 000000000..a17256fb6 --- /dev/null +++ b/manuscripts/ORE/Makefile @@ -0,0 +1,21 @@ +# Minimal makefile for Sphinx documentation +# This file was generated with sphinx-quickstart version 3.5.0 +# + +# 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) diff --git a/manuscripts/ORE/make.bat b/manuscripts/ORE/make.bat new file mode 100644 index 000000000..9fb2e4a2e --- /dev/null +++ b/manuscripts/ORE/make.bat @@ -0,0 +1,37 @@ +REM This file was generated with sphinx-quickstart version 3.5.0 + +@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 diff --git a/manuscripts/ORE/source/_bib/main.bib b/manuscripts/ORE/source/_bib/main.bib new file mode 100644 index 000000000..da97deab4 --- /dev/null +++ b/manuscripts/ORE/source/_bib/main.bib @@ -0,0 +1,365 @@ +@misc{Huppmann:2019:scenario-data, + author = {Huppmann, Daniel and Kriegler, Elmar and Krey, Volker and + Riahi, Keywan and Rogelj, Joeri and Calvin, Katherine and + Humpenoeder, Florian and Popp, Alexander and Rose, Steven K. and + Weyant, John and et al.}, + doi = {10.5281/zenodo.3363345}, + howpublished = {Integrated Assessment Modeling Consortium & International Institute for Applied Systems Analysis}, + publisher = {Integrated Assessment Modeling Consortium & International Institute for Applied Systems Analysis}, + title = {{IAMC 1.5°C Scenario Explorer and Data hosted by IIASA}}, + url = {https://data.ece.iiasa.ac.at/iamc-1.5c-explorer}, + year = {2019} +} +@misc{Huppmann:2018:SR15notebooks, + author = {Huppmann, Daniel and Rogelj, Joeri and Kriegler, Elmar and Mundaca, Luis + and Forster, Piers and Kobayashi, Shige and Seferian, Roland and Vilarino, María Virginia}, + title = {{Notebooks for IAM scenario analysis for the IPCC Special Report on 1.5°C of Global Warming}}, + year = {2018}, + doi = {10.22022/SR15/08-2018.15428}, +} +@article{Gidden:2019:pyam, + author = {Gidden, Matthew J. and Huppmann, Daniel}, + title = {{pyam: a Python package for the analysis and visualization of models + of the interaction of climate, human, and environmental Systems}}, + journal = {Journal of Open Source Software (JOSS)}, + volume = {4}, + number = {33}, + pages = {1095}, + year = {2019}, + doi = {10.21105/joss.01095}, +} +@article{Huppmann:2018:NCC, + author = {Daniel Huppmann and Joeri Rogelj and Elmar Kriegler and Volker Krey and Keywan Riahi}, + doi = {10.1038/s41558-018-0317-4}, + issn = {17586798}, + journal = {Nature Climate Change}, + title = {{A new scenario resource for integrated 1.5°C research}}, + year = {2018}, +} +@article{Pfenninger:2018:blackbox, + abstract = {The global energy system is undergoing a major transition, and in energy planning and decision-making across governments, industry and academia, models play a crucial role. Because of their policy relevance and contested nature, the transparency and open availability of energy models and data are of particular importance. Here we provide a practical how-to guide based on the collective experience of members of the Open Energy Modelling Initiative (Openmod). We discuss key steps to consider when opening code and data, including determining intellectual property ownership, choosing a licence and appropriate modelling languages, distributing code and data, and providing support and building communities. After illustrating these decisions with examples and lessons learned from the community, we conclude that even though individual researchers’ choices are important, institutional changes are still also necessary for more openness and transparency in energy research.}, + author = {Stefan Pfenninger and Lion Hirth and Ingmar Schlecht and Eva Schmid and Frauke Wiese and Tom Brown and Chris Davis and Matthew J. Gidden and Heidi Heinrichs and Clara Heuberger and Simon Hilpert and Uwe Krien and Carsten Matke and Arjuna Nebel and Robbie Morrison and Berit Müller and Guido Pleßmann and Matthias Reeg and Jörn C. Richstein and Abhishek Shivakumar and Iain Staffell and Tim Tröndle and Clemens Wingenbach}, + doi = {10.1016/j.esr.2017.12.002}, + issn = {2211467X}, + journal = {Energy Strategy Reviews}, + title = {Opening the black box of energy modelling: Strategies and lessons learned}, + volume = {19}, + year = {2018}, +} +@article{DeCarolis:2020:macroenergy, + title = {Leveraging Open-Source Tools for Collaborative Macro-energy System Modeling Efforts}, + journal = {Joule}, + volume = {4}, + number = {12}, + pages = {2523-2526}, + year = {2020}, + issn = {2542-4351}, + doi = {10.1016/j.joule.2020.11.002}, + author = {Joseph F. DeCarolis and Paulina Jaramillo and Jeremiah X. Johnson and + David L. McCollum and Evelina Trutnevyte and David C. Daniels and + Gökçe Akın-Olçum and Joule Bergerson and Soolyeon Cho and Joon-Ho Choi and + Michael T. Craig and Anderson R. {de Queiroz} and Hadi Eshraghi and + Christopher S. Galik and Timothy G. Gutowski and Karl R. Haapala and + Bri-Mathias Hodge and Simi Hoque and Jesse D. Jenkins and Alan Jenn and + Daniel J.A. Johansson and Noah Kaufman and Juha Kiviluoma and Zhenhong Lin and + Heather L. MacLean and Eric Masanet and Mohammad S. Masnadi and Colin A. McMillan + and Destenie S. Nock and Neha Patankar and Dalia Patino-Echeverri and Greg Schivley + and Sauleh Siddiqui and Amanda D. Smith and Aranya Venkatesh and Gernot Wagner and + Sonia Yeh and Yuyu Zhou}, +} +@article{Yiyi:2021:mipplot, + title = {An open-source tool for visualization of climate mitigation scenarios: mipplot}, + journal = {Environmental Modelling & Software}, + pages = {105001}, + year = {2021}, + issn = {1364-8152}, + doi = {10.1016/j.envsoft.2021.105001}, + author = {Ju, Yiyi and Sugiyama, Masahiro and Silva Herran, Diego and + Wang, Jiayang and Inoue, Akimitsu}, + keywords = {Climate change mitigation, Visualization, Scenarios, R package}, +} +@article{Wilkinson:2016:FAIR, + title = {{The FAIR Guiding Principles for scientific data management and stewardship}}, + journal = {Scientific Data}, + year = {2016}, + doi = {10.1038/sdata.2016.18}, + volume = {3}, + author = {Wilkinson, Mark D. and Dumontier, Michel and Aalbersberg, IJsbrand Jan and + Appleton, Gabrielle and Axton, Myles and Baak, Arie and Blomberg, Niklas and + Boiten, Jan-Willem and da Silva Santos, Luiz Bonino and Bourne, Philip E. and + Bouwman, Jildau and Brookes, Anthony J. and Clark, Tim and Crosas, Mercè and + Dillo, Ingrid and Dumon, Olivier and Edmunds, Scott and Evelo, Chris T. and + Finkers, Richard and Gonzalez-Beltran, Alejandra and Gray, Alasdair J.G. and + Groth, Paul and Goble, Carole and Grethe, Jeffrey S. and Heringa, Jaap and + ’t Hoen, Peter A.C and Hooft, Rob and Kuhn, Tobias and Kok, Ruben and Kok, Joost and + Lusher, Scott J. and Martone, Maryann E. and Mons, Albert and Packer, Abel L. and + Persson, Bengt and Rocca-Serra, Philippe and Roos, Marco and van Schaik, Rene and + Sansone, Susanna-Assunta and Schultes, Erik and Sengstag, Thierry and + Slater, Ted and Strawn, George and Swertz, Morris A. and Thompson, Mark and + van der Lei, Johan and van Mulligen, Erik and Velterop, Jan and + Waagmeester, Andra and Wittenburg, Peter and Wolstencroft, Katherine and + Zhao, Jun and Mons, Barend}, +} +@Manual{Dietrich:2021:madrat, + title = {madrat: May All Data be Reproducible and Transparent (MADRaT)}, + author = {Jan Philipp Dietrich and Lavinia Baumstark and Stephen Wirth and + Anastasis Giannousakis and Renato Rodrigues and Benjamin Leon Bodirsky and + Ulrich Kreidenweis and David Klein}, + year = {2021}, + note = {R package version 1.93.5}, + doi = {10.5281/zenodo.1115490}, + url = {https://github.com/pik-piam/madrat}, +} +@article{Brown:2018:PyPSA, + author = {Tom Brown and Jonas Hörsch and David Schlachtberger}, + title = {{PyPSA: Python for Power System Analysis}}, + journal = {Journal of Open Research Software}, + volume = {6}, + issue = {1}, + number = {4}, + year = {2018}, + eprint = {1707.09913}, + doi = {10.5334/jors.188} +} +@article{Thurner:2018:Pandapower, + author={Leon Thurner and Alexander Scheidler and Florian Schäfer and Jan-Hendrik Menke and Julian Dollichon and Friedrike Meier and Steffen Meinecke and Martin Braun}, + journal={IEEE Transactions on Power Systems}, + title={Pandapower — An Open-Source Python Tool for Convenient Modeling, Analysis, and Optimization of Electric Power Systems}, + year={2018}, + volume={33}, + number={6}, + pages={6510-6521}, + doi={10.1109/TPWRS.2018.2829021} +} +@article{McMorran:2004:CIM, + author={Alan W. McMorran and Graham W. Ault and Ian M. Elders and Colin E.T. Foote and + Graeme M. Burt and James R. McDonald}, + journal={IEEE Transactions on Power Systems}, + title={Translating CIM XML power system data to a proprietary format for system simulation}, + year={2004}, + volume={19}, + number={1}, + pages={229-235}, + doi={10.1109/TPWRS.2003.820691} +} +@article{Zimmerman:2011:Matpower, + author = {Zimmerman, Ray D. and Murillo-Sanchez, Carlos E. and Thomas, Robert J.}, + title = {{MATPOWER: Steady-State Operations, Planning and Analysis Tools for Power Systems Research and Education}}, + journal = {IEEE Transactions on Power Systems}, + volume = {26}, + issue = {1}, + year = {2011} +} +@article{Righi:2020:ESMValTool, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and + Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and + Björn Brötz and de Mora, Lee and Faruk Diblen and Laura Dreyer and Niels Drost and + Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and + Saskia Loosveldt Tomas Klaus Zimmermann}, + title = {{Earth System Model Evaluation Tool (ESMValTool) v2.0 – Technical overview}}, + journal = {Geoscientific Model Development}, + year = {2020}, + volume = {13}, + issue = {3}, + pages = {1179-1199}, + doi = {10.5194/gmd-13-1179-2020}, +} +@article{Lamboll:2020:Silicone, + author = {Lamboll, Robin D. and Nicholls, Zebedee R. J. and Kikstra, Jarmo S. and Meinshausen, Malte and Rogelj, Joeri}, + doi = {10.5194/gmd-13-5259-2020}, + issn = {1991-9603}, + journal = {Geoscientific Model Development}, + keywords = {IAM,infilling}, + number = {11}, + pages = {5259-5275}, + title = {{Silicone v1.0.0: an open-source Python package for inferring missing emissions data for climate change research}}, + volume = {13}, + year = {2020} +} +@article{Gidden:2018:aneris, + author = {Gidden, Matthew J. and Fujimori, Shinichiro and van den Berg, Maarten and + Klein, David and Smith, Steven J. and van Vuuren, Detlef P. and Riahi, Keywan}, + doi = {10.1016/j.envsoft.2018.04.002}, + journal = {Environmental Modelling and Software}, + pages = {187-200}, + title = {{A methodology and implementation of automated emissions harmonization for use in Integrated Assessment Models}}, + volume = {105}, + year = {2018} +} +@Manual{Pflueger:2021:unfccc, + author = {Mika Pflüger and Daniel Huppmann}, + title = {UNFCCC DI API - Python package}, + doi = {10.5281/zenodo.4457483}, + year = {2021}, +} +@article{Wilson:2017:goodenough, + author = {Wilson, Greg and Bryan, Jennifer and Cranston, Karen and + Kitzes, Justin and Nederbragt, Lex and Teal, Tracy K.}, + journal = {PLOS Computational Biology}, + publisher = {Public Library of Science}, + title = {Good enough practices in scientific computing}, + year = {2017}, + month = {06}, + volume = {13}, + doi = {10.1371/journal.pcbi.1005510}, + pages = {1-20}, + number = {6}, +} +@article{Erying:2016:CMIP6, + title={{Overview of the Coupled Model Intercomparison Project Phase 6 (CMIP6) experimental design and organization}}, + author={Eyring, Veronika and Bony, Sandrine and Meehl, Gerald A. and + Senior, Catherine A. and Stevens, Bjorn and Stouffer, Ronald J. and Taylor, Karl E.}, + journal={Geoscientific Model Development (Online)}, + volume={9}, + number={LLNL-JRNL-736881}, + year={2016}, + doi = {10.5194/gmd-9-1937-2016}, + publisher={Lawrence Livermore National Lab.(LLNL), Livermore, CA (United States)} +} +@article{Taylor:2012:CMIP5, + author = "Taylor, Karl E. and Stouffer, Ronald J. and Meehl, Gerald A.", + doi = "10.1175/bams-d-11-00094.1", + year = "2012", + publisher = "American Meteorological Society", + volume = "93", + number = "4", + pages = "485-498", + title = "An Overview of {CMIP}5 and the Experiment Design", + journal = "Bulletin of the American Meteorological Society" +} +@Article{Balaji:2018:CMIPInfra, + AUTHOR = {Balaji, V. and Taylor, K. E. and Juckes, M. and Lawrence, B. N. and Durack, P. J. and Lautenschlager, M. and Blanton, C. and Cinquini, L. and Denvil, S. and Elkington, M. and Guglielmo, F. and Guilyardi, E. and Hassell, D. and Kharin, S. and Kindermann, S. and Nikonov, S. and Radhakrishnan, A. and Stockhause, M. and Weigel, T. and Williams, D.}, + TITLE = {Requirements for a global data infrastructure in support of CMIP6}, + JOURNAL = {Geoscientific Model Development}, + VOLUME = {11}, + YEAR = {2018}, + NUMBER = {9}, + PAGES = {3659-3680}, + DOI = {10.5194/gmd-11-3659-2018} +} +@misc{Unidata:2020:netCDF, + author = {Unidata}, + year = {2020}, + title = {Network Common Data Form (NetCDF) version 4.7.4 [software]}, + address = "Boulder, CO", + publisher = "UCAR/Unidata", + doi = {10.5065/D6H70CW6} +} +@manual{MetOffice:2019:Iris, + author = {{Met Office}}, + title = {Iris: A Python library for analysing and visualising meteorological and oceanographic data sets}, + edition = {v2.2.1}, + year = {2019}, + address = {Exeter, Devon}, + doi = {10.5281/zenodo.3233998}, +} +@article{Hoyer:2017:xarray, + title = {xarray: {N-D} labeled arrays and datasets in {Python}}, + author = {Hoyer, Stephan and Joe Hamman}, + journal = {Journal of Open Research Software}, + volume = {5}, + number = {1}, + year = {2017}, + publisher = {Ubiquity Press}, + doi = {10.5334/jors.148} +} +@misc{Schulzweida:2019:CDO, + author = {Schulzweida, Uwe}, + title = {{CDO User Guide}}, + year = 2019, + doi = {10.5281/zenodo.3539275} +} +@misc{Nicholls:2021:scmdata, + author = {Nicholls, Zebedee and Lewis, Jared}, + title = {{scmdata}: Handling of Simple Climate Model data}, + year = {2021}, + publisher = {GitHub}, + journal = {GitHub repository}, + url = {https://github.com/openscm/scmdata} +} +@article{Nicholls:2021:CMIPdata, + author = {Nicholls, Zebedee and Lewis, Jared and Makin, Melissa and Nattala, Usha and Zhang, Geordie Z. and Mutch, Simon J. and Tescari, Edoardo and Meinshausen, Malte}, + title = {Regionally aggregated, stitched and de-drifted CMIP-climate data, processed with netCDF-SCM {v2.0.0}}, + journal = {Geoscience Data Journal}, + keywords = {climate, projections, model, CMIP, aggregate}, + doi = {10.1002/gdj3.113}, + year = {2021} +} +@misc{Nicholls:2021:openscm-runner, + author = {Nicholls, Zebedee and Lewis, Jared and Smith, Chris and Gieseke, Robert and Sandstad, Marit and Kikstra, Jarmo}, + title = {{OpenSCM-Runner}: Thin wrapper to run simple climate models (emissions driven runs only)}, + year = {2021}, + publisher = {GitHub}, + journal = {GitHub repository}, + url = {https://github.com/openscm/openscm-runner} +} +@article{Hainsch:2020:GENeSYSMOD, + author = {Hainsch, Karlo and Burandt, Thorsten and Löffler, Konstantin and + Kemfert, Claudia and Oei, Pao-Yu and Hirschhausen, Christian}, + title = {Emission pathways towards a low-carbon energy system for Europe: + A model-based analysis of Decarbonization Scenarios}, + journal = {The Energy Journal}, + number = {42}, + issue = {5}, + year = {2020}, + doi = {10.5547/01956574.42.5.khai}, +} +@article{Zwickl:2021:GUSTO, + title = {Open-source modeling of a low-carbon urban neighborhood with high shares + of local renewable generation}, + journal = {Applied Energy}, + volume = {282}, + pages = {116166}, + year = {2021}, + doi = {10.1016/j.apenergy.2020.116166}, + author = {Sebastian Zwickl-Bernhard and Hans Auer}, +} +@article{DeCarolis:2016:TEMOA, + title = {Modelling to generate alternatives with an energy system optimization model}, + journal = {Environmental Modelling & Software}, + volume = {79}, + pages = {300-310}, + year = {2016}, + doi = {10.1016/j.envsoft.2015.11.019}, + author = {DeCarolis, Joseph F. and Babaee, Samaneh and Li, Binghui and Kanungo, Suyash}, +} +@article{Brinkerink:2021:iam-power-system, + author = {Brinkerink, Maarten and Zakeri, Behnam and Huppmann, Daniel and + Glynn, James and Ó Gallachóir, Brian and Deane, Paul}, + title = {Assessing global climate change mitigation scenarios + from a power system perspective using a novel multi-model framework}, + journal = {Environmental Modelling & Software (submitted)}, + year = {2021}, +} +@article{Waskom:2021:seaborn, + doi = {10.21105/joss.03021}, + year = {2021}, + publisher = {The Open Journal}, + volume = {6}, + number = {60}, + pages = {3021}, + author = {Michael L. Waskom}, + title = {seaborn: statistical data visualization}, + journal = {Journal of Open Source Software (JOSS)} +} +@Article{Hunter:2007:matplotlib, + Author = {Hunter, John D.}, + Title = {Matplotlib: A 2D graphics environment}, + Journal = {Computing in Science \& Engineering}, + Volume = {9}, + Number = {3}, + Pages = {90-95}, + doi = {10.1109/MCSE.2007.55}, + year = 2007 +} +@article{Ryberg:2019:RESKit, + author = {Ryberg, David Severin and Caglayan, Dilara Gulcin and Schmitt, Sabrina and + Lin{\ss}en, Jochen and Stolten, Detlef and Robinius, Martin}, + doi = {10.1016/j.energy.2019.06.052}, + issn = {03605442}, + journal = {Energy}, + pages = {1222-1238}, + title = {{The future of European onshore wind energy potential: Detailed distribution and simulation of advanced turbine designs}}, + volume = {182}, + year = {2019} +} \ No newline at end of file diff --git a/manuscripts/ORE/source/_static/.gitkeep b/manuscripts/ORE/source/_static/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/manuscripts/ORE/source/chapters/appendix.rst b/manuscripts/ORE/source/chapters/appendix.rst new file mode 100644 index 000000000..b58a14dda --- /dev/null +++ b/manuscripts/ORE/source/chapters/appendix.rst @@ -0,0 +1,54 @@ +Appendix +======== + +Software references +------------------- + +List of references for all packages and tools listed in :numref:`overview`. + + - **pandas**: https://pandas.pydata.org + - **numpy**: https://numpy.org + - **tidyverse**: https://www.tidyverse.org + - **Queryverse.jl**: https://www.queryverse.org + - **matplotlib**: https://matplotlib.org, :cite:`Hunter:2007:matplotlib` + - **seaborn**: https://seaborn.pydata.org, :cite:`Waskom:2021:seaborn` + - **ggplot**: https://ggplot2.tidyverse.org + - **shiny**: https://shiny.rstudio.com + - **madrat**: https://github.com/pik-piam/madrat, :cite:`Dietrich:2021:madrat` + - **iamc**: https://github.com/IAMconsortium/iamc + - **genno**: https://genno.readthedocs.io + - **mipplot**: https://github.com/UTokyo-mip/mipplot, :cite:`Yiyi:2021:mipplot` + - **PUDL**: https://catalyst.coop/pudl + - **PowerGenome**: https://github.com/PowerGenome/PowerGenome + - **PowerSystems.jl**: https://github.com/NREL-SIIP/PowerSystems.jl + - **Open Energy Platform**: https://openenergy-platform.org + - **Spine Toolbox**: https://spine-toolbox.readthedocs.io + - **TIMES-VEDA**: https://veda-documentation.readthedocs.io + - **OSeMOSYS**: http://www.osemosys.org + - **MESSAGEix**: https://docs.messageix.org + - **REMIND**: https://www.pik-potsdam.de/en/institute/departments/transformation-pathways/models/remind + - **GCAM**: http://www.globalchange.umd.edu/gcam/ + - **mimi.jl**: https://www.mimiframework.org + - **TEMOA**: https://github.com/TemoaProject/temoa, :cite:`DeCarolis:2016:TEMOA` + - **pypsa**: https://pypsa.org, :cite:`Brown:2018:PyPSA` + - **PLEXOS**: https://energyexemplar.com/solutions/plexos + - **RESKit**: https://github.com/FZJ-IEK3-VSA/RESKit, :cite:`Ryberg:2019:RESKit` + - **glaes**: https://github.com/FZJ-IEK3-VSA/glaes + +Software availability +--------------------- + +Source code available from: https://github.com/IAMconsortium/pyam + +Archived source code at time of publication: xxx + +Data availability +----------------- + +No data are associated with this article. + +Grant information +----------------- + +This research was financially supported by the European Union’s Horizon 2020 research +and innovation programme under the grant agreement No 835896 (project openENTRANCE). diff --git a/manuscripts/ORE/source/chapters/applications.rst b/manuscripts/ORE/source/chapters/applications.rst new file mode 100644 index 000000000..b8e842374 --- /dev/null +++ b/manuscripts/ORE/source/chapters/applications.rst @@ -0,0 +1,94 @@ +Use cases and applications +========================== + +The IPCC Special Report on 1.5°C +-------------------------------- + +The first high-level use of the pyam package was in the assessment of quantitative, +model-based pathways in the IPCC's *Special Report on Global Warming of 1.5°C* (SR15) +:cite:`Huppmann:2018:NCC`. +Many of the figures, tables and headline statements in the SR15 were implemented +as Jupyter notebooks using an early version of pyam; as illustration, +:numref:`sr15fig24` shows a plot from the SR15 created with pyam methods. +The notebooks were released under an open-source license to increase transparency and +reproducibility of the report :cite:`Huppmann:2018:SR15notebooks`. + +.. _sr15fig24: + +.. figure:: ../figure/sr15_fig2.4.png + :width: 400 + :align: center + + Range of assumptions about socio-economic drivers and projections for energy and food demand + as shown in the IPCC SR15 (Figure 2.4, + `link `_). + The figure was generated using pyam plotting features + and the source code was released under an open-source license + (`source `_). + The figure is reproduced per the IPCC's `Copyright policy `_. + +The openENTRANCE nomenclature +----------------------------- + +The Horizon 2020 project `openENTRANCE `_ develops a suite of +open-source models to analyse implications and economic costs associated with +different energy pathways that Europe could take towards its climate goals. +To facilitate the linkage of these models and analyse integrated scenarios, +a common data format and an agreed set of naming conventions and definitions +for regions, variables and units is required. + +This "nomenclature" is implemented collaboratively on GitHub +(`repository link `_) +under the open-source Apache 2.0 License. The repository also contains several Python utility +functions to validate the consistency of a scenario with the nomenclature. +These utility functions are built on the pyam package and its versatility +to parse various file formats and data templates. +Moreover, a balance between (human) readability and (machine) processability +was an important consideration when developing the nomenclature. +The common definitions and related validation features will prove useful +beyond the project's scope and can be a cornerstone for future energy model integration. + +Model results processing +------------------------ + +Several open-source modelling frameworks started to use the pyam package +as part of their processing of model results. Three examples are listed here: + + - The `GENeSYS-MOD model `_ + :cite:`Hainsch:2020:GENeSYSMOD` is a variation of the widely used OSeMOSYS framework + for capacity planning and energy systems optimization. + As part of the model linkage in the openENTRANCE project, the authors implemented + a processing workflow using pyam to convert model results to the common data format + used in the project. The workflow for this model is available + via a `central repository `_ + storing all model linkage scripts and mappings developed in the openENTRANCE project. + + - The `GUSTO model `_ + :cite:`Zwickl:2021:GUSTO` for the representation and analysis + of regional energy communities is based on the **urbs** model. + The processing of model results is currently being reimplemented to use pyam. + + - The `TEMOA model `_ :cite:`DeCarolis:2016:TEMOA` + for energy systems analysis includes a prototype implementation to export results + to a pyam-compatible Excel file as an alternative to its native data format. + +Model linkage framework +----------------------- + +Ref :cite:`Brinkerink:2021:iam-power-system` implements a soft-linking framework +that supports a workflow between a global integrated-assessment model (IAM) +and a detailed power system model. +The scenario results from the full-economy model can be fed into the power system model +to assess the scenario with enhanced spatial, technological, and temporal resolution. +Results from the power system model can be fed back to the IAM +using an iterative bi-directional soft-linking approach, which +allows for model-informed improvements of the power system representation in the IAM. + +This work uses pyam to implement the +`soft-linking method `_ +in a framework-agnostic manner. +Results from any IAM can be used as starting point, as long as they are in a format +compatible with pyam; and with adequate pyam-to-native-format interfaces, +any power system model can be used for the highly-resolved validation and analysis. +This work also uses several pyam features for data input/output, processing +and visualization to streamline the implementation of the soft-linkage method. diff --git a/manuscripts/ORE/source/chapters/datamodels.rst b/manuscripts/ORE/source/chapters/datamodels.rst new file mode 100644 index 000000000..b63e1c914 --- /dev/null +++ b/manuscripts/ORE/source/chapters/datamodels.rst @@ -0,0 +1,144 @@ +Data models and formats used by the energy & climate modelling communities +========================================================================== + +A "data model" is an abstract description of the structure of information. +Numerous concepts are in use in the domain of integrated assessment, +energy systems modelling and climate science. +This section describes several commonly used concepts in the integrated-assessment +community as well as energy systems, macro-energy and climate modelling. + +The IAMC format +--------------- + +A decade ago, the *Integrated Assessment Modeling Consortium* +(`IAMC `_) +established a simple tabular template to exchange yearly timeseries data +related to energy systems modelling, land-use (change), demand sectors, +and economic indicators in the context of climate change mitigation scenarios. +Previous high-level use cases include reports by the *Intergovernmental Panel on +Climate Change* (IPCC, :cite:`Huppmann:2018:NCC`) and model comparison exercises +within the *Energy Modeling Forum* (`EMF `_) +hosted by Stanford University. + +The tabular format consists of the columns *model*, *scenario*, *region*, *variable* +and *unit* as well as one column per year. +The IAMC also introduced conventions on the structure of the identifiers. +Most importantly, the *variable* column describes the type of information represented +in the specific timeseries. It implements a "semi-hierarchical" structure +using the :code:`|` character (*pipe*, not l or i) to indicate the *depth*. +Variable names (should) follow a structure +like *Category|Subcategory|Specification*. + +Semi-hierarchical means that a hierarchy can be imposed, e.g., a user can specify +that the sum of *Emissions|CO2|Energy* and *Emissions|CO2|Other* +must be equal to *Emissions|CO2* (if there are no other *Emissions|CO2|…* variables). +However, this is not always mandatory: for example, the sum of *Primary Energy|Coal*, +*Primary Energy|Gas* and *Primary Energy|Fossil* should not be equal +to *Primary Energy* because this would double-count fossil fuels. + +The openENTRANCE extensions of the IAMC format +---------------------------------------------- + +The Horizon 2020 project `openENTRANCE `_ +adapted the IAMC data template and extended +it in two directions to make the format better suited for energy systems modelling. +Specifically, this requires a more detailed representation of subannual data +and a better solution to represent trade flows and similar inter-regional quantities, +i.e., timeseries for data that is defined on the connection between two regions. + +To this end, the openENTRANCE project introduced a *subannual* column to the IAMC format +to describe data at a subannual resolution: +the entries of that column can be identifiers like "Summer" or "January", or +timestamps stripped of the "year" component, e.g., "01-01 06:00:00+01:00" +for January 1st, 6 am in the Central European time zone +(the year information remains in the columns of the tabular data.) + +The second extension concerns *directional* information, +e.g., trade flows or energy transmission from one region to a neighbouring country. +A :code:`>` sign in the region column can be used to indicate the source and destination +of the timeseries in that row, e.g., *Region A>Region B*. + +To facilitate the adoption and usage of these conventions, the openENTRANCE consortium +developed an `installable Python package `_. +This includes the lists of variables, regions and units used in the project to exchange +data between models, and it provides utility functions to validate that a dataset +conforms to the common definitions. + +Formats for power sector modelling +---------------------------------- + +One relatively early and widely used set of open-source tools for electric power +system simulation and optimization is `MATPOWER `_ +:cite:`Zimmerman:2011:Matpower`, implemented in MATLAB. Its data model, +the "MATPOWER case format", holds technical and economical parameters of a power +system made of buses, branches, generators and storage units for one particular +snapshot in time. + +Subsequent open-source implementations of power system modelling frameworks and tools +like the Python-based `PyPSA `_ :cite:`Brown:2018:PyPSA` +or `pandapower `_ :cite:`Thurner:2018:Pandapower` +or the Julia-based `PowerSystems.jl `_ +package each prefer +their own NetCDF, CSV or JSON-based formats to store time-series data, +but most of them include importers for the MATPOWER case format +to easily use the suite of test networks available in that format. +The industry standards CIM (Common Information Format) or PSS/E's "RAW" formats have +found less adoption in the scientific community :cite:`McMorran:2004:CIM`. + +Data formats and standards in the climate science community +----------------------------------------------------------- + +Within the climate science community, a widespread and well-known data model is that of +the Coupled Model Intercomparison Project (CMIP, :cite:`Taylor:2012:CMIP5,Erying:2016:CMIP6`). +The data model is designed to handle the enormous CMIP data volumes +(approximately 18PB, :cite:`Balaji:2018:CMIPInfra`) +generated with participation from dozens of modelling teams +and to ensure consistency across many sub-disciplines of earth sciences and experimental setups. +It has traditionally revolved around the netCDF format and the +`CF metadata convention `_, +a self-describing binary format designed for array-oriented scientific data +:cite:`Unidata:2020:netCDF` commonly used for earth sciences data. +The data is organised according to a regularised data reference syntax +:cite:`Balaji:2018:CMIPInfra`, which splits the data into smaller pieces that can be +reasonably handled by climate science: the dimensions include the experiment performed, +the model that performed the experiment, the experiment realisation +(not all realisations are the same because the models include chaotic dynamics) +and the version of the output. + +One major challenge is often simply accessing the data, for which substantial +computation is normally required. Increasingly, scientists are moving their analysis workflows +to high-performance cloud computing platforms. +This allows to host up-to-date data and supports containerized environments such as +`Pangeo `_ and `Google Earth Engine `_. + +A number of tools have been developed over the years to work specifically with climate data: +`NCL `_ and `CDO `_ +:cite:`Schulzweida:2019:CDO` are the most popular command line options. +More recently, the popularity of Python and its ease of working with large multi-dimensional +arrays in `xarray `_ :cite:`Hoyer:2017:xarray` +and `Dask `_ +has led to a growing geosciences ecosystem in that programming language. +This includes climate-specific packages such as +`Iris `_ :cite:`MetOffice:2019:Iris` and +the `ESMValTool `_ :cite:`Righi:2020:ESMValTool`, +which builds on Iris in an effort to create +reproducible climate-data analysis workflows whilst also allowing researchers to build +on each other's data processing efforts, particularly related to parallelisation and +lazy data handling. +It should be noted that the ESMValTool supports programming languages other than Python, +with the aim of being as open as possible. + +Beyond the CMIP archive, there are a myriad of other data formats and conventions +within the climate literature. +Of these, the most relevant to the integrated-assessment community is +`scmdata `_ :cite:`Nicholls:2021:scmdata`. +Being built with the IAMC data format (see above) in mind, scmdata uses completely +interoperable conventions and an identical data format, most notably in the structure +of the *variable* column. +The close link between scmdata and pyam facilitates the integration between +integrated-assessment models and reduced complexity climate models. +This linkage is already widely used in projects involving IAMC member institutions and +the assessment by Working Group 3 of the IPCC. +To extract data from the CMIP archive into the scmdata format, +the package `netCDF-SCM `_ was developed +:cite:`Nicholls:2021:CMIPdata`. diff --git a/manuscripts/ORE/source/chapters/intro.rst b/manuscripts/ORE/source/chapters/intro.rst new file mode 100644 index 000000000..76529ce9d --- /dev/null +++ b/manuscripts/ORE/source/chapters/intro.rst @@ -0,0 +1,139 @@ +Introduction +============ + +Towards open-source tools in energy & climate modelling +------------------------------------------------------- + +Over the past years, the scientific communities for energy systems modelling and +integrated assessment of climate change mitigation pathways +have made significant strides to "#freethemodels" +:cite:`DeCarolis:2020:macroenergy,Pfenninger:2018:blackbox`. +This includes steps to release input data, assumptions, algebraic formulation, +and processing tools for scenario results under open-source licenses, +in order to facilitate transparency and reproducibility of scientific analysis. +These efforts are part of a larger push towards open science +and FAIR data management principles +(Findable, Accessible, Interoperable, Reusable :cite:`Wilkinson:2016:FAIR`) +supported by stakeholders, funding agencies and researchers themselves, +for example the `openmod initiative `_. + +Alas, the efforts to move to open-source and collaborative (scientific) software +development practices in energy systems modelling, macro-energy research +and integrated assessment have, so far, mostly focused on modelling frameworks +and input data. The processing of scenario results using a common set of tools and +methods has received much less attention. +In many cases, users are either confined to tools for processing of results +that are highly customized to a specific modelling framework, +or they have to develop their own methods and scripts using general-purposes packages. +In a Python environment, for example, users often write their own workflows +and analysis tools from scratch using `pandas `_, +`numpy `_, +`matplotlib `_ :cite:`Hunter:2007:matplotlib` +and `seaborn `_ :cite:`Waskom:2021:seaborn`. + +The vision of **pyam** is to bridge that gap: to provide a suite of features and methods +that are applicable for scenario processing, analysis and visualization +irrespective of the modelling framework. +At the same time, the package should be sufficiently specific +for energy systems modelling +as well as integrated assessment of climate change and sustainable development +to allow sensible defaults and remove as much clutter as possible from +scenario processing workflows or analysis scripts. + +An overview of existing packages and tools +------------------------------------------ + +Several open-source packages and tools exist in between the general-purpose packages +for data analysis and plotting, on the one hand, and dedicated data processing solutions +specifically built around a specific modelling framework, on the other, +see :numref:`overview`. +These packages are compatible with a variety of data formats +commonly used in energy systems modelling and integrated assessment. + +.. _overview: + +.. figure:: ../figure/overview.png + :align: center + + Overview of packages & tools for energy system & integrated assessment modelling + (see the Appendix for a full list of references and links cited in this figure) + +These packages can be grouped into four categories; we provide examples +in each category for illustrative purposes: + +1. *Data processing, computation and validation of input data and scenario results*: + + The R package `madrat `_ provides a framework + for improving reproducibility and transparency in data processing + :cite:`Dietrich:2021:madrat`. + + In comparison, the R package `iamc `_ is a collection + of functions for data analysis and diagnostics of scenario results in the IAMC format + (see the following section on data models for more information). + + The Python package `genno `_ supports describing and + executing complex calculations on labelled, multi-dimensional data; it was developed + as a generalization of data processing in the context of integrated assessment and transport modelling. + +2. *Visualization of scenario results in a domain-specific format*: + + The R package `mipplot `_ generates plots + from climate mitigation scenarios :cite:`Yiyi:2021:mipplot`. + It is also based on the IAMC format. + +3. *Reference data management for model input & calibration*: + + The Public Utility Data Liberation (`PUDL `_) project + takes publicly available information and makes it usable by cleaning, standardizing, + and cross-linking utility data from different sources in a single database. + + In a similar effort, `PowerGenome `_ + compiles different data sources into a single database. + + The `PowerSystems.jl `_ package + provides a rigorous data model to enable power systems analysis and modelling + across several input formats. + +4. *Comprehensive database solutions for management of scenario input data and results*: + + The `Open Energy Platform `_ aims to ensure quality, + transparency and reproducibility in energy system research. It is a collaborative + community effort to develop various tools and information that help working + with energy-related data. + + The `Spine Toolbox `_ is a modular and + adaptable end-to-end energy modelling ecosystem to enable open, practical, flexible + and realistic planning of European energy grids. + +The pyam package covers both the data processing and validation aspects (category 1) +as well as a suite of plotting features (category 2). +It also provides direct interfaces to reference data sources (category 3) +and can be integrated with existing community database solutions (category 4). +Due to this wide scope, it is a novel and - we hope - useful addition +to the suite of tools used by the energy systems and integrated-assessment communities. + +A Python package for scenario analysis & visualization +------------------------------------------------------ + +The pyam package grew out of complementary efforts in the Horizon 2020 project +`CRESCENDO `_ and the analysis of integrated-assessment scenarios +supporting the IPCC's *Special Report on Global Warming of 1.5°C*. +Ref :cite:`Gidden:2019:pyam` describes an earlier version of its features and capabilities. +After three years of development, we believe that the package has now reached +a reasonable level of maturity to be useful to a wider audience - +in scientific-software jargon, it is ready for **release 1.0**. + +The aim of the package is not to provide complex new methodologies +or sophisticated plotting features. Instead, the aim is to provide a toolbox +for many small operations and processing steps that a researcher or analyst frequently +needs when working with numerical scenarios of climate change mitigation +and the energy system transition: +aggregation & downscaling, unit conversion, validation, +and a simple plotting library to quickly get an intuition of the scenario data. + +This manuscript describes the design principles of the package +and the types of data that can be handled. +We present a number of features and recent applications +to illustrate the usefulness of pyam. +In the last section, we identify several forthcoming uses cases +and planned developments. diff --git a/manuscripts/ORE/source/chapters/outlook.rst b/manuscripts/ORE/source/chapters/outlook.rst new file mode 100644 index 000000000..feddb4695 --- /dev/null +++ b/manuscripts/ORE/source/chapters/outlook.rst @@ -0,0 +1,89 @@ +Outlook +======= + +Facilitating assessments in AR6 +------------------------------- + +As part of the upcoming IPCC Sixth Assessment Report (AR6), pyam has facilitated +increased coordination and consistency across the analysis and data processing steps. +In addition to being utilized by authors to generate key figures in the report +(`link to the repository `_), +pyam is a critical component to the overall climate assessment pipeline +utilized by AR6 authors across Working Groups (I & III). All +scenario data is supplied in accordance with the IAMC data format to ensure +interoperability. The emissions data is then read in using pyam. Emissions +data is processed using the open-source software packages aneris +:cite:`Gidden:2018:aneris` and silicone :cite:`Lamboll:2020:Silicone` before +it is run using probabilistic reduced-complexity climate models managed through the +package OpenSCM-Runner :cite:`Nicholls:2021:openscm-runner`. + +All of these programs natively use the IAMC timeseries data format and pyam serves +as the programmatic interface between the integrated-assessment scenarios and the climate model processing. +The pyam validation features allows for easily checking that the minimum set of emissions data exists for +each scenario, ensuring that no essential data is missing. +While pyam is used for much of the pre- and post-processing, +some analysis steps use pandas or scmdata :cite:`Nicholls:2021:scmdata` instead +because they are better suited to processing large volumes of probabilistic climate data. +The scripts will be released upon publication of the AR6. + +Connection to other data resources +---------------------------------- + +As a next step for increasing the usefulness of the pyam package, +we intend to implement additional connections to data resources: +First, discussions have started with the maintainers of the +`Open Energy Platform `_ (OEP) to develop an interface +to their database infrastructure and related tools. +Second, the just-starting Horizon 2020 project *European Climate and Energy Modelling Forum* +(ECEMF) will also rely on the pyam package and the underlying data model +to implement linkages between modelling frameworks and make scenario results available +to stakeholders and other researchers. + +Community growth and package development +---------------------------------------- + +To make the development of an open-source, collaborative package like pyam +sustainable over an extended period of time, it is vital to have several developers +and core contributors to implement feature proposals, review pull requests and +respond to bug reports. +At the same time, there is an important role for (non-expert) users: +suggesting new features to improve the usefulness of the package, +contributing to the development of tutorials, +and answering questions from new users via the community Slack channel and mailing list. + +By virtue of being applied in several ongoing Horizon 2020 projects and the IPCC AR6 process, +we are confident that the package will attract new users and continuously evolve +to meet changing requirements for scenario analysis and data visualization. +At the same time, the solid foundation of continuous-integration workflows, +comprehensive test coverage and detailed documentation minimize the risk +of inadvertently breaking existing scripts and causing frustration amongst +the existing user base. + +Facilitating best practices of scientific software development and open science +------------------------------------------------------------------------------- + +This manuscript introduces the pyam package, a Python toolbox bridging the gap +between scenario processing solutions that are fully customized to specific +integrated assessment or macro-energy modelling frameworks, on the one hand, +and general-purpose data processing and visualization packages, on the other hand. + +We believe that this package can enable the adoption of best practices +for scientific software development and facilitate reproducible and open science +through several avenues: +First, an intuitive interface and the many tutorials make it easy for non-expert users +to switch from analysis using Excel spreadsheets to scripted workflows. +Second, by removing clutter from scripts thanks to a well-structured and stable API, +pyam allows to write more concise workflows. +Thereby, scenario processing will become easier to understand, +which can increase the transparency and reproducibility of the scientific analysis. +Third, by implementing a generic and widely adopted data model +with interfaces to several data resources and supporting multiple file types, +the package can increase interoperability between modelling frameworks +and streamline comparison of scenario results across projects and research domains. + +Last, but not least: by providing a suite of domain-relevant methods +based on a generic and versatile data model, +it is our hope that using pyam will free up time for researchers and modellers +to perform more scenario validation and analysis. +This can improve the quality and relevance of scientific insights related +to climate change mitigation pathways and the sustainable development goals. diff --git a/manuscripts/ORE/source/chapters/pyam.rst b/manuscripts/ORE/source/chapters/pyam.rst new file mode 100644 index 000000000..b7cd72855 --- /dev/null +++ b/manuscripts/ORE/source/chapters/pyam.rst @@ -0,0 +1,291 @@ +The pyam package +================ + +Design principles, implementation and user groups +------------------------------------------------- + +The vision for the pyam package is to provide a toolbox for many small operations +and processing steps that a researcher or analyst frequently needs when working +with numerical scenarios of climate change mitigation and the energy system transition. +The central paradigm for implementing this aim is to leverage the structure of the data +model (see the following section) for common operations such as unit conversion +or aggregation along sectoral, regional and temporal dimensions. + +We see this package as serving two distinct groups: +*experienced Python users* requiring a versatile and powerful solution, +whose natural tendency would be to reimplement +any data processing step directly in a general-purpose data analysis package like +pandas or numpy; and users with *domain expertise but limited Python knowledge*, +who appreciate a simple and intuitive interface. +To make matters even more complicated, it is important to remain aware that users +will always have requirements that cannot be realistically met by any single package. + +To reconcile these competing interests, we decided to follow the design of the pandas +package as closely as possible. +First, the pyam package implements functions that mimic pandas +(e.g., :code:`rename()`, :code:`filter()`), +and it uses similar keyword arguments where possible (e.g., :code:`inplace`). +This makes pyam intuitive for experienced users, and it sets Python novices +on a good path when learning more advanced packages later. +Second, the pyam implementation is not a monolith; it is structured so that a user +can easily use the pyam functionality for parts of a processing workflow, then +pull out the internal data objects for more advanced manipulation with pandas or numpy, +and then continue with pyam functions. + +To further accommodate the alternative user groups, we implemented several tools +for community engagement: experienced users will find it most convenient to interact +via the GitHub repository; +for users with limited experience in collaborative (scientific) software development, +an email list hosted by `groups.io `_ and a Slack channel +provide a less daunting avenue to ask questions or suggest new features. + +The pyam package follows widely accepted principles of best practice in +scientific software development :cite:`Wilson:2017:goodenough`. +It is released under the open-source APACHE 2.0 license, +and the package is available via both pypi.org and conda-forge. +Comprehensive documentation is rendered on `ReadTheDocs.org +`_. + +The code base is hosted on GitHub to take advantage of its tools +for version control and collaboration, +and the code follows the `Black style `_, +which is the state-of-the-art utility for linting and formatting in Python. +It includes an extensive test suite with coverage >90%, +executed via GitHub Actions on several operating systems and Python versions +for every pull request. +Tests are also executed on a regular basis (weekly or nightly) +to guard against issues caused by dependency updates. + +The pyam data model +------------------- + +There is an inherent ambiguity about the use of term "scenario" in the community: +it can refer to a "scenario protocol", a set of assumptions or constraints +that define a storyline or pathway; +it can also refer to the implementation of a scenario protocol +in a specific numerical modelling framework, which is then called a "scenario run". + +An **IamDataFrame** is a structured collection of numerical implementations of +*scenarios* (i.e., scenario runs). +Each scenario is identified by an *index*; the standard index dimensions are +'model' (the modelling framework) and 'scenario' (i.e., the scenario protocol). +Thus, by design, it is setup to facilitate model/scenario comparison and analysis. + +Timeseries data +^^^^^^^^^^^^^^^ + +Each timeseries data point is identified by the index dimensions of the IamDataFrame, +the *coordinate* columns 'region', 'variable', 'unit', and a temporal coordinate. +The time domain can be yearly data ('year') or a continuous date-time format ('time'). +It is also possible to add *extra-columns* when more fine-grained indexing is required. +This feature can be used to describe "representative timeslices" +(e.g., *summer-day*, *peak-hour*), +meaning a non-consecutive temporal disaggregation domain. + +The internal handling of timeseries data is implemented in *long format*, +i.e., a pair of columns for the *value* and the time domain in the data table. +Alas, it is often more convenient to display and store timeseries data in *wide format*, +where the temporal dimension is displayed as columns. +The method :code:`timeseries()` returns the data in this format as a **pandas.DataFrame**, +and writing to file (see the section "Supported file formats") applies it, too. + +An illustrative example of a 'data' table in a standard IAMC wide format is shown below. +It is taken from the `IAMC 1.5°C Scenario Explorer`_ :cite:`Huppmann:2019:scenario-data` +showing a timeseries data row of a scenario from the `CD-LINKS`_ project. + +.. csv-table:: Illustrative example of a timeseries 'data' table in *wide format* + :header: "model", "scenario", "region", "variable", "unit", 2005, 2010, 2015, "..." + + "MESSAGE", "CD-LINKS 400", "World", "Primary Energy", "EJ/y", 462.5, 500.7, "...", "..." + "...", "...", "...", "...", "...", "...", "...", "...", "..." + +.. _`IAMC 1.5°C scenario explorer`: https://data.ene.iiasa.ac.at/iamc-1.5c-explorer + +.. _`CD-LINKS`: https://www.cd-links.org + +Quantitative or qualitative meta indicators +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Each scenario (i.e., scenario run) can have any number of quantitative or qualitative indicators. +The corresponding 'meta' table to the example above is shown here. + +.. csv-table:: Illustrative example of a 'meta' table for quantitative or qualitative scenario indicators + :header: "model", "scenario", "category", "year of peak warming", "cumulative CO2", "..." + + "MESSAGE", "CD-LINKS 400", "1.5C high overshoot", 2051, -17.73, "..." + "...", "...", "...", "...", "...", "..." + +Operation and features +---------------------- + +The features of the pyam package can by broadly categorized into three groups: +scenario processing, validation, and visualization. + +Scenario processing +^^^^^^^^^^^^^^^^^^^ + +The most important element of integrated assessment and energy systems modelling +apart from the algebraic formulation +is the preparation of input data and assumptions as well as the processing +of numerical results to a state in which they can be conveniently analysed. +The pyam package provides a suite of methods that can facilitate these tasks. +Two of them are presented here as illustration of the general implementation strategy. + +Input data and modelling results frequently have to be aggregated or downscaled +along sectoral, spatial or temporal dimensions. The pyam package provides multiple +functions to that effect offering a variety of methods including sum, mean, min and max. +In addition, a weighted-average feature can use proxy-variables +available at the target resolution directly from the timeseries data, +or a weights-dataframe which can be passed as a keyword argument. +This enables a user to compute weighted averages with minimal effort, for example using +population at a national level as a proxy when downscaling regional energy consumption. + +.. code-block:: python + + df.downscale_region("Final Energy", proxy="Population") + +Alternatively, a user can use a more sophisticated methodology for calculating weights +and use pyam only to apply them to the timeseries data using a keyword argument. +All of these features call the respective pandas functions on the pyam-internal data object +to benefit from the performance and versatility of that package. + +For the second illustrative example for data processing, +the pyam package provides a method :code:`convert_unit()`, which uses the +`iam-units `_ package +as a dependency to facilitate intuitive operations. +The iam-units package is in turn built on the `pint `_ package, +a powerful and versatile solution for defining units and performing arithmetic operations on them. +pint can natively handle all SI definitions and many other widely used units, +and iam-units adds definitions frequently encountered in energy systems, +integrated-assessment and climate modelling. + +One example of added functionality by the iam-units package is the conversion of +greenhouse gas emissions to their |CO2|-equivalent +by any of several IPCC Global Warming Potential (GWP) metrics. + +.. code-block:: python + + df.convert_unit("Mt CH4/yr", to="Gt CO2e/yr", context="AR5GWP100") + +Using this package as a dependency in pyam rather than implementing a parallel solution +follows the best-practice software design principle of "separation of concerns" +and helps to keep the code base as succinct as possible. + +Validation +^^^^^^^^^^ + +An important part of scenario analysis is the validation of data for completeness and +correctness, in particular ensuring that results are close to given reference data +or that the sectoral and spatial aggregations are internally consistent. +The functions implemented for this purpose are :code:`require_variable()`, +:code:`validate()`, and several methods with the pattern :code:`check_*()`. + +Per default, all validation functions report which scenarios or which data points +do not satisfy the respective validation criteria. However, each method also has +an option to :code:`exclude_on_fail`, which marks all scenarios failing the validation +as :code:`exclude=True` in the ‘meta’ table (see the 'Data Model' section above). +This feature can be particularly helpful when a user wants to perform a number +of validation steps and then remove or filter all scenarios violating +any of the criteria as part of a scripted workflow. + +Visualization +^^^^^^^^^^^^^ + +Following the structure of pandas and matplotlib, the pyam package provides +direct integration between data manipulation and visualization features. +It implements a range of plotting features using matplotlib and seaborn +such that users can quickly gain a graphical intuition of the data. + +Where possible, the package sets reasonable defaults to streamline the workflow. +For example, the simplest possible function call is :code:`df.plot()` +(without any arguments), which draws a line plot using the time domain as the x-axis - +this is arguable the most common use case for scenario data. + +The plotting library also supports specifying styles (colors, markers, etc.) +for categories, which can then be used directly as arguments in the plotting methods. +:numref:`figwarming` from the `first-steps tutorial`_ +illustrates this feature, where warming categories and respective colors +have been defined as part of the script. + +.. _figwarming: + +.. figure:: ../figure/temperature-by-category.png + :width: 400 + :align: center + + A simple plot from the `first-steps tutorial`_. + The plot is created from the code snippet below, the assignment of the + `warming-category` and the associated colors is shown in the tutorial notebook. + + .. code-block:: python + + df.filter(variable="Temperature").plot(color="warming-category") + +The pyam package has implementations of several plot types, with a behavior and +function signatures following the underlying pandas, matplotlib or seaborn methods. +Visit the `gallery`_ and read the comprehensive `plotting documentation`_ +for an up-to-date overview! + +Last, but not least: by being based on the standard Python plotting libraries +matplotlib and seaborn, the pyam plotting functions can be used directly +in any more elaborate figure drawn with these packages. + +.. code-block:: python + + import pyam + import matplotlib.pyplot as plt + + df = pyam.IamDataFrame(...) + + fig, ax = plt.subplots() + df.plot(ax=ax) # using pyam features to plot data + + ... # any other matplotlib features to enhance the figure + + fig.show() + +.. _`first-steps tutorial` : https://pyam-iamc.readthedocs.io/en/stable/tutorials/pyam_first_steps.html + +.. _`gallery` : https://pyam-iamc.readthedocs.io/en/stable/gallery/index.html + +.. _`plotting documentation` : https://pyam-iamc.readthedocs.io/en/stable/api/plotting.html + +Supported file formats and data types +------------------------------------- + +At the current stage, pyam supports reading from and writing to xlsx and csv files +as well as the `frictionless datapackage `_ format. +An IamDataFrame can also be initialized from a pandas.DataFrame, +so any pandas-compatible format is also implicitly supported by pyam. +When initializing an IamDataFrame from a pandas DataFrame or reading from file, +pyam will automatically try to cast wide and long table layouts to the expected format. +It is also possible to pass missing columns as keyword arguments; +see the `tutorial on data table formats`_ for details. + +.. _`tutorial on data table formats` : https://pyam-iamc.readthedocs.io/en/stable/tutorials/data_table_formats.html + +Integration with data resources +------------------------------- + +To facilitate using external data resources as input data or for validation and plotting +of scenario results, pyam supports reading data directly from several databases: + +- Any **IIASA Scenario Explorer** instance via the native pyam.iiasa module - + see the related `tutorial`_ + for details. + Visit https://data.ece.iiasa.ac.at for a list of project databases hosted by IIASA. + +- The **World Bank Development Indicator** database via + the `pandas-datareader `_ package. + +- The **UNFCCC Data Inventory** via + the `unfccc-di-api `_ package + :cite:`Pflueger:2021:unfccc`. + +Refer to the `documentation`_ of all functions to query data resources. + +.. _`tutorial` : https://pyam-iamc.readthedocs.io/en/stable/tutorials/iiasa_dbs.html + +.. _`documentation` : https://pyam-iamc.readthedocs.io/en/stable/api/database.html + +.. |CO2| replace:: CO\ :sub:`2`\ diff --git a/manuscripts/ORE/source/conf.py b/manuscripts/ORE/source/conf.py new file mode 100644 index 000000000..dacdefb9c --- /dev/null +++ b/manuscripts/ORE/source/conf.py @@ -0,0 +1,59 @@ +# 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 sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = "pyam" +copyright = "2021 Huppmann, Gidden, et al." +author = "Daniel Huppmann, Matthew Gidden, et al." + + +# -- 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 = [ + "sphinxcontrib.bibtex", +] + +# 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 = [] + +# Activate numbering of figures +numfig = True + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of build-docs.ymlbuiltin themes. +# +html_theme = "alabaster" + +# 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"] + +# -- Options for bibtex files ------------------------------------------------ + +bibtex_bibfiles = ["_bib/main.bib"] diff --git a/manuscripts/ORE/source/figure/overview.png b/manuscripts/ORE/source/figure/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..0ce239ca4dea79045f330b6c4532ae5f28d31a5c GIT binary patch literal 293203 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΃ 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ï_pcY(OEX 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 HbG-9!^e*A$ literal 0 HcmV?d00001 diff --git a/manuscripts/ORE/source/figure/sr15_fig2.4.png b/manuscripts/ORE/source/figure/sr15_fig2.4.png new file mode 100644 index 0000000000000000000000000000000000000000..4634846988b49a614a01a959ba17e514511b28bd GIT binary patch literal 106579 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≀Se`3S+s(# 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≶?+lt9A+5Brm^=fQv=HmXhUmk^#!ax|2s#?4+K|3|)RVKiHS`kk z&2`kY#PpzDh$I&dv=Y`=8<>#i!Rd+l$wc>Q?G+rmaP5yH4`)EGKd$)H0Vk!eukWvzMH}%f1>1FTs{`!L7*;wO`r7!5LDRGS zyl;uP0;d}v=umOj?47C2rlzIxk1Ky3qZOH~pK7J0uzrz8XUn=rr>N<%hp&qfjx>;WsiK)U6s@W-1tl6e?@4_V&VKua{X>ZC*B}I88E& zZziYeZ?s{nbJ#5KBte0n2FcU30{Dp}umppib!lSafecAHKVjXl(;S-^l1wCY$Zv;Pn ztdnQ;dcOw#i6@W*_||{8?0;_GUQMvPLM7jQVVw{qO-I*qYtYh_TKNHkg)7QNo|Lrb zHxwC5W_+oJ)1a$Qew3|%ClZCKDtPfby!XDAd@IrPkB9qVKFrH{3eS_5?T=Sp8=HnV z5Bb;47nASbMeqT5Z=>Zdf3r)vW4|(A>~z3r7N3 z?~B`6d4Ut<6^|$U{+QL+r`9W?V5vfpwm*nWjdo`9wW$`ogmjAX?@uBE!rmsqPo=22 zCdI7(p+{C+4?un#UA`87J^vfc_usyD(`8Hx154G`)#^&u-UBO4mhWT@PZLXNMzA2U zPX8hL5rmf(olrDOW5qLPu7Kz9^i12k?aayc?vmB}VLf8yNf{Xh*F%BP1>xjXLuor1 zLqSistfYM5^g!p1O}_O#^TQp2dvgyXvx*_;xJazhx zgv`_#5{kdWT(zN)w`yvD-XtUmdE@HJhl<*=I$KiwV5Nr7h6jt%)0Z`*l4gnkH1H2< zYBe>l;w=+u+fJiFA|a=uCjS$IR#Xtvze1Pq;qT}ljD@~67=a|8c40|` z#@TKoG`;r*NT?@jDC@($2Av&x56G98(K_}+I=1@u#Pk$?7+^a9h1fYm5v2#5+L$lx zftT@i%tlPh(N3Pzc&EL9xwZM)LnPZ)+NRQ9;}Ngp*1pUt)}HV3R300o5Ze5kb00T{ zrBR8nu&@_ye;AmC-;?q(#qx^#j_1ixRo4|J1y5a@FtphJW-NY4D%;T=eoUlOX+G4{ z^Y%rZ!WM@M?HQVuz}ot@s~Q#)PGg`6(QaG_m!3#D^E6p>sy7@pTKMWHBJMUt_D}5{CtSuRoK(!Tu(6$KBa<<4=vd4N|Jl2 z6ijV9n(;@E-P45HNbua8CU9O4U7Jv;+tlsP%%Q9|rE}&b zQ#bthRvltw5LaNCo@N-oXpqCNnYx!fF~!0(g14lHAB$SVFp4FGfXUMN6Tw_xqNs7M zSsCk<049nXQ@86z{ExqRk!fJX1na4Hs?l8ru)3R$rgaS`GsAa96?^ruNutQ<&!aPW-lp zQ-wm@h)jl>FZkOa3R-02*-shfkIj~t8v6D^s#nwl1U{9ex42Ufu92&C&0`mvqmJHX<%U0Dpz;zH!u$( z_Hab4&0f;x_*{{KEhd{_&xmbm$+|tsg(?cnT<~Lvk(pve4>bnN(_emco(wk44qs8* z#x_NbkVMr{(v|=90=!isEyRC^zz5@M0QbiaChJ0OD?U_)#N7Roe{PoqO3DU64$2o9!q0V!Skt*NBazSc~Y zyyZ8qy=pOaqZ*z%n{tY0DTIitoiASl^SWW~#h_ z9P!?i%aM^gj}cb;l=qBoTejjXLGHPuBl;UIpL|txIe}SvGdO^!tuDb3c48F8v@X0j zq;yC*R=fAFqx4_Bm0rT~Xg$J=%EX~PV;9=D-1@)%pl@KDec>)ddD%awn5@Bb%u42B z-}d*%PmT67!cKEcAHg6ThKSEY#!ObH>oJtV0zP-n^C@nk?-)Y^?6&u=e-tJuq0xw; zVzgG0H}qy^+}^jb5P5R5zN{gp3s90#eOQ^rc4)QxY4bJzXV3N1L7TN6?`)HXjumat zSHLm?f@k)nC2iqLs@U_3Ef#|_J>!1V6$VOUwPbG5Q~~ERkwyNBd@mPdILdI+$oX#8 zC1bie;{c+hUL2}jdt za9N8N;FRkY*EN9(>PEx3o^5~;@mqnyBvhK9K>p0w$8nld_pHaqN2wgEL#>`hMf1^l zhxaVTnkG4Gj-??5d!26*X0BkCv+Ff0*zHJMSj~SZ3YF!vF_~{WnQ$7t*^)jo3c?9S zC&}CP%;ST~@hG%x{F*eBr<=0!RM(WI>I{Q}5AwG&a-V0Z>9rbu5cKRz>=aHmU`k@3 zzc0SMn8m`48kMSFt!+*|e%QVLcJVVks0hj^Eh8gKmk8ui(A*JI7JRhD3r9#yOq9&$ zRJ3CLg{IgGp|`vf1XDCHuEQc}Uck1iw=A1XDfA!|Z5#a)yVA(h4xN(ss@qpyF56zD z2Y&q0@u|+|CA2V^K`mKtrF}=;cJX&K*o^vNu%2(GrnD>?y-j*kLN_|cU8H@@r7FY` zJ*xv*5sl{Or|EU?%I7HKHFk7N7#bS-e>7clQ04#E-_4tC+jebjwr$^Rd$Vh^YqP!C z-fY{pH$9*4Z|0e~O@B4b+_%no=|INuWy^alV8%Z6=o(cQCL7K6^`5B0fmC@JzBVz| z3|iT?6+cMRV7&{KmWwNMLJ*EVT+Bk&lY(o&Ad_z4hOe9}<&cdrzC!6gY=z11OY zm4m%(_s!8*hO-uS=03r#PXm`G&fDsCdmR_=EvMIsG+9`0ciSTG1=i6Eb4~RCvLYX1 zEYKyyzoMkMn)@7z%`{z0&Ek!vzX66fe<34c(8tc_bmbS~Q#jv92bwU^I6kb=IKQ~H zXP=x{0+0i;@b44ek!blQVk`X|pWfP#bGnjrr(;xA+2ge7BI@~7YT!3>XXsvror_#- zQi2Ue;|RRbH=}e=LrCwRTq&&> zoq-d@P^AW(k0t+{?Xa-JHc7fH^~=w3KF^~`j*#Jm5%Pk9fdeFSG#S_}IO;kYECJ5M?CB|Iy9BTKn$ezDm)?OHANnS3cgGx25}8%~iRATA9te43~rg)z9GH(|K7n%P{BGXN^i`y?uAZ7hD)2N#Vy~1GVX# z3-GBcmyp>kRV&9ES#d>8zLC~(&u9i(@Jl_FGty(iMVKZ?&NzSf4dQS8l+5E^K5*Ht zxkiqm3LiqVX#Lf&U<^g_*YuE-AjWk8I7hp+YYwZn%g#%P?J>Cm&d4NyW0xSce==;V zGZi+jT@o3GZX7PT&taVI7}IDVF&YMyH*%V}03%--WW;Z;P7V??=8(dtj7X;!wkj?6 z+ISF%a%8A_U6PrEeBa>m5tE@;8ra?@p0Pk@K3xLUBSJk;k_W1r1=CWDM}1Fx``|)E zi=A4?Sa*Mw?s^Qn8nWaX_(2+P=;D&(!W%PnRFIdKcWyV}X}%Lth67^f66#EWkT0Ca z!NxJ)%2QeQJj2X5y?ew1i(4BB#jwTiX8vJawS>%JZLPV%x|C5(4T~8CDaZCmFk%`B zj#d1;M8)Wo@4j=svN*(h+38KCvsk0;Fnd(Hw%lk-7I(#`>T$ka|gqW8Lb{W*CIg|Uvd-P8%1rVgf#s&cvkT6_Ndtb}Xwdxm}yoeI0 z#q~WM)22}C45rrepb-vFZVo3Sa)z&pCB@aqMPovc7*Ftv9<Z$ZkO+*F9$Dr@iW*EOZZNXRc(&g^7V++mJRgUY=NBVC=~2@r z<|G-Z6{#5`+#&Id8bQwp|K}N=`*r()LYS`WGwhw3;I!y~}YaM3u(*@M1 zK^TZ3nBwtqNg|R~e8sdFQ67(Tu}31_5lK7Eq6Oo_pr_4F|*&LvgW)cL%vS<}S1yhJ5Nw)+SfgwiX$a$Is|GT=XAz9cN9M9;YE> zHrnlh&F8B_x3Mp_$3upbuEm>ptNTif0e39haX-C&L+>S8V6z#ecm%1~7$;NxR%cO4 z;{yvtbBv}OqxVhss!uD!5OQ;Ay>6+ITaT6-ZsAThV!sgW@830oA6edKAD+_R9cY!g zM}V{_y+Ml{z;vC-nljEmu&UJ_H&v^mhxVZ%NtZsl-JD4{5+4qVj)nF-dFIIxbO}5R z1w>p{z^zc!+7((^6?u{lL)eT~F&G>e8mD!dHekn@l8wcOOQ~upJSYnVSI(X|D66g= zzDFK~Lxb_xP}eCp><2-WAgZtv5eG z0FO3{S}iRf9TI~J1*xV`XRS}I3)}0Dx@}r!CEIHIMpd}^)UD}2i?Zw zo-b)hw`T{Mhp06OcVT8AHSS^QdsHMGO-lkZ*0V$9CLBJR#g<~H98L`h>WqCK;t|DJ zAxtcEZOkZ^Q{zxDG~Hu@{TD0+W^Hs999a7EV=sy zv@CA-vRZkP9#CU~ba#D3bGcJA&5Z`C47n7!%5#TZ2AQ(%&NnAnY>iTP3wLogIHUK6PA@&f+(X^65)}#7I!eeY3tOyRQRh& z(m;nGSLm-bGTwj;EiA$%$-%Idq74@Ze{F_;;Y}j(kxo(--|J%HADdRKyzZ)^JM%og zdz#U_5SwEk8Xo=@BCJ`Z&dbXS82>ah_ZG;C*iQq%&>+;1=DaARaO0KDEnE_O!{nW= zpK*+DLZ}?nD?$i1^nCVHtY}4(Y}C=)C^_UrmRwcU22WgeZ#)2d_dWd7^@zVuMlL>% zaJGi~$)C05PG2S>Ldl9wOc)o~JwA51PC7-!~Ix(0K{&ciB=e z(Hhz!l(Zx?y=GX9@;ZW$M)eloJCJu9u!pF@ERvKNF<`sCYK?c;|F9(%^(&|UIUtv$ z?VPkJ`yCe+VU)bNx^lqC+sqM70mRLPTflTk9E6Z|)-h5}>nrkg(g4>~O#`n}q~QJ@ z(W%aV-;ANRS5lB;L2bv8@1_l3wS_?UoXE(9HF(Ujr0>Fbsw#7(!wv)Fe6tL*C-E|N zFo|&k!wq@Vc_H{IAjcz6hO@+w&bdO!akxJDatBBp0dq{ zB&Y;KVepN{$jQqNf5?XXzfZ2uP6hjd+T6M#pLZR zO&|A)Oa|SFesfBmxjxu7*JfQr_v?jst+uRaffCTBD5)i%o?2O1Tg&M7)P%Y4PFNU5 z*OeM-KcRql29@GwA}l}dKi}5!uk>bC`fPQU?&1+Zn*5oqNh zgegkeGmKg$2+SD|vn8B6Kq)YOh-3|<+J7!fd? zwlt!EXG4X^ThKbioiTw^OSf`d0)`+=Y*-exV%o_P7eVE+>02jrn^2;(6t1KQ3Ek19 z4E&8LXQmU+p)&el@Z3(%iGyPDEAGeJlYh*KVp@D1O(@u2<*@}tjw~xH=g9RkdcmGb zw1OOyHeaD7uSmcMWITPvpfDv?h;?bz;iC?x)6`|A^VI1)^B}AH8^)O}Jc;T21@U3r zeoN%H;+mXY$`Evi{YK3bRKd@21*xLCnN&N_xn^WDK9{Dgp5@ z=;!-a`yDcO_kwaOl5G2i6+n(Zc%n;>>g&4Cfc0{ata+B=UK^&YJ9jU@Sp}H>VB|tJ+Rxi* zp|1ODOQ<1C-WH(Po9*<%$&*atbKea1j8|Qoz+1e|4$J+arq*PyKfKZ2blB9epQt4D zOMMPKGHq?Cke#idJ^;q&li~vY2iHN zf&ypQxBOLce5}FUA(=F3mB1WXaNa;lvp^jUHKT^EHz7N6?7a{aAzX7i)=FW@idio1 z(U46cuYaK}{LJ+hU+q~0YBJUI7%DHVKrT)xxc(FsDUCC_25eWdQe!yJI9L_b7<3?Z z`pDP`c)NCt?j@<@Es55Ti^LK18`DS!dLh!H1a*XNLK9w3c^Hguq!?`9Y*b%;fsc)D zdsYYYTD>15Ug8Ld$LAJ*%X5E3n0nQQl>vqXt6N}d+4R@d`!P*yZtLGuGuuk-Me*XQ z^s+RTD!t!IW8~gkoCj?b38JJZKxejM^H`phFcyQnD}8sWZk)x=P&eSJl9hlej6B~F zeH=r5>_QvF{fGJUc3Et*&6nYu0v0U@S5{?x-sni=^9c=x1SYH>0_-chTmcZ5kO3ez z`4v>z@^gILeIBDDe=f-b5bPdO>2kZjHS^pT9tf7gTzIK=o60Mn?s-R zfsQA1Te!e~w~L@uy=@p0(eK-s!Y$0aBtS`p34MvbQ z8RM?Y>mI$e?@Mo5zlzdhT!x|}D?4v*T#i>#l&{FVy2dOQcFS%6Pu!r5@!F7D<%x}v zrv`N6!iR3r=XzX^C?*#Qzcg64Tv2Orex>n&mjm}XH~yno5RiV-@mbvWwfSfNBgrPVT>h{dXCi%p{Rw!^AKP=kXq4 zW{wLY?yBFIv#zpprB>_;udt#j-JHq%*vh&OR5#Z{?{25tWXPwcMiDPb&uiE?zOTb# zH-z2t0#=K$=VB+dP4B1&9Pe+5As?~~Bq#lHS)6k)z6C-b$2t!{#*rsT|&M&|P{Q9}jNf$2FF&AtzsprxrDFL?q-J=<25e zR(|a7rJzs3>!VHn430>Iyc6T%pd6o@;~b(%_p*?nfHP2BO9RF)fCHk)7hiIX%_iE8 z+T#1$9~LTe&e&7Bw9;q`?rpy&4gg8^KA$Dg3KQr#{*QxuVqhgLlA5)CY8o>MCmcR(e;k?m+)9BP!^+LA*^)aT@86cru6{a5{xFIz+~cu6aKJ*= z=6t(u_Qw#(n$woH1zbT^_V*btP)!5bQwDcwkTewi1z-P}ldH7lk`n+p?g^YP|I@6a zd{(>a^(HN4cKB{gwvntg)qwOZSifBG!lNTCov*4YyHUdm>{?+t?T$m*ut8f-H@{mt zxOpfhJouyM#(JYOox9Ce^cn}%yqo>j02_21#%1owiJ27$xF#X*Y$cs@;h7rP=~T$; z(B|KRi}*CGTd|!VMBUgbD+4EK9k#wGsmQiUaPTAX=eFzUOqww{zN5QKXREbGete55 zoxmM~0bj8SbrmE;F)?wCd@QCbDS)CRJ;!tYLdY(6bbR8>|8HG}Vz)Rgbd^@!wW+qg zA~{*lR#hEaK6T+EGHWM$Ks*5!Ww?smvaEh)RWnQ}Nmp&MW)~r<-^g4{0*&tQJD~!3 zD?h&!H-n@UpVT>dA%nS_1vb>jDD)=O4{H1Ze~;+NMJO+?Fm8X(pLeOyGLz$xN@_9P z|8ARWwHbgt1E9#9KpQAwYj>FYDCWR}uQ`zb3T^c@S;`-yW@{9N$xU)nhfx~LJc#QS z)uL(aM3y}f5P$HJwV+plx~BfdUdCL$pfuB%(tMtE*eX);@+sg5{j|{K30*!ck4=0hHk)wA_m^nC*^MKHCcBsDS z&f%n`CA2xM`nzt0MOwm|!R<9Nuyh2}@LyRrRPsD^vtr@XIP zv%9gu{;tliF*Z*uIf$!o6_}*>A%6(7VsxhZM0(|D$>&zL!SwFN#^uolS986)3K|9@-ch}6p+mwa!xEj!dSh2pEkU|$s3f^C zIqJ@H5lh$m8*v-~p8kAFeoE!r`Xoz7-Y8YZluzHp?0}GedqX$7M zmzYrsUsz}k7=*)*BEF;t5o<>2op zY>v0e%;EF4B9TBq$7bpOTH;7YchQ?&R2^=Ayfod*zyP?SAN_LpaS6ZsvOsbY-{r%g zsh!1EGQd++I|}uqq&Wx@4*vwR`uTfYLjk~F>5!ua zv9YnK*W+ZM!P7yknii@<5ekUcH_)-H{MoxxpW9qzZZe!6l$sk>^Q+^NlTJ6gVn781 zn8;RFS1UNr6P0JV&<%-gNJ}*m@&W^N$1_SCK*Gw9o$$-$TL zBWL!6y`iBYxZkLLg0&mb~MupZxSKRt!5#fA&HQO44 zE4n9;tpUI}#urZDnF(lP{+iWW^%j4KlLohdKjR`p(S{)B{!$jWp-s_%!-u>as+D+y z8j9P77gyE95`M$Eeq6u%6p{8khKpUKxr-N z*7a%-cfC!tCDPcP1GJXc*US;30Ff$WVzQ@(g+i4`Gx-?DmQ!V@zDTB&hB$FM-V4tE zy6c$I%ym~5*GYt&HZp69cr&u*V^g&@@LeavQ8T8$rkExxer$Tgdqi@PXIOJXTZ|ml z%x64JT7Vy8kMC8&V}H6QU)&!6r~wuhDDJf5=8VwsU+MULo+K17<;BfG1zDZT3Qwo< zm`xT;(I2CICND==M1JRu-_)0Wco+3p(Z-w?&YcJsQf71FlCIlvH8wT^<#GMg8Ex^p z*wEIP9-JXtsMgYh1DHn`@~%C&X>C$c^b1HFf$NuSPpt%5->(zKbXWdFnd0~euzrHR3h)v z^|S{g2lZTFzoubs3q@a6QGDPr3sMw)g9En$M>)w87DZiTNDwA=){=N9}L?CYUPyg=7|z5hXmFX&yi&F1=cPBEM3 zxTs#@kjM;Gsm4o`D*XRifECNl%~)ix+^OLaORTwB89%`b(ou#+$K4xO?b>?n?b@VjuFMHcQ8`x2H;8O`Dg*=sfN3=3?B?94IbdYXWKREGLe zm{cH4?||2V*%fYt|GcvP&d}rBx+VzzXgogQt&1yBNJ0{<1)~J8m!1_T6#DLgy~KNa z&TxX-EEmNY-HmX|AQX-VnnZO{=q z6eZ~%priIa(Eqr>qbICIvX+Ek`$40GBWy10QDf?R};2GQ;0h_ zvw;B1UeFx^O|r6q1F){n)Z^WTZzoW*W6`f&IQ^0>ngJxG^g^H4%NTMv6*pcZ$IaiqJ7G+s0COLhzwAThDy2;?lqF9^ z1+C(96VKM+;`PNgXRaN2y3-2B+s&r;!s+_O|5<#eHSvfEC3dLvdf)c@VLppmG6wy9 zUcBbtU6RObb|c#Gy(|rDaAL)2%X?avrGPCO>ENVdO90jA+hMLtGg1LskkbEoz4U7J6F%yl&NbayVxp+Eq0ee8_Hgj@Etw5r_ns=8`k z{nfI(qImUcaEg8+)`+vx23-IBXDh`fHv7`jv~HnF*f1pyZ1Hqq&)@BJ2LZ6RZ`W8o zJk|c6H!MG3NiM-Sjh`Jcnn51Sk8~)~bQ^bZskKRn{wB=bzqmtUdTr3Y;XlJT?oSJS zJm#s8&pMynCo}kUy`;O(Xj_6DeiM;E0GG(~`$wvrgdBuO*0(~KQ$N-}ihzT9dMfAW z?+F}5jr;2OdV5v!tDD>Og5k6Hi;n={4*_hdSvavb%RFd9-DxEJm4(aaIK#%y*ArAh zJ`XbuQR0F8c2w<6w)?RcnWZBWKJm)4ss{ZQcGcO{GL!n}=EEtj;|n7{9MKJg21T-H zDT1Xm(hEb8lf^(j&M@Q;cA5rErLHs-TglaDKraET4?v&NP+&%d064FYfI$Qo61E8| z0J@Es)-y}*O7B~{jEc3YsCJVEF9#dd`Ke2L{^LzWgShk>#OfLuahGODNhmkUAdl6R zrX84MQ&v)#TtFfLf7?Lg+U|fXV z7Ms7P%*pjqdO$#caPSZ5v?R6YlSb;}7E-L|zNg2!&$leJT2hEyzb(#>ZE!9Yv@BBW z@!h)@Ace+%#bthFQwhq%4OEB}5hu$THRI2s5#)3<$p9HJr**Xx)a-gYS;f$Dj){*5 z?bqF{2wc>ImW&kVir8Ufb%}=Fw$U>y@ZInB5}uFCMPkmb-3eRIf7|QE*FYo? ze9dlm0NdIE;HLnTMuO!yk;nuuKSvKLMQtceOHWdRKb^3k2>WQYP-qmX&lAe)RlzMA zF=ZVvuImGM003_D>n2JaQml4mzUC7S4=YSEpg!VFVFr*s zcqAle`3rjVC|t?aq%Q?t1iY{WhhO-XaFjB0bFj@bwB@r1cGrMLskCLK1%z|uy+){w zYyBl4ksG1dl9QpLf2UN=?oT&u zUsyDguQr@`1Ox;vx=|9DbLsTMjInIhFX1ENh4ZcRf_;h5|Lfxn-u4tQ+hplPqunci z?&#^Qx8?<8rl_SB{s#Vf#U{n~s02s7f+cGS;bxnBGPE3G%eN^^(Bq9iNUQ+oR&yLw zUrypym;@giZK8~M#+vXSpkd$ne&|`XfC|UbHh_(&f+TI~ZzdZ(hAWVn}QPe%t}?QL!RCv^>P0C%JUtYwnHE0dB45sy8UY92S2L}DG9KfOUlcwW?WPOu})b$ zL}FVm{X`)f4uJMes=UUb7rTMu3pl1ct*^^AqV`cngTI?^F2yXJF^Dp|=mDCRyYUca zm3rLLV&u9RVe%p9m(1ZQ=X2f9`~n<+3RrG1VcW1yxeN1unKD%)gJtDl8yoBrQfIKv zeL{>s(+%-ytI&(yWi5(F1r>z}HBxZx+2xVsu2s%%80Hly|E2~3|AbHh86HZC9QF9$ zE~e@MGn5|>eG1nj`wdDoxe2z3;-+v!+d##CDzLEz%ppyY8^P*a9M-;}mdZgU;q^tc z;j`+a%rFypg=KCx5RstgzmPs8=$?bxyI4N=-%=wv7nwJ_6Z0%$?oq#s%e~?onSk$4 zM7s6zVKbCM-~X`L-@J~wlnXW4E@_@!(ChwNS9eYGKxSFv;#jwj6;rlfh$govfOZ0! z^C&`Qru(=VqB_*1?#OF(F5=9JNEbuf){d^Nx(DNd)9rW15`JMoTE4yG>q2RT*&~XN|##%<$A#MXeo@ zww}A8=}$^l_6RB3WEe0h&9)OIJV|ujUou-J8mfy6Iu>r^={Y&1Jn8%E%Xn1T5C>R_ z2bkP3Jz^vSQt%C3(a5`yUuX_uS!>SZBoq{os1h0Al$EQDqkmQkB~q?Ve6`bA8Ze<6 z^4ML6F?ijKix@(q&{GobsRsJokLHbl;fn#WEb%*XytY$EZp?qX>lX96lIm(|?ElfR z>~eJLDax33M^{Jg>@~@`eW+ZBBm=K3K31qb5`{@&21jz*yRM|@uq?d1u-HnOI435e zT(ny{NnfBRbN9Tb3>Z5$jn$v;y_;|8yi?-ks1(uJE-o%wHj0#vY}5~q2U)}$lF3WC zp!6T_Z|6VA{-**^lm;-bHG8W=;NGn-UQhsdf1pGG=w;(N?0_FX0m#I@DZnA`ive=X zAdlBMi~>ATx``5hKGj(WsF{Get@}H8K&!GA`fU^?VGZ$0PeT<%)K#Y$$u#N`|Lh zqi_)G#sZ7^f!Ol&u#rWf zkHl!uB};22s#rfe{%ccG)XM>_MC%*!kj&W-pXP(`PqYI zP$Pa@;-=1njM=|}sm*cw?y$ZhW^WI)Zi=ZW5;ixGN3wC^h+@j~${?j$Yq-?9iAl^j zqjIrWB_Z44kddy#TTE!k3Z^TTp*GA%5Q7e4crHYhq8~jg7PMQMw5yi*=kJrLpHO~) zcLk$#w!-*mOY1Gfyn@YZwzXl=k(d=|>riJL#mxNu>Q5hTWj6?mmx~pyT4C<;}O_(!)zWVoQ0QhaPN?o6R)M5 z9-{Y^DQwKB#P6Mu*d7V7Wcc56CN#p;-$uICGA(zF%Q?JFcxZ*J?Xk}rwk$WeDh|R` z>kXIrHj5h9IsLQZs>PT&kT^`hh-n|FVFyqxy!goM9>s`hOXGkE3x`u|1#sa+hz0_# z!oK%kmu8yw#PRBN;!KJf)+Gk^6fp?7sE0D$Z80<3v`y}wGwc{O&4F!gZK!0eWBrL) zIZbH&awj91bx56M-jGQAreyKbWDw`Ndc)A}uJzWoWI!4g(2oKO0zgIp!KbPwrUu#h zC*iNFC;}uUx5G0!6aII(eOQ{(i8BqSwMB$Vt<6ay|DB2uP6xR;9;Z|O_GWwieLNP3 zxODmj(qMye)MWXgdtBu|KXs|CDougfL^Ud%E4UOz7+rMChr|RBd8W(4h1wsQt0X5n zT^)R4JY&HZRBvEAn_bf1@ousM)w`dY5|xl;jU8Emta7T1R7||8D`D6E!ShNK|MfK* zggNG9^eVs?xo@17(D}4vU1)R?l&MCRmC*pY50Y$h3Vv_Kzvf*xq$Bsj4Hed6 zsi@zNhJWP-=7+bkv6SHz?|2537#Vwv0(Fz5St~Ptf5=Wqm%{>v{HoP=mwDckzu$5n zwYd=ds6dIzq<$UxSJqZ!T?6^_Vt!kq=u`2^MG;1w0lzK}?#mK=&f-hzR?dAc{Xcja z6Gv%vepd5B=lx2iY=)~?koNWUC8>&^D93MOmhV=ND}+*0<8k_juW%_i4!zkGhLO#% zKgU1u$W64_87<2@0qy2iTU}B2>-N9L03QC=h^Z5_6;_EdN1-Ef429>-Gs+`@z{vLB z=ltBVimHgUCbtILxzz;pc>uh*y*8QJb6RdK^Tx29czO3aNrPZgDi;l}WM`v5KV1Fk&i6j%wPl0*UpddrQH@ z%>=XgXJ5@KOuvi%r~0myK`;N{>c!O0Bj6eYR){nnrpzT&A}+?k&m(1Qk450=#ycDi zN$T9R4!H&ZRODSImdD+fwJ(x1pT`etl@xa9o+a(RH*%%X3IFM3UmQ2zKuch zH7QPT_zlR$ok_QUkd42?z2~L2z*16)@MB&p>)P*8M5BW!O&OAnQxvtYH5A~d=brfA zMNCS?4yElY0Fs=Z{>{_p|O!~-U>A!8*5v=eF$`Z;808MT3?2Mol-*{3>Jq#LW>f&a?vF(#bEPD z)?5*l(>EN)V!4BiPO2x?2WWs1KwV8POqoc-pAvV9Wx|>cJLcZL5n^`41n45qPf7== zn|odew$Fsap@_fuvRmc{;^gptAL;%)Qo!2x4f(mT z#&y@_Z8yBt8fYlc3+}7oyK?KG-qfD{J0xgp1?v@}EhkzpGob8UOq`CB7>wABO4Q&wshu zx`50r*7ow;Dj-f3NN;an+}Rq1V2jywu6UC+>+<3B$9DIEGXzbFm zvaeBzB~at{S?RmiBYXHft^tM?M&(49#lJspw)_q3WEc)xFEIqJ-vS+Z1B%~mu~YqyO4=8v>QBSLo? z&|0vgv&)vAybvO34B1U#p-kHL2NaldyYyX0GpC~iA|I{A&GGt25J1fAJ*knNWBg&X z2aUC{>#XXv5Mbs{)MMj&Ibg3=gbV*soO$Yc)<4J|sJM3vDE=rDl)Nr?gGMSxX|(e-*A1mtLs8N6-Q z%+7C@$jjEPr;1OQzWCeO_n){Z18GSsQX%G(hl7CxzXlR%{63kwWclkHi0X?fGLSA# z_p#in^7_sw(`8v%SOSVI0kI;0yp@%f8XDMVyhHavDxtwLWvwHK{{dZ9XRfq1wwwN7 z=wZlQLXDwn@to6cveOJ%y2#g@hhf((oJKBmK-T+XqSh~wWJM9ILtd>tzh6M^*4{~M zQK?QBng82TTPlM(UJ@BG%z*Q@Ui0*?4QFb2>I-C_h74t*k(XD71-mq7rr!J=WiBZ_ zmKh4SaQIeVt*{30mQxh@RN{~MvfbRbYKgNAHi)v*eq$43fTf*be>*NadR}2;N+~S( zV#7(-{UURf*E-s3b;P_uw+cH&f%*-RP;d(A@#%KEmn1Nr?h`z_oxRrLNiAnv7F%u1 zmM@-8Z`D$UibG3YWX9C#`+161zb6cJd@)!qJpJRIPDFr~HybCIR? zkhN>m;C>0ouBcs+_J{Q?nDe+mjt~l2lhTnvQ$o+51fco12>hcwSUws*kmsqm|W%m{O8PHZKrX z3=t%hFtVS&=15Tp;fN5QTal-Wl7(clTE>i^)T&&@W#Mg@hFrHQSalOE%AJm86#&8=XfhoP1{#BP9q){v2T6qbOWsg7*1 z{8!OzqPBBP%v=Q{XzP_7xZCgJChDu*vUbwpg*p?k84(SzDbeL_6Z?bS_OFQ}Nsli} zcVZhk&b4(E%sZjQlpNYO*f}^DTtS`i!r^iHCpX8mcx4)P<&Rj(&W}=1M9uAvtOmY2&t<9wg@d3z527mnEf+tbX5V5SEu5V zp_jq6_UEGZB_*{TQcO0|$}fP~9hfI_j!5Ny=YTYo!#^^^_C1Oh4!k7`v8mEvWbtyr z=PXYm9Uk|@SuYj;`$nRUAiDc^92i;Cy59-Cp|K$lcX~+(d!4kPo6NrDze(Y^4J*-e zCj+2{{{&X9v>C-1qO$aubo1TgaX-;ZVs2>)c8_HQ7}O98lK@!)Dr^YQ+rmYL7eNp} zV!+V??hH=S$26s)5f6Aa?VTpaZv9}Il5Ee`$F{O{#STNev<*~^5qE{c5mxt~?x-UD zqq3``Hm0G_gnq`o=cUz);+tLO&>U(4P3-9_tL4fE_GAyA4epyawrWS8{zP&zO&w3+ zYy{?f-_lK45}C&=RD=DDz-%j( z6owP4tSusqgo9-6h=b%izfN?SBf^bW&G=YBuSqt3!j#H?NgC?s2NN7-^PEjjivw%6 zfhEOFXi`yI{2)ElB9PQHJUk z_yJQqb7^S0hp7-0?7L-vUTJyNEF_FWX0Bu=vUmyIe)M>L^hJu#$ruRleSs&^?YZvt zO!7pn#by_$Y)xk;&)yYklW8OVvv+j&;_-5DQDyTDiX!t#t5^9d_fuvZK&FJ%M1_LNRfog6PjYk;dvuXR!f%uQXtzMpTjbKPES;6$72bOs%5 z>QAo9os&slu^X(DS->~GDjn-+5AgY!L{SU5x*a9ez@<*EvwIp z&`1tPr9wsFJlARFR3fWL!pN@b4ZMym#>Z!j|A{D|!A&4~pw~-JyEY;Y4-NT(308%x9k}^@T`shg zY-BoI3xbrCoRN`%l(%n9$_Pb8M`x{?uDRE+$G8p|3rhmXCv9)ZP>Jw9p#|PhVAlhU zOom{%M#ha)BBLrZ>aUw;DJv8jR`ysFDf353S%~Q=)E-*)U6Cg=hk~Wob3#$~dp~4h zANnHx?u+-F|7LMJoy-<}_Z(pppChkHf%+9Z2T797iz`)FSsxpg0ILY-?*jVL@6Gj+xl4; zh(PR^jnAE9+qVGXwMUKm;(O{aI=tuEs;OI=|JMR^7>{P`Iie^aljU9s^aLq%&0l(! zjYN#+u;yr~Q2k0zk?n9`EBNB1tYb9|8I+*lu5rE9=?xsFF*uNfqBV|} z*gJ^kEF~3AMn-1RQ}i2-B&E^P&a-^V-$1&R`1Hn@=3sEcSeI*tXelG75SUl7H~bJy zC6}>$C3Vzzz~}i?pw`mK5VLckj<(fiN>9NyMP&#N=ck8_Pt7;Fdw{3e-1 zYJ1g^Cte+%F%|AVdQI%=&^GEQ2IJMk?L?o`eoLld*jv~;5e?1b*#GKuy4|s(7_nKR zfS9Xcp(*AY0?_kZTj=$Rf8r2Fh|j_!6l(dB^X`&;uLJy58O1vfUNh`f8ystx!%vl*vKfl(n7Z~-@F<7LD2r@kL-G?0;4`O4|ll~acKx^A_TbHbz zyWp-^7zJkC$y>Q=EM;8YZbzdCcLaZQ<8>kZOu8MiYa9C6dxCiT$oMmb%Z7JBHF4kj0PhA3$LUK`l57{jgM^043Jx^|;w~CN>M|j;s+?o6cVggA}rVR5fE~ z4k{G4M)36S)oIJg(oC93J2E1z^QM|KGGbP(jdg1z)tk<|5O|G|lt>9#+RAA!iiz=~%3%}C-D$Cuzds%KUS18rMSA|mc zG%=y5>3kw>e5h((Jd(xlUC^K>rl5)cA&CtEmJqWht<~WJ?u|rf>Hbk^ipMp9H+i6P z%Ysb~h+5(ejbwEB?W?~3-Ac7FQ#ldn*nI5!dhgMZz#>Mk(?FB3sCVU}q@{<2!M&ca zm>r)YtJ#8mgVGaDs5j@9C~Vjxfs3%u=TkUvax}vpv4r=#smY9wQJ0tr80rQ@wYur2 zX%@=AzWV{j8-NdPY5a2evo70X#uO3vkW(Kk0+I+bFFqJ8>e@)GpZ*QyDk{Fm(%jP( zWbHnyS8kcZB~7zZ#+Tyq1{PLLQ3?M|El8uCE)b8I9}H`N4-V%@uJ)RVgWd z$EkIt;|>`bJDP~?+0v?lfs4uItD z`N_$Ka0754uvGruqifA;g-{GDyjuJ`!431`{^pJE(^lhzi;68qr#fdUEk92bdY{pt zIlWmxQ{LA16~6eJh;r*izLKtDg2eO{_}lUYV#n-ww>sf|_JhuH*DJ9$l^N}LTDW?Gy*5cBM#aKoQc!)1j%=<-_H;cjXn%BQ}ZB#`|4E0iZ_R@QOyJnaq6c*uq%s@RzZ^aRaz_uhwW3N zn4sWd`fSkZw+TyZY)u8*t>mBD{)<}k=qEwqJIhze1}C2lP84mrSRFPn@M+h(UfZuD zYdso*b6~&N+p2g{*@@XJwyp{14KwXe$$ooj<qsN*47A=adCvper zVLoA(qbeH_=A^n2YN`;D)J^~+UTC;$5- zlz`xTSN6cwRYx>jR3&x@qfKH$0xFzk=gKl8Xgc2T=oHd9jn5WU+~oPckpPp>V~aPlYeeGz$J|@~RUK^Y z!*n-DcW+Qy=@6xnMmnUsrBk}QJ2s$zlyq&nOF%$U8tIb8-+0cs-#vf8^Ma2X*jv7{ z*330))~t11JJ~TP#EK)kqa<-=W^tX*%xksFtx_J2HW4dtA6V~k((|VpD=&#Uy+-G- zCMF$NSpQH7Md5izVg}P47NQ%|M&J^@Kz?7$+jL2ci_Vw$p}dzaiz~{QkpZF$dy9&e z4+$#h+YAq5j?D^V&KW0P4V1tnN4r<`Eo>$U5XMLOL`&?e{pM3Y{kMp~+KuQ+LD3*I z&1(KkMSRZpHx@jZAOOI})gqagE7sFkiNfo_5<$h1c3k&rOL4KRCjS`L-UX_+lt%+{ z$Z(|@KL&ZO`u;UtHK=Qy^99k&wk_wc0qabSADS+6)p`UoJ2}F!pK>av7`ju?i-#sB zV2gVjn7rZ6^Dk#I`HCJ<^_*RvTQJOzk@dfHl~y%e8M**GK0O;R#$J#~UKX)Hw^qeP zq}-+1TuW0`c4@-;_gDtM_qFtH=s|OFM-{e@E6QBvHPyA7HdzC_?XexdF2{=FF>(qA z#}pDSkO#ii-y&s0pPf@TGK%jvDXgh+g3Zt4OI8*Jf7vaR|HA9j&Dbxu&=nvKcobyO zeR7;1%%_#ozOE>8eQ{}CG&AXLx7PQ5!m@LI|LOJcgkLy>`bTTR(&1-QuY*VE!Whce zeBKz&adJtUPoWZcVxm)HqZDk5HGW3n)OlR{pNBQ(8$D|e$jOIC3P})t}9_`BMpG2LTX+Qoa>Wdyytim)Ax-*mdMfz&hW)e*q z&BS6o!OJT{jg@|;Ksk9qbu?%E)`Pn&!^Zt@UVhoQ9tHhZ#PQJ4oBR@;dK+G+=>ndAp>tjW?(9}^ zydyg%{*~@{N0D@zHBSdKyW2FL5i??8oRkA({0f_e%Ufy!!ox8UOUnAPG$##LgceF@&fS1;MGd{HMRpKQ8n6aHT7M zB&4yVPIx`6s!wxg&5%M_xtASM0f)#pDlmc|C~`X4bmMy+G(<_azU(^SI^NS#!X#|v zV*A{%GY?nGuH;K;9BQWz#TyJ4?&3uAawgH~;d+m8leclf%+>i&VG2)=QRl`Zk-)NK zPx9c`Dtsk@VE0m_6#Y~gqtSUiI#^!iu@TY4`{B|lOVsdr+G#6AjBEy+#V7nTyvKQ? z>+gLtV+Ba!$Pnoy!baOB6H{R2>z zbaQhvw0Zo*Gp~g_;c(gc9_6y*hSyPR1=A{PtKqwG3dTGyR807A=cKw*@tpzUJJrXm zfjG*MSS|e!saHj}!4Dh#A1j~SeA+JF&;LkdV9VsD7u4`%t6rg$vdiEtgbTbETUoPN z-nZF#gdTVX>l_AhnzI8ZJ8(6!Vlgs(R81`d?qtBvS%*vA)%P9xtx ze3y{oinjU8!sh$o=`aFDCThYpZ{$z?=7Lwy>04S8NwwLP<&s|ikZ+v{Hp#Lt4uqLM zC@?>GP~W$?KJk8Sp*JsBM))C^l$oD5c9b)#|7PPCV_y?Tlhf!N$!0|SyeJ<^M?o2U zfYsy6bw?I9x7Vgpra-Ds`#q(cGfK!_`S%(Q!*3GNR_K_d>HHC+?AG5IR}1hLcZ5(r zWt^Gfi&5Uxkosz$ei$G*Z{Ewx$a8NFmr~Gf{&qz8>}xk+=k23ELJ%C#3mX_1aJN4E z(vNb{0;Hf?s_z&w%;&NU(TV`ppd$uxPcnix3c^YWQj|YFF_09)|Pq#n9t3+l# zP`={rO-8g^`xyAw&b7|s!2fq{t`>niMCbghl^->d1yZ9h2(F#X4FYS3xqdct)= zkYY|hplgQi%bgJrbAU?%dgB;r(-QgGlq6%W1^I74j935b#9x}8CFKu=01<_VI9F8B zTZH$MUk`w~F}UiKa~8=6gmuuWnDTvQ`k|Bf#^ak9Y!Fq?Qa7 z8Q{NSTGeCBm#jG6LW_8czUoeI>iU6am!J9LC0X#$>O437pZ=^eKh=AC2!FT>y{&Jt zd9v#{L1ln1HS;D-Tsq_LM@bLgC3ZBw?snnmGG?CRdAWfs;0>^Sl0#wL-5@5F=9H<<^B$73o{X~(=#d$Dm+fzT z^n052x=?>r71cOd>lp}SS;5by=GU^)doo`h(3%#+rP+Vhy^Jb-q;EDGRgJA0?B%R5 z#E~~Kp4&lezaIYWeovyg)L{uXdkIQESsYuidKBlrV!qhZ%pryqS#k`SNNDke3+3#w0X!GY!Au;id zEp4u3-1qjSbrbyze-|f=R+qZ}9hXEbxr!;sYnG0%$ob0WLnrp>p${#18*0W_-kYmU z$`=~^#g-pd2)>lnqc31B12SN?5Kn?;H8f|m3`|8tj6nV=cGmnWP~u-#RumbG^~S_( z|4(XSp0ZSxgLidissI-a35vMewKbEoOS0O@BzJtiYRnv!ZRg+oEMHt)B28 z%TPS_sW*cGY*4$u4F&OMXNIxGU(?cOW73(&VG4hB##k!EZC}pQBE5!uj&_;M8fW$e zWsje6sN4Oh`He(=ReCYt5PeTROpN*b&L^(c#fPlkg?#ZSwm1A4-mI_zsCrmy{s%+j zd7p}xN87vM>ynPB@_1jq3|;&T;cF9J?y&VRTi(SzJ-!QWZ+oIG#++%{-1s$SZ`1S3 ziOchJJ?}QO4WF*hF%TanzdkA%v8Xok*Mq#w8{1R#cP&i@)^kizLnQr}&S#CZSG-f|~<_c6mHQ}5cEXeE2lp?aGzi)mvyL3`|ZuKcbMQX*E zwX0l?d{G_MxJMRFp+c9_JL;RJRfehl0h6~a>mhQYT9_e?Xd~01SEMxBw0ug4`e)(R z+;^Y0HTIJcWaRgYKAyqECiRy5njcoaS(oRs&oZ8-@qb8L3@4bSW1)Y+GO=XX8| z{|@L{`h3yM0q8i%*_h!`@4JVl7wnxWJ#VQEZ?{~ZZqC^nX>6=#!v{x>?aR!ef4COOMJoni2L^} zOQ?=VZTfFTVTVWQV+Qru0UZvfb5HO)&&b~B!tBPRp2as)8`k?VPLzr=CeSJ;Rl~Gn zXoYPofq-QMheJ>F+d%$Ry@58GrqyWTPdF6DI3wfhYu5%!a*6U6V%evtpG2;^iI08$ z5VG0mowV3Q>RU1H3b z0?^3_uB@z7nsC{13x?f_IlXAzwIDzJl5(zG=A8H37;dNV|3Sbl ziq7?2r-E#U#7%yg$w!VWl}n>Kcdh))g!rYfHu2d(Q=Qupb6k_0OU8SitfRK;nb~D$ z2`8C_&B`ireZzqM(C0ZMKgwCohrZF&7bFHod%lq!TaVS*UU5oOxvVO_N!`1bueqd_ zU%!O=yG%)Y*m8F3_wajqSJ1PhNMSNpBc+%3?+Fh`-VaVmN*N6l-`*Yw=buOKrmN2{ z+{Md&FeIMWccI>l4o@<%+1a4itN1-c<=k8sbf5Q_L6YvPM7wb3>i4S;;kea|@l742 znWbfNUf$}kj#B=y)f{aIDJBu3Ff`>TTH@moWjx$`VR|N-EAA<)x8fSk^+fYVVdav>NRlQ6h^^5~qfmHlJn7E<#F>ujPWg!U&nRYTHPO;AW-k{V$g$yAKx7veRsu75p!P^ut_j0*=j(C6bmNI@sbqI}EG(Eo~n=nCP0_ zfog3Jt~ZQKp3Yhwg? zf`GxhO5LtZ@HDEbD^tf_7Rl%Vtb12x{|@NPu~frTuUk|%BnYrZI3kcE(PZhmjt?bACPItQ21sL4v9fI#gT1AGKGgg(seUiQc14)dS*Zi6NJ^SsMk+|7(7-H4H zJ88s8|6LJz3_^TK6#%6#kP#;(*0qDkU?Rpi-bYzb*uC1wGfO*d{_p9?6JHPwariRy zBFQ04ZP!%BS6K~}%iiS%v87+}9GiY!-!q&AHwv(eKm8a7`JersdM0lLvRKAx*{pJw ziK*5{$!4C0;&0l%cije&iav!VLx`fFo_{t0kswXva~*HI%*jyy5o z&GhN=rT)`=Y>!+`s$IhT^X6!tb3MJ zM=vr6lL&2wS)8q{t&H7K$=v=*j@IdX7m#mZS%N>5IRM|4?7PX0Ln9W0_o=5x66huf zi5gWVsCiE#kE_wW6>6PoK^1j{6c1wmmZ=ooGdJppG%hbv(8l6_`4ZeEv#sj2W%p`M zsEaxJyQ3rz#+p5p|H7h5>D_onG0jI)EQ4hs`}!EYvqUcDMy?>!EI3&sIovaQ)me{( zovf-a`n;LdB$7bDpagpLNn(U{JN2c=!x%ed{BL7n%il;2E#C0=xHQ`y%I!lRcb{F9 zIdU>G2zFi&vJ=@4$+^D0)428ZPxCW;jjRKL=KOzo_W&{7{+8XCP0Wj3ry;6>q3NO7 z55u{6j=#%A(!|c6r8$TV;pW{0Dp;l)^GS#f&!Q&DLUDi)A9?n50;!|I`&Vh!hhMm*BgtuJ357j<`8flcgK+t2x_8B2I=;)9 z>v^HYX_b6dQtgGgqja!NM(`Ss!ti^Q;W?Fml09?fdr$yJRWB$PNg`EUgrr0wuv&ih zBt}SEUio!fIlw3M=iPv8AzM)13$B1;J}i3JcE9wo*JGPmDeH$~0ban)L6WvrWG&`@ zJ0%mC*V*dQ`~HV-WA258;>J1Vq`7i&{{A9$n7PMsP^K17#+9-^RUl$`d`+8J+$K*f zd1epdq&>9pYu*wE=>)bbAAw!#)c)~tXKoF==dzO@nOQMBSPH&$W-5>RYM@dE8qYtyc{ux=zBE_o%-H98 zmIK*}#Nc2ZMnt)a>WB)8?l;*ny7mvs7wZVY6`wP;K?tIysahU7ztU^A`azV%ku&^b zgqZ`<=uRF%`6Mm+ttPNARHfCHlk;o!=6a$joXFFvQmG>OBx!wkhtIVMPbTRrJ5mc* z#U?GwLQ9?w))1#cR0_@{wPTU985HXAEVGplG=o_&H|E;<-#o1)PR!FRtqbf}CS*%V+vwpM3)ByfC-5;y zExOxTFnG(wP~&%C^ph1MDN%p{_{0k?8kiP{Wk}rg`rcR}cX>U8;_zaTXJ?Vwvs;d^ zGT9N;n!2ds&^$a@q}dDhDd!pX{8Z~W%__aUIT@_bdE9^H&}k#aA(%8RhpkBMaxSqo z%@EF8?9T6HeMVVjz0sqyyRJ+*(kKyV=bWRc)BDw+jTKzH=)|)_w#kjLo$~SM3AN!w zm_mlq)o@~mrS8!_ex)4Rl_2sa|E1KIO+w7hiJ7s zq6^>naT5wida$R$)lb)#OT*~}S(>(kJmWZA+nooPo&Vi)r3TkEzes z3@4n+!kP5gwd*go7B9d7qJ)X1&VJti+?6L&z(QbCCbqyzw%I)VEiHHPFFcMYo+_+y zB^Ygw-aD2Gonn(Y z_YT|?Et^rpaG;~L@o+&whbx_7g0?3~8OYkY`-~yPk4_8w2OvG@%X@8PVLnEDHx-kw zKz0Za@Ru&I>~9#N2%ZeB_a(_sJ%&y|oy$k0_ElLN;;W0*8%=%BxR~QB-1B?B28nx zYNVX+9}lW?q4wQ?zK0IJcI-H<&$c+dsMas2Ln7*k>ZWbp?{U`Wu@?~cJZCU8&>b1q zGI;AI`V&xTlkneXWS=mJKW;VvX_rP|BwZ#N z;OFwv7K%fn@YbO_AbXI;kovn-Ng(hfkx&)>TX4Y&D#vU>E78~zR4ZuVqDFXo7%{Lr z`0nPx|CPf^zdC2c1!3V_94!>He6ZMWPTKiphs{7ytV!%u`!(g?R7N z(9S}ic0*!Lqj<|>KAsVSF&Z+D?>0jPn7I@?%8?EGSd7ky>)79X_ov$(;!>%MZ7g^d z8mY~1cLx`|n}aN_KR=Ez7bkA@Aw9PsWC*{;V_^BeS^#Vlkf6nSF*IN?B}?!!Mv(+- zWK{YZCv%zt%1&g-Zy5{wZ0}a@nU7Bc(LUoDGaL;0gtTGr{rT==c>Cd3-g>ATXT11d zi#A0_U{aB<*ljO1BNOZV*CNNHJTufo{e1XQewq!u+xFWh7cuR|I1q8W9FUNF$DAY=9zq6ju!@G}q|P@DDSZ^b1ekUOl$_KoYa z$Wqc@>v(-Ep~>y0WgQyd`iWdmrk9~)_$l8_Rblvs+deOMW=IY|F;#J!%BgcS$MLZ2HV#}@XoD@e|%;6zfv6o zv0e7;m-<;-TJfTTg~h2=af_Q9H&56XH@7cpC#h9gy%E#(HlG5XZzj&qH;fRpKZcEF zzBEVpM61q|MVjehlL?AY&DBP{%4|W`h5owy`rp9pKy0-Uu{oy;jd}7=$>~S8k5&80 z)Hz&|5w3yUY9qpJ2RVO#9-1z#GJvqO;)n+-9m~2^SUq9#Gz)J)W$2uiY+Qdj=xEp% zOA@nf+Z7Q0;+~D{6>EBC@*q5*uzNg1YSiL))v1LlK(<$cQe0B;OoZ{^a$tGXEj5yb zqzRYSL5L4TH(oNRA$UeIliv!;%WdIdlaAj#_x9%(T3rL$O!@Vl;n&&(;)jbdmDhAb zi)gr8Si`ZE{bOa;^p(?k<)`3YtQ0f7bU>^==HjC7%-d)9iMr>(54fU&`eBNfpE$G- zwfY}=FhWfvzFUIh89f9eV{IrW0JSY`LlfaT$4pIMSH7YCjAISavMO-`cb&#Nh8bQf%ah+M+Pg`VH&BR3)Htxr!fueSW{ zC%lacwULVuJOvZK*P)W!PW$x;s2%%;_w7eBThM3FqyE_8A>OVV;`x{+6RqyPsCr7! zXRys=eaKm{5!Cd@rJ(W?qWQDFrOjsRL(0k@89vU>B_lZDp^_19v^)FJl4yvhB*qBq z$eqm4Wr~9XHlnBnQ-RwQLsP~ne@>vz<-8|w^4vNXV$MU}{1>#1RT1!GNU?_zn>IB}Gx1;lv`Rw7Y}{Ht|YNWhxG zF1b#^#EojG-9jA+9TG^c2ecljIdqgaw{aAzV6jrS*uww2^X@F3%Sm1eS)slsf1x(Q zABxuoPK?=VBjem%tYZkPxCR0CthKMfC*bZXVf#v0DBUNWBFQx3juyY#_Z27IcmwVt zR$nO;?#+y4sto0zi;}o;hBQ+&!)v2HNT8j8yb3ONryczi-jx7t2$vk>(bDC6R20Ut z!*!-ksY;Idg54_@msU>VKb3d_a2N6zw~$C8rdO&W8j%#CMYt}ATzc~RB$63G?X?m) zjxge@os|{4gA$9WdZEgt7=R=A<|0Pq4)S)%!oA>#n&t$xyAZt2WYIzjZDf6%cD9fV z96MX#UmCoxf*c-+zo@V(#n;QPvl2y#jmy*Z9l$Uy7cw+OoyMC2qeJj2rlaBfpr~Iz ztFU^*F*y-oNE!V~-|Mj;I>m)-2blW3hM40uGyIrW1$K@n5Wom6sy;P>Y(J;n>5&E& z@=bw(-}r^<()EeLIB3ymq58|<>WV1pDeAv(RzXY&aeyP};7^q-RLS9y9N}O>zO)X( z3lBu>ut!Zm)VOTKFOv=UMs`=W@;Gg=*ShkiB*jugKn5)_`l(+*9x^(yrC(bRU-=U8 z(QkHsFW&uHCc7|uJ`0}C=?+6OB35n0UlYAS{3q7q%<+>IZ{Ml|U7ywZB$(Hsc)~%t zv^32I^0%)mzb+Z6o)qUn#ec5Q*oPfAwQ*h-sj(7SqIMzrleQYsL37Y^;#Vo;3xT;X z|6>P7({wcltQAK%w2zmsuJh!;(7V9#;QCy{k-~}m5y`*O?u|2^i>d+vWG(*lKUC=Z76En+ryY^Mg0ZR`%qOyIpq)}Ufw_h)o{ckvUGjx2{*OC!0B_psUBbMHn?n_4W7q(QR(H;5??@al& z;hBJLuGfx>zF*ui=^UO(RuW3u5lKEcir3v2PUSQJJoOnpjjZINoQF3~7 z!tqcx^~kr*)hg^~Xmu#J&bBVHUNx2RY-KJFK?Gx&ocu4hxBlz=8bO<LwStJ+NQa2WXjG#pjiIYEa;n!p z+YQv^O;61eIZ-RB7jwFVKH2wULaqpHK4w*sx1959juHs#5qFb|xRg+HpA-3YXIdOt z^jMv#id<&6eE7w}GxR-dLJ#QGc6{V%Q)*2Q8)a!toqoYT*aFUnl)BBf3OC*5`^IC>`}!A zFhYG_@wLmLadWx_(A7xp>Ch?!S_1Bs7@>Z)^`yNPzkUnIHuz(%(3FcQk}(>22>*51 zc$taEP^Xt(a-4CVcp-@b+)}4ZhY^n z8LA5QGOKA0-FMCGH#C8#u21mo&!N8Jmtlvh*~)VOVmt!%rV#g^z)(7?m#D}CC`oZi zgS1LgaIeBvau?cF)8GWN-@Abyso0B0saM0ghKfbxc|K-b@~rhfY&ClLZrBVza)x+2dSF> zAH1=2^;Ll|DW6pWrI4GIV>ZC~x#xO~hczj6HBCnmOg2>@*319;^(CU@Iu?~s3REHe zPa_#dzYbuTmT+9cvz^ri$8<3R1KU~Rf4juLfys;^#o?J`;h9+P`A6cJ0A%}&w}D9a z_Py1EJ6)eNT_4zR%nNJX==wIM9<)O6{%9|jgAW4h7!wc%F@)UEonqmUkb5IFE65At zdJ^6w;?YwyQwWe`;66yBeLy}&G)z*PKzRkf77-fzKNE7)p06JwevR|??MQKP-Rnd@ zg;NjGRFkhxse@m@j6t=4KMCLAK;Vc;{J&4Ia^nkt00Pcvb`t}Ru1|4&3Dzs|Z{PnW zP5XJ=(^K)^U@-dOq-T6t^4%~lwTV;lHiXtKVNkV^O-VGC^@ywuxZgpi&B8X7#TR~5 zH$oDss;XEov{+G4x{bM9Fp&_bo(`?XOllL-)906V*nwrFY4Q3N522+Ka@Gcvkzp1) zv7`Hq7uOM>UvD{vT7g$tUWbC*5cfeB4IfoINEPO8{LBgc6xW!prl{Ce9+HochmgVV zm=^i3u=% z$2R;R#>5?m4(Txvm-e8EU{Ip05=p{6PgYyy4Dlo~fRP5~%RxjXBaGlD(disezXVa3 z+80Ys&nK!CS(7_7wavYFt{Z|!iWT;LqtEVD69wj)<2|ph5n2!)0)z=rL{N(Ri<}Ew zE^2})Ftf8>>+OHq7v5fLVrf;9724M1da&$!Uf(+DgUC$;>>doeoa&ub+7ZDPS+S@j z(8gnL>zSRMJ)OyaO6hvKsy>Qa@!HK@_E_^XGdJ)5i4|Hzr6v!G*FhJ~&dyFm20BV` zAcqCu_yHp9AS44Xh@+uPND-yhDXFQy+}q^j z9)D{++)f4@OJP2XTA11TadXu5{w!SU$NCjA{id@8!{XWN^ZM_tk6DOCNoV^`Cmq)= zySX0jo`*n?aEC?w7JX9e-VRp}DnNlAow=92b`nn+59BW)5D2}+#>R#TvjFJy1=`@K zuwPD~UL3q)5f>L{o)@MNnAT0s&5iB-WxQBtK9(!o6#hb;)g(S8DLu_@7ggDRsP<>+ z`@yfmj(oWOo01qjrpXF!?=dLLW`@JCDLgkKS#Flro(2e&MPAe5t&gx*Zv~-J8*dFI z9xl`dgKqQh-&>6|*(MATf+U2wH!m8@Z~zesxMR?b%+&7h0mK|4)VS2~s7*`nfSy#J z0@BpNLd3KcAdc$Wy0b)_wjKYc+08pC@elRR|d--b5 zr*cha+NRx1n>c=@KEZX6xbO1L5(?94bAQ1g6ITLAQ`esUG}*1RJ_GFm*Ij@8^f^d? z05FigthbqC``Ww_wfahHdh+bncXn=WdTJ_g{vb9cdwj=T@11mU?NT)j779c65GXAL z;&$zZj_IG`peY%OmfJkjFGA+C!opCfy|(Z{uRvJ0vGMuVaH3$bOuWV17tIbUsN{5q z2Dn4rEK56`#BFLIS5~e&YpXUIO5at68Am)eUhA~DXliLCr>6ElJ>HWEyFY)GjU5wy>}}wD1l8YGN|6o0NReKb{_jk z99nk)%D%xt(^uKt+2h*J(=yP$)<>S|*1PU14aATI&)Faw|DOGvC@5WwpFI2)EXhpU zDF0Zki;FV;A7`VxT2qJiXNuYHP&$2%-2A;~o)c_ViCRqRK%97Zc>x`vUqH3u>I4vdOJ~unvRn*9yH^Ccla!6NQpDxp{W=dDT7BftR^X*mIb0dU@;_$JFJA3 zTI0h*t#!j)L-6ps2|!1WzP>&qZ3}2e0lK9GgoMN6<3~+-KrD>;6yk)xF2l)9H$AGf z41r<+<~mdkY^uL;DJ~s&CY~~`Z8MFhy1Z_CD)I^npeITDIq@s|pMB%}Ygperhf_d` z8SI=Pk8&N~78m(uT{ee3DpE_vN)2F4Q(#FO#(1=o!0+#jp`MIpT{O>ez{a;!9 z@7}!w;t_y{LC>B$)YKgG#=gpqy}9wMd~X}xJp{Tcz{%VrC7&6}0i#iOc_}WK_ zXCC5z#1!~xY+j1-h^NY&7!FD8VjVG!PN)SXCnUg9AnFU>tO=V|z1hK+ZN(-O3XP!> zPAg%YW0IT}1b5D0>i%oSXaiSWvPw#EeX}{}zl^tlH^996iB3LMUy+oY3_xrD`+GGm z(tnLZU`2x=A|oUB_4nsqdimvu!zm+(ql@N&I-V6HBz>$y1Y(6pWRd3~TLYYfd z2rS-JEyt|~&EV_jxYw^x5~1-rHP$;GC~Ca=c|#eRbk#e#v-kd9OJ2*){bq^-t5@=Q zsR*d+BwaVi;`fV_oiOT1&cJOAKGhh+(J>(A2u$q6P3Q%AGEOBvh0naX0mGKP1 z1h@?V4iAlQp1q9=-!zkm-~5NT+}vj=B5w?c)R0VT}Y@

z)WGoTq|l|Wo1$^bG2=b>nwA8obzKh^xB-h~z2#(FKlE8tM(wT>lMlIF43%I?mGJck zKD6WJ4NB^pbIR{YhaL9R1pzRhr7&KL|0SzB?88jp7@&Qib6ZbOK|R@U6g)`c?5qZG zrLr}kQ^EptF}mnkPAl0?V~Sj)F)@or?*GiKs3@{6Kn7v@$B_@{TDeGvMn@U`jbUP1 zGX!t6B;~@yV{B03f88}Oz!SU4gN^vwckueO8drQfeyu&D_Ki2QLqmn_xXwYh zDr>8xK!00fBXQSS{GuH*FK=>63elK_Yx*Q14jPW7U}%>%ARsw(7e)z&e>Y?0-~dQO z!PKy}wgy#5x$ab1611@CVj0ls0}v@WKR-bJ)%C}c6xW{XP&|bo;lMRax*a)4deL>= zJ<%2=?EJjCj!xv-2@4Rr9~)Byp~HVkd4Vzr7kMlr3k!Iz zm=yo)$$ok6NFG4}LIX!_#oO3c+yWxaU05Pp zv)K^Zpy zYPf$OEhi^9lU_QACmDm_A8$BnL7@`Y`Qu-(j^GbYr|l%~G+0qY%r&te)`#Og?R6mH zUH8P`Ps-t6#f)O9WF+@KBvtq<^{MZ?rOq)`8&MDoN_;^Nh|j#d1h==h4SpkjYz4v>n=UOi zx>bq4`vC?^*vxP zd>WQyjyn`z&5GO800~MGcr-fdBsKr);LVf%?_8nu??XbRU0r#BH0$#6@(jlBR5dUa zDe&b0@lO6^_~>@ee`0Yolwdx7e!z!CpGQIWHr-L8Y!Co``Ij&BcxVYpNs_+4A^>2M zKCMno6_J3do41D{j_)fPl~%RM(b0I3_4vBH06rBNxCqC4(vFt zDZUry4~>rnfT0vDV*nZX?q57)-a1zF_xE#yGEy9N7F2|wh;{U}-vH3VhU<=@>a8f752nM0S_z~O&>Nsy=4p1Nmnt|3F&)$)kopr`$*HhqcRjm1FcSD73nzJHk@ zlpX~<6tD}xEU?LiVUfAW2UJ2+tg@uvyg_{V@+IhQAL0(~4($C!D=3%=Lc)wjF%So) zq^Hj;ERb4nc?m7q{Nr3wFdKaib{D(dBY?z!WeuE3dc&{}CX9C9n!yJLx)l)J6ya?I zl%zCWrNCqKOZ;oKyBxoIcxW-_^YTq}E`IGa`EurFP0u1ZW$NVqdqXih!tPbV^^POV zM{Q(%IIlqE5@<-<*Z?upFOu?d07tLHk#TcVKE zSQg^tF;3lie}j5hZPl^a=JcEEUqlx}Is4btUTCuf)a44Yrwn*eI921Bpr7(Xwx2Te z%2aYtK;RC{vU%nyD=SOO&wpLQ&GpMreK4NJac++%X4;Ao>}}wbM;)y^%@+$ocMxia ztT?c6a-O7M;^d+K>eLopSp5YONO_IHY9qIz=7EyjDy*WOIVTUdh+=n#5*26oUJwzN zc?4obs#S%wD@p@wNmkT9h{-{ar6|1ql!s z6OckA0y9u?r)2Oq;a!RY?+WPe%FAUF-bf{&o=QlyU}caJ!K2F%ptZ;@99mfJ9v|=D zAAkL_b|C}AXeTenE)OThj+r0*J9ZjYUVa=u)VM0^9NcB^>rfkc?a>=pkJ8H}%bW}( zEcxD<+So)n3ABHvO;l53O9iwIvj>2s>nLlr>I)k>mX=l$rZOYBdX@do%>b}Ff-_oHso>yY$+T5XO^rl@?ve1_rNBlmjG{Ko;)(zC zf!9X}5hcgxVe7;{>u;yy53g#pZqCjd$U`@$So*KMV}8t>cXm5wzAsL(D>=eAueG-q z+uYwHqFl<=FPb?!C%Ux6%paJ0d$(GSy0N6nhXP@n23;vlO<v^Ta~29{8@tyD4dj9@3kJ=5n`c`(a@ae>=qr|h0#mT zUw!@fOse}onHu!)UZwe@Qftz%psxpetx6Shz*Xe2D5>)O_>%5XBks~D?3$(4Squ?B zI^Ek=e013B_4q>Y=HWQ#`Y?mec>N@SC&tH^F|k5Be6Kyjy!_B|X_c4qH{Wr#ecGiI zgn@pSA^SnPqf0HZ>EMiqu zRK&vwrNlSGENJ*tuJ*a$;I4HjVRYLi1{pC3W{pk_fo{e#K+Vj|wovgMPy5;JyZN2NlkJzfU;QRDk;+}*JHly6w??6Z|})IMQ*#4+HP_Xocu>Vf@-2v`#2MTs2ib zQK{^nJVvK_UJj~86fHIQ7dm6V@M<(#x)^*HM4we1H3jKo;I{#imScWb)gK`P`M^xxsM)Jop}oQd24)uj-FJxoZ_c zT7baW*Rw*M+$pa3K*-hARfFwW(KIViB%+9lkuHACmRh93N*e;(Je#uO%b_>w<)RGk zRQudl94{7?LeRA~IW&ak-xV+)rtTgWJ;fLMcz^9dc6=3$*CVGMlxnEJNHAe`CJ&Wt z(Pz$|6#mQ+KNvi?`FaM-*0|!cpZJ8vk>ub&Ivvd3HYsN5A)29x*TG96)Z{jZ>yNXG5Y}%z2>8AfBmQ*yBa_y`e-*g+e zej`E6+Gtd5uxh(vxO6fi!J)5_Z@UbF+Gh`DHC z^9LWrU`KngOGnHEkt$X1GqbY+Q7&KzKJ)aQkG=mg$98dX!I%9G*k*HcQ&{ZqyAsqo zD{SoqK;y0luuZG9q8rG8f|%1uK#`TmrLQ=beCb_D$|M5dIKjCQgqX{r;ln*SSJ;Q* zv7M@}OTyqBP@eEeZL3}2*sGq@B_jfQ2~=McFhkovs9f-`+p*+UCveVbLtbXs<4l`{ zgtQH{1w83wNN(?th$2gQZTwiY8*mRlGYeFACU4V1b2jiP9mCdsQ7{-N4puK&4X#Q_ z3cF;4;Q@{(0zDKYNCBcoE*-7by!kR`BiJJ?A33?}I)J@EUk1J%tzUc&LZ-+_bo#`h zugbFy4Z4iUa_6_cMxPswj)n6l)!9n=-cgAkkJ4~NUGRPyN-`@|(A@9Oe}(@*|r)S9TjjiY)& z@fdW=uwGb~JOrDr?=RdM0@3;vfLx403a2MML<#RS5!D-o;^cZANJr6*(Z`1j~|L@lTV~Viukr51bc6K;GyUi^k;`{THygXRq zblKx-&xzqdAP0E0K&}GttR1u_f2m{O^8Y8rq6GXL7DOKQx(ouzTBV8X$P&&N$^y)6!DMO{S<1)-A=o-;^U5T#G;8OL1zxIV#UlWVU{l4dQNaIB4XfUbe}1 z|2E*T*tj$UAJtEv8KYUj8A6MP2IRnUtR{ZuFL7b9rA8(H_{|~&B+xwcNS}1uAiq#y zBtZd*OIQ?g5F@6L8|-zUnGjtYG661l8-q7_PCr1PI3*!?*CumEb~^tZ+7b~v_R}fN zQ~34csK-?7ocM6TWdBL$Z{5|KI(Fx_Jkrf)?n&dvy15<$qx{-p#;`bJQk3ZEXd(<` zAft2t=jh;0#bAm4t2H@@b()r9CwGhASHKH!z#`w8D9ca+&`wKF|2$^{GU9;MOj$>J zF;^v1v2>Tubt!xB*yY^2!?WXG&R@$i(>iO`=H+gMK1X%MG(3Bcxewe&ca25f7BGIb z5d*?VaNX4u@4!1Qa-Pq>^d9X@zVc_Thv_?d{@SS6{P^uM(+l5qY?wj_ z-s{RUUfh{BF(+7{Xg42IfY0FL!+_CWmi?aJy_tBYUk>6=kBy%2r8m2IJ;QciJ&L7$ zTwO#_=0bE&@$Q&7JbXTGkvu)E3RoCh#T50bh`|yD<0+$%*PP=pq7cS@$;bDt%oH1h z7l6Ceq!!%XP`G=^L8uaIUaeTnW6aq!e5B_4Gr0qlgKvG~GIS358K5PLc0wklx>ah` z^ZYSWXmo(77|h~9cB>a^^15oh#*Y5^Y9ln@v<@FuE0lYeN&lp?4g@r-O|kcVqf_cQ zLYnbxC2BfOmO}72i6ng~6p%WKS7y1&Zz-IlZ~ox!c=g^pZu-P?c)SQ0kRtTmd%?ML z-iyd^GGopgRR06f5*A3sl0I77+#K=c3#EvsQ|_*Oi@t@wKefU9G~YNrf7l1$UrDsE z@NhC}YOy15!0??(XjHZt0Si`o{bD-XH$(0EKJL zb7uC6y|#gZ4r5m7f?Zv7LN!!t>%bp5Z$=-vZ)QPh9gse#tt^mGN;lhbCD_DHz(`CV%kF1k@q`Y|RPk z{2A1VvV4728BAmEjnsM;OqK5Hg-rN6<_o@XcPp-S79UsU(2ge)=T|M%sL5tLHZ0Uh z#J7!-+!#la`%sFpbk*S#Vk3j%zMMZl`j;FJ_y{TR<60IfypcB_ZBP5@a6Wyc1jCKVD|LIq z2q&0r$w>fG@}@00@kmI_KYhwO4$q&dTO|34P;xp9u0OxWTRZDf3nV0g=Z}#obuRg~ z-%|d~?tNaa$+N98l@bGcq(~jn;NRU56%$iVI7*kFr&*%Hh(m{ks2J(aisuUFFmKIO zxFVy11z0aIlRe0i3KOj}B%S4|z%JyVov#cP&8E_GFH z?XKsoyrLqAwQTlJvaUOVCungbaEvIjs{!?3?VeXw1hkXRUq1U2sh&-!8%mNY|EL~j zRbV-Klf*K%7ia{3DFq4xkCVM{WV}kXRUg+_oAsxmaFlFn}sd5Zcp{xxW1&lE&6 zOQ--0t*CB(8rHaS+P`xNKtyx!Xi>`XoHZ9X95c3mgTV3bt;%?BQ2&5)6+Fu_%@L~^ z5`26zEJU*4cUco092`61HlXOM(nbdSTtb|6ootnMo<6fjcy%4$z2Q~P$;}C^LWe6q zo`)(Yw4nLffI=kFEdFXYMzV00LxnX|`{bp!3Cmkv<4*fO7vWUq#U|yAC*)^do9M0f z(H<|WTu(hZ$7D=Nf^docY)!otfE@?L zsb)#v!NCFDc>tj=&WMvIhVo~Lzj%#&;FG+k*V?iRaC>9)a)$77uwWGZTjo0&A9I#E zJ~98Ok|Bp<*SZZHTQy|MmxQ=a>_ebH1V_Zbz41k#E}sICUj?i0p%Pb=_ltS13bcSz z=ALt^D}P&g%OFYQBvKD6tHR7-aP@?ah6YIa1}wN{i3A``tjgcGx+&juuQ#+AfzLI& zX`4{J{1!~VyHQ~Kfy%ng`ND!-kL1f?p1M}WscGv1Jj-mIP$cs+MJ;v_tpfVR_#QEs!+sfcJ z%O~x^RA9Az z$8q)#$uJ}cZx_GI-z#q(S%lSqq%$kCYv(cU)KMtc{#}mAmHE1AbAKSRju>d3(0KAC zoWs`~nwzlRYfN$@Ue({vL(!tMNwH>WcXucrYzAr?n()5n6;io;3^1KSNDTy`mK`fE z7r7kG*{^x&SE{O)X-0yxikFBQ3z1KSqU9ZLqAc*OrYrsen5NZ`rO&jAVQ#+Ze0;~N z&2XR+2rKq@YgH2#JeGB?B*Tp|L$tYPh{=7&DUwl5tzB^>xs1@Xc=8YQM5(TrsG;@i zhvOG~WWDDQcXh;JZ|t_A$7P4>sO>cz?{evW>-N;bJMLg3K7>RzKJ+Q=NoW~57ARe& z=K^3=bL$>4M$TJd_v$08Y4~KnS@a&i!%i9N7k!dvMmJqPt zh57VAu0FyShh0U(1?)E+XreIr348Tb2Wu_y%(P7r<|*QuZ?YXF}OWwczCi|V-w5K{`k*%}(-0_TG28fE~aie^vl?L(Egda#i;Q2MZ3BulDQ<%YTbL8*qNh<(24@BwK^rk1Q@*#1+ zE}mB?4{O{<;7dvMupH^{PO$D4PukA%dF8Y``?CPE+IGf!7*7UGlyRZXtdqZ>_&5l1 z5aOJ$*|?)R3t)uploGzu5PrFRr)4Ay291Ix5UQ@Q5sRMpo(;n8r{VRhyE^uW5sjg1f3^acma7z5gj8goZ zpH^Cv-=~czBNu!IlU)GU3+C}j1>zU%+R#uUQGL#$chMk?gD_Ds6)#1@(h!HH_c7O9 zjsKCCkPHU31%MD18tBg)o5=CwTK6}ouQXY$J1^yX#Y?-JmJr{3l*+KiWo%W{7;ylx z^1k8M(rDs~>w(m!FS4gJ{N=l(u8s4v;Z$Va{qL%AviSfU1NaS|35{ZUCo3{}?AI9y zn526!XJq%v3t&|~E?)-SG8{0)8k{>CFoNLmfQ#<@jw1M{K66cN?JPDQVptCV=r^2Y zHg&o&=g|q%_^wuI)JwMWR)iY|>GeB!t2(^4HEMl55jkLo9EsbWT#f8TtTycy(ldR~ z>XFmm#aChXd~~E=7h@q(gWpP0g1-X7)BTn3JbCQL-i)KJHI`LmfAQCj+CC;63GKo2uuyp-En) z>2$QU9Yf8In#ceAVFy$J7#Y;v{pE`6?8Y0ongAuS>E6Qk`gGNBBc)$5m+p$IZAwKD zjR6mnejwFmNRuibH?o($W1ZGNIf)i7o+CG#QXtc2Sg1@3+=lbmSIZ=<0wF?|`YH)- zZqfq(5CcOsS6InV1iHzG7?YeFV^(r@WI7#v(~l~9&P@QT-}|;RpJxee_H=@|*KaD% zc!Cbb0y(U=evBCXDHaX=u3lzo^sK?M<|zcNteYWUCaZv*vY2M8$Gr z);dDQ1rJs#$>e;!0m<&gGl=JRkKpBu(XOo$3UCMfeO)I{UIHnm=o6tMiKFiYE0=Kv z-9lRH)sE2~bXF5m%}%p0E5VkSL;Gi3k*i63!IqkM!<_z8cL!Q)+5EWp^6GPj`i&(; zkI7q1qeqwvGGqJ58#qBo%R1e0TdK<5aiI2raV}ue^l-#Y>Zigy_EhAEoNHIMvk+DMP^EW75C^$zB&FnvAow=uTFS4=^ z6JRU=tRd7vCusHZ03=Rl^MK6ehs_(+VId?P6kebE27!RVX)(HJ27lV+6hInEEpkIbMY{})=Y7L4SwhGNX$8$0|xkM)X zX}gsb{aOgQ05t(o5IA8x*47Mr5As*Qs0C6u`|h*`o=t>q-{wKW^#H=x+p%1OkqVz- z&VXl-@HyGu3vgXc4h_i&l6>3on>l3qSXlNCIm~sG=4<&WSg=(l#Q6#<0Y3j9 zHIlF9>5B6gI58KFsnFngV|u_#2|S;a7}=^tuGlC(ZH7P@1j@T}(#mSxr5*FH;*)=0djR?kKAag)B;znh_?JnYjW(n4gYu>XtHu!JRU5GBIhU zKYyL|bWbarVk(4xF?`kIO}pwa`GwWyO!wbhFGo^ zEU+y01%znFBS zcSmO2`XoVBII9qVZb@IlZ~}qnSvqUesuVTmf5k>tmd9^oI4DTKyJSd@E6z-i2x)I^ zAg!EJY2tZxVg`a&^65zstOXei;E%;~H9u#pk=TDk3IxUwE7{@l3NUm*ojx)1hO3?z zpb-Nu7Mo*bP+fKzPZp8Js>Y3(gKq%h9z31^EOd#m;OF<9;iii@1q%|tZ@hW1xSpr+ z&G-{F9VJvQyxY`WLqc=|OG*0P_sC`V4U;>m{ESK7>GxMRan}AJ!Fg0_TXU+HOfUDF zm4Q7bqAOUNoVHln3(e+bZ=51nySusK>urZ?>-w~D-s#kh%%)kVk}=Bh6CvH62bk#* zGWU@BhF{E-s#HDcdkOuFA@`=!co2(N@4k(T(=6^mfEkN+MlCHV`7tGNXU9TgDq zK#@N?WSRCmD)-X6%^;^=QDg~fuzvfWNcTPstR4A5y_)a7?+1egaB?XI^(am$;m(a^ zoQI(85SF#zpVm((LA|MT-s^};M0$m>`LogHyjSQv3RwsW`A=S6sisrT|Aq~vd#rmY zK3-2xt7@Sa3u&xy|2>|gs;h68oT)AUOYoBcdrnSyu}%mK-Y(f|0r!Gzemagbu)QrD zpVHIU=khj}12tlB&l#SK2o=tUy}>WtnAH*`V-?aNP3@(aW zZ@pl?&v2Swt1SE_VW&r631D{rybxV{*hG52KN^mfbin4rcq|HkXE&09{~hU6YpkI&OgiFH&_5>@>qTT$i4! zhrjBgjTQ0Sq$!&E`X?;kGDM)z#B?mm|{?t!$Dgr1k{TFd;GTL&G}}f1NOkezh>gMrc`nlm1<` z-7(V65aA?VwVm*nDMHc&BH8+)KkHxg&6duL&MZW-7v#k^pi~CEbZw$vkHL&$SbK;U zpHnt)okI#kIj*^ZX*siml`Er67We+DA+aN#mt07zm(e~Cr&_{c4ISG$o|%CXz2Mpa zAY(3^05JqqGzNFN0;-@BFTLOms9OX{2F~vUB>mmjem=K3@`A*Bj~Fwl5bj;|3i|)^ z0vsW((J8V1@PCnV=xioyMJ;)E&Z2awEd{BdJ@mvnzq@HsE&Tc{=Dj$hd91dUuV$I1j*d>YHY0g(=czk*bj|wFLL{gF^XisK=1u{{0u+=B3g||UK8v)@ zwK|mI8XABTj+P8EukjkjwYHdYGz^WUg^@^=sghsS=sCaIzUpKAT=3B7qhgW`@1zv@ z{0Ano<~g#sU{;$|atKqxxH@jkWnT#OA`hv6&vzZGBuDbyUgj*hFT}C%6=o;2HmZi+ z<^Si*5po-h-F*F};iq7dK5NO*MT&lXg=`Nodw2i$_SOMbcsW!5h4rFB;Qk7k7b!&v z_hEfXqI(M-sh<_2D>!cZql5R`2cyP62wLK{xJdh;Ao?%~Ko1++lm^mAftHn=e)j@W z0)p=2n}3XjDzx@ZOBJjFuo3X=1*#LUIzW`i2oF~KlrEb;$vO7$Qwyt)%_1!& z#c|djoLE*?;i^TuQ390`vNcPt!9&aV8r&KE$~KWtpmYUV#6R7$`!KIMOZenYRTe}! zW-I@*OBSgwyNmaqJ?XAUu7~@v0XADL<{lzN^?M?^=4hiDr(oW0%AbYszc6J7$N zDbPi$^|*M6ck>foX@eULWgmd^W1)Wey{rzT;rfoA){XYve{!He1U4JV1#fQ6S8a07 zJBRk9=P82Z{$l;g4QmOKm@|F;UE2b!s>*>KlTV+5Ejf?G*A!-4k(EzHO$45IFFgTY z9s~PE`|e12aQJEY?sg_Mt6?T1?HNAZi>#Lg0&K;WDwx5di;~U&FfH*LnknKv;+m4B z`%8=TxxN=}Q0x66cv-b|b#wHY0a^!s7n%&kk9eVKl(zpT)%pr&QOMeo0Wf}28zDyr z?$4OJ5nw6^7l#5nCbECL?)FF#Y*a9a{LU7;6fmOkGC+gWvXiNZ9LnU-0Ptz&Hd5$k zjc%F!vcletchSPJI=zNGmaG23FFaK-DZ38Ml?pCob>yO-@R-<`*wEORbY)Wr8ott4 ztDN`?)#)O6Y#5O{P6${4W`eusSH1Ck`cFzRn4(G}gWj2eMp%fM;5;JJB_gOPFN#=w z&vpO(H4oBzvN~_*tc7TU;}$9NegKpaHgQGu;iFE6RNe?O58;de3rfeStF+$>lF{a^ z$P3--*(8phu<${H_Tp_(l|;0GoE1_Qa99XudE`t-?yde zcFjqE5;v6RVykV$Swb7}QQIOi?NnG|F{fD7L4}EX^75ygTxQ{-m-OkI@7 z`Uj2TBY%@|tXJw9&59XQK0dw6zlv@--xs)h3Ec3yn!rSWP2V}sA~N&dz}qqov=DiQ zPb+|c`W*g)I;~!y=VJcCM*Hea7{V9P#@jyOc%2AF9p_9+P4WwCL1)lv zGgyD~)ZtFDiqZ<*7{>MBK$ltf+=}?eE&Rd=H~r$f1|;bQ{Zik{h}x@Z_68R zZHK#{dqO}+22-bN*K@-yCTqE!!}zRT3^_cl6ts?;(kafxSe0Y4iLL-uFOPof+_qCk zWzEl}Cs+K*EIlgfqcjRG69)N+_|FhMH9C!BP88O>>6mlvS8j!9C==aAWsoW%PX24# zV?JLhI;!)hdeK$JxyWdSM?lO@O$pQU#@}_Z)`Mk+46YA<#(CDF3W`b#3OW@cQ)o?_ zBu>1E$Jtq#^IO&6FP%2eJstz0Nkn{iKI`0~J~Xl9$0lQX7G3?Ju+Mx5FdC06Z-r>E zSx_sr0JfnmETokr5&+Iiw6$gbarj3hb}A+-K8qo}HiuD*uJePoRJQZ;Ov}V2|11^W zTDt>=Jc)Fyd`+klOQ}8zU1RpPja-i>R*VGP4JV>5;{SON1o|)#v)>Z& zz8B82@bbdXni#mg=8VYsXG;Wbz;vpG`XEwX$Id^Wiqy5WwSNM&vKerm9{z=txH)uAMF zJ{}j7WmU1vR^bq2Bv3i?{*>yldIfPO?1|MT)pd18%0C=gUgvksh(sW_S{r~n3m=Ig zY)vbgLn~mB)sFBA^W^sEh9kGx>dNv~aC0?(Cj8#5qBYz?_y&VI0ZYpOuV+7Xm+spP zVyI@xUf$*@=(;<%u(bRN%9i5d7%^W9uTEWlLULfVTCD6F(hTXi<<2-pAOj>nu!0QS z*Xfq=?^~tC_1PwpGGp;JYi}Ni#^y#!{N^wt`FoFtdrHb*wh;}Ughe?MFI@T#AgwCF z<@pZH82DDf#8UnY_vKDEgMGly13v+{ML)KG0-j!8$IbW2@Xk&8Kq^#aP6jqAmsWHB zV?)61y1FK4GuCHwSmsU{o0w#mw6(;K)4+p~x8=ur!XLDWWekVe-zUB^I}}Tv4{MZ+ z{P~MLM;##o(U72!(U?1j&R|y`lW`8(SQ>+Tpfav&MQTi5tT}~?hIZr~nTolrPA>)b znfTxjvUV<(hod#rtJ8BK@hW|thL~b{!M$xU!N)@>Ugs%T;th0KJ9HXI=xB1Xi0NVt zwCUYpH=h-3DAnNr*zcfZeEG-e*~;7#+}Q~Bgl zxQIjsjDLDUpazm6)Ct?7)y@MLn+l=!HOYEOp+zcj!4>K*6(ek{1n5$EYEbYw^^OA7 z>CiPzo3X#Q7X}DS4-Z~>3GxaGu_JrUIkey)2bv~*A|h~#0Mr@93vOEH(HrZ!wD^eX zz6tYw1@KQoLPD5U;Dt!OajYBXx+&28k|xD2bybu2%T~qT(wZZaLf%#X(`jbe>BC2l z*g2FCtlUyO6V`WR&QbJMtEM(IpXf{^`gJ&^0;6-eAyCwIw1v8o+g;Kt{2mp5CwZgZ z3i5J+p+@@s99iCM*_%hThCC=3D~M?EGp@V{hy> zWf{eQo-ogrOz(J=^+agYAGfB_THo7PtDl&TC~IdNH}Sbe1>Ik?vn~ zUXc(D(yP4N#}6OQ`GOPTzzqnF5a1OCr5^x0Kr#lzQK1WcqAX~)S!{411w4yEEO=4- zFD_V-kdT0_b3dFce(3v{IkCq_A40NV4%!;rwow?!0iOZD&Vf|XBFz$^o{~^?TDbtd zQJ7z*C@C;9$}{-rX04K+fBxd{_iXv>hgn33DC3e6RVxW<^Gp>p*gNXjWJQAMzEU=s zR0uK^(~jy|dp$KocJtue{C5ojJBBY;ghqL)1{?OIC}E9%BS!xHNg=9P>B^t;XRZd2 zc2%^{yjh1mjBdD6trPj@bhiQ$F$yYEX=b3oesZ8l4?X(}d; z!+Rc&Wc8hI_!6(XtcEW#Lydo8SIjd%y*njKte;#$)Efj9+mn9>g{EzMM;$pZj#!+4 zw;K@t^~%4qmx%5%2AyB!lfw2RDX-e(5WKVLzXauyF{ed2TC#)XhYzD6M-CA>&gsrz zz7hB!5`azdmp*EoI^lB4v0d)dJXJ~|LNzcj=ZA>2ehE}12-ePu<$<< zGs>6M(ac>s995vk+Dx(Cw_|*{J4U~4dHfZ zKA-YaG_aDEEuWFUh|!=pZw${WwX>65`)LOCm8wYIqwUpEa2RF6k6O#XpH8@9?PSru zC2zd886G3fIVFz7wlJ&IjZ-&Jd>}do306jb7a98xqG`(7Q+4@#kH|>(vUax~71`+Zc)a7LV4b66Os4APbKpywDE-O;S5L za8}scrCHVRS#6rt^L_!5csM1<2}Bo5@d<7*5EKqS@coU{OnU@K2EbrwIzL+BZ;G zpCt9wh1lCLT%RIU>odoXnP=R%7R4o-RGSAQYOYButK*^LhpuTr875Rr_Kl9uHb6$jb&N&s&-(kqL#{-W?Pq$2Bkszt^055DV%n$l$) zd+aXNEQzUP%l}Cm^vNtC2bo;uV%k_=1_KwiTX>F+lR5cOiz{Pmbq1ZMEqLr#b+wg; z8cXS~F-q(waq(C>GX%^K*pCUwPOg||O|R%AeExA+kC(?)e{AP5C%Gm(5x)`r*lN-; z7^ezDHI8O~ah^@VBS+Z<`UNmac-85=z*8ufq#V=Ho21#aZuP zKo=H9g3bzCI?no_;^N>Q6JU7);T@;H?AHQ(BrI*^)tt$7w%b$dQ}|+csy@Y**@ugE zK72IE^kp57J;X~^9N=Rm=*_1mKDK??Y~)7Vb8l&hNCZ6}`Km+s-)hvZITW5yI!6L| zFAz4-E<%ZgA|VC7oGLN~{|8Wgg@LvYig@6{#R!K1I4UMN8tkjv#g7Ix`QXxF7Jo$O zA<K222A;Z3X5Oj*JtLBf!2SDEBLkN5whdHe1)?sa%N< zp)03(3fdE(WOzT%7Pw@cMd#1qa5LDMaOCacqaWHK5z>)SVKSyt(5A?T!@|T#MOzVg zLWY^CkfXdlh9{A7jzGm<5QfjunzvuuF+c zt{Rt>vG@n;v0#I_cpt(jR<+#--sx_f*uPWJqy^I^t^YIhn+s1tP}%^GSvs0|p-+`n z8VK>tIYzCS`LaS%T~JIPE!iU@vb0_BUw;H~_Qx;@0Ty1+sZm^f{F@&?^n-%;U@Cew zyC@P5BAki}c{UEhAO>^tO<~dT?|PJH_lUagetMGi_DV=lZeI1{X*|LF`kBo^L!+(m zp^n&+GbBh2Gp4iY*=A!4t%Wp?&jtnC$DlgyjQE$CK)h*q=5PoCjY`b6*9v64!3oZ2eEv|5$2{Nu$elMOx|-B|bz>yi z-05(_Wbys`U~w_3StSsDav%@vSC3?}Gn@mT+m>vnZMhflcbD!y0RRGOA5I0}j_25{ z#%1c+o$4b;tqmD{rg0giY&fe{#qP=uhnITW>-h&#Zjy)yN#IK_GjI9AF`;C(?NrU} zy2C{CG$8KvAQ+%-96zQYsx-H}hj9+e?E^g7xB$I&K?(FY`Ft~2dC4MmQ+xYy{6tnB zo_*g9P6coVwJW-{=rhv{oBoglEfw;ybt)Q(+KiGQ-vP9YDHgW8TyQD$9N(0?P}s|q z888xMhoXKDmPnjj#Q_X=3{kRcQFC+@D}UWZwz`4|pXtdQ00I3?F}?qnmZh;)~P~m*rPcxVH4J zgrG5%KB%F}(&=^cFU|yNnMSh(?AR0gb}n^^7I!lEzjDm}C|P)!5Pnq^z9=C43U~Jj zXPG}Q0XSTX=ZYyT>pAqNGtU8o*nH$*%gsJs^KGR>QA&2mxqKdnUFS?Bc4zBBFnWGI zAM)~N7!7HZfa&k*AOwslG+<-y*f^g>NE|V<5S-9Gq4l#^-q^o#!{*W|(HNkt|J8%= z)@0e`(egFV(H7qLlL?bqPT>UR;#~j z(R6QJ33Y(#a05J9CS)s0qo#I<1lOkGCQE+8#(G^4DlbEd-uOjZUS#sdJ=DuBM*|zy zVxcl2;gJSby65)_{Q+;mw4@ zJ;hSmi1;6FEo=Wxq^AU>4uGn_Up(;5!&@32%y$FE!&I7T%}QxHVpL)>7{JDZ@B_E0 zRL~+=GDn^@q36amtt8n$IKqkn%cIaQo<>#{CB<19nZNUS$5r5mVpxG|U1V6U0EKOo zNkniJvuP#EbuNwh!?ad=-yNyn}Oh&+fD*h;>cl6%g%P&dAF zWvXa9M8t^Au)|-62hJ<=8W2dP5b4?#;S3~mAf$m$0h%6xA%`rp{8;g*Xd^~pg=3Tz z8MxH%ovk!RN3XTuky%OZTt4yl$3i=0`mUpe4TyQJ74LZ4qOR2v3e;0r0wqul!uFd< zr3f_1Y@rpK%pL3c%@@h+z7H|zhPnLK3K?(AoqrW?rsAHO#8#ngQ*|-~k{Oc>o*YcQ zNylhg4F{uaW2@{=YC-oYC&5431wcO z!B5SvFrdj7_`gl77IC;ClSWPGVU(vnG zFNu36VWsQ=k(zqAJmQC%1h4~=!ZP>9jqpH|Z3dm*p=|EwCCHHVz6mUWY+>D^W<-io zf)p-2oBWZV@GOvm!fV#@1!*R{pA@`@NV#}W@>r%k}be8 zL;)3J))wj-z~2Dcd4O+l+_qhxc^`SlswW0x-6I7$X3+M1;YDG0Z{?Y zFTgecPdK2Q&_w|!p<`%hsD+ICHViZ%aQ-M`HUUDcuvu*Ipn#;41?&5om}b`++qd!Y z=rD0)v33He4kCSO$@agaRb+$b{mu_Qy7=DSR$N|G#UHod)ykn>ZtolRWe3GC606{3 z(9z1sW8tZ=-~aNMn>|nkL1}sQG};z}AeZ7*kQdvk3-3hih@|QJ2ofL9k;n|8pWpz0eWKKs=3KMFu!Uba57 zTFD$xr+&B-EkRS{PSIv74~A<3$pb)KCnu*K?-av|g|n52uhKCr$@gbf*k^q0-FKuT zarC96HPtv0@XRUj|MsBS3>&kEV1M76Q1tits#Y7xZt`lp9FMwXnhVgU=GXiVkA@EU zKd80!kXP5I4GCF!vvQBYzgi44ynD)%loetb9!Co>No#;pEeoaF_Mp#Vd!LpWcZjeR>=F!*P6TasaXBHjPrd>t^MHHXx`3U>2c&Cd~+2}DwRK~ zCT4Q3+9S8i$CdMERaq|et+&g0;0a zM8!w#BK8_??|B08O+!CCWkS1pxVdS#{nFcb1WAM`psb?AD4H=E+P?yAz;oZjY=W$0 zm?uiFRueTci4C@z7)k^%rjG5Anx|5Kgz-0eInYdf->@4?QjN3Q7OPX+df&+;vxD%X z`Tx8CmI-k9+}>&KJabYOjJ~_P*-A|-U+8&c%trK6#x9?bCnAi>>@5~R2e?j zY4c@q*DMg0p(`{h+hm$aQ`)k`vv2N)1}>wBnkI{v=xkvur53ft!+=zK_X3MSkxz61 z!n*4%_4>{HqqJ-Nf*{3l{Z`@obYxY_(h)o)&FYvz-m(pJXHN;(ZwhAW34L-he`&XB zTCj^J*)CN2Y3L8|@KhxpGm5>Gc5D=1in39Fzan){Hn5i9Lxr;vi@V zkv8^t?yXsB!pyqU>CDY7C$lj->3~u9^-FU0?GcaIX#8)pbeMi?C^SpB6MdJ#9Nb`2}n^BWGC4ND_uuvT? z3_)vv5UGyGm80vBg1_YG1YPYrodTbYAV4Y-^GY3m$NB66JXt$LI@I*9w2Uu)E49*H zibJn_ozHh0uSXv*Doo{>ORrA$bfE0o@;-@tKqNvfzvz5)=w_u)s40mmWohn@5#ajn zTB}9$xm7Y&P+{hO{Qx;CiNee{k^e)qAdr=5D5Ag$6rRZtb>!TA)kBf-Htw$GAy=41 zcE=XW6#n)ClS8RN2CLpbIl@H)-a4+p5=G>QDJ6ONMw)sxiYeMgbtEzv zpSv?aRk8E%NYN*P@TbX*jfv%D0$diuQoW91m-m>a97=`SE9|CMvfl{{gKR!f4-Uig z!?i7wBg9rSA(X!*)C|Ti3HwuE8D?zl{yD&Rm%;b6&pV4q0sgG{hWFfm#qXL@z~)=b z-_H^`AAh#Q;z`j-6^g${P^9zGYgLsn=_Xea!1m4AmNfHKKeEoKX1ByeluDbQo6Y^3 z9x4+^jvlK8_4&5GO?(&_* zTX*M`F6MEf6H^EFZ44ZP1z>wD|E*AFpm+*qfyJuHS>`3!yY|a0U?ai;&WcWqb;zWi z8NPgeV%6;k<{fP!{ihmhsPuo#;z&FbLAvm)6m8}^so=!8@rz|`HRqih%k2HGOXJ@HEG^*`X7GrK^YxiABl~D^BHhY%>KZk{Yw=!o zaF7-0w(3azU;*a z|Dy#KJaQ}E!M*Y)az@0Xb_HhNoG9Gf!+nETem;iIxRZBsUorfTa#`vgHJb+(seg<+ z-P2Cd%^yy3m+Or@Xc!y7U)prebgp&wav#4!U#O7vYAMr|kwOb2%0s>y8%ehV+c$6v z89^%LOdF9VtF}`H-@9#ssB=;X&A{{4x95jkLGsi)1iSMXiOVvxipD880oN6{50Mj^ z6VV;_BOQA)9e>X+9!x#k*7>J%j&G953MG~vI27W+sm`BKj=6*>I%_qK71`I!JYhc1 z7Q^nq@toSvsa&rNZgmFc>?Yo}m?i}z%K!^)^fc&*$!m{LebF6P?!)FY#5ertvCBKQ zw!a-?CYs91G9dNy@AxSC$%AaQ&`Q-zzq0*Z$vu0K=jhxUNuIOFV7WROWLJ92a<#i> z){o1v>h1bH>mgf@PL_)IsB5=(9VQD3N*J~9&fW31@|Tsj?oKntg#HzUX99q8vln;* zX?SuPzt{d8J5R=e%s8F~|JKiha3j?zX=#9kx;@`8lCrlRW3yTCSpJ(%8h+K|tf~iU zDbT>_fwSrPnRB~N(sr7C_{*F`=Hv+feD$nO)v``fhC6*>RZUSQZ|luE$J0u37Ud5H z$J<$zm*v5Vr9A)Ph9bD9Wf{I;qtfLUSC zN5_wUM7#iXqWMG(J*n&S0`jxE94czmxVsf8U4PmOfw0@P=pcU@cf3# za0?*3KMggD>=Y=!)HdP)=8Av%zE!NX9h-HH$bR?U6I1!#!{)hAHzw}yH9Oaakoz@K zU(9Uf$uD3eYA*M^atM~Lu-x#lE z_sp120w+&SW1N2nl5;i?pX3#`8MXl305nN}?$}-DrlbsoGUgLKH(mt-ySxLF<1fbX zXjb-b=|oki!N(Tt@lG3j72Ocmq!bM2!Q9zg^tdm?hSb*>iYWrRecw^%>G}| z9IW`EpFySyac{;c&&Ih;yLeS7T`cw*kEIu@Z zMk23xdN63j{RgDDEu0SA{Zyab=yZEepJ-}jH53iQ6GQgiVAq_%8RFt(5K-i&%Hl}f z{hU8-mq)}gbUbBzd0AKO3wSJR@S$S<1i3T7cyN2`4v2~$-QWR&#zSCUC0ufV%m`-0NaW$_ zbe3yR3QqY4R6i8H3yPRTqojf6f=jzWfA@wTn|$|Ravos_if(GWdQK*WmIN6FhuToy zXN@_QoKEx7a;#&dde6k5f9bmlBFt%X27PVPGh9nd#~X}J&bin}lrJ?S+6D$@;L#D2 zraN^_eQ{zguM1FC$mJBKp?aF?NZ)UG`Hk=Kn+4`+w5Q<;^IRaZ+$RlZn4hxO>e8N) z3-nWg+eZ?LC|0--=~sQ_e3xd(a1s@MhSJsS1-lXoIN=TuA5@Q#TF@NxI-*xl-I{`_ z308%v9qZgV>J(Q%4jETntN!8ohmm@jFMR7x-jn{NkbdO~!D0|n1zHDR|Axandy3kr z*W!gPjMQiecZ9FPLk_?#H(p7{@vO}bl)Y)bfIm#LKWaXEQB2pRp_y}Ma^#<#ZTH~O zZH(yap=n(EM2P@igoTt8@1T+YN3dG2*3;f#;|!zb*2s z64dXdHaD7+tgCOSAYCJ=ylc(w7Sm!=Tag#JgzE;X4l{Og4U|`OQPGh7xwb+QuN#9_>iQEKXZPt-uRTKr6(>dpJ3lo>m-RR$zC9C9<;X#- z>bhU9`)xGLNHut9YoDT!G_3sRm|Wa&i=*{ZvtCCmyskyv-ma2dUg>T4g|@^{r)G6< zV|or$`Opl^@RKv8>I^jn|2~Yxp0Cy`{B%d1yXw>!DG)=+>rxq6U-_CA(}5F>IRYBw z;<#ztKxagwC9*Q5EI9cPQm)xX!ZY717{r{p_wduTU> z{+nyk)o|Q7V8s8}c?a16(t-tLX>CrLiRXA|L8SylJy3mn`}p7!61pG_x+Cs?a@KYd zBms^dTXG&ReB=2eY6gl5Yg6c(fur2f@7!WOkzb>!U|~;mvGJ*-&`Qc9A-JU^XHT82 zgS07wH}-qT1jL|)R=sD?=|j7GHvCD4#*5L@zhUshd3`BYvrj+4h{$& z0_B@6IaJ*;a}3o7N(?K4L%V{-$CEv;_GgdR&r6Bc!GB_M+ny@20#Kg~rkZauM7Ja_ zRR(B^a&vnWPI=+J#~`xVo-tbgPKK#$RoOkQwDtyK4W~)!k3uSnFD45S7eJ zC$3XgS%)$O=NRrkLRcYVK-vml#RC9vM|a9?dY!q2NJKu^7W{LdAVhDB^;}ASbU$QC zN*dCxX5deykyF9L=D6NGfUTygstRCH9UK^c{ra`RvN4k5bz$-!3)~?&*-qL!vn{E5 zoWm9FwZ*GbzhtPC%x_9tdfBY|q(KH+{C(f-PmLz^Vx-1WQQG1nYV@LamZI-vmG41? z3*Y-6Fu;AxTM>KweuUV)!qN8~5yH;aaMvg|V?&_UXt%}2FuW$@a+w{Djn3z)#fq-Q z4?dX)oM(vVf@G5=HYFVdV~T;p5=|TxN-l{+JYC8N3K3|Snqv|?7UY+LR7Zyt3F^v; zN=6p5##b2R9cS%0Q6IFMqv5*&d#OSilUYDgoVR`WC$6SvHX%dbH~d~4rJ zAYt_&JTrIjsAi~X(aW7%D&U}}EZHYFNnkN*C1rzb|GRiwfc<$m=k&Rg%$P`R%Sg3a zQPVWbs@nE$cx9eAyb0JHy3wskMF4J(DNBdV+qN|P%yyB~^cQIFWTxJlOaU(iSF7gK zX8FKxr0ZlVvpItl6@O`{o3ehNP^9GkY=9NcU*7$`R^_Q!$IXSW8gBGwWn~mV?8}av z1NLU1gZdQPbH`(2F%$LHs_)cFtQ;@ap=QuGJ%sh@{dn9gTURSi6Y9Xii2x@_coMvfkK%7h|7xd*B{ zV|kYBVCcFBi0JNU(8FW|wU61+=}-_MkZ)Zh(46So%)D#XU$?~Lpwxql?b+dWNunv_ zIZQ*v*IG{eyep830~OWkuM<*@oW-8o7zM^nW^*j8^_?OIFDN2SB(;*A==h-MNJwTY zYDuD97Wyx05M9%WN_<5rp3MdttK~;JV*yKo+Z>J(W~LeqpoStzltO}H)2yA@mwhkW ze!={_oK&B#w)`_X>VL`q{^q03|AQkNcwtx6wri}ot*@^ipPo9aqIKxb#GZ1Qq_QS^ zn7=8gjdm#gNZa3?;)&PO-EWAN?Pf|`Z(N|>U+K6IDvO%OlXeE)#_O)v_QjHwEm9AO zap^Q*DG~Lk@L3Wfs!LsoF^pzhf_cXDI{RRVc;t+t`%ubAMjXLOa{vC8n%r6jC;RXM zZ{T3wc(M+wa{RiZ@RBS8_El)b_lT6+Ci%2&pVT*R-b&tGLS>W_LGbr)G*Ms^u!q7s zEZ5i-{?w`>P-J@yfg)|I#P)LLoybU&cw*Z>|J z|N1;TwyeHGhKkAfsj0NPapBxJjxxQZFhsjCLLzBIlonM`_p6%X-p-t@lJY)L?(|&+ zBi{@rflr)s$*0S)v}?l5q4e_y`^E|ta*e7l1kRCGAkMi#j&E-CeUJY;T^ z>Li^^=W+OcOvd6>A2zA3RU(Q;G4UDlKJRXA-q%Y}fO;^2{MV+hP=NYi!(nX3V2??@ zNg=Eo87Q3M;t+Ok+Ox9&KO``ibLbr7-Eed@$0Oa6U7+qgNdHWm>!?Kg8vl^~{MW}X z7ho~Q4lJ1}B8H6t-wH4^0!k-xHUL;aZ|m;biHD+E1-<9`#^-O9ILgRyGjw3K>{4@P zshh~nd*N!l5a#zpx`fcM)*D_5_yY8mQKhRS7Fohz4BAxX8Re>P2E-;}XP*6dIJe&j z_z28qaEr%keAH>``FD>Nx7-yj&UO~J6ygwDk#GCv$a<0$caAO=lR{uBC;zRi=|@yy z=uwGwdw{+LDt^nVR?#1YrGThj?w--smvq!;{A2=fh}CstPKkLEj-(N3Y| z8xuH{@=(0cZiyIlF7|5${umpb2pU=;ve(3btoADv3W>=uk`$X!;o9Za>2f1)Dj7EI z0F9kHWvXbs^>#XmuEGSZR3a3&tC8U@F{Nm=mR*eEEGq{$P(Jtu>o-V6fCBw5@j$R# z{nx6MXE)7|`@dcAIGYd4tkbB5Vnfkzz=RZPpMfw#STMz~{WA;h!hZJn3@O}*36NBl zM!pmw0SCSN`o;!8#{rT&Ixj0ExM&6d1yqk^x(qo62F7z!fPa+1*T!86&C-hh7ia$N z5n*qbig#k7S_>>d83oV>0Ott6CX9?goSmK7Uqq@}o@N+p0KAgROyi1yyFF@xzV4(qjspumZ^UX9K)T!`M(U{!qNEBo+o}ppqDeq^Df?AYR&p$#^45ea0h1uL0#i4jf zxlpO3?<9k|0zE(!3py*eoYCKYfHO!_PxhM;iy@~5JMVb@=K5rcojkktzW(XNQwn77 zER@HL?)^KS`(?jB;)LQ5x_t#OX`VWo)h{?;R1BrEi7GeSMWS*C8V!}*8|ZkM=bRwI zN&JJ+PLR%sh-J&A?WPao%DmNn;dF>ZO7^~!#rwWkMU}j2ycGr!^d8_pIlZp>8Pi2WTL;G90bNYV1E@iowhk1mWH^xk|nUa34)GChWPy9Cy<-m-BA)O zi^JdPm{4|&FB|W5SUqV0Vi0VIhXBerA~bPt_lImRGoVe>P5vvvRhk6MWPmuCv=bU2 ztwK@~($3BZ-zIVGaucI|#XKZl+fFKIk27wcVZjvNd zp{cw3oWP*Q$jszbS7v-)C2f?kqIrRploqY^kJ(AYbH|%yQdc~A$C*^p%<3iXZw?!q zKHK|5N{JS!J~w#zzd8ox{Cs><-nF5MPe`|C_8*4p_ji*4FKA&ZXE<5w$5X#8gDmBR zWT1WvX+E3vZKuOh{}vf^m83)rzi)q%uTW0oLD%WntWO7&7LiB=W4T?Py1c|(z`y;n z-0q_beMbBr0?7AC{qn4;AK zFC0MOW#;9%XZn%?zCPSc7C69SdDAJv4;iacHFutQTH7WJ}U;U$$ofj zgPQUip_ws>s1jO*7R^BuO?K4$x~005ZjCZEnyl~RoW=8fdLEfU`IQ9jvHb1z#?>x9 zWtWttjpZ(j7ihH>esML2hYyNy&GIXKuuHO(`tX@f9eY1L}|18VzTZ>PvnMtbJ1b#Ktax$k999?n+{WFCYUhf)D} zcDNxjmNjoJs8ZB*QGeK$|D@1T47%U~6~OKps!dM5mWem{q+-Ad*k7j&>06fLWyDL| z^Syzw;x~Q7hhdv}d3-q6Fb65uQW+J#sK7Ct#$d<=VmgscPU}3*3(tEDoiZn1WUb?j z;|xzb^{0$6kP!JcNBULh-#5_2TX9kAf8jmDkls2bdX<4)d>GPGp|3gHPDno&u;&d$ zB%l5S5(xmxxw22djCUO^S7^!7I3PM$1N;)-fad_v>C=~VPpVjK$s{G&c`}^kzU{Qsfi#tQ1lZk4<+De4@{N)3u_Q(h?NK6z=HRmZAGfW!Dkj` zg-)ld!r`N(n|8TuH6I*AmjmP%~{V?yB^rgV^^u^CkD9CR56}zx1 za!y`ZZaWG#6`4a7@Lqw$-LObBM!8xiC-0sLn%g^6tC_#2g`&1dC|(0a{g9V(OaWw5 z6@K_RShfM$EvzcLC~@-2XgJc5lFD#}X}FEb3MLE7OBy9sunuaZ6GRtZ4-X3ZDbn>U zSM+;jF$O6&%I^H2xwp|p2cm3|WWcn{)Mgv@9pT!iy!-hH#G?q}S5$a~Sfo9qOqO5HSzO7 z1WC^?tpNx6)~H@vp3nkYY1T!pz0ZK%KLlVELGvsQozG+|Vp3$ZBtA-`LP;ySZyJ$; zULjqj4jJ^i=K+(3op6r8yfo^Rea5YYAjn&m}fmQ?9%6 z+lNL41FSYaP6%R^%rbv@_k{ixwRl?OPeb7hGg(hW{YCMxC#C}TbBrw^qlPHqctE8t z1){TjCs~|N%QLj%vzQd;RLsSdMx`t!9z}r0tyy@tOil?+?^cDJIhCGr4ZWhtNL-6` zw>2%}r%=b39le3m18_9F6r|kh;H32s-+I6&sIUNre72?U333zw`2;|}0!D@o-Mji4 za&X$lT<|WcHofYFGWs54`#<5pC8q)|`45Q%%VT#~mp~G1Y!cN42I{%-c5eoqL@bLn z_Xm!Nr-O9Ccg!iqnq~flC1l`A_eT2IcVTa;#&$0{%nrzcBVvdL*Ipaxn*Jz#Dh_24 zXw-;^Dd{Yuv6ruQHQ}4-^2NM7g5cjf>~;VX8o-GHPcMNqOc8kG4#r{^V?}L~8c+ zDi2`B64US^Emx7Vm6BuYj9qs~qvs-v>{0f9$nTpbNat7yOT%Noq z3LOVezPhpcU>DV>wIL>(yBK!|Q^y3QRLOvsbWxfX&b77I^>Q^b;1Y4rJ&u|<-T9?^QG;FN zpyq%~ceUd;h+2f2s8A4Kn0Io1P6j|yxw!%2Shn++!rOJuk~}sca$<>rPP4@-CkFb7 zk?6=@DR`)EwPQ4!?_!bN=!T*rQpgr>>v0<2OVta{4&B)09S`@BKM!2u!Tu~^9D+IU zj`Le6D*xFy&nr0%q+p6nB9=>Z+eL#SsrXYxpM+E)|0;woODdWYqlUv58zQvlG)bYH zSUK4iC&a?cG12Gu;KiVuX~v(t_nUKb26F2SLkCN#eU6csZ1fTF`uR@%A~CW7*?v8} zpeUUAi4|GI(eta|&5Qe9Vx5&&kbIX!R&El>$Yx<$^P6OG%A3JSh-V7`0$}Cg>7?fO zyWaVo#=~BtM2DfRr$?SW%~A6LhO|Z05J$H9-C}V(pYn9@jtWKGKVXBpwatj74VdHkndN`t>5gmUW=kkg-6If+P| zj!owKwGsu{JeG-CQ8&#)5=ngF7$4 zDhhCMXiqP2EKkUtccf^OFJ(affl^s@dUT8Co2EEtaDoS!T z_HJKRbzjF7gnUEYx4QpHTgpeY8(b@+3(O%!p;B&LJe4eD~+*-Mpt)yBG!kC`-mjan~ zV*2Zb2APERRLTWf${_{@=8bZSJDRs-ZXT~6YUB9F`jwdQAXzQ$c`5yrLU(z%yPd;! zU_D(lt!8broGd<<<2St(9h8D@xOzkK)dc2lHLOK*phM$~Sw$;}cf&Rryzo}RS44K! z5=#6w*~sBHXYD>mhqJ)-jXf!A1Xc8UES>Nu+Q2WZq=l~U!$nX`(*lzCR_zbfPw(fY z{Fgd*e8?!r(D6M?2z1wFGhA5~5S4auXL8V~@vU%C2l27W(OTaenb2|LU1E7SRK^nL zu*h+z+L+k8-Br--yWXEzQdF~bFaq-`UV8Xjn)yEYSvm!}V>__n<0uupc|KQsgFPO3 z72FiCg5Vnqx_b3d?gi_znG6jIa;6bcf7LOwbySoFB!y{k;gnPkIltldvx-E}Jt7)* zji(?Dfcbvs0?nW*6#9)oZy1UMnO)<9zqJv^%*#6oY&|y{KR^A~H#o}}Su^2)fk-VF zyP6Hx#52_-61lINX{qfQRjr*V6gb$kUsS(M2H6L>|I=t6yxx;>p>iS(j#XhIqq^tk zE|+3%-w>d@pi0k9&Z>RnvQWU^J0JgbPI&IYo2Q?mG@UNPIdifF!`niedz3?E`p|%M z>Lel4kLZ>h|9Vrb%ba1LYh-Q|nfYR7j+vIJt+hKEu)~XWEZu$(t*h;zq}ugx>uFs(Ls)iF zNVY~d`fzr$6`n3$$R?kG(EsJHa)~y`%Yg?taB*cE&s(Pj!Pf)(K=pw+u=7gXjvL${ zQ|o;S4-iQR*vo3}wGMVL**M`w4N{^tyKXSOe;L0QRJk|%BBo?r_ zd>%=DAs#URTFg#94r!0ww5*z{Oh-DDfWy$F%iGKApR#YABCAV$BqD|W*5uKJ*l6IAqL zryje$6{kF{x-$_<;J+)-8*;1-7c4G2aAnDdv&ruPy2Vy zM48pgDzRmAh&#TDy6&&w{~O?)KnkWORftl9(d0f=7FSASmfEW|pC;gFf8m+fd^VwW zztEd7`NN@wrchf;ftkOpf9jot6?Srpv6`u`J8r2s+1lMdGAQr6K7hE8`lD(bpqLXG z#*T15#I=ZfVCW$C@h~hk1ll!Us>fy+(thhX__N_x^Njmsc1_zRyGZ95SAKom$$F>Q z_;?yap^W;f)UT*mRCz?q1g$b82@V?+IVy0WHuht=2h%L*1TP&@ zz4)jkc)kZ3a2A3i>eIMJz!$ap1yRU{bH4k!AtT`PeS_k2PbrT`2PJ;I*xV3uEbX|8 zTVT%*F_-<+_FeHIAi}$5X8HqkMXuu7p;WuW--wxu6@rMci-?viFfqJ3#iAm{P>WYn zp0iZi|D6Tjs}il=f@*~wOgM5U>4GTlLP*cYeA^Uq=}V$WQ29(o8o-VZ4-{8RIh=fK zq^CDjf*6QB+j0z6Wk?6`?iIL<*1R;Bn3$P*KP-STyF7s{)t~QO-htD~%HZt$(8k*S zpC^fuFGEMYQ7PA{WwS2({YX!F{3pE>*|azBvV(kY1LXSMe21^i>_wbw<7=vt+&;Hh zKCdXJpy8$>S)OKL-@w;b`>%rFu}jGOYL9j7XkE^>jp?&`I4Aur0NH!n*FYF8>$Jgo z;Nrmdw`M5f!Wm}bo!PIui=p7&v{xQ+Fcz^flu|LrpX`*e?Knxz>XKHeIhOA0ld@q* zUPY#nXF63&wBlydZeH8X78N8<+!avrzaks*QJCkUh^eIoxkc2j|NW9{({hrQr>Fco zk-N!FFskdu+3>5>h5DczNkoP^Jq$@_qoo%F&~;?w<=MaHAO!>ZoJDlREEN;=)+SRo zrQec)Bq8f`7se(lq#WUkRC~WHU&c@s@ia{hpRkXVVrFLP*kT_-WMpKHHj+(bN!VQ-lD@s15Pm8kz`-M3YeITO{^T>d zRU<_}na<1QDweFd`b|XP{GFO;ZVZ`(bWm!*Qfs14x>#)*#w;|@RrpplARw~NK-<*H zEjDm_RMP*WZ})CBs+gT&TM}UrR$Y%EyK!?QwW&SmXOv#C@B0|B8eM4wg|l_5H6o7n zNaZ5`#t?*2A|=VK{ZVj=Aq*q9_-3l& zHt5qgRFMevbE`vz(~shmaHL(6ejjBH#H(%?SgbkIO&(nboecB6;jJE@NHG#R1_qXv z6!Y;@5^}_)>N(F|c8qQZ0?y?H?9YA1uS{9Z$`<|`%Z$tN{w4w7kQ(&;_f9t(L)W%g zj(sfe{J5_?lgA?ypjdQ>{qIse5tC4SpnAcqtfUoZ)O7GJdo(R|5rPpu{$_p*i}K0i z`cIDqm6RZQcSiHv#zIr%4iv~{t{vRH>)dvBL0?(+=N1{iUT%yIJVlRx4n-w>eX@Dv zMP6M#UZqxQ*kM5A6z5}vifHA}-@1kA} zKj;Ym%Vw#@WAMEh1DKCe6AvMR7!eP(Eevt|gI5EHasVRLc;V=OU|uHn67wgZowjwW zC*ftfK_VU{u*=gDy{R_~Y8^z7q5Qf$+{BHVosu``aJBdbDh(}&!9(uB?{<>Rh8k2U z&%Y!lRXjX@3!}Qg8Y9mL#F~!npYKw9m1!K?#y2<=#P|4kGs&UmYw#axu?@)2CDioP z1BqAy%D+Q|mthi%;9)l@xKTz|iAZk6lrB%iPbf)As|(Sh{ZfumY=A9I#MnyW1U&6j z_nN%^)7@0qZ09S_uu3Mai_Q7Qg5+MmyJ3BNuPNlupWa-pefc48KmX3E4U&lkVR579 z{-dRAR+~L$!e0Ta>=no1@caO9)hC-_9LQf!kS*Y+L^rK&nFd*nHFL z^XPnNn4Vj!UAj!*xCGT8f+>y{wv}5fgJ=7Bac~RH5T|gvdyRz|KB}!-A<@aY*7Mg# zvD*ACNz~^}`-e31pKQ|tPT>H>;NDAycL9fK0l+G3t-M+10#VT*L4-?zP5{R)v1aT6 zqCDboW__}IAdmOM3=%I$e2@u{o4Y|&$30um#7*s+)t6F8q7;Z_OQB+b8+&I;^-n@D zYfRwFp{q|T4nb0`8ZY5Yz-&8D|MBv~>`I974Z=G@+(x{2@iVk$ZMQ5`vi$c@QZSsbOyg#p zz@mrI%efYiZma+yjoQ!!rY1Kbi~UP?_jZvlo#L>aPhhgJP+;qACzm}x5`P;hc<}A% z`W#lhCwfw|)HWE5$86&t9$S9=_WK$k$l^CllK6NuD78W&;kF2^Cdhs!?YHC=s={@i z#3Jc`E={vNuicKgyCom7i|(%MMU~<|^omI2^?9M{pd<5flZ!gjyaoUB3xWW-W1wD( z@lR{HKl%Y9twZCb+fOrX06ViXt<}}p$s`|L#wf>XMb30=gz9DA)b8WpwhDNAWJ-Qy zS$g{keC``CUjO{Mec%B_h4sq(VQ;?{~dxyyaMJi zdfs6L*Bf`H@U%wM?nlX~yemvO+FiKX+@BvkICV9mm*}lw^-Q|zuCokcSG4ncrJ2s( z&*(@}A}oU38-z20ZFWwi0_8MNOeao#9+WAFm(_|#=txwU@`GP$Jo=!4yDojQ#x1!P zocE+iX5&*Cp(X0u^yWsdu+jf)Me+v|_)^s46GXBan7AzA{Y9$P$%`5{(WmL1_Tt+0 zDDX7xrzCnKirTN6YyQ*A$WpFw!Du(pEFjuKFtIssRj|CEjAlN6l+}cr!t!%M6&}bo zCmMwkXwk59GmK1qvpjka>_Pqe-gFzA{F3>DLp<3AdWEycRzpkaTYHQv`o)MYCK8BL zG+>c!q+<`QePlFG78;`q!}N5DHcI>|O@Oo5 z|4<0zO|J5`cn~SU2qjSOY??F{m6jb4)rMu~DAIpSbI$R-s^p@>>d=(^=x|j7=C&+A zDR5fF$KNPNI{z{~x40*&$LBc-=y?^TCM)^ap! zmFl8QFN|dvtlZ71v8^nL(2;FtyYIy!gsL$!wRbuJw^Ea{Q&$g;8$k+}fO>a^R2l(1 z++$yI2}b5v!Gm-Y8(SGwOy{|lx#w(E42D-_Z}FLXjuH_=SXpV0ksQ$chaYf+cTEhn z&7os1%XjPo?O2oGR4LEDIVk~U%BCR zkrmTqK0LPGY3?sWZ)07H+1eSd59>ZJ{xDjeInB3({CKIyAGN|nH)#wcZhckG zJO4)W%yhmMeKK89*0zk>?>AK@Px z9260KAYU!xd9gv=7P<4KzFif!``_euG&G%)y4-bpb`2m-5Q z;zEB^2m+dUS?q0$x%{(`s+yD2Q|7RyA_!;K^TN6Mo7AOSul(^fTEpl6Gg}QQu$r+_{Pf7sbOm-P>;v?LNq> zy#AE2j*T89jfvOYDeHaU=uT8%VHpVi8}A^51m_zmqO9(3CF1B?AKMj2)&a7^RHi@yP@v zxos(+AF*WY*}0=t?x-!vADjIODr#+Dkos135t^iO3#NcXiMpeqn23BstC5HL->76J zh+UpS!{KMY<`h*PEt|ceU1ipBHl3UZb<&3K|Dp`;sm8?20t03uhn}aH zkM8yPLO&nfU{*c>6Vx2*@5g2S*Sry-gO6~N7065xjS?!=DDyH}P|IdH=vBGhaK!bN zs8+iqvE=N|q1X+NE4tCsa0IB#GD7X67q9u`<$zkN4>)5w1%7N2rf2qZj5dn$CP;aDwNjgqj}j z&~54a^taIqO;mKK?AG_o^tr`0n%m69V^*2*(fgE{>C4JjMMxRJmN-0pLKN2NL@@Hp zk~^TP8R_o}($iaudWMNX_-T%CNeHXCnweL53& zXET}|$zB}giEk$13&7H4+T@eJ+$k+Y*z%Vpw8=yfsQcNLL-5}hbdxG!d94o<;V~@g zK^}htC;@Y7Mn+y)UsrPA_RED8`|fKnZF1!cee$Hs!zHDIs5Hi+>%1?{&A>#03M;Dxr2Gl1oQI8iMJSKD zS8D#n;w6jys1X|k;xlmSGzx2!e?R~eN;QT=tzDJBFBVnh=7B?DbQ^jRCs)Q%9vsKO zsnf=WjvA_CJ{-!BNc1EkULCCZV#gr*ulLN+J_B3kAE-@9Y--Wx>b%& zuEDV}S;IYNc27&y^y8S5@2hp60{Ayn7r@7k`OQBjj>Bz(ARZ|?v_cK8R&JVwk7Igl z2<{guE1Il2MlLOyU9f5{IUYZkDJ?XjVHjFJoWwhp8!jv?wdT zu($bJ<_MWDGZ?rHqp)5rr8F((po_V5*0?pxCeNVP2_PM#?j6VRtm~1KwsqLyOBl}6 z%$QmGrb^I_I7#kz%EYAXl~9Z*YWU$W8+H9p!1K5~GRqidO|qts3MnBryx!f>gjsdqq~ZVir!`BAQ}=;IyQFfNzv z;>GB4%|7KS*9A7SS^II)CZidQ4?(PKorJV)T_+=WaH9! zrR}H)sYG~2+DM~IwrV5hsN-BC+1^4^P8ZX_3#?{Fj-F*lol?JnB$tpeR;jFgDAJHg zOOs8B(hmkrEiHwH`oEpJ6Thsa$TXtUlmh1>vFRp7s;u@p_wJo8x%{e)W}6_-B%3!U(NTE$!wPurx#8|>RK6vB@yLNV)3 zJtvje89ZwxXab;c_Okf7^Up)z&+P~A8P{k7HiA_mhuz$1T9uDFr9!EE|7!udJu6xi;HlCt1wZH7Tx^LBPjQw8>e(<%2MF47TvR_4*yQM7%8zp) z^`8E$T_yw^ah8xEa(azq`f%#9ERWf?2zFXQ`=&4#~p108o3^9>VW+2r9#e$6C!fhhu{xWy!Md#Qnu|&x< zC|YC$9J$8X4?~_Y=-zF`v}2RHItch7sEDTl#+lX0!0ix$o_lRMI_K^7w7HnU>(c%rUwhmpJ@aNgaa$v z5E%|sEG1M(q<|}l;)u^e;qtGZ(YBy_iNaA1HvV{0-OAnK0^keo64AWye(GBG#yob) z8G|pi3V!N28^Jn~oZ;*6z(%n#A;yP2GUCG{zE1 zE0K$0p=LA^zCr#cN`$ivenKwD+a4i=ITBEg_uXGE80V)HoBZw4m4HwOipqeGB8GOO zV}j)8@!SuaVir-DH-)C=8LCM+=Rf)l~ zgEq{I*{nUM>l~Rv0{PKWbF*CRinSWR9EfBLdriLMw8JJ-@6dy^>!vb+&$t>i)qv0M zosw(9H03?;r2)#Ied}taUOB&?tvFgSfrSym2Br#@4F~L^9Qyj_77EW!?mPlK*8LcD z*oH3Z{LGYSj690Pg2O{_*w{L4*lkhNs7->S{)m{({PZ||HqFELK~$o{?07hh?oRmN zQsl;Mf020J$HZYrNoUmWFKwAzYxm}+O{XU@$Kh)+VWgBK+}%G$>q78PHoJR!UJdAr zO_5IcZU{x05kC^!ok5p%drpflOYKwwrB*U{zU-;fmKk)>QBf)dgI-Y0LcK?0s5P?G zC3XnPPb_$$i%Ih`P^WoRMcU@$?zhrLtQ-I344QC^`Ed_YoPWTM3(q0wKlT8j$$%4g zf2JdzCR=01KRH*9tfA!bhbm>n04tCb2<4_e5R|4ygeB&Xp>Fe;`~vm-%EA9FI|h*3 zfi!JVnaC6-8Xv9`1dgF*HEBZ?$sHCxmfx+pZ(i1;`tBEke-j0k-D2Hn(;LkOWm>BZ z#=AibUI`Ib*?M8vuT%(p z*qZA;5;~168ZKVpwj@8_kZ!vJ$+X#HtT?&*LcYy;<~0?6#husnjRC?8rwNC438(9k z(ERN(#CF>!0d??KU}dG>2fEIj+kx$pBe%x`N%(6Qx5a~TYqj>s0 zbanyXZ7}#ZEsn+Eq*bv5_(<3TJ=L=r z<;jjVYRW{^<;)V*VHY<~6()(L)yCOk*rHPi)j5&kXCK&X)MR;PD<~9TkBV*U*lVtE zGZ+1WUU!6$z64+3lU$w+S~VIbrlw>_`!wxVaUG(0LP@Wh-WhO>8FagR&y!`(=jpr_ z?dAY(Mz1f59#^Bu>H;PyQbC)$=){Er6$<1;EyUK+k7d!LB-HA-vgX3)@vb4@-J0loyZNv&;tm_(Ps58Sa*%#z*IeI1 zymyS+y4K8ClgvC4$lEt@a5Ba3#o-YpAI z1(7EWSHjpM*6cSaj%iwx7xFI4@pgo0(+pbKNN0+j;BfNcMLh=)lx;vKKAl|T0%FcVxTUrzG)0$#2`2>cF(bV`?)ThI2D~IU2x&?IR{%jom;Hr`JMCg&AWds z{m9*uL~QWS#L;cH%*gys=r@c1ye^9XROD?cH5!mj%n--x>3Wl_Gkh#5#|sqFFzU_+ zFST7O<5^9<>*}ZWaTW_b)g{eT3uoXARXYcrl(KWH{<&CYnZ*p#-^iAFriKsE+zjZL zNGGs*O(WQ-6YsT*IU~v%_Un=#2UBYZ&nRxHvld9so1WT0EncsRkx%Yq zJBgZBfOBuI=ZY@ zt0&Y#L@g^SDhdmir{v}_PX_$h^}mQ+c=R(i{sb!l4Zc7um51<^0~jF~ zad4eHviylqls`$I+w1mwPv(KkaF^d%k5^{H+~zF;K0^ZXAazEl5t#Ggz!@?au}`N_ zSW%x3i#?@-)oc`ZQL`3H?Mp{><37opGiD-u+YQi4HS{;?)Hj(EPk366?2xX_cTu5dYs z6Q{`tz z--|6s&uR6edRwAc>T02mzbnC35D3JgIOfmobG8JovwB4)KK7`*o{jH#gO5(sQL?QO zs^pS+#Y(@2pp_kz$u**G!&Qb8oviKU8kkrVHfaM;ThCDLK#LYqBB3Y2NGH$_3Lt}{ zl35_jUp@5Dq@Yvh8G7#Oi!VXQSsfvlln->tK*?Qk@W@G6h@vzc5#K6DGH|!=cMRNm z+HuN^GV_UcC2!jGDN^eoO^uq{ufZ8QdHo=EGS^+dm3d*U*nbMc+V*#ARpS8!oV zTIV>wanp;Q(n&}9!harg#a|z{=DsfxZvTVstH?I2@6&`{b2D3QG-5xhH4u03sNH1P zSat0$dokO{vyxI09W0cC2`bieGpptHjv`Jj7hi!NB{kRW}(toX>AfGQ!fk-0`LmFT=2ZHGNV8S)3K z!{Hwc?}xl1ia_i$r5>z{3Hs=El)%gIgE9$9uUF4p<+YGOBU3P)mF?H@Wcmv` z?XA(XHU^W;A_jq*&0IM8AK{BBZ!7&H=)v$h49X&A^Te{qs$40i6DFA-ze8Yx3A4wV zOs<46rU?y)cl|LUmDQzGu8cn4U*yjD7wf-TV7pTKx3WNHbk-zUII2*>D;bder{YDY zRE;4s+P>F*KE!g>imkZQsylOzN1T`KRFHf<|D$}_n$7!n=?+tGm=ih#@Ci9vz1h6 zGb!jjd(6>;_dpIgC1Qn0>9t9N?T6WO{&E(`-sfpT=h19?E6Y2^&udO@&wH-fbDsW% zuE)9L$wtHa{Gi?rnJ^pI^yg2%ht=x;k4%R>c92&Q#NvRcQqqp@dVvOf9WWN=A9;W5R|N> zad^g0atd~dw;G4 zWhZ#trbZt$GhQhm#2q(Pdi@@h$Y4YA)8(ZYsIX9n&6DG#Iw;U0lx5b*Lapx>sB)vQ zCp+L^#RV<0VUbAn6eYje$@uX~x#AM1t)I#_3l0HdV&VgE9Nvwd1Ag{ctG7n~`|9?uR)V#=;`i?~7ISaHkD$S`zuMVo94PP*{o9Wk;nB9gRMu?R#~U=kA_@j5@* zjEVaR&~>#28tvpryNk0ZR(rmvwx2&kem9=gbw?OX&*j3 zcnbUWiu;`uov3ysoe~fdCEPPB=q_R>Z)(NGF_K-bi5 zhYK8(R}=SXB~pLkXtp@zDnQ@k8dPV~`T5)+Ac| z*E=*pfVaoS{bkABTl-5EZ2R@!Sjz@7bvAe21Ra*Z(l0!`^u0k+yw#3aO*`ewTc@?y zi&T82x3)E(YpjhYJk!yw8Mj>bOMam!XQfb&BnF0#S8s-ZHTd5yo^V_ok}OgrhG5-_ zg}SU+YAsiI@iz5;yq+s^<#vS3p530s_66c-R5~o#N_nFL z`;Kk@?a-WdEBio&A#FIUc&eLo(2rHxMk?JP4#LL|3;w!34Xt+R^82aDdRlA^Nl@mp zZ@IelwX$Z#oeT}P2X5>LAikK(e7qAg?fwgn074|<&N_wFJclvx+%OZ;Coro`SmTW( zPX2|CW(aopAqIQ_BGBfi*X&xmZ=AjIa_p7UPy3DZXU~s7)_LE*!q4OUF9JV)y{)!u zv-ia~zxU&^cw;Px@WLjq3z*v8dp_&L#8xpT2|~fQVGfxCn(#uSV~8V%AEF$n7>R5R zW09b|?&rHYh!^{dVwtFWW?PO2F#czU(Oidc%;Fr^Ct$@W&?C^ZHm1Hw0N(XnTloke zrNKe0iGFk2D72O~Hh1|8sn1_!&JmvWVE(zu86all1HMvmg^%WT8XGULhr zvn)ow(xOA7?fG4^Z}f9;bp2F?e3!XZzdbWu&s~5P^ZvUyraZTT-q6@2oZlw)mg~oh z?S@-I-&+r^))wL3qE=9FG6Y$&3U#K#Mnimjz@k26(Ys(q9dNFajsqwkGmePo0lUZw&bh7 zPfU`Ed52k(GnC01%yOXW4?Oab?dHjh`{TpxEKbOW6f&5!yNB?paq2{MOGyfw6X(xJ zR5(9HCKr#t<#{pvd4(IPAID}_=?tSdTdkGQvtCshbay+4Iy(qyKvH3EY@V3Ag!RrD z@BcplR6(o0WI7--6DXSr1Wm`ZHMU*19hmh%aAuoZxbzaRTCK*ZQ>R+WxJxvSIsJ^t zK9sx1rJqsCB-vf;;$Oe?(=F?*TQa~cTUT?#d5h?ZOAJOSRZnu~ z_jV!mI5)lORn%mhE|F(rZ;fAh=hYlJyo{+@oi9G?vSWXNt1nqaM1zxsLwzmaMhL<3 z#q-&)dKu@fS;)D|`^d!{64XeDeJVxW`@=11FebYhb9YS_Z?1Wt`eO(~;|3p+d}5Y#akwT;f9_D$w1Z)pJl zYpQN1G%pE3cp5ZO?rM71T>EuqVuqth2+?(CE>F|Eoju0`ssCpHPOVns(4j-r>b7^| zB{AY@TrI}QlE#$G;?tih21RgM_VbIUcJeP@|2~CMnZ1XO@>hTSHj;@rx7~O(AOEMY z@bG~n$NAI0{v>aE^DS&%yAuBoyJX7-=JoY3kuNYgRbXhKeF#&&P$J4AXEUh?UDxQ1oMAKyb}4O9wQX}L3CqZEO7?R~Hl>gEXsANV%El%-i3JM!d%G|Vo&Mf#`g^)a zCgb3#AvC|3Z@K=;4(<5X3~t(i2K6w7(<82l>^sV`!pA8!|Ta)-Tr_>l#b%2hS`R2>C`~Q%wfJM{q`Z<^o;;K%+Nhu%f^xKQkCJGhqd-yS)+}^%KK{{db z>I)a~x~Em`w1;m$JfOvxtk<3~}MA0o-IClQM^nOP4mnfEaI^hHVO) zAu-CJ7$q+=jL9B`Wk17CKUs=oDB^fbXx+RhxJqJt6L128F3B~6KxR#R2)XGjOX zdVN1t;!Mam6&XhtE{3$QG1xt(ao>{%a9zpYf8~C@_w${+`}S9`pf8IQ8n)Cu74;aF zt7EwYB6fyQED1o}QNW=mDdD3{9=i$yAx0`+>mq2HBK zW#HER6mt>xBu))=b)?F%6p}_DA^@SO2?0VQhz^oMWhF^nd8eY+y&dTi`O(l6pffbk zgql=Orht&^f+Hoi3$_DxOT3L}`X&P?r>?E5!gRd;&ko`ZqpX=Au1j)p$R&jOj6=pa z+rF>8O(*oXrqgd;1>UnVA;dhCV(IlL%=$Uh-|;N)PAR49i3#51{r-ni%3q%C{(@r` z29H%%H9m|D)wROA!bRuc(G%SD#cu_|R-j(`KYr+OO65x15m}*F<|B7~iC15@mD_H( z8eP}8=-l;ObZ&E5gI3ctjaOWGF%x+u!k13^b*EZg6U`$uLytTLInSZAE>B%&?d=*-*m%%8d()3-&aS+ zLAHIsqWkhkLcTD$F8~;AUoDB!>Au>H0zr+XBHG0n&DKREA~3{{5ol(({PQzCHyVJ2 zNtHO3H~H%&q_590i76Dk*Kl#sJ?cKrgq!mcZ}ou13ij1O@p=yJ9p2|kR3WBEf%AYO zaLx0*^SQKLN5=T@S08IxzHvzpuiv_iSDwF!R9tnt@pznpfdTfND)Rdu|2~iG46BSg zuFK<(`~>S%FZXO4;qjd(no71P+p+fm>lb9nh%ycuqq2`X-+e2q($PAl72p^Z8Rxh= z$O(6dQF>XR4bv_14XM^u$6$&qWtpZLDC4SUsz8PU%`SHTo>fsRCKd@%BSVocikSNB z?;TePuVz!6s#HZKt1|Az7KQAh>Ag&2*!=J(4>y#W8JQ>`Q}dW0;T>AE)PS0E(9oop z?ky}5)JTddrnJy25~Bvyf?&+hDa1^4T}RV2uUw756=C*}Ej28uVYx9Zw;xLv)Z>D> zA*foCsx7HIO~rOQfDeI06B1qcy`JJ(rHc}m4SK3p)>zLb_5?v!Uuu{y^MvpkhPW(#Y3h zB1!;EK*d6$!dehp&?wTgRlg8S;sO>+^#Ojyf8w4pX#t&5{mwvkqIG8 zuU$V5>7&4(Nhu!?Lfi@5B7``M5)-@xSPXm(xae&57qz&lv8G>=G+}IXgkdWi#A1Xa zaED^4%ANoEEuPu6zhV1yGC@}^!`G(cUZMab%Jy7+$$1otWo*a6wrx_0M5LwgN$c(I z;+=1KZNSQ8GpWcrjjobdY`XZ9=I=9so-jBr%63G<_I%9?(;N5b!oievT%l8zNeX0f z(eU+rR6$PDt8vxNMHD^Ous&2LAOpUeMje;qfgsN3YaEJ*PDKu)X=|wi^ zO;oMKj~viFW~de%6xdQHFSE)O)iFEEKPLZ*c-^RgxaRVF z#^6XP-v}Ut_zrN3l+qSL=)iZLx1ByucIk$NtQ^X*|5Tn-+~lSU7xB8wm$81aN*V9# z>!ZKFAJa4$&sX>#pSh1uf9FZu2z{GNnGANP`N~fZ^2ML*Z@ZslBF?5&3)$2U^RzMb z@{@uTMGEnS?6Gq}uza*enYynX>X;mI7c+BwMPmr6Uy0gJRLD`FUz;E&iVZ+X2;n7c zga82)qg<`kskkOpsQ^sbtCrp9R%+B|3Ht-h%hOToq|#YprV$h<{?(hWBbAJbrZxx7 zs(DXQhf;Hw2`Zy0@W!=6Bb{As(R?yLVkRymx=`n1h)@~EaRsiFghh5$VbQuYXnx*e znoHW0qzp+yuanSh;+hvl=#)iSf0Q9*ymd6MCqDFsZymBseuI0oy)NG z!gILl;!PxzNj~+j-(>rqLjdePaD+eq$Y*)mn_kW4b*ufO@II$|>38}qTt2T)(a>$q zvSrC@uD>GEPV;(^7r3r_8a30k+36UgHd8Qc>oOfzjr_d8#)PP=AWIL>L_5x+o8+|H z&uRKRcU0Izg|4~I#~0LO3BZDiLGr;+l(&h3q0T_2-MP2!JKEv-kubhug)Mz;RxVu>WLO?-Lz0wQn3iU12K)YeR0PxiO?|33wMK2JJUQ~N5Jxl3xc+vEyUKsyG%arcIG!-r9RO?A%zQWxZ9B*TxfK6l)~R@-5ChjW_|eZE z~37OU`5Sx|Qg9`0{x79dF{EA3wx5zV{$fN(#j?AHM6~ zxcTKLJywE2u$b1cei9*XILPtQKCqjme~+G>1}`YN3%Dr7~Om{5t=j?`2& zU6Pb#k}3(RB$3-p9QuHA)W;`0Dm#v${r*9kH9h@4txM5ZQ%!{ zEJIZ#e}fR>TRFD1u6db>8#Up)Q-XNgYl!H zZ%&XQRVPM;q{o_SD79^gE8A7JSA&e0=8}m)S5m_?z;U5wL$MB1RTUHC#~O+N7$}SB z&=uE6n+|c!W<$5hmB0TACQEgsUL|H*6lIcOE61>Sg3INlf7c z{gUZv$(UHggiX?bR7{YFsTZZ7q?cHNh&fynFJM?hzyRTD%GLY z$(R-y($=qI^~iU~lVwuIDak}j84(Q^X;olGa6WsRO_1?hQGW10 z1MUX?@GSTBn}8HTyd2m9{4hDZ6#m+xW!;p5Y8KYv~yS6#A&tru>hD;qt$aMzlqam)2rvUd3rKKU=- zU^1`bSnm1JL+n0qgm?VfZIMi(=DQ^Ny_wOWY2D^^+I>G8>%{V?PR^&N!#I`J?F}qX zZKsZ6K6EcVJ3&#V1L^eXBJ5p!Y5C5_sNs;HN}388txQt11}sVm1vka0+e?wOH&U4i zAa!!HHLt5o$Ho*YRkr3DgpypX=O<|=B&fIIn5J`W{4WH}kStK`5Nf0q7Zyq3N!km` z8-1znQ+S#qe&?(T$3|N8>*iVNqYBhDjRo_be}E&U{DctV3&2|7fRu7_0NhZ+z&R{A|Z?%eue) z#+$j~!p$Cdk*rv-NVN(Oq{30_*zHqE)Sd&zhDhP{Vqvt~PxBk(noW+#Ue zE#@gPHAyb!(j9l{N`R)Dlx>ZC1*U3nV50L70wAV=se`V0XW=UFGg5{Tj|GL$C1n7q z81x%zs4!6xR2}%@*Y9Qfz9T&G^mcylrVYGq>oW963}IuO4Y;;Tp;p1|5Pv2mSXz<_ zNlI>SIi-;Ti{waj-w{qQ6QixPEzyEDBir#J5DJjLI_;f z#dUo*WLT2IMMu+hQZa+>Y?5p$Mlz;j=o*@4plO|*Fn)g!oz#AmYsq(O)oL{?D9o&5op$L8gQd;sN08z~2ZVu8~qc0NjY`koEx|5<+|!mAauxDMwpdJj4B)X(W;= z8J^vJkW!_}{=>)l;e)?y@P9`w9y7V*yp3FS@wu#8wkT4S8d@2a(AKS5%K!SKw{qvd z{yW?E90Xv`fup?lBcI`pH{Ie@`kn4YJJa&!W0-Ee))<<`Hk!BX#QsDB+u}62m|C|#6EGU8r#9YSiV5=rBGZ&fdRZtP3+6?=5X`=!lwZ@wpY&#)tNFY7xa)yDe!b` zO7e?iQ1;$4gK1dX4|_)}hRZ<|6`|`$xz0nE9TM_cZusV0(1pZGpS31d|hLt z2;)^K*P-r$eMbD2z;Xp+RT!)4a292T>aLn*w>Nd~mMy4Q0wHuX4IX=9JKOgi0U%$l z^H+C2g+6Z`=dWLZL@LzeNU&X`R8ylnN`laEg^nXtDFsVvNJsPb>k=0h8BrujEzl1# zg@bT`8aOpIa@RC100Z%O9K$ezWqyEfa6TS$Wh#{l!$p_TVv?dvQzPC0sWl(-Z>XL`r#3a z14qXA$~`}3*Zw2ZuDg2qBCfi43m0!$?+MT~TciKFSSpjBnxwCPfPq+c0X!a>TEuPtNI-5?||QyQf?DM zYymz2Z0)qNl(GmQgvg?R&YyYT=K%Kw>)5<*W%HQgnro}mv*KLBhA^7n=mlMUXe{syex)W;Z zNMdTr9OLb;+r8LWkF4(Y=xFK*PxKhV))pqJTxUN*6-hRU1{MKh&qN#vs;tIn>x=cYBV65RF zytpK->gQehu{3t5@Qh!)(!mgtnC_)@8+yQwn5G%1?)%H443ur#6bc23#Uk~3y@iQt zW@#+TY5-9)m3eSon52s-nWH4Tu;`<)&v!|RDj5p&ib>*{jV3i>^%(9{g7I2{R4PR* z7K>zVJy#DztIY=B{5Fc-{ZruGgeje8ZBoi>B44j=^ZWaN_dVDBMA~Ejp51)luJ1Rb z6hSmjdH@9pDL)JWYaKMw`wWptXs)t8x02g zy1Dt~SFn2d5wV|GhuM4ZDDSxaHhQ}i9oNWEbaG2IoE1K#@n5@*{_ajO zBGbEELUTP*S_DjriA7qJ$xt9JYz$$eNfrEOV|rQ-zGA2<7ZHp2wgZJ$EOe=g0iKY9 zL7`7juBRSRV2EKfP5HD7GDFpkQ;=!Tz39`xotUY1RDCDLtlhQN+WgX)*%7D_iYYuX zG0h>SssGb*1T{yeE;Xt$Qqx5e5XuSassj|NXO>b>l?G)u9)vmirSs0pI(AmAkvdW6 z6RtI*2Y9YblTvO2kWxM+gqTtKObD?U#k%~1l=6$-;@1IRlv4WW;uLVFl+p%H3n89F zxxu2nep^?#cPwY*4&Oei^U$u57I32p!KQU9c*Rv0vwr0=PqG1`&!mCHwM%UVd(w2k zTP?P{N3gsH_KZrNJPAkhaO_!F)+5=vRPew-n5YU~wj8#fvN%=p-JuiBE61vpty z%Q7(qVixD1JE`WC9?Y4)fTUFMBgGmBq1y80B^*~$wp83r(E~=&&xyvI4g`=gArn*J zD&tKl&*M_FmHVpZK;2fKH5=ah&NuS4AN`Uqf9FAL$Kls*yMf7?fHpP|p!3VM@}HU*aLP_EUf)@&*@i)!7bYB|&`hq@yp&#dC5(G3s=Qs^EFWMF%Og0`#b zz{%-iX}qVv&%%n-O7}pLg-%Vy(s+G}p-Bu~!_-rli43|XkdB3I)p2YK;kXFLMY9wG ztm`_dREl&uO)8Zl?hWh}JLEE2mK-Yx#;Q8Sy5?!)gnejSbI9m5di4@LA`gUM$v4+^ z0~c32(=?5q9#!ylu52~{r-(p>Dn_gz&2taWQjU)c3&wF;@MflDYG+Yv*<`pR@ zBZWp@=9rK<983%>dc~xtdMv0*lL9%$Tm@#DRXPQJTDOG&Dl)+o*=ZhN861xvxssP@ z##s%{OfU4=vNqGXht9OqZrxtu2LM9V^~JzuHb2(L^4Fg;9N~pE3r~wx$cUhq2VSJ7 z{o}d>F&fg3werqVCElpR<{!(NG~=*EFuabPI2I&Gp0^DshMI*A>YLE??VEo9K&K z+nRpC>ORTN5!iML4o<+K30T$xg*rTP6mDE&68FT^o;qG*_n1!IZ3J57x@2L-;k*UU zC1KWUQ3&D&#M``SbWM%M)yDtS9?Ty!9=t}ETz3?q$ zRS7bg7%(^5A3_K=%!76Pl4pit`)LJq1S(+sr-$I$l@d(|wk(XZWue;cjNk*^;MD!k#fWRe=3F zxAC4&ew(+v;v7DB$8`+#wlAwQooSjzJRT1ikf`~YSW)ofgCWPVz_y4-58EmRdOSi1 zlBP*AnIzqnCXq-40lhw$a9rsD9~CR*xS`9<@xEJ*gJrvFa$L%FN#4>a+n$@d={*8? z+;Lb5%SEH^7>tw!BMoA?-Zc=CxB&@W0o#P(10er6r=UShqqBERmhhr6ibzGzFcV-t#;?KeC&OH(9rJAeTVqqKm1F_ z{YGtGUk`utKYyp;9Dn)L4nFhcdjfD|7|QpoYnqzZbaY+A&^4AVn(qPA(4OA8pGTkG zq5RcefSg)i59a;$2K#$Ccf(4L`B09ba;1vxNMeaNy51;87XCl29jb=wY5CZmYficK zOd98n=>mm2nD4XpJ2xRj;LG;!yJ*m&!+uNqHvDX6s3+v zOqaZB)6AI-LWrLHHEa2HWXa&Aqv<Z))vgF6RE4=l+pQKPyZ|qz;&cD3pR$hJC87rckwMA3WeemOFF13rJ@y#^NAcM*O zj81-kkgrM(Pr+~zCM%vQaikqhC>LN)Led+nl9iLx%Y}w)sqk3wLK8x9!05ayOdMeb z%Pco6i_y+>p^jx<8m?b8^Zhm3zGgPCe3uYnft2#Z%&We5?Xq=)?8s+%cF(~;^|F&? zlO}`lD(4!zf@M;|#;r+y>#}Q@lsQVIu`qGanF6K|&@+#lE-&(1m-jQyB;$1B%l<#J zdw)YHM6Gga)NxZOukTL zs!$?dEHPCmQ7D!vmdg}9;NrM0|NNnMBaAQ$qfmAD#*ZGE`62_Qaydw2^dFz*auL&6 zSXV2wx@A$Tt7#^Sf=a)gBPUMr;4ik#YX28+S1r<60dv~edBLi|4PM&K8~yM++{CZ+uF z3$pV$v^X|33>M8F#D88Fn&Vu%aR3$X{M=nXvo%cJ!Jh=+2B21V zShIL8^J!)_Aw&R5QmItS@4gFXYHEsdxg5l@Se8mXuT;Xc_PT2XdS6wUXsMnqkR%OB zcM=w4HI{TkIu=b3N#WPrvMh^Yu^3E_qr_KZy1};ha)z zt`a9tj-s2yks7*ii3yvtb2Kst(#Dq;k)G5~MeBk4spY^qxC|h*r5?*wVLsxow+AtO~$)=NJ z(kU{jB(~#V8vX+%>B?rf;-Yh~Y+IF=u$^$;Y5cCJ{KhyJ+dcz;q-*Hj|Dl*G6lX23i1nFdg zls6?)NiN;8k#(zh zVQpP1SkU!?sa-!W_TR4Az)zn!!ZQa>18~!ITX|}-8!ahW(W?T)eG3P0FRW>rMmnAL zv|<$CDV0i`oTzd-4I1?uVPp{J(@DJ7Lk zg+ie~KA)%N^^JZeSG`^j0*ej9Ae~Or+uKVjl|l%CZ95##OAbsKj8xTorOzlcppBDs z3-qOWX%sYnZZ;#pky5UnX`PpX9Uqxw!Qf*4zt_Ez<%3<^uw{q~mS@qBl*?sKj~6+b z7aXlNYPdDnBjZYT%-=Fv*zjOO7^!4;0aQM)tzRZc? zQSycIjEu-l*Iq_nPZxE+u1PFKEM~R^Rn3-&nNXP|k@Gc6bz-S*ZoAz*TU>q2t=rZseTWwC4*+fkF_xVVmkhK+E2IYNgkHx6>sk|{LJQx%qi2fJLJ zNXIFZ>m4 zrQ>v`6ZB*g^kx%uWfJsc;`C(`y#A`Stel_2vci#5y>8(+c1vaX;1D$p%{0+H33bCT zlz(3j=U*TbUZxXLN=pbadt~||vWr*G<6=PRd%UgvD#f}~rvw8Hma$!|nogW`mELDHP=9-n}OVWjP)wxS~{8Mk`6aW4w zU--e({M{Xw@$?A%{3twr0v6>YOS)k&<+Ay=?&RWi3wZ67>v`qHD@n#*nCHWFCBr2+ zo`;bV6l#K+lOcMaDKO&_r%Hw*-CBWxT#Q^UM>d;9*V8yoKbB<$lkX1mnVNR}gx?SN zlVKPP3=A}A;grjY0n>Foh(RhAi%d;TVN0C}(Z{IUL)A4%7?N`a1*`iY6;tQXB04$; z)-eW02=Ql9$`1%3zC=@ghm`V7b9xld(PrZp2e|L)6Rhsnu(bq-#~miE7*!c>LA)R_ zaERkoVKyuDCn1$e1OiR5SS*n7ZnmRSl1GjzAE$3|9o7w~8}md#-H3h&*T~oezudNy z?>+Dc`C>?urc+7oc;jo>vT+sf`OsY)KQ+5@T)+40uj9gV)-{~Z$Nuqd9M`2QlO~r< z)0NGT&7{a>(jHh*z$Ip$Z7^ZyH0sU(CcLdQK-VOOCXiBKIdoJ`H3TF~mvQ5-+V2XpT7ZDsuz&u!k_%_ zPcS?>(Q%uoeee(8$W`a9Bw-Ltm%sI6ShmBwo-~8qDf+t-^ktLu=Hm2b;`C->bf-I&eHl=6?yw!P=WX4}`i*zI&l^22@5 zpHk1qut!LmntGlLPeC~5P4OT=6jjQ=1XIAX!xl&KQBgs~91#xtF*S&rKGi2{t5Rpyx06oTW&%ycJI zHq(+W$i&0!rBbOxKA$I_&j+9-olcX><;dl79S1Icrc=AgFO1nP9>_1S>Ss+U-Le#8 zqK`21hzDK zxar!@VJ|tkX4`K3zR(hSy2hG6Xl7mq6#n?DMM%v7hGX3T1 zCD7?U`PzGLZunlQS)7`za%{ZH@$o9BCaVljRvDS9GBkfa#d^5ko+K>j&!OQ`C{-y| zrp=rtmPm1QN&!8I>a0&s7I9t4Sia28!_#ig{eS-sHZ1ESrm4b-)oO)_!V8l{C8d0~ z5aK3aJ@7dxluEOa;_wH&~cjM}%9G-%OIY~@EyM34IlB0Q*$u&_?gDIz}6EZZ_ zkM*Tseijzy2-5xAnGk|ZCPOBZVgCI2R4Ntn`8+NhyCKgqSa-JUPv}FM8|AByd3$Skr3s#w}L#8w_-%(RCA*DLRKWFf_rI`LLo_ z^5`*z#0^cc41VWPv7uIkOBXA)=h!URLymK&CsPMxa$Y1T4q%u)7YWx};cB`)ig%N*W4C4WuE{twh9T3trB~l5vye zgC@%dTkp4;Et#sRf`k6_Ki_#fCC^!-#IkDOR1kIzX;-l8RjSnr#bTMaT-rl#PT)#O z&4!Z`)sEtp?QG{{iX(MUuZ|d#Qxz69b z5xZBeZoS7XM-2$db@hB!EcJZVJR!Zh<1>u{$1CMvxgpq*XpC22{Dp~ASMg^a0~OOk z)+uGG=Q(UpLWJuVBmZPp=v9457qiU$lqo24DZXdK0`Ft*&#|vea zBguQfXVM2hHFfUM(@mLP2Od|Sxi}eKRdU}n*&X(DvV#XVPC z(p3G7-&fQe1?(y|lxi-I?>@={kL}{|?FablKmKhr!^CzQ&uFSp$l%PJQliP1gekBB~<^vD5rqtT)VrbvwFQA1Pqr-o+7_#1~EJ7^zP6#X#4ua?b;gbN|DSbF3-;=IF`O96foOdw%o~*>s9? z)~{sChSh9ZyMk2m%v5L36x_sh#dh?k)QdD}s?NlhN}s4Gtp%k*Dk;>|@@6w5v}-mV zkzO}d$5pH=5LB$eSXrsE7HX}&=$K9*FTW_)1c+i_o+WksVlq<~^rh6bikjnwz^71y zyf+=0R2{Q29YKanEJLmr*35?sBLFD%f7?6vAi3`9&VSCm{g~;Vo=4A&G?GRy>tS1d z$=F~g4z^iS0XqbiIInfW79@eNm2B)Jn~(((*pNzUSuiA75<)1)OLkKs0bCG*SuX^G zV=N09$(Ai!9?8-uk~O0l&HK^svw!^V?Y`a9^O9zIy2rmyRaf8s-P<##Z+D;m-t#-Z zbHejSsJ6t~=}4@4vrX%3)(F=TZr`bV<2XEi3hvpf3r>A3hj3VUwsG&<%v5^5%2nDAj~*}Pv8gK4vnisH5algU%tb_M z3NB2U--c=ylzllw=ZyPb-QXf`|2W4R@TUd+DMH6PMnn)2IFdj@N}-UakjYXQ%)?+B zSJH&N0<2AukXex_W*Txd?~o%*&O$hBL`FD}coHzaUu3 z6-^~VsnMMyMtEckX6ol`wKlaLu9T90eQ^_Up{K><$81iRE2624`C*<+dr=)P8WZ#x zf{ErN{Ar{}Nf5;&T=LxadcbwWG)ioqyDy#7qTrcGmjuwjl&NZ3{2Ky^sLqM}v^GI| zOHEodSYNY-#KOWIJC(;yz&HC~L%jU6khsJ?R6&}I`=^pBZkh`ECK;SUL%HEB1vVgyNZ$n;7H zIVKdF&BMr4hNq66;;Co*IQ0Ap#wVxd{Xae3N%rsC!~SdbuxIC1LhkbFRfGhh;Zh0o zs9z2}R9eOy37KfjRK`SFE=-$g6fmLQj%Fj`@@l4#CeudH1wVNq#|W4f&!HwNL`>ys zC(EUy-b%5FG{t-$UjR*4Bw4#+@|*72yZHIPj43MXYwCdhG1JFtGF`p`6wLQH;fdbX zh`IN_pR4`d%x0By6M6c_3XGBWbi4;V^Zcw0JQVc9pQ}_sRvH{;T)X)Y`?Fu~I%#vKhLX^1S&! zeUj;vSy^!16&v{WC*MU^+uTBb{<+8j`Mi=V7@3#NsdwRN?sIwdx}&Qp99mEc-jrP) zDRxd*Of~(2cc1sB{feF0)wG1ksglkM*@9b?l76FLBYaEmMe$yP+of|<`JPqAqvD}F z@4R;L)l^IMH46!x?NxUGs=CNpjM~!3PG>r!eDy{1;fuIt?()RNQX+CJZ03J`Dt$>l zube)2o+B^xapc$uPM@7W7d+M!<@&34ar3o%xapc*B;qk#ZQd}2Qxr3vkO}7NSQaN=&|&$DPljmIw$(K$kgXblFb@NGoRR4YfhaX zW#^_+YmUjZa%LRPj>CatXZde``fzbyXIq@Z4?n=h7MU}(UdsZ5xq`_XJvricnK#MK zS9CykWQOU;Mpjzeo}EA8#=i{|XC6qlWYQ*VxCy%LWIw{BIQJY#-Hjt)X+ zvq{kEAD`PX*Vm(dNLCzS=hn^a+`5_j-gXD6=?PvqeuAfup5UpYuaM4^F2!b2X$~Ad z#(~4fOjEvHTe$7|UG(;J(bJuzyR!o~6e)_B%3PQE@TakwLuUT9$!nn294;3#ujQ$v z`B2s3ii)6MNqeg;{IOK7BrMbUr3sU;10lCm+a&D0C#})ac(r5v`{39rp9AY_>Ws)d zIbW(qSWl!)9?L|=%Wqj=>N8PA0IlQ&O}z>mpP;w_NJNEeHkjr4hn_C~=Xf*a_5>CfT%UQ?ZcW#KZ(+V`I3kOIuqTZEbDE>cwkG?OViJ=CHHFbhI5$!7aV; z+yGphHF+u*rb>y(KCMxcP}|m2DqL5ZCvSsWZUSy%Hl5}1BmI2+Kp+3~{g*jAR7#pr zRbDu8mKRQxFMI54Pq1}k2itp+Y~Pe*%Z4Ofok`-Y9b`0&Vt({C#$j`-S;m-%*0+PH z75>ufpb$yrN=$2)cvFQzapH=Nh*?%15h)gs+z>C{ z7o7SG=6sE(OwL{~q8oNfd0&S%Euq$bz zHuL!r5h0OCkVqsb6bejDO))k$#^~rMBO@b(LZRZSsKu6^uNGF|)Bz&G8@4Flc-c(( zy!~oZ6!7?v`LWs(FA17tbE$^RVsqck(J*)4vYWea+0Fm_jkj|2l?#0RKp$U!s*k5% zJWI9N$%|u?TpXL^$ni6C_H9hIvb#6QHQSQx=}j`VC5iSXxnffX(a8GxDCG-UE>Z%~ zl~lf5wD{ZAR*LyJQZ7o`Dus%l*Ay6A%6n|F)C(d)EMlU#JryOM3aZ8YyPyCXo-vhz zgRUs*s>$*3a(!9@)7tA{MP!g$_w{n?zFq)ECueaTht{~TIRR`k;7lGQ!1+7l}k7#mG)mQ%x2w09N4C4au0Wr^^&d+S3WI-y-bt zR$HB$Ft!80!p@IwCxeP>5_ zb!d!yl@i=OgCi3Rj!f|6bEnJ39Y@&O-O8TcBzt;0*|Wt6piRjZnj)d%EgE)<+pfFn zOONN^hu8g9471r%eT(4Z#ioFQH8Y|i<9MT?xq>A)7IJJv#q!$45h>>1Rd#C57fdzr z%E-_8sksF{V__|u>hiZ6rJmJ7bR_03g$%oRF#og6R9~hYA(oPVYp_aiPp5PP$b@UUE15* zX>V^Qm&-9RF~RuwI73523=IttjYes2Z>O!TZP7l4mx~oRb;SN2=pTiHXW_?pE6HZz zExXN9Uq2@!nCKf!_|4|c3Yd}EQo`v%xDq3_`Fd{Yxt^N~<_pph%|m*esqqm8hDPW+ zH%i~Ri}alxp?`3E-io+|g3>=YPXFLI-+JcMl3uIp2+^YO3DFdB141Z7bHt@75-t-( zk%&uE*gGcT5(&9P!$vqcu8TM>I3W<1g1D%-sD!+}-XRKNjtjXi;ZTTB$lNza9AXjE zI%8wY;$r1;m&{sL2Cw7zLzw5`TeqDVM=4(tr4T5 zZ@O^@7asX-zWZ!Hk00r$w>!Z-R|=WDa$(BkKMhWq^oB2ezm(TAoyu}C9p-zdm5W|a zD_3A^n-Mi1{EM%#p(D;!+q$@FYbS5GdJCZyy!Z@-LL`$(lF205Y_=$N{0ho`alf{< zwpD5BYXwdn5e*49ZZ?fNPmh`091*Gd#b1nq28vkuQ!L(UsB~aFB-#HWQDc+wQ;opYFt4?<Z4(FH0+v!R^bqiBRC>nVJz|b z--y=(M~d5m;5f_MmOySyaLhdR_j`{i{qM5<1fE}EixaTZe;mB8wom+f=6Mdr!M@|R zD{K9>EXFSa7ghCLBGL&Q2L2FuP*p$aA0#5L1MUEB0k#5P23`+52z*#o9~Y6&0`CAG zsqt&DEI`;5k}*hDSvBp~d7AWEummHs<0*4r%`G*Dv`q8_@BQuQ3b$uj3A);1+X!xPoP6l?>9Xg!@lN{3N{>U1IX5p2r1`>Q&y~hqhv`Ruuj>C!WpYG9 z?qyY34u`{Zc6QR)*-0joVSL=I#2OeFU|?W?csx!rnWU|)ZSg<0M6AH6Gj=7RZy26A zcXy2O zWS1?7R-1G-Pdb}tYBsahrqm@N*QrN=^N+xn0*`aRO~92R@(xTC=K)M-^2gNF#5f}& zAra~Jj{UCp+(&^Q#|oT=AsQ08L#Fs=HB^;UVEQ?D?>F2Xnw}d80GcZM9rTH{M45Y@UbsE!IfJ(+1s1sm+rZdx4eGWCEFW`MCk7Brn|eFbUIyZx|vF) ztiV~%I3m2ES9!D#jt;<0Th`j5#c7I!*tesbeLK46>{C_K!zIuwYBH@%%oZ4($umBa zBbCjO&E?4E@?^6)M02>B!zGVH4o7oP$RV0X3pujcJn3w%C`!_vja_L}6WJ1muqdKP z*in`-C=4LmU{G0=MHEK%C8!Yg08w_6uoH1XF+o&Tg@_!2G_uMf5Fn1jA`(!a7!eYp zAZQ>E2qCDDymn^J{CYoL|ESZa``)^B>V8#y&+WQZxx?W};fX14)Z?ttLJT)yAj^%F zU>t`!pi)(|l~8m8a1+lx3DHTmy;;B``H!O8%G%^d=R zH^mnj-B{(I>k)AIf={h)?Pq1r6kSuLkVdK3p+{`b6A4#;Z*VQ917yQ?i|b?N0TH+l z`=fWCz6Yrzdu8MzH*3@0zk>KD|LPW7RzWNRrl%{tKSNONaeAlssg;?TZ?}b5uTPnR zbB%JBTU~r{oEgti-WnP%^C)L`D{K!~(MG7VhtLx8T)L~f zyR^}Gx;hlJ**D6n7`@ZJuNmboXT7(!o*vVW#_D=^8SDtsq=nD72a4r(*}MK3;obeR zVpl=SK(P_J$?KuVtB1kE;XEZDPv0F&zaV_{H?G z-5<_v-*guxaD!xQjqTj#Q$|mx`8Q>L-vNW2HS;X)^BC__EWr5k89W^-NdhT#X(3fX z?X~x#-z>KIZfS6jnqCq5tt%tm?V%ThE_cN!`KY@-yUZ34-DZvInm8_Yz=Uq$bWdE~uVZlB%Sa!PYn2^g4> zIC=4GC%U-V%HKnma!@PZAv+xIQ~0pV!(>?+_nED_|6R`&%V!jr3DkWNrY>(Y09vo_lr4KHeO-aD}~oB)A%B=y7%6( zRhC`4wyEugd*=4_S-?f)}-3A&^O4p;vMo=bCOPcIghl@ z@fF>eUWR+6yfkDgcXx33?FM-eer-w1 z>}l14X~96I>_%&Dc(ynz1F+l&1G5T;bp6;W!!E{2WEsJrET>^!%E6+P>sK!u1yy>R z_F`dyS`kMr5v!H;o<=8dUS? z_xU`nn3~)N7Z9^&e5{LZgxxn7tHlKknSDCob?qh0NF}e@Q>HuAB_0=T3XmUElGLmV z&G=E9;h*O$muuUUFl((mSL`wg+qZCchpq5S?`d#LrxtG}eS(Y=>}%nX0<{?Gmy zP+i))7uWA>>OQKFM+~43teB`PE_JPq<5cqcLu)1Wd(cu)gP#T)v9?JfMn7jFxhU#L z>nGI-cwMpf$?cojfbHxqZIuG69!@u2&r}8<2ZcI2wtqYz`EJ+^57pxecSx-Rd5~9oxkr^O8$XF@|x-!}b z0j}&n>5m0to;|N~F^3=0n*QjG4BUP{^|+&4Et`hEFqjzSc(2lo6ARJ=PEg|^_Ky%w zgC@x0F@=G-G5k{im6u)5cWC@A%z~U@ykF5+eVcgkF`W-P3DMY}6fH=t_MG00#&SSz zAy+ugSq&k} zb$Bqiw@-XyKDBvbQfNX=!(WqdtC_Pf;hhr!SkZ2(;;wM4D%XUG`mD>Mo|yoLx5A$_ zCB$ab@Gz_=_<0)$C9{4MJR1UkND3e_nC*OcTXSdZ<_H8s|C9b+A8_&**Y_<~Dv$(o zP(Lr(eV0^jBhy+N8VN|Ac(+@j{L`jptja3C}iKt&}2u*@tYCry>7j8vg zCr-!w-HUkm8bfrd$E={q(X#fcL#( zG-w546xll`1<}4+_C1pvLYDMXt$4f%z|KL32&^rp>wzb*RnOpKzIF?mKY~~pC9)6g z{Kich$3Z+E`U?-BRz@S^D8~Qb0fGP5P-`Cj<(irwTRo=!WxV|@OHGi$|K$t*zlKE7 Z?wzSIik-4KU1H#M%E`^K!9MuXe*qR>#a;ja literal 0 HcmV?d00001 diff --git a/manuscripts/ORE/source/figure/temperature-by-category.png b/manuscripts/ORE/source/figure/temperature-by-category.png new file mode 100644 index 0000000000000000000000000000000000000000..609d30cbbd729cb583120854894bd17eaab830d5 GIT binary patch literal 46967 zcmaHSbyQSe*e)d?Ih1sRFw)&2At^C*cS$!$D=jJAUDDkl-5t{1-3|Bf`|fxDyt5XI z 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 A_W%F@ literal 0 HcmV?d00001 diff --git a/manuscripts/ORE/source/index.rst b/manuscripts/ORE/source/index.rst new file mode 100644 index 000000000..12b93ff6f --- /dev/null +++ b/manuscripts/ORE/source/index.rst @@ -0,0 +1,95 @@ +#################################################################################### +pyam: Analysis and visualisation of integrated assessment and macro-energy scenarios +#################################################################################### + +Daniel Huppmann [#ece]_ +Matthew J. Gidden [#can]_ [#ece]_ +Zebedee Nicholls [#cec]_ [#gea]_ +Jonas Hörsch [#can]_ +Robin Lamboll [#ghi]_ +Paul Natsuo Kishimoto [#ece]_ +Thorsten Burandt [#wip]_ +Oliver Fricko [#ece]_ +Edward Byers [#ece]_ +Jarmo Kikstra [#ece]_ [#ghi]_ [#cep]_ +Maarten Brinkerink [#mar]_ +Maik Budzinski [#epe]_ +Florian Maczek [#gra]_ +Sebastian Zwickl-Bernhard [#eeg]_ +Lara Welder [#can]_ +Erik Francisco Álvarez Quispe [#iit]_ +Christopher J. Smith [#see]_ [#ece]_ + +Abstract +======== + +The open-source Python package *pyam* provides a suite of features and methods +for the analysis, validation and visualization of reference data and scenario results +generated by integrated assessment models, macro-energy tools and other frameworks +in the domain of energy transition, climate change mitigation and sustainable development. +It bridges the gap between scenario processing and visualisation solutions +that are "hard-wired" to specific modelling frameworks +and generic data analysis or plotting packages. + +The package aims to facilitate reproducibility and reliability +of scenario processing, validation and analysis by providing well-tested +and documented methods for timeseries aggregation, downscaling and unit conversion. +It supports various data formats, including sub-annual resolution +using continuous time representation and "representative timeslices". +The code base is implemented following best practices of collaborative +scientific-software development. +This manuscript describes the design principles of the package +and the types of data that can be handled. +The usefulness of *pyam* is illustrated by highlighting several recent applications. + +Package metadata +================ + +=========================== ===================================== +**Current stable release** v1.0 +**DOI** https://doi.org/10.5281/zenodo.1470400 +**Code repository** https://github.com/iamconsortium/pyam +**License** Apache-2.0 +**Software code language** Python≥3.7 +**Operating environments** Windows, Linux, Mac OS +**Code versioning system** git (GitHub) +**Documentation** https://pyam-iamc.readthedocs.io +**Mailing list & forum** https://pyam.groups.io +=========================== ===================================== + +Table of Contents +================= + +.. toctree:: + :maxdepth: 1 + + chapters/intro + chapters/datamodels + chapters/pyam + chapters/applications + chapters/outlook + chapters/appendix + +Author Affiliations +=================== + +.. [#ece] Energy, Climate, and Environment (ECE) Program, International Institute for Applied Systems Analysis (IIASA), Laxenburg, Austria +.. [#can] Climate Analytics, Berlin, Germany +.. [#cec] Climate \& Energy College, University of Melbourne, Australia +.. [#gea] School of Geography, Earth and Atmospheric Sciences, University of Melbourne, Australia +.. [#ghi] The Grantham Institute for Climate Change and the Environment, Imperial College London, UK +.. [#wip] Workgroup for Infrastructure Policy, Technische Universität Berlin, Germany +.. [#cep] Centre for Environmental Policy, Imperial College London, United Kingdom +.. [#mar] MaREI Centre, Environmental Research Institute, University College Cork (UCC), Ireland +.. [#epe] Department of Energy and Process Engineering, Norwegian University of Science and Technology (NTNU), Trondheim, Norway +.. [#gra] Graz University of Technology, Graz, Austria +.. [#eeg] Energy Economics Group (EEG), Technische Universität Wien, Vienna, Austria +.. [#iit] Institute of Technological Research (IIT), Comillas Pontifical University, Madrid, Spain +.. [#see] School of Earth and Environment, University of Leeds, UK + +#Scientific References +====================== + +.. bibliography:: _bib/main.bib + :style: plain + :all: diff --git a/pyam/core.py b/pyam/core.py index 9106ed797..c39838ce2 100755 --- a/pyam/core.py +++ b/pyam/core.py @@ -75,7 +75,6 @@ verify_index_integrity, replace_index_values, ) -from pyam.logging import deprecation_warning logger = logging.getLogger(__name__) @@ -234,16 +233,6 @@ def __getitem__(self, key): else: return self.data.__getitem__(key) - def __setitem__(self, key, value): - deprecation_warning("Please use `set_meta` or `rename`.", "Item assignment") - _key_check = [key] if isstr(key) else key - if set(_key_check).issubset(self.meta.columns): - self.meta.__setitem__(key, value) - else: - df = self.data - df.__setitem__(key, value) - self.data = df - def __len__(self): return len(self._data) @@ -395,16 +384,6 @@ def data(self): return pd.DataFrame([], columns=self._LONG_IDX + ["value"]) return self._data.reset_index() - @data.setter - def data(self, df): - """Set the timeseries data from a long :class:`pandas.DataFrame`""" - logger.warning( - "Setting `data` via the setter can cause " - "inconsistencies with `meta` and other attributes." - ) - deprecation_warning("Please use `IamDataFrame()` instead!") - self._data = format_time_col(df, self.time_col).set_index(self._LONG_IDX).value - def copy(self): """Make a deepcopy of this object @@ -446,52 +425,6 @@ def equals(self, other): else: return False - def models(self): - """Get a list of models""" - # TODO: deprecated, remove for release >=1.0 - deprecation_warning("Use the attribute `model` instead.") - return pd.Series(self.meta.index.levels[0]) - - def scenarios(self): - """Get a list of scenarios""" - # TODO: deprecated, remove for release >=1.0 - deprecation_warning("Use the attribute `scenario` instead.") - return pd.Series(self.meta.index.levels[1]) - - def regions(self): - """Get a list of regions""" - # TODO: deprecated, remove for release >=1.0 - deprecation_warning("Use the attribute `region` instead.") - return pd.Series(get_index_levels(self._data, "region"), name="region") - - def variables(self, include_units=False): - """Get a list of variables - - Parameters - ---------- - include_units : boolean, default False - include the units - """ - if not include_units: - _var = "variable" - deprecation_warning("Use the attribute `variable` instead.") - return pd.Series(get_index_levels(self._data, _var), name=_var) - - # else construct dataframe from variable and unit levels - deprecation_warning("Use the attribute `unit_mapping` instead.") - return ( - pd.DataFrame( - zip( - self._data.index.get_level_values("variable"), - self._data.index.get_level_values("unit"), - ), - columns=["variable", "unit"], - ) - .drop_duplicates() - .sort_values("variable") - .reset_index(drop=True) - ) - def append( self, other, @@ -619,7 +552,7 @@ def pivot_table( df = df.unstack(level=columns, fill_value=fill_value) return df - def interpolate(self, time, inplace=None, **kwargs): + def interpolate(self, time, inplace=False, **kwargs): """Interpolate missing values in the timeseries data This method uses :meth:`pandas.DataFrame.interpolate`, @@ -635,18 +568,6 @@ def interpolate(self, time, inplace=None, **kwargs): kwargs passed to :meth:`pandas.DataFrame.interpolate` """ - # TODO deprecate and add kwarg inplace=False in release >= 1.0 - if inplace is None: - deprecation_warning( - "Behavior of `interpolate` will change to `inplace=False` " - "as default in a future release. Set the kwarg explicitly " - "to avoid this warning. Use `inplace=True` to keep current " - "behavior." - ) - inplace = True - ## - - # setup ret = self.copy() if not inplace else self interp_kwargs = dict(method="slinear", axis=1) interp_kwargs.update(kwargs) @@ -1117,25 +1038,12 @@ def rename( duplicate_rows = _data_index.duplicated() has_duplicates = any(duplicate_rows) - # keeping previous behaviour where naming conflicts within the renamed parts - # do not raise an error if there is overlap in the renamed data - # TODO: deprecated, always raise an error on duplicates for release >=1.0 if has_duplicates and check_duplicates: - _full_index = _data_index.to_frame(index=False) - _conflict = _full_index[~rows].append(_full_index[rows].drop_duplicates()) - if any(_conflict.duplicated()): - _raise_data_error( - "Conflicting data rows between renamed and not-renamed data, " - "use `aggregate()` or `check_duplicates=False` instead", - _data_index[duplicate_rows].to_frame(index=False), - ) - - # TODO: raise this as data error for release >=1.0 - else: - deprecation_warning( - "Use `aggregate()` or `check_duplicates=False` instead.", - "Overlapping data rows after renaming. This feature", - ) + _raise_data_error( + "Conflicting data rows after renaming " + "(use `aggregate()` or `check_duplicates=False` instead)", + _data_index[duplicate_rows].to_frame(index=False), + ) ret._data.index = _data_index ret._set_attributes() @@ -1215,12 +1123,10 @@ def convert_unit( pint.DimensionalityError without *factor*, when *current* and *to* are not compatible units. """ - # Handle user input - # Check that (only) either factor or registry/context is provided + # check that (only) either factor or registry/context is provided if factor and any([registry, context]): raise ValueError("Use either `factor` or `registry`!") - # new standard method, remove this comment when deprecating above return convert_unit(self, current, to, factor, registry, context, inplace) def normalize(self, inplace=False, **kwargs): @@ -1244,7 +1150,9 @@ def normalize(self, inplace=False, **kwargs): value = kwargs[self.time_col] x = df.set_index(IAMC_IDX) x["value"] /= x[x[cols] == value]["value"] - ret.data = x.reset_index() + x = x.reset_index() + ret._data = format_time_col(x, self.time_col).set_index(self._LONG_IDX).value + if not inplace: return ret @@ -1681,7 +1589,7 @@ def check_internal_consistency(self, components=False, **kwargs): subregions """ lst = [] - for variable in self.variables(): + for variable in self.variable: diff_agg = self.check_aggregate(variable, **kwargs) if diff_agg is not None: lst.append(diff_agg) @@ -2309,42 +2217,6 @@ def load_meta( # merge imported meta indicators self.meta = merge_meta(df, self.meta, ignore_conflict=ignore_conflict) - def line_plot(self, *args, **kwargs): - """Deprecated, please use `IamDataFrame.plot()`""" - # TODO: deprecated, remove for release >=1.0 - deprecation_warning("Please use `IamDataFrame.plot()`.") - return self.plot(*args, **kwargs) - - def stack_plot(self, *args, **kwargs): - """Deprecated, please use `IamDataFrame.plot.stack()`""" - # TODO: deprecated, remove for release >=1.0 - deprecation_warning("Please use `IamDataFrame.plot.stack()`.") - return self.plot.stack(*args, **kwargs) - - def bar_plot(self, *args, **kwargs): - # TODO: deprecated, remove for release >=1.0 - """Deprecated, please use `IamDataFrame.plot.bar()`""" - deprecation_warning("Please use `plot.bar()`.") - return self.plot.bar(*args, **kwargs) - - def boxplot(self, *args, **kwargs): - # TODO: deprecated, remove for release >=1.0 - """Deprecated, please use `IamDataFrame.plot.box()`""" - deprecation_warning("Please use `IamDataFrame.plot.box()`.") - return self.plot.box(**kwargs) - - def pie_plot(self, *args, **kwargs): - # TODO: deprecated, remove for release >=1.0 - """Deprecated, please use `IamDataFrame.plot.pie()`""" - deprecation_warning("Please use `IamDataFrame.plot.pie()`.") - return self.plot.pie(*args, **kwargs) - - def scatter(self, *args, **kwargs): - # TODO: deprecated, remove for release >=1.0 - """Deprecated, please use `IamDataFrame.plot.scatter()`""" - deprecation_warning("Please use `IamDataFrame.plot.scatter()`.") - return self.plot.scatter(*args, **kwargs) - def map_regions( self, map_col, @@ -2438,11 +2310,13 @@ def map_regions( if agg == "sum": df = df.groupby(self._LONG_IDX).sum().reset_index() - ret.data = ( + df = ( df.reindex(columns=columns_orderd) .sort_values(SORT_IDX) .reset_index(drop=True) ) + ret._data = format_time_col(df, self.time_col).set_index(self._LONG_IDX).value + if not inplace: return ret diff --git a/pyam/iiasa.py b/pyam/iiasa.py index 5cc6f04ad..57d657a0d 100644 --- a/pyam/iiasa.py +++ b/pyam/iiasa.py @@ -19,7 +19,6 @@ DEFAULT_META_INDEX, islistable, ) -from pyam.logging import deprecation_warning logger = logging.getLogger(__name__) # set requests-logger to WARNING only @@ -64,18 +63,21 @@ def _check_response(r, msg="Trouble with request", error=RuntimeError): def _get_token(creds, base_url): """Parse credentials and get token from IIASA authentication service""" - plaintextcreds = True # try reading default config or parse file if creds is None: creds = _get_config() - plaintextcreds = False elif isinstance(creds, Path) or isstr(creds): _creds = _get_config(creds) if _creds is None: logger.error(f"Could not read credentials from `{creds}`") creds = _creds - plaintextcreds = False + else: + msg = ( + "Passing credentials as clear-text is not allowed. " + "Please use `pyam.iiasa.set_config(, )` instead!" + ) + raise DeprecationWarning(msg) # if (still) no creds, get anonymous auth and return if creds is None: @@ -89,16 +91,6 @@ def _get_token(creds, base_url): user, pw = creds["username"], creds["password"] else: user, pw = creds - if plaintextcreds: - logger.warning( - "You provided credentials in plain text. DO NOT save " - "these in a repository or otherwise post them online" - ) - deprecation_warning( - "Please use `pyam.iiasa.set_config(, )`" - " to store your credentials in a file!", - "Providing credentials in plain text", - ) # get user token headers = {"Accept": "application/json", "Content-Type": "application/json"} @@ -118,7 +110,7 @@ class Connection(object): The name of a database API. See :attr:`pyam.iiasa.Connection.valid_connections` for a list of available APIs. - creds : str, :class:`pathlib.Path`, list-like, or dict, optional + creds : str or :class:`pathlib.Path`, optional By default, the class will search for user credentials which were set using :meth:`pyam.iiasa.set_config`. Alternatively, you can provide a path to a yaml file @@ -130,11 +122,6 @@ class Connection(object): ----- Credentials (username & password) are not required to access any public Scenario Explorer instances (i.e., with Guest login). - - Providing credentials as an ordered container (tuple, list, etc.) - or as a dictionary with keys `user` and `password` is (still) supported - for backwards compatibility. However, this option is NOT RECOMMENDED - and will be deprecated in future releases of pyam. """ def __init__(self, name=None, creds=None, auth_url=_AUTH_URL): diff --git a/setup.py b/setup.py index ff50cafba..d50d354ba 100755 --- a/setup.py +++ b/setup.py @@ -13,8 +13,8 @@ # NOTE TO DEVS # If you change a minimum version below, please explicitly set that -# in our minimum-reqs test in the file -# ./.github/workflows/pytest-depedency.yml +# in our minimum-reqs test in the file ./.github/workflows/pytest-depedency.yml +# Please also add a section "Dependency changes" to the release notes REQUIREMENTS = [ "argparse", "iam-units>=2020.4.21", diff --git a/tests/test_core.py b/tests/test_core.py index 38b4ab2ad..5e5dfa85a 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -267,7 +267,7 @@ def test_equals(test_df_year): # assert that a copy (with changed index-sort) is equal df = test_df_year.copy() - df.data = df.data.sort_values(by="value") + df._data = df._data.sort_values() assert test_df_year.equals(df) # assert that adding a new timeseries is not equal @@ -324,34 +324,6 @@ def test_unit_mapping(test_pd_df): assert obs == {"Primary Energy": ["EJ/yr", "foo"], "Primary Energy|Coal": "EJ/yr"} -def test_model(test_df): - exp = pd.Series(data=["model_a"], name="model") - pd.testing.assert_series_equal(test_df.models(), exp) - - -def test_scenario(test_df): - exp = pd.Series(data=["scen_a", "scen_b"], name="scenario") - pd.testing.assert_series_equal(test_df.scenarios(), exp) - - -def test_region(test_df): - exp = pd.Series(data=["World"], name="region") - pd.testing.assert_series_equal(test_df.regions(), exp) - - -def test_variable(test_df): - exp = pd.Series(data=["Primary Energy", "Primary Energy|Coal"], name="variable") - pd.testing.assert_series_equal(test_df.variables(), exp) - - -def test_variable_unit(test_df): - exp = pd.DataFrame( - [["Primary Energy", "EJ/yr"], ["Primary Energy|Coal", "EJ/yr"]], - columns=["variable", "unit"], - ) - pd.testing.assert_frame_equal(test_df.variables(include_units=True), exp) - - def test_filter_empty_df(): # test for issue seen in #254 df = IamDataFrame(data=df_empty) @@ -360,18 +332,16 @@ def test_filter_empty_df(): def test_filter_variable_and_depth(test_df): - obs = list(test_df.filter(variable="*rimary*C*", level=0).variables()) - exp = ["Primary Energy|Coal"] - assert obs == exp + obs = test_df.filter(variable="*rimary*C*", level=0).variable + assert obs == ["Primary Energy|Coal"] - obs = list(test_df.filter(variable="*rimary*C*", level=1).variables()) - assert len(obs) == 0 + obs = test_df.filter(variable="*rimary*C*", level=1).variable + assert obs == [] def test_variable_depth_0_keep_false(test_df): - obs = list(test_df.filter(level=0, keep=False)["variable"].unique()) - exp = ["Primary Energy|Coal"] - assert obs == exp + obs = test_df.filter(level=0, keep=False).variable + assert obs == ["Primary Energy|Coal"] def test_variable_depth_raises(test_df): @@ -734,35 +704,26 @@ def test_interpolate(test_pd_df): _df = test_pd_df.copy() _df["foo"] = ["bar", "baz", 2] # add extra_col (check for #351) df = IamDataFrame(_df) - df.interpolate(2007) - obs = df.filter(year=2007).data["value"].reset_index(drop=True) - exp = pd.Series([3, 1.5, 4], name="value") - print(obs) - print(exp) - pd.testing.assert_series_equal(obs, exp) + obs = df.interpolate(2007, inplace=False).filter(year=2007)._data.values + npt.assert_allclose(obs, [3, 1.5, 4]) # redo the interpolation and check that no duplicates are added - df.interpolate(2007) - assert not df.filter().data.duplicated().any() + df.interpolate(2007, inplace=False) + assert not df._data.index.duplicated().any() # assert that extra_col does not have nan's (check for #351) - assert all([True if isstr(i) else ~np.isnan(i) for i in df.data.foo]) + assert all([True if isstr(i) else ~np.isnan(i) for i in df.foo]) def test_interpolate_time_exists(test_df_year): - df = test_df_year - df.interpolate(2005) - obs = df.filter(year=2005).data["value"].reset_index(drop=True) - exp = pd.Series([1.0, 0.5, 2.0], name="value") - pd.testing.assert_series_equal(obs, exp) + obs = test_df_year.interpolate(2005, inplace=False).filter(year=2005)._data.values + npt.assert_allclose(obs, [1.0, 0.5, 2.0]) def test_interpolate_with_list(test_df_year): - df = test_df_year - df.interpolate([2007, 2008]) - obs = df.filter(year=[2007, 2008]).data["value"].reset_index(drop=True) - exp = pd.Series([3, 4, 1.5, 2, 4, 5], name="value") - pd.testing.assert_series_equal(obs, exp) + lst = [2007, 2008] + obs = test_df_year.interpolate(lst, inplace=False).filter(year=lst)._data.values + npt.assert_allclose(obs, [3, 4, 1.5, 2, 4, 5]) def test_interpolate_full_example(): @@ -793,8 +754,7 @@ def test_interpolate_full_example(): columns=IAMC_IDX + [2000, 2005, 2010, 2012, 2017], ) ) - obs = df.interpolate([2005, 2012], inplace=False) - assert_iamframe_equal(obs, exp) + assert_iamframe_equal(df.interpolate([2005, 2012], inplace=False), exp) def test_interpolate_extra_cols(): @@ -818,15 +778,13 @@ def test_interpolate_extra_cols(): unit="EJ/yr", ) - # create a copy, interpolate - df2 = df.copy() - df2.interpolate(2007) + # create a copy from interpolation + df2 = df.interpolate(2007, inplace=False) # interpolate should work as if extra_cols is in the _data index assert_iamframe_equal(df, df2.filter(year=2007, keep=False)) - obs = df2.filter(year=2007)["value"] - exp = pd.Series([2.4, 1.4], name="value") - pd.testing.assert_series_equal(obs, exp) + obs = df2.filter(year=2007)._data.values + npt.assert_allclose(obs, [2.4, 1.4]) def test_interpolate_datetimes(test_df): @@ -835,13 +793,13 @@ def test_interpolate_datetimes(test_df): if test_df.time_col == "year": pytest.raises(ValueError, test_df.interpolate, time=some_date) else: - test_df.interpolate(some_date) + test_df.interpolate(some_date, inplace=True) obs = test_df.filter(time=some_date).data["value"].reset_index(drop=True) exp = pd.Series([3, 1.5, 4], name="value") pd.testing.assert_series_equal(obs, exp, check_less_precise=True) # redo the interpolation and check that no duplicates are added - test_df.interpolate(some_date) - assert not test_df.filter().data.duplicated().any() + test_df.interpolate(some_date, inplace=True) + assert not test_df.filter()._data.index.duplicated().any() def test_filter_by_bool(test_df): diff --git a/tests/test_feature_aggregate.py b/tests/test_feature_aggregate.py index b797741ca..cefb46041 100644 --- a/tests/test_feature_aggregate.py +++ b/tests/test_feature_aggregate.py @@ -238,7 +238,6 @@ def test_check_aggregate_region_log(simple_df, caplog): variable="Primary Energy", region="World", keep=False ).check_aggregate_region("Primary Energy") ) - print(caplog.messages) msg = "Variable 'Primary Energy' does not exist in region 'World'!" idx = caplog.messages.index(msg) assert caplog.records[idx].levelname == "INFO" diff --git a/tests/test_feature_append_rename.py b/tests/test_feature_append_rename.py index 683876a85..63f1f57bd 100644 --- a/tests/test_feature_append_rename.py +++ b/tests/test_feature_append_rename.py @@ -166,7 +166,7 @@ def test_rename_data_cols_by_dict(): mapping = dict( variable={"test_1": "test", "test_3": "test"}, region={"region_a": "region_c"} ) - obs = RENAME_DF.rename(mapping).data.reset_index(drop=True) + obs = RENAME_DF.rename(mapping, check_duplicates=False).data.reset_index(drop=True) pd.testing.assert_frame_equal(obs, EXP_RENAME_DF, check_index_type=False) @@ -175,7 +175,7 @@ def test_rename_data_cols_by_kwargs(): "variable": {"test_1": "test", "test_3": "test"}, "region": {"region_a": "region_c"}, } - obs = RENAME_DF.rename(**args).data.reset_index(drop=True) + obs = RENAME_DF.rename(**args, check_duplicates=False).data.reset_index(drop=True) pd.testing.assert_frame_equal(obs, EXP_RENAME_DF, check_index_type=False) @@ -184,7 +184,7 @@ def test_rename_data_cols_by_mixed(): "mapping": {"variable": {"test_1": "test", "test_3": "test"}}, "region": {"region_a": "region_c"}, } - obs = RENAME_DF.rename(**args).data.reset_index(drop=True) + obs = RENAME_DF.rename(**args, check_duplicates=False).data.reset_index(drop=True) pd.testing.assert_frame_equal(obs, EXP_RENAME_DF, check_index_type=False) diff --git a/tests/test_iiasa.py b/tests/test_iiasa.py index 76195d57e..4bbf81c4d 100644 --- a/tests/test_iiasa.py +++ b/tests/test_iiasa.py @@ -90,16 +90,10 @@ def test_conn_creds_dict(): assert conn.current_connection == TEST_API_NAME -def test_conn_bad_creds(): +def test_conn_cleartext_raises(): # connecting with invalid credentials raises an error creds = ("_foo", "_bar") - pytest.raises(RuntimeError, iiasa.Connection, TEST_API, creds=creds) - - -def test_conn_creds_dict_raises(): - # connecting with incomplete credentials as dictionary raises an error - creds = {"username": "foo"} - pytest.raises(KeyError, iiasa.Connection, TEST_API, creds=creds) + pytest.raises(DeprecationWarning, iiasa.Connection, TEST_API, creds=creds) def test_variables(conn): diff --git a/tests/test_tutorials.py b/tests/test_tutorials.py index cc7bd4d28..7cd784f30 100644 --- a/tests/test_tutorials.py +++ b/tests/test_tutorials.py @@ -105,6 +105,24 @@ def test_pyam_logo(): assert errors == [] +def test_ipcc_colors(): + fname = os.path.join(tut_path, "ipcc_colors.ipynb") + nb, errors = _notebook_run(fname) + assert errors == [] + + +def test_legends(): + fname = os.path.join(tut_path, "legends.ipynb") + nb, errors = _notebook_run(fname) + assert errors == [] + + +def test_ops(): + fname = os.path.join(tut_path, "algebraic_operations.ipynb") + nb, errors = _notebook_run(fname) + assert errors == [] + + @pytest.mark.skipif(IIASA_UNAVAILABLE, reason="IIASA database API unavailable") def test_iiasa_dbs(): fname = os.path.join(tut_path, "iiasa_dbs.ipynb")