G?#f<
delta 71
zcmZoMXfc=|#>B)qu~2NHo+2a1#(>?7j2x4BSn4OwXXV}8z}n8VvEc>NW_AvK4xqBl
Zf*jwOC-aLqaxee^BLf4=<_M8B%mB7~5u*SA
diff --git a/eirgrid_api.ipynb b/eirgrid_api.ipynb
new file mode 100644
index 0000000..77b2782
--- /dev/null
+++ b/eirgrid_api.ipynb
@@ -0,0 +1,3912 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ " Your browser does not support the audio element.\n",
+ " \n",
+ " "
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from elevenlabs import generate\n",
+ "from IPython.display import Audio\n",
+ "\n",
+ "# Replace 'output.mp3' with the path to your saved audio file\n",
+ "\n",
+ "answer='[Example]: Take advantage of the low emission period by running your dishwasher or washing machine during this time. This helps optimize energy usage while reducing your impact on the environment.'\n",
+ "generate_voice =generate(text=answer, voice=\"Callum\", model=\"eleven_multilingual_v1\", output_format = \"mp3_44100_128\", api_key='deee60bf408a983ffc09e2d1d90ef260')\n",
+ "\n",
+ "Audio(data=generate_voice)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/var/folders/n8/5rf_2zc91lx1ffhm5t27hrsw0000gn/T/ipykernel_4502/1536976505.py:3: DeprecationWarning: \n",
+ "Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),\n",
+ "(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)\n",
+ "but was not found to be installed on your system.\n",
+ "If this would cause problems for you,\n",
+ "please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466\n",
+ " \n",
+ " import pandas as pd\n"
+ ]
+ }
+ ],
+ "source": [
+ "import logging\n",
+ "import os\n",
+ "import pandas as pd\n",
+ "from telegram import Update, ReplyKeyboardMarkup\n",
+ "from telegram.ext import (\n",
+ " Application,\n",
+ " CommandHandler,\n",
+ " MessageHandler,\n",
+ " filters,\n",
+ " ContextTypes,\n",
+ " ConversationHandler,\n",
+ " CallbackContext,\n",
+ ")\n",
+ "from elevenlabs import generate\n",
+ "from subs.energy_api import *\n",
+ "from subs.openai_script import *\n",
+ "from subs.telegram_func import *\n",
+ "from dotenv import load_dotenv\n",
+ "\n",
+ "# add vars to azure\n",
+ "# Load environment variables from .env file\n",
+ "load_dotenv()\n",
+ "Telegram_energy_api = os.environ.get(\"Telegram_energy_api\")\n",
+ "CHANNEL_ID_FOR_FEEDBACK = os.environ.get(\"CHANNEL_ID_FOR_FEEDBACK\")\n",
+ "ELEVEN_API_KEY = os.environ.get(\"ELEVEN_API_KEY\")\n",
+ "\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "\n",
+ "# Proceed with your existing logic here...\n",
+ "df_carbon_forecast_indexed = carbon_api_forecast()\n",
+ "co2_stats_prior_day, df_carbon_intensity_recent = carbon_api_intensity()\n",
+ "# Check if either API call failed\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 2024-02-22 23:30:00 \n",
+ " CO2_INTENSITY_FORECAST \n",
+ " ALL \n",
+ " 139.8178 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " FieldName Region Value\n",
+ "EffectiveTime \n",
+ "2024-02-22 23:30:00 CO2_INTENSITY_FORECAST ALL 139.8178"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_carbon_forecast_indexed"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "df_ = status_classification(df_carbon_forecast_indexed, co2_stats_prior_day)\n",
+ "# data analysis & adding category per hours\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "len(df_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "summary_text, df_with_trend = find_optimized_relative_periods(df_)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " status_compared_to_yesterday \n",
+ " status_compared_to_EU \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 2024-02-22 23:30:00 \n",
+ " CO2_INTENSITY_FORECAST \n",
+ " ALL \n",
+ " 139.8178 \n",
+ " low \n",
+ " low \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " FieldName Region Value \\\n",
+ "EffectiveTime \n",
+ "2024-02-22 23:30:00 CO2_INTENSITY_FORECAST ALL 139.8178 \n",
+ "\n",
+ " status_compared_to_yesterday status_compared_to_EU \n",
+ "EffectiveTime \n",
+ "2024-02-22 23:30:00 low low "
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_with_trend"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "s\n"
+ ]
+ }
+ ],
+ "source": [
+ "if df_with_trend is not None:\n",
+ " print('s')\n",
+ "else:\n",
+ " print('b') \n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/Users/saeed/Documents/GitHub/telegram-energy-api/subs/openai_script.py:40: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.\n",
+ " for category, group in df.groupby([\"category\", \"group\"]):\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "today_date = df_with_trend.index[0].strftime(\"%d/%m/%Y\")\n",
+ "eu_summary_text = optimize_categorize_periods(df_with_trend)\n",
+ "quantile_summary_text, _ = find_optimized_relative_periods(\n",
+ " df_with_trend\n",
+ ") # Generate this based on your DataFrame\n",
+ "\n",
+ "prompt = create_combined_gpt_prompt(\n",
+ " today_date, eu_summary_text, quantile_summary_text\n",
+ ")\n",
+ "gpt_recom = opt_gpt_summarise(prompt)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\"📋 CO2 Emission Brief & Energy Efficiency Guide:\\n\\n- 🇪🇺 EU Standards Forecast: Low Emission at 23:30\\n- 🔍 Data Trend Schedule: Data trend analysis not available.\\n- 💡 Energy-Saving Actions:\\n - Low Emission Periods: During low emission periods, such as at 23:30, you can take advantage of running energy-intensive appliances like washing machines or dishwashers without worrying too much about their environmental impact. This is a good time to catch up on laundry or cleaning tasks.\\n - Medium Emission Periods: Since specific medium emission periods are not identified, it's advisable to practice general energy-saving habits regardless of the time of day. For example, you can reduce energy consumption by turning off lights when not in use, unplugging electronics, or adjusting your thermostat to conserve energy.\\n - High Emission Periods: When facing high emission periods, it's essential to be mindful of your energy consumption. Consider minimizing the use of energy-intensive appliances, opt for natural lighting during the day, and limit the use of air conditioning or heating systems by dressing appropriately for the weather.\""
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "gpt_recom"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "- 💡 Energy-Saving Actions:\n",
+ " - Low Emission Periods: During the low emission period from 22:30 to 23:30, you can use energy-intensive appliances like washing machines, dishwashers, and dryers. Consider doing laundry or running the dishwasher during this time to optimize energy usage.\n",
+ " \n",
+ " - Medium Emission Periods: For the medium emission period around 22:30, focus on reducing energy consumption by turning off lights in unoccupied rooms, unplugging electronics not in use, and adjusting thermostats to conserve energy.\n",
+ " \n",
+ " - High Emission Periods: During the high emission period at 23:30, it's advisable to avoid unnecessary energy consumption. You can save energy by switching to energy-efficient light bulbs, reducing standby power consumption by unplugging devices, and lowering the thermostat to minimize heating or cooling energy\n"
+ ]
+ }
+ ],
+ "source": [
+ "start_keyword = \"- 💡 Energy-Saving Actions:\"\n",
+ "end_keywords = [\"📋\", \"- 🇪🇺\", \"- 🔍\", \"- 💡\"] # Add possible start of next sections if format varies\n",
+ "end_keyword = next((kw for kw in end_keywords if kw in gpt_recom[gpt_recom.find(start_keyword):]), None)\n",
+ "\n",
+ "# Find start and end positions\n",
+ "start_pos = gpt_recom.find(start_keyword)\n",
+ "end_pos = gpt_recom.find(end_keyword, start_pos + 1) if end_keyword else len(gpt_recom)\n",
+ "\n",
+ "# Extract the section\n",
+ "energy_saving_actions = gpt_recom[start_pos:end_pos].strip()\n",
+ "\n",
+ "print(energy_saving_actions)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ " \n",
+ " \n",
+ " Your browser does not support the audio element.\n",
+ " \n",
+ " "
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "generate_voice =generate(text=gpt_recom, voice=\"Callum\", model=\"eleven_multilingual_v1\", output_format = \"mp3_44100_128\", api_key='deee60bf408a983ffc09e2d1d90ef260')\n",
+ "\n",
+ "Audio(data=generate_voice)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "348"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "start_pos"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "-1"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "end_pos"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "def round_time(dt):\n",
+ " # Round minutes to the nearest 15\n",
+ " new_minute = (dt.minute // 15) * 15\n",
+ " return dt.replace(minute=new_minute, second=0, microsecond=0)\n",
+ " \n",
+ "def format_date(dt):\n",
+ " return dt.strftime(\"%d-%b-%Y\").lower() + \"+\" + dt.strftime(\"%H%%3A%M\")\n",
+ "\n",
+ "\n",
+ "# Current date and time, rounded to the nearest 15 minutes\n",
+ "now = round_time(datetime.datetime.now())\n",
+ "\n",
+ "# Start time (same time yesterday, rounded to the nearest 15 minutes)\n",
+ "yesterday = now - datetime.timedelta(days=1)\n",
+ "startDateTime = format_date(yesterday)\n",
+ "\n",
+ "# End time (current time, rounded to the nearest 15 minutes)\n",
+ "endDateTime = format_date(now)\n",
+ "\n",
+ "area = [\n",
+ " \"CO2Stats\",\n",
+ " \"generationactual\",\n",
+ " \"co2emission\",\n",
+ " \"co2intensity\",\n",
+ " \"interconnection\",\n",
+ " \"SnspAll\",\n",
+ " \"frequency\",\n",
+ " \"demandactual\",\n",
+ " \"windactual\",\n",
+ " \"fuelMix\"\n",
+ "]\n",
+ "region = [\"ROI\", \"NI\", \"ALL\"]\n",
+ "Rows = []\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "del Rows,row"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "url = f\"http://smartgriddashboard.eirgrid.com/DashboardService.svc/data?area={area[9]}®ion={region[2]}&datefrom={now}&dateto={now}\"\n",
+ "response = requests.get(url)\n",
+ "Rs = json.loads(response.text)[\"Rows\"]\n",
+ "for row in Rs:\n",
+ " Rows.append(row)\n",
+ "\n",
+ "fuel_mix_eirgrid = pd.DataFrame(Rows)\n",
+ "\n",
+ "# # Convert 'EffectiveTime' to datetime and set as index\n",
+ "# df_carbon_intensity_day_before[\"EffectiveTime\"] = pd.to_datetime(\n",
+ "# df_carbon_intensity_day_before[\"EffectiveTime\"], format=\"%d-%b-%Y %H:%M:%S\"\n",
+ "# )\n",
+ "# df_carbon_intensity_indexed = df_carbon_intensity_day_before.set_index(\n",
+ "# \"EffectiveTime\"\n",
+ "# )\n",
+ "\n",
+ "# last_value_index_co_intensity = df_carbon_intensity_indexed[\n",
+ "# \"Value\"\n",
+ "# ].last_valid_index()\n",
+ "\n",
+ "# # Select rows up to the row before the last NaN\n",
+ "# df_carbon_intensity_recent = df_carbon_intensity_indexed.loc[\n",
+ "# :last_value_index_co_intensity\n",
+ "# ]\n",
+ "\n",
+ "# df_carbon_intensity_recent[\"Value\"] = df_carbon_intensity_recent[\n",
+ "# \"Value\"\n",
+ "# ].interpolate()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 25-Feb-2024 00:30:00 \n",
+ " FUEL_COAL \n",
+ " ALL \n",
+ " 3242.92 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 25-Feb-2024 00:30:00 \n",
+ " FUEL_GAS \n",
+ " ALL \n",
+ " 64155.66 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 25-Feb-2024 00:30:00 \n",
+ " FUEL_NET_IMPORT \n",
+ " ALL \n",
+ " 16240.82 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 25-Feb-2024 00:30:00 \n",
+ " FUEL_OTHER_FOSSIL \n",
+ " ALL \n",
+ " 5298.15 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 25-Feb-2024 00:30:00 \n",
+ " FUEL_RENEW \n",
+ " ALL \n",
+ " 25774.88 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value\n",
+ "0 25-Feb-2024 00:30:00 FUEL_COAL ALL 3242.92\n",
+ "1 25-Feb-2024 00:30:00 FUEL_GAS ALL 64155.66\n",
+ "2 25-Feb-2024 00:30:00 FUEL_NET_IMPORT ALL 16240.82\n",
+ "3 25-Feb-2024 00:30:00 FUEL_OTHER_FOSSIL ALL 5298.15\n",
+ "4 25-Feb-2024 00:30:00 FUEL_RENEW ALL 25774.88"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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+eefadCgAUFBQeYhTKtXr6Zjx45Ur16dJk2a8Nlnn5GcnPxY1/zdd9/Rpk0bqlatSqNGjfjggw8yDA3JKicnJ1555RUuXbrEvn37zPHf+7OIiIhg+PDhNGjQgKpVq/Lcc8+xevVq87X36dMHgD59+pjfm969ezNixAiGDBlCjRo1ePnllzMMr0pz6NAhnn/+eapUqUKHDh34/fffH/jeprn359C7d2/27dvHvn37zPtmdtyxY8fo378/wcHB1KxZkzfeeINz585lONfu3bvp168f1atXp0GDBuantA8zd+5c6tatS7FixczbFEXB1tYWACsrKyD1SbSmaUydOpUhQ4ZgbW2daXvW1ta0bt2auXPnPvS8WREXF8dzzz1Hhw4d0m0vXbo0gPn369SpUwBUqFDhqc/5MD///DPt27c3D3WcOXNmpu/v8uXLadKkCdWqVaNv376cPHnyoe1m9Tr/+usvatWqhaurq3mfhg0b4uDgwM6dOwHw8PDgpZdewsPDw7yPXq/Hz8+Pq1evpms/OjqasWPHMnLkSJycnB55/bt378ZoNNKyZUvzNmtra5o0aWIeqhQaGsrly5fT7QPQunVrrly5Yh6ql/a3mvZ7XqVKFX788cd0n2tWVlYoimL+HHvSto8cOUJMTEy64xRFoWXLluzdu5fExESSk5PZu3dvpm3fvXuXgwcPPvL9EUJITYcQWWY0GjN8ZXbj/zCXLl2ie/fu3LlzhylTpjBx4kRCQkJ48cUXuXPnTpbbadKkCYcPH6Z3796sWLEi3Q18ly5daNGihfn7999/n0mTJtGiRQu+/vprevbsyffff8+AAQMeO36TycS3337LxIkTeffddylTpgxLly5l1KhRVK5cmVmzZvHaa6+xZMkSPv744yxf89q1a5k6dSo9e/ZkwYIFDBw4kDVr1vDRRx89Vnz3SrtBedANwciRI7lw4QITJkzgm2++oVKlSowaNYo9e/ZQuXJl3n//fSD1/bt3eM369etxcHDg66+/5pVXXnng+d9//33atm3L7NmzKVeuHG+99RabN2/Ocvzjx4+nUqVKVKpUieXLl5uHkN1rz549vPjiiwB88sknfPzxx1y/fp3u3bubazDSjBgxglq1ajFnzhw6dOjA/Pnz+fnnnx94/rt377J161ZatWqVbnuNGjX49ddfiYmJYeXKlZQvXx5HR0d+++03jEYjzz333EOvq02bNhw/fpxLly5l9a3IlJOTE2PHjqVWrVrptqe9x2lD0E6dOoW9vT2ffvopwcHBVK1alVdffZWLFy9m6Tyapj3yb3/u3LmMGzeOevXqMWfOHHr27Mk333zDuHHj0rV148YNZs2axbBhw5g+fTrR0dH07t2ba9euPfV1XrhwgVKlSqXbR6/X4+3tbX6v27Vrx4gRI9LtEx0dzf79+ylXrly67R999BFlypShe/fuWXmbuHDhAg4ODri7u6fb7ufnx82bN7l79675d/L+IalpQ6/S4kwbCpn2O29vb09gYCBWVlYYjUYuX77MqFGj0DSNTp06mc//JG0/7DiTycTVq1cJCQkhJSXlkW0LIR5OajqEyIKwsLBMb/qGDx/+WON5Z82ahZ2dHYsWLTKPea9Xrx4tWrRg/vz56YqGH2bo0KHExsayYsUK85P8EiVK0LhxY1566SXzU9Dz58+bx1inxdmgQQOKFy/OO++8w86dO2ncuHGW4wd44403aNKkCZD6hPurr76iRYsW5iQDICEhgXXr1pGSkpKla963bx/e3t707NkTnU5HUFAQ9vb2REdHP1Zs90q7+bl161amr+/bt4+BAweaE7SgoCBcXFywtramSJEi5pu5smXLpquhsLKyYsKECean+Q8qGB88eDD9+/cH4JlnnuHy5cvMnj07XUL4MGXLljW/X2l1Kff77LPP8PPzY968eej1eiD16XbLli358ssvmTFjhnnfLl26MHDgQCD1/d+8eTPbt29/4E3lgQMHSElJoVq1aum2v/feewwePJg6derg7+/P559/TnJyMl988QXjxo0jJCSEDz74gFu3btG5c2deeumldMdXrVoVSH0yfv9N8tM6cuQI8+bNo2nTppQvXx6A06dPEx8fj5OTE1999RVhYWF89dVX9OzZk9WrV6d76p+Z/fv3Z/q3P336dNq3b09sbCyzZ8+mW7dujB07Fkj9Gbi4uDB27Fhefvll8w29yWTiq6++Mr+n1atXp0WLFubamKe5ztjYWBwcHDLs6+Dg8MAeQ1VVGTduHHFxcekS6E2bNrFlyxbWrl2b5dqb2NjYDHU8aeeH1B6btDju3+/efQBcXV3T9djc68MPPzTXEA0ZMsTcg/WkbWflOJ1Ol6W2hRAPJ0mHEFng7u7O119/nWF7iRIlHqudPXv2EBQU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gOHDhzN06FBcXV357bff2LZtG1OmTDEn50/Stp2dHf369eOrr77CysqKwMBAfvnlF06cOMHixYvNx7355pu8/PLLDB06lBdeeIHDhw+bY3rQEEQhxH1yfWUQIfKZrC7qdffuXW3s2LFanTp1tBo1amjDhg3TtmzZkmGhuOPHj2v9+/fXAgMDtRo1amhdu3bVNm/ebH49q4vL/f3339obb7yhNWjQQKtcubIWFBSkvfLKKxkWszMajdrs2bO15s2ba5UrV9aaNm2qTZ8+XUtMTEy3z9SpU7X69etr1apV0/r3768dPHgw3eJ4D4tr5cqVWvv27bXKlStrzZs312bPnq2lpKRk+Zo1TdMWL16stWvXTqtWrZoWFBSkDR06VAsNDX3g9act3nfvV9r1vfvuu9rly5fT7X9//Ddv3tRGjx6tNWzYUKtcubLWokUL7euvv9ZMJpOmaamLsr399tta1apVtfbt22ualvlicSEhIVr58uW1X375Jd15du7cqbVr106rXLmy1rFjR23Xrl3pjjty5IjWrVs3rUqVKlqTJk20hQsXauPGjUvX/u7du7UmTZpolStX1n799ddMFyzcs2eP1qNHD61atWpa7dq1tTfeeEM7e/Zshvfp/t+LrCx8N2jQIK1///6Zvnb69GmtevXq2rVr19JtP3nypPbss89qQUFB2meffaapqpru9fHjx2dYZO1J/Pzzzxl+/vd+pf08NC11Ib2OHTtq1atX1+rWrauNGzdOi4yMfOQ5HmdxwO+//978865fv742fPhwLSwszPz6qFGjtO7du2sLFy7UGjRooFWrVk17/fXXtStXrmTbdZ45c0br27evVq1aNa1evXrauHHjtNjYWPPrjRs3fmA7D/uMa9q06SMXB9S01MUAJ06cqNWrV0+rXr261qNHD+2ff/7JsN+yZcu0li1balWqVNHatm2rrVq1Kt3raX9D9/7O3rp1SxszZozWsGFDrUqVKtoLL7yQ4TPkSds2mUzaV199pTVu3FirWrWq1rFjR2379u0Z2t64caPWoUMHrXLlylqzZs20BQsWPPI9EUL8R9G0x5yoXwghRKFw7NgxunXrxsaNGx+rzuFB4uPjadSoEVOmTMny1MFCCCEKBqnpEEIIkamqVavSpk0bFixYkC3t/fjjj5QrVy7DbFFCCCEKPkk6hBBCPND777/Pjh07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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns\n",
+ "# # Data\n",
+ "# data = {\n",
+ "# \"EffectiveTime\": [\"25-Feb-2024 00:30:00\"]*5,\n",
+ "# \"FieldName\": [\"FUEL_COAL\", \"FUEL_GAS\", \"FUEL_NET_IMPORT\", \"FUEL_OTHER_FOSSIL\", \"FUEL_RENEW\"],\n",
+ "# \"Region\": [\"ALL\"]*5,\n",
+ "# \"Value\": [3242.92, 64155.66, 16240.82, 5298.15, 25774.88]\n",
+ "# }\n",
+ "\n",
+ "# # Creating DataFrame\n",
+ "# df = pd.DataFrame(data)\n",
+ "sns.set_style(\"darkgrid\", {\"axes.facecolor\": \".9\"})\n",
+ "\n",
+ "# Plotting Pie Chart\n",
+ "plt.figure(figsize=(10, 7))\n",
+ "plt.pie(fuel_mix_eirgrid['Value'], labels=fuel_mix_eirgrid['FieldName'], autopct='%1.1f%%', startangle=140)\n",
+ "plt.title('Fuel Sources Distribution (%) - 25-Feb-2024 00:30:00')\n",
+ "plt.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.\n",
+ "\n",
+ "plt.show()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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vVquXDn11q1bqqqq6rRp09R69eqp0dHR5m2io6NVHx8f9ZNPPkl17m+//VZt1KhRun82t2/frpYtW1a9cuWK+bYrV66o3t7e5vfjzp071bJly6qnT59OsW///v3VV1999anHT2/93bt3V0eNGvXMep+39tu3b6sVKlRQ169fb94mPj5ebdKkiTphwoR0nefzzz83P6c//vhjivtGjhypvvnmm89V98mTJ9WyZcuq+/btM98WEhKiVqtWTV2yZImqqqoaGxur1qpVS501a5Z5G0VR1K5du6p9+/Z9rvMJoRXpQiCAtC/1ptUd4PLlywwaNIgaNWpQo0YN3nvvPW7evPnc5ytWrBiVKlVKswvDr7/+yquvvpritke7EJhMJjp37oyPjw+hoaHmbcaNG0e1atXSvFSWbNmyZdStWzdVy4udnR2NGzd+Yj2tWrXCwuL/Fyxq1qyJtbU1J0+eNN925coV7t69S9OmTalRowYHDx403xcZGYmfnx8NGjRIceyAgAD69+9P1apVadCgAV988UWqlph27dqxevXqVJd+06tXr14UKlSIH374wXzb46/3jh07aN++PVWqVKFu3bqMGjWK4OBgIOlS/dGjRzl69Ki520NyF4gffvjB/Hj//vvvVF0IABITE5k+fTq1a9emVq1ajB07NsXrllZXgEe7WBw5csTcqtunTx/zto/vFx8fz+LFi2ndujWVK1emZcuWLF++HEVRUpxrwoQJLF++nCZNmlC5cmW6d+/OmTNnnvocXr58mX379vHaa6+Zb9PpdCmuHlhaWprPtXv3bkJDQ+nSpcsTj/naa69x5coV9u3b99RzPy4qKoru3bunep6TWxuTfx4PHjxI48aNsbKyMm/TunVrFEUxvzdLlSpFv379UlxFsLOzo3DhwgQGBqY4/s2bN/niiy+YNm1aums9ePAgJUuWpHTp0ubbSpcujZeXl/lytYODA926daNy5cqpHs/jNTwuPfWrqoqfnx/ly5dPd93prf3QoUMYjUZeeeUV8zZWVlY0adIkxeX45K5cjzt58iTffvstkydPTrOGS5cuPbPux4998OBB7Ozs8PX1Nd/m6upK7dq1zTWdPn2ahw8fpqhbp9PxyiuvcOTIEeLi4p56TiGyAwmweYTRaEz1pT7ngJhr167RvXt3QkJC+Pzzz5kxYwY3b97kzTffJCQk5Llr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JZw9e5apU6eat7937x47d+5kxYoVLFy4kF27drFt2zYALl26xNixYxkyZAg///wz7du3Z+DAgdy4cQNfX18uXbpEZGQkkBRAdTodJ0+eNH9fpEgRPD09mTFjBteuXWPVqlXs2LGDWrVqMWHChBRBef369UyYMIH169dz7do1Pvvss1SPTVVVhg4dSv78+dm6dSufffYZ27dv56uvvjIf49ixY6xatYrNmzcTHR3Np59+mllPtRBCCPFCJMCKPO/jjz+mevXqVK9encqVK/P666/j5eXF7NmzCQwMZPfu3cyePRtvb2+qVKnCtGnT2Lp1qzl4Jrdaent707BhQxo2bMjZs2cBWLlyJV27dqVdu3Z4enrSp08fGjVqxPfff0/p0qVxc3Pj+PHjQFJgbdSokTnA/vPPPzRs2BCA2rVrM3XqVMqXL0+JEiXo168f4eHhhISEmB/H0KFDady4MZUqVWLixIls376dqKioFI/18OHD3L59m2nTplGqVCl8fHwYO3Ysa9euBSAoKAhra2vc3d3x8vJi5syZvPPOO5n7AgghhBDPSfrAijzv/fffp2XLlkRHR7Nw4UJu3brFyJEjcXFx4dSpUyiKQqNGjVLsoygKN27cMH/v6elp/r+DgwNGoxEAf39/fvvtNzZs2GC+PzExEV9fXwAaNGjA0aNHqVy5Mg8ePGDUqFHMnz8fgEOHDvHhhx8C8Prrr7N79242btxIQEAA58+fBzBf+geoXLmy+f8VKlTAaDQSGBiYom5/f3/Cw8OpWbNmiscSFxdHWFgY3bp145dffsHX15c6derQokWLFN0chBBCiOxAAqzI8/Lnz28OoPPnz6dz5868++67bNiwAZPJhKOjIz/++GOq/QoVKsTp06eB//eZTaaqKpAUMAcOHMjrr7+e4n4bGxsAfH19WbFiBVWrVqVatWrUqlULf39//P39uX79Oj4+PgCMGTOGf//9lw4dOvDmm2/i5uZGt27dUhzTYDCkOr+lpWWKbYxGI6VKlWLJkiWpHo+joyMuLi7s3buXffv2sW/fPubOncuOHTtYv349Op3u6U+kEEIIkUWkC4EQj7CysmL69OlcvHiRNWvWULJkSSIjI9HpdHh6euLp6UlcXByzZs1K0f/0SUqWLElQUJB5X09PTzZs2MBff/0FQL169bh8+TL79++nVq1aODs7U6pUKRYv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9ttvz/ifR0REJOxUYCXykskkRx99NA8//DCVlZUb/fzy5csBeOKJJzj66KO59tpr+elPf0ppaSmLFi2iaR/k7bffTnl5Occffzx33303F1xwAa+++mpG/ywiIiJRoAIrApx77rl06NCB4447jpdffpnFixczffp0rrrqKu68805GjhzZvEo7a9Ys5syZw2WXXcY333xDfX09APPnz+faa6/lyy+/ZM6cOUyePFkjBCIiIi1Ax2iJNKqvr+fhhx/mueeeY+HChWRnZzN06FCOP/549ttvP1asWMHll1/O1KlTKSwsZOzYsWRlZbF48WLuv/9+ysvLueaaa3j33XdJpVLsvffeXHXVVRQXF9v+o4mIiISKCqyIiIiIBIpGCEREREQkUFRgRURERCRQVGBFREREJFBUYEVEREQkUFRgJVDKy8s56qijaGho4Oyzz6Z///4bPN544w0A1qxZs9HP7bbbbpv9fT///HOOPfZYhg8fzs9+9jM+/fTT5p/75ptvOOGEExgxYgRXXXUV3973OG7cOG644YYNfq+KigqOPPJI6urqvP3Di4iICKACKwFz6623cuKJJ5KVlcW8efO49dZbeeutt5ofe+65JwBz586lqKhog5978cUXN/l7lpeXc8opp9CvXz+efPJJDj74YE499VSWLl0KwL333ktxcTHjx4/n7bffZtKkSYA5duuRRx7hjDPO2OD3a9u2Lfvssw/33HNPCz4TIiIi0aUCK4FRVlbG66+/zmGHHUZ9fT1lZWUMGTKEDh06ND+ys7MBc6lA7969N/i5pithv2vChAkUFRXxhz/8gdLSUk455RRGjhzJY4891vx7jRkzhr59+zJs2DDmz58PwJNPPslee+1Fx44dN/o9jz/+eB555BGqq6tb6NkQERGJLhVYCYzHH3+c0aNHk52dzfz584nFYnTv3n2Tv3bu3Ln06tVri37fxYsXM2jQIBKJRPOP9e/fv3mMoEuXLsycOZO6ujrmzJlDly5dmi89+O7qa5MOHTrQq1cvnnvuua36M4qIiMgPU4GVwJgyZQp77LEHYFZFCwsLueSSSxg9ejTHHHMMkydPbv618+bNY9myZRxzzDGMGTOGCy+8kBUrVmzy923fvj3Lly/f4MeWLVtGRUUFAKeddhpvvvkmw4YNo127dhxwwAE8/fTTjBkzZpOrr0322GMPpkyZsr1/bBEREfkOFVgJhFQqxaxZsygtLQVMga2trWX06NHcd999jB07lrPPPpvPPvus+ecrKyu5/PLLuf3221mxYgVnnXUWjuNs9HsfcMABTJ8+nfHjx5NKpZgyZQqvv/46DQ0NAPTq1YtJkybx1ltv8dBDDwHw0EMPceaZZ/Kf//yHfffdlxNPPJGysrINft++ffsyc+bMFnxWREREoklXyUoglJeXs8cee/Dyyy/Tu3dvXNdl3bp1tGnTpvnXnHXWWXTo0IHrrruOmpoaYrEYubm5zf/70aNHM27cOEaMGLHR7//UU09x/fXXU1tby4477shuu+3G+++/z9NPP73Rrx0/fjyzZ8/mjDPO4JBDDuGFF17gxRdf5P333+ef//xn86+bMmUKv/nNb5g2bVoLPCMiIiLRpRVYCYRYLAaA67oAxOPxDcorQJ8+fZpHAfLy8prLK0C7du0oKiraaFSgydFHH81HH33E5MmTefrpp4nFYnTr1m2jX9fQ0MCDDz7IGWecwbRp0+jduzclJSXstddeTJ06dYNf67ou8bj+iYmIiHhNn10lEIqKikgkEs1zqZdddhmXX375Br/myy+/pE+fPlRWVrLLLrvw3nvvNf/c8uXLqaiooE+fPhv93u+99x4XXnghiUSCjh07kk6nmTJlyibPjZ0wYQJ77rknJSUlxOPx5kKdSqX47psZFRUVtG/ffrv/7CIiIrIhFVgJhHg8zoABA5g1axYAP/rRj3juueeYMGECCxcu5K677mLq1KmcdNJJFBYWMnLkSG666SamT5/OjBkzuPDCCxkzZgz9+/cHYNWqVVRVVQHQu3dv3njjDR599FEWL17MNddcw5o1azjiiCM2yJBKpXjooYeaTx7YcccdmTt3Lh999BFPPfUUw4YN2+DXz5o1i4EDB7bsEyMiIhJBKrASGGPGjOHjjz8GzMarq6++mn/84x8ceuihTJo0ifvuu6/5bf+bb76ZgQMHcuaZZ3LyySfTtWtXbrvttubf65hjjuGBBx4AoKSkhDvuuIN//etfHHbYYXz11Vc8+OCDFBQUbPD//8wzzzBq1ChKSkoA6Nq1KxdeeCHnnHMOH330Eb///e83+PUff/wxe+21V4s9HyIiIlGlTVwSGIsWLeKoo45iypQp5OXl2Y7zvcrKyjjqqKN44403NirCIiIisn20AiuB0aNHD8aOHRuIywHGjx/P8ccfr/IqIiLSAlRgJVAuvfRSxo0bR319ve0om1VRUcGbb77JWWedZTuKiIhIKGmEQEREREQCRSuwIiIiIhIoKrAiIiIiEigqsCIiIiISKCqwIiIiIhIoKrAiIiIiEigqsCIiIiISKCqwIiIiIhIoKrAiIiIiEigqsCIiIiISKCqwIiIiIhIoKrAiIiIiEigqsCIiIiISKCqwIiIiIhIoKrAiIiIiEigqsCIiIiISKCqwIiIiIhIoKrAiIiIiEigqsCIiIiISKCqwIiIiIhIoKrAiIiIiEigqsCIiIiISKCqwIiIiIhIoKrAiIiIiEigqsCIiIiISKCqwIiIiIhIoKrAiIiIiEij/DxxLVxeSPD0sAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "# Adjusting colors to be less vibrant (more pastel-like)\n",
+ "pastel_colors = {\n",
+ " \"FUEL_COAL\": \"#3B3434\", # Coal - less vibrant gray\n",
+ " \"FUEL_GAS\": \"#FF5733\", # Gas - less vibrant orange\n",
+ " \"FUEL_NET_IMPORT\": \"#8648BD\", # Net Import - less vibrant blue\n",
+ " \"FUEL_OTHER_FOSSIL\": \"#F08080\", # Other Fossil - less vibrant red\n",
+ " \"FUEL_RENEW\": \"#48BD5F\" # Renewables - less vibrant green\n",
+ "}\n",
+ "\n",
+ "# Mapping the pastel colors to the dataframe's FieldName\n",
+ "pastel_pie_colors = [pastel_colors[field] for field in fuel_mix_eirgrid['FieldName']]\n",
+ "\n",
+ "# Custom labels with descriptive names and percentages\n",
+ "descriptive_names = {\n",
+ " \"FUEL_COAL\": \"Coal\",\n",
+ " \"FUEL_GAS\": \"Gas\",\n",
+ " \"FUEL_NET_IMPORT\": \"Net Import\",\n",
+ " \"FUEL_OTHER_FOSSIL\": \"Other Fossil\",\n",
+ " \"FUEL_RENEW\": \"Renewables\"\n",
+ "}\n",
+ "total = sum(fuel_mix_eirgrid['Value'])\n",
+ "percentages = [(value / total) * 100 for value in fuel_mix_eirgrid['Value']]\n",
+ "custom_labels = [f'{descriptive_names[name]}\\n({percent:.1f}%)' for name, percent in zip(fuel_mix_eirgrid['FieldName'], percentages)]\n",
+ "\n",
+ "# Plotting Donut Chart with custom, less vibrant colors and descriptive labels\n",
+ "plt.figure(figsize=(7, 7))\n",
+ "plt.pie(fuel_mix_eirgrid['Value'], labels=custom_labels, startangle=140, colors=pastel_pie_colors, wedgeprops=dict(width=0.3))\n",
+ "plt.title(f'Fuel Mix (MWh) Distribution (%)- {now}')\n",
+ "plt.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.\n",
+ "plt.tight_layout()\n",
+ "plt.show()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "now = round_time(datetime.datetime.now())\n",
+ "\n",
+ "# Start time (same time yesterday, rounded to the nearest 15 minutes)\n",
+ "yesterday = now - datetime.timedelta(days=1)\n",
+ "startDateTime = format_date(yesterday)\n",
+ "\n",
+ "# End time (current time, rounded to the nearest 15 minutes)\n",
+ "endDateTime = format_date(now)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "\n",
+ "df_carbon_intensity_day_before = eirgrid_api('co2intensity','ALL',startDateTime,endDateTime)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 24-Feb-2024 01:15:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " 241.0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 24-Feb-2024 01:30:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " 240.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 24-Feb-2024 01:45:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " 231.0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 24-Feb-2024 02:00:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " 224.0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 24-Feb-2024 02:15:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " 216.0 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 92 \n",
+ " 25-Feb-2024 00:15:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " 193.0 \n",
+ " \n",
+ " \n",
+ " 93 \n",
+ " 25-Feb-2024 00:30:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " 194.0 \n",
+ " \n",
+ " \n",
+ " 94 \n",
+ " 25-Feb-2024 00:45:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " 197.0 \n",
+ " \n",
+ " \n",
+ " 95 \n",
+ " 25-Feb-2024 01:00:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ " 96 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " CO2_INTENSITY \n",
+ " ALL \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
97 rows × 4 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value\n",
+ "0 24-Feb-2024 01:15:00 CO2_INTENSITY ALL 241.0\n",
+ "1 24-Feb-2024 01:30:00 CO2_INTENSITY ALL 240.0\n",
+ "2 24-Feb-2024 01:45:00 CO2_INTENSITY ALL 231.0\n",
+ "3 24-Feb-2024 02:00:00 CO2_INTENSITY ALL 224.0\n",
+ "4 24-Feb-2024 02:15:00 CO2_INTENSITY ALL 216.0\n",
+ ".. ... ... ... ...\n",
+ "92 25-Feb-2024 00:15:00 CO2_INTENSITY ALL 193.0\n",
+ "93 25-Feb-2024 00:30:00 CO2_INTENSITY ALL 194.0\n",
+ "94 25-Feb-2024 00:45:00 CO2_INTENSITY ALL 197.0\n",
+ "95 25-Feb-2024 01:00:00 CO2_INTENSITY ALL NaN\n",
+ "96 25-Feb-2024 01:15:00 CO2_INTENSITY ALL NaN\n",
+ "\n",
+ "[97 rows x 4 columns]"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_carbon_intensity_day_before"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "fuel_mix_eirgrid = fuel_mix()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 3250.43 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 63221.75 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " 16092.92 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 5266.07 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 26711.57 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value\n",
+ "0 25-Feb-2024 02:00:00 Coal ALL 3250.43\n",
+ "1 25-Feb-2024 02:00:00 Gas ALL 63221.75\n",
+ "2 25-Feb-2024 02:00:00 Net Import ALL 16092.92\n",
+ "3 25-Feb-2024 02:00:00 Other Fossil ALL 5266.07\n",
+ "4 25-Feb-2024 02:00:00 Renewables ALL 26711.57"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 3250.43 \n",
+ " 2.837744 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 63221.75 \n",
+ " 55.194899 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " 16092.92 \n",
+ " 14.049708 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 5266.07 \n",
+ " 4.597472 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 25-Feb-2024 02:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 26711.57 \n",
+ " 23.320177 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value Percentage\n",
+ "0 25-Feb-2024 02:00:00 Coal ALL 3250.43 2.837744\n",
+ "1 25-Feb-2024 02:00:00 Gas ALL 63221.75 55.194899\n",
+ "2 25-Feb-2024 02:00:00 Net Import ALL 16092.92 14.049708\n",
+ "3 25-Feb-2024 02:00:00 Other Fossil ALL 5266.07 4.597472\n",
+ "4 25-Feb-2024 02:00:00 Renewables ALL 26711.57 23.320177"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Correcting the list comprehension to match the data structure\n",
+ "fuel_mix_details = \"\\n\".join([f\"- {fuel_mix_eirgrid['FieldName'][i]}: {fuel_mix_eirgrid['Value'][i]} MWh ({fuel_mix_eirgrid['Percentage'][i]:.1f}%)\" \n",
+ " for i in range(len(fuel_mix_eirgrid['FieldName']))])\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'- Coal: 3250.43 MWh (2.8%)\\n- Gas: 63221.75 MWh (55.2%)\\n- Net Import: 16092.92 MWh (14.0%)\\n- Other Fossil: 5266.07 MWh (4.6%)\\n- Renewables: 26711.57 MWh (23.3%)'"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_details"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def create_fuel_mix_prompt(date, fuel_mix_data):\n",
+ " # Preparing fuel mix data string\n",
+ " # Correcting the list comprehension to match the data structure\n",
+ " fuel_mix_details = \"\\n\".join([f\"- {fuel_mix_eirgrid['FieldName'][i]}: {fuel_mix_eirgrid['Value'][i]} MWh ({fuel_mix_eirgrid['Percentage'][i]:.1f}%)\" \n",
+ " for i in range(len(fuel_mix_eirgrid['FieldName']))])\n",
+ "\n",
+ " prompt_text = (\n",
+ " f\"📅 Date: {date}\\n\"\n",
+ " f\"🔋 Fuel Mix Data (MWh & Percentage):\\n\\n\"\n",
+ " f\"{fuel_mix_details}\\n\\n\"\n",
+ " \"Based on the above data, write a short report about the current status of the energy system. \"\n",
+ " \"Please summarize the contribution of each fuel source to the overall mix and any notable trends. \"\n",
+ " \"Use the following structure for your response, incorporating the specified emojis to highlight each fuel source:\\n\\n\"\n",
+ " \"📋 Fuel Mix Status:\\n\"\n",
+ " \"- 🪨 Coal: [percentage]%\\n\"\n",
+ " \"- 🌬️ Gas: [percentage]%\\n\"\n",
+ " \"- ⚡ Net Import: [percentage]%\\n\"\n",
+ " \"- 🛢️ Other Fossil: [percentage]%\\n\"\n",
+ " \"- 🌿 Renewables: [percentage]%\\n\\n\"\n",
+ " \"Note: Replace [percentage] with the actual percentages from the data. \"\n",
+ " \"Avoid using asterisks (*) in your response and stick to the names and format provided.\"\n",
+ " )\n",
+ "\n",
+ " return prompt_text\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "test= create_fuel_mix_prompt(now, fuel_mix_eirgrid)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'📅 Date: 2024-02-25 02:30:00\\n🔋 Fuel Mix Data (MWh & Percentage):\\n\\n- Coal: 3250.43 MWh (2.8%)\\n- Gas: 63221.75 MWh (55.2%)\\n- Net Import: 16092.92 MWh (14.0%)\\n- Other Fossil: 5266.07 MWh (4.6%)\\n- Renewables: 26711.57 MWh (23.3%)\\n\\nBased on the above data, write a short report about the current status of the energy system. Please summarize the contribution of each fuel source to the overall mix and any notable trends. Use the following structure for your response, incorporating the specified emojis to highlight each fuel source:\\n\\n📋 Fuel Mix Status:\\n- 🪨 Coal: [percentage]%\\n- 🌬️ Gas: [percentage]%\\n- ⚡ Net Import: [percentage]%\\n- 🛢️ Other Fossil: [percentage]%\\n- 🌿 Renewables: [percentage]%\\n\\nNote: Replace [percentage] with the actual percentages from the data. Avoid using asterisks (*) in your response and stick to the names and format provided.'"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "test"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "\"📊 Given the fuel mix summary at 2024-02-25 01:15:00, write a short report about the status of the system using Fuel Mix Data:\\n\\n{'FieldName': {0: 'Coal', 1: 'Gas', 2: 'Net Import', 3: 'Other Fossil', 4: 'Renewables'}, 'Value': {0: 3277.26, 1: 64117.25, 2: 16426.44, 3: 5340.13, 4: 26567.28}, 'Percentage': {0: 2.831855562456774, 1: 55.403230461401165, 2: 14.193962482489168, 3: 4.614365916876382, 4: 22.95658557677651}}\\n\\n👉 Please use the following format for your response and avoid using * in your response: \\n\\n 📋 Fuel Mix Status:\\n\\n\\n\""
+ ]
+ },
+ "execution_count": 48,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "test"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'📋 Fuel Mix Status:\\n- 🪨 Coal: 2.8%\\n- 🌬️ Gas: 55.2%\\n- ⚡ Net Import: 14.0%\\n- 🛢️ Other Fossil: 4.6%\\n- 🌿 Renewables: 23.3%\\n\\nThe current energy mix shows a significant reliance on gas, accounting for 55.2% of the total generation. Renewables make up a notable portion at 23.3%, showcasing a strong commitment to sustainable energy sources. Coal remains the smallest contributor at 2.8%, indicating a continued shift away from coal-fired generation. Net imports and other fossil fuels provide support to the grid, ensuring a diverse and balanced energy supply.'"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "opt_gpt_summarise(test)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "total = sum(fuel_mix_eirgrid['Value'])\n",
+ "percentages = [(value / total) * 100 for value in fuel_mix_eirgrid['Value']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "fuel_mix_eirgrid['Percentage'] = percentages"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 3277.26 \n",
+ " 2.831856 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 64117.25 \n",
+ " 55.403230 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " 16426.44 \n",
+ " 14.193962 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 5340.13 \n",
+ " 4.614366 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 26567.28 \n",
+ " 22.956586 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value Percentage\n",
+ "0 25-Feb-2024 01:15:00 Coal ALL 3277.26 2.831856\n",
+ "1 25-Feb-2024 01:15:00 Gas ALL 64117.25 55.403230\n",
+ "2 25-Feb-2024 01:15:00 Net Import ALL 16426.44 14.193962\n",
+ "3 25-Feb-2024 01:15:00 Other Fossil ALL 5340.13 4.614366\n",
+ "4 25-Feb-2024 01:15:00 Renewables ALL 26567.28 22.956586"
+ ]
+ },
+ "execution_count": 45,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "# Adjusting colors to be less vibrant (more pastel-like)\n",
+ "pastel_colors = {\n",
+ " \"FUEL_COAL\": \"#3B3434\", # Coal - less vibrant gray\n",
+ " \"FUEL_GAS\": \"#FF5733\", # Gas - less vibrant orange\n",
+ " \"FUEL_NET_IMPORT\": \"#8648BD\", # Net Import - less vibrant blue\n",
+ " \"FUEL_OTHER_FOSSIL\": \"#F08080\", # Other Fossil - less vibrant red\n",
+ " \"FUEL_RENEW\": \"#48BD5F\" # Renewables - less vibrant green\n",
+ "}\n",
+ "\n",
+ "# Mapping the pastel colors to the dataframe's FieldName\n",
+ "pastel_pie_colors = [pastel_colors[field] for field in fuel_mix_eirgrid['FieldName']]\n",
+ "\n",
+ "# Custom labels with descriptive names and percentages\n",
+ "descriptive_names = {\n",
+ " \"FUEL_COAL\": \"Coal\",\n",
+ " \"FUEL_GAS\": \"Gas\",\n",
+ " \"FUEL_NET_IMPORT\": \"Net Import\",\n",
+ " \"FUEL_OTHER_FOSSIL\": \"Other Fossil\",\n",
+ " \"FUEL_RENEW\": \"Renewables\"\n",
+ "}\n",
+ "total = sum(fuel_mix_eirgrid['Value'])\n",
+ "percentages = [(value / total) * 100 for value in fuel_mix_eirgrid['Value']]\n",
+ "custom_labels = [f'{descriptive_names[name]}\\n({percent:.1f}%)' for name, percent in zip(fuel_mix_eirgrid['FieldName'], percentages)]\n",
+ "\n",
+ "# Plotting Donut Chart with custom, less vibrant colors and descriptive labels\n",
+ "plt.figure(figsize=(7, 7))\n",
+ "plt.pie(fuel_mix_eirgrid['Value'], labels=custom_labels, startangle=140, colors=pastel_pie_colors, wedgeprops=dict(width=0.3))\n",
+ "plt.title(f'Fuel Mix (MWh) Distribution (%)- {now}')\n",
+ "plt.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.\n",
+ "plt.tight_layout()\n",
+ "plt.show()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Adjusting colors to be less vibrant (more pastel-like)\n",
+ "pastel_colors = {\n",
+ " \"Coal\": \"#3B3434\", # Coal - less vibrant gray\n",
+ " \"Gas\": \"#FF5733\", # Gas - less vibrant orange\n",
+ " \"Net Import\": \"#8648BD\", # Net Import - less vibrant blue\n",
+ " \"Other Fossil\": \"#F08080\", # Other Fossil - less vibrant red\n",
+ " \"Renewables\": \"#48BD5F\", # Renewables - less vibrant green\n",
+ "}\n",
+ "\n",
+ "# Mapping the pastel colors to the dataframe's FieldName\n",
+ "pastel_pie_colors = [\n",
+ " pastel_colors[field] for field in fuel_mix_eirgrid[\"FieldName\"]]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['#3B3434', '#FF5733', '#8648BD', '#F08080', '#48BD5F']"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pastel_pie_colors"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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R0esXr26RnmJaoIFto7k5uYiIyND56OmioqKEBsbixUrVmDkyJH47LPPEBMTg5kzZ2Lq1KkPlG/YsGH45ZdftN/oMjIysGXLlkrLYWUWLlwILy8vjBo1Cmq1GsCteYNbtmzB559/Dn9//yofW15ejkOHDqFly5ZVbjN48GDIZDKsW7dOe9tPP/2EJk2aVPq420V09+7d2tv27NmD9u3bo127drC2tsbevXt17nNyckKLFi109nPhwgU8/vjj6NmzJz755BO4ublh9OjROH36dIVjtmrVSmeftfX0008DALZs2VLlNlu3bsWwYcPg5uaGjz76CB9++CG6du2qLeJdunTB5MmTAQCvv/46li9fjuXLlyM8PFy7j8TERAwbNgw9e/bEwoULERUVdc9ckyZNQkJCAmbPno2RI0di5cqVGDRo0D1/OFamOtnuVFxcjK5du2L58uUYMWIE5s2bBxcXF4wePVpb2O/0008/Yd68eRg/fjzee+89JCUlYfDgwRXKwN2OHDmCsrKyCq+nNm3aYNOmTdiyZQvOnz+PTz75BG3btgVwqyx+9dVXWLBgwX2ft75eH3dKSUkBAHh6empvO3bsGACgdevWOtv6+/ujfv362vurUlBQgIKCAp193rZmzRrs3bsXH3/8cY2zHjt2DC1btqxQLNu2bYuioiKcO3funo+v7LnWxL2e17lz5+Dg4AAnJyf4+vrirbfeuu/rBaj6a92qVSvI5fL7fq2rMnPmTISHh+P69eu1evxtISEhcHFxgZOTE5566imkpqZW2GbkyJEV/u8dO3YMjRo10imlALSv+/j4eADAyZMnoVKpKjx/GxsbREVF1fr5E1WH1f03IX24e1QHQI1/8P/vf//DxYsXcezYMTRs2BAAMH78ePj7+2PevHmYNm0aAgICapVv+PDheP/997Fnzx506tQJq1evhlKpxCOPPIJNmzbd9/Gurq5YunQpevfujQ8//BDDhw/HK6+8gkGDBuGpp56652OTk5NRXFyM4ODgKrdxcnJC//798dNPP2HMmDHQaDT45Zdf8MILL1S6fYcOHaBQKLB7927tyN+ePXswfPhwKJVKREdHY/fu3XjkkUe097Vv3x4KhUJnP4mJidi1a5d2tGno0KEICAjAsmXLtCeN3RYSEoKMjAykpaXB29v7ns/5Xpo1awYAuHjxYpXbbNy4Ec7O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bsuXwk9Lfv7z6hWQlwf5W7jtyu/gWdlR1uxS0XD/0qWj+agbbmXKQ8XK0VX+FdbfV6wc/blSLlSuBpWqQGbmzmeQJO0wV2CVtj799FNatWrFsGHDOP300zc+Xr16ddasWQNExfTOO+/c7GtfeuklevbsycKFCwFo1qwZnTt35sYbb0xMeG2/gnzIz4/KbN669cU2HwrWfwy/KKU5mxZUi6ckpSRXYBU7n332GYWFhXTt2pW1a6OxUe+88w633347kydPZvny5eTn57NmzRpWrVpFuXLluOKKK7jkkksYPnw4xx9/PJ07d6ZZs2aBX4mAaBU1KxtyHNQvSXHh8oPSVv369cnIyGDKlCmbPL7PPvtQv359ypaNBr3PnDmTU045hWbNmjF06FDGjRvHgAEDAFi3LlrBu/DCC5k+fTrdunXjyy+/pGXLlvTv3z+xL0iSJAEWWKWxatWq0a5dOx588EFWrly51eeNGzeOwsJC7rnnHlq1akWDBg344YcfNnte3bp16dmzJ8OGDaN37948+uijJRlfkiRthQVWaW3gwIHk5+fTsmVLnn/+eSZNmsSUKVMYMmQIkydPJisri/r165OXl0f//v2ZPn06zzzzDA8//PAmf8+f/vQn3n77bWbMmMH48eN5//33adSoUaBXJUlSvHkRl9Le3Llz6du378aDDHJycmjcuDFnnnkmvXr1oly5ctx3333cddddLF26lDZt2tC1a1fOPfdclixZQm5uLpdffjlvvvkms2fPplKlSnTo0IH77ruPatWqhX55kiTFjgVWkiRJKcUtBJIkSUopFlhJkiSlFAusJEmSUooFVpIkSSnFAitJkqSUYoFVQi1atIiaNWsyc+bM0FF22MMPP0zHjh1Dx5AkKfYssEqo2267jVNPPZV69eoBkJGRsdntueee2/j8Dz74YIvPmTdv3nZ9v2+//ZaKFSuSm5u7yeMjRoygQYMGVKpUiW7dum08MhZg2bJlNGjQgFmzZm3yNRdccAHjx49n1KhRO/fiJUlSsbDAKmFWrVrF448/Tvfu3Td5/IknnmDu3Lkbb6eddtpmXztlypRNnlOzZs3f/H55eXl06dKFo446apPHCwsLOfvss+nZsyeffPIJY8eOZdCgQRs/f+2119KzZ0/22muvTb6udOnSnH322fTr128HXrUkSSpu2aEDKD7eeOMNcnJyaNWq1SaP5+bmUqtWrW1+bc2aNTdbRf0tf/vb39h///057rjjGD169MbHFy5cyMKFC+nVqxdlypShU6dOTJo0CYDRo0czZswYHnzwwS3+nR07dqRdu3asXr2asmXL7lAeSZJUPFyBVcKMGjWKFi1abPb4pZdeSvXq1Tn00EMZPHgwWzoc7qCDDqJ27dq0a9eOjz/++De/13vvvceLL77IgAEDNvtcjRo1qF27NsOHD2fVqlWMGjWKZs2akZeXxyWXXMIjjzxCVlbWFv/eli1bkp+fz6effrodr1iSJJUEC6wSZtasWey+++6bPHbLLbfwwgsvMGLECDp37kyvXr3o37//xs/Xrl2bhx9+mKFDhzJ06FDq1q1L27ZtGT9+/Fa/z6JFizj//PN58sknqVSp0mafz8jI4IUXXuDWW2+lSZMmNG/enAsuuIA77riDY445hjJlytC6dWsaNmy42UpsuXLlqFy58mb7YyVJUuK4hUAJs3r1asqUKbPJY3//+983/rl58+asXLmSu+66iyuuuAKAhg0b0rBhw43POeKII5g2bRr33XcfzzzzzBa/T48ePTj77LNp06bNVrMceeSRjBkzZuPH33zzDU8//TQTJkygTZs2XHnllZx44okccMABtGnThmbNmm18btmyZVm1atWOvXhJklRsXIFVwlSvXp0lS5Zs8zmHHXYYs2fPZu3atVt9zqGHHsq333671c+/99573H333WRnZ5OdnU337t1ZtmwZ2dnZDB48eItfc/HFF3PPPfdQWFjIhAkTOPPMM6lZsyZHH300H3744SbPXbx4MTVq1Njm65AkSSXHFVglTPPmzRkyZMg2n/P5559TpUoVcnJytvmc2rVrb/Xzn3zyCQUFBRs/fuWVV7jzzjsZPXo0derU2ez5jz/+OFWrVqVTp04bC3ZeXt7G+1/+XdOmTWPNmjU0b958m69DkiSVHAusEqZ9+/Zcd911LFmyhCpVqvDqq68yf/58WrVqRZkyZRgxYgR9+/bl6quv3vg1999/P3vvvTdNmjRhzZo1PPbYY7z33nsMHz5843MefPBBXn75Zd59910AGjVqtMn3HTt2LJmZmRxwwAGbZVqwYAF9+vTZeGFYlSpVaNSoEffffz8nnHAC7777Ltdff/3G548aNYp99tmHfffdt1j/t5EkSdvPAquEadq0KQcffDAvvPACF198MaVKlWLAgAFcddVVFBUVUb9+fe6991569Oix8WvWrVtH7969mTNnDuXKlaNZs2a88847HHPMMRufs3DhQqZNm7ZTma688kp69+69ycVlTz75JOeddx79+vXjmmuu4ZBDDtn4uWeffXaTfJIkKfEyirY0s0gqIa+//jrXXHMNX331FZmZqbUFe+LEiRx77LF88803VK5cOXQcSZJiyxVYJdTJJ5/M1KlTmTNnDnXr1g0dZ4fMnTuXp59+2vIqSVJgrsBKkiQppaTWe7iSJEmKPQusJEmSUooFVpIkSSnFAitJkqSUYoGVJElSSrHASpIkKaVYYCVJkpRSLLCSJElKKRZYSZIkpRQLrCRJklKKBVaSJEkpxQIrSZKklGKBlSRJUkqxwEqSJCmlWGAlSZKUUiywkiRJSikWWEmSJKUUC6wkSZJSigVWkiRJKcUCK0mSpJRigZUkSVJKscBKkiQppVhgJUmSlFIssJIkSUopFlhJkiSlFAusJEmSUooFVpIkSSnFAitJkqSUYoGVJElSSrHASpIkKaVYYCVJkpRSLLCSJElKKRZYSZIkpZT/B5H26UY+KSOWAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# Adjusting colors to be less vibrant (more pastel-like)\n",
+ "pastel_colors = {\n",
+ " \"Coal\": \"#3B3434\", # Coal - less vibrant gray\n",
+ " \"Gas\": \"#FF5733\", # Gas - less vibrant orange\n",
+ " \"Net Import\": \"#8648BD\", # Net Import - less vibrant blue\n",
+ " \"Other Fossil\": \"#F08080\", # Other Fossil - less vibrant red\n",
+ " \"Renewables\": \"#48BD5F\" # Renewables - less vibrant green\n",
+ "}\n",
+ "\n",
+ "# Mapping the pastel colors to the dataframe's FieldName\n",
+ "pastel_pie_colors = [pastel_colors[field] for field in fuel_mix_eirgrid['FieldName']]\n",
+ "custom_labels = [f'{row[\"FieldName\"]}\\n({row[\"Percentage\"]:.1f}%)' for index, row in fuel_mix_eirgrid.iterrows()]\n",
+ "plt.figure(figsize=(7, 7))\n",
+ "plt.pie(fuel_mix_eirgrid['Value'], labels=custom_labels, startangle=140, colors=pastel_pie_colors, wedgeprops=dict(width=0.3))\n",
+ "plt.title(f'Fuel Mix (MWh) Distribution (%)- {now}')\n",
+ "plt.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.\n",
+ "plt.tight_layout()\n",
+ "plt.show()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['0 Coal\\n1 Gas\\n2 Net Import\\n3 Other Fossil\\n4 Renewables\\nName: FieldName, dtype: object\\n(2.8%)',\n",
+ " '0 Coal\\n1 Gas\\n2 Net Import\\n3 Other Fossil\\n4 Renewables\\nName: FieldName, dtype: object\\n(55.4%)',\n",
+ " '0 Coal\\n1 Gas\\n2 Net Import\\n3 Other Fossil\\n4 Renewables\\nName: FieldName, dtype: object\\n(14.2%)',\n",
+ " '0 Coal\\n1 Gas\\n2 Net Import\\n3 Other Fossil\\n4 Renewables\\nName: FieldName, dtype: object\\n(4.6%)',\n",
+ " '0 Coal\\n1 Gas\\n2 Net Import\\n3 Other Fossil\\n4 Renewables\\nName: FieldName, dtype: object\\n(23.0%)']"
+ ]
+ },
+ "execution_count": 60,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "[f'{fuel_mix_eirgrid['FieldName']}\\n({percent:.1f}%)' for name, percent in zip(fuel_mix_eirgrid['FieldName'], percentages)]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Coal 2.831855562456774\n",
+ "Gas 55.403230461401165\n",
+ "Net Import 14.193962482489168\n",
+ "Other Fossil 4.614365916876382\n",
+ "Renewables 22.95658557677651\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "[None, None, None, None, None]"
+ ]
+ },
+ "execution_count": 56,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "[print(name,percent) for name, percent in zip(fuel_mix_eirgrid['FieldName'], percentages)]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 3277.26 \n",
+ " 2.831856 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 64117.25 \n",
+ " 55.403230 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " 16426.44 \n",
+ " 14.193962 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 5340.13 \n",
+ " 4.614366 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 25-Feb-2024 01:15:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 26567.28 \n",
+ " 22.956586 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value Percentage\n",
+ "0 25-Feb-2024 01:15:00 Coal ALL 3277.26 2.831856\n",
+ "1 25-Feb-2024 01:15:00 Gas ALL 64117.25 55.403230\n",
+ "2 25-Feb-2024 01:15:00 Net Import ALL 16426.44 14.193962\n",
+ "3 25-Feb-2024 01:15:00 Other Fossil ALL 5340.13 4.614366\n",
+ "4 25-Feb-2024 01:15:00 Renewables ALL 26567.28 22.956586"
+ ]
+ },
+ "execution_count": 59,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'FUEL_COAL': 'Coal',\n",
+ " 'FUEL_GAS': 'Gas',\n",
+ " 'FUEL_NET_IMPORT': 'Net Import',\n",
+ " 'FUEL_OTHER_FOSSIL': 'Other Fossil',\n",
+ " 'FUEL_RENEW': 'Renewables'}"
+ ]
+ },
+ "execution_count": 58,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "descriptive_names"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "custom_labels = [f'{row[\"FieldName\"]}\\n({row[\"Percentage\"]:.1f}%)' for index, row in fuel_mix_eirgrid.iterrows()]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 63,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['Coal\\n(2.8%)',\n",
+ " 'Gas\\n(55.4%)',\n",
+ " 'Net Import\\n(14.2%)',\n",
+ " 'Other Fossil\\n(4.6%)',\n",
+ " 'Renewables\\n(23.0%)']"
+ ]
+ },
+ "execution_count": 63,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "custom_labels"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "fuel_mix_eirgrid = fuel_mix()\n",
+ "descriptive_names = {\n",
+ " \"FUEL_COAL\": \"Coal\",\n",
+ " \"FUEL_GAS\": \"Gas\",\n",
+ " \"FUEL_NET_IMPORT\": \"Net Import\",\n",
+ " \"FUEL_OTHER_FOSSIL\": \"Other Fossil\",\n",
+ " \"FUEL_RENEW\": \"Renewables\",\n",
+ "}\n",
+ "\n",
+ "fuel_mix_eirgrid[\"FieldName\"] = fuel_mix_eirgrid[\"FieldName\"].map(descriptive_names)\n",
+ "\n",
+ "total = sum(fuel_mix_eirgrid[\"Value\"])\n",
+ "percentages = [(value / total) * 100 for value in fuel_mix_eirgrid[\"Value\"]]\n",
+ "fuel_mix_eirgrid[\"Percentage\"] = percentages\n",
+ "\n",
+ "now = round_time(datetime.datetime.now())\n",
+ "\n",
+ "promopt_for_fuel_mix = create_fuel_mix_prompt(\n",
+ " now, fuel_mix_eirgrid[[\"FieldName\", \"Value\", \"Percentage\"]].to_dict()\n",
+ ")\n",
+ "\n",
+ "\n",
+ "fuel_mix_response_from_gpt = opt_gpt_summarise(promopt_for_fuel_mix)\n",
+ "\n",
+ "# audio_msg = generate_voice(fuel_mix_response_from_gpt)\n",
+ "\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "# Adjusting colors to be less vibrant (more pastel-like)\n",
+ "pastel_colors = {\n",
+ " \"Coal\": \"#3B3434\", # Coal - less vibrant gray\n",
+ " \"Gas\": \"#FF5733\", # Gas - less vibrant orange\n",
+ " \"Net Import\": \"#8648BD\", # Net Import - less vibrant blue\n",
+ " \"Other Fossil\": \"#F08080\", # Other Fossil - less vibrant red\n",
+ " \"Renewables\": \"#48BD5F\", # Renewables - less vibrant green\n",
+ "}\n",
+ "\n",
+ "# Mapping the pastel colors to the dataframe's FieldName\n",
+ "pastel_pie_colors = [\n",
+ " pastel_colors[field] for field in fuel_mix_eirgrid[\"FieldName\"]\n",
+ "]\n",
+ "custom_labels = [\n",
+ " f'{row[\"FieldName\"]}\\n({row[\"Percentage\"]:.1f}%)'\n",
+ " for index, row in fuel_mix_eirgrid.iterrows()\n",
+ "]\n",
+ "plt.figure(figsize=(7, 7))\n",
+ "plt.pie(\n",
+ " fuel_mix_eirgrid[\"Value\"],\n",
+ " labels=custom_labels,\n",
+ " startangle=140,\n",
+ " colors=pastel_pie_colors,\n",
+ " wedgeprops=dict(width=0.3),\n",
+ ")\n",
+ "plt.title(f\"Fuel Mix (MWh) Distribution (%)- {now}\")\n",
+ "plt.axis(\"equal\") # Equal aspect ratio ensures that pie is drawn as a circle.\n",
+ "plt.tight_layout()\n",
+ "# plt.show()\n",
+ "# Save the plot to a BytesIO buffer\n",
+ "buf = BytesIO()\n",
+ "plt.savefig(buf, format=\"png\")\n",
+ "buf.seek(0)\n",
+ "plt.close() # Make sure to close the plot to free up memory\n",
+ "caption_text = \"test\"\n",
+ "# Send the photo\n",
+ "chat_id = update.effective_chat.id\n",
+ "await context.bot.send_photo(chat_id=chat_id, photo=buf, caption=caption_text)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/var/folders/n8/5rf_2zc91lx1ffhm5t27hrsw0000gn/T/ipykernel_2529/1850023881.py:2: DeprecationWarning: \n",
+ "Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),\n",
+ "(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)\n",
+ "but was not found to be installed on your system.\n",
+ "If this would cause problems for you,\n",
+ "please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466\n",
+ " \n",
+ " import pandas as pd\n"
+ ]
+ }
+ ],
+ "source": [
+ "import requests, json\n",
+ "import pandas as pd\n",
+ "import datetime\n",
+ "import matplotlib.pyplot as plt\n",
+ "import matplotlib.colors as mcolors\n",
+ "import seaborn as sns\n",
+ "import matplotlib.dates as mdates\n",
+ "import numpy as np\n",
+ "from io import BytesIO\n",
+ "\n",
+ "\n",
+ "def eirgrid_api(area, region, start_time, end_time):\n",
+ " # area = [\n",
+ " # \"CO2Stats\",\n",
+ " # \"generationactual\",\n",
+ " # \"co2emission\",\n",
+ " # \"co2intensity\",\n",
+ " # \"interconnection\",\n",
+ " # \"SnspAll\",\n",
+ " # \"frequency\",\n",
+ " # \"demandactual\",\n",
+ " # \"windactual\",\n",
+ " # \"fuelMix\"\n",
+ " # ]\n",
+ " # region = [\"ROI\", \"NI\", \"ALL\"]\n",
+ " Rows = []\n",
+ " url = f\"http://smartgriddashboard.eirgrid.com/DashboardService.svc/data?area={area}®ion={region}&datefrom={start_time}&dateto={end_time}\"\n",
+ " response = requests.get(url)\n",
+ " Rs = json.loads(response.text)[\"Rows\"]\n",
+ " for row in Rs:\n",
+ " Rows.append(row)\n",
+ "\n",
+ " return pd.DataFrame(Rows)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Function to round time to the nearest 15 minutes\n",
+ "def round_time(dt):\n",
+ " # Round minutes to the nearest 15\n",
+ " new_minute = (dt.minute // 15) * 15\n",
+ " return dt.replace(minute=new_minute, second=0, microsecond=0)\n",
+ "\n",
+ "\n",
+ "# Function to format date in a specific format\n",
+ "def format_date(dt):\n",
+ " return dt.strftime(\"%d-%b-%Y\").lower() + \"+\" + dt.strftime(\"%H%%3A%M\")\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Current date and time, rounded to the nearest 15 minutes\n",
+ "now = round_time(datetime.datetime.now())\n",
+ "\n",
+ "# Start time (same time yesterday, rounded to the nearest 15 minutes)\n",
+ "yesterday = now - datetime.timedelta(days=1)\n",
+ "startDateTime = format_date(yesterday)\n",
+ "\n",
+ "# End time (current time, rounded to the nearest 15 minutes)\n",
+ "endDateTime = format_date(now)\n",
+ "\n",
+ "# call API to get fuel mix for current time\n",
+ "fuel_mix_eirgrid = eirgrid_api(\"fuelMix\", \"ALL\", startDateTime, startDateTime)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " FUEL_COAL \n",
+ " ALL \n",
+ " 8084.08 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " FUEL_GAS \n",
+ " ALL \n",
+ " 51245.19 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " FUEL_NET_IMPORT \n",
+ " ALL \n",
+ " 11567.20 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " FUEL_OTHER_FOSSIL \n",
+ " ALL \n",
+ " 4934.83 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " FUEL_RENEW \n",
+ " ALL \n",
+ " 46444.11 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value\n",
+ "0 26-Feb-2024 23:00:00 FUEL_COAL ALL 8084.08\n",
+ "1 26-Feb-2024 23:00:00 FUEL_GAS ALL 51245.19\n",
+ "2 26-Feb-2024 23:00:00 FUEL_NET_IMPORT ALL 11567.20\n",
+ "3 26-Feb-2024 23:00:00 FUEL_OTHER_FOSSIL ALL 4934.83\n",
+ "4 26-Feb-2024 23:00:00 FUEL_RENEW ALL 46444.11"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "fuel_mix_eirgrid.loc[fuel_mix_eirgrid['FieldName'] == 'FUEL_NET_IMPORT', 'Value'] = -500\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " FieldName \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " Coal \n",
+ " 8084.08 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " Gas \n",
+ " 51245.19 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " Net Import \n",
+ " -500.00 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " Other Fossil \n",
+ " 4934.83 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " Renewables \n",
+ " 46444.11 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " FieldName Value\n",
+ "0 Coal 8084.08\n",
+ "1 Gas 51245.19\n",
+ "2 Net Import -500.00\n",
+ "3 Other Fossil 4934.83\n",
+ "4 Renewables 46444.11"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid.loc[:,['FieldName','Value']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "descriptive_names = {\n",
+ " \"FUEL_COAL\": \"Coal\",\n",
+ " \"FUEL_GAS\": \"Gas\",\n",
+ " \"FUEL_NET_IMPORT\": \"Net Import\",\n",
+ " \"FUEL_OTHER_FOSSIL\": \"Other Fossil\",\n",
+ " \"FUEL_RENEW\": \"Renewables\",\n",
+ "}\n",
+ "\n",
+ "fuel_mix_eirgrid[\"FieldName\"] = fuel_mix_eirgrid[\"FieldName\"].map(\n",
+ " descriptive_names\n",
+ ")\n",
+ "\n",
+ "fuel_mix_eirgrid['ValueForPercentage'] = fuel_mix_eirgrid['Value'].apply(lambda x: max(x, 0))\n",
+ "total_for_percentage = sum(fuel_mix_eirgrid['ValueForPercentage'])\n",
+ "percentages = [(value / total_for_percentage) * 100 if value > 0 else 0 for value in fuel_mix_eirgrid['ValueForPercentage']]\n",
+ "fuel_mix_eirgrid[\"Percentage\"] = percentages\n",
+ "\n",
+ "if fuel_mix_eirgrid.loc[fuel_mix_eirgrid['FieldName'] == 'Net Import', 'Value'].values[0] <0:\n",
+ " net_import='export'\n",
+ "else:\n",
+ " net_import = 'importing'\n",
+ " \n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[0 False\n",
+ " 1 False\n",
+ " 2 False\n",
+ " 3 False\n",
+ " 4 False\n",
+ " Name: FieldName, dtype: bool,\n",
+ " 'Value']"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "[fuel_mix_eirgrid['FieldName'] == 'FUEL_NET_IMPORT', 'Value']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8084.08 \n",
+ " 8084.08 \n",
+ " 7.302150 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51245.19 \n",
+ " 51245.19 \n",
+ " 46.288518 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " -500.00 \n",
+ " 0.00 \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4934.83 \n",
+ " 4934.83 \n",
+ " 4.457510 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 46444.11 \n",
+ " 46444.11 \n",
+ " 41.951821 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 26-Feb-2024 23:00:00 Coal ALL 8084.08 8084.08 \n",
+ "1 26-Feb-2024 23:00:00 Gas ALL 51245.19 51245.19 \n",
+ "2 26-Feb-2024 23:00:00 Net Import ALL -500.00 0.00 \n",
+ "3 26-Feb-2024 23:00:00 Other Fossil ALL 4934.83 4934.83 \n",
+ "4 26-Feb-2024 23:00:00 Renewables ALL 46444.11 46444.11 \n",
+ "\n",
+ " Percentage \n",
+ "0 7.302150 \n",
+ "1 46.288518 \n",
+ "2 0.000000 \n",
+ "3 4.457510 \n",
+ "4 41.951821 "
+ ]
+ },
+ "execution_count": 40,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid.drop('')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "fuel_mix_eirgrid.loc[fuel_mix_eirgrid['FieldName'] == 'FUEL_NET_IMPORT', 'Value'] = -11567.20\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "-500.0"
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid.loc[fuel_mix_eirgrid['FieldName'] == 'Net Import', 'Value'].values[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8084.08 \n",
+ " 8084.08 \n",
+ " 7.302150 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51245.19 \n",
+ " 51245.19 \n",
+ " 46.288518 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " -500.00 \n",
+ " 0.00 \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4934.83 \n",
+ " 4934.83 \n",
+ " 4.457510 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 26-Feb-2024 23:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 46444.11 \n",
+ " 46444.11 \n",
+ " 41.951821 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 26-Feb-2024 23:00:00 Coal ALL 8084.08 8084.08 \n",
+ "1 26-Feb-2024 23:00:00 Gas ALL 51245.19 51245.19 \n",
+ "2 26-Feb-2024 23:00:00 Net Import ALL -500.00 0.00 \n",
+ "3 26-Feb-2024 23:00:00 Other Fossil ALL 4934.83 4934.83 \n",
+ "4 26-Feb-2024 23:00:00 Renewables ALL 46444.11 46444.11 \n",
+ "\n",
+ " Percentage \n",
+ "0 7.302150 \n",
+ "1 46.288518 \n",
+ "2 0.000000 \n",
+ "3 4.457510 \n",
+ "4 41.951821 "
+ ]
+ },
+ "execution_count": 39,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/var/folders/n8/5rf_2zc91lx1ffhm5t27hrsw0000gn/T/ipykernel_3671/2961501540.py:3: DeprecationWarning: \n",
+ "Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),\n",
+ "(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)\n",
+ "but was not found to be installed on your system.\n",
+ "If this would cause problems for you,\n",
+ "please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466\n",
+ " \n",
+ " import pandas as pd\n"
+ ]
+ }
+ ],
+ "source": [
+ "import logging\n",
+ "import os\n",
+ "import pandas as pd\n",
+ "from telegram import Update, ReplyKeyboardMarkup\n",
+ "from telegram.ext import (\n",
+ " Application,\n",
+ " CommandHandler,\n",
+ " MessageHandler,\n",
+ " filters,\n",
+ " ContextTypes,\n",
+ " ConversationHandler,\n",
+ " CallbackContext,\n",
+ ")\n",
+ "from elevenlabs import generate\n",
+ "from subs.energy_api import *\n",
+ "from subs.openai_script import *\n",
+ "from subs.telegram_func import (\n",
+ " telegram_carbon_intensity,\n",
+ " telegram_fuel_mix,\n",
+ ")\n",
+ "from dotenv import load_dotenv\n",
+ "\n",
+ "# add vars to azure\n",
+ "# Load environment variables from .env file\n",
+ "load_dotenv()\n",
+ "Telegram_energy_api = os.environ.get(\"Telegram_energy_api\")\n",
+ "CHANNEL_ID_FOR_FEEDBACK = os.environ.get(\"CHANNEL_ID_FOR_FEEDBACK\")\n",
+ "ELEVEN_API_KEY = os.environ.get(\"ELEVEN_API_KEY\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "fuel_mix_eirgrid, net_import_status = fuel_mix()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "now = round_time(datetime.datetime.now())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:15:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8257.29 \n",
+ " 8257.29 \n",
+ " 6.738314 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:15:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51987.61 \n",
+ " 51987.61 \n",
+ " 42.424188 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 27-Feb-2024 00:15:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " 12098.88 \n",
+ " 12098.88 \n",
+ " 9.873221 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:15:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4959.45 \n",
+ " 4959.45 \n",
+ " 4.047130 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:15:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45239.15 \n",
+ " 45239.15 \n",
+ " 36.917147 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:15:00 Coal ALL 8257.29 8257.29 \n",
+ "1 27-Feb-2024 00:15:00 Gas ALL 51987.61 51987.61 \n",
+ "2 27-Feb-2024 00:15:00 Net Import ALL 12098.88 12098.88 \n",
+ "3 27-Feb-2024 00:15:00 Other Fossil ALL 4959.45 4959.45 \n",
+ "4 27-Feb-2024 00:15:00 Renewables ALL 45239.15 45239.15 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.738314 \n",
+ "1 42.424188 \n",
+ "2 9.873221 \n",
+ "3 4.047130 \n",
+ "4 36.917147 "
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "fuel_mix_eirgrid.loc[fuel_mix_eirgrid['FieldName'] == 'Net Import', 'Value'] = -11567.20\n",
+ "fuel_mix_eirgrid.loc[fuel_mix_eirgrid['FieldName'] == 'Net Import', 'ValueForPercentage'] = 0\n",
+ "fuel_mix_eirgrid.loc[fuel_mix_eirgrid['FieldName'] == 'Net Import', 'Percentage'] = 0\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8222.31 \n",
+ " 8222.31 \n",
+ " 6.711899 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51852.59 \n",
+ " 51852.59 \n",
+ " 42.327439 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " -11567.20 \n",
+ " 0.00 \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4954.84 \n",
+ " 4954.84 \n",
+ " 4.044652 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45456.05 \n",
+ " 45456.05 \n",
+ " 37.105922 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:00:00 Coal ALL 8222.31 8222.31 \n",
+ "1 27-Feb-2024 00:00:00 Gas ALL 51852.59 51852.59 \n",
+ "2 27-Feb-2024 00:00:00 Net Import ALL -11567.20 0.00 \n",
+ "3 27-Feb-2024 00:00:00 Other Fossil ALL 4954.84 4954.84 \n",
+ "4 27-Feb-2024 00:00:00 Renewables ALL 45456.05 45456.05 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.711899 \n",
+ "1 42.327439 \n",
+ "2 0.000000 \n",
+ "3 4.044652 \n",
+ "4 37.105922 "
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Assuming df is your DataFrame\n",
+ "data = {\n",
+ " \"EffectiveTime\": [\"27-Feb-2024 00:00:00\", \"27-Feb-2024 00:00:00\", \"27-Feb-2024 00:00:00\", \"27-Feb-2024 00:00:00\", \"27-Feb-2024 00:00:00\"],\n",
+ " \"FieldName\": [\"Coal\", \"Gas\", \"Net Import\", \"Other Fossil\", \"Renewables\"],\n",
+ " \"Region\": [\"ALL\", \"ALL\", \"ALL\", \"ALL\", \"ALL\"],\n",
+ " \"Value\": [8222.31, 51852.59, -11567.20, 4954.84, 45456.05],\n",
+ " \"ValueForPercentage\": [8222.31, 51852.59, 0.00, 4954.84, 45456.05],\n",
+ " \"Percentage\": [6.711899, 42.327439, 0.000000, 4.044652, 37.105922],\n",
+ "}\n",
+ "\n",
+ "df = pd.DataFrame(data)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8222.31 \n",
+ " 8222.31 \n",
+ " 6.711899 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51852.59 \n",
+ " 51852.59 \n",
+ " 42.327439 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " -11567.20 \n",
+ " 0.00 \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4954.84 \n",
+ " 4954.84 \n",
+ " 4.044652 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45456.05 \n",
+ " 45456.05 \n",
+ " 37.105922 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:00:00 Coal ALL 8222.31 8222.31 \n",
+ "1 27-Feb-2024 00:00:00 Gas ALL 51852.59 51852.59 \n",
+ "2 27-Feb-2024 00:00:00 Net Import ALL -11567.20 0.00 \n",
+ "3 27-Feb-2024 00:00:00 Other Fossil ALL 4954.84 4954.84 \n",
+ "4 27-Feb-2024 00:00:00 Renewables ALL 45456.05 45456.05 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.711899 \n",
+ "1 42.327439 \n",
+ "2 0.000000 \n",
+ "3 4.044652 \n",
+ "4 37.105922 "
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "net_import_status='exporting'"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'exporting'"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "net_import_status"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "fuel_mix_details = \"\\n\".join(\n",
+ " [\n",
+ " f\"- {df['FieldName'][i]}: {df['Value'][i]} MWh ({df['Percentage'][i]:.1f}%)\"\n",
+ " for i in range(len(df[\"FieldName\"]))\n",
+ " ]\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'- Coal: 8222.31 MWh (6.7%)\\n- Gas: 51852.59 MWh (42.3%)\\n- Net Import: -11567.2 MWh (0.0%)\\n- Other Fossil: 4954.84 MWh (4.0%)\\n- Renewables: 45456.05 MWh (37.1%)'"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_details"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "export_value = df.loc[\n",
+ " df[\"FieldName\"] == \"Net Import\", \"Value\"\n",
+ "].values[0]\n",
+ "filtered_fuel_mix_data = df[\n",
+ " df[\"FieldName\"] != \"Net Import\"\n",
+ "]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8222.31 \n",
+ " 8222.31 \n",
+ " 6.711899 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51852.59 \n",
+ " 51852.59 \n",
+ " 42.327439 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4954.84 \n",
+ " 4954.84 \n",
+ " 4.044652 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45456.05 \n",
+ " 45456.05 \n",
+ " 37.105922 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:00:00 Coal ALL 8222.31 8222.31 \n",
+ "1 27-Feb-2024 00:00:00 Gas ALL 51852.59 51852.59 \n",
+ "3 27-Feb-2024 00:00:00 Other Fossil ALL 4954.84 4954.84 \n",
+ "4 27-Feb-2024 00:00:00 Renewables ALL 45456.05 45456.05 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.711899 \n",
+ "1 42.327439 \n",
+ "3 4.044652 \n",
+ "4 37.105922 "
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "filtered_fuel_mix_data"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "4"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "len(filtered_fuel_mix_data[\"FieldName\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "fuel_mix_details = \"\\n\".join(\n",
+ " [\n",
+ " f\"- {filtered_fuel_mix_data['FieldName'][idx]}: {filtered_fuel_mix_data['Value'][idx]} MWh ({filtered_fuel_mix_data['Percentage'][idx]:.1f}%)\"\n",
+ " for idx in filtered_fuel_mix_data.index # Use the actual indices\n",
+ " ]\n",
+ ")\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'- Coal: 8222.31 MWh (6.7%)\\n- Gas: 51852.59 MWh (42.3%)\\n- Other Fossil: 4954.84 MWh (4.0%)\\n- Renewables: 45456.05 MWh (37.1%)'"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_details"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'fuel_mix_eirgrid' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[5], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m promopt_for_fuel_mix \u001b[38;5;241m=\u001b[39m create_fuel_mix_prompt(\n\u001b[0;32m----> 2\u001b[0m now, \u001b[43mfuel_mix_eirgrid\u001b[49m, net_import_status\n\u001b[1;32m 3\u001b[0m )\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'fuel_mix_eirgrid' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "promopt_for_fuel_mix = create_fuel_mix_prompt(\n",
+ " now, fuel_mix_eirgrid, net_import_status\n",
+ " )"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'📅 Date: 2024-02-27 00:30:00\\n🔋 Fuel Mix Data (MWh & Percentage):\\n\\n- Coal: 8257.29 MWh (6.7%)\\n- Gas: 51987.61 MWh (42.4%)\\n- Net Import: 12098.88 MWh (9.9%)\\n- Other Fossil: 4959.45 MWh (4.0%)\\n- Renewables: 45239.15 MWh (36.9%)\\n\\nBased on the above data, write a short report about the status of the energy system over the last 24 hours. Please summarize the contribution of each fuel source to the overall mix and any notable trends. Use the following structure for your response, incorporating the specified emojis to highlight each fuel source:\\n\\n📋 Fuel Mix Status:\\n- 🪨 Coal: [percentage]%\\n- 🌬️ Gas: [percentage]%\\n- ⚡ Net Import: [percentage]%\\n- 🛢️ Other Fossil: [percentage]%\\n- 🌿 Renewables: [percentage]%\\n\\nNote: Replace [percentage] with the actual percentages from the data. Avoid using asterisks (*) in your response and stick to the names and format provided.'"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "promopt_for_fuel_mix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'📋 Fuel Mix Status:\\n- 🪨 Coal: 6.7%\\n- 🌬️ Gas: 42.4%\\n- ⚡ Net Import: 9.9%\\n- 🛢️ Other Fossil: 4.0%\\n- 🌿 Renewables: 36.9%\\n\\nIn the last 24 hours, the energy system has seen a significant contribution from gas at 42.4%, followed by renewables at 36.9%. Coal made up 6.7% of the mix, while other fossil sources accounted for 4.0%. Net imports played a role of 9.9% in the overall energy generation. The data reflects a continued reliance on gas and renewables, showing a decrease in coal usage and a minor contribution from other fossil sources. The prominence of renewables indicates a strong emphasis on cleaner energy sources in the energy generation mix.'"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "opt_gpt_summarise(promopt_for_fuel_mix)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "pie_chart_fuel_mix(update, context, fuel_mix_eirgrid, now)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8222.31 \n",
+ " 8222.31 \n",
+ " 6.711899 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51852.59 \n",
+ " 51852.59 \n",
+ " 42.327439 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " -11567.20 \n",
+ " 0.00 \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4954.84 \n",
+ " 4954.84 \n",
+ " 4.044652 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45456.05 \n",
+ " 45456.05 \n",
+ " 37.105922 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:00:00 Coal ALL 8222.31 8222.31 \n",
+ "1 27-Feb-2024 00:00:00 Gas ALL 51852.59 51852.59 \n",
+ "2 27-Feb-2024 00:00:00 Net Import ALL -11567.20 0.00 \n",
+ "3 27-Feb-2024 00:00:00 Other Fossil ALL 4954.84 4954.84 \n",
+ "4 27-Feb-2024 00:00:00 Renewables ALL 45456.05 45456.05 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.711899 \n",
+ "1 42.327439 \n",
+ "2 0.000000 \n",
+ "3 4.044652 \n",
+ "4 37.105922 "
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8222.31 \n",
+ " 8222.31 \n",
+ " 6.711899 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51852.59 \n",
+ " 51852.59 \n",
+ " 42.327439 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " -11567.20 \n",
+ " 0.00 \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4954.84 \n",
+ " 4954.84 \n",
+ " 4.044652 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45456.05 \n",
+ " 45456.05 \n",
+ " 37.105922 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:00:00 Coal ALL 8222.31 8222.31 \n",
+ "1 27-Feb-2024 00:00:00 Gas ALL 51852.59 51852.59 \n",
+ "2 27-Feb-2024 00:00:00 Net Import ALL -11567.20 0.00 \n",
+ "3 27-Feb-2024 00:00:00 Other Fossil ALL 4954.84 4954.84 \n",
+ "4 27-Feb-2024 00:00:00 Renewables ALL 45456.05 45456.05 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.711899 \n",
+ "1 42.327439 \n",
+ "2 0.000000 \n",
+ "3 4.044652 \n",
+ "4 37.105922 "
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['Coal\\n(6.7%)',\n",
+ " 'Gas\\n(42.3%)',\n",
+ " 'Net Import\\n(0.0%)',\n",
+ " 'Other Fossil\\n(4.0%)',\n",
+ " 'Renewables\\n(37.1%)']"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "custom_labels"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8222.31 \n",
+ " 8222.31 \n",
+ " 6.711899 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51852.59 \n",
+ " 51852.59 \n",
+ " 42.327439 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " -11567.20 \n",
+ " 0.00 \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4954.84 \n",
+ " 4954.84 \n",
+ " 4.044652 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45456.05 \n",
+ " 45456.05 \n",
+ " 37.105922 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:00:00 Coal ALL 8222.31 8222.31 \n",
+ "1 27-Feb-2024 00:00:00 Gas ALL 51852.59 51852.59 \n",
+ "2 27-Feb-2024 00:00:00 Net Import ALL -11567.20 0.00 \n",
+ "3 27-Feb-2024 00:00:00 Other Fossil ALL 4954.84 4954.84 \n",
+ "4 27-Feb-2024 00:00:00 Renewables ALL 45456.05 45456.05 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.711899 \n",
+ "1 42.327439 \n",
+ "2 0.000000 \n",
+ "3 4.044652 \n",
+ "4 37.105922 "
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "filtered_df_for_labels = fuel_mix_eirgrid[fuel_mix_eirgrid['FieldName'] != 'Net Import']\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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48ePY9SoUXj44YcRFhaGCRMmoKysrMKxAgMDceXKlRq+U7FYXv8W2hgI4IYFteLnBUBZqegURETiGQzAUrEnzCiMRtid2AGXXd/DuSzZtOmBQiE0kzko69SBOihIaIbi4mI4ODiUX3/llVcQERGBxx9/3KyvU7duXaxbtw6JiYlYt24dvL29MXHiRHz11Vd455134Orqiri4OFy4cAFff/11hec6OjqiqKjIrHksjeX137oOEJ1AnjLTgD9XiE5BRCTervWm+a5WQn3pmGnTg4wTkt/0wE7giVp/8/b2RnZ2dvn17du345dffoFarYZarcZ9991X/riZM2fe8hj+/v5IT0+vcJtOp0NWVhb8/f1v+Zw5c+agd+/eaN26NWJiYjB06FDY2dlhyJAhiImJqfDYrKws+Pj41OBdimdbpyDeTbeBprM/K7nTCVXBb98B3R8A3OX3MRURUaWUFAMrb30ijWjK9CtwTL8CB2d3lEX3RmmpCsYCaa0HKnKVgb9FR0fjhx9+KL++evVqFBcXl18/dOgQxo4di927dyP8NtvXduzYETk5OThy5Ej5/Nnt27fDYDCgffv2Nz0+NjYWP/74I44fPw4A0Ov10Gq1AACtVgu9vmKnOX36NB566KEavU/ROPL6b14+QIuOolPIU3GhafoAEZGtWrsEyM4QneKOFIW50Pz1C1yProajix5KLw/RkSpFFRoKpYeH6Bjo06cPzpw5Uz76Gh4ejmbNmpVf6tevDwCIiIgon9d68OBBNGnSBCkpKeX39e3bF0899RQOHjyIPXv24Nlnn8Wjjz5aYT4tABiNRowfPx7z5s2D8421bTt37oyFCxciNjYWS5cuRefOncsfn5CQgJSUFPTsKe3zfFhe/6vHA6ITyNeO34ErF0SnICKyvIxUYP0Pd3+clVDotbA/tAGue5bBWZFl9ZseWMOoKwBERUWhVatW+Pnnnyv9nKKiIsTFxZWPlgLA8uXL0aRJE9x3333o378/unTpgm+++eam537zzTfw8/PDgAH/THt88803UVJSgvbt26NBgwaYNGlS+X0rVqxA7969ERISUs13aB0URqOF1uqQCp0OmNQfyM0SnUSemkQDM7+RxckBRESV9tlrwJ6NolPUiL5eBErD2kGbkQvorWh6nZ0d3KZOhUKjEZ0EALB+/XpMnz4dp0+frtTSWJZSVlaG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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pastel_colors = {\n",
+ " \"Coal\": \"#3B3434\", # Coal - less vibrant gray\n",
+ " \"Gas\": \"#FF5733\", # Gas - less vibrant orange\n",
+ " \"Net Import\": \"#8648BD\", # Net Import - less vibrant blue\n",
+ " \"Other Fossil\": \"#F08080\", # Other Fossil - less vibrant red\n",
+ " \"Renewables\": \"#48BD5F\", # Renewables - less vibrant green\n",
+ "}\n",
+ "# print(fuel_mix_eirgrid)\n",
+ "# Mapping the pastel colors to the dataframe's FieldName\n",
+ "pastel_pie_colors = [\n",
+ " pastel_colors[field] for field in df[\"FieldName\"]\n",
+ "]\n",
+ "# Filter df based on net_import_status\n",
+ "if net_import_status == \"importing\":\n",
+ " pie_data = df\n",
+ "elif net_import_status == \"exporting\":\n",
+ " pie_data = df[df[\"FieldName\"] != \"Net Import\"]\n",
+ " # Update pastel_pie_colors to match the filtered data\n",
+ " pastel_pie_colors = [pastel_colors[field] for field in pie_data[\"FieldName\"]]\n",
+ "\n",
+ "# Generate custom_labels from the (potentially filtered) pie_data\n",
+ "custom_labels = [\n",
+ " f'{row[\"FieldName\"]}\\n({row[\"Percentage\"]:.1f}%)'\n",
+ " for index, row in pie_data.iterrows()\n",
+ "]\n",
+ "plt.figure(figsize=(7, 7))\n",
+ "plt.pie(\n",
+ " pie_data[\"Percentage\"],\n",
+ " labels=custom_labels,\n",
+ " startangle=140,\n",
+ " colors=pastel_pie_colors,\n",
+ " wedgeprops=dict(width=0.3),\n",
+ ")\n",
+ "plt.axis(\"equal\") # Equal aspect ratio ensures that pie is drawn as a circle.\n",
+ "plt.tight_layout()\n",
+ "# plt.show()\n",
+ "# Save the plot to a BytesIO buffer\n",
+ "buf = BytesIO()\n",
+ "plt.savefig(buf, format=\"png\")\n",
+ "buf.seek(0)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8222.31 \n",
+ " 8222.31 \n",
+ " 6.711899 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51852.59 \n",
+ " 51852.59 \n",
+ " 42.327439 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " -11567.20 \n",
+ " 0.00 \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4954.84 \n",
+ " 4954.84 \n",
+ " 4.044652 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45456.05 \n",
+ " 45456.05 \n",
+ " 37.105922 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:00:00 Coal ALL 8222.31 8222.31 \n",
+ "1 27-Feb-2024 00:00:00 Gas ALL 51852.59 51852.59 \n",
+ "2 27-Feb-2024 00:00:00 Net Import ALL -11567.20 0.00 \n",
+ "3 27-Feb-2024 00:00:00 Other Fossil ALL 4954.84 4954.84 \n",
+ "4 27-Feb-2024 00:00:00 Renewables ALL 45456.05 45456.05 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.711899 \n",
+ "1 42.327439 \n",
+ "2 0.000000 \n",
+ "3 4.044652 \n",
+ "4 37.105922 "
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "filtered_df = fuel_mix_eirgrid[fuel_mix_eirgrid['FieldName'] != \"Net Import\"]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8222.31 \n",
+ " 8222.31 \n",
+ " 6.711899 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51852.59 \n",
+ " 51852.59 \n",
+ " 42.327439 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4954.84 \n",
+ " 4954.84 \n",
+ " 4.044652 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45456.05 \n",
+ " 45456.05 \n",
+ " 37.105922 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:00:00 Coal ALL 8222.31 8222.31 \n",
+ "1 27-Feb-2024 00:00:00 Gas ALL 51852.59 51852.59 \n",
+ "3 27-Feb-2024 00:00:00 Other Fossil ALL 4954.84 4954.84 \n",
+ "4 27-Feb-2024 00:00:00 Renewables ALL 45456.05 45456.05 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.711899 \n",
+ "1 42.327439 \n",
+ "3 4.044652 \n",
+ "4 37.105922 "
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "filtered_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'- Coal: 8222.31 MWh (6.7%)\\n- Gas: 51852.59 MWh (42.3%)\\n- Net Import: -11567.2 MWh (0.0%)\\n- Other Fossil: 4954.84 MWh (4.0%)\\n- Renewables: 45456.05 MWh (37.1%)'"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_details"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " ValueForPercentage \n",
+ " Percentage \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Coal \n",
+ " ALL \n",
+ " 8222.31 \n",
+ " 8222.31 \n",
+ " 6.711899 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Gas \n",
+ " ALL \n",
+ " 51852.59 \n",
+ " 51852.59 \n",
+ " 42.327439 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Net Import \n",
+ " ALL \n",
+ " -11567.20 \n",
+ " 0.00 \n",
+ " 0.000000 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Other Fossil \n",
+ " ALL \n",
+ " 4954.84 \n",
+ " 4954.84 \n",
+ " 4.044652 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 27-Feb-2024 00:00:00 \n",
+ " Renewables \n",
+ " ALL \n",
+ " 45456.05 \n",
+ " 45456.05 \n",
+ " 37.105922 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value ValueForPercentage \\\n",
+ "0 27-Feb-2024 00:00:00 Coal ALL 8222.31 8222.31 \n",
+ "1 27-Feb-2024 00:00:00 Gas ALL 51852.59 51852.59 \n",
+ "2 27-Feb-2024 00:00:00 Net Import ALL -11567.20 0.00 \n",
+ "3 27-Feb-2024 00:00:00 Other Fossil ALL 4954.84 4954.84 \n",
+ "4 27-Feb-2024 00:00:00 Renewables ALL 45456.05 45456.05 \n",
+ "\n",
+ " Percentage \n",
+ "0 6.711899 \n",
+ "1 42.327439 \n",
+ "2 0.000000 \n",
+ "3 4.044652 \n",
+ "4 37.105922 "
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq8AAAKvCAYAAABEYSadAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACh50lEQVR4nOzdd3hT1eMG8Deje+9NS5ktFCh7yZCNIAiIAjIEBL+gqAwFFUHcggo4EAQRERBZTgTZU/aGUlqgFEoHnXSnTe7vj0p+lJbSkfbkJu/nefpok5ubNyXS15Nzz1FIkiSBiIiIiEgGlKIDEBERERGVF8srEREREckGyysRERERyQbLKxERERHJBssrEREREckGyysRERERyQbLKxERERHJBssrEREREckGyysRERERyQbLq5lQKBSYO3dutZ2/S5cu6NKli0HPefPmTVhbW+PQoUMGPW9lBQUFoV+/fo88btu2bbC3t8edO3eqLcuYMWMQFBRUbee/X1BQEMaMGaP//ocffoBCocCJEydq5Pmr471VEb/88gtcXV2RlZVlkPPVxPuDiMiUsbzWsHu/+Ev7mjlzptBsMTEx+izvv/9+qceMGDECCoUC9vb21Z5n3rx5aNOmDTp06KC/bcyYMVAoFHB0dERubm6Jx0RFRelfw4IFCwAAx44dg0KhwBdffFHi+AEDBkChUGDlypUl7uvUqRP8/PwqnLt3796oW7cuPvroo3IdP3fu3GLvA1tbW9SqVQv9+/fHypUrkZ+fX+EMpbl06RLmzp2LmJgYg5zPkIw1m1arxZw5c/Dyyy8Xe88vXboUtWvXhqurK0aOHIm7d+8We5xOp0N4eDg+/PDDEues6PvjYTZv3oxnnnkGwcHBsLW1RYMGDTBt2jSkp6eXevzvv/+O5s2bw9raGrVq1cKcOXNQWFhY7Jhdu3Zh7NixqF+/PmxtbREcHIzx48cjPj6+zCzp6enw9PSEQqHAxo0by/0a0tPTMWHCBHh4eMDOzg5du3bFqVOnih2TkpKC+fPno1OnTvDw8ICzszPatm2L9evXl/t5yvu67v87sLSvF154oVzPt2LFCoSEhMDa2hr16tXDl19+WepxcXFxGDp0KJydneHo6IgBAwbg2rVr5X5d9/vggw+gUCjQuHHjEvd16dKl1NfTu3fvcp+/IlnL+/qJKk2iGrVy5UoJgDRv3jxp9erVxb5Onz5dbc8LQJozZ06Zx1y/fl0CIFlbW0uhoaEl7s/KypLs7Owka2tryc7Orth9+fn5Un5+vsHyJiUlSRYWFtLatWuL3T569GhJrVZLKpVKWr9+fYnHzZkzR7K2tpYASPPnz5ckSZIKCgokW1tbadCgQSWOd3d3l9RqtTRu3LgSr8fa2lp6+umn9bcFBgZKTzzxRLnyf/PNN5Ktra109+7dRx47Z84cCYC0ZMkSafXq1dLy5culd999V2rfvr0EQGrSpIkUGxtb7DEajUbKy8srV5Z7NmzYIAGQ9uzZU6HH5eXlSRqNRv/9vffw8ePHK3SeymYz9HurIrZs2SIpFArp1q1b+tsOHDggKRQK6ZVXXpEWLVokeXt7SxMmTCj2uG+//VaqXbv2Q/+MKvL+eBg3NzcpLCxMmj17tvTdd99JU6ZMkSwtLaWGDRtKOTk5xY7dunWrpFAopK5du0rLli2TXn75ZUmpVEovvvhiseNatGgh1a5dW3r99del7777Tpo1a5bk4OAgeXl5SfHx8Q/N8vLLL0t2dnYSAGnDhg3lyq/VaqX27dtLdnZ20ty5c6WvvvpKCg0NlRwcHKQrV67oj/vjjz8kCwsLacCAAdLChQulr776SuratasEQHrnnXfK9VzlfV1ZWVkl/l5evXq1NGLECAmA9Msvvzzyub799lsJgDR48GBp2bJl0siRIyUA0scff1zsuMzMTKlevXqSp6en9Mknn0iff/65FBAQIPn7+0vJycnlel333Lx5U7K1tZXs7OykRo0albi/c+fOkr+/f4nXtWvXrnKdvyJZy/v6iaqC5bWGVccv/vKoSHkdNGiQBEA6c+ZMsfvXrFkjWVhYSP379y9RXg3t888/l2xsbKTMzMxit48ePVqys7OTevbsKQ0cOLDE4+rVqycNHjy4WHmVJEnq2rWr5OXlVezYy5cvSwCk4cOHSw0aNCh23+HDhyUA0qJFi/S3VaS8JiYmSiqVSlqxYsUjj71XXu/cuVPivp9++klSKpVSmzZtyvW8ZalIedXpdCUK0D01XV5FevLJJ6WOHTsWu+2NN96Qunbtqv9+5cqVkre3t/77tLQ0yd3dXdq0adNDz1uR98fDlPazWrVqlQRA+u6774rdHhoaKjVt2lQqKCjQ3/bWW29JCoVCioiI0N+2b98+SavVFnvsvn37JADSW2+9VWqO8+fPS2q1Wpo3b16Fyuv69etLHJ+UlCQ5OztLw4YN09927do1KSYmpthjdTqd9Pjjj0tWVlZSVlbWI5+rMq/rft26dZMcHR2l3NzcMo/LycmR3NzcSvw9MWLECMnOzk5KTU3V3/bJJ59IAKRjx47pb4uIiJBUKpU0a9asR2a63zPPPCM9/vjjUufOnR9aXku7vbzKm7Uir5+oKjhtwAg9bH7qg3MPgaKP3V599VUEBATAysoKdevWxSeffAKdTlfp52/Xrh1q166NtWvXFrt9zZo16N27N1xdXUs85sF5iaNHj4a1tTUiIiKKHderVy+4uLjg9u3bZWb49ddf0aZNm4dOTxg+fDj+/vvvYh+RHj9+HFFRURg+fHiJ4zt27IjExERER0frbzt06BAcHR0xYcIEREZGIjk5udh99x73oIMHD6J169awtrZGcHAwfvzxxxLHeHp6okmTJvjtt9/KfJ2PMmLECIwfPx5Hjx7Fjh079LeXNuf1559/RosWLeDg4ABHR0eEhYVh0aJFAIqmqzz99NMAgK5du+o/Nty7dy+A/5/Pu337drRs2RI2NjZYunSp/r4H33cAkJOTg4kTJ8LNzQ2Ojo4YNWoU0tLSih1Tnvfyo7KVNuc1KSkJ48aNg5eXF6ytrdG0aVOsWrWq2DH3PgJesGABli1bhjp16sDKygqtWrXC8ePHS/153y8vLw/btm1D9+7di92em5sLFxcX/feurq7IycnRfz937lyEhYVh0KBBDz23Id4fpc0DfuqppwCg2H93ly5dwqVLlzBhwgSo1Wr97ZMmTYIkScU+5u/UqROUyuK/Fjp16gRXV9cS/y3f88orr+Cpp57CY489VqH8GzduhJeXV7Gfk4eHB4YOHYrffvtNP12mdu3aCAwMLPZYhUKBgQMHIj8/v1wfs1fmdd0THx+PPXv2YNCgQbC2ti7z2D179iAlJQWTJk0qdvvkyZORnZ2Nv/76S3/bxo0b0apVK7Rq1Up/W8OGDdGtWzf88ssvxR4fGxuLy5cvl/qc+/fvx8aNG7Fw4cIyswFAYWHhI+duX758GbGxscVuK2/Wirx+oqpgeRUkIyMDycnJxb4qKicnB507d8ZPP/2EUaNGYfHixejQoQNmzZqFqVOnVinfsGHD8PPPP0OSJABAcnIy/vnnn1KLYWkWLVoEDw8PjB49GlqtFkDRPMF//vkHX375JXx9fR/62IKCAhw/fhzNmzd/6DGDBg2CQqHA5s2b9betXbsWDRs2LPVx90rowYMH9bcdOnQIbdu2RZs2bWBhYYHDhw8Xu8/BwQFNmzYtdp7o6GgMGTIEPXr0wGeffQYXFxeMGTMGFy9eLPGcLVq0KHbOyho5ciQA4J9//nnoMTt27MCwYcPg4uKCTz75BB9//DG6dOmiL+GdOnXClClTAABvvvkmVq9ejdWrVyMkJER/jsjISAwbNgw9evTAokWL0KxZszJzvfTSS4iIiMDcuXMxatQorFmzBgMHDtS/Z8qrPNnul5ubiy5dumD16tUYMWIE5s+fDycnJ4wZM0Zf1u+3du1azJ8/HxMnTsT777+PmJgYDBo0CAUFBWXmOnnyJDQaTYn3U6tWrbBt2zb8888/iIqKwmeffYbWrVsDKCqK3377bbmKhKHeH/dLSEgAALi7u+tvO336NACgZcuWxY719fWFv7+//v6HycrKQlZWVrFz3rNhwwYcPnwYn376aYWznj59Gs2bNy9RKlu3bo2cnBxcuXKlzMeX9loroqzXdb+ff/4ZOp0OI0aMeOQ5H/azbtGiBZRKpf5+nU6Hc+fOlTgOKHr9V69eRWZmpv62UaNGlfrfg1arxcsvv4zx48cjLCyszGxXrlyBnZ0dHBwc4O3tjdmzZ5f630BISAhGjRql/74iWcv7+omqSv3oQ6g6PDiaA6DCv/Q///xzXL16FadPn0a9evUAABMnToSvry/mz5+PadOmISAgoFL5hg8fjg8//BCHDh1Cx44d8csvv8Da2hpPPvkktm3b9sjHOzs7Y8WKFejVqxc+/vhjDB8+HNOnT8fAgQPx3HPPlfnY2NhY5Obmonbt2g89xsHBAf369cPatWsxduxY6HQ6/Pzzz/jf//5X6vHt2rWDSqXCwYMH9SN+hw4dwvDhw2FtbY3w8HAcPHgQTz75pP6+tm3bQqVSFTtPZGQk9u/frx9lGjp0KAICArBy5Ur9BWL3BAcHIzk5GUlJSfD09CzzNZfl3gUYV69efegxf/31FxwdHbF9+/YSme9leeyxx7B48WL06NGj1FG76OhobNu2Db169SpXLktLS+zatQsWFhYAgMDAQLz++uv4448/9D/H8ihPtvstW7YMERER+Omnn/SF4sUXX0Tnzp3x9ttvY+zYsXBwcNAfHxsbi6ioKP1oaYMGDTBgwABs3769zNUj7o10Pfg+HDZsGLZs2aL/OQUEBOhHlF577TU8//zzaNKkSbletyHeH/f75JNPoFKpMGTIEP1t9y5K8vHxKXG8j4/PIz8FWbhwITQaDZ555plit+fm5mL69Ol47bXXEBQUVOGL7eLj49GpU6dSMwHA7du3H1rIUlNTsXz5cjz22GOlvq7yeNjretCaNWvg4+ODxx9//JHnjI+Ph0qlKvHnaWlpCTc3N/3POjU1Ffn5+Q/9MwGKXn+DBg3KfL5vv/0WN27cwM6dO8s8rk6dOujatSvCwsKQnZ2NjRs34v3338eVK1ceeeFbRbKW9/UTVRVHXgX5+uuvsWPHjmJfFbVhwwY89thjcHFxKTaC2717d2i1Wuzfv7/S+Ro1aoQmTZpg3bp1AIpGrwYMGABbW9tyn6Nnz56YOHEi5s2bp//I7d5H0WVJSUkBgGIfzZZm+PDh2Lt3LxISErB7924kJCQ8dGTYwcEBTZo00Y+8JicnIzIyEu3btwcAdOjQQT9KeeXKFdy5c6fUKQOhoaHFPh718PBAgwYNSv3o8l7+yoyq3+/e1In7R2Ie5OzsjOzs7Eq9j+6pXbt2uYsrAEyYMEFfXAHgf//7H9RqNbZu3VrpDOWxdetWeHt7Y9iwYfrbLCwsMGXKFGRlZWHfvn3Fjn/mmWeKvZfu/fk96uPmh70PVSoVNm3ahKioKJw4cQJXrlxBWFgYfv/9dxw7dgzvvfce4uLi0L9/f/j6+qJ///6l/tI21PvjnrVr12LFihWYNm2a/n9mAehX5bCysirxGGtr61JX7bhn//79ePfddzF06NAS5e3jjz9GQUEB3nzzzUrlzc3NfWim+3M/6N4oaHp6eqWvYi/rdd3vypUrOHnyJJ599tkSI8Slyc3NhaWlZan33f+zftSfyf3HAMDevXtLDG6kpKTgnXfewezZs+Hh4VFmrhUrVmDOnDkYNGgQRo4cid9++w0vvPACfvnlFxw5cqTYsZIk6afsVDRreV8/UVWxvArSunVrdO/evdhXRUVFRWHbtm3w8PAo9nXvXElJSVXKOHz4cGzYsAHR0dE4fPhwuacM3G/BggVwdXXFmTNnsHjx4gqNMD1qJLpv375wcHDA+vXrsWbNGrRq1Qp169Z96PEdO3bUz209fPgwVCoV2rZtCwBo3749Tp48ifz8/DLnu9aqVavEbS4uLiXmet6fX6FQlPk6HuXeHLX7RxMfNGnSJNSvXx99+vSBv78/xo4dW64R8vuVNdJdmvsLElBUsn18fKp9uasbN26gXr16JcrEvY9Vb9y4Uez2B//M7pXG0v7MSvOw92HdunXRokULWFtbQ6PRYNq0aZgzZw7c3d3x7LPPwsbGBn/88Qesra1L/W/nwfdHRkYGEhIS9F+pqanlygcABw4cwLhx49CrVy988MEHxe6zsbEBgFKXXMvLy9Pf/6DLly/jqaeeQuPGjbF8+fJi98XExGD+/Pn44IMPylw2T6PRFHtNCQkJ+mlENjY2D810f+4Hvfzyy9i2bRuWL19ebFpPWc9V3tf1oDVr1gBAuaYM3Mus0WhKve/+n/Wj/kzuP+Zh3n77bbi6uuLll18uV7YHTZs2DQAeOWpbkazlff1EVcXyKiMP/kWs0+nQo0ePEiO4974GDx5cpecbNmwYkpOT8cILL8DNzQ09e/as8DlOnz6tL9Hnz58v12Pc3NwAPLpcWFlZYdCgQVi1ahW2bNnyyHJ9r4weOnQIhw4dQlhYmP4Xb/v27ZGfn4/jx4/j4MGDUKvV+mJ7v9I+kgdKLzj38ld2Tt49Fy5cAIAyi7mnpyfOnDmD33//HU8++ST27NmDPn36YPTo0eV+npr8xVJaqaguFfkzu19534cA8MUXX0CtVuOll17CzZs3cfDgQXz66ado0aIFPv30U+zbtw+3bt0q9pgH3x+vvPIKfHx89F9lXfB1v7Nnz+LJJ59E48aNsXHjxmIXZQH//9FuaWu1xsfHlzr//ObNm+jZsyecnJywdevWEv/j9M4778DPzw9dunRBTEwMYmJi9HNQ79y5g5iYGOh0Ohw+fLjYa/Lx8cHNmzf1uR6WCUCpud5991188803+Pjjj/Vzwe8p67nK+7oetHbtWjRo0AAtWrQo87h7fHx8oNVqSwwcaDQapKSk6F+Tq6srrKysKvz674mKisKyZcswZcoU3L59W/9nkJeXh4KCAsTExDzyf37uTSl71HEVyVre109UVZzzaoRcXFxKLDSu0WhK/OVRp04dZGVlVWrUtjxq1aqFDh06YO/evfqPhCsiOzsbzz//PEJDQ9G+fXt8+umneOqpp4pdsfqw57WxscH169cf+RzDhw/H999/D6VSiWeffbbMY++/aOvff/8ttvmBr68vAgMD9cU2PDy8QlMkSnP9+nW4u7s/8iO9R1m9ejUAPPIjfUtLS/Tv3x/9+/eHTqfDpEmTsHTpUsyePRt169at8gjwg6KiotC1a1f991lZWYiPj0ffvn31t5X3vVyRbIGBgTh37hx0Ol2x0dd7c1QfvDK9sho2bAig6M+xrIth4uPj8f7772PDhg1Qq9X6KQL3flHf+2dcXBz8/f31j3vw/fH6668Xmw/+qGkzQNE86N69e8PT0xNbt24tdRT03oV3J06c0F9YBhTNU7x16xYmTJhQ7PiUlBT07NkT+fn52LVrV6lzHWNjYxEdHY3g4OAS99270jwtLQ1NmzYtMZXF29tbn+vAgQMl/hyPHj0KW1tb1K9fv9jjvv76a8ydOxevvvoq3njjjRLPW9Zzlfd13e/o0aOIjo7GvHnzyjzufvf/rO//7+DEiRPQ6XT6+5VKJcLCwkrdpe7o0aMIDg4us1jHxcVBp9NhypQp+osd71e7dm288sorZV44eG/azKP+fqpI1vK+fqKqYnk1QnXq1CkxX3XZsmUlRquGDh2KuXPnYvv27SWKTXp6Ouzt7StcOB/0/vvvY8+ePY+8qKE0b7zxBmJjY3HkyBE0aNAAu3btwujRo3H69OlS50/dY2FhgZYtW5Zr+9GuXbvivffeg5ubW7FfVKXx9fVF7dq1sWvXLly6dKnEci7t27fHr7/+isjISLz22mvle5FlOHnyJNq1a1elc6xduxbLly9Hu3bt0K1bt4cel5KSoh8pBIp+4dy7aOjex312dnYA8NAdmCpq2bJleP755/XzXpcsWYLCwkL06dNHf0x538sVyda3b1/8888/WL9+vX7ea2FhIb788kvY29ujc+fOVXlZei1atIClpSVOnDhR5gVoM2fORKdOnfS7FXl5eQEoKtNNmjTRL8X04PvzwfdHaGgoQkNDy50vISEBPXv2hFKpxPbt2x9aQho1aoSGDRti2bJlmDhxon4kesmSJVAoFMUu7srOzkbfvn0RFxeHPXv2lJgacs/7779fYq7uhQsXMHv2bLz++uto164d7OzsYGFh8dD/uR4yZAg2btyIzZs36zMkJydjw4YN6N+/f7G/I9avX48pU6ZgxIgR+Pzzz0s9n4uLy0Ofq7yv6373lgqsyHSpxx9/HK6urliyZEmx8rZkyRLY2triiSee0N82ZMgQzJw5EydOnNBfnR8ZGYndu3dj+vTpxc4bGxuLnJwc/f9QNW7cGFu2bCnx/G+//TYyMzOxaNEi1KlTBwBw9+5dWFlZFft5SpKk30Xxwd8dly9f1u/yV9GsFXn9RFXB8mqExo8fjxdffBGDBw9Gjx49cPbsWWzfvr3Ex88zZszA77//jn79+mHMmDFo0aIFsrOzcf78eWzcuBExMTFV/si6c+fOlSoDu3fvxjfffIM5c+bolxpauXIlunTpgtmzZz9yaZ0BAwbgrbfewt27d+Ho6PjQ45RKJd5+++1y5+rYsaN+JPP+kVegqLzeu0CttPmuFZGUlIRz585h8uTJ5X7Mxo0bYW9vD41Gg7i4OGzfvh2HDh1C06ZNsWHDhjIfO378eKSmpuLxxx+Hv78/bty4gS+//BLNmjXTzwVt1qwZVCoVPvnkE2RkZMDKygqPP/54pa9012g06NatG4YOHYrIyEh888036NixY7GiV973ckWyTZgwAUuXLsWYMWNw8uRJBAUFYePGjTh06BAWLlz4yI+Cy8va2ho9e/bEzp07Hzr6duzYMaxfvx7nzp3T3xYUFISWLVtizJgxGDduHJYvX442bdoUGxGuzPvjQb1798a1a9fw+uuv4+DBg8WWgfPy8kKPHj3038+fPx9PPvkkevbsiWeffRYXLlzAV199hfHjxxdbgmnEiBE4duwYxo4di4iIiGJroNrb22PgwIEASv/vw9nZGUDRUmL3jivLkCFD0LZtWzz//PO4dOkS3N3d8c0330Cr1eLdd9/VH3fs2DGMGjUKbm5u6Natm34e6j3t27cvdQT4fuV9XfdotVqsX78ebdu21ZfA8rCxscF7772HyZMn4+mnn0avXr1w4MAB/PTTT/jggw+KrZE9adIkfPfdd3jiiScwffp0WFhY4PPPP4eXl5d+Puo9o0aNwr59+/RTXdzd3Uv9Gd8bab3/vlOnTmHYsGEYNmwY6tati9zcXGzZsgWHDh3ChAkTSiwFFxISgs6dOxe7aKu8WSvy+omqRMTOCOasPLsTabVa6Y033pDc3d0lW1tbqVevXlJ0dLQUGBgojR49utixmZmZ0qxZs6S6detKlpaWkru7u9S+fXtpwYIFxbb0RAV22Lp/Z6rS3Nvl6n6dO3eWOnfuLEmSJN29e1cKDAyUmjdvXmxHH0mSpNdee01SKpXSv//+W+ZzJCYmSmq1Wlq9evUjn7sir2Pp0qUSAMnPz6/EfadOnZIASACkxMTEEvc/bIet+1/7PUuWLKnw9rD3vqytrSV/f3+pX79+0vfff1/qFqOjR4+WAgMD9d9v3LhR6tmzp+Tp6SlZWlpKtWrVkiZOnFhiS8/vvvtOCg4OllQqVbEdrcraPezB99299/C+ffukCRMmSC4uLpK9vb00YsQIKSUlpdhjK/Jefli20n6+iYmJ0vPPPy+5u7tLlpaWUlhYmLRy5cpix5T1PijPfw+SJEmbN2+WFApFie15Jalol6c2bdpIU6dOLXFfdHS01KlTJ8ne3l7q1KmTdPXq1WL3V+T98TD3v2ce/Hrw5yVJRVvdNmvWTLKyspL8/f2lt99+u9jfEZJU9Gf9sHPe/34rzZ49eyq0w5YkSVJqaqo0btw4yc3NTbK1tZU6d+5c4u/Ge++3h309+Odemoq+rm3btkkApMWLF5f7tdxv2bJlUoMGDSRLS0upTp060hdffCHpdLoSx928eVMaMmSI5OjoKNnb20v9+vWToqKiShzXuXNnqTy/rkvbSevatWvS008/LQUFBUnW1taSra2t1KJFC+nbb78tNdPD3j/lzVqR109UWQpJquDiokQ1ZNy4cbhy5QoOHDggOkqFhYeHo0uXLvjiiy9ER6Eq0Gq1CA0NxdChQ/Hee+8Z7Lx8fxARVR7LKxmt2NhY1K9fH7t27SrxEb8x27ZtG4YMGYJr164ZbPF5Emf9+vX43//+h9jY2DKXhSovvj+IiKqG5ZWIiIiIZIPrvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERERkWywvBIRERGRbLC8EhEREZFssLwSERER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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "pie_chart_fuel_mix(df,'exporting',now)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def pie_chart_fuel_mix(df, net_import_status, current_time):\n",
+ "\n",
+ " # Adjusting colors to be less vibrant (more pastel-like)\n",
+ " pastel_colors = {\n",
+ " \"Coal\": \"#3B3434\", # Coal - less vibrant gray\n",
+ " \"Gas\": \"#FF5733\", # Gas - less vibrant orange\n",
+ " \"Net Import\": \"#8648BD\", # Net Import - less vibrant blue\n",
+ " \"Other Fossil\": \"#F08080\", # Other Fossil - less vibrant red\n",
+ " \"Renewables\": \"#48BD5F\", # Renewables - less vibrant green\n",
+ " }\n",
+ " # print(fuel_mix_eirgrid)\n",
+ " # Mapping the pastel colors to the dataframe's FieldName\n",
+ " pastel_pie_colors = [pastel_colors[field] for field in df[\"FieldName\"]]\n",
+ " # Filter df based on net_import_status\n",
+ " if net_import_status == \"importing\":\n",
+ " pie_data = df\n",
+ " elif net_import_status == \"exporting\":\n",
+ " pie_data = df[df[\"FieldName\"] != \"Net Import\"]\n",
+ " # Update pastel_pie_colors to match the filtered data\n",
+ " pastel_pie_colors = [pastel_colors[field] for field in pie_data[\"FieldName\"]]\n",
+ "\n",
+ " # Generate custom_labels from the (potentially filtered) pie_data\n",
+ " custom_labels = [\n",
+ " f'{row[\"FieldName\"]}\\n({row[\"Percentage\"]:.1f}%)'\n",
+ " for index, row in pie_data.iterrows()\n",
+ " ]\n",
+ " plt.figure(figsize=(7, 7))\n",
+ " plt.pie(\n",
+ " pie_data[\"Percentage\"],\n",
+ " labels=custom_labels,\n",
+ " startangle=140,\n",
+ " colors=pastel_pie_colors,\n",
+ " wedgeprops=dict(width=0.3),\n",
+ " )\n",
+ " plt.title(f\"Fuel Mix (MWh) Distribution (%)- {current_time}\")\n",
+ " plt.axis(\"equal\") # Equal aspect ratio ensures that pie is drawn as a circle.\n",
+ " plt.tight_layout()\n",
+ " # plt.show()\n",
+ " # Save the plot to a BytesIO buffer\n",
+ " buf = BytesIO()\n",
+ " plt.savefig(buf, format=\"png\")\n",
+ " buf.seek(0)\n",
+ " plt.show()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "base",
+ "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.12.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/subs/energy_api.py b/subs/energy_api.py
index 6c70cbd..ab5a33a 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -484,3 +484,31 @@ def co2_plot_trend(df_):
plt.tight_layout() # Adjust layout to make room for plot elements
return plt
+
+
+def wind_gen_cal():
+ """This function retrives the generated wind for today
+
+ Returns:
+ pandas.DataFrame: DataFrame containing wind generation data for today.
+ The DataFrame has the following columns:
+ - EffectiveTime: Timestamps representing the time of measurement.
+ - FieldName: Name of the wind generation field.
+ - Region: Region for which the wind generation is recorded (ROI/NI/ALL).
+ - Value: Wind generation values.
+ """
+
+ now = round_time(datetime.datetime.now())
+
+ # Start time of today
+ startDateTime = format_date(
+ datetime.datetime(now.year, now.month, now.day, 0, 0, 0)
+ )
+
+ # End time (current time, rounded to the nearest 15 minutes)
+ endDateTime = format_date(now)
+
+ # Retrive data for generated wind for today
+ wind_for_today = eirgrid_api("windactual", "ALL", startDateTime, endDateTime)
+
+ return wind_for_today
From bcc4f760d7f6939347a7d69917a5d058a4e0d204 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 17:16:45 +0000
Subject: [PATCH 04/23] create today_time for better handling of time in
different functions
---
subs/energy_api.py | 37 ++++++++++++++++++++++++-------------
1 file changed, 24 insertions(+), 13 deletions(-)
diff --git a/subs/energy_api.py b/subs/energy_api.py
index ab5a33a..41e6746 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -391,8 +391,7 @@ def co2_int_plot(df_):
def co2_plot_trend(df_):
- """
- Plots the trend of CO2 intensity over time along with categorized intensity levels.
+ """Plots the trend of CO2 intensity over time along with categorized intensity levels.
This function takes a DataFrame containing CO2 emission data, including timestamps
and values, and plots a trend line of emissions. It overlays this with a scatter
@@ -485,6 +484,25 @@ def co2_plot_trend(df_):
plt.tight_layout() # Adjust layout to make room for plot elements
return plt
+def today_time():
+ """Generate start and end date and time strings for today's data reading.
+
+ Returns:
+ Tuple[str, str]: A tuple containing the start date and time string
+ formatted as 'YYYY-MM-DD HH:MM:SS' and the end date and time string
+ formatted as 'YYYY-MM-DD HH:MM:SS'.
+ """
+ now = round_time(datetime.datetime.now())
+
+ # Start time of today
+ startDateTime = format_date(
+ datetime.datetime(now.year, now.month, now.day, 0, 0, 0)
+ )
+
+ # End time (current time, rounded to the nearest 15 minutes)
+ endDateTime = format_date(now)
+
+ return startDateTime,endDateTime
def wind_gen_cal():
"""This function retrives the generated wind for today
@@ -498,17 +516,10 @@ def wind_gen_cal():
- Value: Wind generation values.
"""
- now = round_time(datetime.datetime.now())
-
- # Start time of today
- startDateTime = format_date(
- datetime.datetime(now.year, now.month, now.day, 0, 0, 0)
- )
-
- # End time (current time, rounded to the nearest 15 minutes)
- endDateTime = format_date(now)
-
# Retrive data for generated wind for today
- wind_for_today = eirgrid_api("windactual", "ALL", startDateTime, endDateTime)
+ wind_for_today = eirgrid_api("windactual", "ALL", today_time)
return wind_for_today
+
+def actual_demand_cal():
+
From f4a5efb8b4e40355f74ff283e92fdb988d02da97 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 17:23:02 +0000
Subject: [PATCH 05/23] Add actual_demand_cal for gettind demand data
---
subs/energy_api.py | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
diff --git a/subs/energy_api.py b/subs/energy_api.py
index 41e6746..99d15fb 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -484,14 +484,15 @@ def co2_plot_trend(df_):
plt.tight_layout() # Adjust layout to make room for plot elements
return plt
+
def today_time():
"""Generate start and end date and time strings for today's data reading.
Returns:
- Tuple[str, str]: A tuple containing the start date and time string
- formatted as 'YYYY-MM-DD HH:MM:SS' and the end date and time string
+ Tuple[str, str]: A tuple containing the start date and time string
+ formatted as 'YYYY-MM-DD HH:MM:SS' and the end date and time string
formatted as 'YYYY-MM-DD HH:MM:SS'.
- """
+ """
now = round_time(datetime.datetime.now())
# Start time of today
@@ -502,7 +503,8 @@ def today_time():
# End time (current time, rounded to the nearest 15 minutes)
endDateTime = format_date(now)
- return startDateTime,endDateTime
+ return startDateTime, endDateTime
+
def wind_gen_cal():
"""This function retrives the generated wind for today
@@ -515,11 +517,27 @@ def wind_gen_cal():
- Region: Region for which the wind generation is recorded (ROI/NI/ALL).
- Value: Wind generation values.
"""
+ startDateTime, endDateTime = today_time()
# Retrive data for generated wind for today
- wind_for_today = eirgrid_api("windactual", "ALL", today_time)
+ wind_for_today = eirgrid_api("windactual", "ALL", startDateTime, endDateTime)
return wind_for_today
+
def actual_demand_cal():
+ """Return total actual demand as a DataFrame.
+
+ Returns:
+ pd.DataFrame: DataFrame containing actual demand data for today.
+ The DataFrame has the following columns:
+ - EffectiveTime: Timestamps representing the time of measurement.
+ - FieldName: Name of the demand field.
+ - Region: Region for which the demand is recorded.
+ - Value: Demand values.
+ """
+ startDateTime, endDateTime = today_time()
+ # Retrive data for actual demand for today
+ demand_for_today = eirgrid_api("demandactual", "ALL", startDateTime, endDateTime)
+ return demand_for_today
From 051252c015bd7da4d6a3feaff0e19c6e3cfac038 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 17:32:28 +0000
Subject: [PATCH 06/23] create a func for slicing only valid parts
---
subs/energy_api.py | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/subs/energy_api.py b/subs/energy_api.py
index 99d15fb..0a60901 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -506,6 +506,35 @@ def today_time():
return startDateTime, endDateTime
+def process_data_frame(data_frame):
+ """Process a DataFrame by converting timestamps, interpolating missing values,
+ and selecting recent data.
+
+ Args:
+ data_frame (pd.DataFrame): DataFrame containing data.
+
+ Returns:
+ pd.DataFrame: Processed DataFrame with timestamps converted,
+ missing values interpolated, and recent data selected.
+ """
+ # Convert 'EffectiveTime' to datetime and set as index
+ data_frame["EffectiveTime"] = pd.to_datetime(
+ data_frame["EffectiveTime"], format="%d-%b-%Y %H:%M:%S"
+ )
+ data_frame_indexed = data_frame.set_index("EffectiveTime")
+
+ # Find the last valid index
+ last_valid_index = data_frame_indexed["Value"].last_valid_index()
+
+ # Select rows up to the row before the last NaN
+ recent_data_frame = data_frame_indexed.loc[:last_valid_index]
+
+ # Interpolate missing values
+ recent_data_frame["Value"] = recent_data_frame["Value"].interpolate()
+
+ return recent_data_frame
+
+
def wind_gen_cal():
"""This function retrives the generated wind for today
From 169d98c02b11007df86f86fa1275ea18e89a97be Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 17:46:00 +0000
Subject: [PATCH 07/23] Add area plot in nb for poc
---
eirgrid_api.ipynb | 1246 ++++++++++++++++++++++++++++++++++++++++++++
subs/energy_api.py | 7 +-
2 files changed, 1251 insertions(+), 2 deletions(-)
diff --git a/eirgrid_api.ipynb b/eirgrid_api.ipynb
index 77b2782..154f503 100644
--- a/eirgrid_api.ipynb
+++ b/eirgrid_api.ipynb
@@ -3880,6 +3880,1252 @@
" plt.show()\n"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from subs.energy_api import *\n",
+ "now = round_time(datetime.datetime.now())\n",
+ "\n",
+ "# Start time (same time yesterday, rounded to the nearest 15 minutes)\n",
+ "yesterday = now - datetime.timedelta(days=1)\n",
+ "startDateTime = format_date(yesterday)\n",
+ "\n",
+ "# End time (current time, rounded to the nearest 15 minutes)\n",
+ "endDateTime = format_date(now)\n",
+ "\n",
+ "# call API to get fuel mix for current time\n",
+ "fuel_mix_eirgrid = eirgrid_api(\"fuelMix\", \"ALL\", startDateTime, startDateTime)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'16-mar-2024+17%3A00'"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "endDateTime"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 16-Mar-2024 16:30:00 \n",
+ " FUEL_COAL \n",
+ " ALL \n",
+ " 3057.62 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 16-Mar-2024 16:30:00 \n",
+ " FUEL_GAS \n",
+ " ALL \n",
+ " 52226.39 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 16-Mar-2024 16:30:00 \n",
+ " FUEL_NET_IMPORT \n",
+ " ALL \n",
+ " 6953.67 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 16-Mar-2024 16:30:00 \n",
+ " FUEL_OTHER_FOSSIL \n",
+ " ALL \n",
+ " 4510.56 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 16-Mar-2024 16:30:00 \n",
+ " FUEL_RENEW \n",
+ " ALL \n",
+ " 48651.90 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value\n",
+ "0 16-Mar-2024 16:30:00 FUEL_COAL ALL 3057.62\n",
+ "1 16-Mar-2024 16:30:00 FUEL_GAS ALL 52226.39\n",
+ "2 16-Mar-2024 16:30:00 FUEL_NET_IMPORT ALL 6953.67\n",
+ "3 16-Mar-2024 16:30:00 FUEL_OTHER_FOSSIL ALL 4510.56\n",
+ "4 16-Mar-2024 16:30:00 FUEL_RENEW ALL 48651.90"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "fuel_mix_eirgrid"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "now = round_time(datetime.datetime.now())\n",
+ "\n",
+ "# Start time (same time yesterday, rounded to the nearest 15 minutes)\n",
+ "\n",
+ "\n",
+ "startDateTime = format_date(datetime.datetime(now.year, now.month, now.day, 0, 0, 0))\n",
+ "\n",
+ "# End time (current time, rounded to the nearest 15 minutes)\n",
+ "endDateTime = format_date(now)\n",
+ "\n",
+ "wind_for_today=eirgrid_api(\n",
+ " \"windactual\", \"ALL\", startDateTime, endDateTime\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 16-Mar-2024 00:00:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 617.0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 16-Mar-2024 00:15:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 710.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 16-Mar-2024 00:30:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 755.0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 16-Mar-2024 00:45:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 831.0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 16-Mar-2024 01:00:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 957.0 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 64 \n",
+ " 16-Mar-2024 16:00:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 3056.0 \n",
+ " \n",
+ " \n",
+ " 65 \n",
+ " 16-Mar-2024 16:15:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 3018.0 \n",
+ " \n",
+ " \n",
+ " 66 \n",
+ " 16-Mar-2024 16:30:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 2988.0 \n",
+ " \n",
+ " \n",
+ " 67 \n",
+ " 16-Mar-2024 16:45:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 2891.0 \n",
+ " \n",
+ " \n",
+ " 68 \n",
+ " 16-Mar-2024 17:00:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
69 rows × 4 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value\n",
+ "0 16-Mar-2024 00:00:00 WIND_ACTUAL ALL 617.0\n",
+ "1 16-Mar-2024 00:15:00 WIND_ACTUAL ALL 710.0\n",
+ "2 16-Mar-2024 00:30:00 WIND_ACTUAL ALL 755.0\n",
+ "3 16-Mar-2024 00:45:00 WIND_ACTUAL ALL 831.0\n",
+ "4 16-Mar-2024 01:00:00 WIND_ACTUAL ALL 957.0\n",
+ ".. ... ... ... ...\n",
+ "64 16-Mar-2024 16:00:00 WIND_ACTUAL ALL 3056.0\n",
+ "65 16-Mar-2024 16:15:00 WIND_ACTUAL ALL 3018.0\n",
+ "66 16-Mar-2024 16:30:00 WIND_ACTUAL ALL 2988.0\n",
+ "67 16-Mar-2024 16:45:00 WIND_ACTUAL ALL 2891.0\n",
+ "68 16-Mar-2024 17:00:00 WIND_ACTUAL ALL NaN\n",
+ "\n",
+ "[69 rows x 4 columns]"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "wind_for_today"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# data is availble every 30 minutes, so we need to start at the nearest half-hour\n",
+ "def round_down_time(dt):\n",
+ " # Round down to the nearest half-ho/ur\n",
+ " new_minute = 30 if dt.minute >= 30 else 0\n",
+ " return dt.replace(minute=new_minute, second=0, microsecond=0)\n",
+ "\n",
+ "# Current date and time\n",
+ "now = datetime.datetime.now()\n",
+ "# Round down to the nearest half-hour\n",
+ "start_time = round_down_time(now)\n",
+ "# For end time, let's use 24 hours from now\n",
+ "end_time = now.replace(\n",
+ " hour=23, minute=59, second=59, microsecond=0\n",
+ ") # now + timedelta(days=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "datetime.datetime(2024, 3, 16, 23, 59, 59)"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "end_time"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def today_time():\n",
+ " \"\"\"Generate start and end date and time strings for today's data reading.\n",
+ "\n",
+ " Returns:\n",
+ " Tuple[str, str]: A tuple containing the start date and time string\n",
+ " formatted as 'YYYY-MM-DD HH:MM:SS' and the end date and time string\n",
+ " formatted as 'YYYY-MM-DD HH:MM:SS'.\n",
+ " \"\"\"\n",
+ " now = round_time(datetime.datetime.now())\n",
+ "\n",
+ " # Start time of today\n",
+ " startDateTime = format_date(\n",
+ " datetime.datetime(now.year, now.month, now.day, 0, 0, 0)\n",
+ " )\n",
+ "\n",
+ " # End time (current time, rounded to the nearest 15 minutes)\n",
+ " endDateTime = format_date(now)\n",
+ "\n",
+ " return (startDateTime, endDateTime)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "startDateTime, endDateTime = today_time()\n",
+ "\n",
+ "\n",
+ "demand_for_today = eirgrid_api(\"demandactual\", \"ALL\", startDateTime,endDateTime)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 16-Mar-2024 00:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4396.0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 16-Mar-2024 00:15:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4356.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 16-Mar-2024 00:30:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4281.0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 16-Mar-2024 00:45:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4206.0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 16-Mar-2024 01:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4139.0 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 65 \n",
+ " 16-Mar-2024 16:15:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5137.0 \n",
+ " \n",
+ " \n",
+ " 66 \n",
+ " 16-Mar-2024 16:30:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5211.0 \n",
+ " \n",
+ " \n",
+ " 67 \n",
+ " 16-Mar-2024 16:45:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5187.0 \n",
+ " \n",
+ " \n",
+ " 68 \n",
+ " 16-Mar-2024 17:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5206.0 \n",
+ " \n",
+ " \n",
+ " 69 \n",
+ " 16-Mar-2024 17:15:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " NaN \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
70 rows × 4 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EffectiveTime FieldName Region Value\n",
+ "0 16-Mar-2024 00:00:00 SYSTEM_DEMAND ALL 4396.0\n",
+ "1 16-Mar-2024 00:15:00 SYSTEM_DEMAND ALL 4356.0\n",
+ "2 16-Mar-2024 00:30:00 SYSTEM_DEMAND ALL 4281.0\n",
+ "3 16-Mar-2024 00:45:00 SYSTEM_DEMAND ALL 4206.0\n",
+ "4 16-Mar-2024 01:00:00 SYSTEM_DEMAND ALL 4139.0\n",
+ ".. ... ... ... ...\n",
+ "65 16-Mar-2024 16:15:00 SYSTEM_DEMAND ALL 5137.0\n",
+ "66 16-Mar-2024 16:30:00 SYSTEM_DEMAND ALL 5211.0\n",
+ "67 16-Mar-2024 16:45:00 SYSTEM_DEMAND ALL 5187.0\n",
+ "68 16-Mar-2024 17:00:00 SYSTEM_DEMAND ALL 5206.0\n",
+ "69 16-Mar-2024 17:15:00 SYSTEM_DEMAND ALL NaN\n",
+ "\n",
+ "[70 rows x 4 columns]"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "demand_for_today"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/var/folders/n8/5rf_2zc91lx1ffhm5t27hrsw0000gn/T/ipykernel_2130/3212117684.py:18: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df_demand_recent[\"Value\"] = df_demand_recent[\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Convert 'EffectiveTime' to datetime and set as index\n",
+ "demand_for_today[\"EffectiveTime\"] = pd.to_datetime(\n",
+ " demand_for_today[\"EffectiveTime\"], format=\"%d-%b-%Y %H:%M:%S\"\n",
+ ")\n",
+ "demand_for_today_indexed = demand_for_today.set_index(\n",
+ " \"EffectiveTime\"\n",
+ ")\n",
+ "\n",
+ "last_value_index_demand = demand_for_today_indexed[\n",
+ " \"Value\"\n",
+ "].last_valid_index()\n",
+ "\n",
+ "# Select rows up to the row before the last NaN\n",
+ "df_demand_recent = demand_for_today_indexed.loc[\n",
+ " :last_value_index_demand\n",
+ "]\n",
+ "\n",
+ "df_demand_recent[\"Value\"] = df_demand_recent[\n",
+ " \"Value\"\n",
+ "].interpolate()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4396.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:15:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4356.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:30:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4281.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:45:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4206.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 01:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4139.0 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5108.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:15:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5137.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:30:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5211.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:45:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5187.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 17:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5206.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
69 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " FieldName Region Value\n",
+ "EffectiveTime \n",
+ "2024-03-16 00:00:00 SYSTEM_DEMAND ALL 4396.0\n",
+ "2024-03-16 00:15:00 SYSTEM_DEMAND ALL 4356.0\n",
+ "2024-03-16 00:30:00 SYSTEM_DEMAND ALL 4281.0\n",
+ "2024-03-16 00:45:00 SYSTEM_DEMAND ALL 4206.0\n",
+ "2024-03-16 01:00:00 SYSTEM_DEMAND ALL 4139.0\n",
+ "... ... ... ...\n",
+ "2024-03-16 16:00:00 SYSTEM_DEMAND ALL 5108.0\n",
+ "2024-03-16 16:15:00 SYSTEM_DEMAND ALL 5137.0\n",
+ "2024-03-16 16:30:00 SYSTEM_DEMAND ALL 5211.0\n",
+ "2024-03-16 16:45:00 SYSTEM_DEMAND ALL 5187.0\n",
+ "2024-03-16 17:00:00 SYSTEM_DEMAND ALL 5206.0\n",
+ "\n",
+ "[69 rows x 3 columns]"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_demand_recent"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "startDateTime, endDateTime = today_time()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'16-mar-2024+00%3A00'"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "startDateTime"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/Users/saeed/Documents/GitHub/telegram-energy-api/subs/energy_api.py:533: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " recent_data_frame[\"Value\"] = recent_data_frame[\"Value\"].interpolate()\n"
+ ]
+ }
+ ],
+ "source": [
+ "from subs.energy_api import *\n",
+ "\n",
+ "demand = actual_demand_cal()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/Users/saeed/Documents/GitHub/telegram-energy-api/subs/energy_api.py:533: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " recent_data_frame[\"Value\"] = recent_data_frame[\"Value\"].interpolate()\n"
+ ]
+ }
+ ],
+ "source": [
+ "wind = wind_gen_cal()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:00:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 617.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:15:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 710.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:30:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 755.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:45:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 831.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 01:00:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 957.0 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:15:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 3018.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:30:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 2988.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:45:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 2891.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 17:00:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 2835.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 17:15:00 \n",
+ " WIND_ACTUAL \n",
+ " ALL \n",
+ " 2679.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
70 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " FieldName Region Value\n",
+ "EffectiveTime \n",
+ "2024-03-16 00:00:00 WIND_ACTUAL ALL 617.0\n",
+ "2024-03-16 00:15:00 WIND_ACTUAL ALL 710.0\n",
+ "2024-03-16 00:30:00 WIND_ACTUAL ALL 755.0\n",
+ "2024-03-16 00:45:00 WIND_ACTUAL ALL 831.0\n",
+ "2024-03-16 01:00:00 WIND_ACTUAL ALL 957.0\n",
+ "... ... ... ...\n",
+ "2024-03-16 16:15:00 WIND_ACTUAL ALL 3018.0\n",
+ "2024-03-16 16:30:00 WIND_ACTUAL ALL 2988.0\n",
+ "2024-03-16 16:45:00 WIND_ACTUAL ALL 2891.0\n",
+ "2024-03-16 17:00:00 WIND_ACTUAL ALL 2835.0\n",
+ "2024-03-16 17:15:00 WIND_ACTUAL ALL 2679.0\n",
+ "\n",
+ "[70 rows x 3 columns]"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "wind"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " FieldName \n",
+ " Region \n",
+ " Value \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4396.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:15:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4356.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:30:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4281.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:45:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4206.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 01:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 4139.0 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:15:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5137.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:30:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5211.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:45:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5187.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 17:00:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5206.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 17:15:00 \n",
+ " SYSTEM_DEMAND \n",
+ " ALL \n",
+ " 5217.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
70 rows × 3 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " FieldName Region Value\n",
+ "EffectiveTime \n",
+ "2024-03-16 00:00:00 SYSTEM_DEMAND ALL 4396.0\n",
+ "2024-03-16 00:15:00 SYSTEM_DEMAND ALL 4356.0\n",
+ "2024-03-16 00:30:00 SYSTEM_DEMAND ALL 4281.0\n",
+ "2024-03-16 00:45:00 SYSTEM_DEMAND ALL 4206.0\n",
+ "2024-03-16 01:00:00 SYSTEM_DEMAND ALL 4139.0\n",
+ "... ... ... ...\n",
+ "2024-03-16 16:15:00 SYSTEM_DEMAND ALL 5137.0\n",
+ "2024-03-16 16:30:00 SYSTEM_DEMAND ALL 5211.0\n",
+ "2024-03-16 16:45:00 SYSTEM_DEMAND ALL 5187.0\n",
+ "2024-03-16 17:00:00 SYSTEM_DEMAND ALL 5206.0\n",
+ "2024-03-16 17:15:00 SYSTEM_DEMAND ALL 5217.0\n",
+ "\n",
+ "[70 rows x 3 columns]"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "demand"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Demand \n",
+ " Wind \n",
+ " \n",
+ " \n",
+ " EffectiveTime \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:00:00 \n",
+ " 4396.0 \n",
+ " 617.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:15:00 \n",
+ " 4356.0 \n",
+ " 710.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:30:00 \n",
+ " 4281.0 \n",
+ " 755.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 00:45:00 \n",
+ " 4206.0 \n",
+ " 831.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 01:00:00 \n",
+ " 4139.0 \n",
+ " 957.0 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:15:00 \n",
+ " 5137.0 \n",
+ " 3018.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:30:00 \n",
+ " 5211.0 \n",
+ " 2988.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 16:45:00 \n",
+ " 5187.0 \n",
+ " 2891.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 17:00:00 \n",
+ " 5206.0 \n",
+ " 2835.0 \n",
+ " \n",
+ " \n",
+ " 2024-03-16 17:15:00 \n",
+ " 5217.0 \n",
+ " 2679.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
70 rows × 2 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Demand Wind\n",
+ "EffectiveTime \n",
+ "2024-03-16 00:00:00 4396.0 617.0\n",
+ "2024-03-16 00:15:00 4356.0 710.0\n",
+ "2024-03-16 00:30:00 4281.0 755.0\n",
+ "2024-03-16 00:45:00 4206.0 831.0\n",
+ "2024-03-16 01:00:00 4139.0 957.0\n",
+ "... ... ...\n",
+ "2024-03-16 16:15:00 5137.0 3018.0\n",
+ "2024-03-16 16:30:00 5211.0 2988.0\n",
+ "2024-03-16 16:45:00 5187.0 2891.0\n",
+ "2024-03-16 17:00:00 5206.0 2835.0\n",
+ "2024-03-16 17:15:00 5217.0 2679.0\n",
+ "\n",
+ "[70 rows x 2 columns]"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "combined"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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RHvI9+eNN96gtLSUW265BcMwGDt2LJdffjnr1q2L9o5PmTKFwYMH07dvX8aMGcPOnTu54YYbYoazH0goFGLHjh21ticlJZGSkhKz7aqrriIvL48xY8bw9ddf849//IP27dvz+OOPR48ZPXo0v//977nqqqu46aab2L59O88//zxnnnkmixYtIjMzM3rszp07ufDCC7nmmmv4xS9+QU5ODpZl8dOf/pT58+czYsQIevfuzQcffMDQoUNjarniiisYOXIkr7/+Oscff3zMvtdff50BAwbQqVOnfb7uDz/8kB49enDqqafWqZ1uuukmJkyYwBVXXMFdd93Fl19+yZgxY1ixYkWtP3SsWbOGK664guHDhzN06FBee+01hg0bRr9+/TjyyCM588wzuf3223nuuee4//77o6MeIh8hPIz82muv5ZZbbuGXv/wlRxxxxH7ru+2228jMzOThhx9m1apV/O1vf2Pjxo3MmDGjXhMO1qW2miorKxkwYABr1qzhtttuIy8vj7fffpthw4ZRVFQU84cLqNv3tYhIq2CLiEiTNW7cOBuwFyxYsM9jMjIy7OOPPz56/9xzz7WPPvpou6qqKrrNsiz71FNPtXv16lXr3AMHDrQty4puz8/Ptw3DsG+99dbotmAwaHfu3Nk+66yzYp67oqIi5r7f77ePOuoo+5xzzonZDthut9tes2ZNdNuSJUtswH7++eej2y699FLb6/XaGzdujG5bvny57XA47AP9l2VZlt2pUyd78ODBMdvfeustG7A///xz27Zt+7333jtgm+7L3XffbQP25s2bbdu27X//+9+21+u1fT6fPXHiRNvhcNglJSW2bdv2X//6VxuwZ8+eHX380KFD7W7dukXvr1+/3gbsNm3a2Lt27Ypu/+CDD2zA/vDDD6PbjjvuOLtDhw52UVFRdNuUKVNsIOac+3LWWWfZwF5vt9xyS/S4hx56yAbsG2+8Mebxl112md2mTZvo/Q0bNtgOh8MePXp0zHHffPON7XQ6Y7ZHnvull16KOfa///2vDdjPPPNMdFsoFLLPOeccG7DHjRsX3X7ttdfaHTt2tEOhUHTb119/Xeu4PRUXF9uA/bOf/Wy/7ROxePFiG7BvuummmO2//e1vbcCeNm1adFu3bt1ivrds27a3bdtmezwe+6677opue/vtt23Anj59eq3ni5zjk08+2eu+oUOHRu9Hfmb79etn+/3+6PaxY8fagP3BBx9EtwH2Qw89dMBz7q+2s846K+Zn/plnnrEB+1//+ld0m9/vt/Pz8+3U1NTo9359vq9FRFoDDS8XEWnmUlNTo7OY79q1i2nTpnHVVVdRWlrKjh072LFjBzt37mTgwIGsXr261jDc4cOHx/SOnXLKKdi2zfDhw6PbHA4HJ554IuvWrYt5bM3ryHfv3k1xcTFnnHEGX3/9da06zzvvPA477LDo/WOOOYb09PToOUOhEJMnT+bSSy+la9eu0eP69OnDwIEDD9gOhmFw5ZVXMnHiRMrKyqLb//Of/9CpU6doj3Ok9/Wjjz4iEAgc8Lw1Rc7xxRdfAOGh5f369cPtdpOfnx8dUh7ZFxnafyBXX301WVlZ0ftnnHEGQLRtCgoKWLx4MUOHDo2Z9Oz888+nb9++da6/e/fuTJ06tdbtjjvuqHXsrbfeGnP/jDPOYOfOnZSUlADw7rvvYlkWV111VfT7bMeOHeTm5tKrVy+mT58e83iPx8MNN9wQs+2TTz7B5XJFR2kAmKbJyJEja9UzZMgQtmzZEnPe119/naSkJAYPHrzP1xypNy0tbZ/H1DRx4kQARo0aFbP9rrvuAqh17Xffvn2jXy+Adu3accQRR9T6WdmfvLy8On2PR9x8880xPcUjRozA6XRGa28sEydOJDc3l2uvvTa6zeVycfvtt1NWVsbMmTNjjj/Q97WISGuh0C0i0syVlZVFA8WaNWuwbZvf//73tGvXLub20EMPAeFrMmuqGXDhx5msu3TpUmv7nteNfvTRR/Tv3x+v10t2djbt2rXjb3/7G8XFxbXq3PN5ALKysqLn3L59O5WVlfTq1avWcQcabhtx9dVXU1lZGb1+vaysjIkTJ3LllVdG/7Bw1llnMXjwYB555BHatm3Lz372M8aNG1fret29Oe200zAMI3rt9uzZsznttNOAcJjv27dvzL6TTjqpTpNR7dk2kaASaZuNGzcCHFLbAKSkpHDeeefVuu1tybAD1bR69Wps26ZXr161vtdWrFhR6/usU6dOtdpi48aNdOjQodaEaj179qxVz/nnn0+HDh14/fXXgfA18//+97/52c9+tt9AnZ6eDlDn5fU2btyIaZq1asjNzSUzMzP6tYg40Pd1XeTl5dX5WKj9fZCamkqHDh0afdmvjRs30qtXr1ozqkeGox+obfb8HhIRaS10TbeISDO2efNmiouLowEhshzVb3/72332nO0ZJhwOx16P29t2u8ZEal988QWXXHIJZ555Ji+++CIdOnTA5XIxbtw43njjjTqdb89zHqr+/fvTvXt33nrrLX7+85/z4YcfUllZydVXXx09xjAM3nnnHebNm8eHH37I5MmTufHGG3nyySeZN28eqamp+zx/mzZt6N27N7NmzaKsrIylS5dG/5gBcOqppzJr1iw2b97Mpk2buO666+pUdzzapr4OVJNlWRiGwaRJk/Z67J7teKiz6zscDn7+85/zyiuv8OKLLzJ79my2bNlywNnY09PT6dixI99++229nq+u10Y3xNcunisPRCYTjIem+H0tIpIICt0iIs3Y//3f/wFEA3aPHj2A8JDP8847r1Gf+7///S9er5fJkyfHLG00bty4gzpfu3btSEpKYvXq1bX2rVq1qs7nueqqq3j22WcpKSnhP//5D927d6d///61juvfvz/9+/dn9OjRvPHGG1x33XW8+eab3HTTTfs9/+mnn85rr73GlClTCIVCMZNznXrqqfz73/+Ozv5cl0nU6qJbt24Ah9w2Demwww7Dtm3y8vI4/PDDD+oc3bp1Y/r06bWWD1uzZs1ejx8yZAhPPvkkH374IZMmTaJdu3Z1GpZ98cUX8/LLLzN37lzy8/MPWJNlWaxevTpmQrHCwkKKioqiX4v6qM/kZnWxevVqzj777Oj9srIyCgoKuOiii6LbsrKyKCoqinmc3++noKDgoGvr1q0bS5cuxbKsmN7ulStXRveLiEhtGl4uItJMTZs2jccee4y8vLxoj2r79u0ZMGAAf//732u9uYbwEO6G4nA4MAwjpudsw4YNvP/++wd9voEDB/L++++zadOm6PYVK1YwefLkOp/n6quvxufzMWHCBD755BOuuuqqmP27d++u1dN23HHHAdRpiPnpp59OKBTiiSeeiA6tjjj11FMpKyvjxRdfxDTNOs+WfSAdOnTguOOOY8KECTFD96dOncry5csb5Dnq6/LLL8fhcPDII4/Uak/bttm5c+cBzzFw4EACgQCvvPJKdJtlWbzwwgt7Pf6YY47hmGOO4R//+Af//e9/ueaaa3A6D9x/cM8995CSksJNN91EYWFhrf1r167l2WefBYgG12eeeSbmmKeeegqg1qz8dRGZGX7PEHywXn755Zj5CP72t78RDAa58MILo9sOO+wwPv/881qP27Onuz61XXTRRWzdupX//Oc/0W3BYJDnn3+e1NRUzjrrrIN5OSIiLZ56ukVEmoFJkyaxcuVKgsEghYWFTJs2jalTp9KtWzf+97//4fV6o8e+8MILnH766Rx99NH88pe/pEePHhQWFjJ37lw2b97MkiVLGqSmQYMG8dRTT/GTn/yEn//852zbto0XXniBnj17snTp0oM65yOPPMInn3zCGWecwa9+9avoG/ojjzyyzuc84YQT6NmzJw888AA+ny9maDnAhAkTePHFF7nssss47LDDKC0t5ZVXXiE9PT2mp3BfIr3Xc+fOrbWG8uGHH07btm2ZO3cuRx99dMySWYdqzJgxDBo0iNNPP50bb7yRXbt2Rdum5sRx+1NcXFxrTfeIAw3T3tNhhx3GH//4R+677z42bNjApZdeSlpaGuvXr+e9997j5ptv5re//e1+z3HppZdy8sknc9ddd7FmzRp69+7N//73P3bt2gXsvRd2yJAh0fPWtebDDjuMN954g6uvvpo+ffowZMgQjjrqKPx+P3PmzIkuewVw7LHHMnToUF5++WWKioo466yzmD9/PhMmTODSSy+N6WGuq+OOOw6Hw8Hjjz9OcXExHo+Hc845h/bt29f7XBDusT733HO56qqrWLVqFS+++CKnn346l1xySfSYm266iVtvvZXBgwdz/vnns2TJEiZPnkzbtm0Purabb76Zv//97wwbNoyFCxfSvXt33nnnHWbPns0zzzxT58nqRERanYTMmS4iInUSWSIocnO73XZubq59/vnn288++2x0iZ49rV271h4yZIidm5tru1wuu1OnTvbFF19sv/POO7XOvefSWZElo7Zv3x6zfejQoXZKSkrMtldffdXu1auX7fF47N69e9vjxo2LPr4mwB45cmStOvdcvsi2bXvmzJl2v379bLfbbffo0cN+6aWX9nrO/XnggQdswO7Zs2etfV9//bV97bXX2l27drU9Ho/dvn17++KLL7a/+uqrOp+/Y8eONmC//PLLtfZdcsklNmCPGDGi1r59LRn2l7/8pdax7GXJp//+9792nz59bI/HY/ft29d+9913a51zX/a3ZFjNtt3X1z/y/bJ+/fpaNZ1++ul2SkqKnZKSYvfu3dseOXKkvWrVqpjnPvLII/da1/bt2+2f//zndlpamp2RkWEPGzbMnj17tg3Yb775Zq3jCwoKbIfDYR9++OEHfM17+u677+xf/vKXdvfu3W23222npaXZp512mv3888/HLLEXCATsRx55xM7Ly7NdLpfdpUsX+7777os5xrbD37+DBg2q9Tx7LrVl27b9yiuv2D169IgufxdZomtf54js29uSYTNnzrRvvvlmOysry05NTbWvu+46e+fOnTGPDYVC9r333mu3bdvWTk5OtgcOHGivWbNmrz9z+6ptb6+jsLDQvuGGG+y2bdvabrfbPvroo2st2Vbf72sRkZbOsG3NZiEiIiJNx/vvv89ll13GrFmzorPDR+zYsYMOHTrwhz/8gd///vcJqlBERKTudE23iIiIJExlZWXM/VAoxPPPP096ejonnHBCrePHjx9PKBTi+uuvj1eJIiIih0TXdIuIiEjC/PrXv6ayspL8/Hx8Ph/vvvsuc+bM4U9/+lPMUlrTpk1j+fLljB49mksvvZTu3bsnrmgREZF60PByERERSZg33niDJ598kjVr1lBVVUXPnj0ZMWIEt912W8xxAwYMYM6cOZx22mn861//olOnTgmqWEREpH4UukVEREREREQaia7pFhEREREREWkkCt0iIiIiIiIijUQTqdWBZVls2bKFtLQ0DMNIdDkiIiIiIiJSR7ZtU1paSseOHTHN+Pc7K3TXwZYtW+jSpUuiyxAREREREZGD9P3339O5c+e4P69Cdx2kpaUB4S9Senp6gqvZu0AgwJQpU7jgggtwuVyJLqdVUJvHn9o8/tTm8ac2jz+1efypzeNPbR5/avP421ebl5SU0KVLl2iuizeF7jqIDClPT09v0qE7OTmZ9PR0/VDHido8/tTm8ac2jz+1efypzeNPbR5/avP4U5vH34HaPFGXCmsiNREREREREZFGotAtIiIiIiIi0kgUukVEREREREQaia7pFhERERGRGKFQiEAgkOgymrVAIIDT6aSqqopQKJToclo0l8uFw+FIdBn7pNAtIiIiIiJAeD3jrVu3UlRUlOhSmj3btsnNzeX7779P2ARerUlmZiZt2rRJdBl7pdAtIiIiIiIA0cDdvn17kpOTFRYPgWVZlJWVkZqaimnqqt7GYts2FRUVbNu2rcmOKFDoFhERERERQqFQNHA31R7D5sSyLPx+P16vV6G7kSUlJQFQWFjYJP9QpK++iIiIiIhEr+FOTk5OcCUi9Rf5vm2K13YrdIuIiIiISFRT7CkUOZCm/H2r0C0iIiIiIiLSSHRNt4iIiIiI7FOxP0Rl0I7b8yU5DTLcTW+IcCIMGzaMoqIi3n///USXIodAoVtERERERPaq2B/i5eW7CcUvc+Mw4Oa+WfUK3sOGDWPChAkAOJ1OsrOzOeaYY7j22msZNmyYJjKThNJ3n4iIiIiI7FVl0I5r4AYI2RxUz/pPfvITCgoK2LBhA5MmTeLss8/mN7/5DRdffDHBYLARKhWpG4VuERERERFp9jweD7m5uXTq1IkTTjiB+++/nw8++IBJkyYxfvx4AIqKirjpppto164d6enpnHPOOSxZsiR6jocffpjjjjuO1157ja5du5KamsqvfvUrQqEQY8eOJTc3l/bt2zN69OiY537qqac4+uijSUlJoUuXLvzqV7+irKwsun/8+PFkZmYyefJk+vTpQ2pqavSPBBGhUIhRo0aRmZlJmzZtuOeee7DtOP/FQxqFQreIiIiIiLRI55xzDsceeyzvvvsuAFdeeSXbtm1j0qRJLFy4kBNOOIFzzz2XXbt2RR+zdu1aJk2axCeffMK///1vXn31VQYNGsTmzZuZOXMmjz/+OA8++CBffvll9DGmafLcc8+xbNkyJkyYwLRp07j33ntjaqmoqOCJJ57g//7v//j888/ZtGkTv/3tb6P7n3zyScaPH89rr73GrFmz2LVrF++9914jt5DEg67pFhERERGRFqt3794sXbqUWbNmMX/+fLZt24bH4wHgiSee4P333+edd97h5ptvBsCyLF577TXS0tLo27cvZ599NqtWrWLixImYpskRRxzB448/zvTp0znllFMAuOOOO6LP1717d/74xz9y6623MmbMmOj2QCDASy+9xGGHHQbAbbfdxqOPPhrd/8wzz3Dfffdx+eWXA/DSSy8xefLkRm0biQ+FbhERERERabFs28YwDJYsWUJZWRlt2rSJ2V9ZWcnatWuj97t3705aWlr0fk5ODg6HI2YytpycHLZt2xa9/+mnnzJmzBhWrlxJSUkJwWCQqqoqKioqSE9PByA5OTkauAE6dOgQPUdxcTEFBQXREA/hCeFOPPFEDTFvARS6RURERESkxVqxYgV5eXmUlZXRoUMHZsyYUeuYzMzM6Oculytmn2EYe91mWRYAGzZs4OKLL2bEiBGMHj2a7OxsZs2axfDhwwkEAvs9rwJ166DQLSIiIiIiLdK0adP45ptvuPPOO+ncuTNbt27F6XTSvXv3BnuOhQsXYlkWTz75ZLQ3/K233qrXOTIyMujQoQNffvklZ555JgDBYDB63fnehCwbywaHCaZhHNqL2A/bDj+PBViRz22w+fFzy7bxOk2SnZoybG8UukVERESkSQhZNpUhm4qgRWXQojJoUxkKf/SFbAwDDMI3op8bMdsjn9tApBPRrnHfxsau3hjZZhiQ7XGQk+ykjdeBoxEDjDQen8/H1q1bCYVCFBYW8sknnzBmzBguvvhihgwZgmma5Ofnc+mllzJ27FgOP/xwtmzZwscff8xll13GiSeeeFDP27NnTwKBAM8//zw//elPmT17Ni+99FK9z/Ob3/yGP//5z/Tq1YvevXvz1FNPUVRUVOu4kG1THrCoCFpE+skdhoHTAKdphG/Vnx8ojEcCdcgOLw0Xsm2CVvV9C6zIz8teRM4c2W+EbJKVLvdKzSIiIiIijcK2bfyWTVnAoixgUR6wKQtalFb5AXh3XQnlthkO10GLfS3NHO07q/kuP5Ks9/a8exweY89zVH9u1XiuNl4HuclOcpKd5CQ5aZfkwOtQD15T98knn9ChQwecTidZWVkce+yxPPfccwwdOjTaAz1x4kQeeOABbrjhBrZv305ubi5nnnkmOTk5B/28xx57LE899RSPP/449913H2eeeSZjxoxhyJAh9TrPXXfdRUFBQbTeG2+8kcsuu4zi4mIg3JtcHrAorxG2IyKh2W/FhuQ9w7gdDdY/huyax+/nx6oWDYyvO8PWhQQHVFJSQkZGBsXFxdGJEJqaQCDAxIkTueiii2pdLyKNQ20ef2rz+FObx5/aPP7U5ocmYNkUVgTZWhFktz9EWcCi1F8dsoMWoT3eaRqAww7S6/svWdX5FCyzafYBmfwYxAHSXCYdqoN4usuMGWobqh5eGwkxll099Jfw0Ns0l0lOkpP2yQ5SnSZGAnrS6/J9XlVVxfr168nLy8Pr9QJQ7A/x8vLdtb6OjclhwM19s8hwO+L3pI3AsixKSkpIT0+PmYSt3uexw6M/ygK1w3Zd1QzT9QnW9eF1mGR5Evc1q6qqYt26daxfv54LLrgg5vs80Xmuaf6WExEREZEmJ2DZbKsMB+yC8iBbKgLs8oWjaWRot23v/w29TTiINnXWHvdLAxZlxX5WF/trvT6j5sc987T94/B2AK/DICfJGe5Jrw7i2R5Ho16Teygy3A5u7ptF5b6GITSCJKfR7AN3Q4iE7fKAzcHH7TB7H59LfCh0i4iIiEiM8Jt9mxJ/KBywK4JsKQ+yyxeKvmHfsye45jXULdW+Xp5d8+MB2qAqZLOxLMD3ZYFo+zkMaOt10CHZRU6ygy4pLtp4HQnpEd+bDLeDDHeiq2g97Oqfv7KAdchhW5oGhW4RERGRVqIiaFHit6p7z8LDv8MTMtnhntxAiIqgTdUeY4n3DNjs5b7UT832C9lQWBlie2UIa2d4m9dh0C3NRbdUF13TXLTxNJ0QLo0jZIUnDCxV2G5xFLpFREREWqDItdZbKoJsKQ+wuTxAWSD2jXxdh4QrYMdHzXauCtl8V+RnVVF40rnGDuEhy2a3L0jAsqkIWPiMEBbhXniHYeA0wx8dBgr/DSBk2QRibihot2AK3SIiIiLNnG3b7PZZbKkIsKU8yOayANurQntO0F37cbT8IeHNWc0vzb5CeE6SE5dpVN+o8XmNmwOMUDjSF/tDlFTa7PKF2O0LsbMqfCsNWCTbAU52WJQFQ7gd1j4niY/MiO0wDZzVQdxRvUyVAnltlg3+oEXQtvGHFLBbI4VuERERkSbMtsNDTiuC4UmVwrcfP99RFWJLeRB/9exke7vWWlqGvYXw1UX+mIna9sW0ghwBvLayKDpj/N4uG9jzufZ23sjyVIZVe7kpl2ngcRi4qwN/awrhdvUa10E73HsdtGxMYEdVCLv1NIPshUK3iIiISALZtk1JwGJ7ZYhtlUF2VoWiy21VBC2qgvZeg1FkASJda9161SVs78+hfq/s+dw24XWiI38AMgC3aeBxmLgdLacn3K7+o0Owemh40A5fzhGqMWzEALDBm7AqpSlR6BYRERGJE3/IZkdVkG3VAbuwMsj2yiD+6vSzv6Hge1K4lqbOBnyWjc8KQQBMDNwOA49p4HJUXx9efWxDhnHbtqNL00XWUrcIX0pR837083r+5cLmxx7+fa15XfPSDhGFbhEREZFDYFUP/64KRT5aP34eDH++qyrE1sogxf4fo/LehvZqKLi0ZBbhn5OqEBCI3WdU/xuZ3M+AmM+hxpD3PdY+j3Qw1wzD+1KfP2zVhX5mpS4UukVERETqaGdVkIXbK9lQGqAqFJ4UKbifd92R4LC3YcDqqZbmotwuxW9Xxe353IaXFCMtfKeBU23kdHM+n8kVF57Pih+2kZGZedDnu+Pm4RQXFzHuP/9tkPri5fuNGzil7+FMmTOfo449rsHaY282bNhAXl4eixYt4rjjjmvQczcXCQ3dDz/8MI888kjMtiOOOIKVK1cCUFVVxV133cWbb76Jz+dj4MCBvPjii+Tk5ESP37RpEyNGjGD69OmkpqYydOhQxowZg9P540ubMWMGo0aNYtmyZXTp0oUHH3yQYcOGxeU1ioiISPNm2zbrSgIsqA7b+xpOutfH1uNYkaao3C5lkv8NLEJxe04TBxe6f/5j8N6Pf/7jZR574Hes+GFb9P1/eVkZfTq156T8U/nvJ59Gj40EyznfrODE/vksXruJ9IyMRnsdEbZt869xr/LvCeNYtWI5TqeT7j0OY/A1P+e6G28iOTm5QZ7nP//3Tx669y5Wbtl+wGM7du7C4rWbyG7btkGeO2LYsGEUFRXx/vvvR7d16dKFgoIC2jbwczUn5oEPaVxHHnkkBQUF0dusWbOi++68804+/PBD3n77bWbOnMmWLVu4/PLLo/tDoRCDBg3C7/czZ84cJkyYwPjx4/nDH/4QPWb9+vUMGjSIs88+m8WLF3PHHXdw0003MXny5Li+ThEREWlefCGLr7ZX8tLy3by9roSNpeHxsArR0pr47aq4Bm4Ai1Cde9ZPPfMsysvKWPL1wui2L2fPol1OLosWzKeq6sfzzP58Bp26dKV7j8Nwu920z82Ny8Rut900jD/ccxcDL/4p70yaytS5C7jjd/cz+eMPmfnZ1EZ//j35/X4cDgftc3NjOiobi8PhIDdOz9VUJTx0O51OcnNzo7fIX0CKi4t59dVXeeqppzjnnHPo168f48aNY86cOcybNw+AKVOmsHz5cv71r39x3HHHceGFF/LYY4/xwgsv4PeH1zB86aWXyMvL48knn6RPnz7cdtttXHHFFTz99NMJe80iIiLSdO32hZj6fRnPf7uLTzeXR6/DVtgWaXp6Hn4EObkdmPP5zOi2OV/MZODFP6VL9+58Pf/L6Pa5X3zOaWeeFT7m85l0THFTXFQEhHuJe3dsx4ypUzjzhKPp2T6Ln//sYgoLCqKPD4VCPHzv3fTu2I4ju+Ty2AO/wz7AQvfvvfce7/7n37w4/v+4/e7fcVy/E+nSrTs/ufgS3p44hdPOHACAZVk8NeaP9OuVR/esVM7rfyLTp/zYSfj9xg10THEz8YP3uOLC8+nRNoPzTunHV1/Oi76eO2+9iZLiYjqmuOmY4uaJ0Y8CcHKfXjz959HcftMNHJ7bhntuGxE937dLFsfUu2DeHM49+QTystO4eMDprFz2bXTfE6Mf5bz+J8Yc/8pfn+PkPr0A+PNjjzBhwgQ++OADDCO8XNyMGTPYsGEDhmGwePGPzzVz5kxOPvlkPB4PHTp04He/+x3BYDC6f8CAAdx+++3cc889ZGdnk5uby8MPP7zftm7KEv7nhtWrV9OxY0e8Xi/5+fmMGTOGrl27snDhQgKBAOedd1702N69e9O1a1fmzp1L//79mTt3LkcffXTMcPOBAwcyYsQIli1bxvHHH8/cuXNjzhE55o477thnTT6fD5/PF71fUlICQCAQIBAI7OthCRWpq6nW1xKpzeNPbR5/avP4U5vHX6St1+2uYElRMGYIecJ7J1oo0wrGfJTGV5c2NwnvM+zwDUjcX5tq1nAAp555FnM+n8ntd90DhAPoyDvuwgqGmDNzBqedcRaVlZUsWjCfa68fGvP6Ip8bQGVFBS89+zTPvzIe0zS5bfhQHr3/Xl587Z8A/P3Zp3nr9X/y1Isv0+uI3vz9+WeY9OEHnHbWgH3UavP2229zWK/DuXDQJbXa0sAgIz0DbPjHC8/z9+eeYeyzL3DUscfx5v+NZ9hVlzNjwWJ69OwVPf+fH/4DD/3pcfIO68mfH/kDvxp2PXOXruCkU/J59PEn+cvoR5i1KByUU1JSo4976dmnGfW7B7jrvgejrztcQ+zX+7H7f8djf3mK9u1zGPPI7xl65eXMXrwMl8sVbae9vVbDhtvuGMX671ZSUlLCa6+9BkB2djZbtmwBwn9YsCyLH374gYsuuoihQ4cyfvx4Vq5cyS233ILH4+Ghhx6KnnPChAnceeedzJ07l7lz53LjjTeSn5/P+eefv9fvA8uyon8E2fP/0ET/n5rQ0H3KKacwfvx4jjjiCAoKCnjkkUc444wz+Pbbb9m6dStut5vMPS7kz8nJYevWrQBs3bo1JnBH9kf27e+YkpISKisrSUpKqlXXmDFjal1rDuGe9Ya65qKxTJ0a/yEqrZ3aPP7U5vGnNo8/tXn8rZw7Aw9wRKILaUV6bVl44IOkQe2vzZ1OJ67cXDzBStxmeEi5x66MV2kxPMFKvEZ5nY4dcFo+999/P87KYiorK/l2yWIG9D8RqsoYN24c3sBvmT/nc3w+H2fnn4w3UI47FB527g1W4A24cIV8BAIBnnnyL+Tl5QFw803D+ctf/oI3EK7jHy88x5133MHgiy4A4NknxjJj6mQcVih6zJ7WrVvH4T0P2+f+iL8/+xS/uf12rrn0YgD++IcHmTtzOq89/xRPPPEEnmD463D7bSO5+Nxwb/0D995Nfn4+W1Z9w+GHH06bVC8G0DW7xrXwgXIM2+LMM87gjhE3Rzdv2rSpup2rYtrjd/fczcAz8sM1vfBXjjzySD597z9cdtllOK0Ahm3FvBZXyB/d5nWGv4ccDkc0M1VVVVFWVgZAeXk5JSUlPPPMM3Tq1InRo0djGAYdO3bk3nvv5ZFHHuE3v/kNpmkSDAbp27dvtKP00ksv5fnnn2fSpEmccsope21Dv98fvZxgz/9DKyoq9tv+jS2hofvCCy+Mfn7MMcdwyimn0K1bN9566629huF4ue+++xg1alT0fklJCV26dOGCCy4gPT09YXXtTyAQYOrUqZx//vm4XK5El9MqqM3jT20ef2rz+FOb1xa0bL7Z5eO7Ih+VQZsqy8IfsgntoxcsMmN4TfY+Podwz1+vLQtZ3bEflpnwQYCtgto8/urS5skEaOMsxudMwnJ5AfBZFZCAAQk+ZxJVZkqdjj1pwPmUl/+GeUtXUFy0mx49e5HaoRsnDjif2267jaKQgxlzvqRbXg/a9ehNFeB3hF9flTMZjyuFgMNDUnIyHQ4/ishV4NmdurF9+3aqXCmUFBezdetWjj7ldKpc1XW54JgTTiSE/eO2GDa2bWOZjn3sDystKaGgoIDjTxsQc1y//NNZ/s1Sqlwp+JzhbNTr2BOjx2R27gHAD7vL6Fr9GjCMWs9lGyZH9Ts5ZnvkfD6nlypXSrQ9jjn1rOhxSe1TOKzX4Sxfs54LXSkETRe2YcacJ+BwR7d5HAYulwun0xmTmVJTUwFISUkhPT2ddevWceqpp5JRYxK7c889l7vvvpuSkhK6du2K0+nkmGOOiTlPp06dKC4u3mceq6qqwusNv449/w+NjFxOlCb1Wy4zM5PDDz+cNWvWcP755+P3+ykqKorp7S4sLCQ3NxeA3Nxc5s+fH3OOwsLC6L7Ix8i2msekp6fvM9h7PB48Hk+t7S6Xq8m/AWoONbY0avP4U5vHn9o8/tTm4fWvl+3yMbOggrJAZIEtA3DsPVkf6vOZTgXAOFObx9/+2tyqHpprG+Eb0OA/Z3VWs4YD6N6zJx06dWb2FzMo2l1E/hlnYhuQ07EjHTt3YcGXc5n9xUxOO2tA9Jw1P9pG+I9xLpcr9jlNA9u2a7VHzDHV16LsrVbDNjjssMP47rtV+30t+zx3jf2R7Q6X88djzPAnlm1FX0PM+WpITkmJ2R59/Xuc396jhpr7DYcZbY+IyLBtu3pR9ci13Kb548U5kc9N08Q0zTodA+B2u2sdY9t2zLaaIueG2v+HJvr/0yZ1qVJZWRlr166lQ4cO9OvXD5fLxWeffRbdv2rVKjZt2kR+fnjIQ35+Pt988w3btm2LHjN16lTS09Pp27dv9Jia54gcEzmHiIiINC22bfNdkY9/rCji401lNQK3iMjenXbmWcz5/HPmfjGT/DPOjG4/5bTTmTZlMou/WsCp1ZOoHYz0jAxycjvw9YIfO/yCwSBLFy3a7+OuuOIK1q5ezScf/a/WPtu2KSkuJi09ndwOHVkwb07M/gXz5tCrT5861+hyuwiFDm2m+ZoTzxXt3s26NavpdURvANq0bce2wsKYyeOWLV0S83i3233AGvr06cPcuXNjzjN79mzS0tLo3LnzIdXfVCU0dP/2t79l5syZbNiwgTlz5nDZZZfhcDi49tprycjIYPjw4YwaNYrp06ezcOFCbrjhBvLz8+nfvz8AF1xwAX379uX6669nyZIlTJ48mQcffJCRI0dGe6pvvfVW1q1bxz333MPKlSt58cUXeeutt7jzzjsT+dJFRERkLzaU+pmwqoh315ey2xffZYpEpPk69cwBzJ87m2VLl5B/+o+hO//0M/jXa6/g9/ujM4UfrOG/uo0XnvoLkz78gNWrVnLfHb+mpLhov4+57LLL+NngK/nVsOt57i9/ZsnXC9m8aSNTJ33M1YN+wuzPZwAw4o5RvPDUE3zwzlus+W4Vo39/P8uWLuGmX91W5/q6dOtOeVkZX0yfxs4dOw7qOuanx4zmi+nTWLnsW+64ZTjZbdryk5/+DIBTzziTnTu288JTT7Bh3VrG/f1vTJ8auwxz9+7dWbp0KatWrWLHjh17ncDsV7/6Fd9//z2//vWvWblyJR988AEPPfQQo0aN2mcvdnOX0PE8mzdv5tprr2Xnzp20a9eO008/nXnz5tGuXTsAnn76aUzTZPDgwfh8PgYOHMiLL74YfbzD4eCjjz5ixIgR5Ofnk5KSwtChQ3n00Uejx+Tl5fHxxx9z55138uyzz9K5c2f+8Y9/MHDgwLi/XhEREdm7gooAM36oYGNZIDqaVUt0iUhdnXbWWVRVVtLziCNoV2MS5fwzzqSstJTDDj+cnA4dDuk5bv3NnWzbupU7bh6OaZpcc/0wLvzpzygpKd7nYwzD4MVx/8f/jfsHb/5zPM+O/TNOp5O8w3pyxc9/wYDzwpOyDf/VbZSUFPPoffeyY/s2evXuw/i33qVHz151ru+k/vkMuelmbh16Hbt37mTU/Q/y2wf+UK/XeP9jo/nD3aNYv3YNRx5zLBPefhe32w1Ar959GPPM8zz3l8d55vE/Mehnl3Hrb+7kX6+9Gn38L3/5S2bMmMGJJ55IWVkZ06dPp3v37jHP0alTJyZOnMjdd9/NscceS3Z2NsOHD+fBBx+sV63NiWEfaHE5oaSkhIyMjP1euJ9ogUCAiRMnctFFFyX8moXWQm0ef2rz+FObx19ra/OdVUFmbqngu2J/dJmueDOtIEds/pJVnU/R9cVxojaPv7q0ebId4GTHTjp27YbLE56QqtwuZZL/DSziN/LExMGF7p+TYqQd+OAmzLDBGyinypVS5+vTmzOvwyTL40jY81dVVbFu3TrWr1/PBRdcUGsitUTmOf2WExERkbjzhSw+21zO0l0+9WyLNGEpRhoXun+O36468MENxG14m33gFqlJoVtERETiqsgX4u21JeyqvmZbYVukaUsx0hSCRQ6BQreIiIjEzfdlAd5ZV4I/ZCtsi4hIq6DQLSIiInGxZGcVn2wqA9S7LSIirYdCt4iIiDQqy7aZ9kM5X22P3zWhIiIiTYVCt4iIiDSaqqDF+xtK2VBae61WEWmitLiRNEOWZQHQFBfnUugWERGRRrGrKsRba4sp9luJLkVE6qASJ5Uh2F24lfQ2bXG0gmULG5Nhgxn0E7AcrWLJMNNhUmXHf8kw27bx+/1s374d0zQJheK3vF1dKXSLiIhIg9tQ4ufd9aUELE2YJtJc2IbBYrstPSuLabNlC2YrCIqNzRX0EXB6El1GXLhMg11OM2HPn5ycTMeOHVm1alXCatgXhW4RERFpUAu3V/Lp5nJAE6aJNDc+w8kyOxuXZeFCo1QOhWkHydu6lPW5x2AZLT92dU92cUGX1IQ8t8PhwOl0EgwGE/L8B9Lyv/oiIiISFyHb5tPvy1i005foUkTkUBgGARwEiP9Q4ZbEtA2CwSAVuFpF6A443Hi93kSX0SS1/K++iIiINLqygMX760vYXN40exlEREQSRaFbREREDsn3ZQHeXVdCVUiDyUVERPak0C0iIiIHxbZt5m+rZMaWivD9BNcjIiLSFCl0i4iISL1VhSw+3ljG6mJ/oksRERFp0hS6RUREpF62VQb577oSSrT+toiIyAEpdIuIiEidfburikmbyrBsDScXERGpC4VuEREROaCgZfPp5jIWazkwERGRelHoFhERkf0q9od4d10J2ypDiS5FRESk2VHoFhERkX1aV+Lng/Wl+C1bw8lFREQOgkK3iIiI1LLbF2JWQQXLdms4uYiIyKFQ6BYREZGo3b4QsxW2RUREGoxCt4iIiNQK2xpKLiIi0jAUukVERFoxhW0REZHGpdAtIiLSCu32hZi9tYJluxS2RUREGpNCt4iISCuisC0iIhJfCt0iIiKtQMi2mVdYyayCCkBhW0REJF4UukVERFq4woogH20sZXtVKNGliIiItDoK3SIiIi1UyLKZU1jBnK2ViS5FRESk1VLoFhERaYG2VgT5cGMpO9W7LSIiklAK3SIiIi1I0LKZvbWCeYXq3RYREWkKFLpFRERaiC3lAT7aWMYun3q3RUREmgqFbhERkWYuYNl8UVDO/G1VGIkuRkRERGIodIuIiDRjW8oD/G9DKUV+C9BSYCIiIk2NQreIiEgz9c3OKiZtKlPQFhERacIUukVERJoZy7aZ/kM5C7ZXJboUEREROQCFbhERkWakKmjx/oZSNpQGEl2KiIiI1IFCt4iISDOxsyrI22tLKK6+fltERESaPoVuERGRZmBdiZ/31pcQtDRZmoiISHOi0C0iItKE2bbNgu1VTPuhPNGliIiIyEFQ6BYREWmigpbNJ5vK+Ha3L9GliIiIyEFS6BYREWmCygMW768torAylOhSRERE5BAodLcQlcHwpDq2rSv9RERagn+tLqLccuj6bRERkWZOobuF+GJrBQAvLt9Nj8wk8tLc5KW7SXWZCa5MRETqqjJoMb/693ll0MbWr3AREZFmT6G7haju6MYfslmx28/y3X4A2nod9Ex3k5fuonOKC4dpJLBKERHZm8qgxYJtlczfXokdDHI4mqFcRESkpVDoboFqvlHbURViV1Ul87ZV4jSga5qLw9Ld9Eh3k+VxJKxGERGJDduh6qXA1LktIiLSsih0twLVneAEbVhfEmBdSQAop2uqiwEdk+mY4kpkeSIirU5V0GL+9koWbKvUutsiIiItnEJ3K1Pzjd33ZQH++V0xPdNdnNkxhfZJ+nYQEWlMCtsiIiKtj1JWKxZ5s7e2JMCakiL6Zrk5o0OKhp2LiDSwqqDFgu2VzFfYFhERaXUUuiX65m/Fbj8rdvs5po2H03KTSXcrfIuIHArbtvl2l49PN5fjt2yFbRERkVZIoVuiIm8Gl+708c0uHye09ZKfk0yKlh0TEam3Il+ISZvK2FgWSHQpIiIikkAK3VKLDdg2LNxexeIdVZzcPomT2yfhdSp8i4gciGXbfL29ihlbygmpa1tERKTVU+iWfbIJz3g+t7CSr7ZXkZ+TRL92SbgdWutbRGRvdlQG+XhTGQUVwUSXIiIiIk2EQrcckA34LZuZBRXM31bJaR2SOa6NF6ep8C0iAhCybOZtq2R2QYWu2xYREZEYCt1SL5Uhm083lzOvsJIzOiRzdLYH01D4FpHWq6A8wEcby9jpCyW6FBEREWmCFLrloJQFLCZtKmPu1grO6phC70w3hsK3iLQiAcvm8y3lLNhehX77iYiIyL4odMshKfJbfLChlNleBwM6pnBYukvhW0RaNMu2WV3s57PN5ZQGLEDrbouIiMi+KXRLg9hZFeKddSXkJjk4u1MK3dLciS5JRKRB+UM2S3dVMb+wkpKAhYHCtoiIiByYQrc0iMgbz8LKEP9eU0LnFCen5iaTl6aebxFp3kr8IRZur+LrHZVUd2wDCtwiIiJSNwrd0qAib0J/KA/y1toS2nodnJqTTO8styZcE5FmpaAiwPzCSlYW+QGFbBERETk4Ct3SKCJvTndWhfjfxlKmbzHpn5PEMW28uLTUmIg0UZZts6bYz5fbKvmhPKgh5CIiInLIFLqlUUXerJYGLKZuLueLggpOap9Ev7ZevE4zobWJiERYts2iHVV8ua2SEr8VnY1cgVtEREQOlUK3xFVVyGZWQQVzt1ZwfFsvJ7VPIt3tSHRZItKKlQUs3ltfwg/lweg2hW0RERFpKArdEnc2ELThq+1VfLW9iiOzPHRJdZHhMcl0O0h3m7r+W0TiYmOpn/fXl1IVUswWERGRxqHQLQkTeYu7fLePb3f7otsNIM1lkulxkO1xkFkdxjM9DjLdpoali8ghs22beYWVzCyo0HXbIiIi0qgUuiXhrD3u20BJwKIkYLG5LIBN7BviZKfBUdlejszy0D7JoSXJRKReKoMWH24oZV1pAFDgFhERkcal0C1N2p6BHKAiaLNgWyXzt1WS7XFwTBsPfbM8ujZcRA6ooCLAf9eVUh7Y228XERERkYan0C3NUqRnapcvxMwtFczYUkGXFCdHt/FyRKYbj0ND0EXkR3b17OSfbi6vNXpGREREpDEpdEuzF3nzvLk8yPflZUz+HnpluDkq20teuguHhp+LtGr+kM2kTaWsKPInuhQRERFphRS6pcWIhO+QDauK/Kws8uN1GPTJdHNEpocuaQrgIq3Njsog/11fQpFPw8lFREQkMZrMGNw///nPGIbBHXfcEd1WVVXFyJEjadOmDampqQwePJjCwsKYx23atIlBgwaRnJxM+/btufvuuwkGgzHHzJgxgxNOOAGPx0PPnj0ZP358HF6RJFIkgFeFbJbs9PHm2hKeXbqLjzaU8l2Rj4ClwaUiLVnQslm8o4rxq4oo8lkaTi4iIiIJ0yR6uhcsWMDf//53jjnmmJjtd955Jx9//DFvv/02GRkZ3HbbbVx++eXMnj0bgFAoxKBBg8jNzWXOnDkUFBQwZMgQXC4Xf/rTnwBYv349gwYN4tZbb+X111/ns88+46abbqJDhw4MHDgw7q9V4i/Sv+W37OjyZE4DDksP94AfluFq9GvAq0IWG0oChGybJKdJstPE6zBIdpq4TDQDu0gDKfaHWLSjikU7qvBp7W0RERFpAhIeusvKyrjuuut45ZVX+OMf/xjdXlxczKuvvsobb7zBOeecA8C4cePo06cP8+bNo3///kyZMoXly5fz6aefkpOTw3HHHcdjjz3Gvffey8MPP4zb7eall14iLy+PJ598EoA+ffowa9Ysnn76aYXuVigSwIM2fFfsZ1WxHxPoluaid5aHXulukl0NE8DLAxZriv2sLPKxoTSwz542E/A6DbwOkxSnQbIrHMpTXSY9091aFk3kAGzbZn1pgIXbK1lbEtC62yIiItKkJDx0jxw5kkGDBnHeeefFhO6FCxcSCAQ477zzott69+5N165dmTt3Lv3792fu3LkcffTR5OTkRI8ZOHAgI0aMYNmyZRx//PHMnTs35hyRY2oOY5fWKfKm3AI2lAZYXxpgEpDpNumY4iQ32UWHZCc5SU7cjrqF3mJ/iO+KwkH7h/LwZQ4HCgAW4WXQKoIhdvnC28zqx3xRUEGG2+SobA99Mj20TUr4j6xIk1EVtFi6y8fC7ZUU+y0iP6UK3CIiItKUJPQd/JtvvsnXX3/NggULau3bunUrbrebzMzMmO05OTls3bo1ekzNwB3ZH9m3v2NKSkqorKwkKSmp1nP7fD58Pl/0fklJCQCBQIBAIFDPVxknoXDAM63gAQ6UfYm8YS+pgtIqP6t2/vjmPdNtkpvsJCfJRW6yg7ZeJ0Z1W28rr2JDWSXfFfvYXhWKns/cy7nrW48BlFbBvC1+5m4pJctt0jsrvCxalqf1rUse+flrsj+HLVBTbPPCyiBLdlSxsshHZAR55OetJYwJifwe1+/z+FGbx5/aPP7U5vHX6to8ZCb8/cK+3rckuq6Ehe7vv/+e3/zmN0ydOhWv15uoMvZqzJgxPPLII7W2T5kyheTk5ARUVHe9tixMdAktlg1srb7V9NXMaQBkV98a2y5gbhyepymbOnVqoktodZpim/dMdAGNTL/P409tHn9q8/hTm8dfa2rzicsTXUHYnu9bKioqElRJWMJC98KFC9m2bRsnnHBCdFsoFOLzzz/nr3/9K5MnT8bv91NUVBTT211YWEhubi4Aubm5zJ8/P+a8kdnNax6z54znhYWFpKen77WXG+C+++5j1KhR0fslJSV06dKFCy64gPT09IN/0Y1o4voiWDGH1R37YZkaghwPphWk15aFCW3zyND19l4HR2R66JnpJtPdcnvAA4EAU6dO5fzzz8flciW6nFYh0W1eFbRYutPHop2VVATtVnG9dlP43dLaqM3jT20ef2rz+GttbX5YuptLuqcltIZ9vW+JjFxOlIR99c8991y++eabmG033HADvXv35t5776VLly64XC4+++wzBg8eDMCqVavYtGkT+fn5AOTn5zN69Gi2bdtG+/btgfBfNdLT0+nbt2/0mIkTJ8Y8z9SpU6Pn2BuPx4PH46m13eVyNd03+o7wl9Iyna3ih7opaQptvtUPhdv8zNzmJ8tjckSmh14ZbjomO1vkJGxN+mexhYp3m++oCvLVtkq+2eXDssHG0YQWuYyPpvC7pbVRm8ef2jz+1Obx12ra3OFsMu/P9nzfkui6EvbVT0tL46ijjorZlpKSQps2baLbhw8fzqhRo8jOziY9PZ1f//rX5Ofn079/fwAuuOAC+vbty/XXX8/YsWPZunUrDz74ICNHjoyG5ltvvZW//vWv3HPPPdx4441MmzaNt956i48//ji+L1ikkUV6/3b7LL4srGReYSVeh8HhGW56ZbrpnubGZba8AC4tR2QW8vnbKtlQqlnIRUREpGVo0n9yefrppzFNk8GDB+Pz+Rg4cCAvvvhidL/D4eCjjz5ixIgR5Ofnk5KSwtChQ3n00Uejx+Tl5fHxxx9z55138uyzz9K5c2f+8Y9/aLkwadEiQaUqZPPtLh9Ld/lwGJCX5qJXpoee6W5SXCa2bUePte3w4+zo59X7bHCYhgK7NJqAZbNsl48vt1Ww26dZyEVERKRlaVKhe8aMGTH3vV4vL7zwAi+88MI+H9OtW7daw8f3NGDAABYtWtQQJYo0O5G1yUM2rC0JsKak/rM3GkCnFGd02HpmK5w5XerHsm38IRu/Fb4FQjY+yyZg1dgesikNWHyz04fP+jFiK2yLiIhIS9KkQreINK6DDTM2sLk8yObyIJ/9UE52jevGO7TQ68al/jaU+vl8SwWFlcHoUl77E1kWzzrQgSIiIiLNmEK3iNTbLp/FvMJK5hZWkuQwODzTTa8MD93SXBqG3gr9UB5gxpZyvi8L1us67MjlDCIiIiItmUK3iByUSFiqDNl8s9PHkp3V142nu+iRFu4Bb5fkxKkQ3mJtqwwyc0s5a0sCug5bREREZB8UukXkkMVcN14cYE1x+LpxE2iX5KBTiosOyU46pDhp43FoOHozt6sqxOcF5aws8itsi4iIiByAQreINKia4csCCitDbK8M8XX1NqcBucnOmCCe7jIVxJuBYn+I2QUVfLPLF92msC0iIiKyfwrdItLoak6UFbTDk7JtKQ9Gt5sGpLlMstwOMj0OMtwmGW4HGZ7wxxSnUa9QbtnhWbIDFiQ5DRwK9Ids+g/lLN4d1HXYIiIiIvWk0C0iCVEziFs2FPstiv0WZlmgVrCLhnKHTRLw4YZS/Dh+XI6q+ha0IGjZMed2GtAtzUWPdDfd01xka3h7nQQtm/WlflbsKAdgyc4qLFP/ZYiIiIjUl95BiUiTsrfloyKhvNQKcgSwpsRf5wAYtGFdSYC11euTpzoNeqS7yasO4UlOs+GKb+YCls3aEj8rd/tYU+wnaIPTCtIL9W6LiIiIHCyFbhFp8WoGxrKgzbe7fCytvi65fZKDw6oDeKcUV6ubbd0XslhbEmDlbh9rS/yEbGKW/dIa2iIiIiKHRqFbRFqdmkFyW2WI7ZXhNccdBnRIdtI1NRzAO6U48bbAnvCqoMWa6h7tdaUBrD2Ctnq1RURERBqOQreItHqRkBmqnuTth/IgNpUAZHlMuqW66ZTipHOqi0z3oc+0btnha9H9IRtfKPy5L/J5yMZn2YQsmzZeBznJhz67e1nAYnNZgM3lATaWBtheFQIUtEVERETiQaFbRGQPNQPobp9Fsa+KxTvD970Ogy6pLjqnOMnyOKKzpPtCFgGLaJgOf7TCYTpmm03wAAl3z7Wv3aZBTpKD3GQn7ZOc5CQ7aeN17HVWdtu22e2z+L48wOayABvLApT4w337JrG9/AraIiIiIo1PoVtE5ABqBtWqkM2aYj9riv0xodWovkW6jw9laa09H+e3bL6v7oGPLrMGtPGGg3hOkhMb+L4swKayAFUhO3pMzCzxB1mPiIiIiBw8hW4RkXraW5iOhuxG7D7eM0BvrwqxsyrEt/j2WptCtoiIiEjiKXSLiDRjCtYiIiIiTVvLm5ZXREREREREpIlQ6BYRERERERFpJArdIiIiIiIiIo1EoVtERERERESkkSh0i4iIiIiIiDQShW4RERERERGRRqLQLSIiIiIiItJIFLpFREREREREGolCt4iIiIiIiEgjUegWERERERERaSQK3SIiIiIiIiKNRKFbREREREREpJEodIuIiIhI/Jg+HClrw596CxJcjIhI43MmugARERERaeGMAI7kzThSNmAmFWAEAbrhbv8FRmUPArv6ge1KdJUiIo1CoVtEREREGkEIM3kLjpQNOJI3YxgWtm1gGDaGYUSPcqSuw0wqILDjVKyqnATWKyLSOBS6RURERKSBWJjewnDQTtmEYQajQRuIfqzJMGxwVODJ/ZRgyREEdh8Htt6iikjLod9oIiIiInKQLAx3EaZnB6Z7Z7hH2+E/YNDeU6Tj25G2CjPpB/zbT8P2t23MwkVE4kahW0RERETqwMZwlmJ6dlbftmO4i6qHjQPUL2jvjWEAznI8HSYTLD6SYNHRgKMeZ7AwXMWY3u0YRgDbdoLtxLbCH2M/d8R8DsYBzy4icjAUukVERESkNiOImVSA6d4Z7sn27MQwgwAxPdkQ6ak+uKBd62mrz+vMWIYjeXO41zuQtY+DA9W17cD0bsP07Kge0g7hEG1j1CFL27ZJqLQngaKjwfI2yOsQEYlQ6BYRERGRKMNZgjPtOxxpa6PXZO8ZXg+2J7tedRiAqwRPx0kEi44lWNwHw1GJ6d2O6dmO6S3EcBVjGNSqsb5/BDAMC0faahypawkW9yVY0kezqYtIg1HoFhEREWn1LMykLTjTV+FI2lrva7IbS7TXO3MxzoxvMMwQsLee9kOv0TBsMEI4M7/Bmb6KQNExhEp7Ur/h7SIitSl0i4iIiLRWZhXOtDU4077DcFZW9xgnNmjvjWEARqjG/carzzDANv24sr/CmbGc4O7jCJV3R9d8i8jBUugWERERaVVsDM9OnGmrcKRsJHZYdtMK24kSHUrvqMDdbg5WxjICu4/HquxI3cK3heEsx3CVYjhLwxO4BdKwgmkQ8tbxHCLSUih0i4iIiLQChrMM01uAM/07THdRrSHaUlv0jxGuYjw5MwhVtSOw+wRsX1vAxnBUhIO1qyQ8s7urpPrz8mjb2jYx18PblokdTMUOpGMF07ADadjBNOxAKnYoGTDj/jpFpHEpdIuIiIi0RI5KHN6tmN7C8CzkzorqWb3DFLjrLhKaTc8OvB0mYwVSMJyVGIYFsN/Z0mvdNy0Mdwm2qwRzj8fYtoEdSgLbJNobbkdOYIRvdvhj9RX32IFUQuV5WJUdUGAXaZoUukVERERaAtOH6S0MB+2kAkxXGcAek6IlssDmL9KOpqt8j+1Q3yXT9vYYw7AxnBX1Oo/t3oUzdSN2yEOwrAehsrx9L7EmIgmh0C0iIiLSTBnuXThS1uNIKsB0FwONM7O3NF3RP6g4fDjTV+LKWIHlzyBYdhihsu5gJSW2QBFR6BYRERFpdgw/rqwlONK+AxSyJSwawF3FuLK+xpX1NVZlR0JlPbDLcxNcnUjrpdAtIiIi0mzYmMmbcLdZAKb/oIY1S8tX8zICM6kAR/IW8Lvg+06YSZuxg+2qJ23T9QYi8aDQLSIiItIMGM5SXG0W4EgqqDUjtsi+RHu/zSAA7nZzsJ02dsiN5WsbvvmzsXxtwPImslSRFkuhW0RERKRJC+HMWIEz8xsivdoK3HKoDIcfM2kLZlJBNJhbwWQsX1tsX1ssXzaWvw3Yigsih0o/RSIiIiJNlOkpxNX2SwxnqYK2NLg9L08wnRUYju8heROGAbZtEiw5gmBxX/WCixwChW4RERGRpsaswpX1Nc609dWzkSe6IGktYifls3Cmr8SZ9h3Bkj4ES/qA5U5gdSLNk0K3iIiISMLZ4YnRTB+mdxuurK+h+hpczUYuiWQYNhghnBnf4kxfSbD4SIIlR4DtSnRpIs2GQreIiIhIIzLcOzHdRRimDxw+DNOH4fCBWYXhqMIw/TVmIg/TRGnS1BgGYARxZi7Bmb6cYPHRBEt76ZpvkTrQT4mIiIhIo7BwZi3BlbEcANuumaLt/YZqBW5pqgwDcARwZn2NM2MZgaKjCZX2BByJLk2kyVLoFhEREWlghqMcV7svMD07f9ymYeLSghgG2KYPV/ZXuDK+JVB0LKGyHoCZ6NJEmhyFbhEREZEGZCZtxt1uDhhB9VhLixb5/rYdVbjbfomdtYhQeXdC5d2xfG0B/QCIgEK3iIiISAMJ4cpahDNjla7JllYl8r1uOPw40lbjTP8OK5hMqCwcwO1AJgrg0popdIuIiIgcIsNZhrvd5xju3eH7yhfSSkUuozCdFRgZK3BlLscKpBEqywsH8GBaHc5iYzgqMFylGM4yDFcp2Eb1kmWexn0BIo1AoVtERETkEJjJm3C3nQtGSGFbpIZIADecpTgzv8GVtRTLl0WwPA+rvCsYFoazFMNVilkdrg1XMYazAsOwgPBM/pFecmfadwR296u+dlw/bNJ8KHSLiIiIHAwjhCtrIc701RpOLrIf4Z+N6gDu3o3LvRsj++vo/h+Dde1Z/Ws+1jYDuNvOI5S6hsDOU6qHrYs0fZpeUERERKSeDGcJng6f4EhbHb6vwC1SJ4ZR++clvG3/y+hFjgMwPTvxdJyIM+trMAKNU6hIA1JPt4iIiEg9mEk/4G73RXhorMK2SNxFhq0701fgTFmPf9fJWBWd0ZBzaarU0y0iIiJSR4Z7F+52n1dfv611t0USyTAARxWe9p/jbj8Dw1mW6JJE9kqhW0RERKQuHBV4cqZDHYbBikh8RIecJxXg6fQhzoxvgVBCaxLZk0K3iIiIyIEYwXDgNn3q4RZpgsLXhFs4M5fg6fQRZtJmIhOwiSSarukWERER2S8bd9vZ4aWMFLhFmjTDAJxleHJmYvnTCRYfTai8K+prlESqd+j2+Xx8+eWXbNy4kYqKCtq1a8fxxx9PXl5eY9QnIiIiklDOrMWYyZs1pFykmYj8rBquEtztZmNlLSJYdBSh8h5gOxJbnLRKdQ7ds2fP5tlnn+XDDz8kEAiQkZFBUlISu3btwufz0aNHD26++WZuvfVW0tLSGrNmERERkbhwpK7FlbE80WWIyEGIhm9HBa4283FlLSFY3JdgaS+wXYktTlqVOo2zuOSSS7j66qvp3r07U6ZMobS0lJ07d7J582YqKipYvXo1Dz74IJ999hmHH344U6dObey6RURERBqV6SnE1ebLRJchIocosja44fDhzFqEt8u7ODOXgFmV6NKklahTT/egQYP473//i8u1978I9ejRgx49ejB06FCWL19OQUFBgxYpIiIiEk+GswR3zkw0EZNIy2IYgBHEmfEtzozlhEp7Eizuix1KSXRp0oLVKXTfcsstdT5h37596du370EXJCIiIpJQpg93znQwgrqOW6SFCv9sWzjSVuNI+w7L1w6roguhik7YwfRElyctTJ2v6R46dCjnnnsuAwYMoGvXro1Zk4iIiEiCWLjbf47hLNdM5SKtQOTn3PRsx/Rsx5X9NVYghVBFV6zKTlhV7dDM53Ko6hy6N27cyC233ILf76d79+6cffbZnH322Zxzzjl06NChMWsUERERiQMbV5v5mJ5t6uEWaWVq/sybrnKM9JUYGSuwLSehio5YlZ0JVXYEy5O4IqXZqvOfbWbMmEFRURGffvopv/jFL1i9ejXDhw+nc+fO9O7dmxEjRvD222/X68n/9re/ccwxx5Cenk56ejr5+flMmjQpur+qqoqRI0fSpk0bUlNTGTx4MIWFhTHn2LRpE4MGDSI5OZn27dtz9913EwwGa9V+wgkn4PF46NmzJ+PHj69XnSIiItLyOdNW40xbq8AtItEecMMM4kj5Hne7OXi7vIM7dwrOrK9xZX+FK3s+rjZzcbWdjbvd57jbT8ed8ynu3Ml4OkzEnRvONa52s3CkrcJwFaN5Ilqneq3T7fF4oj3cEA7Fc+bMYdKkSbz88su8/PLLXHnllXU+X+fOnfnzn/9Mr169sG2bCRMm8LOf/YxFixZx5JFHcuedd/Lxxx/z9ttvk5GRwW233cbll1/O7NmzAQiFQgwaNIjc3FzmzJlDQUEBQ4YMweVy8ac//QmA9evXM2jQIG699VZef/11PvvsM2666SY6dOjAwIED6/PyRUREpAVzZC5OdAki0gRFA7gRGYa+s3pPzQBt1/qDnRE0gGxM7xZcqT9gGGCHPIQqO2JV5hKqyoVQcjxegiRYvUJ3hN/vZ+7cucyYMYPp06fz5Zdf0rFjRwYPHlyv8/z0pz+NuT969Gj+9re/MW/ePDp37syrr77KG2+8wTnnnAPAuHHj6NOnD/PmzaN///5MmTKF5cuX8+mnn5KTk8Nxxx3HY489xr333svDDz+M2+3mpZdeIi8vjyeffBKAPn36MGvWLJ5++mmFbhERkdbO9OFMXZnoKkSkmYhMwFbvx0TXDPfhSNmAM3U9AFYgDauyI6HKHKyqHLDdDVqvNA11Hl7++eef8+ijj3L22WeTmZnJLbfcwpYtW7j55ptZvXo1a9eu5bXXXjvoQkKhEG+++Sbl5eXk5+ezcOFCAoEA5513XvSY3r1707VrV+bOnQvA3LlzOfroo8nJyYkeM3DgQEpKSli2bFn0mJrniBwTOYeIiIi0Qo4KnFkL8XZ+D0dG+D2DhpWLSDzUnKTRdJXiSPsOT87neLu+jafDRFzZX+FIWY/hLEHD0VuGOvd0R2Ytv/fee3nzzTdjgu6h+Oabb8jPz6eqqorU1FTee+89+vbty+LFi3G73WRmZsYcn5OTw9atWwHYunVrrToi9w90TElJCZWVlSQlJdWqyefz4fP5ovdLSkoACAQCBAKBQ3vBjSUUvo7dtIIHOFAaSqSt1ebxozaPP7V5/KnNG5fhLMWRvhJHyobwfcvGCIXTdngoqMRDpK3V5vGjNo+/urZ59VHhj44izKRijOTvALAtJ5Y/G9vXBsufjeXPhlDt/NIkhMyEZ6XI8+9ZR6LrqnPovueee5gxYwZ33HEHf/vb3zjrrLMYMGAAZ511Fm3btj3oAo444ggWL15McXEx77zzDkOHDmXmzJkHfb6GMGbMGB555JFa26dMmUJyctO+7qLXloWJLqHVUZvHn9o8/tTm8ac2b2y1lz/tOl9Losab2jz+1Obx1zBtXlF929wA52o8E5cnuoKwqVOnxtyvqKhIUCVhdQ7df/7znwEoKyvjiy++YMaMGYwdO5Zrr72Www8/nLPOOouzzz6bK664ol4FuN1uevbsCUC/fv1YsGABzz77LFdffTV+v5+ioqKY3u7CwkJyc3MByM3NZf78+THni8xuXvOYPWc8LywsJD09fa+93AD33Xcfo0aNit4vKSmhS5cuXHDBBaSnp9fr9cXLxPVFsGIOqzv2wzIP6lJ9qSfTCtJry0K1eRypzeNPbR5/avOGZbq348hcgcO7Fds29rr2thE06Dq/K5tO3oTt1FDOeFCbx5/aPP4as81tG8J95Dahkt4Ei48EHA36HPV1WLqbS7qnJbSGQCDA1KlTOf/883G5XNHtkZHLiVLv/81TU1O58MILufDCCwHYtWsXTz31FM8//zwvvfQSoVDokAqyLAufz0e/fv1wuVx89tln0QnaVq1axaZNm8jPzwcgPz+f0aNHs23bNtq3bw+E/6qRnp5O3759o8dMnDgx5jmmTp0aPcfeeDwePJ7aa/C5XK6YL16T4gh/KS3TqTdpcaY2jz+1efypzeNPbX5oTO9WnJmLcXh3YtsGtmED9n6vjrSdtsJInKnN409tHn+N1+bhc5rZK3Cl/YB/x6nY/jaN8Dx15HA2may0Z25LdF31/t/csiwWLFjAjBkzmDFjBrNnz6asrIyuXbty+eWX1+tc9913HxdeeCFdu3altLSUN954gxkzZjB58mQyMjIYPnw4o0aNIjs7m/T0dH7961+Tn59P//79Abjgggvo27cv119/PWPHjmXr1q08+OCDjBw5Mhqab731Vv76179yzz33cOONNzJt2jTeeustPv744/q+dBEREWkGHGmrcGV/RfRKyb30bouItBSGAbhK8XT4hGDx0QSLEt/rLbHqHLrHjh0bDdmlpaV06tSJAQMG8Mwzz3D22WeTl5dX7yfftm0bQ4YMoaCggIyMDI455hgmT57M+eefD8DTTz+NaZoMHjwYn8/HwIEDefHFF6OPdzgcfPTRR4wYMYL8/HxSUlIYOnQojz76aPSYvLw8Pv74Y+68806effZZOnfuzD/+8Q8tFyYiItLi2LiyFuLMWBW9LyLSGkT+uOjM+AZH8ib820/DDmQluCqJqHPofuaZZxgwYABPPPEEZ599dvQ67EPx6quv7ne/1+vlhRde4IUXXtjnMd26das1fHxPAwYMYNGiRQdVo4iIiDQDRhB329mYyU17kiERkcYU7vUuwdNxEsGiYwgW96Ueq0RLI6lz6N6yZUtj1iEiIiJycMwqPDnTMdy7tNa2iLR60V7vzCXhXu8dp2EHMhJcVetW59C9adOmOh3XtauWIRAREZH4MJwluHM/w3BUKnCLiNRgGIC7CE/HjwnuPo5gSW/U650YdQ7dNa/ZtsNz1GPU+N/Ntm0Mwzjk2ctFRERE6sL0bMOdMwOMoCZLExHZi2ivd9YizORNBHefgOVrR2SiSYmPOoduwzDo3Lkzw4YN46c//SlOp5YxERERkcRwpGzA1XYOYKuHW0TkAAwDTM8uPB2mYgVSCZX2IliWB1ZSoktrFeqcnDdv3syECRMYN24cL730Er/4xS8YPnw4ffr0acz6RERERGqwcWYsx5W1GNtGgVtEpI4ivd6Gswxn1iKcWYuxKjoRLOuJVdkBDT1vPHVu2dzcXO69915WrlzJO++8w+7duznllFPo378/r7zyCpZlNWadIiIi0upZuNrMx5W1GFDgFhE5GIYRudmYyT/gyZmBt8t7ODOXYDjLEl1ei3RQf844/fTTefXVV1m9ejXJycnceuutFBUVNXBpIiIiItVMH+6c6ThS1yS6EhGRFiPa++2owpmxDG/nD3DnfIojZQMYmquroRxU6J4zZw433XQThx9+OGVlZbzwwgtkZmY2cGkiIiLSsGwMVzE4KoBmMvGYowJn1td4O7+H6S1U77aISCOJBHDTW4i73Wy8nd8L/58hh6zO13QXFBTwz3/+k3HjxrF7926uu+46Zs+ezVFHHdWY9YmIiMihclTgTF2PI3UtpqsUANtyYgXSsf1ZWIEMbH8mViADQkk0hVltDWcJzozlOFLXhe9rdnIRkbiI/nHT9OPJ+RRfwU+wQykJram5q3Po7tq1K506dWLo0KFccskluFwuLMti6dKlMccdc8wxDV6kiIiI1JMRxJG8CUfqOkxvYe3dZhCHZxe2ezeOGjOA1wrjvmwsX3viFcQN9w5cGcswkzcDhsK2iEiCGIaN7fDhzv0UX8FAsLyJLqnZqnPoDoVCbNq0iccee4w//vGPwI/rdUdonW4REZFEsjG9hThS1+FI3oRhhg44w/eeoXZvYdwKJhMqOYJgWY9GetNlYyYV4Mz4Fod3O7ZtVNeswC0ikkiGYYOzHE/ONHxbzwfbleiSmqU6h+7169c3Zh0iIiJykAxnCY7UdThT12E4K6tDa/XkOAfZQV0zjBuOiujyMqHyboRKD8fyteXQe78tHCmbcGZ8i+kuxraNWs8tIiKJZRg2uItwt5+Bv/AcwJHokpqdOofubt26NWYdIiIiUi8hHCnf40hbicO7c4+g3bCh9cfgbuNI2YgzdQOWP4Ng6eGEyvLq3vNhBDDduzA9uzDcO3F4CzGcVUQGzilsi4g0TYZhY3q34W43C//2M9Ca3vVTp9C9adMmunbtWueT/vDDD3Tq1OmgixIREZG9MxzlONJW40xbjeHwxz2wRoO9qxhX9gJcWV8TKutBsLQXdiCrxoEBTPduDM/O6qC9A9MVXv81XPOh98aLiEj8GAaYyZtxtZlPYOcpNIVJN5uLOoXuk046iUsvvZSbbrqJk046aa/HFBcX89Zbb/Hss89y8803c/vttzdooSIiIq1X+FptZ9qqWhOMJSqwRp/XCOFIW4MzfTWhqjbYwTRMzw4MZxmGUTtg//hY9WqLiDQ3hgHOtLXYIQ/BouMTXU6zUafQvXz5ckaPHs3555+P1+ulX79+dOzYEa/Xy+7du1m+fDnLli3jhBNOYOzYsVx00UWNXbeIiEjLZ/jD12qnr8J0lTXZCcaia7t6doJnlwK2iEgL58pcDpaHYEnfRJfSLNQpdLdp04annnqK0aNH8/HHHzNr1iw2btxIZWUlbdu25brrrmPgwIFas1tERKSBOLO/wkzfAMaPq4I09WueFbBFRFoPV/YibMtDqOywRJfS5NV5IjWApKQkrrjiCq644orGqkdERKTVMlxFuNIXw2YXjpT1YFqJLklERGSfXG3mYVturIouiS6lSdO0cyIiIglmOMtwtZ2Np+PHmN6C8LYm3qstIiIC4G73Baa3MNFlNGn16ukWERGRBmRW4sr8FkfaaiA8PFthW0REmovwhJk27vbT8ZcNAtITXVKTpNAtIiISb6YfZ/pynOkrwLAVtEVEpNkyDLAJUepdCuQlupwmSaFbREQkXowgzrRVODOXgRHQ+tQiItJi2Ggekn2pd+guLy8nJSWlMWoRERFpoSwcqWtxZS0B06ewLSIi0orUO3Tn5ORw1VVXceONN3L66ac3Rk0iIiLx46jEmb4SZ8o6bMuDHUjDCqZhB1PDt0AqdjAFcBzgRDY4KjGdpRiuMgxnOYazFMNViuksATMAoMAtIiLSytQ7dP/rX/9i/PjxnHPOOXTv3p0bb7yRIUOG0LFjx8aoT0REpFEYzhKcGctxpK4L3zdsDKqwXcWYmIAVDci2DYS84TAeCAdybCeGs6w6WJdgOCtirs22bSN6XhEREWm96r1k2KWXXsr777/PDz/8wK233sobb7xBt27duPjii3n33XcJBoONUaeIiEiDMNw7cbf7HE+nD3GkrguH7RrBODyDuBXTI20YYDircHi340hdjzPzG5xZi3CkrcZMKsB0ldcK13ueV0RERFqng16nu127dowaNYqlS5fy1FNP8emnn3LFFVfQsWNH/vCHP1BRUdGQdYqIiBwCG9NbgDtnKt6On2Ambz7o5bkiYfrHWyOUKyIiIi3GQc9eXlhYyIQJExg/fjwbN27kiiuuYPjw4WzevJnHH3+cefPmMWXKlIasVUREpJ4sHMmbcGYuw3QXaci3iIiIxF29Q/e7777LuHHjmDx5Mn379uVXv/oVv/jFL8jMzIwec+qpp9KnT5+GrFNERKTODGcpZvJmnOmrMJ3l4WuyUdgWERGR+Kt36L7hhhu45pprmD17NieddNJej+nYsSMPPPDAIRcnIiJSNyFM73YcST9gJm/GdJVFgzZoxnARERFJnHqH7oKCApKTk/d7TFJSEg899NBBFyUiInJAjkocST+Eg3ZSAYYZwraNaG+2graIiIg0BfUO3cFgkJKSklrbDcPA4/HgdrsbpDAREZFYNoZnZzhoJ2+uvkYboGbQ1vBxERERaVrqHbozMzMx9tN90LlzZ4YNG8ZDDz2EaR705OgiIiI/MoK4287GkbK5ejK0mr3ZCtoiIiLSdNU7dI8fP54HHniAYcOGcfLJJwMwf/58JkyYwIMPPsj27dt54okn8Hg83H///Q1esIiItDJmFZ6c6RjuXYB6s0VERKR5qXfonjBhAk8++SRXXXVVdNtPf/pTjj76aP7+97/z2Wef0bVrV0aPHq3QLSIih8RwluDOmYbhrNA12iIiItIs1Xv895w5czj++ONrbT/++OOZO3cuAKeffjqbNm069OpERKTVMj3b8XT4pDpwq3dbREREmqd6h+4uXbrw6quv1tr+6quv0qVLFwB27txJVlbWoVcnIiKtkpm8CXfup2AGFLhFRESkWav38PInnniCK6+8kkmTJkXX6f7qq69YuXIl77zzDgALFizg6quvbthKRUSkVXCkrcSVvRDQsl8iIiLS/NU7dF9yySWsWrWKv//976xatQqACy+8kPfff5/u3bsDMGLEiAYtUkREWgMbV9ZCnBmrEl2IiIiISIOpV+gOBAL85Cc/4aWXXmLMmDGNVZOIiLQ21UuCmcmbE12JiIiISIOqV+h2uVwsXbq0sWoREZHWyKzC3X4GpmenhpOLiIhIi1PvidR+8Ytf7HUiNRERkfoynKV4OnyC6dmlwC0iIiItUr2v6Q4Gg7z22mt8+umn9OvXj5SUlJj9Tz31VIMVJyIiLZWNI2U9ruyvwAxqhnIRERFpseodur/99ltOOOEEAL777ruYfYa6KURE5AAMVxGuNl/i8O7AtjVDuYiIiLRs9Q7d06dPb4w6RESkpTMCODOX4kxfCYSTtgK3iIiItHT1Dt0Ra9asYe3atZx55pkkJSVh27Z6ukVEZC9sHMkbcbX5CkxfddDWcHIRERFpHeo9kdrOnTs599xzOfzww7nooosoKCgAYPjw4dx1110NXqCIiDRfhrMEd85nuNvPrhG4RURERFqPeofuO++8E5fLxaZNm0hOTo5uv/rqq/nkk08atDgREWmmjCDOzEV4On2E6d0W3qTALSIiIq1QvYeXT5kyhcmTJ9O5c+eY7b169WLjxo0NVpiIiDRHNmbyZtzZC8BRqaAtIiIirV69Q3d5eXlMD3fErl278Hg8DVKUiIg0NzZm0hac6ctxJG3TrOQiIiIi1eo9vPyMM87gn//8Z/S+YRhYlsXYsWM5++yzG7Q4ERFp4owgjtQ1eDp9iCdnBqZ3e3izAreIiIgIcBA93WPHjuXcc8/lq6++wu/3c88997Bs2TJ27drF7NmzG6NGERFpasxKnOmrcaatBDMQ3WwYmpVcREREpKZ6h+6jjjqK7777jr/+9a+kpaVRVlbG5ZdfzsiRI+nQoUNj1CgiIk2E4SrCmb4CR+r68H2FbBEREZH9Oqh1ujMyMnjggQcauhYREWmiTM9WnNmrcCRtxbYNhW0RERGROjqo0F1UVMT8+fPZtm0blmXF7BsyZEiDFCYiIolmYyb9AIA753MsR3irAreIiIhI3dU7dH/44Ydcd911lJWVkZ6ejlFjthzDMBS6RURaAMNVjCv7K5yuQljdLbxNYVtERESk3uo9e/ldd93FjTfeSFlZGUVFRezevTt627VrV2PUKCIi8WIEcGZ9jafjx5jewkRXIyIiItLs1bun+4cffuD222/f61rdIiLSXNk4Ujbgyl4Ipq/Gkl9a+0tERETkUNS7p3vgwIF89dVXjVGLiIgkgOHehTt3Cu52c/YI3CIiIiJyqOrd0z1o0CDuvvtuli9fztFHH43L5YrZf8kllzRYcSIi0ohMH67MJTjSVhPp0VbgFhEREWlY9Q7dv/zlLwF49NFHa+0zDINQKHToVYmISCOycKSuxZW1CMxgddDWJGkiIiIijaHeoXvPJcJERORALMykHzAcfrAc2LYTbCe2Ff4Y/twR/fzH66hDGI4qcFRhOCoxHFXRG47K6m2VGA4fGKHq3GwAJthG9ecGduRzO7zPMIIYzkpsWz3bIiIiIo3toNbpFhGRurBwpGzAmfkNpquszo+y7XBoNszaI4fCARrArh2Yo/dDe9+85+EK3CIiIiKNrs4TqV100UUUFxdH7//5z3+mqKgoen/nzp307du3QYsTEWmewsO3PZ3+h7vdXAxn3QM3gGFYew3c4X129a0h6hQRERGRxlbn0D158mR8Pl/0/p/+9KeYdbmDwSCrVq1q2OpERJoVC0fqGjydP8Dddh6GsxxQj7KIiIhIa1bn4eW2be/3vohI6xXCkboOZ+a3mM4KIr8eFbZFRERERNd0i4gctBCOtLW4Mr4BR1V0q8K2iIiIiETUOXQbhoGxxzvJPe+LiDRbZhWmqxjMIBghDCP8Mfx5CMwan1fvc3i3RsO2fh2KiIiIyN7Ua3j5sGHD8Hg8AFRVVXHrrbeSkpICEHO9t4hI02VjOMsw3Lsx3bsw3bsxPbvCy3Dt7ejoMlx7OY+CtoiIiIgcQJ1D99ChQ2Pu/+IXv6h1zJAhQw69IhGRBhPCcBeFg7V7N4Z7J6a7KDozeHj5rf2H5/A+zWEhIiIiIgenzqF73LhxDf7kY8aM4d1332XlypUkJSVx6qmn8vjjj3PEEUdEj6mqquKuu+7izTffxOfzMXDgQF588UVycnKix2zatIkRI0Ywffp0UlNTGTp0KGPGjMHp/PHlzZgxg1GjRrFs2TK6dOnCgw8+yLBhwxr8NYlIE2AEcKZ9hzNjGYYjEO2tNozY8LznfRERERGRhlbnJcMaw8yZMxk5ciTz5s1j6tSpBAIBLrjgAsrLy6PH3HnnnXz44Ye8/fbbzJw5ky1btnD55ZdH94dCIQYNGoTf72fOnDlMmDCB8ePH84c//CF6zPr16xk0aBBnn302ixcv5o477uCmm25i8uTJcX29ItLIjADO9GV4O7+HM2sxhiMQ3mwoYIuIiIhIYiR09vJPPvkk5v748eNp3749Cxcu5Mwzz6S4uJhXX32VN954g3POOQcI97j36dOHefPm0b9/f6ZMmcLy5cv59NNPycnJ4bjjjuOxxx7j3nvv5eGHH8btdvPSSy+Rl5fHk08+CUCfPn2YNWsWTz/9NAMHDoz76xaRBlajZxszoGutRURERKTJSGhP956Ki4sByM7OBmDhwoUEAgHOO++86DG9e/ema9euzJ07F4C5c+dy9NFHxww3HzhwICUlJSxbtix6TM1zRI6JnENEmqm99GwrcIuIiIhIU9Jk1um2LIs77riD0047jaOOOgqArVu34na7yczMjDk2JyeHrVu3Ro+pGbgj+yP79ndMSUkJlZWVJCUlxezz+Xwxs7GXlJQAEAgECAQCh/hKG0koCIBpBRNcSOsRaWu1efxE29z24UxZiSN9Rbhn2wZCStuNwQgaMR+l8anN409tHn9q8/hTm8dfq2pzO7yiaqKzUuT596wj0XU1mdA9cuRIvv32W2bNmpXoUhgzZgyPPPJIre1TpkwhOTk5ARXVXa8tCxNdQqujNo+/Xj8shh8AOia4ktaj6/yuiS6h1VGbx5/aPP7U5vGnNo+/1tTmE5mY6BIAmDp1asz9ioqKBFUS1iRC92233cZHH33E559/TufOnaPbc3Nz8fv9FBUVxfR2FxYWkpubGz1m/vz5MecrLCyM7ot8jGyreUx6enqtXm6A++67j1GjRkXvl5SU0KVLFy644ALS09MP7cU2konri2DFHFZ37IdlNokva4tnWkF6bVmoNo8LC0fKelypy+i2MIdNJ2/CdmpitHgwggZd53dVm8eR2jz+1ObxpzaPP7V5/LWmNrdtSAp04Yb2Fye0jkAgwNSpUzn//PNxuVzR7ZGRy4mS0KRg2za//vWvee+995gxYwZ5eXkx+/v164fL5eKzzz5j8ODBAKxatYpNmzaRn58PQH5+PqNHj2bbtm20b98eCP9lIz09nb59+0aPmTgx9q8uU6dOjZ5jTx6PB4/HU2u7y+WK+eI1KY7wl9IynQqAcaY2b0w2ZvJmXFlfY7rKsAPh4Vm2027x/3k1NWrz+FObx5/aPP7U5vGnNo+/1tDmth2+NZWstGduS3RdCU0KI0eO5I033uCDDz4gLS0teg12RkYGSUlJZGRkMHz4cEaNGkV2djbp6en8+te/Jj8/n/79+wNwwQUX0LdvX66//nrGjh3L1q1befDBBxk5cmQ0ON9666389a9/5Z577uHGG29k2rRpvPXWW3z88ccJe+0isn+mZxvOrK9xeHdWr7ONJkkTERERkWYnoaH7b3/7GwADBgyI2T5u3DiGDRsGwNNPP41pmgwePBifz8fAgQN58cUXo8c6HA4++ugjRowYQX5+PikpKQwdOpRHH300ekxeXh4ff/wxd955J88++yydO3fmH//4h5YLE2mCDFcxrqxFOJJ/wLarJyBR2BYRERGRZirhw8sPxOv18sILL/DCCy/s85hu3brVGj6+pwEDBrBo0aJ61ygiceKowJW5FEfqWiAStlv2UCwRERERafl0IaqIJJYRwJmxDGfGCsCu7tVW2BYRERGRlkGhW0QSxkz+HnebeWD6NYRcRERERFokhW4RiT8jgCv7K5xp67BtXbMtIiIiIi2XQreIxJXp2Y6r7WwMZwWgwC0iIiIiLZtCt4jEiYUz8xucGd8ChiZJExEREZFWQaFbRBqd4SzB3W4Whnu3JkoTERERkVZFoVtEGpGNI3UtruwFYNgaSi4iIiIirY5Ct4g0DrMKd9t5OJJ/SHQlIiIiIiIJo9AtIg3OTPoBd9s5YAYSXYqIiIiISEIpdItIwzH9uLIW4Uxbo6XARERERERQ6BaRBmHjSN6Iq81XYPoBBW4REREREVDoFpFDZDjLcLX5EkfSVvVui4iIiIjsQaFbRA6ShTN9Bc6spUSWAFPgFhERERGJpdAtIvVmeHbgbjMXw1WioC0iIiIish8K3SJSd4YfV9ZiHGmrAUOBW0RERETkABS6RaQObMzk73G3mQ+mvzps24kuSkRERESkyVPoFpH9MpxluLLn40gu0ERpIiIiIiL1pNAtIvugidJERERERA6VQreI1GJ6tuFq86UmShMREREROUQK3SLyI9OHK2sRzrS12LYmShMREREROVQK3SIC2DhS1uPK/grMIACGoYnSREREREQOlUK3SCtnuIpxtfkSh3e7JkoTEREREWlgCt0irZURxJnxLc6M5T9uUuAWEREREWlQCt0irY6NmbQFV/YCDGe5graIiIiISCNS6BZpLcwqnKnrcKStxnSVaSi5iIiIiEgcKHSLtGg2pncrjrQ1OJK/J7LeNihwi4iIiIjEg0K3SEvkqMSZujbcq+2sqF7+S7ORi4iIiIjEm0K3SIthYSYV4Exdg5n8A7G92grcIiIiIiKJoNAt0pwZAUzvNkxvIc6UDRjOSvVqi4iIiIg0IQrdIs1JNGRvw+EtwHDvxjCICdoK3CIiIiIiTYdCt0hTVoeQDQraIiIiIiJNlUK3SBNkuHfibjMfw71LIVtEREREpBlT6BZpYsykH3C3+xwMK7qsl0K2iIiIiEjzpNAt0oQ4UtfiajMP0DraIiIiIiItgUK3SJNg48z4BlfWN4kuREREREREGpBCt0jCWbjazMeZtjbRhYiIiIiISANT6BZJJCOIu90XmElbEl2JiIiIiIg0AoVukUQxq/DkTI8uAyYiIiIiIi2PQrdIAhjOUtw5n2E4KzQzuYiIiIhIC6bQLRJnhnsnnpxpYAYUuEVEREREWjiFbpE4MpO21FiDW4FbRERERKSlU+gWiQsbR+o6XG2+BGxdwy0iIiIi0koodIs0MsNRjqvNfBzJmqFcRERERKS1UegWaTQWjrTvcGUtBsNKdDEiIiIiIpIACt0ijcBw78LdZp6WAxMRERERaeUUukUakhHEmbkUZ/oKwFDgFhERERFp5RS6RRqI6S3A1XYehqOiOmxrdnIRERERkdZOoVvkUJk+XG2/xJm6AdtGvdsiIiIiIhKl0C1y0MI92Z4OE7HdAUCBW0REREREYpmJLkCkOTLcu3DlTA/fMQMYhoaSi4iIiIhIberpFqkPswpX1hIcqWswgiaQgmHo6m0REREREdk7hW6ROgnhTP8OZ+ZSMEIYBurdFhERERGRA1LoFjkAM+kHXNlfYTjLdM22iIiIiIjUi0K3yD4YrmJc2QtxJBVoVnIRERERETkoCt0iezL9uDKW4kj/LrpJgVtERERERA6GQrdIlI0jdQ2urEVgBnXNtoiIiIiIHDKFbhEAQrjazsOZukFDyUVEREREpMEodIsYAdztZ2J6C8N3FbhFRERERKSBKHRL6+aoxJMzDcNVrLAtIiIiIiINTqFbWi3DVYwn5zNwVOn6bRERERERaRQK3dIqmZ7tuHOmg6EJ00REREREpPEodEurYyZ/j7vdLMDSkHIREREREWlUCt3SqjjSvsOVvQDQhGkiIiIiItL4FLqllbBxZi7Blbks0YWIiIiIiEgrotAtrYBVvQb3+kQXIiIiIiIirYxCt7RsRgB3+88xvVsTXYmIiIiIiLRCCt3SYhnunbjbzsFwler6bRERERERSQiFbml5jCDOzCU401cChpYEExERERGRhFHolhbF9G7B1fZLDEdFde+2AreIiIiIiCSOQre0DGYVruyFOFM3YNtaDkxERERERJoGM5FP/vnnn/PTn/6Ujh07YhgG77//fsx+27b5wx/+QIcOHUhKSuK8885j9erVMcfs2rWL6667jvT0dDIzMxk+fDhlZWUxxyxdupQzzjgDr9dLly5dGDt2bGO/NIkbG0fKeryd/ocjZSOgwC0iIiIiIk1HQkN3eXk5xx57LC+88MJe948dO5bnnnuOl156iS+//JKUlBQGDhxIVVVV9JjrrruOZcuWMXXqVD766CM+//xzbr755uj+kpISLrjgArp168bChQv5y1/+wsMPP8zLL7/c6K9PGpfhKMOdMw13uzlgBnTttoiIiIiINDkJHV5+4YUXcuGFF+51n23bPPPMMzz44IP87Gc/A+Cf//wnOTk5vP/++1xzzTWsWLGCTz75hAULFnDiiScC8Pzzz3PRRRfxxBNP0LFjR15//XX8fj+vvfYabrebI488ksWLF/PUU0/FhHNpTiwcad/hyloMhgWod1tERERERJqmhPZ078/69evZunUr5513XnRbRkYGp5xyCnPnzgVg7ty5ZGZmRgM3wHnnnYdpmnz55ZfRY84880zcbnf0mIEDB7Jq1Sp2794dp1cjDcPG9G7F0+ETXNkLMcyQerdFRERERKRJa7ITqW3duhWAnJycmO05OTnRfVu3bqV9+/Yx+51OJ9nZ2THH5OXl1TpHZF9WVlat5/b5fPh8vuj9kpISAAKBAIFA4FBeVuMJBQEwrWCCC2kEjkqcKRswU9diOiuwbQMjlPiubSNoxHyUxqc2jz+1efypzeNPbR5/avP4U5vHX6tqcxuMIAnPSpHn37OORNfVZEN3Io0ZM4ZHHnmk1vYpU6aQnJycgIrqrteWhYkuoRG1S3QBe9V1ftdEl9DqqM3jT20ef2rz+FObx5/aPP7U5vHXmtp8IhMTXQIAU6dOjblfUVGRoErCmmzozs3NBaCwsJAOHTpEtxcWFnLcccdFj9m2bVvM44LBILt27Yo+Pjc3l8LCwphjIvcjx+zpvvvuY9SoUdH7JSUldOnShQsuuID09PRDe2GNZOL6Ilgxh9Ud+2GZTfbLekCGsxRH6nocKeswHP5wr3YTHUJuBA26zu/KppM3YTubZo0tjdo8/tTm8ac2jz+1efypzeNPbR5/ranNbRuSAl24of3FCa0jEAgwdepUzj//fFwuV3R7ZORyojTZdJaXl0dubi6fffZZNGSXlJTw5ZdfMmLECADy8/MpKipi4cKF9OvXD4Bp06ZhWRannHJK9JgHHniAQCAQbfipU6dyxBFH7HVoOYDH48Hj8dTa7nK5Yr54TYoj/KW0TGfzC91GEEfyJhxpa3B4t2PbBhg24V9NkY9Nl+20W/wv0qZGbR5/avP4U5vHn9o8/tTm8ac2j7/W0Oa2Hb41lay0Z25LdF0JnUitrKyMxYsXs3jxYiA8edrixYvZtGkThmFwxx138Mc//pH//e9/fPPNNwwZMoSOHTty6aWXAtCnTx9+8pOf8Mtf/pL58+cze/ZsbrvtNq655ho6duwIwM9//nPcbjfDhw9n2bJl/Oc//+HZZ5+N6cmWxDG9W/F2fhd3u7mYnu0ATbZnW0REREREpL4S2iX61VdfcfbZZ0fvR4Lw0KFDGT9+PPfccw/l5eXcfPPNFBUVcfrpp/PJJ5/g9Xqjj3n99de57bbbOPfcczFNk8GDB/Pcc89F92dkZDBlyhRGjhxJv379aNu2LX/4wx+0XFgT4EhZj6vtXKjuy9ayXyIiIiIi0tIkNHQPGDAA2953r6ZhGDz66KM8+uij+zwmOzubN954Y7/Pc8wxx/DFF18cdJ3S0GycGctwZS3BthW2RURERESk5WpmF/9K82fharMAZ9oaQIFbRERERERaNoVuiR8jgLvdF5hJBYmuREREREREJC4UuiU+HJV4cqZhuIrVuy0iIiIiIq2GQrc0OsNVjCfnM3BUaWZyERERERFpVRS6pVGZnkLcOTPACClwi4iIiIhIq6PQLY3GkbIBV9s5gK0h5SIiIiIi0iopdEsjsHGmL8eVvVhLgomIiIiISKum0C0NynCU48xahDN1Y/i+AreIiIiIiLRiCt3SMMwqXBnf4kj/LtGViIiIiIiINBkK3XJojADOjBU405eDYWmyNBERERERkRoUuuXgGCEcad/hyvgGzICGkYuIiIiIiOyFQrfUk4UjdT2uzMXV624nuh4REREREZGmS6Fb6sjGTP4eV9YiTFeZZiUXERERERGpA4Vu2T+zCkfyZpxp32F6dmNXX7KtwC0iIiIiInJgCt1Si+EsxZG8GTN5E6ZnR2Rr+F+FbRERERERkTpT6BbAxnDvxpH8PY7kTZjukr30aGtWchERERERkfpS6G61LEzvNhzJm3Ekb8RwVmHbRnTJL/Voi4iIiIiIHDqF7lbHxpG8CVebBRgO3x5BW73ZIiIiIiIiDUmhuzVxVOBuMx9H8g81ho8raIuIiIiIiDQWhe5WwcaRugZX9tdghAANHxcREREREYkHhe4WznCW4mo7F4d3u9bWFhERERERiTOF7hbLwpm+EmfWEiIzjytwi4iIiIiIxJdCdwtkuHbjbjsXw71bQVtERERERCSBFLpbGGfGN5jZKwD1bIuIiIiIiCSamegCpGEEzN0AONJXYBi2ZiUXERERERFpAhS6W4gS9/+3d+fhUdX3Hsc/k8lCCEuCQICSGstiRSu7CEqBSNlVoIhwAS9Yw0XkorLoU1wQBVp6vdJyURSeB2SJF0XUKiDFAmppkV0IIFsgBCEhBIpJIIRk5nf/4GZKWDTCnN8hk/freXhMZobkx9uTk/nOOTOzWxJHtwEAAADgRsLQHSKM/G4vAQAAAABwCYZuAAAAAAAcwtANAAAAAIBDGLoBAAAAAHAIQzcAAAAAAA5h6AYAAAAAwCEM3QAAAAAAOIShGwAAAAAAhzB0AwAAAADgEIZuAAAAAAAcwtANAAAAAIBDGLoBAAAAAHAIQzcAAAAAAA5h6AYAAAAAwCEM3QAAAAAAOIShGwAAAAAAhzB0AwAAAADgEIZuAAAAAAAcwtANAAAAAIBDGLoBAAAAAHAIQzcAAAAAAA5h6AYAAAAAwCEM3QAAAAAAOIShGwAAAAAAhzB0AwAAAADgEIZuAAAAAAAcwtANAAAAAIBDGLoBAAAAAHAIQzcAAAAAAA5h6AYAAAAAwCEM3QAAAAAAOIShGwAAAAAAhzB0AwAAAADgEIZuAAAAAAAcwtANAAAAAIBDGLoBAAAAAHAIQzcAAAAAAA5h6AYAAAAAwCEM3QAAAAAAOIShGwAAAAAAhzB0AwAAAADgEIZuAAAAAAAcwtANAAAAAIBDGLoBAAAAAHBIhRq6X3/9dSUmJqpSpUpq06aNNm7c6PaSAAAAAAAhrMIM3e+++67GjBmjiRMnauvWrWratKm6du2q7Oxst5cGAAAAAAhRFWbofu2115ScnKxhw4apSZMmevPNN1W5cmXNnTvX7aUBAAAAAEJUhRi6z58/ry1btqhz586By8LCwtS5c2etX7/exZUBAAAAAEJZuNsLsCEnJ0c+n0/x8fGlLo+Pj9eePXsuu31hYaEKCwsDn+fm5kqSioqKVFRU5Oxir5HHZy78t9jj8koqjpLWNLeH5vbR3D6a20dz+2huH83tq1DNjeQpluuzUsn3v3Qdbq+rQgzdP9bvfvc7TZo06bLLV61apcqVK7uwoh920///96cbf+rqOioimttHc/tobh/N7aO5fTS3j+b2VaTmK7TC7SVIkj777LNSn589e9allVxQIYbumjVryuv16vjx46UuP378uOrUqXPZ7X/7299qzJgxgc9zc3OVkJCgLl26qFq1ao6v91oUFRXps88+069+9StFRES4vZwKgeb20dw+mttHc/tobh/N7aO5fTS372rNS85cdkuFGLojIyPVsmVLrV69Wr1795Yk+f1+rV69WqNGjbrs9lFRUYqKirrs8oiIiBv+B6Y8rDHU0Nw+mttHc/tobh/N7aO5fTS3j+b2Xdrc7f4VYuiWpDFjxujf//3f1apVK91111364x//qDNnzmjYsGFuLw0AAAAAEKIqzND98MMP68SJE3rxxReVlZWlZs2aaeXKlZe9uBoAAAAAAMFSYYZuSRo1atQVTycHAAAAAMAJFeJ9ugEAAAAAcANDNwAAAAAADmHoBgAAAADAIQzdAAAAAAA4hKEbAAAAAACHMHQDAAAAAOAQhm4AAAAAABzC0A0AAAAAgEMYugEAAAAAcAhDNwAAAAAADmHoBgAAAADAIQzdAAAAAAA4hKEbAAAAAACHMHQDAAAAAOCQcLcXUB4YYyRJubm5Lq/k6oqKinT27Fnl5uYqIiLC7eVUCDS3j+b20dw+mttHc/tobh/N7aO5fVdrXjLHlcx1tjF0l0FeXp4kKSEhweWVAAAAAACuRV5enqpXr279+3qMW+N+OeL3+3Xs2DFVrVpVHo/H7eVcUW5urhISEnTkyBFVq1bN7eVUCDS3j+b20dw+mttHc/tobh/N7aO5fVdrboxRXl6e6tWrp7Aw+8+w5kh3GYSFhal+/fpuL6NMqlWrxg+1ZTS3j+b20dw+mttHc/tobh/N7aO5fVdq7sYR7hK8kBoAAAAAAA5h6AYAAAAAwCEM3SEiKipKEydOVFRUlNtLqTBobh/N7aO5fTS3j+b20dw+mttHc/tu1Oa8kBoAAAAAAA7hSDcAAAAAAA5h6AYAAAAAwCEM3QAAAAAAOIShG0CFw0tZoKJgWwcQbOxX3EF3+4LZnKEbl+GHGqGqoKBAkuTxeNjOLcnMzNTmzZvdXkaF4vP5Ah97PB75/X4XV1Mx0RyhKD8/XxK/Q206cuSI/vKXv0i60B3OKyoqCmzfwfwdytBdwR0+fFgpKSmaPXu2vvrqK0ncSbPh2LFjWrNmjd577z1lZGS4vZwKYdeuXWrXrp0++ugjSdxpsGHHjh269957tXr1ah09etTt5VQI+/bt08iRIzVo0CCNHj1akhQWxq96Jx08eFDTp0/X1KlT9e6770qiudOOHDmiJUuW6I033gjcd4Gzdu3apcTERL399tuS+B1qQ8nv0L/97W9KT08PXE535+zZs0dDhgxR9+7d1bt3b0nB25+HB+WroFxKTU1Vp06d1KRJE6WmpiohIUGNGjXS0qVLFRYWJr/fzx0HB6Smpqp3796qXbu2Nm3apI4dO2rs2LHq3r2720sLaXPnztW+ffs0adIk+f1+9e3bN3CngUePgy8tLU2dO3fWoEGDNGbMGEVERJS6nv1L8O3cuVMdO3ZU165d5fF49Nlnn+m5557TlClTJIlt3QE7d+5U+/bt1aZNG6WlpUmSZsyYoQ8++EDx8fEury40paamqmfPnmrYsKG2bt2q22+/XUOGDNGIESPcXlpI++STT3T69GmNHTtWRUVFSk5OlsR+xSmHDh1S165dNXDgQE2ePLnUdfR2xq5du9ShQwc98MADuuWWW/T+++9r8ODBWrRokaTr39a5x1NBnTlzRsOHD9fDDz+sNWvWaO/evXr22We1Y8cOtWnTRsXFxYHBG8Fz4MAB9ejRQwMHDtTHH3+s/fv368yZM1qyZInbSwt5lStXVsuWLXXPPffo+eef19KlSyVd+OV18em4uD4lj8CnpKSoQ4cOmj59urxer9566y1NnjxZ06ZNk8SRwGA7ffq0Hn30UQ0dOlQpKSmaM2eOOnbsqKioqMBtuKMWXOfOndNTTz2lfv36aeXKldqyZYvmz5+vgoICdejQQfv375fEUalgOnjwoB544AENHjxYy5cv1+7du9WgQYPA6bdwTtWqVZWUlKRx48Zp7NixmjNnjjwejzweT+CpWwie5cuXq02bNnrttdfk9/s1bdo0Pf300/rP//xPHTt2zO3lhZz8/PzAWWJz587V1KlT9dhjj6l27dqB21zv71COdFdQhYWFOnPmjHr06KHw8HDVrl1b/fv3V8OGDTVkyBAlJSXpyy+/VFhYGI9iBklhYaFmzZqljh076rnnnlNkZKRq1aql8ePHa/To0Tp16pRq1Kjh9jJDVseOHZWXl6cRI0bo9OnTevHFF3XTTTdp/fr16tSpk9q0acN2HgQlDY8cOaLGjRtLktq1a6fIyEgVFhYqMzNT8+fP16pVq1S/fn2OeAfJiRMnlJ+fr8GDB0uSoqOj5ff7tWrVKm3YsEGVKlXSG2+8ofj4ePbpQeLxeJSfn6+2bdtKkqpVq6Z27dppxYoV6tu3r/r06aNt27YpIiKC5kFQVFSkhQsXqlWrVvrtb3+rqKgo1atXT8nJybr//vuVnp6uxMREt5cZstq3b68vvvhCjzzyiLKzszV27FjFxcVp165datKkifr06aPwcMaKYDl69Kji4uIkSW3btlV0dLSqVaumtLQ0ffjhh1q8eLHuvfde9i1Bkp+fr9OnT+vBBx+UdGH//u2332rNmjVq27atvF6v/vCHP6hdu3bX3Jx7OhVUtWrVVFxcrDVr1gQui4iI0F133aU5c+YoKytLzz//vCSOjgSLMUaRkZFKSkpSdHS0vF6vJCk+Pl4FBQU6f/68yysMbVFRUfrrX/+qW265Rc8++6w6dOigvn376rnnnlODBg14flqQ+f1+7dixQ++++67i4uK0bNkyrVmzRhs2bFC1atX061//WhJHvIOlevXqOnv2rGbNmqV//vOfmjhxoubPn68uXbrovvvuU0ZGhjp37iyfz8c+PUhKziJYtWpV4DK/3686deronXfekc/n029+8xtJ/B4NltjYWHXr1k1Vq1YN7Dvq1KmjsLAwfoc6LCwsTFu3blVERISef/55jR8/XoMGDdIrr7yipKQkhYeHc3ZkEHm9Xu3evVurVq1S7dq19cknn+jDDz/Url271KxZMz322GMqLi5m3xIkcXFxOnfunP77v/9b+/bt04QJEzRnzhw9+uijGjt2rGJjYzVgwACdPHny2psbVEjFxcXmhRdeMO3atTOffvppqeuKiorM6NGjTdeuXU1RUZFLKwxNx44dC3zs8/mMMcYcOnTI/PznPzenT58OXLdp0ybrawtVxcXFxhhjTp06Ze655x7j9/uNMcb07NnTxMTEmJ/97Gfmk08+cXOJIWnt2rWmbdu2pm3btuY//uM/jDH/2ubXr19vEhISzObNm91cYkg5e/asmTlzpqlbt67p0qWLqVSpklm8eHHg+gMHDpjq1aubJUuWuLjK0FGyLc+bN8/ceeedZs6cOZddN336dNOyZUuTk5PjyhpDScl++9SpU4HLSjrn5uaaxo0bm7S0tMB1q1evtrvACqJz587m+PHjxhhj+vbta6pVq2aqVKli5s+f7/LKQs+hQ4fML37xC3PHHXeYBx54wPh8PnP+/HljzIX7kvHx8Zfdf8e1Kdm/rFixwiQmJpqePXua2NhY8/bbbwduU1RUZKpXr25mzZp1zd+HQwwVRFZWltatW6evvvpKJ06ckNfr1ZAhQ+Tz+TRz5kx98cUXgduGh4erWbNmOnTokPLy8lxcdflX0n39+vU6ceKE6tatK+nCUe+SR+kLCwv1z3/+M/CcqBdeeEHDhw9XTk6Oa+suzy7e1nNycgJnFMTFxcnr9WrTpk0aOnSotm3bpjlz5qhz585KTk7WsmXLXF55+XVpc0lq0qSJGjZsqI0bN+rw4cOS/nVUOzo6WjExMapcubJray7vLt23REdHa/jw4UpNTdWrr76qBg0a6J577pF0YX9TXFysevXqlXp+Gn6ckiOp5qJTC7t06aLbbrtNKSkpSklJkfSv7bxhw4Y6efKkCgsL3VlwCLi4uTEmcLrtxb9DCwoK9N133wU6v/DCCxoyZIgyMzPdWXQ5d3HzS0VERGjdunX6zW9+o/Xr1+u9997TmDFjNHToUC1cuND2UkPGlZrXqlVLvXv31vHjx5WVlaWwsLDAC5IWFhaqdu3aPCXxOlypeffu3bV371699dZbuvnmm9WmTRtJF57akp2drVtuuUX169e/9m96zeM6yo3t27ebxMRE06BBA/OTn/zE1K9f3/z5z382xhiTmppqbr/9dtOjRw+zYMECY8yFR3OefPJJk5SUZM6cOePm0su1S7snJCSYZcuWBR6pLPH111+bmJgYk5OTYyZNmmQiIiI40n2Nrta8oKDAGGNMv379TGxsrElMTDTbtm0zxlw4q+CJJ54wBw4ccHHl5deV9i8ff/yxMcaYjIwM8+CDD5qoqCjzxBNPGGMuHKl6+eWXTfPmzU12drabSy+3rta8ZN+Sk5NjmjZtat55553A33nppZdMkyZNzNGjR91adrm2e/du07FjR/OPf/zDGHPhKGvJkda9e/eaXr16mV/+8pdmypQpxpgLR1+fffZZc9ddd5U6iwlld2nzkqNRl0pPTzdVqlQxaWlpZsqUKSYqKoqzaK7R1ZqXbOtjxowJnCFW8jv0yJEjZtKkSWbPnj2urLm8u1Lzku7Hjh0zTz75pAkLCzMPPvigOXnypDl8+LCZPHmyue2220qdPYmy+77mxhhTWFhoWrRoYaZOnWqMMeb8+fPmlVdeMQ0bNjQZGRnX/H0ZukNcdna2adiwoXn22WdNRkaG2bBhg3n88ceN1+s1r776qjHGmF27dpkHH3zQNGrUyCQmJpqkpCQTGxsb2KHix7ta9/DwcDN9+nSTn58fuO2BAwdMixYtzPDhw7mzcB2+r/lrr71mjLlwymGrVq0ue1Dj3Llzbiy53Pu+5iX7lyNHjpixY8eaOnXqmLi4ONOyZUsTHx9vtm7d6vLqy6cf2rfk5eWZ3Nxc069fP9O2bVvTsWNHM3DgQHPTTTexT79Ghw4dMg0aNDBxcXGmdevWZv369caYC4NIydNX0tLSzNNPP20SEhJMzZo1TevWrU3NmjXZzq/R1ZpfafA+deqUadGihenbt6+pVKkSv0OvUVmab9682XTs2NFs2bKl1N8t+TnAj/N9+5aSBzpOnDhhXn/9dXPzzTeb2NhY06RJE5OQkMC+5Rr90Hbu9/vNuXPnzDPPPGPuuOMOc9ttt5levXqZ2rVrX/fvUIbuELd//35z6623XrahTJ061Xg8nsBzE44ePWo2bNhgJk6caObMmWP27dvnwmpDx/d1DwsLM7Nnzw5ctnv3buPxeEz16tXZiV6Hsm7rFx91utqRE5RNWZt/99135ttvvzWzZ882y5cvN+np6S6sNjT80L7lzTffNMYYs2/fPjNt2jTTr18/88wzz3AU6hqdO3fOjBw50vz61782KSkppm/fvqZ58+ZXHLzz8vLM4cOHzcyZM83SpUvNwYMH3Vx6ufVDzS/dbx87dsyEh4ebKlWq8MDSNSrLdl7yGj8lZ47h+pSlecng7fP5zJkzZ8yHH35o1q1bZ44cOeLm0sutsuxbSppnZWWZJUuWmOTkZDNt2rSgzEUM3SFu8+bNJjIy0mzfvt0YY0qd2vziiy+Wug7B80Pdo6KiTGpqqjHmwg92nz59zDfffOPKWkNFWbb1kuYIjrI037Fjh1vLC0k/Zp9+8R02XLuPPvoo8EJpf/vb30yfPn2uekcNwVGW5iW+++478+STT5q9e/e6stZQ8UPNfT4fD1QHWVm280tPfcb1cXN/7jGG98gJdd26ddOZM2f05z//WTVq1FBRUZEiIiLk8/nUo0cP1a9fX2+99ZbCwsJ4+54gKkv3WbNmKTIyUufPn1dkZKTbSy73fqh5QkJCYFvnbTaCoyzb+ezZs+XxeNi/BElZ9+kej0der5f3cQ2yL774QjNmzNDBgwc1a9Ys3X333SosLFRGRoYaNWrk9vJC0tWap6en69Zbbw38DCB42M7to7l9V2p+7tw5ZWRkqHHjxkH9XtwDqgBGjhwpn8+n8ePH6/Tp04qIiJDf75fX61XdunWVk5Oj8PBw7hAHWVm6lwzaDNzB8UPNS165nwEkeMqynXu9XvYvQVTWfXrJK/ezvQdHyXsQd+jQQaNHj9bPfvYzjRw5UuvWrdP48eOVlJSk/Px8l1cZWn6o+X333af8/HyFh4e7vNLQwXZuH83t+77mzzzzTGDfEkzspSqAnj17av/+/VqyZIlGjhyp119/PfC2GxEREYqNjVVRUZHCw8O5cxZEdLeP5vbR3D6auyMsLCxw1kCHDh0kSf/zP/+jTp06KSYmRqtWrVKVKlVcXmVoobl9NLeP5va50ZzTy0PE1U5P9vv9CgsLk8/n0+zZs7Vo0SKlpaWpV69eOnnypP76179q/fr1uuOOO1xYdflHd/tobh/N7aO5fWV9ms/Fp+v36tVLf//737Vu3TrdfvvtTi8x5NDcPprbR3P7bsTmnO8XAvbs2aNJkyZp+/btl10XFhYWOO1wxIgRevvtt/XYY4+poKBA9erV04YNG7hzdo3obh/N7aO5fTS37/uaX8rj8cjn82nq1Klau3at1q5dy53ia0Bz+2huH83tu1Gbc3p5OZeamqr27dvrkUceuew0iJIjIhefQtGoUSNNnjzZpdWGDrrbR3P7aG4fze0rS/NLeb1e3XHHHdq0aZOaNGlia6khg+b20dw+mtt3Izfn9PJyLCcnR127dlVSUpL+67/+S5KUn5+vvLw81a1b94p/h1exvX50t4/m9tHcPprbdy3NcX1obh/N7aO5fTd6c450l2M5OTkyxmjcuHEqKipScnKydu3apby8PDVr1kxz585V5cqVSz2yw52z60d3+2huH83to7l919Ic14fm9tHcPprbd6M3Z+gux7799ludPXtW8fHx6tevnwoKCjRq1CgVFxdrypQp6tKli9atW8cPc5DR3T6a20dz+2huH83to7l9NLeP5vbd8M0Nyq2cnByTkJBgnnrqKdO9e3eTmpoauO7AgQMmPj7eTJ061cUVhia620dz+2huH83to7l9NLeP5vbR3L4bvTlHussZ8//P3zPGqGrVqho0aJA+/fRT5eTkKCEhQZJUXFysxMREtWzZUidPnnR5xaGB7vbR3D6a20dz+2huH83to7l9NLevPDXnnIZyIisrS1lZWfJ4PPL7/fJ4PIqMjNTAgQN100036dixY5oxY4YkKTw8XF6vVzExMYFX7jO8Xt41obt9NLeP5vbR3D6a20dz+2huH83tK5fNbRxOx/X55ptvzM0332x69+5tjhw5Yowxpri42Pj9fmOMMV9//bXp2bOnqVmzpklOTjYLFy40o0aNMjVq1DB79+51c+nlGt3to7l9NLeP5vbR3D6a20dz+2huX3ltzluG3eCOHj2q/v37Ky8vTzVq1FBCQoKmTp2qhIQE+Xw+hYWFyePxKC0tTStWrNAbb7yhKlWqqGrVqpo+fbqaNm3q9j+hXKK7fTS3j+b20dw+mttHc/tobh/N7SvXzV0b91EmH330kenQoYP56quvzKxZs8y9995rBg8ebDIyMowxxhQVFQUe2THGGL/fbwoKCszZs2fdWnJIoLt9NLeP5vbR3D6a20dz+2huH83tK8/NGbrLgc8++yzw8RtvvBHYwA4fPmyMMcbn8wWuLyoqsr6+UEV3+2huH83to7l9NLeP5vbR3D6a21demzN038AufqTmYld6ZOeVV14xp0+ftrm8kEV3+2huH83to7l9NLeP5vbR3D6a21fem/Oc7nLE7/cH3tD9zTffVEpKim655RaFhYVpwYIF2rVrl2677TaXVxl66G4fze2juX00t4/m9tHcPprbR3P7yl1zt6d+fL/i4uJSn198msTrr79uKleubGJjY822bdssryy00d0+mttHc/tobh/N7aO5fTS3j+b2lefmvE/3DcZcdOKBz+eT1+vV0aNHtWDBAkkX3mvO7/dLkvbs2aPw8HCtW7dOzZo1c2O5IYPu9tHcPprbR3P7aG4fze2juX00ty+UmjN03wByc3N14sSJwJu8S//asA4fPqw2bdpoz549gduHhYVp1apVmjt3rtauXavbb7/draWXa3S3j+b20dw+mttHc/tobh/N7aO5fSHb3K1D7Lhg586dpn379qZp06YmJibGLFq0KHBdZmamiY+PNyNGjLjiiwdkZWXZXGpIobt9NLeP5vbR3D6a20dz+2huH83tC+XmDN0u2rlzp4mLizNjx441y5YtMxMmTDAxMTHmxIkTxhhjMjIyzO9///vLnr9w8Uvh48eju300t4/m9tHcPprbR3P7aG4fze0L9eYM3S45evSoadWqlRk/fnzgsl27dpmePXua9PR0s2/fPhdXF7robh/N7aO5fTS3j+b20dw+mttHc/sqQnOe0+2S7OxstWzZUiNGjAhc9u6772rNmjXq1auXWrRooREjRujw4cMurjL00N0+mttHc/tobh/N7aO5fTS3j+b2VYjmbk/9Fdm3334b+HjBggUmIiLCLFq0yBw8eNCsWLHCVKpUycybN8+9BYYouttHc/tobh/N7aO5fTS3j+b20dy+UG/uMeai12KHo/x+v4wx8nq9pS4vLi7WypUrFR8fr9atWwcub9++vRo1aqS5c+faXmpIobt9NLeP5vbR3D6a20dz+2huH83tq2jNw91eQEWxe/duTZ06VVlZWWrUqJF69eqlnj17SrrwHnO9evUK3NYYo7y8PMXExJTa2PDj0d0+mttHc/tobh/N7aO5fTS3j+b2VcTmPKfbgr1796pdu3by+Xxq3bq11q9fr5deeklPP/104DbFxcWBjz0ej1599VXt379f3bp1c2PJIYHu9tHcPprbR3P7aG4fze2juX00t6/CNrd5LntF5Pf7zYQJE0z//v0Dl+Xm5prJkyebZs2ameTk5FK3X7lypXn88cdNjRo1zNatW20vN2TQ3T6a20dz+2huH83to7l9NLeP5vZV5OYc6XaYx+PRsWPHlJWVFbisatWqGj16tAYPHqxt27Zp2rRpkqSCggJlZ2crPT1dX375pZo3b+7Wsss9uttHc/tobh/N7aO5fTS3j+b20dy+Ct3c7ak/lPn9fmOMMTNmzDD33HOP2bNnT6nrT506ZZKTk027du1MXl6eMebCG7yXfIxrQ3f7aG4fze2juX00t4/m9tHcPprbV9GbM3RbcODAAVOzZk3z6KOPBjackg0vIyPDeDwes2LFCjeXGJLobh/N7aO5fTS3j+b20dw+mttHc/sqanNevdyCBg0a6L333lP37t0VHR2tl156STVr1pQkRURE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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "\n",
+ "\n",
+ "# Align DataFrames based on index\n",
+ "combined = pd.DataFrame({\n",
+ " \"Demand\": demand[\"Value\"],\n",
+ " \"Wind\": wind[\"Value\"]\n",
+ "})\n",
+ "\n",
+ "# Plotting\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.fill_between(combined.index, combined[\"Demand\"], label=\"Demand\", color=\"skyblue\")\n",
+ "plt.fill_between(combined.index, combined[\"Wind\"], label=\"Wind Contribution\", color=\"lightgreen\")\n",
+ "plt.title(\"Demand vs Wind Energy Contribution\")\n",
+ "plt.ylabel(\"Energy (MW)\")\n",
+ "plt.xlabel(\"Effective Time\")\n",
+ "plt.legend()\n",
+ "plt.grid(True)\n",
+ "plt.xticks(rotation=45)\n",
+ "plt.tight_layout()\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9kAAAJOCAYAAACjoMSlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAADzUklEQVR4nOzdd3xUVf7/8de909ITeqgBBQTsoi5RVHBVFrGt2F0p4iqI7lfcVdfVVdRVVtaGil2B/Sm7a2+ggCIiTQSlCIL0UENNL1Pu+f0xycAQSgLpeT8fjxjm3jNnPpNM4rxzzj3HMsYYREREREREROSo2TVdgIiIiIiIiEh9oZAtIiIiIiIiUkkUskVEREREREQqiUK2iIiIiIiISCVRyBYRERERERGpJArZIiIiIiIiIpVEIVtERERERESkkihki4iIiIiIiFQShWwRERERERGRSqKQLSIitd7IkSOxLKumyzhqgwYNon379rW+T6kd2rdvz6BBgyK3x48fj2VZLFiwoFoev1evXvTq1ataHktEpD5RyBYRqcVK31SXfsTExNCqVSv69OnD888/T25ubk2X2GBcfPHFNGrUCGNM1PGffvoJy7JIS0src5/p06djWRavvfZadZV5UL169Yp6Le370aVLl5our1qsWbOG2267jWOOOYaYmBiSkpI4++yzGTNmDIWFhVX2uMuXL2fkyJGsX7++yh7jSNXm2kRE6ip3TRcgIiKH9+ijj9KhQwcCgQDbtm1jxowZ3HXXXTzzzDN8+umnnHTSSTVdYr3Xs2dPvvjiC37++WdOPPHEyPHZs2fjdrvJyMhg06ZNtGnTJupc6X0BXn/9dRzHqd7C99GmTRtGjRpV5nhycnINVFO9Jk2axNVXX43P52PAgAGccMIJ+P1+Zs2axT333MOyZcuq7I8hy5cv55FHHqFXr14VmnWwcuVKbLtqx0MOVdvUqVOr9LFFROorhWwRkTqgb9++nH766ZHb999/P9OnT+eSSy7hsssu45dffiE2NrYGK6z/SoPyrFmzyoTsiy++mOnTpzNr1iyuu+66yLlZs2bRpEkTunbtCoDH46neoveTnJzMH/7whxqtoVRBQQFxcXHV8ljr1q3juuuuIy0tjenTp9OyZcvIueHDh7N69WomTZpULbUcjjGGoqIiYmNj8fl8NVqL1+ut0ccXEamrNF1cRKSOOv/88/n73//Ohg0bePvtt6POrVixgquuuorGjRsTExPD6aefzqeffhrVpnQq+qxZs/jTn/5Es2bNSElJ4bbbbsPv95OVlcWAAQNo1KgRjRo14t577y0zVfqpp57irLPOokmTJsTGxtK9e3fef//9MrValsUdd9zBxx9/zAknnIDP5+P444/nyy+/LNN21qxZnHHGGcTExHDsscfy6quvluvrcccdd5CQkEBBQUGZc9dffz2pqamEQiEAFixYQJ8+fWjatCmxsbF06NCBm2+++ZD9n3nmmXi93sjodKnZs2dz7rnncuaZZ0adcxyHefPmcdZZZ0WuJ9//+un169djWRZPPfUUr732Gsceeyw+n48zzjiDH374oUwNpV+/mJgYTjjhBD766KNyfW0qovT699WrVzNo0CBSUlJITk5m8ODBB/zavv3223Tv3p3Y2FgaN27Mddddx8aNG6Pa9OrVixNOOIGFCxdy7rnnEhcXx9/+9jcAdu3axU033URSUhIpKSkMHDiQxYsXY1kW48ePB2DcuHFYlsVPP/1U5vGfeOIJXC4XmzdvPuhzGj16NHl5ebz55ptRAbtUx44d+b//+7/I7WAwyGOPPRb5frRv356//e1vFBcXR92vffv2XHLJJcyaNYszzzyTmJgYjjnmGP79739H2owfP56rr74agN69e0em6M+YMSOqjylTpnD66acTGxsbec3vf012qYKCAm677TaaNGlCUlISAwYMYM+ePVFtLMti5MiRZe67b5+Hq+1A12Rv376dIUOG0KJFC2JiYjj55JOZMGFCVJuKvq5FROobjWSLiNRhN910E3/729+YOnUqf/zjHwFYtmwZZ599Nq1bt+avf/0r8fHxvPvuu1xxxRV88MEH/P73v4/q48477yQ1NZVHHnmEefPm8dprr5GSksKcOXNo164dTzzxBJMnT+Zf//oXJ5xwAgMGDIjcd8yYMVx22WXceOON+P1+/vvf/3L11Vfz+eef069fv6jHmTVrFh9++CG33347iYmJPP/88/Tv35+MjAyaNGkCwNKlS7noooto1qwZI0eOJBgM8vDDD9OiRYvDfi2uvfZaxo4dG5kWXKqgoIDPPvuMQYMG4XK52L59e+Qx/vrXv5KSksL69ev58MMPD9l/TEwM3bt3Z9asWZFjGzduZOPGjZx11llkZWVFjYYuXbqUnJycyAj4oUycOJHc3Fxuu+02LMti9OjRXHnllaxduzYy+j116lT69+9Pt27dGDVqFLt27WLw4MFR09MPJxQKsXPnzjLHY2NjiY+Pjzp2zTXX0KFDB0aNGsWPP/7IG2+8QfPmzXnyyScjbR5//HH+/ve/c80113DLLbewY8cOXnjhBc4991x++uknUlJSIm137dpF3759ue666/jDH/5AixYtcByHSy+9lPnz5zNs2DC6dOnCJ598wsCBA6Nqueqqqxg+fDjvvPMOp556atS5d955h169etG6deuDPu/PPvuMY445hrPOOqtcX6dbbrmFCRMmcNVVV/HnP/+Z77//nlGjRvHLL7+U+cPG6tWrueqqqxgyZAgDBw7krbfeYtCgQXTv3p3jjz+ec889lz/96U88//zz/O1vf4vMaij9DOFp4ddffz233XYbf/zjHznuuOMOWd8dd9xBSkoKI0eOZOXKlbz88sts2LCBGTNmVGiBwPLUtq/CwkJ69erF6tWrueOOO+jQoQPvvfcegwYNIisrK+oPFVC+17WISL1kRESk1ho3bpwBzA8//HDQNsnJyebUU0+N3P7tb39rTjzxRFNUVBQ55jiOOeuss0ynTp3K9N2nTx/jOE7keHp6urEsywwdOjRyLBgMmjZt2pjzzjsv6rELCgqibvv9fnPCCSeY888/P+o4YLxer1m9enXk2OLFiw1gXnjhhcixK664wsTExJgNGzZEji1fvty4XC5zuP9lOY5jWrdubfr37x91/N133zWAmTlzpjHGmI8++uiwX9ODueeeewxgNm3aZIwx5j//+Y+JiYkxxcXFZvLkycblcpmcnBxjjDEvvviiAczs2bMj9x84cKBJS0uL3F63bp0BTJMmTczu3bsjxz/55BMDmM8++yxy7JRTTjEtW7Y0WVlZkWNTp041QFSfB3PeeecZ4IAft912W6Tdww8/bABz8803R93/97//vWnSpEnk9vr1643L5TKPP/54VLulS5cat9sddbz0sV955ZWoth988IEBzHPPPRc5FgqFzPnnn28AM27cuMjx66+/3rRq1cqEQqHIsR9//LFMu/1lZ2cbwFx++eWH/PqUWrRokQHMLbfcEnX8L3/5iwHM9OnTI8fS0tKiXlvGGLN9+3bj8/nMn//858ix9957zwDmm2++KfN4pX18+eWXBzw3cODAyO3Sn9nu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Qfr27Rs5duyxxzJz5swy99t/JLsitV188cVs27aN//3vf5FjwWCQF154gYSEBM4777wjeToiIvWORrJFROqAL774ghUrVhAMBsnMzGT69OlMmzaNtLQ0Pv30U2JiYiJtx44dS8+ePTnxxBP54x//yDHHHENmZiZz585l06ZNLF68uFJq6tevH8888wy/+93vuOGGG9i+fTtjx46lY8eOLFmy5Ij6fOSRR/jyyy8555xzuP322yNv4I8//vhy93naaafRsWNHHnjgAYqLi6OmigNMmDCBl156id///vcce+yx5Obm8vrrr5OUlBQ1EngwpaPTc+fOLbOHcefOnWnatClz587lxBNPjNrC6miNGjWKfv360bNnT26++WZ2794d+drsu9DboWRnZ5fZU73U4aZd7+/YY4/lH//4B/fffz/r16/niiuuIDExkXXr1vHRRx9x66238pe//OWQfVxxxRWceeaZ/PnPf2b16tV06dKFTz/9lN27dwMHHmUdMGBApN/y1nzssccyceJErr32Wrp27cqAAQM44YQT8Pv9zJkzJ7INFcDJJ5/MwIEDee2118jKyuK8885j/vz5TJgwgSuuuCJqBLm8TjnlFFwuF08++STZ2dn4fD7OP/98mjdvXuG+IDwi/dvf/pZrrrmGlStX8tJLL9GzZ08uu+yySJtbbrmFoUOH0r9/fy688EIWL17MlClTaNq06RHXduutt/Lqq68yaNAgFi5cSPv27Xn//feZPXs2zz33XLkXlxMRqfdqZE1zEREpl9Ite0o/vF6vSU1NNRdeeKEZM2ZMZMuc/a1Zs8YMGDDApKamGo/HY1q3bm0uueQS8/7775fpe/+trEq3cNqxY0fU8YEDB5r4+PioY2+++abp1KmT8fl8pkuXLmbcuHGR++8LMMOHDy9T5/7bCRljzLfffmu6d+9uvF6vOeaYY8wrr7xywD4P5YEHHjCA6dixY5lzP/74o7n++utNu3btjM/nM82bNzeXXHKJWbBgQbn7b9WqlQHMa6+9VubcZZddZgAzbNiwMucOtoXXv/71rzJtOcAWTB988IHp2rWr8fl8plu3bubDDz8s0+fBHGoLr32/tgf7/pe+XtatW1empp49e5r4+HgTHx9vunTpYoYPH25WrlwZ9djHH3/8AevasWOHueGGG0xiYqJJTk42gwYNMrNnzzaA+e9//1um/datW43L5TKdO3c+7HPe36+//mr++Mc/mvbt2xuv12sSExPN2WefbV544YWoLe8CgYB55JFHTIcOHYzH4zFt27Y1999/f1QbY8Kv3379+pV5nP23vjLGmNdff90cc8wxke3oSrfMOlgfpecOtIXXt99+a2699VbTqFEjk5CQYG688Uaza9euqPuGQiFz3333maZNm5q4uDjTp08fs3r16gP+zB2stgM9j8zMTDN48GDTtGlT4/V6zYknnlhmC7WKvq5FROobyxitPiEiIiK1x8cff8zvf/97Zs2aFVm9vdTOnTtp2bIlDz30EH//+99rqEIREZGD0zXZIiIiUmMKCwujbodCIV544QWSkpI47bTTyrQfP348oVCIm266qbpKFBERqRBdky0iIiI15s4776SwsJD09HSKi4v58MMPmTNnDk888UTU1lbTp09n+fLlPP7441xxxRW0b9++5ooWERE5BE0XFxERkRozceJEnn76aVavXk1RUREdO3Zk2LBh3HHHHVHtevXqxZw5czj77LN5++23ad26dQ1VLCIicmgK2SIiIiIiIiKVRNdki4iIiIiIiFQShWwRERERERGRSqKFz8rBcRy2bNlCYmIilmXVdDkiIiIiIiJSAcYYcnNzadWqFbZdtWPNCtnlsGXLFtq2bVvTZYiIiIiIiMhR2LhxI23atKnSx1DILofExEQg/A1JSkqq4WoOLBAIMHXqVC666CI8Hk+lta3q9nW1b9WiWlRL7e5btaiWulpLQ3meqkW11NVaGsrzrOpaakJOTg5t27aNZLuqpJBdDqVTxJOSkmp1yI6LiyMpKalcPwTlbVvV7etq36pFtaiW2t23alEtdbWWhvI8VYtqqau1NJTnWdW11KTquPxXC5+JiIiIiIiIVBKFbBEREREREZFKopAtIiIiIiIiUkl0TbaIiIiIiJQRCoVwu90UFRURCoUO2TYQCJS7bVW3r6t9N6RaqoLH48HlctXIY+9PIVtERERERCKMMWzbto09e/aQmprKxo0bD7tYlDGm3G2run1d7bsh1VJVUlJSSE1NrdEaQCFbRERERET2sW3bNrKysmjWrBmO45CYmIhtH/oqU8dxyMvLIyEh4bBtq7p9Xe27IdVS2YwxFBQUsH37dgBatmxZ7TXsSyFbRERERESA8BTxrKwsmjdvTqNGjcjJySEmJqZcIcvv95erbVW3r6t9N6RaqkJsbCwA27dvp3nz5jU6dVwLn4mIiIiICBC+thYgLi6uhisRqbjS123p67imKGSLiIiIiEiUmr6mVeRI1JbXrUK2iIiIiIiISCXRNdkiIiIiInJI2f4QhUFz0POO45BfbCgoCJb7et9DtY91WyR7a8d2TDVt0KBBZGVl8fHHH9d0KVJOCtkiIiIiInJQOf4Qr6/IJnTwjL1v64r2fsCjLgtu7daoQkF70KBBTJgwAQC3203jxo056aSTuP766xk0aFCNLcglDY9eaSIiIiIiclAFQVPOgF15QoZDjpwfzO9+9zs2b97M4sWLmTRpEr179+b//u//uOSSSwgGg1VQqUhZCtkiIiIiIlIv+Hw+UlNTadWqFaeddhp/+9vf+OSTT/jiiy8YP348AFlZWdxyyy00a9aMpKQkLrjgApYuXRrpY+TIkZxyyim89dZbtGvXjoSEBG6//XZCoRD/+te/OO6440hNTeXxxx+PeuxnnnmGE088kfj4eNq2bcvtt99OXl5e5Pz48eNJSUlhypQpdO3alYSEBH73u9+xdevWSJtQKMQDDzxA48aNadKkCffeey/GVPNfOOSoKWSLiIiIiEi9df7553PyySfz4YcfAnD11Vezfft2vvjiCxYuXMipp57KFVdcwe7duyP3WbNmDV988QVffvkl//nPf3jzzTfp168fmzZt4vPPP2fUqFE8+OCDfP/995H72LbN888/z7Jly5gwYQLTp0/nvvvui6qloKCAp556iv/3//4fM2fOJCMjg7/85S+R88888wwTJ07kjTfeYNasWezevZuPPvqoir9CUtkUskVEREREpF7r0qUL69evZ9asWcyfP5/33nuP008/nU6dOvGvf/2L5ORk3n///Uh7x3F466236NatG5deeim9e/dm5cqVPPvss3Tq1InBgwdz3HHH8c0330Tuc9ddd9G7d2/at2/P+eefzz/+8Q/ee++9qDoCgQCvvPIKp59+Oqeddhp33HEHX3/9deT8mDFjGDFiBFdeeSVdu3bllVdeITk5ueq/QOVkjMExhpBjCDiG4pBDUdChqOR6AkeD7oAWPhMRERGRWsQYQ8CBolD4jXtR0JBf7Adg6a5iXO4QWFC6G64FWCW3rZITTsm1tyuz/NhuBwwYDAYwBkpzgCn5T6ikfWZhkBYuNx67duy1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GFkcSUSk1P6/F1wxmbhiduDy7cL2ZmF7c7A9edjuAixXMZbLj2UHsSwHANubjSvxV7zNZxPb9iNi2nyIp+ksXIkrsby7AacGnpVUlXJPF//nP/8JQF5eHt999x0zZsxg9OjRXH/99XTu3JnzzjuP3r17c9VVV5X7wS+99NKo248//jgvv/wy8+bNo02bNrz55ptMnDiR888/H4Bx48bRtWtX5s2bR48ePZg6dSrLly/nq6++okWLFpxyyik89thj3HfffYwcORKv18srr7xChw4dePrppwHo2rUrs2bN4tlnn6VPnz7lrlVERETqGwc7djPupF9xezJhXRqWZVDEFpGqsG9Qt9yFuOIzcMVvCE9Jd1w4xU0hv2Q6ul0EJNRMoXLUKrzwWUJCAn379qVv374A7N69m2eeeYYXXniBV155hVAodESFhEIh3nvvPfLz80lPT2fhwoUEAgEuuOCCSJsuXbrQrl075s6dS48ePZg7dy4nnngiLVq0iLTp06cPw4YNY9myZZx66qnMnTs3qo/SNnfddddBaykuLqa4uDhyOycnB4BAIEAgEDii51fVTCg8Rd52godpubdNedpWdfu62rdqUS2qpXb3rVpUyyHbu4pwx6/FlbAay12EMRZWMDwvtPTzoVSkbUXbV2XfqkW1qJba1bcV9V8Hy70dK34n0JbY1M9wLA9OIAXjb4TxJ4f/HUgEwnt718bf0SYUrLV5qTrrsowxFfqDreM4/PDDD5G9smfPnk1eXh7t2rWjd+/ejBs3rkIFLF26lPT0dIqKikhISGDixIlcfPHFTJw4kcGDB0eFXYAzzzyT3r178+STT3LrrbeyYcOGqKnfBQUFxMfHM3nyZPr27Uvnzp0ZPHgw999/f6TN5MmT6devHwUFBcTGxpapaeTIkTzyyCNljk+cOJG4uLgKPT8RERERERGpWQUFBdxwww1kZ2eTlJRUpY9V7pHs0aNHR0J1bm4urVu3plevXjz33HP07t2bDh2ObBP34447jkWLFpGdnc3777/PwIED+fbbb4+or8py//33c/fdd0du5+Tk0LZtWy666KIq/4Ycqakbsggum8OqVt1x7EN/W20nSKctC8vVtqrb19W+VYtqUS21u2/Voloi7VufjJW4EVfiamxPbnjU+gDXXFtBi3bz25FxZgbGfejxh4q0rU19qxbVolpqd98V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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# Plot using a corrected approach\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "x_axis = range(len(combined)) # Use a simple numeric x-axis\n",
+ "plt.fill_between(x_axis, combined[\"Demand\"], label=\"Demand\", color=\"skyblue\")\n",
+ "plt.fill_between(x_axis, combined[\"Wind\"], label=\"Wind Contribution\", color=\"lightgreen\")\n",
+ "plt.xticks(x_axis, combined.index, rotation=45) # Assuming 'Time' is your adjusted index\n",
+ "plt.title(\"Demand vs Wind Energy Contribution\")\n",
+ "plt.ylabel(\"Energy (MW)\")\n",
+ "plt.xlabel(\"Effective Time\")\n",
+ "plt.legend()\n",
+ "plt.grid(True)\n",
+ "plt.tight_layout()\n",
+ "plt.show()"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
diff --git a/subs/energy_api.py b/subs/energy_api.py
index 0a60901..067ef5d 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -551,7 +551,8 @@ def wind_gen_cal():
# Retrive data for generated wind for today
wind_for_today = eirgrid_api("windactual", "ALL", startDateTime, endDateTime)
- return wind_for_today
+ # Return only the valid part of dataframe
+ return process_data_frame(wind_for_today)
def actual_demand_cal():
@@ -566,7 +567,9 @@ def actual_demand_cal():
- Value: Demand values.
"""
startDateTime, endDateTime = today_time()
+
# Retrive data for actual demand for today
demand_for_today = eirgrid_api("demandactual", "ALL", startDateTime, endDateTime)
- return demand_for_today
+ # Return only the valid part of dataframe
+ return process_data_frame(demand_for_today)
From 1abe47d5e700fff7b684900efb37ffda9d693d3c Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 17:53:23 +0000
Subject: [PATCH 08/23] add area_plot_wind_demand func for visualising trend
---
eirgrid_api.ipynb | 70 ++++++++++++++++++++++++++++++++++++++++++++--
subs/energy_api.py | 58 ++++++++++++++++++++++++++++++++++++++
2 files changed, 126 insertions(+), 2 deletions(-)
diff --git a/eirgrid_api.ipynb b/eirgrid_api.ipynb
index 154f503..e8b7f57 100644
--- a/eirgrid_api.ipynb
+++ b/eirgrid_api.ipynb
@@ -4611,7 +4611,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 1,
"metadata": {},
"outputs": [
{
@@ -4635,7 +4635,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 2,
"metadata": {},
"outputs": [
{
@@ -4655,6 +4655,26 @@
"wind = wind_gen_cal()"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAJOCAYAAABBfN/cAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACWk0lEQVR4nOzdd3xV9f3H8fcZ997sBEgIUxGUpRCW4KIqte6fWnBU26rVOiqUVmtV1LqVqrhx0Vp3W9xatCouhKKAQEAZsjcJCSRk545zfn/c5JJAgASS3Jvk9Xw8YnLPOffcz8m9wfu+32W4rusKAAAAAAA0CTPaBQAAAAAA0JoRvAEAAAAAaEIEbwAAAAAAmhDBGwAAAACAJkTwBgAAAACgCRG8AQAAAABoQgRvAAAAAACaEMEbAAAAAIAmRPAGAABoZq7rtunHB4C2huANANCvf/1r9enTJ/LVt29fDR48WKNHj9Yrr7yiYDAY7RIbzS233KJRo0Y162P+4Q9/0IgRI/bY/v3336tPnz4aMmSIAoFArX0//PCD+vTpo/fee0+bNm1Snz599M477xx0LfW5/lGjRtV6Pez+df311x90HbEiNzdXDz30kE4//XRlZWXphBNO0LXXXqvvvvuuyR7zmWee0QsvvLDf40aNGqVbbrlFkhr1NbBy5UpdfPHFtbb16dNHTz311EGfGwBQNzvaBQAAYkP//v115513SpJCoZB27typr7/+WhMnTtR3332nxx9/XKbJ57UH4thjj9XHH3+sNWvWqGfPnpHtM2fOVFpamgoLC7Vw4UINHz48sq86+B1//PFKTU3V1KlTdcghhzRbzSeeeKKuu+66Ove1a9eu2epoSvPnz9fYsWPVrl07XXrppTrssMNUWFioqVOn6te//rUmTpyo8847r9Ef94knntC4ceP2e9zkyZOVlJTU6I//8ccfa+HChbW2TZ06VZ06dWr0xwIAhBG8AQCSpKSkJA0aNKjWtlGjRqlnz566//77NW3aNJ1zzjnRKa6FO/bYYyVJCxYsqBW8Z82apdNPP11ff/21Zs6cWSt4z5s3T71791ZGRoYk7fHcNLX27ds3+2M2p8LCQv3xj39Ujx499OKLLyo+Pj6y77TTTtPVV1+tO+64QyeccILS09OjUmP//v2b7bFa83MNALGApgsAwD796le/UmZmpv7973/X2v7mm2/qrLPO0lFHHaWTTjpJTz31lEKhUGT/LbfcoiuvvFJTp07VKaecooEDB+oXv/iF1q5dqy+//FL/93//p6ysLF1wwQVatmzZHucePXq0Bg0apIEDB+rcc8/Vf//738j+d955R/3799eiRYt00UUXacCAATr55JP36L67c+dOTZgwQcOHD9fRRx+thx9+WI7j7PN6TzvtNI0fP36P7eeee65+97vfSZI2bNiga6+9ViNGjFBWVpYuuugizZgxY6/nPPTQQ9W1a1ctWLAgsq24uFiLFi3Scccdp2OPPVazZs2qdZ/58+fr+OOPl7RnN+OmvP6G6tOnj15//XXddtttGj58uAYPHqw//OEPys/Pr3XcZ599ptGjR2vAgAE6/vjjdd9996msrCyy/6mnntLPfvYzTZ48WcOHD9cJJ5ygnTt3KhAIaNKkSfrJT36igQMH6sorr9R7772nPn36aNOmTfrqq6/Up0+fPX5/3333nfr06aP58+fXWfd7772nbdu26dZbb60VuiXJNE3deOON+uUvf6mSkpLI9v/973+65JJLNHToUI0YMUJ/+tOftHXr1sj++jwvffr0kRRuza7+eW/XXrOrebXc3Fxdc801GjhwoE488UQ9+eSTtf7u6uoy/tRTT9V6rMmTJ+9x7O7327ZtmyZMmKATTzxRAwcO1Pnnn6/PP/+81nnr+9wDAAjeAID9ME1Txx57rBYvXhwZ6/3888/rL3/5i4499lg999xz+uUvf6m//e1v+stf/lLrvgsXLtRrr72mW265RRMnTtTq1at19dVXa+LEibrmmmv06KOPauvWrbrxxhsj93n99dd1xx136JRTTtHzzz+vSZMmyev16sYbb1ROTk7kOMdx9Mc//lFnnnmmpkyZoiFDhuihhx7SzJkzI/t/+9vfasaMGbr55pv117/+VQsWLNBHH320z+s955xzNGPGjFqBa/Xq1Vq+fLnOPfdcOY6ja665RuXl5XrooYf0zDPPKC0tTb/73e+0fv36vZ73mGOOqRW8v/nmG7muq2OPPVYnnHCCli1bFgksq1atUkFBQSR416Wprr+a67oKBoN1fu3usccek+M4evTRR3XTTTfpyy+/1AMPPBDZ/5///Edjx45Vz5499fTTT2vcuHH64IMPdN1119Wa5GvLli2aMWOGHnvsMU2YMEGpqam644479PLLL+tXv/qVnn76aaWnp9d6nY0cOVIdO3bU+++/X6um9957Tz169NDQoUPrvL6ZM2cqPT1dAwcOrHN/3759dfPNN6tHjx6R811xxRXq3LmzHn30UU2YMEELFy7URRddpO3bt0fut7/nZerUqZKk888/P/Lz3q69Lk899ZQ6dOigp59+WmPGjNFzzz2nBx98sM5j63LBBRfo/PPPj9RywQUX7HFMfn6+zj//fH333Xe6/vrr9dRTT6lr164aO3asPvjgg1rH7u+5BwCE0dUcALBf6enpCgQCKiwslM/n0zPPPKOLLrpIt99+uyTphBNOUFpamm6//Xb95je/0RFHHCFJKi0t1eOPP65evXpJkubOnat///vfeumllyLdr9evX68HH3xQRUVFSklJ0caNG3XllVfWGl/ctWtXjR49WvPnz9dZZ50lKRwMr7vuukhwGDp0qKZPn66vvvpKI0eO1Ndff63Fixfrb3/7m37yk59ICnf53t/EYuecc46eeuopffbZZ5HxvdOmTVNKSopGjRql7du3a82aNbruuut04oknSpIGDhyoyZMny+/37/W8xx57rN5++23t2LFD7du318yZMzVw4EClpKTouOOOk2EYmjVrls477zzNmzdPXq9XRx999F7P11TXX+29997Te++9V+e+t956SwMGDIjc7t27tyZOnBi5vXjxYn388ceROidNmqSRI0dq0qRJkWN69Oihyy+/XDNmzNBJJ50kSQoGg7r55ps1bNgwSeGeBe+++65uvvlm/eY3v5EUDtr5+fmRFm7LsvTzn/9cr776qkpLS5WYmKiKigr997//1dVXX73X68vJyVHXrl3r9btwHEeTJk3SCSecoEceeSSyfciQITrzzDP1wgsv6Kabbopc776el+ou3Z06darVvXv3a9+bkSNHRoLtyJEjVVJSon/+85+67rrrlJaWtt9r6dSpU2Qs9966l7/44ovasWOHPvnkk8jv6MQTT9Tll1+uhx56SGeffXZkvod9PfcAgF1o8QYA7Fd1q6RhGFq4cKEqKio0atSoWq2g1YHuf//7X+R+qampkdAtKTJWNisrK7KtOiwUFRVJCndRv/HGG1VUVKTs7Gy9//77ev311yVpj2A7ePDgyM9er1ft27ePdF/+7rvv5PF4NHLkyMgxCQkJkbC8N927d9eQIUNqtQx/+OGHOv300+X1epWenq7DDz9cf/nLX3TzzTfrP//5jxzH0YQJEyIfONSl+oOG6kmtZs2apRNOOCHyOzjyyCM1e/bsSO1DhgxRXFzcPmttiuuvdvLJJ+utt96q8+vwww+vdezuAa5Tp04qLy+XJK1Zs0Y5OTl7vF6OPvpoJSUl1Xq9SFK/fv0iP8+ZM0eu6+r000+vdczZZ59d6/aYMWNUVlam6dOnS5KmT5+usrKyfU6MZllWrS7a+7J27Vrl5eXt8biHHHKIBg8erLlz59bavq/nZV9qXvvenHHGGbVun3rqqQoEAlq0aNF+71tfc+fO1eDBg/f4YOKcc85RXl6e1qxZE9m2r+ceALALLd4AgP3Kzc1VXFxcZAZuSXttTdy2bVvk573NyJyQkLDXx9qwYYPuuOMOffPNN/J4POrZs6f69u0rac+1h3cPpqZpRo7ZuXOn0tLSZBhGrWOqJyvbl3PPPVf33nuvCgoKtGnTJq1fvz7SymgYhv7xj3/o2Wef1fTp0/Xee+/J4/HolFNO0d13373XLsLp6enq3bu3FixYoB49emjLli21QvHxxx8faWGeP3++Lrnkkv3W2VTXL4U/DKjZqr0vdY2Rrq6j+vVy99136+67797jvjVfL5KUmJgY+XnHjh2SpA4dOtQ6Zvfbhx56qIYPH6733ntP5513nt577z0dd9xxyszM3GvNXbp00eLFi/d5XVu3blXnzp0j11DXJGvp6elaunRprW37el72pea1783uz1/79u0lhZ/vxrJz50517959j+3V11/9IZm07+ceALALwRsAsE/BYFBz5szRkCFDZFmWUlJSJEmTJk2KjH+t6WBmgHYcR1dffbU8Ho/eeust9evXT7Zta9WqVXuM4d2fdu3aqaCgQKFQSJZlRbZXh6h9OeOMM3Tffffps88+05o1a9S1a9daY4UzMzN111136c4779Ty5cv18ccf629/+5vatWsXWZKtLsccc4wWLVqkzp077xFsTzjhBD333HP69ttvtXXr1n2O766Pg7n+xlT9ernppptqzdpebW8fVEiKBOf8/Hx16dIlsr06kNc0ZswY3XrrrVq9erW++eabWt3a6zJy5Eh9+eWX+v777+v8gGHZsmU677zzNGHChMgHJHVNGpaXl9esy6vtHrCra6r5YcTuLfn1aW2vKTU1VXl5eXtsr97WWpaTA4DmRFdzAMA+TZ06VXl5ebr44oslhbuJezwe5ebmasCAAZEv27b16KOPatOmTQf8WAUFBVq7dq3OP//8yDkl6euvv5akBs3IfeyxxyoYDOqzzz6LbPP7/Xt0ba5LSkqKTj75ZH3++ef65JNPdM4550RajhcuXKjjjjtOixcvlmEY6tevn66//nr17t1bW7Zs2ed5jzvuOC1ZskRz5szRscceW2td9EGDBikxMVH//Oc/1a5du4NeSupgrr8x9ezZUx06dNCmTZtqvV4yMzP1yCOP7NFaXNPQoUNlWVakC3m1Tz/9dI9jTzvtNMXHx+uuu+5SYmKiTjnllH3Wdc455ygjI0MTJ05URUVFrX2hUEiTJk2Sx+PRGWecocMOO0wZGRmaNm1areM2btyo7OxsDRkyZH+/hlpqPu8N9dVXX9W6/eGHHyo+Pj4yfCMpKUm5ubm1jqk5qV99Hv/oo4/WwoULtXnz5lrbP/jgA2VkZOjQQw89wOoBoO2ixRsAIEkqKSlRdna2pHDALSgo0KxZszR16lSdc845OvXUUyWFW7t++9vf6oknnlBJSYlGjBih3NxcPfHEEzIMI9It/EB06NBBXbt21euvv65OnTopJSVFM2fO1CuvvCJJDRo7Wj1b+O23367t27era9eueuWVV7Rjx449uirX5ZxzztH48eMVCoV07rnnRrb3799fcXFxuummm/T73/9e6enpmj17tpYtW6ZLL710n+c8+uij5ff79eWXX+quu+6qtc/j8Wj48OH64osvdOqpp+7RRbyhDvb6d+zYEXk97M6yrHp3Q7csS9dff73uuOMOWZalk08+WUVFRXrmmWeUm5urI488cq/37d69u8aMGaNHH31UgUBAffv21fTp0/Xll19Kqh0g4+PjddZZZ2nq1Km6+OKL5fV691lXcnKy/vrXv2rcuHG64IIL9Ktf/Uo9evRQTk6OXn/9dS1evFiPPPJIpNX9hhtu0IQJE/SnP/1J55xzjgoKCjR58mSlpqZGJn6rr5SUFC1YsEDz5s3b72Rqu/v000+VmZmp4447LvL3+Yc//CEyrOOkk07Shx9+qKysLB166KF655139phtv7oXwrRp05SVlbVHt/Lf/OY3+uCDD3T55Zdr3LhxSktL03vvvadvv/1WDzzwwEF9cAAAbRXBGwAgSVq6dKkuuugiSeFxzImJierdu7fuuuuuPZYc+uMf/6iMjAz985//1N///nelpqbq2GOP1Q033KDk5OSDquOZZ57R/fffr1tuuUVer1eHH364nn32WT3wwAP67rvv9Otf/7re55o8ebImTZqkJ598UpWVlTrzzDN14YUX7rEecV1OPPFEJScnq3v37jrssMMi230+n/7xj3/okUce0f3336+ioiL16NFD99xzj0aPHr3PcyYlJWnAgAFauHBhZGK1mqq7Px933HH1vsZ9OZjrnzFjxl7XJk9OTtZ3331X7zouuOACJSYm6u9//7umTp2qhIQEDRkyRJMmTapzLHFNf/nLX5SQkKB//OMfKikp0bHHHqvf/e53evrpp/eYK+Ckk07S1KlT9/s8VDvhhBP05ptv6h//+Ieef/555efnKy0tTUcddZSmTp1aaxLA0aNHKzExUc8//7zGjh2rpKQkjRw5UjfccEO9x81Xu/baa/XMM8/oqquuqvfybtVuu+02ffjhh3rppZeUkZGhW2+9tdYHPhMmTFAwGNSDDz4o27Z15pln6k9/+lNkBQIpPCHb+++/r1tuuUXnn3/+Hh8CZWRk6F//+pceeeQR3XfffZEPPZ555hn99Kc/bVC9AIAww2UGDAAAEIMKCwv19ddfa+TIkbXGFT/44IN65513NGfOnFrH33nnnVq0aNFel0EDACBaaPEGAAAxKT4+Xvfff7/69eunyy67TAkJCcrOztZrr72ma665JnLcK6+8ojVr1uiNN97Qww8/HMWKAQCoGy3eAAAgZi1btkyPP/64srOzVV5erkMOOUS/+MUv9Mtf/jIyDn78+PGaOXOmLrroIt1yyy1RrhgAgD0RvAEAAAAAaEJMSwkAAAAAQBMieAMAAAAA0IQI3gAAAAAANCGCNwAAAAAATYjgDQAAAABAE2Id733Izc1VLE/6bhiGMjMzY75OoLHwmkdbw2sebQ2vebQ1vOZbturnrz4I3vvgum6L+ANoKXUCjYXXPNoaXvNoa3jNo63hNd/60dUcAAAAAIAmRPAGAAAAAKAJEbwBAAAAAGhCjPEGAAAAEPMcx5HjOK1qLLRhGKqoqFAgEGhV19UaGIYh0zRlmo3TVk3wBgAAABCzXNdVSUmJKioqol1KkygqKlIoFIp2GdiLuLg4JSUlyTCMgzoPwRsAAABAzKoO3YmJifJ4PNEup9F5PB4FAoFol4E6BAIBlZaWSpKSk5MP6lwEbwAAAAAxyXGcSOhOSEiIdjlNojV+mNBaVD83paWlSkxMPKhu50yuBgAAACAmOY4jiXCK6Kl+7VW/Fg8UwRsAAABATGLCMcSKg30tErwBAAAAAGhCjPEGAAAA0OKUhKTKg+v92yA+U0qy6nfsxIkT9cknn+x1/2OPPabBgwfvdf9XX32lrKwstWvXbr+P9Yc//EGDBg3Sb37zmz32vfjii3r55Zcjt23bVkZGhn72s5/p0ksvlW3HfhxcuHChrr/+en311VfRLuWgxP5vGgAAAABqKAlJ7+XZCunglnhqCEuuzssI1it8//73v9fVV18tSfryyy81depUPffcc5H9KSkpe71vTk6O7rrrLv3rX/866Jol6cgjj9Q999wjSfL7/Vq2bJmeeuop5ebmasKECY3yGNg/gjcAAACAFqXSUbOGbin8eJVO/Vq9k5KSlJSUJEmR2bA7dOhQr8dp7HHttm3XeuzOnTsrNTVVf/rTnzR69Gj16dOnUR8PdSN4AwAAAEAz2rZtm5555hnNnz9fpmnqpz/9qa699lp5vV5dfPHFkqSLL75YN998s04//XS9/vrrmjZtmvLz85Wamqr/+7//0+WXX37Ajz906FB16dJFM2fOjATvDz74QP/85z9VWFioPn366A9/+IN69uwpSbrooot02WWX6f3339fatWs1cOBA3XjjjXrmmWc0Z84cdevWTbfffrsOO+wwSdK0adM0depUbd26VQkJCRo1apR+//vfy7IsTZw4USkpKcrPz9fs2bOVkpKiq666Sqeeeqqk8NJdjzzyiL755ht16NBBZ5999kH8pmMHk6sBAAAAQDMJBAK64YYbVFFRoSeeeEL33nuvvv32Wz3//POSFOmS/txzz2nUqFH65JNP9NZbb+nPf/6zXn31VV166aV66aWXtGLFioOq49BDD9X69eslSbNnz9ZLL72k8ePH6+9//7sGDhyoP/7xjyouLo4c/8ILL+iqq67SU089pZUrV+qqq67S0KFD9dxzzykuLk5///vfJUnZ2dl66qmndNVVV+nVV1/VDTfcoA8//FD/+9//Iud699131bt3b7344ov6yU9+okceeUQlJSWSpEcffVQbNmzQE088ofHjx2vq1KkHdZ2xguANAAAAAM1k7ty5ys/P12233aaePXtq6NCh+sMf/qD33ntPZWVlSk1NlSSl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L/yFZkz/VOtWr1LX7ofod3+6Sb1695EkbVy/Ts8/NklrVq1Q73791e2QHnut57tvZ6u8rFRn/fz8PfZdds11qqysjNz+cekPenXKc1q7eqVS09J07oWX6LT/O1eSNPmhiUpKSdaO/Hx99+1sJaek6JLfXKUTf3aapr7yor6a/rEkacnibD372lSd/7MTdf4vL9Un/3lfffofqREn/CTS1bzaR++9rTdffVmSdOrZ5+gXl18pwzA09ZUXtXTRQj395K6u89XdySXp5ZfD9znppJP01Vdf1epq7jiO3njjDb3//vvavn27+vfvr/Hjx6tnz56R+9x666365z//qc2bN6tv37669dZb1blz54Y+1fXWSJ85AQAAoLEEHGmb39DyUlOzd1r6aLult/NsvZ5r67Vcj97K8+jD7bY+L7A1u8jWwhJTy8tMra0It277XYI2qhlVs8mHhxa4tVqm97S//Qfy2NWttK4M5QYMLSwxNW27R//eZuvrQkuryg2VhRrpIWOA60qm7VHffv20eOlyFQWlWd9lq2fvPvJ7E9VvwEAtzM5WUIZWLF2q7j0OU3JKmupqzX7jlRf1819cokem/EMJiYn6x9NPSpICfr8m3n6zOnburIef+ZuOGXmipn/4wV5rWr8mHNzjq1rfa+rYqbO6H9pDkrRp/Trd/efr1W/AQD30zN904a9/o1emPKM5s76OHP/x+++q5xG99djfXtIxJ5yo5594RKWlJTrngot03Ikn67gTT9ZfJz8fOf67b2frvscn65e/vabO2r7+fLr+8uAkXfenm/XxB+/qq08/3u/veNSoUbrwwgt15JFH6u23395j/8svv6ypU6dq3Lhx+tvf/qbMzEzddNNNKi8vjxzz0ksvafz48Xr++ee1c+dOvfDCC/t93INBizcAAEAUVVS1UO8IhNe9zg8aKqnqFl4dm/cXhFrjMl1orXa9Vv2uoXUV0tqKcPf4FMtVN5+jLr5wt3Q7Bj8zKgxKTj16uLsy1PuoLC1dtkxnutL3ixbqqKzwhGlHDhysmV9+JklasWyJjhyYtdfznHTqGRp+/EhJ0v+df5EeufcOSdLihfNVXFSkq8ffoLj4eHU95FAtWZStnYWFdZ6ntKRECYlJ+637s/9OU4/Dj9Avr7xaktS1+yHatGG93n/jXxpxwk8kSYf27KXzLrpEknTRZVfow3ff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7boARJsrM2GjfF3/o7hu78vXcabs1GUy43JrtWwbxr7XxwYAAAAaQ9SCt+u6Gj9+vMrLy/X666/rscce05dffqnHH39crutq7NixSk9P19tvv61zzz1X48aN05YtWyRJW7Zs0dixYzV69Gi99dZbat++va677jq54f6h+uSTTzR58mTdc889evnll7Vo0SI9/PDD0bpUAM3IjMuVr/PH8nX8WoZdHNlOyAYAAEC0RC14r1mzRtnZ2Zo4caKOOOIIDRs2TOPHj9e0adP07bffauPGjbrnnnvUq1cvXXPNNRo0aJDefvttSdKbb76po446SldccYWOOOIITZw4UZs3b9bcuXMlSa+88oouu+wynXzyyRo4cKDuvvtuvf3227R6A62Y4d0hb+bn8nX6TIa3ILyNoA0AAIAYELXgnZGRob///e9KT0+vtb2kpESLFi1S//79lZCQENk+dOhQZWdnS5IWLVqkYcOGRfbFx8fryCOPVHZ2tkKhkL7//vta+wcNGqRAIKDly5c37UUBaHaGXSRPxkzFdfmvzLjc8DaDcdkAAACIHVGbXC0lJUUjR46M3HYcR6+99pqOOeYY5eXlqWPHjrWO79Chg3JyciRpn/uLiopUWVlZa79t20pLS4vcv76MWG8ui/HygCZllcmT9r2spFWq/mMgcAMAALQusZzJGlJbzMxq/vDDD2vp0qV666239NJLL8nr9dba7/V65ff7JUnl5eV73V9RURG5vbf711dmZmZDL6NZJQRLpLKKaJcBNC+zUnbqUtkpy7VrRnICNwAAQOtjqFOnTtEuolHERPB++OGH9fLLL+uxxx5T79695fP5VFhYWOsYv9+vuLg4SZLP59sjRPv9fqWkpMjn80Vu774/Pj6+QXXl5uZGJmyLRWVlpqI8MT3QjEKyU36Unfa9ZAQZvw0AANDquQ3utdycDMOod2Nt1IP3vffeq3/96196+OGHddppp0kKtzSvWrWq1nH5+fmR7uOZmZnKz8/fY3+/fv2UlpYmn8+n/Px89erVS5IUDAZVWFiojIyMBtXmum5MB28a+dA2uDLjN8vT/rvwmtwEbgAAgDYjpvNYA0S1uXTy5Mn697//rUcffVRnnXVWZHtWVpaWLFkS6TYuSfPnz1dWVlZk//z58yP7ysvLtXTpUmVlZck0TQ0YMKDW/uzsbNm2rb59+zbDVQFoLIanMDxTeeYMQjcAAABarKgF79WrV+uZZ57RVVddpaFDhyovLy/yNXz4cHXu3FkTJkzQypUrNWXKFC1evFjnn3++JGnMmDFasGCBpkyZopUrV2rChAnq1q2bRowYIUm65JJL9MILL+izzz7T4sWLddddd+nCCy9scFdzAFFiVsrTfp58XT6UGbdNEkuDAQAAoOUy3Ci13U+ZMkWPPPJInft+/PFHrV+/XrfddpsWLVqkQw89VLfeequOO+64yDEzZszQAw88oJycHA0ePFj33nuvunfvXuv8L730kvx+v0499VTdeeedkfHf9ZWTkxPTXRvmFln6sdyUE7slAg3kyEpeKU+7RVXjuHlxAwAAtFnBRF0YPGv/x0WJYdR/8reoBe+WgOANNB8zbqs8Hb6TYRdJooUbAACgzWtFwTvqk6sBaNsMu1ie9vNlJWyW6xK4AQAA0PoQvAFEiSs7ZansdosiWwjdAAAAaI0I3gCan1khb8ZsWfFbo10JAAAA0OQI3gCalenbJm/HmZJZGe1SAAAAgGZB8AbQTFzZqUtkp4W7ltOtHAAAAG0FwRtA0zPL5c34n8y4XAI3AAAA2hyCN4AmZcblyJsxSzL9hG4AAAC0SQRvAE3EkZ36g+y07yXRtRwAAABtF8EbQOOzyuVNnyUzbhuBGwAAAG0ewRtAozLjtlZ1LQ8QugEAAAARvAE0FiMoT7tsWck/hm8SugEAAABJBG8AjcD05cqT/o0Mu5TADQAAAOyG4A3gwBlBedotlJ2yQq5LKzcAAABQF4I3gANi+nLlyZgtwyqTROgGAAAA9obgDaBhjIA87bJp5QYAAADqieANoN7MuFx50mnlBgAAABqC4A1g/4xA1VjulbRyAwAAAA1E8AawT2ZcTnjGclq5AQAAgANC8AZQNyMgT7sFslNW0coNAAAAHASCN4A9mPFb5O3wjWRVSCJ0AwAAAAeD4A1gF7NSnnbzZSevpZUbAAAAaCQEbwCSJDN+o7zpcyTTL4nQDQAAADQWgjfQ1pkV8rSfJztpA63cAAAAQBMgeANtlisrYYM8HeZKZkASoRsAAABoCgRvoC2yyuVtP1dW4iZauQEAAIAmRvAG2hIjKCtxrTztF0pGMLyJ0A0AAAA0KYI30AYYdoms5BWyk1dJBt3KAQAAgOZE8AZaLVdm3FbZKT/KjN8iyZBhuNEuCgAAAGhzCN5Aa2P6ZSWukZ2yXKanVK5rVLVuE7oBAACAaCB4A62E4SmQnbJCVuIayXB2baeVGwAAAIgqgjfQghlWicz4HFlJa2TF5VW1bhO0AQAAgFhC8AZaErNSZlyurLgcmfFbqrqS79pN6AYAAABiD8EbiGVGSKYvT2Zcjqz4LTK8BTIM1WrZZnZyAAAAILYRvIFYY1bKTlolM36rzLg8GYazRxdyWrYBAACAloPgDcQSq0y+Tp/JsIsl7WrNJmgDAAAALRfBG4gRhl0ib6fpMqxyuo8DAAAArQjBG4gBhmenfJmfSVYlrdsAAABAK0PwBqLM8O6QL/NzyQwQugEAAIBWiOANRJHpy5M38wvJCBG6AQAAgFaK4A1EiRm3Vd6OX0mGw5huAAAAoBUjeANRYMZvlLfjTEkuoRsAAABo5QjeQDOzEtfKkz5bkgjdAAAAQBtA8AaakZW0Up4OcyURugEAAIC2guANNBM7Zak87RdGuwwAAAAAzYzgDTQ5V3baYnnSfoh2IQAAAACigOANNCWrTN4O38pK2BrtSgAAAABECcEbaBJueBK1DvMkIxTtYgAAAABEEcEbaGxWubwd5shK2CzXZRI1AAAAoK0jeAONxpWVuD48a7kRlEToBgAAAEDwBhqHWRFu5U7cRCs3AAAAgFoI3sBBMhPWy9thjmTSyg0AAABgTwRv4ECZFfJ0mCc7cQOt3AAAAAD2iuANHAAzYaO8Hb6VzIAkQjcAAACAvSN4Aw1gWKXydJjHjOUAAAAA6o3gDdSLIztlmey0xZLhSiJ0AwAAAKgfgjewH6YvV570OTLsYsI2AAAAgAYjeAN7Y1bI036B7KS1cl2D0A0AAADggBC8gT24spJWydN+oWRULxHmRrkmAAAAAC0VwRuowfDukLfDHJm+HUyeBgAAAKBRELwBSTIC8qQtkpXyo6Rw2iZ0AwAAAGgMBG+0eYZdLG+nz2RYZVVhm27lAAAAABoPwRttmuEplK/TZ5Lpp4UbAAAAQJMgeKPNMrzb5cv8XDKDTJ4GAAAAoMkQvNEmmb5t8mZ+IRkOoRsAAABAkyJ4o80x47bImzlDkkP3cgAAAABNjuCNNsVM2CBvxixJLqEbAAAAQLMgeKPNsBLXyJP+jSSWCgMAAADQfAjeaBOs5B/l7fCdXJfQDQAAAKB5EbzR6tmpS+Rply2J0A0AAACg+RG80Yq5stOy5UlbGu1CAAAAALRhBG+0Uq487efJTlkZ7UIAAAAAtHEEb7Q+ZqW8HebITNgY7UoAAAAAgOCN1sWM3yRv+reS6Wc8NwAAAICYQPBG62D45Wk/X3byGmYuBwAAABBTCN5o8cy4HHnTZ0tWhSRCNwAAAIDYYka7AEny+/06++yzNWfOnMi2jRs36vLLL9egQYN05plnatasWbXuM3v2bJ199tnKysrSpZdeqo0ba4/nfemllzRy5EgNHjxYt956q8rLy5vlWtCMjKA87efK1+lzySqXYbjRrggAAAAA9hD14F1ZWakbbrhBK1fumn3adV2NHTtW6enpevvtt3Xuuedq3Lhx2rJliyRpy5YtGjt2rEaPHq233npL7du313XXXSfXDQevTz75RJMnT9Y999yjl19+WYsWLdLDDz8cletD0zB92+TrMk1Wcvh1Qys3AAAAgFgV1eC9atUqXXjhhdqwYUOt7d9++602btyoe+65R7169dI111yjQYMG6e2335YkvfnmmzrqqKN0xRVX6IgjjtDEiRO1efNmzZ07V5L0yiuv6LLLLtPJJ5+sgQMH6u6779bbb79Nq3drYIRkt1sgb6fpMuwyAjcAAACAmBfV4D137lyNGDFCU6dOrbV90aJF6t+/vxISEiLbhg4dquzs7Mj+YcOGRfbFx8fryCOPVHZ2tkKhkL7//vta+wcNGqRAIKDly5c37QWhSRne7fJ1+VB2yjIZhuhaDgAAAKBFiOrkapdcckmd2/Py8tSxY8da2zp06KCcnJz97i8qKlJlZWWt/bZtKy0tLXL/+jJivTk1xstrLIZ3h+zkFbKSVksyaOUGAAAA2ohYzmQNqS0mZzUvLy+X1+uttc3r9crv9+93f0VFReT23u5fX5mZmQ0tvVklBEuksopol9E0jJCshA2yUn6U5dsu160O3LRyAwAAAG2DoU6dOkW7iEYRk8Hb5/OpsLCw1ja/36+4uLjI/t1DtN/vV0pKinw+X+T27vvj4+MbVEdubm5kwrZYVFZmKgbmx2tUhl0iK3ml7KSVMqyAqn/9dCsHAAAA2hq3wb2Wm5NhGPVurI3J4J2ZmalVq1bV2pafnx/pPp6Zman8/Pw99vfr109paWny+XzKz89Xr169JEnBYFCFhYXKyMhoUB2u68Z08G49jb+OzPitspNXyIzfonB38vDFxXDPEgAAAABNLKbzWAPEZHNpVlaWlixZEuk2Lknz589XVlZWZP/8+fMj+8rLy7V06VJlZWXJNE0NGDCg1v7s7GzZtq2+ffs230Vg/8wK2SlL5Ov2vnyZX8mM38qkaQAAAABanZgM3sOHD1fnzp01YcIErVy5UlOmTNHixYt1/vnnS5LGjBmjBQsWaMqUKVq5cqUmTJigbt26acSIEZLCk7a98MIL+uyzz7R48WLddddduvDCCxvc1RxNx0parbju78puly3DKpNE4AYAAADQOsVk8LYsS88884zy8vI0evRoffDBB3r66afVpUsXSVK3bt301FNP6e2339b555+vwsJCPf3005FZ5c466yxdc801uuOOO3TFFVdo4MCB+vOf/xzNS0INdsoyedO/lWE4VS3c0a4IAAAAAJqO4baWTvNNICcnJ6bHFMwtsvRjuSkndkvcjSs7bZE8aUuiXQgAAACAWBdM1IXBs6JdxV4ZRv1nXY/JydXQGrnytJ8nO2VltAsBAAAAgGZF8EYzcORJny0rcX20CwEAAACAZkfwRtMygvJmzJQZv4Wx3AAAAADaJII3mo7hlzfzS5m+fEI3AAAAgDaL4I2mYVbI1+kzGZ4iQjcAAACANo3gjUZnWKXydvpMhl3K2twAAAAA2jyCNxqV4dkpX+ZnklVJ6AYAAAAAEbzRiAzvdvkyv5DMAKEbAAAAAKoQvNEIQrJTfpSdtlgyHEI3AAAAANRA8MZBcGUmbJCn/QIZVhmTqAEAAABAHQjeOCCGN1+e9t/Jitsu1xWhGwAAAAD2guCNBjGsEtntsmUnrZfrhtM2oRsAAAAA9o7gjfoxArJTf5CdumzXJsZyAwAAAMB+EbyxH46spNXytMuWTD+t2wAAAADQQARv7IUjM36LPO0XyvQUMY4bAAAAAA4QwRs1ODLjcmQlbpCVuEGGGZBb1Zuc0A0AAAAAB4bg3eY5MuNzZCWsl5W4sSpsG5Hx2wRuAAAAADg4BO82qWbY3iDDDO4Wtpk0DQAAAAAaC8G7DTF8+bKTVhK2AQAAAKAZEbzbAiMkOy1bdspySYRtAAAAAGhOBO9WzvBulzfjfzLs4qrx2oRtAAAAAGhOBO9Wy5GdukR22veSmCQNAAAAAKKF4N0KGZ6d8qb/T4a3gMANAAAAAFFG8G5VXFnJP8rTfqEkl9ANAAAAADGA4N1KGFapPBmzZcVti3YpAAAAAIAaCN4tnisrca08HeZJRijaxQAAAAAAdkPwbsFCRqXsjDmyEjbLdZlADQAAAABikRntAnDgihKWy4zfIonQDQAAAACxiuDdgjlGMNolAAAAAAD2g+ANAAAAAEATIngDAAAAANCECN4AAAAAADQhgjcAAAAAAE2I4A0AAAAAQBMieAMAAAAA0IQI3gAAAAAANCGCNwAAAAAATYjgDQAAAABAEyJ4AwAAAADQhAjeAAAAAAA0IYI3AAAAAABNiOANAAAAAEATIngDAAAAANCECN4AAAAAADQhgjcAAAAAAE2I4A0AAAAAQBMieAMAAAAA0IQI3gAAAAAANCGCNwAAAAAATYjgDQAAAABAEyJ4AwAAAADQhAjeAAAAAAA0IYI3AAAAAABNiOANAAAAAEATIngDAAAAAPD/7d17VNR1/sfx18AAw0W5pCIqiIKXJDXT7Gqn7WKuqZWKt9YoRNK8ZIaCl1W3MMFUUhQyL5WWeczKPBUdardYS3TXrGhzRbDyimgiggQMM8zvDw6z0v62TXN2HOb5+KfDOHHec3gNzOv7/Xw/XweieAMAAAAA4EAUbwAAAAAAHIjiDQAAAACAA1G8AQAAAABwIIo3AAAAAAAORPEGAAAAAMCBKN4AAAAAADgQxRsAAAAAAAeieAMAAAAA4EAUbwAAAAAAHIjiDQAAAACAA1G8AQAAAABwIIo3AAAAAAAORPEGAAAAAMCBKN4AAAAAADgQxRsAAAAAAAeieAMAAAAA4EAUbwAAAAAAHIjiDQAAAACAA1G8AQAAAABwoGZbvGtrazV37lz169dPt99+uzZu3OjskQAAAAAAbsjo7AEcZenSpfrHP/6hV199VSdPnlRycrLatWunQYMGOXs0AAAAAIAbaZbF+6efftKbb76pdevWKSYmRjExMSoqKtLrr79O8QYAAAAA/E81y6XmBw8elMViUZ8+feyP9e3bV19//bXq6+udOBkAAAAAwN00y+J95swZBQcHy9vb2/5Yq1atVFtbq/LycucNBgAAAABwO81yqXl1dXWT0i3J/rXZbP7V38dgMFzRuQAAAAAAv97V3MkuZbZmWbx9fHz+rWA3fm0ymX719wkNDb2ic11pbc+GqsJ2WDabsycBAAAAgCvLr76V2rZt6+wxrohmWbxDQ0N17tw5WSwWGY0NL/HMmTMymUxq2bLlr/4+paWlsl3Frbavob0Gh0696ucErhSDwaDQ0FAyD7dB5uFuyDzcDZn/706dOuXsEf6jxp/fr9Esi/e1114ro9Gor776Sv369ZMkffHFF+rZs6c8PH79Ze02m80l3gCuMidwpZB5uBsyD3dD5uFuyHzz1yw3V/P19dWDDz6oRYsWqaCgQB9//LE2btyoRx55xNmjAQAAAADcTLM84y1Jc+bM0aJFixQXF6eAgABNmzZNAwcOdPZYAAAAAAA302yLt6+vr9LT05Wenu7sUQAAAAAAbqxZLjUHAAAAAOBqQfEGAAAAAMCBKN4AAAAAADgQxRsAAAAAAAeieAMAAAAA4EAUbwAAAAAAHIjiDQAAAACAA1G8AQAAAABwIIo3AAAAAAAORPEGAAAAAMCBKN4AAAAAADgQxRsAAAAAAAeieAMAAAAA4EAUbwAAAAAAHIjiDQAAAACAA1G8AQAAAABwIKOzB7iaGQwGZ4/wixrnu9rnBK4UMg93Q+bhbsg83A2Zd22X8nMz2Gw2mwNnAQAAAADArbHUHAAAAAAAB6J4AwAAAADgQBRvAAAAAAAciOINAAAAAIADUbwBAAAAAHAgijcAAAAAAA5E8QYAAAAAwIEo3gAAAAAAOBDFGwAAAAAAB6J4N1M2m83ZIwAAAAAARPFutgwGgyQKONwPmYe7IfNwBxfnnMwDcEVGZw+AK+uDDz5QSUmJgoOD1bt3b0VFRTl7JMCh8vLydObMGbVv314dO3ZUu3btVF9fLw8PjiuieSLzcEd1dXXy9vaW1HBygcyjuft5xsm86zPYOGzYbCxbtkxvvfWWoqOjJUmFhYWaP3++hg0b5uTJAMd4/vnn9e677yokJEQmk0k//fST5s2bp1tuucXZowEOQebhjtavX699+/bJx8dHkZGReuqpp5w9EuBQmzdv1oEDB+Tj46OYmBjFxsZKaljt0biqFa6HwybNxNGjR/XXv/5Va9as0ebNm5Wdna1JkyZp9uzZWrt2rcxms7NHBK6ogwcPKjc3V1lZWdqxY4fS0tI0YMAATZgwQTt37nT2eMAVR+bhjjZs2KB169apX79+CgsL065duzR06FAdPnzY2aMBDpGdna3Vq1erdevWKisr07Zt2zR+/HjV1NRQul0cS82bCX9/f1VVVamiokKSFBAQoPj4eLVu3VqzZs2S0WjUhAkTOFKGZsPPz08eHh7y9PSUh4eHOnfurOTkZAUHBys5OVlGo1GDBw9maRaaDTIPd2Kz2WSxWLR//35NnjxZjz76qCSpsrJS06ZNU0JCglatWqWePXs6d1DgCrHZbKqurtbu3bs1a9YsjRw5UlarVUVFRZozZ45GjRqlV155RSEhIfyed1H8xFzYxVcJWCwWtW7dWkeOHLF/bbPZNHToUKWlpen5559Xbm6uDAYDm5LAZf0883V1dTp+/LgkyWq1SpISExP15JNPavbs2dq3bx9/mODSyDzclcFgkJeXl3x8fHTy5ElJDe+HFi1a6JVXXlGXLl00Y8YM+7/V19c7c1zgNzMYDDKZTPL29lZVVZUkydPTU927d9eGDRtkMpkUHx8vm80mDw8PMu+C+Ovsws6cOaPy8nLV19crNDRUw4cPV3p6uvbs2SOj0Wgv3w8++KBmzJihtLQ0lZSUcMYbLuv8+fMym82qr69X586dNXz4cKWkpOjgwYPy9PS0F5EJEyZozJgxWrlypcrLy507NPAbkHm4u/DwcOXn56u8vFwGg0G1tbWSpJdeeklhYWGaOnWqJHHACc2Ch4eHrrnmmiaXD1ksFoWEhCgrK0s2m02JiYn258K18BNzURkZGYqPj9f48eM1YsQI7d+/XyNGjNDEiROVmJiogoICeXl52T+UDRo0SCaTSaWlpU6eHLg8mZmZSkxM1COPPKInnnhCJ0+eVFxcnO6//349+eSTOnTokDw9PWWxWOTl5aV7771Xp0+f1vnz5509OnBZyDzc0Z49e7R3717l5+dLkp566il5eXnZC7aPj49935qMjAzV19frzTffdNq8wG9VUFCggwcP6ttvv5UkLViwQBUVFfZNBI1Go6xWq1q1aqU//elPqqys1O7du505Mi4TxdsF7dy5U1u3btWMGTM0f/58devWTcnJyXr55Zc1dOhQjRkzRg8//LB27dolo7HhMv62bdvK09PTfg044Eq2bdum1157zX6gyWazaeTIkfrss880cuRI3XDDDXriiSf0z3/+0575Ll26yGg0UkLgksg83FF6erqefvpppaamaurUqZo+fbqKioq0bNkynT17VvHx8ZJkv61YYGCggoOD7cvNAVeTnp6uJ598UlOmTNGUKVO0aNEimc1mLViwQIcPH9acOXMkNSw5l6To6GhVVlaqqKjImWPj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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "area_plot_wind_demand(demand,wind)"
+ ]
+ },
{
"cell_type": "code",
"execution_count": 6,
@@ -5126,6 +5146,52 @@
"plt.show()"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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UVGkh/xQ3nzzTYqLi7n99tuxLItx48Zx9dVX8/3330d6x6dPn86wYcPo168fY8eOZdeuXdx0001Rw9kPJxwOs3PnzhrbExISSEpKitp23XXX0b17d8aOHctXX33FP//5T9q1a8ff/va3SJvHHnuMP/zhD1x33XXceuut7Nixg+eee45Bgwbx9ddfk56eHmm7a9cuLr30Um644QZ++tOfkpmZiW3b/PCHP2Tx4sWMHj2aPn368OGHHzJixIioWq655hrGjBnDG2+8wSmnnBK174033mDw4MF07NjxoM/7o48+okePHpx11lm1ep1uvfVWJk2axDXXXMO9997LokWLGDt2LN9++22Nf3SsX7+ea665hltuuYURI0bw2muvMXLkSPr3789xxx3HoEGD+OUvf8mzzz7L7373u8ioh+rPUDmM/Mc//jG33347P//5zzn22GMPWd8dd9xBeno6Dz30EGvXruXFF19k8+bNzJo1q04TDtamtn2Vl5czePBg1q9fzx133EH37t15++23GTlyJAUFBVH/uIDandciIs2WERGRFmHChAkGMEuWLDlom7S0NHPKKadEbl944YXmhBNOMBUVFZFttm2bs846y/Tu3bvGsYcMGWJs245sHzhwoLEsy4waNSqyLRQKmU6dOpnzzjsv6rHLysqibgcCAXP88cebCy64IGo7YDwej1m/fn1k2/Llyw1gnnvuuci2K6+80vh8PrN58+bIttWrVxun02kO9+fNtm3TsWNHM2zYsKjtb731lgHMnDlzjDHGvP/++4d9TQ/mN7/5jQHM1q1bjTHG/Pvf/zY+n8/4/X4zefJk43Q6TVFRkTHGmOeff94AZt68eZH7jxgxwnTt2jVye+PGjQYwGRkZZvfu3ZHtH374oQHMRx99FNl28sknm/bt25uCgoLItunTpxsg6pgHc9555xnggB+33357pN2f/vQnA5ibb7456v5XXXWVycjIiNzetGmTcTqd5rHHHotqt2LFCuNyuaK2Vz/2Sy+9FNX23XffNYB5+umnI9vC4bC54IILDGAmTJgQ2f7jH//YdOjQwYTD4ci2r776qka7/RUWFhrA/OhHPzrk61Nt2bJlBjC33npr1PZf//rXBjAzZ86MbOvatWvUuWWMMfn5+cbr9Zp77703su3tt982gPn8889rPF71MaZOnXrAfSNGjIjcrv6Z7d+/vwkEApHt48aNM4D58MMPI9sA86c//emwxzxUbeedd17Uz/zTTz9tAPP6669HtgUCATNw4ECTnJwcOffrcl6LiDRXGl4uIhJHkpOTI7OY7969m5kzZ3LddddRXFzMzp072blzJ7t27WLIkCGsW7euxjDcW265Jap37Mwzz8QYwy233BLZ5nQ6Oe200/j++++j7rvvdeR79uyhsLCQc889l6+++qpGnRdddBE9e/aM3D7xxBNJTU2NHDMcDjNt2jSuvPJKunTpEmnXt29fhgwZctjXwbIsrr32WiZPnkxJSUlk+3//+186duwY6XGu7n39+OOPCQaDhz3uvqqP8cUXXwCVQ8v79++Px+Nh4MCBkSHl1fuqh/YfzvXXX0+rVq0it88991yAyGuTk5PDsmXLGDFiRNSkZxdffDH9+vWrdf3dunVjxowZNT7uuuuuGm1HjRoVdfvcc89l165dFBUVAfDee+9h2zbXXXdd5DzbuXMnWVlZ9O7dm88//zzq/l6vl5tuuilq29SpU3G73ZFRGgAOh4MxY8bUqGf48OFs37496rhvvPEGCQkJDBs27KDPubrelJSUg7bZ1+TJkwG45557orbfe++9ADWu/e7Xr1/k+wXQtm1bjj322Bo/K4fSvXv3Wp3j1W677baonuLRo0fjcrkitTeUyZMnk5WVxY9//OPINrfbzS9/+UtKSkqYPXt2VPvDndciIs2ZQreISBwpKSmJBIr169djjOEPf/gDbdu2jfr405/+BFRek7mvfQMu7J3JunPnzjW273/d6Mcff8yAAQPw+Xy0bt2atm3b8uKLL1JYWFijzv0fB6BVq1aRY+7YsYPy8nJ69+5do93hhttWu/766ykvL49cv15SUsLkyZO59tprI/9YOO+88xg2bBgPP/wwbdq04Uc/+hETJkyocb3ugZx99tlYlhW5dnvevHmcffbZQGWY79evX9S+008/vVaTUe3/2lQHlerXZvPmzQBH9doAJCUlcdFFF9X4ONCSYYerad26dRhj6N27d41z7dtvv61xnnXs2LHGa7F582bat29fY0K1Xr161ajn4osvpn379rzxxhtA5TXz//73v/nRj350yECdmpoKUOvl9TZv3ozD4ahRQ1ZWFunp6ZHvRbXDnde10b1791q3hZrnQXJyMu3bt2/wZb82b95M7969a8yoXj0c/XCvzf7nkIhIc6ZrukVE4sTWrVspLCyMBITq5ah+/etfH7TnbP8w4XQ6D9juQNvNPhOpffHFF1xxxRUMGjSIF154gfbt2+N2u5kwYQJvvvlmrY63/zGP1oABA+jWrRtvvfUWP/nJT/joo48oLy/n+uuvj7SxLIt33nmHhQsX8tFHHzFt2jRuvvlmnnjiCRYuXEhycvJBj5+RkUGfPn2YO3cuJSUlfPPNN5F/ZgCcddZZzJ07l61bt5Kdnc2NN95Yq7ob47Wpq8PVZNs2lmUxZcqUA7bd/3U82tn1nU4nP/nJT3jllVd44YUXmDdvHtu3bz/sbOypqal06NCBlStX1unxanttdH187xpz5YHqyQQbQ1M8r0VE6otCt4hInPi///s/gEjA7tGjB1A55POiiy5q0Md+99138fl8TJs2LWppowkTJhzR8dq2bUtCQgLr1q2rsW/t2rW1Ps51113HM888Q1FREf/973/p1q0bAwYMqNFuwIABDBgwgMcee4w333yTG2+8kf/85z/ceuuthzz+Oeecw2uvvcb06dMJh8NRk3OdddZZ/Pvf/47M/lybSdRqo2vXrgBH/drUp549e2KMoXv37hxzzDFHdIyuXbvy+eef11g+bP369QdsP3z4cJ544gk++ugjpkyZQtu2bWs1LPvyyy/n5ZdfZsGCBQwcOPCwNdm2zbp166ImFMvLy6OgoCDyvaiLukxuVhvr1q3j/PPPj9wuKSkhJyeHyy67LLKtVatWFBQURN0vEAiQk5NzxLV17dqVb775Btu2o3q716xZE9kvIhIvNLxcRCQOzJw5k0cffZTu3btHelTbtWvH4MGD+cc//lHjzTVUDuGuL06nE8uyonrONm3axAcffHDExxsyZAgffPAB2dnZke3ffvst06ZNq/Vxrr/+evx+P5MmTWLq1Klcd911Ufv37NlTo6ft5JNPBqjVEPNzzjmHcDjM448/HhlaXe2ss86ipKSEF154AYfDUevZsg+nffv2nHzyyUyaNClq6P6MGTNYvXp1vTxGXV199dU4nU4efvjhGq+nMYZdu3Yd9hhDhgwhGAzyyiuvRLbZts348eMP2P7EE0/kxBNP5J///CfvvvsuN9xwAy7X4fsa7rvvPpKSkrj11lvJy8ursX/Dhg0888wzAJHg+vTTT0e1efLJJwFqzMpfG9Uzw+8fgo/Uyy+/HDUfwYsvvkgoFOLSSy+NbOvZsydz5sypcb/9e7rrUttll11Gbm4u//3vfyPbQqEQzz33HMnJyZx33nlH8nRERJol9XSLiLQwU6ZMYc2aNYRCIfLy8pg5cyYzZsyga9eu/O9//8Pn80Xajh8/nnPOOYcTTjiBn//85/To0YO8vDwWLFjA1q1bWb58eb3UNHToUJ588kl+8IMf8JOf/IT8/HzGjx9Pr169+Oabb47omA8//DBTp07l3HPP5Re/+EXkDf1xxx1X62Oeeuqp9OrVi9///vf4/f6ooeUAkyZN4oUXXuCqq66iZ8+eFBcX88orr5CamhrVU3gw1b3XCxYsqLGG8jHHHEObNm1YsGABJ5xwQtSSWUdr7NixDB06lHPOOYebb76Z3bt3R16bfSeOO5TCwsIaa7pXO9ww7f317NmTP//5zzzwwANs2rSJK6+8kpSUFDZu3Mj777/Pbbfdxq9//etDHuPKK6/kjDPO4N5772X9+vX06dOH//3vf+zevRs4cC/s8OHDI8etbc09e/bkzTff5Prrr6dv374MHz6c448/nkAgwPz58yPLXgGcdNJJjBgxgpdffpmCggLOO+88Fi9ezKRJk7jyyiujephr6+STT8bpdPK3v/2NwsJCvF4vF1xwAe3atavzsaCyx/rCCy/kuuuuY+3atbzwwgucc845XHHFFZE2t956K6NGjWLYsGFcfPHFLF++nGnTptGmTZsjru22227jH//4ByNHjmTp0qV069aNd955h3nz5vH000/XerI6EZEWISZzpouISL2rXiKo+sPj8ZisrCxz8cUXm2eeeSayRM/+NmzYYIYPH26ysrKM2+02HTt2NJdffrl55513ahx7/6WzqpeM2rFjR9T2ESNGmKSkpKhtr776qundu7fxer2mT58+ZsKECZH77wswY8aMqVHn/ssXGWPM7NmzTf/+/Y3H4zE9evQwL7300gGPeSi///3vDWB69epVY99XX31lfvzjH5suXboYr9dr2rVrZy6//HLz5Zdf1vr4HTp0MIB5+eWXa+y74oorDGBGjx5dY9/Blgz7+9//XqMtB1jy6d133zV9+/Y1Xq/X9OvXz7z33ns1jnkwh1oybN/X9mDf/+rzZePGjTVqOuecc0xSUpJJSkoyffr0MWPGjDFr166NeuzjjjvugHXt2LHD/OQnPzEpKSkmLS3NjBw50sybN88A5j//+U+N9jk5OcbpdJpjjjnmsM95f9999535+c9/brp162Y8Ho9JSUkxZ599tnnuueeiltgLBoPm4YcfNt27dzdut9t07tzZPPDAA1FtjKk8f4cOHVrjcfZfassYY1555RXTo0ePyPJ31Ut0HewY1fsOtGTY7NmzzW233WZatWplkpOTzY033mh27doVdd9wOGzuv/9+06ZNG5OYmGiGDBli1q9ff8CfuYPVdqDnkZeXZ2666SbTpk0b4/F4zAknnFBjyba6ntciIs2RZYxmqBAREZHm6YMPPuCqq65i7ty5kdnhq+3cuZP27dvzxz/+kT/84Q8xqlBEROKdrukWERGRZqG8vDzqdjgc5rnnniM1NZVTTz21RvuJEycSDof52c9+1lglioiI1KBrukVERKRZuPPOOykvL2fgwIH4/X7ee+895s+fz1/+8peopbRmzpzJ6tWreeyxx7jyyivp1q1b7IoWEZG4p+HlIiIi0iy8+eabPPHEE6xfv56Kigp69erF6NGjueOOO6LaDR48mPnz53P22Wfz+uuv07FjxxhVLCIiotAtIiIiIiIi0mB0TbeIiIiIiIhIA1HoFhEREREREWkgmkitFmzbZvv27aSkpGBZVqzLERERERERkRgzxlBcXEyHDh1wOA7en63QXQvbt2+nc+fOsS5DREREREREmpgtW7bQqVOng+5X6K6FlJQUoPLFTE1NjXE1BxcMBpk+fTqXXHIJbrc71uWINAqd9xKvdO5LvNK5L/FK537TU1RUROfOnSN58WAUumuhekh5ampqkw/diYmJpKam6gdR4obOe4lXOvclXuncl3ilc7/pOtwlyJpITURERERERKSBKHSLiIiIiIiINBCFbhEREREREZEGomu6RURERESkUYTDYYLBYKzLaJaCwSAul4uKigrC4XCsy4kLbrcbp9N51MdR6BYRERERkQZljCE3N5eCgoJYl9JsGWPIyspiy5Yth524S+pPeno6WVlZR/WaK3SLiIiIiEiDqg7c7dq1IzExUaHxCNi2TUlJCcnJyTgcukq4oRljKCsrIz8/H4D27dsf8bEUukVEREREpMGEw+FI4M7IyIh1Oc2WbdsEAgF8Pp9CdyNJSEgAID8/n3bt2h3xUHN9t0REREREpMFUX8OdmJgY40pE6q76vD2auQgUukVEREREpMFpSLk0R/Vx3ip0i4iIiIiIiDQQXdMtIiIiIiIxURgIUx4yjfZ4CS6LNM/RLwHV3I0cOZKCggI++OCDWJcSFxS6RURERESk0RUGwry8eg/hxsvcOC24rV+rWgfvkSNHMmnSJABcLhetW7fmxBNP5Mc//jEjR47UhGZSKzpLRERERESk0ZWHTKMGboCwoc496z/4wQ/Iyclh06ZNTJkyhfPPP59f/epXXH755YRCoQaqVFoShW4REREREZGD8Hq9ZGVl0bFjR0499VR+97vf8eGHHzJlyhQmTpwIQEFBAbfeeitt27YlNTWVCy64gOXLl0eO8dBDD3HyySfz2muv0aVLF5KTk/nFL35BOBxm3LhxZGVl0a5dOx577LGox37yySc54YQTSEpKomvXrtx7772UlJRE9k+cOJH09HSmTZtG3759SU5OjvyToFo4HOaee+4hPT2djIwM7rvvPoxp5P92xDmFbhERERERkTq44IILOOmkk3jvvfcAuPbaa8nPz2fKlCksXbqUU089lQsvvJDdu3dH7rNhwwamTJnC1KlT+fe//82rr77K0KFD2bp1K7Nnz+Zvf/sbDz74IIsWLYrcx+Fw8Oyzz7Jq1SomTJjAF198wf333x9VS1lZGY8//jj/93//x5w5c8jOzubXv/51ZP8TTzzBxIkTee2115g7dy67d+/m/fffb+BXSPala7pFRERERETqqE+fPnzzzTfMnTuXxYsXk5+fj9frBeDxxx/ngw8+4J133uG2224DwLZtXnvtNVJSUujXrx/nn38+a9euZfLkyTgcDo499lj+9re/8fnnn3PmmWcCcNddd0Uer0uXLvz+97/n3nvv5cUXX4xsDwaDvPTSS/Ts2ROAO+64g0ceeSSy/+mnn+aBBx7g6quvBuCll15i2rRpDfraSDSFbhERERERkToyxmBZFsuXL6ekpISMjIyo/eXl5WzYsCFyu1u3bqSkpERuZ2Zm4nQ6oyZjy8zMJD8/P3L7008/ZezYsaxZs4aioiJCoRAVFRWUlZWRmJgIQGJiYiRwA7Rv3z5yjMLCQnJyciIhHionhDvttNM0xLwRKXSLiIiIiIjU0bfffkv37t0pKSmhffv2zJo1q0ab9PT0yNdutztqn2VZB9xm2zYAmzZt4vLLL2f06NE89thjpKen8+mnn3LnnXcSCAQioftAx1CgbloUukVERERE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QFJSEqmpqZX/4HG7D9gmJSUl0qa6fTW3243T6Txg1quoqCAhIYFBgwbh8/mi9h0opB9Ik/pNlZ6ezjHHHMP69eu5+OKLCQQCFBQURPV25+XlkZVVOawhKyuLxYsXRx2jenbzfdvsP+N5Xl4eqampBw32Xq8Xr9dbY7vb7W4Wb2yaS50i9UnnvcQrnfvRwsawfGcFX+SUUR42kTV6912Td59VfJvA7DZypGyHS6G7mbCr18G2Kj8iYnUNxv51HMZZg85j/hdzKCzYw+i77onc98yzz+GzGdNYtnQJw39+W2T7vp+Ntc+g8H0ec982KelpZGa156svFzPg3HMBCIVCfLPsa044+eRIWytyAAtjwZXX3cDoET9lyif/q3FdtzGG4qIiUtPSyGrfgSWL5jNw0KDI/iUL53PyaadHfU/MfnXt+xxcHjfhcPigr9sBnxvR3/OlSxbRsUsXAAr27GHD+nX06tMHY0Hrtm3Jz8vDxkRmfV/5zfLKZ1s1cZrX68W27cgQcSDytcPhwOFw0K9fP959993IfQAWLFhASkoKXbp0ibS3LCvqONXt992272NYlnXAv7e1/fvbpP7UlJSUsGHDBtq3b0///v1xu9189tlnkf1r164lOzubgQMHAjBw4EBWrFhBfn5+pM2MGTNITU2lX79+kTb7HqO6TfUxREREpPkzxrB6t59/rN7D9K2llO8zY7htKnukNamZiByJswYNZvGCeaz6ZjkDz9kbXAeecy6vv/YKgUAgMlP4kbrlF3cw/sm/M+WjD1m3dg0P3HUnRYUFh7zPFcOu5YprruUXI3/Gs3//K8u/WsrW7M3MmPIJ1w/9QWSit9F33cP4Jx/nw3feYv13a3nsD79j1TfLufUXd9S6vs5du1FaUsIXn89k186dtR5Wva+nxj7GF5/PZM2qldx1+y20zmjDD374IwDOOncQu3buYPyTj7Pp+w1M+MeLfD4jerWpbt268c0337B27Vp27tx5wOupf/GLX7BlyxbuvPNO1qxZw4cffsif/vQn7rnnngMG6sYS09D961//mtmzZ7Np0ybmz5/PVVddhdPp5Mc//jFpaWnccsst3HPPPXz++ecsXbqUm266iYEDBzJgwAAALrnkEvr168fPfvYzli9fzrRp03jwwQcZM2ZMpKd61KhRfP/999x3332sWbOGF154gbfeeou77777UKWJiIhIM2CM4fuiAK+uKeB/m4spCmjAt4jUr7PPO4+K8nK69exJ233mihp47iBKiovpecwxZLZvf1SPMepXdzPshhu567ZbuOKCQSQnp3BpVSA9GMuyeGHC//HQX//O1I/+x9VDLuTCM/vzxGOPcsnlP2TwRZcAlYH+tjt/xSMP3M+FZ5zK5zOmM/Gt9+jRq3et6zt9wECG33obo0bcyAldO/DCU4/X+Tn+7tHH+ONv7uEH5wxgR14ek95+D4/HA0DvPn0Z+/RzTHz5JS4acBrLvlzCqF9F57Wf//znHHvssZx22mm0bduWefPm1XiMjh07MnnyZBYvXsxJJ53EqFGjuOWWW3jwwQfrXG99sszhFoBrQDfccANz5sxh165dtG3blnPOOYfHHnuMnj0rZ/WrqKjg3nvv5d///jd+v58hQ4bwwgsvRIaOA2zevJnRo0cza9YskpKSGDFiBH/961+jFkifNWsWd999N6tXr6ZTp0784Q9/YOTIkbWus6ioiLS0NAoLC5v8Nd2TJ0/msssu01BDiRs67yVe6dyHbaVBPt9WytbSEFUjyCUOOOwQx25dxNpOZ2p4eTORaIKc4dxFhy5dcXv3XhNbaoqZEngTm/Ah7l2/HDi51PMTkqyURnvM+mIZ8AVLqXAn1Wl4fHOXleCKDBWPhYqKCjZu3Ej37t0PeE13bXJiTH9T/ec//znkfp/Px/jx4xk/fvxB23Tt2pXJkycf8jiDBw/m66+/PqIaRUREpGnZWRFi9vYy1hUGIpeEKnCLND9JVgqXen5CwFQ02mN6LF+zDNzSvOnfgyIiItIsFAXCfJFTxordfoVtkRYiyUpRCJYWT6FbREREmrxVuyuYnF1C9QpfCtsiItJcKHSLiIhIk2WMYU5OGQvyymNdioiIyBFR6BYREZEmKRA2fLS5mHWFgViXIiIicsQUukVERKTJKQqEeWtDEbsqGm9WYxFpYLFbNEnkiNn20S9FqdAtIiIiTcr20iBvbyiiImx07bZIC1COi/Iw7MnLJTWjDc44XebwaFkGHKEAQdsZV0uGVVixWTLMGEMgEGDHjh04HI7ImuJHQqFbREREmozVu/18nF2MMZosTaSlMJbFMtOGXuWFZGzfjiOOAmN9c4f8BF3eWJfRqErcTmK4TDeJiYl06dIFh8NxxMdQ6BYREZGY04RpIi2b33KxyrTGbdu4OfrhuvHIYUJ0z/2GjVknYlvxE+Nu7p2OK0b/qXE6nbhcR9/THj/fLREREWmSAmHDx5uL+U4Tpom0bJZFECdBnLGupFlyGItQKEQZ7rgK3T6fL2ahu77Ez3dLREREmpyiQJi3NxSxUxOmiYhIC6XQLSIiIjGxvTTIO98XUR7ShGkiItJyKXSLiIhIo/tmVwVTt5RowjQREWnxFLpFRESk0YRsw4ytJSzf5Y91KSIiIo1CoVtEREQaRWEgzHvfF5Ffruu3RUQkfih0i4iISIPbWBTgg03FBMK6fltEROKLQreIiIg0GGMMC/LKmZNTFutSREREYkKhW0RERBpERcjmo83FbCgKxroUERGRmFHoFhERkXqXVxbi3e+LKA7asS5FREQkphS6RUREpF6tqFoOzNZyYCIiIgrdIiIiUj9CtuHTrSUs03JgIiIiEQrdIiIictSyi4N8uq1Ey4GJiIjsR6FbREREjtiWkiBztpeypTSEFetiREREmiCFbhEREamzrSVB5uSUkV0SjIRtXb8tIiJSk0K3iIiI1Nq20iBztpexWWFbRESkVhS6RURE5LC2l1b2bG8qVtgWERGpC4VuEREROaicssqe7Y0K2yIiIkdEoVtERERqKAqEmb6lhPVFCtsiIiJHQ6FbREREIowxrNjtZ8bWEkJ21bbYliQiItKsKXSLiIgIUNm7PSW7hI3FwViXIiIi0mIodIuIiMS5A/Vui4iISP1Q6BYREYlj6t0WERFpWArdIiIicUi92yIiIo1DoVtERCTOqHdbRESk8Sh0i4iIxAn1bouIiDQ+hW4REZE4UBGy+d/mYr4vUu+2iIhIY1LoFhERaeF2V4R5a0MhhQF1b4uIiDQ2hW4REZEWbFNRgPc2FhG0wcS6GBERkTik0C0iItICGWP4amcFn24tVdgWERGJIYVuERGRFiZsDDO2lLBslz/WpYiIiMQ9hW4REZEWpDxk8+73RWwtDcW6FBEREUGhW0REpMXYUR7i7Q1FFAc1YZqIiEhTodAtIiLSAqwvDPDBpiLCmjBNRESkSVHoFhERacaMMSzKK+Pz7WWxLkVEREQOQKG7BSmrGk5oG/VxiIjEi6lbSlldFI51GSIiInIQCt0tyPy8cgBeWLWbbumJ9Ej10CPFTYrHCVT2hgBYlhWzGkVE5OgZY/i+KADA2gI/OPTnXEREpKnSX+kWJFQVqoM2fFcQYG1B5Ruy1l4HvdK89Eh10ynJjROj4C0i0gxVhu0gc3JK2VHq51h0/baIiEhTp9DdQu37Jmy33+bL/HIW55fjtKBripueqR56pHpI9zgUwEVEmjhjDJuKg8zeXkpueRgL0G9uERGR5kGhO05ULx4TNrCxKMj3RUGglHYJTs7vkES3FLfCt4hIE2OMYXNJkNnby8gpC0WCtkGhW0REpLlQ6I5D+/aC7ygP898NRXRKcnF+xyQ6JrljVpeIiOy1uTjAnJwytpVGh20RERFpXhS641z1G7htpSH+77tCeqa6Oa9DEu0SdGqIiMRCdkmQOdtL2aqwLSIi0iIoWQmw9w3d90VBNhQV0LeVh0Htk2jldca0LhGReFEYCDM1u4SNxUGFbRERkRZEoVuiVL/BW7MnwJo9AU7K8HJ2+0RS3ArfIiINwRjDVzsr+HxbKeGqX8IK2yIiIi2HQrccUPUbvuW7/KzY7ad/Wx8DMxNJcDliWpeISEuyuyLMJ9nFbCsNxboUERERaSAK3XJIhsoZz5fkV/D1zgoGZCZyetsEPE7NmysicqRsY1icX86cnDKMurVFRERaNIVuqRUDBG34IqeMJfnlnJ2VyCltfLgcCt8iInWRXx7i483F5JeHY12KiIiINAKFbqmzirDhs22lLMor49wOSZzQ2otDa3yLiBxSyDbMzytjQW55rEsRERGRRqTQLUesJGSYkl3CwtwyzuuQxLHpHiyFbxGRGraXBvl4cwm7/erdFhERiTcK3XLUCgI2H2wqpp3PyeCOSXRPcSt8i4gAQdswZ3spS3ZUoN+KIiIi8UmhW45a9RxAOyrCvLWhiI5JLs7vkESnZHdM6xIRiZXykM1XOyv4Mr+ciqp1wDRfmoiISHxS6JZ6U/2GcntpiNfXFdIj1c2g9klkJeo0E5H4sLsizJL8Mr7Z7cc2CtoiIiKi0C0NoPpN5saiIN8XFdA12c1ZWQl0SdawcxFpeYwxbC0NsSivjPVFQSwUtkVERGQvhW5pMNVvOrNLgmxeHyQrwclZWYn0TtOEayLS/NnGsLYgwMK8MvLKw5FrthW4RUREZF8K3dLgqt+A5pWHeW9jMa28Ds7KTKRfay9OhW8RaWb8YZvlu/wszi+nJGgrbIuIiMghKXRLo6l+Q7rHb/NJdgmztpcyIDORkzJ8eJwK3yLStBljWJRfzrzcMoL2PttjV5KIiIg0AwrdEjOlIcNn20qZm1vG6W0T6N/WR4LLEeuyRERqqAjZ/G9zMd8XBWNdioiIiDQzCt0Sc/6wYV5uGQvzyuiU5KaVz0m6x0Ga10m6x0krrwOvU2FcRGIjtyzEu98XUbJv97aIiIhILSl0S5NggJCBTSVBskuCGKKHbHodFmleB629TlpVhfF0r4MOSW7cDg1NF5GGsXxXBdO2lGC0/JeIiIgcIYVuaXIO1Jfktw355WF2VM0QXN3G5YC+6V6Ob+3VkmQiUm+CtmH6lhJW7PbHuhQRERFp5hS6pVnZvwc8ZMPK3X5W7PaT7HJwQoaX41p7aePTqS0iR2aPP8y73xexqyIc61JERESkBVAykWavOoSXhGwW5pWzIK+cdglOTszw0S/dS6Jb14OLSO18V+Dno83FhGwNJxcREZH6odAtLUr1m+T88jCfbi3ls62ldE91c2JrH73SPLh0/beIHIBtDLO3l7IovyLWpYiIiEgLo9AtLZoBNhYF+b4oiNsBx6Z5OSbdQ/dUjyZgExEASoM2728sYmtpKNaliIiISAuk0C0tXnXvd9CG1Xv8rNzjx2VBzzQPfdK99Eh1a0kykThkG8N3hQGmbymhPKTB5CIiItIwmkzS+Otf/4plWdx1112RbRUVFYwZM4aMjAySk5MZNmwYeXl5UffLzs5m6NChJCYm0q5dO37zm98QCkX3VsyaNYtTTz0Vr9dLr169mDhxYiM8I2mKqmc9Dxn4riDAh5uKeWbFbt7eUMiKXRVUhBp+HV5jDDvKQ3y1o5yVuyvYUBggpzRIgT+MP2xjjN78izSk0qDN/Nwyxq/czQcbiykPGV2/LSIiIg2mSfR0L1myhH/84x+ceOKJUdvvvvtuPvnkE95++23S0tK44447uPrqq5k3bx4A4XCYoUOHkpWVxfz588nJyWH48OG43W7+8pe/ALBx40aGDh3KqFGjeOONN/jss8+49dZbad++PUOGDGn05ypNR/WbbNvA90VBNhQFsYAuyW76tPJwTJqXpHqahM0YQ255iLUFAb7d46cwcPBw7wC8TosEl4NEl0WSy0Gi20GK20GvNA/tEprEj61Is7O9NMjSHeV8uycQtRKCAreIiIg0pJi/ey8pKeHGG2/klVde4c9//nNke2FhIa+++ipvvvkmF1xwAQATJkygb9++LFy4kAEDBjB9+nRWr17Np59+SmZmJieffDKPPvoo999/Pw899BAej4eXXnqJ7t2788QTTwDQt29f5s6dy1NPPaXQLRH7vvnOLgmyuSTItC2lpHscdEhy0T7RTVaii8wEFx5n7a4Ft41hW2mItQV+1uwJUBKysTj8G3wbKA8bysNhqpcIdlTdb05OGa28Do5v7aNvupfWPueRPF2RuBGyDd/u8bNkRzn55eFa/QyKiIiI1KeYh+4xY8YwdOhQLrrooqjQvXTpUoLBIBdddFFkW58+fejSpQsLFixgwIABLFiwgBNOOIHMzMxImyFDhjB69GhWrVrFKaecwoIFC6KOUd1m32Hs+/P7/fj9/sjtoqIiAILBIMFg8GifcoMx4cph9Q5bkwEdrepYXVQBxRUB1u7a+0Y93eOIhPCsRCcZPldkUrawMWwrCfJdYYB1hQEqwgYHlUHasd+xj6QmCygsh/nbAszbBm28Tvq2qpwcLtUTnwG8+meyKf9sSuMrCoT5Zpef5bsrCIQNFkf/M9jUVP+u1+98iTc69yVexeu5HwwGMU10AuTavv+Maej+z3/+w1dffcWSJUtq7MvNzcXj8ZCenh61PTMzk9zc3EibfQN39f7qfYdqU1RURHl5OQkJCTUee+zYsTz88MM1tk+fPp3ExMTaP8EY6b19aaxLaPFsYHvVx8F0baRa8qs+4t2MGTNiXYI0Qd1jXUAj0O98iVc69yVexdu5P31rrCs4uLKyslq1i1no3rJlC7/61a+YMWMGPp8vVmUc0AMPPMA999wTuV1UVETnzp255JJLSE1NjWFlhzZlUwFm9XzWdeiP7Yj5IIa405SGrXZMctE33UePVHe9XZfeVAWDQWbMmMHFF1+M2+2OdTkSAyHbsLYgwJc7ytntj58h5A47RO/tS/U7X+KOzn2JV/F67t95fGtcTbSnu3pE9OHE7Lu1dOlS8vPzOfXUUyPbwuEwc+bM4fnnn2fatGkEAgEKCgqiervz8vLIysoCICsri8WLF0cdt3p2833b7D/jeV5eHqmpqQfs5Qbwer14vd4a291ud5N+U285XRjAdrji6gdRatpaDlvKKyCngqwEJ8eme+md7iHD68SymuYvraPV1H8+pf6VBW2+2lnB0h3llIcNYEEc/u7T73yJVzr3JV7F27nvdrubbOiu7XvPmH23LrzwQlasWBG17aabbqJPnz7cf//9dO7cGbfbzWeffcawYcMAWLt2LdnZ2QwcOBCAgQMH8thjj5Gfn0+7du2AyiGmqamp9OvXL9Jm8uTJUY8zY8aMyDFEWqJ9e/lyy8PklZcxO6eMNI+jMoCneeiY5MLRQgO4tGw7ykMsyS9n5R4/xsRHr7aIiIg0XzEL3SkpKRx//PFR25KSksjIyIhsv+WWW7jnnnto3bo1qamp3HnnnQwcOJABAwYAcMkll9CvXz9+9rOfMW7cOHJzc3nwwQcZM2ZMpKd61KhRPP/889x3333cfPPNzJw5k7feeotPPvmkcZ+wSAxVh5LCgM2S/HIW55fjc1r0TvPQO81D91RPZDI4kabIGMPG4iCL8srZXBKMmyHkIiIi0vw16XEJTz31FA6Hg2HDhuH3+xkyZAgvvPBCZL/T6eTjjz9m9OjRDBw4kKSkJEaMGMEjjzwSadO9e3c++eQT7r77bp555hk6derEP//5Ty0XJnGrOqhUhA2rdvtZsduP04KsRNfeIGMqJ4szVIYdIl8TWd840WXRO83LMWke0r3xOXO61D9jDAG78iMYhoBtyC0LsSi/jD1+OzLzuAK3iIiINBdNKnTPmjUr6rbP52P8+PGMHz/+oPfp2rVrjeHj+xs8eDBff/11fZQo0qLYVZ/DBraV1m35iV3A1pIQM7eV0trroE/VsPWsRFeLvW5cjo4xhg1FQVbv8VMRtvGHDf6wIRA2BO3Kj9Bh0rTCtoiIiDQ3TSp0i0jzUh2AdvttFuSVMz+vnESXxTFpHnqneema0nQnvpDGlV0SZNa2UraXhTQ0XEREROKKQreI1IvqEFUWMnyzy8+yXX5cFvRM9dA73UOPVA+Jrpa9fJnUlFsWYtb2UjYVBzU0XEREROKSQreI1LvqYeshA98VBlhbGAAg1e2gY5KLDklu2ie6yEx0aQK3FmpXRYg5OWWsLQgobIuIiEhcU+gWkQa1b9AqCtoUFwRYUxCgalVlMnxOOiW5aZ/kon2iizY+p5Yya8aKAmHm5pSxYrc/sk1hW0REROKZQreINCqz39c7K8LsrgizbFflNpcFmYkuMhNcpHkcpHmdpHucpHkc+JyWJmlrosqCNvPzyvhqR0VkhnsRERERUegWkSbA3ufrUNVM6jllocgSZdVcDkhzO2nl3RvGkx2V997jD2OCVmQW7L0flctOBW1DqGopqpBtSPU46Z7iJivRpZ71o1AUCLNsVwWL88oJG4VtERERkf0pdItIk2QfIL2FbNjlD7PLH8ZBsHKIuh3iWGDi2gJsx4F/pVlVH/teXGyAL3LA47DonuqmR4qHbqlu0jxac/xwCgNh1hYEWL27gtzysGYjFxERETkEhW4RaZaqe8dr00cdGe58gGQYsA3fFQRYW1A52Vu6x0HPNA/dUzx0SXbjcaoXHKDAH2ZtgZ/Ve/zk7Re0FbhFREREDk6hW0Ti3r6hsSBg8/WOCpbuqMACOia56JHqoWuKm8wEV1ytO77HH2bNHj/f7vGTX6GgLSIiInIkFLpFRPZT3YtugK2lIbaVhpiTAw4LshJcdElx0ynJTcckFwktaO3xsG3ILQ+xqTjIt3v87FTQFhERETlqCt0iIodRHTZtA9vLQuSWhVhIOQCtvA66JFeG8E7JbtI9jlrNsF49qVsgvPezv+prf9jgD9v4q76u3lcRNlSEbYK2obXXGZnlvXqm97rO7B4IG7aVBtlSGiS7OEhOWYiwQUFbREREpB4pdIuI1NG+s63v8dsU+v0s31W5LrXPadE52Y3HYRGwbfxh8IftSLAO2pWB2z7woSMsoDpD7z+Le/XjbiwKRo7jdkBmgousRBftqoJ4G58T5z7D4cuCNltKg2wtCbK5JMiO8nBkvfT9l3ITERERkfqh0C0icpT2DdAVYcP6wspJ2Y4mvBoqw3ZtHzdoVw6F314Wisz87gAyfE4yfE7yykPs8duR7fveVyFbREREpOEodIuI1LNYhth9l1qzgR0VYXZWhKNqOlwvu4iIiIjUn5YzA5CIiByQerJFREREYkehW0RERERERKSBKHSLiIiIiIiINBCFbhEREREREZEGotAtIiIiIiIi0kAUukVEREREREQaiEK3iIiIiIiISANR6BYRERERERFpIArdIiIiIiIiIg1EoVtERERERESkgSh0i4iIiIiIiDQQhW4RERERERGRBqLQLSIiIiIiItJAFLpFREREpNmwXKWVnz17YlyJiEjtuGJdgIiIiIjIITkqcCZtxpm8EZdzN2zqiifzU4IlxxMqPA71I4lIU6bQLSIiIiJNjxXEmbgFZ/JGHL7cvdvDVuVuy+BK/wZn4hYCO87BhFJjVKiIyKEpdIuIiIhI02CFcSRsx5W0EUfiNizLxhiwrIM0twBPAd6OnxDcfSrh4mOAgzQWEYkRhW4RERERiR1HBQ7vLpyJ2TiTsrEcIYyxsCwDHDxwV6tsZ/BkfEk4cQvBnQMx4aSGr1tEpJYUukVERESkcVghHJ7dOLy7sLw7cXh34nCVAewXtM0RHd7hy8fb8WOCu04nXNqdI+71toKVn40TXS8uIkdLoVtEREREGoCN5S7E4d1VGa69O7HchVgWGANgRYXrIw3a+7IsgyGEp+0CwolbCOw6E2zfYe5lsFzFOHw7cHjzcfjycbhL9u41jsrwbZwY2wnGjbFdYLvBuDDGBbaHUHFPTLDVUT8HEWl5FLpFREREpJ7Ylddkp3yHIyEvck12zYANcPQh+0Cqh6M7Erfh831EYOdA7PJO+7QI4/DuxuHdURmwvTuwnIED1ll5PBssGwhiOaMfq/o+AM6UtYRLuxEqOAkTSm6Q5yYizZNCt4iIiIgcHYcfV/IGnKlrcbjKDnBNdsME7EOxLINxBPBmziZU0g0TTqzsyfbu3uefAXtD+pHUuf99nEmbcSZtJlx0DMHC42vRyy4i8UChW0RERESOiOXZjStlLc7kTYC9d3s9DBWvD9WB2pm0icoeabNfyK7vx6t83s7U73CmbCBUeByhoj5g9JZbJJ7pN4CIiIiI1EEYZ1I2ztS1OL27onq1m6rG7m23LANWCFf6clypawjuOZlwSQ80KZtIfFLoFhEREZHDc5bhSlmHK+W7fa6Bbjq92k2RZYFx+PG0WYSdtorgnlOxyzpx0FnVrRCWqxjLXYzDXVT1dSGWqwwTSsIEUzGhFEwwBbvqM8bdqM9JROpOoVtEREREDsBgefbg9OXh8OXgSMhh34nGGmJ4dksUGc7uKsHbbg5hfwahghMBg+UuwlEVrCtDdkXkfsZYVfev+qeGqxzj3RW9DTBhD3YoGRNMwwRTMKHkyoCOo6pz3yIS8s0+X2NV3QZje3T9uUgDUugWERERESJLZyXk4vTl4kjIxXIE95twTL3aRyoyq7pnN97Mz4EDL522t30ttzkDOJ27MZ49B21zOMaAXdGOcElPwmWd1XsuUs8UukVERETilOUsxeHLw5GQgzMhF8tZUSMIqke7fjXU0mlHM8zfssDh24EzIR9jLyZc1oVwSU/sinYcdCi8iNSaQreIiIhIXAnjSluNM3kDDnfpQUK2erTjTeT77wjjTNqEK3kjJpRAqKQn4ZIemFBKjCsUab4UukVERETihMOXhztjIZar5KjWp5aWLRLAXeW40lbhTl9JuCKDcEkvwqVdwHhiXKFI86LQLSIiItLSOSpwt/oKV8pGjNGQcam96gDu8O7C4d2FO2MJdlkHbH87bH9r7EBrXQMuchgK3SIiIiItlsGZtBF36y/BEQIUuOXI7D1vbByJW3Ekbq1cEs2ACaZi+9ti+zOwAxmYQDpak1xkL4VuERERkRbIchXhbrMQp2+HerelXu17LlkWWJ4iLHcxzuQNVUHcge1vhfG3xQ5kEK5oB+HE2BUsEmMK3SIiIiItiRXGlbYKV9rKvZsUuKWBRc/KbuP07cJ4d+OyDMZYhIt7ESw8XuFb4pJCt4iIiEgL4fDl4s5YFDVRmkis7J0R3+BMWY8zZQOhomMIFR4Hti/G1Yk0HoVuERERkWbJgCOI5fBjOStwpqyrXOZJQ8mlCaoM4AZX6lpcKesIFfUlVNhXM6FLXFDoFhEREWlqHBU4E7ZjOf3g8GM5/ViOCnBWVH3tB0cgKlwbU3lDgVuaMssyVZdArMSVuoZQ4XGEivqAUSyRlktnt4iIiEgT4vDl4Gk7F8sZiATpSuaQgXrfa2pFmjrLAqwQrvTluFK/JVhwAuGS3mCcsS5NpN4pdIuIiIg0CTau9BX7TYCmIC0tm2WBcQRwt16KO20VwYKTCJf0QEuOSUui0C0iIiISa85yPG3n4vDma3i4xJ3qc944K/C0WYRptZxQSXfCpd0wgVaAfiikeVPoFhEREYkhhy8XT9u5Na7RFok31ee/5azAlboGd9q32MFkwtUBPJQa2wJFjpBCt4iIiEhMRA8nV+AW2av60gqHuwQrfSXuViuw/a0Il3YnVNq1jut9h7FcpVjuYixXMSaYjl2R1TCFixyAQreIiIhIY9NwcpFai6z37dmDy7MHV6uvsP3tKnvAyzqD7QUrVLk+vbsYh6s4ErAtdxGWs3zvEPaqJfVCJV0I7jkNwgkxfGYSLxS6RURERBqRhpOLHJl9f14c3nwc3nzcGYvB9lQur1dl7/J5NScirD6GM2kLzsTtBPecTLi4N5q4TRqSQreIiIhIo7Ar1yZOXwFoOLnI0dj782Ngn8Bdue/ws/5XrhcewpPxJXbyBgK7zsQEMuq/UBH0Lx0RERGRhueowJM5E1f6CixLgVukKbE8BXjbT8XdeglYgViXIy2QerpFREREGpIVwps5E8tToLAt0gRV94w7U9bhTNpMcNfphMu6oKXKpL6op1tERESkwRjcGQuwPHtqNeRVRGLHsgw4/HjazcWTORPLVRzrkqSFUOgWERERaSCutBW4krPVwy3STFT/rDp8eXg7fowrbQUQjmlN0vxpeLmIiIhIA3AmbsbdakWsyxCRI1A5MsXgSv8GV8p3BAuPI1zSC4zik9SderpFRERE6pnl2YW77XyMRpSLNGuWBTgrcLdeiq/T+7jSVoJDk61J3ehfNSIiIiL1yVmGN/NzwGhYuUgLEPk5dgZwpS/HlbaKUNGxhIr6gO2LaW3SPNQ5dPv9fhYtWsTmzZspKyujbdu2nHLKKXTv3r0h6hMRERFpPqxQZeB2BDRxmkgLZFmAFcKVthpX2reEi3sRKuyHCSfFujRpwmoduufNm8czzzzDRx99RDAYJC0tjYSEBHbv3o3f76dHjx7cdtttjBo1ipSUlIasWURERKQJMnjazMNya2kwkZau+ppvZ8o6nCnrCJd0J1R4HCaUGuvSpAmq1TXdV1xxBddffz3dunVj+vTpFBcXs2vXLrZu3UpZWRnr1q3jwQcf5LPPPuOYY45hxowZDV23iIiISJPiSl+GI3GrArdIHLEsg2UZnMkb8Xb8CHfbL3D4cgE71qVJE1Krnu6hQ4fy7rvv4na7D7i/R48e9OjRgxEjRrB69WpycnLqtUgRERGRpsyZ9D3u9NWxLkNEYqT6chJn4hZcSdkY20W4vAN2WSfC5R3A9sa4QomlWoXu22+/vdYH7NevH/369TvigkRERESaE4c3H3ebhRiDerlF4lx1+LYcob0B3IDtb4td1plwWUcNQY9Dtb6me8SIEVx44YUMHjyYLl26NGRNIiIiIs2C5SrB0242mqlcRPYXCeAWOLw7cHh34G79FXYwmXBZZ+yyjtj+thz4il8D2GDZYIXBsrEiS5WF0SJUzUut1+nevHkzt99+O927d6dnz57ceuutvPHGG0c1lPzFF1/kxBNPJDU1ldTUVAYOHMiUKVMi+ysqKhgzZgwZGRkkJyczbNgw8vLyoo6RnZ3N0KFDSUxMpF27dvzmN78hFApFtZk1axannnoqXq+XXr16MXHixCOuWURERAQAK4gn83NwBBW4ReSQLGvvSBiHuwRX6hq87T/F1+VtvJ3ex9f5XXyd38bX5T/4uv6bhG5vktDtPyR0fYuELu+S0Pl9vB0mA+Dt9AGedjNxpn6L5d5DZUCXpqzW/yKZNWsWfr+f+fPnM2vWLGbNmsXrr79OMBikd+/enH/++VxwwQVce+21tX7wTp068de//pXevXtjjGHSpEn86Ec/4uuvv+a4447j7rvv5pNPPuHtt98mLS2NO+64g6uvvpp58+YBEA6HGTp0KFlZWcyfP5+cnByGDx+O2+3mL3/5CwAbN25k6NChjBo1ijfeeIPPPvuMW2+9lfbt2zNkyJA6vlwiIiIiADaetl9guYq1NJiI1Nm+w9AtR+gwrfe7ryOMIyEHR0IOVmswYQ/h8vbYFe0Jl7eHcGJDlCxHwTLGHPFfioqKCubPn8+UKVN4+eWXKSkpIRwOH1VBrVu35u9//zvXXHMNbdu25c033+Saa64BYM2aNfTt25cFCxYwYMAApkyZwuWXX8727dvJzMwE4KWXXuL+++9nx44deDwe7r//fj755BNWrlwZeYwbbriBgoICpk6dWquaioqKSEtLo7CwkNTUpnsNxkff78FeMYe1nc7EdmjIicQHhx3i2K2LdN5L3NG5Hys2zqRNuNJXVgXuWNcTf6yQRdf5Xdl81maMS//wkPhxqHPfGIvqy1zsYDJ2eQfC5VnYFZlgPLEpuJ78+qQMXI6m+cu2tjnxiP5KBwIBFixYwKxZs/j8889ZtGgRHTp0YNiwYUdccDgc5u2336a0tJSBAweydOlSgsEgF110UaRNnz596NKlSyR0L1iwgBNOOCESuAGGDBnC6NGjWbVqFaeccgoLFiyIOkZ1m7vuuuuIaxUREZE4Y4VxJm/AnbYSy1WuSdNEpEnZd8SNw12C5VqHK/U7jAETTK2cyM3fBjvQGhNIpw5XGUs9qHXonjNnTlTI7tKlC+eddx633XYbr7/+Op06dTqiAlasWMHAgQOpqKggOTmZ999/n379+rFs2TI8Hg/p6elR7TMzM8nNzQUgNzc3KnBX76/ed6g2RUVFlJeXk5CQUKMmv9+P3++P3C4qKgIgGAwSDAaP6Hk2BhOuHJrisOs2REWkOas+33XeS7zRud9IrBCu5A04U9eAww+msrdJeTt2rJAV9VkkXtTl3K9qWfnZUYzDVwK+77EsMMaBHUjH+NtgAq0rg3goKXKvpiYYDGKaaE93bbNhrUN39azl999/P//5z39qBNkjdeyxx7Js2TIKCwt55513GDFiBLNnz66XYx+psWPH8vDDD9fYPn36dBITm/41Er23L411CSKNTue9xCud+40lK9YFyH66LNZqOhKf6u/c9wM5VR9N1/Stsa7g4MrKymrVrtah+7777mPWrFncddddvPjii5x33nkMHjyY8847jzZt2hxxoR6Ph169egHQv39/lixZwjPPPMP1119PIBCgoKAgqrc7Ly+PrKzKP3xZWVksXrw46njVs5vv22b/Gc/z8vJITU09YC83wAMPPMA999wTuV1UVETnzp255JJLmvQ13VM2FWBWz2ddh/66vk/ihsMO0Xv7Up33End07jcQZzmulLU4kzeAFdYQ8ibICll0WdyF7DOydU23xJWGPvcrZ/qywPYQ3HUGdkX7en+MI3Hn8a2b9DXdtVHrv9J//etfASgpKeGLL75g1qxZjBs3jh//+Mccc8wxnHfeeZx//vmRSc+OlG3b+P1++vfvj9vt5rPPPotcK7527Vqys7MZOHAgAAMHDuSxxx4jPz+fdu3aATBjxgxSU1Pp169fpM3kyZOjHmPGjBmRYxyI1+vF6/XW2O52u3G73Uf1/BqS5XRVrujncOkNmMQdnfcSr3Tu1xOHH3erZZVhG6Dq+khFuqbLuIxCt8Slhj33DcZU4O4wh1BxD4K7TwMT2/zjdrubbOiubTas81/p5ORkLr30Ui699FIAdu/ezZNPPslzzz3HSy+9VKfZyx944AEuvfRSunTpQnFxMW+++SazZs1i2rRppKWlccstt3DPPffQunVrUlNTufPOOxk4cCADBgwA4JJLLqFfv3787Gc/Y9y4ceTm5vLggw8yZsyYSGgeNWoUzz//PPfddx8333wzM2fO5K233uKTTz6p61MXERGRFshyFePJnInlKtXyXyIS96pH+DiTN+JMyCGw8yzsCl1iczTqHLpt22bJkiWRtbrnzZtHSUkJXbp04eqrr67TsfLz8xk+fDg5OTmkpaVx4oknMm3aNC6++GIAnnrqKRwOB8OGDcPv9zNkyBBeeOGFyP2dTicff/wxo0ePZuDAgSQlJTFixAgeeeSRSJvu3bvzySefcPfdd/PMM8/QqVMn/vnPf2qNbhEREcHy7MSb+Tk4ggrcIiL7sCyDcZbjzfqMUNExBPecAkYjq45ErV+1cePGRUJ2cXExHTt2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PvuMLl268Nhjjyl0i4hIw3NU4M38HMuzW0PHRUREpMmp8/jv+fPnc8opp9TYfsopp7BgwQIAzjnnHLKzs4++OhERkUOwXMV420/F8uxR4BYREZEmqc6hu3Pnzrz66qs1tr/66qt07twZgF27dtGqVaujr05EROQgLM+uysDtKtM12yIiItJk1Xl4+eOPP861117LlClTIut0f/nll6xZs4Z33nkHgCVLlnD99dfXb6UiIiJVHAnb8LSdA5ZR4BYREZEmrc6h+4orrmDt2rX84x//YO3atQBceumlfPDBB3Tr1g2A0aNH12uRIiIi1ZzJ63FnLAK0/JeIiIg0fXUK3cFgkB/84Ae89NJLjB07tqFqEhEROQCDK/0b3OkrY12IiIiISK3VKXS73W6++eabhqpFRETkIGzcbRbiSt4Y60JERERE6qTOE6n99Kc/PeBEaiIiIg3CCuLJ/BxnkgK3iIiIND91vqY7FArx2muv8emnn9K/f3+SkpKi9j/55JP1VpyIiMQ3y1mCJ3MWlrtI12+LiIhIs1Tn0L1y5UpOPfVUAL777ruofZbeEYmISL0I40pdgyv9G81QLiIiIs1anUP3559/3hB1iIiIAODw5uFuswjLVazebREREWn26nxNd7X169czbdo0ysvLATBGvRAiInIUHOW428zD2/5TBW4RERFpMeocunft2sWFF17IMcccw2WXXUZOTg4At9xyC/fee2+9FygiIi2djTPlO3yd/oczaTOg9bdFRESk5ahz6L777rtxu91kZ2eTmJgY2X799dczderUei1ORERaNsuzC2/7qXgylmA5Qrp2W0RERFqcOl/TPX36dKZNm0anTp2itvfu3ZvNmzfXW2EiItKCOQK405fhTFkHqFtbREREWq46h+7S0tKoHu5qu3fvxuv11ktRIiLSUhmcSZtwt/4SHMGqYeTq3RYREZGWq87Dy88991z+9a9/RW5bloVt24wbN47zzz+/XosTEZEWwgrjTF6Pt+NHeNrOB0dAQ8lFREQkLtS5p3vcuHFceOGFfPnllwQCAe677z5WrVrF7t27mTdvXkPUKCIizZWjAlfKOlypa8ARiGzWRGkiIiISL+ocuo8//ni+++47nn/+eVJSUigpKeHqq69mzJgxtG/fviFqFBGRZsZyFeFK+xZn8veArZAtIiIicavOoRsgLS2N3//+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caasBTRRmoiIiIhIbSh0i8hhORK24MlYDM6KqrCtidJERERERGpDoVtEDspyluJuvQRn0jZNlCYiIiIicgQUukXkADRRmoiIiIhIfVDoFpEolmcXnjYLsdwFCtoiIiIiIkdJoVtEKmmiNBERERGReqfQLRLvrADO5E2401ZoojQRERERkXqm0C0SlwyWZxeulPU4kzbqum0RERERkQai0C0ST6p6tV0p3+HwFGKMhWWpV1tEREREpKEodIu0eAfu1QYUuEVEREREGphCt0hLpV5tEREREZGYU+gWaTFsLE8BTl8eDl8uDl+uerVFRERERGJMoVuk2TJYnj04fPk4fbk4fHlYjhCmKltrUjQRERERkdhT6BZpNgyWuwCHL6+yNzsh94AhW2FbRERERKTpUOgWaQYcidl4MhZhOQMK2SIiIiIizYhCt0gT50xZi7v1l5HbCtkiIiIiIs2HQrdIk2VwpS/Dnb461oWIiIiIiMgRUugWaZJs3G0W4kreGOtCRERERETkKCh0izQ1VghPuzk4fDmxrkRERERERI6SQrdIU+KowJs5E8tToGu3RURERERaAIVukSbCchXjyfwMy1WGZZlYlyMiIiIiIvVAoVukCbA8u/FmzgRHQIFbRERERKQFUegWiTGHLwdPu9lg2QrcIiIiIiItjEK3SAw5kzbibrMAMLqGW0RERESkBVLoFokRV+q3uFt/hTEocIuIiIiItFAK3SKNzVmGp/VinEnbAAVuEREREZGWTKFbpNEYnCnrcLf6GqxwrIsREREREZFGoNAt0ggsdyHujIU4fTs1nFxEREREJI4odIs0qDCutNW40ldEtihwi4iIiIjED4VukQbi8O7A3WYhlqtIQVtEREREJE4pdIvUNyuIu9XXOFPWAZYCt4iIiIhIHFPoFqlHjoSteDIWgdNfFbZNrEsSEREREZEYUugWqQ/OMtytl+JKytZEaSIiIiIiEqHQLXI0rDCu1G9xpa0Aq7JXW4FbRERERESqKXSLHBGDI3Er7tZfYjnLFLRFREREROSAFLpF6shyF+JuvQRnQp6GkouIiIiIyCEpdIvUlsOPO/0bnCnfAZVJW4FbREREREQORaFb5LBsnMkbcLf6GhwhzUouIiIiIiK1ptAtcggObx7ujCU4PIUaSi4iIiIiInWm0C1yIFYQd8YiXMmbMUZDyUVERERE5MgodIvsz1mON/MzLHcRAJaloeQiIiIiInJkFLpF9mG5ivBkfYblLFfYFhERERGRo6bQLVLF8uzEmzmzarI0BW4RERERETl6Ct0igCNhG562c8Cyde22iIiIiIjUG4VuiXvO5A24MxYCmixNRERERETql0K3xDGDK20V7lbLY12IiIiIiIi0UArdEqds3K2X4kr9LtaFiIiIiIhIC6bQLfHHCuNpMw9H4pZYVyIiIiIiIi2cQrfEF0cAT7tZOLw7dP22iIiIiIg0OIVuiR/OMryZn2G5ixW4RURERESkUSh0S1xw+HLwtJkPTr/W4BYRERERkUaj0C0tm8NfOWFa8kaM0ZJgIiIiIiLSuBS6pYUyOBOzcWcsBkcQUOAWEREREZHGp9AtLY+zDE/GYpyJ29S7LSIiIiIiMaXQLS2IwZm8Hnfrr8AKAwrcIiIiIiISW45YPvicOXP44Q9/SIcOHbAsiw8++CBqvzGGP/7xj7Rv356EhAQuuugi1q1bF9Vm9+7d3HjjjaSmppKens4tt9xCSUlJVJtvvvmGc889F5/PR+fOnRk3blxDPzVpZJarCE/WDDxtFoMV0mRpIiIiIiLSJMQ0dJeWlnLSSScxfvz4A+4fN24czz77LC+99BKLFi0iKSmJIUOGUFFREWlz4403smrVKmbMmMHHH3/MnDlzuO222yL7i4qKuOSSS+jatStLly7l73//Ow899BAvv/xygz8/aQw2rtRVeDt+gsO7E1DvtoiIiIiINB0xHV5+6aWXcumllx5wnzGGp59+mgcffJAf/ehHAPzrX/8iMzOTDz74gBtuuIFvv/2WqVOnsmTJEk477TQAnnvuOS677DIef/xxOnTowBtvvEEgEOC1117D4/Fw3HHHsWzZMp588smocC7Nj+XZjafNAix3gYK2iIiIiIg0SU32mu6NGzeSm5vLRRddFNmWlpbGmWeeyYIFC7jhhhtYsGAB6enpkcANcNFFF+FwOFi0aBFXXXUVCxYsYNCgQXg8nkibIUOG8Le//Y09e/bQqlWrGo/t9/vx+/2R20VFRQAEg0GCwWBDPN16YcIhABx2KMaVNCArhDNhK46UDTi9uzDGwgorccczK2RFfRaJFzr3JV7p3Jd4Fa/nfigYJGjHuooDq202bLKhOzc3F4DMzMyo7ZmZmZF9ubm5tGvXLmq/y+WidevWUW26d+9e4xjV+w4UuseOHcvDDz9cY/v06dNJTEw8wmfUeHpvXxrrEhpBctWHSKUui7vEugSRmNC5L/FK577Eq3g79z9jRqxLOKiysrJatWuyoTuWHnjgAe65557I7aKiIjp37swll1xCampqDCs7tCmbCjCr57OuQ39sRwv41lohnImbcSZvwOEtqOzV1gRpsh8rZNFlcReyz8jGuHR+SPzQuS/xSue+xKt4PfdvTrkVr9Md6zIOqHpE9OE02WSWlZUFQF5eHu3bt49sz8vL4+STT460yc/Pj7pfKBRi9+7dkftnZWWRl5cX1ab6dnWb/Xm9Xrxeb43tbrcbt7tpfsMBLKcLA9gOVzMO3QbLuwtX8jqcSZsjS38Zq3Jf/Px6kboyLhNXf4BEquncl3ilc1/iVbyd+y63G3cTDd21zYYxnb38ULp3705WVhafffZZZFtRURGLFi1i4MCBAAwcOJCCggKWLt07nHrmzJnYts2ZZ54ZaTNnzpyo8fYzZszg2GOPPeDQcomVyjW2vR0+xtd+Gs7kjViOMJal2chFRERERKT5imnoLikpYdmyZSxbtgyonDxt2bJlZGdnY1kWd911F3/+85/53//+x4oVKxg+fDgdOnTgyiuvBKBv37784Ac/4Oc//zmLFy9m3rx53HHHHdxwww106NABgJ/85Cd4PB5uueUWVq1axX//+1+eeeaZqOHjEms27taL8bRZhOWuHKKhYeQiIiIiItISxHQM8pdffsn5558fuV0dhEeMGMHEiRO57777KC0t5bbbbqOgoIBzzjmHqVOn4vP5Ivd54403uOOOO7jwwgtxOBwMGzaMZ599NrI/LS2N6dOnM2bMGPr370+bNm344x//qOXCmgorhKftFzgStlfeVK+2iIiIiIi0IDEN3YMHD8aYg/doWpbFI488wiOPPHLQNq1bt+bNN9885OOceOKJfPHFF0dcpzQQRwXezJlYHq2zLSIiIiIiLVNznW1LmjnLVYwn8zMsV5mGkouIiIiISIul0C2NzvLsxJv5OTiCCtwiIiIiItKiKXRLo3IkbMXT7gvA1pByERERERFp8RS6pdE4k9fhzlgMaMI0ERERERGJDwrd0ggMrvTluNNXxboQERERERGRRqXQLQ0sjLvNQlzJm2JdiIiIiIiISKNT6JaGYwXxtJuNw5cX60pERERERERiQqFbGoDB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fH19HZ/ePvzwwxo6dKi8vLz00UcfKSAgQC+88ILmzZun3NxcmUwmeXp6qlKlSs4tHrgP9D7c2dGjR3Xt2jXHjLTVqlVT//795ePjo8GDBysgIEBvvvmmJk+erOvXr+v69evy8PBQ+fLlnVw5cH8OHTqk6tWra/z48apataqioqLUsWNHvfHGG2rfvr02bNig6Ohobd26VatWrdLevXsVGBioHTt2qF69es4uH/hNcnNzVaFCBT3//POqWbOmateurfbt2yssLExDhgxRhQoV9Mc//lFff/219u3bpw0bNig0NFTvvvuu6tat6+zy3R6h20W0bt1aK1asUGZmpurUqSNJeuihh9S/f39lZWXpn//8p3r16qWqVasqMDDQydUCJYfeh7tq3769Xn/9dW3dulUtWrSQdHPinC5dumjcuHFKTExU//79VadOHXl7e8vb29vJFQMl4+LFi9q7d68KCgocYzVr1tS7776roqIi9e3bV+vWrdPDDz+shx9+WJJYmxtlXl5eng4cOOBYlcJms8nb21uTJ09Wfn6+Bg0apEceeUT169dXWFiYunTp4uSK8XOc0+0iIiMj9eOPP2rRokU6f/68Yzw0NFSxsbFat24dS8TAJdH7cFf169dXUFCQ5s2bV+y8VT8/P3Xs2FEZGRn0PlxSixYtFBUVpZkzZyovL88xHhwcrFGjRqlatWraunWrJMlqtUpibW6UfU888YRat26tcePG6dy5czKbzY6lIseOHeuYz8Butzv6HqUHobsM+/kTqk2bNhoxYoT+/ve/65NPPtGpU6cc19WtW5fDqeBS6H24q5/3fkREhJ5//nmtXr1aH374oWNtYunmaRZ169Yttk434CoeeughtW7dWmvXrtWyZct07do1x3VNmzaVzWZzrFlssVicVSZQosxms3r16qUTJ07o/fff18WLFx0fJoWEhMjPz08ZGRkymUz0fSnE4eVlmMVikd1u13fffaeWLVtqxIgRslqtmjhxorKzs9W1a1c1aNDA8cQMDg52dslAiaD34a5u9f6yZcvUs2dPDRgwQDabTVOmTNHx48fVs2dPNWrUSPPnz9epU6f40Akuw2q1ymKxyGazyWw2a+rUqcrKytJ7772n/Px8xcfHy9fXV5IUHh6ukJAQJ1cM3L9b/X7r3xdffFFZWVlKTk5Wfn6+xo8fr8qVK0uSqlSp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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# Correcting the interval calculation\n",
+ "combined_clean = combined.dropna()\n",
+ "# Calculate the number of entries that would constitute a 4-hour span, considering the data's time frequency\n",
+ "time_diff_in_hours = (combined_clean.index[1] - combined_clean.index[0]).seconds / 3600\n",
+ "entries_per_hour = 1 / time_diff_in_hours\n",
+ "four_hourly_entries = int(entries_per_hour * 4)\n",
+ "\n",
+ "# Ensure we have a positive, non-zero interval\n",
+ "four_hourly_entries = max(four_hourly_entries, 1)\n",
+ "\n",
+ "# Adjust x-ticks and labels for 4-hour intervals\n",
+ "x_ticks = range(0, len(combined_clean), four_hourly_entries)\n",
+ "x_labels = [time.strftime('%H:%M') for i, time in enumerate(combined_clean.index) if i % four_hourly_entries == 0]\n",
+ "\n",
+ "# Plotting with the corrected interval\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.fill_between(x_axis, combined_clean[\"Demand\"], label=\"Demand\", color=\"skyblue\")\n",
+ "plt.fill_between(x_axis, combined_clean[\"Wind\"], label=\"Wind Contribution\", color=\"lightgreen\")\n",
+ "\n",
+ "plt.xticks(x_ticks, x_labels, rotation=45) # Setting custom x-ticks based on the correction\n",
+ "plt.title(\"Demand vs Wind Energy Contribution\")\n",
+ "plt.ylabel(\"Energy (MW)\")\n",
+ "plt.xlabel(\"Effective Time\")\n",
+ "plt.legend()\n",
+ "plt.grid(True)\n",
+ "plt.tight_layout()\n",
+ "plt.show()\n"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
diff --git a/subs/energy_api.py b/subs/energy_api.py
index 067ef5d..e1a8ed9 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -573,3 +573,61 @@ def actual_demand_cal():
# Return only the valid part of dataframe
return process_data_frame(demand_for_today)
+
+
+def area_plot_wind_demand(demand, wind):
+ """Generates an area plot showing the contribution of wind power to the total energy demand.
+
+ Args:
+ demand (pd.DataFrame): DataFrame containing energy demand data. Expects a 'Value' column for demand values and a DateTimeIndex.
+ wind (pd.DataFrame): DataFrame containing wind energy production data. Expects a 'Value' column for wind production values and a DateTimeIndex.
+
+ Returns:
+ matplotlib.pyplot: A plot object showing the total energy demand and the contribution of wind energy over time. The x-axis represents time in 4-hour intervals, formatted as hours and minutes. The y-axis represents power in MW.
+ """
+ sns.set_style("darkgrid", {"axes.facecolor": ".9"})
+
+ # Align DataFrames based on index
+ combined = pd.DataFrame({"Demand": demand["Value"], "Wind": wind["Value"]})
+ # Correcting the interval calculation
+ combined_clean = combined.dropna()
+ # Calculate the number of entries that would constitute a 4-hour span, considering the data's time frequency
+ time_diff_in_hours = (
+ combined_clean.index[1] - combined_clean.index[0]
+ ).seconds / 3600
+ entries_per_hour = 1 / time_diff_in_hours
+ four_hourly_entries = int(entries_per_hour * 4)
+
+ # Ensure we have a positive, non-zero interval
+ four_hourly_entries = max(four_hourly_entries, 1)
+
+ # Adjust x-ticks and labels for 4-hour intervals
+ x_ticks = range(0, len(combined_clean), four_hourly_entries)
+ x_labels = [
+ time.strftime("%H:%M")
+ for i, time in enumerate(combined_clean.index)
+ if i % four_hourly_entries == 0
+ ]
+
+ x_axis = range(len(combined_clean)) # Use a simple numeric x-axis
+
+ # Plotting with the corrected interval
+ plt.figure(figsize=(10, 6))
+ plt.fill_between(
+ x_axis, combined_clean["Demand"], label="Total Demand", color="skyblue"
+ )
+ plt.fill_between(
+ x_axis, combined_clean["Wind"], label="Wind Contribution", color="lightgreen"
+ )
+
+ plt.xticks(
+ x_ticks, x_labels, rotation=45
+ ) # Setting custom x-ticks based on the correction
+ plt.title("Demand vs Wind Energy Contribution")
+ plt.ylabel("Power (MW)")
+ # plt.xlabel("Effective Time")
+ plt.legend()
+ plt.grid(True)
+ plt.tight_layout()
+ # plt.show()
+ return plt
From ecab025cc258b4a71de9cbfd982c200b87fbdde5 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 18:36:01 +0000
Subject: [PATCH 09/23] Add telegram_wind_analysis for communicating with the
bot
---
subs/energy_api.py | 7 ++++++-
subs/telegram_func.py | 16 +++++++++++++++-
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/subs/energy_api.py b/subs/energy_api.py
index e1a8ed9..c4245da 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -575,6 +575,12 @@ def actual_demand_cal():
return process_data_frame(demand_for_today)
+
+
+
+def wind_demand_analysis(demand,wind):
+
+
def area_plot_wind_demand(demand, wind):
"""Generates an area plot showing the contribution of wind power to the total energy demand.
@@ -625,7 +631,6 @@ def area_plot_wind_demand(demand, wind):
) # Setting custom x-ticks based on the correction
plt.title("Demand vs Wind Energy Contribution")
plt.ylabel("Power (MW)")
- # plt.xlabel("Effective Time")
plt.legend()
plt.grid(True)
plt.tight_layout()
diff --git a/subs/telegram_func.py b/subs/telegram_func.py
index dd735ed..d6b846a 100644
--- a/subs/telegram_func.py
+++ b/subs/telegram_func.py
@@ -293,4 +293,18 @@ async def telegram_fuel_mix(update, context, user_first_name):
del audio_msg
"""
-async def telegram_wind_gen(update, context, user_first_name):
+
+async def telegram_wind_analysis(update, context, user_first_name):
+ wind = None
+ demand = None
+
+ wind = wind_gen_cal()
+ demand = actual_demand_cal()
+
+ if wind is None or demand is None:
+ await update.message.reply_html(
+ f"Sorry, {user_first_name} 😔. We're currently unable to retrieve the necessary data due to issues with the EirGrid website 🌐. Please try again later. We appreciate your understanding 🙏."
+ )
+ return
+ else:
+ plot_demand_vs_wind = area_plot_wind_demand(demand, wind)
From 0521373e70ef710c6cf20213bab72e2f35f0f326 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 18:39:22 +0000
Subject: [PATCH 10/23] add calculate_stats_wind_demand for analysis of wind
and demand
---
subs/energy_api.py | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/subs/energy_api.py b/subs/energy_api.py
index c4245da..1593a27 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -575,10 +575,32 @@ def actual_demand_cal():
return process_data_frame(demand_for_today)
+def calculate_stats_wind_demand(df):
+ """
+ Calculate mean, min, and max of the 'Value' column in the DataFrame,
+ and identify the EffectiveTime for both min and max values.
+ Args:
+ df (pd.DataFrame): DataFrame with 'EffectiveTime' as index and a 'Value' column.
-
-def wind_demand_analysis(demand,wind):
+ Returns:
+ dict: A dictionary with mean, min, max values, and the times at which min and max occurred.
+ """
+ mean_value = df["Value"].mean()
+ min_value = df["Value"].min()
+ max_value = df["Value"].max()
+
+ # Find the time at which the min and max values occurred
+ time_of_min = df["Value"].idxmin()
+ time_of_max = df["Value"].idxmax()
+
+ return {
+ "Mean": mean_value,
+ "Min": min_value,
+ "Time of Min": time_of_min,
+ "Max": max_value,
+ "Time of Max": time_of_max,
+ }
def area_plot_wind_demand(demand, wind):
From 45e437e14feef9c9af413ecc0b7b35db6437af94 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 19:10:52 +0000
Subject: [PATCH 11/23] create a prompt for wind and demand report
---
subs/openai_script.py | 42 ++++++++++++++++++++++++++++++++++++++++++
subs/telegram_func.py | 2 ++
2 files changed, 44 insertions(+)
diff --git a/subs/openai_script.py b/subs/openai_script.py
index dec3f85..bb95603 100644
--- a/subs/openai_script.py
+++ b/subs/openai_script.py
@@ -393,6 +393,48 @@ def create_fuel_mix_prompt(date, fuel_mix_data, net_import_status):
return prompt_text
+def create_wind_demand_prompt(demand_stats, wind_stats):
+ """
+ Generates a structured report summarizing the electricity demand and wind generation over the current day.
+
+ This function creates a report detailing the average, minimum, and maximum electricity demand and wind generation,
+ including the times those minimum and maximum values occurred. It highlights the contribution of wind generation to
+ meeting the electricity demand, emphasizing the dynamics of the power system from the start of the current day until now.
+
+ Args:
+ demand_stats (dict): A dictionary containing statistics (mean, min, max, time of min, time of max) for electricity demand.
+ wind_stats (dict): A dictionary containing statistics (mean, min, max, time of min, time of max) for wind generation.
+
+ Returns:
+ str: A formatted string that provides a comprehensive report on the electricity system's performance,
+ specifically focusing on demand and wind generation, with an emphasis on wind's contribution to the electricity demand.
+ """
+
+ prompt_text = (
+ "As of today, the performance of the electricity system is summarized as follows:\n\n"
+ "- ⚡ **Electricity Demand**: The average demand was {average_demand} MW, with a minimum of {min_demand} MW recorded at {time_min_demand} "
+ "and a maximum of {max_demand} MW observed at {time_max_demand}.\n"
+ "- 🌬️ **Wind Generation**: In terms of wind generation, the average output stood at {average_wind} MW. "
+ "The lowest generation reached {min_wind} MW at {time_min_wind}, while the peak generation was {max_wind} MW at {time_max_wind}.\n"
+ "- 💨 **Wind's Contribution**: On average, wind generation has contributed {wind_percentage}% of the total electricity demand.\n\n"
+ "This report highlights the power system's dynamics from the start of today until now, emphasizing the significant contribution of wind 🍃 to meeting the electricity demand."
+ ).format(
+ average_demand=round(demand_stats["Mean"], 2),
+ min_demand=round(demand_stats["Min"], 2),
+ time_min_demand=demand_stats["Time of Min"].strftime("%H:%M"),
+ max_demand=round(demand_stats["Max"], 2),
+ time_max_demand=demand_stats["Time of Max"].strftime("%H:%M"),
+ average_wind=round(wind_stats["Mean"], 2),
+ min_wind=round(wind_stats["Min"], 2),
+ time_min_wind=wind_stats["Time of Min"].strftime("%H:%M"),
+ max_wind=round(wind_stats["Max"], 2),
+ time_max_wind=wind_stats["Time of Max"].strftime("%H:%M"),
+ wind_percentage=round((wind_stats["Mean"] / demand_stats["Mean"]) * 100, 2),
+ )
+
+ return prompt_text
+
+
def generate_voice(text):
"""
Generates an audio file from the given text using a specified voice and model via an external API.
diff --git a/subs/telegram_func.py b/subs/telegram_func.py
index d6b846a..1014afa 100644
--- a/subs/telegram_func.py
+++ b/subs/telegram_func.py
@@ -307,4 +307,6 @@ async def telegram_wind_analysis(update, context, user_first_name):
)
return
else:
+ demand_stats = calculate_stats_wind_demand(demand)
+ wind_stats = calculate_stats_wind_demand(wind)
plot_demand_vs_wind = area_plot_wind_demand(demand, wind)
From 7511fa7d94011177602b5b0c3d89e88d5d909e9b Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 19:32:14 +0000
Subject: [PATCH 12/23] Create prompt template and call funcs for wind and
demand report
---
main.py | 4 ++--
subs/openai_script.py | 13 +++++++++++++
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/main.py b/main.py
index f9f9849..29a14f2 100644
--- a/main.py
+++ b/main.py
@@ -16,7 +16,7 @@
telegram_carbon_intensity,
telegram_fuel_mix,
telegram_personalised_handler,
- telegram_wind_gen,
+ telegram_wind_analysis,
)
from dotenv import load_dotenv
from datetime import datetime, timedelta
@@ -75,7 +75,7 @@ async def energy_api_func(update: Update, context: CallbackContext):
elif selected_option_user == "🔋 Fuel mix":
await telegram_fuel_mix(update, context, user_first_name)
elif selected_option_user == "🍃 Wind generation":
- await telegram_wind_gen(update, context, user_first_name)
+ await telegram_wind_analysis(update, context, user_first_name)
else:
await update.message.reply_text(
diff --git a/subs/openai_script.py b/subs/openai_script.py
index bb95603..9c0939a 100644
--- a/subs/openai_script.py
+++ b/subs/openai_script.py
@@ -435,6 +435,19 @@ def create_wind_demand_prompt(demand_stats, wind_stats):
return prompt_text
+def wind_and_demand_report(prompt):
+ """submit prompt for wind and demand analysis to gpt and get its response
+
+ Args:
+ prompt (str): Input prompt
+
+ Returns:
+ str : Generated text by gpt model
+ """
+ report = opt_gpt_summarise(prompt)
+ return report
+
+
def generate_voice(text):
"""
Generates an audio file from the given text using a specified voice and model via an external API.
From a7408a693aac98d2bb4321deb302105a37c64fe2 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sat, 16 Mar 2024 19:42:32 +0000
Subject: [PATCH 13/23] Update telegram_wind_analysis with prompt and gpt
response
---
subs/telegram_func.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/subs/telegram_func.py b/subs/telegram_func.py
index 1014afa..dffae6b 100644
--- a/subs/telegram_func.py
+++ b/subs/telegram_func.py
@@ -309,4 +309,6 @@ async def telegram_wind_analysis(update, context, user_first_name):
else:
demand_stats = calculate_stats_wind_demand(demand)
wind_stats = calculate_stats_wind_demand(wind)
+ prompt_for_wind_demand = create_wind_demand_prompt(demand_stats, wind_stats)
+ wind_demand_summary = wind_and_demand_report(prompt_for_wind_demand)
plot_demand_vs_wind = area_plot_wind_demand(demand, wind)
From ca781fb001a660b8b027db3142f1ccfb0ee7b17c Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Mon, 18 Mar 2024 11:34:02 +0000
Subject: [PATCH 14/23] Add send_plot_wind_demand to send images to users for
wind trend
---
eirgrid_api.ipynb | 111 ++++++++++++++++++++++++++++++++++++++----
subs/energy_api.py | 1 +
subs/telegram_func.py | 15 ++++++
3 files changed, 118 insertions(+), 9 deletions(-)
diff --git a/eirgrid_api.ipynb b/eirgrid_api.ipynb
index e8b7f57..05a5f16 100644
--- a/eirgrid_api.ipynb
+++ b/eirgrid_api.ipynb
@@ -4615,20 +4615,34 @@
"metadata": {},
"outputs": [
{
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/Users/saeed/Documents/GitHub/telegram-energy-api/subs/energy_api.py:533: SettingWithCopyWarning: \n",
- "A value is trying to be set on a copy of a slice from a DataFrame.\n",
- "Try using .loc[row_indexer,col_indexer] = value instead\n",
- "\n",
- "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
- " recent_data_frame[\"Value\"] = recent_data_frame[\"Value\"].interpolate()\n"
+ "ename": "KeyboardInterrupt",
+ "evalue": "",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[1], line 4\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msubs\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01menergy_api\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msubs\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mopenai_script\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[0;32m----> 4\u001b[0m demand \u001b[38;5;241m=\u001b[39m \u001b[43mactual_demand_cal\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/subs/energy_api.py:572\u001b[0m, in \u001b[0;36mactual_demand_cal\u001b[0;34m()\u001b[0m\n\u001b[1;32m 569\u001b[0m startDateTime, endDateTime \u001b[38;5;241m=\u001b[39m today_time()\n\u001b[1;32m 571\u001b[0m \u001b[38;5;66;03m# Retrive data for actual demand for today\u001b[39;00m\n\u001b[0;32m--> 572\u001b[0m demand_for_today \u001b[38;5;241m=\u001b[39m \u001b[43meirgrid_api\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdemandactual\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mALL\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstartDateTime\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mendDateTime\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 574\u001b[0m \u001b[38;5;66;03m# Return only the valid part of dataframe\u001b[39;00m\n\u001b[1;32m 575\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m process_data_frame(demand_for_today)\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/subs/energy_api.py:42\u001b[0m, in \u001b[0;36meirgrid_api\u001b[0;34m(area, region, start_time, end_time)\u001b[0m\n\u001b[1;32m 40\u001b[0m Rows \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m 41\u001b[0m url \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttp://smartgriddashboard.eirgrid.com/DashboardService.svc/data?area=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00marea\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m®ion=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mregion\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m&datefrom=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mstart_time\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m&dateto=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mend_time\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m---> 42\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43mrequests\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[43murl\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 43\u001b[0m Rs \u001b[38;5;241m=\u001b[39m json\u001b[38;5;241m.\u001b[39mloads(response\u001b[38;5;241m.\u001b[39mtext)[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mRows\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 44\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m row \u001b[38;5;129;01min\u001b[39;00m Rs:\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/api.py:73\u001b[0m, in \u001b[0;36mget\u001b[0;34m(url, params, **kwargs)\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mget\u001b[39m(url, params\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 63\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124;03m\"\"\"Sends a GET request.\u001b[39;00m\n\u001b[1;32m 64\u001b[0m \n\u001b[1;32m 65\u001b[0m \u001b[38;5;124;03m :param url: URL for the new :class:`Request` object.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[38;5;124;03m :rtype: requests.Response\u001b[39;00m\n\u001b[1;32m 71\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 73\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mget\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparams\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparams\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/api.py:59\u001b[0m, in \u001b[0;36mrequest\u001b[0;34m(method, url, **kwargs)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;66;03m# By using the 'with' statement we are sure the session is closed, thus we\u001b[39;00m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;66;03m# avoid leaving sockets open which can trigger a ResourceWarning in some\u001b[39;00m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;66;03m# cases, and look like a memory leak in others.\u001b[39;00m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m sessions\u001b[38;5;241m.\u001b[39mSession() \u001b[38;5;28;01mas\u001b[39;00m session:\n\u001b[0;32m---> 59\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43msession\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/sessions.py:589\u001b[0m, in \u001b[0;36mSession.request\u001b[0;34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)\u001b[0m\n\u001b[1;32m 584\u001b[0m send_kwargs \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 585\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtimeout\u001b[39m\u001b[38;5;124m\"\u001b[39m: timeout,\n\u001b[1;32m 586\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mallow_redirects\u001b[39m\u001b[38;5;124m\"\u001b[39m: allow_redirects,\n\u001b[1;32m 587\u001b[0m }\n\u001b[1;32m 588\u001b[0m send_kwargs\u001b[38;5;241m.\u001b[39mupdate(settings)\n\u001b[0;32m--> 589\u001b[0m resp \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mprep\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43msend_kwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 591\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m resp\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/sessions.py:703\u001b[0m, in \u001b[0;36mSession.send\u001b[0;34m(self, request, **kwargs)\u001b[0m\n\u001b[1;32m 700\u001b[0m start \u001b[38;5;241m=\u001b[39m preferred_clock()\n\u001b[1;32m 702\u001b[0m \u001b[38;5;66;03m# Send the request\u001b[39;00m\n\u001b[0;32m--> 703\u001b[0m r \u001b[38;5;241m=\u001b[39m \u001b[43madapter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 705\u001b[0m \u001b[38;5;66;03m# Total elapsed time of the request (approximately)\u001b[39;00m\n\u001b[1;32m 706\u001b[0m elapsed \u001b[38;5;241m=\u001b[39m preferred_clock() \u001b[38;5;241m-\u001b[39m start\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/adapters.py:486\u001b[0m, in \u001b[0;36mHTTPAdapter.send\u001b[0;34m(self, request, stream, timeout, verify, cert, proxies)\u001b[0m\n\u001b[1;32m 483\u001b[0m timeout \u001b[38;5;241m=\u001b[39m TimeoutSauce(connect\u001b[38;5;241m=\u001b[39mtimeout, read\u001b[38;5;241m=\u001b[39mtimeout)\n\u001b[1;32m 485\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 486\u001b[0m resp \u001b[38;5;241m=\u001b[39m \u001b[43mconn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43murlopen\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 487\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 488\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 489\u001b[0m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbody\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 490\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 491\u001b[0m \u001b[43m \u001b[49m\u001b[43mredirect\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 492\u001b[0m \u001b[43m \u001b[49m\u001b[43massert_same_host\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 493\u001b[0m \u001b[43m \u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 494\u001b[0m \u001b[43m \u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 495\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmax_retries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 496\u001b[0m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 497\u001b[0m \u001b[43m \u001b[49m\u001b[43mchunked\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchunked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 498\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 500\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (ProtocolError, \u001b[38;5;167;01mOSError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[1;32m 501\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mConnectionError\u001b[39;00m(err, request\u001b[38;5;241m=\u001b[39mrequest)\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py:793\u001b[0m, in \u001b[0;36mHTTPConnectionPool.urlopen\u001b[0;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001b[0m\n\u001b[1;32m 790\u001b[0m response_conn \u001b[38;5;241m=\u001b[39m conn \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m release_conn \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 792\u001b[0m \u001b[38;5;66;03m# Make the request on the HTTPConnection object\u001b[39;00m\n\u001b[0;32m--> 793\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 794\u001b[0m \u001b[43m \u001b[49m\u001b[43mconn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 795\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 796\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 797\u001b[0m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout_obj\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 798\u001b[0m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbody\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 799\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 800\u001b[0m \u001b[43m \u001b[49m\u001b[43mchunked\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchunked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 801\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 802\u001b[0m \u001b[43m \u001b[49m\u001b[43mresponse_conn\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresponse_conn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 803\u001b[0m \u001b[43m \u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpreload_content\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 804\u001b[0m \u001b[43m \u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdecode_content\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 805\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mresponse_kw\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 806\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 808\u001b[0m \u001b[38;5;66;03m# Everything went great!\u001b[39;00m\n\u001b[1;32m 809\u001b[0m clean_exit \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py:537\u001b[0m, in \u001b[0;36mHTTPConnectionPool._make_request\u001b[0;34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001b[0m\n\u001b[1;32m 535\u001b[0m \u001b[38;5;66;03m# Receive the response from the server\u001b[39;00m\n\u001b[1;32m 536\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 537\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43mconn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetresponse\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 538\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (BaseSSLError, \u001b[38;5;167;01mOSError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 539\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_raise_timeout(err\u001b[38;5;241m=\u001b[39me, url\u001b[38;5;241m=\u001b[39murl, timeout_value\u001b[38;5;241m=\u001b[39mread_timeout)\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/urllib3/connection.py:466\u001b[0m, in \u001b[0;36mHTTPConnection.getresponse\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 463\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mresponse\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m HTTPResponse\n\u001b[1;32m 465\u001b[0m \u001b[38;5;66;03m# Get the response from http.client.HTTPConnection\u001b[39;00m\n\u001b[0;32m--> 466\u001b[0m httplib_response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetresponse\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 468\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 469\u001b[0m assert_header_parsing(httplib_response\u001b[38;5;241m.\u001b[39mmsg)\n",
+ "File \u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py:1419\u001b[0m, in \u001b[0;36mHTTPConnection.getresponse\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1417\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1418\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1419\u001b[0m \u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbegin\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1420\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mConnectionError\u001b[39;00m:\n\u001b[1;32m 1421\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclose()\n",
+ "File \u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py:331\u001b[0m, in \u001b[0;36mHTTPResponse.begin\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 329\u001b[0m \u001b[38;5;66;03m# read until we get a non-100 response\u001b[39;00m\n\u001b[1;32m 330\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[0;32m--> 331\u001b[0m version, status, reason \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_read_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 332\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m status \u001b[38;5;241m!=\u001b[39m CONTINUE:\n\u001b[1;32m 333\u001b[0m \u001b[38;5;28;01mbreak\u001b[39;00m\n",
+ "File \u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py:292\u001b[0m, in \u001b[0;36mHTTPResponse._read_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 291\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_read_status\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[0;32m--> 292\u001b[0m line \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mstr\u001b[39m(\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreadline\u001b[49m\u001b[43m(\u001b[49m\u001b[43m_MAXLINE\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124miso-8859-1\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 293\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(line) \u001b[38;5;241m>\u001b[39m _MAXLINE:\n\u001b[1;32m 294\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m LineTooLong(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstatus line\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
+ "File \u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/socket.py:707\u001b[0m, in \u001b[0;36mSocketIO.readinto\u001b[0;34m(self, b)\u001b[0m\n\u001b[1;32m 705\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[1;32m 706\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 707\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_sock\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrecv_into\u001b[49m\u001b[43m(\u001b[49m\u001b[43mb\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 708\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m timeout:\n\u001b[1;32m 709\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_timeout_occurred \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n",
+ "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"from subs.energy_api import *\n",
+ "from subs.openai_script import *\n",
"\n",
"demand = actual_demand_cal()"
]
@@ -4659,6 +4673,85 @@
"cell_type": "code",
"execution_count": 3,
"metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACX40lEQVR4nOzdeXxU9f398fO5d5bsCZAQVkVAEJB9E5Sq1Lp/1R/i2rpU61Kl2lqrotZdaRXcd2tdWlupu8XWXVGKgCwBBUT2PZAAScg6y72/PyYZEgiQQJKZJK/n4xHJ3Htn5n0nN3HOfDbjuq4rAAAAAADQ4KxYFwAAAAAAQEtF6AYAAAAAoJEQugEAAAAAaCSEbgAAAAAAGgmhGwAAAACARkLoBgAAAACgkRC6AQAAAABoJIRuAAAAAAAaCaEbAACgibmu26qfHwBaE0I3AEAXXXSRevfuHf064ogjNHjwYI0bN06vvvqqQqFQrEtsMLfccovGjh3bpM95/fXXa+TIkXts/+6779S7d28NGTJEwWCwxr7vv/9evXv31rvvvqsNGzaod+/eevvttw+6lrqc/9ixY2tcD7t//e53vzvoOuLFli1b9OCDD+rkk0/WwIEDdcwxx+jqq6/W3LlzG+05n376ab344ov7PW7s2LG65ZZbJKlBr4Hly5frggsuqLGtd+/eeuKJJw76sQEAe/LEugAAQHzo27ev7rzzTklSOBxWYWGhvvrqK02aNElz587Vo48+Ksvis9oDMWrUKH344YdatWqVunfvHt3+9ddfKyMjQwUFBVqwYIFGjBgR3VcV+o4++milp6dr6tSpOuSQQ5qs5mOPPVbXXHNNrfvatGnTZHU0pnnz5unaa69VmzZtdPHFF+uwww5TQUGBpk6dqosuukiTJk3SWWed1eDP+9hjj2nChAn7Pe7JJ59USkpKgz//hx9+qAULFtTYNnXqVHXo0KHBnwsAQOgGAFRKSUnRoEGDamwbO3asunfvrvvvv1/Tpk3TGWecEZvimrlRo0ZJkubPn18jdM+YMUMnn3yyvvrqK3399dc1Qve3336rXr16KSsrS5L2+Nk0trZt2zb5czalgoIC/fa3v1W3bt300ksvKTExMbrvpJNO0pVXXqk77rhDxxxzjDIzM2NSY9++fZvsuVryzxoAYo0mCwDAPv3iF79Qdna2Xn/99Rrb33jjDZ122mk68sgjddxxx+mJJ55QOByO7r/lllt0+eWXa+rUqTrhhBM0YMAAnX/++Vq9erW++OIL/d///Z8GDhyoc845R0uXLt3jsceNG6dBgwZpwIABOvPMM/Xf//43uv/tt99W3759tXDhQp133nnq37+/jj/++D267BYWFmrixIkaMWKEhg8froceekiO4+zzfE866SRdd911e2w/88wz9etf/1qStG7dOl199dUaOXKkBg4cqPPOO0/Tp0/f62Meeuih6ty5s+bPnx/dtnPnTi1cuFCjR4/WqFGjNGPGjBr3mTdvno4++mhJe3Ytbszzr6/evXvrtdde02233aYRI0Zo8ODBuv7665Wfn1/juE8//VTjxo1T//79dfTRR+u+++5TaWlpdP8TTzyhn/3sZ3ryySc1YsQIHXPMMSosLFQwGNTkyZP1k5/8RAMGDNDll1+ud999V71799aGDRv05Zdfqnfv3nu8fnPnzlXv3r01b968Wut+9913tXXrVt166601ArckWZalG2+8UT//+c9VXFwc3f6///1PF154oYYOHaqRI0fq97//vTZv3hzdX5efS+/evSVFWrGrvt/buVfvXl5ly5YtuuqqqzRgwAAde+yxevzxx2v83tXWTfyJJ56o8VxPPvnkHsfufr+tW7dq4sSJOvbYYzVgwACNHz9en332WY3HrevPHgBaO0I3AGCfLMvSqFGjtGjRoujY7ueee05//OMfNWrUKD377LP6+c9/rhdeeEF//OMfa9x3wYIF+vvf/65bbrlFkyZN0sqVK3XllVdq0qRJuuqqq/Twww9r8+bNuvHGG6P3ee2113THHXfohBNO0HPPPafJkyfL5/PpxhtvVG5ubvQ4x3H029/+Vqeeeqqef/55DRkyRA8++KC+/vrr6P5f/epXmj59um6++Wb96U9/0vz58/Wf//xnn+d7xhlnaPr06TXC1sqVK/XDDz/ozDPPlOM4uuqqq1RWVqYHH3xQTz/9tDIyMvTrX/9aa9eu3evjHnXUUTVC9zfffCPXdTVq1Cgdc8wxWrp0aTSsrFixQjt27IiG7to01vlXcV1XoVCo1q/dPfLII3IcRw8//LBuuukmffHFF3rggQei+//973/r2muvVffu3fXUU09pwoQJev/993XNNdfUmNBr06ZNmj59uh555BFNnDhR6enpuuOOO/TKK6/oF7/4hZ566illZmbWuM7GjBmj9u3b67333qtR07vvvqtu3bpp6NChtZ7f119/rczMTA0YMKDW/UcccYRuvvlmdevWLfp4l112mTp27KiHH35YEydO1IIFC3Teeedp27Zt0fvt7+cydepUSdL48eOj3+/t3GvzxBNPqF27dnrqqad09tln69lnn9Wf//znWo+tzTnnnKPx48dHaznnnHP2OCY/P1/jx4/X3Llz9bvf/U5PPPGEOnfurGuvvVbvv/9+jWP397MHANC9HABQB5mZmQoGgyooKJDf79fTTz+t8847T7fffrsk6ZhjjlFGRoZuv/12/fKXv9Thhx8uSSopKdGjjz6qHj16SJLmzJmj119/XS+//HK0y/XatWv15z//WUVFRUpLS9P69et1+eWX1xhP3LlzZ40bN07z5s3TaaedJikSCq+55ppoaBg6dKg++eQTffnllxozZoy++uorLVq0SC+88IJ+8pOfSIp0897fJGJnnHGGnnjiCX366afR8bzTpk1TWlqaxo4dq23btmnVqlW65pprdOyxx0qSBgwYoCeffFKBQGCvjztq1Ci99dZb2r59u9q2bauvv/5aAwYMUFpamkaPHi1jjGbMmKGzzjpL3377rXw+n4YPH77Xx2us86/y7rvv6t13361135tvvqn+/ftHb/fq1UuTJk2K3l60aJE+/PDDaJ2TJ0/WmDFjNHny5Ogx3bp106WXXqrp06fruOOOkySFQiHdfPPNGjZsmKRIj4J33nlHN998s375y19KioTs/Pz8aMu2bdv6f//v/+lvf/ubSkpKlJycrPLycv33v//VlVdeudfzy83NVefOnev0WjiOo8mTJ+uYY47RlClTotuHDBmiU089VS+++KJuuumm6Pnu6+dS1Y27Q4cONbp0737uezNmzJhoqB0zZoyKi4v1j3/8Q9dcc40yMjL2ey4dOnSIjt3eW5fyl156Sdu3b9dHH30UfY2OPfZYXXrppXrwwQd1+umnR+d32NfPHgAQQUs3AGC/qlojjTFasGCBysvLNXbs2Bqtn1Vh7n//+1/0funp6dHALSk6NnbgwIHRbVVBoaioSFKkW/qNN96ooqIi5eTk6L333tNrr70mSXuE2sGDB0e/9/l8atu2bbTL8ty5c+X1ejVmzJjoMUlJSdGgvDddu3bVkCFDarQIf/DBBzr55JPl8/mUmZmpnj176o9//KNuvvlm/fvf/5bjOJo4cWL0w4baVH3IUDWB1YwZM3TMMcdEX4N+/fpp5syZ0dqHDBmihISEfdbaGOdf5fjjj9ebb75Z61fPnj1rHLt7eOvQoYPKysokSatWrVJubu4e18vw4cOVkpJS43qRpD59+kS/nz17tlzX1cknn1zjmNNPP73G7bPPPlulpaX65JNPJEmffPKJSktL9zkJmm3bNbpl78vq1auVl5e3x/MecsghGjx4sObMmVNj+75+LvtS/dz35pRTTqlx+8QTT1QwGNTChQv3e9+6mjNnjgYPHrzHhxJnnHGG8vLytGrVqui2ff3sAQARtHQDAPZry5YtSkhIiM60LWmvrYhbt26Nfr+3mZeTkpL2+lzr1q3THXfcoW+++UZer1fdu3fXEUccIWnPtYV3D6WWZUWPKSwsVEZGhowxNY6pmphsX84880zde++92rFjhzZs2KC1a9dGWxeNMfrrX/+qZ555Rp988oneffddeb1enXDCCbr77rv32i04MzNTvXr10vz589WtWzdt2rSpRiA++uijoy3L8+bN04UXXrjfOhvr/KXIBwHVW7P3pbYx0VV1VF0vd999t+6+++497lv9epGk5OTk6Pfbt2+XJLVr167GMbvfPvTQQzVixAi9++67Ouuss/Tuu+9q9OjRys7O3mvNnTp10qJFi/Z5Xps3b1bHjh2j51DbhGqZmZlasmRJjW37+rnsS/Vz35vdf35t27aVFPl5N5TCwkJ17dp1j+1V51/1AZm07589ACCC0A0A2KdQKKTZs2dryJAhsm1baWlpkqTJkydHx7tWdzAzPTuOoyuvvFJer1dvvvmm+vTpI4/HoxUrVuwxZnd/2rRpox07digcDsu27ej2qgC1L6eccoruu+8+ffrpp1q1apU6d+5cY2xwdna27rrrLt1555364Ycf9OGHH+qFF15QmzZtosuu1eaoo47SwoUL1bFjxz1C7THHHKNnn31Ws2bN0ubNm/c5nrsuDub8G1LV9XLTTTfVmJ29yt4+pJAUDc35+fnq1KlTdHtVGK/u7LPP1q233qqVK1fqm2++qdGVvTZjxozRF198oe+++67WDxeWLl2qs846SxMnTox+OFLbBGF5eXlNuoTa7uG6qqbqH0Ts3oJfl1b26tLT05WXl7fH9qptLWXJOABoKnQvBwDs09SpU5WXl6cLLrhAUqRruNfr1ZYtW9S/f//ol8fj0cMPP6wNGzYc8HPt2LFDq1ev1vjx46OPKUlfffWVJNVr5u1Ro0YpFArp008/jW4LBAJ7dGeuTVpamo4//nh99tln+uijj3TGGWdEW4wXLFig0aNHa9GiRTLGqE+fPvrd736nXr16adOmTft83NGjR2vx4sWaPXu2Ro0aVWPd80GDBik5OVn/+Mc/1KZNm4NeLupgzr8hde/eXe3atdOGDRtqXC/Z2dmaMmXKHq3E1Q0dOlS2bUe7jVf5+OOP9zj2pJNOUmJiou666y4lJyfrhBNO2GddZ5xxhrKysjRp0iSVl5fX2BcOhzV58mR5vV6dcsopOuyww5SVlaVp06bVOG79+vXKycnRkCFD9vcy1HAw691/+eWXNW5/8MEHSkxMjA7ZSElJ0ZYtW2ocU30Cv7o8//Dhw7VgwQJt3Lixxvb3339fWVlZOvTQQw+wegBonWjpBgBIkoqLi5WTkyMpEm537NihGTNmaOrUqTrjjDN04oknSoq0cv3qV7/SY489puLiYo0cOVJbtmzRY489JmNMtCv4gWjXrp06d+6s1157TR06dFBaWpq+/vprvfrqq5JUr7GiVbOC33777dq2bZs6d+6sV199Vdu3b9+je3JtzjjjDF133XUKh8M688wzo9v79u2rhIQE3XTTTfrNb36jzMxMzZw5U0uXLtXFF1+8z8ccPny4AoGAvvjiC91111019nm9Xo0YMUKff/65TjzxxD26hdfXwZ7/9u3bo9fD7mzbrnPXc9u29bvf/U533HGHbNvW8ccfr6KiIj399NPasmWL+vXrt9f7du3aVWeffbYefvhhBYNBHXHEEfrkk0/0xRdfSKoZHhMTE3Xaaadp6tSpuuCCC+Tz+fZZV2pqqv70pz9pwoQJOuecc/SLX/xC3bp1U25url577TUtWrRIU6ZMiba233DDDZo4caJ+//vf64wzztCOHTv05JNPKj09PTrJW12lpaVp/vz5+vbbb/c7cdruPv74Y2VnZ2v06NHR38/rr78+OpTjuOOO0wcffKCBAwfq0EMP1dtvv73HrPpVvQ+mTZumgQMH7tGV/Je//KXef/99XXrppZowYYIyMjL07rvvatasWXrggQcO6kMDAGiNCN0AAEnSkiVLdN5550mKjFtOTk5Wr169dNddd+2xrNBvf/tbZWVl6R//+If+8pe/KD09XaNGjdINN9yg1NTUg6rj6aef1v33369bbrlFPp9PPXv21DPPPKMHHnhAc+fO1UUXXVTnx3ryySc1efJkPf7446qoqNCpp56qc889d4/1hmtz7LHHKjU1VV27dtVhhx0W3e73+/XXv/5VU6ZM0f3336+ioiJ169ZN99xzj8aNG7fPx0xJSVH//v21YMGC6CRq1VV1eR49enSdz3FfDub8p0+fvte1x1NTUzV37tw613HOOecoOTlZf/nLXzR16lQlJSVpyJAhmjx5cq1jh6v74x//qKSkJP31r39VcXGxRo0apV//+td66qmn9pgb4LjjjtPUqVP3+3Oocswxx+iNN97QX//6Vz333HPKz89XRkaGjjzySE2dOrXGhH/jxo1TcnKynnvuOV177bVKSUnRmDFjdMMNN9R5nHyVq6++Wk8//bSuuOKKOi/hVuW2227TBx98oJdffllZWVm69dZba3zYM3HiRIVCIf35z3+Wx+PRqaeeqt///vfRlQakyORr7733nm655RaNHz9+jw+AsrKy9M9//lNTpkzRfffdF/3A4+mnn9ZPf/rTetULAJCMy2wXAAAgDhUUFOirr77SmDFjaowj/vOf/6y3335bs2fPrnH8nXfeqYULF+51qTMAAGKBlm4AABCXEhMTdf/996tPnz665JJLlJSUpJycHP3973/XVVddFT3u1Vdf1apVq/Svf/1LDz30UAwrBgBgT7R0AwCAuLV06VI9+uijysnJUVlZmQ455BCdf/75+vnPfx4d937dddfp66+/1nnnnadbbrklxhUDAFAToRsAAAAAgEbC9JMAAAAAADQSQjcAAAAAAI2E0A0AAAAAQCMhdAMAAAAA0EgI3QAAAAAANBLW6d6HLVu2KJ4ndzfGKDs7O+7rBGrD9YvmjOsXzR3XMJozrl/Ei6prcX8I3fvgum6z+EVuLnUCteH6RXPG9YvmjmsYzRnXL5oLupcDAAAAANBICN0AAAAAADQSQjcAAAAAAI2EMd0AAAAA4p7jOHIcR5JUXl6uYDDImG40GmOMLMuSZR18OzWhGwAAAEDccl1XxcXFKi8vj24rKipSOByOYVVoLRISEpSSkiJjzAE/BqEbAAAAQNyqCtzJycnyer2SJK/Xq2AwGOPK0NIFg0GVlJRIklJTUw/4cQjdAAAAAOKS4zjRwJ2UlBTdXhW+gcZUdZ2VlJQoOTn5gLuaM5EaAAAAgLhUNYabkI1Yqbr2qq7FA0HoBgAAABCXmCgN8eJgrkVCNwAAAAAAjYQx3QAAAACaneKwVHHgPX7rzW9JKXbdjp00aZI++uijve5/5JFHNHjw4L3u//LLLzVw4EC1adNmv891/fXXa9CgQfrlL3+5x76XXnpJr7zySvS2x+NRVlaWfvazn+niiy+WxxP/cXDBggX63e9+py+//DLWpRyw+H+VAQAAAKCa4pD0bp5HYR34Mk71ZcvVWVmhOgXv3/zmN7ryyislSV988YWmTp2qZ599Nro/LS1tr/fNzc3VXXfdpX/+858HXbMk9evXT/fcc48kKRAIaOnSpXriiSe0ZcsWTZw4sUGeA/tG6AYAAADQrJQ7atLALUWer8KpW2t3SkqKUlJSJCk663W7du3q9DwNPY7d4/HUeO6OHTsqPT1dv//97zVu3Dj17t27QZ8PeyJ0AwAAAEAT2rp1q55++mnNmzdPxhidcMIJuvrqq+Xz+XTBBRdIki644ALdfPPNOvnkk/Xaa69p2rRpys/PV3p6uv7v//5Pl1566QE//9ChQ9WpUyd9/fXX0dD9/vvv6x//+IcKCgrUu3dvXX/99erevbsk6bzzztMll1yi9957T6tXr9aAAQN044036umnn9bs2bPVpUsX3X777TrssMMkSdOmTdPUqVO1efNmJSUlaezYsfrNb34j27Y1adIkpaWlKT8/XzNnzlRaWpquuOIKnXjiiZIiy3NNmTJF33zzjdq1a6fTTz/9IF7p+MBEagAAAADQRILBoG644QaVl5frscce01133aVZs2bpueeek6RoN/Rnn31WY8eO1UcffaQ333xTf/jDH/S3v/1NF198sV5++WX9+OOPB1XHoYceqrVr10qSZs6cqZdfflnXXXed/vKXv2jAgAH67W9/q507d0aPf/HFF3XFFVfoiSee0PLly3XFFVdo6NChevbZZ5WQkKC//OUvkqScnBw98cQTuuKKK/S3v/1NN9xwgz744AP973//iz7WO++8o169eumll17ST37yE02ZMkXFxcWSpIcffljr1q3TY489puuuu05Tp049qPOMB4RuAAAAAGgic+bMUX5+vm677TZ1795dQ4YM0fXXX693331XpaWlSk9PlySlp6fL7/crOztbN998s4YOHaqOHTvqzDPPVNu2bbVmzZqDqiM5OVmlpaWSpH/+85/6xS9+odGjR6tLly66/PLL1aFDB33yySfR408++WQNGzZMvXv31pAhQ3TYYYfpzDPP1GGHHaYTTzxR69atkyQlJibqpptu0k9+8hN17NhRxx13nA4//PAa9fbo0UMXXHCBOnXqpMsuu0wVFRVas2aNiouL9cUXX+i6665Tr169NGLECF1yySUHdZ7xgO7lAAAAANBE1q5dqy5duig1NTW67cgjj1Q4HNbGjRujY8GrDB48WEuWLNHzzz+vtWvXasWKFdq+fbvC4fBB1VFaWqrk5ORoTc8++6yef/756P5AIKD169dHb3fs2DH6vc/nU4cOHWrcDgQCkqTevXvL7/frpZde0urVq7V69Wpt2LBBw4cPjx7fpUuX6PdVNYRCIW3YsEGO46hnz57R/UccccRBnWc8IHQDAAAAQBPx+Xx7bHMcp8a/1U2bNk1PPfWUTjvtNB177LH69a9/rd/97ncHXceqVat00kknSZLC4bAmTJigIUOG1DimKhBLkm3XnEHOmNonspszZ45uv/12nXTSSRo5cqQuvfRSPfLIIzWOqW2psuoTyFX/vjksa7Y/zf8MAAAAAKCZ6Nq1qzZs2KCioqLo0mGLFy+Wbdvq1KmTSkpKahz//vvv65JLLtH5558vSdq5c6d27NhxUDXMnz9fubm5OvbYYyVJhxxyiPLy8mq0QP/pT3/SmDFjdPTRR9frsadNm6ZTTz1Vv/3tbyVFWrA3bdq0R6CvTdeuXeXxePTDDz9o6NChkqTly5fX6/njEaEbAAAAAJrIsGHD1LFjRz3wwAO68sorVVhYqMcff1wnnHCCUlNTo93GV65cqfT0dKWnp2vevHk6+uijVVpaqr/85S8KhULR7tz7EwqFtG3bNkmRLuPfffednnnmGZ122mnR2cnPOeccPfTQQ+ratav69eunadOm6csvv9QvfvGLep9fenq6vv/+e61atUrGGL322mvatm1bnepNTk7WiSeeqMcff1w333yzKioq9PLLL9e7hnhD6AYAAACAJmLbth544AE99thj+vWvf62kpCSdcMIJ+tWvfiVJysjI0M9+9jPdfffduvLKKzVhwgT9+c9/1uWXX642bdro+OOPV0JCglasWFGn51u8eLHOPvtsSVJCQoI6duqkCy+8UOPG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ri6/9vo61eVPSNS6Nau1LT9P7TKz9nu8ZVl64s8P6JfX/EabN27Qf959SxP+cKukSHf5119+UV9++aV69Oihl19+WZa1ax7whIQEbdu2TZs3b95j1vFzzz1XL730kjIzM9W5c2f94x//UCAQ0NixY+t0Hg2N0A0AAFoU14280a9wpIBrVOGo8sso4EollUtwFYVrRuvd14QmUKN52XX9FoaNiiong9udpUhXdLsyiEe+IsHcrey6HVZk5vaqr6qgvWevjurPXjU54N6PqY+WMiSjT/8B+vebU9Vv4KAa2/sNHKSK8vJ9di3fF4/Ho4n3/VnPPPygbrrmCh3SvYdOOuP/aeWPy/Z6n5/89GdKTknRu1P/oQ/fe1vGGPXodYTuefhxHX5EZPxzVvts3XLvn/S3F57Rv9/6lzKz2uuSq67V2JNPrVNdPznhRD1412268arL9dc339vv8ckpqRoy8ijdeeNv5fP5dO5Fv9RRYyITtvUfPFRnjD9XkydPlmVZOvfcc5Wfnx+975gxY/T+++/r0ksv1euvv17jcc8991yVlJTooYceUmlpqfr166dHH300Zmt5G7cxO6/vxyeffKIJEybU2HbSSSfp8ccf15IlS3TnnXfqxx9/VM+ePXX33XfryCOPjB43bdo0Pfroo8rLy9Mxxxyje++9V23btpUU6Y8/ZcoUvfnmm3IcR+PHj9eNN95Y45ORusjNzW3Uvv0HyxijDh06xH2dQG24ftGccf3Gj4AjLS21tK7cREN1sJau4BHVp6ZqGW/ogZYuyQ1qmMlTSnobmWpjictNiWYl/0eOcfZx74ZluZaOKjlVCW5ykz1na2fLVZsYj90PBoMqKChQRkaGvN6axVS9H9ifmLZ0r1ixQscff7zuvffe6Da/36/S0lJdeeWV+r//+z/96U9/0j//+U9dddVV+uSTT5SUlKRFixbptttu0913360jjjhC999/vyZOnKjnnousB/fSSy9p2rRpevLJJxUKhfSHP/xB7dq10+WXXx6rUwUAAA2o3JGWlFhaWmoptNeQvTtar4GWIsFN1lElpypoKprsOb2un8CNAxLT0L1y5Ur16tVLWVk1+/u/+eab8vv9uummm2SM0W233aavvvpKH374ocaNG6e///3vOuWUU3TWWWdJkh588EEdf/zxWr9+vbp27apXX31V1113nYYNGyZJ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atKkSeratatuuukmXXvttcrKytIHH3ygbdu2OTdrBf7XvvvuO1VWVqpTp07y8fFRTU2Npk+frgEDBuj++++XVPes+UmTJunOO+/U4MGD1alTJ+3cuVN79uzRiy++qODgYGM/BHAZSrcb2rhxozZt2qRJkyapsLBQp0+fltVqVWJiom677TZJdcts7Ha7s3ifOHFC+fn5cjgcuvrqq9WuXTsjPwKauC+//FKjRo3SwIEDNXbsWPXt2/cn91Ndfq/rgQMH9O2336qmpka33HKL2rdvb8TYgCRpzZo12rZtm5KSkvTVV1/p448/1tatW9W9e3fnexwOh2pra8kw3NKyZcv08ccfO08Sde/eXSkpKfLx8ZHUML8nT57U5s2b9fnnn+vSpUvy9vbW8uXLG+Qd+F/KyMhw5veaa67RjBkz1KtXL5WVlal58+aS/rPHxjfffKP09HQVFRWpqqpKdrtda9asIb9wO5RuN/Tkk0+qS5cuevTRRyVJX3zxhd555x3l5OQoJSXF+Xxuh8Mhh8PB5hBwO999953zWcVdu3bVxIkTde2118psNjs3NCG/cEeVlZWaOnWq4uLidM8990iSRo8erfj4eN1xxx3y8/NzvpcMwx29+eabWrZsmTIzMxUSEqJPPvlEu3bt0siRIzVixIgGqzTqT37W1NTIarWqpKREzZs35wohDJOdna2FCxdq3bp18vHxUWFhoe67774G76k/jqjPb0VFhUpLS3Xx4kWFh4frqquuMmh64JdxpOBmrFarzp49q7KyMudr1157rR566CHdddddWrZsmT799FNJdfeoeHl56b333pPVajVqZMCp/hxedHS0Bg0apMWLF6u6ulqrVq3SoUOHJEmnTp2S9J/8fvTRR4bNC/xYdXW1CgsLVVJSIqmulJw8eVIbN27UH//4R6WlpengwYOSyDDcU1FRke6++2717NlTUVFReuCBB2SxWJSTkyOp4f2t9Ss1fHx8FBgYqMjISAo3DFVeXq7OnTsrNjZWsbGxGjp0qPLy8pSVlaVTp07JZrM1KNySFBgYqLZt26p79+4UbrgtSrebKC4u1vnz5+Xr66sxY8bo7bffdh7YSVJUVJRGjhypG2+8UVu2bNHx48clSd9++63S0tJUXFxs1OiAiouLVVJSosrKSudrJ06cUEFBgdatWyer1aq1a9dq4sSJysjIkM1m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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "demand_stats = calculate_stats_wind_demand(demand)\n",
+ "wind_stats = calculate_stats_wind_demand(wind)\n",
+ "plot_demand_vs_wind = area_plot_wind_demand(demand, wind)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "demand_stats = {\n",
+ " 'Mean': 4275.6565373, # Example average demand\n",
+ " 'Min': 4139.32523532, # Minimum demand value\n",
+ " 'Time of Min': '2024-03-16 01:00:00', # Timestamp of minimum demand\n",
+ " 'Max': 4396.0, # Maximum demand value\n",
+ " 'Time of Max': '2024-03-16 00:00:00' # Timestamp of maximum demand\n",
+ "}\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "wind_stats = {\n",
+ " 'Mean': 774.5869707, # Example average wind generation\n",
+ " 'Min': 617.678, # Minimum wind generation value\n",
+ " 'Time of Min': '2024-03-16 00:00:00', # Timestamp of minimum wind generation\n",
+ " 'Max': 957.0, # Maximum wind generation value\n",
+ " 'Time of Max': '2024-03-16 01:00:00' # Timestamp of maximum wind generation\n",
+ "}\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "AttributeError",
+ "evalue": "'str' object has no attribute 'strftime'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[4], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mcreate_wind_demand_prompt\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdemand_stats\u001b[49m\u001b[43m,\u001b[49m\u001b[43mwind_stats\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/subs/openai_script.py:424\u001b[0m, in \u001b[0;36mcreate_wind_demand_prompt\u001b[0;34m(demand_stats, wind_stats)\u001b[0m\n\u001b[1;32m 396\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcreate_wind_demand_prompt\u001b[39m(demand_stats, wind_stats):\n\u001b[1;32m 397\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 398\u001b[0m \u001b[38;5;124;03m Generates a structured report summarizing the electricity demand and wind generation over the current day.\u001b[39;00m\n\u001b[1;32m 399\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 410\u001b[0m \u001b[38;5;124;03m specifically focusing on demand and wind generation, with an emphasis on wind's contribution to the electricity demand.\u001b[39;00m\n\u001b[1;32m 411\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m 413\u001b[0m prompt_text \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m 414\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAs of today, the performance of the electricity system is summarized as follows:\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 415\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m- ⚡ **Electricity Demand**: The average demand was \u001b[39m\u001b[38;5;132;01m{average_demand}\u001b[39;00m\u001b[38;5;124m MW, with a minimum of \u001b[39m\u001b[38;5;132;01m{min_demand}\u001b[39;00m\u001b[38;5;124m MW recorded at \u001b[39m\u001b[38;5;132;01m{time_min_demand}\u001b[39;00m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 416\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mand a maximum of \u001b[39m\u001b[38;5;132;01m{max_demand}\u001b[39;00m\u001b[38;5;124m MW observed at \u001b[39m\u001b[38;5;132;01m{time_max_demand}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 417\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m- 🌬️ **Wind Generation**: In terms of wind generation, the average output stood at \u001b[39m\u001b[38;5;132;01m{average_wind}\u001b[39;00m\u001b[38;5;124m MW. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 418\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe lowest generation reached \u001b[39m\u001b[38;5;132;01m{min_wind}\u001b[39;00m\u001b[38;5;124m MW at \u001b[39m\u001b[38;5;132;01m{time_min_wind}\u001b[39;00m\u001b[38;5;124m, while the peak generation was \u001b[39m\u001b[38;5;132;01m{max_wind}\u001b[39;00m\u001b[38;5;124m MW at \u001b[39m\u001b[38;5;132;01m{time_max_wind}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 419\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m- 💨 **Wind\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124ms Contribution**: On average, wind generation has contributed \u001b[39m\u001b[38;5;132;01m{wind_percentage}\u001b[39;00m\u001b[38;5;132;01m% o\u001b[39;00m\u001b[38;5;124mf the total electricity demand.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 420\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThis report highlights the power system\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124ms dynamics from the start of today until now, emphasizing the significant contribution of wind 🍃 to meeting the electricity demand.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 421\u001b[0m )\u001b[38;5;241m.\u001b[39mformat(\n\u001b[1;32m 422\u001b[0m average_demand\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(demand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMean\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 423\u001b[0m min_demand\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(demand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMin\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[0;32m--> 424\u001b[0m time_min_demand\u001b[38;5;241m=\u001b[39m\u001b[43mdemand_stats\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mTime of Min\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstrftime\u001b[49m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mH:\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mM\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 425\u001b[0m max_demand\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(demand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMax\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 426\u001b[0m time_max_demand\u001b[38;5;241m=\u001b[39mdemand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTime of Max\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mstrftime(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mH:\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mM\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 427\u001b[0m average_wind\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(wind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMean\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 428\u001b[0m min_wind\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(wind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMin\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 429\u001b[0m time_min_wind\u001b[38;5;241m=\u001b[39mwind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTime of Min\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mstrftime(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mH:\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mM\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 430\u001b[0m max_wind\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(wind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMax\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 431\u001b[0m time_max_wind\u001b[38;5;241m=\u001b[39mwind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTime of Max\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mstrftime(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mH:\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mM\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 432\u001b[0m wind_percentage\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m((wind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMean\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m/\u001b[39m demand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMean\u001b[39m\u001b[38;5;124m\"\u001b[39m]) \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m100\u001b[39m, \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 433\u001b[0m )\n\u001b[1;32m 435\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m prompt_text\n",
+ "\u001b[0;31mAttributeError\u001b[0m: 'str' object has no attribute 'strftime'"
+ ]
+ }
+ ],
+ "source": [
+ "create_wind_demand_prompt(demand_stats,wind_stats)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
"outputs": [
{
"data": {
diff --git a/subs/energy_api.py b/subs/energy_api.py
index 1593a27..bd9792f 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -657,4 +657,5 @@ def area_plot_wind_demand(demand, wind):
plt.grid(True)
plt.tight_layout()
# plt.show()
+
return plt
diff --git a/subs/telegram_func.py b/subs/telegram_func.py
index dffae6b..3a0163d 100644
--- a/subs/telegram_func.py
+++ b/subs/telegram_func.py
@@ -294,6 +294,19 @@ async def telegram_fuel_mix(update, context, user_first_name):
"""
+async def send_plot_wind_demand(update, context, area_plot_wind_demand):
+
+ # Save the plot to a BytesIO buffer
+ buf = BytesIO()
+ area_plot_wind_demand.savefig(buf, format="png")
+ buf.seek(0)
+ area_plot_wind_demand.close() # Make sure to close the plot to free up memory
+ caption_text = "📉 Today's Energy in Ireland: See how wind power helps meet our electricity needs throughout the day. A simple look at our journey towards greener energy."
+ # Send the photo
+ chat_id = update.effective_chat.id
+ await context.bot.send_photo(chat_id=chat_id, photo=buf, caption=caption_text)
+
+
async def telegram_wind_analysis(update, context, user_first_name):
wind = None
demand = None
@@ -312,3 +325,5 @@ async def telegram_wind_analysis(update, context, user_first_name):
prompt_for_wind_demand = create_wind_demand_prompt(demand_stats, wind_stats)
wind_demand_summary = wind_and_demand_report(prompt_for_wind_demand)
plot_demand_vs_wind = area_plot_wind_demand(demand, wind)
+ await update.message.reply_text(wind_demand_summary)
+ await send_plot_wind_demand(update, context, area_plot_wind_demand)
From acd312b904ecbfcacd13cdc9633994e55f4da2ed Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Mon, 18 Mar 2024 12:08:29 +0000
Subject: [PATCH 15/23] Impove prompt to get better results
---
eirgrid_api.ipynb | 81 ++++++++++---------------------------------
subs/energy_api.py | 5 +--
subs/openai_script.py | 40 +++++++++++----------
subs/telegram_func.py | 3 +-
4 files changed, 45 insertions(+), 84 deletions(-)
diff --git a/eirgrid_api.ipynb b/eirgrid_api.ipynb
index 05a5f16..2c19343 100644
--- a/eirgrid_api.ipynb
+++ b/eirgrid_api.ipynb
@@ -4615,28 +4615,15 @@
"metadata": {},
"outputs": [
{
- "ename": "KeyboardInterrupt",
- "evalue": "",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
- "Cell \u001b[0;32mIn[1], line 4\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msubs\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01menergy_api\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msubs\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mopenai_script\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[0;32m----> 4\u001b[0m demand \u001b[38;5;241m=\u001b[39m \u001b[43mactual_demand_cal\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/subs/energy_api.py:572\u001b[0m, in \u001b[0;36mactual_demand_cal\u001b[0;34m()\u001b[0m\n\u001b[1;32m 569\u001b[0m startDateTime, endDateTime \u001b[38;5;241m=\u001b[39m today_time()\n\u001b[1;32m 571\u001b[0m \u001b[38;5;66;03m# Retrive data for actual demand for today\u001b[39;00m\n\u001b[0;32m--> 572\u001b[0m demand_for_today \u001b[38;5;241m=\u001b[39m \u001b[43meirgrid_api\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdemandactual\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mALL\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstartDateTime\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mendDateTime\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 574\u001b[0m \u001b[38;5;66;03m# Return only the valid part of dataframe\u001b[39;00m\n\u001b[1;32m 575\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m process_data_frame(demand_for_today)\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/subs/energy_api.py:42\u001b[0m, in \u001b[0;36meirgrid_api\u001b[0;34m(area, region, start_time, end_time)\u001b[0m\n\u001b[1;32m 40\u001b[0m Rows \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m 41\u001b[0m url \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttp://smartgriddashboard.eirgrid.com/DashboardService.svc/data?area=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00marea\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m®ion=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mregion\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m&datefrom=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mstart_time\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m&dateto=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mend_time\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m---> 42\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43mrequests\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[43murl\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 43\u001b[0m Rs \u001b[38;5;241m=\u001b[39m json\u001b[38;5;241m.\u001b[39mloads(response\u001b[38;5;241m.\u001b[39mtext)[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mRows\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 44\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m row \u001b[38;5;129;01min\u001b[39;00m Rs:\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/api.py:73\u001b[0m, in \u001b[0;36mget\u001b[0;34m(url, params, **kwargs)\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mget\u001b[39m(url, params\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 63\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124;03m\"\"\"Sends a GET request.\u001b[39;00m\n\u001b[1;32m 64\u001b[0m \n\u001b[1;32m 65\u001b[0m \u001b[38;5;124;03m :param url: URL for the new :class:`Request` object.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[38;5;124;03m :rtype: requests.Response\u001b[39;00m\n\u001b[1;32m 71\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 73\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mget\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparams\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparams\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/api.py:59\u001b[0m, in \u001b[0;36mrequest\u001b[0;34m(method, url, **kwargs)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;66;03m# By using the 'with' statement we are sure the session is closed, thus we\u001b[39;00m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;66;03m# avoid leaving sockets open which can trigger a ResourceWarning in some\u001b[39;00m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;66;03m# cases, and look like a memory leak in others.\u001b[39;00m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m sessions\u001b[38;5;241m.\u001b[39mSession() \u001b[38;5;28;01mas\u001b[39;00m session:\n\u001b[0;32m---> 59\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43msession\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/sessions.py:589\u001b[0m, in \u001b[0;36mSession.request\u001b[0;34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)\u001b[0m\n\u001b[1;32m 584\u001b[0m send_kwargs \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 585\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtimeout\u001b[39m\u001b[38;5;124m\"\u001b[39m: timeout,\n\u001b[1;32m 586\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mallow_redirects\u001b[39m\u001b[38;5;124m\"\u001b[39m: allow_redirects,\n\u001b[1;32m 587\u001b[0m }\n\u001b[1;32m 588\u001b[0m send_kwargs\u001b[38;5;241m.\u001b[39mupdate(settings)\n\u001b[0;32m--> 589\u001b[0m resp \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mprep\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43msend_kwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 591\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m resp\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/sessions.py:703\u001b[0m, in \u001b[0;36mSession.send\u001b[0;34m(self, request, **kwargs)\u001b[0m\n\u001b[1;32m 700\u001b[0m start \u001b[38;5;241m=\u001b[39m preferred_clock()\n\u001b[1;32m 702\u001b[0m \u001b[38;5;66;03m# Send the request\u001b[39;00m\n\u001b[0;32m--> 703\u001b[0m r \u001b[38;5;241m=\u001b[39m \u001b[43madapter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 705\u001b[0m \u001b[38;5;66;03m# Total elapsed time of the request (approximately)\u001b[39;00m\n\u001b[1;32m 706\u001b[0m elapsed \u001b[38;5;241m=\u001b[39m preferred_clock() \u001b[38;5;241m-\u001b[39m start\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/requests/adapters.py:486\u001b[0m, in \u001b[0;36mHTTPAdapter.send\u001b[0;34m(self, request, stream, timeout, verify, cert, proxies)\u001b[0m\n\u001b[1;32m 483\u001b[0m timeout \u001b[38;5;241m=\u001b[39m TimeoutSauce(connect\u001b[38;5;241m=\u001b[39mtimeout, read\u001b[38;5;241m=\u001b[39mtimeout)\n\u001b[1;32m 485\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 486\u001b[0m resp \u001b[38;5;241m=\u001b[39m \u001b[43mconn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43murlopen\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 487\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 488\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 489\u001b[0m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbody\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 490\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 491\u001b[0m \u001b[43m \u001b[49m\u001b[43mredirect\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 492\u001b[0m \u001b[43m \u001b[49m\u001b[43massert_same_host\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 493\u001b[0m \u001b[43m \u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 494\u001b[0m \u001b[43m \u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 495\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmax_retries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 496\u001b[0m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 497\u001b[0m \u001b[43m \u001b[49m\u001b[43mchunked\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchunked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 498\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 500\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (ProtocolError, \u001b[38;5;167;01mOSError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[1;32m 501\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mConnectionError\u001b[39;00m(err, request\u001b[38;5;241m=\u001b[39mrequest)\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py:793\u001b[0m, in \u001b[0;36mHTTPConnectionPool.urlopen\u001b[0;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001b[0m\n\u001b[1;32m 790\u001b[0m response_conn \u001b[38;5;241m=\u001b[39m conn \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m release_conn \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 792\u001b[0m \u001b[38;5;66;03m# Make the request on the HTTPConnection object\u001b[39;00m\n\u001b[0;32m--> 793\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 794\u001b[0m \u001b[43m \u001b[49m\u001b[43mconn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 795\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 796\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 797\u001b[0m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout_obj\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 798\u001b[0m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbody\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 799\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 800\u001b[0m \u001b[43m \u001b[49m\u001b[43mchunked\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchunked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 801\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 802\u001b[0m \u001b[43m \u001b[49m\u001b[43mresponse_conn\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresponse_conn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 803\u001b[0m \u001b[43m \u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpreload_content\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 804\u001b[0m \u001b[43m \u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdecode_content\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 805\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mresponse_kw\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 806\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 808\u001b[0m \u001b[38;5;66;03m# Everything went great!\u001b[39;00m\n\u001b[1;32m 809\u001b[0m clean_exit \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py:537\u001b[0m, in \u001b[0;36mHTTPConnectionPool._make_request\u001b[0;34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001b[0m\n\u001b[1;32m 535\u001b[0m \u001b[38;5;66;03m# Receive the response from the server\u001b[39;00m\n\u001b[1;32m 536\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 537\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43mconn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetresponse\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 538\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (BaseSSLError, \u001b[38;5;167;01mOSError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 539\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_raise_timeout(err\u001b[38;5;241m=\u001b[39me, url\u001b[38;5;241m=\u001b[39murl, timeout_value\u001b[38;5;241m=\u001b[39mread_timeout)\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/.venv/lib/python3.12/site-packages/urllib3/connection.py:466\u001b[0m, in \u001b[0;36mHTTPConnection.getresponse\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 463\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mresponse\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m HTTPResponse\n\u001b[1;32m 465\u001b[0m \u001b[38;5;66;03m# Get the response from http.client.HTTPConnection\u001b[39;00m\n\u001b[0;32m--> 466\u001b[0m httplib_response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetresponse\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 468\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 469\u001b[0m assert_header_parsing(httplib_response\u001b[38;5;241m.\u001b[39mmsg)\n",
- "File \u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py:1419\u001b[0m, in \u001b[0;36mHTTPConnection.getresponse\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1417\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1418\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1419\u001b[0m \u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbegin\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1420\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mConnectionError\u001b[39;00m:\n\u001b[1;32m 1421\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclose()\n",
- "File \u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py:331\u001b[0m, in \u001b[0;36mHTTPResponse.begin\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 329\u001b[0m \u001b[38;5;66;03m# read until we get a non-100 response\u001b[39;00m\n\u001b[1;32m 330\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[0;32m--> 331\u001b[0m version, status, reason \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_read_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 332\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m status \u001b[38;5;241m!=\u001b[39m CONTINUE:\n\u001b[1;32m 333\u001b[0m \u001b[38;5;28;01mbreak\u001b[39;00m\n",
- "File \u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py:292\u001b[0m, in \u001b[0;36mHTTPResponse._read_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 291\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_read_status\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[0;32m--> 292\u001b[0m line \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mstr\u001b[39m(\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreadline\u001b[49m\u001b[43m(\u001b[49m\u001b[43m_MAXLINE\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124miso-8859-1\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 293\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(line) \u001b[38;5;241m>\u001b[39m _MAXLINE:\n\u001b[1;32m 294\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m LineTooLong(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstatus line\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
- "File \u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/socket.py:707\u001b[0m, in \u001b[0;36mSocketIO.readinto\u001b[0;34m(self, b)\u001b[0m\n\u001b[1;32m 705\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[1;32m 706\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 707\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_sock\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrecv_into\u001b[49m\u001b[43m(\u001b[49m\u001b[43mb\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 708\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m timeout:\n\u001b[1;32m 709\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_timeout_occurred \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n",
- "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/Users/saeed/Documents/GitHub/telegram-energy-api/subs/energy_api.py:533: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame.\n",
+ "Try using .loc[row_indexer,col_indexer] = value instead\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " recent_data_frame[\"Value\"] = recent_data_frame[\"Value\"].interpolate()\n"
]
}
],
@@ -4676,7 +4663,7 @@
"outputs": [
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACX40lEQVR4nOzdeXxU9f398fO5d5bsCZAQVkVAEJB9E5Sq1Lp/1R/i2rpU61Kl2lqrotZdaRXcd2tdWlupu8XWXVGKgCwBBUT2PZAAScg6y72/PyYZEgiQQJKZJK/n4xHJ3Htn5n0nN3HOfDbjuq4rAAAAAADQ4KxYFwAAAAAAQEtF6AYAAAAAoJEQugEAAAAAaCSEbgAAAAAAGgmhGwAAAACARkLoBgAAAACgkRC6AQAAAABoJIRuAAAAAAAaCaEbAACgibmu26qfHwBaE0I3AEAXXXSRevfuHf064ogjNHjwYI0bN06vvvqqQqFQrEtsMLfccovGjh3bpM95/fXXa+TIkXts/+6779S7d28NGTJEwWCwxr7vv/9evXv31rvvvqsNGzaod+/eevvttw+6lrqc/9ixY2tcD7t//e53vzvoOuLFli1b9OCDD+rkk0/WwIEDdcwxx+jqq6/W3LlzG+05n376ab344ov7PW7s2LG65ZZbJKlBr4Hly5frggsuqLGtd+/eeuKJJw76sQEAe/LEugAAQHzo27ev7rzzTklSOBxWYWGhvvrqK02aNElz587Vo48+Ksvis9oDMWrUKH344YdatWqVunfvHt3+9ddfKyMjQwUFBVqwYIFGjBgR3VcV+o4++milp6dr6tSpOuSQQ5qs5mOPPVbXXHNNrfvatGnTZHU0pnnz5unaa69VmzZtdPHFF+uwww5TQUGBpk6dqosuukiTJk3SWWed1eDP+9hjj2nChAn7Pe7JJ59USkpKgz//hx9+qAULFtTYNnXqVHXo0KHBnwsAQOgGAFRKSUnRoEGDamwbO3asunfvrvvvv1/Tpk3TGWecEZvimrlRo0ZJkubPn18jdM+YMUMnn3yyvvrqK3399dc1Qve3336rXr16KSsrS5L2+Nk0trZt2zb5czalgoIC/fa3v1W3bt300ksvKTExMbrvpJNO0pVXXqk77rhDxxxzjDIzM2NSY9++fZvsuVryzxoAYo0mCwDAPv3iF79Qdna2Xn/99Rrb33jjDZ122mk68sgjddxxx+mJJ55QOByO7r/lllt0+eWXa+rUqTrhhBM0YMAAnX/++Vq9erW++OIL/d///Z8GDhyoc845R0uXLt3jsceNG6dBgwZpwIABOvPMM/Xf//43uv/tt99W3759tXDhQp133nnq37+/jj/++D267BYWFmrixIkaMWKEhg8froceekiO4+zzfE866SRdd911e2w/88wz9etf/1qStG7dOl199dUaOXKkBg4cqPPOO0/Tp0/f62Meeuih6ty5s+bPnx/dtnPnTi1cuFCjR4/WqFGjNGPGjBr3mTdvno4++mhJe3Ytbszzr6/evXvrtdde02233aYRI0Zo8ODBuv7665Wfn1/juE8//VTjxo1T//79dfTRR+u+++5TaWlpdP8TTzyhn/3sZ3ryySc1YsQIHXPMMSosLFQwGNTkyZP1k5/8RAMGDNDll1+ud999V71799aGDRv05Zdfqnfv3nu8fnPnzlXv3r01b968Wut+9913tXXrVt166601ArckWZalG2+8UT//+c9VXFwc3f6///1PF154oYYOHaqRI0fq97//vTZv3hzdX5efS+/evSVFWrGrvt/buVfvXl5ly5YtuuqqqzRgwAAde+yxevzxx2v83tXWTfyJJ56o8VxPPvnkHsfufr+tW7dq4sSJOvbYYzVgwACNHz9en332WY3HrevPHgBaO0I3AGCfLMvSqFGjtGjRoujY7ueee05//OMfNWrUKD377LP6+c9/rhdeeEF//OMfa9x3wYIF+vvf/65bbrlFkyZN0sqVK3XllVdq0qRJuuqqq/Twww9r8+bNuvHGG6P3ee2113THHXfohBNO0HPPPafJkyfL5/PpxhtvVG5ubvQ4x3H029/+Vqeeeqqef/55DRkyRA8++KC+/vrr6P5f/epXmj59um6++Wb96U9/0vz58/Wf//xnn+d7xhlnaPr06TXC1sqVK/XDDz/ozDPPlOM4uuqqq1RWVqYHH3xQTz/9tDIyMvTrX/9aa9eu3evjHnXUUTVC9zfffCPXdTVq1Cgdc8wxWrp0aTSsrFixQjt27IiG7to01vlXcV1XoVCo1q/dPfLII3IcRw8//LBuuukmffHFF3rggQei+//973/r2muvVffu3fXUU09pwoQJev/993XNNdfUmNBr06ZNmj59uh555BFNnDhR6enpuuOOO/TKK6/oF7/4hZ566illZmbWuM7GjBmj9u3b67333qtR07vvvqtu3bpp6NChtZ7f119/rczMTA0YMKDW/UcccYRuvvlmdevWLfp4l112mTp27KiHH35YEydO1IIFC3Teeedp27Zt0fvt7+cydepUSdL48eOj3+/t3GvzxBNPqF27dnrqqad09tln69lnn9Wf//znWo+tzTnnnKPx48dHaznnnHP2OCY/P1/jx4/X3Llz9bvf/U5PPPGEOnfurGuvvVbvv/9+jWP397MHANC9HABQB5mZmQoGgyooKJDf79fTTz+t8847T7fffrsk6ZhjjlFGRoZuv/12/fKXv9Thhx8uSSopKdGjjz6qHj16SJLmzJmj119/XS+//HK0y/XatWv15z//WUVFRUpLS9P69et1+eWX1xhP3LlzZ40bN07z5s3TaaedJikSCq+55ppoaBg6dKg++eQTffnllxozZoy++uorLVq0SC+88IJ+8pOfSIp0897fJGJnnHGGnnjiCX366afR8bzTpk1TWlqaxo4dq23btmnVqlW65pprdOyxx0qSBgwYoCeffFKBQGCvjztq1Ci99dZb2r59u9q2bauvv/5aAwYMUFpamkaPHi1jjGbMmKGzzjpL3377rXw+n4YPH77Xx2us86/y7rvv6t13361135tvvqn+/ftHb/fq1UuTJk2K3l60aJE+/PDDaJ2TJ0/WmDFjNHny5Ogx3bp106WXXqrp06fruOOOkySFQiHdfPPNGjZsmKRIj4J33nlHN998s375y19KioTs/Pz8aMu2bdv6f//v/+lvf/ubSkpKlJycrPLycv33v//VlVdeudfzy83NVefOnev0WjiOo8mTJ+uYY47RlClTotuHDBmiU089VS+++KJuuumm6Pnu6+dS1Y27Q4cONbp0737uezNmzJhoqB0zZoyKi4v1j3/8Q9dcc40yMjL2ey4dOnSIjt3eW5fyl156Sdu3b9dHH30UfY2OPfZYXXrppXrwwQd1+umnR+d32NfPHgAQQUs3AGC/qlojjTFasGCBysvLNXbs2Bqtn1Vh7n//+1/0funp6dHALSk6NnbgwIHRbVVBoaioSFKkW/qNN96ooqIi5eTk6L333tNrr70mSXuE2sGDB0e/9/l8atu2bbTL8ty5c+X1ejVmzJjoMUlJSdGgvDddu3bVkCFDarQIf/DBBzr55JPl8/mUmZmpnj176o9//KNuvvlm/fvf/5bjOJo4cWL0w4baVH3IUDWB1YwZM3TMMcdEX4N+/fpp5syZ0dqHDBmihISEfdbaGOdf5fjjj9ebb75Z61fPnj1rHLt7eOvQoYPKysokSatWrVJubu4e18vw4cOVkpJS43qRpD59+kS/nz17tlzX1cknn1zjmNNPP73G7bPPPlulpaX65JNPJEmffPKJSktL9zkJmm3bNbpl78vq1auVl5e3x/MecsghGjx4sObMmVNj+75+LvtS/dz35pRTTqlx+8QTT1QwGNTChQv3e9+6mjNnjgYPHrzHhxJnnHGG8vLytGrVqui2ff3sAQARtHQDAPZry5YtSkhIiM60LWmvrYhbt26Nfr+3mZeTkpL2+lzr1q3THXfcoW+++UZer1fdu3fXEUccIWnPtYV3D6WWZUWPKSwsVEZGhowxNY6pmphsX84880zde++92rFjhzZs2KC1a9dGWxeNMfrrX/+qZ555Rp988oneffddeb1enXDCCbr77rv32i04MzNTvXr10vz589WtWzdt2rSpRiA++uijoy3L8+bN04UXXrjfOhvr/KXIBwHVW7P3pbYx0VV1VF0vd999t+6+++497lv9epGk5OTk6Pfbt2+XJLVr167GMbvfPvTQQzVixAi9++67Ouuss/Tuu+9q9OjRys7O3mvNnTp10qJFi/Z5Xps3b1bHjh2j51DbhGqZmZlasmRJjW37+rnsS/Vz35vdf35t27aVFPl5N5TCwkJ17dp1j+1V51/1AZm07589ACCC0A0A2KdQKKTZs2dryJAhsm1baWlpkqTJkydHx7tWdzAzPTuOoyuvvFJer1dvvvmm+vTpI4/HoxUrVuwxZnd/2rRpox07digcDsu27ej2qgC1L6eccoruu+8+ffrpp1q1apU6d+5cY2xwdna27rrrLt1555364Ycf9OGHH+qFF15QmzZtosuu1eaoo47SwoUL1bFjxz1C7THHHKNnn31Ws2bN0ubNm/c5nrsuDub8G1LV9XLTTTfVmJ29yt4+pJAUDc35+fnq1KlTdHtVGK/u7LPP1q233qqVK1fqm2++qdGVvTZjxozRF198oe+++67WDxeWLl2qs846SxMnTox+OFLbBGF5eXlNuoTa7uG6qqbqH0Ts3oJfl1b26tLT05WXl7fH9qptLWXJOABoKnQvBwDs09SpU5WXl6cLLrhAUqRruNfr1ZYtW9S/f//ol8fj0cMPP6wNGzYc8HPt2LFDq1ev1vjx46OPKUlfffWVJNVr5u1Ro0YpFArp008/jW4LBAJ7dGeuTVpamo4//nh99tln+uijj3TGGWdEW4wXLFig0aNHa9GiRTLGqE+fPvrd736nXr16adOmTft83NGjR2vx4sWaPXu2Ro0aVWPd80GDBik5OVn/+Mc/1KZNm4NeLupgzr8hde/eXe3atdOGDRtqXC/Z2dmaMmXKHq3E1Q0dOlS2bUe7jVf5+OOP9zj2pJNOUmJiou666y4lJyfrhBNO2GddZ5xxhrKysjRp0iSVl5fX2BcOhzV58mR5vV6dcsopOuyww5SVlaVp06bVOG79+vXKycnRkCFD9vcy1HAw691/+eWXNW5/8MEHSkxMjA7ZSElJ0ZYtW2ocU30Cv7o8//Dhw7VgwQJt3Lixxvb3339fWVlZOvTQQw+wegBonWjpBgBIkoqLi5WTkyMpEm537NihGTNmaOrUqTrjjDN04oknSoq0cv3qV7/SY489puLiYo0cOVJbtmzRY489JmNMtCv4gWjXrp06d+6s1157TR06dFBaWpq+/vprvfrqq5JUr7GiVbOC33777dq2bZs6d+6sV199Vdu3b9+je3JtzjjjDF133XUKh8M688wzo9v79u2rhIQE3XTTTfrNb36jzMxMzZw5U0uXLtXFF1+8z8ccPny4AoGAvvjiC91111019nm9Xo0YMUKff/65TjzxxD26hdfXwZ7/9u3bo9fD7mzbrnPXc9u29bvf/U533HGHbNvW8ccfr6KiIj399NPasmWL+vXrt9f7du3aVWeffbYefvhhBYNBHXHEEfrkk0/0xRdfSKoZHhMTE3Xaaadp6tSpuuCCC+Tz+fZZV2pqqv70pz9pwoQJOuecc/SLX/xC3bp1U25url577TUtWrRIU6ZMiba233DDDZo4caJ+//vf64wzztCOHTv05JNPKj09PTrJW12lpaVp/vz5+vbbb/c7cdruPv74Y2VnZ2v06NHR38/rr78+OpTjuOOO0wcffKCBAwfq0EMP1dtvv73HrPpVvQ+mTZumgQMH7tGV/Je//KXef/99XXrppZowYYIyMjL07rvvatasWXrggQcO6kMDAGiNCN0AAEnSkiVLdN5550mKjFtOTk5Wr169dNddd+2xrNBvf/tbZWVl6R//+If+8pe/KD09XaNGjdINN9yg1NTUg6rj6aef1v33369bbrlFPp9PPXv21DPPPKMHHnhAc+fO1UUXXVTnx3ryySc1efJkPf7446qoqNCpp56qc889d4/1hmtz7LHHKjU1VV27dtVhhx0W3e73+/XXv/5VU6ZM0f3336+ioiJ169ZN99xzj8aNG7fPx0xJSVH//v21YMGC6CRq1VV1eR49enSdz3FfDub8p0+fvte1x1NTUzV37tw613HOOecoOTlZf/nLXzR16lQlJSVpyJAhmjx5cq1jh6v74x//qKSkJP31r39VcXGxRo0apV//+td66qmn9pgb4LjjjtPUqVP3+3Oocswxx+iNN97QX//6Vz333HPKz89XRkaGjjzySE2dOrXGhH/jxo1TcnKynnvuOV177bVKSUnRmDFjdMMNN9R5nHyVq6++Wk8//bSuuOKKOi/hVuW2227TBx98oJdffllZWVm69dZba3zYM3HiRIVCIf35z3+Wx+PRqaeeqt///vfRlQakyORr7733nm655RaNHz9+jw+AsrKy9M9//lNTpkzRfffdF/3A4+mnn9ZPf/rTetULAJCMy2wXAAAgDhUUFOirr77SmDFjaowj/vOf/6y3335bs2fPrnH8nXfeqYULF+51qTMAAGKBlm4AABCXEhMTdf/996tPnz665JJLlJSUpJycHP3973/XVVddFT3u1Vdf1apVq/Svf/1LDz30UAwrBgBgT7R0AwCAuLV06VI9+uijysnJUVlZmQ455BCdf/75+vnPfx4d937dddfp66+/1nnnnadbbrklxhUDAFAToRsAAAAAgEbC9JMAAAAAADQSQjcAAAAAAI2E0A0AAAAAQCMhdAMAAAAA0EgI3QAAAAAANBLW6d6HLVu2KJ4ndzfGKDs7O+7rBGrD9YvmjOsXzR3XMJozrl/Ei6prcX8I3fvgum6z+EVuLnUCteH6RXPG9YvmjmsYzRnXL5oLupcDAAAAANBICN0AAAAAADQSQjcAAAAAAI2EMd0AAAAA4p7jOHIcR5JUXl6uYDDImG40GmOMLMuSZR18OzWhGwAAAEDccl1XxcXFKi8vj24rKipSOByOYVVoLRISEpSSkiJjzAE/BqEbAAAAQNyqCtzJycnyer2SJK/Xq2AwGOPK0NIFg0GVlJRIklJTUw/4cQjdAAAAAOKS4zjRwJ2UlBTdXhW+gcZUdZ2VlJQoOTn5gLuaM5EaAAAAgLhUNYabkI1Yqbr2qq7FA0HoBgAAABCXmCgN8eJgrkVCNwAAAAAAjYQx3QAAAACaneKwVHHgPX7rzW9JKXbdjp00aZI++uijve5/5JFHNHjw4L3u//LLLzVw4EC1adNmv891/fXXa9CgQfrlL3+5x76XXnpJr7zySvS2x+NRVlaWfvazn+niiy+WxxP/cXDBggX63e9+py+//DLWpRyw+H+VAQAAAKCa4pD0bp5HYR34Mk71ZcvVWVmhOgXv3/zmN7ryyislSV988YWmTp2qZ599Nro/LS1tr/fNzc3VXXfdpX/+858HXbMk9evXT/fcc48kKRAIaOnSpXriiSe0ZcsWTZw4sUGeA/tG6AYAAADQrJQ7atLALUWer8KpW2t3SkqKUlJSJCk663W7du3q9DwNPY7d4/HUeO6OHTsqPT1dv//97zVu3Dj17t27QZ8PeyJ0AwAAAEAT2rp1q55++mnNmzdPxhidcMIJuvrqq+Xz+XTBBRdIki644ALdfPPNOvnkk/Xaa69p2rRpys/PV3p6uv7v//5Pl1566QE//9ChQ9WpUyd9/fXX0dD9/vvv6x//+IcKCgrUu3dvXX/99erevbsk6bzzztMll1yi9957T6tXr9aAAQN044036umnn9bs2bPVpUsX3X777TrssMMkSdOmTdPUqVO1efNmJSUlaezYsfrNb34j27Y1adIkpaWlKT8/XzNnzlRaWpquuOIKnXjiiZIiy3NNmTJF33zzjdq1a6fTTz/9IF7p+MBEagAAAADQRILBoG644QaVl5frscce01133aVZs2bpueeek6RoN/Rnn31WY8eO1UcffaQ333xTf/jDH/S3v/1NF198sV5++WX9+OOPB1XHoYceqrVr10qSZs6cqZdfflnXXXed/vKXv2jAgAH67W9/q507d0aPf/HFF3XFFVfoiSee0PLly3XFFVdo6NChevbZZ5WQkKC//OUvkqScnBw98cQTuuKKK/S3v/1NN9xwgz744AP973//iz7WO++8o169eumll17ST37yE02ZMkXFxcWSpIcffljr1q3TY489puuuu05Tp049qPOMB4RuAAAAAGgic+bMUX5+vm677TZ1795dQ4YM0fXXX693331XpaWlSk9PlySlp6fL7/crOztbN998s4YOHaqOHTvqzDPPVNu2bbVmzZqDqiM5OVmlpaWSpH/+85/6xS9+odGjR6tLly66/PLL1aFDB33yySfR408++WQNGzZMvXv31pAhQ3TYYYfpzDPP1GGHHaYTTzxR69atkyQlJibqpptu0k9+8hN17NhRxx13nA4//PAa9fbo0UMXXHCBOnXqpMsuu0wVFRVas2aNiouL9cUXX+i6665Tr169NGLECF1yySUHdZ7xgO7lAAAAANBE1q5dqy5duig1NTW67cgjj1Q4HNbGjRujY8GrDB48WEuWLNHzzz+vtWvXasWKFdq+fbvC4fBB1VFaWqrk5ORoTc8++6yef/756P5AIKD169dHb3fs2DH6vc/nU4cOHWrcDgQCkqTevXvL7/frpZde0urVq7V69Wpt2LBBw4cPjx7fpUuX6PdVNYRCIW3YsEGO46hnz57R/UccccRBnWc8IHQDAAAAQBPx+Xx7bHMcp8a/1U2bNk1PPfWUTjvtNB177LH69a9/rd/97ncHXceqVat00kknSZLC4bAmTJigIUOG1DimKhBLkm3XnEHOmNonspszZ45uv/12nXTSSRo5cqQuvfRSPfLIIzWOqW2psuoTyFX/vjksa7Y/zf8MAAAAAKCZ6Nq1qzZs2KCioqLo0mGLFy+Wbdvq1KmTSkpKahz//vvv65JLLtH5558vSdq5c6d27NhxUDXMnz9fubm5OvbYYyVJhxxyiPLy8mq0QP/pT3/SmDFjdPTRR9frsadNm6ZTTz1Vv/3tbyVFWrA3bdq0R6CvTdeuXeXxePTDDz9o6NChkqTly5fX6/njEaEbAAAAAJrIsGHD1LFjRz3wwAO68sorVVhYqMcff1wnnHCCUlNTo93GV65cqfT0dKWnp2vevHk6+uijVVpaqr/85S8KhULR7tz7EwqFtG3bNkmRLuPfffednnnmGZ122mnR2cnPOeccPfTQQ+ratav69eunadOm6csvv9QvfvGLep9fenq6vv/+e61atUrGGL322mvatm1bnepNTk7WiSeeqMcff1w333yzKioq9PLLL9e7hnhD6AYAAACAJmLbth544AE99thj+vWvf62kpCSdcMIJ+tWvfiVJysjI0M9+9jPdfffduvLKKzVhwgT9+c9/1uWXX642bdro+OOPV0JCglasWFGn51u8eLHOPvtsSVJCQoI6duqkCy+8UOPGjYseM3bsWO3YsUMvvviiduzYoW7duumBBx6o0fJdV5deeqn+9Kc/6ZprrlFycrJGjhypM888s871Xn/99Xrsscd04403KjU1VePGjdMzzzxT7zriiXEbevX1FiQ3N7fBF6dvSMYYdejQIe7rBGrD9YvmjOsXzR3XMJqLYDCogoICZWRkyOv1RrdXGK/e2OwqrNrHFTcGW67Oygopxd7/sbHmulLYlSpcqdyRXBlJVb/rRj7jKtGSvKxltV97uwalXX9L94eWbgAAAADNSopHOisrpIo95x1rNH5LcR+4w64UcCJBOxwN2lUfTOz6gCLgSoGwkddxlUT4bnSEbgAAAADNTood/yG4KbhuJESXO1Jwj44re+sJENkedKXCyvCdaEleI+1lUnIcBEI3AAAAADQjriuFXKnCiXQhd/do1a6rXeE7GDbyyFWSTfhuaIRuAAAAAGgGwpVBu9yRnH10H6+/yH1Dkooqw7ffkiwjWdr1L0H8wBC6AQAAACBOHVj38QO1K3yHnN0f340EcNUexo1qfh/9KKAOJbpu5OMDd7fvLSN5WkDQJ3QDAAAAQBxpuO7jB6q25zFyJDlVBUq7JkTfa11uNIAbRUJ01d2dand393J/W67aeGvd1awQugEAAABAu7JkY3ejrt6a61QF0GpBNLCf2cdjr661mOh5SpHu8a0RoRsAAAA1uG6kG2u5I5U7RhVO5Vvsat1Gq3cdrXFb1bqJKvKfGre1qwupZaQMj6tkZqBGjLmVrcqlTuT6tBXp1mybXf9a9ci8VQE67O76clQtYGtvrbu7p9J4Cto4UIRuAACAViLkSqVhqdQxyt9ertxio3LHqMwxKg9HAkdVyHaa8M1+gnGV5XOV5XWV6XXVzuvKx7rBaCJBRyoJS6FqLcshSaGq5ujK7ZYis3pXD+JSJEiHXSmsaiFbVfeTagbp/f1eEbJbIkI3AABAC+C40s6wVBI2KqkM1qWVt4vDRqWOFHSrvaHfXiwjq1rLdOze7Je7RusrpA0VJjp2NdWW2ntdZfoiQbyNJxJ6XO1qMdy99TBy28h1pXQPwb2lK1GJAiZwwPcPV5+crA7Xitf1K8FNqhbEq6sZrB+47Walt2mja2+8JXrsjM8/1aOT7tU5F12q8y7+ZfToN197VbO+mq7Jz72o8T87VndNflRHDhxc7/OZ+upLWrwwR/dMeWyvx/yw+Hu9/c+/68cli+W6jnr06q3zLrlMvfseWe/nq03hjh1avChHo489vtb9X3z0X/3rby/rmb9P1fcLF+iuG3+rNz+ZfkDPVVpaqq+//lonnXSSJOm8887TpZdeqlNOOeWA628shG4AAIBmKOBIeUGjvIDRlsp/w9WCgKkMAW7lrdq40aPiQfVajHaGpeKwtLK8qvO6G91XNzWDe5bXURtP/boII36VqET/9f9XjnGa7Dkt19JRJacqwU2uZW/NC6tP/wH66rNPamz7fuECtW2XqcU5C6RqofvHJYvVb+AgSdILU99WSmpaQ5cuSZr19XQ9Nuk+nXHOefr55VfItmx9+t9puuvG3+nOBx/WEUf2P+jn+PtfnpXraq+he/RxYzVk5KiDfh5J+te//qUFCxZEQ/dzzz2nxMTEBnnshkboBgAAiHNuZSt2XtBoa8BoS8BSYViSjIzcWoN1LFuuG0rNc6jv+ewe3G1ZirSYt69sPc/0RoI5aw83PxWqaNLALUmOcRQ0FXsJ3TX1OXKA/vnSX1RWVqrExCRJ0vc5C/R/55yn1158XhUVFfL7/ZKkH5cu0U9POU2S1KZtu0apvbSkRM8+Mlln//wijf/5xdHtl149QXlbtuhvLzyr+x976qCfx93Pp3h+vz963gf/XDWfLCMjo0EetzEQugEAAOJA0JHKnF3dwssq/y0KR4J2oLJreCRk70qJLSFcN6bqr48jo20ho+2hXa+h17jq5HPV2e+os99VEpO6oQH06H2EPB6PVv34o/oNHKRteVuVv3WLTjj1dL3z+mtatvg7DRgyTJs2rFdJ8U71HTBQkmp0L//1L87Tmeeer+mffKw1K1eoc9dD9Ovf36QevXpLktavXaPnHpmsVSt+VK8+fdXlkG57rWfurJkqKy3Raf9v/B77LrnqGlVUVERvL1vyvf72/LNavXK50jMydOa5F+qk/ztTkvTkg5OUkpaq7fn5mjtrplLT0nThL6/QsT87SVNffUlffvKhJGnxohw98/epGv+zYzX+5xfro3+/p959+2nkMT+Jdi+v8p9339Ibf3tFknTi6Wfo/EsvlzFGU199SUsWLtBTj+/qLl/VhVySXnklcp/jjjtOX375ZY3u5Y7j6F//+pfee+89bdu2TX379tV1112n7t27R+9z66236h//+Ic2btyoI444Qrfeeqs6duxYr59zXTHSBQAAoImUhaU15Ubzdlr6usDWR9ttvZ3n0WtbPPrHVq/eyffqo+0efV3o0bydln4otbShYlfglgjZDaH6axh0jdZVGM0ssvVGnlfv5UVe+9wK02TLGwWd/bcQonnxer3qeURfrVi2VFKklbt7r95KTExS3/4D9X3OAkmRruVdux2m1LT0Wh/nX6++pP93/oWa8vxflZScrL8+9bgkKRgIaNLtN6t9x4566OkXdNSYY/XJB+/vtZ61qyKhPTEpaY997Tt0VNdDu0mSNqxdo7v/8Dv16T9ADz79gs696Jd69fmnNXvGV9HjP3zvHXU/vJceeeFlHXXMsXrusSkqKSnWGeecp9HHHq/Rxx6vPz35XPT4ubNm6r5Hn9TPf3VVrbV99dkn+uOfJ+ua39+sD99/R19+/OE+XtmIsWPH6txzz1W/fv301ltv7bH/lVde0dSpUzVhwgS98MILys7O1k033aSysrLoMS+//LKuu+46PffccyosLNSLL7643+c9ULR0AwAANJKSsLQlYJQbMMoNWNoZ3tVaLe07QMfXeOuWrfrPoSBsVFhi6fsSI1uuOvlddfZHWsJTDrIVvMKRCkJGBSGjwpC0I2S0I2hU4UaeK83jKsMTmQQu3eMq3XaV5tk1Szaal779B2j5D5Whe+GC6ORo/QYM0tdffCpJ+nHpYvWrbOWuzXEnnqIRR4+RJP3f+PM05d47JEmLFszTzqIiXXndDUpITFTnQw7V4oU5KiwoqPVxSoqLlZScst+aP/3vNHXrebh+fvmVkqTOXQ/RhnVr9d6//qmRx/xEknRo9x4667wLJUnnXXKZPnjnTa1fs0ZH9DtSPl+k63h6ta7ePzvtDHXueogkaUXl61Hdtb+/WV27HabuPXvptHHn6ONp7+v4k/Y9GZrf71diYqI8Ho/atavZJd91Xb3zzju64oordPTRR0uS/vCHP+jCCy/UJ598ojPOOEOSdM4552jIkCGSpDPPPFPvvPPOfl+fA0XoBgAAaABV4663VI653hwwKnXoEt4cVf18wjLaUCGtr4iMCU+xXSVbrrxWZOkor3HlMZHvPZYqv3ejy0kVh40KQlJBMBK0K6I9FtxqU8Pteq4dIaOCUGTJql3XiKtkK7KeeUZlGM/2RcJ4axZ23Mhi2nGsT/8B+vKTjyRJixcu0FW/vVGS1G/gIL3y/NMKBgL6cckSnf3zi/b6GB07d45+n5icpFAoJCnSIt2xcxclVJs4rGfvIzRv9qxaHyc1LV3FxTv3W/OGdWt1+BF9a2zr3fdIfTxtVyt6x85dot8nJUfGt4cr66pN+w4d9rovISFRXbsdFr3dvefhmvbmv/Zb577s2LFDRUVF6tOnT3Sbx+NR7969tXbt2ui2Ll2qnUfSrte2MbTyX1cAAID9cyqXFipzImOty8KqXN9aKq1cjqsoGqqqAhUhuyWo/rMrrlx+bddWU2Ml5j0ntNvzWlDlMXvrxVDbsSWOVBKQNgeMnMptKZarrgmRcegdfG6Lbg133MiyXoFwZK35kCsVhcOSN9aV7Vvvvkdqx7Z8rVj2g7bn5+uIfpHZwbt2O0xJycla8t1CrV+7Wn0HDNrrY3g8ez/J3ScS29ex3Q/vpfffeF1lpaV7dDFf8t1CTXvrDV1/y+3y+Xx73NdxwnKc8D6fx91HvxxvLY9Zxey2nIDjuvJ4IxHV1DLDYTgc3mPb7mo7B0lyHEeOs2vyPY+nZhTe/fVsSIRuAACASkFH2h4yyg9GvnYEI8E6UMu6vFVtkVUhqOYetGy7fsb7/lk35LVQFbgjih2jH0otLS2NdE3v6HfVtXIyuOQ4agF23f29RjUVhaXtQaNtlb+D5UFXgyRZYVNtlvnm8QlDQmKiDut5uD754H317N1H/oQESZEw2bf/QH3x0X/VsUvXGl2x66prt8O0ecMGlZQUK7my2/jqFcv3evyg4SOUnJKi/7z7ls6+sGbL+gdvv6nt+XnyJySoU5dDtGRRTo39Py5drE5dDqlTXcbUb36CstJS5W3JVVZ2pDV8xQ9L1amyK7rH46kxBru0tFQF1brP1xbKJSklJUVt2rTRkiVL1LNnT0lSKBTSsmXLNHTo0LoX14AI3QAAoFUKudKO4K6AnReMLDEl1d5avTvGXCPWdu8Gv6HClmSUbu9qBU+xI93dPSbSG/tglkdz3ciHTGE3Mj693DEqd1T5FfmAqurfsnBkX8A9sJ4eVUvhJbmmWsZuHmG7uj79B+qTae/rtHE1Zw3vN2CQ/v7iczruZycd0OMOGDJMme3b65kpD+r8Sy7T8h+Waub0z9Vzt67hVRITk3Tpr3+jpx6apEAgoDHH/1TBYFAf/ftdzZ89S3dPflSSdNIZZ+k/77yp1158XsefdIp+XLJYH77/ri6/9vo61eVPSNS6Nau1LT9P7TKz9nu8ZVl64s8P6JfX/EabN27Qf959SxP+cKukSHf5119+UV9++aV69Oihl19+WZa1ax7whIQEbdu2TZs3b95j1vFzzz1XL730kjIzM9W5c2f94x//UCAQ0NixY+t0Hg2N0A0AAFoU14280a9wpIBrVOGo8sso4EollUtwFYVrRuvd14QmUKN52XX9FoaNiiong9udpUhXdLsyiEe+IsHcrey6HVZk5vaqr6qgvWevjurPXjU54N6PqY+WMiSjT/8B+vebU9Vv4KAa2/sNHKSK8vJ9di3fF4/Ho4n3/VnPPPygbrrmCh3SvYdOOuP/aeWPy/Z6n5/89GdKTknRu1P/oQ/fe1vGGPXodYTuefhxHX5EZPxzVvts3XLvn/S3F57Rv9/6lzKz2uuSq67V2JNPrVNdPznhRD1412268arL9dc339vv8ckpqRoy8ijdeeNv5fP5dO5Fv9RRYyITtvUfPFRnjD9XkydPlmVZOvfcc5Wfnx+975gxY/T+++/r0ksv1euvv17jcc8991yVlJTooYceUmlpqfr166dHH300Zmt5G7cxO6/vxyeffKIJEybU2HbSSSfp8ccf15IlS3TnnXfqxx9/VM+ePXX33XfryCOPjB43bdo0Pfroo8rLy9Mxxxyje++9V23btpUU6Y8/ZcoUvfnmm3IcR+PHj9eNN95Y45ORusjNzW3Uvv0HyxijDh06xH2dQG24ftGccf3Gj4AjLS21tK7cREN1sJau4BHVp6ZqGW/ogZYuyQ1qmMlTSnobmWpjictNiWYl/0eOcfZx74ZluZaOKjlVCW5ykz1na2fLVZsYj90PBoMqKChQRkaGvN6axVS9H9ifmLZ0r1ixQscff7zuvffe6Da/36/S0lJdeeWV+r//+z/96U9/0j//+U9dddVV+uSTT5SUlKRFixbptttu0913360jjjhC999/vyZOnKjnnousB/fSSy9p2rRpevLJJxUKhfSHP/xB7dq10+WXXx6rUwUAAA2o3JGWlFhaWmoptNeQvTtar4GWIsFN1lElpypoKprsOb2un8CNAxLT0L1y5Ur16tVLWVk1+/u/+eab8vv9uummm2SM0W233aavvvpKH374ocaNG6e///3vOuWUU3TWWWdJkh588EEdf/zxWr9+vbp27apXX31V1113nYYNGyZJ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atKkSeratatuuukmXXvttcrKytIHH3ygbdu2OTdrBf7XvvvuO1VWVqpTp07y8fFRTU2Npk+frgEDBuj++++XVPes+UmTJunOO+/U4MGD1alTJ+3cuVN79uzRiy++qODgYGM/BHAZSrcb2rhxozZt2qRJkyapsLBQp0+fltVqVWJiom677TZJdcts7Ha7s3ifOHFC+fn5cjgcuvrqq9WuXTsjPwKauC+//FKjRo3SwIEDNXbsWPXt2/cn91Ndfq/rgQMH9O2336qmpka33HKL2rdvb8TYgCRpzZo12rZtm5KSkvTVV1/p448/1tatW9W9e3fnexwOh2pra8kw3NKyZcv08ccfO08Sde/eXSkpKfLx8ZHUML8nT57U5s2b9fnnn+vSpUvy9vbW8uXLG+Qd+F/KyMhw5veaa67RjBkz1KtXL5WVlal58+aS/rPHxjfffKP09HQVFRWpqqpKdrtda9asIb9wO5RuN/Tkk0+qS5cuevTRRyVJX3zxhd555x3l5OQoJSXF+Xxuh8Mhh8PB5hBwO999953zWcVdu3bVxIkTde2118psNjs3NCG/cEeVlZWaOnWq4uLidM8990iSRo8erfj4eN1xxx3y8/NzvpcMwx29+eabWrZsmTIzMxUSEqJPPvlEu3bt0siRIzVixIgGqzTqT37W1NTIarWqpKREzZs35wohDJOdna2FCxdq3bp18vHxUWFhoe67774G76k/jqjPb0VFhUpLS3Xx4kWFh4frqquuMmh64JdxpOBmrFarzp49q7KyMudr1157rR566CHdddddWrZsmT799FNJdfeoeHl56b333pPVajVqZMCp/hxedHS0Bg0apMWLF6u6ulqrVq3SoUOHJEmnTp2S9J/8fvTRR4bNC/xYdXW1CgsLVVJSIqmulJw8eVIbN27UH//4R6WlpengwYOSyDDcU1FRke6++2717NlTUVFReuCBB2SxWJSTkyOp4f2t9Ss1fHx8FBgYqMjISAo3DFVeXq7OnTsrNjZWsbGxGjp0qPLy8pSVlaVTp07JZrM1KNySFBgYqLZt26p79+4UbrgtSrebKC4u1vnz5+Xr66sxY8bo7bffdh7YSVJUVJRGjhypG2+8UVu2bNHx48clSd9++63S0tJUXFxs1OiAiouLVVJSosrKSudrJ06cUEFBgdatWyer1aq1a9dq4sSJysjIkM1mk1T3vM0ZM2aoqKiIDadgqPrv4JCQED3yyCNasmSJ5s2bp4EDB6pdu3aaPHmyHnzwQZ06dUpr167VkSNHJJFhuJ+SkhLl5uY6f/b399cdd9yh/Px8Wa1W547O9VavXq2srKz/9ZjAzyovL9fRo0edt0KMHDlSTz31lFJSUpScnKyMjAxZrVZn4V6zZo2+/PJLI0cGrojZ6AFQtxHaJ598orNnz6pv377q1KmThg0bppdeekmBgYHq2rWrJKlDhw4aNGiQli1bpuPHjysqKkpRUVHKzs5WUFCQwZ8CTdWP83vLLbcoLi5ODzzwgHJyctSsWTNt27ZN/fv3V3l5udLS0px7EURHR+uvf/0rm/XAUJdnuF+/foqJidGCBQuUk5Mjh8Oh2bNnq1evXpKkXr16aeXKlSosLFSXLl3UoUMHMgzD5eXlqX379goODta9996rixcv6ujRo+rUqZOkuiuB5eXlslqtzu9fqW510oULFxQVFWXU6ECD/A4ZMkS7du3S6tWrFRERofDwcP35z392ruz88MMPtWXLFiUmJqqkpERHjhzRH/7wB6M/AvCbuNJtsF27dunNN99UcnKykpOT1b17d23dulW5ubkKDQ3V5s2bdfjwYef7r7/+evn5+Sk7O1tS3dIwCjeMcnl+Z86cqW7dumnRokVau3atoqOjdfDgQV26dElpaWny8/NTx44d9e677yo3N1e1tbVq3rw5ZQWG+vF3cLdu3bRhwwadPHlSzzzzjNq3b6+qqirn+/v27StfX199/PHHkqRmzZqRYRimtrZW33//vZKSkrRz505VVVWpR48eSk1NbbCZn91ul5+fn/z9/Z17EOTk5Mhms2n+/PmKjY016iOgCbs8v2+88YYuXbqk4OBgDRw4UAUFBfroo48UHR2t8PBwtWzZUmPGjFHXrl2dKznCwsK0dOlS8guPwJVugxUVFalnz566+eabJdXdTxgTE6PU1FRVVVWpT58+WrVqlSZMmKDevXtLkkJDQxUREWHk2ICkn+a3pqZGHTt21IwZM/T9998rNjZWkydP1qlTp7Rjxw75+/srLi5Or776qnr37i2LxWLwJ0BT9+MMW61WRUdHa8aMGbLb7erWrZveffddtWvXTm3btpUktWzZUh07djRybEBS3ZXqFi1aKCQkRCtWrFBtba3i4+PVokULSQ03nKp/fry3t7eee+45bd++XW+99RbHEzDM5fldvny57Ha7JkyYoFGjRmnx4sXKysqS3W53vt/X11c33nij9u7dqwsXLig0NFS+vr4GfgLgylG6DVK/e6iPj48qKiqcr/v4+OiOO+7QypUrNW3aNBUUFOiGG27QhAkTdP3118tms+ngwYOaMmWKgdOjqful/Hp7e2vAgAF6/vnnlZycrNLSUvXs2VPr1693HgRu27ZNly5donDDUL+UYbPZrAEDBigzM1PTp09XcHCwevXqpcWLF6tjx44qLy/XRx99pAkTJhg4PVCn/r7WkJAQtW3bVsuWLZPVatX48eNlsVicV7V9fHxkt9vl5eWl5557Tps2bdJrr71G4Yahfi6/lZWVmjZtmubMmSNvb28dOHBAGRkZmjVrlqqqqvT5558rLCyMYwh4HJaXG6R+99Dbb79d//znP/Xqq69Kkry8vFRbW6ubbrpJaWlpOnbsmFq3bq0VK1aoXbt2io2N1Y4dOxQTE2Pk+Gjifiu/t956q9LS0hQWFqbBgwc77yu02+0KCQnhOfIw3G9luH///lq8eLEcDofsdrvat2+v/fv3q6qqSlu2bHFmGjCSw+HQ8ePHVVZWpvT0dK1du1arV6/W5s2bG9wW4eXlJYvFooyMDGfhvuaaawycHPj5/K5bt06rV69WSEiIUlNTdd9992nv3r3q16+fHnnkEb311luaM2eO/P39jR4f+H/hSrfBYmJiNHfuXK1cuVLBwcEaPHhwg+IyaNAgFRYWauTIkerfv7/R4wIN/Fp+b7zxRt17773OR4Q5HA7nWW3AXfxahm+++WYNHDhQJpNJM2fOVHV1tcxmMzmG2zCZTGrVqpUGDRokq9WqO++8U0uXLlVycrIk6eGHH1ZAQID69OmjM2fOaOfOndq+fTv3wMIt/FZ+p06dqkcffVTjxo1TTk6OWrVqpcjISOetPoAnoXS7geHDh+v8+fN69tln5XA4NGTIEHl5eSkwMFCBgYHKzc1t8DxCwJ38Un6DgoIUFBSkffv2kV+4tV/LsK+vr/7xj3/IZrPJz8/P6FGBn7BYLEpKSpKvr6/sdrsGDx4sSc7ikpiYqFatWmnUqFGKj49nPwK4lV/Lr8lkUmJiooKDgzV06FCDJwX+O5RuN2CxWJSQkCBJmj9/vkpKSjR8+HD5+vqqoqJC4eHhlBa4rd/Kb6tWrcgv3NqvZbiyslKtWrX6ybONAXdSv5mUyWSSw+FwFpfU1FRVVFRo5syZWrBggfMeb8Cd/Fp+q6urNXnyZO7hhsczORwOh9FDoI7VatU777yjRYsWKSIiQl5eXiouLtbLL7+sbt26GT0e8KvILzwdGUZjUH9YZzKZ9Oabbyo9PV3vv/8+j7aDRyC/aKwo3W7o5MmTys/Pl9Vq1TXXXKPIyEijRwKuGPmFpyPD8HSXF5dLly4pKCjI4ImAK0d+0RhRugEAABqZ+sfi1f8T8CTkF40NpRsAAAAAABdhRw0AAAAAAFyE0g0AAAAAgItQugEAAAAAcBFKNwAAAAAALkLpBgAAAADARSjdAAAAAAC4CKUbAAAAAAAXoXQDAAAAAOAilG4AAAAAAFyE0g0AAAAAgItQugEAAAAAcJH/A3+qKYdWNu4kAAAAAElFTkSuQmCC",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACAQklEQVR4nOzdd3wUdf7H8ffMtjSSQICEZgEFBelNECz8sNdDrHeWkxMbdk8EG1YUUU9BVOztTlTukLMheooiItKVJp1QEhKSEFK3ze+PTZYsJJBANrtJXs/HI2Z3Znb3M0kY973fZliWZQkAAAAAANQ6M9IFAAAAAADQUBG6AQAAAAAIE0I3AAAAAABhQugGAAAAACBMCN0AAAAAAIQJoRsAAAAAgDAhdAMAAAAAECaEbgAAAAAAwoTQDQAAUMcsy2rUrw8AjQmhGwCgq666Sp06dQp+HXfccerZs6eGDRumd999V16vN9Il1pr77rtPQ4YMqdPXvP3229W/f//9tv/222/q1KmTevXqJY/HE7Lv999/V6dOnTRjxgxt3bpVnTp10r///e/DrqU65z9kyJCQv4d9v+68887DriNaZGZmasKECTrrrLPUvXt3DRo0SDfeeKMWLlwYttecMmWK3njjjYMeN2TIEN13332SVKt/A2vXrtUVV1wRsq1Tp06aNGnSYT83AGB/9kgXAACIDp07d9bDDz8sSfL5fNq9e7d++OEHjR8/XgsXLtQ//vEPmSaf1R6KAQMG6KuvvtKGDRvUvn374PYff/xRycnJysvL05IlS9SvX7/gvvLQd9JJJykpKUnTpk3TEUccUWc1n3LKKbr55psr3de0adM6qyOcFi1apFtuuUVNmzbV1VdfraOPPlp5eXmaNm2arrrqKo0fP14XXXRRrb/uCy+8oFGjRh30uMmTJyshIaHWX/+rr77SkiVLQrZNmzZNaWlptf5aAABCNwCgTEJCgnr06BGybciQIWrfvr2eeOIJffbZZ7rgggsiU1w9N2DAAEnS4sWLQ0L33LlzddZZZ+mHH37Qjz/+GBK6f/31V3Xs2FEtWrSQpP1+N+HWrFmzOn/NupSXl6c77rhDRx11lN566y3FxsYG95155pkaOXKkHnroIQ0aNEjNmzePSI2dO3eus9dqyL9rAIg0miwAAAf0l7/8Rampqfrwww9Dtn/88cc699xzdcIJJ+jUU0/VpEmT5PP5gvvvu+8+jRgxQtOmTdPQoUPVrVs3XX755dq4caO+++47nX/++erevbsuueQSrVq1ar/nHjZsmHr06KFu3brpwgsv1Jdffhnc/+9//1udO3fWsmXLdNlll6lr16467bTT9uuyu3v3bo0ZM0b9+vVT37599cwzz8jv9x/wfM8880zddttt+22/8MILddNNN0mStmzZohtvvFH9+/dX9+7dddlll2nOnDlVPueRRx6pNm3aaPHixcFte/bs0bJlyzRw4EANGDBAc+fODXnMokWLdNJJJ0nav2txOM+/pjp16qQPPvhA999/v/r166eePXvq9ttvV3Z2dshx33zzjYYNG6auXbvqpJNO0uOPP66ioqLg/kmTJun000/X5MmT1a9fPw0aNEi7d++Wx+PRxIkTdfLJJ6tbt24aMWKEZsyYoU6dOmnr1q36/vvv1alTp/1+fgsXLlSnTp20aNGiSuueMWOGdu7cqbFjx4YEbkkyTVP33HOP/vznP6ugoCC4/aefftKVV16p3r17q3///rr77ru1Y8eO4P7q/F46deokKdCKXX67qnOv2L28XGZmpm644QZ169ZNp5xyil588cWQf3eVdROfNGlSyGtNnjx5v2P3fdzOnTs1ZswYnXLKKerWrZuGDx+ub7/9NuR5q/u7B4DGjtANADgg0zQ1YMAALV++PDi2+9VXX9WDDz6oAQMG6JVXXtGf//xnvfbaa3rwwQdDHrtkyRK9//77uu+++zR+/HitX79eI0eO1Pjx43XDDTfoueee044dO3TPPfcEH/PBBx/ooYce0tChQ/Xqq69q4sSJcjqduueee5SRkRE8zu/364477tA555yjqVOnqlevXpowYYJ+/PHH4P6//e1vmjNnjkaPHq2nnnpKixcv1hdffHHA873gggs0Z86ckLC1fv16rV69WhdeeKH8fr9uuOEGFRcXa8KECZoyZYqSk5N10003afPmzVU+74knnhgSun/++WdZlqUBAwZo0KBBWrVqVTCsrFu3Trm5ucHQXZlwnX85y7Lk9Xor/drX888/L7/fr+eee0733nuvvvvuOz355JPB/f/97391yy23qH379nrppZc0atQozZw5UzfffHPIhF7bt2/XnDlz9Pzzz2vMmDFKSkrSQw89pHfeeUd/+ctf9NJLL6l58+Yhf2eDBw9Wy5Yt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rYf8Wrm5udq4caOGDx8efE5J+uGHHySpRjNvDxgwQF6vV998801wm9vt3q87c2USExN12mmn6dtvv9WsWbN0wQUXBFuMlyxZooEDB2r58uUyDEPHH3+87rzzTnXs2FHbt28/4PMOHDhQK1as0C+//KIBAwaErHveo0cPxcfH65///KeaNm162MtFHc7516b27dsrJSVFW7duDfl7SU1N1bPPPrtfK3FFvXv3ls1mC3YbL/f111/vd+yZZ56p2NhYjRs3TvHx8Ro6dOgB67rgggvUokULjR8/XiUlJSH7fD6fJk6cKIfDobPPPltHH320WrRooc8++yzkuPT0dC1dulS9evU62I8hxOGsd//999+H3P/8888VGxsbHLKRkJCgzMzMkGMqTuBXndfv27evlixZom3btoVsnzlzplq0aKEjjzzyEKsHgMaJlm4AgCSpoKBAS5culRQIt7m5uZo7d66mTZumCy64QGeccYakQCvX3/72N73wwgsqKChQ//79lZmZqRdeeEGGYQS7gh+KlJQUtWnTRh988IHS0tKUmJioH3/8Ue+++64k1WisaPms4A888IB27dqlNm3a6N1331VOTs5+3ZMrc8EFF+i2226Tz+fThRdeGNzeuXNnxcTE6N5779Wtt96q5s2ba968eVq1apWuvvrqAz5n37595Xa79d1332ncuHEh+xwOh/r166f//e9/OuOMM/brFl5Th3v+OTk5wb+Hfdlstmp3PbfZbLrzzjv10EMPyWaz6bTTTlN+fr6mTJmizMxMdenSpcrHtmvXThdffLGee+45eTweHXfccZo9e7a+++47SaHhMTY2Vueee66mTZumK664Qk6n84B1NWnSRE899ZRGjRqlSy65RH/5y1901FFHKSMjQx988IGWL1+uZ599Ntjaftddd2nMmDG6++67dcEFFyg3N1eTJ09WUlJScJK36kpMTNTixYv166+/HnTitH19/fXXSk1N1cCBA4P/Pm+//fbgUI5TTz1Vn3/+ubp3764jjzxS//73v/ebVb+898Fnn32m7t2779eV/K9//atmzpypa6+9VqNGjVJycrJmzJih+fPn68knnzysDw0AoDEidAMAJEkrV67UZZddJikwbjk+Pl4dO3bUuHHj9ltW6I477lCLFi30z3/+U6+//rqSkpI0YMAA3XXXXWrSpMlh1TFlyhQ98cQTuu++++R0OnXMMcfo5Zdf1pNPPqmFCxfqqquuqvZzTZ48WRMnTtSLL76o0tJSnXPOObr00kv3W2+4MqeccoqaNGmidu3a6eijjw5ud7lcevPNN/Xss8/qiSeeUH5+vo466ig9+uijGjZs2AGfMyEhQV27dtWSJUuCk6hVVN7leeDAgdU+xwM5nPOfM2dOlWuPN2nSRAsXLqx2HZdcconi4+P1+uuva9q0aYqLi1OvXr00ceLESscOV/Tggw8qLi5Ob775pgoKCjRgwADddNNNeumll/abG+DUU0/VtGnTDvp7KDdo0CB9/PHHevPNN/Xqq68qOztbycnJOuGEEzRt2rSQCf+GDRum+Ph4vfrqq7rllluUkJCgwYMH66677qr2OPlyN954o6ZMmaLrr7++2ku4lbv//vv1+eef6+2331aLFi00duzYkA97xowZI6/Xq6efflp2u13nnHOO7r777uBKA1Jg8rVPP/1U9913n4YPH77fB0AtWrTQv/71Lz377LN6/PHHgx94TJkyRf/3f/9Xo3oBAJJhMdsFAACIQnl5efrhhx80ePDgkHHETz/9tP7973/rl19+CTn+4Ycf1rJly6pc6gwAgEigpRsAAESl2NhYPfHEEzr++ON1zTXXKC4uTkuXLtX777+vG264IXjcu+++qw0bNuijjz7SM888E8GKAQDYHy3dAAAgaq1atUr/+Mc/tHTpUhUXF+uII47Q5Zdfrj//+c/Bce+33XabfvzxR1122WW67777IlwxAAChCN0AAAAAAIQJ008CAAAAABAmhG4AAAAAAMKE0A0AAAAAQJgQugEAAAAACBNCNwAAAAAAYcI63QeQmZmpaJ7c3TAMpaamRn2dAMD1CkB9wjULQHWUXysOhtB9AJZl1YsLbX2pEwC4XgGoT7hmAagNdC8HAAAAACBMCN0AAAAAAIQJoRsAAAAAgDBhTDcAAACAqOf3++X3+xlnjzphGIZM05RpHn47NaEbAAAAQNSyLEsFBQUqKSmJdClohGJiYpSQkCDDMA75OQjdAAAAAKJWeeCOj4+Xw+GIdDloRDwejwoLCyVJTZo0OeTnIXQDAAAAiEp+vz8YuOPi4iJdDhqZ8g95CgsLFR8ff8hdzZlIDQAAAEBU8vv9kkQLNyKm/G+v/G/xUBC6AQAAAEQlJk1DtDicv0VCNwAAAAAAYcKYbgAAAAD1ToFPKj30Hr815jKlBFv1jh0/frxmzZpV5f7nn39ePXv2rHL/999/r+7du6tp06YHfa3bb79dPXr00F//+tf99r311lt65513gvftdrtatGih008/XVdffbXs9uiPg0uWLNGdd96p77//PtKlHLLo/ykDAAAAQAUFPmlGll0+HfoyTjVlk6WLWnirFbxvvfVWjRw5UpL03Xffadq0aXrllVeC+xMTE6t8bEZGhsaNG6d//etfh12zJHXp0kWPPvqoJMntdmvVqlWaNGmSMjMzNWbMmFp5DRwYoRsAAABAvVLqV50GbinweqX+6rV2JyQkKCEhQZKCs16npKRU63Vqexy73W4Pee1WrVopKSlJd999t4YNG6ZOnTrV6uthf4RuAAAAAKhDO3fu1JQpU7Ro0SIZhqGhQ4fqxhtvlNPp1BVXXCFJuuKKKzR69GidddZZ+uCDD/TZZ58pOztbSUlJOv/883Xttdce8uv37t1brVu31o8//hgM3TNnztQ///lP5eXlqVOnTrr99tvVvn17SdJll12ma665Rp9++qk2btyobt266Z577tGUKVP0yy+/qG3btnrggQd09NFHS5I+++wzTZs2TTt27FBcXJyGDBmiW2+9VTabTePHj1diYqKys7M1b948JSYm6vrrr9cZZ5whKbA817PPPquff/5ZKSkpOu+88w7jJx0dmEgNAAAAAOqIx+PRXXfdpZKSEr3wwgsaN26c5s+fr1dffVWSgt3QX3nlFQ0ZMkSzZs3SJ598or///e967733dPXVV+vtt9/WH3/8cVh1HHnkkdq8ebMkad68eXr77bd122236fXXX1e3bt10xx13aM+ePcHj33jjDV1//fWaNGmS1q5dq+uvv169e/fWK6+8opiYGL3++uuSpKVLl2rSpEm6/vrr9d577+muu+7S559/rp9++in4XP/5z3/UsWNHvfXWWzr55JP17LPPqqCgQJL03HPPacuWLXrhhRd02223adq0aYd1ntGA0A0AAAAAdWTBggXKzs7W/fffr/bt26tXr166/fbbNWPGDBUVFSkpKUmSlJSUJJfLpdTUVI0ePVq9e/dWq1atdOGFF6pZs2batGnTYdURHx+voqIiSdK//vUv/eUvf9HAgQPVtm1bjRgxQmlpaZo9e3bw+LPOOkt9+vRRp06d1KtXLx199NG68MIL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qgrahGwAdaaxjun+448/dP3118s0TZ1wwgny+XyaPXu2Jk2apPfee0/HHHPMIRUMAACAyKJFGwBqX41buq+++mq1adNGjz32WHCJMK/XqwceeEA7d+7Um2++GZZCI4GWbgAA0NAFgvbmsjHatGgDiCKNtaV72bJlGjduXMia3Ha7Xddff72GDx9e06cDAABAHdsbtDfJdOXRog0AYVTj0N2iRQtt2bJF7du3D9m+ZcsWxcfH11phAAAAqEVmqewJ6wjaAFDHahy6L7/8cj3wwAO6/fbb1a1bN0mB1u8XX3xRl1xySa0XCAAAgMPhk63JWjmaLpcMT3ArQRsA6kaNQ/eIESNUXFysiRMnavfu3ZKk5s2b69prr9V1111Xo+fKzMzUE088ofnz58vlcumcc87RXXfdJZfLpfT0dD344INaunSpWrdurbFjx2rQoEHBx86bN09PPvmk0tPT1b17dz3xxBNq165dcP/bb7+tN954QwUFBTr77LP14IMPKjY2tqanCwAAUE9ZMuPS5Wi6WIa9kJANABFySEuGldu1a5dcLpcSEhJq/FjLsnT55ZcrMTFR9957r3bv3q2xY8fq//7v/3TvvffqwgsvVMeOHXXTTTfpm2++0csvv6wvvvhCrVu31vbt23Xuuefq1ltv1eDBg/XSSy9p/fr1mjlzpgzD0KxZs3T//ffrmWeeUUpKisaMGaP+/fvroYceqlGNTKQGAADqI8OZLUezhbLF7JJl0aoNoJ5qbBOpffrpp5o9e7YcDoeGDh2qc889VykpKYdc4IYNG7R06VL99NNPat68uSTptttu09NPP62TTz5Z6enp+vDDDxUXF6cOHTro559/1vTp03Xrrbfq448/1gknnBBsWR8/frxOOukkLViwQP3799e7776ra665Rqeddpok6ZFHHtGIESP097//ndZuAADQYBn2AtmbLpE9fossK5C0CdwAEFlmdQ565513NHbsWJWUlKi4uFijR4/Wc889d1gv3KJFC73++uvBwF2uoKBAy5YtU+fOnRUXFxfc3rt3by1dulRSYAx5nz59gvtiY2PVpUsXLV26VD6fT7/99lvI/h49esjj8Wj16tWHVTMAAEBUMktlb7pYrjYzZYtLlyQZBl3hACAaVKul+8MPP9QTTzyhiy66SJL09ddfa8yYMbrzzjtlHOLHp4mJiRo8eHDw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evTooXPOOUdz584Necy8efN03nnnqXv37rr66quVnp4esv/tt9/W4MGD1bNnT40dO1bFxcV1ci4AAAAAAJSLeOguLS3VXXfdpbVr1wa3WZalW265Rc2bN9f06dN14YUXatSoUdq+fbskafv27brllls0bNgwffLJJ2rWrJluvvlmWZYlSZo1a5YmT56sRx99VO+8846WLVumZ555JiLnBwAAAABovCIautetW6dLL71UW7ZsCdk+f/58paen69FHH1WHDh10ww03qEePHpo+fbok6eOPP9YJJ5yg6667Tscee6zGjx+vbdu2acGCBZKkd999V9dcc41OO+00devWTY888oimT59OazcAAAAAoE5FNHQvWLBA/fv317Rp00K2L1u2TJ07d1ZcXFxwW+/evbV06dLg/j59+gT3xcbGqkuXLlq6dKl8Pp9+++23kP09evSQx+PR6tWrw3tCAAAAAABUYI/ki1955ZWVbs/KylLLli1DtqWkpCgjI+Og+/Pz81VaWhqy3263Kzk5Ofj46jIMo0bHAwAAAABqTzRnsurWFtHQXZXi4mI5nc6QbU6nU263+6D7S0pKgverenx1paam1rT0OuXYGZW/PgAAAACoBYbS0tIiXcRhi8rU5nK5lJeXF7LN7XYrJiYmuH/fAO12u5WYmCiXyxW8v+/+2NjYGtWRmZkZnJwtGnl83ij9DQIAAADA4bJq3Fu5LhmGUa2G2qiMbKmpqVq3bl3Ituzs7GCX8dTUVGVnZ++3//jjj1dycrJcLpeys7PVoUMHSZLX61VeXp5atGhRozosy4rq0A0AAAAADVlDyGMRXzKsMt27d9eKFSuCXcUladGiRerevXtw/6JFi4L7iouLtXLlSnXv3l2maapr164h+5cuXSq73a7jjjuu7k4CAAAAANDoRWXo7tevn1q1aqUxY8Zo7dq1mjp1qpYvX67hw4dLki6++GItXrxYU6dO1dq1azVmzBi1bdtW/fv3lxSYoO2NN97QN998o+XLl2vcuHG69NJLa9y9HAAAAACAwxGVodtms2nKlCnKysrSsGHDNHPmTL300ktq3bq1JKlt27aaNGmSpk+fruHDhysvL08vvfRScPa4c889VzfccIMeeughXXfdderWrZv+/ve/R/KUAAAAAACNkGE1hE7yYZKRkRHVYwi+9C9VfuxaGUb01ggAAAAA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XXfddWrRooX+/ve/y263a8SIEbIsKzjeGwAiJS4uTqZpymazyTRNtW/fXqNHj1bTpk01evRo2e12nXPOOXTdBBBxXK8AHC5Cdz1WMUB7vV61aNFCmzdvDt632Ww6//zz5fP5dN9996ldu3Y644wzCN4AImLfa5bH49HWrVvVpUsX+Xw+2Ww2jRw5Un6/X/fee69atmypPn36RLhqAI0R1ysAtYmP4+qxrKws5eXlye/3KzU1VcOGDdPTTz+t+fPny263y+v1yrIsXXTRRbrjjjv01FNPaceOHQRuABGxe/duud1u+f1+tW/fXsOGDdN9992n1atXy2azyefzSZJGjBihyy+/XC+88ILy8vIiWzSARonrFYDaREt3PfX888/r22+/lWEYstvtevDBB3XxxRdr27ZtGjlypN5//31169ZNXq9XdrtdZ511lmbOnKnMzEy1atUq0uUDaGQmTZqkH3/8UaZpKjk5WQ899JCuueYaZWRk6Pbbb9ekSZPUsWNHeb1eORwOnX766frxxx+1e/duJScnR7p8AI0I1ysAtY2W7npo5syZ+vDDD3XHHXfogQceUKdOnTR69Gi99dZbOv/883X55Zfrz3/+s3788UfZ7YHPVdLS0mSz2YJjvgGgrnz00Ud6//33ddVVV+niiy+WZVkaPny45s6dq+HDh6tXr166+eabtWrVquA169hjj5Xdbtfu3bsjXD2AxoTrFYBwoKW7Htq6datOPfVUDR06VJLUv39/TZ06VV9++aVKSkp0xRVXKCEhQTfddJNGjhypxMREZWZmKjc3Vx07doxw9QAamz/++EMXXHCBzj//fEnSJZdcoscff1zPP/+8brzxRl155ZWy2Wy65JJLdP/99yspKUkrV65UYWGhWrduHeHqATQmXK8AhAOhux5q0qSJVq9erZycHDVr1kySNHLkSDmdTs2cOVNJSUm67bbbdPTRR2v27Nnavn27EhIS9NprryktLS3C1QNobOLj47Vy5UoVFxcrNjZWkvTAAw9owoQJevnllzVmzBg9/vjjOuaYYzR9+nR5PB7Z7XZNmTJFzZs3j3D1ABoTrlcAwsGwLMuKdBGomcWLF2vChAm6/PLLdc4554Ssvz1lyhR9+OGHeuONN3TssceqsLBQsbGxKikpUVxcXASrBtBYffnll5o8ebLGjRunvn37Bmf+laRx48bpq6++0pdffqmmTZsqJydHcXFx8ng8atKkSYQrB9DYcL0CEA6E7nqk4vIVTzzxhP73v//pySefVL9+/UJmJB81apS8Xq9eeeWVkP9ZAEBdqnjNuvXWW7VixQq9++67atu2bci16aqrrtKxxx6rhx56iGsWgIjgegUgnJhIrR4o/1zEMAwtXLhQknT//ferW7duuvvuuzV//nyVlJQEj+/Vq1fwfxz8zwBAXat4zVq+fLmkwGzARxxxhEaMGKEtW7aEXJvKe+VIXLMA1C2uVwDqAqE7ivl8Pvl8vmCAzszM1I033qh58+ZJCiwb1q9fPz388MP69NNPlZ6eLklKT0+X3++X2+0WHRkA1JWMjIyQ1qLNmzfryiuv1KJFiyRJL7/8slq3bq1rrrlGP/30k3bt2iVJ8ng88vv98nq9XLMA1Il932Nt3rxZV1xxBdcrAGFB9/Io9eqrr2rNmjVKT0/XZZddpm7duqljx47asWOHWrVqFVx/W5Kee+45/fbbb1q5cqWOPvporVu3Tu+//76OO+64CJ8FgMZixowZevfddzV27Fj17t1bhmEoPz9fWVlZ6tChQ0gYv++++7Ru3Trt2bNHrVq10vLly/Xhhx+yugKAOvH6669rzZo12rJli66//nqdfPLJKi0t1c6dO7leAQgLQncUev311/XGG2/opptu0rp167R9+3a53W797W9/08knnywp0B3K5/MFg3d6errWrFkjy7J0/PHHq23btpE8BQCNzLJly3TZZZfprLPO0pVXXqk+ffrINEM7U1Uc/7hw4UJt3LhRHo9HJ510ko488shIlA2gkZk8ebL++c9/auTIkfrtt9/0/fff67333lPnzp2Dx1iWJb/fz/UKQK0hdEehu+++Wx07dtQNN9wgSVq6dKk+++wzzZkzR6NHjw6uz21ZlizL2u+NLQDUtU2bNgXXr+3UqZNuvPFG9ejRQ3a7XX6/X6Zpcs0CEFHFxcW69dZbdckll+jMM8+UJF1++eW65pprNGTIELlcruCxXK8A1CauJFHG7XZr586dys/PD27r0aOHrr76ag0dOlTPPvusfvrpJ0mBST9M09QXX3wht9sdqZIBNGLln9seddRROuecczR+/HiVlpbqxRdf1MqVKyVJ27Ztk7T3mvXdd99FrF4AjVdpaanWrVunnJwcSYHeN1u3btXrr7+us88+W48//rgWL14siesVgNpF6I4SmZmZ2rVrl5xOp6644gp9+umnwQu/JB1xxBG69NJLdeKJJ+rdd9/Vli1bJEkbN27U448/rszMzEiVDqARyszMVE5OjoqLi4Pb0tPTtXbtWk2ZMkVut1svvfSSbrzxRj399NPyer2S9P/t3U9I038cx/GXc26GK/9QlrVQ5qCRoUjaH3MQHUTMuohBdDLYaRIxJgRFp9mgsFggFUFQYQcP0SEhupQQrBI81KV/hwRFioxoimt/fwdJStAOv75+l3s+juN7eH8ur31efP989OrVKwUCAU1PT/MRIgCr4uceq6ysTD09Pbp48aLOnTun9vZ2OZ1O+f1+nThxQlNTUxocHNS7d+8kkVcA/h4eL88Bly9f1rNnz/T582c1NTWptrZWyWRSHz9+lN/v144dOxavHRsb08DAgHp7e9Xa2qp0Oq35+Xk5HA4TVwAgnyzNrAMHDqi7u1uPHj3S6OiowuGwMpmMvF6vYrGYQqGQjh49Kkn6/v27UqmUKioqTF4FgHzwa17t2bNHbrdbW7du1ejoqF6/fq2BgQE1NDRIWnh3OxKJ6Pjx4+ro6FAsFlMymSSvAPxv3Ok22YMHD3T//n0Fg0EFg0Ht3LlTd+/eVTQaVXl5uW7duqU3b94sXt/c3Cy73a7Hjx9LWjgjksINYLX8mll9fX3yeDzq7+/X4OCgampqND4+rtnZWYVCIdntdrlcLo2MjCgajSqTyWjDhg1sYAGsiqV7LI/Ho5s3b2pyclIXLlxQdXW14vH44vVNTU2y2Wx6+vSpJGn9+vXkFYC/wmr2APluenpa9fX1amlpkbTwvpHb7daZM2cUj8e1e/duXb16VT6fT42NjZKk8vJyVVVVmTk2gDy1NLOSyaRcLpcCgYC+fPmiuro6+f1+TU1NaXh4WOvWrVN3d7eGhobU2Nio4uJik1cAIF8szatEIqGamhoFAgGl02l5PB6NjIzI6XRq27ZtkqRNmzbJ5XKZOTaANYjSbZKfZ0AWFRVpbm5u8feioiIdOnRIkUhEp06d0vv377V37175fD41NzcrlUppfHxcvb29Jk4PIN8sl1mFhYVqa2vT9evXFQwG9e3bN9XX1+vGjRvauHGjJOnevXuanZ2lcANYFcvlldVqVVtbm65du6bTp0+rtLRUDQ0NCofDcrlcisVievLkiXw+n4nTA1iLeLzcJAUFBZKkgwcPamxsTENDQ5Iki8WiTCaj/fv3KxQKaWJiQlu2bNGVK1fkdDpVV1en4eFhud1uM8cHkGf+lFmtra0KhUKqqKhQZ2enamtrJS18HbisrExOp9O02QHklz/lldfrVTgcVjabVTqdVnV1tV68eKF4PK47d+4s5hcA/C3c6TaZ2+3W2bNnFYlEVFpaqs7Ozt82sR0dHfrw4YOOHTsmr9dr9rgA8txKmbVv3z4dPnx48YiwbDarwsJCkycGkK9WyquWlha1t7eroKBAfX19+vHjh6xWK5kFwBCU7hzQ1dWlmZkZXbp0SdlsVkeOHJHFYlFJSYlKSkoUjUaVTqf5IwCQE5bLLIfDIYfDoefPn5NZAHLCSnlls9n08uVLpVIp2e12s0cFsIZRunNAcXGxTp48KUk6f/68vn79qq6uLtlsNs3NzWnz5s1sYAHkjD9lVmVlJZkFICeslFfz8/OqrKxUJpMxeUoAax3ndOeQRCKhhw8fqr+/X1VVVbJYLPr06ZNu374tj8dj9ngA8BsyC8C/grwCYCZKdw6anJzU27dvlUgktGvXLm3fvt3skQBgWWQWgH8FeQXADJRuAAAAAAAMwpFhAAAAAAAYhNINAAAAAIBBKN0AAAAAABiE0g0AAAAAgEEo3QAAAAAAGITSDQAAAACAQSjdAAAAAAAYhNINAAAAAIBBKN0AAAAAABiE0g0AAAAAgEEo3QAAAAAAGITSDQAAAACAQf4D0oud1MgBUZkAAAAASUVORK5CYII=",
"text/plain": [
""
]
@@ -4691,52 +4678,20 @@
"plot_demand_vs_wind = area_plot_wind_demand(demand, wind)"
]
},
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {},
- "outputs": [],
- "source": [
- "demand_stats = {\n",
- " 'Mean': 4275.6565373, # Example average demand\n",
- " 'Min': 4139.32523532, # Minimum demand value\n",
- " 'Time of Min': '2024-03-16 01:00:00', # Timestamp of minimum demand\n",
- " 'Max': 4396.0, # Maximum demand value\n",
- " 'Time of Max': '2024-03-16 00:00:00' # Timestamp of maximum demand\n",
- "}\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {},
- "outputs": [],
- "source": [
- "wind_stats = {\n",
- " 'Mean': 774.5869707, # Example average wind generation\n",
- " 'Min': 617.678, # Minimum wind generation value\n",
- " 'Time of Min': '2024-03-16 00:00:00', # Timestamp of minimum wind generation\n",
- " 'Max': 957.0, # Maximum wind generation value\n",
- " 'Time of Max': '2024-03-16 01:00:00' # Timestamp of maximum wind generation\n",
- "}\n"
- ]
- },
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
- "ename": "AttributeError",
- "evalue": "'str' object has no attribute 'strftime'",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
- "Cell \u001b[0;32mIn[4], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mcreate_wind_demand_prompt\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdemand_stats\u001b[49m\u001b[43m,\u001b[49m\u001b[43mwind_stats\u001b[49m\u001b[43m)\u001b[49m\n",
- "File \u001b[0;32m~/Documents/GitHub/telegram-energy-api/subs/openai_script.py:424\u001b[0m, in \u001b[0;36mcreate_wind_demand_prompt\u001b[0;34m(demand_stats, wind_stats)\u001b[0m\n\u001b[1;32m 396\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcreate_wind_demand_prompt\u001b[39m(demand_stats, wind_stats):\n\u001b[1;32m 397\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 398\u001b[0m \u001b[38;5;124;03m Generates a structured report summarizing the electricity demand and wind generation over the current day.\u001b[39;00m\n\u001b[1;32m 399\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 410\u001b[0m \u001b[38;5;124;03m specifically focusing on demand and wind generation, with an emphasis on wind's contribution to the electricity demand.\u001b[39;00m\n\u001b[1;32m 411\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m 413\u001b[0m prompt_text \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m 414\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAs of today, the performance of the electricity system is summarized as follows:\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 415\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m- ⚡ **Electricity Demand**: The average demand was \u001b[39m\u001b[38;5;132;01m{average_demand}\u001b[39;00m\u001b[38;5;124m MW, with a minimum of \u001b[39m\u001b[38;5;132;01m{min_demand}\u001b[39;00m\u001b[38;5;124m MW recorded at \u001b[39m\u001b[38;5;132;01m{time_min_demand}\u001b[39;00m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 416\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mand a maximum of \u001b[39m\u001b[38;5;132;01m{max_demand}\u001b[39;00m\u001b[38;5;124m MW observed at \u001b[39m\u001b[38;5;132;01m{time_max_demand}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 417\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m- 🌬️ **Wind Generation**: In terms of wind generation, the average output stood at \u001b[39m\u001b[38;5;132;01m{average_wind}\u001b[39;00m\u001b[38;5;124m MW. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 418\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe lowest generation reached \u001b[39m\u001b[38;5;132;01m{min_wind}\u001b[39;00m\u001b[38;5;124m MW at \u001b[39m\u001b[38;5;132;01m{time_min_wind}\u001b[39;00m\u001b[38;5;124m, while the peak generation was \u001b[39m\u001b[38;5;132;01m{max_wind}\u001b[39;00m\u001b[38;5;124m MW at \u001b[39m\u001b[38;5;132;01m{time_max_wind}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 419\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m- 💨 **Wind\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124ms Contribution**: On average, wind generation has contributed \u001b[39m\u001b[38;5;132;01m{wind_percentage}\u001b[39;00m\u001b[38;5;132;01m% o\u001b[39;00m\u001b[38;5;124mf the total electricity demand.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 420\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThis report highlights the power system\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124ms dynamics from the start of today until now, emphasizing the significant contribution of wind 🍃 to meeting the electricity demand.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 421\u001b[0m )\u001b[38;5;241m.\u001b[39mformat(\n\u001b[1;32m 422\u001b[0m average_demand\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(demand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMean\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 423\u001b[0m min_demand\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(demand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMin\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[0;32m--> 424\u001b[0m time_min_demand\u001b[38;5;241m=\u001b[39m\u001b[43mdemand_stats\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mTime of Min\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstrftime\u001b[49m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mH:\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mM\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 425\u001b[0m max_demand\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(demand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMax\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 426\u001b[0m time_max_demand\u001b[38;5;241m=\u001b[39mdemand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTime of Max\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mstrftime(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mH:\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mM\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 427\u001b[0m average_wind\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(wind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMean\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 428\u001b[0m min_wind\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(wind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMin\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 429\u001b[0m time_min_wind\u001b[38;5;241m=\u001b[39mwind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTime of Min\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mstrftime(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mH:\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mM\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 430\u001b[0m max_wind\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m(wind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMax\u001b[39m\u001b[38;5;124m\"\u001b[39m], \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 431\u001b[0m time_max_wind\u001b[38;5;241m=\u001b[39mwind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTime of Max\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mstrftime(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mH:\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124mM\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 432\u001b[0m wind_percentage\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mround\u001b[39m((wind_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMean\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m/\u001b[39m demand_stats[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMean\u001b[39m\u001b[38;5;124m\"\u001b[39m]) \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m100\u001b[39m, \u001b[38;5;241m2\u001b[39m),\n\u001b[1;32m 433\u001b[0m )\n\u001b[1;32m 435\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m prompt_text\n",
- "\u001b[0;31mAttributeError\u001b[0m: 'str' object has no attribute 'strftime'"
- ]
+ "data": {
+ "text/plain": [
+ "\"As of today, the performance of the electricity system is summarized as follows:\\n\\n- ⚡ **Electricity Demand**: The average demand was 3917.64 MW, with a minimum of 3516.0 MW recorded at 04:45 and a maximum of 4704.0 MW observed at 11:00.\\n- 🌬️ **Wind Generation**: In terms of wind generation, the average output stood at 2017.09 MW. The lowest generation reached 1372.0 MW at 03:45, while the peak generation was 3661.0 MW at 11:00.\\n- 💨 **Wind's Contribution**: On average, wind generation has contributed 51.49% of the total electricity demand.\\n\\nThis report highlights the power system's dynamics from the start of today until now, emphasizing the significant contribution of wind 🍃 to meeting the electricity demand.\""
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
}
],
"source": [
diff --git a/subs/energy_api.py b/subs/energy_api.py
index bd9792f..592cf7f 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -613,6 +613,9 @@ def area_plot_wind_demand(demand, wind):
Returns:
matplotlib.pyplot: A plot object showing the total energy demand and the contribution of wind energy over time. The x-axis represents time in 4-hour intervals, formatted as hours and minutes. The y-axis represents power in MW.
"""
+ # Plotting with the corrected interval
+ plt.figure(figsize=(7, 5))
+
sns.set_style("darkgrid", {"axes.facecolor": ".9"})
# Align DataFrames based on index
@@ -639,8 +642,6 @@ def area_plot_wind_demand(demand, wind):
x_axis = range(len(combined_clean)) # Use a simple numeric x-axis
- # Plotting with the corrected interval
- plt.figure(figsize=(10, 6))
plt.fill_between(
x_axis, combined_clean["Demand"], label="Total Demand", color="skyblue"
)
diff --git a/subs/openai_script.py b/subs/openai_script.py
index 9c0939a..fb0818e 100644
--- a/subs/openai_script.py
+++ b/subs/openai_script.py
@@ -410,28 +410,32 @@ def create_wind_demand_prompt(demand_stats, wind_stats):
specifically focusing on demand and wind generation, with an emphasis on wind's contribution to the electricity demand.
"""
- prompt_text = (
+ prompt_data = {
+ "average_demand": round(demand_stats["Mean"], 2),
+ "min_demand": round(demand_stats["Min"], 2),
+ "time_min_demand": demand_stats["Time of Min"].strftime("%H:%M"),
+ "max_demand": round(demand_stats["Max"], 2),
+ "time_max_demand": demand_stats["Time of Max"].strftime("%H:%M"),
+ "average_wind": round(wind_stats["Mean"], 2),
+ "min_wind": round(wind_stats["Min"], 2),
+ "time_min_wind": wind_stats["Time of Min"].strftime("%H:%M"),
+ "max_wind": round(wind_stats["Max"], 2),
+ "time_max_wind": wind_stats["Time of Max"].strftime("%H:%M"),
+ "wind_percentage": round((wind_stats["Mean"] / demand_stats["Mean"]) * 100, 2),
+ }
+
+ prompt_template = (
"As of today, the performance of the electricity system is summarized as follows:\n\n"
- "- ⚡ **Electricity Demand**: The average demand was {average_demand} MW, with a minimum of {min_demand} MW recorded at {time_min_demand} "
- "and a maximum of {max_demand} MW observed at {time_max_demand}.\n"
- "- 🌬️ **Wind Generation**: In terms of wind generation, the average output stood at {average_wind} MW. "
- "The lowest generation reached {min_wind} MW at {time_min_wind}, while the peak generation was {max_wind} MW at {time_max_wind}.\n"
- "- 💨 **Wind's Contribution**: On average, wind generation has contributed {wind_percentage}% of the total electricity demand.\n\n"
+ "- ⚡ **Electricity Demand**: "
+ "- 🌬️ **Wind Generation**: "
+ "- 💨 **Wind's Contribution**: "
"This report highlights the power system's dynamics from the start of today until now, emphasizing the significant contribution of wind 🍃 to meeting the electricity demand."
- ).format(
- average_demand=round(demand_stats["Mean"], 2),
- min_demand=round(demand_stats["Min"], 2),
- time_min_demand=demand_stats["Time of Min"].strftime("%H:%M"),
- max_demand=round(demand_stats["Max"], 2),
- time_max_demand=demand_stats["Time of Max"].strftime("%H:%M"),
- average_wind=round(wind_stats["Mean"], 2),
- min_wind=round(wind_stats["Min"], 2),
- time_min_wind=wind_stats["Time of Min"].strftime("%H:%M"),
- max_wind=round(wind_stats["Max"], 2),
- time_max_wind=wind_stats["Time of Max"].strftime("%H:%M"),
- wind_percentage=round((wind_stats["Mean"] / demand_stats["Mean"]) * 100, 2),
)
+ prompt_text = (
+ "Write a short report using plain English based on the prompt template: {prompt_template} \n and provided data: {input_data}"
+ ).format(prompt_template=prompt_template, input_data=prompt_data)
+
return prompt_text
diff --git a/subs/telegram_func.py b/subs/telegram_func.py
index 3a0163d..646ed50 100644
--- a/subs/telegram_func.py
+++ b/subs/telegram_func.py
@@ -326,4 +326,5 @@ async def telegram_wind_analysis(update, context, user_first_name):
wind_demand_summary = wind_and_demand_report(prompt_for_wind_demand)
plot_demand_vs_wind = area_plot_wind_demand(demand, wind)
await update.message.reply_text(wind_demand_summary)
- await send_plot_wind_demand(update, context, area_plot_wind_demand)
+ print(wind_demand_summary)
+ await send_plot_wind_demand(update, context, plot_demand_vs_wind)
From e284931cc87e5ccd4f41767ab584a9dda9dc8ca6 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Mon, 18 Mar 2024 12:11:06 +0000
Subject: [PATCH 16/23] Refactor create_wind_demand_prompt for better prmopt
and docstrigns
---
subs/openai_script.py | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/subs/openai_script.py b/subs/openai_script.py
index fb0818e..7d27e25 100644
--- a/subs/openai_script.py
+++ b/subs/openai_script.py
@@ -395,19 +395,19 @@ def create_fuel_mix_prompt(date, fuel_mix_data, net_import_status):
def create_wind_demand_prompt(demand_stats, wind_stats):
"""
- Generates a structured report summarizing the electricity demand and wind generation over the current day.
+ Generate a summary report of electricity demand and wind generation for the current day.
- This function creates a report detailing the average, minimum, and maximum electricity demand and wind generation,
- including the times those minimum and maximum values occurred. It highlights the contribution of wind generation to
- meeting the electricity demand, emphasizing the dynamics of the power system from the start of the current day until now.
+ This function compiles a structured report that outlines key statistics about electricity demand and wind generation,
+ including average, minimum, and maximum values, along with the timestamps of these extreme values. It emphasizes the
+ proportion of electricity demand met by wind generation, reflecting on the dynamic nature of the power system throughout the day.
- Args:
- demand_stats (dict): A dictionary containing statistics (mean, min, max, time of min, time of max) for electricity demand.
- wind_stats (dict): A dictionary containing statistics (mean, min, max, time of min, time of max) for wind generation.
+ Parameters:
+ demand_stats (dict): Statistics on electricity demand, including 'Mean', 'Min', 'Max', and their corresponding timestamps.
+ wind_stats (dict): Statistics on wind generation, including 'Mean', 'Min', 'Max', and their corresponding timestamps.
Returns:
- str: A formatted string that provides a comprehensive report on the electricity system's performance,
- specifically focusing on demand and wind generation, with an emphasis on wind's contribution to the electricity demand.
+ str: A string formatted to convey the day's electricity system performance, focusing on demand and wind generation,
+ and highlighting the role of wind in fulfilling electricity needs.
"""
prompt_data = {
@@ -426,9 +426,9 @@ def create_wind_demand_prompt(demand_stats, wind_stats):
prompt_template = (
"As of today, the performance of the electricity system is summarized as follows:\n\n"
- "- ⚡ **Electricity Demand**: "
- "- 🌬️ **Wind Generation**: "
- "- 💨 **Wind's Contribution**: "
+ "- ⚡Electricity Demand: "
+ "- 🌬️Wind Generation: "
+ "- 💨Wind's Contribution: "
"This report highlights the power system's dynamics from the start of today until now, emphasizing the significant contribution of wind 🍃 to meeting the electricity demand."
)
From 46d37bbfdddc80b03ea75ce5b15d368353d9cec7 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Mon, 18 Mar 2024 12:16:54 +0000
Subject: [PATCH 17/23] Add a new function to handle xticks automatically
---
subs/energy_api.py | 141 ++++++++++++++++++++++++++++++++++-----------
1 file changed, 106 insertions(+), 35 deletions(-)
diff --git a/subs/energy_api.py b/subs/energy_api.py
index 592cf7f..6f8e4cf 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -7,6 +7,7 @@
import seaborn as sns
import matplotlib.dates as mdates
import numpy as np
+from matplotlib.dates import DateFormatter, HourLocator
def eirgrid_api(area, region, start_time, end_time):
@@ -603,60 +604,130 @@ def calculate_stats_wind_demand(df):
}
-def area_plot_wind_demand(demand, wind):
- """Generates an area plot showing the contribution of wind power to the total energy demand.
+def calculate_xaxis_intervals(start_time, end_time):
+ """Calculate appropriate x-axis intervals based on the duration of the data.
Args:
- demand (pd.DataFrame): DataFrame containing energy demand data. Expects a 'Value' column for demand values and a DateTimeIndex.
- wind (pd.DataFrame): DataFrame containing wind energy production data. Expects a 'Value' column for wind production values and a DateTimeIndex.
+ start_time (datetime): Start time of the data.
+ end_time (datetime): End time of the data.
Returns:
- matplotlib.pyplot: A plot object showing the total energy demand and the contribution of wind energy over time. The x-axis represents time in 4-hour intervals, formatted as hours and minutes. The y-axis represents power in MW.
+ interval (int): Number of hours between x-axis ticks.
+ fmt (str): Date format for x-axis labels.
"""
- # Plotting with the corrected interval
- plt.figure(figsize=(7, 5))
+ duration_hours = (end_time - start_time).total_seconds() / 3600
+
+ if duration_hours <= 2:
+ interval, fmt = 0.5, "%H:%M" # 30 minutes
+ elif duration_hours <= 6:
+ interval, fmt = 1, "%H:%M" # 1 hour
+ elif duration_hours <= 12:
+ interval, fmt = 3, "%H:%M" # 3 hours
+ elif duration_hours <= 24:
+ interval, fmt = 4, "%H:%M" # 4 hours
+ else:
+ interval, fmt = 6, "%H:%M" # 6 hours or more for longer spans
+
+ return interval, fmt
+
+
+# def area_plot_wind_demand(demand, wind):
+# """Generates an area plot showing the contribution of wind power to the total energy demand.
+
+# Args:
+# demand (pd.DataFrame): DataFrame containing energy demand data. Expects a 'Value' column for demand values and a DateTimeIndex.
+# wind (pd.DataFrame): DataFrame containing wind energy production data. Expects a 'Value' column for wind production values and a DateTimeIndex.
+
+# Returns:
+# matplotlib.pyplot: A plot object showing the total energy demand and the contribution of wind energy over time. The x-axis represents time in 4-hour intervals, formatted as hours and minutes. The y-axis represents power in MW.
+# """
+# # Plotting with the corrected interval
+# plt.figure(figsize=(7, 5))
+
+# sns.set_style("darkgrid", {"axes.facecolor": ".9"})
+
+# # Align DataFrames based on index
+# combined = pd.DataFrame({"Demand": demand["Value"], "Wind": wind["Value"]})
+# # Correcting the interval calculation
+# combined_clean = combined.dropna()
+# # Calculate the number of entries that would constitute a 4-hour span, considering the data's time frequency
+# time_diff_in_hours = (
+# combined_clean.index[1] - combined_clean.index[0]
+# ).seconds / 3600
+# entries_per_hour = 1 / time_diff_in_hours
+# four_hourly_entries = int(entries_per_hour * 4)
+
+# # Ensure we have a positive, non-zero interval
+# four_hourly_entries = max(four_hourly_entries, 1)
+
+# # Adjust x-ticks and labels for 4-hour intervals
+# x_ticks = range(0, len(combined_clean), four_hourly_entries)
+# x_labels = [
+# time.strftime("%H:%M")
+# for i, time in enumerate(combined_clean.index)
+# if i % four_hourly_entries == 0
+# ]
+
+# x_axis = range(len(combined_clean)) # Use a simple numeric x-axis
+
+# plt.fill_between(
+# x_axis, combined_clean["Demand"], label="Total Demand", color="skyblue"
+# )
+# plt.fill_between(
+# x_axis, combined_clean["Wind"], label="Wind Contribution", color="lightgreen"
+# )
+
+# plt.xticks(
+# x_ticks, x_labels, rotation=45
+# ) # Setting custom x-ticks based on the correction
+# plt.title("Demand vs Wind Energy Contribution")
+# plt.ylabel("Power (MW)")
+# plt.legend()
+# plt.grid(True)
+# plt.tight_layout()
+# # plt.show()
+
+# return plt
+
+
+def area_plot_wind_demand(demand, wind):
+ """Generates an area plot showing the contribution of wind power to the total energy demand with dynamic x-axis intervals based on data span.
+
+ Args:
+ demand (pd.DataFrame): DataFrame containing energy demand data with a DateTimeIndex.
+ wind (pd.DataFrame): DataFrame containing wind energy production data with a DateTimeIndex.
+ Returns:
+ matplotlib.pyplot: A plot object showing total energy demand and wind energy contribution over time with dynamically adjusted x-axis intervals.
+ """
+ plt.figure(figsize=(10, 6))
sns.set_style("darkgrid", {"axes.facecolor": ".9"})
# Align DataFrames based on index
- combined = pd.DataFrame({"Demand": demand["Value"], "Wind": wind["Value"]})
- # Correcting the interval calculation
- combined_clean = combined.dropna()
- # Calculate the number of entries that would constitute a 4-hour span, considering the data's time frequency
- time_diff_in_hours = (
- combined_clean.index[1] - combined_clean.index[0]
- ).seconds / 3600
- entries_per_hour = 1 / time_diff_in_hours
- four_hourly_entries = int(entries_per_hour * 4)
-
- # Ensure we have a positive, non-zero interval
- four_hourly_entries = max(four_hourly_entries, 1)
-
- # Adjust x-ticks and labels for 4-hour intervals
- x_ticks = range(0, len(combined_clean), four_hourly_entries)
- x_labels = [
- time.strftime("%H:%M")
- for i, time in enumerate(combined_clean.index)
- if i % four_hourly_entries == 0
- ]
-
- x_axis = range(len(combined_clean)) # Use a simple numeric x-axis
+ combined = pd.DataFrame({"Demand": demand["Value"], "Wind": wind["Value"]}).dropna()
+
+ # Determine start and end times from the index
+ start_time = combined.index.min()
+ end_time = combined.index.max()
+
+ # Calculate dynamic intervals and formatting for the x-axis
+ interval, fmt = calculate_xaxis_intervals(start_time, end_time)
plt.fill_between(
- x_axis, combined_clean["Demand"], label="Total Demand", color="skyblue"
+ combined.index, combined["Demand"], label="Total Demand", color="skyblue"
)
plt.fill_between(
- x_axis, combined_clean["Wind"], label="Wind Contribution", color="lightgreen"
+ combined.index, combined["Wind"], label="Wind Contribution", color="lightgreen"
)
- plt.xticks(
- x_ticks, x_labels, rotation=45
- ) # Setting custom x-ticks based on the correction
+ plt.gca().xaxis.set_major_locator(HourLocator(byhour=None, interval=interval))
+ plt.gca().xaxis.set_major_formatter(DateFormatter(fmt))
+
+ plt.xticks(rotation=45)
plt.title("Demand vs Wind Energy Contribution")
plt.ylabel("Power (MW)")
plt.legend()
plt.grid(True)
plt.tight_layout()
- # plt.show()
return plt
From e8689ff410f7c4c1422773b1f59474b170876c9b Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Mon, 18 Mar 2024 12:23:27 +0000
Subject: [PATCH 18/23] Update functions for area chart to better show xticks
---
subs/energy_api.py | 123 +++++++++++++--------------------------------
1 file changed, 36 insertions(+), 87 deletions(-)
diff --git a/subs/energy_api.py b/subs/energy_api.py
index 6f8e4cf..a1d6a51 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -604,94 +604,32 @@ def calculate_stats_wind_demand(df):
}
-def calculate_xaxis_intervals(start_time, end_time):
- """Calculate appropriate x-axis intervals based on the duration of the data.
+def generate_xaxis_ticks(start, end, interval_hours):
+ """Generate x-axis tick marks from start to end time at given hour intervals.
Args:
- start_time (datetime): Start time of the data.
- end_time (datetime): End time of the data.
+ start (pd.Timestamp): The start time of the data.
+ end (pd.Timestamp): The end time of the data.
+ interval_hours (float): The interval between ticks in hours.
Returns:
- interval (int): Number of hours between x-axis ticks.
- fmt (str): Date format for x-axis labels.
+ list: A list of `pd.Timestamp` objects representing the tick marks.
"""
- duration_hours = (end_time - start_time).total_seconds() / 3600
-
- if duration_hours <= 2:
- interval, fmt = 0.5, "%H:%M" # 30 minutes
- elif duration_hours <= 6:
- interval, fmt = 1, "%H:%M" # 1 hour
- elif duration_hours <= 12:
- interval, fmt = 3, "%H:%M" # 3 hours
- elif duration_hours <= 24:
- interval, fmt = 4, "%H:%M" # 4 hours
- else:
- interval, fmt = 6, "%H:%M" # 6 hours or more for longer spans
-
- return interval, fmt
-
-
-# def area_plot_wind_demand(demand, wind):
-# """Generates an area plot showing the contribution of wind power to the total energy demand.
-
-# Args:
-# demand (pd.DataFrame): DataFrame containing energy demand data. Expects a 'Value' column for demand values and a DateTimeIndex.
-# wind (pd.DataFrame): DataFrame containing wind energy production data. Expects a 'Value' column for wind production values and a DateTimeIndex.
-
-# Returns:
-# matplotlib.pyplot: A plot object showing the total energy demand and the contribution of wind energy over time. The x-axis represents time in 4-hour intervals, formatted as hours and minutes. The y-axis represents power in MW.
-# """
-# # Plotting with the corrected interval
-# plt.figure(figsize=(7, 5))
-
-# sns.set_style("darkgrid", {"axes.facecolor": ".9"})
-
-# # Align DataFrames based on index
-# combined = pd.DataFrame({"Demand": demand["Value"], "Wind": wind["Value"]})
-# # Correcting the interval calculation
-# combined_clean = combined.dropna()
-# # Calculate the number of entries that would constitute a 4-hour span, considering the data's time frequency
-# time_diff_in_hours = (
-# combined_clean.index[1] - combined_clean.index[0]
-# ).seconds / 3600
-# entries_per_hour = 1 / time_diff_in_hours
-# four_hourly_entries = int(entries_per_hour * 4)
-
-# # Ensure we have a positive, non-zero interval
-# four_hourly_entries = max(four_hourly_entries, 1)
-
-# # Adjust x-ticks and labels for 4-hour intervals
-# x_ticks = range(0, len(combined_clean), four_hourly_entries)
-# x_labels = [
-# time.strftime("%H:%M")
-# for i, time in enumerate(combined_clean.index)
-# if i % four_hourly_entries == 0
-# ]
-
-# x_axis = range(len(combined_clean)) # Use a simple numeric x-axis
-
-# plt.fill_between(
-# x_axis, combined_clean["Demand"], label="Total Demand", color="skyblue"
-# )
-# plt.fill_between(
-# x_axis, combined_clean["Wind"], label="Wind Contribution", color="lightgreen"
-# )
-
-# plt.xticks(
-# x_ticks, x_labels, rotation=45
-# ) # Setting custom x-ticks based on the correction
-# plt.title("Demand vs Wind Energy Contribution")
-# plt.ylabel("Power (MW)")
-# plt.legend()
-# plt.grid(True)
-# plt.tight_layout()
-# # plt.show()
-
-# return plt
+ tick_marks = [start]
+ current_tick = start
+ while current_tick <= end:
+ current_tick += pd.Timedelta(hours=interval_hours)
+ tick_marks.append(current_tick)
+ # Ensure the end time is included, adjusting the last tick if necessary
+ if tick_marks[-1] > end:
+ tick_marks[-1] = end
+ return tick_marks
def area_plot_wind_demand(demand, wind):
- """Generates an area plot showing the contribution of wind power to the total energy demand with dynamic x-axis intervals based on data span.
+ """Generates an area plot with dynamic x-axis intervals based on the data span,
+ ensuring the x-axis ticks start from the data start point and end with the data endpoint,
+ divided into rational intervals.
Args:
demand (pd.DataFrame): DataFrame containing energy demand data with a DateTimeIndex.
@@ -703,15 +641,24 @@ def area_plot_wind_demand(demand, wind):
plt.figure(figsize=(10, 6))
sns.set_style("darkgrid", {"axes.facecolor": ".9"})
- # Align DataFrames based on index
combined = pd.DataFrame({"Demand": demand["Value"], "Wind": wind["Value"]}).dropna()
- # Determine start and end times from the index
start_time = combined.index.min()
end_time = combined.index.max()
- # Calculate dynamic intervals and formatting for the x-axis
- interval, fmt = calculate_xaxis_intervals(start_time, end_time)
+ # Calculate the total duration in hours to determine the interval
+ duration_hours = (end_time - start_time).total_seconds() / 3600
+ if duration_hours <= 2:
+ interval_hours = 0.5 # 30 minutes
+ elif duration_hours <= 12:
+ interval_hours = 3 # Every 3 hours
+ elif duration_hours <= 24:
+ interval_hours = 4 # Every 4 hours
+ else:
+ interval_hours = 6 # Every 6 hours
+
+ # Generate x-axis ticks
+ ticks = generate_xaxis_ticks(start_time, end_time, interval_hours)
plt.fill_between(
combined.index, combined["Demand"], label="Total Demand", color="skyblue"
@@ -720,10 +667,12 @@ def area_plot_wind_demand(demand, wind):
combined.index, combined["Wind"], label="Wind Contribution", color="lightgreen"
)
- plt.gca().xaxis.set_major_locator(HourLocator(byhour=None, interval=interval))
- plt.gca().xaxis.set_major_formatter(DateFormatter(fmt))
+ # Set the formatter for x-axis
+ plt.gca().xaxis.set_major_formatter(DateFormatter("%H:%M"))
+
+ # Set custom ticks
+ plt.xticks(ticks, rotation=45)
- plt.xticks(rotation=45)
plt.title("Demand vs Wind Energy Contribution")
plt.ylabel("Power (MW)")
plt.legend()
From f43e6058ab5349620124c077aebab8b298c8897f Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Mon, 18 Mar 2024 12:36:30 +0000
Subject: [PATCH 19/23] Add edge line to area chart for better visual
---
subs/energy_api.py | 18 ++++++++++++++++--
subs/telegram_func.py | 5 ++---
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/subs/energy_api.py b/subs/energy_api.py
index a1d6a51..d77ad82 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -638,6 +638,9 @@ def area_plot_wind_demand(demand, wind):
Returns:
matplotlib.pyplot: A plot object showing total energy demand and wind energy contribution over time with dynamically adjusted x-axis intervals.
"""
+ # Increase font size
+ plt.rcParams.update({"font.size": 14})
+
plt.figure(figsize=(10, 6))
sns.set_style("darkgrid", {"axes.facecolor": ".9"})
@@ -660,11 +663,22 @@ def area_plot_wind_demand(demand, wind):
# Generate x-axis ticks
ticks = generate_xaxis_ticks(start_time, end_time, interval_hours)
+ # Adding fill_between with edgecolor and linewidth
plt.fill_between(
- combined.index, combined["Demand"], label="Total Demand", color="skyblue"
+ combined.index,
+ combined["Demand"],
+ label="Total Demand",
+ color="skyblue",
+ edgecolor="blue",
+ linewidth=1.5,
)
plt.fill_between(
- combined.index, combined["Wind"], label="Wind Contribution", color="lightgreen"
+ combined.index,
+ combined["Wind"],
+ label="Wind Contribution",
+ color="lightgreen",
+ edgecolor="green",
+ linewidth=1.5,
)
# Set the formatter for x-axis
diff --git a/subs/telegram_func.py b/subs/telegram_func.py
index 646ed50..2ddd63c 100644
--- a/subs/telegram_func.py
+++ b/subs/telegram_func.py
@@ -298,7 +298,7 @@ async def send_plot_wind_demand(update, context, area_plot_wind_demand):
# Save the plot to a BytesIO buffer
buf = BytesIO()
- area_plot_wind_demand.savefig(buf, format="png")
+ area_plot_wind_demand.savefig(buf, format="png", dpi=300)
buf.seek(0)
area_plot_wind_demand.close() # Make sure to close the plot to free up memory
caption_text = "📉 Today's Energy in Ireland: See how wind power helps meet our electricity needs throughout the day. A simple look at our journey towards greener energy."
@@ -325,6 +325,5 @@ async def telegram_wind_analysis(update, context, user_first_name):
prompt_for_wind_demand = create_wind_demand_prompt(demand_stats, wind_stats)
wind_demand_summary = wind_and_demand_report(prompt_for_wind_demand)
plot_demand_vs_wind = area_plot_wind_demand(demand, wind)
- await update.message.reply_text(wind_demand_summary)
- print(wind_demand_summary)
await send_plot_wind_demand(update, context, plot_demand_vs_wind)
+ # await update.message.reply_text(wind_demand_summary)
From 5ec518a1e2e89589a621d612f1c1f8dec41ec362 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Mon, 18 Mar 2024 12:42:04 +0000
Subject: [PATCH 20/23] Improved xticks for better visual of area chart
---
subs/energy_api.py | 48 ++++++++++++++++++++++++++--------------------
1 file changed, 27 insertions(+), 21 deletions(-)
diff --git a/subs/energy_api.py b/subs/energy_api.py
index d77ad82..78672be 100644
--- a/subs/energy_api.py
+++ b/subs/energy_api.py
@@ -615,30 +615,40 @@ def generate_xaxis_ticks(start, end, interval_hours):
Returns:
list: A list of `pd.Timestamp` objects representing the tick marks.
"""
- tick_marks = [start]
- current_tick = start
+ tick_marks = []
+ current_tick = start.replace(minute=0, second=0, microsecond=0)
while current_tick <= end:
- current_tick += pd.Timedelta(hours=interval_hours)
tick_marks.append(current_tick)
- # Ensure the end time is included, adjusting the last tick if necessary
- if tick_marks[-1] > end:
+ current_tick += pd.Timedelta(hours=interval_hours)
+
+ # Ensure the last tick does not exceed the current time
+ if tick_marks and tick_marks[-1] > end:
+ tick_marks.pop() # Remove the last tick if it's past the end time
+
+ # Ensure the end time is included if it's close to the last tick
+ if (
+ tick_marks
+ and (end - tick_marks[-1]).total_seconds() / 3600 < interval_hours / 2
+ ):
tick_marks[-1] = end
+ elif end not in tick_marks:
+ tick_marks.append(end) # Append the end time as the last tick
+
return tick_marks
def area_plot_wind_demand(demand, wind):
- """Generates an area plot with dynamic x-axis intervals based on the data span,
- ensuring the x-axis ticks start from the data start point and end with the data endpoint,
- divided into rational intervals.
+ """Generates an area plot with dynamic x-axis intervals based on the data span, ensuring the x-axis ticks
+ are rounded to the nearest hour and include today's date in the title.
Args:
demand (pd.DataFrame): DataFrame containing energy demand data with a DateTimeIndex.
wind (pd.DataFrame): DataFrame containing wind energy production data with a DateTimeIndex.
Returns:
- matplotlib.pyplot: A plot object showing total energy demand and wind energy contribution over time with dynamically adjusted x-axis intervals.
+ matplotlib.pyplot: A plot object showing total energy demand and wind energy contribution over time with
+ dynamically adjusted x-axis intervals and today's date in the title.
"""
- # Increase font size
plt.rcParams.update({"font.size": 14})
plt.figure(figsize=(10, 6))
@@ -649,21 +659,18 @@ def area_plot_wind_demand(demand, wind):
start_time = combined.index.min()
end_time = combined.index.max()
- # Calculate the total duration in hours to determine the interval
duration_hours = (end_time - start_time).total_seconds() / 3600
if duration_hours <= 2:
- interval_hours = 0.5 # 30 minutes
+ interval_hours = 0.5
elif duration_hours <= 12:
- interval_hours = 3 # Every 3 hours
+ interval_hours = 3
elif duration_hours <= 24:
- interval_hours = 4 # Every 4 hours
+ interval_hours = 4
else:
- interval_hours = 6 # Every 6 hours
+ interval_hours = 6
- # Generate x-axis ticks
ticks = generate_xaxis_ticks(start_time, end_time, interval_hours)
- # Adding fill_between with edgecolor and linewidth
plt.fill_between(
combined.index,
combined["Demand"],
@@ -681,13 +688,12 @@ def area_plot_wind_demand(demand, wind):
linewidth=1.5,
)
- # Set the formatter for x-axis
plt.gca().xaxis.set_major_formatter(DateFormatter("%H:%M"))
-
- # Set custom ticks
plt.xticks(ticks, rotation=45)
- plt.title("Demand vs Wind Energy Contribution")
+ # Include today's date in the title
+ today_date = datetime.datetime.now().strftime("%Y-%m-%d")
+ plt.title(f"Demand vs Wind Energy Contribution - {today_date}")
plt.ylabel("Power (MW)")
plt.legend()
plt.grid(True)
From 41372ccc45a3ae344a44185ba0d4c205460cf57c Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Mon, 18 Mar 2024 12:48:08 +0000
Subject: [PATCH 21/23] Update prompt for fuel mix to fix energy system to
electricity system
---
subs/openai_script.py | 4 ++--
subs/telegram_func.py | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/subs/openai_script.py b/subs/openai_script.py
index 7d27e25..778bb59 100644
--- a/subs/openai_script.py
+++ b/subs/openai_script.py
@@ -347,8 +347,8 @@ def create_fuel_mix_prompt(date, fuel_mix_data, net_import_status):
f"📅 Date: {date}\n"
f"🔋 Fuel Mix Data (MWh & Percentage):\n\n"
f"{fuel_mix_details}\n\n"
- "Based on the above data, write a short report about the status of the energy system over the last 24 hours. "
- "Please summarize the contribution of each fuel source to the overall mix and any notable trends. "
+ "Based on the above data, write a short report about the status of the electricity system over the last 24 hours. "
+ "Please summarise the contribution of each fuel source to the overall mix and any notable trends. "
"Use the following structure for your response, incorporating the specified emojis to highlight each fuel source:\n\n"
"📋 Fuel Mix Status:\n"
"- 🪨 Coal: [percentage]%\n"
diff --git a/subs/telegram_func.py b/subs/telegram_func.py
index 2ddd63c..d400667 100644
--- a/subs/telegram_func.py
+++ b/subs/telegram_func.py
@@ -326,4 +326,4 @@ async def telegram_wind_analysis(update, context, user_first_name):
wind_demand_summary = wind_and_demand_report(prompt_for_wind_demand)
plot_demand_vs_wind = area_plot_wind_demand(demand, wind)
await send_plot_wind_demand(update, context, plot_demand_vs_wind)
- # await update.message.reply_text(wind_demand_summary)
+ await update.message.reply_text(wind_demand_summary)
From f47b06cf3c8ec6d5f7a3619d779e99343adfebca Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Mon, 18 Mar 2024 12:58:29 +0000
Subject: [PATCH 22/23] update readme file
---
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index a92ecae..876bd9a 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
## Overview
-The CleanEnergyBot is a Telegram bot designed to empower users in Ireland with real-time insights into electricity usage, CO2 emissions forecasts, and energy-saving recommendations. Utilizing real-time data from EirGrid, the entity responsible for electricity delivery across Ireland, this bot leverages advanced data analysis techniques and the capabilities of GPT-3 to provide actionable energy usage insights. By comparing current CO2 emissions forecasts with previous data and EU standard rates, the CleanEnergyBot aims to assist users in making informed, environmentally friendly energy decisions.
+The CleanEnergyBot is a Telegram bot designed to empower users in Ireland with real-time insights into electricity usage, CO2 emissions forecasts, daily wind and demand trends, and energy-saving recommendations. Utilizing real-time data from EirGrid, the entity responsible for electricity delivery across Ireland, this bot leverages advanced data analysis techniques and the capabilities of GPT-3 to provide actionable energy usage insights. By comparing current CO2 emissions forecasts with previous data and EU standard rates, the CleanEnergyBot aims to assist users in making informed, environmentally friendly energy decisions.
![Real-time Data Scraping Diagram](/images/overview.png)
@@ -20,6 +20,7 @@ The CleanEnergyBot is a Telegram bot designed to empower users in Ireland with r
- **CO2 Emissions Forecasts**: Offers forecasts of CO2 emissions, enabling users to compare current data with past performance and EU standards.
- **Energy Saving Recommendations**: Delivers tailored advice on the most efficient times for energy usage, helping users reduce their carbon footprint.
- **Fuel Mix Insights**: Delivers detailed information on the current mix of fuel sources powering the electricity grid, including renewables, gas, coal, and other sources. This feature helps users understand the environmental impact of their electricity consumption and the role of renewable energy in the grid.
+- **Daily Demand Trend and Wind Contribution**:Delivers a visual journey through the day's demand fluctuations, witnessing how wind power steps up to meet electricity demand peaks and valleys.
- **Text-to-Speech for Energy Saving Tips**: Utilising the ElevenLabs API, the bot now sends energy-saving tips as voice messages, making it easier and more convenient for users to receive and listen to advice on the go.
- **User Interaction**: Supports various commands for users to start conversations, receive energy status updates, give feedback, and more.
- **Graphical Analysis**: Sends users colour-coded graphical images indicating periods of low, medium, and high carbon intensity, as well as pie charts visualizing the current fuel mix.
From 547dd7c4fb483509e7122118d69915d3b8e3a9c3 Mon Sep 17 00:00:00 2001
From: "Saeed Misaghian (SaM)" <78544726+SaM-92@users.noreply.github.com>
Date: Sun, 3 Mar 2024 03:44:32 +0000
Subject: [PATCH 23/23] update readme with the new features
---
README.md | 3 ++-
images/video_thumbnail.gif | Bin 988157 -> 3132750 bytes
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 876bd9a..5f007db 100644
--- a/README.md
+++ b/README.md
@@ -22,6 +22,7 @@ The CleanEnergyBot is a Telegram bot designed to empower users in Ireland with r
- **Fuel Mix Insights**: Delivers detailed information on the current mix of fuel sources powering the electricity grid, including renewables, gas, coal, and other sources. This feature helps users understand the environmental impact of their electricity consumption and the role of renewable energy in the grid.
- **Daily Demand Trend and Wind Contribution**:Delivers a visual journey through the day's demand fluctuations, witnessing how wind power steps up to meet electricity demand peaks and valleys.
- **Text-to-Speech for Energy Saving Tips**: Utilising the ElevenLabs API, the bot now sends energy-saving tips as voice messages, making it easier and more convenient for users to receive and listen to advice on the go.
+- **Interactive User Conversations**: Users can now have detailed conversations with the bot, asking for energy advice and receiving personalized recommendations. A query limit of 3 per 3 hours is in place to manage API costs effectively.
- **User Interaction**: Supports various commands for users to start conversations, receive energy status updates, give feedback, and more.
- **Graphical Analysis**: Sends users colour-coded graphical images indicating periods of low, medium, and high carbon intensity, as well as pie charts visualizing the current fuel mix.
@@ -33,7 +34,7 @@ The CleanEnergyBot was developed through a series of carefully structured steps,
2. **Data Analysis**: The fetched data are analyzed to determine CO2 emissions intensity and compliance with EU standards, categorizing them into low, medium, and high segments.
3. **OpenAI API Integration**: Functions were developed to prepare structured prompts for the OpenAI API, facilitating the generation of reports and energy-saving tips for users.
4. **Text-to-Speech Integration**: The ElevenLabs API has been integrated to convert energy-saving tips into audio format, enhancing accessibility and user engagement.
-5. **Interactive Bot Interface**: The bot offers various interaction options, including restarting the conversation, contacting the developer, and providing feedback.
+5. **Interactive Bot Interface and Query Limitation**: The bot offers various interaction options, including restarting the conversation, contacting the developer, providing feedback, and engaging in detailed conversations with a built-in query limit for cost-effective API usage.
## Deployment on Azure
diff --git a/images/video_thumbnail.gif b/images/video_thumbnail.gif
index 4549bc57c05d6b2aba7d5e2b47b2870d5a0fb37f..43ca001ee91818974136c1c55afee090aef0b190 100644
GIT binary patch
delta 2948877
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