{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "

Predictive Analytics (QBUS2820)

\n", "

Tutorial 7 (Working with Time Stamped Data)

\n", "
\n", "\n", "This guide explains the basics of working with dates and times in Python and pandas. \n", "\n", "Dates and Time in Python
\n", "Conversions between strings and datetime
\n", "Date functionality in pandas
\n", "Periods
\n", "Reading time stamped data
\n", "Time series subsetting
\n", "Time series plot
\n", "\n", "This notebook assumes the following imports and settings." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "sns.set_context('notebook') \n", "sns.set_style('ticks')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Dates and Time in Python\n", "\n", "The [datetime](https://docs.python.org/3/library/datetime.html?highlight=datetime#module-datetime) module from the standard Python library provides the basic variable types and tools for date and time data. To get started, we retrieve the current date and time. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "datetime.datetime(2017, 9, 4, 14, 21, 10, 637334)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from datetime import datetime\n", "now=datetime.now()\n", "now" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2017-09-04 14:21:10.637334\n" ] } ], "source": [ "print(now)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The now variable that we created has a special data type which stores date and time down to microseconds." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "datetime.datetime" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(now)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2017, 9, 4)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "now.year, now.month, now.day" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An interesting feature of datetime objects is that we can perform operations with them." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "datetime.timedelta(368, 64200)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta=datetime(2020, 9, 15)-datetime(2019, 9, 12, 6, 10)\n", "delta" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(368, 64200)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta.days, delta.seconds " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fow example, if we want to shift a date 5 days ahead, we can use:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "datetime.datetime(2020, 10, 6, 0, 0)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from datetime import timedelta\n", "start=datetime(2020, 10, 1)\n", "start+timedelta(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a note, the datetime module also has separate date and time objects. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Conversions between strings and datetime\n", "\n", "Datetime objects (and the pandas counterparts) have the strftime method, which allows us to convert them to a string according to our desired format. Refer to this [page](http://strftime.org/) for the available formatting options. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'2020-10-01'" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stamp=datetime(2020,10,1)\n", "stamp.strftime('%Y-%m-%d')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'01/Oct/20'" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stamp.strftime('%d/%b/%y')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To convert strings to datatime, we can use the parse function, which infers almost any intelligible date format. Here is an example. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "datetime.datetime(2020, 9, 15, 0, 0)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from dateutil.parser import parse\n", "parse('Sept 15th 2020')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We just need to be careful with the fact that it assumes a US date format, unless we specify otherwise. " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2020-01-10 00:00:00\n", "2020-10-01 00:00:00\n" ] } ], "source": [ "print(parse('1/10/2020'))\n", "print(parse('1/10/2020', dayfirst=True))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Date functionality in pandas\n", "\n", "When dealing with multiple dates, we turn to pandas. " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DatetimeIndex(['2020-10-10', '2020-10-11'], dtype='datetime64[ns]', freq=None)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dts=['10/10/2020','11/10/2020']\n", "dates=pd.to_datetime(dts, dayfirst=True)\n", "dates" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In pandas, a set of dates has the DatetimeIndex type. Each element of a DatetimeIndex has the TimeStamp, which for practical purposes is equivalent to datetime; we can use the two interchangeably. " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Timestamp('2020-10-10 00:00:00')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dates[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The pandas [date_range](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.date_range.html) function allows us to generate a range of dates according to a specified frequency. " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DatetimeIndex(['2020-10-01', '2020-10-02', '2020-10-03', '2020-10-04',\n", " '2020-10-05'],\n", " dtype='datetime64[ns]', freq='D')\n" ] } ], "source": [ "dates=pd.date_range('1/Oct/2020', '5/Oct/2020')\n", "print(dates)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To set the frequency, we can set the date option. For example, for a business daily frequency:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DatetimeIndex(['2020-10-01', '2020-10-02', '2020-10-05', '2020-10-06',\n", " '2020-10-07'],\n", " dtype='datetime64[ns]', freq='B')\n" ] } ], "source": [ "dates=pd.date_range(start='1/Oct/2020', periods=5, freq='B')\n", "print(dates)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Monthly frequency:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DatetimeIndex(['2020-10-31', '2020-11-30', '2020-12-31', '2021-01-31',\n", " '2021-02-28'],\n", " dtype='datetime64[ns]', freq='M')\n" ] } ], "source": [ "dates=pd.date_range(start='1/Oct/2020', periods=5, freq='M')\n", "print(dates)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The frequency option also accepts multiples:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DatetimeIndex(['2020-10-31', '2021-01-31', '2021-04-30', '2021-07-31',\n", " '2021-10-31'],\n", " dtype='datetime64[ns]', freq='3M')\n" ] } ], "source": [ "dates=pd.date_range(start='1/Oct/2020', periods=5, freq='3M')\n", "print(dates)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Refer to the [pandas documentation](http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases) for a list of available frequencies. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Periods\n", "\n", "A related object is the Period, which represents a timespan like months and quarters, rather a point in time as in TimeStamp. For example, the variable below represents the period between 1/10/2016 and 31/10/2016. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Period('2020-10', 'M')" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "month=pd.Period('Oct-2020', freq='M')\n", "month" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As with datetime and TimeStamp objects, we can perform operations with a Period object. " ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Period('2020-11', 'M')" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "month+1 # from above" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The counterpart of the DatetimeIndex is the PeriodIndex." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PeriodIndex(['2020Q1', '2020Q2', '2020Q3', '2020Q4'], dtype='period[Q-DEC]', freq='Q-DEC')" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "values=['2020Q1', '2020Q2', '2020Q3', '2020Q4']\n", "index=pd.PeriodIndex(values, freq='Q')\n", "index" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To generate a period range:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PeriodIndex(['2020Q1', '2020Q2', '2020Q3', '2020Q4'], dtype='period[Q-DEC]', freq='Q-DEC')" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.period_range('2020Q1','2020Q4', freq='Q')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can convert timestamps to periods as follows. " ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DatetimeIndex(['2020-10-31', '2020-11-30', '2020-12-31', '2021-01-31',\n", " '2021-02-28'],\n", " dtype='datetime64[ns]', freq='M')\n" ] }, { "data": { "text/plain": [ "PeriodIndex(['2020-10', '2020-11', '2020-12', '2021-01', '2021-02'], dtype='period[M]', freq='M')" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dates=pd.date_range(start='1/Oct/2020', periods=5, freq='M')\n", "print(dates)\n", "dates.to_period()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "##Reading time stamped data\n", "\n", "Let us now work with data. For simplicity, our data will have only one column apart from the date. The same principles applies for working with data frames instead of a single series. \n", "\n", "The nswretail.csv file contains monthly retail turnover figures for the state of NSW. I downloaded the data from the [Australian Bureau of Statistics](http://www.abs.gov.au/ausstats/abs@.nsf/mf/8501.0) website. The ABS [explanatory notes](http://www.abs.gov.au/Ausstats/abs@.nsf/exnote/8501.0) define retail turnover as: \n", "\n", "
\n", "Retail sales; wholesale sales; takings from repairs, meals and hiring of goods (except for rent, leasing and hiring of land and buildings);\n", "commissions from agency activity (e.g. commissions received from collecting dry cleaning, selling lottery tickets, etc.); and\n", "the goods and services tax.\n", "
\n", "\n", "To read the data, we follow the usual procedure. If you open the data file in a text editor, you will see that it has two columns: Month and Turnover. In a time series context, we want to make the date the index of the DataFrame by specifying Month as the index via the index_col option. We set the parse_dates options as True so that pandas can automatically recognise the dates column and convert them to TimeStamp objects. " ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Turnover
Month
2017-02-017298.9
2017-03-018085.8
2017-04-017883.7
2017-05-018132.0
2017-06-018130.1
\n", "
" ], "text/plain": [ " Turnover\n", "Month \n", "2017-02-01 7298.9\n", "2017-03-01 8085.8\n", "2017-04-01 7883.7\n", "2017-05-01 8132.0\n", "2017-06-01 8130.1" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ts=pd.read_csv('nswretail.csv', index_col='Month', parse_dates=True)\n", "ts.tail() # tail gives the last 5 observations in the data" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DatetimeIndex(['2006-01-01', '2006-02-01', '2006-03-01', '2006-04-01',\n", " '2006-05-01', '2006-06-01', '2006-07-01', '2006-08-01',\n", " '2006-09-01', '2006-10-01',\n", " ...\n", " '2016-09-01', '2016-10-01', '2016-11-01', '2016-12-01',\n", " '2017-01-01', '2017-02-01', '2017-03-01', '2017-04-01',\n", " '2017-05-01', '2017-06-01'],\n", " dtype='datetime64[ns]', name='Month', length=138, freq=None)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ts.index" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that pandas converted (say) \"Jun-2017\" in the text file to a full date, which by default is the first day of the month. Since we know these figures refer to the whole month, we want to convert the indexes from timestamps to periods:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Turnover
Month
2017-027298.9
2017-038085.8
2017-047883.7
2017-058132.0
2017-068130.1
\n", "
" ], "text/plain": [ " Turnover\n", "Month \n", "2017-02 7298.9\n", "2017-03 8085.8\n", "2017-04 7883.7\n", "2017-05 8132.0\n", "2017-06 8130.1" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ts.index=ts.index.to_period()\n", "ts.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Subsetting a time series\n", "\n", "Selecting part of the time series works in an intuitive way." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Turnover
Month
2017-027298.9
2017-038085.8
2017-047883.7
2017-058132.0
2017-068130.1
\n", "
" ], "text/plain": [ " Turnover\n", "Month \n", "2017-02 7298.9\n", "2017-03 8085.8\n", "2017-04 7883.7\n", "2017-05 8132.0\n", "2017-06 8130.1" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ts['Feb-2017':'Jun-2017']" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Turnover
Month
2017-047883.7
2017-058132.0
2017-068130.1
\n", "
" ], "text/plain": [ " Turnover\n", "Month \n", "2017-04 7883.7\n", "2017-05 8132.0\n", "2017-06 8130.1" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ts['2017Q2']" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Turnover
Month
2017-027298.9
2017-038085.8
2017-047883.7
2017-058132.0
2017-068130.1
\n", "
" ], "text/plain": [ " Turnover\n", "Month \n", "2017-02 7298.9\n", "2017-03 8085.8\n", "2017-04 7883.7\n", "2017-05 8132.0\n", "2017-06 8130.1" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ts['Feb2017':]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Time series plot\n", "\n", "Once we load the time series, the beginning of our analysis will always be to visualise the data. The simplest way to plot a time series is to use the pandas as follows. " ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgkAAAFrCAYAAABbtho0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXl4U2X2x7/pCt3QsipQ9iKLQNlEKbtaVKCs1VYLo8Bv\nVCwjIwgiyzg6IiogFJBRmRksUEAEUQfFsSxFVq2yCJSlIjtlL026N/f3x/FNbrYmKU3u2/Z8nqfP\nbW5ukpObNu/3fs95z6tTFEUBwzAMwzCMFT5aB8AwDMMwjJywSGAYhmEYxi4sEhiGYRiGsQuLBIZh\nGIZh7MIigWEYhmEYu7BIYBiGYRjGLiwSmGpD69atMXjwYMTGxmLo0KGIiYnBiBEjcPjwYaeP3b59\nOxYuXOj0uNdffx27d+/G+fPnERUVZXP/Rx99hNjYWMTGxiIqKgr9+/c33T579my53peWHDt2DA8/\n/DCGDRuG8+fPl+s59u3bh/vuuw+7du2y2P/3v/8dycnJAIDi4mK8++67GDx4MIYMGYLBgwdj2bJl\nUBQFBw8eRPfu3WE0Gk2PfeWVV9C+fXvo9XrTvjfeeAPvvvuu3Rh27NiBBQsWAAAOHTqEp556CrGx\nsRg8eDA2bdpkOm79+vV47LHH8Oijj2L27NkoLi4GAOTn5+OVV17BY489hpiYGHz//femx1y8eBF/\n/vOfMXToUAwePBg7d+60G4PRaMS7776LJ554AoMHD8ZLL72EGzduAABu3LiBcePG4fHHH8egQYPw\n888/WzxWURRMmzYNy5cvN+2bOHGi6W8rNjYWXbp0wfPPPw8AmDx5MrKysuzGwTAWKAxTTYiMjFSu\nX79use+TTz5R4uLinD520aJFyhtvvOHya507d07p1KlTmcc888wzyjfffOPyc8pIcnKyMn369Dt6\njr179yrt2rVTevbsafH5vPHGG8qiRYsURVGUjz/+WElKSlKKi4sVRVGU27dvK8OGDVPWrFmjlJaW\nKt27d1eOHj2qKIqiFBcXKw899JDy3HPPKZs3bzY9X0xMjLJv3z6b18/NzVUGDRqk5OXlKUajUenT\np4+ya9cuRVEU5dKlS0qPHj2U06dPK8ePH1d69+6tXL9+XSktLVUmTZqkfPTRR4qiKMrcuXOVGTNm\nKIqiKBcuXFB69uypXLp0SVEURRk8eLCyatUqRVEU5ciRI0rXrl2VwsJCmzjWrVunjB492nTf3Llz\nlSlTpiiKoigTJ05UPvzwQ0VRFOXo0aNKdHS0kpeXpyiKopw6dUpJTExUOnTooHzyySd2z/HBgweV\nvn37KhcvXlQURVHOnj2rjBo1SjEajWV9NAyjsJPAVFtKSkpw6dIl1KpVy7Tvww8/xLBhwxAbG4sX\nX3wR2dnZOHjwINasWYPNmzdjwYIFyMvLw6uvvoq4uDjExMRg+PDh+O233wAAiYmJ+Pbbb8sdU//+\n/S2cDXH7/Pnz6NOnD5577jnExMTgl19+wcMPP4w333wTI0eOxCOPPILNmzcDoKvuN998E48//jgG\nDx6M119/HXq9Hj/88AMGDx5seu7bt2+jW7duyMnJQXZ2NiZMmIDhw4ebrtIB2LzulStXTI//8ssv\nkZqairS0NLzyyisAgCVLlphed+LEibh69arpvLz00kt4/PHHkZKSYvO+mzZtit69e2P69Ol2z8vV\nq1dRXFyMoqIiAEBoaCjeffddREVFwcfHB9HR0di3bx8AICMjA61bt8bAgQOxdetWAEB2djauX7+O\nzp072zz36tWrER0djZo1a6KoqAgTJkzAQw89BABo0KAB7r77bly+fBlpaWno378/wsPD4ePjgyef\nfBJffvklAOD777/HqFGjAAD33nsvoqOj8c033+DYsWPIyclBQkICAKBt27ZYvXo1dDqdTRwtW7bE\nq6++ioCAAABA+/btcfHiRZSUlGD79u2Ii4sDALRp0wZNmzY1ORKrVq3C8OHD8dhjj9k9d0VFRZg2\nbRqmT5+Oe+65BwDQuHFjhIaGIi0tze5jGEbAIoGpVowZMwZDhgxBdHQ0YmJiAABz5swBAHzxxRc4\nceIEPvvsM2zatAl9+vTBjBkz0LFjRzz11FN4/PHHMWnSJKSnpyMsLAzr1q3Dli1b0L59e6xatcrj\nsV++fBkvvvgitmzZgrp16+LcuXOIjo7G+vXrMXnyZLz33nsASOhcuXIFmzZtwqZNm0w2ds+ePWEw\nGEwi5Ouvv0afPn1Qq1YtTJkyBSNGjMCGDRuwfv167N692yQ61K9br149UzxDhgwxnZd58+bh888/\nx86dO7F+/Xp89dVXaNWqFaZNm2Y6PiwsDJs3b0ZiYqLd9zdjxgycPn0aK1eutLnv2WefRXZ2Nnr0\n6IHExEQsWLAARUVFiIyMBAD07t0b+/fvBwBs27YNffv2RZ8+fbBz506UlpZiz5496NmzJ/z8/Gye\n+9tvv0Xfvn0BAIGBgabBHgDWrl2LvLw8dOrUCZcuXTINsgAJiOzsbACwua9+/fq4fPkyTp8+jYYN\nG2LOnDkYNWoUnnrqKVy9ehX+/v42cURFRaFdu3YAgJycHCxduhQDBw7EzZs3YTQaER4ebvP8ADBr\n1iwMHTrU7jkFKEVSr149PPLIIxb7+/fvj//9738OH8cwAIsEppqxYsUKfPnll/joo49QUFCAqKgo\n1K5dGwANLgcPHsSIESMQGxuLlStX4vTp0zbPMXDgQAwbNgwpKSl46623sH//fuTl5Xk8dj8/P3Tq\n1Ml029/fH3369AFAV6i3bt0CAKSnp+Opp56Cv78/fHx8kJiYiJ07d0Kn02HkyJHYuHEjAGDDhg0Y\nNWoU8vLy8OOPP2LhwoWIjY1FXFwcLl26hMzMTLuv64j09HQMHz4cQUFBAIDRo0dj7969pqv/rl27\nlvn4oKAgzJs3DwsWLMCJEycs7mvQoAE2bNiADRs2YODAgTh9+jSefPJJkzjr1asXMjIyYDQasW3b\nNvTr1w/16tXDvffei19//RV79+41CQFrTp8+jSZNmtjs/+ijj5CcnIxly5ahRo0aUOx0sPfxoa9Q\nR/eVlJTg559/Rrdu3fDZZ59h+vTpmDRpkklc2OPs2bN45pln0LlzZzz99NMWtRZqfH19HT6HmhUr\nVuCFF16w2d+4cWO7f98Mo8ZWVjNMNaBt27Z47bXXTE5Bo0aNYDQaMW7cOJM1XFRUhJycHJvHrl69\nGuvWrcPTTz+NwYMH46677ip30Z491AOOGGABICAgwOJKWIgAABb2tfWgYjQaTQV2I0aMwNChQzFq\n1Cjk5ubigQcegF6vh6IoWLNmDWrWrAmACuUCAwNx8+ZNm9d1JW7xuiUlJabbQjyURfv27fHCCy/g\nlVdeQYcOHUz73333XYwaNQotW7ZEy5Yt8fTTT2PTpk34+OOP8fTTTyM8PByNGzfGd999B19fXzRu\n3BgA0LdvX2RkZGD//v149dVX7b6mTqdDaWmp6baw50+dOoU1a9agUaNGAIB77rnHIt2SnZ2NBg0a\nmO67evUq6tatCwC4cuUK7rvvPtSrVw9hYWF4+OGHAQAdOnRAo0aNkJmZiRkzZpieb+LEiRgwYAD2\n7t2LSZMmYdy4cRg7diwAmERsTk6OKTWWnZ2N+vXrOz2fR48eRUlJCbp3725zn9FoNP39MIwj+C+E\nqbYMGjQInTp1wttvvw0AJuteVMQvXLjQNLD4+vqaBrwffvgBw4YNw6hRo9CsWTNs3brVYpC5E8LD\nw/Hrr78CAA4cOGDK6btDr169sGbNGhQXF8NoNGLVqlXo2bMnALKpO3bsiFmzZmHkyJEAgJCQEHTq\n1An//ve/AVCtQnx8vNv56ujoaGzYsMHkqqSkpKBbt26mHLurjB07FnXq1DHl+wESLQsXLkR+fj4A\nEiSnT59G27ZtTcf07t0bS5cutXAM+vbti02bNqFOnToWdr2apk2b4ty5c6bbEydOhF6vtxAIANnz\nW7duxfXr16EoCtauXWsa/AcMGIC1a9cCoPTMzp070a9fP3Tu3BkBAQGm2oisrCycO3cO9913Hz7+\n+GNTSmjAgAH4+eef8dJLL2Hu3LkmgQCQk9O3b1/T82dmZiIrKwsPPPCA03O5f/9+9OjRw24NxLlz\n59C8eXOnz8FUb9hJYKo1M2fOxJAhQ7Bz506MGjUK2dnZiIuLg06nwz333IN33nkHAPDggw8iKSkJ\n/v7+eO655zBr1ixs2LABvr6+aNeunY09Xl4mT56Mv/3tb1i7di3atWtnylG7wwsvvIC5c+di6NCh\nKCkpQYcOHTBz5kzT/aNGjcJf/vIXfPjhh6Z977//Pt58800MHjwYRUVFGDRoEIYMGeKWQzJy5Ehc\nunQJo0aNgtFoRJMmTfD++++7Hb9Op8PcuXMxZMgQ077Zs2djwYIFGDJkCAICAlBSUoIePXpg1qxZ\npmN69+6NJUuWWLzX+++/H9euXTO5Q/YYOHAgdu7ciR49eiAjIwPbtm1D06ZNER8fbzpm8uTJ6NWr\nFyZMmIAxY8aguLgYHTt2xPjx4wEASUlJ+Nvf/oYnnngCpaWlmDJlCiIiIgAAy5cvx1tvvYX58+cD\nAN5++227LkBycjIURcG8efMwb948AECjRo2wZMkSzJ49GzNmzMCgQYOg0+nw7rvvIjQ01Om5PHPm\nDBo2bGj3vp07d+KZZ55x+hxM9Uan2EumMQzDVBP0ej3i4uLw+eefm9ItVZ2zZ89i8uTJWLt2rV2X\ngWEEnG5gGKZaExISgr/+9a9YunSp1qF4jQ8++ABvvfUWCwTGKewkMAzDMAxjF3YSGIZhGIaxC4sE\nhmEYhmHsUi1FQklJCc6fP28xh5thGIZhGEuqpUi4fPkyBgwYYGpryjAMwzCMLR4VCQcPHrTp0/72\n228jNTXVdHvdunUYPnw44uLisG3bNgBAQUEBkpKSkJCQgPHjx5uWSz1w4ICp//nixYs9GTrDMAzD\nVHs8JhI+/vhjzJgxA4WFhQDM66GLzmMAreyWkpKCNWvWYPny5Zg/fz6KioqQmpqKyMhIrF69GkOH\nDjVNTZo9ezbmzZuH1NRUHDx4EEePHvVU+AzDMAxT7fGYSIiIiEBycrLptsFgQFJSEmJjY037Dh06\nhKioKAQEBCA0NBQRERHIzMxERkYGevXqBYC6qO3Zswd6vR5FRUWIiIiATqdDdHQ0du/e7anwGYZh\nGKba47G2zDExMRYtXRs3bozGjRsjPT3dtE+v11u0Fg0ODoZer7fYHxwcjNzcXOj1eoSEhFgcq+63\n7ojk5GROTTAMwzBMOdB07YaQkBAYDAbTbYPBgNDQUIv9BoMBYWFhdo8NCwtz+hpJSUlISkqy2Hf+\n/HkMGDCggt4FwzAMw1RNNJ3d0KFDB2RkZKCwsBC5ubnIyspCZGQkOnfujB07dgCgNeq7dOmCkJAQ\n+Pv74+zZs1AUBT/88IPT9ekZhmEYhik/mjoJdevWRWJiIhISEqAoCiZNmoTAwEDEx8dj6tSpiI+P\nh7+/v2lFtDfeeAOTJ09GaWkpoqOj0bFjRy3DZxiGYZgqTbVcu0GkG9LS0izWi2cYhmEYxky1bKbE\nMAzDMIxzWCQwDMMwDGMXFgkMwzAMw9iFRQLDMAzDyMjJk8DXX2saAosEhmEYhpGRadOAoUOBvDzN\nQmCRwDAMwzAycvMmUFoKqBoJehsWCQzDMAwjI8JBKCjQLAQWCQzDMAwjI/n5tP1jNWUtYJHAMAzD\nMDLCTgLDMAzDMHZhJ4FhGIZhGLsIJ4FFAsMwDMMwFggngdMNDMMwDMOYMBrN4oCdBIZhGIZhTKjd\nA3YSGIZhGIYxoe6yyE4CwzAMwzAmRD0CwE4CwzAMwzAq2ElgGIZhGMYu7CQwDMMwDGMXtUhgJ4Fh\nGIZhGBPqdAM7CQzDMAyjAfn5wK1bWkdhCzsJDMMwDKMxI0YA3bppHYUt7CQwDMMwjMb8/jtw9qzW\nUdjCTgLDMAzDaEx+PlBURG2QZYKnQDIMwzCMxojBWENL3y48BZJhGIZhNEaClRbtwk4CwzAMw2gM\nOwllwiKBYRiGqZ4UFwOlpfS7bCKBnQSGYRiG0RBJphnahZ0EhmEYhtEQSQZiu7CTwDAMwzAawk6C\nU1gkMAzDMNUTSQZiuwgBU7MmOwkMwzAM43Uqg5Nw113sJDAMwzCM15HZScjPBwICgOBgdhIYhmEY\nxuvI7CTk5VGqITCw6joJBw8eRGJiIgDgzJkziI+PR0JCAmbPng3jH32y161bh+HDhyMuLg7btm0D\nABQUFCApKQkJCQkYP348bty4AQA4cOAARo0ahaeeegqLFy/2ZOgMwzBMVUftJKh/l4H8fCAoCKhR\no2o6CR9//DFmzJiBwj/e3Jw5c/Dyyy9j9erVUBQFaWlpuHr1KlJSUrBmzRosX74c8+fPR1FREVJT\nUxEZGYnVq1dj6NChWLp0KQBg9uzZmDdvHlJTU3Hw4EEcPXrUU+EzDMMwVR12EpziMZEQERGB5ORk\n0+0jR46ge/fuAIDevXtj9+7dOHToEKKiohAQEIDQ0FBEREQgMzMTGRkZ6NWrl+nYPXv2QK/Xo6io\nCBEREdDpdIiOjsbu3bs9FT7DMAxT1ZG9JkE4CUYjUFKiSRh+nnrimJgYnD9/3nRbURTodDoAQHBw\nMHJzc6HX6xEaGmo6Jjg4GHq93mK/+tiQkBCLY8+dO+c0juTkZE5NMAzDMLZUFicBoJSDn8eGbId4\n7RV9fMymhcFgQFhYGEJCQmAwGCz2h4aGWuwv69iwsDCnr5uUlISkpCSLfefPn8eAAQPu9C0xDMMw\nlRlZnQSjkeIRTgJAt4ODvR6K12Y3tG3bFvv27QMApKeno2vXrujQoQMyMjJQWFiI3NxcZGVlITIy\nEp07d8aOHTtMx3bp0gUhISHw9/fH2bNnoSgKfvjhB3Tt2tVb4TMMwzBVDVmdBBGLtZOgAV5zEqZO\nnYqZM2di/vz5aN68OWJiYuDr64vExEQkJCRAURRMmjQJgYGBiI+Px9SpUxEfHw9/f3/MmzcPAPDG\nG29g8uTJKC0tRXR0NDp27Oit8BmGYZiqhqxOgogrKMgsEjSKz6MioVGjRli3bh0AoFmzZli5cqXN\nMXFxcYiLi7PYV7NmTSxatMjm2E6dOpmej2EYhmHuCFmdBHVLZpFu0MhJ4GZKDMMwTPWEnQSnsEhg\nGIZhPIvRCCiK1lHYwk6CU1gkMAzDMJ4lJgYYOVLrKGyR3UlQFy5WxZoEhmEYhsGPPwJ33611FLbI\n7iQEBZl7I1T12Q0MwzBMNSUvz2yby0R+PqDT0Y9MazeonQTRY4idBIZhGKbKUVxMPzINwoK8PLpa\nVxS5nAR14aKAnQSGYRimyiE65cooEvLz6WpddDiUBXXh4h8rJrOTwDAMw1Q9xIBXXAyUlgK+vtrG\no0Y4CSUlcokEtZMgFnbi2Q0MwzBMlUO15o50boJwEmrUkEskqJ0E7pPAMAzDVFlkFgnCSZBNJKid\nBI37JHC6gWEYhvEc6mmGMokERTE7CT4+cokEtZMgmlCxSGAYhmGqHLI6CaJGIiiIpkDKJBLUTgIX\nLjIMwzBVFllFgroXgaKQYCgpMTcv0hK1k1BcTL9z4SLDMAxT5ZA13aDuaijy/rK4CbzAE8MwDFMt\nUDsJsgzCgKWTIJtIkGiBJwl8FYZhGKbKImu6Qe0kCEtfFpHACzwxDMMw1QJZ0w3qgVhcpcsSn0RO\nAqcbGIZhGM9RGZwE2dIN+fmAvz8VUXJNAsMwDFNlkVUkyF6TIBZ3YieBYRiGqbLIKhJkdxJq1qTf\n2UlgGIZhqiyVoSZBNpGgdhJ8fSntwE4CwzAMU+VgJ8F91E4CQG4COwkMwzBMlUNWkSCzk5Cfb3YS\nAIqPnQSGYRimyiFrukHtJIirdhlEgnrhKQE7CQzDMEyVhJ0E9xAxsJPAMAzDVHlkFQmy1iSoGykJ\nAgNZJDAMwzBVkLw8oFYt+l0mkSCrk6Be3ElQowanGxiGYZgqiMEA1K5Nv8swCAvsOQkyiBh2EhiG\nYZhqg1okyDAIC2R3EqxFQnExYDR6PRwWCQzDMFWBtWuB/fu1jsKS4mKgpAQIC6O1CGQSCfYWUZJB\nJKgdDoGGrZlZJDAMw1R2SkuBZ54Bpk/XOhJLRNFicDANxjKJBHXuXyaR4MhJADSJj0UCwzBMZcdg\noCv227e1jsQSIRJELwKZREJeHqDTAQEBcokEdhIYhmGYCkUMxurGRTIgu5MQFERCQSaRwE4CwzAM\nU6EIcSCbSBDxyCgS8vLMA7FMIoGdBIZhGKZCkd1JkDHdoF4fQSaRIJmT4OfNFysqKsJrr72Gc+fO\nISQkBLNmzYJOp8O0adOg0+nQqlUrzJ49Gz4+Pli3bh3WrFkDPz8/vPDCC+jXrx8KCgowZcoUXL9+\nHcHBwZg7dy7Cw8O9+RYYhmHkQ3aRoHYSFIUsfq3JywPE+CGTSJDMSfCqSFi3bh2CgoKwbt06/Pbb\nb3jzzTfh7++Pl19+GQ888ABmzZqFtLQ0dOrUCSkpKfj8889RWFiIhIQE9OzZE6mpqYiMjERSUhL+\n+9//YunSpZgxY4Y33wLDMIx8qEWCLIMwYJtuMBppWmRAgLZxAZZOgq8vTdGUQSRI5iR4Nd1w6tQp\n9O7dGwDQvHlzZGVl4ciRI+jevTsAoHfv3ti9ezcOHTqEqKgoBAQEIDQ0FBEREcjMzERGRgZ69epl\nOnbPnj3eDJ9hGEZOxGBcWkqDsCxYpxsAOVIOimJZkwBo2vrYAkdtmYGqX5PQpk0bbNu2DYqi4MCB\nA8jOzoaiKND9oXqDg4ORm5sLvV6P0NBQ0+OCg4Oh1+st9otjGYZhqj3qRZRkSjmo0w0ytT4W3Qsl\nWR/BAkdtmYGqX5MwYsQIZGVlISEhAZ07d0a7du1w5coV0/0GgwFhYWEICQmBQfVHbzAYEBoaarFf\nHOuM5ORkLF68uOLfDMMwjCxYr7R4113axaLGOt0AyCES7A3ENWrIEVt1dhIOHz6MBx98EKmpqRg4\ncCAaN26Mtm3bYt++fQCA9PR0dO3aFR06dEBGRgYKCwuRm5uLrKwsREZGonPnztixY4fp2C5dujh9\nzaSkJBw/ftziJy0tzaPvk2EYxqtUBidBDMgyXK1LttKiBWU5CVW9cLFJkyZYuHAhli1bhtDQUPzj\nH/9AXl4eZs6cifnz56N58+aIiYmBr68vEhMTkZCQAEVRMGnSJAQGBiI+Ph5Tp05FfHw8/P39MW/e\nPG+GzzAMIydqYSCjSJCtJsGRk3D1qjbxqLFXuKjh7AuvioTw8HD85z//sdm/cuVKm31xcXGIi4uz\n2FezZk0sWrTIU+ExDMNUTmR1EmRNN1QGJ0Edm4ZOAjdTYhiGqezIKhLspRtkEAmOnISCApr5oCWS\nOQksEhiGYSo7sosE2dINZRUHFhV5Px41eXnUs8FPZfSzk8AwDMOUG1lrEmRNNzhyEgDtUw75+ZZx\nAdWnmRLDMAzjAWR3EmQTCWU5CVqLhLw8y7iA6jMFkmEYhvEAMosE0fJYJpHAToLLsEhgGIap7Fg3\nU5IFg4FcBJ1OLpFgz0mQpY8DOwkMwzBMhSJzTUJwMP0uk0iQ1UkoLQX0evM5E7CTwDAMw5QbmdMN\n4qpYJpFQVk2ClvEdPUqzK9q1s9zPTgLDMAxTbmQWCewkuM6PP9L2j5WRTbCTwDAMw5Qbg8E8kMgk\nEtTpBhmu1AWyzm7Yv5+23bpZ7mcngWEYhik3eXlA3brm32WgqAgoKbFNN2hdGAjI7SQEBgL332+5\nn50EhmGYSoDWLXvtUVxMP7KJBHWPBECudIOMTkJBAXDoENCpExAQYHmfnx/g48NOAsMwjLQUFAAt\nWwKyrT4rBuM6dWgri0hQd1sE5BIJMjoJBw6Q82JdjwDQFNLAQBYJDMMwyMzUvn++PS5cAH77Ddi7\nV+tILBEioXZt2soiEthJcA9H9QgCjVapZJHAMIw8nDoFtGkDvP++1pHYotfTVpZBWKC+Yg8KkmMQ\nBiwXdwLkKlyU0UlwNLNBwE4CwzDVngsXaHvxorZx2ENWkaC+Yg8Kkic+63SDTkcDsQwiIT+fcvzq\n3L/WImH/fiAsDGjVyv797CQwDFPtEQOeDBXw1rBIcA/rdANAV+4yiIS8PIpFpzPv01Ik3LoFnDhB\nqQYfB8MyOwkMw1R7xMAiw0BiDYsE97BONwDyiIT8fMfrI2ghEjIyaOuoHgEgkcBOAsMw1RoWCe4j\n4gkKklMkyOwkqNGyj4MoWnRUjwCQiGEngWGYao0Y4Djd4Dr2nAQZ+jlY1yQA8oiEspwELeITRYvO\nnITCQq9/tiwSGIaRh8rgJMgWm1ok1KwJGI1yTCGVOd1gz0nQMt2wfz9wzz1Aw4aOjxHxefmzZZHA\nMNWNM2foikW2+f6A3IWLubm0ld1JAOSI0VG6oaBAW6dDUeSqSbh0iWb1dOtmWUhpjUatmVkkMEx1\nY/9+4KefgB07tI7ElsrgJIg2yLJgXZOg3qcljtINgCa5dRNFReS2yOIkCLFeVj0CoNkiTywSGKa6\nIfNALHNsQiQAcsVnz0mQIT576QYZGiqdO0fbsDDL/VqLhAcfLPs4dhIYhvEK4stbhqtNa2RON6hF\ngkznrrKlGwBtRcInn9A2NtZyv1YrLe7ZQ70RyipaBNhJYBjGS8h8tS5zbCwS3KOsdINWn29hIbB8\nORAeDsTFWd4nFlHypkgoLqbUX/v2QGho2ccKEcMigWGqAEVFwNattKqbbMjsJFSGKZCAXOdO1poE\nR7MbAO1EwuefA9euAc89Z74yV+Pt1scHD9K5cJZqADRLh7BIYBhPsHYtMGAA8O23Wkdii8xX6zLH\nJqtIkNVJkDHd8OGHtP3zn+3f722RsGcPbV0RCewkMEwV4vJl2l69qm0c9pDZSRCxlZTI58KwSHCP\nvDzAz89yESUtRcLhw8APPwCPPgq0bGn/GG+LBFeLFgF2EhimSiHzQCxikvFqXZw3QL6Ug8yzG/z9\n6UcMwjL83RkMli4CoK1IWLaMti+84PgYLZyE8HDHKz+qYSeBYaoQsnbnA+QWMGqRINu5k9VJyMsz\nOwgyOQlI7xW6AAAgAElEQVQGg23DIq1EQm4u8OmnQKNGwKBBjo/zpkjIzgZOnwZ69Ci7iZIgJIS2\nt297Ni4rWCQwjCeoDAOxbIMwIK+ToCjyigT1FbtMIiEvTx4nYcsW+vyee45SII7wZttod+oRAKBu\nXdp6OYVZxtliGKbcVAYnQebYALniKywESkvNt2UYhAUGg3n6nGzNlOrVs9ynlUjIzKRtjx5lH1ej\nBk1LLC0FfH09G5O7IkGcS3dEwsGDwNixVN8TEEB/H9u3uxUmiwSG8QSyrhgIyOtylJZa5ltlGOgE\nYt0GPz/6wpXp3BkMQIMG9LssToKiyJVuOHGCtpGRZR+nblhkHXtFs3cvNVFy1o5ZIJyEK1dcf41l\ny4CMDBKRJSXUjtpNnKYbMoUCYxjGdSrD1bpssVkPbDKlG4ToE1dzWg/CAkWRsyahqIhEnyzphuPH\nqbCzSZOyj/PWDILiYloe2pUmSoKynISpU4F//MNyn6IAX34J1K4N3LhBfxPleF9ORcKkSZPcflKG\nqfawk+A+6lQDIJeIEZ9n/fq0leXcWQ/GsogEe90WAbNI8KYAVBRyElq2LLseAfCeSDh0iP6+naU/\n1ISHU4GjtZOgKMCCBcDf/mYpIH7+Gbh4EXj8cefvuwycPrJly5ZYvHgxOnbsiBqqDlXdnPWZtkNx\ncTGmTZuGCxcuwMfHB2+++Sb8/Pwwbdo06HQ6tGrVCrNnz4aPjw/WrVuHNWvWwM/PDy+88AL69euH\ngoICTJkyBdevX0dwcDDmzp2L8PBwt+NgGI/DNQnuYy0SZHQShOWr9SAssG5YJItIsNdtEdBmgadr\n14Bbt4A+fZwf6y2RsHs3bV2tRwCoRqJ2bVsn4cYN86qkqanAxIn0+1df0XbIkDsK1alIuHXrFvbt\n24d9+/aZ9ul0Onz66aduv9iOHTtQUlKCNWvWYNeuXfjggw9QXFyMl19+GQ888ABmzZqFtLQ0dOrU\nCSkpKfj8889RWFiIhIQE9OzZE6mpqYiMjERSUhL++9//YunSpZgxY4bbcTCMx5H1ah2wbFhUXEw2\nrAxUBidBtnSDrCJB1HDIkG44fpy2zuoRAO+JBDGA9+/v3uPq1QMuXbLcJxq3AcCKFWaR8OWXVKwY\nE1P+OOGCSEhJSbmjF1DTrFkzlJaWwmg0Qq/Xw8/PDwcOHED3Pwo3evfujV27dsHHxwdRUVEICAhA\nQEAAIiIikJmZiYyMDIwbN8507NKlSyssNoapUGR1EkpKyKIW5OfLJxJq1QJycuQ6d9YiQZbY1Os2\nAPI0UxJXyu3aWe7XQiSIosXWrZ0f6w2n4+ZNYNs2oEsXICLCvcfWrQscPWop7tWi4eefKZVx993A\nL79Qd0lXax4c4LQm4cKFC3j22Wfx6KOP4urVqxg9ejTOnz9frhcLCgrChQsX8Nhjj2HmzJlITEyE\noijQ/dFIIjg4GLm5udDr9QhVvbHg4GDo9XqL/eJYZyQnJ6N169YWPwMGDChX/AzjMrLWJMh8tS5i\nq1OHtjKmG2R3EgIDKW+tdXybN9P2iScs92spElxxEsTfnid7Efz3vyTWhw1z/7Hi7+/6dfM+4SQ8\n+ihtV6wAvv6afr/DVAPggkiYNWsWxo4di6CgINSpUweDBg3C1KlTy/Vi//nPfxAdHY0tW7Zg06ZN\nmDZtGopFLgWAwWBAWFgYQkJCYFB9mRkMBoSGhlrsF8c6IykpCcePH7f4SUtLK1f8DOMSRqO8rY+t\nRYLWg4kaEUvt2rSV6dxVFpGg05GroOW5KyoC/vc/oEUL23bDsouEhg1pW84LYZfYuJG25REJ9qZB\nCidh/Hgqbly1CtiwgfaV1V3SRZyKhJs3byI6OhoA1SLExcVBr+485gZhYWEmJ6BWrVooKSlB27Zt\nTfUO6enp6Nq1Kzp06ICMjAwUFhYiNzcXWVlZiIyMROfOnbFjxw7TsV26dClXHAzjUdQDiCyDicA6\nHpkG4srgJIjYZPlc7a20GBSkbXy7dlFNwuOP296nVU1CrVq2jZ3s0agRbT0lEvLzaWXYyEigTRv3\nH29vGqRwEpo0AeLjqd3z998DHTs6n/LpAk5rEmrUqIHLly+bUgI//fQTAtSrernBn/70J0yfPh0J\nCQkoLi7GpEmT0L59e8ycORPz589H8+bNERMTA19fXyQmJiIhIQGKomDSpEkIDAxEfHw8pk6divj4\nePj7+2PevHnlioNhPIqsCwEBcjsJ1iJBpnMnPtOwMBroZDlv1jUJ4nct4xOpBhlEQmkpcOoUDZiu\nrI8gRMKFC56J57vv6LMZNsy1eKwpy0lo0AD405+AJUvodgWkGgAXRMK0adPw5z//GWfPnkVsbCxy\ncnKwcOHCcr1YcHCw3ceuXLnSZl9cXBzi4uIs9tWsWROLFi0q12szjNdQD8SyDCaCylCTIHO6ISRE\n+0FYjSMn4do1beIBSCTUrGl/yqG/P3UZ9NZne/YspT9cSTUAnk833EmqASjbSahfn0RO27ZU3Dh4\ncPnjVOFUJDRq1Ajr16/H77//jtLSUjRv3rzcTgLDVAsqg5MgFrKRZbADbEWCTOkGUSRdWUSCVvGd\nOUMD1BNPmF0DNTqddxdREtMfXZnZANBMgLAw+yJhwwageXOgU6fyxVJSQlMf770XKEefIQD2F3m6\ndIn+Z8S4vGwZpXy6di3fa1jhtCZh2LBheOmll3DixAk0a9aMBQLDOEMtEkRHPFmQ2dKvLE6CTOmG\nskSCong/nm++oa29VIPAmyLBnaJFQaNGtumGnBxg1Ci6Oi+veE1Pp8ZHQ4eSm1Ie7KUbLl8G7rnH\nfLtXL2DatPKlM+zgNNJt27ZhzJgx2LVrFx577DFMmzYNe8TqVQzD2FIZLH3ZCvAAcywyFy6Ghsrl\nJDiqSVAUy8WyvIWoR3jsMcfHVAaRcPOm5f/xqVM0a+n8ebpSV1NYSH0h7C2edPMmFREuWAC8/jrt\nGzrUvfegxjrdkJ9P3STFAl8ewKlI8PHxwUMPPYS3334bc+bMwYkTJ/DSSy95LCCGqfRYz/6RZUAB\nzF984opEZgEjU2ziMw0O1n6KoRp7ToJWDZUKCoC0NKrab9bM8XFapBusp2KWhahLULsJWVnm399+\n25x+Ki0Fhg8HevakNMTXX5NAO3MGSEqi1MIjjwB//Sut+tiyJdC3b/nfT3g4uRDCScjOpq3aSahg\nnNYkHDlyBF9//TW+//57NG3aFM8++yweeeQRjwXEMJUea5Egy4ACyD0Qy55uqFmT+ucHBcnT0tpR\nugEgkeDNtW3S0+k1y0o1AHQexeDmaU6coEE/JMT1x6hnOAgHQoiEHj1osF+4EJgxg342byZRdOQI\npSPatqXXLSkBmjYFEhJodsX995NYuYPFluDjQ/+7wklQz2zwEE6jnTlzJmJjY5Gamoo64ouFYWQg\nKwv417+A2bPNRTsyYN1eWGYnQcbYZE03iIFGPQjXqqVdTEDZIsHbIku0YnbW0dZbTkJ+Ps1u6NfP\nvcfZ65UgRMLChVSU+d571Pr4nXdo4N+3jwbsGTNoBkPbtsBrrwFPPlnxQrJuXbPLIWY2aOkkbNiw\nASdOnMC3336LkpISPPDAA2hTniYQDFPRrFhB1t+jj7q2wpu3UK8YKNsaBJXBSRBXvzLFJqtIcFST\noL7PWxw+TNuOHcs+rkYNc0Gvr6/n4jl5krbu1CMA9kXCqVNUCNihAzB9OqUPXnqJalQ2bSLBcPfd\nNAMiJ4f2l7c40Rn16pFrUVzsFSfB6bvYtGkTXnzxRZw7dw4XL17EhAkTsH79eo8FxDAuc/s2bV1Y\nw8OriMFOtha+gPxOgp8frT9Qo0blcBK0xlm6wZscPkwCz9lVraiZ8PTn687CTmoc1SQ0akR/ly+8\nQL/rdMDq1badE2vV8pxAAMz/u9euyeEk/Otf/8Jnn32Gu+++GwDw/PPPY/To0Rg5cqTHgmIYlxBf\nkNazCbRG7SQAcgwmAtmdBDHY1aghV2wsEsomL4+utnv1cj71Tt110Xop6YrEnSWi1Vg7Cfn59Lso\nOKxRA9ixgwbohx6qkFDdQlx8XLkiR02C0Wg0CQQACA8PN7VoZhhNEV+CsosEmQY72adAqpc8luW8\nFRWRtSurSAgMtLTttYjv6FGq6r//fufHivOYm2v+O6xo8vOpXsnX13n6w5rwcBICQiScPk3bFi3M\nxzRvTj9aoG6oJIOT0Lp1a/zjH/8wOQfr16/Hfffd57GAGMZlZHUSZLb0RSyyChi1kyBLukHdSAnQ\nboqhPdTCSqCFSBD1CK6IBCEMrl8ve6rknTBnDvDbb8Arr5idAVfR6SwbKomixZYtKzbG8qJuqHTp\nEv2vuLAicnlxmjh566234O/vj+nTp+O1116Dn58fZs+e7bGAGMZlxGBczlVJPQY7CeVDLRJkchLU\nLZkB+ZwEa8u+sogEdWvhiiQzk2YdNGoE/O1v5XuOhg1pmmZRkVkkqJ0ELVE3VBLdFj3o7ru0CuSr\nr77qsQAYptzI6iTIXpMQEEDV14A8A7Gi2IoEWZ0EraYY2sNgoKp6NVo4HUIktG/v/Fh76w+Ul8JC\nYNw4es6kJOpL8OKLlB5KTnavP4KaRo3ob/LSJaq1AOQRCeL8ZWfTT3nXgXARp07Chg0bTNMe27Rp\ng/vuu4+nQFYntm6l5UdLSrSOxBZZRYKo0r/rLrotw2AiMBhokKtRg27LEpuYEmdduKjF+gPWqFsy\nA/I5CTKkG379FWjSxDXbW12df6csXQqsXEltj1u2pMLJbduAQYOA2NjyP6+6oZKsTsKxY/S97MF6\nBMAFkbBkyRKkpKTg2LFjOHbsGDIzM3Hs2DGPBsVIxIoV9CPUtEzIXLgo2vcCcgwmAnG1LlbjkyU2\n6yr9mjWpF35xsXYxCRw5CVqfO0WhGBylG7wlAMVUPFdSDUDFpRtu3QLeeoumHH78MbVF3rWL/naS\nk+/MglcvGZ2VRTFr3RNDIETWoUO09eDMBsAFkVC/fn1EujuFhKk6iHys1l+I9pDVSRDT5WSypQVq\nS1/mNQiE0yFDykFWkVBQQEJB65oEd+oRgIpLN7z7Lq2qOG0apRx++om6Pu7aRWmHO0E4Cb//Tj+y\nuAgApZd8fakwE/C4k+C0JqFdu3aYOHEievbsicDAQNP+oXeykhVTeWCR4D4iTyxTFbzAYDBfJcnk\nJFh3DlTPpfdg5bZLyCoS7PVIACqPSHAn3XDhAqURhg2j93vhAvDBB/S3/Je/0DE6HfDgg64/Z1kI\nkbB3L7lZssxsAMzrN3hhcSfABZGg1+sRHByMAwcOWOxnkVBNEF+Qsg3EotANkC82vZ6+ZGRzEqzt\n6Zo15elWaS/dALCTUBbinGldk+CuSKhVi66E7TkJixcD/fvT2gdqJkyg9scNGtD6CD/+SP9Xb7xh\n/lupSIRISE+nrUxOAkB1CUIkeDjd4FQk1KtXD5MmTfJoEIzEyOokiEI3QC6RYDTSuQoJkc9JEIWA\n6nSDt1bjc4ajdIMMAkt2kSCDk+Dv73pnQ+uVDAUnT9IMhd69qaOhICcH+OYbciByc2nNBICExJgx\nFfMerKlXj4TM9et0WzaRINwYQPvCxW3btkGRocKY0QZZRYI6HplEgohLxpoEe1frMscGyBGfrM2U\nxOtrKRKMRprZ0Lq1eyux1q1rm244d4626enmLocA8NVXdFEwcSLl4SdNojTDokV3tuxyWfj6Avfe\na74tU7oBsBQJWjsJd911FwYOHIh27dpZ1CTMmTPHo4ExkiC+ILX+QrRGLQxkEgnifAUHyzOYCKwH\n4qAgyreWlHjuy9ZVuHDRfWRwEn7/neJwNdUgqFOHxEVxsXkpZfWCSitXAjNn0u/r1tF21Ci6wp8/\nn348TaNGZuEim5MgpkHqdObfPYTTb4Zhw4Z5NABGcoSTINNADMgvEkJC5LLMgbKv1kUPAK2oTE6C\nLA6RWOXQuu2wvz9Z+t4QCe7WIwjElfD16+YrYbVI+PRTqj24fRvYsoWe393VHO8UcV6Dgz0+ELuN\nOH9163pc4Dt99gceeMCjATASU1honqeu9VWTNbKKBBFLSIj8vQjUg52sIoGdBMf8+CNtrTvu6XQU\nozfi+/VX2pZXJFy7ZhYJFy/Stl074MgRmlmQlUWphri4ionXHcQsoJYtPdr2uFwI0eLhegTABZHw\nzDPPQKfTQVEUlJSU4Nq1a2jTpg0+//xzjwfHaIx6TQStvxCtsa5JUBQ5/pHV6QZArl4E1jlsmdIh\n1rHJ5MJYr90gYtP6vP30E60Aaa8Vsrf+7oRQKU+6AbAsXhROwtSpwOjR5CaIfaNG3Vmc5UE4CbKl\nGgCzyPJwPQLggkjYunWrxe1Dhw5h1apVHguIkQj19DitvxCtUbsHRiO5HuLLW0vUTgJQeZwErbGe\nzidzusGbV+qOKCggq79LF3NOX4034rt2Ddi8ma78IyLce6y9hkoXLtB7eeopEgqpqfT5a5FqAOQW\nCV50EpzObrCmQ4cOOHLkiCdiYWRD7STIZOkDtvHIEp89a1qGgQ5wbOnLIGJkL1wMDLQcjLUWCQcO\nUMGpo8V9vBHfypWUjhw71n0Xz15DpYsXaUaBvz/w9NM09VGrVAMADBgAPPookJCgzeuXRceO1Djq\nTtancBGnTsLixYstbp86dQq1a9f2WECMRFQWJwGgL3IZ/i6t0w01a1JfexmQ+Wpd9sJF69UEtRYJ\njuoRBJ6OT1GA5ctpQH/mGfcfb51uMBppxUXxfkaPBt5/n37XItUAUIxbtmjz2s4IDaUW1F7AoZOw\nceNGu/u7deuGhQsXeiwgRiIqg0gQi67I4iRYpxtkdhJkKcAD5C9crKwiwWj0zOv/9BMVLQ4ZYjln\n31Ws0w1Xr5IzIooF778fiImhK3ktUg2MCYdOwqeffophw4bhJdHdiql+VIbCxXr1yJaURSTYa7wj\nay8Cma7WZe+4aF0gpnWtyU8/0dWkowE0PJy2N296xmFbvpy2Y8eW7/HW6QZRoKhuYPTtt+V7bqZC\ncbsmgalGVAYnQXzZyCYSZC4OrAyxySRgynIStOhGm5sLZGZS0aKPg69wUdh25cqdv15pKa24+P33\ndDsvj4oKGzWiK/3yIISLcBKESBBOAiMNDi9tTp48iQEDBtjsVxQFOp0OaWlpHg2MkQC1SJBlEBaI\neMSXoSzx2ZvdANAXq6y9CGQQgI5WgdQ63VBcTDNn7IkEo5Hud6cdcUWQkUHipGtXx8eoRUKbNnf2\nel9/TbMNAGDwYBInt29Tm2Rf3/I9Z0AApQqFSBA9ElgkSIdDkdCkSRN89NFH3oyFkQ2Z0w2yigR2\nEsqHwUApBnFlLEu6wVr0CdT1HN4WCc7qEQDz/4W9lRbd5csvaXv//bSOwldf0e1nn72z51Wv32Av\n3cBIgUOR4O/vj4as6qo3lSHdIKtIkG0xIEBuJ8FgsFyDQBYnwfrzFKhFwl13eTcmd0TCnaYbSktJ\nFNSvT9MuN26kdsndugHNm9/Zc9epA5w5Q64IpxukxaFI6Ny5szfjYGREZpEg4qlfn7ayiAR7sxsA\n7a+IAbnz/tYiQRYnwRWR4G1++oly+k2bOj6mPCLh5k1aS0G94uG+feRGjBtHLs+IEfRTEdStS+ma\nnBxzuoGdBOlwWLg4a9Ysb8bByIj4grz7bnkGYUFlKVyU7WodkHcKpD0nQWuRYN2SWaDVubt2jZZR\n7tat7AZG4v/CHZEwfDi1eFYv0yxSDUOGuB+rM9QzHC5cAMLCbM8zozlend2wYcMGJCYmIjExEXFx\ncbj//vtx+PBhxMfHIyEhAbNnz4bxj3m969atw/DhwxEXF4dt27YBAAoKCpCUlISEhASMHz8eN27c\n8Gb41Q/xBVm/vnaV3I6QWST4+Znz1DI5CXl5NLCIq3RZBmJA/nSDddGpViLhp59oW1aqAXDsJOTk\nAI88YtskaM8eYPt2KtJ8803z/k2b6LN4+OE7Ctsu6oZKFy5wqkFSvCoShg8fjpSUFKSkpKBdu3aY\nMWMGlixZgpdffhmrV6+GoihIS0vD1atXkZKSgjVr1mD58uWYP38+ioqKkJqaisjISKxevRpDhw7F\n0qVLvRm+5zh0CFizRusobBEiQXzhaP2FrcZgoFa5YWHm2zJgMJhXgATkcxKCg82xyeIkGI0kVNQi\nwd+f4tRawDhKN2j1uQqRUNbMBoDSETqdrUjYvZumMo4da/k/8957tK1ThxZWOnGCfjIzaZqjeL8V\niRD4584BN25wqkFSNOmTcPjwYZw6dQpPPvkkjhw5gu7duwMAevfujd27d+PQoUOIiopCQEAAQkND\nERERgczMTGRkZKBXr16mY/fs2aNF+BXP669Tf3BZBjqBXk95SDGnWevBRI0Y8MTAIsu50+stBzuZ\nnARZLX3x+urYxDLbWgvT27dpq44N0E5gHTxI26ioso/z9aUB31oknD9P2wsXgLlz6ffjx4EvvgC6\ndwc+/JCKFd94wzyLwVPrAwiRcOgQbdlJkBJNWsD985//xIQJEwCY+y4AQHBwMHJzc6HX6xGqsveC\ng4Oh1+st9otjnZGcnGyz/oR0XL9OVn5uru2XkZbk5pLNqh6IZVgfAaAvZ1lFguh2B8jnJIjBDZBH\nwFivKSGoUUP72A4fpq26mA/QTiQcPkyzKcQKhWVRr565IFAgRIKvL7kHY8cC8+bR98+rrwLDhpEA\nSU0F9u4lsfbEExX/PgBzukEIH3YSpMTrTsLt27dx+vRp9OjRgwJQdQwzGAwICwtDSEgIDKovfYPB\ngNDQUIv94lhnJCUl4fjx4xY/0jWCEmJHloFOkJtLNqsYiGUY6ARiwJNNJIh0g0CWgRhw7CRo/bla\nF1QKatbU/rzt2UMD5R9upwktPtf8fODkSepX4Mqqi/Xq0YyF4mLzPiESXn+dXJrx44EVK0gEDR1K\nzuGbb5Jo+O03WmlQpBsrGuEkCJHAToKUeF0k/Pjjj3jwwQdNt9u2bYt9+/YBANLT09G1a1d06NAB\nGRkZKCwsRG5uLrKyshAZGYnOnTtjx44dpmO7dOni7fA9g7A01c2LZECvJydBlty1Gut0gwznzmg0\nOxwCWQZiQN5phmWJBC3TDcXF1JOgfXtz7YtAi/+Jo0fpb6xDB9eOF4O7ejlmIRJefRXo0QP43/9o\nOebJk83dEx9/nO4DPLsUsbomAWCRICleFwmnT59GI5VVNnXqVCQnJ+PJJ59EcXExYmJiULduXSQm\nJiIhIQFjxozBpEmTEBgYiPj4eJw8eRLx8fFYu3Zt1Vl8SmYnQUaRoCjmwTgwkK5+ZDh34vzI6CQU\nF9OPeiD28SGhoPXn6kgkaJ1uOHSIXl91UWNCi/8Jkbu//37Xjrc3DfL8eUqHBQcDYjXfevVoaWaB\nTgcsXUoCYcyYO4/bESLdIOB0g5R4vSZh3LhxFrebNWuGlStX2hwXFxeHuLg4i301a9bEokWLPBqf\n1xG1CIAcA52gpISu4kJCzF+IssSXn0/nTVTqBwfLEZu9SnhZnASZLX1ZYxOF0bKIBFEf4a6TYC0S\nmjSh37t3Bz77jFa4tJ69EBVFxYyeJCSERH5hId1mJ0FKNF67lkFBAQ3IgBwDnUA9P1y2mgQRh4hL\nNpEg4+wGRwOxWM1QS8pyEgoKSBC6koOvaGQTCcJJaN/eteOtRcLt2/SjLnocObLi4nMXnY7cjvPn\n6XfRPZWRCl4qWmtkXWlRxCVjusG6Gl4WkWBvMSB2EpxjLfoE4tyJK01vs2cPWfORkbb3aeUkNGvm\n+mqi1iJBrI/gyswIbyFSDvXrU28MRjpYJGiNWiTIUHwnULejlVUkyOokyFiTUJaTIGtsWnZdzM6m\n9sQ9eth3Mbwt/rKzabB3tR4BsBUJomhRJpEg6iY41SAtLBK0RsxsAOQY6ATqdIPsIiEkhPZp3Tba\nXrqhMjgJssRmr08CoI2IKSvVAHj/f8LdegSgcokELlqUFhYJWlOZ0g2yxGfPSSgtpalcWmIv3VAZ\nnISiIjp/WpGdTVvrJZe17Agpm0hwd2YDYB6Ar16lrYwiQaQb2EmQFhYJWiOrk6BON8hauKiuSQC0\nP3/20g2BgWRXa33unOX9tRQx6ek0HdN6PQIt0w179lBM1k2UBN4Wf+VxEmrVojw/OwnMHcAiQWtk\ndRIqU7pBNpFgbw0CmZ0EQLv48vKo/W9UlK2ToFW6obiYFlJq395xkaC3xd+hQ/Sa1u2hy0Kno5SD\nzCJBOAhNm2oaBuMYngKpNbIXLrJIcB176QZArry/IydBq/h276ZBuV8/2/u0chLKaqIk0Om8N320\npIS6LbZrR8uQu0O9erSaI0AiITTUtnuklsTHU7rrySe1joRxADsJWlMZ0g2VoSZBvV8rHC0rLNMM\nAuviQK3TDdu20daeSNDKSRD1CKI1sSM8JRJKS6kDolhD4dQpEkru1CMI6tWjz95gIJEgk4sA0Gf8\n5z8DAQFaR8I4gJ0ErakM6QbZahJkFwn2rtZzcrwfjxpn6QatPtvt22nNgOho2/u0EjDbt9P2oYfK\nPs5TIuG774CUFPr97FlgwAD63Z16BIGY4XD2LHDjBlBV1rthvAY7CVojq0iQOd0ga+Gio3SDTE6C\nTIWLej2wfz8NXPYscC3SDQYD8M03QOvWQKtWZR8bFkarLFY0y5fTtkUL4JNPgAkT6HZ5nQQA+OUX\n2srmJDDSwyJBaypDukHYvrKIBNmdBBlrEkS3vfBwy/1aFi7u2kX5dnupBkCbdMO339JnNXKk81bQ\n995L/78V+Xd35Qrw5ZfkGmRkkMNy4wbdVx4nQcwe+Pln2rJIYNyERYLWiMFYp5OrcFGdbhBFWloP\nwgJHIkHr85eZSVPOrFe3CwqiwbC4WJu4FAXYupUGDOsWw1oWLop6hL597d+vhZOwfj1tR4xwfqyY\nticEWEWQkkJ/J2PH0hTGLVsolv79y7e2ATsJzB3CIkFrhJNQp448gzBgmW4AaCDW+mpYIKOTcOMG\nXVMiPr8AACAASURBVK316GG7op7WxYHHjwMXL9JA42P1L6+lk7B9O1Xr26tHALzvJBQUAF9/DTRv\nDnTq5Px4MX3v4kXXX8NodCwWFYVSDQEBwNNP076gIBIuaWmuv4YaIRLYSWDKCYsErcnNpS9uWUWC\nGERkWC1QYG8VSEDb87djB33JiyIzNVr3Ivj+e9rai00rJyE3l3oRdOtmm54ReFtcffcduVGupBoA\ns0iwdhL0emDaNODyZdvHDBpEaQN753vvXuDYMWDYMKB2bffjt4cQCbdu0ZZFAuMmLBK0JjeXrtZD\nQ+USCXo9fXmLK0+ZRIK9VSDV+7VAXOnJNBALyopNKwGzcydN9XOUagC8n24QqQZXl092JBI2bgTm\nzgX+/nfL/SdPUlFkZibw3nu2zycKFseOdT1mZwiRIGCRwLgJiwStuX2bqqSDg2lJ3JISrSMihHgR\nyFiTIAYRcSWqtUgIDrbfxldLJ6G0lGz9Zs3IRrdGKwEjphk6KloEvJtuKCykgsGICNv20I5wJBJO\nn6btqlWWf5MrVtDW1xd45x3gzBnzfbm5wNq1QJMm9sVceRGFiwB91nffXXHPzVQLWCRojRiMZbga\nViOcBIFwErReaRGgcxQUZHY5tD53Fy7Q1WHv3vabwmjpJPz8M1nNjgYereolvvmGzlVZvQi86SSk\npVEvC1dTDYC5cNG6JuH332l7+zbw2Wf0u9EIfPop/a8vWULvafJkui8nBxgyhP7nxo61rRu5E4KC\nzP/HjRq5/t4Y5g9YJGjN7dtyigRrJ0HEp8ViO9YYDJbz/bU+d1u30tbRQKylk1BWqgHQpgdGZibw\n66/AwIG2fRvUeNJJuHKF2i536wY89RQwezbtdzXVAJCV7+dn6yQIkaDTUZ8DgGZynDsHxMUB48fT\na69fD6xcCfTqRc7KsGHAlCl3+s5sEW4CpxqYcsAdF7WksJAqncPC5LDMBUYjxWGdbgBoMLGu3vc2\neXmW7YW1FgnOBmItnQQRW//+9u/XwkkQV9fOBmRPxaYoNFDv3UvW/08/0f4mTYAHHnD9eXx8gHvu\nsS8S7rmHChS3bKF1F0Sq4U9/osctWkSpqcRE2v/ii7TP1/dO350t9epRCoRFAlMO2EnQEvU0Q60H\nOjX2OgfK1HVRJidBUWggrlPHcbMbrZyEggLghx+oU591AZtAi9jWr6dUw5AhZR/nqXTDxx9T/UG/\nfvTcZ86QG7Rjh/tWf8OGlG4wGul2SQk5Bk2bkhABgAULgM8/pw6KPXvSvq5dac0CAHj7bWDxYs8I\nBMD82bNIYMoBiwQtET0SROEiIIdIsO6RAMi1yJO1SKhRg6xdLWI7eZIWzunXz/EAo5WTsGcPDYJl\nFcJ5O7YTJ2iVxUcfpWZBZeGJdMOJE8CkSbQs9YoVlC6IiKDPr0kT95+vYUMSBlev0u2LF+l206bA\n4MFk9X/yCZ3f0aMtawKWLCFB8dprnq0VYJHA3AGcbtASe06C1l0DAfsiQZZFnkpLaeBTiwSdjm5r\nIRKcpRoA7ZwEGWNzNdUAlN9J+Otfqb1yfj79BAYCUVFk72/YQH/D//430Lixe89rD3XxYv365nqE\npk3JLfnTn8zTHUePtnysj493Bm4hEsRsDIZxAxYJWiJrusHeGgSypBusGykJZBYJWjgJigJs3kwW\ndu/ejo8Tn7F6DRFPsn49ta6OjXV+rJ8fxe+OgDl/nuz9GjXoKr5WLZo9sGkT/QBUBxAXV774rVFP\ng4yKshQJADBuHPD+++RUiH3eZswYKtR85BFtXp+p1LBI0BJ1ukGmwsWy0g2yiAR14SKgnUhIT6cr\n0hYtHB+jhZOwfTv164+Ntb/CoqBGDbLe3WktXF5OnQIOHAAef5xe0xVCQtwTMF98Qdv33zevnqgo\nNIj/+CPVH4wb517cZWHdK8FaJERGUl2IVgIBoBUtxSwLhnETFglaIquTIHNNgqMlj4ODzavleYur\nV+knNrbsnLIWTsKcObR97TXnx957r3dEgkg1jBrl+mMiIqgyX1Esz3FhIQm0hx+23L9hA22HDjXv\n0+nI1veEte9MJABl94JgGMnhwkUtkbVwUeZ0Q1kiwdv1HEeP0rZNm7KP87aTkJEB/O9/NO3RlSl9\nDRsCN296Nr7SUmDNGkohOJvVoKZFC/pcRWGg4N//puLHDz8077t2jWYo9Ojhvfy7dUMlIRIiIrzz\n+gzjYVgkaEllchJkKVwsSySUlABFRd6LRYiEtm3LPs7bToI7LgLguHNgRaEowPPP06yG2FggPNz1\nx4o0TlaW5f6DB2n7zjvmz/zLL2kq4vDhdx6zq9hzEu65xzwzg2EqOSwStKQyzW6QzUmwV5Ogvt8b\nuCoSxHmsqOLATz6hPPO+fbb3ZWaS5d61q+trAJRnyWNXURSabfDJJ0DnzuZFjFzFkUg4cYK2585R\nu2OAehEA3hUJISHkBF64YNkjgWGqCCwStETWwsWy0g1ax1fW7AbAu/EdO0bb++4r+zgxBe3KlTt/\nTaMR+Mc/aJB8+GHzQkmCuXNpYJ4+3f01CKw7B94pt28DM2YAH3xAKZlvv3XeG8GaskTC3XfTNMM5\nc6ge5fvvgY4dyy4i9QQNG9K5U/dIYJgqAhcuaon6il0sDKT1IAxUDifBWiRoIbKOHqUGPGWtPwDQ\n/cHBQHb2nb/m7t1kaXfqBBw5Ajz2GOX6DQbgn/+kYr42bVybYiioSCfh3Dng1VdpJoEY2Js3pwFc\nvSKhq9gTCQYDTXUcMIBmD3z4IfUgKCryrosgaNiQBKMQjSwSmCoEOwlaIgZj2QoXK2tNgvp+T3Pr\nFnDpkvOiRUH9+hUjElatou2771IOHqBK/qefNlf7r17tXnthR07CuXNAcrJ7zYxeeYVEy82bNIhP\nmULFhOI13CUignolqEXCqVO0jYwEpk6lYsj//pf2aSESxHvbs4e2LBKYKgQ7CVoi0g2hoWZrWAaR\nUFlnN6jv9zTiqtFZPYKgfn26ujYay78UcFERsHYt0KABzVzw9SULf8oUoG9f4P/+D2jZ0v3ndVS4\nuGAB/WzfDqxb53xtgexsYONGoH17KlKsiFbD/v7k1qhFgqhHaN2a7hs9GvjXv4BWrYB27e78Nd1F\nODG7dtGWRQJThWAnQUtyc80thUUFvOyFi1qLGFkKF10tWhTUq0f56ps3XX+Nr76i5j+Cb76hx8fH\nmwfsPn2A/fvJWSiPQABIdOh0tk5CZiZtN2ygVQoVpeznWbGC3uP//V/FrkXQogUJEPHZCpEQGUnb\n6dOpOVNFv66rCJGwdy9tWSQwVQh2ErTk9m2zi6Dl+gPWCJEgo5MgS+Giqz0SBPXr0zY7G6hd2/nx\nv/5K/QQaNqQr1CZNzKmGZ55xP96y8POj+KydhJMnqTiwaVPgo49I6Lz5pv3nMBppdcUaNSo+vubN\nafvbb7Si5fHjdFuIhBYtgOvXy+/Q3ClCJAiBzz0SmCqE1/+r/vnPf+LJJ5/E8OHD8dlnn+HMmTOI\nj49HQkICZs+eDeMfS66uW7cOw4cPR1xcHLZt2wYAKCgoQFJSEhISEjB+/Hjc8HaHvYomN9c27y+D\nSNDrydlQ28tck2CJSDeURySoyckhQWDNxo20vXCBmgZlZVENwn330RoBFY2o0BduQXExdTq87z5y\nMFq0AN56i1IJY8YAixZR8aBg+3aqFYiLI2FRkVgXL544YU5DCLQSCIBl46YGDbhHAlOl8Op/1r59\n+/DLL78gNTUVKSkpuHz5MubMmYOXX34Zq1evhqIoSEtLw9WrV5GSkoI1a9Zg+fLlmD9/PoqKipCa\nmorIyEisXr0aQ4cOxdKlS70ZfsWTm2vZV18WkWAtXgDzFx+LBOLoUWqa4+qA6EgkTJ9OMxWEMyHY\nuJEGwgkTaFDs2pVaET/zjGcs9XvvpQLFW7fo9u+/U5fEVq0o9u++o6LI33+nvgR/+QvFLSz2jz6i\n7f/9X8XHphYJikJOQosW5IDIgLook1MNTBXDqyLhhx9+QGRkJCZMmIDnn38effv2xZEjR9C9e3cA\nQO/evbF7924cOnQIUVFRCAgIQGhoKCIiIpCZmYmMjAz06tXLdOweUU1cWRHpBoEMIuHGDboiFBav\nQKejlIMsIkHLmgS9nmoFXHURAMci4cgRGozVC/CcOUOLM/XvT7MLnnvOPHgnJNxZ7I6wngZ58iRt\nW7WibfPm1Oo5J4cEzTvvUH1E//7UInnjRqrP8MQ6BWqRcP06nQuRapCB+vXNTgaLBKaK4VUpfvPm\nTVy8eBHLli3D+fPn8cILL0BRFOj+uDIKDg5Gbm4u9Ho9QlWDZ3BwMPR6vcV+cawzkpOTsXjxYs+8\noTuhqIiuDK1FgtaFi5s306A1eLDtfUFB2osYZ30SXPibuGNETtzVokXAsUg4e5a2n35KTYECA81L\nGg8dSuLsn/+k1E9gINCs2Z3F7gj1NMh27WxFgsDXl8RRmzZ0XFwciRjAc4WDQrBmZdkWLcqAnx+l\nGS5eZJHAVDm86iTcddddiI6ORkBAAJo3b47AwECLgd5gMCAsLAwhISEwqAYjg8GA0NBQi/3iWGck\nJSXh+PHjFj9paWkV/+bcRd0jQRASQrng4mJtYgLMA5S9ZjwyOAmOChdFox7rhYCcceYMiSJ3cHdm\nA2BfJBiN5rz+9evmZY7FViyE5OdHdn5ysntxuoMzJ8EegwZRLUKdOiR2ExM9E1toKBVNyioSAPP5\nY5HAVDG8KhK6dOmCnTt3QlEUZGdnIz8/Hw8++CD2/dGDPj09HV27dkWHDh2QkZGBwsJC5ObmIisr\nC5GRkejcuTN27NhhOrZLly7eDL9iKathkVZX64WFNO++RQv7A2BwsLYiQVGowY+/P11Vq2nQgLaX\nL7v+fD/8QFepr77qXhzuzmwA7IuE7GwShB070u2PPyaxkJ5OqzeWtwFRebBuqOSKSACA7t1pquTB\ng+4t3OQuLVqQoBPnXjaRIM4fiwSmiuHVdEO/fv3w448/YuTIkVAUBbNmzUKjRo0wc+ZMzJ8/H82b\nN0dMTAx8fX2RmJiIhIQEKIqCSZMmITAwEPHx8Zg6dSri4+Ph7++PefPmeTP8isWek6AWCXfd5f2Y\ntm2jdMf48fZtY62dhL17aVbBiBG28YWHk3i4dMm151IU4PXX6Wp+8WIqxHN16lp5nISwMBI2apEg\nUg0DBtCaBmlp5BaUllKqwZtYN1Q6eZKEjXUBqz1q13ZtWued0KIFdTT8/nu6LZtIiIoiga1FMyeG\n8SBeLw9+1c5V28qVK232xcXFIS4uzmJfzZo1sWjRIo/F5lXU3RYFWjsJZaUaALNIUBRtmtaI2Swv\nvmh7n48PDWquOglbt9IVe4MG9Ji//92yePCLL6iiPyYGeOQRy0LJY8doUHRnLQKdzrY187lztI2I\noJkC6ek0zRDwvkhQL3lcVERX7Z4oQiwvonjxl18oLSecI1mYNg0YN85yOiTDVAG446JWlJVu0KJ4\n0Wikefjh4UDPnvaPCQoigeBOL/+K4upVag3cujXQr5/9Y8SA76wzoKIAM2fS719+SY7Af/5jLkj8\n7jtg1ChaOGjoUBIETzwBTJ5MV/pZWZRqcFcoCZEg4hNOQuPG5I7UqkUuQuvWzleWrGjCw8npuHiR\nmhYZjc5TDd5EPdumdWttRGpZBAayQGCqJCwStMJR4SKgjZOQkUEDxKBBjuefa9lQ6V//oivcF190\nPEA0aEACRrg0jtiyhazroUOBbt2oi2BpKTB7Nl2pjhhBVfz/+Q/w2ms0QG3eDMybB0ycSAPo/fe7\n/x7q16f3IOITIiEiggSY6FTobRcBoHN6773kJLhaj+BN1Ms/y5ZqYJgqjCTdSKohsqUbxIqCoqLe\nHurWzJ7OQaspLQWWLaPXHz3a8XHq4sVatewfo3YR3niDtsOGAV260OJJaWl0/j/7jMQCALz9NnDl\nCnUg/P13ev6RI91/H+rixVq1LEUCQCsa5uQAL73k/nNXBPfeS+JJrNnAIoFhqj0sErTCWeGit9m0\niSzTmBjHx2i1yNM339DgPH582QWdapHQurXt/cXFtBDSTz9ROqFDB9qv05EQiIkBrl0DPvjALBAE\n9erRzwMPlP99qEVCZCTVJAQGmmsbGjcGUlLK//x3SsOG5JKI1QxlEgn165ubjbFIYBivwSJBK2Ry\nEk6fBg4fBh5/3HJRJ2u0WuSprIJFNWVNg9y+HUhKonUSwsNtFyp65BGa7VC3Ls108ATW0yDPniVh\nIEt+XcxwSE+nbXlXlfQEOh2lfQ4fZpHAMF6ERYJWyFS46GxWg0CLmoScHJpa1r07zQAoC0ci4f33\ngSlTaKAZP55cgzp1LI/R6cwzCzxFvXq0zc6m2okrV2jBJFkQIuHmTfrdumGV1nTrRrMu7LlEDMN4\nBC5c1AqZChdFPYK9VsxqtHASDhygOoI+fZwf60gkrFpFC1Tt20edC60FgrdQOwmi06JMywqrq/Nl\nSjUIFi6kHhWu9G5gGKZCYCdBK2RJN9y4QfZy9+60qmFZaFGT8PPPtHVleWR7IkFRaMpiq1Z0Jaol\napFgXbQoA+oOjzKKhJCQstNhDMNUOOwkaIUshYtiQSdnqQZAGyfhl19oW16RcP06nWvrVS21wJ5I\naNxYu3isUTsJnPdnGAYsErRDiAR13lcLkSBSDa6IBBGfsz4EFckvv9DrunJlGxxMzoy6NXNWFm3V\nU+i04u67qQcFOwkMw1QSWCRoxe3bZJ36qD4CbxcuFhbS9EJHCzpZI67GRbMdT5OfTy2QO3ak5kau\nILouCn77jbYyOAk+PlS8mJ1t2ZJZFoKDzf0lWCQwDAMWCdqRm2uZagC8X7goFnQaMsS1aXhCSBw5\n4tm4BL/+SqkQV1INggYNqIWzWP5ZJpEAmFszy5huAMhN0OnkcF4YhtEcFglacfu2bZW2t9MNrk59\nFNSqBTRq5J5IyMoCoqOpgZG7uFO0KGjQgBoCXb1qfn1AnkGvfn2q6Th2jPo1yDbNcMYMYM4cmg3C\nMEy1h0WCFhQWArdu2bYOrlGDruK8IRIUxfmCTvZo1476+9+65drxb79NHfzee8/9GEXRYufOrj/G\nunjxt9/onDZp4v7rewJRvHjunFypBkFCArWHZhiGAYsEbdiyhRb66dXLcr9OZ2496wnS04G4OFp3\nIDbW+YJO9mjXjrZHjzo/9soV6lEAkCBxt+Dxl18Af3/za7qCPZHQqBG1P5YBIRIAOUUCwzCMCu6T\noAVr1tD2qads7wsO9kzh4rlzVHuQk2O5/+mn3XseMWAfOQI89JB5/xdf0HTDsWPN+5YtI9ekVSsq\ndty4ERgzxrXXKSkBDh2i1wsIcD0+tUgoLKSmRa40YvIWapEgWz0CwzCMFewkeJu8PLqqbt6cVh60\nJiSk4p0Eo5EG55wcYMkSusK/fJkaKT36qHvPZa940WikdsfjxgGpqbSvsJDWXKhVC1i3jvYJVwGg\ndMf/t3fvUVHVCRzAv8MgUAwj6qaUJuAqpasmZNpGi3iobK10RV0XXKy15HEKwpR4pOn6xD1JD40y\nt2NGbmKyuvlYs8USkfIUtSac2PKBu5j5rIXBGAl/+8dv7zCjV4EZ5t6h+X7O4Vzm/bs/wfvl9/zD\nH+QCR2rjFf71L7l0cUfGIwCOIaG2Vn6OpwxaBNiSQERdCkOC1nbulCFg2jT1GQXu6G548UU5k2HC\nBCAtTW5i1KePnLffUWohoapK7p4IyKBQVSVbS06dkuFhxAi5e2JpaWs3wJYtwBtvyIBw553AwoVy\nl0aFMmixI+MRAMeQoAxaZEggInIKQ4LWiovlcdo09cc7OyRUVQG5uTIYrF3r+o6DZrNsJrcfk/DB\nB/IYHy9bSuLj5aZKPj7AE0/Ix6ZPly0OxcVy+mdGhuxGWLtWTrv74x9l94WyEFJHVlq0Zx8SlOmP\nnjKzAWB3AxF1KQwJWrJYgB075C52w4erPycwUPbHX7yo/rgQ7f88qxX4/e/l8fXXW3chdNUvfiEH\nPSozHJSQsHIl8PTTcvxBVRUweXLrrIJp0+SCSBs2yFaDEyeAnBzZ8nDoEJCUJFsVYmPle3/+uQw0\nt93WsbL17i1fd/Kk562RALAlgYi6FIYELW3bJlcRvFpXA3DtVRdjY6/eAqFmwQLg4EHZ5N/WDo8d\nYT94saUF2LsXCAuTX0uXAmPHysdnz259Te/ewL33Ap98ArzwgvzrPjdXPta9O7B+vQwYX30lX//Z\nZ3L/gI5u6OPrK1tNPLW7oVcv2cJiNLa9oRYRkc44u0FLbXU1AI6rLvbs2Xp/U5O8GBsMcsR+v37X\n/qyyMuBPf5IXyIIC18p9OfuQcP31skVh0iR5n68vsH07UFNz5XiCxERg1y7Z7VBY6Lhgj8EA5OfL\n44oV8r7x450rX0iIHLTo5ye7R3r1cu593MFolBsp+fl1bOopEZEO+L+UVv77X7lPwrBh194n4Wqr\nLirL+AoBvPOO41/pl6uvB2bMkBfct97q/O117UOC0uKhtB4AMjioDTicNEmGm/vuU59VYTDI1f58\nfOTx7rudK19IiJw++fXXwODBro/D6GzFxe3fi4KISEcMCVrZtk2OM/jtb6/9vKuFhOPHW78vLr4y\nJJw50zqtsbBQPn/ePOCXv3S97Jezn+Gg9Pvbh4SrMZlkua510TYYZJfFww87P+BQGbxotXrWoEWF\nO/5NiIjcgCFBKyUl8jh58rWf11ZI8PUFDhwAjh0DwsPlfRs2yIuqsqkRINdgePZZ18utxmSSAxIP\nHZLdIAMHtt39ofBpxzAYg0EO7nSWEhIAzxqPQETUxXDgohYaG2Vf/ODB8utalK6BhgbH+2tr5TEh\nQR6VBYq++w7IzASuuw54/HFg/ny5LsKuXXJJY3cZMkQuylRf375WBC0xJBARdQqGBC38/e/yL+74\n+Lafq/xFbt+9YH87M1Ne/JWlnRculAsZzZsHrF4NLFok1yD42c86rfiq7PdT8OSQ4IndDUREXQRD\nghba29UAyGl/gFyW2N7x47KpftgwOejvn/+Uqxa+/LJs7s/M7Nwyt8U+JMTGavvZbWFLAhFRp2BI\ncLemJjklMDxcLk/cFiUkfPWV4/21tXLqXLdurRtD/e53chzC889rv8uhEhJuvdXz5vsrIcFo5IJF\nREQuYEhwt3/8Q04TjI9v31S87t3lqnz2LQnNzXKFQmX1wgkTZCi4eBH49a+BBx5wT9mvZdgwYNQo\nICVF+89uixJa+vd377gMIqKfOM5ucLe//lUe29PVoLjlFmDfPjmFz99fBoRLl+SKhoBcIGjKFNmN\n8fzz+qwDEBAgZ1l4ou7dZR3ab2VNREQdxpYEd2puBv72N7mB0ejR7X9dRIRcNOnwYXlbmdmgtCQA\ncmOkI0dcmyr4U2UwyDUc/vxnvUtCRNSlMSS405YtcnGjSZPatz6AQrnwK+MSlJkN9iHhuutk+CB1\nRmPH6pyIiK7A/0XdoaICuP/+1o2cpk/v2Osvn+GgFhKIiIjcjCHBFc3NwBtvyJH+QUHyy2wGoqOB\n996T6wd8+GHHl+G9vCVB6W5QxiQQERFpQPOBi5MmTYLp/6sK9uvXD6mpqcjJyYHBYMCgQYOwYMEC\n+Pj4YNOmTdi4cSN8fX2RlpaGsWPHoqmpCVlZWTh37hwCAwOxYsUK9LTfKdHdfvgBOHkS+OYbuYHQ\nypVy74Ju3YChQ1ufd/PNwNy5wK9+5dznhIfL5vLLWxI4nY+IiDSkaUiwWq0QQqCoqMh2X2pqKjIz\nMzF69Gg8++yzKC0txYgRI1BUVISSkhJYrVYkJiYiOjoab7/9NiIiIpCeno4dO3agsLAQ8+bN06bw\n+flyVUP7/RH8/ORSyNnZMhh0Fj8/uQiQ/ZiEPn0ct1YmIiJyM01DQk1NDX744QfMnDkTP/74I556\n6ilUV1dj1KhRAICYmBjs378fPj4+iIyMhJ+fH/z8/NC/f3/U1NSgsrISjz32mO25hYWFnV/Iv/wF\nCA4Gxo9vvW/tWiA3Vw4UvOceuahR377Ab34jj+4QEQHs2CGXXP73v9W3XiYiInIjTUNCQEAAHn30\nUUydOhW1tbWYNWsWhBAw/H+ef2BgIBoaGmCxWBAUFGR7XWBgICwWi8P9ynPbsmrVKqxevVr9QSEc\nb5871zrIMCFB7oVQXg6kpsq9ED74oHVQobvdcosMCWVlcuwDBy0SEZHGNA0J4eHhCA0NhcFgQHh4\nOIKDg1FdXW17vLGxEWazGSaTCY12WyU3NjYiKCjI4X7luW1JT09Henq6w311dXWIi4sDPv/csZtA\nad739wfefluGgu+/l83827drFxCA1s/avVseGRKIiEhjms5u2Lx5M/Lz8wEAp06dgsViQXR0NA78\nf+W+srIyjBw5EsOHD0dlZSWsVisaGhpw5MgRREREICoqCnv37rU99/bbb3etQF9/7XhbCQkFBcDy\n5XKNg+ZmYPPmji2G1BmUGQ5KSODMBiIi0pimLQlTpkxBbm4uEhISYDAYsGzZMvTo0QPz589HQUEB\nBgwYgHHjxsFoNCIpKQmJiYkQQmD27Nnw9/dHQkICsrOzkZCQgG7dumHlypWuFejIEcfbSkgYMkTu\nbDh1KlBfD0RGuvY5zlBaEo4dk0e2JBARkcYMQlzeMf/Tp3Q3lIaFod9777U+oOyHcOKE/qsZCiHX\nXLBY5O1DhxynWRIREbmZdy+mpNaSYDJ5xtbHBoPjGAi2JBARkca8OyT85z9AU5P8/tIlOUYhIkKf\nXRXVKOMSevaUqzkSERFpyLtDwqVLrTst1tXJwKDlDIa2KGVhKwIREenAu0MCANTUyKMyaNGTQoLS\nksCQQEREOmBI8OSQMGKE7PrggEUiItKB5hs8eRxPDgmDBwOffNLaokBERKQh7w4Jfn5XhoRBg/Qr\njxpXF4wiIiJyknd3NwwYIEOCEDIk9O4tN3ciIiIiLw8JP/850NgoVzU8dsyzuhqIiIh0xpAAp9zS\nBgAACLVJREFUADt3yumQDAlEREQ2DAkAsG2bPDIkEBER2TAkAHJLaIAhgYiIyI53h4TwcHlsbpZH\nhgQiIiIb7w4J118P3Hyz/N5gaG1ZICIiIi8PCQBw663yGBoKBAToWxYiIiIPwpCghAR2NRARETlg\nSFBCApc+JiIicsCQEBsL+PsD99yjd0mIiIg8infv3QAAQ4YATU16l4KIiMjjsCWBiIiIVDEkEBER\nkSqGBCIiIlLFkEBERESqGBKIiIhIFUMCERERqWJIICIiIlUMCURERKSKIYGIiIhUMSQQERGRKoYE\nIiIiUuWVeze0tLQAAL799ludS0JERKStkJAQ+Pq27/LvlSHhzJkzAIDp06frXBIiIiJtlZaWol+/\nfu16rleGhKFDhyI+Ph6pqakwGo16F+cKcXFxKC0t1bsYV7V+/Xo8/PDDehdDlSfXHevNOaw357De\nnOMN9RYSEtLu53plSAgICMBNN92E0NBQvYtyVe1NeXowm80eXT5PLRvrzTmsN+ew3pzDenPktQMX\nR40apXcRuizWnXNYb85hvTmH9eYc1psjrw0Jo0eP1rsIXRbrzjmsN+ew3pzDenMO682R14YEIiIi\nujbjwoULF+pdCLoS06zzWHfOYb05h/XmHNabc7SuN4MQQmj6iURERNQlsLuBiIiIVDEkEBERkSqG\nBCIiIlLFkEBERESqGBKIiIhIlVcuy6yH5uZm5OXl4cSJE7h48SLS0tIwcOBA5OTkwGAwYNCgQViw\nYAF8fHywadMmbNy4Eb6+vkhLS8PYsWPx2muvYd++fQCA+vp6nD17Fvv379f5rLThat19//33yMrK\ngsViQXBwMJYsWYJevXrpfVpu15F6A4Dz588jISEB7777Lvz9/W3v8/7772PXrl1YuXKlXqeiKVfr\n7cKFC5gzZw7q6+vRrVs3rFixAn369NH5rNzP1XoTQiAmJgZhYWEAgBEjRmDOnDk6npE2XK03t18b\nBGli8+bNYsmSJUIIIb777jsxZswYkZKSIj7++GMhhBDz588Xu3fvFqdPnxYPPvigsFqtor6+3va9\nveTkZLFv3z7Nz0EvrtZdfn6+eOWVV4QQQuzfv1/k5eXpdi5aam+9CSFEWVmZmDhxooiMjBRNTU22\n91i8eLEYN26cyMzM1P4EdOJqva1bt06sWrVKCCFESUmJWLx4sQ5noT1X6622tlakpKToU3gddcbv\nqcId1wZ2N2jk/vvvx5NPPgkAEELAaDSiurratk54TEwMKioq8MUXXyAyMhJ+fn4ICgpC//79UVNT\nY3uf3bt3w2w24+6779blPPTgat0dPnwYMTExAICoqChUVlbqdi5aam+9AYCPjw/WrVuH4OBgh/eI\nioqCt6235mq9PfLII0hLSwMAfPPNNzCbzRqfgT5crbfq6mqcOnUKSUlJmDVrFo4ePar9SeigM35P\nAfddGxgSNBIYGAiTyQSLxYKMjAxkZmZCCAGDwWB7vKGhARaLBUFBQQ6vs1gstttr1qzBE088oXn5\n9eRq3Q0ePBh79uwBAOzZswdNTU26nIfW2ltvABAdHY0ePXpc8R7jx4+3Pd9bdEa9GY1GzJgxA2+9\n9RbuvfdeTcuvF1fr7YYbbkBycjKKioqQkpKCrKwszc9BD53x8wa479rAkKChkydPYsaMGZg4cSIe\neughWx8TADQ2NsJsNsNkMqGxsdHhfuXCd/jwYZjNZo/e4tpdXKm75ORknDhxAtOnT0ddXV2H9lLv\n6tpTb3Slzqi3N998Exs2bEB6ero7i+pRXKm3oUOHIi4uDgAwcuRInD59GsJLFgR29efNndcGhgSN\nnD17FjNnzkRWVhamTJkCABgyZAgOHDgAACgrK8PIkSMxfPhwVFZWwmq1oqGhAUeOHEFERAQAoKKi\nwtZs7k1crbtPP/0UU6dOxYYNGxAaGoqoqCg9T0cz7a03cuRqva1ZswZbt24FIP8KNBqN7i+0B3C1\n3lavXo3169cDAGpqanDjjTd6RStWZ/yeuvPawNkNGnn11VdRX1+PwsJCFBYWAgCeeeYZLFmyBAUF\nBRgwYADGjRsHo9GIpKQkJCYmQgiB2bNn20aaHzt2DNHR0Xqehi5crbvw8HBkZ2cDAHr37o1ly5bp\neTqaaW+9kSNX623y5MnIzs5GSUkJWlpa+PPWznpLTk5GVlYW9u7dC6PRiOXLl2tVdF11xu+pO68N\n3OCJiIiIVLG7gYiIiFQxJBAREZEqhgQiIiJSxZBAREREqhgSiIiISBVDAhG5bNGiRcjIyHC4r7y8\nHHFxcQ4rhhJR18KQQEQumzNnDqqqqmzLX1+4cAELFy7EsmXLYDKZdC4dETmL6yQQUaeoqKhAXl4e\ndu7ciZdeegmXLl1CXl4eDh48iOXLl8NqtaJnz55YtGgR+vbti48++ggvvvgirFYr6uvrkZ2djfvu\nuw9z586FxWLB8ePHkZOTgzFjxuh9akReiyGBiDrNvHnz0NDQgKNHj+Kdd96Bj48PJk+ejLVr1yIk\nJAQffvghioqK8Prrr+Pxxx9HVlYWwsLCUF5ejueeew5bt27F3Llz4e/vj6VLl+p9OkRej8syE1Gn\nycnJQWxsLF5++WUEBATgyy+/RF1dHVJSUgDIrXCtVisAoKCgAHv27MH27dtx8OBBXLhwwfY+t912\nmy7lJyJHDAlE1GlMJhPMZjP69u0LAGhpaUFYWBi2bNliu33u3DkIIZCQkIC77roLd9xxB+68807k\n5uba3kfZr4SI9MWBi0TkNgMHDsSZM2fw2WefAQCKi4vx9NNP4/z586irq0NGRgbGjBmD8vJytLS0\n6FxaIrocWxKIyG0CAgLwwgsvYOnSpbh48SLMZjPy8/PRq1cvTJgwAQ888AACAwMRGRmJxsZGNDU1\n6V1kIrLDgYtERESkit0NREREpIohgYiIiFQxJBAREZEqhgQiIiJSxZBAREREqhgSiIiISBVDAhER\nEaliSCAiIiJV/wPPjdI9WO4/kgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ts['Turnover'].plot(color='red')\n", "ax.set_xlabel('Year')\n", "ax.set_ylabel('Turnover')\n", "ax.set_title('Retail Turnover for NSW (2006-2017)')\n", "sns.despine()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using standard fuctions for plotting runs into problems with the horizontal axis labels, which Matplotlib will not recognise. If we want a customised plot, we would need to set the labels manually as below. " ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(ts['Turnover'].values, color='red')\n", "\n", "ax.set_xlim(0, len(ts))\n", "\n", "indexes = np.arange(0, len(ts), 18) # we will place ticks every 18 months, starting with the first observation \n", "ax.set_xticks(indexes)\n", "ax.set_xticklabels([ts.index[i].strftime('%b-%y') for i in indexes], rotation='-90')\n", "\n", "indexes = np.arange(9, len(ts), 18) # minor ticks\n", "ax.set_xticks(indexes, minor=True)\n", "\n", "ax.set_xlabel('Year')\n", "ax.set_ylabel('Turnover')\n", "ax.set_title('Retail Turnover for NSW (2006-2017)')\n", "\n", "plt.tight_layout()\n", "\n", "sns.despine()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" } }, "nbformat": 4, "nbformat_minor": 1 }