diff --git a/CHANGES.txt b/CHANGES.txt index 84ba770573..b762bd45c5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,8 @@ 0.6.0 ~~~~~ +- `Popup` accepts new arguments `show` (render open on page load) and `sticky` (popups + only close when explicitly clicked) (jwhendy #778) - Added leaflet-search plugin (ghandic #759) - Improved Vector Layers docs, notebooks, and optional arguments (ocefpaf #731) - Implemented `export=False/True` option to the Draw plugin layer for saving @@ -9,6 +11,8 @@ - Added `tooltip` support to `Marker`s (ocefpaf #724) - Added `tooltip` support to all vector layers (ocefpaf #722) - Added `TimeSliderChoropleth` plugin (halfdanrump #736) +- Added `show` parameter to choose which overlays to show on opening (conengmo #772) +- Added BeautifyIcon Plugin (arthuralvim and jeremybyu #819) API changes diff --git a/README.rst b/README.rst index b49c5a0a2e..779dee8b7a 100644 --- a/README.rst +++ b/README.rst @@ -15,10 +15,9 @@ folium Python Data, Leaflet.js Maps ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -`folium` builds on the data wrangling strengths of the Python ecosystem -and the mapping strengths of the Leaflet.js library. -Manipulate your data in Python, -then visualize it in on a Leaflet map via `folium`. +`folium` builds on the data wrangling strengths of the Python ecosystem and the +mapping strengths of the Leaflet.js library. Manipulate your data in Python, +then visualize it in a Leaflet map via `folium`. Installation ------------ @@ -31,17 +30,28 @@ or .. code:: bash - $ conda install folium + $ conda install -c conda-forge folium Documentation ------------- +http://python-visualization.github.io/folium/docs-v0.5.0/ + +The documentation for the development version can be found here: http://python-visualization.github.io/folium/docs-master/ +Note that the documentation on Read the Docs is for the deprecated version +0.2.0. Gallery ------- -http://python-visualization.github.io/folium/docs-master/ +There are two galleries of Jupyter notebooks with examples, which you can see +using Jupyter's nbviewer: + +http://nbviewer.jupyter.org/github/python-visualization/folium/tree/master/examples/ + +https://nbviewer.jupyter.org/github/python-visualization/folium_contrib/tree/master/notebooks/ + .. |folium| image:: http://python-visualization.github.io/folium/docs-master/_images/folium_logo.jpg diff --git a/examples/Colormaps.ipynb b/examples/Colormaps.ipynb index 966870cf54..39a7fc4c32 100644 --- a/examples/Colormaps.ipynb +++ b/examples/Colormaps.ipynb @@ -9,7 +9,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.5.0+27.g2d457b0.dirty\n" + "0.5.0+105.g065f6f3.dirty\n" ] } ], @@ -83,10 +83,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -134,7 +134,7 @@ "310" ], "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -164,10 +164,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -211,7 +211,7 @@ "0.01.0" ], "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -243,7 +243,7 @@ "310" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -268,10 +268,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -315,7 +315,7 @@ "0.01.0" ], "text/plain": [ - "" + "" ] }, "execution_count": 10, @@ -348,7 +348,7 @@ "3.010.0" ], "text/plain": [ - "" + "" ] }, "execution_count": 11, @@ -378,7 +378,7 @@ "31100" ], "text/plain": [ - "" + "" ] }, "execution_count": 12, @@ -413,7 +413,7 @@ "310" ], "text/plain": [ - "" + "" ] }, "execution_count": 13, @@ -442,10 +442,10 @@ { "data": { "text/html": [ - "0.01.0" + "0.01.0" ], "text/plain": [ - "" + "" ] }, "execution_count": 14, @@ -454,7 +454,7 @@ } ], "source": [ - "cm.linear.OrRd" + "cm.linear.OrRd_09" ] }, { @@ -472,10 +472,10 @@ { "data": { "text/html": [ - "0.01.0" + "0.01.0" ], "text/plain": [ - "" + "" ] }, "execution_count": 15, @@ -484,7 +484,7 @@ } ], "source": [ - "cm.linear.PuBu.to_step(12)" + "cm.linear.PuBuGn_09.to_step(12)" ] }, { @@ -502,10 +502,10 @@ { "data": { "text/html": [ - "312" + "312" ], "text/plain": [ - "" + "" ] }, "execution_count": 16, @@ -514,7 +514,7 @@ } ], "source": [ - "cm.linear.YlGn.scale(3, 12)" + "cm.linear.YlGnBu_09.scale(3, 12)" ] }, { @@ -525,10 +525,10 @@ { "data": { "text/html": [ - "5100" + "5100" ], "text/plain": [ - "" + "" ] }, "execution_count": 17, @@ -537,7 +537,7 @@ } ], "source": [ - "cm.linear.RdGy.to_step(10).scale(5, 100)" + "cm.linear.RdGy_11.to_step(10).scale(5, 100)" ] }, { @@ -560,68 +560,540 @@ "\n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", "
BuGn0.01.0
Pastel1_030.01.0
BuPu0.01.0
Pastel1_050.01.0
GnBu0.01.0
Pastel1_040.01.0
OrRd0.01.0
Pastel1_070.01.0
PuBu0.01.0
YlOrRd_040.01.0
PuBuGn0.01.0
Pastel1_090.01.0
PuRd0.01.0
Pastel1_080.01.0
RdPu0.01.0
Spectral_070.01.0
YlGn0.01.0
RdYlBu_050.01.0
YlGnBu0.01.0
PuBuGn_030.01.0
YlOrBr0.01.0
Set1_080.01.0
YlOrRd0.01.0
PuBuGn_050.01.0
BrBg0.01.0
PuBuGn_040.01.0
PiYG0.01.0
PuBuGn_070.01.0
PRGn0.01.0
PuBuGn_060.01.0
PuOr0.01.0
PuBuGn_090.01.0
RdBu0.01.0
PuBuGn_080.01.0
RdGy0.01.0
YlOrBr_040.01.0
RdYlBu0.01.0
YlOrBr_050.01.0
RdYlGn0.01.0
Set1_070.01.0
Spectral0.01.0
YlOrBr_030.01.0
Accent0.01.0
Set1_050.01.0
Dark20.01.0
YlOrRd_030.01.0
Paired0.01.0
PuOr_060.01.0
Pastel10.01.0
PuOr_070.01.0
Pastel20.01.0
PuOr_040.01.0
Set10.01.0
PuOr_050.01.0
Set20.01.0
PuOr_030.01.0
Set30.01.0
Purples_090.01.0
Set2_060.01.0
RdYlBu_110.01.0
PuOr_080.01.0
PuOr_090.01.0
Paired_030.01.0
RdBu_030.01.0
RdYlBu_100.01.0
Paired_070.01.0
Paired_060.01.0
Paired_050.01.0
Paired_040.01.0
Paired_090.01.0
Paired_080.01.0
RdGy_030.01.0
PiYG_040.01.0
Accent_030.01.0
BuGn_080.01.0
BuGn_090.01.0
BuGn_040.01.0
BuGn_050.01.0
BuGn_060.01.0
BuGn_070.01.0
BuGn_030.01.0
YlGnBu_070.01.0
YlGnBu_060.01.0
YlGnBu_050.01.0
YlGnBu_040.01.0
YlGnBu_030.01.0
RdBu_060.01.0
RdBu_050.01.0
RdBu_040.01.0
Accent_080.01.0
RdBu_090.01.0
RdBu_080.01.0
Set2_040.01.0
YlGnBu_090.01.0
YlGnBu_080.01.0
Blues_080.01.0
Blues_090.01.0
RdPu_090.01.0
RdPu_080.01.0
Set3_070.01.0
Set3_060.01.0
RdPu_050.01.0
RdPu_040.01.0
RdPu_070.01.0
RdPu_060.01.0
Blues_060.01.0
Blues_070.01.0
RdPu_030.01.0
Blues_050.01.0
Paired_100.01.0
Paired_110.01.0
Paired_120.01.0
PuBu_060.01.0
PuBu_070.01.0
PuBu_040.01.0
PuBu_050.01.0
PuRd_050.01.0
PuBu_030.01.0
PuRd_070.01.0
PuRd_060.01.0
PuRd_090.01.0
PuRd_080.01.0
Set2_070.01.0
PuBu_080.01.0
PuBu_090.01.0
RdBu_100.01.0
RdBu_110.01.0
Accent_060.01.0
Set3_030.01.0
Set3_050.01.0
Set3_120.01.0
Set3_100.01.0
Set3_040.01.0
RdGy_110.01.0
RdGy_100.01.0
Set1_030.01.0
Set1_090.01.0
Set3_090.01.0
BuPu_080.01.0
BuPu_090.01.0
RdYlGn_110.01.0
Blues_030.01.0
Set2_050.01.0
BuPu_030.01.0
BuPu_060.01.0
BuPu_070.01.0
BuPu_040.01.0
BuPu_050.01.0
Accent_040.01.0
YlOrRd_050.01.0
YlOrBr_080.01.0
Oranges_080.01.0
Oranges_090.01.0
Oranges_060.01.0
Oranges_070.01.0
Oranges_040.01.0
YlOrBr_090.01.0
Oranges_030.01.0
YlOrBr_060.01.0
Dark2_060.01.0
Blues_040.01.0
YlOrBr_070.01.0
RdYlGn_050.01.0
Set3_080.01.0
YlOrRd_060.01.0
Dark2_030.01.0
Accent_050.01.0
RdYlGn_080.01.0
RdYlGn_090.01.0
PuOr_110.01.0
YlOrRd_070.01.0
Spectral_110.01.0
RdGy_080.01.0
RdGy_090.01.0
RdGy_060.01.0
RdGy_070.01.0
RdGy_040.01.0
RdGy_050.01.0
RdYlGn_040.01.0
PiYG_090.01.0
RdYlGn_060.01.0
RdYlGn_070.01.0
Spectral_040.01.0
Spectral_050.01.0
Spectral_060.01.0
PiYG_080.01.0
Set2_030.01.0
Spectral_030.01.0
Reds_080.01.0
Set1_040.01.0
Spectral_080.01.0
Spectral_090.01.0
Set2_080.01.0
Reds_090.01.0
Greys_070.01.0
Greys_060.01.0
Greys_050.01.0
Greys_040.01.0
Greys_030.01.0
PuOr_100.01.0
Accent_070.01.0
Reds_060.01.0
Greys_090.01.0
Greys_080.01.0
Reds_070.01.0
RdYlBu_080.01.0
RdYlBu_090.01.0
BrBG_090.01.0
BrBG_080.01.0
BrBG_070.01.0
BrBG_060.01.0
BrBG_050.01.0
BrBG_040.01.0
BrBG_030.01.0
PiYG_060.01.0
Reds_030.01.0
Set3_110.01.0
Set1_060.01.0
PuRd_030.01.0
PiYG_070.01.0
RdBu_070.01.0
Pastel1_060.01.0
Spectral_100.01.0
PuRd_040.01.0
OrRd_030.01.0
PiYG_030.01.0
Oranges_050.01.0
OrRd_070.01.0
OrRd_060.01.0
OrRd_050.01.0
OrRd_040.01.0
Reds_040.01.0
Reds_050.01.0
OrRd_090.01.0
OrRd_080.01.0
BrBG_100.01.0
BrBG_110.01.0
PiYG_050.01.0
YlOrRd_080.01.0
GnBu_040.01.0
GnBu_050.01.0
GnBu_060.01.0
GnBu_070.01.0
Purples_080.01.0
GnBu_030.01.0
Purples_060.01.0
Purples_070.01.0
Purples_040.01.0
Purples_050.01.0
GnBu_080.01.0
GnBu_090.01.0
YlOrRd_090.01.0
Purples_030.01.0
RdYlBu_040.01.0
PRGn_090.01.0
PRGn_080.01.0
PRGn_070.01.0
PRGn_060.01.0
PRGn_050.01.0
PRGn_040.01.0
PRGn_030.01.0
RdYlBu_060.01.0
RdYlGn_100.01.0
YlGn_080.01.0
YlGn_090.01.0
RdYlBu_070.01.0
PiYG_100.01.0
PiYG_110.01.0
YlGn_030.01.0
YlGn_040.01.0
YlGn_050.01.0
YlGn_060.01.0
YlGn_070.01.0
Dark2_050.01.0
Dark2_040.01.0
Dark2_070.01.0
Pastel2_030.01.0
Pastel2_040.01.0
Pastel2_050.01.0
Pastel2_060.01.0
Pastel2_070.01.0
Pastel2_080.01.0
RdYlBu_030.01.0
Dark2_080.01.0
RdYlGn_030.01.0
PRGn_110.01.0
Greens_080.01.0
Greens_090.01.0
Greens_060.01.0
Greens_070.01.0
Greens_040.01.0
Greens_050.01.0
PRGn_100.01.0
Greens_030.01.0
\n", " " ], "text/plain": [ - "" + "" ] }, "execution_count": 18, @@ -650,10 +1122,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 19, @@ -664,7 +1136,7 @@ "source": [ "m = folium.Map(tiles='cartodbpositron')\n", "\n", - "colormap = cm.linear.Set1.scale(0, 35).to_step(10)\n", + "colormap = cm.linear.Set1_09.scale(0, 35).to_step(10)\n", "colormap.caption = 'A colormap caption'\n", "m.add_child(colormap)\n", "\n", @@ -690,7 +1162,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/examples/Features.ipynb b/examples/Features.ipynb index a72f4af1c9..c868492655 100644 --- a/examples/Features.ipynb +++ b/examples/Features.ipynb @@ -9,7 +9,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.5.0+48.gbbfb350\n" + "0.5.0+105.g065f6f3.dirty\n" ] } ], @@ -50,10 +50,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -95,10 +95,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -136,10 +136,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -190,10 +190,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -250,10 +250,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -343,10 +343,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -435,10 +435,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -489,10 +489,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 10, @@ -544,10 +544,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 11, @@ -585,7 +585,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/examples/GeoJSON_and_choropleth.ipynb b/examples/GeoJSON_and_choropleth.ipynb index c107544c70..9450529585 100644 --- a/examples/GeoJSON_and_choropleth.ipynb +++ b/examples/GeoJSON_and_choropleth.ipynb @@ -9,7 +9,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.5.0+27.g2d457b0.dirty\n" + "0.5.0+111.gb01911d.dirty\n" ] } ], @@ -95,10 +95,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -131,10 +131,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -167,10 +167,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -216,10 +216,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -260,10 +260,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -311,18 +311,18 @@ "data": { "text/html": [ "
\n", - "\n", "\n", " \n", @@ -402,16 +402,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "#c2e798\n" + "#d8f0a3\n" ] }, { "data": { "text/html": [ - "3.210.3" + "3.210.3" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -422,7 +422,7 @@ "source": [ "from branca.colormap import linear\n", "\n", - "colormap = linear.YlGn.scale(\n", + "colormap = linear.YlGn_09.scale(\n", " unemployment.Unemployment.min(),\n", " unemployment.Unemployment.max())\n", "\n", @@ -446,7 +446,7 @@ { "data": { "text/plain": [ - "7.0999999999999996" + "7.1" ] }, "execution_count": 10, @@ -475,10 +475,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 11, @@ -532,10 +532,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 13, @@ -577,10 +577,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 14, @@ -616,10 +616,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 15, @@ -657,10 +657,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 16, @@ -693,10 +693,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 17, @@ -736,10 +736,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 18, @@ -782,10 +782,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 19, @@ -831,7 +831,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/examples/GeodedeticImageOverlay.ipynb b/examples/GeodedeticImageOverlay.ipynb index 651e8a93aa..91e0a07669 100644 --- a/examples/GeodedeticImageOverlay.ipynb +++ b/examples/GeodedeticImageOverlay.ipynb @@ -9,7 +9,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.5.0+27.g2d457b0.dirty\n" + "0.5.0+105.g065f6f3.dirty\n" ] } ], @@ -79,10 +79,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -119,10 +119,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -160,10 +160,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -225,14 +225,14 @@ " \n", " " ], "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -243,7 +243,7 @@ "source": [ "from IPython.display import IFrame\n", "\n", - "url = 'http://scitools.org.uk/cartopy/docs/latest/examples/waves.html'\n", + "url = 'http://scitools.org.uk/cartopy/docs/latest/gallery/waves.html'\n", "IFrame(url, width=900, height=750)" ] } @@ -264,7 +264,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/examples/Highlight_Function.ipynb b/examples/Highlight_Function.ipynb index 055a0b5dff..2b12419935 100644 --- a/examples/Highlight_Function.ipynb +++ b/examples/Highlight_Function.ipynb @@ -9,7 +9,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.5.0+27.g2d457b0.dirty\n" + "0.5.0+102.g9e2ee74\n" ] } ], @@ -24,7 +24,16 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/filipe/miniconda3/envs/FOLIUM/lib/python3.6/site-packages/ipykernel_launcher.py:5: FutureWarning: from_csv is deprecated. Please use read_csv(...) instead. Note that some of the default arguments are different, so please refer to the documentation for from_csv when changing your function calls\n", + " \"\"\"\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -52,18 +61,18 @@ "data": { "text/html": [ "
\n", - "\n", "
\n", " \n", @@ -131,10 +140,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -173,7 +182,7 @@ " c = folium.GeoJson(\n", " row['geojson'],\n", " name=('{}{}'.format(row['dep'], row['dest'])),\n", - " overlay=False,\n", + " overlay=True,\n", " style_function=style_function,\n", " highlight_function=highlight_function\n", " )\n", @@ -203,7 +212,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.2" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/examples/Plugins.ipynb b/examples/Plugins.ipynb index fc16b1b1d1..e8f3bb357d 100644 --- a/examples/Plugins.ipynb +++ b/examples/Plugins.ipynb @@ -9,7 +9,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.5.0+97.ged1a58f.dirty\n" + "0.5.0+102.g9e2ee74.dirty\n" ] } ], @@ -58,10 +58,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -104,10 +104,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -153,10 +153,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -189,10 +189,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -225,6 +225,65 @@ "m" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Leaflet.BeautifyIcon" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from folium.plugins.beautify_icon import BeautifyIcon\n", + "from folium import Marker\n", + "m = folium.Map([45.5, -122], zoom_start=3)\n", + "\n", + "icon_plane = BeautifyIcon(\n", + " icon='plane',\n", + " border_color='#b3334f',\n", + " text_color='#b3334f',\n", + " icon_shape='triangle')\n", + "\n", + "icon_number = BeautifyIcon(\n", + " border_color='#00ABDC',\n", + " text_color='#00ABDC',\n", + " number=10,\n", + " inner_icon_style='margin-top:0;')\n", + "\n", + "Marker(\n", + " location=[46, -122],\n", + " popup='Portland, OR',\n", + " icon=icon_plane\n", + ").add_to(m)\n", + "\n", + "Marker(\n", + " location=[50, -122],\n", + " popup='Portland, OR',\n", + " icon=icon_number\n", + ").add_to(m)\n", + "m.save(os.path.join('results', 'Plugins_4.html'))\n", + "\n", + "m" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -234,19 +293,19 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, - "execution_count": 6, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -261,7 +320,7 @@ " force_separate_button=True).add_to(m)\n", "\n", "\n", - "m.save(os.path.join('results', 'Plugins_4.html'))\n", + "m.save(os.path.join('results', 'Plugins_5.html'))\n", "\n", "m" ] @@ -275,19 +334,19 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, - "execution_count": 7, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -376,26 +435,26 @@ "}, period='PT1M', add_last_point=True).add_to(m)\n", "\n", "\n", - "m.save(os.path.join('results', 'Plugins_5.html'))\n", + "m.save(os.path.join('results', 'Plugins_6.html'))\n", "\n", "m" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, - "execution_count": 8, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -508,7 +567,7 @@ " time_slider_drag_update=True\n", ").add_to(m)\n", "\n", - "m.save(os.path.join('results', 'Plugins_6.html'))\n", + "m.save(os.path.join('results', 'Plugins_7.html'))\n", "\n", "m" ] @@ -530,7 +589,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.5.4" } }, "nbformat": 4, diff --git a/examples/Quickstart.ipynb b/examples/Quickstart.ipynb index 7dfe306d3d..96b417f405 100644 --- a/examples/Quickstart.ipynb +++ b/examples/Quickstart.ipynb @@ -42,10 +42,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -88,10 +88,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -148,10 +148,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -189,10 +189,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -244,10 +244,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -298,10 +298,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -337,10 +337,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -398,10 +398,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 11, @@ -467,10 +467,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 12, @@ -522,10 +522,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 13, @@ -578,10 +578,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 14, @@ -638,10 +638,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 15, @@ -658,7 +658,7 @@ "df = pd.read_csv(county_data, na_values=[' '])\n", "\n", "\n", - "colorscale = branca.colormap.linear.YlOrRd.scale(0, 50e3)\n", + "colorscale = branca.colormap.linear.YlOrRd_09.scale(0, 50e3)\n", "employed_series = df.set_index('FIPS_Code')['Employed_2011']\n", "\n", "\n", @@ -695,10 +695,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 16, @@ -707,7 +707,7 @@ } ], "source": [ - "colorscale = branca.colormap.linear.YlGnBu.scale(0, 30)\n", + "colorscale = branca.colormap.linear.YlGnBu_09.scale(0, 30)\n", "\n", "employed_series = df.set_index('FIPS_Code')['Unemployment_rate_2011']\n", "\n", @@ -745,10 +745,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 17, @@ -757,7 +757,7 @@ } ], "source": [ - "colorscale = branca.colormap.linear.PuRd.scale(0, 100000)\n", + "colorscale = branca.colormap.linear.PuRd_09.scale(0, 100000)\n", "\n", "employed_series = df.set_index('FIPS_Code')['Median_Household_Income_2011'].dropna()\n", "\n", @@ -813,7 +813,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.2" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/examples/TimeSliderChoropleth.ipynb b/examples/TimeSliderChoropleth.ipynb index cf7edd3cdf..6027f1e002 100644 --- a/examples/TimeSliderChoropleth.ipynb +++ b/examples/TimeSliderChoropleth.ipynb @@ -9,7 +9,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.5.0+77.g9682778.dirty\n" + "0.5.0+105.g065f6f3.dirty\n" ] } ], @@ -78,9 +78,9 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAEwCAYAAABiwq8MAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsnXeYXHW9/1/nTO9lZ2e2l2xNzyab\nhIRAEnpRmoAFBSugXFT0d233qly9XMtVsaAiguJFmoACgtQACQRIz6Yn27K9707vM+f3xyxDli3Z\nTbYlOa/nybPZmTNnvjM7c877fMr7I0iShIyMjIyMjIyMzNQhzvQCZGRkZGRkZGROd2TBJSMjIyMj\nIyMzxciCS0ZGRkZGRkZmipEFl4yMjIyMjIzMFCMLLhkZGRkZGRmZKUYWXDIyMjIyMjIyU4wsuGRk\nZGRkZGRkphhZcMnIyMjIyMjITDGy4JKRkZGRkZGRmWJkwSUjIyMjIyMjM8UoZ3oBx+JwOKSioqKZ\nXoaMjIyMjIyMzHHZsWNHryRJmePZdlYJrqKiIrZv3z7Ty5CRkZGRkZGROS6CIDSNd1s5pSgjIyMj\nIyMjM8XIgktGRkZGRkZGZoqRBZeMjIyMjIyMzBQjCy4ZGRkZGRkZmSlGFlwyMjIyMjIyMlOMLLhk\nZGRkZGRkZKYYWXDJyMjIyMjIyEwxsuCSkZGRkZGRkZliZMElIyMjIyMjIzPFzCqneRkZmZlFkiSi\niSTR+OC/RBIAhSigFMXBnwIKUUClEBEFEARhhlctIyMjM/uRBZeMzAj4I3HaBkL0+CJ4wzH84TjR\nRJKkJBFPSCQlCadZiyRJeMNxfIPbiIKARimiVoqDPxUf+F1Eo1Rg0ioxaZVYdWrMOuWUixZvOMaR\nTh8HO310ekKIQko0KQQBURTo9IR540g3Lf2hCe/7PQGmFAVMWhV5Nt3gPz359sGfNj3ZVi0qhRxU\nl5GROTORBZfMGUc8kWQgGKMvEGFPq4d3G/rwhmKYtSqqCqy0ucP8YVM9kjQ963GaNFw8P4t/v6QC\ns1Y15L5EUiIYjZNISkgSvLcks1aJclC8+CNx9rZ6aB0IUuQwUJJpxG5QA3DPa7U8urWFNvfEhdRo\n6FQKjFolKlFAqRBRKlJiSymKqBQCSUmidSBEuyfMjqaUGDNoFCzOt3Lx/CxKMo2TthYZGRmZUwVZ\ncMmc9jy3p53fv1FPhydMOJYgFEuMKqb+vqttytaRa9WxMNeCy6yhPMtEhkFDqdNIUYaex7e38P1n\n9tPufi+qFicQiROKJUbcl0mrZFmhjdaBEPU9/mGvx6pXYder0akVqBQCVr0KbyhGchJEZCIpYdIq\nicSSBKMJIvEEkXgSjVIkx6Ijx6ol26rDqFHS2BugvsfPghwLn1tTjCRBQ4+f/kD0/X/BKP3+1M9Y\nQsKsVWLRqTDrVCzJt3LWnIyTX7SMjIzMDCNI03UZPw6qq6ul7du3z/QyZE5R+gNRdjYN8PzeDvoC\nUeKJJMUOA59aVYjLpOXlA508+HYThzu9kyI8xotWJVLuMrG8yM7qkgzKXEaO9gbZ2+bhQLuXbl+Y\npr4g3b7I9C1qGlGKAgvzLHR7I7R7QmNGDhWiwByHgYosE5VZJiqzzJxX6UQU5TqxkyWRlPCH48ST\nSfRqJUlJ4kiXD51aQVGGAa1KMdNLnHIkSeJIl5+tR/tpHQjS5QnjC8dZnG9ldUkGi/OtctpbZkII\ngrBDkqTqcW0rCy6Z04E/bKznF68cIRJPjni/Raci364j36Yn06jBpFWypMDKpiO9qJUiWpWITqXA\nqldT2+XjjSM9NPUFT3g9aoXIR5bl8enVRZQ6jbiDUX75ai2vH+6mdWDy0nunKmqliE2vwqZXsyDX\nQo5Vx4VzXZRnGdEoT50TfyIpERtsLHhxXyfbm/rp8UXo9UcRgDKXEYUo8HZ9HypRxGnW4DRpybPp\nmJttYl62hYIM/ZSuMZ5I0uuP0ukNc89rdbxZ28PSAhvVRTZsejVOcyrSWpllntJ1zCTJpMTG2h4e\n3HyUjUd6Rt3OYdTwiRX5fGJlIVkW7TSuUOZURRZcMmccdd0+7n+zkbfqeonEk0iSRK8/OuZjLpjr\npNxl4nCnj3ca+ghGR07fjYROpUCnVqBVimhVCnJtOqryrWQYNdgMalYU2YcdsOOJJB2eMO809PG9\nZ/YRjo0sDs8U7AY1/3n5XK6uyp3VnY4PvXOUN2t7ae4P0joQ4oK5TvLtenzhOA+920QiKaFViaws\ntlPsMFKaacAXibO7xY0vHMcfieMLx1GIQvpzo1crWFmcwZVLcsix6qb19UiSNKvf76lEkiT+96XD\nPPBW46gXZ5CKtN7z8SouXZhNMpnq3D0TIoAyE0cWXDKzEkmSqO8JcKTLR45Vx5xMw7AicYD6Hj+/\nfb2OA+1e1EqRfJuefLuewgw9Z83JoNhhAGBrYz/t7hAmrZIFuRZc5pTAicQTXHz3Jo6OEaGqLrSx\nuiQDvUZJKBrnoXeb6Q+MLdCORa0QufOK+XxiZcGw+zyhGK0DQVr6Q4M/g7QMhAZP2MEzXmgBlLuM\nPPiZFdMuNk6EdneILz+6i+1NA+PaXqUQKHOauKoqh6ur8sg0aaZ4hTITJRpPsq/dw8EOL12eMF3e\nCJ3eVI2nSavCrFXyxXUlPLWzjT9vTokzh1FNVYGNpQU21pQ6WJhnmemXITMLmIjgkovmZaYFSZLY\n0tDPu419RGJJenwR7AbViIKrJNPIHReUs6/NQzwp4Q7FONDu5bFtLdy3qYHbzyvlmqV5SJLErzfU\ncrQvQJ5Nz3cuq+SSBdlolAqe//I5bDzSQ68/gjcUIxhNoFWlIgurSzJIJGFTbQ+tA0Ge3d2ONxwf\n1+tQKQRKnSbmZZtxGNVDogX/8Y+9PL+3A3cwNqnv3enIWXMyTgmxBZBj1fHkF1dT0+LmwbeP8sbh\nbgZG+RsvLbDy6M1noVEqCEUT/P6NOva3ewH40voSSp0mLLrhn3mZ6UWtFFk6KJ5Gossb5r/+uZ+j\nvUGWFdqw6FRY9alGDiDtTycjMxFOOsIlCEIF8PgxN80BvgdYgS8A7yXMvyNJ0r/G2pcc4Tr1kCSJ\num4/m2p7iQ6G6PsDERbnW/nQopz0di39QZ7b00Ftt488q44Sp5H1lc4RBddEiSeSNPcH2VzfRzSe\nxKRV8uFFOejUI6cAJEni5od2sOFgF4UZBrItWmpa3ATGSCmWOY0sybfy5fPLyLePXnMTiMQ53OWj\nsSeAOxSjocdPbbefXl+EHn8E3ziF3elOZZaJX35sySlZNxSOJfjO3/cO6Wg1aZTcc8NSqgttGDSp\n61hvOMY/a9pp7AmgVIiDNVtmSjKNchPAKUQ0nmR3i5vDnV4Od/no8kaoKrBy1ZLcU+aiQWbqmLGU\noiAICqANWAl8BvBLkvSz8T5eFlynDp2eMA9vaeL5PR009AbSt+sHO55+eNUClhZYR60ViSeSbDzS\nQ5c3wso59nF7M/nCMQ53+lCIAoIgsCjXwoEOL195bBfdvggapYK52SbOmpOBRpnqNsqyaLlgrgut\nSsGXH93FrpYBOtxh4hNoVVw1J4OKLBMfXpzNskL7mNtG40me3t3G79+op/GY9+ZMRxTgwnkuVhRn\nkGvVoVMrOGuO/ZQqkn+PRFJiT6ubN2t78UfiVBfauGh+1kwva1YQjKZ84fa0euj2hfEMetzdfn7Z\nKRfd23Cwi2//fe+wDmKnSYNNr8aiV/HvF1fgDcXwhGIIAggICAIUOwxUZplRK+Wux9OZmRRcFwHf\nlyTpbEEQ7kQWXKcl+9o83PNaHX2BCE6TlhyrlqUFNpYV2nCatfT4IvzoXwd55UAXoiiQa9WRa9NR\nYNezriKTVXMyCEQS3PnP/fxjVxs5Fi2/+ngVff4ISQnWlDmGRL6a+gLc9shOIrEkdR/wnPr8mmL+\n80PzkCQJ32Bxsi8cY1tjP/dubEgbfn7hnGI+siyPcqeRWFIiEk/iD8fpD0RJJCWMWiVGjRKDWkEo\nlqA/EKPHF6HLGybHqmNxvgW9emIZ+GRSoqbVzVu1vXjDMTSDrvMqpZh2Z1eIAsmkRDieJBxL0DoQ\nYlfzAPU9p6dQUykEVhTb+eoF5SwvGlu4ysw+JEmiwxNmX5uHfe1eDnV4cQdj+CJx/JHUtAV/JI7L\nrKUow0BBhp6iDD0LciysKsmY8WJ9SZLY3jRATYubyOB3TqUQWZBrpr47wNaj/exsGsAXiSMKEEtI\nJE7CQ0atFFmQY+byRTl86qzCGRVfiaTES/s7aewN4I/Eh4zoyrXqKHYYKHIYTjlRPNPMpOD6E7BT\nkqR7BgXXpwEvsB34uiRJY1adyoLr1KelP8htj+xkX5sHhSigVqTG2aiVIiqFiCcYQ6UUqcq3otco\n2dk0MMQF3aRV8sStq4akmsKxBDUtbgwaJV9+dNeQiNrdH13M1VV5vLy/kxf3d1LfE+CcUgdfWl/C\nS/s7uePxmiHry7PpcJm1aFUiRo0SvVpJlzdMc3+QgUCUUCyR9ujSKEUW5Fq4dW0JF85zTe0b9wE8\nwRjP1LTxvWf2T+vzTgf5dh2fXFnILWtLZnopMschGk9S0+pma2M/24/2U9PqGdJckmPRsqLYTqnT\nSEmmkRKnkcIM/YxFLSVJotsXIRRNcKDDyzv1fWxvGmAgECUQiROIxqfVgw9Sx7T1FU7u/ugSFDOY\nSn5mdxtffXz3cSdoZBjU3HX1Ai5ZkM1ze9rZ2eTGblDhMGpwmbW4zFpybTpZmA0yI4JLEAQ10A7M\nlySpSxAEF9BLahrJD4FsSZI+O8LjbgZuBigoKFjW1NQ0KeuRmXwkSSIcSxKIxglGEmhVIpkmzYhX\nrccWk0fjSX7w3H72tnkJRuKUZ5mocJkoc6ZG0Bg0SvRqBXp1ymF8tNorgFA0QXN/EIUIZq2KTJMG\nSYI3jnRT05I6GUhIfPm8MhxGDf/a10FLf4g2dzA1G9EfYSAQIxRLpAcvqxVierahUaMknpTo8UUw\na1UUOfRcujCb9RXOKXtfx6K+x8/fd7byuzemb9TQVOMya/jRNQs5r3J6RazMxJAkiXcb+vnE/e8O\n+ewtyDVz4dwsLpjnZF62ecajVu/R0h/k23/fy1t1vTO6jpJMAyuKM1iSb2FxvpUyp2lGhdaxdPvC\nvLy/i4aeAEUOPblWHaIgICGRTEJSkjBolJxd6nj/Md4wNa0eOj0hfJE4WWYtF85zYZqE+tvTgZkS\nXFcCt0mSdNEI9xUBz0mStGCsfcgRrtlLbZePO/62m31t3iG3G9QKMk0alIpUBEurElleZOdDi7JZ\nmGs5oYNxMimlaiFGeOzR3gDecIySTCPReBJ3KEaWWYtOraCu288TO1o4MljjpRRFzDoleTY955Zn\nsiTfmt7PeynIbm8Yl1k75OARiMSJxJPYDWr6/CkTS71agUGTEmUz4UT9wt4Ovvr47jG9g04FlhXa\nuOOCcubnmLHqVbPmZC3zPrFEkqd2tPKnzY0c6fKnb6/MMvHTaxexKM86xqOnjkRSossbpt0doj8Q\nHZzhKaIQBQKROO5gjHs31g+JgE83Zq2SNWUO8m16yl0m7EY13lCMK5fkEkukurOD0Th6tRKDJnWB\nN5oYey99azeop8wDrMsbpr7HTySepCrfilWvnpLnOZ2ZKVuIjwOPHrOIbEmSOgZ/vRrYN4nPJTPN\nhGIJBgLDW+ED0QSBY/yuLDoV2RYtz+xu57WD3ahVIldX5ZJt0RFPJNPF7pA6gCpEgW5vmNcOdSMI\nAm/X9fLCvk6urc7jrqsWDDkhv364m1se2pHuhgRYUWznpx9ZRJHDwNW/2zysC9CkVfKV88uYn5NK\nUT6zu43/e6eJgx1egtEEly3M4p6PL+WZ3W38fWcbdd1+2twhtCqR288rI8us4b+fP5i2ATCoFayr\ncHJ1VS4XTGOa8dKF2TjNGj7/l+2jWhLMVhbnWbhsYTYGjTJV71donXA9nMz0EI0neWFfB49vb0mL\nLbVS5N/Wl3Lr2pKTrkHqD0QJxxJkmjQTvnA50uXj0l+9eVLPP9V4w3H+tbdz2O1/equRmlbPiI/J\ns+n4n6sXDhopK9CqxLTAOuenrwOp445OrUCSUm74F893cVVVLnNOYhB8uzvE07vb8IRiBCJxXj/U\nzSULslhd4jj+g2VOiEmJcAmCoAdagDmSJHkGb3sIWEIqpXgUuOUYATYicoRrdrK7xc0Nf3x3VNsE\no0bJp1YV4jCqeXFfJzWtnrQoUikEqgvttLqDtLvDzHEYuKoql9ouHy8f6OKCuS7+64r5XPW7zelR\nOssKrfzlMyswDkadgtE4P3zuAIc7ffQFokNG7qiVKYfvu65ayK9fq+XJHa0AfG5NMZ9eXZQKmQ9e\nQT62tZlv/X3vkLUrRIEL57p4cf/wgyTANUtz+eGV89l+dIBef5SX9ndi1atYkGvh/Lkucqe5Lby2\ny8eHfvPWKRHpyrPpuHRBFvvbvZi0Sv7wqXFdBMrMIDf9aeuQ0TfVhTZ+fv1iCjMMJ73vP25q4K5/\nHUz/nmFQs7Yik19cvwSAVw908frhbu66eiGQijT7wnGi8SSCABa9igt/sZEu7+k5c3SiOE0aNn1j\n/QlFv/a0urlvUwO7mt2YtEpsejVWvWrwnxqrbuj/bYbUT4tedUp2FU8l0x7hkiQpCGR84LZPTca+\nJ5toPIkvHMOkVcntuuMgkZT4Z007LrN2xFB9daGNez+1jGd2t/PD5w4Muz+WkHinoS/9e223n/99\n6XD692dr2klKEi6TNi2kdjS5+c1rdXz7srkA6NVKfnTNInr9EV472M3Tu9t4uz61z2g8yeHO1ADe\nj1bnE40nyLHouGZZ3jC/rB0jOIUnktKoYgtgw8FuXjnQNSxy9rftrXzvmf3MyzbzqVWFfHxFAZKU\n6n6cqvC/Oxjl1r/uIBJPRQpPpntqOmgdCPHQu02sLM7gxlVFZ/RImdmONxzjsl+9OWzOZ5nLdNJi\nKxxL8NjWZn7y4qEht/sjcc6vdBGIxHlhXyePbW3GqFXy9K427t1Yz+Eu35DasXy7joW5Vrp9XadN\nPePJUJFlGjZy6N2GPiQplbpXKQR6/BF6fVEKM/QYNEoi8QRtAyH0agVbGlNzPyfKNVW5/Mflc8kw\nzu4JCrPxeHPGjfZ57VAX33pqLw6jhuur8/jUqqIpL2iMJZJ0ecOoFCKvHermxX2dqBQixQ49N64q\nQqMUSUhSumh8ttLnj3D/W43sa/MwN9vM3GwT1YV28u16EkmJXc0DPL6thYOdXuq6/Sc1wkarEnny\n1tXMzxm5KPdgh5dOb5gSh5F8u44nd7Tyzaf2DOlAumxhFj/5yKJ0fVZdt59nd7fxyNYWev2Td5Ws\nVojk23W0u8MkJYnb1pdyfXU+LvPIDQUngz8SR5Ik3MEYLx/o4tmadmpa3JP6HJPBeZVOLDoVz9a0\np4Xhrz62hCuX5M7wymaWpr4A+9u9qBQiogDdvggdnjBmrZLqIjvzc8wzUiMIKW+9xt4Am2p7+P0b\n9enbzy3P5DOri1hbnjlhw9Zndrdx1/MHh/lYATiMan523WKcJi3ffGoPe9s8zHEYKHYY2HCo+6Rf\nz5mAy6zhxlVFnF3qwB+O89m/bCMaT2JQK1CIwpAJGjkWLYFoAk/o5EsSRAGqCmycV+lkXUUmGQZN\nupnKH4kTjMYJx5KYdUoyDBry7LpJMbkeLw9ubuSpnW388/Y1U/5c8izFGabPH+HlA1009wfZ3exm\nV8vAqOJDrRDTYyKMGiXrKjLJtmhJJCEUi5Nv1zPHYSTPpsOkTRVaWnUqlAqRQCQ1EHcyIirhWIJg\nNIHdoKamJdUG/pFledgNqSLKD9ZfjbaPlw90EYsnCUbjDARjJJISSlGgvsfPOw19E04H5Fi0rKt0\nsqbUwao5GdgM7xd1xhNJBCHlJfPdp/fx0LvDO1wrXCYe+vwKnKbUnMUjXT6e3tVGhydMty882MEY\nGle0SKUQiCXG/30xaZSUulIO9Z9ZXUxBxugO9RPhq4/t4und7YgCZFt0ROLJSRWQJ8ucTAO3ri1h\ncZ6VNneQrY0DlDmNVBfZJiU1dargCcao6/EhCAIqUeTJHS08vKV5mOGuQa1Ip+sdRg1fuaCMjyzN\nnbE6N0mS8EfihGIJQtEEoViCWFyi1Gkcs4N4JB7f1sw3n9o76v3zss386yvn0NDj5+JfbprQ90vm\n1EGrEvnZdYuHTB+ZCBONVk1ndEsWXDPIS/s7+cpju6Z0QLFaKaJXK3AHYyhFgXKXiYosE5VZJmwG\n9WCHjHFYyDccS7CzaQBvOIbdoKHblypW33a0n9aBEEpRYH2Fk61H+3EHYxg1Sm4+dw75dh2/2VDH\nrz9eRSSe5MkdLYRjSfJsOs4py6SqwJq+KpckiYfebeKHzx2YtIOnUaNkbrYJu0HNvZ9cRjSRZMPB\nbn69oZYOT5izSzP40KJsgtEk97/ZwKFOX/qxq+ZkcNPqQkoyjZS5TCPu/0inl/967gAqUUSnFtGp\nleRaUwJXq1Jg0amozDJjN6jZeKSHum4/D77dOKG/sV6t4M+fXs7KORnH3/g4fP+ZfTy+PfU3KMrQ\ns67CiTsY5end7Se978lEoxQ5tzyTSxdkcf5c16yO3k4GkiSxpbGfR7Y0s7vFTXP/6MPT1UqReVlm\nGvr8eENxKlwmmvuDhGIJPnlWAfNzLLxZ28PyIjtXLM6ZdembZFLiF68cYSAYHfRmSnk0zcs24xwc\nIg+pqNmFd28cdaTV6pIMHvnCWVz9u83sap59kVqZyeNDi7K5cVURNr2Kht4A/YFo+uIj06jGZdZi\n0CjxhWP4IwmWF9nQq5XEE0ku//VbtLtDOEwaMgxqMoxqNEoFkXiCaDyJ3aCh3GWkzGWkzGkiz6aT\nBdfxmA7B1ToQxB9JHeBO9g8SjSd57VA30USScDTBhkNdvH6oZ8YGm1YVWNMHLUGAJflW1pZnkmPV\nsafVzZM7WqdECKoVIkUOPSWZRuZkGsi36UEAXyhGlkVHty/C79+oo9f/vmGiRili0qow65TMcRgp\ndxnJs+lJShJ6tYKmviCNvQF6/RH6/FHu/ugS5g12GiaTErtb3bx2sBuNUqTdE+Jgh48fXbOQcpeJ\nLz28g5f2dw1Z45pSB9+4pIJfb6jl0gXZXFWVm04lb67r5Yb7twx7XesqMnnwMytGfM2Pb2vmJy8e\nHmICORoOo5pzyzM5v9LF5Yuyx/2+jkU4liCRTHnmeIIxPnrfO0OE5kzhMmtYX+FkXYWTc8oc6bmC\npzOJpMSL+zq5b1N9uhNtUa4Fo1ZJLJEcrO1LWZ30+iMICDiM6iFda9WFNuLJJB2e8LAosFIUyLPp\nyDCmTjYOk4YVRXbWlmcOifhOBpIk0dAbYCAQZVmhbdgxsqU/SDwpUewwUNvl42P3vUvfB74D+XYd\n6yucXDw/ixXFdlQKkZf2d/KDfx4YYnIMsLzIxh9vrObdhn5ePdiVbnqRkckwqPniupTp9BPbW7nn\n9bpxPzbHouWSBdl878PzpnCFKWTBNQYv7e/klod2kG/XcdG8LC5flE1V/ugz/8Zia2M/921qYEtj\n36wYSnys4JotlDqN/ODK+VRmmQlE4mnvGbVSTPtt/e6Nen728uF0IaxBreBTq4r42PJ8QrEEOdaR\nXY2f2d3GPa/VkWPVcU6Zg+uq82kdCHLjA1uHnQT0gyN73nuON7+xnny7nmA0zvV/eGeYv5hSFLj/\npmrWjWB4mkhKPL+3A184RnWhjUOdPl7a38nL+7tGnM8oCrA438q5ZZmcW+6gzGWalHqGZ2va+dNb\njext80xrAf3cbHMqva1WkGvTkWPVkWvVUeY0MTf75C9kThUCkThPbG/hz5sb8YXjlLpM9Pkj6NQK\nen1ROr1hINWtmW3RsrfVQ3iU7tJFuRa6fMPF1liIAlQX2jl/rpPz5zopyTQOee8HAlHu+tdBwrEE\nuVYdVQU2LlkwdN5jMilR2+1nS2MfWxr62dLYjzcc4+sXllPmMvLM7na8oRgJCVr7gzT0BhAFuGJx\nDrtb3BztGz2KBymbmPMrnVwwz8VTO1pHrM0qsOvZ8PW1/PLVI/z29foR9iIjM3G0KpFDP7x0yp9H\nFlxj8J7gOpZSp5Frl+VxTVXukHD4eAlG4zy2tYWfv3x4VOuE6WBpgZWds0xwFdhTbsYOk4ZILFUP\nEowm6PFF8IVj3H5eGcFonD++2ThqMacowPwcC3OzTfQHYvT6I0hAfyBCS3/qitlp0lBg17N9hE7E\nD6IQBf794grOq3Ty9b/VsLdtZH+ca5bmplvWj+WZ3W185bHdKEWBn167iGuW5g25fTxkGNTcuKqI\nL647MW+jzXW93PSnrRMawH2yrC7J4IdXLRj3oPHTmZf2d/KNJ/fgCcVYXmRj29Hjf+5WFNvZ2tg/\n6v0qhUCBXX/CczTXlDr4zcer0lGvRFLimt+/TU2Lm2WFNi5dkMXHVhRg1Ci5b1M979T3sbPZPSlF\n1CeKRafilx9bwjmlDv7vnSZ+MEKns4zMiSALruMwU4LrPZbkW7m+Op/XD3dj0igxapUszLVw5ZLc\n454UQ9EEbe4Qbxzu5skdrTOS3pmNEa5TEatexeULs/nY8gIW5lmG3R+MxmkdCOEwatJNBX3+CHf8\nrYZNx3gYjYcyp5H1lU50KgVfXFcy7gaIfW0ePn7fu/giUx9Z1akUfOGcYr5yQfmsGVEyUySTEr/c\nUMuvN9QCsLLYzpYxRNSxHG/bFcU2tjYOF26VWSasehV13f4hafkPYtIoefKLq6nIer9W8dUDXXz+\n/7azINfM1y4sJxqXONDhTa9/JllRbOeXH11CLJHkL2838afNjTO9JJnTiNkouE7/AosPIAoCC3Mt\neMOxIQaakDL4bOkPDktH3f3KEb55aeWQlvYOT4hNR3rY0TTAzmY3dd1+VhTZubY6j48tz+e3b9Sf\nkMfJyXBmnwpPDL1awd9uWYUnFMMXTtWczcs2jymw9Wol5ccU4Hf7wlx5z2Y6POFRH/ORpXlcsSQH\ndzDKj184lN62tttPbbefa5flTajb1GZQT5n5qVGjJM+moyLLxKULslhb7pxwd9p77Gl18/s36uka\nHKH0mbOLqSqwsulID2/W9lK+3iFkAAAgAElEQVSSacCiV/Py/k7eONxDIilxXqWT396wdJJf1cnj\nC8e44/EaXj2Yqg9cUWQbt9h6b15nplFNzyiiaWvjANWFtmFR2i5vmAvnufjdDctIShJHunzUdvk5\n3OWjwx2iMMNARZaJNaUOXtzXyW2P7CQcS7C8yE44loq472vz8tkHZ09DklIUyLfpufPZ/bx8oOv4\nD5CROQ044wSXJEn84Mr5+MJx3qztwWHU0OEJ89i2ZsKx5BCxdd2yPEqdRlxmLRfNe7/2oXUgyJ3P\n7ufVg0PrEbYe7Wfr0fEdgGVmHodRw58/Xc2PXjjImtJUt+XivLHnP9Z1+2jpT9lIRBMpE92jfcEx\nxRZAmztIllnL2vJMLpjr4t6N9TyxvZVoIskPrpzP5QsnVkyfa9Xx/JfX8PUnatgzysiQ8WLVq/j8\nmmIqs8yUu1IdPhP1WxqNPn+UJflWOjxh/u+do7ywrxOtShyzeWNTbQ//985RblhZOGsiagc7vHzp\n4Z00Dpr/jjeyVWDX89NrF1FdaEOpEEkkJbY29nPjn7aM2MU70vs+EIzxm9fqMGiU3Lq2BIdRw1nF\nGUO2feVAFxfevXHI+9o60HYiL3VaiCclntopF8jLnFmccYJrXYUzHb04tzwzfftlC7PZdKSH1w51\nc6AjVUD9mbOL051xx5Jn03P/Tct59UAXD29p4kiXn6QkYdOraekPUujQs7TAxpu1vekDtMzsItui\n5Tcfr0KtVLC5ro/NdSnn+lyrjgvmprrsVpVkDIk6dXrCXP27t4c0SGhVIkXj8JZ6t6GfS361ieWF\ndq5YksOXzy/jjgvKCcYSGE+wk6/MZeLbl87l439894Qe/x7Pf/mcKRtRtKokg2giyf52L1qVgmA0\ncdxOWZ1KgVmrYjZoLUmSeGJ7K999Zl86orgozzLuyNa3Lq3krEErkEg8wT92pmZ5jmaZEhsjajkQ\nTF0MRuNJrv/DO3jDMVaXZLC6xIFGKaISRcLM/pFPMjJTRbZFS7ZFS4ZRwxWLT8zzayo542q4jock\nSdT3BEhKEmVOY3pUy3iN1GKJJApBQALu3Vg/ZIzNVDMbi+ZnC0pR4KqqXIodBmx6NVdV5aBWiPzs\n5SPcu/H9zqj5OWZyrTpePtDF1VW5LMi1cO3SPCz6VFdhmztEnz+CcbDGz6RRoVMrqO/x8/yeDp6t\naaeu23/c9XxiZQH/Mzgz7mQIRuN8+DdvnXCh9RyHgQ1fXzvlnYV13T5+/vIR9rR66PKGhxT7G9QK\nlhbaWFFkZ3mxnSX51ikbjzQR3q7v5X9fOpyuizRplczLNhOJJ9l9HHd/u0HNLefO4VOrChEFgb++\n28T9bzamOxdHQ6cSUYgi/hFq80QB5uWYWV3iwB+J88iW5hN/cTIypyGCALeuLeGbl1RO43PKRfOT\nxjO72whGE+xt82DSKLl+ef6IXVq1XT6a+oJkmjQ88FYj7lCMnU0DIx44pwpZcI3O1y4s58vnlw25\nbSAQxReOs+FQFzub3VyzNJe1ZZkIArT0h6jv9SMAZ5c6xj1upaU/yBcf3jHEZkKvVrCm1EGGUc0r\nB7pTXkwC7PzPCyfFR6nDE+Krj+0ed9TlPS6e7+Lbl86lyDG97u+JpESvP0K7O4RWpaDMaUQ5Q+Ns\nPkifP8KrB7v4x6423m0Y+n6O5/tVmKHnM6uLuK46H4NGyeFOH7c9snNcIhxS6d0yp3HIAHgZGZmJ\n8cOrFvDJlQXTYlEjC64pYrQo146mfm7607ZpFVcjsazAxo7m47ennykYNUq+dWkla8szcZm1x+00\nlSSJ//rnATYc6uKGlYXcurYESI1oUSgEjBolR3sD7G3zUOwwMCfTgF6tJBRN0O0LDxlbc6TLx6Yj\nPbxV18v2oynhvTDXwnc/NA+LTkVLf5AL5rkm7bUmkhL3bhzqZzYWj3x+JatLHZP2/KcykiTxbE07\nj2xpZtvRfkZz2ii062kawz3+G5dUcMu5JUPqzi66eyNHusYnto5lRZGNreOwmpCROZVZnGch16bj\nX3s7T3pfcxwG5mQa6faFaXeHefq21eTZJmec2ljIXYpTxEhi69madr762K5RD9IyM0OZ08hfPruC\nnAnUJgmCwC1r5/DVC8qw6t+PPP34xYOcNSeDK5fk8tvX63jiGDdsi05FJJ6qS1qUZ+EL58zhsoXZ\nlLtMlLtMfP6cOUiSRI8vQkNvgKa+ANcszRvSuj8ZKESB29aX4gnFuG9Tw3G3r+32y4JrkF9vqOPu\nV48cdzuTbvTDZVGGnpvPmTOsyP+yhdkc6Rq/BYPTpCHbqpPFlsxpgShAjlVHpkkzzLKoqsDK325Z\nxV/fbZqw4BKE1JzcMpeJs0syWFPmmBZxdbLIguskybXqyLXp0gacJ4tSFLhwnou9bR5aByZnn2ca\nRRl6Hv78yhMysc22DBdoP7pmUfr/SwqsQwTXsaaRe1o93P7oLv6+s5XLF+WgVys4a04GdoMap1mL\n06xNF1BPFV+7sBxREPjz5sZRbSOMGiUfmqQRQ6cDEuO7Wmro9qNWiiOm+uZ8wOX9PcabilaKsKzQ\nzp5WD93HqQ+TkZntXLssj39bX0quTYdKISJJEl/8605e3N/J8iIbnzm7mIvmudjX7uWXr47/gkSj\nFLmuOo/Pr5kz7aUQk4GcUjxBenwR9rV5MGqVHOnycfcrtfT6T853q9hh4DuXzeWrj+0a4lj/oUXZ\n3HX1QryhGM/WtLO5rpddzW5CsaGu9vNzzETiCbo8YXyRmXO8n2ke+cJKVpdMTfSm3R1i7f++Pu7B\n3H+7ZRUriu3Dbpckib5AFMc0DCWuaXFz1/MH05YlX72gjK9eUD7lz3uq8I9drdzxeM1xtyt2GMbs\nOj6/0smdV8wn3/7+lfaBdi8Pb2ni4WMK3NVKkfk5ZsqdJkxaJTq1gsOdPtmPSuaUx2nS8OOPLOS8\nyuHlEr3+CJ2eMPNzzLxyoIv7NjWMOhnEolOxviI1B/jRrc0kJfjSuhI+ujx/SPZhNiCnFKcBo0bJ\nQDBKfY+fz60p5uqqXP6xqw2LTkUiKfGf/9g3bhdwg1rBTauL+MI5c/jVhloC0QR2g5qL57uYl2Nh\ncZ4Fi06FRafitvWl3La+lFgiSWNvAI1SRCEKHOrwsafVzd42D72+KAtzDfT6o2l/qJJMAwaN8qQ9\nm2Y7GqXIqimMIll0KvLtehrG2RV4tDcwTHDFE0m+8thudjQN8PRtZ5NlmXgkbiIszrfy+C1n0ToQ\nQqMU0+74MimKHccfVeQwqo9rU7HhUDcr59i5+dyS9G3zcszcdfVCLlmQRSyRJNeiQ69R0OuPYtOr\nybJoCUcTPFPTzjv1fdMyOUBG5kRRK0WWF9nwhuI09weHRPgdRg3Pf/kcMk0jX0Q6jBrcwSiffGBL\n2oZnWaGNC+e5GAhGuXxhNh2eMFadimWDvnUAt60vpdMbPi1GiskRrilAkiQqvvsiORYtTpOW+h4/\n/cEokgRZZu2w1vBlhTb+eGM1doOagx1eovEkc4/jdj4W3nCMBzcf5ZGtzRTY9HjDsfSooeVFNg52\nePGfphEwg1rBH2+qJseiozBDP6ldKu5glE89sHXU2YsjcU6Zg29eUsm8bDOiKCBJEt99Zh9/fTcV\n8ZiTaeDRL5yF6wTSnzKTQzyRZOX/bBg2YWJpgZU7r5jPpiM9PLatZcwUf6Yp5fvzn5fPHfUz99/P\nHeBv21vwfmDQ/fFmLMrITDUXzHWyJN+Kw6hJ/TNpMGqUBKNx/OE4vkicSDzJuWWOdITpgbca+eu7\nTVh0KrItWnKsOi6Y62JVyfAL3ngiye/eqOfXG2rTljA5Fi1/+ewKylyTW8863chdirMAdzCKWasi\nmkgST0o09PgptBu4+9UjPPj20fR2OpWCb1xSwadXF016C6s3HOO5mg62NPbR548STyYJRRP0+CPk\nWnXjGrh7KjPZqcVkUuJv21v40QuHJjzw9+L5LhblWXliewtHPzBSqihDz6M3nzVi/ZjM+Djc6eOO\nx3ejUYmsLM7gm5dUTOj7tKOpn4e3NLOr2U1JppHLFmZx1ZLctEi+9t532DFK+sOqV7Hruxce9/m2\nH+3nntfreOPw0HmbLrOGLu/0jgGTkYFUmvy/rpg/xAR8sjnaG+DrT9QM+f5UuEw8/IWV01JSMdXI\ngmuW0joQ5Krfvk2vP8L6ikwuWZBFgV3Pw1ua2drYz7XL8vjGNBi2bTvaz/V/eIcleVZ2ncYFussK\nbTxxy6pJG1PzHvvaPHzk929P6izDkkwDT9y6Wk73nQCJpMS5P32dNncIq17FjauKCMcSrCvPPKlO\nzERS4vm9HSwtSI0muu7ed0bc7vxKJw98evmI93mCMZ7a2UpltonVJQ7+9FYj973ZQKZRgyimXOOD\n0cSwua4yMlOJViVy+3llfP6cYjTKqTEZ/tZTe3hpfycDweEXpw6jhovmu/jSupJTortwLOQarllG\nty/MX94+yh82NpBj1fHvF1dw2/pSIOVmHY4l+Y/L5054nt6JsrzIzk+uWcRPXzrEvGxzepTR6caO\npgGu/v3b9PkjROJJqvKtLC+yc8mCrCGFzRNlQa6Fq5bk8vj2lklba31PgP/510F+dt3iSdvnmcLe\nNg9t7lS6zx2M8esNtShEgQ8vOrHRHsFonK89XsOhTm9q5uo315Nn0/PZs4v50+bGYdufP3d0P7Wb\nH9rOlsZ+1EqRa6pyeaehj05PmM5jZm+uKLbLgktm2rhgros7r5g3ZUInmZT4/rP7eWzb6MfHXn+E\nR7Y084kVBeTZpmQZsxJZcE0R4ViCXn+ER7c2c9+mBiQJfn79Yq5YnDMk9bC6xDFlHXVjcf3yfNZX\nOrn4l5uoKrASS0jsm0Bt0qlCzTERvJcPdPHygS7u+tdBLl+YzTcvqSTfrptwKjcYjR93tMuJEIkn\naR0InvJXfNPN4jwL55ZnsunI+6m67394HpXZJ1YbsrPJzYv7U75AORYtbxzu4dzyTC5dmMUrBztp\n6U9F0i5bmI0kwUeX54+4n2QyVU6wvCh1Rqnv8eM0acgya+n2hWnsTYmscCzBglwzjT2BId3JMjKT\nSY5Fy51XzOei+VlT+jzbmwZ46N2mMbdxmjScXeqYshmusxVZcE0yjb0B7n+zgZf2d3FuuYMVRXbu\nunoh51c6yZhl+epMk4YvnDOHezfW4wnFyLFqaXePPevtdOH5vR08v7cDl1nD+XNdXF2VS4ZBjVal\nwKpXoVeP/NXY3eLmO3/fy+Eu36Sv6Z817Ty/p53rq/P51qWVs679ebYiCAIfrc7HadLw5KBH2vee\n2c/Tu9p4/JZV4/bCeg+XWcN7Gvyhz69EIQisvOtVkhLccWEZWxr6ueGsghFb349FFEW8oSi13SN3\ntK4uyaCxN5DuHM4wqHGZtTiMmrSFx+nEHIcBBOjzRydcAylz4ihFgc+tKebL55dh0Ez9Kf+FfR3H\n3eYbl1Ry7bK8KV/LbEOu4ZoEkkmJx7e3sOlID4IAV1flsbY884S7DKcbfyTOnc/s58mdrcff+Azh\n/hur06N34okkf3yzkVcOdLKrxT2u0TkniyBAvk3P3GwTX1pXyuJ869Q/6SnE1sZ+7t1Yz1u1vVy5\nJIfvXDaXF/Z18vrhbrY29qdP6DeuKuTrF1Vg0akmtP87n93PgXYPN6ws5IolOXR5I9R1+1hTNry4\nuMsb5s3aXjrcIdaUOagqsHH3K0d4fm8Hzf1Bcq1aQBji4bUgx5zyJRqhWD7boqHTG5mWz9lUYdIo\nKXIY0A0OIe8PRqg7RnguybdOSZRYZigqhcDt55WxqiSDZQW2Sa9nHYl7N9bz4xcOjXp/ZZaJ288r\n4/LTxHxZLpqfASLxxJQVH04Fu1vc7GwaoMih57xKF+/U9/GNp2omzTH/VOeDswY31/Vyw/1bZmQt\n+XYdr3193YQjNacjff4I3392P8/t6SDboiVv0Mn6gZuWo1Onvn8NPX6uuGdzerapVa9i47+vn5Do\n+vWGWn7xSmrcz4JcM+dXunjjcDeReJLrqvNZV5HJM7vaePVg95AaSFEAjVKBTqXArFOiVAhIEigV\nIga1An8kjlWvprEnQM8YRslV+Rb2d/hm/QBrp0lDYYYBUYCkJBEZbAJoHwgSjI2+9uJBMZZISlj0\nqrQtRpnLiEWnQiEIEx7GLjM2n1tTzGfXFLO5rpfXD3VT5jRy23mlaJQKPKEYL+/v5LrqkdPjE6Gm\nxc2Vv9084n2P3XzWlE/bmG7kovkZ4FQSWwA2vYoH3z7KzefOAWBVSQav3LGWS3/15phu2mcKLx/o\nGiK4zi51UO4yntAg4pOlpT/Ewjtf4pZzS7jjwjPbIV6lFHmrrheADk+YDk+YNaUOdGoFR3sD/GFT\nA2atcsgUBncwxm9fr+M7l80dtr9kUmJn8wCvHOyixxuhsTdAhyc8RAzta/Oyr+19UfXD5w7wwl7b\niC7ZSQlCsQShWIL+4FBfr+oi27g/P/W9AQrtejyhGN2+2WsZkWfTsf1o/ziHI73PsccYk0ZBVYGV\nHl+E2mPen3KXkR5fZMQut9MVl1lDvk2ftiMREEhIEp3eMG0nOertgbcaeeCt95s+XgA2Hunhlx9b\nwj2v1bO7ZYBrl+WdtD3R/BwzJo1yiImvSiGwMNfCyhGmbpxJTJrgEgThKOADEkBckqRqQRDswONA\nEXAUuF6SpNPb/OkUoTDDwJO3ruLPbx9NR+e0KgV3XFjOA281Dik2PxN5ZEszN6wsGGLKt77COSOC\nCyAcS/Lyga4zXnDpVApyLDrcgydhUYDPnVMMQDCa4NndbSMWnt//ZgO7m91cWZXDDSsL07c/uaOV\nbzy1J/17jnW4MfFInEhqZiKPyDZrOTxDn7XxIggpgakUBWLJE8+U+CKJYYONAY50+Sl1GgjFUsPh\nT3cMagV6tXLUcTfzss3UdvvGPVZsPNS0enjonSaeGiwnqe8JUOo8OUd3pUJkdWkGL+1Pjaq6Zmku\nP/nIIjlCD0z2O7BekqQlx4TXvgVskCSpDNgw+LvMLMFp1nLb+lL8xzhfX7E4h6e/tBqz9swOfkYT\nSW796w72tKZOBLFEckZn3dn0Kj5afeYVmX6Q5/a0E4jGmeMw8MV1JTx3+zmsr3CSSEr8YVN92sX6\ngyQlqGl1U2h/f+CtJxjjJy+mak1MWiUriuzjbhrZ2zrxCxJJSqWHqwttLC2wMi/bhFEzPDJemWXC\nqFWxKM+Cw6hGp1KkOx2nAqUokGnU4DJrxl13KgopJ/7dLe6TElvHo647QLnTdNyxSpPJskIb83PM\nTLIP9XFJSNKIn4f3ONDhpapgcj8HggBLC2zp15qYpL/l+YMNJQa1go+vKJDF1iBTfVa9Elg3+P+/\nAG8A35zi55SZAEaNEuMHOlcEQeD8uS7+satthlY1O6jvCXDVbzfzsRUF1HX7pz3VWpJp4OxSB4vy\nLBzo8PKP3e1cW50/7O91JnF1VR5XVw0XngpR4D8um4tCEHhhX+ewwe4ABo2SLIuGLY19bKnvY2+b\nhzmZBoocBtzB6IQ6A+0GDTkWLdtGiUaMRCiWoKU/NKxO0qhRkjEorDQqkX5/ND2K6z2C0QRLC6zs\nHCESdKKIgyfb5v5gOm2pVYoszregFEWOdPrSaaH8wVq5eFKiuT9IUoIdTW7mZZs52OGdcEpxIuxp\n81BdZCOWSKJWiOxt8xCNJ8m26uj1RSbVgHhFkT39OVApBLItWjJNWo72BoaNfppMVAqBogwDe9vG\n9kTc1thPZZZp2OfjRPnc2cV8aHEOb9X18ti2Ft6q66Ui6+RH7XxocTbvNvbx9Ysqzjjrh7GYzCO3\nBLwsCIIE/EGSpPsAlyRJHQCSJHUIguCcxOeTmSIe3tKEViVy87nFuIMxdjW7qe2e3emNqSIppdKL\nk4UggE2vTndvReJJ+gMRjr2w1KsV3HFBOZ9dU4xCFPja33bz0r5Onr19zRkttsZiX5uH7/xjL72+\nCAtzLZw3NxX1KnUayRqcU1nkMHD3K6nRWqVOI8mkRMOgiLbpj/++GjVKKrNMdHrDtA6EaHOHKHMa\nEQUBjUrkQLt31AgbgCcUw6xVDpul6I/E0wX+o7G/PXUiXllsp3UgiAT0+6OET0Bs5Np0uANR7Ab1\nsPRVOJ6kpiVlU6EUYWGumYFAjJZj6ocK7TqsejWdnjB9/siUiq332H7MGDK9SkQhCrQNhHCaUhYe\nY41GEoXUEHGdSkEgEseoVZJMpurIPiiijo1qxRISzf0hmvtDrChKRYF6/VF0agVOkwa9WoE3HB93\nbZU4mIIdiaoC27jmaUqkmhMmi8psM5Cq4X1sWwsPvt3IJ88qOOmaZL1ayS+uXzIZSzytmMyj99mS\nJLUPiqpXBEEYvS/0GARBuBm4GaCgoGASlyNzoly+MJukBE/taGV3i5tzyhzcsLKAezc2jKu+RWZk\n7AY1f7xxGcsKU4WjLf1Bnt7VRmGGnkV5VhKShMOgwaxTpgtXNxzs4u872yjK0PPdp/fxl8+uAJBD\n9B9AqRB44KblZJre97rr8oYxaJQoRYE3Dvdw/1uNvDRoaFrX7UcpClQVWFEpUifwPS3uMY1HbXrV\nMIFy7IVIaaYBq17NruYBPlhms6zQxq7mgVFPuOPl2M69fJuOLIsWQRDo9oaHzegciYW5Fva2eSjN\nNFDXM3bENp5kxIhLU3+IphnsZj62+/G9yNyyQhtJSUIUhPTMPp1awcIcC019gSFND+9h0ipZmGtG\npRDT36ddzSNHLLcOCj6HUU2vPzpkMkBRhh69WjnqxI4ci5Zcm47dLW7KHEYsehVapYgnFKPTG6Yo\nw8DBzvFP+zjS5WdZgY02T2jIxIIToWBw4kZo8HPf0h/iL28f5eZzS05qvzIjMyW2EIIg3An4gS8A\n6wajW9nAG5IkVYz2uFPZFuJ0JJZI8uqBLr7x5B7MOhU3rSpEo1Lwz5p2oonZWcSqUYqzbih3hcvE\nF9eVsCTfymuHuml3h4jEk3zyrEKyzFreru+lrtvPjauKsOjfty442hvgY/e9O0Tk5tl09AeinF3q\n4I83jqsT+YwimZTo8Iax6VV0eMJc9dvNJJPScR3cVaJAeZYRo0aFOxgdtWB9TqaBeCKVVqvMMtHj\ni9AXiCIKUOY00heI4o/EKck04o/ECUTiFDkMtA2E6DjJk+NYLC+yjetzX104cnfl6YJKIVBdaMcX\njnGky0d0EgvMx0Ig1Z0nigIapYhAKhrW4QkR+kDBv1GjRKdSjGkLMl4sOiUVLhPbmgYm7Ntm0ijZ\n+b0LUSlEvv33vTy/p53vfmge9T0Bvn5RuXxRN06m3RZCEAQDIEqS5Bv8/0XAD4BngZuAHw/+fGYy\nnk9melApRC5dmM3aikyeq2nnrbpevnVpJbFEkv9+/uBML29UcixabAY1erWCSDxJnz+CTqWguT9I\nNCFR6jTQ5Y3gC4+dxpkMVhTb+dK6Eh7b2sL/e6ImnXIyaZQsL7ZTkWXi0hFmaMYHi/Y/GFFsHUxf\n7G/z8IuXD/O1i0a9fjnj6A9EOfvHr6Xrt7It2nH/jWNJif3tqbqYfPsYNScSBCIxijL0HOr0IZAq\nDM6x6dIiLXMwzWXRqnCZtejVCvpHqP8pytDjMmuJJyVqu3zDUo2TjVYlUtdz+pYGrCy20+2L8E5D\nH4vzLejUSqLT5GgvAfvaxxelKncZJ60WzxOKs/XoACuK7UNSkkUZejKMGjyhGHWjlINcvTQ3Laq8\n4RgfXZ4/KT5cMqMzWSlFF/CPwTSIEnhEkqQXBUHYBvxNEITPAc3AdZP0fDLTiF6t5OIF2fzw+YO8\nfKCL339y2UwvaUzaPWHaR4gmKEQBg1pBXXcAlUJgaYGVYDQxaQWoH+SyhVksybPyub9sH9b9s7TQ\nxhWLRx+uXN8ToDBDT55NRyIpodco6fdH2dE8wJJ8K019Af68+Si3risZdQzRmYZNr+I3H6/inYY+\n/lnTPuGIkkYpUu4yDRZL64jGE/T6oxjUShSikK6fa+gN0BdIncglIM+mJ55IUl1owxeOc7jLR88x\n3llVBVayrVr6A1HMWhVOk4Y+f4SjfUE0SgX1PT7iyZTB6kipr7FYWmAlkZSoP056EFLWIk6TlgqX\nibaBEK3u08vk+GhvgK7B972mxYNaITA/x4RWpUynGWcDSSmVAlWIAm3uVB1aU19wRFE+Xg51etOd\nrP2BKPU9AQKRBMHoyCL++uo8vv/h+enfrTrVkHS8zNQgO83LjJtvPbWHx7a1kGUen1fRqUK+TYfT\nrJ3Ug/LSAitlLiM7mtxE4gkcRs0QryG1UuRft58DgkSp8/2uoF5/BKNGiVY1vGi1pT/IKwe6uHFV\nIef9fCM2vYqnbzv7pI0KT0c8wRj/9uhO3qztHdf2KoXAojzrkM+A3aCmyK7DF4ljM2hAktjV4h7i\ng6QSBZYUWEdN55W5jDT0BMZst68qsLKr2Y1Vr0IABoIxFKIw6mOUosDSAhvrKzPp9UV5/Ug3DeMQ\nXMdSmKFP1yFVZplYW5HJvjYPsYTE7mb3rC0ZOJbqQhvuYBSLXk0iIbF7DKuORbkW9rR5pnF148Om\nV2HWqVApRBp6/Cdd43csFS7TiDNfr1ySw93XLxniJXfrQzt49WAX93yiiksWnB4jd6YL2WleZkqY\nn5PqaDmdxBZAy+DVflV+yu16Mq78dza7USnEdDhf/YF6iGg8yQObG3EYVHjDcaqL7JxX6eSzD27j\nlnNLRpwzlm/X89k1KZPP1//fOpKSJIutUbDoVfzxxmo+95dtbK7rO+72Jq0SxeBbadQoMGqU5Nv1\nJCUGh0+nBI0opFJX/kicDk8Yp0lDbDC6taM5VUeTb9Nh1qXqdGq7xxZbAIc6fGgUAiUOIwPBKF+7\nsJyPrSjgF68cobbLx7ajA3hCMRbnW/n5dYsoyTQiCAK1XT4u/81bJzT+p8MT5juXVnLR/CwKM/RD\nPkfX/+GdcXXMzSQWneT9Uu8AACAASURBVIqatAfY8cXmbBOQSwusNPcH6fVHp8RJ32nSjCi2XGYN\n37q0cphx78o5dr55aSWNvadvynk2IAsumXGTbTl9/VQkCXa1uHGZNSwrtJ1UtEsAKrJM7Dvmiro/\nECXboqHDE0GtEFErRZ7a2YoopAb5bjs6wPee2YdVr0ZCSo31GENMKUQBxYS8y888tCoFl8zPGpfg\n6g/E2BVyMzc7lW7r9A4fLG3Tq7hlbQnBSJy36/uY4zDQ0OOnf/CEadEpselUiKLI/nZfKmX9/9k7\n7/DICnL/f8703jLpPdkkm2zNlmxh2aUsRZAiShdBRRZFBfHK9Vp+titW1IvXhgqo4BULIiKCIJ3t\nvWezu+k9mZpMnzm/PyaZzSSTZJJNtp7P8/hIJmfOnGSTzHve9/t+v5PYPQBEYjFWl2fQ4QpwfW0+\nd6wqAeA/r5zL77e0cKx3ELc/jD8UodXpxxuIkGXS8L2X66dVbH3swlIurspiVXlG4mcsEo1xrHcQ\nnUpOT4obKpkQzz+06VV0ugKndRxpUCuozDZMaTnmTMiktOmVlNoNiKI4o35qI9Gr5AyGouSaNWMi\noWpyTfz6rmUp/45fVJVFqV1PqV0/5nMSM4dUcEmkzcloDM4Wuj1Buj1BCqzahEB9PHRKGQsKLIQi\nMURORLd4AuExujCnL8zFVZm8/JlaPP4wj711nGe2tRKOiijlMq6vzWPNnEzm5hinFRsjkZqp5BAq\n5QIN3QPjemktKrRw77pyjnR7uXphHj94pZ5gRIdGFcTjC5Np1KBVyjColRzvG2RnS9wYtMPtJxCK\njuuZFY6K7Gh2cc/aMj5+UfI6/g1L8tnS2E+708/8fDMDgQhzMg3sbnGxZxpu959ZX8n96yuSHvME\nwvx9Twdf/Ov+lM+pLbJwuNPLsd5BjvUOIgjx74UvGDml/nx1JTY63H7anP4pbyIf7xvErFWQaVSj\nVylQymXsanXNmLN6Khbkm4iJccNdURTZ3eqaVS1ZmV3P8b5BjBoFe9qSx6eXzM3i0VtrU/r4BcJR\nrv3xO9y/voK7LyybteuTkAouiSnQ4pjc5+dcIcekmbDgqso24vKHknyRUpGhV3FpdRbXL85PdBTe\n86O36XD7uXNVCfeuKyfHrJnpy5cYYrKieSS+cIy6EhstDh+ff89cmvoHeX5PR0Ifta/NTUO3l8qh\nfM2vXTufy3/4JpXZRjpcgcT4eEmRJXHOg50eVAoZ83JNHO7yJjYoFTKBymwjerWcVoefyhwjn760\ngtFolHK+ft18/t97a8gwnBA1F9p0XDk/h62NDr790uG0s08PdXqIRGMoRoy4X9zbydf/fnDc53R7\nAknO/aJI4vVqCy3sa3dxShpIwtT+PUfj9kdw+090HHNMaooz9JP+Dk8XrUpxSkezw7rP0Zu5d64q\n5v9dMw/5ODdyBzrceIMR/vsfh/jn/i5uXl6Ixx/msppsijOkjtdMIhVcEmmzbQrRJ2c7o7tMGoWM\nqhxjovvR2DeIbwJvJ4VM4H9vW8LlNdljzvXwDQuw6pQsLLCM82yJiWhz+vjf146yvdlJSYYOrUqB\nQNxB3W5Q4w9FkMtkIIr8bff48VQFVi2LCi0Ew1Ga+n0MBiPctLyA98zPRT/UCbh5eSGrvvUaAP2D\nIa740Vt88eoaPrqmlByzhr98fDU/ef0oaqWMd4/2Y9YqMGgUKOUCOpUCtz9MKBIjJor4w1GyjGpU\nchm+cDRhlGnRKvjM+rHF1jBmrTLl43KZwKryDP5y7yp+s7GZVw51EQzHGAhGaHX6UgY+v3Sgi1cP\ndScJo2+pK+Jwl5cnNzalfB3ZBKPtXa0uKrMN6NUK/KEowUiMSCxGrlnLtkZH2i70WUY1kWgsMZ5N\nxZ5WF1adcsY0T8Nj41K7fsZjuwqsWvzjbAjOFuFoDLtBTd+Qv5dJo+DTl1bw0TWlKeUJoUiMfx3s\n4vXDvYnHdjQ72dHsRK+SU5FtlAquGUbaUpRIC08gzMKv/ut0X8YpodCmxTEQSphlGjUKqnOM7Glz\np53bdsfKYr5x/fzZvMzzlq8+f2Dc4mA0RTYtOSYN4ZiIUhb3oXL6Qty6vIiHb1gw7vMOdXp460gv\nG9aV881/HOSXbzcmPqdSyHj67hUsL7ElHut0+/njtjb2tLl4u6GXZSU26ju9lGXq2d7sJN+ioX2c\nYOzPXlbJp1J0t6aKJxDm0Vcb+NU7jWgUMmryTInFiuNDOjCAu1aX8JVrapLehGMxkb3tbr770mE2\nHkvWvBXZdInudnmmHq1Snpbn1ERmrHOyDFh1SgQEPIG4V1QkJlKeGX+Dj4lx3ZhGKUelkDEQiGDW\nKtjePPPaJ5texZwsAwLx2JxAOIYvFIm/tlyGJxDmeN/guMaicplAhl6FUiHDpFFg1CjZ1+YaY3g6\nW9SV2tAq5Vxek81Nywt5s74Xtz/MlfNzEjcOqfjZG8f4zkuHydCr0CjltLv8ZBrVPPnh5VTnmCRp\nQ5pIW4oSM45JozxpMfnZgt2gJhYTqckz0eUJ0OkKJKI90mV/h5tdLU5qi6yzdJXnL4sLLSwpstDt\nCWLVKSd88x/OwhtGJoAMMI3TNRrmhb0d1Hd52bCunC9eXcO8PDNffm4/3mCEUCTGzb/YxMfWllGd\nY+KaRXnkmrXcv76CwWCE771cz283NXHhHDu9AyFyTWqyTWMLrvl5JnQqxbh+YdGYyP52NztbnPhC\nUWIxkbpSG3WltpQdC5NGyX9cUcWTG5sIRGJJwuwCi5ayTD2HOj08ubGJHLOGe9ed0IvJZAKLCy3M\nzzOzqjyDN+p7EYDtzU4EIb7dVmTTsaM5Hk9Unqmf1PsrGhNRKwSCkROVilGjoGaoU5yqGEt1Tp1K\nTnWuiXbn7EgaHIOhSUd/OSY1RRl6guEooWiMln4f8/LNuH0hmvoHE1rB8fupM4dKLqBTKyjPNNDY\nN0CeWcOnL6mgLMsAwPqa7LTO0+ON/9x96pI5fHBlMa8e6qbAqmNennnWrv18Ryq4JNIm03B+GOMN\n+2WN15FIhUImMC/PhN2gZm1lJkU2Hfbz5Pt1qpmTdcKp2x+OkGVUpyWO16nkVGYbuawmmw1rJxYH\n37W6hCMj1uqvr41r8H7+5jF2NDvZ2+bmF28eRzvUGbhpWWFckK1WsKLUxpMbm+gfDHGw00NJhg7D\n0OODwQg6tQJEEZlMYPNxB3vbXURiMW6vK8YTDGPRqmh3+XjkX0dSitLnZBl4/5IC1lbamZtjotcb\nJCqKuH1hHn+3kUKbDo0yng8YisQwaRRDocfxFAazTsVjbx1Ho5Bx1wWlSee+dnEe8/PNLCmy8vGn\ndrCi1IZSLuALRZMKpOO9gywvsRIT4xqvVNqqnS0u6kpsuP1hmvoHqM4x09DjpbHfR75Fy4pSG93j\nZEBqlXLyLBpsetWsi83TYfTWqlIunHLrDAFYXmKjqX+QTKM68T352rXzkyLB0mXD2jJsOhVWnQqF\nXCb5b50CpIJLIm2OpPB1kYi/kd+ztow8s5baIgsV2cbJnyQxbax6VeK/izP0SYay46FWyPjdR1ew\ntHjyjqM/FOWaH7+LiMgrD67DpIm/mWWbNHzlmnlEojH+uqud77xUT99AkO+9XM/f93RwYYWdB9ZX\n0je0zRsTRbKMapr6fbj8YXyhKI/cuIi6Uhu93iAP/nE3G9aWccncLCIxkY/9bntahePRngG+89Jh\nvvNSvGM33qKdTa9KbBYvLxnZnY4XOP/9j0PERLilrjApreDu32zDrFURExlXUC5CogArHgpATsXW\nId3n/DwTDl+IUrselULGzhYXMiHuuN7h8hOKipg08a5NTBQRRdjb7k7LQf90EJ6FjEa5TOCDK4q4\ncVkh//GnPUmbzrWFZrq9wcT3s8cbt5f5r6vmolePNUlOhxf2dvLIK0ew6pRcuSAHtWJ655FIH6ng\nkkibW+oKefjFw6f7Ms44rDoV919aIZmQniL+fagbiHcZ0lVlf+f9C9MqtgC0KjkGjWLcDDqFXMaN\nywpZWZbBR57chlWv4g8fW8nBTg8dLj831Oazs8nJjhZnooD6zPpKZEJcD5Vt0pBt0vD9Gxdx7+92\n8Iu3jqf3RaRgIlcDpy9EdY4RmQAdLj8apSxJSB+JiaypsCeZ8ho1Cjz+CK8e6kn7GpodPupKbOxt\nd6UU6kM8Z3BJkQWlXIYoimQb1YSjJ8aKS4osHOzwsCvNbctzjTK7np/cvoTqXBP/2NvJ0Z4B7AY1\ny4qtlGfq+e3m5qTtw4eurOLaRXkUWMcvdidjeGvR6QuzvcnJBXPsJ/11SEyMVHBJpM37lxRIBdcQ\nepUcXzjKrXVF3FZXJBVbp4hgJMo3RwSnD+tQJkIQ4sLiqVBbaOHKeTkYJxAdF9p0fOuGBXzg55t4\nZnsrt9YVJT73haurufrRtxMf/+yNY7z+HxehVZ3oIjT3++icxdQGccgDqm8giFWvQq9SoFLIcAyG\nMOuUmLXKhMXFMMUZei6tzmJ/h3vCLdzRbG1ykG1UU5KhGuNBV1tk4Wi3l50trkRkUZ5FQ75VS2FM\nSyAcwz+BT9m5zPrqLJaV2LhucVwHKIoiXZ4AD15eyUfXlCa6Th9YVsjF338DiMsX1lVmnlSxBSS2\nPeUyAduIrrHE7CGb/BAJiTgZBjVfuabmdF/GGcHqOXbkgkCWUc38fElkeqoQEBLbgeGoiD80+Zt0\nrkkzbojveHzvxkX8xxVVExbSg8EI+zvc/OeVc5OKLYBMo5rH71qOShH/E9vlCfCjfx8hMMLPSi4T\nxt18myn6hkKyD3d6cQfC7O/w0OEOYNIo+cJ7qlM+Z8M0veG6vUEOd3lZWGBmXp4JxVAHZVeLi+rc\n+O9INCZiN6jI0KvZ2eJiT5ub+m4vIvFsxPONe9eVc++68oT7uyAIfHRNKZ+4aE7SiO+3m5oS/51h\nUPH5v+zj9cPpdyFH4xwM8cQ78c3bb9+wgOpc07TPJZE+UsElMSU+fEEpD15Webov47QTCEf57+vn\nc88k4muJmUWlkPHzO5YCoFHKMGknbtJbdEo+d2VVUkD4dPEGwqz61r+54NuvseCrL3PpI29SV5LB\n3ReWpjx+fr6ZVWUZQLzLForE6B2h0aortc16kREVRWRCfHzYPUL0vaXRwZ92tI1biA4GIxjUCpYW\nW6nKNmLRKeP6xCxDopAaj71tbhp6BsgyqhPO5rGh2W+pXU+OSUNT/2Cie6hSyKjv9s5qt+9M5c7H\nt/LgM7sBGAhG+MnrR9nZ4kwqzAFWlWXwhavmcvm8bByDIfa1u3nwj7vpdE/dCHZbk4PrfvIu3mAE\nrVLOjcsKZ+RrkZgcyYdLYsp4AmEu+f6bCYO98xG7Qc2f711FiZQ9dsrpcgf4wl/3kWVUo5ALPL+7\nA09gbOGwuNDC03evGONFJIoi3mAEty8uZLfqlRzq9PLu0T6UcoGVZRkc7x3kr7vaqS2ysGaOnUur\n46v2/lCUfx3s4rXDPbQ7/fz546snvNbX63v4yJPbuG5RHt+7cRHKUSHmbU4flz7yZlr+bkq5kBBr\ny2UCFq0SmUyg1xsk36Il36oBBLRKOUd7vMhlAtkmDSqFbNw8SblM4MOrS7htRRF5Fi3BSIyGbi8/\nfq2BHc1OBoJjx4oKGSwpsiUE3KNZWGBmMBihpd+HSasgz6JFq5TjCUSSxo2V2QYsOhXHerxohrYS\nZYJs1pzfz2QWFpjp8wbpcAdQygUurMjk8buWjznujfoe7npiW+Lj21cU8c33je8nN8yuFifbmhz0\nDYT45dvHE53VHJOGzV+4dMa+jvORqfhwSQWXxLR4blc7DwzdmZ2vfOGqudyztnzyAyVmlf/b2sKX\nntvP566o4salBQnTTINGkRjLdLj8/PqdRt460ku7yz+hPkklFwiN2EL74c2LeF9twZjjgpFoWptd\nhzo97G93j9tJcPvCRGLxzcdXDnZz//oKyjMNPL+7g2e2t2LRKllTYefjF5Wzs9nFp/5vJ9GYmNDg\nCJzYHZifZ6LF6cMzIsJGr5KjkAtJsTYzQUW2AYNKkSR0N2oU5Jg1NHRPnLGoUciYX2Cm1eFL6rzB\nxIap5zo3Li3gm+9bkBhFj+amX2xKsqNYUWrjmQ2rJjxnLCZy/U/fZe+ofEWIB5l/8WpJJnIySMan\nErPO9bX5HO8b5NF/N5zuSzlt9J8HYd5nA2vm2Llqfg4VWQZEQCWXYdYpGQxGeOzNBrY2OdjR7Exb\nBD5sUTDcNdvR7ExZcKW7Rl+da6I618SeVhfqIX8su16d8E4a/v+7LyxLCg/+2Noy7lhVjGMwhD8c\nRSWXsazEilmrTLJLGHnLrFXJk4otgMFQlDyzBpNGSetJZBGOpqF7gDXlGeRbtDgGQ1RlG9nf4Zq0\n2Ipfs0h9l3dM7h/A4S4vS4osyAWBXa3OU5PTeJqxG9R8/8aFrKvMnFA3ePWC3KSCK1Xs0+5WF0e6\nvTT2DaKUCQQjsZTFFoBNL3kFnkqkgkti2nxmfQXvHu077aaEpxq5TGBVWQafuGjO6b4UCeA7Lx3m\nhb2d/H1vZ+KxAquWOZkG3jjSO8EzU2PTqXD4ThTTFu3MbHBVZBs41jPIqwc7MWuVXFaTM6E4fTAY\n4b7f7yTToOahK4cF/OKEAc6RcfyhYiLMhkK/3xei3RW/nt1t6Vs65Jq1STcsGqUMi1ZFlyeANxCh\n1enHrFUwL8/M3jZ32pmMZys3LiuYtNiC+AgaYG6OkWsX5/G+2vzE58LRGN97uZ7HJrAZ0SrlaJQy\nyjMNvG9JPrcsLxr3WImZRxopSpwUPZ4ABzo8PL+ng9fre3DNULDsmUpdiY2f3L6ETKN0Z3gm8Ndd\nbXzmmT0pPzcyAzBd5AKUZRoSDu+LCy08+/HVpy1XThzKQhzmb7vb+dXbx9nXnhxnpFfJmZdvZneL\nM2kcOkxdiXXK8VSTkTFkrDqVdxCBeFZplknD9hHXMzxGVCsEVAp5UudrNq79TGRtZSa//UjdhMe0\nOny4/WFqcpOzDrcc7+fzz+6jfyDIpdXZzMnS0+rws7zUxmf/uIfiDB2P3bGMqhzJlHmmkUaKEqeM\nLJOGLJOGi+dmcax3gG+9eGhKpolnC1adkv+7ZyVzc6T16TOBd4/28bM3jvHO0b5xj2l3+TFpFWNG\nbBMRFUnKNtzX7uYjv9nGzz+4FI3y1Dtxjyy2wtEYv3rrOA29J0Z2Zq2SuTkGDrR7Joya8QQiSVqv\nmUCtkKEalZU4GSIgE4SkYgsgOGSYGoyIBCOj/r3OE4+7t470Tpq/WmjTMVIJ6PaF+dOOVh79dwPv\nX1rAhrXlXPXo23j8YcIxkbUVmXzt2nlcvzh/WvE/EjOL1OGSmFEi0Rg3/GwjHn8YvVpBIBw9Y+M5\n0mVVWQZfvXaedHd4hvD4O418/YWDaR1bV2qbcuZdnkVDMBxLGnmtrbBj1CoTGZnrKu2TWk3sa3Pz\n5pEezDoVtYWWk/Zr++P2Fv6wpYWG3kHC0RiLCizsb3dTaNONMRtNxfx8E5FojMNdk2us0mFujjGt\n1x1JTa6Rg52pn7Mw38ze9mStkVwmUJKhO+v/hqTLgnwzf/3EahTy9BybBoMRrn707UQe5T8+vYY3\n6nv5xEXlkhnzKULqcEmcNhRyGdcszOObL55wAx9e/25z+uiYQiD0mcCGdWX85xVzT9tISSKZYCTK\nD189MulxiwvNKOUyuqbhU9ThClBg1WKKxoXzVUOFxcicw28QX+X/44ZVKTtfz2xr4fPP7kvIplQK\nGbfVFbGyLIMFBWbyLdopX9eOZhdyuQx/KIJerWBLo2MoKkiNXiWnsW8QxwQj/f1DY8ilxdYZ0V0e\n7vJi0SnTlhHoVfJxiy0Alz+MVadMbF9CPI+y5zzy59rX7uarfz/AN66bn1bBpFcreOmBtSz62r9Y\nXGhhXp6ZeXmSEfOZilRwScw4t64o4hdvHadvIMh/XF7JwgILz+1uZ2ujg0KbdijCAoYHHIIgJLoQ\n8/KMdLmDZ8QGYF2Jjc9fOVe6UzyD+Oe+rpSbbSOZm2Nkd2vqrax0aXP6WVRoRimTsXucTbm9bW6+\n8rcD3LAkn9oia9Iq/+5Wd5JGPRSJ8eTGJp7c2MTaCjuhaAwBgUWFFi6qymRZsZWYCL/f0szm4w70\nagV3X1hKtkmDTa9ia2M/m471oVcpiMTi+Z1ymYwWhy+hU1PKBZaXWGl1+OjyjO+RN5NTjWKbDr0q\nSPs4N1Kldj2ZBjWtTh+BcJTBCTZFZQJJxVb8WqE618yuFifhiYIjzyGe2tzCpy+tIMuYntv/QDBC\nvlXL/esrZvnKJE4WqeCSmHEMagUPXVHFQ3/Zy7HeQT55SQWLCiy8sKeTVoefVsf4XYcDHV5MWgVV\n2Ubqu6c2rkgXtUKWMJrUKuX4w6nfBObnm6Vi6wwjMsGbbqldj92gYnfLzAQgq+VywrHYhLYEz2xv\n5ZntrRjUCtZVZnLn6hJKMnQc6Bi/4POFomwf6jBtOt7Pz988hkWnRCET6Bs4caPx3O52YqKIRatE\npZDRPxBEp4r/yW7q940Zlw6HQWtVcpYVWxOvMZojadg2pMv+Dg9lmanNf206FZ1uP419k48D5+YY\nOd6b+rq2NjnIt2jJMqnZ1eJKMoA9F7l3XTk2XfqbsXaDmn8/uE76W3UWIBVcErPC+5cW8NvNTWw6\n1k/fQBC7Qc1tK4p4cmPTpM/1+CMY1WEEIX6Hq5QLFNt0dLoDE94hDyOXCZTa9fR4AngCEWTC0Fo8\n8NgdS7l8Xk4iOkMll/H8ng6+93I971+Sz65WF283xIXYO5rPP8frMx27YewbUaZRTbFNx6FOT1pv\n7unS5hykw51emsJAMMI/9nXyj32dKGTChIWhJzB2BJdqLCcTQC7IEl2fdRV23mzoQwCWDnWyUuEf\nKugWF1o41uPFO8ItvsCiJd+q5cIKO2srMznY4eGHrx4ZYz6aLitKrWw8Nvb3RCZAaaaOHc2TF78l\nGTqa+wdTblcO0+7y4wmEWVxoob7LS22hmf3tLnzhc8+k652jvdxWV0RRRvrh1FKxdXYgFVwSs4Jc\nJvD4nct5+MVD3PyLTTx990oeurKKv+/pSGtc2O4KMD/fhCjGPXp2NLuw6JSUmzUTCmg3rCvjvovn\nYNIoCUdjRKIirU4f//NqA0aNIpHtNlJ3c31tPtcP+dkEI1HufHwrm4872NPm5kCHW9JEnCHsa3Pz\n2T/GLSAy9CrKswwc6vTQ6w0mZRTOFB3uIAVW7YS+V6mYqNiC+DgwHcJRkQsrMhI3AFkmDStKbYQi\nsTFbfqnY3eoi06imKsc09LsQQ6dWsLPZyZffW8P8fDMLCyzIZAIP/XlvWtc0ml5viEJr3OYhGI4i\nkwk4B0O4/OG0ii1BiOs+/WkUTjW5pkTsz9YmB3aDivkFhikvRUD8Jm5RgQVfKIJBo+RQp2fSUfWp\nYn+7h/7B4JQKLomzA2lLUWJWEUWRDb/bQYfbz9N3r2Rro4P7nt5JKDq9O9N8i5Yeb2DMSGFlmY17\n15VzUVXWSV/z5uP93PLYZgAurLDzu4+uOOlzSkwfURT5yetHeeSVIwldVJZRnSRiny1sQ15TM8mK\nUlvaeYHrq7PYeKwfrVJObZFlRixXFheauawmm/sujmt+ojGRWx7bNO04nUUFZpy+8JQ9z4AJR5+j\nmZdnRC7IxmwyVmYbMGuV7Gh2kqrWHSkhAKjONdI/EEr6+VlaZKHJMUggFEuriz6bWHRKtn1x/Zjc\nTYkzE2lLUeKMYdOxfg53eWlx+HhqczP3XTyHZzas5AevHEncuU+FdpefpUUWdra6Em++d68p5YtX\nV89YW31kt2R3q4tAOHpaPJjOd9y+MF/46z52tTjpGOGNJRfi+XCnAm+K8d+p5LXDPXzlmnlolDLm\n5Zk52OFJ+l5Mh92tbo71DHJ9bQH5Fi1ymcAPblrMd1+u57VD3VMuOPa0uZmXl74/3dJiKzFRjHfq\nprAteaAjrumck6XHqFayt91NNCYmNGkGtYIimxadSoFBLccbjDAYjHKsd4A5mXqyTRpC0Rg7W1xE\nR/387GhxsaTIQjgq0tDtJXCa8oTWzLHzqzuXScXWOcpJ/6sKglAoCMLrgiAcEgThgCAI9w89/lVB\nENoFQdg99L+rTv5yJc42iu16KrPjfkXf/1c9rx/uobbIypeursGkmV69v6PFRU3uiT/wd64umVEN\nw/rq7MTavjcQ4cV98cgYly9Eu8uX0H9JzC5fe+EA/9jXSYc7QK5ZTUWWgQKrlmUlNipzjOhVs1sE\nG1Ty0y7OjonwdkMvNy8vYn6+mR/fVot8BixKvMEIV/zwLQ52xK0iCm06fnxrbdxioNCSOC7LqObW\nukKWFFnGOxUAjb0DLC6cfPQ+bEmxq8XFgQ7PpMen4mjPILtaXZi1SmpyTSwvsaJXyRkIRjjY6WV7\nsxNfOIYoxqNw1AoZne4Au1qcHOzwjCm2FhaYWV5i5XjfIPva3SftlzZd9Co53/nAQunm7hxmJsro\nCPBZURSrgZXAfYIgDMeP/1AUxcVD/3txBl5L4iwj36LlV3cu49UH17K2IpOP/mYbDd1eqnKM/POB\nteNuOE1GJCqSN5RDF5zhu1GtSs5Xr52X+HhYw/O33R10uvz8YWvLjL6eRDLBSJRvvXiIZ3e2A6BT\nyvD4IzT0DNDm9LOl0cHBTg9alZyFs/jmmJFCoH86ePVQT2LrcWmxjU9cVD4j5x0IRrjmf98hEI4m\nOoaFNh3PfWI1/7z/Qn5y2xLe/s+L2bC2nB/ctHjc8xRatczPN9PYN/lI8XCnh4JpeJClwjEY4mCn\nh21NTmQygYpsA8tLrNSV2vAFI4SjIsFIjIFg3I7CFx47LqwrtbG3zc22JudpjyX77OVV0/Jnkzh7\nOOmCSxTFTlEUdw79txc4BORP/CyJ8405WUae/PByqnJM/H6oYMm3aKmeZlROfbeXDneAOZl6mvtn\n3oX6sprsxBtbB2gDRgAAIABJREFUiT1eFN65uoRlJRm8b0nBjL+exAn+sLWVX4wI4F1WaiPPoqUq\n20h1jpF5eUa8/jB9AyH2trupLbJgnYXYEpF48X0m8OXn9ieKonvWlk1phDcRoijS3D/IxY+8QXhI\nVykIAtW5Jq5emMuhTi+/2dhEiV3Pf71nLjcsyacm15TUZTNplWxtcuL2JxcsI33JhhkMRcmzznxR\n4Q1EaOgeYFuTk62NDjyBCMd7BybMPFXIoGvUeDbLqKZjGma5J8uiQgsfWlV8yl9X4tQyoxouQRBK\ngFpgC3AB8ElBED4EbCfeBTv3E0glxkUQBOwGFb/Z2MQty4uoyjHyk9uXcO2BLj7+1I6UgtfJcPrC\nXFiROfMXC9y/voJ5eWbW18SF+KFIjP99rYEHL6+aldeTiDNS11Ns0xIIRRNh0qmIiSLVuaYpa4Im\no8XhnzFX9pNlZ4uL329t4YMrizFqlHxmfSV3//bkF4xiInzpuQN4/WFko8byrx7s5lP/t4vLqrPi\nyy/rTnTWgpEoTX0+Grq9RGIiWUY1Bo0CmSCgUcrIMmkwqhV8/YWDPPFuU9J5tzY6KLPrOT6DFh6j\nCYSj5Jo1HO0dpDxTj0GtQBAEvIFwYst5UYGFHaM822KiSIdr9pcxRmLVKfnp7UtQyGX0DQT5/F/2\n8sObF2PUSNmH5xozpswTBMEA/AV4QBRFD/AzoBxYDHQCj4zzvHsEQdguCML23t7embociTOUH99a\ny83LC/nRq0cSPkJXzMvh0Vtr0U2jm7C02JryTnomUCvkXL0wF7Uifl0iIvva3fhCZ8b6+LnIk+82\n8s8hzVxVtoGBYHRSfZ6AwMZj/WxvdjIvz0T2BF2NqdLcP0hNronq3NOfo/n1vx9kZ0u8+Ftbmcl7\nF+bOyHm3NTnQqhRsa+zn1YPdvH64h99tamLDUzuIiTH+eaCLX7/TmORQr1bIqcox8t5FeVxfm8/q\nOXYWFsTzIudkGTFplAiCwJevrqHUrkcpF6grtVFXYqWuxJrops0WOpU8YfNwrHeQPW1uvIEwXe4A\nSpmAUiaMkSJYdUo8/jBa5akTrM/NMfLU3SvIt2iJxkQ++uQ26ru9CfsaiXOLGbGFEARBCbwAvCyK\n4g9SfL4EeEEUxfkTnUeyhTh/eGZbC4+9dZy/f2pNwj37YIeHmx/bNCU/nFvrivjWDQtm6zLH0OHy\nk2lUS1tEs8DbDb3c8eutAFRlGznaO4BRo6AiyzChZUFdiY2tTSdsFrRKOQvyzUmPnSwmjZxim55D\nXZ4k5/kMvWrKMVRTsYUYzbduWMCtdUWJj3+3qYkv/+3AtM41mnl5pjFC9pHXWpyhY0mRlc9eXkmB\nNX2PKMdgiOf3tPPNfxw6pUsIRTYtLUOpFka1HLtRTTASQ6uU0+7yExjl/TVc19eVTP7vc7Ju9yq5\njHsvKueTF89J3DC+uK+TTzy9kwfWV/DA+sppn1vi1HJKbSGE+O3nr4FDI4stQRByRVHsHPrwfcD+\nk30tiXOHm5cXEY6KSYVLTZ6Jx+5Yxgd/vWXMJtF4zKR2xxsI84etrRzrHaDbE6DZ4UOrlLOmws6G\nteXY9CryJFHrrPHXIZE8xL2IDGoFA4HwpP5Qoxtg/nCUrU0OKrIMBCLRCaOk0mFpcdzVfV+HB61S\nzuJCE60OHxXZBjYe66fIpsNuULGrxcVslxMv7O3gynk5WPVxQf9tK4p5YmMTxycwA04XbyCSMFZ1\nDIbocPuT9EzN/T6a+30c6fby9N0rsKRp4GrTq7hrdSnLim3c9cTWpPii2STXHC+4tEo5l1Zns6fN\nRaFVRyQaS2mePNx7ONDhYXGhhd2tJ8aNepWcQpsOhVxAp5JT3zVAmV1PJBZjX3t625ZymcCSIgvF\nGXruu3gOpfbkhSGLTolMgPdLGtFzlpnoW14A3AHsEwRh99BjXwBuFQRhMXHtaROwYQZe66xkd6uL\nxYUTr1Wfj3xw5ViR6KryDG5cWsAftrWmdY50C7PJcPlC/Mef9rCwwMIXr67G5Qvz9JYW2pw+nni3\niT8OXc/VC3P50tU10ur2DHOww8MrB7sBMKjltDn9cXf0NCZPoXEOaugZQCkXWFFqY3uTg6k2JObm\nGAlHY0kaLn/4RA5iUYaOmEgiQDrXrKHAqmVXS+qw62HkMqY9onQMhrj/mV188/oFFNp0yGUC1Tmm\nGSm4RgZhD5Nj0owpWA90ePjj9lbuWTu1bcnyTAN6teKUFVzhqMjcHCN5Fi0/uqWWVw528/W/H5i0\nUBwIRlCMWApYmG9Gq5KP6XrtanWxqGDyLdnqXBPfuG4eGqV8QsuJVWUZ/OCmxRTaJIf5cxXJaf4U\n8np9D4vyzaiUcmlGPwGtDh8Xfvf1tI41qhW8/Z8Xp3W3PRiM8O7RPvZ3eEAUCcdE/vPKuYnPi6KY\nUi/k9oXZ0tjPS/u7eHZXO1XZRr75vvnMzzdLhdcM8fCLhzjQ7kYuE5AJAk5f/E35cJeHYGTiv1EV\nWYYJRfUQz+tTyAWO9kxemNj0KgqtWva0jR9ADeO7pNsNKsrseva0uVJe++gR6HS47+JyPndF/Gf3\nv184yK/eaTyp841HqvHnokILf9ywMqFtnAqvHOzmvt/vTBTJpXb9jOZf6lVyHr5hAWV2A3ajilzz\niY50LCZy0y82pb1YUZFlwKJTEouJQ95/Rg52esccV2jTcs+F5dTkGdnW5OR7L9ezujyDdZWZrKmw\nM3eam9gSZweS0/wZysVVWURjIgfa3WhU8oQhqEQyU4kI8QYj/PtQD+9fOnEbvn8gyEXfewNv8IQ+\nrHaUmeN44myzTsnl83JYUZpBpknNvw/18IGfb6LMrufDa0q5ZmFu2uMVidQsLrTw+DuNk+YQpmK4\nOJuIpn4fMiHuuzRR9t6SIgtHewYmLbYgvk1Zk2viYGfySKlvIETfQAizVsniQiMH2t0MzHBczMj7\n5A3ryvnrrvYpa8nSYbRtQr5Fy28/XDetYgvidivPfnw1WxodXDI3i2gsxvofvDUTlwpAtknDdYtT\nuxLJZHHhfroFl0ohsLvVldBq+UJRVpTa8Iej7G0b9kWz8uittQn/rJIMPd97uZ5vXDc/YScjITGM\npPw9xchlAgsLLTT2DfLrWborPdvpcE1Nc/PV5w9wtGfsnedIjvcNJhVbcpnAT29fMqXXMeuUfPay\nKi6vyea9C3MpytDx9pFe/nWgG1EUeetIL4e7POxrc7Gj2XHK4mfOBa5akMu6yunZezgGQ6TjvR4T\n45YEdaVWMvTJBbJZq2BxoYWdLS48U1jaME6QluD2h+PdISE+1sw0qKgrtRKMnHzxNTDiZznTqOZv\nn7yAVWUZJ33eYdQKGUuLrTSPuPlZXZ7Bu5+/BPNJ6ibn55v56JpSSu16Mo2ak73UBJfXZPP4Xcsn\nPOaB9ZVctSAHpXz8nxirTsmyEivOwXDS73BTv48tjQ48Q35jFVkGHr9reaLYisVE9rS5uK2uaEwR\nLiEBUofrtNHp8rPpWD+3LC9EL40Xk/jA0gKO9gzwq3ca09JoeYMRvv/yEX72wSUpu1ShSIynNzcn\nPaaQCdj0U+9KqRQyHhoxhhwmGhPp8gT40ONbqS2ysKvFRY5Jw+ffM5drF+Uhm4E4lnOd6Y5nY+LU\nwqy3Njrj3kwaORatCqVcxpFub5JIOl3S2agdCEbY0ujAblCxtXFmPL22HE/u0hVYdTx+13Iu/O7r\n9A1Mz0dKJReoyTMjCHCowzPGf2yi4nK6zMSvRb5Fy+N3LacqZ/KJgUoh46e3L+X2X23m3aP9Yz4/\nPO7dPrSosTDfnBSWbVCfsJv41KUVmLUnis9HX2vgR682AHDJ3KyT+pokzk2kDtdp4o5VJfzyQ0ul\nYisFgiDwX1dV8+qD6yjOSE9A+tKBLj70+FZ+s7GJaExkf7ub53a18+Xn9nPJI2/w3O6OxLH5Fi3X\n1+ZPeSwiiiKvHuxm8/H+pDzFN4/08vutLdgNKvItWly+MCaNAn84ys/eOMZtv9qMKIq0Onw8v6eD\nfWmMq85HphvzBEy563Ksd5Dmfj8ymcD2ZueUulojaXWmP/4eT9w/Heq7vbx5JNm3UKuSc9Oy9Dbc\ndEoZdSU2lpVYqck1km1Sk2vRsrvVxa4W15jw5v+5ZTH/c0vtjF3/MEaNkoKTcJ7PNKp5+u4VaRVb\nI/niVTVjulx5Fg3NjmQ9WWBUN3IgGCUQjrKs2MorB7uTvMl0KjkqhYwPX1DCxdMsuHa3utjT6sJ9\nmmOGJGYH6d3+NDETAbTnOqV2PS8/sJZNx/vZ1ujgsbeOT6jxebuhj7cb+njkX/Vj3kAXF1qQCXHD\nxnaXn4eumJ5bfKcnwGtburmoKos7V5cAcd2PVafEqFHy1N0rePydRh68rBK1UoZOpSASjSEIAr5Q\nFJcvRIdCxoI0tpvON05mAcGgOvV/ymx6FY4p6KZmesJ81xNbefj6+dy64sS2730Xz+G1wz0c7hp/\nxG7TqUAQUwr3FxWYk/Rrq8oyWFmWwbWL8mY0IH4ky4qtibzSqVCZbeDXdy6f1lZfTZ6J9dXZ/HN/\nV+KxQDiGf5TWTqWQsbTYgkD89/dY7wDFGTp2tzrpGwjy5x1t3LisEIB71pZz5+qSaevbRFHkk7/f\nSZvTzx0ri/nG9RPaVkqchUgFl8QZjUYp5+KqLC6uyuIDSwv44asNvLS/c0LTwdHFVo5Zw+FOD4FI\njAX5Zro9AazTELkLgsAdK4u5Y5SdhVGjZGHBCQH+6D+UiiGvsaoc45TvxM8nGron1uFNxOkwotWr\n5DimsGA3UxYmEF/48AYiPPziYa5akJfo8OnVCp7ZsIpV3/o35ZkGwtEYoUgMk1aJSi6LfxyNjTE4\nHWY43LnQpsVuUPPITYtm3XtucaElqQOdDh+5oJSHrqw6qSK9aFSh5vSFWFwYlwMMsz+Fx1bfQIhI\nLB4D9PCLh1hWYkt4ak232AJw+cKJwnPjsb5pn0fizEUquCTOGsoyDfz41lp6vTVsbXTw7M42/n24\nJ+kYlUI2ZnTT5Q6wpCguiFbKBVaXZ0iaqjOQdpefuhIbUVFkIBChfgoFWGwalqO5Zg3HJrGTmPD5\nFi2tU+jMRGfQgqfXE6RtaLnk+b0dSTcBZq2Sh66o4pFXjkwptQHgospMHn7fApYUWRI3CrPNoil6\nFF5YYef+SytO2pJluMOnUsj43OVViIg8/OJhlpdYJzTbdfpCGNVyWhx+lhRZ+Nhvt/OjmxdP6LGV\nDiO7fBVZ0o3ZuYhUcEmcdWQa1Vy9MJerF+bS5vTxen0vu1tcXDk/h0vnZtHpCfDzN47xu83NlGXq\n8fjDNA15/XR5AqyrtPOtFw+hkAuIIuwb8n9aUmRlw7qyk7pLlZgerQ4fO1tcSV2g2kILu0YJ2WVC\nvKM4PN0SGHKan2Ito5QLFFi1k7rYp0ImxGNwJrKXGE2WUU2OWZOwEzgZMvSqRLEF8Xif98zPwW44\nkSEplwlTLrZqck186b01J319U2VenpmyTP2k5q13rCzmo2tKZ8xu4d515exsdnJLXRGldj093gAP\nv3h4TIj3aMJRkZIMLf6+AXa2uKgrsfG+n77LMxtWsaTIOu3r+cEr9UB8xProrTOvl5M4/UjGpxLn\nLL96+zivHOxOMm4ss+tx+cNjtDdKmUAkJrK20s7PP7gU7WnQBJ2vuP1hPv7UDjYeS7015vaHcPnC\n5Fg09HqDdLgCKc6SmvJMPRkGNf5QFKVcwDEYP5c7EGa6f/rm5Rk50DG18efcHOOEuqqpMGy4atEp\ncfvCiMQd4b9/4yLWVNgBeGpzM196bvI0NatOyUVVWVxek836muzTlhG6o9nJB36+ccJ/k9c+u46y\nTMOsXYMoilz6yJt0ugP4w5Nbdxg1CryBCIU2La0OP/PzTbzwqQun/fo/+Fc9j7529JTnw0qcHJLx\nqYQEcPeFZWQZNexvdzMYiqJWxLsaPZ7kN2ylXKAiy0hT/yAbj/XPmjhYIjWhSIz+ceJetjY5qMg0\n0O0N0p2m7QPEx0Tz80zsbHFxrHdwRh3NdVMsxu0G1YwVWxC3NKkrsRKMxOhXh4jGRDINan74Sj3b\nmvr5zGVVvGd+zqQF10cuKOW/rpp7RgSxLy22sr46OxHvlIpOd2BWCy5BEMi3ajFplSktQiqzDQmD\nY7VcxrYmB8tKrOhVClodfg50eHD7wtP2KfvkJRX0DYZ460gvf9vdjlohZ3111ikb7UrMPlLBJXFO\nc+3iPC6tzqLD5ef1+h6e3dmOXC5jZZmZzccdCWfxYaPCy2qypbieU0ymUc0D6yt4YmNT3EJdEIhE\nY+wcEi9b9Eronfgcw9j0SgxqJZHYiecDNPYNphxRrii14Q1E0Knk9HoDNKcIulbKBWQCBCMic7L0\nHOn2olXK0+qCAORZtDOaHxgTYeuoUWjnkCO8XCZDKW/gk5dUJPzgID52zdCrKbPr+fjF5SwrtmLU\nzFzw+0ywotQ2YcHV3O/jgjmzew1XL8jlq88fQCkXMGtVgEjfQIgyu57G3kHCsROaP61SxvYmJ9nG\n+ChXFGFbk4P1NdnTem2ZANU5RvItWnY2O/n73k5+9Kqalx5YOxNfmsQZgFRwSZzz6NUKKrKNVGQb\nuWdtOY19g8RiIt944SBvjPIy0qmkYut0IAjxzMp2l59gJJpk/7G71YVNp8SRhjeRTafi6DhaoL7B\nIBVZBpodPkKRGPkWbdK4WaeSU51rpMMVoCrbSDQWo2cgSLcnSDQmUp1rpL7Ly5IiKyIiO5rTM0rV\nzKAmUCETODqB0H9rkwNBgEhUpCbXxKFOD3NzTHzjuvlnvBXJyE3fVCgmcIefKW5eXsj3Xq5HKZfx\nlWtqONY7wE9eP4ZZp+R4X/K80x8e66s22rdrKijkMrY3O1mQb+Zr183ns1dU8eXn9nO4yyPlMZ4j\nSL1KifOOUrue8iwD96+vwDqq/V9onbqnz0gaur3c9/udRGNxo1OJ9FhcaEFExBeKEI6KaBUyVPK4\nOL0808CcbAN2g4p5eSbqSmwpz1FbaBm32AJodfhp6BlgVVkGiwstYww3faEohzq9uP1htjY52NHi\notXhJxSJEYmJHOr0EhPjGYoKmZC2xce+Dve0HNUNajlLiiwJg065TGB+nhnHJNmRoUiM325q4pK5\nWRz6+pU8d98FExZbbn8YVxp5lLPNsmIrC8e5ToNawXsX5s76NQiCQCAcpShDR75VyycvqWDfVy8f\nYwUzjEWnpDjjhIjfdpKZqg+/bwGX1+QgiiImjZL/uaWWQDjKBd9+bUyupcTZh1RwSZy31BZZ+dWd\ny5L+SE6nCzAQjNDm9PGT14+y4akdLC22EonF+MrzB/jpG0c5OI7nkcQJcsxavnBVNfPyzCzIN1GR\nbSQUhQMdHg53edna6KRvIMSBDg9bmxzU5Cbf8asUMva2Td5xqiuxsaPJwe5W17RF83EEjGmmRPhD\nUebnTf3nyqhRsqfNnfCcW1JkYXcaX2OHy49BoyDXrEmpRxRFke1NDl7Y28H/+9t+1v/gTTalWFg4\n1chkAt+8fgGKFNWp3aCasnZuulxanY1Vp2TBkM2DQi7jhiUFvGd+TtJx8/NM+EPRhL3E3JPw2RtO\nrtCrFRRl6PjK8wf4+ZvH4q8vE8g1a3i9vmeiU0icBUgjRYnzmqXFNm5eXshLB7qw6pS0TsHJMhKN\n8dCf9/JafQ8uXxibToVBo6Cl38eyb7yKNxjhtcM9/M+rDTx19wpyTBr6B0NUZBnQqxX0DwTZ2+bG\nF4qSb9XiHAwiApfMnZ4G5GznoqosVpfb+fJz+3hme9uExxrUJ8Z0ghC3NBgpdF5eYmUwGEVEJBIV\nyTZrkAvw5pEThpLiNLy7AOpKbWxpdFBXmrrTNhK5TGBpkZVYbOqxPvkWLZ3uAIU2LbEYabuxqxQy\nijP03P2b7fz1vgvQKORsaeyn1elnd6uL1w51MxiKsiDfzL6hnEC7UT3JWU8NCwrMXDI3i3+N0nKd\nykUWbyBMbZF1zGt+4apqmvp9uH0hCmw6guEowUgMlULGR9eU8qlL5ky7KPz2Pw/z1WvnJT6OmzMr\n+ekbR1lebGVpiZVrF+Wd1NclcfqRCi6J854cs4ZQJC6yPtjpYUG+hRVlGZM+73CXl2d3tSc+rsg2\ncKjTw7WL8/jzjhMFQzAS48afb0p8XJ6p54p5ObzV0Jtwsv7eBxbS1DfIBUNr/ecrKoWM+9dXsrPF\nRUPPAEqZQHWeCbkAu1pPeFh5gxGWFllAEOjxBAiEIywsMHO8ZwC9WoHLF6ZhhNZJBIKRKFadEudJ\n5NQJAhzp9jI3x0gsJiITJo7sWVZsTejEhu0clpdYcQyG6B+yqBhGJsCSYitd7gA6lZydLXFh/GAw\nQmmGnh0t6WnGWp1+TFolHe4Aq771b0SYsJuXbVKflH/UTHPDkvykgivTqOanty+Jf79PgWFxMBJL\nWdwU2nT88/4LOdY7wF1PbKXV4cduUPN/H1tBRfb0jUpfPtDFuqrMpMcevaWWmx/bjFGjYMPacpQK\nuaQvPQeQRooS5z13ri7hxU9fyHc/sBCTRskPXjnCpqFojVAkxov7Orn1sc1856XDHO2Jr/cPBCM8\n/m5j0nkGghEC4RgahZzYBO9wx3oH+ekbx5JiQz7357387M1j1M+gfcDZSp5Fy7OfWE1lloFFhRb2\ntrnZ1eqmMvuEJUD/QIgdLS52NDtpdfo53DXAvnY3giDQ7Q1iGaXNGwxGaHX4Ew7ec3MMKVf/J6O2\n0ILLF0YmxEOvUxVbMiG+2bisxMqO5rHmqMd7BznWO4hRo6Aqx8iiAjMrSm3kWrRsb3LS4fJzpHsg\ncW7HYJj+KWQ2QnwUW1diRS4TUhZbAvFODsAFc+xnVLbrRVVZScXFRZWZVGUbufWXm2ddF+n2h9na\n6OBgp4fgOAL4MrueWCx+4/SHe1aeVLH1wt4OAuEoF1clh11HRRGNUsbXrp2HXCawuNDCp/5vF/0D\n6VujSJx5SAWXhARg1im5aVkhH11TSkwUufs32/nAzzZy6Q/e4Jv/OMTXrptHNCZy/U828su3j3Pb\nLzfz7M72pHN0uPwo5QJXPfo2vtDUt5ViIvxuUzMvH+giEp36COpcwqhR8tB75rK9+YT9gVWrIscU\nH30NBiPkmpPHYKIY73ylos8bxKhREB4a7QmCMGEeZyoMagVuf7xIaejxsqx4bFeozK4nJsZzE7c3\nORmZMuXxh1gzx54onlodfuq7vOxpc7Ol0UH70MhwdBGnUsgIRqb+87C1yYlaIWNZsZW5o7RFy0tt\nNPXHi5cblxZO+dyziUYp58HLKgF48LJKvvuBhRzq8rCl0cGDf9zNbJp172x2EomJfOLpnfxtnHxH\nQRD4wlXVPP/JNczJmr4vWLvLT6FVx3WL88d8TqdS8NgdS3H6QrQ6fKz5zmv8Y19n0latxNmHVHBJ\nSIxgw7pyHr21lmc/cQEapZxeb5DffKSOymwj9100h2hM5J/7OlNGtDh94ZM2ZjzeN8iv3j7O1Y++\nPeH6//nAkiIr+hGdjlA0htMXxqRVUJ1rotM9/t3+6HiWcEwk26RJPB5IsdI/GXNzjBwb2oIMR+Nb\nqIIARrUCnUrO0mIrne7URRPAkZ5BthzvT1mojYdOJSfToE74bE2VgWCU7c1ODnd5yTGpWV5iZV1l\nZiKWqCbXxMqyybVop5q7Lyzj13cu4561ZQiCkDCt3dbk5J2jsxfsXGDV8uittchlAn/fM36g9tUL\nc9GnuTQxHvkW7bg5kq8f7uHi77/JJ3+/iwu/+zptTj+iGB9nS5y9SAWXhMQocs1aqnKMPHX3Cr48\nIlvOrFPy6UvnJBlqjkajlJFv1TIny4BRM/U/yCqFjOZ+H/XdA9z9m23Tuv5zBZtexZMfqaPAqmVZ\niZVdrS6CkRglGXom01Af6x1brHa7Aww/LTqR8CrpGpRoVXH9zJ5RG4I2vZI5mXoisRihSJQdzc6U\n3kwjCcdEGnq8YzpO4+ELRenxBtI+fiK6PEFC0RhvN5zwnvvUJXPO2GSFS6tPmBDnWU5YeGw5Pntd\nnopsI9cuyuOhK6rY0ezkcNfsbBiLokhsgp/Bl/Z38fANC/jXZ9ZSlT08BjeOm8ggcXYgFVwSEhNw\n+4ripLHBhrXllGeOH567rclJu9PP0Z4BlDIZmUPbX6lW3VNRk2OiZyjCpqnfx22/3Hxe6zaWl9j4\n92fXcemIzc29be4JNXJ5Fk1KZ/c5WQZ8oQiCAGqFDItOiUY5/p/ABflmojERi1aBQa1IGkHKZQIi\n0NAziD8cYyoTP7c/wrGegbTHUeGoSK83eFLjK4jbGBzs8CS6b/PzTVwxL2fiJ50hVGUbsRvUQ4sF\nExukzgR3rCrm8ppsPvn0Lu57eie+cUbV0+U7L9Vz1aNv4x9HevDt9y/gink5GNSKhJbshzcvHmNN\nIXF2IYVXS0hMkVsf28ym4+n5FmmVMiJRERGR6twTa/ipj5WjUcrGbNGtKLUxP9+MSiHjUKeHUrue\ndZWZrCzLOK9iiF7a38WX/7afXm8QpTwuJN42KuIG4t9zlUKe0FsB5Jk13L6yiNXldmryTKiH3N87\n3X5u/+UWjo/KWbQbVLh9YcLjdCGqc40c6jy58c6cLD3hqEhzf3pC8DlZhmmPmauyjTQ7BpNGqX++\ndxXLxjGRPRM52uPFrFUlbmJmm99vaeHHrzVQYNXiCUT47UfqyDZpTvq8z2xr4b+e3UdMhA+uLOIj\nF5ROKEVo7Bvkf187yi11hSw/i/69zhek8GoJiVlkKvEdwyOmLKOaAx3jF1vxY6PMydJTkWVIZOUp\nZHEx+K/fObER2eHy88S7TRg1Cr7z/oVctWD2HbjPBK6cn0NtkYV7frudPW3uhIuWWavkwgo7ZXY9\nGpWcA0Pbny/u76Qm18QD6yu5dG5WSkuBXLOW/3dNDXc9kTy+Lc80TChQnmgkWWTT4vSF8QaSuyIy\nId41C0adSecTAAAgAElEQVRiGNQKZDIBuSDg8YfTsqqw6VXMyzNyoCO9Qs+oUVBo1aJWymnoHkgq\ntj64suisKrYA5mSd/Fh1NG8e6eXBZ3aTZ9FSmW3kG9fPS3hp2Q0qOt2BhH7ugT/s5vcfWzHtEawn\nEOa7/zzMU1taEo89tbmFvW1u/vfWJRRlpE65KLXreeSmRdN6TYkzC6ngkpCYIoZpiGV1KvkYIbV6\nxPaZXiWnMseILxih1xsk06im1xukJs+ccLIe/freQIRPPL2T775/Ie9fWnBGrfbPFtkmDX/5+Gpe\nOtDF4U4vd6ws5op5OSk7ff5QFG0a3kUXVWXx6UvmJMxMFxXEQ64nKrg6XAEKrVpaR5mRLsg3sb/D\ng0ouo67UhscfptXhozRTT5c7wJ4UyxZzc4zMyTIgEwR8oWjKLuiqMhubjjtQyATqSm2EI9EkXzKA\nDL2K/sEQNp2SApuOLneAgym6cAvyzXzp6poxj5+PrK2wc93ifB5/t5F97W76B4P84o6lqBVyLqvJ\nxm5Q0zc00t90vB9fKDotsbw/FOWLf91Pp9tPvkVLplFFKCISisb4yjXzxi22JM4tpIJLQmKK5Fu0\nkx80iqZ+HxVZhiQzzsWFFtqcfiw6JQc6POwaIcYvtevo9caLqtHmmvs7PFi1Spz+MEq5wI9fa8Ci\nU3L5WaLHOVkUchnvXZjHexdOfFw6xdYwD15elfTxmgo7vlCEJ95tSnn8QDBCRZYhUXAtLbYQCMdQ\nK+SIYtw8c3gTUBBI8lwbzeER3mtKucDKUhsx4kkGcpnAYDCKZ6hbFomJifMuGoqh6h0IUmDRsq3Z\nSVW2kYFgJOUWLUCOScMvP7TsvBpFT4QgCHz5vdVoVTJ+8vox3qjv5UO/3srPP7gUq17FrXWF/Pi1\no0Bct6dWTF32HIuJfO7Pe3hhbycQ93Lb1epCr5LzyoPrkhYCJM5tpIJLQmIK7Gpx8qcdE8fOpEKt\nEBJ5acNEYyLtLj/truQuSaZBTWNfXNfT2DfIwnwze0d0PTQKGc4hfVJtoZWtTQ5e2Nt53hRcpwKN\nUs4Xr6rmT9vbGBhHML2r1cWKUhsiJIqgqhQmmFORyYajIp5AOGVnKtOgpnfEAsXIblmHKz720qrk\n1I9jHWDSKHj8ruXkmE9eh3QuIQgCn7tiLkq5jB+92sCWRgfv/fE7/OneVXxmfSXP7myn3eUnGhNp\ncfjStn5p6PbyVkMf7zT08np9fDO0LFPPoc548Z1pVI8x6JU4t5n1LUVBEK4UBKFeEISjgiB8frZf\nT0JitnhqczPv++nGtC0FRhKMiOSOupOt7/KmzOPrGwiSNUIYvLfdTU2uieUlVmpyTSwqsFBXahvy\nhYp3zF473DOuM7bE9HD4QszLM1FXYmNVuY3lJVYuKM+grsTKkiILVp2Sbk8g4VhfatePW+xMBY8/\ngjZFB6psgu3YYY6nsMMAqMgy8LdPrqEmz5Ty8xJw77pyrlscj/Rpd/n58BPb2N3m4oc3LeaCOfGo\nrwf/uGdC49VoNJb4/F1PbOP/s3ff4XFeVeLHv3d61UijXi25x73b6b0Xk0JI6BuSEFhgaT9YFhZY\nYGGXumwgCWWzIRCSLBtCsgkh3emJe6+y1XvXaHp5f39IliV7RnVG9Xyex4+tmXfeuX49njlz77nn\nfPeZg/3BFvSmDgT60ggq23zc9+rxMY31ZJcAMb2kdIZLKaUHfglcDtQC25RST2uadjCVzytEssVi\nGn/b3zCqx5gMOpbmp6FU71KQgkHLg4UZ1v6ZkYE0oDjDSkzTKMuyU9vho6HLTySmnZGIfVJPMMJt\nv36XJz997ij/ZiKRLUda+vO4Ti4Hl7htxDSNtp4ggUgMh8VAKHJqY0RF68ibnyeSm2ahtvPMRtVj\n2U+uFNx5XhlfumKRLCMOw2LU8/PbVmM16nlsWw1HmjzcdN/b6HW9y47nzMvi5y8d40Srl3lxZrk0\nTeOLf9pDQ2cApXqDthynmdw0MydavBSkW89YWn7nRBvt3hBuuwmAcDSGUT94HiQcjfH28TYuXNjb\nbzESjfHx/97GFy5byHmzvPfqdJPqJcUNQLmmaScAlFKPAZsBCbjEtLGjqp3v/N9Bypt72FDmZltF\n+4g+/DRNw6BX/aUL9Ko3byum9c5iHR6ib+LJRsXx6kklkmEzjfhYMQJab0K7Aqr7evid/H1ZQW9y\nfE37qcBoqNpgI3WywfXpStw29tScefvpBu6gy3L0Nn2ON4sqErvrgrk8tq2m/+doTOPbTx/kkTs3\ncuR7VyXcpdjlD/PU7noW5TpJtxlZX5rB4YZu9tX1LgMfi1PSw2kx8MKBRj6wvpjjLV7+7qGtZNhM\nLC1II9thJtLXIuofr1nc/5h2X4gdVR08sbNWAq5pJtUBVyFQM+DnWmBjip9TiKT6n221/fkyWyva\nmZdtx24yYDLoONzQRU8oftXLZQWuQXWiohpDVqkfD52Cz1wyf8Q788Tw3j3RFjcotpv0HKg/Mwk+\nMoal5pEyGRTByMjPX+y28vjdZ0tC9hjMy3Zw0aJstgxYCgS446Ft/Oj9K7lhZUHcx52c6RzpsrLL\nauzfEQm9KQvf3byMLIcZi1GHPxSjvMXDjasLBzXIznFauGhRNp84r2wsfz0xiVIdcMX7KjDoXUMp\ndTdwN0BJSUmKhyPE6LT1BPnTjppBt53spwewKM+Jw6Tvn5Ea6HCTh3nZ9kHHp0pMg5vuexvo3fZ/\n7+2rqW73saHMLUtJY9DuDfHiwaa493lDUdaVZrB9QDBt1Ctq289cBhytkzNoZ4xnhDOdSvWWh3j4\njo0SbI3DAx9eyx0PbePt46cKHAcjMTKGSHLPdpopdlsHzXoOxWLU9Qdb5c09dPvDXLQoB4AWT5D6\nzm6uXpYf9//vNcvzB+X0RaIxKtu8/N+eBrr8Yc6el8lFi7L7zy+mhlQHXLXAwFb0RcCgjqCapv0a\n+DX0VppP8XiEGJUfv3AkbiNi6C1K2u4NUdEajrsU5A9FyXSYJyTgGqiyzcuN971Fhy+MzaTnyqV5\n3LSmkHPnZcUt/inO1OkL4Q0N0c5lwGvCZTWS5TCN+9/ZadZTlGFlcZ6zP/AKR2MEIzGK0q2YDAEa\nu4du87Qo18ntG0ooyxo+wV4kZjHq+f6Ny7nsp68Nmrn87KO7+JcblrJ5VeEZj1FK8S83LOWzf9yF\nN0HLnpOK3VZ++cE1/T//bX8Df95VR5rVyNvHW2nqDvLgx9edkc910vvXFg1a2nxqdz0/eO5wf82w\nh96u5Oe3rYo7TjF5Ur1LcRuwQClVppQyAbcBT6f4OYVIGoNOF7dRskEHywpdtHiChCIx9tV19e8s\ndJr16PseM1SD2lTxBCL9lct9oShP7qrjI/+1lV+8Wj7hY5mu5mY7+PCmOWfcXpzRO2s0MG4tzbQl\nJag+K9/FzupOOn1hKtt8VLb5qOsM0NoTYndtF23eEBvL3DgSLBnbTXpuW1/cv9NOjE9plv2M10Cn\nL8yDb1Yk/H99yeJcPn5u6bDnvnJJHiuKTvWEPJlq8NDbleh1Ol7/ysWsneNOWMz49Dyym9cWse3r\nl/KJ88oodlvJcpg5OGDZu7ErwNf+vI+Lf7yFD/7mXZ7ZWz+m3dZifFI6w6VpWkQp9RngeUAPPKhp\n2oFUPqcQyfSxc0pZVpjGV5/YB4BRpzgrP41ILMbuAZW+g5EYnf4wbruRDl8Yk17Hsjwnnf6ps337\nuf2NbKtsp9MX5rwFWZw/P4ssp5lQJMa8bIfkfp3ma1efxY6qDg7Ud7Moz0koEqOpy8+8bDs7q3tn\nMzPtprjV48dCr1OsKOrtmRlPOKrxXkU7LquRDaUutle198++6hQ8/ImNrJ2TkZSxiF5fvnIRrxxu\nHrTUu6e2i/X/+hJfvnIRt284Mw2mLMuBXqeGDGiyBpR9KW/28OqRZgw6xdnzMnnjWCtvHmvl2hWJ\nW3Z5gxF2VncQjWksL3SR6TCjlOL6lQXUd/qpaPWytbKdQDhKuzfE9fe+SZu3d1m6otXL28fbyHcd\nYnmhi4sX5XD9qoJRddBo9gR44UATt6wtkpSFUZDm1UIMocsX5jN/3MEb5b25HCd3pw3HYTZgNujw\nhyL4wvGT6qeSfJeF/3flIt63qlCWHQdo8QT50G/fJRzV4pZ8GE3OznA2lLnZWtHOxjL3kG2FThp4\n3IULs/ndHRuSMg4xWGWrl1seePuMHcMby9w8/smz4z4m0rcU/MtXyzl7XiZ7a7t441gL755oR6fg\niU+dw+qS3uDYH4pyx0PbqGj18u+3rOBjD26Ne+5QJMZdD2/nhpUFLM538sSOOmwmPVXtPq5ZlsfV\ny/MJRWJ84nfb2FfXRacvTGG6FafFMOSOaJ0Cq1HPtSvyuXJpHufOzxpRENUdCPOr147zgXUls7o1\n0WiaV0vAJUQCPcEIm3/xJqFIjJoOP8sL09g3RIuWgYoyrCzIcQwqejgdXLsin5+8f6V8ax2g1RPg\nI/+1lUOnfWil24xkO8xxt/uPxdqSDIKRKAcbuhPmDQ5kNepZVpjGtsoO/nTP2ayfZs2op5M3j7Vy\n58PbBjUA/8R5ZfzzdSPvSRmKxPjL7jouWpSN22bCMCA/q7zZw3X3vsnBf7mKb//fAR55r5o/3rmR\njXMzB50jFtOIadqgxwIEI9H+BPmtFe2k24y09YT4xl/2DbvcffpsnNWo59MXzePvL54/5JcvXyjC\nc/sa2FHdyb/csDRhvtlMN5qAS1r7CJHAruqO/jerdaUZtHqGTlgGWFOSTktPkJp2P7UdyZn5mEjP\n7m2gqSvA165ZzLJCFya9LmHdodkiy2nhR+9fyb8+exCzUU9dp58Mm4mmrkDSgi3o/QA73OQZcSsg\nfzjKtsoOPn/ZAgm2Uuy8BVk8//kL+Nqf9/XvXMx0jK7uncmg49Z1xXHv6w5ECEZiKAU3ryliXraD\nf/3rIZ7+zHmDjtPpFLo4m/8H7kbsr7uWCy984UKaPQG2HGnhwTcr4r5eTz+bPxzlJy8epardx4/f\nv/KM473BCHazgb21XXzv2UP8+dPn9p8jXuFWcYoEXEIkcM68LIoyrNR2+AeVAEhkfWnGoLpb09X2\nqg5uvv8dAG7fUMwPbhqmS/QssKzQxcJcJ797pyplz9HhC42q7+JJN66WnWgTYU6mnYfv2MAX/2cP\nT++px5TkwOK6FQVoGqwsTsdu1o+7rtuhhm5K3DbyXVZu31DCbeuLeWZvA599dNeg4xJ9n/rzzlo2\nlLm5Znk+DrOBv+5roLErwNvH25ibbef1oy388JaVg3bEPrDlOJ++eH7CZP/ZTkJRIRKIxGLkj6LR\nb7d/iDIC09QzexqIRKd+DtpE2Dg3k+IMKzrVm/eiV727VTcmqZJ7KBJjtJ9TFqOOQqm3NWEMeh0/\nv20Vx79/DU3dAdZ970Wuu/cNHt9WPajJuTdBw/NE1pRkcO/tq/uX8ObnOMdd2PShtyoHjelkUv0l\ni3MGHZdoBjumwVf+dy/rv/cSj22t5pLFOaRZjTgtBnLTLPzvp87h8iW5gx5TkmnjW0/vJyzvGXFJ\nwCVEAmaDnsfvPptPXTRv2GPXlKRT1Tax9bYmgicYYU9taqrjTzdXLMklw24ipvV+GEU1iMSgut07\nKFBymA2sLHJRMIpgHaDdF+5PpB6pQDjGrb96Z1SPEeOjlCIcjZHdt9Nwf103X31iHx/8zbt87tFd\nfO3P+7jgh69y0Y9e5Wt/3keXb3J2Kn/pioXkpp35Grx4Ufagn4eL8a9enscVS/OwGPXcsraIn31g\nFZ84ryzursbNqwo5b34W3mCE/91RK1/WTiNLikIMQadTfOXKRbx+tCVuO5eTfKEogcjMfHOZiTN3\nY2HQ69i8qpC9p5WBaOgK9u8YzHGaKXHb2F7VgUEHDrOenuDQRTAH2lHVwfwcB+WjyA0rzJi9O8Qm\ni8Wo5+4L5nH1snzePdHGzuoOzAY9jV0BXj5UhzcUpc0borKtmrpOPxctzKYsy875C7LOSHhPlZw4\nwdbhxm7+++3KQbedPsG1bk4GC3IdvHSomRZPkJcPNXP9ygIuXjR4ZiyRq5b1lrO4fmU+oWiMrRXt\nNHkC3LCycNYvNcouRSFG4HBjN9ff+ybhaPz/L2tLMthRPf3zt06nFOz51hWkWRK3NJlNKlq9XPzj\nLXHvsxp1+OOUABlJ6QiHWc+S/DSgd2Z1d20nnsDIAl3Js5taAuEoO6s6ONzooc0bJBrrrVv1/P5G\nzp6Xxc8+sBKnxcjrR1v4674GMh0mPnfpAl470sL2qg7OnZ/FsSYPC3OdXLCwdzbKG4zwXkUbtR1+\nSjPt/beP1pO7atlT08Uli3Oo6/Tz7387TDASw99XGf/fblrObX21xaIxjc89totn9zYA8Ohdmzh7\nXmbCcw+lvNlDQ1eAvDQLaVZj3Jm36Up2KQqRZIvz0rh5TRGPbauJe/+O6g6WFjg5UD+yxrXTxfkL\nsiXYGuCNY4nLfMQLtoARBU5LClxsHVB7y2zQsbzQBWicaPEO2Srmuf2N/NM1Z+GUf6cpwWLUc878\nLM6ZnzXo9vDNp3bwnSz/cfHiHM7KS8OgFPOy7f3lWDavKiTbaSYW03h6Tz1bjjQTisa4fUMJ587L\nOuM5R+rG1UXcuLqo/+f1pRk8+GYlLT1B2r0hlhW6+u/T6xTfvG4Je2s7qWn38/W/7OOrVy3myqV5\no37e+TlOHGYjZoPiz7vqZ23jbZnhEmKEKlq9XPqTLQlrJGXaTZRk2ihv7mFJflrc4pULchy4bEYq\nW71nFFKcauZm2Xn8k2f356oI2F/XxXX3vjmqx4xk9+qq4nR215yZK2fUK/JdFqxGA0eaEgfz39m8\nlI+eXTqqcYmpQdM0/ri1mgffrOAnt65iVfGplj8PvVXBj54/wv/cczZLC1xDnCV1mroD3PXwdvbW\nduG0GPjsJfO587y5oy6Q/KftNTR1B7h6eT5FGdYZ01hbCp8KkSL/8NguntpdP+xxdpN+0KxEidtG\npt3Err4P1eIMKzVTuE7XvGw7j961KW4eyGz3yd9v5/kDTSM+fkOpm62VQ1eOH+qY9aUZ+MNR9g9R\ndHdVcTrf3byM5UWT86Esxq/DGyKqaWQ5Tn3B2V/XRb7LQqYjtV96NE0jGIklLHgcjWnUdfipaPPy\nVnkr2Q4zd10wd0zP1e4N8bu3K/nsJfMnLJ8tlWRJUYgU+eLlC3l2b8OwNXKCkRhrStJxmA20+0JU\ntngH9WObyn0LnRYDf5RgK6FrluePKuCqavOyKNdBa0+IhbkOQtEYR5t6Bi01DvVqqu3w4Q1FSbMY\nCMe0/nybk7OlgXCU3TWdVLZ5JeCaxjLsZxZSHbjENxIvH2oiEtO4YknuqAoWP7GzjroOP/9w2YK4\n9+t1ipJMGyWZNi4cY/7YSW67iS9cvpCpNNkzUSTgEmIU5mTa+eDGEh4epgBmJKaxs7oTi1GHzWSg\n57QcHKtJj9Woxx8e+Q62ifK5SxbMqKTWZGvoCozq+CZPkKa+LgXHW7w0e4LMzbazJD+NSEzjcEM3\noGEx6ga1jjnJF4qSbjVR3e5DAXPcNjr8oXFXue/yhXHZJO9rpghFYqwvc3PJj7fw6NZqrlmez7xs\nB9GYRm2HjxtWFiScUXp2bz01HX4+e8nQ7XySaTZ2sJCAS4hR+sJlvbNcbd7hc7AC4RjLC+20n3bs\nnpouijKs5LsseAKRIZvLTqRLFudwxyxNaB2JylYvD7x2fFSPcZj0KJ1C07T+mawTLV5ODOhxp2mA\n1psHOPB1lWYxoFc6nJbet2oNqBowUzpQXefolqg//tBWvnLl4jHvPBNTg6Zp/OMT+3hiZy1RTUPT\nYMuRFrYM6OOq1ynWl7opdp9ZQiQW09hR1UF3IMILBxv7yzqI5Jv+C6hCTLAMu4mvX3vWiI/v9Mcv\nfFjb4WdbZQdHmzwsLUhjRaGLvFEWy0ymCxdmc9+H1sz6WjmJhKMx7nx4O52jLGSZn27FE4jQE4zS\nkqAf557aTpYXuQidVihycX4a7b4Q1W0+0qxDfz/2DbGT8XTlzT0cbvBw35byET9GTE1bK9p5fHsN\nkZgWtzWUXqd44MNr4wZbAOUtPXT3LW+PZqlcjJ4EXEKMwfwcx4iPDQ9TEDWmwYH6bvbWddHUFSBj\nkpZ5zpmXmTBpVvTOGoymIOlJI8lUCUc1tlV2DMrrykuzYNLrWJLvxBOMEI5qFKYnDsiDI1yerm7z\n8b5fvoU/HGVXdeeszKWZjjq8IX76whH+4bFd1Hb0znJ2+kLc84cdQz5uYa7zjHY+A8UG/PufaOmh\nyx/GF5Jix6kgAZcQY7CiKJ0PbyoZ9riiDCv1o1jq0WBQM9iJFJqhlfKTZagaXEOJjaIJsc2kZ0Op\nm8J0C43dAd4sb+VQg4eyLDv+UJSCIfomVrQO31rKEwjznWcO9vfY6wlGqJ3Cu2VFr1cPN3PVz1/n\nP18p56nd9dxy/zv8bX8Dzx9opGOYGdevXLVoyFnrgfXb9tR2cd6/v8Jn/riLwCTll756uHlSnnci\nSMAlxBh9d/MyfvL+lbjj7C46KcNmIpSgOn0iI8kNS4VAZOol8E8V0ZjGSwfHttwSG+EMktWoY3Ge\nk62V7dR1nkrM1+gthApDB8U3rSkc8vxN3QFuvO9tXjp06u8xP8cRt16cmDp2VnfwmT/upKn71HJ0\nY3eAe/6wk68+sW/Yx3/tiX08f6CRaILAv6l78CYQTyDCK4ebR9zpINlePNQ0Y2ddZ13AVd0WP+FU\niNFSSnHz2iJe+dKFfHBjCfG+RDZ7AhhG+b8sy25mVXE6K4pcOOM0iE2VPFfi2ZPZrqK1h/pR7k48\nyWUdfonYadbjdpjZWd1JlsPEwlwHi3Kd/ff7QhGsRj3BBAHXpYtz4lYA94eiPPDacTb/8i02fv/l\nM5ZEN68s4Jrlo68cLlIvEo2xt7aT+7ccH7LTwHAauwN88vc7uOo/XudAfdcZ9z9/oDHu4+IdOxG+\ned0SXhjjl5uTeoIRntpdl6QRJc+sC7iKMuRDRSRXus3E929czotfvJDNqwoGNYM16XVxE1mHsqO6\ng901neyt7ZrQel2L85zDHzRLdfnD5DjNrC5JZ06C5ONETrR6KXYnft+Zn20HpajrW9pr7QlxtKmH\nI00eNpS5Aahu95NuM5yxmzXfZeHLVyzkvg+vibvN/p0Trfzbc4fZE6eKPfQm9NtMsll9qvEGI3zk\nv7byVnkbL44z+DjpWHMPN9//Nt975mB/mkM0pvF0gkLO//VmxaTMNFmM+nHV+tI0jfteLZ+SHTJm\n3f+0iaoxImafedkOfn7baq5amsenHtkJ9Ab446kon2Ez0eUPJ5zZSKaFuRJwJZKXZqHZE6TZE8So\nV8zPcRCNxdC03k0Psb7t+IUZVho6/fhCUbzBCNGYRp7LQo7DjLvv37LEbaO+009LT5B0q5GGrkDC\nGYyB+V8NXaeWlLKdZv7lhqVcsSR3yGrdj22N3/vzpOtXSgmAqeilQ028c6KNdyvaknreQDjGb9+s\n4OXDzXxoYwkHG7oT1pV741grR5o8LM5LS+oYRmKsm3d++sIRjjb18ONbV+KYwNWBkZp6IxJimrt6\neT5PfOps7n25nH118WcWRupIk4dFuc4h++glwy1ri0a09DVb5aZZ+vsdhqNawt2KA2th5TjNzMm0\n4QtF2VXdwdxsB41dASrbfKwodNHl99ITjCbMrQHiJjsXplt55M6NlI5gc8VQ+YULchwzpp/dTBKL\nabx+tBVg1LPjI1XR6uV7zx4a9jhvcHrldZ6Vn0Z2mgX7FO3kMeuWFIWYCGvnuFEK2rxhlhaM/Rui\nw6ynpiP1eYcrBzTMFWcy6HX8+iNrRxWUptuMbKvs4EB9N75wjP313QT6ZiprO/xYTfohgy3gjJ1i\nl52Vy18/d/6Igi2Ai4coB3DdioIRnUNMrAffquCJnbWTPQwA/uOlo9QkKLQ7FV29PJ+PbJozZavY\nS8AlRIrMyez9UBxpHsSGUjfzsu1YjXp0CpYVprEkP21UBS3HwqhXrC/NSOlzzAQ5aRZuWDnyIEWR\n+E2/3ReiLNOGxTj0W7BpwI6Lm9cU8csPrR5VO551cxL/u25eJQHXVKBpGg1dfnbXdPLDvx3mB88d\nnuwh9XvjWCsX/3gL33vm4KSViZhJZElRiBRJ62vH4rAM/wG5otDF1srB2/P313WzsS9pOpW+ed2S\nScnTmI4+dk4pv3936D6aJw33Jftgg4cFuQ4C4Sg17fHz/Fp7TpUIuW5F/qiXAJ/cFX+n1sri9BHP\nkonkC4SjtPYE2VndyTN76se9Ky+VIjGN375ZwZajLbzw+QuSngf9+tEW/rKrjm/dsHTGpzXIDJcQ\nKWLt2/1V3tyDUT/0m5QlQc5BV4K2QMkyP8fBhzfNSelzzCTzcxwjnuUayarGsaYe8tPi72BcUeQa\nVMz0/i2j6+FY1eblt29UxL3vuuWSLD9Z/ndHLef+2yuc9++v8rlHd03pYGug8uYe7h9lH9GRuGBh\nNksK0rjpvrcob54aPWVTRQIuIVKkO9AbLLV7QyzNdwFQ4LKwrjSD0sze0gILcx2UZdloTdBjT6d6\nF6ZMwwRsY3XBguwpm+8wVX3z+iXDlpdZUeTCNsLE3a2V7RRnWFlTkt6/s2p+joNjp22U2FrZzvGW\nkbcW+tmLR2nsjr8D7aplUntrIgUjUbZWtHPrr97hy3/aM2nFjcfrgS3HU9L2587z5/KN65Zwzx92\n8rf98euCzQTjCriUUj9SSh1WSu1VSj2plErvu71UKeVXSu3u+/VAcoYrxPRR1XZqdkKvV5Rl2YjG\nNLZXdlDZ5mNjmZujTT1UtPrIcsTfTXawoRuTQYdepxtUCDMZ/umaxXzz+iVJPedskOUw85FhZgWN\nOsWOqpHtUDXqFfkuK8dbvPhCEUx6hdtmxB8+sxTIW+WtYxrzQGflpyVsZCxS46WDzXzy99vZOs2r\n+gaPJ38AACAASURBVHuCETZ9/2XufflY0s998aIcnvnseSyawfUAx5vD9SLwNU3TIkqpfwe+Bny1\n777jmqatGuf5hZi2qgZ0NdhR1cHcLDtNA2ayBrZU2VrZwYZSN9uq2s/YCn6yBteRJg9Woy7uB/FI\nXLs8nwsWZrF2TgZ2s4FM+9QrDDhdJCvXJMthwmU1DsrfC0U1uhO0VclLS9y8+nRXL8/nL3GKWo6n\nqKQYm0gsNmzPw+miOxDhobcr+dRF84asATcWFqN+0nrJToRxBVyapr0w4Md3gVvGNxwhZgZN06gc\nkH9jMerIsJtgiAbDWyvbWVqQhs2kZ39dN/44u4KWF6aD0tha0TGicRSmW3nf6gKuXJrHiiIp/ZAs\nzhFshBiJ3DQLB+q7z7j9SJOHbIeZlp7BS82RUTTC3lSWGff2y5ckLhUhUuOR96onewhJ1eYNcefD\n27n39tVJ+78wGyQzPL0DeG7Az2VKqV1KqdeUUucn8XmEmPKauoP91cPtJj1GvY4dVcMHSQfqu9lW\n2YHTYmBNSfoZyfZbK9vpHOE35Q+sK+b5L1zA/7tysQRbSbaiyDXk/eZhyj24bSbWzcmIG2xBb8HL\nzAHLzOfMy+S3H13HNaNIdk+zGpibPXi2YFGukzUlUgJkohWmz7yWcluOtHDrr96lY5rmo02GYWe4\nlFIvAfEyLL+uadpTfcd8HYgAj/Td1wCUaJrWppRaC/xFKbVU07Qz3l2UUncDdwOUlJSM7W8hxBQz\nMLlZKYUnwRJRIifbyKTbjHiDEcLRUzMbmXYTFqOOwBBLi7dvKOH7Ny6ThPgUKcqwkptmpqk7/maH\nUFSjeEBbp8V5TtKsRqrbvHgCEebn2NlamTgAN+oVbT0hNpS5+db1S1haMHSAF49Siic/fS6Pbq1m\nR1UHHz17DmfPzZTXxCT4zCXz+eu+hglp0TWRDjV087nHdvH7T2yc7KFMC8MGXJqmXTbU/UqpjwHX\nAZdqfRUeNU0LAsG+P+9QSh0HFgLb45z/18CvAdatWzfxnTKFSIG6Af0T47VnGalSt53dtYOTrzt9\nYZYWuBLOmKVZDHxn81L5YE0hpRSXL8nlD+/GXyrSNI2C9N6Aa1Guk6buwKDG00MFWyVuG3UdPnJd\nZq5amjemYOskl9XIPRfOG/PjRXL8/p0qit22hC2hprM3jrXS1hMk0yE5ocMZ7y7Fq+hNkr9B0zTf\ngNuzlVL6vj/PBRYAJ8bzXEJMJwNzb+zmsfX1cpj1VJ/W1mdxnpOKVi+xIarXOy1GDNKkPeU2JsiR\nOqnDF2J9aQbHW3pGlTCdZjGgAZl2c9w8PjH9OC2GGRlsnTTTZu5SZbw5XL8AnMCLp5V/uADYq5Ta\nA/wvcI+madN7P6wQo1Df18TYYtRhM41tb0pPMEqa2cC6ORlsLHOzvjSDmjYvK4vT2VfblfBxnsDM\n2A011V12Vi45zsTf6o829bCtsmNUie4A++u7cdtNvHGsRfKtZojPXbqgv/PETFQ9jfotTqbx7lKc\nn+D2J4AnxnNuIaarnmCEZ/Y2ALC80MW2IZaPhlPZ7qOy780sx2kmK80yqJxEPGvmZMhy4gSwmvT8\n+qPr+Oe/7Ecp2DsgCB5ljHWG1p4Qep1i8QyuSTSbGPU6blhVkHAJerr73duVbJo79IyvkErzQiTd\nSweb6PKHyXKY2D6OYGugEreVSEwbVNsrnrnZdr55nRQznSiritP5yKYSqtp8bCh1s3ZOOqtL0tlV\nPbKipwAri10sznMO2lFoMuj4/o3LekuJiBnh/12xuL+TwExjn6F/r2STgEuIJDvZ0iXfZSEZu0CK\nMqz0BCO0D7P92mLU8dDHNzA325GEZxUjdfPaYvJdFrZWtrOjqnNUwdaqYhd7aro43OjpX3Iy6XU8\ncudGPrBedm3PJC6bkatnaEulSxdLbbeRkIBLiCQ72XA6GcGWAtx2E/Nzhl9a+sJlCynJlJYtE02v\nU3z7hqVjemx9Z4D52XaWFaSxu6Z3SfLO88tYX+pO5hDFFJHvGnmngOnk3AVZkz2EaUECLiGSbFtf\nm5ZAEnaYLcx1sre2i60V7ZRm2thY5ibeBsTz5mdxx3ll434+MTab5mZy2/riUT+u2ROkvMXL/r4C\nqOfMy+QLly9M9vDEFHH7xhJMhpn1sWsx6rAZx7YTe7aRhVchkqw4o3eWqa1n/BWYXbZTbTMq23xU\ntvmYl20nGI5R27cT8v1ri/jejcswJrmvmRidf75uCY9tqxnz4y9fksu9t6+Wf8cZLN9l5drl+Ty5\nq25c58m0m7hgYTbnL8hiTqYNu9lATyDCb944waEGz4TuGrx4UU7SeyrOVBJwCZFk7r6WLGVZdjpG\nkc8Tjxan3tbxFi8ZNiPZDjPXryzgm9dLkvxU0NAVQKfGtkPxo2fP4ZvXLZEPrllgLI3PizKs3HX+\nXDbOdROL9dbj08WZ6l7XtxS9o6qDrz+5b1Cx3VRwWgx89pIFKX2OmUQCLiGSbGtF8pYUuxO0BDLq\ndZgMinsumjvu5xDJ4babestxDFGU9nTrSzP4+4vnc9EiSTqeDTRNG/Xs068+spYrluSOqtTL2jkZ\nfP+m5dz5u+39m22cZgOXnpXDX3bXj+r5E3GYDbzwhQvId828PpGpIgGXEEkUisR4/WgLwLAlHIaj\nU+ALxg+4ojGNx+8+lxznzEzCnY7cdhNzs+wcG1BRXKfgwoXZLC9KJ8thor4zgMWoI91q5Jrl+eSk\nyb/fbPKD5w7zyuHmM25XCjavLKAow4bNrKeixYvbbqLYbRt1sHXSmpIM/vO21Xz4v95jSX4aP7xl\nBQ+8djwZfw0APnFemQRboyQBlxBJ9Oy++v42Lmflp7E9Qb/DkdDrFJ+6aD75LguvHG5mT20nLZ4g\ni/KcfPmKRRRmyJvdVPOne87mkfeqefNYK3ddUMbaOe4xLSGJmemLly+k2G3jx88f6d/N/IF1xdy6\nvoi1c5K/M3VFsYurl+Xx5SsXoVeKY009zM22c6LFO67zOswGPnXR5PToPNbkoby5h6uX50/K84+H\nipcjMlnWrVunbd9+Rn9rIaaNzb94kz19FcfnuK1UtfuHecTwPn/ZAj5/mexcE2Km8AYjeAIRNLQJ\nmyXaVd1BYbqVTz2yM2Hj+5H61EXz+OpVi5M0stHRNI27Ht5OKKrx64+sxTLJOySVUjs0TVs3kmMl\nQ1OIJDlQ39UfbLmsRjyB5DQe3l3TmZR8MCHE1GA3G8hzWSZ0SW51SQY5aRYev3sTD3583Zgb3NtN\nej43iYnySin+47bVdPnDcZdnpzIJuIRIkj9tr+3/c5bDRLtv/GUhALYcaenPCxNCiPEw6HVcsjiX\nK5bmjunx60rdWE2TO6vkMBt4+I4N/MdLR3n4nUr8oenxhVQCLiGS4IUDjTz8TmX/zz0JdheOxXnz\ns7j0rLG9OQohRDw3rymKW0R5KAad4tz5U6NJtctq5Lz52Xzr6QP87UADmqYRCEfZX9c1/IMniSTN\nC5EEDrNhUP2lwgwrTZ7guM6pU3D+gmx+/P6V6Mc4/S+EEPFcelYuf7hzI0/urGNfXRdHmjxoGmya\n62ZhrpOH36kCIMth5itXLeL6FQWTPrN1OqfFgKbBFx7fww//dgQFLClI47cfWz/ZQ4tLAi4hkmBl\ncTomvY5QNEZppo26jtEly68scrG+1I0G5KVZyHVZ2DTXLWUfhBApc868LM6Z19sHsd0bYmtFG5ee\nlYtBp7h+ZQF/3lnH5y6dPyXLPxys7+a5/Q39Pzd0BciwGbl5TdEkjmpoEnAJkQR1nacCrGynmW2V\no9sFlOkw843rpGK8EGJyuO0mrlp2qtTC+lL3lG6ivqO6A2/wVO7WprluHrv77Ekc0fAkh0uIJPj9\nO1WEojEAGrsDo358vktmsoQQYjgnE+Q/smkOL37xAtz23lZqt6wdffP4iSYzXEIkwaGG7v4/N3YN\nH3CtKk7nA+uLeflQExk2EzevnbrT4EKI2eUr/7sHbzDKxYtzONHSw8GGbr50+SKWF7kmdVwnWnq4\n9Vfv8uP3ryAQjmI1GWj3hrh+ZQE3rymc1LGNhARcQoxTLKYNahKb67RQ2zl0DleWw8ztG0q4bX3x\nmNp2CCFEqmxeVciHfvsez+47lSN14+rCSQ24QpEY33nmIK09QT7+39tYUeTiiU+dw28/uo6LF+dM\ni/dRWVIUYpyOt/RQlGHlm9ctYUGOY1A+VyKvHG7i7/57K9986sAEjFAIIUbu3PlZLMhx9P+cbjNy\n/oLsSRwRPPDacbYc6a1H6DQb+OEtKzDqdVy2JHfa7OKWgEuIcWrzhrhhVQEmg442b4iRNMvKsJn4\n+LllfGfz0pSPTwghRuuLl/e2EytMt/Kdzcv6c6UmWk8wwree2s9PXzwK9NbfeuiO9SzOS5uU8YyH\nLCkKMU5r52SwaW4mn/njTtq9IdbNyRi2afXnL1/IhQsn9xujEEIkcvXyfN74ysXYTHoyHeYJf/7W\nniDP7m3gl6+W09xX03BBjoNLz8placHk5pKNlQRcQozTvz57iK0V7dR0+ADwjaDNxNKC6fftTAgx\nuxS7bZPyvH/b38iX/7SHnuCpjh0bytw8fvemaZGrlYgEXEKM097aTg4O2KVoN8evxpzvsvCNa5dQ\n7LayvHB6fkMTQohU+sO7VXzjL/vPuP1zlyyY1sEWSMAlxLi8eayVfaf17orG4mdxff+m5Vy8KGci\nhiWEENNOLKbx8DuVmA06gpHeuoZ6neKu8+dy3oKsyR1cEkjAJcQY+UIRnt3XQInbxvEWL9Db//B4\nS0/c43//ThUri9InLflUCCGmMp1O8cIXLiQSjfHc/kbqO/1celYO83Ockz20pBjXLkWl1LeVUnVK\nqd19v64ZcN/XlFLlSqkjSqkrxz9UIaYWm8nAneeXYTKcWkJcV+qmyx+Je/wrh5s5599e5jv/d3Ci\nhiiEENOOQa/j+pUFfPLCeTMm2ILkzHD9TNO0Hw+8QSm1BLgNWAoUAC8ppRZqmjZ8NrEQ00QspnHX\nw9s50Te7BRCMDP0SNxv0nLcgM9VDE0IIMcWkaklxM/CYpmlBoEIpVQ5sAN5J0fMJMeGONnsGBVsF\n6ZZBP5/umuV5/PCWlTjMspIvZp/fvV1JQbqVJQVpFKZbJ3s4Qky4ZBQ+/YxSaq9S6kGlVEbfbYVA\nzYBjavtuE2LGsJtOBU4uq5Hm7gCeQPzlRKtRz7euXyrBlpi1Xj7czI+eP8xTu+smeyhCTIph3/2V\nUi8BeXHu+jpwP/BdQOv7/SfAHUC8vZtxt24ppe4G7gYoKSkZ0aCFmArcdhN6nSIa0/AGI31bls98\nmb9vVQH/cNlCctMsEz9IIaaIh+/YMNlDEGJSDTvDpWnaZZqmLYvz6ylN05o0TYtqmhYDfkPvsiH0\nzmgVDzhNEVCf4Py/1jRtnaZp67KzpfK2mD7sZgOfvGAuAJGYRrbTzOri9EHHGHSKH9y0grIs+4jP\nq2m9QVtbT5BwNJa8AQshhJg041rfUErla5p2sp34jcDJamVPA39USv2U3qT5BcDW8TyXEFNRhy/U\n/+f6zgD5rsG5KZGYxsuHm7huRcGIzvfnnbX88tVyLEY9Ne0+LluSy09vXZXUMQshhJh4400o+aFS\nahW96yiVwCcBNE07oJT6H+AgEAH+XnYoipno784t40SLl/cq2gHYUdWBw2zAZtJTmmlnXWkGdR1+\nAuEoFmP8CvQDLcx18sidm+gJRnCYDeS5ZBlSCCFmAnVy+WIqWLdunbZ9+/bJHoYQo7KzuoMXDjSy\n5UgLhxs9ANx5fhk1bT6eP9jE2fMy+f6Ny0e1rCiEEGLqU0rt0DRt3UiOTcYuRSFmtTUlGawoSicc\njXHdinyuWZ6HQa/j+YNNAISjMb74P7tp7ApM8kiFEEJMFtmjLkQSXLM8n3PmZfKr10/wh3er8Oxr\nHHT/rupOzv/hK1y/ooCNc91sKMuUGS8hhJhFJOASIknSbSa+etViPnPxfF4+3Ex5cw/P7WtgT00n\nbruJW9cVkeO0cKSxhw1lUm1eCCFmEwm4hEgyu9nADSt7dyV+8fKFeIOR/tuFEELMTvIJIESKSaAl\nhBBCkuaFEEIIIVJMAi4hhBBCiBSTgEsIIYQQIsUk4BJCCCGESDEJuIQQQgghUkwCLiGEEEKIFJOA\nSwghhBAixSTgEkIIIYRIMQm4hJjCfKEImqZN9jCEEEKMk5TAFmKK6fSFeKu8jd+8cYKadh8/uGk5\nVyzNm+xhCSGEGAcJuISYZHWdfho6/Rxt6gEgN82MXgdfvmIR58zLRKdTkzxCIYQQ4yUBlxCTpKbd\nx9f/sp/Xj7bww1tWcPuGYpSS4EoIkRzdgTAOk0G+tE0REnAJMcGaugM88l41j22tptkTBKAowyrB\nlphU0ZjGsWYPx5p6aOjyEwzHcNmM5KVZ2DQvkzSLcbKHOCnC0Ri/e7uSp/fUs7HMze0bSpib7Rj2\ncaFIjE5/iLaeEIcbu1k3x02x2zYBIz7l16+doLLNyy8+uGZCn1fEJwGXEBOkyx/m/i3HefDNCkLR\nGDaTnk9fNI+52Q5KJviNWIiTgpEoX3tiHy8easITiMQ9xmkx8LfPX0BhunWCRzd6tR0+vv7kfn56\n60oyHeYxnyca0/jj1moefLOCilYvAHtru3jwrUret6qQT100j/k5pwKvcDRGU3eAqjYfrx5u5s+7\n6mj3hvrv1+sUH1hfzOVn5RKJaaybk0GG3XTG84YiMZ7dV8+Rxh5sJj0lbhtuu4nG7gDt3hAmvY48\nl4XcNDMtniCHGz1Ut/nwBCNEojFiGrR5gzR3B2npCaJpsLLoBB85ew4Wox6AWEwjHIvhCUSIxjQ0\nrXf8ep3CbNDhtBgxGWRPXbKpqbQDat26ddr27dsnexhCJJ0/FOWK/3iNmnY/ADesLOAb151FjtMy\nySMTs00gHOW5/Q38dV8j4WiMvbVdgwKDRJSCCxdmc/mSXPLSLJw9LxObafB39sON3eSlWUi3nRlI\nJMuB+i7eLm+jJxjBaTHQ0hOkrsNPIBxDr4M3j7XiDUXJsBlZX+qmIN1KNKbR7g2RZjVgMerxBaN4\nQxHmZNpYmOuktsNPJKrR5Q/T0hMkL83MG8daOdzoGfJ6uKxGDDpFTOvd7BIbxcepQadYnO9kab6L\nLKcJk15PS0+A5w800dI3851Mep3CbtLjC0WJjGCgRRlWHr1r04TPyk03SqkdmqatG9GxEnAJkXqa\npnH5z16nvLkHl9XIe/90af+3TSFSpd0b4q3yVl472sLrR1uIxDTC0VjCmazRcJoNXL4klwW5TkKR\nGK8dbWZndScA2U4zhelWijKsZDnMWE16Vha5uGpZ/qifR9M0jrd4efdEGy8ebOK1oy3jHrsYmRVF\nLq5els/qknRWFqVjNcl71ukk4BJiknUHwoQiMbL6ljTKmz2875dv0xPs/aBbUeTiE+eVcdGiHFzW\n2ZkbI4anaRqPbavhzfJWNpS6+ejZcxLm+vlDUd6taOOVQ80cb+mhvLmnP0dwKjDoFI/dvYl1pe4R\nP+ZYk4fPP76bA/XdKRyZGAmDTlGWZafEbaMow0pBupU5mXYK0i3olOLFg01kO81cuzw/7lLpTCUB\nlxCT6N6Xj/GTF49iN+l59O5NZDrMXPPzN+jyh8841mLU8Q+XLuRTF82bhJGKqSocjVHV5uN3b1fy\n+3er+m/PS7OwON+JLxTluhX5vG91If5QlP98+RiPbq0e1ZLWZPjmdUu447yyhPdrmkZ3IEJth48j\njR7+7bnDUypoFMMzGXScPz+LNXMyyHKYyHKYmZNpH5TvNpNIwCXEJLr1V++wtaId6K2pde/tq7n9\nN+8RHeLT8Pef2MD5C7Inaogiji5/mJcONrHlaAvLCtJo7QkO2pHW1B3gyV11HG7oxmLUc+2KfI41\n9bCrppNWTxB/OIoGmA06sp1mMu0mCtOtfOyc0oTLx7GYRrMnSF2njxMtXrYcbWF3dSf1XX5G8tas\n16khX1dTgUGn+OSFc7l5TRFlWfYzZuiaPQE+9+guDtZ34w9HCUen9t9HjJ5ScPOaItaXZnDFkrwZ\nNQMmAZcQkyQQjnL+D18dlPR6wcJsLliQxfeePZTwcWaDjl98cA2XL8mdiGHOGOXNHrr8YZbku0aU\nX6JpGi09Qeo7A9R2+Chv7mFXdSflzT1xgxyTQceHN87BH47w4sFmWntGP9uSm2ZmaYGLilYv3f4w\noWgMNIhpGqFobFYEGNevLODyJbncsLJg0O07qjr45lP7ZclwFrEa9aydk9FfCkenwGE+tfnCaTGQ\n5TBT7LaxrNA15VMuRhNwSVkIMS10+cK0eYPkuSxn7IyaTDXtPh547TivHG6mxRNEr1MEI7FBx+yt\n7eShj6/jSKOHP+2ojXueYCTGQ29XSMCVwN7aTn724lFaeoIUpdv4wIZiYjGNe/6wg3BUY1VxOmfl\np6FpGtXtPhq6ArR4gigFq0syOGdeJq8cbuZgfXd/Ht1IhCIxHnyrYlxjb+oO0tTdPK5zTHcmvY4r\nBry2YzGN7z17aNzXVkw//nCUN8tbR3z83Gw7K4vS+cR5ZSwrdKVwZKk3rk8updTjwKK+H9OBTk3T\nVimlSoFDwJG++97VNO2e8TyXmN3eLG/ld+9UUt3mI81qIMNmwmU1kuU00+0P88ENJZwzP2vY82ia\nltQCo/q+LeFnz82kMMNKlz/Mc/sbsZv0LMx1MifTxkWLctDpdCzKcw55rt3VndR3+imYBrWOJkqL\nJ8hjW6u5/7Xj+EJRAPbXdfO3A42Djttd08nums6453i9b4eemDz76noDZrfdRLs3xHsV7Qn/vYQY\n6ESLF38oysfPKZ3soYxb0pYUlVI/Abo0TftOX8D1jKZpy0ZzDllSnFpOvjYmswL6A68d541jLdhN\nBvQ6hS8UxW7WU5pp59z5WWwsc2PQn1mgLxKN0doTwmrU47L1TklXt/n45B92cMnibM6dl0Wuy0KX\nP0yBy0qeK349LE3rrd8zmgKKwUiUdm+IVk+Ixu4Ala1e3qto46VDw89y3HV+GV+/dsmIn2umqWrz\nsqOqg311Xeys7mRvbeeIcpmEEDNTsbu3HlhRxtSsBzbhS4qq9xP5VuCSZJxPTD5N03j7eBs7qjrI\nc1k4Ky+NBbkOLEY9B+u7+eHzhzHodBRlWMl3WVhVnM6GMvcZwVkwEuXdE+0sL3ThHkOi5I2rC/nv\ntypo6j4zd+a+LcdZU5LOiqJ0zAYdbd4QjV0BKtu81Hf6+3dslbhthKMx2rwhQpEYhxq6+eWrx/vP\nY9QrNs3NxG4y4LAYyHaamZtlJ89l4Q/vVvHiwSbOnpeJTin8oSiL8py8b3UhC3IcdPjCHGvysLO6\nk60VbVS2+UZURFKc6eTuTiHE7GY16jlnXiZFGVY+ffF8ctNmRoHopMxwKaUuAH56Msrrm+E6ABwF\nuoFvaJr2xnDnkRmu5DuZ03KgvpsjfVWTs51mojGNFk8Qs0FHsduGxagnEovR4Q3R0jczlGEzkmY1\nkmYxEtU0wpEYSvUuo+kUBMIxPIEwJoOOPTVd7KzuoLbDT4bNxJxMGy09QY42evCGorisRv7jtlUs\nzU9jZ3Una0rSyRnhfyJPIMzxFi9N3QF+9PwRypt7UnnJJtyywjTy0qxcszyPG1cXztqeim09Qf7h\nsd2jyu8QQswMSsGHNpawujiDc+dnJVx1mGqSuktRKfUSkBfnrq9rmvZU3zH3A+Wapv2k72cz4NA0\nrU0ptRb4C7BU07QztqIope4G7gYoKSlZW1VVdfohYoDuQJiqVh9ZThP5LiuhSIzjLT3sqemk0x8m\nGtPwBCJ0eEOcaO3hcKMnKVWlU2Fulp0sp5myTDtr52RgMenxBSM0dAWo6+xtgWM26Mh0mMlNM/dP\nKX/y99sJhGNDnXpaWJzn5EtXLJq1ifKaplHV5mNrZTv/t6eet8pbp3wdKSFE8m2a6+ZLVyxi/SiK\n4k4VE1oWQillAOqAtZqmxd2CpZTaAnxZ07Qhp69khmto0ZjGRT9+lZp2P2aDrr+hqeS4TG1ZDhML\ncpwsyO1tUl3strF2TkZ/FfrZIBKNUdPh51iThwP13eyr62J3Tacsvwoxy/38tlVsXlU42cMYs4nO\n4boMODww2FJKZQPtmqZFlVJzgQXAiSQ816xU3+lna0U7Hb4QmXYzNe1+gpEYDV2ByR7arOSyGsl0\n9OajmQ16HGY9ep0iEtUIxzSMOoXJoOO6FQVcszwvpY18p4LKVi8HG7qp7fDR2BWkqTtAsydAIBzr\n20AQpt0blNkrIcQgG8vc0zrYGq1kBFy3AY+edtsFwHeUUhEgCtyjaVp7Ep5rWvv20wcw6BTLCl14\nAmG6AxHaekJ4AmFuWVtEWbadbn+Epu5A/0zArprOGZezNN0Z9YrLzsqlwGVhYZ6TNSUZs6oRdTga\nY39dF1sr2nntaAtvH2+b7CEJIaahhq4AFa1eyrLskz2UCSGV5pMsFtPQ6eInPT+xo5avPrGXiHzV\nn9Z0Cooyenc+egIRFuY6+M/bV0+Zbcs17b196Go6fNR3+vt2XTo4Z37mqIvG1rT72FfXxbGmHqra\nvFS2eTnU4MEfjqZo9EKI2aQsy85vPrqW0kx73BI/U5209pkknb4QH/rte1S1+XDbTSzMdXLtijyu\nXV6AydD7QmrsCvD6sRZeO9rCX/c1SP7VNHPX+WV86YpFU3JGKxiJct+rx7n/teOEImduKrAa9Xz6\nonl89tIFIzrf8ZYeLvvpa/IaFUKklFKQ7TBTmmXny1csYkPZ9Emel4BrEgXCUX7/ThUvHWriUEM3\naVYj5y/I5gc3LT/j2LpOP62eIN5ghO5AmA5fmA5fCH8oSigSwxeKcqzZw4G6bjyjaEciUmdDmZvb\n1hdz3YpTQXQyxWIaSo2+2Gxlq5fPP757RNW73/jKxRS7h5+Na+wK8E9P7usvgGszG3DbTKTbT7Th\nSwAACgJJREFUjFiMeox6xRvHWnnjmJRxEEKMzPJCF5+5ZD52kwGDXpHlMFHstmE2TL0vsSMhAdcM\nE4tpnGj18td9DfxUCkNOCZcszmHzqgJWFaeTbjORZjGMKEjSNI3KNh8KMOh7k+vtJgNWo56DDd18\n++kD9AQj3P/htUPmNeyp6eRok4eaDj/767p47WgL0WGWqosyrKwsSuerVy2mJDM5y5+tPUG+/fQB\nntnbkJTzCSFmrrw0C69/5eKUfFmdLNK8ehqKRGN0ByLYzfpBkX53IMyemk52VHXIh9oU8srhZl45\nfKpVj16nyHWamZvtYF62nRVF6awqSac0045+QE6fUopwNMZTu+vYWdWJhobJoMeoU3hDEbyhKNlO\nMyXDzEC9fbyN144209QdJBSJ4bab0CtFttNMtvNU3bKiDCtzsxyUZdtxmEf33z0W02j1BqnvDNDu\nDdLlD9Pl652JbfeGaPeFqG33yaYOIcSwijKsPHLnxhkVbI2WzHBNAl8owrGmHnbXdPKnHTVUtvro\n6VsyNOl1LC9yYTcbKG/yUC+lH6Y1i1HHgpzeJtYu66nK/TlOM/npFvJdVgrSLUmZTo/Gevs+xjSt\n7xfYjHocFgPG05JRe4IR3jjawu7aTtp6eh+jaRCKxmjpDtLQ7aepK0goOv0LzAohpgaX1cj7VhXw\nj1efhdU0PZcQTydLitNILKbR0B3gaKOHzz66qz/wErOHXqcozbSxKM/J4rw0Fuc5WV/qJiNO70lN\n06jvCnC4oZvKNh91HX5qO3xUtHqpavMlDJAsRh1um4n8dCsF6VZ2VnX0V/MXQoiJlG4z8r5VhVy4\nMJv1Ze5Rz75PJRJwTUNP7qrli/+zR3aECaA3QPrY2aV84rwy3jnRxvbKDo40ejjU2D1lWzUJIcRo\n6RQsyktjVXE6K4tcLM5PY47bRrrNOC36ykrAlQLBSBSTXpeSF0A0pvHpR3ZQ1+mnwxumtSdIMM62\nfiGEEGI2cFoMXLs8ny9cvpB0m3HK7mKUgGsImqbx1O563jnexsI8J8UZVnZUdXCsuYeNZW7Wl7nZ\nXd3JS4eaaOgK0O0P4wlECEVj5KaZ2TQ3k3VzMlhdksHcbPuoC0mORDga46/7GthV3UmHL0SHL0yX\nL0SXP0xU04jFeoO0mKYRjWm0ST86IYQQM5jNpCfDZmJlsYvLl+TiDUZp8QRp6QkSCEcpyrAxx21j\nTqaNOZl2shymCZkhk4BrCK8cbuKOh5L3HDaTniyHmSyHiYJ0a/8/doHLitNi6EuSNuC0GDEZdPhC\nEVo8QZo9Qdp6ghh0OmwmPTazAXvf7w6TgTRr/DID4Wis//HN3QH21nbxi1fLk/b3EUIIIaa7TLuJ\nHf98ecqfR8pCDCEcTW6A6QtFqW73Ud3uY2f10EUnjXo14ue3mfQUZ9godtsw6BQNXX4augK09AQl\nz0sIIYQYgjc09XJdZ13ANZlGE+z5QlGONHk40uRJ4YiEEEIIMRFmbwUyIYQQQogJIgGXEEIIIUSK\nScAlhBBCCJFiEnAJIYQQQqTYrEuaL3Hb+Pg5pZM9DCGEEEKkiFE/9arUz7qA66z8NL59w9LJHoYQ\nQgghZhFZUhRCCCGESDEJuIQQQgghUkwCLiGEEEKIFJOASwghhBAixSTgEkIIIYRIMQm4hBBCCCFS\nTAIuIYQQQogUk4BLCCGEECLFJOASQgghhEgxCbiEEEIIIVJMAi4hhBBCiBRTmqZN9hj6KaVagKrJ\nHscUkgW0TvYgpiC5LonJtYlPrkticm3ik+uSmFybU+ZompY9kgOnVMAlBlNKbdc0bd1kj2OqkeuS\nmFyb+OS6JCbXJj65LonJtRkbWVIUQgghhEgxCbiEEEIIIVJMAq6p7deTPYApSq5LYnJt4pPrkphc\nm/jkuiQm12YMJIdLCCGEECLFZIZLCCGEECLFJOCaApRS71dKHVBKxZRS6wbcXqqU8iuldvf9emDA\nfWuVUvuUUuVKqf9USqnJGX1qJbo2ffd9re/vf0QpdeWA26/qu61cKfWPEz/qiaWU+rZSqm7A6+Sa\nAffFvUazyWx7PQxFKVXZ976xWym1ve82t1LqRaXUsb7fMyZ7nBNBKfWgUqpZKbV/wG1xr4Xq9Z99\nr6G9Sqk1kzfy1EpwXeQ9Jgkk4Joa9gM3Aa/Hue+4pmmr+n7dM+D2+4G7gQV9v65K/TAnRdxro5Ra\nAtwGLKX3736fUkqvlNIDvwSuBpYAt/cdO9P9bMDr5K+Q+BpN5iAn2ix+PQzl4r7XyckvMP8IvKxp\n2gLg5b6fZ4OHOPN9M9G1uJpT77V30/v+O1M9RPzPE3mPGScJuKYATdMOaZp2ZKTHK6XygTRN097R\nepPwHgbel7IBTqIhrs1m4DFN04KaplUA5cCGvl/lmqad0DQtBDzWd+xslOgazSbyehjeZuB3fX/+\nHTP0veR0mqa9DrSfdnOia7EZeFjr9S6Q3vc+POMkuC6JyHvMKEjANfWVKaV2KaVeU0qd33dbIVA7\n4Jjavttmk0KgZsDPJ69Bottnus/0LXU8OGBJaLZei4HkGgymAS8opXYope7uuy1X07QGgL7fcyZt\ndJMv0bWQ15G8x4ybYbIHMFsopV4C8uLc9XVN055K8LAGoETTtDal1FrgL0qppUC8fK1pu910jNcm\n0TWI9yVi2l6bk4a6RvQub3yX3r/nd4GfAHcww14nYyTXYLBzNU2rV0rlAC8qpQ5P9oCmidn+OpL3\nmCSQgGuCaJp22RgeEwSCfX/eoZQ6Diyk91tE0YBDi4D6ZIxzMozl2tB7DYoH/DzwGiS6fdoa6TX6\n/+3cP2sUURSG8edFUUTsDGIZwd4ylaRSsEshWCWIhYp+B8FKbC0FS4U0gcW/X8E0NrEUETEknQhW\nG47FzEAQJ4U6uyHz/GDYGdiFy+FyOXvPuZPkKfCyfTwoRmNhDPapqm/t526SDZryz06S81W13ZbJ\nduc6yPnqi8Wo51FV7XT3rjF/z5LiIZZkoWtATHKBpmHzU7vV/SPJUns6cRXo2wk6qibAjSQnkyzS\nxOY9sAlcTLKY5ARNQ+dkjuMc3G+9JCs0Bw2gP0ZjMrr50CfJ6SRnunvgCs1cmQBr7dfWGN9asl9f\nLCbAantacQn43pUex8A15v9wh+sQSLICPAEWgFdJPlTVVeAy8DDJFNgD7lRV18x4l+Y0ySngTXsd\nOX2xqaqtJOvAR2AK3KuqvfY394F3wDHgWVVtzWn4s/I4ySWarfzPwG2Ag2I0FlU1HeF86HMO2Gj+\no3EceF5Vb5NsAutJbgFfgOtzHOPMJHkBLANnk3wFHgCP+HMsXgPXaJrCfwI3Zz7gGemJy7JrzL/z\nTfOSJEkDs6QoSZI0MBMuSZKkgZlwSZIkDcyES5IkaWAmXJIkSQMz4ZIkSRqYCZckSdLATLgkSZIG\n9gvSEXif7WCxhQAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, "metadata": {}, @@ -109,18 +109,18 @@ "data": { "text/html": [ "
\n", - "\n", "
\n", " \n", @@ -237,10 +237,10 @@ " '1506740400', '1509415200', '1512007200', '1514685600',\n", " '1517364000', '1519786800', '1522465200', '1525057200',\n", " '1527735600', '1530327600', '1533006000', '1535684400',\n", - " '1538276400', '1540951200', '1543543200', '1546221600',\n", + " '1538276400', '1540954800', '1543543200', '1546221600',\n", " '1548900000', '1551322800', '1554001200', '1556593200',\n", " '1559271600', '1561863600', '1564542000', '1567220400',\n", - " '1569812400', '1572487200', '1575079200', '1577757600'],\n", + " '1569812400', '1572490800', '1575079200', '1577757600'],\n", " dtype='\n", - "\n", "
\n", " \n", @@ -352,28 +352,28 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", "
14542056000.092870-0.3735930.5626860.696947
14567148000.656584-0.967168-0.8595470.692121
1459393200-0.126664-2.022788-0.3250920.183145
14619852001.664871-1.048451-1.4300400.543378
14646636000.8645340.832591-1.670341-0.148390
\n", @@ -381,11 +381,11 @@ ], "text/plain": [ " color opacity\n", - "1454205600 0.092870 -0.373593\n", - "1456714800 0.656584 -0.967168\n", - "1459393200 -0.126664 -2.022788\n", - "1461985200 1.664871 -1.048451\n", - "1464663600 0.864534 0.832591" + "1454205600 0.562686 0.696947\n", + "1456714800 -0.859547 0.692121\n", + "1459393200 -0.325092 0.183145\n", + "1461985200 -1.430040 0.543378\n", + "1464663600 -1.670341 -0.148390" ] }, "execution_count": 8, @@ -411,9 +411,9 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, "metadata": {}, @@ -462,7 +462,7 @@ "from branca.colormap import linear\n", "\n", "\n", - "cmap = linear.PuRd.scale(min_color, max_color)\n", + "cmap = linear.PuRd_09.scale(min_color, max_color)\n", "\n", "def norm(x):\n", " return (x - x.min()) / (x.max() - x.min())\n", @@ -481,18 +481,18 @@ "data": { "text/html": [ "
\n", - "\n", "\n", " \n", @@ -505,28 +505,28 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", "
1454205600#f1eef60.355321#e3d8eb0.341257
1456714800#f1eef60.274207#ede8f30.340823
1459393200#f1eef60.129953#e9e4f10.294992
1461985200#ebe2f00.263099#f0ecf50.327429
1464663600#f0ecf50.520150#f2eef60.265140
\n", @@ -534,11 +534,11 @@ ], "text/plain": [ " color opacity\n", - "1454205600 #f1eef6 0.355321\n", - "1456714800 #f1eef6 0.274207\n", - "1459393200 #f1eef6 0.129953\n", - "1461985200 #ebe2f0 0.263099\n", - "1464663600 #f0ecf5 0.520150" + "1454205600 #e3d8eb 0.341257\n", + "1456714800 #ede8f3 0.340823\n", + "1459393200 #e9e4f1 0.294992\n", + "1461985200 #f0ecf5 0.327429\n", + "1464663600 #f2eef6 0.265140" ] }, "execution_count": 12, @@ -588,10 +588,10 @@ { "data": { "text/html": [ - "
" + "
" ], "text/plain": [ - "" + "" ] }, "execution_count": 14, @@ -632,7 +632,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.5" } }, "nbformat": 4, diff --git a/folium/features.py b/folium/features.py index de8899c6e5..01b4983f2c 100644 --- a/folium/features.py +++ b/folium/features.py @@ -57,24 +57,7 @@ class RegularPolygonMarker(Marker): https://humangeo.github.io/leaflet-dvf/ """ - def __init__(self, location, color='black', opacity=1, weight=2, - fill_color='blue', fill_opacity=1, - number_of_sides=4, rotation=0, radius=15, popup=None): - super(RegularPolygonMarker, self).__init__( - _locations_tolist(location), - popup=popup - ) - self._name = 'RegularPolygonMarker' - self.color = color - self.opacity = opacity - self.weight = weight - self.fill_color = fill_color - self.fill_opacity = fill_opacity - self.number_of_sides = number_of_sides - self.rotation = rotation - self.radius = radius - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = new L.RegularPolygonMarker( new L.LatLng({{this.location[0]}},{{this.location[1]}}), @@ -94,6 +77,23 @@ def __init__(self, location, color='black', opacity=1, weight=2, {% endmacro %} """) + def __init__(self, location, color='black', opacity=1, weight=2, + fill_color='blue', fill_opacity=1, + number_of_sides=4, rotation=0, radius=15, popup=None): + super(RegularPolygonMarker, self).__init__( + _locations_tolist(location), + popup=popup + ) + self._name = 'RegularPolygonMarker' + self.color = color + self.opacity = opacity + self.weight = weight + self.fill_color = fill_color + self.fill_opacity = fill_opacity + self.number_of_sides = number_of_sides + self.rotation = rotation + self.radius = radius + def render(self, **kwargs): """Renders the HTML representation of the element.""" super(RegularPolygonMarker, self).render() @@ -136,6 +136,8 @@ class Vega(Element): Ex: 'relative', 'absolute' """ + _template = Template(u'') + def __init__(self, data, width=None, height=None, left='0%', top='0%', position='relative'): super(Vega, self).__init__() @@ -152,7 +154,6 @@ def __init__(self, data, width=None, height=None, self.left = _parse_size(left) self.top = _parse_size(top) self.position = position - self._template = Template(u'') def render(self, **kwargs): """Renders the HTML representation of the element.""" @@ -227,6 +228,8 @@ class VegaLite(Element): Ex: 'relative', 'absolute' """ + _template = Template(u'') + def __init__(self, data, width=None, height=None, left='0%', top='0%', position='relative'): super(VegaLite, self).__init__() @@ -243,7 +246,6 @@ def __init__(self, data, width=None, height=None, self.left = _parse_size(left) self.top = _parse_size(top) self.position = position - self._template = Template(u'') def render(self, **kwargs): """Renders the HTML representation of the element.""" @@ -313,10 +315,12 @@ class GeoJson(Layer): Function mapping a GeoJson Feature to a style dict for mouse events. name : string, default None The name of the Layer, as it will appear in LayerControls - overlay : bool, default False + overlay : bool, default True Adds the layer as an optional overlay (True) or the base layer (False). control : bool, default True Whether the Layer will be included in LayerControls + show: bool, default True + Whether the layer will be shown on opening (only for overlays). smooth_factor: float, default None How much to simplify the polyline on each zoom level. More means better performance and smoother look, and less means more accurate @@ -340,48 +344,7 @@ class GeoJson(Layer): >>> GeoJson(geojson, style_function=style_function) """ - def __init__(self, data, style_function=None, name=None, - overlay=True, control=True, smooth_factor=None, - highlight_function=None, tooltip=None): - super(GeoJson, self).__init__(name=name, overlay=overlay, - control=control) - self._name = 'GeoJson' - self.tooltip = tooltip - if isinstance(data, dict): - self.embed = True - self.data = data - elif isinstance(data, text_type) or isinstance(data, binary_type): - self.embed = True - if data.lower().startswith(('http:', 'ftp:', 'https:')): - self.data = requests.get(data).json() - elif data.lstrip()[0] in '[{': # This is a GeoJSON inline string - self.data = json.loads(data) - else: # This is a filename - with open(data) as f: - self.data = json.loads(f.read()) - elif data.__class__.__name__ in ['GeoDataFrame', 'GeoSeries']: - self.embed = True - if hasattr(data, '__geo_interface__'): - # We have a GeoPandas 0.2 object. - self.data = json.loads(json.dumps(data.to_crs(epsg='4326').__geo_interface__)) # noqa - elif hasattr(data, 'columns'): - # We have a GeoDataFrame 0.1 - self.data = json.loads(data.to_crs(epsg='4326').to_json()) - else: - msg = 'Unable to transform this object to a GeoJSON.' - raise ValueError(msg) - else: - raise ValueError('Unhandled object {!r}.'.format(data)) - - self.style_function = style_function or (lambda x: {}) - - self.highlight = highlight_function is not None - - self.highlight_function = highlight_function or (lambda x: {}) - - self.smooth_factor = smooth_factor - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} {% if this.highlight %} @@ -421,6 +384,47 @@ def __init__(self, data, style_function=None, name=None, {% endmacro %} """) # noqa + def __init__(self, data, style_function=None, name=None, + overlay=True, control=True, show=True, + smooth_factor=None, highlight_function=None, tooltip=None): + super(GeoJson, self).__init__(name=name, overlay=overlay, + control=control, show=show) + self._name = 'GeoJson' + self.tooltip = tooltip + if isinstance(data, dict): + self.embed = True + self.data = data + elif isinstance(data, text_type) or isinstance(data, binary_type): + self.embed = True + if data.lower().startswith(('http:', 'ftp:', 'https:')): + self.data = requests.get(data).json() + elif data.lstrip()[0] in '[{': # This is a GeoJSON inline string + self.data = json.loads(data) + else: # This is a filename + with open(data) as f: + self.data = json.loads(f.read()) + elif data.__class__.__name__ in ['GeoDataFrame', 'GeoSeries']: + self.embed = True + if hasattr(data, '__geo_interface__'): + # We have a GeoPandas 0.2 object. + self.data = json.loads(json.dumps(data.to_crs(epsg='4326').__geo_interface__)) # noqa + elif hasattr(data, 'columns'): + # We have a GeoDataFrame 0.1 + self.data = json.loads(data.to_crs(epsg='4326').to_json()) + else: + msg = 'Unable to transform this object to a GeoJSON.' + raise ValueError(msg) + else: + raise ValueError('Unhandled object {!r}.'.format(data)) + + self.style_function = style_function or (lambda x: {}) + + self.highlight = highlight_function is not None + + self.highlight_function = highlight_function or (lambda x: {}) + + self.smooth_factor = smooth_factor + def style_data(self): """ Applies `self.style_function` to each feature of `self.data` and @@ -471,7 +475,9 @@ class TopoJson(Layer): overlay : bool, default False Adds the layer as an optional overlay (True) or the base layer (False). control : bool, default True - Whether the Layer will be included in LayerControls + Whether the Layer will be included in LayerControls. + show: bool, default True + Whether the layer will be shown on opening (only for overlays). smooth_factor: float, default None How much to simplify the polyline on each zoom level. More means better performance and smoother look, and less means more accurate @@ -495,11 +501,28 @@ class TopoJson(Layer): >>> TopoJson(topo_json, 'object.myobject', style_function=style_function) """ + _template = Template(u""" + {% macro script(this, kwargs) %} + var {{this.get_name()}}_data = {{this.style_data()}}; + var {{this.get_name()}} = L.geoJson(topojson.feature( + {{this.get_name()}}_data, + {{this.get_name()}}_data.{{this.object_path}}) + {% if this.smooth_factor is not none %} + , {smoothFactor: {{this.smooth_factor}}} + {% endif %} + ) + {% if this.tooltip %}.bindTooltip("{{this.tooltip.__str__()}}"){% endif %} + .addTo({{this._parent.get_name()}}); + {{this.get_name()}}.setStyle(function(feature) {return feature.properties.style;}); + + {% endmacro %} + """) # noqa + def __init__(self, data, object_path, style_function=None, - name=None, overlay=True, control=True, smooth_factor=None, - tooltip=None): + name=None, overlay=True, control=True, show=True, + smooth_factor=None, tooltip=None): super(TopoJson, self).__init__(name=name, overlay=overlay, - control=control) + control=control, show=show) self._name = 'TopoJson' self.tooltip = tooltip if 'read' in dir(data): @@ -521,23 +544,6 @@ def style_function(x): self.smooth_factor = smooth_factor - self._template = Template(u""" - {% macro script(this, kwargs) %} - var {{this.get_name()}}_data = {{this.style_data()}}; - var {{this.get_name()}} = L.geoJson(topojson.feature( - {{this.get_name()}}_data, - {{this.get_name()}}_data.{{this.object_path}}) - {% if this.smooth_factor is not none %} - , {smoothFactor: {{this.smooth_factor}}} - {% endif %} - ) - {% if this.tooltip %}.bindTooltip("{{this.tooltip.__str__()}}"){% endif %} - .addTo({{this._parent.get_name()}}); - {{this.get_name()}}.setStyle(function(feature) {return feature.properties.style;}); - - {% endmacro %} - """) # noqa - def style_data(self): """ Applies self.style_function to each feature of self.data and returns @@ -627,17 +633,7 @@ class DivIcon(MacroElement): http://leafletjs.com/reference-1.2.0.html#divicon """ - def __init__(self, html=None, icon_size=None, icon_anchor=None, - popup_anchor=None, class_name='empty'): - super(DivIcon, self).__init__() - self._name = 'DivIcon' - self.icon_size = icon_size - self.icon_anchor = icon_anchor - self.popup_anchor = popup_anchor - self.html = html - self.className = class_name - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.divIcon({ @@ -651,6 +647,16 @@ def __init__(self, html=None, icon_size=None, icon_anchor=None, {% endmacro %} """) # noqa + def __init__(self, html=None, icon_size=None, icon_anchor=None, + popup_anchor=None, class_name='empty'): + super(DivIcon, self).__init__() + self._name = 'DivIcon' + self.icon_size = icon_size + self.icon_anchor = icon_anchor + self.popup_anchor = popup_anchor + self.html = html + self.className = class_name + class LatLngPopup(MacroElement): """ @@ -658,11 +664,7 @@ class LatLngPopup(MacroElement): a popup is shown that displays the latitude and longitude of the pointer. """ - def __init__(self): - super(LatLngPopup, self).__init__() - self._name = 'LatLngPopup' - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.popup(); function latLngPop(e) { @@ -676,6 +678,10 @@ def __init__(self): {% endmacro %} """) # noqa + def __init__(self): + super(LatLngPopup, self).__init__() + self._name = 'LatLngPopup' + class ClickForMarker(MacroElement): """ @@ -689,16 +695,7 @@ class ClickForMarker(MacroElement): If None, the popups will display the marker's latitude and longitude. """ - def __init__(self, popup=None): - super(ClickForMarker, self).__init__() - self._name = 'ClickForMarker' - - if popup: - self.popup = ''.join(['"', popup, '"']) - else: - self.popup = '"Latitude: " + lat + "
Longitude: " + lng ' - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} function newMarker(e){ var new_mark = L.marker().setLatLng(e.latlng).addTo({{this._parent.get_name()}}); @@ -712,6 +709,15 @@ def __init__(self, popup=None): {% endmacro %} """) # noqa + def __init__(self, popup=None): + super(ClickForMarker, self).__init__() + self._name = 'ClickForMarker' + + if popup: + self.popup = ''.join(['"', popup, '"']) + else: + self.popup = '"Latitude: " + lat + "
Longitude: " + lng ' + class CustomIcon(Icon): """ @@ -746,22 +752,7 @@ class CustomIcon(Icon): relative to the icon anchor. """ - def __init__(self, icon_image, icon_size=None, icon_anchor=None, - shadow_image=None, shadow_size=None, shadow_anchor=None, - popup_anchor=None): - super(Icon, self).__init__() - self._name = 'CustomIcon' - self.icon_url = image_to_url(icon_image) - self.icon_size = icon_size - self.icon_anchor = icon_anchor - - self.shadow_url = (image_to_url(shadow_image) - if shadow_image is not None else None) - self.shadow_size = shadow_size - self.shadow_anchor = shadow_anchor - self.popup_anchor = popup_anchor - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.icon({ @@ -779,6 +770,21 @@ def __init__(self, icon_image, icon_size=None, icon_anchor=None, {% endmacro %} """) # noqa + def __init__(self, icon_image, icon_size=None, icon_anchor=None, + shadow_image=None, shadow_size=None, shadow_anchor=None, + popup_anchor=None): + super(Icon, self).__init__() + self._name = 'CustomIcon' + self.icon_url = image_to_url(icon_image) + self.icon_size = icon_size + self.icon_anchor = icon_anchor + + self.shadow_url = (image_to_url(shadow_image) + if shadow_image is not None else None) + self.shadow_size = shadow_size + self.shadow_anchor = shadow_anchor + self.popup_anchor = popup_anchor + class ColorLine(FeatureGroup): """ diff --git a/folium/folium.py b/folium/folium.py index a0082a6960..06aee2bd90 100644 --- a/folium/folium.py +++ b/folium/folium.py @@ -53,6 +53,15 @@ class GlobalSwitches(Element): + + _template = Template( + '' + ) + def __init__(self, prefer_canvas=False, no_touch=False, disable_3d=False): super(GlobalSwitches, self).__init__() self._name = 'GlobalSwitches' @@ -61,14 +70,6 @@ def __init__(self, prefer_canvas=False, no_touch=False, disable_3d=False): self.no_touch = no_touch self.disable_3d = disable_3d - self._template = Template( - '' - ) - class Map(MacroElement): """Create a Map with Folium and Leaflet.js @@ -101,8 +102,13 @@ class Map(MacroElement): pass a custom URL or pass `None` to create a map without tiles. API_key: str, default None API key for Cloudmade or Mapbox tiles. + min_zoom: int, default 0 + Minimum allowed zoom level for the tile layer that is created. max_zoom: int, default 18 - Maximum zoom depth for the map. + Maximum allowed zoom level for the tile layer that is created. + max_native_zoom: int, default None + The highest zoom level at which the tile server can provide tiles. + If provided you can zoom in past this level. Else tiles will turn grey. zoom_start: int, default 10 Initial zoom level for the map. attr: string, default None @@ -160,11 +166,58 @@ class Map(MacroElement): ...) """ + _template = Template(u""" +{% macro header(this, kwargs) %} + +{% endmacro %} +{% macro html(this, kwargs) %} +
+{% endmacro %} + +{% macro script(this, kwargs) %} + {% if this.max_bounds %} + var southWest = L.latLng({{ this.min_lat }}, {{ this.min_lon }}); + var northEast = L.latLng({{ this.max_lat }}, {{ this.max_lon }}); + var bounds = L.latLngBounds(southWest, northEast); + {% else %} + var bounds = null; + {% endif %} + + var {{this.get_name()}} = L.map( + '{{this.get_name()}}', { + center: [{{this.location[0]}}, {{this.location[1]}}], + zoom: {{this.zoom_start}}, + maxBounds: bounds, + layers: [], + worldCopyJump: {{this.world_copy_jump.__str__().lower()}}, + crs: L.CRS.{{this.crs}} + }); +{% if this.control_scale %}L.control.scale().addTo({{this.get_name()}});{% endif %} + + {% if this.objects_to_stay_in_front %} + function objects_in_front() { + {% for obj in this.objects_to_stay_in_front %} + {{ obj.get_name() }}.bringToFront(); + {% endfor %} + }; + +{{ this.get_name() }}.on("overlayadd", objects_in_front); +$(document).ready(objects_in_front); +{% endif %} +{% endmacro %} +""") # noqa def __init__(self, location=None, width='100%', height='100%', left='0%', top='0%', position='relative', - tiles='OpenStreetMap', API_key=None, max_zoom=18, min_zoom=1, - zoom_start=10, world_copy_jump=False, + tiles='OpenStreetMap', API_key=None, max_zoom=18, min_zoom=0, + max_native_zoom=None, zoom_start=10, world_copy_jump=False, no_wrap=False, attr=None, min_lat=-90, max_lat=90, min_lon=-180, max_lon=180, max_bounds=False, detect_retina=False, crs='EPSG3857', control_scale=False, @@ -178,9 +231,9 @@ def __init__(self, location=None, width='100%', height='100%', self.png_enabled = png_enabled if not location: - # If location is not passed we center and ignore zoom. + # If location is not passed we center and zoom out. self.location = [0, 0] - self.zoom_start = min_zoom + self.zoom_start = 1 else: self.location = _validate_location(location) self.zoom_start = zoom_start @@ -211,52 +264,16 @@ def __init__(self, location=None, width='100%', height='100%', disable_3d ) + self.objects_to_stay_in_front = [] + if tiles: self.add_tile_layer( tiles=tiles, min_zoom=min_zoom, max_zoom=max_zoom, - no_wrap=no_wrap, attr=attr, + max_native_zoom=max_native_zoom, no_wrap=no_wrap, attr=attr, API_key=API_key, detect_retina=detect_retina, subdomains=subdomains ) - self._template = Template(u""" - {% macro header(this, kwargs) %} - - {% endmacro %} - {% macro html(this, kwargs) %} -
- {% endmacro %} - - {% macro script(this, kwargs) %} - - {% if this.max_bounds %} - var southWest = L.latLng({{ this.min_lat }}, {{ this.min_lon }}); - var northEast = L.latLng({{ this.max_lat }}, {{ this.max_lon }}); - var bounds = L.latLngBounds(southWest, northEast); - {% else %} - var bounds = null; - {% endif %} - - var {{this.get_name()}} = L.map( - '{{this.get_name()}}', - {center: [{{this.location[0]}},{{this.location[1]}}], - zoom: {{this.zoom_start}}, - maxBounds: bounds, - layers: [], - worldCopyJump: {{this.world_copy_jump.__str__().lower()}}, - crs: L.CRS.{{this.crs}} - }); - {% if this.control_scale %}L.control.scale().addTo({{this.get_name()}});{% endif %} - {% endmacro %} - """) # noqa - def _repr_html_(self, **kwargs): """Displays the HTML Map in a Jupyter notebook.""" if self._parent is None: @@ -309,8 +326,8 @@ def _repr_png_(self): return self._to_png() def add_tile_layer(self, tiles='OpenStreetMap', name=None, - API_key=None, max_zoom=18, min_zoom=1, - attr=None, active=False, + API_key=None, max_zoom=18, min_zoom=0, + max_native_zoom=None, attr=None, active=False, detect_retina=False, no_wrap=False, subdomains='abc', **kwargs): """ @@ -319,6 +336,7 @@ def add_tile_layer(self, tiles='OpenStreetMap', name=None, """ tile_layer = TileLayer(tiles=tiles, name=name, min_zoom=min_zoom, max_zoom=max_zoom, + max_native_zoom=max_native_zoom, attr=attr, API_key=API_key, detect_retina=detect_retina, subdomains=subdomains, @@ -431,14 +449,15 @@ def choropleth(self, geo_data, data=None, columns=None, key_on=None, Parameters ---------- geo_data: string/object - URL, file path, or data (json, dict, geopandas, etc) to your GeoJSON geometries + URL, file path, or data (json, dict, geopandas, etc) to your GeoJSON + geometries data: Pandas DataFrame or Series, default None Data to bind to the GeoJSON. columns: dict or tuple, default None If the data is a Pandas DataFrame, the columns of data to be bound. Must pass column 1 as the key, and column 2 the values. key_on: string, default None - Variable in the GeoJSON file to bind the data to. Must always + Variable in the `geo_data` GeoJSON file to bind the data to. Must start with 'feature' and be in JavaScript objection notation. Ex: 'feature.id' or 'feature.properties.statename'. threshold_scale: list, default None @@ -495,8 +514,9 @@ def choropleth(self, geo_data, data=None, columns=None, key_on=None, ... highlight=True) """ - if threshold_scale and len(threshold_scale) > 6: - raise ValueError + if threshold_scale is not None and len(threshold_scale) > 6: + raise ValueError('The length of threshold_scale is {}, but it may ' + 'not be longer than 6.'.format(len(threshold_scale))) # noqa if data is not None and not color_brewer(fill_color): raise ValueError('Please pass a valid color brewer code to ' 'fill_local. See docstring for valid codes.') @@ -514,7 +534,7 @@ def choropleth(self, geo_data, data=None, columns=None, key_on=None, color_data = None # Compute color_domain - if threshold_scale: + if threshold_scale is not None: color_domain = list(threshold_scale) elif color_data: # To avoid explicit pandas dependency ; changed default behavior. @@ -533,7 +553,7 @@ def choropleth(self, geo_data, data=None, columns=None, key_on=None, else: color_domain = None - if color_domain and key_on: + if color_domain and key_on is not None: key_on = key_on[8:] if key_on.startswith('feature.') else key_on color_range = color_brewer(fill_color, n=len(color_domain)) @@ -543,10 +563,14 @@ def get_by_key(obj, key): '.'.join(key.split('.')[1:]))) def color_scale_fun(x): - return color_range[len( - [u for u in color_domain if - get_by_key(x, key_on) in color_data and - u <= color_data[get_by_key(x, key_on)]])] + idx = len( + [ + u for u in color_domain if + get_by_key(x, key_on) in color_data and + u <= color_data[get_by_key(x, key_on)] + ] + ) + return color_range[idx-1] else: def color_scale_fun(x): return fill_color @@ -594,3 +618,17 @@ def highlight_function(x): caption=legend_name, ) self.add_child(color_scale) + + def keep_in_front(self, *args): + """Pass one or multiples object that must stay in front. + + The ordering matters, the last one is put on top. + + Parameters + ---------- + *args : + Variable length argument list. Any folium object that counts as an + overlay. For example FeatureGroup or a vector object such as Marker. + """ + for obj in args: + self.objects_to_stay_in_front.append(obj) diff --git a/folium/map.py b/folium/map.py index 47099847a6..c2fb726134 100644 --- a/folium/map.py +++ b/folium/map.py @@ -33,12 +33,15 @@ class Layer(MacroElement): Adds the layer as an optional overlay (True) or the base layer (False). control : bool, default True Whether the Layer will be included in LayerControls. + show: bool, default True + Whether the layer will be shown on opening (only for overlays). """ - def __init__(self, name=None, overlay=False, control=True): + def __init__(self, name=None, overlay=False, control=True, show=True): super(Layer, self).__init__() self.layer_name = name if name is not None else self.get_name() self.overlay = overlay self.control = control + self.show = show class FeatureGroup(Layer): @@ -56,20 +59,25 @@ class FeatureGroup(Layer): overlay : bool, default True Whether your layer will be an overlay (ticked with a check box in LayerControls) or a base layer (ticked with a radio button). + control: bool, default True + Whether the layer will be included in LayerControls. + show: bool, default True + Whether the layer will be shown on opening (only for overlays). """ - def __init__(self, name=None, overlay=True, control=True): - super(FeatureGroup, self).__init__(overlay=overlay, control=control, name=name) # noqa - self._name = 'FeatureGroup' - - self.tile_name = name if name is not None else self.get_name() - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.featureGroup( ).addTo({{this._parent.get_name()}}); {% endmacro %} """) + def __init__(self, name=None, overlay=True, control=True, show=True): + super(FeatureGroup, self).__init__(name=name, overlay=overlay, + control=control, show=show) + self._name = 'FeatureGroup' + + self.tile_name = name if name is not None else self.get_name() + class LayerControl(MacroElement): """ @@ -90,16 +98,7 @@ class LayerControl(MacroElement): its layers so that the order is preserved when switching them on/off. default: True """ - def __init__(self, position='topright', collapsed=True, autoZIndex=True): - super(LayerControl, self).__init__() - self._name = 'LayerControl' - self.position = position - self.collapsed = str(collapsed).lower() - self.autoZIndex = str(autoZIndex).lower() - self.base_layers = OrderedDict() - self.overlays = OrderedDict() - - self._template = Template(""" + _template = Template(""" {% macro script(this,kwargs) %} var {{this.get_name()}} = { base_layers : { {% for key,val in this.base_layers.items() %}"{{key}}" : {{val}},{% endfor %} }, @@ -112,23 +111,37 @@ def __init__(self, position='topright', collapsed=True, autoZIndex=True): collapsed: {{this.collapsed}}, autoZIndex: {{this.autoZIndex}} }).addTo({{this._parent.get_name()}}); + {% for val in this.layers_untoggle %} + {{ val }}.remove();{% endfor %} {% endmacro %} """) # noqa + def __init__(self, position='topright', collapsed=True, autoZIndex=True): + super(LayerControl, self).__init__() + self._name = 'LayerControl' + self.position = position + self.collapsed = str(collapsed).lower() + self.autoZIndex = str(autoZIndex).lower() + self.base_layers = OrderedDict() + self.overlays = OrderedDict() + self.layers_untoggle = [] + def render(self, **kwargs): """Renders the HTML representation of the element.""" - # We select all Layers for which (control and not overlay). self.base_layers = OrderedDict( [(val.layer_name, val.get_name()) for key, val in - self._parent._children.items() if isinstance(val, Layer) and - (not hasattr(val, 'overlay') or not val.overlay) and - (not hasattr(val, 'control') or val.control)]) - # We select all Layers for which (control and overlay). + self._parent._children.items() if isinstance(val, Layer) + and not val.overlay and val.control]) self.overlays = OrderedDict( [(val.layer_name, val.get_name()) for key, val in - self._parent._children.items() if isinstance(val, Layer) and - (hasattr(val, 'overlay') and val.overlay) and - (not hasattr(val, 'control') or val.control)]) + self._parent._children.items() if isinstance(val, Layer) + and val.overlay and val.control]) + self.layers_untoggle = [ + val.get_name() for val in + self._parent._children.values() if isinstance(val, Layer) + and val.overlay and val.control and not val.show] + for additional_base_layer in list(self.base_layers.values())[1:]: + self.layers_untoggle.append(additional_base_layer) super(LayerControl, self).render() @@ -165,17 +178,7 @@ class Icon(MacroElement): https://github.com/lvoogdt/Leaflet.awesome-markers """ - def __init__(self, color='blue', icon_color='white', icon='info-sign', - angle=0, prefix='glyphicon'): - super(Icon, self).__init__() - self._name = 'Icon' - self.color = color - self.icon = icon - self.icon_color = icon_color - self.angle = angle - self.prefix = prefix - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.AwesomeMarkers.icon({ @@ -189,6 +192,16 @@ def __init__(self, color='blue', icon_color='white', icon='info-sign', {% endmacro %} """) + def __init__(self, color='blue', icon_color='white', icon='info-sign', + angle=0, prefix='glyphicon'): + super(Icon, self).__init__() + self._name = 'Icon' + self.color = color + self.icon = icon + self.icon_color = icon_color + self.angle = angle + self.prefix = prefix + class Marker(MacroElement): """ @@ -200,7 +213,8 @@ class Marker(MacroElement): location: tuple or list, default None Latitude and Longitude of Marker (Northing, Easting) popup: string or folium.Popup, default None - Input text or visualization for object. + Label for the Marker; either an escaped HTML string to initialize + folium.Popup or a folium.Popup instance. icon: Icon plugin the Icon plugin to use to render the marker. @@ -212,21 +226,11 @@ class Marker(MacroElement): -------- >>> Marker(location=[45.5, -122.3], popup='Portland, OR') >>> Marker(location=[45.5, -122.3], popup=folium.Popup('Portland, OR')) - + # If the popup label has characters that need to be escaped in HTML + >>> Marker(location=[45.5, -122.3], + popoup=folium.Popup('Mom & Pop Arrow Shop >>', parse_html=True)) """ - def __init__(self, location, popup=None, tooltip=None, icon=None): - super(Marker, self).__init__() - self._name = 'Marker' - self.tooltip = tooltip - self.location = _validate_coordinates(location) - if icon is not None: - self.add_child(icon) - if isinstance(popup, text_type) or isinstance(popup, binary_type): - self.add_child(Popup(popup)) - elif popup is not None: - self.add_child(popup) - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.marker( @@ -240,6 +244,18 @@ def __init__(self, location, popup=None, tooltip=None, icon=None): {% endmacro %} """) + def __init__(self, location, popup=None, tooltip=None, icon=None): + super(Marker, self).__init__() + self._name = 'Marker' + self.tooltip = tooltip + self.location = _validate_coordinates(location) + if icon is not None: + self.add_child(icon) + if isinstance(popup, text_type) or isinstance(popup, binary_type): + self.add_child(Popup(popup)) + elif popup is not None: + self.add_child(popup) + def _get_self_bounds(self): """ Computes the bounds of the object itself (not including it's children) @@ -260,8 +276,30 @@ class Popup(Element): True if the popup is a template that needs to the rendered first. max_width: int, default 300 The maximal width of the popup. + show: bool, default False + True renders the popup open on page load. + sticky: bool, default False + True prevents map and other popup clicks from closing. """ - def __init__(self, html=None, parse_html=False, max_width=300): + _template = Template(u""" + var {{this.get_name()}} = L.popup({maxWidth: '{{this.max_width}}' + {% if this.show or this.sticky %}, autoClose: false{% endif %} + {% if this.sticky %}, closeOnClick: false{% endif %}}); + + {% for name, element in this.html._children.items() %} + var {{name}} = $('{{element.render(**kwargs).replace('\\n',' ')}}')[0]; + {{this.get_name()}}.setContent({{name}}); + {% endfor %} + + {{this._parent.get_name()}}.bindPopup({{this.get_name()}}) + {% if this.show %}.openPopup(){% endif %}; + + {% for name, element in this.script._children.items() %} + {{element.render()}} + {% endfor %} + """) # noqa + + def __init__(self, html=None, parse_html=False, max_width=300, show=False, sticky=False): super(Popup, self).__init__() self._name = 'Popup' self.header = Element() @@ -280,21 +318,8 @@ def __init__(self, html=None, parse_html=False, max_width=300): self.html.add_child(Html(text_type(html), script=script)) self.max_width = max_width - - self._template = Template(u""" - var {{this.get_name()}} = L.popup({maxWidth: '{{this.max_width}}'}); - - {% for name, element in this.html._children.items() %} - var {{name}} = $('{{element.render(**kwargs).replace('\\n',' ')}}')[0]; - {{this.get_name()}}.setContent({{name}}); - {% endfor %} - - {{this._parent.get_name()}}.bindPopup({{this.get_name()}}); - - {% for name, element in this.script._children.items() %} - {{element.render()}} - {% endfor %} - """) # noqa + self.show = show + self.sticky = sticky def render(self, **kwargs): """Renders the HTML representation of the element.""" @@ -330,6 +355,19 @@ class FitBounds(MacroElement): max_zoom: int, default None Maximum zoom to be used. """ + _template = Template(u""" + {% macro script(this, kwargs) %} + {% if this.autobounds %} + var autobounds = L.featureGroup({{ this.features }}).getBounds() + {% endif %} + + {{this._parent.get_name()}}.fitBounds( + {% if this.bounds %}{{ this.bounds }}{% else %}"autobounds"{% endif %}, + {{ this.fit_bounds_options }} + ); + {% endmacro %} + """) # noqa + def __init__(self, bounds, padding_top_left=None, padding_bottom_right=None, padding=None, max_zoom=None): super(FitBounds, self).__init__() @@ -344,16 +382,3 @@ def __init__(self, bounds, padding_top_left=None, self.fit_bounds_options = json.dumps({key: val for key, val in options.items() if val}, sort_keys=True) - - self._template = Template(u""" - {% macro script(this, kwargs) %} - {% if this.autobounds %} - var autobounds = L.featureGroup({{ this.features }}).getBounds() - {% endif %} - - {{this._parent.get_name()}}.fitBounds( - {% if this.bounds %}{{ this.bounds }}{% else %}"autobounds"{% endif %}, - {{ this.fit_bounds_options }} - ); - {% endmacro %} - """) # noqa diff --git a/folium/plugins/__init__.py b/folium/plugins/__init__.py index 6f09f78ad7..f34798f6fe 100644 --- a/folium/plugins/__init__.py +++ b/folium/plugins/__init__.py @@ -4,12 +4,13 @@ Folium plugins -------------- -Wrap some of the most populat leaflet external plugins. +Wrap some of the most popular leaflet external plugins. """ from __future__ import (absolute_import, division, print_function) +from folium.plugins.beautify_icon import BeautifyIcon from folium.plugins.boat_marker import BoatMarker from folium.plugins.draw import Draw from folium.plugins.fast_marker_cluster import FastMarkerCluster @@ -28,6 +29,7 @@ from folium.plugins.search import Search __all__ = [ + 'BeautifyIcon', 'BoatMarker', 'Draw', 'FastMarkerCluster', diff --git a/folium/plugins/beautify_icon.py b/folium/plugins/beautify_icon.py new file mode 100644 index 0000000000..0e5243c2c9 --- /dev/null +++ b/folium/plugins/beautify_icon.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- + +from __future__ import (absolute_import, division, print_function) + +import json + +from branca.element import Figure, JavascriptLink, CssLink, MacroElement + +from six import iteritems + +from jinja2 import Template + + +class BeautifyIcon(MacroElement): + """ + Create a BeautifyIcon that can be added to a Marker + + Parameters + ---------- + icon: string, default None + the Font-Awesome icon name to use to render the marker. + icon_shape: string, default None + the icon shape + border_width: integer, default 3 + the border width of the icon + border_color: string with hexadecimal RGB, default '#000' + the border color of the icon + text_color: string with hexadecimal RGB, default '#000' + the text color of the icon + background_color: string with hexadecimal RGB, default '#FFF' + the background color of the icon + inner_icon_style: string with css styles for the icon, default '' + the css styles of the icon + spin: boolean, default False + allow the icon to be spinning. + number: integer, default None + the number of the icon. + + Examples + -------- + Plugin Website: https://github.com/marslan390/BeautifyMarker + >>> BeautifyIcon(text_color='#000', border_color='transparent', + background_color='#FFF').add_to(marker) + >>> number_icon = BeautifyIcon(text_color='#000', border_color='transparent', + background_color='#FFF', number=10, + inner_icon_style='font-size:12px;padding-top:-5px;') + >>> Marker(location=[45.5, -122.3], popup=folium.Popup('Portland, OR'), icon=number_icon) + >>> BeautifyIcon(icon='arrow-down', icon_shape='marker').add_to(marker) + """ + ICON_SHAPE_TYPES = ['circle', 'circle-dot', 'doughnut', 'rectangle-dot', + 'marker', None] + + def __init__(self, icon=None, icon_shape=None, border_width=3, border_color='#000', text_color='#000', + background_color='#FFF', inner_icon_style='', spin=False, + number=None): + super(BeautifyIcon, self).__init__() + self._name = 'BeautifyIcon' + + options = { + 'icon': icon, + 'iconShape': icon_shape, + 'borderWidth': border_width, + 'borderColor': border_color, + 'textColor': text_color, + 'backgroundColor': background_color, + 'innerIconStyle': inner_icon_style, + 'spin': spin, + 'isAlphaNumericIcon': number is not None, + 'text': number + } + # Must remove key/values where the value is None/undefined + options = {k: v for k, v in iteritems(options) if v is not None} + self.options = json.dumps(options, sort_keys=True, indent=2) + + self._template = Template(u""" + {% macro script(this, kwargs) %} + var {{this.get_name()}} = new L.BeautifyIcon.icon({{ this.options }}) + {{this._parent.get_name()}}.setIcon({{this.get_name()}}); + {% endmacro %} + """) + + def render(self, **kwargs): + super(BeautifyIcon, self).render(**kwargs) + + figure = self.get_root() + assert isinstance(figure, Figure), ('You cannot render this Element ' + 'if it is not in a Figure.') + figure.header.add_child( + CssLink('https://cdn.rawgit.com/marslan390/BeautifyMarker/master/leaflet-beautify-marker-icon.css'), # noqa + name='beautify_icon_css') + + figure.header.add_child( + JavascriptLink('https://cdn.rawgit.com/marslan390/BeautifyMarker/master/leaflet-beautify-marker-icon.js'), # noqa + name='beautify_icon_js') diff --git a/folium/plugins/boat_marker.py b/folium/plugins/boat_marker.py index 82cf68c2f3..323d2d2ace 100644 --- a/folium/plugins/boat_marker.py +++ b/folium/plugins/boat_marker.py @@ -34,6 +34,19 @@ class BoatMarker(Marker): Speed of the wind in knots. """ + _template = Template(u""" + {% macro script(this, kwargs) %} + var {{this.get_name()}} = L.boatMarker( + [{{this.location[0]}},{{this.location[1]}}], + {{this.kwargs}}).addTo({{this._parent.get_name()}}); + {% if this.wind_heading is not none -%} + {{this.get_name()}}.setHeadingWind({{this.heading}}, {{this.wind_speed}}, {{this.wind_heading}}); + {% else -%} + {{this.get_name()}}.setHeading({{this.heading}}); + {% endif -%} + {% endmacro %} + """) # noqa + def __init__(self, location, popup=None, icon=None, heading=0, wind_heading=None, wind_speed=0, **kwargs): super(BoatMarker, self).__init__( @@ -47,15 +60,6 @@ def __init__(self, location, popup=None, icon=None, self.wind_speed = wind_speed self.kwargs = json.dumps(kwargs) - self._template = Template(u""" - {% macro script(this, kwargs) %} - var {{this.get_name()}} = L.boatMarker( - [{{this.location[0]}},{{this.location[1]}}], - {{this.kwargs}}).addTo({{this._parent.get_name()}}); - {{this.get_name()}}.setHeadingWind({{this.heading}}, {{this.wind_speed}}, {{this.wind_heading}}); - {% endmacro %} - """) # noqa - def render(self, **kwargs): super(BoatMarker, self).render(**kwargs) diff --git a/folium/plugins/draw.py b/folium/plugins/draw.py index 1c3b843ec7..403e3daa97 100644 --- a/folium/plugins/draw.py +++ b/folium/plugins/draw.py @@ -20,12 +20,7 @@ class Draw(MacroElement): https://leaflet.github.io/Leaflet.draw/docs/leaflet-draw-latest.html """ - def __init__(self, export=False): - super(Draw, self).__init__() - self._name = 'DrawControl' - self.export = export - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} // FeatureGroup is to store editable layers. var drawnItems = new L.featureGroup().addTo({{this._parent.get_name()}}); @@ -57,6 +52,11 @@ def __init__(self, export=False): {% endmacro %} """) + def __init__(self, export=False): + super(Draw, self).__init__() + self._name = 'DrawControl' + self.export = export + def render(self, **kwargs): super(Draw, self).render() diff --git a/folium/plugins/fast_marker_cluster.py b/folium/plugins/fast_marker_cluster.py index 054eac4c15..b42cd281a6 100644 --- a/folium/plugins/fast_marker_cluster.py +++ b/folium/plugins/fast_marker_cluster.py @@ -25,33 +25,21 @@ class FastMarkerCluster(MarkerCluster): data: list List of list of shape [[], []]. Data points should be of the form [[lat, lng]]. - callback: string, default None A string representation of a valid Javascript function that will be passed a lat, lon coordinate pair. See the FasterMarkerCluster for an example of a custom callback. + name : string, default None + The name of the Layer, as it will appear in LayerControls. + overlay : bool, default True + Adds the layer as an optional overlay (True) or the base layer (False). + control : bool, default True + Whether the Layer will be included in LayerControls. + show: bool, default True + Whether the layer will be shown on opening (only for overlays). """ - def __init__(self, data, callback=None): - super(FastMarkerCluster, self).__init__([]) - self._name = 'FastMarkerCluster' - self._data = _validate_coordinates(data) - - if callback is None: - self._callback = ('var callback;\n' + - 'callback = function (row) {\n' + - '\tvar icon, marker;\n' + - '\t// Returns a L.marker object\n' + - '\ticon = L.AwesomeMarkers.icon();\n' + - '\tmarker = L.marker(new L.LatLng(row[0], ' + - 'row[1]));\n' + - '\tmarker.setIcon(icon);\n' + - '\treturn marker;\n' + - '};') - else: - self._callback = 'var callback = {};'.format(callback) - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} {{this._callback}} @@ -69,3 +57,24 @@ def __init__(self, data, callback=None): cluster.addTo(map); })(); {% endmacro %}""") + + def __init__(self, data, callback=None, + name=None, overlay=True, control=True, show=True): + super(FastMarkerCluster, self).__init__(name=name, overlay=overlay, + control=control, show=show) + self._name = 'FastMarkerCluster' + self._data = _validate_coordinates(data) + + if callback is None: + self._callback = ('var callback;\n' + + 'callback = function (row) {\n' + + '\tvar icon, marker;\n' + + '\t// Returns a L.marker object\n' + + '\ticon = L.AwesomeMarkers.icon();\n' + + '\tmarker = L.marker(new L.LatLng(row[0], ' + + 'row[1]));\n' + + '\tmarker.setIcon(icon);\n' + + '\treturn marker;\n' + + '};') + else: + self._callback = 'var callback = {};'.format(callback) diff --git a/folium/plugins/float_image.py b/folium/plugins/float_image.py index cb9468676b..91c58fb0b0 100644 --- a/folium/plugins/float_image.py +++ b/folium/plugins/float_image.py @@ -9,14 +9,7 @@ class FloatImage(MacroElement): """Adds a floating image in HTML canvas on top of the map.""" - def __init__(self, image, bottom=75, left=75): - super(FloatImage, self).__init__() - self._name = 'FloatImage' - self.image = image - self.bottom = bottom - self.left = left - - self._template = Template(""" + _template = Template(""" {% macro header(this,kwargs) %} + - - - - - - - - - - + -
- diff --git a/folium/vector_layers.py b/folium/vector_layers.py index 8c2d979187..70322e9de6 100644 --- a/folium/vector_layers.py +++ b/folium/vector_layers.py @@ -153,14 +153,7 @@ class PolyLine(Marker): http://leafletjs.com/reference-1.2.0.html#polyline """ - def __init__(self, locations, popup=None, tooltip=None, **kwargs): - super(PolyLine, self).__init__(location=locations, popup=popup) - self._name = 'PolyLine' - self.tooltip = tooltip - - self.options = _parse_options(line=True, **kwargs) - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.polyline( {{this.location}}, @@ -171,6 +164,13 @@ def __init__(self, locations, popup=None, tooltip=None, **kwargs): {% endmacro %} """) # noqa + def __init__(self, locations, popup=None, tooltip=None, **kwargs): + super(PolyLine, self).__init__(location=locations, popup=popup) + self._name = 'PolyLine' + self.tooltip = tooltip + + self.options = _parse_options(line=True, **kwargs) + class Polygon(Marker): """ @@ -193,14 +193,7 @@ class Polygon(Marker): http://leafletjs.com/reference-1.2.0.html#polygon """ - def __init__(self, locations, popup=None, tooltip=None, **kwargs): - super(Polygon, self).__init__(locations, popup=popup) - self._name = 'Polygon' - self.tooltip = tooltip - - self.options = _parse_options(line=True, **kwargs) - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.polygon( @@ -212,6 +205,13 @@ def __init__(self, locations, popup=None, tooltip=None, **kwargs): {% endmacro %} """) + def __init__(self, locations, popup=None, tooltip=None, **kwargs): + super(Polygon, self).__init__(locations, popup=popup) + self._name = 'Polygon' + self.tooltip = tooltip + + self.options = _parse_options(line=True, **kwargs) + class Rectangle(Marker): """ @@ -234,14 +234,7 @@ class Rectangle(Marker): http://leafletjs.com/reference-1.2.0.html#rectangle """ - def __init__(self, bounds, popup=None, tooltip=None, **kwargs): - super(Rectangle, self).__init__(location=bounds, popup=popup) - self._name = 'rectangle' - self.tooltip = tooltip - - self.options = _parse_options(line=True, **kwargs) - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.rectangle( @@ -253,6 +246,13 @@ def __init__(self, bounds, popup=None, tooltip=None, **kwargs): {% endmacro %} """) + def __init__(self, bounds, popup=None, tooltip=None, **kwargs): + super(Rectangle, self).__init__(location=bounds, popup=popup) + self._name = 'rectangle' + self.tooltip = tooltip + + self.options = _parse_options(line=True, **kwargs) + class Circle(Marker): """ @@ -280,14 +280,7 @@ class Circle(Marker): http://leafletjs.com/reference-1.2.0.html#circle """ - def __init__(self, location, radius, popup=None, tooltip=None, **kwargs): - super(Circle, self).__init__(location=location, popup=popup) - self._name = 'circle' - self.tooltip = tooltip - - self.options = _parse_options(line=False, radius=radius, **kwargs) - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.circle( @@ -299,6 +292,13 @@ def __init__(self, location, radius, popup=None, tooltip=None, **kwargs): {% endmacro %} """) + def __init__(self, location, radius, popup=None, tooltip=None, **kwargs): + super(Circle, self).__init__(location=location, popup=popup) + self._name = 'circle' + self.tooltip = tooltip + + self.options = _parse_options(line=False, radius=radius, **kwargs) + class CircleMarker(Marker): """ @@ -321,14 +321,7 @@ class CircleMarker(Marker): http://leafletjs.com/reference-1.2.0.html#circlemarker """ - def __init__(self, location, radius=10, popup=None, tooltip=None, **kwargs): - super(CircleMarker, self).__init__(location=location, popup=popup) - self._name = 'CircleMarker' - self.tooltip = tooltip - - self.options = _parse_options(line=False, radius=radius, **kwargs) - - self._template = Template(u""" + _template = Template(u""" {% macro script(this, kwargs) %} var {{this.get_name()}} = L.circleMarker( [{{this.location[0]}}, {{this.location[1]}}], @@ -338,3 +331,10 @@ def __init__(self, location, radius=10, popup=None, tooltip=None, **kwargs): .addTo({{this._parent.get_name()}}); {% endmacro %} """) + + def __init__(self, location, radius=10, popup=None, tooltip=None, **kwargs): + super(CircleMarker, self).__init__(location=location, popup=popup) + self._name = 'CircleMarker' + self.tooltip = tooltip + + self.options = _parse_options(line=False, radius=radius, **kwargs) diff --git a/requirements-dev.txt b/requirements-dev.txt index 0acac8c906..ff66d34bff 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -21,4 +21,5 @@ pycodestyle pytest selenium sphinx +vega_datasets vincent diff --git a/tests/plugins/test_beautify_icon.py b/tests/plugins/test_beautify_icon.py new file mode 100644 index 0000000000..b9ba88b923 --- /dev/null +++ b/tests/plugins/test_beautify_icon.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +""" +Test BeautifyIcon +--------------- + +""" + +from __future__ import (absolute_import, division, print_function) + +from jinja2 import Template + +import folium + +from folium import plugins + + +def test_beautify_icon(): + m = folium.Map([30., 0.], zoom_start=3) + # BeautifyIcons + ic1 = plugins.BeautifyIcon( + icon='plane', border_color='#b3334f', text_color='#b3334f') + ic2 = plugins.BeautifyIcon(border_color='#00ABDC', + text_color='#00ABDC', + number=10, + inner_icon_style='margin-top:0;') + + # Markers, add icons as keyword argument + bm1 = folium.Marker(location=[46, -122], + popup='Portland, OR', + icon=ic1 + ).add_to(m) + + bm2 = folium.Marker( + location=[50, -121], + icon=ic2 + ).add_to(m) + + m.add_child(bm1) + m.add_child(bm2) + m._repr_html_() + + out = m._parent.render() + + # We verify that the script import is present. + script = '' # noqa + assert script in out + + # We verify that the css import is present. + css = '' # noqa + assert css in out + + # We verify that the Beautiful Icons are rendered correctly. + tmpl = Template(u""" + var {{this.get_name()}} = new L.BeautifyIcon.icon({{ this.options }}) + {{this._parent.get_name()}}.setIcon({{this.get_name()}}); + """) # noqa + + assert tmpl.render(this=ic1) in out + assert tmpl.render(this=ic2) in out diff --git a/tests/plugins/test_boat_marker.py b/tests/plugins/test_boat_marker.py index 2d05a470f3..743bf4c6de 100644 --- a/tests/plugins/test_boat_marker.py +++ b/tests/plugins/test_boat_marker.py @@ -53,3 +53,24 @@ def test_boat_marker(): bounds = m.get_bounds() assert bounds == [[34, -43], [46, -30]], bounds + + +def test_boat_marker_with_no_wind_speed_or_heading(): + m = folium.Map([30., 0.], zoom_start=3) + bm1 = plugins.BoatMarker( + (34, -43), + heading=45, + color='#8f8') + m.add_child(bm1) + + out = m._parent.render() + + # We verify that the script part is correct. + tmpl = Template(""" + var {{this.get_name()}} = L.boatMarker( + [{{this.location[0]}},{{this.location[1]}}], + {{this.kwargs}}).addTo({{this._parent.get_name()}}); + {{this.get_name()}}.setHeading({{this.heading}}); + """) # noqa + + assert tmpl.render(this=bm1) in out diff --git a/tests/plugins/test_fast_marker_cluster.py b/tests/plugins/test_fast_marker_cluster.py index 890bd039c7..afb2b7d6c4 100644 --- a/tests/plugins/test_fast_marker_cluster.py +++ b/tests/plugins/test_fast_marker_cluster.py @@ -33,8 +33,8 @@ def test_fast_marker_cluster(): # We verify that imports assert '' in out # noqa - assert '' in out # noqa - assert '' in out # noqa + assert '' in out # noqa + assert '' in out # noqa # Verify the script part is okay. tmpl = Template(""" diff --git a/tests/plugins/test_heat_map_withtime.py b/tests/plugins/test_heat_map_withtime.py index ca2dea9659..1901278b10 100644 --- a/tests/plugins/test_heat_map_withtime.py +++ b/tests/plugins/test_heat_map_withtime.py @@ -36,7 +36,7 @@ def test_heat_map_with_time(): assert script in out script = '' # noqa assert script in out - script = '' # noqa + script = '' # noqa assert script in out # We verify that the script part is correct. diff --git a/tests/plugins/test_marker_cluster.py b/tests/plugins/test_marker_cluster.py index 4497c6d7e5..7a42b4e565 100644 --- a/tests/plugins/test_marker_cluster.py +++ b/tests/plugins/test_marker_cluster.py @@ -33,8 +33,8 @@ def test_marker_cluster(): # We verify that imports assert '' in out # noqa - assert '' in out # noqa - assert '' in out # noqa + assert '' in out # noqa + assert '' in out # noqa # Verify the script part is okay. tmpl = Template(""" diff --git a/tests/plugins/test_time_slider_choropleth.py b/tests/plugins/test_time_slider_choropleth.py index 95380277cc..04923cd73b 100644 --- a/tests/plugins/test_time_slider_choropleth.py +++ b/tests/plugins/test_time_slider_choropleth.py @@ -46,7 +46,7 @@ def test_timedynamic_geo_json(): max_color = max(max_color, data['color'].max()) min_color = min(max_color, data['color'].min()) - cmap = linear.PuRd.scale(min_color, max_color) + cmap = linear.PuRd_09.scale(min_color, max_color) # Define function to normalize column into range [0,1] def norm(col): diff --git a/tests/plugins/test_timestamped_geo_json.py b/tests/plugins/test_timestamped_geo_json.py index 801f625566..b1af957c8e 100644 --- a/tests/plugins/test_timestamped_geo_json.py +++ b/tests/plugins/test_timestamped_geo_json.py @@ -100,28 +100,13 @@ def test_timestamped_geo_json(): out = m._parent.render() # Verify the imports. - assert ('' - ) in out - assert ('' - ) in out - assert ('' - ) in out - assert ('' - ) in out - assert ('' - ) in out - assert ('' - ) in out - assert ('' - ) in out + assert '' in out + assert '' in out + assert '' in out + assert '' in out # noqa + assert '' in out # noqa + assert '' in out # noqa + assert '' in out # Verify that the script is okay. tmpl = Template(""" diff --git a/tests/test_folium.py b/tests/test_folium.py index 0bd339b004..4e5d4add0d 100644 --- a/tests/test_folium.py +++ b/tests/test_folium.py @@ -199,22 +199,25 @@ def test_map_build(self): # Standard map. self.setup() - out = self.m._parent.render() + rendered = [line.strip() for line in self.m._parent.render().splitlines() if line.strip()] + html_templ = self.env.get_template('fol_template.html') attr = 'http://openstreetmap.org' tile_layers = [ {'id': 'tile_layer_'+'0'*32, 'address': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', 'attr': attr, + 'max_native_zoom': 20, 'max_zoom': 20, - 'min_zoom': 1, + 'min_zoom': 0, 'detect_retina': False, 'no_wrap': False, 'subdomains': 'abc' }] tmpl = {'map_id': 'map_' + '0' * 32, 'lat': 45.5236, 'lon': -122.675, - 'size': 'width: 900.0px; height: 400.0px;', + 'width': 'width: 900.0px;', + 'height': 'height: 400.0px;', 'zoom_level': 4, 'max_bounds': True, 'min_lat': -90, @@ -226,8 +229,9 @@ def test_map_build(self): 'world_copy_jump': False } HTML = html_templ.render(tmpl, plugins={}) + expected = [line.strip() for line in HTML.splitlines() if line.strip()] - assert ''.join(out.split()) == ''.join(HTML.split()) + assert rendered == expected def test_tile_attr_unicode(self): """Test tile attribution unicode diff --git a/tests/test_map.py b/tests/test_map.py index 7a2d49ae2b..846a2a368c 100644 --- a/tests/test_map.py +++ b/tests/test_map.py @@ -8,6 +8,7 @@ from __future__ import (absolute_import, division, print_function) +from folium import Map from folium.map import Popup @@ -18,6 +19,10 @@ """.format +def _normalize(rendered): + return ''.join(rendered.split()) + + def test_popup_ascii(): popup = Popup('Some text.') _id = list(popup.html._children.keys())[0] @@ -52,3 +57,33 @@ def test_popup_unicode(): 'text': u'Ça c'est chouette', } assert ''.join(popup.html.render().split()) == ''.join(tmpl(**kw).split()) + + +def test_popup_sticky(): + m = Map() + popup = Popup('Some text.', sticky=True).add_to(m) + rendered = popup._template.render(this=popup, kwargs={}) + expected = """ + var {popup_name} = L.popup({{maxWidth: \'300\', autoClose: false, closeOnClick: false}}); + var {html_name} = $(\'
Some text.
\')[0]; + {popup_name}.setContent({html_name}); + {map_name}.bindPopup({popup_name}); + """.format(popup_name=popup.get_name(), + html_name=list(popup.html._children.keys())[0], + map_name=m.get_name()) + assert _normalize(rendered) == _normalize(expected) + + +def test_popup_show(): + m = Map() + popup = Popup('Some text.', show=True).add_to(m) + rendered = popup._template.render(this=popup, kwargs={}) + expected = """ + var {popup_name} = L.popup({{maxWidth: \'300\' , autoClose: false}}); + var {html_name} = $(\'
Some text.
\')[0]; + {popup_name}.setContent({html_name}); + {map_name}.bindPopup({popup_name}).openPopup(); + """.format(popup_name=popup.get_name(), + html_name=list(popup.html._children.keys())[0], + map_name=m.get_name()) + assert _normalize(rendered) == _normalize(expected) diff --git a/tests/test_raster_layers.py b/tests/test_raster_layers.py index 631c76a18f..c3813c7a59 100644 --- a/tests/test_raster_layers.py +++ b/tests/test_raster_layers.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """ -Test ImageOverlay +Test raster_layers ----------------- """ @@ -36,6 +36,15 @@ def test_tile_layer(): assert bounds == [[None, None], [None, None]], bounds +def _is_working_zoom_level(zoom, tiles, session): + """Check if the zoom level works for the given tileset.""" + url = tiles.format(s='a', x=0, y=0, z=zoom) + response = session.get(url, timeout=5) + if response.status_code < 400: + return True + return False + + def test_custom_tile_subdomains(): """Test custom tile subdomains."""