{ "cells": [ { "cell_type": "markdown", "metadata": { "vscode": { "languageId": "plaintext" } }, "source": [ "# Stress Strain Calculation of a Laminate\n", "\n", "This example presents the stress strain calculation of a Laminate using the CLT. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "\n", "from composipy import OrthotropicMaterial, LaminateProperty, LaminateStrength" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Material\n", "E1 = 137.9e3\n", "E2 = 11.7e3\n", "v12 = 0.31\n", "G12 = 4.82e3\n", "t = 0.1524\n", "\n", "#Loads\n", "Nxx = 100\n", "Mxx = 20\n", "\n", "# Quasi laminate\n", "stacking = [45, -45, 90, 0]\n", "stacking += stacking[::-1]\n", "\n", "# Object definition\n", "material = OrthotropicMaterial(E1, E2, v12, G12, t)\n", "laminate = LaminateProperty(stacking, material)\n", "strength_analysis = LaminateStrength(laminate, Nxx=Nxx, Mxx=Mxx)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculating strains at the midplane $\\varepsilon_{0x}$, $\\varepsilon_{0y}$ and $\\gamma_{0xy}$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 1.52630215e-03, -4.89003289e-04, -1.67758599e-20, 5.46178270e-03,\n", " -2.99304212e-03, -6.90268796e-04])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "strength_analysis.epsilon0()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculating strains ply by ply in analysis direction and material direction." ] }, { "cell_type": "code", "execution_count": 4, "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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
plyzpositionangleepsilonxepsilonygammaxyepsilon1epsilon2gamma12
01-6.10e-01bot45-1.80e-031.34e-034.21e-04-2.34e-05-4.44e-043.14e-03
11-4.57e-01top45-9.71e-048.79e-043.16e-041.12e-04-2.04e-041.85e-03
22-4.57e-01bot-45-9.71e-048.79e-043.16e-04-2.04e-041.12e-04-1.85e-03
32-3.05e-01top-45-1.38e-044.23e-042.10e-043.72e-052.48e-04-5.62e-04
43-3.05e-01bot90-1.38e-044.23e-042.10e-044.23e-04-1.38e-04-2.10e-04
53-1.52e-01top906.94e-04-3.29e-051.05e-04-3.29e-056.94e-04-1.05e-04
64-1.52e-01bot06.94e-04-3.29e-051.05e-046.94e-04-3.29e-051.05e-04
74-5.55e-17top01.53e-03-4.89e-042.15e-201.53e-03-4.89e-042.15e-20
85-5.55e-17bot01.53e-03-4.89e-042.15e-201.53e-03-4.89e-042.15e-20
951.52e-01top02.36e-03-9.45e-04-1.05e-042.36e-03-9.45e-04-1.05e-04
\n", "
" ], "text/plain": [ " ply z position angle epsilonx epsilony gammaxy epsilon1 \\\n", "0 1 -6.10e-01 bot 45 -1.80e-03 1.34e-03 4.21e-04 -2.34e-05 \n", "1 1 -4.57e-01 top 45 -9.71e-04 8.79e-04 3.16e-04 1.12e-04 \n", "2 2 -4.57e-01 bot -45 -9.71e-04 8.79e-04 3.16e-04 -2.04e-04 \n", "3 2 -3.05e-01 top -45 -1.38e-04 4.23e-04 2.10e-04 3.72e-05 \n", "4 3 -3.05e-01 bot 90 -1.38e-04 4.23e-04 2.10e-04 4.23e-04 \n", "5 3 -1.52e-01 top 90 6.94e-04 -3.29e-05 1.05e-04 -3.29e-05 \n", "6 4 -1.52e-01 bot 0 6.94e-04 -3.29e-05 1.05e-04 6.94e-04 \n", "7 4 -5.55e-17 top 0 1.53e-03 -4.89e-04 2.15e-20 1.53e-03 \n", "8 5 -5.55e-17 bot 0 1.53e-03 -4.89e-04 2.15e-20 1.53e-03 \n", "9 5 1.52e-01 top 0 2.36e-03 -9.45e-04 -1.05e-04 2.36e-03 \n", "\n", " epsilon2 gamma12 \n", "0 -4.44e-04 3.14e-03 \n", "1 -2.04e-04 1.85e-03 \n", "2 1.12e-04 -1.85e-03 \n", "3 2.48e-04 -5.62e-04 \n", "4 -1.38e-04 -2.10e-04 \n", "5 6.94e-04 -1.05e-04 \n", "6 -3.29e-05 1.05e-04 \n", "7 -4.89e-04 2.15e-20 \n", "8 -4.89e-04 2.15e-20 \n", "9 -9.45e-04 -1.05e-04 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_strain = strength_analysis.calculate_strain()\n", "df_strain.head(10) #display the first 6" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Note\n", "The sequence of the DataFrame starts from the BOTTOM OF THE LAYUP to the TOP OF THE LAYUP.\n", "When defining the laminate, the first element of the list corresponds to the bottom-most layer. This is especially important for non-symmetric laminates." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAGwCAYAAAC99fF4AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAS+9JREFUeJzt3Qd4lFXz8OGhhEDoSEeqDRClVxFRaYoCClKlCaH3JvgqTQUpIlIUkBcQpCNN6VKVLk3lRVSK9CK9SN/vmvl/CVnYACHl2fK7r2sNz2Y3nkySzeTMOXPiuVwulwAAAMBNfPdLAAAAKJIkAAAAD0iSAAAAPCBJAgAA8IAkCQAAwAOSJAAAAA9IkgAAADxI6OlO3Hbr1i05cuSIJE+eXOLFi+f0cAAAwAPQNpAXLlyQzJkzS/z4DzcnRJJ0H5ogZc2a1elhAACAh3Dw4EF59NFHH+apJEn3ozNIYUFOkSKFx8dcv35dli5dKhUqVJCgoCAJdMTDHfG4jVi4Ix7uiMdtxCL68Th//rxNcoT9Hn8YJEn3EVZi0wTpXklSSEiIvZ9vZuJxJ+JxG7FwRzzcEY/biEXMxSM6S2VYuA0AAOABSRIAAIAHJEkAAAAekCQBAAB4QJIEAADgAUkSAACAByRJAAAAHpAkAQAAeECSBAAA4AFJEgAAgAckSQAAAB6QJAEAAHhAkgQAABxx8+ZNWbBggXgrn0uSRo4cKTly5JDEiRNL8eLFZdOmTfd8/NmzZ6V169aSKVMmCQ4OlieffFIWLlwYZ+MFAAB3O3bsmFSsWFFee+01mTZtmnijhOJDpk+fLp06dZJRo0ZZgjR06FAL8O7duyV9+vR3Pf7atWtSvnx5e9+sWbMkS5Ys8vfff0uqVKkcGT8AABBZvny51KtXT44fPy4hISFy69Yt8UY+lSQNGTJEQkNDpXHjxnatyZJO040bN066d+9+1+P1/tOnT8u6deskKCjI7tNZKAAAEPe0vNa3b1/58MMPxeVySb58+WwCJG/evOKNfCZJ0lmhLVu2SI8ePcLvix8/vpQrV07Wr1/v8Tnz58+XkiVLWrlt3rx5ki5dOqlbt668++67kiBBAo/PuXr1qt3CnD9/3t5ev37dbp6E3R/Z+wMN8XBHPG4jFu6Ihzvi4d+xOHLkiDRo0EDWrFlj1++8845NfuhM0v0+z4eJR0zELp5LUzkfCa6Wy3RWSBOfMN26dZPVq1fLxo0b73pO7ty5Zf/+/Tal16pVK/nrr7/sbbt27aRXr14e/z+9e/eWPn363HX/lClT7AsJAACiZtu2bfLZZ5/ZxIOuKW7ZsqW88MILEpsuX75sEyPnzp2TFClS+PdM0sPQGqeuRxozZozNHBUuXFgOHz4sgwYNijRJ0pkqXfcURr+gWbNmlQoVKkQaZM1Wly1bZuufwsp6gYx4uCMetxELd8TDHfHwv1jcuHHDft/q71317LPP2qSDbqKK7XiEVYKiw2eSpLRp01qio4u8ItLrjBkzenyO7mjTYEYsreXJk8dW1Gv5LlGiRHc9R3fA6e1O+nHu94V5kMcEEuLhjnjcRizcEQ93xMM/YnHw4EGpU6eOrF271q519kjLazqTFBfxiIm4+UwLAE1odCZIV8RHnCnS64jlt4iee+45K7FFXDX/xx9/WPLkKUECAADRt2DBAilQoIAlSMmTJ7fF2V988UW0EiQn+EySpLQM9tVXX8nXX38tu3btsqz00qVL4bvddEFYxIXd+n7d3da+fXtLjvSL1q9fP1vIDQAAYtb169elS5cu1vtIf//q5IauR6pZs6b4Ip8pt6latWrJyZMnpWfPnlYy0yx18eLFkiFDBnv/gQMHbMdbGF1LtGTJEunYsaPVQXXhtyZMursNAADEnP3790vt2rXDN1LpJqmBAwd6XMLiK3wqSVJt2rSxmyerVq266z4txW3YsCEORgYAQGCaO3euVXX0lAtt2Kx9Ct944w3xdT5VbgMAAN7j6tWrVqHRhEgTpGLFill5zR8SJEWSBAAAomzPnj22QWrYsGF23blzZ/nxxx/96mQLnyu3AQAAZ82cOVOaNm1qvYjSpEkjEyZMkNdff138DTNJAADggVy5csVOrtDdapoglSpVSrZv3+6XCZIiSQIAAPf1559/2maoL7/80q71YHndMKU7yf0V5TYAAHBPU6dOlWbNmsnFixftBIxJkyZJpUqVxN8xkwQAADz6999/JTQ01A6K1QSpTJkyVl4LhARJkSQBAIC77Nq1y7b0jx07VuLFiycffPCBHQWmjZkDBeU2AADgRo//atWqlVy+fNlOtfjmm2+kXLlyEmhIkgAAgNHzUPV8U02S1EsvvSSTJ0+WjBkzSiCi3AYAAOS3336TokWLWoKk56D27dtXli5dGrAJkmImCQCAAOZyueysNT0XVfsgZcqUSaZMmSJly5aVQEeSBABAgLpw4YK0bNnSSmqqQoUKtr0/ffr0Tg/NK1BuAwAgAO3YsUOKFCliCVKCBAmkf//+smjRIhKkCJhJAgAgwMpro0ePlg4dOsjVq1fl0UcftWaRpUuXdnpoXockCQCAAHHu3DnrnD1jxgy7rly5si3UfuSRR5wemlei3AYAQADYsmWLFCpUyBKkhAkTyuDBg2X+/PkkSPfATBIAAH5eXhsxYoR06dJFrl27JtmzZ5dp06ZJiRIlnB6a1yNJAgDAT505c0aaNGkic+bMsetq1arZdv/UqVM7PTSfQLkNAAA/tHHjRiuvaYIUFBQkn3/+ucyePZsEKQpIkgAA8LPy2pAhQ2y32v79+yVXrlyybt06adeunR1UiwdHuQ0AAD9x6tQpadSokXz//fd2XaNGDRk7dqykTJnS6aH5JGaSAADwAzpbVLBgQUuQgoOD5YsvvrCdbCRID48kCQAAH3br1i0ZMGCAlClTRg4ePChPPPGEbNiwwY4bobwWPZTbAADwUSdPnpQGDRrI4sWL7bpOnTrWTTt58uROD80vkCQBAOCD1qxZY0nRkSNHJHHixDJ8+HDb7s/sUcyh3AYAgA+5efOmfPTRR/Liiy9agpQ7d27ZtGmTNG3alAQphjGTBACAjzh+/LjUq1dPli9fbtdaahs5cqQkS5bM6aH5JZIkAAB8gCZGmiBpohQSEmLJkW73R+yh3AYAgJeX13r16iXly5e3BOnpp5+WzZs3kyDFAWaSAADwUrrmSJOhVatW2bWuO9LjRXQmCbGPJAkAAC+0bds2CQ0NtW3+uuZIt/bXrVvX6WEFFJIkAAC8yI0bN+Q///mPDBo0yK7z589vnbOffPJJp4cWcEiSAADwEtoxW3sfrV271q6bNWtm5TXtg4S4x8JtAAC8wIIFC6RAgQKWIGnH7C5dusiIESNIkBxEkgQAgIOuX78uXbt2lddee01Onz4thQoVsuaQpUuXdnpoAY8kCQAAh/z999/y/PPPy+DBg+26bdu2sm7dOnnsscecHhpYkwQAgDPmzp0rjRs3lrNnz0rKlCll3Lhx8uabb4bPLsF5zCQBABCHrl27Jh06dJA33njDEqRixYrZdv+wBAnegyQJAIA4snfvXnnuuedsx5rq3Lmz/Pjjj5IzZ06nhwYPKLcBABAHZs2aJU2aNJHz589LmjRpZMKECfL66687PSzcAzNJAADEoitXrkjr1q3lrbfesgSpVKlSVl4jQfJ+JEkAAMSSP//8U0qWLClffPGFXb/77rt2Dlu2bNmcHhoeAOU2AABiwdSpU61j9sWLFyVt2rQyadIkqVSpktPDgj/PJI0cOVJy5MhhHUiLFy9uDbcexLRp0yRevHhSrVq1WB8jACBw/fvvv5Yc6WG0miCVKVNGtm/fToLkg3wqSZo+fbp06tRJevXqJVu3brVD/ypWrCgnTpy45/P2799v7d21YRcAALHl999/ty39X331lf1h/v7778vy5cslS5YsTg8N/p4kDRkyREJDQ635Vt68eWXUqFESEhJiDbgic/PmTalXr5706dNHcuXKFafjBQAEjokTJ0rhwoXlt99+k/Tp08vSpUvlww8/lIQJWdniqxL6UvOtLVu2SI8ePcLvix8/vpQrV07Wr18f6fP69u1r36y67VJ7UdzP1atX7RZGdyKEdT+NrANq2P10SP0/xMMd8biNWLgjHv4Rj0uXLkn79u0tSVIvvviibe/PlCnTQ38uvhqL2PIw8YiJ2MVzuVwu8QFHjhyx6Uo900Z3CoTp1q2brF69WjZu3HjXc3766SepXbu21YJ10VyjRo2su6m2go9M7969bdbpTlOmTLFZKwAAwhw4cEAGDRokBw8etD/ca9WqJTVq1JAECRI4PbSAd/nyZVsXdu7cOUmRIoV/zyRF1YULF6R+/fpWF9YE6UHpTJWue4o4k5Q1a1apUKFCpEHWbHXZsmVSvnx5CQoKkkBHPNwRj9uIhTvi4bvx0PkFnS3SLf26UFtnjXQm6YUXXgi4WMSFh4lHWCUoOnwmSdJERzPz48ePu92v1xkzZrzr8Xv27LEF2xGbdd26dcvean149+7dHk9ZDg4Ottud9Ityvy/MgzwmkBAPd8TjNmLhjnj4Vjz0j/CWLVvK5MmT7Vr/iNbt/bq0I9BiEdeiEo+YiJvPLNxOlCiRLYjTXQIRkx69jlh+C5M7d2759ddfrdQWdqtSpYrVivXfOjsEAEBU7NixQ4oUKWIJkv7h3q9fP1m0aFGsJEhwns/MJCktgzVs2NC+QXWL5dChQ23BnO52Uw0aNLB1S/3797c+Svny5XN7fqpUqeztnfcDAHC/8tqYMWNsgbZu7tHfNdp/r3Tp0k4PDbHIp5IkXRB38uRJ6dmzpxw7dkwKFCggixcvlgwZMoQvoNOFcwAAxBRd26LtZ2bMmGHXlStXtvVIUVnvCt/kU0mSatOmjd080fNw7kW/qQEAeFDaekb/QNd1rrqeVSsVWtXgD/LA4HNJEgAAcVFeGzFihJ3WoH369EBaPfWhRIkSTg8NcYgkCQCACLSfnjYgnj17tl1XrVrVTnZIkyaN00NDHGO+EACA/08PTS9YsKAlSLqFXDcIzZkzhwQpQJEkAQACnpbX9HzQ5557znrs5cyZU9auXWu72fSgWgQmym0AgIB2+vRpO7bqu+++s+vq1avL2LFjw9vGIHAxkwQACFh6Hqi2k9EESZsWjxw5UmbOnEmCBEOSBAAIOHpiw8CBA6VMmTJ2OO3jjz8uGzZskFatWlFeQzjKbQCAgKJNifX0Bj1ORNWpU0dGjx4tyZMnd3po8DIkSQCAgLFmzRpLio4cOWLHVw0bNkyaNm3K7BE8otwGAPB7N2/elI8++sgOOdcE6amnnpKNGzfacSMkSIgMM0kAAL92/Phxefvtt+WHH36w6/r168sXX3whyZIlc3po8HIkSQAAv7VixQqpV6+eHYqeJEkSS450uz/wICi3AQD8srzWq1cvKVeunCVITz/9tPz8888kSIgSZpIAAH5F1xzp7NGqVavs+p133pHhw4dLSEiI00ODjyFJAgD4jaVLl9r6I93mnzRpUhk1apRdAw+DchsAwOfduHFD/vOf/0ilSpUsQXr22Wdly5YtJEiIFmaSAAA+7dChQ9b76KeffrLrFi1a2GG1ulAbiA6SJACAz1q4cKE0aNBATp06ZR2zv/rqK6lVq5bTw4KfoNwGAPA5169fl27duknlypUtQSpUqJBs3bqVBAkxipkkAIBP+fvvv6V27dp2IK1q06aNDB48WIKDg50eGvwMSRIAwGfMmzdPGjduLGfOnJGUKVPKuHHj5M0333R6WPBTlNsAAF7v2rVr0qFDB6lWrZolSEWLFpVt27aRICFWkSQBALza3r175bnnnpPPP//crjt27Gg72XLmzOn00ODnKLcBALzWt99+ax2zz58/L6lTp5YJEyZIlSpVnB4WAgQzSQAAr3PlyhVbkF2jRg1LkEqWLCnbt28nQUKcIkkCAHiVP//8U0qVKiUjR460a93qv3r1asmWLZvTQ0OAodwGAPAaP/74o9SvX18uXLggadOmlYkTJ8orr7zi9LAQoEiSAACO+/fff6Vdu3YyduxYu37++edl6tSpkiVLFqeHhgBGuQ0A4Kjff/9dihcvbglSvHjxpEePHrJixQoSJDiOmSQAgGMmTZokLVu2lEuXLkn69OmlVatW8t5770nChPx6gvOYSQIAxDlNinRrvx5Oq/9+8cUXZfPmzVKgQAGnhwaEI0kCAMSpnTt3SrFixWT8+PFWXuvdu7csW7ZMMmXK5PTQADfMZwIA4oTL5bLESPsf6ULtjBkzypQpU2wWSd26dcvpIQJuSJIAALHu4sWLtvbom2++sevy5cvbv3UdEuCtKLcBAGLVL7/8IoULF7akKH78+PLxxx/L4sWLSZDg9ZhJAgDEWnltzJgx0r59e7l69apt6dfeR9oDCfAFJEkAgBin5601a9ZMpk+fbtfaNVu7Z2sXbcBXUG4DAMSorVu3WnlNEyTtdzRw4ED5/vvvSZDgc5hJAgDEWHlND6Xt3LmzXLt2zQ6knTZtmpQsWdLpoQEPhSQJABBtZ8+elaZNm8q3335r11WqVLHt/mnSpHF6aMBDo9wGAIiWTZs2ScGCBS1BCgoKks8++0zmzp1LggSfx0wSAOChy2tDhw6Vd999V65fvy45c+a0dUhFixZ1emhAjCBJAgBE2enTp6Vx48Yyf/58u65evbqMHTtWUqVK5fTQgBhDuQ0AECXr16+3g2g1QUqUKJGMGDFCZs6cSYIEv+NzSZLunMiRI4ckTpxYihcvbrXwyHz11VfWtCx16tR2K1eu3D0fDwCInJ6tptv59XX14MGD8thjj1nC1Lp1azuoFvA3PpUkaa27U6dO0qtXL+vDkT9/fqlYsaKcOHHC4+NXrVolderUkZUrV9oPctasWaVChQpy+PDhOB87APiyf/75R1577TVbf3Tz5k2pVauWvQ4XKlTI6aEBscankqQhQ4ZIaGio1cHz5s0ro0aNkpCQEBk3bpzHx0+ePFlatWpl08K5c+e2ern+JbR8+fI4HzsA+Koff/zRXkcXLVokwcHBMnr0aDteJEWKFE4PDYhVPrNwWxuTbdmyRXr06BF+nx6UqCU0nSV6EJcvX7YdGPfalqrnC+ktYmt9pc/Tmydh90f2/kBDPNwRj9uIhW/FQ/+oHDBggPTp08f+/eSTT8qUKVPk2WeflRs3bgRcPOISsYh+PGIidvFcuofTBxw5csQOR1y3bp1b99Zu3brJ6tWrZePGjff9GDqrtGTJEtm5c6etafKkd+/e9oJwJ31h0FkrAAiU5pDa72jHjh12XbZsWWnevLkkSZLE6aEBDzwxUrduXTl37txDz3r6zExSdH3yySfWHl/XKUWWICmdqdJ1TxFnksLWMkUWZM1Wly1bJuXLl7dGaoGOeLgjHrcRC9+Ih67jbNGihRw7dsySomHDhkmDBg1ifXG2t8bDCcQi+vEIqwRFh88kSXowYoIECeT48eNu9+t1xowZ7/ncwYMHW5L0ww8/2DTxvWi9XW930i/K/b4wD/KYQEI83BGP24iFd8ZDF2R/+OGH0rdvX2sUqWs/Z8yYIU8//XRAxsMbEIuHj0dMxM1nFm5rLw49VTriouuwRdj3OjxRt6vqD/3ixYulSJEicTRaAPAtR48etb/SdbmBJkjvvPOObN68Oc4TJMCb+MxMktIyWMOGDS3ZKVasmLXDv3Tpku12UzodrOuW+vfvb9e64LBnz562nkh7K+nUsUqWLJndAABiZYy3337b2qkkTZpUvvzyS6lfv77TwwIc51NJkvblOHnypCU+mvDollSdIcqQIYO9/8CBA7bjLYz+oOuuuBo1arh9HO2zpAu0ASCQ6Q41fS3s16+fzR4988wzVl7TlikAfCxJUm3atLGbJ7ooO6L9+/fH0agAwLccOnTIdv5oDySlO9d0Nxu71wAfTpIAANGzcOFCW55w6tQpSZ48uYwZM0Zq167t9LAAr+MzC7cBANHfRq295SpXrmwJUsGCBa1JLwkS4BkzSQAQAHTNpiZDYScU6LKFQYMG3bNvHBDoSJIAwM/Nnz9fGjVqJGfOnJGUKVPKf//7X6levbrTwwK8HuU2APBTurtXW6dUrVrVEqSiRYvK1q1bSZCAB8RMEgD4oX379lnbFG0IqTp06GC947QxL4AHQ5IEAH5m9uzZ1jFbD/ZMnTq1jB8/3maTAEQN5TYA8BNXrlyRtm3bWjlNE6QSJUrItm3bSJCAh0SSBAB+4K+//pJSpUrJiBEj7Fq3+q9Zs0ayZ8/u9NAAn0W5DQB83PTp0yU0NFQuXLggjzzyiEycOFFeffVVp4cFBNZMkp7z07dvX2tnDwBw1r///istWrSw/keaIJUuXVq2b99OggQ4kSQlTJjQmo9psgQAcM7u3bttzdHo0aMlXrx48p///EdWrlwpjz76qNNDAwJ3TdJLL70kq1evjp3RAADu65tvvpHChQvLL7/8IunSpZMlS5bIRx99ZH/IAog5Uf6JeuWVV6R79+7y66+/2g9p0qRJ3d5fpUqVGBweACDM5cuXbffauHHj7PrFF1+UyZMnS6ZMmZweGuCXopwktWrVyt4OGTLkrvfplO/NmzdjZmQAgHD/+9//5K233rK3+lrbs2dP+eCDDyRBggRODw3wW1FOkm7duhU7IwEA3MXlcsmECROkdevWtlA7Y8aMNnukSx8AeHGfJG1cBgCIHRcvXpSGDRta92xNkMqXL2+710iQAC9NkrSc9uGHH0qWLFkkWbJksnfvXrtfp331ZGkAQPTpouwiRYrIpEmTJH78+LYwe/HixZIhQwanhwYEjCgnSR9//LFN/Q4cONDtoMR8+fLJ2LFjY3p8ABBw5bUxY8ZI8eLFbZu//kG6atUq2+KvyRKAuBPlnzjt5Ko/wPXq1XNbMJg/f375/fffY3p8ABAwzp8/L3Xr1pXmzZvbcgbdTazlteeff97poQEBKcpJ0uHDh+Xxxx/3uKD7+vXrMTUuAAgoehCttlWZNm2a/QGqs/Xff/+9pE2b1umhAQEryklS3rx55ccff7zr/lmzZknBggVjalwAEDDltS+//NK6Z+shtVmzZrXX2K5du1JeA3ytBYD25tDdFjqjpLNHs2fPtrq5luH0rx4AwIM5e/asHfW0bt268Ga848ePlzRp0jg9NAAPM5NUtWpV+e677+SHH36wbtuaNO3atcvu0+2pAID727x5sy3O1gQpKCjIGvTOnTuXBAnwIg910I8uIly2bFnMjwYAAqC89vnnn0u3bt1sHWf69Ollzpw5UqpUKaeHBuAOD30a4s8//2wzSGHrlHTBIQAgcqdPn7bGkPPmzbPratWqSY0aNaRo0aJODw1ATCRJhw4dkjp16sjatWslVapU4XV1/StId2U8+uijUf2QAOD3NmzYILVq1ZIDBw5Yjzktr4WGhsqiRYucHhqAmFqT1LRpU5si1lkk/atIb/pvXcSt7wMA3Kavjbo4W5cpaIL02GOPyfr16+0sNj2oFoAfzSStXr3aFho+9dRT4ffpv4cPH07DMwCI4J9//rHdwAsXLrRrnUnSZrwpUqRwemgAYmMmSXt4eGoaqWe6Zc6cOaofDgD8kvY6KlCggCVIwcHBMnr0aJk6dSoJEuDPSZJOG7dt29YWbofRf7dv314GDx4c0+MDAJ8rr/Xr109efPFF6yf35JNPyqZNm6RZs2aU1wB/LLelTp3a7Yf70qVL1t8jYcL/e/qNGzfs37prQ3drAEAgOnHihNSvX1+WLl1q12+//bZ1006WLJnTQwMQW0nS0KFDH+ZjA0DAWLVqlR1Oe/ToUUmSJImMHDlSGjVqxOwR4O9Jki48BACIx/WYH330kfTt29dKbdo3bsaMGfL00087PTQATjWT1GllvemLQkTPPvtsdMcEAD7h2LFjUq9ePVmxYoVdN27c2Hb66pFNAAIwSdqyZYvNLGlvJG2vH5FOK+tfVQDg7/T8Sk2Q9I9FTYp07ZGuRwIQwEmSLs7W3Rr//e9/JUOGDNTbAQQU3ajSu3dv28Gmfyg+88wzVl7LnTu300MD4HSStHfvXvn222/l8ccfj+mxAIBX0y39eiyT9kBSuq1fN7boQm0A/ifKfZJefvll2bFjR+yMBgC8lJ6xps0hNUHSLf3aGFIbRJIgAf4ryjNJY8eOtTVJv/32m+TLl0+CgoLc3l+lSpWYHB8AOEpPGHj//fdl4MCBdl2wYEGZPn26PPHEE04PDYC3JUl6MOPatWs9nlzNwm0A/kQPpNXymp5XqfRQWj1ZIHHixE4PDYA3ltv0SBLtIqsN03T7f8QbCRIAf/Hdd99ZeU0TpJQpU8qsWbNkxIgRJEhAAIlyknTq1Cnp2LGj7WwDAH9z7do16dy5sy0dOHPmjBQtWlS2bt0q1atXd3poALw9SXrzzTdl5cqVsTMaAHDQvn375Pnnn5chQ4bYdYcOHeSnn36SXLlyOT00AL6wJkl7JPXo0cNeOLQ/yJ0Lt9u1ayexSc9DGjRokHW6zZ8/v3W3LVasWKSPnzlzpnzwwQeyf/9+W2g5YMAAefXVV2N1jAB8z+zZs60P3Llz5yRVqlQyYcIEqVq1qtPDAuBru9t0++vq1avtdufC7dhMknRHSadOnWTUqFFSvHhx609SsWJF2b17t6RPn/6ux+taAl102b9/f3nttddkypQpUq1aNZs61515AHD16lXp0qWLrTdSJUqUkGnTpkn27NmdHhoAXyu36XR0ZDdtNBmbdAo8NDTUzkfSQyQ1WQoJCZFx48Z5fPznn38ulSpVkq5du0qePHnkww8/lEKFCoW/GAIIbH/99ZeUKlUq/DWhW7dusmbNGhIkANE74NaJxZR6bpyW+sLEjx9fypUrZ20JPNH7deYpIp15mjt37j3/qtRbmPPnz4f3StGbJ2H3R/b+QEM83BEP74yFluJbtGghFy5ckEceecT+2HrllVfidHzeFA9vQDxuIxbRj0dMxO6hzm67l8hmdaLrn3/+sRYDd+6q0+vff//d43N03ZKnx+v9kdHSXJ8+fe66f+nSpTZrdS/Lli27z2cRWIiHO+LhHbHQP4L0dWrJkiV2rbPMuptNz2FbuHChI2Pie8Md8biNWDx8PC5fvixxniTpltg7MzXtvn327Fl56aWXxNfpTFXE2SedScqaNatUqFBBUqRI4fE5GgP9wpUvX/6uheyBiHi4Ix7eEwtdv1i3bl359ddfbQ2lltd69eolCRMmDMh4eBvicRuxiH48wipB0RHlV4Y5c+bcdZ82kmzZsqU89thjElvSpk0rCRIkkOPHj7vdr9cZM2b0+By9PyqPV8HBwXa7k35R7veFeZDHBBLi4Y54OBuLyZMnS/PmzeXSpUuSLl06+eabb+yPH2/A94Y74nEbsXj4eMRE3KK8cNvjB4kf32ZfPvvsM4ktiRIlksKFC8vy5cvdkjO9LlmypMfn6P0RH680E43s8QD8j065N23a1E4K0ASpbNmydki3tyRIALxXjM0x79mzR27cuCGxSRMxPVy3SJEi1htJWwDoi57udlMNGjSQLFmy2Loi1b59e3nhhRfk008/lcqVK9u23p9//lnGjBkTq+ME4B3+97//Sc2aNWXnzp1WXuvZs6f1TdNZaQCI8STpzt1iuthRz3FbsGCBJTCxqVatWnLy5El7odPF13qu0uLFi8MXZ+thlDqrFUa39mpvJD3B+7333rNmkrqzjR5JgP/TZpB6IK3OJGmJXctt/rBuEoAXJ0nbtm1zu9akROv7Oltzv51vMaFNmzZ282TVqlV33ffWW2/ZDUBguHjxoiVHEydOtGttE6LrjzhvEkCsJ0mc2wbAW+muNS2vaVsQ/QOub9++tmM14gwzAPhdM0kAiIyW/fXIJD0W6cqVK5I5c2aZOnWqlClTxumhAfBhUf7zSrfQ169f316EtLeILoCMeAOAuKQds+vVqyfNmjWzBEm7Zm/fvp0ECUDczyQ1atTIFkjrDpFMmTLZjhEAcIKukdTymp7Bpn+k9evXzw6rpbwGwJEk6aeffpIff/zRdpYBgFPltS+//FI6duxo5zpqV3xt8aE7WgHAsSRJX4z0BQoAnHDu3DlrDjlr1iy7fv311227f5o0aZweGgA/E+U5aW3g2L17d9m/f3/sjAgAIqHNYAsWLGgJkh45MGTIEJk3bx4JEgDvmEnSho7anE3PaQsJCbnrbJTTp0/H5PgAwGavhw0bJl27drWDLnPkyCHTp0+3zvsA4DVJks4kAUBcOXPmjDWq1W756s0335T//ve/kipVKqeHBsDPRTlJiu2jRwAgzIYNG6R27dry999/2yHX2tlfu2mzqxZAXGCfLACvc+vWLRk8eLA8//zzliBpeX/dunV2JBEJEoC4QsdtAF7l1KlTNmOth2aHrYMcM2aMpEiRwumhAQgwzCQB8Brah017sGmCFBwcLKNGjbLjRUiQADiBJAmAV5TX+vfvL2XLlpVDhw7Jk08+KRs3bpTmzZtTXgPgO0nS+PHjrQUAAMSEEydO2Hlr7733nty8eVPefvtt2bJli+TPn9/poQEIcFFOkrSRZMaMGaVJkya2kBIAHtaqVausvLZ06VJJkiSJbe2fOHGiJEuWzOmhAUDUk6TDhw/L119/Lf/8849NjefOnVsGDBggx44di50RAvA7OmPUt29fefnll+Xo0aOSJ08e2bx5s/VDorwGwGeTpIQJE8obb7xhRwEcPHhQQkNDZfLkyZItWzapUqWK3a/rCwAgsuaQr776qvTq1cteKxo3bmwJ0tNPP+300AAg5hZuZ8iQQUqXLi0lS5aU+PHjy6+//mpbd7WniU6jA0BEy5cvl44dO8rKlSvtWCMtrY0bN06SJk3q9NAAIGaSpOPHj1ujN/3LT0tu58+fl++//1727dtn5biaNWvSmRtAuBs3bsgHH3xgM0hnz56VfPny2eLs+vXrOz00AIi5ZpKvv/66LFmyxLboaqmtQYMGbidw61+EnTt3lkGDBkX1QwPwQ/qHU926dWXNmjV2Xb58eZk1axa9jwD4X5KUPn16Wb16tZXYIpMuXTqbVQIQ2BYvXmyzRbrRQ3esffHFF5Yc6U42APC7cptu0b1XgqR0d0r27NmjMy4APuz69evSo0cP63+kCZJu89+6dasdVgsAfjWTNGzYsAf+gO3atYvOeAD4ON31qslQWB+11q1b2xrGxIkTW/IEAH6VJH322WcP9MF0BokkCQhc3333nTRq1EhOnz5tZTWdea5Ro4bTwwKA2EuSWF8E4F6uXbtm5bUhQ4bYdZEiRWT69OmSK1cup4cGAHG3cDsil8tlb+mQCwSu/fv3S61atWTTpk123aFDB/nkk08kODjY6aEBQNz3SdIpdO1zomsM9Kb/Hjt2bPRGAsDnzJkzRwoWLGgJUqpUqWTu3LlWnidBAhCQM0k9e/a0KfW2bduG73Jbv369ddE9cOCAnccEwL9dvXpVunbtKsOHD7frEiVKyLRp09jVCiCwk6Qvv/xSvvrqK6lTp074fXpm27PPPmuJE0kS4N/27Nlj5TXtmK26dOki/fr1k6CgIKeHBgDOJkm6hVcXZd6pcOHCdvQAAP81c+ZMadq0qR1F9Mgjj8jXX38tlStXdnpYAOAda5K0e67OJt1pzJgxUq9evZgaFwAvcuXKFWnVqpWdy6gJkh5svX37dhIkAH4t4cMu3F66dKmtQ1AbN2609Uh6jlunTp3CHxe2HRiA7/rjjz8sOdqxY4dd61Z/LasnTBitzbEA4PWi/Cr322+/SaFChcLXJqi0adPaTd8XhrYAgO+bMmWKNG/eXC5evGhnMk6aNEkqVqzo9LAAwDuTpJUrV8bOSAB4jcuXL0v79u3DW3uULVtWJk+eLJkzZ3Z6aADg3X2SAPivXbt2SfHixS1B0hlhbfvxww8/kCABCDgsKgAQTner6QJtnUnKkCGDldteeuklp4cFAI5gJgmAXLp0SRo2bGiH02qCVK5cOVuoTYIEIJCRJAEB7tdff7XeZxMnTpT48ePLhx9+KIsXL7aZJAAIZJTbgAClB1RrOw/tlK99kHTNkZbXXnjhBaeHBgBegSQJCEAXLlyQFi1aWFKkKlWqZDNJus0fAPB/KLcBAUY7ZesxQpogJUiQQD755BNZsGABCRIA3IGZJCCAymujRo2Sjh07ytWrVyVr1qwybdo0KVWqlNNDAwCvRJIEBIBz585JaGioHVCrXn/9dRk/frwdUgsA8PFy2+nTp+0A3RQpUkiqVKmkSZMmdlTCvR6vC1KfeuopSZIkiWTLlk3atWtnvyyAQPLzzz/bUUKaIOl5a59++qnMmzePBAkA/CVJ0gRp586dsmzZMvn+++9lzZo10qxZs0gff+TIEbsNHjzYzpSbMGGCbWvW5AoIlPLasGHDrJy2d+9eyZ49u/z00092CDVnKwKAn5Tb9JgETXA2b95s/VzU8OHD5dVXX7UkyNNxCfny5ZNvv/02/Pqxxx6Tjz/+WN5++225ceMGJ5jDr505c0beeecdmTt3rl2/8cYbtt0/derUTg8NAHyGT2QK69evtxJbWIKktCOwNr7buHGj/QJ4EFpq03LdvRIkXdCqtzDnz5+3t9evX7ebJ2H3R/b+QEM8nI3Hpk2bbOb177//lkSJEsmAAQPsqBGdPXL6a8L3hjvi4Y543EYsoh+PmIhdPJfOyXu5fv362ZlSu3fvdrs/ffr00qdPH2nZsuV9P8Y///xj2551JklnlCLTu3dv+5h30u3SISEhD/kZALFPf5R1rdGkSZPk5s2b1jG7a9eu8vjjjzs9NACIc3rEUt26dcMnSHxuJql79+72V+79Sm3RpbNBlStXlrx581oSdC89evSwNRsRn6tbpStUqBBpkDVb1bVS5cuXl6CgIAl0xCPu43Hq1Clbb7dw4UK7rlGjhnz55ZeSMmVK8SZ8b7gjHu6Ix23EIvrxCKsERYejSVLnzp3tQM17yZUrl2TMmFFOnDjhdr+uK9IdbPq++3UW1m7CyZMnlzlz5tw3uMHBwXa7kz7vfs99kMcEEuIRN/FYu3at1K5dWw4dOmTfu0OHDpXmzZt79eJsvjfcEQ93xOM2YvHw8YiJuDmaJGmH3wfp8luyZEk5e/asbNmyxUpmasWKFXLr1i0pXrz4PbPIihUr2i+O+fPnS+LEiWN0/ICT9Pt/4MCB8v7771t57YknnpAZM2ZIgQIFnB4aAPgFn2gBkCdPHpsN0mZ4uihV/3Ju06aN/fUctrPt8OHDkjt3bnt/WIKkJbJLly7Zrh69PnbsmN30Fwrgy06ePGklZC0P6/ez1t31jwgSJAAIsN1tavLkyZYYvfzyy7arrXr16tYDJmK9Uhd260IttXXrVtv5pu5cuLpv3z7JkSNHHH8GQMxYvXq1JUXaB0wbpWo7DN3u783lNQDwRT6TJKVJkyb8xHJPNOmJuFGvbNmybteAr9MZI93pqZsPtNSmM6xaXtOeYACAAE6SgECmZWJtX7F8+XK71g0PI0aMkKRJkzo9NADwWyRJgJfTxEibQx4/ftx6denW/gYNGjg9LADwez6xcBsI1PJaz549rS+IJkhaVtPDakmQACBuMJMEeCFdlK2Ls3WRttKdnZ9//rkt1AYAxA2SJMDLLFmyxNYf6VE6yZIlk9GjR1vCBACIW5TbAC+hXeS175H2BNMEKX/+/Nb7iAQJAJzBTBLgBQ4ePCh16tSxRqmqVatW8umnn9IlHgAcRJIEOGzBggW2GFvPItRDlMeOHStvvfWW08MCgIBHuQ1wiHaJ79Kli7z22muWIOm5hNopngQJALwDM0mAA/bv329nD4YdndO+fXsZMGCAHcYMAPAOJElAHJs7d640btxYzp49K6lSpZLx48dLtWrVnB4WAOAOlNuAOHL16lWbMXrjjTcsQSpevLhs27aNBAkAvBQzSUAcOHr0qLzwwgu25kh17tzZDqtNlCiR00MDAESCJAmIZbNmzbKk6PLly5ImTRr5+uuvbbE2AMC7UW4DYsmVK1es35E2g9QEqVSpUrJ9+3YSJADwEcwkAbHgzz//lJo1a1pSpKpXry4TJ06UkJAQp4cGAHhAJElADJs6dao0a9ZMLl68KGnTppUJEybYkSNBQUFODw0AEAWU24AY8u+//0poaKiV1zRB0oXaO3bskAoVKjg9NADAQyBJAmLArl27pFixYnakSLx48aRnz57yww8/SObMmZ0eGgDgIVFuA6JJ1xq1bNnSFmdnyJBBJk+eLC+//LLTwwIARBMzScBDunTpknXObtiwoSVImhjpQm0SJADwDyRJwEP47bffpGjRorYoO378+NK3b19ZsmSJZMyY0emhAQBiCOU2IApcLpeMGzdO2rRpY32QMmXKZLvZdJE2AMC/kCQBD+jChQu29kjXHKmKFSvKpEmTJF26dE4PDQAQCyi3AQ9At/IXKVLEEqQECRJI//79ZeHChSRIAODHmEkC7lNeGz16tHTo0EGuXr0qjz76qEybNk2ee+45p4cGAIhlJElAJM6dO2eds2fMmGHXeuaaLtR+5JFHnB4aACAOUG4DPNiyZYsULlzYEqSECRPK4MGDZf78+SRIABBAmEkC7iivjRgxQrp06SLXrl2T7NmzW3mtRIkSTg8NABDHSJKA/+/MmTPSpEkTmTNnjl1Xq1bNtvunTp3a6aEBABxAuQ0QkU2bNkmhQoUsQQoKCpLPP/9cZs+eTYIEAAGMJAkS6OW1IUOG2G61/fv3S65cuWTdunXSrl07O6gWABC4KLchYJ06dUoaNWok33//vV2/9dZb8tVXX0nKlCmdHhoAwAswk4SApLNFBQsWtAQpODhYvvjiC5k+fToJEgAgHEkSAsqtW7dkwIABUqZMGTl48KA88cQTsmHDBjtuhPIaACAiym0IGCdPnpQGDRrI4sWL7bpu3boyatQoSZ48udNDAwB4IZIkBIQ1a9ZInTp15MiRI5I4cWIZPny4bfdn9ggAEBnKbfBrN2/elI8++khefPFFS5By585t2/2bNm1KggQAuCdmkuC3jh8/Lm+//bb88MMPdt2wYUMZOXKkJE2a1OmhAQB8AEkS/NKKFStszZEmSiEhIbZ7TZMkAAAeFOU2+F15rVevXlKuXDlLkPLlyyebN28mQQIARBkzSfAbuuaoXr16smrVKrvWdUd6vIjOJAEAEFUkSfALS5cutfVHus0/WbJkMnr0aCu3AQDwsCi3wafduHFD3nvvPalYsaIlSPnz55ctW7aQIAEAoo2ZJPisQ4cOWe+jn376ya61a7YeVqt9kAAACJiZpNOnT9t6kxQpUkiqVKmsEeDFixcf+KT3V155xfrizJ07N9bHiti3YMECKVCggCVI2jFbz13THWwkSACAgEuSNEHauXOnLFu2zA4l1Q7KzZo1e6DnDh06lMaBfuL69evStWtXee211+TUqVNSuHBh2bZtm9SsWdPpoQEA/IxPlNt27dpl523pVu4iRYrYfXqsxKuvviqDBw+WzJkzR/rc7du3y6effio///yzZMqU6b7/r6tXr9otzPnz58N/OevNk7D7I3t/oImtePz999+2OHvjxo123bp1a/nkk08kODjYq2PP98dtxMId8XBHPG4jFtGPR0zELp5La1Febty4cdK5c2c5c+aM24JdLa3MnDlT3njjDY/Pu3z5siVV/fv3l6pVq9ps0pw5c6RatWqR/r969+4tffr0uev+KVOmsJXcQZoYDRs2TC5dumQds9u2bSslSpRwelgAAC+lOYBu4jl37pwt1fHbmaRjx45J+vTp3e5LmDChpEmTxt4XmY4dO0qpUqUsQXpQPXr0kE6dOrnNJGXNmlUqVKgQaZA1W9UyYPny5SUoKEgCXUzG49q1a/Y10ZlDVbRoUZk8ebLkyJFDfAXfH7cRC3fEwx3xuI1YRD8eYZWg6HA0SerevbsMGDDgvqW2hzF//nw7mkLXq0SFlm70dif9otzvC/Mgjwkk0Y3H3r17pVatWlYqVTqb2K9fP0mUKJH4Ir4/biMW7oiHO+JxG7F4+HjERNwcTZL0l16jRo3u+ZhcuXJJxowZ5cSJE273a7lNd7zp+zzRBGnPnj22Ey6i6tWry/PPPx/elRneadasWbaDUf8S0BnDCRMmyOuvv+70sAAAAcTRJCldunR2u5+SJUvK2bNnrUmg7mYKS4Ju3bolxYsXj3SWSo+liOiZZ56Rzz77jF+2XuzKlSuWPOt2fqXl0mnTplnJEwCAuOQTa5Ly5MkjlSpVktDQUBk1apTVJtu0aSO1a9cO39l2+PBhefnll2XixIlSrFgxm2HyNMuULVs2yZkzpwOfBe7nzz//tK38uiMxLNHt27cvU80AAEf4TJ8kXaybO3duS4R063/p0qVlzJgx4e/XxGn37t22mh2+Z+rUqVKoUCFLkNKmTSuLFi2yXYkkSAAAp/jETJLSdSm6DT8yutvpft0MfKDbQcD5999/pX379vLVV1/ZdZkyZezrnCVLFqeHBgAIcD4zkwT/8/vvv9uaMk2QtIfV+++/L8uXLydBAgB4BZ+ZSYJ/0bVjeiCtlkczZMgg33zzjZQrV87pYQEAEI6ZJMQp7ZjduHFjadiwoSVIL730kq1DIkECAHgbkiTEGT2gWHceas+j+PHj2/EvS5cujbTXFQAATqLchlinC+bHjx9vbRt0obYeNKyLs8uWLev00AAAiBRJEmLVxYsXpUWLFtbCQekZeJMmTbrrLD4AALwN5TbEmh07dliHdE2QEiRIYH2PtP8RCRIAwBcwk4RYKa8tWbJExo0bJ1evXpVHH33UmkVqA1AAAHwFSRJilB5IqwfT6gG1qnLlyrZQW7toAwDgSyi3IcZs3brVjhbRBEnLa5988onMnz+fBAkA4JNIkhAj5bURI0ZIyZIlZc+ePZI9e3bp16+fdOrUybb6AwDgi/gNhmg5e/as1KhRQ9q2bSvXrl2TqlWryqZNm+Spp55yemgAAEQLSRIemiZDBQsWlNmzZ0tQUJAMHTpU5syZI6lTp3Z6aAAARBtJEh6qvPbZZ5/ZbrX9+/dLrly5ZN26ddK+fXs7qBYAAH/A7jZEyenTp6VRo0by3Xff2bWW2saOHSspU6Z0emgAAMQoZpLwwHS2qECBApYgBQcHyxdffCEzZswgQQIA+CWSJNzXrVu3ZODAgVKmTBk5ePCgPPHEE7JhwwZp2bIl5TUAgN+i3IZ7OnnypDRs2NCOE1F16tSR0aNHS/LkyZ0eGgAAsYokCZH68ccfpXbt2nLkyBFJnDixDBs2TJo2bcrsEQAgIFBug8fy2scffyxly5a1BCl37ty23T80NJQECQAQMJhJgpvjx49L/fr1ZdmyZXbdoEEDGTlypCRLlszpoQEAEKdIkhBuxYoVUq9ePTl27JiEhIRYcqTb/QEACESU2yA3b96U3r17S7ly5SxBevrpp2Xz5s0kSACAgMZMUoA7evSozR6tXLnSrps0aWILtHUmCQCAQEaSFMCWLl0qb7/9tm3zT5o0qW3t14QJAABQbgtIN27ckP/85z9SqVIlS5Dy588vW7duJUECACACZpICzKFDh6Ru3brWA0m1aNFChgwZIkmSJHF6aAAAeBWSpACycOFC29J/6tQp65itB9PWrFnT6WEBAOCVKLcFgOvXr0u3bt2kcuXKliAVKlTIymskSAAARI6ZJD934MABO1pk/fr1dt22bVsZNGiQBAcHOz00AAC8GkmSH5s/f771Ojpz5oykTJlSxo0bJ2+++abTwwIAwCdQbvND165dk44dO0rVqlUtQSpWrJhs27aNBAkAgCggSfIz+/btk9KlS8vQoUPtulOnTraTLWfOnE4PDQAAn0K5zY/Mnj1b3nnnHTl37pykTp1avv76a3n99dedHhYAAD6JmSQ/cOXKFVuQXb16dUuQSpUqJdu3bydBAgAgGkiSfNxff/1lSdGIESPs+t1335VVq1ZJtmzZnB4aAAA+jXKbD5s+fbqEhobKhQsXJG3atDJx4kR55ZVXnB4WAAB+gZkkH/Tvv//acSLa/0gTpOeff97KayRIAADEHJIkH7N7924pUaKEjB49WuLFiyfvv/++rFixQrJkyeL00AAA8CuU23zIN998YzNIly5dkvTp08vkyZOlXLlyTg8LAAC/xEySD7h8+bI0adJE6tevbwnSSy+9ZOU1EiQAAGIPSZKX27lzpxQtWtSOFIkfP7706dNHli5dKpkyZXJ6aAAA+DXKbV7K5XLJhAkTpHXr1rZQW5OiKVOmSNmyZZ0eGgAAAYGZJC908eJFadiwoXXP1gSpQoUKVl4jQQIAIO74TJJ0+vRpqVevnqRIkUJSpUpla3Q0mbif9evX2xqepEmT2nPLlCljiYe3+uWXX6RIkSIyadIkSZAggfTr108WLVpkC7UBAEDc8ZkkSRMkXZ+zbNky+f7772XNmjXSrFmz+yZIlSpVspmYTZs2yebNm6VNmza2tscby2tjxoyR4sWL2zZ/3dKvnbN79OjhleMFAMDf+cSapF27dsnixYstydFZFjV8+HB59dVXZfDgwZI5c2aPz+vYsaO0a9dOunfvHn7fU089dc//19WrV+0W5vz58/b2+vXrdvMk7P7I3n8/+v9o1aqVzJgxw6718xo7dqx10X7Yj+mk6MbD3xCP24iFO+LhjnjcRiyiH4+YiF08l05heDnd2dW5c2c5c+ZM+H03btyQxIkTy8yZM+WNN9646zknTpyQDBkyyLBhw2Tq1KmyZ88eyZ07t3z88cdSunTpSP9fvXv3th1kd9JF0yEhIRLT9u7dK4MGDZKjR49aeU23+VepUoXZIwAAotk+p27dunbwuy638duZpGPHjt21JidhwoSSJk0ae19kyUdY0qOzTQUKFLCzzV5++WX57bff5IknnvD4PC1vderUyW2WJ2vWrFayiyzImq1qGbB8+fISFBT0QJ+T5qajRo2yWa5r167ZgbTaHFLLbb7uYeLhz4jHbcTCHfFwRzxuIxbRj0dYJSg6HE2SNEEYMGDAfUttD+PWrVv2tnnz5tK4cWP7d8GCBWX58uU2M9W/f3+PzwsODrbbnfSLcr8vzIM8JixB0hkjTYpU1apVbUya9PmTB41HoCAetxELd8TDHfG4jVg8fDxiIm6OJklaQmvUqNE9H5MrVy7JmDGjlc8i0nKb7njT93kS1mwxb968bvfnyZNHDhw4IE7SM9f0/DVdg6SlNl03pfcBAADv4WiSlC5dOrvdT8mSJeXs2bOyZcsWKVy4sN2nh7rqbFFk5akcOXLYgm7dKRbRH3/8Ia+88oo4TZtEagnvySefdHooAADAA59YHayzP7qVPzQ01Lbyr1271rby165dO3xn2+HDh21htr5f6cxM165dbeH2rFmz5K+//pIPPvhAfv/9d+ux5DQdHwkSAADeyycWbitdv6OJkS681p1f1atXtwQo4qIunTXS1exhOnToIFeuXLFWAFqay58/vy38euyxxxz6LAAAgK/wmSRJFzXrNvzIaHnNUzcDXRwesU8SAACA35TbAAAA4hpJEgAAgAckSQAAAB6QJAEAAHhAkgQAAOABSRIAAIAHJEkAAAAekCQBAAB4QJIEAADgAUkSAACAByRJAAAAvnx2m1PCzoM7f/58pI/Rw3X1YF19TFBQkAQ64uGOeNxGLNwRD3fE4zZiEf14hP3e9nSu64MiSbqPCxcu2NusWbM6PRQAAPAQv8dTpkwpDyOeKzopVgC4deuWHDlyRJInTy7x4sWLNFvVJOrgwYOSIkUKCXTEwx3xuI1YuCMe7ojHbcQi+vHQ9EYTpMyZM0v8+A+3uoiZpPvQwD766KMP9Fj9wvHNfBvxcEc8biMW7oiHO+JxG7GIXjwedgYpDAu3AQAAPCBJAgAA8IAkKQYEBwdLr1697C2Ix52Ix23Ewh3xcEc8biMW3hEPFm4DAAB4wEwSAACAByRJAAAAHpAkAQAAeECSBAAA4AFJkgenT5+WevXqWcOqVKlSSZMmTeTixYv3fM6VK1ekdevW8sgjj0iyZMmkevXqcvz4cbfHHDhwQCpXriwhISGSPn166dq1q9y4cSP8/bNnz5by5ctLunTp7P9dsmRJWbJkiQRqPI4ePSp169aVJ5980pp6dujQQZwwcuRIyZEjhyROnFiKFy8umzZtuufjZ86cKblz57bHP/PMM7Jw4UK39+teiZ49e0qmTJkkSZIkUq5cOfnzzz+jHXN/jcXHH38spUqVsu8TjYU3iet47N+/374XcubMae9/7LHHbMfPtWvXxBs48f1RpUoVyZYtm30MfVz9+vXtlIRAjUeYq1evSoECBeykiO3bt0sgxiJHjhz2+Ue8ffLJJ1EbuO5ug7tKlSq58ufP79qwYYPrxx9/dD3++OOuOnXq3PM5LVq0cGXNmtW1fPly188//+wqUaKEq1SpUuHvv3HjhitfvnyucuXKubZt2+ZauHChK23atK4ePXqEP6Z9+/auAQMGuDZt2uT6448/7H1BQUGurVu3ugIxHvv27XO1a9fO9fXXX7sKFChg8Ylr06ZNcyVKlMg1btw4186dO12hoaGuVKlSuY4fP+7x8WvXrnUlSJDANXDgQNf//vc/1/vvv29fw19//TX8MZ988okrZcqUrrlz57p27NjhqlKliitnzpyuf//9N1ox99dY9OzZ0zVkyBBXp06d7LHewol4LFq0yNWoUSPXkiVLXHv27HHNmzfPlT59elfnzp1dTnPq+0O/N9avX+/av3+/fcySJUvaLVDjEUZfO1955RXdvW6vsYEYi+zZs7v69u3rOnr0aPjt4sWLURo7SdId9Aui31SbN28Ov09fmOLFi+c6fPiwx+ecPXvWvoAzZ84Mv2/Xrl32cfSHV2kSED9+fNexY8fCH/Pll1+6UqRI4bp69Wqk48mbN6+rT58+rkCPxwsvvOBIklSsWDFX69atw69v3rzpypw5s6t///4eH1+zZk1X5cqV3e4rXry4q3nz5vbvW7duuTJmzOgaNGiQW7yCg4NdU6dOfeiY+2ssIho/frxXJUlOxyOM/iLRXw5O85Z4aOKoPyvXrl1zBWo89PU1d+7clpB4Q5JUzKFYaJL02WefRWvslNvusH79epvSL1KkSPh9Oo2n5Z6NGzd6fM6WLVvk+vXr9rgwOk2oU8D68cI+rk4ZZsiQIfwxFStWtEP7du7cGenhuno4X5o0acQp3hSPuKYlDP1cIn4e+nnrddjncSe9P+Ljwz6vsMfv27dPjh075vYYPVtIp58jxiaqMffXWHgrb4rHuXPnHH2N8KZ4aJl68uTJVp4NCgqSQIyHLmsIDQ2VSZMmWYnaadcc/t7Q8pou+yhYsKAMGjTIbUnHgyBJuoMGXtfHRJQwYUJ7EdL3RfacRIkS3bVeQhOAsOfo24gJQdj7w97nyeDBg20dSs2aNcUp3hSPuPbPP//IzZs3PY7zXp/7vR4f9vZ+j4lqzP01Ft7KW+Lx119/yfDhw6V58+YSyPF49913JWnSpPbLUNc6zps3TwIxHlodatSokbRo0cLtj6xA/d5o166dTJs2TVauXGk/I/369ZNu3bpFafwBkyR17979rgVcd95+//138RZTpkyRPn36yIwZM+76hRmI8QDg7vDhw1KpUiV56623bOYgkOmmj23btsnSpUslQYIE0qBBA0sYAo0mzFp96NGjh9ND8QqdOnWSsmXLyrPPPmuJ46effmox0kXtDyqhBIjOnTtbhn0vuXLlkowZM8qJEyfc7tfpOZ3G1fd5ovfrlOLZs2fdZk902jPsOfr2ztX8Ybu97vy4mvk2bdrUVvffOeUYiPFwStq0ae0F985deRE/jzvp/fd6fNhbvU93ZUR8jO5ECXtMVGPur7HwVk7HQ3dvvfjii1ZWGjNmjAR6PPT/rzfdCZsnTx7JmjWrbNiwwXYIB1I8VqxYYeWmO88301kl3S379ddfS6B9b0Sk5Th9LdVdok899ZQ8iICZSdJt9bou5l43LRHpD5X+ctcaahj9xtP1QRpgTwoXLmz17+XLl4fft3v3bpv2Dfsh1be//vqr2y+/ZcuW2RbvvHnzht83depUady4sb3V7fGBHg8n6eevn0vEz0M/b72O7MVX74/4+LDPK+zxunVbf8AjPkbXYelao4ixiWrM/TUW3srJeOgMkv51rP//8ePH2/oOp3nT94f+f1VUZgv8JR7Dhg2THTt22JZ/vYVtm58+fbq10gj0743t27fbz0uUqjPRWvbtp3T7dcGCBV0bN250/fTTT64nnnjCbfv1oUOHXE899ZS9P+KW92zZsrlWrFhhW97v3IYatuW9QoUKru3bt7sWL17sSpcunduW98mTJ7sSJkzoGjlypNuWRV21H4jxULorQ2+FCxd21a1b1/6tOzbicuuq7piYMGGC7Tpr1qyZbV0N25VXv359V/fu3d22rurXcPDgwbajr1evXh63rurH0F04v/zyi6tq1aoeWwDcK+ZOcCoWf//9t33ddZdnsmTJwr8nLly44Aq0eOjPmraDePnll+3fEV8nnOZEPLRFxvDhw+37QVsAaMsRbTXy2GOPua5cueIKxJ+XiLSNijfsbpvmQCzWrVtnO9v094u2y/jmm2/sd0yDBg2iNHaSJA9OnTplv5D0BVm3pDdu3NjtBTnsG2/lypXh9+kXplWrVq7UqVO7QkJCXG+88cZdL1z6Q6x9K5IkSWI9gbS3yfXr1922uevHvfPWsGFDVyDGQ3mKh27rjEv6IqwJn/b50K2s+sIc8Wt259dnxowZrieffNIe//TTT7sWLFjg9n7dvvrBBx+4MmTIYC8c+gtv9+7dUYq5U5yIhX5MT98HEb/fAiUe2gbBUyy85e/duI6H/nJ88cUXXWnSpLH358iRw/5A0wTSGzjx8+KNSZITsdiyZYu1DdC2IYkTJ3blyZPH1a9fvygnz/H0Pw8+7wQAABAYnC9mAwAAeCGSJAAAAA9IkgAAADwgSQIAAPCAJAkAAMADkiQAAAAPSJIAAAA8IEkCAADwgCQJAO5Bz0nr0KGD08MA4AA6bgPwK40aNbIDgufOnRsjH+/06dN2YHPy5Mlj5OMB8B0JnR4AADjh+vXrlvzcT5o0aeJkPAC8D+U2AD5p1qxZ8swzz0iSJEnkkUcekXLlyknXrl3l66+/lnnz5km8ePHstmrVKtm/f7/9e/r06fLCCy9I4sSJZfLkyXLq1CmpU6eOZMmSRUJCQuzjTZ069Z7lthw5cki/fv3knXfesdmlbNmyyZgxYxyIAIDYRpIEwOccPXrUkhtNVHbt2mWJ0Jtvvim9evWSmjVrSqVKlewxeitVqlT487p37y7t27e351SsWFGuXLkihQsXlgULFshvv/0mzZo1k/r168umTZvu+f//9NNPpUiRIrJt2zZp1aqVtGzZUnbv3h0HnzmAuES5DYDP0eTnxo0blhhlz57d7tNZIKUzS1evXpWMGTPe9TydEdLnRNSlS5fwf7dt21aWLFkiM2bMkGLFikX6/3/11VctOVLvvvuufPbZZ7Jy5Up56qmnYuxzBOA8kiQAPid//vzy8ssvW2KkM0IVKlSQGjVqSOrUqe/5PJ39iejmzZtWOtOk6PDhw3Lt2jVLsLT0di/PPvts+L+1jKcJ2YkTJ6L5WQHwNpTbAPicBAkSyLJly2TRokWSN29eGT58uM3i7Nu3757PS5o0qdv1oEGD5PPPP7fZIJ0J2r59uyVdmizdy50LvjVRunXrVjQ+IwDeiJkkAD5JE5PnnnvObj179rSy25w5cyRRokQ2Q/Qg1q5dK1WrVpW3337brjXR+eOPPyzxAgCSJAA+Z+PGjbJ8+XIrs6VPn96uT548KXny5LHF2LquSBdS6663lClTRvpxnnjiCdslt27dOivVDRkyRI4fP06SBMCQJAHwOSlSpJA1a9bI0KFD5fz58zaLpDvOXnnlFVt3pLvd9O3FixetjKbb9j15//33Ze/evVZi03VIurutWrVqcu7cuTj/nAB4HzpuAwAAeMDCbQAAAA9IkgAAADwgSQIAAPCAJAkAAMADkiQAAAAPSJIAAAA8IEkCAADwgCQJAADAA5IkAAAAD0iSAAAAPCBJAgAAkLv9PwepS+V79LT9AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.grid()\n", "plt.xlabel('strain')\n", "plt.ylabel('ply number')\n", "plt.plot(df_strain['epsilonx'], df_strain['z'], 'k')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculating stresses ply by ply in analysis direction and material direction." ] }, { "cell_type": "code", "execution_count": 8, "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", " \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", " \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", " \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", " \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", "
plyzpositionanglesigmaxsigmaytauxysigma1sigma2tau12
01-6.10e-01bot45-20.2310.032.22e-01-4.88-5.331.51e+01
11-4.57e-01top45-2.4915.348.42e+0014.84-1.998.92e+00
22-4.57e-01bot-45-22.57-4.731.42e+01-27.880.58-8.92e+00
32-3.05e-01top-451.867.28-1.51e+006.083.06-2.71e+00
43-3.05e-01bot90-0.0958.341.01e+0058.34-0.09-1.01e+00
53-1.52e-01top908.07-2.035.07e-01-2.038.07-5.07e-01
64-1.52e-01bot096.362.155.07e-0196.362.155.07e-01
74-5.55e-17top0210.42-0.191.04e-16210.42-0.191.04e-16
85-5.55e-17bot0210.42-0.191.04e-16210.42-0.191.04e-16
951.52e-01top0324.48-2.52-5.07e-01324.48-2.52-5.07e-01
1061.52e-01bot9024.37-122.78-5.07e-01-122.7824.375.07e-01
1163.05e-01top9032.52-183.16-1.01e+00-183.1632.521.01e+00
1273.05e-01bot-4599.5955.32-6.45e+01141.9312.972.21e+01
1374.57e-01top-45124.0267.33-8.02e+01175.9015.452.83e+01
1484.57e-01bot45103.9447.255.76e+01133.1718.02-2.83e+01
1586.10e-01top45121.6852.576.58e+01152.8921.36-3.46e+01
\n", "
" ], "text/plain": [ " ply z position angle sigmax sigmay tauxy sigma1 sigma2 \\\n", "0 1 -6.10e-01 bot 45 -20.23 10.03 2.22e-01 -4.88 -5.33 \n", "1 1 -4.57e-01 top 45 -2.49 15.34 8.42e+00 14.84 -1.99 \n", "2 2 -4.57e-01 bot -45 -22.57 -4.73 1.42e+01 -27.88 0.58 \n", "3 2 -3.05e-01 top -45 1.86 7.28 -1.51e+00 6.08 3.06 \n", "4 3 -3.05e-01 bot 90 -0.09 58.34 1.01e+00 58.34 -0.09 \n", "5 3 -1.52e-01 top 90 8.07 -2.03 5.07e-01 -2.03 8.07 \n", "6 4 -1.52e-01 bot 0 96.36 2.15 5.07e-01 96.36 2.15 \n", "7 4 -5.55e-17 top 0 210.42 -0.19 1.04e-16 210.42 -0.19 \n", "8 5 -5.55e-17 bot 0 210.42 -0.19 1.04e-16 210.42 -0.19 \n", "9 5 1.52e-01 top 0 324.48 -2.52 -5.07e-01 324.48 -2.52 \n", "10 6 1.52e-01 bot 90 24.37 -122.78 -5.07e-01 -122.78 24.37 \n", "11 6 3.05e-01 top 90 32.52 -183.16 -1.01e+00 -183.16 32.52 \n", "12 7 3.05e-01 bot -45 99.59 55.32 -6.45e+01 141.93 12.97 \n", "13 7 4.57e-01 top -45 124.02 67.33 -8.02e+01 175.90 15.45 \n", "14 8 4.57e-01 bot 45 103.94 47.25 5.76e+01 133.17 18.02 \n", "15 8 6.10e-01 top 45 121.68 52.57 6.58e+01 152.89 21.36 \n", "\n", " tau12 \n", "0 1.51e+01 \n", "1 8.92e+00 \n", "2 -8.92e+00 \n", "3 -2.71e+00 \n", "4 -1.01e+00 \n", "5 -5.07e-01 \n", "6 5.07e-01 \n", "7 1.04e-16 \n", "8 1.04e-16 \n", "9 -5.07e-01 \n", "10 5.07e-01 \n", "11 1.01e+00 \n", "12 2.21e+01 \n", "13 2.83e+01 \n", "14 -2.83e+01 \n", "15 -3.46e+01 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_stress = strength_analysis.calculate_stress()\n", "df_stress.head(30) #display the first 6" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Note\n", "The sequence of the DataFrame starts from the BOTTOM OF THE LAYUP to the TOP OF THE LAYUP.\n", "When defining the laminate, the first element of the list corresponds to the bottom-most layer. This is especially important for non-symmetric laminates." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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wH3duHFD3n77bXNft9QICwuzu0kAkCQIhADc1yeffCKHDx+WAgUKSM+ePe1uDgAkGQIhAPd0/vx5GTlypLk/YsQISZcund1NAoAkQyAE4J40CLpw4YJUrFhRXn75ZbubAwBJikAIQLwOHDhghsWsvcXSpEljd5MAIEkRCAGI1zvvvCM3b96UBg0aSMOGDe1uDgAkOQIhAHHauHGjmTKvW2hoNggAnIhACEAsHo9H+vbta+5rXdCjjz5qd5MAIFkQCAGIZd68ebJixQpJmzatmSkGAE5FIATAx+3bt+XNN98093XNoEKFCtndJABINgRCAHxMnTpV/vjjD8mRI4dZRRoAnIxACIDX1atXZfDgwea+7ieWNWtWu5sEAMmKQAiA1/jx4+XEiRNSrFgxs8M8ADgdgRAA49SpU95p8qNGjZKQkBC7mwQAyS4o+b8EgEAwbNgwuXLlipQuXVqqVasmhw4dSravpZu3sko1AH9AIATAZIMmT55s7u/evVuKFi2arF+vdu3asnz58mT9GgCQEARCACQ0NFTKlCkj+/btS7avER0dbbbrUBkyZEi2rwMAiUEgBECyZMki27dvT9av0aVLF/nss88kZ86c3uwTANiNYmkAye7bb781QZDuWzZ9+nTJnz+/3U0CAINACECy2rVrl3Tu3NncHzhwoERERNjdJADwIhACkGyuXbsmzz//vFmosW7dujJkyBC7mwQAPgiEACSbbt26mdqj3Llzm+ExpswD8DcEQgCSbc+yr776SlKnTi3fffed5MmTx+4mAUAsBEIAkpxmgbp27epdqFGHxQDAHxEIAUhSujq11gVdv37dFEa//fbbdjcJAOJFIAQgyXg8HvnHP/5hZorpFPlvvvnGDI0BgL/iNxSAJPP55597i6JnzJghYWFhdjcJAO6JQAhAkti6dat0797d3H/vvffkySeftLtJAOC8QGjixIlSpEgRszdSeHi4rF+/PkGv03enuqptixYtkr2NgNtcunTJ1AVFRUVJ06ZNpW/fvnY3CQCcFwjNnDlTevfubRZl27x5s1SqVEkaNmwop0+fvufrDh48aH4x16xZM8XaCripLqhTp06yd+9eKVSokEybNo26IAABI6B+W40fP14iIyOlffv2Uq5cOZk0aZKkT59epkyZEu9r7ty5I23btjVTeIsVK5ai7QXcQLO0s2bNkqCgIPNmJUeOHHY3CQCct/v8zZs3ZdOmTTJgwADvY/qus379+rJmzZp4Xzd8+HDJlSuXdOzYUX755Zf7fh1N7estZspf3bp1y9wCnXUOTjiXB0UfJF0fbNy40WRp1fvvvy9VqlQJmH7lOqAPFH0gju2DhJ5PwARCZ8+eNdkdXao/Jv1cp+rG5ddff5Uvv/zSFHEm1KhRo0z26G4LFy402SenWLRokbgdffBwfaDrBWkQpL9snnjiCSlevLjMmzdPAg3XAX2g6APn9YHudeioQCixLl++LC+//LKZzpszZ84Ev04zTtY7XCsjVLBgQbMwXObMmSXQ6R8tvdgbNGggwcHB4kb0wcP3gdYFPffcc6Y+r2jRovLTTz9J1qxZJZBwHdAHij4Qx/aBNaLjmEBIgxldm+TUqVM+j+vnce1htG/fPlMk/fTTT3sfi46ONh+1lmH37t3mHezd0qZNa25304vDSReI087nQdAHD94HWq83Z84cCQkJMfVBgbxeENcBfaDoA3FcHyT0XAKmWFp/4Wr9wZIlS3wCG/28evXqsZ5fpkwZ2bZtmxkWs27NmjUzex7pfc3yAEg8rcl76623vAGR/lwCQKAKmIyQ0iGrV155RapWrSrVqlWTDz/8UK5evWpmkal27dqZZf21zkfXGapQoYLP663U/d2PA0iYc+fOSatWreT27dvywgsveDdWBYBAFVCBkP4CPnPmjAwePFhOnjwpjz76qCxYsMBbQH348GHWLwGSiWZg9c3GkSNHpGTJkqb+ThcpBYBAFlCBkOrWrZu5xWX58uX3fO3UqVOTqVWA840ZM8bMCtMaOq0LcsLkAQAgfQLgvlauXCkDBw409ydMmGBWdQcAJyAQAnBPOkX+xRdfNOt4vfTSS2Y7DQBwCgIhAPfdoubEiRNmJuann35KXRAARyEQAhCvkSNHyuLFiyVdunTyww8/SMaMGe1uEgAkKQIhAHHSNbqGDh1q7msmqHz58nY3CQCSHIEQgFh0KKxNmzZmK40OHTqY9bsAwIkIhAD40MUSW7dubYqkdfFRnSUGAE5FIATAhw6HrVixwtQDaV1Q+vTp7W4SACQbAiEAXrpSuxZIq8mTJ0vp0qXtbhIAJCsCIQDG0aNHzTpBqkuXLmZ4DACcjkAIgNy6dcssmqibqlauXFk++OADu5sEACmCQAiA2T5j1apVZv+w77//XkJDQ+1uEgCkCAIhwOXmzp1rNlRVU6ZMkRIlStjdJABIMQRCgIsdOnRI2rVrZ+53795dWrZsaXeTACBFEQgBLq4L0kUT//rrL3n88cdl7NixdjcJAFIcgRDgUl9//bVs2LBBsmbNauqCQkJC7G4SAKQ4AiHAhWbPni1z5swx96dNmyZFihSxu0kAYIsge74scP9hm+PHjyfb/63bR2h9THBwsLiNnnvnzp3N/V69ekmzZs3sbhIA2IZACH7nzp07UqlSJdm5c6fdTXE0XTX63XfftbsZAGArAiH4na1bt3qDoORazyY6OlpSp3bvyHD58uXN6tFuzIgBQEwEQvA7y5YtMx///ve/e+tYknpobN68edKkSRPXBgJWHwCA27n3LTH8PhCqU6eO3U0BADgcgRD8yu3bt+WXX34x9+vWrWt3cwAADkcgBL+yefNmuXz5slnbRgumAQBITgRC8CvLly83H2vVqiVp0qSxuzkAAIcjEIJf1gcxLAYASAkEQvCrmUy//vqruU+hNAAgJRAIwW9s2rRJrly5ItmyZZOKFSva3RwAgAsQCMHv6oNq167t6sUOAQAph7828BvUBwEAUhqBEPzCzZs3qQ8CAKQ4AiH4hY0bN8q1a9ckR44cUqFCBbubAwBwCQIh+N22GtQHAQBSCn9x4FeF0gyLAQBSEoEQbBcVFSWrVq0y9ymUBgCkJAIh2G7Dhg1y/fp1CQsLk3LlytndHACAixAIwa/qg1KlSmV3cwAALkIgBNtRHwQAsAuBEGyvD1q9erW5T30QACClEQjBVuvWrZMbN25I7ty5pUyZMnY3BwDgMgRCsBX1QQAAOxEIwVbsLwYAsBOBEGyjQ2Jr16419ymUBgDYgUAItlmzZo0pls6bN6+UKlXK7uYAAFwo4AKhiRMnSpEiRSQ0NFTCw8Nl/fr18T73888/l5o1a0q2bNnMrX79+vd8PuybNk99EADADgEVCM2cOVN69+4tQ4YMkc2bN0ulSpWkYcOGcvr06Xj/0LZu3drUoWj2oWDBghIRESHHjh1L8bYjNuqDAAB2C6hAaPz48RIZGSnt27c3WzFMmjRJ0qdPL1OmTInz+dOnT5euXbvKo48+aqZmf/HFFxIdHS1LlixJ8bbD17Vr18zUeUV9EADALkESIG7evCmbNm2SAQMGeB9LnTq1Ge7SbE9C//jeunVLsmfPHu9ztGZFb5ZLly6Zj/o6vQU66xzsPpdffvnFfE/z588vhQsXTtH2+Esf2Ik+oA8UfUAfOLkPEno+ARMInT17Vu7cuWMW3otJP9+1a1eC/o+33npL8uXLZ4Kn+IwaNUqGDRsW6/GFCxea7JNTLFq0yNavr9k6VaJECZk/f74r+8Af0Af0gaIP6AMn9oEmPxwVCD2s999/X2bMmGHqhrTQOj6acdI6pJgZIau2KHPmzOKECFkv9gYNGkhwcLBt7RgzZoz52KZNG2nSpIkr+8BO9AF9oOgD+sDJfWCN6DgmEMqZM6ekSZNGTp065fO4fp4nT557vnbcuHEmEFq8eLFUrFjxns9Nmzatud1NLw4nXSB2ns/Vq1dlw4YN5r5m5+xqh9O+pw+CPqAPFH1AHzixDxJ6LgFTLB0SEiJVqlTxKXS2Cp+rV69+z8zDiBEjZMGCBVK1atUUai3uRTdZ1XcgmmkrWrSo3c0BALhYwGSElA5ZvfLKKyagqVatmnz44Ycmu6CzyFS7du1M8a3W+ajRo0fL4MGD5dtvvzVrD508edI8njFjRnOD/dPmWT8IAGCngAqEWrVqJWfOnDHBjQY1Oi1eMz1WAfXhw4fNTDLLp59+amYmPffccz7/j65DNHTo0BRvP2IvpAgAgJ0CKhBS3bp1M7d7/YG1HDx4MIVahYS6cuWKtz6IhRQBAHYLmBohOMOqVavk9u3bZu0gHa4EAMBOBEJIUWyrAQDwJwRCSFHW8CWBEADAHxAIIcVcvnxZNm7caO5TKA0A8AcBVyyNwPXrr7+abVJ0mxOPxyOHDh2ypR26htHp06fN13fS4mGJQR/QB4o+oA/8oQ+yZMkiWbNmFbsQCCFFF1JUx48fp1AaAGDorhG6Efe9FkdOTgRCSDF6kefIkcMsgmk3XZU85ppTbkQf0AeKPqAPkrsP9P/WNf3iky1bNjJCcAfdXPXs2bN+kQaeN2+eaY+bU+H0AX1AH9AHydUHug/ozz//LPPnz5eFCxfK+fPnfY5XqlRJGjVqJI0bNzZvknUbLbsQCAEAgIei68OtXbvWBD6648PmzZtj1QFFRESY4EdvWivqLwiEAABAoh07dswEPXpbtGiRXLx40ee4bpRuZX3Cw8MlKMg/Q46gxEZ87733nnTo0EEKFCiQfK0CAAB+5ebNm2bSi5X1+f33332OZ8+eXRo2bGgCH83+WPuA+rtEBUIazY0dO9bs8g4AAJzt8OHD3sBnyZIlZj04S6pUqaRatWrerE/VqlXNDLBAk+g81VNPPSUrVqxg+jMAAA4TFRUlK1euNIGPBkA7d+70OR4WFuYNfBo0aCA5c+aUQJfoQEhPvn///rJt2zYz/pchQwaf482aNUvK9gEAgGS0f/9+M2ts8uTJZhuka9eueY/plHqd1WUFP5UrV3bcUgOJDoS6du1qPo4fPz7WMU2T6crBAADAP12/ft0EPFbWZ8+ePT7H8+bN6w186tevb9b5cbKgB1kYCQAABAbd0kiDHavWR4OgGzdu+NT/li5dWtq0aSNNmzaVihUrmsSGWzzUXDbtyNDQ0KRrDQAAeGi6gv/SpUu9WZ8DBw74HNeZ35rxady4sdSqVcvsBenWRSUTHQjp0JdOoZ80aZJZOfLPP/+UYsWKyaBBg0wBdceOHZOnpQAAIN6sjxY2a9CjN927K+a2FhrgaMCjgY8Oe5UrV86b9bl165a4WaIDoZEjR8q0adNkzJgxEhkZ6X28QoUK8uGHHxIIAQCQAi5dumSmtFuLGupU95g0OWFlferWrSsZM2a0ra2OCoS+/vprU1ler1496dKli8++Ibt27Urq9gEAgP8v66OLGFrDXatWrTILHVvSpk0rderU8WZ9SpUq5apanxQLhHRJ7RIlSsRZRO329BoAAEnpwoULZvsKq9D5xIkTPsdLlizpneFVu3ZtSZ8+vW1tdU0gpOOKOvZYuHBhn8d/+OEHs74AAAB4MJpU2LJlizfroxuZxlyWJl26dGZhYyvrU7x4cVvb68pAaPDgwfLKK6+YzJB+w/7973/L7t27zZDZ3Llzk6eVAAA41NmzZ71Zn59//llOnz7tc7xs2bLewKdmzZrM1rY7EGrevLnMmTNHhg8fblaV1sDoscceM4/pctsAACB+muHZuHGjd7hr/fr1pv7HokXNWodrBT93j8DAD9YR0ohUo1cAAHB/utzMwoULTfCjH8+dO+dz/JFHHvEGPjVq1JCQkBDb2uo2D7ygokaz1mZsWjek+44BAAAxs7nWrVvnrfXZtGmTz/EsWbKYURQNfPSWP39+29rqdokOhI4ePSqtW7c20/ayZs3qrWr/29/+JjNmzDCrVQIA4DbHjx83NT4a+Oioif5tjEknFFnr+oSHh7tyFWdHBEKdOnUy0+Q1G6R7kygtlm7fvr05ptEvAABOp38LV69e7a31+e2333yOZ8+eXSIiIkzGp2HDhpInTx7b2ookDIRWrFhhvvFWEKT0/oQJE0ztEAAATnXkyBHvcNfixYvl8uXL3mO6eGHVqlW9WZ/HH39c0qRJY2t7kQyBUMGCBeNcOFGr4PPly5fY/w4AAL8VFRVlNiS1sj47duzwOR4WFmayPZr10eyPfg6HB0Jjx46VN954QyZOnGgiX6twukePHjJu3LjkaCMAAClGd2q3Ah/dwV13crekTp1annjiCe9qzrp8jD4GhwdC2bJl89mvRC8KLfQKCgryVsfr/Q4dOkiLFi2Sr7UAACRD1kentFuLGv75558+x7W2x5rdpTO9tPYHLguEdFd5AACcYs+ePSbo0ZtmfW7evOk9pnU9upaPlfWpWLEiWR+3B0K6pQYAAIFKRzKWLVtmhrv0tm/fPp/juo6PVeSsqzrrOj9whwdeUFH3QtGb7jcWk0bOAADYSbes2LVrl7fWR2c8x8z66Bo+OtNZh7p0x/YuXbqwmrNLJToQ0tUxNUOk6wjF3BtFaR1RzF1yAQBIKTqVfcmSJd6sz6FDh3yO655dVtanbt26kilTJjMLet68eT51sHCXRAdCWhBdqlQp+fLLLyV37txcPAAAW+ib8e3bt3uzPjrNPebyLmnTppXatWt7a310zTv+ZuGhA6H9+/fLjz/+KCVKlEjsSwEAeCi6bYUuZGhlfY4dO+ZzXP82WYGPBkEZMmSwra1waCCkRWS6jDiBEAAguWkd6tatW72rOa9Zs8anBCNdunRmmMvauZ2/TUj2QOiLL74wNUKajqxQoUKsTeOaNWuW6EYAAGA5f/68WdfHyvqcOnXK53iZMmW8WZ9atWpJaGiobW2FCwMhjcZ153mNzO9GsTQA4EGyPrpDgZX1Wb9+vc+MZB3e0tEIDXx0O4uiRYva2l64PBDS7TVeeuklGTRokCmWBgAgsc6cOSM///yzCX7049mzZ32O64iDlfXRxQ218Bnwi0Do3Llz0qtXL4IgAECC6WjBunXrvFkfXYol5hIsmTNnlvr163uzPrrBN+CXgdCzzz5rVucsXrx48rQIAOAIJ0+e9AY+uo/XX3/95XP80Ucf9RY5V69ePVbNKeCXgZCuITRgwACzXsMjjzwS68Lt3r27JCfd9X7s2LHmB6xSpUoyYcIEqVatWrzPnzVrlhnGO3jwoJQsWVJGjx4tTZo0SdY2AoAb6Ro+WkdqBT862yumrFmzSkREhDfrkzdvXtvaCjzUrLGMGTOa5cr1dnexdHIGQjNnzpTevXvLpEmTJDw83GwGqz9Mu3fvlly5csV6/urVq6V169YyatQo+fvf/y7ffvuttGjRQjZv3mzGnwEAD+fo0aPewEfX97l06ZLP8apVq3qzPvqmNSjogXd2ApJFoq/IAwcOiF3Gjx8vkZGR0r59e/O5BkT/+9//ZMqUKdK/f/9Yz//oo4/MD1+/fv3M5yNGjDDp2U8++cS8FgCQOLpfl44IWKs561IqMeXIkcO8QdXgR7M/cb1JBfxJUCD98GlxnQ7LWVKnTm2K6zQVGxd9XDNIMekP6H/+8594v05UVJS5Wax3N5ryjbl0e6CyzsEJ5/Kg6AP6QNEHCe8DLS2w1vXRGlHdyT3mSIBmevR3q94ee+wxSZMmTayv4a+4DsSxfZDQ83mgvcbuRbMzyUGnVuqsg7tnq+nnusNwXLSOKK7n6+Px0WG0YcOGxXpcfwnoDsVOoZkxt6MP6ANFH8TuA33juWPHDlNGsGXLFjP8dXetT+XKlU3Qo7WaOuMr5pT4QMR1II7rg2vXriVPIHR31b9GXJoa1f1fnnrqKQl0mnGKmUXSjJBO49QUr/XDHsj0+6UXe4MGDVw7Q4M+oA8UfeDbB7pTuwYx+qZv+fLlcv36de/zNMPzxBNPeLM+GvxoRt4JuA7EsX1wd71akgVCs2fPjvWYrgD62muvJeuU+pw5c5ofxruXWtfP8+TJE+dr9PHEPF/pol1xLdylF4eTLhCnnc+DoA/oAzf3gb5b1uLmyZMnS9++fWXv3r0+x/Ply+ctctYSBM0COZlbrwMn90FCzyVJaoT0nYFmUerUqSNvvvmmJIeQkBCpUqWKLFmyxMz8sgIw/bxbt25xvkbXpdDjPXv29D6mUa8+DgBuoosX6gxbq8hZZ/3GrIfU2VxPPvmkCX70pjNrtf4HcLokK5bet2+f3L59W5KTBlu64atOx9TiPJ0+r0V71iyydu3aSf78+U2dj+rRo4fUrl1b/vnPf0rTpk1lxowZZj8bfQcEAE535coVWbp0qTf40aLnmAoVKiRly5aVTp06mSGvTJky2dZWIGACobtnYem7jBMnTphp7BqkJKdWrVqZYrzBgwebgmddlVR/uK2C6MOHD/uMW//tb38zawcNHDhQ3n77bbOgos4YYw0hAE6kv4+1yNkKfH755RefmTOaWdc3h9YeXlrOoM/VRWadNCQCJGsgpDMIYtLAIywszGRd7jejLCnoMFh8Q2Fa4He3559/3twAwIkuXrxoan008NHb3TO8ihUr5h3u0vIF3cnd4rTp0kCKBEK6hgQAwL6sz2+//WYyOXrTFfR1aRFLaGio1K1b15v1KVGiBLU+gBMWVAQAtzp//ryZ6GFlfe5eC6106dLewKdWrVqSLl0629oKOD4Q0unnOtVSZ2OdPn3avDuJKeY7EwBA4umMWF1J39rDa926deYxiy7uWq9ePRP86E2HvwCkUCD06quvmqJk3dFddw4m5QoAD08nguhihhr46MKGupp+TOXLl/dmfXSae1zrnQFIgUBIN9vTmQg6YwsA8GA0e75+/Xpv1keX9oiZYdep7LqQoQY+OrVdp7oD8INASLebuHs4DABwf1rbo9keDXw0+3P3lkW6dYWV9dHlP5jSDvhhIKSLGPbv318+++wzKVKkSPK0CgAcQBeZXbNmjTfrc/fyI7pthe7vZGV9dFsLAH4eCOmihrpHjS7EpQV7d79j0dkNAOBWuo6PlfXR9X10nZ+YdKsgaw+v8PBws7UFgADLCAEA/l83b96UVatWeVdz3rZtm8/xHDlySEREhDfrkytXLtvaCiAJAqHk3kYDAPzdoUOHvMNdupSI7ull0Zm0uheilfXRvRHTpElja3sBxI+cLADcx40bN8xsWSvrs3PnTp/jmuXRbI8GP1rzkzNnTtvaCiBxCIQAIA779u3zBj66tZDWRsbcY7F69ererE/lypV9NnwGEDgIhABAxAQ6K1as8O7htXfvXp/juoCsFfjo+j7ZsmWzra0Akg6BEABX0vXQjh07Jh9//LHZx0uDIB0Cs+hsrho1aniDn4oVK7KSPuBAiQ6EvvrqKzOFXqfOA0Ag0aLmpUuXegudDx48GGvBWCvw0b28MmfObFtbAfhpIKSLKfbo0UOef/556dixo1n9FAD8NeuzY8cO767tWvCs091jZn1q165tgh+9lS1blqwP4DKJDoQ0lTxnzhyZOnWq1KlTx+x63L59ezOtPk+ePMnTSgBIoEuXLpmFDK3g58iRIz7HixYtaoIerfOJioqSli1bspUF4GKJDoT0HdQzzzxjbqdOnZJvvvlGpk2bZnaj13SyZomefvppZlAASLGsz2+//eYd7lq9erXZ2sISGhpq3rRZe3iVLFnSZH1u3bol8+bNs7XtAAK8WDp37tzy5JNPyp9//mluuqKqZoZ0NoXWEukvHwBIarpZqRY4W1mfEydO+BzXYMeq9dGhL2oaASRpIKSZoP/7v/8zwc7+/fulRYsWMnfuXJNqvnr1qgwfPtwERLr6KgA8rOjoaNm8ebM367N27VrzmEUDnaeeesoEPnrTvRABIFkCIR320g0FS5UqJZGRkdKuXTvJnj2793iGDBmkT58+Mnbs2MT+1wDgdfbsWVm4cKEJfPR3zpkzZ3yOa2GzVeSsmWkdAgOAZA+EdCl5XW9DV1WNT1hYmBw4cCDRjQHgXnfu3JENGzZ4sz56X+t/LBkzZjRZZyvrU7hwYVvbC8ClgdCXX3553+doISK/pAAkZJhdsz0a+Gj25/z58z7HdRFDq8hZl+oICQmxra0AXBwI6cqrCdW9e/eHaQ8AB9PZXFrfY+3hpXU/MWXJksVsWqqBj25imj9/ftvaCsAdEhQIffDBBwn6zzQTRCAE4O61x6ysj870unjxos/xxx57zJv1eeKJJ8wSHQCQUhL0G4d6HwAJpSs361o+Vtbn999/9zmukysiIiJM4KMfWYgVgJ0e6q2XVcjIkvSAux0+fNgb+CxZskQuX77sPaa/Hx5//HHvuj56P02aNLa2FwAeKhDSgmkdLtuzZ4938bKePXtKp06dHuS/AxBgdGsK3bfLCn7++OOPWDNHtcZHgx+t+dHPAcARgdDgwYNl/Pjx8sYbb3in0K9Zs0Z69epl3hXqYooAnEcXT7UCH93B/dq1a95juqWO1vdYWR+t+2GbHQCODIQ+/fRT+fzzz6V169bex5o1a2amuWpwRCAEOMP169dl+fLl3nV9rAywRWt7rCJnzfro1joA4PhASDcqrFq1aqzHq1Sp4rPRIYDAojV/GuxYWR8Ngm7cuOE9rnU9NWrU8GZ9KlWqRH0gAPcFQi+//LLJCunwWEyTJ0+Wtm3bJmXbACQz3RtQa32srM/dM0QLFCjgzfrUq1fPrPMDAE7ywMXSugqs1gSodevWmfog3Xesd+/e3ufdHSwBsD/ro4XN//vf/2T69Omya9cuM93dEhwcLDVr1vRmfcqXL0/WB4CjJToQ2r59uymEVPv27TMfc+bMaW56zMIvz8D/g3n06FGfHb6dQod3T58+LYcOHTJ/+J1Ov4dbt271DnkdOXLE53iRIkW8gY/u4K57egGAWyQ6EFq2bFnytAR+pWPHjvLVV1/Z3Qwkg7Rp00qtWrWkYMGCZrYnWR8AbsZa9ogzY/L99997/2g68Y+kZkncNL1bgx5r1/Y6deqYTNi8efOkdOnSjvz+AkBCEQghlo0bN5oiWt0K4cyZM44LGDTQ0yCgSZMmrhgai68PAAAizvoLhyRhDX/Wrl3bcUEQAAAx8VcOsej6Mapu3bp2NwUAgGRFIAQfOpV61apV5r7WkgAA4GQEQvCxYcMGs4eULoegs4kAAHAyAiHEWR+k2SDqgwAATsdfOsRZH8SwGADADQiE4BUVFeWtD6JQGgDgBgETCJ0/f95s6po5c2bJmjWrWfn4ypUr93z+G2+8YRaMS5cunRQqVEi6d+8uFy9eTNF2B5L169eb3cZz5colZcuWtbs5AAAku4AJhDQI2rFjhyxatEjmzp0rK1eulM6dO8f7/OPHj5vbuHHjzB5oU6dONfssaQCF+9cHsdowAMANAmJl6Z07d5ogRmc0Va1a1Tw2YcIEszKwBjr58uWL9ZoKFSrIjz/+6P28ePHiMnLkSHnppZfk9u3bEhQUEKduWyAEAIAbBEQ0sGbNGjMcZgVBqn79+mZW07p16+SZZ55J0P+jw2I6tHavIEjrZPRmuXTpkndLAidsS2Cdw93nokNi2s/qySefdMS5JrYP3IQ+oA8UfUAfOLkPEno+AREInTx50tStxKTBjO6FpccS4uzZszJixIh7DqepUaNGybBhw2I9vnDhQkmfPr04hQ4xxrRt2zYTAGbLlk327dsn+/fvF6e7uw/ciD6gDxR9QB84sQ90TTy/D4T69+8vo0ePvu+w2MPSrE7Tpk2lXLlyMnTo0Hs+d8CAAdK7d2+f1+rO3RERESab5IQIWS/2Bg0a+Gw4qhutKn1c+8rJ4usDN6EP6ANFH9AHTu4Da0THrwOhPn36yKuvvnrP5xQrVkzy5Mkjp0+f9nlc63x0Zpgeu5fLly9Lo0aNJFOmTDJ79uz7fpPTpk1rbnfT1znpArn7fLT4XNWrV89R53kvTvuePgj6gD5Q9AF94MQ+SOi52BoIhYWFmdv9VK9eXS5cuCCbNm2SKlWqmMeWLl0q0dHREh4efs9osGHDhiaw+emnnyQ0NDRJ2+8U169fl7Vr15r7FEoDANwkIKbP65o2mtWJjIw0a93oon/dunWTF1980Ttj7NixY1KmTBlz3AqCdDjr6tWr8uWXX5rPtZ5Ib3fu3LH5jPyLFknrZqvalyVLlrS7OQAApJiAKJZW06dPN8GPDt3obLGWLVvKxx9/7DPGuXv3bm9x1ObNm82MMlWiRAmf/+vAgQNSpEiRFD6DwNhWg/WDAABuEjCBkM4Q+/bbb+M9roGNx+Pxfq5/1GN+jvuvH8S2GgAAtwmIoTEkH82gWZkz6oMAAG5DIORyq1evNsOKBQoUMKtvAwDgJgRCLhdzWIz6IACA2xAIuVzMQmkAANyGQMjFrly54l1ugEJpAIAbEQi5vD5IV+guVKgQywkAAFyJQMjFqA8CALgdgZCLUR8EAHA7AiGX0s1oN2zYYO5THwQAcCsCIRfXB+mea0WLFpXChQvb3RwAAGxBIORSDIsBAEAg5ForV640HxkWAwC4GYGQS/cX27x5s7lPRggA4GYEQi70xx9/mPog3VusYMGCdjcHAADbEAi50Pbt281HskEAALcjEHKhbdu2mY/UBwEA3I5AyGUuXLggBw4cMPfJCAEA3I5AyGV+/fVXiY6OlhIlSkj+/Pntbg4AALYiEHLptHmyQQAAEAi5diHFWrVq2d0UAABsRyDkIn/99Zf89ttv5r5urXH16lW7mwQAgK0IhFxk3bp14vF4zP2aNWtK3rx55dSpU3Y3CwAA2xAIuUipUqXMIoqWNGnSSGhoqK1tAgDATgRCLlKsWDEZNWqU9/OpU6dKlixZbG0TAAB2IhBykf3790tkZKS537NnT2nevLndTQIAwFYEQi4RFRUlL7zwgly8eFFKly4tI0eOtLtJAADYjkDIJfr06SObNm2S7NmzS9++fSU4ONjuJgEAYLsguxuA5Pf999/LxIkTzf2vvvrKO3MMAAC3IyPkcHv27JFOnTqZ+/3795fGjRvb3SQAAPwGgZCDXb9+XZ5//nm5fPmyWTdoxIgRdjcJAAC/QiDkYD169DArSYeFhcmMGTMkKIiRUAAAYiIQcqhvvvlGPv/8c0mVKpVMnz5d8uXLZ3eTAADwOwRCDrRz5075xz/+Ye4PGjRIGjRoYHeTAADwSwRCDqMbqWpd0LVr1+Spp56SwYMH290kAAD8FoGQw7z++uuyY8cOyZMnj3z77bdmPzEAABA3AiEH0TWCpk2bJqlTp5bvvvtOcufObXeTAADwawRCDrFt2zbp2rWruT98+HCpU6eO3U0CAMDvEQg5gK4TpHVBN27ckIYNG8qAAQPsbhIAAAGBQCjA6XYZOkNs9+7dkj9/fjNtXofGAADA/fEXM8BNnjzZ1ANpUfTMmTMlZ86cdjcJAICAQSAUwLZs2WJWj1ajRo2SGjVq2N0kAAACCoFQgLp48aKpC4qKipKnn35a+vTpY3eTAAAIOARCAVoX1LFjR9m3b58ULlxYpk6dSl0QAAAPgL+eAeiTTz6RH3/8UYKDg01dUPbs2e1uEgAAAYlAKMCsX7/eOww2duxYCQ8Pt7tJAAAErIAJhM6fPy9t27aVzJkzS9asWc3Q0JUrVxI8lNS4cWOzE/t//vMfCVR//fWXvPDCC3Lr1i159tlnpXv37nY3CQCAgBYwgZAGQbqH1qJFi2Tu3LmycuVK6dy5c4Je++GHH5ogKJBpMPfqq6/KoUOHpFixYjJlypSAPycAAOwWJAFg586dsmDBAtmwYYNUrVrVPDZhwgRp0qSJjBs3TvLlyxfva7du3Sr//Oc/ZePGjZI3b977fi2dhaU3y6VLl8xHzcLozS4ffPCB/PTTTxISEmLWDUqfPv0Dtcd6jZ3nYjf6gD5Q9AF9oOgDcWwfJPR8Unk01eDnNPuhdTE6NGS5ffu2hIaGyqxZs+SZZ56J83XXrl0zgZOusdO8eXOTQZk9e7a0aNEi3q81dOhQGTZsWKzHdSd3DT7ssGvXLnnnnXfkzp07ZhVpHeYDAADx0xigTZs2ZrkZLasJ6IzQyZMnJVeuXD6PBQUFmdlSeiw+vXr1kr/97W8mCEoo3aerd+/ePhmhggULSkRExD07MrmcPXtWunXrZoIgrQ/6+OOPH2pITCNkHV5s0KCBmXXmRvQBfaDoA/pA0Qfi2D6wRnTux9ZAqH///jJ69Oj7Dos9CB1GWrp0qVl9OTHSpk1rbnfTiyOlL5Do6GhTFH706FEpVaqUfPHFF2ZoLCnYcT7+hj6gDxR9QB8o+kAc1wcJPRdbAyEd7tIC4HvRwuA8efLI6dOnfR7XoTGdSabH4qJBkC44qDPMYmrZsqXUrFlTli9fLv5Og8T58+d7hwAzZcpkd5MAAHAUWwOhsLAwc7uf6tWry4ULF2TTpk1SpUoVb6CjGZP41tHRbFOnTp18HnvkkUdM0bFuSeHvVqxYIQMHDvQuoFixYkW7mwQAgOMERI1Q2bJlpVGjRhIZGSmTJk0y45laN/Piiy96Z4wdO3ZM6tWrJ19//bVUq1bNZIriyhYVKlRIihYtKv7s1KlT0rp1axPotWvXTjp06GB3kwAAcKSAWUdo+vTpUqZMGRPs6LT5J598UiZPnuw9rsHR7t27TZV4INOi6JdeeklOnDgh5cqVk3/961+sFwQAgJszQkpniOkU9vgUKVLELDp4LwGwUoC8++67snjxYjNVX+uCMmTIYHeTAABwrIDJCLnBkiVLvGsY6RCgZoQAAEDyIRDyEzoUpgs/adZKp8y//PLLdjcJAADHIxDyA7oUgBZH6xIBOjtMtw8BAADJj0DIDwwZMsRMl8+YMaOpC0qXLp3dTQIAwBUIhGymCya+99575r6uHK0rSAMAgJRBIGSjI0eOeGuBXnvtNWnVqpXdTQIAwFUCZvq80+i6R7og5Llz58w2Ij169JBDhw4ly9fSoba7N60FAAAEQrbR6fGrV6829/fv328Wi0xOOuyms9EAAMD/j0DIJrrVhy4SmZwrYesq1Zp5UkFBfKsBALgbfx1t0rx5czMslpzefvttGTVqlJQuXVratm2brF8LAIBARLG0Qx09elQ++OADc3/06NFkhAAAiAOBkEMNGjRIbty4ITVr1pRmzZrZ3RwAAPwSgZAD/f777zJt2jRzf+zYsexeDwBAPAiEHOjNN980e5a98MILEh4ebndzAADwWwRCDrNo0SL5+eefJTg42LtiNQAAiBuBkINER0ebbJDq2rWrFC9e3O4mAQDg1wiEHGT69OmydetWyZw5swwcONDu5gAA4PcIhBzi+vXr8s4773jXD8qZM6fdTQIAwO8RCDnEhAkTzCauBQsWlO7du9vdHAAAAgKBkAPoCtVWYfS7775rNlkFAAD3RyDkABr8XLx4USpVqsRWGgAAJAKBUIDbt2+fTJw40bt4Ypo0aexuEgAAAYNAKMBpgbTuMB8RESENGjSwuzkAAAQUAqEAtn79epk5c6bZQmPMmDF2NwcAgIBDIBSgdAuNfv36mfvt2rUz9UEAACBxCIQC1Jw5c2TlypUSGhoqI0aMsLs5AAAEJAKhAHT79m156623zP2ePXuatYMAAEDiEQgFoC+//FJ27dolOXLkkP79+9vdHAAAAhaBUIC5cuWKDBkyxNwfPHiwZMmSxe4mAQAQsAiEAsy4cePk1KlTZmf5Ll262N0cAAACGoFQADlx4oQJhNSoUaMkJCTE7iYBABDQCIQCyNChQ+Xq1asSHh4uzz33nN3NAQAg4BEIBYidO3fKF1984d1KQxdRBAAAD4dAKEDodPno6Ghp3ry51KxZ0+7mAADgCARCAWDFihVmAUXdUPX999+3uzkAADgGgZCf0yyQtZVGZGSklClTxu4mAQDgGARCfm7WrFmyYcMGyZAhgymWBgAASYdAyI9FRUXJgAEDzP0333xTcufObXeTAABwFAIhP/bpp5/KgQMHJE+ePNKnTx+7mwMAgOMQCPmpCxcueHeVHz58uBkaAwAASYtAyE/pytHnz5+XcuXKSfv27e1uDgAAjkQg5IcOHz4sH330kbk/evRoCQoKsrtJAAA4EoGQHxo4cKAplK5Tp440bdrU7uYAAOBYBEJ+ZsuWLfLNN9+Y+2ylAQBA8gqYQEjrZdq2bSuZM2eWrFmzSseOHeXKlSv3fd2aNWvkqaeeMsXG+tpatWrJ9evXxR95PB4zTV4/tm7dWqpWrWp3kwAAcLSACYQ0CNqxY4csWrRI5s6dKytXrpTOnTvfNwhq1KiRREREyPr1683ChN26dZPUqf3ztBcuXCiLFy+WkJAQGTlypN3NAQDA8YICZef1BQsWmEDGypJMmDBBmjRpIuPGjZN8+fLF+bpevXpJ9+7dpX///t7HSpcufc+vpbU5erNcunTJfLx165a5JZc7d+5I3759zf2uXbtKgQIFkuXrWf9ncp6Lv6MP6ANFH9AHij4Qx/ZBQs8nlUfHYfzclClTzIKCf/31l/ex27dvS2hoqNmC4plnnon1mtOnT5uVmD/++GP57rvvZN++fWafLs20PPnkk/F+Ld3GYtiwYbEe//bbbyV9+vSSXJYsWWKCOx3CmzRpkmTKlCnZvhYAAE537do1adOmjVy8eNGUxgR0RujkyZOSK1cun8d0Snn27NnNsbjs37/fG9ho1ujRRx+Vr7/+WurVqyfbt2+XkiVLxvk63dKid+/ePhmhggULmuG1e3Xkw36zXn/9dXN/0KBB0qpVK0nOCFmHFxs0aCDBwcHiRvQBfaDoA/pA0Qfi2D6wRnTux9ZASIesdJ2c+w2LPeiu7eof//iHd0HCypUrm8yLZph0wcK4pE2b1tzuphdHcl0g//rXv+TYsWNSuHBh6dGjR4pciMl5PoGCPqAPFH1AHyj6QBzXBwk9F1sDIR3uevXVV+/5nGLFipm9tnSoKyYdGtOZZHosLnnz5jUfdWXmmMqWLWsWLPQnOvtNM1w6bKfDfQAAIGXYGgiFhYWZ2/1Ur17d7L21adMmqVKlinls6dKlJusTHh4e52uKFCliiqh3797t8/iff/4pjRs3Fn+iAVCnTp1MRggAAKQc/5xHfhfN4ug0+MjISDMNftWqVWYa/IsvvuidMaZDS1oMrceVLkTYr18/Uyz9ww8/yN69e039za5du8waRP6maNGifjutHwAApwqIYmk1ffp0E/xosbMGDC1btjRBTsxiL83+aOGxpWfPnnLjxg0zjV6H0SpVqmQKwooXL27TWQAAAH8SMIGQzhDTKezx0aGwuFYC0ILsmOsIAQAAWBiLAQAArkUgBAAAXItACAAAuBaBEAAAcC0CIQAA4FoEQgAAwLUIhAAAgGsRCAEAANciEAIAAK5FIAQAAFyLQAgAALhWwOw1Zhdr/7JLly6JE+jmtLoxrZ5PcHCwuBF9QB8o+oA+UPSBOLYPrL/bce1DGhOB0H1cvnzZfCxYsKDdTQEAAA/wdzxLlizxHk/luV+o5HLR0dFy/PhxyZQpk6RKlUqcECFrUHfkyBHJnDmzuBF9QB8o+oA+UPSBOLYPNLzRIChfvnySOnX8lUBkhO5DO69AgQLiNHqxO+mCfxD0AX2g6AP6QNEH4sg+uFcmyEKxNAAAcC0CIQAA4FoEQi6TNm1aGTJkiPnoVvQBfaDoA/pA0Qfi+j6gWBoAALgWGSEAAOBaBEIAAMC1CIQAAIBrEQgBAADXIhBykYkTJ0qRIkUkNDRUwsPDZf369eJUQ4cONSuBx7yVKVPGe/zGjRvy+uuvS44cOSRjxozSsmVLOXXqlASylStXytNPP21WUdXz/c9//uNzXOdFDB48WPLmzSvp0qWT+vXry549e3yec/78eWnbtq1ZVC1r1qzSsWNHuXLlijilD1599dVY10WjRo0c1QejRo2Sxx9/3KyGnytXLmnRooXs3r3b5zkJuf4PHz4sTZs2lfTp05v/p1+/fnL79m1xwvnXqVMn1nXQpUsXR5y/+vTTT6VixYreBRKrV68u8+fPd8X3/0EQCLnEzJkzpXfv3maK5ObNm6VSpUrSsGFDOX36tDhV+fLl5cSJE97br7/+6j3Wq1cvmTNnjsyaNUtWrFhhtlF59tlnJZBdvXrVfF814I3LmDFj5OOPP5ZJkybJunXrJEOGDOYa0F+KFg0AduzYIYsWLZK5c+eawKJz587ilD5QGvjEvC6+++47n+OB3gd6PesfubVr15pz0A01IyIiTN8k9Pq/c+eO+SN48+ZNWb16tUybNk2mTp1qAmknnL+KjIz0uQ7058MJ5690N4T3339fNm3aJBs3bpSnnnpKmjdvbq5rp3//H4hOn4fzVatWzfP66697P79z544nX758nlGjRnmcaMiQIZ5KlSrFeezChQue4OBgz6xZs7yP7dy5U5eR8KxZs8bjBHous2fP9n4eHR3tyZMnj2fs2LE+/ZA2bVrPd999Zz7/448/zOs2bNjgfc78+fM9qVKl8hw7dswT6H2gXnnlFU/z5s3jfY3T+kCdPn3anNOKFSsSfP3PmzfPkzp1as/Jkye9z/n00089mTNn9kRFRXkC+fxV7dq1PT169Ij3NU46f0u2bNk8X3zxheu+/wlBRsgFNKrXdwY6FBJzDzX9fM2aNeJUOuyjQyTFihUz7/I11au0L/RdYsz+0GGzQoUKObY/Dhw4ICdPnvQ5Z92DR4dIrXPWjzoUVLVqVe9z9Pl6rWgGySmWL19uUv2lS5eW1157Tc6dO+c95sQ+uHjxovmYPXv2BF//+vGRRx6R3Llze5+j2UPdnNPKKgTq+VumT58uOXPmlAoVKsiAAQPk2rVr3mNOOn/N7syYMcNkxHSIzG3f/4Rg01UXOHv2rPlhiHlRK/18165d4kT6B15TufrHTtPew4YNk5o1a8r27dtNQBASEmL+4N3dH3rMiazziusasI7pRw0QYgoKCjJ/QJzSLzospkMARYsWlX379snbb78tjRs3Nr/406RJ47g+iI6Olp49e0qNGjXMH3yVkOtfP8Z1rVjHAvn8VZs2baRw4cLmjdLvv/8ub731lqkj+ve//+2Y89+2bZsJfHToW+uAZs+eLeXKlZOtW7e65vufUARCcCT942bRokENjPQX3/fff28KheFOL774ove+vuPVa6N48eImS1SvXj1xGq2V0eA/Zn2cm8R3/jFrvvQ60AkE+v3X4FivByfQN4Ea9GhG7IcffpBXXnnF1AMhNobGXEDTv/pu9+5ZAfp5njx5xA303U+pUqVk79695px1uPDChQuu6Q/rvO51DejHu4vndZaIzqJyar/osKn+fOh1oZzUB926dTPF3suWLTPFs5aEXP/6Ma5rxToWyOcfF32jpGJeB4F+/pr1KVGihFSpUsXMpNNJBB999JFrvv+JQSDkAvoDoT8MS5Ys8UkZ6+eaOnUDnf6s7/b0nZ/2RXBwsE9/aFpca4ic2h86FKS/wGKes473a92Ldc76UX85ag2BZenSpeZasf5QOM3Ro0dNjZBeF07pA60T1yBAh0K07fq9jykh179+1KGVmEGhzsDSqdg6vBLI5x8XzZyomNdBoJ5/fPQajoqKcvz3/4EkqKQaAW/GjBlmhtDUqVPNzJjOnTt7smbN6jMrwEn69OnjWb58uefAgQOeVatWeerXr+/JmTOnmUGiunTp4ilUqJBn6dKlno0bN3qqV69uboHs8uXLni1btpib/miPHz/e3D906JA5/v7775vv+X//+1/P77//bmZPFS1a1HP9+nXv/9GoUSNP5cqVPevWrfP8+uuvnpIlS3pat27tcUIf6LG+ffuamTF6XSxevNjz2GOPmXO8ceOGY/rgtdde82TJksVc/ydOnPDerl275n3O/a7/27dveypUqOCJiIjwbN261bNgwQJPWFiYZ8CAAZ5AP/+9e/d6hg8fbs5brwP9eShWrJinVq1ajjh/1b9/fzNLTs9Pf9b1c535uHDhQsd//x8EgZCLTJgwwVz8ISEhZjr92rVrPU7VqlUrT968ec255s+f33yuvwAt+se/a9euZkpp+vTpPc8884z5ZRnIli1bZv74333TKePWFPpBgwZ5cufObYLievXqeXbv3u3zf5w7d8780c+YMaOZKtu+fXsTQDihD/QPof5i11/oOn24cOHCnsjIyFhvBgK9D+I6f7199dVXibr+Dx486GncuLEnXbp05k2Evrm4deuWJ9DP//DhwyboyZ49u/k5KFGihKdfv36eixcvOuL8VYcOHcz1rb//9HrXn3UrCHL69/9BpNJ/HiyXBAAAENioEQIAAK5FIAQAAFyLQAgAALgWgRAAAHAtAiEAAOBaBEIAAMC1CIQAAIBrEQgBAADXIhACAACuRSAEwG+8+uqr0qJFC/E3U6dOlVSpUknZsmVjHZs1a5Y5VqRIkVjP11vq1KnN7uft27ePtbM9APsRCAEIOLdu3Urxr5khQwYTyKxZs8bn8S+//FIKFSoU6/m6U/eJEyfMDveff/65zJ8/X15++eUUbDGAhCAQApCifvjhB3nkkUckXbp0kiNHDqlfv75cvXpVhg4dKtOmTZP//ve/3mzK8uXL5eDBg+b+zJkzpXbt2hIaGirTp083/9cXX3xhsjT6WJkyZeRf//qX9+vcvHlTunXrJnnz5jXHCxcuLKNGjTLHdItF/XoawKRNm1by5csn3bt3v2e7g4KCpE2bNjJlyhTvYxrkaBv18btpm/PkyWP+78aNG5v/f/HixXL9+nVZsGCBPPnkk5I1a1bTB3//+99l3759SdjLABIqKMHPBICHpBmS1q1by5gxY+SZZ56Ry5cvyy+//GICk759+8rOnTvl0qVL8tVXX5nnZ8+eXY4fP27u9+/fX/75z39K5cqVvcHQ4MGD5ZNPPjGPbdmyRSIjI03m5pVXXpGPP/5YfvrpJ/n+++9NwHPkyBFzUz/++KN88MEHMmPGDClfvrycPHlSfvvtt/u2v0OHDlKnTh356KOPJH369GYIrFGjRpI7d+77vlYDv+joaLl9+7YJ/Hr37i0VK1aUK1eumPPQ/ti6dasZSgOQcgiEAKRoIKSBwLPPPmsyNEqzQzGDhaioKJNJuVvPnj3N6yxDhgwxgZH1WNGiReWPP/6Qzz77zARChw8flpIlS5rMi2ZnrK+n9Jh+Dc1GBQcHm0CpWrVq922/BlzFihUzWS0d5tJAaPz48bJ///57vm7Pnj0yadIkqVq1qmTKlElatmzpc1yzTGFhYab9FSpUuG87ACQd3noASDGVKlWSevXqmeDn+eefN7Uzf/31V4Jeq0GERTMqOpTUsWNHyZgxo/f27rvveoeYtPBaMyylS5c2w1ILFy70vl6/tg5RaVCjWaTZs2ebAC0hNCukGasVK1aYdjRp0iTO5128eNG0STNH2gbNGllDehoYaWZMv77WElmF1hqgAUhZBEIAUkyaNGlk0aJFpnC4XLlyMmHCBBMkHDhw4L6v1SEviw4nKQ2kNNixbtu3b5e1a9eaY4899pj5f0eMGGGCnhdeeEGee+45c6xgwYKye/duU1OkWaiuXbtKrVq1ElSE3bZtW/M1tMZIs0JaOxQXzfxYbdKAaeXKlVKqVClz7Omnn5bz58+b9q9bt87crLomACmLQAhAitJhqho1asiwYcNMXU9ISIjJyCi9f+fOnfv+H5pd0SJkHZIqUaKEz02HyCyabWnVqpUJOLTYWmuDNABRGgBpQKK1RFrwrLPBtm3bdt+vrXVLzZo1MxkhzQ7FR2t9tD2a9dGvZTl37pwJwgYOHGiyY1rsndCsGICkR40QgBSjmY8lS5ZIRESE5MqVy3x+5swZ7/o8OkT0888/m0BBZ1NlyZIl3v9LAykd8tLnaMGy1hZt3LjRBBVaiKy1OzpjTOt6NCjR9X60LkhnamltjwZc4eHhZujqm2++McFKzDqie9HXazZJ25hY2bJlM6+bPHmyaZ8Oh2khOAB7EAgBSDGaodEhog8//NDMDtPAQwuedXq50nodzc5oPZAOfy1btsxnocKYOnXqZIKYsWPHSr9+/czQmdYeaVG1NTSls9O0HkeH5B5//HGZN2+eCYo0GHr//fdNwKQBkb5uzpw5CQ5sNGiKmeVJDP36OltNgzgtjNahQc1K6Ww0ACkvlUfnrQIAALgQNUIAAMC1CIQAAIBrEQgBAADXIhACAACuRSAEAABci0AIAAC4FoEQAABwLQIhAADgWgRCAADAtQiEAACAaxEIAQAAcav/B1o4BVzvWbOVAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.grid()\n", "plt.xlabel('stress MPa')\n", "plt.ylabel('ply number')\n", "plt.plot(df_stress['sigmax'], df_stress['z'], 'k')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.10" } }, "nbformat": 4, "nbformat_minor": 2 }