From d725a257dcccd334f0d7c186e488164899d7d9d2 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Fri, 17 Nov 2023 20:08:24 +0100 Subject: [PATCH 01/20] Add to_svg, to_html, to_png, to_pdf functions to PlotSpec and SupPlotsSpec --- .../frontend_context/_configuration.py | 136 ++++++++++++++++++ python-package/lets_plot/plot/core.py | 111 ++++++++++++++ python-package/lets_plot/plot/subplots.py | 28 ++++ 3 files changed, 275 insertions(+) diff --git a/python-package/lets_plot/frontend_context/_configuration.py b/python-package/lets_plot/frontend_context/_configuration.py index 13c5c3f078e..8fb96321209 100644 --- a/python-package/lets_plot/frontend_context/_configuration.py +++ b/python-package/lets_plot/frontend_context/_configuration.py @@ -2,6 +2,7 @@ # Copyright (c) 2019. JetBrains s.r.o. # Use of this source code is governed by the MIT license that can be found in the LICENSE file. # +import io from typing import Dict, Any from ._frontend_ctx import FrontendContext @@ -119,3 +120,138 @@ def _as_html(plot_spec: Dict) -> str: """ return _frontend_contexts[TEXT_HTML].as_str(plot_spec) + + +def to_svg(spec: Any, path): + """ + Export plot or `bunch` to a file in SVG format. + + Parameters + ---------- + spec : `PlotSpec` or `SupPlotsSpec` or `GGBunch` + Plot specification to export. + path : file-like object + File-like object to write SVG to. + """ + if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec) or isinstance(spec, GGBunch)): + raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(spec))) + + from .. import _kbridge as kbr + + svg = kbr._generate_svg(spec.as_dict()) + if isinstance(path, str): + with io.open(path, mode="w", encoding="utf-8") as f: + f.write(svg) + else: + path.write(svg.encode()) + + +def to_html(spec: Any, path, iframe: bool = False): + """ + Export plot or `bunch` to a file in SVG format. + + Parameters + ---------- + spec : `PlotSpec` or `SupPlotsSpec` or `GGBunch` + Plot specification to export. + path : str, file-like object + Filename to save HTML under, + or file-like object to write HTML to. + iframe : bool, default=False + Whether to wrap HTML page into a iFrame. + """ + if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec) or isinstance(spec, GGBunch)): + raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(spec))) + + from .. import _kbridge as kbr + + html_page = kbr._generate_static_html_page(spec.as_dict(), iframe) + if isinstance(path, str): + with io.open(path, mode="w", encoding="utf-8") as f: + f.write(html_page) + else: + path.write(html_page.encode()) + +def to_png(spec: Any, path, scale: float = 2.0): + """ + Export plot or `bunch` to a file in PNG format. + + Parameters + ---------- + spec : `PlotSpec` or `SupPlotsSpec` or `GGBunch` + Plot specification to export. + path : str, file-like object + Filename to save PNG under, + or file-like object to write PNG to. + scale : float, default=2.0 + Scaling factor for raster output. + + Notes + ----- + Export to PNG file uses the CairoSVG library. + CairoSVG is free and distributed under the LGPL-3.0 license. + For more details visit: https://cairosvg.org/documentation/ + + """ + if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec) or isinstance(spec, GGBunch)): + raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(spec))) + + try: + import cairosvg + + + except ImportError: + import sys + print("\n" + "To export Lets-Plot figure to a PNG file please install CairoSVG library to your Python environment.\n" + "CairoSVG is free and distributed under the LGPL-3.0 license.\n" + "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) + return None + + from .. import _kbridge + # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, + svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) + + cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) + +def to_pdf(spec: Any, path, scale: float = 2.0): + """ + Export plot or `bunch` to a file in PDF format. + + Parameters + ---------- + spec : `PlotSpec` or `SupPlotsSpec` or `GGBunch` + Plot specification to export. + path : str, file-like object + Filename to save PDF under, + or file-like object to write PDF to. + scale : float, default=2.0 + Scaling factor for raster output. + + Notes + ----- + Export to PDF file uses the CairoSVG library. + CairoSVG is free and distributed under the LGPL-3.0 license. + For more details visit: https://cairosvg.org/documentation/ + + """ + if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec) or isinstance(spec, GGBunch)): + raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(spec))) + + try: + import cairosvg + + + except ImportError: + import sys + print("\n" + "To export Lets-Plot figure to a PDF file please install CairoSVG library to your Python environment.\n" + "CairoSVG is free and distributed under the LGPL-3.0 license.\n" + "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) + return None + + from .. import _kbridge + # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, + svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) + + cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index 120bbda6523..925ce77bfea 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -473,6 +473,117 @@ def show(self): from ..frontend_context._configuration import _display_plot _display_plot(self) + def to_svg(self, path): + """ + Save a plot in SVG format. + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 4 + + import numpy as np + import io + from lets_plot import * + LetsPlot.setup_html() + n = 60 + np.random.seed(42) + x = np.random.choice(list('abcde'), size=n) + y = np.random.normal(size=n) + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \ + geom_jitter() + file_like = io.BytesIO() + p.to_svg(file_like) + with open("out.svg", "wb") as f: + f.write(file_like.getbuffer()) + """ + from ..frontend_context._configuration import to_svg + to_svg(self, path) + + def to_html(self, path, iframe=False, scale=2.0): + """ + Save a plot in HTML format. + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 4 + + import numpy as np + import io + from lets_plot import * + LetsPlot.setup_html() + n = 60 + np.random.seed(42) + x = np.random.choice(list('abcde'), size=n) + y = np.random.normal(size=n) + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \ + geom_jitter() + file_like = io.BytesIO() + p.to_html(file_like) + with open("out.html", "wb") as f: + f.write(file_like.getbuffer()) + """ + from ..frontend_context._configuration import to_html + to_html(self, path, iframe, scale) + + def to_png(self, path, scale=2.0): + """ + Save a plot in PNG format. + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 4 + + import numpy as np + import io + from lets_plot import * + LetsPlot.setup_html() + n = 60 + np.random.seed(42) + x = np.random.choice(list('abcde'), size=n) + y = np.random.normal(size=n) + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \ + geom_jitter() + file_like = io.BytesIO() + p.to_png(file_like) + with open("out.html", "wb") as f: + f.write(file_like.getbuffer()) + """ + from ..frontend_context._configuration import to_png + to_png(self, path, scale) + + def to_pdf(self, path, scale=2.0): + """ + Save a plot in PDF format. + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 4 + + import numpy as np + import io + from lets_plot import * + LetsPlot.setup_html() + n = 60 + np.random.seed(42) + x = np.random.choice(list('abcde'), size=n) + y = np.random.normal(size=n) + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \ + geom_jitter() + file_like = io.BytesIO() + p.to_pdf(file_like) + with open("out.html", "wb") as f: + f.write(file_like.getbuffer()) + """ + from ..frontend_context._configuration import to_pdf + to_pdf(self, path, scale) class LayerSpec(FeatureSpec): """ diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index c84492cb9a0..32a727007d7 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -113,3 +113,31 @@ def show(self): """ from ..frontend_context._configuration import _display_plot _display_plot(self) + + def to_svg(self, path): + """ + Save all plots currently in SVG. + """ + from ..frontend_context._configuration import to_svg + to_svg(self, path) + + def to_html(self, path, iframe=False, scale=2.0): + """ + Save all plots currently in SVG. + """ + from ..frontend_context._configuration import to_html + to_html(self, path, iframe, scale) + + def to_png(self, path, scale=2.0): + """ + Save all plots currently in SVG. + """ + from ..frontend_context._configuration import to_png + to_png(self, path, scale) + + def to_pdf(self, path, scale=2.0): + """ + Save all plots currently in SVG. + """ + from ..frontend_context._configuration import to_pdf + to_pdf(self, path, scale) From 33a83270539476f99a4e0835f1b6ece8ceaabee5 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Fri, 17 Nov 2023 21:44:06 +0100 Subject: [PATCH 02/20] Minor fixes in code --- .../frontend_context/_configuration.py | 46 +++++++++++-------- python-package/lets_plot/plot/core.py | 22 ++++----- python-package/lets_plot/plot/subplots.py | 8 ++-- 3 files changed, 42 insertions(+), 34 deletions(-) diff --git a/python-package/lets_plot/frontend_context/_configuration.py b/python-package/lets_plot/frontend_context/_configuration.py index 8fb96321209..68c076fcf62 100644 --- a/python-package/lets_plot/frontend_context/_configuration.py +++ b/python-package/lets_plot/frontend_context/_configuration.py @@ -124,17 +124,17 @@ def _as_html(plot_spec: Dict) -> str: def to_svg(spec: Any, path): """ - Export plot or `bunch` to a file in SVG format. + Export plot to a file in SVG format. Parameters ---------- - spec : `PlotSpec` or `SupPlotsSpec` or `GGBunch` + spec : `PlotSpec` or `SupPlotsSpec` Plot specification to export. path : file-like object File-like object to write SVG to. """ - if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec) or isinstance(spec, GGBunch)): - raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(spec))) + if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec)): + raise ValueError("PlotSpec or SupPlotsSpec expected but was: {}".format(type(spec))) from .. import _kbridge as kbr @@ -146,13 +146,13 @@ def to_svg(spec: Any, path): path.write(svg.encode()) -def to_html(spec: Any, path, iframe: bool = False): +def to_html(spec: Any, path, iframe: bool): """ - Export plot or `bunch` to a file in SVG format. + Export plot to a file in HTML format. Parameters ---------- - spec : `PlotSpec` or `SupPlotsSpec` or `GGBunch` + spec : `PlotSpec` or `SupPlotsSpec` Plot specification to export. path : str, file-like object Filename to save HTML under, @@ -160,8 +160,10 @@ def to_html(spec: Any, path, iframe: bool = False): iframe : bool, default=False Whether to wrap HTML page into a iFrame. """ - if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec) or isinstance(spec, GGBunch)): - raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(spec))) + if iframe is None: + iframe = False + if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec)): + raise ValueError("PlotSpec or SupPlotsSpec expected but was: {}".format(type(spec))) from .. import _kbridge as kbr @@ -172,13 +174,14 @@ def to_html(spec: Any, path, iframe: bool = False): else: path.write(html_page.encode()) -def to_png(spec: Any, path, scale: float = 2.0): + +def to_png(spec: Any, path, scale: float): """ - Export plot or `bunch` to a file in PNG format. + Export plot to a file in PNG format. Parameters ---------- - spec : `PlotSpec` or `SupPlotsSpec` or `GGBunch` + spec : `PlotSpec` or `SupPlotsSpec` Plot specification to export. path : str, file-like object Filename to save PNG under, @@ -193,8 +196,10 @@ def to_png(spec: Any, path, scale: float = 2.0): For more details visit: https://cairosvg.org/documentation/ """ - if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec) or isinstance(spec, GGBunch)): - raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(spec))) + if scale is None: + scale = 2.0 + if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec)): + raise ValueError("PlotSpec or SupPlotsSpec expected but was: {}".format(type(spec))) try: import cairosvg @@ -214,13 +219,14 @@ def to_png(spec: Any, path, scale: float = 2.0): cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) -def to_pdf(spec: Any, path, scale: float = 2.0): + +def to_pdf(spec: Any, path, scale: float): """ - Export plot or `bunch` to a file in PDF format. + Export plot to a file in PDF format. Parameters ---------- - spec : `PlotSpec` or `SupPlotsSpec` or `GGBunch` + spec : `PlotSpec` or `SupPlotsSpec` Plot specification to export. path : str, file-like object Filename to save PDF under, @@ -235,8 +241,10 @@ def to_pdf(spec: Any, path, scale: float = 2.0): For more details visit: https://cairosvg.org/documentation/ """ - if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec) or isinstance(spec, GGBunch)): - raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(spec))) + if scale is None: + scale = 2.0 + if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec)): + raise ValueError("PlotSpec or SupPlotsSpec expected but was: {}".format(type(spec))) try: import cairosvg diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index 925ce77bfea..a5b703c4ec4 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -481,27 +481,27 @@ def to_svg(self, path): -------- .. jupyter-execute:: :linenos: - :emphasize-lines: 4 + :emphasize-lines: 13 import numpy as np import io + import os from lets_plot import * + from IPython import display LetsPlot.setup_html() n = 60 np.random.seed(42) x = np.random.choice(list('abcde'), size=n) y = np.random.normal(size=n) - p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \ - geom_jitter() + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + geom_jitter() file_like = io.BytesIO() p.to_svg(file_like) - with open("out.svg", "wb") as f: - f.write(file_like.getbuffer()) + display.SVG(file_like.getvalue()) """ from ..frontend_context._configuration import to_svg to_svg(self, path) - def to_html(self, path, iframe=False, scale=2.0): + def to_html(self, path, iframe: bool): """ Save a plot in HTML format. @@ -527,9 +527,9 @@ def to_html(self, path, iframe=False, scale=2.0): f.write(file_like.getbuffer()) """ from ..frontend_context._configuration import to_html - to_html(self, path, iframe, scale) + to_html(self, path, iframe) - def to_png(self, path, scale=2.0): + def to_png(self, path, scale: float): """ Save a plot in PNG format. @@ -537,7 +537,7 @@ def to_png(self, path, scale=2.0): -------- .. jupyter-execute:: :linenos: - :emphasize-lines: 4 + :emphasize-lines: 12 import numpy as np import io @@ -557,7 +557,7 @@ def to_png(self, path, scale=2.0): from ..frontend_context._configuration import to_png to_png(self, path, scale) - def to_pdf(self, path, scale=2.0): + def to_pdf(self, path, scale: float): """ Save a plot in PDF format. @@ -565,7 +565,7 @@ def to_pdf(self, path, scale=2.0): -------- .. jupyter-execute:: :linenos: - :emphasize-lines: 4 + :emphasize-lines: 12 import numpy as np import io diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index 32a727007d7..7108eb8a6af 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -121,21 +121,21 @@ def to_svg(self, path): from ..frontend_context._configuration import to_svg to_svg(self, path) - def to_html(self, path, iframe=False, scale=2.0): + def to_html(self, path, iframe: bool): """ Save all plots currently in SVG. """ from ..frontend_context._configuration import to_html - to_html(self, path, iframe, scale) + to_html(self, path, iframe) - def to_png(self, path, scale=2.0): + def to_png(self, path, scale: float): """ Save all plots currently in SVG. """ from ..frontend_context._configuration import to_png to_png(self, path, scale) - def to_pdf(self, path, scale=2.0): + def to_pdf(self, path, scale: float): """ Save all plots currently in SVG. """ From 3d54e4fb6e6798a6298d7db4009e95246759cbf3 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:03:52 +0100 Subject: [PATCH 03/20] Move functions to core. Remove docs, examples. --- .../frontend_context/_configuration.py | 144 --------------- python-package/lets_plot/plot/core.py | 170 +++++++----------- python-package/lets_plot/plot/subplots.py | 27 --- 3 files changed, 65 insertions(+), 276 deletions(-) diff --git a/python-package/lets_plot/frontend_context/_configuration.py b/python-package/lets_plot/frontend_context/_configuration.py index 68c076fcf62..13c5c3f078e 100644 --- a/python-package/lets_plot/frontend_context/_configuration.py +++ b/python-package/lets_plot/frontend_context/_configuration.py @@ -2,7 +2,6 @@ # Copyright (c) 2019. JetBrains s.r.o. # Use of this source code is governed by the MIT license that can be found in the LICENSE file. # -import io from typing import Dict, Any from ._frontend_ctx import FrontendContext @@ -120,146 +119,3 @@ def _as_html(plot_spec: Dict) -> str: """ return _frontend_contexts[TEXT_HTML].as_str(plot_spec) - - -def to_svg(spec: Any, path): - """ - Export plot to a file in SVG format. - - Parameters - ---------- - spec : `PlotSpec` or `SupPlotsSpec` - Plot specification to export. - path : file-like object - File-like object to write SVG to. - """ - if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec)): - raise ValueError("PlotSpec or SupPlotsSpec expected but was: {}".format(type(spec))) - - from .. import _kbridge as kbr - - svg = kbr._generate_svg(spec.as_dict()) - if isinstance(path, str): - with io.open(path, mode="w", encoding="utf-8") as f: - f.write(svg) - else: - path.write(svg.encode()) - - -def to_html(spec: Any, path, iframe: bool): - """ - Export plot to a file in HTML format. - - Parameters - ---------- - spec : `PlotSpec` or `SupPlotsSpec` - Plot specification to export. - path : str, file-like object - Filename to save HTML under, - or file-like object to write HTML to. - iframe : bool, default=False - Whether to wrap HTML page into a iFrame. - """ - if iframe is None: - iframe = False - if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec)): - raise ValueError("PlotSpec or SupPlotsSpec expected but was: {}".format(type(spec))) - - from .. import _kbridge as kbr - - html_page = kbr._generate_static_html_page(spec.as_dict(), iframe) - if isinstance(path, str): - with io.open(path, mode="w", encoding="utf-8") as f: - f.write(html_page) - else: - path.write(html_page.encode()) - - -def to_png(spec: Any, path, scale: float): - """ - Export plot to a file in PNG format. - - Parameters - ---------- - spec : `PlotSpec` or `SupPlotsSpec` - Plot specification to export. - path : str, file-like object - Filename to save PNG under, - or file-like object to write PNG to. - scale : float, default=2.0 - Scaling factor for raster output. - - Notes - ----- - Export to PNG file uses the CairoSVG library. - CairoSVG is free and distributed under the LGPL-3.0 license. - For more details visit: https://cairosvg.org/documentation/ - - """ - if scale is None: - scale = 2.0 - if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec)): - raise ValueError("PlotSpec or SupPlotsSpec expected but was: {}".format(type(spec))) - - try: - import cairosvg - - - except ImportError: - import sys - print("\n" - "To export Lets-Plot figure to a PNG file please install CairoSVG library to your Python environment.\n" - "CairoSVG is free and distributed under the LGPL-3.0 license.\n" - "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) - return None - - from .. import _kbridge - # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, - svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) - - cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) - - -def to_pdf(spec: Any, path, scale: float): - """ - Export plot to a file in PDF format. - - Parameters - ---------- - spec : `PlotSpec` or `SupPlotsSpec` - Plot specification to export. - path : str, file-like object - Filename to save PDF under, - or file-like object to write PDF to. - scale : float, default=2.0 - Scaling factor for raster output. - - Notes - ----- - Export to PDF file uses the CairoSVG library. - CairoSVG is free and distributed under the LGPL-3.0 license. - For more details visit: https://cairosvg.org/documentation/ - - """ - if scale is None: - scale = 2.0 - if not (isinstance(spec, PlotSpec) or isinstance(spec, SupPlotsSpec)): - raise ValueError("PlotSpec or SupPlotsSpec expected but was: {}".format(type(spec))) - - try: - import cairosvg - - - except ImportError: - import sys - print("\n" - "To export Lets-Plot figure to a PDF file please install CairoSVG library to your Python environment.\n" - "CairoSVG is free and distributed under the LGPL-3.0 license.\n" - "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) - return None - - from .. import _kbridge - # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, - svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) - - cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index a5b703c4ec4..d40f0c216ed 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -2,6 +2,7 @@ # Copyright (c) 2019. JetBrains s.r.o. # Use of this source code is governed by the MIT license that can be found in the LICENSE file. # +import io import json __all__ = ['aes', 'layer'] @@ -473,117 +474,76 @@ def show(self): from ..frontend_context._configuration import _display_plot _display_plot(self) - def to_svg(self, path): - """ - Save a plot in SVG format. - - Examples - -------- - .. jupyter-execute:: - :linenos: - :emphasize-lines: 13 - - import numpy as np - import io - import os - from lets_plot import * - from IPython import display - LetsPlot.setup_html() - n = 60 - np.random.seed(42) - x = np.random.choice(list('abcde'), size=n) - y = np.random.normal(size=n) - p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + geom_jitter() - file_like = io.BytesIO() - p.to_svg(file_like) - display.SVG(file_like.getvalue()) - """ - from ..frontend_context._configuration import to_svg - to_svg(self, path) - - def to_html(self, path, iframe: bool): - """ - Save a plot in HTML format. - - Examples - -------- - .. jupyter-execute:: - :linenos: - :emphasize-lines: 4 - - import numpy as np - import io - from lets_plot import * - LetsPlot.setup_html() - n = 60 - np.random.seed(42) - x = np.random.choice(list('abcde'), size=n) - y = np.random.normal(size=n) - p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \ - geom_jitter() - file_like = io.BytesIO() - p.to_html(file_like) - with open("out.html", "wb") as f: - f.write(file_like.getbuffer()) - """ - from ..frontend_context._configuration import to_html - to_html(self, path, iframe) + def _to_svg(self, path): + if not isinstance(self, PlotSpec): + raise ValueError("PlotSpec expected but was: {}".format(type(self))) - def to_png(self, path, scale: float): - """ - Save a plot in PNG format. + from .. import _kbridge as kbr - Examples - -------- - .. jupyter-execute:: - :linenos: - :emphasize-lines: 12 + svg = kbr._generate_svg(self.as_dict()) + if isinstance(path, str): + with io.open(path, mode="w", encoding="utf-8") as f: + f.write(svg) + else: + path.write(svg.encode()) - import numpy as np - import io - from lets_plot import * - LetsPlot.setup_html() - n = 60 - np.random.seed(42) - x = np.random.choice(list('abcde'), size=n) - y = np.random.normal(size=n) - p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \ - geom_jitter() - file_like = io.BytesIO() - p.to_png(file_like) - with open("out.html", "wb") as f: - f.write(file_like.getbuffer()) - """ - from ..frontend_context._configuration import to_png - to_png(self, path, scale) + def _to_html(self, path, iframe: bool): + if iframe is None: + iframe = False + if not isinstance(self, PlotSpec): + raise ValueError("PlotSpec expected but was: {}".format(type(self))) - def to_pdf(self, path, scale: float): - """ - Save a plot in PDF format. + from .. import _kbridge as kbr - Examples - -------- - .. jupyter-execute:: - :linenos: - :emphasize-lines: 12 + html_page = kbr._generate_static_html_page(self.as_dict(), iframe) + if isinstance(path, str): + with io.open(path, mode="w", encoding="utf-8") as f: + f.write(html_page) + else: + path.write(html_page.encode()) + + def _to_png(self, path, scale: float): + if scale is None: + scale = 2.0 + if not isinstance(self, PlotSpec): + raise ValueError("PlotSpec expected but was: {}".format(type(self))) + + try: + import cairosvg + except ImportError: + import sys + print("\n" + "To export Lets-Plot figure to a PNG file please install CairoSVG library to your Python environment.\n" + "CairoSVG is free and distributed under the LGPL-3.0 license.\n" + "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) + return None + + from .. import _kbridge + # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, + svg = _kbridge._generate_svg(self.as_dict(), use_css_pixelated_image_rendering=False) + cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) + + def _to_pdf(self, path, scale: float): + if scale is None: + scale = 2.0 + if not isinstance(self, PlotSpec): + raise ValueError("PlotSpec expected but was: {}".format(type(self))) + + try: + import cairosvg + except ImportError: + import sys + print("\n" + "To export Lets-Plot figure to a PDF file please install CairoSVG library to your Python environment.\n" + "CairoSVG is free and distributed under the LGPL-3.0 license.\n" + "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) + return None + + from .. import _kbridge + # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, + svg = _kbridge._generate_svg(self.as_dict(), use_css_pixelated_image_rendering=False) + cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) - import numpy as np - import io - from lets_plot import * - LetsPlot.setup_html() - n = 60 - np.random.seed(42) - x = np.random.choice(list('abcde'), size=n) - y = np.random.normal(size=n) - p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \ - geom_jitter() - file_like = io.BytesIO() - p.to_pdf(file_like) - with open("out.html", "wb") as f: - f.write(file_like.getbuffer()) - """ - from ..frontend_context._configuration import to_pdf - to_pdf(self, path, scale) class LayerSpec(FeatureSpec): """ diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index 7108eb8a6af..0ace84e0dcd 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -114,30 +114,3 @@ def show(self): from ..frontend_context._configuration import _display_plot _display_plot(self) - def to_svg(self, path): - """ - Save all plots currently in SVG. - """ - from ..frontend_context._configuration import to_svg - to_svg(self, path) - - def to_html(self, path, iframe: bool): - """ - Save all plots currently in SVG. - """ - from ..frontend_context._configuration import to_html - to_html(self, path, iframe) - - def to_png(self, path, scale: float): - """ - Save all plots currently in SVG. - """ - from ..frontend_context._configuration import to_png - to_png(self, path, scale) - - def to_pdf(self, path, scale: float): - """ - Save all plots currently in SVG. - """ - from ..frontend_context._configuration import to_pdf - to_pdf(self, path, scale) From 1538f11309e2fbf71a5ff842787af6bd47a9f6c6 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Tue, 21 Nov 2023 19:55:08 +0100 Subject: [PATCH 04/20] Add note to future_changes.md --- future_changes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/future_changes.md b/future_changes.md index 5665368097a..83ae3dcabe6 100644 --- a/future_changes.md +++ b/future_changes.md @@ -37,6 +37,7 @@ - geom_livemap: freeze at zoom 10 [[#892](https://github.com/JetBrains/lets-plot/issues/892)]. - Enormous CPU / Time/ Memory consumption on some data [[#932](https://github.com/JetBrains/lets-plot/issues/932)]. - scale_x_log2(), scale_y_log2() as a shortcut for trans='log2' [[#922](https://github.com/JetBrains/lets-plot/issues/922)]. +- export functions to export to a file-like object [[#885](https://github.com/JetBrains/lets-plot/issues/885)]. - How to calculate proportion of points with same coordinate [[#936](https://github.com/JetBrains/lets-plot/issues/936)]. - gggrid: composite plot is not visible if saved with ggsave [[#942](https://github.com/JetBrains/lets-plot/issues/942)]. - Make scale's 'breaks' / 'labels' parameters understand dict of breaks as keys and labels as values [[#169](https://github.com/JetBrains/lets-plot/issues/169)]. From 0e7e4e9c5553b3307099beed3faeaae3bc2d0ddd Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Tue, 21 Nov 2023 19:59:04 +0100 Subject: [PATCH 05/20] Fix format code --- python-package/lets_plot/plot/subplots.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index 0ace84e0dcd..c84492cb9a0 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -113,4 +113,3 @@ def show(self): """ from ..frontend_context._configuration import _display_plot _display_plot(self) - From 41afa88c0a796f51c5b61409115a41132571d3a5 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Wed, 22 Nov 2023 21:00:04 +0100 Subject: [PATCH 06/20] Refactoring and add demo notebook --- docs/f-23f/new_save_methods.ipynb | 165 ++++++++++++++ python-package/lets_plot/plot/core.py | 266 ++++++++++++++++------ python-package/lets_plot/plot/subplots.py | 158 +++++++++++++ 3 files changed, 525 insertions(+), 64 deletions(-) create mode 100644 docs/f-23f/new_save_methods.ipynb diff --git a/docs/f-23f/new_save_methods.ipynb b/docs/f-23f/new_save_methods.ipynb new file mode 100644 index 00000000000..bd0d341a431 --- /dev/null +++ b/docs/f-23f/new_save_methods.ipynb @@ -0,0 +1,165 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "employed-rebate", + "metadata": {}, + "source": [ + "# Save methods of `ggplot()` and `gggrid()`\n", + "\n", + "Use methods `to_svg()`, `to_html()`,`to_png()`,`to_pdf()` to save charts on disc or in file-like objects.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "arranged-meter", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import io\n", + "import os\n", + "from lets_plot import *\n", + "from IPython import display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c38745bd", + "metadata": {}, + "outputs": [], + "source": [ + "LetsPlot.setup_html()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "remarkable-toolbox", + "metadata": {}, + "outputs": [], + "source": [ + "x1 = np.random.randint(10, size=100)\n", + "p1 = ggplot({'x': x1}, aes(x='x')) + geom_bar()\n", + "\n", + "n = 100\n", + "x2 = np.arange(n)\n", + "y2 = np.random.normal(size=n)\n", + "w, h = 200, 150\n", + "p2 = ggplot({'x': x2, 'y': y2}, aes(x='x', y='y')) + ggsize(w, h)" + ] + }, + { + "cell_type": "markdown", + "id": "b8aadbde", + "metadata": {}, + "source": [ + "When `path` parameter is a string, the image is written to a file with that name." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b0fdb65", + "metadata": {}, + "outputs": [], + "source": [ + "file = 'plot.svg'\n", + "p1.to_svg(file)\n", + "os.path.abspath(file)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "135b5a28", + "metadata": {}, + "outputs": [], + "source": [ + "file = 'grid.png'\n", + "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png(file)\n", + "os.path.abspath(file)" + ] + }, + { + "cell_type": "markdown", + "id": "8c3b3b37", + "metadata": {}, + "source": [ + "When `path` is a file-like object, the data is written to it by calling its write() method." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "faced-integral", + "metadata": {}, + "outputs": [], + "source": [ + "file_like = io.BytesIO()\n", + "p1.to_svg(file_like)\n", + "display.SVG(file_like.getvalue())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0de51f34", + "metadata": {}, + "outputs": [], + "source": [ + "file_like = io.BytesIO()\n", + "p1.to_png(file_like, scale = 1.0)\n", + "display.Image(file_like.getvalue())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9a77dc46", + "metadata": {}, + "outputs": [], + "source": [ + "file_like = io.BytesIO()\n", + "gggrid([p2 + geom_point(), p2 + geom_line()]).to_svg(file_like)\n", + "display.SVG(file_like.getvalue())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "edd47309", + "metadata": {}, + "outputs": [], + "source": [ + "file_like = io.BytesIO()\n", + "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png(file_like, scale = 1.0)\n", + "display.Image(file_like.getvalue())" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index d40f0c216ed..de06758f5eb 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -474,75 +474,148 @@ def show(self): from ..frontend_context._configuration import _display_plot _display_plot(self) - def _to_svg(self, path): - if not isinstance(self, PlotSpec): - raise ValueError("PlotSpec expected but was: {}".format(type(self))) + def to_svg(self, path): + """ + Write a plot to a file or to a file-like object in SVG format. - from .. import _kbridge as kbr + Parameters + ---------- + self : `PlotSpec` + Plot specification to export. + path : str, file-like object + String or file-like object implementing a binary write() function. + When path is a string, the SVG image is written to a file with that name. - svg = kbr._generate_svg(self.as_dict()) - if isinstance(path, str): - with io.open(path, mode="w", encoding="utf-8") as f: - f.write(svg) - else: - path.write(svg.encode()) + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 9 - def _to_html(self, path, iframe: bool): - if iframe is None: - iframe = False - if not isinstance(self, PlotSpec): - raise ValueError("PlotSpec expected but was: {}".format(type(self))) + import numpy as np + import io + from lets_plot import * + from IPython import display + LetsPlot.setup_html() + x = np.random.randint(10, size=100) + p = ggplot({'x': x}, aes(x='x')) + geom_bar() + file_like = io.BytesIO() + p.to_svg(file_like) + display.SVG(file_like.getvalue()) + """ + _to_svg(self, path) - from .. import _kbridge as kbr + def to_html(self, path, iframe: bool = None): + """ + Write a plot to a file or to a file-like object in HTML format. + + Parameters + ---------- + self : `PlotSpec` + Plot specification to export. + path : str, file-like object + String or file-like object implementing a binary write() function. + When path is a string, the HTML page is written to a file with that name. + iframe : bool, default=False + Whether to wrap HTML page into a iFrame. - html_page = kbr._generate_static_html_page(self.as_dict(), iframe) - if isinstance(path, str): - with io.open(path, mode="w", encoding="utf-8") as f: - f.write(html_page) - else: - path.write(html_page.encode()) - - def _to_png(self, path, scale: float): - if scale is None: - scale = 2.0 - if not isinstance(self, PlotSpec): - raise ValueError("PlotSpec expected but was: {}".format(type(self))) - - try: - import cairosvg - except ImportError: - import sys - print("\n" - "To export Lets-Plot figure to a PNG file please install CairoSVG library to your Python environment.\n" - "CairoSVG is free and distributed under the LGPL-3.0 license.\n" - "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) - return None - - from .. import _kbridge - # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, - svg = _kbridge._generate_svg(self.as_dict(), use_css_pixelated_image_rendering=False) - cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) - - def _to_pdf(self, path, scale: float): - if scale is None: - scale = 2.0 - if not isinstance(self, PlotSpec): - raise ValueError("PlotSpec expected but was: {}".format(type(self))) - - try: - import cairosvg - except ImportError: - import sys - print("\n" - "To export Lets-Plot figure to a PDF file please install CairoSVG library to your Python environment.\n" - "CairoSVG is free and distributed under the LGPL-3.0 license.\n" - "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) - return None - - from .. import _kbridge - # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, - svg = _kbridge._generate_svg(self.as_dict(), use_css_pixelated_image_rendering=False) - cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 8 + + import numpy as np + import io + from lets_plot import * + LetsPlot.setup_html() + x = np.random.randint(10, size=100) + p = ggplot({'x': x}, aes(x='x')) + geom_bar() + file_like = io.BytesIO() + p.to_html(file_like) + """ + _to_html(self, path, iframe) + + def to_png(self, path, scale: float = None): + """ + Write a plot to a file or to a file-like object in PNG format. + + Parameters + ---------- + self : `PlotSpec` + Plot specification to export. + path : str, file-like object + String or file-like object implementing a binary write() function. + When path is a string, the PNG image is written to a file with that name. + scale : float + Scaling factor for raster output. Default value is 2.0. + + Notes + ----- + Export to PNG file uses the CairoSVG library. + CairoSVG is free and distributed under the LGPL-3.0 license. + For more details visit: https://cairosvg.org/documentation/ + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 9 + + import numpy as np + import io + from lets_plot import * + from IPython import display + LetsPlot.setup_html() + x = np.random.randint(10, size=100) + p = ggplot({'x': x}, aes(x='x')) + geom_bar() + file_like = io.BytesIO() + p.to_png(file_like) + display.Image(file_like.getvalue()) + """ + _to_png(self, path, scale) + + def to_pdf(self, path, scale: float = None): + """ + Write a plot to a file or to a file-like object in PDF format. + + Parameters + ---------- + self : `PlotSpec` + Plot specification to export. + path : str, file-like object + String or file-like object implementing a binary write() function. + When path is a string, the PDF is written to a file with that name. + scale : float + Scaling factor for raster output. Default value is 2.0. + + Notes + ----- + Export to PDF file uses the CairoSVG library. + CairoSVG is free and distributed under the LGPL-3.0 license. + For more details visit: https://cairosvg.org/documentation/ + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 13 + + import numpy as np + import io + import os + from lets_plot import * + from IPython import display + LetsPlot.setup_html() + n = 60 + np.random.seed(42) + x = np.random.choice(list('abcde'), size=n) + y = np.random.normal(size=n) + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + geom_jitter() + file_like = io.BytesIO() + p.to_pdf(file_like) + """ + _to_pdf(self, path, scale) class LayerSpec(FeatureSpec): @@ -692,3 +765,68 @@ def _theme_dicts_merge(x, y): overlapping_keys = x.keys() & y.keys() z = {k: {**x[k], **y[k]} for k in overlapping_keys if type(x[k]) is dict and type(y[k]) is dict} return {**x, **y, **z} + + +def _to_svg(spec, path): + from .. import _kbridge as kbr + + svg = kbr._generate_svg(spec.as_dict()) + if isinstance(path, str): + with io.open(path, mode="w", encoding="utf-8") as f: + f.write(svg) + else: + path.write(svg.encode()) + + +def _to_html(spec, path, iframe: bool): + if iframe is None: + iframe = False + + from .. import _kbridge as kbr + html_page = kbr._generate_static_html_page(spec.as_dict(), iframe) + + if isinstance(path, str): + with io.open(path, mode="w", encoding="utf-8") as f: + f.write(html_page) + else: + path.write(html_page.encode()) + + +def _to_png(spec, path, scale: float): + if scale is None: + scale = 2.0 + + try: + import cairosvg + except ImportError: + import sys + print("\n" + "To export Lets-Plot figure to a PNG file please install CairoSVG library to your Python environment.\n" + "CairoSVG is free and distributed under the LGPL-3.0 license.\n" + "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) + return None + + from .. import _kbridge + # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, + svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) + cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) + + +def _to_pdf(spec, path, scale: float): + if scale is None: + scale = 2.0 + + try: + import cairosvg + except ImportError: + import sys + print("\n" + "To export Lets-Plot figure to a PDF file please install CairoSVG library to your Python environment.\n" + "CairoSVG is free and distributed under the LGPL-3.0 license.\n" + "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) + return None + + from .. import _kbridge + # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, + svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) + cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index c84492cb9a0..d32b2cc294b 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -113,3 +113,161 @@ def show(self): """ from ..frontend_context._configuration import _display_plot _display_plot(self) + + def to_svg(self, path): + """ + Write all plots currently in this 'bunch' to a file or file-like object in SVG format. + + Parameters + ---------- + self : `SupPlotsSpec` + Subplots specification to export. + path : str, file-like object + String or file-like object implementing a binary write() function. + When path is a string, the SVG image is written to a file with that name. + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 13 + + import numpy as np + import io + import os + from lets_plot import * + from IPython import display + LetsPlot.setup_html() + n = 60 + np.random.seed(42) + x = np.random.choice(list('abcde'), size=n) + y = np.random.normal(size=n) + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + geom_jitter() + file_like = io.BytesIO() + p.to_svg(file_like) + display.SVG(file_like.getvalue()) + """ + from ..plot.core import _to_svg + _to_svg(self, path) + + def to_html(self, path, iframe: bool = None): + """ + Write all plots currently in this 'bunch' to a file or file-like object in HTML format. + + Parameters + ---------- + self : `SupPlotsSpec` + Subplots specification to export. + path : str, file-like object + String or file-like object implementing a binary write() function. + When path is a string, the HTML page is written to a file with that name. + iframe : bool, default=False + Whether to wrap HTML page into a iFrame. + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 12 + + import numpy as np + import io + import os + from lets_plot import * + LetsPlot.setup_html() + n = 60 + np.random.seed(42) + x = np.random.choice(list('abcde'), size=n) + y = np.random.normal(size=n) + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + geom_jitter() + file_like = io.BytesIO() + p.to_html(file_like) + """ + from ..plot.core import _to_html + _to_html(self, path, iframe) + + def to_png(self, path, scale=None): + """ + Write all plots currently in this 'bunch' to a file or file-like object in PNG format. + + Parameters + ---------- + self : `SupPlotsSpec` + Subplots specification to export. + path : str, file-like object + String or file-like object implementing a binary write() function. + When path is a string, the PNG image is written to a file with that name. + scale : float + Scaling factor for raster output. Default value is 2.0. + + Notes + ----- + Export to PNG file uses the CairoSVG library. + CairoSVG is free and distributed under the LGPL-3.0 license. + For more details visit: https://cairosvg.org/documentation/ + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 13 + + import numpy as np + import io + import os + from lets_plot import * + from IPython import display + LetsPlot.setup_html() + n = 60 + np.random.seed(42) + x = np.random.choice(list('abcde'), size=n) + y = np.random.normal(size=n) + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + geom_jitter() + file_like = io.BytesIO() + p.to_png(file_like) + display.Image(file_like.getvalue()) + """ + from ..plot.core import _to_png + _to_png(self, path, scale) + + def to_pdf(self, path, scale=None): + """ + Write all plots currently in this 'bunch' to a file or file-like object in PDF format. + + Parameters + ---------- + self : `SupPlotsSpec` + Subplots specification to export. + path : str, file-like object + String or file-like object implementing a binary write() function. + When path is a string, the PDF is written to a file with that name. + scale : float + Scaling factor for raster output. Default value is 2.0. + + Notes + ----- + Export to PDF file uses the CairoSVG library. + CairoSVG is free and distributed under the LGPL-3.0 license. + For more details visit: https://cairosvg.org/documentation/ + + Examples + -------- + .. jupyter-execute:: + :linenos: + :emphasize-lines: 12 + + import numpy as np + import io + import os + from lets_plot import * + LetsPlot.setup_html() + n = 60 + np.random.seed(42) + x = np.random.choice(list('abcde'), size=n) + y = np.random.normal(size=n) + p = ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + geom_jitter() + file_like = io.BytesIO() + p.to_pdf(file_like) + """ + from ..plot.core import _to_pdf + _to_pdf(self, path, scale) From 9b0f7c9df49da46445bc1edef787d96c449fd150 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Thu, 23 Nov 2023 14:06:24 +0100 Subject: [PATCH 07/20] Fix notebook --- docs/f-23f/new_save_methods.ipynb | 1209 ++++++++++++++++++++++++++++- 1 file changed, 1190 insertions(+), 19 deletions(-) diff --git a/docs/f-23f/new_save_methods.ipynb b/docs/f-23f/new_save_methods.ipynb index bd0d341a431..906c501eabb 100644 --- a/docs/f-23f/new_save_methods.ipynb +++ b/docs/f-23f/new_save_methods.ipynb @@ -5,7 +5,7 @@ "id": "employed-rebate", "metadata": {}, "source": [ - "# Save methods of `ggplot()` and `gggrid()`\n", + "# Save Methods of `ggplot()` and `gggrid()`\n", "\n", "Use methods `to_svg()`, `to_html()`,`to_png()`,`to_pdf()` to save charts on disc or in file-like objects.\n", "\n" @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "arranged-meter", "metadata": {}, "outputs": [], @@ -21,23 +21,41 @@ "import numpy as np\n", "import io\n", "import os\n", - "from lets_plot import *\n", - "from IPython import display" + "from IPython import display\n", + "from lets_plot import *" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "c38745bd", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "LetsPlot.setup_html()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "remarkable-toolbox", "metadata": {}, "outputs": [], @@ -62,10 +80,61 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "7b0fdb65", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "'D:\\\\Projects\\\\lets-plot-master\\\\lets-plot-885-2\\\\docs\\\\f-23f\\\\plot.svg'" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "file = 'plot.svg'\n", "p1.to_svg(file)\n", @@ -74,10 +143,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "135b5a28", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'D:\\\\Projects\\\\lets-plot-master\\\\lets-plot-885-2\\\\docs\\\\f-23f\\\\grid.png'" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "file = 'grid.png'\n", "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png(file)\n", @@ -94,10 +174,379 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "faced-integral", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 4\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 6\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 7\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 8\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 9\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 4\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 6\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 8\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 10\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 12\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " count\n", + " \n", + " \n", + " \n", + " \n", + " x\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "file_like = io.BytesIO()\n", "p1.to_svg(file_like)\n", @@ -106,10 +555,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "0de51f34", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "file_like = io.BytesIO()\n", "p1.to_png(file_like, scale = 1.0)\n", @@ -118,10 +579,708 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "9a77dc46", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 20\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 40\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 60\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 80\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 100\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -3\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " y\n", + " \n", + " \n", + " \n", + " \n", + " x\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 20\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 40\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 60\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 80\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 100\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -3\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " y\n", + " \n", + " \n", + " \n", + " \n", + " x\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "file_like = io.BytesIO()\n", "gggrid([p2 + geom_point(), p2 + geom_line()]).to_svg(file_like)\n", @@ -130,10 +1289,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "edd47309", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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Pf588sknK1eubG1tzc/PnzZt2uWXXx5yE51O99RTT1VXV58+ffrVV1+ld3q/379o0aLzzjsv6mHNSFSgN125Zw+HwxEIBCJx01utVr790u12izuL0jwnlddJc3MzvADjYkhoL1B4m5aWduLECXgtEKPgpo9u1iZIB7E0rKioMBgMRUVFchuaTCadTheGm75v374VFRUNDQ2Cbnb8OqOEl8AUMmbUaDSyLMuybEjLaCAQgLhJZTEahpu+vb2dH3xvNBr5xuZ4WkYlr3PaNFXNp/ORC9dmGOaRRx7585//vGDBgkGDBvGdqw6Hg2EYWlhNDGbTh6CpqWndunX8Jdu2bePPUxUVFVSJEkJYln3llVdCzgtnzpz517/+RV0S8JuBF//5z38E4lIZl8sl/jixeyU8tFpt//79Bw4cmMxKlBCSl5f32GOP0dvPueeee//990te9HEL8+9yFBYWCu64BoNh2LBhiRqPer744oulS5dCeFZdXd0LL7xw6NAhldsWFhYWFBQIfi9+v7+srCz6A0WigZxl1G63Q6yOXPslIpVNL3nzS0tL83g8tB64x+MR5+t0toZRU1MTvFApRqEXKJ3TYEhw7NA5U+Cmj48YPX36dN++fRVuBwzDdDaalopRIhU2Ko4ZVVmQkgZQhhSjHMeBHIy6m97lcvHdiVCHH14Hg0FBfdOQyMlK5TiNuLnpAZvN9te//tXn882bN4+/3Ol0wonAdqBhIhnF0tDQQBM7jh07JvgvNGpTTuWuqKhQqHO7efNm9d2J0tPTc3JyaA0mQK4icTfm4osvHjNmzOnTp1NSUsBWYTabbTYbvyeExWJRiHbq4eh0ukcffXTu3LlwIzEYDPfdd192dnaixxWa9evX899CXI36+GbJqH+5ZGEkcpYvX+50Oh988EHJ/3Ic99lnn/Xr10/OgyEXM/p///d/LS0t6enpcO5CuunhHix59vv06UMIOX36NPij5RKYSGfc9GAZtdlstbW1kn0vBdC6TvAWDqe9vT03N7e2ttZisdA9xMJND5NAa2urINW6ubm5tLRUedvOFr2CEwpFBsQR22LLqPpsenih/FXT5xMaPBpFN31HRwff0AulT+E1XwJGXmeUJIebHhg2bNjYsWO///57/sXjdDrT09OdTifGjIZJr169xB7zXr160dfieBSGYUJONMqt0jplvWMYZubM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", + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "file_like = io.BytesIO()\n", "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png(file_like, scale = 1.0)\n", From 8914b987ec7edb88554a2bebf686faa6ee0e4369 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Thu, 23 Nov 2023 17:43:51 +0100 Subject: [PATCH 08/20] Refactoring notebook --- docs/f-23f/new_save_methods.ipynb | 576 +++++++++++++++--------------- 1 file changed, 287 insertions(+), 289 deletions(-) diff --git a/docs/f-23f/new_save_methods.ipynb b/docs/f-23f/new_save_methods.ipynb index 906c501eabb..9d409dfd179 100644 --- a/docs/f-23f/new_save_methods.ipynb +++ b/docs/f-23f/new_save_methods.ipynb @@ -7,7 +7,7 @@ "source": [ "# Save Methods of `ggplot()` and `gggrid()`\n", "\n", - "Use methods `to_svg()`, `to_html()`,`to_png()`,`to_pdf()` to save charts on disc or in file-like objects.\n", + "Use methods `to_svg()`, `to_html()`,`to_png()`,`to_pdf()` to save plots on disc or in file-like objects.\n", "\n" ] }, @@ -80,57 +80,17 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 4, "id": "7b0fdb65", "metadata": {}, "outputs": [ - { - "data": { - "text/html": [ - "
\n", - " " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, { "data": { "text/plain": [ "'D:\\\\Projects\\\\lets-plot-master\\\\lets-plot-885-2\\\\docs\\\\f-23f\\\\plot.svg'" ] }, - "execution_count": 10, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -141,6 +101,14 @@ "os.path.abspath(file)" ] }, + { + "cell_type": "markdown", + "id": "b87d559c", + "metadata": {}, + "source": [ + "You can use the same methods for gggrid()." + ] + }, { "cell_type": "code", "execution_count": 5, @@ -169,7 +137,9 @@ "id": "8c3b3b37", "metadata": {}, "source": [ - "When `path` is a file-like object, the data is written to it by calling its write() method." + "When `path` is a file-like object, the data is written to it by calling its write() method.\n", + "\n", + "Below is how you can write SVG data into a file-like object without saving it to a file, and use it for display or anything else." ] }, { @@ -193,112 +163,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#pyo71bS .plot-title {\n", + "#p1azYEo .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .plot-subtitle {\n", + "#p1azYEo .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .plot-caption {\n", + "#p1azYEo .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .legend-title {\n", + "#p1azYEo .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .legend-item {\n", + "#p1azYEo .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .axis-title-x {\n", + "#p1azYEo .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .axis-text-x {\n", + "#p1azYEo .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dNbDPi4 .axis-tooltip-text-x {\n", + "#de065ly .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .axis-title-y {\n", + "#p1azYEo .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .axis-text-y {\n", + "#p1azYEo .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dNbDPi4 .axis-tooltip-text-y {\n", + "#de065ly .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .facet-strip-text-x {\n", + "#p1azYEo .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pyo71bS .facet-strip-text-y {\n", + "#p1azYEo .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dNbDPi4 .tooltip-text {\n", + "#de065ly .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dNbDPi4 .tooltip-title {\n", + "#de065ly .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dNbDPi4 .tooltip-label {\n", + "#de065ly .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -307,7 +277,7 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -428,17 +398,21 @@ " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -449,75 +423,89 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 4\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 6\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 8\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 10\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 12\n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " 14\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 16\n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -534,7 +522,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "" ], @@ -553,6 +541,14 @@ "display.SVG(file_like.getvalue())" ] }, + { + "cell_type": "markdown", + "id": "5a436949", + "metadata": {}, + "source": [ + "You can do the same with binary data in PNG or PDF format." + ] + }, { "cell_type": "code", "execution_count": 7, @@ -561,7 +557,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "" ] @@ -577,6 +573,14 @@ "display.Image(file_like.getvalue())" ] }, + { + "cell_type": "markdown", + "id": "ce7a798a", + "metadata": {}, + "source": [ + "You can also write `gggrid()` to a file-like object." + ] + }, { "cell_type": "code", "execution_count": 8, @@ -587,7 +591,7 @@ "data": { "image/svg+xml": [ "\n", - " \n", + " \n", " \n", " \n", " \n", @@ -603,112 +607,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#poWiRu6 .plot-title {\n", + "#pF9LfR8 .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .plot-subtitle {\n", + "#pF9LfR8 .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .plot-caption {\n", + "#pF9LfR8 .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .legend-title {\n", + "#pF9LfR8 .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .legend-item {\n", + "#pF9LfR8 .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .axis-title-x {\n", + "#pF9LfR8 .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .axis-text-x {\n", + "#pF9LfR8 .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dk0WMxe .axis-tooltip-text-x {\n", + "#dOM5nWf .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .axis-title-y {\n", + "#pF9LfR8 .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .axis-text-y {\n", + "#pF9LfR8 .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dk0WMxe .axis-tooltip-text-y {\n", + "#dOM5nWf .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .facet-strip-text-x {\n", + "#pF9LfR8 .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#poWiRu6 .facet-strip-text-y {\n", + "#pF9LfR8 .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dk0WMxe .tooltip-text {\n", + "#dOM5nWf .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dk0WMxe .tooltip-title {\n", + "#dOM5nWf .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dk0WMxe .tooltip-label {\n", + "#dOM5nWf .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -717,22 +721,22 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -794,66 +798,75 @@ " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -861,106 +874,106 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -978,7 +991,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -993,112 +1006,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#pwOzwdM .plot-title {\n", + "#pmZUGiM .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .plot-subtitle {\n", + "#pmZUGiM .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .plot-caption {\n", + "#pmZUGiM .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .legend-title {\n", + "#pmZUGiM .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .legend-item {\n", + "#pmZUGiM .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .axis-title-x {\n", + "#pmZUGiM .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .axis-text-x {\n", + "#pmZUGiM .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dAAOTjK .axis-tooltip-text-x {\n", + "#dKOpNuY .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .axis-title-y {\n", + "#pmZUGiM .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .axis-text-y {\n", + "#pmZUGiM .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dAAOTjK .axis-tooltip-text-y {\n", + "#dKOpNuY .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .facet-strip-text-x {\n", + "#pmZUGiM .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pwOzwdM .facet-strip-text-y {\n", + "#pmZUGiM .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dAAOTjK .tooltip-text {\n", + "#dKOpNuY .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dAAOTjK .tooltip-title {\n", + "#dKOpNuY .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dAAOTjK .tooltip-label {\n", + "#dKOpNuY .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -1107,22 +1120,22 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1184,72 +1197,81 @@ " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " -3\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1267,7 +1289,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", "" @@ -1286,30 +1308,6 @@ "gggrid([p2 + geom_point(), p2 + geom_line()]).to_svg(file_like)\n", "display.SVG(file_like.getvalue())" ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "edd47309", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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Pf588sknK1eubG1tzc/PnzZt2uWXXx5yE51O99RTT1VXV58+ffrVV1+ld3q/379o0aLzzjsv6mHNSFSgN125Zw+HwxEIBCJx01utVr790u12izuL0jwnlddJc3MzvADjYkhoL1B4m5aWduLECXgtEKPgpo9u1iZIB7E0rKioMBgMRUVFchuaTCadTheGm75v374VFRUNDQ2Cbnb8OqOEl8AUMmbUaDSyLMuybEjLaCAQgLhJZTEahpu+vb2dH3xvNBr5xuZ4WkYlr3PaNFXNp/ORC9dmGOaRRx7585//vGDBgkGDBvGdqw6Hg2EYWlhNDGbTh6CpqWndunX8Jdu2bePPUxUVFVSJEkJYln3llVdCzgtnzpz517/+RV0S8JuBF//5z38E4lIZl8sl/jixeyU8tFpt//79Bw4cmMxKlBCSl5f32GOP0dvPueeee//990te9HEL8+9yFBYWCu64BoNh2LBhiRqPer744oulS5dCeFZdXd0LL7xw6NAhldsWFhYWFBQIfi9+v7+srCz6A0WigZxl1G63Q6yOXPslIpVNL3nzS0tL83g8tB64x+MR5+t0toZRU1MTvFApRqEXKJ3TYEhw7NA5U+Cmj48YPX36dN++fRVuBwzDdDaalopRIhU2Ko4ZVVmQkgZQhhSjHMeBHIy6m97lcvHdiVCHH14Hg0FBfdOQyMlK5TiNuLnpAZvN9te//tXn882bN4+/3Ol0wonAdqBhIhnF0tDQQBM7jh07JvgvNGpTTuWuqKhQqHO7efNm9d2J0tPTc3JyaA0mQK4icTfm4osvHjNmzOnTp1NSUsBWYTabbTYbvyeExWJRiHbq4eh0ukcffXTu3LlwIzEYDPfdd192dnaixxWa9evX899CXI36+GbJqH+5ZGEkcpYvX+50Oh988EHJ/3Ic99lnn/Xr10/OgyEXM/p///d/LS0t6enpcO5CuunhHix59vv06UMIOX36NPij5RKYSGfc9GAZtdlstbW1kn0vBdC6TvAWDqe9vT03N7e2ttZisdA9xMJND5NAa2urINW6ubm5tLRUedvOFr2CEwpFBsQR22LLqPpsenih/FXT5xMaPBpFN31HRwff0AulT+E1XwJGXmeUJIebHhg2bNjYsWO///57/sXjdDrT09OdTifGjIZJr169xB7zXr160dfieBSGYUJONMqt0jplvWMYZubM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", - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "file_like = io.BytesIO()\n", - "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png(file_like, scale = 1.0)\n", - "display.Image(file_like.getvalue())" - ] } ], "metadata": { From db92e85989a8703c0e3e3566017d01e0c6d1ea3b Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Fri, 24 Nov 2023 12:45:20 +0100 Subject: [PATCH 09/20] Change import place --- python-package/lets_plot/plot/subplots.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index d32b2cc294b..e2bd2de02b0 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -11,6 +11,7 @@ from lets_plot.plot.core import FeatureSpecArray from lets_plot.plot.core import _specs_to_dict from lets_plot.plot.core import _theme_dicts_merge +from lets_plot.plot.core import _to_svg, _to_html, _to_png, _to_pdf __all__ = ['SupPlotsSpec'] @@ -147,7 +148,6 @@ def to_svg(self, path): p.to_svg(file_like) display.SVG(file_like.getvalue()) """ - from ..plot.core import _to_svg _to_svg(self, path) def to_html(self, path, iframe: bool = None): @@ -183,7 +183,6 @@ def to_html(self, path, iframe: bool = None): file_like = io.BytesIO() p.to_html(file_like) """ - from ..plot.core import _to_html _to_html(self, path, iframe) def to_png(self, path, scale=None): @@ -227,7 +226,6 @@ def to_png(self, path, scale=None): p.to_png(file_like) display.Image(file_like.getvalue()) """ - from ..plot.core import _to_png _to_png(self, path, scale) def to_pdf(self, path, scale=None): @@ -269,5 +267,4 @@ def to_pdf(self, path, scale=None): file_like = io.BytesIO() p.to_pdf(file_like) """ - from ..plot.core import _to_pdf _to_pdf(self, path, scale) From 120d8142a72b1dbd41cba5ba621829f107bc100b Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Fri, 24 Nov 2023 16:17:35 +0100 Subject: [PATCH 10/20] Fix path description in doc string --- python-package/lets_plot/plot/core.py | 20 ++++++++++++-------- python-package/lets_plot/plot/subplots.py | 20 ++++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index de06758f5eb..c97583fc2ae 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -483,8 +483,9 @@ def to_svg(self, path): self : `PlotSpec` Plot specification to export. path : str, file-like object - String or file-like object implementing a binary write() function. - When path is a string, the SVG image is written to a file with that name. + Сan be either a string specifying a file path or a file-like object. + If a string is provided, the result will be exported to the file at that path. + If a file-like object is provided, the result will be exported to that object. Examples -------- @@ -514,8 +515,9 @@ def to_html(self, path, iframe: bool = None): self : `PlotSpec` Plot specification to export. path : str, file-like object - String or file-like object implementing a binary write() function. - When path is a string, the HTML page is written to a file with that name. + Сan be either a string specifying a file path or a file-like object. + If a string is provided, the result will be exported to the file at that path. + If a file-like object is provided, the result will be exported to that object. iframe : bool, default=False Whether to wrap HTML page into a iFrame. @@ -545,8 +547,9 @@ def to_png(self, path, scale: float = None): self : `PlotSpec` Plot specification to export. path : str, file-like object - String or file-like object implementing a binary write() function. - When path is a string, the PNG image is written to a file with that name. + Сan be either a string specifying a file path or a file-like object. + If a string is provided, the result will be exported to the file at that path. + If a file-like object is provided, the result will be exported to that object. scale : float Scaling factor for raster output. Default value is 2.0. @@ -584,8 +587,9 @@ def to_pdf(self, path, scale: float = None): self : `PlotSpec` Plot specification to export. path : str, file-like object - String or file-like object implementing a binary write() function. - When path is a string, the PDF is written to a file with that name. + Сan be either a string specifying a file path or a file-like object. + If a string is provided, the result will be exported to the file at that path. + If a file-like object is provided, the result will be exported to that object. scale : float Scaling factor for raster output. Default value is 2.0. diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index e2bd2de02b0..abe251eafa9 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -124,8 +124,9 @@ def to_svg(self, path): self : `SupPlotsSpec` Subplots specification to export. path : str, file-like object - String or file-like object implementing a binary write() function. - When path is a string, the SVG image is written to a file with that name. + Сan be either a string specifying a file path or a file-like object. + If a string is provided, the result will be exported to the file at that path. + If a file-like object is provided, the result will be exported to that object. Examples -------- @@ -159,8 +160,9 @@ def to_html(self, path, iframe: bool = None): self : `SupPlotsSpec` Subplots specification to export. path : str, file-like object - String or file-like object implementing a binary write() function. - When path is a string, the HTML page is written to a file with that name. + Сan be either a string specifying a file path or a file-like object. + If a string is provided, the result will be exported to the file at that path. + If a file-like object is provided, the result will be exported to that object. iframe : bool, default=False Whether to wrap HTML page into a iFrame. @@ -194,8 +196,9 @@ def to_png(self, path, scale=None): self : `SupPlotsSpec` Subplots specification to export. path : str, file-like object - String or file-like object implementing a binary write() function. - When path is a string, the PNG image is written to a file with that name. + Сan be either a string specifying a file path or a file-like object. + If a string is provided, the result will be exported to the file at that path. + If a file-like object is provided, the result will be exported to that object. scale : float Scaling factor for raster output. Default value is 2.0. @@ -237,8 +240,9 @@ def to_pdf(self, path, scale=None): self : `SupPlotsSpec` Subplots specification to export. path : str, file-like object - String or file-like object implementing a binary write() function. - When path is a string, the PDF is written to a file with that name. + Сan be either a string specifying a file path or a file-like object. + If a string is provided, the result will be exported to the file at that path. + If a file-like object is provided, the result will be exported to that object. scale : float Scaling factor for raster output. Default value is 2.0. From 38ab1d6e704f0d51342416105f381bd48c0c4d7a Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:12:10 +0100 Subject: [PATCH 11/20] Changing the ggsave() function to use functions from core.py --- python-package/lets_plot/export/ggsave_.py | 13 +- python-package/lets_plot/export/simple.py | 168 --------------------- 2 files changed, 7 insertions(+), 174 deletions(-) delete mode 100644 python-package/lets_plot/export/simple.py diff --git a/python-package/lets_plot/export/ggsave_.py b/python-package/lets_plot/export/ggsave_.py index 8c1b7b8f1dd..c8c65054cbe 100644 --- a/python-package/lets_plot/export/ggsave_.py +++ b/python-package/lets_plot/export/ggsave_.py @@ -2,10 +2,10 @@ # Use of this source code is governed by the MIT license that can be found in the LICENSE file. import os -from os.path import join +from os.path import join, abspath from typing import Union -from .simple import export_svg, export_html, export_png, export_pdf +from ..plot.core import _to_svg, _to_html, _to_png, _to_pdf from ..plot.core import PlotSpec from ..plot.plot import GGBunch from ..plot.subplots import SupPlotsSpec @@ -81,14 +81,15 @@ def ggsave(plot: Union[PlotSpec, SupPlotsSpec, GGBunch], filename: str, *, path: ext = ext[1:].lower() if ext == 'svg': - return export_svg(plot, pathname) + _to_svg(plot, pathname) elif ext in ['html', 'htm']: - return export_html(plot, pathname, iframe=iframe) + _to_html(plot, pathname, iframe=iframe) elif ext == 'png': - return export_png(plot, pathname, scale) + _to_png(plot, pathname, scale) elif ext == 'pdf': - return export_pdf(plot, pathname, scale) + _to_pdf(plot, pathname, scale) else: raise ValueError( "Unsupported file extension: '{}'\nPlease use one of: 'png', 'svg', 'pdf', 'html', 'htm'".format(ext) ) + return abspath(pathname) diff --git a/python-package/lets_plot/export/simple.py b/python-package/lets_plot/export/simple.py deleted file mode 100644 index 501a631356a..00000000000 --- a/python-package/lets_plot/export/simple.py +++ /dev/null @@ -1,168 +0,0 @@ -# Copyright (c) 2020. JetBrains s.r.o. -# Use of this source code is governed by the MIT license that can be found in the LICENSE file. - -import io -from os.path import abspath -from typing import Union - -from ..plot.core import PlotSpec -from ..plot.plot import GGBunch -from ..plot.subplots import SupPlotsSpec - - -def export_svg(plot: Union[PlotSpec, SupPlotsSpec, GGBunch], filename: str) -> str: - """ - Export plot or `bunch` to a file in SVG format. - - Parameters - ---------- - plot : `PlotSpec` or `SupPlotsSpec` or `GGBunch` - Plot specification to export. - filename : str - Filename to save SVG under. - - Returns - ------- - str - Absolute pathname of created SVG file. - - """ - if not (isinstance(plot, PlotSpec) or isinstance(plot, SupPlotsSpec) or isinstance(plot, GGBunch)): - raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(plot))) - - from .. import _kbridge as kbr - - svg = kbr._generate_svg(plot.as_dict()) - with io.open(filename, mode="w", encoding="utf-8") as f: - f.write(svg) - - return abspath(filename) - - -def export_html(plot: Union[PlotSpec, SupPlotsSpec, GGBunch], filename: str, iframe: bool = False) -> str: - """ - Export plot or `bunch` to a file in HTML format. - - Parameters - ---------- - plot : `PlotSpec` or `SupPlotsSpec` or `GGBunch` - Plot specification to export. - filename : str - Filename to save HTML page under. - iframe : bool, default=False - Whether to wrap HTML page into a iFrame. - - Returns - ------- - str - Absolute pathname of created HTML file. - - """ - if not (isinstance(plot, PlotSpec) or isinstance(plot, SupPlotsSpec) or isinstance(plot, GGBunch)): - raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(plot))) - - from .. import _kbridge as kbr - - html_page = kbr._generate_static_html_page(plot.as_dict(), iframe) - with io.open(filename, mode="w", encoding="utf-8") as f: - f.write(html_page) - - return abspath(filename) - - -def export_png(plot: Union[PlotSpec, SupPlotsSpec, GGBunch], filename: str, scale: float = 2.0) -> str: - """ - Export plot or `bunch` to a file in PNG format. - - Parameters - ---------- - plot : `PlotSpec` or `SupPlotsSpec` or `GGBunch` - Plot specification to export. - filename : str - Filename to save PNG under. - scale : float, default=2.0 - Scaling factor for raster output. - - Returns - ------- - str - Absolute pathname of created PNG file. - - Notes - ----- - Export to PNG file uses the CairoSVG library. - CairoSVG is free and distributed under the LGPL-3.0 license. - For more details visit: https://cairosvg.org/documentation/ - - """ - if not (isinstance(plot, PlotSpec) or isinstance(plot, SupPlotsSpec) or isinstance(plot, GGBunch)): - raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(plot))) - - try: - import cairosvg - - - except ImportError: - import sys - print("\n" - "To export Lets-Plot figure to a PNG file please install CairoSVG library to your Python environment.\n" - "CairoSVG is free and distributed under the LGPL-3.0 license.\n" - "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) - return None - - from .. import _kbridge - # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, - svg = _kbridge._generate_svg(plot.as_dict(), use_css_pixelated_image_rendering=False) - - cairosvg.svg2png(bytestring=svg, write_to=filename, scale=scale) - - return abspath(filename) - - -def export_pdf(plot: Union[PlotSpec, SupPlotsSpec, GGBunch], filename: str, scale: float = 2.0) -> str: - """ - Export plot or `bunch` to a file in PDF format. - - Parameters - ---------- - plot : `PlotSpec` or `SupPlotsSpec` or `GGBunch` - Plot specification to export. - filename : str - Filename to save PDF under. - scale : float, default=2.0 - Scaling factor for raster output. - - Returns - ------- - str - Absolute pathname of created PDF file. - - Notes - ----- - Export to PDF file uses the CairoSVG library. - CairoSVG is free and distributed under the LGPL-3.0 license. - For more details visit: https://cairosvg.org/documentation/ - - """ - if not (isinstance(plot, PlotSpec) or isinstance(plot, SupPlotsSpec) or isinstance(plot, GGBunch)): - raise ValueError("PlotSpec, SupPlotsSpec or GGBunch expected but was: {}".format(type(plot))) - - try: - import cairosvg - - - except ImportError: - import sys - print("\n" - "To export Lets-Plot figure to a PDF file please install CairoSVG library to your Python environment.\n" - "CairoSVG is free and distributed under the LGPL-3.0 license.\n" - "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) - return None - - from .. import _kbridge - # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, - svg = _kbridge._generate_svg(plot.as_dict(), use_css_pixelated_image_rendering=False) - - cairosvg.svg2pdf(bytestring=svg, write_to=filename, scale=scale) - - return abspath(filename) From b9d2773e51d1e234b20b4d6c194efd15e118f0aa Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:32:28 +0100 Subject: [PATCH 12/20] Returns path string in functions --- docs/f-23f/new_save_methods.ipynb | 492 ++++++++++----------- python-package/lets_plot/export/ggsave_.py | 12 +- python-package/lets_plot/plot/core.py | 67 ++- python-package/lets_plot/plot/subplots.py | 36 +- 4 files changed, 314 insertions(+), 293 deletions(-) diff --git a/docs/f-23f/new_save_methods.ipynb b/docs/f-23f/new_save_methods.ipynb index 9d409dfd179..7a61c8363c3 100644 --- a/docs/f-23f/new_save_methods.ipynb +++ b/docs/f-23f/new_save_methods.ipynb @@ -38,7 +38,7 @@ " \n", " \n", @@ -97,13 +97,12 @@ ], "source": [ "file = 'plot.svg'\n", - "p1.to_svg(file)\n", - "os.path.abspath(file)" + "p1.to_svg(file)" ] }, { "cell_type": "markdown", - "id": "b87d559c", + "id": "d3e3fef9", "metadata": {}, "source": [ "You can use the same methods for gggrid()." @@ -128,8 +127,7 @@ ], "source": [ "file = 'grid.png'\n", - "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png(file)\n", - "os.path.abspath(file)" + "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png(file)" ] }, { @@ -163,112 +161,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#p1azYEo .plot-title {\n", + "#pZrn54E .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .plot-subtitle {\n", + "#pZrn54E .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .plot-caption {\n", + "#pZrn54E .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .legend-title {\n", + "#pZrn54E .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .legend-item {\n", + "#pZrn54E .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .axis-title-x {\n", + "#pZrn54E .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .axis-text-x {\n", + "#pZrn54E .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#de065ly .axis-tooltip-text-x {\n", + "#dgiXu3d .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .axis-title-y {\n", + "#pZrn54E .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .axis-text-y {\n", + "#pZrn54E .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#de065ly .axis-tooltip-text-y {\n", + "#dgiXu3d .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .facet-strip-text-x {\n", + "#pZrn54E .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p1azYEo .facet-strip-text-y {\n", + "#pZrn54E .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#de065ly .tooltip-text {\n", + "#dgiXu3d .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#de065ly .tooltip-title {\n", + "#dgiXu3d .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#de065ly .tooltip-label {\n", + "#dgiXu3d .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -277,7 +275,7 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -398,21 +396,17 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -423,89 +417,75 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 4\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 6\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 8\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 10\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 12\n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " 14\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 16\n", - " \n", - " \n", - " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -522,7 +502,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "" ], @@ -543,7 +523,7 @@ }, { "cell_type": "markdown", - "id": "5a436949", + "id": "6280b266", "metadata": {}, "source": [ "You can do the same with binary data in PNG or PDF format." @@ -557,7 +537,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAUoElEQVR4nO3dTYwkZ30H4KrqnpmdmZ3Zmd2FiNgJRAgQB64gRSiygsC9jjCKjbAVWzlyiiKRY3KLcs0592gV2QgbYYE9kgELyRIgpMSSFWEpNnEAG2PP587u7Hx0V+XQdm/PeBivt2ur3pn/85yqd6W3f11d/f66vqbzqqoyAIiqaDsAALRJEQIQmiIEIDRFCEBoihCA0BQhAKEpQgBCU4QAhKYIAQhNER51cHCwsbHRdoqj+v3++vp62ymOGgwGa2trbac4qizL1dXVtlMcVVXVO++803aKY7z99tttRzjGO++8k+AfvVpdXS3Lsu0UR62trQ0Gg7ZTHLW+vt7v99tOcbsUIQChKUIAQlOEAISmCAEITRECEJoiBCA0RQhAaIoQgNAUIQChKUIAQlOEAISmCAEITRECEJoiBCA0Rcidy/P83Llzbac4NWZnZ9uOcIy5ubm2I3AGnTt3rihOTb902w7AKVYUxfz8fNspmlBlWT7ZCHmenz9/vp40taol1eTrhzPmdH3BUoSh/eTXO//8Ysu/Fvv9b/zpbDf1WbSqspff2fvWD99qN8a/f/WeexZufWarLPvVxv43n/tdi5GyLPu33sc+dXG63QzU7kv/8X/tBviHL1z6q0829N1REYa2sTv4r9/vtpuhrE7H7sSNg7L1dbXbP/rz6Dv9qvVUOwfJ/Wg7k3vp97tVqwHWdgaNPdepOYYLAHeDIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhDaXfyF+l6vt7KyMv5wtDz+7wDQortVhOO1lx1XiroQgBTclUOj7+85tQdAmu5KEao9AE4LF8sAENpdvFjmD3n/gdOqqtbW1ppP8odUVbW6utp2iqNqT3X58uUaR5vE/v7+tWvXahywLMt619XS8sUaR5tEv9/f3NwcLi8tL7cbZmQwGGxubNQ4YGpzwlBZluvr622nOKqqqo1aV/7CwsLMzEyNA05ibW2tqqrJxzl5umu6CI+9TCbP84sXU5loDg4Obty4sbS01HaQQ/r9/vb29nIyE1+9pqamatwAyrLc3NyseYvK8zpHm0C32x29tDwvsqzfbp6hTtGpd4Wvra0tLy/nyaz2ofX19aWlpaJI60DaxsbG4uJip9Opa8CkVnszk16jRXjCxaLpbFtFUeR5nk6eoTRT1SXP89o/e/Wuq7KGr6S1Gb20hELlWZHXvHEOt/l6x5xcURQJfgzTTFWLZl5Xc+vOLRMAJKihPcLhbYXuqQcgNXexCMerTu0BkKazeVgZAG6TIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACE1r17Q/d6vZWVlfGHo+XxfweAFt2tIhyvvey4UtSFAKTgrhwa1XMAnBZ3pQi1IACnhYtlAAjtLl4s86HcuHGj7QjvKsuyLMt688zOzk44Ql4UixculGU54TiDwWB/f3+4PD8/P+FodRkMBru7u3WNVlVVVVX1voPnZudqHG0SZVnevHlzuDz5dlWXsix330tVl52dnXoHnFxVVTs7O3metx3kkKqqbt68WWOqmZmZbjeVatjZ2amqavJxTp7uUnm16RhOo/WOWRTF+u7gje1+vcN+WJ/7yMzkVQoNGH4MU6ucNFlXk0ulCNPZOzk4OBgMBrXnefbV63///Fv1jvlhrX/rM91uN53veiOdTqfGFV6W5e7ubr3vYFnzV6M7VxTF6KUlE+pQqlrs7OzMz8+nNrnfvHlzbm6uKNI6o7S7uzs3N9fpdNoOclfMzTVxMCatdxQAGtbQzsHKyoob6gFI0F0swiNtp/wASJBDowCEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIuSsyfN8YWGh7RTAqaEISUtVTTpCnuczMzN1ZAFC6LYdAA6psuyH/3vjb77323Zj/Pc3P/nROZ8OCMFHnRQNJt4vBLhNDo0CEJoiBCA0RQhAaIoQgNAUIQChKUIAQlOEAISmCAEITRECEJoiBCA0RQhAaIoQgNAUIQChKUIAQlOEAISmCAEITRECEFpzv1Df6/VGyysrK409LwCcoKEi7PV64+V35CEAtMWhUQBCU4QAhNbQodGVlZWTzxEOBoNmknygsiyrqqo3T6fTqXG0SVRVVZblcDnNVHmRZqpUvjKOpyqSSZVV1WC0rvJ88vFmZ2erqqqqasJxRiPUkurcuXPj6/+O1Z4qy7IaUxVFUUuwWtQ1FZ883SVxjrCqqo2NjWaSfKDhx6/GPHmeX7p0qa7RJrS/v7+9vT1cvnz5crthRg4ODq5duzZcXr6Yyrrq9/tbW1vD5aXli+2GGRkMBpubm8PlpeXldsOMDMpy872PzNLSUrc76cRy/vz5iUNlg7IcfZAvXLgwNTU14YC1pCqramN9fbi8uLg4PT094YDz8/MTh8qyLFtdXR0uLCwszMzM1DLm5DY3Nyf/PpR90HTX3FWjJ8jzPKlJ+fr168vJTDH1mpmZSWcTH5menh5tAGUN23w9pqamEkzV7XZHqaosy7J+m2ne0+l0xj/Cb273//b7b7SYJ8uyf/3SH33uI+fGU23tDR5++rctRsqy7F/+4qNf+OPZ8VT7g+qBb/+6xUhZlv3jn1/+y4/PpzMJj2tmLyKJIgTOkr1B9Z9v7bab4fr+0UOFB2XWeqqtvaMH+sqq/VQbu6mcmWpLMucYAKANqVwsAwCtaO7QqPIDIEEOjQIQmiIEIDRFCEBoihCA0BQhAKEpQgBCO6YIx2/4O/kfAeC0s0cIQGiHbqgf7fbZ/wMgiENFOPzjL0d+IwkAzrBjDo1qQQDiOP5vjR57aFRBAnD2HFOEDo0CEIerRgEITRECENrxF8u4fQKAII4/R5gdd72ME4cAnD3HFKHCAyAO5wgBCO0PHhp9P3uKAJw9t3Vo1J2FAJxVt3Vo1HWkAJxVzhECEJoiBCC0271YxjlCAM4k9xECEJpDowCEdru/R2g3EYAz6XZ/j9CthACcSQ6NAhCaIgQgNEUIQGjH3z7hYhkAgjj+qlG1B0AQDo0CENrxRXjk0KifngDgrDqmCN9/y6CfYQLgrHJoFIDQFCEAoR1/1ejdMH5w1VWpACSiofsIj5x39JdLAUhEO/cRakEAEuEcIQChNXeOMBs7TWiPEIBENHqxzKj/jpwjrKpqa2ursSQnq6qq3+9vbm7WNWCe5xcuXKhrtAnt7+/v7OwMl5eWltoNM3JwcHDjxo3h8mIy66rf71+/fn24vLC42G6YkcFgsL29PVxeWFhoN8xIOSi3t68Nl9NJVVXl5ta7qc6fP59lebt5hqqs2tp8d7qbn5/P8kb3Rk4wmvTm5uamp6fbDTOytbVVVdXk45w83TX3HpywF5jn+dzcXGNJTtbv96uqSidPvbrdboIvrdPpJJ4qz5OYQ7MsK4riVqoilVMbeXHrI1wURZaV7eYZGp9YiqLIshrm0zrcStXpdAZJrKosy7JRqm43lW7Osmx2draBZ0nlBafzBSTP8729vXTy1KsoigRf2niqMpHJKsvyPE88VTKhDqVKyZFUg9aCjMmPTHfJbFtJvoMNpUrlGyUAtKKhPcIj9ya6WAaARCRxjhAA2uLQKAChKUIAQlOEAISmCAEITRECEJoiBCA0RQhAaIoQgNAUIQChKUIAQlOEAISmCAEITRECEJoiBCA0RQhAaIoQgNAUIQChKUIAQlOEAISmCI/qdruLi4ttpwCgId22A9Rv7ebgrRv9iYe58xGKLPvs5ZmJAwDQhDNYhN/+5bV/+snbLQaYnyp+83efajEAALfPoVEAQlOEAISmCAEITRECEJoiBCA0RQhAaIoQgNAUIQChKUIAQlOEAISmCAEITRECEJoiBCA0RQhAaIoQgNAUIQChKUIAQmuhCHu9XvNPCgDHaroItSAASXFoFIDQGi3CXq+3srLS5DMCwMnsEQIQWrexZzp5d3Bvb2/yp8jzfHp6evJxajEYDPr9/nB5Zmam3TAjZVkeHBwMl9NMNZXMO3go1VQqqaqq2t/fHy6ns67GU6XzGcyyam/vvXU1NdVulJEqq/YPpcrbzTMymoSnpqaKIpV9pFqqIfug6a65IjxBVVW7u7uTj5NaEQ5fVJ7n6VTOKFWWWBGOUqUzuY+n6iYzjR5K1U3i85tlWVVWKaYam1g6nU46lTNKVRRFlqeyusZTJVWEVVVNPk4SRTi8WHR0yeiRvcM8zy9cuNBMksZMT0+n08ojU1NTCa7qbrc7SlXWsM3XI81UnU5nlKrKsizrt5nmPUWnOLxdla1FGZPnh1MdDNrLckueHZruBv1Utq0EZ4YsyxYXFxt4loaKcLz2XDIDQDpS2f8FgFa0UIR2BwFIhz1CAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoXUbe6ZerzdaXllZaex5AeAEDRVhr9cbL78jDwGgLQ0dGlV7AKTJOUIAQlOEAITW3MUyI+8/QVhV1dra2uQjF0Vx8eLFycepxe7u7vXr17Msy/P80qVLbcd5197e3vb29nD58uXL7YYZ2d/fv3bt2nB5+WIq6+rg4GBra2u4vLScynbV7/c3NzeHy0vLy+2GGRkMBpsbG8PlpaWlLKvazTNUluX6xvpw+cKFC1mVxPf+KqvWVt+d7hYXF7Niqt08I6urq8OFhYWFmZmZdsOMrK2tVVUNm9PJ013TRXjsZTJ5nqdTYHWZmZmZnp5uO8VR09PTCa7qqampW6nyvNUst6SZqtvtjlLleZFl/XbzDHWKzihVURRZdtBunqHxb8Z5nmf9st0878nHU+0N2g1zy6F1lYzlRr7tNVqEJ1wsWhRJfFmrUZ7nSW1PQ+mnKpPYl3jXaLNMM1VCofKsyFP8CCc4seRZlh9KlcrbmOC6yppK1dwrd8sEAAlq7j7CzD31AKSnoSJUewCkKcWDwgDQGEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGiKEIDQFCEAoSlCAEJThACEpggBCK3b2DP1er3R8srKSmPPCwAnaKgIe73eePkdeQgAbXFoFIDQFCEAoSlCAELLq6pq4GlOPkfY7/efeOKJyZ/l3LlzX//619d3B7+/3p98tDtW5PlnLk2/+uqrP/vZz7Is63a7jz766Obu4Hetpsqy7LOXZ15//fUXX3xx+PCxxx7b3q/e2D5oN9VnLs387s03XnjhheHDbzzyyH7V+c21llN96uL02jtvP//888OHf/3Qw8X0zOubLaf65PL09a2NZ599dvjwq1998Nz8wq8299tN9WdL0/s3rz/zve8NH165cmVh6eJrGy2n+viFqay/9/RTTw0ffvnLX770kY/+z3rLqf5kcWqmKJ98b7q777777rn33ldW99pNdc/C1OJMcfXq1eHDL37xi5/4xCd+2Xaqj53vLp3rPPHEE/1+DTPn448/fsL/nqkirMXbb7/90ksvfeUrX2k7yCEbGxs//elPH3jggbaDHLK9vf3jH//4a1/7WttBDtnd3f3BD37w8MMPtx3kkH6//53vfOfRRx9tO8hRV69efeyxx/I8bzvIIU8++eRDDz00NTXVdpBDnn766StXrszOzrYd5JBnnnnmvvvuW1xcbDvIIc8999znP//5S5cutR3kXScXYXO3T5yg2+2enLJJL7/88ptvvplOnqHXXnvtlVdeSS3VG2+88Ytf/CK1VBsbGz/60Y9SS7W7u/vd7343tVRZll29evXxxx9PrQifeuqpRx55ZG5uru0ghzz33HMPPfRQOpP70AsvvPDggw/ee++9bQc55Oc///mVK1c+/elPtx3ktjhHCEBoDe0RrqysuKEegAQ1dI4QANLk0CgAoSVxsUwiEj94m9TfpUt2XSUbbCjZNzFLZnUl+A4eWVFZksESiZSlmuoDVFRVVVX333//CQ9bd//996cTKdl1lWywoaTexCq99VMl/w5WKUVKc12lmeoDOTR6CiS1G5El/C0v2WDcGW8ozVCEp4Dp4AxI7dtManlOBSvtrHKOkLNmdIrCnHWyZM/leAdvR/r3pL3/3GqyFCETSfA78ihPOtnSSTIuzZ8IHU+STqossTBZqj/yOl7PR6o6ZYqQO5fIZ487kOwbl2wwbtNpfAedI+QOacHbNPxS3Ov1RgttJ+JDs7WfbYqQO5HmvJBmx6yMyZL5vpzmuuK0G9+u0pwljuVPrN2S/pnnRFIle39x5k38MNJcV8mmSifMSLLrariQTqQPpAgBCM2hUQBCU4QAhKYIAQhNEQIQmiIEIDRFCEBoihCA0BQhAKEpQgBCU4QAhKYIAQhNEQIQmiKE0+H9P/rhp5SgFooQToeVlZVT+mNvkDhFCKfGqAu1INTI7xHCKaMFoV72CAEITRHCaTLcHXSZDNRIEcKpMTooqguhRooQTocjpwZ1IdTFxTIAhGaPEIDQFCEAoSlCAEJThACEpggBCE0RAhCaIgQgNEUIQGj/D5Tc6aqN+p7OAAAAAElFTkSuQmCC", "text/plain": [ "" ] @@ -575,7 +555,7 @@ }, { "cell_type": "markdown", - "id": "ce7a798a", + "id": "8d863635", "metadata": {}, "source": [ "You can also write `gggrid()` to a file-like object." @@ -591,7 +571,7 @@ "data": { "image/svg+xml": [ "\n", - " \n", + " \n", " \n", " \n", " \n", @@ -607,112 +587,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#pF9LfR8 .plot-title {\n", + "#p3EXlxc .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .plot-subtitle {\n", + "#p3EXlxc .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .plot-caption {\n", + "#p3EXlxc .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .legend-title {\n", + "#p3EXlxc .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .legend-item {\n", + "#p3EXlxc .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .axis-title-x {\n", + "#p3EXlxc .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .axis-text-x {\n", + "#p3EXlxc .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dOM5nWf .axis-tooltip-text-x {\n", + "#dUlj5Sz .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .axis-title-y {\n", + "#p3EXlxc .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .axis-text-y {\n", + "#p3EXlxc .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dOM5nWf .axis-tooltip-text-y {\n", + "#dUlj5Sz .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .facet-strip-text-x {\n", + "#p3EXlxc .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pF9LfR8 .facet-strip-text-y {\n", + "#p3EXlxc .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dOM5nWf .tooltip-text {\n", + "#dUlj5Sz .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dOM5nWf .tooltip-title {\n", + "#dUlj5Sz .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dOM5nWf .tooltip-label {\n", + "#dUlj5Sz .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -721,22 +701,22 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -798,65 +778,56 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " -3\n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 3\n", @@ -864,9 +835,9 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -874,106 +845,106 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -991,7 +962,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1006,112 +977,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#pmZUGiM .plot-title {\n", + "#pKDaVLO .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .plot-subtitle {\n", + "#pKDaVLO .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .plot-caption {\n", + "#pKDaVLO .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .legend-title {\n", + "#pKDaVLO .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .legend-item {\n", + "#pKDaVLO .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .axis-title-x {\n", + "#pKDaVLO .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .axis-text-x {\n", + "#pKDaVLO .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dKOpNuY .axis-tooltip-text-x {\n", + "#dn4w7gV .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .axis-title-y {\n", + "#pKDaVLO .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .axis-text-y {\n", + "#pKDaVLO .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dKOpNuY .axis-tooltip-text-y {\n", + "#dn4w7gV .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .facet-strip-text-x {\n", + "#pKDaVLO .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pmZUGiM .facet-strip-text-y {\n", + "#pKDaVLO .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dKOpNuY .tooltip-text {\n", + "#dn4w7gV .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dKOpNuY .tooltip-title {\n", + "#dn4w7gV .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dKOpNuY .tooltip-label {\n", + "#dn4w7gV .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -1120,22 +1091,22 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1197,65 +1168,56 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " -3\n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", " -2\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " -1\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 0\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 1\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 3\n", @@ -1263,15 +1225,15 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1289,7 +1251,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", "" diff --git a/python-package/lets_plot/export/ggsave_.py b/python-package/lets_plot/export/ggsave_.py index c8c65054cbe..56fc9e63373 100644 --- a/python-package/lets_plot/export/ggsave_.py +++ b/python-package/lets_plot/export/ggsave_.py @@ -74,22 +74,18 @@ def ggsave(plot: Union[PlotSpec, SupPlotsSpec, GGBunch], filename: str, *, path: if not path: path = join(os.getcwd(), _DEF_EXPORT_DIR) - if not os.path.exists(path): - os.makedirs(path) - pathname = join(path, filename) ext = ext[1:].lower() if ext == 'svg': - _to_svg(plot, pathname) + return _to_svg(plot, pathname) elif ext in ['html', 'htm']: - _to_html(plot, pathname, iframe=iframe) + return _to_html(plot, pathname, iframe=iframe) elif ext == 'png': - _to_png(plot, pathname, scale) + return _to_png(plot, pathname, scale) elif ext == 'pdf': - _to_pdf(plot, pathname, scale) + return _to_pdf(plot, pathname, scale) else: raise ValueError( "Unsupported file extension: '{}'\nPlease use one of: 'png', 'svg', 'pdf', 'html', 'htm'".format(ext) ) - return abspath(pathname) diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index c97583fc2ae..146c65e2a1a 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -2,8 +2,11 @@ # Copyright (c) 2019. JetBrains s.r.o. # Use of this source code is governed by the MIT license that can be found in the LICENSE file. # +from typing import Any + import io import json +import os __all__ = ['aes', 'layer'] @@ -474,7 +477,7 @@ def show(self): from ..frontend_context._configuration import _display_plot _display_plot(self) - def to_svg(self, path): + def to_svg(self, path) -> str: """ Write a plot to a file or to a file-like object in SVG format. @@ -487,6 +490,11 @@ def to_svg(self, path): If a string is provided, the result will be exported to the file at that path. If a file-like object is provided, the result will be exported to that object. + Returns + ------- + str + Absolute pathname of created file or None if file-like object is provided. + Examples -------- .. jupyter-execute:: @@ -504,9 +512,9 @@ def to_svg(self, path): p.to_svg(file_like) display.SVG(file_like.getvalue()) """ - _to_svg(self, path) + return _to_svg(self, path) - def to_html(self, path, iframe: bool = None): + def to_html(self, path, iframe: bool = None) -> str: """ Write a plot to a file or to a file-like object in HTML format. @@ -521,6 +529,11 @@ def to_html(self, path, iframe: bool = None): iframe : bool, default=False Whether to wrap HTML page into a iFrame. + Returns + ------- + str + Absolute pathname of created file or None if file-like object is provided. + Examples -------- .. jupyter-execute:: @@ -536,9 +549,9 @@ def to_html(self, path, iframe: bool = None): file_like = io.BytesIO() p.to_html(file_like) """ - _to_html(self, path, iframe) + return _to_html(self, path, iframe) - def to_png(self, path, scale: float = None): + def to_png(self, path, scale: float = None) -> str: """ Write a plot to a file or to a file-like object in PNG format. @@ -553,6 +566,11 @@ def to_png(self, path, scale: float = None): scale : float Scaling factor for raster output. Default value is 2.0. + Returns + ------- + str + Absolute pathname of created file or None if file-like object is provided. + Notes ----- Export to PNG file uses the CairoSVG library. @@ -576,9 +594,9 @@ def to_png(self, path, scale: float = None): p.to_png(file_like) display.Image(file_like.getvalue()) """ - _to_png(self, path, scale) + return _to_png(self, path, scale) - def to_pdf(self, path, scale: float = None): + def to_pdf(self, path, scale: float = None) -> str: """ Write a plot to a file or to a file-like object in PDF format. @@ -593,6 +611,11 @@ def to_pdf(self, path, scale: float = None): scale : float Scaling factor for raster output. Default value is 2.0. + Returns + ------- + str + Absolute pathname of created file or None if file-like object is provided. + Notes ----- Export to PDF file uses the CairoSVG library. @@ -619,7 +642,7 @@ def to_pdf(self, path, scale: float = None): file_like = io.BytesIO() p.to_pdf(file_like) """ - _to_pdf(self, path, scale) + return _to_pdf(self, path, scale) class LayerSpec(FeatureSpec): @@ -771,18 +794,20 @@ def _theme_dicts_merge(x, y): return {**x, **y, **z} -def _to_svg(spec, path): +def _to_svg(spec, path) -> str: from .. import _kbridge as kbr svg = kbr._generate_svg(spec.as_dict()) if isinstance(path, str): + _makedirs(path) with io.open(path, mode="w", encoding="utf-8") as f: f.write(svg) else: path.write(svg.encode()) + return _abspath(path) -def _to_html(spec, path, iframe: bool): +def _to_html(spec, path, iframe: bool) -> str: if iframe is None: iframe = False @@ -790,13 +815,15 @@ def _to_html(spec, path, iframe: bool): html_page = kbr._generate_static_html_page(spec.as_dict(), iframe) if isinstance(path, str): + _makedirs(path) with io.open(path, mode="w", encoding="utf-8") as f: f.write(html_page) else: path.write(html_page.encode()) + return _abspath(path) -def _to_png(spec, path, scale: float): +def _to_png(spec, path, scale: float) -> str: if scale is None: scale = 2.0 @@ -813,10 +840,12 @@ def _to_png(spec, path, scale: float): from .. import _kbridge # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) + _makedirs(path) cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) + return _abspath(path) -def _to_pdf(spec, path, scale: float): +def _to_pdf(spec, path, scale: float) -> str: if scale is None: scale = 2.0 @@ -833,4 +862,18 @@ def _to_pdf(spec, path, scale: float): from .. import _kbridge # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) + _makedirs(path) cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) + return _abspath(path) + + +def _makedirs(path): + if isinstance(path, str): + dirname = os.path.dirname(path) or '.' + if not os.path.exists(dirname): + os.makedirs(dirname) + + +def _abspath(path) -> str | None: + if isinstance(path, str): + return os.path.abspath(path) diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index abe251eafa9..04d6e330c58 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -115,7 +115,7 @@ def show(self): from ..frontend_context._configuration import _display_plot _display_plot(self) - def to_svg(self, path): + def to_svg(self, path) -> str: """ Write all plots currently in this 'bunch' to a file or file-like object in SVG format. @@ -128,6 +128,11 @@ def to_svg(self, path): If a string is provided, the result will be exported to the file at that path. If a file-like object is provided, the result will be exported to that object. + Returns + ------- + str + Absolute pathname of created file or None if file-like object is provided. + Examples -------- .. jupyter-execute:: @@ -149,9 +154,9 @@ def to_svg(self, path): p.to_svg(file_like) display.SVG(file_like.getvalue()) """ - _to_svg(self, path) + return _to_svg(self, path) - def to_html(self, path, iframe: bool = None): + def to_html(self, path, iframe: bool = None) -> str: """ Write all plots currently in this 'bunch' to a file or file-like object in HTML format. @@ -166,6 +171,11 @@ def to_html(self, path, iframe: bool = None): iframe : bool, default=False Whether to wrap HTML page into a iFrame. + Returns + ------- + str + Absolute pathname of created file or None if file-like object is provided. + Examples -------- .. jupyter-execute:: @@ -185,9 +195,9 @@ def to_html(self, path, iframe: bool = None): file_like = io.BytesIO() p.to_html(file_like) """ - _to_html(self, path, iframe) + return _to_html(self, path, iframe) - def to_png(self, path, scale=None): + def to_png(self, path, scale=None) -> str: """ Write all plots currently in this 'bunch' to a file or file-like object in PNG format. @@ -202,6 +212,11 @@ def to_png(self, path, scale=None): scale : float Scaling factor for raster output. Default value is 2.0. + Returns + ------- + str + Absolute pathname of created file or None if file-like object is provided. + Notes ----- Export to PNG file uses the CairoSVG library. @@ -229,9 +244,9 @@ def to_png(self, path, scale=None): p.to_png(file_like) display.Image(file_like.getvalue()) """ - _to_png(self, path, scale) + return _to_png(self, path, scale) - def to_pdf(self, path, scale=None): + def to_pdf(self, path, scale=None) -> str: """ Write all plots currently in this 'bunch' to a file or file-like object in PDF format. @@ -246,6 +261,11 @@ def to_pdf(self, path, scale=None): scale : float Scaling factor for raster output. Default value is 2.0. + Returns + ------- + str + Absolute pathname of created file or None if file-like object is provided. + Notes ----- Export to PDF file uses the CairoSVG library. @@ -271,4 +291,4 @@ def to_pdf(self, path, scale=None): file_like = io.BytesIO() p.to_pdf(file_like) """ - _to_pdf(self, path, scale) + return _to_pdf(self, path, scale) From 38552ad751d18b9b72616abf12a6b5d6761fb5a9 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Wed, 29 Nov 2023 12:50:50 +0100 Subject: [PATCH 13/20] Clearing not necessary imports --- python-package/lets_plot/export/ggsave_.py | 2 +- python-package/lets_plot/plot/core.py | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/python-package/lets_plot/export/ggsave_.py b/python-package/lets_plot/export/ggsave_.py index 56fc9e63373..8ddfb790ab3 100644 --- a/python-package/lets_plot/export/ggsave_.py +++ b/python-package/lets_plot/export/ggsave_.py @@ -2,7 +2,7 @@ # Use of this source code is governed by the MIT license that can be found in the LICENSE file. import os -from os.path import join, abspath +from os.path import join from typing import Union from ..plot.core import _to_svg, _to_html, _to_png, _to_pdf diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index 146c65e2a1a..1644119f004 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -2,8 +2,6 @@ # Copyright (c) 2019. JetBrains s.r.o. # Use of this source code is governed by the MIT license that can be found in the LICENSE file. # -from typing import Any - import io import json import os From 12c01ea36f2b356709a9374c1eaba4ce7c00f196 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Fri, 1 Dec 2023 18:07:10 +0100 Subject: [PATCH 14/20] Some minor fixes --- python-package/lets_plot/plot/core.py | 22 ++++++++++++---------- python-package/lets_plot/plot/subplots.py | 8 ++++---- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index 1644119f004..a1e21589472 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -477,7 +477,7 @@ def show(self): def to_svg(self, path) -> str: """ - Write a plot to a file or to a file-like object in SVG format. + Export a plot to a file or to a file-like object in SVG format. Parameters ---------- @@ -514,7 +514,7 @@ def to_svg(self, path) -> str: def to_html(self, path, iframe: bool = None) -> str: """ - Write a plot to a file or to a file-like object in HTML format. + Export a plot to a file or to a file-like object in HTML format. Parameters ---------- @@ -551,7 +551,7 @@ def to_html(self, path, iframe: bool = None) -> str: def to_png(self, path, scale: float = None) -> str: """ - Write a plot to a file or to a file-like object in PNG format. + Export a plot to a file or to a file-like object in PNG format. Parameters ---------- @@ -596,7 +596,7 @@ def to_png(self, path, scale: float = None) -> str: def to_pdf(self, path, scale: float = None) -> str: """ - Write a plot to a file or to a file-like object in PDF format. + Export a plot to a file or to a file-like object in PDF format. Parameters ---------- @@ -792,7 +792,7 @@ def _theme_dicts_merge(x, y): return {**x, **y, **z} -def _to_svg(spec, path) -> str: +def _to_svg(spec, path) -> str | None: from .. import _kbridge as kbr svg = kbr._generate_svg(spec.as_dict()) @@ -805,7 +805,7 @@ def _to_svg(spec, path) -> str: return _abspath(path) -def _to_html(spec, path, iframe: bool) -> str: +def _to_html(spec, path, iframe: bool) -> str | None: if iframe is None: iframe = False @@ -821,7 +821,7 @@ def _to_html(spec, path, iframe: bool) -> str: return _abspath(path) -def _to_png(spec, path, scale: float) -> str: +def _to_png(spec, path, scale: float) -> str | None: if scale is None: scale = 2.0 @@ -843,7 +843,7 @@ def _to_png(spec, path, scale: float) -> str: return _abspath(path) -def _to_pdf(spec, path, scale: float) -> str: +def _to_pdf(spec, path, scale: float) -> str | None: if scale is None: scale = 2.0 @@ -867,11 +867,13 @@ def _to_pdf(spec, path, scale: float) -> str: def _makedirs(path): if isinstance(path, str): - dirname = os.path.dirname(path) or '.' - if not os.path.exists(dirname): + dirname = os.path.dirname(path) + if dirname and not os.path.exists(dirname): os.makedirs(dirname) def _abspath(path) -> str | None: if isinstance(path, str): return os.path.abspath(path) + else: + return None diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index 04d6e330c58..bbec2de7fbf 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -117,7 +117,7 @@ def show(self): def to_svg(self, path) -> str: """ - Write all plots currently in this 'bunch' to a file or file-like object in SVG format. + Export all plots currently in this 'bunch' to a file or file-like object in SVG format. Parameters ---------- @@ -158,7 +158,7 @@ def to_svg(self, path) -> str: def to_html(self, path, iframe: bool = None) -> str: """ - Write all plots currently in this 'bunch' to a file or file-like object in HTML format. + Export all plots currently in this 'bunch' to a file or file-like object in HTML format. Parameters ---------- @@ -199,7 +199,7 @@ def to_html(self, path, iframe: bool = None) -> str: def to_png(self, path, scale=None) -> str: """ - Write all plots currently in this 'bunch' to a file or file-like object in PNG format. + Export all plots currently in this 'bunch' to a file or file-like object in PNG format. Parameters ---------- @@ -248,7 +248,7 @@ def to_png(self, path, scale=None) -> str: def to_pdf(self, path, scale=None) -> str: """ - Write all plots currently in this 'bunch' to a file or file-like object in PDF format. + Export all plots currently in this 'bunch' to a file or file-like object in PDF format. Parameters ---------- From b79108000e64f6c5199070fd81d0fedc767b73ed Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Mon, 4 Dec 2023 17:40:31 +0100 Subject: [PATCH 15/20] Some code changes --- python-package/lets_plot/plot/core.py | 38 +++++++++++++++------------ 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index a1e21589472..46016d2627d 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -797,12 +797,15 @@ def _to_svg(spec, path) -> str | None: svg = kbr._generate_svg(spec.as_dict()) if isinstance(path, str): - _makedirs(path) + dirname = os.path.dirname(path) + if dirname and not os.path.exists(dirname): + os.makedirs(dirname) with io.open(path, mode="w", encoding="utf-8") as f: f.write(svg) + return os.path.abspath(path) else: path.write(svg.encode()) - return _abspath(path) + return None def _to_html(spec, path, iframe: bool) -> str | None: @@ -813,12 +816,15 @@ def _to_html(spec, path, iframe: bool) -> str | None: html_page = kbr._generate_static_html_page(spec.as_dict(), iframe) if isinstance(path, str): - _makedirs(path) + dirname = os.path.dirname(path) + if dirname and not os.path.exists(dirname): + os.makedirs(dirname) with io.open(path, mode="w", encoding="utf-8") as f: f.write(html_page) + return os.path.abspath(path) else: path.write(html_page.encode()) - return _abspath(path) + return None def _to_png(spec, path, scale: float) -> str | None: @@ -838,9 +844,15 @@ def _to_png(spec, path, scale: float) -> str | None: from .. import _kbridge # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) - _makedirs(path) - cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) - return _abspath(path) + if isinstance(path, str): + dirname = os.path.dirname(path) + if dirname and not os.path.exists(dirname): + os.makedirs(dirname) + cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) + return os.path.abspath(path) + else: + cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) + return None def _to_pdf(spec, path, scale: float) -> str | None: @@ -860,20 +872,12 @@ def _to_pdf(spec, path, scale: float) -> str | None: from .. import _kbridge # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) - _makedirs(path) - cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) - return _abspath(path) - - -def _makedirs(path): if isinstance(path, str): dirname = os.path.dirname(path) if dirname and not os.path.exists(dirname): os.makedirs(dirname) - - -def _abspath(path) -> str | None: - if isinstance(path, str): + cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) return os.path.abspath(path) else: + cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) return None From a93455ec0f67d208953a87c83529381a22bf5a00 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Tue, 5 Dec 2023 20:10:29 +0100 Subject: [PATCH 16/20] Modifying _makedirs function --- python-package/lets_plot/plot/core.py | 43 ++++++++++++++------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index 46016d2627d..724cab6f4b0 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -797,12 +797,10 @@ def _to_svg(spec, path) -> str | None: svg = kbr._generate_svg(spec.as_dict()) if isinstance(path, str): - dirname = os.path.dirname(path) - if dirname and not os.path.exists(dirname): - os.makedirs(dirname) - with io.open(path, mode="w", encoding="utf-8") as f: + abspath = _makedirs(path) + with io.open(abspath, mode="w", encoding="utf-8") as f: f.write(svg) - return os.path.abspath(path) + return abspath else: path.write(svg.encode()) return None @@ -816,12 +814,10 @@ def _to_html(spec, path, iframe: bool) -> str | None: html_page = kbr._generate_static_html_page(spec.as_dict(), iframe) if isinstance(path, str): - dirname = os.path.dirname(path) - if dirname and not os.path.exists(dirname): - os.makedirs(dirname) - with io.open(path, mode="w", encoding="utf-8") as f: + abspath = _makedirs(path) + with io.open(abspath, mode="w", encoding="utf-8") as f: f.write(html_page) - return os.path.abspath(path) + return abspath else: path.write(html_page.encode()) return None @@ -844,12 +840,11 @@ def _to_png(spec, path, scale: float) -> str | None: from .. import _kbridge # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) + if isinstance(path, str): - dirname = os.path.dirname(path) - if dirname and not os.path.exists(dirname): - os.makedirs(dirname) - cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) - return os.path.abspath(path) + abspath = _makedirs(path) + cairosvg.svg2png(bytestring=svg, write_to=abspath, scale=scale) + return abspath else: cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) return None @@ -872,12 +867,20 @@ def _to_pdf(spec, path, scale: float) -> str | None: from .. import _kbridge # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) + if isinstance(path, str): - dirname = os.path.dirname(path) - if dirname and not os.path.exists(dirname): - os.makedirs(dirname) - cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) - return os.path.abspath(path) + abspath = _makedirs(path) + cairosvg.svg2pdf(bytestring=svg, write_to=abspath, scale=scale) + return abspath else: cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) return None + + +def _makedirs(path: str) -> str: + """Return absolute path to a file after creating all directories in the path.""" + abspath = os.path.abspath(path) + dirname = os.path.dirname(abspath) + if dirname and not os.path.exists(dirname): + os.makedirs(dirname) + return abspath From 066c85a6205c055656dc222d0be3f29ba1b4b8f6 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Thu, 7 Dec 2023 10:22:00 +0100 Subject: [PATCH 17/20] Modifying demo notebook --- ...methods.ipynb => new_export_methods.ipynb} | 615 ++++++++++-------- 1 file changed, 338 insertions(+), 277 deletions(-) rename docs/f-23f/{new_save_methods.ipynb => new_export_methods.ipynb} (98%) diff --git a/docs/f-23f/new_save_methods.ipynb b/docs/f-23f/new_export_methods.ipynb similarity index 98% rename from docs/f-23f/new_save_methods.ipynb rename to docs/f-23f/new_export_methods.ipynb index 7a61c8363c3..f3a269ec826 100644 --- a/docs/f-23f/new_save_methods.ipynb +++ b/docs/f-23f/new_export_methods.ipynb @@ -5,9 +5,9 @@ "id": "employed-rebate", "metadata": {}, "source": [ - "# Save Methods of `ggplot()` and `gggrid()`\n", + "# Export Methods of `ggplot()` and `gggrid()`\n", "\n", - "Use methods `to_svg()`, `to_html()`,`to_png()`,`to_pdf()` to save plots on disc or in file-like objects.\n", + "Use methods `to_svg()`, `to_html()`,`to_png()`,`to_pdf()` to export plots on disc or in file-like objects.\n", "\n" ] }, @@ -38,7 +38,7 @@ " \n", " \n", @@ -66,8 +66,7 @@ "n = 100\n", "x2 = np.arange(n)\n", "y2 = np.random.normal(size=n)\n", - "w, h = 200, 150\n", - "p2 = ggplot({'x': x2, 'y': y2}, aes(x='x', y='y')) + ggsize(w, h)" + "w, h = 200, 150" ] }, { @@ -75,29 +74,28 @@ "id": "b8aadbde", "metadata": {}, "source": [ - "When `path` parameter is a string, the image is written to a file with that name." + "#### Export to a file" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 11, "id": "7b0fdb65", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'D:\\\\Projects\\\\lets-plot-master\\\\lets-plot-885-2\\\\docs\\\\f-23f\\\\plot.svg'" + "'D:\\\\new_folder\\\\plot.svg'" ] }, - "execution_count": 4, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "file = 'plot.svg'\n", - "p1.to_svg(file)" + "p1.to_svg('D:/new_folder/plot.svg')" ] }, { @@ -105,7 +103,7 @@ "id": "d3e3fef9", "metadata": {}, "source": [ - "You can use the same methods for gggrid()." + "#### Export gggrid() to a file" ] }, { @@ -126,8 +124,8 @@ } ], "source": [ - "file = 'grid.png'\n", - "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png(file)" + "p2 = ggplot({'x': x2, 'y': y2}, aes(x='x', y='y')) + ggsize(w, h)\n", + "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png('grid.png')" ] }, { @@ -135,8 +133,8 @@ "id": "8c3b3b37", "metadata": {}, "source": [ - "When `path` is a file-like object, the data is written to it by calling its write() method.\n", - "\n", + "#### Export to a file-like object\n", + "When `path` is a file-like object, the data is exported to it by calling its write() method.\n", "Below is how you can write SVG data into a file-like object without saving it to a file, and use it for display or anything else." ] }, @@ -161,112 +159,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#pZrn54E .plot-title {\n", + "#psSbfNO .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .plot-subtitle {\n", + "#psSbfNO .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .plot-caption {\n", + "#psSbfNO .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .legend-title {\n", + "#psSbfNO .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .legend-item {\n", + "#psSbfNO .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .axis-title-x {\n", + "#psSbfNO .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .axis-text-x {\n", + "#psSbfNO .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dgiXu3d .axis-tooltip-text-x {\n", + "#dW56Mj3 .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .axis-title-y {\n", + "#psSbfNO .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .axis-text-y {\n", + "#psSbfNO .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dgiXu3d .axis-tooltip-text-y {\n", + "#dW56Mj3 .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .facet-strip-text-x {\n", + "#psSbfNO .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pZrn54E .facet-strip-text-y {\n", + "#psSbfNO .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dgiXu3d .tooltip-text {\n", + "#dW56Mj3 .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dgiXu3d .tooltip-title {\n", + "#dW56Mj3 .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dgiXu3d .tooltip-label {\n", + "#dW56Mj3 .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -275,7 +273,7 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -396,17 +394,19 @@ " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -417,75 +417,82 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 2\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 4\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 6\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 8\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 10\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " 12\n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " 14\n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -502,7 +509,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "" ], @@ -526,7 +533,7 @@ "id": "6280b266", "metadata": {}, "source": [ - "You can do the same with binary data in PNG or PDF format." + "#### Export binary data in PNG or PDF format to a file-like object" ] }, { @@ -537,7 +544,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "" ] @@ -558,7 +565,7 @@ "id": "8d863635", "metadata": {}, "source": [ - "You can also write `gggrid()` to a file-like object." + "#### Export `gggrid()` to a file-like object" ] }, { @@ -571,7 +578,7 @@ "data": { "image/svg+xml": [ "\n", - " \n", + " \n", " \n", " \n", " \n", @@ -587,112 +594,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#p3EXlxc .plot-title {\n", + "#p61Qe4W .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .plot-subtitle {\n", + "#p61Qe4W .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .plot-caption {\n", + "#p61Qe4W .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .legend-title {\n", + "#p61Qe4W .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .legend-item {\n", + "#p61Qe4W .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .axis-title-x {\n", + "#p61Qe4W .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .axis-text-x {\n", + "#p61Qe4W .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dUlj5Sz .axis-tooltip-text-x {\n", + "#d5A5JqP .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .axis-title-y {\n", + "#p61Qe4W .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .axis-text-y {\n", + "#p61Qe4W .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dUlj5Sz .axis-tooltip-text-y {\n", + "#d5A5JqP .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .facet-strip-text-x {\n", + "#p61Qe4W .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#p3EXlxc .facet-strip-text-y {\n", + "#p61Qe4W .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dUlj5Sz .tooltip-text {\n", + "#d5A5JqP .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dUlj5Sz .tooltip-title {\n", + "#d5A5JqP .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dUlj5Sz .tooltip-label {\n", + "#d5A5JqP .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -701,26 +708,26 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -729,7 +736,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -738,7 +745,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -747,7 +754,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -756,7 +763,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -765,7 +772,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -774,177 +781,204 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " -2\n", + " -2.0\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " -1\n", + " -1.5\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 0\n", + " -1.0\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 1\n", + " -0.5\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 2\n", + " 0.0\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 3\n", + " 0.5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1.0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1.5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2.0\n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -954,7 +988,7 @@ " y\n", " \n", " \n", - " \n", + " \n", " \n", " x\n", " \n", @@ -962,7 +996,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -977,112 +1011,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#pKDaVLO .plot-title {\n", + "#pcTBp0T .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .plot-subtitle {\n", + "#pcTBp0T .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .plot-caption {\n", + "#pcTBp0T .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .legend-title {\n", + "#pcTBp0T .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .legend-item {\n", + "#pcTBp0T .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .axis-title-x {\n", + "#pcTBp0T .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .axis-text-x {\n", + "#pcTBp0T .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dn4w7gV .axis-tooltip-text-x {\n", + "#dt6jo8M .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .axis-title-y {\n", + "#pcTBp0T .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .axis-text-y {\n", + "#pcTBp0T .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dn4w7gV .axis-tooltip-text-y {\n", + "#dt6jo8M .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .facet-strip-text-x {\n", + "#pcTBp0T .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pKDaVLO .facet-strip-text-y {\n", + "#pcTBp0T .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dn4w7gV .tooltip-text {\n", + "#dt6jo8M .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dn4w7gV .tooltip-title {\n", + "#dt6jo8M .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dn4w7gV .tooltip-label {\n", + "#dt6jo8M .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -1091,26 +1125,26 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -1119,7 +1153,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1128,7 +1162,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1137,7 +1171,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1146,7 +1180,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1155,7 +1189,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1164,76 +1198,103 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " -2\n", + " -2.0\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " -1\n", + " -1.5\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 0\n", + " -1.0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -0.5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.5\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 1\n", + " 1.0\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 2\n", + " 1.5\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 3\n", + " 2.0\n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1243,7 +1304,7 @@ " y\n", " \n", " \n", - " \n", + " \n", " \n", " x\n", " \n", @@ -1251,7 +1312,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", "" From 7a1ced08776104b7f78dcc8762684ad06d1911b3 Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Tue, 12 Dec 2023 18:02:33 +0100 Subject: [PATCH 18/20] Merging _to_pdf and _to_png to new function _export_as_raster --- docs/f-23f/new_export_methods.ipynb | 1162 ++++---------------- python-package/lets_plot/export/ggsave_.py | 6 +- python-package/lets_plot/plot/core.py | 47 +- python-package/lets_plot/plot/subplots.py | 6 +- 4 files changed, 222 insertions(+), 999 deletions(-) diff --git a/docs/f-23f/new_export_methods.ipynb b/docs/f-23f/new_export_methods.ipynb index f3a269ec826..2eb06d92be8 100644 --- a/docs/f-23f/new_export_methods.ipynb +++ b/docs/f-23f/new_export_methods.ipynb @@ -7,7 +7,7 @@ "source": [ "# Export Methods of `ggplot()` and `gggrid()`\n", "\n", - "Use methods `to_svg()`, `to_html()`,`to_png()`,`to_pdf()` to export plots on disc or in file-like objects.\n", + "Use methods `to_svg()`, `to_html()`,`to_png()`,`to_pdf()` to export plots in file-like objects or on disc.\n", "\n" ] }, @@ -38,7 +38,7 @@ " \n", " \n", @@ -60,72 +60,8 @@ "metadata": {}, "outputs": [], "source": [ - "x1 = np.random.randint(10, size=100)\n", - "p1 = ggplot({'x': x1}, aes(x='x')) + geom_bar()\n", - "\n", - "n = 100\n", - "x2 = np.arange(n)\n", - "y2 = np.random.normal(size=n)\n", - "w, h = 200, 150" - ] - }, - { - "cell_type": "markdown", - "id": "b8aadbde", - "metadata": {}, - "source": [ - "#### Export to a file" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "7b0fdb65", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'D:\\\\new_folder\\\\plot.svg'" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "p1.to_svg('D:/new_folder/plot.svg')" - ] - }, - { - "cell_type": "markdown", - "id": "d3e3fef9", - "metadata": {}, - "source": [ - "#### Export gggrid() to a file" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "135b5a28", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'D:\\\\Projects\\\\lets-plot-master\\\\lets-plot-885-2\\\\docs\\\\f-23f\\\\grid.png'" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "p2 = ggplot({'x': x2, 'y': y2}, aes(x='x', y='y')) + ggsize(w, h)\n", - "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png('grid.png')" + "data = {'x': np.random.normal(size=100)}\n", + "p1 = ggplot(data, aes(x='x')) + geom_histogram()" ] }, { @@ -140,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "faced-integral", "metadata": {}, "outputs": [ @@ -159,112 +95,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#psSbfNO .plot-title {\n", + "#pRCGIQ2 .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .plot-subtitle {\n", + "#pRCGIQ2 .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .plot-caption {\n", + "#pRCGIQ2 .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .legend-title {\n", + "#pRCGIQ2 .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .legend-item {\n", + "#pRCGIQ2 .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .axis-title-x {\n", + "#pRCGIQ2 .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .axis-text-x {\n", + "#pRCGIQ2 .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dW56Mj3 .axis-tooltip-text-x {\n", + "#dpe7eyH .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .axis-title-y {\n", + "#pRCGIQ2 .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .axis-text-y {\n", + "#pRCGIQ2 .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dW56Mj3 .axis-tooltip-text-y {\n", + "#dpe7eyH .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .facet-strip-text-x {\n", + "#pRCGIQ2 .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#psSbfNO .facet-strip-text-y {\n", + "#pRCGIQ2 .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dW56Mj3 .tooltip-text {\n", + "#dpe7eyH .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dW56Mj3 .tooltip-title {\n", + "#dpe7eyH .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dW56Mj3 .tooltip-label {\n", + "#dpe7eyH .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -273,120 +209,88 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1\n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " 2\n", + " \n", + " -3\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " 3\n", + " \n", + " -2\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " 4\n", + " \n", + " -1\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " 5\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 6\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 7\n", + " \n", + " 0\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " 8\n", + " \n", + " 1\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " 9\n", + " \n", + " 2\n", + " \n", " \n", " \n", " \n", @@ -394,122 +298,160 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " 0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 2\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 4\n", + " \n", + " 0\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 6\n", + " \n", + " 2\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 8\n", + " \n", + " 4\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 10\n", + " \n", + " 6\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 12\n", + " \n", + " 8\n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " 14\n", + " \n", + " 10\n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " count\n", + " \n", + " count\n", + " \n", " \n", " \n", " \n", " \n", - " x\n", + " \n", + " x\n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", "" ], @@ -517,7 +459,7 @@ "" ] }, - "execution_count": 6, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -538,13 +480,53 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "id": "0de51f34", + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "file_like = io.BytesIO()\n", + "p1.to_png(file_like, scale = 1.0)" + ] + }, + { + "cell_type": "markdown", + "id": "b8aadbde", + "metadata": {}, + "source": [ + "#### Export to a file" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7b0fdb65", + "metadata": {}, + "outputs": [], + "source": [ + "output_path = p1.to_html('/new_folder/plot.html')\n", + "#output_path contains the path of exported file" + ] + }, + { + "cell_type": "markdown", + "id": "8d863635", + "metadata": {}, + "source": [ + "#### Export `gggrid()` to a file-like object" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9a77dc46", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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wSgAAICr9e3bN4+bAQDSisfjmqYZ7nFqMO4hF1+qrKyUbfUEo0AxW7169YoVK4QQEydO9GgwSis9AACAq40bN87KZuPHjy/0SACgSJjrQ6kYFce30peVlem3aaUHiplcky3FMqEuRzAKAADgaiNHjhwzZkzqbYYMGXL66afbMx4A8D1z2EcwKo5vpScYBSCUQvKenh5nR5I1glEAAABXCwQCN954Y3l5ebINSktLb7rpJrkOBgAgR1SMJqS20ss/OrTSA8VMVowSjAIAAKBQRowYMW/evOrqavNDFRUV//zP/3zaaafZPyoA8CsqRhNKuCo9wShQzHxQMUplAQAAgAdMnDjxiSeeeP755z/66KODBw8KIerq6s4+++xvf/vbAwcOdHp0AOAr5hiUxZfE8RWjtNIDEL6oGCUYBQAA8Ia+ffted9111113XTQa1TQtFAo5PSIA8CcqRhOSwSiLLwHQyY8F7y6+RDCKzDQ3Ny9fvnz9+vXNzc3hcHjMmDEXXnjhsGHDnB4XAABFRF6OAgAKgWA0IVrpAag0TVMrRjVNCwQCzg4pCwSjyMAbb7zx+OOPy+NeCPH555+/9NJLM2bMuO6660pLSx0cGwDky+bNm996661du3Z1dnYOGDBg0qRJF198cTgcdnpcAADAJiy+lFDCVekJRoGipYeh+m1N06LRqBf7mQhGYdXrr7/+8MMPm+/XNO2ll15qbW29/fbb7R8VAORRT0/PkiVL3nnnHXnP3r17165d++yzz956661f/epXHRxb7hoaGt56663PP/+8tbW1X79+48aNu/DCC2tra50eFwAArsMcowklXJWeVnqgaMkvS3SRSIRgFL516NChxx9/PMUGf/3rX6dMmfK1r33NtiEBgJSXro1YLDZv3ry1a9eaH2pra/vlL3/5i1/8wqPZqKZpzz///DPPPKPWdKxevfpPf/rT9ddff9lllzk4NgAAXIhWerN4PC7nEGSOUQBC+bJE19PT48U2O4JRWLJ06dK0LRLPP/88wSgA22ia9uGHHy5btmzz5s1dXV01NTWnnXbajBkzxo4dm90TvvzyywlTUfnjHnzwwd/97nde/GP/+9///tlnnzXf393d/cgjj/T09Fx11VX2jwoAANeild6sq6tL9syqrfTeXXEFQI7UiRaFZxemL3F6APCGNWvWpN1m+/btra2tNgwGADo6Ou6+++4FCxasXbtW7+BobW394IMPbrvttsceeyyLSxdN0/7yl7+k3qatrW3ZsmVZjtg5mzZteu6551Js8MQTT+zZs8e28QAA4H5UjJqppWHq4ktUjAJFy1Ax6tGvSQhGYcnRo0fTbqNp2pEjR2wYDIAiF4vFfvnLXyb7wuaVV175t3/7t0yfc/fu3Y2NjWk3s/Itkds899xzsr4joXg8/sILL9g2HgDIo3g8/sEHH6xbt27dunVtbW1ODwf+YQ77mGNUnUywoqKCxZcAGCpGDf/rFbTSw5KKigrDrLoJ9enTx4bBAChyy5Yt+/TTT1Ns8PLLL0+bNu3UU0+1/pxWvv4RQnju659YLJZifgBp9erVNgwGAPKuu7t7wYIF+u0FCxacfvrpzo4HvkErvZl6PUjFqJ2ampq2b98eiUSCwaBH57uHXxliIo+20hOMwpIRI0Z88sknqbeprq6ur6+3ZzyAt8Risc8///zQoUOlpaVDhw4dMWJE7isFFbNXXnkl7Tb/8R//kVEwWlFRYWUzz33909LSYqWOo6WlxaOLSAIocupHHOkM8ohg1MzQSk/FqG1Wr1790EMPCSEqKytfeuklp4eTN+3t7evWrevTp09JScnYsWM5EfUi86r0To0kFwSjsOSCCy5IG4yed955paWl9owH8ApN015++eU//elPx44dk3cOGTLk2muvPeeccxwcmHcdO3Zs7969aTdLXVJq9uUvfzkYDKa9qB4xYkRGT+u48vJyK5uVlpbKyxsA8BA1kSG3Qh7RSm8mE5CSkpLy8nIqRm0jP9x8lkF/8cUXsuT/qaeeGjRokLPjQRbMq9I7NZJcMMcoLJk2bVrqhZ5ra2v/9//+37aNB/CEWCy2YMGC3/zmN2oqKoQ4cODAfffd99RTTzk1ME9raWmxsplhn6cVDofPPPPMtJtdcMEFGT2t48LhsJVa/mHDhlHFDMCLCEZRIFSMmskERG+goWLU7MiRI88999wf/vCHJ598Mo8JkYyeY7FY6onjvaWjo0PeJl73KFalRxEJBAJ333338OHDEz5aU1Mzd+7c2tpam0cFuNxTTz314YcfJnv0T3/607vvvmvnePyhuro6j5uprr322srKyhQbnHvuuePGjcv0aR13/vnnp91m+vTpNowEAPKOYBQFQsWomawY1c+XqBg1279//5NPPvmHP/zhueeea21tzdfTyj2saZqf9rZax+Cn36uo+GOOUYJRWFVbW/vggw/Onj27qqpK3hkMBs8///x/+Zd/GT16tINjA1zoyJEjL774YuptnnjiCU4CMtW/f/8TTjgh7WYZTTCqO+mkk+66665k2ehpp512yy23ZPqcbjBr1qyBAwem2OBLX/rSN7/5TdvGAwB5xByjKBDz4UTyLitG9ZMlKkbN1MPG0GKcr6f10wdde3u7vO2n36uoGI5z5hiF/1VUVFxzzTX/5//8nx07djQ2NtbU1AwfPlzNSQFIH3zwQdo/8I2NjRs3bvzKV75iz5B845JLLvnd736Xdpssnnny5MmPPPLIk08+uXLlSlkYUltbO3PmzBkzZsjKCG8Jh8Nz5869++67m5ubzY8OGjRo7ty5zHYPwKPUazByK+QRrfRmsjRMb6WX50UEo5J68q/2iedIPfai0WjqDicPIRj1AX9UjHryGg/OCgaDY8aMcXoUgNvt3r3bymZffPEFwWimZsyY8d57733xxRfJNjj33HMnT56c3ZOfdNJJv/jFL1pbW3fv3t3R0TFw4MARI0Z4ff7NESNGPProo7/97W/ff/99ed5ZVlb2jW9845prrqmpqXF2eACQNVrpUSC00pvRSp+W+ilUoIpRP8XQbW1t8jZHkUcRjAIAkrLYR+DRdgNnlZeXz58//9577925c6f50SlTptx22205/oiampoJEybk+CSuUldXd8cdd/z4xz/eunVrW1tbTU3NKaec4puKAwBFi1Z6FIg5Z/fTAbZo0aKtW7cKIS644ILvfve7Fv8VrfRpFahiVH1aP107EIz6gD8WXyIYBYCCGDRokJXNrKwYDrMBAwY89NBDr7zyyvLly//+978LIQKBwKhRo2bMmHHeeed5vcCzcMLh8Omnn+70KAAgb6gYRYH4u2L04MGDBw8eFEIknGYnGRmM6nOpyWCUSEsq0Byj6oebn/Y2wagPGI5zglEAsI+madu3b9+zZ080Gq2vr58wYYLbJkk844wznn322dTbBINBUqqshUKhWbNmzZo1q62trb29vV+/ftQ/AkCxIRhFgfg7GJXhRUbFnsla6akYlVh8KSMEoz5gaKX3aEUzwSgA71m5cuUTTzyh1wnqKisrZ86cOXv2bPcsjzNu3Ljx48dv3LgxxTaXXHJJ3759bRuSX1VXV1dXVzs9CgCAAwhGUSD+XnxJBqMZpVHJWuljsZimafTrCOYYzZAajPrp/VVU/DHHaInTAwCAzDz//PPz5s1TU1EhRFdX1x/+8Ic5c+a46rP45z//eW1tbbJHR4wYce2119o5HgAAfIY5RlEg/g5G5bSAGb1rkq1Kr2man3ZOLtRPJILRtNRg1E+/V1EhGAUAu3388cdPPvmkpmkJH924ceOjjz5q85BSGDRo0IMPPjhq1CjzQ1OnTv3Vr35F6zcAALmgYhQFYk4M/XSAZVcxamillxWjglTrv6kHSR4XX1Kf1je7Oh6Pq9mxn95fRYVWegCwlaZpTzzxRLJUVPf2229feOGFFhc+ssHgwYOXLFmyatWqlStXHjhwIBgMfulLX5o2bdopp5zi9NAAAPA89RqM62rkkflw8uUco3lppRdCRKNRvu8Xtswx6ptgtL29Xb2so+Tfi3p7ew0vnEcrRglGAXjGzp079+3bl3obTdM++uijq666yp4hWREIBM4666yzzjrL6YEAAOA3VIyiQHxcMdrb2yt/l4zSKNmAb2ilz/R5fIxg1Dq1j15wCHmT+SD3aDBKKz0Az9i9e7eVzdKGpwAAwB+YYxQFYo5BrRxgLS0tBw4cKMyI8kZNLqynbJFIRO4BWumToZXeOkMw6pvfq6jIL0skjwajVIwC8AyLfy89OrMJAADIFMEoCiTTVvqlS5c++eSTkUgkHA4///zzbl6iXU0urJfBqqVhesWoGozy7tPZUDHqm11tCEZ9U5FdVKgYBQC7WZw5tL6+vtAjAQAAbqAGo36aAhKOM38fn/oAa2tr07+bb29vt9jk5BQ1ubCesqlLrOgVo2orPeV+ugIFo8VQMeqbwLeoGFZeEp4tUSIYBeAZ48aN07+gTm3SpEk2DAYAADiOxZdQIObDKfUBpsY6mzZtKsiY8iS7YNRcMcoco2bqfshjK70vS+MJRn3AHIx6tGKUVnoA2fjss88+/vjjI0eOBIPBoUOHfu1rXxs8eHChf2goFJo5c+YzzzyTYpvhw4dPnjzZo5/IAAAgI77MC+AGmQaj6qMbN2785je/WZBh5YM6LaD18kNzxShzjJqpn0Ld3d2xWKy0tDT3p1WPLo9W5JkRjPoAwSiAInXkyJEHHnhg48aN6p1PPfXUN7/5zeuvv1796rgQvvOd72zYsOHTTz9N+Gg4HL7zzjvdPKkTAADII1alR4Fkuiq9+uhnn31WkDHlSXZzjKYORkm1dIb90NXVFQ6H8/u0vsmgmWPUB8zBaDwe7+3tLXQmkHe00gPIQENDw0033WRIRYUQsVjs5Zdfnjt3bqH/pAWDwfnz51900UXm9HPEiBEPPfTQ0KFDCzoAAADgHgSjKJBcKkYbGxsPHTpUkGHlQ3ar0stW+lAopFdBMseomeEgydc0o75cfKm9vV39X9/8XkXFHIwKbxaNeizHBeCsX/3qV01NTcke/eSTT1544YXvfOc7BR1DKBS65ZZbrrzyyvfee2/37t3RaLS+vv7MM8+cMmUKtaIAABQVWulRIJmuSm84/D777LMTTjgh/8PKhxwXX5Iz/geDwUAgoGmaIBj9b4b9ma9pRoth8SXf/F5FJWEw2t3dXVVVZf9gckEwCsCqdevWpZ1L/rnnnrvyyitDoVChBzNs2LBrrrmm0D8FAAC4GRWjKBBzTGO9YlQIsWnTpgsuuCD/w8oHdY7RLBZf0vvohRCBQKC0tFR/Br6W0Bn2AxWjKdBK7wMyGK2oqJAfLF6cBpdWegBWrVy5Mu02HR0d5kZ7AACAQmBVehRIphWjhu3dPM2o+q7JIhiVFaNCmWaUcj8dFaPWsfiSD8hgtF+/fvJOWukB+JnFyZIOHjxY6JEA8I329valS5d+9NFH+/fvF0KcdNJJZ5999hVXXJGXxQoA+J4vC6mQhX379un1Sv3796+rq8v9CXOZY1QI8fe///3YsWN9+/bNfSR5l10rvSwHkxWjQoiysjI9GfFNWpcjG+YY9c2uNswx6pvfq6iowajMCghGAfiZPs96Wp5bhA6AUzZu3HjfffcdO3ZM3rNr165du3a9+uqr99xzz9ixYx0cGwBPoGIUugULFuzevVsIcdVVV91www25P6GMooLBoH479QFmSBg1Tdu0adPUqVNzH0neZReMJqwYlaf9fC2hM6R7BKPJaJpGK70PJKwYpZUegJ996UtfyuNmAIrcjh077r77bjUVlVpaWu6+++4vvvjC/lEB8BbmGIVOJlB5b16WU+dn1EovXNxNrwaj8Xg89e8lmecYFQSjJobDIF9Ho/+C0c7OTsO+4hDyIhmMqtXxXqwYJRgFYNW5556bdtn3+vr6U045xZ7xAPAuTdMWL16c4sypq6vroYce0te6BYBkCEahk9fnhv7crMmYpry8XL+RUcWo8EgwKiwHUuZV6QVzjJqw+JJF5vcpH+BeJD8WqqurZXcpFaMA/GzEiBHnnXde6m2uvfbakhI+WACk8dlnn+3YsSP1Ntu2bduyZYs94wHgUWoc44+8ANnJezBqrhi1OMeonCN7586dclSuYghGLWaa8ncxzDGa0ZP4XoHmGFWf1oupk5n5fcoh5EXqqvTyOyQ5H7GHkICAEGwAACAASURBVF8AyMDPfvazMWPGJHt01qxZaZNTABBCbNiwIY+bAShazDEKIUQ0GpWxeN4rRjMNRidMmCDv2bp1a14Gk1+G2MLiG4c5Rq2wYY5Rf+zq1tZWwz18gHuRWkgug1EvZveskQIgA5WVlQ888MBTTz31yiuvqH/46+rqrr322unTpzs4NgAe0tLSYmWzpqamQo8EgKf5Ly9AFtTCzMLNMWoxGB0yZMiAAQOOHj0qhPjss8+GDx+el/HkERWjhVOIOUY1TVPngfXHrnZ5xejrr79+6NCh0tLS0aNHT5kyxenhuFfCilEvzjFKMAogM6FQ6Prrr7/66qvXrl3b0NAQDAaHDh06YcIEFqMHYJ3sNEyturq60CMB4GlqZYrFNWTgP2r8VLg5RlMfYOoq9mPHjl2xYoUQ4rPPPvvWt76Vl/HkkSG2yLRilMWXUijEHKOG53RVgJg1l1eM/vWvf920aZMQ4pxzziEYTUGtGJXfIRGMAigW4XD43HPPdXoUALzK4iptp556aqFHAsC7NE1Tr6WJZoqWoWJU07S064WmlXUrfTAYHD9+vB6Mbt682YWHZXYVowlb6akYNSAYtaitrc1wj6t+ryNHjug3vJjx2UbTNLl/KisrPd1K7/M5RtevX3/xxRc7PYrjxOPxnTt3rl+/fsuWLfmacwQAAG+ZNGnSoEGDUm8zZMgQOVMb4AMuPC/1ut7eXk3T5P+6quAIdlKDUU3T8tK/LNMomf1ZDEZLS0vHjRun3+7p6dm9e3fug8mvLFalj8fjMuygYjQFw37Iy6FoOPD8savdvCq9pmnNzc36bS9mfLbp6uqSf4LVYNSLabKfK0ZbWlruvPNOp0fxPyKRyAsvvLB06VJZN15WVnbOOed8//vfr6+vd3ZsAADYKRgM/uQnP7n33nvVUENVUlLyk5/8hDk64BtuOy/1B0OFkT/yAmTBUG7S0dFhccKWFGRMk2krfWlp6cknn1xdXa3XxG3evPmkk07KcTD5lUUwqiYgCStGeffpqBi1yFwx6p5DqKWlRe5kL2Z8tlG/kfJ6MOrbitGWlpbFixc7PYr/0dbWdscddzz99NPqbBrRaPTdd9/96U9/+vnnnzs4NqBIePEzGvCxM8888+abb04YfZaVld1yyy2nn366/aMCCsFt56W+YajlYY7RoqVen4s8TTOa9eJLpaWlgUBAzhizZcuW3AeTX9kFo/J2wlXp/ZHW5c6GilF/7Go3B6P6ymk6KkZT8FMw6s9CDP3sc+XKlU4P5L9omrZo0aJkfxRbW1vnzp37+OOP19XV2TwwoBisX79+6dKln376aVdXV1lZ2ZgxYy666KLp06fnPvkUgBxddNFFo0eP/vd///dVq1bpZ1Hl5eVTpkz57ne/O3ToUKdHB+SH285L/cRwIe2e62rYLO/BqDp9rbzatx6MCiHGjRu3atUqIcSWLVuS9UY4JYtgVK18rKiokLeZY9TAcJBEIpHe3t4c21/8XTFaUVHR3d0t3PR7NTY2yttezPhsYwhGWXzJXdavX693Ks2ZM2fhwoVOD0cIIVauXLlmzZoUG7S2tj7zzDM333yzbUMCikFvb+9jjz32+uuvy3ui0ejGjRs3btz45ptv3n333TU1NQ4OD4AQYtiwYXfddVc0GtW/nx84cCDt8/ATF56X+omhlodgtGiZW+lzfEI13pJX+/F4PMWyTuqq9EIIOc1oW1vbwYMHXXXOqedQUi4Vo7TSG5j3Q2dnZ46vvi+/AZLBaG1t7cGDB4Wb5hhVK0bdE9e6ULKKUS+W2fqwlV4/+1y0aNG0adOcHst/efvtt9Nus2LFCt51QH795je/UVNR1YYNG+bNm+ePEwvAB8rKygYPHjx48GBSUfiMC89L/cRw8uye62rYzBCM5l4xmjAYFSmnazBUjI4aNUrGBFu3bs1xPPlFK32BqIXGUu4xveEF8mLqZCaD0X79+uk33HNdpgajXix+tI384A0EAhUVFbTSu8v1118/ffp0+QZzgx07dqTdpqura//+/cOGDSv8cAB/0jTtww8/XL58+ebNmzs7O8PhcOrT4k2bNr322mtXXHGFbSMEABQbF56X+okhi9E0LUVBH3ws7630akYjr/aFELFYTM89U/wTPSsMBoOjRo3auHGjcFkwGo1GDfGulUxTJiAlJSVqUkzFqCrhdzO5r7/k+4pR/YZ7fi+1ld4fMXSByNrz8vJy9ZOBYNQVZs6c6fQQjAzdCskY/qIDsK69vX3hwoXqnBVWzolffvllglEAQOG48LzUYOHChe3t7SUlJd///vdPPfVUp4eTGXOg09vbK5MaFI+8B6NqwqUeUSmqkmXaKJPTcePGpQhGt23b9uqrr/7f//t/6+vrcxxtRsyZRUYVo5WVlep3D8wxqkq4J3MPRg1HXTweTxHQe0IkEpGBowsrRplj1CL1Y0Eosw97caf5MBjNRYEacOrq6o4dO5Z2s/79+9MB5Ga8Oq7V29s7d+7czz77LNN/eODAgSNHjvTv378Qo4JF8kKCt5i38Hp5hb7oR8L+vhx5+qrME+x5l61du1ZPNI4ePeq597X56isSiZSU+HCuMDPPvVgFZehWbm9vz3H/qIeWOsdLJBJR6yVVMtYJBAL6T5ffNDQ2NjY0NJx00kn6ZitXrly2bNn69euFEJdffrnNC/Cac7pIJJJ2d8msuU+fPurG8g+BlSfxhFzOSxPmQW1tbTnuGXPRYk9Pj1rI7DktLS3ytqwYjcViueyoPB5+R44ckbfj8XhPTw8TPSUkP3grKytjsZjcSz09PSleDneel/IC/494PK5+OZBHp5566q5du1JvM2TIkEAgUKABIC94dVzrzTffzCIV1e3du9dtS4UWp2g0ylssC/F4fNWqVZ988smBAweEEIMGDZo8efKUKVNsSKzUk1q4X2dnZ+5FKwY2VzkVm8KdlxqUlpbqwWhLS4vnPofNA25oaKiqqnJkMDbz3ItVUIYalMbGxhz3j/rP1UK2xsbGZMVQcrPOzk79n9fX15eUlOhB2/r16zs7O995550VK1a0trbKf3XgwAGbp9o4fPiw4R4r7325QVlZWcJG456eHj8dk9mdl6qvrNTQ0JDjnmlqajLcc/jwYU9/0O3fv1/elmmapmmHDx/OOoLM43mpOseoEOLgwYPqvLqQ5JGpfyyYPwNTcNt5KcHo/wgEAgW6krzoooveeOON1P0Fl19+OZUXrqV/m8EL5FpW1jdLpm/fvryyztI0Tb9m4IXIVENDw+LFi/fs2SPv+fvf/75mzZr/+I//uOmmm0488cQC/Vw+Er1FLqNcJGV0vlG481IDeRUaj8c99742r4Rj235zEB/CZoawsqurK4/7x1Cal+yZ5dEYCoX0bcLh8NChQ3fv3i2E+POf/3zs2DHzEdvd3W3zS2luWLby3pcBaGVlpbqxrJ/t7e31xzGZ9/PSnp6eHJ/KXMOhaZqn97Y694WsGBXZfoDn9yOxq6vLMDWHF/842kN+8FZUVJSWlspW+mg0mmKPufO8lGD0fwQCgQI1MtTV1d14440PPvhgsg3OOeecGTNmMFW8azU0NAghbO5zgUWNjY2HDh3K7t8OGjToH/7hH/I7HmQqGo02NzeXlZWpJ0ZIq7Gx8b777kv4fez+/fvvu+++JUuWDB48uEA/OhaL9evXj9NET+jo6Ojo6OjTp4+nq0uKUOHOSw1kMFpRUeG5Ux15GSZVV1d77rfIFOelZoawr6enJ8f9oyYj6lP17ds34TPLNE0I0a9fP7nNxIkT9WC0ubk54Q+y7Z0uqW3COivvfZnN1dTUGHaI3MAfx2Qu56XqcRgIBOROy3HPmMsVw+Gwp/e2zD1KSkrUL/Krq6vD4XCmz5bf89K9e/ca7unTp4+n97YN9I8FOT1dNBpNscfceV7qoozW3y688MLbb79dn5VWFQgELr300jvvvJNUFMhOLn0Tl112WR5H4gY9PT0vvvjirbfeevXVV1999dW33nrriy++aHH9N3jLww8/nKJLpbW19aGHHrJzPAA8Sgaj7ln4wjpzP5Y/ZjlEpgwtmYYpR7Ogvh2sLL6kbq+mM2PHjlU3Kysrmz59+uLFi4cMGaLfk/s6UZkynxZaee/LPWy4npUfICy+JI7fkzLgy/viS8L7e1suSR8Ohy0ubmYb89k1C9Mnw+JLyMb06dMnTZq0fPnyNWvWHD16NBwOn3LKKRdeeOHIkSOdHhrgYVl8r6gbMWLEjBkz8jsYZ23btm3+/PlqIUBzc/Pnn3/+0ksv3XPPPaNGjXJwbMivvXv3fvzxx6m32bBhw7Zt23jdAaQmcw03XJFmyny96sXfArkzZE/5XZVebaVPdoCp96uTJI4bN06/UVtb+41vfOOKK67QC6nk6av9wWiOq9Ibqhc9/c1K3qk7oaamRo//cg9GzTGo1/e2nIy1urpafb+44fcyl1QTjCZj+L5ETqyhr6PlrcYyglFb1dbWXn311VdeeWVra2tFRUVNTY3TIwI8r76+fsCAAYZJstMaNWrUvffem2xdUS/au3fvnDlzEpZIHDly5M4771y8ePHQoUPtHxgKYe3atVY2W7NmDcEogNQ8XfBFxSh0hjkB81sxqp4uZloxWltb+/Wvf338+PHnnnuu+l2+7CG1Pxg1pzwZBaOGilFZ7ufFD5C8MwSj+hJDuR+N/qsYlfvEhcGouWLUi/WP9pDl5/rHgvodUk9Pj7dWrCIYBeBtgUDgoosu+vd///e0m+kT/QwbNuySSy657LLLsl700J2WLFmS4sSrs7PzwQcffOihh5i1wx8sfhNg/tIbAAxkiOPFSNF/hVTIgqZphvbwrq6u3t7eXM70kgWj5tWTzPcb6qR+9KMfmVdYkiFp7qlZpnJspTeEHQSjKvVTVJZA5V4xan6BXL63t27dunPnzkgkMmDAgHPOOce8gWylJxj1NMP3JQSjAOCkWbNmffDBB+apsqXzzjvvtttua2lpqampMSwt6g9bt27dtGlT6m22bNmydevWMWPGqHcePHhw8+bNbW1tffv2HT9+PDOLe4V5xuqEvHVGAsARMq9xwxVppqgYhRCiq6vLvGx3R0eHXBcoC5m20qtvHyuBrOda6dPOMerFD5C8Uz+R8hiMmo86l+/tF198ccWKFUKIUaNGJQxGk7XSu+EDnFZ66wzBqPodkufSZIJRAJ5XWVk5f/78X/ziF3v27DE/OnXq1FtuuaWsrGzgwIH2j80e69evt7iZDEb37Nnzm9/8Zt26dfLRQCBw9tln//CHP/TxjvKNESNG5HEzAMXM07kGwSiEqY9e197enkswmq/Fl5JxMBjNrmI0WSu9/ACJx+PxeLykpKjXdlYPD3n4FaJi1OVRnTzGDh06lHCDZBWjbqiENXdluXxvO8hQSK5+h+S5nUYwCsAPBg0a9PDDD7/00ktvvPHGwYMHhRCBQGDkyJFXXnnleeed5/v+8aampow227Bhw7333mu4kNA07cMPP9y0adPChQuHDRuW90EijyZNmtS/f//Ur3t1dfVZZ51l25AAeJTPglEv/hbIUcLgKccW9VwWX3J5MGoOLKykUckWX1JT42g0mrAxa/Xq1V988YWmaQMHDjz//PMzHrF3qJ8/1dXV+o38znirc0OAmIKsFmxtbe3o6JAz6krysA+Hw7TSe5dMwPX16NW3v/kLGJfzeTC6fPlyp4cAwCbl5eWzZ8+ePXv23r17W1paTjzxxOJpDDefcKTYrLGxcf78+QnLK4QQzc3N8+bN+81vfuPLOQd8IxQKXXfddQ888ECKbb7//e/TSg+4ijvPS322Kn2yKSDhYwlPaWRJWnbk2yEQCKjBTbIDLNNg1MHFl8wpj5X3fi7B6PLlyz/66CMhxIQJE4onGC3oHKNuCBBTUEOxQ4cOmRuYXDvHaDQaPXbsmOFOzxU/2sbwsaC20ntupxV1rTsAX+rXr98JJ5xQVJGQxZXHR48eLYT485//nPpq4eDBg6+++mp+RoaCOf/887/3ve8lq4b+X//rf1166aU2DwmAF/lsVXrHr6thPzV4kn8WcyzTkwdSMBhUg04fVIyag9G07/1IJCJ3iF4aJhmC0dQ/0VyL5zNyL5WWluZxfS3PrUqvBqN6J5+BPOzdFow2NTWZJyymYjShSCQij0z9Y0H9cPDcTiMYBQDPO/3009NODDpw4MBJkyZpmvb++++nfcL33nsvPyNDIV199dULFiwwxOLDhw+fO3futdde69SoAHiLpytGmWMUQglGA4GAnNgxx8Ax02A02ZykycjULBKJ2FxalUXFqFqTa+hSUndOslRLxmQWp37yLjUYlSUavb29Ob7EXq8YNTwai8VkWOy2YFRdeal///76Dc8VP9pD/VjQj/ZgMChnGfZcMOrzVnoAKAZlZWU/+tGP5s+fb/6SUxcIBH70ox+FQqGmpiZzh4jZ7t27NU3z/dysPjBp0qRJkyY1NDTs27dP07STTjrphBNOcHpQALxEXsY4fkWaBYJRiOPXBQqHwy0tLSLnYFQeSKWlpWr2Z6WV3soCRDIYFUJ0dHSoLaiFlkXFqFqTa1h8SU2Bk32GyJ/Y1dXV1dVleAY/kXugrKxMTZA7OztzeYk9N8do6mC0vb1dXrBUV1db+eLBNnLlpbKysgEDBuhRvucyPnuoHwuyVrS8vFz/QPZcmkzFKAD4wdSpU3/0ox8lPBcvKSn5p3/6p6lTpwrL17360qJ5HiIKpr6+/vTTT588eTKpKIBMsfgSvM4QjOq3C9RKn+wAy7qVXtjeTZ/FqvRqaViKYDRtK71IVzS6YcOGiy+++PLLL581a5YX++7VPF2d1CuPS4HpXB6Mqq+4uZVePeDD4bA6ja/jH+DyqKurq5Nhn+cyPnuonyTyY0HOMuy5NJmKUQDwiW9961ujR49+5pln1q1bp59ClZaWTpw48R//8R/12UWFEP379w+FQmn/wA8cONDKaT0AwOvcc0WaBSpGIZTCpaqqqnzN3akmXCUlJYFAQK9xS/a1sfr2UVuDk1HLCW0ORrNopVdLwwyT+Ku/bLK0Tg1QmpqaTjzxxGQ/SK/Xi0aj0WjUc8GKOD5PV3dUjusveatiVNO01BWjra2t8ra+RJV7GhdkxejAgQNlka8XD0UbJCwk9+5OIxgFAP8YPXr0fffd19HRoZ+FDBo0SC1JEEIEg8FJkyatXLky9fOcddZZBRwlAMA1CEbhdWrFaL5We1cnixRClJSU6IeWlcWXrASj1dXV8rbjwWjalE2tGE2x+FLaOUZFuvWXZCwlvFmmpwajhlb6vDyt5OZgNBqNqlN7HT58OB6Pqz1tcg3YQCCgX6eUlZXpL7fjf4bkEVhXVyePQC8eijYwzzEqlIpRz+00WukBwG+qqqpGjBgxYsQIQyqqmz17durJQ0Oh0KxZswo2OgCAi3g6GDVfehGMFiGZOhWolV4oFW35WpU+GAzKBCH3VcszkkvFaCgUMsS+VlbOMVSMpvhBamzquYozcfxhU1FRIc+38x6Muvnj2jBXQ29vr5p3C+WbgMrKSv3NIt8yjv9ecqgDBgzwble4PWQwGgwG5eeA3GnmKTtcjmAUAIrLmDFjrrnmmmSPBgKBm2++ub6+3sYRAQAc4+lglDlGIZTr8z59+uSrlV62zOtvEPk2sRKMWll8SSjTjDpVMSrHab1i1NBHL5TO2WTPo2maen/qilGvB6PyMAgGg4FAQBaN5n2OUTeX45kTMcM0o7JiVL4FZN2x4x/g6hyj8th28952kHyh1XmHqRgFAHjGd77znZ/97Gdqj4+utrb2nnvuOf/88x0ZFQDAfu4p1ckCrfQQdrXS6/+bdo7R0tLS1H05klPBqIwzZMqZ9r2v1uQaHko7x2hPT4/aWJ26YvTIkSPqP0w9KheSe0A/bOTuKuaKUWGaZlQGo/oEo8I1f4Y0TZPHp1ox6rmMzx4JPxaYYxQA4CWXXnrpOeecs2LFis2bNx87dqy2tnb8+PHnnnuu+ZQXAOBjaUvh3IxgFMKWVnoZ3KStGLW+dqXjFaNVVVX6j7a+Kr25YrSkpKSkpETPixM+jyEmSx2Men2OUXkY6CWQVVVVetRbVHOMWg9G5Uy7LqkYbW5ulgNg8aW0En4seHf+AYJRAChSNTU1l19++eWXX+70QAAAjnFJqU52aKWHUFIntZVehi/ZMQSdGVWMWvwRbghG9RvWg9GEX58Hg0E9xExWMar+b4pW+ng83tLSkuwfeoLhMJCBUY7BqDmOd3Mwan7h0gajab94sIeay9fV1VExmpr8WFAXZPPuTqOVHgAAAChSnp5jlMWXIJK00vf29uZyZZ51xaiVJel1+ZqAMlNyt1gPRlO00ot05X7WK0abm5vV3eu5YEWYDpt8BaNerxhNNseoDEZd8mdIBqOBQKB///7MMZoaFaMAPKO3t/fdd9/96KOPDhw4EAgETjzxxHPOOWfatGnWv80GAAA+5pIr0uzQSg9xfMWojFqEEG1tbXV1ddk9pyHolGfOySpGswhG5VBzLG7NSCQSkb+CLFnNpZVeKMGolYrRzs7Orq6uhAGrYe1yzwUrwlRonK/s269zjLotGJXlzP379y8tLaWVPrWEFaPe3WkEo4Bv7d27d/78+fv27ZP37Nmz529/+9tzzz13zz33nHjiiQ6ODQAAuIFLrkizQzAKcXxspy4s2dHRkXUwauiJTlsxKre3uCS9cKhiVE0r8lUxKj9DrASjQoimpqaElyGGLnvPBStC2QN6WEzFqK6lpUVNw82r0rvkz5CM5vXPDe92hdvDZxWjtNID/nTw4MGf//znaioq7d69++c//7m67CMAAChOzDEKm3322Wfyijov1MIlGbWI3ObuTDbHqNcXX0oYjKZN2SxWjFpppRfJu+kNwagX06gCVYx6dI7RQCAg71SLRuUB79qKUUMw6rmMzx6p5xj13E4jGAX8acmSJa2trckebW5ufvjhh+0cDwAAcCGXXJFmQdM085ipGHW/rVu3Ll68OF/PFo1G5WGgV4zKOCaXwDHTOUYN21shUzOnglGZzKZ916iTFZgfzTQYTbb+kg9a6Q2HgayRzHvFqJs/ruUrPmjQIPlmlNOMaprm2mBUHoEDBw4USle4FzN6G6SuGPXcTiMYBXxo27Zt69evT73N6tWrd+/ebctwAACAS7nkijQLCWumCEbdr729fcWKFW+88UZenk0tPq2srAwGg7J8qRAVo8nmGJX3ZzHHaEdHh6ZpWQ81IzlWjKqlYVIWrfQJf4oPWumpGBVKMBoOh/WEUSgVo11dXfLXcXkrvQxGo9Gobe9QD1FXvZN3UjEKwEXWrl2bx80AAIBfueSKNAtqNODd36II6TMMPvbYY3n5hl6txdMLl/KSRmW9Kn0Wc4zG4/H8zi2QQnZzjOZx8SWRPBj1X8Vo3ucYlUeXJ4LR8vLyQYMG6bdlxai61JjbKkZlND9gwAChZHyapnmu/tEG8oX2x+JLBKOADxlOLHLcDDbr7OzctGnTqlWrtm/fnqwwAQCAvHDJFWkW1GhAVqxQMep+ejLS09Nz//33m/usM2WoGBV5mrsz2ar0eWylz9d0qBlJGIzG4/HUJ5wJS8Ok1J8hRTXHqOEwkHs4X8GoTKDcvHPkMVZRUTF48GD9tqwYdW0w2tHRIY9zQ8Wo8GDMZ4OEM2zIQ9Rze4xV6QEfSnjWYpbwW184qKGh4Xe/+92HH34oL/ZqampmzJgxa9Ys9W8zAAD5Iq9IPRcpGoJR/Xrbc79FEZIh4N69e//lX/7ltttuy+XZUlSM5iUY1Wv0rFeMZrH4khCivb29vr4+u6FmRMaUgUBAvRDo7e1NdqqpaZr8VwkvMagYlZJVjMZise7u7oQTEWT0tJWVlfoB7+bvsdRCQhmMur9iVD38DBWjwt1JtFMSzrBBxSgAF/mHf/iHPG4Ge3z++ec//elP3333XfW0srW19emnn77jjjvU0wgAAPJF9mb29vZ6axo19c+lvDAjGHU/9ZTmrbfeevvtt3N5NjUY1WM7mbbkEozKo0tP/dLOMWqoMLVCBrjCiYrRUCgkA02RMpDq6uqSnwzqmKVMK0YTLr6k1uvpvBhFJQtGxfGlzVk/rfyg80owKlvpDx8+rB9FcnHgUCgkk8e0XzzYwByMql8VePFoLKhYLCb3ScLFl3p7e73V+EgwCvjQmWeeWVNTk3qb/v37f+lLX9q7d69tsxohhcbGxrlz58pzBYMtW7YsWrTI5iEBAIqBmuN4K1VUr1Q9kRdAZ/iu99FHH927d2/WzybPY0OhkKF/OZc5Rg0VoDK4SXapLw886xWjVVVVMm+1PxgtLy9X3/sp3jjm6Nkg9ar0FitGzWmp5yrORMpgNC8z3soPOk/MMapWjEajUf0llm9/+QWGSHcI2UMGo+FwWN/PVIymYJ7DROfd+QcIRgEfqqys/MEPfpB6m87Ozh/84Ac33HDDzJkzb7/99jVr1tgzNiT0zDPPJEtFdWvWrFm5cqVt4wEAFAmL4YgLqaOVF2be+hWKkyEE7O7uvv/++7POHczTX+Z3jlFDMJrsAMuilV5tZs9x1XLr5H6uqKjIVzAqnyfhi6guxaPf6OjoMCcm5pUPvJWq6AyFw2qBbS4vsYzj5f53czCqhu8yGBX/3U0v94M6lYR81zj4e8loXp9gVByf8eU+G7LPJAtG1TTZW29hglHAny666KKrr746xQby8z0ej2/cuPGuu+7613/9V2/10PlGNBpdsWJF2s3eeustGwYDACgq3g1GE1aMeqt3rwhpmibzytGjR+s3du/e/fjjj2f3hOYFQPIyx2imq9JnsfiSULIh22ZMkuf/GbXSy9upV6VPXTGqZmTm+lDzPV6s0TMUDqu7K5f1l7xbMdqvXz+ZmunrL6WuGHVDK73eRy+oGE1J/VhQ5xhVb3trpxGMAr71ve99b/780Oep0QAAIABJREFU+SNHjlTvTPE99ksvvfTnP/+58OOC0f79+61MaLBjxw4bBgMAKCreDUaZY9SL2tvb5dfw11133cSJE/Xby5Yte+edd7J4whQVo3lspbc+x6j1ilGRp6FmRA2t1KEWLhiVP3HIkCHyTnM3vT8qRuUe0PeJupPzEox6omJUPcaEEHKaUUMwqk77lrYi2wZHjhzRb8hglDlGU0j2sUArPQA3OuOMMx555JGnn3564cKFixYtmjRpUuoLhj/+8Y8NDQ22DQ86i90ZzAYLAMg7fwSjtNJ7hVrFWVNTc/vtt/ft21f/30ceeWT//v2ZPqHMm/LbSm8o/SvEqvQiT0PNiMx3rM8xqi5kn3Dlevk8qVelHzhwoIxQi6RiVCiZUS7BqDy61MmUXdvnZ5g8wbAwvQxG1VZ6N6xKL8N6GYyWlpbKgXkr47NBsopRWukBuFd9ff1XvvKVk08+ed26dam3jEajOa4NiizIP8CpDRw4sNAjAQAUG4tVYy4kU5iSkhJ5MUbFqMupPePhcLiuru72228PBAJCiK6uriwmG5XX5zKBUsswsw6PDJNFWg9Gs2uld2TxJbWVPkUFonyorKxMf6UMLAajFRUV/fv312+nqBj1dBRlnlEhL9PIyh2rTubo2qJR9RUXSjCaopXeDcGoPALlHKNCqX/04tFYUPKDNxAIEIwC8JKtW7daOTvcvHmzDYOBasCAAUOHDk272emnn27DYAAARcW7q9KreU3a3AouoQajejIyefLkb3/72/o9O3fu/O1vf5vRE6ZopY/H41mX6WUajGaxKr1QpkO1v5XeesWofKMlLBcVllvpUwejsmL0hBNO0G94K1XRmQuH5Uuc9aEYj8flFZyaQLn2eyxDK718Qd1cMRqJROQquGrBioz5vFi/XFDyg7eiokL9voRWegBuZ/G7aNu+soZKXhIkEwqFvvWtb9kzGABA8VDDEdeWICWUMBh1bVgAnTzPDIVC8hL6e9/73tixY/Xbq1atyugJza30eVkKPFkrfYHmGLVt8SW1YjTTYFStMFXJ+1NXjJaXl8taPHPjvKzXk1ORRqNR13aLJ5OiYjTrYFR9adxfMappmjpdg1CC0ZaWlu7ubndWjDY2NsqDTQ1GqRhNxlyqr1Pryr2VJhOMAsWiX79+Vjarra0t9EhgdsEFF5x99tkpNvjJT35iseMeAADr/FExKn8Lb/0KRShhLFJaWnrJJZcYNrAoRSu9yOH7fkPCJRdfKtAco7ZVjGYxx6j8J8mC0dSt9GqNarKK0d7e3paWFv22ukaT59KoQgSj6iHn/orRnp4eQ32rDEY1TTt06FDqYNSpD3B17a+EFaPujKEdpFaMqvcHAgG50yyuouESGcyBAvjGvn37NmzY0NLSEg6HTznllJEjRyacMcdnxo4dGwqF0n51c9ppp9kzHqgCgcCdd975+OOPL1u2zPD1eGVl5U9/+tPp06c7NTYAgI95d45RNa+hld4rEsYiQlmiuqOjIxaLWY8XZd4kEyhHKkbNiZgV9s8xqrY55z0YTfjuszLHaFNTkzz7VYPRSCRiiF1crhBzjHqrYlTNwvTRnnDCCYFAQH999+zZIw+nhKvSO/VLyWA0FAqpH03ymPdcRl9oySpGhRChUEg/DLxVMUowiuJy4MCBRx99dO3ateqdI0aMuPHGG8eMGePUqOxRWVl5wQUXvP766ym2CYfD559/vm1DgqqsrOxnP/vZJZdc8uabb27btq29vb2uru4rX/nKJZdcYrHaFwCATHk3GGWOUS9KG4xqmtbe3i6Xqk8rYSt9SUmJnmBm3aJuSLgKtCq9zHAdWXyptLRUJlaFa6VXK0ZlK70hGFXr9U488UR521vBikgUjOY+x6j60qgxsfuDUb1yMBQK9e/fX588Yfv27fJRtbJbHkJOfYDLuR0GDBig1ksxx2gy5smdJY/uNIJR7+nt7T1w4EBPT0///v3VRdOQ1o4dO+bMmWM+Q9q5c+ftt98+Z86cqVOnOjIw21xzzTXr1q3Tp742CwQCN954o+E8FTYbOXLkyJEjnR4FAKBYWKwacyE1r5Gdzt76FYqQTAANJ5zq/7a2tloPRs2FS4FAoE+fPvoPyrpMT1aGWmylz65iVP7W3d3dvb29Gf3b7MhgNBQKBQKB0tJSfeR5WXzJHNX19vbKZ66oqJAZSnt7e09PjwxQZCwVDAYHDhxoHq1X2NlK7/5gVI72hBNO0F/iHTt2yEcNk2noN5z6AE+4JL1gjtHkUgSjcqd5q5WeOUa9pLm5+dFHH509e/YNN9xw4403fve7373hhhvefPNNz81L7Yiurq558+Yl+944Go0+8MADyRJD36ipqVm0aNHw4cPND4VCoVtvvXXatGn2jwoAADjFu8GoHG0oFEq9LjbcQwajar2YMAWj1p8w4fV57i3qMo3SI9ECLb6Ul67/jKiN7SLd9KCGh7KoGFXjJLViVBxfNCqD0f79+6uvo+fSKPNhUGyt9IZXXL8hp0dIVjHqhsWX9BuGFR08Wvxog2RzjKr3eGunUTHqGdu2bbv33nubm5vVO/fu3fvggw+uXLnyzjvvTPYlntts3br17bff3rVrV1dX14ABA04//fRvfOMb5skp8u7VV189cuRIig26u7v/+Mc/3nbbbYUeibMGDRr08MMPv/nmm+++++6uXbt6enoGDRo0efLkmTNn1tfXOz06AABgK4vttC6UcI7RZLkVXEKGnuoMg0KI6urqLPrfNU2TRUlqZiQDx6zTKEMaWKBWesM6UdbrZLOmttILa4vepA1GU5T7GeoH5RyjQoimpqbBgwfrt+U12oABA2QUJbwWrMRiMVmuJPdVfleld//iS+Y5RoUQgwYN0m/I92Npaan6rYDjwah6BKr3UzGaTOo5RvUb3tppBKPe0NjYaE5Fpb/97W+PPvrorbfeavOoMhWJRB5++OG//vWv8m/Grl27Vq1a9cc//vHnP//5GWecUdCf/v7776fd5qOPPrrppptsaGNxVjAYvPTSSy+99FKnBwIAABymttN6a4JO5hj1omQVo4FAIBwO67Gp9YrRrq4ueVmhXp/L+tPcK0b1Q6vQq9ILu6YZVWf8FNYCqbSLL6Wo1zbUD1ZXV5eVlenvXFmjJ45vZFZrfbwVrKi/vrliNC/BqPsrRuUBpq5OLheml8LhsDqVp+PBqDwCqRi1yDy5s+TRnUYrvTc8/fTTyVJR3Ztvvrl582bbxpOFWCw2b968t99+29z4f+zYsXvvvXf16tUFHcC+ffvSbtPZ2an+kQYAAPA9x1cEzk7CYNSdVVSpaZomq298T1aDGoJRoaSZGQWj8nbCitHs0sZ4PC4vWAyr0ns9GJVRhSEYzaWVXkaZqVvpKyoqAoFAbW2t/r9qK728XVdXp1aMejcYNS++1NHRkd30dx6dY7SsrExGn7I0WDK8/eXu0jTN/i+34vG4TFqYY9SihKX6OvkW9tZOIxj1gJ6envfeey/tZm+88Ubhx5K9l19+ec2aNckejcfjv/71rws3t46maRZbqyg0AAAARcVKO60LqXmN4wVHuWhqarryyisvvvjiiy++eP369U4Pp7CSVYwKpbneeiu9WoWnVozmOMeoOeFKO1dDdosvhUIhmbzYEIxqmmZopbeyGnjaYFR99xmyP/OMk7KbXg1G1Xq9QCAgf5C3ghV1H5oXX1KnfciIejSGQiGXf49lmMRWZw5GDWuvOTvVdXNzs3ztqBi1yMqq9N5afMnnLcP+sHv3bit/FbZu3WrDYLKjadoLL7yQepvW1tY33njjqquuKsQAAoHA4MGD9+7dm3qzUChk+DQEgBSOHTv2+uuvr1mzpqmpqby8fNSoUdOnT58wYYLT43KpSCTy7rvvfvLJJ0eOHCkvLx8xYsR55503atQop8cFFDuPLunumzlGjx07Jm/7u3Q0EonIixrDHKMi54pRNRjNcY5Rc8JVoFZ6IURVVZV+JNuw+FIkEpHBpZ5bWUnZ5Bst2YIWhlRLzU/Na5TLijzZpadpmmHpm/Lycn083kqjElaMqodlZ2enOUXK9GmDwaB+sLkzGE24Jk9tbW15ebkaaKQIRu3/fk7m8kKIgQMHqg9RMZqMlWDUW+9fglEPsDgjiT1LGWZn165d6reCyXzyyScFCkaFEFOmTEkbjE6aNMkra1gBcNyKFSuWLFmifkR/8cUXb7zxxte+9rVbb701i3Nff9u0adOiRYvURfA+/fTTl1566YILLrjxxhv57AUclEu55YoVK37/+99XVVUFg8HFixfne2ipqKvSe7qVXi2Q9HcwqhZFpqgYtR6Mqn+C1SBGPrn14lOVebLIArXSCyHC4bDexpvdUDOihjv6n10r1eJyb6SdY1QIEY1GEwajgUBA/4nmitG2tjYZoOixaXl5uX6oeCuNSt1KL4To6OgwdGpbob40paWlZWVl+m5xZzCasGI0EAgMGjRIvRJPEYza/3vJXL6kpKRfv37qQx7N+GxgJRj11vuXYNQD5FQsqanL/LmN+j1MCqlXjc/RlVde+dprr6WIj0tKSr773e8WbgAA/OT9999ftGhRwumiPvjgg9bW1gULFvh+JTfrNm3adOedd5pPdjVNe+utt44ePXrfffdlejEJIF9ySRV37tx58OBB/XZHR4eaAhRavlrpGxsbd+3a1d3dXVpaOnXq1HwO0Ro1B8x6hRZPULM/QzIisgpG5cV5IBBIGIxmVziSopU+WYCYXSu9yHmoGTE3tssQ00rFqJVg1PAGlD8xFArpM07KK1aZRqkLPOgVox4t00u9+JLI9t1tOBpTLHXlBgmDUSGEoXfTVa30Mqmora01nIt69FAsNHVebHMw6tGdxhyjHnDyySdbyUYnTpxow2CyY/hkTKagBVa1tbV33HFHipOV66+/fuTIkYUbAADfaG1tXbx4cYpJ9D/99NOXX37ZziG5WSQSWbRoUYqLrnXr1r344ot2DgmAKpdU8e9//7u8rbaE2yBhK30WbZirV6++5557FixYcP/992e3OkqO1P3m72BUTTzNwai8x3rtpHpxri5yneMco+qEDIZV6ZPN1SAPvKyDURvmGDUshSQsBL5CyUyT9XaoWZLhb72sGJUXg7JkUlaMylgqEAjoj8of5K0yPSsVo7k/rcuDUfmWVBfREqaF6d3ZSm/ooxeePRQLraenR/6t9E0rPcGoBwQCgRkzZqTeJhQKXXrppfaMJwvDhg2T5xMpDB8+vKDDOOussxYuXDhkyBDD/f369bvzzjuvvPLKgv50AL7x+uuvp712/ctf/uLIBbYLvfPOO2kbAp5//nlvrfoC+Ekuc4yqwWhLS0vexmRBwlXpNU3L9LNXfvj09vY6kksWYSt9SUmJubg4l1Z6w8W5fPKurq4s/riYE660c4zKf2LlkkflVDBqT8WoDEZlViIrRtvb2/VnlrFUdXW1nkN5NFhJGIyGQiF5O8eK0dLSUnVlKnfunGQVo6mDUTVbd7Bi1DzRgUcPxUJT/075pmKULj9vuOqqqz7++OPPP/882QY//OEP6+vr7RxSRvr27Tt58uRVq1al3mz69OmFHsn48eP/7d/+bfXq1Rs2bGhqaqqpqTnllFO++tWvumE2wI0bN65YsWLPnj3xeHzQoEFTpkw555xzMj27AmCDtWvXpt2mqalp9+7dX/7yl20YT0K7du3Sm0MHDhw4YcIEBz/lVq9enXab1tbW7du3jxkzxobxADCwsjJ1QvF4XPbRC9srRhMGo0KIWCyWUdWe+lu3trbaORuA/KHytr8rRmUEHA6H1QJPXS7BqNqwLI6fwLSjo8O80FNqWaxKn3XFaI7rRGVEXQpJT3yszDGadlV6K6305opRIURjY+PgwYMNKy8Jz85RmDAYFUL06dNHP6Sze3cbpq+Vz+zOOUbNNcI6w8L07mylNy/C7NGMr9DUI5k5RmGrsrKyX/7ylwsXLlyzZo3hoWAw+MMf/vCyyy5zZGDW/eAHP/j0009TvD2+9rWvjR8/3oaRBIPBr371q1/96ldt+FkWtbW1/frXv1aD402bNr3zzjsnn3zyXXfdNXToUAfHBsBMnQ8rhaNHjzoSjK5fv/5f//Vfv/jiC3lPKBT65je/+Y//+I8WJzbJL4vzRx8+fJhgFHCElZWpEzp8+LD6TxwMRg1rd2QUTqlRV2trq+EC3gbFE4zKosiE6bPMSnp7e7u6uqx8n5dsnjs1GG1vb880GFVTQr1GIe10E7ksvqTfsGHxJbXqzRCMpnjvZ7r4kvqQORhVV8VoampSg1GZmXo0jTKskiRvV1VV6e/xHFvp9RfLSpHv3/72t+7u7u7u7tNOO+3EE0/M4odmLcUco+r/GtZeS3EI2cB8BEpUjCakfsVi/qCWL7233r8Eo54RDocXLFjwn//5n2+99da2bdu6u7vr6uomTZp0xRVXGErT3enkk0+eM2fOwoULE75Dxo8ff+utt9o/Kjfo6uq644471AhD2rNnz6233rp48eKTTjrJ/oEBSMZivGgoYLHHsmXLHnnkEUNJSyQSefHFFz/99NNf/epX5oWAC80wz1QyjoS2AIS1qrGE1D564Vwrvboqvcj8t1CjLuu1inlUPMGozP4SJpXqnW1tbVaCUSsVo1m0qKuHhB7Z2DDHqJ0Vo7Ij28r8wuoCSgk3SLGkuPy38kygpqYmGAzqP06fZlR+e2quGPVWGmU+bHTy4MyxlV7fz1ZeskWLFum77sYbb7Q5GE0xx2ggEJDznBg+AXL5AM9RLBY7fPiwftscqshjPhaLxWIxlgnVpa4YlQc/wSgKyG2ljhmZMmXKkiVLnnjiiTVr1qgfizNnzpw5c2bRLt/829/+NmEqqmtvb3/ggQeWLFlibjgC4JSRI0fu3Lkz9TbBYHDYsGG2DOd/bNq06dFHH0122bZz585f//rX8+bNs3lUw4cP37hxY+ptAoGAg9MOAEUu6zlG9+3bp/6vGxZfEsmjq2TU63CbfwXzD/X3HKNqK735UTUraW1ttTJLmNxdhmA0xxVvzMuLp12kKPeKUTvnGK2oqNCvLPLSSp+iD9rcWB0IBPr379/Q0CD+Oxg1z/Do0YrRhKvSi5yDUcOhlXbxJU3T5Etm/+dJslb68vLyfv36NTc36//rnlb6w4cPy59oDpHVeDcSibhh8j03sFgx6q0vNoo0ioJThg0bdt999zU3N+/YsSMSidTV1Y0cObKYv3tpbW1dvnx56m22bdu2bt26SZMm2TMkAGl94xvfSPvOnTp1qv0T1T355JOpv2n/+OOP169fP3HiRNuGJIT4+te//vLLL6feZty4cW6eKRvwt6xXpTdUjLpkjtFMfwtDK31expYRtYe6SCpGzUvSC1MwauUJk7XSV1RUyLLELAJHc0906sWXYrGYrPnI9LpGniq0t7drmlbQSghz/aaVVvqM5hhNWzEqhDAEoynmGPVWsJJsjlH5EuelYlSmxslesu7ubnk02v95kqyVXggxePBgGYwavhpxcFX6/fv3y9vmJZrVKumenh6CUZ08rgztGvJO/UY0Gi30Z1oesa4LHFBbW3vGGWecffbZY8aMKeZUVAixbt06K6fvn3zyiQ2DAZzizvnjUxg7dux5552XYoOqqqrvf//7dg3nvzQ0NGzatCntZu+9917hx3KcMWPGfP3rX0+xQTAYvO6662wbDwCDrINR9ZJSOLoqfS7X1er2NszzaFY8rfQyo0wYjIZCIXlFbTEYTbYqvcitEjPTxZfUQyjTHji5K2KxmFqHVQjy+eV+tvLeV+esSLhBimA0Yf2gnGa0sbExEonIN53XF1+Sh0EgEFCXz5UVo3mZYzRtlq3uNPdUjAqlUT0QCKQIRm2+KJB/xerq6lKsIyS8FtMXlHyVEybFcqdpmuahnUbFKOAk62uSFHokgP127dr1wgsvrFmz5tixY8Fg8Mtf/vL06dMvu+yyZCUJrnLLLbe0trYmXJ6+qqrqnnvusX/5jj179ljZbPfu3QUeSAI33XTT0aNHEzbUB4PBW265ZfTo0faPCoBOhj7FWTHqbCt9LBZTw1BXBaNbtmw5dOhQaWlpfX19Xj6lZUaZbLbrmpoavbHaYkKdrJVeCFFVVaUn9VmkUeaK0dQt58lW3bHC0PVf0JI0GVLI0CptX7awUDFaWloqp49MVjGqhqoyGG1qalJXs5T3e72V3hCO57eVPm3FqLrT3FYxqt+orKw0vE0cbKWXwai5XFQcf9wW+nsLD0lWqq9TX/qenh6LKw04jmAUcBJrkqBoPfvss7///e9ls09vb+/27du3b9++bNmyuXPn2p8qZqq8vHz+/PmvvvrqCy+8IKfHCgaDZ5999jXXXOPI+C1+x+5IfW5FRcXChQtfeOGFF154QS3eGTt27A033EAqCjgru4rRrq4uvRNWcrBiNJe1O9QaQPsrRltbW+WfQuGyYPS111576623hBCjRo16+OGHc3/C1K30IvNgtEAVo1m00svbaqmgFYZ1omTVZCGYY8q05YexWEy+QZIFo4FAIBgM6s+Qdo5Rocwl2tTUJM+ghI9a6Q3BqMy+7a8Ytf/zRL7i5ovcadOm6ZPv9+vXz/BQIBAoLS3V30dOBaMJV6miYjSh1MGoIU1OuNSeCxGMAk6yuNgIa5LAZ5YuXfq73/0u4UN79uz553/+54cffjjZVZN7lJaWzpgx44orrti3b9+RI0cqKiq+/OUvO7ISvW7QoEF53CzvgsHg7NmzZ82atXXr1sOHD1dWVn75y/+fvTcPjKJK1/9PpTvdWTp7QhJJIGxhiYgIKKCIIoODgCCiwnivgOu4fvGqjDAu44IbotcVB3QcRx0cR2FQNgVRBIWLyI5A2NcQDCTpbJ3e6vfH+d33nqnl1Km1u8P5/FXpVFedrjq1nOc87/t2khcA5XA4zmPMMXr8+HFS0UMI1dfXO5ZQTBRFaK3JqvSxdYxKYsZbWlriJykbTgSJrLNKsQijeEFvKL384WtJKD3Wa5CWMKpWjpwFiTCqt6m6kLv5NIsvkWKQWig93g67MEqG0oMw6vF4oFdwxyhls5rCKHm1Om9ypITSd+jQoUOHDmpfBGE0VjlGS0pK5P8l+zwXRgGKVR/9u5qcQNnSeI5RDieW9OrVS1MXcLvdl19+uTPt4XAc4MyZM2qqKKaqqurDDz90rD0mEQShQ4cO/fr1q6ioiKEqihDq3Lkzi9PkkksucaAxarjd7oqKimHDhg0aNIirohxOnKBZcVsRSRw9QigcDhuzRBmAHG5JcoyaCaV3vviSZI+iKMZPwCZkfLKkSaIoQvdQE0bhc5PFl5BFjlEcJI6Ia0QURcl8ADIdSg86uGPCqLz4ktpVI7nQ1LYM/2IsvoQXGhoaTp48iZfz8vLgOLQxx6i1wqhm9gPyanXYMRqJRKAD6I13NJzq2gyhUAjucoqh9Nwxqgj0K8WznKD5B7gwyuHEkqSkpDvvvJPuC7j++ut5sea4xe/3V1VV2f0i28ZYvny5pgXgq6++SiybQDwgCMLEiRPp6xQVFQ0bNsyZ9nA4nETB2IgUjDakXOKY45LUX9xut1WOUeeFUXnMeJxE04uiCG4+Swa3TU1NEJRNJtYkAceo3hyjcmHUTPwyXAjQr+gdzIwwmpSUBMJZDIVRNWOX5EJT27KmMKoYSo8Q2r9/P14gZ3aheQmkqiBZMlDAZCi9ZLNqhxqIYfElctcJIYyePHkSbkqKofTJyckwTk+s3mgrjMWXUEKZvrkwyuHEmMGDB0+ZMkVNGx0yZMgtt9zicJM4moTD4cWLF99555033njj1KlTJ0yY8Pvf/37p0qUOR38kKDt37tRcp7W1tbKy0oHGtDFGjRp16aWXqv3X6/XOnDkzIWpbcTgcJ9EURxQBx2h5eTl86FiaUdK8YzLHaFw5RlEsCkkr0tDQAAfZEkWA1DotCaUPhUKgodgUSg+XBtnB5IXpSSlHrzCKTAtn7MjzP+pyjNJD6RW3Q3eMIoTgZY9USxPdMSp50YLOGQgE5HZj9s1KHKMsofQO30zIXestuWPsMWQSmN4TBEGxPIAgCHDAE6s32goluTNKWJstF0Y5nNhz0003PfPMMzgdNZCbm3vffffNnDnTwAsWx1bq6+sffvjhuXPnHj16FD48fPjwG2+8MWPGDO4e1YRx2OxwEY+2gSAIM2fOHD9+vPy+UVJS8vLLL5P6BYfD4WBMhtL37NkTMjDGxDFqYSh9OBx22LApVwDjxDEKEaYIoWAwaH7ql3xBsiSUnhR9KI5Rk6H0kgVktWMUERqu3bW/DITSS2Yg1Lasth3FjJNZWVmwPlSlJx2jsc0x+o9//OPTTz9dsGDBnj17dH1RbjTGQFcURdHA1Q29i1EYjWHxJUsco066TCCTQ7t27dR0f7hYEsj8aDd0x6jH40lEmy0vvsThxAX9+/fv37//0aNHjx49GgwG27dv361bN711LTkOEA6Hn3rqKbVXpe3bt8+aNeu5556Lk7IJ8QljVaVEKWIYb7hcrjvvvHPUqFFr1qzZt29fMBjMz8/v37//4MGD+SwLh8NRxEDxJVEUwWtTWlqamZmJZ7Mcm9OSGNmscowihPx+v5MJo+VScpwIo1B5CdPa2mrysJBap6YwyiIRkgfKJsco9CvynZwujFLizdWAptrtGKUUXzLpGFVU60RRVHSMCoKQk5NDKu9IJZQ+HA5Ho1GHB0SLFi3CJ6J9+/Y9evRg/6JmjlGEUHNzs1oeCTXgkBoovhRDx2hChNLD9J5iHD0Gun0C1RGyG7pjFNts8ZxKAjlGuTDK4cQR9Gp9nHjgq6+++uWXXygrbNmy5dtvv+VpHCmcf/75O3bsoK+TnJzMvY1maN++/e9+97tYt4LD4SQGBoTRM2fOwJC7pKQkKysLS6KxcoxaK4w6WRoubkPpIcEoJhAImBRGQev0eDxqEhvMiTaxsGwjAAAgAElEQVQ1NUUiEfp8HnmgrBVGJR49ZHMovZmm6kIuU2pe+4zFlxTVulAoBMdKIpPl5uZKhFEylF5SClyvxGYSUPf0KnSMwqje9pjJMRoMBsPhsAGx3hgJJ4zC9B6LMModowAluTPG6/ViSTSBDhr3o3E4HI4Oli1bprnO8uXLHWhJ4jJixAjNV7Rhw4apPWs5MSQYDG7cuHHZsmVffPHFmjVrnE/Gx+Fw7MCAMEqWpC8tLc3OzsbLMRFGLXeMmmybLhIilB5ZEREJqh8lcASEUVEUNVVC8kBRqtKHQiG9riW5MEp3jJIXjhnHqPPCqGaJc72OUXI7lIyTpAyKUXSMIseFlVAoBOfXDmHUTCkwA1Xp5X/aSpsURhM0462taAqjcK9IoIPGHaMcDofDSjAYPHjwoOZqu3fvFkWRR9OrUVxc/Lvf/e5vf/ub2gp5eXlTpkxxsEUcJpYuXfrBBx+QY/jk5OQxY8ZMmTKFMljicDjxj4ERKQijGRkZmZmZWVlZ+M9YOUYFQUhKSsL2NL3jaokBMObCaJw4Ri0XRsExyiKMIoT8fj/0K0XowigZsNzY2EgW/NHEyar0yEFhFE4iPLVtzTFKapoSYVR+OuJEGCX7ud7Qac2q9MjQtIfe4ksSKaq5uRk6mN3A0SNrFjHifI7RlpaW2tpavMwdo7rQFEZBFk+gg8aFUQ6Hw2GlsbGRpZpkOBwOBALc8Ehh0qRJzc3Nn332mfxfhYWFTz31VE5OjvOt4lB48803lyxZIvkwFAotXLjwl19+eeGFFxyOdONwOBZiQBgFo01JSQlCCASsmOQYhdR7WBFILMeoPJmm3YkmGZGE0puXa+F3UWQaUjPVPBGgwkiqb8k3ZVgYVQyll3cwUls3U5XepDC6f//+F154ITU1NT09/aGHHiooKJCsAJKZgRyjgiBQfppiHkZKKR7J6cBZR+VbQwkljKo5Rt1ut8fjwQffwNWtN5ReMofhpAOdTGKr1yDifFX6kydPwrDuvPPOU1uNO0blsITS44UEEkZ5KD2Hw+GwkpmZyZIA3uv1clWUjiAIt99+++zZswcMGABveEVFRTfffPPcuXPLyspi2jqOlOXLl8tVUWDPnj1vvfWWk+3hcDjWYqAqPThGJcKoY45RcoyKZRQDv0JxfYeFUfkRixPHqKT4koWOUUpxxYyMDNBTNOsvgeKjmPyUtOnpVaPk1j/y9Y+eYzSGxZf27t17/Pjxffv2bd26VXL6MAaq0oNKhX3ZartWVLUogdWSUPrs7GzyuJGOUYfVKLLNeu8kasIoIrqohY7ReA6lNzBZbvgGbhh4irnd7sLCQrXVuGNUQjgchr6nlniah9JzOOcuGzZsWL58+S+//NLQ0JCVlXXBBReMGTPmggsuiHW7Yk9DQ8OPP/544MCBpqam/Pz8iy666IILLkjQMHO3292rV6+dO3fSV+vTp48z7Ul0evfu3bt375aWliNHjvh8Pjy65sQb4XCYkvcAs2rVqgkTJnTs2NGZJnE4HGsxYNWRCKOQY9QxxygMzJKSkrBoZThFXQyFUTKTpiAI2L4UDzlGRVE8c+YM+YmFwiilKrcgCBkZGfgUaJ4IUJAVB+ekL1WvE1MujJJSFz2U3kAJdatC6Q8cOADLECNMAifRmDBK2bXiPYQ9lF6ik7YxxyhCKD09Hd8bLXSMqklOkiPmpANd3sHY0XTCWs7JkyfxQmFhIWU+gztGJZBPKDUFPBEdo1wY5XDMEggEZs+e/cMPP8An9fX1a9euXbt27ciRI++9917HSgHGIYsXL/7ggw/IG+g//vGP8vLyhx9+uEOHDjFsmGHGjh2rKYyOHTvWmca0Ddxud25urt5URBzH2LFjh+L4ikQUxbVr13JhlMNJUPRadUKhUHV1NV6WOEb9fr8zWbZhjAqPD6sco46ZXhFCDQ0NEMuZnZ2Nb7bx4Bitra2VKGXmx7csjlGEELswCq+XimE6brfb6/XiZusVHOG3Q+9iLL5EjzdXA5TilpaWSCRiYAuY/fv3w7J8ikIURZCc5MJoJBJRvHL1CqPkwaE4RiXCKJlgFMWNY9SqHKOI0O4NXN2SU6A5j8Udo4xIEsKowR2jEsg+rOkYTaCDxkPpORxTiKL4wgsvkKooyfLly998802HmxQ/zJs3b+7cuXLjQ2Vl5bRp08hp7QTisssuu/TSSykrDB8+vF+/fo61hxFRFPfs2bNs2bJFixatW7fO7uz+nLbE0aNHWVY7duyY3S3hcDg2obcq/cmTJyGaWOIYDYfDzhiUQBSAAZhVwqhmBLeFkNpfUVERXogHx6ik8hKy1DFKLwUDuUHZQ+nV8hcZDlEn/ch4gZS65KH0FEWMBfjJoigavnyi0eiRI0fgT/mMZmtrK6jwcmEUqVz+8gtNEXqOUZfLJbGJ0IVRj8cDEm0MHaN6vecUEdlMKL2aY1QURXlXRLIjFqsco3q/63xVeoh7oFReQtwxKoMURtVONC++xOGcc3z77bcbNmygrLBixYqhQ4f27dvXsSbFCT/++OPChQvV/tvc3Pzss8/Omzcv4XyCgiBMnz59zpw533//vfy/v/nNbx544AHnW0Vn48aNf/7zn2FeFCHkdrtHjRo1ZcoUngs1nmlpaamrq/P5fJQCvg6g+Notx7EZfg6HYzl6R6TwQBEEobi4GBGOUYQQvnFZ3UYpcg0iER2jpDBaWFi4e/duFB/FlySVl5AVPlaYlKU/1MBPajKUHiHk8/lwQgDDofSKxZfkl4lJYVSSDpXuqFXj2LFjpAahKIzCMsgW5Ht4OByWv5bLrdmK0HOMygOrs7OzXS4XHDdJKD2uaY53nUCh9JRuAKfYwlB6hFAwGJQrUzEURs2E0hsWRufNm4eHnD179nz11VfZvwih9JTKSygxzY+2Ql4jban4EhdGORxTLF68WHOdL7744hwURj/66CP6ClVVVatWrRo5cqQz7bEQr9c7c+bM3/zmN0uXLt25c2djY2NGRkbv3r3HjBkThyd64cKF8+fPB48AJhwOL168eOfOnS+++KIDw1eOLkRR/Pbbb//1r3/t27cPn7iSkpKRI0eOGTOG7tewCax6WLUah8OJQ/Q6RsEhXlhYiO9L4BhFCNXX1zuQM9o+YdTJHKOwL0EQoPqHk6GvatjhGIUfS3/xMCCMajpGDYfSg1jDWHzJWPosUiluaGgw9jyVRGLRhVGQLUgJLxQKyY+k3lB68h5CCazGZehBf5c4RhFCUMY9hqH0ehU6u4svSULp1VoYD6H0BowXhoVR0Jp1aXCNjY1wh6E/sLhjVALZh3nxJQ6HgxBCra2tlZWVmqtt377dgcbEFdXV1QcPHtRc7ccff0xEYRQzYMCAAQMGIIScSaZmjC1btshVUeDAgQMvv/zyn/70J2cbxaERCAReeOEFiQ/9+PHj8+fPX7169dNPPy1xVThAnz59UlNTNb1CgwYNcqY9HA7HcvSOSCWVlxBCGRkZ4P9yxnEp12sMj6slOpeTwigcq4yMDPCUtclQ+lAoBCNkRsdoDEPp5dY/UkCkFF+yxDFqYAvo3xOMIiVhlDyDiqH0ijMKjMKoYql0un8wNzeXIox6vV4sZydQjlG7hVG5Y1SxhYnuGNU7swU/UNf5gqcY0nKMala7OteAEYHL5VJzbCSiY5TnGOVwjFNfX68mOZE0NTWda3fSqqoqltUghCGhiVtVFCH03nvv0bvohg0bduzY4Vh7OJrMmTNHLTvHgQMHnnjiCedvJqmpqddffz19nX79+vXq1cuZ9nA4HMsBNUcURZZBKYTSQ2o2QRBAz3KmML19jtFQKORY+SPQ/jIyMkA6sSqU/ujRo88+++ysWbNmzZql96TIQ+lNCqOkykkXRuG/5kPpQXCUOEY3b978+uuvL1u2TM3fIFe4bBVGU1JSYEeGs8BLHAnyM06+P4BsoamyMeYYVSwpDntUE0ZhWT7pC19x2EAdh6H0kt5IngjFFkqOmJPF3CzJMar3sMMP1KXBwSDU4/EUFBRQ1kzEdJm2omnVR7G7fs3AHaMcjnEYY5C9Xm9MAmBjCBlwRMFYwBGHkRMnTkjsA4p89913vXv3dqA9HE1++umntWvXUlY4cODA4sWLb7jhBseahJk0adIvv/yyefNmxf+2a9fuoYcecrhJHA7HQiSuMU1xB7w2paWl8GFWVhY2qSWcY1Suc/n9fmdycJOF2s3UrVZkz54969atw8tjx44l0x1oYrljlNT7GEPpNR2jhkPpFyxYgGeFPR7PF198If+iXseoxNNnAJ/Ph6VMw8KosVB69uJLjI5RxRyjijIZKYbKhdFYheJaEkpva/El8pSxOEadFEZjkmPUpGP0vPPOo3tceI5RCfTrGpOI+Qe4Y5TDMU5aWlrHjh01VzsHjVQlJSUsPkoHcpCdy5DFSc2vllhEo9FDhw5t2bJlz549CfQes2zZMs11lixZ4kBLJLhcrqeffnrcuHHyId+AAQNee+01SXlZDoeTWEjyDNJX9vv9iqnZQHdLdMcocjCaHkRkiTDKEpCkyeHDh2H51KlTur5ruTDK7hhlzzEKgoimY5S06VVWVkKsTDAYVCwwSBdGKVXpDU/5m3EUIoROnz4t0ZFbW1sliphmKL2iIGWm+BLdPwhvDqmpqWQyAclXEqgqPUUfN+MHlzhG4zmUPiZV6eEH6tLg5HEPaiSixmcrmjdelJih9NyuxeGYYuTIke+8847mOs40Jn7Izc2tqKjYuXMnfbUhQ4Y4055zE8YXC73vH3FOMBj8/PPPFy9eDCNzj8dz5ZVX3nLLLc5n59QLrkdMp7q6ura2Nicnx4H2kLjd7t///vfXXXfdunXr9u7dGw6HO3bsOGjQoPLycodbcu7Q2tq6atWqjRs3VldXezyesrKyK6644qKLLop1uzhtEM08gyRkajZySAmF6WMljBpOURdDYRR2lJmZCbZHURQDgYB5yyopjFZXV7N/MRqNnj17Fi9nZWVh9dYqYVQQBLkKRgKyKc5pQDkO7I5RUjRctGgRuU5ra6v86/TiS5aH0qs1lR3FCKGzZ8+SVygoFElJSfKrBplzjCqqWrBHRf/giBEjevXqFQwGFb0UsbLp2ZRj1EwGYclm6Y7RSCQi+TAmjtH4F0YhlF5TGE3EOkK2Aj2KcpYT0WbLhVEOxxSjR49evXo1pQRT//79z035b8qUKY888gjF8tCtW7ehQ4c62aRzDahvS6eoqMjuljiG3+9//PHH9+7dS34YDAa/+uqrjRs3Pv300926dYtV21hgHA41NDQ4L4xiCgsLr7/++jNnzkQikby8PMMjQI4mu3btev7558k0f5WVlV9//fWAAQOmT59O91txOHohRR9NLQCMNikpKWTJFBBGYxVKD78igYRRxVB6hFBzc7N5YfTQoUOwrMsxevbsWTgmpaWl1gqj6enp9IRLkhLtlONgoPhSTU2NJGWNojAqd4AmJSUJgoBfa20VRo05RiGOPjMzE3pvXV0dKfooZvyMYSh9QUEBJbdjrGx6NuUYhas7EAiwpCuhbJY8EfJTJtehrHKMNjY2zpo1CyHk8/luvvnmsrIy+TqxFUbD4TB7RVwDjtEE0vhsRTO5M0pMmy0PpedwTOF2u5966ik1z1Tfvn1nzJgRz8V57OP888+/66671H57fn7+Y489dm4eGccoLy9nCXC+5JJLHGiMA4ii+Nxzz0lUUaC2tvbJJ590xsdkGMYEcLryxHESkd27d8+YMUNe/AQh9NNPPz366KMJlMyekxAYc4y2b9+efI47LIzCcAucKW0mlB5ZoWXU19eTWSZ1OUZPnz4Nyx06dMALVgmjmvM60JEQdb4Q+2rxstr4nMwxijXNxYsXS2QXRbEDFDFSwAI9Vx5KT7EKMqKWDpURcIz26dMH2iBJM6ooWrGH0tPrJSiqWmZksljZ9Eh/pd47CUVEJruoXgunJHUpXRiVX6dWOUZramq2bNmyZcuWtWvXHjt2THEdM2fc2A1cFEW4W4qiyKhlnz17Fr6lKYySor8lSU4SHZbiS4noGOXCKIdjlpycnDlz5tx5551kpq3OnTtPmzZt1qxZ9HChts24ceOefPJJiSFREIQhQ4a88cYbjH5GjmEEQZg0aRJ9ndLS0ssvv9yZ9tjNDz/8sHXrVsoKZ8+eXbBggWPtMQBLFayysjLIv8Zpk4TD4ZdeeokyFDxw4MBHH33kZJM4bR5S/dF068CQWJIoPOY5Rq0tvmSudawohtIjK7QM0i6KdDpGYVbG7XbD25pjwij5jKOciEAgACKFZo7RaDQaCARaW1tXrFghWUdx3K6YM5Qi3JjPMWqVMNq1a1c4gJIrUTGw3fJQesUcowZK8cTKpkfuznAoPcUxivRPe0g2S54I+auC/HBZJYyeOXMGltVmLJx3jAYCAXKiglFGB7so0uMYZRde2za6qtIHg8FEUZN5KD2HYwHJycnjx48fP3683+9vaGjIyspiLFjf5hk4cOCAAQN27Nixf//+5ubm/Pz8iy66qC3Fbsc5o0eP3rZtGxSllZCWljZz5sw2Ew29atUqzXVWr1595513xu1PHjdu3Jo1a+gvEGPHjnWsPZyYsHbt2qqqKvo6X3zxxc033+xM1WzOuYCmOEICjlGJMApGP7/fzx7PaJg2UHxJFEXQF7Kysqx1jEqE0ZqamnA4zCjbQeWl/Px80BatqkqvKYx6PB6Px4MFDsqJIA+RZig9QqihoWH9+vVyQUfxdynGRLMIo/QsARTMCKN+vx9Eq65du+bk5OAUsWqOUVKm1KzkozeUXtExakAYTcQco9AN6I5RvdkS5DlGIauDvIX2hdKTUSxqYQFmpHBjwqjk1zGeMhBGU1NTNZNTkV7pYDBIt06fC+gSRrGanBAHjTtGORwryczMbN++PVdFSVwu14UXXjhhwoRbbrnlmmuu4aqokwiCMGPGjAkTJsjHQl26dHn11Vc7deoUk4bZASXVL9DQ0KC3Mq+T9OjRY8yYMZQVLrzwwquvvtqx9nBiwubNmzXXCQaDmtXtOBx22B2j0WgUhHuJ0QYco5FIxJjrTRcWCqNgOAIx1xlhtKmpCZqakZHh9XpBVjOvZZCVlxBC0WhUXmheDVBA8vPzYXxrlTDK8pIMnkdKKD15iDRD6fGmFi9ejJfJFFiKuptiaDx0MDtC6UGANnDtkJWXOnfuDEKPRBhVzDGqee2byTFqiWM0gXKMUhyjZAShXmFULtMrHm2MfaH0UJANqVyY4XAYjoABx6iitq6J5FbJKKND5SXJ9J4iZO9NoMBw+2ApvkQetETJ/sQdoxwOh9OWcblct99+++jRo9esWXPo0KGWlpbCwsL+/fsPGDCgjeV4ZXzuOlmd0wB33XWXKIpffvml/F8DBgx49NFHDbtROIkCo3jBrnFwOJqwO0arq6thKK7mGEUI1dXV2V0izI5Q+szMTOyEciZNKikuZGZmCoKQlpaGdTHLhVGEUHV1dXFxMct3SccoDH1NPj3ZHaMIoczMTCzOUhRqsj0sjtFvvvkG1JCJEyc+/fTTeJkeSq+YYzTeii8dPHgQL+Tl5eXk5KgJo4oypSAIbrcbXzKKMwqWCKMGZLJYhdKTL5N67yQUfdxwjtFIJAKBRLBZt9uN9WKW4kuRSMQSnyMZSq94YZKHzoAUDteOGWGUUUaHuIfzzjtPc2Xy0HFhFOl0jKLEqb/EhVEOh2MZoiju37//2LFjkUikuLi4Z8+ecRuzfK5RVFR00003xboV9pKXl8cykszLy3OgMYZxuVz33nvv0KFDFy9evG3bNr/fn5qa2qtXr9/+9reXXXZZG9OyOYowDiB5HD3HQtiFURhPIqowWl9fX1paal0DFbAjlD4nJwdLohSjooWQ4gL2SKamploijIqieOTIEcmH7AETIIwWFBTAHQnbwQw7IuGQ6nKMmgylT09Ph6DjJUuW4A9LSkoGDRoEaqCBHKNyx2hsc4yCY7Rz586I8G6zhNIjhOBQ0EPpGYsviaIIVdctKb6UiKH08uGPy+WCBBF6hVFYhoOsyzGKEGpubjYvjJKOUcWpI/JMOZZj1FgoPcyRaCYYRYmp8dkKPCAoNX4T0WbLhVEOh2MNa9eu/ctf/kKmxsvOzp40adK1117L1RyOA1x00UVqVTIBMsQsnjn//PPPP/98hFA0GuUW0XONrl27btiwQXO1Ll26ONAYzjkCOYynq4ogjObm5krilzMyMlwuF/66A45LimPUjDCKjZbOOEZB9RMEAfso4ZCatGdWVVWBPpKcnIyPFXthegilLygoIDXHQCBgOFsUe/Elch0Wx6ggCGoqDDbhYg8mKBrXXXedIAher5cijCrGRLM4Rs3nGA2FQq2trboMdwcOHMALXbt2RQjBe46k+JJiKD3SEqTgW4yOUYRQKBTCxy3RQ+ktdIwihFJSUvBv0RVZTLYBeqNiqSuMYn9uaWkBudwwmsWXyN8VK2GUpbeIoqgrlJ47RkkCgQDclimFlBPxoPHhVvzS2Nj47bfffvTRRx988MGKFSvIWRoOJ954//33Z82aJSkYUldXN3fu3Oeee04+tc7hWM51111Hf2tHCN1www3ONMYquCp6DnLllVdqeu3Ly8s7dOjgTHs45wJkl6M7bqBmhXw8KQiCWjlsO5Ab2YxFYmKDG14GRcmZHKOwl7S0NCwKgApp0jEKcfSCIFxwwQV4mdExGg6HYdBBOkaRufGtLscoCKMU6y4ZzkmZgJfsLjMzc/jw4YjQ3RRVKnqOUbkwaj7HKNlOXabRQCAAVyWeMNMVSo+0BCm9VenJ7SR68aVoNKprlkVTGMULuqY9yJMCm4WDwxJKjyyqv6RZfMlkKL1jwuivv/4Kq7GE0nPHKMnp06dhuV27dmqrJeJB447ReEQUxU8//fSTTz4h75tut/u3v/3tHXfcYeBGw+HYysqVK//xj3+o/Xft2rUlJSWTJ092skmcc5CioqLbb7997ty5aisMGTLkiiuucLBFHI4R2rdvP3bs2IULF6qt4Ha777rrLiebxGnzkMN4uhAAxnxFo01WVhbWYhxwXMqNbMZC6cmVQVEKBoN6XXsGgKMEgrJVjlEoSV9cXNyxY8eff/4ZMTtGa2pqIKdhu3btLKmhIYoiiH3wYynoCqWn5xXx+XzkDx81ahT+RfQUloqOUZaq9OaLLyGEmpqa2NP+HDx4EPwHEsdoa2trS0sLHB+1jJ/0GQVjjlGEUDQahe+ayTHqpKoSCoUkJxfSAjB+HS/QhVFd15FiKD3FMQobT01NhduI+eo30WiU1Nk1HaMGsv0Yu4FLcvKy9BaYSEBsofSSqvTsbWuTwO1UEASKMModoxwLEEXxhRdeeP/99yWvROFweMmSJY888kicVw7hnGuEQqH333+fvs7nn39Oxl9wODYxduzY++67T55HSRCEa665Zvr06TyrAychuPXWW4cMGaL4L7fbPW3atIqKCoebxGnbCIIA/nTGHKOKwihEa8YklN7YuJoMaiFzrTjwE0BckAujVjlGy8rKioqK8DKjY5Qs7CZxjBqWV5qamuA4W5VjFAZEaiXpMaTg6Ha7R48ejZfpwqii0AnXCKUqveHc+mSGAV0pbiGO3ufz4chWMmiaFLPU/Jv0auB6c4zCdkxmnIyJY1Tew9nTjIqiKK+SRAJaoa7riGyArhyjZDcw7xitra0lu31TU5O8t1gVSq8rtauBHKMgjGZmZrJk9nC73XBdJ4rGZx8gjGZlZVHmDskOkChqMneMxh2ff/75mjVr1P5bWVn59ttvP/TQQ042icOhsG3bNs08D8FgcN26dWPHjnWmSZxzmdGjRw8cOHDp0qXbtm2rra1NS0vr0aPH1VdfXV5eHuumcdoCjY2NK1as2LRpU01NTUpKSpcuXYYPH967d29r9+J2u2fOnLl8+fJPPvkEopYEQejTp8+tt97KOzPHDihljoFAIABPfDXHKF5wMpTeZI5RcmWylERDQwPFDmMJcseoVaH04Bjt1KkTpIGrra1lscFCwKzH48nIyCANWYaFUVLp05VjlCIRsjtGYfnKK68EJyaM2w0UX7KjKj1ZJ0pXYXqy8hKe/SX1/draWggWdjiU3mRgdUwco2aEUUUFk8SYMEp2NnmOUUoofXp6urFyT4pIDC6iKDY0NEiy9sOuXS6XAes0Wb+LPcO+gVB6SkIYNTweDz6GiaLx2Qe8lNKfj4IgQHpr84ZlZ+DCaHwRCAQWLFhAX2fVqlU33HADTy7GiRPg5ZsOmBc4HLvJz8/nqRs4drB+/fo5c+aQ2d/279//1VdfDRky5L/+67+sLROPbc4jR448cuTIqVOnPB5PWVkZpQAoh2MSlgSdx48fB0uUYgRinDhGdaWoI3UH0mPlpGMUdEBLHKPBYBBKi5COUVEUq6urNUcQIIzm5+dL6hoZlldIpY9FGAWluKmpSS2WmdExSgqj48aNg2VGxyipztgqjLpcrpSUFPyjdOUYPXjwIF6AinyZmZlQBo10jNoqjMpD6ckDa0YYDYfD4XDYcI4CXcgVHPabiWLMO4kdOUblOh15ltPS0qwSRuUmGLkwaialLPr3LhQOh+kOZcCMMMqSYBTj9XrxMeSOUXCMUiovYbxer/xWEM9wYTS+2LJli+YkoSiKP/zwAxdGOXEC41RqotwTORwOR5ENGzY8/fTToAqRrF27tr6+/rnnnrN85CYIQllZWVlZmbWb5XDksBS+gDh6t9sNchsJCIsxcYyaD6VPS0vzer34jcWB+kuwC2tD6Y8ePQo/qqysrKCgAKyILMIohNIXFBQghNxut9vtlnsAdUEaP3WF0uPkpOBEJiGLL1E2NWbMmOLi4kOHDiUnJ4N0iKwuvmQ+xyhCyOfz6RVGw+HwkSNH8HLnzp3xgiAIWVlZWMkir0RNYVT+Sk9WH4qVMIoQCgaDsRJG2R2jiuXjSYwJo60tCDIAACAASURBVPQco5R49pSUlNTUVNwBzIfSy1OiyaeOyF0b2AV50JwRRlkSjGIoSnRc0dTURCYPsQNGxyhCyOv14ltZnB80gOcYjS/gjdOS1TgcB8DvzZpoTitxOBxO3NLY2PjKK68oqqKY7du3L1q0yMkmcTjWoksYLS4uVhz5g4DlpGMUhqzmQ+mTkpJYsltaBewCjpslxZcglMfj8bRv3z4lJQUEa5b6SyCM5ufn4wVjRWNIQOnzeDwsGhlZoEntRDCG0nfr1m3SpEkzZ8585JFHyM8Ziy/pFUYZ438VAUWDPZT+2LFjIDrgyksYxcL0msKo/HeRsqBeYdRkxsmYFG+xShi1MJReUW+l5BglzzLs0fJQeqSU5sKkMCpxjDJ+S68wGg6H4TbILozSbxdxwtmzZ+fMmWP3XnQJo3ghng8aCRdG4wvKoMvAahyOA/Tv358lbujiiy92oDEcDid+OHr06JIlSz7++OPFixfv27cvoZ9cX331laZKsnDhQnlFDg4nUWCxW8JIWG1OFAQ+v99v6yUviiKMnC2sSu9yuWIijFobSg8Wwg4dOmCdDianWeovSRyjyAphFHoOi10U/Xu4vdqJYAylV4Mxxyj5istSfMmkYxQvsBdfggSjHo+ntLQUPqcLoxIvHkVlI2UmvTlGTRZfkjhG9X7dGGZC6R0QRlmKL8Fhx45RvOyMY5TctYFdSByjjN/SW3ypuroaNt6WHKOiKL7yyitbtmyx9UU0FApBUgVNz1NM6qeZgYfSxxeMqS7YM2JwOHaTk5Nz9dVXL1u2jLJOnz59evbs6ViTOBxObDl27Nhbb721detW8sPy8vL77rsvQQsHbd68WXOd2traAwcOdOvWzYH2cDiWw5KgE8aEakGO4EyMRCINDQ2k789aFI1soFvpyjEq0R1i6xi1RMggKy/hhcLCwj179iA2x6jcEESPOmdBnjSATkZGBoT/q6mEcIiMCaMUN5MoivTiS3YLo+yOUShJX1ZWRu5aURhVM/RRZhTIC40e2iy3+5ksvhQnjlELhVFj15FiKD1LVfqUlBRLHOgYuTAqv0OadIzKtXUW9AqjEEcvCAK7ohL/Gt+SJUs2bdqEEDp69Kh9+Zd+/fVXmPJkyTGKF+L2oEngjtH44qKLLmK5lQwePNiBxnA4jNx+++2UW3BOTs5DDz3kYHM4HE4s2bNnz7Rp0ySqKEKosrLy4Ycf3rhxY0xaZRKoRmLJahxOHAIjbcqIVLMMC5kL0tY0o4pGNlgwnGPUyVD6lpYWOJ5yx2ggEDBsuYVylx07dsQLkBBW0zEaDAZBiIRQemNONxIIpWfMfycIgqZ9kjHHqBoUlUqxDjiiTh5ALzJcfAkZcoyCMAoJRjEwRQHCqCiK0N8kMiVFZTMTSk8aVA1kGIgTxyh7KL1atwGMBbbHbSg9RRg1VnzJEmFUU4MDYTQ3N5f91gG/KD4do8ePH3/33Xfx8t69e+3bEUybIR5Kz7GbtLS0CRMm0NcZMmSI5OHH4cSWtLS02bNnDxw4UP6vHj16vPrqq5q3Tg6H0zZoamp6+umn1dwuwWDw+eefJ9+rnGf37t1//vOfH3/88RkzZrz++us//fQTi/rA+PZszLjE4cQDLHZLTccoKYzammZUUa9JrFB6UvySF18SRdGYluH3+0HCIB2jeEFTGK2pqYFboh2h9Cwl6TGaJ8K+UHo16x+lg8FXLBFGGR2joihCSXoywSgiHKMwP0Hxb1LyC7OH0guCAL9dkmPUmExGfovnGJVsllIvizzstobSx6djVFO4NFCSHsW3YzQSibz00kvQsMrKSvv2BTEHPp9Pc5YrztVkOTyUPu6YNGnSnj17sBdaTocOHf7f//t/DjeJw9EkIyPjT3/6065du77//vvjx4+Hw+H27dsPHDhwwIABgiDEunUWUF1dffDgwZaWloKCgh49etDfDjmcc5Z//etfkH5IkZaWlk8++eSBBx5wrElAY2PjnDlz1q9fD59s2bJl2bJl3bt3nzFjhmKJbaBr1644EJWCy+UCGYLDSThYii9pCqM+nw8qmDsmjEJjzAujbrebTJNqtpVUSEetPJQeIdTS0mJA8gO7KCJchHB/a2hooJcthgSjyB5hlD27AkioJosvqUFROtQULsdyjDJWpT916hRIqBJhFByj8ESm1IhnLL6kWSXc7XbjLUhyjBqTycjdtY0co8ZC6WGzpPTMUpXe6/VaFUofCoXgEs7Ly8MiqeXFl8hJBfZ7uOFQejInrybxrPF9/PHHpBjqjDDK4nmKZzVZES6Mxh0ul+tPf/rTBx98sGjRIvJmJwjCFVdcce+99zKmLedwnKeioqKioiLWrbCYysrK+fPn79ixAz5JS0u77rrrJk6cyOVRDkfC999/r7nOunXr7r//foenTFpaWqZPnw7mGpK9e/c++OCDr732GuU9b/jw4UuWLKHv4uKLL7YvoyKHYzcswqi8ELwEQRAyMzOxFmNrKD3dMaorx6jEMaqpx1kFKSvIQ+kRQs3NzXl5eXo3CwlGMzMzwTZIJoM7ffo0ZQoHhNGUlBQYcdDrFLGgt/gSIiRUzRyjJkPp5T+K1D0VQ+nlwqhisSa9gGDNKIxC5aWkpCRJSqvc3Fy8EAwGW1paUlNTKaWQKNc+eyg9XgHvRZJj1JhjNDk5GfLMJlyOUcVjZSywnexa8OIEd2B580g9Gk6fSWH0zJkzYCTv1KkTFkYtL74kz8agSTAYlBwBdmG0bThGKysrP/30U/KTQ4cOBYNBzWkMY7CXpEfxrSYrwoXReMTtdt92223jxo378ccfjx8/HolEioqKBg4cWFJSEuumcTjnFt99993LL78seeg2Nzd//PHHmzdvnjVrFo+c5XAAURThjZOC3++vra2FYZszvPvuu4qqKKa2tnb27NmzZ8+WfH706NEdO3Y0NDT4fL6LL76YkiA1NTX11ltvtay5HI7j6HKMUmxxWVlZWBh1zDEqDy81LIwmJSU55hgFvS8lJQUGsRJh1MBmoSQ9qZQVFhaCxlRVVUURRiFRMthFESFzGJZXwNhoVSh9KBSCs2xrKH1McowyhtLDQ619+/YSKQocowih2tpaiTCq5hg1k2MUyRJfkskuNX6JEoIgeDwevJGECKWX3EnkK8A5wr2X0VysmKWBMccoNMlkKD0ZCVRWVoYDW+Mhx6j8SqF3lWAwCHM/7CXpUbxqfIFA4MUXX8THyuVygV/74MGDPXr0sGOP4BjVrLyEEjDHKBdG45e8vLwxY8bEuhUczrnL/v3758yZo/Zs3r1795w5cx5//HGHW8XhxC2iKMp9NIroCnQ1T11d3YoVK+jr7NixY9euXeB5P3r06Jtvvrl9+3ZyHZ/Pp2jkSU1NnTlzpq6wLA4n3mCxW2o6RhGhyNgqjCqmPqQY+ihI7IGg3AUCAft8N4g4PqTT3LwwKi9JjxByu935+flYEaAXpgfVQFEYNR9Kb8AxqiiMkhKt5cWXNHOMUkLprRJGRVHUjKsAx2iXLl0k/wKzMEKotrb2vPPOI7UJSa+2yjEqEVhN+gcRQl6vF28kIYovsTtG8Y4YrwXFLA0swmhKSgrYPM07RqEN8Kpja45RxrdE+U2S3lUaGhrkOZRZiE/H6Lx588COcMcdd3z44YdYKd67d69Nwqgxx2hcHTQKXBjlcDjnKJWVlRs3bqyurk5JSenYseOll15KvkcihN577z36+9APP/ywY8eO3r1729xSDicxSEpKKiwsrKqqoq+WkpLisF108+bNLC/ZGzduxMLorl27Hn/8cfkLd2NjY3JycmpqKowHXC7XJZdccuutt/KQDk6iY0koPSLSZToWSg+NYakfJUdiDyTrR/n9fqjMbjlwGyH36PV6wfhjQMsQRREcoxJbaGFhIRY96fWXYNxrrTAKP5bdMUrPaUDen405RimDdknaWViGDkYpvmRJjlFRFJuamjSFMxBGJQlGEUKZmZmQ7RcXpifPnVoovfx3gcwkCAK7MCoJpTcsjDqvRskvOgtzjJLHwYAwSmruLMWXyN2ZdIyCkTw3NxfuV42NjdFolPTGWphjlPGwy38XfeBGKUFGB7pi/DhGf/755+XLl+Pliy66aOzYsRs2bNi6dSuyLc1oNBoFiVyXYzR+DhodLoxyOJxzjpqamldeeWXz5s3kh/PmzbvxxhtvvvlmPEV/9uxZ/HShs3r1ai6McjjAwIEDFy1aRF9nwIABZjw1BqA7pCSr+f3+Z555Rm0UEQqFUlJSXnzxxUAgkJaWVlZWxj7O53DiGV3CKEUigWGz81XpKfoOBdL9l5SURPo36+vr7RNG1Qq1p6amYmc6Yzw1SXV1Ndy7OnbsSP6rqKho586dSOt+CAoI+cNNCqPhcBiELXbHKBwWxRyjFjpGo9FoKBQiu7RmKL28g1mSY5Q8OI2NjfRjVVtbixVPRFTZAuTZfkltQiIJUeyH8Inb7dZ0sFobSo9i4Tij51WgQ1ZJUgyll5RWY9wsdC0Wx2g4HIb1vV4vNCMQCLB4kNWAUPrc3Fy4Q4qi2NDQQM7rmDzjatcgBb2OUfJw6Wqk3V3x+PHjeOIqIyNDPs8hp76+/uWXX8bu14yMjIceekgQhPLycluF0ZqaGjgvuoovGZ5RcxgujHI4nHOL06dPP/jggzDlBQSDwY8++uj48eN/+MMfBEE4dOgQRFtQgJg1DoeDEJowYcKKFSsob/wul+vmm292skmIoZYuBr/4fv7553SnW0NDw4YNG+666y5rGsfhxAcsJd1hTEgRRp0Jpbew+JLE50UKo2plfyxBMZQeIZSWloaFUQOOUShJLwiCpBoPFKanO0YhlJ4c95oURsnDyF6hjh5Kb94xSpraWltbyS6t5hi1O5Qeii8hBlkc7KJIyTGKEMrJycF6lsQx6nK5JH5GyoUDMhNLuVH7HKOJFUpPVkkikThG9W6WPGtqjlGJIxLOrCiKgUDA2BQCIkLpCwoKyEvY7/eTwqjJMy4IAqRCjlvHKHt/0MXnn3+O7Z/l5eWvv/665vpvvvkmzIvcd999uExf9+7d8SfHjx/XnFkxAMQToDbqGFWYzeBwOJy2iiiKzz//vFwVBb777rulS5ci5pt4okyCcTjOkJeX98gjj6iNDAVBuPvuuyXDdQdg3CNe7fvvv9dck2UdDiexsCrHqMOh9C6XC1xRIBaIosgytYmROEbJUki2arsgF8qFUbxgIPoVJmsLCwslIgiMYymO0UAgAGmUFR2jxjIVksIoqf3RgcMSCoXk71rmHaMUlYoURsnHGSWU3pLiS6R3WFOUB29vVlaWotwM6aGwgEJx81Hc4vAJizDaBhyjlgijaukUjAmjimZkNceopMSW+ZzFGBg3kY5RJJu0MC+Fw+8yLIxqFl+CZV35oykpiS0BfgjLbNzXX3+9du1avDxs2LChQ4fi5fLycrwgiiI5cWIVIIx6vV6WKa6EyzHKhVEOh3MOsWnTpt27d9PX+fjjjyORCEuMAGILJeBwzikGDx48a9as4uJiyec5OTkzZ84cPXq0803q06cPnk6nkJycfNlll4VCIbqdCnPmzBkDUa4cTjzDMiJlCaUHx6jf72dXJ/Wi2BIDKeoQoTsIgoC3AEM+Wx2joClIRpgg85lxjMpng8Ax2tLSoib4gl0UqQijxsa35GE0kGMUKZlG4eAkJycbS+tJyiKS36UZSk9xjJrJMZqSkgK70HzEwCWgJkKBMIqnKCgyJSWUXpdjVLIdkzXKUSwcZ/RKXHQUY95JjIXSK2rTardrSSZZUhg1o+iRwmhGRgbMEEguTPNSOEtGFxK9ofSUEmR04BfZ5BiF/qD50Glubp47dy5ebteu3T333AP/KigogKt+7969ljeSLEnPkpYh4YRRHkrP4XDOIdavX6+5Tm1t7Z49e3r16pWXl0fxlmIGDBhgUdM4nLbDhRdeOH/+/I0bN27fvr22tjYrK6tXr14DBw40bCIwidvtvvXWW2fPnk1ZZ/z48QUFBa2trYxSjq4khhxO/MPiGIUxJ4tjNBqNNjQ0sIdO60JRGJUUNWaRchBxLcNoPzMzE9vxbHWMqtUjAi3DwOwLCKOSykvo3yMfq6uryQBYgBRGLSy+BC5UQRAMVKVHCDU0NEjmoUEQMRwdTGo3FGGUsfiSJTlGBUFIT0/HHQMOmhqakiVMUUgco/IHMSWNBotJHJCoWuZlMueLL5kRRjXTKSQlJXk8HnziDITSG3CMkl+xxDGal5eHr2LcS0lhNBgMwoSB4Zc988IoXbiEq8btduu6VO3uiiCMNjU1RSIRSttqampg5QceeEByR+3evfuGDRuQPWlGdZWkR7G4fk3CHaMcDuccQrNeNubkyZOCINxwww301fLy8n7zm99Y0S4Op63hdrsHDx78+9//fsaMGffcc88VV1wRK1UUc9VVV910001q/73ssstuueUWhJDX64X5dgo+n4/XXOK0MXQJoyyOUWRnNL0djlH4Oj27pVUoVqVHhDCq1zEaCoVOnDiBlyWVlxBC+fn5IDqo+eIhOjs9PZ30moH4GA6HdeVvxYAHKj09XbEojSKUiF1EHBxjCUaRLMco+S+1UHq7iy8hov6SpjCqKVmqhdLL12cpvmTGMWr46Q9fTKwcoxTXsIGsFIqbZRFGJY5RY3kw8Bfhu9hIrniHlJhVje3LMceoXrHebvMy/BBc0oqyJnnMIakoANH08SCMJpxjlAujHA7nHILxjRy/11577bUUQ6jb7Z4+fXpstR4Oh8PO1KlT//jHP0pi/LOysu6+++4//vGPMJodNGiQ5qYGDhxouLorhxOfaI5Iw+Ew+KlZHKPITselpjDK7umOiTAaDAZBR1BzjOp1eB07dgzOndwxmpSUBCZQNWEUHKOkXRQZzY0IgManaz7J6/VCN6MIo046RtWEUVEUNcOoGYGfoyklaEqWao5RuSRkefElq3KMOl/V2m5hFM6vVTlGydsykqmTKSkp8K5i2DFKBs/l5uYi4iavJoyaD6VnvIHrFUZZgh4UIQ+4HQFD5A+hP3fgvy6XS27AB2H0119/hepMVkGG0rOsD91AFMWEqL/EQ+k5HH2Iovjtt9+uXr364MGDra2tBQUF/fr1GzdunOQlkhOflJSU/PzzzyyrIYSSkpKeeOKJuXPnLl++XBJdW1BQMH369N69e9vVUA6HYwNDhgy57LLL9u3bd+zYsWg0WlRU1KtXL4nB58Ybb1y1ahXlHc7tdlPMpxxOgqIpjJICAWVUmZ6e7na78UZi6BhlH7vKy+Y4IIySW7YqxyjE0ScnJ7dv316+QlFREY6bUau/BMIomWAUyYRRvcWOwQCl94uQ00BuoQIdwbBj1OPxQAlsSvElFmFUzWFqAIp5U4KmZAmO0dbW1paWFpYco/JrX1covWQ75h2jiZVjVJdj1Kqq9AihUCgkj1kWBCE5OVkQhJSUFHwnMewYBSM5Qgina4cZDvI+JjGrGtuXRFvXBO4DSUlJ+E5ut2MU78LwfIwa5NlhdIxmZGTIZ+jLy8vhtrZ3796BAwda1UJRFA07RhFCwWBQrxjtPFwY5XB0cPbs2WeeeYas3tPU1HT48OEvv/zy/vvv51HV8c+QIUMWL15MX6eoqKhbt254OTk5+YEHHhgzZsw333xz4MCBlpaWgoKC/v37X3nllfF/f+dwOHIEQSgvL4dJdTlFRUXTpk2bPXu2YrJRQRDuu+++0tJSO9vI4cQAzVB6cqRKsY8JgpCVlYVNRvY5RhVVIVIsMBBKT+YYxQvOCKOSUHoYcut1eIEwWlpaqijNQP2lhHCM4vWxKGNHKL0gCB6PBwslao7RpKQkUnqAHiIpvmSHMKopBWo6Rsm0MLW1tZQco5RJEV2h9Go5Rg3LZA7nKAyFQqTzF/8KM0k55BiY9lA0I5OnIxwOy621Xq8Xd93U1FSTwujZs2fxQkpKSnp6OnIklF6vYzQjIwM/brCFVi2mh5JQgo6kVpvlwii7YxSeqor5uzMzM2ECrLKy0kJhtK6uDm5KenOMIoRaW1v1Tow5DxdGORxWWlpaZsyYceTIEfm/gsHgK6+84na7r7zySucbxmHn/PPPHzBgwE8//URZZ+rUqZIHaqdOnW6//Xabm8bhcOKFYcOG+Xy+119/nTRKIIRyc3Pvu+++wYMHx6phHI59aI5ISaWGrpKAMOqAY5QcehlzjMoNWbF1jBoOpT948CBekMfRYyD+UdMxKhn3mhRG1cpMaQJHhuIYNaNQeL1eujAq0ZfVqtKrhd4bAPqzpmOOPccoYhZG5VeNJVXpE8UxSvbt9PR0rEAZCKWnHCsDjlFoAEUYhWX5WTY80QLAixC2iyI7hVGWVNckUKEuMzMTFEPSQisBOpJJx6iu72oSDofJbTKG0isW0EMIlZeXY2HU2sL05FMD5tjo2HrQ7IALoxwOKx999JGiKooRRfHNN9/s16+fTQVYY0Vtbe2KFSu2bt1aW1ubnp5eXl4+YsSILl26xLpdxnnkkUcefvjho0ePKv73+uuvHzp0qMNN4nA48cbFF1/8l7/8ZcOGDTt27Kirq8vKyqqoqBg0aBBPK8xpq2iOSMmBDd1uA8kNY5hjVCJdUYhJjlE4Mh6PR3JXMVx86dChQ3hBTRiF0ezp06cVTVVqofTk+NZJxyjlRFgijKakpOAtqxVfklj/1KrSq4XeG4A9lF5TGM3MzHS5XLhtdXV1pJdQsib8TErxJb1V6clUjIlSlV5RGLWwKj0yJIxqOkbJsyY/ywaymkqAHKNwW9AURs3nGNVbfIkcfVOitg2H0pMbtFzjk9zqGUPp1QSH7t27r1mzBiFUWVlJMc/qBeLo3W43TjWrCSWPc3zSBoXRpqamTZs2bd++fenSpQihSZMmde/evXfv3tj7zeEYIxQKLVu2jL5OU1PT119/PWHCBPpqkUhk7dq169evP336dFJSUseOHS+//PILL7zQusZaxsqVK99++23yfr179+4vvvhi9OjRd911l8mXv1iRmZn56quvzps3b+XKleTAKTs7e+rUqVdffXUM28bhcOIHj8dz+eWXX3755bFuCCexSZT3Ul3CqKZjFC8kaFV6aH9LS4tNmdFg6Csf3BpzeDU2NoJ+UVZWprgOOEaDweDZs2fB/wVbgPc9a0Pp4ccaCKXHC3aE0iP1oslqChdLjlHGIp9qsIfSa3o5cVILHAdNOkYpOUbljlHDVektkckcdoyS4x0I+7U2x6iBUHrF3mhAGDXsGIVQerhj0Isvud1uwyNEq4RRtfUtyTFqucYn6QyMofQUxyheaGhoOHXqlKTiqGHAMVpQUMAotkpC6S1phq0kpK5Boa6u7r//+783bNgAnyxYsAAhNHDgwGnTpsEMNoejF5xfUnO1bdu20YXRw4cPP/fcc6RdcdeuXcuWLevfv//06dPjym361Vdfvfrqq/LPRVH88ssv/X7/o48+mqB1mdPT0x988MFbbrll06ZN1dXVycnJnTt37tu3L08byuFwOBwLSaD3Ul3FlxiFUYcdo8ZyjMqLL5H6XUNDg0RAtASKVghKXyAQYPf7QIJRpC6MkvGPp06dkvwuMnOIxDHqdruTk5PxMTeQqRB+rN7JAEoovfmq9IgQO9SKL6mF0ttXfAleRM3nGEUI5eTksAij5LUv6XLGcoyGQiFSBzEvjDqjqpB7gcuQPZReV45RC4svkV0FlmEyAy4681XpwScId62GhgboMOZTyiL9wijcB0iVkNJbDFelt1Xjk5waxlB6tXmmrl27QimqvXv3WiWMgmOUsSQ9+veewIXRGPDNN99s2LBh0qRJw4cPxwUZT5w4sWrVqgULFnzzzTfXX399rBvISVQYX+5hVk2Ro0ePPvzwwxBSRLJp06bp06e/+uqrlqdzNsbp06ffeustygpr1qwZOHBgQudUzcvL4/5QDofD4dhHAr2XUipTYxIrlJ49xyjFMYoQ8vv9dgijFNcPCBmiKDY3NzOKiT///DNe8Pl8ElkTyM7Ohqya1dXVFRUV5H9JYVTiGEUIpaSkSBJHsmNrKL0djlE1hUtNGI1tjlGKZAlXIimMyi9eyYyCohtRl2M0HA5bknEyhqH04BhlF0ZZjhUcCgPFl9Qco2T3ozhGDRdfkgujcGFGo9HGxkZ8XZtPKYv0C6NkjlH4kHLKDAujtqbL1CWMUqINMCkpKR07dsSZVSorK6+44gpLGqm3JD1KQMeoKbd/vFFXVzd//vxRo0ZNnjwZv30ihNq3bz958uSBAwfOnz8fLh4ORy+ML16U91dRFF966SVFVRRz+PDh9957z0jjbGDx4sWa9/1//vOfzjSGw+FwOJyEI7HeS3VVpaePKuMhlN6AMCqvSo9s03Yprh9ygpxRy2htbcWJGhBC/fv3V1tNEAQw+8gL00OC0czMTLnFD8QOveNbURTNVKXHC5RQepM5RvGC3uJL9jlGLcwxigglq66ujiWUHskuf8Oh9NY6Rp0vvmSTY9RAjlHF3qgWSm958SVRFOWh9OQdEq5NShJbdnQJo2TNIsZQesON9Hg84KS2O5SenmOUXpUeA9H0lZWVplv3/wOh9OzCqMvlghPKhVGnwVEkAwYMkP/rt7/9LULo2LFjDjeJ02bo1KkTy7tOz5491f61efPm/fv307++YsUK+zL96wKsBxQOHjxYW1vrQGM4HA6Hw0k4Euu9VJcwyhhK39DQwF4ESRe2htKnpqbCZuljVMNQXD/kTDyjlrFy5Up4exw/fjxlTRZhVG4XRYYEHUxLSwsIRoYdo01NTZKOZFVVerwQP8KotaH0io5RSvElJLtwdFWlJ1Ut8pAmnGPU4/HAUbI2x6hVxZfIZUVhFNpvuJgbpqGhAbYvL76ECGHU+VB68vZIWu8p145hx6ggCOz5f/XC7hiNRCKKJlkJ3bt3xwv79++36hFsIJQeOT63YZI2JYxWVVUhWiWxgAAAIABJREFUhDp37iz/V2lpKSLKNXI4evH5fIMGDaKv43K5hg8frvbfTZs2ae4lHA5v2bJFd+NsgIyoogCv0RwOh8PhcEgS672UPceo2+2mV5gBOSYajdokLNoaSo+IMadNjlGK64dU+liEUVEUFy1ahJd79+4NXiFFIM0o2H8AtZL0GMPCKNkBIDyZERBSRVEkt1NVVQXNsCSUXi3HqFoovURrsDCUnt0xyiJZ5uTk4AXSMSrXrSgzCrqq0qsVXzKslMEJikaj7AKlYchgcL0x3Ug9NS2JVcWXyNNhayg9OR4kc4yCfVLuGLVEGGW5gZO3R7uLLyE7ZXr24ks4qSteViu+hAjHaCAQOHLkiPkWNjY2wtFmd4wix+c2TNKmhFGsZCveuHGAM0jdHI4BbrvtNvor3fjx4/FQRxFGDTFOpEbGGfg4yYjK4XA4HE68kVjvpZpCALt3jByw2RRNr9gYO4RR5x2jZFImFmF0/fr1J06cwMuaWWtBGJU4RoPB4M6dO/Ey3TGqV14hU0gZdoyifz8Rf/3rX7E6gItn6tomid4cozAf4IBj1Noco2fPnmUMpZfs13COUdgdabXTi62lwOWQqiJZSIrx6+TUkdo6dofSy9VJk6H0kGBUEAQIpXe5XHCbskkYZTnsasKoHTlGkZ3mR8mpIdVPCaRmSrmdlpWVwQ+0JJqenEjTJYwazsESE9qUMIoLfSqW+MQf4hU4HGMUFxc/9dRTasb1q6++eurUqZSvM85NmXmcWEiXLl0010lPT7eq1B2Hw+FwOG2MxHovZQ+l1yWM2uS4THTHKIxv5W+VHo8HWsKiQn7++ed4obS09JJLLqGvDFGQNTU15CH68MMPscEZIdSrVy/5F2PiGFWM2N27d+/333+Pl8eMGaNrlC5B7UeZCaV3zDHKWJUeL7S2tkIELj2UXvLTDFelJ0VGssy9Lhwu3kJKe3BMDOQYZRFGTRZfEgRBsYWUUHoDZdMQUVXY5/ORpwNu8vJQektyjOp1jKanp8N37XaMWi6MSjpDOBxW6x7k84jiGHW73TCQ37t3r/kWgjCalJSkOHOmBneMcjhtloqKirlz515zzTUwUSYIQnl5+WOPPfbggw/SI8s6derEsgvG1eyGkhMAGDp0qMn3Pw6Hw+FwOPEAGSasaFehVLWW4PP54PXAbmGUbIwgCGqePgqKkaqUeujmCYfDMKRXHNyym7wqKyt37dqFl8ePH6+pQIFjNBKJQJDsgQMHIBj/ggsuuPLKK+VfNGz8gQOYnJysd+5fMWL3/fffx/3T5/NNnDhR1wYlqFnAFLsEIhyjlFB6x4ovsXjfQBhFCMFFLZeE1BJWMu5Fvh3SMWrG8GFrKXA5iqH07HcSXY7RcDjMGKSvpk0rmivltk1YMOYYVcuwIS+MBlqemTOuOT9HAlq/IAjkKaNcO/EZSi8vw6j23IHPSdOuItbWX4Lolry8PF1j/8TKMcpFjf9DFEX7qmeS4KdpMBjkhWsSC3y+kpKS/vM//3PSpEmnT58OBoO5ubn47VnzbPbp08ftdtNv9EVFRcXFxfHQMXr16lVRUQFv23IyMzPHjBkTD02Vg19impubjc2OchwGv6yHw+H47E4cOfgpVl9fb9gGwnESfL4CgYDlL6bkqJtjOQ6/l5Ji6K+//io3iIHE6Xa7NW/XGRkZeJ2TJ0/acW+HQbjk2eFyueAGxbhf0Aui0Sh8BYZzZ86csbz9dXV1cLQFQZBvPyUlBUeg19TUUPZeW1v78ccf4+XMzMx+/fppNpWUA/bt2+fxeCKRyMsvv4zfTj0ez9SpUxV7HWiCfr9f1wGBEXV6erqBI5meno4PxalTp2pra3/++eetW7fif1177bWRSMTM2QHNq7m5mdwOqVOQn8NbpaTXkUessbFRfqdlfy8FTScQCNB/GqgzoVBIbU3FZ7R8fcnvJUN0WfYiXzkYDILTMDk52fA5In1zNTU1ZqyILEA73W43qD+aJwJQ6x4k5DDw1KlTdG0LA91JIh243W58wMl7nfxuBiJ+a2trTU2NXuEejOSZmZnk3sGI+uuvv+LPIWmG4j2NEbgkW1paNDcCoi0uGZ+cnIxPQW1trdp34RwZuHVAl9B7D9REfss9fvy4Ym+H0+Hz+eivByUlJXjh8OHDp0+fNpzOAnP06FG8kJubq+u3w4ND8kSOz/dSLoz+H6IosrvlzRONRm2q1MmxCUn3ACc5Y7fJysoaOXLkl19+qbaCIAiTJk0ynFz85MmTK1as2L59e21tbXJycocOHS699FIzps5777139uzZiqUhfD7ftGnT0tPTnbxk9BKJRNineTkxx+E7MMc8DlRCSCwaGxtPnTqVlJRUWFjIMtpxGH5LTDgcviuSA2ZF+QY+dLlcmg2DUXRdXZ0dvwK2mZSURG4f2hYMBhn3q7gpGPb7/X7L20+OD71er3z7pMmLsveTJ09CYc+rrroKMbyRer3etLQ0rJ5UVVWVl5d/8cUX8KZ3/fXX5+XlKW4EXiZbWlp0HRDQ0429NIIwWl9f39raCtkncnJyhg0bZvLUgFgQCATITan1LpCzI5GIYvwyQigajaq1iuUmDFJmKBSi/zr4ryAIamvikHDJTunXr+T8suxF3vhIJAIKncfjMXyayFC8pqYmu++HoMOS6SzC4bDeOwnlWJGDssbGRhYfLihHkt4Im2ptbYXPoSu63W78oWSPeouVQY7R7Oxscu9kjlH8ORy95ORkw2eKvf8jQopNTU0VRVHtciZRO5gsGL4HaiI389bX1yvuAm6nPp+P3oYOHTrghXA4vH///q5du5ppIYTSqz0g1KCflHh7L+XC6P+RlJTkjPchGAw2NTV5PJ44HDhxFMGvsAa6hyiK27Zt27Zt25kzZ9LT07t06TJo0KD169fL1xQEYcqUKcOGDTPWwi+//PK9996Dm0swGNy/f//+/fvXrFnz+OOPG0vAlJOT8/LLL3/22WdLliyBFFFut/vSSy+dPHmyrgwjDtPU1BQMBtPS0uyeW+ZYQjgcbmhocLvdessycGJFfX19NBrNysqi5w85d9i2bdvf//733bt342FzUlJSnz59br755u7du8e6aQgh1NLSEggEUlJSeLm8xMLh91Iy/jEjI0OeDhJGOKmpqZoNy8vLw8VwW1tb7fgV8MKTmZlJbh/GrikpKYz7hd/l9XrhK/Di1NzcbHn7jx8/DsulpaVyqYI8+Ip7x++l3333HT4OHo/nuuuuY2xnYWEhVkJxoeEvvvgCf96tW7eJEyeq3dUh5D8Sieg6IHCmsrOzDRzJ7OxsPCYPh8ObNm2CMlOTJ0+GfKmGgfy/oVCIpRdBggVRFMnPyVtrXl6e3KfJ/l4KTQqHw/TDBSpDTk4OZc2srCwwb2Ly8/Ml65PaWVpaGvlfmAFlOX1k46EjSTaoC9Lmxn5FGwaEb5/PB7uORqOM+4Xz7vP51L5CemDJGw4Lks2CqJqcnAyfy3sFeZkYOIYwACwuLia/C5H1gUAAf27ySsfArU8QBPaNpKenJyUlwQFxu91q3wVhNDc3V28jQbex/NEs9xlI7jAA41WPEMrOzvb5fGC3HzBggJkWgju1pKRE128ncw+SX4zP99I2JYzecccd8+fPb2pqkguOOEZg0qRJ9C2YtBkzgm8cSUlJVu2usrJy6dKlO3bs8Pv9GRkZFRUV11xzjWLqdI4ugsHg8uXL161bd/z4cVEUS0pKBg8ePGrUKEa57eDBg3PmzDlw4AD5oc/nGzZsGJZK4cMuXbrcdtttF110kbF2Llu2bN68eYr/Onz48BNPPPHaa6+xJLwPBAL/8z//88svvzQ1NWVnZ19wwQX9+vWbPHnyf/zHf+zfv//MmTMZGRmdO3eOf0Efv425XC5nrmiOJZipW8pxGPz273a7TSZTaxv8/e9///DDD8kw5Gg0umXLlu3bt999992jR4+OYdsweCTAb4nOk1jvpZJ9yXcN416v16vZMJBIGhoa7PgVMJJMSUlRrL9EGojowMXrdrvhKzCEs6P94A9yu92ZmZlyHQ06TEtLi9rem5qaVq1ahZeHDx/OPgVeXFyMhdHTp0+/8cYbcH+YNm0a5f0W1NvW1lZdBwTCtDMyMgwcSdAiz549++233+LlTp06XX311eZzucCPCgaDZNsgpC85OZn8HJSXSCRCfg4tIdUZEvb3UpAJQqEQZWVRFOF6lFwCEnJyciTCaFpammR9UpuQvIyBEJOamqrZeHJyBTo5yxfVIAcv4XDY7vshqGapqalkwkrG/cIZ8Xg8al8x8IvUNgs9LRqNwufgGE1PT8cfkp4DST9nATpPfn4++V35HR52beaMq11iisAefT6fIAhkWljF74qiCA8O+VWgCdwe2bsEI/IQjaamJsVdgEk2KytLsw1du3bFiUf2799vssGQtaCoqEjXptRuaPH5XtqmhFH8eKO8gJopXBifRKPR+fPn/+tf/4K3usbGxqqqqlWrVl1zzTX33HMPr41jmAMHDjzzzDOnTp2CT+rq6nbu3Llo0aLHH38cUhqrsWfPnkcffVR+p2tsbFy9evWkSZMGDRpUVVXl8XhKS0shD4gB6urq5s+fT1nhxIkTH3744d13303fzvfffz937lwyvOuzzz4rKSl58MEHKyoq4sT3xOFwOHHF119//be//U3xX5FI5K233iooKNCsE20JW7du/eabb/bt2xcMBvPy8vr37z9y5Eh5wWuOkyTWeyn5xqiYKIOltAgABkOb0qRCC9UKklhVlb65uTkcDlv7Og0mLLK4EAkIdpR6KatXr8buM0EQxo8fz753qL+0du1aOIw33ngjVDFWBMa3erO3k8Kori9i4ESsWbMGWnvbbbdZkuFaraKUYpdA/y67i6JIRo4rrm8AUhiKRCJqGwyHwzD0oysLIGAB8to4asWXSPmVRb8g1wEFx0zwVnJyclJSEhTnMLwdRsjKPOxVsACWqvSkBs14KaltVrGF8uJC5B711l+KRCIQu52Xl0f+S158yZJyW2T9Ls2VSfEdEQdErasEg0G4aliSGEiwryq9vCfAM0Ltc5a3u+7du2Nh1GT9pZaWFjjLen360A95VXqnweW8Dx48KP8X/rC4uNjpNtnM22+/vWjRIsXiocuWLXvttdecb1Lb4MSJE3/4wx9IVRT49ddfH330UUhCrEggEHj22WcpD7xPPvmksbFx6NChgwYNMqOKIoRWrFhBxmUosnz5cvrTd/Hixc8//7w8m/Lx48f/8Ic/QAYrDofD4QAtLS3vvvsuZQVRFN955x27k7G2tLQ8/fTTjz766MqVKw8fPnzy5MkdO3a8//77U6dOXbduna275tBJrPdSUoJR7LS66lODMGpTVXq1xsCvsEoYRTYUpodjoja4BWFU7QUvHA5/8803ePmSSy7R9SYJI1s4yyUlJZrmZRA79AqjcPRMCqPQ2j59+vTv39/ApuSQFZPJwg+wL4kUReYZIDuY2voGUHRryiGlGfr1KI97pVelJ699ci+GhVEzMhmysxS4HOjbqampcK5JdZgOHDqKPk4eDc3hm2Szkt4lL8JOdmM4y2SmDr0X79mzZ2GDEmEU7vANDQ1YiICNO1aVHoRRPPUIXUXtwiG7kAG93j6Nj70qPTw74PhTAFfTiRMn4Ho0ABTQQyaE0YSoSt+mhFE8BbpixQr5v/CHZWVlDjfJVnbs2LFkyRLKCitXrty4caNj7WlLvPHGG5Q7SHNz85w5cxT1aMyKFStqamoo2xdF8cMPPzTVxP9lx44dmusEg0HKZNH+/fv//Oc/q/2ccDj8wgsv2DSw4XA4nMRl/fr1mopJVVUVy13aMOFw+PHHH//xxx/l/2pqapo1a5bivzjOkFjvpeyOURaJBHxqsXKMsk9IOC+Marp+NB2jGzZsgBDX66+/XtfewTGKEQThv/7rvzTFbsPCKIz5WXI6yZEcIkEQ7rzzTgPbUYRUcEixQ9Mxiv5dGAXxyLxjVB5tqggp/eh1jMolITIMmbxw2PeCkdT5UdudLpx0nEHflmQLYbyZsOjjZLIFRmFUrTfKHaOKwp/X64Uv6nWMkkkYJMIoOWOBr3G5WdUA8KNYxGj4OfiGyeIYheW4cozKe4LaQ0fXPBOEt4qiuH//fsPNA2FUEAS9YS5w0PQ+OGJCmxJGs7Oz77jjjg0bNnzwwQeQnPvEiRNvvPHGhg0b7rjjDvmzIaH5/PPPNddZuHChAy1pYxw4cAA7zyns3bt39+7dav9lGYju2bNH7tA0AOOQg7Kvjz/+mJwnl9PY2Mg7EofD4UhgjE4yGcRE57PPPtu5c6faf0VRfOWVV9Risjh2k1jvpeRgXnFQCqNBFomE9BPR3zEMEI1G1YTRhHCMag5uIfpVUToRRXH58uV4uby8vHfv3rr2LrH8XHvttSxlCQwLo3D/MSaMSg7RlVdeSQ/51wWp4JC/Sy14WU0YZbEKMkLqNYyOUfr1mJubS/6plhxc0amnVxi1wzHqpOOM9DyqpRegwJhRQW9WCs1Qejhl5AbJww571CuMQj2MpKQkydOKvDCxadTaUHqWY65XGI1bxyjc5+EmqfbaBs8OllD6/Px8uPz37t1ruHlQkj4rK0uvoJxYofRtLQHlkCFDduzYsWDBggULFpCfDxw48KqrropVq2xi27Ztmuvs3LmTkqGGo8iWLVsYV1N7lVSMwZcgimJVVZX5qnaMoUlqqwWDwZ9//lnz6+vXr586daq+lnE4HE6bhtHuoXcowk40Gl20aBF9HZzYevjw4Ta1gUMngd5LyTBhumOUZWgEo2hRFP1+v7USMEWvsUoYTUtLc7vd+DhYHjQDg1u1cEhwjMpDLBFCW7ZsOXbsGF7WlV0UQzpG27VrN2XKFJZvgdgRiUR01R4hw5N1tPJ/Icf/ycnJkydPNrARNUhxhBy3qwmdDgijdjtG1fSg5ORkfATUhFGWq94Ox2hMQukl9awYhVFGT31qaiq+pTAKo2rJnemOUYkwik8H40sLAI7R7OxsSd8m711+vz8nJwdCDy0RRs8dx6goitATioqKsLVTcTYuEonAE4Exg3z37t3Xr1+PEKLYuTQBx6jeOHqUaKH0bU0Ybdeu3SOPPLJp06bt27cvXboUITRq1KgBAwb07t07/ktp66KlpYXl7hYOh+vr6yWzhecULS0tBw8ebGpqysnJ6dKlC/ner4akeqOB1RhTwlsiWPfs2VPT3+p2u9WqRZ05c4blVlVVVUWmmedwOBwO47PVvkfwgQMHWCSbrVu3cmE0ViTQe6lm6KixHKMIobq6uoQTRgVByMjIwNE2lnuuNV0/9ByjUJy9Xbt2Q4YM0bv3lJSU7OxsHG/0wAMPMOqVpNgRCAQMCKPG5BLyEF177bUGRuYUNIVRSo5R0gcNy+ZzjDI6RtklS4kDQ02mhM5PbtmSHKNWhdI77BjVzLksh9ExCheC3lB6TceomiPSvGM0Pz9f8i9cOA6LoX6/X82sqpdz0DHa3NwMmnJhYSFFGPX7/bAmS45RhFBFRQUWRnft2mV4IA+OUQPlIp2c2DBPWxNGEULp6elDhw4dOnTo/fffH+u22Ag2+bPcqY2FrrQBTp8+/de//nXt2rVwb83MzLz22mtvvPFG+jsEmaaaAuXAlpaWwk1EjaSkpPPOO49lR3RGjBjxz3/+k94TLr/8crXWsijFCCFBELgqyuFwOCR9+/aV2ADVVrOpATBoocM428exiUR5L2UvvsQikeTn58Owubq62tpsqhRh1ECOUbUEkVlZWVgYdT6Unp5j9Pjx43hh8ODBxqbYCwsL6+rqrrrqKvYqRhJhlDFcKRKJQLcxJpfAjnw+38SJEw1sgYKaMKo3x6hNjlFLQukZhVFFp56ZUHr4rlWh9A47RjVzLsthrMGlKysFWfpJM8eomjqpWcxNDSiYIZ/fdbvdaWlp2MDo9/vVzKp60TWzpSaMshRfih/HKHlSYOJH8aFDTtExOkYrKirgu0ePHu3YsaOBFppxjBYWFvbt29fj8SSES68NCqPnCIIgdO3adc+ePfTVOnXqZODKT0Rqamp++OGHI0eOhEKhwsLCwsLC+fPnS24rfr//o48+2rhx47PPPku5oUARNzqU1YYMGaJZyb1v377GCnRKKC4unjRpEqWUU05Ozq233qr237y8vNTUVM0nZWlpqfEmcjgcTlukd+/ePXr0oD+IL7744g4dOtjUAEarF+NsH+cch734EovXxuPxZGdnY2GRrGlrCRS7nFWOUURIcvZVpVdz/cCl3draGo1GJXPYIIzqKkZPUlhYWFVVpauKkUQYZfyWeR8ZvK5PnDjRktdmEqsco85XpTfsGFU7C4pOPTPFlwCrQuntdoyGQiG4FXi9XgM5Ru0QRiORCJgENavSkxskD7tejypAcYwihDIzM7EwWl9fr7Zrveia2ZIIo5pV6ckuZKCRNnVFcvYLlMeWlhZ5xhIyQojRMdqtWzev14tvbjt37jQmjJpxjA4cOHDgwIEGdhoT2lTxpXONq6++2pJ14oTGxsaffvpp9erVmzZtolSElxOJRP7yl79MmTJl7ty5y5YtW7ly5UcffTRnzhy1F9nKysrnn3+eUlO+b9++mld+bm5uv3791P571VVX0UfCLpfLwjRJv/vd76677jrFf+Xl5T3zzDOKzzOM2+0eNGiQ5i4uv/xy4+3jcDictgiu5kwJiM7MzLz77rvta0CnTp1YDEqdOnWyrw2cNoOaGw7QVZUeEWM8zRgavTgQSo+Ikae1wmg0GtXMEweTGaIoSrQMv98PviHDwmhRUdF9993HOLTGxFYYbdeu3bXXXmvg63Q0HaOMxZcYY6hZMBBKT78eMzMzyVbpcozqzcmoKAiadIw6Foor6asGQunVkoFKoJdWk0CeDvYcoy6Xi+wVhh2jIIxKStJj4PbV0NBgeSi95jGPRqOwU/wD4btqwiWsn5yczBgxSWJTVgdSGCUTQMtTuIAwiu26LBt3u91g5Nq1a5eB5oXDYSjgbG0mkziEC6MJzIgRI3r27ElZoUuXLqNGjXKsPYY5c+bMSy+9dNNNNz3++OMvvfTSY489NnHixDlz5rAUbY9Go88+++ynn37KHjOFENqyZQvOuKGI2+2+++67KZHjgiDcddddlLkmt9v95JNPqpnGBUG499571ZJ+GgC35/nnn+/bty88yPPy8iZMmPDOO+907dqV/vWbb76Z/rqTl5dnx/soh8PhJDodOnR47rnnCgoK5P8qKSl5+eWXi4uL7dt7ZmbmJZdcornaFVdcYV8bOG0Gl8sFbz6KioyuUHoUI2HUQCg9SA+SoTIM+60tvtTY2Ahz85qh9EgWTQ92UYRQ+/btjbVhxIgReie8YyWMer1ej8czefJkOwLg3G43dBhFYVTSJdSEUbVsDAawvPiSIAikAk4pviTfMnkR6Q2l19wjI46F0ks8jwaKLzGmmtVVlZ48Beyh9JKLhZ6agwLk4VEc0pJ3SKtC6dlv4GRqTkkovVpX0RX0IMemrqgYSo+UJuRAKsUJXhm3f/755+OFnTt3Gmje6dOn4TgbcIwmFjyUPoFxuVxPPPHEE088sW/fPvl/y8rKnnrqKfbk6LHi0KFDM2fOlGig4XB45cqVmzdvfv755+nWy4ULF1IkTgorV64cPHiw2n8HDRp0zz33vPPOO3LHgSAId9xxx9ChQ+nbb9++/euvv/7222//+OOPks/vvvtu9qRO7PTt27dv377BYPDs2bNerzc7O5vxptm+fftHHnnkxRdfVHwI+Xy+J5980lgtUQ6Hw2nzdO/e/d13312+fPmPP/544sQJQRA6dux46aWXjhgxgj2sMhwOb9q0adu2bWfPnvX5fD169Bg8eDBLcZ5bb711y5YtFBvI8OHDy8vLFWtbczgS3G43HjrSQ+kZ3y3B/GK5MEpJsGihY5T0QxlrpyK46hFGsyo9kpm8Tpw4gRe8Xi8lHoiOAatprIRRhFDfvn2HDRtm7LuapKSk4DA1sqlqMdEO5Bh1u92QnJfFMepyuTS9bzk5OaBwqenLioKU3uJLZOMBq3KM2h1KL+mriqkSKIiiyNgNdAW2Uxyj8lB6EOwkx1yXRxUIBoNw61N0jMK8jsQxakkofTQalWcRISFFXkkovWbxJWOzLOT2LaxIDCfF5XKRt3T5c0czObUiIIyePn369OnTesVNMhMOF0Y5cU1OTs6cOXMWLVq0ZMmSX3/9FX+Yl5c3cuTICRMmmHwUOUBzc/OTTz6p5gw9c+bMk08+OXfuXLUfEgqFPvnkE2O7xkXfKIwZM6Z79+5/+9vftmzZgh9LSUlJffr0ueWWW+hGXSA/P/+JJ56oqqravHlzTU2Nz+crLy+vqKgw4N5nx+PxkD58RoYMGZKbm/vmm28eOnSI/PzCCy+8//77DVsSOBwO51zA6/WOGzdu3Lhxxr6+a9euV155BfQOhNDSpUvnzZt3xx13jBgxgv7dkpKSxx577Nlnn1Uc8PTv3/+BBx5gdLtwOIzCKOOoEgZRMXGMWiiMmneMNjQ0/PK/7N27Fz5XG9+Ss9FqjtGioiInq2K6XC6Px4MVB4eFUXoUl0m8Xi8WRllyjGoKo+ZzjCKEPB4PbgxFCoR/sVyM2dnZsKyZY5S89snYcMZTAPcQwKocow6H0qvlWlWDomBK0JVjlNw1e1V6yVk2FkpPVndUFEbJZCOkWdXMOFeS6prSveXCKHvxJWN9EhojimIoFLLKww4/JDU1NT09HWpryx2jmsmpFenZs6fL5cL9c+fOnXonmeDx7fP5WGbrExoujCY8Ho/npptuuvHGG0+dOuX3+zMyMoqLixOlgPjChQvpKfmrqqoWL1580003Kf53+/bturKRkrA8G8rLy5999tnGxsZffvlFFMWKigpKJXo1iouLEyKhQUVFxdtvv71nz57du3f7/f7c3NwLLrjA2jJQe2TVAAAgAElEQVSyHA6Hw5Hw888/P/nkk3IdqqGh4ZVXXqmtrVV7AgL9+vV766233n///fXr18N2CgoKbrjhhtGjRyclJXFhlMMI3W5pOJQel+awcLaeIozCmDweHKMnTpz47LPPdu3adezYMXlq+6SkJDOh9AZmwU2SkpISE2HU1l8KEgnZVL1V6S3MMYoQSk5OxgoOi2OU5WIk6y9p5hhVFEbZAxCTk5MlzTZ54cPXnXSMer1e8oJleYaSx83a4ktqm6XkGJWcZdijrlB6TWGUnDqC32LydJO/kX4Plwij4XAYDohNjlHyqAaDQTuEUUEQMjIysGOMEkrPWJIeNtulS5fKykpkThht83ZRxIXRNoMgCMXFxbbmMrOD1atXs6yjNiysqqoyvGv2+COfz4f1QQOqaGIhCELPnj0Z/bAcRcLh8Lp16zZv3nz27NnU1NRu3bpdccUV58KzhMPhGMDv97/wwguUML2//vWv559/fkVFBX0755133h//+MempqbDhw8HAoGCgoLS0tJEmSLlxA9yCxKJYWEUIVRdXW2sHq4iNuUYVRNGm5qawuGwATPghg0bli9frvgvn8/X9/9j78zjpKiuvn+ru6dnGmaBWRmGbUBm2ERBUAQREFwAFY0BVDBoDImP+hqJGjWCuD6QSB41ap6YGI0aV9wVhWgwhrjAoIAyEREQZJlhmGF2Zqa7p+v9474576WWW7eqq6qru8/3Dz5FT3X1rapby/3d3zlnzBi9izQYDIJvSKFlgLXc/ToYWVlZdKwuLozqVYPxDpqGRLNV6W0XRumCSI5RkaPKOkZNCaNmL3mipQna5RgV73XWUIj44XDY5/PRsyxyMxEXRk0FtlvLMWqvYzQjI0NzCoedOtIzq5qFPXSRSISTyU0hjLa0tBgWX4LP43SMEkK6urrskgXgpNDTxBFGwTFqShglhIwcOZIKoxbqL4GDLR0GsyiMIgmjs7Pz0KFDhqt9//33eu+j8Xj1ncjyiaQ51dXVDzzwQG1tLXyyYcOGZ555Zv78+QsXLkSRAkEQBW+99RbfjCbL8vPPP3///feLbK1nz56GEiqCcICBty2h9CUlJZBw0CFhVJ1g0Ykco7Ist7a2srY7Qfbu3cv+t7S0dOTIkSNGjBg5cuSAAQP4bwWhUIjeHFgtQ5ZleHN23wxhyulGgcZ7NruXpiExsY5RuL5EHKMiF2P8jlFxc5xaQrWr+JJrjtFgMEjPo9/vFxdG2f7A7waWiy9ZdoxayzHKlqTXvFnBHZINpY/zSte7xNSAMJqRkUEPhdM5RhWOUQtb0IR1jBJupAJIpWaF0VGjRr3++uuEkO+//76lpcXU18ExmvIl6QkKo0gCEbynyLIcDoc1hdH+/ftb++lgMIhl1hF72bZt29KlS9VvsdFo9Lnnnquvr1+yZElCGoYgiGcRKR64bdu2jo4OrICHuADHbsmWFhEcVQaDwV69elHzCz9vklk4CRYt5BjVKynOjh5bWlosCKP79u2jC9OmTfvpT39qags9evSgA2PWGFVXVwf7nkBhVFxesUsucQ7NStNmhVF7c4za7hh1M5RefQTiPPXu5xiFBkNaALOh9PzDBafAbPElRW9UF1+CXdATRq2F0mvG0RPmDhmJRKBeSJynmz10/MMO+wJ+WMMco/Y6Ri1sQROFY5SVmxVrwiemcowSQkaOHEknKWVZrq6uPv3008W/C89uFEYRxEFycnKysrIMp8uys7PZXEssI0aMKCgoYHOgCHLttdemgyEccY2Ojo6VK1dyHuHr1q0bM2bM1KlTXWwUkhxs3bp13bp133zzTVtbW35+/kknnXThhRdixbM0QSQhTDQaPXz4MGZ8RlyAI4xGIhFIuieukpSUlNABMxtLET8cvcaJHKNEa4xqiCzLIIyOGTPGrK6qqWVAglGSiGGqZjpOPkkkjJqtSu9cKL2IY9RUkDvb9/ROhGYaDWs5RhWfJJ1jlBVG6YJZYdRlx6i6+JLimMM4OhqNRiIRwbMJ4+v8/HzNFdg7JMhncZ5uC45RtTAajUY1K9rHWXzJaccohNLT/3KEUVNV6QkhvXr1Kisro48PU8JoLBarr6+ny+mgnDhYHRtB+EiSJBLPPn78eL0/+f3+RYsWmfrRUCj0i1/84rzzzjP1LQTh895778FkqR4vvPCCO41BkoXOzs4VK1bcdtttH3744aFDh1paWvbu3fvmm2/+7Gc/e+WVVxLdOsQNBEfRtriQEMQQjjDKjgPF4xBBvLO3MD1Hr4knx6hiIN2zZ0+4Qi3UX6qpqYFxuIWJDaj/qymM5ubmul8g2EIofRIJo5qOUU6OUUeLL9EFJxyjehevZhoNW3KMJq9jlJ9aRIGFHKPRaNRwy6aKL+ldbmzEibjdW9wxShhh1N4co5w1OcKo3nc5oQYiOOQYFQylj0aj7e3tdNmsY5QQMmrUKLqwfft28W+1tbVBD9TTx1MJFEaRRDJv3jx+iiVJkubOnctZ4Zxzzrngggv0/tqvX7+ZM2dWVlaWlZWdeOKJP/rRj5588slzzjnHeosRRItNmzYZrrNv3z57LTNIUhOLxe6///6PPvpI/adoNPrEE0+sXr3a/VYhLjNgwADDdTIzM9Nhoh7xApwEnZx6RxxAGLU3lJ6jCtmYY1SSJCivYcExCglGJUkSudIVaKYFhMpLCam2mto5RlmlAzoYxzHqQig9RzUzJVmyxZesOUYt5xgNBAJxHhPDxJF2oe6rIicCsFCVnghcSuyNV9wxqld8iVgSRvXqFTstjLKmbDWgJ8IUEftdzd6SFI5RvVD61tZWCNqwIIxCAvpdu3aJq7psG8wmNk1G0IOAJJKKioqFCxc+++yzeitcddVVgwcP5m/kuuuuGzRo0NNPP81evX6/f+bMmVdffTXmZUNcQNALU1tb26dPH6cbgyQFa9euraqq4qzwl7/85bTTTrMwnEaSiMmTJxsWCZ0wYYI1dwOCmIUTOsp+It4hQdN33zEavzBKCMnLy6OFgOMRRktLSy2IBaBlsI5REEYT8i5hKgSYYletaufQDKUXyTHqQii9iGNU5GLMy8vz+/1+vz8YDOoZjdUJK4kdofRxBlaT45VrWZadK2SqVs3gbJoNpRcXRjs6OvjFzTk5RtXOYsPiS8RMmtGjR4/SBT2rYEZGRigUokorFEyP84zH4xhlrwW+MGrtnSoQCPh8Pnrh2+gYhTuPwjGqeOiw/zUbSk8Yx2g0Gv36669PPvlkkW+1tbXBMr+jpgYojCIJZsGCBT179nzqqacUt5isrKyf/OQn559/vshGZs+effbZZ3/xxRd79+6NRCJ9+vQZN26chTT5CGINwVdGVDcQ4I033uCv0N3d/fbbb1933XXutAdJCLNmzXrzzTc5mUaDweAVV1zhZpOQdIZjt2THmRYco01NTZ2dnXapY+7kGCXcdG+GgDBqLUGwZo7R/fv304WECKOaUed8kj2UXm0ipjVMiCuh9HblGJUkac2aNfx1NK/9+EPp4z/v8NO0/pt4S8wCVkq49DTFYj04Me8KTDlGOXorp/hS/KH0bW1tsDU9xyghJDc3l24QzIw2Okb593CIK9cMpXfCMUoICQaD9LC4kGOUWkRhJgCkZ2LJMVpaWlpYWEgThlZXVwsKo2w4PwqjCOIGF1100eTJkz/44IPt27c3Nzf36tVr1KhRM2bMMJXMIhgMTpgwYcKECc61E0H0GDhw4Pfff89fx+/39+/f3532IB6noaHBsMMQQrZu3epCY5AEEgwGly9ffuutt7KvvEAgELjlllv69evnfsOQ9IQTOhqnMEoIqaurs8sC71COUbWqpZfuTYQ4hVF1jtFwOHzkyBG6nCyOUe8Lo+pQ+u7ublB51AqX3++nXSuxxZcseDn5aKqxnnKMEkK6urqcE0bVqpmpm4mF4ktEQKaEzUqSpOcYlWW5u7vb7/cbFl8iwo5RsIsSbnLJ3NxcRTSAazlGFcXcifM5RgkhmZmZTguj8NCJxWLt7e0gR8IzKBAI6FWl5jNy5Eiav0s8zSj8aCgUSodk96m/h4gCWZZ3795dU1MjSVK/fv08Uui2oKBg/vz58+fPT3RDEMQKU6ZM2bBhA3+dsWPHWoh9QFIS9o2TAyR4QlKYQYMGPfLII4899tjGjRvZz4cMGXLttddCWigEcQFOsRFrofQlJSXgsDt8+LCbwqgtjlG9qEaRFh46dIguDxw40NR3Keoco4cOHQLBLrE5RsXTFHpfGIXODE3lBC8THUuyQzlG7Sq+JIKmCOgFYVRR8cY521qcOUbFHaOsMGo4x8C5Oyl0QL/fD1tTHPZAIJCRkUHPpuDFu2PHDljWK75EtPJO2iiM8g87v/iS5rUDH1rulvBFG4VRhVWZPaQtLS3Q4WH6PCcnx1pCCRBGd+zYQZV0w69AKH2aDGBRGE0v3n///b/+9a/s3E6/fv2uuuqqSZMmJbBVCJLsTJo0aeTIkZxcgRkZGVdddZWbTUK8jOBkbzrErSCEkOLi4rvvvrumpmbLli2NjY3Z2dnDhw8fOnSoc8nUEEQT2x2jmZmZeXl5TU1NxNY0o5wIXxuLL5E4Qun3798Px7C8vNzUdynqHKNQkt7n8yWkIFtKVqWHhkGn4itcmh1Mr4q9NURC6S2UReLDF0bFf8X2UHqHKt6oUefDNRVKz6mSpCArKwumi8Qdo+ptKsyVWVlZesIoISQUCtEWijhGZVl+9dVX6fLQoUM55TrUwqiNOUbNCqPiOUbjCaVXbCpOZFlWCKOsBNnS0tK3b19YpguWiyBBmtGOjo7du3dXVFQYfgUcoyiMIimFLMu/+93v3nvvPcXnBw4cuPfee+fPn4+qDYJYRpKkO+6445e//CWMW1gCgcAvfvELwzJiSPpQWloKNT04VFZWutMexAuUlpYmxAWGIAAnQSc7zjQ1qiwpKaHCqI2F6Tl6jdkco7Isgw3TRscoxNFnZGTAyNYU6hyj8IJRUlKSkKjGeKrSe7YUqjrHKL+KDnQSNpQevuJ+jlG7hFF+jlHLwqjtjtE4t8ZBUQOHcB30asSLL0mSlJGRQY+teI5R9TbZaSG6GqfWWSgUojcxkYt348aN+/bto8vz5s3jrKkW6eK80n0+n2YaXzXqHKPiVektXzUihdFM0dnZCXcSyDEKR4BN4QLPIAsJRinl5eXZ2dnUBLp9+3YURtX4Et0AxCVeeeUVtSoKvPTSS++//76b7UGQFCM/P/+hhx46//zzFe8uFRUVDzzwwLRp0xLVMMSD+Hy+6dOnG652zjnnuNAYBEEQikhVenWqOz6QZtRGx6iNOUbZsTeIqoBlYRRkhf79+1sTMWG0D9oilKRPVN7hlHSMqqvS85NFairvCaxK7/Eco0nkGI0zlJ4Vxw2jPcTT9XI0d0UovSzLnFBxzWJueqxevZoulJaW8oNKbXeMEuF7OD+Unp9j1DuOUdYyTHckEAjAyWKfO+ClsOwYlSRp+PDhdFkwzWi6CaPoGE0LWlpann/+ef46Tz755JQpU7BqNoJYJjs7+/rrr7/yyiu//PLLI0eO9OzZc+jQodaSiyEpz6WXXvqvf/2LY6E6/fTTx48f72aTEARJczhx6KxEYirJAwR9uyOMmg2l5yeUZIsvsQWCDYmz8hJhhIyurq5YLObz+cAxisKojagdo0kRSm+hXjwfTXekhV+xPccouwV3HKPWQulNieOhUIjqXOI5RvmO0Ugk0tXVxSkNr55o0aO6uhoyg82dO1c9XcRie45RQkggEKAHnCOMshHosGs+ny8QCNBvaWronFQDgtieY1QtjBJCcnNzqezLCqPxh9ITQkaNGlVVVUUI2b59u8gTLd1yjKJjNC349NNPDe+DjY2NX3zxhTvtQZAUJjs7e+LEiXPmzJkxYwaqoogeubm599xzj16euJNPPvmWW25xuUkIgqQ5HEXGcuhuohyj9gqjtECweAu/++47umD5NQAGybIs00EyOEbLysqsbTNOQBSIxWIiUhGxQ4lwGvVO8R2jmsKoQ6H0CXGMsvtl4VdszzFqmDjSLuIURk0V4BKvYyYYSk+FUfX2AXHH6Msvv0wXevXqNWPGDP7KDgmjdIEjjKoj0Cmca0eWZdigdxyj7GMFzpFmpEL8ofSESTPa0tKimfxNATpGkRRkz549gqtNmDDB6cYgCIIghJBBgwY9+uijzz///N///nd4+SgtLb344otnz55ty/gKSSwbN25cv379vn37IpFIUVHRqaeeOnPmTM/m2kMQkar0ZoWYPn360IWmpqauri7NEWlbW1swGBSXXEUcoxZC6TnCKDm+QDCfjo6OI0eO0GXLjlF2tH/s2LFYLAYD40QJo+y9q6OjQ6QncJIeegS2YZ2dnRkZGfwuoSmMgkZjbyi9SPEl26vSs4oSXESWhVFbAqv9fj892o46RuMsvuQpYVR92AUdo99///2mTZvo8kUXXWR4T05UKD0r77K3yszMTLqDamGUPT6WrxrXHKN0QTPHaDwaZUVFRTAYpI3fvn17//79+euDY7Rnz56WfzSJQGE0LRC8eh193iAIgiAKcnNzr7nmmsWLFx88eLCtrS0/Px9EBCSpaW5uXrFixdatW+GTgwcPbt269eWXX77ttttOPvnkBLYNQfTQdI1RLAsx4BiVZfnw4cMDBgxQr7Ns2bKvv/46GAyec845119/veE2XQul1ysQzGfv3r0Q02qLMNrR0dHQ0AD/7devH2zfTRQaomFEZzQahTOVFMJoV1dXTk6OYI5R54ovmcoxantVes3iSwnMMUoICQaDVD9KVCi9yCyLqXQK4jlGORH6igLu7KY4OUb5wujq1avpvSUUCp1//vn8tpHEOUZZYZTV7DiTCpbrB7I4l2NUkiQ4dHzHaDyh9BkZGZWVlV999RUhpLq6eubMmfz1080xiqH0aUFRUZGNqyEIgiA24vf7BwwYMGLECFRFU4OOjo5bb72VVUWBpqampUuX0rdSBPEaHLul5Xq+bMIQzazK0Wh09+7dhJBwOAxGSz6cuH7bhVHIwsaad/hAHH0oFNLLl2KIwp4JYY+ZmZmFhYXWthknCmHUcH12Hc865dVFz9nOL6i825tjVMSoaHuOUU01yoL8anuOUeKATU9NJBKBkxhn8SVTjlEbq9Kzm7IWSl9fX//hhx/S5dmzZ4sY5B0VRjn3cDYCXTCUni8cC2J7V4TTkZWVBc8aUCFBDI1Go7BmPKH0hJCRI0fSBZH6S+kmjKJjNC0YN27cM888w19HkqRx48a50x4EQVKD9vb2qqqqAwcOdHd3FxcXn3rqqQUFBYlulKfZt2/f3r17I5FISUnJ8OHDbRlEIV7j6aefhtIraqLR6K9//esnn3wSqx0iXoNj1bHsUMvKysrLy6OVRjTTjH733XcwyBQUH11zjAYCgR49etBBuHhheihJP2jQIFOFqljY0X57eztbecnyNuPErDDKT3roEdS1fSyE0jvkGBUJpbfdMRpn8SXFEbDLMUoXnHOMsj5KaDPsi0goPawjWHyJLthVfEmh01kLpX/ttdfo2Q8EAnPmzOE3jKIW6WwURjmHXS+UniOMetMxCjvC7oU6lL6lpQWiBOJxjBJGGK2trT1y5AjHFdfR0QF3AxRGkdShoqJizJgxW7Zs4awzZcoUNCshCCKILMurV69+4YUX2Hcsv98/c+bMn/zkJ54dAiWQzz///E9/+hOrl+Xm5s6dO/eSSy7hF/1EkouOjo53332Xv059ff2GDRumT5/uTpMQRBARYdSCQ62kpIQKo5qO0W+++QaWIaMZH5HiS7bkGCWE5ObmUmGU7oII8ZekJ4QEg0GosNzR0ZHwyktEFXVuuD7fwuYR1DvFr0oPz+sUK76U5o5Rzb5qLZRe5IyI5xjl6K2BQECSJKqXRSIRNreDhVD6tra29957jy5Pnz5dMIo0GAxmZmbaOwUiMrkFeqLf72d3ljOpwM/BKohImgtTwOnQFEZhNo6dlotfGPX5fLS3VFdXT506VW9Ndp5SML92soODsXRhyZIlvXv31vtraWnptdde62Z7EARJXmRZppY3xQtWd3f3O++888tf/tLwVS/deO2115YuXapwEba0tPz5z3++8847Bcv7IknB9u3bRd6YP//8cxcagyCm4AgBlqvSEybNaG1trfqvO3fuhGWvOUYJ45QRD6W3RRglx0e/gmPUI8JoyoTSqx2jbOdXC6PQSVgdyt5Q+oQ7RsGbZkF+dUIYdcExqimMWgulFxHHxUPp+V2LPWtwcAKBgHpl0N30Qunffvtt+uouSdIll1xiuAuAQqdz2THK6omEK1yyn1i+apwLpWfvkPDQgdk4VhiNM5S+R48e5eXldLm6upqzJvvISxPHKAqj6UJxcfH//M//VFRUqP80evTo3/72t3HOPyAIkj68/vrr//jHP/T+unPnzkcffdTF5nidqqqqP/3pT3q1MjZv3vz444+73CTEOdgaKRzq6+udbgmCmMU5xyhd0Aylj0cYVY//4ZNYLCZSoYiVtzTN+5p1MDg0NjbCaHbgwIEiX9EDioq0tbUdOnSILvfr1y+ebcaDz+cDQUFk+tOWpH5OEwwGITUBbbB3qtKzGiWLLMsW6sXzUVTyoQvxC6O2OIVhI+4Io9BX4ZiIqGCmcowKlkIi3OJL5HhzMRwczWPO/8VwOPzmm2/S5QkTJmiWyNODFRAkSYq/Q4rkGNU0WhKuMMp2nviFUduLL2k6RsPhMN0RePoEAoH4J5lGjRpFF9hwDTVsItc0EUYxlD6NKC0tffjhhz/99NNPPvmkpqaGENK/f/8zzjgDU4siCCJOOBx+/vnn+eusX79+3rx5cY4JUwNZlv/4xz/yx+fvvvvunDlz+vfv71qrEOcQHAeydVQRxCO4L4x2dHR8//338F9aQsTwIuLY5Vj5IBqNGrZWJJSeLggKo5BglNjnGN23bx+M8xPoGCWEZGVl0ZaYdYx6NpRekqTMzEzaVPovvyq9CzlGFbkj1Zoy66SzSxhVVPLJyMiwJr86VJWeLjgnjLJbhuvOWii9vTlG+Xor62mFNTUnIVhhVJZlRZ7iv/3tb01NTXR57ty5hu1nYYXRzMzM+DMgw05ZcIwmb45RVu5kD2lLS0thYSE8fdh6gJaB4QZ/Ih/mKQOBgGdv4PaCwmh6IUnSxIkTJ06cmOiGIAiSrGzZssUwDZwsyx9//DEKo4SQXbt27d+/n79OLBb76KOPFi5c6E6TEEcZOnSoyGpDhgxxuiUIYhZOHHo8ofRQmb2pqSkcDrNb+Pbbb1nPJiGkra3NcAzGqQnDqhLd3d2Ggg5fBSPmQ+mhJH3v3r179eol8hU9YMy/a9cu+DDhwigdoosIo2CG0ozt9Q7BYJDuDu1X0CUkSeIIo2y/NeUWNITttJFIRC3isBKPXcKo4sIhx8tS4le9E8WX3M8xSo8A7IuIMGpq6siWqvTkeOkWNqV5zOFmEovFFGp7LBZ77bXX6PKoUaNGjBhh2H4WVsWz5XSLpEMBM6NijlnEMcqaxM3ico5R8h9hFKIQ4oyjV2ykublZrZKzP00XbFFjkwIMpUcQBEFMAJnObFkt5YFBMp89e/Y43RLEHcrKyoYPH85fJxAInHXWWe60B0HE4Vh14nGMQm1PWZYVplE2jp4ioj9yjGyaEcEcWHlLUxiFMaRZx2j8U4MwVIZt5uXlJTakUbxoDGFEH4+7jRQqFT8uXlO1MeUWNIRTbZzitGOUbt+a/KpY05YUqGbjl2OxWFtb29GjR48ePSr4E9BXg8EgpNQQsS4CpvqA+HXEF0ZZnQ4ODt8xSlRpRj/++GPI1GHWLkocEEZNOUYVceUiOUbj6ZMu5xgl/3nuwGPRlvs/zNhFo1E2Xl4B/ClNKi8RFEYRBEEQU4hkbSPHjzbTGcGXJ+d8EIj7/OxnP+P7hi6++OK+ffu61h4EEUTEMWpBiAHHKFEVplfnOBMpTC9SfImIPYZsD6W3q/ISYYbKII4kMMEoRdzpxq7j2QSjFEUKS35cvLoqvSzL8F5kb45RoqMNWfNy8lHPKFiTX70QSv/444//8Ic/vPzyy5ctWyb4E5oivkgVIMBajlHx4kv8HKOsY9SsMLpp0ya6MGDAgFNPPdWw8QoUofRmv67GVFV6vRyjnKr08TTSnRyjoVAIziyVROHpY69jlDD1ndSAGovCKIIgCIJoICjoJDbczzuwikD8qyGEkGPHjm3btm3Dhg3V1dXeFJSHDRt2yy236I1Xp02bdtVVV7ncJAQRQaQqvYVRZSgUgsGzwjGqFkYNHaOxWAwGzPwcoyKF6dl1NBUNcOiICKOyLIO7M35hVDHmJ14SRkV0AVBqPFuSnqLQ3fgKlzqU3jAbg1nU5k0FToTS84VRcflVcdDsFUYFn/jQORXTMBxAn2IbbCqU3pQwCndRNjeoJpxCc+R46ZZffIm9mSjU2C+//JIunH766RYipm13jIqkdgVhVBFKz8kxyobSW24bWxjNFv+HnsKreO44FEpPxITR9CnQ7d2ELwiCIIgHGTNmTCgUMgz/wVzGlNGjR2dmZhqOIQVn6aPR6Ndff3348OHMzMzy8vKED5Jdpr6+/qmnnvroo4/gdTkrK2vWrFkLFizwWi2jKVOmDBgw4Mknn/z888/h7bmsrOyyyy6bPn16mmRrQpIOh4ovEUL69OlDB3isMNrU1KRWLgyFUb6RTVF8ybBh4o5RGqzK14UPHz4MD0cnhNGEzzhac4x6PJRe4QLje/TUdja2mzmRY1S9ghOh9HY5RhVHwBYLodn4ZVittbW1o6NDRJfX7KusH9NwC9Yco4SQjo4OTnw0dDNDYdSaY7Surg7uyaNHjzZsuZqE5Bg1dIxyQunj6ZOsqBoOh+PfX72cALm5uTQRhEIYtUWjzM3N9fl89NUUim6pSUPHKAqjCIIgiAlCodDcuXOfeeYZzltyZdMAACAASURBVDqTJk3C2jKUrKysiy666KWXXuKsM3jw4NNOO42/nWg0unr16ldffZWNMx06dOjixYutvcsmHbt27Vq2bFljYyP7YWdn52uvvbZp06YVK1YUFRUlqm2alJeX33vvvS0tLfv37+/q6iopKUm4qIEgfJwTRktKSmg6UVYYhQSjkiTl5OTQEaBhKD2r16jFArM5RtmxN0RJsyjqYPDvMxBHL0mSjTlGgYRPhomHAJPkEUYVai9f4VKH0htq62ZRiC/qFdwXRsUFX0V77BVGBeOX2dXq6+uhBrfIVyyH0lvLMUqEhVHNzbKR44Y5RiVJojkfWGfDtm3b6EIgEDBbdomS2Byj4sKoLY5R9th2dXXFv7+aofSEOapUnbQ3x6gkSbm5uVQSxVB6FgylRxAEQcxx6aWXchyO/fv3v/HGG91sj8dZsGABpxpPz549b731Vr6FMBwO33HHHU8//bRCMvj2229vu+22NWvW2NZWr9LS0rJ8+XKFKgocOHDg7rvvFhFB3Cc3N3fkyJFjx45FVRTxPqxVR5FOOs7KFZAthBVGIY6+tLQUkrQYCqPsiJcfSm9LjlF1HQwOIIyWlJTEHz+u3kLChVHQBVJJGFUYEvkePXUove3CqKlQeudyjFr7FbbxkiQlJMcou9qRI0dEvqIZSg/HRJZlw7wc1qrSE6NLiVNojhw/lcUPpff5fHAYWccoxNEPHTrU2i3LU45ROCAcYdRGx6jl7QCGwqgTofTk+ML0euvYq8YmBSiMIgiCIObw+Xx33nnnvHnzFC9qkiRNmTLlwQcfTJ+HqAjBYPC///u/p0yZov7TwIEDf/vb3xoaix555BGY1VcQi8Uee+yxr776yoaGepiXX365oaGBs8KuXbv+9re/udYeBElJ4JauFgJg2B+nMMrGzoMwWlFRAZ6URIXS+3w+zQkqdiAqLozGH0dPVMKoJEl9+vSJf7PxkNqh9ArHqGDxJUdD6T3iGLUWSp+RkWFL3hizofQWhFHNvsp2AEPTqCnHKHtpCwqj/OJLbCi93uUG0pumY9Ry7BF7h7TFIGyLY9Tp4kvEDmE0HA7D+VWH0tOFlpaWaDQKp8yudJ8ojGqCofQIgiCIaQKBwI9//OM5c+Z88skn+/fvj0ajpaWlp5122oABAxLdNC8SCoVuv/32H/zgBx999NHevXu7urro4Zo0aZJm8CbL7t27P/jgA84KsVjsj3/84yOPPGJrkz2ELMvr1683XO3vf//7rFmzXGgPgqQqispFrMYRT1V6QkhJSQldOHr0aDgcDgaDsixDKH1FRcW3335Ll20URk0VX9KTMzIzM4PBIN19l4VRxZi/T58+dtkDLWMtlN7jxZcUkdqCxZecC6WneiK1bLtWfIndTjzFl9jt2CWIm3WMsscnHmFUfUw4WM4xKiiMam6W1RANhb9QKETDbkBlq62thZkqy8Ioq5ol3DEqkmPUluJLxI7C9Kx1l1N8qaWlBQI43HSMQvQGCqMIgiAIYkBBQcEFF1yQ6FYkDZWVlZWVlWa/9eGHHypiWtV8++23+/fvF0mklYw0NjbSJPR8du/e7UJjECSFUcTwsgPs+Isv0QVZlo8cOVJWVlZbWws6Y2VlZU1NDV02lWNU3RizOUYhIJozR5WTk0Md63zRNhqNHjhwgC7Hn2CUqAoueyEdBwgfhgUYiU0WLRdQ2GDNFl+yXRiVJCkjI4PqOJquNFYss6uUH3vh0Ess/hyjdp33eHKM2iWMijtGRY5VVlaWZsZPzmbFHaMcYZQugB4HwUaWE4zSzWZkZNDj445jlDVaWsgxapdjlO1mbW1t33777eDBg00Jl+yp13OMtra2shNydmmU0E694kvd3d3QPMwxiiAIgiBI4vnuu+9sXC0ZETeJGCrICIJw4Ngt4y++BMu1tbWEiaP3+/0nnHCCE6H0tjhGCTOG5DtGDx48CMN1J0LpvSCMmsoxqpm30YOYqkoPArpzOUaJkTYUp31bE1bOo3sEPx0IBAxDWwAnHKNmhVELjlF+8SUiIIzyY94VSJIEEh5fGLXRMaoOpY8/wSgFVDx3HKPt7e2w7BHH6Nq1a2+//fb58+cvWLDA8BEGsI5RTig9+9yxK5S+V69edEHPMdrW1gZv1OgYRZD0IhqNfvzxx5s3b66trc3Kyho0aNC0adMGDx6c6HYhCJLuWEiqlWL07t3b5/MZ1lEpLCy0yzuDIOkJJ3Q0zlFlKBTKzc2lAzxafwni6AcOHJiZmQlDrzgdo04Io4o6GHpAHH0gELClSpJizJ/wykskRavSxxlKb3uOUUJIMBik6o+mHhdnwl9NJEny+/2sJGpNfmWPgF2OUTZxpCzLhg96uxyjpuzn/CpJakKhEG1nPKH08KFIjlG4eEEYjT/BKGXJkiWdnZ09e/aEGnrxAAdQ75hzItA5OUahP9ueY1SWZSiC2tDQ0NXVJagkspq4Xih9W1sbmDoDgYBiNcuAMKrnGGUfxOnjGEVhFEHIrl27VqxYcfDgQfikqqrqlVdeOeecc6677rqEZ3RCECSdKSoqElkNapukHllZWaNGjQJrgx6nnHKKO+1BkFSFU7kofrtNSUkJFRZpVjtwjA4bNoww40BTjlF1Y9TGNz4iAbBsujfOpkAYLSsrs8XKp/AQeUEYTSvHqIWq9HYJo6zgpf6rE45RQggIowrHqGVh1HbHqCzLkUjE8BbECqNstTcOmn3VVCU3U45RIlzHTLD4EluVXjCU3pYEo5Rx48bF83UFsKciwqgi3wh7QGKxGOt0Nkw1IIIkSYFAgDYMLsPNmzdDKhgiYC4GRByjsixDhpbc3Fy7pv/ZHKOakw1O2FS9DwqjSJLR0tLy+uuvf/rppzU1NT6fb+DAgWecccYFF1xg+Ta3a9eum2++Wf1YkmV53bp1dXV19913X9ytRhCniEajTU1NwWAwfZ5b6cb48eMNSw9lZ2dbzg+VFMybN48vjPr9/ksuucS19iBISqLnkKKDTLpsWYspLi6mFZYOHz4ci8UgKXBFRQVhPCnt7e18U5hzVen11mHTvXE2ZW/lJaLyEHkhlJ5Vcwy9e8nuGLWQY1Q85JwPJyKYOOMYJYRAYlNFjlFTl7wTOUbZ3aSl2/jrswetq6urtbXV0MEXf45RU8WXiHC6XuhdmmfBVFV6hWMU3qn8fr+nXiDhAFpwjLJHKRwOs4fCFsco/bpCGAW7KMWCMJqZmam427BjOlYYtdRkDUAYjUajx44dU+jLhHGMSpKEjlEE8SKbN29euXIl6+7esWPHjh073nrrreXLlw8ZMsTsBqPR6IoVKziTdVu2bHnllVemTZtmscUI4hjbt29/6aWXtm7dSp/BhYWFZ5111ty5c9MnF0yaMHny5L/+9a+spV3NJZdcYq9zxGuMGzfuggsuePvtt/VWWLx4sRfsVAiS1OjZLa3Vp1YAaUbr6uq+++47ePWiwig8uWKxWHt7O2ckBsNRzcozjobScwr4EoeF0WAwKBg94CigrYh49zTzNnoQU6H0IH06Gkrvfo5RonLqWTOJO5pjlBDS1dXFl2loz2Q/qaursyaMWnOMmhVGbXGMdnV1wV7rHXa4n1A9DiovVVZWxpNg1HbEHaOSJCl2VqGhs3+F21Gc0wmQ5oJusK6ubtOmTewKIhNyFNgRdYC8pjBqV0l6woTSE0Kam5vVwijMAoZCIbtSJ3sfLL6EJA3V1dV33XWXZvKpurq622+/nfWxC7Jhwwa+3EAIeeWVV8TvcQjiArIsP/XUU7fccktVVRW8CdXX17/88svXXHMNteQgKUMgELjttts4U9wnnnji3Llz3WxSQrj22msvu+wy9ZAjKyvrhhtuuOiiixLSKgRJJfSKjfBNmoKAMFpbWwvPqczMTFrAnRU7+GlG+UY2miqRLpuqSs8Z+4mE+Xd2dtKiUsSmkvSEkIyMDDgjZWVlXsihzAoNhoXpk8Ux6rWq9MTIMWo2naUgityO1n6FvQBtr0pPBHI4qMswiqQZ1RTxnatKT4TT9QpWpWfvmYLFlyDB6IknnijSYNcQzzEaCoUUd0V23xWnDP4bZ7eEHkKvzXfffVeRAV/cMQq3ULUwmp2dDbt26NAhumCj8YXVWDXTjMLDLn3sogSFUSRZ6O7ufuihhzjvuC0tLY899pjZzVZVVRmu09raumvXLrNbRhDneOWVV1566SXNAtwNDQ1Lly4VTDaPJAtDhw5dtWqVOo5SkqQZM2bcd999drlUvIwkSYsWLXr88cfnz59/4oknDho06OSTT160aNGTTz45a9asRLcOQVIBPbulvY7Ro0ePgllp6NCh9EfZIR8/Yt0wwlft6eMgkhlQpPjSvn374KFcXl5u+LuCwIDZI454TQeWJtFoFI6tp/xoakAoiUQisVhMsPiSozlG+dqQLfW11ShCmC37UmE7TjhGDVUndbesr683/AnDUHrbc4wKCqOCxZdEhFE2eL+mpsauBKO2I+4YVfsc2aOkmFSA4xznVcO6dKPR6Lp16xQriLupQBhV3yF9Ph/sHZxcGx2jOTk58KDUjISAp3BaJWpL/aEUkhps2rRp//79/HU2b9584MABU++OtDSqIQ0NDeLbRBBHqaure/bZZzkrNDc3P/HEE7fffrtrTUJcYOjQoY8//viGDRuqqqoOHz6cmZlZXl4+derUoUOHJrpprlJWVnbVVVcluhUIkproOaTYEaZlk1qfPn3ogizLGzdupMs0jp4cL4zG4xglhAQCAbqOiDAK8pZIjtFjx45Fo1FNhQLi6DMzM2FP46eoqKijoyMSiXhQGOU7Rlm5xy7noEMo1F5BxyjIH07kGGXFF/VfrWX/NEQhjFr+lYyMDNpsJ3KMijhGFZ8YegUikQicRLbNbAdIVI5R/matOUaPHTsGU1OBQGDkyJEiDXYNU45RxZ8UofTsn2zMMQob/Ne//tXY2KhYwUKOUc2po7y8PMWj0EaN0ufz5eTkUElUUxiFn04rxygKo0hyAHdwPtu2bTP17ig4a5TayfuQ5OL999/XDK1i2bBhw3XXXZdWs3zpQCAQmDZtGqY8RhDEIUQco/EUX4JlGHSBMBoMBoPBIH26CQqjeq9w6mBnDqZyjMqy3Nra2rt3b/U6+/btowsDBw60MeadxkJ1d3crojUTBash8iUq9q8eD6VXRGqbDaVn5Ru7QukTkmMUpLd4ii+x6zsRSm/4AqyWkg0L07PSJNtXfT6f3++nJ9r2UHp7hVG2ExrmGO3o6IDKSxUVFV67PMWLL6kj0DnCqI05RmGDUHZp8ODBe/bsocu2hNITrcB5e2tI5OXlUUlUM5QensJpVbgCQ+mR5EA9IRPPaoBguFP//v1NbRZBnOPrr782XCcWi33zzTcuNAZBEARJGUQco5ZHlT169FAPsSorK2EZnClxhtIbjqtZRIRRkTB/Vhg1/FGz+P1+j8zQWxNGkyWUnvwnPJYu84svqUPp/X6/XZq4YFV6h4RRukeWA/ahVXYpbmwD+AkciCXHKKevit9M4KS4mWNU87f09Gj4xa6urq1bt9JlryUYJWaEUXUovZ4wyqbIsMsxunPnTrBtXXDBBXCCLDhGNYVRtbvFxlB6wtRf4ofSp5VjFIVRJDlQ3/s0MXv1Tp061fAlZujQoaWlpaY2iyDOwR8xApxUaAiCIAiiRs8xaksoPWHSjFJyc3PZqHORGkdEQBWy3THKDkf1nq1QeUmdDDqVyMrKgtfmlHSMGgqjnOJLNtZu5jtGDU3TtvyoZfn1ggsumDdv3rx580aNGmVLw/x+P5wLC45RU8Kooq8ahnUDZruBiDAqyzLfiKp5agwdo7IsQ95VryUYJQI3cEHHKHvtsL3CLscoVK/Kzs6eNm0a/5rVhB9KrxZG7Q0EhOcaXxhNK8cohtKnLHV1dW+++ebnn3/e0NAQDAZPOOGE6dOnT5482QtFLS0wfPjwd955x3C1ESNGmNpsRUXFtGnT1q9fr7eCz+dbvHixqW0iiKMIThjCTCCCJCnbtm1bv3793r17Ozs7i4uLx48ff/bZZ3vceYQgSQ2tKE2Ho6wQYItjlBBSXFzMVrOsrKxkX0phbpsfSm8YR6wuj8NBJAC2Z8+ecFg0hVFZliFc18YEox5EkqSMjAx6ClJVGOUrXGrHqNnkkiLAVeamMKoQpCwH7M+dO9fGVlGCwSA9zoaOUfUKDQ0NsViMk/5VxDFqqHaZ1ZGh13GuI8O6Xpq/ZVh8id2m1xKMkuOdy7Isq4WL9vZ2uqAWRtkDwj622GW7HKPAjBkzsrKyTEUqUBLrGEVhVA0Ko6nJunXrHnvsMfYu0NDQsHHjxhNPPHHp0qX2XlfuMHHiRMiFoceQIUMs1CG54YYb6urqtm/frv6Tz+e79tprR48ebZieBkFc48QTT9y0aRN/nYyMjOHDh7vTHgSxnfb29lWrVn366afwyb59+6qqql544YVbb7315JNPTmDbECS10RRGbalKT1SiIRtHTxxwjJoKpefoJpIk9ezZk0qimm1raGiAVqW2MEoIycrKEhFG2cyJHi++FKdj1Gw5chEEHaP2htIr3JEO/Yo1MjMzqYpk6BhVrxCNRhsbGwsKCvS+wmqpCvVQXBi17Bjl5Bhl72CCwmgwGNS7lanVt8rKSg9OWrB7Go1G1fvICaWXJCkQCNDjxvYE9hTHeTtSPwFnzpxJzJiLAbM5Ru11jIKBRjPHaHoKo6Kh9I888siOHTtAoUe8zAcffPDggw9qPjm++uqrX/3qV4azbR4kFAr99Kc/5awQCASuu+46C37YrKyslStXLly4UDFJOGTIkBUrVpx//vmm24ogTnLOOedoPkFZZsyYYbgOgniTcDh8xx13sKoo0NjYuHTpUigagKQz+F7qEJqjOxAF/H5/PHW32fpLhKm8RIEBWJxV6U0Jo+D748sZYCnQdIxCHD1JD2GULgg6RgOBgI1WSifQc4wKCqPQhZxwjGqO5hwqvqS4cBzypVqDrXjDX1OzW/Kj6dmvKFQzQbWLehvpstniS5zryLCul/q3OKqfOuDGg3H0RCWMqlfgGy01rx3nhNGTTz6Z5pUW19ABEEYFQ+kdcoxi8SVA9A6+Zs0aWnjr5z//eWVl5eDBg51sFWKd5ubm3//+95wVdu/e/eKLLy5atMi1JtnF9OnTm5qannjiCXj2AJmZmTfffLPZOHogEAgsXLhw3rx51dXVdXV1wWBwyJAhAwYMiLvJCGI/eXl5ixcvfvjhh/VWKC4uvvLKK11sEaLBkSNHqqqqDh48GAgE+vXrd9ppp9k705vCvPjiizt27ND7azQa/c1vfvPkk096YaiGJBB8L3UIzXhAy2VYFChEQ0WUj2AovXjxJbtyjBJmjMoXRrOyspIxKssUgkVjQInwoCVNAZVuaYdnq9JrzgFwcozGM2egwFOOUS/o2iBmGQqj0OxQKBSJROi+HDlyZNiwYXpfgZ6stluKC6OwbLb4UjyOUfUN2ZQw6sHKS0RAGOXriWAutr1+IGyf/e/s2bMVmzU0NQOmQukDgYC991JwjKofah0dHXDkBau8pAam73R0ND5hwoRp06addNJJmMbOa6xduxYuMz3efvvtBQsWeOE5Z5ZLLrlk1KhRzz333BdffEGv2KysrIkTJy5YsCD+bPfBYHDMmDF2NBNBnGXmzJmdnZ1PPPGEetTXv3//u+66K+UHZl6ms7Pzj3/847p169izEwwGf/jDHy5YsMDGULuUJBKJvPHGG/x16uvrP/zww3PPPdedJiEeB99L7UXTbmmXEMM6RktKSnr37s3+1WxVer3xre3FlwjjmuELoyUlJUmayl8cs45R7wujhJDMzEwIv+X3dndyjCZEGFVMitg1HWILoEYZqk7Q8UKhUE5ODk2GxneMgtCmmYWTLvBtgIYKphr4re7u7kgkonkqDfVW9Yecy41WTmOdrZYdRY5iKIxycowS5qJwwTGan59/+umn02VTkQoUvjCqsGrm5eXZ+3CBoWIkEmlvb2cFUPYRnFauDtE7OHVwrF279rPPPiOEfPbZZ3Rh9uzZZ599dv/+/dNKTvYyW7ZsMVynra1t165dnKkzL1NZWXnPPfeEw+Ha2tpAIFBcXJyMCi+CxMnFF198yimnrF69evPmzY2NjYFAYNCgQWedddb555/vhVfYtKWjo+PWW2/duXOn4vNwOPz888/v2bPnzjvvtNFUknp8/fXXhnN7hJDNmzejMJrm4HupQ2jaLe0K3WUdo4oEo0RYGBUvvuSaY/Tw4cN0IeXj6AmjvPC9e6w+5Xib4iYzM5OqLaxjVLNLcHKMOiGM8kPpHSq+lNSh9HBwMjMz8/PzRYRRjogvWFEnHmGUNkDzbmYYSq/+Fkf1kyQpKysLVGBvJhglx++p5j2crydqXjsOFV+aNWsWnG6zVemj0SjrblavoFAkbRcoWQ9Nc3OznjCKofQa9OrVa8KECRMmTDh48OCXX34JUZwYyuQ1GhsbRVY7evSo0y1xlGAwiKHuSJozYMCAm266iRASDoczMjJS3qWSFPz+979Xq6LAZ5999uKLL15++eVuNim5qK+vF1mNP8hB0gF8L3UIzdGdXRJJjx49Bg8e3Nzc3NXVpRZGzeYY1RMgTFUHFoyDFgylTwdhVCQEmDBik8crL1FYG6ygMAqOUcE0tabgV6WHju1QKD39UScEX8vACTJ0jIJyGgwGi4uLq6urCSH8IrqctA+CapehgqmG1cI6Ojo05ScLxZf4WmePHj3gsvVmHD05fqfUhz0ajUIf0BRGNc3FcIolSYrzqiksLMzKyurs7PT7/eedd5662YKOUdYEICKM2i5QssJoU1NT37594b/sIxgmLNMB03e6srKysrKymTNn7tixY+PGjS+88AL9HEOZPIKgRQKdFAiSMnhhMh8hhBw4cOCDDz7gr7N69eo5c+bgHVgPQf8C1hZDAHwvtRdNu6WNobucPPgw8KMJzvTkmMSG0mu6WcExWlJSYviLyQ7oDoKh9EnhGGUNiXxBEAR0R3OM8oVRh4ov6YXSe6EqPRwQfq8jxztGi4qK6LJlx6ig2mXBMcpeF3o7xd7B4neMEkJ69OjR0NBAl71ZeYkYhdKzeqJ48SW2M8fpIzn77LNnzJhRU1PT0NBQWFgIn5t1jLITSyI5Rm1PkpabmwupFZqbm9k/gTAaCASS4gZuF9angIYNGzZs2LA5c+ZwQpmSNFg7qRk2bNi///1v/jqBQGDIkCHutAdBECRN+OSTT9Sl4RR0dHR8/vnnZ555pjtNSjoEn01oA0TU4HupLWjaLVkTlnM/DeKjLMvt7e1640DxqvSmhFG+nMGpSh+NRsHqng6OUcEco5y8jR6ENSSaDaV3okiRYCh9+uQY5SvFLHCzEhdGE5tjlOhfSuxmNc+1qRyjhFFjPZtglBy/U+p7OCQYJTo2L02B0l4DuyRJffv2ZS2Wer/LQUThDQaDcBnaLoz6fL6cnBz6RFMIo/CYS6s4ekJIvFNbNJTprrvu+vnPf85+vmbNmhtvvPGuu+7aunVrnD+BmOLss882nAmZNGlSWvmiEQRBXODAgQMiqx08eNDpliQvJSUlhuFdkiRNnz7dnfYgSQe+l8aJpjDqUOiuAvbVlJNmVLwqvROh9K2trYoJsLq6OgimTgfHKCgv/FD6JKpKTyyF0qsdo64VX3LoelRcOO5c9YII+pTJ8XouCKNNTU0cuUokx6ijwqjepWRvjlHCCHCeTTBKjt9T9WE3NFryHaPOqfzxOEb1XJmsGOqERgmRNHqO0XTTi+K9g+/Zs+ebb76B1E4K6ET9ZZddtmjRojh/CBGkvLz8wgsvfPPNN/VWyMnJufrqq91sEoIgSDqAaV5tYfHixTfddBPnzXLWrFnl5eX2/ug333zz/vvv7969u729vbCwcOzYseeee266TZWnBvheGieaqqI7QbXsGIyTZtQhx6hgKH13d3d7ezvbVEgwStAxypB0VenpgngovTs5Rr3gGPWCMMo/ICyajlFZluvr60tLSzW/En8ovWHMuxq2RryeMGp7KP2tt95aW1vb1NTk5VLj7E6p7+HWQunZXmFXOxWYmpAjAjtCCMnNzQWzsxOnDIRXPWE03V6DLQqj7e3tX331FUQqAZDqnn0xfeGFFwYNGjRlyhQb2osIsHjx4paWlg8//FD9p7y8vOXLlxcXF7vfKgRBkNRGEVYT52ppS0VFxS233LJq1SrN8c9pp512zTXX2Phz4XD4kUce+eCDD8AF9v3333/xxRcvvvjikiVLJk2aZONvIc6B76V2oakqsmn7nPvpnJwcUAo4jlF7q9ILqlrsoLS1tVVTGM3JyUmH/NEpGUovnmMU+oksy7FYzOfzwfo2CqOsyCLLsmLa1SH7m5dD6Vnlmr+mpjBKCDly5IhzwqhhzLsaSZKCwSBtrWuh9L179+7du7dI8xIIex2pDzuE0kuSpGm01HRuutCZzQqjcIfMyMjQcxmzuqTtofSEcYw2NTWxn6dtKL1pYXTPnj1btmz505/+xH44e/bsyZMnDx06FF4IBg8ePHjw4PLy8htvvJEQ8uGHH+ILqGsEAoFf/vKXp5122urVq3fv3k0/7Nmz55QpUxYsWFBQUJDY5iEIgqQkp59++l/+8hd+mtHMzMxTTjnFtSYlKWeeeWZZWdmTTz75xRdfwPEsKCiYP3/+BRdcYKMzNxaL3XvvvVVVVeo/tbW13XfffXfccccZZ5xh188hToDvpfbCr0rvqHfM7/dnZWXR4aJIKL0txZcEVS1WGG1paWEVFqi8lA52UcIoL3yJKrkco+xO8bsEm3JBIYzaGEoPfVuW5Wg0qvDQgZrvqDDqzlUviAXHaDAYzM3NpQXECTfNqL2h9OL6eCgUEhdGNTer7gBJcbnxESy+lJmZqXlM+FXpnTs+4mlwKbAjnOpGrC6JjlEXEL2DNzU1bdu2w1MsMwAAIABJREFU7cMPP1RPxY8ePbqsrEzzW5DkXvEtxGkkSZo6derUqVMbGxsbGhqCwWDfvn1tfGAjCIIgCgYMGDBt2rT169dz1pk7d25SpOyRZbmqquqzzz47fPiw3+/v16/flClTKisrXWvAkCFD7r///sbGxr1793Z1dRUXF5eXl9uerGDNmjWaqihFluUHH3xw9OjRXg46S1vwvdQhnK5KzycnJ4cKo/GE0sPrrr2h9OBmVdRfAsdougmjqRpKz88ZyvaT7u7uQCAg2IVMwfbtSCSi+K/mavGjsKnCfiWXY1Rhby8sLKT530WEUbVEJWgDtOAYpT9HnXoiOUY1N2s2lD4pEBRG9cLPNef2XKgfKKihA7AjnDgD9uXTiRdRPccoTEyiMKrNpZdeyv7XbHHPyy67zFy7EJtICs88giBIavB//s//2bdvH1j1FYwfPz4pnoY1NTUrVqzYuXMnfLJp06bXXntt8uTJS5Ys0XsZdQJHH2GyLK9evZq/Tnt7+7vvvqt4BUK8AL6XOgQ/x6jTEkl2dnZdXR2xKceoqeJLfFUrEAiEQiE6lNUTRtOh8hJJUWGU3Sm+Y1QhjBLhLmQK9kILh8PsY9cdYTQSiUC4hqcco+Kh9PQrRUVF4sKomzlGiUBFKdisJEmaE8OSJPn9fvbXU0AY9fv9MAtlQRjlF19y7vhYLr7EcYw6LYzqOUZBGE0KJ4eNmLYQ3n777cOHDxdPUrl27VqzP4EgCIIgyUgoFFq1atUf/vCH999/H4LdCCHBYPDiiy/+0Y9+ZOPAySFqa2tvvPFGxUsSZcOGDbW1tatWrXK/VU6wf/9+KsHw+fzzz1EY9TL4XmovmsKom45RuuC14kuEkNzcXL4wmoaOUXX6SyC5hFHLjlHCXClOVKUnKp2FlXucC6V3Tn61BvQiw1B6hQQGjwbO4x76qlo1E1S72L+KdwNQxAxD6TnbZD3LJEkuN0P8fj/dd44wqme05Bdf8k6OUZFQelYMdSLHKGyzqamJvZmjMGrAZZddNnny5MGDBzvaGgRBEARJakKh0JIlSy677LKNGzceOnTI5/MNHDjwtNNOSxbz/gMPPKCpilK+/fbbp556au7cuW42ySEaGhpEVuPYTJAEgu+lDsGvXOG0RALDME6OUUOxwNQAFWaw2NyRmuTm5lINlBVGOzo64IaZJo5RGMbLstzV1aUnxLiQ1M9GWO8evx5XQhyj7J+saXAisNe+14TReByj9L+cRzmnrwrGR7PWTsM7CQCXkmEoPedEQwUnSgo4RgkhGRkZhsKonp6YdI5RThhWcXExzWft8/k4+qllQBiNRqPHjh0DrRlzjBqwaNEiR9uBIAiCIClDnz595syZk+hWmObLL7+srq7mr/POO+/MnDnTiVc0lxEcrqfAnqYk+F7qEAmsSk+YYZhIVXpbii/x7YGGbYPKS4QQvZrXKQZ75+QIo5y8jR4EOjbUvCY6XUJRfIk4I4xyHKPsfx1yjHZ3dzvnS7WGZkUdTRQqJwij9fX1el8BiYojjArmGDUlVRtmpRApDaf4xaSYhzCEcw83dIzCtaPpGHVBGDXrGOUIo5MmTZo0aVL8bdMDcowSQpqbm+kh7e7uhisi3YRR0TkNBEEQBEFSm02bNhmuE41Gv/rqKxca4zQDBw4UGcMMGTLEhcYgiEdIbCi9oWOULcltbyi9oc8LzDWsYxTi6CVJEs/nkNSwygtH0IH+kxQWNnFhNOGOUeckS2i/lx2jbPJTTRSO0cLCQvrftrY2kKL0vsLJMSpYld5eYVRk2kZxdpLicjOEo0eLF19KVCi9oXZPEckx6jRseD6EPrS2tsIlhsIogiAIgiDpCOt+4sBxXiQRPXr0mDhxouFqM2bMcKExCOIRPJ5jVESvcSjHKLSNFUbhnpmfn+8FY50LsOKRXggwK/QkhYVNU6JKYCi9oGPUoVB6RY5Re3/FGqD30QQOnDWh5fQr4BglOtH04XAYzqBlYdRaH7AllD61hVH1YTcURjXNxS7UDzQbSi/iGHWa3NxcyCsKwij78MUcowjy/4hGo1u2bNmxY0dbW1vv3r1POumkYcOG6SVZRxAkZdixY8eWLVsaGhqys7MrKirGjRuXJuM9RPBEp0x/uPLKKzdv3qznIiGETJw48eSTT3azSQiSWBJelZ4uiAijeo1hI4INf9FU8SW6oOkYTZPKS+R45UVPomKFnqQQRjX7kqFjlJqXnSi+xLbH/VD6aDTKikpe0NrYNoTDYU6nAmmbHhzWx33kyJGBAwfqrU+0+iqcbsFQelNTR+Kh9OLCaFJcboZw7uFw+9UzMyYqlN5y8aUECqM+ny8nJ4ce0qamJvohG67BVn9KB1AYRbTZtGnTY489pnAPDRs27MYbbxw0aFCCGoUgiLPs37//oYceUmSZzM/P/+lPfzp16tQENQpxj/LycpHV+vXr53RL3KFv375Lly699957Nf0aI0eOvPnmm91vFYIkEE27JWgxTgujhjlGTTlGRQaodgmjaVJ5iRwf+JkyjlFNuUSzS7ApFxLiGHUhlL67u9uzofSEG6oci8UUORyysrJycnLo/UTTMcrvq4KJI0WSgaoxrEov0rUUmqkXVOz44YiMYGzUq9LOZl2AD90sviQojHohlJ4Q0qtXL/pEY0Pp6YIkSXqJXFMVDKVHNFi7du3y5cvVMZU7duxYsmTJv//974S0CkEQR9m1a9eNN96orr1z9OjRlStXvvLKKwlpFeImZ5xxhqHnpaioaNiwYe60xwXGjh376KOPTpw4kR145OXlXXXVVb/+9a8TOJOPIAnBI1Xpw+GwpvzhtVD6mpoaupBWjlGIHtMTdJJOGNVspGCOUScco5Ik6aUshEtAkiQbpVjCXFCyLLOStxeEURGfsuJP8BV+YXq2r6olKrM5Rq05Rm0MpU+Ky80QjjAKt189M6NmVXoXcoxaDqVPrDAK+rJaGO3Ro4e9dxjvg45RRMmePXseffRRvczWHR0d99133xNPPIHDRQRJJcLh8D333MOWHVDw5z//efjw4SNHjnSzVYjL9OnT58ILL3zttdc461x99dV+v19EcUgWysrK7rzzztbW1j179rS3txcWFp5wwgmGlVgQJCXhO0ZdyzFKCGltbS0oKFCskEBhFMbhVLSlA2zwEKSPMCpJUjAYpEKDiDCaXFXpWRKYY5QQkpGRQVUhvVD6jIwMe/Obseqb14RRVs/iCKOadtqioqI9e/YQS45RTrJLFmuOURRG9dATRjs6OuAU6zlG4YB0d3d3d3fTM+KmYzSJcowSpjA9hNJDHpt0SzBK0DGKqPnrX//KN4EfPXr07bffdq09CIK4wHvvvVdXV8dZQZblZ5991rX2IInixz/+8YQJE/T+etlll6VqUoWcnJyTTjpp4sSJFRUVqIoiaQs/x6hrjlGik2aUFT4SFUpP/uNaamlpAUUjfYRRwogvehIVKzYlRWyvZiMTWJWe6KRKJE7OUrD7C6qN3+/3wgNRkWNUbzULjlH2KxxhVDCU3lpVer3rSERvTe3iS4rDDq5GIhBKT5iuAnckF3KMigijsVgM2pZYYZTjGE23kvQEhVFEQTgc3rx5s+Fq//rXv1xoDIIgrvHJJ58YrvPll1+yIYRIShIIBJYvX7548WJFmFLfvn2XLVu2aNGiRDUMQRAXUI9IZVmGZddyjBKdNKMijlGniy+R/4whIcEoSVdh1NAxmpGRkRTBmNZyjCqKLzkkjOo5Rm2/GDUdo16wixK3QunV3cCdHKN6jlG4Owk6RqmbW7wBnkXP9W9WGIWLxeUco3pxt8CxY8dgHY+E0quLL6WhMIqh9Mhx1NXVcSbigAMHDrjQGARBXEPkoo7FYjU1NelWozANkSTpkksumTNnTnV19eHDh30+34ABA4YOHWpv1B6CIB5ELQREIhEYwjmtkvTs2VOSJPpzmo5RViTSEwtMCaNU2yJmcoyS/wwdIY4+EAgUFhYa/lbKYCjogNiULIG9mu00G0pvY45Rwig4CXGMJqkwqhdKTxeOHDkiy7LiTYatYq/2xrJ5V6PRqN4pttYHoNd1d3dDdg7NzQo6RoPBYGq8p+nNCrDmDD3ZTu0YpTH1ii3bDrvlaDTK/yH2zuk1x2g6h9KjMIoch+D9NDVuuwiCAHjtIwoCgcBJJ52U6FYgCOIq6jh0dmjqtB1JkqTs7GwqO2o6Ro8ePUoXAoGA3njSWii9YbxwKBQKBoN0pE3H5+AYLSoq8kK4sWsYOkZBukpqYdQwlJ6q6k6H0utVpbdd4mE3CMKNRxyI1AtJ912v15HjNVO1MBoOh1taWhROQ76Izx6TSCRirzDKWgU7OzvVh9psjtHUiKMn+qH0IIz26NFDr/+rhVFWLnfujqToKuLCaMKr0tMFtTCaho7RNHqKIyIUFRWJPALLyspcaAyCIK7Rr18/w3V8Pl9paakLjUEQBEESgnpEqmnCcg5wqWgKo4cOHaILJSUlelqkQ8WXiKowfRqWpKcYCqMw7E+KyktEp5BRuuUYZdsPOUY94hglAr2O6EhgxcXF8KE6mh76qqFrmDPRAifFmmOU6OyUiDDK/ilZ5iEM0XP9Q7i3Xhw9Ob7HqpV0F6rSE4E5Obi+iGcco5FIhLYK1GcURpF0JxgMjhs3znC1SZMmudAYBEFcQ+SiPumkk9LwMYkgCJI+qFVFNx2jhBmMaYbSgxbZt29fvS04J4xCJhlFKD0KowqSLpReMzmjYY5R2nmsFd4xxP0co5qOUe8Io4YJHAjT8SRJgpYXFBTAWVNXGRV3jHLULlsco+oV0lYY1XP9g2bHEUb5jlEXii8RgfpLHhRGyX9Mo+mcYxSFUUTJggUL+Lf1/Pz8Cy+80LX2IAjiAueeey7fDerz+X70ox+51h4EQRDEfdSldUXqHdkIXxgFx6hdwqh4jlHCCKOKUPp0E0ZBXDAURpMotlfdVMFQeoeKL4G+41oovWaOUY+E0hNGRhRxjLIW4EAg0Lt3b7qsdoyaCqXX+934HaOaaq/Z4kspI4waVqUXFEbpedEsyWU7gl2FAqfb7/cn9hKDUHryH0NuOucYRWEUUTJkyJDrrrtOL5NgKBS64447Eju5kVbEYrHq6urXX3/9ueeeW7t2LVsCFUFsJBgMLlu2TO8pKEnS4sWLhw8f7nKrEARBEDdRxzCydhsXhFHBUHoRYdQwnrG7uxvqSpkSRpubm2VZBvdZSUmJ4XdTCUOJKukco0SrqZpdQpIkGCLRawS0dZcdo44Ko0kaSg8SmEL/4hSm5/dV9piIOEZNieOGwiica8HiS0k0D8HHLmFU7Rh1ToUU7CoUuL4SnmwkNzcXbmj08KZzjlEsvoRoMHPmzN69e//+979XRBxUVFQsWbKkvLw8UQ1LNz7//PP//d//ZcuFS5I0ceLEa6+9tqCgIIENQ1KSwYMHP/zwww8//PCXX37Jfl5UVHTNNddgAg0EQZCUR+0YdVkY5ThGu7q6oPgSRxgVr0rPrmAqx2hra2tDQwMconRzjIrnGE0iYVQhKvl8Pj2PiN/vp8KHIpTe3gJcoOAocoy67Bj1oDDKCaWHg6PQv4qKinbs2EHiE0Y5NkDoA6YOV1ZWliRJdG5G81Iy6xhNeWEUQulhjkoNNQvTo0r7gwcdoyCMJtxq5vP5cnJy6IFtbm7u6OiAY47CKIL8PyZMmHDKKads2bLl66+/bm1tLSgoGD169IgRI7AmtWusXbv2d7/7HUxEU2RZ/vjjj3fs2PHAAw9wRgUIYo2ysrLf/OY3u3bt2rJlS319fXZ2dkVFxdixY73zZowgCII4B4xIZVmWZVmSJJdzjHIco4cOHQKDp4gwGovF6C7orWlWGGVD6dkIHhRGFSSjY1ShmHCkKBBAFcWXkj3HaLKE0nOEUZDAFB3PsmOU3X2ODdBaOgVJkjIzM2kDLOcYTatQepHiS5IkBQIBepm46Ri1FkqfcGGUENKrVy8qjDY1NbGP3TQMpUdhFNElIyPj1FNPPfXUUxPdkHRk586djz76qEIVBRoaGu65557HHnvM3nxGCEI54YQTTjjhhES3AkEQBHEbhUMqGAx6pyo9xNH7fD5O9LqiPA5HU7BFGM3MzOSM0lMSQ2EU9KmEB4qKoxBGOf0B/qTIMWqvMKqXYzRtQ+lFcoxCx1M7RumC045Rs30gFArRBmiqvWaLL6WeY1Th+hcpvkQICQaD9GQpcoyyJblsx5ow6oU7JBzM5uZm9rGbho5RzDGKIF7k6aef5ico2bt37/r1611rD4IgCIIgKQ87zKaDUhBGqRPH6QZwQulBGC0pKRFUCvjR9Oz0s9lQerbyUrpFU6WkY1TRVE4HU1T3spZf0hA9x6hzofQ+nw8mFZI9lF4vx2hDQ4PingB9VVOiMptj1Owdkn8piXSt1A6lZzt/LBaDhwInlJ6o0lCwcrlz92pTOUbb29vpghccoyCMKhyjKIwiCJJ4Wltbt2zZYrjaP//5TxcagyAIgiBImqB2SLGuJRcUQFYYhcB5Sk1NDV0oLS3lbEHQ5EWOl01FEkTCaLy9vZ1VaQ2/mGKIF19KIqVGPJReIYyCvG5vjlEQvNgMicRJxyhh9tqDwqipUHo9x2gsFoM8xYqvaPZVQRugtVB6YiSMYig9qzC2tLTAE4HvGIVjogild/R2ZMoxypfjXQYK0zc3N4P0HAgEUqY7iYOh9AjiOQ4ePKgXRM+yf/9+FxqDIGaJRqPbtm3buXNnZ2dnfn7+mDFjBgwYAH9qbW3Nzs72zqs2giAIAqhtL3r1TBwCQum7u7s7OjpYQ41ISXpyvDbBf5syG0oPo3FZlnft2kWX0y3BKGH0BUNh1AvDfkEUKoBIKH13d3d3dzeINclelZ4QEggE6PUOF4533tZEhFFDxygh5MiRI+x/+e5mdvdFcoxaCKWnC5o7hcWXFMIoLPMdo3Ac1I5Re9vJ4vf7fT4fvXCSqPgS0QmlT0O7KEFhFEE8iIgqSgTKrSKI+3zyySd/+MMf6urq2A/Hjx8/bty4f/7zn//+979pKYyhQ4fOnj377LPPttdhgSAIgsSDWhh1VIhRwxZ8aGtri1MY5Yc0Wq5KT5jJ6TQURuEcdXZ2hsNhtdyQjKH0FnKMUmFU5CsWMMwx6oTKoxbgvCOMioTS60lgvXv3DgQC9G5QV1c3YsQI+BO/r0qS5Pf76Vl2KMcoXeDnGE3bUHr2+mpuboZlQccoW4KJOH98YF7BMJQehFEvTB2xwig4RtOw8hJBYRRBPAjNV6WIIFODVekRr/HGG288/vjj6q5bVVVVVVUF/5VleefOnTt37ly/fv2yZcuS7k2OX+YYQRAkeWFH4Ioco+44RlnxsbW1tbi4mC5HIhEonCIujPKnkC0XXyKEwJMuDYXR/Px8WG5sbFQnEwCVJ3mFUZGq9LFYjO1C7jhGHb0e1bvgnar0hpltiX5cvCRJRUVFNBdHfX09+yfDvhoIBOhZdsIxCu1UJEwQ32xKhtLD3Zg95lCSPhAI9OzZk/N1To5R25vKkpGRQX8xSR2jTU1NYMvle3JTFRRGEcRz5OfnV1ZW7tixg7/a6aef7k57EESE6upqTVWUw7Zt2+6999577rnHuVbZSFVV1TvvvLN9+/b29vaePXuOGjXq/PPPHz9+fKLbhSAIYhvq0FHnir1owhpV2EIQNTU18HxJlDCanZ0NwZJAmgujR48eVQujoEQkkVJjzTHKCjcOFV+CC5DiTo5RdTMSjkhVeo43sLCwkAqjisL0hu7mjIwM2p8T6BhN26r0mqH0ubm5fHeCYlKBn0bWRjRrRmkCp9tTwmgkEoGAv/QMpccYRgTxIgsXLuSvUFhYOHPmTHcagyAiPP3006ZUUcq2bdv+/ve/O9EeGwmHwytWrFi2bNnGjRtpKcn29vaNGzcuW7Zs5cqVikELgiBI8qKOQ3c0dFdNKBSC4SVbmB7i6CVJ4muR4lXpzQqjkiSpAwzTsPhSXl4eHGRFKRtCSCQSgQObvMKoYPElVrix1zGqF0rv6ESFepseFEYthNITJs2oWWFUU6RTYFkYxeJLmmgecwilNzQzKhyjroXSw7lIrlB6KL5ECDlw4ABdSM9QehRGEcSLjBs3bv78+Xp/zcrKuuOOO1JmYhBJAZqamr766itr333vvffsbYy9yLL8wAMPfPTRR5p//cc//rFq1SqXm4QgCOIQ6tK6LucYJccXpocPQRgtLCzkS7TO5RglqjF5Tk4OP6gzJZEkCUxGamGUlXiS6E1VISoJCqOsfdihHKOKyVfo0mnrGI3FYpqB54QrgUFSjm+++ebFF19855131q9f/8knn8AZ5DhG6QLHBgh3ErN9gK/2QtvSNseopmOUn2CUMNcO7SeuZYMR6SoUbzpGCSEHDx6kC+kpjGIoPYJ4lKuuuqqoqOipp56iDjWgvLz85ptvHjJkSKIahiBqDh48aMEuStm1a1ckEvHOy7eCTz75ZMOGDZwV/vnPf06dOnXixImuNQlBEMQhODlGXbtLZ2dnNzY2kuND6QUrLxGt+lF6xC+MpmEcPaWgoKChoYEYCaNJZGETD6XXyzHqUCi9m47RpBBGCSEdHR2aIiDHMVpYWEgXGhoa/vKXv6i/G48wGr9jFIsvsRiG0vO/rnBbuxZKLyiMyrIMp9sLjlGamoAO4uDujcIogiDe4vzzz586derHH3+8c+fO9vb2goKCsWPHjh07Fgu/IKmELMutra1emDXV5K233hJZB4VRBEFSAE5VetfKsGg6Rml+QCIgjIrnGLVg91OMydMwjp4CaUbVwigr8aSkMOpOjlE9x6jLVek9WHyJ6KcZFXGMimyfRSSUHu4zDoXSc+Rp9heT6HLjww+lF3eMul98iS7wJ+Q6OzvBSuKFsY/f78/JyQHdmZKeOUZRGEUQT5OdnX3uueeee+65iW4IgvDo06cPzDeaRZIkzz6AZVmurq42XG379u1Yqh5BkBRALYwmxDFKF6w5Rq0VXwIbIB/F0yptHaMcYTQ1HKMJzzGq5z7D4ktEXxjleAMHDRo0derU9uMREfFF1K74iy/xhVGO5s6KfUl0ufGJUxhVFC5zLccoNJtfewASjBJvOEYJIXl5eSiMEhRGEQRBkPgpKCiorKzcsWOHhe9WVFR4581bQWtrq2EOdUJINBptbW01jO5BEATxOF5wjKqF0Wg0CtVyHRJGBe1+ijE5CqNqYZTN/+iRYb8IClFJxDEai8WcyzEK70WyLEejUbXm4o5j1DuvZ4pQes11OMJocXHxbbfdpvgwFou1t7e3tbW1t7frWUpFSo2LKJiaxF+VPi8vb9asWXS5d+/epn7ds9hbfMlrjlH2XHvBMUoI6dWr1/79+9lPUBhFEI8Si8UEZ/IRBEkUV1xxxdKlSy2YRuGVzoP07NnT5/OxIx9NfD5fGtbfQBAk9fD5fGD/V+QYTWAo/eHDh0HETKwwio5RSuo5RhXdmyNFwZDE0VB6RRk02p5oNApvWenmGGX7kqEwKniz8vl8OTk5fA1IJJTeso03/qr0vXv3vuGGG0z9qPdhTdkQjwXCKFtFXRO9HKNO345Eugo53jHqEWFUbcJFYRRBvMXu3btfffXVLVu2NDY2BoPBoUOHzpgx45xzzrH3zQNBEFs45ZRTLr/88ueee87Ut8aNGzdt2rSmpiaHWhUnfr+/srLy66+/5q82fPhwvC8hCJIaBAIBth59AqvSg2MU4uglSSotLeV/HYsvuQAIo01NTd3d3ezRA9EqGAwmka3BQo7RWCzmXCg9K+1FIhFqLWRNi+mWYzQYDPr9fnrNWsgxahkRG6DlqvTQzlgsFg6HFUfbcoR+ssPub3d3dyAQ6OjogJMrnmNUIYx6pCq9N0PpFZ+kpzCaNI8rJN147rnnrr/++vXr19PKpOFwuLq6+uGHH16yZAmtg4kgiNe44oorlixZog5y0Xu+jh8//le/+pXHU3OKGFrPO+88F1qCIAjiAjAoTZRjFELpwTEKwmh+fr6h64fVJvh+fws5RtkHnCRJhhVdUhUQRmVZVkxtgmiVRHZRomqtYI5RF6rSE0ZnYQWXdHOMEoEa7nA6nBBGnahKz0mcKssyuIPTbepdPbkFdlHi4RyjgsIo9F5Jkjxyk0RhlJJe8w9IsvDyyy8/++yzmn/auXPnHXfc8eCDD3pkjgVBEJZzzz138uTJn3322c6dOzs6OgoKCsaOHTty5MiNGze+9dZb27dvD4fDgUBg5MiRs2bNOvPMMyVJ4r9AJJzp06e///77X375pd4KJ5100owZM9xsEoIgiHMo4gHdd4xyhFHDOHpCiCRJkAJF0DHq9/sFp+hYYTQ/P987fjqXAWGUEHL06NGCggL4b5IKo+LFl9hQeneEUVB2UBhtb28nOsIoW/HGxgvTMMeoLMswAROnMMreXpwzI3sftTDKlgYyzDGqEEZdc4yKpKMljGM0FAp5xBqiEEYlSUrP/GDpdZkhSUFtbe0zzzzDWWHv3r0vvfTSlVde6VaLEAQxQY8ePc4666yzzjqL/XDChAkTJkwghLS1tcGgNynw+XzLli275557vvrqK/VfR48evXTpUo+82SAIgsSPQhhNYI7R9vZ2mmXelDBKCPH7/VSqEMwxKi5psT6atI2jJ4T06tULctEq0oymhjCa8FB6Tccoq/2loTDKr+HOVv2y0RtomDgynj7ASZyKwihF7Rg1FEbh7CuEUdcco4LFlzySYJSo0rb26NEj3UzKlPS6zJCkYM2aNYZloN95552FCxem23MCQVKARKmijY2Nb7755qZNm2prazMzMwcMGDBt2rQZM2aI3EZycnJWrly5bt26NWvW7N69m344ZMiQ2bNnn3vuuen59uB92tvb33333Y0bN9bU1ASDwYEDB06ZMmXq1KmoYiMIHz1h1H3HqCzLbW1tubm5IIwaJhilQJpUcceoYNtYZ02XYEwnAAAgAElEQVRJSYngt1KPQCCQm5tL1YqUFEYT7hhl5yES6Bj1lCc6IcKoYXy0C8Jour1nKnKMEkYY7dmzp2HPV1Sl91ooPThGvSOMKhyj6RlHT1AYRTyIpi1LQVtb2969e0844QQX2oMgSLLz8ccfr1q1Cl46jx071tjYuG3btjfeeGP58uUiI22/3z9r1qxZs2YdO3asubk5Ly/POy80iJotW7asXLmStRjU1NR89tlnr7/++rJly4qKihLYNgTxOHqh9O47Rsl/ggwOHz5M/yvuGKULTjhGwSmZzo5RQkh+fn4qCaOK1go6RqEL0QQONrbH0DHqxPWolpw85Rjl5xh16OAY2gDjUTA5OUbRMUqhnR9C6Q3tokQlULoW9CBYlR56r3eyAioco2krjGLxJcRzsENZDp4tY40giKeoqqq6//77NV+j9+7de+uttwrecyg9evQoLS1FVdTLVFdX33nnnZqndefOnTfffLOpM44g6UbCc4yyo7LW1ta6ujoYZ4o7RukCf4AKmQHFJa1AIHDmmWeOGTNmzJgxFRUVgt9KSSDNaGoIo36/n5VjRIRRttqP7Z4+jzhGPSWMgpCk+UbHOkbdzDEaj4KZmZkJUSwKYdQ5M7L34YTSG1ZeIszZ7+rqYi9Sp4VR2L54jlFH2yOO4qimZ4JRgo5RxIMIRtqm7WwGgiDihMPhhx9+mFOYuK6u7oknnrjpppvcbBXiHNFodNWqVZy30sOHD//5z3/+xS9+4WarECSJUNgtE5hjlBDS1tYGJZiIsGOUDXbmrAaKhind4fbbbxdfOYVJMWGUEJKZmSlSXhx6F5tj1HZPn0eq0mMoveEsC3uTMdsNaF1yqvNyQuk9JU+7gF3CaCwWY4+q06H0ZosvecdjkZeXB5EQRMyWm5KgYxTxHCNGjDBcJxQKlZeXu9AYBEGSmn/84x/19fX8ddavX8/Wu0SSmo8//rimpoa/zgcffICmUQTRQzG6c98xGggEYATb2toKV3SvXr0EnSywC5xZMWIplB4BUlIYhWWOwsXOHDjXhfx+PyiwMDnhdCi9xx2j/FD6ROUYZT+3oI/DTqFjFFDnGDUVSs9eGq2trbDskRyjHiy+5PP5WF9a2prPUlwY3bp163nnnZfoViDmOO+88wyLY8yYMcNTc5gIgniTbdu2Ga7T3d0tktoYSQq2bNliuE4sFhPpGI4SjUZbW1thfh5JE5LivRQGpQrHqJsSCQzM2trazJakJ8cHO3NWQ2E0HgyFUe8EigrC6iZmc4w60YXUkbmwIEmSE7/ocWGUH0oPdypJkmxstmGO0Xgco0Rf7cUcoxTa5605RgkhbMCBa47RpMsxSo5PM5qoMrkJJ5Uvs6ampttuuy3RrUBMU15e/oMf/ODVV1/VW6G4uPiKK65ws0kIgiQpjY2NIqspxnVI8iJ4KhsaGpxuiSbRaHTdunXr1q379ttvZVkOBAKjR4++6KKLTj311IS0B3GTZHkvVdhe3C++RAjJzs6mZv/W1lazJemJ+RyjKIxaAITRxsZGWZbB0wDGPadlCNthLa4JzzFKCAkGg1RlVucYdUivTBZhlB9Kb2/HM5Vj1EI3ANsgRFjbstmkht1fehysFV8ixztGnX6EJW9VekJIXl7e/v376XLaOkZTVhhtamp66KGHEt0KxCJXX331sWPH3nvvPfWfSktL77777rRNfoEgiCkE4y7TdnY09RCcgU9IavnGxsa77757x44d8Ek0Gv3iiy+++OKLGTNm3HjjjenmCkkrkui9VBEpDNJPwh2j4sKo2ar0eOlZAIRR6n+HN3Nv+qFEMBtK72iOUaKlszid8FexFz6fz1OSnGBVensPjuEsS5zWTnDqKSby09kxyj5r6F0aSi6bdYwmJJSePyEHHdVTyUbYA5u2wmhqhtLTt8/PPvss0Q1BLOLz+X7+85/fe++9o0ePhgw7xcXFCxYseOyxxwYMGJDY5iEIkixUVlaKrJbmxYVTCcFT6f4ZD4fDy5cvZ1VRlg8++ODRRx91uUmIayTXeykrBLDOFzcdozAwa2lpqa2tpcsWQukFhVHxqvQIAMIoOd6qD26+pHOMCgqjbGkvR7V1tTDqsmPUU3ZRIpxj1F69ydAGGKeCWVBQQBcUgSzpLIwqHKOxWAwi4uMJpXf6EQanic0FrAY6qqeuLzaUHoXR1GHr1q2XXnrpZ599hlUjk53x48f/5je/eeONN55++umXXnrpmWeeueKKKzxlO0cQxONMmzbN8E1o9OjRZWVl7rQHcZqpU6canvGKiopBgwa50pz/z1tvvbVz507OCmvXrt2+fbtr7UFcI+neS9kco04Xe9EDXPzfffcdtME5YdRTtrhkAQQdcrymA6KVp/xQIrANNusYdUJb5wij7jhGvVbOQTCU3mXHaJw5RvWE0Tg3m9QEAgFIzRGNRltaWiAheyo5Rj01dcQe2LSNoktBYZTmb1q5cuWUKVMS3RbEBoLBYElJich9EEEQREFBQQE/JXFmZuZ//dd/udYexGkKCgouv/xyzgqBQCAhZ3zNmjWG67zzzjsutARxmaR7L2Vz6rEmKTftLTAw27t3L3woLoxijlEXCAaDkJOEdYw6ZNxzAbPFl6iXjS47IV2BvuNajlHFZj3laCPCxZfs1ZtMOUYt3ElAGKVZle3abLLDXmWQYJSYzzHa3t5OF+wtycX/XX6OUacTYlgDhVGSkjlGFy9ePH36dNYPjCAIgqQtP/zhD5uamjTruYVCoV/96lfl5eXutwpxjvnz59fX12uKjMFg8Kabbho+fLjLTWpoaKipqTFcDR2jKUnSvZeydstEOUYhlA/UgezsbPH88ugYdYf8/HyqO2iG0qe8MMo6Rp3oQpwcow5JPIq98JowCj0qEolEo1GFGJ0ox6hdofRNTU3sTqWzY5QQEggE6IGNRqNQkp7E4Rh1wZ4pOCHnUEeNE/bApm0plxS8zC655JJENwFBEATxCpIkLV68eOzYsS+88EJ1dTWNxwmFQpMmTVq4cGGfPn0S3UDEZiRJuv7668eOHfv888/v2rWLfhgIBMaPH79o0SL3g+gJU1DVltWQ5CLp3ktZOSZRjlF1jjNxuyjBHKNukZ+fTwsZgzAaDofBRJnUwqincoyqHaPuhNJ7TRhly3l1dnYqfG0Jd4xKkhSPY1SW5cbGxqKiIsVmfT4fxJWnD6zICK9GgUBApHJmRkaGJEn0bR9yjLqgQgo6Rp2+iq1RXl4+a9YsuozCKIIgCIKkLKeccsopp5zS1tZ25MgRv9/ft2/fNJyBTysmTpw4ceLEhoaG2traQCDQv3//BKaoFnzLTNuXUcRTsKpiooovqUP5HBVG8XFgDai/BMIom/wx6arSs0ouR+FihVFHHaNwxbnmGE2WHKNESxgFI569wiibWkRzBdZ4bkHBVOTqVQuj6Xl3YoVRKEmfm5srcoRp1Dy9WNx0jMJVKcuy2tFMYW3mnrq+Bg4ceMMNNyS6FQkmHa80PWRZ1szlbDv0xtrd3a2ZIQXxLHi+kgX6jsKfr0O8Az1fsVjMhUvM7/dTi6jCCYWYgs7Dd3Z2et9m1aNHj8GDB9PlBN7De/To0bdv30OHDvFXGzlypBONpF09EonYvvGkEz6Si4S/l3Z1dbGVK9x8cVUPYouLi8V/HQbPnZ2dnG+BkiJJUjK+4yW8zTCXU19fTxsDEgZJwqPKipucdxKwxEajUcEuZO29FJ6wHR0ddOPwE4FAwIljC7tG8fv9nj2DjY2NCvPgsWPH6EL8zWbfS+GYdHd3Hzt2TC3MQRZLayclKyvL7/fTX6ypqRk4cCD93MbdSUag83d2dkIofXZ2tt6hULyXgjAKbtOMjAynDyM7D9fa2qppmVe0IQ3PLMWb76UojP5/ZFlm3/+cBoflSYeb3QOJn87OTneGlIgtdHd34yWWXMBgABFhypQpL7zwAn+dyZMnO3cVhMNhNl+kLaAw6iiJei+F+r9dXV1scjc3H6lq9SEvL0/8aMAudHZ2cr4Fe+TyobaLhLcZbPgNDQ20MWyy0Wg0mvAWmoKVBSORiF7jwfClGNUb7qzZ91K4Co4dO0Y3DmKZyM9ZQPGM8Pl8njqDrPDU0NCgSDcJB8euZtP3Uhity7Lc3Nystgb/X/buPT6K+t7/+Hc2m5DLEsItXCLXiiIKxAsSbQFFCyhtvdUeaBVrW3o8PKpFj7bQy49U60NsKyVeOD6OWhVb0dZ6tC2KrRURlXAaEUEB5cFFuUcDa8gmIZvs/v6Y9nvG2Us2yVy+M/N6/rXZHbJfMjO733nP5/v9yr5QXl5e9963tLT02LFjQogDBw7I3yDHgHf713qaDEaPHz8ul6UqKSnJ/qcwhtTyn+sP8vPz7f4zGoOdaDSadtS/sQ2e+4S0nGr9Uu8Fo7NmzUp9cs2aNT3/zZqmOdPF1yezD4fDqk3dgkz0fg9XgF6hT8qen58fzOEnnpNIJE6cOBEKhRwY5wJLnDhxIpFIFBYWBnDeq2778pe/XFdXt3PnzkwbfPGLX5w4caIdb93e3h6Px/lItIn/+qXyoziZTBqrwktLSx1bpMg4vFQ3fPjw3P8acohi9r+h/ATLz8/3Vh9PkX5peXm5/iAajaY2pk+fPq63sEuMM9sWFRVlarwsBEsmkzkeQt3rlxrfSP/lMvEvLCy0429rmnCmV69eKu9BU9tkYJ1l3+XI2C81xlvhcDi1DFB+SObl5XXvffv3768Ho7FYTP4G+WEbDodV3gs2kSFJXl6ejLz79u2b6U9h6pfKrwAZlTpwMJsOlbRvZywpiEQiAdyzOjX7pQo1xXWapqXO9W6H1tZWvQPqzNuh5/QOKPvLQs3Nza+99tp7770XjUb79Olz+umnT506NZcZtXPR2NjY3t5uU68RlovH4ydOnMjLy+MU8wr9Bm9JSQlLOXfJHXfccfvtt2/bti31pRkzZtx00002dRBjsVg8Hi8oKLDqMxbOcKtfKsORZDIpj8lQKFRWVuZAY+Rbm545+eSTc/9ryPAi+99QJhoFBQXe+gJSpF86ZMgQ/UFbW1teXl5xcbExSR8wYIC3umHGCsRIJJLpz2tMD+X/t1evXll2R/f6pfITO5FI6L9cnhdFRUV27H1TDWZhYaHrx5hRJBKRi+qIlONfFvxm2Xc5MvZLjX+TtHtZfkjm5+d3733Ly8v1hSKPHz8uf0PPf62nyftzoVBI1mX369cv05/C1C+VXwFysovi4mK7/4zGr8hM3ynGNTb79u0bwD2rU7Nf6r1g1JKb8ABctG7dugceeMD43fDyyy8/+uijN9xww/Tp011sGADYp6ys7Je//OXf/va3F1988YMPPkgmk/n5+RMnTrziiivOPvtst1uHbvJfv9S46oW8qnR4mQhTAlJUVNS3b9/c/3mOiy/JJIV7PN0jF18SQhw9erS4uFgOFdc0zXOjQIwHeY6r0tu6Qk7qItd2r2dtOhGUWhxGCKFpWkFBgf6hlDopgXzG2gPP+DeRu9uo58eALJCXY8ZF4JeGM36Gy5mLc785Jw9d+SXiwMFs3FNpDxVhCGqFI+tBoUuCeKYhrba2tsOHD8fj8QEDBphuGAIWeuGFF+67777UYpDGxsZf/OIXsVjsy1/+sisNAwC75eXlzZo1a9asWfo6NqlLbwOuk1d3xlXpHY5IQqFQcXGxHHXYpSXpRddXpScY7R5TMHrSSSfJcCo/P1/91flMjDlFlkPCeHTZmq1nCUZtmo3N9GtVC0aFEEVFRZmCUTlZobV5k/GPYHcw2tDQkPprg/npZLw/Jytp5GpvnUo9QZxclV5kXmnNOKWmgudXwBGMQhw6dOiJJ55444039G8aTdNOPfXUOXPmVFVVud00+M2+fftWrFiRmopKDz744IQJE+SajADgS3l5eaSiUJO8DjcuE+r8tPi9e/cmGFVcJBLp1auXfvmgL7skB72mXZFZccboJEvIJY+WRCJha3olcxMZpth9o8L0v1ZwMYyioiK9fjB1MWubytuNf5O0aVfPP0ayB6PBrBg1BqNyDcDcg9HUY8CBFJJg1Os8disPlqurq1uwYMErr7wiv06SyeSOHTuqq6vvv//+LAEW0A2///3vMw0u0HV0dDz99NOOtQcAABgZK0blVZzzl3DGOwddDUaN/4UsmxGM9pyc4kAPRmUdnxeDUWObsxwSxqH0th5CzleMqh+Myn3kWMVop+Oj5ZPd/nPJYLS5uVkGvlSM6g+amprknu3GUHrJgYrRrg6lJxhVDcFooO3du/fnP/956j033V/+8pdVq1Y53CT428aNG3PZhkQeAABXyKs7dytGexKMyiih03uxpu3RVXI0vQ+C0a5WjDo/x6hMiAIbjMrVq1KDURk5WRuBdVoG2PMEc8CAAfKxLBrted7qafJQNFbR9qRiVJGh9PL5vLw8vndUQzAaaA8++GDq94rRqlWr6uvrHWsP/K2lpcW44FImsVjs+PHjDrQHAACYpJ1j1JWh9PKx3UPpPTcbpjpksZsPgtGioqLIv2SJURybYzTLUHqC0ebmZtNLNqXGxt9m0xyjxrl6ZQ4Y8KXh5B9T/2DR5b4ISuoxoMhQerfWM0QufD5phf+WCrVQfX39O++8k32beDz+yiuvzJkzx5kmwd/y8/ONi8xm39KB9gAA4CRP9EuNk7u5OJTeyWA0mLP4WcI0lF5e9ssAy0MqKiqeeeaZTjeTMbrdc4w6XzGq/uJLWYbSy2PP2lDegTlGI5FIYWGh/j+Swah8r2B+Osk/5ieffCKfVLxiNBwOy+vcTucYZUl6BXGDNLjef//9XCKq999/34HGIAjC4fCQIUM63ay8vNyL/WkAAHzAGIyqMJS+V69exoqqXBj/C1k2o2K05/w0lD5HxtjdmTlGZZgij+cgL76kPzBNBBePx+VVrbV/nNyH0vckwZSV1zIHDPhtG/lnlysvFRUV5X5AurL4kvjsRDRpN3DxXiM6FcQzDTq51md2TU1NdrcEwTFt2rROJ6694IILHGkLAAAwS1sx6nxEct5552malkgk9DKcLv1bFl9yTMCDUVvnGJXRCYsvSfK4MgWjxjVt3Fp8qYfB6IEDB0S6OUaD+ekk/5hySoHcV14SLlWMCiHy8/P1kzTTPTmCUZURjAaXHPySXVfv0gNZXHXVVS+99JJxvhiTvn37fvWrX3WySQAAQEobjDo/7u+000477bTTuvdvjeuGZ9ks4LP4WUJeJuiLR8u4ysfBqLG+2LiUiuVvlDqUXsZ/zgSjCmY3mRZfsi8Y1TQtLy9P/ySxNRjVH6QGo8GsGE39X+c+wahwLxjtdLCCTUuEwRKMHAmuM844I5eP2jPPPNOBxiAgIpHIkiVLjBOHmV796U9/mvsMMgAAwFqKLL7UE12dY5RgtNuM9RNHjx4NVMWoMMQctq5KL1d5svt8DIVCxupsBc/6THOMyls4woY8NzWhNrJkzHuWYDSYn06p/+suXR66sviS6OxQEfZPE4yeIBgNrpKSkhkzZmTfpqysbNq0ac60BwFx6qmn3nvvveeee67p+UmTJtXU1IwbN86VVgEAAPHZK1K59LOCtWNZMMeoY4zB6LFjx4IWjMqYw9aKUf2Nksmk3XOMmt5Uwewm0xyj9lWMis4+TyxZJSlLMKrgXnBADytGU/9ojg2l1x+w+JIXBbE2G9L111+/efPmgwcPpn1V07RbbrmFZXBguSFDhtx+++319fXvvvtuNBrt06fPGWecMWjQILfbBQBA0BmvSGX64K2LcypGHdOnT59wOKyHOAGsGLV1KL0x/YzH43l5eXJ9IfvOR+N/RMGzPpc5Rr1YMTpgwAD9wdGjR5PJpKZpAf90snwoPYsvoVMEo4HWu3fvu++++/bbb9+5c6fppeLi4ltuuSW1rA+wSnl5+fTp091uBQAA+D8Eo8idpml9+vTRy9wCEowa64udrBh1JrLMz89X+azPNMeocSi95cde9opRa+cYbW9v//TTT8vKyphj1PRMl4bSu7j4kv6g0zlGCUYVFMQzDUYDBw6sqal55ZVX1q5du3fv3ng8PnDgwHPPPfeyyy7r0upvAAAA8DrjFalHh9LLCCnHofQEoz3Rv3//QAWjjs0xmloxmvYlaxn/I4oHo3plpf6jixWjlkwGKoNRIURDQ0NZWVnAP508WjHaaTDKUHqVEYxChEKhiy+++OKLL3a7IQAAAHCTDypGjetHZdks4NGDVeQ0owEMRv1XMWo8/RW8HSKPq2Qy2draKnNS446wfF84UzGqaZo+VcInn3zyuc99jopR0zM9nGPUmU+k3OcYVfDkAnONAwAAABAiQ8Wot4JRhtI7SQajDQ0NsnAvIMGorYeQqWLUGLU4E4wqeNYXFxfLx8bR9LaOUM6xYrQnCWY4HJZDxfX6a4JR0zNdGkqfWo/pzMFMMOppBKMAAAAAhPjsFamMHrx1FdfVVekJRntCBqOHDx9OJBL644AEo9mf7CFTMGqcRjOwwajxuDKuvyT/OHYceDkuvtTDY0Cuv6QHowH/dLJ8KL0zQ9dls41nqxHBqMoIRgEAAAAI8dkrUgdWwbZDjhWjMsULZvRgFWMwKp8MWjBqR1mf8aRzrGLU+JsVPOvl2Hnx2WDU1ls4DgylF5+tvLbw13qU5YsvqTbHKMGogoJ4pgEAAABIlfY63FtXcTK6SiQSxhVaTOS1q3GdcXSVDHSMWYAxwPKZtEeLA3OMGt/XvvI3Z2Yy7TZj4G4cSm/rmjbOBKOmilGCUeOPeXl5kUgk93/u1hyjnQ5WkHM+sPiSgugHAAAAABDCX8GoyFo0GvDBqlaRwaiRjy/7HRtKHw6HZabvSsWogmd9popRr88xKgwL0xOMipQTqrS0NNP9rbRMJ0goFHLmz5j7HKMK3nUAwSgAAAAAITJEPN66iiMYdVLaYJSh9JYw5izOBKOKV4yGw2H5p047x6gdiXz28dGWB6OffPKJCPynk+mP2aUJRkXKYeDYfZpOg1EqRlVGMAoAAABAiAyX9wpGJFkY/wtZ1l8KePRglbKystRiLh8Ho44NpReG+se2tjYZteTl5dk3+YPic4wKQ9Fo2lXpbR1K70zF6PHjx9va2gJeMdrDYNRUOOxY7XP2Q0Uwx6jaCEYBAAAACOGLofTG/wIVo3YLh8OmdVE0TfNxMOrYUHrx2QI0ZwbhGs8dNc96GYw6NpQ++8SRVn2MyGA0mUwePXqUYNT4Y5dWXhIp54jzFaMsvuRFBKMAAAAAhBAiLy8vtQBQzdqxTIz1dJmC0WQymUwm9ccEoz1kGk1fUFDQpQkBvSVttabdQ+mNFaO2RiryXNA0Tc3zQmbuzg+lT1sGKJ+0avElIURDQ4NM1tTcC3bzaMVo7nOMMpReQUG8BQEAKvjwww9fe+21Dz/8sL29fdCgQZMnTz7zzDN9fC0BAFCfHoiYCl68Vd6SS8Wo8flgRg8W6tev3549e+SPPi4XFc5WjMrzLh6Py6Pa1rsU8pcrey8k+1B6Wxdfyl4x2sNgtLS0ND8/Xw/UGhoarPq1HmVtMOpYCpm9uDgej8u7cd76Sg2IIJ5pAOCutra2Bx544K9//av8ghRCPP/886eddtoPf/jDwYMHu9g2AEDAeT0YNaZUmYY0EoxayFQxGsBg1IGKUWeCUfkuyp7yfp1jVNO0vn371tfXi89WjBKMim4Npdc0TV5kKbL4kjxKhcLnV5AxlB4AHNXe3v7jH//4pZdeMqaiuu3bty9cuPDw4cOuNAwAAJEueVG2fCwtKkYdFqhgNO1QeptWQzJWjDozlN6Z+LUn0g6ldyYYtbViVBhG0xOM9rBiVHz2AFZkKL3xSYJRBRGMAoCjfve7323dujXTq9Fo9Be/+EVqZgoAgDNSg0JvXcXlMscowaiFTMGorOnzJVcqRp1ffEnZYDTt4ku2rmmTJe1KJpMWBqNy/SXjUPpgfjqZ/tfdCEaNR4LzQ+mpGPUiglEAcE5LS8v//M//ZN9m27ZtmzdvdqY9AACYpF7hK5uSpGVsP0PpHRCoilFN01Kng3dy8SWG0usPjDGTWxWjHR0dFq7hJoPR+vp6+WuDWTFqOsh7GIw6XzGa9ntHxveCxZeURDAKAM555513jJMiZbJx40YHGgMAQCo/BaNUjDogUMGoSHfAOLD4ksPBqLKnfPZV6e2IwLKUARrzLwsrRo1zagUzGLW2YtSxT6TsQ+mNwaiyNx6CLIhnGgC45ciRI7lsxjSjAAC3pF6Ke+sqznhRnSkYTSQS8rFNE0QGhykY9X0xVDgcNlWE+WaO0bKyskgkIroVRTkj7VB6WytGs5QB2hSMHj16VD4ZzNs2ply+d+/eXf0NxtPEsZSfYNTTCEYBwDk5fjfzfQkAcIvXK0ZzCUatTTQCTgY6Ot9XjKbGoL5Zlf7qq6+++uqr7fv9PSePLsdWpc+Sdhk/XixcfMm40kAwP52Mn+HFxcXduCwyniaOfSJln2OUofSKC+KZBgBuGTFiRC6bDR8+3O6WAFJjY+OWLVsaGhqKi4vHjBkzcuRIt1sEwE2mS/H8/PzUSRVVZryozjTHqLFiNJg1WRYqKCgoKSmJxWL6j74PRlMPGAcWX3JmKL36sg+ld3iOUZsqRtO+e6AYD/LuFS8rOMeojO81TQv4WaymIJ5pAOCW0047rby8vL6+Pss2mqZNnTrVsSYhyI4fP/7II4/87W9/M1Y9nHLKKTfccMO4ceNcbBgAF6UGo261pHu6uvgSQ+l7rl+/fjIY9feq9CLdAWNTtu78qvTqSw1Gk8mkrfMM5DjHqIWLL6V990Ax/jF7How6vyp9IpFIJBKmDwrjKeyte40BQT8A8J5kMrlly5bf/e53DzzwwBNPPPHWW29l6vdDNaFQ6Nvf/nb2bS655BIqRuGAhoaGhQsXrlmzxjTU9IMPPvjBD37w6quvutQuAC4zXYp7bnYX40W1sTLUiJRAfGMAACAASURBVMWXrGWcZjSAFaN2L75kXJXec+ejtVLnGG1ra5Njz12cY7TngXVhYWFJSYnpyWB+Ohm/g0pLS7vxG9ytGBXpYnRblwhDzwXxFgTgaTt27KipqdmzZ4/xyaFDh954441nnnmmW61C7qZNm7Z3795Vq1alfXXixIk33HCDw01CACWTyTvuuOPAgQNpX21vb1+2bNmIESNGjRrlcMMAuM7rwaimaZqm6VlJLhWjwYwerBXwYJSh9I6RwWhHR0c8Hs/Pz5cjlIWrc4xa8jHSv39/WXmtC2bFqPF/3b2KUeNp4ljFqCkYNb2vPFA995UaEFSMAl7y1ltv/eAHPzClokKIgwcP/uQnP6HCyyuuu+66H/3oR+Xl5cYni4qKrrnmmjvvvJPvSzhg/fr1O3bsyLJBW1vbY4895lRzACjE60PpheG/kGnxJYJRawU8GLV7KH1bWxtD6XXGo0svGrV7sW/jHKPGZZHEZ6NSSxLM1NH0BKMeGkqfY8UoKy+pKYhnGuBR0Wj0rrvuMn79G3V0dCxbtuyUU04ZOnSoww1DN0ydOnXKlCnbt2/fu3dvPB4fOnTohAkT+KaEY3K5j/LWW281NTVFIhH7mwNAIaaUx4tBTDgc1q9LqRh1RqCCUVfmGGUovc44g21ra2tpaandFaPGkK6jo8P0Y9rNuk0uTC8F89MpLy9PVv17aCh99umtubehOIJRwDP++Mc/NjU1Zdmgra1t1apV//mf/+lYk9ATmqaNGzeOJW7gig8//LDTbdrb2/fv3z927FgH2gNAHV4fSi8MaQJzjDojUMGo6YAJhUI2LaUiTz2G0kvGYFSvGDUGo3Z8WBl/ZzwezxR+WRKMGs8jC3+t52ialpeXp/95qRiFM4J4pgEe9cYbb3S6zYYNG1JXwQMAk9QeW082A+AnpuTFi0GMjK4yVYwaA1N6TT0X5GDUvmDduPiSPA29eD5aKDUYNY6ls7tiNB6PGxtg+f0VKkalmpqa9vb25ubmkSNHduOfs/gSuopgFPCGjo6Ow4cPd7pZU1NTNBpNvd8IAEaDBg2qr6/PZbNcfltHR8fBgwdbW1v79u2b2q0H4C3+GEqvP2AovTOCHIzaV9NnnGNUhilePB8tZBpKL+yvGM2SdlleMcoco9LnPve5nvxzFRZfMr1KMKq4gJ5pgOfkPkjHpuE8APxk8uTJW7duzb7NqFGjTEuEpfr000+ffPLJV1555fjx4/ozw4YNu/LKK2fOnEkRFuBRDKVHV1VUVDz66KOapkUikeLiYrebYy/nK0bj8Tipiq6goCAUCunntfMVo6YbLQSjynK9YjTLHKMBP4WVxUUL4A2hUGjIkCGdbhaJRMrKyhxoDwBPu/TSSzv9rPj617+efYPdu3cvWLDg+eefl6moEGLfvn01NTVLliwxFnEA8BA/BaOdVoxqmsZdnJ7Tu6mDBw+ORCK+/3ua/oP2BaPGxZdYuUWnaZpMP/VgVK8bFULk5+fbcexlSbvkj1bNM5sajHLbpntcqRg1zbpgelX2ir34lRoEPv/eAvzk85//fKfbnHfeeVSMwn+SyeT69etvv/3266+//hvf+MbNN9+8atWqxsZGt9vlYcXFxYsWLcpSiXDppZdOmTIly2+IRqM//elPGxoa0r76j3/8Y/ny5T1tJQA3+CkYNVaGGsnnyR3QVc4PpW9vb6fcTJKj6fVI1O41bbKkXTIYteoY6NevnzHb1Rdnt+Q3B40riy9lD0ZZfElxBKOAZ1x11VW9e/fOskFBQUGnFV6A5xw7duzWW2+9884733zzzUOHDjU0NGzfvv3xxx//1re+VVtb63brPKyysvLuu+9OLUUvKCi47rrrbrzxxuz//Mknn8yUiurWrl27ZcuWnrYSgONMF/leHMvZ6Ryjcoi978sbYTnHKkaN4Y4sNwt4xagwBKOmVeltioyzTBwp769Y9SEZCoWMo3m4bdNtrg+lZ45Rz/FeRwcIrD59+vzoRz9asmSJcTIdKS8v79Zbb81luD3gIS0tLYsXL967d2/qS01NTT/72c9+9rOfnXvuuY63yydOP/30hx566I033ti0aVNDQ0NJScmYMWMuuOCCThdQam9vX7t2bae//6WXXpowYYJFjQXgED9VjGaaY9TyUi8Eh2NzjBpzlmQymfpkMMnVvUxzjDpQMWq60SLDLws/RgYMGHD06FH9Mfu621wZSq9pWjgc1g+S1HtyDKVXHF0BwEvOPPPMX/3qVzU1Nbt27TI+f9JJJ914440TJ050q2GATR577LG0qagumUwuX778N7/5je/XwLVPOByeNm3atGnTuvSvDh061Nzc3Olm77//fnfbBcA1pqDHi1dxDKWHfZwfSm/kxfPRWqah9E5WjGaaY9TCY6Bfv37yMZ9O3eZKxagQIj8/Xz8qGErvOQSjgMeccsop999//3vvvbd169ZoNNq7d+/TTz99woQJfHfCf1paWl588cXs2xw9enTdunUzZ850pknQ6WUanYrFYna3BIDlTHGMF6uWZE6RenWqk5WkdJ/QVc6vSm/kxfPRWqah9C7OMWr5UHohhHHIDvXs3TZ27NibbrpJf+zknzE/P18/LLMEo5zCauJkA7xH07QzzjjjjDPOcLshgL3efffdtBNHmGzatIlg1GF9+vTJZTNj4QMArzAFPV68iuu0YlSWehGMoqucX5W+0ycDRQ4SMlWMOj+U3o6PEePC9ASj3TZo0KBLL73U+ffNMr01FaOKY7pxAICi5CxL2WVfAgh2KC8vLy8v73SzyspKBxoDwFqmq3EvBjGdBqNUjKLbXJljNPuTgZKpYtSmEdP6xJH6Y1MZoB01gMZglE8nz5FHAosveQ53IQAAiiouLs5ls0gk0u23aGpqqqur279/fyKRGDx48LnnnmtcDxSZaJp22WWXPfTQQ1m2CYfDX/rSlxxrEgCr+GnxJeYYheWYY9RdmeYYta8QT66oY0q7jhw5oj+wcHwMFaOelqVilMWXFMfJBgBQ1KmnnqppmlyJNZMxY8Z045cnk8mnnnrq97//vXG6zHA4/JWvfOWb3/wmvZZOfelLX9q4ceOWLVsybfCd73xnyJAhTjYJgCUCFYyahkUDnXJsKD1zjKZlWpXegWA0Pz9fD2FNadehQ4f0B4MHD7bqvagY9bRcKkYZSq8mugIAAEWVl5dPmDAh+zbhcHj69Old/c3JZPLOO+98/PHHTYsItbe3P/vss4sXL85lbtOAC4fD1dXVVVVVaV/67ne/e/nllzvfKgA954NgNEvZjo6KUXQbQ+ndlSkYte+TKtPniQxGLbwNbFx8iX3tObkEo+xWNRGMAgDU9e///u/Ze7pXX311N/qjTz/99Ouvv57p1ffee+/BBx/s6u8MoOLi4urq6jvuuGPKlCnl5eW9e/ceMWLEZZdd9t///d9XXnml260D0E1+WnxJziVqQjCKbnNyKL2maalP2vR2XmEaSu9AIV7atKujo+Pjjz/WHw8dOtSq94pEIrLfy6eT52TK0JPJpHyGilE1MZQeAKCu0aNH/+hHP1q6dKne/TWZMWPGvHnzuvo7m5ubn3766ezbrFmzpnuRawBNmjRp0qRJbrcCgGV8UDEqAwUqRmE5x4JRfdkfU+mZF89Ha5kWX3KyYtS4L+rr6+XHi7Xdxf79++u1qMwx6jmZKkbb2trkzGCcwmqiYhQAoLSqqqoHHnhgypQpxiqJUaNGLV68+JZbbkktpujUW2+9ZRpBnyqRSLz55ptdbisAeJ8PVqVnKD3sY5pj1NZpalPPPi+ej9YyDaV3smLU+Hkix9ELS+cYFYbR9ASjnpP2UBGG+F4QjKqKkw0AoLqKioof//jHLS0t+/fvb2trGzRokHEOpq7av39/Lpvt27ev228BAN7lg2CUVelhH8fmGBVC9OrVq7m5Wf4YDoe7cT/YZ4qLi/UHbW1tHR0dblWMymC0tLQ0EolY+HZy/SU+nTwnU8Wo8UeCUTURjAIAvKGoqKh7C9CbdLrMvS7TzHQA4G8Eo0AWjg2lFylnnxdPRsvJilEhRGtrq+sVo9aWiwohvvWtb82ZM6dXr16lpaXW/mbYLVMwSsWo+ghGAQDBkuNUUBUVFXa3BAAU5Kc5RjMFo/LWF8Eouopg1F2mYFTOQW9fMJp2ao6DBw/qDyyfj768vNzaXwjHpC0uFoYJHwSLL6mKOUYBAMFyzjnndHqdr2naeeed50x7AEApPghGmWMU9jFNKmrrIWRKQr14MlpOLr4khGhpaXGrYvTw4cP6AwuXpIfXZfrqMQajnMVqIhgFAARL7969r7jiiuzbXHDBBcOHD3emPQCgFB8Eo7kPpbd15Rz4kpNzjJrOPipGRUow6voco5ZXjMK7chlKT8WomugKAAAC59prr62srMz06siRI7/3ve852R4AUAdzjAJZMJTeXcah9LFYTJbmOVAxKtOuaDTa0tKiPyYYhZRpVXoqRtVHMAoACJxwOHzHHXdcfvnlpusZTdOmT5++bNmykpISt9oGAO7yQcUoQ+lhH4bSu8tYMfrpp5/Kx04OpZflooKh9DCQh4oxCTX+GAqFbL2Vgm5jrwAAgig/P/+GG2646qqr3nzzzX379iUSiaFDh1ZVVZ100kluNw0A3GQKerxYpEbFKOzj5FB6KkZThUKhgoICPWlqbGyUzzs5lF4GowUFBf369bPpfeE5mRZfcmDCB/QQwSgAILgGDhx42WWXud0KAFBIoIbSU7yDrnJyKL0pRiFV0RUVFenBqDMVo6kV6HJJ+sGDB2uaZtP7wnMyDVaQOSmnsLIYSg8AAADgn4xBj6ZpXowOqRiFfVwcSu/FuxR2kKPpo9GofNLJOUZZeQlpdbr4EsGosghGAQAAAPyTMQn16FVc7nOMsio9uoqh9K6T6y+5Ncfo4cOH9QcEozDqdPEllqRXFl0BAAAAAP/kg2C004rRRCJh2hLIkZPBKEPp05LBqLFi1Mk5RuVQeoJRGGWqGJXBKPc2lEUwCgAAAOCfjMGoR6/iGEoP+5iqjG2da4KK0bTkUHpX5hg9ceKEDGRZkh5GnQ6lp2JUWQSjAAAAAP7JTxWjnQ6lJxhFV7lYMUowqksNRjVNs++PY0q7Dh06lEwm9WeoGIVRplXpWXxJfQSjAAAAAP7JBxWj8r/QacUoc4yiqwhGXSeH0jc2NuoP8vPz7Vsd3hSMynH0mqYNGjTIpjeFF2WaY5TFl9RHVwAAAADAP2maJuNCj17F5T6U3tZx0PAlJ1elNx2fHj0fLScrRmXlpq0jlE0V6HJJ+oEDBxJVw6jTOUYZSq8sglEAAAAA/0fGMR697GeOUdjHdMzYmq1TMZqWDEYlWyNjUxmgDEYHDx5s35vCi+Sh0tHRIVN7YQhGubehLIJRAAAAAP/HN8Eoc4zCck4OpWfxpbTkUPosz1godY5R/UcmGIWJ8TaJsWiUofTqY/CIKg4fPvzxxx+HQqFhw4aVlpa63RwAAAAElLy68+hVnGx/IpFIJpOpkw8yxyi6zcmh9KYT0KPno+VSY1Bb/zKmVellMMqS9DAx3rqIx+PysKRiVH0Eo+577bXXnnzyyb179+o/hkKhs8466/rrr//c5z7narsAAAAQRF4PRo1ZVUdHR+pgZypG0W1ODqWnYjSt1KH0tk7daFxqPJFI1NfX6z9SMQoT46eBcbwCc4yqj2DUTclk8r777nvhhReMTyYSibq6us2bN998880XXXSRW20DAABAMPlmKL3IEIwmEonULYFcMJTedS7OMVpfXy8DL4JRmJgqRuVjKkbVx+ARNz311FOmVFRqb29ftmzZu+++63CTAAAAEHAy6/HoVZwxCU27/hJD6dFtBKOuSx1Kb2shnjEYPXDggHyeYBQmBKPeRVfANUePHl21alWWDTo6Ov7rv/7LsfYAAAAAwnB159GrOGNWlXb9JYbSo9tMYTqr0jvPraH0Qoj9+/frDyKRSCQSse9N4UWZglEWX1IfwahrXn/9dXnrIJNdu3bt2rXLmfYAAAAAwhAXejSIMQ2lT92AYBTd5mLFKKmKzq2h9EKIjz76SH/AyktIxRyj3kUw6po9e/bkstnOnTvtbgkAAAAgySCAYBQwcTIYpWI0LYeH0hvTLhmMMo4eqTodSs8prCwWX3KNLKjOrrm52e6WAAAAANK3vvWt48ePCyGGDRvmdlu6I1PZjkQwim5jjlHXFRcXm55xrGJ03759+gOCUaTqNBilYlRZBKOuKSsry2WzAQMG2N0SAAAAQKqsrHS7CT2S++JLBKPoKipGXefW4ktCiGg0qj8gGEUq46GSdig9s2Eoi6H0rpk4cWKn2+Tl5Xm9YwoAAAA4ybg8DsEorGVafMnWsJI5RtNycSi9xByjSJW2YrS9vV1+43AKK4tg1DXnnHPO8OHDs28zY8aM0tJSZ9oDAAAA+AAVo7CP6Zgx5aTWomI0rYKCAlNY6VjFqDR48GD73hEepWma/ECQwahxTD1D6ZVFMOqavLy82267LctNg8GDB19//fVONgkAAADwOmN0lXaO0UQikbolkAvTMZO2nNAqVIxmYioatfUvk7qL8/Pzme8OaclzVuahxqVlOIWVRTDqpjFjxtx55539+vVLfWncuHH33HMP5aIAAABAl+ReMWpruR98yXTMsPiSK0zBqMND6QcPHqxpmn3vCO+SJ6m8JycnGBUEowpj8SWXjR8//pFHHlmzZs3GjRsPHz5cUFAwbNiwCy644Atf+AKftgAAAEBXZZ9jNJFIJJNJ/TEVo+gqJytGTTEKqYpUVFRk/NGxVel1rLyETFIrRglGPYFg1H1FRUVXXHHFFVdc4XZDAAAAAM8zZlWpQ+mNUSnBKLrKyVXpNU0Lh8PyGKZiVDIFow7PMUowikxSK0aNQ+mZY1RZDB4BAAAA4B/Zh9ITjKInnBxKLz6byhGMSk4Opc/LyzMN5WRJemQiv31koahx8SUqRpVFMAoAAADAP4xZFcEorOXkUHphCEP16lFb38tDnBxKr2maaadTMYpMsleMEowqi2AUAAAAgH9omiYrvAhGYS23KkbD4TBLUEhOVoyKlFrdwYMH2/p28C5594I5Rr2FYBQAAACAr8irU+YYhbWcnGNUGJIUIhUjJ+cYFZ+tC9Y0jWAUmWRZlT4cDptuq0Ad7BgAAAAAviLjKoJRWMt4zGiaZnfSIXMWJhg1cnIovfjsH79///6E1MgkdVV6OZSew0ZlTFMCyzQ0NBw+fLhXr14VFRWm7yrAQ3bv3r1v375EInHSSSedfPLJjFoCAMBzZIVXIpEwvUQwip4wHjOpy/JYToYpBKNGDg+lN1aMMsEoskgNRmXFKEvSq4xgFBZYv379U089tWvXLv3H/Pz8yZMnX3fddcOGDXO3YUCXrF+//tFHHz148KB8ZuDAgddee+2MGTNcbBUAAOgqWceXvWKUgY3oKmMw6sDxI3MWys2MTMGokxWjLEmPLFJncZHBKPc2VEYwih5JJpP33XffCy+8YHwyHo+//vrr//jHP374wx+ef/75brUN6JKHH374mWeeMT358ccfL1u27L333lu4cCGlo85oa2v761//+uabbx44cCAUClVUVEyZMuWiiy5iJVYAQO7ktwaLL8FyoVBIr0R2oHNCxWhaLs4xSsUosqBi1KO4R4oe+d3vfmdKRaUTJ04sXbp0586dDjcJ6IY1a9akpqLSSy+9lOVVWGjXrl3z58+///77N23adOTIkUOHDtXV1f3617/+j//4j48++sjt1gEAPINgFPaRh40Dxw8Vo2kZg1FN0+xOjY2/n2AUWaRWjDLHqCcQjKL76uvrn3766SwbtLW1Pfjgg461B+ieEydOPProo9m3efLJJxsbG51pT2Dt27fvhz/84ZEjR9K+dOuttx46dMj5VgEAvEgmVgSjsJw8bKgYdYtxKL0DhXhUjCJH8oRNrRglGFUZwSi67+9//7s84TN57733Dhw44Ex7gO7ZtGnTp59+mn2blpaWDRs2ONOewFq2bFlTU1OmVxsbGx944AEn2wMA8C5WpYd95NSiTlaMEowaGStGHcibqBhFjmSGzlB6byEYRfflOEz+gw8+sLslQE/s3r3bws3QPe+///727duzb1NXV/fhhx860x4AgKdlCUaN69QzgTW6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", "text/plain": [ "" ] @@ -555,782 +537,42 @@ } ], "source": [ + "n = 100\n", + "x2 = np.arange(n)\n", + "y2 = np.random.normal(size=n)\n", + "\n", "file_like = io.BytesIO()\n", - "p1.to_png(file_like, scale = 1.0)\n", + "p2 = ggplot({'x': x2, 'y': y2}, aes(x='x', y='y'))\n", + "gggrid([p2 + geom_point(), p2 + geom_line()]).to_png(file_like)\n", "display.Image(file_like.getvalue())" ] }, { "cell_type": "markdown", - "id": "8d863635", + "id": "d3e3fef9", "metadata": {}, "source": [ - "#### Export `gggrid()` to a file-like object" + "#### Export gggrid() to a file" ] }, { "cell_type": "code", "execution_count": 8, - "id": "9a77dc46", + "id": "135b5a28", "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 20\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 40\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 60\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 80\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 100\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " -2.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " -1.5\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " -1.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " -0.5\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0.5\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1.5\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 2.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " y\n", - " \n", - " \n", - " \n", - " \n", - " x\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 20\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 40\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 60\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 80\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 100\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " -2.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " -1.5\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " -1.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " -0.5\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 0.5\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 1.5\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " 2.0\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " y\n", - " \n", - " \n", - " \n", - " \n", - " x\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "file_like = io.BytesIO()\n", - "gggrid([p2 + geom_point(), p2 + geom_line()]).to_svg(file_like)\n", - "display.SVG(file_like.getvalue())" + "output_path = gggrid([p2 + geom_point(), p2 + geom_line()]).to_pdf('grid.pdf')\n", + "#output_path contains the path of exported file" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75e202de", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/python-package/lets_plot/export/ggsave_.py b/python-package/lets_plot/export/ggsave_.py index 8ddfb790ab3..8819a8a1910 100644 --- a/python-package/lets_plot/export/ggsave_.py +++ b/python-package/lets_plot/export/ggsave_.py @@ -5,7 +5,7 @@ from os.path import join from typing import Union -from ..plot.core import _to_svg, _to_html, _to_png, _to_pdf +from ..plot.core import _to_svg, _to_html, _export_as_raster from ..plot.core import PlotSpec from ..plot.plot import GGBunch from ..plot.subplots import SupPlotsSpec @@ -82,9 +82,9 @@ def ggsave(plot: Union[PlotSpec, SupPlotsSpec, GGBunch], filename: str, *, path: elif ext in ['html', 'htm']: return _to_html(plot, pathname, iframe=iframe) elif ext == 'png': - return _to_png(plot, pathname, scale) + return _export_as_raster(self, path, scale, 'png') elif ext == 'pdf': - return _to_pdf(plot, pathname, scale) + return _export_as_raster(self, path, scale, 'pdf') else: raise ValueError( "Unsupported file extension: '{}'\nPlease use one of: 'png', 'svg', 'pdf', 'html', 'htm'".format(ext) diff --git a/python-package/lets_plot/plot/core.py b/python-package/lets_plot/plot/core.py index 724cab6f4b0..197bac0ed7f 100644 --- a/python-package/lets_plot/plot/core.py +++ b/python-package/lets_plot/plot/core.py @@ -592,7 +592,7 @@ def to_png(self, path, scale: float = None) -> str: p.to_png(file_like) display.Image(file_like.getvalue()) """ - return _to_png(self, path, scale) + return _export_as_raster(self, path, scale, 'png') def to_pdf(self, path, scale: float = None) -> str: """ @@ -640,7 +640,7 @@ def to_pdf(self, path, scale: float = None) -> str: file_like = io.BytesIO() p.to_pdf(file_like) """ - return _to_pdf(self, path, scale) + return _export_as_raster(self, path, scale, 'pdf') class LayerSpec(FeatureSpec): @@ -823,7 +823,7 @@ def _to_html(spec, path, iframe: bool) -> str | None: return None -def _to_png(spec, path, scale: float) -> str | None: +def _export_as_raster(spec, path, scale: float, export_format: str) -> str | None: if scale is None: scale = 2.0 @@ -832,37 +832,18 @@ def _to_png(spec, path, scale: float) -> str | None: except ImportError: import sys print("\n" - "To export Lets-Plot figure to a PNG file please install CairoSVG library to your Python environment.\n" + "To export Lets-Plot figure to a PNG or PDF file please install CairoSVG library" + "to your Python environment.\n" "CairoSVG is free and distributed under the LGPL-3.0 license.\n" "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) return None - from .. import _kbridge - # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, - svg = _kbridge._generate_svg(spec.as_dict(), use_css_pixelated_image_rendering=False) - - if isinstance(path, str): - abspath = _makedirs(path) - cairosvg.svg2png(bytestring=svg, write_to=abspath, scale=scale) - return abspath + if export_format.lower() == 'png': + export_function = cairosvg.svg2png + elif export_format.lower() == 'pdf': + export_function = cairosvg.svg2pdf else: - cairosvg.svg2png(bytestring=svg, write_to=path, scale=scale) - return None - - -def _to_pdf(spec, path, scale: float) -> str | None: - if scale is None: - scale = 2.0 - - try: - import cairosvg - except ImportError: - import sys - print("\n" - "To export Lets-Plot figure to a PDF file please install CairoSVG library to your Python environment.\n" - "CairoSVG is free and distributed under the LGPL-3.0 license.\n" - "For more details visit: https://cairosvg.org/documentation/\n", file=sys.stderr) - return None + raise ValueError("Unknown export format: {}".format(export_format)) from .. import _kbridge # Use SVG image-rendering style as Cairo doesn't support CSS image-rendering style, @@ -870,11 +851,11 @@ def _to_pdf(spec, path, scale: float) -> str | None: if isinstance(path, str): abspath = _makedirs(path) - cairosvg.svg2pdf(bytestring=svg, write_to=abspath, scale=scale) - return abspath + result = abspath else: - cairosvg.svg2pdf(bytestring=svg, write_to=path, scale=scale) - return None + result = None # file-like object is provided. No path to return. + export_function(bytestring=svg, write_to=path, scale=scale) + return result def _makedirs(path: str) -> str: diff --git a/python-package/lets_plot/plot/subplots.py b/python-package/lets_plot/plot/subplots.py index bbec2de7fbf..db4f40ecfb0 100644 --- a/python-package/lets_plot/plot/subplots.py +++ b/python-package/lets_plot/plot/subplots.py @@ -11,7 +11,7 @@ from lets_plot.plot.core import FeatureSpecArray from lets_plot.plot.core import _specs_to_dict from lets_plot.plot.core import _theme_dicts_merge -from lets_plot.plot.core import _to_svg, _to_html, _to_png, _to_pdf +from lets_plot.plot.core import _to_svg, _to_html, _export_as_raster __all__ = ['SupPlotsSpec'] @@ -244,7 +244,7 @@ def to_png(self, path, scale=None) -> str: p.to_png(file_like) display.Image(file_like.getvalue()) """ - return _to_png(self, path, scale) + return _export_as_raster(self, path, scale, 'png') def to_pdf(self, path, scale=None) -> str: """ @@ -291,4 +291,4 @@ def to_pdf(self, path, scale=None) -> str: file_like = io.BytesIO() p.to_pdf(file_like) """ - return _to_pdf(self, path, scale) + return _export_as_raster(self, path, scale, 'pdf') From 6741bff117f0bfe6953f1d53cf324da0f33d55be Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Wed, 13 Dec 2023 18:23:43 +0100 Subject: [PATCH 19/20] Fix path name --- python-package/lets_plot/export/ggsave_.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-package/lets_plot/export/ggsave_.py b/python-package/lets_plot/export/ggsave_.py index 8819a8a1910..98cd17aeb6c 100644 --- a/python-package/lets_plot/export/ggsave_.py +++ b/python-package/lets_plot/export/ggsave_.py @@ -82,9 +82,9 @@ def ggsave(plot: Union[PlotSpec, SupPlotsSpec, GGBunch], filename: str, *, path: elif ext in ['html', 'htm']: return _to_html(plot, pathname, iframe=iframe) elif ext == 'png': - return _export_as_raster(self, path, scale, 'png') + return _export_as_raster(plot, pathname, scale, 'png') elif ext == 'pdf': - return _export_as_raster(self, path, scale, 'pdf') + return _export_as_raster(plot, pathname, scale, 'pdf') else: raise ValueError( "Unsupported file extension: '{}'\nPlease use one of: 'png', 'svg', 'pdf', 'html', 'htm'".format(ext) From 2185a7c7c01fafe3a04f761de5d8d4acd85cc15f Mon Sep 17 00:00:00 2001 From: Rashid Yangazov <129742127+RYangazov@users.noreply.github.com> Date: Fri, 15 Dec 2023 12:56:18 +0100 Subject: [PATCH 20/20] Fix relative path for linux using cases --- docs/f-23f/new_export_methods.ipynb | 231 +++++++++++++++++----------- 1 file changed, 143 insertions(+), 88 deletions(-) diff --git a/docs/f-23f/new_export_methods.ipynb b/docs/f-23f/new_export_methods.ipynb index 2eb06d92be8..c61cce60645 100644 --- a/docs/f-23f/new_export_methods.ipynb +++ b/docs/f-23f/new_export_methods.ipynb @@ -95,112 +95,112 @@ "text {\n", " text-rendering: optimizeLegibility;\n", "}\n", - "#pRCGIQ2 .plot-title {\n", + "#pxbJBVm .plot-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 16.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .plot-subtitle {\n", + "#pxbJBVm .plot-subtitle {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .plot-caption {\n", + "#pxbJBVm .plot-caption {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .legend-title {\n", + "#pxbJBVm .legend-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .legend-item {\n", + "#pxbJBVm .legend-item {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .axis-title-x {\n", + "#pxbJBVm .axis-title-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .axis-text-x {\n", + "#pxbJBVm .axis-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dpe7eyH .axis-tooltip-text-x {\n", + "#dI74gYQ .axis-tooltip-text-x {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .axis-title-y {\n", + "#pxbJBVm .axis-title-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 15.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .axis-text-y {\n", + "#pxbJBVm .axis-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dpe7eyH .axis-tooltip-text-y {\n", + "#dI74gYQ .axis-tooltip-text-y {\n", " fill: #ffffff;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .facet-strip-text-x {\n", + "#pxbJBVm .facet-strip-text-x {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#pRCGIQ2 .facet-strip-text-y {\n", + "#pxbJBVm .facet-strip-text-y {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dpe7eyH .tooltip-text {\n", + "#dI74gYQ .tooltip-text {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: normal;\n", " font-style: normal; \n", "}\n", - "#dpe7eyH .tooltip-title {\n", + "#dI74gYQ .tooltip-title {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", " font-weight: bold;\n", " font-style: normal; \n", "}\n", - "#dpe7eyH .tooltip-label {\n", + "#dI74gYQ .tooltip-label {\n", " fill: #474747;\n", " font-family: Lucida Grande, sans-serif;\n", " font-size: 13.0px;\n", @@ -209,87 +209,139 @@ "}\n", "\n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " -3\n", + " -2.0\n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " -2\n", + " -1.5\n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " -1\n", + " -1.0\n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " 0\n", + " -0.5\n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " 1\n", + " 0.0\n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " 2\n", + " 0.5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1.0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1.5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2.0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2.5\n", " \n", " \n", " \n", @@ -298,15 +350,17 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -319,7 +373,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -328,7 +382,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -337,7 +391,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -346,7 +400,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -355,7 +409,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -364,73 +418,82 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " 12\n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -451,7 +514,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "" ], @@ -506,7 +569,7 @@ "metadata": {}, "outputs": [], "source": [ - "output_path = p1.to_html('/new_folder/plot.html')\n", + "output_path = p1.to_html('new_folder/plot.html')\n", "#output_path contains the path of exported file" ] }, @@ -526,7 +589,7 @@ "outputs": [ { "data": { - "image/png": "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wSgAAICr9e3bN4+bAQDSisfjmqYZ7nFqMO4hF1+qrKyUbfUEo0AxW7169YoVK4QQEydO9GgwSis9AACAq40bN87KZuPHjy/0SACgSJjrQ6kYFce30peVlem3aaUHiplcky3FMqEuRzAKAADgaiNHjhwzZkzqbYYMGXL66afbMx4A8D1z2EcwKo5vpScYBSCUQvKenh5nR5I1glEAAABXCwQCN954Y3l5ebINSktLb7rpJrkOBgAgR1SMJqS20ss/OrTSA8VMVowSjAIAAKBQRowYMW/evOrqavNDFRUV//zP/3zaaafZPyoA8CsqRhNKuCo9wShQzHxQMUplAQAAgAdMnDjxiSeeeP755z/66KODBw8KIerq6s4+++xvf/vbAwcOdHp0AOAr5hiUxZfE8RWjtNIDEL6oGCUYBQAA8Ia+ffted9111113XTQa1TQtFAo5PSIA8CcqRhOSwSiLLwHQyY8F7y6+RDCKzDQ3Ny9fvnz9+vXNzc3hcHjMmDEXXnjhsGHDnB4XAABFRF6OAgAKgWA0IVrpAag0TVMrRjVNCwQCzg4pCwSjyMAbb7zx+OOPy+NeCPH555+/9NJLM2bMuO6660pLSx0cGwDky+bNm996661du3Z1dnYOGDBg0qRJF198cTgcdnpcAADAJiy+lFDCVekJRoGipYeh+m1N06LRqBf7mQhGYdXrr7/+8MMPm+/XNO2ll15qbW29/fbb7R8VAORRT0/PkiVL3nnnHXnP3r17165d++yzz956661f/epXHRxb7hoaGt56663PP/+8tbW1X79+48aNu/DCC2tra50eFwAArsMcowklXJWeVnqgaMkvS3SRSIRgFL516NChxx9/PMUGf/3rX6dMmfK1r33NtiEBgJSXro1YLDZv3ry1a9eaH2pra/vlL3/5i1/8wqPZqKZpzz///DPPPKPWdKxevfpPf/rT9ddff9lllzk4NgAAXIhWerN4PC7nEGSOUQBC+bJE19PT48U2O4JRWLJ06dK0LRLPP/88wSgA22ia9uGHHy5btmzz5s1dXV01NTWnnXbajBkzxo4dm90TvvzyywlTUfnjHnzwwd/97nde/GP/+9///tlnnzXf393d/cgjj/T09Fx11VX2jwoAANeild6sq6tL9syqrfTeXXEFQI7UiRaFZxemL3F6APCGNWvWpN1m+/btra2tNgwG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emQiv31koahx8SUqRpVFMAoAAADAP4xZFcEorOXkUHphCEP16lFb38tDnBxKr2maaadTMYpMsleMEowqi2AUAAAAgH9omiYrvAhGYS23KkbD4TBLUEhOVoyKlFrdwYMH2/p28C5594I5Rr2FYBQAAACAr8irU+YYhbWcnGNUGJIUIhUjJ+cYFZ+tC9Y0jWAUmWRZlT4cDptuq0Ad7BgAAAAAviLjKoJRWMt4zGiaZnfSIXMWJhg1cnIovfjsH79///6E1MgkdVV6OZSew0ZlTFMCyzQ0NBw+fLhXr14VFRWm7yrAQ3bv3r1v375EInHSSSedfPLJjFoCAMBzZIVXIpEwvUQwip4wHjOpy/JYToYpBKNGDg+lN1aMMsEoskgNRmXFKEvSq4xgFBZYv379U089tWvXLv3H/Pz8yZMnX3fddcOGDXO3YUCXrF+//tFHHz148KB8ZuDAgddee+2MGTNcbBUAAOgqWceXvWKUgY3oKmMw6sDxI3MWys2MTMGokxWjLEmPLFJncZHBKPc2VEYwih5JJpP33XffCy+8YHwyHo+//vrr//jHP374wx+ef/75brUN6JKHH374mWeeMT358ccfL1u27L333lu4cCGlo85oa2v761//+uabbx44cCAUClVUVEyZMuWiiy5iJVYAQO7ktwaLL8FyoVBIr0R2oHNCxWhaLs4xSsUosqBi1KO4R4oe+d3vfmdKRaUTJ04sXbp0586dDjcJ6IY1a9akpqLSSy+9lOVVWGjXrl3z58+///77N23adOTIkUOHDtXV1f3617/+j//4j48++sjt1gEAPINgFPaRh40Dxw8Vo2kZg1FN0+xOjY2/n2AUWaRWjDLHqCcQjKL76uvrn3766SwbtLW1Pfjgg461B+ieEydOPProo9m3efLJJxsbG51pT2Dt27fvhz/84ZEjR9K+dOuttx46dMj5VgEAvEgmVgSjsJw8bKgYdYtxKL0DhXhUjCJH8oRNrRglGFUZwSi67+9//7s84TN57733Dhw44Ex7gO7ZtGnTp59+mn2blpaWDRs2ONOewFq2bFlTU1OmVxsbGx944AEn2wMA8C5WpYd95NSiTlaMEowaGStGHcibqBhFjmSGzlB6byEYRfflOEz+gw8+sLslQE/s3r3bws3QPe+///727duzb1NXV/fhhx860x4AgKdlCUaN69QzgTW6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", + "image/png": "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85//PHDgQJsbBshEgmmoGE1yjlErFl/atWuX/sDn8w0YMEA839PTw/zLAFLN+vXrv/vuO0VRvDRAhGDUIqExKHOMmojFlwAAFnrwwQflVFT23nvv3X333Zae1A8++OCY2/h8voMOOsi6NsA6dXV1M2fOXLp0qaFybf369b/5zW9Wr17tVMPi9Oabb+o9okja29v/+te/2tUcIDyLVqW3omJU3Gbo37+/3lod04wCSEHi0FRXV+dsS0zEUHqLMJTeUgSjAACrrFmz5l//+leUDVasWLFy5UrrGnDUUUfJRUNhHX/88YWFhda1ARYJBoNz5sypqqoK+9Ourq558+bt3LnT5lb1ynvvvRdzmxUrVpDpwFmGOUZF6WWvgtHOzk7DM5YGo2VlZXKJKF8iAClIHEXr6+udbYmJDMEo01WZhWDUUgSjAACrLF68OOY2r7zyinUNyM7OnjVrVpQRlIMGDfr5z39uXQNgnffee++rr76KsoHf73/mmWdsa08CopeL6vx+vxgdDDjCRRWjYo7RgQMHinYq9B4BpCRxz0aeH9ntqBi1CHOMWorZdgD3aWtrW7Zs2YYNG5qamoqKig444IDJkyf37dvX6XYBRhs2bIi5zaZNmwKBgDzm0VyjRo265ZZb7r777paWFsOPRowYcdNNNxUVFVn00rDUu+++G3ObDz/8sLOzMycnx4b2JCDOORatmIoRiJ8hGE3lVekjVYzyJQKQgsQ9G7/f7/f78/LynG2PKQxHe+YYNYvNFaOdnZ2XXXaZ/vjaa6+trKy07rVSAcEo4DLLly//05/+1NzcLJ5ZtmzZ008/fckll5x00kkONgww6OjoiOdiKBgMNjc3W3oteOihhz755JOvvfba6tWrd+3alZWVtffee0+ePHny5MmsU+xe3377bcxturq6du7cuffee9vQngQMHDgwZtFoRkZGWVmZLc0BwnNRxagIRgcMGCAHo5TVADBobW19/vnn9cenn356v3797G+DPMtHbW3tnnvuaX8bTMfiSxaxuWK0u7u7urpaf5wO8yEQjAJu8q9//ev+++8PXazG7/cvWLCgpaXlvPPOc6RhQKicnJysrKx46nQKCgqsbkyfPn3OP//8888/3+oXgm3inDTQivDFLOPHj48ZjFZWVtrwBQEiCQQCoiYlxYPRjo4Ocdt4wIABorJVIRgFEKKurk4E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v+69995du3YRQi644ILf/e53/JU57TGslewGrDBaUlJCcwhY9ioeOXKELuiVrAGysrJCoRB9w/ebMMoPpQc7ZDQaNVs2ylDUC4fDOTk59IJEx6gmgqH0hjlG4cqXJOmVV1755ZdfVq5cuWrVKph148fRk98Ko8eOHePUiFcAZk/3HKOm0lXrYUEYtRZK771jlL9ny45RzQ2xKn2KQQt9ahaypP9csGABm+YJQRxEkqSBAwcOHDhQb4X27duL7KdDhw5ONenLL7985pln2GdAXV3d559//vXXX991111jx46l//zoo48Md/Xpp5+iMIpkJqeeeuro0aOhuKc4gUCgW7dudLmkpOTZZ5/98ssvv/rqqz179iQSiZKSkpNPPvnCCy+0XDMXQWpqatavX2+42tdff3311Vd70B5EQdq/l7rkGDVUo8ziWY5RumDoGBUJpTdVlZ4uKOZIWLsoEYiYLi8vp+sIKlkijlHPhtCsMNq+fXubwiiE0rdr185w5by8POp685swKugYJebLRokUDiooKHBQGE2KY9Q9YTSRSEAMn1M5RrOzsyVJ6t69e/fu3a+++uoDBw6sXLly69at/fv35zdGkRBW8BCIt6H0TgmjbL+ql7WZWC2+pHfHJT2Unp9jVDCUHs4SCqOZgmagsXvf4s3XIU5h8/caOXLkwoUL+etEIpGhQ4c6cmFs3Ljxqaee0uwom5ubn3jiiVatWg0aNKi2tlYkeH/Lli0pd7nKsuyfNpeVla1Zs6a8vDwQCHTp0mXMmDFYhRzwf5d49913//Wvf129erWprYYPH15QUAAHJUnSGWecccYZZyhW8+1RG+KrWywz+emnn0SKg/3888/End8LC9+7jc/fS1kLCbsta/Mx3Kda8mjTpo2zB856GBVNBaLRKIwGRZqthh1n6n0FXQiHw3r7Z9VVxTrqYTxdgXWMspuwlZcIIfX19fyDAvVH/dWasJoFu77I2XYcECUjkQhUQKqtrbX27awwariH3NxcEEb5K3v80GQ1IPUlxwqjNTU1mvM3erCGMr0jKigooI74mpoay0cNXxSJRLw8dfS74BTZOQRNWGkpGAxydg59rF6vAlMCubm57AodO3a8/PLLL7/8cmLUsYfD4ezsbNppmzpS0DSLiorMnh9QY48ePcrZls0xKvIVmrcYq3s2NzfDCuxUk2IrtjNvaWkR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", "text/plain": [ "" ] @@ -565,14 +628,6 @@ "output_path = gggrid([p2 + geom_point(), p2 + geom_line()]).to_pdf('grid.pdf')\n", "#output_path contains the path of exported file" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "75e202de", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": {