Skip to content

Instantly share code, notes, and snippets.

@HeinrichAD
Last active August 26, 2022 06:53
Show Gist options
  • Save HeinrichAD/e3037ca5d9efd66c83153d84930322a3 to your computer and use it in GitHub Desktop.
Save HeinrichAD/e3037ca5d9efd66c83153d84930322a3 to your computer and use it in GitHub Desktop.
Color bars in Matplotlib
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "U8vM06VvPDDi"
},
"source": [
"# Color bars in Matplotlib"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "MuV7Cy8QQU5W"
},
"source": [
"[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/gist/HeinrichAD/e3037ca5d9efd66c83153d84930322a3/matplotlib_colorbars.ipynb)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "zsZ1HV3PuMUk"
},
"outputs": [],
"source": [
"import matplotlib\n",
"import matplotlib.colorbar\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from typing import List, Optional, Tuple, Union"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Ht2KMuIzux_q",
"outputId": "5d5210ab-01a3-45f6-918f-ae8f52cbd424"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Python version: 3.7.13\n",
"Matplotlib version: 3.5.3\n"
]
}
],
"source": [
"import platform\n",
"\n",
"print(\"Python version:\", platform.python_version())\n",
"print(\"Matplotlib version:\", matplotlib.__version__)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"id": "fPCKbUEKu4Cc"
},
"outputs": [],
"source": [
"def clear_axis(ax: plt.Axes) -> None:\n",
" ax.spines['top'].set_visible(False)\n",
" ax.spines['right'].set_visible(False)\n",
" ax.spines['bottom'].set_visible(False)\n",
" ax.spines['left'].set_visible(False)\n",
" ax.get_xaxis().set_ticks([])\n",
" ax.get_yaxis().set_ticks([])\n",
" ax.axis('off')\n",
" ax.patch.set_visible(False)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"id": "Fm1n_lUwu5G6"
},
"outputs": [],
"source": [
"def clear_axes(axes: List[plt.Axes]) -> None:\n",
" for ax in axes:\n",
" clear_axis(ax)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"id": "tbcgYDDOKcfH"
},
"outputs": [],
"source": [
"def create_dummy_plot(\n",
" rows: int,\n",
" cols: int,\n",
" *,\n",
" factor: float = 1.,\n",
" wspace: float = 0.1,\n",
" hspace: float = 0.1,\n",
" clear_axes: bool = True,\n",
" **subplots_kwargs\n",
") -> Tuple[plt.Figure, plt.Axes]:\n",
" \"\"\"\n",
" Create figure and axes with default grid settings.\n",
"\n",
" Args:\n",
" rows (int): Number of rows of the subplot grid.\n",
" cols (int): Number of columns of the subplot grid.\n",
" factor (float, optional): Figure size factor. Figure size will be `(cols*factor, rows*factor)`. Defaults to 1.\n",
" wspace (float, optional): The amount of width reserved for space between subplots, expressed as a fraction of\n",
" the average axis width. Defaults to 0.1.\n",
" hspace (float, optional): The amount of height reserved for space between subplots, expressed as a fraction of\n",
" the average axis height. Defaults to 0.1.\n",
" clear_axes (bool, optional): Remove ticks and disable frame and axis rendering. Defaults to True.\n",
" subplots_kwargs (Dict[str, Any], optional): Additional `plt.subplots` arguments. Defaults to {}.\n",
"\n",
" Returns:\n",
" Tuple[plt.Figure, plt.Axes]: figure, axes (non squeezed by default)\n",
" \"\"\"\n",
" gs = dict(wspace=wspace, hspace=hspace)\n",
" gs.update(subplots_kwargs.pop(\"gridspec_kw\", {}))\n",
" kwargs = dict(\n",
" ncols=cols, nrows=rows, gridspec_kw=gs, squeeze=False, # subplots args\n",
" figsize=(cols*factor, rows*factor), # tight_layout=True # figure args\n",
" )\n",
" kwargs.update(subplots_kwargs)\n",
" fig, axes = plt.subplots(**kwargs)\n",
" if clear_axes:\n",
" for ax in axes.flat:\n",
" clear_axis(ax)\n",
"\n",
" # add dummy image\n",
" img = np.arange(100).reshape(10, 10) / 100.\n",
" for ax in axes.flat:\n",
" ax.imshow(img, vmin=0., vmax=1.)\n",
"\n",
" return fig, axes"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"id": "o0gqP2_nWaOV"
},
"outputs": [],
"source": [
"def flat_axes(axes) -> List[plt.Axes]:\n",
" axes_flatten = []\n",
" if hasattr(axes, \"ravel\"):\n",
" axes_flatten = axes.ravel().tolist()\n",
" elif isinstance(axes, (list, tuple)):\n",
" for ax in axes:\n",
" axes_flatten += ax.ravel().tolist() if hasattr(ax, \"ravel\") else [ax]\n",
" else:\n",
" axes_flatten = [axes]\n",
" return axes_flatten"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"id": "nevRguY-8M8x"
},
"outputs": [],
"source": [
"def colorbar(\n",
" axes: Optional[plt.Axes] = None,\n",
" *,\n",
" fig: Optional[plt.Figure] = None,\n",
" orientation: str = \"vertical\",\n",
" c_bar_width: Optional[float] = None,\n",
" cmap: Union[str, matplotlib.colors.Colormap] = \"viridis\"\n",
") -> Tuple[plt.Axes, matplotlib.colorbar.Colorbar]:\n",
" \"\"\"\n",
" Add a colorbar to a plot.\n",
"\n",
" Args:\n",
" axes (Optional[plt.Axes], optional): Plot axes. If None `fig.axes` will be used. Defaults to None.\n",
" The color bar will be added along all axes. If you have an figure with 4 rows but you want to\n",
" add a vertical color bar for the first and second row, you should specify the axes as\n",
" `axes[:2, 0]`. And for a horizontal color bar for the first two columns `axes[-1, :2]`.\n",
" fig (Optional[plt.Figure], optional): Plot figure. If None `plt.gcf()` will be used. Defaults to None.\n",
" orientation (str, optional): \"vertical\" or \"horizontal\" to specify if the color bar should be added\n",
" next to the y or x axes. Defaults to \"vertical\".\n",
" c_bar_width (Optional[float], optional): Set colorbar width manually. Default to None.\n",
" cmap (Union[str, matplotlib.colors.Colormap], optional): Color map of the new color bar. Defaults to \"viridis\".\n",
"\n",
" Returns:\n",
" Tuple[plt.Axes, matplotlib.colorbar.Colorbar]: color bar axes and color bar object\n",
" \"\"\"\n",
" if fig is None:\n",
" fig = plt.gcf()\n",
" if axes is None:\n",
" axes = fig.axes\n",
" col_map = plt.get_cmap(cmap) if isinstance(cmap, str) else cmap\n",
" nrows, ncols = fig.axes[0].get_subplotspec().get_gridspec().get_geometry()\n",
" w_pad, h_pad, *_ = fig.get_constrained_layout_pads()\n",
" w_pad = w_pad / (ncols / 2.)\n",
" h_pad = h_pad / (nrows / 2.)\n",
"\n",
" xmin = 1.\n",
" ymin = 1.\n",
" xmax = 0.\n",
" ymax = 0.\n",
" for ax in flat_axes(axes):\n",
" xmin = min(xmin, ax.get_position().xmin)\n",
" ymin = min(ymin, ax.get_position().ymin)\n",
" xmax = max(xmax, ax.get_position().xmax)\n",
" ymax = max(ymax, ax.get_position().ymax)\n",
" \n",
" orientation = orientation.lower()\n",
" if orientation == \"vertical\":\n",
" w = c_bar_width if c_bar_width is not None else w_pad\n",
" h = ymax - ymin\n",
" x = xmax + w_pad\n",
" y = ymin\n",
" elif orientation == \"horizontal\":\n",
" w = xmax - xmin\n",
" h = c_bar_width if c_bar_width is not None else h_pad\n",
" x = xmin\n",
" y = ymin - (h + h_pad)\n",
" else:\n",
" raise Exception(\"Unexpected orientation: vertical or horizontal\")\n",
" \n",
" c_ax = fig.add_axes([x, y, w, h])\n",
" c_bar = matplotlib.colorbar.ColorbarBase(c_ax, cmap=col_map, orientation=orientation)\n",
" \n",
" return c_ax, c_bar"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "frXwV0W0u0PH"
},
"source": [
"## Examples"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 655
},
"id": "a6ssDRkSuqzX",
"outputId": "bffa734c-8f34-4edd-fa73-37aee1eaf692"
},
"outputs": [
{
"data": {
"image/png": "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1PJjFskeeTtj1pOxRbWSi5tln092zHbIvUnGlHsdIe8mGVPedYzcm2RMuccU0FkGACDHmmUAAOheimUAAChhGQYAACndcIOfzjIAAJTQWQYAIMcNfgAA0L0UywAAUEKxDABATtHGK2H9+vWxZMmS6O/vj2XLlsW99957WHF33HFHVCqVuPDCC1seU7EMAMAR784774zVq1fHmjVr4r777oszzjgjVqxYEU899VTTuMceeyz+4R/+Ic4777zUuIplAABSDjw6LvNq1dq1a+Oyyy6LVatWxamnnhobNmyIo48+OjZu3FgaMzo6Gu95z3viH//xH+Okk05KnaNiGQCAGbF79+5xr+eff77hfiMjI7F9+/YYHBwc21atVmNwcDC2bdtWevxPfvKTsWDBgnjf+96XnqNiGQCAGbF48eI49thjx1633HJLw/127doVo6OjMTAwMG77wMBADA0NNYy5++6746tf/Wrcdtttbc3Rc5YBAMhp8znLTz75ZMybN29sc19f35RM65lnnolLLrkkbrvttpg/f35bx+pIsbznxEoqrmijz52NLWr5MbN9+XoteQtoO59P8jyL3KV8cczpf+K43GtO7nWGvGtO3nWO3GtO7h355s2bN65YLjN//vyo1WoxPDw8bvvw8HAsXLhwwv6/+c1v4rHHHosLLrhgbFu9Xo+IiJ6ennjooYfi5JNPPqw5WoYBAEDOND06rre3N5YuXRpbtmwZ21av12PLli2xfPnyCfufcsop8Ytf/CJ27Ngx9nrnO98Z559/fuzYsSMWL1582GNbhgEAwBFv9erVsXLlyjjrrLPi7LPPjnXr1sWePXti1apVERFx6aWXxqJFi+KWW26J/v7+OO2008bFH3fccRERE7ZPRrEMAEBK9jFwmZiLLroonn766bjhhhtiaGgozjzzzNi8efPYTX9PPPFEVKtTv2hCsQwAwKxwxRVXxBVXXNHwva1btzaNvf3221NjWrMMAAAldJYBAMhp89Fxs4HOMgAAlNBZBgAgZTpv8JspOssAAFBCsQwAACUswwAAIMcNfgAA0L10lgEAyOmCznJHiuU/Lqyn4op2+ty13KdeVNu4Wtn5ZsdMnmM7Y1baGLPaznyT5N5kcXKvE+TdZHHyrlPk3mRxco/26SwDAJBSefGViZstrFkGAIASimUAAChhGQYAADldcIOfzjIA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fmPvNzjPsY903P6HzufgU3rxD9UG2xqc+ti5x0HGLkWjMQ/588HHaPBxN93v4PlUG2xreN2bHf8wtjX6rBqO2Ww+h7ktmrzXINXisOfd2v6tflYTxmnwXsOxGu0/6byL1Lxf+udLmTsuh5seoziMeRcTthVN3qs0O/64f5/4XqUyceaVBseoHDL+wXGHvjd+bsXE6YwdY+Lxi3HHLUr3LxrMo4jxY9UbHKs6ybZqFOXvNdlWOeTPk+1fjUb71SfOMRrtv3+/WsNjHTjG2KaojZ1T/aD9ikOO0eC9RtsOOsaBudXGxnzpvdoh8zl4HmNznGTMseMedH61Q2IP/j/7gdjxYx76WTU6/kHziInnWTvkGjR67+A8HBszJl7/A9tq467Z+LEPPq9a5UBcpcF7B2+rNPznwfsd/FkdeL9WOXhbEbufqQeHb8qL5aIoYu7cuXH3s5vG/19ldKpHAgAgY+7cuVEUDX/85xBTXixXKpV49tln48knn4x58+ZN9eE5wuzevTsWL17sencJ17t7uNbdxfXuLgeud6XRb1SZoGPLMObNm+c/uC7iencX17t7uNbdxfWGidzgBwAAJRTLAABQYsqL5b6+vlizZk309fVN9aE5Arne3cX17h6udXdxvbuL692aSuFWSAAAaMgyDAAAKKFYBgCAEoplAAAooVgGAIASimUAACiRKpbXr18fS5Ysif7+/li2bFnce++9Tff/1re+Faecckr09/fH6aefHps2bUpNlpnRyvW+7bbb4rzzzovjjz8+jj/++BgcHJw0PziytPrf9wF33HFHVCqVuPDCCzs7QaZMq9f6D3/4Q1x++eVxwgknRF9fX7z61a/29/ks0ur1XrduXbzmNa+Jo446KhYvXhxXXXVV7N27d5pmSzt+8pOfxAUXXBAnnnhiVCqV+N73vjdpzNatW+MNb3hD9PX1xate9aq4/fbbOz7PWaNo0R133FH09vYWGzduLH71q18Vl112WXHccccVw8PDDff/6U9/WtRqteIzn/lM8etf/7q47rrrijlz5hS/+MUvWh2aGdDq9b744ouL9evXF/fff3/xwAMPFO9973uLY489tvjv//7vaZ45Ga1e7wMeffTRYtGiRcV5551X/PVf//X0TJa2tHqtn3/++eKss84q3v72txd333138eijjxZbt24tduzYMc0zJ6PV6/31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",
"text/plain": [
"<Figure size 800x800 with 18 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_, axes = create_dummy_plot(4, 4, factor=2.)\n",
"\n",
"colorbar(axes)\n",
"colorbar(axes, orientation=\"horizontal\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 655
},
"id": "oBXiCHEVuuD9",
"outputId": "5ed3faf6-41b1-42eb-cca4-3ad04b17d094"
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAssAAAK6CAYAAADPdhG/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABdGklEQVR4nO3df3CU9b33/9d1bZJd+WLUNmWDNHfjj7bIUaGGQyZYRz2Tmk790sMfvQ9VB2hupbdKZpDcbf0JoaUF+8NMnNPYHLEpnTn1htZpvfs9cOJtc5rp8ZgOI5gZbQXHIsJxmgDjcSJR2GSvz/ePzS5Z2E2y780mJHk+Zq6BfPbz3s91LW+Tdz5+rs/lOeecAAAAAJzHn+oTAAAAAC5UFMsAAABAFhTLAAAAQBYUywAAAEAWFMsAAABAFhTLAAAAQBYUywAAAEAWFMsAAABAFhTLAAAAQBYUywAAAEAWFMsAAAC44P3hD3/QihUrdPnll8vzPD3//PNjxnR1demGG25QOBzW1VdfrZ07d+Y8LsUyAAAALngDAwNavHixWltbx9X/7bff1u23365bb71VPT09euCBB3TPPffohRdeyGlczznnLCcMAAAATAXP8/Sb3/xGK1euzNrnwQcf1J49e/T666+n2r761a/q/fffV0dHx7jHKsrnRAEAADA7nT59WrFYzBzvnJPneWlt4XBY4XA431OTJHV3d6u2tjatra6uTg888EBO71OQYvkL/n+3Bfoh85hese1SvFAeYxYZPz7rmNbxJHkh44qbPMZUke06//XwE+Yhyb0xkHujsuYeeTcG8m5UfM8bRyy5N0bs5Ofe6dOndcWn5qr3eNz8HnPnztWpU6fS2pqamrRlyxbze47U29uraDSa1haNRtXf36+PPvpIF1100bjeh5llAAAA5CQWi6n3eFxvvVKh0otz/wWh/4NAVy89pmPHjqm0tDTVPlGzyhOJYhkAAAAmcy52mnNx7re/DSkRU1pamlYsT6Ty8nL19fWltfX19am0tHTcs8oSxTIAAACMBl2gQcNWEYMumPiTOUdNTY327t2b1vbiiy+qpqYmp/dh6zgAAACYDCnQoOEYUu7F8qlTp9TT06Oenh5Jia3henp6dPToUUnSww8/rDVr1qT633vvvTp8+LC+9a1v6eDBg3rqqaf0y1/+Uhs3bsxpXGaWAQAAYBJ3TnHDLsSWmFdeeUW33npr6uvGxkZJ0tq1a7Vz50799a9/TRXOknTFFVdoz5492rhxo5588kl98pOf1DPPPKO6urqcxqVYBgAAgMmgnAaVe+Fribnllls02uNBMj2d75ZbbtGrr76a81gjUSwDAADAZNDJuGZ54s+lUCiWAQAAYDLkPA06b+yOGeKmC4plAAAAmMTkK2bYL8L+3L/JR7EMAAAAk8B5CgyzxJaYqUKxDAAAAJOYQsaZZYplAAAAzHBDztegy71YHprtN/gVXVlpinNFIfugIdvzVVzIPqYL2X4rckXGZ8H49mfIBMYxrdcoScon1ojcGyOO3CsI8m6MOPKuYMi9MeLIvYIbdCENutz/bQddvABnUxjMLAMAAMAk5kIqNhTLsdk+swwAAICZL5CnwLD+2BIzVSiWAQAAYDLoihQzLcOgWAYAAMAMZ1+zXICTKRCKZQAAAJgMuiJjsczMMgAAAGa4uHzFDfssxzV9ppYplgEAAGAyJN80szxEsQwAAICZbtCFVGRahkGxDAAAgBku5ooUcrmXk+yzDAAAgBlvyLgbxhAzywAAAJjpAucrcLnf4GeJmSrT50wBAABwQUnus2w5LFpbW1VZWalIJKLq6mrt27dv1P4tLS367Gc/q4suukgVFRXauHGjTp8+ndOYzCwDAADAZND5Cplu8Atyjtm9e7caGxvV1tam6upqtbS0qK6uTocOHdK8efPO6//ss8/qoYceUnt7u5YvX64333xTX/va1+R5npqbm8c9LjPLAAAAMBkyzioPGQrs5uZmrVu3TvX19Vq0aJHa2to0Z84ctbe3Z+z/8ssv68Ybb9Sdd96pyspK3XbbbbrjjjvGnI0+V0Fmlk9XftwUl8/yFVdkC85rzJDt6TNBkS1uKs41nzED2/9hyQu5NzpyrzDIu9GRd4VD7o2O3Cu8wSAk33ACg0FiZrm/vz+tPRwOKxwOn9c/Fotp//79evjhh1Ntvu+rtrZW3d3dGcdYvny5/vmf/1n79u3TsmXLdPjwYe3du1erV6/O6VxZhgEAAAAT+xP8EjEVFRVp7U1NTdqyZct5/U+ePKl4PK5oNJrWHo1GdfDgwYxj3HnnnTp58qQ+//nPyzmnoaEh3XvvvXrkkUdyOleKZQAAAJgMuZBpzfLQ8JrlY8eOqbS0NNWeaVbZqqurS9u2bdNTTz2l6upqvfXWW9qwYYO2bt2qTZs2jft9KJYBAABgMhj48oPcZ5YHh2NKS0vTiuVsysrKFAqF1NfXl9be19en8vLyjDGbNm3S6tWrdc8990iSrrvuOg0MDOjrX/+6Hn30Ufn++M6bG/wAAABgMlk3+JWUlKiqqkqdnZ2ptiAI1NnZqZqamowxH3744XkFcSiUGNfl8FAUZpYBAABgEjgpcLnf1BgYHuDX2NiotWvXaunSpVq2bJlaWlo0MDCg+vp6SdKaNWu0YMECbd++XZK0YsUKNTc363Of+1xqGcamTZu0YsWKVNE8HhTLAAAAMBlyIfmmNcu5x6xatUonTpzQ5s2b1dvbqyVLlqijoyN109/Ro0fTZpIfe+wxeZ6nxx57TO+++64+8YlPaMWKFfre976X07gUywAAADAZDELyTFvH2fa7a2hoUENDQ8bXurq60r4uKipSU1OTmpqaTGOl3ievaAAAAMxacfkaMmwSbdlubqpQLAMAAMBkyDizPDSVT1LJEcUyAAAATALnGW/wsz3pcCpQLAMAAMBkyPnyDMswLEs3pgrFMgAAAEyGAl+e4aEkQ4aYqUKxDAAAAJO480wzy/HZvgzj1IISU5xhy72zscZfUPIZ07o23fm2BJlun89U/B8Wcm+MMcm9giDvxhiTvCsYcm+MMcm9ghsKfImZZQAAAOB83OAHAAAAZBE3rlmOM7MMAACAmW7I+aZ1IOyGAQAAgBmPmWUAAAAgC+c8OcP6Y0vMVKFYBgAAgEngPMUDbvADAAAAzhM3rlmOs2YZAAAAM1088CTDzLJlNnqqUCwDAADAJDDe4Bdwgx8AAABmusB58mb4Q0mmT1kPAACAC0oQSEHgGQ7beK2traqsrFQkElF1dbX27ds3av/3339f69ev1/z58xUOh/WZz3xGe/fuzWlMZpYBAABgMpkzy7t371ZjY6Pa2tpUXV2tlpYW1dXV6dChQ5o3b955/WOxmL7whS9o3rx5eu6557RgwQK98847uvTSS3Mal2IZAAAAJi7w5Aw361limpubtW7dOtXX10uS2tratGfPHrW3t+uhhx46r397e7vee+89vfzyyyouLpYkVVZW5jwuyzAAAABg4kxLMM4W2P39/WnHmTNnMo4Ti8W0f/9+1dbWptp831dtba26u7szxvz2t79VTU2N1q9fr2g0qmuvvVbbtm1TPB7P6RoLMrM8cLlt0XY+W+5ZY13IPqb1V40g5CZ1PMl+nfmsv3fW68wDuTc6cq8wyLvRkXeFQ+6NjtwrvHyf4FdRUZHW3tTUpC1btpzX/+TJk4rH44pGo2nt0WhUBw8ezDjG4cOH9W//9m+66667tHfvXr311lu6//77NTg4qKampnGfK8swAAAAYJLvMoxjx46ptLQ01R4Ohyfs3IIg0Lx58/T0008rFAqpqqpK7777rn74wx9SLAMAAKDw8i2WS0tL04rlbMrKyhQKhdTX15fW3tfXp/Ly8owx8+fPV3FxsUKhs9P911xzjXp7exWLxVRSUjKuc2XNMgAAAEyc81IFc05Hjks3SkpKVFVVpc7OzlRbEATq7OxUTU1Nxpgbb7xRb731loIR+9S9+eabmj9//rgLZYliGQAAAFbOsx85amxs1I4dO/Tzn/9cb7zxhu677z4NDAykdsdYs2aNHn744VT/++67T++99542bNigN998U3v27NG2bdu0fv36nMZlGQYAAABs3PBhicvRqlWrdOLECW3evFm9vb1asmSJOjo6Ujf9HT16VL5/dh64oqJCL7zwgjZu3Kjrr79eCxYs0IYNG/Tggw/mNC7FMgAAAGwCL3FY4gwaGhrU0NCQ8bWurq7z2mpqavTHP/7RNFYSxTIAAABMXJA4LHHTBcUyAAAATLzAk2eYJbbETBWKZQAAANhM4prlqUKxDAAAAJtJXrM8FSiWAQAAYBMMH5a4aYJiGQAAACasWQYAAACyYc2yzUfltrl1l8/zBEO2T935efxrWc/XOqbxGvMZ08tjTD+f8zUi98aKI/cKgbwbK468KxRyb6w4cq/QPEmeYfjpM6/MzDIAAACsuMEPAAAAyMwLEoclbrqgWAYAAIANu2EAAAAAmbEbBgAAAJANu2EAAAAAmbFmGQAAAMjGWCyzZhkAAAAz3myYWc5nW3IAAABgRmNmGQAAACbMLAMAAADZOJ3dazmXw7gbRmtrqyorKxWJRFRdXa19+/aNK27Xrl3yPE8rV67MeUyKZQAAAJgkZ5YtR652796txsZGNTU16cCBA1q8eLHq6up0/PjxUeOOHDmib3zjG7rppptM10ixDAAAAJPJLJabm5u1bt061dfXa9GiRWpra9OcOXPU3t6eNSYej+uuu+7St7/9bV155ZWmayzImmU/etoWF7IvYPF923x+KK8xbbFFxriQ8RolqSgUN8UVG89VkkJ5xFqRe6Mj9wqDvBsdeVc45N7oyL1JkOdDSfr7+9Oaw+GwwuHwed1jsZj279+vhx9+ONXm+75qa2vV3d2ddZjvfOc7mjdvnu6++279+7//u+FEmVkGAACAUb4zyxUVFbrkkktSx/bt2zOOc/LkScXjcUWj0bT2aDSq3t7ejDEvvfSSfvrTn2rHjh15XSO7YQAAAMAk390wjh07ptLS0lR7pllliw8++ECrV6/Wjh07VFZWltd7USwDAADAJN9iubS0NK1YzqasrEyhUEh9fX1p7X19fSovLz+v/1/+8hcdOXJEK1asSLUFQWLQoqIiHTp0SFddddW4zpVlGAAAALCxbBuXPHJQUlKiqqoqdXZ2nh06CNTZ2amamprz+i9cuFCvvfaaenp6UseXv/xl3Xrrrerp6VFFRcW4x2ZmGQAAACbe8GGJy1VjY6PWrl2rpUuXatmyZWppadHAwIDq6+slSWvWrNGCBQu0fft2RSIRXXvttWnxl156qSSd1z4WimUAAACYTOYT/FatWqUTJ05o8+bN6u3t1ZIlS9TR0ZG66e/o0aPy/YlfNEGxDAAAAJvkE/wscQYNDQ1qaGjI+FpXV9eosTt37jSNSbEMAAAAk8mcWZ4qFMsAAAAw8VzisMRNFxTLAAAAMGFmGQAAAMjGsA1cKm6aoFgGAACACTPLAAAAQBZe4OQFuS9AtsRMFYplAAAAmHCDn9GV0ZOmuJBvn5Mv8eOmuCJjXD5jhkNDpriiPP6fRdg3jpnH52MdMx/k3ujIvcIg70ZH3hUOuTc6cq/wWIYBAAAAZEGxDAAAAGTjjIXvbF+GAQAAgJmPG/wAAACAbJxss8TTp1amWAYAAICNF5c83xY3XVAsAwAAwIRlGAAAAEAW7IYBAAAAZMFDSQAAAIAsWIYBAAAAZDEblmEY7l8EAAAAJMWd/TBobW1VZWWlIpGIqqurtW/fvqx9d+zYoZtuukmXXXaZLrvsMtXW1o7aPxuKZQAAAJh4zqWWYuR0uNyL5d27d6uxsVFNTU06cOCAFi9erLq6Oh0/fjxj/66uLt1xxx36/e9/r+7ublVUVOi2227Tu+++m9O4FMsAAAAwSd7gZzly1dzcrHXr1qm+vl6LFi1SW1ub5syZo/b29oz9f/GLX+j+++/XkiVLtHDhQj3zzDMKgkCdnZ05jVuQNct/+/F3THERf9A8ZrFxd+twHmNGPFus9Vzz+3yGbGMar1GSSqZgx3Fyb3TkXmGQd6Mj7wqH3BsduVd4+d7g19/fn9YeDocVDofP6x+LxbR//349/PDDqTbf91VbW6vu7u5xjfnhhx9qcHBQH/vYx3I6V2aWAQAAYOLFnfmQpIqKCl1yySWpY/v27RnHOXnypOLxuKLRaFp7NBpVb2/vuM71wQcf1OWXX67a2tqcrpHdMAAAAGATuMRhiZN07NgxlZaWppozzSpPhMcff1y7du1SV1eXIpFITrEUywAAADDJdxlGaWlpWrGcTVlZmUKhkPr6+tLa+/r6VF5ePmrsj370Iz3++OP63e9+p+uvvz7nc2UZBgAAAEyS+yxbjlyUlJSoqqoq7ea85M16NTU1WeN+8IMfaOvWrero6NDSpUtN18jMMgAAAGzyXIaRi8bGRq1du1ZLly7VsmXL1NLSooGBAdXX10uS1qxZowULFqTWPX//+9/X5s2b9eyzz6qysjK1tnnu3LmaO3fuuMelWAYAAICJFwTygtwfx2eJWbVqlU6cOKHNmzert7dXS5YsUUdHR+qmv6NHj8r3zy6a+MlPfqJYLKavfOUrae/T1NSkLVu2jHtcimUAAACYeMHZnS1yjbNoaGhQQ0NDxte6urrSvj5y5IhpjHNRLAMAAMAmcLkvQE7GTRMUywAAALAJJHnGuGmCYhkAAAAmXhDIM8wsW9YsTxWKZQAAANgEhn3gknHTBMUyAAAATLy4kyfDDX6GmwKnCsUyAAAAbJxLHJa4aYJiGQAAADbxQKa79eKzfBlG7cV/MsUVe0PmMSPG2IgXN49ZbFmjIyni2X6bKjZFJce0Pdm82BgnSWEvnzO2IffGGpPcKwTybqwxybtCIffGGpPcKzgX2NYfu1leLAMAAGAWiMclZ/hFKLD/8jTZKJYBAABgEw9ss8TshgEAAIAZjxv8AAAAgCwCJ9MNfjzuGgAAADMea5YBAACALFizDAAAAGTmgricYWbZEjNVKJYBAABg45xkeNw1N/gBAABg5ovHJcsDZ6bRzLL9cTEAAACY1Vw8bj4sWltbVVlZqUgkourqau3bt2/U/r/61a+0cOFCRSIRXXfdddq7d2/OY1IsAwAAwCYeJGaXcz5yv8Fv9+7damxsVFNTkw4cOKDFixerrq5Ox48fz9j/5Zdf1h133KG7775br776qlauXKmVK1fq9ddfz2lcimUAAACYuMCZj1w1Nzdr3bp1qq+v16JFi9TW1qY5c+aovb09Y/8nn3xSX/ziF/XNb35T11xzjbZu3aobbrhBP/7xj3Mal2IZAAAAJoPx0xocMhzx05Kk/v7+tOPMmTMZx4nFYtq/f79qa2tTbb7vq7a2Vt3d3Rljuru70/pLUl1dXdb+2RTkBr+/u+JQId4WGBO5h6lA3mGqkHuYKiUlJSovL9dLvf9ifo+5c+eqoqIira2pqUlbtmw5r+/JkycVj8cVjUbT2qPRqA4ePJjx/Xt7ezP27+3tzek82Q0DAAAAOYlEInr77bcVi8XM7+Gck+d5aW3hcDjfU5twFMsAAADIWSQSUSQSmZSxysrKFAqF1NfXl9be19en8vLyjDHl5eU59c+GNcsAAAC4oJWUlKiqqkqdnZ2ptiAI1NnZqZqamowxNTU1af0l6cUXX8zaPxtmlgEAAHDBa2xs1Nq1a7V06VItW7ZMLS0tGhgYUH19vSRpzZo1WrBggbZv3y5J2rBhg26++WY98cQTuv3227Vr1y698sorevrpp3Mal2IZAAAAF7xVq1bpxIkT2rx5s3p7e7VkyRJ1dHSkbuI7evSofP/soonly5fr2Wef1WOPPaZHHnlEn/70p/X888/r2muvzWlcz7lp9HBuAAAAYBKxZhkAAADIgmIZAAAAyIJiGQAAAMiCYhkAAADIgmIZAAAAF7w//OEPWrFihS6//HJ5nqfnn39+zJiuri7dcMMNCofDuvrqq7Vz586cx6VYBgAAwAVvYGBAixcvVmtr67j6v/3227r99tt16623qqenRw888IDuuecevfDCCzmNy9ZxAAAAmFY8z9NvfvMbrVy5MmufBx98UHv27NHrr7+eavvqV7+q999/Xx0dHeMei4eSAAAAIGenT59WLBYzxzvn5HleWls4HFY4HM731CRJ3d3dqq2tTWurq6vTAw88kNP7FKRY/oL/322Bfsg8pldsuxQvlMeYRcaPzzqmdTxJXsi44iaPMVVku85/PfyEeUhybwzk3qisuUfejYG8GxXf88YRS+6NETv5uXf69Gld8am56j0eN7/H3LlzderUqbS2pqYmbdmyxfyeI/X29qae7pcUjUbV39+vjz76SBdddNG43oeZZQAAAOQkFoup93hcb77ySZVenPsvCP0fBPrM0v/UsWPHVFpammqfqFnliUSxDAAAAJOL5jpdNDf3298Gh2+ZKy0tTSuWJ1J5ebn6+vrS2vr6+lRaWjruWWWJYhkAAABGQwo0aIwrtJqaGu3duzet7cUXX1RNTU1O78PWcQAAADAJ5MxHrk6dOqWenh719PRISmwN19PTo6NHj0qSHn74Ya1ZsybV/95779Xhw4f1rW99SwcPHtRTTz2lX/7yl9q4cWNO4zKzDAAAAJNB51JLKnKNy9Urr7yiW2+9NfV1Y2OjJGnt2rXauXOn/vrXv6YKZ0m64oortGfPHm3cuFFPPvmkPvnJT+qZZ55RXV1dTuNSLAMAAMAk5pxihsLXEnPLLbdotMeDZHo63y233KJXX30157FGolgGAACAyZA8Dcobu2OGuOmCYhkAAAAmg87ToMu98LXETBWKZQAAAJjE5SlumCW2xEwVimUAAACYDDpfgy73zdUGc1+yPGUolgEAAGAy5EKmYnmIZRgAAACY6WIupGJDsRyb7cVy0ZWVpjhXFLIPGrI9X8WF7GO6kO0f2hUZnwXj258hExjHtF6jJCmfWCNyb4w4cq8gyLsx4si7giH3xogj9woukKfA8Iw7y0NJpgozywAAADBJzCzn/otQbPrUyhTLAAAAsBlSSIPKvVgeKsC5FArFMgAAAEwGXZEGDTPL7LMMAACAGS/mQipiGQYAAABwvsD5Cgy7YQRu+lTLFMsAAAAwGZSvmGUZBrthAAAAYKYbdEUqcrmXkzzBDwAAADPeoHHN8iDLMAAAADDTUSwDAAAAWQTyFTc9wc/+lMTJNn3OFAAAABeUQRcyHxatra2qrKxUJBJRdXW19u3bN2r/lpYWffazn9VFF12kiooKbdy4UadPn85pTGaWAQAAYDLofIVMyzCCnGN2796txsZGtbW1qbq6Wi0tLaqrq9OhQ4c0b9688/o/++yzeuihh9Te3q7ly5frzTff1Ne+9jV5nqfm5uZxj8vMMgAAAEwGgyLzkavm5matW7dO9fX1WrRokdra2jRnzhy1t7dn7P/yyy/rxhtv1J133qnKykrddtttuuOOO8acjT4XxTIAAABMnDwFhsMp8bjr/v7+tOPMmTMZx4nFYtq/f79qa2tTbb7vq7a2Vt3d3Rljli9frv3796eK48OHD2vv3r360pe+lNM1FmQZxunKj5viDA+AORtbZAvOa8yQ7bnmQZEtbirONZ8xA9typLyQe6Mj9wqDvBsdeVc45N7oyL3CGwxC8g0nMBgklmFUVFSktTc1NWnLli3n9T958qTi8bii0WhaezQa1cGDBzOOceedd+rkyZP6/Oc/L+echoaGdO+99+qRRx7J6VxZswwAAACTQReSn8ea5WPHjqm0tDTVHg6HJ+zcurq6tG3bNj311FOqrq7WW2+9pQ0bNmjr1q3atGnTuN+HYhkAAAAm+RbLpaWlacVyNmVlZQqFQurr60tr7+vrU3l5ecaYTZs2afXq1brnnnskSdddd50GBgb09a9/XY8++qh8f3zT+axZBgAAgEk8CGnIcMRzXLpRUlKiqqoqdXZ2ptqCIFBnZ6dqamoyxnz44YfnFcShUGJcl8NDUZhZBgAAgElcnuLKfZ22JaaxsVFr167V0qVLtWzZMrW0tGhgYED19fWSpDVr1mjBggXavn27JGnFihVqbm7W5z73udQyjE2bNmnFihWponk8KJYBAABgMhT4phv8hoJ4zjGrVq3SiRMntHnzZvX29mrJkiXq6OhI3fR39OjRtJnkxx57TJ7n6bHHHtO7776rT3ziE1qxYoW+973v5TQuxTIAAABMBp0vz7CVx6Bx+4+GhgY1NDRkfK2rqyvt66KiIjU1Nampqck0Vup98ooGAADArDXkbFvHDRkfdz0VKJYBAABgEne+hgyzxPF8NpaeZBTLAAAAMAmcr8BQ+FpipgrFMgAAAEyGjGuWLbPRU4ViGQAAACZDgS8vMBTLhpipQrEMAAAAE4plAAAAIIu480zLMOIu94eSTJWCFMunFpSY4vLZRcS69CWfMQ07pSTG9G0JMt0+n6lYjkTujTEmuVcQ5N0YY5J3BUPujTEmuVdwgfMUGApfS8xUYWYZAAAAJkOBL7EMAwAAADhf3LgbBvssAwAAYMaLG2/wizOzDAAAgJmONcsAAABAFkHgm2aJA2aWAQAAMNPF5UmGWeK4mFkGAADADBc37obBmmUAAADMeEHgyQsMa5YNMVOFYhkAAAAmznlyhmUYlpipQrEMAAAAk3jgSYZZ4vg0mlmePgtGAAAAcEEJAk9B4BsOW7Hc2tqqyspKRSIRVVdXa9++faP2f//997V+/XrNnz9f4XBYn/nMZ7R3796cxmRmGQAAACaB8+RN0j7Lu3fvVmNjo9ra2lRdXa2WlhbV1dXp0KFDmjdv3nn9Y7GYvvCFL2jevHl67rnntGDBAr3zzju69NJLcxqXYhkAAAA2gSdnmSU2xDQ3N2vdunWqr6+XJLW1tWnPnj1qb2/XQw89dF7/9vZ2vffee3r55ZdVXFwsSaqsrMx5XJZhAAAAwMQ5+yFJ/f39aceZM2cyjhOLxbR//37V1tam2nzfV21trbq7uzPG/Pa3v1VNTY3Wr1+vaDSqa6+9Vtu2bVM8Hs/pGgsyszxwuW0disujdLfGupB9TOuvGkHITep4kv0687lZ1VmvMw/k3ujIvcIg70ZH3hUOuTc6cq/wXODLGfZMTsZUVFSktTc1NWnLli3n9T958qTi8bii0WhaezQa1cGDBzOOcfjwYf3bv/2b7rrrLu3du1dvvfWW7r//fg0ODqqpqWnc58oyDAAAAJi4IHFY4iTp2LFjKi0tTbWHw+EJOjMpCALNmzdPTz/9tEKhkKqqqvTuu+/qhz/8IcUyAAAACs8525rl5D7LpaWlacVyNmVlZQqFQurr60tr7+vrU3l5ecaY+fPnq7i4WKHQ2en+a665Rr29vYrFYiopKRnXubJmGQAAACbJh5JYjlyUlJSoqqpKnZ2dqbYgCNTZ2amampqMMTfeeKPeeustBcHZqe8333xT8+fPH3ehLFEsAwAAwMp59iNHjY2N2rFjh37+85/rjTfe0H333aeBgYHU7hhr1qzRww8/nOp/33336b333tOGDRv05ptvas+ePdq2bZvWr1+f07gswwAAAIBNMHxY4nK0atUqnThxQps3b1Zvb6+WLFmijo6O1E1/R48ele+fnQeuqKjQCy+8oI0bN+r666/XggULtGHDBj344IM5jUuxDAAAABNn3GfZtDezpIaGBjU0NGR8raur67y2mpoa/fGPfzSNlUSxDAAAAJvAMz1gxBQzRSiWAQAAYOK5xGGJmy4olgEAAGDDzDIAAACQxSTe4DdVKJYBAABgw8wyAAAAkJkXJA5L3HTBQ0kAAACALAoys/xRue3XBZdP6R6y3Vbp/Dxux7Ser3VM4zXmM6aXx5h+PudrRO6NFUfuFQJ5N1YceVco5N5YceReoXnOk2dYUuEZnuA3VViGAQAAABtu8AMAAAAymw1rlimWAQAAYOOGD0vcNEGxDAAAABMvMK5ZZus4AAAAzHQswwAAAACyMRbL3OAHAACAmY/dMAAAAIDMPJc4LHHTBcUyAAAAbNgNAwAAAMjMc8Yb/KZRsZzPAy8BAAAwiyV3w7AcFq2traqsrFQkElF1dbX27ds3rrhdu3bJ8zytXLky5zEplgEAAGAymcXy7t271djYqKamJh04cECLFy9WXV2djh8/PmrckSNH9I1vfEM33XST6RoplgEAAGDj8jgk9ff3px1nzpzJOlRzc7PWrVun+vp6LVq0SG1tbZozZ47a29uzxsTjcd1111369re/rSuvvNJ0iQVZs+xHT9viQvZ9RHzftvgllNeYttgiY1zIeI2SVBSKm+KKjecqSaE8Yq3IvdGRe4VB3o2OvCsccm905F7h5ftQkoqKirT2pqYmbdmy5bz+sVhM+/fv18MPP5xq831ftbW16u7uzjrOd77zHc2bN0933323/v3f/z33ExU3+AEAAMAqz32Wjx07ptLS0lRzOBzO2P3kyZOKx+OKRqNp7dFoVAcPHswY89JLL+mnP/2penp6DCd4FsUyAAAATPKdWS4tLU0rlifKBx98oNWrV2vHjh0qKyvL670olgEAAGCSb7E8XmVlZQqFQurr60tr7+vrU3l5+Xn9//KXv+jIkSNasWJFqi0IEoMWFRXp0KFDuuqqq8Y1Njf4AQAAwCbPG/zGq6SkRFVVVers7Ey1BUGgzs5O1dTUnNd/4cKFeu2119TT05M6vvzlL+vWW29VT0/PeWulR8PMMgAAAEwm83HXjY2NWrt2rZYuXaply5appaVFAwMDqq+vlyStWbNGCxYs0Pbt2xWJRHTttdemxV966aWSdF77WCiWAQAAYDJZyzAkadWqVTpx4oQ2b96s3t5eLVmyRB0dHamb/o4ePSrfn/hFExTLAAAAMJnsx103NDSooaEh42tdXV2jxu7cudM0JsUyAAAAbAzrj1Nx0wTFMgAAAEwmcxnGVKFYBgAAgAnFMgAAAJAFxTIAAACQhRc4eUHuC5AtMVOFYhkAAAA23OAHAAAAZMYyDKMroydNcSHf/smV+HFTXJExLp8xw6EhU1xRHpkV9o1j5vH5WMfMB7k3OnKvMMi70ZF3hUPujY7cKzyKZQAAACALimUAAAAgG2e7wU9u+ixaplgGAACAiedsj662Pu56KlAsAwAAwMSLS55vi5suKJYBAABgwpplAAAAIAseSgIAAABkw0NJAAAAgMyYWQYAAACymA1rlg33LwIAAACSF3fmw6K1tVWVlZWKRCKqrq7Wvn37svbdsWOHbrrpJl122WW67LLLVFtbO2r/bCiWAQAAYOK5s7PLOR2GWnn37t1qbGxUU1OTDhw4oMWLF6uurk7Hjx/P2L+rq0t33HGHfv/736u7u1sVFRW67bbb9O677+Y0LsUyAAAAbJyzHzlqbm7WunXrVF9fr0WLFqmtrU1z5sxRe3t7xv6/+MUvdP/992vJkiVauHChnnnmGQVBoM7OzpzGpVgGAACAiWlWecQ65/7+/rTjzJkzGceJxWLav3+/amtrU22+76u2tlbd3d3jOtcPP/xQg4OD+tjHPpbTNRbkBr+//fg7priIP2ges9j4KJhwHmNGPFus9Vzz+3yGbGMar1GSSqbg8Tzk3ujIvcIg70ZH3hUOuTc6cq/wvLiTZ1hTkVyzXFFRkdbe1NSkLVu2nNf/5MmTisfjikajae3RaFQHDx4c15gPPvigLr/88rSCezzYDQMAAAAm+W4dd+zYMZWWlqbaw+HwhJ3bSI8//rh27dqlrq4uRSKRnGIplgEAAGCSb7FcWlqaVixnU1ZWplAopL6+vrT2vr4+lZeXjxr7ox/9SI8//rh+97vf6frrr8/5XFmzDAAAAJtJusGvpKREVVVVaTfnJW/Wq6mpyRr3gx/8QFu3blVHR4eWLl1qukRmlgEAAGCS75rlXDQ2Nmrt2rVaunSpli1bppaWFg0MDKi+vl6StGbNGi1YsEDbt2+XJH3/+9/X5s2b9eyzz6qyslK9vb2SpLlz52ru3LnjHpdiGQAAACaT+bjrVatW6cSJE9q8ebN6e3u1ZMkSdXR0pG76O3r0qHz/7KKJn/zkJ4rFYvrKV76S9j7ZbiLMhmIZAAAANoGTLE/jMxTLktTQ0KCGhoaMr3V1daV9feTIEdMY56JYBgAAgInnnDzDA0YsMVOFYhkAAAA2gTv7hJFc46YJimUAAACYeHEnT5Nzg99UoVgGAACATRAYZ5YNMVOEYhkAAAA2cScZZpZNNwVOEYplAAAAmHCDHwAAAJBNPJBkWFIRZxkGAAAAZjoX2NYfu1leLNde/CdTXLE3ZB4zYoyNeHHzmMWWBe2SIobHQkpSsSkqOaY/dqdMYxrjJCns5XPGNuTeWGOSe4VA3o01JnlXKOTeWGOSewUXD2yFLzf4AQAAYMYL4pIMvwgF9l+eJhvFMgAAAGwC424YPJQEAAAAM17gZLrBj2IZAAAAM148LjmWYQAAAADnC4xbx3GDHwAAAGY81iwDAAAAmbkgLmdYhmGJmSoUywAAALCJxyXLHtoUywAAAJjpXDwuZyiWp9PMsv1xMQAAAJjd4oH9MGhtbVVlZaUikYiqq6u1b9++Ufv/6le/0sKFCxWJRHTddddp7969OY9JsQwAAAAb5xKPu875yP0Gv927d6uxsVFNTU06cOCAFi9erLq6Oh0/fjxj/5dffll33HGH7r77br366qtauXKlVq5cqddffz2ncSmWAQAAYOLicfORq+bmZq1bt0719fVatGiR2traNGfOHLW3t2fs/+STT+qLX/yivvnNb+qaa67R1q1bdcMNN+jHP/5xTuNSLAMAAMBkMH5ag0OGI35aktTf3592nDlzJuM4sVhM+/fvV21tbarN933V1taqu7s7Y0x3d3daf0mqq6vL2j+bgtzg93dXHCrE2wJjIvcwFcg7TBVyD1OlpKRE5eXleqk39zXASXPnzlVFRUVaW1NTk7Zs2XJe35MnTyoejysajaa1R6NRHTx4MOP79/b2Zuzf29ub03myGwYAAAByEolE9PbbbysWi5nfwzknz/PS2sLhcL6nNuEolgEAAJCzSCSiSCQyKWOVlZUpFAqpr68vrb2vr0/l5eUZY8rLy3Pqnw1rlgEAAHBBKykpUVVVlTo7O1NtQRCos7NTNTU1GWNqamrS+kvSiy++mLV/NswsAwAA4ILX2NiotWvXaunSpVq2bJlaWlo0MDCg+vp6SdKaNWu0YMECbd++XZK0YcMG3XzzzXriiSd0++23a9euXXrllVf09NNP5zQuxTIAAAAueKtWrdKJEye0efNm9fb2asmSJero6EjdxHf06FH5/tlFE8uXL9ezzz6rxx57TI888og+/elP6/nnn9e1116b07iec4ZdoQEAAIBZgDXLAAAAQBYUywAAAEAWFMsAAABAFhTLAAAAuOD94Q9/0IoVK3T55ZfL8zw9//zzY8Z0dXXphhtuUDgc1tVXX62dO3fmPC7FMgAAAC54AwMDWrx4sVpbW8fV/+2339btt9+uW2+9VT09PXrggQd0zz336IUXXshpXHbDAAAAwLTieZ5+85vfaOXKlVn7PPjgg9qzZ49ef/31VNtXv/pVvf/+++ro6Bj3WOyzDAAAgJydPn1asVjMHO+ck+d5aW3hcFjhcDjfU5MkdXd3q7a2Nq2trq5ODzzwQE7vU5Bi+Qv+f7cF+iHzmF6x7VK8UB5jFhk/PuuY1vEkeSHjips8xlSR7Tr/9fAT5iHJvTGQe6Oy5h55NwbyblR8zxtHLLk3Ruzk597p06d1xafmqvd43Pwec+fO1alTp9LampqatGXLFvN7jtTb25t6YElSNBpVf3+/PvroI1100UXjeh9mlgEAAJCTWCym3uNxvb3/Uyq9OPdfEPo/CHRF1Ts6duyYSktLU+0TNas8kSiWAQAAYPL/zE0cuYoP3zFXWlqaVixPpPLycvX19aW19fX1qbS0dNyzyhK7YQAAAGAGqqmpUWdnZ1rbiy++qJqampzeh2IZAAAAJoGc+cjVqVOn1NPTo56eHkmJreF6enp09OhRSdLDDz+sNWvWpPrfe++9Onz4sL71rW/p4MGDeuqpp/TLX/5SGzduzGlclmEAAADAJFCgwBiXq1deeUW33npr6uvGxkZJ0tq1a7Vz50799a9/TRXOknTFFVdoz5492rhxo5588kl98pOf1DPPPKO6urqcxqVYBgAAgEncOcUNj+ywxNxyyy0a7fEgmZ7Od8stt+jVV1/NeayRKJYBAABgYl1SYYmZKhTLAAAAMAnkFJ/hxTI3+AEAAABZMLMMAAAAE5ZhAAAAAFlM5g1+U4ViGQAAACbB8GGJmy4KUiwXXVlpinNFIfugIdvyaxeyj+lCni2uyLhU3LcvMQ+MY1qvUZKUT6wRuTdGHLlXEOTdGHHkXcGQe2PEkXsFFzfe4GeJmSrMLAMAAMAk7hKHJW66oFgGAACAyWxYhsHWcQAAAEAWzCwDAADAJJCnuHJfMx0YYqYKxTIAAABMApc4LHHTBcUyAAAATOLGmWVLzFShWAYAAIAJxTIAAACQReA8Bc6wZtkQM1UolgEAAGAyG2aW2ToOAAAAyIKZZQAAAJjE5StumHuNF+BcCoViGQAAACbOuGbZsWYZAAAAM91sWLNMsQwAAACTuPMVd4ZlGLP9oSSnKz9uijN81mdji2zBeY0Zsv1WFBTZ4qbiXPMZMwjZY63IvdGRe4VB3o2OvCsccm905F7hBfIUGNYsB5o+1TIzywAAADCZDcsw2DoOAAAAyIKZZQAAAJjY1yyzDAMAAAAzXGLNsuFx19NoGQbFMgAAAEwC40NJuMEPAAAAMx7LMAAAAIAsAvkzfus4dsMAAAAAsmBmGQAAACZx5ynuDPssG2KmCsUyAAAATOLGG/zi02gZBsUyAAAATALnKzDc4Bdwgx8AAABmOmaWAQAAgCwC2dYfBxN/KgVTkGL51IISU5wL2cc0/B+AvMcMjLHOty1qn26fj3XMfJB7Y4xJ7hUEeTfGmORdwZB7Y4xJ7hWcfeu46bMh2/Q5UwAAAGCSsQwDAAAAJvYn+E2f+VqKZQAAAJgE8hTIsmaZfZYBAAAwwzGzDAAAAGRh3zqOYhkAAAAzXOA8BZat43jcNQAAAGa6wDizzNZxAAAAwAzAzDIAAABMAucrMNysZ4mZKhTLAAAAMInLU9ywDZwlZqpQLAMAAMCEmWUAAAAgi7hss8TxiT+VgqFYBgAAgMlsmFmePmcKAACAWa21tVWVlZWKRCKqrq7Wvn37Ru3f0tKiz372s7roootUUVGhjRs36vTp0zmNWZCZ5YHLbYu28/klwxrrQvYxrb9qBCE3qeNJ9uvMZ89wZ73OPJB7oyP3CoO8Gx15Vzjk3ujIvcKbzMdd7969W42NjWpra1N1dbVaWlpUV1enQ4cOad68eef1f/bZZ/XQQw+pvb1dy5cv15tvvqmvfe1r8jxPzc3N4x6XmWUAAACYOHkKDIczrHNubm7WunXrVF9fr0WLFqmtrU1z5sxRe3t7xv4vv/yybrzxRt15552qrKzUbbfdpjvuuGPM2ehzUSwDAADAJDmzbDkkqb+/P+04c+ZMxnFisZj279+v2traVJvv+6qtrVV3d3fGmOXLl2v//v2p4vjw4cPau3evvvSlL+V0jdzgBwAAAJPAeQoMa0iSMRUVFWntTU1N2rJly3n9T548qXg8rmg0mtYejUZ18ODBjGPceeedOnnypD7/+c/LOaehoSHde++9euSRR3I6V4plAAAAmMTlK25YqJCMOXbsmEpLS1Pt4XB4ws6tq6tL27Zt01NPPaXq6mq99dZb2rBhg7Zu3apNmzaN+30olgEAAGCS78xyaWlpWrGcTVlZmUKhkPr6+tLa+/r6VF5enjFm06ZNWr16te655x5J0nXXXaeBgQF9/etf16OPPirfH1+Rz5plAAAAXNBKSkpUVVWlzs7OVFsQBOrs7FRNTU3GmA8//PC8gjgUSmxX4tz4dxBhZhkAAAAmgXwFhrlXS0xjY6PWrl2rpUuXatmyZWppadHAwIDq6+slSWvWrNGCBQu0fft2SdKKFSvU3Nysz33uc6llGJs2bdKKFStSRfN4UCwDAADAJO48xQ3LMCwxq1at0okTJ7R582b19vZqyZIl6ujoSN30d/To0bSZ5Mcee0ye5+mxxx7Tu+++q0984hNasWKFvve97+U0LsUyAAAATPJds5yrhoYGNTQ0ZHytq6sr7euioiI1NTWpqanJNFbqffKKBgAAwKzlnK/A8DQ+l89jJCcZxTIAAABM4vIUNzyNzxIzVSiWAQAAYBI425KKYPybUUy56TMHDgAAAEyygswsf1QemOLyWr4Ssv2K4vw8frWxnq91TOM15jOml8eYfj7na0TujRVH7hUCeTdWHHlXKOTeWHHkXqEFxjXLlpipwjIMAAAAmATyFBjWH1tipgrFMgAAAEwmc5/lqUKxDAAAABOWYQAAAABZBDI+lIRlGAAAAJjpnHHNsptGxfL0mQMHAAAAJhkzywAAADAJnHEZBjf4AQAAYKbjBj8AAAAgC2aWAQAAgCx4KAkAAACQxWyYWZ4+C0YAAACAScbMMgAAAExmw8xyQYplP3raFhcK7GP6zhQXymtMW2yRMS5kvEZJKgrFTXHFxnOVpFAesVbk3ujIvcIg70ZH3hUOuTc6cq/wKJYBAACALCiWAQAAgCycbDtb2OfuJx/FMgAAAEyYWQYAAACymA3FMlvHAQAAAFkwswwAAACT2TCzTLEMAAAAE4plAAAAIAvnPDlD4WuJmSoUywAAADAJ5Jm2jrPETBWKZQAAAJiwDAMAAADIYjYsw2DrOAAAACALZpYBAABgwjIMAAAAIIvZsAyjIMXyldGTpriQH5jHLPHjprgiY1w+Y4ZDQ6a4Is/++YR945h5fD7WMfNB7o2O3CsM8m505F3hkHujI/cKzxlnlmd9sQwAAICZz0lyzhY3XVAsAwAAwCSQJ2+G77PMbhgAAABAFswsAwAAwIQb/AAAAIAsAufJY+s4AAAA4HzOGW/wm0Z3+FEsAwAAwIRlGAAAAEAWFMsAAABAFrNhzTJbxwEAAABZMLMMAAAAE27wAwAAALJIFMuWNcsFOJkCoVgGAACACTf4Gf3tx98xxUX8QfOYxV7cFBfOY8yIZ4u1nmt+n8+QbUzjNUpSifE680HujY7cKwzybnTkXeGQe6Mj9wrPDR+WuOmCmWUAAACYzIaZZXbDAAAAgI3L4zBobW1VZWWlIpGIqqurtW/fvlH7v//++1q/fr3mz5+vcDisz3zmM9q7d29OYzKzDAAAgAve7t271djYqLa2NlVXV6ulpUV1dXU6dOiQ5s2bd17/WCymL3zhC5o3b56ee+45LViwQO+8844uvfTSnMalWAYAAICNcRmGDDHNzc1at26d6uvrJUltbW3as2eP2tvb9dBDD53Xv729Xe+9955efvllFRcXS5IqKytzHpdlGAAAADBJ7rNsOSSpv78/7Thz5kzGcWKxmPbv36/a2tpUm+/7qq2tVXd3d8aY3/72t6qpqdH69esVjUZ17bXXatu2bYrHc7shkmIZAAAAJskb/CyHJFVUVOiSSy5JHdu3b884zsmTJxWPxxWNRtPao9Goent7M8YcPnxYzz33nOLxuPbu3atNmzbpiSee0He/+92crpFlGAAAALBxnmlJRTLm2LFjKi0tTTWHw+GJOjMFQaB58+bp6aefVigUUlVVld5991398Ic/VFNT07jfh2IZAAAAJvk+7rq0tDStWM6mrKxMoVBIfX19ae19fX0qLy/PGDN//nwVFxcrFAql2q655hr19vYqFouppKRkXOfKMgwAAADYTNLWcSUlJaqqqlJnZ2eqLQgCdXZ2qqamJmPMjTfeqLfeektBEKTa3nzzTc2fP3/chbJEsQwAAIBpoLGxUTt27NDPf/5zvfHGG7rvvvs0MDCQ2h1jzZo1evjhh1P977vvPr333nvasGGD3nzzTe3Zs0fbtm3T+vXrcxqXZRgAAAAwmcwn+K1atUonTpzQ5s2b1dvbqyVLlqijoyN109/Ro0fl+2fngSsqKvTCCy9o48aNuv7667VgwQJt2LBBDz74YE7jUiwDAADAzvg0PouGhgY1NDRkfK2rq+u8tpqaGv3xj3/Ma0yKZQAAAJhM5szyVKFYBgAAgI3hZr1U3DRRkGK59uI/meKKvSHzmBFjbMTL7SkuIxV7wdidMo5py5BiU1RyTNu9nMXGOEkKe/mcsQ25N9aY5F4hkHdjjUneFQq5N9aY5F7hecOHJW56YDcMAAAAIAuWYQAAAMCGZRgAAABAFhTLAAAAQBbOSxyWuGmCYhkAAAAmziUOS9x0QbEMAAAAG5ZhAAAAAFnMgmUYbB0HAAAAZMHMMgAAAEw8lzgscdMFxTIAAABsWLMMAAAAZDEL1ixTLAMAAMCGmWUAAAAgC4plm7+74lAh3hYYE7mHqUDeYaqQe5hys6BYZus4AAAAIAuWYQAAAMCGG/wAAACAzNhnGQAAAMiGNcsAAADA7MXMMgAAAEw8GZdhTPiZFA4zywAAAEAWzCwDAADAht0wAAAAgCxmwQ1+FMsAAACwoVgGAAAAMmOfZQAAACAbZpYBAACALGZBsczWcQAAAEAWBZlZ/oL/322Bfsg8pldsuxQvlMeYRcaPzzqmdTxJXsj4e1EeY6rIdp3/evgJ85Dk3hjIvVFZc4+8GwN5Nyq+540jltwbI3bycy+JNcsAAABANuyzDAAAAGQxC9YsUywDAADAhGUYAAAAQDbMLAMAAABZGGeWp1OxzNZxAAAAQBbMLAMAAMCGZRgAAABAFhTLAAAAQGazYTcM1iwDAAAAWTCzDAAAAJtZsAyDmWUAAAAgi4LMLBddWWmKc0Uh+6AhW93vQvYxXcj2XHNXZPwdxbf/bhMYx7ReoyQpn1gjcm+MOHKvIMi7MeLIu4Ih98aII/cKbjasWWYZBgAAAOymUeFrQbEMAAAAm1mwZpliGQAAACYswwAAAACyYWYZAAAAyGw2zCyzdRwAAACmhdbWVlVWVioSiai6ulr79u0bV9yuXbvkeZ5WrlyZ85gUywAAALBxeRw52r17txobG9XU1KQDBw5o8eLFqqur0/Hjx0eNO3LkiL7xjW/opptuyn1QUSwDAADAahKL5ebmZq1bt0719fVatGiR2traNGfOHLW3t2eNicfjuuuuu/Ttb39bV155Ze6DimIZAAAARsk1y5ZDkvr7+9OOM2fOZBwnFotp//79qq2tTbX5vq/a2lp1d3dnPb/vfOc7mjdvnu6++27zNVIsAwAAwCbPmeWKigpdcsklqWP79u0Zhzl58qTi8bii0WhaezQaVW9vb8aYl156ST/96U+1Y8eOvC6R3TAAAABgk+fWcceOHVNpaWmqORwOT8hpffDBB1q9erV27NihsrKyvN6LYhkAAAAm+W4dV1pamlYsZ1NWVqZQKKS+vr609r6+PpWXl5/X/y9/+YuOHDmiFStWpNqCIJAkFRUV6dChQ7rqqqvGda4swwAAAMAFraSkRFVVVers7Ey1BUGgzs5O1dTUnNd/4cKFeu2119TT05M6vvzlL+vWW29VT0+PKioqxj02M8sAAACwmcQn+DU2Nmrt2rVaunSpli1bppaWFg0MDKi+vl6StGbNGi1YsEDbt29XJBLRtddemxZ/6aWXStJ57WMpSLF8uvLjpjiXxzy3K7IF5zVmyDPFBUW2uKk413zGDEL2WCtyb3TkXmGQd6Mj7wqH3BsduVd4k/kEv1WrVunEiRPavHmzent7tWTJEnV0dKRu+jt69Kh8f+IXTTCzDAAAAJtJnFmWpIaGBjU0NGR8raura9TYnTt3msakWAYAAIDNJBfLU4FiGQAAACbe8GGJmy4olgEAAGAzC2aW2ToOAAAAyIKZZQAAAJhM5m4YU4ViGQAAADazYBkGxTIAAADsplHha0GxDAAAABOWYQAAAADZzIJlGOyGAQAAAGTBzDIAAABMWIYBAAAAZDMLlmEUpFg+taDEFOdC9jGdcUFJPmMGxljn2x7yON0+H+uY+SD3xhiT3CsI8m6MMcm7giH3xhiT3Cs4ZpYBAACAbJhZBgAAALKgWAYAAAAymw3LMNg6DgAAAMiCmWUAAADYsAwDAAAAyMxzTp7LvfK1xEwVimUAAADYMLMMAAAAZDYbbvCjWAYAAIANM8sAAABAZrNhZpmt4wAAAIAsmFkGAACADcswAAAAgMxmwzIMimUAAADYMLNsM3C5Z4pzeaygtsa6kH1M64rvIGTMkHw+H+N1Ots/5fCYk/9fArk3OnKvMMi70ZF3hUPujY7cmxzTaZbYgpllAAAA2DiXOCxx0wS7YQAAAABZMLMMAAAAE27wAwAAALLhBj8AAAAgMy9IHJa46YJiGQAAADbMLAMAAACZsWYZAAAAyIat4wAAAIDZi5llAAAAmLAMAwAAAMiGG/wAAACAzJhZBgAAALKZBTf4FaRY/qjcttO0y+d2w5DtQ3d+Hv9Y1vO1jmm8xnzG9PIY08/nfI3IvbHiyL1CIO/GiiPvCoXcGyuO3Cs0ZpYBAACAbGbBmmW2jgMAAACyYGYZAAAAJizDAAAAALIJXOKwxE0TFMsAAACwmQVrlimWAQAAYOLJuAxjws+kcCiWAQAAYDML9llmNwwAAACYJG/wsxwWra2tqqysVCQSUXV1tfbt25e1744dO3TTTTfpsssu02WXXaba2tpR+2dDsQwAAIAL3u7du9XY2KimpiYdOHBAixcvVl1dnY4fP56xf1dXl+644w79/ve/V3d3tyoqKnTbbbfp3XffzWlcimUAAADYuDyOHDU3N2vdunWqr6/XokWL1NbWpjlz5qi9vT1j/1/84he6//77tWTJEi1cuFDPPPOMgiBQZ2dnTuNSLAMAAMDEc858SFJ/f3/acebMmYzjxGIx7d+/X7W1tak23/dVW1ur7u7ucZ3rhx9+qMHBQX3sYx/L6RoplgEAAGAT5HFIqqio0CWXXJI6tm/fnnGYkydPKh6PKxqNprVHo1H19vaO61QffPBBXX755WkF93iwGwYAAABMRs4S5xonSceOHVNpaWmqPRwOT9i5jfT4449r165d6urqUiQSySm2IMWyHz1tiwsF9jF9222VobzGtMUWGeNCxmuUpKJQ3BRXbDxXSQrlEWtF7o2O3CsM8m505F3hkHujI/cmQZ4PJSktLU0rlrMpKytTKBRSX19fWntfX5/Ky8tHjf3Rj36kxx9/XL/73e90/fXX53yqLMMAAADABa2kpERVVVVpN+clb9arqanJGveDH/xAW7duVUdHh5YuXWoam2UYAAAAsJnEh5I0NjZq7dq1Wrp0qZYtW6aWlhYNDAyovr5ekrRmzRotWLAgte75+9//vjZv3qxnn31WlZWVqbXNc+fO1dy5c8c9LsUyAAAATKwPGLHErFq1SidOnNDmzZvV29urJUuWqKOjI3XT39GjR+X7ZxdN/OQnP1EsFtNXvvKVtPdpamrSli1bxj0uxTIAAABsJvlx1w0NDWpoaMj4WldXV9rXR44cMY1xLoplAAAAmHhB4rDETRcUywAAALCZ5JnlqUCxDAAAAJs8t46bDtg6DgAAAMiCmWUAAACY5PsEv+mAYhkAAAA2rFkGAAAAsnCSLDtbTJ9amWIZAAAANizDAAAAALJxMi7DmPAzKRiKZQAAANiwZtnmyuhJU1zItz/OpcSPm+KKjHH5jBkODZniivJ43E3YN46Zx+djHTMf5N7oyL3CIO9GR94VDrk3OnIPE4GZZQAAANgEkjxj3DRBsQwAAAATbvADAAAAsmHNMgAAAJAFxTIAAACQxSwolv2pPgEAAADgQsXMMgAAAGzYDQMAAADIjN0wAAAAgGxmwZplimUAAADYBE7yDIVvQLEMAACAmY6ZZQAAACAbY7Gs6VMss3UcAAAAkEVBZpb/9uPvmOIi/qB5zGIvbooL5zFmxLPFWs81v89nyDam8RolqcR4nfkg90ZH7hUGeTc68q5wyL3RkXuTgGUYAAAAQBaBk2lJBTf4AQAAYMZzQeKwxE0TFMsAAACwYRkGAAAAkAXLMAAAAIAsZsHMMlvHAQAAAFkwswwAAAAbJ+PM8oSfScFQLAMAAMBmFizDoFgGAACATRBIMmwDF7B1HAAAAGY6ZpYBAACALCiWAQAAgCxmwT7LbB0HAAAAZMHMMgAAAEycC+Rc7jfrWWKmSkGK5dqL/2SKK/aGzGNGjLERL24es9iz/UNHPNv/eig2RSXHtP1PhGJjnCSFvXzO2IbcG2tMcq8QyLuxxiTvCoXcG2tMcq/gnLMtqWDNMgAAAGY8Z1yzTLEMAACAGS8IJMvM/2xfhgEAAIBZYBbMLLMbBgAAAJAFM8sAAAAwcUEgZ1iGMet3wwAAAMAsMAuWYVAsAwAAwCZwkmWLPoplAAAAzHjOSbLshkGxDAAAgBnOBU7OMLPsplGxzG4YAAAAsHGB/TBobW1VZWWlIpGIqqurtW/fvlH7/+pXv9LChQsViUR03XXXae/evTmPSbEMAACAC97u3bvV2NiopqYmHThwQIsXL1ZdXZ2OHz+esf/LL7+sO+64Q3fffbdeffVVrVy5UitXrtTrr7+e07gUywAAADBxgTMfuWpubta6detUX1+vRYsWqa2tTXPmzFF7e3vG/k8++aS++MUv6pvf/KauueYabd26VTfccIN+/OMf5zQuxTIAAABMhtwZDQWGw52RJPX396cdZ86cyThOLBbT/v37VVtbm2rzfV+1tbXq7u7OGNPd3Z3WX5Lq6uqy9s+mIDf4/d0VhwrxtsCYyD1MBfIOU4Xcw1QpKSlReXm5XurNfQ1w0ty5c1VRUZHW1tTUpC1btpzX9+TJk4rH44pGo2nt0WhUBw8ezPj+vb29Gfv39vbmdJ7shgEAAICcRCIRvf3224rFYub3cM7J87y0tnA4nO+pTTiKZQAAAOQsEokoEolMylhlZWUKhULq6+tLa+/r61N5eXnGmPLy8pz6Z8OaZQAAAFzQSkpKVFVVpc7OzlRbEATq7OxUTU1Nxpiampq0/pL04osvZu2fDTPLAAAAuOA1NjZq7dq1Wrp0qZYtW6aWlhYNDAyovr5ekrRmzRotWLBA27dvlyRt2LBBN998s5544gndfvvt2rVrl1555RU9/fTTOY1LsQwAAIAL3qpVq3TixAlt3rxZvb29WrJkiTo6OlI38R09elS+f3bRxPLly/Xss8/qscce0yOPPKJPf/rTev7553XttdfmNK7nptPzBgEAAIBJxJplAAAAIAuKZQAAACALimUAAAAgC4plAAAAIAuKZQAAACALimUAAAAgC4plAAAAIAuKZQAAACALimUAAAAgi4I87vr06dOKxWKFeGvMcCUlJYpEIuZ4cg9W+eQeeQdgusn35+1sMuHF8unTp3XJRZcpptMT/daYBcrLy/X222+b/gMm95APa+6RdwCmo3x+3s42E14sx2IxxXRaN4VWqDgUkUK+vFBI8jwpFJLnh6SQLyXbfG/E1/5wP18u5El+4uvE3z0535PzfcmTXCjxtfzE687z5HzJeZ4U8uQ8Jb72vdSfibgRf/d1Xr9U+/Ahb7iPJ+nc9gz9ku1K6+NSsYl+bvg1l+on38n5Tp4vyUu2O3mek+c7eZ7k+UHi776T77nhj8rJ9wOF/ETfkJJfByryAnmeU5EfqMgPFBr+u+85FXmBivy4QgpU7Mfla7ifF1exH8hXoGIvrmI/nmjzAvleoq3Ii6vEG1KxF0/0U6Di4a9DXqAixVXixYf7BokxvEAlClTkORV7Ukieij1PRfJV7Pny5eujU56uqHpHsVjM9B9vKveK/l7FoXAi9/zh3PKH89D3h4/hvPNDib97fiLvfF8KeYm8G/57Ks+8EfmWyqdkXnrDOeKdl3culXdK5Pc5uXM2dkTbiFxK5ujIOGXpNzLvEjl1Nla+k1Py6+EcG+6j4RyT7xJ5N5xP8pTIN98N90nknu9LIT+QP5yLIS+RV6Hh3POV+Hsy7/xkHibzzkv0OZtfTiE/nsjRVO7EVewPKSQNf302x4q9uIqG864kmYfDrxcrUIkXl+c5lSiRu8WeS4znScXyVOz5KpKvkOepSCF9dMrTp6qOmHIvmXef9/5fFalY3nA+Jf4c/h7neZKUyEfv7Pc2eZ48b3g1XLLfyNc1/G838n284fzVcLvOHyeRqzr7ft5w/koj2of7Jd9f6V+n8lXJPBsRk/xeO3x+yddd8nyHryeVn8nXk6+d2zbcnv69dMT1S+e8l9LjUueW/LxGiUka2T7yvDONcc77ZXzPc/vo/BhlivHcqOPIS/x3e/55u7QYjWhLez35Uab1H/maO/vn2RQ6+/NnRGyq73D/VLqOeI9kuz/8d1/nxrizrw3H+RrxvWVku+cS37oyvabk18Fwv5Htw993lHw9cUkhOXnJ71Wek68gNU5IQep7mafEn4nXAoVSfw6/3zlxye9nqRgF8qXh9wyG+7jUa6Hh9xgZE5JLfR1S8uf5iNeGf74n/q7U5+or8SMrJG/4795wu5c6Qp6nxE/ZxGshz9epD5z5e95sVJBlGIk3LlaRVyx5IXnecGHsDRfL/nCRkvyhkPw6+QMiY7HsDxcmYxTLvjeuYnlkUTJqsZzs42n0YvncwmW0YtnPoVj204tlP61YducXyyMKlnOL5UShkl4sF3kji+W4ij1/RLHsq9hPFLPFXny4WE4UuSWeVOx58ocLk+JkEex5KpaGX08WxlKxJ5VoZFvifYpHFMvFqe/SE5F7JYmCxfMlb7hY9kcWyyPzbjjXshbLw3+OVSz7GrNYTvtFbbRieWT+eGMUy+f+Pdk/U7Gceq9xFMt+erHspRXL7rxiOeRnLpaLhn84jSyWk20jfxkr8v3hYjmZc76KfU8hueG8S+RcKJWHibwr8RI/GEq8ZDEslQyfZ0myQB7+QTOyWC5OFcsTk3vJ73necEGb/DNVUUjD+Tii3R9PsZyqSM7G+ue8ZiqWvfR+ybhEVWMrlkcWbxNQLKcXxCNfy6NYPu8cJrBYPneMccWMo1gemZ6p95nAYtkb+Wfy/c4Wvml9kkOdUxgrQ1tasTyyLYdi+WxRPHqxnCoevUzFcuK10IivRyuW/fOKZXfOn2MXyyHPJQpYz1NI3ohiOVG8JopblypuE8VyMFz4JotjjTjv9GI5NI5iOTRKsZz8vDA+/lSfAAAAAHCholgGAAAAsqBYBgAAALKgWAYAAACyoFgGAAAAsqBYBgAAALKgWAYAAACyoFgGAAAAsqBYBgAAALKgWAYAAACyoFgGAAAAsqBYBgAAALIoKtQbD2lQngtJLp74U57kQvKCkOT5kheSPC/Rnvza+cNtvpy81NeJv3tyzpPz/cRbOU/O9yR/uN3z5HzJeZ4UeHLD4c73Un/Kk1ww4u++zuuXah8+hoeWS5xWenuGfsl2pfVxqdhEPzf8mkv1k+/kfCfPl+Ql2508z8nznTxP8vxguI+T89zwR+Xk/EDyE32lxNfODyQvSLT5geQHcl7iNd9zcl4g58cVKPGnL6fADxR4cQV+IF/Jv8cV9+KKe4F8L1Dci2vIiyvuDWnIi8tXoCEFKvbiKvbiCnmBihTXoBdXsReoyAsUUqBiL1CJAhV5TsWeFJKnYs9TkaRiL3G5H53yJjD3Eh944s+QFPjyvNDwP4x/Nu+UzM1Eu0v+I3le6u9uOAGcNyLfkjk0/Hfne8M54uncvHOpvFMiv8/JnbOxI9pG5FIyR0fGKUu/kXmXyI2zsfKdnJJfD+fYcB/5Z/NJqZxzwx+TS7QPtyXySImcGs5FeWfzy/mBfCXzMtHuJ19L5p2X7BNX4MXlPKe4H1fIc4p7iba4F1fcH1JIGs67RM6FvEBDXlyDw3mXzMPB4RwsVqDB4dwvGc69Ys/JVyL3iuWp2Et88wt5norkTUjuDWlQcpI3/A/hpf5xhv+UEvmoEf+ggSfPS85ZeMP5MfwP6Xmp5rPfK5N5m3xtRLvzUjHO8ySns+/nDeevNKI9+f1S6XHD46XyVclLGBGT/F6rkZfoyensqSmZ1yNfT752blvy1Pz01zTi/c79ONPiUueW/LxGiUka2T7yvDONcc77ZXzPc/vo/BhlivHcqOPIS/x3e/55u7QYjWhLez35Uab1H/maO/vn2RQ6+/NnRGyq73D/ZHq5Ee+RbHfDf0+evScpGG7zR/wpDf/EH/7aH9nuucS3rkyvKfl1MNxvZHug0PB/84nXE5cUkpM33D/xepAaJ6RkeyBPiT8TrwUKpf4cfr9z4kLD389SMQqU+OkSDMclzif5Wmj4PUbGhORSX4eGP4+QRrzmOYXkhv+euM7E+0khL/EzNfF3b7jdSx0hzxv+yZd4LeRJpz5IyyqMYcKLZeec5s6dq38/9f9J8Yl+d8x0c+fOlXO2/4jP5t7/kYYm+MQw41lzL5l3L536l0QD3/cATAP5/LydbSa8WPY8T6dOndKxY8dUWlo60W8/7fX396uiooLPJ4PkZ+OlpjZyQ+5lR96NLp/cm415N9vyieud+WbbNef783a2KdgyjNLS0lmRcFZ8PoXDZ5sdn03hzMbPdrZdM9c7883Ga8bYuMEPAAAAyIJiGQAAAMhiwovlcDispqYmhcPhiX7rGYHPJ7t8Pxs+2+z4bEaXz+czGz/b2XbNXO/MN9uuebZdb748x62QAAAAQEYswwAAAACyoFgGAAAAsqBYBgAAALKgWAYAAACyoFgGAAAAsjAVy62traqsrFQkElF1dbX27ds3av9f/epXWrhwoSKRiK677jrt3bvXdLLTRS6fz86dO+V5XtoRiUQm8Wwnzx/+8AetWLFCl19+uTzP0/PPPz9mTFdXl2644QaFw2F94hOfUFlZGXmXBXmXWb55d/XVV2v16tWz6nteLrm0Y8cO3XTTTbrssst02WWXqba2dszP50KU68+1pF27dsnzPK1cubKwJzjBcr3e999/X+vXr9f8+fMVDof1mc98ZkbntSS1tLTos5/9rC666CJVVFRo48aNOn369CSdbX4m4vvezp07C36e04bL0a5du1xJSYlrb293f/rTn9y6devcpZde6vr6+jL2/4//+A8XCoXcD37wA/fnP//ZPfbYY664uNi99tpruQ49LeT6+fzsZz9zpaWl7q9//Wvq6O3tneSznhx79+51jz76qPv1r3/tJLnf/OY3o/Y/fPiwmzNnjmtsbHRPPPGEKyoqcp7nuX/6p38i785B3mWXT979+c9/dl/72tecJNfY2Dgrvuflmkt33nmna21tda+++qp744033Ne+9jV3ySWXuP/8z/+c5DO3y/Wak95++223YMECd9NNN7m///u/n5yTnQC5Xu+ZM2fc0qVL3Ze+9CX30ksvubffftt1dXW5np6eST5zu1yv+Re/+IULh8PuF7/4hXv77bfdCy+84ObPn+82btw4yWduk+/3vX/8x390oVDIdXR0TM4JX+ByLpaXLVvm1q9fn/o6Ho+7yy+/3G3fvj1j/3/4h39wt99+e1pbdXW1+5//83/mOvS0kOvn87Of/cxdcsklk3R2F47x/Mf7rW99y/3N3/yNc+7s57pq1SpXV1dH3p2DvBufXPPOucRne/XVV7u6ujrn3Mz/npdrLp1raGjIXXzxxe7nP/95oU5xwlmueWhoyC1fvtw988wzbu3atdOqWM71en/yk5+4K6+80sVisck6xQmX6zWvX7/e/d3f/V1aW2Njo7vxxhsLep6FYPm+55xL/byFczktw4jFYtq/f79qa2tTbb7vq7a2Vt3d3Rljuru70/pLUl1dXdb+05nl85GkU6dO6VOf+pQqKir093//9/rTn/40Gad7wUvmzsjPNZk75N1Z5N3EGpk7yc/2i1/8YuqznMm5Z82lkT788EMNDg7qYx/7WKFOc0JZr/k73/mO5s2bp7vvvnsyTnPCWK73t7/9rWpqarR+/XpFo1Fde+212rZtm+Lx+GSddl4s17x8+XLt378/tVTj8OHD2rt3r770pS9NyjlPtun8fWsy5FQsnzx5UvF4XNFoNK09Go2qt7c3Y0xvb29O/aczy+fz2c9+Vu3t7fo//+f/6J//+Z8VBIGWL1+u//zP/5yMU76gJXNn5OcajUbV39+vjz76iLwbRt5NrJG5k/xsKysrU3knzdzveZZcOteDDz6oyy+//LwfvBcqyzW/9NJL+ulPf6odO3ZMxilOKMv1Hj58WM8995zi8bj27t2rTZs26YknntB3v/vdyTjlvFmu+c4779R3vvMdff7zn1dxcbGuuuoq3XLLLXrkkUcm45QnXbbvWyO/781m7IYxxWpqarRmzRotWbJEN998s37961/rE5/4hP7pn/5pqk8NMxh5h0J4/PHHtWvXLv3mN7+ZsTeMfvDBB1q9erV27NihsrKyqT6dSREEgebNm6enn35aVVVVWrVqlR599FG1tbVN9akVTFdXl7Zt26annnpKBw4c0K9//Wvt2bNHW7dunepTwxQoyqVzWVmZQqGQ+vr60tr7+vpUXl6eMaa8vDyn/tOZ5fM5V3FxsT73uc/prbfeKsQpTivJ3Bn5uf7Xf/2XSktLddFFF5F3w8i7iTUyd5Kf7ZEjR1J5J83c73n55NKPfvQjPf744/rd736n66+/vpCnOaFyvea//OUvOnLkiFasWJFqC4JAklRUVKRDhw7pqquuKuxJ58Hybzx//nwVFxcrFAql2q655hr19vYqFouppKSkoOecL8s1b9q0SatXr9Y999wjSbruuus0MDCgr3/963r00Ufl+zNrrjHb962R3/dms5z+tUtKSlRVVaXOzs5UWxAE6uzsVE1NTcaYmpqatP6S9OKLL2btP51ZPp9zxeNxvfbaa5o/f36hTnPaSObOyM81mTvk3Vnk3cQamTvJz/aFF15IfZYzOfesufSDH/xAW7duVUdHh5YuXToZpzphcr3mhQsX6rXXXlNPT0/q+PKXv6xbb71VPT09qqiomMzTz5nl3/jGG2/UW2+9lfqlQJLefPNNzZ8//4IvlCXbNX/44YfnFcTJXxacc4U72Skynb9vTYpc7wjctWuXC4fDbufOne7Pf/6z+/rXv+4uvfTS1LZTq1evdg899FCq/3/8x3+4oqIi96Mf/ci98cYbrqmpaVpto5SrXD+fb3/72+6FF15wf/nLX9z+/fvdV7/6VReJRNyf/vSnqbqEgvnggw/cq6++6l599VUnyTU3N7tXX33VvfPOO8455x566CG3evXqVP/kVjbf/OY307aOe/rpp8m7c5B32eWTd2+88Yb7H//jfzhJ7n/9r/81K77n5ZpLjz/+uCspKXHPPfdc2laEH3zwwVRdQs5yveZzTbfdMHK93qNHj7qLL77YNTQ0uEOHDrl/+Zd/cfPmzXPf/e53p+oScpbrNTc1NbmLL77Y/e///b/d4cOH3f/9v//XXXXVVe4f/uEfpuoScpLv973W1la2jhsh52LZOef+8R//0f23//bfXElJiVu2bJn74x//mHrt5ptvdmvXrk3r/8tf/tJ95jOfcSUlJe5v/uZv3J49e/I66QtdLp/PAw88kOobjUbdl770JXfgwIEpOOvC+/3vf+8knXckP4+1a9e6m2+++byYJUuWuJKSEvfxj3/cffzjHyfvsiDvMss376688kp31113zarvebnk0qc+9amMn29TU9Pkn3gecv25NtJ0K5ady/16X375ZVddXe3C4bC78sor3fe+9z03NDQ0yWedn1yueXBw0G3ZssVdddVVLhKJuIqKCnf//fe7//qv/5r8EzeYiO97P/vZzyb9vC9UnnMz8P8nAAAAABNgZq1QBwAAACYQxTIAAACQBcUyAAAAkAXFMgAAAJAFxTIAAACQBcUyAAAAkAXFMgAAAJAFxTIAAACQBcUyAAAAkAXFMgAAAJAFxTIAAACQxf8PA+jpHstVmfcAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 800x800 with 22 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_, axes = create_dummy_plot(4, 4, factor=2.)\n",
"\n",
"colorbar(axes[0])\n",
"colorbar(axes[1])\n",
"colorbar(axes[2:])\n",
"\n",
"colorbar(axes[-1][0], orientation=\"horizontal\")\n",
"colorbar(axes[-1][1], orientation=\"horizontal\")\n",
"colorbar(axes[-1][2:], orientation=\"horizontal\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 365
},
"id": "hU0cELFU7Khs",
"outputId": "bdb4688c-68ec-4571-fcd7-70be704df29b"
},
"outputs": [
{
"data": {
"image/png": "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dG3/5S9/Oc4+++wYHR2Nl770pbFr165cg10tvRzvbbfdFq961avilFNOiVNOOSW2bNnyjK/P8abXv2/dnXfeGVmWxcUXX9zfAS6jXo/15z//eVx55ZVx+umnx8jISLzwhS8sVD73ery33HJL/Pqv/3qccMIJsX79+rjqqqviySefXKHRLs23v/3tuOiii+KMM86ILMvi61//+jPG7N27N17+8pfH0NBQrFmzJtasWWOOm8ccV6w5LsI8V9Z5bilz3MjISPzKr/xKrF27dmA+yw2yQZvjB9WgvbcNskF7Xx9Ug/J5ZtAt9fPcC17wgrjjjjv6Ps5CSD2688470/DwcLr99tvTv/7rv6YrrrgiPfvZz06HDh1q2/673/1uqlar6aMf/Wj64Q9/mD784Q+nNWvWpB/84Ae9dr0qej3et7zlLWnnzp3pvvvuS/fff3/6wz/8w3TyySenf//3f1/hkefT6/HWPfjgg+nMM89Mr3rVq9Lv//7vr8xgl6jXY33qqafSeeedl173utel73znO+nBBx9Me/fuTQcOHFjhkefT6/F+4QtfSCMjI+kLX/hCevDBB9M3v/nNdPrpp6errrpqhUeez65du9KHPvSh9NWvfjVFRPra177Wtf3BgwfTiSeemF7/+tenNWvWpLe+9a2pUqmk1772tea4Jua44sxxKZnnyjzP5Z3jduzYkW666aY0NDSUsixLf/3Xf136z3KDbNDm+EE1aO9tg2zQ3tcH1SB9nhl0S/k898Mf/jB98pOfTNVqNe3evXtlBnwc67m4ef7556crr7yy8fv09HQ644wz0g033NC2/Zve9Kb0+te/vmXdpk2b0h/90R/12vWq6PV45zt27Fh61rOelT7/+c/3a4jLKs/xHjt2LL3iFa9In/3sZ9Pll19emA9HvR7rpz/96XTWWWelqamplRrisur1eK+88sr0O7/zOy3rduzYkS644IK+jrMfFvNG8d73vjf9xm/8RsvrdMkll6TXvOY15rguzHHHN/PcYMxzvcxxKc29TpdccknaunVr6T/LDbJBm+MH1aC9tw2yQXtfH1SD+nlm0PX6ea6u/nlu0PV0WfrU1FTs378/tmzZ0lhXqVRiy5YtsW/fvrYx+/bta2kfEbF169aO7Y8neY53vl/84hfx9NNPx3Oe85x+DXPZ5D3ej3zkI3HaaafF2972tpUY5rLIc6zf+MY3YvPmzXHllVfG+Ph4vOQlL4nrr78+pqenV2rYueU53le84hWxf//+xiUQBw8ejF27dsXrXve6FRnzStu3b19ceOGFLa/T1q1b4/vf/745rgtz3PHLPGeea1afq5pfp/pcVebPcoNs0Ob4QTVo722DbNDe1weVzzN04zNZZ0O9ND58+HBMT0/H+Ph4y/rx8fH40Y9+1DZmcnKybfvJyckeh7ry8hzvfO973/vijDPOWJCAx6M8x/ud73wnPve5z8WBAwdWYITLJ8+xHjx4MP7xH/8x3vrWt8auXbviJz/5SbzrXe+Kp59+OiYmJlZi2LnlOd63vOUtcfjw4XjlK18ZKaU4duxYvPOd74wPfvCDKzHkFTc5ORkXXHBBy+s0Pj4eR44ciVNPPdUc14E57vhlnpthnptRn6uaX6fh4eE4cuRI/PKXvyztZ7lBNmhz/KAatPe2QTZo7+uDyucZuun0maz+ee6EE05YpZGtPk9L76Mbb7wx7rzzzvja174Wo6Ojqz2cZff444/HpZdeGrfddlusXbt2tYfTd7VaLU477bT4zGc+Exs3boxLLrkkPvShD8Wtt9662kPri71798b1118fn/rUp+Lee++Nr371q3H33XfHddddt9pD4zhhjisf85x5DurKPscPqkF8bxtkg/a+Pqh8noEez9xcu3ZtVKvVOHToUMv6Q4cOxbp169rGrFu3rqf2x5M8x1v38Y9/PG688cb4h3/4h3jZy17Wz2Eum16P99/+7d/ioYceiosuuqixrlarRUTE0NBQPPDAA/H85z+/v4POKc/f9vTTT481a9ZEtVptrHvRi14Uk5OTMTU1FcPDw30d81LkOd6rr746Lr300nj7298eEREvfelL4+jRo/GOd7wjPvShD0WlUq7/N7Ju3bp44oknWl6nQ4cOxdjYWPznf/6nOW4ec9zxPcdFmOfqzHMz6nNV8+v03//93zE2NhYnnHBCaT/LDbJBm+MH1aC9tw2yQXtfH1Q+z9BNp89k9c9zg6ynLB8eHo6NGzfGnj17GutqtVrs2bMnNm/e3DZm8+bNLe0jIr71rW91bH88yXO8EREf/ehH47rrrovdu3fHeeedtxJDXRa9Hu/ZZ58dP/jBD+LAgQON5Q1veENceOGFceDAgVi/fv1KDr8nef62F1xwQfzkJz9pfACMiPjxj38cp59++nH/wSDP8f7iF79Y8EZY/2CUUurfYFfJ5s2bY+/evS2v07e+9a34rd/6LXPcPOa443+OizDPRZjnmtXnqubXqT5Xlfmz3CAbtDl+UA3ae9sgG7T39UHl8wzd+EzWRa9PILrzzjvTyMhIuuOOO9IPf/jD9I53vCM9+9nPTpOTkymllC699NL0/ve/v9H+u9/9bhoaGkof//jH0/33358mJibSmjVr0g9+8IPleCBS3/V6vDfeeGMaHh5OX/nKV9J//Md/NJbHH398tQ6hJ70e73xFetpir8f68MMPp2c961lp+/bt6YEHHkh/93d/l0477bT053/+56t1CD3p9XgnJibSs571rPS3f/u36eDBg+nv//7v0/Of//z0pje9abUOoSePP/54uu+++9J9992XIiLdfPPN6b777ks//elPU0opvf/970+XXnppo/3BgwfTiSeemC666KI0PDycLr300lSpVNJrX/tac5w5rqFIc1xK5rkyz3N557j3vOc96aabbkpDQ0Mpy7L0mc98pvSf5QbZoM3xg2rQ3tsG2aC9rw+qQfo8M+iW8nnu/vvvTzt37kzVajXt3r17tQ7huNFzcTOllD75yU+m//W//lcaHh5O559/fvr+97/f2PbqV786XX755S3tv/SlL6UXvvCFaXh4OP3Gb/xGuvvuu5c06JXWy/E+97nPTRGxYJmYmFj5gefU69+3WdE+HPV6rN/73vfSpk2b0sjISDrrrLPSX/zFX6Rjx46t8Kjz6+V4n3766XTttdem5z//+Wl0dDStX78+vetd70r//d//vfIDz+Gf/umf2v63WD/Gyy+/PL361a9eEHPuueemarWahoaG0tDQkDnOHNeiaHNcSua5ss5zS5njhoeH06mnnppOPfXUgfksN8gGbY4fVIP23jbIBu19fVANyueZQbfUz3NnnXVW+pu/+ZsVH/fxKEvJecoAAAAAQPG4sywAAAAAUEiKmwAAAABAISluAgAAAACFpLgJAAAAABSS4iYAAAAAUEiKmwAAAABAISluAgAAAACFpLgJAAAAABSS4iYAAAAAUEiKmwAAAABAISluAgAAAACFpLgJAAAAABTS/w/p41v2efAccwAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 1600x400 with 20 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_, axes = create_dummy_plot(2, 8, factor=2.)\n",
"\n",
"colorbar(axes)\n",
"colorbar(axes[-1][0:2], orientation=\"horizontal\")\n",
"colorbar(axes[-1][2:4], orientation=\"horizontal\")\n",
"colorbar(axes[-1][4:], orientation=\"horizontal\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 232
},
"id": "MNTC8ZbrE6d4",
"outputId": "2d794f21-c2be-420b-9fc7-18b8b92ec698"
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 200x200 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"_, axes = create_dummy_plot(1, 1, factor=2.)\n",
"\n",
"colorbar(axes)\n",
"colorbar(axes, orientation=\"horizontal\")\n",
"\n",
"plt.show()"
]
}
],
"metadata": {
"colab": {
"collapsed_sections": [],
"name": "matplotlib-colorbars.ipynb",
"provenance": []
},
"kernelspec": {
"display_name": "Python 3.7.13 ('.venv': venv)",
"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.7.13"
},
"vscode": {
"interpreter": {
"hash": "230cd2c2e7afdb834fcfb2b8d3927e3cdb04185b4c3766a44627a834dd4d2413"
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment