diff --git a/.gitignore b/.gitignore index ac0a4cebeaaf04217c280bf2162573c681a89b32..6385ed8f2e7b5c7e18c906be8e8cf7bf44170e3d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ jan-theme custom.kit.css .ipynb_checkpoints/Introduction-to-Pandas-checkpoint.ipynb +.prototyping/ +.ipynb_checkpoints/ diff --git a/Introduction-to-Pandas.ipynb b/Introduction-to-Pandas--master.ipynb similarity index 71% rename from Introduction-to-Pandas.ipynb rename to Introduction-to-Pandas--master.ipynb index e25ecf60e5a454e27253410c1b9176bf94fa4c02..5bc3f8e9e7b44e55600829fdfc401c14c967e7c8 100644 --- a/Introduction-to-Pandas.ipynb +++ b/Introduction-to-Pandas--master.ipynb @@ -3,11 +3,7 @@ { "cell_type": "markdown", "metadata": { - "id": "title-slide", - "slideshow": { - "id": "title-slide", - "slide_type": "slide" - } + "exercise": "task" }, "source": [ "# *Introduction to* Data Analysis and Plotting with Pandas\n", @@ -16,6 +12,42 @@ "Andreas Herten, Forschungszentrum Jülich, 26 February 2019" ] }, + { + "cell_type": "markdown", + "metadata": { + "exercise": "onlypresentation", + "slideshow": { + "slide_type": "skip" + } + }, + "source": [ + "**Version: Slides**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "exercise": "onlysolution", + "slideshow": { + "slide_type": "skip" + } + }, + "source": [ + "**Version: Solutions**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "exercise": "onlytask", + "slideshow": { + "slide_type": "skip" + } + }, + "source": [ + "**Version: Tasks**" + ] + }, { "cell_type": "markdown", "metadata": { @@ -32,6 +64,24 @@ "* I think Pandas is awesome and you should use it too" ] }, + { + "cell_type": "markdown", + "metadata": { + "exercise": "task" + }, + "source": [ + "## Outline\n", + "\n", + "* [Task 1](#task1)\n", + "* [Task 2](#task2)\n", + "* [Task 3](#task3)\n", + "* [Task 4](#task4)\n", + "* [Task 5](#task5)\n", + "* [Task 6](#task6)\n", + "* [Task 7](#task7)\n", + "* [Bonus Task](#taskb)" + ] + }, { "cell_type": "markdown", "metadata": { @@ -44,7 +94,7 @@ "\n", "* 60 minutes (we might do this again for some advanced stuff if you want to)\n", "* Alternating between lecture and hands-on\n", - "* Direct feedback via https://www.polleverywhere.com/" + "* Please give status via **[pollev.com/aherten538](https://pollev.com/aherten538)**" ] }, { @@ -56,8 +106,7 @@ }, "source": [ "* Please open Jupyter Notebook of this session\n", - " - … either on your **local machine** (which has Pandas) \n", - " Download here\n", + " - … either on your **local machine** (which has Pandas)\n", " - … or on the **JSC Jupyter service** at https://jupyter-jsc.fz-juelich.de/\n", " - Either `pip install --user pandas seaborn` once in a shell and `cp $PROJECT_cjsc/herten1/pandas/notebook.ipynb ~/`\n", " - Or \n", @@ -1367,26 +1416,27 @@ { "cell_type": "markdown", "metadata": { - "exercise": "explanation", + "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ - "## Task\n", + "## Task 1\n", + "<a name=\"task1\"></a>\n", "\n", "* Create data frame with\n", " - 10 names of dinosaurs, \n", " - their favourite prime number, \n", " - and their favourite color\n", "* Play around with the frame\n", - "* Tell me on poll when you're done" + "* Tell me on poll when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)" ] }, { "cell_type": "markdown", "metadata": { - "exercise": "task", + "exercise": "nopresentation", "slideshow": { "slide_type": "skip" } @@ -1531,7 +1581,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -1616,7 +1666,7 @@ "4 1.2 2018-02-26 -0.718282 entries Same" ] }, - "execution_count": 95, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -1673,7 +1723,7 @@ " <tr>\n", " <th>0</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>This</td>\n", " <td>Same</td>\n", @@ -1681,7 +1731,7 @@ " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", @@ -1689,7 +1739,7 @@ " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", @@ -1697,7 +1747,7 @@ " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", @@ -1705,7 +1755,7 @@ " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", @@ -1716,11 +1766,11 @@ ], "text/plain": [ " A B C D E\n", - "0 1.2 2017-05-03 -2.718282 This Same\n", - "2 1.2 2017-05-03 -1.304068 has Same\n", - "4 1.2 2017-05-03 -0.718282 entries Same\n", - "3 1.2 2017-05-03 0.986231 entries Same\n", - "1 1.2 2017-05-03 1.718282 column Same" + "0 1.2 2018-02-26 -2.718282 This Same\n", + "2 1.2 2018-02-26 -1.304068 has Same\n", + "4 1.2 2018-02-26 -0.718282 entries Same\n", + "3 1.2 2018-02-26 0.986231 entries Same\n", + "1 1.2 2018-02-26 1.718282 column Same" ] }, "execution_count": 25, @@ -1773,7 +1823,7 @@ " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>0.99</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", @@ -1781,7 +1831,7 @@ " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-0.72</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", @@ -1792,8 +1842,8 @@ ], "text/plain": [ " A B C D E\n", - "3 1.2 2017-05-03 0.99 entries Same\n", - "4 1.2 2017-05-03 -0.72 entries Same" + "3 1.2 2018-02-26 0.99 entries Same\n", + "4 1.2 2018-02-26 -0.72 entries Same" ] }, "execution_count": 26, @@ -1850,11 +1900,11 @@ "\\toprule\n", "{} & A & B & C & D & E \\\\\n", "\\midrule\n", - "0 & 1.2 & 2017-05-03 & -2.72 & This & Same \\\\\n", - "1 & 1.2 & 2017-05-03 & 1.72 & column & Same \\\\\n", - "2 & 1.2 & 2017-05-03 & -1.30 & has & Same \\\\\n", - "3 & 1.2 & 2017-05-03 & 0.99 & entries & Same \\\\\n", - "4 & 1.2 & 2017-05-03 & -0.72 & entries & Same \\\\\n", + "0 & 1.2 & 2018-02-26 & -2.72 & This & Same \\\\\n", + "1 & 1.2 & 2018-02-26 & 1.72 & column & Same \\\\\n", + "2 & 1.2 & 2018-02-26 & -1.30 & has & Same \\\\\n", + "3 & 1.2 & 2018-02-26 & 0.99 & entries & Same \\\\\n", + "4 & 1.2 & 2018-02-26 & -0.72 & entries & Same \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "\n" @@ -1989,27 +2039,32 @@ { "cell_type": "markdown", "metadata": { + "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ - "## Task\n", + "## Task 2\n", + "<a name=\"task2\"></a>\n", "\n", "* Read in `nest-data.csv` to `DataFrame`; call it `df`\n", - "* Get to know it" + "* Get to know it and play a bit with it\n", + "* Tell me when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)" ] }, { "cell_type": "code", - "execution_count": 42, - "metadata": {}, + "execution_count": 30, + "metadata": { + "exercise": "task" + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "id,Nodes,Tasks/Node,Thread/Task,Runtime Program / s,Scale,Plastic,Avg. Neuron Build Time / s,Min. Edge Build Time / s,Max. Edge Build Time / s,Min. Init. Time / s,Max. Init. Time / s,Presim. Time / s,Sim. Time / s,Virt. Memory (Sum) / kB,Local Spike Counter (Sum),Average Rate (Sum),Number of Neurons,Number of Connections,Min. Delay,Max. Delay\n", + "id,Nodes,Tasks/Node,Threads/Task,Runtime Program / s,Scale,Plastic,Avg. Neuron Build Time / s,Min. Edge Build Time / s,Max. Edge Build Time / s,Min. Init. Time / s,Max. Init. Time / s,Presim. Time / s,Sim. Time / s,Virt. Memory (Sum) / kB,Local Spike Counter (Sum),Average Rate (Sum),Number of Neurons,Number of Connections,Min. Delay,Max. Delay\n", "5,1,2,4,420.42,10,true,0.29,88.12,88.18,1.14,1.20,17.26,311.52,46560664.00,825499,7.48,112500,1265738500,1.5,1.5\n", "5,1,4,4,200.84,10,true,0.15,46.03,46.34,0.70,1.01,7.87,142.97,46903088.00,802865,7.03,112500,1265738500,1.5,1.5\n" ] @@ -2021,8 +2076,9 @@ }, { "cell_type": "code", - "execution_count": 170, + "execution_count": 31, "metadata": { + "exercise": "solution", "slideshow": { "slide_type": "fragment" } @@ -2244,7 +2300,7 @@ "[5 rows x 21 columns]" ] }, - "execution_count": 170, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -2301,7 +2357,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -2336,7 +2392,7 @@ " <tr>\n", " <th>0</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>This</td>\n", " <td>Same</td>\n", @@ -2344,7 +2400,7 @@ " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", @@ -2352,7 +2408,7 @@ " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", @@ -2363,12 +2419,12 @@ ], "text/plain": [ " A B C D E\n", - "0 1.2 2017-05-03 -2.718282 This Same\n", - "1 1.2 2017-05-03 1.718282 column Same\n", - "2 1.2 2017-05-03 -1.304068 has Same" + "0 1.2 2018-02-26 -2.718282 This Same\n", + "1 1.2 2018-02-26 1.718282 column Same\n", + "2 1.2 2018-02-26 -1.304068 has Same" ] }, - "execution_count": 89, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -2379,7 +2435,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -2393,7 +2449,7 @@ "Name: C, dtype: float64" ] }, - "execution_count": 56, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -2417,7 +2473,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 34, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2488,7 +2544,7 @@ "4 1.2 -0.718282" ] }, - "execution_count": 66, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -2515,7 +2571,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -2550,7 +2606,7 @@ " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", @@ -2558,7 +2614,7 @@ " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", @@ -2569,11 +2625,11 @@ ], "text/plain": [ " A B C D E\n", - "1 1.2 2017-05-03 1.718282 column Same\n", - "2 1.2 2017-05-03 -1.304068 has Same" + "1 1.2 2018-02-26 1.718282 column Same\n", + "2 1.2 2018-02-26 -1.304068 has Same" ] }, - "execution_count": 74, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -2595,7 +2651,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -2653,7 +2709,7 @@ "2 1.2 2018-02-26 -1.304068 has Same" ] }, - "execution_count": 99, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -2664,7 +2720,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -2722,7 +2778,7 @@ "3 1.2 2018-02-26 0.986231 entries Same" ] }, - "execution_count": 100, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -2744,7 +2800,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 38, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2783,7 +2839,7 @@ " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", @@ -2791,7 +2847,7 @@ " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", @@ -2802,11 +2858,11 @@ ], "text/plain": [ " A B C D E\n", - "2 1.2 2017-05-03 -1.304068 has Same\n", - "4 1.2 2017-05-03 -0.718282 entries Same" + "2 1.2 2018-02-26 -1.304068 has Same\n", + "4 1.2 2018-02-26 -0.718282 entries Same" ] }, - "execution_count": 94, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -2829,7 +2885,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 39, "metadata": { "slideshow": { "slide_type": "fragment" @@ -2874,35 +2930,35 @@ " <tr>\n", " <th>This</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>column</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>has</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>entries</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>entries</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>Same</td>\n", " </tr>\n", @@ -2913,14 +2969,14 @@ "text/plain": [ " A B C E\n", "D \n", - "This 1.2 2017-05-03 -2.718282 Same\n", - "column 1.2 2017-05-03 1.718282 Same\n", - "has 1.2 2017-05-03 -1.304068 Same\n", - "entries 1.2 2017-05-03 0.986231 Same\n", - "entries 1.2 2017-05-03 -0.718282 Same" + "This 1.2 2018-02-26 -2.718282 Same\n", + "column 1.2 2018-02-26 1.718282 Same\n", + "has 1.2 2018-02-26 -1.304068 Same\n", + "entries 1.2 2018-02-26 0.986231 Same\n", + "entries 1.2 2018-02-26 -0.718282 Same" ] }, - "execution_count": 90, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -2932,7 +2988,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -2973,14 +3029,14 @@ " <tr>\n", " <th>entries</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>entries</th>\n", " <td>1.2</td>\n", - " <td>2017-05-03</td>\n", + " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>Same</td>\n", " </tr>\n", @@ -2991,11 +3047,11 @@ "text/plain": [ " A B C E\n", "D \n", - "entries 1.2 2017-05-03 0.986231 Same\n", - "entries 1.2 2017-05-03 -0.718282 Same" + "entries 1.2 2018-02-26 0.986231 Same\n", + "entries 1.2 2018-02-26 -0.718282 Same" ] }, - "execution_count": 91, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -3018,7 +3074,7 @@ }, { "cell_type": "code", - "execution_count": 490, + "execution_count": 41, "metadata": {}, "outputs": [ { @@ -3047,8 +3103,6 @@ " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", - " <th>F</th>\n", - " <th>G</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", @@ -3059,8 +3113,6 @@ " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", - " <td>0.518282</td>\n", - " <td>2.952492</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", @@ -3069,20 +3121,18 @@ " <td>0.986231</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", - " <td>-0.213769</td>\n", - " <td>0.972652</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ - " A B C D E F G\n", - "1 1.2 2018-02-26 1.718282 column Same 0.518282 2.952492\n", - "3 1.2 2018-02-26 0.986231 entries Same -0.213769 0.972652" + " A B C D E\n", + "1 1.2 2018-02-26 1.718282 column Same\n", + "3 1.2 2018-02-26 0.986231 entries Same" ] }, - "execution_count": 490, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -3093,7 +3143,7 @@ }, { "cell_type": "code", - "execution_count": 495, + "execution_count": 42, "metadata": { "slideshow": { "slide_type": "fragment" @@ -3126,8 +3176,6 @@ " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", - " <th>F</th>\n", - " <th>G</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", @@ -3138,19 +3186,17 @@ " <td>-0.718282</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", - " <td>-1.918282</td>\n", - " <td>0.515929</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ - " A B C D E F G\n", - "4 1.2 2018-02-26 -0.718282 entries Same -1.918282 0.515929" + " A B C D E\n", + "4 1.2 2018-02-26 -0.718282 entries Same" ] }, - "execution_count": 495, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -3180,7 +3226,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 43, "metadata": { "slideshow": { "slide_type": "fragment" @@ -3251,7 +3297,7 @@ "2 1.2 2018-02-26 -1.304068 has Same" ] }, - "execution_count": 117, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -3262,7 +3308,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 44, "metadata": { "slideshow": { "slide_type": "subslide" @@ -3337,7 +3383,7 @@ "2 1.2 2018-02-26 -1.304068 has Same -2.504068" ] }, - "execution_count": 118, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -3349,7 +3395,7 @@ }, { "cell_type": "code", - "execution_count": 440, + "execution_count": 45, "metadata": {}, "outputs": [], "source": [ @@ -3358,7 +3404,7 @@ }, { "cell_type": "code", - "execution_count": 441, + "execution_count": 46, "metadata": { "slideshow": { "slide_type": "subslide" @@ -3437,7 +3483,7 @@ "4 1.2 2018-02-26 -0.718282 entries Same -1.918282 0.515929" ] }, - "execution_count": 441, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -3448,7 +3494,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 47, "metadata": { "slideshow": { "slide_type": "fragment" @@ -3482,6 +3528,7 @@ " <th>D</th>\n", " <th>E</th>\n", " <th>F</th>\n", + " <th>G</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", @@ -3493,6 +3540,7 @@ " <td>This</td>\n", " <td>Same</td>\n", " <td>-3.918282</td>\n", + " <td>7.389056</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", @@ -3502,6 +3550,7 @@ " <td>column</td>\n", " <td>Same</td>\n", " <td>0.518282</td>\n", + " <td>2.952492</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", @@ -3511,6 +3560,7 @@ " <td>has</td>\n", " <td>Same</td>\n", " <td>-2.504068</td>\n", + " <td>1.700594</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", @@ -3520,6 +3570,7 @@ " <td>entries</td>\n", " <td>Same</td>\n", " <td>-0.213769</td>\n", + " <td>0.972652</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", @@ -3529,6 +3580,7 @@ " <td>entries</td>\n", " <td>Same</td>\n", " <td>-1.918282</td>\n", + " <td>0.515929</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", @@ -3538,22 +3590,23 @@ " <td>has it?</td>\n", " <td>Same</td>\n", " <td>23.000000</td>\n", + " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ - " A B C D E F\n", - "0 1.2 2018-02-26 -2.718282 This Same -3.918282\n", - "1 1.2 2018-02-26 1.718282 column Same 0.518282\n", - "2 1.2 2018-02-26 -1.304068 has Same -2.504068\n", - "3 1.2 2018-02-26 0.986231 entries Same -0.213769\n", - "4 1.2 2018-02-26 -0.718282 entries Same -1.918282\n", - "5 1.3 2018-02-27 -0.777000 has it? Same 23.000000" + " A B C D E F G\n", + "0 1.2 2018-02-26 -2.718282 This Same -3.918282 7.389056\n", + "1 1.2 2018-02-26 1.718282 column Same 0.518282 2.952492\n", + "2 1.2 2018-02-26 -1.304068 has Same -2.504068 1.700594\n", + "3 1.2 2018-02-26 0.986231 entries Same -0.213769 0.972652\n", + "4 1.2 2018-02-26 -0.718282 entries Same -1.918282 0.515929\n", + "5 1.3 2018-02-27 -0.777000 has it? Same 23.000000 NaN" ] }, - "execution_count": 125, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -3580,7 +3633,7 @@ }, { "cell_type": "code", - "execution_count": 138, + "execution_count": 48, "metadata": { "slideshow": { "slide_type": "fragment" @@ -3633,7 +3686,7 @@ "1 Second 1" ] }, - "execution_count": 138, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -3645,7 +3698,7 @@ }, { "cell_type": "code", - "execution_count": 154, + "execution_count": 49, "metadata": {}, "outputs": [ { @@ -3694,7 +3747,7 @@ "1 Second 2" ] }, - "execution_count": 154, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -3717,7 +3770,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 50, "metadata": {}, "outputs": [ { @@ -3778,7 +3831,7 @@ "1 Second 2" ] }, - "execution_count": 140, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -3800,7 +3853,7 @@ }, { "cell_type": "code", - "execution_count": 141, + "execution_count": 51, "metadata": {}, "outputs": [ { @@ -3861,7 +3914,7 @@ "3 Second 2" ] }, - "execution_count": 141, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -3883,7 +3936,7 @@ }, { "cell_type": "code", - "execution_count": 152, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -3938,7 +3991,7 @@ "1 Second 1 Second 2" ] }, - "execution_count": 152, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -3960,7 +4013,7 @@ }, { "cell_type": "code", - "execution_count": 162, + "execution_count": 53, "metadata": {}, "outputs": [ { @@ -4012,7 +4065,7 @@ "1 Second 1 2" ] }, - "execution_count": 162, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -4024,19 +4077,22 @@ { "cell_type": "markdown", "metadata": { + "exercise": "task", "slideshow": { "slide_type": "subslide" } }, "source": [ - "## Task\n", + "## Task 3\n", + "<a name=\"task3\"></a>\n", "\n", - "* Add a column to the Nest data frame called `Virtual Processes` which is the total number of threads across all nodes (i.e. the product of threads per task and tasks per node and nodes)" + "* Add a column to the Nest data frame called `Virtual Processes` which is the total number of threads across all nodes (i.e. the product of threads per task and tasks per node and nodes)\n", + "* Remember to tell me when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)" ] }, { "cell_type": "code", - "execution_count": 174, + "execution_count": 54, "metadata": { "exercise": "solution", "slideshow": { @@ -4260,7 +4316,7 @@ "[5 rows x 22 columns]" ] }, - "execution_count": 174, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -4272,7 +4328,7 @@ }, { "cell_type": "code", - "execution_count": 176, + "execution_count": 55, "metadata": { "exercise": "solution" }, @@ -4290,7 +4346,7 @@ " dtype='object')" ] }, - "execution_count": 176, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -4321,7 +4377,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 56, "metadata": { "slideshow": { "slide_type": "fragment" @@ -4335,7 +4391,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 57, "metadata": { "slideshow": { "slide_type": "subslide" @@ -4349,7 +4405,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 58, "metadata": { "slideshow": { "slide_type": "fragment" @@ -4389,7 +4445,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 59, "metadata": { "slideshow": { "slide_type": "-" @@ -4402,7 +4458,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 60, "metadata": {}, "outputs": [ { @@ -4427,22 +4483,25 @@ { "cell_type": "markdown", "metadata": { + "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ - "## Task\n", + "## Task 4\n", + "<a name=\"task4\"></a>\n", "\n", "* Sort the data frame by the virtual proccesses\n", "* Plot `\"Presim. Time / s\"` and `\"Sim. Time / s\"` of our data frame `df` as a function of the virtual processes\n", "* Use a dashed, red line for `\"Presim. Time / s\"`, a blue line for `\"Sim. Time / s\"` (see [API description](https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot))\n", - "* Don't forget to label your axes and to add a legend" + "* Don't forget to label your axes and to add a legend\n", + "* Submit when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)" ] }, { "cell_type": "code", - "execution_count": 187, + "execution_count": 61, "metadata": { "exercise": "solution", "slideshow": { @@ -4456,7 +4515,7 @@ }, { "cell_type": "code", - "execution_count": 200, + "execution_count": 62, "metadata": { "exercise": "solution" }, @@ -4525,7 +4584,7 @@ }, { "cell_type": "code", - "execution_count": 247, + "execution_count": 63, "metadata": { "slideshow": { "slide_type": "-" @@ -4560,7 +4619,7 @@ }, { "cell_type": "code", - "execution_count": 248, + "execution_count": 64, "metadata": { "slideshow": { "slide_type": "-" @@ -4591,7 +4650,7 @@ }, { "cell_type": "code", - "execution_count": 228, + "execution_count": 65, "metadata": { "slideshow": { "slide_type": "subslide" @@ -4623,7 +4682,7 @@ }, { "cell_type": "code", - "execution_count": 206, + "execution_count": 66, "metadata": { "slideshow": { "slide_type": "fragment" @@ -4647,7 +4706,7 @@ }, { "cell_type": "code", - "execution_count": 240, + "execution_count": 67, "metadata": { "slideshow": { "slide_type": "subslide" @@ -4672,12 +4731,14 @@ { "cell_type": "markdown", "metadata": { + "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ - "## Task\n", + "## Task 5\n", + "<a name=\"task5\"></a>\n", "\n", "Use the NEST data frame `df` to:\n", "\n", @@ -4685,12 +4746,14 @@ "2. Plot `\"Presim. Program / s\"` and `\"Sim. Time / s`\" individually\n", "3. Plot them onto one common canvas!\n", "4. Make them have the same line colors and styles as before\n", - "5. Add a legend, add missing labels" + "5. Add a legend, add missing labels\n", + "\n", + "* Done? Tell me! [pollev.com/aherten538](https://pollev.com/aherten538)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "metadata": { "exercise": "solution", "slideshow": { @@ -4704,7 +4767,7 @@ }, { "cell_type": "code", - "execution_count": 243, + "execution_count": 69, "metadata": { "exercise": "solution" }, @@ -4726,7 +4789,7 @@ }, { "cell_type": "code", - "execution_count": 244, + "execution_count": 70, "metadata": { "exercise": "solution" }, @@ -4748,7 +4811,7 @@ }, { "cell_type": "code", - "execution_count": 221, + "execution_count": 71, "metadata": { "exercise": "solution", "slideshow": { @@ -4774,7 +4837,7 @@ }, { "cell_type": "code", - "execution_count": 234, + "execution_count": 72, "metadata": { "exercise": "solution", "slideshow": { @@ -4812,7 +4875,7 @@ }, { "cell_type": "code", - "execution_count": 249, + "execution_count": 73, "metadata": {}, "outputs": [ { @@ -4854,7 +4917,7 @@ }, { "cell_type": "code", - "execution_count": 256, + "execution_count": 74, "metadata": {}, "outputs": [ { @@ -4874,7 +4937,7 @@ }, { "cell_type": "code", - "execution_count": 255, + "execution_count": 75, "metadata": { "slideshow": { "slide_type": "subslide" @@ -4898,7 +4961,7 @@ }, { "cell_type": "code", - "execution_count": 270, + "execution_count": 76, "metadata": { "slideshow": { "slide_type": "fragment" @@ -4923,7 +4986,7 @@ }, { "cell_type": "code", - "execution_count": 334, + "execution_count": 77, "metadata": { "slideshow": { "slide_type": "subslide" @@ -4932,9 +4995,9 @@ "outputs": [ { "data": { - "image/png": "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dWLGjBklugfdnbFjx+72e1PU+20p3JuJNaokqps9XNq9Vq1aXpicY8qbzZs3e3Z2tru7L1y40Nu0afOLY9auXetNmzb1NWvWuLv7hRde6G+//ba7uy9btswXLlzoI0aM8Oeffz73NR988IH37dvXMzMzPTMz03v37u0zZszwrVu3+vTp093dfefOnX7MMcf41KlT3d191KhRPm7cOHd3//zzz7158+bu7r5lyxafNWuWjx8/3q+44orca2RkZPihhx7qP/30k7u7X3fddX7LLbe4u/ubb77pGRkZ7u5+/fXX+/XXX+/u7pMmTfJzzz3X3d23bt3qzZs392XLluWe89577/Xhw4f7GWeckdt20UUX7fa95bj22mv9r3/9q7u7L1myxE844QR3d8/MzPQjjzzSv/32W9+5c6d36tTJP//889zXffLJJ37BBRfsdj898cQTu31vpc7dVlMAABPiSURBVKm83puF+eCDD3z9+vXu7j516lTv2bNngccV9u/22muv+cCBAz07O9vnzJnzi9dfddVVPnz48N3+PXr06OFz5szx7OxsHzhwYO49O336dD/xxBN9x44d7u7+448/unvh99n333/v8+bNc3f3TZs2eatWrXLvjcLOlZGR4SkpKb5gwQJ3D7+PmZmZRcZ18skn5z5/7bXX/Pjjj3d39xkzZux2b+dYtGiRd+jQwbdu/f/tnXtQU0f/xp/IRYtXrGJDIkYEJFwSjFXxUtSiWLFQL6hYra2itlbtSMXKtNq+tloVW/HOdKq1Ba3MtIpQdbyiFFsookZsRUFMlICiqHghGIl8f3/kzQ4xnIP2dX5Su58ZZ5xz9uye2X2+z+7Z3SzVVFtbS6GhoVRcXExERJ999hmtXLmywTr+X2kq2mxME0Qk6l1CPmgymVh73r17l7p06UJlZWV2eWs0GsrKyiIioqKiIgoKCmIat+pAyFPF/Lk+a9eupSlTphAR0e7du2nIkCFUW1tL9+7do5dffplu375NREQnT54knU5HXbp0Yd4qVkdieXl7e9PZs2eJiGjDhg309ttvExGx+0RE6enpNGzYMFa2tX7OnDlD7u7uLN2TxuDToKno80mpqKigvLw8+vjjjwVj9+HDhySXy+n8+fNERLRo0SLatGmT6PMGg4EUCgUZjUYiIho7dixt2bKFiCz6qKuro7q6OoqOjmZ9+dKl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\n", + "image/png": "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\n", "text/plain": [ - "<Figure size 864x288 with 2 Axes>" + "<Figure size 864x432 with 2 Axes>" ] }, "metadata": {}, @@ -4953,7 +5016,7 @@ }, { "cell_type": "code", - "execution_count": 498, + "execution_count": 78, "metadata": { "slideshow": { "slide_type": "subslide" @@ -4962,7 +5025,7 @@ "outputs": [ { "data": { - "image/png": "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8Vh/zvKb3r1789lnn5GTk8M111zDmjVrmDNnDj/99BOnnHIKW7ZsOeTPw+v15st/KMOGDeO+++7D4/HQp08fUlNTD/vznzFjRr7n+efnLSJSkjQHW0RKhV9//ZW1a9dy/PHHU61aNTZv3szOnTuxbZs5c+bk7XfGGWcwefLkvJHX36ZSHM7HH3/MFVdcQfv27RkxYgSDBg3Km1vtdrvziqhhGFxyySXce++99O/fP28U+Tft2rVj3bp1fPXVVwD88MMP9O3bl23bth3y3I8//jj//Oc/6dWrF/feey/NmjVj7dq1h9z/jDPO4N133yUWi5FIJJg6dephnxtAp06dWLBgARs2bABg4cKFZGVlcdJJJx2wb9euXXnnnXfYt28fAM888wx33nknVapU4YQTTsgrrytXruSnn3466Pl69OjBwoUL+eGHH2jbti1dunThmWeeoXv37geUcrfbne8fSEerQ4cOuFwuJkyYkPebhML8/EVEnKARbBFxxB/nYENyZPWBBx6gcePGAFx88cWcf/75pKen06NHj7z9rr/+eh544AEGDBhA5cqVqV69et6o7htvvMF3333HP/7xj3zn6t69O5999hn9+/cnJSWF4447jgcffBCAXr16cdttt/HQQw/RtWtXMjMzGTdu3EFXFqlWrRrPPvssjz76KNFoFNu2efTRR6lbt+4hn+fll1/OyJEj6d+/Pz6fj5YtW+b7AOefDR48mF9//ZVBgwaRkpJCvXr1CAaDh/1ZNmvWjDFjxjB8+HBM0yQQCPCvf/3roFNRLrjggry5y4ZhULt2bcaOHQvAk08+yd13382bb75JgwYNaNKkyUHPl5aWRtOmTQkGg7jdbrp27cq9995Lnz59Dti3efPmuN1uhgwZwlNPPXXY53Gwn8WsWbPy5lgX5ucvIuIEwz7Y7xZFREqp9957j0qVKnHGGWdgWRYjRoygS5cueVMeiuL4U6dO5d///neRHK+g5s+fz86dO/P+8fHQQw/h9/u54447HMnjlEQiwfDhwznvvPM499xznY4jIlIgKtgiUqb89NNPjB49mnA4TDwe57TTTuOee+7JN7e3sC699FJ27NjBc889R7NmzYogbcFt3bqVkSNHsnPnTkzTpFWrVtx3332H/WBkebN69WqGDh1K9+7deeyxx45qnr2ISGmigi0iIiIiUoQ0LCAiIiIi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\n", + "image/png": "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HTt2pHr16oU+59JLL+X1118/fkIjwNKlS+nfv38JPpvwMtYGNx8HIDAJ/F9APPCstfbPhT0+qW5Tm75nS9DHFREREc80cl0mvv/+e04//XTfMYpl5cqVPPLII0yZMqXIx6amplKlShX27dtHly5dWLp0KfXr1y/2sT7//HP++c9/FnisU71uxpg0a23p5qqUQkjmXFtr5wBzQrEvEREREYkeHTt2pE+fPuTk5PxkreuTDR48mAMHDpCZmcl9991XomIN7gTKP/3pT8HELXNhO6FRRERERGJT/iX1CrNw4cKgjhPJ00GO0eXPRURERERCROVaRERERCREVK5FREREREJE5VpEREREJER0QqOIiIiI/ER8fDxnnXXW8dtvvPEGKSkp/gJFCZVrERERkVjwcGs4shsq14O71wa9u+TkZL744osQBCtfNC1ERERESm/rJ7B5iSt24teR3Se+Fy80ci0iIiKll5vl3qvQlZ13xsPOrwu+f+snga+DAax7P7E6xCVAk/NO/Zz6Z8HFDxV62KNHj9KhQwcAmjdvzuuvv16q+OWNyrWIiIiU3LEpCMfEJ7pCF6IpCVICx37BwZ74/vj20tG0kNJRuRYREZGSO3mkOifz1NsleEWMMB//RSe+IuRk5L2vXA9unB2ejHKcyrWIiIiUjLWQUAmy0vJtDExJSEiG7EyokOgrXflz7C8FE6u79zkZMPGgvzzlnE5oFBERkeKzFub+3hXrTjfmvwO6jIGso/BMf9i33lvEcqtyvRPfixcq1yIiIlI81sL798Ky/4PON8El/3QnzYErdIMehmFT4cdNMKkXfD3Da9xy5+61bsQ6RHPeU1NTQ7Kf8kblWkRERIpmLbw7AT563I1QX/IPiItzq1E0655X6E4fDOOWwGlnwGs3waxfQuYRv9lFwkjlWkRERApnLbxzD3zyXzjvVrj4b2BMwY+v0QRumA097oLPp8KTfWDXt+HLK+KRyrWIiIgULDcX5twFn06CC26DgQ8WXqyPia8A/e6D69+A9APwVF/47BlX1EVimMq1iIiInFpuLsy+Ez57Grr+Gi56oHjFOr8Wvd00kWbd3L5eHQVHD5RF2phj9YtIiUTK66VyLSIiIj+Vmwtv3w4rnoPud0D/P5a8WB9TpR5cO8PtY9VseKIHbP0stHljTFJSEvv27YuYwhjprLXs27ePpKQk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\n", "text/plain": [ "<Figure size 864x432 with 2 Axes>" ] @@ -5020,12 +5083,12 @@ }, { "cell_type": "code", - "execution_count": 465, + "execution_count": 79, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 720x288 with 1 Axes>" ] @@ -5054,12 +5117,12 @@ }, { "cell_type": "code", - "execution_count": 464, + "execution_count": 80, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 720x288 with 1 Axes>" ] @@ -5088,7 +5151,7 @@ }, { "cell_type": "code", - "execution_count": 467, + "execution_count": 81, "metadata": { "slideshow": { "slide_type": "-" @@ -5097,7 +5160,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 864x288 with 2 Axes>" ] @@ -5132,7 +5195,7 @@ }, { "cell_type": "code", - "execution_count": 473, + "execution_count": 82, "metadata": { "slideshow": { "slide_type": "fragment" @@ -5146,7 +5209,7 @@ }, { "cell_type": "code", - "execution_count": 349, + "execution_count": 83, "metadata": {}, "outputs": [ { @@ -5177,7 +5240,7 @@ }, { "cell_type": "code", - "execution_count": 477, + "execution_count": 84, "metadata": {}, "outputs": [ { @@ -5197,7 +5260,7 @@ }, { "cell_type": "code", - "execution_count": 478, + "execution_count": 85, "metadata": {}, "outputs": [ { @@ -5217,7 +5280,7 @@ }, { "cell_type": "code", - "execution_count": 480, + "execution_count": 86, "metadata": {}, "outputs": [ { @@ -5237,7 +5300,7 @@ }, { "cell_type": "code", - "execution_count": 481, + "execution_count": 87, "metadata": {}, "outputs": [ { @@ -5270,7 +5333,7 @@ }, { "cell_type": "code", - "execution_count": 475, + "execution_count": 88, "metadata": { "slideshow": { "slide_type": "skip" @@ -5284,7 +5347,7 @@ }, { "cell_type": "code", - "execution_count": 476, + "execution_count": 89, "metadata": { "slideshow": { "slide_type": "-" @@ -5293,7 +5356,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZYAAAEPCAYAAABhkeIdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XlwnNWZ7/Hved+3u7Vam7tbklkNBDK5kJBxKpCpi8MEEoQXGAIMhCkTMgFCAXY5wGBMJgPOOCYsYR2YCsOU7wATKoRghhmbMDgFuYlTFfCQ2MQp8A2BCEvWbu29ve+5f/SibqnVUsutXp9PlROru9U6B9n6+WzPUVprjRBCCJEjRqEbIIQQorxIsAghhMgpCRYhhBA5JcEihBAipyRYhBBC5JQEixBCiJySYBFCCJFTEixCCCFySoJFCCFETkmwCCGEyCkJFiGEEDklwSKEECKnJFiEEELklFXoBuTb0NA4jjN3QeeWljoGBsby0KLiUqn9hsrte6X2Gyq37/Ptt2Eomppqs37/igsWx9HzCpb4aytRpfYbKrfvldpvqNy+L2a/ZSpMCCFETkmwCCGEyCkJFiGEEDklwSKEECKnJFiEEELklASLEEKInJJgEUIIkVMVGCyVuWddCCHypeKCZURrIqrQrRBCiPJVccESdjRDkQhjaLQEjBBC5FzFBQuA1jARsRmM2AQVyPSYEELkTkUGS5ytNcPhCEdkekwIIXKmooMlLmQ7Mj0mhBA5UnHVjWcTnx4LKkWdZaK1TI8JIcRCSLBME58eqwpHiCiwJF+EECIrMhU2i5CO7h4bl+kxIYTIigRLBlrDuOweE0KIrEiwzIPsHhNCiPkrmjWW559/nmeeeSbx8UcffcRFF13Et7/97cRjjz32GC+88AJLliwB4PLLL+eqq67KWxtDtsOQ41BjmtQohZIBjBBCzFA0wXLZZZdx2WWXAXDw4EFuvPFGbrrpppTXvPPOO3z/+9/nzDPPLEQTganpsUBs95hHwkUIIVIUTbAku+uuu9i4cSPNzc0pj7/zzjs8+eSTdHZ28pnPfIbbb78dj8dTkDbGp8fcpkGtoXCjSN6h/LtAgN0TEwzYNi2myRdqavhEVVVB2iqEEPlUdGsse/bsIRAI0NHRkfL4+Pg4H//4x7n99tt58cUXGRkZ4fHHHy9QK6eEbIcjYZsRx8FWoFQ0VJ4fG2PEcahRihHH4fmxMX4XCBS6uUIIseiULrKTgOvXr+eLX/wiq1evzvi6AwcOsHnzZnbs2JHV+/cEQ9hH08AMFOBWiqcP99MfiqCZ2kcWdBwaXRZ/f+KyRfrqQghRHIpqKiwUCvHmm29yzz33zHiuq6uLPXv2cOmllwKgtcaysm/+8PAkYduZ83VNzbUMDY5n/f4AB8cmabFMqgyDoOMQcDRKa7ojQfr6Rhf0nvni9dYXfRsXS6X2vVL7DZXb9/n22zAULS11Wb9/UU2Fvfvuu5xwwgnU1NTMeK6qqor77ruPzs5OtNY8++yznH/++QVo5dzqDIOBiE1/OEIEWGKZVJkGPtMsdNOEEGLRFVWwdHZ20tramvLYtddey/79+2lubmbLli3ccMMNXHDBBWitueaaawrU0szOrqrCBoJaMxax6Q6FmXA059bVyil+IUTZK7o1lsX2Xu/wok+FARwMBvlVIMAR26bRNDm7qopTPB4MpXAbCkspXEphAKaOLvoXw3eiUqcGoHL7Xqn9hsrt+2JPhRXVGks5OcXj4ZQ0W6EdrQnYUwmiFBgorKSwMSmusBFCiGxIsBSY1mCjsW1NMPaYApRSmArchoGlFBbRsBFCiGInwVKENNFdb46GsBPdHK0A01B4DAN3LGgMZEQjhCg+EiwlQgMRRxNxbMYBQ4HLMHAbBm5kNCOEKB4SLCXK0RC0HYK2kxjNuJXCbRi4kNGMEKJwJFjKQGI0g2bCdlJGMy6ioxlDNgIIIfJEgqUMTR/NqNgWZ5dhYGmNFdvmLEEjhFgMEixlLr4RIGBrAomgATM+bZa0vVkIIXJBgqXCRIMmep4mseMsdpbGbSiqIjYRNCZKps+EEAsiwSISZ2kmbc2obXMkYqNU9NCmW0UPbppE/7BI0Agh5iLBImaIT5+FbE0o9pihwIhVBnAZRuLApoxqhBDTSbCIeXFi02cRNJNJmwJcRixs4ms1SNAIUekkWMSCxEc1waRSNPFRjTtpVGPIqEaIiiPBInImeVRDbFRjxEY1llJYClzIVmchyp0Ei1g0GrB1tMAmkNjqbCiFRymspLUaIUT5kGAReZO81TkxqoltdXbJAU4hyoYEiyio5GsD5ACnEOWhqIJl3bp1DAwMYFnRZm3ZsoVPfvKTief37NnDtm3bCAaDdHR0sHHjxkI1VSySdAc4DRUrSyNbnYUoCUUTLFpr3n//fV5//fVEsCQLBAJs3ryZp59+mra2Nq6//nreeOMNVq5cmdXXeW5kBBxNs2nSbBjR/zdNapRCKbmQvhg5sbSZnLbVOX6AU7Y6C1FciiZY3n//fZRSXHvttQwMDHD55ZfzN3/zN4nn9+3bx/HHH8+xxx4LwJo1a3jllVeyDpY+26YvHJnxuEeplKA51gJPOEyzaVItoVNUMh3gnL7VWb5rQuRf0QTLyMgIZ599NnfddReBQIB169Zx4okn8hd/8RcA9Pb24vV6E6/3+Xz09PRk/XU+31TPh4EQ/aEIfeEwo7YDQFBrum2bbjs6/cLkZOJzqg3FUpcLr9tiqctK+X2taR5Fr4tTU3NtoZtw1DRgQ+yOGoWljMS250y83vq8tK/YVGq/oXL7vpj9LppgOfPMMznzzDMBqKmp4dJLL+WNN95IBItOM8exkFHE6Vic5jLAFf04qDWDtj31y3EYtG2OaIexWOhMOprOYIjOYGjG+1UrNWNaLf5xlWFk3b5Ca2quZWhwvNDNyLnkrc7xsjSm1pixaTSto3/R+vpGC93UvKvUfkPl9n2+/TYMRUtLXdbvXzTB8tZbbxEOhzn77LOBaJAkr7X4/X76+/sTH/f29uLz+Y7663qUos2yaJu2rtPUXEt3/yhDjsNAUvAMxYJnIhZ0k1pzKBLhUJr3romHTixomkyTltjvPSUYOqVs+lbnyaQdaPGwqYpECKloZWfZhSbEwhVNsIyOjvLII4/w3HPPEQ6HefHFF7n77rsTz3/yk5/kj3/8Ix9++CHHHHMM//mf/8mXv/zlRW1TlWHQZhgzQgcg4DgMTgud+GgnEAudCa2ZiET4KDJzTac2TejEP/bIek5eTA+bUdvhSNiO7kJjqmKAK3auxtTRIJINAkJkVjTBcu655/Lb3/6Wiy++GMdx+MpXvsKZZ57JRRddxA9+8AP8fj/33HMPN998M8FgkJUrV3LBBRcUrL1VhkG7YdCeJnQmHIehpKBJDp546IxrzXgkQmea0KlLDp1pweOW0Fl0jgaYqhgAU3fWWLGim/GrBKQWmhAzKZ1u8aKMvdc7TDi2dpLJYqw1aK2ZjK3pDMRCZygpdILz+FbUJ4VO07S1HVcOQqdc11jmI9u+J297ToSN1hix0IHSCJxKXWeAyu17xayxVAKlFDVKUWMYHDPtOa01E8kbCaaNduLbBka1ZjQS4cM0I516w0i7iaDZNOfcDSWyl27bc3zdRsVGNxZgxLc/J/2C0ggdIRZCgqVIKKWoVYpaw+BYlyvlOa014xlCJxx73ajjMOo4aUOnIR44sf9vSppik9DJnfi6TXwqLQgQGyFL6IhKIcFSApRS1ClFnWFwXJrQGUsKnYGknWuDtk08YoYdh2HH4Y/T35up0GkyDI5RNlUhO/GxKaGTM/MKndiUmgWYhoFBdJearOWIUiLBUuKUUtQrRb1hcHya0BmN7V5Ld1bHJvrD7ojjcMSJ/oDbGwxOvTczRzrxX40SOjmVCB2tsZkjdJTCVEpCRxQtCZYyppRiiWmyxDQ5IU3ojKQJnWGl6Q9FZoTO+9PfG2hMDpuk3zcaBoaETs6kDZ2Y+AYCQ5EIHAkdUWgSLBVKKUWDadJgmpyYFDpNzbUMDIxFQyfNes6Q4+AQ/WE35DgMOQ5/CIdT3tsgGjot8bWcpOBpkNDJqfgGAkcTveMmSfIBUDPDSEeIXJNgETMYStFomjSaJsunPedozfAsoXMkFjoORJ9zHEgTOk2z7FxbIqGTU9MPgM4c6UT/gaFCYca1g2EYmPHQQTYSiIWTYBFZMZSiKTYSOWnac47WHEkOm6TfH3EcNNHQGXAcBtKEjgkzzubEg2eJYUiF6RxKnl4Las247cjuNZEzEiwiZ4ykw5vT2dNDJyl4hmOhYwP9tk2/bc8IHYvZQ6deQien5rtl2jQULoiNdKL/MJDQESDBIvLEVIqWWBHO6SJzhA5AhNhdOrOETrpNBM2mSZ3cpZNT00MnBLOGTnzLtIRO5ZFgEQVnKcVS02TpLKEzW921kaTQ6bVteuN36SRxMRU6TbENBfGPayV0cmqhoWMQDR4lRT7LhgSLKGqWUngtC2+a58IZQmc0FjphoMe26UkTOu4Zt4ZqPOGIXFW9CI4mdAxit4FK6JQMCRZRslxK4bMs0t3KE05TAide8HM09tMppDWHbZvDaW4NnX5VdfI0m1xVnVsLC52p3WuVMNL5XSDA7okJBmybFtPkCzU1fKKqqtDNmpUEiyhLLqXwWxb+NNcahKaFTjxwhrQz+1XVSaqmhU6TadISDx25wC2n5hs6Rix0rPhIJ1ZluhxGOr8LBHh+bAyL6OWBI47D82NjAIsSLvH/Xo4Ch4X9h5NgERXHrRStlkVrmltDDw+MzZhWiwfPeOynU0BrumybrjShUx3bjp0cPPFbQ0vxqupiNj10wpA+dJKqElhKpYROKdg9MYEFibuY3ABas3tiYs5gSR5Yax39b+YoCDkOETSOAlDR82daY2tNRIPjaDQayzDwL6DNEixCJJntqmqI3ho6/arqePAkX1U9GYnQlea941dVN6UJHbmqOrdSQkdDOOlf3smhQyjMqHYSpXBMrVFKFdVtoQO2TX1S5QSFphZFUGsiKhoIKJU4JxatxKCjW/j1VGUGAB3776DDEYYi9pzjkYV2v6iC5bHHHmPXrl0ArFy5kr/7u7+b8fwLL7zAkiVLALj88su56qqr8t5OUZkyXVU9OS10kjcVTE6/qjrNeydfVT29MoFcVZ1byaET1prJpIv/Zhvp5DN0kqeibK05yeNm2HFQxKooaAhqh2plMBSOJPqUDb2Az8lG0QTLnj17+MUvfsGLL76IUoqvf/3r/Pd//zfnn39+4jXvvPMO3//+9znzzDML2FIhZqo2DKqzvKp6IOnW0PleVT19mk2uqs6t+Y50poeOmlYKJ1PoxL9l8VGEExt12Epha03Y0dixqSit4STT4pXgBCbRH9gRooeJ/3eNZ1HD4WgUTbB4vV42bdqE2+0G4KSTTqKrK3VC4Z133uHJJ5+ks7OTz3zmM9x+++14PJ5CNFeIeasxDGoMg2XTHk++qjrdlul46IxpzVgkwp/S3Roan15Lc0A0F1dViymZQgdSi35a8eupY9+D+GjDhmho6PiIIfa/evYRxCmxn3G/CgQ4Yts0miZnV1UlHi9GRRMsp5xySuL3H3zwATt37uS5555LPDY+Ps7HP/5xbr/9dpYtW8amTZt4/PHH2bhxYyGaK8RRy+aq6oGkTQTzvap6iWHMWvBTbg3NvelFP3PpFI+nqINkOqV1MSxPTTl48CDXX389N998M3/1V3816+sOHDjA5s2b2bFjR1bv3xMMMXMvjxClQ2vNmO3QFw7TH4rQF47QHw7TF4rQH44QmuOvtAIaLBOvy2Kpy4XXbbHUZeF1u2ixLCyppS9iTMDvcWf9eUUzYgHYu3cv69evZ/PmzaxatSrlua6uLvbs2cOll14KRP9yWWnms+cyPDxJOGmxbjZNzbUMDY5n/f6lrlL7DaXX9yagCcUphgs8LvDMvKp6+jRbhNgFbhGbIxGbg5PBlPecflV18minHK+qLrXvea7Mt98u08DvK+Fg6e7u5sYbb+TBBx/k7LPPnvF8VVUV9913H5/97Gc55phjePbZZ1MW9oUQC7uqelhBfyg8FTpJV1WnvDfRC9zSVZmWq6pFsqIJlqeeeopgMMg999yTeOyKK67gZz/7GevXr+f0009ny5Yt3HDDDYTDYT796U9zzTXXFLDFQpSW2a6qbmquZTB+a2iaTQRDtp24qjp+a6hcVS0yKbo1lsX2Xu+wTIVlUKn9hsrt+1z9drSe86rqTOJXVafbRFDoq6rle56ZyzT4mK8h6/cvmhGLENk4GAyW1PbLUraYV1WbQOP0qbWk0JFin6VJgkWUnIPBIK9MRA+MVSnFmOPwysQEgIRLnh3tVdU20ZIlA2kucJOrqkuXBIsoOb8KBDAhcQDQBaA1vwoEJFiKyEKuqh6aFjpyVXVpkmARJeeIbVM17QeHFXtclIZMV1XbWjOUFDrJ5XDiu9XkquriJsEiSk6jaTLmOCRvpo3EHhelz1zAVdVDjsPwAq6qPtbUVMVuDZWrqnNHgkWUnLOrqqJrKlqnFOU7u4hv1BO5kfOrqgOBxOcnX1WdfHmbXFWdPQkWUXJKsSifWHwLuap6SGtGYiEz46rqJPGrqpuSptUSt4ZK6MwgwSJKUqkV5ROFNdtV1U3NtfQk3Ro6NG20MxY75idXVWdHgkUIUVGSz0B5J8ZYYbo4xeOZcVU1RAPlaK+qnu3W0HK+qlqCRQhRMaafgRqJ2LwSjO4qSzcCzvaq6viIJ/mq6kORCIfStKWcr6qWYBFCVIwZZ6CUwo49nu3UaqarqgOz1F3L5qrqdJe3lcpV1RIsQoiKka8zUFWGQfssV1VPzlICZ9BxCEy7qvqjEr2qWoJFiByQ2mWloRjOQFUbBsuyvao6EiaootNjGa+qBprCIVrGx2gZ6mfp4UO0/Ol9mkJB1LUbobZu8TuIBIsQR01ql5WO6WegQrF76IvhDNRsV1WH//AegddeJlBdy1BjM0c8VRyprmHkmOMZ8lQxaLkJxUZGo8Coy82fGpuhsRlO/BicfS4A9YEAzRGbZtNkmbKpDtmLdlW1BIsQR0lql5WO6WegvJbJCk+Rji4dB4aH0LtfpmZ0mPqhAVr/eBAzFEAlXcSmgfGaWvqbljLQ1BL95WtnoHkpA3VLCMdGY6MoRiMRPoxEeDuYenPoEsNIW3fNZ6ReFjdfEixCHCWpXVZaks9AFcV9LI4Dg/0Yvd2o3sOo3u7Yr8OocIjZIk8D+FrRvlaqfe0s87XR7vWjvX5wRa8Tnu2q6mE0fbFbQwFGHIcRx+GDadNrXpfFo/7GrLskwSLEUSqGeXtRAmwbNdCXFByx8OjrQUXCs36aVgqnqgqnpg67qhrb5Y6WMapfQu1Xrs34JWe7qjp+a2i6q6rjZ3VmruDMX1EFy8svv8wTTzxBOBzmq1/9KldddVXK87///e/51re+xdjYGCtWrODuu+/GSrPrQoh8ktplIkUkgurvmTb66Eb196IyjGK1ZYHXj/a34/ja0L42tK+V0JEjBH/2XyjTApcLwmG0HcHz2ZVH1czZrqqG6EhnxHGYXODSS9H8VO7p6eHBBx/kJz/5CW63myuuuILPfvaznHzyyYnX3HbbbfzjP/4jn/rUp9i8eTM/+tGP+MpXvlLAVgshtcsqVjgUDYueaSOQgd6UNZDptMsdncLyt0UDxNuK42uD5qWQ5mCky9sKhkHozf+LPjKEamzC85n/jeukjy1a15RSNJgmS82FHdQsmmDZs2cPZ511Fo2N0fm8L33pS7zyyivcdNNNABw6dIhAIMCnPvUpAC655BIeeeQRCRZRFKR2WRkLBVF9h1E900Ygg/2o2LmTdLSnCu1rBX87TmwtxPG1Q0NT2gDJxHXSxxY1SHKtaIKlt7cXr3eqGLbP52Pfvn2zPu/1eunp6clrG4WYTilQKMzYlEHYmf0HjSgO4T+8l/jXf9jrhU+dHf2hHZicsXhu9HajhgYyvp+urkkKkLZYiLTBksboH5AKVDTBotMkf3Ip6rmen6+Ghmrmu1enqbk26/cvB5Xab4DmWN8Nond/mEqhiO7AcbRGE72IKv6cqaKvM5RCa8247TBm28w+EVKcKuV7PvnuASZf+w9cto1pRzD+33uYv9uHyzRhbDTzJ9fWYbQtw2hfhmprx2hrx2g/BpY0lGTZ/Pl8zxe6/aRogsXv9/PWW28lPu7t7cXn86U839/fn/i4r68v5fn5Gh6eJGzP/de+KLYhFkA591vF/kcRG2UYCgswDQMTaGmq5cjQOIYGQ0XDJJxmAOIQvTBqNoaKVrydtG1KYQBTtt/z8bGp0UdPN0ZvN3z4Po0ZdmAB6Pol0YVzf3QB3fHGRiB19TNfbANDE4vT/kU03++5yzTw+9xZv3/RBMvnPvc5Hn30UQYHB6murubVV1/lO9/5TuL5ZcuW4fF42Lt3L3/+53/Ojh07OOeccwrYYlGMFFPTU0Y8OGKjC0NrDKUSwQGgNbEDAVBlGpg66fGFtkFDLYoqy2LMcQjZDiWQL6VJaxgbiYVHbOoq/mt8LOOnOm43Tk0tdlUNEaVwXfTXaG8b1FTG6G0xFU2w+P1+Nm7cyLp16wiHw1x66aWcccYZXHvttaxfv57TTz+d+++/n29961uMj4/zZ3/2Z6xbt67QzRZ5lhIciqQpKYVCY6IwiE5lQVJA6Nhn5yA45svU0KAUIZfFWMQmko8vWq60hpEjiZFHylrIZOYRg25qRvvb0b42goc+JGw7OG4P2jSxTIPIZADq6rCOPznj+4j5Uzrd4kWSw4cPMzExwfLly3nwwQcZHx/HMAxuueUWPCW4C+a93mGZCsug0P2OBwdpgsOMPW8Aho6+Lpc/q73eevr65phnXyCtomXSi3F6rNDf8xSxMiaJ8OjpmtrGGwzM+mlaKWhqiQaIf2r6Snv94Jk6TxT+w3sEX3s5cSbEcGzsUAjPeWtKatfV0cpmKuxjvoas3z/jiGXfvn1cf/313HHHHSxfvpxdu3axdu1a/ud//odnn32Wr33ta1l/QVHZptY5osFhquh0lRFb5zC0RiVNV6WOOFKV0gBApsemcRwYGpiauuqJn0I/jAoFZ/00bRjQ7EW3pq5/JJcxySQaHmsSu8IsrxcrvitM5EzGYHn44Yd58MEHOeusswCora3lpptuoquri/Xr10uwiBnie2MS23Bj6xzGLOscM4Mjv9NV+VZx02O2jRrsm5q6ih8mnKuMiWnCUl/s9HnsIKGvFb3UB9bCCiPGJZ8JKarRWhnJGCydnZ2JUIGpLb/t7e0Eg7P/q0KUt0wL5CoWHOb0BXIoyDpHcVK4NTRZZtFOj2UtEomeOE8efSTKmMxedUqb8TImbUllTNrQLV6QWmslK2OwuKbVj3n22WdnfU6Uj+kL5GbSOoeRtECupq9zSHBkpSSnx8LhWB2s5DWQ+ZQxcYG3Fd3anihjon1t6KYWCZAylDFYamtrOXz4MK2trYmPAbq7u6murl781olFMdsCuaEUjZaJclnpF8jjwZFEwuPoxafHgi6L8WKZHguFousdyTWwerqj01qZypi4PWh/7BS6N1YPy9sWvXQqyzImonRlDJbLLruMW265hUceeYSWlhYAhoeHueOOO7jyyivz0kCRveQFchUPDqYOAmZaIK8xTcaTfm4Uw8+4yqDwaHDne3osGMD+oAfj4PuJ6SujpwuODGYOkKpqtL8NYsHh+KOjEBqaKraMiZgyZ7B0dnbyhS98gZNOOgmlFO+//z7r1q1j9erV+WqjSCN5uso0YsExbYHc1FN/x5MPAsp0VfFatOmxyYmkU+ixg4R9h1FHBgkCs01s65raxAn0qWq8bVC/RAJEzGrOA5Lf/OY3ufrqq3n77bcBOOOMMxZUSkVkp5QOAorcW/D0WKKMSWz0EQ+TkeGMn6br6mNnQFrR3qldWNTWS4CIrM3r5H1LSwvnnXfeYrel4iTCQylc0w4CGrHn51rnkNwoZ7NMj2kNY6OJEUjKSfQ5CinqJQ2JQ4Ta24rjb6PhlOUcCcn6h8idoinpUs7iAWLEquLGfxmQCJFyOQgockdrjR45gtPTjdXbTXVPF5GeLvThbtRk5rMXurF5agrL15rYiUV1zYzXqrpakLMcIockWHIoGiDRqav4CCS+cJ7pJLnkRmXTWqOPDGL3dOH0dE/9f283BCZnvD4+Xp0qY5JciXdmGRMh8k2CZQGmB4gV221lQmLBPG2ASIKUrfDv9xN846c4g/0YzUvxrPwSro+fnvIa7TjooYHUAOmNBUimA8dKYSz1YfrbMf1tGP52lL+NwFIfAdMq/cOVouxIsGSQfDugFQsQi2iwmMkjkGl/sSVAKkv49/uZ3PHvKMtC1dTijBxh4oWnca/4HMrlSow+nN7DEA7N/kaGieGNBYgvGiCGvw3D60elKWNSB1QpGHccgvMorCpEvkiwEFv/IGkKyzBoskyUZUmAiFlpO4LT30fgv34MwQB60kFHwhCO1sAK7f6v9J9oWpg+P6a/HSM5QFp8KCu7v5JW0u6xsYiNLX8oRRGouGAxlQLTwEX8wGBs6+60AKk2TcZky64AdCSM09uD3Zu6BuL094KT4aJrpTDbj41NX7Vh+Jdh+Foxmr2onJYxKdDhSiFmUXHB0mgY0cXSxAgkaeuu/GWsaE4wiH3oTzPWQJz+3sx/OAwD5fagqmtQbjcYJk4kjKpvoO6G2/LW/uTDlZNaE5CAEQVSccECEiCVTgcD2L2HcXq6pkYfPd0MD/Vn/MOhqqox/G1JayDRaaxI9yECL/0QLAttuaLrKLZN1ecvyGOvppga6lBUWxZBrXG0xiF6PXvEceTPv1h0RRMse/fu5bvf/S6RSITGxka++93vsmzZspTXdHV1sWrVKo477jgAli5dylNPPVWI5ooCm9curMmJ6KJ5Tzd2TzdObxd2Tzd6aCDje6uaWszW9qQ1kDYMXxtqSSMqzSl0d1MLSqmU9lSlaU++mRpqUImT80pB2DAYL5VKyqJkzXk1cb785V/+JY8//jinnXYaP/7xj9m9ezdPPPFEymt++tOf8stf/pItW7Ys+OsMDIzhzGN+YDEcVgGvAAAUQElEQVSvqS1mpdDv5F1YuNzoYAAdDOI+/c/BULFdWF3o4SMZ30fV1ads4W362EmMehpRdfVpA6R8aIJKJUrFVPJlV5Xa94JeTZwvoVCIDRs2cNpppwFw6qmn8swzz8x43f79+3nvvfe45JJLqKur48477+TUU0/Nd3NFAWit0eOjOD3dTP7Hc+jJCbRjR3dgxe4BCe35WdrPVUsaMVvbMH1tmK3RBXTla8OorU95XY23nvEiD9XcSF3sL+cIFYVRNCOWOMdxuOGGGzj99NO56aabUp579NFH8Xq9XHHFFbzxxht85zvfYefOnbjdc991LUqD1hp7+Aihro8IHfqI0KFD0d93HcKZow4WlkXNaZ/A1d6Oe9mxuJcdg7ttGWbsHiGRXtBxGIvYBIvrR4EoAibg92T/8zXvwbJr1y62bduW8tjy5cvZvn07oVCITZs2MTw8zD//8z/PeUvl2rVruffeexMjnfmQqbDM8tVvrTV6eChpB1Z3dDG9txsmJ2b/RKXA7cZwuVHV1WBa0V1YoSBGQxN137h1wW2q5O95f/8oQWDMtolU0FYymQrLrGSmwjo6Oujo6Jjx+Pj4ODfccAONjY088cQTaUPl6aefZvXq1TQ1NQHRH05WlgfKRH5px0EfGYgFRzf24UNZljFpmzqF7mvD8LUS+cN7TO74d1BGNFjCIXAcPCu/lL+OlRmtwQ00GyYThmZCtiqLo1A0P5Vvu+02jj/+eLZs2TLrwumbb75JIBDg2muv5de//jWO47B8+fI8t1Skox0HZ6AvsXA+dQ5krjImRjRAWpelBojXj5plxBrdbfWVotuFVS5qki4aC8ruMbEARREsBw4cYPfu3Zx88slcfPHFAPh8Pp588kl++MMf0tvby4YNG7jzzjvZtGkTL730Eh6PhwceeABD7tHOK21HogFyuCtlC6/Tdxgikdk/0TQxva2JHVjRAGnFWOrPuowJRMNFgmTxGBoaDIOgoRiznYqaHhNHr+gW7xebrLFkFu+3joRx+nuTDhDGAqS/B+wMZUwsF6a/NTr6aG3H8MUCpMWX4zImuVfp3/PZaCCgYDxi45TZjwtZY8msZNZYRHHR4RBO7+HYQcIuuo/0MfmnTpyB3sQ23rTc7sQZkPhBQuVrw2heipJRZFlRQHV8e7LjEJDpMTEHCZYKkVzGxOmd2oXlDKaWMZmxnO6pigZI61SAGL42VGOzBEiFMTUsMQyqDMW47RCS6TExCwmWMqMDk0llTKYW0ecsY1Jdg9naTs2xxxFu8k4FSENTmZ9CF9nQGlwoGgyToBmdHpNS/WI6CZYS5UyMR9c+4ovnsTUQPTyU8fOiZUzaYovosTLuvjZUfQNKqYpdZxDZUUDVtFL9ki8iToKlyDljo1ML54kQ6UaPDmf8PLWkIf0aSF19xs8TIhtGrJJyfHtySG6yFEiwFAWtNXp0OHX6KraYrsfHMn6u0diE4W+PVuONV+L1tqFqpIyJyB9LQ6PcZCliJFgWSbqy7tZp/ytWxqQ7toA+tZVXZypjAhjNSzF9rdEiiv622BRWO6qqOk89EmIucpOliJJgWQShA/uY/Mkz0aqxWmMf+hMT/+fx6N3HsfvQ01IqGiDxu0D87ajYoULl9uSr+UIcleSbLMfk7peKJMFyFLTj4Az2T23hPRz7/0N/Aq1n/mWKnyuMlzHxt2H6lyUukoqWMZFKzaI8mBoalCLksiquuGWlk2CZB23bsTpYXan3oc9VxkQplMeD8lSD2422bWqvuWnBZUyEKD0Kt4ZmU4pbVhL56TYH58ggY49ty3wboWVFL5GK1cEKH/htdM3E7UmcAdGhIEZTC2brstnfR4hypaW4ZSWRYJmDDgbQI7GtvS53Uh2sZdG1D28bRos35RS60X5c9OrccAjtckM4hI5EqJKy7qLCxYtbhgyDUZkeK1sSLHMw/e3U3/k9sCOoxpZ5lTGRsu5CzC56eh+aDJOACeORiEyPlRkJlnkwGpqy/hwp6y5EZlPFLS0pbllmpIqgEKKg4sUtG1wmLkPq0pUDGbEIIQouejWywpWYHiu/u18qSdEEy44dO7j//vtpaWkB4POf/zwbN25Mec3IyAi33nornZ2dNDc389BDD+H1egvRXCHEIohPj3ksk3GtCURsmR4rQUUTLPv372fTpk2sXr161tc89NBDrFixgh/84Afs2LGDrVu38tBDD+WxlUKIfDA01KOotkzGtJbiliWmaNZY9u/fz44dO1i7di233norw8Mzq/e+/vrrrFmzBoDVq1fz85//nHCmEilCiJJmoWhUBg0uC1PuBSoZRRMsXq+Xm2++mZdeeom2tja2bNky4zW9vb2JqS/Lsqirq2NwcDDfTRVC5JlHQ7NlUmuZyPp+8cv7VNiuXbvYtm1bymPLly9n+/btiY+//vWvc955583r/Ywsr8dtaamb92u93sq8u6RS+w2V2/dS6nfQcRiN2IRytLjf1FyZV0zMp9/mAt8778HS0dFBR0dHymOjo6Ns376dr371q0D0fhIrTS0tn89Hf38/ra2tRCIRxsbGaGxszOrrDwyM4czjNFal3qRYqf2Gyu17afZbo5ViLGITOYqAaWquZWhwPIftKg3z7bfLNPD7si+MWxRTYTU1NfzLv/wLv/3tbwF45plnOP/882e8buXKlezYsQOAnTt3smLFClwuV17bKoQoBtHilk2WSZ1MjxWdotgVZpomDz30EHfddReBQIATTjiBe++9F4CHH34Yn8/HlVdeyYYNG9i0aROrVq2ivr6e+++/v8AtF0IUkooVt/RYFuNS3LJoKK0r6xSSTIVlVqn9hsrte7n0WykIQlZ3v8hUWGYu0+Bjvoas378opsKEEOJoaU307hdDpscKTYJFCFF2alA0WRZVpoHkS/5JsAghypIZu/ulwWViyfAlryRYhBBlKzo9pmgyTOpdFoac3s8LCRYhRNmLF7dstkyqLVOmxxZZUWw3FkKIfEgpbulIYcvFIiMWIUTFsVA0GiZLTFOKWy4CCRYhRMWqs8xEcUvJl9yRYBFCVDSloTa2Pdljyo/EXJD/ikIIAVgaGpSiwWVhyfDlqMjivRBCJCg8GtyWyYTWTNo286wOI5LIiEUIIaZJnh6T0/vZk2ARQohZTJ3et+T0fhYkWIQQIgMpbpk9CRYhhJinGhTNMj02JwkWIYTIgiHFLeckwSKEEFmS4paZFcV244GBAb72ta8lPh4dHWVoaIi333475XVdXV2sWrWK4447DoClS5fy1FNP5bWt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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] @@ -5322,7 +5385,7 @@ }, { "cell_type": "code", - "execution_count": 482, + "execution_count": 90, "metadata": {}, "outputs": [], "source": [ @@ -5331,12 +5394,12 @@ }, { "cell_type": "code", - "execution_count": 484, + "execution_count": 91, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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brvtNmzevBm/+tWvnA4HAPCDH/wATzzxhNNhzCysaU4sFrMeeOABa8mSJU6HYt10003WyZMnLcuyrB/+8IfWj370I8diuf76662jR49almVZL730kvXoo486FotlWVYoFLL+7u/+zmppabGeeeYZR2Lo6uqyrr/+emtwcNCKRqPWHXfckf77coIDBw5Yt99+u7V8+XLr3LlzjsVhWZa1c+dO64EHHrCSyaSlqqr18MMPW9u3b3csnt27d1sPPvigpWmaFY/Hreuvv95qbW11LB7Lsqxdu3ZZa9eutb7xjW84GsdMY9pnQt///vfxyCOPOB0GAOD111/HokWLoGkauru74ff7HYlDVVV89atfRXNzMwBg6dKl6OzsdCQWmx07dmDBggX4q7/6K8di2LVrF9atW4dAIACPx4PPfe5z2LZtm2Px/Pa3v8Xf//3fo7a21rEYbGpqavDEE09AlmVIkoSmpiZ0dHQ4Fs9VV12Ff/3Xf4Uoiujv74dhGPB4PI7FMzQ0hKeffhqPPvqoYzHMVKa1CO3YsQOJRAKbNm1yOhQAgCRJOH78ODZs2IDdu3dj8+bNjsQhyzLuuusuAIBpmvjJT36Cm266yZFYbO6++278zd/8DQRBcCyGnp4e1NTUpP9cW1uL7u5ux+L57ne/izVr1jh2/kwWL16MVatWAQDOnj2L119/HRs2bHA0JkmS8Mwzz2Dz5s1Yv3496urqHIvlW9/6Fh5//HHHXixnMo6NciiGN954A9/73veyfrZw4UJEIhE899xzUyae5557DkuXLsWuXbvw4osv4vHHH8eLL77oWCyqquKJJ56Aruv44he/OKlxFBKP01h5DOM5jmz5Mzl58iS++MUv4hvf+AYWLFjgdDj4yle+gi984Qt49NFH8dvf/hYPPPDARY/hpZdeQkNDA9avX4+tW7de9PPPdKaFCN1666249dZbs3720ksv4ec//zkeeuih9M/uuusuPP/88/D5fBc9nmQyiTfffDOdcdx55534wQ9+MKlxjBQLAESjUTz22GMIBALYsmULJEma9FhGi2cqUFdXhz179qT/3NPTMyWWwqYKe/fuxVe+8hV885vfdCyLt2ltbYWqqli2bBncbjduueUWHD9+3JFYXn/9dfT29uKuu+5CMBhELBbDk08+iW9+85uOxDPTmBYilI/7778f999/f/rPS5cuxe9//3vH4hFFEf/wD/+A+vp6rFixAm+88QZWr17tWDxf+9rXMH/+fHz729+mt/0UV199NZ599lkMDAzA7XZj+/bt+M53vuN0WFOCzs5OfOlLX8LTTz+N9evXOx0Ozp8/j2eeeQb/9m//BoAtvd97772OxJJZmbd161Z8+OGHJEAlZNqK0FRDEAQ8/fTT+Na3vgXDMFBXV4fvfve7jsRy5MgR7NixA4sWLcLdd98NgO1//OIXv3AknqlCXV0dHn/8cTz88MPQNA333XcfWlpanA5rSvAv//IvSCaT+P73v5/+2YMPPojPf/7zjsSzYcMGHDx4EHfffTcEQcAtt9zieHZGTA40WZUgCIJwjGldHUcQBEFMb0iECIIgCMcgESIIgiAcg0SIIAiCcAwSIYIgCMIxSIQIgiAIxyARIgiCIByDRIggCIJwjP8fWSaTuOAvUsYAAAAASUVORK5CYII=\n", "text/plain": [ "<Figure size 432x432 with 3 Axes>" ] @@ -5352,21 +5415,24 @@ { "cell_type": "markdown", "metadata": { + "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ - "## Task\n", + "## Task 6\n", + "<a name=\"task6\"></a>\n", "\n", "* To your `df` NEST data frame, add a column with the unaccounted time (`Unaccounted Time / s`), which is the difference of program runtime, average neuron build time, minimal edge build time, minimal initialization time, presimulation time, and simulation time. \n", "(*I know this is technically not super correct, but it will do for our example.*)\n", - "* Plot a stacked bar plot of all these columns (except for program runtime) over the virtual processes" + "* Plot a stacked bar plot of all these columns (except for program runtime) over the virtual processes\n", + "* Remember: [pollev.com/aherten538](https://pollev.com/aherten538)" ] }, { "cell_type": "code", - "execution_count": 429, + "execution_count": 92, "metadata": { "exercise": "solution", "slideshow": { @@ -5389,7 +5455,7 @@ }, { "cell_type": "code", - "execution_count": 445, + "execution_count": 93, "metadata": { "exercise": "solution", "slideshow": { @@ -5479,7 +5545,7 @@ "16 0.70 7.95 142.81 " ] }, - "execution_count": 445, + "execution_count": 93, "metadata": {}, "output_type": "execute_result" } @@ -5490,7 +5556,7 @@ }, { "cell_type": "code", - "execution_count": 431, + "execution_count": 94, "metadata": { "exercise": "solution", "slideshow": { @@ -5528,7 +5594,7 @@ }, { "cell_type": "code", - "execution_count": 438, + "execution_count": 95, "metadata": { "slideshow": { "slide_type": "fragment" @@ -5799,7 +5865,7 @@ "1 2 12 1.5 1.5 2.28 " ] }, - "execution_count": 438, + "execution_count": 95, "metadata": {}, "output_type": "execute_result" } @@ -5811,7 +5877,7 @@ }, { "cell_type": "code", - "execution_count": 447, + "execution_count": 96, "metadata": { "slideshow": { "slide_type": "subslide" @@ -5853,7 +5919,7 @@ }, { "cell_type": "code", - "execution_count": 505, + "execution_count": 97, "metadata": {}, "outputs": [ { @@ -6132,7 +6198,7 @@ "[6 rows x 21 columns]" ] }, - "execution_count": 505, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } @@ -6164,7 +6230,7 @@ }, { "cell_type": "code", - "execution_count": 540, + "execution_count": 98, "metadata": { "slideshow": { "slide_type": "subslide" @@ -6177,7 +6243,7 @@ }, { "cell_type": "code", - "execution_count": 544, + "execution_count": 99, "metadata": { "slideshow": { "slide_type": "fragment" @@ -6254,7 +6320,7 @@ " 0.518282 2.952492 NaN" ] }, - "execution_count": 544, + "execution_count": 99, "metadata": {}, "output_type": "execute_result" } @@ -6270,7 +6336,7 @@ }, { "cell_type": "code", - "execution_count": 546, + "execution_count": 100, "metadata": { "slideshow": { "slide_type": "fragment" @@ -6295,21 +6361,24 @@ { "cell_type": "markdown", "metadata": { + "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ - "## Task\n", + "## Task 7\n", + "<a name=\"task7\"></a>\n", "\n", "* Create a pivot table based on the NEST `df` data frame\n", "* Let the `x` axis show the number of nodes; display the values of the simulation time `\"Sim. Time / s\"` for the tasks per node and threas per task configurations\n", - "* Please plot a bar plot" + "* Please plot a bar plot\n", + "* Done? [pollev.com/aherten538](https://pollev.com/aherten538)" ] }, { "cell_type": "code", - "execution_count": 555, + "execution_count": 101, "metadata": { "exercise": "solution", "slideshow": { @@ -6339,11 +6408,14 @@ { "cell_type": "markdown", "metadata": { + "exercise": "task", "slideshow": { "slide_type": "fragment" } }, "source": [ + "<a name=\"taskb\"></a>\n", + "\n", "* Bonus task\n", " - Use `Sim. Time / s` and `Presim. Time / s` as values to show\n", " - Show a stack of those two values inside the pivot table" @@ -6357,7 +6429,23 @@ } }, "source": [ - "## The End" + "## The End\n", + "\n", + "* Pandas works on data frames\n", + "* Slice frames to your likings\n", + "* Plot frames\n", + " - Together with Matplotlib, Seaborn, others\n", + "* Pivot tables are next level greatness\n", + "* Thanks for being here! 😍" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "exercise": "task" + }, + "source": [ + "<span class=\"feedback\">Tell me what you think about this tutorial! <a href=\"mailto:a.herten@fz-juelich.de\">a.herten@fz-juelich.de</a></span>" ] } ], diff --git a/Introduction-to-Pandas--slides.html b/Introduction-to-Pandas--slides.html new file mode 100644 index 0000000000000000000000000000000000000000..8486c206cf3a00f415f91a73473c5818c5867434 --- /dev/null +++ b/Introduction-to-Pandas--slides.html @@ -0,0 +1,20164 @@ + +<!DOCTYPE html> +<html> +<head> + +<meta charset="utf-8" /> +<meta http-equiv="X-UA-Compatible" content="chrome=1" /> + +<meta name="apple-mobile-web-app-capable" content="yes" /> +<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> + + +<title>Introduction-to-Pandas--slides slides</title> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<!-- General and theme style sheets --> +<link rel="stylesheet" href="reveal.js/css/reveal.css"> +<link rel="stylesheet" href="reveal.js/css/theme/simple.css" id="theme"> + +<!-- If the query includes 'print-pdf', include the PDF print sheet --> +<script> +if( window.location.search.match( /print-pdf/gi ) ) { + var link = document.createElement( 'link' ); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = 'reveal.js/css/print/pdf.css'; + document.getElementsByTagName( 'head' )[0].appendChild( link ); +} + +</script> + +<!--[if lt IE 9]> +<script src="reveal.js/lib/js/html5shiv.js"></script> +<![endif]--> + +<!-- Loading the mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --> + +<!-- Get Font-awesome from cdn --> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css"> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: all 0.2s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, + transition: all 0.2s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + width: 1280, + height: 720, + center: false, + controls: false, + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + width: 1280, + height: 720, + center: false, + controls: false, +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: opacity 0.15s linear; + width: 1280, + height: 720, + center: false, + controls: false, + transition: opacity 0.15s linear; + width: 1280, + height: 720, + center: false, + controls: false, +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + width: 1280, + height: 720, + center: false, + controls: false, + transition-property: height, visibility; + width: 1280, + height: 720, + center: false, + controls: false, + -webkit-transition-duration: 0.35s; + width: 1280, + height: 720, + center: false, + controls: false, + transition-duration: 0.35s; + width: 1280, + height: 720, + center: false, + controls: false, + -webkit-transition-timing-function: ease; + width: 1280, + height: 720, + center: false, + controls: false, + transition-timing-function: ease; + width: 1280, + height: 720, + center: false, + controls: false, +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: border 0.2s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, + transition: border 0.2s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: width 0.6s ease; + width: 1280, + height: 720, + center: false, + controls: false, + transition: width 0.6s ease; + width: 1280, + height: 720, + center: false, + controls: false, +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + width: 1280, + height: 720, + center: false, + controls: false, + -moz-transition: -moz-transform 0.3s ease-out; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: -o-transform 0.3s ease-out; + width: 1280, + height: 720, + center: false, + controls: false, + transition: transform 0.3s ease-out; + width: 1280, + height: 720, + center: false, + controls: false, +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: 0.6s ease-in-out left; + width: 1280, + height: 720, + center: false, + controls: false, + transition: 0.6s ease-in-out left; + width: 1280, + height: 720, + center: false, + controls: false, +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, + -moz-transition: -moz-transform 0.6s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: -o-transform 0.6s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, + transition: transform 0.6s ease-in-out; + width: 1280, + height: 720, + center: false, + controls: false, + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +div.traceback-wrapper pre.traceback { + max-height: 600px; + overflow: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + display: flex; + flex-direction: row; + justify-content: space-between; + padding: 5px; + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +[dir="rtl"] #ipython_notebook { + margin-right: 10px; + margin-left: 0; +} +[dir="rtl"] #ipython_notebook.pull-left { + float: right !important; + float: right; +} +.flex-spacer { + flex: 1; +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#kernel_logo_widget { + margin: 0 10px; +} +span#login_widget { + float: right; +} +[dir="rtl"] span#login_widget { + float: left; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +.modal-header { + cursor: move; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +[dir="rtl"] .center-nav form.pull-left { + float: right !important; + float: right; +} +[dir="rtl"] .center-nav .navbar-text { + float: right; +} +[dir="rtl"] .navbar-inner { + text-align: right; +} +[dir="rtl"] div.text-left { + text-align: right; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + position: absolute; + display: block; + width: 100%; + height: 100%; + overflow: hidden; + cursor: pointer; + opacity: 0; + z-index: 2; +} +.alternate_upload .btn-xs > input.fileinput { + margin: -1px -5px; +} +.alternate_upload .btn-upload { + position: relative; + height: 22px; +} +::-webkit-file-upload-button { + cursor: pointer; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +ul#tabs { + margin-bottom: 4px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +[dir="rtl"] ul#tabs.nav-tabs > li { + float: right; +} +[dir="rtl"] ul#tabs.nav.nav-tabs { + padding-right: 0; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +[dir="rtl"] .list_toolbar .tree-buttons .pull-right { + float: left !important; + float: left; +} +[dir="rtl"] .list_toolbar .col-sm-4, +[dir="rtl"] .list_toolbar .col-sm-8 { + float: right; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: text-bottom; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +[dir="rtl"] .list_item > div input { + margin-right: 0; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_modified { + margin-right: 7px; + margin-left: 7px; +} +[dir="rtl"] .item_modified.pull-right { + float: left !important; + float: left; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +[dir="rtl"] .item_buttons.pull-right { + float: left !important; + float: left; +} +[dir="rtl"] .item_buttons .kernel-name { + margin-left: 7px; + float: right; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +.sort_button { + display: inline-block; + padding-left: 7px; +} +[dir="rtl"] .sort_button.pull-right { + float: left !important; + float: left; +} +#tree-selector { + padding-right: 0px; +} +#button-select-all { + min-width: 50px; +} +[dir="rtl"] #button-select-all.btn { + float: right ; +} +#select-all { + margin-left: 7px; + margin-right: 2px; + margin-top: 2px; + height: 16px; +} +[dir="rtl"] #select-all.pull-left { + float: right !important; + float: right; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.fa-pull-left { + margin-right: .3em; +} +.folder_icon:before.fa-pull-right { + margin-left: .3em; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.fa-pull-left { + margin-right: .3em; +} +.notebook_icon:before.fa-pull-right { + margin-left: .3em; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.fa-pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.fa-pull-right { + margin-left: .3em; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.fa-pull-left { + margin-right: .3em; +} +.file_icon:before.fa-pull-right { + margin-left: .3em; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +#new-menu .dropdown-header { + font-size: 10px; + border-bottom: 1px solid #e5e5e5; + padding: 0 0 3px; + margin: -3px 20px 0; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.move-button { + display: none; +} +.download-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.fa-pull-left { + margin-right: .3em; +} +.dirty-indicator.fa-pull-right { + margin-left: .3em; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.fa-pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.fa-pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.fa-pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.fa-pull-right { + margin-left: .3em; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.fa-pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.fa-pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +.CodeMirror-dialog { + background-color: #fff; +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI escape sequences */ +/* The color values are a mix of + http://www.xcolors.net/dl/baskerville-ivorylight and + http://www.xcolors.net/dl/euphrasia */ +.ansi-black-fg { + color: #3E424D; +} +.ansi-black-bg { + background-color: #3E424D; +} +.ansi-black-intense-fg { + color: #282C36; +} +.ansi-black-intense-bg { + background-color: #282C36; +} +.ansi-red-fg { + color: #E75C58; +} +.ansi-red-bg { + background-color: #E75C58; +} +.ansi-red-intense-fg { + color: #B22B31; +} +.ansi-red-intense-bg { + background-color: #B22B31; +} +.ansi-green-fg { + color: #00A250; +} +.ansi-green-bg { + background-color: #00A250; +} +.ansi-green-intense-fg { + color: #007427; +} +.ansi-green-intense-bg { + background-color: #007427; +} +.ansi-yellow-fg { + color: #DDB62B; +} +.ansi-yellow-bg { + background-color: #DDB62B; +} +.ansi-yellow-intense-fg { + color: #B27D12; +} +.ansi-yellow-intense-bg { + background-color: #B27D12; +} +.ansi-blue-fg { + color: #208FFB; +} +.ansi-blue-bg { + background-color: #208FFB; +} +.ansi-blue-intense-fg { + color: #0065CA; +} +.ansi-blue-intense-bg { + background-color: #0065CA; +} +.ansi-magenta-fg { + color: #D160C4; +} +.ansi-magenta-bg { + background-color: #D160C4; +} +.ansi-magenta-intense-fg { + color: #A03196; +} +.ansi-magenta-intense-bg { + background-color: #A03196; +} +.ansi-cyan-fg { + color: #60C6C8; +} +.ansi-cyan-bg { + background-color: #60C6C8; +} +.ansi-cyan-intense-fg { + color: #258F8F; +} +.ansi-cyan-intense-bg { + background-color: #258F8F; +} +.ansi-white-fg { + color: #C5C1B4; +} +.ansi-white-bg { + background-color: #C5C1B4; +} +.ansi-white-intense-fg { + color: #A1A6B2; +} +.ansi-white-intense-bg { + background-color: #A1A6B2; +} +.ansi-default-inverse-fg { + color: #FFFFFF; +} +.ansi-default-inverse-bg { + background-color: #000000; +} +.ansi-bold { + font-weight: bold; +} +.ansi-underline { + text-decoration: underline; +} +/* The following styles are deprecated an will be removed in a future version */ +.ansibold { + font-weight: bold; +} +.ansi-inverse { + outline: 0.5px dotted; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + position: relative; + overflow: visible; +} +div.cell:before { + position: absolute; + display: block; + top: -1px; + left: -1px; + width: 5px; + height: calc(100% + 2px); + content: ''; + background: transparent; +} +div.cell.jupyter-soft-selected { + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected, +div.cell.selected.jupyter-soft-selected { + border-color: #ababab; +} +div.cell.selected:before, +div.cell.selected.jupyter-soft-selected:before { + position: absolute; + display: block; + top: -1px; + left: -1px; + width: 5px; + height: calc(100% + 2px); + content: ''; + background: #42A5F5; +} +@media print { + div.cell.selected, + div.cell.selected.jupyter-soft-selected { + border-color: transparent; + } +} +.edit_mode div.cell.selected { + border-color: #66BB6A; +} +.edit_mode div.cell.selected:before { + position: absolute; + display: block; + top: -1px; + left: -1px; + width: 5px; + height: calc(100% + 2px); + content: ''; + background: #66BB6A; +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + min-width: 0; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + /* Note that this should set vertical padding only, since CodeMirror assumes + that horizontal padding will be set on CodeMirror pre */ + padding: 0.4em 0; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. This sets horizontal padding only, + use .CodeMirror-lines for vertical */ + padding: 0 0.4em; + border: 0; + border-radius: 0; +} +.CodeMirror-cursor { + border-left: 1.4px solid black; +} +@media screen and (min-width: 2138px) and (max-width: 4319px) { + .CodeMirror-cursor { + border-left: 2px solid black; + } +} +@media screen and (min-width: 4320px) { + .CodeMirror-cursor { + border-left: 4px solid black; + } +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +div.output_area .mglyph > img { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 1px 0 1px 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul:not(.list-inline), +.rendered_html ol:not(.list-inline) { + padding-left: 2em; +} +.rendered_html ul { + list-style: disc; +} +.rendered_html ul ul { + list-style: square; + margin-top: 0; +} +.rendered_html ul ul ul { + list-style: circle; +} +.rendered_html ol { + list-style: decimal; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin-top: 0; +} +.rendered_html ol ol ol { + list-style: lower-alpha; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; + padding: 0px; + background-color: #fff; +} +.rendered_html code { + background-color: #eff0f1; +} +.rendered_html p code { + padding: 1px 5px; +} +.rendered_html pre code { + background-color: #fff; +} +.rendered_html pre, +.rendered_html code { + border: 0; + color: #000; + font-size: 100%; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: none; + border-collapse: collapse; + border-spacing: 0; + color: black; + font-size: 12px; + table-layout: fixed; +} +.rendered_html thead { + border-bottom: 1px solid black; + vertical-align: bottom; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + text-align: right; + vertical-align: middle; + padding: 0.5em 0.5em; + line-height: normal; + white-space: normal; + max-width: none; + border: none; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html tbody tr:nth-child(odd) { + background: #f5f5f5; +} +.rendered_html tbody tr:hover { + background: rgba(66, 165, 245, 0.2); +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +.rendered_html .alert { + margin-bottom: initial; +} +.rendered_html * + .alert { + margin-top: 1em; +} +[dir="rtl"] .rendered_html p { + text-align: right; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.rendered .rendered_html tr, +.text_cell.rendered .rendered_html th, +.text_cell.rendered .rendered_html td { + max-width: none; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.text_cell .dropzone .input_area { + border: 2px dashed #bababa; + margin: -1px; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; + width: 1280, + height: 720, + center: false, + controls: false, +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +.jupyter-keybindings { + padding: 1px; + line-height: 24px; + border-bottom: 1px solid gray; +} +.jupyter-keybindings input { + margin: 0; + padding: 0; + border: none; +} +.jupyter-keybindings i { + padding: 6px; +} +.well code { + background-color: #ffffff; + border-color: #ababab; + border-width: 1px; + border-style: solid; + padding: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + width: 1280, + height: 720, + center: false, + controls: false, + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + width: 1280, + height: 720, + center: false, + controls: false, + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.tags_button_container { + width: 100%; + display: flex; +} +.tag-container { + display: flex; + flex-direction: row; + flex-grow: 1; + overflow: hidden; + position: relative; +} +.tag-container > * { + margin: 0 4px; +} +.remove-tag-btn { + margin-left: 4px; +} +.tags-input { + display: flex; +} +.cell-tag:last-child:after { + content: ""; + position: absolute; + right: 0; + width: 40px; + height: 100%; + /* Fade to background color of cell toolbar */ + background: linear-gradient(to right, rgba(0, 0, 0, 0), #EEE); +} +.tags-input > * { + margin-left: 4px; +} +.cell-tag, +.tags-input input, +.tags-input button { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + width: 1280, + height: 720, + center: false, + controls: false, + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + width: 1280, + height: 720, + center: false, + controls: false, + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + width: 1280, + height: 720, + center: false, + controls: false, + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + box-shadow: none; + width: inherit; + font-size: inherit; + height: 22px; + line-height: 22px; + padding: 0px 4px; + display: inline-block; +} +.cell-tag:focus, +.tags-input input:focus, +.tags-input button:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.cell-tag::-moz-placeholder, +.tags-input input::-moz-placeholder, +.tags-input button::-moz-placeholder { + color: #999; + opacity: 1; +} +.cell-tag:-ms-input-placeholder, +.tags-input input:-ms-input-placeholder, +.tags-input button:-ms-input-placeholder { + color: #999; +} +.cell-tag::-webkit-input-placeholder, +.tags-input input::-webkit-input-placeholder, +.tags-input button::-webkit-input-placeholder { + color: #999; +} +.cell-tag::-ms-expand, +.tags-input input::-ms-expand, +.tags-input button::-ms-expand { + border: 0; + background-color: transparent; +} +.cell-tag[disabled], +.tags-input input[disabled], +.tags-input button[disabled], +.cell-tag[readonly], +.tags-input input[readonly], +.tags-input button[readonly], +fieldset[disabled] .cell-tag, +fieldset[disabled] .tags-input input, +fieldset[disabled] .tags-input button { + background-color: #eeeeee; + opacity: 1; +} +.cell-tag[disabled], +.tags-input input[disabled], +.tags-input button[disabled], +fieldset[disabled] .cell-tag, +fieldset[disabled] .tags-input input, +fieldset[disabled] .tags-input button { + cursor: not-allowed; +} +textarea.cell-tag, +textarea.tags-input input, +textarea.tags-input button { + height: auto; +} +select.cell-tag, +select.tags-input input, +select.tags-input button { + height: 30px; + line-height: 30px; +} +textarea.cell-tag, +textarea.tags-input input, +textarea.tags-input button, +select[multiple].cell-tag, +select[multiple].tags-input input, +select[multiple].tags-input button { + height: auto; +} +.cell-tag, +.tags-input button { + padding: 0px 4px; +} +.cell-tag { + background-color: #fff; + white-space: nowrap; +} +.tags-input input[type=text]:focus { + outline: none; + box-shadow: none; + border-color: #ccc; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +[dir="rtl"] #kernel_logo_widget { + float: left !important; + float: left; +} +.modal .modal-body .move-path { + display: flex; + flex-direction: row; + justify-content: space; + align-items: center; +} +.modal .modal-body .move-path .server-root { + padding-right: 20px; +} +.modal .modal-body .move-path .path-input { + flex: 1; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +[dir="rtl"] #menubar .navbar-toggle { + float: right; +} +[dir="rtl"] #menubar .navbar-collapse { + clear: right; +} +[dir="rtl"] #menubar .navbar-nav { + float: right; +} +[dir="rtl"] #menubar .nav { + padding-right: 0px; +} +[dir="rtl"] #menubar .navbar-nav > li { + float: right; +} +[dir="rtl"] #menubar .navbar-right { + float: left !important; +} +[dir="rtl"] ul.dropdown-menu { + text-align: right; + left: auto; +} +[dir="rtl"] ul#new-menu.dropdown-menu { + right: auto; + left: 0; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +[dir="rtl"] i.menu-icon.pull-right { + float: left !important; + float: left; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +[dir="rtl"] ul#help_menu li a { + padding-left: 2.2em; +} +[dir="rtl"] ul#help_menu li a i { + margin-right: 0; + margin-left: -1.2em; +} +[dir="rtl"] ul#help_menu li a i.pull-right { + float: left !important; + float: left; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +[dir="rtl"] .dropdown-submenu > .dropdown-menu { + right: 100%; + margin-right: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.fa-pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.fa-pull-right { + margin-left: .3em; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +[dir="rtl"] .dropdown-submenu > a:after { + float: left; + content: "\f0d9"; + margin-right: 0; + margin-left: -10px; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +[dir="rtl"] #notification_area { + float: left !important; + float: left; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +[dir="rtl"] .indicator_area { + float: left !important; + float: left; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +[dir="rtl"] #kernel_indicator { + float: left !important; + float: left; + border-left: 0; + border-right: 1px solid; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +[dir="rtl"] #modal_indicator { + float: left !important; + float: left; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.fa-pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.fa-pull-right { + margin-left: .3em; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.fa-pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.fa-pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.fa-pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.fa-pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.fa-pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.fa-pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.fa-pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.fa-pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.fa-pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.fa-pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 21ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + height: 30px; + margin-top: 4px; + display: flex; + justify-content: flex-start; + align-items: baseline; + width: 50%; + flex: 1; +} +span.save_widget span.filename { + height: 100%; + line-height: 1em; + margin-left: 16px; + border: none; + font-size: 146.5%; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +[dir="rtl"] span.save_widget.pull-left { + float: right !important; + float: right; +} +[dir="rtl"] span.save_widget span.filename { + margin-left: 0; + margin-right: 16px; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; + white-space: nowrap; + padding: 0 5px; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + padding: 0 0 0 5px; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +.toolbar-btn-label { + margin-left: 6px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +[dir="rtl"] .btn-group > .btn, +.btn-group-vertical > .btn { + float: right; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + width: 1280, + height: 720, + center: false, + controls: false, + -webkit-transition-duration: 500ms; + width: 1280, + height: 720, + center: false, + controls: false, + -moz-transition-property: height; + width: 1280, + height: 720, + center: false, + controls: false, + -moz-transition-duration: 500ms; + width: 1280, + height: 720, + center: false, + controls: false, + transition-property: height; + width: 1280, + height: 720, + center: false, + controls: false, + transition-duration: 500ms; + width: 1280, + height: 720, + center: false, + controls: false, +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + width: 1280, + height: 720, + center: false, + controls: false, + -webkit-transition-duration: 500ms; + width: 1280, + height: 720, + center: false, + controls: false, + -moz-transition-property: height; + width: 1280, + height: 720, + center: false, + controls: false, + -moz-transition-duration: 500ms; + width: 1280, + height: 720, + center: false, + controls: false, + transition-property: height; + width: 1280, + height: 720, + center: false, + controls: false, + transition-duration: 500ms; + width: 1280, + height: 720, + center: false, + controls: false, + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +[dir="rtl"] ul.typeahead-list i { + margin-left: 0; + margin-right: -10px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +ul.typeahead-list > li > a.pull-right { + float: left !important; + float: left; +} +[dir="rtl"] .typeahead-list { + text-align: right; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + min-width: 20px; + color: transparent; +} +[dir="rtl"] .no-shortcut.pull-right { + float: left !important; + float: left; +} +[dir="rtl"] .command-shortcut.pull-right { + float: left !important; + float: left; +} +.command-shortcut:before { + content: "(command mode)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +[dir="rtl"] .edit-shortcut.pull-right { + float: left !important; + float: left; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +[dir="ltr"] #find-and-replace .input-group-btn + .form-control { + border-left: none; +} +[dir="rtl"] #find-and-replace .input-group-btn + .form-control { + border-right: none; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + width: 100%; + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal .xterm-rows { + padding: 10px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +.reveal { + font-size: 160%; +} +.reveal pre { + width: inherit; + padding: 0.4em; + margin: 0px; + font-family: monospace, sans-serif; + font-size: 80%; + box-shadow: 0px 0px 0px rgba(0, 0, 0, 0); +} +.reveal pre code { + padding: 0px; +} +.reveal section img { + border: 0px solid black; + box-shadow: 0 0 10px rgba(0, 0, 0, 0); +} +.reveal i { + font-style: normal; + font-family: FontAwesome; + font-size: 2em; +} +.reveal .slides { + text-align: left; +} +.reveal.fade { + opacity: 1; +} +.reveal .progress { + position: static; +} +.reveal .controls .navigate-left, +.reveal .controls .navigate-left.enabled { + border-right-color: #727272; +} +.reveal .controls .navigate-left.enabled:hover, +.reveal .controls .navigate-left.enabled.enabled:hover { + border-right-color: #dfdfdf; +} +.reveal .controls .navigate-right, +.reveal .controls .navigate-right.enabled { + border-left-color: #727272; +} +.reveal .controls .navigate-right.enabled:hover, +.reveal .controls .navigate-right.enabled.enabled:hover { + border-left-color: #dfdfdf; +} +.reveal .controls .navigate-up, +.reveal .controls .navigate-up.enabled { + border-bottom-color: #727272; +} +.reveal .controls .navigate-up.enabled:hover, +.reveal .controls .navigate-up.enabled.enabled:hover { + border-bottom-color: #dfdfdf; +} +.reveal .controls .navigate-down, +.reveal .controls .navigate-down.enabled { + border-top-color: #727272; +} +.reveal .controls .navigate-down.enabled:hover, +.reveal .controls .navigate-down.enabled.enabled:hover { + border-top-color: #dfdfdf; +} +.reveal .progress span { + background: #727272; +} +div.input_area { + padding: 0.06em; +} +div.code_cell { + background-color: transparent; +} +div.prompt { + width: 11ex; + padding: 0.4em; + margin: 0px; + font-family: monospace, sans-serif; + font-size: 80%; + text-align: right; +} +div.output_area pre { + font-family: monospace, sans-serif; + font-size: 80%; +} +div.output_prompt { + /* 5px right shift to account for margin in parent container */ + margin: 5px 5px 0 0; +} +div.text_cell.rendered .rendered_html { + /* The H1 height seems miscalculated, we are just hidding the scrollbar */ + overflow-y: hidden; +} +a.anchor-link { + /* There is still an anchor, we are only hidding it */ + display: none; +} +.rendered_html p { + text-align: inherit; +} +::-webkit-scrollbar +{ + width: 6px; + height: 6px; +} +::-webkit-scrollbar * +{ + background:transparent; +} +::-webkit-scrollbar-thumb +{ + background: #727272 !important; +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +</head> + + +<body> + + +<div class="reveal"> +<div class="slides"> +<section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Introduction-to-Data-Analysis-and-Plotting-with-Pandas"><em>Introduction to</em> Data Analysis and Plotting with Pandas<a class="anchor-link" href="#Introduction-to-Data-Analysis-and-Plotting-with-Pandas">¶</a></h1><h2 id="JSC-Tutorial">JSC Tutorial<a class="anchor-link" href="#JSC-Tutorial">¶</a></h2><p>Andreas Herten, Forschungszentrum Jülich, 26 February 2019</p> + +</div> +</div> +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="My-Motivation">My Motivation<a class="anchor-link" href="#My-Motivation">¶</a></h2><ul> +<li>I like Python</li> +<li>I like plotting data</li> +<li>I like sharing</li> +<li>I think Pandas is awesome and you should use it too</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Outline">Outline<a class="anchor-link" href="#Outline">¶</a></h2><ul> +<li><a href="#task1">Task 1</a></li> +<li><a href="#task2">Task 2</a></li> +<li><a href="#task3">Task 3</a></li> +<li><a href="#task4">Task 4</a></li> +<li><a href="#task5">Task 5</a></li> +<li><a href="#task6">Task 6</a></li> +<li><a href="#task7">Task 7</a></li> +<li><a href="#taskb">Bonus Task</a></li> +</ul> + +</div> +</div> +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Tutorial-Setup">Tutorial Setup<a class="anchor-link" href="#Tutorial-Setup">¶</a></h2><ul> +<li>60 minutes (we might do this again for some advanced stuff if you want to)</li> +<li>Alternating between lecture and hands-on</li> +<li>Please give status via <strong><a href="https://pollev.com/aherten538">pollev.com/aherten538</a></strong></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Please open Jupyter Notebook of this session<ul> +<li>… either on your <strong>local machine</strong> (which has Pandas)</li> +<li>… or on the <strong>JSC Jupyter service</strong> at <a href="https://jupyter-jsc.fz-juelich.de/">https://jupyter-jsc.fz-juelich.de/</a><ul> +<li>Either <code>pip install --user pandas seaborn</code> once in a shell and <code>cp $PROJECT_cjsc/herten1/pandas/notebook.ipynb ~/</code></li> +<li>Or <ol> +<li><code>ln -s $PROJECT_cjsc/herten1/pandas ~/.local/share/jupyter/kernels/</code> and </li> +<li><code>cp $PROJECT_cjsc/herten1/pandas/notebook-with-kernel.ipynb ~/</code></li> +</ol> +</li> +</ul> +</li> +</ul> +</li> +</ul> + +</div> +</div> +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="About-Pandas">About Pandas<a class="anchor-link" href="#About-Pandas">¶</a></h2><p><img style="float: right; max-width: 200px;" width="200px" src="img/adorable-animal-animal-photography-1661535.jpg" /></p> +<ul> +<li>Python package (Python 2, Python 3)</li> +<li>For data analysis</li> +<li>With data structures (multi-dimensional table; time series), operations</li> +<li>Name from »<strong>Pan</strong>el <strong>Da</strong>ta« (multi-dimensional time series in economics)</li> +<li>Since 2008</li> +<li><a href="https://pandas.pydata.org/">https://pandas.pydata.org/</a></li> +<li>Install <a href="https://pypi.org/project/pandas/">via PyPI</a>: <code>pip install pandas</code></li> +</ul> + +</div> +</div> +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Pandas-Cohabitation">Pandas Cohabitation<a class="anchor-link" href="#Pandas-Cohabitation">¶</a></h2><ul> +<li>Pandas works great together with other established Python tools<ul> +<li><a href="https://jupyter.org/">Jupyter Notebooks</a></li> +<li>Plotting with <a href="https://matplotlib.org/"><code>matplotlib</code></a></li> +<li>Modelling with <a href="https://www.statsmodels.org/stable/index.html"><code>statsmodels</code></a>, <a href="https://scikit-learn.org/"><code>scikit-learn</code></a></li> +<li>Nicer plots with <a href="https://seaborn.pydata.org/"><code>seaborn</code></a>, <a href="https://altair-viz.github.io/"><code>altair</code></a>, <a href="https://plot.ly/"><code>plotly</code></a></li> +</ul> +</li> +</ul> + +</div> +</div> +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="First-Steps">First Steps<a class="anchor-link" href="#First-Steps">¶</a></h2> +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [1]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> +</pre></div> + + </div> +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [2]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span> +</pre></div> + + </div> +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [3]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pd</span><span class="o">.</span><span class="n">__version__</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[3]:</div> + + + + +<div class="output_text output_subarea output_execute_result"> +<pre>'0.24.1'</pre> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [4]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="o">%</span><span class="k">pdoc</span> pd +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_text output_subarea "> +<pre><span class="ansi-red-fg">Class docstring:</span> + pandas - a powerful data analysis and manipulation library for Python + ===================================================================== + + **pandas** is a Python package providing fast, flexible, and expressive data + structures designed to make working with "relational" or "labeled" data both + easy and intuitive. It aims to be the fundamental high-level building block for + doing practical, **real world** data analysis in Python. Additionally, it has + the broader goal of becoming **the most powerful and flexible open source data + analysis / manipulation tool available in any language**. It is already well on + its way toward this goal. + + Main Features + ------------- + Here are just a few of the things that pandas does well: + + - Easy handling of missing data in floating point as well as non-floating + point data. + - Size mutability: columns can be inserted and deleted from DataFrame and + higher dimensional objects + - Automatic and explicit data alignment: objects can be explicitly aligned + to a set of labels, or the user can simply ignore the labels and let + `Series`, `DataFrame`, etc. automatically align the data for you in + computations. + - Powerful, flexible group by functionality to perform split-apply-combine + operations on data sets, for both aggregating and transforming data. + - Make it easy to convert ragged, differently-indexed data in other Python + and NumPy data structures into DataFrame objects. + - Intelligent label-based slicing, fancy indexing, and subsetting of large + data sets. + - Intuitive merging and joining data sets. + - Flexible reshaping and pivoting of data sets. + - Hierarchical labeling of axes (possible to have multiple labels per tick). + - Robust IO tools for loading data from flat files (CSV and delimited), + Excel files, databases, and saving/loading data from the ultrafast HDF5 + format. + - Time series-specific functionality: date range generation and frequency + conversion, moving window statistics, moving window linear regressions, + date shifting and lagging, etc.</pre> +</div> + +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="DataFrames">DataFrames<a class="anchor-link" href="#DataFrames">¶</a></h2><h3 id="It's-all-about-DataFrames">It's all about DataFrames<a class="anchor-link" href="#It's-all-about-DataFrames">¶</a></h3><ul> +<li>Main data containers of Pandas<ul> +<li>Linear: <code>Series</code></li> +<li>Multi Dimension: <code>DataFrame</code></li> +</ul> +</li> +<li><code>Series</code> is <em>only</em> special case of <code>DataFrame</code></li> +<li>→ Talk about <code>DataFrame</code>s, mention some special <code>Series</code> cases</li> +</ul> + +</div> +</div> +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="DataFrames">DataFrames<a class="anchor-link" href="#DataFrames">¶</a></h2><h3 id="Construction">Construction<a class="anchor-link" href="#Construction">¶</a></h3><ul> +<li>To show features of <code>DataFrame</code>, let's construct one!</li> +<li>Many construction possibilities<ul> +<li>From lists, dictionaries, <code>numpy</code> objects</li> +<li>From CSV, HDF5, JSON, Excel, HTML, fixed-width files</li> +<li>From pickled Pandas data</li> +<li>From clipboard</li> +<li><em>From Feather, Parquest, SAS, SQL, Google BigQuery, STATA</em></li> +</ul> +</li> +</ul> + +</div> +</div> +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="DataFrames">DataFrames<a class="anchor-link" href="#DataFrames">¶</a></h2><h3 id="Examples,-finally">Examples, finally<a class="anchor-link" href="#Examples,-finally">¶</a></h3> +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [5]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">ages</span> <span class="o">=</span> <span class="p">[</span><span class="mi">41</span><span class="p">,</span> <span class="mi">56</span><span class="p">,</span> <span class="mi">56</span><span class="p">,</span> <span class="mi">57</span><span class="p">,</span> <span class="mi">39</span><span class="p">,</span> <span class="mi">59</span><span class="p">,</span> <span class="mi">43</span><span class="p">,</span> <span class="mi">56</span><span class="p">,</span> <span class="mi">38</span><span class="p">,</span> <span class="mi">60</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [6]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">ages</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[6]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>0</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>41</td> + </tr> + <tr> + <th>1</th> + <td>56</td> + </tr> + <tr> + <th>2</th> + <td>56</td> + </tr> + <tr> + <th>3</th> + <td>57</td> + </tr> + <tr> + <th>4</th> + <td>39</td> + </tr> + <tr> + <th>5</th> + <td>59</td> + </tr> + <tr> + <th>6</th> + <td>43</td> + </tr> + <tr> + <th>7</th> + <td>56</td> + </tr> + <tr> + <th>8</th> + <td>38</td> + </tr> + <tr> + <th>9</th> + <td>60</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [7]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_ages</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">ages</span><span class="p">)</span> +<span class="n">df_ages</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[7]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>0</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>41</td> + </tr> + <tr> + <th>1</th> + <td>56</td> + </tr> + <tr> + <th>2</th> + <td>56</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Let's add names to ages; put everything into a <code>dict()</code></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [8]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">data</span> <span class="o">=</span> <span class="p">{</span> + <span class="s2">"Names"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"Liu"</span><span class="p">,</span> <span class="s2">"Rowland"</span><span class="p">,</span> <span class="s2">"Rivers"</span><span class="p">,</span> <span class="s2">"Waters"</span><span class="p">,</span> <span class="s2">"Rice"</span><span class="p">,</span> <span class="s2">"Fields"</span><span class="p">,</span> <span class="s2">"Kerr"</span><span class="p">,</span> <span class="s2">"Romero"</span><span class="p">,</span> <span class="s2">"Davis"</span><span class="p">,</span> <span class="s2">"Hall"</span><span class="p">],</span> + <span class="s2">"Ages"</span><span class="p">:</span> <span class="n">ages</span> +<span class="p">}</span> +<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + +<div class="output_subarea output_stream output_stdout output_text"> +<pre>{'Names': ['Liu', 'Rowland', 'Rivers', 'Waters', 'Rice', 'Fields', 'Kerr', 'Romero', 'Davis', 'Hall'], 'Ages': [41, 56, 56, 57, 39, 59, 43, 56, 38, 60]} +</pre> +</div> +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [9]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> +<span class="n">df_sample</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[9]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Names</th> + <th>Ages</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>Liu</td> + <td>41</td> + </tr> + <tr> + <th>1</th> + <td>Rowland</td> + <td>56</td> + </tr> + <tr> + <th>2</th> + <td>Rivers</td> + <td>56</td> + </tr> + <tr> + <th>3</th> + <td>Waters</td> + <td>57</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Two columns now; one for names, one for ages</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [10]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span><span class="o">.</span><span class="n">columns</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[10]:</div> + + + + +<div class="output_text output_subarea output_execute_result"> +<pre>Index(['Names', 'Ages'], dtype='object')</pre> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li><code>DataFrame</code> always have indexes; auto-generated or custom</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [11]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span><span class="o">.</span><span class="n">index</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[11]:</div> + + + + +<div class="output_text output_subarea output_execute_result"> +<pre>RangeIndex(start=0, stop=10, step=1)</pre> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Make <code>Names</code> be index with <code>.set_index()</code></li> +<li><code>inplace=True</code> will modifiy the parent frame (<em>I don't like it</em>)</li> +</ul> + +</div> +</div> +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [12]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="s2">"Names"</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> +<span class="n">df_sample</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[12]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Ages</th> + </tr> + <tr> + <th>Names</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>Liu</th> + <td>41</td> + </tr> + <tr> + <th>Rowland</th> + <td>56</td> + </tr> + <tr> + <th>Rivers</th> + <td>56</td> + </tr> + <tr> + <th>Waters</th> + <td>57</td> + </tr> + <tr> + <th>Rice</th> + <td>39</td> + </tr> + <tr> + <th>Fields</th> + <td>59</td> + </tr> + <tr> + <th>Kerr</th> + <td>43</td> + </tr> + <tr> + <th>Romero</th> + <td>56</td> + </tr> + <tr> + <th>Davis</th> + <td>38</td> + </tr> + <tr> + <th>Hall</th> + <td>60</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Some more operations</li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [13]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span><span class="o">.</span><span class="n">describe</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[13]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Ages</th> + </tr> + </thead> + <tbody> + <tr> + <th>count</th> + <td>10.000000</td> + </tr> + <tr> + <th>mean</th> + <td>50.500000</td> + </tr> + <tr> + <th>std</th> + <td>9.009255</td> + </tr> + <tr> + <th>min</th> + <td>38.000000</td> + </tr> + <tr> + <th>25%</th> + <td>41.500000</td> + </tr> + <tr> + <th>50%</th> + <td>56.000000</td> + </tr> + <tr> + <th>75%</th> + <td>56.750000</td> + </tr> + <tr> + <th>max</th> + <td>60.000000</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [14]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span><span class="o">.</span><span class="n">T</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[14]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th>Names</th> + <th>Liu</th> + <th>Rowland</th> + <th>Rivers</th> + <th>Waters</th> + <th>Rice</th> + <th>Fields</th> + <th>Kerr</th> + <th>Romero</th> + <th>Davis</th> + <th>Hall</th> + </tr> + </thead> + <tbody> + <tr> + <th>Ages</th> + <td>41</td> + <td>56</td> + <td>56</td> + <td>57</td> + <td>39</td> + <td>59</td> + <td>43</td> + <td>56</td> + <td>38</td> + <td>60</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [15]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span><span class="o">.</span><span class="n">T</span><span class="o">.</span><span class="n">columns</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[15]:</div> + + + + +<div class="output_text output_subarea output_execute_result"> +<pre>Index(['Liu', 'Rowland', 'Rivers', 'Waters', 'Rice', 'Fields', 'Kerr', + 'Romero', 'Davis', 'Hall'], + dtype='object', name='Names')</pre> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Also: Arithmetic operations</li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [16]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span><span class="o">.</span><span class="n">multiply</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[16]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Ages</th> + </tr> + <tr> + <th>Names</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>Liu</th> + <td>82</td> + </tr> + <tr> + <th>Rowland</th> + <td>112</td> + </tr> + <tr> + <th>Rivers</th> + <td>112</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [17]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span><span class="o">.</span><span class="n">reset_index</span><span class="p">()</span><span class="o">.</span><span class="n">multiply</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[17]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Names</th> + <th>Ages</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>LiuLiu</td> + <td>82</td> + </tr> + <tr> + <th>1</th> + <td>RowlandRowland</td> + <td>112</td> + </tr> + <tr> + <th>2</th> + <td>RiversRivers</td> + <td>112</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [18]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="p">(</span><span class="n">df_sample</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[18]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Ages</th> + </tr> + <tr> + <th>Names</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>Liu</th> + <td>20.5</td> + </tr> + <tr> + <th>Rowland</th> + <td>28.0</td> + </tr> + <tr> + <th>Rivers</th> + <td>28.0</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [19]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="p">(</span><span class="n">df_sample</span> <span class="o">*</span> <span class="n">df_sample</span><span class="p">)</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[19]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Ages</th> + </tr> + <tr> + <th>Names</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>Liu</th> + <td>1681</td> + </tr> + <tr> + <th>Rowland</th> + <td>3136</td> + </tr> + <tr> + <th>Rivers</th> + <td>3136</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Logical operations allowed as well</p> + +</div> +</div> +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [20]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_sample</span> <span class="o">></span> <span class="mi">40</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[20]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Ages</th> + </tr> + <tr> + <th>Names</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>Liu</th> + <td>True</td> + </tr> + <tr> + <th>Rowland</th> + <td>True</td> + </tr> + <tr> + <th>Rivers</th> + <td>True</td> + </tr> + <tr> + <th>Waters</th> + <td>True</td> + </tr> + <tr> + <th>Rice</th> + <td>False</td> + </tr> + <tr> + <th>Fields</th> + <td>True</td> + </tr> + <tr> + <th>Kerr</th> + <td>True</td> + </tr> + <tr> + <th>Romero</th> + <td>True</td> + </tr> + <tr> + <th>Davis</th> + <td>False</td> + </tr> + <tr> + <th>Hall</th> + <td>True</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Task-1">Task 1<a class="anchor-link" href="#Task-1">¶</a></h2><p><a name="task1"></a></p> +<ul> +<li>Create data frame with<ul> +<li>10 names of dinosaurs, </li> +<li>their favourite prime number, </li> +<li>and their favourite color</li> +</ul> +</li> +<li>Play around with the frame</li> +<li>Tell me on poll when you're done: <a href="https://pollev.com/aherten538">pollev.com/aherten538</a></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [21]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">happy_dinos</span> <span class="o">=</span> <span class="p">{</span> + <span class="s2">"Dinosaur Name"</span><span class="p">:</span> <span class="p">[],</span> + <span class="s2">"Favourite Prime"</span><span class="p">:</span> <span class="p">[],</span> + <span class="s2">"Favourite Color"</span><span class="p">:</span> <span class="p">[]</span> +<span class="p">}</span> +<span class="c1">#df_dinos = </span> +</pre></div> + + </div> +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [22]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">happy_dinos</span> <span class="o">=</span> <span class="p">{</span> + <span class="s2">"Dinosaur Name"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"Aegyptosaurus"</span><span class="p">,</span> <span class="s2">"Tyrannosaurus"</span><span class="p">,</span> <span class="s2">"Panoplosaurus"</span><span class="p">,</span> <span class="s2">"Isisaurus"</span><span class="p">,</span> <span class="s2">"Triceratops"</span><span class="p">,</span> <span class="s2">"Velociraptor"</span><span class="p">],</span> + <span class="s2">"Favourite Prime"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"4"</span><span class="p">,</span> <span class="s2">"8"</span><span class="p">,</span> <span class="s2">"15"</span><span class="p">,</span> <span class="s2">"16"</span><span class="p">,</span> <span class="s2">"23"</span><span class="p">,</span> <span class="s2">"42"</span><span class="p">],</span> + <span class="s2">"Favourite Color"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"blue"</span><span class="p">,</span> <span class="s2">"white"</span><span class="p">,</span> <span class="s2">"blue"</span><span class="p">,</span> <span class="s2">"purple"</span><span class="p">,</span> <span class="s2">"violet"</span><span class="p">,</span> <span class="s2">"gray"</span><span class="p">]</span> +<span class="p">}</span> +<span class="n">df_dinos</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">happy_dinos</span><span class="p">)</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="s2">"Dinosaur Name"</span><span class="p">)</span> +<span class="n">df_dinos</span><span class="o">.</span><span class="n">T</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[22]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th>Dinosaur Name</th> + <th>Aegyptosaurus</th> + <th>Tyrannosaurus</th> + <th>Panoplosaurus</th> + <th>Isisaurus</th> + <th>Triceratops</th> + <th>Velociraptor</th> + </tr> + </thead> + <tbody> + <tr> + <th>Favourite Prime</th> + <td>4</td> + <td>8</td> + <td>15</td> + <td>16</td> + <td>23</td> + <td>42</td> + </tr> + <tr> + <th>Favourite Color</th> + <td>blue</td> + <td>white</td> + <td>blue</td> + <td>purple</td> + <td>violet</td> + <td>gray</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Some more <code>DataFrame</code> examples</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [24]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span> + <span class="s2">"A"</span><span class="p">:</span> <span class="mf">1.2</span><span class="p">,</span> + <span class="s2">"B"</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">Timestamp</span><span class="p">(</span><span class="s1">'20180226'</span><span class="p">),</span> + <span class="s2">"C"</span><span class="p">:</span> <span class="p">[(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">**</span><span class="n">i</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="n">np</span><span class="o">.</span><span class="n">e</span> <span class="o">*</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">**</span><span class="p">(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)],</span> + <span class="s2">"D"</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">Categorical</span><span class="p">([</span><span class="s2">"This"</span><span class="p">,</span> <span class="s2">"column"</span><span class="p">,</span> <span class="s2">"has"</span><span class="p">,</span> <span class="s2">"entries"</span><span class="p">,</span> <span class="s2">"entries"</span><span class="p">]),</span> + <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"Same"</span> +<span class="p">})</span> +<span class="n">df_demo</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[24]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-2.718282</td> + <td>This</td> + <td>Same</td> + </tr> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + </tr> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + </tr> + <tr> + <th>3</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>0.986231</td> + <td>entries</td> + <td>Same</td> + </tr> + <tr> + <th>4</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-0.718282</td> + <td>entries</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [25]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="s2">"C"</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[25]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-2.718282</td> + <td>This</td> + <td>Same</td> + </tr> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + </tr> + <tr> + <th>4</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-0.718282</td> + <td>entries</td> + <td>Same</td> + </tr> + <tr> + <th>3</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>0.986231</td> + <td>entries</td> + <td>Same</td> + </tr> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [26]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">round</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">tail</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[26]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>3</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>0.99</td> + <td>entries</td> + <td>Same</td> + </tr> + <tr> + <th>4</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-0.72</td> + <td>entries</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [27]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">round</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[27]:</div> + + + + +<div class="output_text output_subarea output_execute_result"> +<pre>A 6 +C -2.03 +D Thiscolumnhasentriesentries +E SameSameSameSameSame +dtype: object</pre> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [28]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">df_demo</span><span class="o">.</span><span class="n">round</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">to_latex</span><span class="p">())</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + +<div class="output_subarea output_stream output_stdout output_text"> +<pre>\begin{tabular}{lrlrll} +\toprule +{} & A & B & C & D & E \\ +\midrule +0 & 1.2 & 2018-02-26 & -2.72 & This & Same \\ +1 & 1.2 & 2018-02-26 & 1.72 & column & Same \\ +2 & 1.2 & 2018-02-26 & -1.30 & has & Same \\ +3 & 1.2 & 2018-02-26 & 0.99 & entries & Same \\ +4 & 1.2 & 2018-02-26 & -0.72 & entries & Same \\ +\bottomrule +\end{tabular} + +</pre> +</div> +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Reading-External-Data">Reading External Data<a class="anchor-link" href="#Reading-External-Data">¶</a></h2><p>(Links to documentation)</p> +<ul> +<li><a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_json.html#pandas.read_json"><code>.read_json()</code></a></li> +<li><a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html#pandas.read_csv"><code>.read_csv()</code></a></li> +<li><a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_hdf.html#pandas.read_hdf"><code>.read_hdf5()</code></a></li> +<li><a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html#pandas.read_excel"><code>.read_excel()</code></a></li> +</ul> +<p>Example:</p> +<div class="highlight"><pre><span></span><span class="p">{</span> + <span class="nt">"Character"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"Sawyer"</span><span class="p">,</span> <span class="s2">"…"</span><span class="p">,</span> <span class="s2">"Walt"</span><span class="p">],</span> + <span class="nt">"Actor"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"Josh Holloway"</span><span class="p">,</span> <span class="s2">"…"</span><span class="p">,</span> <span class="s2">"Malcolm David Kelley"</span><span class="p">],</span> + <span class="nt">"Main Cast"</span><span class="p">:</span> <span class="p">[</span><span class="kc">true</span><span class="p">,</span> <span class="s2">"…"</span><span class="p">,</span> <span class="kc">false</span><span class="p">]</span> +<span class="p">}</span> +</pre></div> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [29]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pd</span><span class="o">.</span><span class="n">read_json</span><span class="p">(</span><span class="s2">"lost.json"</span><span class="p">)</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="s2">"Character"</span><span class="p">)</span><span class="o">.</span><span class="n">sort_index</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[29]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Actor</th> + <th>Main Cast</th> + </tr> + <tr> + <th>Character</th> + <th></th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>Hurley</th> + <td>Jorge Garcia</td> + <td>True</td> + </tr> + <tr> + <th>Jack</th> + <td>Matthew Fox</td> + <td>True</td> + </tr> + <tr> + <th>Kate</th> + <td>Evangeline Lilly</td> + <td>True</td> + </tr> + <tr> + <th>Locke</th> + <td>Terry O'Quinn</td> + <td>True</td> + </tr> + <tr> + <th>Sawyer</th> + <td>Josh Holloway</td> + <td>True</td> + </tr> + <tr> + <th>Walt</th> + <td>Malcolm David Kelley</td> + <td>False</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Task-2">Task 2<a class="anchor-link" href="#Task-2">¶</a></h2><p><a name="task2"></a></p> +<ul> +<li>Read in <code>nest-data.csv</code> to <code>DataFrame</code>; call it <code>df</code></li> +<li>Get to know it and play a bit with it</li> +<li>Tell me when you're done: <a href="https://pollev.com/aherten538">pollev.com/aherten538</a></li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [30]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="o">!</span>cat nest-data.csv <span class="p">|</span> head -3 +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + +<div class="output_subarea output_stream output_stdout output_text"> +<pre>id,Nodes,Tasks/Node,Threads/Task,Runtime Program / s,Scale,Plastic,Avg. Neuron Build Time / s,Min. Edge Build Time / s,Max. Edge Build Time / s,Min. Init. Time / s,Max. Init. Time / s,Presim. Time / s,Sim. Time / s,Virt. Memory (Sum) / kB,Local Spike Counter (Sum),Average Rate (Sum),Number of Neurons,Number of Connections,Min. Delay,Max. Delay +5,1,2,4,420.42,10,true,0.29,88.12,88.18,1.14,1.20,17.26,311.52,46560664.00,825499,7.48,112500,1265738500,1.5,1.5 +5,1,4,4,200.84,10,true,0.15,46.03,46.34,0.70,1.01,7.87,142.97,46903088.00,802865,7.03,112500,1265738500,1.5,1.5 +</pre> +</div> +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [31]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s2">"nest-data.csv"</span><span class="p">)</span> +<span class="n">df</span><span class="o">.</span><span class="n">head</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[31]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>id</th> + <th>Nodes</th> + <th>Tasks/Node</th> + <th>Threads/Task</th> + <th>Runtime Program / s</th> + <th>Scale</th> + <th>Plastic</th> + <th>Avg. Neuron Build Time / s</th> + <th>Min. Edge Build Time / s</th> + <th>Max. Edge Build Time / s</th> + <th>...</th> + <th>Max. Init. Time / s</th> + <th>Presim. Time / s</th> + <th>Sim. Time / s</th> + <th>Virt. Memory (Sum) / kB</th> + <th>Local Spike Counter (Sum)</th> + <th>Average Rate (Sum)</th> + <th>Number of Neurons</th> + <th>Number of Connections</th> + <th>Min. Delay</th> + <th>Max. Delay</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>5</td> + <td>1</td> + <td>2</td> + <td>4</td> + <td>420.42</td> + <td>10</td> + <td>True</td> + <td>0.29</td> + <td>88.12</td> + <td>88.18</td> + <td>...</td> + <td>1.20</td> + <td>17.26</td> + <td>311.52</td> + <td>46560664.0</td> + <td>825499</td> + <td>7.48</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + </tr> + <tr> + <th>1</th> + <td>5</td> + <td>1</td> + <td>4</td> + <td>4</td> + <td>200.84</td> + <td>10</td> + <td>True</td> + <td>0.15</td> + <td>46.03</td> + <td>46.34</td> + <td>...</td> + <td>1.01</td> + <td>7.87</td> + <td>142.97</td> + <td>46903088.0</td> + <td>802865</td> + <td>7.03</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + </tr> + <tr> + <th>2</th> + <td>5</td> + <td>1</td> + <td>2</td> + <td>8</td> + <td>202.15</td> + <td>10</td> + <td>True</td> + <td>0.28</td> + <td>47.98</td> + <td>48.48</td> + <td>...</td> + <td>1.20</td> + <td>7.95</td> + <td>142.81</td> + <td>47699384.0</td> + <td>802865</td> + <td>7.03</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + </tr> + <tr> + <th>3</th> + <td>5</td> + <td>1</td> + <td>4</td> + <td>8</td> + <td>89.57</td> + <td>10</td> + <td>True</td> + <td>0.15</td> + <td>20.41</td> + <td>23.21</td> + <td>...</td> + <td>3.04</td> + <td>3.19</td> + <td>60.31</td> + <td>46813040.0</td> + <td>821491</td> + <td>7.23</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + </tr> + <tr> + <th>4</th> + <td>5</td> + <td>2</td> + <td>2</td> + <td>4</td> + <td>164.16</td> + <td>10</td> + <td>True</td> + <td>0.20</td> + <td>40.03</td> + <td>41.09</td> + <td>...</td> + <td>1.58</td> + <td>6.08</td> + <td>114.88</td> + <td>46937216.0</td> + <td>802865</td> + <td>7.03</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + </tr> + </tbody> +</table> +<p>5 rows × 21 columns</p> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Read-CSV-Options">Read CSV Options<a class="anchor-link" href="#Read-CSV-Options">¶</a></h2><ul> +<li>See also full <a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html">API documentation</a></li> +<li>Important parameters<ul> +<li><code>sep</code>: Set separator (for example <code>:</code> instead of <code>,</code>)</li> +<li><code>header</code>: Specify info about headers for columns; able to use multi-index for columns!</li> +<li><code>names</code>: Alternative to <code>header</code> – provide your own column titles</li> +<li><code>usecols</code>: Don't read whole set of columns, but only these; works with any list (<code>range(0:20:2)</code>)…</li> +<li><code>skiprows</code>: Don't read in these rows</li> +<li><code>na_values</code>: What string(s) to recognize as <code>N/A</code> values (which will be ignored during operations on data frame)</li> +<li><code>parse_dates</code>: Try to parse dates in CSV; different behaviours as to provided data structure; optionally used together with <code>date_parser</code></li> +<li><code>compression</code>: Treat input file as compressed file ("infer", "gzip", "zip", …)</li> +<li><code>decimal</code>: Decimal point divider – for German data…</li> +</ul> +</li> +</ul> +<div class="highlight"><pre><span></span><span class="n">pandas</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="n">filepath_or_buffer</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s1">', '</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">header</span><span class="o">=</span><span class="s1">'infer'</span><span class="p">,</span> <span class="n">names</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">index_col</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">usecols</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">squeeze</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">mangle_dupe_cols</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">engine</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">converters</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">true_values</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">false_values</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">skipinitialspace</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">skiprows</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">skipfooter</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">nrows</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">na_values</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">keep_default_na</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">na_filter</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">skip_blank_lines</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">parse_dates</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">infer_datetime_format</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">keep_date_col</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">date_parser</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">dayfirst</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">iterator</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">chunksize</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">compression</span><span class="o">=</span><span class="s1">'infer'</span><span class="p">,</span> <span class="n">thousands</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">decimal</span><span class="o">=</span><span class="sa">b</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">lineterminator</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">quotechar</span><span class="o">=</span><span class="s1">'"'</span><span class="p">,</span> <span class="n">quoting</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">doublequote</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">escapechar</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">comment</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">tupleize_cols</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">error_bad_lines</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">warn_bad_lines</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">delim_whitespace</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">low_memory</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">memory_map</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">float_precision</span><span class="o">=</span><span class="bp">None</span><span class="p">)</span> +</pre></div> + +</div> +</div> +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Slicing-of-Data-Frames">Slicing of Data Frames<a class="anchor-link" href="#Slicing-of-Data-Frames">¶</a></h2><h3 id="Slicing-Columns">Slicing Columns<a class="anchor-link" href="#Slicing-Columns">¶</a></h3><ul> +<li>Use square-bracket operators to slice data frame: <code>[]</code><ul> +<li>Use column name to select column</li> +<li>Also: Slice horizontally</li> +</ul> +</li> +<li>Example: Select only columnn <code>C</code> from <code>df_demo</code></li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [32]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[32]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-2.718282</td> + <td>This</td> + <td>Same</td> + </tr> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + </tr> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [33]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[33]:</div> + + + + +<div class="output_text output_subarea output_execute_result"> +<pre>0 -2.718282 +1 1.718282 +2 -1.304068 +3 0.986231 +4 -0.718282 +Name: C, dtype: float64</pre> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Select more than one column by providing list <code>[]</code> to slice operator <code>[]</code></li> +<li><em>You usually end up forgett one of the brackets…</em></li> +<li>Example: Select list of columns <code>A</code> and <code>C</code>, <code>["A", "C"]</code> from <code>df_demo</code></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [34]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[[</span><span class="s2">"A"</span><span class="p">,</span> <span class="s2">"C"</span><span class="p">]]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[34]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>C</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>1.2</td> + <td>-2.718282</td> + </tr> + <tr> + <th>1</th> + <td>1.2</td> + <td>1.718282</td> + </tr> + <tr> + <th>2</th> + <td>1.2</td> + <td>-1.304068</td> + </tr> + <tr> + <th>3</th> + <td>1.2</td> + <td>0.986231</td> + </tr> + <tr> + <th>4</th> + <td>1.2</td> + <td>-0.718282</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Slicing-of-Data-Frames">Slicing of Data Frames<a class="anchor-link" href="#Slicing-of-Data-Frames">¶</a></h2><h3 id="Slicing-rows">Slicing rows<a class="anchor-link" href="#Slicing-rows">¶</a></h3><ul> +<li>Use numberical values to slice into rows</li> +<li>Use ranges just like with Python lists</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [35]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">3</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[35]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + </tr> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Get a certain range as <strong>per the current sort structure</strong></li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [36]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">3</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[36]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + </tr> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [37]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">6</span><span class="p">:</span><span class="mi">2</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[37]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + </tr> + <tr> + <th>3</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>0.986231</td> + <td>entries</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Attention: <code>.iloc[]</code> location might change after re-sorting!</li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [38]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">sort_values</span><span class="p">(</span><span class="s2">"C"</span><span class="p">)</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">3</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[38]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + </tr> + <tr> + <th>4</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-0.718282</td> + <td>entries</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>One more row-slicing option: <code>.loc[]</code></li> +<li>See the difference with a <em>proper</em> index (and not the auto-generated default index from before)</li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [39]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo_indexed</span> <span class="o">=</span> <span class="n">df_demo</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="s2">"D"</span><span class="p">)</span> +<span class="n">df_demo_indexed</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[39]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>E</th> + </tr> + <tr> + <th>D</th> + <th></th> + <th></th> + <th></th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>This</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-2.718282</td> + <td>Same</td> + </tr> + <tr> + <th>column</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>Same</td> + </tr> + <tr> + <th>has</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>Same</td> + </tr> + <tr> + <th>entries</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>0.986231</td> + <td>Same</td> + </tr> + <tr> + <th>entries</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-0.718282</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [40]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo_indexed</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="s2">"entries"</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[40]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>E</th> + </tr> + <tr> + <th>D</th> + <th></th> + <th></th> + <th></th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>entries</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>0.986231</td> + <td>Same</td> + </tr> + <tr> + <th>entries</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-0.718282</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Advanced-Slicing:-Logical-Slicing">Advanced Slicing: Logical Slicing<a class="anchor-link" href="#Advanced-Slicing:-Logical-Slicing">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [41]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[41]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + </tr> + <tr> + <th>3</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>0.986231</td> + <td>entries</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [42]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[(</span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span> <span class="o"><</span> <span class="mi">0</span><span class="p">)</span> <span class="o">&</span> <span class="p">(</span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"D"</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"entries"</span><span class="p">)]</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[42]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>4</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-0.718282</td> + <td>entries</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Adding-to-Existing-Data-Frame">Adding to Existing Data Frame<a class="anchor-link" href="#Adding-to-Existing-Data-Frame">¶</a></h2><ul> +<li>Add new columns with <code>frame["new col"] = something</code> or <code>.insert()</code></li> +<li>Add new rows with <code>frame.append()</code></li> +<li>Combine data frames<ul> +<li>Concat: Combine several data frames along an axis</li> +<li>Merge: Combine data frames on basis of common columns; database-style</li> +<li>(Join)</li> +<li>See user guide <a href="https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html">on merging</a></li> +</ul> +</li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [43]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[43]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-2.718282</td> + <td>This</td> + <td>Same</td> + </tr> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + </tr> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [44]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"F"</span><span class="p">]</span> <span class="o">=</span> <span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span> <span class="o">-</span> <span class="n">df_demo</span><span class="p">[</span><span class="s2">"A"</span><span class="p">]</span> +<span class="n">df_demo</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[44]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + <th>F</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-2.718282</td> + <td>This</td> + <td>Same</td> + <td>-3.918282</td> + </tr> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + <td>0.518282</td> + </tr> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + <td>-2.504068</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [45]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">df_demo</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"G"</span><span class="p">,</span> <span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [46]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">tail</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[46]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + <th>F</th> + <th>G</th> + </tr> + </thead> + <tbody> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + <td>-2.504068</td> + <td>1.700594</td> + </tr> + <tr> + <th>3</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>0.986231</td> + <td>entries</td> + <td>Same</td> + <td>-0.213769</td> + <td>0.972652</td> + </tr> + <tr> + <th>4</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-0.718282</td> + <td>entries</td> + <td>Same</td> + <td>-1.918282</td> + <td>0.515929</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [47]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">append</span><span class="p">(</span> + <span class="p">{</span><span class="s2">"A"</span><span class="p">:</span> <span class="mf">1.3</span><span class="p">,</span> <span class="s2">"B"</span><span class="p">:</span> <span class="n">pd</span><span class="o">.</span><span class="n">Timestamp</span><span class="p">(</span><span class="s2">"2018-02-27"</span><span class="p">),</span> <span class="s2">"C"</span><span class="p">:</span> <span class="o">-</span><span class="mf">0.777</span><span class="p">,</span> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"has it?"</span><span class="p">,</span> <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"Same"</span><span class="p">,</span> <span class="s2">"F"</span><span class="p">:</span> <span class="mi">23</span><span class="p">},</span> + <span class="n">ignore_index</span><span class="o">=</span><span class="kc">True</span> +<span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[47]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>A</th> + <th>B</th> + <th>C</th> + <th>D</th> + <th>E</th> + <th>F</th> + <th>G</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-2.718282</td> + <td>This</td> + <td>Same</td> + <td>-3.918282</td> + <td>7.389056</td> + </tr> + <tr> + <th>1</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>1.718282</td> + <td>column</td> + <td>Same</td> + <td>0.518282</td> + <td>2.952492</td> + </tr> + <tr> + <th>2</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-1.304068</td> + <td>has</td> + <td>Same</td> + <td>-2.504068</td> + <td>1.700594</td> + </tr> + <tr> + <th>3</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>0.986231</td> + <td>entries</td> + <td>Same</td> + <td>-0.213769</td> + <td>0.972652</td> + </tr> + <tr> + <th>4</th> + <td>1.2</td> + <td>2018-02-26</td> + <td>-0.718282</td> + <td>entries</td> + <td>Same</td> + <td>-1.918282</td> + <td>0.515929</td> + </tr> + <tr> + <th>5</th> + <td>1.3</td> + <td>2018-02-27</td> + <td>-0.777000</td> + <td>has it?</td> + <td>Same</td> + <td>23.000000</td> + <td>NaN</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Combining-Frames">Combining Frames<a class="anchor-link" href="#Combining-Frames">¶</a></h2><ul> +<li>First, create some simpler data frame to show <code>.concat()</code> and <code>.merge()</code></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [48]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_1</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span><span class="s2">"Key"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"First"</span><span class="p">,</span> <span class="s2">"Second"</span><span class="p">],</span> <span class="s2">"Value"</span><span class="p">:</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]})</span> +<span class="n">df_1</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[48]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Key</th> + <th>Value</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>First</td> + <td>1</td> + </tr> + <tr> + <th>1</th> + <td>Second</td> + <td>1</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [49]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_2</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span><span class="s2">"Key"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"First"</span><span class="p">,</span> <span class="s2">"Second"</span><span class="p">],</span> <span class="s2">"Value"</span><span class="p">:</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">]})</span> +<span class="n">df_2</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[49]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Key</th> + <th>Value</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>First</td> + <td>2</td> + </tr> + <tr> + <th>1</th> + <td>Second</td> + <td>2</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Concatenate list of data frame vertically (<code>axis=0</code>)</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [50]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span class="p">([</span><span class="n">df_1</span><span class="p">,</span> <span class="n">df_2</span><span class="p">])</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[50]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Key</th> + <th>Value</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>First</td> + <td>1</td> + </tr> + <tr> + <th>1</th> + <td>Second</td> + <td>1</td> + </tr> + <tr> + <th>0</th> + <td>First</td> + <td>2</td> + </tr> + <tr> + <th>1</th> + <td>Second</td> + <td>2</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Same, but re-index</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [51]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span class="p">([</span><span class="n">df_1</span><span class="p">,</span> <span class="n">df_2</span><span class="p">],</span> <span class="n">ignore_index</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[51]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Key</th> + <th>Value</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>First</td> + <td>1</td> + </tr> + <tr> + <th>1</th> + <td>Second</td> + <td>1</td> + </tr> + <tr> + <th>2</th> + <td>First</td> + <td>2</td> + </tr> + <tr> + <th>3</th> + <td>Second</td> + <td>2</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Concat, but horizontally</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [52]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span class="p">([</span><span class="n">df_1</span><span class="p">,</span> <span class="n">df_2</span><span class="p">],</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[52]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Key</th> + <th>Value</th> + <th>Key</th> + <th>Value</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>First</td> + <td>1</td> + <td>First</td> + <td>2</td> + </tr> + <tr> + <th>1</th> + <td>Second</td> + <td>1</td> + <td>Second</td> + <td>2</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Merge on common column</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [53]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">pd</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">df_1</span><span class="p">,</span> <span class="n">df_2</span><span class="p">,</span> <span class="n">on</span><span class="o">=</span><span class="s2">"Key"</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[53]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Key</th> + <th>Value_x</th> + <th>Value_y</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>First</td> + <td>1</td> + <td>2</td> + </tr> + <tr> + <th>1</th> + <td>Second</td> + <td>1</td> + <td>2</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Task-3">Task 3<a class="anchor-link" href="#Task-3">¶</a></h2><p><a name="task3"></a></p> +<ul> +<li>Add a column to the Nest data frame called <code>Virtual Processes</code> which is the total number of threads across all nodes (i.e. the product of threads per task and tasks per node and nodes)</li> +<li>Remember to tell me when you're done: <a href="https://pollev.com/aherten538">pollev.com/aherten538</a></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [54]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[</span><span class="s2">"Virtual Processes"</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="s2">"Nodes"</span><span class="p">]</span> <span class="o">*</span> <span class="n">df</span><span class="p">[</span><span class="s2">"Tasks/Node"</span><span class="p">]</span> <span class="o">*</span> <span class="n">df</span><span class="p">[</span><span class="s2">"Threads/Task"</span><span class="p">]</span> +<span class="n">df</span><span class="o">.</span><span class="n">head</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[54]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>id</th> + <th>Nodes</th> + <th>Tasks/Node</th> + <th>Threads/Task</th> + <th>Runtime Program / s</th> + <th>Scale</th> + <th>Plastic</th> + <th>Avg. Neuron Build Time / s</th> + <th>Min. Edge Build Time / s</th> + <th>Max. Edge Build Time / s</th> + <th>...</th> + <th>Presim. Time / s</th> + <th>Sim. Time / s</th> + <th>Virt. Memory (Sum) / kB</th> + <th>Local Spike Counter (Sum)</th> + <th>Average Rate (Sum)</th> + <th>Number of Neurons</th> + <th>Number of Connections</th> + <th>Min. Delay</th> + <th>Max. Delay</th> + <th>Virtual Processes</th> + </tr> + </thead> + <tbody> + <tr> + <th>0</th> + <td>5</td> + <td>1</td> + <td>2</td> + <td>4</td> + <td>420.42</td> + <td>10</td> + <td>True</td> + <td>0.29</td> + <td>88.12</td> + <td>88.18</td> + <td>...</td> + <td>17.26</td> + <td>311.52</td> + <td>46560664.0</td> + <td>825499</td> + <td>7.48</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>8</td> + </tr> + <tr> + <th>1</th> + <td>5</td> + <td>1</td> + <td>4</td> + <td>4</td> + <td>200.84</td> + <td>10</td> + <td>True</td> + <td>0.15</td> + <td>46.03</td> + <td>46.34</td> + <td>...</td> + <td>7.87</td> + <td>142.97</td> + <td>46903088.0</td> + <td>802865</td> + <td>7.03</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>16</td> + </tr> + <tr> + <th>2</th> + <td>5</td> + <td>1</td> + <td>2</td> + <td>8</td> + <td>202.15</td> + <td>10</td> + <td>True</td> + <td>0.28</td> + <td>47.98</td> + <td>48.48</td> + <td>...</td> + <td>7.95</td> + <td>142.81</td> + <td>47699384.0</td> + <td>802865</td> + <td>7.03</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>16</td> + </tr> + <tr> + <th>3</th> + <td>5</td> + <td>1</td> + <td>4</td> + <td>8</td> + <td>89.57</td> + <td>10</td> + <td>True</td> + <td>0.15</td> + <td>20.41</td> + <td>23.21</td> + <td>...</td> + <td>3.19</td> + <td>60.31</td> + <td>46813040.0</td> + <td>821491</td> + <td>7.23</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>32</td> + </tr> + <tr> + <th>4</th> + <td>5</td> + <td>2</td> + <td>2</td> + <td>4</td> + <td>164.16</td> + <td>10</td> + <td>True</td> + <td>0.20</td> + <td>40.03</td> + <td>41.09</td> + <td>...</td> + <td>6.08</td> + <td>114.88</td> + <td>46937216.0</td> + <td>802865</td> + <td>7.03</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>16</td> + </tr> + </tbody> +</table> +<p>5 rows × 22 columns</p> +</div> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [55]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">columns</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[55]:</div> + + + + +<div class="output_text output_subarea output_execute_result"> +<pre>Index(['id', 'Nodes', 'Tasks/Node', 'Threads/Task', 'Runtime Program / s', + 'Scale', 'Plastic', 'Avg. Neuron Build Time / s', + 'Min. Edge Build Time / s', 'Max. Edge Build Time / s', + 'Min. Init. Time / s', 'Max. Init. Time / s', 'Presim. Time / s', + 'Sim. Time / s', 'Virt. Memory (Sum) / kB', 'Local Spike Counter (Sum)', + 'Average Rate (Sum)', 'Number of Neurons', 'Number of Connections', + 'Min. Delay', 'Max. Delay', 'Virtual Processes'], + dtype='object')</pre> +</div> + +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Aside:-Plotting-without-Pandas">Aside: Plotting without Pandas<a class="anchor-link" href="#Aside:-Plotting-without-Pandas">¶</a></h2><h3 id="Matplotlib-101">Matplotlib 101<a class="anchor-link" href="#Matplotlib-101">¶</a></h3><ul> +<li>Matplotlib: de-facto standard for plotting in Python</li> +<li>Main interface: <code>pyplot</code>; provides MATLAB-like interface</li> +<li>Better: Use object-oriented API with <code>Figure</code> and <code>Axis</code></li> +<li>Great integration into Jupyter Notebooks</li> +<li>Since v. 3: Only support for Python 3</li> +<li>→ <a href="https://matplotlib.org/">https://matplotlib.org/</a></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [56]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span> +<span class="o">%</span><span class="k">matplotlib</span> inline +</pre></div> + + </div> +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [57]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">400</span><span class="p">)</span> +<span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [58]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span> +<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s1">'Use like this'</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s2">"Numbers again"</span><span class="p">);</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s2">"$\sqrt</span><span class="si">{x}</span><span class="s2">$"</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Plot multiple lines into one canvas</li> +<li>Call <code>ax.plot()</code> multiple times</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [59]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">y2</span> <span class="o">=</span> <span class="n">y</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">y</span><span class="o">*</span><span class="mf">1.5</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [60]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span> +<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"y"</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y2</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"y2"</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s2">"This plot makes no sense"</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Task-4">Task 4<a class="anchor-link" href="#Task-4">¶</a></h2><p><a name="task4"></a></p> +<ul> +<li>Sort the data frame by the virtual proccesses</li> +<li>Plot <code>"Presim. Time / s"</code> and <code>"Sim. Time / s"</code> of our data frame <code>df</code> as a function of the virtual processes</li> +<li>Use a dashed, red line for <code>"Presim. Time / s"</code>, a blue line for <code>"Sim. Time / s"</code> (see <a href="https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot">API description</a>)</li> +<li>Don't forget to label your axes and to add a legend</li> +<li>Submit when you're done: <a href="https://pollev.com/aherten538">pollev.com/aherten538</a></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [61]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">sort_values</span><span class="p">([</span><span class="s2">"Virtual Processes"</span><span class="p">,</span> <span class="s2">"Nodes"</span><span class="p">,</span> <span class="s2">"Tasks/Node"</span><span class="p">,</span> <span class="s2">"Threads/Task"</span><span class="p">],</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [62]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span> +<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="s2">"Virtual Processes"</span><span class="p">],</span> <span class="n">df</span><span class="p">[</span><span class="s2">"Presim. Time / s"</span><span class="p">],</span> <span class="n">linestyle</span><span class="o">=</span><span class="s2">"dashed"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"red"</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">df</span><span class="p">[</span><span class="s2">"Virtual Processes"</span><span class="p">],</span> <span class="n">df</span><span class="p">[</span><span class="s2">"Sim. Time / s"</span><span class="p">],</span> <span class="s2">"-b"</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s2">"Virtual Process"</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s2">"Time / s"</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">legend</span><span class="p">();</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAEKCAYAAAAB0GKPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xl8VdW5//HPQwgJCIqSaJHBgOIAgoFGxOKQioiiFfWK0ksVbr1X2+rtVaut3taK/sSrVdFarcNVXmC1WpwqdWSoQ/WqGChaBJSoKFCUQUAZJfD8/lj7kJPknOSQ5OScJN/367Vfe5+19vDs7OQ8WXtY29wdERGRurTJdAAiItI8KGGIiEhKlDBERCQlShgiIpISJQwREUmJEoaIiKRECUNERFKihCEiIilRwhARkZS0zXQADVFQUOBFRUWZDkNEpFmZO3fuGncv3N3lmnXCKCoqoqysLNNhiIg0K2b2aX2W0ykpERFJiRKGiIikRAlDRERS0qyvYYhI49u+fTvLly9n69atmQ5FGig/P5/u3buTm5vbKOtTwhCRKpYvX06nTp0oKirCzDIdjtSTu7N27VqWL19Or169GmWdOiUlIlVs3bqVLl26KFk0c2ZGly5dGrWlqIQhIjUoWbQMjX0cW2XCWLAAfvlLWLs205GIiDQfrTJhLFkCN94In32W6UhEJJGcnByKi4s5/PDDGT16NJs3b27wOu+9914eeuihBq/n4osvpri4mL59+9K+fXuKi4spLi7miSee4Ne//jWzZs1q8DYSuemmm3jkkUfSsu5UtcqL3gUFYbx6dWbjEJHE2rdvz/z58wEYO3Ys9957L5dffvmuenfH3WnTJvX/eX/0ox81Smx33303AEuXLuW0007bFSfA2Wef3SjbSOSll15i2rRpaVt/KlplC6Mw6kFFCUMk+x177LGUl5ezdOlSDjnkEM4//3wOP/xwli1bxowZMzj66KMZNGgQo0ePZuPGjQBcddVV9O3blwEDBnDFFVcAMGHCBG699VYASktLueyyyygpKeGwww7jnXfe4ayzzqJPnz786le/qnes48eP54knngBC10VXX301xcXFlJSUMG/ePEaMGMGBBx7Ivffeu2uZW265hSOPPJIBAwZw7bXXJlzvV199xTfffENhYdXun1599dVdLZyBAwfy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 +" +> +</div> + +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Plotting-with-Pandas">Plotting with Pandas<a class="anchor-link" href="#Plotting-with-Pandas">¶</a></h2><ul> +<li>Each data frame hast a <code>.plot()</code> function (see <a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html">API</a>)</li> +<li>Plots with Matplotlib</li> +<li>Important API options:<ul> +<li><code>kind</code>: <code>line</code> (default), <code>bar[h]</code>, <code>hist</code>, <code>box</code>, <code>kde</code>, <code>scatter</code>, <code>hexbin</code></li> +<li><code>subplots</code>: Make a sub-plot for each column (good together with <code>sharex</code>, <code>sharey</code>)</li> +<li><code>figsize</code></li> +<li><code>grid</code>: Add a grid to plot (use Matplotlib options)</li> +<li><code>style</code>: Line style per column (accepts list or dict)</li> +<li><code>logx</code>, <code>logy</code>, <code>loglog</code>: Logarithmic plots</li> +<li><code>xticks</code>, <code>yticks</code>: Use values for ticks</li> +<li><code>xlim</code>, <code>ylim</code>: Limits of axes</li> +<li><code>yerr</code>, <code>xerr</code>: Add uncertainty to data points</li> +<li><code>stacked</code>: Stack a bar plot</li> +<li><code>secondary_y</code>: Use a secondary <code>y</code> axis for this plot</li> +<li>Labeling<ul> +<li><code>title</code>: Add title to plot (Use a list of strings if <code>subplots=True</code>)</li> +<li><code>legend</code>: Add a legend</li> +<li><code>table</code>: If <code>true</code>, add table of data under plot</li> +</ul> +</li> +<li><code>**kwds</code>: Every non-parsed keyword is passed through to Matplotlib's plotting methods</li> +</ul> +</li> +</ul> + +</div> +</div> +</div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Either slice and plot…</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [63]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">2</span><span class="p">));</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAloAAACPCAYAAAAiN3VfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xlc1Ne9//HXAQQXEFRAYRBBwB0VtFHjErXN0tiYQJIm3dLeprFtkjbpctMlvb8mvb1tb3tvmjYmzU3btE2bJjYJxuxb1agxmijgvjCgKAPIvq8zc35/QGxqMUEFZmDez8fDxwOcL3w/Hr/wfc8553uOsdYiIiIiIn0vyNcFiIiIiAxVCloiIiIi/URBS0RERKSfKGiJiIiI9BMFLREREZF+oqAlIiIi0k8UtERERET6iYKWiIiISD9R0BIRERHpJyG+OGl0dLRNSkryxalFREREzsnu3burrLUx5/O1PglaSUlJ7Nq1yxenFhERETknxpji8/1aDR2KiIiI9BMFLREREZF+oqAlfmtnUTX//tQeXj94Cq/X+rocERGRc+aTOVoiH6TT4+X+N47y0OZCgo3hqd0lTJsQwW0rUrkyPY7gIOPrEkVERHpFPVriV4oqm7j2N9t5cFMh189LYPd/XMovb5hDp8fL157I49L73uSpXSfp9Hh9XaqIiMiHMtYO/JDM/PnzrZ46lPez1vLkuyf50fMHCQ0J4mfZ6Xw8Pe70616v5ZUD5azd6ORgWQOOqBF8ZXkK189LYPiwYB9WLiIiQ50xZre1dv55fa2ClvhaTXMH33lmL68fPMXi1HH87/VzmRA5vMdjrbVsOlLBAxud5J2oIzYijDXLJvPpBYmMDNVIuIiI9D0FLRm0thyt5FtP7aG+pZN/v3wqNy9JJqgXc7CstbxdWM0DG528XVTN2FGhfHFxEjddnMTo4cMGoHIREQkUCloy6LR1evjvVw7zh7eOkxYbzq9uzGBG/Ojz+l67i2tYu9HJpiOVRAwP4fOLkvjikmTGjgrt46pFRCQQKWjJoHK4vIE7nsjnyKlGPr9oEt+7cnqfzLPa76rnwU1OXjlQzvCQYD67MJFblk4mdnTPw5AiIiK9oaAlg4LXa/nj9uP87JXDjB4ewi+um8OKabF9fp6CU408tLmQDfkuQoKDuGH+RL58yWQSxozs83OJiMjQp6Alfq+ioY1vPbWHrQVVfHRaLP993Wyiw8P69ZzF1c08/GYhT+8uwVrIynDw1eUpTI4J79fziojI0KKgJX7t1QPlfPeZvbR2evjBqhl8ZkEixgzcoqOlda08sqWIJ945QafHy6rZ8dy2IoVpE85vTpiIiAQWBS3xSy0dbv7zhYM88c5JZsaP5lc3ZpAa67vepMrGdn6/7Rh/fvs4zR0eLp0xnttXpDJnYpTPahIREf+noCV+Z8/JOu5cl8/x6ma+vCyFb146hdAQ/9iIoK6lgz9uP84f3jpOfWsnS9Oi+drKNC5KHuvr0kRExA8paInf8HgtD79ZyC9fP0pMRBj3fXIui1LG+bqsHjW1u/nLjmJ+t7WIqqYOLkoay+0rU1maFj2gQ5siIuLffB60jDGPAp8AKqy1sz7seAWtoamktoVvrtvDO8drWDU7jp9ck07kSP9fPLS1w8OT757gkS1FlNW3MTshkttXpPKx6eN7tXiqiIgMbf4QtJYBTcBjClqBaUO+ix88ux9r4d7VM8nOdAy6XqF2t4ecXBe/2VzIiZoWpk2I4NYVqaxKjyNYgUtEJGD5PGh1F5EEvKCgFVga2jr5j2f3syG/lHmTxnD/DXOZOHZwr1fl9nh5fm8pD24qxFnRRHL0KL66PIWsDAfDgv1jnpmInL8T1S28e7yG2QmRpMaGD7o3hTLwBkXQMsasAdYAJCYmzisuLu6T84rvvHOshm+sy6e8oY2vr0zjthUphAyhIOL1Wl49UM7aTU4OlDbgiBrBV5ancP28hD5ZyV5EBk59aycv7SsjJ7eEd4/Xnv778aPDWJoWw9K0aJakRjOun9f3k8FpUASt91OP1uDW6fFy/xtH+c3mQhLGjOT+G+eSmTjG12X1G2stm49U8sDGAnJP1BEbEcYtSyfz6QWJjAoL8XV5InIWnR4vW45WkpPr4vVDp+hwe5kcM4prMxO4ZEoM+131bC2oYpuzivrWTgBmxo9maVoMy9KimZc0hrAQvakSBS0ZQMeqmrnzyTz2lNRz/bwEfrh6JuEBEjastbxdVM3ajU62F1YzZuQwbl6SzOcWJRE5wv8n/YsEAmst+10NPJNbwvN7Sqlu7mDMyGGsnhNPdmYCsxMi/2Wo0OO17HPVs62gki0FVeQW1+L2WoYPC2JB8jiWpkWzNC2GKeM1zBioFLSk31lrWffuSe59/iChIUH8NDudK9PjfF2Wz+wuruXBTU42Hq4gIiyEz1+cxBeXJDN2VKivSxMJSKV1rTyb7yIn14WzoonQ4CA+Oj2W7O7eq3NZx6+p3c3Oomq2FlSxpaCSospmAGIj/jHMuDg1mpgIDTMGCp8HLWPME8ByIBo4BfzQWvv7sx2voDW41DR38N1n9vLawVNcnDKO//3kHOIiR/i6LL+w31XPQ5udvLy/nOEhwXxmQSK3LJvM+NHDfV2ayJDX1O7mlf3l5OSW8HZRNdbC/EljyMp08In0+D5bXsZV13q6t+stZxV1LV3DjDPiRp/u7ZqfNEZzN4cwnwetc6WgNXhsOVrJt5/aQ21LB3ddPo2blyRrbakeOCsaeWhTIRv2lBJsDJ/8SAJfXpYy6J/AFPE3Hq/lLWcV6/NcvLK/nNZOD4ljR5KV4SArw0FS9Kh+P/+B0q65XVsLKtldXEunxxIWEsSCyeNYmhrN0inRTB0foWHGIURBS/pcW6eHn79yhEffOkZqbDi/unEuM+MjfV2W3ztR3cJv3izk6d0nsRauyXBw6/IUJsf4bo9HkaHgcHkDObkuNuS7ONXQzujhIayaHc+1mQ7mTRrjs1DT3O5m57FqthztmlTvrGgCICYi7HToWpwaTWyEerkHMwUt6VNHyhu548k8Dpc3ctOiSXzv49MZEaou8XNRVt/KI1uKeOKdE7S7vaxKj+O2FalMjxvt69JEBo2Kxjaeyy8lJ9fFwbIGQoIMy6fGkp3pYOW0WL8cqiuta2VbQRVbnVVsK6iktnuYcdqECJZN6Zrf9ZGksX5Zu5ydgpb0Ca/X8sftx/nZK4cZPTyEX1w3hxXTYn1d1qBW1dTO77cd47Htx2nu8PCx6eO5fWUqcydG+bo0Eb/U2uHhtYPlrM9zseVoJV4LcxIiycpwcNWc+EG1zpXXazlQ2sBWZyVbj1axq7jm9DDjRcljT8/vmjZBw4z+TkFLLlhFQxvffnovW45WsnJaLD+/bjbRg+gXmr+ra+ngj9uP84e3jlPf2snStGhuX5HKgsn+ueG2yEDyei07j9WQk1vCy/vLaWp3Ex85nGsyHGRnOkiNjfB1iX2ipcPNzmM1bD3aNb+roHuYMTo8rDt0dS2aGquHafyOgpZckNcOlPPdnH20dLi5e9UMPrsgUe+u+klTu5u/7Cjmd1uLqGrq4CNJY7h9ZRrL0qLV5hJwnBVNrM8r4dm8Ulx1rYwKDebK9DiyMh0sTB435B+8Ka9vY2tBJVu7n2asbu4AuoYZl6ZFsyQthouSxmrqhh9Q0JLz0tLh5j9fOMQT75xgZvxofnXj3CHzztHftXV6ePKdE/zfliLK6ttId0Ry+8pULp0+fsjfXCSw1TR38PyeUnLyXOw5WUeQgaVpMWRnOrhsxoSADRVer+VgWUP3SvWVvHuslg6Pl9CQIC5KGsuS7h6v6RNG63eEDyhoyTnbW1LHnU/mc6y6mTXLJvOtS6ee04J+0jc63F5yckv4zZuFFFe3MHV8BLeuSOETs+MJ1i9TGSLa3R42HqrgmVwXm49U4PZapseNJjvDwdVz4zVU1oPWDg87j3UtmrqtoIojpxoBiA4PZXFq9OmFU7Vm38BQ0JJe83gtD79ZyC9fP0pMRBj/+8k5XJwS7euyAp7b4+WFvWWs3eTEWdFEcvQovnpJCtdkOBSAZVCy1pJ7opZncl28uLeM+tZOYiLCuGZuPFkZCcyI1xO45+JUQ1t36Kpkm7OKqqauYcYp48NPh64FyeMCtkewvyloSa+46lr5xrp83jlWw6r0OH6Sld5nKydL3/B6La8dLOeBjU4OlDbgiBrBVy6ZzPXzJ+pxcBkUTlS3kJNXwvo8F8XVLQwfFsTlMyeQnZnA4pRxhATrjcOF8noth8obupaRKKjineM1dLi9hAYHMT9pzOngNSNOw4x9RUFLPtSGfBc/eHY/Xq/l3qtncW2mQ5Ov/Zi1ls1HK1m70cnu4lpiIsK4ZWkyn1kwiVEBsom3DB71rZ28uLeM9XklvHu8FmNg0eRxZGU4+Hh6XMBsPO8rrR0e3j1ec3pi/eHyrmHGcaPeG2bsGmqcEKlhxvOloCVn1dDWyQ83HGB9novMxCh+ecNcJo3r3y0qpO9Ya9lRVMPaTQW85awmauQwbl6czE0XJxE5Qr2R4judHi9vHqlkfZ6L1w+dosPtJSVmFNmZCVyT4cARpf1QfaWioY1tzqrubYKqqGpqByAt9n3DjJPHMjJUAbi3FLSkR+8er+HOJ/Mpb2jjaytTuX1FqrrtB7HcE7U8uNHJ3w9XEBEWwk0XT+KLi5MH1QKOMrhZa9nnqicn18Xze0qpbu5g7KhQVs+JJzvTQbojUj3lfsZay+HyxtO9Xe8cq6G9e5hx3qQxLJ0SzdLUGGbGa5jxgyhoyT/p9Hj59d8LeHCTk4QxI/nlDXOZN2mMr8uSPnKgtJ6HNhXy0v4yhocE8+kFiaxZNllPH0m/Ka1rZX2ei/V5LpwVTYQGB3HpjPFkZTi4ZGoMw/QGbtBo63xvmLGrt+tQWQMAY98bZkyNZklaNPHqkfwnPg9axpgrgF8BwcDvrLU/+6DjFbT6z7GqZu5cl8+ek3VcNy+Be1bP1PyIIcpZ0chDmwvZkF9KsDFcPz+Br1ySwsSxI31dmgwBTe1uXt5Xxvo8F28XVWMtfCRpDFkZCaxKj9ODNENERWMbb71vmLGysWuYMTU2nCWp0Syb0vU0Y6DPDfVp0DLGBANHgUuBEuBd4FPW2oNn+xoFrb5nreVvu05y7/MHGRYcxE+y0lk1O87XZckAOFHdwsNbCnl6Vwkea7lmroNbV6SQEhPu69JkkPF4LducVeTklvDqgXLaOr1MGjeSrAwHWRkOze8c4qy1HDnVyLaCKrYUVLGzqJp2t5dhwYbMxDGnN8WeGR8ZcOv8+TpoLQLusdZe3v359wCstT8929coaPWt2uYOvpuzl1cPnGLR5HHcd8Mc4iLV7RtoyuvbeGRLEX99p5h2t5cr0+O4fUUq0+O0XpF8sENlDeTklrAhv5SKxnZGDw/hqu55V5mJYzTvKkC1dXrYXVzLloKuTbEPdg8zRo0cxuLUaJZ1bxMUCA8++DpoXQdcYa39UvfnnwMWWGtvP+O4NcAagMTExHnFxcUXdF7psq2gim89lU9NcwffvmwqtyydrAmNAa6qqZ1Htx3jsbeLaWp387Hpsdy2IpWMRM3Tk3+oaGhjQ37XVjiHyhoICTKsmBZLdoaDldNjCQvRum3yzyob29leWMWW7k2xK7qHGSfHjGLZ6acZxw3J6SqDImi9n3q0Llxbp4dfvHqE3287RmpsOPffMJdZjkhflyV+pL6lkz9uP84fth+jrqWTJanR3L4ylQXJY9VDEaBaOzy8drCcZ3JdbCuoxGthzsQosjMcXDUnnrGjQn1dogwS1loKKprYcrTracadx6pp6/QSEmTInDTmdG9XumNoDDP6Omhp6HCAHT3VyNefyONweSOfWziJ7185XdsuyFk1tbt5fEcxv916jKqmdj6SNIbbVqRyyZQYBa4A4PVadhyrJifXxcv7ymju8OCIGkFWhoNrMhykxmoun1y4tk4PucW1bOneFHu/q2uYMXLEMJZ0P8m4NC2ahDGD82EdXwetELomw38UcNE1Gf7T1toDZ/saBa3zY63lT9uP85OXDzN6eAg/v242K6eN93VZMki0dXpY9+5JHn6zkLL6NtIdkdy2IpXLZozXcPMQ5KxoIie3hGfzXJTWtxEeFsKV6RPIykhgQfJY/Z9Lv6puamebs+r0NkHlDW0ATI4e1R26Ylg4eSwRwwfH06v+sLzDlcD9dC3v8Ki19r8+6HgFrXNX0djGvz+1lzePVrJiagw/v24OMRFaqFLOXYfby/q8Eh7aXEhxdQtTxodz24pUVqXHaUHbQa66qZ3n95SyPs/FnpJ6ggwsmxJDVoaDy2ZMUM+3+IS1FmdFU/cSEpXsKKqhtdNDSJAhIzHq9Gr1sxOi/HaY0edB61wpaJ2b1w+e4jvP7KW53c0PVk3nswsnachHLpjb4+XFfWWs3eikoKKJpHEj+eryFLIyEggNUeAaLNo6PWw8XEFOrovNRypwey0z4kaTnelg9Zx4YrWQrfiZdreH3OK606vV7y+tx1oYPTyke2/GruDlT2sCKmgNUS0dbn784iH+uvMEM+JG86sb55I2PsLXZckQ4/VaXjt4irWbCtjvaiA+cjhfWZ7CJ+dPZPgw9YD4I2stu4tryclz8cKeUhra3MRGhHFN93pXWtJDBpOa5o7uRVO7gldZfdcwY9K4kadD16KUcT4dZlTQGoL2ldRzx7o8jlU1s2bpZL552RQ9bi39ylrLm0crWbvRya7iWqLDw1izLJnPLJgU8KtC+4vi6mZycl08m++iuLqFEcOCuXzmeLIzE1icGu23wy4ivWWtpbCy+XTo2lFUTUuHh+AgQ8bErmHGJWnRzEmIHNCpDgpaQ4jHa/m/LYXc99pRosPDuO+Tc7g4NdrXZUkAsday81gNazc62easImrkML64OJnPX5xE5IjBMXF1KKlv6eSFfaWsz3Wxq7gWY+DilHFkZSRwxawJQ3LNIpH3dLi95J6oZWtBJdsKqtjr6hpmjBgewuKUrqcZl6XFkDiuf4cZFbSGCFddK99cl8/OYzWsSo/jv7JmETVS69qI7+SdqOXBTU7eOFRBeFgINy2axM1LkhkXrgcx+lOH28ubRytZn1fCGwcr6PB4SY0NJzvTwTVzHdrwVwJWbXMHbxV2Pc245Wglpd3DjJPGjWRpWjRLUmO4OHUco/t4mFFBawh4bk8pd6/fh9druffqWVyb6dCEd/EbB0sbeHCzk5f2lREWEsSnL5rEmmWTmRCpidZ9xVrL3pJ6cnJLeH5vGTXNHYwbFcpVc+K5NjOBWY7R+p0g8j7WWoqqmtl6tJJtzireLqymuXuYce7EqNObYs9JiLrgYUYFrUGssa2TH244QE6ei4zEKO6/Ya42bhW/5axo4jebC3k230WwMVw3P4GvXpLiV08HDTauulaezXORk1tCYWUzoSFBXDpjPNkZDpZNiWGYltwQ6ZUOt5e8E7Vsc3Ztir23pK5rmDEshEUp41g6JYZladHndY9V0Bqkdh2v4c51+ZTWtfK1lWl8bWWq1jGSQeFkTQsPv1nIU7tK8FjL1XPjuXV5qlYZ76XGtk5e3l/O+lwXbxdVA3BR0liyMh1cmR6nuXAifaCupYPthdVsLahky9EqXHWtAEwcO4KlaV2ha1FKdK9+3hS0BplOj5cH/l7A2k1OHGNGcP8NGcybpA1/ZfApr2/jkS1F/PWdYtrdXq6cFcdtK1KZEa/lBc7k9njZ5qwiJ9fFawfLaev0kjRuJNmZCWRlONQrKNKPrLUcr245Hbp2FFXT1O4myHTt9/le8JozMarHXmQFrUHkeFUzd6zLZ8/JOq7NTOCe1TMGzRYEImdT1dTOo9uO8djbxTS1u/nY9FhuW5FKRqLeQBwsbSAnt4QNe0qpbGwncsQwrpoTR1ZGApmJUZp3JeIDnR4v+Sfr2Hq08vQwo9dC+HvDjN3bBCWNG4kxRkFrMLDW8tSuEu55/gAhQYafZKfzidnxvi5LpE/Vt3Typ7eP8+hbx6hr6WRJajS3rUhl4eSxARUoTjW0sSHfRU6ui8PljQwLNqyYGkt2poMV02K1Jp6In6lv6WR7Ydfcrq0FlZTUdg0zJozpGmb82bWzFbT8WW1zB9/L2ccrB8pZOHks931yrh7PliGtud3N4zuLeWTLMaqa2pk/aQy3rUxl+ZSYIRu4WjrcvHbgFDl5LrYVVOK1MHdiFNdmOvjE7HjGjNJSLSKDgbWW4u5hxq0FXU8z7v/RFQpa/mpbQRXfeiqfmuYOvn3ZVG5ZOpkgrd4sAaKt08Pfdp3k4c2FlNa3McsxmttXpHHZjPFD4ufA67XsKKomJ8/Fy/vKaO7w4Iga0bXeVYaDlBg9HCAy2HV6vISGBCto+Zt2t4f/efUIv916jMkxo/j1jRnMckT6uiwRn+hwe3k2z8VDm50cr25hyvhwbluRyqr0uEH5pK2zopFncl1syHNRWt9GeFgIV6ZPIDszgYuSxg6JECki/+CzOVrGmOuBe4DpwEXW2l6lp6EetI6eauSOJ/M5VNbAZxcmcveVMxgRqjkZIm6Plxf3lfHgJidHTzUxadxIbl2eQlZGAqEh/h24qpvaeW5PKevzXOwtqSc4yLAsLZqszAQunT5eP+MiQ5gvg9Z0wAv8H/DtQA9a1lr+tP04P335MOFhIfz8utl8dPp4X5cl4ne8Xsvrh06xdqOTfa564iOH8+VLUrjhIxMZPsx/Aktbp4e/H6pgfV4Jm49U4vZaZsaPJivDweq58cRGaGV8kUDg86cOjTGbCfCgVdHYxl1P72XzkUqWT43hF9fNISZC+8GJfBBrLW8ereTBTU7ePV5LdHgYtyxN5jMLJ/lss2RrLbuKa8nJLeGFvWU0trkZPzqMa+Y6yMp0MG2C1ggTCTQXErS07XsfeOPgKb7zzF6a2t386OqZfG7hpCH7ZJVIXzLGsHxqLMunxrKzqJq1m5z89OXDPLS5kC8uTuYLFycROXJg1pk7XtVMTp6LZ/NcnKhpYcSwYD4+awJZmQ4uTokmWPOuROQ8fGiPljHmDWBCDy/dba3d0H3MZj6kR8sYswZYA5CYmDivuLj4fGv2G60dHn784kEe33mC6XGj+fWNc0kbH+HrskQGtfyTdazd6OSNQ6cIDwvhc4smcfOSZKLD+76HuK6lgxf2lrE+z8Xu4lqMgcUp0WRlOLhi1gRG+ahXTUT8i4YOfWC/q56vP5lHUWUza5ZN5luXTdEihCJ96FBZAw9ucvLivjLCQoL41EWJfHlZChMiL2xeVIfby+YjFazPc/H3QxV0eLykxYaTnZnANRnxxEVqjTsR+WcaOhxAHq/lkS1F3Pf6EcaNCuPxLy1gcWq0r8sSGXKmx41m7acz+UZlEw9tKuSxt4t5fMcJrp2XwFcvSSFxXO/3BrTWsqeknvW5JTy3p5Talk6iw0P57MJJZGc6mBk/WsP9ItIvLvSpwyzgASAGqAPyrbWXf9jXDdYerdK6Vr6xLp+dx2r4+KwJ/DQ7naiRWu1ZZCCcrGnh4TcLeWpXCR5ruXpOPLeuSCE19uzD9SW1LWzIL+WZ3BKKKpsJDQnishnjyc50sDQtpsfNY0VEzuTzocNzNRiD1vN7Srl7/T7cXss9q2dy/bwEvQMW8YFTDW08sqWIv+48QZvbw5Wz4rh1RQoz47sWBG5s6+TlfeXk5JWwo6gGgIuSx5Kd4eDj6XFEjtAm7iJybhS0+lFjWyc/3HCAnDwXcydGcf8Nc0mKHuXrskQCXnVTO4++dYzHthfT2O5m5bRYwsNCePVAOe1uL8nRo8jO6NoKZ+LY3g8zioicSUGrn+wuruHOdfm4alu5fWUaX1uZqqEGET9T39rJY9uP8+hbx/BaWD0nnqxMBxkTo9TrLCJ9QkGrj7k9Xn690cnajQXER43g/hvmMj9prK/LEpEP4PZ4AQbl3oki4t/01GEfOl7VzJ3r8sk/WUd2poN7V88kYrjmdIj4OwUsEfFHClrdrLU8tbuEe547QEiQ4YFPZXDVnHhflyUiIiKDmIIWXatDfy9nHy/vL2dB8lh+ecNc4qO0aKGIiIhcmIAPWm85q/jW3/ZQ3dzOd66Yxpplk7WnmYiIiPSJgA1a7W4P//PqEX679RiTY0bxu88vZpYj0tdliYiIyBASkEGr4FQjX38yn0NlDXxmQSI/WDWDEaHap1BERET6VkAFLWstj71dzE9eOkR4WAi/u2k+H5sx3tdliYiIyBAVMEGrsrGdu57ew6YjlVwyJYZfXD+b2Ijhvi5LREREhrCACFp/P3SKu57eS2O7m3tXz+SmRZO0YrSIiIj0uyEdtFo7PPzXSwf5y44TTJsQwRNrFjJlfISvyxIREZEAcUFByxjzC+AqoAMoBP7NWlvXF4VdqP2ueu54Mo/CymZuWZrMty+fSliIJryLiIjIwLnQPSteB2ZZa2cDR4HvXXhJF8brtTz8ZiFZD71FU7ubv9y8gLtXzVDIEhERkQF3QT1a1trX3vfpDuC6CyvnwpTWtfLNv+Wzo6iGK2ZO4KfZ6YwZFerLkkRERCSA9eUcrS8C6/rw+52TF/aW8v2cfbi9lp9fO5vr5ydowruIiIj41IcGLWPMG8CEHl6621q7ofuYuwE38PgHfJ81wBqAxMTE8yq2J41tndzz3EGeyS1hzsQofnXDXJKiR/XZ9xcRERE5Xx8atKy1H/ug140xXwA+AXzUWms/4Ps8AjwCMH/+/LMedy52F9dw57p8XLWtfH1lKl/7aBrDgi902pmIiIhI37jQpw6vAO4CLrHWtvRNSR/O7fHywEYnD2wsID5qBH/78iLmJ40dqNOLiIiI9MqFztFaC4QBr3fPh9phrf3KBVf1AYqrm7lzXT55J+rIznBwz9UzGT18WH+eUkREROS8XOhTh6l9VUgvzsXTu0u457kDBAUZfv2pDFbPiR+o04uIiIics0GxMnxdSwffX7+Pl/aVsyB5LPfdMBdH1AhflyUiIiLygfw+aG13VvHNv+2hqqmdu66YypeXpRAcpGUbRERExP/5bdBqd3u477WjPLK1iOToUay/aTHpCZG+LktERESk1/wyaDkrGvn6E/kd7vK/AAAGKElEQVQcLGvgMwsSuXvVdEaG+mWpIiIiImflV+nFWstfdhTz4xcPMSoshN/eNJ9LZ4z3dVkiIiIi58VvglZlYzvfeWYvGw9XcMmUGH5x/WxiI4b7uiwRERGR8+YXQWvj4VPc9fReGtrc3HPVDD5/cZL2KRQREZFBz6dBq7XDw09eOsSfdxQzbUIEj39pIVMnRPiyJBEREZE+47OgdaC0njuezMdZ0cSXliTz7cunMnxYsK/KEREREelzPglalU3tXPPgW4wZGcqfb76IpWkxvihDREREpF/5JGiV17fxhWmx/Cx7NmNGhfqiBBEREZF+55OglRA1goc/O08T3kVERGRIC/LFSceMClXIEhERkSHPJ0FLREREJBAoaImIiIj0EwUtERERkX5irLUDf1JjGoEjA35i/xcNVPm6CD+jNumZ2qVnapeeqV3+ldqkZ2qXnk211p7Xiuq+WrD0iLV2vo/O7beMMbvULv9MbdIztUvP1C49U7v8K7VJz9QuPTPG7Drfr9XQoYiIiEg/UdASERER6Se+ClqP+Oi8/k7t8q/UJj1Tu/RM7dIztcu/Upv0TO3Ss/NuF59MhhcREREJBBo6FBEREekn/Rq0jDFXGGOOGGOcxpjv9vB6mDFmXffrO40xSf1Zjz/oRZt8wRhTaYzJ7/7zJV/UOdCMMY8aYyqMMfvP8roxxvy6u932GmMyB7rGgdaLNllujKl/37Xy/wa6Rl8wxkw0xmwyxhw0xhwwxtzRwzEBdb30sk0C7noxxgw3xrxjjNnT3S739nBMIN6HetMuAXkvAjDGBBtj8owxL/Tw2rlfL9bafvkDBAOFwGQgFNgDzDjjmFuBh7s/vhFY11/1+MOfXrbJF4C1vq7VB22zDMgE9p/l9SuBlwEDLAR2+rpmP2iT5cALvq7TB+0SB2R2fxwBHO3h5yigrpdetknAXS/d///h3R8PA3YCC884JqDuQ+fQLgF5L+r+t38T+GtPPy/nc730Z4/WRYDTWltkre0AngSuPuOYq4E/dX/8NPBRM7R3m+5NmwQka+0WoOYDDrkaeMx22QFEGWPiBqY63+hFmwQka22ZtTa3++NG4BDgOOOwgLpeetkmAaf7/7+p+9Nh3X/OnJgcaPeh3rZLQDLGJACrgN+d5ZBzvl76M2g5gJPv+7yEf/3BP32MtdYN1APj+rEmX+tNmwBc2z3c8bQxZuLAlOb3ett2gWZRd/f/y8aYmb4uZqB1d9tn0PWO/P0C9nr5gDaBALxeuoeB8oEK4HVr7VmvlQC5DwG9ahcIzHvR/cBdgPcsr5/z9aLJ8P7neSDJWjsbeJ1/JGeRM+UCk6y1c4AHgGd9XM+AMsaEA88Ad1prG3xdjz/4kDYJyOvFWuux1s4FEoCLjDGzfF2TP+hFuwTcvcgY8wmgwlq7uy+/b38GLRfw/gSc0P13PR5jjAkBIoHqfqzJ1z60Tay11dba9u5PfwfMG6Da/F1vrqeAYq1teK/731r7EjDMGBPt47IGhDFmGF2B4nFrbU4PhwTc9fJhbRLI1wuAtbYO2ARcccZLgXYf+idna5cAvRctBlYbY47TNbVnpTHmL2ccc87XS38GrXeBNGNMsjEmlK5JY8+dccxzwOe7P74O2Gi7Z5gNUR/aJmfMI1lN11wL6Wqnm7qfJlsI1Ftry3xdlC8ZYya8NzfAGHMRXT/PQ/4G0f1v/j1wyFp731kOC6jrpTdtEojXizEmxhgT1f3xCOBS4PAZhwXafahX7RKI9yJr7festQnW2iS67s8brbWfPeOwc75e+m1TaWut2xhzO/AqXU/bPWqtPWCM+RGwy1r7HF2/GP5sjHHSNen3xv6qxx/0sk2+boxZDbjpapMv+KzgAWSMeYKup6KijTElwA/pmqCJtfZh4CW6niRzAi3Av/mm0oHTiza5DviqMcYNtAI3DvUbRLfFwOeAfd1zTAC+DyRCwF4vvWmTQLxe4oA/GWOC6QqWf7PWvhDI96FuvWmXgLwX9eRCrxetDC8iIiLSTzQZXkRERKSfKGiJiIiI9BMFLREREZF+oqAlIiIi0k8UtERERET6iYKWiIiISD9R0BIRERHpJwpaIiIiIv3k/wMm96i5KbrjYAAAAABJRU5ErkJggg== +" +> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>… or plot and select</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [64]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">y</span><span class="o">=</span><span class="s2">"C"</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">2</span><span class="p">));</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>I prefer slicing first, as it allows for further operations on the sliced data frame</li> +</ul> + +</div> +</div> +</div></div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [65]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="s2">"bar"</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXYAAAD4CAYAAAD4k815AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAACTlJREFUeJzt3X+oZ3ldx/HXe3dQEqL+mCFtp+sNlGILibyshH9kZDQykRUEbkGY4vyTZPRHbS4R/REM9Ef/FMRQawTlQsGyC7u1rVlKP9lZEXVdM4sRV7BWlEQUbd13f8yVuy7jzuz9nr7nzvv7ePwz3HO+fM6bw53nPfec73emujsAzHHL2gMAsCxhBxhG2AGGEXaAYYQdYBhhBxhG2AGGEXaAYYQdYJhTaxz09OnTvb+/v8ahAW5ajz322Ge7+8z1XrdK2Pf393P58uU1Dg1w06qqT97I69yKARhG2AGGEXaAYYQdYBhhBxhG2AGGEXaAYYQdYJhVPqDEsvbvenDtEXLl4vm1RwAOuWIHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gmEXCXlX3VNV/V9VHllgPgONb6or9T5KcW2gtADawSNi7+/1JPrfEWgBs5tS2DlRVF5JcSJK9vb1tHRZ21v5dD649Qq5cPL/2CDtpaw9Pu/tSdx9098GZM2e2dViAneNdMQDDCDvAMEu93fHdSf45yfdU1ZNV9dYl1gXghVvk4Wl337nEOgBszq0YgGGEHWAYYQcYRtgBhhF2gGGEHWAYYQcYRtgBhhF2gGGEHWAYYQcYRtgBhhF2gGGEHWAYYQcYRtgBhhF2gGGEHWAYYQcYRtgBhhF2gGGEHWAYYQcYRtgBhhF2gGGEHWAYYQcYRtgBhhF2gGGEHWAYYQcYRtgBhhF2gGGEHWAYYQcYZpGwV9W5qvq3qvpEVd21xJoAHM/GYa+qW5P8QZI3JLk9yZ1Vdfum6wJwPEtcsd+R5BPd/Z/d/dUk9yZ54wLrAnAMpxZY47Ykn3rW108mec1zX1RVF5JcSJK9vb2ND7p/14Mbr7GpKxfPrz1CkpMzx0ng++LISZnjJNi174utPTzt7kvdfdDdB2fOnNnWYQF2zhJh/3SS73rW12cPtwGwgiXC/miSV1bVd1fVi5K8KckDC6wLwDFsfI+9u5+uqrcneTjJrUnu6e7HN54MgGNZ4uFpuvuhJA8tsRYAm/HJU4BhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gmFNrDwDw/+3KxfNrj7BVrtgBhhF2gGGEHWAYYQcYRtgBhhF2gGGEHWAYYQcYRtgBhtko7FX1s1X1eFU9U1UHSw0FwPFtesX+kSQ/k+T9C8wCwAI2+rdiuvuJJKmqZaYBYGNbu8deVReq6nJVXX7qqae2dViAnXPdK/aqek+Sl15j193dff+NHqi7LyW5lCQHBwd9wxMC8IJcN+zd/fptDALAMrzdEWCYTd/u+NNV9WSSH0ryYFU9vMxYABzXpu+KuS/JfQvNAsAC3IoBGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gmI0+oAQnzZWL59ceAVbnih1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGGajsFfV71bVx6rqQ1V1X1V9+1KDAXA8m16xP5Lk+7v7VUk+nuQ3Nh8JgE1sFPbu/pvufvrwy39JcnbzkQDYxJL32N+S5K8WXA+AYzh1vRdU1XuSvPQau+7u7vsPX3N3kqeT/NnzrHMhyYUk2dvbO9awAFzfdcPe3a9/vv1V9eYkP5HkR7u7n2edS0kuJcnBwcE3fR0Am7lu2J9PVZ1L8mtJfri7v7TMSABsYtN77L+f5FuTPFJVH6yqP1xgJgA2sNEVe3e/YqlBAFiGT54CDCPsAMMIO8Awwg4wjLADDCPsAMMIO8Awwg4wjLADDCPsAMMIO8Awwg4wjLADDCPsAMMIO8Awwg4wjLADDCPsAMMIO8Awwg4wjLADDCPsAMMIO8Awwg4wjLADDCPsAMMIO8Awp9Ye4LiuXDy/9ggAJ5IrdoBhhB1gGGEHGEbYAYYRdoBhhB1gGGEHGEbYAYap7t7+QaueSvLJrR/4G51O8tmVZzgpnIsjzsUR5+LISTkXL+/uM9d70SphPwmq6nJ3H6w9x0ngXBxxLo44F0dutnPhVgzAMMIOMMwuh/3S2gOcIM7FEefiiHNx5KY6Fzt7jx1gql2+YgcYSdgBhhF2gGFu2v9B6YWqqu9N8sYktx1u+nSSB7r7ifWmgpOjqu5I0t39aFXdnuRcko9190Mrj7a6qvrT7v6Ftee4UTvx8LSqfj3JnUnuTfLk4eazSd6U5N7uvrjWbKzr8Af+bUn+tbu/+Kzt57r7r9ebbLuq6reSvCFXL/YeSfKaJH+X5MeSPNzdv7PieFtVVQ88d1OSH0ny3iTp7p/c+lAv0K6E/eNJvq+7//c521+U5PHufuU6k508VfWL3f2utefYhqr65SS/lOSJJD+Q5B3dff/hvg909w+uOd82VdWHc/UcvDjJZ5Kc7e4vVNW35OoPvVetOuAWVdUHknw0yR8l6VwN+7tz9UIw3f2+9aa7Mbtyj/2ZJN95je0vO9zHkd9ee4AteluSV3f3TyV5XZLfrKp3HO6r1aZax9Pd/bXu/lKS/+juLyRJd385u/d35CDJY0nuTvI/3f33Sb7c3e+7GaKe7M499l9J8rdV9e9JPnW4bS/JK5K8fbWpVlJVH/pmu5J8xzZnWdktX7/90t1Xqup1Sf6yql6e3Qv7V6vqJYdhf/XXN1bVt2XHwt7dzyT5var6i8M//ys3WSt34lZMklTVLUnuyDc+PH20u7+23lTrOPxG/fEkn3/uriT/1N3X+u1mnKp6b5Jf7e4PPmvbqST3JPn57r51teG2rKpe3N1fucb200le1t0fXmGsE6Gqzid5bXe/c+1ZbtTOhJ0jVfXHSd7V3f9wjX1/3t0/t8JYW1dVZ3P1FsRnrrHvtd39jyuMBRsTdoBhduXhKcDOEHaAYYQdYBhhBxjm/wBdj80waBTiTgAAAABJRU5ErkJggg== +" +> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>There are pseudo-sub-functions for each of the plot <code>kind</code>s</li> +<li>I prefer to just call <code>.plot(kind="smthng")</code></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [66]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="o">.</span><span class="n">bar</span><span class="p">();</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [67]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="s2">"bar"</span><span class="p">,</span> <span class="n">legend</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="n">ylim</span><span class="o">=</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">title</span><span class="o">=</span><span class="s2">"This is a C plot"</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Task-5">Task 5<a class="anchor-link" href="#Task-5">¶</a></h2><p><a name="task5"></a></p> +<p>Use the NEST data frame <code>df</code> to:</p> +<ol> +<li>Make the virtual processes the index of the data frame (<code>.set_index()</code>)</li> +<li>Plot <code>"Presim. Program / s"</code> and <code>"Sim. Time / s</code>" individually</li> +<li>Plot them onto one common canvas!</li> +<li>Make them have the same line colors and styles as before</li> +<li><p>Add a legend, add missing labels</p> +</li> +<li><p>Done? Tell me! <a href="https://pollev.com/aherten538">pollev.com/aherten538</a></p> +</li> +</ol> + +</div> +</div> +</div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [68]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">set_index</span><span class="p">(</span><span class="s2">"Virtual Processes"</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [69]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[</span><span class="s2">"Presim. Time / s"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [70]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[</span><span class="s2">"Sim. Time / s"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">3</span><span class="p">));</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [71]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[</span><span class="s2">"Presim. Time / s"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">();</span> +<span class="n">df</span><span class="p">[</span><span class="s2">"Sim. Time / s"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">();</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [72]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">ax</span> <span class="o">=</span> <span class="n">df</span><span class="p">[[</span><span class="s2">"Presim. Time / s"</span><span class="p">,</span> <span class="s2">"Sim. Time / s"</span><span class="p">]]</span><span class="o">.</span><span class="n">plot</span><span class="p">();</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s2">"Time / s"</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="More-Plotting-with-Pandas">More Plotting with Pandas<a class="anchor-link" href="#More-Plotting-with-Pandas">¶</a></h2><h3 id="Our-first-proper-Pandas-plot">Our first proper Pandas plot<a class="anchor-link" href="#Our-first-proper-Pandas-plot">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [73]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[[</span><span class="s2">"Presim. Time / s"</span><span class="p">,</span> <span class="s2">"Sim. Time / s"</span><span class="p">]]</span><span class="o">.</span><span class="n">plot</span><span class="p">();</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li><strong>That's why I think Pandas is great!</strong></li> +<li>It has great defaults to quickly plot data</li> +<li>Plotting functionality is very versatile</li> +<li>Before plotting, data can be <em>massaged</em> within data frames, if needed</li> +</ul> + +</div> +</div> +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="More-Plotting-with-Pandas">More Plotting with Pandas<a class="anchor-link" href="#More-Plotting-with-Pandas">¶</a></h2><h3 id="Some-versatility">Some versatility<a class="anchor-link" href="#Some-versatility">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [74]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[[</span><span class="s2">"A"</span><span class="p">,</span> <span class="s2">"C"</span><span class="p">,</span> <span class="s2">"F"</span><span class="p">]]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="s2">"bar"</span><span class="p">,</span> <span class="n">stacked</span><span class="o">=</span><span class="kc">True</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [75]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"F"</span><span class="p">]</span> <span class="o"><</span> <span class="mi">0</span><span class="p">][[</span><span class="s2">"A"</span><span class="p">,</span> <span class="s2">"C"</span><span class="p">,</span> <span class="s2">"F"</span><span class="p">]]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="s2">"bar"</span><span class="p">,</span> <span class="n">stacked</span><span class="o">=</span><span class="kc">True</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXYAAAD4CAYAAAD4k815AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAADM5JREFUeJzt3W9sXXUdx/HPh1EoxgViN/6WeWt0QXCCrqIJiIJophhx4clQccbEBSPCoomgi5EnJiCJ7oEmphESTbQLIttIRBHcJGAirls2Cgz/pnMlDktJwMVtsPH1Qe9wzLJ29/x6T++371dCoOfenvPNSfPuj3Nvz3VECACQxwl1DwAAKIuwA0AyhB0AkiHsAJAMYQeAZAg7ACRD2AEgGcIOAMkQdgBI5sQ6DrpgwYJoNBp1HBoAOtbWrVufi4iFUz2vlrA3Gg0NDQ3VcWgA6Fi2d03neVyKAYBkCDsAJEPYASAZwg4AyRB2AEiGsANAMoQdAJIh7ACQTC1/oATMKbeeWvcE03PrC3VPgEIqr9htn2t7s+2nbD9p+6YSgwEAWlNixX5Q0lcjYpvt+ZK22n4wIp4qsG8AwHGqvGKPiH9GxLbmf/9b0k5J51TdLwCgNUVfPLXdkPQuSY9N8tgq20O2h8bGxkoeFgBwhGJht/1GSb+QtDoiXjz68YgYiIj+iOhfuHDKu04CAFpUJOy2uzQR9Z9GxL0l9gkAaE2Jd8VY0p2SdkbEd6uPBACoosSK/RJJ10m6wvb25j8fK7BfAEALKr/dMSIeleQCswAACuCWAgCQDGEHgGQIOwAkQ9gBIBnCDgDJEHYASIawA0AyhB0AkiHsAJAMYQeAZAg7ACRD2AEgmRKfeTorNG75Zd0jTMvIbVfVPcK0dML57Jhzuf9ndY8wLSN1DzBNnfCzKdX788mKHQCSIewAkAxhB4BkCDsAJEPYASAZwg4AyRB2AEiGsANAMoQdAJIh7ACQDGEHgGQIOwAkQ9gBIBnCDgDJEHYASIawA0AyhB0AkiHsAJAMYQeAZAg7ACRD2AEgGcIOAMkQdgBIpkjYbS+z/Sfbf7V9S4l9AgBaUznstudJ+oGkj0o6X9K1ts+vul8AQGtKrNgvlvTXiPh7RLwkaZ2kqwvsFwDQghML7OMcSbuP+HpU0nuPfpLtVZJWSdKiRYsKHPa1Rro/VXyfM+OFugeYls44n51xLue/vVOuTl5V9wDT0hk/m1KdP59te/E0IgYioj8i+hcuXNiuwwLAnFMi7M9IOveIr3ub2wAANSgR9i2S3ma7z/ZJklZIuq/AfgEALah8jT0iDtq+QdIDkuZJuisinqw8GQCgJSVePFVE3C/p/hL7ArIZXjlc9wiYY/jLUwBIhrADQDKEHQCSIewAkAxhB4BkCDsAJEPYASAZwg4AyRB2AEiGsANAMkVuKQAA7bKkr/znOcyEOm8kwYodAJIh7ACQDGEHgGQIOwAkQ9gBIBnCDgDJEHYASIawA0AyhB0AkiHsAJAMYQeAZAg7ACTDTcAwqU640VKdN1kCZjNW7ACQDGEHgGQIOwAkQ9gBIBnCDgDJEHYASIawA0AyhB0AkiHsAJAMYQeAZAg7ACRTKey277D9tO3Hba+3fVqpwQAAram6Yn9Q0jsi4p2S/izp69VHAgBUUSnsEfGbiDjY/PIPknqrjwQAqKLkNfbPS/pVwf0BAFow5f3YbT8k6cxJHloTERubz1kj6aCknx5jP6skrZKkRYtm/72+AaBTTRn2iLjyWI/b/pykj0v6UETEMfYzIGlAkvr7+1/3eQCAaip9gpLtZZK+JukDEfGfMiMBAKqoeo39+5LmS3rQ9nbbPywwEwCggkor9oh4a6lBAABl8JenAJAMYQeAZAg7ACRD2AEgGcIOAMkQdgBIhrADQDKEHQCSIewAkEylvzwFgHYbXjlc9wizHit2AEgmzYp9SV9n3OOdtQaAmcaKHQCSIewAkAxhB4BkCDsAJEPYASAZwg4AyRB2AEiGsANAMoQdAJIh7ACQDGEHgGQIOwAkQ9gBIBnCDgDJEHYASIawA0AyhB0AkiHsAJAMYQeAZAg7ACRD2AEgGcIOAMkQdgBI5sS6B8DsNLxyuO4RALSoyIrd9ldth+0FJfYHAGhd5bDbPlfSRyT9o/o4AICqSqzYvyfpa5KiwL4AABVVCrvtqyU9ExE7pvHcVbaHbA+NjY1VOSwA4BimfPHU9kOSzpzkoTWSvqGJyzBTiogBSQOS1N/fz+oeAGbIlGGPiCsn2257iaQ+STtsS1KvpG22L46IPUWnBABMW8tvd4yIYUmnH/7a9oik/oh4rsBcAIAW8QdKAJBMsT9QiohGqX0BAFrHih0AkiHsAJAMYQeAZAg7ACRD2AEgGcIOAMkQdgBIhrADQDKEHQCSIewAkAyfeQpgznj55Zc1Ojqq/fv31z3KMXV3d6u3t1ddXV0tfT9hBzBnjI6Oav78+Wo0GmrebnzWiQiNj49rdHRUfX19Le2DSzEA5oz9+/erp6dn1kZdkmyrp6en0v9VEHYAc8psjvphVWck7ACQDNfYAcxZjVt+WXR/I7ddNa3nbdiwQcuXL9fOnTt13nnnFZ1BYsUOAG03ODioSy+9VIODgzOyf8IOAG20d+9ePfroo7rzzju1bt26GTkGYQeANtq4caOWLVumxYsXq6enR1u3bi1+DMIOAG00ODioFStWSJJWrFgxI5djePEUANrk+eef16ZNmzQ8PCzbOnTokGzrjjvuKPo2TFbsANAm99xzj6677jrt2rVLIyMj2r17t/r6+vTII48UPQ4rdgBz1nTfnljK4OCgbr755tdsu+aaazQ4OKjLLrus2HEIOwC0yebNm/9v24033lj8OFyKAYBkCDsAJEPYASAZwg4AyRB2AEiGsANAMrzdEcDcdeuphff3wpRP2bNnj1avXq0tW7botNNO0xlnnKG1a9dq8eLFxcYg7ADQJhGh5cuXa+XKla/e2XHHjh169tlnCTsAdKLNmzerq6tL119//avbLrzwwuLH4Ro7ALTJE088oaVLl874cQg7ACRD2AGgTS644IIZ+WCNo1UOu+0v237a9pO2v1NiKADI6IorrtCBAwc0MDDw6rbHH398dt221/blkq6WdGFEHLB9epmxAKANpvH2xJJsa/369Vq9erVuv/12dXd3q9FoaO3atUWPU/VdMV+UdFtEHJCkiPhX9ZEAIK+zzz5bd99994weo+qlmMWS3m/7MdsP237P6z3R9irbQ7aHxsbGKh4WAPB6plyx235I0pmTPLSm+f1vkvQ+Se+RdLftt0REHP3kiBiQNCBJ/f39//c4AKCMKcMeEVe+3mO2vyjp3mbI/2j7FUkLJLEkB4CaVL0Us0HS5ZJke7GkkyQ9V3UoAEDrqr54epeku2w/IeklSSsnuwwDAGifSmGPiJckfabQLACAArgJGIA5a8mPlxTd3/DK4SmfM2/ePC1Z8r/jbtiwQY1Go+gchB0A2uiUU07R9u3bZ/QY3CsGAJJhxQ4AbbRv3z5ddNFFkqS+vj6tX7+++DEIOwC0EZdiAADHjbADQDJcigEwZ03n7YmdiBU7ALTR3r17Z/wYaVbsWX/zAsDxYsUOAMkQdgBzSifcp7DqjIQdwJzR3d2t8fHxWR33iND4+Li6u7tb3keaa+wAMJXe3l6Njo5qtn88Z3d3t3p7e1v+fsIOYM7o6upSX19f3WPMOC7FAEAyhB0AkiHsAJCM63h12PaYpF1tP/DxWyA+nLskzmc5nMuyOuV8vjkiFk71pFrC3ilsD0VEf91zZMH5LIdzWVa288mlGABIhrADQDKE/dgG6h4gGc5nOZzLslKdT66xA0AyrNgBIBnCDgDJEHYASIabgDXZPk/S1ZLOaW56RtJ9EbGzvqmACbYvlhQRscX2+ZKWSXo6Iu6vebSOZ/snEfHZuucoiRdPJdm+WdK1ktZJGm1u7pW0QtK6iLitrtk6VfMX5TmSHouIvUdsXxYRv65vss5j+1uSPqqJhdiDkt4rabOkD0t6ICK+XeN4HcX2fUdvknS5pE2SFBGfaPtQM4CwS7L9Z0kXRMTLR20/SdKTEfG2eibrTLZvlPQlSTslXSTppojY2HxsW0S8u875Oo3tYU2cx5Ml7ZHUGxEv2j5FE78431nrgB3E9jZJT0n6kaTQRNgHNbGIU0Q8XN905XCNfcIrks6eZPtZzcdwfL4gaWlEfFLSByV90/ZNzcdc21Sd62BEHIqI/0j6W0S8KEkRsU/8fB6vfklbJa2R9EJE/E7Svoh4OEvUJa6xH7Za0m9t/0XS7ua2RZLeKumG2qbqXCccvvwSESO2PyjpHttvFmFvxUu239AM+9LDG22fKsJ+XCLiFUnfs/3z5r+fVcIOcimmyfYJki7Wa1883RIRh+qbqjPZ3iTpKxGx/YhtJ0q6S9KnI2JebcN1INsnR8SBSbYvkHRWRAzXMFYKtq+SdElEfKPuWUoi7CjOdq8mLh/smeSxSyLi9zWMBcwZhB0AkuHFUwBIhrADQDKEHQCSIewAkMx/AdYN8qMClUETAAAAAElFTkSuQmCC +" +> +</div> + +</div> + +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [76]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"F"</span><span class="p">]</span> <span class="o"><</span> <span class="mi">0</span><span class="p">][[</span><span class="s2">"A"</span><span class="p">,</span> <span class="s2">"C"</span><span class="p">,</span> <span class="s2">"F"</span><span class="p">]]</span>\ + <span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="s2">"barh"</span><span class="p">,</span> <span class="n">subplots</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">sharex</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s2">"Subplots"</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">4</span><span class="p">));</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArwAAAEVCAYAAAACQTb4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAGn9JREFUeJzt3X2QXPWV3vHn8Xhwy5GAZNTBiJbckxhiy2iRyxN2N7COza63JPNm4spGbMDsbrZUThVllODCYGd3ISmXX9jyajehKjWxHRPAwyrYAhuUABtEjOIYM0NhvSDYYEcyLQxuhvAihwFJnPzRLSLLI/Wdnnv79vz6+6maqrndt+99RqegTv3q1+c6IgQAAACk6i1lBwAAAACKRMMLAACApNHwAgAAIGk0vAAAAEgaDS8AAACSRsMLAACApNHwAsAc2X7Q9h92+dnrbd+adyYAwLHR8AIYWLbPtf092y/ZfsH2/7D998vOdZjtPbZ/q+wcALDQvbXsAABQBtsnSrpb0j+XtEnSCZJ+Q9JrZeYCAOSPFV4Ag+oMSYqIiYg4FBGvRsR9EbH96G0Htuu2w/aRiwR/1/YPbL9s+y7bf+uoc9fbfsb2T21/6lghbF9ke5ftF9tbJd7Tfv0WSSskfcf2ftvX2K7YvtX2dPv8R2yfUsi/DgAkhIYXwKD6a0mHbN9se63tvznHz39c0h9IOlXSQUl/cdT7H5J0uqTflvTp2bYm2D5D0oSkDZKqkrao1eCeEBGXS/qJpAsjYnFEfEnSFZJOkrRc0oikT0h6dY65AWDg0PACGEgR8bKkcyWFpP8gqWn723NYMb0lInZGxM8l/ZGk37E9dMT7N0TEzyNih6T/KOnSWa7xTyTdExH3R8QBSX8qaZGkf3CMex5Qq9F9V3tVeqr9dwAAjoOGF8DAiojdEfF7EVGTdKakZZI2Zvz400f8vlfSsKSlx3l/2SzXWNZ+73CeN9qfO+0Y97xF0r2Sbm9vl/iS7eGMeQFgYNHwAoCkiHhC0tfVanx/LuntR7z9jlk+svyI31eotfr6/HHef2aWazwj6Z2HD2y7/bl9h2MdlfFARNwQESvVWgW+QK2tFQCA46DhBTCQbL/b9tW2a+3j5WptO/i+pMckfcD2CtsnSbpulktcZnul7bdL+teS7oiIQ0e8/0e23277vZJ+X9JfznKNTZLOt/2b7ZXaq9WaEvG99vvPSfo7R2T+kO1V7a0TL6vVZL/R9T8CAAwIGl4Ag+oVSb8q6WHbP1er0d0p6eqIuF+tBnW7pCm1xpcd7Ra1VoSflVSR9Mmj3v/vkp6S9N8k/WlE3Hf0BSLiSUmXSfq3aq0OX6jWl9Reb5/yeUn/qj2R4VNqrTTfoVazu7t9j1u6+eMBYJA4IjqfBQDIxHZd0v+WNBwRB8tNAwCQWOEFAABA4mh4AQAAkDS2NAAAACBprPACQMnajxT+P7bfVnYWAEgRDS8AlKj9JbffUGvm7kWlhgGARNHwAkC5Pq7WSLSvS7qi3CgAkCb28AJAiWw/JenLkh5Wq/GtRcRz5aYCgLSwwgsAJbF9rlqPFt4UEVOSfiTpd8tNBQDpoeEFgPJcIem+iHi+ffwNsa0BAHLHlgYAKIHtRWo9lnhI0v72y2+TdLKk1RHxw7KyAUBqWOEFgHJ8VNIhSSslrW7/vEfSQ2p9kQ0AkBNWeAGgBLb/q6RdEXH1Ua//jqS/UOvLawdLCQcAiaHhBQAAQNLY0gAAAICk0fACAAAgaTS8AAAASBoNLwAAAJL21iIuunTp0qjX60VcGgAAAJAkTU1NPR8R1U7nFdLw1ut1TU5OFnFpAAAAQJJke2+W89jSAAAAgKTR8AIAACBphWxpAAAAC0/92nvKjoAFas8Xzi87wnFlbnhtD0malLQvIi6Y640OHDigRqOhmZmZuX60ZyqVimq1moaHh8uOAgAAgJzMZYX3Kkm7JZ3YzY0ajYaWLFmier0u291colARoenpaTUaDY2OjpYdBwAAADnJtIfXdk3S+ZK+0u2NZmZmNDIy0pfNriTZ1sjISF+vQAMAAGDusn5pbaOkayS9cawTbK+3PWl7stlsHuucuSfsoX7PBwAAgLnr2PDavkDSzyJi6njnRcR4RIxFxFi12nH+LwAAANATWfbwniPpItsfkVSRdKLtWyPisvncOO9vgmb9duCdd96pSy65RLt379a73/3uXDMAAACg/3Rc4Y2I6yKiFhF1SeskPTDfZrdMExMTOvfcczUxMVF2FAAAAPTAQM3h3b9/v7Zt26atW7fqwgsv1A033FB2JAAA+ka/z1IFujWnJ61FxIPdzODtF3fddZfWrFmjM844QyMjI5qaOu62ZAAAACRgoB4tPDExoXXr1kmS1q1bx7YGAACAATAwWxpeeOEFPfDAA9qxY4ds69ChQ7KtG2+8kXFkAAAACRuYFd477rhDl19+ufbu3as9e/bo6aef1ujoqB566KGyowEAAKBApa3w9npj/MTEhD796U//wmsf+9jHNDExoQ984AM9zQIAAIDeGZgtDVu3bv2l1z75yU+WkAQAAAC9NDBbGgAAADCYBmaFFwAAHF/eT0HF4Oj3Gc4dV3htV2z/wPYPbe+y3fXTGiKi24/2RL/nAwAAwNxl2dLwmqTzIuIsSaslrbH9a3O9UaVS0fT0dN82lRGh6elpVSqVsqMAAAAgRx23NESrQ93fPhxu/8y5a63Vamo0Gmo2m3P9aM9UKhXVarWyYwAAACBHmfbw2h6SNCXpXZJuioiHZzlnvaT1krRixYpfusbw8LBGR0fnFRYAAACYq0xTGiLiUESsllSTdLbtM2c5ZzwixiJirFqt5p0TAAAA6MqcxpJFxIuStkpaU0wcAAAAIF9ZpjRUbZ/c/n2RpA9LeqLoYAAAAEAesuzhPVXSze19vG+RtCki7i42FgAA6LV+n6UKdCvLlIbtkt7XgywAAABA7ni0MAAAAJJGwwsAAICk0fACAAAgaTS8AAAASBoNLwAAAJJGwwsAAICkZZnDCwAABkD92nvKjoAFqt9nOGd50tpy21ttP257l+2rehEMAAAAyEOWFd6Dkq6OiEdtL5E0Zfv+iHi84GwAAADAvHVc4Y2In0bEo+3fX5G0W9JpRQcDAAAA8jCnL63Zrqv1mOGHZ3lvve1J25PNZjOfdAAAAMA8ZW54bS+W9E1JGyLi5aPfj4jxiBiLiLFqtZpnRgAAAKBrmRpe28NqNbu3RcS3io0EAAAA5CfLlAZL+qqk3RHx5eIjAQAAAPnJMqXhHEmXS9ph+7H2a5+JiC3FxQIAAL3W77NUgW51bHgjYpsk9yALAAAAkDseLQwAAICk0fACAAAgaTS8AAAASBoNLwAAAJJGwwsAAICk0fACAAAgaVnm8AIAgAFQv/aesiNgger3Gc5ZHy28xvaTtp+yfW3RoQAAAIC8ZHm08JCkmyStlbRS0qW2VxYdDAAAAMhDlhXesyU9FRE/jojXJd0u6eJiYwEAAAD5yNLwnibp6SOOG+3XfoHt9bYnbU82m8288gEAAADzktuUhogYj4ixiBirVqt5XRYAAACYlywN7z5Jy484rrVfAwAAAPpelob3EUmn2x61fYKkdZK+XWwsAAAAIB8d5/BGxEHbV0q6V9KQpK9FxK7CkwEAgJ7q91mqQLcyPXgiIrZI2lJwFgAAACB3PFoYAAAASaPhBYCSfeMb39DY2JgWL16sU089VWvXrtW2bdvKjgUAyXBE5H9Ruylpb46XXCHpJzleD/2D2qaL2mZziqR3qPX/zJclhaQTJS1Ra+55P6K26aK26Uq1tu+MiI7zcAtpePNmu5nlj8HCQ23TRW07s32SWmMefz8i/nPZebKitumituka9NoulC0NL5YdAIWhtumitp39uqSKpM1lB5kjapsuapuuga7tQml4Xyo7AApDbdNFbTsbkfR8RBwsO8gcUdt0Udt0DXRtF0rDO152ABSG2qaL2nY2LWmp7UwjIvsItU0XtU3XQNd2QezhBYAUtffwPiPpioi4o+w8AJCqhbLCCwDJiYiXJP2xpJtsf9T2220P215r+0tl5wOAVLDCCwAls/1PJf0LSe+R9IqkKUmfi4jvlRoMABJBwwsAAICksaUBAAAASaPhBQAAQNJoeAEAAJA0Gl4AAAAkrZBh50uXLo16vV7EpQEAAABJ0tTU1PMRUe10XiENb71e1+TkZBGXBgAAACRJtvdmOY8tDQAAAEgaDS8AAACSVsiWBgAACnf9SWUnSM/1L5WdAChE5obX9pCkSUn7IuKC4iIBAACgFw4cOKBGo6GZmZmyoxxXpVJRrVbT8PBwV5+fywrvVZJ2SzqxqzsBAACgrzQaDS1ZskT1el22y44zq4jQ9PS0Go2GRkdHu7pGpj28tmuSzpf0la7uAgAAgL4zMzOjkZGRvm12Jcm2RkZG5rUKnfVLaxslXSPpjeOEWW970vZks9nsOhAAAAB6p5+b3cPmm7Fjw2v7Akk/i4ip450XEeMRMRYRY9Vqx/m/AAAAQE9k2cN7jqSLbH9EUkXSibZvjYjLio0GAACAnsp7+knGyR/PPvusNmzYoEceeUQnn3yyTjnlFG3cuFFnnHFGLjE6rvBGxHURUYuIuqR1kh6g2QUAAEAeIkKXXHKJPvjBD+pHP/qRpqam9PnPf17PPfdcbvdgDi8AYGFiZiyQhK1bt2p4eFif+MQn3nztrLPOyvUec2p4I+JBSQ/mmgAAAAADa+fOnXr/+99f6D14tDAAAACSRsMLAACA0rz3ve/V1NRxh4HNGw0vAAAASnPeeefptdde0/j4+Juvbd++XQ899FBu9+BLawAAAGgp4cugtrV582Zt2LBBX/ziF1WpVFSv17Vx48bc7kHDCwAAgFItW7ZMmzZtKuz6bGkAAABA0ljhBQAALXk/ZQvlY161pAwrvLYrtn9g+4e2d9m+oRfBAAAAULyIKDtCR/PNmGVLw2uSzouIsyStlrTG9q/N664AAAAoXaVS0fT0dF83vRGh6elpVSqVrq/RcUtDtP4F9rcPh9s//fuvAgAAgExqtZoajYaazWbZUY6rUqmoVqt1/flMe3htD0makvQuSTdFxMOznLNe0npJWrFiRdeBAAAA0BvDw8MaHR0tO0bhMk1piIhDEbFaUk3S2bbPnOWc8YgYi4ixarWad04AAACgK3MaSxYRL0raKmlNMXEAAACAfGWZ0lC1fXL790WSPizpiaKDAQAAAHnIsof3VEk3t/fxvkXSpoi4u9hYAACg55jZikRlmdKwXdL7epAFAAAAyB2PFgYAAEDSaHgBAACQNBpeAAAAJI2GFwAAAEmj4QUAAEDSaHgBAACQtCxzeAEAZbr+pLITYFAwhxeJyvKkteW2t9p+3PYu21f1IhgAAACQhywrvAclXR0Rj9peImnK9v0R8XjB2QAAAIB567jCGxE/jYhH27+/Imm3pNOKDgYAAADkYU5fWrNdV+sxww/P8t5625O2J5vNZj7pAAAAgHnK3PDaXizpm5I2RMTLR78fEeMRMRYRY9VqNc+MAAAAQNcyNby2h9Vqdm+LiG8VGwkAAADIT5YpDZb0VUm7I+LLxUcCAAAA8pNlSsM5ki6XtMP2Y+3XPhMRW4qLBQB4E7NRAWBeOja8EbFNknuQBQAAAMgdjxYGAABA0mh4AQAAkDQaXgAAACSNhhcAAABJo+EFAABA0mh4AQAAkLQsc3iB9F1/UtkJAKB8zHxGorI+WniN7SdtP2X72qJDAQAAAHnJ8mjhIUk3SVoraaWkS22vLDoYAAAAkIcsK7xnS3oqIn4cEa9Lul3SxcXGAgAAAPKRpeE9TdLTRxw32q/9AtvrbU/anmw2m3nlAwAAAOYltykNETEeEWMRMVatVvO6LAAAADAvWRrefZKWH3Fca78GAAAA9L0sDe8jkk63PWr7BEnrJH272FgAAABAPjrO4Y2Ig7avlHSvpCFJX4uIXYUnA3qJ2ZMAACQr04MnImKLpC0FZwEAAAByx6OFAaBE9XpdixYt0uLFi9/8eeaZZ8qOBQBJoeEFgJJ95zvf0f79+9/8WbZsWdmRACApjoj8L2o3Je3N8ZIrJP0kx+uhf1DbdFHbbFZJ2iPplZJzzAW1TRe1TVeqtX1nRHSch1tIw5s3280sfwwWHmqbLmqbje09kv4wIv6q7CxZUdt0Udt0DXptF8qWhhfLDoDCUNt0Udvs7rT9YvvnzrLDZEBt00Vt0zXQtc00paEPMDMqXdQ2XdQ2u48upBVeUduUUdt0DXRtF8oK73jZAVAYapsuapsuapsuapuuga7tgtjDCwCpWoh7eAFgoVkoK7wAAABAV1jhBQAAQNJY4QUAAEDSaHgBAACQNBpeAAAAJI2GFwAAAEmj4QUAAEDSCnnS2tKlS6NerxdxaQAAAECSNDU19XxEVDudV0jDW6/XNTk5WcSlAQAAAEmS7b1ZzmNLAwAAAJJGwwsAAICkZd7SYHtI0qSkfRFxQXGRAAySVTevKjsCgLYdV+woOwJQiLns4b1K0m5JJxaUBQAAAD124MABNRoNzczMlB3lmCqVimq1moaHh7v6fKaG13ZN0vmSPifpX3Z1JwAAAPSdRqOhJUuWqF6vy3bZcX5JRGh6elqNRkOjo6NdXSPrHt6Nkq6R9EZXdwEAAEBfmpmZ0cjISF82u5JkWyMjI/Nage7Y8Nq+QNLPImKqw3nrbU/anmw2m10HAgAAQG/1a7N72HzzZVnhPUfSRbb3SLpd0nm2bz36pIgYj4ixiBirVjvO/wUAAAAkSUNDQ1q9evWbP3v27Mn1+h338EbEdZKukyTbH5T0qYi4LNcUAAAA6At5T8/JMv1j0aJFeuyxx3K975GYwwsAAICkzenRwhHxoKQHC0kCYCAx9xMA8Oqrr2r16tWSpNHRUW3evDnX68+p4QUAAADyxpYGAAAAYB5oeAEAAJA0Gl4AAAAkjT28AAAAeFMZXybev39/oddnhRcAAABJo+EFAABA0jpuabBdkfRdSW9rn39HRPxJ0cEAAMD/l/fTr2bDXGykKsse3tcknRcR+20PS9pm+79ExPcLzgYAAIAeiAjZLjvGMUXEvD7fcUtDtBzeSTzc/pnfXQEAANAXKpWKpqen591UFiUiND09rUql0vU1Mk1psD0kaUrSuyTdFBEPd31HAAAA9I1araZGo6Fms1l2lGOqVCqq1Wpdfz5TwxsRhySttn2ypM22z4yInUeeY3u9pPWStGLFiq4DAQAAoHeGh4c1OjpadoxCzWlKQ0S8KGmrpDWzvDceEWMRMVatVvPKBwAAAMxLx4bXdrW9sivbiyR9WNITRQcDAAAA8pBlS8Opkm5u7+N9i6RNEXF3sbEAAACAfHRseCNiu6T39SALAAA4BmbkAt3jSWsAAABIGg0vAAAAkkbDCwAAgKTR8AIAACBpNLwAAABIGg0vAAAAkkbDCwAAgKR1nMNre7mk/yTpFEkhaTwi/rzoYEBqVt28quwIAHBczPpFqrI8ae2gpKsj4lHbSyRN2b4/Ih4vOBsAAAAwbx23NETETyPi0fbvr0jaLem0ooMBAAAAeZjTHl7bdbUeM/xwEWEAAACAvGVueG0vlvRNSRsi4uVZ3l9ve9L2ZLPZzDMjAAAA0LVMDa/tYbWa3dsi4luznRMR4xExFhFj1Wo1z4wAAABA1zo2vLYt6auSdkfEl4uPBAAAAOQnywrvOZIul3Se7cfaPx8pOBcAAACQi45jySJimyT3IAuQNOZbAgBQDp60BgAAgKTR8AIAACBpNLwAAABIGg0vAAAAkkbDCwAAgKTR8AIAACBpNLwAAABIWsc5vJJke42kP5c0JOkrEfGFQlN1adXNq8qOAADAgsW8cKQqy6OFhyTdJGmtpJWSLrW9suhgAAAAQB6ybGk4W9JTEfHjiHhd0u2SLi42FgAAAJCPLA3vaZKePuK40X4NAAAA6Hu5fWnN9nrbk7Ynm81mXpcFAAAA5iVLw7tP0vIjjmvt135BRIxHxFhEjFWr1bzyAQAAAPOSpeF9RNLptkdtnyBpnaRvFxsLAAAAyEfHsWQRcdD2lZLuVWss2dciYlfhyQAAAIAcZJrDGxFbJG0pOMu8MT8QAAAAR+NJawAAAEgaDS8AAACSRsMLAACApDki8r+o3ZS0N8dLrpD0kxyvh/5BbdNFbdNFbdNFbdOVam3fGREd5+EW0vDmzXYzyx+DhYfapovapovapovapmvQa7tQtjS8WHYAFIbapovapovapovapmuga7tQGt6Xyg6AwlDbdFHbdFHbdFHbdA10bRdKwztedgAUhtqmi9qmi9qmi9qma6BruyD28AIAAADdWigrvAAAAEBXFlzDa/tq22F7adlZkA/b/8b2dtuP2b7P9rKyMyEftm+0/US7vpttn1x2JuTD9j+2vcv2G7bHys6D+bO9xvaTtp+yfW3ZeZAP21+z/TPbO8vOUqYF1fDaXi7pt5XmHLlBdmNE/EpErJZ0t6Q/LjsQcnO/pDMj4lck/bWk60rOg/zslPSPJH237CCYP9tDkm6StFbSSkmX2l5Zbirk5OuS1pQdomwLquGV9GeSrpHExuOERMTLRxz+DVHfZETEfRFxsH34fUm1MvMgPxGxOyKeLDsHcnO2pKci4scR8bqk2yVdXHIm5CAivivphbJzlO2tZQfIyvbFkvZFxA9tlx0HObP9OUkfV2tsyodKjoNi/IGkvyw7BIBZnSbp6SOOG5J+taQsQO76quG1/VeS3jHLW5+V9Bm1tjNgATpebSPiroj4rKTP2r5O0pWS/qSnAdG1TrVtn/NZSQcl3dbLbJifLLUFgIWgrxreiPit2V63vUrSqKTDq7s1SY/aPjsinu1hRHTpWLWdxW2StoiGd8HoVFvbvyfpAkm/GcxBXFDm8N8tFr59kpYfcVxrvwYkoa8a3mOJiB2S/vbhY9t7JI1FxPOlhUJubJ8eEf+rfXixpCfKzIP82F6j1r77fxgR/7fsPACO6RFJp9seVavRXSfpd8uNBORnoX1pDWn6gu2dtrertW3lqrIDITf/TtISSfe3x879+7IDIR+2L7HdkPTrku6xfW/ZmdC99pdLr5R0r6TdkjZFxK5yUyEPtick/U9Jf892w/Y/KztTGXjSGgAAAJLGCi8AAACSRsMLAACApNHwAgAAIGk0vAAAAEgaDS8AAACSRsMLAACApNHwAgAAIGk0vAAAAEja/wNzWxNXvLU5iQAAAABJRU5ErkJggg== +" +> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [77]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"F"</span><span class="p">]</span> <span class="o"><</span> <span class="mi">0</span><span class="p">][[</span><span class="s2">"A"</span><span class="p">,</span> <span class="s2">"F"</span><span class="p">]]</span>\ + <span class="o">.</span><span class="n">plot</span><span class="p">(</span> + <span class="n">style</span><span class="o">=</span><span class="p">[</span><span class="s2">"-*r"</span><span class="p">,</span> <span class="s2">"--ob"</span><span class="p">],</span> + <span class="n">secondary_y</span><span class="o">=</span><span class="s2">"A"</span><span class="p">,</span> + <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">6</span><span class="p">),</span> + <span class="n">table</span><span class="o">=</span><span class="kc">True</span> + <span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [78]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"F"</span><span class="p">]</span> <span class="o"><</span> <span class="mi">0</span><span class="p">][[</span><span class="s2">"A"</span><span class="p">,</span> <span class="s2">"F"</span><span class="p">]]</span>\ + <span class="o">.</span><span class="n">plot</span><span class="p">(</span> + <span class="n">style</span><span class="o">=</span><span class="p">[</span><span class="s2">"-*r"</span><span class="p">,</span> <span class="s2">"--ob"</span><span class="p">],</span> + <span class="n">secondary_y</span><span class="o">=</span><span class="s2">"A"</span><span class="p">,</span> + <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">6</span><span class="p">),</span> + <span class="n">yerr</span><span class="o">=</span><span class="p">{</span> + <span class="s2">"A"</span><span class="p">:</span> <span class="n">df_demo</span><span class="p">[</span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"F"</span><span class="p">]</span> <span class="o"><</span> <span class="mi">0</span><span class="p">][</span><span class="s2">"C"</span><span class="p">],</span> + <span class="s2">"F"</span><span class="p">:</span> <span class="mf">0.2</span> + <span class="p">},</span> + <span class="n">capsize</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> + <span class="n">title</span><span class="o">=</span><span class="s2">"Bug: style is ignored with yerr"</span><span class="p">,</span> + <span class="n">marker</span><span class="o">=</span><span class="s2">"P"</span> + <span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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HTt2pHr16oU+59JLL+X1118/fkIjwNKlS+nfv38JPpvwMtYGNx8HIDAJ/F9APPCstfbPhT0+qW5Tm75nS9DHFREREc80cl0mvv/+e04//XTfMYpl5cqVPPLII0yZMqXIx6amplKlShX27dtHly5dWLp0KfXr1y/2sT7//HP++c9/FnisU71uxpg0a23p5qqUQkjmXFtr5wBzQrEvEREREYkeHTt2pE+fPuTk5PxkreuTDR48mAMHDpCZmcl9991XomIN7gTKP/3pT8HELXNhO6FRRERERGJT/iX1CrNw4cKgjhPJ00GO0eXPRURERERCROVaRERERCREVK5FREREREJE5VpEREREJER0QqOIiIiI/ER8fDxnnXXW8dtvvPEGKSkp/gJFCZVrERERkVjwcGs4shsq14O71wa9u+TkZL744osQBCtfNC1ERERESm/rJ7B5iSt24teR3Se+Fy80ci0iIiKll5vl3qvQlZ13xsPOrwu+f+snga+DAax7P7E6xCVAk/NO/Zz6Z8HFDxV62KNHj9KhQwcAmjdvzuuvv16q+OWNyrWIiIiU3LEpCMfEJ7pCF6IpCVICx37BwZ74/vj20tG0kNJRuRYREZGSO3mkOifz1NsleEWMMB//RSe+IuRk5L2vXA9unB2ejHKcyrWIiIiUjLWQUAmy0vJtDExJSEiG7EyokOgrXflz7C8FE6u79zkZMPGgvzzlnE5oFBERkeKzFub+3hXrTjfmvwO6jIGso/BMf9i33lvEcqtyvRPfixcq1yIiIlI81sL798Ky/4PON8El/3QnzYErdIMehmFT4cdNMKkXfD3Da9xy5+61bsQ6RHPeU1NTQ7Kf8kblWkRERIpmLbw7AT563I1QX/IPiItzq1E0655X6E4fDOOWwGlnwGs3waxfQuYRv9lFwkjlWkRERApnLbxzD3zyXzjvVrj4b2BMwY+v0QRumA097oLPp8KTfWDXt+HLK+KRyrWIiIgULDcX5twFn06CC26DgQ8WXqyPia8A/e6D69+A9APwVF/47BlX1EVimMq1iIiInFpuLsy+Ez57Grr+Gi56oHjFOr8Wvd00kWbd3L5eHQVHD5RF2phj9YtIiUTK66VyLSIiIj+Vmwtv3w4rnoPud0D/P5a8WB9TpR5cO8PtY9VseKIHbP0stHljTFJSEvv27YuYwhjprLXs27ePpKQk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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Combine-Pandas-with-Matplotlib">Combine Pandas with Matplotlib<a class="anchor-link" href="#Combine-Pandas-with-Matplotlib">¶</a></h2><ul> +<li>Pandas shortcuts very handy</li> +<li>But sometimes, one needs to access underlying Matplotlib functionality</li> +<li>No problemo!</li> +<li><strong>Option 1</strong>: Pandas always returns axis<ul> +<li>Use this to manipulate the canvas</li> +<li>Get underlying <code>figure</code> with <code>ax.get_figure()</code> (for <code>fig.savefig()</code>)</li> +</ul> +</li> +<li><strong>Option 2</strong>: Create figure and axes with Matplotlib, use when drawing<ul> +<li><code>.plot()</code>: Use <code>ax</code> option</li> +</ul> +</li> +</ul> + +</div> +</div> +</div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Option-1:-Pandas-Returns-Axis">Option 1: Pandas Returns Axis<a class="anchor-link" href="#Option-1:-Pandas-Returns-Axis">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [79]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">ax</span> <span class="o">=</span> <span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s2">"Hello there!"</span><span class="p">);</span> +<span class="n">fig</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">get_figure</span><span class="p">()</span> +<span class="n">fig</span><span class="o">.</span><span class="n">suptitle</span><span class="p">(</span><span class="s2">"This title is super!"</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Option-2:-Draw-on-Matplotlib-Axes">Option 2: Draw on Matplotlib Axes<a class="anchor-link" href="#Option-2:-Draw-on-Matplotlib-Axes">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [80]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> +<span class="n">df_demo</span><span class="p">[</span><span class="s2">"C"</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">)</span> +<span class="n">ax</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s2">"Hello there!"</span><span class="p">);</span> +<span class="n">fig</span><span class="o">.</span><span class="n">suptitle</span><span class="p">(</span><span class="s2">"This title is super!"</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAloAAAEVCAYAAAA4vUvOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Wd4VNX+9vHvSiGh995CC71D6KCoCAg2OopUwQaiWFDPsfzP8ajYQLBQFBFRiqKoCAqK9A4JNfQeeiAhhNRZzwvieTgYJG2yk5n7c11cJtl79r5nOZP5Za+yjbUWEREREcl6Pk4HEBEREfFUKrRERERE3ESFloiIiIibqNASERERcRMVWiIiIiJuokJLRERExE1UaIl4GWPMq8aYL/9m+05jzC1ZcJ4XjTHT/mb7IGPMqgwee5ExZmDG04mIZA8/pwOISNYyxsRc820+IB5ITvl+xM0eb62tm4Fz3gJ8aa2tcM1x/nPN9iDgEOBvrU1K7/FTydgls8dwkjHmVaC6tfZBp7OIiHvpipaIh7HWFvjzH3AU6H7Nz2Y5nc+bGWP0x62Il1GhJeKd8hhjvjDGXErpKmz25wZjzGFjzO0pX4cYYzYZY6KNMaeNMe9dfyBjTH5gEVDOGBOT8q/cdV2UK1L+ezFle6tUjlPLGLPEGBNpjNljjOl9o/DGmD+MMcNSvq5ujFlujIkyxpwzxsy5wWMCjTFfGmPOG2MuGmM2GmNKX/+cU77/b3ZjTJAxxhpjhhtjIowxJ40xz1yzr48xZqwx5kDKsecaY4pd99ihxpijwO83ek4i4plUaIl4p7uB2UAR4Adg0g32mwBMsNYWAqoBc6/fwVp7GegCRFxz5Sziut3ap/y3SMr2tdduTCnWlgBfAaWAvsBHxpg6aXgu/wJ+BYoCFYCJN9hvIFAYqAgUBx4BrqTh+H+6FagBdAKev6YwGwncC3QAygEXgA+ve2wHoDZwZzrOJyIeQIWWiHdaZa392VqbDMwEGt5gv0SgujGmhLU2xlq7zk15ugGHrbXTrbVJ1tqtwLdArzQ8NhGoDJSz1sZZa280wD6RqwVWdWttsrV2s7U2Oh0ZX7PWXrbWbgemA/1Sfv4I8JK19ri1Nh54Feh5XTfhqymPTU9hJyIeQIWWiHc6dc3XsUDgDcYPDQWCgfCUrrZubspTGWiR0qV30RhzEXgAKJOGxz4HGGBDSjfokBvsNxP4BZid0gU4zhjjn46Mx675+ghXr179mf27a3Lv5urkg9I3eKyIeBENzBSRG7LW7gP6GWN8gPuBb4wxxVO6C/9n15sd6ibbjwHLrbV3ZCDjKeBhAGNMW2CpMWaFtXb/dfslAq8Br6XMgvwZ2AN8Clzm6gzNP6VW4FUEwlO+rgT82T16DBhirV19/QNSzgPXPX9r7atpeW4ikvvpipaI3JAx5kFjTElrrQu4mPJjVyq7ngaKG2MK3+BQZ1MeV/UG238Cgo0xA4wx/in/mhtjaqchYy9jzJ/LSlzgalHzl4zGmFuNMfWNMb5ANFe7Ev/cLxTom3LeZkDPVE71T2NMPmNMXWAw8Oeg+0+A140xlVPOU9IYc8/NcouId1ChJSJ/pzOwM2VtrglA39TGGVlrw4GvgYMpXWjlrtseC7wOrE7Z3vK67Ze4Osi8L1evFJ0C3gIC0pCxObA+JeMPwJPW2oOp7FcG+IarRdZuYDlXuxMB/snVwf4XuHrV66tUHr8c2A/8Brxjrf015ecTUs77qzHmErAOaPF3gW+2mKuIeA5j7c2u6IuIeK+sXmxVRLyLrmiJiIiIuIkKLRERERE3UaElIo66wSrsWTIj+voV3zPCWnvYWmvUbSgiGaFCS0QyJbVixhgzyBhzo4VD3ZXjc2PMv7PznKlkyHRhJyKeRYWWiMhNZNUVNhHxPiq0RMTtUm4y/a0x5qwx5pAxZlQ6HvdDyo2m9xtjHr7BfsO5upL8cyk3rf7xms2NjDHbUm46PccYE3jN47oZY0JTlpxYY4xpcM22w8aY540x24DLxhi/jD4PEfFeKrRExK1SVpX/EQgDygO3AaONMWm5wfJs4DhXb3fTE/iPMabj9TtZa6cAs4BxKTet7n7N5t5cXQ+sCtAAGJSSqzHwGTCCq/dAnAz8YIy5du2ufsBdXL35tisTz0NEvJQKLRHJCt9fd5/Cj67Z1hwoaa39P2ttQspiolO5ujjpDRljKgJtgOdTbhYdCkwDHkpntg+stRHW2kiuFkqNUn4+HJhsrV2fcpPpGUA80PK6xx5LWaQ1Q89DRLybxh2ISFa411q79M9vjDGDgGEp31YGyqUUYH/yBVbe5JjlgMiUVeP/dARols5s199A+9qbQQ80xoy8Znuea7bD/94MOqPPQ0S8mAotEXG3Y8Aha22NdD4uAihmjCl4TbFVCThxg/3Te5uLY8Dr1trX/2afa4950+dhrQ1KZwYR8XDqOhQRd9sAXEoZWJ7XGONrjKlnjGn+dw+y1h4D1gBvGGMCUwaqDwW+vMFDTnPjm1anZirwiDGmhbkqvzHmLmNMwax8HiLi3VRoiYhbWWuTgW5cHRt1CDjH1bFWhdPw8H5AEFevbn0HvHJtF+V1PgXqpIwT+z4NuTYBDwOTuHoz6f2kDJTP6PMwxuw0xtxys3OLiPfQTaVFRERE3ERXtERERETcRIWWiIiIiJuo0BIRERFxExVaIiIiIm7iyDpaJUqUsEFBQU6cWkRERCRdNm/efM5aWzIjj3Wk0AoKCmLTpk1OnFpEREQkXYwxRzL6WHUdioiIiLiJCi0RERERN1GhJSIiIuImKrRERERE3ESFloiIiIibqNASERERcRMVWiIiIiJuokJLcqxLcYl8tf4oVxKSnY4iIiKSISq0JEey1vLidzt48bvtDJq+gZj4JKcjiYiIpJsKLcmRvg89wY9hEdxeuxSbjlzgoU/XE3Ul0elYIiIi6aJCS3KcY5GxvPz9TppVLsrkAc34sH9jtp+I4oFp67hwOcHpeCIiImmmQktylGSXZczcMCzwfp9G+PoYOtcry+QBTdl7OoZ+U9dx9lK80zFFRETSRIWW5CifLD/AhsOR/N89dalYLN9/f96xVmk+G9icw+cv03fKWk5FxTmYUkREJG1UaEmOse34Rd5fspduDcpyX+Pyf9netkYJvhjSglNRcfSZspbjF2IdSCkiIpJ2KrQkR4hNSGL07FBKFgzg9XvrY4xJdb+QKsWYOawFkZcT6DN5HUfOX87mpCIiImmnQktyhH8v3M2h85d5t3dDCufz/9t9m1QqytcPtyQ2IYlen6xl/5mYbEopIiKSPiq0xHFLd53mq/VHGd6uKq2rlUjTY+qVL8zs4a1wWUvfKWsJPxXt5pQiIiLpp0JLHHX2UjzPf7uNOmUL8XSn4HQ9tmaZgswZ0Qo/Hx/6TlnH9uNRbkopIiKSMSq0xDHWWp77JoyY+CQm9G1EgJ9vuo9RrWQB5o5oRf48fvSfto7NRy64IamIiEjGqNASx3y57gjL9pzlxa61qVG6YIaPU6l4PuY+0ori+fPw0KfrWXfwfBamFBERyTgVWuKI/Wcu8e+Fu+kQXJKHWlXO9PHKF8nLnBGtKFM4kEHTN7Bi79ksSCkiIpI5KrQk2yUkuXhydij5A/x4u1eDGy7lkF6lCwUyZ0QrgornZ9iMTfy2+3SWHFdERCSjVGhJtntvyV52RkTz5v31KVUwMEuPXaJAALOHt6RW2YKMmLmZRdtPZunxRURE0kOFlmSrtQfOM3nFAfqFVKRT3TJuOUeRfHn4clgLGlYswhNfb2VB6Am3nEdERORmVGhJtomKTWTM3FCCiufnn93quPVchQL9+WJICM2DijJ6TihzNx5z6/lERERSo0JLss0/F+zg9KV4xvdpRL48fm4/X/4AP6YPCqFt9RI89+02vlh72O3nFBERuZYKLckW3289wQ9hEYy+rQYNKxbJtvPmzePLtIHNuL12KV5esJOpKw5m27lFRERUaInbHYuM5Z/f76BZ5aI8dmv1bD9/gJ8vHz3QlLvql+X1n3cz8bd92Z5BRES8k/v7b8SrJbssY+aGYYH3+zTC1ydrlnJIrzx+Pimrz/vw7pK9xCe5GNMpOMuWlhAREUmNCi1xq0+WH2DD4Uje7dWQisXyOZrFz9eHd3o1JI+fD5OW7ScuMZmX7qqtYktERNxGhZa4zbbjF3l/yV7ualCW+5uUdzoOAD4+hv/cV58APx+mrTpEfJKL1+6ui49DV9pERMSzqdASt4hNSGL07FBKFgzgP/fWz1FXjXx8DK/eXZdAf18mrzhIXGIyb/Zo4Fi3poiIeC4VWuIWry/czaHzl5k1tAWF8/k7HecvjDGM7VKLAH9fPvhtHwnJLt7t1RA/X80PERGRrKNCS7Lc0l2nmbX+KMPbV6V19RJOx7khYwxP3xFMoL8P4xbvIT7RxQf9GpPHT8WWiIhkDX2iSJY6eyme57/dRu2yhRjTKdjpOGny2C3V+We3OizeeYpHvtxMXGKy05FERMRDqNCSLGOt5blvwoiJT0pZSsHX6UhpNrRtFf59bz1+Dz/DsBmbiE1IcjqSiIh4ABVakmW+XHeEZXvO8kKXWgSXLuh0nHR7sGVl3u7ZgDUHzjHos43ExKvYEhGRzMmSQssY85kx5owxZkdWHE9yn/1nLvHvhbvpEFySga2DnI6TYb2aVWR838ZsPnqBAZ+uJ+pKotORREQkF8uqK1qfA52z6FiSyyQkuRg9J5T8AX683bNBjlrKISPubliOD/s3YceJKB6Yto4LlxOcjiQiIrlUlhRa1toVQGRWHEtyn/eW7GXHiWjevL8+pQoFOh0nS3SuV4YpA5qx93QMfaes4+yleKcjiYhILpRtY7SMMcONMZuMMZvOnj2bXacVN1t38DyTVxygX0hFOtUt43ScLHVrrVJMH9Sco5Gx9JmyllNRcU5HEpFMstYyd9MxOo9fwYw1h0lIcjkdSTxcthVa1top1tpm1tpmJUuWzK7TihtFXUnk6TmhVC6Wj3/cVcfpOG7RpnoJZgwJ4Ux0PL0nr+X4hVinI4lIBl2KS+TJ2aE89802Ii8n8MoPO7nj/eUs3HYSa63T8cRDadahZNg/v9/B6UvxjO/bmPwBnrv2bUiVYswcGsLF2AR6f7KWw+cuOx1JRNIp7NhF7vpgFQu3n+SZTsGsfeE2pg9uTqCfL49/tYV7P1rDuoPnnY4pHkiFlmTIgtAT/BAWwejbatCoYhGn47hd40pF+erhllxJTKb35LXsP3PJ6UgikgYul2XKigP0+HgNyS7LnOEteaJjDXx9DLfWLMXPT7bj7Z4NOBMdR98p6xj6+Ub2ntb7W7KOyYrLpcaYr4FbgBLAaeAVa+2nN9q/WbNmdtOmTZk+rzjj+IVYuoxfSXCZgswZ3tKr7g+49/Ql+k9dj7WWL4e1oHbZQk5HEpEbOBcTz9Nzw1ix9yyd65bhrR4Nbnjv1bjEZKavPsxHf+zncnwSPZtW4Ok7alKmsGdM8JHMMcZsttY2y9BjneiXVqGVeyW7LP2mrGPXyWgWPdmOisXyOR0p2x08G0P/qeuJS0rmiyEhNKjg+Vf0RHKbVfvO8dTcUKKuJPJytzo80KJSmpaeuXA5gQ+X7eeLtUfw8YEhbarwyC3VKBSYeoEm3iEzhZb3XIqQLDF5xQE2HI7ktbvremWRBVC1ZAHmjmhFgQA/Hpi6ns1HtLKJSE6RmOzircXhDPhsPYXz+vPDE214sGXlNK/vVzR/Hv7RrQ6/jelA57pl+OiPA3QYt4zPVh0iPkn3QZX00xUtSbPtx6O476PV3Fm3DJP6N871C5NmVsTFK/Sfuo4zl+L5dGBzWlUr7nQkEa92LDKWUbO3svXoRfqFVOTlbnXJmydz91zdcSKKNxbtZvX+81Qslpdn76xFt/pl8fHx7t9/3kZdh+J2VxKSuWviSmLjk1k8uh1F8uVxOlKOcCY6jgemredoZCxTH2pG+2AtXSLihIXbTjJ2/jaw8EaP+nRrUC7Ljm2tZcW+c7y5KJzdJ6OpX74wL3SpRevqJbLsHJKzqetQ3O71n3dx8Oxl3uvdUEXWNUoVCmT28JZULVmAYTM2sXTXaacjiXiVKwnJvDB/G49/tYVqJQvw85PtsrTIAjDG0CG4JAtHtuW93g2JvJxA/2nrGTR9A+GnorP0XOJ5VGjJTf22+zRfrjvKw+2q6C+4VBQvEMDXD7egdtmCPPLlZhZuO+l0JBGvsOfUJe6etIrZG4/x6C3VmPdIK7eOHfXxMdzfpAK/jenAi11rseXIBbpMWMmYuWFEXLzitvNK7qauQ/lbZy/F03n8CkoVCuT7x1sT4Je58Q6eLDoukcHTN7L16AXe7d2Q+xpXcDqSiEey1jJr/VH+9dMuCgb6836fhrSrkf3d9hdjE/jojwN8vuYwAIPbBPHYLdUpnFczFD2NxmiJW1hrGTpjE6v2n+OnkW0JLl3Q6Ug53uX4JIbN2MS6Q+d547769A2p5HQkEY8SFZvI2PnbWLTjFO2DS/Jur4aULBjgaKbjF2J579e9fBd6gkKB/ozsWJ0BrSrrD1MPojFa4hZfrj/K7+FneKFLLRVZaZQ/wI/pg5vTvkZJxs7fzhdrDzsdScRjbDocSdcPVrJk12le7FqLzwc1d7zIAqhQNB/v9WnEwpHtaFixCP9euJuO7yzn+60ncLl0D0Vvp0JLUrX/TAyvL9xF++CSDGod5HScXCXQ35cpDzXljjqleXnBTqasOOB0JJFcLdllmfT7PvpMWYevj+GbR1szvH21HLfEQp1yhfhiSAhfDm1BkXz+jJ4TSvdJq1i175zT0cRB6jqUv0hIcnH/x6s5ceEKv4xuT6lCugVFRiQmuxg9J5SF207y9B3BjOxY3evXHhNJr9PRcYyeHcrag+e5u2E5Xr+vHgVzwSrtLpflx20RvP3LHo5fuEK7GiUY26UWdcsVdjqaZEBmug79sjqM5H7vL93LjhPRTB7QVEVWJvj7+jChTyMCfH14b8le4hKTefbOmiq2RNLo9/DTPDNvG1cSkhnXswG9mlbINe8fHx/DPY3K07leGWauPcKkZfvpNnEV9zYqz5hOwVQo6p131vBGKrTkf6w7eJ5Plh+gb/OK3Fm3jNNxcj0/Xx/e6dWQAH9fPvrjAHGJLv7ZrXau+bAQcUJ8UjLjFu/h01WHqFWmIJP6N6F6qQJOx8qQAD9fhrWrSq9mFfn4jwNMX32IhdtOMrB1ZR6/tbrWJfQC6jqU/4q6kkjXCSvx9zUsHNWO/AGqw7OKtZbXftzF52sO80CLSvzrnno5bnyJSE5w6NxlRn69hR0nohnYqjIvdK1NoL/nzN6LuHiF95fs5ZstxykY4Mfjt1ZnYOsgj3qOnkhdh5IlXl6wg1PRcXzzSCsVWVnMGMMr3esQ6O/LJ8sPEJ/k4q0eDfBVsSXyX99tPc4/vtuBn68PUwY0pZMHXlUvVyQvb/dqyNB2VXhrUThvLApnxprDjOlUk3sbl9fvBA+kT1MBYEHoCRaERvD0HcE0rlTU6TgeyRjD851rEujvw/il+0hIcvFu74b4+2ryr3i3y/FJ/HPBDuZvOUFIUDHG921EuSJ5nY7lVrXKFGL64BDWHLh6D8Ux88KYuvIgY7vUokNwSQ0v8CDqOhSOX4ily4SVBJcuyJzhLfHTB7/bffzHAd5aHM6ddUszsV8T8vipzcU77TgRxcivt3Lk/GWe6FiDUR2re93vIJfLsnD7Sd7+ZQ9HI2NpU704L3SpTb3ymqGYU2jBUsmwZJfl6blhWAvv927kdb/gnPLoLdV4pXsdftl5mhEzNxGXmOx0JJFsZa3ls1WHuP+jNVxJSOarh1vy9B3BXvk7yMfH0L1hOZY+3YFXutdh98lLdJu4iidnb+VYZKzT8SST1HXo5SavOMCGQ5G806shlYprunF2GtymCgF+vrz0/XaGztjI1IeakS+P3pLi+SIvJ/DsvDB+Cz/D7bVLMa5nQ4rl1+y7PH4+DG5ThR5NKzB5+QE+XXWIRdtP8WDLyozsWJ2iaqNcSV2HXmzHiSju/XA1neqW5sP+TTQmwCHfbj7Os9+E0axyMT4d1CxXLMYoklFrD5xn9JytXLicyAtdazGodZB+99zAqag43l+yl3mbj5E/jx+P3lqNIW2qaIaiA3RTaUm3KwnJ3DVxJbHxySwe3U5ruTjsx7AIRs8JpX75wswYEkLhvCq2xLMkJbv44Ld9TFy2nyrF8/NBv8Yag5RGe09fYtzicJbuPkOZQoE83SmYHk0qaIZiNtIYLUm313/excGzl3m3d0MVWTlA94bl+OiBJuyMiKL/1HVEXk5wOpJIljlx8Qr9pq7jg9/306NJBX4c2VZFVjoEly7ItIHNmTO8JaULB/LcN9voOmEly8LP4MTFEkkfFVpe6Pfw03y57ijD2lahTfUSTseRFHfWLcPUh5qx/0wMfaes5cylOKcjiWTa4h2n6DphJbsiohnfpxHv9GqodfoyqEXV4nz/WGs+eqAJ8UnJDP58I/2mriPs2EWno8nfUNehlzkXE0/n8SsoUSCABU+0IcBPff05zZr95xg6YxNlCwcy6+EWlC3s2esJiWeKS0zm9YW7mbnuCPXLF2Ziv8YElcjvdCyPkZjs4usNR5mwdB/nLydwV4OyPHdnTSoXVxu7g8ZoSZpYaxk6YxOr9p/jxyfaUrNMQacjyQ1sOhzJoOkbKZrfn6+GtaRiMc0Ildxj/5lLPPHVVsJPXeLhdlV49s5aWivOTS7FJTJ1xUGmrjxEksvFAy2uzlAsXiDA6WgeRWO0JE1mrT/K7+FnGNu5loqsHK5ZUDG+HNaCqNhE+kxey6Fzl52OJHJT1lpmbzhKt4mrOHspnumDm/PSXXVUZLlRwUB/nu5Uk+XP3kLPphWZue4IHd7+g0m/7+NKgtbnywl0RctL7D8TQ7eJK2keVIwZg0N0Q+NcYmdEFAM+3YCfj2HWsBbUKK0CWXKm6LhEXpy/nZ+2naRN9eK837sRpQoFOh3L6+w/E8O4xeH8uus0pQsF8NTtwfRsWsErF4LNSuo6lL+VkOTi/o9Xc+LCFRaPbk9p/fLLVfaevsQD09aT7LJ8ObQFdcoVcjqSyP/YevQCo2ZvJeJiHE/fEcwjHapp6QGHbTocyX9+3s2WoxepUaoAz3Wuxe21S2nNsgxS16H8rfFL97LjRDRv3N9ARVYuFFy6IHNHtCLAz0czjCRHcbksH/9xgF6frMXlgrkjWvL4rdVVZOUAzYKK8e2jrfnkwaYkuywPf7GJPpPXsfXoBaejeR0VWh5u/cHzfLz8AH2aVaRzvTJOx5EMqlIiP3NHtKJQXj8enLaeTYcjnY4kXu7MpTgGTt/AW4vD6VS3ND8/2Y6mlYs5HUuuYYyhc70y/PJUe/59bz0OnrvMfR+t4bFZmzXuMxup69CDRccl0mX8Svx8DT+Paqe1azzAyagr9J+6ntPRcXw6sDmtqhV3OpJ4oRV7z/L03FAuxSXxSve69AupqC6pXOByfBJTVx5kyoqDJCS56N+iEqNuq0EJzVC8KXUdSqpe/n4Hp6LjGN+nkYosD1G2cF7mDG9J+SJ5GTR9A8v3nnU6kniRxGQXbyzazUOfbaBY/jz88ERb+reopCIrl8gf4Mfo24NZ/uyt9A2pyKz1R+kwbhkTlu7jcnyS0/E8lgotD7Ug9ATfh0YwqmMNGlcq6nQcyUKlCgUye3hLqpUswMMzNvHrzlNORxIvcPR8LD0/Wcvk5Qfp36ISCx7XWny5VcmCAfz73voseao97YNL8v7SvXR4+w9mrT9CUrLL6XgeR12HHujExSt0Hr+CGqUKMHdEK03r9VBRsYk8NH0DO09EMaFvY+5qUNbpSOKhfgyL4MX528HAWz0a0LW+XmueZPORC7y5aDcbD1+gasn8PN+5Fp3qlNaVymuo61D+K9lleXpOKC6XZXyfxiqyPFjhfP58OTSExpWKMPLrLczfctzpSOJhYhOSeP6bbYz8eis1Shfg51HtVGR5oKaVizJ3RCumDGiKAUbM3EzPT9ay+Ygm3WQFfQp7mCkrDrL+UCSv3l2XSsV12xZPVzDQnxlDQmhZtThj5oXx9YajTkcSD7H7ZDTdJ65i7uZjPHZLNeaMaKVbQXkwYwyd6pbhl9HteeP++hyNjKXHx2sZMXMTB87GOB0vV8uSQssY09kYs8cYs98YMzYrjinpt+NEFO8t2UPX+mXo2bSC03Ekm+TL48dng5rTIbgkL8zfzuerDzkdSXIxay0z1x7mng9XEx2XxJdDW/Bc51r46+q4V/Dz9aFfSCWWP3sLY+4IZvX+83R6fwUvfredM5finI6XK2V6jJYxxhfYC9wBHAc2Av2stbtu9BiN0cp6VxKS6TZxJTHxSSx+sj1F8+dxOpJks/ikZEZ+tZVfd51mbJdaPNKhmtORJJe5GJvA899u45edp7mlZkne6dVQU/+93LmYeCb+to9Z64+Sx8+HYe2qMrx9VQp42Ux2p8dohQD7rbUHrbUJwGzgniw4rqTDf37ezYGzl3m3VyMVWV4qwM+XDx9oQveG5XhzUTgTlu7DickukjttPBxJ1wkr+T38DC91rc1nA5uryBJKFAjgtXvqsfTpDtxasxQf/LaPW95exsy1h0nUDMU0yYpCqzxw7Jrvj6f8TLLJsvAzzFx3hGFtq9C2Rgmn44iD/H19GN+nET2aVOD9pXsZ98seFVvyt5Jdlg9+20efyWvx9/Ph20db83D7qrrxvPyPoBL5+fCBJnz/eBuqlSzAPxfspNP7K1i0/aR+x9xEtl37M8YMB4YDVKpUKbtO6/HOxcTz7Ddh1CpTkGfurOl0HMkBfH0Mb/dsQIC/Dx//cYC4xGRe7lZHU7XlL05FxTF6zlbWHYzknkbl+Pe99SgY6O90LMnBGlUswuzhLVm25wxvLgrn0VlbaFypCC90qU1IFd2CKTVZUWidACpe832FlJ/9D2vtFGAKXB2jlQXn9XrWWp7/ZhvRcUnMGtaSQH9fpyNJDuHjY3j93noE+PkwffVh4pNc/PueerpKIf/12+7TPDMvjLhEF2/3bEDPphVUjEuaGGPoWKs0HYJL8e3m47xNRC1SAAAfhUlEQVS7ZA+9J6/l9tqlGdulJtVLaSHba2VFobURqGGMqcLVAqsv0D8Ljis38dWGo/wWfoaXu9XRCs3yF8YYXu5Wh0B/Xz7+4wDxiS7G9WyAr4otrxaflMybi8KZvvowdcoWYmL/xlQrWcDpWJIL+foYejevSPeG5fhs9SE++eMAnd5fQZ/mFRl9ezClCwU6HTFHyHShZa1NMsY8AfwC+AKfWWt3ZjqZ/K0DZ2P410+7aFejBINaBzkdR3IoYwzP3VmTvP6+vLdkL/FJybzfp5Gm6nupg2djGPn1VnZGRDOodRBju9TSlXDJtLx5fHn81ur0C6nExN/38eW6I3y39QTD2lZlRIeqXt8drVvw5EIJSS56fLyG4xdiWTy6vf5qkDSZvPwAbywKp1Od0kzs35gAP33AepNvNx/nnwt2kMfPh7d7NuSOOqWdjiQe6uj5WN75dQ8/hEVQLH8eRnWsTv8Wlcnjl3v/wHN6eQfJZhN+28v2E1G8cX99FVmSZiM6VOPV7nX4dddpRszcTFxistORJBvExCfx1JxQxswLo175wix6sp2KLHGrSsXz8UG/xvzwRBtqli7Iqz/u4o73l/PTtgivnKGoQiuX2XAoko/+OEDvZhXoXE/3HJP0GdSmCm/cX5/le88y5PONxCYkOR1J3Gj78Si6fbCSBaEneOr2YL5+uCVlC+d1OpZ4iQYVivDVwy2YPrg5ef19eeKrrdz74WrWHjjvdLRspa7DXCQ6LpEu41fi52v4eVQ78nvZyrySdeZvOc4z88JoWrkonw1q7vVjKDyNy2X5bPUh3locTokCAYzv04gWVYs7HUu8WLLLMn/Lcd5bspeTUXF0rFWK5zvXyjUTuTLTdahCKxd5ak4oP4RFMO+RVjSpVNTpOJLLLdx2kidnb6Vu+cJ8MTiEwvlUbHmC8zHxPDMvjGV7znJHndKM69FAd4uQHCMuMZnP1xzmw2X7uRyfRM+mFXjqjuAcf6VVhZYX+CEsglFfb2X07TUYfXuw03HEQyzZdZrHZ22heqkCzBwaQnHdciVXW7P/HKPnhHLxSiL/uKs2A1pW1tpYkiNduJzAh8v288XaIxgDQ9pW4dFbqlEoh15dV6Hl4U5cvELn8SuoUaoAc0e0wk9T8yULLd97luFfbKJSsXzMergFpQpqgkVuk5Ts4v2le/nojwNUKZGfSf2aUKdcIadjidzUschY3v11D9+HRlA0nz9PdKzBgy0r5bhZ0Sq0PFiyy9J/6jp2nIji5yfbUbl4fqcjiQdac+Acw2ZsokyhQGY93CLHX8aX/+/4hVienB3K5iMX6N2sAq/eXZd8eTR+U3KXHSeieGtxOCv3naNisbw806km3RuUyzF3s9DyDh5s6sqDrD8UySt311WRJW7TuloJvhgSwtlL8fSevJZjkbFOR5I0WLT9JF0nrGTPqUtM6NuIcT0bqsiSXKle+cLMHNqCL4aEUCDAnydnh3LPh6tZs/+c09EyTYVWDrbjRBTv/rqHLvXK0KtpBafjiIdrFlSMWQ+3IPpKEr0nr+Xg2RinI8kNxCUm8+J323l01haqlMjPwlFtuadReadjiWRa++CSLBzZlvf7NCTycgL9p61n4Gcb2H0y2uloGaauwxzqSkIy3SauJCY+icVPttesIck2uyKiGfDpenx8DF8Na0GN0rlj+rW32Hv6EiO/2sqe05cY0b4qYzrVzNUrbovcSFxiMjPXHmHSsv1ExyVyf+MKPN0pmPJFsn9og7oOPdAbi3Zz4Oxl3unVUEWWZKs65Qoxe3hLDNBnyjp2RkQ5HUkAay1frT/K3ZNWcS4mnhlDQniha20VWeKxAv19ebh9VVY8eyvD21Xlx20R3PrOH7yxaDdRsYlOx0szvUNzoGXhZ/hi7RGGtq1CuxolnY4jXqhG6YLMGdGKQD8f+k1ZR9ixi05H8mpRVxJ54qutvPjddppVLsaiJ9vRIVi/G8Q7FM7nzwtda7PsmVvo3qAcU1YcpP3by5i64mCuuJWYug5zmHMx8XQev4ISBQL4/vE2BPrnrCmu4l2ORcbSf9o6LlxOZPrg5jQPKuZ0JK+z+cgFRn29lVPRcYzpFMwj7avlmJlYIk7YFRHNW4vDWb73LOWL5OWZO4O5p2F5t74v1HXoIay1jP12G9FxSYzv20hFljiuYrF8zB3RilIFA3jo0w0eMQMot3C5LB8u20/vyWsxBuY90orHbqmuIku8Xp1yhZgxJIRZw1pQNL8/T80Jo9vEVazcd9bpaKlSoZWDfLXhKEt3n+H5zrWoVUaLDUrOULZwXmaPaEnFYnkZ/PlG/thzxulIHu9MdBwDPlvP27/soXPdMiwc1U633RK5TpvqJfjh8bZM6NuI6LhEBny6gQGfrmfHiZw1rlRdhznEgbMx3PXBSpoHFWPG4BD91So5TuTlBAZ8up69py/xYf8mdKpbxulIHumPPWcYMzeMywlJvNK9Ln2bV9RtdERuIj4pmS/XHWXi7/u4GJvIfY3LM6ZTMBWK5suS42tl+FwuMdlFj4/XcDQyll9Gt6d0Id0CRXKmqNhEBk7fwI4TUYzv24huDco5HcljJCS5ePuXcKauPETN0gWZ1L+xltYQSaeoK4l8svwAn606hLXwUKvKPNGxOkXyZW72vsZo5XLjl+5l2/Eo3ry/voosydEK5/Nn5tAQGlcqwqivt/Lt5uNOR/IIh89dpucna5i68hAPtKjEgifaqMgSyYDCef15vnMt/nj2Fu5pVI5PVx+i/bhlfLL8gGMzFHVFy2EbDkXSZ8paejWtwLieDZ2OI5ImsQlJPPzFJlbvP89/7qtP/xaVnI6Uay0IPcFL3+3Ax8BbPRrQpX5ZpyOJeIzwU9G8tSicZXvOUq5wIE93qsl9jcvjm87hOeo6zKWi4xLpMn4lfr6GhaPaUSBA9yiT3CMuMZlHv9zMsj1neaV7HQa3qeJ0pFwlNiGJVxbsZN7m4zStXJQJfRtl2XgSEflfaw+c581Fuwk7HkWtMgUZ26UWHYJLpnn8o7oOc6lXFuzkVHQc7/dppCJLcp1Af18mD2jGnXVL89qPu/j4jwNOR8o1dkZE0W3iKr7Zcpwnbq3OnOEtVWSJuFGrasX5/vE2TOrfmNiEZAZN38gD09az/bj7Zyiq0HLID2ERfLf1BCM7Vte0bcm18vj5MKl/E7o3LMdbi8MZv3QvTlwlzy2stcxYc5j7PlxDTFwSs4a24Jk7a+Lnq1/FIu5mjKFbg3IsfboDr3avQ/ipS3SftIpRX2/lWGSs286ryygOiLh4hX98t53GlYrwxK3VnY4jkin+vj6M79OIAD8fxi/dR1yii+c719SSBNe5cDmB577dxpJdp7m1Zkne6dWQ4gUCnI4l4nXy+PkwqE0VejStwOTlB5m26iCLdpxkQMsgnuhYnWJZfH9hFVrZLNlleXpuKMkuy/g+jfSXrHgEXx/DuB4NCPT3+e/snle611GxlWL9wfOMnhPKuZh4/nFXbYa2raK2EXFYwUB/nrmzJg+2rMz4pXv5fM0h5m06xiO3VGNImyrkzZM1d2dRoZXNpq08yLqDkYzr2YDKxfM7HUcky/j4GP51Tz0C/Hz5dNUh4pNcvH5vPa9efDfZZZn4+z4++G0flYrlY/6jbahfobDTsUTkGmUKB/JmjwYMbVuFtxbv4e1f9jBz7RGeviOYHk0rpHuG4vVUaGWjHSeieOfXq7fU6NW0gtNxRLKcMYZ/3FWbQH8fPlx2gPikZMb1aOCVV25PRl3hydmhbDgUyf2Ny/N/99bTpBeRHKxG6YJMG9iMDYci+c/Pu3nu221MW3WQsV1qZeq4etdnkysJyYyeE0qx/Hl44/766jYQj2WM4dk7axHo58u7S/YSn+RifJ9G+HtRsbVk12me/SaMhCQX7/ZqSA/9YSWSa4RUKcZ3j7Vm0Y5TjFsczpDPM7cclQqtbPLmot3sPxPDzKEhFM3igXYiOdHI22oQ4O/Df34OJyHJxaT+jQnwy5oxDzlVXGIyby4K5/M1h6lbrhAT+zWmaskCTscSkXQyxtC1flnuqFOa2RuO8tBbGT+W9/yJ6aBle84wY+0RhrSpQrsaJZ2OI5Jthrevxmt312XJrtMM/2KzY7fAyA4HzsZw30dr+HzNYYa0qcL8x1qryBLJ5fx9fRjQKihTx9AVLTc7FxPPs/O2UatMQZ7rXNPpOCLZbmDrIAL9fRg7fzuDp29k2sBm5PegsUrWWuZtPs4rC3YS6O/DpwObcVvt0k7HEpEcwnN+2+VA1lrGfrud6CuJfDkshEB/z+42EbmRPs0rkcfPhzFzwxj42QY+G9ycQoH+TsfKtEtxifzj+x0sCI2gZdVijO/TmDKFdWN4Efn/1HXoRl9vOMbS3ad5rnNNapUp5HQcEUfd17gCk/o3IfTYRQZMW8/F2ASnI2VK2LGLdJu4ih/DInj6jmBmDWupIktE/kKFlpscPBvDv37aRdvqJRiim+2KANC1flk+ebApu09eot/U9ZyPiXc6Urq5XJYpKw7Q4+M1JCa5mDOiFaNuq5HptXZExDOp0HKDxGQXo+eEEuDvw7u9G3r1go0i17u9TmmmDWzGoXMx9JmyjjPRcU5HSrNzMfEM/nwj//k5nI61SvHzk+1oHlTM6VgikoOp0HKDCUv3se14FG/cV5/ShdSVIHK99sEl+XxwCBEXr9B78loiLl5xOtJNrdp3ji4TVrL24Hn+dU9dJg9oSpF8WqpFRP6eCq0stvFwJB/9sZ9eTSvQpX5Zp+OI5FgtqxZn5tAQzsck0HvyWo5FxjodKVWJyS7eWhzOgM/WUzivPwseb8OAVkFadFhE0iRThZYxppcxZqcxxmWMaZZVoXKr6LhERs8OpULRfLxyd12n44jkeE0rF2PWwy24FJdEr0/WcvBsjNOR/sexyFh6T17Lx38coHfTivzwRBtql9XEFhFJu8xe0doB3A+syIIsud6rC3ZyKjqO9/s00j3NRNKoQYUizB7eksRkF70nr2Pv6UtORwJg4baTdP1gJftPxzCxX2Pe6tmAfHn0vhaR9MlUoWWt3W2t3ZNVYXKzH8MimL/1BE/cWp2mlYs6HUckV6ldthBzRrTEx0DfKevYcSLKsSxXEpJ5Yf42Hv9qC1VLFmDhqHZ0b1jOsTwikrtl2xgtY8xwY8wmY8yms2fPZtdps0XExSu89N12GlUswsiO1Z2OI5IrVS9VkLkjWpHX35f+U9ex9eiFbM+w59Ql7p60iq83HGNEh6p880grKhXPl+05RMRz3LTQMsYsNcbsSOXfPek5kbV2irW2mbW2WcmSnnO/P5fLMmZuGEkuy/g+jfDz1fwCkYwKKpGfOSNaUiRfHgZ8uoGNhyOz5bzWWr5cd4S7J63iQmwCXwwJ4YUutfHX+1lEMummAw6stbdnR5DcaurKg6w9eJ5xPRoQVCK/03FEcr0KRfMxd0Qr+k9bx0OfbmDawGa0qV7CbeeLik1k7PxtLNpxinY1SvBe70aULBjgtvOJiHfRn2uZsDMiind+3UPnumXo1ayC03FEPEaZwoHMGd6KSsXyMfjzjSzbc8Yt59l0OJKuH6xkya7TjO1SixmDQ1RkiUiWyuzyDvcZY44DrYCFxphfsiZWzheXmMyTs0Mpmi8Pb9xfX2vqiGSxkgUD+Hp4S4JLF2D4F5tYvONUlh072WWZ9Ps++kxZh48PzHukFY90qKa7OIhIlsvsrMPvrLUVrLUB1trS1to7sypYTvfGz7vZfyaGd3s3pGh+rQ4t4g7F8udh1rCW1CtfmMe/2sIPYRGZPubp6DgenLaed37dS5d6ZVg4qh2NK2mmsIi4hxaFyYBle84wY+0RhrSpQrsanjOwXyQnKpzXn5lDWzDk842Mnr2VhCQXPZtmrKv+9/DTPDNvG7EJSbzVoz69m1XU1WgRcSuN0Uqn8zHxPDtvGzVLF+S5zjWdjiPiFQoE+DFjcAitq5XgmXlhzFp/JF2Pj09K5l8/7WLI55soVTCAn0a2pU/zSiqyRMTtdEUrHay1PP/tdqKvJDJzaAiB/r5ORxLxGnnz+DJtYDMem7WFl77bQXyiiyFtq9z0cYfOXWbk11vYcSKah1pV5sWutfXeFZFso0IrHWZvPMbS3af5x121db8zEQcE+vvyyYNNeXL2Vv7vp13EJSXz2C03XiT4u63H+cd3O/Dz9eGTB5vSuV6ZbEwrIqJCK80Ono3h/37cRdvqJRjS5uZ/RYuIe+Tx82Fiv8aMmRfGuMV7iEt08dTtNf6nG/ByfBL/XLCD+VtO0DyoKOP7NqZ8kbwOphYRb6VCKw0Sk108NSeUAH8f3unVUFPARRzm5+vDe70bEeDnwwe/7SM+MZmxXWphjGHHiShGfr2Vw+cvM+q2GozqWF13bBARx6jQSoMPfttH2PEoPnqgCWUKBzodR0QAXx/Dm/c3II+fD5NXHCQ+yUWlYvl4c1E4RfP789WwlrSqVtzpmCLi5VRo3cTGw5F8uGw/PZtWoGv9sk7HEZFr+PgY/nVPPQL9fJm26hAAt9Uqxdu9GlJM69uJSA6gQutvRMcl8tScUCoUzcerd9d1Oo6IpMIYw0t31aZC0bz4+/nQP0TLNohIzqFC62+8+sNOIi5eYd4jrSkQoKYSyamMMQzSJBURyYE0QvQGftoWwfwtJ3iiYw2aVtbtOURERCT9VGilIuLiFV6cv51GFYswquON1+gRERER+TsqtK7jclnGzA0jyWUZ36eRpoWLiIhIhqmKuM60VQdZe/A8r3SvQ1CJ/E7HERERkVxMhdY1dkZE8fYve7izbml6N6vodBwRERHJ5VRopYhLTGb07FCK5svDG/c30PRwERERyTStWZDizUXh7DsTwxdDQrTQoYiIiGQJXdEC/thzhs/XHGZwmyDaB5d0Oo6IiIh4CK8vtM7HxPPsN9sILl2A5zvXcjqOiIiIeBCv7jq01jJ2/naiYhP5YkgIgf6+TkcSERERD+LVV7RmbzzGkl2nea5zTWqXLeR0HBEREfEwXltoHTp3mf/7cRdtqhdniO6RJiIiIm7glYVWYrKL0bO3ksfPh3d6NcTHR0s5iIiISNbzyjFaH/y2j7DjUXz0QBPKFs7rdBwRERHxUF53RWvT4Ug+XLafnk0r0LV+WafjiIiIiAfzqkLrUlwio+eEUr5oXl7pXsfpOCIiIuLhvKrr8JUfdhJx8QrzHmlFwUB/p+OIiIiIh/OaK1o/bYtg/pYTPNGxBk0rF3M6joiIiHgBryi0TkZd4aXvdtCwYhFGdqzudBwRERHxEh5faLlcljFzw0hMdjGhTyP8fT3+KYuIiEgO4fFVx6erDrHmwHle6V6HoBL5nY4jIiIiXsSjC61dEdG8/cseOtUpTe9mFZ2OIyIiIl7GYwutuMRknpy9lSL5/HmzRwOM0ervIiIikr08dnmHNxeFs+9MDDOGhFAsfx6n44iIiIgX8sgrWsv3nuXzNYcZ1DqIDsElnY4jIiIiXsrjCq3zMfE8My+M4NIFGNulltNxRERExItlqtAyxrxtjAk3xmwzxnxnjCmSVcEywlrLC/O3ExWbyPg+jQn093UyjoiIiHi5zF7RWgLUs9Y2APYCL2Q+UsbN2XiMX3ed5tk7a1KnXCEno4iIiIhkrtCy1v5qrU1K+XYdUCHzkTLm0LnLvPbjLtpUL87QtlWciiEiIiLyX1k5RmsIsOhGG40xw40xm4wxm86ePZuFp4XEZBej54SSx8+Hd3o1xMdHSzmIiIiI8266vIMxZilQJpVNL1lrF6Ts8xKQBMy60XGstVOAKQDNmjWzGUp7AxN/20fYsYt82L8JZQvnzcpDi4iIiGTYTQsta+3tf7fdGDMI6AbcZq3N0gIqLTYfiWTSsv30aFKBuxqUze7Ti4iIiNxQphYsNcZ0Bp4DOlhrY7MmUtpdiktk9JxQyhfNy6t318nu04uIiIj8rcyO0ZoEFASWGGNCjTGfZEGmNHv1h12cuHCF93s3omCgf3aeWkREROSmMnVFy1pbPauCpNfCbSf5dstxRnWsTrOgYk7FEBEREbmhXLky/MmoK7z43XYaVizCyNtqOB1HREREJFW5rtByuSzPzAsjMdnF+D6N8PfNdU9BREREvESuq1I+W32I1fvP83K3OlQpkd/pOCIiIiI3lKsKrV0R0YxbvIdOdUrTp3lFp+OIiIiI/K1cU2jFJSYzes5WCufz580eDTBGq7+LiIhIzpapWYfZ6a3F4ew9HcOMISEUy5/H6TgiIiIiN5Urrmit2HuW6asPM6h1EB2CSzodR0RERCRNcnyhFXk5gTHzwgguXYCxXWo5HUdEREQkzXJ016G1lrHfbiMqNpEZg0MI9Pd1OpKIiIhImuXoK1pzNx3j112nefbOmtQpV8jpOCIiIiLpkmMLrUPnLvPaj7toXa04Q9tWcTqOiIiISLrlyEIrMdnF6Dmh+Pv68G7vhvj4aCkHERERyX1y5Bitib/vJ+zYRT7s34SyhfM6HUdEREQkQ3LcFa3NRyKZ9Ps+7m9SnrsalHU6joiIiEiG5ahCKyY+idFzQilfNC+v3V3X6TgiIiIimZKjug5f/WEnJy5cYe6IVhQM9Hc6joiIiEim5JgrWj9vP8k3m4/z+K3VaRZUzOk4IiIiIpmWIwqtU1FxvDB/Ow0rFmHUbTWcjiMiIiKSJRwvtFwuy5h5oSQkuRjfpxH+vo5HEhEREckSjlc1n60+xOr953m5ex2qlMjvdBwRERGRLONoobX7ZDTjFu/hjjql6du8opNRRERERLKcY4VWXGIyo2eHUjifP2/1aIAxWv1dREREPItjyzu8tTicPacv8fng5hTLn8epGCIiIiJu48gVrZi4JKavPsyg1kHcUrOUExFERERE3M6RQuvYhVhqlCrA2C61nDi9iIiISLZwpNBKdlnG921EoL+vE6cXERERyRaOFFplCgdSt1xhJ04tIiIikm0cKbRKFAhw4rQiIiIi2crxBUtFREREPJUKLRERERE3UaElIiIi4iYqtERERETcRIWWiIiIiJuo0BIRERFxExVaIiIiIm6iQktERETETYy1NvtPaswlYE+2nzjnKwGcczpEDqM2SZ3aJXVql9SpXf5KbZI6tUvqalprC2bkgX5ZnSSN9lhrmzl07hzLGLNJ7fK/1CapU7ukTu2SOrXLX6lNUqd2SZ0xZlNGH6uuQxERERE3UaElIiIi4iZOFVpTHDpvTqd2+Su1SerULqlTu6RO7fJXapPUqV1Sl+F2cWQwvIiIiIg3UNehiIiIiJu4tdAyxnQ2xuwxxuw3xoxNZXuAMWZOyvb1xpggd+bJCdLQJoOMMWeNMaEp/4Y5kTO7GWM+M8acMcbsuMF2Y4z5IKXdthljmmR3xuyWhja5xRgTdc1r5eXszugEY0xFY8wyY8wuY8xOY8yTqezjVa+XNLaJ171ejDGBxpgNxpiwlHZ5LZV9vPFzKC3t4pWfRQDGGF9jzFZjzE+pbEv/68Va65Z/gC9wAKgK5AHCgDrX7fMY8EnK132BOe7KkxP+pbFNBgGTnM7qQNu0B5oAO26wvSuwCDBAS2C905lzQJvcAvzkdE4H2qUs0CTl64LA3lTeR171ekljm3jd6yXl/3+BlK/9gfVAy+v28arPoXS0i1d+FqU896eBr1J7v2Tk9eLOK1ohwH5r7UFrbQIwG7jnun3uAWakfP0NcJsxxrgxk9PS0iZeyVq7Aoj8m13uAb6wV60DihhjymZPOmekoU28krX2pLV2S8rXl4DdQPnrdvOq10sa28TrpPz/j0n51j/l3/UDk73tcyit7eKVjDEVgLuAaTfYJd2vF3cWWuWBY9d8f5y/vvH/u4+1NgmIAoq7MZPT0tImAD1Suju+McZUzJ5oOV5a287btEq5/L/IGFPX6TDZLeWyfWOu/kV+La99vfxNm4AXvl5SuoFCgTPAEmvtDV8rXvI5BKSpXcA7P4vGA88BrhtsT/frRYPhc54fgSBrbQNgCf+/cha53hagsrW2ITAR+N7hPNnKGFMA+BYYba2NdjpPTnCTNvHK14u1Ntla2wioAIQYY+o5nSknSEO7eN1nkTGmG3DGWrs5K4/rzkLrBHBtBVwh5Wep7mOM8QMKA+fdmMlpN20Ta+15a218yrfTgKbZlC2nS8vryatYa6P/vPxvrf0Z8DfGlHA4VrYwxvhztaCYZa2dn8ouXvd6uVmbePPrBcBaexFYBnS+bpO3fQ79jxu1i5d+FrUB7jbGHObq0J6Oxpgvr9sn3a8XdxZaG4Eaxpgqxpg8XB009sN1+/wADEz5uifwu00ZYeahbtom140juZurYy3kajs9lDKbrCUQZa096XQoJxljyvw5NsAYE8LV97PHf0CkPOdPgd3W2vdusJtXvV7S0ibe+HoxxpQ0xhRJ+TovcAcQft1u3vY5lKZ28cbPImvtC9baCtbaIK5+Pv9urX3wut3S/Xpx202lrbVJxpgngF+4OtvuM2vtTmPM/wGbrLU/cPUXw0xjzH6uDvrt6648OUEa22SUMeZuIImrbTLIscDZyBjzNVdnRZUwxhwHXuHqAE2stZ8AP3N1Jtl+IBYY7EzS7JOGNukJPGqMSQKuAH09/QMiRRtgALA9ZYwJwItAJfDa10ta2sQbXy9lgRnGGF+uFpZzrbU/efPnUIq0tItXfhalJrOvF60MLyIiIuImGgwvIiIi4iYqtERERETcRIWWiIiIiJuo0BIRERFxExVaIiIiIm6iQktERETETVRoiYiIiLiJCi0RERERN/l/BW2hczEEZ7MAAAAASUVORK5CYII= +" +> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>We can also get fancy!</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [81]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span><span class="p">,</span> <span class="p">(</span><span class="n">ax1</span><span class="p">,</span> <span class="n">ax2</span><span class="p">)</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">ncols</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">sharey</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> +<span class="k">for</span> <span class="n">ax</span><span class="p">,</span> <span class="n">column</span><span class="p">,</span> <span class="n">color</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">([</span><span class="n">ax1</span><span class="p">,</span> <span class="n">ax2</span><span class="p">],</span> <span class="p">[</span><span class="s2">"C"</span><span class="p">,</span> <span class="s2">"F"</span><span class="p">],</span> <span class="p">[</span><span class="s2">"blue"</span><span class="p">,</span> <span class="s2">"#b2e123"</span><span class="p">]):</span> + <span class="n">df_demo</span><span class="p">[</span><span class="n">column</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">,</span> <span class="n">legend</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="n">color</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Aside:-Seaborn">Aside: Seaborn<a class="anchor-link" href="#Aside:-Seaborn">¶</a></h2><ul> +<li>Python package on top of Matplotlib</li> +<li>Powerful API shortcuts for plotting of statistical data</li> +<li>Manipulate color palettes</li> +<li>Works well together with Pandas</li> +<li>Also: New clever defaults for Matplotlib</li> +<li>→ <a href="https://seaborn.pydata.org/">https://seaborn.pydata.org/</a></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [82]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">seaborn</span> <span class="k">as</span> <span class="nn">sns</span> +<span class="n">sns</span><span class="o">.</span><span class="n">set</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [83]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[[</span><span class="s2">"A"</span><span class="p">,</span> <span class="s2">"C"</span><span class="p">]]</span><span class="o">.</span><span class="n">plot</span><span class="p">();</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Seaborn-Color-Palette-Example">Seaborn Color Palette Example<a class="anchor-link" href="#Seaborn-Color-Palette-Example">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [84]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">sns</span><span class="o">.</span><span class="n">palplot</span><span class="p">(</span><span class="n">sns</span><span class="o">.</span><span class="n">color_palette</span><span class="p">())</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkgAAABQCAYAAADiBIpwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAAr1JREFUeJzt2cGLjGEAx/GHBkOZtbZ1VE5ObhQXF+XfkAMpykVWOEopF3HYTA7+Bc5Srty4K0fTYEaxu229LlJ+N9M+PWP6fC7P6alfvb31rWdX13VdAQDgj92tBwAAzBuBBAAQBBIAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAoTfrxZuP35TxZGMnt8yNZ3fPl09PrrSeUc3Ra+vl6ss7rWdUcfHFuJwcrpd3lxbz+50crpdH9161nlHN9bvnyvMHN1rPqObC2sPy8enb1jOqOXb5VBkOh61nVHH6+KicOHu7vH9zv/WUKk6cvV1uvf7QekYVy/09Ze3M8X++N3MgjScb5fPXn7Nen3vbk1HrCVWNfnxpPaGKzc+jv85FNFng/66UUr5/G7eeUNX2dLP1hKqm02nrCVVsbXz961xE459brSfMFU9sAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABB6s15cWerv5I6501tabT2hqtUDh1tPqGLfke73ubjfb2l5f+sJVR08tNJ6QlW9wb7WE6oaDAatJ1Sxt7/5+1xuvKSelf17W0+oYrm/Z6Z7u7qu63Z4CwDAf80TGwBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABB+AfAGVV2++a/SAAAAAElFTkSuQmCC +" +> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [85]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">sns</span><span class="o">.</span><span class="n">palplot</span><span class="p">(</span><span class="n">sns</span><span class="o">.</span><span class="n">color_palette</span><span class="p">(</span><span class="s2">"hls"</span><span class="p">,</span> <span class="mi">10</span><span class="p">))</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkgAAABQCAYAAADiBIpwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAAplJREFUeJzt2TGKE3EYxuFvZRQJihpIZzGd9R5CLDyEF4g3EAvZSrByLmDtCcTKE1jbTWEX2VUUER0Yq1i8nWGHyQ7P06T6s+8HS/hBTsZxHAsAgH+uzT0AAODYCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAjNoQ8/nz2v4eL8MrccjfZVV/277dwzJtM+6upDv8z73lfVWdvVs4Xed9Z2te3fzD1jMl37pLaf+rlnTKZ70Nb2dT/3jMl0T9t6ue3nnjGJh1V12rX1caH3nXZt9du3c8+YRLNe1f0Xj///3aF/cLg4r+HL7tDnR2/4udzbqqp+Dcu8b5/s5wu9r6pqN3yfe8Kkdn+GuSdMavdt2fd93S3zvt/7z4XeV1U17H7MPeGo+IkNACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAEJz8MN768vccXSa1WbuCZO62Szzvv1/5Xqh91VVbZrbc0+Y1Ob6wV9LV8LmzrLvu7tZ5n039p8Lva+qqtncmnvCJJr16qB3J+M4jpe8BQDgSvMTGwBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABD+AsYQTZBcSEeRAAAAAElFTkSuQmCC +" +> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [86]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">sns</span><span class="o">.</span><span class="n">palplot</span><span class="p">(</span><span class="n">sns</span><span class="o">.</span><span class="n">color_palette</span><span class="p">(</span><span class="s2">"hsv"</span><span class="p">,</span> <span class="mi">20</span><span class="p">))</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABHYAAABQCAYAAAB8i/K4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAABBlJREFUeJzt27+OVVUYxuEXQRqIhAQNkgl7V1qpN2C8BazUC9BKbbT1LoyVVlbGSm+BeANipdXahIB/JjEYaDB4LA6hJZ7Mcs238jzNamYn71dN5hc4s9vtdgEAAACgnOdGDwAAAADgMMIOAAAAQFHCDgAAAEBRwg4AAABAUcIOAAAAQFHCDgAAAEBRwg4AAABAUcIOAAAAQFHCDgAAAEBRwg4AAABAUcIOAAAAQFHCDgAAAEBR5w7+8pM3k+M7JzjlFPm6JV+to1f0835LfllHr+ji7ivJtbTczTp6ShfX0vLNpLclyXtp+WDi+75My6sT3/dzWta8O3pGJ2+l5cOs+WL0kC72t/00ekY3La9l/XX0in7a1WT9dvSKfto7yfrR6BWd3EzarWR9ffSQPtqt5O119Ip+vmvJ5+voFf183JIf19Er+nmjJVn/HD2jk5tJu5Gs348e0ke7kayfjl7Rx9Hl5IfP/vNnh4ed4zvJb9vBn596f018W5L8Ped9j5++c96XJA8mvi1Jfp/8vm36+2b96/l+kmR78s5oy6PRE7raHj/7ZyrbHoxe0Nf2x+gFndzeP9vtsTN6ujf3r73cn/y+R5Pfl+2f0Qs6ebh/todjZ/S0HY9ecKr4r1gAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFnTv4yytHJzjjFHphGb2gr+fnvO/s03fO+5Lk4sS3JclLk9+3TH/f1dETOrmUJFmevDNacn70hK6Ws8/+mcqWi6MX9LW8OHpBJ9f3z3J97IyeXp77114uTX7f+cnvyzLrv3O4sH+WC2Nn9LRcGb2gj6PLB312Zrfb7U54CgAAAAD/g1kTJQAAAMD0hB0AAACAooQdAAAAgKKEHQAAAICihB0AAACAooQdAAAAgKKEHQAAAICihB0AAACAooQdAAAAgKKEHQAAAICihB0AAACAooQdAAAAgKL+BVCMY5TLW1IBAAAAAElFTkSuQmCC +" +> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [87]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">sns</span><span class="o">.</span><span class="n">palplot</span><span class="p">(</span><span class="n">sns</span><span class="o">.</span><span class="n">color_palette</span><span class="p">(</span><span class="s2">"Paired"</span><span class="p">,</span> <span class="mi">10</span><span class="p">))</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkgAAABQCAYAAADiBIpwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAArVJREFUeJzt2T1LFVAAxvHjWyRKiCBkCDW4FThW0BRCU04S1NdoaKqhra2Ghr5ALtHiJElTkI2u0RJcMhpEQrnhS7ctuM/WxcOxy++3nOnAMx3+cEZ6vV6vAADw12jrAQAAZ41AAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAMD7oxXeff5Tu0clpbjkzVq7Ol1vP3reeUc2HR7fLZudV6xlVvNh6W9ZXN8rdN3daT6lifXWjHK+9bj2jmvH7D8rO9ZutZ1Qz/+lj+b31tPWMakZvPCnl+ZXWM6rYvrZZlpYXy/bml9ZTqlhaXiyP7621nlHFzNxUefhy5Z/vDRxI3aOTcnA4nIFUSimdvW7rCVV1j3+2nlDFzsG3vnMo7e+3XlDVSafTekJdv3ZbL6hr72vrBVUcdo/6zmG0+32435Z/5YsNACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAML4oBcnJ8ZOc8eZszAz2XpCVZPjF1pPqGJ+6lLfOZSmp1svqGpsYaH1hLrOz7ZeUNfM5dYLqjg3OdF3DqPZi8P5tszMTQ10b6TX6/VOeQsAwH/NFxsAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQ/gBg1VC50SDDXAAAAABJRU5ErkJggg== +" +> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Seaborn-Plot-Examples">Seaborn Plot Examples<a class="anchor-link" href="#Seaborn-Plot-Examples">¶</a></h3><ul> +<li>Most of the time, I use a regression plot from Seaborn</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [89]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="k">with</span> <span class="n">sns</span><span class="o">.</span><span class="n">color_palette</span><span class="p">(</span><span class="s2">"hls"</span><span class="p">,</span> <span class="mi">2</span><span class="p">):</span> + <span class="n">sns</span><span class="o">.</span><span class="n">regplot</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="s2">"C"</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s2">"F"</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">df_demo</span><span class="p">);</span> + <span class="n">sns</span><span class="o">.</span><span class="n">regplot</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="s2">"C"</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="s2">"G"</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">df_demo</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>A joint plot combines two plots into one</li> +<li>Very handy for showing a fuller picture of two-dimensionally scattered variables</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [90]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">multivariate_normal</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="p">[[</span><span class="mi">1</span><span class="p">,</span> <span class="o">-.</span><span class="mi">5</span><span class="p">],</span> <span class="p">[</span><span class="o">-.</span><span class="mi">5</span><span class="p">,</span> <span class="mi">1</span><span class="p">]],</span> <span class="n">size</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span><span class="o">.</span><span class="n">T</span> +</pre></div> + + </div> +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [91]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">sns</span><span class="o">.</span><span class="n">jointplot</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="n">y</span><span class="p">,</span> <span class="n">kind</span><span class="o">=</span><span class="s2">"reg"</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaEAAAGkCAYAAACYZZpxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd8XOd54PvfKXOmYtABEgTB3otYRFHFktUtW45sy866JXGc3ZvmbPLx7sbJevPJ3uzd3STyTXzXm2xucuPETtwty44seWX1RlESO0SJvYHoHRhMO/X+cTBDgARIEBhgMMTz/Xxk0iDmnJcgcJ553/d5n0fxPM9DCCGEKAK12AMQQgixcEkQEkIIUTQShIQQQhSNBCEhhBBFI0FICCFE0UgQEkIIUTQShIQQQhSNBCEhhBBFI0FICCFE0UgQEkIIUTQShIQQQhSNBCEhhBBFoxfjpj09iYJcp7IywsBAqiDXmqn5NBaQ8VzNfBoLyHiuZj6NBa49ntrasjkczY2hpGdCuq4Vewh582ksIOO5mvk0FpDxXM18GgvMv/HcCIoyExJiLtkuZC07//+9/hSprH2VV1wSDOjoJf1WTYj5TYKQmBOJlElyig/+y800EGQtm33HuvL/vywWIjGSmdJrd22oRw/Kj4kQs0V+usScSGfGB4LrcXkg8DyPoaRJImUxkrZIZSyyloNpuZi2i2U72I6HZbuYtkM6a9PRl8KyXWzHxQOypoPjeriul7+mrqnouoqhq0TDAcrCAQK6ysZlVVSWBQvxZRBCXEaCkJjXXNejpStBa/cIp1uHaO9L0jOYxrTca75WUxWMgEpA03A9D11T0DWVoKETDSlomoqmKgAogO2OBi7LobV7hIzpcOhULwC1FSHWN1Vy8/o6NiyrRNdkjU6IQpAgJOYdz/PoGUxzriPBhc4EGdMBoDoeZGldGZuWV1FbEaY8ahALB4iEdEKGRkDXRoOOP6NRFT/AJLPTW46zbJeG2ihtXSOcbB1i/4keXmvuIBYOsGt9HffubGRJTXR2vghCLBAShMS84boe5zsTHD3bx+CIiaYqNNbFuHv7ErasqKIqHprT8QR0leWL4mxaVsWDt/hB6ei5PvYd6+a15g5eOtTGpuWVfGB3E5uWV6GMBj0hxNRJEBJF53keF7pGOHSyh0TKojxmcPvmRSxbVEZAV7l5fR3ReZAcENBVtq+pZfuaWj6VMnn1cDsvHmzlL79/hDWN5XzszpWsX1ZZ7GEKUVKK/5MtFrREyuSt97pp701SWRbk7u0NLK2LjZtVKKoy7cw6gNHcg2mZ7N6apnLPzkbu3NbA3qOd/PytFh777iE2LKvkY+9fyeLqqKR3CzEFEoREUXiex8mLg+w/3oOiwK71daxrqkBVr1zSyloOR072TPteN62tnfZrp3LvkKHx4duXcaJlkCNn+vjTfz7AuqUVfP7hDdSWh6d9byEWAglCYs6ZlsPed7u40JmgoSbK7ZvriYQCxR7WjGiaysYVVaxcEufwqV5OtAzyX7+5n0/fv4bdG+plv0iISUgQEnNqcCTLSwfbGElb7Fhbw6YVN9aGfsjQuXXTItYsreDo2X7+7sn3ePVIB5+8bzU1k8yKJqvgIMt5YiGQICTmTGdfipcPtaGqCh+4ZSl1lZFiD2nWVMdD/M4ntvLDF05x6GQv/+2b+9mxtpZ1TRVXBN3JUsalWoNYCOQ7XMyJve908Pz+i5RFDO7b2UgsUtrLb1Ohqgrrl1XSWBdj79FO3j7WzYWuBHdsXrwg/v5CTIVM9sWse+FAK3//5FHqKiN88NamBfcAjoUD3H9zI7dtrqd/KMtP95znTNsQnjeDtD0hbhAyExKz6pm3WvjBS6fZtqaWTSsq0NSF+b5HURTWNFawuCrK6+90sOedTi52j3DrpkVIBxqxkC3MJ4KYE0+9cZ4fvHSam9fX8Vsf37pgA9BYsUiAB29Zyo61NbR2j/DUnvO0dhemyaMQpUieCmJWPPNWC0+8epbbNtXzG49slIKfY6iKwuaV1Xzw1mXomsK/vHqWAyd68hW9hVhI5MkgCu6FA6384KXT3LKhjn/98EaZAU2iujzEw7cvZ+OKKt49188zb7WQSJnFHpYQc0qeDqKgXjvSzrefO8n2NTX8mw9vnLACgrgkoKvcs3Mpd21rYChp8tQbFzjXMVzsYQkxZyQIiYLZf7ybbzxznM0rqvjNj2yWJbjrsHxRGb9w+3IqYgavHengjXc6yVpOsYclxKyTp4QoiHfP9/N3P32XVQ3lfOFjWwjIUf/rFosE+MAtTWxZWcXptiG+8p2DtHRJ0oK4scmTQszY2fZh/upH77CoKsLv/eJWgoZW7CGVLFVV2L62lgd2NZLOOvzXf9rP8/svypkiccOSICRmpK03yVd/cJh4NMC/++Q2oiVeiHS+WFwd5T/+8k42La/iO8+f4n883sywJC2IG5AEITFltuu3ys79d7FnhL/43iE0VeW3P7aFQEAb9+dj/5P9jesXCwf43U9s5TP3r+G98/385394m3fP9xd7WEIUlFRMEFOWtWz2HesCIJ21+flbLWRMhw/sXsq5juGrZnXdvGnxXA3zhqIoCvffvJS1Syv42yff5S++d5iHdjfx6F0rJfFD3BDku1hct6zl8Pz+VpIZm3t3LqGyLFTsId3wmurL+ONf3cXd2xp45q0W/vs/H6BrIFXsYQkxYxKExHWxbJcX9rcyNGJy9/YlN3Q7hvkmGND4lYfW84WPbaFnMM3/+Y/72PNOR7GHJcSMSBASU2baDi8dbKNvOMNd2xazpDZa7CEtSDvX1fInv3YLy+rL+PrTx/j7p94jY17ZFE+IUiBBSEyJaTn8f//yLp39KW7fvIimeqn9XExV8RBf+vR2HrljOXuPdvJfvrFfzhSJkiRBSFxT1nL42o+aOdEyyO2bF7FqSXmxh7QgKKoyabZhMmuTthweuKWJL3x8C6mMzX/7pwM8f6CVZNbGdos9eiGmRrLjxFVlTJv/+aN3OH5hgM8+uFZqwc2hrOVw5GTPlD73A7uX8lpzB9957iRvv9fFbz26mcpocJZHKMTMyUxITCqRMvnKdw9zvGWAf/3hDezetKjYQxKTCAd17r+5MV/y56vfP0LvYLrYwxLimiQIiQn1DWX4028dpLVnhN/52BZu3yznfOY7VfFL/ty7Ywl9Q2n+yzf3c0wOt4p5ToKQuMK5jmH+2z/vZyhp8u8/uY3ta2uLPSRxHRrrYvyHT+8gHjX4v79/mGffbpHac2LekiAkxtnzTgd/+q2DaKrKf/zsDtYurSj2kMQ01FWG+U+/vJPta2r53oun+YefHcOSbAUxD0liggD8Q6g/fPk0z+9vZX1TBb/10c2URYxiD0vMQDio89sf28yTr5/jyT3n6exP8Tsf20J5TBIWxPwhMyFBW88I/9c39/P8/lbu39nIv/vkNglANwhVUfjonSv57Y9u5mL3CP/lm/s53ymdW8X8ITOhBcx2XJ7f38oTr54lEtT4vU9s5abVNcUeliiA3BmjnA0rqvjiv9rG3z35Ln/6zwf57AfWsnNd3YSvDUnLCDGHJAgtUCdaBvjWcydp60mybXUNn/vgesqjMvu5UUx2xuj+mxt55XA73/jZcfYd62b7mporzn69f2cTchpMzBUJQgtMW2+Sf3n9HPuPd1MdD/FvH93CtjU1KIo8dhaCcFDngV1L2Xesm3fP9dM35NcBDBnyKBDFId95C0Rbb5Kf7T3Pm+92YRgaj9yxnA/euoxgQFpxLzSaqnDrpnpqykO8+V4XT71xgbtuaqCuMlzsoYkFSILQDcz1PN4718+z+y5y9Fw/hq7ywC1N3LNjCbFwANv1sLNTr77sylGTG8rqxnIqy4K8cridn7/dwk2ra9i8sqrYwxILjAShEmO7fofTqxkayfLUmy28eqiV3qEM8YjBw7cv431bG4iEAhw43jWte98kh1ZvONXlIT58+zLefK+Lw6d66ehNsnlVLXVxSeMWc0OCUIkZ22J7LNNyaOka4VzHMJ19KTxgUVWE921dzLJFMTRV5dj5fgkk4gpGQOPOrYtpqI6y71g3f/x3e/nonSt5YFcjmiqnOMTskiBUwkzL4WL3CBc6E7T3pnA9j7JIgC2rqtmyphYNWT8TU6MoCqsby1lcE+FMW4IfvHSaN9/r5JP3rGbDclmiE7NHglCJ6R/OcOzCABe7R+jqT+F5EAnprGuqYPniMmrKQyiKQlksSGIkU+zhihITDQX4nV+8iQPvdfKDF0/xle8dZvPKKj5+1yqWLZJGhqLwJAjNc5btcrptiKNn+2g+00dbbxKA8qjBpuVVLK2P5QOPEIWgKAq71texbXU1Lxxo46k3zvMn39jHhmWVfOCWJjavrEKV7zdRIBKE5hnbcbnQleDkxUGOXxjkxMUBTMtFUxXWLq3glo31uK5HeUwOlorZFdA1HtrdxF03LeaVw+08f6CV/+eHR6gpD3Hrpnpu3biIhpposYcpSpwEoSJyPY/ewXQ+oeBs+zDnOxNkLQfwEwvu3NLAxhWVrG+qJBzUSWYnTkwQYrZEQgE+eOsyHti1lP0nutnzTidP773AU29coL4qwublVWxcUcnqJeVSc1BcNwlCs8y0HIaSJv3DGfoTWXoG03T1p+jsT9PelyRr+gFHUxWa6mO8b8ti1jZVsLaxXKodi6KwHRdzkvNjW1bVsGVVDcNJk0Onenjv/ACvNbfzwsFWAKriQZYvitNQE2VRVZj6ygiVZUHKY4Zk2okJSRACXNfDtB1My8W0HSzbzf/etF2ssR+33dE/9//MtBxMywFNZWg4Qzprk846JDMWibSVDzJjVZYFqa0Ic+vGehpqojTURllSEyOgj/8hTU7wIJADo2K2ZS2H/VOYbUeCOjevq2X7mmp6BjP0DmXoG8pwsTvB4VO9uGMa6SkKlEUMYuEA0ZBONBQgZGiEgjrBgEowoGEENAxdxQhoBHQVQ9eo7UuRTmYJ6BpGQMXQVQK6RjDg/6priuyHlriiBKHLCyZORSpj89Te82Sz/kPdAwKGimk6eB54noeHH1A8z8N1PVzPX/JyHA/H9XBcF9txcVx/w992XBzHxZnmk10B9NwPhaER0BRiEYOaCo2gofs/bGGdWNigPGoQjxqUxwx0TeOdM7356yTTNicvDk7pnhtWVBEJBa75eeGgjmNf+Xm6pk7p9ROZ2WuVotx3otdP9rUp9L2n+tob4d+qLBJkZUM54B9qti2HgUSW/uEMwymTRNIimTFJZRxSWZuMaTMwkiU7kMYafYM3HfmfQU1F01V0VUHXVDRNQVP8XxVVQVf8hAtVVUDxW1zkkityMUxB8Qu3KrBzXR0bl1dOeM/pPL/E5BRP+v4KIYQoElmkFUIIUTQShIQQQhSNBCEhhBBFI0FICCFE0UgQEkIIUTQShIQQQhSNBCEhhBBFI0FICCFE0UgQEkIIUTQShIQQQhRN0QqY9vWN4M6wGmdlZYSBgVSBRjQz82ksIOO5mvk0FpDxXM18Ggtcezy1tdfXfbYQz8H55Hr//lDiMyFd14o9hLz5NBaQ8VzNfBoLyHiuZj6NBebfeG4EJR2EhBBClDYJQkIIIYpGgpAQQoiikSAkhBCiaCQICSGEKBoJQkIIIYpGgpAQQoiikSAkhBCiaCQICSGEKBoJQkIIIYpGgpAQQoiikSAkhBCiaCQICSGEKBoJQkIIIYpGgpAQQoiiKUgQ+vM//3P+8A//sBCXEkIIsYDMOAjt3buXH//4x4UYixBCiAVmRkFocHCQr371q/zmb/5mocYjhBBiAZlREPrjP/5jvvjFLxKPxws1HiGEEAuIPt0X/vCHP2Tx4sXcdtttPPHEE9f9+urq2HRvPU5tbVlBrlMI82ksIOO5mvk0FpDxXM18GgsUdjyFeg6WMsXzPG86L/z85z9PT08PmqYxNDREKpXiox/9KF/+8pen9Pq+vhFcd1q3zqutLaOnJzGjaxTKfBoLyHiuZj6NBWQ8VzOfxgLXHs/1BqhCPAfnk+kE6GnPhP7xH/8x//snnniCt99+e8oBSAghhAA5JySEEKKIpj0TGuvRRx/l0UcfLcSlhBBCLCAyExJCCFE0EoSEEEIUjQQhIYQQRSNBSAghRNFIEBJCCFE0EoSEEEIUjQQhIYQQRSNBSAghisR13WIPoegkCAkhRJFkLQlCEoSEEKJIMqZd7CEUnQQhIYQokqwpMyEJQkIIUSRpmQlJEBJCiGLJWk6xh1B0EoSEEKJI0lmZCUkQEkKIIpE9IQlCQghRNLIcJ0FICCGKRlK0JQgJIUTRmLYsxxWkvbconuYzvTzzVgu9QxlqykM8tLuJratqij0sIcQUWBKEJAgV20yCSPOZXr793Ek0TSUS0hlMmnz7uZMA3FdbNpvDFkIUgGXLnpAsxxVRLogMJs1xQaT5TO+UXv/MWy1omkowoKEoCsGAhqapPPNWyyyPXAhRCKbUjpMgVEwzDSK9QxkMffw/oaGr9A5lZmO4QogCy9oOC31FToJQEc00iNSUh67Y2DRtl5ryUMHGKISYPYOJLFlrYWfISRAqopkGkYd2N+E4LlnLwfM8spaD47g8tLtpNoYrhCgw1/WKPYSikyBURDMNIltX1fDZB9ZSETVIZWwqogaffWCtZMcJUSJcT4KQZMcVUS5YzCTFeuuqGgk6QpQoiUEShIpOgogQC5esxslynBBCFI0sx0kQEkKIopHEBAlCQghRNK4jQUiCkBBCFIntLfCTqhQxCDkyDRVCLHDOQi+XQBGD0HDSZCRj4SHBSAixMLkemAu8sV3RgpDreoykLPqGMqPdBSUYCSEWnmRGyvYUle14DCayDI6Y2K5MTYUQC4u1wCtpFz0IgT8HypgO/UNZWaITQiwoQ8lssYdQVPMiCOW43ugS3bAs0QkhFob+4YXdemVeBaEc2760ROfIEp0Q4galaQq9gws7CM3b2nG5JTrTcomGdaKhQLGHJIQQBVVTHqa9L1nsYRTVvJwJjeV6HomURd9wGtNyUZRij0gIIQqjriJMW48EoZJg2R4DIxmGkqYU/RNC3BDqqsL0DWdIZqxiD6Vo5u1y3EQ8D1IZm6zpEIsE8CQYlbTmM70z6qUkRKlbUhsD4Fz7MJtXVhd5NMVRMjOhsRzXY2jEpHcwgy3lf0pS85levv3cSQaTJpGQzmDS5NvPnaT5TG+xhybEnGmsjaIAp9uGij2UoinJIJRj2g79Qwt7KluqnnmrBU1TCQY0FEUhGNDQNJVn3mop9tCEmDPBgM6S2hinWiUIlaxxiQu2JC6Uit6hDIY+/tvP0FV6hxZ2uqpYeDYur+RU69CCrSFX8kEox7I9BhKSuFAqaspDmJdVEDZtl5ryUJFGJERxbFxeie24C3ZJrqQSE64ll7hgmg6xqEEooAI3xtToRtvEf2h3E99+7iRZ/BmQabs4jstDu5uKPTQh5tTapRVoqsLRs/1sXF5V7OHMuaLNhA6e7MF2Zqcagu3eWBUXbsRN/K2ravjsA2upiBqkMjYVUYPPPrC2pAOrENdNVXA8WNNYzuHTvSSz9rj/FkK7oaLNhJ7bf5Gn3jjP+7c3cPO6OnSt8PEwYzqYtks0HCBi6CW7XzR2Ex8gGNDIjn68lB/aW1fVlPT4hZipIyd7SGUsyiIGx1sGefHARcoiRv7Pd22oRw/eUAtWVyjaTEhVFYaSJk++fp6/+N5h3j7WNSszI9f1SCRN+hOZkk1ckE18IW5sjXVRAC52jxR5JHOvaEHo//iFjdy8rhZVgaGkyU9eO8dffv8w+453z8oSmmW7JZu4IJv4QtzYyiIGFTFjQQahos3zKqJBHn3/Kt6/fQkvHWzj8KkeBkdMfvzqWV451MY9O5awbU0tmlq4qcvYigvRSICwoZdE2oJs4s8fN1qCiJg/ltbFOHq2n4zpEDK0Yg9nzhR9sbE6HuITd6/i7u0NfjA63Ut/IsuPXjnLS4fauHdHIzetriloMHJcj+ERk0zAIRYOEAyozOfJUe4hJw+/S4oRDHIJIpqmjksQARb0v4UojKX1Zbxztp+2nhFWLSkv9nDmTNGDUE5NeZhfvGc1d4/OjI6c7qV/OMvjL5/hpUNt3Lejka2rqlELGIxMy2HAdggH/VYRhQx0hSab+Jc0n+nlH54+RsZ0/DcUSZN/ePoYv/bwhln9Gt2oCSJifqiOB4kEdS52L6wgNO8Oq9ZWhPlX967m937xJrauqkYB+oYy/OCl0/yPx49w5HQvbgHrxeWW6PqGMySz9ryeEQnf4y+dJpmxcT0PVfGrZiQzNo+/dHpW7ysJImI2KYrC0voYbT3JWTu+Mh/NuyCUU1cZ5lP3reF3P7GVzSv9A1w9gxm+/+JpvvajZprP9BU0weBSFl0a03JKMotuoegayKAooCoKiqKM/up/fDZJgoiYbUvrYjiuR2dfqthDmTPzZjluMvVVET5z/1o6+pK8eKCNd8/30z2Q5nsvnOLV5nbuvqmBjSuqUAsUNfy+RVmChkZZOICmzts4PS3T3UuZXxvynj9jHfNP7nmgKLM7jZUEETHb6qsiBDSVi90jNNbFij2cOTHvg1DO4uoon31wLe29SV482Mp75wdo70nynedPsbg6wn07G9mwrBKlAMHI8yCTHW0tHtKJhHSUksiju7rpbqxP53WXB61PPrieZTWRgvw96qsidPQlcT0FVQHbcXE9QFV47DsHZy1ASoKImG2aqtBQG6W1Z2TB9EsrmSCU01AT5ZceXEdbb5LXmjtoPt1LR1+Kbz17koaaKPftbGR9U0VBgpHr+hW606ZNWdggWOK16Ka7sX69r5soaP3tE8186r7VBXlgf+LuVfzDz46TydpYtosHKApUxYMFyVi72qxPEkTEbFtaF+VCZ4K+4YWx11iya01LaqL89idu4rc/upl1SysAaO9N8s8/P8H/+slRjrcMFOydhG1fqkVXyk30pruxfr2vm6hXkK4rBesVtHVVDb/2ofWsbIijayqGrlJbESYSCsy4L9GNWKdPlJaGmhgK0NqdLPZQ5kTJzYQu11gX43MfXM/F7gTP72/lVOsQbT1J/umZEzTWRrn/5qWsaSyf8czIY7QWnZUhEtaJhQKF+QvMoZryEINJMz+jgaltrF/v63qHMkRC47+1ggGtoFlkuRnJl/7mDX+5dMy/70wy1iQNW8ylDSuqrsiE01WVAye66RvOEAyU/CP6mmY0E/qrv/orHn74YR5++GEee+yxQo1pWpbWlfH5D23gNz+yidWjOfatPUm+8b+P8//+y7ucah0syMzI9TxGck30rNKqRffQ7iYcxyVrOXieR9ZyprSxfr2vmyiLLGs5s5JFVuiMNUnDFnPp2Ll+jpzsGfefqsDOtXW09SQZStz433fTDkJvvPEGr7/+Oj/+8Y/5yU9+wrvvvstzzz1XyLFNS1N9Gb/28AZ+/ZGNrGyIA35RwH/82XH+7qfvcaZtqCDByM+i82vROSWyRDfd9gnX+7qJgpZtewXPIms+08tIyqS7P0VHb5JUxppyYJ2MpGGL+WDbGv9n6/DpG38ZeNpzvdraWv7wD/8Qw/DLjq9atYr29vaCDWymli+K828+vJGz7cO8cOAi5zoSXOhM8PWnj7F8cRn371yaD1LTNa4WXSzIZVnD89J0N9av53UTZZEVMjsOxic/VMWDDCct+oYyNNRE+dS90+9LNJ/TsOdXmryYTYuqItRXRTh8qof7djYWezizSvEKMC04f/48n/rUp/je977H8uXLp/Sarr7knG3ye57HiQsDPPX6WU63Xmqhu66pkg/fuYI1SysLcp+AplIWDRAOlt5+Uan58t/sYWA4Tci49D4qY9pUxsP899+6Y0bX3n+siydePk13f4q6qgiP3r2amzfUz3TIMx7T3z7RjK77iR652eVvPLq16GMT0/fKwVbSWXvcx3asq6OuKsI3nnqXn7xyhm/9yUPExvQYutHMeNfr1KlT/MZv/AZ/8Ad/MOUABDA0lCZrOTO6d1VVlP7+qWWQ1MWDfP6D6znTNszzBy7S0jXCiZYBTnx7gNVLyrlvZyPLFpXNaCxdPQm6e5kXtehqa8vo6UkU7f6XK/R4OnpGiIR0rDFLZ6qi0NEzcs37XGssy2oifPETW8d9bDa/llP52nz/2eOggKaq2I7n/6o4fP/Z4wWdYU51PHNlPo0Frj2e2trre4aMJLOkMta4j6VSWXoch41NFfzI9Xj+zfPcsWXxtMY716737w8zDEIHDhzgd3/3d/nyl7/Mww8/fF2vjYR0HMed05RnRVFY3VjOqiVxTrUO8cKBVi52j3C6bYjTbUOsaSzn/psbWVo3+RfyRMsArx1pZyCRpbIsyJ03NbCu6dJMqlTbRZSa6Wb6laqJMg4lYeLGtnxRGdXxIPuOd5dMEJqOaQehjo4OvvCFL/DVr36V22677bpfHw7qBAMaGcshnbExbWfOiocqisLapRWsaSzn5MVBnj/QSltPklOtQ5xqHWLd0gruu7mRxtrxZTNOtAzw5J5zaJpKKKgznLZ4cs85HgFuq4qO+9xSaxdRagq5d1MKey0LLegK/zl1y4Z6nt13kUTKHNf2+0Yy7ey4r3/962SzWf7sz/6Mj3zkI3zkIx/hu9/97nVfJxTQqIoHqY6HiYYDBW3VcC2KorCuqZLf/uhmfvkD62io9pc1Tlwc5H/9+Cj/9Mxx2novLfe9dqQdTVMxdP8QpqH7ByNfOzJ5QoZpOfmOrqWSRVcKppvpd7lSOZw63fR6Udpu3bQIx/XYd7y72EOZNdOeCf3RH/0Rf/RHf1SQQXge6JpCWThANKSTtRxSGRvbcedk9qAoChuWVbK+qYJjFwZ44UArHX0pjrcMcrxlkA3LKrlvZyMDiSyh4PgvWUBTGUhkr3r93BJdxnSIyRJdwRSihE6pHE6VunUL09K6GI21Ufa808G9O27MLLl5dxxXVRTChk7Y0DFtl3TW318pZNuGySiKwsblVaxfVsl75wd48UArnf0pjl0Y4NiFASJBHU+xiYzJfrMcl8qy4JSu7+aW6HSbWMSY9SW6UlhmKrZS2muRunUL0503NfDd509xoTMxo+Sp+WreBaGEtFUnAAAgAElEQVSxDF3F0A2csDe6d2RhO7MfjFRFYfOKKjYur+Tdc/28cKCV7oE0qaxNKuvPauIRAxRwHJc7b2q4ruubtstAIjOrWXT7j3Xlz9EoCpxtH+ZrjzfTUB3hE/dMr5DojRjUZK9FzHe3b17E4y+f4ZUj7fzKonXFHk7BzesglKOpCtGgTiSoY44mMmTtmaV3T4WqKGxZWc2mFVUcPdvHCwda6RnMYFouvUMZoiGd+29uHJcdN1WznUX3xMun0TQV1/VGlwsVVFWhezAzrSrT020DcbXrzYeANp8PpwoBEA0FuGV9HXuPdvLx968kWoJ1K6+mJIJQjoK/Zh8yNCzHJRTUGVSVgrb7noiqKGxdVcPmFdU0n+3jxQOt9A5lSGZsnnz9POc7E3zsnjUY04gil2fRXV63bLq6+lOEAirdA2nA77vjef79clWmr+ehX8i9k0IHtJmQvZZrmy9vGG5EExUwVVSF5GUHWN+3rYE9Rzt5bn8rD+xaOu7PggGdAj02iqKkglCO5/mVZivjIaysSdZySWVsrFlO81ZVhW2ra9iysprm0728eLCNvuEMR0730Xymj22ra7hnxxJqysPXfW3TchiwHcJBnVg4MONOsfVVEXoGUtiOm7+WB+i6Oq09j0Luncy3ZADZa5ncfHrDcCM6dq7/isOqk1lcHeG5fRcpi4xfwt+1oR49WJKPcqBEg9BYCgqhgEYooGLaHhnTz0KbzdmRpipsX1vL1tU1HDndy4sHWulPZDl0qpcjp3vZtqaWe3YsoTp+ffsKuSU603SIRQ1CM2ii9+jdq/lfjx9GVRQc10NR/CAUjwSmtedRyL2T2UgGkHfrs2O+vWFYyDatqOL5/a2caR1ibVNFsYdTMCU8ibucgqGrxCMGNeUh4lEDXZ/dRGhNVdixtpYvfvImfvmDG6gsC+J6cPBkD1/9/mGeeOUMA9MoxW67fhO9gYQ5rUSM5jO9PPHyaTKmg6L47SdURaEyZqBp6rT2PAp5TqXQlapL5axPKZLWFvPH4uoINeUhms/24bjutV9QIkp+JjQRVVGIBHXCQR3LckllLUzLnbU0b01VueOmBtY0lHHoZA8vHWpjcMRk/4keDp7sZee6Wu7evmTKqdw5WcvBHE4TCQWIhXWUKcyKcg/koKFRWRbEtF1SaYt41CBjOlREjWnNEgqxd5KbrbT3JkmbDtGQTjxqzDgZQN6tzx7JHpw/FEVh25qafPPO9dNIiJqPbsgglKMARkAlaASxbTdfImi26tXpmsquDfVsX1vLgRM9vHyojaGkyb7j3Rw82ZMPRhWxqQcjz4Nk2iJr+meLrrVEl3sghwydoZEswykLy3axHY9ff2TjjB7KM9k7GZsyXlEWREtZjKQsHNdjSU10Rstnbb1JTMvFdlx0XSUeCRAO6vJuvQAke3B+WVwdoa4yTPPpPlY1lBMo5YyEUTd0EMrxPNA0laimEgkGMO1Lad6zMTnSNZXdG+vZua6Wfce7eeVQG8Mpi7ePdXPgRA+71tfx/u1LKI9OvRaU7XgMJbJkDG10Y/LKb77mM72caRvG9Tz6hzJYjoumKmgKZC27qBvKuZTx3DvqeNQgaGhURA2+9Jkd075u85leMllndMnRP7fVn8hSZrssqipsdemFSLIH5xdFUbh5fS0/29vC0bN9bF9bW+whzdiCCEJjKcqlNG/bccmYszc70jWV2zYt4uZ1dew73sUrh9pJpC3efK+L/Se62bW+nvdvayA+xWDkARnTwbRdouEAkeCls0W5ZThF8T8xt+fieR4oKgFdnVZqdqHkUsbHKsTewjNvtRCLBEikTLzRVHTH9UhmbB7a3TRhwsJ90yg3v5BJ9uD8UlMeZsXiMt47P8CaxtJPUFhwQSjH8/y9nGjInx1ZtkMqa8/K3lFAV7l982J2ra/n7WNdvHK4nZG0xd53O9l3vIvdG+q5a1vDlKvkuq5HImmSNR3KIgECo8Elt9TVP5wZ87mgaR7xaLBoG8rNZ3pJpi36Bi0CukY8ahAO6gXZW+gdyqCp/jtEy3ZRAE2F8Gizu4nSi8vLIxP24JEMO1Eqdqyt5WL3CG8d6+LuHUuKPZwZWbBBaCxFASOgERydHWVHkxkcxyvocl1AV7ljy2J2bajjrfe6ePVwO8mMzZ6jnbx9rJvdm+q566YGYuHANfsWgX+2qH/YIRLy065DAQ0PqIqH6B3M4Hpe/v+Hg35h2LneUM7N0EKGSsb0A0XfUJp4NIiuKTPeWwgFVDr60ygKBDQFD/8NRjwSmDRh4YmXT1/RtE7Ow4hSEg0H2La6hv0nejhyupc7NpduvyEJQmPkZkeRoOqXCLLdWTl3ZOgad25tYPeGet58t4tXj7STytq83tzBW+91sW5pBRe7EwQC2hV9iy4PRLnEhWhIxwXs0WW4+uoI3f1JNFUlZGhzWvr/ydfP8uy+VjKmDSiEgxqLa6KoipJPlMiaDp+bYaIEQH79Eb9Gnv+mwQVFmfQ8Und/6orLSIadKDXrl1VytmOYH750hptW1RALl2Y5n9JPrZhFuXNHtRUhKsqCBAMaMyxkMP76AY27tjXw+5/ezoO7lvop5bbL0XP9DCUtMlk/cWIqfYt2rK2lqz+J43mUxwzCQZVo2KCuIjSjfjvX68nXz/LkG+fJWg6aquB6/v5M31CGSCjAoqoIjbVRIiG9IGPJmA5V8RC65t9L1xSq4iEypjPpeaS6CRIW5DyMKDWqqnDbpkWMpC3++ecn/P3fEiQzoSnIVWUIz1IyQ9DQuHv7Em7dVM/eo108v/8iHjCStkhmLKIhv8/S1foW5WZIrx1pp2skxcqlFTx65yo2Lq+a0diud5/k2X2tKCj5siKK4i9pDo2Y+QSMQp4zyZ1jqR8TWLLWpfNQE6UXP3r36kmvI+dhRCmpLg/x8G3L+Ome82xbXcNtmxcVe0jXTYLQdbg8mcG0/eZ7ZoEqeocMnXt2LOHUxQG6hzKkszaeNxqM0hblMYN01iY8SZ2odU2V+WBUVRVleDBFxnIIjXmwTkUu8LT1Jslk/UZ8ZZHAlPZJMqY9rq6VpirYjufvT3lewc+ZXO0cy0TpxeubKnji5dN09IyMC6pyHkYUw0QFTK9XOBDg+IUBvvXcCVY2xMe9ISsFEoSmaWyqt2UXtqL3+7cv4ck95wgZQUzLIZm28YDBEZOvfPcQd2xZzB1bFhEyrv7Plyv/EwxolEUMdG3qFRc0Tc1nCiZSJgFd9ZMbuPo+ScjwEyByt1IVBVXxQFFIZeyCZ51d6xzL2PTisdUkJks+kOw4MZeup4DpZHZtqOfXf2ETf/KNffzVE+/wn35l5zWfDfNJ6Yx0nvJbk4+v6J0enR1Nd4l2XVMlj0A+O66pPkY8anDi4iAZ0+GFA628cbSDO7Ys5vbN1w5G11P+Z+wGvV+BGzwUhpMm4aB+zX2SB3c18uQb53FcUBVwPUCBTz2wlvu3z04q6dXOsYxdTkxlbIKGRrnh772NTT6AqQUgSeMW81F1eYjf+Mgm/vL7h/nHnx3nNz+yCaWQG9izSIJQAY3dO7JG944y09w7Gru0lpPMWLze3MHeo52ksw7P729lzzud3Ll1MbdtXjRuP+NyUy3/MzajTNf9YqeqQn7J4Fr7JI+8byVAPjsuZOg8uKuRTz+4np6exFX/zoV+wF+edt2fyJK1bEKjwRT8pbf23uSU0rMljVvMZ5uWV/GJu1fxw5fOsKQ2yiN3rCj2kKZEgtAsyPU7ioVUogU8CBsNBfjALU3csWUxrze3s/fdLtJZm2f3XeT1dzq4a2sDt26qx7hKMLpW+Z+xG/TxSID+RBbH9bPOpprm/cj7VuaD0VRN9QF/PYHq8rTrgK5i2y6DiSx1lX7PJ3O0rl5ktLp4VyKLbfvljh5/6fS4a0sat5jvHrqlibaeJD957RxVZSHet3X+nx+SIDTLxh+E9VsgpLIWtj39YBQLB3ho9zLet7WBV4+089a7XaQyNs+83cJrze3cta2BD94xeRDIl/+xXCJhnWjo0hLd2A36cFCnzHZJZmyCAW3aFbinYioP+OudiVx+TigXVM3RdhS55ANNU7Bth4ERE4XcMqJHe1+K5jO9+WtPtQ+SLNmJYlEUhV/94HoGR7J885njVJQZbF5RXexhXZUEoTniZ9YVtsVELBzgQ7cu486ti3n1cDtvHesimbH532+2sOedTt63ZTGVZQZ7j3ZOWHnB9TxGUhaZrE1ZxCAYUK/YoF9UFZmTh+hUHvDXOxO5PO06Egpg2S6W441LknjmrRbOtg+PBqDRLrQe6Joy7tpTSeOWJTtRbLqm8oWPbeFPv3WQv37iKP/+k9tY3Vhe7GFNSoJQEYxrMeG4pGewdwRQFjF4+Pbl3HlTA68cbmff8S6GkyY/e/MCigKRkE5ZODBp5QXbGc2iMzRiEaMoBSsnesAnUhZZ0+FLf/MGNeUhWroSOK43ujyoEo8ahAxt0kSJidKuA7rK731q2xW14772eLO/kZtLpsCjPBYcd+2ppHHLkp2YD8JBnX/3yZv4s28f5Ks/PMzvf3o7yxfFiz2sCUnFhCLKnTuKhQLUVIRnXJUhHjX4hTuW8+8/uY3372jM3yOZtukezGBZLqqqTFh5IbdE1z+UIZG28KvOzZ3LO7cOJ02GklmMgD+j6BpIk8o6WLaLqvhnj/qHMyRS1qSJEltX1fDZB9ZSETXGVY0AeOw7B/nS37zBY985CEBDTTRf4SFXdUHT1HHXnux6Y4OLVF4Q80VFLMjvf2o7kWCAv/jeYVq7R4o9pAnJTGgeyWfW2R5p0yadtad17qg8FuTTD67j8PEuf+lp9DpDSRNVVfxqD46Lrl35HsT1PD+LzrKJh/2eP4WsBjLZfsnly4BZ0yEeMSgfbQCYztoo+LMU1/Pyvx9JWXzuoXXXvM8vPegHi+YzvfztE80wOkPMLZfdsXkRe452omnqVQ+rXmuWKJUXxHxSXR7i9z+znT//9kG+8r1D/P6nt9NYGyv2sMaRmdA8k9uLKAsH8jXrjGnOjqrLQ0TCOnWVYSKjVRZc1yOVdfjL7x9m37GuSXvV27bHwEiWwRETp0DliXL7JYNJc1wAaD7TC/gP+C99ZgeP/dbt6JpCOmvT1jNCV38K03bRNT99QtNU3NHzWaGgdkVQuNp9nnmrBV1XRmec/q+apnK8ZfCas5ypuHxGN5eFY4WYSF1FmC99eju6pvLYdw5xcZ7NiGQmNI+NO3c0OjvKZO0pB4U7b2rgyT3nQFMpjxkEDZVkxsayXQZHTH782jlePtzOPduXsH1tzRXp2p7nz0Cyll+6J2zoVznmem2T7Zc8/vKZK0rrpEcrl+fK/niuh6OAYWj5jqm5GnFTvU/uHuUxA9u59DXMLZcVYi9MKi+I+ai+KsKXPrOdx75ziK989xD/4VPbaKqfH80dJQiVgLGzo1hYn3JVhssrL1SWBXnkjhXUVIR56WAbh0/1MJDI8sSrZ3n5UBv37FjCtjW142q/gT97Gh4xyQT8JnonWgb42d4L1/2QnSgDznFcuvsz1FVF8rOWp/e2oChePgkByC+/hQ3tmjXoxt4nlbEYTlnYtkvfYIb6qvBohe9LAbfQy2XSiVTMR/WVEf7gM9t57Lu5QLSdZYuKH4gkCJWY3OzobNuQH1xGTAxd4eb1daxdWnnF509UeQHgE3ev4p7tS3jxYCuHT/fSn8jyo1fO8vKhdu7dsYSbVtegXhaMTMvhrXf7eP1oJ+CniI9NQYarzwAm2i8ZGjHRL5u12K6L5/nndTzPT5oYrf5DMm2RTNvUV4b41Jgkg7H3zN3HcVz6E9n87E1RYDhp+rMkQ5vTQqVydkhMpBAFTBVVIZm1p/S50YjBv/34Vr72eDOPffcQv/PxLVOaEQUDOvosbd4oXpGaUPT1jcy42Gdtbdk1S8HMlbkcy7izKEEdTVPQVZW7tzfQVF+G5/lVtPv7k1O6Xs9gmhcPttJ8ui+fE1dTHuLenY1sXVk9Lhj9/U/fZThtUVkWIhoOkDVtBhNZNNWvqHD5xn5uX6W2towX3jyXH3fuc7r7U1TFg0TDl5bVWjoTePjLZI7rMvZntLbCz1pzHHfSZILcx4dGzNEzWH7ju6p4CFVVCBoa4YA2ZwFh7L/XZF+b+fJ9DAv352oqrjWe2trrm1k8/dqZGRcwnY6RlMWz+y6StRwe2NVITXn4qp+/a0M90Umq9491vX9/kJlQSRq755FbshqxLPYe7WT7mjrSpn1diQy1FWE+ee8a7t6+hBcPtHH0bB+9Qxl+8OJpXjrYxr07lrBlVTWqojCQyBIK6iTTFumMTSwSoL4ywrmOIcKhwIT7MAAvPN5MR8+IX7NuTEVtXYErikeMNku1HZfL36cMJLJUxUPYjseTey6A4pfjiUcCREIBspBPMvjrJ97B8zz/z6NBwkEdz/PIZB3+8+d2TffLf93k7JCYb2KRAA/espRn377I8/taeeCWpVTHi5PBKUGoBE20txLQVVp7kvm9o8rKCHbWIjWajj2V+e5gIksybVIW1nE8SGZsegbTfP/F07x0qI37djZSETNIZGwMXcMdPc8z6HmEDD8Lr28wTe+wX39N11QGE5lx7RNM28WxHd63ZRHHWwYZSvlj9AOPh6aqqIpCKKiRvmyJwQ+sfiB0XT9AaQpkTYce00HXslTEjHySwaol5QwmTX9PK2nSP5xBVRQappGiOpPltKmW+xFiLsXCfiD6+VstPLfvIh+4pYnKsuCcj0NStEvQZG2rx26u65pK2NCpjgepLAsRCer5kjQTOdEywJN7zjGctohGDMIhnbKITlO9/8DuHkjz3edPMThiks7YZC17NEHAIWvagEd7bxLH82u0GbqC7bhkTb9AaMjQ8ynRtuPx9JstDCZNQsbobM7xcFz/7+G4HhnTwQMC2qXGE5qq+BW9bRdQUBTGLdU5jsdAwhytEO6nS6cyNn1DaUzLwXb8hIaWrmGefP1s/nXNZ3rHHV7NpYyP/fOrpZYX4t9LiGLIBSJdVXlu30WGRibv3jxbZCZUgq6vC6iCoSsYukE07JGxHNJZC8fxxs2OXjvSPrpn4S8Z5X7VVYXfeXQLLxxo5diFAQZGTAAs2yWgO9RVhLhrm98n6NvPncR1PeJRg6ryMMm0RSJlkspYVI8+cNNZfw/Jw595ZcyJu9I6rn8g1XY9FBU8l9G0ai/318pNnvK83P+OCbZ+Svulz9FUQFF4+s0Wli+O58d9ea238x3DHG8ZzPch8is3BIDJU8snmx1J11Yxn5VFDB7YtZSfv93C8/tb+eCty66Yuc8mCUIlaLpnUTRVIRrUiQb9ZbGMaZMZPY+T2+sZK6CpDCSyNNRE+eUPrKOtZ4QXDrRyvGUQ03YxbZes7QezdU0VBAMapu2QSJlkLIeGqghlEYPBEX/ZKZ216R/O5DPdxp7VmUg4qJG1XPy2er7cK0IBjazloGp+wMpl01XFQ2RMJz97megwrqYo2K7H4y+dpj/hj3XsvtJQ1ubpvS1UV4SIhHQGEhmytkJAvxSIJkotH1uo9PLluzs2L8oHNcmOE/NNeczgvp2N/PztFl440MoHdi/NvxGdbRKEStRMz6IYuoqhG8RGZ0dN9TG6BjPjDqNajjtujXhJbYxfeWg9F7v9YHTy4iDtvUn+6ecnRpfK/MyzeNR/TcbyA10kGCAc1Ojqs/IzF0Xxg8bVpE3/HJSi+GmouUBh2S6JlHXFod1YOICmqVREjXwyQEDXcEwnl+uA64Hq+evQ7X0pFMUPSrl0boB01sH13DF9iPwW7sMpKx+EJkotz82OHn/pNO19KfTRQ8KDSZM9RzunVYFBiLlSXR7i/dv8YxsvH2rn/p2NVxzTmA2yJ7TAqYpCxNC5f9dSymMG8WiAkKFh2X65mTtvarjiNUvrYvzqB9fzoVub0DX/m9RxPSzHZSRtM5DI4Lru6GFajy0rqwCVaNigujxEZcxAGS0WejW5P1YVfy+oPGoQCQXQNWXCqhEjaYtU2uKh3U35QqLxqJEPQLlrenig+PtmAV3Dww+gCjCcsrAuq6sXjxqAh2W7+VI8tuMSjwbG3d9xXNp7k3QPZlBVBddjNInCQ9PUfKagEPPVktoot21aRGdfigMneubknjITWuDGLhuFDA1DV1AUlZUNcbatrmH5ovik9bSPXxigoiwIHgynTEzLX/pKZx1MK0NtRYgP7V7O+mVVVFVFeeybb+MADbVRBoczdA6ksZ2J94RyArqKN3rWZzhpEg7qDCctfwajXgqAnucHmHjUb0VRU+4nPoSDOuUxg6ER018GVPylh4HhLJXlQRRFoX84g+v5Qcga7aqam/GAXxY/Hg2SNZ2rppbnZkeO66Eq/r1czx93XWVYsuFESVjdWM5AIsuxCwNUlwdZ2TC7vYgkCC1glzdgM22XbNoZt2xk2u5oNpxzxcwlt4+kKAo15X45nETSzGe4dfaneeVIB4GARlVVNF/LLp2xqSrzv7lHUibdAyky5gR7N6pCRcwYrXrgz0RysxAFf19JURTU/GzMzSc6jE0GiEcNFEVhJGURCmo01JYRNnRs1yMY0KiKhxhOmli2Syig8+CuRvYc7SRrOflEAl1T+NwjG6/o8jpsOqQyFrbjH6qNRwJkRxMPcl1abceVbDhRUnauq6V/OMPeo11Uls3u960EoQVsKocoDV0lWGZgO/4DPj2m+V5lWZDhtJXfwHRdf7lKHW1pnjEdLnQm+PpTx3j1SAd3b2vgkTtW8NqRdrr6U9RUhPjw7ct5YX8rI2mTvuGsf0B1zFLb2D0YD6iIGuiqQvdAekxLBz/F2wNSGXtcS+7cLK++MsznHlp3RfWGLBAyNFQ1OK6KAcCz+1rJmDYhww9MlyccAAwls4BCQNMAh2TGIhYOMOL4HXNzHXUlG06UElVVuGtbAz/dc57Xmzu4Z0cjzNIRIglCC9hUD1Hmmu9FQyrRUMBP887YrFlazgv728b198ktd6mqgq75y1rdA2lOXRzk1MVBVjbEuX/X0nFdHhUF4mVBKuMhkmmbZMaibyiNpip4nr+fUh671FrhydfP8tM3LozuC10KWH7wU69IsZ4oG23rqhrOdwxPGmj2HO0kHjOo0f0zPntG6+XlygRFQjqdfSkUFKriQSKhAKmMRf9wlnTWIRLUGEnb+eKzd2xeJEkJoqSEgzq3b17Eiwfb+NneC3zm/jWzch8JQgvYdBuw5QqoXugaYWl9jN4hv8Mp+Blq4aA/e1EUhWhQ4/MfWs8rRzo42zbE2fZh/u7J91i9pJz7djaybFEZuzfW8+Sec5THgn4TO8UjYxrEw3p+DyYXRPIBImqQSJn5NG9Vhep4yE+xHsmOS7Hu7E/x1z8+StjQaKiJ8skH1zM0lJow0CxfHJ90hvjsvlbiMSP/cdv1cF2P3sEMQcMiHjWoLDPoH85ip10Co8FT09T8tSUQibEKUcB0Nt20tpZU1uaF/RfZurqaFYsnbhE+kwKnEoQWsGsdorxaqZqn3jjPYNKkLGKwoiFOz0CaZNrCtC8lGgQ0lcERM98XKBbSsRyXrOVyum2I021DrGks5/6bG/PLdG3dCZbWx/j4XavYuLzqijHnAkQkpBGPGrT1+A26/I/5wW9sinUqY5FIW+D5/YcGkyZ/+0QzuspVew5NNEPMmDY1+qVDt56bPx6bbzdeFjEIGfq4YAVIrTgxoWPn+otSwPR6rFgc58jpPr75s2N86LZlKBNUXtm1oR59CgVOJyJBaAG72qHXy5MWLj+MmXtQm5aDaTkMpyxChkpZ1CAWNkhnLVJZByOg8eSecxgBjbKogWk7BEyHYECnbzjDqdYhTrUOsW5pBQ/duizfelhRIJG2iIbGlxu6PEDomoplu6OlfHyW489CAL8z7OhsyR2duRgBla6+NItrIuO+HrmlyJryEF0DadLZS23Qw0GdkOEnbwQDGsOjrdJzlR0UvHy78XDQbxMx0bWFKDUBXWXnulpeb+4YfeNYUdDrSxBa4CY79HqtpIWxPXuGUxam6ZBMQ0A3iYV1YhEDI6BhWjaO5+VrxgUDfjZdWUjnQ7et44X9F2nvS3Hi4iAnLg6yvqmS1Y1x3jvXn6/W8MCuJrasrEZRrlxCjEeN0f0jNd/sLpdinc76XWTH6h/OUFMRBrx8QMnJLUWub6rgZOsgCv75JMt2Me0su9fXcbp9mCxg2Y6fmaf655hy7caNgEpDTXRay5xCzFcrFpdxomWQQyd7Wb4oTqCAzYXksKqYUO6wZ04qYzEwnOXkxUEe+85B1jdVkEr7G/GO46Kq/jkb14WO3hSu4/KRO5YTDOgsqYkSDQfyM5rcMt2GZZV84dEt/NKDa1lc7c9KjrcM8NQbFzjXkWBwxOTkxUH+/un3ePuYnzL94duX4Tp+qrbneaiqQjRsUFcRIpWxqYgaPDx6iHYwcWUxRs+DgeEs9VURnDHXyVpOfinyeMsg8YiBrqt+cNFV4hGDgRGTzz6wloqoMXqAVqE6HmJJbYzGuhiV8SBLaqI8tLtp0mvnjC2a+uW/2TPlYqhCFIOiKOxcV0vGdDjVOljQa8tMSExo7IwjlbH8kjaePzXPlaHJpWG7+Z49flZcRdTgod1NPL33Auc7EgR0hSV1MWoqw5imzeBINl8OSFEUNi6vYv2ySt47188PXjyN7Xr5nDfL8bBTFj957RzLFsVZVB3jlx9axwv7W2ntSVJTHuJT966+Yja3fHGcrz3ePO5jHv7BVtdz+MTdq4CJlyK/9exJ4lGD8tilZcBk2uRM2zDfevYkNeUhHr5tWT5T7vJ249eq7Xf5UufAcHrcUmchSCdXUWh1lWHqq8K8e26AdU0VaGph5jAShMSExiYtDCetfHHq8lgwvzTXN5hmcU103Eal5/ktHXIP2fJYgIGEydm2YarjQaIRg7JIgAdvafJL24xu7quKwuaV1Xz/hZp8GacAACAASURBVFPjyuww+vvugTRd/SnqqyLUlIf5lQ+sJxYx8mWDJnbpSmOvaehq/oE8NjA881YL33r2ZL4HU3nMD5SpjMVAwhxd5tPzQfhqRUmvVtvv8qXO0OhSZaESF661nyfEdG1ZWc3z+1s535Fg1ZLCVFKQICQmNPbdfHd/ioCuUh7zu5NCrvW2R2dfCsf1Rpes/AKituMRGX3IuqMlbCzHo2cwgxHQ+Mgdq9i6qgbX8/sGpbIW9mgNHEVRUBUv36YhV2jbA772eDNbVlVz745G6irDZIfThIM60VAgX8IHLj2Ex4ay3O8UyKeQX/75uYe243qjh1D9PaehERPwqCgL5Xsi5Tq4fukzO8Zd57HvHLzm7KNQTe4mm+1IJ1cxWxZXRyiLBDjTNixBSMy+3AOrpWuEjOUwlDTxPI9IKMBw0kRRlNFWCaNVqIezREM6mqZg6Gq+dYPf0whs10+TzlEVhUhQJxz0s+xSGZtF1WFae1JXjEVV/MOwzWf6eOdMHysWlzGUNBkayRI0dKriQRT8oDGYyKJpqj/TuqxdhKJAeZkx7mOXP7T9gqXka8V5nkdVPJQPwHBl0Lie2cfVzmdNdRntaveTTq5itiiKwqqGOIdP9zGS9quDzJQkJohJ5R50QUNDwcO2/XYHQyNZkhmbeNSgujycz5TRVIV41GBJTRTTdhlOmjCaYeZ5fiuGiapJKzBawy3InVsbqK0Ij3vgg5/M8L4ti6iKB/GAsx0Jv8yP67chv9idpHc4S8ZySZsunuuOWybM/U5R4FKvVt/lSRgAZZEAkZDOY791O6uWlKNp4/88MdqWPNeN9fGXTqNpKq7r0T2Qprs/Re9Qhv/5o3eu6NZ6eeJCxrRxHJf1TRV8+7mTdPanSKQsTrYO8dc/PjquC2zO2MCZm53lvrbSyVXMphUN/oHVls5EQa4nQUhMKvegGxdsPA/TcgkbGmWRAOGgTn1VhCW1MRZVR8iYTr6tdsZ08sU7Lcclazp09ac43zk84f08Dw6d6iWVsYiE/OuWRfzWDe7oXtMX/9U2aid5mKYyNuc7hnFcl4Duj8+vCu4vx+Wa3g0msvnMtD/++lskUiZtPSN09adIZ21g/EN7fVMFfYMZWrsTdPYl6RtKM5TMjnZb9Wch7X2p0WzBDKbl4I5W9XZcj66B9Lh24FtX1eSz7FIZm8p4mM8+sJbjLYN+r6S0heO6aIp/tunpvS1XZM9NFDhzs52pZOcJMV1lo/u6XQPpglxPluPEpMYu64RHl808z8uX0rnqWRjP8x/+l7U78DzImC6//pWX+PBty3jkfSuvuGfG9A/ABnSNSFCjPOoHt2TGQlOVq5Y5sR0vH7AqYkFqK8OkMw4jGYuKWBDLdkllLAaTGooCHX1JXNefIVm2S99Qmng0iK4pPLS7KV8mKBrWSWcdLMfFtGzCQS2fuBAMaOiaSiJt+eeVxuxFKfjVFSrKguP2ZMYmLtTWltHTk+Bbz/7/7b15dFz1le/7PWOdGlQqzZJtZGN5kLGRjXGwzRCbMQYzNcOFNH1puu9KBzp5yWXdl4TOWyu9OumQhKxcXiCJO53XCasTaDrQ7gQa8HVwgIANBs8Yz7KNbM1jzVVnfH/86pSrSiWpSir5aNiftbISS1Xn7HPsnO/Zv9/e330C8aSRct9m2ZrAMXfw3P2c0e7/eCfvEkSh1Fa4ca4nAsuy8jooFAOJEDEioz3omhsDeO39NpgWcxSwh81tWtuIbbvb4HFL4HkOQxE177F1w8Iru86ieyCGwYiaflgqEg8hNfBON0yEYiaCMeacUOX34Ge/O4yENrrXViiqwS0L4Hmgqy+GQJkLC+f4oeomzndHUOaV4JIEdIeTaZE0LeZ6YFlsL8ge2/DUC/vSlkDlzMwB53vCyNXBcp+M3qEEkDqGjSAw0SxkT6a6XMFAOInMgj+7CTb3u2NZLk108i5BjEZNwI3W9hAicQ1lHnnsL4wCiRAxIiM96JobA8Oyg0hcw+Z1F/psOI5NOh0VC/jgaA/qKj3pZa1YQofAA4YOmOkHuoV4Usfxc0PwKiJ8bhF+r4xITEU0oec9dFw1oOomFs0LIJ7U0DsYx7xaH+bVeuF2iYjE9fSymY3Ac7DAhAMAnnphH06cGxpWGSgKPLQcFWL7M3w6XvY5ZugjClxBezKb1jaiteMw89pLFWIAFjyKPOy7lO3MDKa6gelIKIqIDz7pRmNdGRbNC8AljV9KSISIERnpQXfBRPRCdpDUDBxrG8KdYG/0pztCwLCOn2xsAbA383XDBM+x4oYqiUf3YAIcZ6Gu0oueQTbaQdNNBCMqOABejwyfR0Y0riGa0GBZbN9HFHgosoBQTMPxc6y72yXxGAwlYJgWXLKAgM+F/mAckTgTMY5jS2CGaUHVjHTlmSQK0A0TA6FEukLOo0iIxLWsoXeGYeLWtY3Yebgrva/DBMmE2+UqaE+mpakam9c14rX322CYdoYppzPMfJ/PFR1qUp1eTAcD03wMRVgLQzypwztO41IbEiFiVPI96H6z/cSoJcCb1jbimZcPgedHXisWbPNPDukyblsE+oIJzKvxotwnpx+kz7x8KKsXyAL7nijwCPgkVPqZGsZVHWWKhL+8dRn+a9dZ7Dnew5bYNBNtPVGIAnN88HtluCQRXrfMBEXV05mHblxw2PZ7JQyEkzBNC72D8ZRXHI81S6uzlhHth709CiLRFYKqsd2hpGpgQ56hePb3bqwpS1/XndcuTB+jWCGhJlXiYmEv0Ufj+VciioFEiCiasYoSWpqqMafKg56hBASeuShkLntl7WNagF3GDbDPAswhob7Kk36QigJrjmXLVFZqoB3SY7V5npWAexQRG1bOgSTy6A/GUel3QdMtRGIqTIt9Xo+bEHk27lsQ2cyfcq+ERNKABeaEbVeeeRQJqmYgGGVvq6IgwO0ScKojlDWF1cb+sy0GdqaUbyiefW3l5R7Mz3D0Hu9+TmbZdjypp0aWG/jnV47gbzJGkxPERLGdTkphZEol2kTRFFICfN/1i1Duk1FT4b6wFyOzfRO7L2j9ZbUpQbJSQsXESuCZ0GT2v/i9MiywYgXduLD575J4ROIaBoIJCByHW69qxFWX1SNQ5oJhWnDLInxuCbWVHvg9clrsglEN4FjHkGFYEHge1QEFdZVuzK/3ZfXZJDXmzO2SBdRXeVDuc+Xtd7IZqYdn+0fn8/5869unSvL3Ypdt203CumGB5zgkUsuLZJJKlAr7JVASJi4hE8qEXn31VWzZsgWapuGRRx7BQw89NOGAiKlPIZviuZ9pqPHhvg1Nw97Gz/V8gJ6hRNr6xzQNWBbLiNp7IxAFHmUelo1U+FzoD7G1aI4D/B4JgTIFSc1AwCtnWegokoBKvwLVMKHrFqIJDT6PBEniwHE8YnENsaTO9oD0JKJxDfWVbtxw5SUYDCfw0bFeDIQSiCd06La/nWmlepikUavdChmKl/nznoFYSfZy7Aw1s0nYTJnO2qJJ2RBRChIqcz7J/Xc+HsZ9hO7ubjz99NPYunUrZFnGgw8+iLVr12LRokUTDopwjkIfhoUsGeXrhcnlvusXZS1ddfRFoRtsEivPcdANtkfEcxxqKtzpfSF7Sa9rIAZdN9E/lMCh1r6smDasmoNfvX4UPM+lrIFMaJqJhzc3o8or4/1PuvDuoU7EkzqSmonO/jj2HOtBW08YYipj8bolROMaYnENlmUxN3GwPSN7+TH3nikSn3dWUeZQvMzlMlHg8cvXj8GjiBPay7GrGTXdSPvuWQA4zoKuG2TbQ5QM21vRHsEyEcYtQrt27cK6desQCLApe5/73Oewbds2fPnLX55wUIQzXOyNbfvhnVANGIYOUeBSc3rsRtfU+GwLAMcG44kiD8MwYZoWglEt7aLNcRgW69nOECJxlu0EIyrKvDJqKjxwSQJcsoCNV8zFuuV1eGXnWRw61QdVN/Hx6QEAgM8tIaHpEDjAo8ioqfRA1VijazCiotwnp5tZc+9ZLKGnu3TtPaFYQodbZlkPl3IP5zkOSBVjROMqFFnIMkgdKXMZ6UXB/uzP/vNwejnR3pMbDKtoqHSX/O+QmJ0EIypEgUN1+cT/TY17Qa+npwc1NTXpP9fW1qK7u3vCARHOMZofWamxH95DURUVZS64ZCHdc8RzzCjRtFjGkVnH4PdIsJDpxMBseQJl2fs0h1r78NoH7H/LIg+e5xGNaxgMJ/DuwXZUlrGRFOd6Ivi0K4SA35VlxhiJM2dvVbMQjibROxQHYKGizIWKMhkPf27pMMdq+555FNbHZNvyiMw8D1LKaNU02Z4Wz3OoTM1VArjUMhrSMefLXDLvW+aLQqYlUG2FGwLPStXZzJdUqfwEO9sJwqZnMI55Nb5RK2ALZdyZkJXrxwIUZd9QVeUb76mzqMkob3WaqRQLUHw8AxEVZW4x6+9RFDgMRtQxj7XnaDe2vn0qPfPnno2LsGZZ3Yjx7Hj5EFyyAEUWEU3oCMc0WEiNcEiZvdVWeuBVRJzrDgPg0k2josCjs585bUsij0CZC16FWQoNRlR82hfDL/7raHq0N89xKRcG5i/3aWcYc+ewDH7re6dRX+VBUjUR5rVhDbYWmPu3wAMcz6EvmIBL4vHu4W74ytyIawZ8ipj1gBcFDpG4jh9+dQMA4JtbdgIcoMgiACntIiEK7HqY4LGCC7vaKKHqaKjxDbvvmfcNQGqwoI4d+ztw47pLAQCqYaGmwoNgRIWmm6n7pkAzrIL/TUylf8tTKRagtPH4vC4IojD2B6cQ8aSOvmACV7fMKcm9GLcI1dXVYc+ePek/9/T0oLa2tuDv9/dH0mV+42WkfQYnmEqxAOOLp9InDyu9TmoGKnzyqMfKXJJSJB69gzH87OUDWSXMufF09kbgUURouonBEHvj5wHoVuq93bIwEIzDshQWD8chEmel0xaY+PjcUnrsgqazaj1J4PCzlw8gkdTSrbKaYUJM9SFpuoHaSk86luNnB1HpZ5lYOKaml89yMUwL/UMJ1iTr4nG6fQhb/uMAKspcEEWBuWEnDRimNeyeZV5rLKHBSGVChsH2hQI+V6oZF1A1I938euMVc4bd98xj2fAch87eSPqz9t9jbcWFpZJC/h5tptK/5akUCzB2PMU+lCPR5LRrVmWN6MDief5h92I8ojRuEbr66qvx7LPPYmBgAG63G9u3b8d3vvOd8R6OmAKM5UeWSea+RCyhwyUL8CiFD1HL7DWynRJMC5BlAX6PhFBUg6azqrcHb2DFLpn7IOuW1WLn4a5hrgUix6edDlTNSC/bsWIH1mh6z8ZFw+IYCichSwJqKhTEEgbCMRW6MfwlyQIQjOlQJAuabqBvKAFRZEUKNQE3EhpzDm9uDKQH3MUSOuJJZhOkZRzTAtAfjCNQpsCbWsKzzWFHKggZ0zi2yL9HgiiW1vYgPIqIxtrSZIQTyoQef/xxPPzww9A0Dffddx9aWlpKEhThDIX6keVuxg+Ek0hqOiSRz5q8Olo1VuaDkjljsxTI75HgUdiE1tyy69w48jkL2G4Ofq/MnBhSWYcFtgezeV0j1iyrS7/BZVaUGYaJcEyFV5FQW+GGrpsYiiTh97kwGExAcYmpIXfMmw5gWZvAAR19MXT0xVDhc2HV4iocbRuCqpvwKiISqp62B8qEjahg5a5fuH1ZQcUfYwlMvmKPOdVesu8hSkI4pqKzP4aVi6pKsh8ETLBP6I477sAdd9xRkkCIqUEhpde5k0glkYeeGmJni1DupNCBiIrKVEVZ5jm27W5DLK7BtAx4FTYuotD5N/lirS5vw1Aqjkq/ki6DdkliXtcA+8///MoRJFKZUyzBsjC3S0R9lReKS0QoosKtiJBEPssZ3AIQVy8sjUXiKt450IEKvwu1FR64ZBdiSR1JNTsLApiAzavxIqmZBQvEaC8KmS8HFWWuLIEiAZqaTCcDU5Hn8ep7p8FxwL0bF03ItDTruCU5CjGryG3G9HuYvxrrT7Gy3Lbth2KZe3jJd6aIlMp4MzNTUGQBPM/MQ/NZ7GSes7JMRiiuI5HUU7ZArELOJQuQRB7NjQH0BpMYCo3ea6OnMq+hcBIuSQTPa1B1E1UBN1TNRCSmpvecNMNC31AcHM/j61t2pa8buCAyiiwAloWEZuYtx84k9+WgkGVRwlmmk4Fp8/wKvHuwE59prsW8am/JjksiRBRN7r6ER5Gg6Waqj+bCnka+8uWRHoqldIR2icyBG7BQV+nBgzcsyRK7HS8fwqcdQcRVI70Xo+omYFko80gYDCchChzKfS5wHCudvuPqBdj2wacQeC+CURWRuAaew7C5QvYelGEiPQAwGGEuBh6XiECZK+1PF0/qiCUNVJVL6XLrX752FOA4eBQxPXQP4FBRJo/ZtzWSUwM1qRKl4M0956HqBu669tKSHpdEiCj6YZ9vX0ISeTxya3PW98Zy2x4rpsx9p+7BOH669TAUl4C5I+xxZH6nodoDNVUxl/t7lywgqRmphlc2k8g0mUuD3yPhv9/Xkr4fAe+FJcTfbD8Bn0dCTUCBzyMhElMRjo3sItw9EEsPsrAsIJrQEU0VcdiVfbG4hkq/C6rGnBQGUvemosyF7nASHMcDsBCO66ivlEfNbAopWiCI8RCJa3j3QAfWL69HQ1XpsiCARGjWU6xLQjEb3xN5KOY6QodjKiwLUDVzxBjHWo6yf6/IYsqAkS2daboJSWDTXDtS/UeZBRH2dccSOgbDzEKIFziUeWQoLgmhiApVM1LGqxlzkkboQEja48sF5uAd8LkQT+qIp0q8TctC90AMCdVIzTkC9NQS3mgiTlVxxGRgWRY+PNINjgPuvq60WRBALtqznmJcEnJdDvw+GS5ZGDFzGs1t+1BrH556YR++vmUXnnph3zCHZ9sRGkCWIadumCPGmPkdm8yHdubvRYGHmbGUxhp0OYh5jmtftyzxMC22l5NUTQwEE4jEVATKXKgqV8ClmmK9ioh7NyxEWYYDQy5iyronoRroGWSC43WLqA4oUGQRumFbFyE9qgIYXcRbmqpxzYp6hCIqzvdEEIqouGZFPe0HEROirTuC871R3Hb1gpLY9ORCmdAsp5h9BFuwDMNEdzgJXWcjDl5+69SIJqf29wYjKipS1XEAxsy+Ruoj4nkO3QMxaLqB/qF4lmnpWJmX/XtZEuD3yuhR4wCY2YE90K7c50JHXzTd46NIPHqDCeiGCUkU2OC91MaPmRqW1xeMo9wjoWluOSSRx+olNVjaWIE/7j0Pv1dCOKoNmy/rdolY01yD/Sf7kFANluFFkojENHgVCYqfRySmIxzXYJoWdN3EuZ4IBJ7DumX5m8IPtfZh5+Eu+H0yqkUlPcdoQYOfhIgYFwlVx4dHu1FR5sLGK+ZOyjkoE5rlVJcrwxwCRnrb7gsmoOsGBsJJGCmPN3sJa6RZNS1N1fj6n6/G//f/3Iyv//nqEf3WcjObzCzKnsJqWhaM1DwhjuPAcVyWb9pYc47s3ydUHYosZJifchAFDpV+BbEEe/CfOB9EMJJEe18MSY3dH91gw/Qy2yOYLxwwFFFx69pG/M//thJrmmvB8xwqylyQJQEVfhckkcvywAvFNBw41Y/LFlTC73UhkdThd0vMXshk95jjgLpKNyr9CmRJgCRw8Lkl7Dzclfd+X0zvP2LmY1kWdn3chaRq4prL67MmG5cSEqFZTiED6myqyxWEoswOh0+JwEhLWLnsOdqdXn5rbQ9B1w3Ekzq6B2Jo741gMJRAR180/fmWpmo8dPMSBLwyXJIAnmcPcXZONja73CdnPWQzvxNL6Ah45azSbPv3FX43Ygkd9RVu+L0yaivcqK1wQ9UMRBN6ugFVM6x0BmOYbG+Gw4W9HtsujuPY8t4bu9vAgYNXkVDld+G2q+czlwaeuQ1XBRT4vRIWzvGnxponsfPjLrS2ByEKPK5paUBdhRuCKKDCp8CjSOgPJaBqOqoDCpYtqERdpRuimP9+j7UcSRDFcOzTIZzvjeLK5hpU+ievuIWW42Y5hbokAEywnnn5EBOCnCWs0R50h1r78OKOUwDHhmCFoioGUsPpeJ5Pzw0yLSNreS23j+inWw/DtCw2aTXlrGBZVta5x2q2bWmqxo3rLk07JmRWBqqamRYURvYiGpv2eqEM284ELQB+r5QVh8DzuHJJLfqHEnjnYCd6B+MQeA7XttTjhisvwYdHuvDqrk9Zhmda6A0m8JvtJ7B8QQUGwuw4ksBD00zomglZEjAQSsKjiKir8CAUSQ67NqqOI0pFz2Ace4/3YF6tD82NgUk9F4kQUZBLgv25OdVe9AzGYVoWRIGH3+sCz3MIpIxE87FtdxtEkUuNFWBjF3oG2X6MADbSGxzgVcQRy49bmqrRNNdf8oesfe1M5D5OV8sJApclOJLAgRd4mBbrJxIFDlZq1ITfc8FmKJODp/rw5t7z8HkkLF9YiWBUxb6TvZhb48P7n3TBstjSnj2awrKAw2cGUe6VwQOIJzS4RAGyzKeKFZgrRX/IQG25G+G4BrdLgCTwsCyqjiNKQzSh4e397fC6JVyzor6o6QjjgUSIyGKsnqH7NjZlTUIt5EHXF0yg3CenDUHdLjH9gDctQBTZg9ztEgv2myvlQ9aufmPVbcwtQTcs8PwFEbLnFRmGiWtW1GPn4a70PQhFVQxFVMTiGp56YV/6ntl7NKYJDEWSqcmpPuw51oP+YDJVfs2q5IyMeIKpuUJ1FW6sXFyBg6d6oeqspFsz2DWvaa5lE18TGtp6Ith/ogdd/TF4ZAFGamTFRJwniNmJbph4e18HdMPELVddApc8+WMmSISINIX0DBWzfGdTXa4gktAg8DxiCQ2hmAYrNWOt0u+CR2GlzEnNGDWrGc+5C8EWi3KfjIFwMi1EpsnMVQM+GZaFrMZVANj+0XnEkmwPyetmbgiZ9yyz8tCygGhcB8+xPaKaCgVDERVJ1Rixn6h7MI7uwTgqylzQNBODwQQ4jkNVuSv9mR17zuHtAx0AgIDPBZ9bhKYaGGsPuVQ2ScTMwbIs7Py4C/2hBK5fPRcBn2vsL5UAEiEiTaHeY4Uu39lsWtuIF3ecQkRNIhzXsoZ8DoSSsCwLoiiM27R0NPI9bG/MmXliiwWXuu5QTAN0Vhb+pXtW5HVmsEuhDdOCbphIqAYSKjM9te9Zvj2auMrGU7hdIlv6U9jo8UwTS4FnBRCyJCKW1DEYvrD/I3DMeeGVnWdwZW8Eb+/vgJla1usPJtAXBDwuEX6fBEHk8fuU4eTlC6uz4r+YY9yJkXHawFTk+fQLyyvvncGnXWHcfd2luHHNJcM+WyrD0mExTMpRiWnJZHmPtTRVo7zcgx/+eg8bcy0K6WF0Q+EkghENTXPdY76NF/v2bj9sdcNCLMFGe7e2h9ATSuKmjJ6HTLHwKKzgIakxsRjLKFRPlapbqfHcbpeYvmd/ccuSvMuHzY0B7DnWg+7BODwu1qCaSBoIRdkSnV2B55J43LB6Pl57/9OMKj0LkbgOt0vAuwc7WaFG6ili1/LFkjqSmg5RYGXouw53QeA5/OGj82jvi45r/hMxOThtYPqZZXXwukS8c6Adf/joHDZeMRd3XL1g0veBMiERItJMZnXVmmV18CjsgZv5D1yRBcQS+jCbnFzG8/a+bXcbdMNCOMYcFwSeh2FaeHnHSdT6XenvFbvXlCnWosine6bsN1r7nuVbPmxuDKT3k6r8LvSHkogndfg8MhqqPYjGmUWRkOozOnJ2IG3dY5oX6vXiSbaLJPBMmHJ7ONhelIWkYeLw6QG0dYdR5pExr8aH051BROJqUfOfiJnLodZ+/Pr/nMDlC6vw0M2LL6oAASRCRAaTXV1VjMjlZj2RmFr0mAI21VSDbfkDIOV8bWV9z/7vl99uRWcfc62uqxhZeDOvwx5jYZisYi63zyp3+fCpF/alr8NuKu0PJhCKqkiqOvxeGTUBN5KagetWzsEr752BIHAwTUAUWEl4philV3JyNpZ8KcsgVshgQTNYBpVQDciSAJ9bhmEy41lNN6mUe5ZyrjuMLb87jHm1Xjx61/J0BevFhJpViTRjNXtOlEIbYzM96uysp6M/Bl03sj431tt7dbmSXi6zscCG8OX7XlIzUBVwo6HaA91ClhvDSNfhdokoc0vgeeZQMNY9y20o9aSmuAopL7mhsAqvS8Rf37YMK5uqUR1QUtmKldYZW27EjAvL1CC3zEROTU2LFQQOUqr3STeY60T3YBSxVIm3x82WEKmUe3YRiWv4p999Ap9bxP+8f2U6K77YUCZEZFHsxn+xxwbGrm7LVyAhCjxCUQ1e94VenLHe3jetbURreyhttcN8s1klW+73ihkIl3sd9ZWegqvL8mWDoshj8bzyPEuSFu689lJsfec0BJ7tOdmZj1cR4VZERGIaDNOClmG9ZIFDOKqitsKN61bOwbsHOxCKa5BFdk63S4JuWNA0E+e7I6itcGPz+vlY2liRLkknZjaqbuCPe89DMwx87fNXXrRKuHyQCBEXlXzTVH+z/USWIOUrkCj3yegPJpDUjIKXCluaqrF5fSNe+6ANhmlBEvhUc6cw7HvFFmUUI9aZS4uKLCAW19LHZ8P0MMJ1cFi+oAoAsPNQJ459OohoQofPI8HtYsttPg/gd0u4/sp52LHnPM52hZFQWcZYAw6yJLBlvZ1noALpXiNR4HDPZxdhaWNF+mz2MD9XaqlOTDXBEjML07Lw7sFOBKMq/vbPLsfcGp+j8ZAIEY4wWqFBvmxBEHjMqfbC55aK6m2589qFWNDgz8q+HrilGfOrPVmfy3fOcExDUjWyRm8XmyXmXqeqmwDHQeQuNJTa8YxU/bd8QRWWL6jCd3+9B5coIkJRLZ35SAKPwXASTXPKsfAOP1o7Qtix5zw+7Q7jTGcIv3j1CBsRDgCWAUHgUJfKkDIFyEY3LEQSGoaCSbgkgVX7SbRqP5PYe6wX7b1RZvOSOAAAIABJREFUrL2sDs3zh/8buNiQCBGOMNry10gFEpljuoshN2upqSlLe8fZ5J4zHNMQjCbh98hZInm2M4RjbUN5hTCfiORep2GYSCR1xBMamuaWY9PaRqxZVocdH5wZs/pPSi1JVpS5kFANhGMqVN1ERRlbSuE4DovmlqNpjh+n2oP4r51n0RtMpDMjSeQh8dyIApSJaVmIqzoSqg5B5OB2SVAknrKjac7pjhCOfjqI5vkBLJ1kT7hCIREiiqJUnfajLX/l7rkosgCR41PLdm2T1t3vkgR0D8QAMN84v0dGeWqt3CUJCCZ1vPZ+G6oCyjChAPLPSEqoRlokYgmNjWgA6063P1Ne7iloT8oWSlUzEPDJKC9zYTCUwHUr52RdB8dxWDwvAJ9bRFKXEE8a0HQz/Z/fvnUKj9y6DJfUjr0MYwHQdQthXUWU4yBLPDwuibKjachgOIH3D3ehrsKNNUvzz6RyAhIhomBK2Wk/Vrl2prHoZHf3Z56jodoLVTfRMxBLzxuyiScNmJaZVygA5BURw9Ch6uw7oZiWminEQRL59Ge2vn2qoD2pTHHuHUqgvtKNh25egjlVXiRVY9jgvKGICq8iwZtqvg3H2DJePGlgy+8OY+klAdy4Zh7mFbgnYFpsEmxSNSCK7O9DkQVkT0oipiKqbuDt/R2QJR6fXTUnPal3KkAiRBRMMRVkY1FoT1IpzzkShVbjaYaZLnW2yRSKfCIiChwr5wag6yZMk9XomRaHroEYytwiegZiBfdQ5S+IsJDQTESiKvSMWu2KMle6Kk6RRbgkAZGEhmTSgKqbOH5uCMfPDaG5sQI3rZmHOdXegu6XBeY0HoyoiPAc3IoItyzQUt0U5sMjPYjENdxy1SWOlWKPBOXURMGUcmhaoT1JF2NQW75zMNfv7J4mgefSZqs2tlCMNKF2TrU3fZ2WdWFInmVaSKoG+oJJmJZZ1HDB4XBQJAGV5Qq8binty3fdyjkwDBOqzo6pGSZEnsODNy7CX9yyBPWVrDjjWNsgfrL1Y/xm+3F09kdHOc9wDNNCJKahP5jEYCiJZE4vF+E8ZztDON0RwuULq1BX4Rn7CxeZqSWJxJSm1LY+hZQ5T4aV0J6j3fj37cfS+1qKxKeXzGzyVeOtW1aLnYe7RiwTHymzs6/zW/+yG+290WHLZoOpAX8P3bxkQvttPMehzC1BkQWEYxqWNlbgTgDvHuzAYDiJijJXVlFC8/wKHDkzgDf3nkfPYBxHzg7iyNlBXLG0Btdd3pAWqUIwLQsJzUBCMyDyHFwuEW5ZhCRylB2NwmQamIo8j3A0iZffasWC+jL89e2XDbN3mixT0mJwPgJi2uDE0LRSnzN3yutQVEUsoacHB41VjZdb7p0rFKP9LpHaS7HLqzmOjYqwLPa9r//56pIsMUoCn6qg03HZgsoRK+F4jsOKhVW47NJKHD49gB17z6N3KI79x3tx4HgvViysxA1Xziv67Vk3LeipWUeSKMDtYhZF/EX2JJsOTKaB6WeW1eE/3zkNzTDxxTuXw++Wxv6SA5AIEQUzWfN8LuY5t+1ug2YYiMR16LoJUeThlgX4PHJBPUijZW9jZXbV5QoGwklIApc2iTQtQBK5kpuHcgDc9j5QXEM8qY+YkfAch5amKqy4tBIfn+7H2wc60D0Qw8enB3D49AAub6rCDVfOQ23AXVQMlgWomgFVM8DzHNwuVsggCVwqQmIyOXiqD3tP9OLeDQtRV0RWe7EhESKKYjJtfS7GOdv7oogndQApM1PDRDhuwjAt3LexKS12dsVbKa9109pGtHYchmlaEDjb782C1y0XvLxYbIk8z3Hwe2QosohIXIOqsT2b422DeZfpVi6qxoY1jXjro0/xx33t6A8mcKi1Hx+f7sfKpmrcsHouqosUIwAwTSs9CVYUeLgVES5RSI9JJ0qLppt45b0zmFfjw+eumtqegCRCxEWn0AfpZEz/NAxWHCBwdrE021xXNQO/fO0oEqoBw7QQiqr45WtH8debl+UdajeeuFqaqrF5XSNee78tbYvjUWRIQmHmoRMpV5dFHpVlLsRVHftP9OKVnWcgCDwUl4hQXMMrO8/gTgBLGyvA8xyuWFyDlqZqHDzVhz/uO4+BUBIHTvXhYGsfVi2qxg2r56FqHPtylsUekFpEZaavqeU6SRIoNyohH5/ux1CE2fKIwtSuPyMRIi4qhT5IJ6s/iI1bAEykZvSkspGkZiGpZW4QWwjHTGz53WGUeeS02AD5m1ILjatQG6F8jFWuXog4umURB0/1oa7Sg4RqQNVMyKIAFayAIXP/SOA5rF5Sg5WLqnHgZC/+uK8dg+Ek9p/sw8FTfbhicQ2uXz0Xlf7xFYmYJnNliKs6RJ6DotjLdVTqPRFCURVHzgziqmW1WDS33OlwxoREiLioFNr3M1n9QXOqvegNJhCNa9ANlo2IgohInC3RcWB9MHbBUlIzUZchNi5JmHBchdgI5WO0htZ8ov3L147C75WRUI0sUTrTGUagTEbA50o3sdoedPkQeA5XLq3FqsXV2H+CZUZDERV7T/Ri/8k+rF5SjetXz0VF2fgrFvVUqXc01dfkUcS06zdRHHuP94LngTuvvdTpUAqCRIiYNDLfzBtqfLjxijkFu1Xnfi6W0BCKaugZiOGpF/aNe2lu09pGvLjjFAJlrnQlXP9Q9rltIbL/N8dxabHpHoihIaeps9i+pdyMpdBMaLRy9XweddEEG2JXX+XJaxCr6RbcLgHVATcGwwm45dEf+gLPY00zE6O9x3vx9v52BKMq9hzvxb4TfbhyKcuMJjIWwLLYXKekZjBHbw85ehdDV38M53oiuGJxddpyaqoztRcLiWlL7mC6wVAcz//hBBRZyNvUmbsxn9n8aXuu6QabBGo/UPMNnBuLlqZqfPGelqwmWcVlV2xhWA+PKPKIJ3V0D8TQOxhLjQvPLqktpm8p38C+n289VNC1jNbQmttwG4pp4DjWv2OLqCDwaYNY+zixhI7ewRgknsPt1yxAIVXUosBj7WV1+F8PrsKd1y5AuVeGaVn46FgPfvTiAfz+vTMIRvJnVcWgGxYi8VQjbDgJVTOH/f0QF7D/DryKiMsWOO+OXSiUCRGTQu6buSIJ0A0LsKy0jc1ofT+Z/UGhqAZYrK+m3Oca1xJYblaWmUk99cI+dA3EEIqpWaOzATY8biCUADM15cDzFoJR9oAt80hF9y3lW2Y0TLOgaxmtXL26vC0rS9LtUQ8ZwjSSQWzmcXTDgljgMpgo8Fh3WT2uXFKLPcd68PaBdoRjGnYf6caeYz34zLJabFw1F36vPPbBRsH2rGN9Vhw8LtaQS31H2ZxuD2EwnMS1LQ0QpngxQiYkQsSkMNKyWyyh4y9uGdsZIPNB2TMQgyTyKPe50r5XxSyB5e6X2FmZfR5b8PwemTlOGyYAC4okIpZg/TUcx6rqKv0KNN1EUmU2PpkFC0+9sG/YNeUuvbX3RdOu2jYuSSj4WkYqV89t6hV4DoZpZglAPoPYXESBw7nuEN7YeRrtfVHIAo9rxxj9IIk81q+ox5rmWnx4tBvvHOhAJK7hg0+YGF21rA4bVs1BmWdiYgQwR++QriISZ31H5MrA0HQT+0/2obpcwaUNZU6HUxQkQsSkMNr+RaF9P/bnnnph34Sse0bKyuzsY6TMAAB+uvUwAGbj4/dI8CgSLMtCLKHjqceuBjByJd/ZzhB2Hu7K+nkiaSDEq1nr9UmNFQ5MpCQ99xpqAwpCcR08z8GyrIIzNttRguc5VJTJsMBh+0esZ2qsGUSSyOOayxvwmWW1+PBID9450I5oQseuw1348Gg31l5Wh8+uLI0YZfYduVKFDLO5zPvI2QHEkzo2rGpIN0JPF0iEiEkh9808oerjttuZiHXPodY+tLYHYVoWJFGA3ytDEuW8YxLyPfCb5vrHFMCRKvm2f3Qefp+c9XOfR0IkrkFxiVnjvZsbA3j+DyfSoxYGwkm0dhzG5nWNuPPahQXdp9xrGI+obdvdBlHkIPA8InEdksgjUKbg0Ol+NDdWFLQnI4sCrm1pwFXLavHBkW786WAHYgkdOz/uwodHerBueR2uWzkHvhLYyFgWLnjWicxgVpllFkGxhIZPzgxgfp0PtVPQoHQsSISISSH3zdyujhvvZNTMYxX6QLUzFI5jE290w8JAKAFB4GFZVkGZVCECONLSY0LVUS1mn6PMI8EwTAS8clZ13L9vPwZNNxGOs5lDAsfe9l97vw0LGvwlmShbCH3BRMpBnMmNpptQNQORqIpAmQvhuApdL2ztS5YEfHblHKy9rA4ffNKFdw92IpbU8e6hTuw+0o11y+tx3coGeJXSeJrpuoWQPV7CJbIm2CleVTceA1OR55HpQ/rrbccAAI9sXobq8gtuFlPBnLQQpkeUxLQk8yFYaC9MIccqFDtDKffJqYmmFiwLGAgm4PdKBWVShQjgSEuPiiwOc+e2xzt8/c9Xp39WU1OGn750APGkAQ5Iv8ULHAouWigV1eUKIgkNAn9hY1vVmWi6JAEuyY1oUkc0rqVmI42NSxKwYdVcrLusHu9/0oV3D3UgnjTwp4Md+OBIF65eXo9rW+YME/LxMnypbupOgh2PgelnltXBm9obPdMZwodHe3DbuvmYXzu99oJsSISIGYudoXApEQjFNDZYzrLyzi4aidEE8FBrHyJxLTWJlYffK0EUBRiGiVs+M4+NfsDYy4i2uWnmMFfDtGCawIlzQxPqjSoGu49K5/KPqwAAr4sNsYsmdMQSWsGZhksWsPGKuVi3vA67DnfhvUOdSKgG3j7Qgfc/6cbVl9fj2ssbSjZ0zV6qS6aW6twzbKnOtCy88OYJ+L0yNq+f73Q444ZEiJixZGYoHoUVFSQ1AzUVnpI8zDMLEqrKFQQjKgZCScyp8uDBlMiNNfrBJtfc1DAtGKYFngMkUZiUseb5aGmqRnm5J2veUr6Y7dlFbllEJKay3qUCz6HIIm5YPQ/rl9dj58ed2Pkxm9H01r52vH+4C1evqMc1pRQjAJpuQctcqpMFSOLUXqobi/cPd6G1PYT/sXnZlJuWWgzTN3KCGIOR9nPu2bioJMfPKkhICV1SM+DzyOmHdjGVgJnmpqbJvO04noPfK03KWPORWLOsriAHB4CVdAfKZCQ1s6j9IgBwu0TctOYSXHN5A977uBO7Pu5CQjXwx33t2HW4C9e2NGDzdU3jvYy8ZC7VSWl7IH7aZUfxpI6X327FpQ1+rF9R73Q4E4JEiJixjLSfs2ZZ3YT2p+yqsxPnhlIVd1J67PdERo9nmpuW+tiTC3NkkCWFLdHFdZhFpBhul4ib11yCa1Y04L1DHdj1CROjN/ecZ2J0eQPWL6+HawxboWLInXWkyAIUWRw25n2q8urOswhGVfxf97ZMOwHNhUSImNGUev6RvQSnG1ba56x3yEC510CgTJnw6PFie6MmY9zFeOHAwacwN4NITEvZCxX+fY8i4parGnFNSwPePdiJ9z/pQiyhY/tH5/DeoU5ct7IB65bXZ92TUmCarO8rntQhChzcLpZ5TtVZR10DMfxhzzlc19KAhXP8ToczYUiEiEkjn4GpUw/IUrFtd1vKP47NwzFSFWLBqAae5yEKXEnGnRdSGj5Z4y4misiz8eJJ1UA4zoxSi8GrsMrFa1sa8NHxXry99zxiSR3/58NzePdQJzasnIO1y+tK7rLNZh1Z0HQVPMdBlnh4XFOrCdayLPzHW6fgkgTcu7G0S5VOMT1yT2LaMZKB6XhMR6cSfcFEqqSWg8BzEDPK2ZKqUVTV3Wi0NFXjmhX1CEVUnO+JIBRRcc2K+vSxD7X24Z9fOYL+EDP3jCf1LJNSp7Es1idUWeaG3yuD54t/jPvcEu69YTH+78+vwjWX10MUOMQSOt7Y3YYf/tsBvHeoE6puTEL0F/zqBsJJ9A/FEUlo0M3i+nkmg3M9ERxrG8Ld110KfwmcJ6YClAkRk8JYVjnTlepyBYPhRLqPhuc4iAIbc+BRxHEbquZmiYda+7DzcBf8PhnVIlvm23m4Cwsa2PLL8384gaSmQ+A4GIaJgdQsILdLnFL7RhwHeFwiXJKAaEJDPKkXvcRV5pGxef0CXLdyDv50oAMfHu1GNK7h9Q8+xbsHO/DZVXNw1bK6LLPWUpI560iQWPGJS+LBXeT8SDdM7DnWi4YqD65fPfeinnsyIREiJoVC5wZNNzatbURreyhdPm2B/cftEooe5zCSoSow+lA/gHnZSSITdj41siEU0yAI/IT2pAqJfTx7UALPodwrw+0S0/tFxeL3yLj9aiZG7xxox0dHexCOa3jt/U/xp4Md2LhqLtY0106aGFkWoBkmhsJJR4oZjpwZQCSu4a82L8tqJp7ukAgRk8JoBqZThfE8UFuaqrF5fSNe+6ANhmlBEnhmDyPy4x7nkC9LHEvEPYoIv1fGQCgB02Lv5Fpq36i5MZDX0XuiTHQPyrIASWD7RQnNQCSmpu2BiqHcK+POay7FZ1fOwTsHOrDnWA/CMQ2v7jqLdw52YOOqOVjTXAtxEscZjFTMMFnEEhoOnxlAY50PSy4JTNp5nGDmyCkxpcgdwDYRA9PJIN9wuUL3rO68diG+9GcrsGReOco8EuorPUXtBeUOoAOGZ4mZQ/1sbBG3f+d2iaj0KxAFDqZlQZEEXLOiHjsPd43rusYiUzxzB+UViyIJqCpX4PNI4y4xDvhcuOvaS/G/HlyFq5bVguc4hKIqXtl5Fj968QB2H+ku2petWOxihlBURX8ogXB04sP88rHvRB9ME7hyac2kHN9JKBMiJoVSGphOBqMtdxUzZmI8FJIljlUdZ/9OkQXwvAuGYeKhm5dM+LpGo9RLrHZJt1sWEI5rSKrFlXTbBHwu3H3dQmxYNQdv7e/AvuO9CEZV/P69M3jnQDuuXz0Pq5dUT/oSlmlaKNBOL81IBqaZJqVt3WGc7gjhpjWX4IYrL5k2xqSFMrOuhphSlNLAtNQ4uWdVyJiLQoxT8/3uN9tPTNp1TdYSq8DzqPC5kFTNVEn3+LKXijIF93x2ITaumoO39rVj/8leDEVU/OefTuPt/e24YfVcrFpcA2EclXqTxUgGprZJqWVZ+K+dZ+FzS/iz6y6d1vY8IzHzroggCsDJPatCs8TRsq2RfjeZ1zWRuU5jwUq6eVRKCuKqjmhMS/dgFUulX8G9G5uw8Yq5+OO+8zhwqg+D4ST+453TeGt/O25YPQ8rF1VPKTEaiU/ODuDop4P4/E2LZ6QAASRCxCxlMh+ohRQ8TFaWOJnXNd65TsXAAfDIIhRJQCQ1W2m8VJUruP/6Rdh4xVy8ta8dB0/1YSCUxMtvt6Yyo3loaaoaVw/TxcCyLLz8diuqyxVsXDVzSrJzIREiZiWT9UAtpIIsV6QeuKW5YMPQsZhsoSi1DZLNSMLt87sQCSfGVdJtUxNw47/dsAgbV8/FH/eex8et/egLJvDbt07hrf3nccPqebh84dQTo/0n+9DWHcH/2Lxs0srOpwIkQsSsZTIeqGMVBuQTqZ9vPYQHb1w05YVishhNuG9cd+mFku6oCn2cS3QAUBtw48EbF+P61DLdx6cH0DuUwL//8VR6mW7FwsopYQhqWRZeee8MaivcWLe8zulwJpWZK68E4QBjlV/nK3MWRW5KWO04RSGl34okoCowsZJum7pKDz5/0xJ85b4WLL+0EgDQMxjHiztO4tmXD+Hw6f6iXMAng8OnB9DWE8EdVy+YUY2p+aBMiCBKyFiFAfmq8lySMO2dJCZCoZWKpSrptrH7uzr7o9ix9zyOnB1E92AcL7x5EvWVHtx45TxctqACnAOZ0Zt7zqG6XJnxWRBAmRBBlJTcJt2kZmQVBuRrQk1qxpRykrjYjNaYmw+7pLvCp5Rkr6Shyou/uGUpvnTP5Vg2vwIAG5fw/B9O4KdbP8bRswOwLmJm1DsYx+mOEG7+zCUzPgsCSIQIoqS0NFXjoZuXIOCVEUvoCHjlLDeFfCIVjeuIxFR8fcsuPPXCvmnvNF4sYwl3PtIl3X4Ffp9cknLrudVe/PfPLcXf/tkKLG1k1jgd/TH8evsJ/Ow/D+NY2+BFEaNPzg7A4xJxXUvDpJ9rKjDu5bi9e/fiySefhK7rCAQCePLJJzF37swtIySIQhmrvwe4UL2myAISlgXdwpSaCXQxmUhFX25J93hcunOZV+PDX25qxrmeCHbsPYcT54Jo74viX7cdx58OdmLDygYsuSQwKct0sYSGcz0R3HjlPCjy7NgtGfdVfu1rX8PPfvYzNDc34+WXX8Y//uM/YsuWLaWMjSBmJJki9dQL+wAO6WWXUtrsTCcmWtHHcxz8HhmKLCIS16BOoKTb5pJaHx65dRnausN4c895nGoP4mxnCGc7Q7ik1oeb1szDornlJRWjE+eCsCzgmstnRxYEjHM5TlVVfPWrX0VzczMAYOnSpejs7CxpYAQxG+gLJoa5L8+EkRdOIYvMpdvvG98gvXw01pXhrzcvwxfvXI7m1J7RuZ4IfvX6MfzzK0fQ2h4syTKdaVo4eT6IudVeVAfcEz7edIGzJnj3TNPEY489hssvvxxf/vKXSxUXQcwKvrllJwZD8ayll4Sqo8LvxpOPXeNgZNMfTTcQimhIaHpJj3uybRCvvncaJ9qG0j9bfEkAt1+7EFc216Lc5yr4WOe6Q9ANC6LA40TbIP7fF/fjb+9twbWr5qJshkxOHYsxReiNN97A9773vayfLVy4EM899xxUVcUTTzyBYDCIf/qnf4IkSQWfuL8/AnMCjWfA1DLFnEqxAFMjnrGmhzrFVLg3Noda+/DijlMAl22zU6ox4eNhKt2ficbCcUgZoyah6RPPViorvRgYiAIAWjuCeHPPeXzadSG+3/zDpqJE6LV3WxFLaPjMsjr8etsxHDk7iP/95WsmdRbSZFJTU1b0d8bcE7r11ltx6623Dvt5NBrFY489hkAggC1bthQlQMTMp5DpoQS7F+XlHvz79mNFb8oXOpRvvNNQZwLpKjrRjZiqIxrXJvzya9M0pxwL7/CjtT2EN/eeQ1t3ZNzHSqg69p/sw3UtDdNWgMbLhAoT5s+fj29/+9uONHMRU5tCpocSjDXL6or2jit0yulEp6HOFDgO8LpEKBLPGl2TBkohRRzHYdG8cjTN9eNs1/gztsOnB6DpJq5aNvObU3MZl+QeOXIEO3bswL59+3D33Xfjrrvuwhe+8IVSx0ZMYwqZHkqMn0KnnJZyGupMwG50DZS5IAqle3nmOA6XNvjH/f39J3oR8MlYNK+8ZDFNF8aVCV122WU4fvx4qWMhZhBOzuuZDRRqdePk8L6pimWxUni5XEE0oSMW1x31itMNE0fPDuKzK+dMCfPUi83sWnwkLhq5XfD5pocS46dQq5tiLXFmE7YXXaVfGVYmfzHp6o9BM0ysWjx7lkczIREiJoVc+5oKv9vRiq+ZRqFWN+OxxJltiAKHijKZLdE5MFPofG8ELknAkksCF/3cU4HZ4QtBOMJkTQ8lCre6uRjTUGcGHJTMJbqENmH7n0Lp6IthSWNgRg+uGw0SIYKYphRqdTPdhtw5Cc9xKHNLcKW86Eph/zMasbiGSFzD0lmaBQG0HEcQBDGMybD/yUdvMA6AOS7MVigTIgiCyIPt0O0SBUQTzKG71PSFkpAlHg1VxfWJzSRIhAiCIEZB4DmUe5lDd6kLFwZDCdSUu2d1wz8txxEEQYyBZbEluuoKD8q8pVuiC0dVtCyqgkuavfkAiRBBEESBCDwHr0tEtd8FxSVgolJkAVg8N4BZWhgHgESIIAiiaPhM+x9xYlI0p8ZboqimJ7M3ByQIgpgAafsf6YL9T7FIEj/r3StIhAiCICaAbf+jyGLRpqhVfves9IvLhJbjCIIgSoDIc/C6i5uGWuUvfADeTIVEiCAIwiECRUxhnamQCBEEQTiE31tc5jQTIREiCIJwCJ9C2/IkQgRBEA5R7B7STIREiCAIwiEUmR7BdAcIgiAcYjbb9diQCBEEQTiEJNEjmO4AQRCEQ8xm92wbEiGCIAiHMC/WDPEpDIkQQRCEQ0zi0NZpA4kQQRCEQ9ByHIkQQRCEY5AEkQgRBEEQDkIiRBAE4RBUlkAiRBAE4RgWVceRCBEEQTgFaRCJEEEQBOEgZFxEELOEQ6192La7DX3BBKrLFWxa24iWpmqnwyJmOSRCBDELONTah+f/cAKCwMOjiBiKqnj+DycAgITIQWg1jpbjCGJWsG13GwSBh0sSwHEcXJIAQeCxbXeb06HNaqhPiESIIGYFfcEEZDH7/+6yyKMvmHAoIgIAZBrlQCJEELOB6nIFqm5m/UzVTVSXKw5FRACASE9gEiGCmA1sWtsIwzCR1AxYloWkZsAwTGxa2+h0aLMagRxMqTCBIGYDdvEBVcdNLcjAlESIIGYNLU3VJDpTDJ4yIVqOIwiCcAraEyIRIgiCcAxajiMRIgiCcAwSIRIhgiAIwkFIhAiCIAjHIBEiCIIgHINEiCAIgnAMEiGCIAjCMUiECIIgCMcgESIIgiAcg0SIIAiCcAwSIYIgCMIxSIQIgiAIxyARIgiCIByDRIggCIJwDBIhgiAIwjFIhAiCIAjHIBEiCIIgHINEiCAIgnAMEiGCIAjCMUiECIIgCMcgESIIgiAcY8IidOTIEaxYsaIUsRAEQRCzjAmJUDwex7e//W1omlaqeAiCIIhZxIRE6Pvf/z4eeeSREoVCEARBzDbGLUI7duxAIpHApk2bShkPQRAEMYvgLMuyRvvAG2+8ge9973tZP1u4cCEikQiee+45+Hw+LF26FMePH5/UQAmCIIiZx5gilI+XXnoJP//5z+H1egEAx44dQ3NzM55//nn4fL6CjtHfH4FpFn3qLGpqytDbG57QMUrFVIoFoHhGYyrFAlA8ozGVYgHGjqempqyo45XiOTiVKPb6AUAcz4nuv/9+3H///ek/L126FL+Ak5BwAAAGI0lEQVT//e/HcyiCIAhiFkN9QgRBEIRjlESEaD+IIAiCGA+UCREEQRCOQSJEEARBOAaJEEEQBOEYJEIEQRCEY5AIEQRBEI5BIkQQBEE4BokQQRAE4RgkQgRBEIRjkAgRBEEQjkEiRBAEQTjGuAxMSwHPc1PqOKVgKsUCUDyjMZViASie0ZhKsQBTL57pzrhGORAEQRBEKaDlOIIgCMIxSIQIgiAIxyARIgiCIByDRIggCIJwDBIhgiAIwjFIhAiCIAjHIBEiCIIgHINEiCAIgnAMEiGCIAjCMWaECB05cgQrVqxwOgzs2bMH99xzD+644w48+uijCAaDjsWyd+9e3Hvvvbjrrrvwl3/5l2hvb3cslkx+/OMf49lnn3Xs/K+++ipuu+023HzzzXj++ecdi8MmEong9ttvx/nz550OBT/5yU+wefNmbN68GU899ZTT4eDHP/4xbrvtNmzevBm/+tWvnA4HAPCDH/wATzzxhNNhzCysaU4sFrMeeOABa8mSJU6HYt10003WyZMnLcuyrB/+8IfWj370I8diuf76662jR49almVZL730kvXoo486FotlWVYoFLL+7u/+zmppabGeeeYZR2Lo6uqyrr/+emtwcNCKRqPWHXfckf77coIDBw5Yt99+u7V8+XLr3LlzjsVhWZa1c+dO64EHHrCSyaSlqqr18MMPW9u3b3csnt27d1sPPvigpWmaFY/Hreuvv95qbW11LB7Lsqxdu3ZZa9eutb7xjW84GsdMY9pnQt///vfxyCOPOB0GAOD111/HokWLoGkauru74ff7HYlDVVV89atfRXNzMwBg6dKl6OzsdCQWmx07dmDBggX4q7/6K8di2LVrF9atW4dAIACPx4PPfe5z2LZtm2Px/Pa3v8Xf//3fo7a21rEYbGpqavDEE09AlmVIkoSmpiZ0dHQ4Fs9VV12Ff/3Xf4Uoiujv74dhGPB4PI7FMzQ0hKeffhqPPvqoYzHMVKa1CO3YsQOJRAKbNm1yOhQAgCRJOH78ODZs2IDdu3dj8+bNjsQhyzLuuusuAIBpmvjJT36Cm266yZFYbO6++278zd/8DQRBcCyGnp4e1NTUpP9cW1uL7u5ux+L57ne/izVr1jh2/kwWL16MVatWAQDOnj2L119/HRs2bHA0JkmS8Mwzz2Dz5s1Yv3496urqHIvlW9/6Fh5//HHHXixnMo6NciiGN954A9/73veyfrZw4UJEIhE899xzUyae5557DkuXLsWuXbvw4osv4vHHH8eLL77oWCyqquKJJ56Aruv44he/OKlxFBKP01h5DOM5jmz5Mzl58iS++MUv4hvf+AYWLFjgdDj4yle+gi984Qt49NFH8dvf/hYPPPDARY/hpZdeQkNDA9avX4+tW7de9PPPdKaFCN1666249dZbs3720ksv4ec//zkeeuih9M/uuusuPP/88/D5fBc9nmQyiTfffDOdcdx55534wQ9+MKlxjBQLAESjUTz22GMIBALYsmULJEma9FhGi2cqUFdXhz179qT/3NPTMyWWwqYKe/fuxVe+8hV885vfdCyLt2ltbYWqqli2bBncbjduueUWHD9+3JFYXn/9dfT29uKuu+5CMBhELBbDk08+iW9+85uOxDPTmBYilI/7778f999/f/rPS5cuxe9//3vH4hFFEf/wD/+A+vp6rFixAm+88QZWr17tWDxf+9rXMH/+fHz729+mt/0UV199NZ599lkMDAzA7XZj+/bt+M53vuN0WFOCzs5OfOlLX8LTTz+N9evXOx0Ozp8/j2eeeQb/9m//BoAtvd97772OxJJZmbd161Z8+OGHJEAlZNqK0FRDEAQ8/fTT+Na3vgXDMFBXV4fvfve7jsRy5MgR7NixA4sWLcLdd98NgO1//OIXv3AknqlCXV0dHn/8cTz88MPQNA333XcfWlpanA5rSvAv//IvSCaT+P73v5/+2YMPPojPf/7zjsSzYcMGHDx4EHfffTcEQcAtt9zieHZGTA40WZUgCIJwjGldHUcQBEFMb0iECIIgCMcgESIIgiAcg0SIIAiCcAwSIYIgCMIxSIQIgiAIxyARIgiCIByDRIggCIJwjP8fWSaTuOAvUsYAAAAASUVORK5CYII= +" +> +</div> + +</div> + +</div> +</div> + +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Task-6">Task 6<a class="anchor-link" href="#Task-6">¶</a></h2><p><a name="task6"></a></p> +<ul> +<li>To your <code>df</code> NEST data frame, add a column with the unaccounted time (<code>Unaccounted Time / s</code>), which is the difference of program runtime, average neuron build time, minimal edge build time, minimal initialization time, presimulation time, and simulation time.<br> +(<em>I know this is technically not super correct, but it will do for our example.</em>)</li> +<li>Plot a stacked bar plot of all these columns (except for program runtime) over the virtual processes</li> +<li>Remember: <a href="https://pollev.com/aherten538">pollev.com/aherten538</a></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [92]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">cols</span> <span class="o">=</span> <span class="p">[</span> + <span class="s1">'Avg. Neuron Build Time / s'</span><span class="p">,</span> + <span class="s1">'Min. Edge Build Time / s'</span><span class="p">,</span> + <span class="s1">'Min. Init. Time / s'</span><span class="p">,</span> + <span class="s1">'Presim. Time / s'</span><span class="p">,</span> + <span class="s1">'Sim. Time / s'</span> +<span class="p">]</span> +<span class="n">df</span><span class="p">[</span><span class="s2">"Unaccounted Time / s"</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="s1">'Runtime Program / s'</span><span class="p">]</span> +<span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">cols</span><span class="p">:</span> + <span class="n">df</span><span class="p">[</span><span class="s2">"Unaccounted Time / s"</span><span class="p">]</span> <span class="o">=</span> <span class="n">df</span><span class="p">[</span><span class="s2">"Unaccounted Time / s"</span><span class="p">]</span> <span class="o">-</span> <span class="n">df</span><span class="p">[</span><span class="n">entry</span><span class="p">]</span> +</pre></div> + + </div> +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [93]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[[</span><span class="s2">"Runtime Program / s"</span><span class="p">,</span> <span class="s2">"Unaccounted Time / s"</span><span class="p">,</span> <span class="o">*</span><span class="n">cols</span><span class="p">]]</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[93]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>Runtime Program / s</th> + <th>Unaccounted Time / s</th> + <th>Avg. Neuron Build Time / s</th> + <th>Min. Edge Build Time / s</th> + <th>Min. Init. Time / s</th> + <th>Presim. Time / s</th> + <th>Sim. Time / s</th> + </tr> + <tr> + <th>Virtual Processes</th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>8</th> + <td>420.42</td> + <td>2.09</td> + <td>0.29</td> + <td>88.12</td> + <td>1.14</td> + <td>17.26</td> + <td>311.52</td> + </tr> + <tr> + <th>16</th> + <td>202.15</td> + <td>2.43</td> + <td>0.28</td> + <td>47.98</td> + <td>0.70</td> + <td>7.95</td> + <td>142.81</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [94]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="p">[[</span><span class="s2">"Unaccounted Time / s"</span><span class="p">,</span> <span class="o">*</span><span class="n">cols</span><span class="p">]]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="s2">"bar"</span><span class="p">,</span> <span class="n">stacked</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">4</span><span class="p">));</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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WURERETEBWqcRURERERcoMZZRERERMQFapxFRERERFygxllERERExAVqnEVEREREXGC50wXc7fyL+uDj6+u0LSCgiNPPaampnE9Kc2dZIiIiInIdNc53mI+vLzOH9bzlmPCIeYAaZxEREZE7SVM1RERERERcoMZZRERERMQFLjfOKSkptG3blpMnTwIwbNgwWrRoQfv27Wnfvj3fffcdAFFRUYSGhtKiRQumTZuWO1WLiIiIiLiZS3Ocd+3axciRIzl+/Lhj2969e1m0aBGBgYGObZcvX2b48OEsXLiQ0qVLExYWxqZNmwgJCTG8cBERERERd3LpivOyZcsYM2aMo0m+ePEip0+fZtSoUYSGhjJjxgxsNhu7d++mQoUKlC9fHovFQmhoKOvXr8/VExARERERcQeXrjhPmDDB6eeEhATq16/PuHHj8PPzIywsjBUrVuDn50dAQIBjXGBgIDExMdkqqESJwtkaf9X1j3C7HUZleUJNnlBDbuUYmaWa3J+lmtyfpZrcn6Wa3J+lmtyfld9rulaOHkdXvnx53n//fcfP3bp1Y/Xq1bRq1SrTWJPJlK3shIQUbDa742dXTzwuLvmWr2fnDTQqK6sco7NulJ2T/XIzSzW5N8dTs1ST+7NUk/uzVJP7s1ST+7Pyak1msylHF2tz9FSNgwcPsmHDBsfPdrsdi8VCqVKliI+Pd2yPjY11mgMtIiIiIpJX5ahxttvtTJw4kfPnz5Oens7SpUtp3rw5NWvW5NixY5w4cYKMjAzWrl1L48aNja5ZRERERMTtcjRVo2rVqvTt25fnnnsOq9VKixYtaNu2LQCTJk2if//+pKamEhIScsPpG2K8Gy3dDVq+W0RERMQo2Wqcv//+e8e/u3btSteuXTONadCgAWvWrLn9yiRbXFm6G7R8t4iIiEhOaeVAEREREREXqHEWEREREXGBGmcREREREReocRYRERERcYEaZxERERERF6hxFhERERFxgRpnEREREREXqHEWEREREXGBGmcREREREReocRYRERERcYEaZxERERERF6hxFhERERFxgRpnEREREREXqHEWEREREXGB5U4XkBVrehrhEfOyHCMiIiIikptcbpxTUlLo0qULH330EeXKlSMqKoqIiAhSU1N58sknGThwIAD79+9n5MiRpKSkUKdOHd566y0slpz35xZvH8YNWnvL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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<ul> +<li>Make it relative to the total program run time</li> +<li><strong>Slight complication</strong>: Our virtual processes as indexes are not unique; we need to find new unique indexes</li> +<li>Let's use a multi index!</li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [95]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_multind</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">set_index</span><span class="p">([</span><span class="s2">"Nodes"</span><span class="p">,</span> <span class="s2">"Tasks/Node"</span><span class="p">,</span> <span class="s2">"Threads/Task"</span><span class="p">])</span> +<span class="n">df_multind</span><span class="o">.</span><span class="n">head</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[95]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th></th> + <th></th> + <th>id</th> + <th>Runtime Program / s</th> + <th>Scale</th> + <th>Plastic</th> + <th>Avg. Neuron Build Time / s</th> + <th>Min. Edge Build Time / s</th> + <th>Max. Edge Build Time / s</th> + <th>Min. Init. Time / s</th> + <th>Max. Init. Time / s</th> + <th>Presim. Time / s</th> + <th>Sim. Time / s</th> + <th>Virt. Memory (Sum) / kB</th> + <th>Local Spike Counter (Sum)</th> + <th>Average Rate (Sum)</th> + <th>Number of Neurons</th> + <th>Number of Connections</th> + <th>Min. Delay</th> + <th>Max. Delay</th> + <th>Unaccounted Time / s</th> + </tr> + <tr> + <th>Nodes</th> + <th>Tasks/Node</th> + <th>Threads/Task</th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th rowspan="3" valign="top">1</th> + <th rowspan="2" valign="top">2</th> + <th>4</th> + <td>5</td> + <td>420.42</td> + <td>10</td> + <td>True</td> + <td>0.29</td> + <td>88.12</td> + <td>88.18</td> + <td>1.14</td> + <td>1.20</td> + <td>17.26</td> + <td>311.52</td> + <td>46560664.0</td> + <td>825499</td> + <td>7.48</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>2.09</td> + </tr> + <tr> + <th>8</th> + <td>5</td> + <td>202.15</td> + <td>10</td> + <td>True</td> + <td>0.28</td> + <td>47.98</td> + <td>48.48</td> + <td>0.70</td> + <td>1.20</td> + <td>7.95</td> + <td>142.81</td> + <td>47699384.0</td> + <td>802865</td> + <td>7.03</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>2.43</td> + </tr> + <tr> + <th>4</th> + <th>4</th> + <td>5</td> + <td>200.84</td> + <td>10</td> + <td>True</td> + <td>0.15</td> + <td>46.03</td> + <td>46.34</td> + <td>0.70</td> + <td>1.01</td> + <td>7.87</td> + <td>142.97</td> + <td>46903088.0</td> + <td>802865</td> + <td>7.03</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>3.12</td> + </tr> + <tr> + <th>2</th> + <th>2</th> + <th>4</th> + <td>5</td> + <td>164.16</td> + <td>10</td> + <td>True</td> + <td>0.20</td> + <td>40.03</td> + <td>41.09</td> + <td>0.52</td> + <td>1.58</td> + <td>6.08</td> + <td>114.88</td> + <td>46937216.0</td> + <td>802865</td> + <td>7.03</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>2.45</td> + </tr> + <tr> + <th>1</th> + <th>2</th> + <th>12</th> + <td>6</td> + <td>141.70</td> + <td>10</td> + <td>True</td> + <td>0.30</td> + <td>32.93</td> + <td>33.26</td> + <td>0.62</td> + <td>0.95</td> + <td>5.41</td> + <td>100.16</td> + <td>50148824.0</td> + <td>813743</td> + <td>7.27</td> + <td>112500</td> + <td>1265738500</td> + <td>1.5</td> + <td>1.5</td> + <td>2.28</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [96]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_multind</span><span class="p">[[</span><span class="s2">"Unaccounted Time / s"</span><span class="p">,</span> <span class="o">*</span><span class="n">cols</span><span class="p">]]</span>\ + <span class="o">.</span><span class="n">divide</span><span class="p">(</span><span class="n">df_multind</span><span class="p">[</span><span class="s2">"Runtime Program / s"</span><span class="p">],</span> <span class="n">axis</span><span class="o">=</span><span class="s2">"index"</span><span class="p">)</span>\ + <span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="s2">"bar"</span><span class="p">,</span> <span class="n">stacked</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">14</span><span class="p">,</span> <span class="mi">6</span><span class="p">),</span> <span class="n">title</span><span class="o">=</span><span class="s2">"Relative Time Distribution"</span><span class="p">);</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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ozVDhgzg2LHfeKlhI9q1eY3Tf555KjmLRnREREREsqzYu3f/94a09I/7KMGBQbRp1YqRY0eTkJAAQEj5CnTp8uZj9Td89Cjatm5DyRIlHuv41Lz2amtmz5tLWO/3MJlMdGzfgcKFnyE+3gTce610VFQUefLkTXJs+/admDBhFHfvxODq6kqXN9L/LXeSPBU6IiIiIlnUvbVu7r0G2mh0ITL8rE3H+RUuarnJf1z1/1WX+v9KOk0tPt7EunWbAShYsBCNG4da9u/cudfy9ZAhwy35Dh046JF9JcZLVLFiZSpWrAxgteZNkyZNeb5CsOXzpnXrAciePTsfvNcrxfju7u4prp1TsmQpFi1aZvO1lfSjqWsiIiIiIuJ0VOiIiIiIiIjTUaEjIiIikkWYzeaMTkHkkdLzZ1SFjoiIiEgW4OpqJC4uNqPTEHkkM2A0Jn3F9+NQoSMiIiKSBeTMmZsbNy4TG3tXIzuSKZnNZmLu3MbHxydd4umtayIiIiJZgKdnDgBu3rxCQkJ8kv0uLi5E3bpqU6z4iwZMJtveupbRcR0p18wQNyNzNZvN3Lp8kQqVq3D16m2b4j6KCh0RERGRLMLTM4el4HmYr68XMwfYtsZL2NhFXL4cZVPbjI7rSLlmhriZIddG/3nNpnap0dQ1ERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOTYXO5s2bady4MS+++CLLly9Psv/MmTO0b9+epk2b0qVLF27evJnuiYqIiIiIiNgq1UInIiKCKVOmsGLFCjZu3Mjq1as5deqUZb/ZbKZ79+5069aNTZs2UaZMGebOnWvXpEVERERERB4l1UJn165dVKtWjdy5c5M9e3YaNWrEli1bLPuPHj1K9uzZeeGFFwB4++23adeunf0yFhERERERSUWqhU5kZCS+vr6Wz35+fkRERFg+nzt3jnz58tGvXz9CQ0MZOnQo2bNnt0+2IiIiIiIiNjCm1sBsNifZZjAYLF/Hx8ezZ88eli1bRlBQEFOnTmXcuHGMGzfO5iTy5s1pc9vk+Pp6PdHxivt0YzpaXEfK1V5xHSlXR4vrSLnaK64j5WqvuI6Uq6PFdaRc7RXXkXK1V1xHytXR4mbmXFMtdPLnz8/evXstnyMjI/Hz83sgCV+KFClCUFAQAE2aNKFnz55pSuLq1WhMJuuCKi0nd/lylE3t0nrBnDGuI+WaWeI6Uq72iutIuWZ0XEfKNbPEdaRc7RXXkXLN6LiOlGtmietIudorriPlmtFxM2OuLi6GxxoYSXXqWo0aNfj555+5du0aMTExbNu2zfI8DkBISAjXrl3j+PHjAHz33XeUK1cuzYmIiIiIiIikF5tGdHr37k2HDh2Ii4ujZcuWBAcH061bN3r27ElQUBCffPIJgwYNIiYmhgIFCjBhwoSnkbuIiIiIiEiyUi10AEJDQwkNDbXaNm/ePMvX5cuXZ926dembmYiIiIiIyGOyacFQERERERERR6JCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOkYMzoBEREREXFe8XGxhI1dZHNbkfSiQkdERERE7Mbo5s6ID76wqe2QyU2Au/ZNSLIMTV0TERER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 +" +> +</div> + +</div> + +</div> +</div> + +</div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Next-Level:-Hierarchical-Data">Next Level: Hierarchical Data<a class="anchor-link" href="#Next-Level:-Hierarchical-Data">¶</a></h2><ul> +<li><code>MultiIndex</code> only a first level</li> +<li>More powerful:<ul> +<li>Grouping: <code>.groupby()</code> (<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html">API</a>)</li> +<li>Pivoting: <code>.pivot_table()</code> (<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pivot_table.html">API</a>); also <code>.pivot()</code> (<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pivot.html">API</a>)</li> +</ul> +</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [97]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="s2">"Nodes"</span><span class="p">)</span><span class="o">.</span><span class="n">mean</span><span class="p">()</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[97]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th></th> + <th>id</th> + <th>Tasks/Node</th> + <th>Threads/Task</th> + <th>Runtime Program / s</th> + <th>Scale</th> + <th>Plastic</th> + <th>Avg. Neuron Build Time / s</th> + <th>Min. Edge Build Time / s</th> + <th>Max. Edge Build Time / s</th> + <th>Min. Init. Time / s</th> + <th>...</th> + <th>Presim. Time / s</th> + <th>Sim. Time / s</th> + <th>Virt. Memory (Sum) / kB</th> + <th>Local Spike Counter (Sum)</th> + <th>Average Rate (Sum)</th> + <th>Number of Neurons</th> + <th>Number of Connections</th> + <th>Min. Delay</th> + <th>Max. Delay</th> + <th>Unaccounted Time / s</th> + </tr> + <tr> + <th>Nodes</th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>1</th> + <td>5.333333</td> + <td>3.0</td> + <td>8.0</td> + <td>185.023333</td> + <td>10.0</td> + <td>True</td> + <td>0.220000</td> + <td>42.040000</td> + <td>42.838333</td> + <td>0.583333</td> + <td>...</td> + <td>7.226667</td> + <td>132.061667</td> + <td>4.806585e+07</td> + <td>816298.000000</td> + <td>7.215000</td> + <td>112500.0</td> + <td>1.265738e+09</td> + <td>1.5</td> + <td>1.5</td> + <td>2.891667</td> + </tr> + <tr> + <th>2</th> + <td>5.333333</td> + <td>3.0</td> + <td>8.0</td> + <td>73.601667</td> + <td>10.0</td> + <td>True</td> + <td>0.168333</td> + <td>19.628333</td> + <td>20.313333</td> + <td>0.191667</td> + <td>...</td> + <td>2.725000</td> + <td>48.901667</td> + <td>4.975288e+07</td> + <td>818151.000000</td> + <td>7.210000</td> + <td>112500.0</td> + <td>1.265738e+09</td> + <td>1.5</td> + <td>1.5</td> + <td>1.986667</td> + </tr> + <tr> + <th>3</th> + <td>5.333333</td> + <td>3.0</td> + <td>8.0</td> + <td>43.990000</td> + <td>10.0</td> + <td>True</td> + <td>0.138333</td> + <td>12.810000</td> + <td>13.305000</td> + <td>0.135000</td> + <td>...</td> + <td>1.426667</td> + <td>27.735000</td> + <td>5.511165e+07</td> + <td>820465.666667</td> + <td>7.253333</td> + <td>112500.0</td> + <td>1.265738e+09</td> + <td>1.5</td> + <td>1.5</td> + <td>1.745000</td> + </tr> + <tr> + <th>4</th> + <td>5.333333</td> + <td>3.0</td> + <td>8.0</td> + <td>31.225000</td> + <td>10.0</td> + <td>True</td> + <td>0.116667</td> + <td>9.325000</td> + <td>9.740000</td> + <td>0.088333</td> + <td>...</td> + <td>1.066667</td> + <td>19.353333</td> + <td>5.325783e+07</td> + <td>819558.166667</td> + <td>7.288333</td> + <td>112500.0</td> + <td>1.265738e+09</td> + <td>1.5</td> + <td>1.5</td> + <td>1.275000</td> + </tr> + <tr> + <th>5</th> + <td>5.333333</td> + <td>3.0</td> + <td>8.0</td> + <td>24.896667</td> + <td>10.0</td> + <td>True</td> + <td>0.140000</td> + <td>7.468333</td> + <td>7.790000</td> + <td>0.070000</td> + <td>...</td> + <td>0.771667</td> + <td>14.950000</td> + <td>6.075634e+07</td> + <td>815307.666667</td> + <td>7.225000</td> + <td>112500.0</td> + <td>1.265738e+09</td> + <td>1.5</td> + <td>1.5</td> + <td>1.496667</td> + </tr> + <tr> + <th>6</th> + <td>5.333333</td> + <td>3.0</td> + <td>8.0</td> + <td>20.215000</td> + <td>10.0</td> + <td>True</td> + <td>0.106667</td> + <td>6.165000</td> + <td>6.406667</td> + <td>0.051667</td> + <td>...</td> + <td>0.630000</td> + <td>12.271667</td> + <td>6.060652e+07</td> + <td>815456.333333</td> + <td>7.201667</td> + <td>112500.0</td> + <td>1.265738e+09</td> + <td>1.5</td> + <td>1.5</td> + <td>0.990000</td> + </tr> + </tbody> +</table> +<p>6 rows × 21 columns</p> +</div> +</div> + +</div> + +</div> +</div> + +</div></section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Pivoting">Pivoting<a class="anchor-link" href="#Pivoting">¶</a></h3><ul> +<li>Combine categorically-similar columns</li> +<li>Creates hierarchical index</li> +<li>Respected during plotting!</li> +<li>A pivot table has three <em>layers</em>; if confused, think about these questions<ul> +<li><code>index</code>: »What's on the <code>x</code> axis?«</li> +<li><code>values</code>: »What value do I want to plot?«</li> +<li><code>columns</code>: »What categories do I want [to be in the legend]?«</li> +</ul> +</li> +<li>All can be populated from base data frame</li> +<li>Might be aggregated, if needed</li> +</ul> + +</div> +</div> +</div></section><section> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [98]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_demo</span><span class="p">[</span><span class="s2">"H"</span><span class="p">]</span> <span class="o">=</span> <span class="p">[(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">**</span><span class="n">n</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)]</span> +</pre></div> + + </div> +</div> +</div> + +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [99]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_pivot</span> <span class="o">=</span> <span class="n">df_demo</span><span class="o">.</span><span class="n">pivot_table</span><span class="p">(</span> + <span class="n">index</span><span class="o">=</span><span class="s2">"F"</span><span class="p">,</span> + <span class="n">values</span><span class="o">=</span><span class="s2">"G"</span><span class="p">,</span> + <span class="n">columns</span><span class="o">=</span><span class="s2">"H"</span> +<span class="p">)</span> +<span class="n">df_pivot</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt output_prompt">Out[99]:</div> + + + +<div class="output_html rendered_html output_subarea output_execute_result"> +<div> +<style scoped> + .dataframe tbody tr th:only-of-type { + vertical-align: middle; + } + + .dataframe tbody tr th { + vertical-align: top; + } + + .dataframe thead th { + text-align: right; + } +</style> +<table border="1" class="dataframe"> + <thead> + <tr style="text-align: right;"> + <th>H</th> + <th>-1</th> + <th>1</th> + </tr> + <tr> + <th>F</th> + <th></th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <th>-3.918282</th> + <td>NaN</td> + <td>7.389056</td> + </tr> + <tr> + <th>-2.504068</th> + <td>NaN</td> + <td>1.700594</td> + </tr> + <tr> + <th>-1.918282</th> + <td>NaN</td> + <td>0.515929</td> + </tr> + <tr> + <th>-0.213769</th> + <td>0.972652</td> + <td>NaN</td> + </tr> + <tr> + <th>0.518282</th> + <td>2.952492</td> + <td>NaN</td> + </tr> + </tbody> +</table> +</div> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [100]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df_pivot</span><span class="o">.</span><span class="n">plot</span><span class="p">();</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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 +" +> +</div> + +</div> + +</div> +</div> + +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Task-7">Task 7<a class="anchor-link" href="#Task-7">¶</a></h2><p><a name="task7"></a></p> +<ul> +<li>Create a pivot table based on the NEST <code>df</code> data frame</li> +<li>Let the <code>x</code> axis show the number of nodes; display the values of the simulation time <code>"Sim. Time / s"</code> for the tasks per node and threas per task configurations</li> +<li>Please plot a bar plot</li> +<li>Done? <a href="https://pollev.com/aherten538">pollev.com/aherten538</a></li> +</ul> + +</div> +</div> +</div><div class="fragment"> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [101]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython3"><pre><span></span><span class="n">df</span><span class="o">.</span><span class="n">pivot_table</span><span class="p">(</span> + <span class="n">index</span><span class="o">=</span><span class="p">[</span><span class="s2">"Nodes"</span><span class="p">],</span> + <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s2">"Tasks/Node"</span><span class="p">,</span> <span class="s2">"Threads/Task"</span><span class="p">],</span> + <span class="n">values</span><span class="o">=</span><span class="s2">"Sim. Time / s"</span><span class="p">,</span> +<span class="p">)</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="s2">"bar"</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">4</span><span class="p">));</span> +</pre></div> + + </div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"> + + <div class="prompt"></div> + + + + +<div class="output_png output_subarea "> +<img src="data:image/png;base64,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nH0YEREREZEy4/QLAUVEREREKhunT88QEREREalsFJpFREREROxQaBYRERERsUOhWURERETEDoVmERERERE7FJpFruGbb75h6dKlnDlzpsD2lStXllNFUhyxsbHEx8cDsGrVKqZNm8aWLVvKuSopiYiIiPIuQRx05MgR2+MffviBiIgIIiMjOXz4cDlWJY7avXs3KSkpAERHRzNlyhTWrFlTzlVVLFpyTuT/iYyM5OjRo9SvX5+tW7cyevRowsLCAOjatSvr1q0r5wqlKEuWLGHp0qVYLBZatWrF+fPneeyxx9i5cycPPPAAQ4cOLe8S5TrGjh1baNvOnTt59NFHAZg5c2ZZlyTF8L9/H5ctW8aXX35J9+7dAVi3bh09e/bkmWeeKecK5XqmT5/OsWPHmD17NsuWLeOf//wnf/3rX/n++++pXbs24eHh5V1iheD0m5tIvnPnzhW5/4477iijSqS4du3axbp16zCZTPTr14+BAwfi7u5Ox44d0XfMim/NmjVs2bKFxMREOnfuzL59+/Dw8KBnz5706NFDobkCq169OtHR0bz44otUq1YNgH379tGiRYtyrkyKIyoqis8//5xbb70VgB49etCjRw+F5gps7969bNy4ETc3N7777juioqJwd3enV69edO7cubzLqzAUmkvJkCFDiI2Nxc/Pr1DQMhgM7Nixo5wqE3usVisGgwGAO++8kw8//JDnnnuO2267zbZdKi6LxYK7uzsBAQEMHDgQDw8P2768vLxyrEzsGT16NO3ateP999/n1VdfpWXLlnz22Wd07dq1vEsTB+Tm5mKxWKhRowbe3t627e7u7hiNmg1akXl6epKUlISfnx81atQgPT0dd3d3MjIyMJkUFf9H0zNKSVpaGn369GHixIk0a9asvMuRYpg3bx4xMTGMGTPGdgv4Q4cOMWzYMLKzszl06FA5VyhFmTNnDvv37+fzzz/Hzc0NgJ9//pnw8HAefvhhhg0bVs4Vij1Xrlxh4sSJ3HHHHezZs4eNGzeWd0nigP79+3Pq1CkMBgOtW7cmIiKCH374gXfeeYeHH36YESNGlHeJch07d+5k0qRJdOrUidzcXPbt20dQUBB79uzhhRdeoFu3buVdYoWg0FyKjhw5wqpVq5g6dWp5lyLF9MMPP+Dn50f9+vVt286fP8/ixYt56623yrEyccSBAwd48MEHbc9PnjxJXFwcwcHB5ViVFNeqVavYunUrixcvLu9SpBhOnjxJSkoKTZs25dChQ6SmpvLwww+Xd1liR1xcHN988w2nT58mLy+PmjVr8sgjj9hOHolCs4iIiIiIXZpkJCIiIiJih0KziIiIiIgdCs0iIuXo7Nmz3H333axatarA9kWLFjFmzBiH+7l06RJ33323s8sTEZH/UmgWESlnRqORt99+m1OnTpV3KSIich1afE9EpJx5enry3HPP8dprr/Hll1/i7u5u25eamsrkyZP5+eefMRgMPPTQQ7z66quYTCa++uorZs+ejZeXF3/+858L9Llq1SpWrFiBxWKhevXqjB8/nvr163Pw4EEiIiKwWCxA/pryHTp0KNP3KyLiinSmWUSkAnjppZfw8vJi9uzZBbZPmzaN6tWrs3HjRtasWcPx48dZvHgxiYmJjBs3jg8++IC1a9cSEBBge83+/fuJjo5m2bJlREdH88ILLzB8+HAAPvjgA5577jnWrl3LjBkz2LdvX5m+TxERV6UzzSIiFYDRaOSdd96ha9eutG3b1rb9+++/Z8WKFRgMBtzd3enduzefffYZdevWpVGjRjRo0ACAXr168d577wHw3Xffcfr0aXr37m3rJzk5mStXrtCxY0emTJnCzp07ad26Na+++mrZvlERERel0CwiUkHccccdTJo0idGjR9OlSxcA2zSK/7FYLOTm5mIwGPjjMvt/vNWtxWIhLCyMN954w/Y8ISGBW265hd69e/PII4+wd+9edu/ezbx589iwYQO+vr5l8A5FRFyXpmeIiFQgHTt2pF27dnz22WcAtG3blmXLlmG1WsnOziYqKorWrVvTvHlzTpw4wc8//wzA2rVrbX20adOGzZs3k5CQAMCKFSt49tlnAejduzfHjh2jW7duTJ06lZSUFJKTk8v4XYqIuB6daRYRqWDCw8M5dOiQ7fG0adMIDQ0lJyeHhx56iBdffBF3d3ciIyN5/fXXqVKlSoHbhj/00EMMGjSIgQMHYjAY8PHxYd68eRgMBl5//XVmzJjB+++/j9FoZNiwYdSuXbu83qqIiMvQbbRFREREROzQ9AwRERERETsUmkVERERE7FBoFhERERGxQ6FZRERERMQOhWYRERERETsUmkVERERE7FBoFhERERGxQ6FZRERERMSO/wPgkCk9ZX0M6wAAAABJRU5ErkJggg== +" +> +</div> + +</div> + +</div> +</div> + +</div></div><div class="fragment"> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><a name="taskb"></a></p> +<ul> +<li>Bonus task<ul> +<li>Use <code>Sim. Time / s</code> and <code>Presim. Time / s</code> as values to show</li> +<li>Show a stack of those two values inside the pivot table</li> +</ul> +</li> +</ul> + +</div> +</div> +</div></div></section></section><section><section> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="The-End">The End<a class="anchor-link" href="#The-End">¶</a></h2><ul> +<li>Pandas works on data frames</li> +<li>Slice frames to your likings</li> +<li>Plot frames<ul> +<li>Together with Matplotlib, Seaborn, others</li> +</ul> +</li> +<li>Pivot tables are next level greatness</li> +<li>Thanks for being here! 😍</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div><div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><span class="feedback">Tell me what you think about this tutorial! <a href="mailto:a.herten@fz-juelich.de">a.herten@fz-juelich.de</a></span></p> + +</div> +</div> +</div></section></section> +</div> +</div> + +<script> + +require( + { + // it makes sense to wait a little bit when you are loading + // reveal from a cdn in a slow connection environment + waitSeconds: 15 + }, + [ + "reveal.js/lib/js/head.min.js", + "reveal.js/js/reveal.js", + "fzj.js" + ], + + function(head, Reveal){ + + // Full list of configuration options available here: https://github.com/hakimel/reveal.js#configuration + Reveal.initialize({ + controls: true, + progress: true, + history: true, + + transition: "slide", + width: 1280, + height: 720, + center: false, + controls: false, + + // Optional libraries used to extend on reveal.js + dependencies: [ + { src: "reveal.js/lib/js/classList.js", + condition: function() { return !document.body.classList; } }, + { src: "reveal.js/plugin/notes/notes.js", + async: true, + condition: function() { return !!document.body.classList; } } + ] + }); + + var update = function(event){ + if(MathJax.Hub.getAllJax(Reveal.getCurrentSlide())){ + MathJax.Hub.Rerender(Reveal.getCurrentSlide()); + } + }; + + Reveal.addEventListener('slidechanged', update); + + function setScrollingSlide() { + var scroll = false + if (scroll === true) { + var h = $('.reveal').height() * 0.95; + $('section.present').find('section') + .filter(function() { + return $(this).height() > h; + }) + .css('height', 'calc(95vh)') + .css('overflow-y', 'scroll') + .css('margin-top', '20px'); + } + } + + // check and set the scrolling slide every time the slide change + Reveal.addEventListener('slidechanged', setScrollingSlide); + + } + +); +</script> + +</body> + + +</html> diff --git a/Introduction-to-Pandas--slides.ipynb b/Introduction-to-Pandas--slides.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..4e8f164fe111da3906a2a213c3ac551ec88aa2ea --- /dev/null +++ b/Introduction-to-Pandas--slides.ipynb @@ -0,0 +1 @@ +{"cells": [{"cell_type": "markdown", "metadata": {"exercise": "task"}, "source": ["# *Introduction to* Data Analysis and Plotting with Pandas\n", "## JSC Tutorial\n", "\n", "Andreas Herten, Forschungszentrum J\u00fclich, 26 February 2019"]}, {"cell_type": "markdown", "metadata": {"exercise": "onlypresentation", "slideshow": {"slide_type": "skip"}}, "source": ["**Version: Slides**"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## My Motivation\n", "\n", "* I like Python\n", "* I like plotting data\n", "* I like sharing\n", "* I think Pandas is awesome and you should use it too"]}, {"cell_type": "markdown", "metadata": {"exercise": "task"}, "source": ["## Outline\n", "\n", "* [Task 1](#task1)\n", "* [Task 2](#task2)\n", "* [Task 3](#task3)\n", "* [Task 4](#task4)\n", "* [Task 5](#task5)\n", "* [Task 6](#task6)\n", "* [Task 7](#task7)\n", "* [Bonus Task](#taskb)"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Tutorial Setup\n", "\n", "* 60 minutes (we might do this again for some advanced stuff if you want to)\n", "* Alternating between lecture and hands-on\n", "* Please give status via **[pollev.com/aherten538](https://pollev.com/aherten538)**"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "fragment"}}, "source": ["* Please open Jupyter Notebook of this session\n", " - \u2026\u00a0either on your **local machine** (which has Pandas)\n", " - \u2026 or on the **JSC Jupyter service** at https://jupyter-jsc.fz-juelich.de/\n", " - Either `pip install --user pandas seaborn` once in a shell and `cp $PROJECT_cjsc/herten1/pandas/notebook.ipynb ~/`\n", " - Or \n", " 1. `ln -s $PROJECT_cjsc/herten1/pandas ~/.local/share/jupyter/kernels/` and \n", " 2. `cp $PROJECT_cjsc/herten1/pandas/notebook-with-kernel.ipynb ~/`"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## About Pandas\n", "\n", "<img style=\"float: right; max-width: 200px;\" width=\"200px\" src=\"img/adorable-animal-animal-photography-1661535.jpg\" />\n", "\n", "* Python package (Python 2, Python 3)\n", "* For data analysis\n", "* With data structures (multi-dimensional table; time series), operations\n", "* Name from \u00bb**Pan**el **Da**ta\u00ab\u00a0(multi-dimensional time series in economics)\n", "* Since 2008\n", "* https://pandas.pydata.org/\n", "* Install [via PyPI](https://pypi.org/project/pandas/): `pip install pandas`"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Pandas Cohabitation\n", "\n", "* Pandas works great together with other established Python tools\n", " * [Jupyter Notebooks](https://jupyter.org/)\n", " * Plotting with [`matplotlib`](https://matplotlib.org/)\n", " * Modelling with [`statsmodels`](https://www.statsmodels.org/stable/index.html), [`scikit-learn`](https://scikit-learn.org/)\n", " * Nicer plots with [`seaborn`](https://seaborn.pydata.org/), [`altair`](https://altair-viz.github.io/), [`plotly`](https://plot.ly/)"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## First Steps"]}, {"cell_type": "code", "execution_count": 1, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["import pandas"]}, {"cell_type": "code", "execution_count": 2, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["import pandas as pd"]}, {"cell_type": "code", "execution_count": 3, "metadata": {"slideshow": {"slide_type": "-"}}, "outputs": [{"data": {"text/plain": ["'0.24.1'"]}, "execution_count": 3, "metadata": {}, "output_type": "execute_result"}], "source": ["pd.__version__"]}, {"cell_type": "code", "execution_count": 4, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/plain": ["\u001b[0;31mClass docstring:\u001b[0m\n", " pandas - a powerful data analysis and manipulation library for Python\n", " =====================================================================\n", " \n", " **pandas** is a Python package providing fast, flexible, and expressive data\n", " structures designed to make working with \"relational\" or \"labeled\" data both\n", " easy and intuitive. It aims to be the fundamental high-level building block for\n", " doing practical, **real world** data analysis in Python. Additionally, it has\n", " the broader goal of becoming **the most powerful and flexible open source data\n", " analysis / manipulation tool available in any language**. It is already well on\n", " its way toward this goal.\n", " \n", " Main Features\n", " -------------\n", " Here are just a few of the things that pandas does well:\n", " \n", " - Easy handling of missing data in floating point as well as non-floating\n", " point data.\n", " - Size mutability: columns can be inserted and deleted from DataFrame and\n", " higher dimensional objects\n", " - Automatic and explicit data alignment: objects can be explicitly aligned\n", " to a set of labels, or the user can simply ignore the labels and let\n", " `Series`, `DataFrame`, etc. automatically align the data for you in\n", " computations.\n", " - Powerful, flexible group by functionality to perform split-apply-combine\n", " operations on data sets, for both aggregating and transforming data.\n", " - Make it easy to convert ragged, differently-indexed data in other Python\n", " and NumPy data structures into DataFrame objects.\n", " - Intelligent label-based slicing, fancy indexing, and subsetting of large\n", " data sets.\n", " - Intuitive merging and joining data sets.\n", " - Flexible reshaping and pivoting of data sets.\n", " - Hierarchical labeling of axes (possible to have multiple labels per tick).\n", " - Robust IO tools for loading data from flat files (CSV and delimited),\n", " Excel files, databases, and saving/loading data from the ultrafast HDF5\n", " format.\n", " - Time series-specific functionality: date range generation and frequency\n", " conversion, moving window statistics, moving window linear regressions,\n", " date shifting and lagging, etc."]}, "metadata": {}, "output_type": "display_data"}], "source": ["%pdoc pd"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## DataFrames\n", "### It's all about DataFrames\n", "\n", "* Main data containers of Pandas\n", " - Linear: `Series`\n", " - Multi Dimension: `DataFrame`\n", "* `Series` is *only* special case of `DataFrame`\n", "* \u2192 Talk about `DataFrame`s, mention some special `Series` cases"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## DataFrames\n", "### Construction\n", "\n", "* To show features of `DataFrame`, let's construct one!\n", "* Many construction possibilities\n", " - From lists, dictionaries, `numpy` objects\n", " - From CSV, HDF5, JSON, Excel, HTML, fixed-width files\n", " - From pickled Pandas data\n", " - From clipboard\n", " - *From Feather, Parquest, SAS, SQL, Google BigQuery, STATA*"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## DataFrames\n", "\n", "### Examples, finally"]}, {"cell_type": "code", "execution_count": 5, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["ages = [41, 56, 56, 57, 39, 59, 43, 56, 38, 60]"]}, {"cell_type": "code", "execution_count": 6, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>0</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>41</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>56</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>56</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>57</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>39</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>59</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>43</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td>56</td>\n", " </tr>\n", " <tr>\n", " <th>8</th>\n", " <td>38</td>\n", " </tr>\n", " <tr>\n", " <th>9</th>\n", " <td>60</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" 0\n", "0 41\n", "1 56\n", "2 56\n", "3 57\n", "4 39\n", "5 59\n", "6 43\n", "7 56\n", "8 38\n", "9 60"]}, "execution_count": 6, "metadata": {}, "output_type": "execute_result"}], "source": ["pd.DataFrame(ages)"]}, {"cell_type": "code", "execution_count": 7, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>0</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>41</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>56</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>56</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" 0\n", "0 41\n", "1 56\n", "2 56"]}, "execution_count": 7, "metadata": {}, "output_type": "execute_result"}], "source": ["df_ages = pd.DataFrame(ages)\n", "df_ages.head(3)"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Let's add names to ages; put everything into a `dict()`"]}, {"cell_type": "code", "execution_count": 8, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["{'Names': ['Liu', 'Rowland', 'Rivers', 'Waters', 'Rice', 'Fields', 'Kerr', 'Romero', 'Davis', 'Hall'], 'Ages': [41, 56, 56, 57, 39, 59, 43, 56, 38, 60]}\n"]}], "source": ["data = {\n", " \"Names\": [\"Liu\", \"Rowland\", \"Rivers\", \"Waters\", \"Rice\", \"Fields\", \"Kerr\", \"Romero\", \"Davis\", \"Hall\"],\n", " \"Ages\": ages\n", "}\n", "print(data)"]}, {"cell_type": "code", "execution_count": 9, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Names</th>\n", " <th>Ages</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>Liu</td>\n", " <td>41</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Rowland</td>\n", " <td>56</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>Rivers</td>\n", " <td>56</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>Waters</td>\n", " <td>57</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Names Ages\n", "0 Liu 41\n", "1 Rowland 56\n", "2 Rivers 56\n", "3 Waters 57"]}, "execution_count": 9, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample = pd.DataFrame(data)\n", "df_sample.head(4)"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "fragment"}}, "source": ["* Two columns now; one for names, one for ages"]}, {"cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [{"data": {"text/plain": ["Index(['Names', 'Ages'], dtype='object')"]}, "execution_count": 10, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample.columns"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* `DataFrame` always have indexes; auto-generated or custom"]}, {"cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [{"data": {"text/plain": ["RangeIndex(start=0, stop=10, step=1)"]}, "execution_count": 11, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample.index"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "fragment"}}, "source": ["* Make `Names` be index with `.set_index()`\n", "* `inplace=True` will modifiy the parent frame (*I don't like it*)"]}, {"cell_type": "code", "execution_count": 12, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Ages</th>\n", " </tr>\n", " <tr>\n", " <th>Names</th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Liu</th>\n", " <td>41</td>\n", " </tr>\n", " <tr>\n", " <th>Rowland</th>\n", " <td>56</td>\n", " </tr>\n", " <tr>\n", " <th>Rivers</th>\n", " <td>56</td>\n", " </tr>\n", " <tr>\n", " <th>Waters</th>\n", " <td>57</td>\n", " </tr>\n", " <tr>\n", " <th>Rice</th>\n", " <td>39</td>\n", " </tr>\n", " <tr>\n", " <th>Fields</th>\n", " <td>59</td>\n", " </tr>\n", " <tr>\n", " <th>Kerr</th>\n", " <td>43</td>\n", " </tr>\n", " <tr>\n", " <th>Romero</th>\n", " <td>56</td>\n", " </tr>\n", " <tr>\n", " <th>Davis</th>\n", " <td>38</td>\n", " </tr>\n", " <tr>\n", " <th>Hall</th>\n", " <td>60</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Ages\n", "Names \n", "Liu 41\n", "Rowland 56\n", "Rivers 56\n", "Waters 57\n", "Rice 39\n", "Fields 59\n", "Kerr 43\n", "Romero 56\n", "Davis 38\n", "Hall 60"]}, "execution_count": 12, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample.set_index(\"Names\", inplace=True)\n", "df_sample"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Some more operations"]}, {"cell_type": "code", "execution_count": 13, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Ages</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>count</th>\n", " <td>10.000000</td>\n", " </tr>\n", " <tr>\n", " <th>mean</th>\n", " <td>50.500000</td>\n", " </tr>\n", " <tr>\n", " <th>std</th>\n", " <td>9.009255</td>\n", " </tr>\n", " <tr>\n", " <th>min</th>\n", " <td>38.000000</td>\n", " </tr>\n", " <tr>\n", " <th>25%</th>\n", " <td>41.500000</td>\n", " </tr>\n", " <tr>\n", " <th>50%</th>\n", " <td>56.000000</td>\n", " </tr>\n", " <tr>\n", " <th>75%</th>\n", " <td>56.750000</td>\n", " </tr>\n", " <tr>\n", " <th>max</th>\n", " <td>60.000000</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Ages\n", "count 10.000000\n", "mean 50.500000\n", "std 9.009255\n", "min 38.000000\n", "25% 41.500000\n", "50% 56.000000\n", "75% 56.750000\n", "max 60.000000"]}, "execution_count": 13, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample.describe()"]}, {"cell_type": "code", "execution_count": 14, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th>Names</th>\n", " <th>Liu</th>\n", " <th>Rowland</th>\n", " <th>Rivers</th>\n", " <th>Waters</th>\n", " <th>Rice</th>\n", " <th>Fields</th>\n", " <th>Kerr</th>\n", " <th>Romero</th>\n", " <th>Davis</th>\n", " <th>Hall</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Ages</th>\n", " <td>41</td>\n", " <td>56</td>\n", " <td>56</td>\n", " <td>57</td>\n", " <td>39</td>\n", " <td>59</td>\n", " <td>43</td>\n", " <td>56</td>\n", " <td>38</td>\n", " <td>60</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": ["Names Liu Rowland Rivers Waters Rice Fields Kerr Romero Davis Hall\n", "Ages 41 56 56 57 39 59 43 56 38 60"]}, "execution_count": 14, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample.T"]}, {"cell_type": "code", "execution_count": 15, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/plain": ["Index(['Liu', 'Rowland', 'Rivers', 'Waters', 'Rice', 'Fields', 'Kerr',\n", " 'Romero', 'Davis', 'Hall'],\n", " dtype='object', name='Names')"]}, "execution_count": 15, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample.T.columns"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Also: Arithmetic operations"]}, {"cell_type": "code", "execution_count": 16, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Ages</th>\n", " </tr>\n", " <tr>\n", " <th>Names</th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Liu</th>\n", " <td>82</td>\n", " </tr>\n", " <tr>\n", " <th>Rowland</th>\n", " <td>112</td>\n", " </tr>\n", " <tr>\n", " <th>Rivers</th>\n", " <td>112</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Ages\n", "Names \n", "Liu 82\n", "Rowland 112\n", "Rivers 112"]}, "execution_count": 16, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample.multiply(2).head(3)"]}, {"cell_type": "code", "execution_count": 17, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Names</th>\n", " <th>Ages</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>LiuLiu</td>\n", " <td>82</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>RowlandRowland</td>\n", " <td>112</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>RiversRivers</td>\n", " <td>112</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Names Ages\n", "0 LiuLiu 82\n", "1 RowlandRowland 112\n", "2 RiversRivers 112"]}, "execution_count": 17, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample.reset_index().multiply(2).head(3)"]}, {"cell_type": "code", "execution_count": 18, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Ages</th>\n", " </tr>\n", " <tr>\n", " <th>Names</th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Liu</th>\n", " <td>20.5</td>\n", " </tr>\n", " <tr>\n", " <th>Rowland</th>\n", " <td>28.0</td>\n", " </tr>\n", " <tr>\n", " <th>Rivers</th>\n", " <td>28.0</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Ages\n", "Names \n", "Liu 20.5\n", "Rowland 28.0\n", "Rivers 28.0"]}, "execution_count": 18, "metadata": {}, "output_type": "execute_result"}], "source": ["(df_sample / 2).head(3)"]}, {"cell_type": "code", "execution_count": 19, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Ages</th>\n", " </tr>\n", " <tr>\n", " <th>Names</th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Liu</th>\n", " <td>1681</td>\n", " </tr>\n", " <tr>\n", " <th>Rowland</th>\n", " <td>3136</td>\n", " </tr>\n", " <tr>\n", " <th>Rivers</th>\n", " <td>3136</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Ages\n", "Names \n", "Liu 1681\n", "Rowland 3136\n", "Rivers 3136"]}, "execution_count": 19, "metadata": {}, "output_type": "execute_result"}], "source": ["(df_sample * df_sample).head(3)"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "fragment"}}, "source": ["Logical operations allowed as well"]}, {"cell_type": "code", "execution_count": 20, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Ages</th>\n", " </tr>\n", " <tr>\n", " <th>Names</th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Liu</th>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Rowland</th>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Rivers</th>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Waters</th>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Rice</th>\n", " <td>False</td>\n", " </tr>\n", " <tr>\n", " <th>Fields</th>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Kerr</th>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Romero</th>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Davis</th>\n", " <td>False</td>\n", " </tr>\n", " <tr>\n", " <th>Hall</th>\n", " <td>True</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Ages\n", "Names \n", "Liu True\n", "Rowland True\n", "Rivers True\n", "Waters True\n", "Rice False\n", "Fields True\n", "Kerr True\n", "Romero True\n", "Davis False\n", "Hall True"]}, "execution_count": 20, "metadata": {}, "output_type": "execute_result"}], "source": ["df_sample > 40"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 1\n", "<a name=\"task1\"></a>\n", "\n", "* Create data frame with\n", " - 10 names of dinosaurs, \n", " - their favourite prime number, \n", " - and their favourite color\n", "* Play around with the frame\n", "* Tell me on poll when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 21, "metadata": {"exercise": "task", "slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["happy_dinos = {\n", " \"Dinosaur Name\": [],\n", " \"Favourite Prime\": [],\n", " \"Favourite Color\": []\n", "}\n", "#df_dinos = "]}, {"cell_type": "code", "execution_count": 22, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th>Dinosaur Name</th>\n", " <th>Aegyptosaurus</th>\n", " <th>Tyrannosaurus</th>\n", " <th>Panoplosaurus</th>\n", " <th>Isisaurus</th>\n", " <th>Triceratops</th>\n", " <th>Velociraptor</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Favourite Prime</th>\n", " <td>4</td>\n", " <td>8</td>\n", " <td>15</td>\n", " <td>16</td>\n", " <td>23</td>\n", " <td>42</td>\n", " </tr>\n", " <tr>\n", " <th>Favourite Color</th>\n", " <td>blue</td>\n", " <td>white</td>\n", " <td>blue</td>\n", " <td>purple</td>\n", " <td>violet</td>\n", " <td>gray</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": ["Dinosaur Name Aegyptosaurus Tyrannosaurus Panoplosaurus Isisaurus \\\n", "Favourite Prime 4 8 15 16 \n", "Favourite Color blue white blue purple \n", "\n", "Dinosaur Name Triceratops Velociraptor \n", "Favourite Prime 23 42 \n", "Favourite Color violet gray "]}, "execution_count": 22, "metadata": {}, "output_type": "execute_result"}], "source": ["happy_dinos = {\n", " \"Dinosaur Name\": [\"Aegyptosaurus\", \"Tyrannosaurus\", \"Panoplosaurus\", \"Isisaurus\", \"Triceratops\", \"Velociraptor\"],\n", " \"Favourite Prime\": [\"4\", \"8\", \"15\", \"16\", \"23\", \"42\"],\n", " \"Favourite Color\": [\"blue\", \"white\", \"blue\", \"purple\", \"violet\", \"gray\"]\n", "}\n", "df_dinos = pd.DataFrame(happy_dinos).set_index(\"Dinosaur Name\")\n", "df_dinos.T"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["Some more `DataFrame` examples"]}, {"cell_type": "code", "execution_count": 23, "metadata": {"slideshow": {"slide_type": "skip"}}, "outputs": [], "source": ["import numpy as np"]}, {"cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>This</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "0 1.2 2018-02-26 -2.718282 This Same\n", "1 1.2 2018-02-26 1.718282 column Same\n", "2 1.2 2018-02-26 -1.304068 has Same\n", "3 1.2 2018-02-26 0.986231 entries Same\n", "4 1.2 2018-02-26 -0.718282 entries Same"]}, "execution_count": 24, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo = pd.DataFrame({\n", " \"A\": 1.2,\n", " \"B\": pd.Timestamp('20180226'),\n", " \"C\": [(-1)**i * np.sqrt(i) + np.e * (-1)**(i-1) for i in range(5)],\n", " \"D\": pd.Categorical([\"This\", \"column\", \"has\", \"entries\", \"entries\"]),\n", " \"E\": \"Same\"\n", "})\n", "df_demo"]}, {"cell_type": "code", "execution_count": 25, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>This</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "0 1.2 2018-02-26 -2.718282 This Same\n", "2 1.2 2018-02-26 -1.304068 has Same\n", "4 1.2 2018-02-26 -0.718282 entries Same\n", "3 1.2 2018-02-26 0.986231 entries Same\n", "1 1.2 2018-02-26 1.718282 column Same"]}, "execution_count": 25, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.sort_values(\"C\")"]}, {"cell_type": "code", "execution_count": 26, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>0.99</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-0.72</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "3 1.2 2018-02-26 0.99 entries Same\n", "4 1.2 2018-02-26 -0.72 entries Same"]}, "execution_count": 26, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.round(2).tail(2)"]}, {"cell_type": "code", "execution_count": 27, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/plain": ["A 6\n", "C -2.03\n", "D Thiscolumnhasentriesentries\n", "E SameSameSameSameSame\n", "dtype: object"]}, "execution_count": 27, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.round(2).sum()"]}, {"cell_type": "code", "execution_count": 28, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["\\begin{tabular}{lrlrll}\n", "\\toprule\n", "{} & A & B & C & D & E \\\\\n", "\\midrule\n", "0 & 1.2 & 2018-02-26 & -2.72 & This & Same \\\\\n", "1 & 1.2 & 2018-02-26 & 1.72 & column & Same \\\\\n", "2 & 1.2 & 2018-02-26 & -1.30 & has & Same \\\\\n", "3 & 1.2 & 2018-02-26 & 0.99 & entries & Same \\\\\n", "4 & 1.2 & 2018-02-26 & -0.72 & entries & Same \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "\n"]}], "source": ["print(df_demo.round(2).to_latex())"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Reading External Data\n", "\n", "(Links to documentation)\n", "* [`.read_json()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_json.html#pandas.read_json)\n", "* [`.read_csv()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html#pandas.read_csv)\n", "* [`.read_hdf5()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_hdf.html#pandas.read_hdf)\n", "* [`.read_excel()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html#pandas.read_excel)\n", "\n", "Example:\n", "\n", "```json\n", "{\n", " \"Character\": [\"Sawyer\", \"\u2026\", \"Walt\"],\n", " \"Actor\": [\"Josh Holloway\", \"\u2026\", \"Malcolm David Kelley\"],\n", " \"Main Cast\": [true, \"\u2026\", false]\n", "}\n", "```"]}, {"cell_type": "code", "execution_count": 29, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Actor</th>\n", " <th>Main Cast</th>\n", " </tr>\n", " <tr>\n", " <th>Character</th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Hurley</th>\n", " <td>Jorge Garcia</td>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Jack</th>\n", " <td>Matthew Fox</td>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Kate</th>\n", " <td>Evangeline Lilly</td>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Locke</th>\n", " <td>Terry O'Quinn</td>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Sawyer</th>\n", " <td>Josh Holloway</td>\n", " <td>True</td>\n", " </tr>\n", " <tr>\n", " <th>Walt</th>\n", " <td>Malcolm David Kelley</td>\n", " <td>False</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Actor Main Cast\n", "Character \n", "Hurley Jorge Garcia True\n", "Jack Matthew Fox True\n", "Kate Evangeline Lilly True\n", "Locke Terry O'Quinn True\n", "Sawyer Josh Holloway True\n", "Walt Malcolm David Kelley False"]}, "execution_count": 29, "metadata": {}, "output_type": "execute_result"}], "source": ["pd.read_json(\"lost.json\").set_index(\"Character\").sort_index()"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 2\n", "<a name=\"task2\"></a>\n", "\n", "* Read in `nest-data.csv` to `DataFrame`; call it `df`\n", "* Get to know it and play a bit with it\n", "* Tell me when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 30, "metadata": {"exercise": "task"}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["id,Nodes,Tasks/Node,Threads/Task,Runtime Program / s,Scale,Plastic,Avg. Neuron Build Time / s,Min. Edge Build Time / s,Max. Edge Build Time / s,Min. Init. Time / s,Max. Init. Time / s,Presim. Time / s,Sim. Time / s,Virt. Memory (Sum) / kB,Local Spike Counter (Sum),Average Rate (Sum),Number of Neurons,Number of Connections,Min. Delay,Max. Delay\n", "5,1,2,4,420.42,10,true,0.29,88.12,88.18,1.14,1.20,17.26,311.52,46560664.00,825499,7.48,112500,1265738500,1.5,1.5\n", "5,1,4,4,200.84,10,true,0.15,46.03,46.34,0.70,1.01,7.87,142.97,46903088.00,802865,7.03,112500,1265738500,1.5,1.5\n"]}], "source": ["!cat nest-data.csv | head -3"]}, {"cell_type": "code", "execution_count": 31, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", " <th>Nodes</th>\n", " <th>Tasks/Node</th>\n", " <th>Threads/Task</th>\n", " <th>Runtime Program / s</th>\n", " <th>Scale</th>\n", " <th>Plastic</th>\n", " <th>Avg. Neuron Build Time / s</th>\n", " <th>Min. Edge Build Time / s</th>\n", " <th>Max. Edge Build Time / s</th>\n", " <th>...</th>\n", " <th>Max. Init. Time / s</th>\n", " <th>Presim. Time / s</th>\n", " <th>Sim. Time / s</th>\n", " <th>Virt. Memory (Sum) / kB</th>\n", " <th>Local Spike Counter (Sum)</th>\n", " <th>Average Rate (Sum)</th>\n", " <th>Number of Neurons</th>\n", " <th>Number of Connections</th>\n", " <th>Min. Delay</th>\n", " <th>Max. Delay</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>4</td>\n", " <td>420.42</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.29</td>\n", " <td>88.12</td>\n", " <td>88.18</td>\n", " <td>...</td>\n", " <td>1.20</td>\n", " <td>17.26</td>\n", " <td>311.52</td>\n", " <td>46560664.0</td>\n", " <td>825499</td>\n", " <td>7.48</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>4</td>\n", " <td>4</td>\n", " <td>200.84</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.15</td>\n", " <td>46.03</td>\n", " <td>46.34</td>\n", " <td>...</td>\n", " <td>1.01</td>\n", " <td>7.87</td>\n", " <td>142.97</td>\n", " <td>46903088.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>8</td>\n", " <td>202.15</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.28</td>\n", " <td>47.98</td>\n", " <td>48.48</td>\n", " <td>...</td>\n", " <td>1.20</td>\n", " <td>7.95</td>\n", " <td>142.81</td>\n", " <td>47699384.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>4</td>\n", " <td>8</td>\n", " <td>89.57</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.15</td>\n", " <td>20.41</td>\n", " <td>23.21</td>\n", " <td>...</td>\n", " <td>3.04</td>\n", " <td>3.19</td>\n", " <td>60.31</td>\n", " <td>46813040.0</td>\n", " <td>821491</td>\n", " <td>7.23</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>5</td>\n", " <td>2</td>\n", " <td>2</td>\n", " <td>4</td>\n", " <td>164.16</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.20</td>\n", " <td>40.03</td>\n", " <td>41.09</td>\n", " <td>...</td>\n", " <td>1.58</td>\n", " <td>6.08</td>\n", " <td>114.88</td>\n", " <td>46937216.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>5 rows \u00d7 21 columns</p>\n", "</div>"], "text/plain": [" id Nodes Tasks/Node Threads/Task Runtime Program / s Scale Plastic \\\n", "0 5 1 2 4 420.42 10 True \n", "1 5 1 4 4 200.84 10 True \n", "2 5 1 2 8 202.15 10 True \n", "3 5 1 4 8 89.57 10 True \n", "4 5 2 2 4 164.16 10 True \n", "\n", " Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "0 0.29 88.12 \n", "1 0.15 46.03 \n", "2 0.28 47.98 \n", "3 0.15 20.41 \n", "4 0.20 40.03 \n", "\n", " Max. Edge Build Time / s ... Max. Init. Time / s Presim. Time / s \\\n", "0 88.18 ... 1.20 17.26 \n", "1 46.34 ... 1.01 7.87 \n", "2 48.48 ... 1.20 7.95 \n", "3 23.21 ... 3.04 3.19 \n", "4 41.09 ... 1.58 6.08 \n", "\n", " Sim. Time / s Virt. Memory (Sum) / kB Local Spike Counter (Sum) \\\n", "0 311.52 46560664.0 825499 \n", "1 142.97 46903088.0 802865 \n", "2 142.81 47699384.0 802865 \n", "3 60.31 46813040.0 821491 \n", "4 114.88 46937216.0 802865 \n", "\n", " Average Rate (Sum) Number of Neurons Number of Connections Min. Delay \\\n", "0 7.48 112500 1265738500 1.5 \n", "1 7.03 112500 1265738500 1.5 \n", "2 7.03 112500 1265738500 1.5 \n", "3 7.23 112500 1265738500 1.5 \n", "4 7.03 112500 1265738500 1.5 \n", "\n", " Max. Delay \n", "0 1.5 \n", "1 1.5 \n", "2 1.5 \n", "3 1.5 \n", "4 1.5 \n", "\n", "[5 rows x 21 columns]"]}, "execution_count": 31, "metadata": {}, "output_type": "execute_result"}], "source": ["df = pd.read_csv(\"nest-data.csv\")\n", "df.head()"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Read CSV Options\n", "\n", "* See also full [API documentation](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html)\n", "* Important parameters\n", " - `sep`: Set separator (for example `:` instead of `,`)\n", " - `header`: Specify info about headers for columns; able to use multi-index for columns!\n", " - `names`: Alternative to `header` \u2013\u00a0provide your own column titles\n", " - `usecols`: Don't read whole set of columns, but only these; works with any list (`range(0:20:2)`)\u2026\n", " - `skiprows`: Don't read in these rows\n", " - `na_values`: What string(s) to recognize as `N/A` values (which will be ignored during operations on data frame)\n", " - `parse_dates`: Try to parse dates in CSV; different behaviours as to provided data structure; optionally used together with `date_parser`\n", " - `compression`: Treat input file as compressed file (\"infer\", \"gzip\", \"zip\", \u2026)\n", " - `decimal`: Decimal point divider \u2013\u00a0for German data\u2026\n", " \n", "```python\n", "pandas.read_csv(filepath_or_buffer, sep=', ', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='\"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)\n", "```"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Slicing of Data Frames\n", "\n", "### Slicing Columns\n", "\n", "* Use square-bracket operators to slice data frame: `[]`\n", " * Use column name to select column\n", " * Also: Slice horizontally\n", "* Example: Select only columnn `C` from `df_demo`"]}, {"cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>This</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "0 1.2 2018-02-26 -2.718282 This Same\n", "1 1.2 2018-02-26 1.718282 column Same\n", "2 1.2 2018-02-26 -1.304068 has Same"]}, "execution_count": 32, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.head(3)"]}, {"cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [{"data": {"text/plain": ["0 -2.718282\n", "1 1.718282\n", "2 -1.304068\n", "3 0.986231\n", "4 -0.718282\n", "Name: C, dtype: float64"]}, "execution_count": 33, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo[\"C\"]"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Select more than one column by providing list `[]` to slice operator `[]`\n", "* *You usually end up forgett one of the brackets\u2026*\n", "* Example: Select list of columns `A` and `C`, `[\"A\", \"C\"]` from `df_demo`"]}, {"cell_type": "code", "execution_count": 34, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>C</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1.2</td>\n", " <td>-2.718282</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>1.718282</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>-1.304068</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", " <td>0.986231</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", " <td>-0.718282</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A C\n", "0 1.2 -2.718282\n", "1 1.2 1.718282\n", "2 1.2 -1.304068\n", "3 1.2 0.986231\n", "4 1.2 -0.718282"]}, "execution_count": 34, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo[[\"A\", \"C\"]]"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Slicing of Data Frames\n", "\n", "### Slicing rows\n", "\n", "* Use numberical values to slice into rows\n", "* Use ranges just like with Python lists"]}, {"cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "1 1.2 2018-02-26 1.718282 column Same\n", "2 1.2 2018-02-26 -1.304068 has Same"]}, "execution_count": 35, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo[1:3]"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "fragment"}}, "source": ["* Get a certain range as **per the current sort structure**"]}, {"cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "1 1.2 2018-02-26 1.718282 column Same\n", "2 1.2 2018-02-26 -1.304068 has Same"]}, "execution_count": 36, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.iloc[1:3]"]}, {"cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "1 1.2 2018-02-26 1.718282 column Same\n", "3 1.2 2018-02-26 0.986231 entries Same"]}, "execution_count": 37, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.iloc[1:6:2]"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Attention: `.iloc[]` location might change after re-sorting!"]}, {"cell_type": "code", "execution_count": 38, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "2 1.2 2018-02-26 -1.304068 has Same\n", "4 1.2 2018-02-26 -0.718282 entries Same"]}, "execution_count": 38, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.sort_values(\"C\").iloc[1:3]"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* One more row-slicing option: `.loc[]`\n", "* See the difference with a *proper* index (and not the auto-generated default index from before)"]}, {"cell_type": "code", "execution_count": 39, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>E</th>\n", " </tr>\n", " <tr>\n", " <th>D</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>This</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>column</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>has</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>entries</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>entries</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C E\n", "D \n", "This 1.2 2018-02-26 -2.718282 Same\n", "column 1.2 2018-02-26 1.718282 Same\n", "has 1.2 2018-02-26 -1.304068 Same\n", "entries 1.2 2018-02-26 0.986231 Same\n", "entries 1.2 2018-02-26 -0.718282 Same"]}, "execution_count": 39, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo_indexed = df_demo.set_index(\"D\")\n", "df_demo_indexed"]}, {"cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>E</th>\n", " </tr>\n", " <tr>\n", " <th>D</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>entries</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>entries</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C E\n", "D \n", "entries 1.2 2018-02-26 0.986231 Same\n", "entries 1.2 2018-02-26 -0.718282 Same"]}, "execution_count": 40, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo_indexed.loc[\"entries\"]"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["### Advanced Slicing: Logical Slicing\n", "\n"]}, {"cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "1 1.2 2018-02-26 1.718282 column Same\n", "3 1.2 2018-02-26 0.986231 entries Same"]}, "execution_count": 41, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo[df_demo[\"C\"] > 0]"]}, {"cell_type": "code", "execution_count": 42, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "4 1.2 2018-02-26 -0.718282 entries Same"]}, "execution_count": 42, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo[(df_demo[\"C\"] < 0) & (df_demo[\"D\"] == \"entries\")]"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Adding to Existing Data Frame\n", "\n", "* Add new columns with `frame[\"new col\"] = something` or `.insert()`\n", "* Add new rows with `frame.append()`\n", "* Combine data frames\n", " - Concat: Combine several data frames along an axis\n", " - Merge: Combine data frames on basis of common columns; database-style\n", " - (Join)\n", " - See user guide [on merging](https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html)"]}, {"cell_type": "code", "execution_count": 43, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>This</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E\n", "0 1.2 2018-02-26 -2.718282 This Same\n", "1 1.2 2018-02-26 1.718282 column Same\n", "2 1.2 2018-02-26 -1.304068 has Same"]}, "execution_count": 43, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.head(3)"]}, {"cell_type": "code", "execution_count": 44, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " <th>F</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>This</td>\n", " <td>Same</td>\n", " <td>-3.918282</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " <td>0.518282</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " <td>-2.504068</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E F\n", "0 1.2 2018-02-26 -2.718282 This Same -3.918282\n", "1 1.2 2018-02-26 1.718282 column Same 0.518282\n", "2 1.2 2018-02-26 -1.304068 has Same -2.504068"]}, "execution_count": 44, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo[\"F\"] = df_demo[\"C\"] - df_demo[\"A\"]\n", "df_demo.head(3)"]}, {"cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": ["df_demo.insert(len(df_demo) + 1, \"G\", df_demo[\"C\"] ** 2)"]}, {"cell_type": "code", "execution_count": 46, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " <th>F</th>\n", " <th>G</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " <td>-2.504068</td>\n", " <td>1.700594</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " <td>-0.213769</td>\n", " <td>0.972652</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " <td>-1.918282</td>\n", " <td>0.515929</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E F G\n", "2 1.2 2018-02-26 -1.304068 has Same -2.504068 1.700594\n", "3 1.2 2018-02-26 0.986231 entries Same -0.213769 0.972652\n", "4 1.2 2018-02-26 -0.718282 entries Same -1.918282 0.515929"]}, "execution_count": 46, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.tail(3)"]}, {"cell_type": "code", "execution_count": 47, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>A</th>\n", " <th>B</th>\n", " <th>C</th>\n", " <th>D</th>\n", " <th>E</th>\n", " <th>F</th>\n", " <th>G</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-2.718282</td>\n", " <td>This</td>\n", " <td>Same</td>\n", " <td>-3.918282</td>\n", " <td>7.389056</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>1.718282</td>\n", " <td>column</td>\n", " <td>Same</td>\n", " <td>0.518282</td>\n", " <td>2.952492</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-1.304068</td>\n", " <td>has</td>\n", " <td>Same</td>\n", " <td>-2.504068</td>\n", " <td>1.700594</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>0.986231</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " <td>-0.213769</td>\n", " <td>0.972652</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1.2</td>\n", " <td>2018-02-26</td>\n", " <td>-0.718282</td>\n", " <td>entries</td>\n", " <td>Same</td>\n", " <td>-1.918282</td>\n", " <td>0.515929</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>1.3</td>\n", " <td>2018-02-27</td>\n", " <td>-0.777000</td>\n", " <td>has it?</td>\n", " <td>Same</td>\n", " <td>23.000000</td>\n", " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" A B C D E F G\n", "0 1.2 2018-02-26 -2.718282 This Same -3.918282 7.389056\n", "1 1.2 2018-02-26 1.718282 column Same 0.518282 2.952492\n", "2 1.2 2018-02-26 -1.304068 has Same -2.504068 1.700594\n", "3 1.2 2018-02-26 0.986231 entries Same -0.213769 0.972652\n", "4 1.2 2018-02-26 -0.718282 entries Same -1.918282 0.515929\n", "5 1.3 2018-02-27 -0.777000 has it? Same 23.000000 NaN"]}, "execution_count": 47, "metadata": {}, "output_type": "execute_result"}], "source": ["df_demo.append(\n", " {\"A\": 1.3, \"B\": pd.Timestamp(\"2018-02-27\"), \"C\": -0.777, \"D\": \"has it?\", \"E\": \"Same\", \"F\": 23},\n", " ignore_index=True\n", ")"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["## Combining Frames\n", "\n", "* First, create some simpler data frame to show `.concat()` and `.merge()`"]}, {"cell_type": "code", "execution_count": 48, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Key</th>\n", " <th>Value</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>First</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Second</td>\n", " <td>1</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Key Value\n", "0 First 1\n", "1 Second 1"]}, "execution_count": 48, "metadata": {}, "output_type": "execute_result"}], "source": ["df_1 = pd.DataFrame({\"Key\": [\"First\", \"Second\"], \"Value\": [1, 1]})\n", "df_1"]}, {"cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Key</th>\n", " <th>Value</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>First</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Second</td>\n", " <td>2</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Key Value\n", "0 First 2\n", "1 Second 2"]}, "execution_count": 49, "metadata": {}, "output_type": "execute_result"}], "source": ["df_2 = pd.DataFrame({\"Key\": [\"First\", \"Second\"], \"Value\": [2, 2]})\n", "df_2"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Concatenate list of data frame vertically (`axis=0`)"]}, {"cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Key</th>\n", " <th>Value</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>First</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Second</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>0</th>\n", " <td>First</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Second</td>\n", " <td>2</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Key Value\n", "0 First 1\n", "1 Second 1\n", "0 First 2\n", "1 Second 2"]}, "execution_count": 50, "metadata": {}, "output_type": "execute_result"}], "source": ["pd.concat([df_1, df_2])"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "fragment"}}, "source": ["* Same, but re-index"]}, {"cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Key</th>\n", " <th>Value</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>First</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Second</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>First</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>Second</td>\n", " <td>2</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Key Value\n", "0 First 1\n", "1 Second 1\n", "2 First 2\n", "3 Second 2"]}, "execution_count": 51, "metadata": {}, "output_type": "execute_result"}], "source": ["pd.concat([df_1, df_2], ignore_index=True)"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Concat, but horizontally"]}, {"cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Key</th>\n", " <th>Value</th>\n", " <th>Key</th>\n", " <th>Value</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>First</td>\n", " <td>1</td>\n", " <td>First</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Second</td>\n", " <td>1</td>\n", " <td>Second</td>\n", " <td>2</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Key Value Key Value\n", "0 First 1 First 2\n", "1 Second 1 Second 2"]}, "execution_count": 52, "metadata": {}, "output_type": "execute_result"}], "source": ["pd.concat([df_1, df_2], axis=1)"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "fragment"}}, "source": ["* Merge on common column"]}, {"cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Key</th>\n", " <th>Value_x</th>\n", " <th>Value_y</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>First</td>\n", " <td>1</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Second</td>\n", " <td>1</td>\n", " <td>2</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Key Value_x Value_y\n", "0 First 1 2\n", "1 Second 1 2"]}, "execution_count": 53, "metadata": {}, "output_type": "execute_result"}], "source": ["pd.merge(df_1, df_2, on=\"Key\")"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "subslide"}}, "source": ["## Task 3\n", "<a name=\"task3\"></a>\n", "\n", "* Add a column to the Nest data frame called `Virtual Processes` which is the total number of threads across all nodes (i.e. the product of threads per task and tasks per node and nodes)\n", "* Remember to tell me when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 54, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", " <th>Nodes</th>\n", " <th>Tasks/Node</th>\n", " <th>Threads/Task</th>\n", " <th>Runtime Program / s</th>\n", " <th>Scale</th>\n", " <th>Plastic</th>\n", " <th>Avg. Neuron Build Time / s</th>\n", " <th>Min. Edge Build Time / s</th>\n", " <th>Max. Edge Build Time / s</th>\n", " <th>...</th>\n", " <th>Presim. Time / s</th>\n", " <th>Sim. Time / s</th>\n", " <th>Virt. Memory (Sum) / kB</th>\n", " <th>Local Spike Counter (Sum)</th>\n", " <th>Average Rate (Sum)</th>\n", " <th>Number of Neurons</th>\n", " <th>Number of Connections</th>\n", " <th>Min. Delay</th>\n", " <th>Max. Delay</th>\n", " <th>Virtual Processes</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>4</td>\n", " <td>420.42</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.29</td>\n", " <td>88.12</td>\n", " <td>88.18</td>\n", " <td>...</td>\n", " <td>17.26</td>\n", " <td>311.52</td>\n", " <td>46560664.0</td>\n", " <td>825499</td>\n", " <td>7.48</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>4</td>\n", " <td>4</td>\n", " <td>200.84</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.15</td>\n", " <td>46.03</td>\n", " <td>46.34</td>\n", " <td>...</td>\n", " <td>7.87</td>\n", " <td>142.97</td>\n", " <td>46903088.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>16</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>8</td>\n", " <td>202.15</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.28</td>\n", " <td>47.98</td>\n", " <td>48.48</td>\n", " <td>...</td>\n", " <td>7.95</td>\n", " <td>142.81</td>\n", " <td>47699384.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>16</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>4</td>\n", " <td>8</td>\n", " <td>89.57</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.15</td>\n", " <td>20.41</td>\n", " <td>23.21</td>\n", " <td>...</td>\n", " <td>3.19</td>\n", " <td>60.31</td>\n", " <td>46813040.0</td>\n", " <td>821491</td>\n", " <td>7.23</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>32</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>5</td>\n", " <td>2</td>\n", " <td>2</td>\n", " <td>4</td>\n", " <td>164.16</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.20</td>\n", " <td>40.03</td>\n", " <td>41.09</td>\n", " <td>...</td>\n", " <td>6.08</td>\n", " <td>114.88</td>\n", " <td>46937216.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>16</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>5 rows \u00d7 22 columns</p>\n", "</div>"], "text/plain": [" id Nodes Tasks/Node Threads/Task Runtime Program / s Scale Plastic \\\n", "0 5 1 2 4 420.42 10 True \n", "1 5 1 4 4 200.84 10 True \n", "2 5 1 2 8 202.15 10 True \n", "3 5 1 4 8 89.57 10 True \n", "4 5 2 2 4 164.16 10 True \n", "\n", " Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "0 0.29 88.12 \n", "1 0.15 46.03 \n", "2 0.28 47.98 \n", "3 0.15 20.41 \n", "4 0.20 40.03 \n", "\n", " Max. Edge Build Time / s ... Presim. Time / s Sim. Time / s \\\n", "0 88.18 ... 17.26 311.52 \n", "1 46.34 ... 7.87 142.97 \n", "2 48.48 ... 7.95 142.81 \n", "3 23.21 ... 3.19 60.31 \n", "4 41.09 ... 6.08 114.88 \n", "\n", " Virt. Memory (Sum) / kB Local Spike Counter (Sum) Average Rate (Sum) \\\n", "0 46560664.0 825499 7.48 \n", "1 46903088.0 802865 7.03 \n", "2 47699384.0 802865 7.03 \n", "3 46813040.0 821491 7.23 \n", "4 46937216.0 802865 7.03 \n", "\n", " Number of Neurons Number of Connections Min. Delay Max. Delay \\\n", "0 112500 1265738500 1.5 1.5 \n", "1 112500 1265738500 1.5 1.5 \n", "2 112500 1265738500 1.5 1.5 \n", "3 112500 1265738500 1.5 1.5 \n", "4 112500 1265738500 1.5 1.5 \n", "\n", " Virtual Processes \n", "0 8 \n", "1 16 \n", "2 16 \n", "3 32 \n", "4 16 \n", "\n", "[5 rows x 22 columns]"]}, "execution_count": 54, "metadata": {}, "output_type": "execute_result"}], "source": ["df[\"Virtual Processes\"] = df[\"Nodes\"] * df[\"Tasks/Node\"] * df[\"Threads/Task\"]\n", "df.head()"]}, {"cell_type": "code", "execution_count": 55, "metadata": {"exercise": "solution"}, "outputs": [{"data": {"text/plain": ["Index(['id', 'Nodes', 'Tasks/Node', 'Threads/Task', 'Runtime Program / s',\n", " 'Scale', 'Plastic', 'Avg. Neuron Build Time / s',\n", " 'Min. Edge Build Time / s', 'Max. Edge Build Time / s',\n", " 'Min. Init. Time / s', 'Max. Init. Time / s', 'Presim. Time / s',\n", " 'Sim. Time / s', 'Virt. Memory (Sum) / kB', 'Local Spike Counter (Sum)',\n", " 'Average Rate (Sum)', 'Number of Neurons', 'Number of Connections',\n", " 'Min. Delay', 'Max. Delay', 'Virtual Processes'],\n", " dtype='object')"]}, "execution_count": 55, "metadata": {}, "output_type": "execute_result"}], "source": ["df.columns"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Aside: Plotting without Pandas\n", "\n", "### Matplotlib 101\n", "\n", "* Matplotlib: de-facto standard for plotting in Python\n", "* Main interface: `pyplot`; provides MATLAB-like interface\n", "* Better: Use object-oriented API with `Figure` and `Axis`\n", "* Great integration into Jupyter Notebooks\n", "* Since v. 3: Only support for Python 3\n", "* \u2192 https://matplotlib.org/"]}, {"cell_type": "code", "execution_count": 56, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["import matplotlib.pyplot as plt\n", "%matplotlib inline"]}, {"cell_type": "code", "execution_count": 57, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [], "source": ["x = np.linspace(0, 2*np.pi, 400)\n", "y = np.sin(x**2)"]}, {"cell_type": "code", "execution_count": 58, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZYAAAEWCAYAAABFSLFOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzsvXmUZWV57/99zjzXXNVzdTc0k8w2YKISg6h4kysmGkXjT4zmkvyMuStzNMkv8RJzlxnW1Xsz3ASVKw4RkAxgwhUBNaKAdKvM0HbTY3VX11x15vn5/bH3e+p09Rn28O6hut7PWr2oOkPtt6DZ3/NM34eYGQqFQqFQyCLg9QEUCoVCcW6hhEWhUCgUUlHColAoFAqpKGFRKBQKhVSUsCgUCoVCKkpYFAqFQiEVJSwKhUsQ0eeJ6BP6168nogNtzx0lohsdum7Xn732HAqFDJSwKDY8RMREdP6axz5ORF9y6prM/BgzXyj757aLl5fnUGxslLAoFAqFQipKWBSKPhDRKBH9GxEtE9EiET1GRAH9uS1E9E9ENEdER4jovxr8mW8goqkuz12s/6z3mLkGEd0G4BcB/B4R5Ynoa21PX0lEzxLRChHdQ0SxTucgot8nopNElCOiA0T0RkP/khSKNkJeH0ChWAf8NoApAGP6968BwLq4fA3A/QDeA2AbgEeI6AAzP2TlQkR0NYB/BfBhZv43M9dg5juI6CcBTDHzH6350e8CcBOAMoDvAfgAgL9fc+0LAXwEwDXMfIqIdgIIWvk9FBsbFbEoFP2pAdgMYJKZa3pdggFcA2CMmW9n5iozHwbwGQC3WLzO6wE8AOD9zPxv+mOyrvG/mPkUMy9CE6orO7ymASAK4BIiCjPzUWZ+xdqvotjIKGFRKLQbanjNY2FoggIAfwngEIBvENFhIvqo/vgkgC16imyZiJYB/AGACYvn+FUAjzPzt9sek3WN021fFwGk1r6AmQ8B+A0AHwcwS0R3E9EWk9dRKJSwKBQAjgPYueaxXQCOAQAz55j5t5l5N4C3AfgtvfZwAsARZh5s+5Nm5v9k8Ry/CmAHEX2q7TGz17BlV87M/8jMr4MmaAzgz+38PMXGRAmLQgHcA+CPiGgbEQX0mY//DOA+ACCinyWi84mIAKxAi3CaAJ4CkNML3nEiChLRpUR0jcVz5KDVQa4nok/qj5m9xgyA3VYuTkQXEtENRBSFVospQfs9FQpTKGFRKIDbATwO4LsAlgD8BYBfZObn9ef3AHgEQB7AEwD+jpm/xcwNAD8LrV5xBMA8gM8CGLB6EGZeBvAmAG8loj+1cI3PQauRLBPRv5q8fBTAJ/VrnAYwDuBj5n8LxUaH1KIvhUKhUMhERSwKhUKhkIoSFoVCoVBIRQmLQqFQKKSihEWhUCgUUtmQli6jo6O8c+dOr4+hUCgU64of/OAH88w81u91G1JYdu7cif3793t9DIVCoVhXENExI69TqTCFQqFQSEUJi0KhUCikooRFoVAoFFJRwqJQKBQKqShhUSgUCoVUfCEsRHQnEc0S0fNdnici+l9EdEhfr3p123O3EtFB/c+t7p1aoVAoFJ3whbAA+Dw0u/BuvBWaw+weALcB+N8AQETDAP4EwHUArgXwJ0Q05OhJFQqFQtETXwgLM38HwGKPl9wM4Aus8SSAQSLaDOAtAB5m5kVmXgLwMHoLlMIEJxaL+OKTx/DXjx7E1545hWK17vWRfM2h2Ry++OQxLOQrXh/FFI0m4xsvnMazU8teH6VFpd7AvftOIFuu9X+xAzz+yjyOzhdcu96JxSJemcs7eo2ppSL+/dlpR68hWC8DkluhbdITTOmPdXv8LIjoNmjRDnbs2OHMKc8RitU6/uLrB3DXE0fRvlVhOBnBn958KX7m8s2enc2vPDu1jHf878dRazD+5psH8dBvXI/BRMTrYxniLx86gL//j1cQDwfxjd+8HtuHE14fCR9/4AV85akTeOSlGdzx/r2uXnsmW8Z7P/N9AMBTf/BGjGdijl7v5dNZ3PTpxxAOEn78ibdC2ycnn3f/w5M4uVzCZVt/GjtGnP1v7IuIxQ2Y+Q5m3svMe8fG+joSbFhms2W87W++h88/fhTvf80k/uN334ADn7gJ99z2GuwYTuDX/vGH+Nx3j3h9TF/BzPjoPz2HkWQUd35gL+bzVfzVNw54fSxDZMs1fPGJo7hs6wDqzaYv/tsuF6u4e5/2efEbL87gsMOf5NfyhSeOtr6+/+lTjl/vX354EgBQazCeP5l15BrHFgo4uVwCANz/9ElHrtHOehGWkwC2t32/TX+s2+MKC8zlKrjlM0/i1HIJX/rQdfhvN1+KyZEkoqEgrts9gnt/5Sfw1ks34U//7UV8/fnTXh/XNzx1ZBEvTmfxm2/agxsumsA7rt6Kf/7hSeQr/k8dfuOFGRSqDdx+86vwUxeM4+EXZ+D18r8nXlkAM/AX77wcAPDk4V5Zcmeuf+3OYWwdjOPpE86nB58/tYKtg3EQAY++POPINX50XPs9hpMRfP0F5//fXS/C8gCA9+vdYa8BsMLM0wAeAvBmIhrSi/Zv1h9TmKTWaOLDX/4BppfLuOuD1+J1e0bPek0kFMCnb7kSV2wfxO/e9wzmcuurluAU9+w/gXQshLddoWVh333NDhSrDTzoUj7bDk8eXsBQIowrtg3iLa+awMnlEl6cduZTs1G+e2geyUgQP3fVVoylo/j+kQXXrt1sMg6czuGSLRlctWPQcWFh1qKU6y8Yw67RJA6czjlynaMLBRABd9/2Gtz7Kz/hyDXa8YWwENFXoO0Sv5CIpojoQ0T0q0T0q/pLHgRwGMAhAJ8B8GEAYOZFAH8KYJ/+53b9MYVJ/vKhA9h3dAmffMdluGbncNfXRUNBfOpdV6Bca+DPv/6yiyf0J40m41svz+LGiycQjwQBAFfvGMSWgZhjnz5l8uThBVy3awSBAOE1u0cArH669YrnTq7giu2DCAcDuHbnMH5wbMm1a08tlVCoNnDRpjSu3D6Ik8slRz9ATS2VsFKq4dKtGUwOJ3BsoejIdY4tFLE5E8MFE2kko86X1n1RvGfm9/R5ngH8Wpfn7gRwpxPn2ig8dWQRd3znMH7xuh24+cqOvQ9nsHsshQ+9bjf+/j9ewXuu3YFXT27cDu8fHV/CUrGGN1483nqMiHD9BWP492enUW80EQr64vPbWZxeKWNqqYQPvnYXAGDbUByDiTCem1rx7EzMjFdm83jnq7cBAM4fT+HB56dRrjUQCwcdv76I1i7enMFisQpAq0+MpaOOXO/ogtZ5dt5YCj8ezmH/0SUws/QC/rGFAiZHklJ/Zi/8+Tde4RrlWgMf++dnsW0ojj/8mYsNv+/Xbzgfo6koPv3Ijx08nf/53qEFEAGvP//MhpDX7xlDrlLHMx7epPvx0mntJvqqLRkAmiBetnUAz5307szTK2UUqg2cP54CAOweS4J59QbsNIfntUaB88dT2D4UB6BFFU4xvVIGAGwZiGP7cAK5Sh1LRfkt1scWitg56l63nxKWDc5nvnMYr8wV8Gc/dxkSEeMBbDIawi+9diceOziPF095m5P3kv3HFnHRpgwGEuEzHr9mpxbF/ei4e2kcs4h8/kWbMq3HLt06gB/P5FCtNz0506FZ7cZ+ni4s541p/zw8546wnFouYTARRjIawrYh7UY8teRMegrQokYAGM9EWxHF8UW51ytW61goVFu/jxsoYdnALOQr+Pv/eAVvvmQCP3WB+Rbs9103iUQkiM88dtiB0/mfeqOJHx5baolIO+OZmGtdRVY5cDqHzQOxM0Tx/LEU6k3GCQdvpr0QQ4IiYtk1qt1sj7g0rDi9XMbmAS1SiYWDGE1FcWLR2YhlJBlBLBzE9mHtuickC8tCXkvpjTuUzuuEEpYNzF9/8xBKtQZ+76aLLL1/IBHGu6/Zjq89c2pDdogdmMmhUG10rTFduX3Q80J4Lw6czuHCTekzHts1pt/IXYoQ1jK1VEI8HMRYSrsJJqMhTGSirgnLqZUytgysDkRuG4pjatk5kZ1eKWHzoHa98bT2z3nJzg3i542k3BvYVcKyQTm+UMSXv38M775me+vToRXee+0O1JuMB55xfpDMbzyv1yIu3zbY8fnLtw3g5HIJy3oR2E8wM44uFLB79Mz/9rtdjhDWcmq5hC2DsTOK11sG462UkTvXj7e+3z6ccLTGcnqljE0Z7XqD8TCCAZIuLCJiGUmqiEXhMP/j4QMIBgi/ceMFtn7Onok0Lt82gH/+4ZSkk60fnju5gnQ0hMkuFigXbdZqFy87NJtgh7l8BcVqA5NrrD0GExEMJyM47KmwxM94bPNADKdWnLu5C4rVOlZKtVYEAQAT6Shms85F49MrZWwa0G74gQBhOBlpCYEsFgoqYlG4wNH5Ah545hRu/YmdmJDgg/TzV23FC6eyePn0xiriP38yi0u2ZBAIdG4NvVhPM73s8cBhJ8S8xFphAbS6xpF5d21UBCeXy9i6Rlg2ZbSIxWlHgFPLqx1agtF0FKVaAwUHXBSq9SZWSrVWCgwARlNRB1JhKmJRuMAdjx1GKBjAh163S8rPe9uVWxEOEv7lRxvHTad9QrsbY+kohhJhHJjxX8SyKixnzzZsG4q3fKXcpFxrYD5f6RixFKsNZMvOWuSIOuF4ZvUGPKrXemTf7AG0UqRDydVIYjQVaQmBLBYLVSQjwdYArxsoYdlgzGbLuG//FN756m3SXFuHkxG8ZvcIvvGC9z5TbnFyuYRSrYE94+muryEiXLgp7ZhNhx2OLxQQIJwVHQDaY6dXymg03f1vKeooZwmLnppyus4iUkZCTLSvtZu+E8IiBjCHE+3CEm2dQxYL+QpGUu5FK4ASlg3H5753BPVmE79y/W6pP/fNl0zgyHzB8Z0SfuHQmrbYbuwaTTlm02GH44tFbB6IIxI6+xawZTCOWoNd7/QTw4KbB878wCO+n3a4zrJa5D7zRg8Aczn5DRiLBRGxrLZ7jyQjmJd8rYVC1dX6CqCEZUORK9fw5SeP42cu3yLd3uHGSyYAaDbnG4FX9EG+PX2EZedIAguFqmcLq7pxqkMtQyAedzsdNqdHBWvnLUQdcCbrbMQyn68gQDhjj46wcnEiYlkqaH8n2msfoqYjc6neQr56RlTkBkpYNhD3/WAK+UodvyypttLO5oE4Lts6gIc3iLAcnMljJBk5Iz/eCSHgx+b9FbWcWtHaejuxdcgjYdEjpLW+XKt1DmfbtufzVQwnIwi2NWMMJ51PhbVHLOJ6MjvDsuUaBuLh/i+UiBKWDUKzyfjiE8dw5fZBXLG989yFXd50yQSePrHsyP+EfuPQXL5lO9KL1uS4S15XRmg0GadXymfVMgTi8ZMOzm90Yi5XQThIZ90EY+EgUtGQ43+vFvKVszqnwsEAhpMRhyIWXVjaognxu6+U5EW42VINGSUsCid47NA8Ds8X8IGf3OnYNX7qgjEwA987NO/YNfwAM+PQbN7QYOkOfcblmEdzIZ2Yz1dQbzI2dxGWVDSEdDTkeOppLXO5CsZS0Y7Ovk50S62lWy1ixIHZEkCrsaRjIYTb3K+FsGQlCUuzychV6sjE3DWyV8KyQfjC40cxmorgrZdtcuwal24dQCYWwuOH3FvM5AXz+SpWSjWcP9ZfWOKRIDZlYjjqowK+SHFt7ZIKA7R01JzLkedcvtLVnn40FcW8w80E3bqnBhNhLDvgOLxUrLZSXwLZEUu+WgczVMSikM/xhSK+eWAW7712B6Ih53rZgwHCT5w3gu8emj+n246FA++eCWNWODtHE67Zvhthell0X3WOWACtiOx2V9h8rruwjKQi0ttw17KQr57RESYYiEewLDE1JVgsVM9oFNCupQmArOuJyGfDCgsR3UREB4joEBF9tMPznyKip/U/Pyai5bbnGm3PPeDuyf3PF588iiAR3nvdpOPXet35ozi5XPJli60sRKvxeQYiFgDYOZLEMR8Ji0hxbeoxxzSWdj5CWEvfiMXBVFi90USuUsdg4uwb8FAi7IjfW7ZcP6ueJK4vK2LJlrTuskzMXWHxxQZJIgoC+FsAbwIwBWAfET3AzC+K1zDzb7a9/tcBXNX2I0rMfKVb511PlKoN3LPvBN5y6SZsGpAzENmL154/CgD43ivz2Dnq3sY6Nzm+UEA0FOh5Y25nciSJ+XwVuXINaZf/B+/EXF4rkne6iQrGUlF8x0VhaTYZC/nKGcOJ7YykolgqVh3byCmm+jt1TzmVCsuVa9i2ps4VDwcRDpI0YVlpRSwbs8ZyLYBDzHyYmasA7gZwc4/XvwfAV1w52TrnweemkS3X8T4XohVA64LaPBDD46+cu3WWE4slbB9OdPUIW8sufXOfX6K42Wz3IrlgLB1FrlJHqdpw5UzZcg1NPrND6ozzpCJgXm3RlX59/QbcWVgiKNUaKNfk/rvIletIrymqE2ldcdIiFn1+yu2IxS/CshXAibbvp/THzoKIJgHsAvDNtodjRLSfiJ4kord3ed9t+mv2z83NyTq377ln3wnsHEngNbuHXbkeEeGancPYf3TxnK2zHF8strq9jLBdf63sBU5W6ZVyEjg5GNiJTlPo7QzrbcBiqFA2Kz2FRX4LMADkOwgLoNVD5KXCuv9eTuIXYTHDLQDuY+b2jw+TzLwXwHsBfJqIzlv7Jma+g5n3MvPesTHz2xLXI6/M5fHU0UW8+5odPT+dymbvziHMZCuO7rHwCmbGCZPCItxyT7m0U6Qfcz2K5ALx/KxL6TCx531tMVvQKmo7FLGs9ChyD8Yj+rXlCUut0USp1uiYGh2Ih6W1G4sU30aNWE4C2N72/Tb9sU7cgjVpMGY+qf/zMIBv48z6y4bl3n0nEAoQ3vHqjsGfY+yd1KKj/ccWXb2uGywXa8hV6q0oxAiDiTBi4QBOeeAY3AlDwtLyyHJHWFpOv12ERUQNTnRnAb0jliH92ksSRS2v3/A7RSxSU2H6z0lt0DmWfQD2ENEuIopAE4+zuruI6CIAQwCeaHtsiIii+tejAF4L4MW1791oVOtN/NMPp/DGi8fP2PfgBhduSiMdDWH/0SVXr+sGx/V0lpmIhYiwZTDuuImiEeqNJhYKlZZwdEP4dbk1yyIilqEuDQVOTKS300tYBoSoSYxYci1h6RyxyKyxpKOhM2xq3MAXXWHMXCeijwB4CEAQwJ3M/AIR3Q5gPzMLkbkFwN18ZvL+YgD/QERNaEL5yfZuso3KN1+ewXy+iluu2eH6tYMBwlWTQ+e0sGwf7j4D0oktA/HWIikvWSxUwQyM9eloG05GQORBxNLFe61V53CgOwvoXeQW6TmZaThxvU4RSyoaakU0dilU6khG3b/N+0JYAICZHwTw4JrH/njN9x/v8L7HAVzm6OHWIV956gQ2ZWK4/gJv6knXTA7hfzzyY6wUa61PfOcCLWEZMh6xAJr1+3cOet80Imom/SKWUDCAkWTENWFZKlYRChDSXW6CKf1T93LJuRpLJBhALHx2EkfYoeQkLhprRSwdft9UNIS8pI2V+Urd9TQY4J9UmEIiJ5dL+M7BObxr7zbXQ2DB1ZNDYAaemVru/+J1xNRSEaOpiOlPgVsG45jNVVCtNx06mTFEaqtfjQXQhhLdE5YaBhPhrk0mRITBuDPzJMCqUWOn6ycjIRBpcyeyEMLRKRWWioZQqTdRa9j/u5KvNDyJWJSwnIN8db/Wuf0Le7f3eaVzXLp1AADw7DkmLMcXi6YK94ItgzEwO79TpB9z2c47Tzrhpl/YcvFse5O1DCTCjhbvB7oMEQYChFQkJHU1cq5HKkwIQUFC1FKo1JGKureSWKCE5Ryj0WR8df8UXnf+qKUboCwG4mHsHk3imakVz87gBGZnWATCl2va45ZjMxGLm7YuS4Va18K9YDAedq7GUqr39NNKx+Slp4D24n3nVBgAKdfLl+tIRlTEorDJdw/N4+RyCe++xrtoRXD5toFzKmJpNBmnlsvYNmSucA+s7jjxujNsLldBOhZCLNz/U+yYbkTpxqDrkoGIZTARcbTG0muIMB0LS02FrUYsZ19zNWKxP+mvaiwKKdyz7ziGEmG8SV8V7CWXbxvETLbiefpHFnO5ChpN7ukK3A2xrdHrzjAjMyyCsVQU1UZTagqoG0vFqqGIxakaSz9hSTkQsURDAURCZ9+Ck3rqSsb1CtV6KwJyEyUs5xAL+QoefnEGP3/1Nkft8Y1yxXatzvLMiXMjajmlRxvdVvr2IhEJYSAe9nxIUizTMoITbbadYGYsFWtdhyMFMq1O1tI/YglJ7QrLlutdDUllpcKY2bN2YyUs5xD/+vQp1BqMd3lYtG/nks0DCAYIz54jdRYje0x64Ychydlc2XDEsjpx7szNXFCqNVCtNw2kwsLIleuoS+iWaqfZZOTKtZ62J6moXGHRnK67tFbH5BTvtc4yVhGLwjrMjHv3ncAV2wdx4aa018cBoG1P3DOewnMnzxFhERGLVWEZiHmeClvIV7ta069FDCuK3exO0W/qXjAo1vZKTs3lq3U0ubdRo1ZjkXfdfKWzASWAVrHdbsQihCkZUV1hCos8M7WCAzM5vNsn0Yrgki0ZvDSd9foYUji1XEYiErS822I8E3XN1LET1bq2zGrtOtxuiNSUTI+sTgjhMlK8B+Sn5kSnWS9hycRCkov33YUlJandWBT/Ux7sAFLCco5w7/4TiIUD+NkrNnt9lDO4ZHMGs7mKa/brTjK9UsLmgZhlp+ixdAwLhYr0VI5RhEAYFxZ3UmGiIN/vXAMOGVH2cjYWiKFFWQOuuXIN6Wjn68maYxERj5pjUViiVG3ga0+fwn+6bLPr9tj9uHhzBgDOiajl1Eq51TZshfF0FMzAgsOppW6InSdGhSUTCyNAbqTChLOxsVSY7FmWlk9Yj0hURBeyOsN6RSyRUACRYAA5ScKiivcKSzz43DRylbpvivbtnEvCMr1cMryOuBNi2n026030tmRSWAIBwmAi4nwqrGgyFSZ5lsXIMizRwSUrHZbr0RUGaAV8+6kwJSwKG9y7X9sSed0ud7ZEmmE4GcGmTAwvTee8PootqvUm5vIVbLYTseiiNJvzpoC/YFJYAOf2vbcjtkIOGoxYZJ+nl2W+ICXRiLLR5L6Di8lo0PaAZKEqUmFKWBQmOTpfwPePLOIX9m53dUukGS7enF73EctsrgxmrbPLKuMub2Vcy1KfZVqdGE5EWik0p8iWa0hGgggHe9+OMh4KS1qisIgbfqaXsETsD2QWq5owxQ24LMhGCcs65979JxAg4B1Xb/P6KF25eHMGh2bzqNTtW1R4hfD4shOxiDZfr1Jhrb3yJtYYuJEKE87C/QgGCJlYSPqQZK5cBxF6emqJQruMVFgvnzBBKmo/FVYSwqLajRVmqDe0LZFvuHAcm2x8knaaizdnUG8yDs7kvT6KZcTEvJ2IJRIKYDgZ8SwVtlioYiAeRqhPZNDOkAupsF6F7LUMJMLS243zFc2oMdBjxYTM4n0vnzBBUsJOllJNE5bERhYWIrqJiA4Q0SEi+miH5z9ARHNE9LT+55fbnruViA7qf2519+Te8Z2Dc5jJVnxZtG/nXCjgy4hYAC0d5lUqbLFQxYiJ+gqg1WMWi1VHjSizfabe28lIHlQExJbF3jdfmakwoxGLrFRYzAN7J19skCSiIIC/BfAmAFMA9hHRAx1WDN/DzB9Z895hAH8CYC8ABvAD/b3n3l7cNdy7bwojyQhuuGjc66P0ZNdoErFwYF0X8KeXS0jHQrYLoWMeCstSsdp19W83BhMRVOtNlGoNJByyX8+WaxhPG4sEZXt2AdogYb/OqdXivf3ozUgbsJxUWB2xcKBnJOYUfolYrgVwiJkPM3MVwN0Abjb43rcAeJiZF3UxeRjATQ6d0zfM5yt45KUZ/PzVWzs6pPqJYIBw4ab1PYF/aqVs2cqlnfF0DHMeuT0v5KumCvcAMJx0fkjSTCosHQu35k5kka/0dwCOhoKIhOzPlgCrtY9eNZ1kNGS7K6xYde7DQD/8ckfaCuBE2/dT+mNreQcRPUtE9xGRyP8Yei8R3UZE+4lo/9yc97vH7fIvPzyJetM/hpP9uGRzGi9OZ13Z7eEE0yslKXWs8Yy2ldGLfw9LRfOpMDE74uSQZLZkPBWWlmwGCeipMAM3YFnXFpFIr9pHKhpEvlJHs2n970mp1vCkIwzwj7AY4WsAdjLz5dCikrvMvJmZ72Dmvcy8d2xszJEDugUz4+59x3HVjkHsmfCH4WQ/LphIY6VUc23VrWyml8uW7PLXMp6OotZgx21S1sLM2pZGk8LitF8YM5uMWOR6dgF68d5AilNWGs5IUV2cp1izHrWUqg1PCveAf4TlJID2j97b9MdaMPMCM4u70mcBvNroe881vn9kEa/MFfDea3d4fRTD7BnXBPDQOuwMK9caWChULdvltyNqCW53huUrdVQbTQvFe2dTYaVaA/UmG2o3BrRUWL5Slxrxacuw+t+A07Ew8hJETaS4eomZDL+wYrXhSasx4B9h2QdgDxHtIqIIgFsAPND+AiJqd1d8G4CX9K8fAvBmIhoioiEAb9YfO2f58vePIxML4Wcv3+L1UQyzZyIFADg4u/6E5bToCJOUCgPcn2UR0+1Wivfa+52JWIx0SLWTjoXQ5NWOJxkYKd4D8nayFKva3Ey0R21URnuzl6kwX3SFMXOdiD4CTRCCAO5k5heI6HYA+5n5AQD/lYjeBqAOYBHAB/T3LhLRn0ITJwC4nZkXXf8lXGI+X8HXn5/G+14z6dmnESuMp6NIx0I4OLv+OsNarcYSIhaxvXHO5c6wRT2VZbrGEhcRizPCIny6DNdYWp5d8jYjGinea9cO4dhC0fb1itUGkpFQT6cMUfOxE7GUqg2Mpsz995aFL4QFAJj5QQAPrnnsj9u+/hiAj3V5750A7nT0gD7hq/unUGswfvG69ZMGAwAiwp7x1LockhRpq00DxhZk9WJE/x/daZuUtSwWNCEzG7GEggGkYyHHhiSzJiOW9rZfGc0UtYZmhW8oYpG0975YrfetfYjz5G1ESMVqHfGI/Q9DVvBLKkxhgGaT8Y9PHcN1u4Zx/vj6KNq3c8FEGofWYSpMpK3GDM5a9CIVDSHH2k6wAAAgAElEQVQSCri+n2ZRT4UNm2w3BjQPLad2za9a1huNWEL6++R0hplxAM5IanUuVPoX1WXsvS/XmoiHN3a7scIAjx2ax4nFEt73mkmvj2KJ88dTWChUsbDOOsNmc2XEwoGepoFGISKMpaKYz7sbsQgblMGk+X09TgqLqFkYn7yXuxfFzDKsZDSIYrVhu3HAyHyJcAIQhpXWrtM/MnIKJSzriC89eQwjyQje8qpNXh/FEqI1er1FLTPZCsbT1jdHrmUkFcFCwV1xXS7WEAwQ0hbqEgPxcKsWIpvVGovxAUlA3l4UIx1agkQkhEaTUbG5RdLIDX81YrHepKC6whR9mV4p4dGXZvCua7b7ftK+G3vG12dn2GyujImM/fqKYCQZwYLLEctSsYrBeNiSOGZi/kmFiRuurCFJM1sWk/pN2m5HWrHaQKLP9YQglCxGLE1dANWApKInX3nqBBjAe65ZX0X7djYPxJCMBNddxDKrRyyyGElFXU8HLpdqrZ3xZnE6FRYOUs/W23bSEj27gNUai5GusISE2RJAi1iSfSIJkSqzKmJeOhsDSljWBZV6A//4/WN4wwVj2DGS8Po4liEinD+RXnctx7O5Smv+RAYjqQjmC846Bq9lpVhrtQ6bZSAh359LIOxcjEZSWpuuvW6pdlrFewOWLkmbN/vVa/ZPUQUDhEgo0PIVM0vRw10sgBKWdcHXnpnGfL6KD71ut9dHsc16azkuVOrIV+pSI5bRZBTVelNaAdoIyyXzBpSCgXgY5VrTkUVtZuxcACAQIKSiIWldYXkTEYsoqMvYk2JEyBKRoGURK9e82x4JKGHxPcyMO797BBdMpPDa80e8Po5t9oynMJurYMVlryyrCIt7qTUWfZbFzTrLctF6KkwU1p1Ih2XLxrZHtiPTiHK13dhIV5iIWOxdu1Ax1q2VCFsXFvG+je5urOjC948s4sXpLD742l2+3WlvBmHtcmhufaTDZnSLe9k1FgCudoZpqTBrEYu48WdL8iMssxELoHWGSauxVM10hektwDY6tURXmZEbfjwSbEUeZhHip2osio7c+d0jGEqE8farOm0RWH+cN6YJyytzBY9PYgxHIhZ9+t2tWZZao4lcpY5BG8V7wKGIxYRlvkDmsq98pY5QwFjzwGqNxd5sCWAsQkpEQpavJYr3MZUKU6zl+EIRD780g1+8btKzvyCy2ToYRzhIODK/ToTFgYhlVEQsLgmLmBWxKiyrEYt8YbEWscixVgHEWuLevl2CRGto0d5sCWCsqB63UWMpVVVXmKILd37vCIJE+H9+Yn1O2nciFAxgx3ACR9ZRxBINBZCJy8tVDydFjcWdVNiyLggDVrvChLA40BlmZt+9ICUxFWbUgBJYLfDbtbIHjHWhJSLBVuRh9TpKWBRnsJCv4J59J/C2K7dgIiPv07If2DWaWjcRy0y2jPFMVGp9KxLS7GEWXDKiFAaSgza6wgD5qbB6o4litWG+eC8xFaZFLMZuvrFQEERA0YawCFEyErHY6QpTqTBFRz7/+FGU6w18+A3neX0U6eweS+LIQsHW2lW3mM1WMCExDSYYTUVdM6JcKek+YRYjFhFRyO7kM7uLRSBXWIztYgG0VudEOGgrFSZu+EYilng4ZHmORaXCFGeRK9fw+ceP4qZXbVqXLsb92DWaRLXexKmVktdH6ctMrix1OFIwmoq6VmNZjVisCUskFEA8HJSeCmvZuZhMhWViYVQbTcsdU+2YSYUB2vS9neJ9a9+9oeJ90PK1VLuxDhHdREQHiOgQEX20w/O/RUQvEtGzRPQoEU22Pdcgoqf1Pw+sfe9644tPHkOuXMeH33C+10dxhF2jSQDA4XVQZ5mTbOciGElFXItYWsJisd0YcMbWxWrEIsNSXlCo1A1FD4JkJGir3dhM7cNW8V4XXaNWObLxhbAQURDA3wJ4K4BLALyHiC5Z87IfAdjLzJcDuA/AX7Q9V2LmK/U/b3Pl0A5RqjbwuceO4PoLxnDZtgGvj+MIu8c0YfF7naVYrSNXqTsSsWgOxy5FLKUaiMzfwNvJxEPShaXlbGyhxgLIMaIUXWFGSdqMWMwU7+PhICr1JhoWUsalah3xcBCBgDezb74QFgDXAjjEzIeZuQrgbgA3t7+Amb/FzGIv6JMAtrl8Rle4d/8JLBSq+MhPn5vRCqCt501FQ74XFrHgy4kay0gyiqViFfWGPQt2I6wUqxiIh23dZDTrfLkDkma3RwpkWudrqTDjdYhkxF6rsxAlo8V7AJY6w7SdL96NKPhFWLYCONH2/ZT+WDc+BOD/tn0fI6L9RPQkEb290xuI6Db9Nfvn5ubsn9gByrUG/u7bh3DNziFcu2vY6+M4BhFh12gSh30uLK2pe0dqLBEwA0suWNssl6wbUAqcSIVZrbHISoUxMwpV48V7QKuN2DGhbO1/MdhuDFgbyCxVG57OvvlFWAxDRO8DsBfAX7Y9PMnMewG8F8CnieisVipmvoOZ9zLz3rGxMZdOa44vPnEMM9kKfufNF3p9FMfZNZrEkXl/m1GuTt07UWNxz9ZF8wmzXl8BnNnJYnZ7pEBEOHYdjkWayVQqLBKyNcdSqtZBBMTC/W+9cV18rHSGlWoqYgGAkwC2t32/TX/sDIjoRgB/COBtzNz6P5KZT+r/PAzg2wCucvKwTpAr1/B33z6E6y8Yw3W717/ZZD92jSYxtVRyxDFXFqs+YQ7UWJLuGVHKiFgycfnW+aLGkvKoeG/G2VhgZ7YE0Kb2E+GgsUl/G4vFVCpMYx+APUS0i4giAG4BcEZ3FxFdBeAfoInKbNvjQ0QU1b8eBfBaAC+6dnJJfO67R7BUrOF3N0C0AmgFfGbNtsavzOUqiIQClifWeyEiFjc6w5aLVcutxoKBeBi5ct1SIbkbuXId6WgIQZO1n5Skvferzsbmivd2J+/7bY8UxG0Ii0qFAWDmOoCPAHgIwEsA7mXmF4jodiISXV5/CSAF4Ktr2oovBrCfiJ4B8C0An2TmdSUss7kyPvvYEbz10k3nbCfYWkTLsZ/NKGeyZYyn5U7dC0ZdtM5ftrHkSyA6t2RZqQBajcVKp5qs9cSrEYuJ4r1eY7G6pM3IvntBIizWE6+/VJg30zMdYOYHATy45rE/bvv6xi7vexzAZc6ezln+6qEDqNQb+L2bLvL6KK4hhMXPnWGzuYpjdjqZWBihADleY2k0Gdmy/RrLQJt1vlVrmLXkLOxiAbTZjHCQJEQsxi3zBYlICHXd+t5KRFCoNAwPLSZsuClrAubdtllfRCwbmeemVvDVH0zhl167q3Wz3QikY2GMpaO+LuCLiMUJAgHCcDKC+ZyzEUuuXAOzdTsXgRN+YdmSeWdjQOsqTEVDtov3ZvbdC5I20lMAUKr133cviNtoNy5V+68/dhIlLB7CzPhvX3sBw4kIPnLDuTu30g2tM2xjRiyA5nLs9JCkXTsXgRNbJLVUmLVzpSRY51sq3tt0ODay7751LTs1llrDs7XEgBIWT/nXp09i/7El/M5bLjTdcnkusNvHwlKqNpAr1zHmUMQCaNP3iw6nwpZt7mIRiLXGMjvD8hVrEQsApKJh2zUWK8X7VGs9sXVzSKMWMqorTGGahXwFt3/tRVy9YxDv2ru9/xvOQXaNJjGfrzqymdAuszmt1djJiGUkGcWi4xGL9vMHbPiEae+XnwqzsuRLkI6GkK/YO0vegrC01hNbtHUpmCjet1JhJq8l1h+rVNgG5PZ/exH5Sh2ffMflptstzxX8XMCf0e1cnKqxAO6kwlYkRSwt63xJwsLMyHmcCludgjfTFWYvFaa1Gxu7XiQYQDBApiMW4fqsUmEbjG++PIP7nz6FX/vp83HBxLlni28UYUZ51IfC4k7EEkGuXEe17pxf2KqzsT1hSUSCCAVI2nriSr2JWoNtpMIkFO+rdcTCAYSCxm+DrYjFosNxsWrcTZlI2/9iVli83h4JKGFxnblcBb9337O4cCKN//ccXOJlhm1DCRABx3w4JOlKxKLPsjiZDhPCYnfIk4ik+oW1LPNNpKHakVW8N1O4B1Y9vqy0ADeajHLNXIoqHgmanmMRr497tIsFUMLiKs0m47fufRq5ch1//d6rEA1594nCD8TCQWzKxHBswZ8RSyQYsJ1C6kXL1sXBAv5yqYp0NGTqU3k3MlKFRfs5VlNh6aj9LZJmLfOBtlSYpYK6XtMxccO3sve+pFJhG4vPPHYYjx2cxx//50s2dAqsncmRBI4t+i9imc1WMObQ1L1A2Lo4GbGsFGsYTMoRR80vTI51vtUlX4JUNIRKvWkrjWh2yRegTd4D1vber0YSZiKWkIVUmL6lUqXCzn2+fWAWf/71l/HWSzfhvdfu8Po4vmFyOOnLVNhsrowJB+zy2xlOupAKK9VsbY5sx5FUmI3iPWC9iA5YS4XFQkEQWYtYxHuSJixktIjF3O9oRcBko4TFBQ7O5PDr//gjXLgpg7/6hSsc/RS83pgcTWA+X5GyZlYmMw6tJG7HDYdjGQaUgkwsJK14L1qFzd7YBTIcjguVhqmbPKA5JiTCQUuCthpJOOumrFJhG4CZbBkfvGsfYpEgPnfrXtM53XOdyWGtM8xvLsezWecjlkwsjKDDfmHLpZo0d2Zti6QcYbG6PVIgYz2xlRoLoE3fW/PvMt+tFQ+bL96vi64wIvLvwgyfc3qljFvueBKL+So++/692DIY9/pIvmNyRDPK81MBv1xrIFuuY9zBVmNA+/Q7lIg4X2ORFbHoO1msOvu2Y3XJlyAV1d5nJ2KxkgrTrh2y1G4sohzHI5Z1kgpTeRsLnFwu4ZY7nsBcroIvfOhaXLF90Osj+ZIdQlh8VMCfdaHVWDCSjDiWCmNmqTWWTCyMWkNrmbWL6Aozm4oSrO5ksR5BWY5YIkHL64LF+41ipXgvUmFmBEw2Rq4sb7PPBuFHx5fwX77wA1RqDdz1wWvx6skhr4/kWzKxMIaTEV8V8GdyYte9sxELIPzCnBGWfEVbzCUvYtFuF9lyzfan4XxZszax2gZtdydLs2l+371AW09so3hv4oavpcLM/Y5CiNZFjYWI/iepqnNPmk3GHd95Be/6hyeQiATxzx/+SSUqBpgcSfgqFSYiFqdrLIDWGeaUsMgajhSItJWMOosdnzCgbe+9VWsV/VO9mSVfgkTUasRSb73f8LUiQRRr5haLlap1EAGxsHcldDNXzgF4gIiSAEBEbyGi78k6CBHdREQHiOgQEX20w/NRIrpHf/77RLSz7bmP6Y8fIKK3yDqTGX5wbBE/93ffw39/8GXccNE47v+112KPmlUxxORwwlcRi7BzcborDNBTYQ4Li6zFXGIplwyH41zFuk8Y0NYVZjFiseJsLEhGrE39FyylwoJg1ixwjCIs872MAwz/W2XmPyKi9wL4NhFVAeQBnCUAViCiIIC/BfAmAFMA9hHRA2tWDH8IwBIzn09EtwD4cwDvJqJLANwC4FUAtgB4hIguYGbHmw5WijU8+vIM7t53Ak8dWcREJopPv/tK3HzlFtVSbILJkSTuf+YUKvWGL9wIZrIVhIOEIQen7gXDyShWSjXUGk2EJUzHt7Nc0gRLViqsfYukXXJla4VzQSKizZNYjVis7GIRiPXEZilW9EjCxN/xdut8oxsri1Vvd7EAJoSFiN4I4L8AKADYDOCDzHxA0jmuBXCImQ/r17obwM0A2oXlZgAf17++D8Df6Km5mwHczcwVAEeI6JD+856QdLYW8/kK/uT+F5At13ByqYQjCwUwA1sH4/ijn7kY77l2h2ontsDkSALMwNRSCeeNpbw+DmZzZYynY658OBB+YUuFqvSajiwDSoFY9iUlYrGZChNbJK3WWFoRi4UCdyISsjjHot3wAybczFeFpd4aqO2H19sjAXM77/8QwP/HzN8lossA3ENEv8XM35Rwjq0ATrR9PwXgum6vYeY6Ea0AGNEff3LNe7euvQAR3QbgNgDYscPa5HuACC+fzmIgHsaeiRRuvnIrrr9gFFdsGzT1l0VxJqLl+PhC0R/Ckq1g3IX6CtDuF+aAsOi1kAGJ7caAHOv8XLmGrTbb77WdLPYiFkupMD1iYWZTHz4KVeP77gXCSNLMLIvXS74Ac6mwG9q+fo6I3grgnwD8pBMHkw0z3wHgDgDYu3evpU634WQEj/72G2QeSwEtFQYAR31SwJ/NlVu7YpxmxEFbl5XWki85wiIiDD8U7wHd4dhyxCKK99YilnqTUW00TaVui9W66fbqRNj8Fkmv1xIDNuZYmHkawBslneMkgPY1itv0xzq+hohCAAYALBh8r8LHjCQjSEaCvingz2Sd3XXfzkhqNWKRzXKxhkQkKK1uFQ0FEQsHpBhRWh1ObCdlI2JZLd6b/3cjFoMVTbYcW6l9WFlP7IdUmBFh+RIR/QERTa59gplLks6xD8AeItpFRBFoxfgH1rzmAQC36l+/E8A3WevBewDALXrX2C4AewA8JelcChcgIkyOJH3RclyuNbBSqrkmLMNJLeW2kJdv66INR8ptQMjE7Nu61BtNFKsNW11hAJCKhZHzpHhvrdVZi1jMpsL09cQmjCiLtbqnw5GAgVQYM7+fiDZB68DaAeA5AF9lZml3Ab1m8hEADwEIAriTmV8gotsB7GfmBwB8DsAX9eL8IjTxgf66e6EV+usAfs2NjjCFXCZHEjgwk/P6GK5O3QNaYT1AzqTClos1DEhqNRYIWxc7iBuy3VRYOhrCySVrUa6tduOoWPZlPmIxK2SJiPlrldZLVxgznwbwPwGAiC4C8BtEFAfwbWZ+RMZBmPlBAA+ueeyP274uA/iFLu/9MwB/JuMcCm/YMZLAIy/NoNFkBD1shJhxYSVxO8IvzIlU2EqpKj1i0Ywo7aXC7O5iEdhNhRFZM2oU7zEdsVQapj+wnMupsLWcAjAD4PUA/oSI1kXxXuFvdo4kUWswpldkZVetMZN1V1gA3dbFAb+wZYkGlIJMLGQ7YpEmLDaK9/lKA8lIyFJL+WrEYu7aBRP77gWtVJiZrrCa911hpoSFiN4M4LsANgH4ADO/npkfd+Rkig3F5PBqy7GXuJ0KA5yzdVkuOSAsEpZ92V1LLEhFQyhUG2g0zTd5agaU1m6+QhzM+oVZiSQ2SsSyH5qgfIKZjzhxIMXGZHJUtBx7KywzLuy6X8tIMip9JwszY6VYw4AkZ2OBjOK9rIhFvL9gwbcrb6GQLmitJ7YSsVjYWAnAsBFlo8mo1Jvro8YiYOZFaIVzhUIqmzIxRIIBHFv0tjNMDEe6ackz7IBfWKnWQLXRdCBiCSFbrpseDmzHTkdWO+1+YWb3uhRstDsLcTAzfd9oausGzN7wAwFCPGzcQmbVMn99RSwKhSMEA4Ttw3Ecm/c4YsmWXa2vAJqwLBdrqDfs7zkRyLZzEWRiYTSabMkrSyAtFWbD4bhQMV/vELRSYSaHFgFrczPa3nuDwtJa8uVtu7ESFoVvmBxJer7wa8aFlcRrEUOSS0U5a3+Bdmdj+TUWwJ5fmN21xAI7O1nyFWu7WADNjj5A5iKWooXtkYJ4xPh64pIPdrEASlgUPmLHcALHFwpSVt9aZTZbccUuv50RfUhSZgF/uWXnIr/GAthzOM6V64gEA4bderthZyeLlgqzdn0iMr3sy84eejPriYs1IWBKWBQKAMDOkQQK1QbmHVrV249itY5cpe6aAaVguGVEKa+AL6KfoaT8ORbAXsSSr9RaaSw7tPbeW4hYrK4lFiSiQVMRi2gwsBaxhFqLyfrhh333gBIWhY8QZpTHPSrgtzZHuh2xCL8wiYIqdrEMSZ+8t29EKcOAErC3996uV1kyGjLVjWYrYgkHW6m0fqhUmEKxBmGff9SjAr4Xw5HAasQiNxUmdy2xQKTC7MyySBMWizWWeqOJSr1pK2JJmtzJIoTFavHecCrMhoDJRAmLwjdsG0ogQPCsgD+Tc2/XfTtDiQiI5DocLxWqiIeDtusYa2kV720JSw3pqH3BS1k0gxS1EVvCEg2a6gqzU7xPREPGu8JUu7FCcSaRUACbB+I47pHL8awescheuNWPYIAwGA9jUXKNxYnVyq2dLDas83PlupQaSzBASESCpmssOT11ZrV4D1iPWCynwgym3UQqTPYHCrMoYVH4ip2jCc+m72eyZcTCgdYKXjcZSUWld4UNSq6vAEA4GEAiEvRFjQWwZkQpJ2IJmZrlKdoq3gcN736xcx2ZKGFR+Aov97LM6K3Gbk7dC4aTEcnF+5r0jjBBJmbPOj9XrpmelO9GKhYyvZNFxuR/0nRXmM1241rDUBt+qda0fB2ZKGFR+IrJ4QSWijUpe9XNMptzfzhSMCLZ1mWpWMWg5BkWQSYesjzHwszIV+RFLOmoeYfjggxhsZgKs9KtlYyG0NBXIfejVNXWAURD3t7albAofEWr5diDdJjmE+ZufUUg2+HYCct8wYCNZV/FagNNtu8TJkjFrKTCrC/5EiSi2mxJ06CzcrFSRyISRMDCriEhRkam78X6Yy+i7nY8FxYiGiaih4nooP7PoQ6vuZKIniCiF4joWSJ6d9tznyeiI0T0tP7nSnd/A4VMdo7qLccepMNmsmXXZ1gEI8kIlopVSxbwa2k2GcvFqvQZFkEmZt06f9XZWFIqzELEIiUVFgmCGYa7tezsSDFjnV/ywS4WwAfCAuCjAB5l5j0AHtW/X0sRwPuZ+VUAbgLwaSIabHv+d5n5Sv3P084fWeEUO/S9LG7XWfKVOgrVhnepsFQUzKtWLHbIVeposnyfMIGd9cSrBpSyivdh0xGLnBqLOct+LWKxdr14xLhNvx92sQD+EJabAdylf30XgLevfQEz/5iZD+pfnwIwC2DMtRMqXCMRCWEiE8Uxl1NhXg1HCmQOSQpxcqIrDNC3SFqssYhCu4x2Y0ATqJxJkZORChODjkb9wgpV65FE0sTee5EK8xo/CMsEM0/rX58GMNHrxUR0LYAIgFfaHv4zPUX2KSLq+JGTiG4jov1EtH9ubk7KwRXOoHWGeSMsbvuECUZafmH2haXlE+ZgxJIr1wzXF9oRqTBZLd2i3diMcWmuUkckFEDERoF7dYuk8fkSt1JhXlvmAy4JCxE9QkTPd/hzc/vrWPvb0fVvCBFtBvBFAL/EzKJF4mMALgJwDYBhAL/f6b3MfAcz72XmvWNjKtjxM5PDCddrLKsriT2KWCT6hS05HrGE0WRrmxtl7WIRpGIhNE3UOgDNtDJts3nA7LIvK9sjBWb23peqDSQ2SsTCzDcy86Ud/twPYEYXDCEcs51+BhFlAPw7gD9k5ifbfvY0a1QA/B8A1zr/GymcZOdoErO5iunVr3aYzYlUmDcRy2oqzP70vUiFORexWJ++l7WWWNC+RdIodp2NgVVhMbzZ0UaKKhExXs8p1uqqxqLzAIBb9a9vBXD/2hcQUQTAvwD4AjPft+Y5IUoErT7zvKOnVTiOMKN0Mx02k60gEQlKa4M1i+jgkpEKW13y5UzEMmDDL0wIgKx/z0KgzAxJ2nU2BrSuMPGzjGAnYjGTCiuq4n2LTwJ4ExEdBHCj/j2IaC8RfVZ/zbsAXA/gAx3air9MRM8BeA7AKIBPuHt8hWx26rMsbnaGiZXEXvX/h4MBDCbCUor3S8UaiOQ7GwtWl32ZF5ZcWTub1bXAa7ESseQr9r3KViMWo11h9mssRlJhZZ+kwjyv8jDzAoA3dnh8P4Bf1r/+EoAvdXn/DY4eUOE6OzyIWLTNkd6kwQTDkqbvl4tVZGJhBC0M4xlBOBxbmWXJlrVowcqgYCesOBznK3XbtbTV4r1xO3vrwmKiK6ymIhaFoiOZWBgjyYirZpQzubJnU/eCkWQEC3n7NRannI0FrYjFYo1Flk8YsNq2bGYnS75sPxWWaLUb979uo8n64KK1a8bCARBpdi39UKkwhaIHO0YSrqXCmBnTK2VsHvBWWGTZuiwXqxhwqL4C2Nsima/UpNaxxF4XcxFLw3bxPhzU2pWN7GSxuyOFiJAI99//0mgyqvUmEmHPE1FKWBT+ZKeLsyyLhSqq9aYPhEWOdf6ywxGLEAYr0/cyLfOBtvXEJs6Sr9SknCEZMeZw3FryZUPM4pH+Nv1+WfIFKGFR+JTJkQROrZRQNjGfYJXpFa3VePNA3PFr9ULzC7M2eNjOkoM+YQAQCgaQilqbvpctLGIC3mjEUm80Ua41pTQPGN17v2ohY/2Gn4gE+6bCRCNBTAmLQtGZnSNJMANTS85HLaeWSwDgecQykoqg0WTbKwOcdDYWZGIhixFLDSmJNZZoKIhIKGC43VgU22VYyhi1zm8tFrMhZkb23per+i4WH3SFKWFR+BIxy3J03nlhOa3buWwe9DoVZn+WpVpvIl+pOxqxALoRpcWusIG43BqAmZ0s+ar96EGQjPa/2QNyTC+NCIuInpISfje7KGFR+JLWLMuiGxFLGeEgYTTpbbvxiH59O51hItpxPGKx4HDMrEVjsudrzOxkWR3QtH+GpMG1yFL2v0RCfWdm/LKWGFDCovApg4kw0rGQK51h0yslbBqISZutsIoMh2OnnY0F2k4Wkwu2qg00miy13Rgwt5MlX9HEUFYqzMgu+tVIwk7xvn/EkhcpN4/cI9pRwqLwJUSEnSNJV2ZZppfL2JzxtnAPaDUWwF4qzGlnY4G2nthcxCKiKekRS9T43ntx85WRCktEg6aK93aaFhKRYF+jzWJFpcIUir5MujTLMp0teV5fAVb9wuxELEstA0pnI5aBuPktklmHhCUdMxGxyEyFGS7ey0qF9aux2G8SkIUSFoVv2TmSxNRSCbVGs/+LLdJsMk6vlD1vNQaASCiATCxkS1hWis7cvNcyGI8gX6mb+m/jZMRi2AxS4qd6rd3YSPFeny+x0a2ViARbEUk3VmssKmJRKLoyOZJAo8k4uVRy7BrzhQpqDcYWH0QsgLaieN5G8b4VsSSdjVhEc4CZdJgQloyHxQtJ18QAAB9uSURBVHuRMktLiViCqNabfcW1UKkjGQnaquElIkEUa42eC83yEiIjWShhUfiWnaPOd4ad1ocjN3nsEyawa+uyVKwhHKSWrbtTCGERNR0jOBexhE2nwmRFLAD6FvBl7H+JR4JgBir17iJWrDQQDBCiNjZjysL7EygUXZgcFi7HztVZTi1rwrJl0PtUGGBfWBYLFQwnI47b/4uus5WS8bNmHYpY0rEQqo0mKnVjHVqxcAChoP1bX2vqv08BX87+l/4Ox4VqHYlI0LPVD+0oYVH4lrF0FPFw0NEhyekVf0zdC0ZsWucv5KuteRgnGdTFYdlExJItabtY7K4FXku65RfWP2rJSXA2FqxGLL2vKytiET+rG8VKwxeFe8AHwkJEw0T0MBEd1P851OV1jbYlXw+0Pb6LiL5PRIeI6B5926TiHICIMDmSwFEHI5bplTIioUBrhsRrRlIRLBWqPXPpvVgoVFtty04iUmFmhGWlVEMmFpY+L2RmJ0tBQvQgEDfxftctVBq2U2+tZV89Wo7z1XrLzt9rPBcWAB8F8Cgz7wHwqP59J0rMfKX+521tj/85gE8x8/kAlgB8yNnjKtxk91gSh+fyjv18YZfvh/QBoDkc15tsyeARABYKFYy4IJKDce0ayyaL9xnJdi7AqrAY2ckiY3ukwOjee5mpsN4RS11FLG3cDOAu/eu7oO2tN4S+5/4GAPdZeb/C/+weTeHEUgnVHkVLO0wvl3yTBgPQEoX5grXOsMV8FcMupMLSsRACtDrpbwQn7FyANut8AxFLvizv5pswuPfezr57gXh/r42Vhar9yEgWfhCWCWae1r8+DWCiy+tiRLSfiJ4kIiEeIwCWmVn8l50CsLXTm4noNv39++fm5qQdXuEsu8eSaDQZxx3qDJteKWOLD2ZYBHZsXcq1BgrVhiupsECAMBAPm6uxlOuOCEtr2ZfRiEVSKizVilicr7EYSfcVq/6JWFw5BRE9AmBTh6f+sP0bZmYi6pZcnmTmk0S0G8A3ieg5ACtGz8DMdwC4AwD27t1rb+GFwjV2j6UAAIfn8jh/PCX1ZzeajJls2RdT94KWw3HevLCIor8bqTBA6wwzmwqbyMj9bwiYi1iy5Rou3JSWct3V9cTOp8LSBn7HQqWBxOgGEhZmvrHbc0Q0Q0SbmXmaiDYDmO3yM07q/zxMRN8GcBWAfwIwSEQhPWrZBuCk9F9A4Rm7x7RZlsPz8gv48/kK6k3GJh9FLCLasBKxCFfkkZQ7Ls1axOKDVJiosRgRFolnMFL3kLVYTEQ8vTZlikFMP+CHVNgDAG7Vv74VwP1rX0BEQ0QU1b8eBfBaAC+y1jrzLQDv7PV+xfolEwtjNBV1pIA/pU/0b/VhxLJoocYiIha3OtwGE+b8wkRXmGyMths3m4xcpY6MpOK9NjPSW1haS75s1j7E+3tZyBSrDV9Y5gP+EJZPAngTER0EcKP+PYhoLxF9Vn/NxQD2E9Ez0ITkk8z8ov7c7wP4LSI6BK3m8jlXT69wHK0zTH7EIrZTbh9KSP/ZVomGgkhHQ5i3kApb1N8z6kKNBdBmWZYMRizlWgPVelP6cCQAREMBhALUssTvRq5SB7O8AU0i0lY09xC01cVi9m74rU2ZXa7FzChU61Jcm2Xgubwx8wKAN3Z4fD+AX9a/fhzAZV3efxjAtU6eUeEt540l8dALM9J/rohYtvlIWABgOGVt+n5Bj3Lci1gihov3TjkbA/oN3oDDsROT/5lYuGebswxnY0E6GuoqnuVaE8xAwgc+YYA/IhaFoie7R1NYLFRN5fONcGKxiNFUpDXV7Be06XtrqbBIKCCt66kfgwntplo34HDslE+YwMhOlpYJpsR0XDoW6rlJU8ZaYkGyx0KzlgGlT/4uK2FR+J5duhnlK5LTYVNLJd9FKwAwno5hNmtBWPJVjLjgEyYQti69UkECp5yNBUa2SAoBkClumXi4p8OzzIhFWw/Qucbip7XEgBIWxTqg1RkmuYB/YqmI7cP+E5aJTBQz2bLp9y26ZOciEEaURuosTkcs6Vio7+T9aipM3s03Ewv3FFaZ+1+09QCdRUxWk4AslLAofM/24QRCAZLactxoMk4tl7BtyD+txoLxTAzZch3lPqto17KQr7gydS8YMOEX5rSwaDf43ucQNjlSI5ZYCLmeqTCxCllWjaWziImIxQ+7WAAlLIp1QDgYwI6RhNSIZSZbRq3BvuoIE4ynNXEwmw5bKFQx6qKZ5pAJ63yxt2Uo4YywDCT6uwA4kY5zMxVmpMaiUmEKhQl2j6ZwRGLEckK3iNk+7L+IZUJfOjaTM5cOW8hXXXVpNmOdv1SoIhggR+ZYAE3k+jV3ZMuabX9K4s03E9OaBprNzmYeMov3WiqsW41FpcIUCtOcN57E0fmioQ4kI5zwaasx0CYsJuospWoDpVoDw67WWDSRMNIavVCoYigh3zK/dZZ4GIVqo6dZadYB2/50LAzm7su+CpU6QpK2OvZqN25FRipiUSiMc8F4GtVGU9qa4qmlIojgm1337UxktFTYjIlU2Kwe3Yyn3ft9MrEwQgEyJCxis6VTDCaFjX/3szhh2y9+XrfGAWFAKaNTLxkNoVxrotbhw5WIWBKq3VihMI4wDvzx6ZyUn3disYRNmRiiIX/8j9jOQDyMSCjQEgsjCBESouQGgQBhOBkxZJi5VKi1ajJOINJyKz3Sck64K4vUXrc6S84BN+VOFjJ5ibUcGShhUawLzh9PgQg4MCNHWI4vFnzZagxok+Tj6aip4r1Im4k0mluMpKKGhjkXChVHW6GHWq3P3YXFCa8y0QjQTViypbq0ZoFeLs7Fah1BSSk3GfjjFApFH2LhIHaOJPFjScJyZL6A3frgpR+ZyMRM1Vhmc3rE4mIqDNB8yeYMRCyLBWcbC1ZXJXc/i0xnY4EwwOw2y5It16SZXqZ77GQpVBq6KaY/NqEqYVGsGy6YSOFlCamwbLmG+XwVO30sLONpc0OSs9kyoqGAI6t/ezGairbs+rvRaDKWSzUMO5kKMzBTo93knUmFdZtlyZZq0iKWVev8zhGLXwr3gBIWxTriwok0js4XTA8OruWo3ra8y8fCMpGJtaIQI8xkyxjPRF3/xDpioMayXKyC2VlzTOEC4H7xvk+NpVyXJmYiFdbJE61QabQWj/kBJSyKdcMFm9JoMvCKzUHJI+tAWMYzUeTK9b5rbwUz2YrraTBAq7GUao2e5xSWL8MOLiBLRoIIB6lrjaVSb6Bca3qTCpMkZukexXsnojE7KGFRrBsunNA7w2zWWY7MF0AE7PBp8R5YrZUYLeDP5MquF+6B1Y2XvaIW8ZyTqTAiwkC8u42/sHORbYIZDgYQDwc7psKaTUa+Ij9i6ZQKy5brLZHzA0pYFOuGnaNJhIOEA6ftRyxbBuKIhf2TOliLEInTBussc9kKxl1sNRaM6VHIXI86y6JLmy2HEt1XJTvhbCzIxEMt4WpH9mKxZI/ifa4sr5YjA8+FhYiGiehhIjqo/3Oow2t+moiebvtTJqK36899noiOtD13pfu/hcINwsEAzhtL2Y5Yjs4XWo7JfmWzPrh5arnU97WFSh25St3V4UiBkYhlUb/ZO+28PNjDLyzrwC4WQbqLAaa4pqxIQhTnOw1jZkvyIiMZeC4sAD4K4FFm3gPgUf37M2DmbzHzlcx8JYAbABQBfKPtJb8rnmfmp105tcITLphI44CNzjBmxuH5AnaO+FtYtg5qHmYnl/oLS6vV2IOIZUSPWHp1homVyYMOGVAKBhMRLHcpoju5DybTZdmXeEzWDT8YICQjwR41FpUKa+dmAHfpX98F4O19Xv9OAP+XmeV4eyjWFRduSuPkcqmnVXkvFgtV5Mp1XxfuAW1uZzQVba1P7oVXw5GA1hUGaF5g3VgoVJGOhhx3ORiMd0+Frdr2y7/5ZuKd1xOv1nXkXVMzojzzWuWa5pGmUmFnMsHM0/rXpwFM9Hn9LQC+suaxPyOiZ4noU0TU8WMbEd1GRPuJaP/c3JzNIyu8YrWAb63OIrZQ7vJ5KgwAtg7FcdJAKszLiCUWDiIVDWGuR2v0UrHqijlmr1TYki58TtjKpGOdrfNlRyyAVmdZ224sRG3DRSxE9AgRPd/hz83tr2NmBtDZf1r7OZsBXAbgobaHPwbgIgDXABgG8Pud3svMdzDzXmbeOzY2ZvdXUnjExVsyAIAXT61Yev+B01kAqwLlZ7YNGhQWPWIZ9yBiAbTp+14Ry2Kh6qhPmGAwEUGp1ug457RYqIJodd5FJloq7OyIxYnlZukOO1mEgKV9VGNxReKY+cZuzxHRDBFtZuZpXThme/yodwH4F2ZufTxoi3YqRPR/APyOlEMrfMmWgRhGkhE8d9KasLx8Ood0LITNA/5zNV7LtqE4Hn5pBs0m97R6n8mWEQsHWnMObjPSZ/p+sVDFJhdET9RwVkq1szr+FnRxCzpg2y+WfTHzGQOqrShJYjdcJh5uCZagFbG47LrQCz+kwh4AcKv+9a0A7u/x2vdgTRpMFyOQ9l/07QCed+CMCp9ARLh06wCenbIaseRw0aa0bzyVerF1KI5qvYn5PiaPp5bL2DIQ9+x36jd9v1ioSr25dmPViPLsszjpVZaJhVFvcsu6XrBUrCESDCAp0cp+MBE5S1ic7Hizih+E5ZMA3kREBwHcqH8PItpLRJ8VLyKinQC2A/iPNe//MhE9B+A5AKMAPuHCmRUectnWARyczZu2dmFmHJjJtSz4/Y7oDOtXwJ9aLmHrkHebMEdSUcx3iViaTcZcrtJat+wkvTZaLjgoLMPJzgvPlgpVDCbCUgV/MB4+SzhFxOKnVJjnwsLMC8z8Rmbew8w3MvOi/vh+Zv7lttcdZeatzNxc8/4bmPkyZr6Umd/HzPIWoyt8yWXbBtBoMl6czpp636mVMnLlOi7clHHoZHIR2y37tRyfXCq2RMgLxtJRLBarHRdQLRarqDfZlY614R4zNYuFaquDTfp1k9HWNdpZKsoXs6GElgprX4XcahJQqTCFwjqXbR0AADxvss4iCvcXrZeIRY9CehXwy7UG5vNVbPMwYtk8EAMzOppmnl4RrdDORywtF4AOC9KcTIWJn9tJWGQ3LQwmImDGGXMzIkJzwlXAKkpYFOuOzQMxjKYipusswnL/gnXQEQZoGwMH4uGeEYtIk3mZCtukN0KcXjn7nK2VyS5ELEOJCEIBOsteptFkLBWdi1i6zfJotSW5N3vRoNButrlYqCAWDiChbPMVCusQES7bOoBnTiybet+B0zlsGYj56pNdP7YOxjG11H0WWEQzWwe9M9QUHXbTK2dHCmJlshtdYYEAYTQVPWumxmnbfpGCW1ojLMtF+euYxc9rHwRdLDi768YKSlgU65K9O4dxcDZ/VvqhF89NreCSLeujviLYMZzAscXuwnJ8QRv43D7sZSpMu/bpDsIiHhtzoXgvrrM2JSe+H3PISy0dDSEcpDMilqYeJckWs04LzdwaQDWDEhbFuuTaXcMAgH1HFw29fqlQxeH5Aq6ePMvj1NfsHkvi+EKxY2EcAI7MFxELBzzZxSLIxEJIRIIdI5bZXBmjqQjCQXduNWPpsyMWYXmzacAZcSMiDCcjWGxrC8+V62iy/IHMTgvNFlwaQDWDEhbFuuTybQOIhALYd8SYsPzoxBIA4Ood601YUqg3GSe6RC1HFzRDzV4DlE5DRNg0EMN0hxrLqWV398SMdUiFCWFx0v15OBk9I3oWs0ey6zpDosZSaItYHGxMsIoSFsW6JBoK4srtg3jKYMTyw2PLCAYIl28bcPhkchFmmYd1j7O1HJ0v+MJQc+tgvGOTwYmloqsL1cYz2kxNo60d9/SK8FJzTlhGkhHMt7U5z6w4YwyaiYURoDM70JzseLOKEhbFuuW6XcN4/uRKx8VHa/nh8SVcvDntq84ZI5ynm2Uenj97PKveaOL4YhE7fSAsnWpBzSZjaqmE7a4KSwxNxhlRy+lsGSPJCCIh525345loy7MN0DZ6AvLbrAMB0utI2s+v1BvIV+qqeK9QyOLaXcNocv86S73RxNMnlvHqdZYGA7Sc+mgq2tHN+fhiEfUm+yJimRxJYLlYw0pbUXkuX0G1/v+3d//BUdd3HsefryTEhJAQE2gIv8FGBHQUQSri0drqHbWdoj2d6lnr9Dw9ncOr13Puete5uzrT6VzH02tnzrmbnnq1o61n0Q5a689qtdc7BbTyM4CAP8hPIhBDICFA3vfH97PJgkvIht397sL7McNk95vvfvf9hWHf+/n1/vQzJYdToRPreZJn0rV39WZ9uvPEseW07xtsKWWzlVRXVTYw2y7RJZaLkjnp8MTiCtaCaTWUjSri5cah6pbClvZ9HOg7UnAD9wmz6ytpTFFlILEuZ3YeVBKYWhMlt/f3DHbZJcaFctlimRKqFSSXwWnv6mVClhdo1leXcaTfBloS7V29VJ5RMrCdcCZ9orJsYNxod5bGck6WJxZXsMpLi1nSMJ6XGtuJdlxI7XfbPgQGZ5IVmjn1VbzT3v2xmWGbW7soEjTUjYkpskHTaqMP9Pd3D7YUPoghsaRqsTR39lCf5ZI3E8OU65bOwcRSl6UK2nVVg1OqE+83Ic+qdXticQXtijl1tH7Uy4bm49cNe3VrB7PqKgfWWxSa2fVV9B3pZ3vH0d1hjW37mDl+zMdKxMchkVje+3CwxfLuh/spLlJOy80cu/Pm3v19dB44xMwsdxdOGFgkGr1vW1dv1srY1FWVsWd/HwcPH6E5JNA4Ky+k4onFFbTPza6jSPDipraUv9/Xe4jV7+7l07MKd3O3cydFXV3rdh5dwmZTS1fe1D0bXVrClJryge45gMbWfcwcV5H1LYmPNfnM8oHEsiMkumyPQ008ZpFo20e9WVtblEhYu7oO0tzZQ2lJEeMqcr976FA8sbiCVlNRyoJpNTy7oS1ld9gLG9vpO9LP0nMnxBBdZpw1fgxnjh511NTqpr0HaO7sYX4ejRvNrR97VMXpzW1dnFOf+/GfGeMq2LYrat0lWlDZnjlXVV5CRWkxTXt76D54mNaPepmZpe2vExMR2rt6ae7sYVJ1eazrmFLxxOIK3lXzJvHOrm7e+uDjtcNWrm1hUnU586ZUxxBZZkhiwfQaViUtBk3MhMuncaM5E6t4b/d+ug8epqv3EE17e2JpUc2pr6Ktq5fd3QcHuuMSg/rZIomGuko2t3UNJLWGLBU7nVEbJaztHd007+2JdcuE4/HE4gresgsmMuaMEh763btHHd/e0c1rWzu4Zv7kgtgxcigXz6zlgz0HBr6B/9/23VSWlXBOHswIS5g7sQqzaDuD9aHy9JwYWixzQz24jS1dNLZ2Ma12dFbXsCTMmVjFppYutrZH3YENn8jOpIqpNaMZXVpMY+s+mjyxpCbpWkkbJfVLWjDEeUslbZG0TdK3ko7PkPRGOP7fkvJr3p3LuoozSvjaomk8s66VjS2D4xD3v7yN0uIivnrxtBijy4xEV97Ta1voPXSEZze0cfnsuqzs4T5SF82oYVSxeGXzLl7evIvS4qJYWlRzJ0bVFd7e2ckb7+5h0czanLzv7PoqunoP8+rWDkpLirJWcaCoSMyaUMlzG9rYvb8vLwurxp5YiPao/zLw2vFOkFQM3A98HpgDXC9pTvj194F/NbNPAnuBm7MbrstHty6ZSW1FKX/9+Fo6D/Tx3IY2nvx9M7csmZGzyrrZNKm6nIXTa3hs9U5+tuoD9vUe5up5k+IO6yhVZaO4eGYtv1zXynMb2rj4rNqsrOM4kbGjR3HOhErue3Er3QcPs/iT43LyvomW0jPrWjlv0lhKslh4c3bo7gO4tCE395eO2BOLmTWa2ZYTnLYQ2GZmO8ysD3gMWKaof+OzwIpw3sPAVdmL1uWr6tGl3PeVC9jRsZ9Pfe/X3PbIm1wwpZrllzXEHVrG3PVHs2ju7OHupzdx0fQzc/aBmY7rF06lubOH5s4e/mThlNji+Pri6QOPF5+Vm7+n8ydXDyxUvOmS6UOffJKuPLd+4HG2p1KPRKEUTpoE7Ex63gR8CqgFOs3scNLxlF/jJN0K3AowderU7EXqYvPps8ez4vZF/HxNE3VVZ3DTJdMpL41/jUemLJxRw49unM+Gli5uvHhaXnWDJVx5Xj3/cu35HDrSz9KkD79cu3reZHbv72Pp3AmMHZ2bjd2Ki8SK2y/h6bUtXJnlWYiXNozjidsvAcjL8UMNtWI5Y28ivQSk+pv+tpmtDOf8BrjLzNakeP01wFIz+7Pw/EaixPId4PXQDYakKcCzZnbuUPEsWLDA1qz52Ns455wbgqQ3zey4Y+EJOWmxmNnlJ3mJZiC5XT05HNsNVEsqCa2WxHHnnHMxiX2MZZhWAw1hBlgpcB3wlEXNrVeAa8J5NwErY4rROecceZBYJF0tqQlYBDwj6flwfKKkXwGE1shy4HmgEXjczDaGS/wt8E1J24jGXB7M9T0455wblJMxlnzjYyzOOZe+4Y6xxN5icc45d2rxxOKccy6jPLE455zLKE8szjnnMuq0HLyX1AG8fxKXGAd8mKFw4lDo8UPh34PHH79Cv4c44p9mZifcNe+0TCwnS9Ka4cyMyFeFHj8U/j14/PEr9HvI5/i9K8w551xGeWJxzjmXUZ5YRuZHcQdwkgo9fij8e/D441fo95C38fsYi3POuYzyFotzzrmM8sTinHMuozyxpEHSUklbJG2T9K2440mXpIck7ZK0Ie5YRkLSFEmvSNokaaOkb8QdU7oklUlaJWltuIe7445pJCQVS/q9pF/GHUu6JL0nab2ktyUVZDVaSdWSVkjaLKlR0qK4Y0rmYyzDJKkY2ApcQbQF8mrgejPbFGtgaZC0BOgGfnKiXTbzkaR6oN7M3pJUCbwJXFVg/wYCKsysW9Io4H+Ab5jZ6zGHlhZJ3wQWAFVm9sW440mHpPeABWZWsIsjJT0M/NbMHgh7VI02s86440rwFsvwLQS2mdkOM+sDHgOWxRxTWszsNWBP3HGMlJm1mtlb4fE+or15JsUbVXos0h2ejgp/CurbnaTJwBeAB+KO5XQkaSywhLD3lJn15VNSAU8s6ZgE7Ex63kSBfaidSiRNB+YBb8QbSfpCN9LbwC7gRTMrtHv4AfA3QH/cgYyQAS9IelPSrXEHMwIzgA7gv0J35AOSKuIOKpknFldwJI0BngDuNLOuuONJl5kdMbMLgMnAQkkF0y0p6YvALjN7M+5YTsKlZnYh8HngL0IXcSEpAS4E/t3M5gH7gbwa8/XEMnzNwJSk55PDMZdDYVziCeBRM3sy7nhORui+eAVYGncsaVgMfCmMUzwGfFbSI/GGlB4zaw4/dwG/IOrmLiRNQFNSS3cFUaLJG55Yhm810CBpRhgsuw54KuaYTith4PtBoNHM7os7npGQNF5SdXhcTjQZZHO8UQ2fmf2dmU02s+lE/wdeNrOvxhzWsEmqCBM/CN1HfwgU1CxJM2sDdkqaFQ59DsirCSwlcQdQKMzssKTlwPNAMfCQmW2MOay0SPoZ8BlgnKQm4J/M7MF4o0rLYuBGYH0YowD4ezP7VYwxpaseeDjMMiwCHjezgpuyW8DqgF9E31EoAX5qZs/FG9KI3AE8Gr7k7gC+HnM8R/Hpxs455zLKu8Kcc85llCcW55xzGeWJxTnnXEZ5YnHOOZdRnlicc85llCcWd1qTZJLuTXp+l6TvZOjaP5Z0TSaulQuS/jfuGNypwROLO90dBL4saVzcgSSTlPM1ZmZ2Sa7f052aPLG4091hor3D/+rYXxzb4pDUHX5+RtKrklZK2iHpnyXdEPZZWS/prKTLXC5pjaStoc5WogjlPZJWS1on6c+TrvtbSU8Bm8Iq8WfC3i0bJH0lRYy3hOuslfSEpNHh+FmSXg/xfDcp9jGSfi3prfC7ZUnXSr6/3yTt9/FoqHrg3LB4YnEO7gduCOXIh+t84DZgNlE1gLPNbCFRKfk7ks6bTlSL6gvAf0gqA24GPjKzi4CLgFskzQjnX0i0P8vZRDXEWszs/LB/TqoV4k+a2UVmdj7RNgI3h+M/BH5oZucR1ZZK6AWuDkUYLwPuPU7SmAfcCcwBZhJVPXBuWDyxuNNeqJD8E+Av03jZ6rA/zEFgO/BCOL6eKJkkPG5m/Wb2DlHpjXOI6lN9LZSleQOoBRrC+avM7N2ka10h6fuS/sDMPkoRx7mhlbMeuAGYG44vAn4eHv806XwB35O0DniJaOuHuhTXXWVmTWbWD7x9zD05NyRPLM5FfkD0bT95X4vDhP8jkoqA0qTfHUx63J/0vJ+ja/AdWzPJiD7c7zCzC8KfGWaWSEz7B04020rUglkPfFfSP6aI+8fA8tAyuRsoO8F93gCMB+aH0v3tx3lN8v0dwesKujR4YnEOMLM9wOMMdiUBvAfMD4+/RLTbY7qulVQUxl1mAluICpneHrYAQNLZqTZqkjQROGBmjwD3kLo0eiXQGq51Q9Lx14E/Do+vSzo+lmg/lUOSLgOmjeCenBuSfwtxbtC9wPKk5/8JrJS0lmh8Y3/KVw3tA2AVUAXcZma9kh4g6lp6K4xvdABXpXjtecA9kvqBQ8DtKc75B6LutI7wszIcvxN4RNK3Q+yJbrRHgadD19kaCqhkvyscXt3YuVNQmB3WY2Ym6TrgejNbdqLXOZcJ3mJx7tQ0H/i30CLqBP405njcacRbLM455zLKB++dc85llCcW55xzGeWJxTnnXEZ5YnHOOZdRnlicc85l1P8DAeaXvjs3NJ4AAAAASUVORK5CYII=\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["fig, ax = plt.subplots()\n", "ax.plot(x, y)\n", "ax.set_title('Use like this')\n", "ax.set_xlabel(\"Numbers again\");\n", "ax.set_ylabel(\"$\\sqrt{x}$\");"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Plot multiple lines into one canvas\n", "* Call `ax.plot()` multiple times"]}, {"cell_type": "code", "execution_count": 59, "metadata": {"slideshow": {"slide_type": "-"}}, "outputs": [], "source": ["y2 = y/np.exp(y*1.5)"]}, {"cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["fig, ax = plt.subplots()\n", "ax.plot(x, y, label=\"y\")\n", "ax.plot(x, y2, label=\"y2\")\n", "ax.legend()\n", "ax.set_title(\"This plot makes no sense\");"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 4\n", "<a name=\"task4\"></a>\n", "\n", "* Sort the data frame by the virtual proccesses\n", "* Plot `\"Presim. Time / s\"` and `\"Sim. Time / s\"` of our data frame `df` as a function of the virtual processes\n", "* Use a dashed, red line for `\"Presim. Time / s\"`, a blue line for `\"Sim. Time / s\"` (see [API description](https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot))\n", "* Don't forget to label your axes and to add a legend\n", "* Submit when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 61, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["df.sort_values([\"Virtual Processes\", \"Nodes\", \"Tasks/Node\", \"Threads/Task\"], inplace=True)"]}, {"cell_type": "code", "execution_count": 62, "metadata": {"exercise": "solution"}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEKCAYAAAAB0GKPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xl8VdW5//HPQwgJCIqSaJHBgOIAgoFGxOKQioiiFfWK0ksVbr1X2+rtVaut3taK/sSrVdFarcNVXmC1WpwqdWSoQ/WqGChaBJSoKFCUQUAZJfD8/lj7kJPknOSQ5OScJN/367Vfe5+19vDs7OQ8WXtY29wdERGRurTJdAAiItI8KGGIiEhKlDBERCQlShgiIpISJQwREUmJEoaIiKRECUNERFKihCEiIilRwhARkZS0zXQADVFQUOBFRUWZDkNEpFmZO3fuGncv3N3lmnXCKCoqoqysLNNhiIg0K2b2aX2W0ykpERFJiRKGiIikRAlDRERS0qyvYYhI49u+fTvLly9n69atmQ5FGig/P5/u3buTm5vbKOtTwhCRKpYvX06nTp0oKirCzDIdjtSTu7N27VqWL19Or169GmWdOiUlIlVs3bqVLl26KFk0c2ZGly5dGrWlqIQhIjUoWbQMjX0cW2XCWLAAfvlLWLs205GIiDQfrTJhLFkCN94In32W6UhEJJGcnByKi4s5/PDDGT16NJs3b27wOu+9914eeuihBq/n4osvpri4mL59+9K+fXuKi4spLi7miSee4Ne//jWzZs1q8DYSuemmm3jkkUfSsu5UtcqL3gUFYbx6dWbjEJHE2rdvz/z58wEYO3Ys9957L5dffvmuenfH3WnTJvX/eX/0ox81Smx33303AEuXLuW0007bFSfA2Wef3SjbSOSll15i2rRpaVt/KlplC6Mw6kFFCUMk+x177LGUl5ezdOlSDjnkEM4//3wOP/xwli1bxowZMzj66KMZNGgQo0ePZuPGjQBcddVV9O3blwEDBnDFFVcAMGHCBG699VYASktLueyyyygpKeGwww7jnXfe4ayzzqJPnz786le/qnes48eP54knngBC10VXX301xcXFlJSUMG/ePEaMGMGBBx7Ivffeu2uZW265hSOPPJIBAwZw7bXXJlzvV199xTfffENhYdXun1599dVdLZyBAwfy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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["fig, ax = plt.subplots()\n", "ax.plot(df[\"Virtual Processes\"], df[\"Presim. Time / s\"], linestyle=\"dashed\", color=\"red\")\n", "ax.plot(df[\"Virtual Processes\"], df[\"Sim. Time / s\"], \"-b\")\n", "ax.set_xlabel(\"Virtual Process\")\n", "ax.set_ylabel(\"Time / s\")\n", "ax.legend();"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Plotting with Pandas\n", "\n", "* Each data frame hast a `.plot()` function (see [API](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html))\n", "* Plots with Matplotlib\n", "* Important API options:\n", " - `kind`: `line` (default), `bar[h]`, `hist`, `box`, `kde`, `scatter`, `hexbin`\n", " - `subplots`: Make a sub-plot for each column (good together with `sharex`, `sharey`)\n", " - `figsize`\n", " - `grid`: Add a grid to plot (use Matplotlib options)\n", " - `style`: Line style per column (accepts list or dict)\n", " - `logx`, `logy`, `loglog`: Logarithmic plots\n", " - `xticks`, `yticks`: Use values for ticks\n", " - `xlim`, `ylim`: Limits of axes\n", " - `yerr`, `xerr`: Add uncertainty to data points\n", " - `stacked`: Stack a bar plot\n", " - `secondary_y`: Use a secondary `y` axis for this plot\n", " - Labeling\n", " * `title`: Add title to plot (Use a list of strings if `subplots=True`)\n", " * `legend`: Add a legend\n", " * `table`: If `true`, add table of data under plot\n", " - `**kwds`: Every non-parsed keyword is passed through to Matplotlib's plotting methods"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Either slice and plot\u2026"]}, {"cell_type": "code", "execution_count": 63, "metadata": {"slideshow": {"slide_type": "-"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 720x144 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[\"C\"].plot(figsize=(10, 2));"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "fragment"}}, "source": ["* \u2026 or plot and select"]}, {"cell_type": "code", "execution_count": 64, "metadata": {"slideshow": {"slide_type": "-"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 720x144 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo.plot(y=\"C\", figsize=(10, 2));"]}, {"cell_type": "markdown", "metadata": {}, "source": ["* I prefer slicing first, as it allows for further operations on the sliced data frame"]}, {"cell_type": "code", "execution_count": 65, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[\"C\"].plot(kind=\"bar\");"]}, {"cell_type": "markdown", "metadata": {}, "source": ["* There are pseudo-sub-functions for each of the plot `kind`s\n", "* I prefer to just call `.plot(kind=\"smthng\")`"]}, {"cell_type": "code", "execution_count": 66, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[\"C\"].plot.bar();"]}, {"cell_type": "code", "execution_count": 67, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 864x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[\"C\"].plot(kind=\"bar\", legend=True, figsize=(12, 4), ylim=(-1, 3), title=\"This is a C plot\");"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 5\n", "<a name=\"task5\"></a>\n", "\n", "Use the NEST data frame `df` to:\n", "\n", "1. Make the virtual processes the index of the data frame (`.set_index()`)\n", "2. Plot `\"Presim. Program / s\"` and `\"Sim. Time / s`\" individually\n", "3. Plot them onto one common canvas!\n", "4. Make them have the same line colors and styles as before\n", "5. Add a legend, add missing labels\n", "\n", "* Done? Tell me! [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 68, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "subslide"}}, "outputs": [], "source": ["df.set_index(\"Virtual Processes\", inplace=True)"]}, {"cell_type": "code", "execution_count": 69, "metadata": {"exercise": "solution"}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 720x216 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df[\"Presim. Time / s\"].plot(figsize=(10, 3));"]}, {"cell_type": "code", "execution_count": 70, "metadata": {"exercise": "solution"}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 720x216 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df[\"Sim. Time / s\"].plot(figsize=(10, 3));"]}, {"cell_type": "code", "execution_count": 71, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df[\"Presim. Time / s\"].plot();\n", "df[\"Sim. Time / s\"].plot();"]}, {"cell_type": "code", "execution_count": 72, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["ax = df[[\"Presim. Time / s\", \"Sim. Time / s\"]].plot();\n", "ax.set_ylabel(\"Time / s\");"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## More Plotting with Pandas\n", "### Our first proper Pandas plot\n"]}, {"cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df[[\"Presim. Time / s\", \"Sim. Time / s\"]].plot();"]}, {"cell_type": "markdown", "metadata": {}, "source": ["* **That's why I think Pandas is great!**\n", "* It has great defaults to quickly plot data\n", "* Plotting functionality is very versatile\n", "* Before plotting, data can be *massaged* within data frames, if needed"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## More Plotting with Pandas\n", "### Some versatility"]}, {"cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[[\"A\", \"C\", \"F\"]].plot(kind=\"bar\", stacked=True);"]}, {"cell_type": "code", "execution_count": 75, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[df_demo[\"F\"] < 0][[\"A\", \"C\", \"F\"]].plot(kind=\"bar\", stacked=True);"]}, {"cell_type": "code", "execution_count": 76, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 864x288 with 3 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[df_demo[\"F\"] < 0][[\"A\", \"C\", \"F\"]]\\\n", " .plot(kind=\"barh\", subplots=True, sharex=True, title=\"Subplots\", figsize=(12, 4));"]}, {"cell_type": "code", "execution_count": 77, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 864x432 with 2 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[df_demo[\"F\"] < 0][[\"A\", \"F\"]]\\\n", " .plot(\n", " style=[\"-*r\", \"--ob\"], \n", " secondary_y=\"A\", \n", " figsize=(12, 6),\n", " table=True\n", " );"]}, {"cell_type": "code", "execution_count": 78, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"image/png": "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HTt2pHr16oU+59JLL+X1118/fkIjwNKlS+nfv38JPpvwMtYGNx8HIDAJ/F9APPCstfbPhT0+qW5Tm75nS9DHFREREc80cl0mvv/+e04//XTfMYpl5cqVPPLII0yZMqXIx6amplKlShX27dtHly5dWLp0KfXr1y/2sT7//HP++c9/FnisU71uxpg0a23p5qqUQkjmXFtr5wBzQrEvEREREYkeHTt2pE+fPuTk5PxkreuTDR48mAMHDpCZmcl9991XomIN7gTKP/3pT8HELXNhO6FRRERERGJT/iX1CrNw4cKgjhPJ00GO0eXPRURERERCROVaRERERCREVK5FREREREJE5VpEREREJER0QqOIiIiI/ER8fDxnnXXW8dtvvPEGKSkp/gJFCZVrERERkVjwcGs4shsq14O71wa9u+TkZL744osQBCtfNC1ERERESm/rJ7B5iSt24teR3Se+Fy80ci0iIiKll5vl3qvQlZ13xsPOrwu+f+snga+DAax7P7E6xCVAk/NO/Zz6Z8HFDxV62KNHj9KhQwcAmjdvzuuvv16q+OWNyrWIiIiU3LEpCMfEJ7pCF6IpCVICx37BwZ74/vj20tG0kNJRuRYREZGSO3mkOifz1NsleEWMMB//RSe+IuRk5L2vXA9unB2ejHKcyrWIiIiUjLWQUAmy0vJtDExJSEiG7EyokOgrXflz7C8FE6u79zkZMPGgvzzlnE5oFBERkeKzFub+3hXrTjfmvwO6jIGso/BMf9i33lvEcqtyvRPfixcq1yIiIlI81sL798Ky/4PON8El/3QnzYErdIMehmFT4cdNMKkXfD3Da9xy5+61bsQ6RHPeU1NTQ7Kf8kblWkRERIpmLbw7AT563I1QX/IPiItzq1E0655X6E4fDOOWwGlnwGs3waxfQuYRv9lFwkjlWkRERApnLbxzD3zyXzjvVrj4b2BMwY+v0QRumA097oLPp8KTfWDXt+HLK+KRyrWIiIgULDcX5twFn06CC26DgQ8WXqyPia8A/e6D69+A9APwVF/47BlX1EVimMq1iIiInFpuLsy+Ez57Grr+Gi56oHjFOr8Wvd00kWbd3L5eHQVHD5RF2phj9YtIiUTK66VyLSIiIj+Vmwtv3w4rnoPud0D/P5a8WB9TpR5cO8PtY9VseKIHbP0stHljTFJSEvv27YuYwhjprLXs27ePpKQk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\n", "text/plain": ["<Figure size 864x432 with 2 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[df_demo[\"F\"] < 0][[\"A\", \"F\"]]\\\n", " .plot(\n", " style=[\"-*r\", \"--ob\"], \n", " secondary_y=\"A\", \n", " figsize=(12, 6),\n", " yerr={\n", " \"A\": df_demo[df_demo[\"F\"] < 0][\"C\"], \n", " \"F\": 0.2\n", " }, \n", " capsize=4,\n", " title=\"Bug: style is ignored with yerr\",\n", " marker=\"P\"\n", " ); "]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Combine Pandas with Matplotlib\n", "\n", "* Pandas shortcuts very handy\n", "* But sometimes, one needs to access underlying Matplotlib functionality\n", "* No problemo!\n", "* **Option 1**: Pandas always returns axis\n", " - Use this to manipulate the canvas\n", " - Get underlying `figure` with `ax.get_figure()` (for `fig.savefig()`)\n", "* **Option 2**: Create figure and axes with Matplotlib, use when drawing\n", " - `.plot()`: Use `ax` option"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["### Option 1: Pandas Returns Axis"]}, {"cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 720x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["ax = df_demo[\"C\"].plot(figsize=(10, 4))\n", "ax.set_title(\"Hello there!\");\n", "fig = ax.get_figure()\n", "fig.suptitle(\"This title is super!\");"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["### Option 2: Draw on Matplotlib Axes"]}, {"cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 720x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["fig, ax = plt.subplots(figsize=(10, 4))\n", "df_demo[\"C\"].plot(ax=ax)\n", "ax.set_title(\"Hello there!\");\n", "fig.suptitle(\"This title is super!\");"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* We can also get fancy!"]}, {"cell_type": "code", "execution_count": 81, "metadata": {"slideshow": {"slide_type": "-"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 864x288 with 2 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["fig, (ax1, ax2) = plt.subplots(ncols=2, sharey=True, figsize=(12, 4))\n", "for ax, column, color in zip([ax1, ax2], [\"C\", \"F\"], [\"blue\", \"#b2e123\"]):\n", " df_demo[column].plot(ax=ax, legend=True, color=color)"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Aside: Seaborn\n", "\n", "* Python package on top of Matplotlib\n", "* Powerful API shortcuts for plotting of statistical data\n", "* Manipulate color palettes\n", "* Works well together with Pandas\n", "* Also: New clever defaults for Matplotlib\n", "* \u2192 https://seaborn.pydata.org/"]}, {"cell_type": "code", "execution_count": 82, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["import seaborn as sns\n", "sns.set()"]}, {"cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEBCAYAAAB2RW6SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xl4VOW9B/Dv2WZLQhJCQlgDYQ0BZF/CGvYtonKtWiwubbHuta1Xir3tfVqpVtt6wa3VW0UtbmgVUTYTFiGEfZMkBAhrEiAhJCHLzJztvX/E5oos2WbmPTPz+zxP/3DO5LzfvoQvZ+ac8x6BMcZACCEkZIm8AxBCCPEvKnpCCAlxVPSEEBLiqOgJISTEUdETQkiIo6InhJAQR0VPCCEhjoqeEEJCHBU9IYSEOCp6QggJcVT0hBAS4qjoCSEkxFHRE0JIiJN5DVxRUQvTtPbCmXFxkSgvr+Edo1GU07eCIWcwZAQopy+JooDY2IgW/Sy3ojdNZvmiBxAUGQHK6WvBkDMYMgKU0wroqxtCCAlxVPSEEBLiqOgJISTEUdETQkiIo6InhJAQR0VPCCEhjoo+iDHGUPfFn3Bx7eu8oxBCLIyKPogZF47BKMnH5X3roZfk845DCLEoKvogph3OBGwuyDHt4dn6Npih8Y5ECLEgKvogZdZWQD+5F0rf8Wg3cyFY1XmoB77kHYsQYkFU9EFKy98MMBO2fpPgSh4EucdIqPu/gFl5nnc0QojFUNEHIWbo0PI3Qeo6EGKbBACAffRdgKzAs+1tMBa6a3YQQpqPij4I6Sd3g7kvw5Y6peE10RUD+4jbYZTkQz+ewzEdIcRqqOiDkHo4E0J0IqTOqVe8rqRMhJjQA96c98E81l5ylRASOFT0QcYoOwmztBC21MkQhCv/+ARBhGPcvWDeWnh3reSUkBBiNVT0QUbNzQJkO5TeY665XYrrAmXANGhHtkA/fyzA6QghVkRFH0RM92XohTug9B4Dwea67vvsQ2+FEBkH79a3wUw9gAkJIVZERR9EtIKvAUOHkjr5hu8TFDscY+6GWVEE9dD6AKUjhFgVFX2QYKYBLXcjpE79IMV2avT9ctJgyN2GQt27CublsgAkJIRYFRV9kNBPHwCrvdTo0fx32dPmA6IIT/a7dG09IWGMij5IaLmZECLjIHcd1OSfESPbwj7sNhhnD0E/uduP6QghVkZFHwSMS8UwSvKh9JsEQZSa9bNK6hSI7ZLg3f4emFrnp4SEECujog8CWl4WIMlQ+o5v9s8K4rfX1rur4N39iR/SEUKsjore4phaB+1oNuQeoyE6olq0Dym+O5R+k6HlboRResLHCQkhVkdFb3FawTZA98LWv+knYa/FPnweBFd0/br1puGjdISQYEBFb2GMmVDzsiC27wmpXbdW7UuwOWFPmw+z/DS03EzfBCSEBAUqegszig6DVV24YpXK1pC7D4PUZSC8u/8Fs6bcJ/skhFgfFb2FqblZEJzRkLsP88n+BEGAY+yPAMbg3b7CJ/skhFgfFb1FmZdLYZw5BCVlIgRJ9tl+xah42IbeAv3UPuin9vtsv4QQ6xIYp1sml7y5AxWXvTyGbjLFJkFT+Zy4TPNuxQD9IN513os6MfKG721uTpEZuN39AWzw4n3n3dAFW2vjNgnP+WyOYMgZDBkByulLsW3sePr+US36WTqityCZaeir5+GE1KPRkm8JU5CwxT4JUawGI9SdPt8/IcRauB3Rl5fXwDStvf5KfHwUysqqAz6umr8Z3q3L4bz5aciJvRp9f0tzer5eDq3ga7hu+29IcV1bErVZeM1ncwVDzmDICFBOXxJFAXFxLTvwoyN6i2GMQcvNhBjXFVL7nn4dyz7ydgiOSHi2LgczTb+ORQjhh4reYoxzBTAvFcGWOgWCIPh1LMEeAfuoO2GWnoB2ZLNfxyKE8ENFbzFabiZgj4Dcs2UnXZpL7jkaUqdUeHeuhFlXGZAxCSGB1eqir6mpwZw5c1BUVOSLPGHNrLkE/dQ+KH3GQ5ADcyVMw7X1pgbv9vcCMiYhJLBaVfQHDx7EXXfdhVOnTvkoTnjT8jcBjMGWOimg44rRibANzoB+Yhf0s98EdGxCiP+1qug/+ugj/O53v0NCQoKv8oQtZmjQ8jdDThoEMSo+4OPbbpoFMToRnm3vgOlqwMcnhPhPq4p+yZIlGDbMN7fnhzu9cBeYpxqKj9a1aS5BUmAfdw9YdRnUfZ9zyUBCC1PrUHfyID3G0gJ8d299M7X0etBAi49v2RrwzVX8xWYocR2ROGhki6628UnO+BEoPTMRNYfWIWHEFNjiu7R+n98fIkDz2VrBkNPKGZmhoeSfz+F80RG0GT4LcVPvgyBY+9oPK89na3Ererph6v8ZpSfgLTkGe9rduHixptk/78ucbNA8oGA3zn3+KpwZi3z6lzMYbkoBgiOnlTMyxuD9+i1oRUfg7DEYl3evQd2lcjgm/tSn6zb5kpXn89/ohqkgp+ZmAooDSu8xvKNAdETBMfIOGOePQi/YxjsOCUJabia0gq9hG5yBxDuehm3E7dALd8K97kUw1c07XliioufMdF+GXrgLSu8xEGxO3nEAAHKfcZASe8Oz80OY7su845AgohflwpvzPuSkwbANuxWCIMA+aDYcE34MoyQfdV8+T79THPik6Ddu3IjOnTv7YldhR8vfDJg6lNTWPSrQlwRBgH3cPYDmgXfHh7zjkCBhVl2AO+tViDEd4UhfeMXXfkqfcXBOewzmpWLUfb4E5uUyjknDDx3Rc8RMA1r+JkidUiHFdOQd5wpSbCfYbpoF/Vg29JJ83nGIxTHVDff6pRAgwDn98Wt+OpWTBsE1+0kwTw3qVj0Do/wMh6ThiYqeI/3UPrDaCp89KtDXbIMzILRJqH+guKHxjkMsipkm3Bv/BrPqAhxTH4bY5vr3gUiJveC6eTEgSqj7/FnoJUcCmDR8UdFzpOVmQohqB6nrTbyjXJMg2+AYuwCs6jzUA2t4xyEWpe75BMaZg7CPmQ+5Y0qj75diO8E192mIEbFwr/0ztJN7ApAyvFHRc2JcOgvjXAFs/SZBEK37xyB37g+5x0ioB1bDrDrPOw6xGO14DtQDX0JJSYetX9OX7hAj4+C6eTHEuCR4Ml+BmrfJjymJdRsmxGmHswBJgdJnPO8ojbKPvguQlPrlEeguR/Ito/QEPFvehNShD+xp85v984IjEq7Z/wmp8wB4t70N795V9PvlJ1T0HDBvLbTj26H0HA3BYf07hEVXDOwjbodRnAf9eA7vOMQCzLpKuDcsg+CKhmPKwy2+EUpQ7HBOfwxyrzFQ934Kb/a79BAcP6Ci50Ar2AboqqUuqWyMkjIRYkIyvDs+APM0/+5dEjqYrsK9YRmY6oZz2uMQnW1atT9BlOGY+BMoA2dCy9sIT9ardPLfx6joA4wxE2peFqTE3pDaJfGO02SCIMIx7l4wTw28u1byjkM4YYzBs3U5zNITcKQvhBTnm/WQBEGAY9QdsI+6E/rJPXCv/SvdRetDVPQBZpz9BuxyaVAdzf+bFNcVyoBp0I5sgX7+GO84hAPtm3XQj22HbditULoP9fn+bQNnwJG+EMa5o6hb/Sw99cxHqOgDTM3NhOCKgeyHvySBYB96C4TIOHi3vg1m6rzjkADSzxyCd+dHkJOHwzb4Zr+No/RKg3PG4zCrzqNu1RKYVRf8Nla4oKIPILPqPIyz30BJSYcgWnMVv8YIigOOMXfDrCiCemg97zgkQIzKErizXoPYtgscE37i9wfXy10GwjXnKUB1o+7zJTAunvLreKGOij6A1NyNgChBSZnAO0qryEmDIXcbCnXvKlqzJAwwby3c65dBkOT65Q0Ue0DGlRJ6wDl3MSApqFv9HPTivICMG4qo6AOEaR5oBVshJw+H6IrhHafV7GnzAVGEJ/tduvY5hDHTgDvrNbDqMjimPQoxMi6g40sxHeGa+xuIke3gXvtXaIW7Ajp+qKCiDxDt2HZAc1t2XZvmEiPbwj7sVhhnD0GnW9hDlnfnRzCKDsM+dgHkxN5cMogRsXDd/GtICcnwZL1W//wG0ixU9AHAGIOWmwWxXTeICT14x/EZJXUKxLgkeLevAFPreMchPqYVbIX2zXooqVNg68v360bBHgHnrF9BThoEb/Y/4d39CX2SbAYq+gAwzh2BWVEMW+pkv5/ECiRBlOAYdw9YXRW8uz/hHYf4kHHhODxb34bUqV/9EhgWIMg2OKY+AqXPeKj7V8O7dTmYafCOFRSo6ANAO5wJwR4JucdI3lF8TkpIhpI6CVruRhilJ3jHIT5g1lyqX94gsi2ckx+CIEq8IzUQRAn28ffBNjgD2pEt8GS+AqarvGNZHhW9n5k15dBP74OSMgGCbOMdxy/sw+dBcEXXr1tPR1hBjene+uUNdBXOaY9bci0mQRBgHz4P9rT50E/th3vNn8G8tbxjWRoVvZ9p3y6/qqSkc07iP4LNBXvafJjlp6HRibKgxRiDZ8ubMC+ehnPSA5DaduId6YZs/afCMekBGKWF9XfR1lbwjmRZVPR+xHQV2pEtkJOGQIxqxzuOX8ndh0HqMhDePZ/CrLnEOw5pAfXAl9ALd8I2Yh7kpMG84zSJ0nMUnDN+AbP6IupWPQOzkp6ZcC1U9H6kn9gF5qkOynVtmksQBDjG/ggwTXi3r+AdhzSTfmo/1N2fQO4xCrabZvOO0yxy51S45iwCdLX+Llo6V3QVKno/YYxBPZwJMbYjpCY8Xi0UiFHxsA2dC/3UXuin9/OOQ5rIuFQM96a/Q2yXBMeE+4PyyjApvhtcc58GFAfqvvgT9KLDvCNZChW9n5ilhTAvnoKSOiUo/+K0lG3gdIixneHJ/ieY5uUdhzSCeWrgXv8/EGQ7nNMeC+oLBsToxPpn0UYnwL32RWj0kJwGVPR+ouZmAYoTSq803lECShDl+mvra8rh3fsp7zjkBpipw535ClhtBZzTHoUY2ZZ3pFYTXTFwZfwaUmJPeDb+Heo3tPAeQEXvF2ZdJfQTu6D0GQtBcfCOE3BSYi8ofSdA+2YDjPIzvOOQ6/DmvA+jJB+O8fdCat+TdxyfEWwuOGf+EnK3ofDmvA/vzo/C/i5aKno/0I5sAUwDtn6hfxL2euwjbofgiIRn63J6BqgFqfmboeVmQRk4A0rvsbzj+Jwg2+CY8jCUlIlQD66BZ8s/wvoeDyp6H2OmDi1vE6TO/SHGJPKOw43giIR91J0wS09AO7KZdxzyHfq5Ani3vQupywDYR/yAdxy/EUQR9rH3wDZkLvSj2769ESw8zxtR0fuYfnIfWF0lbP1DY5XK1pB7jobUKRXeXSvpkXAWYVZfhOerlyG0iYdz0s8giKFdAYIgwD7sVtjHLoBx5hDqvnwhLB9uH9p/yhxouZkQouIhdR7IOwp3DdfWGxq8Oe/zjhP2mOaBe/1SMFOHa/rjEOwRvCMFjK3fJDimPASz7BTqVv8x7G7qo6L3IaP8DIzzR+tXqQzxI6WmEqMTYRuUAb1wJ+pOHOAdJ2wxZsKz+X9hVhTBOfkhiDEdeEcKOCV5OJyzfgmzpgJ1q56BUVHCO1LAUBv5kJabCUg2KH3G8Y5iKbZBsyBGJ+Li2tdppUFO1H2fQz+5B/aRd0DuMoB3HG7kjilwZSwCTL3+LtoLx3lHCggqeh9hnhpox3ZA6TU6rD4SN4UgKbCPuwd65QWo+1fzjhN2tJN7oO79DHLvMVAGTOcdhzupXRJcc38DwR6Bui+eh34m9D9pUtH7iFawFTBUKCHyqEBfkzumIHJA/aVuRkUx7zhhwyg/A8+m1yEm9IBj7D1hdZf2jYhtEuC6+WmIsR3gXr8M1Yc2847kV1T0PsBME2reRkgd+kCK68I7jmXFTV4AKA54t74Nxujaen8z3ZfhXr+0/jF80x4N6uUN/EF0RcM1ZxGkjn1RtvolqAfX8I7kN1T0PmCcPQhWXUZH842QIqLhGHkHjPNHoRds4x0npDFDr3/6kvsynNMeg+iK4R3JkgSbE84ZTyCi3xh4d34Ez44PQvIghIreB9TcLAgRsZC7Bcca3jzJfcZBSuwNz84PYbov844Tkhhj8Gb/E8a5Ajgm/BhSfHfekSxNkBQk3PJzKKlToB1aB8+mN8BMnXcsn2pV0a9evRqzZs3C1KlTsWJFeK5Bblaeg1F0GEpKOgRR5h3H8gRBgH3cPYDmgXfnh7zjhCQtbyO0I5thGzQHSs9RvOMEBUEQYU+bD9vwedCP59TfbxBCq6+2uOgvXLiAF198Ee+99x5WrVqFDz/8EMePh8elSt+l5mYBogwlZSLvKEFDiu0E28CZ0I9mQy/J5x0npOjFefBuXwGp6yDYht/GO05QEQQB9sEZsI+/D0bRYdR98SeYnmresXyixUW/fft2jBo1CjExMXC5XJg+fTrWrVvny2yWx1Q3tKPbICcPh+hswztOULENuRlCVHz9iVlD4x0nJJiXS+HOfAViTCKckx6AINA3sy1h6zsBjqmPwrx0Fu5VS2BWX+QdqdVa/F1DaWkp4uPjG/47ISEBhw4davLPx8VZ7+ny1xIfH3XdbVV7tqFG8yBh7Fw4bvC+QLhRTiv5bs662Q/g/AfPQDmWhdhxt3NMdbVgmM/vZjS9bhR/+hJEQUCnu56GEpvAMdmVgmEuge/ljJ8Ad/t4XPjoWXhW/xEd7vov2BK68gvXSi0u+mut79yca3TLy2tgmtZeIzo+PgplZdf+6MYYQ93OLyHGd0e1LRHV13lfINwop5VclbNNT8jJI1CR/THUDoMgRltjtc9gmM/vZmTMhGfDS9AvFsM561eo1CMAi+QPhrkErpPT2QWOjF/DveYvKHr7aThn/BxyYm8+AQGIotDiA+QWf7Zr3749Ll78/480paWlSEiwzlGEvxkl+TArz8FGl1S2ij3th4CowLPtnbB/OERLqXs+hX56P+yjfwi5Uz/ecUKK1LYLXHN/A9HZBu4vX4B+Kjifhdziok9LS0NOTg4uXboEt9uNDRs2YPz48b7MZmna4a8gOKIgJw/nHSWoia4Y2EfeDqM4Dzo947PZtMKdUPevhtJ3ApTU8H3QjT+JUe3gnPs0xLZd4P5qGdQjW3hHarZWHdE/8cQTWLBgAW655RbMmTMHAweGx9K8ZnUZ9DMHoPSdQHcb+oCSMhFiQjK8Oz4A89byjhM0jLJT8Gz+B6TE3rCP+REtb+BHoiMKrjn/Wf98ha/fgnf/F0H1CbRVF35nZGQgIyPDV1mChpa3CYAApV867yghQRBEOMbdi7p//Te8O1fCMf5e3pEsT6+pgHvDMgjOKDimPgJBons4/E1QHHBO/zk8W/4BdffHYO4q2EffFRRXN1k/ocUwXYV6ZAvkbkMgRsbxjhMypLiuUAZMg3ZkM4zzx3jHsTRmaLjw8Qtg3pr65Q3o0t6AESQZjvSfQhkwHdrhr+DZ+PeguDyYir6Z9MKdgLeWvg/1A/vQWyBEtIVn69shdwu6rzDG4Nn6NrzFBXBM/Cmkdkm8I4UdQRBhH3UnbCN+AL1wJ9zr/gdMdfOOdUNU9M3AGIN6OBNibGdIHfryjhNyBMUBx5gfwawognpoA+84lqQd3gD96DbEjPsBFLoQgBtBEGAfNAuOiT+BUZJffxethdduoqJvBvPCcZjlp6GkTqYTX34idxsMudsQqHs/g1ldxjuOpehFh+Hd8QHkbkMtd4NZuFJ6j4Vz+mMwK0pQt2oJzMvW/J2lom8GNTcTsDmh9ErjHSWk2dPmA6IIz7Z3g+rKBn8yK8/DnfkqxNhOcKT/NChOAIYLuesguOb8J5i3pv5ZtOVneEe6Cv22NJFZVwn9xB4ofcZDUOy844Q0MTIO9mG3wjh7CPrJPbzjcMfUOrjX/w8EUYJz+uMQFAfvSOR7pPY94bp5MSBKqPv8WeglR3hHugIVfRNp+ZsBZsLWbxLvKGFBSZ0CMS4J3u0rLH+iy5+YacKd9TeYl8vgmPIwxKj4xn+IcCHFdoJr7tMQI2LhXvtnaBY6SKGibwJm6NDyNkHqMgBidHveccKCIEpwjLsHrK4K3t2f8I7DjXfXShhnD8E+5m7IHekCAKsTI+PgunkxxHbd4Ml8BWreRt6RAFDRN4l+cg+Yu4rWtQkwKSEZSuokaLlZMMpO8o4TcNrRbGiH1kLpNwk2ujkvaAiOSLhmPwmpy0B4t70D797PuJ9roqJvAjU3E0Kb9pC69OcdJezYh8+D4IqGZ+tyMNPgHSdgjNJCeLa+BalD3/qF30hQEWQ7nNMehdx7DNS9n8Gb/S6Yye9ZtFT0jTAunoJ54ThsqZPoSgcOBJsL9rQfwrx4GlpuFu84AWHWVsC94SUIrlg4pj5Mj6gMUoIowzHhJ7DdNAta3kZ4sl4F01UuWai5GqHlZgGyDUrvsbyjhC25+/D6j8F7/gWz5hLvOH7FdBXuDcvANA+c0x+H6AiOh3aQaxMEAfaRP4B91F3QT+6Be+1fwdS6gOegor8Bo64a2vEdUHqNgWCP4B0nbAmCAMeYHwGmCe/20H0IPWMMnq/fgll2Eo70hZDaduYdifiIbeB0ONIXwjh/DHWrn4NZVxnQ8anob6D6YBZgaLSujQWIbeJhGzoX+qm90E8H58MfGqMeXAv9eA5sw26D0m0I7zjEx5ReaXDO+DnMqgv1d9FWXQjY2FT018FME5f3roPUMYWOrCzCNnA6xNjO8GT/E0zz8o7jU/qZA1B3rYScPAK2weG39He4kLsMgGvOU4DqRt3nS2BcPBWQcanor0M/cwB6VRkdzVuIIMr119bXlMO791PecXzGqCiBO+tvEOO6wjHxx7SOUoiTEpLhmvs0ICmoW/0c9OI8v49JRX8dWm4WpDbtICcN5h2FfIeU2AtK3wnQvtlgyTVFmot5auBevxSCbINz+mMQZFpeIxyIMR3qn0Ub1Q7utX+BVrjLv+P5de9ByqgogVGcizZDpkMQJd5xyPfYR9wOwR5Rv24943dtcmsx04A76zWwmotwTn2UHmQTZsSIWLgyfg0poQc8Wa9BPZzpv7H8tucgpuVmAZKMNoPoaxsrEhyRsI++C2ZpYf0aREHKu+MDGMW5cIy9B1JiL95xCAeCPQLOWb+CnDQI3u3/hHf3J365i5aK/nuY6oZ2LBtyj5GQIqJ5xyHXIfccDalTP3h3rQz4pWq+oB7ZAu3wV1D6T4PSdzzvOIQjQbbBMfURKH3HQ92/Gt6tb/n8LnAq+u/Rjm4DNA+ta2Nx9dfWLwB0Dd6c93nHaRb9/DF4t70DqVMq7KPu4B2HWIAgSrCPuw+2wRnQjnwNT+YrPr2Llor+OxgzoeZmQUxIhhTfnXcc0ggxJhG2wXOgF+6EXnSYd5wmMWvK4fnqJQiR7eCc8hCdAyINBEGAffg82NPmQz+1H+41fwbz1vpk31T032EU54FVnaej+SBiGzQbQnRi/YlZTuuINBXTvHCvXwqma/UPEKG7rck12PpPhWPygzBKC1G3+lmYtRWt3icV/XeohzMhONtApocuBw1BUuqvra8ug7p/Ne8418UYg2fL/8IsPwvn5J9Biu3IOxKxMKXHCDhn/hJm9UXUrXoGZuW5Vu2Piv5b5uVSGGcOQkmZCEFSeMchzSB3TIHcawzUg2tgVJTwjnNN6v7V0E/shn3k7ZC73sQ7DgkCcqd+cGUsAgytfsmEVtw3QkX/LTVvIyAIUFLoAQ/ByD7qDkBxwLvtbe4Pefg+7eReqHv+BbnnaCgDZ/KOQ4KI1K4bXDc/DdiccGf9rcX7oaIHwHQvtIKtkLsPhRgRyzsOaQHR2Qb2kT+Aca4A+tFtvOM0MC6dhWfT6xDjk+EYfx8tb0CaTYxuX/8s2pgOLd+HD/MELe34DsBbC4VOwgY1pc84SIm94d3xIUxPNe84MD3V9csb2JxwTnsUgmzjHYkEKdEVA+e0R1v+8z7MEpQYY9ByMyG27QIpsTfvOKQVBEGEfew9YKob3h0fcs3CTB2er14Gq6uEc9pj9EmRcBX2RW+cPwqz/CyU/lPoY3UIkNp2gu2mmdCPboNeks8th3f7ezDOFcAx/n5ICcncchACUNHXr2tjc0HpOYp3FOIjtiEZEKLi4d36NpihBXx8NW8jtLyNsN00C0qvtICPT8j3hXXRm7UV0E/uhdJ3PC0PG0IE2Q7H2AUwq85DPbgmoGPrJUfgzV4BqctA2Ib/R0DHJuR6wrrotfxNADNh6zeJdxTiY3KXAZCTR0Ddvxpm1fmAjGleLoPnq5chRifAOflnEMSw/utFLCRsfxOZoUHL3wyp60CIbRJ4xyF+YE/7ISAq8Gx71+/X1jPNA/eGpWDMrF/ewOby63iENEfYFr1+YjeY+zJs/afyjkL8RHTFwD7iP2AU50Iv3OG3cRgz4dn0BsyKYjinPAQxOtFvYxHSEq0u+qVLl+Kll17yRZaAUnOzIEQnQurUj3cU4kdKSjrE+GR4c9732UqA36fuXQX91F7YR90FuXN/v4xBSGu0uOirq6uxePFivPnmm77MExBG2UmYpYWwpU6GIITth5qwIIhi/aJnnhp4d630+f61E7ug7lsFpc84KPTpkFhUi1suKysL3bp1w3333efLPAGh5mYCigNK77G8o5AAkNolQek/FVr+Zhjnj/lsv8bF0/Bs+l+I7XvCPnYB3YdBLKvFRX/LLbdg4cKFkKTgenCC6b4MvXAnlF5pEGxO3nFIgNiH3Qohom39uvWm3ur9mXVV9csbOCLhnPoorXhKLE1u7A1r167Fs88+e8VrycnJWL58easGjouLbNXPt1RF9leoNXS0HzcXtnZRjb4/Pr7x91gB5WxMFGpnLcSFlc/BdmILYkbfcsN33ygnMzSUrHkO8Nag44IlsHfo7OuwTUJ/5r4VLDlbotGinzlzJmbO9P3SquXlNTDNwC4ny0wDtbvXQurUD1UsGii78cJX8fFRKGvkPVZAOZsoti/kbkNwacuH8LYfCDEq/ppvu1FOxhi8X78FregIHJMfxGU5vtHfI3/gPpdNRDl9RxSFFh8gh9WZSP30AbDaS1BSJ/OOQjixp80HRBGe7H+26Np6LTcTWsHXsA3OgNJjpB8SEuJ7YVX0Wm4mhMg4yF0H845c9PEBAAAQNElEQVRCOBEj42AfeiuMMwehn9zTrJ/Vi3LhzXkfctJg2Ibd6qeEhPheo1/dNObRR1u+RnIgGZeKYZTkwzbidro1Pcwp/adAO5YN7/YVkDv3b9JJebPqAtxZr0KM6QBH+kK6LJcElbD5bdVyMwFJga3vBN5RCGeCKMEx7l6wuip49/yr0fcz1Q33+qUA8O3yBnS1FgkuYVH0zFsL7Vg25B6jIDj4XO1DrEVKSIbSbxK0w5kwyk5e933MNOHe+DeYVefhnPoIrYtEglJYFL12NBvQVdj600lY8v/sI+ZBcEXDs3U5mGlc8z3qnk9gnDkIe9p8yB1TApyQEN8I+aJnzISamwWxfU9I7brxjkMsRLC5YE/7IcyLp+sfQPM92vEcqAe+hJIyEQotZU2CWMgXvVF0GOzyBdjowd/kGuTuwyF1GQjvnn/BrLnU8LpRegKeLW9C6tAH9rS7aXkDEtRCvujVw5kQnNGQuw/jHYVYkCAIcIz5EWCa8G5fAQDQqyvg3rAMgrMNHFMehiC1+uI0QrgK6aI3qy7AOPsNlJSJ9JeVXJfYJh62oTdDP7UX2onduPDxn8BUN5zTfw7R2YZ3PEJaLaTbT83bCAgilJSJvKMQi7MNnAH9WA48ma8CYHBMfQRSXBfesQjxiZA9omeaF1rBVsjJwyBGxPKOQyxOEGXYx90LiBJiJ9wFhb7qIyEkZI/oteM5gFoHhU7CkiaSE3sh8p6XEdsx3vILXBHSHCF5RM8Yg3Y4E2JcEqT2PXnHIUFEUBy8IxDicyFZ9Ma5ApgVRd8+KpAuiyOEhLeQLHotNxOwR0DuOYp3FEII4S7kit6sKYd+ah9sfSdAkG284xBCCHchV/Ra/mYADEq/dN5RCCHEEkKq6JmuQsvfDLnroOs+Jo4QQsJNSBW9fmI3mKeaLqkkhJDvCKmiV3OzIMZ0gNSpH+8ohBBiGSFT9EbpCZhlJ6DQJZWEEHKFkCl6NTcTUBxQeo3hHYUQQiwlJIredF+GXrgLSu+x9DxPQgj5npAoei1/M2DqUFLpKUCEEPJ9QV/0zDSg5W+C1CkVUkxH3nEIIcRygr7o9VP7wGorYOtPl1QSQsi1BH3Ra7mZEKLaQepyE+8ohBBiSUFd9Eb5WRjnCmDrNxmCGNT/VwghxG+Cuh213CxAUqD0Gcc7CiGEWFbQFj3z1kI7vh1Kz9EQHJG84xBCiGUFbdFrBVsBXYWSOpl3FEIIsbSgLHrGTKi5WZASe0Nql8Q7DiGEWFpQFr1x9hBYdRmtUkkIIU0QlEWv5mZBcMVA7j6EdxRCCLG8oCt6s+o8jLPfQElJhyDKvOMQQojlBV3Rq7lZgChBSZnAOwohhASFoCp6pnmgFWyDnDwcoiuGdxxCCAkKQVX02rHtgOaGjU7CEkJIk7W46Pfu3Yt58+Zh7ty5uOeee1BcXOzLXFdhjEHLzYTYrhvEhB5+HYsQQkJJi4v+ySefxJIlS7Bq1SpkZGTgmWee8WWuqxjnjsCsKIGNHhVICCHN0qKiV1UVjz/+OPr27QsA6NOnD86dO+fTYN+nHc6EYI+E3GOkX8chhJBQIzDGWGt2YJomHnzwQQwYMACPPPKIr3JdQa8qw5lXHkLM6Llom363X8YghJBQ1eiF6GvXrsWzzz57xWvJyclYvnw5VFXFokWLoOs6HnjggWYNXF5eA9Ns2r8x3l2rATBoSWNQVlbdrHFaIz4+KqDjtRTl9K1gyBkMGQHK6UuiKCAurmULODZa9DNnzsTMmTOver22thYPPvggYmJi8Nprr0FRlBYFaAzTVWj5WyAnDYEY1c4vYxBCSChr8a2lTz75JJKSkvD73//erydH9RO7wLw1tEolIaRZDENHRUUZdF1t9L2lpSJM0wxAqsaJogSnMxKRkdE+69YWFX1eXh6ysrLQs2dP3HLLLQCAhIQEvPHGGz4J9W+MMaiHMyHGdoTUMcWn+yaEhLaKijI4HC5ERCQ2WpiyLELX+Rc9YwyGoaO6uhIVFWVo2zbBJ/ttUdH369cPBQUFPglwI2ZpIcyLp2Afu4AuqSSENIuuq00qeSsRBAGyrCAmJg4XLhT5bL+WvjNWzc0EFCeUXmm8oxBCglAwlfx3CYIIoFUXRF7BskVv1lVCP7EbSp+xEBQH7ziEEOITJ04cx9ixw7B5c1bAxrRs0WtHtgCmAVs/OglLCAkdX365GhMnTsZnn30SsDEtWfTM1KHlbYLUZQDEmETecQghxCd0XceGDWuxcOFDOHasAMXFvvse/kYs+eQO/eQ+sLpK2MbfyzsKISQEZH9zDtsOXX+ZFkEAWrpGwNiBHTBmQIcmvTcnZxsSExPRtWsSxo2biFWrPsFDDz3esoGbwZJH9FpuJoSoeEidB/KOQgghPrNmzWpMmTIdADB58lSsWfMFNE3z+7iWO6I3Lp6Gcf4o7KPuhCBa8t8hQkiQGTPgxkfdgbiOvqLiEnJysnHkSD5WrvwAjDFUV1/G5s1ZmDp1hl/HtlzRa3lZgGyD0mcc7yiEEOIz69evwdChI/CXvyxreO0f//g7Vq36l9+L3lKHzMxTA+3YDig90yDYI3jHIYQQn1mzZjVuvfU/rnjttttuR35+Lk6fPuXXsS11RK8VbAUMlda1IYSEnHfe+fCq12Jj2yIrK9vvY1vmiJ6ZJtS8LEgd+kCK68I7DiGEhAzLFL1x9iBY9UUo9OBvQgjxKcsUvXo4E0JELORug3lHIYSQkGKJojcqS2AU50JJSYcgWuq0ASGEBD1LFL2WuxEQZSgpE3lHIYSQkMO96JnqhnZ0G+Tk4RCdbXjHIYSQkMO96LVj2YDmga3/VN5RCCEkJHH9QpwxBi03C2J8d0gJyTyjEEKI39XW1uBvf3sFBw7shSTJiIqKwiOPPIE+ffr6dVyuR/RGcR7MynOw0SWVhJAQZ5omfvWrx9GmTRu89dZ7WL78Pdx330/xq189hqqqSr+OzfWIXsvNhOCIgpw8nGcMQgjxu3379uDixYv48Y8fgPjtgo1DhgzD4sW/hWn6d0E1bkVv1l6CfuYAbDfNhiDbeMUghIQB7Wg2tIKvr7tdEASwFi5Ir/QZD6X3mEbfd/RoAVJS+jWU/L+NHj22ReM2B7evbvRjOQAEKP3SeUUghJCAEcWW/2PSWtyO6LXCnZC7DYEYGccrAiEkTCi9x9zwqDsQ69H37dsPn376MRhjEASh4fW///0VDB8+EkOGDPPb2PxOxqp1tK4NISRs3HTTYMTGtsWbb74OwzAAADt35mDNms/RrVt3v47N7YhejO4AqUMfXsMTQkhACYKA5577K1566S9YsOAOyLKM6OgYvPDCUrRt699vNrgVvdwr7YqPL4QQEupiYmLwX//1h4CPy+2rG7n7UF5DE0JIWOFW9HRJJSGEBAb3tW4IIYT4FxU9ISRk8bpuvbUYMwH47hwmFT0hJCTJsg21tZeDquwZY9B1DZWVF2GzOXy2X3qcEyEkJMXGxqOiogw1NY0vGCaKot/Xm2kqUZTgdEYiMjLaZ/ukoieEhCRJktGuXYcmvTc+PgplZdV+TsQPfXVDCCEhjoqeEEJCHL8lEMTguCuWcvoW5fSdYMgIUE5faU0+gQXTKWlCCCHNRl/dEEJIiKOiJ4SQEEdFTwghIY6KnhBCQhwVPSGEhDgqekIICXFU9IQQEuKo6AkhJMRR0RNCSIjza9GvXr0as2bNwtSpU7FixYqrtufn52PevHmYPn06nn76aei67s8419VYzpdffhnp6emYO3cu5s6de833BEJNTQ3mzJmDoqKiq7ZZZS6BG+e0yly+/PLLmD17NmbPno3nn3/+qu1Wmc/GclplPpcuXYpZs2Zh9uzZeOutt67abpX5bCynVeYTAP70pz9h0aJFV71eUlKC+fPnY8aMGXjwwQdRW1vb+M6Yn5w/f56lp6eziooKVltbyzIyMtixY8eueM/s2bPZ/v37GWOM/frXv2YrVqzwV5xW5XzggQfYvn37Ap7tuw4cOMDmzJnDUlNT2dmzZ6/aboW5ZKzxnFaYy+zsbHbHHXcwr9fLVFVlCxYsYBs2bLjiPVaYz6bktMJ87ty5k915551M0zTmdrtZeno6KywsvOI9VpjPpuS0wnwyxtj27dvZyJEj2VNPPXXVtoULF7IvvviCMcbYyy+/zJ5//vlG9+e3I/rt27dj1KhRiImJgcvlwvTp07Fu3bqG7cXFxfB4PBg0aBAA4Lbbbrtie6A0lhMADh8+jDfeeAMZGRn4/e9/D6/XG/CcH330EX73u98hISHhqm1WmUvgxjkBa8xlfHw8Fi1aBJvNBkVR0KNHD5SUlDRst8p8NpYTsMZ8jhgxAu+88w5kWUZ5eTkMw4DL5WrYbpX5bCwnYI35rKysxIsvvoif/exnV23TNA27d+/G9OnTATR9Lv1W9KWlpYiPj2/474SEBFy4cOG62+Pj46/YHiiN5aytrUVKSgqeeuopfPrpp7h8+TJeffXVgOdcsmQJhg0bds1tVplL4MY5rTKXvXr1aiidU6dOYc2aNZgwYULDdqvMZ2M5rTKfAKAoCpYtW4bZs2dj9OjRaN++fcM2q8wncOOcVpnP3/72t3jiiSfQpk2bq7ZVVFQgMjISsly/8HBT59JvRc+usSimIAhN3h4ojeWIiIjAG2+8gaSkJMiyjPvvvx9btmwJZMRGWWUuG2O1uTx27Bjuv/9+PPXUU+jWrVvD61abz+vltNp8PvbYY8jJycG5c+fw0UcfNbxutfm8Xk4rzOfKlSvRoUMHjB49+prbWzqXfiv69u3b4+LFiw3/XVpaesXH+e9vLysru+7HfX9qLGdJSQk+/vjjhv9mjDX8a2oVVpnLxlhpLvfu3Yt7770Xv/zlL3Hrrbdesc1K83mjnFaZz8LCQuTn5wMAnE4npk2bhoKCgobtVpnPxnJaYT7XrFmD7OxszJ07F8uWLcPGjRvxxz/+sWF727ZtUVNTA8MwADR9Lv1W9GlpacjJycGlS5fgdruxYcMGjB8/vmF7p06dYLfbsXfvXgDAZ599dsX2QGksp8PhwAsvvICzZ8+CMYYVK1Zg6tSpAc95I1aZy8ZYZS7PnTuHhx9+GH/+858xe/bsq7ZbZT4by2mV+SwqKsJvfvMbqKoKVVWRlZWFoUOHNmy3ynw2ltMK8/nWW2/hiy++wKpVq/DYY49h0qRJWLx4ccN2RVEwbNgwrFmzBkAz5rL154ev7/PPP2ezZ89m06ZNY6+//jpjjLGf/OQn7NChQ4wxxvLz89m8efPYjBkz2C9+8Qvm9Xr9GafFOdetW9ewfdGiRdxyMsZYenp6w9UsVpzLf7teTivM5R/+8Ac2aNAgdvPNNzf877333rPcfDYlpxXmkzHGli5dymbOnMnmzJnDli1bxhiz5u9nYzmtMp+MMfbJJ580XHWzePFilpmZyRhjrKioiN19991s5syZ7P7772eVlZWN7oueMEUIISGO7owlhJAQR0VPCCEhjoqeEEJCHBU9IYSEOCp6QggJcVT0hBAS4qjoCSEkxFHRE0JIiPs/JT1Y7YZkUfYAAAAASUVORK5CYII=\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_demo[[\"A\", \"C\"]].plot();"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["### Seaborn Color Palette Example"]}, {"cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAABQCAYAAADiBIpwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAAr1JREFUeJzt2cGLjGEAx/GHBkOZtbZ1VE5ObhQXF+XfkAMpykVWOEopF3HYTA7+Bc5Srty4K0fTYEaxu229LlJ+N9M+PWP6fC7P6alfvb31rWdX13VdAQDgj92tBwAAzBuBBAAQBBIAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAoTfrxZuP35TxZGMnt8yNZ3fPl09PrrSeUc3Ra+vl6ss7rWdUcfHFuJwcrpd3lxbz+50crpdH9161nlHN9bvnyvMHN1rPqObC2sPy8enb1jOqOXb5VBkOh61nVHH6+KicOHu7vH9zv/WUKk6cvV1uvf7QekYVy/09Ze3M8X++N3MgjScb5fPXn7Nen3vbk1HrCVWNfnxpPaGKzc+jv85FNFng/66UUr5/G7eeUNX2dLP1hKqm02nrCVVsbXz961xE459brSfMFU9sAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABB6s15cWerv5I6501tabT2hqtUDh1tPqGLfke73ubjfb2l5f+sJVR08tNJ6QlW9wb7WE6oaDAatJ1Sxt7/5+1xuvKSelf17W0+oYrm/Z6Z7u7qu63Z4CwDAf80TGwBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABB+AfAGVV2++a/SAAAAAElFTkSuQmCC\n", "text/plain": ["<Figure size 720x72 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["sns.palplot(sns.color_palette())"]}, {"cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAABQCAYAAADiBIpwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAAplJREFUeJzt2TGKE3EYxuFvZRQJihpIZzGd9R5CLDyEF4g3EAvZSrByLmDtCcTKE1jbTWEX2VUUER0Yq1i8nWGHyQ7P06T6s+8HS/hBTsZxHAsAgH+uzT0AAODYCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAjNoQ8/nz2v4eL8MrccjfZVV/277dwzJtM+6upDv8z73lfVWdvVs4Xed9Z2te3fzD1jMl37pLaf+rlnTKZ70Nb2dT/3jMl0T9t6ue3nnjGJh1V12rX1caH3nXZt9du3c8+YRLNe1f0Xj///3aF/cLg4r+HL7tDnR2/4udzbqqp+Dcu8b5/s5wu9r6pqN3yfe8Kkdn+GuSdMavdt2fd93S3zvt/7z4XeV1U17H7MPeGo+IkNACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAEJz8MN768vccXSa1WbuCZO62Szzvv1/5Xqh91VVbZrbc0+Y1Ob6wV9LV8LmzrLvu7tZ5n039p8Lva+qqtncmnvCJJr16qB3J+M4jpe8BQDgSvMTGwBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQBBIAQBBIAABBIAEABIEEABD+AsYQTZBcSEeRAAAAAElFTkSuQmCC\n", "text/plain": ["<Figure size 720x72 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["sns.palplot(sns.color_palette(\"hls\", 10))"]}, {"cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAABHYAAABQCAYAAAB8i/K4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAABBlJREFUeJzt27+OVVUYxuEXQRqIhAQNkgl7V1qpN2C8BazUC9BKbbT1LoyVVlbGSm+BeANipdXahIB/JjEYaDB4LA6hJZ7Mcs238jzNamYn71dN5hc4s9vtdgEAAACgnOdGDwAAAADgMMIOAAAAQFHCDgAAAEBRwg4AAABAUcIOAAAAQFHCDgAAAEBRwg4AAABAUcIOAAAAQFHCDgAAAEBRwg4AAABAUcIOAAAAQFHCDgAAAEBR5w7+8pM3k+M7JzjlFPm6JV+to1f0835LfllHr+ji7ivJtbTczTp6ShfX0vLNpLclyXtp+WDi+75My6sT3/dzWta8O3pGJ2+l5cOs+WL0kC72t/00ekY3La9l/XX0in7a1WT9dvSKfto7yfrR6BWd3EzarWR9ffSQPtqt5O119Ip+vmvJ5+voFf183JIf19Er+nmjJVn/HD2jk5tJu5Gs348e0ke7kayfjl7Rx9Hl5IfP/vNnh4ed4zvJb9vBn596f018W5L8Ped9j5++c96XJA8mvi1Jfp/8vm36+2b96/l+kmR78s5oy6PRE7raHj/7ZyrbHoxe0Nf2x+gFndzeP9vtsTN6ujf3r73cn/y+R5Pfl+2f0Qs6ebh/todjZ/S0HY9ecKr4r1gAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFCTsAAAAARQk7AAAAAEUJOwAAAABFnTv4yytHJzjjFHphGb2gr+fnvO/s03fO+5Lk4sS3JclLk9+3TH/f1dETOrmUJFmevDNacn70hK6Ws8/+mcqWi6MX9LW8OHpBJ9f3z3J97IyeXp77114uTX7f+cnvyzLrv3O4sH+WC2Nn9LRcGb2gj6PLB312Zrfb7U54CgAAAAD/g1kTJQAAAMD0hB0AAACAooQdAAAAgKKEHQAAAICihB0AAACAooQdAAAAgKKEHQAAAICihB0AAACAooQdAAAAgKKEHQAAAICihB0AAACAooQdAAAAgKL+BVCMY5TLW1IBAAAAAElFTkSuQmCC\n", "text/plain": ["<Figure size 1440x72 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["sns.palplot(sns.color_palette(\"hsv\", 20))"]}, {"cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAABQCAYAAADiBIpwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAArVJREFUeJzt2T1LFVAAxvHjWyRKiCBkCDW4FThW0BRCU04S1NdoaKqhra2Ghr5ALtHiJElTkI2u0RJcMhpEQrnhS7ctuM/WxcOxy++3nOnAMx3+cEZ6vV6vAADw12jrAQAAZ41AAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAMD7oxXeff5Tu0clpbjkzVq7Ol1vP3reeUc2HR7fLZudV6xlVvNh6W9ZXN8rdN3daT6lifXWjHK+9bj2jmvH7D8rO9ZutZ1Qz/+lj+b31tPWMakZvPCnl+ZXWM6rYvrZZlpYXy/bml9ZTqlhaXiyP7621nlHFzNxUefhy5Z/vDRxI3aOTcnA4nIFUSimdvW7rCVV1j3+2nlDFzsG3vnMo7e+3XlDVSafTekJdv3ZbL6hr72vrBVUcdo/6zmG0+32435Z/5YsNACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAIJAAgAIAgkAIAgkAIAgkAAAgkACAAgCCQAgCCQAgCCQAACCQAIACAIJACAIJACAIJAAAML4oBcnJ8ZOc8eZszAz2XpCVZPjF1pPqGJ+6lLfOZSmp1svqGpsYaH1hLrOz7ZeUNfM5dYLqjg3OdF3DqPZi8P5tszMTQ10b6TX6/VOeQsAwH/NFxsAQBBIAABBIAEABIEEABAEEgBAEEgAAEEgAQAEgQQAEAQSAEAQSAAAQSABAASBBAAQ/gBg1VC50SDDXAAAAABJRU5ErkJggg==\n", "text/plain": ["<Figure size 720x72 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["sns.palplot(sns.color_palette(\"Paired\", 10))"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["### Seaborn Plot Examples\n", "\n", "* Most of the time, I use a regression plot from Seaborn"]}, {"cell_type": "code", "execution_count": 88, "metadata": {"slideshow": {"slide_type": "skip"}}, "outputs": [], "source": ["import warnings\n", "warnings.simplefilter(action='ignore', category=FutureWarning)"]}, {"cell_type": "code", "execution_count": 89, "metadata": {"slideshow": {"slide_type": "-"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["with sns.color_palette(\"hls\", 2):\n", " sns.regplot(x=\"C\", y=\"F\", data=df_demo);\n", " sns.regplot(x=\"C\", y=\"G\", data=df_demo);"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* A joint plot combines two plots into one\n", "* Very handy for showing a fuller picture of two-dimensionally scattered variables"]}, {"cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [], "source": ["x, y = np.random.multivariate_normal([0, 0], [[1, -.5], [-.5, 1]], size=300).T"]}, {"cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAGkCAYAAACYZZpxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd8XOd54PvfKXOmYtABEgTB3otYRFHFktUtW45sy866JXGc3ZvmbPLx7sbJevPJ3uzd3STyTXzXm2xucuPETtwty44seWX1RlESO0SJvYHoHRhMO/X+cTBDgARIEBhgMMTz/Xxk0iDmnJcgcJ553/d5n0fxPM9DCCGEKAK12AMQQgixcEkQEkIIUTQShIQQQhSNBCEhhBBFI0FICCFE0UgQEkIIUTQShIQQQhSNBCEhhBBFI0FICCFE0UgQEkIIUTQShIQQQhSNBCEhhBBFoxfjpj09iYJcp7IywsBAqiDXmqn5NBaQ8VzNfBoLyHiuZj6NBa49ntrasjkczY2hpGdCuq4Vewh582ksIOO5mvk0FpDxXM18GgvMv/HcCIoyExJiLtkuZC07//+9/hSprH2VV1wSDOjoJf1WTYj5TYKQmBOJlElyig/+y800EGQtm33HuvL/vywWIjGSmdJrd22oRw/Kj4kQs0V+usScSGfGB4LrcXkg8DyPoaRJImUxkrZIZSyyloNpuZi2i2U72I6HZbuYtkM6a9PRl8KyXWzHxQOypoPjeriul7+mrqnouoqhq0TDAcrCAQK6ysZlVVSWBQvxZRBCXEaCkJjXXNejpStBa/cIp1uHaO9L0jOYxrTca75WUxWMgEpA03A9D11T0DWVoKETDSlomoqmKgAogO2OBi7LobV7hIzpcOhULwC1FSHWN1Vy8/o6NiyrRNdkjU6IQpAgJOYdz/PoGUxzriPBhc4EGdMBoDoeZGldGZuWV1FbEaY8ahALB4iEdEKGRkDXRoOOP6NRFT/AJLPTW46zbJeG2ihtXSOcbB1i/4keXmvuIBYOsGt9HffubGRJTXR2vghCLBAShMS84boe5zsTHD3bx+CIiaYqNNbFuHv7ErasqKIqHprT8QR0leWL4mxaVsWDt/hB6ei5PvYd6+a15g5eOtTGpuWVfGB3E5uWV6GMBj0hxNRJEBJF53keF7pGOHSyh0TKojxmcPvmRSxbVEZAV7l5fR3ReZAcENBVtq+pZfuaWj6VMnn1cDsvHmzlL79/hDWN5XzszpWsX1ZZ7GEKUVKK/5MtFrREyuSt97pp701SWRbk7u0NLK2LjZtVKKoy7cw6gNHcg2mZ7N6apnLPzkbu3NbA3qOd/PytFh777iE2LKvkY+9fyeLqqKR3CzEFEoREUXiex8mLg+w/3oOiwK71daxrqkBVr1zSyloOR072TPteN62tnfZrp3LvkKHx4duXcaJlkCNn+vjTfz7AuqUVfP7hDdSWh6d9byEWAglCYs6ZlsPed7u40JmgoSbK7ZvriYQCxR7WjGiaysYVVaxcEufwqV5OtAzyX7+5n0/fv4bdG+plv0iISUgQEnNqcCTLSwfbGElb7Fhbw6YVN9aGfsjQuXXTItYsreDo2X7+7sn3ePVIB5+8bzU1k8yKJqvgIMt5YiGQICTmTGdfipcPtaGqCh+4ZSl1lZFiD2nWVMdD/M4ntvLDF05x6GQv/+2b+9mxtpZ1TRVXBN3JUsalWoNYCOQ7XMyJve908Pz+i5RFDO7b2UgsUtrLb1Ohqgrrl1XSWBdj79FO3j7WzYWuBHdsXrwg/v5CTIVM9sWse+FAK3//5FHqKiN88NamBfcAjoUD3H9zI7dtrqd/KMtP95znTNsQnjeDtD0hbhAyExKz6pm3WvjBS6fZtqaWTSsq0NSF+b5HURTWNFawuCrK6+90sOedTi52j3DrpkVIBxqxkC3MJ4KYE0+9cZ4fvHSam9fX8Vsf37pgA9BYsUiAB29Zyo61NbR2j/DUnvO0dhemyaMQpUieCmJWPPNWC0+8epbbNtXzG49slIKfY6iKwuaV1Xzw1mXomsK/vHqWAyd68hW9hVhI5MkgCu6FA6384KXT3LKhjn/98EaZAU2iujzEw7cvZ+OKKt49188zb7WQSJnFHpYQc0qeDqKgXjvSzrefO8n2NTX8mw9vnLACgrgkoKvcs3Mpd21rYChp8tQbFzjXMVzsYQkxZyQIiYLZf7ybbzxznM0rqvjNj2yWJbjrsHxRGb9w+3IqYgavHengjXc6yVpOsYclxKyTp4QoiHfP9/N3P32XVQ3lfOFjWwjIUf/rFosE+MAtTWxZWcXptiG+8p2DtHRJ0oK4scmTQszY2fZh/upH77CoKsLv/eJWgoZW7CGVLFVV2L62lgd2NZLOOvzXf9rP8/svypkiccOSICRmpK03yVd/cJh4NMC/++Q2oiVeiHS+WFwd5T/+8k42La/iO8+f4n883sywJC2IG5AEITFltuu3ys79d7FnhL/43iE0VeW3P7aFQEAb9+dj/5P9jesXCwf43U9s5TP3r+G98/385394m3fP9xd7WEIUlFRMEFOWtWz2HesCIJ21+flbLWRMhw/sXsq5juGrZnXdvGnxXA3zhqIoCvffvJS1Syv42yff5S++d5iHdjfx6F0rJfFD3BDku1hct6zl8Pz+VpIZm3t3LqGyLFTsId3wmurL+ONf3cXd2xp45q0W/vs/H6BrIFXsYQkxYxKExHWxbJcX9rcyNGJy9/YlN3Q7hvkmGND4lYfW84WPbaFnMM3/+Y/72PNOR7GHJcSMSBASU2baDi8dbKNvOMNd2xazpDZa7CEtSDvX1fInv3YLy+rL+PrTx/j7p94jY17ZFE+IUiBBSEyJaTn8f//yLp39KW7fvIimeqn9XExV8RBf+vR2HrljOXuPdvJfvrFfzhSJkiRBSFxT1nL42o+aOdEyyO2bF7FqSXmxh7QgKKoyabZhMmuTthweuKWJL3x8C6mMzX/7pwM8f6CVZNbGdos9eiGmRrLjxFVlTJv/+aN3OH5hgM8+uFZqwc2hrOVw5GTPlD73A7uX8lpzB9957iRvv9fFbz26mcpocJZHKMTMyUxITCqRMvnKdw9zvGWAf/3hDezetKjYQxKTCAd17r+5MV/y56vfP0LvYLrYwxLimiQIiQn1DWX4028dpLVnhN/52BZu3yznfOY7VfFL/ty7Ywl9Q2n+yzf3c0wOt4p5ToKQuMK5jmH+2z/vZyhp8u8/uY3ta2uLPSRxHRrrYvyHT+8gHjX4v79/mGffbpHac2LekiAkxtnzTgd/+q2DaKrKf/zsDtYurSj2kMQ01FWG+U+/vJPta2r53oun+YefHcOSbAUxD0liggD8Q6g/fPk0z+9vZX1TBb/10c2URYxiD0vMQDio89sf28yTr5/jyT3n6exP8Tsf20J5TBIWxPwhMyFBW88I/9c39/P8/lbu39nIv/vkNglANwhVUfjonSv57Y9u5mL3CP/lm/s53ymdW8X8ITOhBcx2XJ7f38oTr54lEtT4vU9s5abVNcUeliiA3BmjnA0rqvjiv9rG3z35Ln/6zwf57AfWsnNd3YSvDUnLCDGHJAgtUCdaBvjWcydp60mybXUNn/vgesqjMvu5UUx2xuj+mxt55XA73/jZcfYd62b7mporzn69f2cTchpMzBUJQgtMW2+Sf3n9HPuPd1MdD/FvH93CtjU1KIo8dhaCcFDngV1L2Xesm3fP9dM35NcBDBnyKBDFId95C0Rbb5Kf7T3Pm+92YRgaj9yxnA/euoxgQFpxLzSaqnDrpnpqykO8+V4XT71xgbtuaqCuMlzsoYkFSILQDcz1PN4718+z+y5y9Fw/hq7ywC1N3LNjCbFwANv1sLNTr77sylGTG8rqxnIqy4K8cridn7/dwk2ra9i8sqrYwxILjAShEmO7fofTqxkayfLUmy28eqiV3qEM8YjBw7cv431bG4iEAhw43jWte98kh1ZvONXlIT58+zLefK+Lw6d66ehNsnlVLXVxSeMWc0OCUIkZ22J7LNNyaOka4VzHMJ19KTxgUVWE921dzLJFMTRV5dj5fgkk4gpGQOPOrYtpqI6y71g3f/x3e/nonSt5YFcjmiqnOMTskiBUwkzL4WL3CBc6E7T3pnA9j7JIgC2rqtmyphYNWT8TU6MoCqsby1lcE+FMW4IfvHSaN9/r5JP3rGbDclmiE7NHglCJ6R/OcOzCABe7R+jqT+F5EAnprGuqYPniMmrKQyiKQlksSGIkU+zhihITDQX4nV+8iQPvdfKDF0/xle8dZvPKKj5+1yqWLZJGhqLwJAjNc5btcrptiKNn+2g+00dbbxKA8qjBpuVVLK2P5QOPEIWgKAq71texbXU1Lxxo46k3zvMn39jHhmWVfOCWJjavrEKV7zdRIBKE5hnbcbnQleDkxUGOXxjkxMUBTMtFUxXWLq3glo31uK5HeUwOlorZFdA1HtrdxF03LeaVw+08f6CV/+eHR6gpD3Hrpnpu3biIhpposYcpSpwEoSJyPY/ewXQ+oeBs+zDnOxNkLQfwEwvu3NLAxhWVrG+qJBzUSWYnTkwQYrZEQgE+eOsyHti1lP0nutnzTidP773AU29coL4qwublVWxcUcnqJeVSc1BcNwlCs8y0HIaSJv3DGfoTWXoG03T1p+jsT9PelyRr+gFHUxWa6mO8b8ti1jZVsLaxXKodi6KwHRdzkvNjW1bVsGVVDcNJk0Onenjv/ACvNbfzwsFWAKriQZYvitNQE2VRVZj6ygiVZUHKY4Zk2okJSRACXNfDtB1My8W0HSzbzf/etF2ssR+33dE/9//MtBxMywFNZWg4Qzprk846JDMWibSVDzJjVZYFqa0Ic+vGehpqojTURllSEyOgj/8hTU7wIJADo2K2ZS2H/VOYbUeCOjevq2X7mmp6BjP0DmXoG8pwsTvB4VO9uGMa6SkKlEUMYuEA0ZBONBQgZGiEgjrBgEowoGEENAxdxQhoBHQVQ9eo7UuRTmYJ6BpGQMXQVQK6RjDg/6priuyHlriiBKHLCyZORSpj89Te82Sz/kPdAwKGimk6eB54noeHH1A8z8N1PVzPX/JyHA/H9XBcF9txcVx/w992XBzHxZnmk10B9NwPhaER0BRiEYOaCo2gofs/bGGdWNigPGoQjxqUxwx0TeOdM7356yTTNicvDk7pnhtWVBEJBa75eeGgjmNf+Xm6pk7p9ROZ2WuVotx3otdP9rUp9L2n+tob4d+qLBJkZUM54B9qti2HgUSW/uEMwymTRNIimTFJZRxSWZuMaTMwkiU7kMYafYM3HfmfQU1F01V0VUHXVDRNQVP8XxVVQVf8hAtVVUDxW1zkkityMUxB8Qu3KrBzXR0bl1dOeM/pPL/E5BRP+v4KIYQoElmkFUIIUTQShIQQQhSNBCEhhBBFI0FICCFE0UgQEkIIUTQShIQQQhSNBCEhhBBFI0FICCFE0UgQEkIIUTQShIQQQhRN0QqY9vWN4M6wGmdlZYSBgVSBRjQz82ksIOO5mvk0FpDxXM18Ggtcezy1tdfXfbYQz8H55Hr//lDiMyFd14o9hLz5NBaQ8VzNfBoLyHiuZj6NBebfeG4EJR2EhBBClDYJQkIIIYpGgpAQQoiikSAkhBCiaCQICSGEKBoJQkIIIYpGgpAQQoiikSAkhBCiaCQICSGEKBoJQkIIIYpGgpAQQoiikSAkhBCiaCQICSGEKBoJQkIIIYpGgpAQQoiiKUgQ+vM//3P+8A//sBCXEkIIsYDMOAjt3buXH//4x4UYixBCiAVmRkFocHCQr371q/zmb/5mocYjhBBiAZlREPrjP/5jvvjFLxKPxws1HiGEEAuIPt0X/vCHP2Tx4sXcdtttPPHEE9f9+urq2HRvPU5tbVlBrlMI82ksIOO5mvk0FpDxXM18GgsUdjyFeg6WMsXzPG86L/z85z9PT08PmqYxNDREKpXiox/9KF/+8pen9Pq+vhFcd1q3zqutLaOnJzGjaxTKfBoLyHiuZj6NBWQ8VzOfxgLXHs/1BqhCPAfnk+kE6GnPhP7xH/8x//snnniCt99+e8oBSAghhAA5JySEEKKIpj0TGuvRRx/l0UcfLcSlhBBCLCAyExJCCFE0EoSEEEIUjQQhIYQQRSNBSAghRNFIEBJCCFE0EoSEEEIUjQQhIYQQRSNBSAghisR13WIPoegkCAkhRJFkLQlCEoSEEKJIMqZd7CEUnQQhIYQokqwpMyEJQkIIUSRpmQlJEBJCiGLJWk6xh1B0EoSEEKJI0lmZCUkQEkKIIpE9IQlCQghRNLIcJ0FICCGKRlK0JQgJIUTRmLYsxxWkvbconuYzvTzzVgu9QxlqykM8tLuJratqij0sIcQUWBKEJAgV20yCSPOZXr793Ek0TSUS0hlMmnz7uZMA3FdbNpvDFkIUgGXLnpAsxxVRLogMJs1xQaT5TO+UXv/MWy1omkowoKEoCsGAhqapPPNWyyyPXAhRCKbUjpMgVEwzDSK9QxkMffw/oaGr9A5lZmO4QogCy9oOC31FToJQEc00iNSUh67Y2DRtl5ryUMHGKISYPYOJLFlrYWfISRAqopkGkYd2N+E4LlnLwfM8spaD47g8tLtpNoYrhCgw1/WKPYSikyBURDMNIltX1fDZB9ZSETVIZWwqogaffWCtZMcJUSJcT4KQZMcVUS5YzCTFeuuqGgk6QpQoiUEShIpOgogQC5esxslynBBCFI0sx0kQEkKIopHEBAlCQghRNK4jQUiCkBBCFIntLfCTqhQxCDkyDRVCLHDOQi+XQBGD0HDSZCRj4SHBSAixMLkemAu8sV3RgpDreoykLPqGMqPdBSUYCSEWnmRGyvYUle14DCayDI6Y2K5MTYUQC4u1wCtpFz0IgT8HypgO/UNZWaITQiwoQ8lssYdQVPMiCOW43ugS3bAs0QkhFob+4YXdemVeBaEc2760ROfIEp0Q4galaQq9gws7CM3b2nG5JTrTcomGdaKhQLGHJIQQBVVTHqa9L1nsYRTVvJwJjeV6HomURd9wGtNyUZRij0gIIQqjriJMW48EoZJg2R4DIxmGkqYU/RNC3BDqqsL0DWdIZqxiD6Vo5u1y3EQ8D1IZm6zpEIsE8CQYlbTmM70z6qUkRKlbUhsD4Fz7MJtXVhd5NMVRMjOhsRzXY2jEpHcwgy3lf0pS85levv3cSQaTJpGQzmDS5NvPnaT5TG+xhybEnGmsjaIAp9uGij2UoinJIJRj2g79Qwt7KluqnnmrBU1TCQY0FEUhGNDQNJVn3mop9tCEmDPBgM6S2hinWiUIlaxxiQu2JC6Uit6hDIY+/tvP0FV6hxZ2uqpYeDYur+RU69CCrSFX8kEox7I9BhKSuFAqaspDmJdVEDZtl5ryUJFGJERxbFxeie24C3ZJrqQSE64ll7hgmg6xqEEooAI3xtToRtvEf2h3E99+7iRZ/BmQabs4jstDu5uKPTQh5tTapRVoqsLRs/1sXF5V7OHMuaLNhA6e7MF2Zqcagu3eWBUXbsRN/K2ravjsA2upiBqkMjYVUYPPPrC2pAOrENdNVXA8WNNYzuHTvSSz9rj/FkK7oaLNhJ7bf5Gn3jjP+7c3cPO6OnSt8PEwYzqYtks0HCBi6CW7XzR2Ex8gGNDIjn68lB/aW1fVlPT4hZipIyd7SGUsyiIGx1sGefHARcoiRv7Pd22oRw/eUAtWVyjaTEhVFYaSJk++fp6/+N5h3j7WNSszI9f1SCRN+hOZkk1ckE18IW5sjXVRAC52jxR5JHOvaEHo//iFjdy8rhZVgaGkyU9eO8dffv8w+453z8oSmmW7JZu4IJv4QtzYyiIGFTFjQQahos3zKqJBHn3/Kt6/fQkvHWzj8KkeBkdMfvzqWV451MY9O5awbU0tmlq4qcvYigvRSICwoZdE2oJs4s8fN1qCiJg/ltbFOHq2n4zpEDK0Yg9nzhR9sbE6HuITd6/i7u0NfjA63Ut/IsuPXjnLS4fauHdHIzetriloMHJcj+ERk0zAIRYOEAyozOfJUe4hJw+/S4oRDHIJIpqmjksQARb0v4UojKX1Zbxztp+2nhFWLSkv9nDmTNGDUE5NeZhfvGc1d4/OjI6c7qV/OMvjL5/hpUNt3Lejka2rqlELGIxMy2HAdggH/VYRhQx0hSab+Jc0n+nlH54+RsZ0/DcUSZN/ePoYv/bwhln9Gt2oCSJifqiOB4kEdS52L6wgNO8Oq9ZWhPlX967m937xJrauqkYB+oYy/OCl0/yPx49w5HQvbgHrxeWW6PqGMySz9ryeEQnf4y+dJpmxcT0PVfGrZiQzNo+/dHpW7ysJImI2KYrC0voYbT3JWTu+Mh/NuyCUU1cZ5lP3reF3P7GVzSv9A1w9gxm+/+JpvvajZprP9BU0weBSFl0a03JKMotuoegayKAooCoKiqKM/up/fDZJgoiYbUvrYjiuR2dfqthDmTPzZjluMvVVET5z/1o6+pK8eKCNd8/30z2Q5nsvnOLV5nbuvqmBjSuqUAsUNfy+RVmChkZZOICmzts4PS3T3UuZXxvynj9jHfNP7nmgKLM7jZUEETHb6qsiBDSVi90jNNbFij2cOTHvg1DO4uoon31wLe29SV482Mp75wdo70nynedPsbg6wn07G9mwrBKlAMHI8yCTHW0tHtKJhHSUksiju7rpbqxP53WXB61PPrieZTWRgvw96qsidPQlcT0FVQHbcXE9QFV47DsHZy1ASoKImG2aqtBQG6W1Z2TB9EsrmSCU01AT5ZceXEdbb5LXmjtoPt1LR1+Kbz17koaaKPftbGR9U0VBgpHr+hW606ZNWdggWOK16Ka7sX69r5soaP3tE8186r7VBXlgf+LuVfzDz46TydpYtosHKApUxYMFyVi72qxPEkTEbFtaF+VCZ4K+4YWx11iya01LaqL89idu4rc/upl1SysAaO9N8s8/P8H/+slRjrcMFOydhG1fqkVXyk30pruxfr2vm6hXkK4rBesVtHVVDb/2ofWsbIijayqGrlJbESYSCsy4L9GNWKdPlJaGmhgK0NqdLPZQ5kTJzYQu11gX43MfXM/F7gTP72/lVOsQbT1J/umZEzTWRrn/5qWsaSyf8czIY7QWnZUhEtaJhQKF+QvMoZryEINJMz+jgaltrF/v63qHMkRC47+1ggGtoFlkuRnJl/7mDX+5dMy/70wy1iQNW8ylDSuqrsiE01WVAye66RvOEAyU/CP6mmY0E/qrv/orHn74YR5++GEee+yxQo1pWpbWlfH5D23gNz+yidWjOfatPUm+8b+P8//+y7ucah0syMzI9TxGck30rNKqRffQ7iYcxyVrOXieR9ZyprSxfr2vmyiLLGs5s5JFVuiMNUnDFnPp2Ll+jpzsGfefqsDOtXW09SQZStz433fTDkJvvPEGr7/+Oj/+8Y/5yU9+wrvvvstzzz1XyLFNS1N9Gb/28AZ+/ZGNrGyIA35RwH/82XH+7qfvcaZtqCDByM+i82vROSWyRDfd9gnX+7qJgpZtewXPIms+08tIyqS7P0VHb5JUxppyYJ2MpGGL+WDbGv9n6/DpG38ZeNpzvdraWv7wD/8Qw/DLjq9atYr29vaCDWymli+K828+vJGz7cO8cOAi5zoSXOhM8PWnj7F8cRn371yaD1LTNa4WXSzIZVnD89J0N9av53UTZZEVMjsOxic/VMWDDCct+oYyNNRE+dS90+9LNJ/TsOdXmryYTYuqItRXRTh8qof7djYWezizSvEKMC04f/48n/rUp/je977H8uXLp/Sarr7knG3ye57HiQsDPPX6WU63Xmqhu66pkg/fuYI1SysLcp+AplIWDRAOlt5+Uan58t/sYWA4Tci49D4qY9pUxsP899+6Y0bX3n+siydePk13f4q6qgiP3r2amzfUz3TIMx7T3z7RjK77iR652eVvPLq16GMT0/fKwVbSWXvcx3asq6OuKsI3nnqXn7xyhm/9yUPExvQYutHMeNfr1KlT/MZv/AZ/8Ad/MOUABDA0lCZrOTO6d1VVlP7+qWWQ1MWDfP6D6znTNszzBy7S0jXCiZYBTnx7gNVLyrlvZyPLFpXNaCxdPQm6e5kXtehqa8vo6UkU7f6XK/R4OnpGiIR0rDFLZ6qi0NEzcs37XGssy2oifPETW8d9bDa/llP52nz/2eOggKaq2I7n/6o4fP/Z4wWdYU51PHNlPo0Frj2e2trre4aMJLOkMta4j6VSWXoch41NFfzI9Xj+zfPcsWXxtMY716737w8zDEIHDhzgd3/3d/nyl7/Mww8/fF2vjYR0HMed05RnRVFY3VjOqiVxTrUO8cKBVi52j3C6bYjTbUOsaSzn/psbWVo3+RfyRMsArx1pZyCRpbIsyJ03NbCu6dJMqlTbRZSa6Wb6laqJMg4lYeLGtnxRGdXxIPuOd5dMEJqOaQehjo4OvvCFL/DVr36V22677bpfHw7qBAMaGcshnbExbWfOiocqisLapRWsaSzn5MVBnj/QSltPklOtQ5xqHWLd0gruu7mRxtrxZTNOtAzw5J5zaJpKKKgznLZ4cs85HgFuq4qO+9xSaxdRagq5d1MKey0LLegK/zl1y4Z6nt13kUTKHNf2+0Yy7ey4r3/962SzWf7sz/6Mj3zkI3zkIx/hu9/97nVfJxTQqIoHqY6HiYYDBW3VcC2KorCuqZLf/uhmfvkD62io9pc1Tlwc5H/9+Cj/9Mxx2novLfe9dqQdTVMxdP8QpqH7ByNfOzJ5QoZpOfmOrqWSRVcKppvpd7lSOZw63fR6Udpu3bQIx/XYd7y72EOZNdOeCf3RH/0Rf/RHf1SQQXge6JpCWThANKSTtRxSGRvbcedk9qAoChuWVbK+qYJjFwZ44UArHX0pjrcMcrxlkA3LKrlvZyMDiSyh4PgvWUBTGUhkr3r93BJdxnSIyRJdwRSihE6pHE6VunUL09K6GI21Ufa808G9O27MLLl5dxxXVRTChk7Y0DFtl3TW318pZNuGySiKwsblVaxfVsl75wd48UArnf0pjl0Y4NiFASJBHU+xiYzJfrMcl8qy4JSu7+aW6HSbWMSY9SW6UlhmKrZS2muRunUL0503NfDd509xoTMxo+Sp+WreBaGEtFUnAAAgAElEQVSxDF3F0A2csDe6d2RhO7MfjFRFYfOKKjYur+Tdc/28cKCV7oE0qaxNKuvPauIRAxRwHJc7b2q4ruubtstAIjOrWXT7j3Xlz9EoCpxtH+ZrjzfTUB3hE/dMr5DojRjUZK9FzHe3b17E4y+f4ZUj7fzKonXFHk7BzesglKOpCtGgTiSoY44mMmTtmaV3T4WqKGxZWc2mFVUcPdvHCwda6RnMYFouvUMZoiGd+29uHJcdN1WznUX3xMun0TQV1/VGlwsVVFWhezAzrSrT020DcbXrzYeANp8PpwoBEA0FuGV9HXuPdvLx968kWoJ1K6+mJIJQjoK/Zh8yNCzHJRTUGVSVgrb7noiqKGxdVcPmFdU0n+3jxQOt9A5lSGZsnnz9POc7E3zsnjUY04gil2fRXV63bLq6+lOEAirdA2nA77vjef79clWmr+ehX8i9k0IHtJmQvZZrmy9vGG5EExUwVVSF5GUHWN+3rYE9Rzt5bn8rD+xaOu7PggGdAj02iqKkglCO5/mVZivjIaysSdZySWVsrFlO81ZVhW2ra9iysprm0728eLCNvuEMR0730Xymj22ra7hnxxJqysPXfW3TchiwHcJBnVg4MONOsfVVEXoGUtiOm7+WB+i6Oq09j0Luncy3ZADZa5ncfHrDcCM6dq7/isOqk1lcHeG5fRcpi4xfwt+1oR49WJKPcqBEg9BYCgqhgEYooGLaHhnTz0KbzdmRpipsX1vL1tU1HDndy4sHWulPZDl0qpcjp3vZtqaWe3YsoTp+ffsKuSU603SIRQ1CM2ii9+jdq/lfjx9GVRQc10NR/CAUjwSmtedRyL2T2UgGkHfrs2O+vWFYyDatqOL5/a2caR1ibVNFsYdTMCU8ibucgqGrxCMGNeUh4lEDXZ/dRGhNVdixtpYvfvImfvmDG6gsC+J6cPBkD1/9/mGeeOUMA9MoxW67fhO9gYQ5rUSM5jO9PPHyaTKmg6L47SdURaEyZqBp6rT2PAp5TqXQlapL5axPKZLWFvPH4uoINeUhms/24bjutV9QIkp+JjQRVVGIBHXCQR3LckllLUzLnbU0b01VueOmBtY0lHHoZA8vHWpjcMRk/4keDp7sZee6Wu7evmTKqdw5WcvBHE4TCQWIhXWUKcyKcg/koKFRWRbEtF1SaYt41CBjOlREjWnNEgqxd5KbrbT3JkmbDtGQTjxqzDgZQN6tzx7JHpw/FEVh25qafPPO9dNIiJqPbsgglKMARkAlaASxbTdfImi26tXpmsquDfVsX1vLgRM9vHyojaGkyb7j3Rw82ZMPRhWxqQcjz4Nk2iJr+meLrrVEl3sghwydoZEswykLy3axHY9ff2TjjB7KM9k7GZsyXlEWREtZjKQsHNdjSU10Rstnbb1JTMvFdlx0XSUeCRAO6vJuvQAke3B+WVwdoa4yTPPpPlY1lBMo5YyEUTd0EMrxPNA0laimEgkGMO1Lad6zMTnSNZXdG+vZua6Wfce7eeVQG8Mpi7ePdXPgRA+71tfx/u1LKI9OvRaU7XgMJbJkDG10Y/LKb77mM72caRvG9Tz6hzJYjoumKmgKZC27qBvKuZTx3DvqeNQgaGhURA2+9Jkd075u85leMllndMnRP7fVn8hSZrssqipsdemFSLIH5xdFUbh5fS0/29vC0bN9bF9bW+whzdiCCEJjKcqlNG/bccmYszc70jWV2zYt4uZ1dew73sUrh9pJpC3efK+L/Se62bW+nvdvayA+xWDkARnTwbRdouEAkeCls0W5ZThF8T8xt+fieR4oKgFdnVZqdqHkUsbHKsTewjNvtRCLBEikTLzRVHTH9UhmbB7a3TRhwsJ90yg3v5BJ9uD8UlMeZsXiMt47P8CaxtJPUFhwQSjH8/y9nGjInx1ZtkMqa8/K3lFAV7l982J2ra/n7WNdvHK4nZG0xd53O9l3vIvdG+q5a1vDlKvkuq5HImmSNR3KIgECo8Elt9TVP5wZ87mgaR7xaLBoG8rNZ3pJpi36Bi0CukY8ahAO6gXZW+gdyqCp/jtEy3ZRAE2F8Gizu4nSi8vLIxP24JEMO1Eqdqyt5WL3CG8d6+LuHUuKPZwZWbBBaCxFASOgERydHWVHkxkcxyvocl1AV7ljy2J2bajjrfe6ePVwO8mMzZ6jnbx9rJvdm+q566YGYuHANfsWgX+2qH/YIRLy065DAQ0PqIqH6B3M4Hpe/v+Hg35h2LneUM7N0EKGSsb0A0XfUJp4NIiuKTPeWwgFVDr60ygKBDQFD/8NRjwSmDRh4YmXT1/RtE7Ow4hSEg0H2La6hv0nejhyupc7NpduvyEJQmPkZkeRoOqXCLLdWTl3ZOgad25tYPeGet58t4tXj7STytq83tzBW+91sW5pBRe7EwQC2hV9iy4PRLnEhWhIxwXs0WW4+uoI3f1JNFUlZGhzWvr/ydfP8uy+VjKmDSiEgxqLa6KoipJPlMiaDp+bYaIEQH79Eb9Gnv+mwQVFmfQ8Und/6orLSIadKDXrl1VytmOYH750hptW1RALl2Y5n9JPrZhFuXNHtRUhKsqCBAMaMyxkMP76AY27tjXw+5/ezoO7lvop5bbL0XP9DCUtMlk/cWIqfYt2rK2lqz+J43mUxwzCQZVo2KCuIjSjfjvX68nXz/LkG+fJWg6aquB6/v5M31CGSCjAoqoIjbVRIiG9IGPJmA5V8RC65t9L1xSq4iEypjPpeaS6CRIW5DyMKDWqqnDbpkWMpC3++ecn/P3fEiQzoSnIVWUIz1IyQ9DQuHv7Em7dVM/eo108v/8iHjCStkhmLKIhv8/S1foW5WZIrx1pp2skxcqlFTx65yo2Lq+a0diud5/k2X2tKCj5siKK4i9pDo2Y+QSMQp4zyZ1jqR8TWLLWpfNQE6UXP3r36kmvI+dhRCmpLg/x8G3L+Ome82xbXcNtmxcVe0jXTYLQdbg8mcG0/eZ7ZoEqeocMnXt2LOHUxQG6hzKkszaeNxqM0hblMYN01iY8SZ2odU2V+WBUVRVleDBFxnIIjXmwTkUu8LT1Jslk/UZ8ZZHAlPZJMqY9rq6VpirYjufvT3lewc+ZXO0cy0TpxeubKnji5dN09IyMC6pyHkYUw0QFTK9XOBDg+IUBvvXcCVY2xMe9ISsFEoSmaWyqt2UXtqL3+7cv4ck95wgZQUzLIZm28YDBEZOvfPcQd2xZzB1bFhEyrv7Plyv/EwxolEUMdG3qFRc0Tc1nCiZSJgFd9ZMbuPo+ScjwEyByt1IVBVXxQFFIZeyCZ51d6xzL2PTisdUkJks+kOw4MZeup4DpZHZtqOfXf2ETf/KNffzVE+/wn35l5zWfDfNJ6Yx0nvJbk4+v6J0enR1Nd4l2XVMlj0A+O66pPkY8anDi4iAZ0+GFA628cbSDO7Ys5vbN1w5G11P+Z+wGvV+BGzwUhpMm4aB+zX2SB3c18uQb53FcUBVwPUCBTz2wlvu3z04q6dXOsYxdTkxlbIKGRrnh772NTT6AqQUgSeMW81F1eYjf+Mgm/vL7h/nHnx3nNz+yCaWQG9izSIJQAY3dO7JG944y09w7Gru0lpPMWLze3MHeo52ksw7P729lzzud3Ll1MbdtXjRuP+NyUy3/MzajTNf9YqeqQn7J4Fr7JI+8byVAPjsuZOg8uKuRTz+4np6exFX/zoV+wF+edt2fyJK1bEKjwRT8pbf23uSU0rMljVvMZ5uWV/GJu1fxw5fOsKQ2yiN3rCj2kKZEgtAsyPU7ioVUogU8CBsNBfjALU3csWUxrze3s/fdLtJZm2f3XeT1dzq4a2sDt26qx7hKMLpW+Z+xG/TxSID+RBbH9bPOpprm/cj7VuaD0VRN9QF/PYHq8rTrgK5i2y6DiSx1lX7PJ3O0rl5ktLp4VyKLbfvljh5/6fS4a0sat5jvHrqlibaeJD957RxVZSHet3X+nx+SIDTLxh+E9VsgpLIWtj39YBQLB3ho9zLet7WBV4+089a7XaQyNs+83cJrze3cta2BD94xeRDIl/+xXCJhnWjo0hLd2A36cFCnzHZJZmyCAW3aFbinYioP+OudiVx+TigXVM3RdhS55ANNU7Bth4ERE4XcMqJHe1+K5jO9+WtPtQ+SLNmJYlEUhV/94HoGR7J885njVJQZbF5RXexhXZUEoTniZ9YVtsVELBzgQ7cu486ti3n1cDtvHesimbH532+2sOedTt63ZTGVZQZ7j3ZOWHnB9TxGUhaZrE1ZxCAYUK/YoF9UFZmTh+hUHvDXOxO5PO06Egpg2S6W441LknjmrRbOtg+PBqDRLrQe6Joy7tpTSeOWJTtRbLqm8oWPbeFPv3WQv37iKP/+k9tY3Vhe7GFNSoJQEYxrMeG4pGewdwRQFjF4+Pbl3HlTA68cbmff8S6GkyY/e/MCigKRkE5ZODBp5QXbGc2iMzRiEaMoBSsnesAnUhZZ0+FLf/MGNeUhWroSOK43ujyoEo8ahAxt0kSJidKuA7rK731q2xW14772eLO/kZtLpsCjPBYcd+2ppHHLkp2YD8JBnX/3yZv4s28f5Ks/PMzvf3o7yxfFiz2sCUnFhCLKnTuKhQLUVIRnXJUhHjX4hTuW8+8/uY3372jM3yOZtukezGBZLqqqTFh5IbdE1z+UIZG28KvOzZ3LO7cOJ02GklmMgD+j6BpIk8o6WLaLqvhnj/qHMyRS1qSJEltX1fDZB9ZSETXGVY0AeOw7B/nS37zBY985CEBDTTRf4SFXdUHT1HHXnux6Y4OLVF4Q80VFLMjvf2o7kWCAv/jeYVq7R4o9pAnJTGgeyWfW2R5p0yadtad17qg8FuTTD67j8PEuf+lp9DpDSRNVVfxqD46Lrl35HsT1PD+LzrKJh/2eP4WsBjLZfsnly4BZ0yEeMSgfbQCYztoo+LMU1/Pyvx9JWXzuoXXXvM8vPegHi+YzvfztE80wOkPMLZfdsXkRe452omnqVQ+rXmuWKJUXxHxSXR7i9z+znT//9kG+8r1D/P6nt9NYGyv2sMaRmdA8k9uLKAsH8jXrjGnOjqrLQ0TCOnWVYSKjVRZc1yOVdfjL7x9m37GuSXvV27bHwEiWwRETp0DliXL7JYNJc1wAaD7TC/gP+C99ZgeP/dbt6JpCOmvT1jNCV38K03bRNT99QtNU3NHzWaGgdkVQuNp9nnmrBV1XRmec/q+apnK8ZfCas5ypuHxGN5eFY4WYSF1FmC99eju6pvLYdw5xcZ7NiGQmNI+NO3c0OjvKZO0pB4U7b2rgyT3nQFMpjxkEDZVkxsayXQZHTH782jlePtzOPduXsH1tzRXp2p7nz0Cyll+6J2zoVznmem2T7Zc8/vKZK0rrpEcrl+fK/niuh6OAYWj5jqm5GnFTvU/uHuUxA9u59DXMLZcVYi9MKi+I+ai+KsKXPrOdx75ziK989xD/4VPbaKqfH80dJQiVgLGzo1hYn3JVhssrL1SWBXnkjhXUVIR56WAbh0/1MJDI8sSrZ3n5UBv37FjCtjW142q/gT97Gh4xyQT8JnonWgb42d4L1/2QnSgDznFcuvsz1FVF8rOWp/e2oChePgkByC+/hQ3tmjXoxt4nlbEYTlnYtkvfYIb6qvBohe9LAbfQy2XSiVTMR/WVEf7gM9t57Lu5QLSdZYuKH4gkCJWY3OzobNuQH1xGTAxd4eb1daxdWnnF509UeQHgE3ev4p7tS3jxYCuHT/fSn8jyo1fO8vKhdu7dsYSbVtegXhaMTMvhrXf7eP1oJ+CniI9NQYarzwAm2i8ZGjHRL5u12K6L5/nndTzPT5oYrf5DMm2RTNvUV4b41Jgkg7H3zN3HcVz6E9n87E1RYDhp+rMkQ5vTQqVydkhMpBAFTBVVIZm1p/S50YjBv/34Vr72eDOPffcQv/PxLVOaEQUDOvosbd4oXpGaUPT1jcy42Gdtbdk1S8HMlbkcy7izKEEdTVPQVZW7tzfQVF+G5/lVtPv7k1O6Xs9gmhcPttJ8ui+fE1dTHuLenY1sXVk9Lhj9/U/fZThtUVkWIhoOkDVtBhNZNNWvqHD5xn5uX6W2towX3jyXH3fuc7r7U1TFg0TDl5bVWjoTePjLZI7rMvZntLbCz1pzHHfSZILcx4dGzNEzWH7ju6p4CFVVCBoa4YA2ZwFh7L/XZF+b+fJ9DAv352oqrjWe2trrm1k8/dqZGRcwnY6RlMWz+y6StRwe2NVITXn4qp+/a0M90Umq9491vX9/kJlQSRq755FbshqxLPYe7WT7mjrSpn1diQy1FWE+ee8a7t6+hBcPtHH0bB+9Qxl+8OJpXjrYxr07lrBlVTWqojCQyBIK6iTTFumMTSwSoL4ywrmOIcKhwIT7MAAvPN5MR8+IX7NuTEVtXYErikeMNku1HZfL36cMJLJUxUPYjseTey6A4pfjiUcCREIBspBPMvjrJ97B8zz/z6NBwkEdz/PIZB3+8+d2TffLf93k7JCYb2KRAA/espRn377I8/taeeCWpVTHi5PBKUGoBE20txLQVVp7kvm9o8rKCHbWIjWajj2V+e5gIksybVIW1nE8SGZsegbTfP/F07x0qI37djZSETNIZGwMXcMdPc8z6HmEDD8Lr28wTe+wX39N11QGE5lx7RNM28WxHd63ZRHHWwYZSvlj9AOPh6aqqIpCKKiRvmyJwQ+sfiB0XT9AaQpkTYce00HXslTEjHySwaol5QwmTX9PK2nSP5xBVRQappGiOpPltKmW+xFiLsXCfiD6+VstPLfvIh+4pYnKsuCcj0NStEvQZG2rx26u65pK2NCpjgepLAsRCer5kjQTOdEywJN7zjGctohGDMIhnbKITlO9/8DuHkjz3edPMThiks7YZC17NEHAIWvagEd7bxLH82u0GbqC7bhkTb9AaMjQ8ynRtuPx9JstDCZNQsbobM7xcFz/7+G4HhnTwQMC2qXGE5qq+BW9bRdQUBTGLdU5jsdAwhytEO6nS6cyNn1DaUzLwXb8hIaWrmGefP1s/nXNZ3rHHV7NpYyP/fOrpZYX4t9LiGLIBSJdVXlu30WGRibv3jxbZCZUgq6vC6iCoSsYukE07JGxHNJZC8fxxs2OXjvSPrpn4S8Z5X7VVYXfeXQLLxxo5diFAQZGTAAs2yWgO9RVhLhrm98n6NvPncR1PeJRg6ryMMm0RSJlkspYVI8+cNNZfw/Jw595ZcyJu9I6rn8g1XY9FBU8l9G0ai/318pNnvK83P+OCbZ+Svulz9FUQFF4+s0Wli+O58d9ea238x3DHG8ZzPch8is3BIDJU8snmx1J11Yxn5VFDB7YtZSfv93C8/tb+eCty66Yuc8mCUIlaLpnUTRVIRrUiQb9ZbGMaZMZPY+T2+sZK6CpDCSyNNRE+eUPrKOtZ4QXDrRyvGUQ03YxbZes7QezdU0VBAMapu2QSJlkLIeGqghlEYPBEX/ZKZ216R/O5DPdxp7VmUg4qJG1XPy2er7cK0IBjazloGp+wMpl01XFQ2RMJz97megwrqYo2K7H4y+dpj/hj3XsvtJQ1ubpvS1UV4SIhHQGEhmytkJAvxSIJkotH1uo9PLluzs2L8oHNcmOE/NNeczgvp2N/PztFl440MoHdi/NvxGdbRKEStRMz6IYuoqhG8RGZ0dN9TG6BjPjDqNajjtujXhJbYxfeWg9F7v9YHTy4iDtvUn+6ecnRpfK/MyzeNR/TcbyA10kGCAc1Ojqs/IzF0Xxg8bVpE3/HJSi+GmouUBh2S6JlHXFod1YOICmqVREjXwyQEDXcEwnl+uA64Hq+evQ7X0pFMUPSrl0boB01sH13DF9iPwW7sMpKx+EJkotz82OHn/pNO19KfTRQ8KDSZM9RzunVYFBiLlSXR7i/dv8YxsvH2rn/p2NVxzTmA2yJ7TAqYpCxNC5f9dSymMG8WiAkKFh2X65mTtvarjiNUvrYvzqB9fzoVub0DX/m9RxPSzHZSRtM5DI4Lru6GFajy0rqwCVaNigujxEZcxAGS0WejW5P1YVfy+oPGoQCQXQNWXCqhEjaYtU2uKh3U35QqLxqJEPQLlrenig+PtmAV3Dww+gCjCcsrAuq6sXjxqAh2W7+VI8tuMSjwbG3d9xXNp7k3QPZlBVBddjNInCQ9PUfKagEPPVktoot21aRGdfigMneubknjITWuDGLhuFDA1DV1AUlZUNcbatrmH5ovik9bSPXxigoiwIHgynTEzLX/pKZx1MK0NtRYgP7V7O+mVVVFVFeeybb+MADbVRBoczdA6ksZ2J94RyArqKN3rWZzhpEg7qDCctfwajXgqAnucHmHjUb0VRU+4nPoSDOuUxg6ER018GVPylh4HhLJXlQRRFoX84g+v5Qcga7aqam/GAXxY/Hg2SNZ2rppbnZkeO66Eq/r1czx93XWVYsuFESVjdWM5AIsuxCwNUlwdZ2TC7vYgkCC1glzdgM22XbNoZt2xk2u5oNpxzxcwlt4+kKAo15X45nETSzGe4dfaneeVIB4GARlVVNF/LLp2xqSrzv7lHUibdAyky5gR7N6pCRcwYrXrgz0RysxAFf19JURTU/GzMzSc6jE0GiEcNFEVhJGURCmo01JYRNnRs1yMY0KiKhxhOmli2Syig8+CuRvYc7SRrOflEAl1T+NwjG6/o8jpsOqQyFrbjH6qNRwJkRxMPcl1abceVbDhRUnauq6V/OMPeo11Uls3u960EoQVsKocoDV0lWGZgO/4DPj2m+V5lWZDhtJXfwHRdf7lKHW1pnjEdLnQm+PpTx3j1SAd3b2vgkTtW8NqRdrr6U9RUhPjw7ct5YX8rI2mTvuGsf0B1zFLb2D0YD6iIGuiqQvdAekxLBz/F2wNSGXtcS+7cLK++MsznHlp3RfWGLBAyNFQ1OK6KAcCz+1rJmDYhww9MlyccAAwls4BCQNMAh2TGIhYOMOL4HXNzHXUlG06UElVVuGtbAz/dc57Xmzu4Z0cjzNIRIglCC9hUD1Hmmu9FQyrRUMBP887YrFlazgv728b198ktd6mqgq75y1rdA2lOXRzk1MVBVjbEuX/X0nFdHhUF4mVBKuMhkmmbZMaibyiNpip4nr+fUh671FrhydfP8tM3LozuC10KWH7wU69IsZ4oG23rqhrOdwxPGmj2HO0kHjOo0f0zPntG6+XlygRFQjqdfSkUFKriQSKhAKmMRf9wlnTWIRLUGEnb+eKzd2xeJEkJoqSEgzq3b17Eiwfb+NneC3zm/jWzch8JQgvYdBuw5QqoXugaYWl9jN4hv8Mp+Blq4aA/e1EUhWhQ4/MfWs8rRzo42zbE2fZh/u7J91i9pJz7djaybFEZuzfW8+Sec5THgn4TO8UjYxrEw3p+DyYXRPIBImqQSJn5NG9Vhep4yE+xHsmOS7Hu7E/x1z8+StjQaKiJ8skH1zM0lJow0CxfHJ90hvjsvlbiMSP/cdv1cF2P3sEMQcMiHjWoLDPoH85ip10Co8FT09T8tSUQibEKUcB0Nt20tpZU1uaF/RfZurqaFYsnbhE+kwKnEoQWsGsdorxaqZqn3jjPYNKkLGKwoiFOz0CaZNrCtC8lGgQ0lcERM98XKBbSsRyXrOVyum2I021DrGks5/6bG/PLdG3dCZbWx/j4XavYuLzqijHnAkQkpBGPGrT1+A26/I/5wW9sinUqY5FIW+D5/YcGkyZ/+0QzuspVew5NNEPMmDY1+qVDt56bPx6bbzdeFjEIGfq4YAVIrTgxoWPn+otSwPR6rFgc58jpPr75s2N86LZlKBNUXtm1oR59CgVOJyJBaAG72qHXy5MWLj+MmXtQm5aDaTkMpyxChkpZ1CAWNkhnLVJZByOg8eSecxgBjbKogWk7BEyHYECnbzjDqdYhTrUOsW5pBQ/duizfelhRIJG2iIbGlxu6PEDomoplu6OlfHyW489CAL8z7OhsyR2duRgBla6+NItrIuO+HrmlyJryEF0DadLZS23Qw0GdkOEnbwQDGsOjrdJzlR0UvHy78XDQbxMx0bWFKDUBXWXnulpeb+4YfeNYUdDrSxBa4CY79HqtpIWxPXuGUxam6ZBMQ0A3iYV1YhEDI6BhWjaO5+VrxgUDfjZdWUjnQ7et44X9F2nvS3Hi4iAnLg6yvqmS1Y1x3jvXn6/W8MCuJrasrEZRrlxCjEeN0f0jNd/sLpdinc76XWTH6h/OUFMRBrx8QMnJLUWub6rgZOsgCv75JMt2Me0su9fXcbp9mCxg2Y6fmaf655hy7caNgEpDTXRay5xCzFcrFpdxomWQQyd7Wb4oTqCAzYXksKqYUO6wZ04qYzEwnOXkxUEe+85B1jdVkEr7G/GO46Kq/jkb14WO3hSu4/KRO5YTDOgsqYkSDQfyM5rcMt2GZZV84dEt/NKDa1lc7c9KjrcM8NQbFzjXkWBwxOTkxUH+/un3ePuYnzL94duX4Tp+qrbneaiqQjRsUFcRIpWxqYgaPDx6iHYwcWUxRs+DgeEs9VURnDHXyVpOfinyeMsg8YiBrqt+cNFV4hGDgRGTzz6wloqoMXqAVqE6HmJJbYzGuhiV8SBLaqI8tLtp0mvnjC2a+uW/2TPlYqhCFIOiKOxcV0vGdDjVOljQa8tMSExo7IwjlbH8kjaePzXPlaHJpWG7+Z49flZcRdTgod1NPL33Auc7EgR0hSV1MWoqw5imzeBINl8OSFEUNi6vYv2ySt47188PXjyN7Xr5nDfL8bBTFj957RzLFsVZVB3jlx9axwv7W2ntSVJTHuJT966+Yja3fHGcrz3ePO5jHv7BVtdz+MTdq4CJlyK/9exJ4lGD8tilZcBk2uRM2zDfevYkNeUhHr5tWT5T7vJ249eq7Xf5UufAcHrcUmchSCdXUWh1lWHqq8K8e26AdU0VaGph5jAShMSExiYtDCetfHHq8lgwvzTXN5hmcU103Eal5/ktHXIP2fJYgIGEydm2YarjQaIRg7JIgAdvafJL24xu7quKwuaV1Xz/hZp8GacAACAASURBVFPjyuww+vvugTRd/SnqqyLUlIf5lQ+sJxYx8mWDJnbpSmOvaehq/oE8NjA881YL33r2ZL4HU3nMD5SpjMVAwhxd5tPzQfhqRUmvVtvv8qXO0OhSZaESF661nyfEdG1ZWc3z+1s535Fg1ZLCVFKQICQmNPbdfHd/ioCuUh7zu5NCrvW2R2dfCsf1Rpes/AKituMRGX3IuqMlbCzHo2cwgxHQ+Mgdq9i6qgbX8/sGpbIW9mgNHEVRUBUv36YhV2jbA772eDNbVlVz745G6irDZIfThIM60VAgX8IHLj2Ex4ay3O8UyKeQX/75uYe243qjh1D9PaehERPwqCgL5Xsi5Tq4fukzO8Zd57HvHLzm7KNQTe4mm+1IJ1cxWxZXRyiLBDjTNixBSMy+3AOrpWuEjOUwlDTxPI9IKMBw0kRRlNFWCaNVqIezREM6mqZg6Gq+dYPf0whs10+TzlEVhUhQJxz0s+xSGZtF1WFae1JXjEVV/MOwzWf6eOdMHysWlzGUNBkayRI0dKriQRT8oDGYyKJpqj/TuqxdhKJAeZkx7mOXP7T9gqXka8V5nkdVPJQPwHBl0Lie2cfVzmdNdRntaveTTq5itiiKwqqGOIdP9zGS9quDzJQkJohJ5R50QUNDwcO2/XYHQyNZkhmbeNSgujycz5TRVIV41GBJTRTTdhlOmjCaYeZ5fiuGiapJKzBawy3InVsbqK0Ij3vgg5/M8L4ti6iKB/GAsx0Jv8yP67chv9idpHc4S8ZySZsunuuOWybM/U5R4FKvVt/lSRgAZZEAkZDOY791O6uWlKNp4/88MdqWPNeN9fGXTqNpKq7r0T2Qprs/Re9Qhv/5o3eu6NZ6eeJCxrRxHJf1TRV8+7mTdPanSKQsTrYO8dc/PjquC2zO2MCZm53lvrbSyVXMphUN/oHVls5EQa4nQUhMKvegGxdsPA/TcgkbGmWRAOGgTn1VhCW1MRZVR8iYTr6tdsZ08sU7Lcclazp09ac43zk84f08Dw6d6iWVsYiE/OuWRfzWDe7oXtMX/9U2aid5mKYyNuc7hnFcl4Duj8+vCu4vx+Wa3g0msvnMtD/++lskUiZtPSN09adIZ21g/EN7fVMFfYMZWrsTdPYl6RtKM5TMjnZb9Wch7X2p0WzBDKbl4I5W9XZcj66B9Lh24FtX1eSz7FIZm8p4mM8+sJbjLYN+r6S0heO6aIp/tunpvS1XZM9NFDhzs52pZOcJMV1lo/u6XQPpglxPluPEpMYu64RHl808z8uX0rnqWRjP8x/+l7U78DzImC6//pWX+PBty3jkfSuvuGfG9A/ABnSNSFCjPOoHt2TGQlOVq5Y5sR0vH7AqYkFqK8OkMw4jGYuKWBDLdkllLAaTGooCHX1JXNefIVm2S99Qmng0iK4pPLS7KV8mKBrWSWcdLMfFtGzCQS2fuBAMaOiaSiJt+eeVxuxFKfjVFSrKguP2ZMYmLtTWltHTk+Bbz/7/7b15dFz1le/7PWOdGlQqzZJtZGN5kLGRjXGwzRCbMQYzNcOFNH1puu9KBzp5yWXdl4TOWyu9OumQhKxcXiCJO53XCasTaDrQ7gQa8HVwgIANBs8Yz7KNbM1jzVVnfH/86pSrSiWpSir5aNiftbISS1Xn7HPsnO/Zv9/e330C8aSRct9m2ZrAMXfw3P2c0e7/eCfvEkSh1Fa4ca4nAsuy8jooFAOJEDEioz3omhsDeO39NpgWcxSwh81tWtuIbbvb4HFL4HkOQxE177F1w8Iru86ieyCGwYiaflgqEg8hNfBON0yEYiaCMeacUOX34Ge/O4yENrrXViiqwS0L4Hmgqy+GQJkLC+f4oeomzndHUOaV4JIEdIeTaZE0LeZ6YFlsL8ge2/DUC/vSlkDlzMwB53vCyNXBcp+M3qEEkDqGjSAw0SxkT6a6XMFAOInMgj+7CTb3u2NZLk108i5BjEZNwI3W9hAicQ1lHnnsL4wCiRAxIiM96JobA8Oyg0hcw+Z1F/psOI5NOh0VC/jgaA/qKj3pZa1YQofAA4YOmOkHuoV4Usfxc0PwKiJ8bhF+r4xITEU0oec9dFw1oOomFs0LIJ7U0DsYx7xaH+bVeuF2iYjE9fSymY3Ac7DAhAMAnnphH06cGxpWGSgKPLQcFWL7M3w6XvY5ZugjClxBezKb1jaiteMw89pLFWIAFjyKPOy7lO3MDKa6gelIKIqIDz7pRmNdGRbNC8AljV9KSISIERnpQXfBRPRCdpDUDBxrG8KdYG/0pztCwLCOn2xsAbA383XDBM+x4oYqiUf3YAIcZ6Gu0oueQTbaQdNNBCMqOABejwyfR0Y0riGa0GBZbN9HFHgosoBQTMPxc6y72yXxGAwlYJgWXLKAgM+F/mAckTgTMY5jS2CGaUHVjHTlmSQK0A0TA6FEukLOo0iIxLWsoXeGYeLWtY3Yebgrva/DBMmE2+UqaE+mpakam9c14rX322CYdoYppzPMfJ/PFR1qUp1eTAcD03wMRVgLQzypwztO41IbEiFiVPI96H6z/cSoJcCb1jbimZcPgedHXisWbPNPDukyblsE+oIJzKvxotwnpx+kz7x8KKsXyAL7nijwCPgkVPqZGsZVHWWKhL+8dRn+a9dZ7Dnew5bYNBNtPVGIAnN88HtluCQRXrfMBEXV05mHblxw2PZ7JQyEkzBNC72D8ZRXHI81S6uzlhHth709CiLRFYKqsd2hpGpgQ56hePb3bqwpS1/XndcuTB+jWCGhJlXiYmEv0Ufj+VciioFEiCiasYoSWpqqMafKg56hBASeuShkLntl7WNagF3GDbDPAswhob7Kk36QigJrjmXLVFZqoB3SY7V5npWAexQRG1bOgSTy6A/GUel3QdMtRGIqTIt9Xo+bEHk27lsQ2cyfcq+ERNKABeaEbVeeeRQJqmYgGGVvq6IgwO0ScKojlDWF1cb+sy0GdqaUbyiefW3l5R7Mz3D0Hu9+TmbZdjypp0aWG/jnV47gbzJGkxPERLGdTkphZEol2kTRFFICfN/1i1Duk1FT4b6wFyOzfRO7L2j9ZbUpQbJSQsXESuCZ0GT2v/i9MiywYgXduLD575J4ROIaBoIJCByHW69qxFWX1SNQ5oJhWnDLInxuCbWVHvg9clrsglEN4FjHkGFYEHge1QEFdZVuzK/3ZfXZJDXmzO2SBdRXeVDuc+Xtd7IZqYdn+0fn8/5869unSvL3Ypdt203CumGB5zgkUsuLZJJKlAr7JVASJi4hE8qEXn31VWzZsgWapuGRRx7BQw89NOGAiKlPIZviuZ9pqPHhvg1Nw97Gz/V8gJ6hRNr6xzQNWBbLiNp7IxAFHmUelo1U+FzoD7G1aI4D/B4JgTIFSc1AwCtnWegokoBKvwLVMKHrFqIJDT6PBEniwHE8YnENsaTO9oD0JKJxDfWVbtxw5SUYDCfw0bFeDIQSiCd06La/nWmlepikUavdChmKl/nznoFYSfZy7Aw1s0nYTJnO2qJJ2RBRChIqcz7J/Xc+HsZ9hO7ubjz99NPYunUrZFnGgw8+iLVr12LRokUTDopwjkIfhoUsGeXrhcnlvusXZS1ddfRFoRtsEivPcdANtkfEcxxqKtzpfSF7Sa9rIAZdN9E/lMCh1r6smDasmoNfvX4UPM+lrIFMaJqJhzc3o8or4/1PuvDuoU7EkzqSmonO/jj2HOtBW08YYipj8bolROMaYnENlmUxN3GwPSN7+TH3nikSn3dWUeZQvMzlMlHg8cvXj8GjiBPay7GrGTXdSPvuWQA4zoKuG2TbQ5QM21vRHsEyEcYtQrt27cK6desQCLApe5/73Oewbds2fPnLX55wUIQzXOyNbfvhnVANGIYOUeBSc3rsRtfU+GwLAMcG44kiD8MwYZoWglEt7aLNcRgW69nOECJxlu0EIyrKvDJqKjxwSQJcsoCNV8zFuuV1eGXnWRw61QdVN/Hx6QEAgM8tIaHpEDjAo8ioqfRA1VijazCiotwnp5tZc+9ZLKGnu3TtPaFYQodbZlkPl3IP5zkOSBVjROMqFFnIMkgdKXMZ6UXB/uzP/vNwejnR3pMbDKtoqHSX/O+QmJ0EIypEgUN1+cT/TY17Qa+npwc1NTXpP9fW1qK7u3vCARHOMZofWamxH95DURUVZS64ZCHdc8RzzCjRtFjGkVnH4PdIsJDpxMBseQJl2fs0h1r78NoH7H/LIg+e5xGNaxgMJ/DuwXZUlrGRFOd6Ivi0K4SA35VlxhiJM2dvVbMQjibROxQHYKGizIWKMhkPf27pMMdq+555FNbHZNvyiMw8D1LKaNU02Z4Wz3OoTM1VArjUMhrSMefLXDLvW+aLQqYlUG2FGwLPStXZzJdUqfwEO9sJwqZnMI55Nb5RK2ALZdyZkJXrxwIUZd9QVeUb76mzqMkob3WaqRQLUHw8AxEVZW4x6+9RFDgMRtQxj7XnaDe2vn0qPfPnno2LsGZZ3Yjx7Hj5EFyyAEUWEU3oCMc0WEiNcEiZvdVWeuBVRJzrDgPg0k2josCjs585bUsij0CZC16FWQoNRlR82hfDL/7raHq0N89xKRcG5i/3aWcYc+ewDH7re6dRX+VBUjUR5rVhDbYWmPu3wAMcz6EvmIBL4vHu4W74ytyIawZ8ipj1gBcFDpG4jh9+dQMA4JtbdgIcoMgiACntIiEK7HqY4LGCC7vaKKHqaKjxDbvvmfcNQGqwoI4d+ztw47pLAQCqYaGmwoNgRIWmm6n7pkAzrIL/TUylf8tTKRagtPH4vC4IojD2B6cQ8aSOvmACV7fMKcm9GLcI1dXVYc+ePek/9/T0oLa2tuDv9/dH0mV+42WkfQYnmEqxAOOLp9InDyu9TmoGKnzyqMfKXJJSJB69gzH87OUDWSXMufF09kbgUURouonBEHvj5wHoVuq93bIwEIzDshQWD8chEmel0xaY+PjcUnrsgqazaj1J4PCzlw8gkdTSrbKaYUJM9SFpuoHaSk86luNnB1HpZ5lYOKaml89yMUwL/UMJ1iTr4nG6fQhb/uMAKspcEEWBuWEnDRimNeyeZV5rLKHBSGVChsH2hQI+V6oZF1A1I938euMVc4bd98xj2fAch87eSPqz9t9jbcWFpZJC/h5tptK/5akUCzB2PMU+lCPR5LRrVmWN6MDief5h92I8ojRuEbr66qvx7LPPYmBgAG63G9u3b8d3vvOd8R6OmAKM5UeWSea+RCyhwyUL8CiFD1HL7DWynRJMC5BlAX6PhFBUg6azqrcHb2DFLpn7IOuW1WLn4a5hrgUix6edDlTNSC/bsWIH1mh6z8ZFw+IYCichSwJqKhTEEgbCMRW6MfwlyQIQjOlQJAuabqBvKAFRZEUKNQE3EhpzDm9uDKQH3MUSOuJJZhOkZRzTAtAfjCNQpsCbWsKzzWFHKggZ0zi2yL9HgiiW1vYgPIqIxtrSZIQTyoQef/xxPPzww9A0Dffddx9aWlpKEhThDIX6keVuxg+Ek0hqOiSRz5q8Olo1VuaDkjljsxTI75HgUdiE1tyy69w48jkL2G4Ofq/MnBhSWYcFtgezeV0j1iyrS7/BZVaUGYaJcEyFV5FQW+GGrpsYiiTh97kwGExAcYmpIXfMmw5gWZvAAR19MXT0xVDhc2HV4iocbRuCqpvwKiISqp62B8qEjahg5a5fuH1ZQcUfYwlMvmKPOdVesu8hSkI4pqKzP4aVi6pKsh8ETLBP6I477sAdd9xRkkCIqUEhpde5k0glkYeeGmJni1DupNCBiIrKVEVZ5jm27W5DLK7BtAx4FTYuotD5N/lirS5vw1Aqjkq/ki6DdkliXtcA+8///MoRJFKZUyzBsjC3S0R9lReKS0QoosKtiJBEPssZ3AIQVy8sjUXiKt450IEKvwu1FR64ZBdiSR1JNTsLApiAzavxIqmZBQvEaC8KmS8HFWWuLIEiAZqaTCcDU5Hn8ep7p8FxwL0bF03ItDTruCU5CjGryG3G9HuYvxrrT7Gy3Lbth2KZe3jJd6aIlMp4MzNTUGQBPM/MQ/NZ7GSes7JMRiiuI5HUU7ZArELOJQuQRB7NjQH0BpMYCo3ea6OnMq+hcBIuSQTPa1B1E1UBN1TNRCSmpvecNMNC31AcHM/j61t2pa8buCAyiiwAloWEZuYtx84k9+WgkGVRwlmmk4Fp8/wKvHuwE59prsW8am/JjksiRBRN7r6ER5Gg6Waqj+bCnka+8uWRHoqldIR2icyBG7BQV+nBgzcsyRK7HS8fwqcdQcRVI70Xo+omYFko80gYDCchChzKfS5wHCudvuPqBdj2wacQeC+CURWRuAaew7C5QvYelGEiPQAwGGEuBh6XiECZK+1PF0/qiCUNVJVL6XLrX752FOA4eBQxPXQP4FBRJo/ZtzWSUwM1qRKl4M0956HqBu669tKSHpdEiCj6YZ9vX0ISeTxya3PW98Zy2x4rpsx9p+7BOH669TAUl4C5I+xxZH6nodoDNVUxl/t7lywgqRmphlc2k8g0mUuD3yPhv9/Xkr4fAe+FJcTfbD8Bn0dCTUCBzyMhElMRjo3sItw9EEsPsrAsIJrQEU0VcdiVfbG4hkq/C6rGnBQGUvemosyF7nASHMcDsBCO66ivlEfNbAopWiCI8RCJa3j3QAfWL69HQ1XpsiCARGjWU6xLQjEb3xN5KOY6QodjKiwLUDVzxBjHWo6yf6/IYsqAkS2daboJSWDTXDtS/UeZBRH2dccSOgbDzEKIFziUeWQoLgmhiApVM1LGqxlzkkboQEja48sF5uAd8LkQT+qIp0q8TctC90AMCdVIzTkC9NQS3mgiTlVxxGRgWRY+PNINjgPuvq60WRBALtqznmJcEnJdDvw+GS5ZGDFzGs1t+1BrH556YR++vmUXnnph3zCHZ9sRGkCWIadumCPGmPkdm8yHdubvRYGHmbGUxhp0OYh5jmtftyzxMC22l5NUTQwEE4jEVATKXKgqV8ClmmK9ioh7NyxEWYYDQy5iyronoRroGWSC43WLqA4oUGQRumFbFyE9qgIYXcRbmqpxzYp6hCIqzvdEEIqouGZFPe0HEROirTuC871R3Hb1gpLY9ORCmdAsp5h9BFuwDMNEdzgJXWcjDl5+69SIJqf29wYjKipS1XEAxsy+Ruoj4nkO3QMxaLqB/qF4lmnpWJmX/XtZEuD3yuhR4wCY2YE90K7c50JHXzTd46NIPHqDCeiGCUkU2OC91MaPmRqW1xeMo9wjoWluOSSRx+olNVjaWIE/7j0Pv1dCOKoNmy/rdolY01yD/Sf7kFANluFFkojENHgVCYqfRySmIxzXYJoWdN3EuZ4IBJ7DumX5m8IPtfZh5+Eu+H0yqkUlPcdoQYOfhIgYFwlVx4dHu1FR5sLGK+ZOyjkoE5rlVJcrwxwCRnrb7gsmoOsGBsJJGCmPN3sJa6RZNS1N1fj6n6/G//f/3Iyv//nqEf3WcjObzCzKnsJqWhaM1DwhjuPAcVyWb9pYc47s3ydUHYosZJifchAFDpV+BbEEe/CfOB9EMJJEe18MSY3dH91gw/Qy2yOYLxwwFFFx69pG/M//thJrmmvB8xwqylyQJQEVfhckkcvywAvFNBw41Y/LFlTC73UhkdThd0vMXshk95jjgLpKNyr9CmRJgCRw8Lkl7Dzclfd+X0zvP2LmY1kWdn3chaRq4prL67MmG5cSEqFZTiED6myqyxWEoswOh0+JwEhLWLnsOdqdXn5rbQ9B1w3Ekzq6B2Jo741gMJRAR180/fmWpmo8dPMSBLwyXJIAnmcPcXZONja73CdnPWQzvxNL6Ah45azSbPv3FX43Ygkd9RVu+L0yaivcqK1wQ9UMRBN6ugFVM6x0BmOYbG+Gw4W9HtsujuPY8t4bu9vAgYNXkVDld+G2q+czlwaeuQ1XBRT4vRIWzvGnxponsfPjLrS2ByEKPK5paUBdhRuCKKDCp8CjSOgPJaBqOqoDCpYtqERdpRuimP9+j7UcSRDFcOzTIZzvjeLK5hpU+ievuIWW42Y5hbokAEywnnn5EBOCnCWs0R50h1r78OKOUwDHhmCFoioGUsPpeJ5Pzw0yLSNreS23j+inWw/DtCw2aTXlrGBZVta5x2q2bWmqxo3rLk07JmRWBqqamRYURvYiGpv2eqEM284ELQB+r5QVh8DzuHJJLfqHEnjnYCd6B+MQeA7XttTjhisvwYdHuvDqrk9Zhmda6A0m8JvtJ7B8QQUGwuw4ksBD00zomglZEjAQSsKjiKir8CAUSQ67NqqOI0pFz2Ace4/3YF6tD82NgUk9F4kQUZBLgv25OdVe9AzGYVoWRIGH3+sCz3MIpIxE87FtdxtEkUuNFWBjF3oG2X6MADbSGxzgVcQRy49bmqrRNNdf8oesfe1M5D5OV8sJApclOJLAgRd4mBbrJxIFDlZq1ITfc8FmKJODp/rw5t7z8HkkLF9YiWBUxb6TvZhb48P7n3TBstjSnj2awrKAw2cGUe6VwQOIJzS4RAGyzKeKFZgrRX/IQG25G+G4BrdLgCTwsCyqjiNKQzSh4e397fC6JVyzor6o6QjjgUSIyGKsnqH7NjZlTUIt5EHXF0yg3CenDUHdLjH9gDctQBTZg9ztEgv2myvlQ9aufmPVbcwtQTcs8PwFEbLnFRmGiWtW1GPn4a70PQhFVQxFVMTiGp56YV/6ntl7NKYJDEWSqcmpPuw51oP+YDJVfs2q5IyMeIKpuUJ1FW6sXFyBg6d6oeqspFsz2DWvaa5lE18TGtp6Ith/ogdd/TF4ZAFGamTFRJwniNmJbph4e18HdMPELVddApc8+WMmSISINIX0DBWzfGdTXa4gktAg8DxiCQ2hmAYrNWOt0u+CR2GlzEnNGDWrGc+5C8EWi3KfjIFwMi1EpsnMVQM+GZaFrMZVANj+0XnEkmwPyetmbgiZ9yyz8tCygGhcB8+xPaKaCgVDERVJ1Rixn6h7MI7uwTgqylzQNBODwQQ4jkNVuSv9mR17zuHtAx0AgIDPBZ9bhKYaGGsPuVQ2ScTMwbIs7Py4C/2hBK5fPRcBn2vsL5UAEiEiTaHeY4Uu39lsWtuIF3ecQkRNIhzXsoZ8DoSSsCwLoiiM27R0NPI9bG/MmXliiwWXuu5QTAN0Vhb+pXtW5HVmsEuhDdOCbphIqAYSKjM9te9Zvj2auMrGU7hdIlv6U9jo8UwTS4FnBRCyJCKW1DEYvrD/I3DMeeGVnWdwZW8Eb+/vgJla1usPJtAXBDwuEX6fBEHk8fuU4eTlC6uz4r+YY9yJkXHawFTk+fQLyyvvncGnXWHcfd2luHHNJcM+WyrD0mExTMpRiWnJZHmPtTRVo7zcgx/+eg8bcy0K6WF0Q+EkghENTXPdY76NF/v2bj9sdcNCLMFGe7e2h9ATSuKmjJ6HTLHwKKzgIakxsRjLKFRPlapbqfHcbpeYvmd/ccuSvMuHzY0B7DnWg+7BODwu1qCaSBoIRdkSnV2B55J43LB6Pl57/9OMKj0LkbgOt0vAuwc7WaFG6ili1/LFkjqSmg5RYGXouw53QeA5/OGj82jvi45r/hMxOThtYPqZZXXwukS8c6Adf/joHDZeMRd3XL1g0veBMiERItJMZnXVmmV18CjsgZv5D1yRBcQS+jCbnFzG8/a+bXcbdMNCOMYcFwSeh2FaeHnHSdT6XenvFbvXlCnWosine6bsN1r7nuVbPmxuDKT3k6r8LvSHkogndfg8MhqqPYjGmUWRkOozOnJ2IG3dY5oX6vXiSbaLJPBMmHJ7ONhelIWkYeLw6QG0dYdR5pExr8aH051BROJqUfOfiJnLodZ+/Pr/nMDlC6vw0M2LL6oAASRCRAaTXV1VjMjlZj2RmFr0mAI21VSDbfkDIOV8bWV9z/7vl99uRWcfc62uqxhZeDOvwx5jYZisYi63zyp3+fCpF/alr8NuKu0PJhCKqkiqOvxeGTUBN5KagetWzsEr752BIHAwTUAUWEl4philV3JyNpZ8KcsgVshgQTNYBpVQDciSAJ9bhmEy41lNN6mUe5ZyrjuMLb87jHm1Xjx61/J0BevFhJpViTRjNXtOlEIbYzM96uysp6M/Bl03sj431tt7dbmSXi6zscCG8OX7XlIzUBVwo6HaA91ClhvDSNfhdokoc0vgeeZQMNY9y20o9aSmuAopL7mhsAqvS8Rf37YMK5uqUR1QUtmKldYZW27EjAvL1CC3zEROTU2LFQQOUqr3STeY60T3YBSxVIm3x82WEKmUe3YRiWv4p999Ap9bxP+8f2U6K77YUCZEZFHsxn+xxwbGrm7LVyAhCjxCUQ1e94VenLHe3jetbURreyhttcN8s1klW+73ihkIl3sd9ZWegqvL8mWDoshj8bzyPEuSFu689lJsfec0BJ7tOdmZj1cR4VZERGIaDNOClmG9ZIFDOKqitsKN61bOwbsHOxCKa5BFdk63S4JuWNA0E+e7I6itcGPz+vlY2liRLkknZjaqbuCPe89DMwx87fNXXrRKuHyQCBEXlXzTVH+z/USWIOUrkCj3yegPJpDUjIKXCluaqrF5fSNe+6ANhmlBEvhUc6cw7HvFFmUUI9aZS4uKLCAW19LHZ8P0MMJ1cFi+oAoAsPNQJ459OohoQofPI8HtYsttPg/gd0u4/sp52LHnPM52hZFQWcZYAw6yJLBlvZ1noALpXiNR4HDPZxdhaWNF+mz2MD9XaqlOTDXBEjML07Lw7sFOBKMq/vbPLsfcGp+j8ZAIEY4wWqFBvmxBEHjMqfbC55aK6m2589qFWNDgz8q+HrilGfOrPVmfy3fOcExDUjWyRm8XmyXmXqeqmwDHQeQuNJTa8YxU/bd8QRWWL6jCd3+9B5coIkJRLZ35SAKPwXASTXPKsfAOP1o7Qtix5zw+7Q7jTGcIv3j1CBsRDgCWAUHgUJfKkDIFyEY3LEQSGoaCSbgkgVX7SbRqP5PYe6wX7b1RZvOSOAAAIABJREFUrL2sDs3zh/8buNiQCBGOMNry10gFEpljuoshN2upqSlLe8fZ5J4zHNMQjCbh98hZInm2M4RjbUN5hTCfiORep2GYSCR1xBMamuaWY9PaRqxZVocdH5wZs/pPSi1JVpS5kFANhGMqVN1ERRlbSuE4DovmlqNpjh+n2oP4r51n0RtMpDMjSeQh8dyIApSJaVmIqzoSqg5B5OB2SVAknrKjac7pjhCOfjqI5vkBLJ1kT7hCIREiiqJUnfajLX/l7rkosgCR41PLdm2T1t3vkgR0D8QAMN84v0dGeWqt3CUJCCZ1vPZ+G6oCyjChAPLPSEqoRlokYgmNjWgA6063P1Ne7iloT8oWSlUzEPDJKC9zYTCUwHUr52RdB8dxWDwvAJ9bRFKXEE8a0HQz/Z/fvnUKj9y6DJfUjr0MYwHQdQthXUWU4yBLPDwuibKjachgOIH3D3ehrsKNNUvzz6RyAhIhomBK2Wk/Vrl2prHoZHf3Z56jodoLVTfRMxBLzxuyiScNmJaZVygA5BURw9Ch6uw7oZiWminEQRL59Ge2vn2qoD2pTHHuHUqgvtKNh25egjlVXiRVY9jgvKGICq8iwZtqvg3H2DJePGlgy+8OY+klAdy4Zh7mFbgnYFpsEmxSNSCK7O9DkQVkT0oipiKqbuDt/R2QJR6fXTUnPal3KkAiRBRMMRVkY1FoT1IpzzkShVbjaYaZLnW2yRSKfCIiChwr5wag6yZMk9XomRaHroEYytwiegZiBfdQ5S+IsJDQTESiKvSMWu2KMle6Kk6RRbgkAZGEhmTSgKqbOH5uCMfPDaG5sQI3rZmHOdXegu6XBeY0HoyoiPAc3IoItyzQUt0U5sMjPYjENdxy1SWOlWKPBOXURMGUcmhaoT1JF2NQW75zMNfv7J4mgefSZqs2tlCMNKF2TrU3fZ2WdWFInmVaSKoG+oJJmJZZ1HDB4XBQJAGV5Qq8binty3fdyjkwDBOqzo6pGSZEnsODNy7CX9yyBPWVrDjjWNsgfrL1Y/xm+3F09kdHOc9wDNNCJKahP5jEYCiJZE4vF+E8ZztDON0RwuULq1BX4Rn7CxeZqSWJxJSm1LY+hZQ5T4aV0J6j3fj37cfS+1qKxKeXzGzyVeOtW1aLnYe7RiwTHymzs6/zW/+yG+290WHLZoOpAX8P3bxkQvttPMehzC1BkQWEYxqWNlbgTgDvHuzAYDiJijJXVlFC8/wKHDkzgDf3nkfPYBxHzg7iyNlBXLG0Btdd3pAWqUIwLQsJzUBCMyDyHFwuEW5ZhCRylB2NwmQamIo8j3A0iZffasWC+jL89e2XDbN3mixT0mJwPgJi2uDE0LRSnzN3yutQVEUsoacHB41VjZdb7p0rFKP9LpHaS7HLqzmOjYqwLPa9r//56pIsMUoCn6qg03HZgsoRK+F4jsOKhVW47NJKHD49gB17z6N3KI79x3tx4HgvViysxA1Xziv67Vk3LeipWUeSKMDtYhZF/EX2JJsOTKaB6WeW1eE/3zkNzTDxxTuXw++Wxv6SA5AIEQUzWfN8LuY5t+1ug2YYiMR16LoJUeThlgX4PHJBPUijZW9jZXbV5QoGwklIApc2iTQtQBK5kpuHcgDc9j5QXEM8qY+YkfAch5amKqy4tBIfn+7H2wc60D0Qw8enB3D49AAub6rCDVfOQ23AXVQMlgWomgFVM8DzHNwuVsggCVwqQmIyOXiqD3tP9OLeDQtRV0RWe7EhESKKYjJtfS7GOdv7oogndQApM1PDRDhuwjAt3LexKS12dsVbKa9109pGtHYchmlaEDjb782C1y0XvLxYbIk8z3Hwe2QosohIXIOqsT2b422DeZfpVi6qxoY1jXjro0/xx33t6A8mcKi1Hx+f7sfKpmrcsHouqosUIwAwTSs9CVYUeLgVES5RSI9JJ0qLppt45b0zmFfjw+eumtqegCRCxEWn0AfpZEz/NAxWHCBwdrE021xXNQO/fO0oEqoBw7QQiqr45WtH8debl+UdajeeuFqaqrF5XSNee78tbYvjUWRIQmHmoRMpV5dFHpVlLsRVHftP9OKVnWcgCDwUl4hQXMMrO8/gTgBLGyvA8xyuWFyDlqZqHDzVhz/uO4+BUBIHTvXhYGsfVi2qxg2r56FqHPtylsUekFpEZaavqeU6SRIoNyohH5/ux1CE2fKIwtSuPyMRIi4qhT5IJ6s/iI1bAEykZvSkspGkZiGpZW4QWwjHTGz53WGUeeS02AD5m1ILjatQG6F8jFWuXog4umURB0/1oa7Sg4RqQNVMyKIAFayAIXP/SOA5rF5Sg5WLqnHgZC/+uK8dg+Ek9p/sw8FTfbhicQ2uXz0Xlf7xFYmYJnNliKs6RJ6DotjLdVTqPRFCURVHzgziqmW1WDS33OlwxoREiLioFNr3M1n9QXOqvegNJhCNa9ANlo2IgohInC3RcWB9MHbBUlIzUZchNi5JmHBchdgI5WO0htZ8ov3L147C75WRUI0sUTrTGUagTEbA50o3sdoedPkQeA5XLq3FqsXV2H+CZUZDERV7T/Ri/8k+rF5SjetXz0VF2fgrFvVUqXc01dfkUcS06zdRHHuP94LngTuvvdTpUAqCRIiYNDLfzBtqfLjxijkFu1Xnfi6W0BCKaugZiOGpF/aNe2lu09pGvLjjFAJlrnQlXP9Q9rltIbL/N8dxabHpHoihIaeps9i+pdyMpdBMaLRy9XweddEEG2JXX+XJaxCr6RbcLgHVATcGwwm45dEf+gLPY00zE6O9x3vx9v52BKMq9hzvxb4TfbhyKcuMJjIWwLLYXKekZjBHbw85ehdDV38M53oiuGJxddpyaqoztRcLiWlL7mC6wVAcz//hBBRZyNvUmbsxn9n8aXuu6QabBGo/UPMNnBuLlqZqfPGelqwmWcVlV2xhWA+PKPKIJ3V0D8TQOxhLjQvPLqktpm8p38C+n289VNC1jNbQmttwG4pp4DjWv2OLqCDwaYNY+zixhI7ewRgknsPt1yxAIVXUosBj7WV1+F8PrsKd1y5AuVeGaVn46FgPfvTiAfz+vTMIRvJnVcWgGxYi8VQjbDgJVTOH/f0QF7D/DryKiMsWOO+OXSiUCRGTQu6buSIJ0A0LsKy0jc1ofT+Z/UGhqAZYrK+m3Oca1xJYblaWmUk99cI+dA3EEIqpWaOzATY8biCUADM15cDzFoJR9oAt80hF9y3lW2Y0TLOgaxmtXL26vC0rS9LtUQ8ZwjSSQWzmcXTDgljgMpgo8Fh3WT2uXFKLPcd68PaBdoRjGnYf6caeYz34zLJabFw1F36vPPbBRsH2rGN9Vhw8LtaQS31H2ZxuD2EwnMS1LQ0QpngxQiYkQsSkMNKyWyyh4y9uGdsZIPNB2TMQgyTyKPe50r5XxSyB5e6X2FmZfR5b8PwemTlOGyYAC4okIpZg/TUcx6rqKv0KNN1EUmU2PpkFC0+9sG/YNeUuvbX3RdOu2jYuSSj4WkYqV89t6hV4DoZpZglAPoPYXESBw7nuEN7YeRrtfVHIAo9rxxj9IIk81q+ox5rmWnx4tBvvHOhAJK7hg0+YGF21rA4bVs1BmWdiYgQwR++QriISZ31H5MrA0HQT+0/2obpcwaUNZU6HUxQkQsSkMNr+RaF9P/bnnnph34Sse0bKyuzsY6TMAAB+uvUwAGbj4/dI8CgSLMtCLKHjqceuBjByJd/ZzhB2Hu7K+nkiaSDEq1nr9UmNFQ5MpCQ99xpqAwpCcR08z8GyrIIzNttRguc5VJTJsMBh+0esZ2qsGUSSyOOayxvwmWW1+PBID9450I5oQseuw1348Gg31l5Wh8+uLI0YZfYduVKFDLO5zPvI2QHEkzo2rGpIN0JPF0iEiEkh9808oerjttuZiHXPodY+tLYHYVoWJFGA3ytDEuW8YxLyPfCb5vrHFMCRKvm2f3Qefp+c9XOfR0IkrkFxiVnjvZsbA3j+DyfSoxYGwkm0dhzG5nWNuPPahQXdp9xrGI+obdvdBlHkIPA8InEdksgjUKbg0Ol+NDdWFLQnI4sCrm1pwFXLavHBkW786WAHYgkdOz/uwodHerBueR2uWzkHvhLYyFgWLnjWicxgVpllFkGxhIZPzgxgfp0PtVPQoHQsSISISSH3zdyujhvvZNTMYxX6QLUzFI5jE290w8JAKAFB4GFZVkGZVCECONLSY0LVUS1mn6PMI8EwTAS8clZ13L9vPwZNNxGOs5lDAsfe9l97vw0LGvwlmShbCH3BRMpBnMmNpptQNQORqIpAmQvhuApdL2ztS5YEfHblHKy9rA4ffNKFdw92IpbU8e6hTuw+0o11y+tx3coGeJXSeJrpuoWQPV7CJbIm2CleVTceA1OR55HpQ/rrbccAAI9sXobq8gtuFlPBnLQQpkeUxLQk8yFYaC9MIccqFDtDKffJqYmmFiwLGAgm4PdKBWVShQjgSEuPiiwOc+e2xzt8/c9Xp39WU1OGn750APGkAQ5Iv8ULHAouWigV1eUKIgkNAn9hY1vVmWi6JAEuyY1oUkc0rqVmI42NSxKwYdVcrLusHu9/0oV3D3UgnjTwp4Md+OBIF65eXo9rW+YME/LxMnypbupOgh2PgelnltXBm9obPdMZwodHe3DbuvmYXzu99oJsSISIGYudoXApEQjFNDZYzrLyzi4aidEE8FBrHyJxLTWJlYffK0EUBRiGiVs+M4+NfsDYy4i2uWnmMFfDtGCawIlzQxPqjSoGu49K5/KPqwAAr4sNsYsmdMQSWsGZhksWsPGKuVi3vA67DnfhvUOdSKgG3j7Qgfc/6cbVl9fj2ssbSjZ0zV6qS6aW6twzbKnOtCy88OYJ+L0yNq+f73Q444ZEiJixZGYoHoUVFSQ1AzUVnpI8zDMLEqrKFQQjKgZCScyp8uDBlMiNNfrBJtfc1DAtGKYFngMkUZiUseb5aGmqRnm5J2veUr6Y7dlFbllEJKay3qUCz6HIIm5YPQ/rl9dj58ed2Pkxm9H01r52vH+4C1evqMc1pRQjAJpuQctcqpMFSOLUXqobi/cPd6G1PYT/sXnZlJuWWgzTN3KCGIOR9nPu2bioJMfPKkhICV1SM+DzyOmHdjGVgJnmpqbJvO04noPfK03KWPORWLOsriAHB4CVdAfKZCQ1s6j9IgBwu0TctOYSXHN5A977uBO7Pu5CQjXwx33t2HW4C9e2NGDzdU3jvYy8ZC7VSWl7IH7aZUfxpI6X327FpQ1+rF9R73Q4E4JEiJixjLSfs2ZZ3YT2p+yqsxPnhlIVd1J67PdERo9nmpuW+tiTC3NkkCWFLdHFdZhFpBhul4ib11yCa1Y04L1DHdj1CROjN/ecZ2J0eQPWL6+HawxboWLInXWkyAIUWRw25n2q8urOswhGVfxf97ZMOwHNhUSImNGUev6RvQSnG1ba56x3yEC510CgTJnw6PFie6MmY9zFeOHAwacwN4NITEvZCxX+fY8i4parGnFNSwPePdiJ9z/pQiyhY/tH5/DeoU5ct7IB65bXZ92TUmCarO8rntQhChzcLpZ5TtVZR10DMfxhzzlc19KAhXP8ToczYUiEiEkjn4GpUw/IUrFtd1vKP47NwzFSFWLBqAae5yEKXEnGnRdSGj5Z4y4misiz8eJJ1UA4zoxSi8GrsMrFa1sa8NHxXry99zxiSR3/58NzePdQJzasnIO1y+tK7rLNZh1Z0HQVPMdBlnh4XFOrCdayLPzHW6fgkgTcu7G0S5VOMT1yT2LaMZKB6XhMR6cSfcFEqqSWg8BzEDPK2ZKqUVTV3Wi0NFXjmhX1CEVUnO+JIBRRcc2K+vSxD7X24Z9fOYL+EDP3jCf1LJNSp7Es1idUWeaG3yuD54t/jPvcEu69YTH+78+vwjWX10MUOMQSOt7Y3YYf/tsBvHeoE6puTEL0F/zqBsJJ9A/FEUlo0M3i+nkmg3M9ERxrG8Ld110KfwmcJ6YClAkRk8JYVjnTlepyBYPhRLqPhuc4iAIbc+BRxHEbquZmiYda+7DzcBf8PhnVIlvm23m4Cwsa2PLL8384gaSmQ+A4GIaJgdQsILdLnFL7RhwHeFwiXJKAaEJDPKkXvcRV5pGxef0CXLdyDv50oAMfHu1GNK7h9Q8+xbsHO/DZVXNw1bK6LLPWUpI560iQWPGJS+LBXeT8SDdM7DnWi4YqD65fPfeinnsyIREiJoVC5wZNNzatbURreyhdPm2B/cftEooe5zCSoSow+lA/gHnZSSITdj41siEU0yAI/IT2pAqJfTx7UALPodwrw+0S0/tFxeL3yLj9aiZG7xxox0dHexCOa3jt/U/xp4Md2LhqLtY0106aGFkWoBkmhsJJR4oZjpwZQCSu4a82L8tqJp7ukAgRk8JoBqZThfE8UFuaqrF5fSNe+6ANhmlBEnhmDyPy4x7nkC9LHEvEPYoIv1fGQCgB02Lv5Fpq36i5MZDX0XuiTHQPyrIASWD7RQnNQCSmpu2BiqHcK+POay7FZ1fOwTsHOrDnWA/CMQ2v7jqLdw52YOOqOVjTXAtxEscZjFTMMFnEEhoOnxlAY50PSy4JTNp5nGDmyCkxpcgdwDYRA9PJIN9wuUL3rO68diG+9GcrsGReOco8EuorPUXtBeUOoAOGZ4mZQ/1sbBG3f+d2iaj0KxAFDqZlQZEEXLOiHjsPd43rusYiUzxzB+UViyIJqCpX4PNI4y4xDvhcuOvaS/G/HlyFq5bVguc4hKIqXtl5Fj968QB2H+ku2petWOxihlBURX8ogXB04sP88rHvRB9ME7hyac2kHN9JKBMiJoVSGphOBqMtdxUzZmI8FJIljlUdZ/9OkQXwvAuGYeKhm5dM+LpGo9RLrHZJt1sWEI5rSKrFlXTbBHwu3H3dQmxYNQdv7e/AvuO9CEZV/P69M3jnQDuuXz0Pq5dUT/oSlmlaKNBOL81IBqaZJqVt3WGc7gjhpjWX4IYrL5k2xqSFMrOuhphSlNLAtNQ4uWdVyJiLQoxT8/3uN9tPTNp1TdYSq8DzqPC5kFTNVEn3+LKXijIF93x2ITaumoO39rVj/8leDEVU/OefTuPt/e24YfVcrFpcA2EclXqTxUgGprZJqWVZ+K+dZ+FzS/iz6y6d1vY8IzHzroggCsDJPatCs8TRsq2RfjeZ1zWRuU5jwUq6eVRKCuKqjmhMS/dgFUulX8G9G5uw8Yq5+OO+8zhwqg+D4ST+453TeGt/O25YPQ8rF1VPKTEaiU/ODuDop4P4/E2LZ6QAASRCxCxlMh+ohRQ8TFaWOJnXNd65TsXAAfDIIhRJQCQ1W2m8VJUruP/6Rdh4xVy8ta8dB0/1YSCUxMtvt6Yyo3loaaoaVw/TxcCyLLz8diuqyxVsXDVzSrJzIREiZiWT9UAtpIIsV6QeuKW5YMPQsZhsoSi1DZLNSMLt87sQCSfGVdJtUxNw47/dsAgbV8/FH/eex8et/egLJvDbt07hrf3nccPqebh84dQTo/0n+9DWHcH/2Lxs0srOpwIkQsSsZTIeqGMVBuQTqZ9vPYQHb1w05YVishhNuG9cd+mFku6oCn2cS3QAUBtw48EbF+P61DLdx6cH0DuUwL//8VR6mW7FwsopYQhqWRZeee8MaivcWLe8zulwJpWZK68E4QBjlV/nK3MWRW5KWO04RSGl34okoCowsZJum7pKDz5/0xJ85b4WLL+0EgDQMxjHiztO4tmXD+Hw6f6iXMAng8OnB9DWE8EdVy+YUY2p+aBMiCBKyFiFAfmq8lySMO2dJCZCoZWKpSrptrH7uzr7o9ix9zyOnB1E92AcL7x5EvWVHtx45TxctqACnAOZ0Zt7zqG6XJnxWRBAmRBBlJTcJt2kZmQVBuRrQk1qxpRykrjYjNaYmw+7pLvCp5Rkr6Shyou/uGUpvnTP5Vg2vwIAG5fw/B9O4KdbP8bRswOwLmJm1DsYx+mOEG7+zCUzPgsCSIQIoqS0NFXjoZuXIOCVEUvoCHjlLDeFfCIVjeuIxFR8fcsuPPXCvmnvNF4sYwl3PtIl3X4Ffp9cknLrudVe/PfPLcXf/tkKLG1k1jgd/TH8evsJ/Ow/D+NY2+BFEaNPzg7A4xJxXUvDpJ9rKjDu5bi9e/fiySefhK7rCAQCePLJJzF37swtIySIQhmrvwe4UL2myAISlgXdwpSaCXQxmUhFX25J93hcunOZV+PDX25qxrmeCHbsPYcT54Jo74viX7cdx58OdmLDygYsuSQwKct0sYSGcz0R3HjlPCjy7NgtGfdVfu1rX8PPfvYzNDc34+WXX8Y//uM/YsuWLaWMjSBmJJki9dQL+wAO6WWXUtrsTCcmWtHHcxz8HhmKLCIS16BOoKTb5pJaHx65dRnausN4c895nGoP4mxnCGc7Q7ik1oeb1szDornlJRWjE+eCsCzgmstnRxYEjHM5TlVVfPWrX0VzczMAYOnSpejs7CxpYAQxG+gLJoa5L8+EkRdOIYvMpdvvG98gvXw01pXhrzcvwxfvXI7m1J7RuZ4IfvX6MfzzK0fQ2h4syTKdaVo4eT6IudVeVAfcEz7edIGzJnj3TNPEY489hssvvxxf/vKXSxUXQcwKvrllJwZD8ayll4Sqo8LvxpOPXeNgZNMfTTcQimhIaHpJj3uybRCvvncaJ9qG0j9bfEkAt1+7EFc216Lc5yr4WOe6Q9ANC6LA40TbIP7fF/fjb+9twbWr5qJshkxOHYsxReiNN97A9773vayfLVy4EM899xxUVcUTTzyBYDCIf/qnf4IkSQWfuL8/AnMCjWfA1DLFnEqxAFMjnrGmhzrFVLg3Noda+/DijlMAl22zU6ox4eNhKt2ficbCcUgZoyah6RPPViorvRgYiAIAWjuCeHPPeXzadSG+3/zDpqJE6LV3WxFLaPjMsjr8etsxHDk7iP/95WsmdRbSZFJTU1b0d8bcE7r11ltx6623Dvt5NBrFY489hkAggC1bthQlQMTMp5DpoQS7F+XlHvz79mNFb8oXOpRvvNNQZwLpKjrRjZiqIxrXJvzya9M0pxwL7/CjtT2EN/eeQ1t3ZNzHSqg69p/sw3UtDdNWgMbLhAoT5s+fj29/+9uONHMRU5tCpocSjDXL6or2jit0yulEp6HOFDgO8LpEKBLPGl2TBkohRRzHYdG8cjTN9eNs1/gztsOnB6DpJq5aNvObU3MZl+QeOXIEO3bswL59+3D33Xfjrrvuwhe+8IVSx0ZMYwqZHkqMn0KnnJZyGupMwG50DZS5IAqle3nmOA6XNvjH/f39J3oR8MlYNK+8ZDFNF8aVCV122WU4fvx4qWMhZhBOzuuZDRRqdePk8L6pimWxUni5XEE0oSMW1x31itMNE0fPDuKzK+dMCfPUi83sWnwkLhq5XfD5pocS46dQq5tiLXFmE7YXXaVfGVYmfzHp6o9BM0ysWjx7lkczIREiJoVc+5oKv9vRiq+ZRqFWN+OxxJltiAKHijKZLdE5MFPofG8ELknAkksCF/3cU4HZ4QtBOMJkTQ8lCre6uRjTUGcGHJTMJbqENmH7n0Lp6IthSWNgRg+uGw0SIYKYphRqdTPdhtw5Cc9xKHNLcKW86Eph/zMasbiGSFzD0lmaBQG0HEcQBDGMybD/yUdvMA6AOS7MVigTIgiCyIPt0O0SBUQTzKG71PSFkpAlHg1VxfWJzSRIhAiCIEZB4DmUe5lDd6kLFwZDCdSUu2d1wz8txxEEQYyBZbEluuoKD8q8pVuiC0dVtCyqgkuavfkAiRBBEESBCDwHr0tEtd8FxSVgolJkAVg8N4BZWhgHgESIIAiiaPhM+x9xYlI0p8ZboqimJ7M3ByQIgpgAafsf6YL9T7FIEj/r3StIhAiCICaAbf+jyGLRpqhVfves9IvLhJbjCIIgSoDIc/C6i5uGWuUvfADeTIVEiCAIwiECRUxhnamQCBEEQTiE31tc5jQTIREiCIJwCJ9C2/IkQgRBEA5R7B7STIREiCAIwiEUmR7BdAcIgiAcYjbb9diQCBEEQTiEJNEjmO4AQRCEQ8xm92wbEiGCIAiHMC/WDPEpDIkQQRCEQ0zi0NZpA4kQQRCEQ9ByHIkQQRCEY5AEkQgRBEEQDkIiRBAE4RBUlkAiRBAE4RgWVceRCBEEQTgFaRCJEEEQBOEgZFxEELOEQ6192La7DX3BBKrLFWxa24iWpmqnwyJmOSRCBDELONTah+f/cAKCwMOjiBiKqnj+DycAgITIQWg1jpbjCGJWsG13GwSBh0sSwHEcXJIAQeCxbXeb06HNaqhPiESIIGYFfcEEZDH7/+6yyKMvmHAoIgIAZBrlQCJEELOB6nIFqm5m/UzVTVSXKw5FRACASE9gEiGCmA1sWtsIwzCR1AxYloWkZsAwTGxa2+h0aLMagRxMqTCBIGYDdvEBVcdNLcjAlESIIGYNLU3VJDpTDJ4yIVqOIwiCcAraEyIRIgiCcAxajiMRIgiCcAwSIRIhgiAIwkFIhAiCIAjHIBEiCIIgHINEiCAIgnAMEiGCIAjCMUiECIIgCMcgESIIgiAcg0SIIAiCcAwSIYIgCMIxSIQIgiAIxyARIgiCIByDRIggCIJwDBIhgiAIwjFIhAiCIAjHIBEiCIIgHINEiCAIgnAMEiGCIAjCMUiECIIgCMcgESIIgiAcY8IidOTIEaxYsaIUsRAEQRCzjAmJUDwex7e//W1omlaqeAiCIIhZxIRE6Pvf/z4eeeSREoVCEARBzDbGLUI7duxAIpHApk2bShkPQRAEMYvgLMuyRvvAG2+8ge9973tZP1u4cCEikQiee+45+Hw+LF26FMePH5/UQAmCIIiZx5gilI+XXnoJP//5z+H1egEAx44dQ3NzM55//nn4fL6CjtHfH4FpFn3qLGpqytDbG57QMUrFVIoFoHhGYyrFAlA8ozGVYgHGjqempqyo45XiOTiVKPb6AUAcz4nuv/9+3H///ek/L126FL+Ak5BwAAAGI0lEQVT//e/HcyiCIAhiFkN9QgRBEIRjlESEaD+IIAiCGA+UCREEQRCOQSJEEARBOAaJEEEQBOEYJEIEQRCEY5AIEQRBEI5BIkQQBEE4BokQQRAE4RgkQgRBEIRjkAgRBEEQjkEiRBAEQTjGuAxMSwHPc1PqOKVgKsUCUDyjMZViASie0ZhKsQBTL57pzrhGORAEQRBEKaDlOIIgCMIxSIQIgiAIxyARIgiCIByDRIggCIJwDBIhgiAIwjFIhAiCIAjHIBEiCIIgHINEiCAIgnAMEiGCIAjCMWaECB05cgQrVqxwOgzs2bMH99xzD+644w48+uijCAaDjsWyd+9e3Hvvvbjrrrvwl3/5l2hvb3cslkx+/OMf49lnn3Xs/K+++ipuu+023HzzzXj++ecdi8MmEong9ttvx/nz550OBT/5yU+wefNmbN68GU899ZTT4eDHP/4xbrvtNmzevBm/+tWvnA4HAPCDH/wATzzxhNNhzCysaU4sFrMeeOABa8mSJU6HYt10003WyZMnLcuyrB/+8IfWj370I8diuf76662jR49almVZL730kvXoo486FotlWVYoFLL+7u/+zmppabGeeeYZR2Lo6uqyrr/+emtwcNCKRqPWHXfckf77coIDBw5Yt99+u7V8+XLr3LlzjsVhWZa1c+dO64EHHrCSyaSlqqr18MMPW9u3b3csnt27d1sPPvigpWmaFY/Hreuvv95qbW11LB7Lsqxdu3ZZa9eutb7xjW84GsdMY9pnQt///vfxyCOPOB0GAOD111/HokWLoGkauru74ff7HYlDVVV89atfRXNzMwBg6dKl6OzsdCQWmx07dmDBggX4q7/6K8di2LVrF9atW4dAIACPx4PPfe5z2LZtm2Px/Pa3v8Xf//3fo7a21rEYbGpqavDEE09AlmVIkoSmpiZ0dHQ4Fs9VV12Ff/3Xf4Uoiujv74dhGPB4PI7FMzQ0hKeffhqPPvqoYzHMVKa1CO3YsQOJRAKbNm1yOhQAgCRJOH78ODZs2IDdu3dj8+bNjsQhyzLuuusuAIBpmvjJT36Cm266yZFYbO6++278zd/8DQRBcCyGnp4e1NTUpP9cW1uL7u5ux+L57ne/izVr1jh2/kwWL16MVatWAQDOnj2L119/HRs2bHA0JkmS8Mwzz2Dz5s1Yv3496urqHIvlW9/6Fh5//HHHXixnMo6NciiGN954A9/73veyfrZw4UJEIhE899xzUyae5557DkuXLsWuXbvw4osv4vHHH8eLL77oWCyqquKJJ56Aruv44he/OKlxFBKP01h5DOM5jmz5Mzl58iS++MUv4hvf+AYWLFjgdDj4yle+gi984Qt49NFH8dvf/hYPPPDARY/hpZdeQkNDA9avX4+tW7de9PPPdKaFCN1666249dZbs3720ksv4ec//zkeeuih9M/uuusuPP/88/D5fBc9nmQyiTfffDOdcdx55534wQ9+MKlxjBQLAESjUTz22GMIBALYsmULJEma9FhGi2cqUFdXhz179qT/3NPTMyWWwqYKe/fuxVe+8hV885vfdCyLt2ltbYWqqli2bBncbjduueUWHD9+3JFYXn/9dfT29uKuu+5CMBhELBbDk08+iW9+85uOxDPTmBYilI/7778f999/f/rPS5cuxe9//3vH4hFFEf/wD/+A+vp6rFixAm+88QZWr17tWDxf+9rXMH/+fHz729+mt/0UV199NZ599lkMDAzA7XZj+/bt+M53vuN0WFOCzs5OfOlLX8LTTz+N9evXOx0Ozp8/j2eeeQb/9m//BoAtvd97772OxJJZmbd161Z8+OGHJEAlZNqK0FRDEAQ8/fTT+Na3vgXDMFBXV4fvfve7jsRy5MgR7NixA4sWLcLdd98NgO1//OIXv3AknqlCXV0dHn/8cTz88MPQNA333XcfWlpanA5rSvAv//IvSCaT+P73v5/+2YMPPojPf/7zjsSzYcMGHDx4EHfffTcEQcAtt9zieHZGTA40WZUgCIJwjGldHUcQBEFMb0iECIIgCMcgESIIgiAcg0SIIAiCcAwSIYIgCMIxSIQIgiAIxyARIgiCIByDRIggCIJwjP8fWSaTuOAvUsYAAAAASUVORK5CYII=\n", "text/plain": ["<Figure size 432x432 with 3 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["sns.jointplot(x=x, y=y, kind=\"reg\");"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 6\n", "<a name=\"task6\"></a>\n", "\n", "* To your `df` NEST data frame, add a column with the unaccounted time (`Unaccounted Time / s`), which is the difference of program runtime, average neuron build time, minimal edge build time, minimal initialization time, presimulation time, and simulation time. \n", "(*I know this is technically not super correct, but it will do for our example.*)\n", "* Plot a stacked bar plot of all these columns (except for program runtime) over the virtual processes\n", "* Remember: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 92, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["cols = [\n", " 'Avg. Neuron Build Time / s', \n", " 'Min. Edge Build Time / s', \n", " 'Min. Init. Time / s', \n", " 'Presim. Time / s', \n", " 'Sim. Time / s'\n", "]\n", "df[\"Unaccounted Time / s\"] = df['Runtime Program / s']\n", "for entry in cols:\n", " df[\"Unaccounted Time / s\"] = df[\"Unaccounted Time / s\"] - df[entry]"]}, {"cell_type": "code", "execution_count": 93, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Runtime Program / s</th>\n", " <th>Unaccounted Time / s</th>\n", " <th>Avg. Neuron Build Time / s</th>\n", " <th>Min. Edge Build Time / s</th>\n", " <th>Min. Init. Time / s</th>\n", " <th>Presim. Time / s</th>\n", " <th>Sim. Time / s</th>\n", " </tr>\n", " <tr>\n", " <th>Virtual Processes</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>8</th>\n", " <td>420.42</td>\n", " <td>2.09</td>\n", " <td>0.29</td>\n", " <td>88.12</td>\n", " <td>1.14</td>\n", " <td>17.26</td>\n", " <td>311.52</td>\n", " </tr>\n", " <tr>\n", " <th>16</th>\n", " <td>202.15</td>\n", " <td>2.43</td>\n", " <td>0.28</td>\n", " <td>47.98</td>\n", " <td>0.70</td>\n", " <td>7.95</td>\n", " <td>142.81</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Runtime Program / s Unaccounted Time / s \\\n", "Virtual Processes \n", "8 420.42 2.09 \n", "16 202.15 2.43 \n", "\n", " Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "Virtual Processes \n", "8 0.29 88.12 \n", "16 0.28 47.98 \n", "\n", " Min. Init. Time / s Presim. Time / s Sim. Time / s \n", "Virtual Processes \n", "8 1.14 17.26 311.52 \n", "16 0.70 7.95 142.81 "]}, "execution_count": 93, "metadata": {}, "output_type": "execute_result"}], "source": ["df[[\"Runtime Program / s\", \"Unaccounted Time / s\", *cols]].head(2)"]}, {"cell_type": "code", "execution_count": 94, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "-"}}, "outputs": [{"data": {"image/png": "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WURERETEBWqcRURERERcoMZZRERERMQFapxFRERERFygxllERERExAVqnEVEREREXGC50wXc7fyL+uDj6+u0LSCgiNPPaampnE9Kc2dZIiIiInIdNc53mI+vLzOH9bzlmPCIeYAaZxEREZE7SVM1RERERERcoMZZRERERMQFLjfOKSkptG3blpMnTwIwbNgwWrRoQfv27Wnfvj3fffcdAFFRUYSGhtKiRQumTZuWO1WLiIiIiLiZS3Ocd+3axciRIzl+/Lhj2969e1m0aBGBgYGObZcvX2b48OEsXLiQ0qVLExYWxqZNmwgJCTG8cBERERERd3LpivOyZcsYM2aMo0m+ePEip0+fZtSoUYSGhjJjxgxsNhu7d++mQoUKlC9fHovFQmhoKOvXr8/VExARERERcQeXrjhPmDDB6eeEhATq16/PuHHj8PPzIywsjBUrVuDn50dAQIBjXGBgIDExMdkqqESJwtkaf9X1j3C7HUZleUJNnlBDbuUYmaWa3J+lmtyfpZrcn6Wa3J+lmtyfld9rulaOHkdXvnx53n//fcfP3bp1Y/Xq1bRq1SrTWJPJlK3shIQUbDa742dXTzwuLvmWr2fnDTQqK6sco7NulJ2T/XIzSzW5N8dTs1ST+7NUk/uzVJP7s1ST+7Pyak1msylHF2tz9FSNgwcPsmHDBsfPdrsdi8VCqVKliI+Pd2yPjY11mgMtIiIiIpJX5ahxttvtTJw4kfPnz5Oens7SpUtp3rw5NWvW5NixY5w4cYKMjAzWrl1L48aNja5ZRERERMTtcjRVo2rVqvTt25fnnnsOq9VKixYtaNu2LQCTJk2if//+pKamEhIScsPpG2K8Gy3dDVq+W0RERMQo2Wqcv//+e8e/u3btSteuXTONadCgAWvWrLn9yiRbXFm6G7R8t4iIiEhOaeVAEREREREXqHEWEREREXGBGmcREREREReocRYRERERcYEaZxERERERF6hxFhERERFxgRpnEREREREXqHEWEREREXGBGmcREREREReocRYRERERcYEaZxERERERF6hxFhERERFxgRpnEREREREXqHEWEREREXGB5U4XkBVrehrhEfOyHCMiIiIikptcbpxTUlLo0qULH330EeXKlSMqKoqIiAhSU1N58sknGThwIAD79+9n5MiRpKSkUKdOHd566y0slpz35xZvH8YNWnvLMaOntgVSc3wMEREREZGsuDRVY9euXTz33HMcP34cgMuXLzN8+HA++OAD1q1bx969e9m0aRMAgwcPZtSoUWzYsAG73c6yZctyrXgREREREXdxqXFetmwZY8aMITAwEIDdu3dToUIFypcvj8ViITQ0lPXr13Pq1CkuX75MrVq1AOjYsSPr16/PvepFRERERNzEpTkUEyZMcPo5NjaWgIAAx8+BgYHExMRk2h4QEEBMTEy2CipRonC2xv99rCI52i83szyxptvJys/vi2pyf5Zqcn+WanJ/lmpyf5Zqcn9Wfq/pWjmafGy32zNtM5lMN92eHQkJKdhsf+e4euJxccm3fD07b6BRWVnlGJll5PndLD8n++VWjpFZqsn9WarJ/Vmqyf1Zqsn9WarJ/Vl5tSaz2ZSji7U5apxLlSpFfHy84+fY2FgCAwMzbY+Li3NM75C8w7+oDz6+vpm2X9ucp6Wmcj5JTzMRERGRu0eOGueaNWty7NgxTpw4Qbly5Vi7di1PP/00ZcuWxdfXlx07dlC7dm1Wr15N48aNja5ZcpmPry8zh/W85ZgrjwhU4ywiIiJ3jxw1zr6+vkyaNIn+/fuTmppKSEgIrVq1AiAyMpKRI0dy4cIFqlWrRvfu3Q0tWERERETkTshW4/z99987/t2gQQPWrFmTaUzVqlVZsWLF7Vf2l/T0jL+e03zrMSIiIiIiucnjVw709vai89KXbzlm2bMfuqkayQ5X5kqD5kuLiIhI3uDxjbPkXa7MlQbNlxYREZG8waUFUERERERE7nZqnEVEREREXKCpGpIn6NnSIiIicqepcZY8wchnS9+oCdcNiyIiIpIVNc5y19ECLyIiIpITmuMsIiIiIuICNc4iIiIiIi5Q4ywiIiIi4gI1ziIiIiIiLtDNgSI5pCXFRURE7i5qnEVySEuKi4iI3F00VUNERERExAV3zRVna3raX1f+sh4nIiIiInK9u6Zxtnj7MG7Q2izHjZ7aFki95RhXmnA14JLXaZlzERERZ7fVOHfv3p2EhAQslisx48aN4/fff+fDDz8kPT2dHj160LVrV0MK9SSuNOGuNOAiRjPyhkWtsCgiIuIsx42z3W7n6NGj/PDDD47GOSYmhoEDB/LFF1/g4+NDly5dqFevHhUrVjSsYBG5Od2wKCIiknty3DgfPXoUk8lEnz59SEhIoHPnzhQqVIj69etTrFgxAFq2bMn69esJDw83rOCcSk+z/nUVOOtxIiIiIiLXy3HjnJSURIMGDRg7diyXL1+me/fuPPnkkwQEBDjGBAYGsnv37mzllihROEf1XP9V9PUy0ly7umbGlmVWenpGlk14enpGljng+nxpV7JcZVSWajIuy5qejsXb+5b73GhMbtaU2zme+LvyxJqMzFJN7s9STe7PUk3uz8rvNV0rx41zcHAwwcHBAPj5+dGpUyciIiLo16+f0ziTyZSt3ISEFGw2u+NnV088Li75lq8HBBSh89KXs8xZ9uyHhmS5knM1y5X50q7U5CqjsvJiTUZmGX1+rswnzqvv+Y2yc7JfbmZ5Yk1GZqkm92epJvdnqSb3Z+XVmsxmU44u1ua4cd6+fTvp6ek0aNAAuDLnuWzZssTHxzvGxMbGEhgYmNNDiEg+caObFnNyw6JWaxQRkTspx41zcnIyM2bMYMmSJaSnp7Nq1SqmTJnC4MGDOXfuHAULFuTbb79l/PjxRtab77gy91rzriWvM+oJHbr5UURE7qQcN85NmjRh165ddOjQAZvNxvPPP0/t2rUZOHAg3bt3Jz09nU6dOlGjRg0j6813zHabIWO0wItI9hh1FVxERO4et/Uc59dee43XXnvNaVtoaCihoaG3VdTdxMvXx6X50lk9E9rIBV5E7gZ6TrWIiGTXXbNyoIhIbtC8axGRu4ca53zClUfkXR0nIsbRvGsRkbuHGud8wtvby+XH7YmIZ3Ll6rW7r1zrirqIyN/UOEsmri7KIiLGMnLetVE3P+qKuojI39Q4SyZ2u9mQMXrSh8ido5sfRUSMp8ZZMjHqEXl60oeIXEuPABSRvE6Ns2Ri1CPyjLxh0cjpI5qKInJnGHUV3Mh51544r1xEPJcaZ8k1Rt6waMfLkDHg2pVwV66CayqKyJ1h5LxrT5xXrhsyRTyXGmfJE1xpwl19YogrV8JduQruaqPu6jgjGNnM68q8SPZ44tLymh4jYiw1znLXMaoJ98RHABrZzBt5lV9E7gxNjxExlhpnEQ9g1NVdI5t5I6/yG3V+mh4jcmdoesztZekqf/6hxlnEA1i8jbkh01O5+wq3K+M0FUUk7/PE6TGeeJVfjKPGWURynSdOjzGqUc/v88p1lV/kzvDUxYfu9ivqapxF5K5kVDPvyrcFf2fd+hsDI6+6G9WEG3l+njhlxxP/WBExmpHzyu/2xZXUOIuIeAgj55V74vQfT5yy44l/rOT3Pww8sab8zhOb3bw6FUWNs4iIuIUnTtkx8o8VU9YLqro0xhO/xTCymdcfK/rDAPLuYxdzpXH+6quv+PDDD0lPT6dHjx507do1Nw4jHi7Nmu7S/+GkWdPdUI2ISO4yatVVI3nilCRP/GYlv/+x4omr7xp5fu68om544xwTE8O0adP44osv8PHxoUuXLtSrV4+KFSsafahsMbKJcyXL1WbQqKw0a5qL5+e+v3J9LN6EDvoyy3FfTW0PXM79giRbjPycG8UTP+eeWJOI3Dme+MeKkVO3jMrKq09JMtntdrshSX9ZtWoV27ZtY+LEiQC8//772O12wsPDXdo/MfECNtvfJRXx98XH4n3LfdKs6SSfv/UvqESJwvR6+9ssjz9nZAsSElJuO8uVHCOzihf1weztk+XxbOlpJJZQ2ZgAABiSSURBVGbxVYUnvudG1WRklis5Rma5uyYjP+dGnZ8nfs49sSYjs/L751zved6tycgsTzw/T6zJyKw7fX5ms4nixQtlefzrGd44z5o1i4sXLzJw4EAAli9fzu7duxk/fryRhxERERERcSuz0YE36sNNJpPRhxERERERcSvDG+dSpUoRHx/v+Dk2NpbAwECjDyMiIiIi4laGN86PP/44W7Zs4dy5c1y6dIlvv/2Wxo0bG30YERERERG3MvypGqVKlWLgwIF0796d9PR0OnXqRI0aNYw+jIiIiIiIWxl+c6CIiIiISH5k+FQNEREREZH8SI2ziIiIiIgL1DiLiIiIiLhAjbOIiIiIiAvUOIuIiIiIuMDwx9EZbcuWLRQoUIDg4GDmzp3L1q1bqV69On379sXHx+dOlyciIiIidwmvsWPHjr3TRdzMO++8wxdffMEPP/zATz/9RExMDJ07d2bfvn388MMPNG3a9E6XKLdgtVpZuHAh69evp0CBApQpU8bx2nvvvUe9evXcmuOpNYl4Kn3ORSQvSkxMpGDBgrmS7dFTNf7v//6PJUuWsHjxYn7++WciIyMJCQlh7Nix7N69O1tZVquVJUuWkJCQQFpaGjNnziQsLIwZM2aQmpp6R7KMrOl6r7/++m3tb0TW6NGj2b9/P4GBgQwZMoSPPvrI8dr333/v9hxPrclms7FkyRJefPFFWrVqRevWrenRowdz584lPT3d5ZyUlBSmT5/OrFmzOH/+PGFhYQQHB9O9e3dOnTqVrZqMyvLEmozOup4n/G/PqCxP/JwbmZWcnMzUqVM5e/YsSUlJDBs2jLZt2zJ06FDOnTuXrZqMyvLEmozOyisuXrzokVn5waVLl4iMjKRZs2Y88sgj1KxZk+bNmzN+/HiSk5OzlXXmzBkGDx7M6NGj+eOPPwgNDaV169Y0b96cAwcOGF67Ry+A0rZtWz777DMuXrxIq1at+OGHHyhe/P/bu/e4nu89gOOvRNJxzbSZHi7nMM3CkNpxKYyU7uVUIuKRU0dzOS7lEnKkYmZum0c0nFy21FJoPWyKTYXK8XBbbpHZyi3XdO/3OX84/R5M7Pfju/od+zz/WX1//V69f79VPr/6/j6/NpSVleHu7k5qaqrGrVmzZgEQGhrK+vXrn2o+ePCATz75pN5bSnV8fX3R09N76tiZM2cwNzcHIDY2VtObpmjL2dmZPXv2AHDnzh38/Pxwd3fHz88PV1dXkpKS6rWjqzMtXLgQlUqFm5sbJiYmANy8eZPk5GT1DxdNBAYG0qVLF8rKyjhy5AhjxozBy8uLAwcOsHv3bjZv3qzxTEq1dHEmJVu6+r2nVEsXv86VbPn7+9OjRw/+/ve/s2TJEkxNTXF0dCQtLY3s7GxiYmI0nkmpli7OpHRLpVKxa9cuUlNTuXHjBo0aNcLExARra2t8fX1p0qSJRp2SkhK++OILDA0N8fb2Jjg4mOzsbHr27ElkZCQdOnTQeKa6uLm5sXv37ldqvEpLqfsJHi8uly5dyvXr1xk+fDgBAQHo6+sDEBAQQHR0dL12goKCeO+993B3d6ddu3YA3Lp1i6SkJI4fP86mTZs0vm3jx4/H1taW0tJStm7dSlhYGLa2thw/fpxPPvmEnTt3atzSiNBhSUlJwtLSUvTv319s27ZNuLq6iuXLlwtXV1exadMmrVqOjo7qt52cnIRKpVK/b29v3yAtpTrbt28X1tbWIjExURw7dkwcPXpUjBgxQhw7dkwcO3ZM447SLUdHR/Ho0SP1+9evXxdDhw4Ve/bsEa6urvXe0dWZRo4c+dzLRo0apXHHxcVF/fagQYOeuszZ2VmrmZRq6eJMSrZ09XtPqZYufp0r2Xry/7WTk9NTlz3587k+W7o4k9Kt0NBQMX/+fJGTkyOuXr0qrl69KnJyckRoaKiYNWuWxp2AgAARFRUlFi9eLGxtbcWWLVtEaWmp2LNnj5g4caJWM5mbmwszMzNhZmYmunfvrv5v7dsN0VLqfhJCCD8/P5GQkCBOnz4tAgIChL+/v6iqqhJCPP3zsL46L1rjODg4aNz59ecdPHjwU5dp+2+DJnT6VA0XFxe+//57Dh48yLhx44iKiqJt27bMnj0bf39/rVpGRkZcvHgRgI4dO1JUVATAjRs3tH6SoVItpTpjx47liy++ICEhgcLCQqysrPjTn/6EpaUllpaWGneUbo0bNw43NzeOHDkCwJtvvklMTAyrVq0iPz+/3ju6OlPz5s3rPPXoxIkTGBkZadxp3LgxGRkZpKam8ujRI86cOQNAQUGBVvMo2dLFmZRs6er3nlItX1/fZ77ON23a1KBf50q2WrZsSWZmJgA9evTgxx9/BOD8+fMYGhpqNZNSLV2cSelWTk4Oy5Ytw8LCgo4dO9KxY0csLCxYunQpeXl5GneuX79OSEgIYWFhlJaW4ufnR7NmzXBycqK4uFirmeLi4nj//fdZs2YN586dIy8vDzMzM/XbDdFS6n4CuHfvHh4eHpibm7NhwwZatGjBnDlztGoo2TE2NiY1NRWVSqU+JoQgJSWFNm3aaNVq3rw5X331FTExMdTU1HDw4EEA/vOf/9C0aVOtZ/stOn2qhpJOnDjB1KlT6du3L82aNSMzM5PevXtz9uxZlixZgo2NTb23lJwJoLKyklWrVlFYWEh+fj4pKSlaXf/3aF25cgVDQ0Pat29PfHw858+fp2fPnty9exc/P7967+jiTHl5eQQHB1NRUaH+k9Xt27cxMDDg448/xszMTKPO2bNniYiIQKVSMXfuXBYsWIChoSHXr18nIiICa2trjWdSqqWLMyndAt383lOiFR4ejouLC2+88Qbt27dXH3/06BHx8fEN8nWuZOvy5ctMmTIFIyMj2rVrR3Z2Np06deLOnTusX7+eXr16aTyTUi1dnEnp1ujRo1m0aNEz1zlx4gQRERHEx8dr3JkxYwYPHz5kwYIFxMbGYm5uTkFBAdOnTyc5OVnjmQDKy8uJioqioqKC0NBQxo0b99KnaijRUup+qm1FRkbSrVs3AKqqqvD396dTp06cOHGCvXv31munqKiIJUuWkJOTQ4sWLYDH59H379+fRYsWPfVE5N/yyy+/sGbNGlQqFdOnTyckJITLly9jaGjIunXr6Nmzp8YtTfxhFs7w+HyorKwsrl69Sk1NDW+88QaDBg3irbfearCWUp0DBw5QVFSEjY0NP//8M/v27SMiIoK4uDi8vLwapLV161a2bduGSqXigw8+oKioiBEjRpCenk6fPn346KOP6rWjqzPVKiws5ObNmwghiI+PJyIiQuvGkyoqKpg8eTKfffaZ+gdTQ7d0caZXbR0+fJjevXvTsmVL4uPjOXHiBP369cPDw0PrOXStZWFhQdu2bZk1axa2trZaz/BrR44coXHjxjRp0oSMjAyys7OxtLR8qe1FlWp9++236t2bAN555x2WLFlCnz59tJpHyZYuzqRkq64HPrdu3aJp06ZaPfD58ccfWbZsWZ0PgCMjIxk8eLBWc9VKT09nw4YN3L9/n2+//falGkq0XnQ/rVy5ku7du2vcOn78OHPmzOGf//wnTk5OwOMnLM6ePZuDBw9q/BtspTq1qquruXv3LkIIjI2NadxYmV2S79y5g7GxsSKtX/vDLJwLCwtfeLk2j26UainVWblyJWfOnOEvf/kLqamphISE4OLiAmj/hAQlW05OTiQkJHD79m0cHR05evQoTZs2pbKyktGjR6ufdFRfHV2dad68ec8cS09PV2+3GBkZWa+d130mJVvLli0jLy+PTz/9lJ07d3Lq1Ck+/PBDfvjhB0xNTQkNDdV4Jl1subq6snLlSsLCwqioqGDixIkMGzZM6z/Nw+PtRXNzc6mursbU1JRGjRrh5uZGeno6NTU1hIeH13srOjqakydPMmjQINLT07GwsMDQ0JCEhATGjx+Pp6enxjMp1dLFmZRu1XrylwVvvvmmVv8O16WiooILFy7QqVMnWrZs+UqtW7ducejQIf72t7+9UkeJlpL3U1VV1TNPKszLy+Pdd99tkM6TZs6cyapVq7S+XnV1NUlJSTRr1gxbW1uioqLUTxINDg6mdevWLz1TXXT+BVCUEhAQQEFBASYmJtQ+VtDT00MIgZ6eHmlpafXeUqrz/fffs3v3bho3boyvry+TJk3CwMAAe3t7tH1cpGRLpVJhYGBAhw4dmDRp0lPnGtXU1NR7R1dnat26NUlJSQQGBqp/2B89elTr81p/3RFCvFRHyZYuzqRkKzMzk71796Kvr8/BgwfZtWsXBgYGeHl54ejo+H/f0tPTo2vXrmzfvp2srCzi4uJYtmwZnTt35q233tJqN6LDhw+TnJxMZWUlNjY2ZGRk0KRJE6ytrdUPzuu79c0337B7924aNWqEh4cHkydPJjY2Fg8PDzw9PbVaDCrV0sWZlG5VV1ezY8cOioqK+PDDD+nfv7/6snXr1jF16lStO8OHD8fCwkL9Z3ltOnVp164dR44cUWTh/LKt6upqEhISGDFiBD169GDjxo2cPn1a/SJw2py/q1KpiI2NJS0tjVu3btGkSRM6duyIg4MDo0aNqvfO83b+GT9+PKDdLkKhoaGUlpZSWVnJtm3b6NWrF59++ikHDhxg0aJFrF27VuOWJv4wC+cvv/wSHx8fFi9eTL9+/XSipVSndqEN0LlzZ6Kjo5k4cSLGxsbPfGHWZ8vW1pZx48YRGxur/gF27tw5QkNDsbe3r/eOrs4UEhKCtbU1q1evZubMmVhZWfHvf/8bNze3V+7ExsZq3VGypYszKdkyNDSkuLgYExMT2rZtS2lpKQYGBpSVlWn9J0ddbD35YHnAgAEMGDCAqqoqzp8/z7Vr17SaSQjBw4cPKS0tpby8nJKSEtq0aUN5ebnW+zgr1aqoqKC8vBwjIyPKy8u5d+8e8PiJ240aaffceaVaujiT0q1FixahUql45513CAkJwdPTk8DAQODxX340XfA+2QkODn7pDii7kFOqFRISAsDIkSNZvnw5paWl+Pj4cOjQIebPn6/VA9eoqCj1+cj79+/HzMyM9u3bExsby5UrVwgKCqrXjp2dHRs3bmTGjBl06NABIQQLFy58qdMcz549y969e6mpqcHGxoavvvoKgK5du2r9oFwjiu/TocNOnjwpQkNDdaqlRGfdunVizJgx4uTJk+pjubm54oMPPhB9+/ZtsJYQQmRnZz/1fn5+vjh06FCDdXR1JiGEuHv3rpg2bZqIiorSenun36Pzus+kRCstLU0MHjxYREVFifDwcOHo6CiWLVsm7O3txddff/1/39q1a5dWn/dFlNxeVKlWdHS0cHZ2FitWrBDOzs5iy5Yt4ueffxYuLi7i888/12ompVq6OJPSrSe3sysuLhZOTk5iy5YtQgjttjRTqiOE7m4HWetVt9F98r6qqakR3t7eQgghKioqXri94+/VEUKIixcvCh8fH7F7924hhNB6i8tazs7O4vLly+LkyZOiV69e4tq1a0KIx18T2m51qYk/1ML5dZaVlSUuXbr01LHCwkIRHh7eoC1Je7t27dJ6D9Lfs6NkSxdnetXWTz/9JDZv3iwWL14sQkNDxerVq5964Pk6tJRSVlYmSkpKhBBCnDt3TsTExIiMjIwGbWVlZYmYmBiRlZUlhBCipKREnDt37qVmUqqlizMp2dLF/fSFUG4hp1TL09NTXLhwQQghRFBQkPjll1+EEI9vp7YPDEaNGiVu376tvn7tPCUlJVrtm6xUp1ZFRYWIjIwUU6dOfelF7uHDh4WNjY0YPHiw+O6774SdnZ2YNm2aGDp0qPr+V9If5smBkiRJkiQ1vLi4ODZv3kxYWBh//etfAcjPz8ff35/i4uI69+j+PTtP0qXtIJXcsjYxMZE1a9bQp08fTp48yaxZs+jZsycTJkxg6tSpGu+2o1QHlN8NrLCwkCFDhmBkZERubi7dunUjNzdX69ZvkQtnSZIkSZLqVUFBAQYGBk/tEFFSUkJCQoJW+4Mr1fm1zMxMUlJSXnlb0FdtKbmN7pUrVzh//jxmZmZ07tyZyspKSktLtd51QomO0ruBnT17lj//+c+v3NKEXDhLkiRJklRvdG1LV11tvc4zOTk5qXfwKigoYNKkScyZMwd7e3tcXV1JSkrSqKN0SxN/mF01JEmSJElqeHVtxVrrVbd0fZnO81qvy5a1z2vVaoj7XOjobmCafkJJkiRJkqR68fDhQ+Hk5CRyc3N1oqOrrdd5Jl3eDey36IeFhYUpvxyXJEmSJEl6loGBAe+99x6JiYnqV+tsyI6utl7nmSwtLXn77bdp06aN+qWx3377bRwcHCgvL8fa2rpBWpqQ5zhLkiRJkiRJkga0e7kfSZIkSZIkSfqDkgtnSZIkSZIkSdKAXDhLkiQBvr6+REdHP3N88+bNBAYGcvr0aaZNm1bndU+dOsWiRYte6fMPGzaM06dP1znXsGHDcHFxwdXVFQcHB0JCQigrK3ulzydJkiRpTy6cJUmSgLFjx5KYmPjM8V27djFu3Dh69uzJ2rVr67zupUuXuHHjxu82W3BwMMnJySQlJbFv3z7KysqeO4skSZL0+5ELZ0mSJGD48OGUlpaSm5urPpadnY0QgoEDB3Ls2DEcHR0BmDt3LoGBgTg4ODB//nzWrl1Lbm4u8+bNe+rjgKfev337NlOmTMHLy4thw4bh6+tLcXGxVnPq6elhZWXF5cuXATA3N2f69OmMHDmS06dPk5ubi6enJ05OTri7u/PDDz+orxsdHY2dnR2Ojo4EBQXx8OFDAOLj43F3d8fV1RU/Pz/y8/MByM3NZfTo0bi7u+Pu7s7+/ftfeLyyspKIiAjc3NxwdnZm7ty5lJSUALBz506cnZ3x8PDAx8eHS5cuaXW7JUmSdIFcOEuSJAGNGzfGy8uLhIQE9bG4uDh8fHzq3ES/vLxc/TK606ZNw8LCgsjIyBd+jpSUFN5//33i4uJIS0vD0NCQ5ORkrea8f/8+qampWFlZAVBVVcXQoUPZv38/pqamTJs2jQULFrB3716WL1/OnDlzuHbtGmlpaSQmJhIXF8e+ffswNTVl+/btZGdnk5SUxI4dO0hKSsLf35+pU6cCsG7dOiZOnEhiYiIREREcPXr0hcc3btyIvr4+iYmJ7NmzBxMTE1auXElNTQ0RERHExMTw9ddf4+npyfHjx7W63ZIkSbpAvnKgJEnS/3h6euLg4EBJSQnV1dVkZGTwvK3u+/Xrp3V/woQJ5ObmsmXLFgoKCrh48SK9e/f+zeutWLGCDRs2qF+pa+jQoYwfP159uYWFBfD4XOuOHTuqm926daNv375kZ2eTl5eHnZ0drVq1AmDevHnq9tWrV/H29lb37t+/z71797C3t+df//oX6enpDBgwgJkzZwI89/ihQ4d4+PAhWVlZwONFfdu2bdHX18fOzg5vb2+GDBnCwIEDcXJy0vr+kyRJamhy4SxJkvQ/JiYmDBgwgG+++YbS0lJGjhxJixYt6vxYIyOjOo/XviRuraqqKvXbH3/8MadOncLDwwMrKyuqq6ufednaugQHB2NnZ/fcy2tnUalUz1wmhKC6uhp9ff2nfnP+4MEDHjx4gEqlwsXFhTlz5qgbN2/epFWrVnh7ezN06FAyMzM5fPgw69evZ8+ePc89rlKpmD9/PjY2NgA8evSIiooKAFauXMmFCxfIyspi06ZNJCQksGHDht+87ZIkSbpEnqohSZL0BB8fH/bu3UtSUhJjx47V6Dr6+vpUV1cDYGxsTGFhIcXFxQghOHDggPrjMjIymDBhAq6urrRt25asrCxqamoUm713795cuXKFU6dOAXDx4kVycnKwtLRkwIABfPfdd+pzjtetW8fWrVsZOHAgKSkp3Lx5E4Avv/ySCRMmAODt7U1eXh7u7u4sXbqUBw8ecP/+/eceHzRoEDt27KCyshKVSsXChQtZtWoVd+7cwcbGhtatW+Pn58eMGTM4f/68YrdbkiSpvsjfOEuSJD3BysqK8PBwWrVqRffu3TW6Tp8+fVi9ejVBQUF89tlneHt74+HhQbt27RgyZIj644KCglixYgWff/45+vr69O3bl59++kmx2Y2NjVmzZg1Lly6lvLwcPT09IiMj6dKlC126dOHSpUuMGTMGgK5du7J06VKaN2/O5MmTmTRpEnp6ejRv3pz169ejp6fH7NmziYiIYPXq1TRq1IiPPvoIU1PT5x6fMmUKy5cvx83NjZqaGt59913mzp1L8+bN+cc//oGfnx+Ghobo6+sTHh6u2O2WJEmqL/IltyVJkiRJkiRJA/JUDUmSJEmSJEnSgFw4S5IkSZIkSZIG5MJZkiRJkiRJkjQgF86SJEmSJEmSpAG5cJYkSZIkSZIkDciFsyRJkiRJkiRpQC6cJUmSJEmSJEkD/wWuO0zueGt2dQAAAABJRU5ErkJggg==\n", "text/plain": ["<Figure size 864x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df[[\"Unaccounted Time / s\", *cols]].plot(kind=\"bar\", stacked=True, figsize=(12, 4));"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["* Make it relative to the total program run time\n", "* **Slight complication**: Our virtual processes as indexes are not unique; we need to find new unique indexes\n", "* Let's use a multi index!"]}, {"cell_type": "code", "execution_count": 95, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th>id</th>\n", " <th>Runtime Program / s</th>\n", " <th>Scale</th>\n", " <th>Plastic</th>\n", " <th>Avg. Neuron Build Time / s</th>\n", " <th>Min. Edge Build Time / s</th>\n", " <th>Max. Edge Build Time / s</th>\n", " <th>Min. Init. Time / s</th>\n", " <th>Max. Init. Time / s</th>\n", " <th>Presim. Time / s</th>\n", " <th>Sim. Time / s</th>\n", " <th>Virt. Memory (Sum) / kB</th>\n", " <th>Local Spike Counter (Sum)</th>\n", " <th>Average Rate (Sum)</th>\n", " <th>Number of Neurons</th>\n", " <th>Number of Connections</th>\n", " <th>Min. Delay</th>\n", " <th>Max. Delay</th>\n", " <th>Unaccounted Time / s</th>\n", " </tr>\n", " <tr>\n", " <th>Nodes</th>\n", " <th>Tasks/Node</th>\n", " <th>Threads/Task</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th rowspan=\"3\" valign=\"top\">1</th>\n", " <th rowspan=\"2\" valign=\"top\">2</th>\n", " <th>4</th>\n", " <td>5</td>\n", " <td>420.42</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.29</td>\n", " <td>88.12</td>\n", " <td>88.18</td>\n", " <td>1.14</td>\n", " <td>1.20</td>\n", " <td>17.26</td>\n", " <td>311.52</td>\n", " <td>46560664.0</td>\n", " <td>825499</td>\n", " <td>7.48</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>2.09</td>\n", " </tr>\n", " <tr>\n", " <th>8</th>\n", " <td>5</td>\n", " <td>202.15</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.28</td>\n", " <td>47.98</td>\n", " <td>48.48</td>\n", " <td>0.70</td>\n", " <td>1.20</td>\n", " <td>7.95</td>\n", " <td>142.81</td>\n", " <td>47699384.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>2.43</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <th>4</th>\n", " <td>5</td>\n", " <td>200.84</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.15</td>\n", " <td>46.03</td>\n", " <td>46.34</td>\n", " <td>0.70</td>\n", " <td>1.01</td>\n", " <td>7.87</td>\n", " <td>142.97</td>\n", " <td>46903088.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>3.12</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <th>2</th>\n", " <th>4</th>\n", " <td>5</td>\n", " <td>164.16</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.20</td>\n", " <td>40.03</td>\n", " <td>41.09</td>\n", " <td>0.52</td>\n", " <td>1.58</td>\n", " <td>6.08</td>\n", " <td>114.88</td>\n", " <td>46937216.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>2.45</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <th>2</th>\n", " <th>12</th>\n", " <td>6</td>\n", " <td>141.70</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.30</td>\n", " <td>32.93</td>\n", " <td>33.26</td>\n", " <td>0.62</td>\n", " <td>0.95</td>\n", " <td>5.41</td>\n", " <td>100.16</td>\n", " <td>50148824.0</td>\n", " <td>813743</td>\n", " <td>7.27</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>2.28</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" id Runtime Program / s Scale Plastic \\\n", "Nodes Tasks/Node Threads/Task \n", "1 2 4 5 420.42 10 True \n", " 8 5 202.15 10 True \n", " 4 4 5 200.84 10 True \n", "2 2 4 5 164.16 10 True \n", "1 2 12 6 141.70 10 True \n", "\n", " Avg. Neuron Build Time / s \\\n", "Nodes Tasks/Node Threads/Task \n", "1 2 4 0.29 \n", " 8 0.28 \n", " 4 4 0.15 \n", "2 2 4 0.20 \n", "1 2 12 0.30 \n", "\n", " Min. Edge Build Time / s \\\n", "Nodes Tasks/Node Threads/Task \n", "1 2 4 88.12 \n", " 8 47.98 \n", " 4 4 46.03 \n", "2 2 4 40.03 \n", "1 2 12 32.93 \n", "\n", " Max. Edge Build Time / s Min. Init. Time / s \\\n", "Nodes Tasks/Node Threads/Task \n", "1 2 4 88.18 1.14 \n", " 8 48.48 0.70 \n", " 4 4 46.34 0.70 \n", "2 2 4 41.09 0.52 \n", "1 2 12 33.26 0.62 \n", "\n", " Max. Init. Time / s Presim. Time / s \\\n", "Nodes Tasks/Node Threads/Task \n", "1 2 4 1.20 17.26 \n", " 8 1.20 7.95 \n", " 4 4 1.01 7.87 \n", "2 2 4 1.58 6.08 \n", "1 2 12 0.95 5.41 \n", "\n", " Sim. Time / s Virt. Memory (Sum) / kB \\\n", "Nodes Tasks/Node Threads/Task \n", "1 2 4 311.52 46560664.0 \n", " 8 142.81 47699384.0 \n", " 4 4 142.97 46903088.0 \n", "2 2 4 114.88 46937216.0 \n", "1 2 12 100.16 50148824.0 \n", "\n", " Local Spike Counter (Sum) Average Rate (Sum) \\\n", "Nodes Tasks/Node Threads/Task \n", "1 2 4 825499 7.48 \n", " 8 802865 7.03 \n", " 4 4 802865 7.03 \n", "2 2 4 802865 7.03 \n", "1 2 12 813743 7.27 \n", "\n", " Number of Neurons Number of Connections \\\n", "Nodes Tasks/Node Threads/Task \n", "1 2 4 112500 1265738500 \n", " 8 112500 1265738500 \n", " 4 4 112500 1265738500 \n", "2 2 4 112500 1265738500 \n", "1 2 12 112500 1265738500 \n", "\n", " Min. Delay Max. Delay Unaccounted Time / s \n", "Nodes Tasks/Node Threads/Task \n", "1 2 4 1.5 1.5 2.09 \n", " 8 1.5 1.5 2.43 \n", " 4 4 1.5 1.5 3.12 \n", "2 2 4 1.5 1.5 2.45 \n", "1 2 12 1.5 1.5 2.28 "]}, "execution_count": 95, "metadata": {}, "output_type": "execute_result"}], "source": ["df_multind = df.set_index([\"Nodes\", \"Tasks/Node\", \"Threads/Task\"])\n", "df_multind.head()"]}, {"cell_type": "code", "execution_count": 96, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"image/png": "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ozVDhgzg2LHfeKlhI9q1eY3Tf555KjmLRnREREREsqzYu3f/94a09I/7KMGBQbRp1YqRY0eTkJAAQEj5CnTp8uZj9Td89Cjatm5DyRIlHuv41Lz2amtmz5tLWO/3MJlMdGzfgcKFnyE+3gTce610VFQUefLkTXJs+/admDBhFHfvxODq6kqXN9L/LXeSPBU6IiIiIlnUvbVu7r0G2mh0ITL8rE3H+RUuarnJf1z1/1WX+v9KOk0tPt7EunWbAShYsBCNG4da9u/cudfy9ZAhwy35Dh046JF9JcZLVLFiZSpWrAxgteZNkyZNeb5CsOXzpnXrAciePTsfvNcrxfju7u4prp1TsmQpFi1aZvO1lfSjqWsiIiIiIuJ0VOiIiIiIiIjTUaEjIiIikkWYzeaMTkHkkdLzZ1SFjoiIiEgW4OpqJC4uNqPTEHkkM2A0Jn3F9+NQoSMiIiKSBeTMmZsbNy4TG3tXIzuSKZnNZmLu3MbHxydd4umtayIiIiJZgKdnDgBu3rxCQkJ8kv0uLi5E3bpqU6z4iwZMJtveupbRcR0p18wQNyNzNZvN3Lp8kQqVq3D16m2b4j6KCh0RERGRLMLTM4el4HmYr68XMwfYtsZL2NhFXL4cZVPbjI7rSLlmhriZIddG/3nNpnap0dQ1ERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOTYXO5s2bady4MS+++CLLly9Psv/MmTO0b9+epk2b0qVLF27evJnuiYqIiIiIiNgq1UInIiKCKVOmsGLFCjZu3Mjq1as5deqUZb/ZbKZ79+5069aNTZs2UaZMGebOnWvXpEVERERERB4l1UJn165dVKtWjdy5c5M9e3YaNWrEli1bLPuPHj1K9uzZeeGFFwB4++23adeunf0yFhERERERSUWqhU5kZCS+vr6Wz35+fkRERFg+nzt3jnz58tGvXz9CQ0MZOnQo2bNnt0+2IiIiIiIiNjCm1sBsNifZZjAYLF/Hx8ezZ88eli1bRlBQEFOnTmXcuHGMGzfO5iTy5s1pc9vk+Pp6PdHxivt0YzpaXEfK1V5xHSlXR4vrSLnaK64j5WqvuI6Uq6PFdaRc7RXXkXK1V1xHytXR4mbmXFMtdPLnz8/evXstnyMjI/Hz83sgCV+KFClCUFAQAE2aNKFnz55pSuLq1WhMJuuCKi0nd/lylE3t0nrBnDGuI+WaWeI6Uq72iutIuWZ0XEfKNbPEdaRc7RXXkXLN6LiOlGtmietIudorriPlmtFxM2OuLi6GxxoYSXXqWo0aNfj555+5du0aMTExbNu2zfI8DkBISAjXrl3j+PHjAHz33XeUK1cuzYmIiIiIiIikF5tGdHr37k2HDh2Ii4ujZcuWBAcH061bN3r27ElQUBCffPIJgwYNIiYmhgIFCjBhwoSnkbuIiIiIiEiyUi10AEJDQwkNDbXaNm/ePMvX5cuXZ926dembmYiIiIiIyGOyacFQERERERERR6JCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOmo0BEREREREaejQkdERERERJyOCh0REREREXE6KnRERERERMTpqNARERERERGno0JHREREREScjgodERERERFxOip0RERERETE6ajQERERERERp6NCR0REREREnI4KHRERERERcToqdERERERExOkYMzoBEREREXFe8XGxhI1dZHNbkfSiQkdERERE7Mbo5s6ID76wqe2QyU2Au/ZNSLIMTV0TERER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\n", "text/plain": ["<Figure size 1008x432 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_multind[[\"Unaccounted Time / s\", *cols]]\\\n", " .divide(df_multind[\"Runtime Program / s\"], axis=\"index\")\\\n", " .plot(kind=\"bar\", stacked=True, figsize=(14, 6), title=\"Relative Time Distribution\");"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## Next Level: Hierarchical Data\n", "\n", "* `MultiIndex` only a first level\n", "* More powerful:\n", " - Grouping: `.groupby()` ([API](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html))\n", " - Pivoting: `.pivot_table()` ([API](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pivot_table.html)); also `.pivot()` ([API](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pivot.html))"]}, {"cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", " <th>Tasks/Node</th>\n", " <th>Threads/Task</th>\n", " <th>Runtime Program / s</th>\n", " <th>Scale</th>\n", " <th>Plastic</th>\n", " <th>Avg. Neuron Build Time / s</th>\n", " <th>Min. Edge Build Time / s</th>\n", " <th>Max. Edge Build Time / s</th>\n", " <th>Min. Init. Time / s</th>\n", " <th>...</th>\n", " <th>Presim. Time / s</th>\n", " <th>Sim. Time / s</th>\n", " <th>Virt. Memory (Sum) / kB</th>\n", " <th>Local Spike Counter (Sum)</th>\n", " <th>Average Rate (Sum)</th>\n", " <th>Number of Neurons</th>\n", " <th>Number of Connections</th>\n", " <th>Min. Delay</th>\n", " <th>Max. Delay</th>\n", " <th>Unaccounted Time / s</th>\n", " </tr>\n", " <tr>\n", " <th>Nodes</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>1</th>\n", " <td>5.333333</td>\n", " <td>3.0</td>\n", " <td>8.0</td>\n", " <td>185.023333</td>\n", " <td>10.0</td>\n", " <td>True</td>\n", " <td>0.220000</td>\n", " <td>42.040000</td>\n", " <td>42.838333</td>\n", " <td>0.583333</td>\n", " <td>...</td>\n", " <td>7.226667</td>\n", " <td>132.061667</td>\n", " <td>4.806585e+07</td>\n", " <td>816298.000000</td>\n", " <td>7.215000</td>\n", " <td>112500.0</td>\n", " <td>1.265738e+09</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>2.891667</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>5.333333</td>\n", " <td>3.0</td>\n", " <td>8.0</td>\n", " <td>73.601667</td>\n", " <td>10.0</td>\n", " <td>True</td>\n", " <td>0.168333</td>\n", " <td>19.628333</td>\n", " <td>20.313333</td>\n", " <td>0.191667</td>\n", " <td>...</td>\n", " <td>2.725000</td>\n", " <td>48.901667</td>\n", " <td>4.975288e+07</td>\n", " <td>818151.000000</td>\n", " <td>7.210000</td>\n", " <td>112500.0</td>\n", " <td>1.265738e+09</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>1.986667</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>5.333333</td>\n", " <td>3.0</td>\n", " <td>8.0</td>\n", " <td>43.990000</td>\n", " <td>10.0</td>\n", " <td>True</td>\n", " <td>0.138333</td>\n", " <td>12.810000</td>\n", " <td>13.305000</td>\n", " <td>0.135000</td>\n", " <td>...</td>\n", " <td>1.426667</td>\n", " <td>27.735000</td>\n", " <td>5.511165e+07</td>\n", " <td>820465.666667</td>\n", " <td>7.253333</td>\n", " <td>112500.0</td>\n", " <td>1.265738e+09</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>1.745000</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>5.333333</td>\n", " <td>3.0</td>\n", " <td>8.0</td>\n", " <td>31.225000</td>\n", " <td>10.0</td>\n", " <td>True</td>\n", " <td>0.116667</td>\n", " <td>9.325000</td>\n", " <td>9.740000</td>\n", " <td>0.088333</td>\n", " <td>...</td>\n", " <td>1.066667</td>\n", " <td>19.353333</td>\n", " <td>5.325783e+07</td>\n", " <td>819558.166667</td>\n", " <td>7.288333</td>\n", " <td>112500.0</td>\n", " <td>1.265738e+09</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>1.275000</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>5.333333</td>\n", " <td>3.0</td>\n", " <td>8.0</td>\n", " <td>24.896667</td>\n", " <td>10.0</td>\n", " <td>True</td>\n", " <td>0.140000</td>\n", " <td>7.468333</td>\n", " <td>7.790000</td>\n", " <td>0.070000</td>\n", " <td>...</td>\n", " <td>0.771667</td>\n", " <td>14.950000</td>\n", " <td>6.075634e+07</td>\n", " <td>815307.666667</td>\n", " <td>7.225000</td>\n", " <td>112500.0</td>\n", " <td>1.265738e+09</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>1.496667</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>5.333333</td>\n", " <td>3.0</td>\n", " <td>8.0</td>\n", " <td>20.215000</td>\n", " <td>10.0</td>\n", " <td>True</td>\n", " <td>0.106667</td>\n", " <td>6.165000</td>\n", " <td>6.406667</td>\n", " <td>0.051667</td>\n", " <td>...</td>\n", " <td>0.630000</td>\n", " <td>12.271667</td>\n", " <td>6.060652e+07</td>\n", " <td>815456.333333</td>\n", " <td>7.201667</td>\n", " <td>112500.0</td>\n", " <td>1.265738e+09</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>0.990000</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>6 rows \u00d7 21 columns</p>\n", "</div>"], "text/plain": [" id Tasks/Node Threads/Task Runtime Program / s Scale \\\n", "Nodes \n", "1 5.333333 3.0 8.0 185.023333 10.0 \n", "2 5.333333 3.0 8.0 73.601667 10.0 \n", "3 5.333333 3.0 8.0 43.990000 10.0 \n", "4 5.333333 3.0 8.0 31.225000 10.0 \n", "5 5.333333 3.0 8.0 24.896667 10.0 \n", "6 5.333333 3.0 8.0 20.215000 10.0 \n", "\n", " Plastic Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "Nodes \n", "1 True 0.220000 42.040000 \n", "2 True 0.168333 19.628333 \n", "3 True 0.138333 12.810000 \n", "4 True 0.116667 9.325000 \n", "5 True 0.140000 7.468333 \n", "6 True 0.106667 6.165000 \n", "\n", " Max. Edge Build Time / s Min. Init. Time / s ... Presim. Time / s \\\n", "Nodes ... \n", "1 42.838333 0.583333 ... 7.226667 \n", "2 20.313333 0.191667 ... 2.725000 \n", "3 13.305000 0.135000 ... 1.426667 \n", "4 9.740000 0.088333 ... 1.066667 \n", "5 7.790000 0.070000 ... 0.771667 \n", "6 6.406667 0.051667 ... 0.630000 \n", "\n", " Sim. Time / s Virt. Memory (Sum) / kB Local Spike Counter (Sum) \\\n", "Nodes \n", "1 132.061667 4.806585e+07 816298.000000 \n", "2 48.901667 4.975288e+07 818151.000000 \n", "3 27.735000 5.511165e+07 820465.666667 \n", "4 19.353333 5.325783e+07 819558.166667 \n", "5 14.950000 6.075634e+07 815307.666667 \n", "6 12.271667 6.060652e+07 815456.333333 \n", "\n", " Average Rate (Sum) Number of Neurons Number of Connections \\\n", "Nodes \n", "1 7.215000 112500.0 1.265738e+09 \n", "2 7.210000 112500.0 1.265738e+09 \n", "3 7.253333 112500.0 1.265738e+09 \n", "4 7.288333 112500.0 1.265738e+09 \n", "5 7.225000 112500.0 1.265738e+09 \n", "6 7.201667 112500.0 1.265738e+09 \n", "\n", " Min. Delay Max. Delay Unaccounted Time / s \n", "Nodes \n", "1 1.5 1.5 2.891667 \n", "2 1.5 1.5 1.986667 \n", "3 1.5 1.5 1.745000 \n", "4 1.5 1.5 1.275000 \n", "5 1.5 1.5 1.496667 \n", "6 1.5 1.5 0.990000 \n", "\n", "[6 rows x 21 columns]"]}, "execution_count": 97, "metadata": {}, "output_type": "execute_result"}], "source": ["df.groupby(\"Nodes\").mean()"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "subslide"}}, "source": ["### Pivoting\n", "\n", "* Combine categorically-similar columns\n", "* Creates hierarchical index\n", "* Respected during plotting!\n", "* A pivot table has three *layers*; if confused, think about these questions\n", " - `index`: \u00bbWhat's on the `x` axis?\u00ab\n", " - `values`: \u00bbWhat value do I want to plot?\u00ab\n", " - `columns`: \u00bbWhat categories do I want [to be in the legend]?\u00ab\n", "* All can be populated from base data frame\n", "* Might be aggregated, if needed"]}, {"cell_type": "code", "execution_count": 98, "metadata": {"slideshow": {"slide_type": "subslide"}}, "outputs": [], "source": ["df_demo[\"H\"] = [(-1)**n for n in range(5)]"]}, {"cell_type": "code", "execution_count": 99, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th>H</th>\n", " <th>-1</th>\n", " <th>1</th>\n", " </tr>\n", " <tr>\n", " <th>F</th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>-3.918282</th>\n", " <td>NaN</td>\n", " <td>7.389056</td>\n", " </tr>\n", " <tr>\n", " <th>-2.504068</th>\n", " <td>NaN</td>\n", " <td>1.700594</td>\n", " </tr>\n", " <tr>\n", " <th>-1.918282</th>\n", " <td>NaN</td>\n", " <td>0.515929</td>\n", " </tr>\n", " <tr>\n", " <th>-0.213769</th>\n", " <td>0.972652</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>0.518282</th>\n", " <td>2.952492</td>\n", " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": ["H -1 1\n", "F \n", "-3.918282 NaN 7.389056\n", "-2.504068 NaN 1.700594\n", "-1.918282 NaN 0.515929\n", "-0.213769 0.972652 NaN\n", " 0.518282 2.952492 NaN"]}, "execution_count": 99, "metadata": {}, "output_type": "execute_result"}], "source": ["df_pivot = df_demo.pivot_table(\n", " index=\"F\",\n", " values=\"G\",\n", " columns=\"H\"\n", ")\n", "df_pivot"]}, {"cell_type": "code", "execution_count": 100, "metadata": {"slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df_pivot.plot();"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 7\n", "<a name=\"task7\"></a>\n", "\n", "* Create a pivot table based on the NEST `df` data frame\n", "* Let the `x` axis show the number of nodes; display the values of the simulation time `\"Sim. Time / s\"` for the tasks per node and threas per task configurations\n", "* Please plot a bar plot\n", "* Done? [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 101, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAs0AAAELCAYAAAAiFru1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xl4U1X+x/F30tCNFlFIi5aCyCI6M4KCQAGpOlhEqGUVBEFEAZVFcGOx7FvFKoIs4wKiCEjZyg4qKAIVWZyBYQZRBgpFoKUFutC9ye+PzkT7KzRpSZeUz+t5fJ7k3pNzv8kB/OTm3HMNVqvVioiIiIiIXJexvAsQEREREanoFJpFREREROxQaBYRERERsUOhWURERETEDoVmERERERE7FJpFREREROxQaBYRERERsUOhWURERETEDoVmERERERE7FJpFREREROxQaBYRERERsUOhWURERETEDoVmERERERE7TOVdwP93+fJVLBZreZdRKmrU8CEpKa28y5AS0Ni5No2fa9P4uS6NnWurzONnNBq49daqxXpNhQvNFou10oZmoFK/t8pOY+faNH6uTePnujR2rk3j9ztNzxARERERsUOhWURERETEjgo3PUNERERuXnl5uVy+fJHc3OzyLuWml5BgxGKxlHcZN8RkcufWW824ud145FVoFhERkQrj8uWLeHp6U7VqLQwGQ3mXc1MzmYzk5rpuaLZarVy9msLlyxepWfP2G+5P0zNERESkwsjNzaZq1WoKzHLDDAYDVatWc9qvFgrNIiIiUqEoMIuzOPPPkkKziIiIiIgdN/WcZt9qXnh6FP0RZGblkpqSUUYViYiIiEhFdFOHZk8PE6GvrS+yzcZ3w0gto3pERESksPfff4d//OPvAMTGnuT22+/Aw8MTgA8/XGx77IiNG6OJidnNzJnvFquGQYOe5f335/PMM0/RvHkL3nprkm3f0aP/ZOrU8axcGV2sPvv06c7o0eNp0qSpQ+1//PEHFi78AIBLl5KwWPKoWdMPgGefHcju3bto3PgennqqT7HqKKlXXx1Ohw4d6dDhiSLbRUUtJyMjg2+/3QFARkY6Fy9epE6dugC0bBnESy8NL/bxBw8ewLPPPk+bNg8Vv/gSuKlDs4iIiFR8I0e+YXvco0coEydOo3Hje8vs+BcunMfXtxpVq/oAsGPHV7Rq1Zq//jWkzGqA/HDZsmUQAB99tICMjAxeeeU12/7du3eVaT2O2rPneyZMmMqzzz4PwIEDPzJ//hyWLFlezpUVj0KziIiIuKwNG9axcWM0ubk5pKSk0L//QMLCupGYeJGpUyeSmpoMQJs27Xj++SEFXrtjx1d89NECIiPn4uXldd3233//HQ89FGx73aBBLxMZGcGf/vQXatUqvJTZokUf8u233+Dm5kadOncyatQb3HZbDU6ePMHMmVPJzs7mzjvvJDMz0/aaw4f/wd/+9gFZWZkYjW48//xggoLaFvvzOHz47+zY8TWXL1+ifv2GTJw4DZPJRIcOwQQFteE//znBlCkzcXMzMWfOu6SmpmCxWOjVqw8dO3YmLy+PuXPf5dixf5OefhWAMWMm8Oc//4WEhHimT5/EpUtJ1Kp1O1euXLId96OPFrBnzy6qVHHnlluqEx4+idtuq0FKSjI5OdnUrGkusu6rV9N4552ZnDv3G8nJV6hWrRqTJs0gIKA2O3Z8xRdfLMFodMPNzY0RI17lz3++z/banJwcJkwYg69vNUaPDsfNza3Yn5sjHLoQcM6cOTzxxBN06tSJTz/9FICYmBhCQ0MJCQlh9uzZtrbHjh2je/fudOjQgbfeeovc3NxSKVxERERublevprFly0befXcun366nAkTptmmL6xfv5a6deuyePEy5s37mNjYU7YQCLBt22Y++2wRH3zwIYGBdYpsv3fv9wVCc/PmDxIa2oXJk8PJy8srUNOGDes4dOgAn3yylM8++5LAwDpEREwFYNKkt+jWrSeffbaCrl17cvFiAgDJyVeIiJjCxInTWbx4GTNmvMOsWTNISIgv9meSlJTE3LkLWb58DefPn2P37u8AyMrKIjj4UVasWEu9evWZMGEMw4aNZPHiL/jggw9ZuvRTfv753xw9+k+uXLnC3/62mC+/XEP79h1YtuwzACIjI2jS5H6WLo1i+PBRnD4dC8C5c7+xbt1qFi36gkWLltKsWXP+/e9//fez203r1vanT+zdu5uaNc189NESVq6Mpl69+kRHrwHggw9mM27cRBYtWsqzzz7P3//+k+112dlZjB37GnfcUZuxYyeUWmAGB84079+/n3379rFhwwZyc3N54oknCAoKYty4cSxdupTbb7+dIUOGsGvXLoKDg3njjTeYNm0aTZs2Zdy4cURFRdGnT9nMrREREZGbR9WqPsyc+S579+4mLu4Mv/56nIyMdABatmzN6NEjOX/+HM2bt2Do0Ffw9q4K5M9BjonZw6hRb+Dn519k+5SUZLKzswqdKR08+GVefHEgS5Z8QsuWrW3b9+2LoVOnJ/H0zJ9n3bPn03Tr9gSXLiVx+nQsISEdAWja9AHq1r0TgH/+8zBJSUmMGfOqrR+DwcDJk/+x1eeodu0ets3xrlfvLi5fvmzb16TJ/QDExp7i3LnfmD59km1fTk4Ov/xynCef7Er16tVZv34t586d5dChg1SrVg2Agwf38+qrbwJQp86d3H9/MwD8/Py58856DBzYl1at2hAU1IYHHmgO5E8ZGTToJbt1h4R0JDCwDqtWfclvv8Vx5Mhhmjd/EIC//jWE119/hdatH+LBB1vSq9fvufL9998hKyuLCROmlvpShXZDc4sWLfj8888xmUzEx8eTl5dHSkoKdevWJTAwEIDQ0FC2bdtGgwYNyMzMpGnT/Ant3bp1Y+7cuQrNIiIi4nQXLpzn5ZdfICysG02a3E9w8KPs378PgD//+S+sWrWBAwf289NPB3jhhf68/Xb+L+O33HILEyZMZdKkcbRq1ZZatWpdt31c3OlrTpMwmUxMnDiNQYP628I4gNVa8A56VquFvLw8W6CzWq22ff87K5qXZ6F+/fosXLjYtu/ixQRuvfW2Yn8mJtPv0S7/mL8fz8vLGwCLJY9q1W4pMKc4KSkRHx9fdu/+jvnz59CrV1+Cgx8hICDQdgGfwXDt+k0mEwsWfMKxY//i4MH9zJ49ixYtghg8+GXOn/+NevXuslv3ypXL+Prr7XTt2oOQkI54eXmTkpI/VWb48FF06dKdAwd+ZOPGdaxYsZSPP84/+x0a2pXU1BTeeWcmU6dGFPvzKg6HpmdUqVKFuXPn0qlTJ4KCgkhISMBs/v0bl5+fH/Hx8YW2m81m4uOL/9OCiIiIiD3Hjv2LGjVq0L//QFq2DGLv3u+xWPJD6/z5c1i6dAnBwY8wcuQb1KlTl7NnzwAQGFiHBx9sSZcuPZgxYxJWq/W67Xfv/o62bYOvefzAwDoMH/4qH3+8wLatRYsgNm/eYJuvvGrVl9x/fzNuvfU26tdvwObNG2y1x8aeAuAvf7mPU6dOceTIPwA4fvxnnn66G5cuJZXK53bnnXdhNBr55pvtQP6Xj379enHixK8cOPAjDz30MF279qBx43vYvXsXFkv+FJSWLVuzYcM6AM6fP8c//vGTrd5nn+1NvXr16d9/ID17Pm3rq3nzlg7V9OOP++jcOYxOnZ6kdu1AYmL2YLFYyM7Oplu3TlitVrp168krr7xObOxJ27SYe+75Ey+9NIJffvmZbds2O/ujKsDhCwFHjBjBoEGDePHFF4mNjS2032AwFPj28cftxVGjhk+x2pcFs9m3QvYlZUtj59o0fq5N4+e6ijt2CQlGTKaiz+m5ueW3adv2IbZu3USfPt3x8vLiT3/6C76+1bhw4Tf69HmGKVMm0L9/L6pUqUKjRo0JCenAli2bMBgMmExGBg0azHPP9SMqavk12z/88MOsXLmMRo0aXvP4AGFhXThwYB8///xvTCYj3bv3IDExgUGD+mOxWKhTpy4TJ07FZDIybVoE06ZNZu3aKAID61CnTl3c3Az4+ZmZOXMW8+bNJjs7G6vVypQpM7jjjtvJy8tjwIC+jB8/mUaN7rbVYDQaMBop8FkZDPnb/7ft/z83mYz//c+Td96ZzfvvR7J06afk5uby8svDadLkPnx9qzJx4ls8+2xv3NzcaNLkfnbv/g43NwOjR49j2rRJPPNMT/z8/GnU6G6MRgN/+tO9PPzwo7zwQj+8vLzw9PTktddGExX1JZ07P1loPN3cjBgMBWt/9tkBzJo1kw0b1mI0Grn33nv57bezeHt7MmLEKMLD38RkqoKbm5Hw8El4eFTBYAA3NwM+Pt6MHz+ZN98cRfPmzQtdnGk0Gp3yb4jBeq2k+wf/+c9/yM7O5p577gFg2bJlbNu2DTc3N5YsWQJAdHQ0P/74I8OGDWPAgAF8/fXXABw8eJC5c+fy+eefO1xQUlIaFkuRJTmN2ezr0DrNFy86Z6Vms9nXaX1J2dLYuTaNn2vT+LmukozdhQunqVWrbilV5JoWLJhLhw5PUL9+gzI9rslkJDfXYr9hBXetP1NGo6HYJ2rtTs84e/Ys4eHhZGdnk52dzY4dO+jduzenTp3i9OnT5OXlsWnTJtq1a0dAQAAeHh4cOnQIyA/T7dq1K1ZBIiIiIpLParUSGFinzAOzFGZ3ekZwcDCHDx+mS5cuuLm5ERISQqdOnbjtttsYPnz4f5cwCebxxx8HIDIykvDwcK5evcq9995L//79S/1NiIiIiFRGBoOB0NAu5V2G4OCc5hEjRjBixIgC24KCgtiwYUOhto0bN2b16tXOqU5EREREpAJwaPUMEREREZGbmUKziIiIiIgdDi85JyIiIiK/863mhaeH86NUZlYuqSkZTu9XboxCs4iIiEgJeHqY7C5dWxIb3w3DkYX68vLyGD9+DBMmTCUtLY0ZMyZz6VISRqOBoUNH0qzZgw4dLzx8NPXq3cXzzw8hPT2dadMmMnVqhN31sm82+jREREREXFB09GpatGiFp6cnCxbMoU2btixZspxJk6YzeXK47a55Rdm0aT0//XTQ9tzb25vmzVuwfv3a0izdJSk0i4iIiLgYq9XK6tUrad++AwDBwY/w2GMdAQgICCQ7O4uMjKKneJw9G8fWrZsIC+tWYHv79iFERa245p2eb2YKzSIiIiIu5sSJX/Dx8cHHJ/+udsHBj1KtWjUAVqxYSsOGd9v2XUtubi4REVN5/fWxmEwFZ+tWq3YL3t5enDjxa+m9ARek0CwiIiLiYuLi4jCb/Qttj4pazvr16wgPn1zk6xcv/ojg4EepV++ua+7397+duLgzTqm1stCFgCIiIiIuxmg04ObmVmDbggVziInZy/z5H+HnVzhQ/9F33+2gShV3Nm/ewKVLSQB4eXnRp0/+nZxNJhMGg6F0indRCs0iIiIiLiYgoDYXLpy3PY+KWs5PPx1i4cJF+Pr62n398uVrbI8XLfoQwBaYAc6fP0ft2oFOrNj1KTSLiIiIlEBmVi4b3w0rlX7tadCgEcnJV0hLS6Nq1aosXvwxVatWZfjwIbY2kZFzSEy8yCef/I3IyLkOHz81NZW0tDQaNmxEbq6lRO+hMlJoFhERESmB1JQMh9ZTLg0Gg4GePZ9m+/bNdO/ei23bvr1muxo1amI2+xXZ1/PPDynwfOvWTfTs2dtptVYWuhBQRERExAV17dqDAwd+JDMz87ptEhLiCQnp6HCf6enpHDy4v9AydKIzzSIiIiIuyWQyERHxXpFt/P1r4e9fy+E+vb29mTVr9o2WVinpTLOIiIiIiB0KzSIiIiIidig0i4iIiIjYodAsIiIiImKHLgQUERERKYFbb3HH5O7h9H5zs7O4nJxtt11eXh7jx49hwoSppKWlMWPGZC5dSsJoNDB06EiaNXuwyNcvX/45W7ZsBKBz5zB6936G9PR0pk2byNSpEZhMOrf6RwrNIiIiIiVgcvfg5PTuTu/3rrfWAPZDc3T0alq0aIWnpyezZk2nTZu2dO/eizNnYhk2bAjr1m0pdKvt/zl7No5161bzxRdRWCxWnnmmJ23bBlO7diDNm7dg/fq1PPVULye/M9emrxAiIiIiLsZqtbJ69Urat+8AQHDwIzz2WP56zAEBgWRnZ5GRkXHd11ssFnJycsjKyiYnJxur1YrJlH8utX37EKKiVmC1Wkv/jbgQnWkWERERcTEnTvyCj48PPj4+AAQHP2rbt2LFUho2vNu271rq1KlL+/Yd6NEjFKvVSmhoGLVq3Q5AtWq34O3txYkTv1KvXoPSfSMuRGeaRURERFxMXFwcZrN/oe1RUctZv34d4eGTi3z9vn0xHD9+jOjorURHb+HYsX+zY8fXtv3+/rcTF3fG6XW7MoVmERERERdjNBoKzVdesGAOGzZEM3/+R3bvArh3724efvhRvL29qVrVh/btO/CPf/xk228ymTAYDKVSu6tyKDTPmzePTp060alTJ2bNmgXA2LFjCQkJISwsjLCwML7+Ov/bSUxMDKGhoYSEhDB7tm7DKCIiIuJsAQG1uXDhvO15VNRyfvrpEAsXLsLPr/AZ6P+vQYOG7N27h7y8PHJzc/nxxxjuuede2/7z589Ru3ZgqdTuquzOaY6JiWHPnj2sW7cOg8HACy+8wNdff83Ro0f54osv8PPzs7XNzMxk3LhxLF26lNtvv50hQ4awa9cugoODS/VNiIiIiNxMGjRoRHLyFdLS0qhatSqLF39M1apVGT58iK1NZOQcEhMv8sknfyMycm6B14eGduHMmVj69XsKNzc3goLa0rFjZwBSU1NJS0ujYcNG5OZayvR9VWR2Q7PZbGbMmDG4u7sDUL9+fc6dO8e5c+cYP348586d47HHHmPYsGEcOXKEunXrEhiY/80kNDSUbdu2KTSLiIhIpZObnfXf5eGc3689BoOBnj2fZvv2zXTv3ott2769ZrsaNWpiNvsV2m40Ghk+/FWGD3+10L6tWzfRs2fv4hdeydkNzQ0bNrQ9jo2NZcuWLSxfvpz9+/czZcoUvL29GTJkCKtXr8bb2xuz2Wxr7+fnR3x8fOlULiIiIlKO8m9AYn895dLStWsPwsPfpFOnMDw9Pa/ZJiEhnpCQjg73mZ6ezsGD+5kx4x1nlVlpOLzk3K+//sqQIUMYPXo0d911F/Pnz7ft69evH9HR0Tz++OOFXlfcSeQ1alx/eZTyYjb7Vsi+pGxp7Fybxs+1afxcV3HHLiHBqDvROchkcicy8v0i2wQE3EFAwB0O91mtmg/vvTfnD8dw/bEwGo1O+TfEodB86NAhRowYwbhx4+jUqRPHjx8nNjaWDh3yF9T+34LY/v7+JCYm2l6XkJBQYM6zI5KS0rBYymYxbUc/wIsXU512PGf1JWVLY+faNH6uTePnukoydhaLRfNoKwiTyVgpxsJisRT6c2g0Gop9otbu14fz588zdOhQIiMj6dSpE5AfkmfMmEFycjI5OTmsXLmSxx57jCZNmnDq1ClOnz5NXl4emzZtol27dsUqSERERESkorF7pnnRokVkZWURERFh29a7d28GDx7M008/TW5uLiEhIXTunH/FZUREBMOHDycrK4vg4OBrTtkQEREREXEldkNzeHg44eHh19zXt2/fQtuCgoLYsGHDjVcmIiIiIlJBOHwhoIiIiIj8zre6B55V3J3eb2ZONqlX7C87J2VLoVlERESkBDyruPPUypec3m9Ur4WkYj805+XlMX78GCZMmEpaWhozZkzm0qUkjEYDQ4eOpFmzB+32cfFiAi+80I/167fbti1e/BE7d36DwQBBQW14+eVXSE9PZ9q0iUydGlHo9t03C9dfR0RERETkJhQdvZoWLVrh6enJggVzaNOmLUuWLGfSpOlMnhxOXl5eka//4Yc9DB/+IklJSbZtBw78yIED+/j002UsXbqC48d/Zteub/H29qZ58xasX7+2tN9WhaXQLCIiIuJirFYrq1evpH37/OV/g4Mf4bHH8m9iEhAQSHZ2FhkZGUX2sWnTembMmFVgW40aNRk6dBRVqlTBZKpC3bp3Eh9/AYD27UOIilqB1Vo2SwNXNJqeISIiIuJiTpz4BR8fH3x88tcaDg5+1LZvxYqlNGx4t23f9UyfXviuf3fdVd/2+MyZM+zc+TULFy4GoFq1W/D29uLEiV9p2LCRM96GS9GZZhEREREXExcXh9nsX2h7VNRy1q9fR3j45Bvq/+TJ/zBixEsMHTqSwMA6tu3+/rdz9uyZG+rbVelMs4iIiIiLMRoNhS7IW7BgDjExe5k//yP8/AoHakcdOfIPwsNHM2rU6zzyyGMF9plMJozGm/Ocq0KziIiIiIsJCKjNhQvnbc+jopbz00+HWLhwEb6+viXuNz7+AuPGvc7kyTNp2bJlodtonz9/joCAwBL378oUmkVERERKIDMnm6heC0ulX3saNGhEcvIV0tLSqFq1KosXf0zVqlUZPnyIrU1k5BwSEy/yySd/IzJyrkPHXrHiC7Kysvngg9nMmwdWK3Tp0o0uXXqQmppKWloaDRo0LPF7c2UKzSIiIiIlkHoly6H1lEuDwWCgZ8+n2b59M92792Lbtm+v2a5GjZqYzX5F9rVnz0Hb45EjX2fkyNcBMJmMBc40b926iZ49ezuhetd0c05KEREREXFxXbv24MCBH8nMzLxum4SEeEJCOt7wsdLT0zl4cD9hYd1uuC9XpTPNIiIiIi7IZDIREfFekW38/Wvh71/rho/l7e3NrFmzb7gfV6YzzSIiIiIidig0i4iIiIjYodAsIiIiImKHQrOIiIiIiB0KzSIiIiIlcKuvO2azr9P/u9XX3aHj5+XlMW7cGwVWz0hPv8pTT4Xx008Hi3hlQfPnz2H69EkAWCwWxo59nfT09GJ9FjcDrZ4hIiIiUgImTw/2hnV3er9t1q+BVPs3OImOXk2LFq3w9PS0bXvvvVmkpqY6fKyDB/ezdetGgoLaAmA0GnnyyS4sWfIxI0aMKn7xlZjONIuIiIi4GKvVyurVK2nfvoNt244dX+Ht7U39+g0c6iMlJZmPPlpAv37PFdjeokUQu3Z9y9WraU6t2dUpNIuIiIi4mBMnfsHHxwcfHx8ALly4QFTUCoYOfcXhPmbNmsHgwS/j61utwHY3Nzfq12/IoUOOT/G4GSg0i4iIiLiYuLg4zGZ/IH8eckTEFEaNehMPD087r8y3cWM0/v7+NG/e4pr7a9WqRVzcGafVWxloTrOIiIiIizEaDbi5uQFw+nQsZ86cJiJiKgC//RbH229PY/TocB54oPk1X79jx1ckJSUyYEAfUlKSycjIYO7cdxkx4jUg/26DBoPOrf6RQrOIiIiIiwkIqM2FC+cBqFfvLtau3WzbN2zYYAYOHHzdwAzw/vsLbI+3bNnI3/9+yBaYAc6dO0fTpg+UQuWuS18hRERERFxMgwaNSE6+Qlpa0RfrJSZeZMCAPsXqOy8vj19++ZkWLa49deNmpTPNIiIiIiWQm5mVvzxcKfRrj8FgoGfPp9m+fTPdu/cqsG/evI9sj2vWNHP33Y2L7OuJJ0J54olQ2/OYmN0EBz+Kp6cXubmWYlZfeTkUmufNm8fWrVsBCA4O5s033yQmJoaZM2eSlZVFx44dGTUqfy2/Y8eOER4eTlpaGs2bN2fy5MmYTMrmIiIiUrlcTs12aD3l0tK1aw/Cw9+kU6ewAms1/1FGRgatWz/kcJ8Wi4VNm9YzYcJUZ5VZadidnhETE8OePXtYt24d0dHR/Otf/2LTpk2MGzeOBQsWsGXLFo4ePcquXbsAeOONNxg/fjzbt2/HarUSFRVV6m9CRERE5GZjMpmIiHjvuoEZwMvLi+DgRxzu02g08vbbs6la1ccZJVYqdkOz2WxmzJgxuLu7U6VKFerXr09sbCx169YlMDAQk8lEaGgo27Zt47fffiMzM5OmTZsC0K1bN7Zt21bqb0JEREREpDTZnTfRsGFD2+PY2Fi2bNlCv379MJvNtu1+fn7Ex8eTkJBQYLvZbCY+Pr5YBdWoUfG+2ZjNvhWyLylbGjvXpvFzbRo/11XcsUtIMGIyaZ2CiqIyjIXRaHTKvyEOTzb+9ddfGTJkCKNHj8ZkMnHq1KkC+w0GA1artdDrDAZDsQpKSkrDYincT2lw9AO8eNHxe7jbO56z+pKypbFzbRo/16bxc10lGTuLxaKLzyoIk8lYKcbCYrEU+nNoNBqKfaLWoa8Phw4dYsCAAbz22mt07doVf39/EhMTbfsTEhLw8/MrtP3ixYv4+fkVqyARERERkYrG7pnm8+fPM3ToUGbPnk1QUBAATZo04dSpU5w+fZratWuzadMmunfvTkBAAB4eHhw6dIhmzZoRHR1Nu3btSv1NiIiIiJS1W6p54e7h/BXCsrNySU7JcHq/cmPsjvSiRYvIysoiIiLCtq13795EREQwfPhwsrKyCA4O5vHHHwcgMjKS8PBwrl69yr333kv//v1Lr3oRERGRcuLuYWLKa5uc3u+Edzs71C4vL4/x48cwYcJU2woa6elXGTCgD2PGjC/yjoAA27dvYenSJQC0atWaYcNGYrFYeOutNxk/fgrVqlW868zKk93QHB4eTnh4+DX3bdiwodC2xo0bs3r16huvTERERESuKzp6NS1atCqw5Nx7780iNdX+PPLMzEzefz+SFSvW4uPjw0svPc+BAz/y4IMtefLJLixZ8jEjRowqzfJdjutfEikiIiJyk7FaraxevZL27TvYtu3Y8RXe3t7Ur9/A7ustljysVguZmRnk5eWSl5eLh4cHAC1aBLFr17dcvVr0LbpvNgrNIiIiIi7mxIlf8PHxwccnfwrFhQsXiIpawdChrzj0em/vqrzwwov06dODLl2eoFatO/jLX5oA4ObmRv36DTl06GCp1e+KFJpFREREXExcXBxmsz+Qv6RaRMQURo16Ew+P698d8I9OnPiVzZs3sGbNRtav34bRaGTFiqW2/bVq1SIu7kyp1O6qFJpFREREXIzRaMDNzQ2A06djOXPmNBERUxkwoA/Hjx/j7ben8dNP1z9TvH//DzRr1oJbb70Nd3d3nngilL///ZBtv8lkwmBQTPwj56+TIiIiIiKlKiCgNhe5VgL8AAAXkklEQVQunAegXr27WLt2s23fsGGDGThwcJGrZzRo0IgFC+aSkZGBp6cne/d+T+PG99r2nzt3jqZNHyi9N+CCFJpFRERESiA7K9fh5eGK2689DRo0Ijn5CmlpabZ5zdeSmHiR119/hSVLlhfY3qJFK3755Weef/4ZTCYT99zzJ555ZgCQv5TdL7/8zKRJU27ofVQ2Cs0iIiIiJVCeNyAxGAz07Pk027dvpnv3XgX2zZv3ke1xzZpm7r678TX7eOaZAbag/EcxMbsJDn4UT0+vSnEbbWfRZBURERERF9S1aw8OHPiRzMzM67bJyMigdeuHHO7TYrGwadN6Bgx43hklVio60ywiIiLigkwmExER7xXZxsvLi+DgRxzu02g08vbbs2+0tEpJZ5pFREREROxQaBYRERERsUOhWURERETEDoVmERERERE7FJpFRERESuCWau6Yzb5O/++Wau4OHT8vL49x494osHpGevpVnnoqrMi7Af7R1atp9Ov3FOfPn7NtW79+Lf36PUXfvk8xY8ZkcnJysFgsjB37Ounp6cX7kCoRrZ4hIiIiUgLuHh7MG/uc0/sdNvNTINtuu+jo1bRo0QpPT0/btvfem0VqaqpDx/nXv44ya9Y04uLO2LadOXOaFSuWsmjRUqpV82Xy5AmsXRtFr159efLJLixZ8jEvv/xKsd9TZaAzzSIiIiIuxmq1snr1Stq372DbtmPHV3h7e1O/fgOH+ti4cR2vvjqamjXNtm3u7u689toYqlb1wWAwcNddDYiPvwBAixZB7Nr1LVevpjn3zbgIhWYRERERF3PixC/4+PjYbqF94cIFoqJWMHSo42eBx4wZT5Mm9xfYVqvW7Tz4YEsALl++zNq1UbRtGwyAm5sb9es3dHjqR2Wj0CwiIiLiYuLi4jCb/YH8u/hFRExh1Kg38fDwtPNKx1y8mMCwYUPo3DmMBx5obtteq1Yt4uLinHIMV6PQLCIiIuJijEYDbm5uAJw+HcuZM6eJiJjKgAF9OH78GG+/Pa3EZ4RPn47lpZee54knQhkw4IUC+0wmE0aj4Ybrd0W6EFBERETExQQE1ObChfMA1Kt3F2vXbrbtGzZsMAMHDi5whthR6elXGTVqKEOGDKVTp87k5loK7D937hz33df0xop3UTrTLCIiIuJiGjRoRHLyFdLSir4oLzHxIgMG9HG4340bo7l8+RIrVnxBv369GTCgD5988jcgf4m7X375mebNW95Q7a5KZ5pFRERESiA7K+u/y8M5v197DAYDPXs+zfbtm+nevVeBffPmfWR7XLOmmbvvblxkX6tXb7Q97tWrL7169QXAZDIWONMcE7Ob4OBHCyxxdzNRaBYREREpgeSUbBxZT7m0dO3ag/DwN+nUKey6QTYjI4PWrR+64WNZLBY2bVrPhAlTb7gvV6XQLCIiIuKCTCYTERHvFdnGy8uL4OBHbvhYRqORt9+efcP9uDKH5zSnpaXRuXNnzp49C8DYsWMJCQkhLCyMsLAwvv76awBiYmIIDQ0lJCSE2bNv7g9XRERERCoHh840Hz58mPDwcGJjY23bjh49yhdffIGfn59tW2ZmJuPGjWPp0qXcfvvtDBkyhF27dhEcHOz0wkVERKRyslqtGAw357Jm4lxWq9VpfTl0pjkqKoqJEyfaAnJ6ejrnzp1j/PjxhIaGMnfuXCwWC0eOHKFu3boEBgZiMpkIDQ1l27ZtTitWREREKjeTyZ2rV1OcGnbk5mS1Wrl6NQWTyd0p/Tl0pnn69OkFniclJdGqVSumTJmCt7c3Q4YMYfXq1Xh7e2M2/37/cj8/P+Lj44tVUI0aPsVqXxbMZt8K2ZeULY2da9P4uTaNn+sq7thVr+5JXFwcFy+eLaWK5Gbi5eVJgwb1qFKlyg33VaILAQMDA5k/f77teb9+/YiOjubxxx8v1La4P68kJaVhsZTNt0tH/yJfvJjqtOM5qy8pWxo716bxc20aP9dV0rHz9TXjq+9J5a6y/N27ciUTyCywzWg0FPtEbYlubnL8+HG2b99ue261WjGZTPj7+5OYmGjbnpCQUGDOs4iIiIiIKypRaLZarcyYMYPk5GRycnJYuXIljz32GE2aNOHUqVOcPn2avLw8Nm3aRLt27Zxds4iIiIhImSrR9IzGjRszePBgnn76aXJzcwkJCaFz584AREREMHz4cLKysggODr7mlA0REREREVdSrNC8c+dO2+O+ffvSt2/fQm2CgoLYsGHDjVdWQVhysx2a+5ybncXl5KLvCmTJtt9XbmYWl1PL7+5CIiIiIlKY7ghoh9Hkzsnp3e22u+utNdi7labR3Z29YUX31Wb9GlBoFhEREalQSjSnWURERETkZqLQLCIiIiJih0KziIiIiIgdCs0iIiIiInYoNIuIiIiI2KHQLCIiIiJih0KziIiIiIgdCs0iIiIiInYoNIuIiIiI2KHQLCIiIiJih0KziIiIiIgdCs0iIiIiInYoNIuIiIiI2KHQLCIiIiJih0KziIiIiIgdCs0iIiIiInYoNIuIiIiI2GEq7wJESsq3mheeHkX/Ec7MyiU1JaOMKhIREZHKSqFZXJanh4nQ19YX2Wbju2GkllE9IiIiUnlpeoaIiIiIiB0KzSIiIiIidig0i4iIiIjYodAsIiIiImKHQ6E5LS2Nzp07c/bsWQBiYmIIDQ0lJCSE2bNn29odO3aM7t2706FDB9566y1yc3NLp2oRERERkTJkNzQfPnyYp59+mtjYWAAyMzMZN24cCxYsYMuWLRw9epRdu3YB8MYbbzB+/Hi2b9+O1WolKiqqVIsXERERESkLdkNzVFQUEydOxM/PD4AjR45Qt25dAgMDMZlMhIaGsm3bNn777TcyMzNp2rQpAN26dWPbtm2lW72IiIiISBmwu07z9OnTCzxPSEjAbDbbnvv5+REfH19ou9lsJj4+3omlVmzZeTmYzb7lXYaIiIiIlIJi39zEarUW2mYwGK67vbhq1PAp9msqAne3Kjy18qUi20T1WuhQXwrfzuWsz1Pj4to0fq5N4+e6NHauTeP3u2KHZn9/fxITE23PExIS8PPzK7T94sWLtikdxZGUlIbFUjiAl4aK+gfh4kXdw84Rjo6fMz5Ps9lX4+LCNH6uTePnujR2rq0yj5/RaCj2idpiLznXpEkTTp06xenTp8nLy2PTpk20a9eOgIAAPDw8OHToEADR0dG0a9euuN2LiIiIiFQ4xT7T7OHhQUREBMOHDycrK4vg4GAef/xxACIjIwkPD+fq1avce++99O/f3+kFi4iIiIiUNYdD886dO22Pg4KC2LBhQ6E2jRs3ZvXq1c6pTERERESkgtAdAUVERERE7FBoFhERERGxQ6FZRERERMQOhWYRERERETsUmkVERERE7FBoFhERERGxQ6FZRERERMQOhWYRERERETsUmkVERERE7FBoFhERERGxQ6FZRERERMQOhWYRERERETsUmkVERERE7FBoFhERERGxQ6FZRERERMQOhWYRERERETsUmkVERERE7FBoFhERERGxw1TeBYjIzce3mheeHkX/85OZlUtqSkYZVSQiIlI0hWYRKXOeHiZCX1tfZJuN74aRWkb1iIiI2KPpGSIiIiIiduhMcwWTm5OH2exbZJvsrFyS9bO1iIiISJlRaK5gTFXcmPLapiLbTHi3cxlVIyIiIiKg6RkiIiIiInbd0Jnm/v37k5SUhMmU382UKVM4c+YMCxcuJCcnhwEDBtC3b1+nFCoiIiIiUl5KHJqtVisnT57ku+++s4Xm+Ph4Ro0axdq1a3F3d6d37960bNmSBg0aOK1gEREREZGyVuLQfPLkSQwGA4MGDSIpKYmnnnqKqlWr0qpVK6pXrw5Ahw4d2LZtG8OGDXNawSLFYcnNtnthZW52FpeTs4vuJ9t+PwC5mVlcTi26LxEREXE9JQ7NKSkpBAUFMWnSJDIzM+nfvz8dO3bEbDbb2vj5+XHkyBGnFCpSEkaTOyendy+yzV1vrQGKDrpGd3f2hhXdD0Cb9WtAoVlERKTSKXFovv/++7n//vsB8Pb2pkePHsycOZMXX3yxQDuDwVCsfmvU8ClpSTcVR856iuOc+XlqbJxH4yL/o/FzXRo716bx+12JQ/PBgwfJyckhKCgIyJ/jHBAQQGJioq1NQkICfn5+xeo3KSkNi8Va0rKKxZX/IFy8qHulOXP87H2exTmWxsY+Rz9PZ32WZrOvxsWFafxcl8bOtVXm8TMaDcU+UVviJedSU1OZNWsWWVlZpKWlsW7dOt555x1++OEHLl26REZGBl999RXt2rUr6SFERERERCqEEp9pfuSRRzh8+DBdunTBYrHQp08fmjVrxqhRo+jfvz85OTn06NGD++67z5n1ioiIiIiUuRtap3nkyJGMHDmywLbQ0FBCQ0NvqCgREam4fKt54elR9P8+MrNySU3JKKOKRERKn26jLSIixeLpYSL0tfVFttn4bhiVcyakiNysdBttERERERE7FJpFREREROxQaBYRERERsUNzmuWml52X49JrdouIiEjpU2h2Qbk5joW87KwsklN0S2d73N2q8NTKl4psE9VrYRlVIyIiIhWRQrMLMlWpwryxz9ltN2zmp4BCs4iI5HNkuUDQkoEi16LQLCIicpNwZLlA0JKBItei0CwiFZIlN9uhaUi52VlcTtYvKiIiUroUmkWkQjKa3Dk5vbvddne9tQZ705As2fYDeG5mFpdTFb5FROTaFJpFpNIzuruzN6zoAN5m/RpQaBYRketQaBYRERFxAY5cyKmLOEuPQrOIiIiIC3DkQk5dxFl6FJpFnCg3J8/u3NnsrFySdRZARETEpSg0iziRqYobU17bVGSbCe92LqNqbg66o2PF5MjqJ1r5RERciUKziLg03dGxYnJk9RNHVj4BrX4iIhWDQrOIiFRoWv1ERCoChWYREREpQNNrRApTaBYpY7k59ufgZmdlkZyi/xmJSPlw1vQaR6bWgKbXiGtQaBYpY6YqVZg39rki2wyb+SmOzPUU53Fk5RPQ6ifOpIs4Kz9HptaAptc4kyO/EoB+KSgJhWYRERxb+QS0+okzOXIRJ+hCTpHicORXAnDeLwU3068ECs0iIuLytEZ62dMvBa7N0fHTRbi/U2gWESkGzUmvmLRGetlz5nKP+tJT9rRcZ/EpNIuIFIPmpLsuR77wgL70lAd96XFdN9MXHoVmERG5KTjyhQf0paei0q88FdPN9IWnVELzxo0bWbhwITk5OQwYMIC+ffuWxmFERETkJqFfeVxXZfmVx+mhOT4+ntmzZ7N27Vrc3d3p3bs3LVu2pEGDBs4+lIiIiIhUcJXlVx6nh+aYmBhatWpF9erVAejQoQPbtm1j2LBhDr3eaDQ4u6Qi+d3qZbeN6RazQ32ZvW+z28bDz35ftzhQk2/1Gg7VVNafZ1lz1vg5a+zAeeOnsauYf/dA4wdl+3cP9G+nMzkydqB/OysqV/23s6L93SvJcQxWq9XqzCI+/PBD0tPTGTVqFACrVq3iyJEjTJ061ZmHEREREREpM0Znd3itDG4wVO5vfSIiIiJSuTk9NPv7+5OYmGh7npCQgJ+fn7MPIyIiIiJSZpwemlu3bs0PP/zApUuXyMjI4KuvvqJdu3bOPoyIiIiISJlx+oWA/v7+jBo1iv79+5OTk0OPHj247777nH0YEREREZEy4/QLAUVEREREKhunT88QEREREalsFJpFREREROxQaBYRERERsUOhWURERETEDoVmERERERE7FJpFruGbb75h6dKlnDlzpsD2lStXllNFUhyxsbHEx8cDsGrVKqZNm8aWLVvKuSopiYiIiPIuQRx05MgR2+MffviBiIgIIiMjOXz4cDlWJY7avXs3KSkpAERHRzNlyhTWrFlTzlVVLFpyTuT/iYyM5OjRo9SvX5+tW7cyevRowsLCAOjatSvr1q0r5wqlKEuWLGHp0qVYLBZatWrF+fPneeyxx9i5cycPPPAAQ4cOLe8S5TrGjh1baNvOnTt59NFHAZg5c2ZZlyTF8L9/H5ctW8aXX35J9+7dAVi3bh09e/bkmWeeKecK5XqmT5/OsWPHmD17NsuWLeOf//wnf/3rX/n++++pXbs24eHh5V1iheD0m5tIvnPnzhW5/4477iijSqS4du3axbp16zCZTPTr14+BAwfi7u5Ox44d0XfMim/NmjVs2bKFxMREOnfuzL59+/Dw8KBnz5706NFDobkCq169OtHR0bz44otUq1YNgH379tGiRYtyrkyKIyoqis8//5xbb70VgB49etCjRw+F5gps7969bNy4ETc3N7777juioqJwd3enV69edO7cubzLqzAUmkvJkCFDiI2Nxc/Pr1DQMhgM7Nixo5wqE3usVisGgwGAO++8kw8//JDnnnuO2267zbZdKi6LxYK7uzsBAQEMHDgQDw8P2768vLxyrEzsGT16NO3ateP999/n1VdfpWXLlnz22Wd07dq1vEsTB+Tm5mKxWKhRowbe3t627e7u7hiNmg1akXl6epKUlISfnx81atQgPT0dd3d3MjIyMJkUFf9H0zNKSVpaGn369GHixIk0a9asvMuRYpg3bx4xMTGMGTPGdgv4Q4cOMWzYMLKzszl06FA5VyhFmTNnDvv37+fzzz/Hzc0NgJ9//pnw8HAefvhhhg0bVs4Vij1Xrlxh4sSJ3HHHHezZs4eNGzeWd0nigP79+3Pq1CkMBgOtW7cmIiKCH374gXfeeYeHH36YESNGlHeJch07d+5k0qRJdOrUidzcXPbt20dQUBB79uzhhRdeoFu3buVdYoWg0FyKjhw5wqpVq5g6dWp5lyLF9MMPP+Dn50f9+vVt286fP8/ixYt56623yrEyccSBAwd48MEHbc9PnjxJXFwcwcHB5ViVFNeqVavYunUrixcvLu9SpBhOnjxJSkoKTZs25dChQ6SmpvLwww+Xd1liR1xcHN988w2nT58mLy+PmjVr8sgjj9hOHolCs4iIiIiIXZpkJCIiIiJih0KziIiIiIgdCs0iIuXo7Nmz3H333axatarA9kWLFjFmzBiH+7l06RJ33323s8sTEZH/UmgWESlnRqORt99+m1OnTpV3KSIich1afE9EpJx5enry3HPP8dprr/Hll1/i7u5u25eamsrkyZP5+eefMRgMPPTQQ7z66quYTCa++uorZs+ejZeXF3/+858L9Llq1SpWrFiBxWKhevXqjB8/nvr163Pw4EEiIiKwWCxA/pryHTp0KNP3KyLiinSmWUSkAnjppZfw8vJi9uzZBbZPmzaN6tWrs3HjRtasWcPx48dZvHgxiYmJjBs3jg8++IC1a9cSEBBge83+/fuJjo5m2bJlREdH88ILLzB8+HAAPvjgA5577jnWrl3LjBkz2LdvX5m+TxERV6UzzSIiFYDRaOSdd96ha9eutG3b1rb9+++/Z8WKFRgMBtzd3enduzefffYZdevWpVGjRjRo0ACAXr168d577wHw3Xffcfr0aXr37m3rJzk5mStXrtCxY0emTJnCzp07ad26Na+++mrZvlERERel0CwiUkHccccdTJo0idGjR9OlSxcA2zSK/7FYLOTm5mIwGPjjMvt/vNWtxWIhLCyMN954w/Y8ISGBW265hd69e/PII4+wd+9edu/ezbx589iwYQO+vr5l8A5FRFyXpmeIiFQgHTt2pF27dnz22WcAtG3blmXLlmG1WsnOziYqKorWrVvTvHlzTpw4wc8//wzA2rVrbX20adOGzZs3k5CQAMCKFSt49tlnAejduzfHjh2jW7duTJ06lZSUFJKTk8v4XYqIuB6daRYRqWDCw8M5dOiQ7fG0adMIDQ0lJyeHhx56iBdffBF3d3ciIyN5/fXXqVKlSoHbhj/00EMMGjSIgQMHYjAY8PHxYd68eRgMBl5//XVmzJjB+++/j9FoZNiwYdSuXbu83qqIiMvQbbRFREREROzQ9AwRERERETsUmkVERERE7FBoFhERERGxQ6FZRERERMQOhWYRERERETsUmkVERERE7FBoFhERERGxQ6FZRERERMSO/wPgkCk9ZX0M6wAAAABJRU5ErkJggg==\n", "text/plain": ["<Figure size 864x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df.pivot_table(\n", " index=[\"Nodes\"],\n", " columns=[\"Tasks/Node\", \"Threads/Task\"],\n", " values=\"Sim. Time / s\",\n", ").plot(kind=\"bar\", figsize=(12, 4));"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "fragment"}}, "source": ["<a name=\"taskb\"></a>\n", "\n", "* Bonus task\n", " - Use `Sim. Time / s` and `Presim. Time / s` as values to show\n", " - Show a stack of those two values inside the pivot table"]}, {"cell_type": "markdown", "metadata": {"slideshow": {"slide_type": "slide"}}, "source": ["## The End\n", "\n", "* Pandas works on data frames\n", "* Slice frames to your likings\n", "* Plot frames\n", " - Together with Matplotlib, Seaborn, others\n", "* Pivot tables are next level greatness\n", "* Thanks for being here! \ud83d\ude0d"]}, {"cell_type": "markdown", "metadata": {"exercise": "task"}, "source": ["<span class=\"feedback\">Tell me what you think about this tutorial! <a href=\"mailto:a.herten@fz-juelich.de\">a.herten@fz-juelich.de</a></span>"]}], "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.7.2"}}, "nbformat": 4, "nbformat_minor": 2} \ No newline at end of file diff --git a/Introduction-to-Pandas--slides.pdf b/Introduction-to-Pandas--slides.pdf new file mode 100644 index 0000000000000000000000000000000000000000..49251345d2fd3a49db0808d5b9382ab8795b7795 Binary files /dev/null and b/Introduction-to-Pandas--slides.pdf differ diff --git a/Introduction-to-Pandas--solution.ipynb b/Introduction-to-Pandas--solution.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..9b651b6488b8ff227f4e16b3816bc2f79b457123 --- /dev/null +++ b/Introduction-to-Pandas--solution.ipynb @@ -0,0 +1 @@ +{"cells": [{"cell_type": "markdown", "metadata": {"exercise": "task"}, "source": ["# *Introduction to* Data Analysis and Plotting with Pandas\n", "## JSC Tutorial\n", "\n", "Andreas Herten, Forschungszentrum J\u00fclich, 26 February 2019"]}, {"cell_type": "markdown", "metadata": {"exercise": "onlysolution", "slideshow": {"slide_type": "skip"}}, "source": ["**Version: Solutions**"]}, {"cell_type": "markdown", "metadata": {"exercise": "task"}, "source": ["## Outline\n", "\n", "* [Task 1](#task1)\n", "* [Task 2](#task2)\n", "* [Task 3](#task3)\n", "* [Task 4](#task4)\n", "* [Task 5](#task5)\n", "* [Task 6](#task6)\n", "* [Task 7](#task7)\n", "* [Bonus Task](#taskb)"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 1\n", "<a name=\"task1\"></a>\n", "\n", "* Create data frame with\n", " - 10 names of dinosaurs, \n", " - their favourite prime number, \n", " - and their favourite color\n", "* Play around with the frame\n", "* Tell me on poll when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "markdown", "metadata": {"exercise": "nopresentation", "slideshow": {"slide_type": "skip"}}, "source": ["Jupyter Notebook 101:\n", "\n", "* Execute cell: `shift+enter`\n", "* New cell in front of current cell: `a`\n", "* New cell after current cell: `b`"]}, {"cell_type": "code", "execution_count": 21, "metadata": {"exercise": "task", "slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["happy_dinos = {\n", " \"Dinosaur Name\": [],\n", " \"Favourite Prime\": [],\n", " \"Favourite Color\": []\n", "}\n", "#df_dinos = "]}, {"cell_type": "code", "execution_count": 22, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th>Dinosaur Name</th>\n", " <th>Aegyptosaurus</th>\n", " <th>Tyrannosaurus</th>\n", " <th>Panoplosaurus</th>\n", " <th>Isisaurus</th>\n", " <th>Triceratops</th>\n", " <th>Velociraptor</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Favourite Prime</th>\n", " <td>4</td>\n", " <td>8</td>\n", " <td>15</td>\n", " <td>16</td>\n", " <td>23</td>\n", " <td>42</td>\n", " </tr>\n", " <tr>\n", " <th>Favourite Color</th>\n", " <td>blue</td>\n", " <td>white</td>\n", " <td>blue</td>\n", " <td>purple</td>\n", " <td>violet</td>\n", " <td>gray</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": ["Dinosaur Name Aegyptosaurus Tyrannosaurus Panoplosaurus Isisaurus \\\n", "Favourite Prime 4 8 15 16 \n", "Favourite Color blue white blue purple \n", "\n", "Dinosaur Name Triceratops Velociraptor \n", "Favourite Prime 23 42 \n", "Favourite Color violet gray "]}, "execution_count": 22, "metadata": {}, "output_type": "execute_result"}], "source": ["happy_dinos = {\n", " \"Dinosaur Name\": [\"Aegyptosaurus\", \"Tyrannosaurus\", \"Panoplosaurus\", \"Isisaurus\", \"Triceratops\", \"Velociraptor\"],\n", " \"Favourite Prime\": [\"4\", \"8\", \"15\", \"16\", \"23\", \"42\"],\n", " \"Favourite Color\": [\"blue\", \"white\", \"blue\", \"purple\", \"violet\", \"gray\"]\n", "}\n", "df_dinos = pd.DataFrame(happy_dinos).set_index(\"Dinosaur Name\")\n", "df_dinos.T"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 2\n", "<a name=\"task2\"></a>\n", "\n", "* Read in `nest-data.csv` to `DataFrame`; call it `df`\n", "* Get to know it and play a bit with it\n", "* Tell me when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 30, "metadata": {"exercise": "task"}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["id,Nodes,Tasks/Node,Threads/Task,Runtime Program / s,Scale,Plastic,Avg. Neuron Build Time / s,Min. Edge Build Time / s,Max. Edge Build Time / s,Min. Init. Time / s,Max. Init. Time / s,Presim. Time / s,Sim. Time / s,Virt. Memory (Sum) / kB,Local Spike Counter (Sum),Average Rate (Sum),Number of Neurons,Number of Connections,Min. Delay,Max. Delay\n", "5,1,2,4,420.42,10,true,0.29,88.12,88.18,1.14,1.20,17.26,311.52,46560664.00,825499,7.48,112500,1265738500,1.5,1.5\n", "5,1,4,4,200.84,10,true,0.15,46.03,46.34,0.70,1.01,7.87,142.97,46903088.00,802865,7.03,112500,1265738500,1.5,1.5\n"]}], "source": ["!cat nest-data.csv | head -3"]}, {"cell_type": "code", "execution_count": 31, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", " <th>Nodes</th>\n", " <th>Tasks/Node</th>\n", " <th>Threads/Task</th>\n", " <th>Runtime Program / s</th>\n", " <th>Scale</th>\n", " <th>Plastic</th>\n", " <th>Avg. Neuron Build Time / s</th>\n", " <th>Min. Edge Build Time / s</th>\n", " <th>Max. Edge Build Time / s</th>\n", " <th>...</th>\n", " <th>Max. Init. Time / s</th>\n", " <th>Presim. Time / s</th>\n", " <th>Sim. Time / s</th>\n", " <th>Virt. Memory (Sum) / kB</th>\n", " <th>Local Spike Counter (Sum)</th>\n", " <th>Average Rate (Sum)</th>\n", " <th>Number of Neurons</th>\n", " <th>Number of Connections</th>\n", " <th>Min. Delay</th>\n", " <th>Max. Delay</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>4</td>\n", " <td>420.42</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.29</td>\n", " <td>88.12</td>\n", " <td>88.18</td>\n", " <td>...</td>\n", " <td>1.20</td>\n", " <td>17.26</td>\n", " <td>311.52</td>\n", " <td>46560664.0</td>\n", " <td>825499</td>\n", " <td>7.48</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>4</td>\n", " <td>4</td>\n", " <td>200.84</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.15</td>\n", " <td>46.03</td>\n", " <td>46.34</td>\n", " <td>...</td>\n", " <td>1.01</td>\n", " <td>7.87</td>\n", " <td>142.97</td>\n", " <td>46903088.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>8</td>\n", " <td>202.15</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.28</td>\n", " <td>47.98</td>\n", " <td>48.48</td>\n", " <td>...</td>\n", " <td>1.20</td>\n", " <td>7.95</td>\n", " <td>142.81</td>\n", " <td>47699384.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>4</td>\n", " <td>8</td>\n", " <td>89.57</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.15</td>\n", " <td>20.41</td>\n", " <td>23.21</td>\n", " <td>...</td>\n", " <td>3.04</td>\n", " <td>3.19</td>\n", " <td>60.31</td>\n", " <td>46813040.0</td>\n", " <td>821491</td>\n", " <td>7.23</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>5</td>\n", " <td>2</td>\n", " <td>2</td>\n", " <td>4</td>\n", " <td>164.16</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.20</td>\n", " <td>40.03</td>\n", " <td>41.09</td>\n", " <td>...</td>\n", " <td>1.58</td>\n", " <td>6.08</td>\n", " <td>114.88</td>\n", " <td>46937216.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>5 rows \u00d7 21 columns</p>\n", "</div>"], "text/plain": [" id Nodes Tasks/Node Threads/Task Runtime Program / s Scale Plastic \\\n", "0 5 1 2 4 420.42 10 True \n", "1 5 1 4 4 200.84 10 True \n", "2 5 1 2 8 202.15 10 True \n", "3 5 1 4 8 89.57 10 True \n", "4 5 2 2 4 164.16 10 True \n", "\n", " Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "0 0.29 88.12 \n", "1 0.15 46.03 \n", "2 0.28 47.98 \n", "3 0.15 20.41 \n", "4 0.20 40.03 \n", "\n", " Max. Edge Build Time / s ... Max. Init. Time / s Presim. Time / s \\\n", "0 88.18 ... 1.20 17.26 \n", "1 46.34 ... 1.01 7.87 \n", "2 48.48 ... 1.20 7.95 \n", "3 23.21 ... 3.04 3.19 \n", "4 41.09 ... 1.58 6.08 \n", "\n", " Sim. Time / s Virt. Memory (Sum) / kB Local Spike Counter (Sum) \\\n", "0 311.52 46560664.0 825499 \n", "1 142.97 46903088.0 802865 \n", "2 142.81 47699384.0 802865 \n", "3 60.31 46813040.0 821491 \n", "4 114.88 46937216.0 802865 \n", "\n", " Average Rate (Sum) Number of Neurons Number of Connections Min. Delay \\\n", "0 7.48 112500 1265738500 1.5 \n", "1 7.03 112500 1265738500 1.5 \n", "2 7.03 112500 1265738500 1.5 \n", "3 7.23 112500 1265738500 1.5 \n", "4 7.03 112500 1265738500 1.5 \n", "\n", " Max. Delay \n", "0 1.5 \n", "1 1.5 \n", "2 1.5 \n", "3 1.5 \n", "4 1.5 \n", "\n", "[5 rows x 21 columns]"]}, "execution_count": 31, "metadata": {}, "output_type": "execute_result"}], "source": ["df = pd.read_csv(\"nest-data.csv\")\n", "df.head()"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "subslide"}}, "source": ["## Task 3\n", "<a name=\"task3\"></a>\n", "\n", "* Add a column to the Nest data frame called `Virtual Processes` which is the total number of threads across all nodes (i.e. the product of threads per task and tasks per node and nodes)\n", "* Remember to tell me when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 54, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", " <th>Nodes</th>\n", " <th>Tasks/Node</th>\n", " <th>Threads/Task</th>\n", " <th>Runtime Program / s</th>\n", " <th>Scale</th>\n", " <th>Plastic</th>\n", " <th>Avg. Neuron Build Time / s</th>\n", " <th>Min. Edge Build Time / s</th>\n", " <th>Max. Edge Build Time / s</th>\n", " <th>...</th>\n", " <th>Presim. Time / s</th>\n", " <th>Sim. Time / s</th>\n", " <th>Virt. Memory (Sum) / kB</th>\n", " <th>Local Spike Counter (Sum)</th>\n", " <th>Average Rate (Sum)</th>\n", " <th>Number of Neurons</th>\n", " <th>Number of Connections</th>\n", " <th>Min. Delay</th>\n", " <th>Max. Delay</th>\n", " <th>Virtual Processes</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>4</td>\n", " <td>420.42</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.29</td>\n", " <td>88.12</td>\n", " <td>88.18</td>\n", " <td>...</td>\n", " <td>17.26</td>\n", " <td>311.52</td>\n", " <td>46560664.0</td>\n", " <td>825499</td>\n", " <td>7.48</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>4</td>\n", " <td>4</td>\n", " <td>200.84</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.15</td>\n", " <td>46.03</td>\n", " <td>46.34</td>\n", " <td>...</td>\n", " <td>7.87</td>\n", " <td>142.97</td>\n", " <td>46903088.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>16</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>8</td>\n", " <td>202.15</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.28</td>\n", " <td>47.98</td>\n", " <td>48.48</td>\n", " <td>...</td>\n", " <td>7.95</td>\n", " <td>142.81</td>\n", " <td>47699384.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>16</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>4</td>\n", " <td>8</td>\n", " <td>89.57</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.15</td>\n", " <td>20.41</td>\n", " <td>23.21</td>\n", " <td>...</td>\n", " <td>3.19</td>\n", " <td>60.31</td>\n", " <td>46813040.0</td>\n", " <td>821491</td>\n", " <td>7.23</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>32</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>5</td>\n", " <td>2</td>\n", " <td>2</td>\n", " <td>4</td>\n", " <td>164.16</td>\n", " <td>10</td>\n", " <td>True</td>\n", " <td>0.20</td>\n", " <td>40.03</td>\n", " <td>41.09</td>\n", " <td>...</td>\n", " <td>6.08</td>\n", " <td>114.88</td>\n", " <td>46937216.0</td>\n", " <td>802865</td>\n", " <td>7.03</td>\n", " <td>112500</td>\n", " <td>1265738500</td>\n", " <td>1.5</td>\n", " <td>1.5</td>\n", " <td>16</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>5 rows \u00d7 22 columns</p>\n", "</div>"], "text/plain": [" id Nodes Tasks/Node Threads/Task Runtime Program / s Scale Plastic \\\n", "0 5 1 2 4 420.42 10 True \n", "1 5 1 4 4 200.84 10 True \n", "2 5 1 2 8 202.15 10 True \n", "3 5 1 4 8 89.57 10 True \n", "4 5 2 2 4 164.16 10 True \n", "\n", " Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "0 0.29 88.12 \n", "1 0.15 46.03 \n", "2 0.28 47.98 \n", "3 0.15 20.41 \n", "4 0.20 40.03 \n", "\n", " Max. Edge Build Time / s ... Presim. Time / s Sim. Time / s \\\n", "0 88.18 ... 17.26 311.52 \n", "1 46.34 ... 7.87 142.97 \n", "2 48.48 ... 7.95 142.81 \n", "3 23.21 ... 3.19 60.31 \n", "4 41.09 ... 6.08 114.88 \n", "\n", " Virt. Memory (Sum) / kB Local Spike Counter (Sum) Average Rate (Sum) \\\n", "0 46560664.0 825499 7.48 \n", "1 46903088.0 802865 7.03 \n", "2 47699384.0 802865 7.03 \n", "3 46813040.0 821491 7.23 \n", "4 46937216.0 802865 7.03 \n", "\n", " Number of Neurons Number of Connections Min. Delay Max. Delay \\\n", "0 112500 1265738500 1.5 1.5 \n", "1 112500 1265738500 1.5 1.5 \n", "2 112500 1265738500 1.5 1.5 \n", "3 112500 1265738500 1.5 1.5 \n", "4 112500 1265738500 1.5 1.5 \n", "\n", " Virtual Processes \n", "0 8 \n", "1 16 \n", "2 16 \n", "3 32 \n", "4 16 \n", "\n", "[5 rows x 22 columns]"]}, "execution_count": 54, "metadata": {}, "output_type": "execute_result"}], "source": ["df[\"Virtual Processes\"] = df[\"Nodes\"] * df[\"Tasks/Node\"] * df[\"Threads/Task\"]\n", "df.head()"]}, {"cell_type": "code", "execution_count": 55, "metadata": {"exercise": "solution"}, "outputs": [{"data": {"text/plain": ["Index(['id', 'Nodes', 'Tasks/Node', 'Threads/Task', 'Runtime Program / s',\n", " 'Scale', 'Plastic', 'Avg. Neuron Build Time / s',\n", " 'Min. Edge Build Time / s', 'Max. Edge Build Time / s',\n", " 'Min. Init. Time / s', 'Max. Init. Time / s', 'Presim. Time / s',\n", " 'Sim. Time / s', 'Virt. Memory (Sum) / kB', 'Local Spike Counter (Sum)',\n", " 'Average Rate (Sum)', 'Number of Neurons', 'Number of Connections',\n", " 'Min. Delay', 'Max. Delay', 'Virtual Processes'],\n", " dtype='object')"]}, "execution_count": 55, "metadata": {}, "output_type": "execute_result"}], "source": ["df.columns"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 4\n", "<a name=\"task4\"></a>\n", "\n", "* Sort the data frame by the virtual proccesses\n", "* Plot `\"Presim. Time / s\"` and `\"Sim. Time / s\"` of our data frame `df` as a function of the virtual processes\n", "* Use a dashed, red line for `\"Presim. Time / s\"`, a blue line for `\"Sim. Time / s\"` (see [API description](https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot))\n", "* Don't forget to label your axes and to add a legend\n", "* Submit when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 61, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["df.sort_values([\"Virtual Processes\", \"Nodes\", \"Tasks/Node\", \"Threads/Task\"], inplace=True)"]}, {"cell_type": "code", "execution_count": 62, "metadata": {"exercise": "solution"}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEKCAYAAAAB0GKPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xl8VdW5//HPQwgJCIqSaJHBgOIAgoFGxOKQioiiFfWK0ksVbr1X2+rtVaut3taK/sSrVdFarcNVXmC1WpwqdWSoQ/WqGChaBJSoKFCUQUAZJfD8/lj7kJPknOSQ5OScJN/367Vfe5+19vDs7OQ8WXtY29wdERGRurTJdAAiItI8KGGIiEhKlDBERCQlShgiIpISJQwREUmJEoaIiKRECUNERFKihCEiIilRwhARkZS0zXQADVFQUOBFRUWZDkNEpFmZO3fuGncv3N3lmnXCKCoqoqysLNNhiIg0K2b2aX2W0ykpERFJiRKGiIikRAlDRERS0qyvYYhI49u+fTvLly9n69atmQ5FGig/P5/u3buTm5vbKOtTwhCRKpYvX06nTp0oKirCzDIdjtSTu7N27VqWL19Or169GmWdOiUlIlVs3bqVLl26KFk0c2ZGly5dGrWlqIQhIjUoWbQMjX0cW2XCWLAAfvlLWLs205GIiDQfrTJhLFkCN94In32W6UhEJJGcnByKi4s5/PDDGT16NJs3b27wOu+9914eeuihBq/n4osvpri4mL59+9K+fXuKi4spLi7miSee4Ne//jWzZs1q8DYSuemmm3jkkUfSsu5UtcqL3gUFYbx6dWbjEJHE2rdvz/z58wEYO3Ys9957L5dffvmuenfH3WnTJvX/eX/0ox81Smx33303AEuXLuW0007bFSfA2Wef3SjbSOSll15i2rRpaVt/KlplC6Mw6kFFCUMk+x177LGUl5ezdOlSDjnkEM4//3wOP/xwli1bxowZMzj66KMZNGgQo0ePZuPGjQBcddVV9O3blwEDBnDFFVcAMGHCBG699VYASktLueyyyygpKeGwww7jnXfe4ayzzqJPnz786le/qnes48eP54knngBC10VXX301xcXFlJSUMG/ePEaMGMGBBx7Ivffeu2uZW265hSOPPJIBAwZw7bXXJlzvV199xTfffENhYdXun1599dVdLZyBAwfy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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["fig, ax = plt.subplots()\n", "ax.plot(df[\"Virtual Processes\"], df[\"Presim. Time / s\"], linestyle=\"dashed\", color=\"red\")\n", "ax.plot(df[\"Virtual Processes\"], df[\"Sim. Time / s\"], \"-b\")\n", "ax.set_xlabel(\"Virtual Process\")\n", "ax.set_ylabel(\"Time / s\")\n", "ax.legend();"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 5\n", "<a name=\"task5\"></a>\n", "\n", "Use the NEST data frame `df` to:\n", "\n", "1. Make the virtual processes the index of the data frame (`.set_index()`)\n", "2. Plot `\"Presim. Program / s\"` and `\"Sim. Time / s`\" individually\n", "3. Plot them onto one common canvas!\n", "4. Make them have the same line colors and styles as before\n", "5. Add a legend, add missing labels\n", "\n", "* Done? Tell me! [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 68, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "subslide"}}, "outputs": [], "source": ["df.set_index(\"Virtual Processes\", inplace=True)"]}, {"cell_type": "code", "execution_count": 69, "metadata": {"exercise": "solution"}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 720x216 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df[\"Presim. Time / s\"].plot(figsize=(10, 3));"]}, {"cell_type": "code", "execution_count": 70, "metadata": {"exercise": "solution"}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 720x216 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df[\"Sim. Time / s\"].plot(figsize=(10, 3));"]}, {"cell_type": "code", "execution_count": 71, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEKCAYAAAAcgp5RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAHvdJREFUeJzt3XuUnHWd5/H3p6+5dCCBdLIhQRIgjMIKgW0ZZhFEkYu4GtxVJl4go+zEmQUVR52jssdBHM/gemHG0WVE4QguooiwicgoGFFGVoEGQwj3DIRDYkiCQCD3vnz3j+dXSXWnuru6qypV/eTzOqdOPfV7flX1fbqSz/PUr56LIgIzM8uvpnoXYGZmteWgNzPLOQe9mVnOOejNzHLOQW9mlnMOejOznHPQm5nlnIPezCznHPRmZjnXUu8CAKZPnx5z586tdxlmZuPKAw888EJEdI7UryGCfu7cuXR3d9e7DDOzcUXSs+X089CNmVnOOejNzHLOQW9mlnMOejOznHPQm5nlnIPezCznHPRmZjnXGEH/6vP1rsDMLLcaI+i3bABfu9bMrCYaI+ijH3ZsrncVZma51BhBD7B1U70rMDPLpcYJ+i0b612BmVkujRj0kiZIuk/SQ5IekfT51D5P0r2SVkv6oaS21N6eHq9O8+eWVclWB72ZWS2Us0W/E3hLRBwHLADOlnQS8CXgyog4EngJuDD1vxB4KbVfmfqNbIuHbszMamHEoI/MlvSwNd0CeAtwc2q/Djg3TS9Mj0nzT5ek4d9F3qI3M6uRssboJTVLWgFsBO4E/h14OSJ6U5e1wOw0PRt4DiDN3wwcPHwVLf4x1sysRsoK+ojoi4gFwBzgROC1lb6xpCWSuiV19wYeujEzq5FR7XUTES8DdwF/BkyVVLhC1RxgXZpeBxwKkOYfCPyxxGtdHRFdEdHV0jbBQzdmZjVSzl43nZKmpumJwBnAY2SB/+7UbTGwNE0vS49J838ZMcJhr02t3r3SzKxGyrlm7CzgOknNZCuGmyLiNkmPAj+Q9PfA74FrUv9rgO9JWg28CCwa8R2aPUZvZlYrIwZ9RKwEji/R/jTZeP3g9h3Ae0ZVRVML9LwCO7dAe8eonmpmZsNrjCNjm1qze4/Tm5lVXWMEfXP6YrH1hfrWYWaWQ40R9E0p6P2DrJlZ1TVI0HvoxsysVhoj6AtDNz5oysys6hoj6BFMnOYtejOzGmiQoAcmz/AYvZlZDTRQ0Hf6oCkzsxponKDvcNCbmdVC4wT95Bn+MdbMrAYaJ+g7OmHnZujZUe9KzMxypXGCfvKM7N7DN2ZmVdU4Qd9RCHrveWNmVk2NE/SFLXqP05uZVVUDBf307N5DN2ZmVdU4Qe+hGzOzmmicoG+dCG1TPHRjZlZljRP0kA6a8ha9mVk1NVbQ+3w3ZmZV11hB79MgmJlVXWMFvbfozcyqrsGCvhO2vwh9vfWuxMwsNxor6Ds6s/ttvki4mVm1jBj0kg6VdJekRyU9Iuljqf0ySeskrUi3c4qe8xlJqyU9IemssqvZfXSsh2/MzKqlpYw+vcAnIuJBSVOAByTdmeZdGRFfKe4s6WhgEXAMcAjwC0lHRUTfiO/kg6bMzKpuxC36iFgfEQ+m6VeBx4DZwzxlIfCDiNgZEc8Aq4ETy6pmchq68UFTZmZVM6oxeklzgeOBe1PTxZJWSrpW0rTUNht4ruhpaymxYpC0RFK3pO5Nm1Kwe4vezKzqyg56SR3Aj4FLIuIV4CrgCGABsB746mjeOCKujoiuiOjq7Exb8m0d0DLRY/RmZlVUVtBLaiUL+Rsi4haAiNgQEX0R0Q98mz3DM+uAQ4uePie1lfNG6SLh3uvGzKxaytnrRsA1wGMR8bWi9llF3d4FrErTy4BFktolzQPmA/eVXZHPd2NmVlXl7HVzMnA+8LCkFants8B7JS0AAlgDfBggIh6RdBPwKNkeOxeVtcdNweQZsHlt2d3NzGx4IwZ9RPwGUIlZtw/znC8CXxxTRR2d8IcHx/RUMzPbW2MdGQvZFv3WF6C/v96VmJnlQuMFfccMiL7snDdmZlaxxgv63QdN+QdZM7NqaNyg93npzcyqovGCfvfRsQ56M7NqaLyg99CNmVlVNV7QT5wGTa0+aMrMrEoaL+gLp0HwGSzNzKqi8YIefBoEM7Mqasyg90XCzcyqpkGD3mewNDOrlsYM+sLQTUS9KzEzG/caM+gnz4C+XbBjc70rMTMb9xoz6H3QlJlZ1TRm0PugKTOzqmnMoPdFws3MqqYxg35yCnofNGVmVrHGDPpJB4GaPEZvZlYFjRn0Tc0w6WAP3ZiZVUFjBj2ko2O9RW9mVqnGDXqf78bMrCoaN+h9vhszs6oYMeglHSrpLkmPSnpE0sdS+0GS7pT0VLqfltol6euSVktaKemEMVXWMcM/xpqZVUE5W/S9wCci4mjgJOAiSUcDnwaWR8R8YHl6DPA2YH66LQGuGlNlkzuhZxvs3DKmp5uZWWbEoI+I9RHxYJp+FXgMmA0sBK5L3a4Dzk3TC4HrI/M7YKqkWaOuzBcJNzOrilGN0UuaCxwP3AvMjIj1adbzwMw0PRt4ruhpa1Pb6Ph8N2ZmVVF20EvqAH4MXBIRrxTPi4gARnVOYUlLJHVL6t60qUSY+3w3ZmZVUVbQS2olC/kbIuKW1LyhMCST7guJvA44tOjpc1LbABFxdUR0RURXZ2fn3m/q892YmVVFOXvdCLgGeCwivlY0axmwOE0vBpYWtV+Q9r45CdhcNMRTvt1b9B66MTOrREsZfU4GzgcelrQitX0WuAK4SdKFwLPAeWne7cA5wGpgG/DBMVXW3AoTp3mL3sysQiMGfUT8BtAQs08v0T+AiyqsK+ODpszMKta4R8aCLxJuZlYFjR30Pt+NmVnFGjvofQZLM7OKNXbQd3TCzs3Qs6PelZiZjVuNHfSTfXSsmVmlGjvofdCUmVnFGjvofZFwM7OKNXjQT8/uPXRjZjZmjR30HroxM6tYYwd960Rom+KhGzOzCjR20IMPmjIzq1DjB73Pd2NmVpHGD/qOTv8Ya2ZWgcYPem/Rm5lVZBwEfSdsfxH6eutdiZnZuNT4Qd+RrjS1zacrNjMbi8YP+t1Hx3r4xsxsLBo/6H3QlJlZRRo/6H2RcDOzijR+0HuL3sysIo0f9G0d0DLRY/RmZmPU+EEv+SLhZmYVaPygB5/vxsysAiMGvaRrJW2UtKqo7TJJ6yStSLdziuZ9RtJqSU9IOqsqVfoi4WZmY1bOFv13gbNLtF8ZEQvS7XYASUcDi4Bj0nP+t6Tmiqv0Fr2Z2ZiNGPQRcTfwYpmvtxD4QUTsjIhngNXAiRXUl5k8Ixuj7++v+KXMzPY3lYzRXyxpZRramZbaZgPPFfVZm9oq0zEDoi87542ZmY3KWIP+KuAIYAGwHvjqaF9A0hJJ3ZK6N20aYfx990FTHr4xMxutMQV9RGyIiL6I6Ae+zZ7hmXXAoUVd56S2Uq9xdUR0RURXZ2fn8G9YCHqfl97MbNTGFPSSZhU9fBdQ2CNnGbBIUrukecB84L7KSqTo6FgHvZnZaLWM1EHSjcBpwHRJa4G/A06TtAAIYA3wYYCIeETSTcCjQC9wUUT0VVxlYYv+6bvg9e+u+OXMzPYnioh610BXV1d0d3cP3SECPj81m75s874pysyswUl6ICK6Ruo3Po6MlbL7N/5NfeswMxuHxkfQA6gZNH7KNTNrFE5OM7Occ9CbmeWcg97MLOcc9GZmOeegNzPLOQe9mVnOOejNzHLOQW9mlnMOejOznHPQm5nlnIPezCznHPRmZjnnoDczyzkHvZlZzo2voO/vqXcFZmbjzvgJ+lnHwr1Xw9O/qnclZmbjyvgJ+vf9CA46HL7/57D6F/Wuxsxs3Bg/Qd/RCYt/AtPnw43vhSd+Vu+KzMzGhfET9ACTD4YLlsHMY+CHH4DHbqt3RWZmDW98BT3ApIPggqVwyAL40WJ45NZ6V2Rm1tDGX9ADTDgQPnALzHkD3PwhWPmjeldkZtawRgx6SddK2ihpVVHbQZLulPRUup+W2iXp65JWS1op6YSaVT7hAHj/zXDYyXDrEljx/Zq9lZnZeFbOFv13gbMHtX0aWB4R84Hl6THA24D56bYEuKo6ZQ6hvQPedxPMOxX+7/+AB66r6duZmY1HIwZ9RNwNvDioeSFQSNXrgHOL2q+PzO+AqZJmVavYktomwXt/CEe+FX7yUbj/OzV9OzOz8WasY/QzI2J9mn4emJmmZwPPFfVbm9pqq3UCLLohC/vb/xZ2vFLztzQzGy8q/jE2IgKI0T5P0hJJ3ZK6N23aVGkZ0NIOR50N0Qd9uyp/PTOznBhr0G8oDMmk+42pfR1waFG/OaltLxFxdUR0RURXZ2fnGMswM7ORjDXolwGL0/RiYGlR+wVp75uTgM1FQzxmZlYHLSN1kHQjcBowXdJa4O+AK4CbJF0IPAucl7rfDpwDrAa2AR+sQc1mZjYKIwZ9RLx3iFmnl+gbwEWVFmVmZtUzPo+MNTOzsjnozcxyzkFvZpZzDnozs5xz0JuZ5ZyD3sws5xz0ZmY556A3M8s5B72ZWc456M3Mcs5Bb2aWcw56M7Occ9CbmeWcg97MLOcc9GZmOeegNzPLuXwG/YZHoL+v3lWYmTWEEa8wNa5MPQwQXP9OmHAgzD0FDj8tux18JEh1Lc/MrB7yFfRHnQmffBKeuRue/hU8/Wt4/LZs3pRDUui/Cea9CQ6YVcdCzcz2nXwFPUDHDHj9u7NbBLz0zJ7Qf/Jn8ND3s35v+Z9w6qfqWqqZ2b6Qv6AvJsFBh2e3rg9Bfz9seBhueA9sfLze1ZmZ7RP5/DF2KE1NMOs4aOuodyVmZvvM/hX0Zmb7oYqGbiStAV4F+oDeiOiSdBDwQ2AusAY4LyJeqqxMMzMbq2ps0b85IhZERFd6/GlgeUTMB5anx2ZmVie1GLpZCFyXpq8Dzq3Be5iZWZkqDfoA7pD0gKQlqW1mRKxP088DM0s9UdISSd2Sujdt2lRhGWZmNpRKd698Y0SskzQDuFPSgH0WIyIkRaknRsTVwNUAXV1dJfuYmVnlKtqij4h16X4jcCtwIrBB0iyAdL+x0iLNzGzsxhz0kiZLmlKYBs4EVgHLgMWp22JgaaVFmpnZ2FUydDMTuFXZicJagO9HxM8k3Q/cJOlC4FngvMrLrLL2jux8OM/8G8w7pd7VmJnV1JiDPiKeBo4r0f5H4PRKiqq5d/4z3PwhuO4d8MZL4LTPQktbvasyM6uJ/fPI2FnHwYfvhhPOh99cCdeeCS+srndVZmY1sX8GPUDb5GzL/rzvwYvPwLdOgQevz854aWaWI/tv0Bcc/U746/8Hc7pg2Ufgpgtg24vlP3/TE/D8qtrVZ2ZWoXyfprhcB86G85fCb/8Zln8B1nbDu/4lu0jJYDtegZefhZfWwEvPwh2XZu2Xbd6nJZuZlctBX9DUBCd/DOadCj/+73D9QnjDhdkpjYuDffsotvbNzBqAg36wQ47Pfqj92Wfg/u9AUytMfQ1MOyybN/UwmDY3ezxtbrb3zs5X6121mdmQHPSltE2Gd34dzrgc2qdAU3O9KzIzGzMH/XAmTq13BWZmFfNeN9XQ35ddj9bMrAF5i75SzW3whwfhC9Nh8nSY3Fl0P6NouhM6OvdMt06sd+Vmtp9w0FfqzC/C4W+GrRth6ybY+kJ2/9Ia2LIJeraWfl5bR1oJzBi4cjjsP8ORjX0GCTMbXxz0lZp+ZHYbyq6tKfzTCmDrprRSKHr88rOwrjubXnEDfOLxoV/PzGyUHPS11jY5u007bOS+t30cuq+Fu78CfT3Qtwv6e/ZM9+1K0z3wH/4jHHU2zDgasjOImpmV5KBvJFNfk93/8gvZfVNL9htAc2u6T9MR8MgtsPxyOGAOHHVmFvpzT4G2SfWr38wakqIBTuJ1yJHHxOOrVnDAhNZ6l1J/O7dkYd7Umh2tO5RX1sNTd8CTP4enf5X9FtAyITuyd/6ZcNRZe1YcZpZLkh6IiK4R+zVC0LfPmh/HXXwVn3vH0bz99bOQhyJGp3cnrPlNCv6fZT8EAzS3w+mfy7byWyZCS3u2t0/LhOzWOiFrb51Q1DYx++bgz8Cs4Y2roD/m2ONj3l9+nVXrXuFNR3Vy+cJjOOzgyfUua3yKgBeegl9eDo/9ZIwvoqIVwYRsBTFlFrz/R9mRwmbWEMZV0Hd1dcW9993P9b9dw1fveJKevn4+8pYj+ctTD6e9xacfGLPendCzLd1vh94d2a1nB/RuL7/9kaWwczP8pw9mF23Z/ZtBGmLa/TtCmt7920IbNKfppta9nzfc0JSZjWjcBX13dzcAz2/ewRdue5SfPryeIzon88V3vZ6TDj+4zhXu5567D645o/qvq+a9VwgDVh4t2UqjqTXdN6f5hbb0uK0DJhyY3SZOhQlT9zwuvvkgNcuZcRv0BXc9sZHPLV3Fcy9u57+dMIfPnvNaDu5or1OFxq6t2Vb+7l09e9Kun7ugr3fP7p8DdgftGdSvaF5/0XMKzy/53N69b3096bQTqc+uLbBjc/btYzjN7aVXAIXbPf8Ikw6G9gOyXWJbJ0LrpOzWNmng43LaCsNeze3ZNYmb27MVk3//sCoZ90EPsH1XH9+46ymuvvtpJrW18L0LT+TYOT7RmA2hZ0cW+ANuL6fb4PbNsP3lgf36e7NvEkcvzFZqhZVbz7Z0K2rr2znGIpW9R8uEPeG/1337MH0K80r1GTyvfU97oW3zc9meWi3tew+n7R56G669jGG65jaf8XUfyUXQFzy14VXOuPJu/nTeQZz+uhlMamthUlvz7vvJ7c1MbM2mp09pp6PdhwfYKEVkv020Tiivf19v9nvGrm0DVwQ921Lb1uz1endm31B6d2Yrh73aiuftGqJP8bx0399b2fI2tVT+GsPSECuAoVYMLXuvRIb6DWjI9kGvo6ZshaPmoumm7HFT057pAfMG9StrXnP2La0O39TKDfqaJaKks4F/ApqB70TEFWN9rfkzp3DMIQdw7zMvcu8zw1/hqaO9hfsvfSsT27xFYaMglR/ykEJqSv32QurvG3olULySKF7BFNoOmgeHn5adcbV4CK3UcNq+at+1pbz+/T31+XuXQ6VWHmklUO7Ko6mw0ii1cioxr0w1CXpJzcA3gTOAtcD9kpZFxKNjfc2ffvQU+vqDbbt62b6rj627+ti2q5dtu/rYtquP7bt6uePRDdzy4DoWfft3tDc3ZX9fieYmIUFzk2iS+OXjG5kzbSI//cgpdExoobnJY6Y2zjQ1p6OgKzgSuqkJmtqyoZ/xIqLM33d2QfRnK8Toh0j3/cXTZc7r78vet+S8/kGvMdK84vcqNS9K1FV43A99g+oqU6226E8EVkfE0wCSfgAsBMYc9JAF9ZQJrUwZ4gjaIzo7eHlbDzt7+7KNlQh6+/vZ1Qd9/UFE0J9Gqta+tJ3jLr8DgEltzUyZ0EJHe0t6/RamTGhhUltL9nePoLc/6O8P+vqDvkj3/cGvn9wEwKfO+pO96in+JidUom1g30f/8Aovb+/hHccekv0flIpuoHTfJA2Yv3tFJtHUtKd/X3/Q1tK0u9a+ovoLy7N7uYqWacC8CHr7gvbWJt5x3CEMXiUOPrit1Cqz1DdalehZ6TdfaeDfWbvbs9bC61d6QF5huLMw6hmD2wfXNaiOQn3VqGW/I+0ZrsHH2vBX5f37qVXQzwaeK3q8FvjTGr3XbvNnTuHav3jDiP2e3PAqK557mVd39LJlRy+v7ujJpnf28sqOHrbs7GX95h1s29mLUpBm3wZI0000N2XBWvDlnz9RteX41RObqvZa1XTpravqXULVDV4hwN6Bva9+xtod/kW1FK8Ydq8mBvQrTJdewe3uPvCpe6+gh9gAKdl3iLpL9Rg8b6TnDt4AGO75I60kh5o9ZPsoNj6GeuehairZWqXXLkfdfrWUtARYAvCa1+zbc7IcNXMKR82szthqRNDTVwiGKGov1bdoukTf/ghe2tqze7ov9nwL6Y/Y/S2lf0BbNl34xtKX5m3b2UtfBBNammluFs0SLU3ZFv+Ae4mWNL+wQhtwk9iys5czrrybvx30rWXwMsZe27JD/B1K/h1L9Ss/YQf8bSMGbG1H7HmtbHrPk4rDPIi9vnnt/q9VInizx6X7Fx4PrqN4uQbXUk6/AfNKfKPY+1vGwNcppXiHjMFdRvqM954/9LzBr77Xc0fxXqOtc8gnDtM81I4qQ/2rHPLvW4XXLjUjCJYP1X+Qmux1I+nPgMsi4qz0+DMAEfEPpfqPtNeNmZntrdy9bmp1DPr9wHxJ8yS1AYuAZTV6LzMzG0ZNhm4iolfSxcDPyXavvDYiHqnFe5mZ2fBqNkYfEbcDt9fq9c3MrDw+faCZWc456M3Mcs5Bb2aWcw56M7Occ9CbmeVcQ5ymWNIm4Nl611EF04EX6l3EPuTlzTcvb+M7LCI6R+rUEEGfF5K6yzlKLS+8vPnm5c0PD92YmeWcg97MLOcc9NV1db0L2Me8vPnm5c0Jj9GbmeWct+jNzHLOQV8BSWskPSxphaTu1HaQpDslPZXup9W7zrGSdK2kjZJWFbWVXD5lvi5ptaSVkk6oX+VjM8TyXiZpXfqMV0g6p2jeZ9LyPiHprPpUPTaSDpV0l6RHJT0i6WOpPZef7zDLm8vPdy+RrmLk2+hvwBpg+qC2/wV8Ok1/GvhSveusYPlOBU4AVo20fMA5wL+SXWTpJODeetdfpeW9DPhkib5HAw8B7cA84N+B5novwyiWdRZwQpqeAjyZlimXn+8wy5vLz3fwzVv01bcQuC5NXwecW8daKhIRdwMvDmoeavkWAtdH5nfAVEmz9k2l1THE8g5lIfCDiNgZEc8Aq4ETa1ZclUXE+oh4ME2/CjxGdq3nXH6+wyzvUMb15zuYg74yAdwh6YF0DVyAmRGxPk0/D8ysT2k1M9Tylbog/HD/kcaTi9NwxbVFQ3G5WV5Jc4HjgXvZDz7fQcsLOf98wUFfqTdGxAnA24CLJJ1aPDOy74C53a0p78uXXAUcASwA1gNfrW851SWpA/gxcElEvFI8L4+fb4nlzfXnW+Cgr0BErEv3G4Fbyb7abSh8pU33G+tXYU0MtXzrgEOL+s1JbeNaRGyIiL6I6Ae+zZ6v7+N+eSW1koXeDRFxS2rO7edbannz/PkWc9CPkaTJkqYUpoEzgVVkF0FfnLotBpbWp8KaGWr5lgEXpL0zTgI2Fw0BjFuDxqHfRfYZQ7a8iyS1S5oHzAfu29f1jZUkAdcAj0XE14pm5fLzHWp58/r57qXevwaP1xtwONmv8g8BjwCXpvaDgeXAU8AvgIPqXWsFy3gj2dfZHrIxyguHWj6yvTG+SbZ3wsNAV73rr9Lyfi8tz0qy//yzivpfmpb3CeBt9a5/lMv6RrJhmZXAinQ7J6+f7zDLm8vPd/DNR8aameWch27MzHLOQW9mlnMOejOznHPQm5nlnIPezCznHPRWF+lMgmcNartE0lWSDpF08xDPmyvpfRW+968k7XVt0NT+hKSHJN0j6U8qeR+zRuGgt3q5EVg0qG0RcGNE/CEi3j34CZJagLlARUE/gvdHxHFkJ/T6cokammv43mY14aC3erkZeLukNth9oqlDgH9LW+2rUvtfSFom6ZdkB/JcAZySzh3+8TT/G4UXlXSbpNPS9FWSutP5xz8/yvruBo5Mr7NG0pckPQi8R9ICSb9LJ8K6teic7UdK+kX6RvCgpCNS+6ck3Z/6fz61TZb009R3laQ/T+1XpHOmr5T0ldTWKenH6TXul3Ryan9T0XnUf184UttssJZ6F2D7p4h4UdJ9ZCeEW0q2NX9TRER2tPoAJwDHpuecRnb+8P8C2YpgmLe5ND2nGVgu6diIWFlmie8gO2Ky4I+RncAOSSuBj0TEryVdDvwdcAlwA3BFRNwqaQLQJOlMssPnTyQ7unRZOvldJ/CHiHh7es0DJR1Mdhj+a9PfYWp6738CroyI30h6DfBz4HXAJ4GLIuKedLKuHWUum+1nvEVv9VQ8fLMoPS7lzogo9zzxxc5LW+G/B44hu5jESG6QtAI4mSxIC34IWSADUyPi16n9OuDUtDU9OyJuBYiIHRGxjewcSGemGh4EXksW/A8DZ6RvCqdExGZgM1lYXyPpvwLb0nu8FfhGqmsZcEAK9nuAr0n6aKqpd7R/INs/eIve6mkpcKWyy9JNiogHhui3dZjX6GXgBssEgHQiqk8Cb4iIlyR9tzBvBO+PiO5R1jAcAf8QEd/aa0a23OcAfy9peURcLulE4HTg3cDFwFvIlu+kiBi8xX6FpJ+m17hH0lkR8fgY67Qc8xa91U1EbAHuAq5l6K35wV4luxRcwRpggaQmSYey5zSzB5CF82ZJM8mGiKpR82bgJUmnpKbzgV9HdtWitZLOBUhnPZxENszyobQFjqTZkmZIOgTYFhH/h+xH3xNSnwMj4nbg48Bx6T3uAD5SqEHSgnR/REQ8HBFfAu4n+7Zgthdv0Vu93Uh2Lv/Be+AMZSXQJ+kh4LvAPwLPAI+SXR6ucLm4hyT9Hnic7EpB91Sx5sXAv6Qgfxr4YGo/H/hWGrfvAd4TEXdIeh3w2/TbwxbgA2Q/9H5ZUn/q+9dkK7ClaXxfwN+k1/0o8M3020AL2Q/FfwVcIunNQD/ZGVT/tYrLaDnis1eameWch27MzHLOQW9mlnMOejOznHPQm5nlnIPezCznHPRmZjnnoDczyzkHvZlZzv1/xWTkwD2+JnsAAAAASUVORK5CYII=\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df[\"Presim. Time / s\"].plot();\n", "df[\"Sim. Time / s\"].plot();"]}, {"cell_type": "code", "execution_count": 72, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["<Figure size 432x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["ax = df[[\"Presim. Time / s\", \"Sim. Time / s\"]].plot();\n", "ax.set_ylabel(\"Time / s\");"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 6\n", "<a name=\"task6\"></a>\n", "\n", "* To your `df` NEST data frame, add a column with the unaccounted time (`Unaccounted Time / s`), which is the difference of program runtime, average neuron build time, minimal edge build time, minimal initialization time, presimulation time, and simulation time. \n", "(*I know this is technically not super correct, but it will do for our example.*)\n", "* Plot a stacked bar plot of all these columns (except for program runtime) over the virtual processes\n", "* Remember: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 92, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["cols = [\n", " 'Avg. Neuron Build Time / s', \n", " 'Min. Edge Build Time / s', \n", " 'Min. Init. Time / s', \n", " 'Presim. Time / s', \n", " 'Sim. Time / s'\n", "]\n", "df[\"Unaccounted Time / s\"] = df['Runtime Program / s']\n", "for entry in cols:\n", " df[\"Unaccounted Time / s\"] = df[\"Unaccounted Time / s\"] - df[entry]"]}, {"cell_type": "code", "execution_count": 93, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "subslide"}}, "outputs": [{"data": {"text/html": ["<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Runtime Program / s</th>\n", " <th>Unaccounted Time / s</th>\n", " <th>Avg. Neuron Build Time / s</th>\n", " <th>Min. Edge Build Time / s</th>\n", " <th>Min. Init. Time / s</th>\n", " <th>Presim. Time / s</th>\n", " <th>Sim. Time / s</th>\n", " </tr>\n", " <tr>\n", " <th>Virtual Processes</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>8</th>\n", " <td>420.42</td>\n", " <td>2.09</td>\n", " <td>0.29</td>\n", " <td>88.12</td>\n", " <td>1.14</td>\n", " <td>17.26</td>\n", " <td>311.52</td>\n", " </tr>\n", " <tr>\n", " <th>16</th>\n", " <td>202.15</td>\n", " <td>2.43</td>\n", " <td>0.28</td>\n", " <td>47.98</td>\n", " <td>0.70</td>\n", " <td>7.95</td>\n", " <td>142.81</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>"], "text/plain": [" Runtime Program / s Unaccounted Time / s \\\n", "Virtual Processes \n", "8 420.42 2.09 \n", "16 202.15 2.43 \n", "\n", " Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "Virtual Processes \n", "8 0.29 88.12 \n", "16 0.28 47.98 \n", "\n", " Min. Init. Time / s Presim. Time / s Sim. Time / s \n", "Virtual Processes \n", "8 1.14 17.26 311.52 \n", "16 0.70 7.95 142.81 "]}, "execution_count": 93, "metadata": {}, "output_type": "execute_result"}], "source": ["df[[\"Runtime Program / s\", \"Unaccounted Time / s\", *cols]].head(2)"]}, {"cell_type": "code", "execution_count": 94, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "-"}}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAs4AAAEXCAYAAAC9NcJWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xl8TPf+x/HXTCYJsYSSiK262KqKFEWpXK6tCKqqWqXUEm3DrSpqV0qoqEt10dqKqrVUVWmv3upPI7VUbcW1t7ZsUkksSSYzvz/U1AgyiZMxiffz8ejjIWe+530+ZzL3cT858z3na7Lb7XZEREREROSWzHe6ABERERGRvECNs4iIiIiIC9Q4i4iIiIi4QI2ziIiIiIgL1DiLiIiIiLhAjbOIiIiIiAvUOIuIiIiIuECNs4iIiIiIC9Q4i4iIiIi4QI2ziIiIiIgL1DiLiIiIiLhAjbOIiIiIiAssd7qA6yUmXsBms99yTIkShUlISLntYxmVY2SWJ9ZkZJZqcm+Op2apJvdnqSb3Z6km92epJvdn5dWazGYTxYsXyna2xzXONps9y8b56jijjmeU/FyTkVmqyb05npqlmtyfpZrcn6Wa3J+lmtyfld9rupamaoiIiIiIuECNs4iIiIiIC9Q4i4iIiIi4wOPmOIuIiEjekJFhJTExDqs17bZyYmPN2Gy2267HqBwjszyxJiOzPL0mi8WH4sUD8PIypuVV4ywiIiI5kpgYR4ECfhQqFITJZMpxjsVixmq9/YbJqBwjszyxJiOzPLkmu93OhQtJJCbGUbJkaQMq1FQNERERySGrNY1ChYreVtMskltMJhOFChW97W9ErqXGWURERHJMTbN4MqM/n5qqISIiIoYoUrQgBXyNby0up1pJTrpkeK5Idnl84+xf1AcfX99M2wMCijj+nZaayvkk4y7Di4iISPYV8LUQOuhLw3O/mtqe5CzGnDlzmv79w1ix4iun7Y0a1WHz5u2G15RbvvzyC/z8/GjevJXL+3TqFMp7782idOkyjm3Dhr3BmTOnuXTpIufOJVC2bHkAXn65P3v27KJatYd5/PEnDK19w4Z1pKSk8PTTnQ3N9SQe3zj7+Poyc1jPW44Jj5gHqHEWERGRvG3v3t0EB9e+7ZyIiEgAfvllO3PnfszMmR87XqtXr4GhN/VdFR0dRe/e/QzN9DQe3ziLiIiI3K51677i55+jSEpK4vTpU9StW5833ngTq9XK1KmTOHr0COfOnePeeyswceI7WCx+LF36GatXr8TLy4vHH3+CV14ZwNmzZ5g48S0SE89RoEABhg4dRcWKlfj66zUsWbIIk8lElSoPMXDgEPz8/Khf/1HHFe91675i584djBgxlk6dQmnZsjVbt27h0qXLjBz5FsnJSWze/CM7dmyjRImSVKpUmSlTJhITE4PZbOaVV/rz6KN1SUo6z7hxo4iNjeG++x4gLS17Fw8nTBhL7dp1qFnzUYYNe4MyZcpy9OhhqlR5iODg2nzzzVqSk5OYODGS++67n/379zFjxrukpl7G378YgwcPp0yZsk6ZNpuNs2dPU7ZsOaftS5Ys4ptvvsZsNvHQQw8zZMiI2/tF3mG6OVBERETuCnv27GbChHf49NMlREX9H0eOHGbv3t1YLN7MmjWPpUtXkZp6mS1bfmLfvr2sWrWCTz5ZwPz5n3Pw4AEOHNjP1KmTCAlpysKFy3jppb58+ukcjhw5zIIFc5k582MWLFhKgQIFmTfvkyzr8ff355NPFtChQ0cWLpxL3br1aNSoMb1796NevQZMnx5JmzbtmDt3EZMmvcvkyRO4ePECs2d/ROXKVVmwYCkdOz7DuXMJOX5Pjhw5RI8evVi8eCUHDvzG2bNnmDVrHs2atWTNmi9IT09n0qS3GTNmAnPnfkaXLi8wefKETDn79/9G1aoPO22zWq0sWjSfOXMWMmfOIsxmM3FxsTmu1RPoirOIiIjkeSZT5muBdrvd6akKjzxSAz+/QgCUKVOWpKTzBAfXpmhRf1auXMbvvx/n5Mk/uHTpEr/++gsNGz5B4cKFAZg+/QMAfv31F8aOvdI4NmjQiAYNGrFy5VIaNnwCf/9iALRr9xQREW9lWXO9eo8D8MADFdm06b+ZXt++fSsnTpxg9uxZwJVG9NSpk+zcuYOxYycCUKvWo5mu/mbHPfeUoHLlqgAEBARSu3ZdAIKCSrNz52n++OMEp0+f5M03X3fsc+HChUw50dE/Ub/+407bLBYL1avXoHfv7jzxRAgdOz5DQEBgjmv1BGqcRUREJM8rWrQIFy6kOG1LTDxHkSJFHT/7+Dg/bMBut7N58yZmz57FM890oXXrdvz555/Y7XYsFucWKT4+Dl/fAk4r0Nntdo4fP4bNZr+uGjsZGRlO40wmE1ar1WmUj4+P05jrZWTYmDHjQ4oW9f/rfBIoWrQYJpPJaYU9Ly+vG70lLvH29nb6+fqsjAwbZcqUZf78xX/9nEFi4rlMOb/++gsvvNAj0/aIiKns27eH6OgoBg0awOjR4w2Zw32naKqGiIiI5Hl+foUoX/5efvhho2PbmjWrqFPnsVvut337Vpo2bUabNu0oUaIEu3btxGbLoGbNYKKjo7h48SJWq5WxY0dw4MBv1KoVzH/+8+1f+/7MO+9MIDi4Nps3/0hS0vm/jrua4OA6ABQrVoxjx4781aT/mOV5eHl5OZru2rXr8MUXywE4duwoL7zwLKmpl6lT5zG+/fYbAPbv38epUyez+W65rkKF+0hKSmLXrp0AfP31GsaOdZ6n/Oeff1KwoB++1z0FLTExka5dO/HAAxXp3bsfdevW48iRQ7lWqzu4fMV58uTJJCYmMmnSJPbv38/IkSNJSUmhTp06vPXWW1gsFk6fPs3gwYNJSEjg/vvvJzIykkKFCuVm/SIiIuIhLqda+Wpq+1zJdcXYsW8zefJE5s2bjdWazoMPVuL114fecp/Q0Kd4660R/Pe//8Hb24eHH67O6dOn6dChIx07dqZfv57YbHZCQppQt2497r23ApMnv82qVSv+ujlwJPff/wDduvUkPLwvVquVKlUeYvDgYQC88soAhgwZyD33lKBGjVqcP//nLeupU+cxZs36gMKFCzNw4BDeeWcCL77YBbvdzpgx4/HzK0SvXmFMmPAWL7zQmQoVKtzWVI2s+Pj4MH78JKZPjyQtLQ0/v0KMHOk8DWXr1i3Uq1c/077FixenffuO9OnTHV/fApQqFUTr1qG5Vqs7mOw3+m7gOlu2bGHgwIH84x//YNKkSbRt25a3336bWrVqMXz4cKpXr87zzz9PWFgY7dq1o02bNrz//vtcvHiRwYMHZ6ughIQUp688AgKKuPQ4uri4rJ7wmFlAQJEc7ZebWZ5Yk5FZqsm9OZ6apZrcn6Wa3J91N9S0Z89egoIq3HaWUY9GM/IRa/m5JiOz8kJNZ8+eyPQ5NZtNlChRONvZWU7V+PPPP5k2bRr9+l15Lt+pU6e4fPkytWrVAqBjx46sX7+e9PR0tm3bRsuWLZ22i4iIiIjkB1lO1Rg9ejQDBw7kzJkzAMTGxhIQEOB4PSAggJiYGBITEylcuLBjMv3V7dmVk+7/yvGKZD3IwP1yM8sTazIySzW5N8dTs1ST+7NUk/uz8ntNZrMZi8WY26U8LcfILE+sycgsT6/JbDYb9rm/ZeO8fPlySpcuTYMGDfjiiy+AG9/1aTKZbro9u240VcMVmqqRN7JUk3tzPDVLNbk/SzW5P+tuqMlms3nU1/15YdpAfsvKCzXZbLZMn/ucTtW4ZeO8bt064uLiaN++PefPn+fixYuYTCbi4+MdY+Li4ggMDOSee+4hJSWFjIwMvLy8HNtFRERERPKDW14PnzdvHmvXruXLL79kwIABNG3alIiICHx9fdmxYwcAq1evpnHjxnh7e1OnTh3WrVvntF1EREREJD/I0USSyMhIIiIiePLJJ7l06RLdu3cHYMyYMSxbtozWrVuzfft2XnvtNUOLFRERERG5U1x+jnPHjh3p2LEjAFWrVmXFihWZxpQtW5aFCxcaV52IiIjkGcX9fbBctzqfEaxpqSSeTzM8VyS7tOS2iIiIGMLi48vRCU8bnvvAiJWA643z0aOH6d69C2+/PZl//OOfhtbSqFEdhgwZQbt2Tzm2hYf35aWX+vLoo3UMPVZ2deoUSoECBbBYvLFarQQFBTFixFsUL178pvts3ryJAwf207t3Pzp1CuW992ZRunQZpzE3Or+pUyezZ88urNZ0Tp78g/vuewCAZ57pQnr6ld9Vhw6dDD2/Xbt+ZfPmTbz66r8Mzc0ONc4iIiKSr3z99Vf84x//ZPXqlYY3zgAff/wB9eo1oFSpIMOzb9eUKdMdje/06VP5/PMFvPLKzRvNRo1CaNQoJNvHGTToyoqMsbFneeWVPsyfvzhnBWdDdPRP1K//eK4f51bUOIuIiEi+YbVa+fbbb3j//U94+eWXOHXqJMeOHWHNmlW8886/AVi5cil//PE74eEDmTJlIrt3/0pAQCAmk4kXX+yV5ZXjZ57pwuTJb/PuuzMzvfbNN2tZvvxzbDY7VapUZciQYXh5edOoUR02b94OwLp1X7Fz5w5GjBhLp06hVKtWnUOHDvLBB7OJitrMkiWLMJlMVKnyEAMHDsHPz4/27VvSpEkzdu3aiZeXhXHjIm651LbNZuPixQuOK8Fz5swCoFevMAA6dGjDe+/NYufOHY5arkpLS2Py5PEcOLCfoKAyWS4Tfr1rj9WuXUsaNnyCXbt2UqJESZ566hlWrFhCXFwsw4ePITi4NidP/kFkZARJSUn4+voycOBgKleumil3z55dvPRSX6dt3367nsWLF2A2mylTpgyjRo3HYimYrXqzw7gnVouIiIjcYVu2bCYoKIh7763AE0/8gy+/XEn9+g05ePAASUlJAPznPxto0eJJVq9eweXLl1i8eCXDh49h//7fXDpG164vcv78edasWeW0/ejRI3z11Wo+/HAu8+cvpnjxe/jss6zv/apf/3E+//wLzp07x4IFc5k582MWLFhKgQIFmTfvEwASEhKoW/cx5s1bTM2awaxcueyGWYMH/4sePZ7nqadas23bzzRp0sylc7rWihVLAfjssxW89tobnDp1KtsZV507l8Djjzdi8eKVAPz443/54IPZvPRSX5Yt+xyACRPG8MorA1iwYDFDhoxgzJjhmXISEuIpUqQo3t7eTts/+eRDpk2bydy5i7j33vv4/ffjOa7VFbriLCIiIvnGunVf0axZSwD++c/mvPXWKPr0eYWQkCZs2vQ9devW4/z581SrVp1PP51DaOhTmEwmgoJKU7t2XZeOYbFYGDFiDAMGvEy9eg0c23fu3M7Jk38QFtYTAKs1nSpVMl85vV61atUB+PXXHTRs+AT+/sUAaNfuKSIi3nKMuzpN4YEHHmTXrp03zLp2qsbKlcsYNCicRYuWu3ReV/366w7atbvyQIjy5e/lkUdqZGv/69Wv3xCAoKDS1KhRC4BSpYJITk7i4sWL7N//GxMnjsNkArsdLl26xPnzfzreB4Cff97i9F5f1bDhE7z8ci+eeOIfhIQ0pVKlKrdVa1bUOIuIiEi+cO7cObZs+YkDB/azfPkS7HY7yclJ/PDDRlq0aM3s2R+SnJxE8+atADCbvbDbc7ZS3QMPVHRM2bgqI8NG06bNeO21wQB/LRz392rIdrsdk8mE1Wp1yvL1vfIkkmtXTv5rDzIyMpzGWa22m67YfL2WLVszbdo7nD9/PtM+GRnWW+xpcnpfvLy8sjzWrVx7lfj6LJvNho+PL/PnL3as+BcbG0PRov5O46Kjo244V/u1197g8OH2bNmymfHjR/HSS31p06btbdV7K5qqISIiIvnC+vXrqF37MVatWseKFV+xcuVaund/iS+//ILq1R8hPj6eDRvW0aLFkwDUrVuP//znW+x2O/HxcezcuQOTyeTy8a5O2di3bw8AwcG1+fHHH0hMPIfdbmfq1AiWLPkMgGLFinHs2BHsdjubN/94w7zg4Nps3vwjSUnnAVizZjXBwTl/UseOHVsJDCxFsWLF8PcvxrFjRwH47be9TqtAX69Oncf47rsN2Gw2zp49w549u3NcQ1YKFy5MuXLl2bDhygJ627ZF8+qrzvOYMzIyiIuLJSjI+WZMq9VKly5PUaxYMbp160mrVm343/8O5lqtoCvOIiIiYhBrWupfj44zPtcVX3+9hj59XnHa1rHjMyxevIATJ47zz3825+eft1C2bDngylSIQ4f+R/fuz1KiREmCgko7rv5269aFKVOmU7JkwE2Pd3XKRq9e3QCoVKkyPXv2YcCAftjtdipVqkL37lembfTrF86QIQO5554S1KhR64Y33FWsWIlu3XoSHt4Xq9VKlSoPMXjwMJfO/arBg/+FxeKNzZaBt7cPb701EYBmzVqwadP3vPDCM1SpUpXKlW8+paFjx2c4duwIXbt2IiioNA888GC2asiuMWPeZsqUiSxevACLxZtx4yY6/QGzb98eHn74kUz7WSwWevUK47XXXsHXtwCFCxdh5MixuVqrye7KtX43SkhIcfqqIiCgCDOH9bzlPuER84iLS872sQICiuRov9zM8sSajMxSTe7N8dQs1eT+LNXk/qy7oaY9e/YSFFThtrOufkXv7pyoqM3Y7XYaNnyClJQUevbsypw5Cyha1P+O1ZTXsvJCTWfPnsj0OTWbTZQoUTj72bddnYiIiEgedN999zN+/Gg++eRDAHr3Dss0t1bkWmqcRURE5K5UpkxZPvxwzp0uQ/IQ3RwoIiIiIuICNc4iIiIiIi5Q4ywiIiIi4gLNcRYRERFDFCnmSwFvH8NzL6enkfyna4+kE8lNLjXO06dPZ8OGDZhMJjp16kTPnj0ZNmwYO3bsoGDBggCEh4fTvHlzoqKiiIiIIDU1lSeffJKBAwfm6gmIiIiIZyjg7UPnpS8bnrvs2Q9J5taN85kzp3nmmXa0a/cUQ4aMcGw/dOggPXt2ZfjwMbRuHUqPHs8zf/7ibNdw5sxpnnuuI/fd94DT9tDQDjz9dGenbevWfcXOnTsYMWJsto9zrQkTxrJjxzaKFvXHbrfh7e3NwIFDefjh6jfdJz4+jkmTxhMZOYMJE8YSHFyb1q1DncbMmTMLs9lEz55/LzTy9ddrWL58CQDHjx+lXLnyWCzePPJITdq0CWX16pW8+eao2zqf66WlpfH66+HMnPmxobm5KcvGeevWrURHR7NmzRqsViutW7cmJCSEvXv3smjRIgIDAx1jL1++zPDhw1m4cCGlS5cmLCyMTZs2ERISkqsnISIiIuLvX4yff95CRkaGY2nnjRu/o1ix4o4xOWmarypZMuC29s+J3r37ORrfn37axL///Q6ffLLgpuNLlgwgMnJGto/Tpk072rRpB0CnTqFMmTKd0qXLOF5/881q2c7Myq5dv1Cr1qOG5+amLBvnxx57jAULFmCxWIiJiSEjIwNfX19Onz7NqFGjOH36NM2bNyc8PJzdu3dToUIFypcvD0BoaCjr169X4ywiIiK5rmDBglSqVJldu3by6KNXlqreujWaOnUec4xp1KgOmzdvZ86cWcTHx/HHH78TE3OWtm3b8+KLvXJ87PXrv+bTT+dQqFBhgoKCKFjQD4AdO7YzdepkvLy8ePjhGhw/fpSZMz/m5Mk/iIyMICnpPL6+BRg4cDCVK1e95TFSUlIoXrwEAL/8sp25cz92XK29enU5OLg2/fuHsWLFV077Ll68gDVrVuHvX4wiRYrc8qr19a49Vnh4XypXrsL27VtJTU1l0KChLF36OceOHeHZZ5/n2We7cvHiRd59dzJHjx7BZrPRtWt3mjdvlSk3OjqKJk2aOW07fPgQ77wzgYyMDHx8fBg+fAzly9/rcq25zaWpGt7e3syYMYO5c+fSqlUrMjIyqF+/PuPGjcPPz4+wsDBWrFiBn58fAQF/L00ZGBhITExMtgrKySoucGUFI3ful5tZnliTkVmqyb05npqlmtyfpZrcn5XfazKbzVgs7nnOQFbH8fK68vqVpaU38thjj/Hbb/uoVKkSdvuVleKuZlgsZsxmE0eOHGbWrDkkJyfTqVM7OnfuQpEif78/1x7Ty8tMfHwcPXs+73TcMWPG4+9fjA8/fI8FCz7H39+fQYMG4OdXCMjgrbdGMXXqdCpVqsy7707BZLpSx4QJY3njjaFUqVKVY8eOMnToIJYtW+WUbTKZmDNnFsuXf86lS5eIiTnLlCnTsFjMeHmZHVlXx5rNJsf7YLGYHdsOHTrA11+vYcGCzzGZTPTu/WKW76mX19+/22uPdTVz8eLlzJ49i3ffncyiRUtJTEyke/fn6Nq1GwsXzuWhh6oxdux4LlxIoU+fntSoUcOx1PlVv/22jwEDBjpqBli+fDFdu3bjn/9sznffbeDAgb3cf/99t/zd38i152Y2mw373Lt8c+CAAQPo06cP/fr1Y8uWLbz//vuO17p168bq1atp1SrzXxPXrjXuihstue0KLbmdN7JUk3tzPDVLNbk/SzW5P+tuqMlmsxm23HJWsjpORsaV1xs0aMRHH31AWpqVb7/dQJMmzdm48VtsNrsjw2q1YbPZCQ6ujcnkRdGixShSpCjnzydRsGAhIPOyzRkZNkqWDGDevMxTNf773/9Qvfoj+PtfmRLSvPmT7NixjYMHD1G8eHHuv78iVquNJ58M5X//iyQpKYX9+/cxfvxYR8bFixdJSDiHv38xxza73U6vXmGOqRpHjvyPl1/uw/z5i8nIsGG3/31Odrsdm83ueB+sVptj27Zt26hfvyE+PgUAaNKkGXb7rX93GRl/v37tsex2O4899jhWq43AwCAefvgRLBZfAgKCSE5Oxmq1sXXrz6SmXuarr74E4NKlSxw6dJhSpf6e+nHmzGkCA0tht5scx7FYzNSv35DIyMlERf3E448/QdOmTbP9Gbv+d2ez2TJ97nNtye0jR46QlpbGQw89RMGCBWnRogXr1q2jWLFitGzZErjyy7JYLJQqVYr4+HjHvrGxsU5zoEVERERyk59fISpWrMTu3b/yyy/b6NcvnI0bv73hWB+fv58AYjKZsNvtNxyXFZPJ5HTR7+r8arPZfMNMm82Gj4+v03zp2NiYLJf7rlKlKmXLluXgwf1O87YBrFbrLeuz2/9uJL28vG7rDx6L5e/20csrcytps2UwatR4qlS5MvXk3LmETOcWHR1F/fqPZ9q3SZNmVK9eg59++j+WL/+c6OifGDp0ZI5rNVqW36+cPHmSkSNHkpaWRlpaGhs3bqRu3bpMnDiR8+fPk56eztKlS2nevDk1a9bk2LFjnDhxgoyMDNauXUvjxo3dcR4iIiIiADRt2oyPPppJlSrVnJq83FKjRi1++20PcXGx2Gw2vv/+OwDuu+9+kpKSOHLkMADffbcek8lE4cKFKVeuPBs2rANg27ZoXn21703zrzpz5jRnzpymYsXK+PsX4/TpU6SmppKUdJ5du3bedL86deoSFbWZlJQUUlNT+fHH/xpw1jf36KN1Wb16BQDx8fG8+OJzxMScdRqzdesW6tVrkGnf0aOH8dtv++jQ4Wl69+7HwYMHcrXW7Mry0xQSEsKuXbvo0KEDXl5etGjRgvDwcIoXL85zzz2H1WqlRYsWtG3bFoBJkybRv39/UlNTCQkJueH0DREREcl/LqensezZD3MlNzsaNmzMpEnj6d27X7aPFR8fxxtv/ItFi5bc8LUePZznONeqFcxrrw3+679XKFCgIPfddz9w5R6xsWPf5u23R2Mymbn33gr4+voCMGbM20yZMpHFixdgsXgzbtzEG05vnT37I5Yt+xyAtLRUXn31NcfNcg0aNKRbt86ULl2GmjWDb3pOlSpV4ZlnnqN37+4UKVKEUqVKZ/t9yY6XXurD1KmT6datMzabjVdeGeA0vzktLY3k5GTuuadEpn27devJ5Mlv8+mns/Hy8qJ/f896rLHJntPvJXLJjeY4zxzW85b7hEfM0xznPJKlmtyb46lZqsn9WarJ/Vl3Q0179uwlKKjCbWddPyf1TucYlWWz2Zg1ayY9evShYMGCLFmyiLi4uBw3g552fkbmGJl1fc7ZsycyfU5zbY6ziIiIiGSf2WzG39+fPn26Y7F4U7p0acMXERH3UuMsIiIikku6d+/J88+/eKfLEIO45+GLIiIiIiJ5nBpnEREREREXqHEWEREREXGBGmcRERERERfo5kARERExRPEiPlgK+Bqea72cSmJy9p7lLJIb1DiLiIiIISwFfPmp/dOG5zb8ciVk0TifOXOaZ55pR7t2TzFkyAjH9kOHDtKzZ1eGDx9D69ah9OjxvNNS19nRqFEdNm/eftPX4+PjmDRpPJGRM9i8+UdOnvydF17oftPxw4a9wZkzp7l06SLnziVQtmx5AF5+uT979uyiatWHaNQoJEe13syGDetISUnh2We7GJp7t1DjLCIiIvmCv38xfv55CxkZGXh5eQGwceN3FCtW3DEmp02zK0qWDCAycgYABw/uz3J8REQkAL/8sp25cz9m5syPHa/daDlqI0RHR+VoRUW5Qo2ziIiI5AsFCxakUqXK7Nq1k0cfrQPA1q3R1KnzmGPM1avGc+bMIj4+jj/++J2YmLO0bdueF1/s5dJxfvllOwsXzqNAgQIcP36MBx+syJgxE4iPj6N//zCmTJnOl19+AUDZsmVo1So02+cyYcJYgoNrExxcm2HD3qBMmbIcPXqYKlUeIji4Nt98s5bk5CQmTozkvvvuZ//+fcyY8S6pqZfx9y/G4MHDKVOmrFOmzWbj7NnTTstfAyxZsohvvvkas9nEQw897HTFXpzp5kARERHJN5o0ac5//7sRgP3791GxYiW8vb1vOPbw4UNMm/Y+H388n0WLPiU52fXlyPfu3c3AgUP47LMVxMSc5eeftzheu//+B2jfviPt23ekbdv2t3dCwJEjh+jRoxfLlq3iwIHfOHv2DLNmzaNZs5asWfMF6enpTJr0NmPGTGDu3M/o0uUFJk+ekCln//7fqFr1YadtVquVRYvmM2fOQubMWYTZbCYuLva2a86vdMVZRERE8o1GjZ7gk08+xGazsXHjdzRt2pyNG7+94dgxBRekAAAgAElEQVRHH62Dt7c3xYvfQ9GiRblwIYUiRYq4dJz773+QwMBSAFSocD/JyUmGncP17rmnBJUrV8VsNhMQEEjt2nUBCAoqzc6dp/njjxOcPn2SN9983bHPhQsXMuVER/9E/fqPO22zWCxUr16D3r2788QTIXTs+AwBAYG5di55nRpnERERyTf8/ApRsWIldu/+lV9+2Ua/fuE3bZx9fHwc/zaZTNjtdpePczv7Ztf1V8yvzt++KiPDRpkyZR3ztzMyMkhMPJcp59dff+GFF3pk2h4RMZV9+/YQHR3FoEEDGD16PMHBtY07gXxEUzVEREQkX2natBkffTSTKlWqYbHcmWuEXl5eZGRkuOVYFSrcR1JSErt27QTg66/XMHas8zzlP//8k4IF/fD1dX5cYGJiIl27duKBByrSu3c/6tatx5Ejh9xSd16kK84iIiJiCOvl1CuPjsuF3Oxo2LAxkyaNz9HTI+Lj43jjjX+xaNGSbO97rVq1HmXChLGULFmSatWqM3v2R44nbhjNx8eH8eMnMX16JGlpafj5FWLkyLecxmzduoV69epn2rd48eK0b9+RPn264+tbgFKlgmjdOvs3M94tTPbc/G4hBxISUrDZ/i4pIKAIM4f1vOU+4RHziItzfUL/tdk52S83szyxJiOzVJN7czw1SzW5P0s1uT/rbqhpz569BAVVuO0si8WM1WrzmBwjszyxJiOz8kJNZ8+eyPQ5NZtNlChRONvZLk3VmD59Oq1bt6ZNmzbMmzcPgKioKEJDQ2nRogXTpk1zjN2/fz9PP/00LVu2ZMSIEVit1mwXJSIiIiLiabJsnLdu3Up0dDRr1qxh5cqVLFy4kAMHDjB8+HA++OAD1q1bx969e9m0aRMAgwcPZtSoUWzYsAG73c6yZcty/SRERERERHJblo3zY489xoIFC7BYLCQkJJCRkUFSUhIVKlSgfPnyWCwWQkNDWb9+PadOneLy5cvUqlULgI4dO7J+/fpcPwkRERERkdzm0s2B3t7ezJgxg7lz59KqVStiY2MJCAhwvB4YGEhMTEym7QEBAcTExGSroJzMN7lyLNeeu2jUfrmZ5Yk1GZmlmtyb46lZqsn9WarJ/Vn5vSaz2YzFYswDujwtx8gsT6zJyCxPr+nK86+N+dy7/FSNAQMG0KdPH/r168fx48czvX6zZxiaTKZsFXSjmwNdoZsD80aWanJvjqdmqSb3Z6km92fdDTXZbDaPusEsL9yolt+y8kJNNpst0+c+pzcHZtk4HzlyhLS0NB566CEKFixIixYtWL9+vdPDt2NjYwkMDKRUqVLEx8c7tsfFxREYqNVnRERE7gb+RQvi42v8k27TUq2cT7pkeK5IdmX56T558iQzZszg888/B2Djxo106dKFd955hxMnTlCuXDnWrl3L008/TdmyZfH19WXHjh3Url2b1atX07hx41w/CREREbnzfHwtjBu01vDc0VPbZjnmzJnTPPdcR+677wFMJkhPt1KyZEmGDx/jWBo7p2bP/oiqVR+iUaOQHGccOXKY8eNHAxATc5aCBQtStKg/3t7efPLJp/To8bxj5T8jvf56f8aNi6Bw4ZxNhRVnWTbOISEh7Nq1iw4dOuDl5UWLFi1o06YN99xzD/379yc1NZWQkBBatWoFQGRkJCNHjuTChQtUq1aN7t275/pJiIiIiJQsGeDUfH700UymTZtCRETkbeXmZCGV6z34YEVHbRMmjCU4uLbTQiO50TRfvHgRmy1DTbOBXPo+ZcCAAQwYMMBpW4MGDVizZk2msVWrVmXFihXGVCciIiKSQzVrBrN5848AdOoUSrVq1Tl06CAffDCb6Ogoli//HJvNTpUqVXn99aF4eXkREfEWR48ewWQy0aFDJ9q1e8rR6AYH12bYsDcoU6YsR48epkqVhwgOrs0336wlOTmJiRMjue+++3NUa6NGddi8eTtz5swiJuYshw8f4s8/E+nT52V27NjGb7/tpVKlyowdOxGTycTChfP573+/IyPDRr169Xn55QGZ7iv75Zdt1K5d12nbhQspjB07gnPnErDb4aWX+tzWlfS7jXG3QYqIiIh4CKvVyvfff8cjj9R0bKtf/3E+//wLEhMT+eqr1Xz44Vzmz19M8eL38PnnC9mzZxdJSUnMm7eY9977kD17dmXKPXLkED169GLx4pUcOPAbZ8+eYdaseTRr1pI1a74wpPajR4/w8cfzGTVqHBER4+ja9UUWLFjKwYMHOHz4ENHRURw8uJ9PPlnAvHmfERcXx7fffpMpJzo6ivr1H3fa9uOPPxAUVIZPP13M6NHj2bXrV0NqvlsYP4NfRERE5A6Ij4+jR4/nAUhPT+Ohhx7m5ZfDHa9Xq1YdgJ07t3Py5B+EhfUEwGpNp3Llqjz1VCd+//0Er78eTsOGjXj55f6ZjnHPPSWoXLkqAAEBgY4rukFBpdm587Qh51G3bj0sFgtBQaUpUaIk99//gON4yclJbN++ld9+20uvXt0ASE29TKlSQZlyDh8+RMWKlZ22Va9eg1mz3ichIY769RvSo0cvQ2q+W6hxFhERkXzh+jnO1/P19QUgI8NG06bNeO21wcCVucAZGRkUKVKEhQuXsW3bz/z8cxQvvfQCCxc6r4Ds7e3t9PO1TxkzisXyd3t2o3ybLYPOnZ+jS5cXAEhOTs407vjxY9x7b4VM0zfKl7+XxYtXsG1bND/+uIklSxbx2Wcrsv344LuVpmqIiIjIXSU4uDY//vgDiYnnsNvtTJ0awbJli9m8eRPjxo3i8ccb8frrgylYsCCxsdlbyM0dHn20Lhs2rOPixYtYrVaGDRvEDz9sdBoTHf0T9es3zLTvypVLmTNnFv/8Z3MGDXqTxMREUlJS3FV6nqcrziIiImKItFSrS4+Oy0mukSpVqkzPnn0YMKAfdrudSpWq8MILPfDy8uK//91It26d8fHxJSSkKQ8+WDHb+bNnf0TJkiXp0KGToXVf1ahRYw4f/h99+/bAZsugXr3HefJJ5/d927atjB07IdO+rVq1YezYEXTt2hkvLy9eeqkvRYoYt5pkfmey32i5vzvoRisHzhzW85b7hEfM08qBeSRLNbk3x1OzVJP7s1ST+7Puhpr27NlLUFCF2866m1axy29ZeaGms2dPZPqc5nTlQE3VEBERERFxgRpnEREREREXqHEWEREREXGBGmcREREREReocRYRERERcYEaZxERERERF+g5ziIiImII/6I++Py1Op+R0lJTOZ+UZniuSHapcRYRERFD+Pj6Zrn2Qk6ER8wDsm6cv//+P8yfP5eMjAzsdhutWrXh+ee7A/DGGwN4881RlCwZkOM6vv56DcuXLwHg+PGjlCtXHovFm0ceqUmbNqGsXr2SN98cleP8G0lLS+P118OZOfNjQ3MlZ9Q4i4iISJ4XFxfLjBnvMmfOIvz9i3Hx4kXCw/ty770VaNQohMjIGbd9jDZt2tGmTTsAOnUKZcqU6ZQuXcbx+ptvVrvtY1xv165fqFXrUcNzJWdcapxnzpzJN998A0BISAhDhgxh2LBh7Nixg4IFCwIQHh5O8+bNiYqKIiIigtTUVJ588kkGDhyYe9WLiIiIAH/++SdWq5XLly/j7w9+fn6MHDkWH58rU0c6dQrlvfdmsXPnDqKiNhMfH0dsbAydOz9HTEwMv/yyjaJF/YmMnIFvDqab/PLLdubO/ZiZMz8mPLwvlStXYfv2raSlpfKvfw1mxYqlHDt2hGeffZ5nn+3KxYsXeffdyRw9egSbzUbXrt1p3rxVptzo6CiaNGnmtO3w4UO8884EMjIy8PHxYfjwMZQvf2/O3jjJliwb56ioKDZv3syqVaswmUz07t2b7777jr1797Jo0SICAwMdYy9fvszw4cNZuHAhpUuXJiwsjE2bNhESEpKrJyEiIiJ3t0qVKvPEE/+gc+f2VK5cheDgOjRv3opy5cpnGrt//z4WLFhCcnIynTqFMnXqe/zrX4Po3z+MrVu38MQT/zCkpgULljJ//if8+99T+PTTJfz5ZyI9elxpnD/9dA5VqjzEyJFvceFCCv36vUS1atUpW7acU8Zvv+3llVf+5bRt2bLFdOnyAk2bNmPjxm/Zt2+PGmc3yfKpGgEBAbz55pv4+Pjg7e3Ngw8+yOnTpzl9+jSjRo0iNDSUGTNmYLPZ2L17NxUqVKB8+fJYLBZCQ0NZv369O85DRERE7nJDhw5nxYqv6NChEzExZwgL68mmTd9nGvfIIzUpVKgwQUGlAahduy4AQUGlSU5ONqSW+vUbOjIffvgRChQoQFBQaVJSruRv376VL79cSY8ez/Pqq325fPkyx44ddco4c+Y0gYFBeHl5OW1v0KAh06a9Q0TEOCwW7xteqZbckeUV50qVKjn+ffz4cdatW8fixYvZunUr48aNw8/Pj7CwMFasWIGfnx8BAX9Pug8MDCQmJiZ3KhcRERH5S1TUZlJTL9GkSXPHXOQ1a1axdu2XhIQ0dRrr7e3t9LPFYvwtX9dmXt/4AthsGYwaNZ4qVaoCcO5cAkWL+juNiY6Oon79xzPt26RJM6pXr8FPP/0fy5d/TnT0TwwdOtLgM5AbcfmTcujQIcLCwhg6dCgPPPAA77//vuO1bt26sXr1alq1yvwXj8lkylZBJUoUztb4qwICirh1v9zM8sSajMxSTe7N8dQs1eT+LNXk/qz8XpPZbMZicc+SEFkdp1Chgvz731N4+OFHKFOmDHa7nd9/P0aVKlUd+3p5mTGbTZhMJqe8q/82mUyYzX+/ltUxvbzMTtlXc00mk9NrNzpenTqP8eWXKxk+fBTx8XG8+OJzfPLJPKepJdu2RTN06IhM+44YMZTmzVvSqdMzPPjgA/z731Nz9Hsw6ndn5GcgN2oym82Gfe5dapx37NjBgAEDGD58OG3atOHgwYMcP36cli1bAmC327FYLJQqVYr4+HjHfrGxsU5zoF2RkJCCzWZ3/OzqicbFZf+rlYCAIjnaLzezPLEmI7NUk3tzPDVLNbk/SzW5P+tuqMlms2G12hzb0lJT/3p0nLHSUlOdjnMjNWvWplevvgwaNACr1QpAvXoNePHF3o59MzJs2Gx27Ha7U97Vf9vtdmy2K68NHvwvevUKo2rVmz8pIyPD5pR9Nddutzu9dqPj9ejRm6lTJ/Pcc52w2Wy88soAgoLKOsalpaWRlJSEv39xxzaLxYzVauOFF3oyefLbzJ37CV5eXoSHD8zy/bne1azbZVSOkVnX59hstkyfe7PZlKOLtVk2zmfOnOHVV19l2rRpNGjQALjyAZg4cSL169fHz8+PpUuX8tRTT1GzZk2OHTvGiRMnKFeuHGvXruXpp5/OdlEiIiKS91xZpCT7C5UY1TC1aRNKy5ZtbvjaihVfAVC6dBlatw51bN+8ebvj3yNGjHX8e9q0925Z09W8qx59tA6PPloHwOmZy23btqNVq7aZjleoUGFGjx5/03wfH5+bPru5UqXKzJ694Kb7Su7JsnGeM2cOqampTJo0ybGtS5cu9O3bl+eeew6r1UqLFi1o2/bKh2LSpEn079+f1NRUQkJCbjh9Q0REREQkr8mycR45ciQjR954wnnXrl0zbWvQoAFr1qy5/cpERERERDyIe2b0i4iISL5kt9uzHiRyhxj9+VTjLCIiIjlisfhw4UKSmmfxSHa7nQsXkrBYfAzLNP7BhSIiInJXKF48gMTEOFJS/rytHLPZjM12+zcHGpVjZJYn1mRklqfXZLH4ULx4QBZ7uE6Ns4iIiOSIl5eFkiVL33aOpz5uL7/WZGRWfq/pepqqISIiIiLiAjXOIiIiIiIuUOMsIiIiIuICNc4iIiIiIi5Q4ywiIiIi4gI1ziIiIiIiLlDjLCIiIiLiAjXOIiIiIiIuUOMsIiIiIuICNc4iIiIiIi5Q4ywiIiIi4gI1ziIiIiIiLnCpcZ45cyZt2rShTZs2vPPOOwBERUURGhpKixYtmDZtmmPs/v37efrpp2nZsiUjRozAarXmTuUiIiIiIm6UZeMcFRXF5s2bWbVqFatXr2bfvn2sXbuW4cOH88EHH7Bu3Tr27t3Lpk2bABg8eDCjRo1iw4YN2O12li1blusnISIiIiKS27JsnAMCAnjzzTfx8fHB29ubBx98kOPHj1OhQgXKly+PxWIhNDSU9evXc+rUKS5fvkytWrUA6NixI+vXr8/1k3CFf1EfAgKKOP0HZNrmX9TnDlcqIiIiIp7IktWASpUqOf59/Phx1q1bR7du3QgICHBsDwwMJCYmhtjYWKftAQEBxMTEZKugEiUKZ2v838cqkuWYmcN6ZjkmPGIeAQG+txxjTU/H4u19yxpuNsYVrpxLXs5STe7N8dQs1eT+LNXk/izV5P4s1eT+rPxe07WybJyvOnToEGFhYQwdOhSLxcKxY8ecXjeZTNjt9kz7mUymbBWUkJCCzfZ3jqsnHheXfMvXs/MGupKVVRMeHjEvy5ybZedkv7ySpZrcm+OpWarJ/Vmqyf1Zqsn9WarJ/Vl5tSaz2ZSji7Uu3Ry4Y8cOevTowaBBg3jqqacoVaoU8fHxjtdjY2MJDAzMtD0uLo7AwMBsFyUiIiIi4mmybJzPnDnDq6++SmRkJG3atAGgZs2aHDt2jBMnTpCRkcHatWtp3LgxZcuWxdfXlx07dgCwevVqGjdunLtnICIiIiLiBllO1ZgzZw6pqalMmjTJsa1Lly5MmjSJ/v37k5qaSkhICK1atQIgMjKSkSNHcuHCBapVq0b37t1zr3oRERERETfJsnEeOXIkI0eOvOFra9asybStatWqrFix4vYrExERERHxIFo5UERERETEBWqcRURERERcoMZZRERERMQFapxFRERERFygxllERERExAVqnEVEREREXKDGWURERETEBWqcRURERERcoMZZRERERMQFapxFRERERFygxllERERExAVqnEVEREREXGC50wXc7fyL+uDj6+u0LSCgiNPPaampnE9Kc2dZIiIiInIdNc53mI+vLzOH9bzlmPCIeYAaZxEREZE7SVM1RERERERcoMZZRERERMQFLjfOKSkptG3blpMnTwIwbNgwWrRoQfv27Wnfvj3fffcdAFFRUYSGhtKiRQumTZuWO1WLiIiIiLiZS3Ocd+3axciRIzl+/Lhj2969e1m0aBGBgYGObZcvX2b48OEsXLiQ0qVLExYWxqZNmwgJCTG8cBERERERd3LpivOyZcsYM2aMo0m+ePEip0+fZtSoUYSGhjJjxgxsNhu7d++mQoUKlC9fHovFQmhoKOvXr8/VExARERERcQeXrjhPmDDB6eeEhATq16/PuHHj8PPzIywsjBUrVuDn50dAQIBjXGBgIDExMdkqqESJwtkaf9X1j3C7HUZleUJNnlBDbuUYmaWa3J+lmtyfpZrcn6Wa3J+lmtyfld9rulaOHkdXvnx53n//fcfP3bp1Y/Xq1bRq1SrTWJPJlK3shIQUbDa742dXTzwuLvmWr2fnDTQqK6sco7NulJ2T/XIzSzW5N8dTs1ST+7NUk/uzVJP7s1ST+7Pyak1msylHF2tz9FSNgwcPsmHDBsfPdrsdi8VCqVKliI+Pd2yPjY11mgMtIiIiIpJX5ahxttvtTJw4kfPnz5Oens7SpUtp3rw5NWvW5NixY5w4cYKMjAzWrl1L48aNja5ZRERERMTtcjRVo2rVqvTt25fnnnsOq9VKixYtaNu2LQCTJk2if//+pKamEhIScsPpG2K8Gy3dDVq+W0RERMQo2Wqcv//+e8e/u3btSteuXTONadCgAWvWrLn9yiRbXFm6G7R8t4iIiEhOaeVAEREREREXqHEWEREREXGBGmcREREREReocRYRERERcYEaZxERERERF6hxFhERERFxgRpnEREREREXqHEWEREREXGBGmcREREREReocRYRERERcYEaZxERERERF6hxFhERERFxgRpnEREREREXqHEWEREREXGB5U4XkBVrehrhEfOyHCMiIiIikptcbpxTUlLo0qULH330EeXKlSMqKoqIiAhSU1N58sknGThwIAD79+9n5MiRpKSkUKdOHd566y0slpz35xZvH8YNWnvL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\n", "text/plain": ["<Figure size 864x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df[[\"Unaccounted Time / s\", *cols]].plot(kind=\"bar\", stacked=True, figsize=(12, 4));"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 7\n", "<a name=\"task7\"></a>\n", "\n", "* Create a pivot table based on the NEST `df` data frame\n", "* Let the `x` axis show the number of nodes; display the values of the simulation time `\"Sim. Time / s\"` for the tasks per node and threas per task configurations\n", "* Please plot a bar plot\n", "* Done? [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 101, "metadata": {"exercise": "solution", "slideshow": {"slide_type": "fragment"}}, "outputs": [{"data": {"image/png": "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nH0YEREREZEy4/QLAUVEREREKhunT88QEREREalsFJpFREREROxQaBYRERERsUOhWURERETEDoVmERERERE7FJpFruGbb75h6dKlnDlzpsD2lStXllNFUhyxsbHEx8cDsGrVKqZNm8aWLVvKuSopiYiIiPIuQRx05MgR2+MffviBiIgIIiMjOXz4cDlWJY7avXs3KSkpAERHRzNlyhTWrFlTzlVVLFpyTuT/iYyM5OjRo9SvX5+tW7cyevRowsLCAOjatSvr1q0r5wqlKEuWLGHp0qVYLBZatWrF+fPneeyxx9i5cycPPPAAQ4cOLe8S5TrGjh1baNvOnTt59NFHAZg5c2ZZlyTF8L9/H5ctW8aXX35J9+7dAVi3bh09e/bkmWeeKecK5XqmT5/OsWPHmD17NsuWLeOf//wnf/3rX/n++++pXbs24eHh5V1iheD0m5tIvnPnzhW5/4477iijSqS4du3axbp16zCZTPTr14+BAwfi7u5Ox44d0XfMim/NmjVs2bKFxMREOnfuzL59+/Dw8KBnz5706NFDobkCq169OtHR0bz44otUq1YNgH379tGiRYtyrkyKIyoqis8//5xbb70VgB49etCjRw+F5gps7969bNy4ETc3N7777juioqJwd3enV69edO7cubzLqzAUmkvJkCFDiI2Nxc/Pr1DQMhgM7Nixo5wqE3usVisGgwGAO++8kw8//JDnnnuO2267zbZdKi6LxYK7uzsBAQEMHDgQDw8P2768vLxyrEzsGT16NO3ateP999/n1VdfpWXLlnz22Wd07dq1vEsTB+Tm5mKxWKhRowbe3t627e7u7hiNmg1akXl6epKUlISfnx81atQgPT0dd3d3MjIyMJkUFf9H0zNKSVpaGn369GHixIk0a9asvMuRYpg3bx4xMTGMGTPGdgv4Q4cOMWzYMLKzszl06FA5VyhFmTNnDvv37+fzzz/Hzc0NgJ9//pnw8HAefvhhhg0bVs4Vij1Xrlxh4sSJ3HHHHezZs4eNGzeWd0nigP79+3Pq1CkMBgOtW7cmIiKCH374gXfeeYeHH36YESNGlHeJch07d+5k0qRJdOrUidzcXPbt20dQUBB79uzhhRdeoFu3buVdYoWg0FyKjhw5wqpVq5g6dWp5lyLF9MMPP+Dn50f9+vVt286fP8/ixYt56623yrEyccSBAwd48MEHbc9PnjxJXFwcwcHB5ViVFNeqVavYunUrixcvLu9SpBhOnjxJSkoKTZs25dChQ6SmpvLwww+Xd1liR1xcHN988w2nT58mLy+PmjVr8sgjj9hOHolCs4iIiIiIXZpkJCIiIiJih0KziIiIiIgdCs0iIuXo7Nmz3H333axatarA9kWLFjFmzBiH+7l06RJ33323s8sTEZH/UmgWESlnRqORt99+m1OnTpV3KSIich1afE9EpJx5enry3HPP8dprr/Hll1/i7u5u25eamsrkyZP5+eefMRgMPPTQQ7z66quYTCa++uorZs+ejZeXF3/+858L9Llq1SpWrFiBxWKhevXqjB8/nvr163Pw4EEiIiKwWCxA/pryHTp0KNP3KyLiinSmWUSkAnjppZfw8vJi9uzZBbZPmzaN6tWrs3HjRtasWcPx48dZvHgxiYmJjBs3jg8++IC1a9cSEBBge83+/fuJjo5m2bJlREdH88ILLzB8+HAAPvjgA5577jnWrl3LjBkz2LdvX5m+TxERV6UzzSIiFYDRaOSdd96ha9eutG3b1rb9+++/Z8WKFRgMBtzd3enduzefffYZdevWpVGjRjRo0ACAXr168d577wHw3Xffcfr0aXr37m3rJzk5mStXrtCxY0emTJnCzp07ad26Na+++mrZvlERERel0CwiUkHccccdTJo0idGjR9OlSxcA2zSK/7FYLOTm5mIwGPjjMvt/vNWtxWIhLCyMN954w/Y8ISGBW265hd69e/PII4+wd+9edu/ezbx589iwYQO+vr5l8A5FRFyXpmeIiFQgHTt2pF27dnz22WcAtG3blmXLlmG1WsnOziYqKorWrVvTvHlzTpw4wc8//wzA2rVrbX20adOGzZs3k5CQAMCKFSt49tlnAejduzfHjh2jW7duTJ06lZSUFJKTk8v4XYqIuB6daRYRqWDCw8M5dOiQ7fG0adMIDQ0lJyeHhx56iBdffBF3d3ciIyN5/fXXqVKlSoHbhj/00EMMGjSIgQMHYjAY8PHxYd68eRgMBl5//XVmzJjB+++/j9FoZNiwYdSuXbu83qqIiMvQbbRFREREROzQ9AwRERERETsUmkVERERE7FBoFhERERGxQ6FZRERERMQOhWYRERERETsUmkVERERE7FBoFhERERGxQ6FZRERERMSO/wPgkCk9ZX0M6wAAAABJRU5ErkJggg==\n", "text/plain": ["<Figure size 864x288 with 1 Axes>"]}, "metadata": {}, "output_type": "display_data"}], "source": ["df.pivot_table(\n", " index=[\"Nodes\"],\n", " columns=[\"Tasks/Node\", \"Threads/Task\"],\n", " values=\"Sim. Time / s\",\n", ").plot(kind=\"bar\", figsize=(12, 4));"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "fragment"}}, "source": ["<a name=\"taskb\"></a>\n", "\n", "* Bonus task\n", " - Use `Sim. Time / s` and `Presim. Time / s` as values to show\n", " - Show a stack of those two values inside the pivot table"]}, {"cell_type": "markdown", "metadata": {"exercise": "task"}, "source": ["<span class=\"feedback\">Tell me what you think about this tutorial! <a href=\"mailto:a.herten@fz-juelich.de\">a.herten@fz-juelich.de</a></span>"]}], "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.7.2"}}, "nbformat": 4, "nbformat_minor": 2} \ No newline at end of file diff --git a/Introduction-to-Pandas--tasks.ipynb b/Introduction-to-Pandas--tasks.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..4d4f880ecf311f147ccb2a99049094c66e7e1915 --- /dev/null +++ b/Introduction-to-Pandas--tasks.ipynb @@ -0,0 +1 @@ +{"cells": [{"cell_type": "markdown", "metadata": {"exercise": "task"}, "source": ["# *Introduction to* Data Analysis and Plotting with Pandas\n", "## JSC Tutorial\n", "\n", "Andreas Herten, Forschungszentrum J\u00fclich, 26 February 2019"]}, {"cell_type": "markdown", "metadata": {"exercise": "onlytask", "slideshow": {"slide_type": "skip"}}, "source": ["**Version: Tasks**"]}, {"cell_type": "markdown", "metadata": {"exercise": "task"}, "source": ["## Outline\n", "\n", "* [Task 1](#task1)\n", "* [Task 2](#task2)\n", "* [Task 3](#task3)\n", "* [Task 4](#task4)\n", "* [Task 5](#task5)\n", "* [Task 6](#task6)\n", "* [Task 7](#task7)\n", "* [Bonus Task](#taskb)"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 1\n", "<a name=\"task1\"></a>\n", "\n", "* Create data frame with\n", " - 10 names of dinosaurs, \n", " - their favourite prime number, \n", " - and their favourite color\n", "* Play around with the frame\n", "* Tell me on poll when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "markdown", "metadata": {"exercise": "nopresentation", "slideshow": {"slide_type": "skip"}}, "source": ["Jupyter Notebook 101:\n", "\n", "* Execute cell: `shift+enter`\n", "* New cell in front of current cell: `a`\n", "* New cell after current cell: `b`"]}, {"cell_type": "code", "execution_count": 21, "metadata": {"exercise": "task", "slideshow": {"slide_type": "fragment"}}, "outputs": [], "source": ["happy_dinos = {\n", " \"Dinosaur Name\": [],\n", " \"Favourite Prime\": [],\n", " \"Favourite Color\": []\n", "}\n", "#df_dinos = "]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 2\n", "<a name=\"task2\"></a>\n", "\n", "* Read in `nest-data.csv` to `DataFrame`; call it `df`\n", "* Get to know it and play a bit with it\n", "* Tell me when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "code", "execution_count": 30, "metadata": {"exercise": "task"}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["id,Nodes,Tasks/Node,Threads/Task,Runtime Program / s,Scale,Plastic,Avg. Neuron Build Time / s,Min. Edge Build Time / s,Max. Edge Build Time / s,Min. Init. Time / s,Max. Init. Time / s,Presim. Time / s,Sim. Time / s,Virt. Memory (Sum) / kB,Local Spike Counter (Sum),Average Rate (Sum),Number of Neurons,Number of Connections,Min. Delay,Max. Delay\n", "5,1,2,4,420.42,10,true,0.29,88.12,88.18,1.14,1.20,17.26,311.52,46560664.00,825499,7.48,112500,1265738500,1.5,1.5\n", "5,1,4,4,200.84,10,true,0.15,46.03,46.34,0.70,1.01,7.87,142.97,46903088.00,802865,7.03,112500,1265738500,1.5,1.5\n"]}], "source": ["!cat nest-data.csv | head -3"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "subslide"}}, "source": ["## Task 3\n", "<a name=\"task3\"></a>\n", "\n", "* Add a column to the Nest data frame called `Virtual Processes` which is the total number of threads across all nodes (i.e. the product of threads per task and tasks per node and nodes)\n", "* Remember to tell me when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 4\n", "<a name=\"task4\"></a>\n", "\n", "* Sort the data frame by the virtual proccesses\n", "* Plot `\"Presim. Time / s\"` and `\"Sim. Time / s\"` of our data frame `df` as a function of the virtual processes\n", "* Use a dashed, red line for `\"Presim. Time / s\"`, a blue line for `\"Sim. Time / s\"` (see [API description](https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot))\n", "* Don't forget to label your axes and to add a legend\n", "* Submit when you're done: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 5\n", "<a name=\"task5\"></a>\n", "\n", "Use the NEST data frame `df` to:\n", "\n", "1. Make the virtual processes the index of the data frame (`.set_index()`)\n", "2. Plot `\"Presim. Program / s\"` and `\"Sim. Time / s`\" individually\n", "3. Plot them onto one common canvas!\n", "4. Make them have the same line colors and styles as before\n", "5. Add a legend, add missing labels\n", "\n", "* Done? Tell me! [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 6\n", "<a name=\"task6\"></a>\n", "\n", "* To your `df` NEST data frame, add a column with the unaccounted time (`Unaccounted Time / s`), which is the difference of program runtime, average neuron build time, minimal edge build time, minimal initialization time, presimulation time, and simulation time. \n", "(*I know this is technically not super correct, but it will do for our example.*)\n", "* Plot a stacked bar plot of all these columns (except for program runtime) over the virtual processes\n", "* Remember: [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "slide"}}, "source": ["## Task 7\n", "<a name=\"task7\"></a>\n", "\n", "* Create a pivot table based on the NEST `df` data frame\n", "* Let the `x` axis show the number of nodes; display the values of the simulation time `\"Sim. Time / s\"` for the tasks per node and threas per task configurations\n", "* Please plot a bar plot\n", "* Done? [pollev.com/aherten538](https://pollev.com/aherten538)"]}, {"cell_type": "markdown", "metadata": {"exercise": "task", "slideshow": {"slide_type": "fragment"}}, "source": ["<a name=\"taskb\"></a>\n", "\n", "* Bonus task\n", " - Use `Sim. Time / s` and `Presim. Time / s` as values to show\n", " - Show a stack of those two values inside the pivot table"]}, {"cell_type": "markdown", "metadata": {"exercise": "task"}, "source": ["<span class=\"feedback\">Tell me what you think about this tutorial! <a href=\"mailto:a.herten@fz-juelich.de\">a.herten@fz-juelich.de</a></span>"]}], "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.7.2"}}, "nbformat": 4, "nbformat_minor": 2} \ No newline at end of file diff --git a/Makefile b/Makefile index 23c5483125609684792259891cf71b99e2c5eb5e..02f33e952bd6e17f09a977f34911715dd4a56bb0 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,30 @@ -SOURCES = Introduction-to-Pandas.html +SLIDES = Introduction-to-Pandas--slides.html +SUBNOTEBOOKS = Introduction-to-Pandas--slides.ipynb Introduction-to-Pandas--tasks.ipynb Introduction-to-Pandas--solution.ipynb -ADDITIONAL_DEPENDENCIES = reveal_options.txt fzj.js custom.css Makefile +MASTER_NOTEBOOK = Introduction-to-Pandas--master.ipynb -.PHONY: all -all: $(SOURCES) +DEP_PRESENTATION = reveal_options.txt fzj.js custom.css Makefile -%.html: %.ipynb $(ADDITIONAL_DEPENDENCIES) +.PHONY: all presentation subnotebooks presentation-pdf +all: presentation subnotebooks +presentation: $(SLIDES) +presentation-pdf: $(SLIDES:html=pdf) +subnotebooks: $(SUBNOTEBOOKS) + +%.html: %.ipynb $(DEP_PRESENTATION) jupyter nbconvert --to=slides --reveal-prefix=reveal.js --stdout $< \ | awk '/reveal.js"/ { print " " $$1 ","; print " \"fzj.js\""; next }1' \ | sed '/transition/r reveal_options.txt' \ > $@ + +%.pdf: %.html $(DEP_PRESENTATION) + decktape reveal $< $@ + +Introduction-to-Pandas--slides.ipynb: $(MASTER_NOTEBOOK) + ./notebook-task-filter.py $< --keep task --keep solution --keep onlypresentation --remove onlytask --remove onlysolution --remove nopresentation -o $@ + +Introduction-to-Pandas--tasks.ipynb: $(MASTER_NOTEBOOK) + ./notebook-task-filter.py $< --keep task --keep nopresentation --keep onlytask --remove solution --remove all -o $@ + +Introduction-to-Pandas--solution.ipynb: $(MASTER_NOTEBOOK) + ./notebook-task-filter.py $< --keep task --keep nopresentation --keep solution --keep onlysolution --remove all -o $@ diff --git a/custom.css b/custom.css index 502cabc4deb26b43567aab83e408ab5fa7700a91..e1abfac4d9e2b2ce700188af87894754fbd048a7 100644 --- a/custom.css +++ b/custom.css @@ -98,3 +98,6 @@ img.fzjlogo { max-height: 440px; } +.reveal table.dataframe { + font-size: 0.7em; +} diff --git a/img/fzjlogo.svg b/img/fzjlogo.svg index 26c65e71997519747c14056e9f66b54b873e4545..280c8422e00c2bb02906b20ee4213b2090b91c8a 100644 --- a/img/fzjlogo.svg +++ b/img/fzjlogo.svg @@ -1,226 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - version="1.1" - id="svg2" - xml:space="preserve" - width="487.08078" - height="182.79259" - viewBox="0 0 487.08078 182.79259" - sodipodi:docname="Logo_FZ_Juelich_CMYK_mit_jsc_und_Schutzzone.svg" - inkscape:version="0.92.2 5c3e80d, 2017-08-06"><metadata - id="metadata8"><rdf:RDF><cc:Work - rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs - id="defs6"><clipPath - clipPathUnits="userSpaceOnUse" - id="clipPath18"><path - d="M 0,53.89 H 281.28 V 0 H 0 Z" - id="path16" - inkscape:connector-curvature="0" /></clipPath></defs><sodipodi:namedview - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1" - objecttolerance="10" - gridtolerance="10" - guidetolerance="10" - inkscape:pageopacity="0" - inkscape:pageshadow="2" - inkscape:window-width="984" - inkscape:window-height="652" - id="namedview4" - showgrid="false" - inkscape:zoom="1.5347294" - inkscape:cx="241.53815" - inkscape:cy="86.444824" - inkscape:window-x="522" - inkscape:window-y="294" - inkscape:window-maximized="0" - inkscape:current-layer="g10" - fit-margin-top="0" - fit-margin-left="0" - fit-margin-right="0" - fit-margin-bottom="0" /><g - id="g10" - inkscape:groupmode="layer" - inkscape:label="Logo_FZ_Juelich_CMYK_mit_jsc" - transform="matrix(1.3333333,0,0,-1.3333333,55.233566,128.53639)"><g - id="g12"><g - id="g14" - clip-path="url(#clipPath18)"><g - id="g20" - transform="translate(130.5317,11.1254)"><path - d="m 0,0 h -2.234 v 0.114 c 0,0.755 0.476,1.21 1.117,1.21 C -0.476,1.324 0,0.88 0,0.125 Z m -1.117,2.276 c -1.242,0 -2.234,-0.91 -2.234,-2.358 v -0.673 c 0,-1.448 0.992,-2.349 2.244,-2.349 0.765,0 1.666,0.374 2.039,1.376 0.019,0.052 0.05,0.115 0.05,0.166 0,0.104 -0.072,0.176 -0.166,0.176 H 0.145 c -0.145,0 -0.207,-0.103 -0.239,-0.144 -0.279,-0.549 -0.661,-0.632 -1.013,-0.632 -0.641,0 -1.127,0.497 -1.127,1.231 v 0.145 h 3.072 c 0.135,0 0.238,0.114 0.238,0.249 v 0.475 c 0,1.386 -0.972,2.338 -2.193,2.338 m -7.047,8.771 v 19.139 c 0,0.51 -0.42,0.93 -0.93,0.93 h -2.49 c -0.51,0 -0.93,-0.42 -0.93,-0.93 V 11.047 c 0,-0.512 0.42,-0.932 0.93,-0.932 h 2.49 c 0.51,0 0.93,0.42 0.93,0.932 m 3.041,-8.874 h -3.414 c -0.135,0 -0.248,-0.113 -0.248,-0.248 V 1.438 c 0,-0.134 0.113,-0.238 0.248,-0.238 h 2.35 L -8.6,-1.883 C -8.722,-2.027 -8.785,-2.1 -8.785,-2.338 V -2.762 C -8.785,-2.896 -8.672,-3 -8.537,-3 h 3.414 c 0.135,0 0.239,0.104 0.239,0.238 v 0.476 c 0,0.135 -0.104,0.248 -0.239,0.248 h -2.389 l 2.473,3.062 c 0.123,0.146 0.155,0.248 0.155,0.404 v 0.497 c 0,0.135 -0.104,0.248 -0.239,0.248 m -8.186,-1.365 c 0,0.434 0.393,0.568 0.838,0.568 0.703,0 0.879,-0.352 0.983,-0.641 0.041,-0.103 0.072,-0.155 0.185,-0.155 h 0.653 c 0.093,0 0.175,0.062 0.175,0.176 0,0.052 -0.009,0.103 -0.019,0.134 -0.156,0.611 -0.652,1.386 -1.936,1.386 -1.023,0 -1.954,-0.444 -1.954,-1.52 0,-2.101 2.937,-1.232 2.937,-2.308 0,-0.475 -0.362,-0.662 -0.951,-0.662 -0.745,0 -0.973,0.425 -1.055,0.693 -0.031,0.104 -0.072,0.167 -0.188,0.167 h -0.64 c -0.103,0 -0.176,-0.074 -0.186,-0.167 -0.012,-0.051 0,-0.113 0.01,-0.144 0.123,-0.704 0.775,-1.439 2.049,-1.439 1.076,0 2.028,0.404 2.028,1.574 0,2.068 -2.929,1.21 -2.929,2.338 m -11.045,1.468 c -0.724,0 -1.147,-0.299 -1.417,-0.703 v 0.352 c 0,0.135 -0.113,0.248 -0.249,0.248 h -0.63 c -0.135,0 -0.239,-0.113 -0.239,-0.248 v -4.687 c 0,-0.134 0.104,-0.238 0.239,-0.238 h 0.63 c 0.136,0 0.249,0.104 0.249,0.238 v 2.804 c 0,0.827 0.455,1.282 1.097,1.282 0.641,0 1.096,-0.455 1.096,-1.282 v -2.804 c 0,-0.134 0.103,-0.238 0.238,-0.238 h 0.631 c 0.135,0 0.248,0.104 0.248,0.238 v 2.68 c 0,1.406 -0.619,2.358 -1.893,2.358 m 6.45,-6.589 h -0.818 c -0.704,0 -0.952,0.279 -0.952,0.723 0,0.456 0.248,0.745 0.952,0.745 h 0.818 c 0.713,0 0.972,-0.289 0.972,-0.745 0,-0.444 -0.259,-0.723 -0.972,-0.723 m -0.539,5.72 h 0.279 c 0.622,0 0.973,-0.383 0.973,-0.91 -0.01,-0.538 -0.371,-0.9 -0.973,-0.9 h -0.279 c -0.61,0 -0.973,0.362 -0.973,0.9 0,0.527 0.363,0.91 0.973,0.91 m 0.746,-3.403 h -1.336 c -0.351,0 -0.506,0.103 -0.506,0.362 0,0.238 0.166,0.372 0.414,0.372 h 1.004 c 1.158,0 1.965,0.621 1.965,1.759 v 2.121 c 0,0.134 -0.103,0.237 -0.239,0.237 h -0.517 c -0.145,0 -0.248,-0.103 -0.248,-0.237 V 1.945 c -0.311,0.228 -0.694,0.331 -1.055,0.331 h -0.26 c -1.168,0 -1.974,-0.682 -1.974,-1.779 0,-0.549 0.207,-0.952 0.662,-1.263 -0.486,-0.113 -0.703,-0.444 -0.703,-0.847 0,-0.352 0.154,-0.642 0.474,-0.786 -0.455,-0.228 -0.703,-0.642 -0.703,-1.191 0,-0.868 0.641,-1.582 1.821,-1.582 h 1.201 c 1.158,0 1.81,0.703 1.81,1.582 0,0.88 -0.652,1.594 -1.81,1.594 m 40.188,4.169 h -0.632 c -0.134,0 -0.238,-0.113 -0.238,-0.248 v -2.804 c 0,-0.828 -0.413,-1.283 -1.055,-1.283 -0.632,0 -1.015,0.455 -1.015,1.283 v 2.804 c 0,0.135 -0.114,0.248 -0.248,0.248 h -0.631 c -0.135,0 -0.238,-0.113 -0.238,-0.248 v -2.68 c 0,-1.448 0.59,-2.349 1.811,-2.349 0.746,0 1.116,0.291 1.376,0.663 V -2.762 C 21.621,-2.896 21.725,-3 21.859,-3 h 0.632 c 0.134,0 0.247,0.104 0.247,0.238 v 4.687 c 0,0.135 -0.113,0.248 -0.247,0.248 M 5.445,2.276 C 4.721,2.276 4.297,1.977 4.028,1.573 v 0.352 c 0,0.135 -0.114,0.248 -0.249,0.248 H 3.149 C 3.014,2.173 2.91,2.06 2.91,1.925 V -2.762 C 2.91,-2.896 3.014,-3 3.149,-3 h 0.63 c 0.135,0 0.249,0.104 0.249,0.238 v 2.804 c 0,0.827 0.454,1.282 1.096,1.282 0.642,0 1.097,-0.455 1.097,-1.282 V -2.762 C 6.221,-2.896 6.324,-3 6.459,-3 H 7.09 c 0.135,0 0.248,0.104 0.248,0.238 v 2.68 c 0,1.406 -0.621,2.358 -1.893,2.358 m -21.859,8.771 v 2.219 c 0,0.509 -0.42,0.929 -0.93,0.929 h -7.98 v 15.991 c 0,0.51 -0.419,0.93 -0.93,0.93 h -2.489 c -0.511,0 -0.931,-0.42 -0.931,-0.93 V 11.047 c 0,-0.512 0.42,-0.932 0.931,-0.932 h 11.399 c 0.51,0 0.93,0.42 0.93,0.932 M 31.4,31.116 h -2.49 c -0.51,0 -0.93,-0.42 -0.93,-0.93 v -7.5 h -7.11 v 7.5 c 0,0.51 -0.42,0.93 -0.93,0.93 h -2.49 c -0.51,0 -0.929,-0.42 -0.929,-0.93 V 11.047 c 0,-0.512 0.419,-0.932 0.929,-0.932 h 2.49 c 0.51,0 0.93,0.42 0.93,0.932 v 7.559 h 7.11 v -7.559 c 0,-0.512 0.42,-0.932 0.93,-0.932 h 2.49 c 0.51,0 0.93,0.42 0.93,0.932 v 19.139 c 0,0.51 -0.42,0.93 -0.93,0.93 M 30.459,2.276 c -0.713,0 -1.251,-0.299 -1.604,-0.838 -0.33,0.59 -0.888,0.838 -1.519,0.838 -0.705,0 -1.098,-0.32 -1.345,-0.693 v 0.342 c 0,0.135 -0.114,0.248 -0.249,0.248 h -0.631 c -0.134,0 -0.237,-0.113 -0.237,-0.248 V -2.762 C 24.874,-2.896 24.977,-3 25.111,-3 h 0.631 c 0.135,0 0.249,0.104 0.249,0.238 v 2.638 c 0,0.838 0.165,1.448 1.044,1.448 0.807,0 0.983,-0.507 0.983,-1.448 V -2.762 C 28.018,-2.896 28.121,-3 28.256,-3 h 0.64 c 0.125,0 0.239,0.104 0.239,0.238 v 2.638 c 0,0.89 0.207,1.448 1.045,1.448 0.838,0 0.982,-0.558 0.982,-1.448 V -2.762 C 31.162,-2.896 31.266,-3 31.4,-3 h 0.631 c 0.135,0 0.248,0.104 0.248,0.238 v 2.534 c 0,1.491 -0.299,2.504 -1.82,2.504 M 11.84,2.173 H 10.795 V 3.27 c 0,0.134 -0.104,0.248 -0.238,0.248 H 9.947 C 9.813,3.518 9.709,3.404 9.709,3.27 V 2.814 C 9.709,2.287 9.502,2.173 8.996,2.173 8.861,2.173 8.758,2.06 8.758,1.925 V 1.428 C 8.758,1.294 8.861,1.19 8.996,1.19 H 9.699 V -1.345 C 9.699,-2.41 10.061,-3 11.303,-3 h 0.537 c 0.135,0 0.248,0.104 0.248,0.238 v 0.528 c 0,0.134 -0.113,0.238 -0.248,0.238 h -0.352 c -0.621,0 -0.693,0.217 -0.693,0.807 V 1.19 h 1.045 c 0.135,0 0.248,0.104 0.248,0.238 v 0.497 c 0,0.135 -0.113,0.248 -0.248,0.248 m 0.097,15.443 H 8.846 c -0.6,0 -0.72,-0.48 -0.78,-0.93 -0.15,-1.44 -1.23,-2.79 -3.42,-2.79 -2.19,0 -3.959,1.62 -3.959,4.71 v 3.96 c 0,3.09 1.769,4.77 3.959,4.77 2.19,0 3.18,-1.47 3.42,-2.91 0.09,-0.6 0.42,-0.81 0.75,-0.81 h 3.06 c 0.45,0 0.69,0.3 0.661,0.75 -0.241,3.63 -3.091,7.05 -7.891,7.05 -4.8,0 -8.31,-3.54 -8.31,-8.79 v -4.02 c 0,-5.251 3.51,-8.79 8.31,-8.79 4.8,0 7.68,3.539 7.95,7.08 0.03,0.33 -0.239,0.72 -0.659,0.72 M 16.529,2.173 h -0.134 c -0.672,0 -1.117,-0.352 -1.375,-0.776 v 0.528 c 0,0.135 -0.104,0.248 -0.239,0.248 h -0.58 c -0.135,0 -0.238,-0.113 -0.238,-0.248 V -2.762 C 13.963,-2.896 14.066,-3 14.201,-3 h 0.621 c 0.136,0 0.248,0.104 0.248,0.238 v 2.338 c 0,0.973 0.446,1.49 1.315,1.49 h 0.144 c 0.135,0 0.249,0.104 0.249,0.238 v 0.621 c 0,0.135 -0.114,0.248 -0.249,0.248 m -52.074,28.943 h -2.49 c -0.51,0 -0.93,-0.42 -0.93,-0.93 v -11.88 c 0,-3.089 -1.5,-4.41 -3.63,-4.41 -2.13,0 -3.57,1.321 -3.57,4.41 v 11.88 c 0,0.51 -0.419,0.93 -0.93,0.93 h -2.489 c -0.511,0 -0.931,-0.42 -0.931,-0.93 v -11.88 c 0,-5.249 3.181,-8.49 7.92,-8.49 4.741,0 7.98,3.241 7.98,8.49 v 11.88 c 0,0.51 -0.42,0.93 -0.93,0.93 M -62.958,4.242 h -4.035 c -0.134,0 -0.237,-0.114 -0.237,-0.248 v -6.756 c 0,-0.134 0.103,-0.238 0.237,-0.238 h 0.631 c 0.134,0 0.248,0.104 0.248,0.238 v 2.649 h 2.493 c 0.135,0 0.249,0.103 0.249,0.238 v 0.559 c 0,0.133 -0.114,0.248 -0.249,0.248 h -2.493 v 2.265 h 3.156 c 0.134,0 0.249,0.104 0.249,0.239 v 0.558 c 0,0.134 -0.115,0.248 -0.249,0.248 m 4.533,-5.121 c 0,-0.828 -0.466,-1.283 -1.117,-1.283 -0.632,0 -1.108,0.455 -1.108,1.283 v 0.921 c 0,0.827 0.476,1.282 1.108,1.282 0.651,0 1.117,-0.455 1.117,-1.282 z m -1.117,3.155 c -1.242,0 -2.225,-0.91 -2.225,-2.358 v -0.673 c 0,-1.448 0.983,-2.349 2.225,-2.349 1.251,0 2.234,0.901 2.234,2.349 v 0.673 c 0,1.448 -0.983,2.358 -2.234,2.358 m 4.393,27.91 c 0,0.51 -0.42,0.93 -0.93,0.93 h -2.49 c -0.51,0 -0.93,-0.42 -0.93,-0.93 v -13.56 c 0,-1.89 -1.469,-2.73 -2.55,-2.73 -1.08,0 -2.52,0.84 -2.52,2.73 v 0.27 c 0,0.51 -0.42,0.93 -0.93,0.93 h -2.4 c -0.51,0 -0.93,-0.42 -0.93,-0.93 v -0.21 c 0,-4.35 3.361,-6.87 6.78,-6.87 3.48,0 6.9,2.52 6.9,6.87 z M -93.887,14.834 c -4.442,-11.5 -15.062,-15.816 -24.746,-14.154 2.22,-2.301 4.959,-4.17 8.14,-5.399 11.678,-4.513 24.805,1.297 29.317,12.977 3.436,8.893 0.882,18.622 -5.687,24.752 z m 54.622,18.112 c 1.29,0 2.161,0.87 2.161,2.16 0,1.29 -0.871,2.16 -2.161,2.16 -1.29,0 -2.16,-0.87 -2.16,-2.16 0,-1.29 0.87,-2.16 2.16,-2.16 m -68.038,-13.143 7.407,19.169 c -9.201,0.995 -18.292,-3.76 -22.607,-12.207 -0.014,-0.041 -0.018,-0.083 -0.034,-0.124 l -0.319,-0.828 c -2.241,-5.798 1.179,-10.083 4.495,-11.364 3.31,-1.279 8.819,-0.443 11.058,5.354 m 61.739,13.143 c 1.289,0 2.159,0.87 2.159,2.16 0,1.29 -0.87,2.16 -2.159,2.16 -1.291,0 -2.161,-0.87 -2.161,-2.16 0,-1.29 0.87,-2.16 2.161,-2.16 m 1.971,-31.622 c 0.611,0 0.941,-0.372 1.075,-0.91 0.01,-0.072 0.073,-0.155 0.176,-0.155 h 0.716 c 0.091,0 0.154,0.072 0.154,0.166 0,0.041 0,0.083 -0.02,0.134 -0.219,0.952 -0.973,1.717 -2.101,1.717 -1.231,0 -2.204,-0.91 -2.204,-2.358 v -0.673 c 0,-1.448 0.973,-2.349 2.204,-2.349 1.292,0 1.976,0.953 2.101,1.667 0.01,0.051 0.02,0.124 0.02,0.165 0,0.093 -0.073,0.166 -0.176,0.166 h -0.713 c -0.084,0 -0.147,-0.041 -0.166,-0.145 -0.135,-0.61 -0.496,-0.911 -1.066,-0.911 -0.641,0 -1.117,0.455 -1.117,1.283 v 0.921 c 0,0.827 0.476,1.282 1.117,1.282 m 14.302,0.849 h -0.631 c -0.135,0 -0.238,-0.113 -0.238,-0.248 v -2.804 c 0,-0.828 -0.414,-1.283 -1.055,-1.283 -0.631,0 -1.014,0.455 -1.014,1.283 v 2.804 c 0,0.135 -0.113,0.248 -0.247,0.248 h -0.631 c -0.135,0 -0.239,-0.113 -0.239,-0.248 v -2.68 c 0,-1.448 0.591,-2.349 1.811,-2.349 0.744,0 1.118,0.291 1.375,0.663 v -0.321 c 0,-0.134 0.103,-0.238 0.238,-0.238 h 0.631 c 0.135,0 0.249,0.104 0.249,0.238 v 4.687 c 0,0.135 -0.114,0.248 -0.249,0.248 m -7.968,0.103 c -0.735,0 -1.158,-0.299 -1.429,-0.693 v 2.411 c 0,0.134 -0.113,0.248 -0.248,0.248 h -0.63 c -0.135,0 -0.239,-0.114 -0.239,-0.248 v -6.756 c 0,-0.134 0.104,-0.238 0.239,-0.238 h 0.63 c 0.135,0 0.248,0.104 0.248,0.238 v 2.804 c 0,0.827 0.456,1.282 1.098,1.282 0.641,0 1.096,-0.455 1.096,-1.282 v -2.804 c 0,-0.134 0.103,-0.238 0.239,-0.238 h 0.63 c 0.135,0 0.249,0.104 0.249,0.238 v 2.68 c 0,1.406 -0.61,2.358 -1.883,2.358 M -50.227,0.808 c 0,0.434 0.393,0.568 0.838,0.568 0.703,0 0.88,-0.352 0.982,-0.641 0.042,-0.103 0.073,-0.155 0.187,-0.155 h 0.652 c 0.092,0 0.175,0.062 0.175,0.176 0,0.052 -0.01,0.103 -0.021,0.134 -0.154,0.611 -0.651,1.386 -1.934,1.386 -1.024,0 -1.955,-0.444 -1.955,-1.52 0,-2.101 2.938,-1.232 2.938,-2.308 0,-0.475 -0.362,-0.662 -0.952,-0.662 -0.745,0 -0.972,0.425 -1.055,0.693 -0.031,0.104 -0.072,0.167 -0.186,0.167 H -51.2 c -0.103,0 -0.175,-0.074 -0.186,-0.167 -0.01,-0.051 0,-0.113 0.011,-0.144 0.124,-0.704 0.775,-1.439 2.048,-1.439 1.076,0 2.028,0.404 2.028,1.574 0,2.068 -2.928,1.21 -2.928,2.338 m -2.774,1.365 h -0.135 c -0.673,0 -1.117,-0.352 -1.376,-0.776 v 0.528 c 0,0.135 -0.103,0.248 -0.238,0.248 h -0.579 c -0.134,0 -0.238,-0.113 -0.238,-0.248 v -4.687 c 0,-0.134 0.104,-0.238 0.238,-0.238 h 0.621 c 0.134,0 0.248,0.104 0.248,0.238 v 2.338 c 0,0.973 0.445,1.49 1.314,1.49 h 0.145 c 0.134,0 0.248,0.104 0.248,0.238 v 0.621 c 0,0.135 -0.114,0.248 -0.248,0.248" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path22" - inkscape:connector-curvature="0" /></g><g - id="g24" - transform="translate(187.4185,42.2484)"><path - d="m 0,0 c 0.11,0 0.198,-0.088 0.198,-0.198 v -5.248 c 0,-1.518 -1.034,-2.365 -2.222,-2.365 -1.134,0 -2.201,0.847 -2.201,2.365 v 0.242 c 0,0.11 0.078,0.187 0.187,0.187 h 0.452 c 0.109,0 0.187,-0.077 0.187,-0.187 v -0.264 c 0,-1.056 0.66,-1.562 1.375,-1.562 0.726,0 1.386,0.506 1.386,1.562 v 5.27 c 0,0.11 0.077,0.198 0.176,0.198 z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path26" - inkscape:connector-curvature="0" /></g><g - id="g28" - transform="translate(192.3691,43.6893)"><path - d="M 0,0 C 0,0.319 0.209,0.528 0.528,0.528 0.836,0.528 1.056,0.319 1.056,0 1.056,-0.319 0.836,-0.528 0.528,-0.528 0.209,-0.528 0,-0.319 0,0 m -1.915,0 c 0,0.319 0.209,0.528 0.529,0.528 0.308,0 0.528,-0.209 0.528,-0.528 0,-0.319 -0.22,-0.528 -0.528,-0.528 -0.32,0 -0.529,0.209 -0.529,0.528 m 3.994,-1.441 c 0.11,0 0.187,-0.088 0.187,-0.198 v -4.643 c 0,-1.826 -1.111,-2.97 -2.706,-2.97 -1.584,0 -2.706,1.144 -2.706,2.97 v 4.643 c 0,0.11 0.077,0.198 0.175,0.198 h 0.463 c 0.11,0 0.197,-0.088 0.197,-0.198 v -4.643 c 0,-1.408 0.782,-2.189 1.871,-2.189 1.089,0 1.87,0.781 1.87,2.189 v 4.643 c 0,0.11 0.077,0.198 0.187,0.198 z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path30" - inkscape:connector-curvature="0" /></g><g - id="g32" - transform="translate(201.2241,34.7235)"><path - d="M 0,0 C 0,-0.11 -0.088,-0.176 -0.187,-0.176 H -4.653 C -4.752,-0.176 -4.83,-0.11 -4.83,0 v 7.327 c 0,0.11 0.078,0.198 0.177,0.198 h 0.462 c 0.109,0 0.198,-0.088 0.198,-0.198 V 0.605 h 3.806 C -0.088,0.605 0,0.517 0,0.407 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path34" - inkscape:connector-curvature="0" /></g><g - id="g36" - transform="translate(202.6318,34.5472)"><path - d="m 0,0 c -0.099,0 -0.176,0.066 -0.176,0.176 v 7.327 c 0,0.11 0.077,0.198 0.176,0.198 h 0.462 c 0.11,0 0.198,-0.088 0.198,-0.198 V 0.176 C 0.66,0.066 0.572,0 0.462,0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path38" - inkscape:connector-curvature="0" /></g><g - id="g40" - transform="translate(210.3652,37.1327)"><path - d="m 0,0 c 0.066,0 0.132,-0.055 0.121,-0.132 -0.077,-1.364 -1.155,-2.563 -2.75,-2.563 -1.596,0 -2.839,1.177 -2.839,2.992 v 1.925 c 0,1.838 1.221,3.004 2.828,3.004 1.595,0 2.596,-1.122 2.761,-2.454 C 0.132,2.64 0.066,2.596 -0.033,2.596 h -0.561 c -0.066,0 -0.121,0.044 -0.143,0.176 -0.143,0.892 -0.814,1.662 -1.903,1.662 -1.1,0 -1.981,-0.814 -1.981,-2.223 V 0.297 c 0,-1.397 0.892,-2.212 1.992,-2.212 1.078,0 1.782,0.727 1.903,1.772 C -0.704,-0.055 -0.66,0 -0.583,0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path42" - inkscape:connector-curvature="0" /></g><g - id="g44" - transform="translate(216.7891,34.5472)"><path - d="M 0,0 C -0.099,0 -0.176,0.066 -0.176,0.176 V 3.554 H -3.905 V 0.176 C -3.905,0.066 -3.994,0 -4.104,0 h -0.461 c -0.1,0 -0.177,0.066 -0.177,0.176 v 7.327 c 0,0.11 0.077,0.198 0.177,0.198 h 0.461 c 0.11,0 0.199,-0.088 0.199,-0.198 V 4.334 h 3.729 v 3.169 c 0,0.11 0.077,0.198 0.176,0.198 h 0.462 c 0.11,0 0.198,-0.088 0.198,-0.198 V 0.176 C 0.66,0.066 0.572,0 0.462,0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path46" - inkscape:connector-curvature="0" /></g><g - id="g48" - transform="translate(188.1782,26.9691)"><path - d="m 0,0 c -0.11,0 -0.165,0.055 -0.187,0.165 -0.044,0.671 -0.363,1.266 -1.639,1.266 -1.001,0 -1.705,-0.264 -1.705,-1.277 0,-2.222 4.367,-0.847 4.367,-3.751 0,-1.573 -1.353,-2.134 -2.651,-2.134 -2.08,0 -2.795,1.44 -2.795,2.354 0,0.11 0.077,0.187 0.188,0.187 h 0.472 c 0.111,0 0.177,-0.088 0.187,-0.176 0.012,-0.484 0.342,-1.617 1.959,-1.617 1.034,0 1.815,0.374 1.815,1.386 0,2.046 -4.379,0.726 -4.379,3.751 0,1.419 1.056,2.035 2.542,2.035 1.969,0 2.475,-1.199 2.475,-2.013 C 0.649,0.077 0.561,0 0.462,0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path50" - inkscape:connector-curvature="0" /></g><g - id="g52" - transform="translate(195.625,29.0487)"><path - d="m 0,0 c 0.11,0 0.187,-0.088 0.187,-0.198 v -4.643 c 0,-1.826 -1.111,-2.97 -2.706,-2.97 -1.585,0 -2.707,1.144 -2.707,2.97 v 4.643 c 0,0.11 0.078,0.198 0.176,0.198 h 0.463 c 0.109,0 0.197,-0.088 0.197,-0.198 v -4.643 c 0,-1.408 0.782,-2.189 1.871,-2.189 1.089,0 1.87,0.781 1.87,2.189 v 4.643 c 0,0.11 0.077,0.198 0.187,0.198 z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path54" - inkscape:connector-curvature="0" /></g><g - id="g56" - transform="translate(198.4077,25.0218)"><path - d="m 0,0 h 1.936 c 0.825,0 1.573,0.462 1.573,1.541 v 0.23 c 0,1.09 -0.748,1.464 -1.573,1.464 H 0 Z M 0,-0.781 V -3.499 C 0,-3.608 -0.088,-3.674 -0.198,-3.674 H -0.66 c -0.099,0 -0.176,0.066 -0.176,0.175 v 7.328 c 0,0.11 0.077,0.198 0.176,0.198 h 2.629 c 1.419,0 2.376,-0.781 2.376,-2.244 V 1.562 c 0,-1.463 -0.957,-2.343 -2.376,-2.343 z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path58" - inkscape:connector-curvature="0" /></g><g - id="g60" - transform="translate(208.8911,28.4437)"><path - d="m 0,0 c 0,-0.11 -0.088,-0.187 -0.198,-0.187 h -3.719 v -2.629 h 2.982 c 0.11,0 0.187,-0.078 0.187,-0.187 v -0.408 c 0,-0.11 -0.077,-0.187 -0.187,-0.187 h -2.982 v -2.717 h 3.719 C -0.088,-6.315 0,-6.403 0,-6.502 V -6.92 c 0,-0.11 -0.088,-0.176 -0.198,-0.176 h -4.379 c -0.099,0 -0.176,0.066 -0.176,0.176 v 7.327 c 0,0.11 0.077,0.198 0.176,0.198 h 4.379 C -0.088,0.605 0,0.517 0,0.407 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path62" - inkscape:connector-curvature="0" /></g><g - id="g64" - transform="translate(211.1567,25.2421)"><path - d="m 0,0 h 1.936 c 0.825,0 1.573,0.451 1.573,1.408 v 0.176 c 0,1.089 -0.748,1.431 -1.573,1.431 L 0,3.015 Z m 0,-3.719 c 0,-0.11 -0.088,-0.176 -0.198,-0.176 H -0.66 c -0.099,0 -0.176,0.066 -0.176,0.176 v 7.327 c 0,0.111 0.077,0.199 0.176,0.199 h 2.629 c 1.419,0 2.376,-0.748 2.376,-2.212 V 1.43 c 0,-0.979 -0.517,-1.782 -1.65,-2.079 L 4.279,-3.62 c 0.033,-0.066 0.055,-0.109 0.055,-0.153 0,-0.078 -0.055,-0.122 -0.132,-0.122 H 3.597 c -0.11,0 -0.165,0.066 -0.209,0.144 l -1.54,2.97 H 0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path66" - inkscape:connector-curvature="0" /></g><g - id="g68" - transform="translate(222.2227,23.933)"><path - d="m 0,0 c 0.066,0 0.132,-0.055 0.121,-0.132 -0.077,-1.364 -1.155,-2.563 -2.75,-2.563 -1.596,0 -2.839,1.177 -2.839,2.992 v 1.925 c 0,1.838 1.221,3.004 2.828,3.004 1.595,0 2.596,-1.122 2.761,-2.454 C 0.132,2.64 0.066,2.596 -0.033,2.596 h -0.561 c -0.066,0 -0.121,0.044 -0.143,0.176 -0.143,0.892 -0.814,1.662 -1.903,1.662 -1.1,0 -1.981,-0.814 -1.981,-2.223 V 0.297 c 0,-1.397 0.892,-2.212 1.992,-2.212 1.078,0 1.782,0.727 1.903,1.772 C -0.704,-0.055 -0.66,0 -0.583,0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path70" - inkscape:connector-curvature="0" /></g><g - id="g72" - transform="translate(224.4878,24.2298)"><path - d="m 0,0 c 0,-1.397 0.891,-2.211 1.991,-2.211 1.079,0 1.981,0.814 1.981,2.211 V 1.903 C 3.972,3.312 3.07,4.137 1.98,4.137 0.88,4.137 0,3.312 0,1.903 Z m -0.847,1.915 c 0,1.836 1.221,3.014 2.827,3.014 1.596,0 2.828,-1.178 2.828,-3.014 V 0 c 0,-1.815 -1.222,-2.992 -2.817,-2.992 -1.595,0 -2.838,1.177 -2.838,2.992 z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path74" - inkscape:connector-curvature="0" /></g><g - id="g76" - transform="translate(231.0879,21.3475)"><path - d="m 0,0 c -0.099,0 -0.176,0.066 -0.176,0.176 v 7.327 c 0,0.11 0.077,0.198 0.176,0.198 h 0.88 c 0.099,0 0.143,-0.055 0.176,-0.11 L 3.487,1.133 5.941,7.58 C 5.974,7.657 6.018,7.701 6.095,7.701 H 6.953 C 7.052,7.701 7.14,7.613 7.14,7.503 V 0.176 C 7.14,0.066 7.052,0 6.953,0 H 6.502 C 6.392,0 6.326,0.066 6.326,0.176 V 6.524 L 3.873,0.121 C 3.839,0.044 3.784,0 3.696,0 H 3.267 C 3.157,0 3.125,0.044 3.091,0.121 L 0.627,6.524 V 0.176 C 0.627,0.066 0.55,0 0.44,0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path78" - inkscape:connector-curvature="0" /></g><g - id="g80" - transform="translate(240.9331,25.0218)"><path - d="m 0,0 h 1.936 c 0.825,0 1.573,0.462 1.573,1.541 v 0.23 c 0,1.09 -0.748,1.464 -1.573,1.464 H 0 Z M 0,-0.781 V -3.499 C 0,-3.608 -0.088,-3.674 -0.198,-3.674 H -0.66 c -0.099,0 -0.176,0.066 -0.176,0.175 v 7.328 c 0,0.11 0.077,0.198 0.176,0.198 h 2.629 c 1.419,0 2.376,-0.781 2.376,-2.244 V 1.562 c 0,-1.463 -0.957,-2.343 -2.376,-2.343 z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path82" - inkscape:connector-curvature="0" /></g><g - id="g84" - transform="translate(251.7793,29.0487)"><path - d="m 0,0 c 0.11,0 0.187,-0.088 0.187,-0.198 v -4.643 c 0,-1.826 -1.111,-2.97 -2.707,-2.97 -1.584,0 -2.706,1.144 -2.706,2.97 v 4.643 c 0,0.11 0.078,0.198 0.176,0.198 h 0.462 c 0.11,0 0.198,-0.088 0.198,-0.198 v -4.643 c 0,-1.408 0.782,-2.189 1.87,-2.189 1.089,0 1.871,0.781 1.871,2.189 v 4.643 c 0,0.11 0.077,0.198 0.187,0.198 z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path86" - inkscape:connector-curvature="0" /></g><g - id="g88" - transform="translate(253.0107,28.8504)"><path - d="M 0,0 C 0,0.11 0.076,0.198 0.187,0.198 H 5.644 C 5.753,0.198 5.842,0.11 5.842,0 v -0.407 c 0,-0.11 -0.089,-0.187 -0.198,-0.187 H 3.333 v -6.733 c 0,-0.11 -0.077,-0.176 -0.187,-0.176 H 2.684 c -0.11,0 -0.176,0.066 -0.176,0.176 v 6.733 H 0.187 C 0.076,-0.594 0,-0.517 0,-0.407 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path90" - inkscape:connector-curvature="0" /></g><g - id="g92" - transform="translate(260.1826,21.3475)"><path - d="m 0,0 c -0.1,0 -0.177,0.066 -0.177,0.176 v 7.327 c 0,0.11 0.077,0.198 0.177,0.198 H 0.462 C 0.571,7.701 0.66,7.613 0.66,7.503 V 0.176 C 0.66,0.066 0.571,0 0.462,0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path94" - inkscape:connector-curvature="0" /></g><g - id="g96" - transform="translate(263.3389,21.3475)"><path - d="m 0,0 h -0.45 c -0.1,0 -0.177,0.066 -0.177,0.176 v 7.327 c 0,0.11 0.077,0.198 0.177,0.198 H 0.1 c 0.121,0 0.175,-0.088 0.219,-0.154 L 4.093,1.573 v 5.93 c 0,0.11 0.066,0.198 0.177,0.198 h 0.45 c 0.11,0 0.187,-0.088 0.187,-0.198 V 0.176 C 4.907,0.066 4.83,0 4.72,0 H 4.346 C 4.27,0 4.17,0 4.049,0.209 L 0.187,6.304 V 0.176 C 0.187,0.066 0.11,0 0,0" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path98" - inkscape:connector-curvature="0" /></g><g - id="g100" - transform="translate(272.7666,24.494)"><path - d="m 0,0 c -0.11,0 -0.187,0.066 -0.187,0.176 v 0.396 c 0,0.11 0.077,0.187 0.187,0.187 h 2.509 c 0.109,0 0.186,-0.077 0.186,-0.187 v -3.543 c 0,-0.11 -0.077,-0.175 -0.186,-0.175 H 2.112 c -0.11,0 -0.175,0.065 -0.175,0.175 V -2.2 c -0.375,-0.65 -1.156,-1.056 -2.025,-1.056 -1.782,0 -2.816,1.364 -2.816,2.992 V 1.65 c 0,1.837 1.232,3.015 2.838,3.015 1.595,0 2.519,-1.079 2.751,-2.332 0.01,-0.1 0.01,-0.133 0.01,-0.177 0,-0.077 -0.044,-0.121 -0.109,-0.121 H 1.991 c -0.077,0 -0.121,0.055 -0.142,0.176 -0.1,0.792 -0.748,1.662 -1.915,1.662 -1.1,0 -1.992,-0.826 -1.992,-2.234 v -1.903 c 0,-1.397 0.892,-2.212 2.003,-2.212 1.365,0 1.937,1.145 1.937,1.904 V 0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path102" - inkscape:connector-curvature="0" /></g><g - id="g104" - transform="translate(189.1792,10.7328)"><path - d="m 0,0 c 0.066,0 0.132,-0.055 0.121,-0.132 -0.077,-1.364 -1.155,-2.563 -2.75,-2.563 -1.596,0 -2.839,1.177 -2.839,2.992 v 1.925 c 0,1.838 1.221,3.004 2.828,3.004 1.595,0 2.596,-1.122 2.761,-2.454 C 0.132,2.64 0.066,2.596 -0.033,2.596 h -0.561 c -0.066,0 -0.121,0.044 -0.143,0.176 -0.143,0.892 -0.814,1.662 -1.903,1.662 -1.1,0 -1.981,-0.814 -1.981,-2.223 V 0.297 c 0,-1.397 0.892,-2.212 1.992,-2.212 1.078,0 1.782,0.727 1.903,1.772 C -0.704,-0.055 -0.66,0 -0.583,0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path106" - inkscape:connector-curvature="0" /></g><g - id="g108" - transform="translate(195.6143,15.2435)"><path - d="m 0,0 c 0,-0.11 -0.088,-0.187 -0.198,-0.187 h -3.719 v -2.629 h 2.981 c 0.111,0 0.188,-0.078 0.188,-0.187 v -0.408 c 0,-0.11 -0.077,-0.187 -0.188,-0.187 h -2.981 v -2.717 h 3.719 C -0.088,-6.315 0,-6.403 0,-6.502 V -6.92 c 0,-0.11 -0.088,-0.176 -0.198,-0.176 h -4.379 c -0.099,0 -0.176,0.066 -0.176,0.176 v 7.327 c 0,0.11 0.077,0.198 0.176,0.198 h 4.379 C -0.088,0.605 0,0.517 0,0.407 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path110" - inkscape:connector-curvature="0" /></g><g - id="g112" - transform="translate(197.6704,8.1473)"><path - d="M 0,0 H -0.451 C -0.55,0 -0.627,0.066 -0.627,0.176 v 7.327 c 0,0.11 0.077,0.198 0.176,0.198 h 0.55 c 0.121,0 0.176,-0.088 0.22,-0.154 L 4.093,1.573 v 5.93 c 0,0.11 0.066,0.198 0.176,0.198 H 4.72 c 0.11,0 0.187,-0.088 0.187,-0.198 V 0.176 C 4.907,0.066 4.83,0 4.72,0 H 4.346 C 4.269,0 4.17,0 4.049,0.209 L 0.187,6.304 V 0.176 C 0.187,0.066 0.11,0 0,0" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path114" - inkscape:connector-curvature="0" /></g><g - id="g116" - transform="translate(203.7427,15.6503)"><path - d="M 0,0 C 0,0.11 0.077,0.198 0.187,0.198 H 5.644 C 5.753,0.198 5.842,0.11 5.842,0 v -0.407 c 0,-0.11 -0.089,-0.187 -0.198,-0.187 H 3.333 v -6.733 c 0,-0.11 -0.077,-0.176 -0.187,-0.176 H 2.684 c -0.11,0 -0.176,0.066 -0.176,0.176 v 6.733 H 0.187 C 0.077,-0.594 0,-0.517 0,-0.407 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path118" - inkscape:connector-curvature="0" /></g><g - id="g120" - transform="translate(211.5747,12.0419)"><path - d="m 0,0 h 1.936 c 0.825,0 1.573,0.451 1.573,1.408 v 0.176 c 0,1.089 -0.748,1.431 -1.573,1.431 L 0,3.015 Z m 0,-3.719 c 0,-0.11 -0.088,-0.176 -0.198,-0.176 H -0.66 c -0.099,0 -0.176,0.066 -0.176,0.176 v 7.327 c 0,0.111 0.077,0.199 0.176,0.199 h 2.629 c 1.419,0 2.376,-0.748 2.376,-2.212 V 1.43 c 0,-0.979 -0.517,-1.782 -1.65,-2.079 L 4.279,-3.62 c 0.033,-0.066 0.055,-0.109 0.055,-0.153 0,-0.078 -0.055,-0.122 -0.132,-0.122 H 3.597 c -0.11,0 -0.165,0.066 -0.209,0.144 l -1.54,2.97 H 0 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path122" - inkscape:connector-curvature="0" /></g><g - id="g124" - transform="translate(222.1899,15.2435)"><path - d="m 0,0 c 0,-0.11 -0.088,-0.187 -0.198,-0.187 h -3.719 v -2.629 h 2.982 c 0.11,0 0.187,-0.078 0.187,-0.187 v -0.408 c 0,-0.11 -0.077,-0.187 -0.187,-0.187 h -2.982 v -2.717 h 3.719 C -0.088,-6.315 0,-6.403 0,-6.502 V -6.92 c 0,-0.11 -0.088,-0.176 -0.198,-0.176 h -4.379 c -0.099,0 -0.176,0.066 -0.176,0.176 v 7.327 c 0,0.11 0.077,0.198 0.176,0.198 h 4.379 C -0.088,0.605 0,0.517 0,0.407 Z" - style="fill:#07375e;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path126" - inkscape:connector-curvature="0" /></g><g - id="g128" - transform="translate(173.0127,50.2235)"><path - d="M 0,0 -0.003,-45.357" - style="fill:none;stroke:#07375e;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - id="path130" - inkscape:connector-curvature="0" /></g></g></g></g></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" width="487.081" height="182.793" viewBox="0 0 487.08078 182.79259"><defs><clipPath id="a"><path d="M0 53.89h281.28V0H0z"/></clipPath></defs><g clip-path="url(#a)" transform="matrix(1.33333 0 0 -1.33333 55.234 128.536)"><path d="M130.532 11.125h-2.234v.114c0 .755.476 1.21 1.117 1.21.64 0 1.117-.444 1.117-1.199zm-1.117 2.276c-1.242 0-2.234-.91-2.234-2.358v-.673c0-1.448.992-2.349 2.244-2.349.765 0 1.666.374 2.039 1.376.019.052.05.115.05.166 0 .104-.072.176-.166.176h-.671c-.145 0-.207-.103-.24-.144-.278-.549-.66-.632-1.012-.632-.641 0-1.127.497-1.127 1.231v.145h3.072c.135 0 .238.114.238.25v.474c0 1.386-.972 2.338-2.193 2.338m-7.047 8.771v19.14c0 .51-.42.93-.93.93h-2.49c-.51 0-.93-.42-.93-.93v-19.14c0-.512.42-.932.93-.932h2.49c.51 0 .93.42.93.932m3.04-8.874h-3.413a.25.25 0 0 1-.248-.248v-.487c0-.134.113-.238.248-.238h2.35l-2.413-3.083c-.122-.144-.185-.217-.185-.455v-.424c0-.134.113-.238.248-.238h3.414c.135 0 .239.104.239.238v.476a.243.243 0 0 1-.24.248h-2.388l2.473 3.062a.548.548 0 0 1 .155.404v.497a.243.243 0 0 1-.24.248m-8.185-1.365c0 .434.393.568.838.568.703 0 .879-.352.983-.64.04-.104.072-.156.185-.156h.653c.093 0 .175.062.175.176a.472.472 0 0 1-.02.134c-.155.611-.651 1.386-1.935 1.386-1.023 0-1.954-.444-1.954-1.52 0-2.1 2.937-1.232 2.937-2.308 0-.475-.362-.662-.951-.662-.745 0-.973.425-1.055.693-.031.104-.072.167-.188.167h-.64a.183.183 0 0 1-.186-.167.3.3 0 0 1 .01-.144c.123-.704.775-1.439 2.049-1.439 1.076 0 2.028.404 2.028 1.574 0 2.068-2.93 1.21-2.93 2.338m-11.044 1.468c-.724 0-1.147-.299-1.417-.703v.352a.25.25 0 0 1-.25.248h-.63a.243.243 0 0 1-.238-.248V8.363c0-.134.104-.238.239-.238h.63c.136 0 .249.104.249.238v2.804c0 .827.455 1.282 1.097 1.282.64 0 1.096-.455 1.096-1.282V8.363c0-.134.103-.238.238-.238h.63c.136 0 .249.104.249.238v2.68c0 1.406-.62 2.358-1.893 2.358m6.45-6.589h-.818c-.704 0-.952.28-.952.723 0 .456.248.745.952.745h.818c.713 0 .972-.289.972-.745 0-.444-.26-.723-.972-.723m-.54 5.72h.28c.622 0 .973-.383.973-.91-.01-.538-.371-.9-.973-.9h-.28c-.61 0-.972.362-.972.9 0 .527.363.91.973.91m.746-3.403h-1.336c-.351 0-.506.103-.506.362 0 .238.166.372.414.372h1.004c1.158 0 1.965.621 1.965 1.76v2.12a.234.234 0 0 1-.24.237h-.516c-.145 0-.248-.103-.248-.237v-.673a1.796 1.796 0 0 1-1.055.331h-.26c-1.168 0-1.974-.682-1.974-1.779 0-.549.207-.952.662-1.263-.486-.113-.703-.444-.703-.847 0-.352.154-.642.474-.786-.455-.228-.703-.642-.703-1.19 0-.869.64-1.583 1.82-1.583h1.202c1.158 0 1.81.703 1.81 1.582 0 .88-.652 1.594-1.81 1.594m40.188 4.17h-.632a.243.243 0 0 1-.238-.249v-2.804c0-.828-.413-1.283-1.055-1.283-.632 0-1.015.455-1.015 1.283v2.804a.251.251 0 0 1-.248.248h-.631a.242.242 0 0 1-.238-.248v-2.68c0-1.448.59-2.349 1.81-2.349.747 0 1.117.291 1.377.663v-.32c0-.135.104-.239.238-.239h.632c.134 0 .247.104.247.238v4.687a.25.25 0 0 1-.247.248m-17.046.103c-.724 0-1.148-.299-1.417-.703v.352a.251.251 0 0 1-.25.248h-.63a.243.243 0 0 1-.238-.248V8.363c0-.134.104-.238.239-.238h.63c.135 0 .249.104.249.238v2.804c0 .827.454 1.282 1.096 1.282.642 0 1.097-.455 1.097-1.282V8.363c0-.134.103-.238.238-.238h.63c.136 0 .249.104.249.238v2.68c0 1.406-.621 2.358-1.893 2.358m-21.86 8.771v2.22c0 .508-.42.928-.93.928h-7.98v15.991c0 .51-.418.93-.93.93h-2.488a.935.935 0 0 1-.931-.93V22.172c0-.512.42-.932.93-.932h11.4c.51 0 .93.42.93.932m47.814 20.07h-2.49c-.51 0-.93-.42-.93-.93v-7.5h-7.11v7.5c0 .51-.42.93-.93.93h-2.49a.934.934 0 0 1-.93-.93v-19.14c0-.512.42-.932.93-.932h2.49c.51 0 .93.42.93.932v7.56h7.11v-7.56c0-.512.42-.932.93-.932h2.49c.51 0 .93.42.93.932v19.14c0 .51-.42.93-.93.93m-.941-28.84c-.713 0-1.251-.3-1.604-.839-.33.59-.888.838-1.52.838-.704 0-1.097-.32-1.344-.693v.342a.251.251 0 0 1-.25.248h-.63a.242.242 0 0 1-.237-.248V8.363c0-.134.103-.238.237-.238h.63c.136 0 .25.104.25.238v2.638c0 .838.165 1.448 1.044 1.448.807 0 .983-.507.983-1.448V8.363c0-.134.103-.238.238-.238h.64c.125 0 .239.104.239.238v2.638c0 .89.207 1.448 1.045 1.448s.982-.558.982-1.448V8.363c0-.134.104-.238.238-.238h.63c.136 0 .249.104.249.238v2.534c0 1.491-.3 2.504-1.82 2.504m-18.62-.103h-1.044v1.097a.243.243 0 0 1-.238.248h-.61a.243.243 0 0 1-.238-.248v-.456c0-.527-.207-.64-.713-.64a.242.242 0 0 1-.238-.249v-.497c0-.134.103-.238.238-.238h.703V9.78c0-1.065.362-1.655 1.604-1.655h.537c.135 0 .248.104.248.238v.528a.243.243 0 0 1-.248.238h-.352c-.621 0-.693.217-.693.807v2.38h1.045c.135 0 .248.103.248.237v.497a.25.25 0 0 1-.248.248m.097 15.443h-3.091c-.6 0-.72-.48-.78-.93-.15-1.44-1.23-2.79-3.42-2.79s-3.96 1.62-3.96 4.71v3.96c0 3.09 1.77 4.77 3.96 4.77s3.18-1.47 3.42-2.91c.09-.6.42-.81.75-.81h3.06c.45 0 .69.3.66.75-.24 3.63-3.09 7.05-7.89 7.05s-8.31-3.54-8.31-8.79v-4.02c0-5.25 3.51-8.79 8.31-8.79 4.8 0 7.68 3.54 7.95 7.08.03.33-.24.72-.66.72m4.593-15.443h-.134c-.672 0-1.117-.352-1.375-.776v.528a.243.243 0 0 1-.24.248h-.58a.242.242 0 0 1-.237-.248V8.363c0-.134.103-.238.238-.238h.62c.137 0 .249.104.249.238v2.338c0 .973.446 1.49 1.315 1.49h.144c.135 0 .249.104.249.238v.621a.251.251 0 0 1-.25.248M94.988 42.241h-2.49c-.51 0-.93-.42-.93-.93v-11.88c0-3.089-1.5-4.41-3.63-4.41s-3.57 1.321-3.57 4.41v11.88c0 .51-.42.93-.93.93h-2.49a.935.935 0 0 1-.93-.93v-11.88c0-5.249 3.18-8.49 7.92-8.49s7.98 3.241 7.98 8.49v11.88c0 .51-.42.93-.93.93M67.574 15.367h-4.035a.243.243 0 0 1-.237-.248V8.363c0-.134.103-.238.237-.238h.63c.135 0 .249.104.249.238v2.65h2.493c.135 0 .249.102.249.237v.56a.253.253 0 0 1-.25.247h-2.492v2.265h3.156c.134 0 .249.104.249.24v.557a.253.253 0 0 1-.25.248m4.534-5.12c0-.829-.466-1.284-1.117-1.284-.632 0-1.108.455-1.108 1.283v.921c0 .827.476 1.282 1.108 1.282.65 0 1.117-.455 1.117-1.282zM70.99 13.4c-1.242 0-2.225-.91-2.225-2.358v-.673c0-1.448.983-2.349 2.225-2.349 1.25 0 2.234.901 2.234 2.35v.672c0 1.448-.983 2.358-2.234 2.358m4.393 27.91c0 .51-.42.93-.93.93h-2.49c-.51 0-.93-.42-.93-.93v-13.56c0-1.89-1.47-2.73-2.55-2.73-1.08 0-2.52.84-2.52 2.73v.27c0 .51-.42.93-.93.93h-2.4c-.51 0-.93-.42-.93-.93v-.21c0-4.35 3.36-6.87 6.78-6.87 3.48 0 6.9 2.52 6.9 6.87zM36.645 25.96c-4.442-11.5-15.062-15.816-24.746-14.154a22.587 22.587 0 0 1 8.14-5.399c11.678-4.513 24.805 1.297 29.317 12.977 3.436 8.893.882 18.622-5.687 24.752zm54.622 18.112c1.29 0 2.16.87 2.16 2.16s-.87 2.16-2.16 2.16-2.16-.87-2.16-2.16.87-2.16 2.16-2.16M23.229 30.928l7.407 19.17c-9.201.994-18.292-3.76-22.607-12.208-.014-.04-.018-.083-.034-.124l-.32-.828c-2.24-5.798 1.18-10.083 4.496-11.364 3.31-1.279 8.819-.443 11.058 5.354m61.739 13.143c1.289 0 2.159.87 2.159 2.16s-.87 2.16-2.16 2.16-2.16-.87-2.16-2.16.87-2.16 2.16-2.16M86.94 12.45c.61 0 .94-.372 1.075-.91a.18.18 0 0 1 .176-.155h.716c.09 0 .154.072.154.166 0 .041 0 .083-.02.134-.22.952-.973 1.717-2.101 1.717-1.231 0-2.204-.91-2.204-2.358v-.673c0-1.448.973-2.349 2.204-2.349 1.292 0 1.976.953 2.1 1.667.01.051.02.124.02.165 0 .093-.072.166-.175.166h-.713c-.084 0-.147-.04-.166-.145-.135-.61-.496-.91-1.066-.91-.641 0-1.117.454-1.117 1.282v.921c0 .827.476 1.282 1.117 1.282m14.302.85h-.631a.242.242 0 0 1-.238-.249v-2.804c0-.828-.414-1.283-1.055-1.283-.631 0-1.014.455-1.014 1.283v2.804a.25.25 0 0 1-.247.248h-.631a.243.243 0 0 1-.24-.248v-2.68c0-1.448.592-2.349 1.812-2.349.744 0 1.118.291 1.375.663v-.32c0-.135.103-.239.238-.239h.63c.136 0 .25.104.25.238v4.687a.251.251 0 0 1-.25.248m-7.967.103c-.735 0-1.158-.299-1.43-.693v2.411a.251.251 0 0 1-.247.248h-.63a.244.244 0 0 1-.24-.248V8.363c0-.134.105-.238.24-.238h.63c.135 0 .248.104.248.238v2.804c0 .827.456 1.282 1.098 1.282.64 0 1.096-.455 1.096-1.282V8.363c0-.134.103-.238.239-.238h.63c.135 0 .249.104.249.238v2.68c0 1.406-.61 2.358-1.883 2.358m-12.968-1.468c0 .434.393.568.838.568.703 0 .88-.352.982-.64.042-.104.073-.156.187-.156h.652c.092 0 .175.062.175.176 0 .052-.01.103-.021.134-.154.611-.651 1.386-1.934 1.386-1.024 0-1.955-.444-1.955-1.52 0-2.1 2.938-1.232 2.938-2.308 0-.475-.362-.662-.952-.662-.745 0-.972.425-1.055.693-.031.104-.072.167-.186.167h-.642a.184.184 0 0 1-.186-.167.311.311 0 0 1 .01-.144c.125-.704.776-1.439 2.049-1.439 1.076 0 2.028.404 2.028 1.574 0 2.068-2.928 1.21-2.928 2.338m-2.774 1.365h-.135c-.673 0-1.117-.352-1.376-.776v.528a.242.242 0 0 1-.238.248h-.58a.243.243 0 0 1-.237-.248V8.363c0-.134.104-.238.238-.238h.62c.135 0 .249.104.249.238v2.338c0 .973.445 1.49 1.314 1.49h.145c.134 0 .248.104.248.238v.621a.251.251 0 0 1-.248.248M187.418 42.248c.11 0 .198-.088.198-.198v-5.248c0-1.518-1.034-2.365-2.222-2.365-1.134 0-2.2.847-2.2 2.365v.242c0 .11.078.187.187.187h.452a.18.18 0 0 0 .187-.187v-.264c0-1.056.66-1.562 1.375-1.562.726 0 1.386.506 1.386 1.562v5.27c0 .11.077.198.176.198zM192.37 43.69c0 .318.208.527.527.527a.502.502 0 0 0 .528-.528.502.502 0 0 0-.528-.528c-.319 0-.528.21-.528.528m-1.915 0c0 .32.21.528.53.528a.502.502 0 0 0 .527-.528.502.502 0 0 0-.528-.528c-.32 0-.529.21-.529.528m3.994-1.44c.11 0 .187-.089.187-.199v-4.643c0-1.826-1.11-2.97-2.706-2.97-1.584 0-2.706 1.144-2.706 2.97v4.643c0 .11.077.198.175.198h.463c.11 0 .197-.088.197-.198v-4.643c0-1.408.782-2.189 1.871-2.189 1.09 0 1.87.781 1.87 2.19v4.642c0 .11.077.198.187.198zM201.224 34.724c0-.11-.088-.176-.187-.176h-4.466c-.099 0-.177.065-.177.175v7.328c0 .11.078.197.177.197h.462a.198.198 0 0 0 .198-.197v-6.723h3.806c.1 0 .187-.088.187-.198zM202.632 34.547c-.1 0-.176.066-.176.176v7.327c0 .11.077.198.176.198h.462c.11 0 .198-.088.198-.198v-7.327c0-.11-.088-.176-.198-.176zM210.365 37.133c.066 0 .132-.055.121-.132-.077-1.364-1.155-2.563-2.75-2.563-1.596 0-2.839 1.177-2.839 2.992v1.925c0 1.838 1.221 3.004 2.828 3.004 1.595 0 2.596-1.122 2.761-2.454.011-.132-.055-.176-.154-.176h-.56c-.067 0-.122.044-.144.176-.143.892-.814 1.662-1.903 1.662-1.1 0-1.98-.814-1.98-2.223V37.43c0-1.397.891-2.212 1.991-2.212 1.078 0 1.782.727 1.903 1.772.022.088.066.143.143.143zM216.79 34.547c-.1 0-.177.066-.177.176v3.378h-3.729v-3.378c0-.11-.089-.176-.199-.176h-.46c-.1 0-.178.066-.178.176v7.327c0 .11.077.198.177.198h.461c.11 0 .2-.088.2-.198v-3.169h3.728v3.17c0 .11.077.197.176.197h.462c.11 0 .198-.088.198-.198v-7.327c0-.11-.088-.176-.198-.176zM188.178 26.97c-.11 0-.165.054-.187.164-.044.671-.363 1.266-1.639 1.266-1 0-1.705-.264-1.705-1.277 0-2.222 4.367-.847 4.367-3.75 0-1.574-1.353-2.135-2.65-2.135-2.08 0-2.796 1.44-2.796 2.354 0 .11.077.187.188.187h.472c.111 0 .177-.088.187-.176.012-.484.342-1.617 1.96-1.617 1.033 0 1.814.374 1.814 1.386 0 2.046-4.379.726-4.379 3.751 0 1.42 1.056 2.035 2.542 2.035 1.97 0 2.475-1.199 2.475-2.013 0-.099-.088-.176-.187-.176zM195.625 29.049c.11 0 .187-.088.187-.198v-4.643c0-1.826-1.111-2.97-2.706-2.97-1.585 0-2.707 1.144-2.707 2.97v4.643c0 .11.078.198.176.198h.463a.197.197 0 0 0 .197-.198v-4.643c0-1.408.782-2.19 1.871-2.19s1.87.782 1.87 2.19v4.643c0 .11.077.198.187.198zM198.408 25.022h1.936c.825 0 1.573.462 1.573 1.54v.23c0 1.09-.748 1.465-1.573 1.465h-1.936zm0-.781v-2.718c0-.11-.088-.175-.198-.175h-.462c-.1 0-.176.066-.176.175v7.328c0 .11.077.198.176.198h2.629c1.419 0 2.376-.781 2.376-2.244v-.221c0-1.463-.957-2.343-2.376-2.343zM208.891 28.444c0-.11-.088-.187-.198-.187h-3.719v-2.63h2.982a.18.18 0 0 0 .187-.186v-.408a.179.179 0 0 0-.187-.187h-2.982v-2.717h3.72c.11 0 .197-.088.197-.187v-.418c0-.11-.088-.176-.198-.176h-4.379c-.099 0-.176.066-.176.176v7.327c0 .11.077.198.176.198h4.38c.11 0 .197-.088.197-.198zM211.157 25.242h1.936c.825 0 1.573.451 1.573 1.408v.176c0 1.09-.748 1.431-1.573 1.431h-1.936zm0-3.719c0-.11-.088-.176-.198-.176h-.462c-.1 0-.176.066-.176.176v7.327c0 .111.077.2.176.2h2.629c1.419 0 2.376-.749 2.376-2.213v-.165c0-.979-.517-1.782-1.65-2.079l1.584-2.97c.033-.067.055-.11.055-.154 0-.078-.055-.122-.132-.122h-.605c-.11 0-.165.066-.21.144l-1.54 2.97h-1.847zM222.223 23.933c.066 0 .132-.055.12-.132-.076-1.364-1.154-2.563-2.75-2.563-1.595 0-2.838 1.177-2.838 2.992v1.925c0 1.838 1.22 3.004 2.828 3.004 1.595 0 2.596-1.122 2.76-2.454.012-.132-.054-.176-.153-.176h-.561c-.066 0-.121.044-.143.176-.143.892-.814 1.662-1.903 1.662-1.1 0-1.981-.814-1.981-2.223V24.23c0-1.397.892-2.212 1.992-2.212 1.078 0 1.782.727 1.903 1.772.022.088.066.143.143.143zM224.488 24.23c0-1.397.89-2.211 1.99-2.211 1.08 0 1.982.814 1.982 2.21v1.904c0 1.409-.902 2.234-1.992 2.234-1.1 0-1.98-.825-1.98-2.234zm-.847 1.915c0 1.836 1.22 3.014 2.827 3.014 1.596 0 2.828-1.178 2.828-3.014V24.23c0-1.815-1.222-2.992-2.817-2.992-1.595 0-2.838 1.177-2.838 2.992zM231.088 21.348c-.1 0-.176.066-.176.176v7.326c0 .11.077.198.176.198h.88c.099 0 .143-.055.176-.11l2.43-6.458 2.455 6.447c.033.077.077.121.154.121h.858c.099 0 .187-.088.187-.198v-7.327c0-.11-.088-.176-.187-.176h-.451c-.11 0-.176.066-.176.176v6.348l-2.453-6.403c-.034-.077-.09-.12-.177-.12h-.43c-.11 0-.141.043-.175.12l-2.464 6.403v-6.348c0-.11-.077-.176-.187-.176zM240.933 25.022h1.936c.825 0 1.573.462 1.573 1.54v.23c0 1.09-.748 1.465-1.573 1.465h-1.936zm0-.781v-2.718c0-.11-.088-.175-.198-.175h-.462c-.099 0-.176.066-.176.175v7.328c0 .11.077.198.176.198h2.63c1.418 0 2.375-.781 2.375-2.244v-.221c0-1.463-.957-2.343-2.376-2.343zM251.78 29.049c.11 0 .186-.088.186-.198v-4.643c0-1.826-1.11-2.97-2.707-2.97-1.584 0-2.706 1.144-2.706 2.97v4.643c0 .11.078.198.176.198h.462c.11 0 .198-.088.198-.198v-4.643c0-1.408.782-2.19 1.87-2.19 1.09 0 1.871.782 1.871 2.19v4.643c0 .11.077.198.187.198zM253.01 28.85c0 .11.077.198.188.198h5.457a.198.198 0 0 0 .198-.198v-.407c0-.11-.09-.187-.198-.187h-2.311v-6.733c0-.11-.077-.176-.187-.176h-.462c-.11 0-.176.066-.176.176v6.733h-2.321a.178.178 0 0 0-.187.187zM260.183 21.348c-.1 0-.177.066-.177.176v7.326c0 .11.077.198.177.198h.462a.198.198 0 0 0 .198-.198v-7.327c0-.11-.09-.176-.198-.176zM263.339 21.348h-.45c-.1 0-.177.066-.177.176v7.326c0 .11.077.198.177.198h.55c.12 0 .175-.088.219-.154l3.774-5.974v5.93c0 .11.066.198.177.198h.45c.11 0 .187-.088.187-.198v-7.327c0-.11-.077-.176-.187-.176h-.374c-.076 0-.176 0-.297.21l-3.862 6.094v-6.128c0-.11-.077-.176-.187-.176M272.767 24.494c-.11 0-.187.066-.187.176v.396c0 .11.077.187.187.187h2.509a.179.179 0 0 0 .186-.187v-3.543c0-.11-.077-.175-.186-.175h-.397c-.11 0-.175.065-.175.175v.771c-.375-.65-1.156-1.056-2.025-1.056-1.782 0-2.816 1.364-2.816 2.992v1.914c0 1.837 1.232 3.015 2.838 3.015 1.595 0 2.519-1.079 2.75-2.332.01-.1.01-.133.01-.177 0-.077-.043-.121-.108-.121h-.595c-.077 0-.121.055-.142.176-.1.792-.748 1.662-1.915 1.662-1.1 0-1.992-.826-1.992-2.234V24.23c0-1.397.892-2.212 2.003-2.212 1.365 0 1.937 1.145 1.937 1.904v.572zM189.18 10.733c.065 0 .131-.055.12-.132-.077-1.364-1.155-2.563-2.75-2.563-1.596 0-2.839 1.177-2.839 2.992v1.925c0 1.838 1.221 3.004 2.828 3.004 1.595 0 2.596-1.122 2.761-2.454.011-.132-.055-.176-.154-.176h-.56c-.067 0-.122.044-.144.176-.143.892-.814 1.662-1.903 1.662-1.1 0-1.98-.814-1.98-2.223V11.03c0-1.397.891-2.212 1.991-2.212 1.078 0 1.782.727 1.903 1.772.022.088.066.143.143.143zM195.614 15.243c0-.11-.088-.187-.198-.187h-3.719v-2.628h2.981a.18.18 0 0 0 .188-.188v-.407a.18.18 0 0 0-.188-.187h-2.98V8.929h3.718c.11 0 .198-.088.198-.187v-.418c0-.11-.088-.176-.198-.176h-4.379c-.099 0-.176.066-.176.176v7.327c0 .11.077.198.176.198h4.38c.11 0 .197-.088.197-.198zM197.67 8.147h-.45c-.1 0-.177.066-.177.176v7.327c0 .11.077.198.176.198h.55c.121 0 .176-.088.22-.154l3.774-5.974v5.93c0 .11.066.198.176.198h.451c.11 0 .187-.088.187-.198V8.323c0-.11-.077-.176-.187-.176h-.374c-.077 0-.176 0-.297.21l-3.862 6.094V8.323c0-.11-.077-.176-.187-.176M203.743 15.65c0 .11.077.198.187.198h5.457a.198.198 0 0 0 .198-.198v-.407c0-.11-.09-.187-.198-.187h-2.311V8.323c0-.11-.077-.176-.187-.176h-.462c-.11 0-.176.066-.176.176v6.733h-2.321a.179.179 0 0 0-.187.187zM211.575 12.042h1.936c.825 0 1.573.45 1.573 1.408v.176c0 1.089-.748 1.43-1.573 1.43h-1.936zm0-3.72c0-.11-.088-.175-.198-.175h-.462c-.1 0-.176.066-.176.176v7.327c0 .11.077.199.176.199h2.629c1.419 0 2.376-.748 2.376-2.212v-.165c0-.98-.517-1.782-1.65-2.08l1.584-2.97c.033-.066.055-.11.055-.153 0-.078-.055-.122-.132-.122h-.605c-.11 0-.165.066-.21.144l-1.54 2.97h-1.847zM222.19 15.243c0-.11-.088-.187-.198-.187h-3.72v-2.628h2.983a.18.18 0 0 0 .187-.188v-.407a.179.179 0 0 0-.187-.187h-2.982V8.929h3.719c.11 0 .198-.088.198-.187v-.418c0-.11-.088-.176-.198-.176h-4.38c-.098 0-.175.066-.175.176v7.327c0 .11.077.198.176.198h4.379c.11 0 .198-.088.198-.198z" fill="#07375e"/><path d="M173.013 50.224l-.003-45.357" fill="none" stroke="#07375e" stroke-width=".8" stroke-miterlimit="10"/></g></svg> \ No newline at end of file diff --git a/lost.json b/lost.json new file mode 100644 index 0000000000000000000000000000000000000000..ac5e1059863bff681fd6d6d6aeacf7c93b02d81a --- /dev/null +++ b/lost.json @@ -0,0 +1,26 @@ +{ + "Character": [ + "Sawyer", + "Kate", + "Locke", + "Jack", + "Hurley", + "Walt" + ], + "Actor": [ + "Josh Holloway", + "Evangeline Lilly", + "Terry O'Quinn", + "Matthew Fox", + "Jorge Garcia", + "Malcolm David Kelley" + ], + "Main Cast": [ + true, + true, + true, + true, + true, + false + ] +} \ No newline at end of file diff --git a/nest-data.csv b/nest-data.csv new file mode 100644 index 0000000000000000000000000000000000000000..b8a52f1cc5bc1af2f77aada1808697b9ce5b9ca7 --- /dev/null +++ b/nest-data.csv @@ -0,0 +1,37 @@ +id,Nodes,Tasks/Node,Threads/Task,Runtime Program / s,Scale,Plastic,Avg. Neuron Build Time / s,Min. Edge Build Time / s,Max. Edge Build Time / s,Min. Init. Time / s,Max. Init. Time / s,Presim. Time / s,Sim. Time / s,Virt. Memory (Sum) / kB,Local Spike Counter (Sum),Average Rate (Sum),Number of Neurons,Number of Connections,Min. Delay,Max. Delay +5,1,2,4,420.42,10,true,0.29,88.12,88.18,1.14,1.20,17.26,311.52,46560664.00,825499,7.48,112500,1265738500,1.5,1.5 +5,1,4,4,200.84,10,true,0.15,46.03,46.34,0.70,1.01,7.87,142.97,46903088.00,802865,7.03,112500,1265738500,1.5,1.5 +5,1,2,8,202.15,10,true,0.28,47.98,48.48,0.70,1.20,7.95,142.81,47699384.00,802865,7.03,112500,1265738500,1.5,1.5 +5,1,4,8,89.57,10,true,0.15,20.41,23.21,0.23,3.04,3.19,60.31,46813040.00,821491,7.23,112500,1265738500,1.5,1.5 +5,2,2,4,164.16,10,true,0.20,40.03,41.09,0.52,1.58,6.08,114.88,46937216.00,802865,7.03,112500,1265738500,1.5,1.5 +5,2,4,4,77.68,10,true,0.13,20.93,21.22,0.16,0.46,3.12,52.05,47362064.00,821491,7.23,112500,1265738500,1.5,1.5 +5,2,2,8,79.60,10,true,0.20,21.63,21.91,0.19,0.47,2.98,53.12,46847168.00,821491,7.23,112500,1265738500,1.5,1.5 +5,2,4,8,37.20,10,true,0.13,10.08,11.60,0.10,1.63,1.24,23.29,47065232.00,818198,7.33,112500,1265738500,1.5,1.5 +5,3,2,4,96.51,10,true,0.15,26.54,27.41,0.36,1.22,3.33,64.28,52256880.00,813743,7.27,112500,1265738500,1.5,1.5 +5,3,4,4,46.33,10,true,0.11,13.40,13.73,0.07,0.40,1.34,29.07,52833096.00,831325,7.25,112500,1265738500,1.5,1.5 +5,3,2,8,46.77,10,true,0.15,14.39,14.76,0.09,0.45,1.50,29.45,50929848.00,831325,7.25,112500,1265738500,1.5,1.5 +5,3,4,8,23.46,10,true,0.12,6.62,7.45,0.12,0.94,0.89,14.04,59542536.00,813536,7.19,112500,1265738500,1.5,1.5 +5,4,2,4,66.58,10,true,0.13,18.86,19.65,0.16,0.95,2.35,43.38,47361344.00,821491,7.23,112500,1265738500,1.5,1.5 +5,4,4,4,32.49,10,true,0.09,9.98,10.31,0.09,0.41,1.12,20.12,48081056.00,818198,7.33,112500,1265738500,1.5,1.5 +5,4,2,8,34.09,10,true,0.14,10.60,10.83,0.11,0.33,1.25,20.96,47074752.00,818198,7.33,112500,1265738500,1.5,1.5 +5,4,4,8,18.37,10,true,0.09,4.92,5.76,0.05,0.89,0.58,11.00,56322464.00,837147,7.43,112500,1265738500,1.5,1.5 +5,5,2,4,51.09,10,true,0.11,15.31,15.83,0.16,0.68,1.49,32.63,59202360.00,823858,7.30,112500,1265738500,1.5,1.5 +5,5,4,4,26.21,10,true,0.29,8.18,8.52,0.05,0.39,0.82,15.45,60131432.00,814799,7.25,112500,1265738500,1.5,1.5 +5,5,2,8,27.11,10,true,0.12,8.36,8.70,0.06,0.40,0.85,16.04,58864640.00,814799,7.25,112500,1265738500,1.5,1.5 +5,5,4,8,14.74,10,true,0.10,4.03,4.49,0.05,0.52,0.56,8.63,70404520.00,810334,7.21,112500,1265738500,1.5,1.5 +5,6,2,4,41.03,10,true,0.11,12.55,12.84,0.07,0.35,1.28,25.90,52832064.00,831325,7.25,112500,1265738500,1.5,1.5 +5,6,4,4,20.64,10,true,0.10,6.57,6.78,0.05,0.26,0.62,12.25,61064112.00,813536,7.19,112500,1265738500,1.5,1.5 +5,6,2,8,22.01,10,true,0.10,7.00,7.26,0.06,0.33,0.69,13.15,59541504.00,813536,7.19,112500,1265738500,1.5,1.5 +5,6,4,8,12.64,10,true,0.11,3.27,3.75,0.04,0.53,0.42,7.69,62121264.00,808779,7.21,112500,1265738500,1.5,1.5 +6,1,2,12,141.70,10,true,0.30,32.93,33.26,0.62,0.95,5.41,100.16,50148824.00,813743,7.27,112500,1265738500,1.5,1.5 +6,1,4,12,55.46,10,true,0.15,16.77,17.56,0.11,0.91,1.68,34.60,50270128.00,831325,7.25,112500,1265738500,1.5,1.5 +6,2,2,12,57.59,10,true,0.21,17.16,17.48,0.10,0.42,1.70,35.64,50306216.00,831325,7.25,112500,1265738500,1.5,1.5 +6,2,4,12,25.38,10,true,0.14,7.94,8.58,0.08,0.72,1.23,14.43,59999408.00,813536,7.19,112500,1265738500,1.5,1.5 +6,3,2,12,34.22,10,true,0.16,10.65,11.02,0.12,0.49,1.00,20.47,52566552.00,830270,7.45,112500,1265738500,1.5,1.5 +6,3,4,12,16.65,10,true,0.14,5.26,5.46,0.05,0.26,0.50,9.10,62541000.00,802595,7.11,112500,1265738500,1.5,1.5 +6,4,2,12,23.69,10,true,0.14,7.88,8.06,0.07,0.24,0.68,13.70,59993696.00,813536,7.19,112500,1265738500,1.5,1.5 +6,4,4,12,12.13,10,true,0.11,3.71,3.83,0.05,0.17,0.42,6.96,60713696.00,808779,7.22,112500,1265738500,1.5,1.5 +6,5,2,12,19.97,10,true,0.12,5.94,6.15,0.06,0.27,0.58,11.26,52935840.00,815299,7.14,112500,1265738500,1.5,1.5 +6,5,4,12,10.26,10,true,0.10,2.99,3.05,0.04,0.10,0.33,5.69,62999240.00,812757,7.20,112500,1265738500,1.5,1.5 +6,6,2,12,16.67,10,true,0.13,5.13,5.30,0.05,0.21,0.50,9.86,62542480.00,802595,7.11,112500,1265738500,1.5,1.5 +6,6,4,12,8.30,10,true,0.09,2.47,2.51,0.04,0.08,0.27,4.78,65537712.00,822967,7.26,112500,1265738500,1.5,1.5 diff --git a/notebook-task-filter.py b/notebook-task-filter.py new file mode 100755 index 0000000000000000000000000000000000000000..80f30a617bcda33732575cd636153422382696e5 --- /dev/null +++ b/notebook-task-filter.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +# Andreas Herten, 25 February 2019 +import json +import copy +import os +import sys +import argparse + + +def parse(inputfile, keep, remove, basekey): + """ + Take inputfile, parse the JSON, clone two versions, delete the dictionary items which are from the wrong path (i.e. no exercise: task in the solution Notebook) and safe with respective suffixes. + """ + notebook = json.load(inputfile) + + if isinstance(keep, str): keep = [keep] + if isinstance(remove, str): remove = [remove] + + notebook_new = copy.deepcopy(notebook) + notebook_new["cells"] = [] + + for cell in notebook["cells"]: + keepcell = True + for key in remove: + cell_tags = None + if basekey in cell["metadata"]: + cell_tags = cell["metadata"][basekey] + if isinstance(cell_tags, str): cell_tags = [cell_tags] + if cell_tags == None: + if key == "all": + keepcell = False + if cell_tags != None: + if key in cell_tags or key == "all": + for tag in cell_tags: + if tag not in keep: + keepcell = False + if keepcell == True: + notebook_new["cells"].append(cell) + + return notebook_new + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Split up Jupyter Notebook by cell metadata.\nSpecify tags to keep with `--keep`, specify tags to remove with `--remove`; multiple instances are ok. Special `--remove` tag: all (which removes all cells except those specified with `--keep`).\nAll tags will be read from BASEKEY, which usually is `exercise`, if you do not specify it differently.') + parser.add_argument('infile', type=argparse.FileType('r'), help="Input file to parse") + parser.add_argument('--output', "-o", type=str, help="Output file to parse") + parser.add_argument('--keep', "-k", action="append", help="Keep these tags.") + parser.add_argument('--remove', "-r", action="append", help="Remove these tags. Special: all (remove all except for keep).") + parser.add_argument('--basekey', type=str, help="Basekey to use for discriminating the tags.", default="exercise") + args = parser.parse_args() + notebook = parse(inputfile=args.infile, keep=args.keep, remove=args.remove, basekey=args.basekey) + + if args.output: + with open(args.output, "w") as f: + json.dump(notebook, f) + else: + print(notebook)