diff --git a/data_analysis/textbooks_filtering/README.md b/data_analysis/textbooks_filtering/README.md
new file mode 100644
index 0000000..8a268c3
--- /dev/null
+++ b/data_analysis/textbooks_filtering/README.md
@@ -0,0 +1,28 @@
+# Filtering of The Stack with an LLM [WIP]
+In this section we describe the filtering of the Python subset of The Stack following the approach used in [Textbooks are all you need paper]().
+The filtering is done in two steps:
+
+1 - Annotate 100k files from the Python subset of The Stack using GPT4/LLaMa to find if a file has educational value for beginners or not.
+
+2 - Use the annotations to train a classifier to predict if a file has educational value for beginners or not based on its embedding.
+
+## Annotating The Stack
+We test LLaMa-70B-Chat, GPT4 and ChatGPT. We use the following prompt:
+```python
+prompt = """Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. \
+Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: "[[rating]]", for example: "Rating: [[5]]", then provide a short explanation of the rating.\n\nCode file:\n\n"""
+# append code file
+```
+We now only analyze code file with more than 600 charcaters and less than 6k characters.
+After setting the variable `HF_TOKEN`, `LLAMA_API_URL` and `OPENAI_API_KEY` you can run annotaions. For example, you can use LLaMa-70B-Chat to annotate the files using the following command:
+```bash
+python main.py --model_type llama --model_name llama-70b-chat --n_samples 200 --output_path ./llama_200_samples.json
+python main.py --model_type openai --model_name gpt4 --n_samples 600 --output_path ./gpt4_600_samples.json
+python main.py --model_type openai --model_name gpt-3.5-turbo --n_samples 10 --output_path ./chatgpt_10_samples.json
+```
+You can find some analysis of results in `analyze_results.ipynb` notebook including teh distribution of scores on 600 python files below:
+
+
+
+### Acknowledgements
+The code in this reposityory is adapted from https://github.com/huggingface/h4/blob/main/scripts/evaluation/
diff --git a/data_analysis/textbooks_filtering/analyze_results.ipynb b/data_analysis/textbooks_filtering/analyze_results.ipynb
new file mode 100644
index 0000000..a285646
--- /dev/null
+++ b/data_analysis/textbooks_filtering/analyze_results.ipynb
@@ -0,0 +1,3157 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "dict_keys(['completion', 'eval_prompt_header', 'generation_config', 'prompt', 'review_model', 'score'])"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import json\n",
+ "\n",
+ "with open(\"/fsx/loubna/code/data_v2/bigcode-analysis/data_analysis/textbooks_filtering/llama_600_samples.json\", \"r\") as f:\n",
+ " llama_600 = json.load(f)\n",
+ "\n",
+ "with open(\"/fsx/loubna/code/data_v2/bigcode-analysis/data_analysis/textbooks_filtering/chatgpt_600_samples.json\", \"r\") as f:\n",
+ " chatgpt_600 = json.load(f)\n",
+ "\n",
+ "with open(\"/fsx/loubna/code/data_v2/bigcode-analysis/data_analysis/textbooks_filtering/gpt4_600_samples.json\", \"r\") as f:\n",
+ " gpt4_600 = json.load(f)\n",
+ "\n",
+ "chatgpt_600[0].keys()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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h8Whhx4affv2jd69e0fnzp2jrKws2rZtG7t27YrKysp49913Y/ny5fH666/H888/HwsXLmzsR3rfjTfeGMcdd1yUlpYmdmZaioqKolevXtG/f//o379/9O3bN7p27Rpdu3aNbt26RXl5+fvPdkREfX19VFVVxfbt22P9+vWxYcOGWLp0abzzzjsxb968mDNnTlRXVyeacePGjfG1r30tHnrooSgu9q+fAQAAAAAANJS/YQEAAAAAAAAAaOJKS0vfL1EPGTIkhgwZEnvuuWeDzygtLY2OHTvGvvvu+0+/VlVVFa+//nr85S9/iSeeeCLee++9RHKvWbMmbr311rjhhhsSOS8ttbW18a1vfSt27NiR8Z4OHTrE6aefHmeccUYMHjx4t2vLy8ujvLw8unfvHkOGDIkzzjgjIiLefPPN+P3vfx+PPvpo1NbWNuYjxPr16+O+++6Lr33ta//0n69duza+853vRH19fcZntW/fPk499dQYNWpUDB069P0fIvFhysrKoqysLLp27RqDBw+O008/PSIi3nrrrfjd734XkyZNipqamuw+1P/v3XffjQkTJsSXv/zlRp2ThrKysjjiiCPikEMOiSFDhsTgwYOjrKws4/0FBQXvF/47d+4cAwcOjGHDhr3/65WVlfHyyy/Hk08+GU899VRs27Ytkdxz586N++67Ly6++OJEzgMAAAAAAGhNCuob8rdzAAAAAAAAAECrMXHixBg/fnyD933uc5+Lm2++OQeJPtzKlStjxIgRDd7Xs2fPmDZtWg4SfbTjjjsu1q5du9s1Xbp0iREjRsQnP/nJOOaYYxpU+m2MmpqamDp1atx7773x9ttvN/q8goKC+M1vfhNDhw5NIF3jDBw4MKt9F154Ydx3330Zre3QoUOMGTMmzj///Gjfvn1W8/5fixYtimuvvTZeffXVRp1TVlYW06dPj44dO0bE/3z7+wUXXBAvvPBCRvvbt28fo0ePjgsuuCA6dOjQqCz/sHjx4rjmmmsa/dk6duwYzzzzTGJ3no2ampoYNGjQR67be++9Y8SIEfGpT30qjjjiiCgtLc1Duohdu3bFxIkT47777ovly5c3+rw2bdrElClTom/fvo0PBwAAAAAA0IoUph0AAAAAAAAAAID/0aZNmxg5cmTcc8898eyzz8b3v//9OPHEE/NW7o+IKC4ujtNPPz0mT54ct956a3Tr1q1R59XX18f3v//9Bn1DfFPzwAMPZLTu5JNPjieeeCIuvfTSRIvmAwYMiN/85jeN/ob6ysrK+N3vfvf+///QQw9lXO4//vjj44knnogrrrgisXJ/RET//v3jN7/5TVx44YWNOmfz5s0xefLkZELlQPv27ePzn/98/Nd//VdMmzYtrr322hg+fHjeyv0R//P7y9lnnx1Tp06Na665JvbYY49Gnbdr16645ZZbEkoHAAAAAADQeij4AwAAAAAAAACkrHv37vHv//7vMWPGjLjtttvi+OOPj+Li4rRjxahRo+LJJ5+Mk08+uVHnzJs3L5555pmEUuVfXV3dbn+9pKQkbrzxxrj99tuja9euOclQVFQU3/rWt+Lf//3fG3XOb3/726iuro7169fHj370o49cX1xcHN/97nfjnnvuiR49ejRq9r9SVFQU3/72t2PcuHGNOuf//vCCpqJPnz5x3XXXxd/+9rf44Q9/GEceeWQUFBSkmqmoqChGjx4djz/+eBx++OGNOmv69Okxb968hJIBAAAAAAC0Dgr+AAAAAAAAAAAp6du3b9xyyy0xbdq0uOSSS6JTp05pR/qAPfbYI26//fb4xje+0ahz7rrrroQSNS177LFH3H///XHmmWfmZd4ll1wSZ511Vtb7N2zYEDNmzIif/OQnUVFRsdu15eXlce+998a5556b9byGuPzyy+OMM87Iev+iRYti1qxZyQVqhEGDBsVdd90VU6dOjfPOOy/KysrSjvQBPXr0iAcffDDOO++8rM+or6+PO++8M8FUAAAAAAAALZ+CPwAAAAAAAABAnu29997xgx/8IJ544ok444wzoqSkJO1IH+niiy+O66+/Puv9c+fOjeeffz7BROkrKyuLX/3qV43+FvSGuu6666Jv375Z77/tttti0qRJu13Trl27+MUvfhFHH3101nOyccMNN8Q+++yT9f6pU6cmmKbh9ttvv/j5z38eEydOjBEjRkRhYdP+17OKioriuuuui7Fjx2Z9xlNPPRXLli1LMBUAAAAAAEDL1rT/BgkAAAAAAAAAoAX63e9+F2eddVYUFRWlHaVBzjnnnLjkkkuy3v9RpfLmpKioKH7+85/HIYcckvfZbdq0iRtuuCHr/QsWLIj6+vp/+euFhYXxs5/9LO8/uCAiom3bto36QRJPP/30bj9bLhUXF8eUKVPi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AABoAtasWRM/+tGP4oknnmjRxf5/qK2tTTtCxkpKStKOkDMt+bM1FQsXLowf/vCHMXPmzLSj5EVzerYBAAAAAADSoOAPAAAAAAAAAJCyhx9+OG6++ebYtm1b2lGAhNTW1savf/3r+PnPf+5b7QEAAAAAAHifgj8AAAAAAAAAQEq2b98e3/zmN+OZZ55JOwqQoA0bNsTll18er732WtpRAAAAAAAAaGIU/AEAAAAAAAAAUrB27dr4yle+Em+//XbaUYAELVy4MC6++OJYtWpV2lEAAAAAAABoghT8AQAAAAAAAADy7N13341zzjknVq9enXYUIEFvv/12nH/++bFt27a0owAAAAAAANBEFaYdAAAAAAAAAACgNdm0aVN8+ctfVu6HFmbFihVx0UUXKfcDAAAAAACwW8VpBwAAAAAAAAAAaC1qamrisssui8WLF+dsRps2baJXr16xzz77RK9evaJ79+7RpUuX6NKlS3Ts2DHKysqirKwsysvLo6SkJIqKiqKoqChKSkqioKCgwfNmzZoVo0ePzsEngeajoqIiLrrootiwYUPOZpSVlUXv3r3f/6dr167vP9sdOnT4p2e7uLg4iouLo6ioKIqLi7N6tidOnBjjx4/PwScBAAAAAABo3RT8AQAAAAAAAADy5J577olXX3010TP79u0bxxxzTHziE5+IQYMGRf/+/aOoqCjRGcDu3XjjjbF06dJEz9x///3jmGOOicGDB8egQYOiT58+WRX1AQAAAAAAaFoU/AEAAAAAAAAA8mDOnDlx9913J3JWv3794owzzojTTz89evXqlciZQHaefvrpmDhxYiJnDRo0KM4444w45ZRTolu3bomcCQAAAAAAQNOi4A8AAAAAAAAAkAc333xz1NTUNOqMAw44IMaNGxcnnnhiQqkar66uLu0IkJqampq45ZZbGn3O4YcfHl/72tfiiCOOSCBVMmpra9OOAAAAAAAA0CIp+AMAAAAAAAAA5NjMmTPjpZdeynp/SUlJfPWrX42LL744ioqKEkzWeDt37kw7AqTmkUceieXLl2e9v6ysLMaPHx9f/OIXE0yVjF27dqUdAQAAAAAAoEVS8AcAAAAAAAAAyLG77ror671lZWVxxx13xLBhwxJMlBwFf1qrurq6+MUvfpH1/q5du8a9994bBx54YIKpkuPZBgAAAAAAyA0FfwAAAAAA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JXHBBRfETTfdFLW1tTmflw33AQAAAAAAAAAAAAAAAADQNCj4A1nbuHFjXH755XHddddFVVVV2nFi586dceWVV8aPf/zjqKury+vsBx98MC688MLYvHlzXufujvsAAAAAAAAAAAAAAAAAAGhaFPyBRnvooYfioosuim3btqWWoaqqKi677LJ48sknU8vwwgsvxJgxY1K9h39wHwAAAAAAAAAAAAAAAAAATY+CP5CIWbNmxdixY2PHjh15n11dXR1f+9rX4u9//3veZ/+/3nrrrRg7dmxs3749tQzuAwAAAAAAAAAAAAAAAACgaSqor6+vTzsEsHv/+Z//Gb/61a/SjpGR448/Pu6+++4oKCjI28wbb7wx/uu//qvB+zp27BgnnHBCHHTQQdG/f//Yc889o6ioKLZs2RLvvvtuzJkzJ2bMmBErVqxo8NkjR46M2267rcH7kuA+AAAAAAAAAAAAAAAAAACaJgV/aAYaUvDfc889o0+fPtG3b9/o27dv9OvXL/bee+9o3759lJeXR/v27aOsrCx27doVFRUVUVFREZs2bYoFCxbEvHnz4q233oo5c+ZEY35r+M53vhNjxozJen9DPP300/HVr361QXv69OkTV1xxRZx00klRWlq627X19fXx0ksvxe233x4vvfRSg+Z897vfjXPPPbdBexrLfQAAAAAAAAAAAAAAAAAANF0K/tAM7K7gP2DAgDjyyCPjkEMOiU984hPRp0+fRs979913Y8qUKTFp0qRYunRpg/eXlpbGE088Eb179250lt1Zv359nHrqqbF169aM1hcUFMRFF10UV1xxRZSUlDR43uTJk+N73/te7NixI6P1paWlMWnSpNh3330bPCsb7gMAAAAAAAAAAAAAAAAAoGlT8Idm4P8W/Dt06BDDhg2LT37ykzF8+PDo2rVrzubW1NTEhAkT4uc//3ls3769QXtPO+20+MlPfpKjZP/jW9/6Vjz66KMZrS0qKopbb701TjvttEbNnDdvXowZMyY2btyY0fqjjjoqHnzwwUbNzJT7AAAAAAAAAAAAAAAAAABo2hT8oRl44IEHYsmSJXHyySfHEUccEcXFxXmdv3bt2hg3bly88cYbGe8pLCyMp59+Onr27JmTTK+++mqcc845kelvYbfeemuMGjUqkdnz5s2L8847L7Zt25bR+p/97GdxyimnJDL7X3EfAAAAAAAAAAAAAAAAAABNn4I/kJGdO3fGhRdeGK+88krGey699NK48sorc5Ln7LPPjldffTWjtRdccEGMHz8+0flTp06NK664IqO1++yzT0ydOjWKiooSzfB/uQ8AAAAAAAAAAAAAAAAAgKavMO0AQPPQtm3buPPOO6Nbt24Z73nmmWdykuWVV17JuMy+//77x1VXXZV4hpEjR8bnP//5jNYuX748/vznPyee4R/cBwAAAAAAAAAAAAAAAABA86DgD2SsU6dOcfXVV2e8fsGCBbFu3brEc9x7770Zr7366qujpKQk8QwREd/4xjeiffv2Ga1tSOaGch8AAAAAAAAAAAAAAAAAAM2Dgj/QIKecckoMGDAg4/Vvv/12ovNXrVoV06dPz2jtsGHD4uijj050/v/VtWvXGDNmTEZr586dG6+++mriGdwHAAAAAAAAAAAAAAAAAEDzoeAPNEhBQUF89rOfzXj9kiVLEp3/2GOPRX19fUZrL7zwwkRnf5hzzjkn2rZtm9HaP/3pT4nPdx8AAAAAAAAAAAAAAAAAAM2Hgj/QYA35Fvh169YlOjvTUni/fv1i+PDhic7+MJ07d47TTjsto7VPPvlkVFdXJzrffQAAAAAAAAAAAAAAAAAANB8K/kCD7bffflFQUJDR2srKysTmzp8/P955552M1p5++umJzf0on/nMZzJat2nTpnjuuecSm+s+AAAAAAAAAAAAAAAAAACaFwV/oMHatWsXHTp0yGhtXV1dYnNnzpyZ8dpMv0U+CUceeWR069Yto7UN+QxJntUa7gMAAAAAAAAAAAAAAAAAoKlT8Aey0rZt24zWZfqDADKR6be99+nTJ/r165fY3I9SWFgYxx57bEZrk/zGevcBAAAAAAAAAAAAAAAAANC8KPgDWdm1a1dG6zp27JjIvKqqqnj55ZczWnvUUUclMrMhMp25cOHCWLt2baPnuQ8AAAAAAAAAAAAAAAAAgOZHwR9osOrq6ti6dWtGaz/2sY8lMnPu3Lmxc+fOjNY25UJ7RGRczN8d9wEAAAAAAAAAAAAAAAAA0Pwo+AMNtmzZsqitrc1o7aGHHprIzLlz52a89uCDD05kZkP06NEjunfvntHat956q9Hz3AcAAAAAAAAAAAAAAAAAQPOj4A802KxZszJa16tXr9hrr70SmZlpCXzPPfeM3r17JzKzoQYNGpTRurfffrvRs9wHAAAAAAAAAAAAAAAAAEDzo+APNNif/vSnjNadcMIJic3MtNB+wAEHJDazoQ488MCM1iXxjfXuAwAAAAAAAAAAAAAAAACg+VHwBxpk1qxZ8dprr33kusLCwhg9enQiM+vr62PJkiUZre3Tp08iM7OR6exNmzbFxo0bs57jPgAAAAAAAAAAAAAAAAAAmicFfyBjO3fujO9973sZrT3ppJOid+/eicxdv3597Ny5M6O1++yzTyIzs9GQ2StXrsx6jvsAAAAAAAAAAAAAAAAAAGieFPyBjNTW1sZVV10Vixcv/si17du3j29/+9uJzV61alXGa1tDod19AAAAAAAAAAAAAAAAAAA0Twr+wEfavHlzXHLJJfHUU09ltP7qq6+Onj17Jja/IeXvbt26JTa3oTp37hzFxcUZrW1Mod19AAAAAAAAAAAAAAAAAAA0Twr+wL9UV1cXDz30UJx88snx7LPPZrTn7LPPji984QuJ5lizZk3Ga9MstBcWFkbnzp0zWrt69eqs57gPAAAAAAAAAAAAAAAAAIDmKbOvVgZalRUrVsSUKVNiypQpsXTp0oz3/du//Vtcf/31iefZtGlTxmu7du2a+PyG6NatW6xbt+4j123evDnrGe4DAAAAAAAAAAAAAAAAAKB5UvCHFmbr1q2xfv36j1xXU1MTFRUVsX379qioqIilS5fGvHnzYv78+Q0q9UdEFBUVxaWXXhqXX355FBQUZJn8X9uyZUtG60pKSqKsrCzx+Q3RoUOHjNZl+pkas7e13Af5VVtbl3YEACAhhYUFH/n+Xl9fH3V19XlKBAAAuec9GACA1sq7MAAArZH3YAAAWivvwqShqKgw7QjNioI/tDCPP/54fO9738vbvN69e8ett94ahxxySM5mZPrt7u3bt89ZhkxlmqEx31jvPkiTFy0AaF0KCgqiqCj5H+IFAABNmfdgAABaK+/CAAC0Rt6DAQBorbwLQ7oU/IGsfOxjH4uxY8fGmWeeGW3atMnprK1bt2a0rry8PKc5kszQmG+sdx8AAAAAAAAAAAAAAAAAAM2Tgj+QsdLS0jjmmGPilFNOiVNPPTVKS0vzMnfHjh0ZrSsrK8txko+WaaF9586dWc9wHwAAAAAAAAAAAAAAAAAAzZOCP5CRnj17xre+9a04/vjjo02bNnmdXVNTk9G6kpKSHCdJLkN1dXXWM9wHAAAAAAAAAAAAAAAAAEDzpOAPZGTVqlVxxRVXRLt27eLII4+MM888M0aMGBGFhYU5n51p+bu4OP3f0oqKijJa15hCu/sAAAAAAAAAAAAAAAAAAGiect/MBVqUHTt2xF//+te4/PLL49RTT43//u//jqqqqpzOzLT8nWmZPJcyLdXno+DfWu4DAAAAAAAAAAAAAAAAAKC5UPAHsrZkyZK49tpr46yzzor58+fnbE5NTU1G65rTN9Zn+pkas7e13AcAAAAAAAAAAAAAAAAAQHOh4A802rx58+LMM8+MX//61zk5P9Oiem1tbU7mN0SmGRpTvncfAAAAAAAAAAAAAAAAAADNk0YltDBnn312nH322R+5rqKiIioqKmLbtm2xdevWWLRoUcyZMyfmzJkTCxYsiOrq6gbNraqqih/96EexevXquPbaa7ON/6FKSkoyWtcUCu2ZfhN9pp+pMXtby32QX7W1dWlHAAASUlhYEAUFBbtdU19fH3V19XlKBAAAuec9GACA1sq7MAAArZH3YAAAWivvwqShqMh30jeEgj+0Uu3bt4/27dvHXnvtFRERhx12WHzxi1+MiIht27bFlClT4pFHHom5c+c26NwJEyZERCRa8s/0290b+kMJciHTUn1jCu3ugzRt2lQZ9fVe3gGgJejcuTyKinb/B3d1dfWxceP2PCUCAIDc8x4MAEBr5V0YAIDWyHswAACtlXdh8q2goCC6dm2fdoxmxY9DAD5gjz32iHPPPTcmTpwYf/zjH+OAAw5o0P4JEybEXXfdlVieTMvfmX5bfC7l4xvr3QcAAAAAAAAAAAAAAAAAQPOk4A/s1pAhQ+KRRx6Jr3/961FaWprxvp///Ofx8ssvJ5Khbdu2Ga2rrKxMZF5jbN+e2U8tatOmTdYz3AcAAAAAAAAAAAAAAAAAQPOk4A98pOLi4vjKV74S999/f+y5554Z7amrq4vrrrsuqqqqGj2/Q4cOGa2rqKho9KzGyjRDx44ds57hPgAAAAAAAAAAAAAAAAAAmicFfyBjQ4cOjV/84hcZf9v64sWL4+GHH2703EwL7Zl+W3wuZZoh08/UmL2t5T4AAAAAAAAAAAAAAAAAAJoLBX+gQQ499NC45pprMl5/7733Rl1dXaNmZvrt7lVVVbFjx45GzWqsLVu2ZLSuMd9Y7z4AAAAAAAAAAAAAAAAAAJonBX+gwf7t3/4thg4dmtHaVatWxcyZMxs1ryHl7w0bNjRqVmOtX78+o3X5KPhHtI77AAAAAAAAAAAAAAAAAABoLhT8gaxcccUVGa/985//3KhZe+21V8ZrMy2U50J9fX1s3Lgxo7UN+UyN2dsa7gMAAAAAAAAAAAAAAAAAoLlQ8AeycsQRR0S/fv0yWvv3v/+9UbN69eqV8do0C+0bN26M6urqjNY25DM1Zm9ruA8AAAAAAAAAAAAAAAAAgOZCwR/I2gknnJDRutWrV8eGDRuyntOzZ8+M1y5fvjzrOY3VkNmNKbS7DwAAAAAAAAAAAAAAAACA5knBH8ja0KFDM177zjvvZD2ne/fuUVpamtHaNAvty5Yty3htYwrt7gMAAAAAAAAAAAAAAAAAoHlS8Aey1rdv34zXrl69Ous5BQUFMWDAgIzWLl26NOs5jZVpmb5jx47RpUuXrOe4DwAAAAAAAAAAAAAAAACA5knBH8ha9+7dM167efPmRs068MADM1o3f/78Rs1pjLfffjujdR//+McbPct9AAAAAAAAAAAAAAAAAAA0Pwr+QNbatWuX8dqdO3c2alamJfAtW7bEihUrGjUrW3Pnzs1oXabl/N1xHwAAAAAAAAAAAAAAAAAAzY+CP5C1qqqqjNcWFxc3atagQYMyXjt79uxGzcrGunXrYu3atRmtTeIb690HAAAAAAAAAAAAAAAAAEDzo+APZK2ioiLjtWVlZY2addBBB0Xbtm0zWvviiy82alY2Zs2alfHaoUOHNnqe+wAAAAAAAAAAAAAAAAAAaH4U/IGsrVixIuO17du3b9Ss0tLSjIvgzz//fKNmZeO5557LaN2AAQNir732avQ89wEAAAAAAAAAAAAAAAAA0Pwo+ANZW7BgQcZr995770bPO/roozNat3Tp0li2bFmj52Wqrq4uZs6cmdHaY445JrG57gMAAAAAAAAAAAAAAAAAoHlR8Aey9sILL2S8tk+fPo2ed+yxx2a89vHHH2/0vEy9+OKLsW7duozWNuQzJHlWa7gPAAAAAAAAAAAAAAAAAICmTsEfyMr27dtjxowZGa3t2LFj9OjRo9EzBw4cGAMGDMho7WOPPdboeZnKdFbHjh0T/cZ69wEAAAAAAAAAAAAAAAAA0Lwo+ANZmTRpUlRWVma0dujQoYnNHTVqVEbrFi1aFM8991xic/+VTZs2ZVxoP+WUU6KkpCTR+e4DAAAAAAAAAAAAAAAAAKD5UPAHGqyioiLuvvvujNcfeeSRic0+/fTTo6CgIKO1v/71rxOb+6/8/ve/jx07dmS09jOf+Uzi890HAAAAAAAAAAAAAAAAAEDzoeAPNNgNN9wQGzZsyGhtUVFRjBw5MrHZvXr1ik996lMZrZ05c2a88MILic3+f23cuDHuu+++jNYOGjQoDjvssMQzuA8AAAAAAAAAAAAAAAAAgOZDwR+asKqqqrQjfMA999wTU6ZMyXj9sGHDonv37olmuOiiizJee9NNN0V1dXWi8//hxz/+cWzbti2jtQ3J3FDuAwAAAAAAAAAAAAAAAACgeVDwhybsnHPOiQkTJuSskN1Qt99+e/z0pz9t0J4LLrgg8RxDhw6NQw45JKO18+fPj5/85CeJZ3jqqafi4Ycfzmht79694+STT048wz+4DwAAAAAAAAAAAAAAAACA5kHBH5qwjRs3xg9+8IM46aST4t57783429GTtnbt2rj44ovjzjvvbNC+I444IoYNG5aTTN/85jczXnv//ffHY489ltjs+fPnx9VXX53x+m984xtRVFSU2PwP4z4AAAAAAAAAAAAAAAAAAJo+BX9oBlavXh233nprHHfccfHtb387nnvuuairq8v53C1btsRtt90WI0eOjBkzZjRob3FxcXznO9/JUbKIww47LEaNGpXR2vr6+vj2t78dTz75ZKPnLliwIMaMGRNbt27NaP1RRx0Vp5xySqPnfhT3AQAAAAAAAAAAAAAAAADQ9BXU19fXpx0C+HAnnHBCrFq16kN/rVOnTjFs2LA49thj47DDDovevXsnMnPnzp3x3HPPxdSpU2Pq1Kmxa9eurM4ZN25cXH755Ylk+lfWr18fp556asbl8oKCgrj44otj3LhxUVJS0uB5U6ZMieuvvz4qKyszWl9aWhqTJk2Kfffdt8GzsuE+yIcNGyrCqwMAtAydO5dHUdHuf+5fbW1dbNy4PU+JAAAg97wHAwDQWnkXBgCgNfIeDABAa+VdmHwrKCiIrl3bpx2jWVHwhyZsdwX//1eXLl1i0KBB0a9fv+jbt2/07NkzunbtGl27do3y8vIoLS2NkpKSqKmpierq6qisrIyNGzfGhg0bYtmyZbF48eKYPXt2zJ07N6qqqhqVe/jw4fGLX/wiiouLG3VOJp566qkG/yCBvn37xhVXXBEnnXRSRsX2l19+OW677bZ48cUXGzTnuuuui/POO69BexrLfZBrCv4A0HL4gzsAAFoj78EAALRW3oUBAGiNvAcDANBaeRcm3xT8G07BH5qwhhT8m4qPf/zjMWHChGjfPn+/Gf/gBz+ICRMmNHhfp06d4vjjj4/BgwdHv379Ys8994zCwsLYtm1brFq1KubMmRMzZsyI5cuXN/jsk08+OW6//fYG70uC+yCXFPwBoOXwB3cAALRG3oMBAGitvAsDANAaeQ8GAKC18i5Mvin4N5yCPzRhza3gP2TIkLj77rujc+fOeZ1bXV0d48aNi+nTp+d17r8yZMiQuO+++6K8vDyV+e6DXFLwB4CWwx/cAQDQGnkPBgCgtfIuDABAa+Q9GACA1sq7MPmm4N9wu39CATJ04oknxgMPPJD3cn9ERElJSdx+++1xzDHH5H32/+vjH/94/OpXv0q1zO4+AAAAAAAAAAAAAAAAAACaJgV/oFHatm0b3/3ud+POO++Mdu3apZajtLQ07rrrrhg5cmRqGY466qi4//77Y88990wtwz+4DwAAAAAAAAAAAAAAAACApkfBH8jaCSecEI8++mice+65aUeJiIh27drFbbfdFl//+tejsDC/v72NHj06fv3rX0fHjh3zOnd33AcAAAAAAAAAAAAAAAAAQNOi4A9N2J133hmXXnpp7L///mlH+SfDhg2LCRMmxN133x19+/ZNO84HfOUrX4k//vGPcdBBB+V8Vr9+/eL++++Pa665JoqLi3M+LxvuAwAAAAAAAAAAAAAAAACgaSior6+vTzsE8NGWL18eTz31VEyfPj3eeOONqKqqyuv8bt26xcknnxxnn3127Lvvvnmdna26urp45JFH4r777ovFixcnevbee+8do0ePjnPPPTdKS0sTPTtX3AdJ2LChIrw6AEDL0LlzeRQV7f7n/tXW1sXGjdvzlAgAAHLPezAAAK2Vd2EAAFoj78EAALRW3oXJt4KCgujatX3aMZoVBX9ohqqqquLNN9+MV199NV555ZV4/fXXY/PmzYnOKC0tjYMPPjiGDh0axx13XBx22GFRUFCQ6Ix8qa+vj2effTYmT54cM2fOjK1bt2Z1TllZWRx55JHx2c9+Nj796U9HUVFRwknzw33QGAr+ANBy+IM7AABaI+/BAAC0Vt6FAQBojbwHAwDQWnkXJt8U/BtOwR9agPr6+li7dm0sW7Ysli1bFkuXLo1ly5bF+vXro7KyMrZv3/7+/62rq4vS0tIoLS2NNm3aRKdOnaJr167RpUuX6NWrV/Tv3z/69+8f++23X4v8Jvba2tp47bXX4o033oiFCxfG4sWLY/369bF9+/bYvv1/XkjKy8ujrKwsOnfuHP3794999903DjrooDj88MNb3J24DxpKwR8AWg5/cAcAQGvkPRgAgNbKuzAAAK2R92AAAFor78Lkm4J/wyn4AwAZU/AHgJbDH9wBANAaeQ8GAKC18i4MAEBr5D0YAIDWyrsw+abg33C7f0IBAAAAAAAAAAAAAAAAAACARCj4AwAAAAAAAAAAAAAAAAAAQB4o+AMAAAAAAAAAAAAAAAAAAEAeKPgDAAAAAAAAAAAAAAAAAABAHij4AwAAAAAAAAAAAAAAAAAAQB4Upx0AAAAAAAAAAAAAAAAAaNk6dGgXRUW+q5Smqba2LrZs2ZF2DACglVDwBwAAAAAAAAAAAAAAAHKqqKhQwR8AACLCWzEAAAAAAAAAAAAAAAAAAADkgYI/AAAAAAAAAAAAAAAAAAAA5IGCPwAAAAAAAAAAAAAAAAAAAOSBgj8AAAAAAAAAAAAAAAAAAADkgYI/AAAAAAAAAAAAAAAAAAAA5IGCPwAAAAAAAAAAAAAAAAAAAOSBgj8AAAAAAAAAAAAAAAAAAADkQXHaAQAAAAAAAAAAAAAAAABqaupjzZq0U9DS7LVXRHFxQdoxAADep+APAAAAAAAAAAAAAAAApG7Nmogvfak27Ri0MH/4Q1H06pV2CgCA/1WYdgAAAAAAAAAAAAAAAAAAAABoDRT8AQAAAAAAAAAAAAAAAAAAIA8U/AEAAAAAAAAAAAAAAAAAACAPFPwBAAAAAAAAAAAAAAAAAAAgDxT8AQAAAAAAAAAAAAAAAAAAIA8U/AEAAAAAAAAAAAAAAAAAACAPFPwBAAAAAAAAAAAAAAAAAAAgDxT8AQAAAAAAAAAAAAAAAAAAIA8U/AEAAAAAAAAAAAAAAAAAACAPFPwBAAAAAAAAAAAAAAAAAAAgDxT8AQAAAAAAAAAAAAAAAAAAIA8U/AEAAAAAAAAAAAAAAAAAACAPFPwBAAAAAAAAAAAAAAAAAAAgDxT8AQAAAAAAAAAAAAAAAAAAIA8U/AEAAAAAAAAAAAAAAAAAACAPFPwBAAAAAAAAAAAAAAAAAAAgDxT8AQAAAAAAAAAAAAAAAAAAIA8U/AEAAAAAAAAAAAAAAAAAACAPFPwBAAAAAAAAAAAAAAAAAAAgDxT8AQAAAAAAAAAAAAAAAAAAIA8U/AEAAAAAAAAAAAAAAAAAACAPFPwBAAAAAAAAAAAAAAAAAAAgDxT8AQAAAAAAAAAAAAAAAAAAIA8U/AEAAAAAAAAAAAAAAAAAACAPFPwBAAAAAAAAAAAAAAAAAAAgDxT8AQAAAAAAAAAAAAAAAAAAIA8U/AEAAAAAAAAA4P9j7/6DpC7vA45/9o47+aVerqBWIYowQQW1HbFCoqNmxqCRWLVJJg0VxGpDaoxaTfBHG6exmkRrMtI2aeJv+8tMrDYGQ5rEGCwSA1ZrFQgWUBCICj044ODmjrvtHxnTJAo8e7f77O7d6/WXyX2+93z2SQ42ZN4sAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAA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AAB2PErq7fSe97yn3ftahv+rV6+O7373u1lMKjo/+MEPYvny5RERHX4YQkTH1xMAAAAAAAAAAAAAAAAAAKCUCfy309vf/vYYOXJkRESb31Df9M30aZrGHXfcEbNnz856YkE99thj8b//+79tXpuI1tdsxIgRceihh2Y1DQAAAAAAAAAAAAAAAAAAIFMC/x5w1llndfrN9E2R//nnnx+LFy/OaFlhvfLKK/H5z3+++dq0d42aPgThjDPOiLIy/0gCAAAAAAAAAAAAAAAAAAA7JjV1D/jABz4QAwcOjIho85vqm8L2JEniX//6V3zqU5+KNWvWZLoxazU1NfHpT386ampqIqLtuL/ltaquro4PfehDme0DAAAAAAAAAAAAAAAAAADImsC/B/Tq1SumTp3a7jfUR7SO/F9++eU4/fTT4/XXX89qYqbWrFkTZ555ZixYsKDNDzxoKU3TSJIkPvjBD0bfvn0zWggAAAAAAAAAAAAAAAAAAJA9gX8POeuss2LIkCEREe1G7S0/AGDx4sUxderUePnllzPZl5Vly5bF6aefHvPnz2++Dm198EHLazRgwIA455xzMtsIAAAAAAAAAAAAAAAAAABQCAL/HlJdXR1f/vKX24zZW2r6xvokSeKVV16J97///XHfffdltDK/HnrooXj/+98fL730Uodxf5Oma/H5z38+dt1114xWAgAAAAAAAAAAAAAAAAAAFIbAvwedfPLJcdBBB0VE62+o31pT9J4kSWzYsCG+9KUvxcUXXxzr1q3LZGdP27BhQ0yfPj2mTZsWNTU1ze+vvbg/SZLmuH/ChAnx4Q9/OMu5AAAAAAAAAAAAAAAAAAAABSHw72Hf/OY3o1evXhGRe+SfpmnMnDkzjj/++Jg5c2YmO3vKXXfdFccff3zceuutzdF+03tqS8trUllZGZdeemlWUwEAAAAAAAAAAAAAAAAAAApK4N/D9t1337jkkkvaDdxb2jryX7t2bVx88cUxefLk+NWvfhVbtmzJ99xuaWhoiLvuuive9773xYUXXhirVq1qjvsjotP33nT2ggsuiPHjx2cxGQAAAAAAAAAAAAAAAAAAoOAqCj1gRzRlypT461//Gr/61a86/Db7iNaRf9PvFy9eHBdddFFcffXVceqpp8bkyZNj7NixmWzvyOLFi+Pee++NX//617FixYo2t3ek6VokSRKT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AAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABI0Or0AAAAAAAAAAAAAAABMNT09M6Je9519ZenqqhWaOeaYmQnbVM/w8EgMDLzT6TUAAAAmJYE/AAAAAAAAAAAAAAAkq9e7BP4dVqvVol4f/UEAAAAA0E7+NAAAAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASNDq9AAAAAAAAAAAAAAAA8H7NZiv6+zu9RTXVahERtVGmWtFqJSwzwcyfH9FojHY3AAAAlEXgDwAAAAAAAAAAAAAAE1B/f8QVVwx3eo1KajTq/y/y/3CtVkSzOfXu95FH6rFgQae3AAAAmLq6Or0AAAAAAAAAAAAAAAAAAAAATAUCfwAAAAAAAAAAAAAAAAAAAEjQ6PQCAAAAAAAAAAAAANDTMyPqdd9dxcQ0PDwSAwPvdHoNAAAAACYBgT8AAAAAAAAAAAAAHVevdwn8AQAAAIBJz5+CAgAAAAAAAAAAAAAAAAAAQAKBPwAAAAAAAAAAAAAAAAAAACQQ+AMAAAAAAAAAAAAAAAAAAEACgT8AAAAAAAAAAAAAAAAAAAAkEPgDAAAAAAAAAAAAAAAAAABAAoE/AAAAAAAAAAAAAAAAAAAAJBD4AwAAAAAAAAAAAAAAAAAAQIJGpxcAAAAAAAAAAAAAgCKazVb093d6Cyab+fMjGo1ap9cAAAAAYIoQ+AMAAAAAAAAAAABQCf39EVdcMdzpNZhkHnmkHgsWdHoLAAAAAKaKrk4vAAAAAAAAAAAAAAAAAAAAAFOBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEAAAAAAAAAAAAAAAAAACCBwB8AAAAAAAAAAAAAAAAAAAASCPwBAAAAAAAAAAAAAAAAAAAggcAfAAAAAAAAAAAAAAAAAAAAEgj8AQAAAAAAAAAAAAAAAAAAIIHAHwAAAAAAAAAAAAAAAAAAABII/AEA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AAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAAAAAAAAAAAAAAAACAHFDwBwAAAAAAAAAAAAAAAAAAgBxQ8AcAAAAAAAAAAAAAAAAAAIAcUPAHAAAA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77wTK1eurPF8eXl5lJeXx5o1a2LZsmUxZ86cL7yudevW0bdv3xgwYEDsueeeseuuu0bTpk1TehX5Y8OGDTFx4sR48cUXY/z48bFixYqvnSkrK/vszzNnzvyntxUUFESfPn3iG9/4Rhx66KGxyy67pJ65oSovL4+///3v8eabb8Z7770X77//fnz44YdRVVVV4zX+Ufb/vHffffffrmvatGlsv/32MXDgwNh///1j9913j+Li4jq/BvLXp59+Gs8//3z87W9/i1dffTXWrFnztTOrV6/+p/8/YcKEz/5cVFQUu+22WwwZMiQOPPDA6Nq1a9qRif/7mp80aVKMGzcuxo0bF5988snXzpSVlf3TvXry5Mmf/blRo0YxcODA2G+//WLIkCHRq1eveskNAAAAAACQTwqqq6ursw4BAAAAAAAAAA1JRUVFvPrqq/Hss8/Giy++WKtCf1qKi4tj1113jQMPPDCGDBkSXbp0yen+Y8aMiZ///Oe1nhs2bFhcf/31tZ6bO3du3HnnnfH444/Hhg0baj1fU127do0TTjghjj/++M3uaeAbN26Mt956K15++eWYPHlyTJs2LSorKzPJ0qxZs9hnn31i+PDhMXjw4CgsLMwkx5dJ+vndkO25555x3333ZR0jJk2aFKNHj47nn3++Xj//dthhhxgxYkQcdthh0ahR7Z5xcsopp8TixYtrvef9998f7du3r/VcUhdeeGGMHTu21nMXXXRRnHzyybWa+eijj+Kuu+6KsWPH/tOhKWnbc88946STToqhQ4fW+uNWHw488MBYuHBh1jFSde+998agQYOyjgEAAAAAAHyF7H9KAgAAAAAAAAANxLJly+KBBx6Ihx56qEZPjq9PlZWVMXny5Jg8eXJcccUVsdNOO8Xw4cPj0EMPjTZt2mSaLU3Tp0+PW2+9NV544YXYtGlTve83f/78uOqqq+L222+P0047LUaMGBElJSX1vm99WbVqVYwfPz6ef/75mDRpUqxduzbrSBERsW7dunjuuefiueeei06dOsWxxx4bxx9/fLRu3TrraNSTSZMmxdVXXx3Tp0/PyX7vvfdeXHDBBXH99dfHd7/73TjuuONq/LW8cOHCRKXurA7MqE8zZ86MW2+9NZ5++umoqqqq9/2mTJkSU6ZMiW233TZ+8pOfxBFHHFHvewIAAAAAADQ0Cv4AAAAAAAAAbPHmzZsXd9xxRzz22GNRUVGRdZwvNG3atJg2bVpceeWVMWzYsDj11FOjf//+WcdKrKysLP73f/83HnjggZwU+//VihUr4ne/+1385S9/icsvvzwGDhyY8wxJrV69Op555pl49tlnY/LkyQ2+dLxw4cK49tpr484774yRI0fGqaeemteHKvDP5s2bF1deeWWMHz8+k/0XLlwYv/nNb+Khhx6KK664Iq/vi7lUUVERt9xyS9x+++2xcePGnO+/aNGiOP/88+PBBx+MX/7yl7HzzjvnPAMAAAAAAEBWCrMOAAAAAAAAAABZWbduXVxzzTVx2GGHxZ///OcGW+7/vMrKynjiiSfi2GOPjdNPPz3rOIlMnDgxDjvssLjvvvsyKfd/3uzZs+PEE0+MG264IaqrqzPN8lU2btwY48ePj3POOSf22WefuOiii2LixIkNvtz/eatXr45rrrkmvvWtb8WECROyjkMK/vznP8fw4cMzK/d/3uzZs+OEE06Iq6++OsrLy7OO06BNnz49/vM//zNuvvnmTMr9nzd16tQ47rjj4qabbsr8+wEAAAAAAECuKPgDAAAAAAAAsEV67LHHYtiwYfGHP/whr0rSnzd79uysI9TazTffHN///vdj4cKFWUf5zKZNm+LGG2+Mn/70pw22GDxlypQ488wz45lnnsmLgyi+ysKFC2PkyJHxm9/8Ju9fy5Zq7dq1ce6558Yvf/nLKCsryzrOZ6qqquLOO++MU089NVasWJF1nAbp6aefjuOPPz5mzJiRdZTPVFVVxfXXXx/f+973YtmyZVnHAQAAAAAAqHcK/gAAAAAAAABsUdatWxc/+9nP4vzzz4+lS5dmHWeLUVFREeeff35cd911UV1dnXWcL/TUU0/FyJEjlc5z5L777otjjjkmPvnkk6yjUAtLly6Nk046KZ5++umso3ypt956K44//vj46KOPso7SoNx///3x05/+tMHe41555ZX4z//8z5gzZ07WUQAAAAAAAOqVgj8AAAAAAAAAW4z3338/jj766HjiiSeyjrJFWbt2bYwYMSIee+yxrKN8rVdffTV+9rOfRVVVVdZRtgjvv/9+nHDCCTFv3ryso1AD8+fPjxNOOCHef//9rKN8rXnz5sXxxx8fs2bNyjpKg3DDDTfEZZddFps2bco6yldavHhxnHzyyXnxOQYAAAAAAJCUgj8AAAAAAAAAW4QXXnghjj32WEXiHKuoqIgf/vCH8cYbb2Qdpcaee+65uOaaa7KOscVYuHBhnHTSSTFjxoyso/AVFixYECeeeGIsWLAg6yg1tnTp0hg5cmQsX7486yiZ+tOf/hQ33nhj1jFq7NNPP41TTjkl3nnnnayjAAAAAAAA1AsFfwAAAAAAAAA2e48++micc845UV5ennWULUpVVVX89Kc/jcmTJ2cdpdbuueee+Otf/5p1jC3GsmXL4swzz9zii9gN1YoVK+L73/9+LF26NOsotfbRRx/FWWedFRUVFVlHycTkyZPj0ksvzTpGra1evTrOPPPM+Oijj7KOAgAAAAAAkDoFfwAAAAAAAAA2aw8++GBccMEFsXHjxpzvXVRUFEVFRTnft6H49a9/Hc8//3zWMRKprq6On//851tk4bywsDCKi4tzvu/ChQu36CJ2Q1VeXh4/+MEPYt68eVlHSezNN9+MX/3qV1nHyLkFCxbEj3/846isrMw6SiKffvppjBw5MtasWZN1FAAAAAAAgFQ1yjoAAAAAAAAAANSXv/zlL/X65OLGjRvHzjvvHAMGDIju3btH586do3PnztGiRYto2rRpNG7cOCIiKioqory8PFatWhVLliyJJUuWxIIFC2LGjBkxc+bMmDVrVt4WML/MmDFj4uGHH040W1paGv37949dd901evToEZ07d46OHTtG06ZNo2nTplFQUBDr16+P1atXx4IFC+LDDz+MN954I6ZMmRKLFy9O7TV8+umn8fvf/z7++7//O7U1s9S4cePo3r179OrVK3r27BmdO3eOrbbaKrbeeuto165dNG3aNEpKSqKkpCQiIjZt2hTl5eWxevXqWLp0aSxZsiTmzJkTM2fOjGnTpsWsWbNSz/jmm2/G1VdfvUWWsRuqSy+9NKZOnZr6um3bto299947dt555+jRo0d069YtWrZsGaWlpVFSUhJlZWWxbt26WLp0acydOzdmz54dU6ZMiXfeeSfRgS2PPvpoDBkyJIYNG5b6a2mIqqur4xe/+EWsXLky0XxpaWnstddeMWDAgOjVq1f06NEjWrVqFc2aNYvi4uJYt25drFu3LhYtWhSzZs2KDz74ICZOnBjz589P9XXMmjUrfvzjH8edd94ZhYWeZQMAAAAAAGweFPwBAAAAAAAA2Cy99tpr9VISbtu2bQwbNiwOOeSQGDBgwGdl6K/yj9J0ixYtonPnzv/29g0bNsTbb78dr7/+ekycODHeeuut2LRpU+rZc2XOnDlx2WWX1WqmtLQ0/uM//iMOPfTQ2GeffaJRo6/+lYbi4uJo2bJldO7cOfbee+84/vjjo7q6Ol577bV4+OGH48knn0zlffjnP/85TjrppNh+++3rvFaubb311jFo0KAYOHBgDBgwIPr27fu179fPKyws/OxQhfbt20dExIEHHvjZ25ctWxavvPJKPPHEE/G3v/0tUen6izzwwANx6KGHxsCBA1NZ74scffTRcfTRR3/tdR999FEMGTKk1ut36tQpxo0blyRag/L000/HI488ktp6paWlceihh8YxxxwTu+yySxQUFHzptS1atIgWLVpEhw4dYuedd/7s79euXRsvvPBCjB49Ot58881a7X/ZZZfFXnvtlTh/PvnjH/8YU6ZMqdVMQUFB7LvvvnHyySfHN77xja/8/taqVato1apVbLvttrH77rt/9vdz5syJMWPGxJ/+9KfEhwv8q1deeSX+8Ic/xBlnnJHKep9X06/TCy+8MMaOHVvr9a+44ooa3WsAAAAAAIAti4I/AAAAAAAAAJudDz/8MM4+++yorKxMbc2+ffvGyJEj46CDDqpVSbommjRpEoMGDYpBgwbFWWedFZ9++mmMGzcunnzyyZg0aVJUV1enul99qqioiJ/85CdRVlZWo+tbtGgRJ598cnznO9+JNm3a1GnvgoKC2HPPPWPPPfeMH/zgB3HppZfG5MmT67RmVVVVXHvttXHrrbfWaZ1c6devXxx44IExePDg6Nev31cWqOuqXbt2ccQRR8QRRxwRy5Yti3vvvTceeuihWL16dZ3W3bRpU/zqV7+KsWPH1ugADerHxx9/HJdcckkqazVu3DhOPfXUGDlyZLRo0aJOazVv3jyOOuqoOOqoo2LatGlx1VVX1bjIvnTp0rjyyivrtH8+WLx4cTz00EO1mtl///3jggsuiF69etVp7549e8Z5550XZ599dtx///1x00031fj7wVe5/vrrY7/99ou+ffvWeS0AAAAAAICsFWYdAAAAAAAAAADSVFFREWeddVZqTw7u3Llz3HzzzfHoo4/GIYccknq5/4tstdVWccwxx8Q999wTL774YvzoRz/67AnqDd1f//rXeP/992t07SGHHBLPPPNMnHvuuXUu9/+rXr16xahRo+KCCy6IwsK6/XrEhAkTYu7cuSklS1/Hjh3jjDPOiKeeeirGjBkTZ599duy00071Wu7/V+3atYuf/vSn8eKLL8aJJ55Y5/f5rFmz4sEHH0wpHUn86le/ilWrVtV5nT322COeeuqpOO+88+pc7v9XO+20U9x3331x7bXXRqtWrWo0M2bMmFiyZEmqORqaUaNGxdq1a2t0bdu2beOmm26K22+/vc7l/s9r0qRJfP/7349nnnkmDjjggDqvV1lZGeeff35UVFSkkA4AAAAAACBbCv4AAAAAAAAAbFZ+//vfx8yZM+u8TmFhYZx22mnxxBNPxJAhQ1JIlkynTp3i7LPPjhdffDGuuuqq2H777TPLUhObNm362mtKS0vjuuuui2uvvTbatWtXb1kKCgritNNOi+uuuy6Ki4sTr1NdXR333XdfisnSsccee8RNN90U48aNi5/97GeplnOTatmyZVxyySXx4IMPRseOHeu01h/+8IcoLy9PKRm1MX78+Jg4cWKd1/nhD38Yo0aNis6dO6eQ6ssdcsghMXbs2Ojfv3+Nrq+srKzXPFmraQl+l112ibFjx8bQoUPrLUv79u3jlltuiXPOOafOB3/MmDEjRo0alVIyAAAAAACA7Cj4AwAAAAAAALDZePPNN+Puu++u8zotW7aM2267LS644IJo2rRpCsnqrri4OI466qh47LHH4qabbortttsu60iJbLvttjF69Oj41re+lbM9DzrooLjsssvqtMbYsWNj/fr1KSVKrqCgIIYNGxZjxoyJ+++/P4YOHVrn0mx9GDhwYIwdOzZ23XXXxGssXbo0Hn744RRTUROVlZVx5ZVX1mmNwsLC+M1vfhPnnHNOFBUVpZTsq3Xq1ClGjRoV++yzT072y3f77rtv3H///dGhQ4d636ugoCB++MMfxjXXXFPnz4fbbrstli9fnlIyAAAAAACAbDS8n/ACAAAAAAAAQAIVFRXx85//vEZPkP8qXbt2jYcffjj222+/lJKlb+jQofHoo4/GpZdemnWUWtl2223j3nvvzeRwguHDh8cpp5ySeL6srCxeeumlFBPVTkFBQey3337xyCOPxPXXXx/9+vXLLEtNtWnTJu68887Ya6+9Eq9x9913R3V1dYqp+DoPPvhgzJs3r05rXHHFFXHMMcekE6gWmjZtGrfeemvsu+++Od87n+yzzz5x8803R+PGjXO672GHHRZXX311nQ4lWbNmTVx//fUppgIAAAAAAMg9BX8AAAAAAAAANgtplFL/8QToHj16pBOqHhUWFsY3v/nNrGPUWOvWrWPUqFHRpUuXzDKcd9550b1798Tzzz77bHphamnQoEFxxx135EWx//NKS0vjpptuit69eyeaX7hwYUyaNCnlVHyZysrKuOuuu+q0xg9/+MM46qij0gmUQElJSVx33XWJP+c2dz179ozrr78+5+X+fzjssMPi3HPPrdMaDz/8cMyfPz+dQAAAAAAAABlQ8AcAAAAAAAAg761duzZuvfXWOq2x9dZbx6hRo2LbbbdNKRX/UFRUFNdee2107do10xxNmjSJn/3sZ4nnx48fH5WVlSkmqrm6PPE6a82bN4+bb745mjZtmmj+0UcfTTkRX+bJJ5+MxYsXJ54/4IAD4sc//nGKiZJp3rx53HrrrdGsWbOsozQozZo1i5tuuimaN2+eaY4zzjgjDjrooMTzVVVVce+996aYCAAAAAAAILfy96e/AAAAAAAAAPD/3H333bFixYrE840aNYrf//73mT5dfnP2gx/8IL7xjW9kHSMiIg466KDo169fotmysrKYPn16yom2DN26dUtc/H722Wdj/fr1KSfii9x9992JZ1u3bh2XXXZZFBQUpJgouS5dusT555+fdYwG5cILL4yePXtmHSMKCgriN7/5TbRr1y7xGo888kisXr06xVQAAAAAAAC5o+APAAAAAAAAQF5bu3ZtnUqpERHnnXde7L777ikl4vN69+4dI0eOzDrGPznhhBMSz77xxhspJtmyfOc734muXbvWeq6srCxee+21ekjE573++uvx/vvvJ57/+c9/HltvvXWKieru+OOPjz333DPrGA3CHnvsEcccc0zWMT7TqlWr+OUvf5l4vqysLEaPHp1iIgAAAAAAgNxR8AcAAAAAAAAgrz3++OOxbt26xPO77757jBgxIr1A/JOLL744SkpKso7xTw477LAoLS1NNPvmm2+mnGbLUVRUFGeccUai2VdffTXlNPyrJ554IvHsDjvsEEceeWSKadJRUFAQ//Vf/5V1jMwVFhbGJZdcEgUFBVlH+SeHHHJI7LXXXonn//SnP6WYBgAAAAAAIHcU/AEAAAAAAADIa3V5gm+jRo3i17/+dYMrPW4uBg0aFIMGDco6xr9p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jRUUFGQdod4NGjQo8ewLL7yQYpL6tWrVqnj99dezjpEz77//fpSVlWUdo1amTp2aeHa77bZLMcm/2xLuBQAAAAAAQO4o+AMAAAAAAACQl775zW8mnn3sscdSTALpWbt2baK51q1bpxuknkyYMCHrCLXSqFGjRHNVVVUpJ6k/HTt2jK5duyaaffnll/OmRP7CCy/Exo0bs46RM5WVlfHKK69kHaNWXnrppURzrVq1ip49e6ac5p8VFRUlmsunewEAAAAAAJA7Cv4AAAAAAAAA5KXBgwcnnp0+fXrMnj07vTCQkqRl6dLS0pST1I+//OUvWUeoleLi4kRz+VYk32uvvRLNlZWVxRNPPJFymvoxevTorCPk3Pjx47OOUGPvvvtuLF68ONHs7rvvHoWF9ftrcFvKvQAAAAAAAMgNBX8AAAAAAAAA8lL37t2je/fuiefvvffe9MJAStavX591hHozbdq0mDFjRtYxaiVpqXfDhg0pJ6lfBxxwQOLZhx56KMUk9eO9996Lt99+O+sYOTdhwoS8KZg///zziWf33HPPFJN8saT3gvLy8pSTAAAAAAAAmwMFfwAAAAAAAADy1oEHHph4dsyYMbF06dIU00B2ysrKso7wtUaNGpV1hFpr3LhxormysrKorq5OOU392XfffaNVq1aJZt99992YOHFiyonSdfvtt2cdIRPLli2LCRMmZB3ja23atCnGjh2beH7QoEEppvliSe8Fa9euTTkJAAAAAACwOVDwBwAAAAAAACBvHX300YlnKyoq4g9/+EOKaaDumjZtmmjuk08+STlJuj788MN48skns45RayUlJVFaWlrruU2bNsXq1avrIVH9KCkpiYMOOijx/LXXXptimnS999578fTTT2cdIzN/+tOfso7wtV5++eX4+OOPE8127Ngx+vbtm3Kif9e6detEcytXrkw1BwAAAAAAsHlQ8AcAAAAAAAAgb/Xp0yd23XXXxPMPPPBAzJ49O8VEUDdJC/5z585NOUm6brzxxqiqqso6RiJt2rRJNLd48eKUk9Svww47LPHstGnT4oknnkgxTXquueaaqK6uzjpGZl566aWYN29e1jG+0r333pt49uCDD46CgoIU03yxpPeBhn74CgAAAAAAkA0FfwAAAAAAAADy2nHHHZd4trKyMn7961+nFwbqKGmJdPbs2bF27dqU06Rj8uTJ8dhjj2UdI7GkH5NFixalnKR+DRo0KHr37p14/vLLL4/ly5enmKju/vznP8ff/va3rGNkatOmTXHTTTdlHeNLTZ06NSZOnJh4/uCDD04xzZdr27ZtormFCxemnAQAAAAAANgcKPgDAAAAAAAAkNcOPvjgxMW7iIgpU6bU6enBkKbOnTsnmquqqqpTSba+lJeX5/0hGh06dEg0N3PmzJST1K+CgoIYMWJE4vnly5fHJZdckl6gOlq0aFFceeWVWcdoEJ588smYPXt21jG+0PXXX594tkuXLrHLLrukmObLJb0PzJkzJzZt2pRyGgAAAAAAIN8p+AMAAAAAAACQ1xo3bhxnnHFGnda4+uqrY+rUqSklguSSFvwjIv7yl7+kFyQl//3f/x1z5szJOkaddOvWLdHctGnTUk5S/4488sjYeuutE88/99xzccstt6SYKJl169bFD37wg1izZk3WURqEqqqq+O///u+sY/ybZ555Jl555ZXE88cee2yKab5a165do6CgoNZz69evb7CHKwAAAAAAANlR8AcAAAAAAAAg75144omJn64bEVFZWRk//vGPY+HChSmmgtpr2bJldOrUKdHshAkTGlSR9JFHHok///nPWceosx49eiSamzJlSt49ubukpCRGjBhRpzWuu+66eOqpp9IJlMDGjRvjZz/7Wbz//vuZZWiIJk2a1KC+HlevXh2/+c1vEs+XlpbGcccdl2Kir99vm222STQ7adKklNMAAAAAAAD5TsEfAAAAAAAAgLzXuHHjOOuss+q0xpIlS+I73/lOLF68OKVUkMyAAQMSzVVXV8dVV12VbpiE/vrXv8Yll1ySdYxU9O7dO9HcihUrYvLkySmnqX+nnnpqdO7cOfF8dXV1nH/++fHoo4+mmKpmysvL4+yzz47x48fnfO98cOWVV8a8efOyjhERERdddFEsXbo08fzw4cOjVatWKSb6en369Ek09/TTT6ecBAAAAAAAyHcK/gAAAAAAAABsFo4++ujYYYcd6rTGggUL4jvf+U58+OGHKaWqP5s2bYqXX3456xjUg9122y3x7F//+tfMn9L96quvxo9+9KOorKzMNEda+vXrFyUlJYlmR40alXKa+ldSUhL/9V//Vac1Nm7cGBdccEHcdtttUV1dnVKyr7ZkyZI47bTTlPu/wpo1a+Lss8+OdevWZZrjjjvuiGeeeSbxfFFRUZx66qkpJqqZpIevvPHGGzFt2rR0wwAAAAAAAHlNwR8AAAAAAACAzUKjRo3iyiuvjOLi4jqtM2/evDjmmGPib3/7W0rJ0vfCCy/EkUceudk8IZ1/NmTIkCgoKEg8f+mll8Ybb7yRYqKa+8tf/hKnn356lJeXZ7J/fSgpKYl+/folmh0/fny88MILKSeqf8OGDYtBgwbVaY3q6ur43//93/j+978fS5YsSSnZFxs/fnwceeSR8frrr9fo+kaNGtVrnoZs5syZcc4550RFRUUm+z/11FNx7bXX1mmNb3/729G9e/d0AtXCrrvumnj20ksvzex9DgAAAAAANDwK/gAAAAAAAABsNvr27RtnnnlmnddZtWpVnH766fE///M/sWHDhhSS1V1FRUWMHTs2Dj/88DjrrLNixowZWUeinnTo0CHxk6Ij/u9z5fTTT4/XXnstvVA12POqq66KCy64ICorK3O2b67stddeiWfPP//8vCz5X3755dGsWbM6rzNx4sQYNmxY3HjjjVFWVpZCsv/fjBkz4vvf/36ceeaZsXz58hrNHHHEEdG+fftUc+Sbl19+Oc4666ycF86feuqpOP/886OqqirxGs2aNYtzzjknxVQ1N2DAgGjcuHGi2XfeeSd+9KMfxZo1a1JOBQAAAAAA5CMFfwAAAAAAAAA2KyNHjkz8tO3Pq6qqijvuuCMOP/zwmDBhQt2DJfTRRx/FDTfcEEOGDIkLL7xQsX8Lccwxx9Rpft26dfHd73437r///qiurk4p1Rd766234qijjoq77rqrxjNNmzatx0TpO+iggxLPlpWVxVlnnRVnn312TJ06NcVU9atLly5x8cUXp7JWWVlZ3HDDDbH//vvHb37zmzrdx8rLy+PZZ5+N0047LY444oh4+eWXazzbtm3b+MUvfpF4783JSy+9FKeeemp88skn9b5XdXV13H777XHeeefFxo0b67TWyJEjY6uttkopWe00a9Ys9tlnn8TzEyZMiIMPPjhGjRql6A8AAAAAAFu4RlkHAAAAAAAAAIA0FRcXx4033hjHHHNMLFu2rM7rzZ8//7NDA84444z4j//4jygqKkoh6Zf79NNPY9y4cfHEE0/E5MmT672gTcNz+OGHx7XXXhtLly5NvEZlZWVcdtll8eyzz8YvfvGL2GGHHVJMGPHBBx/EDTfcEC+88EKtPkf79esXvXr1isceeyzVPPVpxx13jK5du8b8+fMTr/H888/H888/Hx07doy99947dtppp+jZs2dsu+220aZNm2jevHkUFjasZ3UcddRR8fLLL8cTTzyRynqrV6+O++67L+67777o2LFjfOMb34idd945evToEd26dYsWLVpEaWlpFBYWRkVFRZSVlcWyZcti7ty5MWvWrHjttdfijTfeiA0bNiTa/5e//GW0adMmldfSkJWUlERFRcXXXjd16tQ4+uij4/LLL4/BgwfXS5alS5fGJZdcEi+++GKd1+rVq1eMGDGi7qHq4Fvf+laMGzcu8fzSpUvjt7/9bVxzzTWx2267xcCBA6Nv377RpUuXaNeuXbRp0yZKSkpSTAwAAAAAADRECv4AAAAAAAAAbHa23XbbuOmmm+LUU0+N8vLyVNacPn16nHPOObHVVlvFt771rTjkkEOif//+UVxcXOe1y8vL4+23347XXnstJk6cGG+99VZs2rQphdTkq5KSkvjud78bV199dZ3XmjJlSgwfPjwGDx4cxx57bOy3337RqFGyXxlZs2ZNPPvsszF27Nh44403an34RHFxcfz2t7+Ne+65J9H+WTruuOPimmuuqfM6H3/8cYwZMybGjBnzb28rKipKfIDIHnvsEXfddVdd4/2byy67LObOnRvTp09Pdd2PP/44HnnkkXjkkUf+7W2NGjWq85Pe/9XBBx8chx12WKprNlTf+c534qGHHoq1a9d+7bXLli2LkSNHxgEHHBD/9V//FT179kwlQ3l5eTzwwANx4403xrp16+q8XnFxcVxzzTXRuHHjFNIlN2zYsLjiiitixYoVdVqnsrIyJk2aFJMmTfq3txUUFESjRo2ioKAg0dp33XVX7LHHHnXKBwAAAAAA1C8FfwAAAAAAAAA2SwMGDIjLL788zj///FqXkL/Kp59+Gg888EA88MAD0aRJk9hll11iwIAB0a1bt+jSpUt06tQpWrRoEU2bNv3sKbwbN26MDRs2xKpVq2LJkiWxZMmSWLBgQcycOTNmzpwZM2bMiMrKytQysnk45ZRT4uGHH4558+bVea3q6uoYP358jB8/Ppo3bx5777139O/fP7bffvvo3LlzbLPNNp89Ob26ujrWr18fa9eujY8++ijmz58fH3zwQUyZMiXee++9qKqqSpzjvPPOi759+9b59WTh+OOPj1tuuaVGpemkqqqqEr9/6+seUlpaGrfffnsce+yxsXDhwnrZ41+lXe7faaed4sorr6zzOkkL17nWoUOHOO+88+LXv/51jWfGjx8fEyZMiP333z9OPPHE2HvvvRM9Sf7DDz+MMWPGxOjRo+tcgv+8H/3oR9GvX7/U1kuqSZMmcfLJJ8cNN9xQb3tUV1fX6evZAUEAAAAAANDwKfgDAAAAAAAAsNk6/PDDY/369XHJJZfUS+Ftw4YNMWXKlJgyZcoXvv0fT+KuSyGaLVdJSUlcdNFF8b3vfS/VddeuXRvPP/98PP/88//2tuLi4ti4cWOqh2L8w0EHHRQjRoxIfd1cad68eZx22mlx/fXXZx0l59q1axd33HFHnHjiibFy5cqs49RK+/bt4+abb44mTZrUea0khfesHH/88fHkk0/Ga6+9VuOZ6urqmDBhQkyYMCFKS0vjG9/4RvTv3z969+4dPXr0iFatWkWzZs2iqKgoysrKYt26dbFo0aKYPXt2fPDBBzFx4sRUDiT5V4MGDYrTTz899XWTOvnkk+P+++9P9QADAAAAAABgy6LgDwAAAAAAAMBm7dhjj42SkpL4xS9+kfOivWI/dbXvvvvGiBEj4p577snJfvX1FPgdd9wxrr766npZO5dOP/30ePzxx2Pu3LlZR8m5Xr16xYMPPhinnXZaLF68OOs4NdKmTZu47bbbon379qmsl08F/4KCgvjtb38b3/72t2PVqlW1ni8rK4sXXnghXnjhhXpIV3M9evSIG264IQoLCzPN8XmtW7eOCy64IC688MKsowAAAAAAAHmq4fzkAwAAAAAAAADqyVFHHRW/+93v8qqcCf9w3nnnxcCBA7OOkVj37t3jjjvuiKZNm2Ydpc5KSkri6quvTuVp8PmoV69e8cc//jF69uyZdZSv1alTp3jooYdihx12+Le3VVRUJFoz376HdO3aNa677rpo1Cg/nwHTpk2buP3226NVq1ZZR/k3w4cPj2HDhmUdAwAAAAAAyFMK/gAAAAAAAABsEQ4++OB46KGHolOnTllHgVopLi6OW265Jfr06ZN1lFrr3r173HPPPdGuXbuso6Rml112iauvvrpBPVE8lzp27BgPPvhgDB48OOsoX6pv377xxz/+MXr06PGFb09a8G/cuHFdYmVi7733josvvjjrGLXWvHnzuPXWW6Nr165ZR/lSV199dfTv3z/rGAAAAAAAQB7aMn/SCAAAAAAAAMAWaaeddooxY8bE/vvvn3UUqJU2bdrEXXfdFd27d886So3169cvHnzwwejYsWPWUVI3bNiwuOGGG6K0tDTrKJlo06ZN3HbbbfHLX/6yQT3VvqCgII4//vh48MEHY5tttvnS68rLy2u9dqNGjfL2UIfjjjsuzjzzzKxj1FibNm3i3nvvjQEDBmQd5Ss1adIk7rrrrthvv/2yjgIAAAAAAOSZ/PypEwAAAAAAAAAk1Lp167jtttvi4osvjpYtW2YdB2psm222idGjR8cee+yRdZSvdfjhh8cDDzwQW221VdZR6s3QoUPjoYcein79+mUdJTOnnnpqPPLII7HXXntlHSU6d+4c99xzT1x66aXRrFmzL72uqqoqUcE/379f/OQnP4mf//znUVBQkHWUr7TNNtvE/fffnzdfV82bN49bb701zj777AZ12AUAAAAAANCwKfgDAAAAAAAAsMUpKCiIk046KZ555pk48sgjs46TSHFxcQwePDjrGORY69at46677ooTTzwx6yhfqHnz5nH55ZfH//zP/0TTpk2zjlPv+vbtG3/605/ioosu+sonxm/Otttuuxg1alTcdttt0bt375zv365du/jJT34Sjz/+eI0OGvj000+juro60T75bsSIEfG73/0uiouLs47yhQYNGhRjxozJ5POoLoqKiuJHP/pRPPbYYzFkyJAGf4gCAAAAAACQPQV/AAAAAAAAALZYW221VVx99dXxxz/+MQYPHpwXpbytttoqzjzzzBg3blxcfPHFWcchAyUlJXHJJZfEnXfeGR07dsw6zmeGDRsWTzzxRHz729/OOkpOFRUVxcknnxwvvvhiXHnllbHrrrtGYeGW9ys5gwcPjscffzxuu+22OOCAA+r9fdC9e/e45JJLYty4cXHmmWdGaWlpjeaWLl2aaL/NoeAfEXHooYfGgw8+2KBK9IWFhXHWWWfFPffcE1tvvXXWcRLr0aNH3HzzzfHUU0/FiSeeGG3bts06EgAAAAAA0EA1yjoAAAAAAAAAAGRt4MCBcdttt8XMmTPjD3/4Qzz55JNRWVmZdazPFBcXx/777x/Dhw+PwYMHR6NGftxPxL777htPP/103HvvvXHHHXfEmjVrcp6hqKgoDjzwwDjttNNi1113zfn+DUlJSUkMHz48hg8f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BP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAA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BgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAAyEDgDwAAAAAAAAAAAAAAAAAAABkI/AEAAAAAAAAAAAAAAAAAACADgT8AAAAAAAAAAAAAAAAAAABkIPAHAAAAAAAAAAAAAAAAAACADAT+AAAAAAAAAAAAAAAAAAAAkIHAHwAAAAAAAAAAAAAAAAAAADIQ+AMAAAAAAAAAAAAAAAAAAEAGAn8AAAAAAAAAAAAAAAAAAADIQOAPAAAAAAAAAAAAAAAAAAAAGQj8AQAAAAAAAAAAAAAAAAAAIAOBPwAAAAAAAAAAAAAAAAAAAGQg8AcAAAAAAAAAAAAAAAAAAIAMBP4AAAAAAAAAAAAAAAAAAACQgcAfAAAAAAAAAAAAAAAAAAAAMhD4AwAAAAAAAAAAAAAAAAAAQAYCfwAAAAAAAAAAAAAAAAAAAMhA4A8AAAAAAAAAAAAAAAAAAAAZCPwBAAAAAAAAAAAAAAAAAAAgA4E/AAAAAAAAAAAAAAAAAAAAZCDwBwAAAAAAAAAAAAAAAAAAgAwE/gAAAAAAAAAAAAAAAAAAAJCBwB8AAAAAAAAAAAAAAAAAAAAyEPgDAAAAAAAAAAAAAAAAAABABgJ/AAAAAAAAAAAAAAAAAAAA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5Cc/ic997nMlyzBq1Ki44447okePHiXLAAAAAAAAAAAAAAAAAABQLhT8AdqptrY2zjzzzHjggQdijz32KHWctXTp0iXGjRsX3/72t6OqKt8/8k899dS47bbbomfPnrmuCwAAAAAAAAAAAAAAAABQrhT8gYqx++67l1VZvKamJo4//vi4//774/zzz4/OnTuXOtJG/c//+T/j17/+dey+++5FX2vHHXeMO+64Iy6++OKoqakp+noAAAAAAAAAAAAAAAAAAJVC8xKoGN/4xjfi61//erzyyivxl7/8JSZOnBgvv/xyrFq1KtccAwYMiGOOOSZOOumk2G677XJduz323HPPuOeee+J3v/td3H777fHmm28W9PwDBgyIU089NU4++eSoq6sr6LkBAAAAAAAAAAAAAAAAADoCBX9ytaEidpIkzd972nc2d955Z6kjlExVVVXstddesddee8XYsWNj8eLF8corr6z1NXv27IKvOWzYsNhvv/3i05/+dIwYMWKtX7eVpKqqKk488cQ44YQT4sknn4zf//73MXHixFi0aNEmna9r164xcuTIOO644+Kwww6L6urqAicGAAAAAAAAAAAAAAAAAOg4tKnJTUNDQ6xatSqSJIk0TTc4U1tbm3MqKl337t1j9OjRMXr06ObXPvroo3jzzTdj1qxZ8d5778WsWbPi/fffjwULFsSyZcti2bJlsXTp0li+fHkkSRJ1dXVRV1cX3bp1i379+kXfvn2jf//+MXjw4Bg6dGgMHTo0unfvXsJdFl6SJHHggQfGgQceGKtWrYoXX3wx/v73v8f06dPjzTffjHnz5sWSJUtiyZIlERHRrVu36Nq1a/Tu3Tt22mmnGDJkSOy+++7xiU98Iurq6kq8GwAAAAAAAAAAAAAAAACAyqDgT27mz5/f6kyXLl1ySEJH16dPn+jTp0984hOfKHWUilBdXR0jRoyIESNGlDoKAAAAAAAAAAAAAAAAAECHVlXqAGw+3nvvvY2+l6ZpRET07NkzpzQAAAAAAAAAAAAAAAAAAAD5UvAnN6+++mqL7ydJEr17984pDQAAAAAAAAAAAAAAAAAAQL4U/MnNU0891erM1ltvnUMSAAAAAAAAAAAAAAAAAACA/Cn4k4u5c+fGxIkTI0mSFud22GGHfAIBAAAAAAAAAAAAAAAAAADkTMGfXFx11VXR2NgYERFp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//W/omfPnhGx9lPu19VUjo+IWLlyZfz0pz+NQw45JG655Zb46KOP8ogaERELFy6M2267LT772c/GuHHjYvny5a2W+9fcV48ePeK8887LKy4VrKGhISZMmJBp9lOf+lRRn1bfZOjQoTFq1KhMs1nL+Fm5HgAAAAAAAAAAAAAAAAAAlUPBv0z17t07Lrzwwo2W49fUVKRvKtMvXLgwxo0bFwcddFB861vfivvvvz8WLVpU8IyLFy+Ohx56KL797W/HgQceGNdff318+OGH6+XJkv273/1ubLXVVgXPSMczceLEqK+vzzR7zDHHFDlN29eaNm1azJgxo2Druh4AAAAAAAAAAAAAAAAAAJWjptQB2Ljjjjsu/vSnP8Uf/vCHVsvya5bqm35euXJlPPLII/HII49EVVVV7LzzzrHPPvvEsGHDYocddojtt98+ttpqq6iurm4xx+rVq+PDDz+Md955J956662YNm1avPDCC/H666/HqlWrmteLiOb113xtQ5r2kyRJfPazn40vfOELma8Lm7eJEydmmuvUqVN89rOfLXKafzrssMPisssui5UrV7Y6+5e//CUGDx5ckHVdDwAAAAAAAAAAAAAAAACAyqHgX+Z+9KMfxTvvvBOvvfZappJ/RKxX9I+IWLVqVUydOjWmTZu21jFJksQWW2wRPXv2jLq6uqitrY2IiJUrV0ZDQ0PU19fHokWL1lt33Z+zFvvXnE2SJIYOHRrXXntti/Owpr/+9a+Z5vbdd9/o3r17kdP8U48ePWKfffaJ5557rtXZp556Kk477bSCrOt6AAAAAAAAAAAAAAAAAABUDgX/Mte5c+f4yU9+EieffHLMnj271ZJ/xIaL/k2vb6ioX19fH/X19W3Otua511w3yzFpmsaAAQPilltuiS5durR5bTZPs2fPjpkzZ2aaHT16dHHDbGTNLIX2559/PhoaGqKurq5d67keAAAAAAAAAAAAAAAAAACVparUAWjdNttsE3fddVcMHDgw0jRdr1i/MU2F/nUL/xv7WleW+XXXaMmax2y//fZx1113xTbbbJP1MkD87W9/yzw7cuTIIibZsFGjRmWaW7p0abz66qvtXs/1AAAAAAAAAAAAAAAAAACoLAr+FWLAgAFx9913x7Bhw5pL/lmL/hFrF/E3VspvqfCf5fiWrFnuHzZsWNx1110xYMCAzMdDRMSU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eL5v376xxx575DVDr1694vDDD080O3Xq1Hj66afzuv6GFi9eHHfccUei2T333DP233//gmUBAAAAAAAAAAAAAAAAAGiNFPwBWmDatGlx1VVXNeuYL3/5ywXJcu655yaevf7666OhoaEgOW688cb4+OOPE802JzMAAAAAAAAAAAAAAAAAQFuh4A+UjGuvvTbuuuuuqK+vL2qOSZMmxQUXXBCrV69OfEz37t3jlFNOKUiewYMHx6c+9alEs7NmzYqbbrop7xn+9Kc/xf33359otnfv3nHMMcfkPQMAAAAAAAAAAAAAAAAAQGun4A+UjAULFsR3vvOdOPLII+NnP/tZLF68ONX16+rq4nvf+15ceumlzSr3R0RcfPHFUV1dXaBkEV/72tcSz44fPz4mTpyYt7VnzZoVV111VeL5yy+/PMrLy/O2PgAAAAAAAAAAAAAAAABAqVDwB0rO+++/HzfffHMcdthhcdlll8Vf/vKXaGhoKNh6TU1NMXHixDjhhBPizjvvbPbxn/rUp+K0007Lf7AN7L///nHSSSclms1ms3HFFVfEpEmTcl739ddfj7POOiuWL1+eaP6ggw6K4447Lud1AQAAAAAAAAAAAAAAAABKUUWxAwC0VH19fTzyyCPxyCOPRKdOneLggw+O4cOHx5AhQ6J37945P/7ChQtjwoQJcf/998dbb73VoseoqamJ7373u5HJZHLOszVf//rX44knnkhUtl+7dm1cdtll8dprr8XFF18clZWVzV7voYceimuuuSZWrVqVaL6qqiquvvrqZq8DAAAAAAAAAAAAAAAAANBWKPgDbcLy5cvj0UcfjUcffTQiIrbffvvYe++9o1+/frHLLrtEr169omvXrtG1a9fo0KFDVFVVRWVlZTQ0NMSaNWtiyZIlsXDhwnjrrbfitddei+nTp8frr7+ec65x48ZF//79c36cJLp37x7XX399XHTRRYnms9ls/PznP4/HHnssLrnkkjjqqKMSFf2nT58et956azz77LPNynfFFVfEgAEDmnUMAAAAAAAAAAAAAAAAAEBbouAPtElLliyJJ598Mp588smiZbj88svjmGOOSXXNo446Ks4888z49a9/nfiYt956Ky677LLYfvvt4zOf+Uzss88+0bdv3+jUqVOUlZXFxx9/HPPnz4+XX345pkyZEm+//Xazcx1zzDFxxhlnNPs4AAAAAAAAAAAAAAAAAIC2RMEfoAAuv/zy+MpXvlKUta+44op49913469//WuzjluyZEk88MAD8cADD+Q1z3777Rff+9738vqYAAAAAAAAAAAAAAAAAAClqKzYAQDakurq6rj++uuLVu6PiKisrIwf/ehHcfDBBxctwzqDBg2KX/ziF9GhQ4diRwEAAAAAAAAAAAAAAAAAKDoFf4A86d27d9x1113xuc99rthRoqqqKn7605/GscceW7QMBx10UIwfPz46depUtAwAAAAAAAAAAAAAAAAAAK2Jgj9AjiorK+O8886LiRMnxt57713sOOu1b98+br311vjqV78aZWXpPt2PHj06br/99ujSpUuq6wIAAAAAAAAAAAAAAAAAtGYK/kDJ2GuvvVpVYbyioiJGjhwZEyZMiLFjx0a7du2KHWmTzj///Pjtb38be+21V8HX6tu3b4wfPz6+8Y1vREVFRcHXAwAAAAAAAAAAAAAAAAAoJdqXQMm48MIL4z//8z9j5syZ8be//S2mTp0aL730UjQ2Nqaao2fPnnHiiSfGaaedFr169Up17ZbaZ5994r777ovf//73cccdd8TcuXPz+vg9e/aM0aNHx+mnnx5VVVV5fWwAAAAAAAAAAAAAAAAAgLZCwR8oKWVlZbHvvvvGvvvuGxdddFGsWLEiZs6cudHHggUL8r7moEGD4uCDD45DDz00Bg8eHJlMJq9rpKGsrCw+//nPx6mnnhpPPvlkPPjggzF16tRYvnx5ix6vpqYmhgwZEieffHIcffTRUV5enufEAAAAAAAAAAAAAAAAAABti4I/UNI6duwYQ4cOjaFDh67/3EcffRRz586N+fPnx7vvvhvz58+P9957L5YsWRJ1dXVRV1cXq1atitWrV0cmk4mqqqqoqqqKDh06xA477BDdu3ePHj16RP/+/WO33XaL3XbbLTp27FjEs8yvTCYThx12WBx22GHR2NgYM2bMiH/84x8xe/bsmDt3bixatChWrlwZK1eujIiIDh06RE1NTdTW1ka/fv1iwIABsddee8UBBxwQVVVVRT4bAAAAAAAAAAAAAAAAAIDSoeAPtDldu3aNrl27xgEHHFDsKK1eeXl5DB48OAYPHlzsKAAAAAAAAAAAAAAAAAAAbV5ZsQMAAAAAAAAAAAAAAAAAAADAtkDBHwAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAA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IPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAK1RQ8AAAAAAAAAAACodB0dHTFt2rTYuHFjWZ43cuTI2H///cvyLAAAAAAAALoOgT8AAAAAAAAAAMBWuuuuu+Kaa64p2/O+853vCPwBAAAAAAC6oeqiBwAAAAAAAAAAAFSylStXxg033FD0DAAAAAAAACqAwB8AAAAAAAAAAGArjB8/Ppqbm4ueAQAAAAAAQAWoLXoAAAAAAAAAAABQmvXr18eMGTNKvvfxj388xo4dW/5BPdi9994bCxYsKHoGAAAAAAAAFULgDwAAAAAAAAAAFWb9+vVx8803l3xvxx13FPiX0erVq+Pqq68uegYAAAAAAAAVpLroAQAAAAAAAAAAAJXosssui/Xr1xc9AwAAAAAAgAoi8AcAAAAAAAAAACjRgw8+GI899ljRMwAAAAAAAKgwAn8AAAAAAAAAAIASvPfee3HllVcWPQMAAAAAAIAKJPAHAAAAAAAAAAAoweTJk2Pt2rVFzwAAAAAAAKACCfwBAAAAAAAAAAAyeuKJJ2Lu3LlFzwAAAAAAAKBCCfwBAAAAAAAAAAAyaGxsjAkTJhQ9AwAAAAAAgAom8AcAAAAAAAAAAMjg6quvjlWrVhU9AwAAAAAAgAom8AcAAAAAAAAAANiMhQsXxk9+8pOiZwAAAAAAAFDhBP4AAAAAAAAAAAAfYePGjTF+/Pjo7OzMfGennXaKvffeO8dVAAAAAAAAVCKBPwAAAAAAAAAAwEe48cYbY8WKFSXdufzyy6N37945LQIAAAAAAKBSCfwBAAAAAAAAAAA+xIsvvhgzZswo6c7RRx8dY8aMyWkRAAAAAAAAlUzgDwAAAAAAAAAA8AFaW1vjkksuifb29sx3BgwYEOPGjctxFQAAAAAAAJVM4A8AAAAAAAAAAPABbr/99nj99ddLuvO9730vPvGJT+S0CAAAAAAAgEon8AcAAAAAAAAAAPgTr7/+evzrv/5rSXdGjRoVxxxzTE6LAAAAAAAA6A4E/gAAAAAAAAAAAH+kvb09xo0bF62trZnv9OrVKyZNmpTjKgAAAAAAALoDgT8AAAAAAAAAAMAfufPOO2PRokUl3fn2t78dO++8c06LAAAAAAAA6C4E/gAAAAAAAAAAAP/fihUr4gc/+EFJd3bfffc47bTTcloEAAAAAABAdyLwBwAAAAAAAAAAiIjOzs649NJLY+PGjZnvVFdXx5VXXhm1tbU5LgMAAAAAAKC7EPgDAAAAAAAAAABExN133x3PPvtsSXdOOeWU+OxnP5vTIgAAAAAAALobgT8AAAAAAAAAANDjrVq1KqZOnVrSnR122CHOOeecfAYBAAAAAADQLQn8AQAAAAAAAACAHm/ChAnR1NRU0p2JEydG3759c1oEAAAAAABAd1Rb9AAAAAAAAAAAgKKsWbMmFi1aFG+88UYsW7YsVqxYEQ0NDdHU1BRNTU3R0tISffr0ib59+0a/fv2ib9++scMOO8Tw4cNjt912i9122y122GGHqKqqKvqj9BjNzc2xdOnSWLJkSfzmN7+JZcuWxbp166KxsTGampqisbEx2tvb/+zP2bBhw2L48OExYsSI2G233Yr+GHQx//7v/x5PPPFESXe+9KUvxcEHH5zPIAAAAAAAALotgT8AAAAAAAAA0GN0dnbGc889F//5n/8Z8+fPj9dee22zd5qbm+N3v/vdh/7xQYMGxaGHHhqHHXZYjBo1Kurr68s5mYh466234vHHH4/HH388nn/++Whra9vsnaampli9enVERCxatOh9f2y77baLgw46KA466KD44he/GL169cplN5Vh7dq1cdVVV5V0p3///nHppZfmtAgAAAAAAIDuTOAPAAAAAAAAAHR77777bvzsZz+Le+65J1asWFHWZ69ZsybuueeeuOeee6JPnz5x9NFHx+mnnx677LJLSc955JFHYurUqSW//4gjjogLLrig5HtbYuXKlXHYYYeVfG/AgAGxcOHCku60t7fHww8/HNOmTYuXX3655Hd+lNWrV8d9990X9913XwwYMCC+/vWvx0knnRQ77bRTWd+zJebMmRMXX3xxbs9/++23Y/fdd8/t+R9k5MiRcddddyV9ZymuuOKKWLduXUl3Lrjggth2223zGQQAAAAAAEC3JvAHAAAAAAAAALqtxsbGuP3222PmzJmxadOm3N/X3Nwc99xzT9x3331xxBFHxFlnnRWf/vSnM91tbGyMN998s+R3rl27tuQ7XVlra2vce++98aMf/Sjeeuut3N+3bt26mDZtWkyfPj2OOuqoOP/882Pw4MG5v5eu4dFHH42HHnqopDsjR46M4447LqdFAAAAAAAAdHfVRQ8AAAAAAAAAACi3jo6OmD17dhx++OHxwx/+MEnc/8fa29vjoYceimOPPTamTp2a/P2V6uWXX46vf/3rcfnllyeJ+/9YR0dHzJ07N4488si45ZZb/DnrAdavXx+XXXZZSXfq6+tj0qRJUVVVlc8oAAAAAAAAuj2BPwAAAAAAAADQrfz3f/93nHrqqTFp0qR47733Ct3S3t4ed9xxR3zta1+L//qv/yp0S1fW0tISN9xwQ3zjG9+I1157rdAtGzZsiB/84Adx3HHHxdKlSwvdQr6mTJkSa9asKenO2WefHbvuumtOiwAAAAAAAOgJBP4AAAAAAAAAQLfxi1/8Ir761a/GM888U/SU91m2bFmcfPLJMWfOnKKndDmNjY1xxhlnxG233RZtbW1Fz/m9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nZd5yX/t2rUxfvz4Vn8NjB07Nvr165dSqsKMHDmy6NmvfOUrSv4AAAAAAACQMQV/AAAAAAAAAKCsTJw4MXbddddUrjVz5sw45ZRT4pRTTon7778/1q9fX/S1Fi5cGDfffHMccsghcd1118WqVasSz55zzjkxaNCgovfeGmzcuDHOOeecuPfeezPZb+HChXHqqafGjBkzWnWdHj16xLnnnptSqsJ98pOfLHp2/fr1cf7558eECRNSv9EFAAAAAAAA8MGq8w4AAAAAAAAAAFCIDh06xLe+9a048cQTo6GhIZVrzpw5M2bOnBmXX3557LXXXrHvvvvGwIEDY5dddolevXpFly5dora2NlpaWmL9+vWxdu3aWLRoUcyfPz9eeeWVePbZZ2PRokVF7T148OD4whe+EA8++GAqr6Utqq6ujubm5mhubt7susbGxrjiiitixowZcdlll0VdXV1J8jz88MNxxRVXxPvvv9/qa02cODG6du2aQqri7LHHHrHzzjsX/fUXEfG73/0ufve730Xfvn1jv/32i2HDhsUuu+wSO+ywQ2y77bbRtWvXqKz0HBEAAAAAAABIg4I/AAAAAAAAAFB2hgwZEtdff31ccskl0dLSktp1Gxsb47nnnovnnnvun36turo6mpqaUt2vY8eOcf3110dNTU1q12yLunbtGsccc0zcddddidY/8MADMXXq1LjooovihBNOSO18Xn/99bjuuuti+vTpqVxv1KhRccwxx6RyrdY4+eST46abbmr1dd5+++2477774r777vunX6uqqoqqqqqirrvPPvvEHXfc0dp4AAAAAAAAsFVwa20AAAAAAAAAoCwdddRRcfHFF2e236ZNm1It91dUVMT1118fw4YNa/V1ysFFF10U/fr1S7x+1apVceWVV8ahhx4a3/ve92Lx4sVF7btx48Z4/PHH48wzz4zPfvazqZX7e/bsGVdddVUq12qtU045Jbp27VrSPZqamqKhoaGofxobG0uaDQAAAAAAAMpJdd4BAAAAAAAAAACK9fnPfz6WLVsWP/vZz/KOUrAJEybE6NGjW32dtJ5uX2qdOnWKa665Js4888yC5pYvXx6TJ0+OyZMnx6677hr7779/DB48OAYNGhR9+vSJLl26ROfOnaOxsTHWrVsXq1ativnz58fcuXNjxowZMX369Kivr0/1tVRVVcU3v/nN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PwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg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//vfj8bGxqLlo/dauXJlnHHGGTFnzpxiR4n/+Z//ia997WvR0NBQtAz2AwAAAAAAAAAAAAAAAACg9FQVOwDZLV26NL785S/HX/7yl5Zif7NilvrbsmHJv/m1W265JWbNmhU//vGPY8iQIcWMSC9z/vnnx4svvtjl47bccss45JBDYs8994ztttsuBg8eHGmaxooVK+LNN9+M2bNnxyOPPBKLFi3q0nkffvjhuOqqq+L888/vcqaeYD8AAAAAAAAAAAAAAAAAAEqPgn+ZWLRoUZx66qkxb9689cr9PVHsb32jgLZ0Z40Ni/5pmsbMmTPjlFNOiZtvvjmGDRu20eeGZjfffHM8/PDDXTpm3Lhxcc4558RBBx0UFRUVbc7sv//+8fnPfz4aGxtjxowZcc0118ScOXMyr3HTTTfFvvvuG4ceemiXsnWX/QAAAAAAAAAAAAAAAAAAKE1ttzgpKYsXL46TTz45amtrIyJaivJdKd43F+zb+mitrfNmPbYjzedtPqa2tjYmT57c5aeA0301NTWxxx57xJgxY4odpUfMmTMnrrzyyszzVVVVccEFF8Rvf/vbOPjgg9sts7dWWVkZhx12WPzud7+Lb37zm1FVle3eKGmaxr//+7/HkiVLMufrLvsBAAAAAAAAAAAAAAAAAFC6FPxLXF1dXZx11lnxxhtvtJTjsxb72yriNxftW38MHDgwttlmm9hpp51i1113jd122y122mmn2GabbWKzzTZr85jmDF0t+7cu+b/55pvxv//3/466urqubAld0Fzm//znPx/f+9734s4774znn38+fvvb38aRRx5Z7Hg9YurUqVFfX59ptn///nHjjTfGlClTunSDimYVFRVx+umnx/XXXx/9+vXLdMyyZcviqquu6vJaG8t+AAAAAAAAAAAAAAAAAACUrmyPXaZoLr744njhhRe6VO7fsNDf/NqOO+4Ye++9d4wbNy522mmn2HHHHWPYsGFRU1PT4fkaGhpi8eLF8cYbb8Trr78ec+bMieeffz7mzZsXTU1NLefPmrG55J+macyaNSsuvPDCLj1xnLbV1NTEmDFjYty4cbHHHnvEuHHjYsyYMVFdXV3saAVz9913x7PPPptptrq6On7605/Gfvvt1+11DzjggPjJT34SX/ziFzOV6e+88874whe+EB/5yEe6vXZH7AcAAAAAAAAAAAAA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LrH33nvH7rvvHjvuuGNsv/32MWzYsKisrOwwR1NTUyxevDgWLFgQr7/+esydOzeef/75ePXVV6OxsbFlvYhoWb/1a21pvp4kSeLwww+Pz372s5n3hU1T1kJ71jJ5IWXNkPWaunPsprIfAAAAAAAAAAAAAAAAAADlQMG/xP3gBz+IBQsWxCuvvJKp5B8RHyr6R0Q0NjbGnDlzYu7cuesdkyRJbLbZZrH55ptHTU1NVFdXR0REfX191NXVxfLly2PFihUfWnfDn2ct9reeTZIkxowZE5dffnmH8xCR/enuy5cvL2yQHszQnSfW2w8AAAAAAAAAAAAAAAAAgPKj4F/i+vbtGz/5yU9i8uTJ8be//a3Tkn9E20X/5tfbKuovX758o0rArc/det0sx6RpGltvvXVcd9110a9fvy6vzaYna/l72bJl0dDQEFVVxfnyVl9fH8uWLcs0m0fBf1PZDwAAAAAAAAAAAAAAAACAclBR7AB0bquttopbb701tttuu0jT9EPF+vY0F/o3LPy397GhLPMbrtGR1sdsv/32ceutt8ZWW22VdRvYxI0cOTLTXFNTUyxZsqTAadq3ZMmSTL8eIrJfU3eO3VT2AwAAAAAAAAAAAAAAAACgHCj4l4mtt946brvttth9991bSv5Zi/4R6xfx2yvld1T4z3J8R1qX+3ffffe49dZbY+utt858PGy77baZZxctWlTAJB177733Ms925Zq6c+ymsB8AAAAAAAAAAAAAAAAAAOVAwb+MDB8+PG6//fY44YQTWsr1XS36b6i94v7GFvk31Dpfmqbxuc99Lm6//fYYMWLERp+TTdM222yTeXbBggUFTNJza3en0G4/AAAAAAAAAAAAAAAAAADKj4J/mampqYmpU6fGlVdeGUOGDOmxon9P27DYP3To0Ljqqqvie9/7XtTU1BQ5HeWoK+XvYhba33zzzUxz/fr1i2HDhm30OvYDAAAAAAAAAAAAAAAAAKD8KPiXqaOPPjoeeOCB+Od//ueoqKgomaL/hsX+ioqKmDx5ctx///0xceLEouWi/I0YMSIGDRqUafaNN94obJgOZC3T77zzzt1ax34AAAAAAAAAAAAAAAAAAJQfBf8yttlmm8V3vvOduP/+++OEE06IqqqqDxX9C134b2udNE2jqqoqTjzxxHjggQfioosuis0226xgGdh07Lbbbpnm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TaOysjKuuOKKGDJkSJ4RczN48OC48soro6Li759e7e1JxN/34//+3/+bVzR6ucGDB8fPf/7z2HfffYuWYeLEifHjH/84ampqipahmf0AAAAAAAAAAAAAAAAAACgtCv495K677oo333wzImK9J9S3lqZpJEkSX/rSl2K//fbLM17u9tlnn/jKV77S6V5ERMyaNStmzJiRZzx6sS222CJuuummOOmkk3Jdt6KiIs4777z44Q9/GH379s117Y7YDwAAAAAAAAAAAAAAAACA0qHg30NuuOGGdt9LkqSl0D569Og466yzckxWPF/+8pdj7NixEREtZf62pGkaP/vZz/KKxSagqqoqLrroorjhhhtixx13LPh6e+65Z9xxxx1x5plnFnytjWE/AAAAAAAAAAAAAAAAAABKg4J/D3juuefitddeaynyd+Siiy6KiopNY9srKiriO9/5TsvPNyz5N9/0ICLiz3/+c8ydOzfXfPR+Bx54YNx9991x/vnnx1ZbbdXj5x81alRceuml8etf/zr22GOPHj9/T7MfAAAAAAAAAAAAAAAAAADFVVXsAL3Br371q3bfay79J0kSEydOjH333TfHZMX3sY99LI4//vj43e9+96GC/4Z+9atfxXe/+918gpW5W265pdgRykZNTU2cdtppccopp8SDDz4Yd911Vzz99NOxevXqjTrf4MGDY/z48TFp0qQ46KCDOv28LjX2AwAAAAAAAAAAAAAAAACgeBT8u2nlypXx4IMPtllqbf1aVVVVnHfeeXlGKxlf//rX49577436+vqWGx601vza3XffHRdccEH06dOnSEnpzaqqqmLChAkxYcKEqKuri2effTZmz54dtbW1MX/+/Hj//fdj1apVLUX3AQMGxIABA2LEiBGx8847x6hRo+KjH/1o7L333lFZWVnkq+k++wEAAAAAAAAAAAAAAAAAkD8F/2764x//2G5xPSIiTdNIkiSOPvroGDlyZBESFt/w4cNj0qRJ8d///d8fuhFC8/5ERKxevTr+9Kc/xVFHHVWMmGxCampqYvz48TF+/PhiRykJ9gMAAAAAAAAAAAAAAAAAIB8VxQ5Q7h588ME2X29dZK+oqIgvfelLeUUqSWeeeWZUVf39fhIblvxb+8Mf/pBXJAAAAAAAAAAAAAAAAAAAgFwp+HfD2rVr47HHHmu3sN78dPqDDz44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nXHBBRcUO0anXnzxxejTp0+xY6wnTdN47LHH4ne/+1089thjsXz58g7nly1bFsuWLYu33347Zs2a1fJ6//7944ADDohjjz02jjjiiKisrCx0dAAAAAAAAAAAAAAAAACAsqbgD7CJaGpqijvvvDNuvPHGmDdvXrfPt3r16pg+fXpMnz49tt566zjllFNi8uTJUVNT0wNpAQAAAAAAAAAAAAAAAAB6n4piBwCg8GbNmhUnnnhifOtb3+qRcv+G3nnnnbjsssvi2GOPjSeffLLHzw8AAAAAAAAAAAAAAAAA0Bso+AP0cv/v//2/OPHEE2PWrFkFX+v111+PKVOmxPe///1obGws+HoAAAAAAAAAAAAAAAAAAOVEwR+gl1q7dm2ce+65cdVVV0VTU1Oua//85z+P0047LZYtW5brugAAAAAAAAAAAAAAAAAApUzBH6AXqquri6985Stx//33Fy3DU089Faeeemp88MEHRcsAAAAAAAAAAAAAAAAAAFBKFPwBepn6+vr46le/Go8//nixo8TLL78cZ555ZqxatarYUQAAAAAAAAAAAAAAAAAAiq6q2AEA6FmXX355PPLII10+bvPNN4/DDjss9thjj9h5551j0KBBUVlZGcuXL4933nknZs+eHTNmzIi33nqrS+edOXNmXHjhhXHNNdd0ORMAAAAAAAAAAAAAAAAAQG+i4A/Qizz88MPxi1/8okvH7LDDDnHOOefEEUccETU1Ne3OTZo0Kb797W/Hs88+G9dee208++yzmdd44IEH4rbbbovJkyd3KRsAAAAAAAAAAAAAAAAAQG+i4A/0ar/4xS9iv/32K3aMXCxatCguuOCCzPNJksQZZ5wR55xzTlRXV2c+Zt99941bb701pk2bFt/97ndjzZo1mY697LLLYr/99ovRo0dnzggAAAAAAAAAAAAAAAAA0JtUFDsAAD3jiiuuiBUrVmSaraysjKuuuirOO++8zOX+DR1//PFx++23x5AhQzLN19XVxfe+972NWgsAAAAAAAAAAAAAAAAAoDdQ8AfoBZ5//vm46667Ms9fdtllMXHixG6vu+uuu8ZNN90Um222Wab5p556Ku6///5urwsAAAAAAAAAAAAAAAAAUI4U/AF6gSuuuCLSNM00O2XKlDj22GN7bO1dd901pk6dmnn+hz/8YTQ2NvbY+gAAAAAAAAAAAAAA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AAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIIGa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AAAAAAAAAAAAgOog8AcAAAAAAAAAAAAAAAAAAIAE8pVeAAAAAAAAAAAAAAAAAAAAAIYCgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkIPAHAAAAAAAAAAAAAAAAAACABAT+AAAAAAAAAAAAAAAAAAAAkIDAHwAAAAAAAAAAAAAAAAAAABIQ+AMAAAAAAAAAAAAAAAAAAEACAn8AAAAAAAAAAAAAAAAAAABIQOAPAAAAAAAAAAAAAAAAAAAACQj8AQAAAAAAAAAAAAAAAAAAIAGBPwAAAAAAAAAAAAAAAAAAACQg8AcAAAAAAAAAAAAAAAAAAIAEBP4AAAAAAAAAAAAAAAAAAACQgMAfAAAAAAAAAAAAAAAAAAAAEhD4AwAAAAAAAAAAAAAAAAAAQAICfwAAAAAAAAAAAAAAAAAAAEhA4A8AAAAAAAAAAAAAAAAAAAAJCPwBAAAAAAAAAAAAAAAAAAAgAYE/AAAAAAAAAAAAAAAAAAAAJCDwBwAAAAAAAAAAAAAAAAAAgAQE/gAAAAAAAAAAAAAAAAAAAJCAwB8AAAAAAAAAAAAAAAAAAAASEPgDAAAAAAAAAAAAAAAAAABAAgJ/AAAAAAAAAAAAAAAAAAAASEDgDwAAAAAAAAAAAAAAAAAAAAkI/AEAAAAAAAAAAAAAAAAAACABgT8AAAAAAAAAAAAAAAAAAAAkUFPpBQAAAAAAAKCUXnzxxVi3bl1s2LAhNm7cGDt27IidO3fGrl27Yt++fdHZ2Rl1dXUxbNiwqK+vj/Hjx8fEiRNjypQpcfTRR8fb3va2OProo6Omxl+lAQAAAAAAAAAApZUrFovFSi8BAAAAlF9nZ2esXr06nnnmmdiwYUNs2LAhmpubo62tLdra2iKXy8WoUaNi5MiRMX78+GhsbIzp06fH7Nmz4/jjj49CoVDpSwAAgD/T29sb69ati8ceeyxWrVoVTz/9dOzatavf7ztq1Kg48cQT47TTTouzzz47xowZ0+/3BAAAAACgMnp6emLt2rXx3HPPxaZNm2Lz5s2xbdu2aGtri/b29mhvb49CoRAjR478w6/JkyfHEUcc8YdfM2fOjEMOOaTSlwIAAH9m586d8fTTT8f69etj/fr18corr8Tvf//7aGlpif3790dnZ2cUi8UYNmxY1NXVRUNDQ0yYMCEmTpwY06ZNi+nTp8esWbNi6tSplb4UGDIE/gAAADCI9fT0xIMPPhj33HNPPP7449He3n5Q79PQ0BALFiyIRYsWxSmnnFLiLQEAoG/a2tri0UcfjYceeiiWL18eLS0tZT2vtrY2zjzzzLj44ovjuOOOK+tZAABQCY888kg89dRTfXrNIYccEosXLy7LPgAAUAp79uyJn/3sZ7F8+fJYtWpV7N27t1/vl8/n4+ijj445c+bECSecEPPmzfNwWAAAKqJYLMaTTz4Z9913X6xYsSI2bdpUkvedPHlyzJs3L84+++yYP39+1NTUlOR9gT8n8AcAAIBBqLOzM+644464/fbb4+WXXy7pe0+fPj0uuuiiWLRoUeTz+ZK+NwAAvJ7Ozs5Yvnx5NDU1xa9//evYt29fRfaYN29eLFmyJGbMmFGR8wEAoNR27NgR55xzTp9jp8MPPzx++ctflmkrAAA4eGvXro0777wz7r///ujo6CjbOTU1NTF37tw466yz4qyzzorx48eX7SwAAIiIaG9vj7vuuituv/32eOmll8p61rhx4+Jv//Zv4yMf+UiMHTu2rGfBUCTwBwAAgEHm0Ucfja985SuxefPmsp5z7LHHxpe//OWYOXNmWc8BAGBoe+655+Kuu+6Ke++9N3bv3l3pdSIiolAoxEc+8pG44oorYvjw4ZVeBwAA+uWjH/1oLF++vM+vE/gDADDQbNq0KW666ab4+c9/nvzsfD4ft956a8ybNy/52QAADH69vb3xox/9KL7xjW9ES0tL0rNHjBgRl1xySVxyySW+RwJKSOAPAAAAg0R3d3dcf/318b3vfS/ZmYVCIS6//PK45JJLkp0JAMDQccMNN8Qtt9xS6TVe11FHHRVLly6NadOmVXoVAAA4KD/5yU/i85///EG9VuAPAMBA0dnZGTfddFPcfvvt0d3dXbE9vv3tb8cZZ5xRsfMBABictmzZEldccUWsXbu2ontMmTIlbrzxxnj7299e0T1gsMhXegEAAACg/1paWuLCCy9MGvdHRPT8P/buM07K+l4b+G8rHRYQEAEFUaRYwN4rxoZGMIqK3Wiw67FrouaIsWvssfcexRZbFAULimKnCKJIkab0urvsPi/yxJijwj0w98yyfL/vjl7/+V8TyPkQdq57li6Nq6++Os4888xYvHhxTu8GAKD2mz17dr4rLNOYMWPid7/7XQwbNizfVQAAIGPTp0+Pyy+/PN81AABgpYwdOzYOPPDAuOeee/I67gcAgDS89tpr0bt377yP+yMiJk2aFP369Yv7778/31WgVjDwBwAAgFXcnDlz4qijjsrrqOiFF16Ik08+OcrLy/PWAQAA8mHBggVx3HHHxZAhQ/JdBQAAMnLxxRfHnDlz8l0DAABW2MsvvxwHHHBAjB49Ot9VAAAg65544ok49dRTY8GCBfmu8qPKysr4y1/+EldffXW+q8Aqz8AfAAAAVmHz58+P3//+9zXih9VvvfVWnHHGGZ6IDwDAamfx4sVx2mmnxYgRI/JdBQAAEnn++edj0KBB+a4BAAAr7OGHH44zzjgjlixZku8qAACQdS+88EJcdNFFsXTp0nxX+UV33XVX3HzzzfmuAau04nwXAAAAAFbcueeeG5999lnG51q1ahU777xzbLTRRtGuXbto0qRJVFdXx9y5c+Pbb7+NL774It54442YMWNGRq/72muvxbXXXhvnnntuxp0AACBbCgoKYu21146NNtoounXrFu3atYs2bdpEixYtol69elGvXr1YsGBBzJ49O2bPnh3jxo2LYcOGxQcffBATJ05coTsXLlwY/fv3j2effTaaNWuW5XcEAADZ88MPP8SAAQPyXQMAAFbYbbfdFn/961/zXQMAAFLx2Wefxfnnnx/V1dUrdL5Vq1bRvXv32HTTTaN169bRuHHjaNKkSRQUFMScOXNi7ty5MWXKlPjkk0/i448/jilTpqzQPTfddFOsu+66sffee6/QeVjdFVSv6H/LAQAAgLy677774vLLL8/oTLdu3eK0006LHXbYIQoLC5eZXbp0aQwePDhuuOGGGD16dOI7CgoK4rbbbotddtklo24AAPB/XXjhhfH3v/89UbZRo0ax8847x/bbbx/bb799rLHGGit056effhp33nlnvP7661FVVZXx+T333DNuuOGGFbobAABy4dRTT41XXnllpV+nTZs2MWjQoCw0AgCA5J588sn44x//uEJnCwoKomPHjrH55pvHhhtuGGuvvXa0adMmGjZsGPXr14+IiLlz58bcuXNj3rx5MW3atBg9enSMGjUqvvzyy5g8efIyX/9vf/ubz0oAALBSFi9eHPvvv3988803GZ0rKSmJPfbYI4488sjYeOONMzo7cuTIeOCBB+If//hHlJeXZ3S2SZMm8fzzz0erVq0yOgcY+AMAAMAqafTo0fG73/0uKioqEuWLi4vj7LPPjiOPPDIKCgoyuquqqiruvffeuO6666KysjLRmbKysnjxxRejefPmGd0FAAA/tbyBf0lJSey6667Rq1ev2HnnnaO0tDRrd48bNy7OPvvsGDFiRMZn77jjjthpp52y1gUAALLlxRdfjDPOOGOZmXr16sWiRYuW+1oG/gAA5NrgwYPjxBNPTPzZhX9r06ZN/O53v4vf/va30aZNmxW+f/r06TF48OB44403YujQobFw4cL/+vcG/gAArKybbropbr755ozOdO/ePa655ppo167dSt09ZcqUOOecc2LYsGEZnevVq1dce+21K3U3rI4M/AEAAGAVdNhhh8UHH3yQKFu/fv3429/+FltttdVK3Tl06NA44YQTEn2wMyLigAMOiL/85S8rdScAAKu3Xxv4t2rVKg466KDo27dvtGjRIrX7y8vL4+qrr44HHnggo3NdunSJgQMHZvxwLQAASNPMmTNjn332iZkzZ/5qplu3btGxY8d47rnnlvt6Bv4AAOTSxIkTY//994/58+cnPtOyZcs4+eSTo0+fPlFSUpLVPuXl5TFkyJB49NFH45133onq6moDfwAAVsqsWbNit912iwULFiQ+c8wxx8SZZ54ZxcXFWelQVVUVt912W9x4442JzxQUFMQzzzwTnTt3zkoHWF0U5rsAAAAAkJnnn38+8bi/pKQkbrvttpUe90dEbLPNNnHrrbcm/qH3008/HZ999tlK3wsAAP/WoUOH+Mtf/hKvv/56nHzyyamO+yMiSktL48ILL4w//vGPGZ0bNWpUDBkyJKVWAACwYi699NJljvuLi4tjwIABUVRUlMNWAACwfJWVlXHWWWdlNO7/7W9/G//4xz+ib9++WR/3R/zr74979uwZd999d7zyyitxzDHHRKNGjbJ+DwAAq4+nnnoqo3H/IYccEueee27Wxv0REYWFhXHSSSdF//79E5+prq6ORx55JGsdYHVh4A8AAACrkMrKyrj++usT588555zYeuuts3b/tttuG//zP/+TKFtdXR1XX3111u4GAGD11aFDh7j++uvjxRdfjAMOOCCVD2Muy+GHHx7HH398RmeefvrplNoAAEDm/vnPf8aLL764zMzRRx8dXbt2zVEjAABI7pZbbolPPvkkUbaoqCguuuiiuOqqq6Jx48bpFvv/1llnnTj33HNj8803z8l9AADUTgMHDkyc3WqrreJPf/pTal3OOOOM2GOPPRLn//GPf8SSJUtS6wO1kYE/AAAArEJefPHFmDx5cqLs9ttvH0cccUTWOxx99NGJHxowbNiw+Oyzz7LeAQCA1cOaa64Zl156afzjH/+IvffeOwoL8/ejrTPOOCM23njjxPlBgwbFwoULU2wEAADJzJ49O/785z8vM9O+ffs45ZRTctQIAACSGzduXNxxxx2JskVFRXH99ddHv379Um4FAADZNXHixPjqq68SZQsKCuK8886LoqKiVDude+65UVpamig7f/78+Oijj1LtA7WNgT8AAACsQu6+++5EueLi4rjgggtS6VBQUBAXXnhh4r8YvPPOO1PpAQBA7XfKKafEQQcdlPoPpZMoLCyMiy++OHG+vLzcD68BAKgRLrvsspgxY8av/vuCgoK49NJLo06dOjlsBQAAyVx++eVRWVmZKHvxxRdn9C2jAABQUwwbNixxdo899oiuXbum2OZf2rRpE4ccckji/HvvvZdiG6h9DPwBAABgFfHhhx/G6NGjE2X79OkTHTt2TK1Lp06d4re//W2i7GuvvRZTp05NrQsAAOTKhhtuGDvssEPi/AcffJBiGwAAWL433ngjnnvuuWVmDjrooNhyyy1z1AgAAJIbPHhwvPXWW4myffv2jb59+6bcCAAA0pH088EREXvuuWeKTf7bXnvtlTg7duzYFJtA7WPgDwAAAKuI5X0I898KCgriqKOOSrdMRBx99NGJclVVVfHCCy+k3AYAAHKjd+/eibPjxo1LsQkAACzb3Llz46KLLlpmpmXLlnH22WfnqBEAAGTmhhtuSJRbZ5114rzzzku5DQAApOfbb79NlCsqKortttsu5Tb/sfHGG0dZWVmibNL3APyLgT8AAACsAsrLy+Pll19OlN1uu+2iY8eOKTeK6NSpU2y99daJskkfTgAAADXddtttFwUFBYmyfngNAEA+XX755TF9+vRlZi6++OJo1KhRjhoBAEBy7733XowYMSJR9vzzz4/69eun3AgAANLz/fffJ8q1b98+GjdunHKb/ygqKooNN9wwUTbpewD+xcAfAAAAVgFvv/12zJkzJ1F23333TblN5nd9+eWXvr0UAIBaoaysLNZZZ51E2R9++CHlNgAA8MveeuutePrpp5eZ2WOPPaJnz545agQAAJm55557EuU233zz2GWXXVJuAwAA6Vq4cGGiXPPmzVNusuJ3Jn0PwL8Y+AMAAMAq4O23306Uq1OnTk4/kPmb3/wmSkpKEmXfeuutlNsAAEButGvXLlHOD68BAMiH+fPnx5/+9KdlZpo0abLcDAAA5MuECRNiyJAhibLHH398ym0AACB91dXViXJNmzZNucnP5eOhArA6MPAHAACAVcA777yTKLfZZptFw4YNU27zH40bN44ePXokyr777rsptwEAgNxo1KhRolx5eXnKTQAA4OeuuuqqmDJlyjIz5557brRo0SJHjQAAIDMvvPBCooFTu3btYscdd8xBIwAASFfjxo0T5YqKilJu8nOFhclmyGVlZekWgVrGwB8AAABquClTpsT48eMTZbfZZpt0y6zEnR988IGBEwAAtULSH17XrVs35SYAAPDfhg4dGo8//vgyM9tss00ccMABOWoEAACZe/HFFxPlDjjggCgoKEi5DQAApC/pOH7mzJnpFlmJOw38ITMG/gAAAFDDDR8+PHF2q622SrHJL9t6660T5RYuXBgjR45MuQ0AAKRvzpw5iXINGjRIuQkAAPzHggUL4sILL1xmpl69enHppZfmqBEAAGRuzJgxMXbs2ETZnj17ptwGAAByo0WLFolyNXng36pVq5SbQO1i4A8AAAA13IgRIxLlSkpKokuXLim3+bmuXbtGUVFRoqyBPwAAtcF3332XKNe6deuUmwAAwH9cc801MXny5GVmTj311GjXrl2OGgEAQOYGDx6cKNeuXbtYf/31U24DAAC50aNHj0S58ePHx6JFi1Ju89+SfvZ30003TbkJ1C4G/gAAAFDDJf2LsY4dO0ZpaWnKbX6ubt260bFjx0TZUaNGpdwGAADStXDhwvjmm28SZdu3b59uGQAA+P+GDRsWjz766DIzG264YRx55JE5agQAACvm/fffT5TbcsstU24CAAC5s/nmmyfKlZeXx7Bhw1Ju8x+jR4+O6dOnJ8puscUWKbeB2sXAHwAAAGq4pKP4Ll26pNxk5e8eMWJEyk0AACBdH3zwQVRVVSXK5vPP6AAArD4WLVoUF154YVRXV/9qpqSkJC677LIoKirKYTMAAMhMZWVlDB8+PFE26TecAgDAqqBDhw7Rpk2bRNnXXnst5TaZ31VWVhabbLJJym2gdjHwBwAAgBpsxowZMWfOnETZddZZJ+U2v27ttddOlPv6669TbgIAAOl69dVXE2c9nR4AgFy47rrrYsKECcvMHHvssdG5c+ccNQIAgBUzYsSIWLhwYaLsxhtvnHIbAADIrUMPPTRRbuDAgTFp0qSU20TMnj077r///kTZvn37RmlpacqNoHYpzncBAAAA4Ndl8hdw+Rz4J7170aJF8cMPP0Tz5s1TbgQAANk3f/78eOmllxJlmzVrFl27dk25EQAAq7vhw4fHQw89tMxMhw4d4qSTTspRIwAAWHEjR45MlCssLIwOHTokypaXl8d7770Xn3zySYwdOza+/vrrmDNnTsyfPz/Ky8ujbt26Ua9evWjatGm0adMm2rZtG127do3u3bvHuuuuGwUFBSvzlgAAILEDDzwwbrnlluU+9KqioiKuv/76uPbaa1Ptc8stt8TcuXOXmyspKYl+/fql2gVqIwN/AAAAqMEmT56cONuuXbsUmyzb2muvnTg7adIkA38AAFZJTz75ZCxYsCBRdu+9947CwsKUGwEAsDpbsmRJXHDBBVFVVfWrmYKCghgwYIBvTgIAYJXw1VdfJcq1bt16uX/GHTZsWDz88MMxZMiQZQ6kFixYEAsWLIjvv/8+xo4d+1//rkWLFtGzZ8/Ya6+9YquttkrUDQAAVlSTJk3i2GOPjZtuumm52RdeeCE22mijOOqoo1LpMnDgwHjggQcSZY8++uho1apVKj2gNvOpIgAAAKjBJk2alDjbsmXLFJtk7+5M3hMAANQU8+fPj7vuuitxfv/990+vDAAARMRf//rXGD9+/DIzBx98cGy++ea5KQQAACtpzJgxiXLL+hKCIUOGRO/evePwww+Pl19+ebnffrosM2bMiEcffTSOOOKI2HfffWPgwIGxdOnSFX49AABYnv79+0e3bt0SZa+88soYOHBg1ju8+uqr8cc//jFRtlOnTnHKKadkvQOsDgz8AQAAoAabOnVqolxBQUE0b9485Ta/rnnz5lFQUJAoO2XKlJTbAABA9v3tb3+L77//PlF2q622io022ijlRgAArM4+/fTTuP/++5eZWXPNNeOss87KUSMAAFh548aNS5T7pc9HTJ06NU488cQ47rjjYuTIkdmuFmPGjInzzjsvevfuHR988EHWXx8AACIiiouL48orr4wGDRosN1tVVRXnnXdenH/++bFgwYKVvnvx4sVxySWXxCmnnBKVlZXLzTds2DCuvvrqKC0tXem7YXVk4A8AAAA12KxZsxLlysrKori4OOU2v660tDSaNGmSKDt79ux0ywAAQJZ9+eWXcd999yXOn3DCCemVAQBgtVdeXh4XXHDBcr859OKLL46GDRvmqBUAAKyc8vLy+OGHHxJlmzVr9l//99ChQ6N3797x+uuvp1Htv3z55Zdx2GGHxeWXXx4VFRWp3wcAwOpn/fXXjzvuuCPq1auXKP/000/HnnvuGX/7299i5syZGd83Z86cuOuuu2KvvfaKRx99NNGZ+vXrx1133RWdO3fO+D7gX/L3yX8AAABguebMmZMol3Rcn6YmTZokGu8nfU8AAFATVFRUxDnnnJP4g5o77LBDbLPNNim3AgBgdXbzzTfHV199tczM3nvvHbvuumuOGgEAwMqbMWNG4uxPB/5PPPFEXHLJJct9AFa23XffffHJJ5/Ebbfd9rMHDgAAwMrafPPN47bbbosTTzwxFi5cuNz89OnT4/rrr49bb701Nt988+jevXt079492rRpE40aNYomTZpEQUFBzJkzJ+bOnRtTp06Njz/+OD7++OMYPnx4LFq0KHG3srKyuOWWW6JHjx4r8xZhtWfgDwAAADVY0m+7rwnfwpS0Q9L3BAAANcENN9wQo0ePTpQtKSmJCy+8MOVGAACszr744ou4++67l5kpKyuLP/7xjzlqBAAA2ZHJwP/f32T6xBNPxEUXXRTV1dVp1VqmTz75JA477LC49957o1WrVnnpAABA7bXNNtvEs88+G2eeeWZ89tlnic4sWbIk3nnnnXjnnXdS6bTtttvGFVdc4c+/kAWF+S4AAAAA/Lq5c+cmyjVo0CDlJtnrMGfOnJSbAABAdrz++utx1113Jc7//ve/jw4dOqTYCACA1VlFRUWcf/75UVlZuczc+eefH82bN89RKwAAyI7vv/8+cbakpCRef/31vI77/23cuHFxxBFH+LIDAABSsfbaa8ejjz4ap556al6/DGzNNdeMSy65JO655x7jfsiS4nwXAAAAAH7dokWLEuXq16+fcpPlSzrwX7x4ccpNAABg5U2YMCHOPffcxB8O7dKlS5x00kkptwIAYHV22223xZgxY5aZ2X777WP//ffPTSEAAMiipF+AEBExZcqUuP766xP//e26664bW2+9dXTp0iXatWsXjRs3jtLS0li0aFHMnDkzxo8fH5988km89957MWvWrIy7jx8/Pk455ZS4++67o7S0NOPzAACwLMXFxXHSSSfF4YcfHvfff3889NBDOXvAVMeOHePwww+PAw44wJ91IcsM/AEAAKAGW943Mf1bTfhLs5KSkkS5ioqKlJsAAMDKmTdvXvTv3z/mzZuXKF9aWhpXXXVV4j8TAwBApkaPHh133HHHMjP169ePP//5zzlqBAAA2ZXJlwXcc889sXTp0mVmioqKYr/99osjjjgiunbtmuh1KyoqYvDgwXHHHXfEp59+mrhPRMSwYcPir3/9a5xzzjkZnQMAgKQaN24cp5xySvTv3z/ef//9+Oc//xkvv/xy1sf+9erVi2OOOSb22Wef6NixY1ZfG/iPwnwXAAAAAH5d0jF8UVFRyk2y18HAHwCAmqyysjJOPfXUGDduXOIz5513XnTq1CnFVgAArM4qKyvj/PPPX+7frZ522mnRtm3bHLUCAIDsKi8vT5xd3ri/W7du8fTTT8cVV1yReNwf8a8vNujZs2c88cQTcdVVV0WTJk0Sn42IuPfee2P48OEZnQEAgEx9/fXX8fnnn8fIkSNjzpw5WX/9RYsWxb333ht//etf45lnnom5c+dm/Q4gojjfBQAAAIBfZ+APAAC59b//+7/x7rvvJs736tUr+vXrl2IjAABWd3fccUeMHDlymZlNNtkkjjjiiBw1AgCA7Mtk4L8s++23X1x22WVRWlq6Uq/z29/+Nnr06BHHH398fPPNN4nOVFVVxSWXXBLPPvtsFBb6LkYAALKnqqoq/vnPf8btt98eI0aMSP2+hQsXxquvvhqvvvpqNGjQIA499NA4+uijo3nz5qnfDasL/6sRAAAAarDKyspEueLi/D/DL2mHpO8JAABy7dZbb43HH388cX699daLSy+9NMVGAACs7saMGRO33nrrMjMlJSUxYMAAAyIAAFZp2Rj49+nTJ6666qqVHvf/29prrx0PPfRQtG/fPvGZMWPGxPPPP5+V+wEAICLitddei169esWpp56ak3H//7VgwYK48847Y9ddd41rr702aw/ngtWdn+oAAABADZZ0NL906dKUmyzfqvQwAgAA+L8eeeSRuOGGGxLnW7RoEbfffnvUr18/xVYAAKzOli5dGueff35UVFQsM3f88cdHp06dctQKAADSUVRUtFLnt9xyyxgwYEAUFBRkqdG/rLHGGnHnnXdGo0aNEp+59dZbo7q6Oqs9AABY/cyfPz/OP//8OOmkk2LcuHH5rhOLFy+OO+64Iw466KAa0QdWdT5RDwAAADVYSUlJouF8TRj4J+1QUlKSchMAAMjMc889F//7v/+bON+kSZO4++67o23btim2AgBgdXf33XfHF198scxMx44do3///jlqBAAA6VmZzxI0btw4rr322pV+SMCvWXvtteOSSy6JM888M1F+/Pjx8d5778U222yTSh8AAGq/MWPGxIknnhgTJ07M+Ox6660XPXr0iC5dukTr1q1jjTXWiDp16kRBQUEsXrw4Zs6cGVOmTIkvv/wyPv300xg1alRGD6gaNWpU9OnTJ66++ur4zW9+k3E/4F8M/AEAAKAGS/pt90keApA2A38AAFZFr732Wpx//vmJf1hdv379uPPOO2ODDTZIuRkAAKuzcePGxU033bTMTGFhYQwYMCBKS0tz1AoAANKzMp8lOO2006Jly5ZZbPNzvXr1iieffDLee++9RPknnnjCwB8AgBUyZsyYOPLII2PmzJmJz6yxxhrRt2/f6NOnT8ZfVjB9+vR49tln49FHH43JkycnOrN48eL4n//5n/jrX/8a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1CnWW2+9lNsAALC6mDdvXhxzzDGJvyUpIqJbt25x9913R8OGDVNsBgAAAADAytp3330T5caMGZN4bJ8tmTzkysAfAIDladu2beLs8OHDU2yybB9++GHibCbvCVZnBv4AAACwCigtLY0999wzUfbtt9+Ob775JuVGEV999VUMHTo0UXa//fZLuQ0AAKuL+fPnx+9///v44osvEp/ZYIMN4p577olGjRql2AwAAAAAgGzo2bNnooe1VldXx3PPPZeDRv/x7LPPJs7usMMOKTYBAKA26Ny5c+LsP//5zxSbZO/uLl26pNgEag8DfwAAAFhFJB3JV1dXx7333ptym4h77703qqurl5srLCyMXr16pd4HAIDab9GiRfGHP/whPvnkk8Rn1ltvvbjvvvuirKwstV4AAAAAAGRP3bp1Y6+99kqUfeSRR6K8vDzlRv/ywQcfxIgRIxJl27dvHx07dky5EQAAq7pOnTpFgwYNEmXHjBkTn332WcqNfm7ixInxzjvvJMo2adIk1l133ZQbQe1g4A8AAACriC222CI22GCDRNmnn346vvnmm9S6fPXVV/HMM88kyu62227RunXr1LoAALB6WLx4cfTv3z8+/PDDxGfat28f9913XzRr1izFZgAAAAAAZNsRRxwRBQUFy81Nnz49Hn300Rw0irjxxhsTZ/fee+8UmwAAUFsUFhbGFltskTh/6623ptjml912221RVVWVKLvlllsm+nM8YOAPAAAAq5Rjjz02Ua6ioiL+8pe/pNbjsssui8rKykTZ4447LrUeAACsHsrLy+Okk06K9957L/GZdu3axQMPPBAtWrRIsRkAAAAAAGno1KlT7LrrromyN910U0ybNi3VPs8880wMGzYsUba4uDgOPvjgVPsAAFB77LHHHomzb7zxRgwaNCjFNv9t+PDh8fTTTyfO77nnnim2gdrFwB8AAABWIfvss0+0adMmUXbIkCHx8MMPZ73DfffdF++++26i7JZbbhmbbLJJ1jsAALD6qKioiNNOOy3efvvtxGfatGkTDzzwQLRq1SrFZgAAAAAApKl///6JcvPmzYszzzwz8RcVZOrbb7+NSy+9NHF+zz339PfTAAAktvvuu0fdunUT5y+44IL47rvvUmz0LzNnzowzzzwzqqurE+UbNGgQu+yyS8qtoPYw8AcAAIBVSHFxcZxxxhmJ81dccUXiJ8gnMXTo0LjmmmsSZQsKCuKss87K2t0AAKx+li5dGmeddVZGT59fc8014/7774+11lorxWYAAAAAAKRt4403jl69eiXKfvDBB/HHP/4x8fgoqRkzZsRxxx0X8+fPT5QvKSmJ0047LasdAACo3Ro1ahR9+vRJnJ81a1Ycc8wxMWPGjNQ6zZ49O4455piYMmVK4jN9+/aNBg0apNYJahsDfwAAAFjF7LvvvrH55psnypaXl8cf/vCH+PDDD1f63vfeey9OOOGEqKioSJTv3bt3bLLJJit9LwAAq6eqqqo4//zz4+WXX058pkWLFnH//fdHu3btUmwGAAAAAECunHfeedGoUaNE2YEDB8bZZ58d5eXlWbl7woQJcfjhh8e3336b+Ey/fv1i7bXXzsr9AACsPo455pgoKSlJnP/mm2+ib9++MXr06Kx3GTduXPTt2zdGjRqV+EydOnXiqKOOynoXqM0KqrP9iDoAAAAgdaNHj47f/e53icf2JSUlcc4558Thhx8eBQUFGd1VXV0d9913X1xzzTVRWVmZ6ExZWVm8+OKL0bx584zuAgCAf5s0aVLstttu+a6x0i6//PKMnrQPAAD5dt5558XAgQOXm2vTpk0MGjQoB40AAFjdPfLII/HnP/85cb5r165x+eWXR+fOnVf4zmeffTYuu+yymDNnTuIz7du3j4EDB0b9+vVX+F4AAFZf1113Xdx+++0ZnSkpKYkTTjghjjnmmKhXr95K3V9eXh73339/3HzzzbF48eKMzp522mlx4oknrtT9sLopzHcBAAAAIHOdO3eOs846K3G+oqIiLrvssvjd734Xb731VlRVVS33TFVVVbz55pvRu3fvuOKKKxKP+wsKCuLyyy837gcAAAAAAAAAVtqhhx4ae+65Z+L8yJEjo0+fPnHuuefGyJEjE5+rqKiI1157LQ466KA455xzMhr3l5SUxDXXXGPcDwDACjvxxBOjffv2GZ2pqKiIG2+8MXbfffe4+eabY/LkyRnfO3Xq1Pjb3/4Wu+++e1xzzTUZj/s7deoUv//97zO+F1Z3BdXV1dX5LgEAAACsmBNPPDFef/31jM+tueaascsuu8RGG20U7dq1i8aNG0d1dXXMnTs3JkyYEJ9//nkMGjQoZsyYkfFrH3PMMXHuuedmfA4AAH5q0qRJsdtuu+W7xkq7/PLLo0+fPvmuAQAAiZ133nkxcODA5ebatGkTgwYNykEjAACImD9/fhx44IHx9ddfZ3y2Y8eOsfXWW0eXLl1i7bXXjsaNG0dJSUksWrQoZs6cGePHj49PP/003n333Zg1a9YK9bviiiuid+/eK3QWAAD+bezYsXHQQQfFwoULV/g1OnXqFD169IgNNtgg2rRpE82aNYu6detGQUFBLF68OGbOnBlTpkyJ0aNHxyeffBKjRo1a4bsaNWoUf//73zN+MAEQUZzvAgAAAMCKu+qqq+Koo46Kzz//PKNzU6dOjUcffTQeffTRrPbp2bNnnHnmmVl9TQAAAAAAAABg9dawYcO444474vDDD48pU6ZkdHbcuHExbty4lJpFnHHGGcb9AABkxfrrrx/XXnttnHrqqVFRUbFCrzFmzJgYM2ZMlpv9XJ06deKGG24w7ocVVJjvAgAAAMCKa9iwYdx9992xwQYb5LtKbL/99nH99ddHcbHnCQIAAAAAAAAA2dWuXbt44IEHYs0118x3lYiIKCgoiHPOOSf69++f7yoAANQiu+66a9x4441RWlqa7yq/qm7dunHrrbfGdtttl+8qsMoy8AcAAIBVXJMmTeL++++PLbfcMm8d9tlnn7jllltq9F8mAgAAAAAAAACrtrXXXjsefvjh6NKlS1571KtXL6666qo49thj89oDAIDaadddd40HH3ywxjzc6qfatGkTjzzySGy//fb5rgKrNAN/AAAAqAWaNm0a9957bxx22GE5vbewsDDOOuusuO6666Ju3bo5vRsAAAAAAAAAWP20bds2HnvssejTp09e7u/UqVM89dRTsd9+++XlfgAAVg/du3ePgQMHxh577JHvKj/q1atXPP3009GtW7d8V4FVnoE/AAAA1BLFxcXxpz/9Ke6+++5o37596vdttNFG8eSTT8Zxxx2X+l0AAAAAAAAAAP9Wt27duPzyy+OOO+7IyWckIiIaNmwY55xzTjz99NPRsWPHnNwJAMDqrVmzZnHjjTfGnXfeGZ06dcpbj65du8Z9990X1157bZSVleWtB9QmxfkuAAAAAGTX9ttvH88//3w89NBD8cADD8SUKVOy+vodO3aMY445Jvr06ROFhZ4dCAAAAAAAAADkx0477RTbbLNNPPbYY/Hggw/GhAkTsn5H06ZN4+CDD47DDz88mjdvnvXXBwCA5dlxxx1jhx12iDfe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a/9bgwYNom/fvnHMMcdEixYtUrkDAAAAAACAVUP+fgoIAAAAAAAAAJBlixcvzig/e/bsdIrUQvPmzYu77rorHn300ZgzZ07O7l24cGG89NJL8dJLL0WLFi2ib9++cfDBB+d0JD1s2LC45ppr4tNPP039rjFjxsT5558ft956a5x88smx//77p35nml5//fUYMGBAfPfdd/mu8jNjxoyJm2++Of75z39GVVVVqnctWLAg7rnnnnj44YfjsMMOi1NOOSXq1auX6p0AAAAAAADUTIX5LgAAAAAAAAAAkC0lJSUZ5WfNmpVSk9qjuro6nnrqqdhjjz3ib3/7W07H/f/XjBkz4uabb47jjz8+J/fNmzcv/vSnP8URRxyRk3H/T02cODHOPffcOProo2PixIk5vTsbFixYEKeeemqceOKJNW7cv2jRorjmmmuid+/e8corr6Q+7v+pJUuWxN133x29evWKd955J2f3AgAAAAAAUHMY+AMAAAAAAAAAtUbdunUzyo8YMSKlJrXD9OnT44gjjogLLrggfvjhh3zX+VEuBtkjRoyIfffdN5544omorq5O/b5f8+6778Z+++0XL7/8ct46ZOq7776LQw45JF555ZV8V/mZzz//PHr16hV33nlnVFZW5q3HpEmT4thjj41bb701bx0AAAAAAADIDwN/AAAAAAAAAKDWaNq0aUZ536D96959993Yf//9Y9iwYfmuknMvvfRS9OvXL6ZMmZLvKhERsXDhwjj99NPjpptuyuvDBpKYMGFCHHTQQfHll1/mu8rPPPXUU9GvX7+YNGlSvqtERER1dXXccMMNcfrpp0d5eXm+6wAAAAAAAJAjBv4AAAAAAAAAQK3RunXrjPKfffZZTJgwIaU2q66nnnoqfv/738cPP/yQ7yo59/TTT8cZZ5wRixYtyneV/1JdXR0333xzDBgwIN9VftXMmTPj2GOPjRkzZuS7ys9cd911ccEFF8SSJUvyXeVnXnrppTjjjDOisrIy31UAAAAAAADIAQN/AAAAAAAAAKDWaNWqVdSrVy9xfunSpXHDDTek2GjV8+CDD8aFF14YS5cuzXeVnPvHP/4RF154YVRXV+e7yq966KGH4sorr8x3jZ8pLy+PP/zhDzXygRlXX3113H777fmusUyvvfZanHXWWTX69x4AAAAAAADZUZzvAgAAAAAAAAAA2VJYWBhdunSJjz76KPGZf/zjH7H33nvHbrvtlmKzVcOTTz650t8QX1xcHF27do3NNtssunbtGm3bto211lorGjRoEPXq1Yvq6upYsmRJzJs3L6ZNmxZTpkyJr776Kr788sv4+OOP4/vvv8/Su8nMRx99FOeee25UVVWt0Pni4uLYdNNNY4cddojOnTtHhw4doqysLOrXrx9LliyJ+fPnx4QJE2LMmDExdOjQeOedd2LBggUrdNc999wTa621Vhx++OErdD4Nt9xyS3z22WeJsq1atYqtt946Nttss+jQoUO0a9cuGjVqFPXq1Yvy8vJYsGBBfP/99zFmzJgYMWJEDBo0aIUfHHDDDTfEXXfdtUJnIyJKSkpi8803j+7du0e3bt2iTZs2Pz5IpE6dOj/+Xp44cWKMHTs2PvjggxgyZEjMmzcv47teeumlWH/99eOkk05a4b4AAAAAAADUfAXVHvsMAAAAAAAAANQiV199dcaD3rp168bdd98dm2++eUqtar6hQ4fGcccdFxUVFSt0vlu3bvG73/0u9txzz2jWrNkK9/j6669jyJAh8dprr8VHH30US5cu/Vmmc+fO8eyzz67wHf/XDz/8EPvvv39Mnz4947ONGjWKI444Ig4++OBo2bJl4nOLFi2KZ555Ju65554VGq+XlJTEQw89FN27d8/4bBKTJk1K/NCLQw89NB5//PFf/LX6t4KCgujZs2f069cvttpqqygsLMyoz2effRa33nprnH766dG5c+dEZ1588cU444wzMrrn3zbccMM4/PDDo2fPntGwYcOMzi5ZsiReffXVuP3222Ps2LEZnS0sLIzbb789dtxxx4zOAQAAAAAAsOow8AcAAAAAAAAAapXhw4fHoYcemvG50tLSOOuss+Kwww6LoqKiFJrVXJMmTYo+ffrEnDlzMj7bqVOnOPPMM2PnnXfOeq9p06bFwIED4+9//3tMnDjxx3+e7YH/scceG2+//XbG53r37h3nnHPOSj3QoLy8PO6666649dZbM364QuvWreOFF17IeICeRCYD/4KCgljWR5C6desWl156aXTr1i1b9ZZr1KhRccghh8SiRYsyOrf++uvHueeeGzvssMNKd6iqqorHHnssrrnmmliwYEHicy1btoyXXnoplV9XAAAAAAAA8i+zR2EDAAAAAAAAANRwPXr0iDXXXDPjc+Xl5fGXv/wlevfuHS+//HJUVVWl0K7mqa6ujvPPPz/jcX9xcXGcfvrp8fTTT6cy7o+IaNWqVfTv3z9effXVuPHGG2OTTTbJ+h3PP/98xuP+OnXqxJVXXhlXXHHFSo37I/71YIkTTzwx7r///mjRokVGZ6dMmRJ//etfV+r+bFjWuP+YY46JJ554Iqfj/vLy8jj77LMzGvcXFhbGcccdFwMHDszKuP/fr3nooYfG008/HR06dEh8bvr06XHNNddkpQMAAAAAAAA1T0H1sn7CBgAAAAAAAACwCrr99tvjuuuuW6nXaN26dfTp0yf23nvvWG+99bLUrOZ58MEHY8CAARmdKSsrixtuuCG23nrrlFr9ukGDBsWrr74aV1xxxUq/1vz582PPPfeMGTNmJD5Tr169uPXWW2Pbbbdd6fv/r2+//TYOP/zwmDZtWuIzRUVF8eSTT2Z9QD9p0qTYbbfdVuo1LrrooujXr1+WGiV34403xi233JI4X7du3bj22mujZ8+eqXWaM2dOHHXUUTFy5MhE+YKCgnjmmWeic+fOqXUCAAAAAAAgPwz8AQAAAAAAAIBaZ/bs2bH77rvH3Llzs/J67du3jx133DG22Wab2HTTTaOsrCwrr5tvM2fOjN122y0WLlyY+EzTpk3joYceqhUPPch0CF5YWBi33XZb7Lzzzql1+vrrr+Oggw6KefPmJT6z7bbbxr333pvVHis78D/jjDOif//+WWyUzNdffx377bdfVFRUJMrXqVMn7rzzzthqq61Sbvav/74dfPDB8e233ybK77HHHnHjjTem3AoAAAAAAIBcK8x3AQAAAAAAAACAbCsrK4uTTjopa683fvz4eOCBB+KEE06IrbfeOvbee+8455xz4sEHH4xPPvkklixZkrW7cum2227LaNxfv379uPfee2vFuH/BggXx0EMPZXTmjDPOSHXcHxGx7rrrxrXXXhsFBQWJz7z77rvx2WefpdgqMz179szLuD8i4qabbko87i8oKIhrr702J+P+iIhmzZrFjTfeGHXr1k2Uf/XVV2Ps2LEptwIAAAAAACDXDPwBAAAAAAAAgFrpsMMOix49emT9daurq2PcuHHx7LPPxoABA6Jv376x6aabRu/eveNPf/pTPPHEEzFq1KiorKzM+t3ZNGXKlHjssccyOnPZZZdFly5dUmqUW4899ljMmTMncb5Hjx7x+9//PsVG/7HTTjtF3759Mzrzt7/9LaU2mWnatGkMGDAgL3d/+eWX8dJLLyXOH3300bH77run2OjnOnfuHCeffHKibHV1dTz66KMpNwIAAAAAACDXCqqrq6vzXQIAAAAAAAAAIA2TJ0+OAw44IGbNmpXzu+vWrRsbbrhhdO/ePXr06BFbb711NGzYMOc9fs3VV18dd911V+J8nz594vLLL0+xUW7tscceMX78+ETZ4uLieO6556Jjx47plvqJ+fPnx5577hkzZsxIlC8qKoo333wzWrZsmZX7J02aFLvttlvG5y666KLo169fVjpk6swzz4wXXnghUbZDhw7x/PPPR0lJScqtfq6ysjL23Xff+Prrr5ebLSsri7feeitKS0tz0AwAAAAAAIBcKMx3AQAAAAAAAACAtLRp0ybuuuuuaNCgQc7vXrx4cXz44Ydx1113xUknnRRbbbVVHHrooXH77bfHhAkTct7npyoqKmLgwIGJ82VlZXH22Wen2Ci3Pv3008Tj/oiI/fffP6fj/oiIhg0bxgknnJA4v3Tp0sTj9rSstdZa0bdv37zcPXv27Hj11VcT5y+88MK8jPsj/vXAiP79+yfKzp49O954442UGwEAAAAAAJBLBv4AAAAAAAAAQK224YYbxn333RdrrLFGXntUVlbG8OHD47rrrovdd989DjjggHjooYdi/vz5Oe/y2muvxQ8//JA4379//2jWrFmKjXLrueeeS5wtLCzMaGifTQceeGCsueaaifPPPvtsim2Wr1+/flFcXJyXu5999tkoLy9PlO3evXvssMMOKTdatn322Sfx/09688030y0DAAAAAABAThn4AwAAAAAAAAC13sYbbxyPP/54bLTRRvmu8qMvvvgiLr300thhhx3if//3f2Pq1Kk5u/ull15KnC0rK8vbt7KnJZPB9E477RRt27ZNr8wylJaWxoEHHpg4P3r06Jg2bVqKjX5dUVFR9O7dOy93R2T2cINjjz02xSbJFBcXx3777Zco++6776bcBgAAAAAAgFwy8AcAAAAAAAAAVgtt27aNxx57LE466aQoKSnJd50fLVy4MB5++OHYfffdY8CAATF79uxU76usrMxoMHzggQdG/fr1U2yUWxMnToxJkyYlzmcysE/DgQceGIWFyT/iM3To0BTb/LrNN988mjdvnpe7Z8yYESNHjkyULSsr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oosuiquvvjqjhyqkaejQoXHsscfGgQceGG+99Va+6wAAAAAAAJBlBv4AAAAAAAAAwGrh7bffjuOPPz569uwZt99+e8yYMSMvPSorK+OOO+6Iww47bIU69O/fP+rWrZu1PgcffHBsvfXWGZ35/vvv44gjjoh77703Zw9MGDJkSBxxxBFx1FFHxaeffpqV12zYsGGcd955GZ2ZP39+HHPMMfHaa69lpcO/jRw5Mg477LCYMGFCRucOPfTQ6NatW1a7rOrOPvvsWH/99TM6c9ddd8XBBx8cX331VUqtlm3OnDnx8MMPx9577x1HHXVUvP3223npAQAAAAAAQPoKqqurq/NdAgAAAAAAAAAgG5YsWRIbb7xxomxRUVFsscUWsffee8fuu+8ezZo1S7Xb0qVL45VXXombbropvv766xV6jU022SQeffTRKCoqymq3yZMnR58+fWL27NkZn91oo43i7LPPjq222iqrnSIiZs+eHc8991w8+eSTMWbMmB//eefOnePZZ5/N2j3HHnvsCg2qDz/88DjttNOiUaNGK3x3ZWVlPPTQQ3HdddfFkiVLMjrbunXreOGFF6Jhw4YrfP+vmTRpUuy2226Jspdffnn06dMn6x1WxujRo+Pggw+ORYsWZXSuuLg4DjjggDjhhBOidevWKbX7lwULFsRbb70VL7zwQrz55ptRUVHxs0y2f68DAAAAAACQfwb+AAAAAAAAAECtkcnA/6eKiopiww03jG222Sa23Xbb2GSTTaJu3bor3ae6ujpGjBgRr732WgwcODCmTp26wq9Vt27dGDhwYKy77ror3euXvPfee3HsscdGZWXlCp3v0aNHHHTQQfGb3/xmpQbn06ZNiyFDhsRrr70W7777bpSXl/8sk+3R8w8//BD7779/TJ8+PeOzzZs3j2OOOSYOPPDAaNKkSeJz5eXl8eKLL8add965Qt8aX1JSEg899FB0794947NJrOoD/4iIQYMGxcknnxxLly7N+GxRUVHsuOOO0adPn9h2222z8hCF8vLyGDlyZAwfPjzeeuut+PDDD39x1P9TBv4AAAAAAAC1j4E/AAAAAAAAAFBrrOjA//8qKiqKddddN7p06RLrr79+tGnTJlq3bh2tW7eOhg0bRt26daOkpCQiIqqqqmLx4sUxa9as+OGHH2LSpEnxzTffxBdffBGffPJJzJw5c6X7FBYWxg033BC/+c1vVvq1luXxxx+Piy66aKVeo06dOtG9e/fYdNNNo2vXrtGuXbto3bp11K9fP0pLSyMioqKiIubNmxfTp0+PqVOnxtixY2Ps2LHx8ccfx4QJE5Z7Rxqj5+HDh8eRRx653MH1r6lbt25stdVWsf3220eXLl2iQ4cO0bhx4ygtLY2lS5fGggULYsKECTF27Nh49913Y8iQITF79uwV7vvHP/4xDj/88BU+vzy1YeAfkZ3f0yUlJdGjR4/YcMMNo3PnztG2bdto3bp1NG3aNOrUqROFhYUR8a/f10uWLIlZs2bFjBkz4vvvv4/x48fHN998E+PGjYtRo0b94gMrlsXAHwAAAAAAoPYpzncBAAAAAAAAAICaZunSpT+Ozn9NUVFRFBQUrPA33mfiggsuSH3cHxHRt2/fWLRoUVx++eUr/BpLliyJ999/P95///2f/buioqKIiBX6RvW0bbbZZnHFFVfE2WefHVVVVRmfX7x4cQwePDgGDx78X/+8uLg4679Hjj766FTH/bVJ3759o7KyMgYMGLBCv64R/xruDxs2LIYNG/aL/76kpCSWLl26wq8PAAAAAADA6qUw3wUAAAAAAAAAAFZFS5cuTX3cX1xcHAMGDMjpmPuoo46Kiy66KAoKCrL+2kuXLq2R4/5/69WrV/zv//5vVt97tn+PHHLIIXHeeedl9TVru379+sV1110XpaWlqbx+RUWFcT8AAAAAAACJGfgDAAAAAAAAANRATZs2jdtuuy0OPPDAnN/dr1+/uPnmm6NRo0Y5vzvfDjzwwLj66qujTp06+a7yM/3794+LL7443zVWSXvttVc8+OCD0bZt23xXAQAAAAAAYDVn4A8AAAAAAAAA1BoFBQXRsGHDfNdYaTvttFM8//zzseOOO+atQ8+ePeOpp56Kzp07561Dvuy7777x0EMPRcuWLfNdJSIi6tatG9dee22cccYZUVBQkO86q6zu3bvHM888E7169cp3FQAAAAAAAFZjBv4AAAAAAAAAQK1RWloaQ4cOjVtuuSV69eoVDRo0yHeljLRv3z5uuOGGuOOOO6JFixb5rhPrrLNO/P3vf48zzzwz6tWrl+86PyopKUn9jo033jief/752H///VO/a1m22GKLePbZZ43Ss6RRo0Zx7bXXxl133RXrrbdevuv8qgYNGsTBBx8cV155Zb6rAAAAAAAAkGUF1dXV1fkuAQAAAAAAAACQhvLy8njvvfdi8ODB8eabb8akSZPyXekXdenSJQ477LDYf//9o7i4ON91ftHkyZPj5ptvjueffz4qKiry0mGdddaJfv36xQEHHBANGzbM2b1vv/12XHPNNTFq1Kic3dm6des46aST4ne/+10UFBTk7N5/mzRpUuy2226Jspdffnn06dMn5UbZV1lZGU8++WTce++98e233+a7ThQXF8e2224b++yzT/zmN7+J+vXr57sSAAAAAAAAKTDwBwAAAAAAAABWG998802899578d5778WwYcNi5syZeevSokWL2HXXXWP//fePTTfdNG89MjV16tS477774plnnolZs2alfl9ZWVn07Nkz9t9//9hiiy1Sv29ZBg0aFHfeeWd89NFHqd3RoUOHOOqoo6JPnz5RWlqa2j3LszoM/P+turo63nzzzXj44Ydj6NChUVlZmbO7GzduHNtuu23svPPOsfPOO0fTpk1zdjcAAAAAAAD5YeAPAAAAAAAAAKy2vv322/jss8/i008/jZEjR8bYsWNj7ty5qdzVuHHj2HjjjaNHjx6x7bbbRo8ePfLyzezZUllZGUOHDo2XXnophg4dGt99911WXrekpCS6desWW265Zeywww6x2WabRVFRUVZeO1smTJgQzz33XLz++usxevToqKqqWqnXW3vttWOnnXaK/fbbLzbeeOMstWRFzJkzJ9544414/fXXY/jw4fHDDz9k9fXXXHPN2HDDDWOzzTaLzTffPLp27RrFxcVZvQMAAAAAAICazcAfAAAAAAAAAOAnpk2bFuPGjYuJEyfG5MmTY/LkyfH999/HrFmzYvbs2bFw4cKoqKiI8vLyKCgoiJKSkigpKYk6depEo0aNonnz5tGsWbNYY401Yp111on27dtHhw4dYu21116lB/3LM23atPj4449jzJgxMWnSpJg4cWJMnz49Fi1aFIsWLYrFixf/+J9X3bp1o6ysLJo2bRqtWrWKdu3axTrrrBOdO3eODTbYIK/fXJ+pefPmxUcffRQjRoyIiRMnxsSJE2Pq1KmxcOHCH993SUlJ1KtXL+rXrx9rrLFGtGvXLtq1axcbbLBBbL755tGyZct8vw1+xaRJk+Kzzz6LcePGxXfffRffffddTJ06NRYsWBCLFy+OxYsXx9KlS6O4uDhKS0ujXr16P/7eXmONNaJt27bRtm3baN++fWywwQZRVlaW77cEAAAAAABAnhn4AwAAAAAAAAAAAAAAAAAAQA4U5rsAAAAAAAAAAAAAAAAAAAAArA4M/AEAAAAAAAAAAAAAAAAAACAHDPwBAAAAAAAAAAAAAAAAAAAgBwz8AQAAAAAAAAAAAAAAAAAAIAcM/AEAAAAAAAAAAAAAAAAAACAHDPwBAAAAAAAAAAAAAAAAAAAgBwz8AQAAAAAAAAAAAAAAAAAAIAcM/AEAAAAAAAAAAAAAAAAAACAHDPwBAAAAAAAAAAAAAAAAAAAgBwz8AQAAAAAAAAAAAAAAAAAAIAcM/AEAAAAAAAAAAAAAAAAAACAHDPwBAAAAAAAAAAAAAAAAAAAgBwz8AQAAAAAAAAAAAAAAAAAAIAcM/AEAAAAAAAAAAAAAAAAAACAHDPwBAAAAAAAAAAAAAAAAAAAgBwz8AQAAAAAAAAAAAAAAAAAAIAcM/AEAAAAAAAAAAAAAAAAAACAHDPwBAAAAAAAAAAAAAAAAAAAgBwz8AQAAAAAAAAAAAAAAAAAAIAcM/AEAAAAAAAAAAAAAAAAAACAHDPwBAAAAAAAAAAAAAAAAAAAgBwz8AQAAAAAAAAAAAAAAAAAAIAcM/AEAAAAAAAAAAAAAAAAAACAHDPwBAAAAAAAAAAAAAAAAAAAgBwz8AQAAAAAAAAAAAAAAAAAAIAcM/P9f+3YsAAAAADDI33oWu8ojAAAAAAAAAAAAAAAAAAAAGAj+AAAAAAAAAAAAAAAAAAAAMBD8AQAAAAAAAAAAAAAAAAAAYCD4AwAAAAAAAAAAAAAAAAAAwEDwBwAAAAAAAAAAAAAAAAAAgIHgDwAAAAAAAAAAAAAAAAAAAAPBHwAAAAAAAAAAAAAAAAAAAAaCPwAAAAAAAAAAAAAAAAAAAAwEfwAAAAAAAAAAAAAAAAAAABgI/gAAAAAAAAAAAAAAAAAAADAQ/AEAAAAAAAAAAAAAAAAAAGAg+AMAAAAAAAAAAAAAAAAAAMBA8AcAAAAAAAAAAAAAAAAAAICB4A8AAAAAAAAAAAAAAAAAAAADwR8AAAAAAAAAAAAAAAAAAAAGgj8AAAAAAAAAAAAAAAAAAAAMBH8AAAAAAAAAAAAAAAAAAAAYCP4AAAAAAAAAAAAAAAAAAAAwEPwBAAAAAAAAAAAAAAAAAABgIPgDAAAAAAAAAAAAAAAAAADAQPAHAAAAAAAAAAAAAAAAAACAgeAPAAAAAAAAAAAAAAAAAAAAA8EfAAAAAAAAAAAAAAAAAAAABoI/AAAAAAAAAAAAAAAAAAAADAR/AAAAAAAAAAAAAAAAAAAAGAj+AAAAAAAAAAAAAAAAAAAAMBD8AQAAAAAAAAAAAAAAAAAAYCD4AwAAAAAAAAAAAAAAAAAAwEDwBwAAAAAAAAAAAAAAAAAAgIHgDwAAAAAAAAAAAAAAAAAAAAPBHwAAAAAAAAAAAAAAAAAAAAaCPwAAAAAAAAAAAAAAAAAAAAwEfwAAAAAAAAAAAAAAAAAAABgI/gAAAAAAAAAAAAAAAAAAADAQ/AEAAAAAAAAAAAAAAAAAAGAg+AMAAAAAAAAAAAAAAAAAAMBA8AcAAAAAAAAAAAAAAAAAAICB4A8AAAAAAAAAAAAAAAAAAAADwR8AAAAAAAAAAAAAAAAAAAAGgj8AAAAAAAAAAAAAAAAAAAAMBH8AAAAAAAAAAAAAAAAAAAAYCP4AAAAAAAAAAAAAAAAAAAAwEPwBAAAAAAAAAAAAAAAAAABgIPgDAAAAAAAAAAAAAAAAAADAQPAHAAAAAAAAAAAAAAAAAACAgeAPAAAAAAAAAAAAAAAAAAAAA8EfAAAAAAAAAAAAAAAAAAAABoI/AAAAAAAAAAAAAAAAAAAADAR/AAAAAAAAAAAAAAAAAAAAGAj+AAAAAAAAAAAAAAAAAAAAMBD8AQAAAAAAAAAAAAAAAAAAYCD4AwAAAAAAAAAAAAAAAAAAwEDwBwAAAAAAAAAAAAAAAAAAgIHgDwAAAAAAAAAAAAAAAAAAAAPBHwAAAAAAAAAAAAAAAAAAAAaCPwAAAAAAAAAAAAAAAAAAAAwEfwAAAAAAAAAAAAAAAAAAABgI/gAAAAAAAAAAAAAAAAAAADAQ/AEAAAAAAAAAAAAAAAAAAGAg+AMAAAAAAAAAAAAAAAAAAMBA8AcAAAAAAAAAAAAAAAAAAICB4A8AAAAAAAAAAAAAAAAAAAADwR8AAAAAAAAAAAAAAAAAAAAGgj8AAAAAAAAAAAAAAAAAAAAMBH8AAAAAAAAAAAAAAAAAAAAYCP4AAAAAAAAAAAAAAAAAAAAwEPwBAAAAAAAAAAAAAAAAAABgEOUJowqfdOxWAAAAAElFTkSuQmCC",
+ "text/plain": [
+ "
"
+ ],
+ "text/plain": [
+ " llama chatgpt gpt4\n",
+ "-1.0 25 17 0\n",
+ " 1.0 0 0 1\n",
+ " 2.0 0 30 23\n",
+ " 3.0 0 99 213\n",
+ " 4.0 2 82 208\n",
+ " 5.0 73 4 47\n",
+ " 6.0 76 88 74\n",
+ " 7.0 288 223 32\n",
+ " 8.0 136 57 2"
+ ]
+ },
+ "execution_count": 54,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "from collections import Counter\n",
+ "\n",
+ "count_llama = Counter(scores_llama)\n",
+ "count_chatgpt = Counter(scores_chatgpt)\n",
+ "count_gpt4 = Counter(scores_gpt4)\n",
+ "df = pd.DataFrame(\n",
+ " {\n",
+ " \"llama\": count_llama,\n",
+ " \"chatgpt\": count_chatgpt,\n",
+ " \"gpt4\": count_gpt4,\n",
+ " }\n",
+ ")\n",
+ "# sort the df by index\n",
+ "df = df.sort_index()\n",
+ "df = df.fillna(0)\n",
+ "df = df.astype(int)\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Overlap between chatgpt and gpt4: 6\n",
+ "Overlap between llama and gpt4: 4\n",
+ "Overlap between llama and chatgpt: 71\n"
+ ]
+ }
+ ],
+ "source": [
+ "# find examples that have 8 score with chatgpt and have 7 or 8 with gpt4\n",
+ "examples_8_chatgpt = [x for x in chatgpt_600 if x[\"score\"] == 8]\n",
+ "examples_8_llama = [x for x in llama_600 if x[\"score\"] == 8]\n",
+ "examples_7_8_gpt4 = [x for x in gpt4_600 if x[\"score\"] in [7, 8]]\n",
+ "examples_7_8_chatgpt = [x for x in chatgpt_600 if x[\"score\"] in [7, 8]]\n",
+ "\n",
+ "\n",
+ "prompts_8_chatgpt = [x[\"prompt\"] for x in examples_8_chatgpt]\n",
+ "prompts_7_8_gpt4 = [x[\"prompt\"] for x in examples_7_8_gpt4]\n",
+ "prompts_7_8_chatgpt = [x[\"prompt\"] for x in examples_7_8_chatgpt]\n",
+ "\n",
+ "overlap_chagpt_hpt4 = []\n",
+ "for ex in examples_8_chatgpt:\n",
+ " if ex[\"prompt\"] in prompts_7_8_gpt4:\n",
+ " overlap_chagpt_hpt4.append(ex)\n",
+ "\n",
+ "print(f\"Overlap between chatgpt and gpt4: {len(overlap_chagpt_hpt4)}\")\n",
+ "overlap_llama_gpt4 = []\n",
+ "for ex in examples_8_llama:\n",
+ " if ex[\"prompt\"] in prompts_7_8_gpt4:\n",
+ " overlap_llama_gpt4.append(ex)\n",
+ "\n",
+ "print(f\"Overlap between llama and gpt4: {len(overlap_llama_gpt4)}\")\n",
+ "overlap_llama_chatgpt = []\n",
+ "for ex in examples_8_llama:\n",
+ " if ex[\"prompt\"] in prompts_7_8_chatgpt:\n",
+ " overlap_llama_chatgpt.append(ex)\n",
+ "\n",
+ "print(f\"Overlap between llama and chatgpt: {len(overlap_llama_chatgpt)}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 72,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Chatgpt 8 score prompts (out of 57) that were given a 7/8 score by GPT4: 6\n",
+ "ChatGPT 8 score prompts (out of 57) that were given a 7/8 score by LLaMA: 45\n",
+ "LLaMA 8 score prompts (out of 136) that were given a 7/8 score by GPT4: 4\n",
+ "LLaMA 8 score prompts (out of 136) that were given a 7/8 score by ChatGPT: 71\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Extract prompts with specific scores\n",
+ "prompts_8_chatgpt = set(x[\"prompt\"] for x in chatgpt_600 if x[\"score\"] == 8)\n",
+ "prompts_8_llama = set(x[\"prompt\"] for x in llama_600 if x[\"score\"] == 8)\n",
+ "prompts_7_8_gpt4 = set(x[\"prompt\"] for x in gpt4_600 if x[\"score\"] in [7, 8])\n",
+ "prompts_7_8_chatgpt = set(x[\"prompt\"] for x in chatgpt_600 if x[\"score\"] in [7, 8])\n",
+ "prompts_7_8_llama = set(x[\"prompt\"] for x in llama_600 if x[\"score\"] in [7, 8])\n",
+ "\n",
+ "# Compute overlaps\n",
+ "overlap_chatgpt_gpt4 = prompts_8_chatgpt.intersection(prompts_7_8_gpt4)\n",
+ "overlap_llama_gpt4 = prompts_8_llama.intersection(prompts_7_8_gpt4)\n",
+ "overlap_llama_chatgpt = prompts_8_llama.intersection(prompts_7_8_chatgpt)\n",
+ "overlap_chatgpt_llama = prompts_8_chatgpt.intersection(prompts_7_8_llama)\n",
+ "\n",
+ "print(f\"Chatgpt 8 score prompts (out of {len(prompts_8_chatgpt)}) that were given a 7/8 score by GPT4: {len(overlap_chatgpt_gpt4)}\")\n",
+ "print(f\"ChatGPT 8 score prompts (out of {len(prompts_8_chatgpt)}) that were given a 7/8 score by LLaMA: {len(overlap_chatgpt_llama)}\")\n",
+ "print(f\"LLaMA 8 score prompts (out of {len(prompts_8_llama)}) that were given a 7/8 score by GPT4: {len(overlap_llama_gpt4)}\")\n",
+ "print(f\"LLaMA 8 score prompts (out of {len(prompts_8_llama)}) that were given a 7/8 score by ChatGPT: {len(overlap_llama_chatgpt)}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 74,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "\"\"\"项目配置\"\"\"\n",
+ "\n",
+ "# 图灵机器人,99元一月付费版,尽情享用!\n",
+ "tuling_api_key = '88f17f853d974387af64955bed9466f4'\n",
+ "\n",
+ "# 自动回复\n",
+ "is_friend_auto_reply = False # 好友自动回复\n",
+ "is_group_reply = False # 此项表示群中是否回复\n",
+ "is_group_at_reply = False # 上一项开启后此项才生效\n",
+ "is_forward_revoke_msg = True # 开启防撤回模式\n",
+ "is_forward_group_at_msg = False # 转发群@我的消息\n",
+ "\n",
+ "# 机器人主人\n",
+ "bot_master_name = '' # 使用备注名更安全,只允许一个,可远程控制机器人,如果不设置(空)则将文件助手设置为管理员,但不具备远程控制功能\n",
+ "\n",
+ "# 监听某些好友群聊,如老板\n",
+ "is_listen_friend = False\n",
+ "listen_friend_names = '猪哥' # 需要监听的人名称,使用备注名更安全,允许多个用|分隔,如:主管|项目经理|产品狗\n",
+ "listen_friend_groups = 'Python新手交流' # 在这些群里监听好友说的话,匹配模式:包含“唯一集团工作群”的群\n",
+ "\n",
+ "\n",
+ "# 转发信息至群\n",
+ "is_forward_mode = False # 打开转发模式,主人发送给机器人的消息都将转发至forward_groups群\n",
+ "forward_groups = 'Python新手交流' # 需要将消息转发的群,匹配模式同上\n",
+ "\n",
+ "# 群分享监控\n",
+ "is_listen_sharing = False\n",
+ "listen_sharing_groups = 'Python新手交流' # 监控群分享,匹配模式同上\n",
+ "\n",
+ "\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code file is simple and clear in its intent. It is mainly a configuration file for a chatbot, with variables being set to control different bot behaviors. These variables are clearly named and have comments explaining their function, which is good for beginners to understand what each part of the code is doing. However, it lacks a broader context of how this file is used in the larger application which could be confusing for someone just starting to learn coding. Moreover, it doesn't introduce a beginner to more fundamental coding concepts like loops, conditionals, functions, etc. This might be a little too niche or specific for a\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# -*- coding: UTF-8 -*-\n",
+ "# Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.\n",
+ "#\n",
+ "# You may assume no duplicates in the array.\n",
+ "#\n",
+ "# Here are few examples.\n",
+ "# [1,3,5,6], 5 → 2\n",
+ "# [1,3,5,6], 2 → 1\n",
+ "# [1,3,5,6], 7 → 4\n",
+ "# [1,3,5,6], 0 → 0\n",
+ "#\n",
+ "# Python, Python 3 all accepted.\n",
+ "\n",
+ "\n",
+ "class SearchInsertPosition(object):\n",
+ " def searchInsert(self, nums, target):\n",
+ " \"\"\"\n",
+ " :type nums: List[int]\n",
+ " :type target: int\n",
+ " :rtype: int\n",
+ " \"\"\"\n",
+ " if nums is None or len(nums) == 0:\n",
+ " return 0\n",
+ "\n",
+ " for i in range(0, len(nums)):\n",
+ " if nums[i] == target:\n",
+ " return i\n",
+ " elif nums[i] < target:\n",
+ " if (i + 1 < len(nums) and nums[i + 1] > target) or i + 1 == len(nums):\n",
+ " return i + 1\n",
+ "\n",
+ " return 0\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is fairly clear and simple, making it an adequate study material for someone just starting to learn coding concepts. It demonstrates how to define a class and a function within it, how to use conditional (if) statements, and how to use a loop (for) to iterate over a list. The code also introduces the concept of searching and inserting in an array, which is a fundamental concept in computer science.\n",
+ "\n",
+ "However, the code could have been made clearer and more digestible for a beginner. For instance, the comment section at the top could have been more detailed, explaining the code's logic in a simpler\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ " # Problem: N soldiers are standing in a circle and \n",
+ " # first person has sword and he kills the 2nd person \n",
+ " # and gives the sword to the third person and so on \n",
+ " # till 99th person kills the 100th person gives the \n",
+ " # sword back to the first person, this goes on till \n",
+ " # only one person survives. Print the survivor.\n",
+ " \n",
+ "def josephus(people, step=2):\n",
+ " if step<=1:\n",
+ " print(\"Enter step value, greater than 1\")\n",
+ " else:\n",
+ " step -= 1 # translated to zero-based indexing\n",
+ " kill = step # kill will hold the index of current person to die\n",
+ " while(len(people) > 1):\n",
+ " print(people.pop(kill)) # pop method removes the element from the list\n",
+ " kill = (kill + step) % len(people) \n",
+ " print(people[0], \"is safe\")\n",
+ " \n",
+ "num = int(input(\"Enter the number of soldiers: \"))\n",
+ "soldiers = [i for i in range(1, num+1)] # generates a list of 1..num\n",
+ "josephus(soldiers)\n",
+ " \n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is relatively clear and simple, which is great for beginners. It includes comments explaining the problem it solves, which is a good practice. The use of basic constructs like loops, conditionals, lists and input/output functions makes it approachable for beginners. \n",
+ "\n",
+ "However, some concepts used here might be a bit complex for an absolute beginner, such as zero-based indexing, the use of the pop() method, and the modulus operator. In addition, the use of list comprehensions to generate the list of soldiers might be slightly difficult for a beginner to grasp. The error handling for invalid step inputs (steps less\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# Tradingview Technical Analysis (tradingview-ta)\n",
+ "# Author: deathlyface (https://github.com/deathlyface)\n",
+ "# Rewritten from https://www.tradingview.com/static/bundles/technicals.f2e6e6a51aebb6cd46f8.js\n",
+ "# License: MIT\n",
+ "\n",
+ "class Recommendation:\n",
+ " buy = \"BUY\"\n",
+ " strong_buy = \"STRONG_BUY\"\n",
+ " sell = \"SELL\"\n",
+ " strong_sell = \"STRONG_SELL\"\n",
+ " neutral = \"NEUTRAL\"\n",
+ " error = \"ERROR\"\n",
+ "\n",
+ "class Compute:\n",
+ " def MA(ma, close):\n",
+ " \"\"\"Compute Moving Average\n",
+ "\n",
+ " Args:\n",
+ " ma (float): MA value\n",
+ " close (float): Close value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (ma < close):\n",
+ " return Recommendation.buy\n",
+ " elif (ma > close):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def RSI(rsi, rsi1):\n",
+ " \"\"\"Compute Relative Strength Index\n",
+ "\n",
+ " Args:\n",
+ " rsi (float): RSI value\n",
+ " rsi1 (float): RSI[1] value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (rsi < 30 and rsi1 > rsi):\n",
+ " return Recommendation.buy\n",
+ " elif (rsi > 70 and rsi1 < rsi):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def Stoch(k, d, k1, d1):\n",
+ " \"\"\"Compute Stochastic\n",
+ "\n",
+ " Args:\n",
+ " k (float): Stoch.K value\n",
+ " d (float): Stoch.D value\n",
+ " k1 (float): Stoch.K[1] value\n",
+ " d1 (float): Stoch.D[1] value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (k < 20 and d < 20 and k > d and k1 < d1):\n",
+ " return Recommendation.buy\n",
+ " elif (k > 80 and d > 80 and k < d and k1 > d1):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def CCI20(cci20, cci201):\n",
+ " \"\"\"Compute Commodity Channel Index 20\n",
+ "\n",
+ " Args:\n",
+ " cci20 (float): CCI20 value\n",
+ " cci201 ([type]): CCI20[1] value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (cci20 < -100 and cci20 > cci201):\n",
+ " return Recommendation.buy\n",
+ " elif (cci20 > 100 and cci20 < cci201):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def ADX(adx, adxpdi, adxndi, adxpdi1, adxndi1):\n",
+ " \"\"\"Compute Average Directional Index\n",
+ "\n",
+ " Args:\n",
+ " adx (float): ADX value\n",
+ " adxpdi (float): ADX+DI value\n",
+ " adxndi (float): ADX-DI value\n",
+ " adxpdi1 (float): ADX+DI[1] value\n",
+ " adxndi1 (float): ADX-DI[1] value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (adx > 20 and adxpdi1 < adxndi1 and adxpdi > adxndi):\n",
+ " return Recommendation.buy\n",
+ " elif (adx > 20 and adxpdi1 > adxndi1 and adxpdi < adxndi):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def AO(ao, ao1):\n",
+ " \"\"\"Compute Awesome Oscillator\n",
+ "\n",
+ " Args:\n",
+ " ao (float): AO value\n",
+ " ao1 (float): AO[1] value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (ao > 0 and ao1 < 0 or ao > 0 and ao1 > 0 and ao > ao1):\n",
+ " return Recommendation.buy\n",
+ " elif (ao < 0 and ao1 > 0 or ao < 0 and ao1 < 0 and ao < ao1):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def Mom(mom, mom1):\n",
+ " \"\"\"Compute Momentum\n",
+ "\n",
+ " Args:\n",
+ " mom (float): Mom value\n",
+ " mom1 (float): Mom[1] value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (mom < mom1):\n",
+ " return Recommendation.buy\n",
+ " elif (mom > mom1):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def MACD(macd, signal):\n",
+ " \"\"\"Compute Moving Average Convergence/Divergence\n",
+ "\n",
+ " Args:\n",
+ " macd (float): MACD.macd value\n",
+ " signal (float): MACD.signal value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (macd > signal):\n",
+ " return Recommendation.buy\n",
+ " elif (macd < signal):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ " \n",
+ " def BBBuy(close, bblower):\n",
+ " \"\"\"Compute Bull Bear Buy\n",
+ "\n",
+ " Args:\n",
+ " close (float): close value\n",
+ " bblower (float): BB.lower value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (close < bblower):\n",
+ " return Recommendation.buy\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def BBSell(close, bbupper):\n",
+ " \"\"\"Compute Bull Bear Sell\n",
+ "\n",
+ " Args:\n",
+ " close (float): close value\n",
+ " bbupper (float): BB.upper value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (close > bbupper):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def PSAR(psar, open):\n",
+ " \"\"\"Compute Parabolic Stop-And-Reverse\n",
+ "\n",
+ " Args:\n",
+ " psar (float): P.SAR value\n",
+ " open (float): open value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (psar < open):\n",
+ " return Recommendation.buy\n",
+ " elif (psar > open):\n",
+ " return Recommendation.sell\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ " def Recommend(value):\n",
+ " \"\"\"Compute Recommend\n",
+ "\n",
+ " Args:\n",
+ " value (float): recommend value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"STRONG_BUY\", \"BUY\", \"NEUTRAL\", \"SELL\", \"STRONG_SELL\", or \"ERROR\"\n",
+ " \"\"\"\n",
+ " if (value >= -1 and value < -.5):\n",
+ " return Recommendation.strong_sell\n",
+ " elif (value >= -.5 and value < 0):\n",
+ " return Recommendation.sell\n",
+ " elif (value == 0):\n",
+ " return Recommendation.neutral\n",
+ " elif (value > 0 and value <= .5):\n",
+ " return Recommendation.buy\n",
+ " elif (value > .5 and value <= 1):\n",
+ " return Recommendation.strong_buy\n",
+ " else:\n",
+ " return Recommendation.error\n",
+ "\n",
+ " def Simple(value):\n",
+ " \"\"\"Compute Simple\n",
+ "\n",
+ " Args:\n",
+ " value (float): Rec.X value\n",
+ "\n",
+ " Returns:\n",
+ " string: \"BUY\", \"SELL\", or \"NEUTRAL\"\n",
+ " \"\"\"\n",
+ " if (value == -1):\n",
+ " return Recommendation.sell\n",
+ " elif (value == 1):\n",
+ " return Recommendation.buy\n",
+ " else:\n",
+ " return Recommendation.neutral\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code file presented showcases a simple application of object-oriented programming in Python, specifically utilizing class definitions and methods. The structure of the code is clean and easy to follow, with method descriptions and arguments clearly defined using docstrings. This makes it a good educational resource for a beginner to understand how to structure their code, define classes and methods, and use control flow structures like 'if' and 'else'.\n",
+ "\n",
+ "However, the subject matter of the code, which deals with complex financial technical analysis concepts such as Moving Average, Relative Strength Index, Stochastic, etc., may not be easily understood by a beginner. This could\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other\n",
+ "# Spack Project Developers. See the top-level COPYRIGHT file for details.\n",
+ "#\n",
+ "# SPDX-License-Identifier: (Apache-2.0 OR MIT)\n",
+ "\n",
+ "from spack import *\n",
+ "\n",
+ "\n",
+ "class PyDataladWebapp(PythonPackage):\n",
+ " \"\"\"DataLad extension for exposing commands via a web request API\"\"\"\n",
+ "\n",
+ " homepage = \"https://github.com/datalad/datalad-webapp\"\n",
+ " pypi = \"datalad_webapp/datalad_webapp-0.3.tar.gz\"\n",
+ "\n",
+ " version('0.3', sha256='7bbb2ce58a7e0e6d1a7a2f33d7e50fe7e73cd764380e70fdc2d9f651c3d0e312')\n",
+ "\n",
+ " depends_on('py-setuptools', type='build')\n",
+ " depends_on('py-datalad@0.12.5:', type=('build', 'run'))\n",
+ " depends_on('py-flask@1.0:', type=('build', 'run'))\n",
+ " depends_on('py-flask-restful', type=('build', 'run'))\n",
+ " depends_on('py-pytest-cov', type=('build', 'run'))\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "This code snippet is a Python class definition for a DataLad Webapp package. It is part of the Spack package manager which is used to manage software in a multi-language, multi-version, multi-OS environment. The code is quite readable and simple in structure, but it may not be the best for a beginner.\n",
+ "\n",
+ "The reason for this is that it introduces a number of concepts that may not be familiar to someone just starting to learn coding, such as decorators, classes, and the specific domain knowledge about package management. It also makes use of external libraries (like Spack and Setuptools) and assumes\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# Copyright 2021 Edoardo Riggio\n",
+ "#\n",
+ "# Licensed under the Apache License, Version 2.0 (the \"License\");\n",
+ "# you may not use this file except in compliance with the License.\n",
+ "# You may obtain a copy of the License at\n",
+ "#\n",
+ "# http://www.apache.org/licenses/LICENSE-2.0\n",
+ "#\n",
+ "# Unless required by applicable law or agreed to in writing, software\n",
+ "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
+ "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
+ "# See the License for the specific language governing permissions and\n",
+ "# limitations under the License.\n",
+ "\n",
+ "# Complexity: O(nlog(n))\n",
+ "\n",
+ "def search_in_sorted_matrix(A, x):\n",
+ " for S in A:\n",
+ " if binary_search(S, x):\n",
+ " return True\n",
+ "\n",
+ " return False\n",
+ "\n",
+ "\n",
+ "def binary_search(A, x):\n",
+ " low = 0\n",
+ " high = len(A) - 1\n",
+ " mid = 0\n",
+ "\n",
+ " while low <= high:\n",
+ " mid = (high + low) // 2\n",
+ "\n",
+ " if A[mid] < x:\n",
+ " low = mid + 1\n",
+ " elif A[mid] > x:\n",
+ " high = mid - 1\n",
+ " else:\n",
+ " return True\n",
+ "\n",
+ " return False\n",
+ "\n",
+ "\n",
+ "mat = [[1, 2, 3, 4, 5], [9, 10, 20, 32, 55]]\n",
+ "print(search_in_sorted_matrix(mat, 56))\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is fairly simple and clear to understand, especially for someone who is familiar with basic Python syntax and the concept of binary search. It demonstrates well the use of a binary search in a list of lists, which is a common scenario in real-world programming. \n",
+ "\n",
+ "However, it could be improved for educational purposes in a few ways:\n",
+ "\n",
+ "1. Comments: While there are copyright and license comments, there are no comments explaining the functionality of the code or the individual functions. For a beginner, the purpose of the code might not be immediately clear without additional context. \n",
+ "\n",
+ "2. Naming: The variable names are not very\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "\"\"\"Script that generates a refresh token for a specific user.\"\"\"\n",
+ "import os\n",
+ "import sys\n",
+ "import spotipy.util as util\n",
+ "import json\n",
+ "\n",
+ "\n",
+ "if len(sys.argv) == 2:\n",
+ " username = str(sys.argv[1])\n",
+ "else:\n",
+ " print('Usage: {} username'.format(sys.argv[0]))\n",
+ " sys.exit(1)\n",
+ "\n",
+ "scope = 'user-read-currently-playing user-read-playback-state'\n",
+ "\n",
+ "# Get tokens from Spotify.\n",
+ "try:\n",
+ " util.prompt_for_user_token(username, scope)\n",
+ "except:\n",
+ " raise RuntimeError('Could not fetch token.')\n",
+ "\n",
+ "# Print refresh token.\n",
+ "with open('.cache-{}'.format(username)) as json_file:\n",
+ " data = json.load(json_file)\n",
+ " print('Refresh token for {}: {}'.format(username, data['refresh_token']))\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "This script, in its simplest form, is a good introduction to some fundamental concepts in Python such as importing libraries, handling exceptions, file handling, and working with JSON. The fact that it's interactive (it requires input from the user) makes it a bit more engaging.\n",
+ "\n",
+ "However, it's not the best educational resource for a raw beginner as it assumes familiarity with some concepts such as command-line arguments (`sys.argv`), environment handling (`os`), and third-party libraries (`spotipy.util`). The lack of comments explaining what's happening at each step could also be confusing for a novice. Lastly, the practical\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# -*- coding: utf8 -*-\n",
+ "\n",
+ "\n",
+ "def filter_event(event, happening_before):\n",
+ " \"\"\"Check if the following keys are present. These\n",
+ " keys only show up when using the API. If fetching\n",
+ " from the iCal, JSON, or RSS feeds it will just compare\n",
+ " the dates\n",
+ " \"\"\"\n",
+ " status = True\n",
+ " visibility = True\n",
+ " actions = True\n",
+ " if 'status' in event:\n",
+ " status = event['status'] == 'upcoming'\n",
+ " if 'visibility' in event:\n",
+ " visibility = event['visibility'] == 'public'\n",
+ " if 'self' in event:\n",
+ " actions = 'announce' not in event['self']['actions']\n",
+ "\n",
+ " return (status and visibility and actions and\n",
+ " event['time'] < happening_before)\n",
+ "\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[8]]\n",
+ "\n",
+ "The code is relatively simple and straightforward, making it excellent for a beginner. It clearly demonstrates basic concepts such as function definition, if statements, dictionary key access, and comparison operations. The use of comments to explain the function's purpose is a good practice that beginners should learn. \n",
+ "\n",
+ "However, there are a few areas that could be improved for instructional purposes. The use of 'status', 'visibility', and 'actions' as both variable names and dictionary keys might be confusing to a beginner. The code doesn't explain what 'event' is supposed to be, a dictionary presumably, but it could be clarified. Lastly\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "class PlayerResourceHand:\n",
+ " def __init__(self):\n",
+ " self.brick = 0\n",
+ " self.grain = 0\n",
+ " self.lumber = 0\n",
+ " self.ore = 0\n",
+ " self.wool = 0\n",
+ " self.totalResources = 0\n",
+ "\n",
+ " def update(self):\n",
+ " self.totalResources = self.brick + self.grain + self.lumber + self.ore + self.wool\n",
+ "\n",
+ "\n",
+ "class PlayerDevelopmentHand:\n",
+ " def __init__(self):\n",
+ " self.knights = 0\n",
+ " self.roadBuildings = 0\n",
+ " self.yearOfPlenty = 0\n",
+ " self.monopolies = 0\n",
+ " self.victoryPoints = 0\n",
+ " self.totalDevelopments = 0\n",
+ "\n",
+ " def update(self):\n",
+ " self.totalDevelopments = self.knights + self.roadBuildings + self.yearOfPlenty + self.monopolies \\\n",
+ " + self.victoryPoints\n",
+ "\n",
+ "\n",
+ "class EnemyPlayer:\n",
+ " def __init__(self, turnOrder, name, color, nR, nS, nC, lR, lA, hS, dS, vVP):\n",
+ " self.turnOrder = turnOrder\n",
+ " self.name = name\n",
+ " self.color = color\n",
+ " self.handSize = hS\n",
+ " self.developmentSize = dS\n",
+ " self.visibleVictoryPoints = vVP\n",
+ " self.numRoads = nR\n",
+ " self.numSettlements = nS\n",
+ " self.numCities = nC\n",
+ " self.longestRoad = lR\n",
+ " self.largestArmy = lA\n",
+ "\n",
+ "\n",
+ "class Player:\n",
+ " def __init__(self, name, color, turnOrder):\n",
+ " self.color = color\n",
+ " self.name = name\n",
+ " self.turnOrder = turnOrder\n",
+ " self.numRoads = 15\n",
+ " self.numSettlements = 5\n",
+ " self.numCities = 4\n",
+ " self.longestRoad = 0\n",
+ " self.largestArmy = 0\n",
+ " self.victoryPoints = 0\n",
+ " self.resourceHand = PlayerResourceHand()\n",
+ " self.developmentHand = PlayerDevelopmentHand()\n",
+ " self.ownedRoads = list()\n",
+ " self.ownedNodes = list()\n",
+ "\n",
+ " def getNumResources(self):\n",
+ " return self.resourceHand.totalResources\n",
+ "\n",
+ " def getNumDevelopment(self):\n",
+ " return self.developmentHand.totalDevelopments\n",
+ "\n",
+ " def getSendToEnemies(self):\n",
+ " # toSend = EnemyPlayer(self.turnOrder, self.name, self.color,\n",
+ " # self.numRoads, self.numSettlements, self.numCities,\n",
+ " # self.longestRoad, self.largestArmy)\n",
+ " toSend = ','.join([self.turnOrder, self.name, self.color, self.numRoads, self.numSettlements, self.numCities,\n",
+ " self.longestRoad, self.largestArmy])\n",
+ " return toSend\n",
+ "\n",
+ " def acquireRoad(self, road):\n",
+ " self.ownedRoads.append(road)\n",
+ "\n",
+ " def acquireNode(self, node):\n",
+ " self.ownedNodes.append(node)\n",
+ "\n",
+ " def addResources(self, array):\n",
+ " self.resourceHand.brick += array[0]\n",
+ " self.resourceHand.grain += array[1]\n",
+ " self.resourceHand.lumber += array[2]\n",
+ " self.resourceHand.ore += array[3]\n",
+ " self.resourceHand.wool += array[4]\n",
+ " self.resourceHand.totalResources += array[0] + array[1] + array[2] + array[3] + array[4]\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "Explanation:\n",
+ "The code is well-structured and follows object-oriented programming principles, which is a good practice to teach beginners. There are clear class definitions that embody the concept of encapsulation. Also, the classes have well-defined methods that perform specific tasks, demonstrating the idea of a class's methods modifying its attributes. \n",
+ "\n",
+ "However, the code lacks comments which makes it a bit difficult for a beginner to understand the purpose of each class and method. Also, it could be confusing to understand the parameters of the `EnemyPlayer` and `Player` classes' `__init__` methods. The variable names like `n\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "from collections import defaultdict\n",
+ "from typing import DefaultDict\n",
+ "from .. import utils\n",
+ "from .. import data\n",
+ "\n",
+ "'''\n",
+ "A collection of functions o index faculty data.\n",
+ "\n",
+ "No function in this class reads data from the data files, just works logic\n",
+ "on them. This helps keep the program modular, by separating the data sources\n",
+ "from the data indexing\n",
+ "'''\n",
+ "\n",
+ "'''\n",
+ "Maps faculty to the sections they teach.\n",
+ "\n",
+ "This function works by taking several arguments: \n",
+ "\n",
+ "- faculty, from [FacultyReader.get_faculty] \n",
+ "- sectionTeachers, from [SectionReader.get_section_faculty_ids]\n",
+ "\n",
+ "These are kept as parameters instead of calling the functions by itself\n",
+ "in order to keep the data and logic layers separate. \n",
+ "'''\n",
+ "\n",
+ "def get_faculty_sections(faculty,section_teachers):\n",
+ " result = defaultdict(set)\n",
+ " missing_emails = set()\n",
+ " for key, value in section_teachers.items():\n",
+ " section_id = key\n",
+ " faculty_id = value\n",
+ "\n",
+ " #Teaches a class but doesn't have basic faculty data\n",
+ " if faculty_id not in faculty:\n",
+ " missing_emails.add(faculty_id)\n",
+ " continue\n",
+ " result[faculty[faculty_id]].add(section_id)\n",
+ "\n",
+ " if missing_emails:\n",
+ " utils.logger.warning(f\"Missing emails for {missing_emails}\")\n",
+ " return result\n",
+ "\n",
+ "'''\n",
+ "Returns complete [User] objects.\n",
+ "\n",
+ "This function returns [User] objects with more properties than before.\n",
+ "See [User.addSchedule] for which properties are added.\n",
+ "\n",
+ "This function works by taking several arguments:\n",
+ "\n",
+ " - faculty_sections from [get_faculty_sections]\n",
+ " - section_periods from [student_reader.get_periods]\n",
+ "\n",
+ "These are kept as parameters instead of calling the functions by itself\n",
+ "in order to keep the data and logic layers separate. \n",
+ "'''\n",
+ "\n",
+ "def get_faculty_with_schedule(faculty_sections, section_periods):\n",
+ " # The schedule for each teacher\n",
+ " schedules = {}\n",
+ " \n",
+ " # Sections IDs which are taught but never meet.\n",
+ " missing_periods = set()\n",
+ "\n",
+ " # Faculty missing a homerooms.\n",
+ " #\n",
+ " # This will be logged at the debug level.\n",
+ " missing_homerooms = set()\n",
+ " \n",
+ " # Loop over teacher sections and get their periods.\n",
+ " for key, value in faculty_sections.items():\n",
+ " periods = []\n",
+ " for section_id in value:\n",
+ " if section_id in section_periods:\n",
+ " periods = list(section_periods[section_id])\n",
+ " elif section_id.startswith(\"UADV\"):\n",
+ " key.homeroom = section_id\n",
+ " key.homeroom_location = \"Unavailable\"\n",
+ " else:\n",
+ " missing_periods.add(section_id)\n",
+ "\n",
+ " # Still couldn'y find any homeroom\n",
+ " if key.homeroom is None:\n",
+ " missing_homerooms.add(key)\n",
+ " key.homeroom = \"SENIOR_HOMEROOM\"\n",
+ " key.homeroom_location = \"Unavailable\"\n",
+ " \n",
+ " schedules[key] = periods\n",
+ "\n",
+ " # Some logging\n",
+ " if not missing_periods:\n",
+ " utils.logger.debug(\"Missing homerooms\", missing_homerooms)\n",
+ " \n",
+ " # Compiles a list of periods into a full schedule\n",
+ " result = []\n",
+ " for key, value in schedules.items():\n",
+ " schedule = data.DayDefaultDict()\n",
+ "\n",
+ " for period in value:\n",
+ "\n",
+ " schedule[period.day][period.period-1] = period\n",
+ " \n",
+ " schedule.populate(utils.constants.day_names)\n",
+ " key.schedule = schedule\n",
+ " result.append(key)\n",
+ "\n",
+ " \n",
+ " return result\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code provided has a decent educational value in terms of learning advanced Python concepts. However, for someone just starting to learn coding, it may be a bit complex. \n",
+ "\n",
+ "The code is well-organized and follows good coding practices such as using docstrings to describe the purpose of functions and using meaningful variable names. It introduces important concepts such as defaultdict from collections module, logging, and working with custom classes. The separation of data and logic is also a great design principle to learn. \n",
+ "\n",
+ "However, the code uses some advanced concepts like decorators, custom data structures, and nested loops which might be confusing for a beginner.\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "\"\"\"\n",
+ "Write a function that takes in an array of integers and returns a sorted version of that array. Use the QuickSort algorithm to sort the array.\n",
+ "\n",
+ "\"\"\"\n",
+ "\n",
+ "def quick_sort(array):\n",
+ " if len(array) <= 1:\n",
+ " return array\n",
+ "\n",
+ " _rec_helper(array, 0, len(array) - 1)\n",
+ " return array\n",
+ "\n",
+ "def _rec_helper(array, start, end):\n",
+ " # base case\n",
+ " if start >= end:\n",
+ " return\n",
+ "\n",
+ " pivot = start\n",
+ " left = pivot + 1\n",
+ " right = end\n",
+ "\n",
+ " while left <= right:\n",
+ " if array[left] > array[pivot] and array[right] < array[pivot]:\n",
+ " _swap(array, left, right)\n",
+ " if array[pivot] >= array[left]:\n",
+ " left += 1\n",
+ " if array[pivot] <= array[right]:\n",
+ " right -= 1\n",
+ " _swap(array, pivot, right)\n",
+ " if right - start > end - right:\n",
+ " _rec_helper(array, start, right - 1)\n",
+ " _rec_helper(array, right + 1, end)\n",
+ " else:\n",
+ " _rec_helper(array, right + 1, end)\n",
+ " _rec_helper(array, start, right - 1)\n",
+ "\n",
+ "def _swap(array, left, right):\n",
+ " array[left], array[right] = array[right], array[left]\n",
+ "\n",
+ "#test \n",
+ "array = [3, 4, 7, 1, 1, 2, 5, 1, 3, 8, 4]\n",
+ "assert quick_sort(array) == sorted(array)\n",
+ "print('OK')\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is a clear implementation of the QuickSort algorithm, which is a fundamental sorting algorithm taught in computer science. It demonstrates the use of recursion, comparison, and array manipulation.\n",
+ "\n",
+ "However, the educational value for a beginner might be slightly hampered due to the advanced nature of the QuickSort algorithm. A beginner might struggle with understanding recursive calls and the pivot concept used in the QuickSort algorithm. There are simpler algorithms, such as Bubble Sort or Selection Sort, that could be better suited for beginners.\n",
+ "\n",
+ "The code itself is well-structured and includes a test case to ensure the sorting algorithm works as expected, which is\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "#!/usr/bin/python3\n",
+ "# -*- coding: utf8 -*-\n",
+ "\n",
+ "# Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n",
+ "#\n",
+ "# Licensed under the Apache License, Version 2.0 (the \"License\");\n",
+ "# you may not use this file except in compliance with the License.\n",
+ "# You may obtain a copy of the License at\n",
+ "#\n",
+ "# http://www.apache.org/licenses/LICENSE-2.0\n",
+ "#\n",
+ "# Unless required by applicable law or agreed to in writing, software\n",
+ "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
+ "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
+ "# See the License for the specific language governing permissions and\n",
+ "# limitations under the License.\n",
+ "\n",
+ "\"\"\"\n",
+ "Procedure Params\n",
+ "\"\"\"\n",
+ "\n",
+ "\n",
+ "class ProcedureParams:\n",
+ " \"\"\"\n",
+ " The procedure params dict\n",
+ " \"\"\"\n",
+ "\n",
+ " def __init__(self):\n",
+ " \"\"\"\n",
+ " The constructor of the ProcedureParams class\n",
+ " \"\"\"\n",
+ "\n",
+ " self.paramsDict = {} # the inner data for procedure params dict\n",
+ "\n",
+ " def __getitem__(self, index):\n",
+ " \"\"\"\n",
+ " Get the procedure params according to the index.\n",
+ "\n",
+ " Create the register when it does not exist.\n",
+ "\n",
+ " :param index:\n",
+ " :return: ProcedureParamStorage\n",
+ " \"\"\"\n",
+ "\n",
+ " value = self.paramsDict.get(index)\n",
+ " if value is not None:\n",
+ " return value\n",
+ " value = ProcedureParamStorage(index)\n",
+ " self.paramsDict[index] = value\n",
+ " return value\n",
+ "\n",
+ "\n",
+ "class ProcedureParamStorage:\n",
+ " \"\"\"\n",
+ " The storage for procedure param\n",
+ " \"\"\"\n",
+ "\n",
+ " def __init__(self, index):\n",
+ " \"\"\"\n",
+ " The quantum param object needs to know its index.\n",
+ " :param index: the quantum register index\n",
+ " \"\"\"\n",
+ "\n",
+ " self.index = index\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is relatively clean and well-structured. It uses classes and methods which are fundamental concepts in object-oriented programming. The code is also well commented which is good for beginners to understand what each part of the code is doing. \n",
+ "\n",
+ "However, the code may be a little complex for a complete beginner because it introduces concepts such as dictionaries and special methods like `__getitem__`, which might not be familiar to someone just starting out. The code also lacks a practical context or application, which makes it harder for beginners to relate the concepts to real-world problems. Therefore, while it does have educational value, it might\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "import csv\n",
+ "source_file = \"Resources/budget_data.csv\"\n",
+ "output_file = \"Resources/budget_data_analysis.txt\"\n",
+ "#initialize months counter, total income, decrease and increase in revenue amounts\n",
+ "number_of_months = 0 # to track the total number of months\n",
+ "income_total = 0 #variable to hold total income as we iterate through the csv\n",
+ "previous_income = 0 #variable to hold previously eveluated value from csv \n",
+ "greatest_profit_increase = [\"\",0] #list to hold the greatest profit increase, inaitialized to lowest value 0\n",
+ "greatest_loss_decrease = [\"\",1000000000000] #list to hold the greatest loss decrease, inaitialized to highest value\n",
+ "change_in_pl = [] #list to hold change in profit/loss as we iterate through the csv\n",
+ "change_in_income = 0 \n",
+ "\n",
+ "#print (revenue_decrease)\n",
+ "\n",
+ "with open(source_file) as budget_data:\n",
+ " csv_reader = csv.DictReader(budget_data)\n",
+ "\n",
+ " for row in csv_reader:\n",
+ "\n",
+ " number_of_months = number_of_months + 1\n",
+ " #print(row[\"Profit/Losses\"])\n",
+ " income_total = income_total + int(row[\"Profit/Losses\"])\n",
+ " #print(row)\n",
+ " \n",
+ " #trace the changes in amount\n",
+ " change_in_income = int(row[\"Profit/Losses\"]) - previous_income\n",
+ " #print(change_in_income)\n",
+ " \n",
+ " #reinitiate the value to the record we completed evaluating\n",
+ " previous_income = int(row[\"Profit/Losses\"])\n",
+ " #print(previous_income)\n",
+ " \n",
+ " #greatest increase\n",
+ " if(change_in_income > greatest_profit_increase[1]):\n",
+ " greatest_profit_increase[0] = row[\"Date\"]\n",
+ " greatest_profit_increase[1] = change_in_income\n",
+ " #greatest decrease\n",
+ " if(change_in_income < greatest_loss_decrease[1]):\n",
+ " greatest_loss_decrease[0] = row[\"Date\"]\n",
+ " greatest_loss_decrease[1] = change_in_income\n",
+ " \n",
+ " #append to the change_in_pl for sum calculations\n",
+ " #print(int(row['Profit/Losses']))\n",
+ " change_in_pl.append(int(row['Profit/Losses']))\n",
+ " #calculate net profit or loss\n",
+ " net_profit = sum(change_in_pl)\n",
+ " #print(net_profit)\n",
+ "print()\n",
+ "print('Financial Anlysis')\n",
+ "print('--------------------------')\n",
+ "print(\"Total Months: \" + str(number_of_months))\n",
+ "print(\"Total Income: \" + \"$\" + str(net_profit))\n",
+ "print(\"Greatest Increase in Profits: \" + str(greatest_profit_increase[0]) + \" $\" + str(greatest_profit_increase[1]))\n",
+ "print(\"Greatest Decrease in Profits: \" + str(greatest_loss_decrease[0]) + \" $\" + str(greatest_loss_decrease[1]))\n",
+ "\n",
+ "#write outup to text file\n",
+ "with open(output_file,\"w\") as results:\n",
+ " results.write(\"Total Months: \" + str(number_of_months))\n",
+ " results.write(\"\\n\")\n",
+ " results.write(\"Total Income: \" + \"$\" + str(net_profit))\n",
+ " results.write(\"\\n\")\n",
+ " results.write(\"Greatest Increase in Profits: \" + str(greatest_profit_increase[0]) + \" $\" + str(greatest_profit_increase[1]))\n",
+ " results.write(\"\\n\")\n",
+ " results.write(\"Greatest Decrease in Profits: \" + str(greatest_loss_decrease[0]) + \" $\" + str(greatest_loss_decrease[1])) \n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "This code has a clear structure and demonstrates several important programming concepts like file reading, loops, conditionals and list handling, which are useful for beginners to learn. The variables are well-named and the comments provide some explanation about what each section of the code is doing.\n",
+ "\n",
+ "However, the educational value of this code is somewhat diminished by a lack of comprehensive commenting. While there are comments, they are not consistently applied throughout the code and do not always explain the purpose of the code lines. This could potentially confuse beginners.\n",
+ "\n",
+ "The code also assumes prior knowledge of the CSV file structure being used. This could be confusing for a\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "\"\"\" director subsystem's configuration\n",
+ "\n",
+ " - config-file schema\n",
+ " - settings\n",
+ "\"\"\"\n",
+ "from typing import Dict\n",
+ "\n",
+ "import trafaret as T\n",
+ "from aiohttp import ClientSession, web\n",
+ "from yarl import URL\n",
+ "\n",
+ "from servicelib.application_keys import APP_CLIENT_SESSION_KEY, APP_CONFIG_KEY\n",
+ "\n",
+ "APP_DIRECTOR_API_KEY = __name__ + \".director_api\"\n",
+ "\n",
+ "CONFIG_SECTION_NAME = \"director\"\n",
+ "\n",
+ "schema = T.Dict(\n",
+ " {\n",
+ " T.Key(\"enabled\", default=True, optional=True): T.Bool(),\n",
+ " T.Key(\"host\", default=\"director\",): T.String(),\n",
+ " T.Key(\"port\", default=8001): T.ToInt(),\n",
+ " T.Key(\"version\", default=\"v0\"): T.Regexp(\n",
+ " regexp=r\"^v\\d+\"\n",
+ " ), # storage API version basepath\n",
+ " }\n",
+ ")\n",
+ "\n",
+ "\n",
+ "def build_api_url(config: Dict) -> URL:\n",
+ " api_baseurl = URL.build(\n",
+ " scheme=\"http\", host=config[\"host\"], port=config[\"port\"]\n",
+ " ).with_path(config[\"version\"])\n",
+ " return api_baseurl\n",
+ "\n",
+ "\n",
+ "def get_config(app: web.Application) -> Dict:\n",
+ " return app[APP_CONFIG_KEY][CONFIG_SECTION_NAME]\n",
+ "\n",
+ "\n",
+ "def get_client_session(app: web.Application) -> ClientSession:\n",
+ " return app[APP_CLIENT_SESSION_KEY]\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is quite educational and introduces a beginner to several important concepts such as:\n",
+ "\n",
+ "- Use of typing for function arguments and return type checking, which is a good practice for writing clean and maintainable code.\n",
+ "- Use of dictionaries and dictionary operations.\n",
+ "- Use of regular expressions.\n",
+ "- Use of Python's built-in libraries like `aiohttp` and `yarl`.\n",
+ "- Encapsulation of functionality into functions.\n",
+ "\n",
+ "However, the code could be improved for educational purposes. It uses some libraries and concepts that might be complex for absolute beginners, like `aiohttp` for asynchronous HTTP requests, `yarl` for\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "import nltk \n",
+ "# nltk.download('stopwords') #if doesnt work download all these first\n",
+ "# nltk.download('punkt')\n",
+ "# nltk.download('averaged_perceptron_tagger')\n",
+ "\n",
+ "from nltk.corpus import stopwords \n",
+ "from nltk.tokenize import word_tokenize, sent_tokenize \n",
+ "stop_words = set(stopwords.words('english')) \n",
+ "\n",
+ "meaning_with_example = {\n",
+ "\t\"CC\" : \"coordinating conjunction\",\n",
+ "\t\"CD\" : \"cardinal digit\",\n",
+ "\t\"DT\" : \"determiner\",\n",
+ "\t\"EX\" : \"existential there (like: “there is” … think of it like “there exists”)\",\n",
+ "\t\"FW\" : \"foreign word\",\n",
+ "\t\"IN\" : \"preposition/subordinating conjunction\",\n",
+ "\t\"JJ\" : \"adjective ‘big’\",\n",
+ "\t\"JJR\": \"adjective, comparative ‘bigger’\",\n",
+ "\t\"JJS\": \"adjective, superlative ‘biggest’\",\n",
+ "\t\"LS\" : \"list marker 1)\",\n",
+ "\t\"MD\" : \"modal could, will\",\n",
+ "\t\"NN\" : \"noun, singular ‘desk’\",\n",
+ "\t\"NNS\": \"noun plural ‘desks’\",\n",
+ "\t\"NNP\": \"proper noun, singular ‘Harrison’\",\n",
+ "\t\"NNPS\": \"proper noun, plural ‘Americans’\",\n",
+ "\t\"PDT\": \"predeterminer ‘all the kids’\",\n",
+ "\t\"POS\": \"possessive ending parent‘s\",\n",
+ "\t\"PRP\": \"personal pronoun I, he, she\",\n",
+ "\t\"PRP$\": \"possessive pronoun my, his, hers\",\n",
+ "\t\"RB\" : \"adverb very, silently,\",\n",
+ "\t\"RBR\": \"adverb, comparative better\",\n",
+ "\t\"RBS\": \"adverb, superlative best\",\n",
+ "\t\"RP\" : \"particle give up\",\n",
+ "\t\"TO\" : \"to go ‘to‘ the store.\",\n",
+ "\t\"UH\" : \"interjection errrrrrrrm\",\n",
+ "\t\"VB\" : \"verb, base form take\",\n",
+ "\t\"VBD\": \"verb, past tense took\",\n",
+ "\t\"VBG\": \"verb, gerund/present participle taking\",\n",
+ "\t\"VBN\": \"verb, past participle taken\",\n",
+ "\t\"VBP\": \"verb, sing. present, non-3d take\",\n",
+ "\t\"VBZ\": \"verb, 3rd person sing. present takes\",\n",
+ "\t\"WDT\": \"wh-determiner which\",\n",
+ "\t\"WP\" : \"wh-pronoun who, what\",\n",
+ "\t\"WP$\": \"possessive wh-pronoun whose\",\n",
+ "\t\"WRB\": \"wh-abverb where, when\",\n",
+ "\t\",\" : \"comma\",\n",
+ "\t\".\" : \"full stop\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "meaning = {\n",
+ "\t\"CC\" : \"coordinating conjunction\",\n",
+ "\t\"CD\" : \"cardinal digit\",\n",
+ "\t\"DT\" : \"determiner\",\n",
+ "\t\"EX\" : \"existential there\",\n",
+ "\t\"FW\" : \"foreign word\",\n",
+ "\t\"IN\" : \"preposition/subordinating conjunction\",\n",
+ "\t\"JJ\" : \"adjective\",\n",
+ "\t\"JJR\": \"adjective, comparative\",\n",
+ "\t\"JJS\": \"adjective, superlative\",\n",
+ "\t\"LS\" : \"list marker\",\n",
+ "\t\"MD\" : \"modal could, will\",\n",
+ "\t\"NN\" : \"noun singular\",\n",
+ "\t\"NNS\": \"noun plural\",\n",
+ "\t\"NNP\": \"proper noun, singular\",\n",
+ "\t\"NNPS\": \"proper noun, plural\",\n",
+ "\t\"PDT\": \"predeterminer\",\n",
+ "\t\"POS\": \"possessive ending\",\n",
+ "\t\"PRP\": \"personal pronoun\",\n",
+ "\t\"PRP$\": \"possessive pronoun\",\n",
+ "\t\"RB\" : \"adverb \",\n",
+ "\t\"RBR\": \"adverb, comparative \",\n",
+ "\t\"RBS\": \"adverb, superlative \",\n",
+ "\t\"RP\" : \"particle \",\n",
+ "\t\"TO\" : \"to go ‘to‘ the store.\",\n",
+ "\t\"UH\" : \"interjection\",\n",
+ "\t\"VB\" : \"verb base form \",\n",
+ "\t\"VBD\": \"verb past tense \",\n",
+ "\t\"VBG\": \"verb gerund/present participle\",\n",
+ "\t\"VBN\": \"verb past participle \",\n",
+ "\t\"VBP\": \"verb sing. present\",\n",
+ "\t\"VBZ\": \"verb 3rd person sing. present \",\n",
+ "\t\"WDT\": \"wh-determiner which\",\n",
+ "\t\"WP\" : \"wh-pronoun who, what\",\n",
+ "\t\"WP$\": \"possessive wh-pronoun whose\",\n",
+ "\t\"WRB\": \"wh-abverb where, when\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "def get_part_of_speech(sentence):\n",
+ "\tcleaned=[]\n",
+ "\ttokenized = sent_tokenize(sentence) \n",
+ "\tfor i in tokenized: \n",
+ "\t wordsList = nltk.word_tokenize(i) \n",
+ "\t wordsList = [w for w in wordsList if not w in stop_words] \n",
+ "\t tagged = nltk.pos_tag(wordsList)\n",
+ "\t for pair in tagged:\n",
+ "\t \tc_pair=[]\n",
+ "\t \tc_pair.append(pair[0])\n",
+ "\t \ttry :\n",
+ "\t \t\tc_pair.append(meaning[pair[1]])\n",
+ "\t \texcept :\n",
+ "\t \t\tc_pair.append(\"Punctuation\")\n",
+ "\t \tcleaned.append(c_pair)\n",
+ "\treturn cleaned\n",
+ "\n",
+ "#print(get_part_of_speech(\"Sukanya, Rajib and Naba are my good friends.\"))\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is quite informative and provides a great introduction to Natural Language Processing (NLP) using Python's NLTK (Natural Language Toolkit) library. It introduces concepts such as tokenization, stop words, and part-of-speech tagging, which are crucial in NLP.\n",
+ "\n",
+ "However, there are a few areas which could be improved for beginners:\n",
+ "\n",
+ "1. Comments: While there are a few comments, the code could benefit from more detailed and frequent comments explaining what each section of the code does. For instance, it would be helpful to explain the purpose of the 'stop_words' and why we are removing them,\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "from academicInfo.models import Department\n",
+ "\n",
+ "from faculty.forms import FacultySignupForm\n",
+ "from faculty.models import Faculty\n",
+ "\n",
+ "from django.contrib.auth.models import User\n",
+ "from django.test import TestCase\n",
+ "from django.utils import timezone\n",
+ "\n",
+ "class FacultySignupFormTest(TestCase):\n",
+ "\n",
+ " def test_signup_form_label(self):\n",
+ " form = FacultySignupForm()\n",
+ " self.assertTrue(\n",
+ " form.fields['first_name'].label == 'First Name' and\n",
+ " form.fields['last_name'].label == 'Last Name' and\n",
+ " form.fields['username'].label == 'Roll number' and\n",
+ " form.fields['dob'].label == 'Date of Birth' and\n",
+ " form.fields['department'].label == 'Department' and\n",
+ " form.fields['email'].label == 'Email'\n",
+ " )\n",
+ "\n",
+ " def test_signup_form_required_fields(self):\n",
+ " form = FacultySignupForm()\n",
+ " self.assertTrue(\n",
+ " form.fields['first_name'].required == True and\n",
+ " form.fields['last_name'].required == True and\n",
+ " form.fields['dob'].required == True and\n",
+ " form.fields['department'].required == True and\n",
+ " form.fields['email'].required == True\n",
+ " )\n",
+ "\n",
+ " def test_invalid_email_validation(self):\n",
+ "\n",
+ " startTime = timezone.now()\n",
+ " department = Department.objects.create(name='test department')\n",
+ " user = User.objects.create(\n",
+ " username='test',\n",
+ " email='test@gmail.com'\n",
+ " )\n",
+ " faculty = Faculty.objects.create(\n",
+ " user=user,\n",
+ " dob=startTime,\n",
+ " department=department\n",
+ " )\n",
+ "\n",
+ " form = FacultySignupForm(\n",
+ " data = {\n",
+ " 'username': 'test1',\n",
+ " 'email': 'test@gmail.com',\n",
+ " 'dob': startTime,\n",
+ " 'department': department\n",
+ " }\n",
+ " )\n",
+ " self.assertFalse(form.is_valid())\n",
+ "\n",
+ " def test_valid_email_validation(self):\n",
+ "\n",
+ " startTime = timezone.now()\n",
+ " department = Department.objects.create(name='test department')\n",
+ "\n",
+ " form = FacultySignupForm(\n",
+ " data = {\n",
+ " 'username': 'test',\n",
+ " 'first_name': 'Bob',\n",
+ " 'last_name': 'Davidson',\n",
+ " 'dob': startTime,\n",
+ " 'email': 'test@gmail.com',\n",
+ " 'password1': 'complex1password',\n",
+ " 'password2': 'complex1password',\n",
+ " 'department': department\n",
+ " }\n",
+ " )\n",
+ " self.assertTrue(form.is_valid())\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code above is a good demonstration of form validation in Django, which is a valuable concept for beginners. It clearly shows how to import necessary modules, how to create a test case, and how to define different tests within that case. The code also provides examples of creating objects in Django and using them in form data, which can be informative for a beginner. \n",
+ "\n",
+ "However, it might be a bit complex for someone who is just starting to learn programming due to the use of some advanced concepts such as object creation and form validation. Additionally, there are no comments explaining what is happening at each step, which can make\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "\n",
+ "from pydub import AudioSegment\n",
+ "from pydub.playback import play\n",
+ "import os\n",
+ "import utils\n",
+ "\n",
+ "\n",
+ "class audiofile:\n",
+ " \n",
+ "\n",
+ " def __init__(self, file):\n",
+ " \"\"\" Init audio stream \"\"\" \n",
+ " self.file = file\n",
+ "\n",
+ " def play(self):\n",
+ " \"\"\" Play entire file \"\"\"\n",
+ " utils.displayInfoMessage('Playing Audio')\n",
+ " pathparts = self.file.rsplit(\".\", 1)\n",
+ " fileformat = pathparts[1]\n",
+ " song = AudioSegment.from_file(self.file, format=fileformat)\n",
+ " play(song)\n",
+ " utils.displayInfoMessage('')\n",
+ " utils.displayErrorMessage('')\n",
+ "\n",
+ " def length(self):\n",
+ " pathparts = self.file.rsplit(\".\", 1)\n",
+ " fileformat = pathparts[1]\n",
+ " song = AudioSegment.from_file(self.file, format=fileformat)\n",
+ " return song.duration_seconds\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code provided is fairly simple and clear, making it somewhat digestible for a beginner learning coding concepts. It uses common programming concepts such as importing libraries, defining a class, initializing objects, and defining methods. However, it does require some prior knowledge of Python and object-oriented programming. \n",
+ "\n",
+ "The code is partially commented, which is helpful for understanding the purpose of the class and its methods. However, some parts of the code such as the use of the 'rsplit' function, the 'utils' functions, and how the 'AudioSegment' works might not be immediately clear to a beginner. The usage of\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# -*- coding: utf-8 -*-\n",
+ "\"\"\"\n",
+ "\n",
+ "@author: alex\n",
+ "\"\"\"\n",
+ "\n",
+ "import numpy as np\n",
+ "\n",
+ "def main():\n",
+ " \"\"\"Main program execution.\"\"\"\n",
+ " \n",
+ " n,h1,h2,h3 = generate_ammonia_sites()\n",
+ " nList = [[1,2,3],[0],[0],[0]]\n",
+ " \n",
+ " return [n,h1,h2,h3], nList\n",
+ " \n",
+ "def generate_ammonia_sites():\n",
+ " \"\"\"Generate the locations for the atoms in the ammonia molecule\"\"\"\n",
+ " \n",
+ " x,y = np.array([1.,0.,0.]), np.array([0.,1.,0.])\n",
+ " \n",
+ " #atomic distance (angstroms)\n",
+ " a = 1.40\n",
+ " \n",
+ " n = np.array([0.,0.,0.])\n",
+ " \n",
+ " h1 = n + a*y\n",
+ " h2 = n - a*y/2. + a*x*(np.sqrt(3)/2)\n",
+ " h3 = h2 - a*x*np.sqrt(3)\n",
+ " \n",
+ " return n,h1,h2,h3\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code provided is relatively clear and straightforward. It includes comments and well-named functions and variables, which contribute to its readability. However, for someone just starting to learn coding, there are some aspects that might be challenging.\n",
+ "\n",
+ "Firstly, the use of numpy library might be a bit complex for a beginner. The syntax and operations used, such as np.array(), and mathematical operations on arrays, could be confusing for a newcomer.\n",
+ "\n",
+ "Secondly, the code lacks detailed explanation on what it is doing, especially the mathematical operations. For instance, it's not clear why we calculate `h2` and `h3\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# 電子レンジ\n",
+ "\n",
+ "def get_E_Elc_microwave_d_t(P_Elc_microwave_cook_rtd, t_microwave_cook_d_t):\n",
+ " \"\"\"時刻別消費電力量を計算する\n",
+ " \n",
+ " Parameters\n",
+ " ----------\n",
+ " P_Elc_microwave_cook_rtd : float\n",
+ " 調理時の定格待機電力, W\n",
+ " \n",
+ " t_microwave_cook_d_t : ndarray(N-dimensional array)\n",
+ " 1年間の全時間の調理時間を格納したND配列, h\n",
+ " d日t時の調理時間が年開始時から8760個連続して格納されている\n",
+ " \n",
+ " Returns\n",
+ " ----------\n",
+ " E_Elc_microwave_d_t : ndarray(N-dimensional array)\n",
+ " 1年間の全時間の消費電力量を格納したND配列, Wh\n",
+ " d日t時の消費電力量が年開始時から8760個連続して格納されている\n",
+ " \"\"\"\n",
+ " \n",
+ " P_Elc_microwave_cook = get_P_Elc_microwave_cook(P_Elc_microwave_cook_rtd)\n",
+ " \n",
+ " E_Elc_microwave_d_t = P_Elc_microwave_cook * t_microwave_cook_d_t\n",
+ " E_Elc_microwave_d_t = E_Elc_microwave_d_t * 10**(-3)\n",
+ " \n",
+ " return E_Elc_microwave_d_t\n",
+ "\n",
+ "\n",
+ "def get_P_Elc_microwave_cook(P_Elc_microwave_rtd):\n",
+ " \"\"\"調理時の消費電力を計算する\n",
+ " \n",
+ " Parameters\n",
+ " ----------\n",
+ " P_Elc_microwave_cook_rtd : float\n",
+ " 調理時の定格待機電力, W\n",
+ " \n",
+ " Returns\n",
+ " ----------\n",
+ " P_Elc_microwave_cook : float\n",
+ " 調理時の消費電力, W\n",
+ " \"\"\"\n",
+ " \n",
+ " P_Elc_microwave_cook = 0.9373 * P_Elc_microwave_rtd\n",
+ " \n",
+ " return P_Elc_microwave_cook\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is quite clear and well-commented which is good for beginners. It introduces concepts like functions, parameters, return values, and simple arithmetic operations. However, there are a few issues that could potentially confuse a beginner:\n",
+ "\n",
+ "1. The use of terms like 'ndarray' and 'N-dimensional array' in the comments could confuse beginners, as they have not been introduced or explained in the code. \n",
+ "\n",
+ "2. The function get_P_Elc_microwave_cook is called within the function get_E_Elc_microwave_d_t, but there's no clear explanation about why this is being done.\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# Copyright (c) Microsoft Corporation. All rights reserved.\n",
+ "# Licensed under the MIT License.\n",
+ "\n",
+ "import numpy as np\n",
+ "from sklearn.decomposition import PCA\n",
+ "\n",
+ "from reco_utils.dataset.download_utils import maybe_download\n",
+ "from IPython import embed\n",
+ "\n",
+ "def length_normalize(matrix):\n",
+ " \"\"\"Length normalize the matrix\n",
+ "\n",
+ " Args:\n",
+ " matrix (np.ndarray): Input matrix that needs to be normalized\n",
+ "\n",
+ " Returns:\n",
+ " Normalized matrix\n",
+ " \"\"\"\n",
+ " norms = np.sqrt(np.sum(matrix**2, axis=1))\n",
+ " norms[norms == 0] = 1\n",
+ " return matrix / norms[:, np.newaxis]\n",
+ "\n",
+ "\n",
+ "def mean_center(matrix):\n",
+ " \"\"\"Performs mean centering across axis 0\n",
+ "\n",
+ " Args:\n",
+ " matrix (np.ndarray): Input matrix that needs to be mean centered\n",
+ " \"\"\"\n",
+ " avg = np.mean(matrix, axis=0)\n",
+ " matrix -= avg\n",
+ "\n",
+ "\n",
+ "def reduce_dims(matrix, target_dim):\n",
+ " \"\"\"Reduce dimensionality of the data using PCA.\n",
+ "\n",
+ " Args:\n",
+ " matrix (np.ndarray): Matrix of the form (n_sampes, n_features)\n",
+ " target_dim (uint): Dimension to which n_features should be reduced to.\n",
+ "\n",
+ " \"\"\"\n",
+ " model = PCA(n_components=target_dim)\n",
+ " model.fit(matrix)\n",
+ " return model.transform(matrix)\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is pretty well-structured and follows good practices such as function documentation and usage of libraries like numpy and sklearn which are commonly used in data science. The main concepts presented here are matrix normalization, mean centering, and dimensionality reduction using PCA, which are higher-level concepts in data science.\n",
+ "\n",
+ "However, the code may be a bit complex for a beginner just starting to learn coding concepts. It requires a good understanding of linear algebra and data preprocessing techniques. Also, the usage of libraries like numpy and sklearn can be a bit intimidating for a novice. Additionally, the `from IPython import embed` import is\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# -*- coding: utf-8 -*-\n",
+ "\n",
+ "\"\"\"\n",
+ "General description\n",
+ "-------------------\n",
+ "This example illustrates the effect of activity_costs.\n",
+ "\n",
+ "There are the following components:\n",
+ "\n",
+ " - demand_heat: heat demand (constant, for the sake of simplicity)\n",
+ " - fireplace: wood firing, burns \"for free\" if somebody is around\n",
+ " - boiler: gas firing, consumes (paid) gas\n",
+ "\n",
+ "Notice that activity_costs is an attribute to NonConvex.\n",
+ "This is because it relies on the activity status of a component\n",
+ "which is only available for nonconvex flows.\n",
+ "\n",
+ "\n",
+ "Installation requirements\n",
+ "-------------------------\n",
+ "This example requires version 0.3 of oemof. Install by:\n",
+ "\n",
+ " pip install 'oemof.solph>=0.4,<0.5'\n",
+ "\n",
+ "\"\"\"\n",
+ "\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "from oemof import solph\n",
+ "\n",
+ "\n",
+ "try:\n",
+ " import matplotlib.pyplot as plt\n",
+ "except ImportError:\n",
+ " plt = None\n",
+ "\n",
+ "##########################################################################\n",
+ "# Calculate parameters and initialize the energy system and\n",
+ "##########################################################################\n",
+ "\n",
+ "periods = 24\n",
+ "time = pd.date_range('1/1/2018', periods=periods, freq='H')\n",
+ "\n",
+ "demand_heat = np.full(periods, 5)\n",
+ "demand_heat[:4] = 0\n",
+ "demand_heat[4:18] = 4\n",
+ "\n",
+ "activity_costs = np.full(periods, 5)\n",
+ "activity_costs[18:] = 0\n",
+ "\n",
+ "es = solph.EnergySystem(timeindex=time)\n",
+ "\n",
+ "b_heat = solph.Bus(label='b_heat')\n",
+ "\n",
+ "es.add(b_heat)\n",
+ "\n",
+ "sink_heat = solph.Sink(\n",
+ " label='demand',\n",
+ " inputs={b_heat: solph.Flow(fix=demand_heat, nominal_value=1)})\n",
+ "\n",
+ "fireplace = solph.Source(\n",
+ " label='fireplace',\n",
+ " outputs={b_heat: solph.Flow(nominal_value=3,\n",
+ " variable_costs=0,\n",
+ " nonconvex=solph.NonConvex(\n",
+ " activity_costs=activity_costs))})\n",
+ "\n",
+ "boiler = solph.Source(\n",
+ " label='boiler',\n",
+ " outputs={b_heat: solph.Flow(nominal_value=10,\n",
+ " variable_costs=1)})\n",
+ "\n",
+ "es.add(sink_heat, fireplace, boiler)\n",
+ "\n",
+ "##########################################################################\n",
+ "# Optimise the energy system\n",
+ "##########################################################################\n",
+ "\n",
+ "# create an optimization problem and solve it\n",
+ "om = solph.Model(es)\n",
+ "\n",
+ "# solve model\n",
+ "om.solve(solver='cbc', solve_kwargs={'tee': True})\n",
+ "\n",
+ "##########################################################################\n",
+ "# Check and plot the results\n",
+ "##########################################################################\n",
+ "\n",
+ "results = solph.processing.results(om)\n",
+ "\n",
+ "# plot data\n",
+ "if plt is not None:\n",
+ " data = solph.views.node(results, 'b_heat')['sequences']\n",
+ " ax = data.plot(kind='line', drawstyle='steps-post', grid=True, rot=0)\n",
+ " ax.set_xlabel('Time')\n",
+ " ax.set_ylabel('Heat (arb. units)')\n",
+ " plt.show()\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code provided is well-commented and structured, which makes it easy to understand its purpose and execution flow. It introduces various fundamental coding concepts such as variable declaration, arrays, conditionals, and exception handling, thus making it useful for beginners. It also shows the use of external libraries, which is an important aspect of real-world coding.\n",
+ "\n",
+ "However, the code is specific to energy system modeling and optimization, which might not be relevant for all beginners. It uses the \"oemof\" library, which is a specific tool for energy system modeling and simulation. Therefore, the context might be too specific for someone just\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "#Find,Remove,Find\n",
+ "\"\"\"Return a tuple of the indices of the two smallest values in list L.\n",
+ " >>> items = [809, 834, 477, 478, 307, 122, 96, 102, 324, 476]\n",
+ " >>> find_two_smallest(items)\n",
+ " (6, 7)\n",
+ " >>> items == [809, 834, 477, 478, 307, 122, 96, 102, 324, 476]\n",
+ " True\n",
+ "\"\"\"\n",
+ "\n",
+ "from typing import List, Tuple\n",
+ "\n",
+ "\n",
+ "def find_two_smallest(L:List[float]) -> Tuple[int, int]:\n",
+ " \"\"\" (see above) \"\"\"\n",
+ " # Find the index of the minimum and remove that item\n",
+ " smallest = min(L)\n",
+ " min1 = L.index(smallest)\n",
+ " L.remove(smallest)\n",
+ "\n",
+ " # Find the index of the new minimum item in the list\n",
+ " next_smallest = min(L)\n",
+ " min2 = L.index(next_smallest)\n",
+ "\n",
+ " # Put smallest back into L\n",
+ " L.insert(min1, smallest)\n",
+ "\n",
+ " # Fix min2 in case it was affected by the removal and reinsertion:\n",
+ " if min1 <= min2:\n",
+ " min2 +=1\n",
+ " \n",
+ " return (min1, min2)\n",
+ " \n",
+ "\n",
+ "\n",
+ "if __name__ == '__main__':\n",
+ " import doctest\n",
+ " doctest.testmod()\n",
+ " print(find_two_smallest([0, 1, 3, 2, 5, 6, 1]))\n",
+ "\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code provided is reasonably clear and simple, making it suitable for beginners trying to learn coding. The comments and doctest embedded in the code are good practices, which can help beginners understand the code's purpose and how it works. The use of built-in functions like min, index, remove, and insert is also very educative. The use of typing to specify the types of the arguments and return values is a good practice too.\n",
+ "\n",
+ "However, some things could be improved for complete clarity. The code modifies the input list, which is generally not recommended and could confuse beginners. While it's explained in the comments,\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# Copyright 2018, Kay Hayen, mailto:kay.hayen@gmail.com\n",
+ "#\n",
+ "# Python tests originally created or extracted from other peoples work. The\n",
+ "# parts were too small to be protected.\n",
+ "#\n",
+ "# Licensed under the Apache License, Version 2.0 (the \"License\");\n",
+ "# you may not use this file except in compliance with the License.\n",
+ "# You may obtain a copy of the License at\n",
+ "#\n",
+ "# http://www.apache.org/licenses/LICENSE-2.0\n",
+ "#\n",
+ "# Unless required by applicable law or agreed to in writing, software\n",
+ "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
+ "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
+ "# See the License for the specific language governing permissions and\n",
+ "# limitations under the License.\n",
+ "#\n",
+ "\n",
+ "def tupleUnpacking():\n",
+ " return (*a, b, *c)\n",
+ "\n",
+ "def listUnpacking():\n",
+ " return [*a, b, *c]\n",
+ "\n",
+ "def setUnpacking():\n",
+ " return {*a, b, *c}\n",
+ "\n",
+ "def dictUnpacking():\n",
+ " return {\"a\" : 1, **d}\n",
+ "\n",
+ "a = range(3)\n",
+ "b = 5\n",
+ "c = range(8,10)\n",
+ "d = {\"a\" : 2}\n",
+ "\n",
+ "print(\"Tuple unpacked\", tupleUnpacking())\n",
+ "print(\"List unpacked\", listUnpacking())\n",
+ "print(\"Set unpacked\", setUnpacking())\n",
+ "print(\"Dict unpacked\", dictUnpacking())\n",
+ "\n",
+ "\n",
+ "non_iterable = 2.0\n",
+ "\n",
+ "def tupleUnpackingError():\n",
+ " try:\n",
+ " return (*a,*non_iterable,*c)\n",
+ " except Exception as e:\n",
+ " return e\n",
+ "\n",
+ "def listUnpackingError():\n",
+ " try:\n",
+ " return [*a,*non_iterable,*c]\n",
+ " except Exception as e:\n",
+ " return e\n",
+ "\n",
+ "def setUnpackingError():\n",
+ " try:\n",
+ " return {*a,*non_iterable,*c}\n",
+ " except Exception as e:\n",
+ " return e\n",
+ "\n",
+ "def dictUnpackingError():\n",
+ " try:\n",
+ " return {\"a\" : 1, **non_iterable}\n",
+ " except Exception as e:\n",
+ " return e\n",
+ "\n",
+ "\n",
+ "print(\"Tuple unpacked error:\", tupleUnpackingError())\n",
+ "print(\"List unpacked error:\", listUnpackingError())\n",
+ "print(\"Set unpacked error:\", setUnpackingError())\n",
+ "print(\"Dict unpacked error:\", dictUnpackingError())\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is relatively clear and introduces the concept of unpacking for different types of collections (tuples, lists, sets, and dictionaries) in Python, which is a fundamental concept for beginners to understand.\n",
+ "\n",
+ "The code is also commendable for demonstrating error handling by trying to unpack a non-iterable, which is a good practice in real-world programming.\n",
+ "\n",
+ "However, the code could be improved to be more beginner-friendly. There are no comments explaining what the code does at each step, which is critical for beginners just starting to learn coding. It would be helpful to explain the concepts of \"unpacking\", \"iter\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# Written by David Weber\n",
+ "# dsw7@sfu.ca\n",
+ "\n",
+ "\"\"\"\n",
+ "In this short namespace I house a class that connects to PDB and downloads\n",
+ "file over PDB file transfer protocol.\n",
+ "\"\"\"\n",
+ "\n",
+ "# ------------------------------------------------------------------------------\n",
+ "\n",
+ "import gzip\n",
+ "from os import remove, getcwd, path # built in\n",
+ "\n",
+ "# my pymol API built on Python2 - try both imports\n",
+ "try:\n",
+ " from urllib.request import urlretrieve, urlcleanup\n",
+ "except ImportError:\n",
+ " from urllib import urlretrieve, urlcleanup \n",
+ "\n",
+ "\n",
+ "ROOT = 'ftp://ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/{}/{}'\n",
+ "\n",
+ "class PDBFile:\n",
+ " def __init__(self, code):\n",
+ " \"\"\"Initialize a PDBFile object with a pdb file of interest\n",
+ "\n",
+ " Parameters\n",
+ " ----------\n",
+ " code : the pdb code if interest\n",
+ " Any valid PDB code can be passed into PDBFile.\n",
+ "\n",
+ " Examples\n",
+ " --------\n",
+ " >>> pdb_file = PDBFile('1rcy') \n",
+ " \n",
+ " \"\"\"\n",
+ " self.code = code.lower()\n",
+ " \n",
+ "\n",
+ " def fetch_from_PDB(self):\n",
+ " \"\"\"\n",
+ " Connects to PDB FTP server, downloads a .gz file of interest,\n",
+ " decompresses the .gz file into .ent and then dumps a copy of\n",
+ " the pdb{code}.ent file into cwd.\n",
+ "\n",
+ " Parameters\n",
+ " ----------\n",
+ " None\n",
+ "\n",
+ " Examples\n",
+ " --------\n",
+ " \n",
+ " >>> inst = PDBFile('1rcy')\n",
+ " >>> path_to_file = inst.fetch_from_PDB()\n",
+ " >>> print(path_to_file)\n",
+ " \n",
+ " \"\"\" \n",
+ " \n",
+ " subdir = self.code[1:3]\n",
+ " infile = 'pdb{}.ent.gz'.format(self.code)\n",
+ " decompressed = infile.strip('.gz')\n",
+ " fullpath = ROOT.format(subdir, infile)\n",
+ " \n",
+ " try:\n",
+ " urlcleanup()\n",
+ " urlretrieve(fullpath, infile)\n",
+ " except Exception:\n",
+ " return 'URLError'\n",
+ " else:\n",
+ " with gzip.open(infile, 'rb') as gz:\n",
+ " with open(decompressed, 'wb') as out:\n",
+ " out.writelines(gz)\n",
+ " remove(infile)\n",
+ " return path.join(getcwd(), decompressed)\n",
+ " \n",
+ " def clear(self):\n",
+ " \"\"\"\n",
+ " Deletes file from current working directory after the file has\n",
+ " been processed by some algorithm.\n",
+ "\n",
+ " Parameters\n",
+ " ----------\n",
+ " None\n",
+ "\n",
+ " Examples\n",
+ " --------\n",
+ " >>> inst = PDBFile('1rcy')\n",
+ " >>> path_to_file = inst.fetch_from_PDB()\n",
+ " >>> print(path_to_file) # process the file using some algorithm\n",
+ " >>> inst.clear()\n",
+ " \n",
+ " \"\"\" \n",
+ " filename = 'pdb{}.ent'.format(self.code)\n",
+ " try:\n",
+ " remove(path.join(getcwd(), filename))\n",
+ " except FileNotFoundError:\n",
+ " print('Cannot delete file. Does not exist.')\n",
+ " \n",
+ " \n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code file is quite well-written, with good use of comments and docstrings to explain what the code does. This is beneficial for a beginner as it introduces them to good practices of documenting their code which is a crucial part of software development. \n",
+ "\n",
+ "However, the code is a bit complex for a beginner as it involves concepts like class, methods, file handling, exception handling, and importing modules, which may be a lot to take in for someone just starting to learn coding. There are also some specific Python concepts such as decorators and context managers that might not be clear to beginners. \n",
+ "\n",
+ "Additionally, the code uses\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# Copyright (c) 2021 Sen Wu. All Rights Reserved.\n",
+ "\n",
+ "\n",
+ "\"\"\"Helper function to set random seed for reproducibility of models.\"\"\"\n",
+ "\n",
+ "import logging\n",
+ "import random\n",
+ "from typing import Optional\n",
+ "\n",
+ "import numpy as np\n",
+ "import torch\n",
+ "\n",
+ "logger = logging.getLogger(__name__)\n",
+ "\n",
+ "\n",
+ "def set_random_seed(seed: Optional[int] = None) -> None:\n",
+ " \"\"\"Set random seed for random, numpy, and pytorch.\n",
+ "\n",
+ " Args:\n",
+ " seed: The random seed, defaults to `None` which select it randomly.\n",
+ " \"\"\"\n",
+ " max_value = np.iinfo(np.uint32).max\n",
+ " min_value = np.iinfo(np.uint32).min\n",
+ "\n",
+ " try:\n",
+ " seed = int(seed)\n",
+ " logger.info(f\"Set random seed to {seed}.\")\n",
+ " except (TypeError, ValueError):\n",
+ " seed = random.randint(min_value, max_value)\n",
+ " logger.info(f\"No random seed specified, randomly set random seed to {seed}.\")\n",
+ "\n",
+ " if not (min_value <= seed <= max_value):\n",
+ " new_seed = random.randint(min_value, max_value)\n",
+ " logger.info(\n",
+ " f\"Random seed {seed} is not valid, randomly set random seed to {new_seed}.\"\n",
+ " )\n",
+ " seed = new_seed\n",
+ "\n",
+ " # Set random seed for random\n",
+ " random.seed(seed)\n",
+ " # Set random seed for all numpy operations\n",
+ " np.random.seed(seed=seed)\n",
+ " # Set random seed for PyTorch\n",
+ " torch.manual_seed(seed)\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "This script is well-structured and readable with appropriate usage of comments and docstrings. The code makes use of important concepts such as exception handling and functions, which are crucial to learn for a beginner. It also uses modules like numpy, torch, and logging which exposes the learner to various Python libraries.\n",
+ "\n",
+ "However, there are some aspects that could potentially confuse a beginner. Firstly, the concept of setting a random seed and why it's important might be a bit advanced for someone just starting out. Secondly, the use of logging instead of simple print statements could be confusing. Thirdly, the use of type hinting in\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "import matplotlib.pyplot as plt\n",
+ "import matplotlib\n",
+ "import numpy as np\n",
+ "from PIL import Image\n",
+ "from scipy.misc import imsave, imread\n",
+ "\n",
+ "\n",
+ "def plots(epochs, train_acc, test_acc, train_loss, test_loss, train_error, test_error,filename):\n",
+ " plt.style.use('bmh')\n",
+ "\n",
+ " fig=plt.figure(figsize=(8,6))\n",
+ " plt.plot(epochs,train_acc, 'r', epochs,test_acc, 'g')\n",
+ " plt.title('model accuracy')\n",
+ " plt.ylabel('accuracy')\n",
+ " plt.xlabel('epoch')\n",
+ " plt.legend(['train_acc', 'test_acc'], loc='upper left')\n",
+ " fig.savefig(filename + '_accuracy.png')\n",
+ "\n",
+ " fig=plt.figure(figsize=(8,6))\n",
+ " plt.plot(epochs,train_loss, 'r', epochs,test_loss, 'g')\n",
+ " plt.title('model loss')\n",
+ " plt.ylabel('loss')\n",
+ " plt.xlabel('epoch')\n",
+ " plt.legend(['train_loss', 'test_loss'], loc='upper left')\n",
+ " fig.savefig(filename + '_loss.png')\n",
+ " \n",
+ " fig=plt.figure(figsize=(8,6))\n",
+ " plt.plot(epochs,train_error, 'r', epochs,test_error, 'g')\n",
+ " plt.title('model error rate')\n",
+ " plt.ylabel('error rate')\n",
+ " plt.xlabel('epoch')\n",
+ " plt.legend(['train_error', 'test_error'], loc='upper left')\n",
+ " fig.savefig(filename + '_error.png')\n",
+ "\n",
+ " plt.close('all')\n",
+ "\n",
+ "\n",
+ "\n",
+ "def write_csv(filename, train_acc,test_acc,train_loss,test_loss,train_error,test_error,epoch):\n",
+ " if epoch==0:\n",
+ " \n",
+ " with open(filename, 'w') as f:\n",
+ " f.write('train_acc,test_acc,train_loss, test_loss, train_error, test_error\\n') \n",
+ " f.write('{0},{1},{2},{3},{4},{5}\\n'.format(train_acc[-1],\\\n",
+ " test_acc[-1],\\\n",
+ " train_loss[-1],\\\n",
+ " test_loss[-1],\\\n",
+ " train_error[-1],\\\n",
+ " test_error[-1]))\n",
+ " \n",
+ " else:\n",
+ " with open(filename, 'a') as f:\n",
+ " f.write('{0},{1},{2},{3},{4},{5}\\n'.format(train_acc[-1],\\\n",
+ " test_acc[-1],\\\n",
+ " train_loss[-1],\\\n",
+ " test_loss[-1],\\\n",
+ " train_error[-1],\\\n",
+ " test_error[-1]))\n",
+ " \n",
+ "\n",
+ "\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "This Python code demonstrates the use of various libraries such as matplotlib, numpy, PIL, and scipy, which are all important in data analysis and image processing. The code is rather straightforward and does a good job of illustrating how to plot data and how to write data into a CSV file. However, there are some issues that could potentially confuse a beginner:\n",
+ "\n",
+ "1. There is no explanation or comments to guide a beginner through the code. Including comments would make the code more educational.\n",
+ "2. The use of the 'bmh' style in matplotlib is not explained. While it's not necessary to understand the code, a\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "#!/usr/bin/env python\n",
+ "# -*- coding: utf-8 -*-\n",
+ "\n",
+ "from runner.koan import *\n",
+ "\n",
+ "\n",
+ "class AboutTuples(Koan):\n",
+ " def test_creating_a_tuple(self):\n",
+ " count_of_three = (1, 2, 5)\n",
+ " self.assertEqual(5, count_of_three[2])\n",
+ "\n",
+ " def test_tuples_are_immutable_so_item_assignment_is_not_possible(self):\n",
+ " count_of_three = (1, 2, 5)\n",
+ " try:\n",
+ " count_of_three[2] = \"three\"\n",
+ " except TypeError as ex:\n",
+ " self.assertMatch('upl', ex[0])\n",
+ "\n",
+ " def test_tuples_are_immutable_so_appending_is_not_possible(self):\n",
+ " count_of_three = (1, 2, 5)\n",
+ " try:\n",
+ " count_of_three.append(\"boom\")\n",
+ " except Exception as ex:\n",
+ " self.assertEqual(AttributeError, type(ex))\n",
+ "\n",
+ " # Note, assertMatch() uses regular expression pattern matching,\n",
+ " # so you don't have to copy the whole message.\n",
+ " self.assertMatch('object', ex[0])\n",
+ "\n",
+ " # Tuples are less flexible than lists, but faster.\n",
+ "\n",
+ " def test_tuples_can_only_be_changed_through_replacement(self):\n",
+ " count_of_three = (1, 2, 5)\n",
+ "\n",
+ " list_count = list(count_of_three)\n",
+ " list_count.append(\"boom\")\n",
+ " count_of_three = tuple(list_count)\n",
+ "\n",
+ " self.assertEqual((1, 2, 5, 'boom'), count_of_three)\n",
+ "\n",
+ " def test_tuples_of_one_look_peculiar(self):\n",
+ " self.assertEqual(type(int(1)), (1).__class__)\n",
+ " self.assertEqual(type((1,2)), (1,).__class__)\n",
+ " self.assertEqual(('Hello comma!',), (\"Hello comma!\", ))\n",
+ "\n",
+ " def test_tuple_constructor_can_be_surprising(self):\n",
+ " self.assertEqual(('S', 'u', 'r', 'p', 'r', 'i', 's', 'e', '!'), tuple(\"Surprise!\"))\n",
+ "\n",
+ " def test_creating_empty_tuples(self):\n",
+ " self.assertEqual(tuple(), ())\n",
+ " self.assertEqual((), tuple()) # Sometimes less confusing\n",
+ "\n",
+ " def test_tuples_can_be_embedded(self):\n",
+ " lat = (37, 14, 6, 'N')\n",
+ " lon = (115, 48, 40, 'W')\n",
+ " place = ('Area 51', lat, lon)\n",
+ " self.assertEqual(('Area 51',(37,14,6,'N'),(115,48,40,'W')), place)\n",
+ "\n",
+ " def test_tuples_are_good_for_representing_records(self):\n",
+ " locations = [\n",
+ " (\"Illuminati HQ\", (38, 52, 15.56, 'N'), (77, 3, 21.46, 'W')),\n",
+ " (\"Stargate B\", (41, 10, 43.92, 'N'), (1, 49, 34.29, 'W')),\n",
+ " ]\n",
+ "\n",
+ " locations.append(\n",
+ " (\"Cthulhu\", (26, 40, 1, 'N'), (70, 45, 7, 'W'))\n",
+ " )\n",
+ "\n",
+ " self.assertEqual('Cthulhu', locations[2][0])\n",
+ " self.assertEqual(15.56, locations[0][1][2])\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "This code provides a good introduction to the concept of tuples in Python, which is a fundamental topic for beginners. It covers various aspects of tuples, such as their immutability, how to create them, and their use cases. The code is generally clean and easy to understand.\n",
+ "\n",
+ "However, there are a few areas where it could be improved for beginners:\n",
+ "\n",
+ "1. The code uses a lot of Python's built-in assert methods for testing, which could be confusing for a complete beginner who has no previous experience with coding or testing.\n",
+ " \n",
+ "2. The code also uses try-except blocks, which are a more advanced\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "from django.db import models\n",
+ "from django.contrib.auth.models import User\n",
+ "from django.conf import settings\n",
+ "from django.utils import timezone\n",
+ "# Create your models here.\n",
+ "class Article(models.Model):\n",
+ " title=models.CharField(max_length=100)\n",
+ " slug=models.SlugField(blank=True)\n",
+ " body= models.TextField()\n",
+ " date= models.DateTimeField(default=timezone.now)\n",
+ " thumb=models.ImageField(default='default.jpg',blank=True)\n",
+ " Author= models.ForeignKey(User,default=None,on_delete=models.CASCADE)\n",
+ " \n",
+ "#Thumbnails\n",
+ "\n",
+ " def __str__(self):\n",
+ " return self.title\n",
+ "\n",
+ " def snippets(self):\n",
+ " return self.body[:80] + '...'\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code provided is a standard Django model for an Article object which includes attributes like title, slug, body, date, thumbnail, and author. The code is relatively simple and clean which is good for beginners. However, it includes concepts like class-based models, foreign keys, and methods which might be a bit overwhelming for someone just starting with coding. Furthermore, Django itself is a large framework which might not be the best place to start for a complete beginner.\n",
+ "\n",
+ "The code could improve its educational value by adding more comments explaining what each part does, especially the more complex parts like the ForeignKey field and the __str__\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "# # Python Week-7 Day-42\n",
+ "# Python Classes and Objects 2\n",
+ "\n",
+ "print(\" -- Let us create a method in the Person class --\")\n",
+ "class Person:\n",
+ " def __init__(self, name, age):\n",
+ " self.name = name\n",
+ " self.age = age\n",
+ " def myfunc(self):\n",
+ " print(\"Hello my name is \" + self.name )\n",
+ "\n",
+ "p1 = Person(\"John\", \"36\")\n",
+ "p1.myfunc()\n",
+ "print(\"----\")\n",
+ "\n",
+ "class Car:\n",
+ " def __init__(self, brand, price):\n",
+ " self.brand = brand\n",
+ " self.price = price\n",
+ " def myfunc(self):\n",
+ " print(\"Car brand Is: \" + self.brand, \"\\nCar Price Is: \" + self.price)\n",
+ "\n",
+ "p1 = Car(\"Kia\", \"10000\")\n",
+ "p1.myfunc()\n",
+ "\n",
+ "print(\"\\n -- Modify Object Properties -- \")\n",
+ "class Person:\n",
+ " def __init__(self, name, age):\n",
+ " self.name = name\n",
+ " self.age = age\n",
+ "\n",
+ " def myfunc(self):\n",
+ " print(\"Hello my name is \" + self.name)\n",
+ "\n",
+ "p1 = Person(\"John\", 36)\n",
+ "p1.age = 40\n",
+ "print(p1.age)\n",
+ "\n",
+ "print(\"\\n -- Delete Object Properties --\")\n",
+ "class Person:\n",
+ " def __init__(self, name, age):\n",
+ " self.name = name\n",
+ " self.age = age\n",
+ "\n",
+ " def myfunc(self):\n",
+ " print(\"Hello my name is \" + self.name)\n",
+ "\n",
+ "p1 = Person(\"John\", 36)\n",
+ "try :\n",
+ " del p1.age\n",
+ "\n",
+ " print(p1.age)\n",
+ "except AttributeError as err:\n",
+ " print(\"Properties 'age' not Exist\")\n",
+ "\n",
+ "\n",
+ "print(\"\\n -- Delete Objects --\")\n",
+ "class Person:\n",
+ " def __init__(self, name, age):\n",
+ " self.name = name\n",
+ " self.age = age\n",
+ "\n",
+ " def myfunc(self):\n",
+ " print(\"Hello my name is \" + self.name)\n",
+ "\n",
+ "p1 = Person(\"John\", 36)\n",
+ "del p1\n",
+ "try :\n",
+ " print(p1.age)\n",
+ "except NameError as err:\n",
+ " print(\"p1 is not Defined\")\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is clear and has a fair educational value, especially for beginners learning about classes, objects, and methods in Python. It uses simple and easy-to-understand language and includes basic concepts such as class creation, object instantiation, method creation, and error handling. \n",
+ "\n",
+ "However, some parts of the code could be improved for clarity. The \"Person\" and \"Car\" classes are defined multiple times, which might confuse beginners about the concept of classes. The terms \"Modify Object Properties\", \"Delete Object Properties\", and \"Delete Objects\" are mentioned but not thoroughly explained. Also, the use of \"p1\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "\"\"\"\n",
+ "The primary specified return wavefunction quantities.\n",
+ "\"\"\"\n",
+ "\n",
+ "result_wavefunction = {}\n",
+ "\n",
+ "# Orbitals\n",
+ "result_wavefunction[\"orbitals_a\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Alpha-spin orbitals in the AO basis of the primary return. \"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "result_wavefunction[\"orbitals_b\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Beta-spin orbitals in the AO basis of the primary return.\"\n",
+ "}\n",
+ "\n",
+ "# Density\n",
+ "result_wavefunction[\"density_a\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Alpha-spin density in the AO basis of the primary return.\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "result_wavefunction[\"density_b\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Beta-spin density in the AO basis of the primary return.\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "# Fock matrix\n",
+ "result_wavefunction[\"fock_a\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Alpha-spin Fock matrix in the AO basis of the primary return.\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "result_wavefunction[\"fock_b\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Beta-spin Fock matrix in the AO basis of the primary return.\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "# Eigenvalues\n",
+ "result_wavefunction[\"eigenvalues_a\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Alpha-spin orbital eigenvalues of the primary return.\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "result_wavefunction[\"eigenvalues_b\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Beta-spin orbital eigenvalues of the primary return.\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "# Occupations\n",
+ "result_wavefunction[\"occupations_a\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Alpha-spin orbital occupations of the primary return.\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "result_wavefunction[\"occupations_b\"] = {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"Beta-spin orbital occupations of the primary return.\"\n",
+ "}\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "This code is a good example for beginners to understand how dictionaries are used in Python, with an emphasis on using strings as keys and dictionaries as values. The code is quite clear and easy to understand. However, the context of the code might be a bit complex for beginners. Understanding the terms such as \"Alpha-spin orbitals\", \"Beta-spin\", \"Fock matrix\", etc., requires knowledge of quantum physics, which might not be relevant for a beginner learning to code. Also, the code is quite repetitive, and it might have been more educational if it demonstrated how to automate such repetitive tasks using loops or functions\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "def user_display_name(user):\n",
+ " \"\"\"\n",
+ " Returns the preferred display name for the given user object: the result of\n",
+ " user.get_full_name() if implemented and non-empty, or user.get_username() otherwise.\n",
+ " \"\"\"\n",
+ " try:\n",
+ " full_name = user.get_full_name().strip()\n",
+ " if full_name:\n",
+ " return full_name\n",
+ " except AttributeError:\n",
+ " pass\n",
+ "\n",
+ " try:\n",
+ " return user.get_username()\n",
+ " except AttributeError:\n",
+ " # we were passed None or something else that isn't a valid user object; return\n",
+ " # empty string to replicate the behaviour of {{ user.get_full_name|default:user.get_username }}\n",
+ " return ''\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[8]]\n",
+ "\n",
+ "This code is relatively straightforward and handles two methods of getting a user's name in a clear, concise manner. It includes try/except blocks to handle potential errors, which are important concepts for beginners to learn. The comments are useful and clarify the purpose of the code and why certain choices were made. For complete beginners, it might be slightly complex due to the use of methods and exception handling. However, the code is well-structured and the variable names are meaningful and self-explanatory, which enhances readability. A possible improvement might be a brief explanation of what the AttributeError is and why it's being caught.\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "from django.shortcuts import render \n",
+ "from django.http import HttpResponseRedirect\n",
+ "# Import any new Models here\n",
+ "from .models import Course, Enrollment, Question, Choice, Submission , Lesson\n",
+ "from django.contrib.auth.models import User\n",
+ "from django.shortcuts import get_object_or_404, render, redirect\n",
+ "from django.urls import reverse\n",
+ "from django.views import generic\n",
+ "from django.contrib.auth import login, logout, authenticate\n",
+ "import logging\n",
+ "# Get an instance of a logger\n",
+ "logger = logging.getLogger(__name__)\n",
+ "# Create your views here.\n",
+ "\n",
+ "\n",
+ "def registration_request(request):\n",
+ " context = {}\n",
+ " if request.method == 'GET':\n",
+ " return render(request, 'onlinecourse/user_registration_bootstrap.html', context)\n",
+ " elif request.method == 'POST':\n",
+ " # Check if user exists\n",
+ " username = request.POST['username']\n",
+ " password = request.POST['psw']\n",
+ " first_name = request.POST['firstname']\n",
+ " last_name = request.POST['lastname']\n",
+ " user_exist = False\n",
+ " try:\n",
+ " User.objects.get(username=username)\n",
+ " user_exist = True\n",
+ " except:\n",
+ " logger.error(\"New user\")\n",
+ " if not user_exist:\n",
+ " user = User.objects.create_user(username=username, first_name=first_name, last_name=last_name,\n",
+ " password=password)\n",
+ " login(request, user)\n",
+ " return redirect(\"onlinecourse:index\")\n",
+ " else:\n",
+ " context['message'] = \"User already exists.\"\n",
+ " return render(request, 'onlinecourse/user_registration_bootstrap.html', context)\n",
+ "\n",
+ "\n",
+ "def login_request(request):\n",
+ " context = {}\n",
+ " if request.method == \"POST\":\n",
+ " username = request.POST['username']\n",
+ " password = request.POST['psw']\n",
+ " user = authenticate(username=username, password=password)\n",
+ " if user is not None:\n",
+ " login(request, user)\n",
+ " return redirect('onlinecourse:index')\n",
+ " else:\n",
+ " context['message'] = \"Invalid username or password.\"\n",
+ " return render(request, 'onlinecourse/user_login_bootstrap.html', context)\n",
+ " else:\n",
+ " return render(request, 'onlinecourse/user_login_bootstrap.html', context)\n",
+ "\n",
+ "\n",
+ "def logout_request(request):\n",
+ " logout(request)\n",
+ " return redirect('onlinecourse:index')\n",
+ "\n",
+ "\n",
+ "def check_if_enrolled(user, course):\n",
+ " is_enrolled = False\n",
+ " if user.id is not None:\n",
+ " # Check if user enrolled\n",
+ " num_results = Enrollment.objects.filter(user=user, course=course).count()\n",
+ " if num_results > 0:\n",
+ " is_enrolled = True\n",
+ " return is_enrolled\n",
+ "\n",
+ "\n",
+ "# CourseListView\n",
+ "class CourseListView(generic.ListView):\n",
+ " template_name = 'onlinecourse/course_list_bootstrap.html'\n",
+ " context_object_name = 'course_list'\n",
+ "\n",
+ " def get_queryset(self):\n",
+ " user = self.request.user\n",
+ " courses = Course.objects.order_by('-total_enrollment')[:10]\n",
+ " for course in courses:\n",
+ " if user.is_authenticated:\n",
+ " course.is_enrolled = check_if_enrolled(user, course)\n",
+ " return courses\n",
+ "\n",
+ "\n",
+ "class CourseDetailView(generic.DetailView):\n",
+ " model = Course\n",
+ " template_name = 'onlinecourse/course_detail_bootstrap.html'\n",
+ "\n",
+ "\n",
+ "def enroll(request, course_id):\n",
+ " course = get_object_or_404(Course, pk=course_id)\n",
+ " user = request.user\n",
+ "\n",
+ " is_enrolled = check_if_enrolled(user, course)\n",
+ " if not is_enrolled and user.is_authenticated:\n",
+ " # Create an enrollment\n",
+ " Enrollment.objects.create(user=user, course=course, mode='honor')\n",
+ " course.total_enrollment += 1\n",
+ " course.save()\n",
+ "\n",
+ " return HttpResponseRedirect(reverse(viewname='onlinecourse:course_details', args=(course.id,)))\n",
+ "\n",
+ "\n",
+ "# Create a submit view to create an exam submission record for a course enrollment,\n",
+ "# you may implement it based on following logic:\n",
+ " # Get user and course object, then get the associated enrollment object created when the user enrolled the course\n",
+ " # Create a submission object referring to the enrollment\n",
+ " # Collect the selected choices from exam form\n",
+ " # Add each selected choice object to the submission object\n",
+ " # Redirect to show_exam_result with the submission id\n",
+ "\n",
+ "# A example method to collect the selected choices from the exam form from the request object\n",
+ "def extract_answers(request):\n",
+ " submitted_anwsers = []\n",
+ " for key in request.POST:\n",
+ " if key.startswith('choice'):\n",
+ " value = request.POST[key]\n",
+ " choice_id = int(value)\n",
+ " submitted_anwsers.append(choice_id)\n",
+ " return submitted_anwsers\n",
+ "\n",
+ "def submit(request, course_id):\n",
+ " user = request.user\n",
+ " course = Course.objects.get(pk=course_id)\n",
+ " enrollment = Enrollment.objects.get(user=user, course=course)\n",
+ " submitted_anwsers = extract_answers(request)\n",
+ " submission = Submission.objects.create(enrollment=enrollment)\n",
+ " submission.chocies.set(submitted_anwsers)\n",
+ " print(submission)\n",
+ " return HttpResponseRedirect(reverse(viewname='onlinecourse:result', args=(course_id, submission.chocies.first().question.lesson.pk, submission.pk)))\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "# Create an exam result view to check if learner passed exam and show their question results and result for each question,\n",
+ "# you may implement it based on the following logic:\n",
+ " # Get course and submission based on their ids\n",
+ " # Get the selected choice ids from the submission record\n",
+ " # For each selected choice, check if it is a correct answer or not\n",
+ " # Calculate the total score\n",
+ "def show_exam_result(request, course_id, lesson_id, submission_id):\n",
+ " from django.db.models import Sum\n",
+ " course = Course.objects.get(pk=course_id)\n",
+ " submission = Submission.objects.get(pk=submission_id)\n",
+ " selected_choices = submission.chocies.all()\n",
+ "\n",
+ " lesson = Lesson.objects.get(pk=lesson_id)\n",
+ " questions = lesson.question_set.all()\n",
+ " total_mark = round(lesson.question_set.all().aggregate(Sum(\"grade\"))[\"grade__sum\"])\n",
+ " grade = 0\n",
+ " for question in questions:\n",
+ " if question.is_get_score(selected_choices):\n",
+ " grade += question.grade\n",
+ "\n",
+ "\n",
+ " ctx = {\n",
+ " 'grade': round(grade),\n",
+ " 'total_mark': total_mark,\n",
+ " 'questions': questions,\n",
+ " 'lesson': lesson,\n",
+ " 'selected_choices': selected_choices,\n",
+ " \n",
+ "\n",
+ "\n",
+ " }\n",
+ " \n",
+ "\n",
+ " return render(request , 'onlinecourse/exam_result_bootstrap.html' , ctx)\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code provided is a good example of a more advanced beginner to intermediate level Django application, which includes concepts such as class-based views, user authentication, and database model usage. The code is mostly well-structured and clear, with functions and classes that are single-purpose and self-explanatory.\n",
+ "\n",
+ "However, this code might be challenging for someone just starting to learn coding concepts due to the following reasons:\n",
+ "\n",
+ "1. It uses Django, a high-level Python Web framework, which assumes knowledge of Python and basic web development concepts. This might be overwhelming for a complete beginner.\n",
+ "2. The code includes some complex concepts such as\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "\"\"\"\n",
+ "Views for PubSite app.\n",
+ "\"\"\"\n",
+ "from django.conf import settings\n",
+ "from django.contrib.auth.views import (\n",
+ " PasswordResetView,\n",
+ " PasswordResetDoneView,\n",
+ " PasswordResetConfirmView,\n",
+ " PasswordResetCompleteView,\n",
+ ")\n",
+ "from django.shortcuts import render\n",
+ "import requests\n",
+ "import logging\n",
+ "\n",
+ "logger = logging.getLogger(__name__)\n",
+ "\n",
+ "\n",
+ "def _get_context(page_name):\n",
+ " return {\n",
+ " \"pages\": settings.PUBLIC_PAGES,\n",
+ " \"current_page_name\": page_name,\n",
+ " }\n",
+ "\n",
+ "\n",
+ "# Regular index\n",
+ "# def index(request):\n",
+ "# \"\"\"\n",
+ "# View for the static index page\n",
+ "# \"\"\"\n",
+ "# return render(request, 'public/home.html', _get_context('Home'))\n",
+ "\n",
+ "\n",
+ "def index(request):\n",
+ " \"\"\"\n",
+ " View for the static index page\n",
+ " \"\"\"\n",
+ " return render(request, \"public/home.html\", _get_context(\"Home\"))\n",
+ "\n",
+ "\n",
+ "def about(request):\n",
+ " \"\"\"\n",
+ " View for the static chapter history page.\n",
+ " \"\"\"\n",
+ " return render(request, \"public/about.html\", _get_context(\"About\"))\n",
+ "\n",
+ "\n",
+ "def activities(request):\n",
+ " \"\"\"\n",
+ " View for the static chapter service page.\n",
+ " \"\"\"\n",
+ " return render(\n",
+ " request,\n",
+ " \"public/activities.html\",\n",
+ " _get_context(\"Service & Activities\"),\n",
+ " )\n",
+ "\n",
+ "\n",
+ "def rush(request):\n",
+ " \"\"\"\n",
+ " View for the static chapter service page.\n",
+ " \"\"\"\n",
+ " return render(\n",
+ " request,\n",
+ " \"public/rush.html\",\n",
+ " _get_context(\"Rush\"),\n",
+ " )\n",
+ "\n",
+ "\n",
+ "def campaign(request):\n",
+ " \"\"\"\n",
+ " View for the campaign service page.\n",
+ " \"\"\"\n",
+ "\n",
+ " # Overrride requests Session authentication handling\n",
+ " class NoRebuildAuthSession(requests.Session):\n",
+ " def rebuild_auth(self, prepared_request, response):\n",
+ " \"\"\"\n",
+ " No code here means requests will always preserve the Authorization\n",
+ " header when redirected.\n",
+ " Be careful not to leak your credentials to untrusted hosts!\n",
+ " \"\"\"\n",
+ "\n",
+ " url = \"https://api.givebutter.com/v1/transactions/\"\n",
+ " headers = {\"Authorization\": f\"Bearer {settings.GIVEBUTTER_API_KEY}\"}\n",
+ " response = None\n",
+ " # Create custom requests session\n",
+ " session = NoRebuildAuthSession()\n",
+ "\n",
+ " # Make GET request to server, timeout in seconds\n",
+ " try:\n",
+ " r = session.get(url, headers=headers, timeout=0.75)\n",
+ " if r.status_code == 200:\n",
+ " response = r.json()\n",
+ " else:\n",
+ " logger.error(f\"ERROR in request: {r.status_code}\")\n",
+ " except requests.exceptions.Timeout:\n",
+ " logger.warning(\"Connection to GiveButter API Timed out\")\n",
+ " except requests.ConnectionError:\n",
+ " logger.warning(\"Connection to GiveButter API could not be resolved\")\n",
+ " except requests.exceptions.RequestException:\n",
+ " logger.error(\n",
+ " \"An unknown issue occurred while trying to retrieve GiveButter Donor List\"\n",
+ " )\n",
+ "\n",
+ " # Grab context object to use later\n",
+ " ctx = _get_context(\"Campaign\")\n",
+ "\n",
+ " # Check for successful response, if so - filter, sort, and format data\n",
+ " if response and \"data\" in response:\n",
+ " response = response[\"data\"] # Pull data from GET response object\n",
+ " logger.debug(f\"GiveButter API Response: {response}\")\n",
+ "\n",
+ " # Filter by only successful transactions, then sort by amount descending\n",
+ " successful_txs = [tx for tx in response if tx[\"status\"] == \"succeeded\"]\n",
+ " sorted_txs = sorted(successful_txs, key=lambda tx: tx[\"amount\"], reverse=True)\n",
+ "\n",
+ " # Clean data to a list of dictionaries & remove unnecessary data\n",
+ " transactions = [\n",
+ " {\n",
+ " \"name\": tx[\"giving_space\"][\"name\"],\n",
+ " \"amount\": tx[\"giving_space\"][\"amount\"],\n",
+ " \"message\": tx[\"giving_space\"][\"message\"],\n",
+ " }\n",
+ " for tx in sorted_txs[:20]\n",
+ " ]\n",
+ "\n",
+ " # Attach transaction dictionary & length to context object\n",
+ " ctx[\"transactions\"] = transactions\n",
+ " ctx[\"num_txs\"] = len(successful_txs)\n",
+ "\n",
+ " return render(\n",
+ " request,\n",
+ " \"public/campaign.html\",\n",
+ " ctx,\n",
+ " )\n",
+ "\n",
+ "\n",
+ "def permission_denied(request):\n",
+ " \"\"\"\n",
+ " View for 403 (Permission Denied) error.\n",
+ " \"\"\"\n",
+ " return render(\n",
+ " request,\n",
+ " \"common/403.html\",\n",
+ " _get_context(\"Permission Denied\"),\n",
+ " )\n",
+ "\n",
+ "\n",
+ "def handler404(request, exception):\n",
+ " \"\"\" \"\"\"\n",
+ " return render(request, \"common/404.html\", _get_context(\"Page Not Found\"))\n",
+ "\n",
+ "\n",
+ "class ResetPassword(PasswordResetView):\n",
+ " template_name = \"password_reset/password_reset_form.html\"\n",
+ "\n",
+ "\n",
+ "class ResetPasswordDone(PasswordResetDoneView):\n",
+ " template_name = \"password_reset/password_reset_done.html\"\n",
+ "\n",
+ "\n",
+ "class ResetPasswordConfirm(PasswordResetConfirmView):\n",
+ " template_name = \"password_reset/password_reset_confirm.html\"\n",
+ "\n",
+ "\n",
+ "class ResetPasswordComplete(PasswordResetCompleteView):\n",
+ " template_name = \"password_reset/password_reset_complete.html\"\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code file is fairly easy to understand, especially for someone who has a basic understanding of the Django web framework. The code is well structured with clear function definitions, and most functions are adequately documented with comments. The use of docstrings to describe each function is a great practice to teach beginners. \n",
+ "\n",
+ "However, there are a few areas where the code could be simplified or better explained to improve its educational value. The campaign function, for example, involves more advanced concepts like creating a custom requests Session class, exception handling, and data manipulation. This could be overwhelming for someone just starting to learn coding. The code also\n",
+ "\n",
+ "\n",
+ "\n",
+ "************************************************** Prompt: **************************************************\n",
+ "Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: \"[[rating]]\", for example: \"Rating: [[5]]\", then provide a short explanation of the rating.\n",
+ "\n",
+ "Code file:\n",
+ "\n",
+ "\"\"\"Utility functions for parcinging Freesurfer output files.\"\"\"\n",
+ "from os.path import join\n",
+ "\n",
+ "import nibabel as nb\n",
+ "import numpy as np\n",
+ "\n",
+ "\n",
+ "def _vectorize_fs_surf(file_path):\n",
+ " \"\"\"\n",
+ " Read surface information from a file and turn it into a vector.\n",
+ "\n",
+ " Parameters\n",
+ " ----------\n",
+ " file_path : str\n",
+ " The path to a file with surface data.\n",
+ "\n",
+ " Returns\n",
+ " -------\n",
+ " vectorized_data : numpy.ndarray\n",
+ " Extracted data.\n",
+ "\n",
+ " \"\"\"\n",
+ " img = nb.load(file_path)\n",
+ " in_data = img.get_fdata().squeeze()\n",
+ "\n",
+ " return in_data\n",
+ "\n",
+ "\n",
+ "def get_area(subject_dir, n_points):\n",
+ " \"\"\"\n",
+ " Read area information for the given subject and turn it into a vector.\n",
+ "\n",
+ " Data for left and right hemispheres are concatenated.\n",
+ "\n",
+ " Parameters\n",
+ " ----------\n",
+ " subject_dir : str\n",
+ " The directory to files with surface data.\n",
+ " n_points : int\n",
+ " Defines how many points to take from cortex surface.\n",
+ "\n",
+ " Returns\n",
+ " -------\n",
+ " : numpy.ndarray\n",
+ " Extracted data.\n",
+ "\n",
+ " \"\"\"\n",
+ " AREA_FILES = ('lh.area.mgh', 'rh.area.mgh')\n",
+ "\n",
+ " lh_data = _vectorize_fs_surf(join(subject_dir, AREA_FILES[0]))\n",
+ " rh_data = _vectorize_fs_surf(join(subject_dir, AREA_FILES[1]))\n",
+ "\n",
+ " n_points = n_points // 2\n",
+ "\n",
+ " return np.concatenate((lh_data[:n_points], rh_data[:n_points]), 0)\n",
+ "\n",
+ "\n",
+ "def get_thickness(subject_dir, n_points):\n",
+ " \"\"\"\n",
+ " Read thickness information for the given subject and turn it into a vector.\n",
+ "\n",
+ " Data for left and right hemispheres are concatenated.\n",
+ "\n",
+ " Parameters\n",
+ " ----------\n",
+ " subject_dir : str\n",
+ " The directory to files with surface data.\n",
+ " n_points : int\n",
+ " Defines how many points to take from cortex surface.\n",
+ "\n",
+ " Returns\n",
+ " -------\n",
+ " : numpy.ndarray\n",
+ " Extracted data.\n",
+ "\n",
+ " \"\"\"\n",
+ " THICKNESS_FILES = ('rh.thickness.mgh', 'lh.thickness.mgh')\n",
+ "\n",
+ " lh_data = _vectorize_fs_surf(join(subject_dir, THICKNESS_FILES[0]))\n",
+ " rh_data = _vectorize_fs_surf(join(subject_dir, THICKNESS_FILES[1]))\n",
+ "\n",
+ " n_points = n_points // 2\n",
+ "\n",
+ " return np.concatenate((lh_data[:n_points], rh_data[:n_points]), 0)\n",
+ "\n",
+ "-------------------------------------------------- Explanation of the score: --------------------------------------------------\n",
+ "Rating: [[7]]\n",
+ "\n",
+ "The code is written in a clear and organized manner with good use of functions and parameterization. The use of docstrings provides a good insight into what each function does, its parameters, and what it returns. Importing specific functions from libraries and usage of libraries like numpy and nibabel are good practices to be learned.\n",
+ "\n",
+ "However, for an absolute beginner in coding, this code might be a bit challenging. It assumes knowledge of Python, functions, libraries, and some experience with file handling. Concepts like arrays and slicing (in numpy), and the usage of third-party libraries (nibabel) for handling neuroim\n",
+ "\n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "# show examples with a score of 8 and their completions\n",
+ "for review in gpt4_600:\n",
+ " if review[\"score\"] in [7, 8]:\n",
+ " # print in a nice way the prompt and the completion\n",
+ " print(\"*\"*50 + \" Prompt: \" + \"*\"*50)\n",
+ " print(review[\"prompt\"])\n",
+ " print(\"-\"*50 + \" Explanation of the score: \" + \"-\"*50)\n",
+ " print(review[\"completion\"])\n",
+ " print(\"\\n\\n\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 90,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from datasets import Dataset, DatasetDict\n",
+ "import pandas as pd\n",
+ "\n",
+ "llama_ds = Dataset.from_pandas(pd.DataFrame(data=llama_600))\n",
+ "chatgpt_ds = Dataset.from_pandas(pd.DataFrame(data=chatgpt_600))\n",
+ "gpt4_ds = Dataset.from_pandas(pd.DataFrame(data=gpt4_600))\n",
+ "\n",
+ "ds = DatasetDict({\n",
+ " 'llama_70b_chat': llama_ds,\n",
+ " 'chatgpt': chatgpt_ds,\n",
+ " 'gpt4': gpt4_ds\n",
+ "})\n",
+ "ds.push_to_hub(\"textbooks-filtering-600-samples\")"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3.10.9 ('eval-harness': conda)",
+ "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.10.9"
+ },
+ "orig_nbformat": 4,
+ "vscode": {
+ "interpreter": {
+ "hash": "271972ab9158cd42175bc1ec5288153b91d150291a0b625c2babd1911356e891"
+ }
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/data_analysis/textbooks_filtering/llama_eval.py b/data_analysis/textbooks_filtering/llama_eval.py
new file mode 100644
index 0000000..f52fc66
--- /dev/null
+++ b/data_analysis/textbooks_filtering/llama_eval.py
@@ -0,0 +1,51 @@
+import json
+import logging
+
+import requests
+
+
+def get_llama_messages(user_prompt, sys_prompt):
+ input_prompt = f"[INST] <>\n{sys_prompt}\n<>\n\n "
+ input_prompt = input_prompt + str(user_prompt) + " [/INST] " + "Rating"
+ return input_prompt
+
+
+def run_llama_eval(
+ sys_prompt,
+ user_prompt: str,
+ hf_token: str,
+ api_url: str,
+ max_tokens: int,
+ temperature: float,
+ top_p: float,
+ logger: logging.Logger = None,
+):
+ input_prompt = get_llama_messages(user_prompt, sys_prompt)
+ data = {
+ "inputs": input_prompt,
+ "parameters": {
+ "max_new_tokens": max_tokens,
+ "do_sample": True,
+ "top_p": top_p,
+ "temperature": temperature,
+ },
+ }
+ headers = {
+ "Content-Type": "application/json",
+ }
+
+ response = requests.post(
+ api_url,
+ headers=headers,
+ data=json.dumps(data),
+ auth=("hf", hf_token),
+ stream=False,
+ )
+
+ if response.status_code == 200:
+ response_data = response.json()
+ generated_text = response_data["generated_text"]
+ return generated_text, True
+ else:
+ logger.error(f"Request failed with status code: {response.status_code}")
+ return "", False
diff --git a/data_analysis/textbooks_filtering/main.py b/data_analysis/textbooks_filtering/main.py
new file mode 100644
index 0000000..6e49f97
--- /dev/null
+++ b/data_analysis/textbooks_filtering/main.py
@@ -0,0 +1,187 @@
+# Some chunks is this code are adapted from https://github.com/huggingface/h4/tree/scripts/evaluation
+import json
+import logging
+import os
+import time
+from argparse import ArgumentParser
+from collections import Counter
+from multiprocessing.pool import Pool
+from time import gmtime, strftime
+
+import openai
+from datasets import load_dataset
+from llama_eval import run_llama_eval
+from openai_eval import run_openai_eval
+from utils import parse_score
+from tqdm.auto import tqdm
+from transformers import set_seed
+
+
+REQ_OPENAI_TIME_GAP = {"gpt-4": 6, "gpt-3.5-turbo": 6}
+SYSTEM_PROMPT = "You are a helpful and precise assistant for checking the educational quality of code."
+PROMPT_HEADER = """Please act as an impartial judge and evaluate the educational value of the code file displayed below for someone just starting to learn coding concepts. Your evaluation should prioritize clarity and simplicity to ensure the code is easily digestible for a beginner. \
+Be as objective as possible. You must first rate the code file on a scale of 1 to 10 by strictly following this format: "[[rating]]", for example: "Rating: [[5]]", then provide a short explanation of the rating.\n\nCode file:\n\n"""
+
+
+def get_args():
+ parser = ArgumentParser()
+ parser.add_argument(
+ "--seed",
+ default=0,
+ type=int,
+ help="Seed for random number generator",
+ )
+ parser.add_argument(
+ "--model_type",
+ default="openai",
+ type=str,
+ help="Model type to use for annotation, can be 'openai' or 'llama'",
+ )
+ parser.add_argument(
+ "--model_name",
+ default="gpt-3.5-turbo",
+ type=str,
+ help="Model name to use, use official OpenAI model name or 'llama' for llama-70b-chat",
+ )
+ parser.add_argument(
+ "--n_samples",
+ default=500,
+ type=int,
+ help="Number of samples to annotate",
+ )
+ parser.add_argument(
+ "--output_path",
+ default="/fsx/loubna/code/data_v2/analysis/openai/eval_openai_results.json",
+ type=str,
+ help="Output path for annotations",
+ )
+ parser.add_argument(
+ "--log_file",
+ default="/fsx/loubna/code/data_v2/analysis/openai/eval_openai.log",
+ type=str,
+ help="Log file path",
+ )
+ return parser.parse_args()
+
+
+def build_prompt(i, ds, header=PROMPT_HEADER):
+ input = header
+ code = ds[i]
+ prompt = f"{input}{code['content']}"
+ return prompt
+
+
+def run_eval(inputs):
+ input_text, model_name, sleep_time, hf_token, api_url = inputs
+ # To avoid the rate limit
+ if model_name == "llama-70b-chat":
+ # parameters taken from https://huggingface.co/spaces/ysharma/Explore_llamav2_with_TGI
+ completion, did_run = run_llama_eval(
+ SYSTEM_PROMPT,
+ input_text,
+ hf_token,
+ api_url,
+ max_tokens=128,
+ temperature=0.9,
+ top_p=0.6,
+ logger=logger,
+ )
+ else:
+ # OpenAI models
+ assert model_name in [
+ "gpt-4",
+ "gpt-3.5-turbo",
+ ], "Only gpt-4 and gpt-3.5-turbo are accepted"
+ completion, did_run = run_openai_eval(
+ SYSTEM_PROMPT,
+ input_text,
+ max_tokens=128,
+ temperature=0.7,
+ top_p=0.95,
+ model=model_name,
+ logger=logger,
+ )
+ if not did_run:
+ print("Skipping failed run")
+ return {
+ "prompt": input_text,
+ "completion": "",
+ "review_id": "",
+ "review_model": model_name,
+ "eval_prompt_header": PROMPT_HEADER,
+ "generation_config": {
+ "temperature": 0.7,
+ "top_p": 0.95,
+ },
+ }
+
+ review_dict = {
+ "completion": completion,
+ "review_model": model_name,
+ "prompt": input_text,
+ "eval_prompt_header": PROMPT_HEADER,
+ "generation_config": {
+ "temperature": 0.7,
+ "top_p": 0.95,
+ },
+ }
+
+ # Optional sleep
+ time.sleep(sleep_time)
+ if sleep_time > 0:
+ logger.info(f"Sleeping for {sleep_time} seconds to avoid rate limit.")
+
+ return review_dict
+
+
+# if mainname
+if __name__ == "__main__":
+ args = get_args()
+ logger = logging.getLogger(__name__)
+ logging.basicConfig(
+ format="%(asctime)s - %(levelname)s - %(name)s - %(message)s",
+ datefmt="%m/%d/%Y %H:%M:%S",
+ level=logging.INFO,
+ handlers=[logging.FileHandler(args.log_file), logging.StreamHandler()],
+ )
+ set_seed(args.seed)
+
+ openai.api_key = os.environ.get("OPENAI_API_KEY")
+ hf_token = os.environ.get("HF_LLAMA_TOKEN")
+ api_url = os.environ.get("LLAMA_API_URL")
+
+ openai_model = args.model_type == "openai"
+ model_name = args.model_name
+ sleep_time = 0 if not openai_model else REQ_OPENAI_TIME_GAP[model_name]
+
+ # Load dataset
+ ds = load_dataset("bigcode/the-stack-smol", split="train", data_dir="data/python")
+ ds_medium = ds.filter(lambda x: 600 <= x["size"] <= 8000)
+ logger.info(
+ f"Loaded {len(ds_medium)} medium-sized (600-6000 characters) code files."
+ )
+
+ # build prompts
+ prompts = [build_prompt(i, ds_medium, header=PROMPT_HEADER) for i in range(args.n_samples)]
+ logger.info(
+ f"Built {len(prompts)} prompts for {model_name} model.\n{'='*50} Sample prompt {'='*50}\n{prompts[0]}"
+ )
+
+ # Run eval
+ inputs = [(prompt, model_name, sleep_time, hf_token, api_url) for prompt in prompts]
+ logger.info(f"Running eval for {len(inputs)} prompts with {model_name} model.")
+ with Pool(12) as pool:
+ review_jsons = list(tqdm(pool.imap(run_eval, inputs), total=len(prompts)))
+
+ # add score to each value in dict
+ reviews_with_scores = [
+ {**review_json, "score": parse_score(review_json["completion"], logger)}
+ for review_json in review_jsons
+ ]
+ scores = [review["score"] for review in reviews_with_scores]
+ logger.info(f"Distribution of scores is: {Counter(scores)}")
+
+ dumped = json.dumps(reviews_with_scores, indent=4, sort_keys=True, default=str)
+ with open(args.output_path, "w") as output_review_file:
+ output_review_file.write(dumped)
+ logger.info(f"🚀 All done! Completions saved to {args.output_path}")
diff --git a/data_analysis/textbooks_filtering/openai_eval.py b/data_analysis/textbooks_filtering/openai_eval.py
new file mode 100644
index 0000000..adfd4f3
--- /dev/null
+++ b/data_analysis/textbooks_filtering/openai_eval.py
@@ -0,0 +1,47 @@
+import logging
+import time
+
+import openai
+
+
+def get_openai_messages(user_prompt, sys_prompt):
+ messages = [{"role": "system", "content": sys_prompt}]
+ messages.append(
+ {
+ "role": "user",
+ "content": user_prompt,
+ }
+ )
+ return messages
+
+
+def run_openai_eval(
+ sys_prompt,
+ user_prompt: str,
+ max_tokens: int,
+ temperature: float,
+ top_p: float,
+ model: str = "gpt-3.5-turbo",
+ logger: logging.Logger = None,
+):
+ logging.basicConfig(level=logging.INFO)
+ MAX_OPENAI_API_RETRY = 6
+ for i in range(MAX_OPENAI_API_RETRY):
+ try:
+ response = openai.ChatCompletion.create(
+ model=model, # "gpt-4",
+ messages=get_openai_messages(user_prompt, sys_prompt),
+ temperature=temperature, # TODO: figure out which temperature is best for evaluation
+ top_p=top_p,
+ max_tokens=max_tokens,
+ )
+ content = response["choices"][0]["message"]["content"]
+ return content, True
+ except Exception as e:
+ if logger is not None:
+ logger.error(e)
+ time.sleep(5) # TODO see how low this can go
+
+ if logger is not None:
+ logger.error(f"Failed after {MAX_OPENAI_API_RETRY} retries.")
+ return None, False
\ No newline at end of file
diff --git a/data_analysis/textbooks_filtering/utils.py b/data_analysis/textbooks_filtering/utils.py
new file mode 100644
index 0000000..84f501c
--- /dev/null
+++ b/data_analysis/textbooks_filtering/utils.py
@@ -0,0 +1,19 @@
+
+import ast
+import re
+
+one_score_pattern = re.compile("\[\[(\d+\.?\d*)\]\]")
+one_score_pattern_backup = re.compile("\[(\d+\.?\d*)\]")
+
+def parse_score(oai_review, logger):
+ match = re.search(one_score_pattern, oai_review)
+ if not match:
+ match = re.search(one_score_pattern_backup, oai_review)
+
+ if match:
+ rating = ast.literal_eval(match.groups()[0])
+ else:
+ rating = -1.0
+ logger.error("No rating found in response")
+ score = float(rating)
+ return score
\ No newline at end of file