{ "cells": [ { "cell_type": "raw", "metadata": {}, "source": [ "---\n", "title: Test the strategy\n", "summary: We take the pair stats calculated in last section and make trading decisions based on these stats.\n", "tags: [\"jugaad-data\", \"strategies\"]\n", "categories: [\"posts\"]\n", "date: 2020-08-25T02:02:57Z\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Go back to index](../)\n", "\n", "In [previous section](../pair-stats) we calculated pair stats for period of Jan to Jun 2019. In this article we will use the pair stats calculated to back test our strategy over next six months ie- July to Dec 2019" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from datetime import date\n", "from jugaad_data import nse\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mean and Standard deviation from previous section" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "mean = 0.561384416383328\n", "stdev = 0.043277270170811115" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Download data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from_date = date(2019, 7, 1)\n", "to_date = date(2019, 12, 31)\n", "sym_1 = \"JINDALSTEL\"\n", "sym_2 = \"JSWSTEEL\"\n", "stock_1 = nse.stock_df(sym_1, from_date, to_date)\n", "stock_2 = nse.stock_df(sym_2, from_date, to_date)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create dataframe" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "ratio = pd.DataFrame()\n", "ratio['STOCK_1'] = stock_1['CLOSE']\n", "ratio['STOCK_2'] = stock_2['CLOSE']\n", "ratio['VALUE'] = stock_1['CLOSE'] / stock_2['CLOSE']\n", "ratio['DATE'] = stock_1['DATE']\n", "ratio.sort_values(by=['DATE'], inplace=True) # Make sure dates are in ascending order" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we use the [decision matrix in previous section](https://marketsetup.in/posts/pair-trading-1/pair-stats/#decision-matrix) to run the back test. \n", "\n", "There is additional logic to make sure that \n", "\n", "**We act only on first Long or Short signal**\n", "\n", "There will multiple ticks which will satisfy `Long Signal - ratio < μ - 2σ` or `Short Signal - ratio > μ - 2σ`, but we would want to act only on the first signal and then wait for the exit or stop loss signal.\n", "\n", "**Track Exit or Stop loss signal only if you have an open position**\n", "\n", "Again there will be multiple ticks which will statisfy exit signals - `ratio > μ - 1σ` or `ratio < μ + 1σ`, but there is no point in taking this trade if you do not have an open position.\n", "\n", "Hope this makes it clear\n", "\n", "**What do we mean by taking a long or short position in pair?**\n", "\n", "> Long position -> We buy stock 1 and sell stock 2\n", "\n", "> Short position -> We sell stock 1 and buy stock 2\n" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pair trade signals -\n", "2019-08-08 00:00:00 - LONG\t\t0.45\t100.20\t221.70\n", "2019-08-13 00:00:00 - LONG-LOSS\t\t0.43\t94.80\t220.15\n", "2019-08-14 00:00:00 - LONG\t\t0.46\t103.80\t227.75\n", "2019-11-01 00:00:00 - LONG-EXIT\t\t0.52\t123.35\t237.60\n" ] } ], "source": [ "long_position = \"CLOSE\"\n", "short_position = \"CLOSE\"\n", "print(\"Pair trade signals -\")\n", "for index, tick in ratio.iterrows():\n", " if tick['VALUE'] < mean - 2*stdev and long_position == \"CLOSE\":\n", " print(\"{} - LONG\\t\\t{:.2f}\\t{:.2f}\\t{:.2f}\".format(tick['DATE'], tick['VALUE'], tick['STOCK_1'], tick['STOCK_2']))\n", " long_position = \"OPEN\"\n", " \n", " if tick['VALUE'] > mean - stdev and long_position == \"OPEN\":\n", " print(\"{} - LONG-EXIT\\t\\t{:.2f}\\t{:.2f}\\t{:.2f}\".format(tick['DATE'], tick['VALUE'], tick['STOCK_1'], tick['STOCK_2']))\n", " long_position = \"CLOSE\"\n", " \n", " if tick['VALUE'] < mean - 3*stdev and long_position == \"OPEN\":\n", " print(\"{} - LONG-LOSS\\t\\t{:.2f}\\t{:.2f}\\t{:.2f}\".format(tick['DATE'], tick['VALUE'], tick['STOCK_1'], tick['STOCK_2']))\n", " long_position = \"CLOSE\"\n", "\n", " if tick['VALUE'] > mean + 2*stdev and short_position == \"CLOSE\":\n", " print(\"{} - SHORT\\t\\t{:.2f}\\t{:.2f}\\t{:.2f}\".format(tick['DATE'], tick['VALUE'], tick['STOCK_1'], tick['STOCK_2']))\n", " short_position = \"OPEN\"\n", "\n", " if tick['VALUE'] < mean + stdev and short_position == \"OPEN\":\n", " print(\"{} - SHORT-EXIT\\t{:.2f}\\t{:.2f}\\t{:.2f}\".format(tick['DATE'], tick['VALUE'], tick['STOCK_1'], tick['STOCK_2']))\n", " short_position = \"CLOSE\"\n", " \n", " if tick['VALUE'] > mean + 3 * stdev and short_position == \"OPEN\":\n", " print(\"{} - SHORT-LOSS\\t{:.2f}\\t{:.2f}\\t{:.2f}\".format(tick['DATE'], tick['VALUE'], tick['STOCK_1'], tick['STOCK_2']))\n", " short_position = \"CLOSE\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, the strategy made a loss in first trade and profit in second, let us look at the chart as well-" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "image/png": "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RGTymPwSERERERGRyWPyS0RERERERCaPyS8RERERERGZPCa/REREREREZPKY/BIREREREZHJY/JLREREREREJo/JLxEREREREZk8Jr9ERERERERk8pj8EhERERERkclj8ktEREREREQmj8kvERERERERmTwmv0RERERERGTymPwSERERERGRyWPyS0RERERERCaPyS8RERERERGZPCa/REREREREZPKY/BIREREREZHJY/JLREREREREJo/JLxEREREREZk8Jr9ERERERERk8pj8EhERERERkclj8ktEREREREQmj8kvERERERERmTwmv0RERERERGTymPwSERERERGRyWPyS0RERERERCavV8mvEGKxECJFCHFWCPG3LvaZL4Q4LoQ4LYTY2Wp7phDiVFPbkcEKnIiIiIiIiKi3VD3tIIRQAngDwEUAcgAcFkJsklImtdrHEcCbABZLKbOEEO7tTrNASlk8eGETERERERER9V5ven6nAjgrpUyXUjYC+BzA5e32WQngayllFgBIKYsGN0wiIiIiIiKi/utN8usDILvV+5ymba2FAXASQuwQQhwVQtzcqk0C+Llp+6quLiKEWCWEOCKEOKJWq3sbPxEREREREVGPehz2DEB0sk12cp7JABYCsAKwXwhxQEqZCmCWlDKvaSj0L0KIZCnlrg4nlHINgDUAEB8f3/78I8KT+57E+crzbbZFOEfgkamPAAD+tvtvKKwpbNMe5xaHP03+EwDgwe0PoryhvE37NK9puCfuHgDAPdvuQYO2oU37PN95uDXmVgDAbVtv6xDTxYEXY3nEctRp63Dftvs6tF8ecjmuCLkCZfVleGjHQx3arw+/HouDFqOgpgCP7n60Q/st0bdgvt98ZFRk4Kn9T3VoXzV+FWZ4z0ByaTJeOPRCh/bVk1ZjgvsEHC86jleOvdKh/ZGpjyDCOQL78/Zjzck1HdqfmPEEghyCsCN7Bz44/UGH9ufmPAdPG09szdiKDSkbOrT/b/7/4GTphG/Pfovvzn7Xof3NC9+ElcoKnyd/jp8yf+rQ/t7i9wAA7ye+j505O9u0Wags8PaFbwMA3j7xNg7mH2zT7mjhiJcWvAQAePnoyzihPtGm3cPGA8/PeR4A8MKhF5BcmtymPcA+AE/OfBIA7z3ee7z3WuO9x3sP4L3He4/3Xmu89wbn3iPT15ue3xwAfq3e+wLI62SfrVLKmqa5vbsAxAGAlDKv6e8iAN/AMIyaiIiIiIiIaNgIKbvvZBVCqACkwtCrmwvgMICVUsrTrfaJBPA6gIsBmAM4BGA5gAwACilllRDCBsAvAJ6SUm7t7prx8fHyyBEWhiYiIiIiorFJCHFUShlv7DhMSY/DnqWUWiHE/QB+AqAEsF5KeVoIcU9T+9tSyjNCiK0ATgLQA1gnpUwUQgQD+EYI0XytT3tKfImIiIiIiIgGW489v8bAnl8iIiIiIhrL2PM7+Hoz55eIiIiIiIhoVGPyS0RERERERCaPyS8RERERERGZPCa/REREREREZPKY/BIREREREZHJY/JLREREREREJo/JLxEREREREZk8Jr9ERERERERk8pj8EhERERERkclj8ktEREREREQmj8kvERERERERmTwmv0RERERERGTymPwSERER0ain00s0avXGDoOIRjAmv0REREQ06j33wxnMeO5XJBdUGjsUIhqhmPwSERER0ahWr9Fhw5FslNQ04oa1B5FWWGXskIhoBGLyS0RERESj2q9nilBVr8XTl0dDqRBYsfYgzhZVGzssIhphVMYOgIiIiIhoIL5JyIGHvQVWTgvAjHGuWL7mAFauPYDPV01HsJutscMjGjJHjx51V6lU6wDEgB2begCJWq32zsmTJxd1tgOTXyIiIiIatUqqG7AjRY07ZgdBqRAIcbfFp3dNw4o1B3DDuoP45aF5sLXgr7xkmlQq1TpPT89INze3MoVCIY0djzHp9XqhVqujCgoK1gG4rLN9xvrTASIiIiIaxTafyINWL3HVJN+WbWEednj7psnIr6jHF4ezjRgd0ZCLcXNzqxzriS8AKBQK6ebmVgFDL3jn+wxjPEREREREg+rrhFxEedkj3NOuzfYpgc6ID3DC+r0Z0Oq4BBKZLAUT3981/Vt0meMy+SUiIiKiUelsURVO5lTgqkk+nbbfOScYOWV1+Ol04TBHRqMFH4wMnFKpnBwREREVGhoafcEFF4QUFxcru9t/3759Vhs2bHBofv/JJ584PPbYY55DHymTXyIiIiIapb4+lgulQuCyCd6dtl8U5YEAF2us3Z0OKdk5Rm0lZJXhghd3IjG3wtihjGoWFhb65OTkpLS0tNOOjo7a//znP27d7X/kyBHrLVu2tCS/N9xwQ8Wzzz5bMPSRMvklIiIiolFIr5f4NiEXc0Jd4W5n2ek+SoXAHbODcDy7HEfPlw1zhDSSbTqRh+vXHAAAWJoxJRos06dPr8nNzTUHgO3bt1tPnDgxIjIyMmrixIkRJ06csKivrxfPPfec9+bNm50iIiKi1q5d6/Tqq6+63Hzzzf4AkJqaaj5jxoywsLCwqBkzZoSlpaWZD2Z8LH1HRERERKPOgYwS5FXU429LI7vd75rJvvjfL6lYuzsd8YHOwxQdjVRSSrzyaxpe3paGqYHOePumyXC2GdT8ymj++uUJv9SCKuvBPGeYp13tf66J61XVOK1Wi+3bt9vdcccdxQAQFxdXf+jQoWQzMzN8++23dg8//LDvTz/9dO7RRx/NO3LkiM2HH36YBQCvvvqqS/M57rnnHv+VK1eWPPDAAyUvv/yyy7333uu3bdu2c4P1eZj8EhEREdGo821CLmwtVFgU5dHtftbmKtw4LQBv7DiLjOIaBLnaDFOENNLUa3R4+MuT2HQiD1dP8sWzV8XAQtXt9FTqhYaGBkVERERUbm6ueUxMTO0VV1xRCQClpaXK66+/PigzM9NSCCE1Go3o6VwJCQk2P/744zkAuPfee0v/+c9/+vZ0TF8w+SUiIiKiUedAeinmhLrC0qzn5OXmmQFYsysd6/dk4OkrulwFhUzcE98lYtOJPDy8OBz3zhsHIXrMxUaV3vbQDrbmOb8lJSXKRYsWhTz//PPujz/+eNEjjzziM2/evKpffvnlXEpKivkFF1wQboz4WuMAdyIiIiIaVSrqNMgqrUWMj0PPOwNwt7PE5RO8sfFoNkqqG4Y4OhqJvknIwRdHcnD/ghDcNz/E5BLfkcDFxUX36quvZr3xxhseDQ0NorKyUunr69sIAO+8845r83729va66urqTvPQiRMn1qxbt86p6Rjn+Pj46sGMkckvEREREY0qSXmVAIBob/teH3P3vGBodRL/3poyVGHRCHW2qBp//yYRUwOd8acLQ40djkmbNWtWXWRkZN26deucHnnkkYInn3zSd9KkSRE6na5lnyVLllSlpqZaNRe8an38W2+9lfXRRx+5hoWFRX322Wcub7755qD2ZnPYMxERERGNKqfzDEvTRHv3rucXAELc7XDHnCC8szMd18T7YgqLX40J9Rod7v/0GCzNlHh1xUSolOz7G2y1tbUJrd//9ttvZ5tfZ2ZmJja/fuWVV/IAwMPDQ5eYmHim3WlKACA8PLzxwIEDqUMVK7/6RERERDSqJOVVwsPeAm52Fn06bvXCUPg4WuHv35xCo1Y/RNHRSPLPzUlILqjC/66Lg6dD50ti0djB5JeIiIiIRpXEvIo+9fo2szZX4anLo5FaWI1392QMQWQ0kmw6kYfPDmXhnnnjMD/c3djh0AjA5JeIiIiIRo26Rh3OFlUjpg/zfVtbGOmBi6M98MqvqcgurR3k6GikyCiuwaNfncTkACf8eVGYscOhEYLJLxERERGNGskFldBLIKofPb/N/rEsGkoh8MR3iZBSDmJ0NBLUa3T4wyfHoFIq8OqKiTDjPF9qwjuBiIiIiEaN002VnmN8+tfzCwDejlZ48KIwbE9R46fTBYMVGg2xynpNrx5W/GvLGSTlV+LFa+Pg42g1DJHRaMHkl4iIiIhGjdN5lXCwMhtwUnPrzEBEetnjyU1JqG7QDlJ0NFQ2n8hD/DPb8EIPS1X9cCofHx04jztnB+HCKI9hio5GCya/RERERDRqnM6rQLS3PYQQAzqPSqnAs1fGoLCqHv/7echWVqEBklLirR3n8MBnCVApBNbvyehyrvb5kho88uVJxPk54uHFEcMcKQ2W2tpaERsbGxkeHh4VEhIS/eCDD3oP1rm5zm8f5P/fE2jMzGyzzSIyAp6PPQYAyP3rw9AWtB06YzVhAtz//BAAIOeBP0JXXt6m3XrGdLjddx8AIOuuVZD19W3abefPh8sdtwMAzt90c4eY7JYshvPKldDX1SF71d0d2h2uvBKOV10JbVkZcv+4ukO704rlsF+6FJr8fOQ9/EiHdufbboPdBQvQkJ6Bgn/8o0O76733wGbmTNSfOYPCZ5/r0O724IOwnjQRtccSoH7ppQ7tHo89CsvISNTs24fit97u0O75z3/CIjgIVb9tR+l773Vo9/73CzDz8kLlDz+g7LPPO7T7vPoKVE5OKP/6G1R8802Hdr8170BhZYXSTz9F1Y9bO7QHfPQhAKDk3fWo3rGjTZuwtIT/2jUAAPWbb6J2/4E27UpHR/i+9ioAoOjF/6Hu+PE27SpPT/j8598AgIJnn0XDmeQ27eaBgfB6+ikAvPd47+1o08Z7j/ce7z3ee2P13tPo9Bj/21dY1JCN87usW9r7e+85A3ivuAYJCXZInPQKYnwceO+NoHtPAsgsrsG7oVfh0umReFB5HsdefxepR9ZC727bsp/Pq69AZ2eP9/7vdfzj1G7E+joi/8A7Le29vfdoeEydOjX8o48+yggPD2/srN3S0lLu2bMnxcHBQd/Q0CCmTJkS/uuvv1YsXLiwZqDXZs8vEREREY0KZ4uqodNL2JgrB+2cfs7WsFAp8fdvTkGnZ/GrkUInJVIKqlBYWY8bpwfg1eUT4WZnAS8HSxRXN3QYqv7cD8nIKavDOHdbWKqY4gyXlJQU89DQ0Ojm90888YTHQw89NKCeWoVCAQcHBz0ANDY2Cq1WK5pHemzZssU2LCwsyt/fP0YIMVkIMXnNmjVOvT236M2kcSHEYgCvAFACWCelfL6TfeYDeBmAGYBiKeW83h7bXnx8vDxy5EhvPwMRERERjQFfHs3BXzaewLaH5iGkVc/fQH13PBerPz+Opy+Pxk0zAgftvNQ/RZX1uP2Dw0jKq8RTl8fgxukBLW1V9RrM+88OhHnY4rO7pkMIga2JBbjn46O4dWYgnrwsupszjy5CiKNSyvju9jlx4kRmXFxcccuGNQvCO+wUuawUcx5So6FagQ+WhXZoj7u+GNPuKUFVgQqfrRjXpm3V9m4nWaekpJhfeumloWlpaacBQ/JbXV2t/N///pfX1TE99fwCgFarRUxMTFRWVpbFLbfcUvTWW2/lAkBAQEDM2rVrMxYtWlTzyCOPeKrVarP169dntz72xIkTrnFxcYGdnbfHxyJCCCWANwAsARAFYIUQIqrdPo4A3gRwmZQyGsC1vT2WiIiIiKg3EnMrYGWmRJCrzaCe97I4b8wOccW/t6agqLK+5wNoyKQVVuHKN/chXV2DdbfEt0l8AcDO0gyrF4biQHopdqSokV1ai4e/PIFYHwc8upTzfEeqV155xSUiIiIqIiIiKjEx0Xrp0qWhERERURdddNG4zvZXqVRITk5OysrKOnns2DGbw4cPW6rVaqVGoxGLFi2qAYBbbrmldO/evXZ9iaM3c36nAjgrpUwHACHE5wAuB5DUap+VAL6WUmYBgJSyqA/HEhERERH1KCmvEpFedlAqBlbsqj0hBJ6+IgYXv7wLT285g9dWTBzU81Pv7DtXjLs/OgpLMyU2rJqBWN/O13JeOc0f7+/LxHM/noGVuQpSAm+snAQL1eANhx+1uuuptbDVd9tu56ntqae3M61HEms0mk7/c65evbpk9erVJUDven6bubq66mbPnl21efNmhwcffFDd+lp6vV6oVKo+zVXozYB4HwCtu5Jzmra1FgbASQixQwhxVAhxcx+OJSIiIiLqll4vkZRfiRifzhOigQpytcEf5odg84k87EpVD8k1qCOdXmLv2WL8+YsTuGX9IXjYW+Kb+2Z2mfgCgJlSgYcvDkdqYTVOZJfjhWvGw9/Fusv9aWjl5eWZ5+XlqXQ6Hfbu3Wun0+kGej5VcXGxEgCqq6vFjh077CMjI+udnJz0Li4u2i1bttgCwLp161xmzpxZ1Zdz96bnt7PsvX2GrQIwGcBCAFYA9gshDvTyWMNFhFgFYBUA+Pv79yIsIiIiorFNSokfEwswN8wNthamvYjH+dJaVDdoEe1tP2TXuGd+ML47nov/+y4RP/1pLizN2JM4VM4WVWHj0Rx8l5CHgsp62FmocM1kX/xtcSQcrM16PH5xjCeumOCNABcbLI31GoaIqSuOjo7a5cuXB6nVarO5c+dWbty40WXVqlUl0dHRDf05X3Z2ttmtt94apNPpIKUUl19+eemKFSsqAOCDDz7IuPPOOwMffPBBRWBgYMOnn36a2Zdz9+a7ZA4Av1bvfQG0n8CcA0ORqxoANUKIXQDienksAEBKuQbAGsBQ8KpX0RMRERGNYRsOZ+NvX5/CXxaF4f4LOtaxMSWn8yoAANHeQ9PzCwAWKiWeuSIGK9cdxJvbz+KhRR1rB1H/1TRo8f3JPGw4nI1jWeVQKQTmhbnh8UsjcWGkR58eNggh8PJyDk8fCWxsbPS7du1Ka37/zjvv5HS3/6FDh7odWj1t2rS6M2fOdDpNdvLkyfUJCQnJnbX1Rm+S38MAQoUQQQByASyHYY5va98BeF0IoQJgDmAagJcAJPfiWCIiIiLqo4KKevxryxkAwI+JBSaf/CbmVsJMKRDm0af6Nn02M8QVV070wVs7z+GyCT6DWlV6LJJS4lhWOTYczsL3J/NR26jDODcbPLY0AldO9IWbnYWxQ6QxpMfkV0qpFULcD+AnGJYrWi+lPC2EuKep/W0p5RkhxFYAJwHoYVjSKBEAOjt2iD4LERER0ZggpcTj3yZCo9fjxun++PhAFrJKak163uPpvAqEedjBfBjWcH1saSR+PVOIx7891bKcDvVNcXUDvjmWiw1HsnG2qBrW5kpcOt4L10/xwyR/J/6bmojw8PDG5mWORoNeTQ6RUv4A4Id2295u9/4/AP7Tm2OJiIiIqP++P5mPbWcK8felkVgc44mPD2Thx8R83D2v01VDRr3i6gYkZJXj0vHDM7fTzc4Cf1sSice+OYWvj+Xi6sm+w3Ld0U6nl9iVpsYXh7PxS1IhtHqJif6OeOHqWFwy3tvk56XTyMc7kIiIiGgUKa1pxJObTiPO1wG3zQqESqlAjI89fkwsMNnk95nvk9Cg1eHOOcHDds3lU/zw2aEsvLXzHK6a5MOeyh58tD8Tb+44h/yKejjbmOPWmYG4foofQod4mDpRXwz9uBEiIiIiGjRPf5+EynoNXrhmPFRKw69yS2K8cDy7HPkVdUaObvDtSSvGt8fzcO+8ccM6/1ahEFg+1Q9ni6pxOq+y032klKht1A5bTCNVcXUD/u+70/Cwt8SbN0zCgUcX4vFLo5j40ojD5JeIiIholNieXIRvEnJx3/wQRHj+vuTPkhhPAMDWxAJjhTYk6jU6PP7tKQS6WOO+BSHDfv1LY71hrlTgm4TcTtvf3HEOs57/DY1a/TBHNrLsPVsMAPjHsigsjfUalnnZRP3BO5OIiIhoFKiq1+Cxb04hzMMW9y1oO7w52M0W4R52+NHEkt83t59FZkktnrki1ihr7jpYm2FBhBs2nciDVtc2wa1r1GHt7nSU1WqQU1Y77LGNJHvSimFvqcJ4X0djh0Im4OzZs2bTpk0LCw4Ojg4JCYl++umn3Qfr3Ex+iYiIiEaBF7Ymo7CyHi9cPR4Wqo6J4OIYTxzOLEVRVb0Roht8Z4uq8NbOc7hyog9mh7oaLY4rJ/pAXdWAfedK2mz/8mg2yms1AIDMkhpjhDYiSCmx52wxZoW4QqngvGjq2dSpU8NTUlLMu2o3MzPDiy++mJOenn768OHDZ9599133o0ePWg7GtZn8EhERERnJphN5+CYhp8f9DqSX4OMDWbh9VhAm+jt1us+SWE9ICfx8unCwwxx2Uko89k0irM1V+PslkUaNZUGEO+wtVfi21dBnnV5i3Z4MBLvZAAAyi8duz+85dTXyK+oxJ9TN2KGQEaSkpJiHhoZGN79/4oknPB566CHvgZwzICBAM3v27FoAcHJy0o8bN64uKyvLHAC2bNliGxYWFuXv7x8jhJgshJi8Zs2azr8pdoLVnomIiIiMZO2udKSrq7Ew0gP2lmad7lOv0eFvX52Ev7M1HloU1uW5wj3sEORqg62JBbhxekCvYzAUbdLBZgQtQ7PxaA4OZZTi+ati4WprYdRYLFRKXDLeG98dz8UzjVpYm6vwS1IBzpfU4o2Vk/C3r06O6Z7f3WmG+b5zjNg7T79b8f2K8PbbFgYsLL0z9k51jaZGcedPd4a2b7903KXFN0TeUKKuVav++Nsf28yp+OzSz1KGMt6epKSkmCclJVnPmzevGgDuu+++wLVr12YsWrSo5pFHHvFUq9Vmq1atKuvt+djzS0RERGQkRVX1qGnUYcOh7C73eWlbKjJLavH8VbGwNu86QRVCYHGMJ/anl6CsprHXMby/LxPR//gJl762Gy/+nIKj50uh08s+fY7BVFLdgGd/OIP4ACdcF+9ntDhau3KiD2obdS296mt2pcPP2QqLYzwR6GqDjOKxm/zuSStGgIs1/JytjR0KjWCvvPKKS0RERFRERERUYmKi9dKlS0MjIiKiLrrooi7XZ6uoqFBcddVV455//vlsZ2dnvVqtVmo0GrFo0aIaALjllltK9+7d26eS4iPnER8RERHRGKLTSxRXG5LU9/dltqzZ29rJnHKs3ZWO5VP8MDOk5561pTFeeGvHOfxyprDXieP2FDXc7SxgZabEmzvO4bXfzsLR2gxzQ90wP9wN88Lc4DKMva/P/pCM6notnr0qFooRMoc0PsAJPo5W+CYhF37OVjiWVY5/XhYNpUIgwMUaJ3MqjB2iUTRq9difXoKrJvkYOxRq0l1PrY2Zjb67djdrN21/enql/P1hmUaj6fQ/7erVq0tWr15dAhjm/H700UcZ4eHhXT6la2hoEJdccsm4a6+9tvSWW24pBwCVSiVbX0uv1wuVStWnJ3Xs+SUiIiIygrLaRuj0ErNDXJFbXoefk9rO1W3U6vHwlyfhZmeBR5f2bt5rjI89fJ2ser3kkVanx9HMUlwc7YmN98zEsccvwusrJ2JhhAf2nSvBQ1+cQPy/tuHy1/fgpV9ScTy7HPoh7BXed64YXx3Lwd3zghE2gtaIVSgErpjojd1parywNQUOVma4Nt4XABDkaoOcstoxudxRQlYZaht1mB3C+b5jWV5ennleXp5Kp9Nh7969djqdbkDn0+v1WL58eUBYWFj9k08+2fKN0cnJSe/i4qLdsmWLLQCsW7fOZebMmVV9OTeTXyIiIiIjKKpsAACsmOoPf2drvLsno037OzvPIbmgCs9cEQsHq87nA7cnhMDiaE/sTlOjsl7T4/5n8qtQ06jDlCBnAIalfS4d740Xr4vDoccWYvP9s/HghWFQKgRe/S0NV7yxF/H/2oYHNxzH+UGe59qg1eHxbxLh72yNBy7oMC3R6K6c6AO9BA5llOKm6QEtQ9ADXWyglxiTyx3tOVsMhQBmjHMxdihkRI6Ojtrly5cHxcTEREVGRtZt3LjR5fTp0/0eLvLLL7/Yfvvtty579uyxax4qvWHDBgcA+OCDDzIef/xx37CwsKikpCSr5557Lr8v5+awZyIiIiIjaF6SyNPBArfODMRT3yfheHY5Jvg5Iq2wCq/9dhaXjvfCRVEefTrvklhPrNuTgd/OFOGKid0PRz2YYVi+Z2qgc4c2hUIg1tcBsb4O+OPCUJTVNGJXmho7UtTYfCIPjtZm+Mey6A7H9ddbO84hvbgGH9w+1Shr+vYkxN0OsT4OSCmows0zfy8oFuhqmOuaWVKDYDdbY4VnFLvTijHBz7HXD2fINNnY2Oh37dqV1vz+nXfe6baE/aFDh7odWn3xxRdXSymPdtY2efLk+oSEhOT+RcqeXyIiIiKjUFcZen7d7Sxx3RQ/2Fmo8O6eDOj0Eg9/dRI2Fko8eVnfk8uJfk7wsLfAj4k9d4gcyiiFv7M1PB16XkLTycYcl0/wwUvXT0CcnyMScwdvnmu6uhpvbj+HZXHemBc2cofQPnNFDF5bORHudr//ewW6GJY7yhhjyx1V1GpwMqccs7nEEY0i7PklIiIiMoKipuTXzc4ClmZKXD/FD+/ty4SXgyUSssrx8vUT+rXMj0JhGPq84Ug2apuW5umMlBKHM0uxMLJvPcsAEOvjgA2Hs6HTSygHWJRKSom/f5MICzMF/u9S467p25M4P0fEtdvmbGMOO0vVoA8DH+n2nSuGXnKJo7EuPDy8MS0t7bSx4+gt9vwSERERGYG6qgF2lqqWIb63zAyElBJrdqVjQbgbLp/g3e9zL47xQr1Gjx0p6i73OVtUjbJaTadDnnsy3tcBdRodzqmr+x1js6+P5WJ/egkeWRzRpkd1tBBCINBl7C13tPtsMWwtVJjg52jsUIh6jckvERERkRGoqxrgZvd7z66fszWWxnrBzkKFf10ZCyH636M6NcgZLjbm+OFU10OfD2WWtuzbV+N9HQBgwEv8lNU04l8/nMFEf0esnOo/oHMZU6CrDTKHqed3/7kSLHxxByrqei5oNpR2p6kxPdgFZkqmEzR68G4lIiIiMoKiqnq427Ud1vzidXH47S/z4e1oNaBzKxUCi6I9sD25CPWazpcdOZRRCjc7CwS4WPf5/EGutrAxV+JUTvmA4nzuxzOoqNPg2StHzpq+/RHoYo3csrphWe7oq2M5OKeuQUJW2ZBfqyu55XXILq3D7BBWeabRhckvERERkRGoqxo6DPO1UCnb9AYPxOIYL9Q06rA7rbhDm5QShzJKMTXQuV89zEqFQLSPA04OoOjVwfQSfHEkB3fOCUKkl32/zzMSNC93lD3Eyx3p9bJlKPtAe90H4kxeJQAg1tfRaDEQ9QeTXyIiIiIjKGo37HmwzRznAgcrs06rPueU1SG/or5fQ56bjfdxQFJeJbS6vvd2Nmr1+Pu3ifB1ssLqhSNvTd++CnQ1VHwe6qJXp/MqUVxtKJRmzOQ3ucCQ/IZ72hktBjJt1157baCzs3NcaGjo4K2nBia/RERERMOuukGL2kZdh2HPg8lMqcCFkR7YllTYYTju4ab5vlP6UeyqWayvAxq0eqQV9b3o1XfHc3G2qBpPXR7dZTXq0SSwaej4UC93tD2lCEIAc8PccHKAQ84HIrmgCr5OVrC1GP1fOxp+U6dODU9JSTHvbp/bb7+9eNOmTWnd7dMfTH6JiIiIhlnLGr/2Q5f8AsCSGE9U1mux71zboc+HMkphb6kaUM/d+KYhr6f60QN5IL0UzjbmWBDu3u/rjyTNyx1lDnHF5+0pRRjv64gF4W4oqmpAYWX9kF6vKykFVYjwHN1D1WlwpKSkmLfunX3iiSc8Hnroof6Xqm+yZMmSajc3N2377Vu2bLENCwuL8vf3jxFCTBZCTF6zZo1Tb8/LxzVEvZBRXINfzxTiphkBsFApjR0OERGNckVNSYub7dAu7TM71BU25kq8uycDUwKdYdPUU3cosxTxgc4DWqM3wNkadpYqnMwtx3VT/Pp07NHzpZgc4DSgitYjSfNyR0NZ8bm0phHHs8uxemFoS7XtE9nlWBTtOWTX7EyDVof04hpcPMzXpd7JuPa68Pbb7C66sNR11Sq1vqZGcf7W2zrMM3C4bFmx8003lWjValX2fX8Y17otaOMXKUMZb1/dd999gWvXrs1YtGhRzSOPPOKpVqvNVq1a1evqb+z5JerGOXU1HtxwHAtf3IFntpzB7tSORUOIiIj6qmiYen4tzZT486Jw7DlbjGWv7UFibgXUVQ1IV9cMaL4vACgUAjHeDn3u+VVXNSCzpBbxAb3urBkVhnq5o12pakgJLAh3R5SXA5QKgVMDKDjWX2eLqqHTS873pT555ZVXXCIiIqIiIiKiEhMTrZcuXRoaERERddFFF43r+WgDtVqt1Gg0YtGiRTUAcMstt5Tu3bu3Tzcie36JOlFUWY9nfziDTSfyYK5S4PopfvjsUDbyjTS8iIiITEvLsOchnPPb7PbZhmrKf9qQgKve3IeFkYahxgOZ79tsvK8D3tubiUatHuaq3vWpHD1v6KSJDzSt5DfIxRpbTub16d+iL7anFMHFxhyxPg5QKARC3W1xwghFr5LzqwAAkV5Mfkei7npqFTY2+u7aVW5u2v709EopW15rNJpOh3OsXr26ZPXq1SWAYc7vRx99lBEeHt7Yl+uoVCrZ+lp6vV6oVCrZzSEdsOeXqJ3E3Apc9vpebD1dgLvmBGPPIxfgmStioVQIFFYw+SUiooErqmqAuVIBByuzYbnejHEu+HH1XMwNc8WPiQWwNFMg1sdhwOeN9XVAo06P1MKqXh9z9HwpzFUKxAzC9UeSgCFc7kinl9iZqsa8cLeW9ZDjfB1xKqe8TeIxHFIKq2CuUiDQxWZYr0sjV15ennleXp5Kp9Nh7969djpd52uLD5STk5PexcVFu2XLFlsAWLduncvMmTN7/80HTH6J2vglqRDXvbMfCgF8fe8sPLo0Eq62FlAqBDzsLJDP5JeIiAZBUVU93OwshnXOq7ONOdbeHI/nr4rF45dEDUrv5HgfRwB9W3bnyPkyjPdxMLkaGs3LHQ1F0avj2eUor9W0KRAW6+uAsloNcsrqBv163UkuqEKouy1USqYRZODo6Khdvnx5UExMTFRkZGTdxo0bXU6fPj2gYS3Lli0Lmj17dkRGRoaFh4fH+JdeeskVAD744IOMxx9/3DcsLCwqKSnJ6rnnnuu4lls3OOyZCIbhGmt3p+O5H5Mx3scBa2+Oh7t92yIkHg6WKKgc3h8wRERkmtRVDXAdhiHP7QkhsHyq/6Cdz8/ZCg5WZjiVWw6g5/PWa3RIzK3A7bODBi2GkSKoOfktGfye3x0pRVAIYG6oW8u2uKZq2ydzKuDnbD3o1+xKcn4lZoe6Dtv1aOSzsbHR79q1q2VZonfeeSenu/0PHTrU49DqzZs3Z3S2ffLkyfUJCQnJfY/SgMkvjWn5FXX44VQBNp/Iw/HsciyN9cSL106AlXnHp9FeDpZIKejTyAoiIqJOqasahjVhGSpCCIz3deh1z+/JnApodBLxAQOfbzzSOFmbDdlyR9tTijA5wAkO1r8Pkw/3tIO5UoGTOeW4ZLzXoF+zM2U1jSiqakAEi13RKMXkl8akH07lY93udBzLKgcARHnZ48llUbh5RmDLXJr2PO2tsCNFDSmlySzNQERExlFU1YDJJlLtONbHAWt3p6Neo4OlmeHhcXZpLaQE/F3aJviHM0sBwGQ+e2tCCAQNQcXnosp6JOZW4q8Xt13BxlylQKSXXZ+GnA9UclMnANf4pWbh4eGNaWlpp40dR28x+aUxRa+X+PdPKXh75zmEutvirxeH45JYr5Z5Ot3xdLBAbaMOVQ1a2FsOT4ESIiIyPRqdHqU1jXAzwrDnoTDe1wEanURKQRV8nKzw8rZUfHYoGy425tj18IKWhBgwVHoOdrOBs425ESMeOgEuNjie3eslR3tlR6oaANrM920W6+uA7xLyoNfLLh/e94eUEnUaHazN26YKyQWVAMCeXxq1mPz2wfaPk1Fe2HYeh6ufLeZcFwYA+GX9aVSXNbRp9wx2wIwrDctX/fjOKdRXa9q0+0Y4Ycolhnkvm187Dm2jvk17YKwrJi4yzKH55sVjHWIKmeyO2Pm+0DTq8P1rJzq0R8zwQuRML9RVN2LrO4kd2mPm+SA03gNVpfXY9l5Sh/YJF/kjaLwrygpqsOOTjsPz45cGwi/SGersKuz5Iq1D+/QrxsFrnAPyz1XgwLfnOrTPvi4Ubn52yD5TiiM/ZHZon39DOJw8bZBxshjHf8nq0H7hbVGwc7ZE2pFCJO7M7dC++O4YWNma48y+fJzel4ezRdUoq2nEH+3tESitsWxWEMzMlTi1IwdnjxZ1OP7KP08CACT8nAXFgSJcX2WO718+DiszJVTmCix7YAIA4PCWDOQkt/1hZ2lrhiV3xwIA9n9zDgXpbZ/M2jpZ4KLbowEAu79IRXF2dZt2Rw9rLLgxAgDvvdF+7yXv71iL4dIH4np972Wearu+NO893nu890b3vZeVU4nrq8xhtacY35z4/d9gtN57DVo9rq8yx4vfn8HR/AoE1wjcrbRBSV4j1j99AF4OVgCApX8Yj6Pny3CNvUOn/76mcO8FuVhDsa8YX//3aJtRYgO591LzKrDA0gqRXnYd7j3/qgYsLVZg9y+ZmHdx0KB931NXNyCzuAZxfo4wVypa7r30tDLcWGuJvWvbnsNUvu+R6WOZNhoTymobcDq3AuW1jQh0tUGQqw0E+vaE1LypqmGjVt/DnkRERF0rqTYsbWlmItVyLVQKmCkVOJxRilkhrvjLojCEetjBwcoMeeX10DctxZOhrkZFnabDUGhTEuRmGElWqxmcpV6qG7SoqtdixjiXTqdc2VgYetVzBnl5pco6DXR6iYJ2q1xkFNfAupO6KESjhRjutcF6Iz4+Xh45csTYYZCJOJJZirs/OopGnR5vrJyEuWFuPR/UiezSWsz593b8++rxuG6K3yBHSUREY8W2pELc+eERfPeHWYjzczR2OIPi6PlSAKLNXN5jWWW46s19eGRxBO6dPw6fHcrCo1+fwm9/nodgN1vjBTuEiqsbMOO5X3Hj9AD8Y1n0gM933ydHsSetGPsfXQgbi44DNrU6PWKf/BnLp/oNyvWaLXppJ1ILq2FvqWq5tl4vEfPkT7gu3g9PXjZ416KuCSGOSinju9vnxIkTmXFxccXd7TPWnDhxwjUuLi6wszbTeORI1IWNR7KxYu0B2FuZ4ds/zOp34gsA7vaGuVkFlVzrl4iI+q+oyjBktvnniimYHODcoYjVJH8nLAh3wzu7zqGqXoMjmWVwsTFvWRLIFLnaWmBxjBe+OpqDusaB9f5mldRia2IBbpge0GniCwAqpQLR3vY4NYhFr2obtThbVI3ZIa6orNfiq2OGVWuyy2pR26hDpBfn+9LoxeSXRhydXkKrG9jQYp1e4tkfzuCvX57E1CBnfHPfTIwb4FNmC5USLjbmyK9g8ktERP2nbkp+XW1NJ/ntyoMXhaG8VoP392bi6PlSTApwMvkVE26c5o/Kei02n8wb0HnW782AUiFw68zAbvcb7+uIxLyKAf/u1OxMfiX0Erh5RgDi/Byxfk8G9HrZUuk5nJWeaRRj8ksjzj82JWLF2gP9Pr6qXoNVHx7Bml3puGl6AN6/bSocrQenqqSngyUKKuoG5VxERDQ2FVXVw9nG3GTm/HZnvK8jLorywDu70pFZUot4E1ziqL2pQc4IcbfFJwc7Fm7qrfLaRnxxJBuXxfnAw96y233H+zqgXqNHWlF1t/v1VnMv8nhfR9w5OwiZJbX4NbkIyflVEAII8zDNIevUfykpKeahoaEtY+GfeOIJj4ceesjbmDF1hdWeaUTR6SW2nMxHVb0WGp2+z78YZJXU4s4PD+OcugZPXx6Nm2YEDmp8Xg6WyC1nzy8REfVfUVUD3E1kmaPeeOiiMCxJ2g0AiA80/eRXCIEbpvnjn5uTkJhbgRgfhz6f45ODWaht1OHOOUE97jvR3xEAcOR8GSK9Bt4reyq3Eq62FvCwt8CSGE94O1hi3e50uNiaI8DZusPyRzSybHzucHj7bcET3UonLw5UN9ZrFd+9lBDavj18mmfx+Av8SmoqGlQ/vHlyXOu2ax+d0rH0/Chm+o8caVQ5lVuBsloNtHqJ831cJP5Aegkuf2MPCisb8OHtUwc98QUAD3v2/BIR0cCoqxpMZo3f3oj0sscl471gba7sVyI4Gl01yReWZop+9f42aHX4YF8m5oS69iqZ9Xe2hpeDJQ6kl/Qn1A4ScysQ62MPIQRUSgVunRWIgxml2J1ajHCu70ujXK8e3QghFgN4BYASwDop5fPt2ucD+A5ARtOmr6WUTzW1ZQKoAqADoO2pYhmNbTtT1C2v0wqrEeLeu2+yGw5n4e/fJMLfxRrv3jJlyIppeDlYoqxWg3qNDpZmLPVPRER9p65qQLCb6RZ96swLV49HfnkdLFRj42eng5UZLovzxnfHc/HY0gjYWZr16riymkZ8eigLRVUN+O+1cb06RgiB6cEu2J2mhpRyQHOq6xp1SCuqwsXRHi3brp/ij1e2paGqQYsIzvcd8brrqTW3VOm7a7dxsND2t6e39QpCGo1mxE7s77HnVwihBPAGgCUAogCsEEJEdbLrbinlhKY/T7VrW9C0nYkvdWtnahHCPewgBHo9d+VQRike+eoUZoxzwTf3zRrSKpKeDlYAgEJWfCYion6QUkJd1QB3u+7ncZoaWwsVQj3GVq/hDdMCUNuow7fHOy98VVGrwZ60Yry54yzu/fgoZr/wGyY+/Qv+81MK4vwcMSfUtdfXmh7sjOLqRpxTD2zeb1JTsavWPfQOVma4Nt6wxGMEe36pC3l5eeZ5eXkqnU6HvXv32ul0g7PW9WDrTc/vVABnpZTpACCE+BzA5QCShjIwGnvKaxtxPLsc918QitoEba+T37d3noOzjTnW3BQPqyFeeN2zqehEfkU9AlzG1lN7IiIauIo6DRp1+jE17HmsGu/rgBgfe3xy4Dwui/PG6dwKnMytwKncCpzKqUBWaW3Lvv7O1ojzc8RN0wMQ6+OAif59q4o9PdgFALA/vbTXo+Y6k5hrKHYV69t2ePq988ehsk6DmSG9T8hpbHF0dNQuX748SK1Wm82dO7dy48aNLqtWrSqJjo5uMHZsrfUm+fUBkN3qfQ6AaZ3sN0MIcQJAHoC/SClPN22XAH4WQkgA70gp1wwkYDJde84WQy+BeWFuSMytQFphVY/HpBRU4bfkIjx0UdiQJ76AodozABRwuSMiIuqHljV+mfyaPCEEbpwWgL99fQpx//y5ZbufsxVifRywYqo/Yn0MCfJAV6Xwd7aGt4MlDpwrwU3TA/p9nlO5FXC1NW952N/Mw94S/7t+woBiJNNmY2Oj37VrV1rz+3feeSfHmPF0pTfJb2ePnWS798cABEgpq4UQSwF8C6C5ktgsKWWeEMIdwC9CiGQp5a4OFxFiFYBVAODv79/b+MmE7EhRw8HKDHG+Dgh1t8Wes8XQ6vRQdVPxec2udFiZKQf0jb4vWpJfDnsmIqJ+KKpk8juWXDHRB6mF1XCxNTf0BHs7wMlmcJZfbK153u/O1IHN+22uTm3qazHT2NWbas85APxavfeFoXe3hZSyUkpZ3fT6BwBmQgjXpvd5TX8XAfgGhmHUHUgp10gp46WU8W5ubn3+IDS6SSmxM1WN2aGuUCkVCHG3RaNWj+yyrisr51fUYdOJXFw/xW9IfpB0xtZCBTsLFXt+iYiog3Pqaix6aSe+PNp1h4e62vDzg8OexwZLMyWeWBaFPywIwZxQtyH9fWV6sAtKahpxtp/r/RqKXVUjdoxU5KbBEx4e3piWlna65z2NrzfJ72EAoUKIICGEOYDlADa13kEI4SmaHhEJIaY2nbdECGEjhLBr2m4DYBGAxMH8AGQazuRXQV3VgPlhhgcfzUUxuhv6/N7eTOglcMfsntfAG0yeDpbI53JHRETUzts7ziG1sBp/2XgC/9x8GlqdvsM+LT2/9mOr4BUNveZ5v/1d8igpvxI6vWTySyatx+RXSqkFcD+AnwCcAfCFlPK0EOIeIcQ9TbtdAyCxac7vqwCWS0O9aw8Ae5q2HwKwRUq5dSg+CI1uO1MNSxzNa0p+Q9xtAXRd8bmiToNPD2bhklgv+DlbD0+QTTwdLFFQOaLm7hMRkZEVVdXju+N5WDHVH7fPCsJ7ezNx8/pDKKtpbLdfA6zNlbC16NVqk0S95udsZZj3m17ar+O7KnZFZEp69Z23aSjzD+22vd3q9esAXu/kuHQAvVukjMa0HSlFiPSyb3kSbmuhgreDZZdDdz49mIXqBi1WzQ0ezjABGCo+pxaqe96RiIjGjA/3nYdGr8fdc4MR6GqDKG97PPbNKSx7fQ/+ffV4zBjnAiEE1FUNHPJMQ2Kg8367KnZFZEp6M+yZaEhV1Wtw9HxZS69vsxAPO6QVdRz23KDV4b29GZgT6tpmHbrh4uVgCXVVQ6fD2YiIaOypbdTi44PncVGkBwKb1pq/ZrIvvrh7BvR6iZXrDuL6NQew/1wJiqrqWeyKhsxA5v2y2BWNBUx+yej2nSuBVi87JL+h7rY4W1QNvb5tcfEfTxWgqKrBKL2+AODpYAW9BNTVHPpMRETAl0dzUF6r6fBzaYKfI377y3w8uSwKmcU1WLH2AA5mlLLnl4ZMf+f91mtY7IqM59lnn3Xz9/ePEUJMzs/PH9I5IUx+yaiklNiWVAgbcyUmBzi1aQt1t0W9Ro/c8rbFpb4/mQcvB0vMGmechdY9HQy/tOSz4jMR0Zin00u8uycDE/wcO/wcAwzVfm+dFYRdDy/AE5dGwcfRCpMDnI0QKY0FzfN+9/cx+W0udmWMEXVE8+bNq/7ll19Svb29G3vee2CY/JJR6PQSP5zKxxVv7sPGozm4KMoD5qq2t2OoR3PRq9+HPlfUabArtRhLY72gUBhnWI6nvRUAcLkjIiLCL0mFOF9Si7vmBHc7XNTSTInbZwdhzyMXDPsqBTR2NM/7PZBeCkPt2e5VN2iRrq7GL0mFAMCeX+qzlJQU89DQ0Ojm90888YTHQw895N2Xc8yaNasuPDy8Q+KbkZFhNm3atLDg4OBoMzOzSUKIyStXrvQfSLwsNUjDqq5Rhy+PZmPdngycL6lFgIs1nr48GtfG+3XYN8StebmjalwQ4QEA2JZUiEadHpeM9xrWuFvzcjAUgmDyS0RE63anw8/ZChdHexg7FCIAhqHPXyfk4tczRbAwU6CosgFFVQ0oqqpHUVUD1JW/v65t1LUc5+1g2fI7Do1enzz2YHj7bSFTZ5ZOu+JadWNdnWLj04+Ftm+PnLOgeNKSy0qqy0pV3/3n6XGt22549qWUoYy3O48++qj3ggULKp9//vmCn3/+2Wb16tUBn376adZAzsnkl4ZFSXUDPth/Hh/tz0RZrQYT/Bzxt8URWBTtCWUXPbgO1mZwt7Nos9zRD6fy4eNohYl+jsMUeUeO1mYwVylQUMnkl4hoLDuWVYYj58vwj2VRUCk5mI5GhhnjDPN+7/zwSJvtNuZKuNtbws3OAjE+DnC3s4S7vQU87C3gbmeJMA87FruiESUhIcHmySefzAeARYsW1ZSXlyvVarXSzc1N19OxXWHyS0Mqo7gG63an48ujOWjQ6nFhpAfunheM+ACnXn2DDfOwa0l+K+o02JWmxq0zA436zVkIAS8HS875JSIa49btToe9pQrXdTJ6ichY/Jytse7meNRpdHC3s4C7vSXc7Sxgw7Wlx4TuemrNraz03bXbOjlr+9PT23qIvUaj6fBLularRUxMTBQALF68uPzll1/O6815VSqV1Ol0LeeTUgqVStXzeP7uzjmQg4l+Pl2Ad3alY0qgM+aFuWFygBPMVQocPV+GNbvO4eekQpgpFbh6kg/umB2MEHfbPp0/xN0WG49kQ0qJX5IKodFJXDK+T9MIhoSnvSUKmfwSEY1ZWSW12JpYgLvnjWNSQSPOhVEchk/DJy8vzzwvL0/l4eGh3bt3r93EiRNrWrerVCokJycn9fW8s2fPrlq/fr3ziy++mL9p0yY7FxcXjZOT04DWGuV3a+q303kVWP35cdhYqHAiuxxv7zwHG3MlfJyskFpYDQcrM9y/IAQ3zwjs97IOoR62qGnUIb+iHltO5sHH0QpxvsYvxuDpYIljWWXGDoOIiIxk/d4MKBUCt84MNHYoRERG5ejoqF2+fHmQWq02mzt3buXGjRtdVq1aVRIdHd2rdUGfeeYZ99dee82zpKTELC4uLmrBggUVGzZsOP/ss8/mr1y5MjAsLCzK2tpa//7772cMNFYmv9QvJdUNWPXhUThYmWHTA7Ngba7C/nMl2JWqRkpBFZ5cFoXrpvjB2nxgt1iou6Ho1ZHzZdidVow7ZgeNiPkong6WKKxogJRyRMRDRETDp6JWgy+OZGNZnDc87FkgiIjGNhsbG/2uXbvSmt+/8847OX05/vHHHy96/PHHi9pvd3Fx0f3000/nBiPGZkx+qc8atXrc+8kxFFc3YOM9M+BuZ/jBf1GUBy4a5GE2oU3DpN/cfhZavTRqlefWPO0t0ajTo7SmES62/evVJiKi0emTQ+dR26jDnbODjR0KERH1AUsTUp/9c/NpHMooxQtXj8d4X8chvZaTjTlcbc2RXFAFP2erEbP+XPNSACx6RUQ0tjRq9Xh/bybmhLoiytve2OEQERlVeHh4Y1pa2mljx9Fb7PmlHun0EmlFVUjIKsf+cyXYdCIPd88NxhUTfYbl+iHutiiuLsXSWK8RM8TY08EKgGGt35gRkpATEdHQ23QiD0VVDfjPtXHGDoWIiPqIyS916+VtqVi7Kx01TYugO1qbYeU0fzy8OGLYYgh1t8OB9FJcGmv8Ks/NvJt6fnemqrEw0n3EJOVERDR0pJRYtzsd4R52mBvqauxwiIioj5j8Upcyimvw6q9pmBXiiisn+mCivxMCXayHPdG7Nt4XNhYqxPiMnOFl7vaWuHG6Pz46cB4utub404Vhxg6JiIiG2J6zxUguqMJ/rhnPh55ERKMQk1/q0pvbz8JMqcCL18W1FLUyhvG+jkM+t7g/nrosBvUaPV7elgZzlQL3zQ8xdkhERDSE1u7OgJudBS6bMHJGIhERUe+x4BV1Kru0Ft8k5GLFVH+jJr4jmUIh8MLV43FZnDf+vTUF63an9+n40ppGbDmZP0TRERHRYEouqMSuVDVunRkIC5XS2OEQEZmMyy67LCgwMDAmNDQ0+tprrw1saGgYsqE1TH6pU2/vPAeFELh7Hpdx6I5SIfC/6+KwJMYTz2w5g4/2Z/b62Od+OIM/fHoMpTWNQxcgERENinW7M2BlpsQN0/yNHQoRkUm54YYbStPT0xNTUlJO19fXi5dffnnIiiow+aUOCirqsfFIDq6J94VXU1Vj6ppKqcAryyfiwkh3/N93p/H5oawejymqqsd3x/MAAIWVXC6JiGgkK6qsx3fHc3FdvC8crc2NHQ4R0YiRkpJiHhoaGt38/oknnvB46KGH+jQ35Prrr69QKBRQKBSIj4+vycnJMQeAjIwMs2nTpoUFBwdHm5mZTRJCTF65cuWAnkByzi918PbOc9BLiXvnjTN2KKOGuUqBN26YhFUfHsWj35yCuUqBqyb5drn/h/vOo1GnBwAUVTUg0mu4IiUior56f18mtHqJ22cHGTsUIqJuFb6eEN5+m1WMa6n9fD+1vkGnUK89Gdq+3Xqie7HdLJ8SXWWjqvjD020SAI/7J6YMZbytNTQ0iA0bNrj873//ywaARx991HvBggWVzz//fMHPP/9ss3r16oBPP/20516mbrDnl9ooqqrHZ4eycOVEH/g5Wxs7nFHFQqXEOzdNxoxgF/xl4wlsPpHX6X61jVp8fPA8orwM1auL2PNLRDRi1TZq8cnBLFwc5YkAFxtjh0NEZLJuueUW/+nTp1cvXry4GgASEhJsbr311lIAWLRoUU15eblSrVYPqOgCe36pRXF1A17elgaNTo/7FrBycX9Ymimx7pZ43Lr+MP604TjMlAosjvFss89XR3NQXqvBaysm4qZ3D6GoqsFI0RIRUU82HslBRZ0Gd81lDQwiGvm666lVWCj13bUr7c21/enplVK2vNZoNB2KVWm1WsTExEQBwOLFi8tffvnlDj1Ef/7zn72Ki4tVP/3007nmbSqVSup0upbzSSmFSqWS7Y/tCya/Y1B1gxYpBVVILaxq83dJU+Glqyf5IsiVT7f7y9pchfW3TcFN7x7EA58dw9s3TsbCSA8AgE4v8e6eDMT5OWJ2iCvsLFRQM/klIhqRmr9nT/J3xOQAJ2OHQ0Q0IuXl5Znn5eWpPDw8tHv37rWbOHFiTet2lUqF5OTkpK6O/9///uf622+/OezevTtFqfy9Y3f27NlV69evd37xxRfzN23aZOfi4qJxcnLSDyRWJr+D5PFvT6Feo8f/XRoFByszY4cDwPAUJqWwCsn5VUhpSnBTCqqQW17Xso+1uRKhHnZYGOmOcE97hHnYYnqwixGjNg22Fiq8f9tU3LjuIO79+BjW3RKPuWFu2HamEJkltXj94nAIIeBmb4GiKg57JiIaiX4+XYCs0lo8uiTC2KEQEY1Yjo6O2uXLlwep1WqzuXPnVm7cuNFl1apVJdHR0b3q4Xn44YcDvLy8GuLj4yMB4NJLLy3773//m//ss8/mr1y5MjAsLCzK2tpa//7772cMNFbRupt6pIiPj5dHjhwxdhgd/LzmNZTl57bZ5h4QDO/FK3Dxy7twUdE2uIg6hLjbws7S8FzBOzQCc1beCgDY9OKzqKuubHO8f0wcZly9AgDw1XP/gLax7T0SPGkqpiy7CgCw4Z9/6xBT+PQ5mHDxJdA01OPr559s01Zc1YjNdT5ItouArazH5SXbYG2uhJW5EtbmKlibKzFlyaWInDUXlcVq/PjGix3OH3/plRg3eRpK83Lwy9rXO7RPv3I5AsZPQFFmOrZ/sKZD++zlt8AnPBK5KWew5/MPOrQvuGUV3AODcf7kcRz45vMO7RfddT+cvX1x7uhBHPn+mw7tS/7wZ9i7uiF53y6c+OWHDu3LHnwU1vYOSNyxDad3buvQftXfnoSZhSWO/7QFKQd2d2i//h/PAwAOb/4a6ccOtWlTmVvg6kf/CQDY/9VnyEo80abdytYec+/9C5avOQDX5G2Y51iLnLJaNGj1mODnCHsXV3xoMQtancQfrBJRdL7tOsFOXj5YtOoBAF3fewtuXQUA+OG1/6KqtLhNuzHvPQCInnchYuZfiNrKCmx+6bkO7XEXLUXETN57Q3XvXfbnxwAAuz99H3lpyW3a7ZxdsfSBvwAAtr+/hvdeO7z3eO8BwIYn/4bEvEpodXrE+TlCCN57vPf4fc/U772RRghxVEoZ390+J06cyIyLiyvubp+hlJKSYn7ppZeGpqWlnTZWDO2dOHHCNS4uLrCzNvb8DoL1ezJgaabAjHEuSE3PQVJeJXydrODtODjLBGWX1mLjkWwUZZVDSglrc1VTAquEZ52my+Mq6hpha6HCzw/OhYe5DltfPdxhHzFkS0gTADham+OTO6fhicd3IrmgEnoJBLhYt/y7u9tZ4nh2OcAVpYiIRpTKeg2qG7QIcrXhz0oiIhPBnt8BKq5uwMznf8O1k33xrytjUVmvwWNfn8L3J/Nx+QRvvLJ8Yr/P/UtSIT7cn4k9Zw0Pc+aGusHV1gIphZVIK6xGg1aPSC97/Lh6TqfHz3r+N4z3dcBbN07udww0OIqq6rH8nQMoqWnE3r9dAFsLw3OnZ75PwscHz+PMU4sh+NsVEdGIcdO7B3Emvwp7HlkAS7MBFRclIuqX0dDzOxKx53cIfXowC41aPW6bZVj7z97SDK+tmAhXWwt8sD8Tj18SBTc7iz6fd82uc3j2h2T4OFrhTwvDcE28L3xa9STr9BKv/pqGV35NQ2FlPTzsLdscn1NWi9zyOtw5h2sSjgTudpb47v5ZqKzXtiS+AOBub4F6jR5VDVrYW46MueJERGPdqZwK7E4rxiOLI5j4EhGZEK7zOwANWh0+3H8e88PdEOJu27JdCIHrp/hBSmDbmcI+n3ftrnQ8+0MyLh3vhZ1/nY/VF4a2SXwBQKkQWBRtqCC8J63jw57DmaUAgKlBzn2+Pg0NO0uzDl9HdzvDQ4uiSlZ8JiIaKd7ccRZ2lircON3f2KEQEdEgYvI7AJtP5KO4ugF3zO7YuxrhaYcAF2tsTSzo0znX7krHv344g0vHe+Hl6ydApez6SxTpaQ9XW3PsTlN3aDuUUQo7SxUiPO37dH0aXu5NowJY8ZmIaGQ4W1SNracLcPOMANhxRA4RkUlh8ttPUkqs35OBMA9bzA5x7dAuhMDF0Z7Yd64YlfVdF6Vqbd1uQ+J7SS8SXwBQKARmhbhiz9li6PVt524fzCjFlEBnKBWcRzqSudsbkl+u9UtENDK8s/MczJWKlulMRERkOpj89tOB9FIk5Vfi9llBXRYqujjaExqdxPbkoh7Pt253Op7ZcgaXxHrhlV4kvs3mhLqhuLoRyQVVLdvUVQ1IV9dwyPMo4NY07JnJLxGR8eWV1+GbhFwsn+IHV9u+1+sgIqK+u+666wLCw8OjwsLCohYvXhxcUVExZDkqk99+aNTq8fbOc3C2MccVE3263G+inyPc7Sx6HPrcnPgujfXEy8t7n/gCaOl1bj30mfN9Rw97SxUsVAoUMfklIjK6tbsNa7/eNTfYyJEQEY0db7/9dnZKSkpSampqkq+vb+MLL7zgPlTXYvLbBw1aHT7an4n5/9mOnalq3DE7qNsqkAqFYejzjhQ16hp1ne7z7p4MPLPlDJbEeOKV5RNh1ofEFwA8HSwR5mHbshwSYJjva2WmRIy3Q5/ORcNPCAF3ewsUVXLOLxGRMen1Et8m5GJJrBd8nayNHQ4R0aiQkpJiHhoaGt38/oknnvB46KGHvPtyDmdnZz0A6PV61NXVKZpH1WZkZJhNmzYtLDg4ONrMzGySEGLyypUrB1SJkEsd9UK9RofPD2Xh7Z3pKKisR3yAE164Znync33bWxzjiY8OnMeuNDUujvZs07Z+Twae/j4JS2I88eqKvie+zeaEuuGjA+dRr9HB0kyJgxmlmBTgCHMVn22MBu52luz5JSIysrPqapTVajAntOef7UREI9WaNWvC22+LjIwsnTNnjrqhoUHxwQcfhLZvj4uLK542bVpJVVWV6rPPPhvXum3VqlUpQxlvs2uuuSZw+/btDiEhIXVvv/12DgA8+uij3gsWLKh8/vnnC37++Web1atXB3z66adZA7kOs6NeyCmrwz+/T4K/izU+vXMaNt4zA3NC3bqc69va1CBnOFqb4afTbYc+v7c3A099n4TF0QNLfAFgdqgrGrV6HMooRUWtBskFlZga6NLv89HwcrezYPJLRGRkhzKapgwFcsoQEdFw+/LLLzMLCwtPhIaG1q9fv94JABISEmxuvfXWUgBYtGhRTXl5uVKtVg9o8XX2/PZCiLstfnlwLkLc7fp8rJlSgYURHvglqQAanR5mSgXe35uBf25OwsXRHnht5cASXwCYFuQMc6UCe84WQ6PTQ0pgWjB/eI8W7nYW2Hu241rNREQ0fA5nlsLNzgIBLhzyTESjV3c9tRYWFvru2u3s7LT96emV8vdVZzQaTYfeQa1Wi5iYmCgAWLx4cfnLL7+c19l5VCoVVqxYUfrf//7Xc/Xq1SUqlUrqdLqW80kphUqlkp0d21vs+e2l/iS+zRbHeKKyXosD6SX4YF8mntychEVRHnhtxaQBJ74AYG2uwuQAJ+xKVeNQRinMlQpM8HMc8HlpeLjbW6KyXot6TefzwomIaOgdzijF1EDnXo3qIiKi3+Xl5Znn5eWpdDod9u7da6fTtf2dVqVSITk5OSk5OTmpfeKr1+uRmJho0fz6u+++cwwNDa0HgNmzZ1etX7/eGQA2bdpk5+LionFyctIPJFb2/A6DOaGusDZX4slNp3FOXYOLojzw+spJgzond06YK/69NQV1Gh3i/By6LcRFI4ub7e9r/fo5s8eBiGi45ZTVIq+iHqsCnYwdChHRqOPo6Khdvnx5kFqtNps7d27lxo0bXVatWlUSHR3d47w+KSVuvvnmoOrqaoWUUkRGRta+//775wHg2WefzV+5cmVgWFhYlLW1tf7999/PGGisvUp+hRCLAbwCQAlgnZTy+Xbt8wF8B6A5oK+llE/15tixwNJMiQXh7thyKh8XRXngjUFOfAFgbqgb/r01BedLanHpeK9BPTcNLTd7Q/JbVFXP5JeIyAialwicwiUCiYj6zMbGRr9r16605vfvvPNOTm+PVSqVOHbsWHJnbS4uLrqffvrp3GDE2KzH5FcIoQTwBoCLAOQAOCyE2CSlTGq3624p5aX9PNbk/enCUIR52OHe+eOGpApzlJc9nG3MUVrTiKlBLHY1mrjbNSW/lSx6RURkDIcyymBnoUKEp72xQyEioiHUmyxsKoCzUsp0KWUjgM8BXN7L8w/kWJMS6mGH1ReGDtnyQwqFwKwQVygEMMnfcUiuQUPD3c4SAFjxmYjISA5nlmJyoBOUCs73JSLqi/Dw8Ma0tLTTxo6jt3qTifkAyG71PqdpW3szhBAnhBA/CiGaFzru7bE0CP58URjevGEy7CzNjB0K9YGLjTmUCoGiqnpjh0JENOaU1jTibFE1pnCJIyIik9ebOb+dPQZtX2L6GIAAKWW1EGIpgG8BhPbyWMNFhFgFYBUA+Pv79yIsai/Q1QaBrjbGDoP6SKEQcLU157BnIiIjaJ7vO5XzfYlodNLr9XqhUCgGtASQqdDr9QJAlxWhe9PzmwPAr9V7XwBtSlRLKSullNVNr38AYCaEcO3Nsa3OsUZKGS+ljHdzc+tFWESmw93OksOeiYiM4HBGKcxVCoz3dTB2KERE/ZGoVqsdmpK+MU2v1wu1Wu0AILGrfXrT83sYQKgQIghALoDlAFa23kEI4QmgUEophRBTYUiqSwCU93QsERmKXuVVcNgzEdFwO5xZigm+jrBQcYlAIhp9tFrtnQUFBesKCgpi0LuOTVOmB5Co1Wrv7GqHHpNfKaVWCHE/gJ9gWK5ovZTytBDinqb2twFcA+BeIYQWQB2A5VJKCaDTYwf6qYhMjbu9BU7kVBg7DCKiMaWmQYvEvErcMy/Y2KEQEfXL5MmTiwBcZuw4RoterfPbNJT5h3bb3m71+nUAr/f2WCJqy83OEiU1DdDq9FApx/pDOyKi4ZGQVQ6dXrLYFRHRGMHfsolGAHc7C0gJlNQ0GjsUIqIx41BmKRQCmBzgZOxQiIhoGDD5JRoB3O0sAIAVn4mIhtHhjFJEetlziUAiojGCyS/RCOBubwkAXOuXiGiY1DZqkZBdxiHPRERjCJNfohGgpeeXyx0REQ2LTcfzUK/RY2msl7FDISKiYcLkl2gEcLXlsGciooEoqqzH7jR1r/aVUuLD/ecR4WmHKYGc70tENFYw+SUaAcxVCjhZm3HY8yBKzK2AVqc3dhhENAx+Pl2Ai1/ehZvePYR/bUmCXi+73f9YVjmS8itx4/QACCGGKUoiIjI2Jr9EI4S7nSWHPQ+S1MIqXPraHnx9LNfYoRDREKrX6PB/3yZi1UdH4e1ohevifbF2dwb+tOE4GrS6Lo/7+MB52FqocOVEn2GMloiIjK1X6/wS0dBzt7dg8jtIfj1TBABIyC7DdVP8jBwNEQ2F5IJKPPBpAtKKqnHXnCD85eJwmCsVCHK1xQtbk1Fc3YC3b5oM+3aVnEuqG7DlZD5WTPWDjQV/DSIiGkvY80s0QrjZWUBdyWHPg2F7siH5PZVbYeRIiGiwSSnxwb5MXPb6XpTVavDh7VPx90uiYKFSQgiBe+ePw/+ui8OhjFJc9/Z+FLb7vvrFkRw06vS4cXqAkT4BEREZC5NfohHC3c4S6uoGSNn9XDXqXkWtBkezymBppkBKQVW3Qx+JaHQpqW7AHR8cwT82ncbsEFds/dMczA1z67DfVZN8sf7WKcgurcVVb+7D2aIqAIBOL/HJwfOYHuyMUA+74Q6fiIiMjMkv0QjhbmcBjU6irFZj7FBGtd1n1dDpJW6YFgCNTiK1oNrYIRnVG9vPYvqzv+KBzxLw6cEsZBbX8AELjUoH00uw+JXd2HO2GE8ui8K7t8S3VMrvzNwwN2y4ewYatHpc/dZ+HM4sxY6UIuSU1eHmGYHDFzgREY0YnOxCNEK42zev9VsPZxtzI0czem1PVsPR2gw3TQ/Au3sycDK3HLG+DsYOyyjqNTqs2ZUOByszHMooweYTeQAAXycrXDXJF9dO9oWfs7WRo6TRRkqJ697ZDxsLFZ6+PGbY7qFHvz4FKzMlPrx9KiK97Ht1TIyPA76+dyZuee8Qblx3EL5OVnC3s8BFUR5DHC0REY1E7PklGiF8HK0AADmldUaOZPTS6yV2phZhbqgbAlys4WBlhsQxPO/3+5P5qKjT4PmrY3Hg0YX49c/z8PQVMQhytcFrv6Vhzr+3Y8WaA/gmIQd1jRweTr1zMqcChzPLsDNVjYtf3oX1ezKg62FpoYEqr21EenENrp/i1+vEt5m/izW+uncmIr3scU5dgxVT/WGm5K8/RERjEXt+iUaIIFcbAEBGcY2RIxm9TuVWoLi6EQsi3CCEQKyPw5guevXxgfMY52aDGcEuEEJgnJstxrnZ4qbpAcgrr8PXx3LwxZEcPLjhBJ6wOI1lE7xxXbwf4nwduPYpdWnLqXyYKQW++8Ns/PunZDz1fRI2n8zDv68eP2TzaE/mGP4fx/k69ut4ZxtzfHbXdHx1LAdXcHkjIqIxi48+iUYIR2tzOFmbIaOEyW9/bU8pghDAvDB3AIYhj2O16FVibgWOZ5fjhmkBnSay3o5WuP+CUOz4y3x8vmo6Lor2wNfHcnDFG3ux6KVdWLsrHWouvUXtSCmx5WQ+5oS6IcrbHu/dOgUvXR+HzOIaLH11N17ZloZGrX7Qr3sypxwABjSFwcpciRunB8CWyxsREY1ZTH6JRpAgVxtkqJn89tf2FDUm+Dm2zJmO9XEYs0WvPj5wHpZmClw92bfb/RQKgenBLvjfdRNw+O8X4rmrYmFrqcK/fjiDGc/9ilUfHsEvSYXQ6AY/oaHR53h2OXLL63BJrBcAQAiBKyf64peH5mFxjBde2paKZa/twfHs8kG97omcCgS72sDByqznnYmIiLrAx59EI0iQqy32ni02dhijUnF1A07mlOPBC8NatsX6GHqJTuVWjKmiV5X1Gnx3PA+Xx/n0KVmwszTDiqn+WDHVH2eLqrDxSA6+OpaLn5MKYW+pwoIId1wU5YF5YW6ws2QSMhZ9fzIf5koFLopuWzDK1dYCr62YiMvjvPH4t4m46s29uG1WEP68KAzW5gP/VeNkTjlmBLsM+DxERDS2MfklGkGCXK3x1bF61DZqB+UXxrFkV6oaUgILwt1btvk5W8HBymzMzfv9+mgO6jQ63Dg9oN/nCHG3w6NLI/GXi8OxM0WNn04X4NfkInx3PA/mSgXmhbvhung/zA93Y/GgMUKvl/jhVD7mhrnBvouHHxdGeWBqsDNe+DEZ7+7JwM9JBXj+qvGYFeLa7+sWVNSjsLIB4/s535eIiKiZGInrPcbHx8sjR44YO4wOyr5Og0bdthKvubcNHJeNAwCUfp4MbUVjm3aLADs4LA4CAJR8lARdrbZNu2WII+wX+gMA1OsTITVthxZaRTrDbq5h2GLROyc7xGQ93hW2M7yhb9Sh+L3THdptJnvAJt4DuhoNSj4+06HddroXrOPcoC1vQOmGlA7tdnN8YBXlAo26FmVfn+3Qbn+BHyxDndCYV43yzekd2h0WB8IiwB4N5ytRsTWzQ7vjsmCYe9uiPq0Mlb9ld2h3uioEZm7WqEsqQdXu3A7tzteHQ+VogdoTalQfyO/Q7nJjJJQ2Zqg5Uoiao4Ud2l1vi4bCXInq/XmoPdmxx9X97vEAgKpdOag7U9qmTZgp4HZ7DACg8tcs1J8tb9OutFbB5aYoAEDF1gw0nK9q065yMIfz8ggAQPnmc2jMq0FpTQPSiqoR6+MABx87OF0VCoD3Xm/uvbNFVais02JSgCMA0XLvPfbaPlyo1iHGp23Pr+neexL78irwnpsC390/u9f3XmtmblZd3HsSVfVanBV6/L2yAsXVDXhGZYMIGwt42lvCXKUEMPbuvfZM9ftedYMGx/Iqobo+DFdM9Onx+17S50nITSxGvVYHN1sLBLhYw8LJss/3XlltI1ILqxDtbQ/nIEd+3xuD9x4wND9zW+v6+54Bf+aOjXtvpBFCHJVSxhs7DlPCriWiEcTSzJA81Gt0GDuDdAdOQqK8VtM017dtcadgN1vU5pZASjkmKhhX1mtR3aDFjdNDh+DsAnaWZpjmbYP9SydjZ4oajd+dQ0FFPcpqNIjzc0D7f38yHSXVjRACWBjp3vPOMCzf5uzrgNyyOuRV1KG8TgNfIeHcx+tWNxiSCI6GISKigWLPL9EIUtuoRdQTP+GvF4fjDwtCjB3OqCClxLt7MvDMljN4Y+UkXDLeq0379yfzcP+nCdh8/+wxMe/3j58lYGeqGgcfW9jyMGWofbg/E098dxo7/zofAS42w3JNGl56vcSM539FnK8j1tzc906IxNwKPPLVSZzOq8TiaE88dXk03O0te3XsTe8eREl1I35YPafP1yUiGs3Y8zv4OFGLaASxNlfB094S6az43Cv1Gh3++uVJPLPlDOaHu+HCqI49Uq2LXpk6KSX2nC3GhZEew5b4AmiZz7n3bMmwXZOG19GsMhRWNnR4uNRbMT4O+PYPs/DI4gj8llKEC/+3E18c6Tj0sT0pJU7mVDSNKiAiIhoYJr9EI0yQqw0yisfe0jx9lVNWi2vf3o8vj+bgjwtDsf6WKbBQdUz4/J2tYW+pGhPJ7zl1DUprGjE1yGlYrxvsagNPe0vsPcdK5aNVT6PAtpzMh4VKgYWRHt3u1x0zpQL3zh+HravnIMLLHg9/eRJHMku7PeZ8SS0q6jQsdkVERIOCyS/RCBPkZoPMklpjhzGi7T1bjMte34vM4hqsuzkeD10UBoWi87mmQgjE+DggcQwkv82JxJTAvs6qHBghBGaGuGD/uRLo9SNvKg11b1eqGpOe/qXLZdZqG7X44VQ+FoS7w9Zi4PNug91s8e4t8VAqBLanFHW774mccgDA+DEwZYGIiIYek1+iESbIxQalNY0or23seecxRkqJd3aew03vHoSLjTm+u38WLozquScq1scBKQVVaNTqe9x3NDuUWQoXG3MEuQ7/vNtZ41xRWtOI5IKqnnemEeWXpEKU1Wpw5wdHOvTEVtRpcOO6gyiubhjQ0lnt2VmaYaKfI/akdT9a4ER2BSxUCoR52A3atYmIaOxi8ks0wjQnLhnFnPfbWk2DFvd/moDnfkzG4hhPfPOHWQh2s+3VsTE+DmjU6ZFaaNqJ2ZHMMsQHOhmlqvXv83459Hm0ScguQ6yPA7wcLHHre4dxIrscAKCuasDyNQdwKrcCb94wCbND+79Wb2dmh7riZG4Fymq6ftB3MqccMT4OXEuaiIgGBX+aEI0wQW5MfttLV1fjijf24sfEfDy6JAJvrJzUp+GXzUMmT+aY7tDnwsp6ZJXWDvuQ52aeDpYIdrPhvN9Rpq5RhzP5VZgX5oZP7poGJxsz3Lz+EH5LLsT17+xHZnEN3r1lChbH9K/QVXfmhLpBSmDfuc4LpWl1eiTmVXDIMxERDRomv0QjjJ+TNRQCyGTyC8AwJPPy1/eiuLoBH94+DXfPG9fnns2xUPTqSGYZgOGf79varHGuOJRRavLDy03JqdwK6PQSE/0d4eVghU/vnA5rcyVuf/8I1NUN+PjOqZgb5jYk147zdYCdpQp7zqo7bU8rqka9Ro84FrsiIqJBwuSXaIQxVyng52yN9FGa/NY0aLH/XAnyyut6rCDbHb1e4n+/pOKuD48gwNUamx+Y3e9hl2Oh6NXhzFJYmSkR5W1vtBhmhbigtlHXUqSIRr6ELMNDkwl+jgAAP2drfHLnNFwy3gufr5qOyQFD9zBFpVRgRrALdqcVd/q94iSLXRER0SAbeNlGIhp0huWORlfyW1Grwfv7MvHevgyU12oAAPaWKoR72mGivxP+dGEorM179y2nolaDP21IwPYUNa6Z7ItnrogZ8Lq1sT4OWL83Aw1aXadLIo12hzNLMdHf0ahzI6cHu0AIw7zf4e6BllKiukELO0uzYb3uaHc8uxwBLtZwsbVo2RbsZos3Vk4aluvPCXXFz0mFOF9Si8B2hdqOZ1fAzlKFQJfhL+BGRESmiT2/RCNQoIsNMotrBtRzOlyKqxvwwtZkzHrhN7y0LRXxAU5Yc9NkPH15NJbFeUMvgTW70vHxgfO9PufqDQnYc7YYT18Rg/9cM37AiS8AxPo6QKOTSC0wvTWUq+o1OJNfadQhzwDgaG2OGG8H7Dvb+RzOofRjYgGm/Gsbiirrh/3ao1lCVjkmNvX6GsPsUMOQ6t1pHYc+n8wpx3hfhy6XMSMiIuor9vwSjUDBbjaoadRBXdUAd3tLY4fTqfyKOqzZlY7PDmWhQavH0lgv/GF+SKfDbq95ax8+O5SNu+YE9zhft6pegz1pxbhjThBuGsSlVWJ9DEMnT+VWINbEhlEeyyqHXhp3vm+zmSEuWL8nA7WN2l739A+G3Wlq1Gv0OJhRimVx3sN23dEsv6IOBZX1LUOejSHQxRq+TlbYnVaMm2YEtmw/nl2OpPxKrF4YarTYiIjI9LDnl2gEal7uaCTO+80qqcWjX5/C3H9vx4f7z+PS8d7Y9tA8vLFyUpfzTVdM9UdGcQ32p/fcI7j3bDG0eokLwt0HNW5TLnp1JLMUSoXABH9HY4eCWeNcodFJHMoo7XnnPsgurUW6uute+4SscgDA0fNlg3pdU9b8bzbR38loMQghMCfUFfvPlUCrMxRK0+j0+NtXJ+FhZ4k7ZgcZLTYiIjI9TH6JRqDmOW4jqeLz2aIqPLThOBa8uANfHc3B9VP8sOMv8/Hfa+Mwrof1di8Z7wUHKzN8ejCrx+tsT1bDzlKFSQGD+wu5EAKxvqZZ9OpwZimivOz7tPzTUJkS6AxzpaLL5Wv6I7mgEpe8uht3fnik0/bqBi1SmtZwNrXkd1eqGivXHkBxdcOgnzshqwzmKgUivYxXJA0AZoe4oapBixNNS5Gt2ZWO5IIqPHV5NOdwExHRoDL+b0pE1IG3oxXMVQqjFr3S6yUKq+pxrqgGnx46jx8TC2CpUuK2mYG4a24wPPowHNvSTImrJvng4wPnUVzdANdWxXVak1JiR2oR5oS6DknhphgfB6zfY1pFrxq1ehzPLsfKqYM3RHwgrMyVmBTgiN+Si3D5BG+Mc7Md0JztrJJa3PTuIVQ1aFFZr0VeeR28Ha3a7HMypxxSGoa2J+VXoqZBC5sR8CBgoE7mlOOej4+itlGHDYez8YcFIYN6/oSscsT6OMBcZdzn4DPHGQql7UkrhpO1GV75NQ1LYz2xKNrTqHEREZHpGf2/HRCZIKVCINBleJY7yi2vQ2phFbJKanG+pBbnS2pwvrQW2aW1aGhar9XOQoX7F4TgtllBcLYx79d1Vk71x3t7M/Hl0RzcM29cp/ucya9CYWUD5g/ykOdm430cW4pemcq838S8CtRr9JgSaLyhq+1dGOmBZ7acwSWv7oFCGEYyhHrYIsjVFoEu1ghwsUGQqw3c7Sy6LWZUWFmPG949AI1Oj5evn4DVnx/H/nMluHqyb5v9mofv3jE7CH/acBwncsoxc1z/lsUaKc6X1OD29w/DydocIe7m2HA4G/fOGzdoxZ8atXqcyq0Y1Hn1/eVkY45YHwfsSlNjf3oxLFQKPLks2thhERGRCWLySzRCBbnaIF09tMlvZnENFry4A81Fpa3MlAhwscY4NxtcEOEOf2drBLhYY4Kf44CHH4Z62GFKoBM+P5SFVXOCO/0lfntKEQBgfpjbgK7VFVMsenUk0zC3dvIISn7vmB2E+eFuSCmoRkphFVILqpBWVIXtyWo0Ns3rBABLMwUCnG0Q6GqNQBcbBLj8/trKTImb3z2EkupGfHrXdIz3ccCTm05jf3rnyW+wmw0WND00OZpZNqqT35LqBtyy/hC0eonPb5+KxNwK/GnDcRxIL8HMkMH5XMkFlWjQ6o0637e1OaGueGP7OQDAc1fFjthCf0RENLox+SUaoQJdbbA9WQ2dXkI5REt9nGgaLvraiomYFuwMN1uLHqsxD8TKaf54cMMJ7E8vwaxOfonfmaJGtLf9kP3i6+dsBQcrM5MqenU4swyBLtZwtxs5yYIQAiHudghxt8Ml8GrZrtNL5JXX4XxJLTJLapBZXIPMklqcU9d0SIyFAMwUCrx325SWasTTglywv91cYikljmeXYV6YOxyszRDmYYujWaN33m9toxa3f3AE+RX1+PSuaQhxt4WvkxUcNpnhs8PZg5b8/l7synFQzjdQs0Pc8Mb2c5ga5Izr4/2MHQ4REZmoXiW/QojFAF4BoASwTkr5fBf7TQFwAMD1Usovm7ZlAqgCoAOglVLGD0LcRCYv2NUGjTo98srr4OdsPSTXSCmogkohcHG057DM+1sS44V/bk7CpwezOiS/FXUaHM0qw71dDIkeDEIIxPo44FRu+ZBdYzjp9RJHMktxYaSHsUPpFaVCwM/ZGn7O1pgd2vbrr9NLFFTWNyXENcgqrcX8MHfMGOfSss/MEBdsPV2A7NLalv8TOWV1KK5ubEniJgc4YcvJfOj1ctStD6vV6XH/pwk4lVOOt2+cjMkBhqWrLM2UuHKiDz49mIWymkY49XPqQWsJWWXwsLeAl8PIeGgyJdAJf1wYiuvifUfd142IiEaPHpNfIYQSwBsALgKQA+CwEGKTlDKpk/1eAPBTJ6dZIKUsHoR4icaMIFdDBeV//5QCLwdLCBiSh6sn+/ZYXbm3UgqqMM7NdtgK3liaKXH1JF98sC8T6qoGuNn9XvhqT1oxdHqJ+eFDM+S5WYyPA97dk24SRa/Si6tRVqsZEev7DpRSIeDjaAUfR6tORwUAwIxgQyK871wxrnf2BwAca+rlbe4dnhzgjM8OZSOtqBrhnnZDH/ggkVLi8W8T8VtyEf51ZUyHYk/Lp/rh/X2Z+Dohd1CW/0nILsdEP6chHenRFyqlAg9dFGbsMIiIyMT15jfeqQDOSinTpZSNAD4HcHkn+z0A4CsARYMYH9GYFeFlBx9HK2xLKsSH+zPxwf5MvLMrHTesPYiiqvpBuUZKYRXChjlBWDHVH1q9xNPfJ0Gvly3bt6cUwcHKrCWJGSqxPg4tRa9Gu8OZhsQvfgTN9x1KIe62cLW1aDP0OSGrHJZmCkQ03cfxTUtkjbYlj175NQ2fH87GAxeE4IZpHYtQRXjaY4KfIzYczoKUspMz9F5pTSPOl9SOiHWhiYiIhlNvkl8fANmt3uc0bWshhPABcCWAtzs5XgL4WQhxVAixqr+BEo019pZm2Pu3C3Dm6cVIfnoJkp9egs33z0ZFnQZ3f3QU9RrdgM5f3aBFTlldS9IwXELcbfHXi8Ox6UQe/vXDGUgpoddL7ExVY06oK1RDsMRRa+ObCl2dNIGhz4czS+Fqa44gVxtjhzIshBCYMc4F+9NLWhLA49nlGO/r2HLfBLhYw8XGHEfOl/bp3PvOFuPyN/bi0a9PDXrcPfn8UBZe3paGayb7dtv7uXyKH1ILq3Gsab5ufx3PNjwYmDjED5qIiIhGmt7M+e1sTFT7x84vA3hESqnrZAjVLCllnhDCHcAvQohkKeWuDhcxJMarAMDf378XYRGNPVHe9njp+jjc8/Ex/P2bRPz32vH9HraYUlAFAAj3GP6hoffNHwd1VQPe3ZMBNzsLzA5xhbqqoaVa71DydTIUvUo0gaJXhzNLER/gPGKGrg6HGcEu2HwiD+nFNfB1skJSXiVumx3Y0i6EwOQAp173/J4tqsbzP57BtjNFUCkEkvIq8MjicDhaD3xebW9sSyrE379NxLwwNzx3VWy3X8tlcd54+vskfH4oC5Oberir6jVIyCpHUVUDqus1qKrXorppTeTqBi2q6jWorte22q5BdYMWSoUwmYrnREREvdWb5DcHQOvSi74A8trtEw/g86Yf2q4AlgohtFLKb6WUeQAgpSwSQnwDwzDqDsmvlHINgDUAEB8fP7AxXUQmbHGMFx68MAwvbUtFhKcd7pob3K/zpBY2Jb9GmBcphMATl0ahpKYRz/+YjElNwy/nDfF83+ZrG4peje7kt6CiHtmldbhlRqCxQxlWzQWw9p8rQZS3PRp1ekz0azvse3KAE35OKuwwr7y10ppGvLItFR8fzIKVmRKPLI7AlEAnXPP2fmxNLMDyqUP/EHbziTw8uOE4Yrzt8eYNk2DWw6gHGwsVlsV547vjeXCwMsPBjFKczquAvt1PTAuVAnaWKthZmsHWQgU7SxUCXa1ha2HWtF2FGB8HWJtzwQciIhpbevOT7zCAUCFEEIBcAMsBrGy9g5SypfqGEOJ9AN9LKb8VQtgAUEgpq5peLwLw1GAFTzRWPXBBCFIKK/Hcj2cQ4mHbrx7TlIIq2Jgr4eNoNQQR9kyhEHjx2jiU1zZid1oxxvs6wNW280RlsMX6OmDd7tFd9Kp5WK8pFLvqi0AXa3jaW2J/egkatIalkdov19M8B/ro+TIsjmlbOKpBq8MH+zLx2m9nUdOgxcpp/vjThWFwtbWAlBJBrjbYdCJvyJPfTw9m4e/fnsKUAGesuzUeNha9S0RvmBaADUey8eGB85jo54j7LwjFtCBn+DpZwdZCBVtL1ai9p4mIiIZajz9tpZRaIcT9MFRxVgJYL6U8LYS4p6m9s3m+zTwAfNPUI6wC8KmUcuvAwyYa2xQKgf9eG4fM4lr88dMEfPOHWQhx71sF6OSCSoR62Bl1WRFzlQJv3TgZD395Ahe3q247lJqLXqUUVGG8r+OwXXcwHcksg7W5EtHe9sYOZVgJITBznAt2pqoBAN4OlvBoty50tLcDzJUKHD1f2pL8Sinxw6kCPL/1DLJL67Ag3A2PLY1EaKth/0IILIvzxmu/paGosn7I1pt+a8c5vLA1GQvC3fDmDZNhZd77ZDXW1wG7H14AV1sLWJoxySUiIuqLXj1qllL+AOCHdts6TXqllLe2ep0OIG4A8RFRF6zNVVh7Szwuf30P7vrwCL69bxYcrM16dayUhsRvOBPOrthaqPDmDZOH9ZqxPoa5jqdyKzDe1xHVDVrkl9dBLw0FkwYjqaio1eDZH84gt7wO7vYW8LC3hHvT/ObQQZhnfSijFBP9HYe8QNhINH2cC75OyMWvZwqxMKLjGseWZkrE+jq0zPtNyCrDM1vO4Oj5MkR42uGjO6ZiTmjnQ+wvi/PCq7+m4fuT+bh9EJYUak1KiRe2puDtnedwWZw3Xrwursehzp3xdRqadb+JiIhMHSf8EI1iPo5WePvGyVix9gDu/+wY3rt1Sq+SIXV1A8pqNaNqHdTB5OtkBUdrM/x7awpe+DEZlfXaljYhDP+uwW62CHa1QbCbDYJdbRHkZgMve8te9ZQfPV+GP36WgMLKekR72yNdXQ11dQM0OglbCxW+u3/WgNZqrqzXILmgEg9cENrvc4xmzev91mv0HYY8N5sc4IT39mbggc8SsPlEHlxtLfD8VbG4Nt4Pym6+hiHudoj0ssemE3mDmvzq9BL/910iPj2YhRum+eOpy2O6jYOIiIgGH5NfolEuPtAZ/7oiFg9/dRL/+uEM/rEsusdjmte4NUal55FACIH75o/DoYxSeDlYwdvRCt6OhiGu6eoaZBTXIL24GkczS1HT+PuSUpZmCgS52jYlxG0TY3tLM+j1Eu/sSsd/f06Bt6Mlvrx3Zsu6xXq9REZJDa57ez9WfXgE3/5hFuwse9dT315CVjn0cuzN923m52wNP2crZJfWdZv8rtmVjp9PF+CBC0Jw97xxsO3lvNrL4rzxwtZkZJXUwt9l4L2sjVo9HvriOL4/mY/75o/DXy8OH1MVuomIiEYKJr9EJuC6KX5ILqjC+r0ZiPC0w/VTui/Wk1xQCcA4lZ5HilVzx2HV3HHd7iOlRFFVA86pq39PitXVOJ1bgR9P5bepsutqawF7KxXS1TW4JNYLz10dC/tWya1CITDOzRavr5yEG989iL9sPIG3bpjcrznXhzNKoVSILhO/sWDWOFd8XZGLaO/Ol+tZGOGOZ66IwQUR7vDuY1G3ZXFeeGFrMjafzMMfFoQMKM66Rh3u/eQodqSo8eiSCNw9r/t7joiIiIYOk18iE/HY0gikFVXh8W8TEexm222vYEpBFVxtLeAyTNWVRyshBDzsDQWVZo5zbdPWqNUjq7QG6eoapDclxbnldbhzdjBWTPXrsmdvxjgXPLokAs9sOYO3dp7rV3J1OLMU0d72va4QbIr+vCgcV0/27XJ+tkqpwI3TA/p1bl8na0wOcMKm4wNLfivrNbjj/cM4cr4Mz10VixXDsHwSERERdW3s/uZEZGJUSgVeXzEJV7y5F/d8dBSbHpjd5TJGqYVVCPfs/5xTMlSqDnG3Q4h733vP75gdhFO5FfjvzymI9rbH/D4sVdWo1eN4djlumNa/xM5UuNlZdLmG72C4LM4b/9h0GikFVf0aIVFc3YCb3z2EtKIqvL5iEi4Z7zUEURIREVFfjL0yoUQmzMHaDGtvjkejVo87PziC2kZth330eonUwmqEe4ytJXJGEiEEnrsqFuEedrjt/cO4/I29eHlbKo5nl0Pfeix1JxLzKtCg1WNK01q2NDSWxnpBIYDNJ/L6fGxueR2ue3s/0oursfbmeCa+REREIwSTXyITE+Jui1dXTkRKQSX+/MWJDslUdlkt6jQ69vwambW5Ch/dMQ1/WhgGhQBe+TUNV7yxF1P+tQ0PbTiO747noqymscNxhzNKARgKndHQcbOzwMxxrvj44HlsPJINXQ8PJZqdU1fj2rf2QV3dgI/vmNanXn0iIiIaWhz2TGSCFoS749ElkfjXD2fw6m9p+NOFYS1tyQVVAIBwT/b8GpubnQVWXxiK1ReGorSmEbtS1diRUoTtKUX4OiEXCgFM8HPEgnB3LIhwR5SXPQ5nliHI1WZIh/ySwRPLovDXjSfw1y9PYv3eTDy6JAJzwzpfHxgwLHG16sMjEAL4fNX0LotxERERkXEw+SUyUXfOCcKZgkq8vC0N4R52WBJrGHqZ0pT8hnmw53ckcbYxxxUTfXDFRB/o9BInc8qxPcWQDL/4Sype/CUVrrYWqG7QYNl4b2OHOyaEedjhm/tm4ftT+fjPT8m4ef0hzAl1xaNLIhHl3fbh0dfHcvC3r07By9ES7906BcEDWMeZiIiIhgaTXyITJYTAs1fGIqO4Bg99cQL+LtaI9nZASmEV/J2tYW3O//4jlWEZIydM9HfCQxeFQV3VYOgVTlXjaGYplsZyDulwUSgELovzxsXRHvho/3m89ttZXPLablw10Rd/uTgMHnaW+O/PKXhzxzlMD3bGWzdMhpONubHDJiIiok4IKXs3j2k4xcfHyyNHjhg7DCKTUFRZj8te3wulQuC7+2dh+ZoDCHK1wdqb440dGtGoU1GrwRs7zuL9vZkQAoj0ssfx7HKsmOqHpy6PgZmSpTSIiGhwCCGOSin5C9sg4k9pIhPnbm+JtTfHo7i6AXd/dBQZxTWI6MfSLURkqKj+2NJI/PrneVgS44mkvEo8cWkUnr0ylokvERHRCMdxj32wadMmlJSUtNnm6emJJUuWAAC++uorVFZWtmn38/PDhRdeCADYsGEDamtr27QHBwdj3rx5AICPP/4YGo2mTXtYWBhmzZoFAHjvvfc6xBQdHY2pU6eisbERn3zySYf2CRMmYOLEiaipqcEXX3zRoX3KlCmIiYlBRUUFvv766w7tM2fORHh4OIqLi7F58+YO7XPnzsW4ceOQn5+PrVu3dmhfuHAh/P39kZWVhV9//bVD++LFi+Hl5YVz585h165dHdqXLVsGV1dXpKSkYN++fR3ar7rqKjg4OCAxMRGHDx/u0H7dddfBxsYGCQkJOH78eIf2G264Aebm5jh06BBOnz7dof22224DAOzduxepqalt2szMzHDjjTcCAHbu3In09PQ27dbW1rj++usBANu2bUN2dnabdnt7e1x99dUAgB9//BEFBQVt2l1cXHDZZZcBGPi9l7R3K+7yLMfZ/GpcpAJkajZ2WhTw3uO9N+T3nil/33tknifG1x2HSCvA+2m/t/Pe473H73u893jvtTVa7j0yfXxMTTRGuNiYw9vRCgBga8HnXkSDQRg7ACIiIuo1zvklGkOklFBXNcDd3tLYoRARERFRNzjnd/Cx55doDBFCMPElIiIiojGJyS8RERERERGZPCa/REREREREZPKY/BIREREREZHJY/JLREREREREJo/JLxEREREREZk8Jr9ERERERERk8pj8EhERERERkclj8ktEREREREQmj8kvERERERERmTwmv0RERERERGTyhJTS2DF0IIRQAzhv7Dg64Qqg2NhBkFHxHhjb+PUfe/g1J94DYw+/5jRS7oEAKaWbsYMwJSMy+R2phBBHpJTxxo6DjIf3wNjGr//Yw6858R4Ye/g1J94DpovDnomIiIiIiMjkMfklIiIiIiIik8fkt2/WGDsAMjreA2Mbv/5jD7/mxHtg7OHXnHgPmCjO+SUiIiIiIiKTx55fIiIiIiIiMnkmm/wKIfyEENuFEGeEEKeFEKubtjsLIX4RQqQ1/e3UtN2laf9qIcTr7c51vRDiZNN5/t3NNScLIU4JIc4KIV4VQoim7S8JIY43/UkVQpQP4UenJiPsHvBvOndC03mWDuVnJ4MRdg8ECCF+bTrHDiGE71B+9rHKSF/zfwkhsoUQ1e22WwghNjTdCweFEIFD8JGpnRF2D8wVQhwTQmiFENcMxeelEfc1f0gIkdR0jl+FEAFD8ZmprX7cAxcJIY42/bw+KoS4oNW5Ov053sk1u/p5z//3I5mU0iT/APACMKnptR2AVABRAP4N4G9N2/8G4IWm1zYAZgO4B8Drrc7jAiALgFvT+w8ALOzimocAzAAgAPwIYEkn+zwAYL2x/33Gwp+RdA/AMHfk3qbXUQAyjf3vMxb+jLB7YCOAW5peXwDgI2P/+5jiHyN9zac3Xbe63fb7ALzd9Ho5gA3G/vcZC39G2D0QCGA8gA8BXGPsfxtT/TPCvuYLAFg3vb6X/+9H7D0wEYB30+sYALmtztXj7/Pd7cf/9yP7j8n2/Eop86WUx5peVwE4A8AHwOUwfDND099XNO1TI6XcA6C+3amCAaRKKdVN77cBuLr99YQQXgDspZT7peHO/7D53O2sAPBZ/z8Z9dYIuwckAPum1w4A8gb6+ahnI+weiALwa9Pr7U0x0CAb7q950zkOSCnzO2lqfc0vASzsqgeBBs9IugeklJlSypMA9AP6UNStEfY13y6lrG16ewAAR/kMg37cAwlSyubfxf6/nfsHkaOKAzj+/aHiFYpGw1kk4p/Gf40HEbVKoVikENQUJ4SkSGFrYRMUOaw0gpWNEEUQEcQ/GNFK00gIVjnFKJoEgp5CFJX4pxASfxbzlgyXvbvdzWX2Off9wGN3Z2fem5n3m9l5O2/eMWCm9NYZ6Xp+tfk87uvW28ZvW+lqNgd8DtwwOFmV19k1Fj8B3B4RN0fE5TSBfeOQ+bYAS63PS2Vaez1uAm4BDo2/FboYFcTAArArIpaAj2l6AKhDFcTAF5y/iHoEuDoirh9/SzSqjup8NVuAH0qZZ4EzNHeW1JEKYkAdq6zO99LcEVSHJoiBx4CjmfkPI1zPF6POp8r0vvEbEVcB7wJPZuYf4y6fmb9Tuq0AnwGngLPDihq2+LLP88A7mXlu3PXQ5CqJgceB1zNzK7ADeCMien/81aKSGHgK2B4RR4HtwI8r5KF10GGdr7oaw7Ied100mUpiQB2qqc4jYhewDXhxkuU1mXFjICLuAl4AnhhMGjLbsPO25/f/qV5ffEfEFTQHwJuZ+V6ZfLp0VRh0Wfh5rXwy88PMvDcz7we+BY5HxGVxfhCr52j+8Wl3bdnKhV1b57HLc6cqioG9wNslryPADLD54rdQa6klBjLzp8x8NDPngKfLtDPrtJlq6bjOV7NEuWtU7iJdA/w22VZpHBXFgDpSU51HxIM05/mHy91EdWDcGIhm4Mn3gd2ZebJMHvo7PuF1vyrU28Zvea7qVeCbzHyp9dVBYE95vwf4YIS8ZsvrJpoBTA5k5rnMvLukZ0tXij8j4r5S9u523hFxG7AJOLIOm6cRVBYD3wMPlDzuoGn8/nJBQVpXNcVARGxu3e3fB7y2DpuoZbqu8zWyaJe5EzhUng3TJVRZDKgDNdV5RMwBr9A0fNdsbGt9jBsDEXEt8BGwLzMPD2Ze6Xd83Ot+VSwrGHXrUiSaUfwS+BJYLGkHzfNWnwLHy+t1rWVO0fwr/xfNPzp3lulvAV+XNL9KmduAr4CTwMtAtL5bAJ6f9n7ZSKmmGKAZ7OgwzXOfi8BD094/GyFVFgM7S3nfAQeAK6e9f/qYplTn+8ty/5bXhTJ9hmaU7xM0o4LeOu39sxFSZTFwT/n8N/ArcGza+6ePqbI6/wQ43VqPg9PePxshjRsDwDPluFxspdny3YrX88vKXOn33uO+4jSoJEmSJEmSequ33Z4lSZIkSRqw8StJkiRJ6j0bv5IkSZKk3rPxK0mSJEnqPRu/kiRJkqTes/ErSZIkSeo9G7+SJEmSpN6z8StJkiRJ6r3/AL6a5409mQQeAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,ax = plt.subplots(figsize=(15,5))\n", "# Plot the ratio\n", "data_line = ax.plot(ratio['DATE'], ratio['VALUE'], label='Ratio')\n", "\n", "# # For drawing mean line\n", "mean_arr = np.array([mean for _ in ratio['VALUE']])\n", "stdev_2_pos_line = ax.plot(ratio['DATE'], mean_arr + 3 * stdev, label='μ + 3σ', linestyle='--')\n", "stdev_2_pos_line = ax.plot(ratio['DATE'], mean_arr + 2 * stdev, label='μ + 2σ', linestyle='--')\n", "stdev_1_pos_line = ax.plot(ratio['DATE'], mean_arr + stdev, label='μ + 1σ', linestyle='--')\n", "mean_line = ax.plot(ratio['DATE'], mean_arr, label='μ', linestyle='--')\n", "stdev_1_neg_line = ax.plot(ratio['DATE'], mean_arr - stdev, label='μ - 1σ', linestyle='--')\n", "stdev_2_neg_line = ax.plot(ratio['DATE'], mean_arr - 2 * stdev, label='μ - 2σ', linestyle='--')\n", "stdev_2_neg_line = ax.plot(ratio['DATE'], mean_arr - 3 * stdev, label='μ - 3σ', linestyle='--')\n", "\n", "# Make a legend\n", "legend = ax.legend(bbox_to_anchor=(1.1, 0.75), loc='upper right')\n", "\n", "fig.suptitle('Daily ratio', fontsize=20)\n", "plt.savefig('backtest_ratios.png')\n", "plt.show()\n", "plt.close(fig)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![backtest_ratios](../backtest_ratios.png)\n", "\n", "As you can see, it did touch `μ - 3σ` level triggering our stop loss order. It also entered into another long position immediately on next tick and we got our exit signal after 79 days and even before that it almost touched our stop loss level again.\n", "\n", "So important lessons learnt\n", "\n", "1. Losses do happen even with pair trading strategies, although extent of losses will be a bit lower as compared to naked long/short\n", "2. Wait times can be longer, in this case it was 79 days and patience is the key here\n", "3. As it can be seen clearly in the chart, the mean has definitely shifted over duration and pair stats need to be updated regularly\n", "3. Obviously we need a lot of improvement to this strategy, but I think this is a good start to get an understanding of basic concepts\n", "\n", "Hope this gives you a headstart to implement your own pair trading strategies\n", "\n", "\n", "### [Go back to index](../)\n", "\n", "### [Download notebook](../pair-trade-test.ipynb)" ] } ], "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.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }