{ "cells": [ { "cell_type": "markdown", "id": "d6e4611c", "metadata": {}, "source": [ "# Transformer tap changer based on load flow results for the transformer" ] }, { "cell_type": "markdown", "id": "d29cbec8", "metadata": {}, "source": [ "In this tuitorial, we describe a transformer tap control strategy in a Low-Voltage (LV) distribution grid with distributed generation. The concept of the tap changer control is based on reacting to the direction and magnitude of the power flowing through the transformer. If the power is flowing towards the grid, it signifies consumption and a voltage drop in the grid. In this situation, it is beneficial to increase the voltage setpoint for the transformer tap changer. Alternatively, if the power is flowing through the transformer out of the grid, it is likely that the voltage rises due to distributed generation. In this case, the voltage setpoint of the transformer tap changer can be reduced. This control strategy allows expanding the usable voltage band. The characteristic curve for the voltage setpoint can be configured to match the voltage behavior in the grid, potentially leading to a better utilization of the available voltage band, than if using the local control strategy (with only ContinuousTapControl or DiscreteTapControl)." ] }, { "cell_type": "code", "execution_count": 1, "id": "bcb67635", "metadata": {}, "outputs": [], "source": [ "import os\n", "import numpy as np\n", "import pandas as pd\n", "import tempfile\n", "import pandapower as pp\n", "import pandapower.control\n", "import pandapower.control as control\n", "from pandapower.control import Characteristic, SplineCharacteristic\n", "from pandapower.control.util.auxiliary import plot_characteristic\n", "from scipy.interpolate import interp1d" ] }, { "cell_type": "markdown", "id": "e8c17b9d", "metadata": {}, "source": [ "First, we crate an example grid with a load and a static generator:" ] }, { "cell_type": "code", "execution_count": 2, "id": "ad57445a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
namevn_kvtypezonein_service
0Bus 0110.0nNoneTrue
1Bus 1110.0nNoneTrue
2Bus 220.0nNoneTrue
3Bus 320.0nNoneTrue
\n", "
" ], "text/plain": [ " name vn_kv type zone in_service\n", "0 Bus 0 110.0 n None True\n", "1 Bus 1 110.0 n None True\n", "2 Bus 2 20.0 n None True\n", "3 Bus 3 20.0 n None True" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "net = pp.create_empty_network() \n", "for i in range(4):\n", " if i < 2:\n", " vn=110\n", " else:\n", " vn=20\n", " pp.create_bus(net, name='Bus %s' % i, vn_kv=vn, type=\"n\")\n", "pp.create_line(net, 0, 1, length_km=10, std_type=\"149-AL1/24-ST1A 110.0\",name=\"Line 1\")\n", "pp.create_line(net, 2, 3, length_km=10, std_type=\"184-AL1/30-ST1A 20.0\",name=\"Line 2\")\n", "pp.create_ext_grid(net, 0, vm_pu=1.02, va_degree=50) \n", "trafo = pp.create_transformer(net, 1, 2, name=\"110kV/20kV transformer\", std_type=\"25 MVA 110/20 kV\")\n", "pp.create_load(net, 3, p_mw=35, q_mvar=4, scaling=1, name=\"load\")\n", "pp.create_sgen(net, 3, p_mw=10, q_mvar=3, name=\"generator\") \n", "net.bus" ] }, { "cell_type": "markdown", "id": "29a26026", "metadata": {}, "source": [ "We use a ContiniousTapControl controller to adjust the transformer tap position and we set the voltage setpoint to 0.98 p. u." ] }, { "cell_type": "code", "execution_count": 3, "id": "c5a74764", "metadata": {}, "outputs": [], "source": [ "trafo_controller = control.ContinuousTapControl(net=net, tid=0, vm_set_pu=0.98, tol=1e-6)" ] }, { "cell_type": "markdown", "id": "c9abccd1", "metadata": {}, "source": [ "An object of class Characteristic can be used to provide a function for the voltage setpoint in relation to the input variable. The function is a piecewise linear characteristic. In this case, the characteristic represents the voltage setpoint depending on the active power flowing through the transformer:" ] }, { "cell_type": "code", "execution_count": 4, "id": "b8cac110", "metadata": {}, "outputs": [], "source": [ "c = Characteristic(net, x_values=[-20, -15, -5, 5,15, 20], y_values=[0.92, 0.97, 0.98, 1.02, 1.03, 1.08])" ] }, { "cell_type": "markdown", "id": "9ad1569c", "metadata": {}, "source": [ "We can obtain the exact voltage setpoint that corresponds to a certain input value by calling it. For example, the voltage setpoint for the active power of 0 MW is 1.0 p. u." ] }, { "cell_type": "code", "execution_count": 5, "id": "d927ccf9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c(x=0)" ] }, { "cell_type": "markdown", "id": "33889b04", "metadata": {}, "source": [ "The Characteristic can be displayed visually:" ] }, { "cell_type": "code", "execution_count": 6, "id": "336cb69f", "metadata": {}, "outputs": [ { "data": { "image/png": "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MjMz6dmzJ5mZmTz11FM4HA4mT57svOe4ceNYsGABn376KU2aNCErKwuAgIAA/Pz8av09VqQnpeT32mhzYdi5VLtJgyPKfU/q+REREU9megC65557OHbsGNOmTSMrK4uePXuybNkyAgMDAcjIyMBq/WW2/rlz53j88cfZt28fjRs3ZujQobz33ns0bdrU2ebVV18FYODAgS5/65133mH06NE1/ZZKqWhPSm22Ue+OiIjUZ6bOAnNXlRlFLiIiIu6hMt/fpi+EKCIiIlLbFIBERESk3lEAEhERkXpHAUhERETqHQUgERERqXcUgERERKTeUQASERGRekcBSEREROodBSARERGpdxSAREREpN4xfS8wd1SyO0hubq7JlYiIiEhFlXxvV2SXLwWgMpw6dQqAkJAQkysRERGRyjp16hQBAQGXbKPNUMvgcDg4fPgwTZo0wWKxmF2O6XJzcwkJCeHgwYPaHLYG6XOuHfqca4c+59qjz/oXhmFw6tQpgoODsVovPcpHPUBlsFqttGvXzuwy3I6/v3+9/x9XbdDnXDv0OdcOfc61R591scv1/JTQIGgRERGpdxSAREREpN5RAJLL8vHx4cknn8THx8fsUuo0fc61Q59z7dDnXHv0WVeNBkGLiIhIvaMeIBEREal3FIBERESk3lEAEhERkXpHAUjKtX//fv7f//t/hIWF4efnR6dOnXjyyScpKChwaff9999z/fXX4+vrS0hICP/85z9NqthzPffcc/Tv35+GDRvStGnTMttkZGQwbNgwGjZsSOvWrfnrX/9KUVFR7RZaB8yePZvQ0FB8fX3p168f69evN7skj7Zy5Upuu+02goODsVgsLF682OV1wzCYNm0abdq0wc/Pj5iYGNLS0swp1oNNnz6dvn370qRJE1q3bs3w4cPZs2ePS5tz584xbtw4WrRoQePGjfnd735Hdna2SRW7PwUgKdfu3btxOBy89tpr/PDDDyQmJjJnzhwee+wxZ5vc3FyGDBlChw4d2LRpE//617946qmneP31102s3PMUFBRw11138eCDD5b5ut1uZ9iwYRQUFLBmzRrmzZvH3LlzmTZtWi1X6tkWLlxIfHw8Tz75JJs3byYyMpLY2FiOHj1qdmkeKy8vj8jISGbPnl3m6//85z+ZNWsWc+bMYd26dTRq1IjY2FjOnTtXy5V6thUrVjBu3DjWrl1LUlIShYWFDBkyhLy8PGebSZMm8fnnn/Of//yHFStWcPjwYX7729+aWLWbM0Qq4Z///KcRFhbmPH7llVeMZs2aGfn5+c5zjz76qHHVVVeZUZ7He+edd4yAgIBS55cuXWpYrVYjKyvLee7VV181/P39XT57ubRrr73WGDdunPPYbrcbwcHBxvTp002squ4AjEWLFjmPHQ6HERQUZPzrX/9ynjt58qTh4+NjfPDBByZUWHccPXrUAIwVK1YYhlH8uTZo0MD4z3/+42yza9cuAzBSUlLMKtOtqQdIKiUnJ4fmzZs7j1NSUrjhhhvw9vZ2nouNjWXPnj2cOHHCjBLrpJSUFHr06EFgYKDzXGxsLLm5ufzwww8mVuY5CgoK2LRpEzExMc5zVquVmJgYUlJSTKys7kpPTycrK8vlMw8ICKBfv376zK9QTk4OgPO/x5s2baKwsNDls+7SpQvt27fXZ10OBSCpsL179/LSSy/x5z//2XkuKyvL5UsZcB5nZWXVan11mT7nK3f8+HHsdnuZn6M+w5pR8rnqM69eDoeDiRMnMmDAALp37w4Uf9be3t6lxhDqsy6fAlA9NGXKFCwWyyV/du/e7XJNZmYmN998M3fddRcPPPCASZV7lqp8ziIilzNu3Dh27NjBhx9+aHYpHk27wddDf/nLXxg9evQl23Ts2NH5++HDh7npppvo379/qcHNQUFBpWYZlBwHBQVVT8EeqrKf86UEBQWVmq2kz7lyWrZsic1mK/Pfqz7DmlHyuWZnZ9OmTRvn+ezsbHr27GlSVZ5t/PjxfPHFF6xcuZJ27do5zwcFBVFQUMDJkyddeoH077t8CkD1UKtWrWjVqlWF2mZmZnLTTTfRu3dv3nnnHaxW107D6Oho/va3v1FYWEiDBg0ASEpK4qqrrqJZs2bVXrsnqcznfDnR0dE899xzHD16lNatWwPFn7O/vz9du3atlr9R13l7e9O7d2+Sk5MZPnw4UPwoITk5mfHjx5tbXB0VFhZGUFAQycnJzsCTm5vLunXryp3xKGUzDIOHH36YRYsWsXz5csLCwlxe7927Nw0aNCA5OZnf/e53AOzZs4eMjAyio6PNKNn9mT0KW9zXoUOHjM6dOxuDBg0yDh06ZBw5csT5U+LkyZNGYGCg8cc//tHYsWOH8eGHHxoNGzY0XnvtNRMr9zwHDhwwtmzZYjz99NNG48aNjS1bthhbtmwxTp06ZRiGYRQVFRndu3c3hgwZYmzdutVYtmyZ0apVK2Pq1KkmV+5ZPvzwQ8PHx8eYO3eusXPnTuNPf/qT0bRpU5fZdVI5p06dcv57BYyEhARjy5YtxoEDBwzDMIwXXnjBaNq0qfHpp58a33//vXH77bcbYWFhxtmzZ02u3LM8+OCDRkBAgLF8+XKX/xafOXPG2Wbs2LFG+/btjW+++cbYuHGjER0dbURHR5tYtXtTAJJyvfPOOwZQ5s+Ftm3bZvzqV78yfHx8jLZt2xovvPCCSRV7rlGjRpX5OX/77bfONvv37zduueUWw8/Pz2jZsqXxl7/8xSgsLDSvaA/10ksvGe3btze8vb2Na6+91li7dq3ZJXm0b7/9tsx/u6NGjTIMo3gq/BNPPGEEBgYaPj4+xqBBg4w9e/aYW7QHKu+/xe+8846zzdmzZ42HHnrIaNasmdGwYUPjjjvucPl/WMWVdoMXERGRekezwERERKTeUQASERGRekcBSEREROodBSARERGpdxSAREREpN5RABIREZF6RwFIRERE6h0FIBEREal3FIBExOOEhoYyc+ZMs8sQEQ+mACQiIiL1jgKQiIiI1DsKQCJiioEDBzJ+/HjGjx9PQEAALVu25IknnqCi2xOeOXOGMWPG0KRJE9q3b8/rr7/ufK1///48+uijLu2PHTtGgwYNWLly5WXvHRoayrPPPsvIkSNp3LgxHTp04LPPPuPYsWPcfvvtNG7cmGuuuYaNGzcCYBgGrVq14uOPP3beo2fPnrRp08Z5vGrVKnx8fDhz5kyF3p+I1CwFIBExzbx58/Dy8mL9+vW8+OKLJCQk8Oabb1bo2hkzZtCnTx+2bNnCQw89xIMPPsiePXsAGDFiBB9++KFLmFq4cCHBwcFcf/31Fbp/YmIiAwYMYMuWLQwbNow//vGPjBw5kvvuu4/NmzfTqVMnRo4ciWEYWCwWbrjhBpYvXw7AiRMn2LVrF2fPnmX37t0ArFixgr59+9KwYcNKfEIiUlMUgETENCEhISQmJnLVVVcxYsQIHn74YRITEyt07dChQ3nooYfo3Lkzjz76KC1btuTbb78F4O677+bw4cOsWrXK2X7BggXce++9WCyWCt//z3/+M+Hh4UybNo3c3Fz69u3LXXfdRUREBI8++ii7du0iOzsbKO7RKglAK1euJCoqyuXc8uXLufHGGyv4yYhITVMAEhHTXHfddS6BJDo6mrS0NOx2+2Wvveaaa5y/WywWgoKCOHr0KACtWrViyJAhzJ8/H4D09HRSUlIYMWJEhWu78P6BgYEA9OjRo9S5kr954403snPnTo4dO8aKFSsYOHCgMwAVFhayZs0aBg4cWOG/LyI1SwFIRDxSgwYNXI4tFgsOh8N5PGLECD7++GMKCwtZsGABPXr0cAkwlbl/SUgr61zJ3+zRowfNmzdnxYoVLgFoxYoVbNiwgcLCQvr371/5NyoiNUIBSERMs27dOpfjtWvXEh4ejs1mu+J733777Zw7d45ly5axYMGCSvX+VIXFYuH666/n008/5YcffuBXv/oV11xzDfn5+bz22mv06dOHRo0a1WgNIlJxCkAiYpqMjAzi4+PZs2cPH3zwAS+99BKPPPJItdy7UaNGDB8+nCeeeIJdu3Zx7733Vst9L2XgwIF88MEH9OzZk8aNG2O1WrnhhhuYP3++xv+IuBkFIBExzciRIzl79izXXnst48aN45FHHuFPf/pTtd1/xIgRbNu2jeuvv5727dtX233Lc+ONN2K3213G+gwcOLDUORExn8Wo6KIbIiLVaODAgfTs2VNbWoiIKdQDJCIiIvWOApCIuJXvvvuOxo0bl/vj7vcXEc+gR2Ai4lbOnj1LZmZmua937tzZre8vIp5BAUhERETqHT0CExERkXpHAUhERETqHQUgERERqXcUgERERKTeUQASERGRekcBSEREROodBSARERGpdxSAREREpN75/2O2h6WOUWpWAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_characteristic(c,-25,25,50, 'p_hv_mw', 'u_set_pu')" ] }, { "cell_type": "markdown", "id": "cf85d577", "metadata": {}, "source": [ "We use an additional controller of class USetTapControl to adjust the voltage setpoint of the ContinuousTapControl based on the defined Characteristic. It is possible to use any variable from the transformer results table, the standard variable is p_hv_mw." ] }, { "cell_type": "code", "execution_count": 7, "id": "e7956cd8", "metadata": {}, "outputs": [], "source": [ "tc = control.VmSetTapControl(net, 0, characteristic_index=c.index, tol=0.0005)" ] }, { "cell_type": "markdown", "id": "47fc7867", "metadata": {}, "source": [ "Now, we can run the calculation and verify the results for different load flow situations." ] }, { "cell_type": "code", "execution_count": 8, "id": "ae5fdc88", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The load has active power of 35.0 MW, sgen has active power of 10.0 MW\n", "Power flowing through the transformer is 27.88 MW\n", "Voltage setpoint from Characteristic is 1.080 p. u.\n", "Voltage at the controlled bus is 1.080 p. u.\n", "Transformer tap position is -6.47\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
vm_puva_degreep_mwq_mvar
01.0200000.000000-28.015006-10.07003
11.012223-0.4356550.0000000.00000
21.079999-6.6971900.0000000.00000
30.946174-18.11815825.0000001.00000
\n", "
" ], "text/plain": [ " vm_pu va_degree p_mw q_mvar\n", "0 1.020000 0.000000 -28.015006 -10.07003\n", "1 1.012223 -0.435655 0.000000 0.00000\n", "2 1.079999 -6.697190 0.000000 0.00000\n", "3 0.946174 -18.118158 25.000000 1.00000" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pp.runpp(net, run_control=True)\n", "print(f\"The load has active power of {net.load.at[0, 'p_mw']} MW, sgen has active power of {net.sgen.at[0, 'p_mw']} MW\")\n", "print(f\"Power flowing through the transformer is {net.res_trafo.at[0, 'p_hv_mw']:.2f} MW\")\n", "print(f\"Voltage setpoint from Characteristic is {c(x=net.res_trafo.at[0, 'p_hv_mw']):.3f} p. u.\")\n", "print(f\"Voltage at the controlled bus is {net.res_bus.at[2, 'vm_pu']:.3f} p. u.\")\n", "print(f\"Transformer tap position is {net.trafo.at[0, 'tap_pos']:.2f}\")\n", "net.res_bus" ] }, { "cell_type": "code", "execution_count": 9, "id": "4c8024e0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The load has active power of 20.0 MW, sgen has active power of 10.0 MW\n", "Power flowing through the transformer is 10.45 MW\n", "Voltage setpoint from Characteristic is 1.025 p. u.\n", "Voltage at the controlled bus is 1.025 p. u.\n", "Transformer tap position is -1.25\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
vm_puva_degreep_mwq_mvar
01.0200000.000000-10.468562-2.080746
11.017611-0.1758600.0000000.000000
21.025451-2.8551510.0000000.000000
30.973503-7.37089910.0000001.000000
\n", "
" ], "text/plain": [ " vm_pu va_degree p_mw q_mvar\n", "0 1.020000 0.000000 -10.468562 -2.080746\n", "1 1.017611 -0.175860 0.000000 0.000000\n", "2 1.025451 -2.855151 0.000000 0.000000\n", "3 0.973503 -7.370899 10.000000 1.000000" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "net.load.at[0, 'p_mw'] = 20\n", "pp.runpp(net, run_control=True)\n", "print(f\"The load has active power of {net.load.at[0, 'p_mw']} MW, sgen has active power of {net.sgen.at[0, 'p_mw']} MW\")\n", "print(f\"Power flowing through the transformer is {net.res_trafo.at[0, 'p_hv_mw']:.2f} MW\")\n", "print(f\"Voltage setpoint from Characteristic is {c(x=net.res_trafo.at[0, 'p_hv_mw']):.3f} p. u.\")\n", "print(f\"Voltage at the controlled bus is {net.res_bus.at[2, 'vm_pu']:.3f} p. u.\")\n", "print(f\"Transformer tap position is {net.trafo.at[0, 'tap_pos']:.2f}\")\n", "net.res_bus" ] }, { "cell_type": "code", "execution_count": 10, "id": "2e36eb9e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The load has active power of 0.0 MW, sgen has active power of 10.0 MW\n", "Power flowing through the transformer is -9.58 MW\n", "Voltage setpoint from Characteristic is 0.975 p. u.\n", "Voltage at the controlled bus is 0.975 p. u.\n", "Transformer tap position is 2.50\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
vm_puva_degreep_mwq_mvar
01.0200000.0000009.560748-1.99191
11.0207900.1973700.0000000.00000
20.9754242.9653080.0000000.00000
31.0026108.033830-10.0000001.00000
\n", "
" ], "text/plain": [ " vm_pu va_degree p_mw q_mvar\n", "0 1.020000 0.000000 9.560748 -1.99191\n", "1 1.020790 0.197370 0.000000 0.00000\n", "2 0.975424 2.965308 0.000000 0.00000\n", "3 1.002610 8.033830 -10.000000 1.00000" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "net.load.at[0, 'p_mw'] = 0\n", "pp.runpp(net, run_control=True)\n", "print(f\"The load has active power of {net.load.at[0, 'p_mw']} MW, sgen has active power of {net.sgen.at[0, 'p_mw']} MW\")\n", "print(f\"Power flowing through the transformer is {net.res_trafo.at[0, 'p_hv_mw']:.2f} MW\")\n", "print(f\"Voltage setpoint from Characteristic is {c(x=net.res_trafo.at[0, 'p_hv_mw']):.3f} p. u.\")\n", "print(f\"Voltage at the controlled bus is {net.res_bus.at[2, 'vm_pu']:.3f} p. u.\")\n", "print(f\"Transformer tap position is {net.trafo.at[0, 'tap_pos']:.2f}\")\n", "net.res_bus" ] }, { "cell_type": "markdown", "id": "83bb904f", "metadata": {}, "source": [ "Next, we demonstrate the usage of the current as the input instead of active power. To this end, we define a new Characteristic and a new USetTapControl." ] }, { "cell_type": "code", "execution_count": 11, "id": "dd08cfd7", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGdCAYAAAAxCSikAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPPElEQVR4nO3de1iUdf7/8efMcCwFxQOK4hnT0jyBrrnVmhhfdd1q2822k+l2cENN2V3TzbIztb/ylJZlB80O6pZam6ZLmJplHlBK8wAKKqKgpjKIHGfu3x/E5AgYowwzwOtxXVxX9z2f+/Y991q89nN/7vdtMgzDQERERMSLmT1dgIiIiMivUWARERERr6fAIiIiIl5PgUVERES8ngKLiIiIeD0FFhEREfF6CiwiIiLi9RRYRERExOv5eLqA6mK32zl69CgNGzbEZDJ5uhwRERGpAsMwyM3NJSwsDLO58nmUOhNYjh49Snh4uKfLEBERkUuQkZFB69atK/28zgSWhg0bAqVfOCgoyMPViIiISFVYrVbCw8Mdv8crU2cCS9ltoKCgIAUWERGRWubXlnNo0a2IiIh4PQUWERER8XoKLCIiIuL1FFhERETE6ymwiIiIiNdTYBERERGvp8AiIiIiXk+BRURERLyeAouIiIh4PZcDy4YNGxg+fDhhYWGYTCZWrFjxq8esW7eO3r174+/vT6dOnViwYIHT5zabjSeeeIL27dsTGBhIx44defbZZzEMw9XyREREpBrMSEhhdmJqhZ/NTkxlRkJKjdbjcmDJy8ujR48ezJ07t0rj09PTGTZsGAMHDiQ5OZkJEybwwAMPsGbNGseYl156iddff505c+awZ88eXnrpJf7973/z6quvulqeiIiIVAOL2cT0CkLL7MRUpiekYDFfvJV+dXP5XUJDhgxhyJAhVR4/b9482rdvzyuvvAJA165d2bhxIzNmzCAmJgaAb7/9lltuuYVhw4YB0K5dOz766CO2bNniankiIiJSDcYPigBg+s8zKeMHRTjCStzgzo7Pa4rbX364adMmoqOjnfbFxMQwYcIEx/Z1113Hm2++SUpKCp07d+b7779n48aNTJ8+vdLzFhYWUlhY6Ni2Wq3VXruIiEh9dn5omfllCnYDj4QVqIHAkpWVRWhoqNO+0NBQrFYr+fn5BAYGMnnyZKxWK126dMFisWCz2Xj++ee5++67Kz1vfHw8Tz/9tLvLFxERqdfaNrkCALsBPmaTR8IKeMlTQkuXLuWDDz7gww8/ZPv27SxcuJCXX36ZhQsXVnrMlClTyMnJcfxkZGTUYMUiIiJ139aDp4hb8j0AZhOU2I1KF+K6m9tnWFq0aEF2drbTvuzsbIKCgggMDATgn//8J5MnT+bOO+8EoHv37hw6dIj4+HhGjhxZ4Xn9/f3x9/d3b/EiIiL11MGTedz79mZshkGnZlfyv4k3Muer/U5rWmqS2wNL//79WbVqldO+hIQE+vfv79g+d+4cZrPzZI/FYsFut7u7PBEREbnA6bwibn3tGwqK7bQI8ue/467HfN7tIE+EFpcDy9mzZ9m/f79jOz09neTkZEJCQmjTpg1TpkwhMzOT9957D4AxY8YwZ84cJk2axOjRo1m7di1Lly5l5cqVjnMMHz6c559/njZt2nDNNdewY8cOpk+fzujRo6vhK4qIiEhVFZbYePj9JM6cK6ZhgA+fjfstgX4Wx+dlIcVmr9leaSbDxe5s69atY+DAgeX2jxw5kgULFnD//fdz8OBB1q1b53TMxIkT2b17N61bt+aJJ57g/vvvd3yem5vLE088wfLlyzl+/DhhYWH85S9/4cknn8TPz69KdVmtVoKDg8nJySEoKMiVryQiIiKAYRjELf2e5Tsyaejvw8d/u46rWjR0659Z1d/fLgcWb6XAIiIicnlmfpnCzC9TsZhNLBgVxfURzdz+Z1b197dXPCUkIiIiNaeitvvLdxxh5pel+37XuVmNhBVXKLCIiIjUMxe23d+c9hOTPv7B8XmP8EYeqqxybn9KSERERLzL+U/7nM4rYnlyJsW20hUiE6MjPNYc7mIUWEREROqh8YMiyC+y8fr6A7/su6kTj0Z39mBVldMtIRERkXqooNjG1oOnHNu+FhNxN1/lwYouToFFRESknjEMg0kf/8C2Q6eB0rBSbPNc2/2qUGARERGpZ2YkpPDZ90cB+FOf1qQ+P5S4wZ2dFuJ6G61hERERqUc+TjrC7LWlHetvvjqUl//cA8CjbferQoFFRESknvj2wEmmLCt9fLlv+8a8eV+k0+eeartfFQosIiIi9cD+42cZsyiJYpvB769tyew7e1U4zttmVspoDYuIiEgd99PZQkYt2IK1oITebRrx8p97YDabPF2WSxRYRERE6pAL2+4XFNt48L1tZJzKJzjQl8i2jQnwtVzkDN5Jt4RERETqkLK2+wBjB3bi7//5nu2Hz+DvYyYnv5gGAb4ervDSKLCIiIjUIec/7bNx/wm2pJ/GbILCEjtxgzt77RqVX6PAIiIiUseMHxTBrswc/rc7GwC7Qa0OK6A1LCIiInXON/tPsnbvcce2n8Vcq8MKKLCIiIjUKanZuYx5P4mSn3up+FnMFNnsXtvBtqp0S0hERKSOOJFbyKgFW8ktKAFK374cd/NVzE5M9doOtlWlwCIiIlIHlD2+fOR0PgB/u7Gj4+3L3t52vyoUWERERGo5u90gbmkyyRmljy/f1bcNjw3p4jTGm9vuV4UCi4iISC337zX7WLUzC1+LifdG96VfhyYVjquNMytltOhWRESkFvtoy2HmrT8AwL//dG2lYaW2U2ARERGpBS5suQ/wdeoJpq7YBUC/9iHc1qu1J0qrEQosIiIitUBZy/2y0LIvK5dH3t/uWJNyXce6ObNSRmtYREREaoHzn/TJKyzh8x+OkVv48+PLgzrxaHRnT5bndgosIiIitcT4QREU2+y8una/Y9/fbuxI3OCrPFhVzdAtIRERkVrCbjdIzT7r2Pa1mMo9vlxXKbCIiIjUEi+u3svqH7MA8DGbKLYZtb7lflUpsIiIiNQC7393iDc3pAEwtFsL9r8wlLjBnZ0W4tZlWsMiIiLi5dbtO84Tn5Y+vnxdxya8dk8foG603K8qBRYREREvtueYlbEf7sAw4OqWQXzwQD+nz2t7y/2qcvmW0IYNGxg+fDhhYWGYTCZWrFjxq8esW7eO3r174+/vT6dOnViwYEG5MZmZmdxzzz00adKEwMBAunfvzrZt21wtT0REpM7IthYwesFWzhaW8JsOIayIHYDJZCo3bvygCCYOrtuPNbscWPLy8ujRowdz586t0vj09HSGDRvGwIEDSU5OZsKECTzwwAOsWbPGMeb06dMMGDAAX19fvvjiC3bv3s0rr7xC48aNXS1PRESk1qmoi+25ohL+unArx3IKaHSFL2/cE4mfT/1deuryLaEhQ4YwZMiQKo+fN28e7du355VXXgGga9eubNy4kRkzZhATEwPASy+9RHh4OO+++67juPbt27tamoiISK1U1sUWSmdLbHaD8R8lsyvTCsDtvVoTfIWvJ0v0OLevYdm0aRPR0dFO+2JiYpgwYYJj+7PPPiMmJoY///nPrF+/nlatWvHII4/w4IMPVnrewsJCCgsLHdtWq7XaaxcREakJFy6ePXOumC/3ZANwZ1Q4Twy/2mO1eQu3zy1lZWURGhrqtC80NBSr1Up+fj4AaWlpvP7660RERLBmzRr+9re/MX78eBYuXFjpeePj4wkODnb8hIeHu/V7iIiIuNP4QRGOx5Tf+SYdgGHdW/Li7dd6uDLv4BU3w+x2O7179+aFF16gV69ePPTQQzz44IPMmzev0mOmTJlCTk6O4ycjI6MGKxYREal+3VoFOf7ZYjIx9+7eHqzGu7g9sLRo0YLs7GynfdnZ2QQFBREYGAhAy5Ytufpq5+murl27cvjw4UrP6+/vT1BQkNOPiIhIbfXj0RweXpQEgNkENqP+dLGtCrcHlv79+5OYmOi0LyEhgf79+zu2BwwYwL59+5zGpKSk0LZtW3eXJyIi4nFZOQWMeOM7im0GbUIC2ffckHrVxbYqXF50e/bsWfbv/+Utkenp6SQnJxMSEkKbNm2YMmUKmZmZvPfeewCMGTOGOXPmMGnSJEaPHs3atWtZunQpK1eudJxj4sSJXHfddbzwwgvccccdbNmyhTfffJM333yzGr6iiIiI98orLGH4qxs5W1hCyJV+/Hfc9fhazPWqi21VuBxYtm3bxsCBAx3bcXFxAIwcOZIFCxZw7Ngxp1s57du3Z+XKlUycOJFZs2bRunVr3nrrLccjzQBRUVEsX76cKVOm8Mwzz9C+fXtmzpzJ3XfffTnfTURExKvZ7AbjPtrBibOFXOFn4dPYAQQH/vL4cn3pYlsVJsMw6sRVsFqtBAcHk5OTo/UsIiJSKzz12Y8s+PYg/j5mFj/0G3q1qX8NU6v6+9srnhISERGpb979Jp0F3x4EYOaInvUyrLhCgUVERMSNKmq7/+XubJ79fDcAAzo1YUj3lp4orVZRYBEREXGjsrb7ZaFlV2YO4z7aQdmylL7tQjxYXe3h9tb8IiIi9dn5T/vkFhTzafJR8ottADw6KIJHo+v2W5ariwKLiIiIm40fFEFRiZ05X/3SFiR2YEcmDlZYqSrdEhIREXGzEpudH4/mOLZ9LSb+GdPFgxXVPgosIiIibmQYBk//dzdf7TsBgI/ZRLFNbfddpcAiIiLiRu98c5BF3x0CYPi1Yex/Yaja7l8CrWERERFxk//9mOV4fPmGiKa8elcvALXdvwQKLCIiIm7ww5EzPLo4GYBrWwezcHRfp8/Vdt81CiwiIiLVLPNMPn9duI38Yhs3dm7G2yMjMZlM5cZpZqXqtIZFRESkGuUWFDP63a2cyC2kS4uGzLmrFz4W/bq9XLqCIiIil+jCtvvFNjuPfLCdfdm5XOln4bqOTWgY4HuRM0hV6ZaQiIjIJSpruw8w7qZOTPvsR75OPYmP2URekY1GV/h5uMK6Q4FFRETkEp3/tM+2g6fYkHoSgBK7QdzgzlqjUo0UWERERC7D+EERpGbn8t8fjjn2KaxUP61hERERuQzJGWdI2JPt2PazmBVW3ECBRURE5BJlnDrHAwu3UlBsB0rfEVRks6uDrRvolpCIiMglyMkvZvSCrZw8WwTA2IGd+EfMVcxOTFUHWzdQYBEREXFRsc1O7AfbST1+FoAHr2/PP2KuAtR2310UWERERFxgGAZTl+9i4/7Sx5dHRIXz+LCrncao7X71U2ARERFxwbz1aSzZloHZBG/c24dBXUMrHKeZleqlRbciIiIVuLCLLcDKH47x0uq9ANwQ0azSsCLVT4FFRESkAmVdbMtCy/bDp4lbmuz4vHfbxh6qrH7SLSEREZEKnL94Nie/mBU7MiksKX18eUJ0hG751DAFFhERkUqMHxRBQbGN19YdcOwbO7ATE6I7e7Cq+km3hERERCpRVGInOeOMY9vXYnI8viw1S4FFRESkAoZh8PjynXx74CcAfMwmim2Guth6iAKLiIhIBV5bd4D/JB0B4LZerdj/wlDiBnd2WogrNUdrWERERC7w2fdH+X9r9gFwU5fmzBjRE1AXW09SYBERETnPtoOn+Md/vgegT5tGvHN/lNPn6mLrGS7fEtqwYQPDhw8nLCwMk8nEihUrfvWYdevW0bt3b/z9/enUqRMLFiyodOyLL76IyWRiwoQJrpYmIiJyWQ79lMdDi5IoKrFz89WhLB1zXYXjxg+KYOJgPSlUk1wOLHl5efTo0YO5c+dWaXx6ejrDhg1j4MCBJCcnM2HCBB544AHWrFlTbuzWrVt54403uPbaa10tS0RE5LKcOVfEqAVbOZVXxLWtg5l5Z08sZpOny5KfuXxLaMiQIQwZMqTK4+fNm0f79u155ZVXAOjatSsbN25kxowZxMTEOMadPXuWu+++m/nz5/Pcc8+5WpaIiEiVzEhIwWI2Oa0/KSqx8/CiJNJO5NHA38Jb90VyhZ9WTXgTtz8ltGnTJqKjo532xcTEsGnTJqd9sbGxDBs2rNzYyhQWFmK1Wp1+REREfs2FLfcNw2Dysh/YnH4KgNt6t6Z5UIAnS5QKuD0+ZmVlERrq/HKo0NBQrFYr+fn5BAYGsnjxYrZv387WrVurfN74+Hiefvrp6i5XRETquAuf9AFYtj0TgD/2bsWzt3TzSF1ycR6f78rIyODRRx8lISGBgICqJ9opU6YQFxfn2LZarYSHh7ujRBERqWMqCi2DujZn+h09PVSR/Bq3B5YWLVqQnZ3ttC87O5ugoCACAwNJSkri+PHj9O7d2/G5zWZjw4YNzJkzh8LCQiwWS7nz+vv74+/v7+7yRUSkjvpNhyaOfzab4O2RURcZLZ7m9sDSv39/Vq1a5bQvISGB/v37AzBo0CB27tzp9PmoUaPo0qULjz32WIVhRURE5HKkn8zjvnc2A2Aygd2A2YmpagTnxVwOLGfPnmX//v2O7fT0dJKTkwkJCaFNmzZMmTKFzMxM3nvvPQDGjBnDnDlzmDRpEqNHj2bt2rUsXbqUlStXAtCwYUO6dXO+X3jllVfSpEmTcvtFREQu1+m8Im6b+w0FxXZaBAXw1T9+x/yv09S91su5HFi2bdvGwIEDHdtl60hGjhzJggULOHbsGIcPH3Z83r59e1auXMnEiROZNWsWrVu35q233nJ6pFlERKQmFJbY+P2rGzmTX0zDAB8+GzeAQD+LWu7XAibDMOpEb2Gr1UpwcDA5OTkEBQV5uhwREfEyhmEwcUkyK5KP4mcx8/n439I5tKHTmNmJqdjshrrY1qCq/v72+FNCIiIiNWHml6msSD6Kj9nEO/dHlQsroJkVb+b2xnEiIiKe9knSEWb93CjuuVu78duIph6uSFylwCIiInXGjPM62Jb5Lu0nJi/7AYDIto25s28bT5Qml0mBRURE6owL2+4fOHGWhxclUWwrXa55vWZWai2tYRERkTrj/Kd98otsrNp1jJz84tLPburEo9FaTFtbKbCIiEidMn5QBAXFNl5bd8Cxb8yNHYi7+SoPViWXS7eERESkTjlzrogNqScc274WE5OHdPVgRVIdFFhERKTO+OlsIX+Zv5ldmVYAfCwmim1GuYW4UvsosIiISJ1wIreQv8z/jj3HSsPKff3bsv/5ocQN7uy0EFdqJ61hERGRWu+4tYC/zP+OAyfyALj/unY89YdrANR2v45QYBERkVrtWE4+d83fTPrJPBr4W7gjMpwnh1/jNKYspNjsdeJtNPWSAouIiNQKMxJSsJhNTjMkR06f4675mzl86hwN/X1Y9ej1hIdcUeHxmlmp3RRYRESkVihrCgel4ePwT+f4y/zvyDyTD8CIqPBKw4rUfgosIiLicRXNnpS58A3K0xNSOH2uiNW7sjiWUwDAg9e35/FhV9dozVKz9JSQiIh43IUt9cvMTkxlekIK54pK+Oz7o5w8W0jTBv68+81BR1h5+IYOCiv1gGZYRETErVydPbEbBjHXtOD/rdnL2r0naBjgw/yv0ys8t6/FxJShagpXH2iGRURE3OrXZk/shsGmAz9hNkG7Jlcw88tUhsz6mrV7S7vV5haUYDGb6N4qmFED2vH77i0B8LOY1RSuHtEMi4iIXJKqzpxc2Aflrn5tePqz3fz3h6O0CArg9XUHeHXt/nLnMJlgwqDORLZrTM/wRlzp78PsxFTe/eYgcT+ftyz0gJ4CqusUWERE5JJc+NROmbIQETe4M4ZhkHYyj9Agf64JC2J6QorjGIAsa+k6lNAgf6LahZBXWMJX+07g+3NLfZMJBnRqWu68ZX+emsLVHwosIiJSjqvrTqA0LMxISGFWYio3RDRlZ2YOfZ77klN5ReXOYaJ0piWqXQh92jamdeNAXl273ymQXDh7YrMbTmGljJrC1Q8KLCIiUk5VZk8ARvZvR/rJPKYnpDAjIYWyyLAh9aTjGH8fMz3CGwEGW9JPO2ZPQoMCuLVXq3LnrWz2pCwgVUQzK3WfAouIiJRT0a2WWV+mMOPLVIZ0a0G2tYCYGRtIOZ6L8XNKKQsrIVf60adtY6LaNSayXQjdwoKZt/6AZk/kspgMw6gTfwusVivBwcHk5OQQFBTk6XJERLxWVW/3lNjsTPvsRz7YfBizCSrLDI2u8OXMuWIsZlPpsdERPBrd2emcF86eXGy/1C9V/f2tGRYRkXqmsts9L6/Zx5yv9tO/Qwj3vLWZHYdPk1dkA34JKz5mE91aBRPZtnT2ZMfh07yxIa3czInJZHKaHdHsiVwuBRYRkTrE1cWyKVm5NAvyZ+UPxzieWwjAprRTjmP8LGaKbHYsJhM2w+Bvv+vI32++ynG+88MKVHwrSWtPpDoosIiI1CGVzZ6UrT+J7tqcuCXJbD1UGko+33nM6fhWjQKJ/HntSUpWLou+O1Ru9sTXYta6E6lxCiwiIrWEq7MnmWfyadfkSv6zLYO0k3kAfLnnuOMYkwkwShfLWswmvp40kLBGgY7znR9WQE/tiGcpsIiI1BK/9qjxLT3DiP9iD9sOnsZiMrFka4bT8YG+Fnq1aeRYf7I5/SfmfnXAcdvn46QjWnciXkuBRUTEwy6lxf2Zc0V0bRnEwk0H2ZVpBeDT5KMVnt9iNrHsb9dxdVgQvhaz47xzvzpQ6WPGmj0Rb6PAIiLiYb82c/LooAiSM86w7eApdh+1coWfhXe+OVjuPJ2aNyjtfdI2hB+P5vDONwcdsyfrU0783LxNLe6ldlJgERFxo0tpcT9qQDumffYjy7ZnEt44kDc3pDGrkjcSm03w5r2R9GnbmMZX+jnO+85FXhCo2z1SG5ldPWDDhg0MHz6csLAwTCYTK1as+NVj1q1bR+/evfH396dTp04sWLDA6fP4+HiioqJo2LAhzZs359Zbb2Xfvn2uliYi4nXKZk9mXxA4ykKExWzi6Jl82ja5gp7hwUxPSKH7U/9j2fZMADJO55NfbKPRFb4M6tKcx/6vCyOiwoHSR47tBuw+ZnUKKxXNnsQN7uyoY+JFGrX92u0gEU9xeYYlLy+PHj16MHr0aP74xz/+6vj09HSGDRvGmDFj+OCDD0hMTOSBBx6gZcuWxMTEALB+/XpiY2OJioqipKSEf/3rX9x8883s3r2bK6+80vVvJSLiJS681RI7sBPTPvuR9787xFUtGrJ4y2Gntxef74+9WxHVLoTIto3p2KwBZrOJ2YmpLNmaodkTqXcuqzW/yWRi+fLl3HrrrZWOeeyxx1i5ciW7du1y7Lvzzjs5c+YMq1evrvCYEydO0Lx5c9avX88NN9xQpVrUml9EvNmzn+/m7Y3pFX5mMZu4JiwIi9nEjsNnHC8HrGore7W4l9rMa1rzb9q0iejoaKd9MTExTJgwodJjcnJyAAgJCal0TGFhIYWFhY5tq9V6eYWKiLjB0TP5zPlqP0sveMT4+oimRLYNIapdY3qEN+LtjekXfTkg6FFjqd/cHliysrIIDQ112hcaGorVaiU/P5/AwECnz+x2OxMmTGDAgAF069at0vPGx8fz9NNPu6VmEZGquNiC2vhVe/gu7Sf2HMulyGZ37PcxmyixG0S1C3EcV9WndvSosdRnXveUUGxsLLt27WLjxo0XHTdlyhTi4uIc21arlfDwcHeXJyLiUNHjyD+dLeShRdtIOnTGMa51o0COnMnXuhORy+D2wNKiRQuys7Od9mVnZxMUFFRudmXs2LF8/vnnbNiwgdatW1/0vP7+/vj7+1d7vSIiVXX+LEhBsQ2TCd7ckEaxrTRg9G7TiA7NGvBx0hG1uBe5TG4PLP3792fVqlVO+xISEujfv79j2zAMxo0bx/Lly1m3bh3t27d3d1kiItVi/KAIjucW8tq6A459oUH+vHj7tfyuczNmfpmq2RORauByYDl79iz79+93bKenp5OcnExISAht2rRhypQpZGZm8t577wEwZswY5syZw6RJkxg9ejRr165l6dKlrFy50nGO2NhYPvzwQz799FMaNmxIVlYWAMHBweVmYUREvMm2g6f4NDnTse1jNvHdlEGYTCZAsyci1cXlxnHbtm2jV69e9OrVC4C4uDh69erFk08+CcCxY8c4fPiwY3z79u1ZuXIlCQkJ9OjRg1deeYW33nrL0YMF4PXXXycnJ4ff/e53tGzZ0vGzZMmSy/1+IiJus27fce55ezO5BSUA+FpKF9S+unb/rxwpIq66rD4s3kR9WESkJn3+w1EmLkl2rFcZd1Mn/n7zVeqJIuIir+nDIiJS13y05TD/Wr6Tsv+79+h5jxzrJYIi7qHAIiJSgcp6rMxbf4AXv9gLQPdWQQzqGsqEaOd1KlpQK1L9FFhERCpwYY8VwzB4afU+5q0vfRqob7vGLHm4v2Nx7YU0syJSvRRYREQqcP6tHbthkG0t5KMtpQ8UXB/RlEV/7efJ8kTqHQUWEZFKlHWhnfllqmNfdNfmvDUyyoNVidRPLj/WLCJSX+QX2UjOOOPY9jGbFFZEPESBRUSkAjn5xdz79mbWp5wAfnlp4ezE1F85UkTcQbeEREQucCK3kPve2cKeY1YA7owK58Xbry330kIRqTkKLCIi5zly+hz3vLWZgz+dA+De37Tl2Vu7AeqxIuJJCiwiIj/bfzyXe97aQpa1gIb+PvwpsjXThl/jNEY9VkQ8Q4FFROqdiprC/XDkDCPf2cLpc8U0vsKXLx69gRbBARUer5kVkZqnwCIi9c6FTeE2HfiJBxZuJa/IBsCdUW0qDSsi4hkKLCJS75y/FuXAibN8sSuLohI7AGMHduIfMVd5sjwRqYACi4jUS+MHRbDnmJVPk4/+su+mTsTdrLAi4o3Uh0VE6qWF3x7ki11Zjm1fi0lhRcSLKbCISL1iGKXN36Z99qNjn5/FTLFNTeFEvJluCYlIvWG3Gzy3cg/vfJPu2DcxOoJHozurKZyIl1NgEZF6ocRmZ/KynXycdMSxL25wZ0c4UVM4Ee+mwCIidV5BsY3xH+3gf7uzsZhNDOrSnG6tgsuFEjWFE/FeCiwiUmdU1BDubGEJDy/axjf7f8Jsgtfv7s3N17So9ByaWRHxTgosIlJnXNgQ7nReEfcv2Mr3GWcA+GPv1hcNKyLivRRYRKTOOH8dytnCEtbtO05K9lkA/tK3DfF/7O7J8kTkMiiwiEidMn5QBGfOFfHmhjTHvpH92/L0Ld08WJWIXC71YRGROmVvlpX//nDMse1rMSmsiNQBCiwiUmdsP3yaEW98x4ncQqA0rKghnEjdoFtCIlInfJ16gofeSyK/uPSNy4/8riOT/q+LGsKJ1BEKLCJS632x8xjjF++g2FbaP2XcTZ34+8/vBVJDOJG6QYFFRGqFinqsACzdmsFjn/yAAUQ0b8DQ7i2ZOLiz0xg1hBOp/RRYRKRWuLDHCsD8DWk8v2oPAN1aBfFp7G+xmE0VHq+ZFZHaTYFFRGqF82/tGIZBkc3O3K8OABDZtjH/GdMfk6nisCIitZ8Ci4jUGuMHRWAYBjO+/OWpn992asL7D/zGg1WJSE1w+bHmDRs2MHz4cMLCwjCZTKxYseJXj1m3bh29e/fG39+fTp06sWDBgnJj5s6dS7t27QgICKBfv35s2bLF1dJEpI4rttlJO5nn2LaYTQorIvWEy4ElLy+PHj16MHfu3CqNT09PZ9iwYQwcOJDk5GQmTJjAAw88wJo1axxjlixZQlxcHNOmTWP79u306NGDmJgYjh8/7mp5IlJH5RfZeHhREp8mHwVKw4rNrh4rIvWFyTCMS142bzKZWL58ObfeemulYx577DFWrlzJrl27HPvuvPNOzpw5w+rVqwHo168fUVFRzJkzBwC73U54eDjjxo1j8uTJVarFarUSHBxMTk4OQUFBl/qVRMQLWQuKeWDBNrYcPAXAbb1aMWNET0ePlbjBnbWoVqSWqurvb7evYdm0aRPR0dFO+2JiYpgwYQIARUVFJCUlMWXKFMfnZrOZ6OhoNm3aVOl5CwsLKSwsdGxbrdbqLVxEvMJPZwsZ+e4WdmWW/jt+R2Q4//7TtYB6rIjUJ24PLFlZWYSGhjrtCw0NxWq1kp+fz+nTp7HZbBWO2bt3b6XnjY+P5+mnn3ZLzSLiHTLP5HPv25tJO5FHoK+ZP/ZuzfO3Ob9xWT1WROqHWvuU0JQpU4iLi3NsW61WwsPDPViRiFyqiprCHThxlnvf2szRnAIa+vvw6dgBdGjWoMLjNbMiUve5PbC0aNGC7Oxsp33Z2dkEBQURGBiIxWLBYrFUOKZFixaVntff3x9/f3+31CwiNevCpnC7MnMY+c4WfsorAuDOvuGVhhURqR/cHlj69+/PqlWrnPYlJCTQv39/APz8/OjTpw+JiYmOxbt2u53ExETGjh3r7vJExAucvxblyOlzfLEzi9zCEgDG3NiByUO6erI8EfECLgeWs2fPsn//fsd2eno6ycnJhISE0KZNG6ZMmUJmZibvvfceAGPGjGHOnDlMmjSJ0aNHs3btWpYuXcrKlSsd54iLi2PkyJFERkbSt29fZs6cSV5eHqNGjaqGrygitcH4QRGkn8xj6bYjjn2xAzvyz5guHqxKRLyFy4Fl27ZtDBw40LFdto5k5MiRLFiwgGPHjnH48GHH5+3bt2flypVMnDiRWbNm0bp1a9566y1iYmIcY0aMGMGJEyd48sknycrKomfPnqxevbrcQlwRqbs+Tc7kv98fdWz7WkwKKyLicFl9WLyJ+rCI1F6LvjvEk5/uouy/Rr4WE8U2Q/1VROoBr+nDIiJSGcMweG3dAf7fmn2OfROjI3g0urOjKRzoKSARUWAREQ8xDIP4L/by5oY0x76ysAJqCicizhRYRMStKuqxYrMb/GvZTpZsywDg+oimRLULKRdK1BRORMoosIiIW13YY6WwxMbEJcms2pkFwM1Xh/LmfZGVHq+ZFREBBRYRcbPzb+0U2+wkZ5zh69STAAy/tiWv3tXbk+WJSC2hwCIibjd+UAQFxTZeXftLD6fbe7fmlTt6eLAqEalNzJ4uQETqvuPWAtbuPe7Y9jGbFFZExCUKLCLiVhmnzvHnNzaxNysXKO2xUmI3mJ2Y6uHKRKQ20S0hEXGblOxc7nlrM8dzCwH464D2PDH8avVYERGXKbCIiFskZ5zh/ne3cOZcMQAP3dCBfw0tfYmheqyIiKsUWESk2n27/yQPvreNvCIboUH+3N67NZP+z/m9QOqxIiKuUGARkUtWUVO4NT9mMe7DHRTZ7IQ3DmT1hBu40r/i/9RoZkVEqkqBRUQu2YVN4T5OOsKkj7+nbNLktt6tKg0rIiKu0H9JROSSnb8WZfuh06xLOeH4bMKgCCYM7uyp0kSkjtFjzSJyWcbd1InfdAhxCisToxVWRKR6aYZFRC6Z3W7wzOe7+S7tlGOfn8XseOOyiEh10QyLiFySYpudv//nexZ8e9Cxz89ipshmV1M4Eal2mmEREZcVFNsY++F2vtxzHJMJDAPiBndm/KAINYUTEbdQYBERl+QWFPPAwm1sTj+FxWzCZjccYQXUFE5E3EOBRUTKqai/CsCpvCKGzNpAtrWQBv4+xFwTStsmV5Ybp6ZwIlLdFFhEpJwL+6sAHMvJZ9jsjZzKKyLQ18Lih35Dt1bBlZ5DMysiUp0UWESknAtv6wzvEcYf5mwkt6CEBv4+rIgdQKfmDTxZoojUMwosIlKh80NLWXBpdIUvn4/7La0bX+HJ0kSkHtJjzSJSqf4dmzj+2QR8GXejwoqIeIQCi4hU6Kt9x/nLm98BpWHFAD7cfNijNYlI/aVbQiJSzn+/P8qji3dgN6Bdkyv44tEbmP91mh5VFhGPUWAREScfbj7Mv5bvBKBzaAM+H3c9fj5m9VcREY9SYBERh9fXHeCl1XsBuLZ1MMsfGYDFbHJ8rv4qIuIpCiwi9UxFTeEMw+DF1Xt5Y30aAI/8riP/jLkKk8lU7njNrIiIJyiwiNQzFzaFs9kNpq7YyUdbMgC4PqIpk/6viydLFBEpR4FFpJ45fy2KzW6w//hZVu48BsDgrs2ZPzLKk+WJiFTokh5rnjt3Lu3atSMgIIB+/fqxZcuWSscWFxfzzDPP0LFjRwICAujRowerV692GmOz2XjiiSdo3749gYGBdOzYkWeffRbD0H1yEXcYd1Mn/tSnNbMSUx1h5ffdWyqsiIjXcnmGZcmSJcTFxTFv3jz69evHzJkziYmJYd++fTRv3rzc+KlTp/L+++8zf/58unTpwpo1a7jtttv49ttv6dWrFwAvvfQSr7/+OgsXLuSaa65h27ZtjBo1iuDgYMaPH3/531JEHLakn+KV/+1jc/opxz4fs4k5d/f2YFUiIhdnMlycxujXrx9RUVHMmTMHALvdTnh4OOPGjWPy5MnlxoeFhfH4448TGxvr2Hf77bcTGBjI+++/D8Dvf/97QkNDefvttysd82usVivBwcHk5OQQFBTkylcSqTMqe8sywJRlP/DN/pMcPpUPgMVkwmYY+FpMFNsM4gZ31oJaEalxVf397dItoaKiIpKSkoiOjv7lBGYz0dHRbNq0qcJjCgsLCQgIcNoXGBjIxo0bHdvXXXcdiYmJpKSULgT8/vvv2bhxI0OGDKm0lsLCQqxWq9OPSH1XtqB2dmKqY9+uzBxuenkdH23J4PCpfHzMJrq3CsZmlIaU1OeHEje4c7njRES8iUu3hE6ePInNZiM0NNRpf2hoKHv37q3wmJiYGKZPn84NN9xAx44dSUxMZNmyZdhsNseYyZMnY7Va6dKlCxaLBZvNxvPPP8/dd99daS3x8fE8/fTTrpQvUqtdbPZkdmIqNrvBxMGdgdIFtcdy8jmdV8zqH7OA0vb6t/dpTXCAL29/k+40o6KmcCLi7dz+LqFZs2YRERFBly5d8PPzY+zYsYwaNQqz+Zc/eunSpXzwwQd8+OGHbN++nYULF/Lyyy+zcOHCSs87ZcoUcnJyHD8ZGRnu/ioiHlXR7AmUhpXpCSkcOZ3PzC9T2JJ+Cl+LiY+2ZDjCSpcWDUn8+428/OceNAjwqfD2z/hBEcQN7qymcCLilVyaYWnatCkWi4Xs7Gyn/dnZ2bRo0aLCY5o1a8aKFSsoKCjgp59+IiwsjMmTJ9OhQwfHmH/+859MnjyZO++8E4Du3btz6NAh4uPjGTlyZIXn9ff3x9/f35XyRbyWq7MneYUlXNu6EW9tTGPH4TOYTPDJ9iMVntvXYmL1hBsc22XnqYhmVkTEW7k0w+Ln50efPn1ITEx07LPb7SQmJtK/f/+LHhsQEECrVq0oKSnhk08+4ZZbbnF8du7cOacZFwCLxYLdbnelPJFa69dmT06fK+LDzYc5eDKPoEAf3tiQRuyH29lx+AwAhgGtGgVyS88wnr21G/f2bwuAn8VMsc3Q2hQRqfVcfqw5Li6OkSNHEhkZSd++fZk5cyZ5eXmMGjUKgPvuu49WrVoRHx8PwObNm8nMzKRnz55kZmby1FNPYbfbmTRpkuOcw4cP5/nnn6dNmzZcc8017Nixg+nTpzN69Ohq+poinlHVmZPz15CU2Oxc37kZs75MYeP+n/D3MfPepkMVnt9sgpl39iKybWPCGgU6zrto0yHHbZ+y0AOaQRGR2svlwDJixAhOnDjBk08+SVZWFj179mT16tWOhbiHDx92mi0pKChg6tSppKWl0aBBA4YOHcqiRYto1KiRY8yrr77KE088wSOPPMLx48cJCwvj4Ycf5sknn7z8byjiQRe2wS9TFiLiBnfmVF4RSYdOk1dYQlhwALPX7mf22v2OsYUldgJ9LfQMb0RUu8YcOZPPsu2Z+FnMFNnsHDyZxx96hJU7rxbUikhd4nIfFm+lPixS06o6e3J+iBh3Uyee+Xw3735zkG5hQeQX2zhwIq/C85tMMHXY1US2bczVYUH4WszlAsmF266shRER8QZV/f2tdwmJXKKqzJ4U2+zc0LkZSYdOMT0hxTEeYNfRX3oHdWregMi2jTl9rpg1P2Y5Zk/yCkvoEd6o3Hkrmz3RgloRqasUWEQq4OpTO1AaCP7fmr3M/eoA/dqH8O2Bk7y2bj8FxeUXj0e2bUyfdo2JahtCn7aNaXylH7MTU1m8NaPStSc2e8XdaMu29TiyiNRlCiwiFajK7AmUNmLbe8zK9IQUZiSkUBYZzn9PT6MrfAm5wo+0k3n4mE2U2A1u6Nys0vNq9kREpDwFFpEKVLRQdeaXKcz8MpWbujRj//GzXBefyNGcAscxZWGlTcgVRLZrTFS7ECLbNmbVzmPM+DL1ok/taPZEROTitOhW6p2q3u45V1TCk5/+yMdJRzCZSnudXMhiNtG0gR/Z1kLH7Mn5waOimZOL7RcRqW+06FakEpXd7olftYc3NqTRu00j1qWc4MfMHEp+ntkoCytX+lno3bYxkW1DiGrXmG8P/MScr/Zr3YmIiJspsEidUtXZE8MwmJ6Qws4jZwi+wo8vd2dzJr8YgO0/d48FaODvw9nCEixmEza7wYPXd2DCz2tJZiemOoUV0LoTERF3UWCROqWy2ZPpCfuYnbif6yOa8sDCbSQdKl0Um7DnuNPxXVo0pE/b0vUnuzJzeGtjernZE/PPgUizJyIiNUeBRWqFS2lxn3byLGHBgXyafJTMM/kAfJ160nGcv4+ZohI7BuBjNpE0dTDBV/g6znl+WAHNnoiIeJICi9QKv/aY8V9/257lO46w9eBpth0snT1ZseOo0zlCrvQjsm1jIts1JrJdCOv3nWBWYqqjSdvCTQf11I6IiJdSYBGPc7VJm91uEH11KC//bx/r9p3gSn8Lb29Mr/T8FrOJhIk30L7plZhMJsd5ZyVW/qixZk9ERLyLAot43K/Nnowd2ImNqSexGwZtQq5gZmIqMxNTHePyCm34Wkx0axX88wxKCDsOn2be+jTH7MnnPxy76KPGekGgiIh3U2ARj7swLIyICufZ/+7m853HaN7Qn9fXH2DOV/vLHWcywT9uvorIto3pEd6IAF8LUBpI5q1P06PGIiJ1iAKLeIXxgyIottnLvSDweG4hAK0aBRLVrjG5BSUk7j3umDmx2Q36dWjiGK8W9yIidZMCi3iFvMISth785f07JmDkde3o8/Mi2ZbBgeXCiFrci4jUHwos4nFnC0sY9e4Wth48DeBocR9ypR/De4QBVV93otkTEZG6SYFFPMpaUMzId7aw4+fusn/p24b4P3bXuhMREXGiwCIek3OumHvf2cwPR3IAuLtfG56/rTugdSciIuJMgUU84nReEXe/tZndx6wE+Jr5U59wnru1m9MYzZ6IiEgZBRZxq4qawp08W8g9b21mb1Yugb5mVsT+lqtaNKzweM2eiIgIKLCIm13YFO54bgF3z99M6vGzAIyIalNpWBERESmjwCJudf5alLMFJXy5J5u0k3kAjBrQjmnDr/FkeSIiUksosIjbjR8UwbmiEuatT3PsGz2gHU8qrIiISBWZPV2A1H0FxTZHjxUAX4tJYUVERFyiwCJuZbcb/OM/35N0qDSw+FpMFNsMZp/38kIREZFfo8AibjU9IYXPfzgGwJ/7tCb1+aHEDe7M9IQUhRYREakyrWERt1m6LcPxluWYa1rw//7cA6i4pb6IiMjFKLCIW3y7/yT/WrYTgH7tQ3jj3j5On6spnIiIuEKBRard/uO5PPx+EiV2gz/0CGPWnT0rHKeZFRERqSqtYZFqdSK3kPvf3UpuQQmRbRvz7z9di8lk8nRZIiJSyymwyCWbccHC2YJiGw++t40jp/MJDvSld9vGBPhaPFihiIjUFZcUWObOnUu7du0ICAigX79+bNmypdKxxcXFPPPMM3Ts2JGAgAB69OjB6tWry43LzMzknnvuoUmTJgQGBtK9e3e2bdt2KeVJDSlruz87MRW73SBuaTLJGWfw9zGTk19MA3/dcRQRkerh8m+UJUuWEBcXx7x58+jXrx8zZ84kJiaGffv20bx583Ljp06dyvvvv8/8+fPp0qULa9as4bbbbuPbb7+lV69eAJw+fZoBAwYwcOBAvvjiC5o1a0ZqaiqNGze+/G8obnP+0z5fp55g68HTmE1QWGInbnBnrVEREZFqYzIMw6XHNPr160dUVBRz5swBwG63Ex4ezrhx45g8eXK58WFhYTz++OPExsY69t1+++0EBgby/vvvAzB58mS++eYbvv7660v+IlarleDgYHJycggKCrrk84jrHly4lYQ9xx3bCisiIlJVVf397dItoaKiIpKSkoiOjv7lBGYz0dHRbNq0qcJjCgsLCQgIcNoXGBjIxo0bHdufffYZkZGR/PnPf6Z58+b06tWL+fPnX7SWwsJCrFar04/UvK9TT7B23wnHtp/FrLAiIiLVzqXAcvLkSWw2G6GhoU77Q0NDycrKqvCYmJgYpk+fTmpqKna7nYSEBJYtW8axY8ccY9LS0nj99deJiIhgzZo1/O1vf2P8+PEsXLiw0lri4+MJDg52/ISHh7vyVaQapGTn8sj72x29VPwsZopsdnWwFRGRauf2p4RmzZpFREQEXbp0wc/Pj7FjxzJq1CjM5l/+aLvdTu/evXnhhRfo1asXDz30EA8++CDz5s2r9LxTpkwhJyfH8ZORkeHuryLnOZ5bwKh3t5JbWALA+EGdSHl+iNrui4iIW7gUWJo2bYrFYiE7O9tpf3Z2Ni1atKjwmGbNmrFixQry8vI4dOgQe/fupUGDBnTo0MExpmXLllx99dVOx3Xt2pXDhw9XWou/vz9BQUFOP1Iz8otsPLhwG5ln8gH4240diRt8FVC6EFehRUREqptLgcXPz48+ffqQmJjo2Ge320lMTKR///4XPTYgIIBWrVpRUlLCJ598wi233OL4bMCAAezbt89pfEpKCm3btnWlPKkBdrvBxCXJfH8khwAfM6MHtOOxIV2cxpSFFrXdFxGR6uLyY81xcXGMHDmSyMhI+vbty8yZM8nLy2PUqFEA3HfffbRq1Yr4+HgANm/eTGZmJj179iQzM5OnnnoKu93OpEmTHOecOHEi1113HS+88AJ33HEHW7Zs4c033+TNN9+spq8p1eWl1XtZ/WMWfhYzix7oR1S7kArHaeGtiIhUJ5cDy4gRIzhx4gRPPvkkWVlZ9OzZk9WrVzsW4h4+fNhpfUpBQQFTp04lLS2NBg0aMHToUBYtWkSjRo0cY6Kioli+fDlTpkzhmWeeoX379sycOZO777778r+hXJIZCSlYzCan4PHB5kO8sSENgJu6NKs0rIiIiFQ3l/uweCv1YalesxNTmZ6Q4uipsj7lBKMXbHXc5lGvFRERqQ5V/f2t3ulSofO72J44W8jy7ZmOsDIxOkJhRUREapQCi1Rq/KAI8gpLHLeBAB4dFMGj0Z09WJWIiNRHeluzVOpcUQmb0n5ybPtaTEwcrLAiIiI1T4FFKmSzGzy6OJkfjuQApWGl2Gaot4qIiHiEAotUKH7VHhJ2lzYIvDMqnNTnh6ohnIiIeIzWsEg5izYd5K2N6QAM696SF2+/FnBeiHv+toiIiLspsIiTr/YeZ9pnPwIwoFMT5t7d2+nzspCiLrYiIlKTFFjEYfdRK2M/3I7dgDsiW/PSzzMrF9LMioiI1DStYREAsnIKGL1gK3lFNq7r2ITnb+uOyWTydFkiIiKAAku9M6OCRbN5hSX8deFWsqwFNL7Cl9fv6YOvRX81RETEe+i3Uj1jMZucnvSx2Q3Gf7SDH49aAfhj79YEB/p6skQREZFytIalnrnwSZ9TeUUk7j0OwJ19w3ni91d7rDYREZHKKLDUQxeGFoDfX9uSF/9Y8SJbERERT9MtoXrq6pa/vBHTYjIx567eFxktIiLiWQos9dCuzBzGvJ8EgNkENkMt90VExLvpllA9c/RMPiPe2ESJ3aBtyBV8+fcbeX3dAXWvFRERr6bAUo+cLSzhD3M2kldkI+RKP/47/rf4WsxquS8iIl5PgaWeKLHZGffhdk6eLeIKPwufxg4gKOCXx5fVcl9ERLyZAks9YBgGT/93N1/tO0GAr5kPH/wN4SFXlBunmRUREfFWWnRbD7zzzUEWfXcIkwlmjuhFz/BGni5JRETEJQosdUhFbff/92MWz63cDcCAjk34v24tPFGaiIjIZVFgqUMubLv/w5EzPLo4GePnZSlR7UI8WJ2IiMil0xqWOuT8p32sBcV8mnyU/GIbABMGRfBodGdPliciInLJFFjqmPGDIigssTH3qwOOfbEDOzJhsMKKiIjUXrolVMeU2OzszLQ6tn0tJv4Z08WDFYmIiFw+BZY6xDAMnvzsRzaknADAx2yi2Ka2+yIiUvspsNQhb32dzoebDwPwhx5h7H9hKHGDOzstxBUREamNtIaljli96xjPr9oDwI2dmzL7L70A1HZfRETqBAWWOiA54wwTliQD0KN1MAtG9XX6XG33RUSktlNgqeUyTp3jgYVbKSi287urmvHWfZGYTKZy4zSzIiIitZnWsNRiOfnFjF6wlZNni+jSoiFz7uqNj0X/k4qISN1zSb/d5s6dS7t27QgICKBfv35s2bKl0rHFxcU888wzdOzYkYCAAHr06MHq1asrHf/iiy9iMpmYMGHCpZRWZ13Ydr/YZif2g+2kHj/Llf4WBnRqQgN/TZiJiEjd5HJgWbJkCXFxcUybNo3t27fTo0cPYmJiOH78eIXjp06dyhtvvMGrr77K7t27GTNmDLfddhs7duwoN3br1q288cYbXHvtta5/kzru/Lb7hmHwxIpdbNx/El+LibxCG8GBfp4uUURExG1MhmG4tBKzX79+REVFMWfOHADsdjvh4eGMGzeOyZMnlxsfFhbG448/TmxsrGPf7bffTmBgIO+//75j39mzZ+nduzevvfYazz33HD179mTmzJlVrstqtRIcHExOTg5BQUGufKVaY3ZiKtMTUrg+oilfp57EBBhA3ODOWqMiIiK1UlV/f7s0w1JUVERSUhLR0dG/nMBsJjo6mk2bNlV4TGFhIQEBAU77AgMD2bhxo9O+2NhYhg0b5nTuiyksLMRqtTr91HXjB0Xw+2tb8nXqSUBhRURE6g+XAsvJkyex2WyEhoY67Q8NDSUrK6vCY2JiYpg+fTqpqanY7XYSEhJYtmwZx44dc4xZvHgx27dvJz4+vsq1xMfHExwc7PgJDw935avUStsPnyZhd7Zj289iVlgREZF6we2PlMyaNYuIiAi6dOmCn58fY8eOZdSoUZjNpX90RkYGjz76KB988EG5mZiLmTJlCjk5OY6fjIwMd30Fr5Bx6hwPLtxGYYkdKA0rRTa7OtiKiEi94FJgadq0KRaLhezsbKf92dnZtGjRosJjmjVrxooVK8jLy+PQoUPs3buXBg0a0KFDBwCSkpI4fvw4vXv3xsfHBx8fH9avX8/s2bPx8fHBZrNVeF5/f3+CgoKcfuqqnHPF3P/uFn7KKwJg7MBOpDw/RG33RUSk3nDpOVg/Pz/69OlDYmIit956K1C66DYxMZGxY8de9NiAgABatWpFcXExn3zyCXfccQcAgwYNYufOnU5jR40aRZcuXXjsscewWCyulFjnFJXY+dsHSRw4kQfAQzd04B8xVwFquy8iIvWHy4074uLiGDlyJJGRkfTt25eZM2eSl5fHqFGjALjvvvto1aqVYz3K5s2byczMpGfPnmRmZvLUU09ht9uZNGkSAA0bNqRbt25Of8aVV15JkyZNyu2vbwzD4PHlO/n2wE/4mk2M6NuGfw3t6jRGbfdFRKQ+cDmwjBgxghMnTvDkk0+SlZVFz549Wb16tWMh7uHDhx3rUwAKCgqYOnUqaWlpNGjQgKFDh7Jo0SIaNWpUbV+irnpt3QH+k3QEswnevC+SgV2aVzhOMysiIlLXudyHxVvV5j4sMxJSsJhNTsHjs++PMv6j0uZ6A69qxrsXvNBQRESkLnBLHxZxj/O72AIkHTrFP/7zvePzXm0ae6o0ERERr6CXz3iB8xfPnjlXxIrkoxT9/PjyhOgI3fIREZF6T4HFS4wfFEFBsY3X1h1w7Bt3UycmRHf2YFUiIiLeQbeEvERRiZ2kQ6cd274WE3+/+SoPViQiIuI9FFi8gGEYTF72A5vTTwGlYaXYZqghnIiIyM8UWLzAq2v3s2x7JgB/7N2K1OeHqoutiIjIebSGxcM+Tc50dKod1LU50+/oCaiLrYiIyPkUWDxo68FT/PM/PwAQ2bYxb4+McvpcXWxFRERKKbB4SPrJPB56bxtFNjv/d00LXru7d4XjNLMiIiKiNSwecTqviNELtnL6XDE9WgczY0RPzGaTp8sSERHxWgosbjbjgoWzhSU2Hl6URPrJPBoG+BDVPoRAv/r9RmoREZFfo1tCblbWdh9KG8FN/mQnWw6ews9iJreghKAAXw9XKCIi4v0UWNzs/Kd9Nh04yaa0U5hNUGSzEze4s9aoiIiIVIECSw0YPyiCPcesfLErCwC7gcKKiIiIC7SGpQZsTvuJL/dkO7b9LGaFFRERERcosLjZgRNneWhREsW20l4qfhYzRTa7OtiKiIi4QLeE3OjUz48v5+QXAzD+pk7E3XwVsxNT1cFWRETEBQosblJQbOOh97Zx6KdzAIy5sQNxP799WW33RUREXKPA4gaGYTDp4x/Ydug0fhYTd/Vrw+QhXZ3GqO2+iIhI1SmwuMGMhBQ++/4oPmYTC0b15bpOTSscp5kVERGRqtGi22r2cdIRZq/dD8ALf+xeaVgRERGRqlNguUQXttwH+PbASaYsK337clS7xtwRGe6J0kREROocBZZLVNZyvyy07D9+ljHnPb78W82siIiIVButYblE5z/pc66ohJU7j2EtKCn97KZOPBrd2ZPliYiI1CkKLJdh/KAISmx2x5oVcH58WURERKqHbgldBrvd4MDJPMe2r8VU7vFlERERuXwKLJfhlYR9rPzhGAA+ZhPFNkMt90VERNxAgeUSLd2awdyvDgAQc00L9r8wlLjBnZ0W4oqIiEj10BqWS/DN/pNM/vnx5d+0D+GNe/sAarkvIiLiLgosLkrNzmXM+0nYDejSoiEfPfQbp8/Vcl9ERKT6KbC44ERuIaMWbCW3oISodo1Z9Nd+mEymcuM0syIiIlK9LmkNy9y5c2nXrh0BAQH069ePLVu2VDq2uLiYZ555ho4dOxIQEECPHj1YvXq105j4+HiioqJo2LAhzZs359Zbb2Xfvn2XUlq1qKiLbX6RjQfe28aR0/kEB/rwxr2RBPhaPFShiIhI/eJyYFmyZAlxcXFMmzaN7du306NHD2JiYjh+/HiF46dOncobb7zBq6++yu7duxkzZgy33XYbO3bscIxZv349sbGxfPfddyQkJFBcXMzNN99MXl5ehed0twu72NrtBnFLk/k+4wwAf+zdmpAr/TxSm4iISH1kMgzDpcUW/fr1Iyoqijlz5gBgt9sJDw9n3LhxTJ48udz4sLAwHn/8cWJjYx37br/9dgIDA3n//fcr/DNOnDhB8+bNWb9+PTfccEOV6rJarQQHB5OTk0NQUJArX6lCsxNTmZ6QQtzgzuQVlfDG+jQA7ogM599/uvayzy8iIiJV//3t0hqWoqIikpKSmDJlimOf2WwmOjqaTZs2VXhMYWEhAQEBTvsCAwPZuHFjpX9OTk4OACEhIZWOKSwspLCw0LFttVqr9B2q6sInfgCGdGuhsCIiIuIBLt0SOnnyJDabjdDQUKf9oaGhZGVlVXhMTEwM06dPJzU1FbvdTkJCAsuWLePYsWMVjrfb7UyYMIEBAwbQrVu3SmuJj48nODjY8RMeXv1vRv5Tn9aOf7aYTLx+T59q/zNERETk17m9cdysWbOIiIigS5cu+Pn5MXbsWEaNGoXZXPEfHRsby65du1i8ePFFzztlyhRycnIcPxkZGdVe+8dJRwAwm8BmqIutiIiIp7gUWJo2bYrFYiE7O9tpf3Z2Ni1atKjwmGbNmrFixQry8vI4dOgQe/fupUGDBnTo0KHc2LFjx/L555/z1Vdf0bp16wrO9gt/f3+CgoKcfqrT+WtY0uKHqYutiIiIB7kUWPz8/OjTpw+JiYmOfXa7ncTERPr373/RYwMCAmjVqhUlJSV88skn3HLLLY7PDMNg7NixLF++nLVr19K+fXsXv0b1Oj+slK1lGT8oQqFFRETEQ1xuHBcXF8fIkSOJjIykb9++zJw5k7y8PEaNGgXAfffdR6tWrYiPjwdg8+bNZGZm0rNnTzIzM3nqqaew2+1MmjTJcc7Y2Fg+/PBDPv30Uxo2bOhYDxMcHExgYGB1fE+X2OyGU1gpoy62IiIinuFyYBkxYgQnTpzgySefJCsri549e7J69WrHQtzDhw87rU8pKChg6tSppKWl0aBBA4YOHcqiRYto1KiRY8zrr78OwO9+9zunP+vdd9/l/vvvd/1bXaaJgztX+pm62IqIiNQ8l/uweKvq7sMiIiIi7lfV399uf0pIRERE5HIpsIiIiIjXU2ARERERr6fAIiIiIl5PgUVERES8ngKLiIiIeD0FFhEREfF6CiwiIiLi9RRYRERExOu53JrfW5U17LVarR6uRERERKqq7Pf2rzXerzOBJTc3F4Dw8HAPVyIiIiKuys3NJTg4uNLP68y7hOx2O0ePHqVhw4aYTKZqO6/VaiU8PJyMjAy9o8iNdJ1rjq51zdB1rhm6zjXDndfZMAxyc3MJCwtzennyherMDIvZbKZ169ZuO39QUJD+ZagBus41R9e6Zug61wxd55rhrut8sZmVMlp0KyIiIl5PgUVERES8ngLLr/D392fatGn4+/t7upQ6Tde55uha1wxd55qh61wzvOE615lFtyIiIlJ3aYZFREREvJ4Ci4iIiHg9BRYRERHxegosIiIi4vUUWIC5c+fSrl07AgIC6NevH1u2bLno+P/85z906dKFgIAAunfvzqpVq2qo0trNles8f/58rr/+eho3bkzjxo2Jjo7+1f9dpJSrf5/LLF68GJPJxK233ureAusQV6/1mTNniI2NpWXLlvj7+9O5c2f996MKXL3OM2fO5KqrriIwMJDw8HAmTpxIQUFBDVVbO23YsIHhw4cTFhaGyWRixYoVv3rMunXr6N27N/7+/nTq1IkFCxa4t0ijnlu8eLHh5+dnvPPOO8aPP/5oPPjgg0ajRo2M7OzsCsd/8803hsViMf79738bu3fvNqZOnWr4+voaO3furOHKaxdXr/Ndd91lzJ0719ixY4exZ88e4/777zeCg4ONI0eO1HDltYur17lMenq60apVK+P66683brnllpoptpZz9VoXFhYakZGRxtChQ42NGzca6enpxrp164zk5OQarrx2cfU6f/DBB4a/v7/xwQcfGOnp6caaNWuMli1bGhMnTqzhymuXVatWGY8//rixbNkyAzCWL19+0fFpaWnGFVdcYcTFxRm7d+82Xn31VcNisRirV692W431PrD07dvXiI2NdWzbbDYjLCzMiI+Pr3D8HXfcYQwbNsxpX79+/YyHH37YrXXWdq5e5wuVlJQYDRs2NBYuXOiuEuuES7nOJSUlxnXXXWe89dZbxsiRIxVYqsjVa/36668bHTp0MIqKimqqxDrB1escGxtr3HTTTU774uLijAEDBri1zrqkKoFl0qRJxjXXXOO0b8SIEUZMTIzb6qrXt4SKiopISkoiOjrasc9sNhMdHc2mTZsqPGbTpk1O4wFiYmIqHS+Xdp0vdO7cOYqLiwkJCXFXmbXepV7nZ555hubNm/PXv/61JsqsEy7lWn/22Wf079+f2NhYQkND6datGy+88AI2m62myq51LuU6X3fddSQlJTluG6WlpbFq1SqGDh1aIzXXF574XVhnXn54KU6ePInNZiM0NNRpf2hoKHv37q3wmKysrArHZ2Vlua3O2u5SrvOFHnvsMcLCwsr9CyK/uJTrvHHjRt5++22Sk5NroMK641KudVpaGmvXruXuu+9m1apV7N+/n0ceeYTi4mKmTZtWE2XXOpdyne+66y5OnjzJb3/7WwzDoKSkhDFjxvCvf/2rJkquNyr7XWi1WsnPzycwMLDa/8x6PcMitcOLL77I4sWLWb58OQEBAZ4up87Izc3l3nvvZf78+TRt2tTT5dR5drud5s2b8+abb9KnTx9GjBjB448/zrx58zxdWp2ybt06XnjhBV577TW2b9/OsmXLWLlyJc8++6ynS5PLVK9nWJo2bYrFYiE7O9tpf3Z2Ni1atKjwmBYtWrg0Xi7tOpd5+eWXefHFF/nyyy+59tpr3VlmrefqdT5w4AAHDx5k+PDhjn12ux0AHx8f9u3bR8eOHd1bdC11KX+nW7Zsia+vLxaLxbGva9euZGVlUVRUhJ+fn1trro0u5To/8cQT3HvvvTzwwAMAdO/enby8PB566CEef/xxzGb9//TqUNnvwqCgILfMrkA9n2Hx8/OjT58+JCYmOvbZ7XYSExPp379/hcf079/faTxAQkJCpePl0q4zwL///W+effZZVq9eTWRkZE2UWqu5ep27dOnCzp07SU5Odvz84Q9/YODAgSQnJxMeHl6T5dcql/J3esCAAezfv98RCgFSUlJo2bKlwkolLuU6nzt3rlwoKQuJhl6dV2088rvQbct5a4nFixcb/v7+xoIFC4zdu3cbDz30kNGoUSMjKyvLMAzDuPfee43Jkyc7xn/zzTeGj4+P8fLLLxt79uwxpk2bpseaq8DV6/ziiy8afn5+xscff2wcO3bM8ZObm+upr1AruHqdL6SnhKrO1Wt9+PBho2HDhsbYsWONffv2GZ9//rnRvHlz47nnnvPUV6gVXL3O06ZNMxo2bGh89NFHRlpamvG///3P6Nixo3HHHXd46ivUCrm5ucaOHTuMHTt2GIAxffp0Y8eOHcahQ4cMwzCMyZMnG/fee69jfNljzf/85z+NPXv2GHPnztVjzTXh1VdfNdq0aWP4+fkZffv2Nb777jvHZzfeeKMxcuRIp/FLly41OnfubPj5+RnXXHONsXLlyhquuHZy5Tq3bdvWAMr9TJs2reYLr2Vc/ft8PgUW17h6rb/99lujX79+hr+/v9GhQwfj+eefN0pKSmq46trHletcXFxsPPXUU0bHjh2NgIAAIzw83HjkkUeM06dP13zhtchXX31V4X9zy67tyJEjjRtvvLHcMT179jT8/PyMDh06GO+++65bazQZhubIRERExLvV6zUsIiIiUjsosIiIiIjXU2ARERERr6fAIiIiIl5PgUVERES8ngKLiIiIeD0FFhEREfF6CiwiIiLi9RRYRERExOspsIiIiIjXU2ARERERr6fAIiIiIl7v/wNb5rLWe02/qQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "net.controller.at[tc.index, 'in_service'] = False\n", "c1 = Characteristic(net, x_values=[0, 0.2, 0.4, 0.6, 0.8, 1], y_values=[0.92, 0.97, 0.98, 1.02, 1.03, 1.08])\n", "tc1 = control.VmSetTapControl(net, 0, variable='i_lv_ka', characteristic_index=c1.index, tol=0.0005)\n", "plot_characteristic(c1,0,1,50)" ] }, { "cell_type": "code", "execution_count": 12, "id": "22a9f621", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The load has active power of 0.0 MW, sgen has active power of 10.0 MW\n", "Current flowing through the transformer is 0.29 kA\n", "Voltage setpoint from Characteristic is 0.974 kA\n", "Voltage at the controlled bus is 0.974 p. u.\n", "Transformer tap position is 2.56\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
vm_puva_degreep_mwq_mvar
01.0200000.0000009.560012-1.994347
11.0207890.1973780.0000000.000000
20.9744782.9704340.0000000.000000
31.0016828.048610-10.0000001.000000
\n", "
" ], "text/plain": [ " vm_pu va_degree p_mw q_mvar\n", "0 1.020000 0.000000 9.560012 -1.994347\n", "1 1.020789 0.197378 0.000000 0.000000\n", "2 0.974478 2.970434 0.000000 0.000000\n", "3 1.001682 8.048610 -10.000000 1.000000" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "net.load.at[0, 'p_mw'] = 0\n", "pp.runpp(net, run_control=True)\n", "print(f\"The load has active power of {net.load.at[0, 'p_mw']} MW, sgen has active power of {net.sgen.at[0, 'p_mw']} MW\")\n", "print(f\"Current flowing through the transformer is {net.res_trafo.at[0, 'i_lv_ka']:.2f} kA\")\n", "print(f\"Voltage setpoint from Characteristic is {c1(x=net.res_trafo.at[0, 'i_lv_ka']):.3f} kA\")\n", "print(f\"Voltage at the controlled bus is {net.res_bus.at[2, 'vm_pu']:.3f} p. u.\")\n", "print(f\"Transformer tap position is {net.trafo.at[0, 'tap_pos']:.2f}\")\n", "net.res_bus" ] }, { "cell_type": "code", "execution_count": 13, "id": "b164f510", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The load has active power of 20.0 MW, sgen has active power of 10.0 MW\n", "Current flowing through the transformer is 0.32 kA\n", "Voltage setpoint from Characteristic is 0.976 kA\n", "Voltage at the controlled bus is 0.976 p. u.\n", "Transformer tap position is 1.96\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
vm_puva_degreep_mwq_mvar
01.0200000.000000-10.519196-2.246655
11.017547-0.1753490.0000000.000000
20.975757-3.1422650.0000000.000000
30.920431-8.16269210.0000001.000000
\n", "
" ], "text/plain": [ " vm_pu va_degree p_mw q_mvar\n", "0 1.020000 0.000000 -10.519196 -2.246655\n", "1 1.017547 -0.175349 0.000000 0.000000\n", "2 0.975757 -3.142265 0.000000 0.000000\n", "3 0.920431 -8.162692 10.000000 1.000000" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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JSV88skn3HLLLY7PDMNg7NixLF++nLVr19K+fXsXv0b1Oj+slK1lGT8oQqFFRETEQ1xuHBcXF8fIkSOJjIykb9++zJw5k7y8PEaNGgXAfffdR6tWrYiPjwdg8+bNZGZm0rNnTzIzM3nqqaew2+1MmjTJcc7Y2Fg+/PBDPv30Uxo2bOhYDxMcHExgYGB1fE+X2OyGU1gpoy62IiIinuFyYBkxYgQnTpzgySefJCsri549e7J69WrHQtzDhw87rU8pKChg6tSppKWl0aBBA4YOHcqiRYto1KiRY8zrr78OwO9+9zunP+vdd9/l/vvvd/1bXaaJgztX+pm62IqIiNQ8l/uweKvq7sMiIiIi7lfV399uf0pIRERE5HIpsIiIiIjXU2ARERERr6fAIiIiIl5PgUVERES8ngKLiIiIeD0FFhEREfF6CiwiIiLi9RRYRERExOu53JrfW5U17LVarR6uRERERKqq7Pf2rzXerzOBJTc3F4Dw8HAPVyIiIiKuys3NJTg4uNLP68y7hOx2O0ePHqVhw4aYTKZqO6/VaiU8PJyMjAy9o8iNdJ1rjq51zdB1rhm6zjXDndfZMAxyc3MJCwtzennyherMDIvZbKZ169ZuO39QUJD+ZagBus41R9e6Zug61wxd55rhrut8sZmVMlp0KyIiIl5PgUVERES8ngLLr/D392fatGn4+/t7upQ6Tde55uha1wxd55qh61wzvOE615lFtyIiIlJ3aYZFREREvJ4Ci4iIiHg9BRYRERHxegosIiIi4vUUWIC5c+fSrl07AgIC6NevH1u2bLno+P/85z906dKFgIAAunfvzqpVq2qo0trNles8f/58rr/+eho3bkzjxo2Jjo7+1f9dpJSrf5/LLF68GJPJxK233ureAusQV6/1mTNniI2NpWXLlvj7+9O5c2f996MKXL3OM2fO5KqrriIwMJDw8HAmTpxIQUFBDVVbO23YsIHhw4cTFhaGyWRixYoVv3rMunXr6N27N/7+/nTq1IkFCxa4t0ijnlu8eLHh5+dnvPPOO8aPP/5oPPjgg0ajRo2M7OzsCsd/8803hsViMf79738bu3fvNqZOnWr4+voaO3furOHKaxdXr/Ndd91lzJ0719ixY4exZ88e4/777zeCg4ONI0eO1HDltYur17lMenq60apVK+P66683brnllpoptpZz9VoXFhYakZGRxtChQ42NGzca6enpxrp164zk5OQarrx2cfU6f/DBB4a/v7/xwQcfGOnp6caaNWuMli1bGhMnTqzhymuXVatWGY8//rixbNkyAzCWL19+0fFpaWnGFVdcYcTFxRm7d+82Xn31VcNisRirV692W431PrD07dvXiI2NdWzbbDYjLCzMiI+Pr3D8HXfcYQwbNsxpX79+/YyHH37YrXXWdq5e5wuVlJQYDRs2NBYuXOiuEuuES7nOJSUlxnXXXWe89dZbxsiRIxVYqsjVa/36668bHTp0MIqKimqqxDrB1escGxtr3HTTTU774uLijAEDBri1zrqkKoFl0qRJxjXXXOO0b8SIEUZMTIzb6qrXt4SKiopISkoiOjrasc9sNhMdHc2mTZsqPGbTpk1O4wFiYmIqHS+Xdp0vdO7cOYqLiwkJCXFXmbXepV7nZ555hubNm/PXv/61JsqsEy7lWn/22Wf079+f2NhYQkND6datGy+88AI2m62myq51LuU6X3fddSQlJTluG6WlpbFq1SqGDh1aIzXXF574XVhnXn54KU6ePInNZiM0NNRpf2hoKHv37q3wmKysrArHZ2Vlua3O2u5SrvOFHnvsMcLCwsr9CyK/uJTrvHHjRt5++22Sk5NroMK641KudVpaGmvXruXuu+9m1apV7N+/n0ceeYTi4mKmTZtWE2XXOpdyne+66y5OnjzJb3/7WwzDoKSkhDFjxvCvf/2rJkquNyr7XWi1WsnPzycwMLDa/8x6PcMitcOLL77I4sWLWb58OQEBAZ4up87Izc3l3nvvZf78+TRt2tTT5dR5drud5s2b8+abb9KnTx9GjBjB448/zrx58zxdWp2ybt06XnjhBV577TW2b9/OsmXLWLlyJc8++6ynS5PLVK9nWJo2bYrFYiE7O9tpf3Z2Ni1atKjwmBYtWrg0Xi7tOpd5+eWXefHFF/nyyy+59tpr3VlmrefqdT5w4AAHDx5k+PDhjn12ux0AHx8f9u3bR8eOHd1bdC11KX+nW7Zsia+vLxaLxbGva9euZGVlUVRUhJ+fn1trro0u5To/8cQT3HvvvTzwwAMAdO/enby8PB566CEef/xxzGb9//TqUNnvwqCgILfMrkA9n2Hx8/OjT58+JCYmOvbZ7XYSExPp379/hcf079/faTxAQkJCpePl0q4zwL///W+effZZVq9eTWRkZE2UWqu5ep27dOnCzp07SU5Odvz84Q9/YODAgSQnJxMeHl6T5dcql/J3esCAAezfv98RCgFSUlJo2bKlwkolLuU6nzt3rlwoKQuJhl6dV2088rvQbct5a4nFixcb/v7+xoIFC4zdu3cbDz30kNGoUSMjKyvLMAzDuPfee43Jkyc7xn/zzTeGj4+P8fLLLxt79uwxpk2bpseaq8DV6/ziiy8afn5+xscff2wcO3bM8ZObm+upr1AruHqdL6SnhKrO1Wt9+PBho2HDhsbYsWONffv2GZ9//rnRvHlz47nnnvPUV6gVXL3O06ZNMxo2bGh89NFHRlpamvG///3P6Nixo3HHHXd46ivUCrm5ucaOHTuMHTt2GIAxffp0Y8eOHcahQ4cMwzCMyZMnG/fee69jfNljzf/85z+NPXv2GHPnztVjzTXh1VdfNdq0aWP4+fkZffv2Nb777jvHZzfeeKMxcuRIp/FLly41OnfubPj5+RnXXHONsXLlyhquuHZy5Tq3bdvWAMr9TJs2reYLr2Vc/ft8PgUW17h6rb/99lujX79+hr+/v9GhQwfj+eefN0pKSmq46trHletcXFxsPPXUU0bHjh2NgIAAIzw83HjkkUeM06dP13zhtchXX31V4X9zy67tyJEjjRtvvLHcMT179jT8/PyMDh06GO+++65bazQZhubIRERExLvV6zUsIiIiUjsosIiIiIjXU2ARERERr6fAIiIiIl5PgUVERES8ngKLiIiIeD0FFhEREfF6CiwiIiLi9RRYRERExOspsIiIiIjXU2ARERERr6fAIiIiIl7v/wNb5rLWe02/qQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "net.load.at[0, 'p_mw'] = 20\n", "plot_characteristic(c1,0,1,50)\n", "pp.runpp(net, run_control=True)\n", "print(f\"The load has active power of {net.load.at[0, 'p_mw']} MW, sgen has active power of {net.sgen.at[0, 'p_mw']} MW\")\n", "print(f\"Current flowing through the transformer is {net.res_trafo.at[0, 'i_lv_ka']:.2f} kA\")\n", "print(f\"Voltage setpoint from Characteristic is {c1(x=net.res_trafo.at[0, 'i_lv_ka']):.3f} kA\")\n", "print(f\"Voltage at the controlled bus is {net.res_bus.at[2, 'vm_pu']:.3f} p. u.\")\n", "print(f\"Transformer tap position is {net.trafo.at[0, 'tap_pos']:.2f}\")\n", "net.res_bus" ] }, { "cell_type": "code", "execution_count": 14, "id": "61878371", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The load has active power of 35.0 MW, sgen has active power of 10.0 MW\n", "Current flowing through the transformer is 0.81 kA\n", "Voltage setpoint from Characteristic is 1.033 kA\n", "Voltage at the controlled bus is 1.033 p. u.\n", "Transformer tap position is -4.25\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
vm_puva_degreep_mwq_mvar
01.0200000.000000-28.407864-11.319413
11.011746-0.4321300.0000000.000000
21.033311-7.3087100.0000000.000000
30.888076-20.04708725.0000001.000000
\n", "
" ], "text/plain": [ " vm_pu va_degree p_mw q_mvar\n", "0 1.020000 0.000000 -28.407864 -11.319413\n", "1 1.011746 -0.432130 0.000000 0.000000\n", "2 1.033311 -7.308710 0.000000 0.000000\n", "3 0.888076 -20.047087 25.000000 1.000000" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "net.load.at[0, 'p_mw'] = 35\n", "pp.runpp(net, run_control=True)\n", "print(f\"The load has active power of {net.load.at[0, 'p_mw']} MW, sgen has active power of {net.sgen.at[0, 'p_mw']} MW\")\n", "print(f\"Current flowing through the transformer is {net.res_trafo.at[0, 'i_lv_ka']:.2f} kA\")\n", "print(f\"Voltage setpoint from Characteristic is {c1(x=net.res_trafo.at[0, 'i_lv_ka']):.3f} kA\")\n", "print(f\"Voltage at the controlled bus is {net.res_bus.at[2, 'vm_pu']:.3f} p. u.\")\n", "print(f\"Transformer tap position is {net.trafo.at[0, 'tap_pos']:.2f}\")\n", "net.res_bus" ] }, { "cell_type": "markdown", "id": "ca1fd9ae", "metadata": {}, "source": [ "Now let's go ahead and use a non-linear function in place of the piecewise linear Characteristic. We will use the interp1d class from scipy.interpolate to substitute Characteristic in the controller USetTapControl." ] }, { "cell_type": "code", "execution_count": 15, "id": "0196bea8", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c2 = SplineCharacteristic(net, [0, 0.3, 0.7, 1], [0.92, 0.95, 1.05, 1.08])\n", "plot_characteristic(c2,0,1)" ] }, { "cell_type": "code", "execution_count": 16, "id": "a789211a", "metadata": {}, "outputs": [], "source": [ "tc1.characteristic_index = c2.index" ] }, { "cell_type": "code", "execution_count": 17, "id": "6e8f817e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The load has active power of 35.0 MW, sgen has active power of 10.0 MW\n", "Current flowing through the transformer is 0.78 kA\n", "Voltage setpoint from Characteristic is 1.063 kA\n", "Voltage at the controlled bus is 1.063 p. u.\n", "Transformer tap position is -5.68\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
vm_puva_degreep_mwq_mvar
01.0200000.000000-28.145166-10.484178
11.012065-0.4344860.0000000.000000
21.063310-6.9058000.0000000.000000
30.925665-18.76919925.0000001.000000
\n", "
" ], "text/plain": [ " vm_pu va_degree p_mw q_mvar\n", "0 1.020000 0.000000 -28.145166 -10.484178\n", "1 1.012065 -0.434486 0.000000 0.000000\n", "2 1.063310 -6.905800 0.000000 0.000000\n", "3 0.925665 -18.769199 25.000000 1.000000" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "net.load.at[0, 'p_mw'] = 35\n", "pp.runpp(net, run_control=True)\n", "print(f\"The load has active power of {net.load.at[0, 'p_mw']} MW, sgen has active power of {net.sgen.at[0, 'p_mw']} MW\")\n", "print(f\"Current flowing through the transformer is {net.res_trafo.at[0, 'i_lv_ka']:.2f} kA\")\n", "print(f\"Voltage setpoint from Characteristic is {c2(x=net.res_trafo.at[0, 'i_lv_ka']):.3f} kA\")\n", "print(f\"Voltage at the controlled bus is {net.res_bus.at[2, 'vm_pu']:.3f} p. u.\")\n", "print(f\"Transformer tap position is {net.trafo.at[0, 'tap_pos']:.2f}\")\n", "net.res_bus" ] }, { "cell_type": "markdown", "id": "2086f684", "metadata": {}, "source": [ "As we can see, USetTapControl can be used with different functions to define the characteristic, as well as with different input variables." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }