diff --git a/src/analysis/surival_01.ipynb b/src/analysis/surival_01.ipynb index 4cef3db..b62d902 100644 --- a/src/analysis/surival_01.ipynb +++ b/src/analysis/surival_01.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 301, "metadata": {}, "outputs": [], "source": [ @@ -10,7 +10,7 @@ "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", - " " + "import functools" ] }, { @@ -1346,16 +1346,23 @@ }, { "cell_type": "code", - "execution_count": 245, + "execution_count": 271, "metadata": {}, "outputs": [], "source": [ - "incisor_surface_counts = restored_surface_counts.query('incisor == 1')[['tooth_num', '1', '2', '3', '4', '5', '6']]" + "incisor_surfaces = restored_surface_counts.query('incisor == 1')[['tooth_num', '1', '2', '3', '4', '5', '6']]\n", + "molar_surfaces = restored_surface_counts.query('molar == 1')[['tooth_num', '1', '2', '3', '4', '5', '6']]\n", + "canine_surfaces = restored_surface_counts.query('canine == 1')[['tooth_num', '1', '2', '3', '4', '5', '6']]\n", + "premolar_surfaces = restored_surface_counts.query('premolar == 1')[['tooth_num', '1', '2', '3', '4', '5', '6']]\n", + "upper_surfaces = restored_surface_counts.query('upper == 1')[['tooth_num', '1', '2', '3', '4', '5', '6']]\n", + "lower_surfaces = restored_surface_counts.query('lower == 1')[['tooth_num', '1', '2', '3', '4', '5', '6']]\n", + "right_surfaces = restored_surface_counts.query('right == 1')[['tooth_num', '1', '2', '3', '4', '5', '6']]\n", + "left_surfaces = restored_surface_counts.query('left == 1')[['tooth_num', '1', '2', '3', '4', '5', '6']]" ] }, { "cell_type": "code", - "execution_count": 249, + "execution_count": 272, "metadata": {}, "outputs": [ { @@ -1390,83 +1397,43 @@ " \n", " \n", " \n", - " 1\n", - " 10\n", - " 11438\n", - " 10234\n", - " 6438\n", - " 3140\n", - " 521\n", - " 0\n", - " \n", - " \n", - " 15\n", - " 23\n", - " 4365\n", - " 3089\n", - " 1720\n", - " 727\n", - " 106\n", - " 0\n", - " \n", - " \n", - " 16\n", - " 24\n", - " 5125\n", - " 3697\n", - " 2083\n", - " 1109\n", - " 240\n", - " 1\n", - " \n", - " \n", - " 17\n", - " 25\n", - " 4806\n", - " 3808\n", - " 2087\n", - " 1082\n", - " 203\n", - " 0\n", - " \n", - " \n", - " 18\n", - " 26\n", - " 4194\n", - " 3247\n", - " 1695\n", - " 665\n", - " 115\n", + " 2\n", + " 11\n", + " 12283\n", + " 9152\n", + " 4372\n", + " 1339\n", + " 168\n", " 0\n", " \n", " \n", - " 29\n", - " 7\n", - " 11249\n", - " 10399\n", - " 6536\n", - " 3214\n", - " 498\n", + " 14\n", + " 22\n", + " 7662\n", + " 3591\n", + " 1763\n", + " 536\n", + " 52\n", " 0\n", " \n", " \n", - " 30\n", - " 8\n", - " 12742\n", - " 13514\n", - " 8559\n", - " 6064\n", - " 956\n", + " 19\n", + " 27\n", + " 7391\n", + " 3841\n", + " 1839\n", + " 536\n", + " 63\n", " 0\n", " \n", " \n", - " 31\n", - " 9\n", - " 12488\n", - " 13227\n", - " 8316\n", - " 5976\n", - " 923\n", + " 28\n", + " 6\n", + " 12144\n", + " 9097\n", + " 4103\n", + " 1296\n", + " 179\n", " 0\n", " \n", " \n", @@ -1474,66 +1441,200 @@ "" ], "text/plain": [ - " tooth_num 1 2 3 4 5 6\n", - "1 10 11438 10234 6438 3140 521 0\n", - "15 23 4365 3089 1720 727 106 0\n", - "16 24 5125 3697 2083 1109 240 1\n", - "17 25 4806 3808 2087 1082 203 0\n", - "18 26 4194 3247 1695 665 115 0\n", - "29 7 11249 10399 6536 3214 498 0\n", - "30 8 12742 13514 8559 6064 956 0\n", - "31 9 12488 13227 8316 5976 923 0" + " tooth_num 1 2 3 4 5 6\n", + "2 11 12283 9152 4372 1339 168 0\n", + "14 22 7662 3591 1763 536 52 0\n", + "19 27 7391 3841 1839 536 63 0\n", + "28 6 12144 9097 4103 1296 179 0" ] }, - "execution_count": 249, + "execution_count": 272, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "incisor_surface_counts" + "canine_surfaces" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 306, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "# incisor_surface_counts" + ] + }, + { + "cell_type": "code", + "execution_count": 289, + "metadata": {}, + "outputs": [], + "source": [ + "molar_surface_counts = molar_surfaces.set_index('tooth_num').sum().to_frame(name='molar')\n", + "premolar_surface_counts = premolar_surfaces.set_index('tooth_num').sum().to_frame(name='premolar')\n", + "canine_surface_counts = canine_surfaces.set_index('tooth_num').sum().to_frame(name='canine')\n", + "incisor_surface_counts = incisor_surfaces.set_index('tooth_num').sum().to_frame(name='incisor')" + ] + }, + { + "cell_type": "code", + "execution_count": 312, + "metadata": {}, + "outputs": [], + "source": [ + "def join_dfs(ldf, rdf):\n", + " return ldf.join(rdf, how='inner')\n", + "\n", + "df_surface_counts = \\\n", + " functools.reduce(join_dfs, \n", + " [molar_surface_counts, premolar_surface_counts, \n", + " canine_surface_counts, incisor_surface_counts])" + ] }, { "cell_type": "code", - "execution_count": 252, + "execution_count": 314, "metadata": {}, "outputs": [], "source": [ - "incisor_surface_counts.set_index('tooth_num', inplace=True)" + "# df_counts" ] }, { "cell_type": "code", - "execution_count": 253, + "execution_count": 335, "metadata": {}, "outputs": [ { "data": { + "image/png": "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e83MfgC2m9kPZjbbzH4VdS4iIiIih7s1a9Zwyy23cOedd/Lss8/y/fff06lTJ7Zv354dM3bsWDIyMvjrX//K+PHjAZg+fTrdunWjZcuWvPLKK9x1111MmjSJYcOG5Rg/MzOTfv36cfPNN/Pcc8+xdu1aevfuTc+ePWnbti0vvPAC9erVo3v37mRmZmZfN2LECEaPHk2/fv145ZVXaNOmDb169eK5557L9bNs2bKFatWq8fDDDzNnzhwGDx7MU089xYABA/aJHTRoEJUrV2bGjBncfvvth/o15inqHe06ALOAlcBYYCNQG7gYmG9mXd39jShzEhERETmcbdmyhZdffpnTTz8dgFNPPZXGjRszZcoUrr/+egDq1KnDtGnTsq9xdwYPHswVV1zBY489ln28XLly9O/fn2HDhlG9enUgWJowfvx4zjzzTAC+/vpr+vfvz913382gQYMAqF+/Pi1atOCdd96hc+fOfPvtt4wbN47hw4czfPhwADp16sS6desYOXIkPXv2TPpZTjrpJB588MHs923atKFixYr07duXCRMmkJqamn2udevWTJw48ZC/v/yKeqZ4NPAK8HN3v8fd/xT+/DnwKnBfxPmIiIiIHNZq1aqVXRADHHvssZx66qksWrQo+1jXrl1zXPPFF1+wdu1aLrnkEnbv3p39Ovvss9m+fTvLli3Ljk1NTeXXv/519vsmTZoAcPbZZ+9zbP369QAsW7aMzMxMunfvnuO+PXr04IsvvmDTpk1JP4u7M27cOJo3b05aWhopKSn06tWLHTt2sHbt2hyxiZ+psEVdFJ8ETHZ3T3JuUnheREREREK1atVKeiwjIyP7fe3atXOc37JlCwBdunQhJSUl+3XccccB8NVXX2XHVq5cmTJlfioJY7O1VatW3edYbMlG7N6J942937p1a9LPMm7cOG699VYuuugiXn75ZRYtWpQ9Gxy/HCTZ2IUt6pZs3wGNcznXhH37FouIiIiUaslmXTdt2kSLFi2y35tZjvPVqlUDYNKkSZxyyin7XB8rjg9W3bp1s/OILcMA2LhxY477J5oxYwbdu3dn9OjR2cfiHxqMl/iZClvUM8UzgPvN7HIzKw9gZuXN7HKCpRXTI85HRERE5LC2adMm3n///ez3a9eu5V//+hctW7bM9ZoTTjiBevXqsXr1atLT0/d5xReyB+NnP/sZFSpU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\n", "text/plain": [ - "1 66407\n", - "2 61215\n", - "3 37434\n", - "4 21977\n", - "5 3562\n", - "6 1\n", - "dtype: int64" + "
" ] }, - "execution_count": 253, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "incisor_surface_counts.sum()" + "ax = df_surface_counts.plot.bar(figsize=(10,5))\n", + "\n", + "# configure labels\n", + "ax.set_ylabel(\"\\nNumber Surface Resotration\\n Procedures\\n\", fontsize=15)\n", + "ax.set_xlabel(\"\\nNumber of Surfaces Restored by the Procedure\", fontsize=15)\n", + "ax.tick_params(labelsize='x-large')\n", + "\n", + "# rotate the ticks on the x axis\n", + "plt.xticks(rotation=0)\n", + "\n", + "plt.legend(loc='upper right', prop={'size': 15})\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 336, + "metadata": {}, + "outputs": [], + "source": [ + "upper_surface_counts = molar_surfaces.set_index('tooth_num').sum().to_frame(name='upper')\n", + "lower_surface_counts = premolar_surfaces.set_index('tooth_num').sum().to_frame(name='lower')" + ] + }, + { + "cell_type": "code", + "execution_count": 337, + "metadata": {}, + "outputs": [], + "source": [ + "df_surface_counts = \\\n", + " functools.reduce(join_dfs, \n", + " [upper_surface_counts, lower_surface_counts])" + ] + }, + { + "cell_type": "code", + "execution_count": 338, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Y3IyMzOzFm6LLbbgxRdfXOXc+PHjV4v7wx/+sMrx73//e7p3784WW2xRb9zChQsZP348u+++OwB77rknHTp04I033qCurm61V6dOnZrqY60TzxSvJ0nDgImk9mhtgH1InR7+Mwu5CTgDuFXS1cA2pBZu10fEB1nMBOD/gP+WdCYg4EbgSeBRgIhYIGkUcLmk2aT+w4OADsDNRSkNB+6RNIX08Fx/4Gjgq0UxjcnJzMzMWrijjjqK2267jR/96Ef079+fhx9+mAceeGC1uOeee47TTjuNY445hscee4zbbruNa6+9duVDdgAdOnTgwgsvZOHChWy++eb84he/YOnSpZx99tkAbLzxxgwdOpSzzz6bV155hX322YcVK1bw0ksv8fDDD69WeOfNRfH625DU7aEH8CGpOL4gO0dEvCbpIOBq0mzvu8AtwJDCABGxQtLhwHXAQ6R1vfcDZxY2AMkMApaSlmUUNu/oFxGzi8Yak61n/gmpr/HLwICIuL8opsGczMzMrOXr378/l19+Ob/85S8ZPXo0RxxxBNdccw1HHHHEKnHDhw9n7NixHHPMMbRv356LLrqIM844Y5WYjh07cscdd3DmmWfywgsvsMMOO3DfffetssRi8ODBbL755owcOZKrrrqK9u3bs91223H88cfn8nnXRKvWXGYNq6uri2nTplVk7EruAtRSd/oxM7PqeOGFF9hxxx2rnUZFzZw5k169evGnP/2Jww8/vN64oUOHcsMNN6x8mC5PDf13kDQ9IuoaGsdris3MzMys5rkoNjMzM7Oa56LYzMzMzMrq2bMnEbHGpROQlk9UY+lEU3JRbGZmZmY1ryrdJyS1I3VraF96LSKezz8jMzMzM6tluRbFkjYntf46tNxlUiuy1nnmZGZmZmaW90zxaGBX4BzgeVLPXTMzMzOzqsq7KO4DfC8ifpvzfc3MzMzM6pX3g3bzgMU539PMzMzMbI3yLop/CpwnacOc72tmZmZmVq+8l08cDWwFvCJpKvBuyfWIiOpvfm1mZmZWAwYMGMCzzz7LtGnTqp1K1eVdFHcG/pX93gbokvP9zczMzCpr6EZVuu971blvC5FrURwR++V5PzMzMzNrfpYvX87y5ctp27Ztbves6o52ktpU8/5mZmZm9rGnn36aAw44gI4dO/KZz3yGE088kblz5668vs8++3DqqaeuPH7ggQeQxDnnnLPy3O9+9zvatm3LokWLVp4bPXo0vXv3pl27dmy99dYMHz58lfsOGDCAuro6xowZQ+/evWnfvj1PPfVUBT/p6nIviiXtJel+Se8DH0p6X9J9kvbMOxczMzMzS+bPn8++++7LokWLuPPOO7n++ut59NFH6devH0uXpq0l9tlnHyZOnLjyPY899hjt27df7dyuu+5Kx44dARgxYgQDBw7kyCOPZOzYsQwcOJCLLrqIG264YZX7z5w5k8GDB3PBBRdw33330atXrxw+9cfy3tGuH/BnYAYwApgLdAOOBR6R1D8iJuSZk5mZmZnBVVddBaTZ3w03TI3CtttuO/bYYw9+97vfccIJJ9C3b18uu+wy5s+fT5cuXZg4cSInn3wyo0aNYuHChWywwQZMnDiRAw44AIAFCxYwbNgwhgwZwsUXXwxAv379WLRoEZdeeikDBw6kdeu0mfFbb73FhAkT2Hnnnavw6fOfKb4M+CPwxYi4JCJuzn5+ERgLXJ5zPmZmZmYGTJkyhYMOOmhlQQyw++6707NnTyZNmgTAXnvtRevWrZk0aRJLlixhypQpnHLKKXTu3JnJkyezYMECnnnmGfr27QvA5MmT+eCDDzjuuOP46KOPVr72339/5s6dy6xZs1beq0ePHlUriCH/7hNfAC6KiChz7RZgTM75mJmZmRkwe/Zsevfuvdr5bt268fbbbwPQqVMndt55ZyZOnEjnzp3p0KEDX/ziF9l7772ZOHEiH330EStWrKBPnz4AvPnmmwBlxwV47bXX2HrrrVfep5ryLorfBbap59q2rN632MzMzMxy0L17d+bNm7fa+blz57LbbrutPO7bty8TJ05k0003pU+fPrRq1Yq+ffsyZswYli1bxuc//3k23XRTADbZZBMAxo4dW7bo3X777Vf+LqmpP9Jaybsovhu4QtIC4J6I+FBSe9Ka4suAX+ecj5mZmZkBe+yxBzfddBPvv/8+nTp1AmDq1KnMnDmTvffee2Vc3759uf7662nbti1HHHEEkB7Au+CCC/jggw9WLp0A2HPPPenQoQNvvPEG/fv3z/cDraW81xSfR1o7/GvgA0nvAR9kx2Oz62ZmZmaWs0JbtYMPPph7772X3/zmNxx99NF84Qtf4JhjjlkZ17dvX5YvX84TTzzBPvvsA8BOO+1EmzZtmDp16ipF8cYbb8zQoUM5++yzGTJkCA8++CDjxo3juuuu46ijjsr3AzYg7807FgMnSvoZ8CWgOzAbmBoRL+aZi5mZmZl9rEuXLjz88MP8+Mc/5oQTTqBt27YcdthhjBw5cpVNNLp06cIOO+zAq6++unJZRatWrdhrr70YN27cKrPKAIMHD2bzzTdn5MiRXHXVVbRv357tttuO448/PtfP1xCVf+bNrH51dXVRqT3Se57/54qMCzDzyk/2P9uYmVnz8sILL7DjjjtWO42a19B/B0nTI6KuoXEqPlMs6fPAvyJiSfb7GkXE85XOyczMzMysWB7LJ54FvgxMyX6vb2pa2bXWOeRkZmZmZrZSHkXxfkBh9nd/6i+KzczMzMyqouJFcUQ8WvT7I5W+n5mZmZnZ2sq1JZuk5ZJ2r+fabpKW55mPmZmZmRnk36d4TVuVtAE+yisRMzMzs/XlLl7V1ZTffx7dJ7YCehad2iXbxa5Ye+A/gJcrnY+ZmZlZU2jTpg2LFy+mY8eO1U6lZi1evJg2bdo0yVh5PGj3HeBi0gN2AdxUT9xi4JQc8jEzMzNbb127duX111+nR48edOjQAWlN/yBuTSkiWLx4Ma+//jrdunVrkjHzKIp/CdxDWjrxDHBi9rPYUuDViFiSQz5NStIg4GhgB9JnfBa4NCLGFcUMAP6zzNv7RcSEorjtgOuBvsAi0vf244j4oCimE3B1ds/2wGPAGRHxr5K8BgM/ALoBLwDnRcSDJTGHAZcDO5J2FrwuIq5e+2/BzMys9my44YYAvPHGGyxbtqzK2dSeNm3a0K1bt5X/HdZXHt0n5gPzAST1AmZHxNJK3zdH+wO/AqaSZru/B4yV9JWIeLwobjmwRcl73y78ImkD4CHSHwx7AZtk424MfKPoPf8FfBE4FngXuAIYL6l3to02kn4IDANOy/L6DvAnSV+KiGeymDrgXuAq4ARgD2CUpEURMWq9vhEzM7MaseGGGzZZUWbVlcdM8UoR8QqApE8BW5FmOktjmtWOdhFxaMmpcyUdTJrJfbwkds4ahvom0Bn4ZkS8ByDpB6QC+4KIeDmbST4CODgiHs5iTgDmAMcDtyv9280gYGRE3JGNPVjSfsA5wIDs3DnA1Ig4Pzt+QVJv4DzARbGZmZnVlLxbsrWRdBOwAPgH8Pcyr2ZNUiugE/BmyaXWkv4tabakRyQdXnK9DzC5UBBnHgRWZNcKMctIM8oARMQ7pN0C985O9QQ2B1Yu38iMK4opjFUupqek0hltMzMzsxYt75ZsPwUOB04mrb89g/RP+w8BM4Gv5pxPJfyEtOThv4rOzSB11zg6ez1NWs5wclFMd9KM70oRsYy0xKJ7UcybEVHaz3lOSUzhXH0xZe9XdNy95DySTpU0TdK0+fPnl142MzMza9byLoq/DgwFfpsdT4mIOyLiIGASaWlAsyXp+6Si+NiImFU4HxGTs8/5dPb7D0lF83mNHLoxTfiaKqZsXETcEhF1EVHXpUuXRg5jZmZm1jzkXRRvCbyUzXR+CHym6NpvgGNyzqfJSDoXGAF8rbijxBo8war9m2cDm5WM2Yb0wN2copjOklqXjNWtJIbSsUpiyt4vi4HVZ5DNzMzMWrS8i+LZpKUFkDbq2Kfo2jY559JkJF1C6sV8WCMLYoBdgNeKjh8H9pRU/AhrP9J/o8eLYtqQOl4U7r0xqXPEpOzUTOAN4OCS+x1SFFMYq1zMK8Wz3GZmZma1INfuE8AjpB68fwJuBX4haVtgCal7wv/knM96k3QNqfXZCcAMSYXZ18VFXSSGkh6GewloR2qndgpwVtFQdwIXAXdKupA0Q3wjcFdEvAwQES9Juhe4KVuP/B6pz/DrwF1ZTEgaAVwu6QVgGqnjxE6kdnEFI4EnJF1GWsqxO3Am8KOm+Wasueh5/p8rNvbMK/tXbGwzM7OmlHdRfCGp7RgRcU3WPuxYoANp04pLcs6nKZyd/fxDyflf83H7sw1JBe5mpF7GLwJfj4jfFYIjYqGkA0nfw+Qs7h5S67RiJ5EK2j/w8eYdBxV6FGdjXSOpLalgLmze8bWI+FtRzFRJR2Yx55KWTFzoHsVmZmZWi3IrirP1sduQlk0AEBEjSQVesxURDe7pGBHnsHpxWy5uBnBQAzHvk2aZ17gldkQMB4Y3EPNnoHLThGZmZmbNRJ5ripcDfyFtKWxmZmZm9omRW1EcEStIG3Z0ayjWzMzMzCxPeXefuBD4qaQv5HxfMzMzM7N65f2g3RBgU+BpSa8DcynZKCIids85JzMzMzOrcXkXxc8Bz+Z8TzMzMzOzNcq1KI6IAXnez8zMzMysMXJdUyzpV5J61XNta0m/yjMfMzMzMzPI/0G7AUCXeq51Bv4jv1TMzMzMzJK8i2IoebCuyP8D5ueZiJmZmZkZ5LCmWNLZfLwVcgBjJC0pCWtP6l98e6XzMTMzMzMrlceDds8DvwNE2ur4YWB2ScxS4EXgtznkY2ZmZma2iooXxRExHhgPIOl9YHREvF7p+5qZmZmZNVbeLdmGAUhqC3wB2AR4G/h7RCzNMxczMzMzs4LcH7STNJi0k90U4AFgKjBX0qC8czEzMzMzg5xniiX9ELgCGAXcRSqOuwHHA1dIWhIR1+WZk5mZmZlZ3ts8/wC4MiIuLDo3A3hM0rvAWYCLYjMzMzPLVd7LJ7YkdZ8o5xFgi/xSMTMzMzNL8i6KXwUOqudav+y6mZmZmVmu8l4+cR1wnaRNgHtIa4q7AseRtoA+K+d8zMzMzMxyb8l2Q7ab3cXAd0k73Al4Azg9IkbnmY+ZmZmZGeQ/U0xE3CppNGn9cHfS7nazIiLyzsXMzMzMDKpQFANkBfBr2QtJGwPvViMXMzMzM7NcH7STNDDbvKNwvLOkWcBbkqZLcvcJMzMzM8td3t0nzgQWFB1fR1pPfGKWy5U552NmZmZmlvvyia1Im3UgqQvQBzggIh6RtBS4oaEBJH0KaB0RS4rOHQR8HngsIv6vIpmbmZmZWYuVd1G8BGib/b4fsAiYmB2/DWzciDHuAt4jda9A0lnANdnYrSUdHRFjmzJpMzMzM2vZ8l4+MQX4gaTepJ7E4yJieXbts6SlFA35MnBf0fEg4KqI6ACMBi4s+y4zMzMzs3rkXRT/mLTM4e+kLZ+LC9jjgccbMcamwBwASV8ANgdGZdfuzsY3MzMzM2u0vDfveB7YVtKmwNslvYnPJSt2GzAX6AlMAg4BXomIf2XXOgArmi5jMzMzM6sFVelTTFo/vIWkLYG/RcQHEfH3Rr73buDnknYCvsOqD+ftAvyjaVM1MzMzs5Yu7+UTSPo+8DrwCukhu+2z87+X9MNGDHE+cDOwA3ATcEXRtd1ID+KZmZmZmTVa3pt3DAKuBm4F9gdUdPkR0rriNYqIjyLikoj4akRcVNyaLSKOjoirmjjtekkaJGmypHckvStpkqRDysTtIekJSR9Kmi3pCkmtS2K6S/qtpAXZ638ldS2JaSNpeDbG4ux+u5W53wBJMyQtkfSipBPXJSczMzOzWpH3TPEPgJ9GxMV83IqtYAawXWMHknSopIsk3SJpq+zcPpI2b7p0G7Q/8CtSe7k9gCeBsZL6FOW5JTCe9Pl2AwYCpwGXFcW0AsYCvYB+wEGk72KMpOI/HEYAJ2fv/xLwb2CCpM2KxjoSuI308OFOpD9A7pB06NrkZGZmZlZL8l5TvBkwvZ5rK4D2DQ0gqRvwR1IxN5NUSI4CXiWtMf6QVORVXEQcWnLqXEkHA0fzcSeNgaRd/E6OiBXAc5J6AMMl/SwiPgAOBHYFdoiIwuYmJwHPAl8BHpHUCTgdOCsi/pjFfIe0FOV0YGh2v8HAXRExMjt+UdKXgfOA+9ciJzMzM7OakfdM8T9JRV45+wDPN2KM64ENSGuKd2DVJRgTgAPWJ8H1kc34dgLeLDrdB3gwKz4LxgEdSQ8GFmJeLhTEABHxHDAL2Ds7VQe0y95biFlOmvHdO7t/W9IM8sqYovt9uWh5RGNyMjMzM6sZeRfF1wDnSxoCfC4711XSycA5wMh63/mxQ4AhEfFPIEquzQJ6NFWy6+AnpF35/qvoXHdWbzU3p+hafTGFuO4lseXGKlzrTJr9LxfTDthkLXJahaRTJU2TNG3+/PnlQszMzMyarbz7FI+W9Bngp8Cw7PR9pO2eh0bEnY0cank95zsDi9cvy3WTddX4CfC1iJjVQHiU/GxM7PrGNBS3xpwi4hbgFoC6urrG3s/MzMysWci9JVtEjCDtQnco8C3gMKBHdr4xJgJnlnRKKBRp3wX+0lS5Npakc0kPwX0tIiaUXJ5NWktdrHA8Zw0xAN1KYigTVxzzJvBRPTFLgHfWIiczMzOzmpF7UQwQEe9HxIMRcWdEjIuI9wAkbdGIt59HWjf7LPAzUkH8PUmPAXsCQyqVdzmSLgEuBg4rUxBDeuCuX7beuOAQ0uz4X4tiekkqLClB0o6krbAnZaemkwrbg4tiWpEe0psEEBFLganFMUX3ezJbg9zYnMzMzMxqRlWK4lKSviDp18C/GoqNiGdJnSemAQNISymOBl4D9oiIlyqY6iokXQMMAk4CZkjaLHttVBR2E7ARcKuk3pK+Rirmry/q8jAB+D/gvyXtLmkP0rrkJ4FHASJiAanLxuWSDpfUm9QOrgNpM5OC4cDxks6WtL2kc0jfz8/XMiczMzOzmpHLmmJJ3wS+TZr5fBm4IiIel/QF4ErSLOU7wKUNjNOK9CDY3Ig4qbJZN8rZ2c8/lJz/NalgJyJek3QQadOS6cC7pLW5K2e0I2KFpMOB64CHSLPf9wNnRkTx+t1BwFJgNOmBvulAv4iYXTTWGEmnkNY3jyB93wMi4v6imAZzMjMzM6slFS+Ks84StwIvAH8HtiJtODEIuIrUL/c84KZGzFK2IvUm/iqrtx3LXUSo4SiIiCeBvRqImQ0c10DMMlIf4sENxN0O3L6+OZmZmZnVijxmis8E7oiIAYUTkn4IXAs8AXw1It5tzEAR8ZGkV0j9dM3MzMzMmkQea4q3YdW+vZBmMQVc1tiCuMjPgQsldWmC3MzMzMzMcpkp/jTwfsm5wvG8dRjvINK64pmSpgNzWbW3bkTE8eswrpmZmZnVqLw279hLUuei41akQraPpFX65UbEfQ2M1RmYUXJsZmZmZrbO8iqKr67n/LUlxwG0Lhe4MiBivybJyMzMzMwsk0dR3CuHe5iZmZmZrbOKF8UR8UpTjidpeCPuucaWZWZmZmZmxfJaPtGUyvXy/QywIfAeaRMQF8VmZmZm1mjNriiOiLLLMbKtkW8BTs83IzMzMzNr7vLoU5yLiHiKtK3xDdXOxczMzMyalxZTFGfeAravdhJmZmZm1rw0u+UTkspt8dwW2BG4BHgu34zMzMzMrLnLvSiW1BX4MVAHbAkcFRHPSTobmBIRkxsYYiGr7mC3cmjgdeDIpszXzMzMzFq+XItiSbsD44H5wKPAvkC77HJ3UrF8bAPDfJfVi+IPgVmkonpZU+VrZmZmZrUh75nikcDDwNGk9czfKbo2BfhmQwNExO0VyczMzMzMalbeRfGuwBERsUKSSq69BXTNOR8zMzMzs9yL4veALvVc+ywwt9wFSSsov464rIhovfapmZmZmVmtyrsovhcYJmkyUNj+OSR1Bs4Ffl/P+87i46K4DWnt8cJsvHlAN+AI4NPAVZVJ3czMzMxaqryL4vOBh4DngenZuVHAtsDLwE/LvSkiVm7IIelq4CnguIiIovPnA3cDZXe8MzMzMzOrT66bd0TEO8CXgR+QZoonkIrh84E+EfF+I4b5NnBrcUGcjR3ArcC3mjRpMzMzM2vxcu9THBFLgduy17poTdqo44Ey13rT8nbpMzMzM7MKy7tP8QHAluXaqkkaALwSEQ83MMxvgMslfQr4I2lNcVfSmuJLWPdi28zMzMxqVN4zxZcBf6jnWmfgNGDPBsY4B1hGKoB/XnR+CXAzMHg9czQzMzOzGpP3UoPewLR6rv0V+HxDA0TE0oj4EbAFcABpw4/9gS0i4ofZ8gwzMzMzs0bLe6b4I2CTeq5tujYDRcTbwCPrm5CZmZmZWd4zxZOAQZLaFp/Mjn8MTGzMIJK+KOkuSf+StETSrtn5yyQd2uRZm5mZmVmLlndRfCGwA/BPSSMknSNpBPAPYHtSa7Y1yore6cBmwB2kzTwKlgBnNnnWZmZmZtai5d2n+BngS8DjwEmkB+VOIs0g7x4RzzZimCuA2yPiK6QH94o9DezcdBmbmZmZWS2oRp/iGcAJ6zHEDqQtoeHjrZ8LFlD/mmUzMzMzs7Ka40YX84DP1nOtN/BqjrmYmZmZWQuQ+0yxpD2Bk4HtgPa88SEUAAAgAElEQVSl1yNi9waG+F/gEknPA5MLb5O0HXAe3rzDzMzMzNZSrjPFkvoBj5F6DO8NzAcWAjuRWrI1Zk3xRaRex4/y8azwvdl7nwEub9qs10zSPpLulfSKpJA0pOT6gOx86evAkrjtJD0gaZGkNyWNkvTpkphOkm6V9JakDyTdL2mbMjkNzvL5UNJfJR1UJuYwSU9n3TtmSjqnqb4TMzMzs+Ym7+UTlwDXAv2z44siYn/SrPEyGtF3OCKWRMThwEHAr4HRwJ1A/4g4PCKWVSLxNdgAeJ60k96cemKWA91LXo8VLkraAHiI1Md5L+DrwCGsPuv9X6QNS44l/VEhYLykDkVj/RAYRvrjYRdgPPAnSV8siqkj/SExjvRg4lDS1tmnr+2HNzMzM2sJ8l4+8XlgCLCC9JDcpwEi4hVJQ0nF3B2NGSgiHiIVklUVEfcB9wFI+vka4uormCHtytcZ+GZEvJeN9QNgrKQLIuLlbHnIEcDBEfFwFnMCqRA/HrhdkoBBwMiIKHyPgyXtR9oee0B27hxgakQUWuC9IKk3afnJqLX6AszMzMxagLxnij8EWkVEALOB4n/6X0BaVrFGkr4haVA9186V9PUmybRptZb0b0mzJT0i6fCS632AyYWCOPMg6Y+HPkUxyyj6QyAi3gGmkGaNAXoCm5NmgIuNK4opjFUupqekBv8bmJmZmbU0eRfFfyNt0gGpuLtAUj9JXyEtrfh7I8Y4n1Rcl7MIuGC9s2xaM4D/AI7OXk+TljOcXBTTnZKlF9kykLeza4WYNyNiecn4c0piCufqiyl7v6Lj7pQh6VRJ0yRNmz9/frkQMzMzs2Yr7+UT1wC9st9/AvwJeCA7ngUc1YgxPkf9D+S9kF3/xIiIyXzcJQNgsqRNaHynjNJezJWMqTcuIm4BbgGoq6tr7FhmZmZmzULFi2JJWwGzI2JZtv4WgIh4XdJuwLZAB+DFiFjaiCEXUf8yiy1JWz1/0j0BfKPoeDYp95UktSFtRDKnKKazpNYls8XdgJeKYiBtgf1SSUzxzPDsLIaSGKj/YUEzMzOzFiuP5RMvk7ogIOkvknYoXIjkHxHxTCMLYoAJwEWSuhaflNQFuJC0FveTbhfgtaLjx4E9JW1YdK4f6b/P40UxbYD9CwGSNgb2IG2TDTATeAM4uOR+hxTFFMYqF/NKRMxay89iZmZm1uzlsXxiMdAx+31fYMP6QxvlPOBJ4F+SxpFmPbuTirx3Sa3RcpO1U9s2O2wLbCZpZ2BhRPwz66oxhTRz247UTu0U4KyiYe4ktVC7U9KFpBniG4G7IuJlgIh4SdK9wE3ZeuT3SD2ZXwfuymJC0ghSe7UXSP2cB5D6QH+v6H4jgSckXUZq87Y7cCbwo6b6XszMzMyakzyK4r8C10oanx2fKWl2PbEREeetabCIeFXSTqS2YvuR+uy+BVxPakX2ZhPl3Vh1wMNFxz/IXo/y8R8BN5KWKywGXgS+HhG/K7whIhZmm3lcT1p/vBi4h/QZi51EKmj/QNoN8DHgoIhYXDTWNZLakgrmbqR11l+LiL8VxUyVdGQWcy5pycSFEeF2bGZmZlaTlLqjVfAGabnECGAH4LPAXOpf9xsR8dmKJmTrra6uLqZNm1aRsXue/+eKjAsw88r+DQfVIH/nZmbWkkmaHhF1DcVVfKY4Il4EvpoltQI4MiKmrO+4kjYH9iQtNXgLeDIi3ljfcc3MzMys9uTWkk1SO+CnNL41WH3jtCYtM/ge0Lro0nJJtwBnRsSK9bmHmTWRoRtVePz3Go4xMzNrhNw274iIJaSNNTo2FNuAYcB3SX2Oe5LaufXMjr8LDF3P8c3MzMysxuS9o91UYLf1HOPbwJCIGBERr0bEkuznCFIHhwHrm6SZmZmZ1Za8d7QbRGo7thS4j/TQ3SrLKSJiUQNjdAWeqefaM9l1MzMzM7NGy3um+ClgG+A64B/AAuD9kldDXmLV3eCKfQOYsf5pmpmZmVktyXum+Lus54N2wKXA/2bbR99Dmm3uChxH6ltcX8FsZmZmZlZWrkVxRNzeBGP8VtK7pAfuriVtfbwMmA4cEhHj1/R+MzMzM7NSec8UN4mIeBB4UFIroDPwptuwmZmZmdm6yrUoljSfBpZPRES9D8pJag+8BxwfEWOyQnhe02ZpZmZmZrUm75niG1m9KN4E2B/YELhtTW+OiA8lzQM+qkx6ZmZmZlaL8l5TPLTceUkCfkvjit2bgbMkPRARy5owPTMzMzOrUZ+INcUREZJGA/8JXN5A+MbA/wNmSnqI1XsdR0ScV5lMzczMzKwl+kQUxZnPAm0bEXcMsCT7vW+Z6wG4KDYzMzOzRsv7QbvvlzndFtgROBG4u6ExIqJXU+dlZmZmZrUt75niG8qcWwLMAn5J6j1cL0mbAj2BORHxepNnZ2ZmZmY1Ke8H7dZpW2lJnUidKY4pOjcV+FZE/LOJ0jMzMzOzGrVORWoVDAMOBX4K9AfOAHrQQAs3MzMzM7PGqPhMsaTNga0jYnLJ+Z2Bi4AdSB0kro+IP9QzzNeAIRFxbdH7nwUekbRRRLxXmezNzMzMrBbkMVN8GXBV8QlJnwMmAgcCLwCfAe6RdEA9Y2wNTC059xSg7JqZmZmZ2TrLY01xH+C6knPnAO2Auoh4BkDSGOB84KEyY7QGSjfqWF50zczMzMxsneVRFG9Omg0u9jVgcqEgzvwKGLWGca6Q9HbRsbKfwyW9U3Q+IuL4dc7WzMzMzGpOHkXxIqBD4UBSL6A7qQgu9g5pt7pyHiPNCHcpOf8o6TOUnjczMzMza7Q8iuKngZOAsdnxiaRd58aWxG0DzC43QETsW6nkzMzMzMzyKIovAR6W9DdgHrA/8HBEPFUSdwzp4Tmzyhi6UYXHdxMUMzOz5qri3SciYhKwH/B30u51lwFHFcdI6gKsAG6vdD5mZmZmZqVy2dEuK4wnreH6fOCIPHIxMzMzMyvVXHa0MzMzMzOrGBfFZmZmZlbzXBSbmZmZWc1zUWxmZmZmNS+3olhSO0kXStopr3vmQdI+ku6V9IqkkDSkTMwekp6Q9KGk2ZKukNS6JKa7pN9KWpC9/ldS15KYNpKGZ2MsljRJ0m5l7jdA0gxJSyS9KOnEdcnJzMzMrFbkVhRHxBLgQurfta652gB4HhgMzCm9KGlLYDwwA9gNGAicRmpNV4hpRdrMpBfQDzgI2A4YI0lFw40ATs7e/yXg38AESZsVjXUkcBtpy+ydgFuBOyQdujY5mZmZmdWSXFqyFXmKVIQ9mvN9KyYi7gPuA5D08zIhA4EFwMkRsQJ4TlIPYLikn0XEB8CBwK7ADhExIxvrJOBZ4CvAI5I6AacDZ0XEH7OY7wCvZ+eHZvcbDNwVESOz4xclfRk4D7h/LXIyMzMzqxl5rykeDAyUdIakz0r6tKSOxa+c88lDH+DBrPgsGAd0BHYpinm5UBADRMRzwCxg7+xUHdAue28hZjlpxndvAEltSTPIK2OK7vflouURjcnJzMzMrGbkXRQ/BWwDXAf8gzRb+X7Jq6XpzurLKuYUXasvphDXvSS23FiFa51Js//lYtoBm6xFTquQdKqkaZKmzZ8/v1yImZmZWbOV9/KJ7wKR8z0/iaLkZ2Ni1zemobg15hQRtwC3ANTV1fm/oZmZmbUouRbFEXF7nvf7hJgNbFZyrnA8pyjmwDLv7VYSU3jvq/XEvAl8VOZ+3YAlwDtrkZOZmZlZzahKn2JJn5d0kqSfFDonSNo2e5ispXkc6Jd1mCg4BFgE/LUoppekzxUCJO0IbAlMyk5NJxW2BxfFtCIV05MAImIpMLU4puh+T2ZrkBubk5mZmVnNyHWmWNIGwK+AY4Fl2f3HkWYnLyfNgJ6bZ07rK/tM22aHbYHNJO0MLIyIfwI3AWcAt0q6mrSm+mfA9UVdHiYA/wf8t6QzAQE3Ak+SdeqIiAWSRgGXS5oNvAwMAjoANxelNBy4R9IU0nfbHzga+GpRTGNyMjMzM6sZec8UXw3sBRwAdCIVfwX3kWYrm5s60uzqX0kPqf0g+300QES8Ruo7vCNptrewNvfCwgBZF4jDSX8UPETqKPEv4IiIKF6/Owj4z2zs6cDngH4RMbtorDHAKVkefyf1Hx4QEfcXxTSYk5mZmVktyftBu6OBsyPi4TK7p70CbJ1zPustIh5h1eK+XMyTpD8G1hQzGziugZhlpLZ2gxuIux24fX1zMjMzM6sVec8UdwDequdaJ2B5PdfMzMzMzCom76J4KvDteq4dCzyRYy5mZmZmZkD+yyeGABMkTQDuJvXEPUzSj0hF8T4552NmZmZmlu9McURMIj1k1w64gbQWdxjwWeDAiJiaZz5mZmZmZpD/TDER8TjQV1IH4DPAuxGxKO88zMzMzMwKqrJ5R+ZDUq/ixVXMwczMzMws/6JY0mGSniAVxXOADyU9Ial/3rmYmZmZmUHORbGk04A/AQuBs0l9ec/Ojv+YXTczMzMzy1Xea4p/AtwSEQNLzo/KtjC+kFW3LDYzMzMzq7i8l09sCvy+nmu/AzbJMRczMzMzMyD/ovhh4Cv1XPsK8FiOuZiZmZmZATksn5D0+aLD64DRkjYFxgDzgK7AUcChwCmVzsfMrNp6nv/nio0980o/s2xmti7yWFP8LGnnugIBp2WvyI4LxgGtc8jJzMzMzGylPIri/XK4h5mZmZnZOqt4URwRj1b6HmZmZmZm6yP3bZ4LJH0KaFt63ls+m5mZmVne8t68YyNJv5Q0m7Sj3ftlXmZmZmZmucp7pvh2Uuu1W4F/Aktzvr+ZmZmZ2WryLooPAE6LiP/J+b5mZmZmZvXKe/OOVwGvGTYzMzOzT5S8i+LBwBBJW+V8XzMzMzOzeuW6fCIi7pN0IPBPSTOBd8vE7J5nTmZmZmZmuRbFkn4B/BCYih+0MzMzM7NPiLwftDsFuDAirsj5vmZmZmZm9cp7TfEiYHrO9zQzMzMzW6O8i+JrgVMlKef7mpmZmZnVK+/lE52BPYAZkh5h9QftIiLOyzknMzMzM6txeRfFxwIfAW2AfmWuB+Ci2MzMzMxylXdLtl553s/MzMzMrDHynik2M7NKGrpRhcd/r7Ljm5lVSd59ir/fUExE/DKPXMzMzMzMCvLuPnHDGl7XZ68WR9JQSVHmtW1RzB6SnpD0oaTZkq6Q1LpknO6SfitpQfb6X0ldS2LaSBqejbFY0iRJu5XJaYCkGZKWSHpR0omV+wbMzMzMPtlyLYojolXpC9gEOAH4G/D5PPPJ2Uyge8nrZQBJWwLjgRnAbsBA4DTgssKbJbUCxgK9SA8pHgRsB4wpaXE3Ajg5e/+XgH8DEyRtVjTWkcBtwChgJ+BW4A5JhzbxZzYzMzNrFqq+pjgi3gXukrQRcDOwb3UzqpjlETGnnmsDgQXAyRGxAnhOUg9guKSfRcQHwIHArsAOETEDQNJJwLPAV4BHJHUCTgfOiog/ZjHfAV7Pzg/N7jcYuCsiRmbHL0r6Mqnzx/1N+aHNzMzMmoO8l0+syctAXbWTqKAtJM3KXvdL2qvoWh/gwawgLhgHdAR2KYp5uVAQA0TEc8AsYO/sVB3QLntvIWY5aRZ6bwBJbUkzyCtjiu735dIlG2ZmZma14BNRFEvqDvyYbDlBC/QU8G3gMNJSkXeAiZIKvZq7A6WzyHOKrtUXU4jrXhJbbqzCtc6kfyEoF9OOtJxlNZJOlTRN0rT58+eXCzEzMzNrtvLuPjGftEFHsbZAJ+BD4Og888lLRJQuSZiYLY8YRJrFLfu2kp9rvEUTxdQbFxG3ALcA1NXVNXYsMzMzs2Yh7zXFN7J60fUhaQnAuIh4K+d8qmkyH/8RMBvYrOR64XhOUcyBZcbpVhJTeO+r9cS8SdpVsPR+3YAlpFlsMzMzs5qS9452Q/O83yfcLsBr2e+PAydJalW0rvgQYBHw16KYn0r6XET8A0DSjsCWwKQsZjqpsD2Y1FGi0LXiQLJZ3ohYKmlqFnNHUT6HAE9ma5DNzMzMakrVu0/UAklXk9qpzQQ2BL5Haqt2RBZyE3AGcGsWuw3wM+D6rPMEwATg/4D/lnQmINLM+5PAowARsUDSKOBySbNJa7QHAR1InT0KhgP3SJpCesCuP2nW+qtN/uHNzMzMmoGKF8WS/rIW4RERB1QsmerpTpqV7QK8BzwDHBgRfwGIiNckHQRcTZrtfZc0szukMEBErJB0OHAd8BBpGcr9wJkRUbwkZRCwFBgNbJyN1y8iZheNNUbSKcBPSH2NXwYGlFn7bGZmZlYT8pgpbsw64e7AXjT+YbBmJSJOaETMk6TvYE0xs4HjGohZRupDPLiBuNuB2xvKy8zMzKwWVLwojoh6izhJW5E2jDic9ADYyPpizczMzMwqpSpriiVtC1wAfAuYl/1+c0QsrkY+ZmZmZlbb8u5T3Bu4kLQE4DXgbOBXEbE0zzzMzMzMzIrlsqOdpN0k/Z70gNkuwCnA5yJilAtiMzMzM6u2PLpP3A8cRCqIvxERd1f6nmZmZmZmayOP5RMHZz+3BG6UdOOagiOia+VTMjMzMzP7WB5F8bAc7mFmZmZmts7yaMnmotjMzMzMPtFyedDOzMzMzOyTzEWxmZmZmdU8F8VmZmZmVvNcFJuZmZlZzXNRbGZmZmY1z0WxmZmZmdU8F8VmZmZmVvNcFJuZmZlZzXNRbGZmZmY1z0WxmZmZmdW8im/zbGZmVm09z/9zxcaeeWX/io1tZvnxTLGZmZmZ1TwXxWZmZmZW81wUm5mZmVnNc1FsZmZmZjXPRbGZmZmZ1TwXxWZmZmZW81wUm5mZmVnNc1FsZmZmZjXPRbGZmZmZ1TwXxWZmZmZW87zNs5mZ2foYulGFx3+vsuObGeCZYjMzMzMzF8W1TNJhkp6WtETSTEnnVDsnMzMzs2rw8okaJakOuBe4CjgB2AMYJWlRRIyqanJmZtbs9Tz/zxUbe+aV/Ss2ttUuF8W16xxgakScnx2/IKk3cB7gotjMzMxqiovi2tUHuK3k3DjgXElbRMSsKuRkZmbWMD/caBWgiKh2DlYFkpYCZ0TELUXnegPPArtHxNSS+FOBU7PD7YEZeeXahDoDb1Y7iRrj7zx//s7z5+88f/7O89ecv/OtI6JLQ0GeKbZyVvtLKSuebykT22xImhYRddXOo5b4O8+fv/P8+TvPn7/z/NXCd+7uE7VrNrBZyblu2c85OediZmZmVlUuimvX48DBJecOAV7xemIzMzOrNS6Ka9dIYHdJl0naQdK3gTOBK6ucVyU16+UfzZS/8/z5O8+fv/P8+TvPX4v/zv2gXQ2T1B+4HNiBtGTi2oi4urpZmZmZmeXPRbGZmZmZ1TwvnzAzMzOzmuei2Fo0SftIulfSK5JC0pBq59TSSRokabKkdyS9K2mSpEOqnVdLJukkSdOz73yxpBck/ViSqp1bLZC0v6Tlkv5Z7VxaMklDs/+Pl762rXZuLZmkzpJukvSGpCWSXpZ0erXzqgT3KbaWbgPgeeBO4Joq51Ir9gd+BUwFFgPfA8ZK+kpEPF7VzFquecDPSJvqLAH6Ar8EPgKurWJeLZ6kbsCvgfGAi7PKmwnsWXJufhXyqAmSNgAeA14HTgBeAboDbaqZV6V4TbHVDEkzgdERcWm1c6k1kv4OPBgRP652LrVC0h8AIuKoaufSUklqBTwITADaA9+KCBfGFSJpKP6OcyVpGPAfwPYRsaTa+VSal0+YWUVlhUMnmu/2oM2Kkt2BPsDD1c6nhbuItAPo8GonUkO2kDQre90vaa9qJ9TCHQNMAkZKmi3pRUkjJHWsdmKV4OUTZlZpPwE2Bv6r2om0ZJI2Iv0TZ1ugNTAsIq6rblYtl6T9gNOBXSJihZdv5+Ip4NvAi8BGwEBgoqRDImJ8VTNrubYhLQu6C/gqsDlwQ/bzxCrmVREuis2sYiR9n1QUf807JVbc+8DOQEdgL+AKSW9ExOjqptXySOoM/Dfw3YiYU+18akVE3F9yaqKkHsAg0ppua3qtSP/Kd3JEfAQgqS1wt6QzI+LtqmbXxFwUm1lFSDoXGEYqiCdUO5+WLiJWAIXuB89I+gxwKeCiuOn9P9JM2Z+KZohbkVavfAR8OyLurFZyNWYycHS1k2jBZgMzCwVx5rns59aAi2IzszWRdAnwI+CwiHi02vnUqFZAu2on0UJNBb5Qcu77wOHAYcBruWdUu3bB33clTQT2ldQ6IpZn57bPfs6sTkqV46LYWrSsnUzhSeW2wGaSdgYWRoR7ilaApGuA00jte2ZI2iy7tDgi3qteZi1X9oT4RODfpFZJ+wDnAf9Zzbxaqoj4AHi2+JykecDSiHi2/LtsfUm6GhhLKsY2JLV77AccUcW0WrpfAF8Hbsj+3755du6OiHinqplVgFuyWYsmaV/KP4H/aETsm282tUFSff9T+XVEDMgzl1ohaSTpIZgewIek4vhXwKii2R2rILcLqzxJ/0Pqwd0FeA94Brg8Iv5S1cRaOEkHAFeS/nVkDnA3cHFELKpqYhXgotjMzMzMap77FJuZmZlZzXNRbGZmZmY1z0Wx2f9v79yjvaqqPf75CiqYmQo+MFH0KmZqQ1NxmFaGibdi+Mqwa5ZkPkrNa5jvewtFUhG9NTQsH8AlNUtLMyuRCx4f9yY+CiNUzAcmCigcH8jhoTLvH3Nt2Kyzf+f8jhwe8pufMfY47LXXnmuux/7tudaaexIEQRAEQcMTRnEQBEEQBEHQ8IRRHARBEARBEDQ8YRQHQRAEQRAEDU8YxUEQBEEQBEHDE0ZxEARBEARB0PCEURwEQRAEQRA0PGEUB0EQBEEQBA1PGMVBEARBEARBwxNGcRAEQRAEQdDwhFEcBEEQBEEQNDxhFAdBEARBEAQNTxjFQRAEQRAEQcMTRnEQBEEQBEHQ8IRRHARBEARBEDQ8YRQHQRAEQRAEDU8YxUEQBEEQBEHDE0ZxEARBEARB0PCEURwEQRAEQRA0PGEUB0EQBEEQBA1PGMVBEARBEARBwxNGcRAEQRAEQdDwhFEcBOsIkoZKMknjK67dLqlpNepyUNJl99VVZkeQtKukByUtSHr2qZGvp6RrJD0vaZGkVySNl3REJ+qynqSfSpqTdBnaWbJXFZJmJF1N0hJJ/5B0uaQPrYKyBkg6s7Plvl8knS7J2skzVNLcVVR+3yR/0yx9cOqPjVdRuWNLfb5U0ouSxkjaalWU15lIGtjWcx4EBV3XtAJBEHQ6AyTta2aPrmlF1mKuADYFDgMWALPyDJLWB+4DNgKGA88B2wIDgIOBOztJl6OAU4FvAU8CMztJ7qrmFuBqYAPgs8B/Aj2AEzu5nAHA0cCPO1nuB5W+wA+BscAbq7nsp4Fv4gtqu+HPxccl7W9mS1ezLkHQ6YRRHATrFs24UXUh0GmrmWsbkrqZ2aKVEPEx4C4zm9hGnoOA3YF+2QTjJklaibIBkNTdzBYmXV43s9ErK3M1M8vMHk7/fkDSR4HBkk5emw2kThg7jcyCUp//n6SFwC+AvYFWk/A0sVxqZu+tRh1XGZK6AF3MbMma1iVYNYT7RBCsWxjwI+AwSXvUylRrezdtMZ5eOp8haaSk8yTNkvSmpCvlfFHSNEnzJd0pabOKoraRdHdyU/inpG9XlHmgpPsltUiaJ+l6SR8uXS+2hftJakov4rPbqNuekiYmea9LurnY4pXUJ219/wvwvSS3qYaoYnt6dn7BzJZtn6dt5ccyHfok2QNLaSZpiKQfS3oNmJrKHgZsVtqa7iOpl6TRyW1joaRnJF0iaYOsnO6SRqSt7MWSXpB0aZbnxNRPi1O+c7Lru0m6R1Jz6qenJJ1Wq33b4AlgQ2CLTH57/buppBvkrimL0ji5Pl0bCpwFbF9qn7GlewdJmprq9pKk4ZK6lq7XHDuSuqW2eynd/4SkL2a6byh3n3kjtc9/AevX2yCSDpD0l1SvKZIOLF27IvWvsnu+KXdJ6Vkh7yDg9+n0hVS3GVm2HSRNSH35tKSjKuQcLumxpNfs1A5116vE4+lvnyS3Se6qdbKk54BFwDbpWn9Jk1OZcySNUubqIamHpJ/Lf2sWSZqukuuM3NXoPEnPpj57RtLxmQzJf99elf82jQM2yfJUuncV+pfOx6Z2OkLStFSf/dK17STdmsZFi9ytapf30YbBWkSsFAfBusdtwEX4avFXO0HeV4FH8G3TvYFL8An1Z/At8+7ANcClQG703oivJF2NuwlcK2mmmd0NbjQAE3FXhKPx7ffLgM3SeZlfAtemulVuG0vaAmgCngKOBTZO8iZI2gd3k9gfuAOYlPR6q0a9pwBLgdGSLgIeNrN3a+Stl7OBB4Cv4204AxiC1/VfU55Z+BZ5c7r2ejofihucp6S6Cvhdqs8w3ED5KPDpojBJZ+OTpBF4u+wNDJPUYmbXpGx34dvixwGLgV3IjIg62Q6YDyybbNXZv1cBnwK+h09AeuNjC+AGYGegP3BkSnstyR4A/AoYh7frJ1I79KD1OKwaO7cD/XBXhOeAQcBdkvYxsykpz2W4O8iFuGvLScBX6myPjYCb8OdiFm7c/0nSzmY2O9Xt+7jrSVPpvsHA782syif5L+mekfjzNAvvszK3ANfhLkLfBW6VtKOZzQSfSKT2+DlwAT5BvBQfj9+vs24FfdLf8sTxgCTzXKAFeFPSx4F7gAnAl/E+vgzYkTTuJXXH22FLvJ+eBnZKR8HVwPHAxaktDsGfz3nFbwpwBvADfNw/iLfTiA7WK6/jiFTmHHwysjnwEDAPH2stwHnA/0jqm3aAgg8iZhZHHHGsAwduNM1N/x4MvAf0Tee3A01VeTMZBpxeOp8BPItvGRZpjwDvAjuU0kYAc0rnByVZ12XyJ+DGZXH+IHBflqd/unf3Ul0M+Pc62uAy3OjZpJTWL93/b1m9RtYhbwiwJN2/EH+xfyXLMxZ4LEvrk+4ZmLXtX9vqtzb06Iob+YuADVLaoUnmYfoK3O0AAAmfSURBVDXu2QR4G/hhln4xbsR0AXomGXt0cKzNAK5Mem2EGzavA+dm+erp378D322jrJHAjIr0hytkn5PG/bZtjR3cJ9yAz2bpDwC3pX/3SH1+bun6erixZnU8iwYcW0rbGJ/oXFZKewj479L5jvhEbGAbsgcm2X2y9KKuJ5TSeuDP6rfTuYAXgTHZvSekuvZoo9yxwGOpzzcA9gSmAv8ENkp5mpKcrbN7bwX+wYq/I4OSvvun81NS3fesUf5O6frxWfo44NH07y7AK8C1WZ4J5TZj+e/T7lm+JuD2rM6W64RPvuYBm5fSNgPeBE7ryLMUx9p1hPtEEKyb3IS/rM7vBFlNtqJP4LO4kfJClraFsu19fEW2zG+BvSV1kbQRvsr5a0ldiwM3FN7BVzXL/KEOXfsB95rZstVfM3sEN+IOrHVTLczsKmAH4DR823q/pO+lbd5Ym3rqUGwBnynpybTl/w5wM+6esF3K1h9oNrO7aojZH/gQcFvWvpOArfCPBpuBl4CfSTpG0pYdqMuQpNcC4E+4gXp5qQ719u8U4GxJp0rqW0/Bct/OT+K7ImV+hRuu+2fpebt/Hp8Y/G+m20Rgn5RnD6AbvhoPgLmv9O+on2Xj38zexo2zfqXrNwJfLrkRDMZXI+/pQBk595bKnAe8ivc1+I7DdrTuk0l4XduLFrM33neLgb+mtKPNrKWU53HzlfAy/YA7st+R3+AGe/Fc9scnjVOo5mDcKL6jos/2TGOiN9CL1n3023bq1RYvV+j0ebwv3yrpMR/frdknFxB8cAijOAjWQcy3+UcAx0nafiXF5a4KS2qkCV9BKvNqxXlXfIVyM3xlZxT+oi2OxbjfZu/s3jl16NqrRr45wOZ13N8KM3vZzEaZ2SDcuLgHN+J6vA9x9dQB4Ex8JfYO4HDcqCj8fLulvz2oiJpRovBJncaK7XtfSu+djLwBuIE4GpgtD1W3Vx063gTsi6+6jQGOlPSd0vV6+/d03L3iB8B0eXi39tx+eiYZeXsW53lf5/l6Altner2Dr/AWem2d/laN4Xp421pvo7+Kj9GCX+OG3qDkDvMNYJytnJtO1bNZjJliTPyRFetdTHDzZy7nKbzPPwlsZWZ7pElnmaox3uq5TAbyPJb3VT3juQu+GlvWfSz+m9KLle+zKqrq0xM4htbj53O034bBWkz4FAfBusto4D9w376cRWQGrKo/lFtZ8pXHLfHVobn4i9pwQ+SPFfe+kp23GRs2MauiTPCV0ccr0juEmS2QNAp3F9gJf6m3aktqG+D11AHcb/U2M7uwSEh+mWXmsaKBldOc/g6k+sU+HcDMnsZXK9fH/ZEvB/4gaVtrO4rEHDMrPjC8P02+LpY0zswW4MZZu/1rZm/gfqBnSPoE7gJxs6S/mdmTNcqeixsheV8XMXObs/S83ZuBl2k7Qkux2rllJq/e1fSNtTzCSPneZYZfGk+34ivELwLb40beqqKox8ksX+kt80JFWpmWUp/XomqMt3ou08puj5JO81jRfzinGf/tOACfSOQUE27ysirOi+gjVc9t7stdVZ9m3Bd/WMW1+RVpwQeEWCkOgnUUM1uM+2OeQGvjaSbwYXkYrYIBq0CNIyvOHzez95Lh9DCwi5k9VnHkRnE9TAYO1YrRDfbFfXwf6oggSZurFMmgxM7pb7H6NBPoI6lbKc8hHSmrgu60/oDqa9n5RGBzlSJcZPwZ9+/cpkb7rvDyNrN3zGwS/uFbL5ZH36iX8/EVtG8leR3uXzP7G/7R3Hp4qDpYcaWzyPcePsnJP3obhBtMf25H14n4quLbVbqlPFNx4+nw4iZJ65XP62DZ+E8uEofgPvllbsQnI0Nxf/un2pFZhAPr1mauaqbjk4E+Nfpk3vuQWQ+T8Z2ELqW0o3AjtnguJwJ7pYlRFZPwleKP1NB9Ce4KNJvWfZRH4Chige9aJEjqjX9kWg8T8TjN0yr0mF6njGAtJFaKg2DdpvjC/FPA/aX0e3CDabSkK3G/2Vbh0jqBL0ganso+CjcKyi+sc4CJkpbiHwPOx30evwRcaGbPdLC8q4DvAOMlXc7y6BNTcR/GjtAfuFTSGDwG61K8Hc8D7i75VN+Jf7x2gzxc2F54pI6VYQK+cjoZj4zwNVqvok0AxgO3SCq+xu8FfMbMTjGzN+QhzX6SVnEfwI3NvsDnzOzIZICMxH1xn8ddHs4FnjCzfLW1TczsEUkT8FB3P02Ga7v9K+kh3E3k7/iq3Em4n3JhPD4NbCVpcMoz18xm4FEjxqf+uRX3AR4GXG8p0kIbFG03IY2TafiHiXsC3czsfDObJ+k64CJJ76Y8J+Fjqh4WAsOTMfwKHtlhA+AnWbtNTuG+DiRFFmmHwug6Ja0yt5jZ1HoUMrOlks4CfiFpE9wXfAn+gd8RtPYP7iwuwVem75R0Le6GdDkw3syKCcw43EXo3jRup+O/S33N7Dwzmy7pZ3g0jRH4R3/dcOO0r5mdaGbvpWsj5SEnH8SjXSwzflM7zJT0KCkSC/5cXEDrHYZaXIVHa5kk6Wp8orEVHknkITP7ZUcbKFhL6Kwv9uKII441e1A7osQFuLHRlKV/AX/Rt+Avj12pjj4xMrtvLK2jLQxO926czg9K54fiL94WfHXm1Ar99sON9LdwY+hJ/KXzkSrZdbTDXviqUgu+hX8L7v9IW/WqkNMbNxinJDnzceP6fNLX9ln9n0tl3o0bz1XRJ06vKKdVv+GG1xj8Jd2Mh+8qog7sXsrXPek4E19ZfgEYnsk6Dl9VXYhHiJgMDEnXtsRD5j2Pr4rOxsN1bddO21S2Hx5KLY/00V7/XpHadX5q5/uAT5fu75ba4tUke2zp2jHp3iWpDYYDXWuNy0zXDfHQX8+m+2cnPb+U5RmF+7G+jocEG0J90Sfm4ivAU1LfPIFPWKryX5LGziZtyS3lPwt3t3iXFJmjVl2r+gp/9h9M/fFW0vGScttVlDmW7LmvyNNEKXpDdu3gNPYWpb4cVaFrD+D6dH0RPiE6o3RduL/9tNSmr+ET7m9keYala/PxD1SPJYvYgU8ym1IbTMcn6yvo31ad8fjLY3DXpMWpnW8CdqunD+NYOw+lzg2CIAiCYA0g6RFgupl9fU3rEgSNTLhPBEEQBMEaIP2HMv3xiA7v538RDIKgEwmjOAiCIAjWDI/iLiPnm9mja1qZIGh0wn0iCIIgCIIgaHgiJFsQBEEQBEHQ8IRRHARBEARBEDQ8YRQHQRAEQRAEDU8YxUEQBEEQBEHDE0ZxEARBEARB0PCEURwEQRAEQRA0PP8PkMCW6de5DEkAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = df_surface_counts.plot.bar(figsize=(10,5))\n", + "\n", + "# configure labels\n", + "ax.set_ylabel(\"\\nNumber Surface Resotration\\n Procedures\\n\", fontsize=15)\n", + "ax.set_xlabel(\"\\nNumber of Surfaces Restored by the Procedure\", fontsize=15)\n", + "ax.tick_params(labelsize='x-large')\n", + "\n", + "# rotate the ticks on the x axis\n", + "plt.xticks(rotation=0)\n", + "\n", + "plt.legend(loc='upper right', prop={'size': 15})\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 339, + "metadata": {}, + "outputs": [], + "source": [ + "left_surface_counts = left_surfaces.set_index('tooth_num').sum().to_frame(name='left')\n", + "right_surface_counts = right_surfaces.set_index('tooth_num').sum().to_frame(name='right')" + ] + }, + { + "cell_type": "code", + "execution_count": 340, + "metadata": {}, + "outputs": [], + "source": [ + "df_surface_counts = \\\n", + " functools.reduce(join_dfs, \n", + " [left_surface_counts, right_surface_counts])" + ] + }, + { + "cell_type": "code", + "execution_count": 341, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = df_surface_counts.plot.bar(figsize=(10,5))\n", + "\n", + "# configure labels\n", + "ax.set_ylabel(\"\\nNumber Surface Resotration\\n Procedures\\n\", fontsize=15)\n", + "ax.set_xlabel(\"\\nNumber of Surfaces Restored by the Procedure\", fontsize=15)\n", + "ax.tick_params(labelsize='x-large')\n", + "\n", + "# rotate the ticks on the x axis\n", + "plt.xticks(rotation=0)\n", + "\n", + "plt.legend(loc='upper right', prop={'size': 15})\n", + "plt.show()" ] }, {