{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Päivitetty 2023-12-10 / Aki Taanila\n"
]
}
],
"source": [
"from datetime import datetime\n",
"print(f'Päivitetty {datetime.now().date()} / Aki Taanila')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Dataframe matplotlib-grafiikaksi - perusasiat\n",
"\n",
"* Jos käytän pandas-kirjastoa, niin voin tehdä kaavion suoraan dataframesta plot-funktiolla. Käytettävissä on monia kaavioon vaikuttavia parametreja: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html\n",
"* Kaavion luonnin jälkeen voin muotoilla ja täydentää kaaviota **matplotlib.pyplot**-paketin komennoilla. Lue lisää https://matplotlib.org/stable/tutorials/pyplot.html ja https://matplotlib.org/stable/api/pyplot_summary.html\n",
"* Joissain tapauksissa tarvitaan kaavion luonnin palauttamaa **Axes**-luokan oliota kaavion muotoiluun. Lue lisää https://matplotlib.org/stable/api/axes_api.html\n",
"\n",
"**Seaborn** on matplotlibin päälle rakennettu paketti, joka tekee monista vaikeista asioista helppoja. Tässä muistiossa en käytä sitä muuuhun kuin grafiikan tyylimäärittelyyn."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"# Grafiikan tyylimäärittely, joka sisältää taustaviivoitukset (grid)\n",
"# Muita tyylivaihtoehtoja ovat 'darkgrid', 'dark', 'white' ja 'ticks'\n",
"sns.set_style('whitegrid')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Myynti 2017 | \n",
"
\n",
" \n",
" \n",
" \n",
" Helsinki | \n",
" 1321847 | \n",
"
\n",
" \n",
" Turku | \n",
" 852669 | \n",
"
\n",
" \n",
" Tampere | \n",
" 1032199 | \n",
"
\n",
" \n",
" Oulu | \n",
" 568230 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Myynti 2017\n",
"Helsinki 1321847\n",
"Turku 852669\n",
"Tampere 1032199\n",
"Oulu 568230"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df1 = pd.DataFrame({'Myynti 2017':[1321847, 852669, 1032199, 568230]},\n",
" index=['Helsinki', 'Turku', 'Tampere', 'Oulu'])\n",
"df1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Dataframesta kaavioksi\n",
"\n",
"* `df.plot()` luo oletuksena viivakaavion\n",
"* **kind**-parametrilla voin määrittää tehtäväksi muun kuin viivakaavion"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAGrCAYAAADDxpPpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAoNElEQVR4nO3de3QUZZ7G8ae7kwwBRkEJBBEcCbcJRhIIBsRrAB2BcEnQo44Rjg6IguRE2AFxl4U4DGF2BUd0WQUdllHRYwwCskkOKqg7gcBwkRgERZGby0VkuCSBdLpr/3DTGENCNyRdnbzfzzk5h6737apf/YDKc6qqqx2WZVkCAAAwlNPuAgAAAOxEGAIAAEYjDAEAAKMRhgAAgNEIQwAAwGiEIQAAYDTCEAAAMBphCAAAGC3M7gIaA6/Xq8rKSjmdTjkcDrvLAQAAfrAsS16vV2FhYXI6az//QxjyQ2VlpYqLi+0uAwAAXIK4uDhFRETUOk4Y8kNVmoyNja2zmSbyeDwqLi5WXFycXC6X3eWEHPpTO3pTN/pTO3pTN/pzXlUv6jorJBGG/FJ1aczlchn/D6s29KZu9Kd29KZu9Kd29KZu9Oe8i93iwg3UAADAaIQhAABgNC6TAQCaHK/Xq4qKCrvLsIXH45EknT17tslfJgsPD6+XfSQMAQCalIqKCu3du1der9fuUmxhWZbCwsK0b98+Ix4H06pVK0VHR1/WvhKGAABNhmVZ+t///V+5XC517Njxop8iaoosy1J5ebkiIyObdBiyLEtlZWU6evSoJKl9+/aXvC7CEACgyaisrFRZWZmuueYaNW/e3O5ybFH1oMFmzZo16TAkSZGRkZKko0ePqm3btpd8ycy8yAwAaLKq7pfhmXDmqAq9brf7ktdBGAIANDlN/YwIzquPv2vCEAAAMBphCADQ5Hm8VpPeXn3Zt2+f3SXYghuoAQBNnsvpUMZb27Tn6JkG31aXti315/sTAnpP9+7dJUl5eXnq3LlztbG//OUvys7O1qRJk/Tkk0/WW50/N2/ePJ04cULZ2dmSpISEBC1evFiJiYk15h48eFDZ2dn6+9//Lsuy1KdPHz399NPq2LGjJGnv3r2aNWuWduzYoRYtWuihhx7ShAkTaqynoKBAf/rTn/Thhx/6liUkVO+d1+vV2bNn9dxzz2nYsGH1ucs+hCEAgBH2HD2jku9O2V1GrVq3bq0VK1ZoypQp1Zbn5uaqZcuWDb79EydOVHu9bdu2WudOnDhRN9xwgz766CNZlqU5c+boiSee0OrVq+V2uzVhwgQNHjxYixcv1p49e/TYY4/puuuu0z333CPpx5udly5dqueff17t2rWrc7u///3vdfz4cf3mN7+ppz2tictkAACEgJSUFK1cubLawyJ37NihiooKxcbGSpKOHDmi2NhYbd261Tfn+++/V8+ePbVly5Zax/bv36/p06dr5syZmjBhghISEjRw4EAtW7ZMkvTSSy9p9erVWr16tYYPHy7px7NVRUVFNeo8efKk2rRpo4yMDDVv3lwtWrTQww8/rC+//FInT57U5s2bdfToUU2ePFkRERGKjY1Venq63njjDd86HnnkERUVFWncuHF19iQ3N1eFhYX693//d4WFNdz5G8IQAAAh4I477pDb7VZhYaFvWU5OjkaPHu173a5dOw0YMEArV670LVu1apUSEhLUp08fDRgwQKtWraox1qlTJ0k/hov09HRt3rxZ48aNU3Z2to4cOaKJEycqJSVFKSkp1d5/IVdeeaVeffVVtW3b1resoKBAHTp00JVXXqmvvvpK119/fbXHG3Tp0kW7du3yvf63f/s3LVmyxFfXhZw+fVrz5s3TjBkz1Lp16zprulyEIQAAQkBYWJhSUlK0YsUKST9+t1hBQYFGjhxZbV5aWpry8/N93722YsUKpaWl+cby8vJ8z9z56ZgkJSUlacCAAQoLC1NaWpo8Ho/2799/WXUvX75cr732mv7whz9IkkpLS30PQ6wSGRmpsrIy3+vo6OiLrnfZsmXq0KGD79JaQyIMAQAQIlJTU/XBBx/ozJkzys/PV+/evRUVFVVtTnJysiTp448/VklJiQ4dOqS7777bN+ZwOPTpp5/WGJNUbV3h4eGSdMnf4VZRUaHZs2fr+eef18svv6ybb75Z0o8PQSwvL682t7y8XC1atPB73ZZlKScnR+np6UF5ZhQ3UAMAECJ69Oihzp07Ky8vT6tXr9aYMWNqzImIiFBKSorWrFmja665Rvfcc4/vKcxVYwUFBerUqVO1sfr0ww8/6PHHH1dFRYVycnJ8nyKTpK5du+rbb79VZWWl7z6fPXv2qGvXrn6vv7i4uMFvmv4pzgwBABBCUlNTtXTpUu3du1e33377BeeMHj1an376qdauXavU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oxGGAACA0QhDuGyRkZF2lxDS6E/t6E3d6E/t6A3qU5jdBTQmLpfL7hJCjsvlUmxsrN1lhCz6Uzt6Uzf6U7tL6Y3Ha8nldDRQRWjsCEMBmPbuZ/ricKndZQAAAtClbUv9+f4Eu8tACCMMBeCbY6Uq+e6U3WUAAIB6xD1DAADAaIQhAABgNMIQAAAwGmEIAAAYjTAEAACMRhgCAABGIwwBAACjEYYAAIDRCEMAAMBohCEAAGA0whAAADAaYQgAABiNMAQAAIxGGAIAAEYjDAEAAKMRhgAAgNHC/J04c+ZMrV69WpJUWVkpt9utyMhI3/jixYuVmJhY/xUCAAA0IL/DUFZWlrKysiRJubm5evHFF/XRRx81WGEAAADB4HcYqstHH32kV155Rfv27VNZWZni4uL0hz/8Qb/61a+Um5urnJwc9erVS++++66cTqcmTpyoX/ziF1q0aJFOnTqloUOH+oJWcnKyUlNTtXr1ah09elSxsbGaPXu2unTpIkkqKSlRdna2du3apdatW+vBBx/UmDFj5HA4tHDhQm3btk0nT57UgQMH9NJLL+nXv/615s+frw8//FAVFRXq16+fnnnmGbVp06Y+dh0AADRyl33P0OHDh5WRkaHx48drw4YNWr9+vSzL0ksvveSbs2XLFrVr104bN27U5MmTNXfuXBUVFem///u/tXTpUuXk5Gjz5s2++W+//baef/55bdiwQTExMZowYYLcbreOHDmiMWPG6De/+Y0KCwv1H//xH3rzzTf19ttv+967YcMGTZ06VevWrVNCQoJmzJihffv2KTc3Vx988IFatmypSZMmybKsy911AEAj4vF4jPkxbX8v1ouLuewzQ1dddZXWrFmjTp066cyZMzp8+LBat26tI0eO+OY0b97cd/bmlltukcfj0aOPPqrIyEjFxcWpbdu2OnTokPr27StJevTRR/XrX/9akvT0008rMTFRW7du1Y4dOxQTE6Pf/va3kqQuXbro0Ucf1euvv677779fktSxY0f1799fknT8+HEVFBQoLy9PV199tSRpxowZSkxMVElJiW644YbL3X0AQCOxe/dulZeX211G0BQXF9tdQqNx2WEoPDxc77//vt566y05HA5169ZNZ86cUVjY+VW3atVKDodDkuR0/ngy6oorrvCNO51Oeb1e3+vrrrvO9+fIyEi1atVKx44d06FD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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df1.plot(kind='barh') # Myynnit vaakapylväskaaviona\n",
"# Kaaviossa on 'whitegrid'-tyylin tuoma taustaviivoitus; vaakaviivoitus on tässä tarpeeton\n",
"# 1e6 kertoo asteikon lukujen olevan miljoonia\n",
"# Selitteen (Myynti 2017) voisin käyttää otsikkoa"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAHBCAYAAABqqb/VAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwZklEQVR4nO3deVhU5d/H8Q8MIKiZmrikZoWJoSQoiqZlouWCe1amEWZX6S9Ns/ylpY+5Fvb7pSWZS5ZLaZKGW4ZbRvaEomaYaWUuue+aC0rAzHn+8GFyQhBcGOR+v66L63LOuefM93zTw6dz3zPjYVmWJQAAAEN5ursAAAAAdyIMAQAAoxGGAACA0QhDAADAaIQhAABgNMIQAAAwGmEIAAAYjTAEAACMRhgCUKjxubAAbjTCEFBEREVFKTAwUF27ds1xzIABAxQYGKjBgwcXYGV5FxUVpaioKOfjefPmaezYsW6sqPDZt2+fXnrpJTVp0kT16tVT165dtXbt2mzjpk+frhYtWig4OFgdOnTQqlWrcjzmoUOHFBYWpuTkZJftgYGBOf5c+t8JuNl5ubsAANePp6enUlJSdOjQIVWqVMll34ULF5SYmOiewvLojTfecHk8adIkNWjQwE3VFD5//vmnnnrqKZUqVUqvv/66SpYsqfnz56tnz56aOXOms1fTpk3TuHHj1KdPH9WuXVtffPGF+vXrp5kzZ6p+/fouxzxw4ICeffZZnT17NtvrxcXFZdu2YsUKffTRR7mGbuBmQxgCipCgoCDt2LFDy5Yt0zPPPOOyb/Xq1SpWrJhuueUWN1V3ZdWrV3d3CYXaggULdOLECX3++eeqUKGCJKlJkybq0KGDPvroIzVo0EBpaWmaMmWKevTooT59+kiSHnzwQXXt2lUTJ07UjBkzJEkOh0MLFizQ22+/nePrhYSEuDw+ePCgPv/8c3Xv3l2RkZE35BwBd2CaDChCihcvrqZNmyohISHbvq+++kqtWrWSl9ff/w/Ur18/NW3aVA6Hw2XssGHD1Lx5cyUmJiowMFD/+7//67I/JSVFgYGBWr9+vZKTkxUYGKi1a9eqZ8+eqlOnju6//36NHTtWmZmZzucEBgZq9uzZGjJkiBo0aKDQ0FD169dPx48fd465dJosIiJCBw4c0IIFCxQYGKj9+/dnO6fJkyerVq1aOnnypMv2OXPmKCgoSMeOHVN8fPxlnx8REeEyXfjXX39p4sSJatWqlYKDg/XII49o6tSpLr2JiorSkCFDNHXqVD300EMKDg5W165dtXnzZueY2NhYPfzww0pMTFS7du1Uu3ZttWzZUgsWLHB5/V9//VV9+/ZVw4YNVatWLT3wwAMaPXq00tLSsp1nlgoVKqhHjx7OICRdvBt4xx13aO/evZKkzZs368yZM3rkkUecYzw8PPTwww9r/fr1zuP/9ttvGj58uDp27JhrILpUTEyMfH199fLLL+dpPHCzIAwBRUybNm20efNmHTx40Lnt3LlzWrNmjdq2besytkuXLjp8+LDLWpH09HQlJCSoU6dOeuCBB1ShQgUtWrTI5XkLFixQ1apVXaZcBg4cqHr16mny5Mlq166dPv74Y82fP9/leePHj5fD4dC4ceP06quvKjExUW+++eZlz+P999+Xv7+/mjZtqri4OJUvXz7bmPbt28tut2vFihUu27/88ks1atRI/v7+V+jWRZZlqXfv3po2bZq6dOmiyZMnq1WrVnr33XezTd0tX75cX3/9tYYOHapx48bp+PHj6tevn+x2u3PMsWPHNHLkSD399NOaOnWqqlSposGDB2vnzp2SpKNHj6p79+66cOGCYmJi9OGHH6p169b65JNPnHduLqdNmzYaOHCgy7Y///xT69ev1z333CNJzte48847XcZVq1ZNdrvdGZoqVaqklStX6rXXXpOvr+8Ve7Rp0yYtX75cL7/8skqWLHnF8cDNhGkyoIh56KGHVLx4cS1btkw9e/aUJK1cuVJly5ZVvXr1XMY2adJEFStW1MKFC9WoUSNJ0qpVq3T27Fl16tRJNptNHTt21CeffKLU1FSVKFHCGZaio6Pl4eHhPNZjjz3mnJZp1KiRVq1apcTERJe1JTVq1NBbb73lfPzTTz9p2bJllz2PoKAg+fj4qGzZstmma7Lcfvvtql+/vpYuXep8nYMHD2rTpk15vtshSWvWrFFSUpL+85//qH379pKkxo0by9fXV++9956io6OdU3iZmZn66KOPnIEgNTVVgwYN0i+//KLatWtLurg+a8yYMc6e3nnnnWrWrJm+/fZbBQQEaPv27br33nv13nvvOY9z//33a+3atdqwYYN69+6dp7rtdruGDBmi8+fP67nnnpMk59qffwaWEiVKSLoYjCWpdOnSee6PJH300UeqXLmy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AMBohCEA1yQwMFCBgYHatWtXtn3Tp09XYGCgYmNjJUnDhg3TsGHDJEmxsbGKioqSJC1evFiRkZEFVzQAXIJvawNwzcqUKaMFCxbolVdecdkeHx+vkiVLOh+PHDnyss9v37692rdvf0NrBICccGcIwDVr166dFi1aJIfD4dz2008/KT09XUFBQc5tgwcP1uDBg7M9Pz4+XhEREc7HGzduVPfu3RUWFqaIiAi9++67Ll9UOm/ePEVGRqpu3bpq166dFi9e7NwXFRWld955R927d1doaKhat26tr776yrl/06ZNevrpp9WkSRMFBwerc+fOSklJce6fP3++OnfurPDwcIWGhqpXr146efLkZc/bsizNmjVLLVu2VFhYmLp166aff/7ZuT8iIkLx8fHOx8nJyQoMDJQk7d+/X4GBgYqJiVH9+vU1YsSIK57bkSNH9NJLLykiIkJ16tRR8+bNNX/+/MvWBiDvCEMArtlDDz2kjIwMJSUlObfNnz9fXbp0yfexdu3apWeeeUaPPPKIkpKSNH36dK1evVpvv/22pIvBKSYmRkOHDtWGDRv0+uuva8SIEVq5cqXzGJ9//rmGDBmi5ORkPfLIIxo2bJj++usvpaWl6V//+pdatmypNWvWKDk5WXfccYfz2D/99JNGjx6t4cOHKzk5WQkJCfrjjz80a9asy9Y6Z84cTZ8+Xe+9957Wrl2rzp0765lnnnH5JvorSU1N1ffff68BAwZc8dyGDh0qb29vLV26VJs2bdJTTz2lUaNGKTU1Nd99BvA3whCAa+bl5aV27dppwYIFkqS0tDQtX75cHTt2zPexlixZosDAQEVHR8vHx0fVqlXTK6+8onnz5snhcOiLL77QE088oUaNGslms6lRo0Z64oknNHfuXOcxWrZsqaCgIPn4+KhTp046e/asTpw4IW9vb8XFxalbt25KT0/XgQMHVLp0aR05ckSSVKNGDX355Ze67777dPr0aR09elRly5Z17v+n2bNnq1evXqpZs6a8vb3VpUsXBQQEuNzNuZKOHTvKx8dHpUqVuuK5jR49Wm+88Ya8vb118OBBlShRQmlpaTp9+nS++wzgb6wZAnBddO7cWU888YTOnTunVatWqW7duvL398/3cU6cOKGqVau6bKtSpYrS0tJ04sQJHT9+/LL7V69e7Xx86et6eV28zDkcDtlsNiUnJ+u5557T+fPnVb16dXl5eSnr+6o9PT01a9YsLVmyRMWLF1dgYKDOnTunnL7P+sCBAxo7dqz++9//OrdlZmaqdu3aeT7f8uXLO/98pXPbt2+f3n77bf3xxx+68847Va1aNee5Abh6hCEA10XNmjV19913KyEhQUuWLFF0dPRVHady5cpasWKFy7a9e/fKx8dHt956q6pUqaK9e/e67N+3b1+egtfmzZs1atQozZ071xlYPv74Y+3evVuSNGPGDH3//fdasmSJypUrJ0nq3bt3jserWLGi+vXr5/JOuL1796p06dKSLoarjIwM575Tp05lO4aHh4fzz7mdW0ZGhnr16qWXX35Z3bp1k4eHh37++ed83YUCcHlMkwG4bjp37qwZM2Zo9+7datq06VUdIzIyUjt37tTMmTOVnp6uvXv3aty4cWrXrp18fHzUpUsXxcXFae3atbLb7Vq3bp3i4uL06KOPXvHYZ8+elaenp3x9fSVJKSkpmjVrlnNx9rlz5+Tl5SVvb29lZmZq0aJF+u6771wCzaUef/xxTZo0STt37pQkfffdd4qMjNSGDRskSQEBAfr666+VlpamY8eO5bj2KEtu55aRkaG0tDT5+vrKw8NDBw8e1H/+8x9JyrE+AHnDnSEA103btm01duxYRUdHO6en8qtKlSqaNm2axo0bp9jYWPn6+qpt27Z66aWXJEmtW7fWuXPnNHr0aB08eFAVKlTQq6++mqf1SY0bN1a3bt3UvXt3ORwOValSxfnus+PHj6tnz57avn27mjVrpmLFiikoKEjdunXTunXrLnu8Hj16yLIsvfDCCzp69KgqVKigYcOGqXnz5pKkgQMHavjw4WrcuLHKly+v6Oho/fDDDznWd6Vze/PNN/Xee+9p9OjRuu222/T4449rx44d2r59u+6666589RnA3zysnCbDAaCAzJ8/X5MnT9aqVavcXQoAAzFNBsCtLly4oB07djjX6ABAQWOaDIBbPfPMM9q7d2+On04NADca02QAAMBoTJMBAACjEYYAAIDRCEMAAMBohCEAAGA0whAAADAaYQgAABiNMAQAAIxGGAIAAEYjDAEAAKP9H7zdtDsomkeIAAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Selite (legend) piiloon ja pylväiden paksuuden määritys (width)\n",
"(df1/1000000).plot(kind='barh', legend=False, width=0.7)\n",
"\n",
"plt.title('Myynnit vuonna 2017') # Otsikko\n",
"plt.xlabel('Miljoonaa euroa') # Otsikko x-akselille\n",
"plt.grid(axis='y') # Poistan vaakasuuntaisen taustaviivoituksen"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Myynti 2017 | \n",
" Myynti 2016 | \n",
"
\n",
" \n",
" \n",
" \n",
" Helsinki | \n",
" 1321847 | \n",
" 1203434 | \n",
"
\n",
" \n",
" Turku | \n",
" 852669 | \n",
" 923450 | \n",
"
\n",
" \n",
" Tampere | \n",
" 1032199 | \n",
" 1023563 | \n",
"
\n",
" \n",
" Oulu | \n",
" 568230 | \n",
" 542399 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Myynti 2017 Myynti 2016\n",
"Helsinki 1321847 1203434\n",
"Turku 852669 923450\n",
"Tampere 1032199 1023563\n",
"Oulu 568230 542399"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df2 = pd.DataFrame({'Myynti 2017':[1321847, 852669, 1032199, 568230],\n",
" 'Myynti 2016':[1203434, 923450, 1023563, 542399]},\n",
" index=['Helsinki', 'Turku', 'Tampere', 'Oulu'])\n",
"df2"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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R4/WqVOndM0112jhwoW6/vrrL7VsAABwGTAUZN5//32X26Wlpdq8ebPhYBEaGqp58+adc1lGRsb/Ly4gQKNHj9bo0aMNrR8AANQMhoLMn8OHxWJRZGSknnnmmWotCgAAoCoMBZlPPvnEXXUAAAAYZugSBdKZbyqlpKRoxowZys/P15YtW9xRFwAAwAUZCjJ79uzR7bffro8++kjvvvuu8vLylJycrPfee89d9QEAAFTKUJCZOXOmJk6cqJUrVyogIEARERFauHChXnvtNXfVBwAAUClDQWbv3r3Ok9+dPcNvp06dDH/9GgAAoDoYCjJXX321fvrpJ5e2n376yXmGXgAAAE8yFGTuuecejRw5Uu+8847Kysq0fv16JScna/Dgwe6qDwAAoFKGvn593333yWKx6I033lB5ebnmzZunQYMGafjw4W4qDwAAoHKGL1EwdOhQDR061B21AAAAGGL4PDIAAAC+giADAABMiyADAABMiyADAABMy9DBvnl5eXrzzTeVk5Oj8vJySVJpaan27t2r1NRUtxQIAABQGUNBZtKkSTp48KCuvvpqFRQUqFGjRvrf//1fvsUEAAC8wlCQSU9P1/r165WTk6NXXnlFCxYs0Lp16/TBBx+4qz4AAIBKGTpGJiAgQA0bNlSzZs2UmZkpSbrrrrv0/fffu6U4AACA8zEUZJo0aaLvvvtOISEhKigo0MmTJ1VYWKji4mJ31QcAAFApQ7uW7rnnHg0bNkwffvihevXqpYSEBAUEBKht27buqg8AAKBShoLMgAED1LJlS4WGhmr8+PFaunSpCgoKNGLECHfVBwAAUCnD11q66aabnL8//PDDkqSTJ09WX0UAAABVZCjIfPPNN5ozZ06F88icPHlS3333nVsKBAAAqIyhg32fffZZhYWF6dZbb9W1116re++9VxaLRY8//ri76gMAAKiUoSCzb98+zZw5U0OHDpXdbtf999+vuXPnKi0tzV31AQAAVMpQkAkJCVHt2rUVERGhffv2SZJuueUWHT161C3FAQAAnI+hINO8eXOtWLFCV1xxhYKCgvTDDz9o//798vPzc1d9AAAAlTJ0sG9ycrIeeeQRdezYUQ888IAGDRoki8Wiv//97+6qDwAAoFKGgkybNm30+eefKzAwUIMHD9b111+v33//XR07dnRXfQAAAJUyfB4ZPz8/HTt2TOXl5QoNDVVoaKiys7PVuHFjd9QHAABQKUNBZsOGDZo8ebLy8/OdbQ6HQ35+fvrhhx+qvTgAAIDzMRRk5s+fr6FDh+ruu+9WQIDhjTkAAADVylAa+eWXX5SUlESIAQAAPsHQ169vuOEGZWVluasWAAAAQwx/a2n48OG6/fbbFRoa6rIsKSmpWgsDAAC4EENBJiMjQy1atND+/fu1f/9+ZzsnxAMAAN5gKMi8+eab7qoDAADAMMNH7W7atEmrVq3S0aNHFRYWpgEDBig+Pt4dtQEAAJyXoYN909LSNHHiRLVs2VLDhg1T69atNWXKFL377rvuqg8AAKBShrbIvPrqq1qwYIHat2/vbOvcubOmTZumgQMHVntxAAAA52Noi0x2drbi4uJc2tq1a6dff/21WosCAACoCkNBJjw8XOnp6S5t6enpXGcJAAB4haFdSwkJCXr00Uc1ePBgRURE6PDhw1q1apUmTZrkrvoAAAAqZSjIDBw4UBaLRWvWrNGmTZvUpEkTPffcc7r99tsNDXrixAn985//1M6dO2WxWNS7d29NmDDhnJc+2Llzp+bMmaOsrCyFhITonnvu0ciRIw2NBwAALk+Gv37dr18/9evXTydOnNCVV155UdddGjt2rBo2bKitW7cqNzdXjzzyiFJSUvTggw+69Nu/f78efvhhPfPMM+rbt68yMzOVkJCga665xnB4AgAAlx9Dx8iUlJRoxowZstlsuvXWWxUTE6N//vOfKikpqfI6Dh06pJ07d2r8+PGyWq2KiIhQYmKili9fXqHv22+/re7du+vuu++Wn5+fWrVqpZUrVyomJsZI2QAA4DJlKMgsXrxYO3bs0EsvvaQPPvhAL730kr755hu99NJLVV7Hvn37VK9ePTVs2NDZFhkZqezsbJ0+fdql77fffqu//OUveuyxxxQXF6c77rhDO3fuVFhYmJGyAQDAZcrQfqG0tDQtXbpUERERks4EkMjISA0dOlRPPvlkldZRUFAgq9Xq0nb2dmFhoUJCQpztp06d0rJlyzR37lw9//zzysjI0MiRI3XllVca3rVkt9sN9a8uFovFK+P6Am89597EfNcszDfgPlV9jRkKMqdOnVKjRo1c2ho1aqTi4uIqryMoKEhFRUUubWdvBwcHu7TXqlVL3bt3V5cuXSRJbdu2VZ8+fbRhwwbDQWb37t2G+lcHq9Wq1q1be3xcX5GZmVlhri9nzDfzXZPUtPmG7zIUZKKiorRy5Urde++9zraVK1eqZcuWVV5HixYt9Ntvvyk3N1ehoaGSzhzUGx4errp167r0jYyMrHD8jd1ul8PhMFK2JCk6OrpGf3ryhqioKG+XAA9ivmsW5hvuZrfbq7QRwlCQGTt2rEaMGKHU1FTneWSysrL02muvVXkdzZo1U0xMjGbMmKFp06YpLy9PixYt0oABAyr0HTJkiB588EGtW7dOvXv31pdffqm0tDS98MILRsqWdGYTMEHGs3i+axbmu2ZhvuErDB3sGxsbq/fff18dO3ZUcHCwevTooQ8++EBt2rQxNOi8efNUVlam7t27a9CgQerUqZMSExMlSTabTampqZKkDh06aNGiRVq2bJliYmI0adIkTZgwQd27dzc0HgAAuDwZPglM8+bNlZycfEmDhoaGat68eedclpGR4XK7c+fO6ty58yWNBwAALk9VCjLx8fFKS0tTt27d5Ofnd84+FotF9evX10MPPaRu3bpVa5EAAADnUqUg8/DDD0uSkpKSKg0y5eXl2rdvnyZPnkyQAQAAHlHlLTLSmcsTnE9xcbG++eabS68KAACgCqoUZIYNG1bplpizli1bptq1a2vFihXVUhgAAL7EXu6Qxf/874WX49i+rkpBJi4uzt11AADg0yz+fkpemaGsY/keHfe6BnX030NsHh3TTKoUZJKSktxdBwAAPi/rWL72ZJ++cEd4TJWCzJQpUzRlyhRNmjSp0j4zZ86stqIAAACqokonxDt7SYCLuTQAAACAu1Rpi8zUqVMlSbNmzXJrMQAAAEZUKcgsWLDggn04jgYAAHhalYNM3bp1df31159z99KFvpoNAAAuTlidK6Ryu+TvpQt1enPsKqhSkJkwYYLWrFmjY8eOaeDAgerbt6/q16/v7toAAKjxQqwBZ4LEew9KuXs9O3hoS6n/Es+OaVCVgsz999+v+++/X99++63ee+899erVS23atNHAgQP1t7/9Tf7+hi6iDQAAjMrdK/3C2fP/zFACuemmmzR16lRt2bJFPXr00NKlS9W1a1e9+OKL7qoPAACgUhe1KaV27drq0aOHevXqpbp16yolJaWaywIAALiwKu1a+qNt27bpvffe0yeffKJrr71WQ4YMUa9evdxRGwAAwHlVKcgcPHhQa9eu1bp161RaWqpevXpp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cS1btszdD6HG+/333+Xv76/atWvL4XDo888/1/vvv+/y5mPU0qVLdejQIRUVFWnmzJlq3ry5bDab4uPjtWvXLqWmpqqsrEzHjh3TqFGjNGvWrHOup2HDhurSpYumT5+uvLw8lZaWavHixRowYIBOnz590fXh3AIDAzVz5ky99dZbmjt3rnJyclReXq6srCwlJSXp119/1aRJkxQZGanc3Fx98cUXcjgcWrdunfbv33/OdUZGRiozM1P79u1TWVmZlixZosLCQg8/Mu8hyPiwOnXqKCUlRTt27NDf/vY33XbbbfL399fixYsr9L3vvvvUpUsXDRkyRLfccovmzJmjuXPnKjw8/KLHv/rqqzV58mTNmzdPP/7446U8FFyCWrVq6dlnn9WGDRvUpk0bzZo1q8JugPPp0KGDBg4cqAkTJqiwsFBPPPGECgoK1LFjR913333V8tV8nN/dd9+tv/71r7rrrrvUvn17LV68WAkJCTpw4MA5v4VYFTExMXr00UfVsWNHHT9+XK+88or8/f3VpEkTLVmyRKtWrdJf//pX9enTR82bN680yEjS888/r5CQEPXt21ft27fXZ599piVLlrhsoUH16dSpk1auXKnDhw+rf//+atOmjUaNGqWmTZsqNTVVjRo1UnR0tB555BFNnDhR7dq10xdffKGePXuec3233Xab4uPjNXz4cHXq1El5eXmKiYnx8KPyHq5+DQAm061bNyUlJalfv37eLgXwOrbIAAAA0yLIAAAA02LXEgAAMC22yAAAANMiyAAAANMiyAAAANMiyAAAANMiyAAAANMiyAAAANMiyAAAANMiyAAAANMiyAAAANP6PwXY5E+A+P8GAAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"(df2/1000000).plot(kind='bar', rot=0) # Luokka-akselin nimiöiden asento (rot=0)\n",
"\n",
"plt.ylabel('Miljoonaa euroa') # y-akselin otsikko\n",
"plt.grid(axis='x') # Poistan pystysuuntaisen taustaviivoituksen\n",
"plt.legend(ncol=2) # Selitteeseen kaksi selitettä vierekkäin"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHBCAYAAABzIlFzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJwElEQVR4nO3dd1yV9f//8SccQIaaAxU1NCfmSsQZTswciZJi9kkNt+a2tNQ+H3OPbJgjy1w5MpIwcaDmtjRFsxzlwNyWC9NYgcDvD3+crydAz1HWRY/77eYtz/t6n+t6Xecdnifva9mlpKSkCAAAwIDsc7oAAACAR0WQAQAAhkWQAQAAhkWQAQAAhkWQAQAAhkWQAQAAhkWQAQAAhkWQAQAAhkWQAQyOe1oC+DcjyAAP0L17d3l5eenll1/OsM+IESPk5eWl0aNHZ2Nl96xevVozZswwvw4NDZWXl5cuXbqU7bU8iu7du6t79+7Zsq2UlBQFBwfL399f3t7eatGihaZMmaLo6GiLfr/99pv69esnHx8f1a9fX2PHjtWdO3cyXO+0adMy3IfQ0FD5+/urRo0a8vPz09y5c5WUlJThuvbv3y8vLy/t37//0XbyH+vq1q2b6tatK19fXw0ePFjnz5+36BMdHa1x48bJ19dXtWrVUs+ePRUZGZnhOrdt2yYvL690a87oz9y5cx97X4AHccjpAoDczt7eXj/99JN+//13lSxZ0mJZXFycdu7cmTOFSZo/f77q1atnft2sWTMFBwerePHiOVaTLd55551s29bChQv14Ycfqnfv3mrYsKHOnz+vjz76SKdPn9aSJUtkZ2enO3fuqEePHipevLjeffdd3bx5UzNnztQff/yhxYsXp1nnggULtHTpUosxSLVy5UpNnDhRvXr10tixY/XTTz9p3rx5SkhI0Ouvv55ujdWqVVNwcLAqVqz4WPt6+PBh9erVS35+fnrvvfcUFxen+fPn65VXXtG6detUpEgRSdIbb7yhI0eOaNSoUcqfP7/mzp2roKAgbdiwQYUKFbJY5759+zRy5MgMa/6nWbNm6ejRo3rhhRcea1+AhyHIAA9RtWpVRUZGatOmTerZs6fFsu3btytfvnwqUKBADlVnqUiRIuYvKSN43C9sayUnJ2vBggXq0qWL3njjDUnSs88+q0KFCmn48OE6duyYatSooVWrVunOnTv65ptvzJ9jiRIl1K9fPx08eFB16tSRJF28eFHTp0/Xjh070h372NhYvf/+++rdu7fefPNNSVLDhg11584d7d27N8Mgkz9/ftWqVeux9/fTTz9V+fLl9dFHH8ne/t7Ee+3atdWsWTOtWbNGvXv31uHDh7Vz504tWLBATZs2lSTVqVNHLVq00BdffKGBAwdKujdr8+mnn2rRokUqUKCAYmNjH1rz1q1btW/fPn300UcqV67cY+8P8CAcWgIewtXVVU2bNlV4eHiaZRs3blTr1q3l4PB/vxMMHTpUTZs2VXJyskXfcePGqUWLFtq5c6e8vLz03XffWSz/6aef5OXlpQMHDpin6/ft26devXrpmWee0bPPPqsZM2bo7t27kiQ/Pz9dvnxZa9asMR9OetihpV69eikgICBN+/Dhw82/OY8ePVp+fn4Wyy9duiQvLy+Fhoaa265du6YxY8aoadOmqlmzpgIDA7Vt2zaL9+3du1ddunSRt7e36tatq4EDB+q3334zL//noSUvLy+tXLlSb7/9turVqydvb28NHTpUN27cMPdJSkrSggUL1K5dO9WsWVO1atXSyy+/rH379qW7z9K9L+P27durXbt2Fu2pX7IXL16UJH333Xfy8fGxCIONGzeWm5ubdu/ebW6bNm2aLly4oM8//1xPP/10mu19//33iomJUbdu3Sza33rrLYWEhGRYZ3qHlrZu3apXXnlF3t7eql69ulq3bq0VK1ZkuA5JqlmzpoKCgswhRpKKFy+u/Pnz68KFC+Z9dXV1la+vr7lPkSJFVLduXYt9DQkJUUhIiMaNG5dmf9ITHx+vyZMnq1mzZmrduvVD+wOPiyADWKFt27b6+eefdeXKFXNbdHS0du/enebLMTAwUH/88YfFl1FCQoLCw8P14osvqnHjxipRooTWrl1r8b41a9bI09NTdevWNbeNHDlSPj4++uSTT+Tv76/Fixebvwjnzp2rYsWKqWnTplYfTurQoYN+/fVXizARExOjHTt2qEOHDlZ/Hjdu3FBgYKAOHDigESNGaM6cOSpdurQGDRqksLAwSffCwWuvvaZq1app/vz5mjx5svn8k3+GvPt9+OGHSk5O1gcffKA333xTO3fu1NSpU83L33vvPc2bN09dunTRwoULNXHiRN26dUvDhg1LM1uQqmDBgvrf//4nHx8fi/YtW7ZIkipVqiRJOnPmTJoZBHt7ez355JM6d+6cuW348OEKCwuzGKv7/frrrypQoICioqLUtWtXVa9eXb6+vpo7d+4D9/2fdu7cqUGDBqlatWr6+OOPzZ/zpEmT9OOPP2b4voEDByowMNCi7YcfftDt27dVuXJl874++eSTFiFcksqUKaOzZ8+aX/v5+Wn79u0PPE/sfkuXLtW1a9c0duxYa3cTeCwcWgKs0KxZM7m6umrTpk3q1auXJOnbb79VkSJF0nw5NmrUSB4eHvrmm2/UsGFDSfd+q/7rr7/04osvymQyKSAgQMuXL1dMTIzc3NzMQScoKEh2dnbmdXXu3FmDBg2SdO/QxNatW7Vz5069/PLLqlq1qpycnFSkSBGrD0e0bNlSrq6u2rhxowYPHmzej7///lv+/v5Wfx5LlixRVFSUwsPD5enpKUlq2rSpevTooXfffVft2rXTkSNHFB8fr/79+6tEiRKSpJIlS2rbtm2KjY1V/vz501135cqVNW3aNPPrI0eOaNOmTebX165d04gRIyxmcpydnTVkyBCdPHlS3t7eVu3Djz/+qM8++0zPPfecOcjcuXNHbm5uafq6ublZnBScGgYyEhUVpaSkJPXr109BQUEaMmSIvv/+e82bN09xcXEaNWqUVTVGRkYqICBAb7/9trnN29tb9evXV0REhGrXrm3VeqKiovS///1PHh4e5hm5v/76K90xcHNzU0xMjPl1mTJlrNqGdC+wL1++XG3btlXZsmWtfh/wOJiRAazg7OwsPz8/i8NLGzZsUNu2bS2Ch3TvN/gXX3xRW7ZsUVxcnKR7sy3169dX6dKlJUmdOnVSXFycvv32W0n3gs6dO3fSHPb555eyh4dHhrMO1nB1dVXLli21ceNGi/2oV69emhOZH+TAgQPy9vY2h5hU7du31/Xr1/Xbb7/pmWeeUb58+RQYGKhp06Zp7969qlKlikaMGJFhiJGUJpR5eHiYP0dJev/999WjRw9FRUXp8OHDCg0NNc8CJSYmWlX/wYMH1a9fP5UpU0ZTpkyxWPbP8ZTuXfGUXntGEhMTFRsbq759+6p///5q0KCB3njjDXXu3Fmff/55miulMtKnTx/NmDFDsbGxOnHihMLDw7VgwQLzNqxx9epVBQUF6ebNm5ozZ445qCUnJ2e4T7bs6/02bdqkGzduqE+fPo/0fuBREGQAK7Vp00ZHjhzRpUuXdOvWLe3bty/DKzJSg8qWLVt0/fp1ff/99+rYsaN5edmyZVW3bl198803kqRvvvlGDRo0MAedVM7Ozhav7e3tH/u+MQEBATpz5oxOnDihqKgo7d2716bDSpJ0+/Ztubu7p2lPbbtz546efPJJrVixQs8884y++uor9ezZU76+vuZDRxlxcXGxeP3PfT569KgCAwPVsGFD9ejRQytXrjSfC2LNZ7Nhwwb17NlTpUqV0tKlSy2uzsmfP3+6ISM2NtamE7pTw0KzZs0s2ps0aaLExESdOXPGqvVERUVpyJAh8vHxUceOHTV79mzzpeDW7OvJkyfVpUsXXb16VQsXLlTNmjXNywoUKJDuvsbExDzyyeubN29WpUqVVKVKlUd6P/AoOLQEWKlJkyYqUKCANm/erAIFCujJJ59U9erV0+3r6empevXqKTw8XH/99ZdcXFz0/PPPW/Tp1KmTxowZo7Nnz+r777+3OJySlRo0aKASJUooPDxcJUqUkIODg1q1amVebmdnl+ZeJ/+cBXriiScsTsBNdf36dUlS4cKFJd076XTu3LlKSEjQoUOHFBwcrE8++UReXl5q27atzbVHR0erT58+8vLy0vr161WhQgXZ29tr165d2rx580Pfv3DhQr333nuqW7euPv744zRf2OXKlTOfDJsqOTlZly5dSjN+D5J6WCUhIcGiPXUWJV++fFatZ+TIkTpz5oyWLFmi2rVry8nJSXFxcVq9evVD37tv3z4NGjRIBQoU0IoVK9IcDitXrpy+++47JScnW5wUfOHCBVWoUMGq+u6XmJio77//ntkYZDtmZAArOTk5qUWLFtqyZYvCw8Mfen+MwMBA7d27V2FhYWrTpk2amYZWrVrJ1dVV48aNk7Ozs01flKnu/wKy5T3t2rXTtm3btGnTJrVo0cLiUI+bm5tu3bqlv//+29z2zxNL69atq8OHD5uv9kkVFhamYsWKqWzZslq6dKn8/PyUkJAgJycnNWzYUJMmTZIk/f777zbXLd27Wd2ff/6pV199VZUqVTLvf+pVNg+a6fnyyy81c+ZMtW7d2nwp8T/5+voqIiJCUVFR5rY9e/YoJibG4uqeh2nSpIns7Oy0YcMGi/bt27erUKFCVgeFQ4cOqVWrVmrQoIGcnJwkWbevv/zyi1577TWVKlVKX331Vbrn9DRq1EgxMTHas2ePuS0qKkoRERFq1KiRVfXd79SpU4qLi0tzzhiQ1ZiRAWzQtm1b9e/fX/b29vrvf//7wL6tWrXSpEmT9PPPP6d7118XFxe98MILCg4O1ksvvZTmMJI1ChYsqF9++UUHDhywOGzwMAEBAVq0aJFMJpPmz59vsax58+Zavny5xo4dq86dO+v06dNavHixTCaTuU/Pnj0VFhamnj17avDgwSpcuLC++eYb/fDDD5o6dars7e3VoEEDvffeexo0aJC6desmk8mkL7/8Uk5OTmrevLnN+yrdm0XInz+/PvnkEzk4OMjBwUGbN282X8l1/7k097t+/bqmTZum0qVLq1u3bvrll18slpcpU0ZFihTRK6+8ohUrVpj3688//9TMmTPVpEkTq08ilu7NyHXr1k0LFy6Ug4OD6tatqx07digsLEz/+9//5OjoaNV6atasqXXr1qlatWry8PDQ4cOH9emnn8rOzi7DfZWkt99+W3fv3tXgwYP1+++/WwTHIkWKqEyZMqpbt67q1aunUaNGadSoUSpUqJDmzJmjAgUKWH2F0v1OnTolSY80mwM8DoIMYINnn31WBQsWVMmSJR/6D3a+fPnUsGFDnTx5MsOrS5o3b67g4GCL82ds0atXL02dOlW9e/fWkiVLrH5f5cqV9fTTT+vq1atpZhp8fX311ltvafny5dqyZYuqVaumuXPnWny5FStWTKtWrdL777+vKVOmKDExUVWqVNHHH3+sFi1aSJKqVKmiTz75RPPmzdPrr7+upKQkVa9eXYsXL1b58uUfaX8LFCigjz/+WO+++66GDRsmNzc3Pf3001qxYoX69u2rgwcPprkHjiTt2rVL8fHxunz5srp27Zpm+bRp09SxY0cVKVJEy5Yt09SpUzVy5Ei5ubmpdevW5pva2WLs2LHy8PBQcHCwFixYoCeffFKTJ09W586drV7H9OnTNWnSJPNM1lNPPaUJEyYoLCxMBw8eTPc9Fy9eNAe1YcOGpVn+4osvavr06ZLuXcI/ffp0vfvuu0pOTlbt2rU1a9YsPfHEE7burvlQ46O8F3gcdik8cQ7IEvHx8WratKn69+9vvmT7n8aPH69Dhw5p3bp12VwdcqPdu3erb9++Wr16tU0zbMC/GTMyQCZLvdvu3r17JSnd38CXLVum3377TcHBwdl2ki9yt2+//Vbr1q0z34APgHUIMkAms7e31/Lly+Xq6qoPPvgg3ZNKDx48qD179qh79+7pPjIA/y4JCQkaP368kpOT9frrrxvqeVlATuPQEgAAMCwuvwYAAIZFkAEAAIZFkAEAAIaV50/2TU5O1t27d2Vvb//ID0IDAADZKyUlRcnJyXJwcHjgXczzfJC5e/eujh49mtNlAACAR1CjRg3zIzrSk+eDTGqKq1GjhsUt1gEAQO6VlJSko0ePPvSZcnk+yKQeTjKZTAQZAAAM5mGnhXCyLwAAMCyCDAAAMCyCDAAAMKw8f44MAMBYkpOTlZCQkNNlIIs5OjpmyrmrBBkAQK6RkJCgs2fPKjk5OadLQTYoVKiQPDw8Hus+bwQZAECukJKSot9//10mk0menp4PvewWxpWSkqLY2Fhdu3ZNklSyZMlHXhdBBgCQK9y9e1exsbEqVaqUXF1dc7ocZDEXFxdJ0rVr11S8ePFHPsxE3AUA5ApJSUmS9MC7uCJvSQ2siYmJj7wOggwAIFfhuXj/Hpkx1gQZAABgWAQZAEDulpyUt7eXSc6fP5/TJeQITvYFAORu9ibp6z7SjVNZvy33ylKnhTa9xcvLS5IUHh6u8uXLWyxbsmSJpk+frsGDB2vIkCGZVuY/zZgxQ7du3dL06dMlSd7e3vrss89Up06dNH0vXbqk6dOn6+DBg0pJSZGPj4/GjBkjT09PSdLZs2c1fvx4HTlyRG5uburWrZsGDBiQZj2bN2/Wu+++q23btlm0f/HFF1qyZIlu3LihJ598Uq+//rqaN2+eBXt9D0EGAJD73Tgl/f5zTleRocKFC2vNmjV64403LNpDQ0OVP3/+LN/+rVu3LF4fPnw4w76DBg1S9erVtX37dqWkpGjKlCkaOHCg1q1bp8TERA0YMEAtW7bUZ599psjISPXv319ly5ZVmzZtJN07MXfp0qWaNWuWSpQoYbHuNWvWaN68eZo/f75q1KihDRs2aMiQIdq2bVuavpmFQ0sAADwmf39/rV271uJGfkeOHFFCQoKqVq0qSbp69aqqVq2qH3/80dznxo0bqlatmg4dOpThsgsXLmj06NEaN26cBgwYIG9vb7Vo0ULLli2TJM2bN0/r1q3TunXr1L59e0n3Zon279+fps7bt2/L3d1dw4YNk6urq9zc3PTqq6/q1KlTun37tiIiInTt2jUNHTpUTk5Oqlq1qrp3766VK1ea19GrVy/t379fffv2TbP+xYsXa9iwYapZs6bs7OzUrl07BQcHZ2mYy5Egc+LECfXs2VP16tWTr6+v3nzzTUVFRaXbt0+fPqpRo4a8vb3Nf3bv3p3NFQMAkLFmzZopMTFRe/fuNbeFhIQoMDDQ/LpEiRLy9fXV2rVrzW1hYWHy9vaWj49PhsvKlCkj6d7sTvfu3RUREaG+fftq+vTpunr1qgYNGiR/f3/5+/srLCzsgXU+8cQTWrRokYoXL25u27x5s0qXLq0nnnhCp0+fVrly5Swuga9YsaJOnDhhfj1z5kwtXLjQXFequLg4nT59Wvb29uratavq16+vl19+WXFxcXJzc7P2o7RZtgeZ+Ph49enTR97e3vruu++0fv16/fnnnxo7dmy6/Y8dO6ZFixbp8OHD5j9NmjTJ5qofgUFPFsuV+CwB5HIODg7y9/fXmjVrJN37rtu8ebMCAgIs+nXq1EmbNm0yP0tqzZo16tSp00OXSVL9+vXl6+srBwcHderUSUlJSbpw4cJj1b1q1SotXrxYkydPliTFxMSYb1SXysXFRbGxsebXHh4e6a7rzp07SklJ0eLFizV+/Hjt2bNH7dq1U9++fXXp0qXHqvNBsv0cmStXrqhKlSoaNGiQTCaTnJyc1KVLF7355ptp+l68eFG3b982T8sZSnaenJaXPcKJdwCQEzp27KguXbooOjpaW7duVe3atVWsWDGLPn5+fnrnnXe0a9culSpVSpcvX1arVq0eukySxbocHR0l6ZGfSZWQkKBp06Zp48aN+vTTT9WgQQNJ925QFxcXZ9HX2hmV1Jp69uypSpUqSZK6deumVatWadeuXeratesj1fow2R5kypcvr4ULLb+YNm/erGrVqqXpe/ToUbm5uWnEiBE6evSo3N3d1aNHD4upOmul3jEyu5hMplx/cpqRZPf4Ach+SUlJSklJMf9JlRM3yLt/+9b29/LyUvny5bVx40atX79eQUFBFvuTkpIiR0dH+fv7a8OGDSpVqpTatGkjFxeXhy5Lreefdf3z87p/+T8/x1S3bt3SgAEDlJiYqJCQED355JPmfhUrVtS5c+eUmJgoB4d7ESEyMlKVKlV66LYLFy6sokWL6u+//7boe/+4pve5paSkKCkpKc2/89b+u5+jVy2lpKRo1qxZ2rFjh1asWJFmeUJCgmrVqqURI0aoUqVK2r9/v4YMGSI3Nzfz2dPWOnr0aGaV/VAuLi7GnEXKxU6ePJnmtwQAeY+Dg4Pi4uLMMw329vb3DnW4V86eAv7/duLj422a7fj7778VGxurdu3aacmSJfrrr79Up04dxcbGKjk5WYmJiebDMy+88IL69OmjQoUKaeLEiRaHbTJalvqlfn/f+7drMpkUFRVlsTx12f0SExPVs2dPFS5cWO+//76cnZ0t+tSoUUOFChXSjBkzNHDgQJ0/f17Lli3ToEGD0qwrISHB/PDHVB07dtS8efNUtWpVVahQQatXr9bVq1fl6+ub5v2pNSYmJlqcg2OrHAsy0dHRGjNmjI4fP64VK1aYr8O/X0BAgMXxxUaNGikgIEDh4eE2B5kaNWo88gOpkPPS+/8DQN4SHx+v8+fPy8XFRc7Ozub2lOQk2WXjIeaU5CSL7VsjX758cnV11YsvvqgPP/xQQUFBKliwoKR7YczR0dH8XKFatWqpTJkyio2N1bPPPmuxnoyWpX5//fNhmqnb9ff31+uvv64XXnhBO3bssFh2vy1btujEiRPKly+fnnvuOYtl69evV6lSpbR48WJNnDhRzz//vFxdXfXqq6/q5ZdfTrPPTk5OsrOzs9jGiBEjVLhwYY0ZM0bXrl1T+fLltWDBAj311FPpfm6pn03FihXTfOZJSUlWTULkSJC5cOGC+vbtq1KlSikkJERFihRJt19ISEia2ZeEhATly5fP5m2aTCaCjIExdkDeZzKZZGdnZ/5jZpe9P/929rZt7+TJk+a/FylSRMeOHbNYnt4Rh9KlS5svUbZm2YwZMx643YYNG2rfvn3pLrtfq1atMlyW6qmnntLixYsf2Ee6d3Ly/ScjS/fGsHfv3urdu/dD3y/JPNaP8x2d7Vct3b59W0FBQapdu7YWLVqUYYiR7s3aTJo0Sb/88ouSk5O1c+dOrV+/Xl26dMnGigEAyBwXL17Ut99+q71796pjx45WL0PGsn1GJjQ0VFeuXFF4eLg2bdpksezw4cPy9vbWhAkT1L59ewUFBSk2NlaDBw/WzZs35enpqRkzZqR7y2UAAHK7uXPnatu2bRo7dqzc3d2tXoaM2aXYemq2wSQlJemnn35SrVq1sv/wxKdNuGrpcZV8RurPDRCBf4P4+HidPXtW5cqVs/kcFRjTg8bc2u9vHlEAAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAMjVkpKz9+La7N5eZjl//nxOl5AjcvRZSwAAPIzJ3k7DvjysyGvRWb6tisXz66OXvW16T+ojVMLDw1W+fHmLZUuWLNH06dM1ePBgDRkyJNPq/KcZM2bo1q1bmj59uiTJ29tbn332Wbr3Xbt06ZKmT5+ugwcPKiUlRT4+PhozZow8PT0lSWfPntX48eN15MgRubm5qVu3bhowYECa9WzevFnvvvuutm3bZm7z9rb87JKTkxUfH6/3339f7dq1y8xdNiPIAAByvchr0Tp+5U5Ol5GhwoULa82aNXrjjTcs2kNDQ5U/f/4s3/6tW7csXh8+fDjDvoMGDVL16tW1fft2paSkaMqUKRo4cKDWrVunxMREDRgwQC1bttRnn32myMhI9e/fX2XLljU/LigxMVFLly7VrFmzVKJEiQdu980339TNmzfVunXrTNrTtDi0BADAY/L399fatWstnph95MgRJSQkqGrVqpKkq1evqmrVqvrxxx/NfW7cuKFq1arp0KFDGS67cOGCRo8erXHjxmnAgAHy9vZWixYttGzZMknSvHnztG7dOq1bt07t27eXdG+WaP/+/WnqvH37ttzd3TVs2DC5urrKzc1Nr776qk6dOqXbt28rIiJC165d09ChQ+Xk5KSqVauqe/fuWrlypXkdvXr10v79+9W3b98HfiahoaHau3ev3nvvPTk4ZN28CUEGAIDH1KxZMyUmJmrv3r3mtpCQEAUGBppflyhRQr6+vlq7dq25LSwsTN7e3vLx8clwWZkyZSTdCwbdu3dXRESE+vbtq+nTp+vq1asaNGiQ/P395e/vr7CwsAfW+cQTT2jRokUqXry4uW3z5s0qXbq0nnjiCZ0+fVrlypWTk5OTeXnFihV14sQJ8+uZM2dq4cKF5rrS89dff2nGjBkaO3asChcu/MCaHhdBBgCAx+Tg4CB/f3+tWbNG0r1b72/evFkBAQEW/Tp16qRNmzYpISFBkrRmzRrzE6QftEyS6tevL19fXzk4OKhTp05KSkrShQsXHqvuVatWafHixZo8ebIkKSYmRi4uLhZ9XFxcFBsba37t4eHx0PUuW7ZMpUuXNh+OykoEGQAAMkHHjh21detWRUdHa9OmTapdu7aKFStm0cfPz0+StGvXLh0/flyXL19Wq1atHrpMksW6HB0dJcniUJYtEhISNGHCBM2aNUuffvqpnn32WUmSq6ur4uLiLPrGxcXJzc3N6nWnpKQoJCRE3bt3l52d3SPVZwtO9gUAIBNUqVJF5cuXV3h4uNatW6egoKA0fZycnOTv768NGzaoVKlSatOmjVxdXR+6LDNFRUXptddeU0JCgkJCQsxXK0lSpUqVdO7cOd29e9d8XktkZKQqVapk9fqPHj2a5Sf43o8ZGQAAMknHjh21dOlSnT17Vk2bNk23T2BgoPbs2aNvv/1WHTt2tHrZgzg5Oemvv/56aL/ExET16dNH+fPn16pVqyxCjHTv8FXhwoX1/vvv6++//9aJEye0fPlyi3N9HubQoUOqVq1amkNUWYUZGQBArlexeNZfwpwZ22nXrp1mzJihoKCgDK/UqVKlisqUKaPY2Fj5+PhYvexB2rZtqxEjRqhZs2bauXNnhv127Nih48ePK1++fGrYsKHFstSZoMWLF2vixIny9fWVq6urunfvblOounjxYprLsrOSXUpKijFvYWilpKQk/fTTT6pVq5ZMJlP2bvzTJtLvP2fvNvOaks9I/XfndBUAskF8fLzOnj2rcuXKydnZ2dyelJwik33Wn2uRndsbPHiwatasqX79+tm0LK/JaMwl67+/ObQEAMjVsjPEZPX2Ll68qG+//VZ79+5NM8vxoGXIGIeWAADIJnPnztW2bds0duxYubu7W70MGSPIAACQTWbMmPFIy5AxDi0BAADDIsgAAADDIsgAAHKVPH4xLe6TGWNNkAEA5Aqpl9imPmsIeV/qM5xSH7nwKDjZFwCQKzg4OMjV1VXXr1+Xo6Oj7O35XTuvSklJUWxsrK5du6ZChQo91n3eCDIAgFzBzs5OJUuW1NmzZ3X+/PmcLgfZoFChQlY9TftBCDIAgFzDyclJlSpV4vDSv4Cjo2Om3HGfIAMAyFXs7e3T3K4eyAgHIAEAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAAgGERZAAgOSmnK8g7+CyRzRxyugAAyHH2JunrPtKNUzldibG5V5Y6LczpKvAvQ5ABAOleiPn955yuAoCNOLQEAAAMK0eCzIkTJ9SzZ0/Vq1dPvr6+evPNNxUVFZVu3127dsnf31+1atVSmzZttGPHjmyuFgAA5FbZHmTi4+PVp08feXt767vvvtP69ev1559/auzYsWn6njt3TkOGDNGwYcN08OBBDRkyRMOHD9fVq1ezu2wAAJALZXuQuXLliqpUqaJBgwbJyclJhQsXVpcuXRQREZGm75o1a1SnTh0999xzcnBwUNu2bVW3bl0FBwdnd9kAACAXyvaTfcuXL6+FCy3Pat+8ebOqVauWpm9kZKQqV65s0VaxYkWdOHHC5u0mJWXvJYEmkylbt5fXZff44d+Fn9fMxc8rMoO1/x/l6FVLKSkpmjVrlnbs2KEVK1akWR4TEyMXFxeLNmdnZ8XGxtq8raNHjz5ynbZycXFR1apVs217/wYnT55UXFxcTpeBPIif18zHzyuyU44FmejoaI0ZM0bHjx/XihUr5OXllaaPi4uL4uPjLdri4+Pl5uZm8/Zq1KjBb10Glt7/HwByJ35ekRmSkpKsmoTIkSBz4cIF9e3bV6VKlVJISIiKFCmSbr/KlSvr+PHjFm2RkZGqXr26zds0mUwEGQNj7ADj4OcV2SnbT/a9ffu2goKCVLt2bS1atCjDECNJ7du314EDB7Rx40bdvXtXGzdu1IEDB9ShQ4dsrBgAAORW2R5kQkNDdeXKFYWHh8vHx0fe3t7mP5Lk7e2tsLAwSVKFChU0b948ffrpp6pbt64+/vhjzZkzR+XKlcvusgEAQC6U7YeWevbsqZ49e2a4/PDhwxavGzdurMaNG2d1WQAAwIB4RAEAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggwAADAsggxgi+SknK4g7+CzBJAJHHK6AMBQ7E3S132kG6dyuhJjc68sdVqY01UAyAMIMoCtbpySfv85p6sAAIhDSwAAwMAIMgAAwLAIMgAAwLAIMgAAwLAIMgAAwLAIMgAAwLAIMgAAwLAIMgAAwLAIMgAAwLAIMgAAwLAI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jF3exLjmTYxr3pRbx9WqINOmTRsVLlxY/v7+atasmRwcHHTnzh1FRESY+9StWzfTi2vfvr2WLFmijRs36vnnn9eWLVt04MABvf3225m+LQAAYDxWBZmUlBRFRUXp888/1+eff55muZ2dnX799ddMKcjb21sTJkxQ+/btVaFCBc2bN0/vvfee3n77bZUuXVpz5sxRuXLlMmVbAADA2KwKMo9ylZC1Tp48afH68OHDFq8bN26sxo0bZ9n2AQCAcdl2AxgAAIBchCADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMiyADAAAMyyGnCwAMx71yTldgfHyGADIJQQawQUpykuw6LczpMvKElOQk2dmbcroMAAZHkAFsYGdv0szNJ3QxKjanSzE0zyKuGtWqSk6XASAPIMgANtp58rqOX7mT02UYWrVSBQkyADIFJ/sCAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDIsgAAADDcsjpAgAAyDLulXO6AuPL5Z8hQQYAkCelJCfJrtPCnC4jT0hJTpKdvSmny0gXQQYAkCfZ2Zs0c/MJXYyKzelSDM2ziKtGtaqS02VkiCADAMizdp68ruNX7uR0GYZWrVTBXB1kONkXAAAYFkEGAAAYVo4EmZs3b2rgwIGqU6eO6tevrylTpuju3bvp9u3Tp49q1Kghb29v85/du3dnc8UAACA3ypFzZIYPH64SJUpoz549unHjhl577TUtXbpUffr0SdP32LFjWrRokerVq5cDlQIAgNws22dkzp8/rwMHDmjUqFFycXGRp6enBg4cqJUrV6bpe/HiRd2+fVtVq1bN7jIBAIABZPuMzOnTp1WoUCGVKFHC3FahQgVduXJFd+7cUcGCBc3tR48elZubm0aMGKGjR4/K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ly5dMrfdPzsWGhqqjh07qlevXqpTp47WrVtn8f5ffvlFDRo00NKlSyWlne3bv3+/vLy8sn5H/kW2b9+ul19+WQ0bNtQzzzyjbt266dy5c5Lujdcrr7yiGTNmqF69emrQoIGWL1+ur776Ss2bN5ePj4/F7Kafn5/mzp2rVq1aydvbW127dlVkZKR5+fHjx9W9e3fVrVtXzz//vJYuXWp+2N6cOXPUq1cvderUSfXq1VNERISio6M1ceJENW3aVA0bNtSIESN048aNbP188pqEhAT997//Vf/+/TVixAiVKFFCdnZ2qlChgmbPni0PDw9NmzYt3ZnyjGZP05sBz2im/t+KIGMAEyZMUJ06dSz+TJgwQdK9B2326NFDlSpV0u7du/XFF19o79696f5ArF27VocPH1Z4eLj27t2runXrmtfzT5cvX9bVq1f17bffavXq1Tp8+LC++OILiz63bt1Sjx495OXlpQ8++ECOjo6Zv/OwyfHjx+Xv76+9e/eqZcuW5vZjx46pV69eeuONN9SjR4+cK/Bf5I8//tCwYcPUr18/7du3Tzt37lRKSormzZtn7nPo0CGVKFFCP/zwg4YOHapp06Zp//792rhxo5YuXaqQkBBFRESY+wcHB2vWrFnat2+fKlSooAEDBigxMVFXr15VUFCQWrdurb179+rjjz/WF198oeDgYPN79+3bp5EjR2rHjh3y9vbW2LFjdf78eYWGhmrr1q3Knz+/Bg8e/NAnDSNjhw8f1o0bNxQQEJBmmb29vQIDA7V169Zc83TwvIIgYwDvvPOODh48aPHnnXfekSTt3LlTCQkJev3115UvXz6VLFlSw4YN08qVK9Osx9nZWZcuXVJISIjOnj2rYcOGKSwsLMPtDho0SM7Ozipbtqzq16+vs2fPmpfdvn1bQUFBKlasmKZOnSqTyZT5Ow6bOTo6qkOHDnJycpKzs7Oke+GmZ8+e6t27tzp37pzDFf57FClSRBs2bJCfn5+io6P1xx9/qHDhwrp69aq5j6urq4KCgmRvb69GjRopKSlJvXv3louLi2rUqKHixYvr8uXL5v69e/fW008/LWdnZ40ZM0a///67fvzxR4WFhalChQrq2rWrHB0dVbFiRfXu3dvi3wFPT081bNhQbm5uun37tjZv3qy3335bRYsWlZubm8aOHaujR4+meb4drHft2jVJMj9H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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# legend='reverse' kääntää selitteen järjestyksen\n",
"# rot=0 määrittää luokka-akselin nimiöiden asennon\n",
"# stacked=True pinoaa pylväät päällekkäin\n",
"# width=0.7 määrittää pylväiden leveyden (voi olla enintään 1)\n",
"(df2/1000000).plot(kind='bar', legend='reverse', rot=0, stacked=True, width=0.7)\n",
"\n",
"plt.title('Myynti vuosina 2016 ja 2017')\n",
"plt.xlabel('Alue')\n",
"plt.ylabel('Miljoonaa euroa')\n",
"plt.grid(axis='x')"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Mies | \n",
" Nainen | \n",
"
\n",
" \n",
" \n",
" \n",
" Tyytymätön | \n",
" 17 | \n",
" 8 | \n",
"
\n",
" \n",
" Ei tyytymätön eikä tyytyväinen | \n",
" 15 | \n",
" 15 | \n",
"
\n",
" \n",
" Tyytyväinen | \n",
" 6 | \n",
" 21 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Mies Nainen\n",
"Tyytymätön 17 8\n",
"Ei tyytymätön eikä tyytyväinen 15 15\n",
"Tyytyväinen 6 21"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df3 = pd.DataFrame({'Mies':[17, 15, 6],'Nainen':[8, 15, 21]},\n",
" index=['Tyytymätön', 'Ei tyytymätön eikä tyytyväinen', 'Tyytyväinen'])\n",
"df3"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAG+CAYAAAC0xI8BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA69UlEQVR4nO3deVgW9f7/8RebiluIS5ie6piBgpi44C6KxyUTFdxKI8stj8txydzyiFupZVouuWZGWpqJpiKaS1ruu5J93UpzQcQtg0BBmN8f/riPKCAgcDP4fFwX18U9y2fec88w94uZuedjYxiGIQAAABOwtXYBAAAAGUVwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAUyGZ0ZmTn56v/LTugBZRXABHiEwMFBubm569dVX05xm8ODBcnNz04gRIyzD3NzcNHPmzGyt5eDBg3r77beztc305MQ6PA5fX98U7/GjbNmyRcOHD8/BinJPVtfl/m24d+9eubm5ae/evdldHpBr7K1dAGAGtra2OnLkiC5fvqyyZcumGBcXF6dt27Y9NM/y5cvl4uKSrXWsWLFCZ86cydY205MT6/A4Zs2apaJFi2Z4+sWLF+dcMbksq+uS17Yh8Lg44wJkgLu7uwoWLKgNGzY8NG7r1q0qWLCgnn766RTDq1WrZvoPjLy2Du7u7nr22WetXYap5LVtCDwugguQAYULF5aPj4/CwsIeGrd+/Xq1bNlS9vYpT2A+eJnlzz//1JgxY1SvXj15enqqU6dO2r17d4p5du3apc6dO8vLy0u1atVS37599fvvv0uSRowYoVWrVunSpUtyc3NTSEiIJOnOnTv68MMP5ePjoypVqsjPz0/r169P0a6vr69mzJihKVOmqF69eqpatap69Oihs2fPprveD67DiRMn1L9/f9WpU0ceHh5q2LChJk6cqNu3b6fZRkhIiNzd3XX06FF17txZnp6eaty4sRYsWJBiuosXL2rYsGFq0KCBPDw8VLduXQ0bNkw3b95MsR73Xypav3692rRpo6pVq6pOnToaOnSooqKiJN27xLdv3z7t27cvxeWRjGwHNzc3LV26VO+99568vb3l5eWl//znP7p27Vqa69miRQv169fvoeEdO3ZU7969La83b96sgIAAeXp6qn79+po4caJiY2Mt42fOnKlmzZpp1qxZql27tv71r3/Jz88v1XXJyPZI73LfzJkz5ebm9tDwB+fJyLYBcgvBBcigVq1a6ejRo4qIiLAMi4mJ0U8//aTWrVunO++dO3fUrVs3bdmyRYMHD9asWbPk4uKinj17Wj40L1y4oH//+9/y8PDQnDlzNHHiRP3+++/q3bu3kpKS1LdvX/n4+Kh06dJavny5GjduLMMw1K9fPy1btkxvvfWW5syZIy8vLw0ePFirV69OUUNwcLB+//13TZo0SRMnTtQvv/ySqftFoqKi1LVrV8XFxWny5MlasGCBXn75ZX311VePvIyRlJSkQYMGqVWrVpo/f75q1KihqVOn6ueff5Z073LbG2+8od9++01BQUH6/PPP9frrr2vdunWaNm1aqm0ePHhQQ4cOVfPmzbVgwQKNHDlSe/bs0TvvvCNJCgoKkru7u9zd3bV8+XJ5eHhkaDskmz59upKSkjRt2jQNGzZM27Zt0wcffJDmOrZt21Y//fSTYmJiLMPOnz+vY8eOqW3btpKktWvXql+/fqpQoYJmz56t/v37a82aNerbt2+KG28jIiK0adMmTZs2TYMGDdL06dMfWpfH2R6ZkZVtA+Qk7nEBMqhx48YqXLiwNmzYoO7du0uSNm3aJGdnZ9WoUSPdeb///nudOHFC3377rV566SVJUqNGjRQYGKipU6dq5cqVOnbsmG7fvq23337bctmpbNmy2rJli2JjY/Xss8/K2dlZBQoUULVq1SRJO3fu1M8//6zp06erVatWkqSGDRsqLi5OU6dOVevWrS1ngooXL67PPvtMdnZ2ku59qM6cOVM3b95UiRIlHrn+p06dUuXKlfXpp59a7jOpV6+edu/erf3796tPnz5pzmsYhvr27auOHTtKkmrUqKFNmzZp27Ztatiwoc6dOycXFxdNnjzZcimoTp06Cg8P1759+1Jt8+DBgypYsKB69eqlggULSpKcnJwUHh4uwzBUsWJFS53J79e33377yO2QzNXVVZMmTbK8PnbsWKqXCpO1adNGM2bM0KZNm+Tv7y/pXlApUqSImjZtKsMwNHXqVDVs2FBTp061zPf888/rzTff1Pbt29W4cWNJ0t27dzV8+HDVq1fPMt2D63LkyJEsb4/MyMq2AXISwQXIoEKFCsnX11dhYWGW4BIaGqpWrVrJxsYm3Xl3796t0qVLy8PDQ3fv3rUMb9KkiT788EPdunVLL730kgoWLKgOHTqoVatW8vHxUc2aNVW1atV027WxsZGPj0+Kdn19fbVmzRqdPn1alStXliR5enpaQosky30PcXFxGQouDRo0UIMGDZSQkKCzZ8/q3LlzOnnypG7cuCEnJ6dHzu/l5WX5vUCBAnJ2drZcIqlcubK+/vprJSUl6cKFCzp37pxOnz6t33//PcV63a9WrVqaPn26/Pz89PLLL6tRo0Zq0KCBfHx80qwhI9vhqaeekvS/gJDMxcVFcXFxabZdvnx51ahRQ6GhoZbgEhoaqhYtWqhQoUL67bffFBkZqbfffjvFsmvVqqWiRYtq586dluAi3QtO6Xnc7ZFRWdk2QE4iuACZ8PLLL6tfv366ePGiihQpot27d2vQoEGPnO/PP//U1atX5eHhker4q1evqmLFilqyZInmz5+vb7/9VosXL1bx4sXVpUsXDRw4ULa2D1/Z/fPPP2UYhqpXr55qu1FRUZbg4ujomGJccntJSUmPrD95umnTpmnp0qWKjY1V2bJlVbVqVcvZjkcpVKjQQ8u///LIF198oXnz5unmzZsqVaqUPDw85OjoqOjo6FTb8/Ly0vz587V48WJ9/vnnmjt3rkqXLq1evXqpW7duqc6Tke2QHFxSe78e9RyVdu3aaezYsbp586YiIyP122+/acyYMZZlS9K4ceM0bty4h+ZNvjcnWalSpdJd1uNuj8zI7LYBchLBBciERo0aqVixYtq4caOKFSum8uXLq0qVKo+cr1ixYnr++edTXCK4X/ny5SVJVatW1axZsxQfH6+DBw9q+fLlmjt3rtzc3CyXgh5st3DhwgoODk613eeeey4Ta5e+5JAwduxYtWjRQsWKFZMkdejQ4bHbXrt2rSZPnqx33nlHHTp0kLOzsyRp4MCBCg8PT3O+hg0bWi6N7dmzR8HBwfrggw9UrVo1y6Wg+2V0O2RVy5YtNWHCBG3atEl//PGHypYtK29vb0n3LtVJ0rBhwyzD7pccmDIqO7ZH8pnCxMREy9m4v//+O8U0Wd02QE7h5lwgEwoUKKCmTZvqhx9+UFhYmF555ZUMzeft7a3Lly+rZMmS8vT0tPzs3r1bCxculJ2dnRYvXixfX1/Fx8erQIECqlu3riZMmCBJunz5siQ9dNbF29tbsbGxMgwjRbunT5/W7Nmzs/VU/sGDB1WxYkV16NDB8iF55coVnTp1KsNnbdJru1ixYurdu7flg/Hvv//WwYMH02x7ypQp6tChgwzDkKOjo5o0aWJ5QFt679ejtsPjKFasmJo0aaItW7Zow4YN8vPzs9RQoUIFlSxZUhcvXkyxbBcXF3388cf69ddf0237wXXJju2RfG9M8vslSYcOHXpoOZndNkBOIrgAmZT87aK9e/dmOLgEBATomWee0VtvvaVVq1Zpz549mjZtmqZPn64yZcrIwcFBderUUVRUlPr166ft27drx44dGjlypAoUKKAmTZpIuvdf+7Vr17R9+3ZFRUXJx8fH8rXpr7/+Wnv37tWCBQs0duxY2draWj5oskPVqlV18uRJzZ8/X/v27dOKFSvUtWtXxcfHp3vvR0bbjo6O1uTJk7V3716tXbtWXbt21bVr19Jsu27dupZvRu3cuVPbtm3TxIkT5eTkpDp16ki6936dPXtWu3fv1q1btzK0HR5Xu3bt9PPPP+vixYtq06aNZbidnZ0GDx6sZcuWaeLEidq5c6flfqlff/01zctXyR5cl+zYHsn3A/33v//Vrl27FBISoqCgIBUpUsQyTVa2DZCTuFQEZFK9evVUvHhxlS1bVi+88EKG5ilcuLCWLl2qjz/+WB999JGio6NVrlw5vfPOO5YbfStVqqS5c+dq9uzZGjJkiBITE1WlShUtWrRIFSpUkHQvAG3fvl39+vXTf/7zH/Xu3Vvz58/Xp59+qnnz5un69et6+umn9eabb6b6TJHH8fbbb+vmzZsKDg7W7NmzVbZsWbVt21Y2NjaaN29eihtbM8vf318XL17UypUr9fXXX+vpp5+Wj4+PunTpov/+9786c+aMKlasmGKeRo0aaerUqVq0aJH69+8vGxsb1ahRQ8HBwZabU7t27apffvlFvXr10qRJk+Tn5/fI7fC4GjZsqKeeekouLi568cUXU4zr2LGjihQpooULF2r58uUqXLiwqlevrqlTp+of//hHuu0+uC7ZsT3++c9/asqUKZozZ4569+6tF154QRMmTLCc6ZOytm2AnGRj0GsXgFTcuXNHVatW1bvvvquePXtauxwAkMQZFwCpOHDggHbt2iVJPGIfQJ5CcAHwkEWLFmnPnj1q3bp1imeLAIC1cakIAACYBt8qAgAApkFwAQAApkFwAQAAppHvbs5NSkrS3bt3ZWtr+8iO7wAAQN5gGIaSkpJkb2+fat9syfJdcLl79y79ZwAAYFKenp4qUKBAmuPzXXBJTmmenp6P3e8IAADIHYmJiQoPD0/3bIuUD4NL8uUhOzs7ggsAACbzqNs8uDkXAACYBsEFAACYBsEFAACYRr67xyWjEhMTlZCQYO0ygBzl4ODAvV4A8pUnLrgYhqHIyEj9+eef1i4FyBVOTk5ycXHhuUYA8oUnLrgkh5YyZcqocOHCHMyRbxmGodjYWEVFRUmSypYta+WKAODxPVHBJTEx0RJaSpYsae1ygBzn6OgoSYqKilKZMmW4bATA9J6om3OT72kpXLiwlSsBck/y/s49XQDygycquCTj8hCeJOzvAPKTJzK4PCgxycjXy8vzkhLz9/IAANnmibrHJS12tjYauOywzkTF5PiyKpYpqk9f9crx5ZiKrZ20sqd07VTOL6uUq9R+Yc4vBwCQIwgu/9+ZqBgdj/jL2mWkys3NTZIUFhamChUqpBj3xRdfaPLkyerfv78GDBigMWPGSJLGjx+f63U+lmunpMtHrV1Fqtzc3OTj46N58+aluOwSEhKiWbNmaevWrY9sY82aNZo3b55CQ0NzslQAyPe4VGQSJUqU0KpVqx4aHhISoqJFi1pejx8/3nyhxQS2b9+uhQuzfqamTZs2hBYAyAYEF5Pw8/PT999/r6SkJMuwY8eOKT4+Xu7u7pZhI0aM0IgRIyyvQ0ND5efnpxo1aiggIEA7duywjNu/f78CAgJUs2ZNNWvWTO+//77u3r2bOytkMoGBgfr000916NChNKfZunWrXn31VdWtW1cvvfSSXn/9dZ07d07SvYDp6+srSdq7d698fX01Z84cNWzYUN7e3howYIBiYv53qTK97RYYGKiPP/5YXbt2lZeXl15++WWtX78+Z1YcAPIYgotJNG7cWAkJCdq1a5dl2HfffacOHTqkOc/27dsVFBSkMWPGaN++fRowYIAGDBig06dPS5KGDRumwMBAHThwQF988YU2bNigLVu25Pi6mFGzZs3UuXNnDRkyJNWnLkdGRmrgwIHq3bu3du/erW3btskwDM2ePTvV9i5duqQrV65o06ZNWrFihQ4fPqyvv/5a0qO3myR9++23eu+997R37141b95cY8aM0Z07d3Jk3QEgLyG4mIS9vb38/Pwsl4tu376tjRs3ql27dmnOs2TJEr322muqVauW7Ozs1KRJE/n6+mrZsmWSpIIFCyosLEw//vijnJyctH37drVo0SI3VseUhg8fLmdnZ40YMUKGkfKbYc7OzgoNDZWvr69iYmIUGRmpEiVK6MqVK2m2169fPxUqVEjPPfecateurbNnz0p69HaTpBYtWsjd3V0FChSQv7+/oqOjdf369ZxZceBJlV+/gWjy9eLmXBMJCAhQ586dFRMTo82bN6t69eoqXbp0mtNfunRJ+/bt0zfffGMZlpiYqDp16kiSvvzyS82cOVPjxo3T1atX1bBhQ40dO1YuLi45vi5mVKBAAX3yySfy9/fXokWLVKJECcs4BwcHrVu3TsuWLZONjY1cXV0VExMje/u0/8Tu33YODg6WMPSo7fbgvMnLuP8yIoBskJvfeMwt+eCblQQXE6lUqZIqVKigsLAwrV27Vt26dUt3ehcXF7Vr1069e/e2DIuIiFChQoV0584dnTlzRmPHjpW9vb3Onj2r0aNH64MPPtCMGTNyelVM69lnn9WECRM0bNgwBQQEWIaHhYVpyZIl+uabb/Tcc89JkiZMmKBTpzJ/wEtvuwHIZXn4G49PKoLL/1exTNFHT5QHlhMQEKDFixfrr7/+ko+PT7rTdurUSRMnTlSdOnVUtWpVhYeHq1evXurbt69effVVDRkyRD169FD37t1VunRp2dvbpziLkKtKuZpmOa1atdLevXu1bNkylStXTpIUHR0tW1tbFSpUSIZh6Oeff9bq1av14osvZrr99LbbG2+88dj1A4CZEVx070m2uflQuMQkQ3a2WXsMe+vWrTVlyhR169Yt3csQktSyZUvFxsZq1KhRioiIkJOTk958800FBgbKxsZGc+bM0ZQpUzRv3jzZ2dmpUaNGGjp0aJbqeixJibl76jIp8d4p4McwatQoHT16VH/9de/ZP/7+/jp48KBeeeUV2dnZqUKFCurWrZuWLl2q+Pj4TLWd3nYDgCedjfHgXYYml5iYqCNHjqhatWoP9YR7+/ZtnT17Vv/85z857Y4nBvs98BjmNcpfl4rKviS9/ZO1q0hVep/f9+NbRQAAwDQILgAAwDQILgAAwDQILgAAwDSeyOCSz+5HBtLF/g4gP3migouDg4MkKTY21sqVALkneX9P3v8BwMys8hyXEydOaMqUKTp+/LgcHBxUv359jRgxQs7Ozjp69KgmTpyoM2fOqESJEvr3v/+tjh07Zsty7ezs5OTkpKioKElS4cKFZWOTteepAHmdYRiKjY1VVFSUnJyc0v16IQCYRa4Hl9u3b6tnz57q1KmT5s2bp7///lvDhw/XqFGjNGXKFPXu3Vv/+c9/1LlzZ+3fv1/9+vWTm5ubqlatmi3LT+6HJzm8APmdk5MT/U8ByDdyPbhERESoUqVK6tevn+zs7FSgQAF17txZw4YN0w8//CAnJyd17dpVklS3bl35+flp6dKl2RZcbGxsVLZsWZUpU0YJCQnZ0iaQVzk4OHCmBUC+kuvBpUKFClq4MOXj3Tdu3CgPDw+dPn1arq4p+5KpWLGivvvuu0wvJzHx0d12c80fT4KM/C0AeFh+Dv158biQ0Zqs2leRYRj65JNP9OOPP2rJkiUKDg6Wo6NjimkKFSqUpZtpw8PDs6tMAMATxtHRUe7u7tYuI8ecPHlScXFx1i4jS6wWXGJiYjRy5EgdP35cS5YskZubmxwdHRUdHZ1iutu3b6tIkSKZbt/T0zNfp2UAALLKzc3N2iU8JDExMUMnHawSXM6fP69evXrpmWee0XfffSdnZ2dJkqurq3bu3Jli2jNnzujFF1/M9DLs7OwILgAApMLMn4+5/hyXW7duqVu3bqpevbo+//xzS2iRpGbNmunatWtavHixEhIStGfPHq1du1bt27fP7TIBAEAelOtnXEJCQhQREaGwsDBt2LAhxbjDhw9r0aJFev/99zVjxgw5Oztr9OjRqlOnTm6XCQAA8qBcDy5vvfWW3nrrrTTHe3p6atmyZblYEQAAMIsn6pH/AADA3AguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguAADANAguuSwxybB2CTkiv64XACBvsbd2AU8aO1sbDVx2WGeiYqxdSrapWKaoPn3Vy9plAACeAAQXKzgTFaPjEX9ZuwwAAEyHS0UAAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0rBpcbty4oWbNmmnv3r2WYUFBQapSpYq8vLwsP8uXL7dilQAAIK+wt9aCDx48qBEjRuj8+fMphoeHh2vChAny9/e3UmUAACCvssoZl1WrVmno0KEaPHhwiuHx8fE6deqUqlSpYo2yAABAHmeVMy4NGjSQn5+f7O3tU4SXEydO6O7du5oxY4YOHjyoYsWKqX379urZs6dsbTOXsRITE7O77GxhZ2dn7RJyTF59zwEgKzhe566M1mSV4FK6dOlUh0dHR8vb21uBgYGaNm2a/u///k/9+vWTra2tevbsmallhIeHZ0ep2crR0VHu7u7WLiPHnDx5UnFxcdYuA5IcHBxU2d1DDvb578BrJCXKxjb/rVfS3QT98uv/KSEhwdqlQByv8zKr3eOSmvr166t+/fqW11WrVlW3bt20fv36TAcXT0/PfJ2W8yI3Nzdrl4D72NnZaeCywzoTFWPtUrJNY7fSerdFJWllT+naKWuXk31Kucq2/UJ5eHhYuxI8IfLi8ToxMTFDJx3yVHDZvHmzrl27pldffdUyLD4+XoUKFcp0W3Z2dgSXXMb7nfeciYrR8Yi/rF1GtnmhdJF7v1w7JV0+at1icgB/Q8gtZt7X8tRzXAzD0KRJk7R7924ZhqHDhw8rODhYnTt3tnZpAAAgD8hTZ1yaNWumkSNHauzYsbpy5YpKlSqlAQMGqG3bttYuDQAA5AFWDy4nT55M8frVV19NcakIAAAgWZ66VAQAAJAeggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADANggsAADAN+6zMFBcXp1u3bikpKUmSlJCQoFOnTqlZs2bZWhwAAMD9MhxcIiMj5eLiopUrV2rChAm6c+dOivFly5YluAAAgByV4eDSqlUrHTp0SHPmzNGgQYNUpEgR7d+/X926ddNHH32kOnXq5GSdAAAAGb/HJTQ0VJJ07do1devWTXXr1tX58+fl4eGhDz74QCtXrsyxIgEAAKRMBJe1a9dKkkqWLKmEhASVLVtWZ8+elSQ988wzunHjRs5UCAAA8P9lOLjs379fkuTp6akxY8bo9u3bev755/XNN99o1apVcnJyyqkaAQAAJGXiHpcFCxZIkkaNGqXRo0fr77//1rvvvqs+ffro9u3bmjRpUo4VCQAAIGXh69BlypTR/PnzLb/v2bNHCQkJcnR0zPbiAAAA7pel57hs3rxZy5cv16VLl1S6dGl16NBBfn5+2V0bAABAChm+x2XdunWS7t2kO2LECLm6uiowMFDu7u4aO3asVqxYkWNFAgAASJk44zJ37ly1bt1aCxYs0KxZs1I8t8XHx0fjx49Xx44dc6RIAAAAKQtnXCIiIlS7du0U47y9vRUZGZm9lQEAADwgw8El+R4WFxcXy1ejk+3fv1/PPPNM9lYGAADwgAxfKurdu7ckqVu3burXr586d+6sf/zjHzp//ryWL1+ukSNH5liRAAAAUiaCS/IZl44dO8rOzk4hISHavHmzypUrp4kTJ6ply5Y5ViQAAICUxa9DBwQEKCAgILtrAQAASFeGg0tGLgXx9FwAAJCTMnxzLgAAgLVl+IwLZ1MAAIC1ZTi4zJ8/X71799asWbPSnKZ///7ZUhQAAEBqMhxc9u/fr969e2vv3r2pjrexscm2ogAAAFKT4eCyYMECSdJXX32V6virV69mT0UAAABpyPTNuZMnT35oWFhYGL1DAwCAHJfp57hs3rxZRYsWVf/+/RUdHa2xY8dq8+bNGjBgQE7UBwAAYJHp4PLll18qMDBQN27c0JYtW+Ti4qKQkBC98MILOVEfAACARaYvFZUrV07BwcH68ccf5ebmpmXLlhFaAABArsjyk3PLly+vnTt36t1335WDg4MknvUCAAByVpb6KpLuBZfy5ctnZy0AAADp4sm5AADANDJ9xiUxMVEbN27UuXPnlJSUlGIcT84FAAA5KdPBJSgoSKGhoapUqZLs7f83O0/OBQAAOS3TweXHH39UcHCwPD09c6IeAACANGX669BJSUlyd3fPiVoAAADSleng0rp1a33++ec5UQsAAEC6Mn2p6Pjx4zp06JDmzJkjZ2fnFOO2bNmSbYUBAAA8KNPBpWPHjurYsWNO1AIAAJCuTAcXf39/y+83btx46KwLAABATsn0PS53797V9OnTVaNGDfn6+urChQtq3769rl69mumF37hxQ82aNdPevXstw44ePaqOHTvKy8tLvr6+WrFiRabbBQAA+VOmg8vMmTO1Z88effrpp3JwcFDJkiXl4uKiiRMnZqqdgwcPqnPnzjp//rxl2K1bt9S7d2+1a9dO+/fv1/vvv69Jkybp2LFjmS0TAADkQ5kOLmvXrtWMGTPUoEED2djYqHDhwpo0aZL27NmT4TZWrVqloUOHavDgwSmG//DDD3JyclLXrl1lb2+vunXrys/PT0uXLs1smQAAIB/K9D0usbGxlvtaDMOQJBUqVEi2thnPQA0aNJCfn5/s7e1ThJfTp0/L1dU1xbQVK1bUd999l9kylZiYmOl5coOdnZ21S8gxefU9f1Ll530tv+JvKG/Jz39DeXFfy2hNmQ4u1apV06xZszR48GDLY/6/+uqrTD1Jt3Tp0qkO//vvv+Xo6JhiWKFChRQbG5vZMhUeHp7peXKao6Njvn5438mTJxUXF2ftMqD8v6/lV/wN5R35/W/IzPtapoPLqFGj9Oabb2rVqlX6+++/1apVK8XExGjx4sWPXYyjo6Oio6NTDLt9+7aKFCmS6bY8PT3zdVrOi9zc3KxdAmBq/A0ht+TFfS0xMTFDJx0yHVyeffZZhYaGatu2bbp06ZLKli2rxo0bZylcPMjV1VU7d+5MMezMmTN68cUXM92WnZ0dwSWX8X4Dj4e/IeQWM+9rGQ4uvr6+afYAPW3aNEmP/+TcZs2a6aOPPtLixYvVtWtXHTx4UGvXrtVnn332WO0CAID8IcPBZcCAAZLu3ZA7fvx4BQUFZXsxJUqU0KJFi/T+++9rxowZcnZ21ujRo1WnTp1sXxYAADCfDAeX+5+YO3ny5BSvH8fJkydTvPb09NSyZcuypW0AAJC/ZPo5LgAAANZCcAEAAKZBcAEAAKaR4XtcVq9ebfk9ISEhxetk7dq1y4aSAAAAUpfh4DJjxgzL7yVKlEjxWpJsbGwILgAAIEdlOLhs3bo1J+sAAAB4JO5xAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwwWMrXbSglJRo7TJyRn5dLwAwKXtrFwDzK+5oL9naSSt7StdOWbuc7FPKVWq/0NpVAADuQ3BB9rl2Srp81NpVAADyMS4VAQAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAA0yC4AAAeS2KSYe0S8ASxt3YBAABzs7O10cBlh3UmKsbapWSbxm6l9W6LStYuA6kguAAAHtuZqBgdj/jL2mVkmxdKF7F2CUgDl4oAAIBpEFwAAIBpEFwAAIBpEFwAAIBpEFwAAIBpEFwAAIBpEFwAAIBpEFwAAIBpEFwAAIBpEFwAAIBp5Mngsn79erm7u8vLy8vy8+6771q7LAAAYGV5sq+i8PBwtW3bVpMmTbJ2KQAAIA/Jk2dcwsPDVaVKFWuXAQAA8pg8d8YlKSlJx48fl6OjoxYuXKjExET5+Pho6NCheuqppzLcTmJiYg5WmXV2dnbWLgGZlFf3pUdhXzMf9jXklry4r2W0pjwXXG7cuCF3d3e1aNFCM2bM0M2bNzV8+HC9++67mj9/fobbCQ8Pz8Eqs8bR0VHu7u7WLgOZdPLkScXFxVm7jExhXzMn9jXkFjPua8nyXHApVaqUli5dannt6Oiod999V506dVJMTIyKFi2aoXY8PT35LwDZws3Nzdol4AnBvobckhf3tcTExAyddMhzweXEiRNat26d3nnnHdnY2EiS4uPjZWtrqwIFCmS4HTs7O4ILsgX7EXIL+xpyi5n3tTx3c66Tk5OWLl2qhQsX6u7du4qIiNBHH30kf3//TAUXAACQ/+S54OLi4qJ58+Zpy5Yt8vb2Vvv27eXp6akxY8ZYuzQAAGBlee5SkSR5e3tr2bJl1i4DAADkMXnujAsAAEBaCC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA07K1dQHYzDEOSlJiYaOVK0lbZpYgK2lm7iuzzfEnHe+93aQ/JtqC1y8k+JStKeXg/ygj2NZNgX8tz2NdyX/LndvLneFpsjEdNYTLx8fEKDw+3dhkAACALPD09VaBAgTTH57vgkpSUpLt378rW1lY2NjbWLgcAAGSAYRhKSkqSvb29bG3TvpMl3wUXAACQf3FzLgAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCx4SFRWl2NjYXF9udHS0bty4kevLRfb6448/HruNxMREXbhwIRuqybzsqB95h7WOZ8g5BBcTGzNmjLy8vOTl5SVPT09VqlTJ8trLy0sHDhzIdJvXrl1TixYtcixAJNe1Zs0avfLKKynGNWvWTKdPn7a8PnDggLy8vCRJPXv21Ny5c3OkJvyPr6+vPD09U+xHD+5Pr7zyitasWZPq/FOmTNGcOXMeu47Bgwdr9erVj91OasaMGaMxY8ZI0kN/J6nVn7y+qe2zyD55/Xg2d+5c9ezZU9LDfwMcn3IXD6DLJ0JCQjRr1ixt3br1sdq5ePGimjZtqi1btqh8+fLZVF3GuLm5KTg4WLVr187V5eJ/fH191b9/fwUEBGRp/hEjRkiSJk+e/Fh1BAYGytvbWwMGDHisdjIru+rH48kPxzPkHM645FMvv/zyQ/8B+Pn56bvvvktz3IoVK9S6dWtJUuvWrbVq1SrVqlVLa9eutUwXHx+v2rVra/fu3Zo5c6YGDhyo4cOHq3r16mrUqJHCwsI0e/Zs1atXT97e3vrss88s8x46dEhvvPGGGjRoIE9PTwUEBOjIkSOSpBYtWkiSevXqpQULFkiSNm/erICAAFWvXl0tWrTQ4sWLlZSUJOneB8yYMWPUp08feXl5qWnTpgoODs7eNxGp8vX1VUhIyEPDZ8+erbVr12rt2rVq06aN5s+fb9muyT7//HN17do13XHvvfeeDhw4oHnz5qlPnz4aM2aMunfvnmLa8ePHa9iwYbp48aLc3Ny0evVqNWnSRNWqVdPIkSN14MABtWnTRl5eXurWrZvlP+6YmBiNHj1azZs3V7Vq1dSwYUPL38KD9UvSpUuXNGjQINWtW1f169fXO++8o6ioKEnS3r175evrqzlz5qhhw4aWoBUTE5M9bzQscvp4tnnzZnl5eWnHjh2WcX/99ZeqVq2qY8eOKT4+XlOmTNHLL78sLy8v1a1bVxMmTLB0BhgYGKiZM2dKevSxKSYmRuPHj5ePj4/q1q2rwYMH69q1a5Jk2Z9XrFghX19f1ahRQ2+99ZYiIyOz8d3MBwzkCytXrjSaNGlieT1//nyjZcuWltfh4eFGtWrVjJiYmHTHXbhwwXB1dTUuXLhgGIZhBAUFGT169LBMu2HDBqNJkyZGUlKSMWPGDMPNzc0ICwszkpKSjI8++sioXLmyMXnyZCM+Pt7YtGmT4erqaly8eNGIi4szvL29jSVLlhiJiYnG33//bQwcONB47bXXLG27uroae/bsMQzDMHbv3m14eHgYoaGhRkJCgvHLL78YjRo1Mr744gvDMAxj+PDhhoeHh7Fjxw4jISHB+Oabb4zKlSsbkZGROfL+PimaNGlirFy5MsvTDB8+3Bg+fLhhGIZx5coVo3LlysaRI0cs41u3bm1899136Y4zDMN4/fXXjRkzZhiGYRhHjx41KlWqZNm2d+7cMby9vY3du3db9tdBgwYZsbGxxsmTJ43KlSsbbdq0MSIjI43r168bzZo1M2bOnGkYxr39uVu3bsatW7eMpKQkY8OGDYarq6tx7ty5h+qPj483mjdvbgwZMsT466+/jFu3bhlDhgwx/P39jYSEBGPPnj2Gq6urERQUZMTFxRnnzp0z6tevb8ybNy/T7ztSssbxbOTIkcaQIUMs45YuXWq0bt3asvxXXnnFuHLlimEYhnHo0CHD3d3d2LVrl2EYKffXRx2bBgwYYHTv3t24du2aERMTY4wePdro3LmzkZSUZKm3b9++xq1bt4yrV68arVu3Nv773/9m6/trdpxxyafatWun8+fPW3rKXr16tVq2bKkiRYqkO+5B7du3165du3T16lVJ0qpVqxQQEGDpwLJixYpq2bKlbGxsVL9+fSUmJqpPnz5ycHCQr6+vJCkiIkIODg5avny5unTpovj4eF26dElOTk66cuVKqvWHhISoadOmatWqlezt7eXh4aHevXtr2bJllmlq166t+vXry97eXu3bt1diYqLOnz+ffW/iE2rcuHGqWbNmih8/P79Mt1OmTBk1bNhQ33//vSTp+PHjunjxolq2bJnuuAdVrVpVL7zwgtatWydJ2rZtm4oWLZrikmL37t3l6OgoV1dXlS5dWv7+/nr66afl7OysatWq6dKlS5KkAQMG6JNPPlHRokUVGRmpggULSpLlLMr9Dhw4oAsXLmjcuHEqVqyYihcvrnHjxunEiRP65ZdfLNP169dPhQoV0nPPPafatWvr7NmzmX6vkL7cOJ517NhRW7ZssZwxW7VqlTp06CBJ6tSpkxYvXqzSpUsrKipKt2/fVpEiRdI8fqV1bLp+/bo2btyo9957TyVLllSRIkU0atQohYeH6/jx45b5e/XqpeLFi6tUqVLy9fXVuXPnsu29zA8ILvlU6dKlLR8MCQkJWrduneW+hfTGPcjT01MvvPCCQkNDdf36de3YsUPt2rWzjHdycrL8ntyb51NPPZXidVJSkuzs7LR37141b95cTZs21cSJE3XhwgXLqdYHXb9+Xf/4xz9SDCtfvrzlAyh5PZI5ODhYloXHExQUpAMHDqT4uf/0emYEBARo/fr1SkhI0KpVq1J8oKQ3LrV2kkNOSEiI/P39U/T+fv9+aGdnp+LFi1te29raWvaz69eva+DAgapdu7b69u2rLVu2SEp9v7l+/bpKlCihokWLWoYVLVpUTk5O6e6Hae3TyLrcOJ55eXmpfPny2rhxo3777TedOHFCbdu2lSTFxcVpzJgx8vb2Vo8ePbR69WpLT8Zp1Zvs/mNT8n7TqVMnyz8FDRs2lJ2dnS5evGiZp1SpUpbf7e3t2aceQHDJx9q3b68NGzZox44dKlasmGrVqpWhcam1Exoaqg0bNqhmzZopbnK7/8MjPUePHtWECRM0ffp07dy5U19++aXq16+f5vTlypV76OzJhQsXUhwQkPcln3XbuXOnwsLC1L59+wyNe1Dbtm31+++/6/Dhw9q5c+dDH0wZ3Q8HDhyoKlWqaPfu3Vq1apWGDBmS5rTlypXTzZs3U9yzEh0drZs3b7IfWkFuHM86dOigdevW6fvvv9e//vUvSyAePXq0HB0dtWPHDq1du1aTJk3K0j9JTz/9tCQpLCwsxT8GISEhatKkSabbe1IRXPKxxo0bKzExUTNmzHjoQJ/WuORT5/cfrNu0aaMTJ05oxYoVWf62SXR0tGxtbVWoUCFJ0pEjRxQcHKz4+HjLNAUKFFB0dLSkeweXrVu3KiwsTImJifr111+1YMGCdD/cYH33b0Pp3n+bbdq00aeffqqiRYuqZs2aGRr3YDslS5aUj4+Pxo8fr5o1a+qZZ57JUn3R0dEqVKiQ7OzsdOPGDU2cOFGSlJCQ8NByPT09VbFiRQUFBSk6OlrR0dEaO3asnn32WVWvXj1Ly0fW5cbxrF27djpy5IhWr16tjh07WobHxMSoYMGCsrW1VUxMjD788EPFxMRY9puMevrpp9W4cWO9//77unnzphISEjRnzhx16NBBf/31V6baepIRXPKx5A+GEydOyN/fP0PjSpUqpWbNmqlz58765ptvJEnOzs7y8fHRxYsX1bx58yzVUr9+fXXp0kVdu3ZVzZo1NXbsWL355pu6ceOG5Y76zp0765133tH06dP10ksv6dNPP9WCBQtUs2ZN9e/fX6+99pr69OmTxXcDGRUUFJTqc1ySv+2VnlatWunQoUNq3LixZVhAQIB+/fXXVENvWuPatWunlStXqkuXLg9N+zjhddKkSVq/fr2qV68uf39/lSpVSi+99JJOnTr1UP329vaaN2+e7t69qxYtWqhJkyZKSEjQF198IXt7+yzXgKzJjeOZk5OTfH19ZW9vr7p161qGjx49WidOnJC3t7datmypW7duydfX17LfZMaHH36o4sWLq127dqpTp462b9+uhQsXchYvE3iOSz4XHBysn376SQsXLszUuAdNmjRJt2/f1rhx43KiTORjf/75pxo2bKjNmzdbTpVnZNyDTpw4ocDAQO3YscPynzSeLBzPIEn825BPXb16VZcvX9aXX36pUaNGZXjcgy5fvqxz585p9erVWrx4cQ5WjPwmPj5ef/zxh4KDg+Xj45MimKQ37kExMTGKiIjQJ598ooCAAELLE4jjGe7HpaJ8atu2bQoMDFT9+vXVtGnTDI970Lfffqu+ffvqjTfeUOXKlXOyZOQz8fHxevXVV3X48GHLE2kzMu5BkZGR6ty5s27duqW+ffvmZMnIozie4X5cKgIAAKbBGRcAucbsPUcDsD6CC4AU7u8FNyQkxPK8lUdNm16v0VLe6zk6IiJCXl5eioiISLEekugJGsjDuDkXQAqZ+cr5/dOGhoamO+3NmzezXFNOtPPMM8/o8OHDkh5e5zZt2lg6WgSQtxBcgCfQ8ePHNXnyZJ04cUIlSpRQly5d1K1bN9nY2GjmzJnat2+fvvrqqxTzxMfHq1+/foqNjdW8efNUoEABTZ8+Xdu2bVNkZKQKFSqkVq1aafTo0Q89yTa552VJ+vXXX9W6dWutXLlSGzdutEzz+eefa+vWrfLx8Ulz3PPPP68DBw7o8OHDOn78uMqUKaOLFy9q0aJFlmnHjx9veeBYYmKiPv74Y8u4QYMGqUSJEgoKCtLWrVs1f/58/fHHH4qNjZWnp6cmTpyo559/XiEhIZo1a5a2bt2qvXv3auTIkerYsaO+/vpr3blzR7Vr19akSZMs3QGEhoZq7ty5ioiI0HPPPachQ4aoQYMGku71HFytWjUdOnRIv/76q1xcXDRgwAC1atUqOzYl8OSxWveOAKwiMjLSqFGjhrFkyRIjPj7eOH36tNGsWTPjm2++MQzDMGbMmGG8/vrrhmH8r5feuLg4o3v37kaPHj2MuLg4wzAe3WPug3K75+j9+/cbVatWNaKjow3DMIxbt24Znp6exi+//GJcvnzZqFKlirFlyxbDMAzjxo0bRpcuXYyhQ4emWG/DMB7ZC/S2bduMGjVqGPv27TPu3r1rbN261ahWrZpx6tQpS73e3t7G8ePHjTt37hjTpk0zatSoYdy+fTuLWxB4snGPC/CEWbNmjV544QV17dpVDg4Oqlixonr06KGlS5emOn18fLz69Omja9eu6bPPPrN025DZHnPvlxs9R9esWVNly5ZVWFiYJGndunWqUKGCPDw85OzsrNDQUPn6+iomJkaRkZEqUaJEurWn1Qv0kiVL9Nprr6lWrVqys7NTkyZN5Ovrm6In8xYtWsjd3V0FChSQv7+/oqOjdf369Ue+TwAexqUi4Alz6dIlHT9+PEXfQMk9eKfm6tWrqlSpkn777Tf98ssvln564uLiNH78eO3fv18uLi5yd3dPt8fcBwUEBCgoKEgjR45MtefotMal1s7q1avVo0ePh3qO7tixo77//nt17NhRq1atsvQ/4+DgoHXr1mnZsmWysbGRq6urYmJi0n2Uf1q9QF+6dEn79u2zPFJeuneJqk6dOqnOm7wMejIHsoYzLsATxsXFRbVr107RO+2WLVu0atWqVKcvU6aMFixYoMDAQI0YMUKxsbGSHr/H3NzoOdrf319Hjx7Vrl27dPLkSbVu3VrSvd55lyxZoq+++krbt2/XggUL5O7unuHa7+fi4qJ+/fqleD9DQ0P1/vvvZ6k9AOkjuABPGD8/Px05ckRr1qzR3bt3FRUVpT59+mjy5MmpTu/g4CAbGxsNGjRItra2mjJliqTM95hrjZ6jnZ2d1aRJE40ePVrNmzfXU089JSllb+WGYeinn37S6tWrM93br3TvkllwcLCOHTsmSQoPD1dAQIDl8hWA7EVwAZ4w5cqV08KFC7V8+XLVq1dPbdu2VYUKFdIMLskKFiyoSZMmacWKFfrpp58y3WOutXqO7tSpky5duqQOHTpYhvn7+6tevXpq3bq16tSpo88++0zdu3fX2bNnFR8fn+778KCWLVtqyJAhGjVqlKpXr66BAwfqzTffVGBgYKbaAZAxPPIfgNXQczSAzOLmXAC5jp6jAWQVwQVArkvuHbps2bKaO3duhsc9KLnn6EqVKtFzNPCE4FIRAAAwDW7OBQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApvH/AAkYmi2aEY64AAAAAElFTkSuQmCC",
"text/plain": [
"