{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Getting the necessary data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You just need to do this only once" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[kftp_connect_file] 550 /1000genomes/ftp/release/20130502/supporting/vcf_with_sample_level_annotation/ALL.chr22.phase3_shapeit2_mvncall_integrated_v5_extra_anno.20130502.genotypes.vcf.gz.csi: No such file or directory\n", "[E::test_and_fetch] fail to open remote file 'ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/supporting/vcf_with_sample_level_annotation/ALL.chr22.phase3_shapeit2_mvncall_integrated_v5_extra_anno.20130502.genotypes.vcf.gz.csi'\n", "[kftp_connect_file] 550 /1000genomes/ftp/release/20130502/supporting/vcf_with_sample_level_annotation/ALL.chr22.phase3_shapeit2_mvncall_integrated_v5_extra_anno.20130502.genotypes.vcf.csi: No such file or directory\n", "[E::test_and_fetch] fail to open remote file 'ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/supporting/vcf_with_sample_level_annotation/ALL.chr22.phase3_shapeit2_mvncall_integrated_v5_extra_anno.20130502.genotypes.vcf.csi'\n", "[M::test_and_fetch] downloading file 'ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/supporting/vcf_with_sample_level_annotation/ALL.chr22.phase3_shapeit2_mvncall_integrated_v5_extra_anno.20130502.genotypes.vcf.gz.tbi' to local directory\n" ] } ], "source": [ "!rm -f genotypes.vcf.gz 2>/dev/null\n", "!tabix -fh ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/release/20130502/supporting/vcf_with_sample_level_annotation/ALL.chr22.phase3_shapeit2_mvncall_integrated_v5_extra_anno.20130502.genotypes.vcf.gz 22:1-17000000|bgzip -c > genotypes.vcf.gz\n", "!tabix -p vcf genotypes.vcf.gz" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from collections import defaultdict\n", "\n", "%matplotlib inline\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "\n", "import vcf" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Variant Level information\n", "CIEND\n", "CIPOS\n", "CS\n", "END\n", "IMPRECISE\n", "MC\n", "MEINFO\n", "MEND\n", "MLEN\n", "MSTART\n", "SVLEN\n", "SVTYPE\n", "TSD\n", "AC\n", "AF\n", "NS\n", "AN\n", "ASN_AF\n", "EUR_AF\n", "AFR_AF\n", "AMR_AF\n", "SAN_AF\n", "DP\n", "Sample Level information\n", "GT\n", "DP\n" ] } ], "source": [ "v = vcf.Reader(filename='genotypes.vcf.gz')\n", "\n", "print('Variant Level information')\n", "infos = v.infos\n", "for info in infos:\n", " print(info)\n", "\n", "print('Sample Level information')\n", "fmts = v.formats\n", "for fmt in fmts:\n", " print(fmt)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('22', 16050075, None, 'A', [G], 100, [])\n", "{'EUR_AF': [0.0], 'SAS_AF': ['0.0010'], 'AC': [1], 'AF': [0.000199681], 'ASN_AF': [0.0], 'AFR_AF': [0.0], 'AMR_AF': [0.0], 'AN': 5008, 'SAN_AF': [0.0], 'EAS_AF': [''], 'NS': 2504, 'DP': [8012]}\n", "GT:DP\n", "2504\n", "(True, ['0', '0'], False, False, True)\n", "1\n" ] } ], "source": [ "v = vcf.Reader(filename='genotypes.vcf.gz')\n", "rec = next(v)\n", "print(rec.CHROM, rec.POS, rec.ID, rec.REF, rec.ALT, rec.QUAL, rec.FILTER)\n", "print(rec.INFO)\n", "print(rec.FORMAT)\n", "samples = rec.samples\n", "print(len(samples))\n", "sample = samples[0]\n", "print(sample.called, sample.gt_alleles, sample.is_het, sample.is_variant, sample.phased)\n", "print(int(sample['DP']))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "defaultdict(, {('indel', 'del'): 273, ('indel', 'ins'): 127, ('snp', 'ts'): 10054, ('sv', 'SVA'): 1, ('indel', 'unknown'): 13, ('snp', 'unknown'): 79, ('snp', 'tv'): 5917, ('sv', 'DEL'): 6, ('sv', 'CNV'): 2})\n", "defaultdict(, {1: 15971, 2: 79})\n" ] } ], "source": [ "f = vcf.Reader(filename='genotypes.vcf.gz')\n", "\n", "my_type = defaultdict(int)\n", "num_alts = defaultdict(int)\n", "\n", "for rec in f:\n", " my_type[rec.var_type, rec.var_subtype] += 1\n", " if rec.is_snp:\n", " num_alts[len(rec.ALT)] += 1\n", "print(my_type)\n", "print(num_alts)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "f = vcf.Reader(filename='genotypes.vcf.gz')\n", "\n", "sample_dp = defaultdict(int)\n", "for rec in f:\n", " if not rec.is_snp or len(rec.ALT) != 1:\n", " continue\n", " for sample in rec.samples:\n", " dp = sample['DP']\n", " if dp is None:\n", " dp = 0\n", " dp = int(dp)\n", " sample_dp[dp] += 1" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA70AAAIZCAYAAABqJ1jgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XeYXVWh///3PmXOzKTRhqhUaZuAohIloVwUAWmKEAhV\nxEYXr9/7vdWvX70/L17u9av3WkAQGyBFCU0p0vQqEBJApKVtWhCUFgKpM3PmlP37Y86EgElmkszM\nOuX9eh4ffXb2rPOZyebBz6y114rSNEWSJEmSpGaUCR1AkiRJkqSRYumVJEmSJDUtS68kSZIkqWlZ\neiVJkiRJTcvSK0mSJElqWpZeSZIkSVLTyq3rD+M4zgI/BHYBUuBMoA24GXiidtv3kySZEcfxacDp\nQBk4L0mSW+I47gCuALqA5cCpSZK8GsfxVODbtXvvSJLka7XP+ypweO36F5MkeTCO4y2Aq4B24AXg\n00mS9AzbT0CSJEmS1LQGm+n9KFBNkmQ/4MvA14E9gW8lSXJA7T8z4jh+G3AusA9wCHB+HMdtwFnA\no0mS7A9cXhsD4GLgxNq4U+I4fm8cx3sC+ydJMgU4Abiwdu9XgCtqYzwMnDE837okSZIkqdmts/Qm\nSfJL3iiZ2wNLgMnAEXEc/z6O4x/FcTwW2AuYmSRJKUmSZcBTwB7AvsBtta+/DTgojuNxQFuSJAtr\n128HDqrde0ftc58HcrVZ3tXH+HXtXkmSJEmSBjXoO71JklTiOL4U+A5wJfAA8PdJknwQeAb4KjAO\nWLraly0HJgDjgWXruPbW62sbY+D6ito1SZIkSZIGNaSNrJIk+RQQ0/9+7x1Jkjxc+6MbgPfRX2LH\nrfYl4+ifFV79+pquQX+pXdP11e8f/5ZrkiRJkiQNarCNrE4Btk6S5HygB6gC18dxfG6SJA/Sv9T4\nD/TP/n49juMC/RtOTQLmADPp35jqQeAw4O4kSZbHcdwXx/EOwELgI8C/AhXgG3EcfxPYBoiSJFkc\nx/HAGJcNjDHYN5WmaRpF0fr9JDTqtt++/7+ffTZkCkmSJEkNZr3K3jpLL3AtcGkcx78H8sDfAs8B\nF8ZxXAJeBE5PkmRFHMffBe6hf/b4S0mSFOM4vgi4LI7je4AicFJt3DPpXyqdBW6vFWhq982qjXFO\n7d7zamOcBixabYy1iqKIRYuWD+kHoHCq1TEALFq0MnCS+tTVNc7nWE3BZ1nNwOdYzcJnWc2gq2vc\n4DetJkrTdISiBJX6D3P9mzy5v/Q+9JCld038l5Kahc+ymoHPsZqFz7KaQVfXuGGd6ZVGxsqV0B1B\nW1voJJIkSZKa2JA2spKGRV8fbXf8mnFnfoYtdt+RzOJXybz8MpnnnwudTJIkSVKTcqZXI6taJT/7\nPgrXzaBw841kXn8dgMr27yR9uZOop5sJJx7DkpvvIN1k08BhJUmSJDUbS6+GX5qSe+wRCtdfS+HG\n68i++AIAlS0n0n3G2RSPPpby+yaTvn8svP46uScSxp96Ekt/cQO0twcOL0mSJKmZWHo1bLJPP9lf\ndK+fQe7ppwCojp9Az8mfpDhtOqV99oNs9k1fk26yKb0fPpr2X93AuHPPZPkPfgIZV91LkiRJGh6W\nXm2UzIsvULjxegrXzyD/6MMApB0d9H58GsVp0+n78EFQKKx9gAiWX/ADsi+/RPsvr6f69new8mv/\nPkrpJUmSJDU7S6/WW7R0CYVf3kDhhmvJ33cvUZqSZrMUD/oIxaOPpe+wI0jHrsfZWe3tLL38ajb5\n2CF0XnwB1a22oueMcwb/OkmSJEkahKVX66dUYpPDDyL35BMA9E3dh+LRx1L82FGkW2yxwcOmm27G\n0quvY5PDDmTMV75E5R1b0fexo4YrtSRJkqQWZenVein86gZyTz5B8aMfZ8XX/p3q1tsM29jVbbbt\nL75HHsr4s09jadeWlKbuM2zjS5IkSWo97hikoUtTOi66gDSTYcX//f+GtfAOqLx7D5b95GdQqTD+\nkyeQfSIZ9s+QJEmS1DosvRqy/Mx7yD/2CH1HHEn1nTuM2OeUDjiQ5f/1PTJLljDhxGPIvPzSiH2W\nJEmSpOZm6dWQdVz0PQC6z/r8iH9W8YSTWfnPXyb7/HOMP2k60YrlI/6ZkiRJkpqPpVdDkn0ioXDn\n7ZT2mkr5/XuNymd2/69/oOeUT5N//FHGf+YUKJVG5XMlSZIkNQ9Lr4ak4+ILAOg+69zR+9AoYsV/\nfoviwYfQ9rvfMu5/fwHSdPQ+X5IkSVLDs/RqUNHLL9N+zdWU37kDfYceProfnsux7JJLKb1vT9p/\nfiWd3/j30f18SZIkSQ3N0qtBdfz0EqK+PnrO/Dxks6MfYMwYll4xg8p22zPmW/9J+88uHf0MkiRJ\nkhqSpVfr1t1Nx09/RHWzzeg9/qRgMdKuLpb+4nqqm23G2H/8X7TdeVuwLJIkSZIah6VX69T+8yvJ\nvP46PZ/6HHR2Bs1S2WEnll5xDbS1Mf60T5F75I9B80iSJEmqf5ZerV2lQscPLiQtFOj5zOmh0wBQ\nfv9eLPvBT6G3lwknTSfz7MLQkSRJkiTVMUuv1qrttlvJLXyG3uknkG65Zeg4q/Qdejgrzv8mmVcX\nMeGEaUSLF4eOJEmSJKlOWXq1Vp3f/y5A/wZWdab305+j+wt/R+6Zp5nwieOguzt0JEmSJEl1yNKr\nNco9eD/5B++nePAhVHaJQ8dZo5X/56v0Hns8+YceZMz5/xY6jiRJkqQ6ZOnVGnVedAEAPWd/IXCS\ndYgilv/3BVS22pqOn/2U6DWXOUuSJEl6M0uv/kpm4TO03XoTpT3eS2mf/ULHWbdCgZ4zzibq7qbj\n0h+HTiNJkiSpzlh69Vc6L/k+UbVKz9nnQhSFjjOo3k+cSnXCJnT86GLo6QkdR5IkSVIdsfTqTaLX\nX6P96iuobL0NxY8dFTrOkKRjx9Hz6c+RefVV2n9+Zeg4kiRJkuqIpVdv0nHZT4i6u+k57SzI50PH\nGbKez55BWij07zhdqYSOI0mSJKlOWHr1hmKR9h/9gOq48fR+4pOh06yXdOJEeo87ieyfnqXtll+F\njiNJkiSpTlh6tUrh+hlkX3mZ3lM+RTpufOg4663n7M+TRhGd3/s2pGnoOJIkSZLqgKVX/dKUzou+\nR5rL0XPamaHTbJDKjjvTd/jHyD/6MPmZ94SOI0mSJKkOWHoFQP5/7iK3YD7Fo46hutXWoeNssO7P\n/y0AnRd8O3ASSZIkSfXA0isAOi/8HgDdZ50bOMnGKU/+AH377Efbb+8iO3dO6DiSJEmSArP0iuzj\nj9F2z+/o+5sPUXn3HqHjbLSegdneC78TOIkkSZKk0Cy9ovOi/lnenrM/HzjJ8Og78COUJ+1G4YZr\nyTz/XOg4kiRJkgKy9La4zAt/oXDjdZTjXen78MGh4wyPKKL77C8QVSp0/ODC0GkkSZIkBWTpbXEd\nP7yYqFym++wvQBSFjjNsikcfS+UdW9FxxWVEry0OHUeSJElSIJbeFhYtX0b75T+lsuVEitOmh44z\nvNra6DnjHKLubjou/XHoNJIkSZICsfS2sPYrLyezfBm9nzsDCoXQcYZd7ymnUp2wCR0/uhh6ekLH\nkSRJkhSApbdVlUp0XHIRaWcnPad+JnSaEZGOHUfPpz9H5tVXaf/FVaHjSJIkSQrA0tuiCjfdSPbP\nz9N74idIN90sdJwR0/PZM0gLBTq//12oVELHkSRJkjTKLL2tKE3p+P73SDMZuk8/O3SaEZVOnEjv\ncSeRfXYhbbfeFDqOJEmSpFFm6W1B+fvuJf/YI/Qd/jGq79whdJwR13P250mjiM7v/Tekaeg4kiRJ\nkkaRpbcFdVz0PQC6zz43cJLRUdlxZ/oO/xj5Rx4mP/Oe0HEkSZIkjSJLb4vJPpFQuOM2SntNpfz+\nvULHGTXdn/9bADov+HbgJJIkSZJGk6W3xXRcfAEA3We1xizvgPLkD9C39760/fYusnPnhI4jSZIk\naZRYeltI9MortM/4OeV37kDfoYeHjjPqegZmey/8TuAkkiRJkkaLpbeFdPzkEqJikZ4zzoFsNnSc\nUdd30CGUJ+1G4YZryTz/XOg4kiRJkkaBpbeFFG68jurYcfSecHLoKGFEEd1nf4GoUqHjku+HTiNJ\nkiRpFFh6W0Tm5ZfIPfM0pal7Q2dn6DjBFI8+lso7tqLjZ5cRvf5a6DiSJEmSRpilt0XkZ98HQGnq\nvoGTBNbWRs8Z5xB1r6Tjpz8KnUaSJEnSCLP0toj8rJkAlPZp8dIL9J5yKtXxE+j40cXQ0xM6jiRJ\nkqQRZOltEflZM0k7Oynv8d7QUYJLx46j99OfI/Pqq7T/4qrQcSRJkiSNIEtvC4heW0xu/jxKk/eC\ntrbQcepC9+fOJG1ro/P734VKJXQcSZIkSSPE0tsC8vfPBqC09z6Bk9SPdOJEeo8/ieyzC2m79abQ\ncSRJkiSNEEtvC1j1Pu/evs+7up6zzyWNIjov+Dakaeg4kiRJkkaApbcF5GfPJG1ro7Tn+0NHqSuV\nHXem7/CPkX/4j+Tvuzd0HEmSJEkjwNLb5KIVy8k99ijl902Gjo7QcepO9+f/FoCOC74dOIkkSZKk\nkWDpbXK5B2YTVav0ubR5jcqTP0Df3vtS+M2dZOfOCR1HkiRJ0jCz9Da5tln3AVCa6iZWa9NTm+3t\nvPA7gZNIkiRJGm6W3iaXnzWTNJOhvNeU0FHqVt+BH6G86yQKN1xL5vnnQseRJEmSNIwsvc2sp4fc\nww9R3uM9pGPHhU5TvzIZus/+AlGlQvsVl4ZOI0mSJGkYWXqbWP6PfyAqlShN9X3ewRSPPJrq2HG0\nz/gFVKuh40iSJEkaJpbeJjZwDE9pn/0CJ2kAnZ0UjzyK7J+f9/giSZIkqYlYeptYfnZtE6spUwMn\naQzF404EoP2aqwMnkSRJkjRccuv6wziOs8APgV2AFDgTKAKXAlVgDnBOkiRpHMenAacDZeC8JElu\nieO4A7gC6AKWA6cmSfJqHMdTgW/X7r0jSZKv1T7vq8DhtetfTJLkwTiOtwCuAtqBF4BPJ0nSM4w/\ng+bU10f+Dw9QnrQ76aabhU7TEEpT96Gy7Xa03fRLOP+bMGZM6EiSJEmSNtJgM70fBapJkuwHfBn4\nd+BbwJeSJNkfiICPx3H8NuBcYB/gEOD8OI7bgLOAR2v3Xl4bA+Bi4MTauFPiOH5vHMd7AvsnSTIF\nOAG4sHbvV4AramM8DJwxHN94s8s9+jBRTw+lvT2qaMgyGXqPPZ7MyhUUbr0pdBpJkiRJw2CdpTdJ\nkl/yRsncHngdmJwkyd21a78GDgI+AMxMkqSUJMky4ClgD2Bf4LbavbcBB8VxPA5oS5JkYe367bUx\n9gXuqH3u80CuNsu7+hgDn6dB5AfO593bTazWR+/AEudfuMRZkiRJagaDvtObJEkljuNLge8AV9I/\nuztgOTABGA8sXcv1Zeu4NtQxBq6vqF3TIPKzZwLQ587N66W6w46UPjCF/D2/I/PCX0LHkSRJkrSR\n1vlO74AkST4Vx/FE4AH6360dMB5YQn+JXf0g2HFruL6ma6uP0beOMcYDi1a7NqiurhY+l7ZSgQdm\nwy67sMW7dgqdZq0ytV+51N3f1ec+Aw/ez+a/vhH++Z+DRqm7n420gXyW1Qx8jtUsfJbVagbbyOoU\nYOskSc4HeoAK8Ic4jj+YJMnvgcOA39Bfhr8ex3GB/lI8if5NrmbSvzHVg7V7706SZHkcx31xHO8A\nLAQ+AvxrbexvxHH8TWAbIEqSZHEcxwNjXDYwxlC+sUWLlg/9p9Bkco89wqbLltFz5NGsqOOfQ7Xa\nv1HUokUrAyd5s+jDh7F5oUDlp5fy+mfOhiga/ItGQFfXuJZ+jtU8fJbVDHyO1Sx8ltUM1vcXN4PN\n9F4LXBrH8e+BPPC3wALgh7WNquYB19Z2b/4ucA/9S6a/lCRJMY7ji4DL4ji+h/5dn0+qjXsm/Uul\ns8DtSZI8CFC7b1ZtjHNq955XG+M0+md7B8bQWuRn9S9tLk11E6sNkU7YhOKhR9D+y+vJPfJHyu+b\nHDqSJEmSpA0UpWkaOsNISFv5N1jjP3UyhVtvYvFDc6hus23oOGs1eXL/TO9DD9XXTC9A2523MeHk\n4+j57OmsOP+bQTL4m1g1C59lNQOfYzULn2U1g66uceu1FHPQjazUYNKU/OyZVLbepq4Lb73rO+Ag\nqlt0UbjhWujrCx1HkiRJ0gay9DaZbLKAzGuvubR5Y+Vy9B5zHJnXXqPtrjtCp5EkSZK0gSy9TWbV\n+7z77Bc4SePrPb7/9fH2X1wVOIkkSZKkDWXpbTID5/OW9namd2NV3vVuyru9i7a7bidavDh0HEmS\nJEkbwNLbTNKU/Kz7qHZtSWWH+j2ft5H0Hn8SUalE4cZrQ0eRJEmStAEsvU0k8+xCsi+9SN/e+wY7\nW7bZ9E6bTprN0n7N1aGjSJIkSdoAlt4mkp99H+DS5uGUTpxI3wEHkn/4j2SfSELHkSRJkrSeLL1N\npO2+ewEoTd03cJLmUjzuRABneyVJkqQGZOltIvlZ91HdZBMqk3YLHaWpFA85nOr4CRRm/BwqldBx\nJEmSJK0HS2+TyPzlz2Sfe7b/fN6Mf63DqqOD4sePJvviC+TvvTt0GkmSJEnrwXbUJFa9z+vS5hHR\ne5xn9kqSJEmNyNLbJPKz3MRqJJX3mkJl+3dSuPUmohXLQ8eRJEmSNESW3iaRn3UvaecYyu9+T+go\nzSmK6D3uRKLubtpu/lXoNJIkSZKGyNLbBKJFi8g9+QSlvaZALhc6TtPqnX4C4C7OkiRJUiOx9DaB\nVe/z7rNf4CTNrbrd9vTtvS9t995N5vnnQseRJEmSNASW3iaQnz0TgD43sRpxq87svfYXgZNIkiRJ\nGgpLbxPIz7qPtFCg/L49Q0dpesUjjyJtb6dwzdWQpqHjSJIkSRqEpbfBRUuXkJv7OKXJH4BCIXSc\nppeOG0/x8I+Se/opcg89GDqOJEmSpEFYehtc/v5ZRGlKaapHFY2WVWf2uqGVJEmSVPcsvQ3ujfN5\nfZ93tJQ+eACViW+jcON1UCyGjiNJkiRpHSy9DS4/eyZpLkfp/XuFjtI6slmKxx5PZskS2u64LXQa\nSZIkSetg6W1kK1aQe/QRyu95H4wZEzpNS+kd2MX5mqsCJ5EkSZK0LpbeBpZ/6EGictmlzQFUJu1G\naY/30vabO4kWLQodR5IkSdJaWHobWH5W//m8pb3dxCqE4nEnEJXLtN8wI3QUSZIkSWth6W1g+Vkz\nSaOI0l5TQ0dpSb1HTyfN5Shc8/PQUSRJkiSthaW3UfX2kv/jHyjv/m7SCZuETtOS0q4u+g48mPxj\nj5CdPy90HEmSJElrYOltUPlH/khULFLax/d5Q/LMXkmSJKm+WXob1Kr3eadaekPq+8ihVDfZhMK1\nv4ByOXQcSZIkSW9h6W1Qb5ReN7EKqlCgeNQxZF9+ifzdvwudRpIkSdJbWHobUalE/oH7Ke8Sk26x\nReg0La/3+IElzp7ZK0mSJNUbS28Dyj3+KFH3Spc214nynu+nvONOFG69mWj5stBxJEmSJK3G0tuA\n8rPuAzyft25EEcXjTyLq7aXwqxtDp5EkSZK0GktvA8rPrr3Pu7czvfWi99jjSaOIgrs4S5IkSXXF\n0ttoqlXys2dR2W57qu/YKnQa1VS33obSfvvTNmsmmT89GzqOJEmSpBpLb4PJzp9HZukSZ3nrUO/0\nEwBon/HzwEkkSZIkDbD0Npj8rHsB6LP01p3iRz9O2tlJ+zVXQ5qGjiNJkiQJS2/DaRvYxMrzeevP\n2LEUjziS7LMLyT1wf+g0kiRJkrD0NpY0JT9rJpW3vZ3q9u8MnUZr0Hvs8QC0X39N4CSSJEmSwNLb\nULJPP0Xm1UWU9tkXoih0HK1B6W8+SHWLLgo33QilUug4kiRJUsuz9DaQ/KzaUUVTfZ+3buVy9B41\njcyrr5K/53eh00iSJEktz9LbQPL39W9i5c7N9a149LEAtF83I3ASSZIkSZbeRlF7n7e6+eZUdolD\np9E6lN+/F5Vtt6Pt1puhpyd0HEmSJKmlWXobROb558i+8BdKU/bxfd56F0X0TptOZuUK2u68LXQa\nSZIkqaVZehvEqvd59/aookbgEmdJkiSpPlh6G0R+du183n32C5xEQ1GZtBvlSbvT9ps7iJYuCR1H\nkiRJalmW3gaRnzWT6rjxlHd7V+goGqLeY6YT9fVRuOWm0FEkSZKklmXpbQCZl18i98zTlKZMhWw2\ndBwNUfGoYwAouMRZkiRJCsbS2wA8n7cxVbfdjtIHppC/9/dkXn4pdBxJkiSpJVl6G8Cq93mnuolV\no+mdNp0oTSn88vrQUSRJkqSWZOltALnHHiXNZinv8Z7QUbSeikceTZrNUrjeJc6SJElSCJbeelet\nkps3l8rOu0B7e+g0Wk9pVxel/T9E/o8PkXnm6dBxJEmSpJZj6a1zmT89S9S90l2bG1jvtOkAtN9w\nbeAkkiRJUuux9Na53Nw5AJbeBtZ3+EdJ29v7lzinaeg4kiRJUkux9Na53NzHASi/y9LbqNJx4+k7\n+FByTz5Bds7joeNIkiRJLcXSW+cGZnoru787cBJtjFVLnN3QSpIkSRpVlt46l5s3h+oWW1DdcmLo\nKNoIfQceTHX8BAo3XgfVaug4kiRJUsuw9NaxaNlSss/9ifJu74YoCh1HG6O9neIRHyP7lz+Tf2B2\n6DSSJElSy7D01rHsvHkAlHf3fd5mUKwtcS5c5xJnSZIkabRYeuvYqk2sLL1NobTf/lS7tqRw0w1Q\nKoWOI0mSJLUES28dy83zuKKmks3Se9Q0Mq+9Rtvvfxs6jSRJktQSLL11LDf3cdJ8nsoucegoGiYu\ncZYkSZJGl6W3XlUq5ObPo7JzDG1todNomJT3fD+V7ban8OtboLs7dBxJkiSp6Vl661R24TNEPT2+\nz9tsoojeaccSda+kcMevQ6eRJEmSmp6lt05lB97n3f3dgZNouBWnHQdA4XqXOEuSJEkjLbeuP4zj\nOA/8BNgOKADnAX8GbgaeqN32/SRJZsRxfBpwOlAGzkuS5JY4jjuAK4AuYDlwapIkr8ZxPBX4du3e\nO5Ik+Vrt874KHF67/sUkSR6M43gL4CqgHXgB+HSSJD3D9hOoU+7c3Lwq8a6Ud383bb+5k+j110g3\n3Sx0JEmSJKlpDTbTezKwKEmS/YFDgQuBPYFvJUlyQO0/M+I4fhtwLrAPcAhwfhzHbcBZwKO1r78c\n+HJt3IuBE5Mk2Q+YEsfxe+M43hPYP0mSKcAJtc8C+ApwRW2Mh4Ezhudbr2+5ue7c3Mx6p00nKpUo\n3HJT6CiSJElSUxus9M6gv3QO3FsCJgNHxHH8+ziOfxTH8VhgL2BmkiSlJEmWAU8BewD7ArfVvv42\n4KA4jscBbUmSLKxdvx04qHbvHQBJkjwP5GqzvKuP8evavU0vN3cOlS0nknZ1hY6iEVA8+hjAJc6S\nJEnSSFtn6U2SZGWSJCtqRXUG8H+AB4C/T5Lkg8AzwFeBccDS1b50OTABGA8sW8e1t15f2xgD11fU\nrjW16PXXyP7lz1Rc2ty0qltvQ2nK3uRn3kPmxRdCx5EkSZKa1jrf6QWI43gb4HrgwiRJfh7H8YQk\nSQZK6A3A94C76S++A8YBS+gvt+PWcQ36S+0SoG8dY4wHFq12bVBdXeMGv6lezX0IgLYPTG7s72MQ\nmdqvXJr5e1ynU0+B+2ex+V23wN/93RpvadmfjZqOz7Kagc+xmoXPslrNYBtZTaR/yfHZSZL8T+3y\nbXEcfyFJkgfpX2r8B/pnf78ex3GB/g2nJgFzgJn0b0z1IHAYcHeSJMvjOO6L43gHYCHwEeBfgQrw\njTiOvwlsA0RJkiyO43hgjMsGxhjKN7Zo0fIh/gjqT8d9DzAWWPbOXSg28PcxmGp1DACLFq0MnCSM\n6EOHsnk2S/lnV7DklNP+6s+7usY19HMsDfBZVjPwOVaz8FlWM1jfX9wMNtP7JfqXE38ljuOBd3u/\nCPx3HMcl4EXg9NoS6O8C99C/ZPpLSZIU4zi+CLgsjuN7gCJwUm2MM4ErgSxwe61AU7tvVm2Mc2r3\nnlcb4zT6Z3sHxmha2bkeV9QK0i22oO9DH6bwmzvJPv0klR13Dh1JkiRJajpRmqahM4yEtJF/g7XJ\nwR8kN38ury58EfL50HFGzOTJ/TO9Dz3UmjO9AIUZP2f8Oaez8h/+he5/+Jc3/Zm/iVWz8FlWM/A5\nVrPwWVYz6OoaF63P/YPt3qzRVi6TWzCPcjypqQuv+vUddgRpezuFG66F5vwFlCRJkhSUpbfOZJ9+\niqhYdOfmFpGOHUfxkMPJPfUkuccfDR1HkiRJajqW3jqTm/s4AGVLb8soTpsOQOE6z+yVJEmShpul\nt87k5s0F3MSqlfR9+CCqEzahcON1UK2GjiNJkiQ1FUtvnckOzPTutnvgJBo1hQLFjx5J9sUXyM++\nL3QaSZIkqalYeutMbu4cKm9/B+lmm4eOolHkEmdJkiRpZFh660i0eDHZl170fd4WVNpnPyoT30bh\nphugry90HEmSJKlpWHrryMAmVhXf52092SzFo6aRWbKEtt/9JnQaSZIkqWlYeutIbu4cwJ2bW9Wq\nJc7Xu8RZkiRJGi6W3jryxnFFzvS2ovJ796Sy/Tsp3HYrrFgROo4kSZLUFCy9dSQ7by5pRweVHXYM\nHUUhRBG906YTdXdTuP3W0GkkSZKkpmDprRelErknFlDedRJks6HTKJBVS5xvuDZwEkmSJKk5WHrr\nRPbJJ4j6+ijv5vu8rayyS0zp3e+h7bd3weLFoeNIkiRJDc/SWyfeeJ/X0tvqikcfS1Quw7XO9kqS\nJEkby9JbJwZ2bva4IhWPPqb/f1x9ddggkiRJUhOw9NaJVTO9u+0eOIlCq261NX177wu//z2Zv/w5\ndBxJkiSpoVl660Ru3lwq22xLOmGT0FFUB1ZtaHXj9YGTSJIkSY3N0lsHoldeIbPoFd/n1SrFj30c\ncjkK110TOookSZLU0Cy9dcClzXqrdLPN4dBDyc95jGyyIHQcSZIkqWFZeuvAwCZWZTex0upOOgmA\nwg0zAgd+9V3MAAAgAElEQVSRJEmSGpeltw4MzPRWXN6s1R15JGnnGNqvmwFpGjqNJEmS1JAsvXUg\nN28OaecYKtvvEDqK6smYMRQPO4Lsn54l99CDodNIkiRJDcnSG1qxSPbJJyhP2g0y/nXozYrH1HZx\nvt4lzpIkSdKGsGUFln0iISqXfZ9Xa9T3wQ9T3Xxz2m+8Hsrl0HEkSZKkhmPpDcydm7VO+TzFI48m\n8+oi8nf/LnQaSZIkqeFYegNz52YNpnfacQC0u8RZkiRJWm+W3sBy8/pLb2V3Z3q1ZuUP7EVlm21p\nu+Um6OkJHUeSJElqKJbekNKU3NzHqWy3PenYcaHTqF5lMhSnTSezcgVtd94WOo0kSZLUUCy9AWVe\nfonMa6+5tFmD6p3Wv4tz+7XXBE4iSZIkNRZLb0CrNrHa/V2Bk6jeVSbtRnnS7rT95g6iJa+HjiNJ\nkiQ1DEtvQNmBTax2s/RqcL3HHEdUKlG4+Veho0iSJEkNw9IbkDO9Wh/Fo48BoOAuzpIkSdKQWXoD\nys2dQ3XsOKrbbhc6ihpAdZttKU3Zm/zMe8i8+ELoOJIkSVJDsPSG0tND9qknqey2O2T8a9DQ9E6b\nTpSmFG64LnQUSZIkqSHYtgLJPbGAqFp1abPWS/HIo0lzOZc4S5IkSUNk6Q0kN7CJlccVaT2km29O\n3wEHkn/sEbJPPhE6jiRJklT3LL2BZN3EShuoWDuzt3CdZ/ZKkiRJg7H0BpKbO4c0iijvulvoKGow\nxUOPIO3spP36GZCmoeNIkiRJdc3SG0Kakps7h8o7d4AxY0KnUaMZM4bioUeQfXYhuYcfCp1GkiRJ\nqmuW3gAyf/kzmaVLqPg+rzZQ8RiXOEuSJElDYekNIDdvYBMr3+fVhun70IFUN9uM9huvh3I5dBxJ\nkiSpbll6A3DnZm20fJ7ikUeTWfQK+XvvDp1GkiRJqluW3gCyc53p1cbrnXYcQP+GVpIkSZLWyNIb\nQG7u41QnbEJ1q61DR1EDK+81hcrW29B286+gpyd0HEmSJKkuWXpH28qVZJ95mvJuu0MUhU6jRpbJ\nUJw2ncyK5bTddXvoNJIkSVJdsvSOstyCeURp6tJmDYveaf27OLdf5xJnSZIkaU0svaMsN28ugMcV\naVhUdtud8qTdaLvrdqIlr4eOI0mSJNUdS+8oy819HHATKw2f3mOOI+rro3DLTaGjSJIkSXXH0jvK\ncnPnkGYylONJoaOoSRSPOgaAgrs4S5IkSX/F0jua0pTsvLlUdtwJOjpCp1GTqG67HaW9ppK/924y\nL70YOo4kSZJUVyy9oyjz3J/ILF/m0mYNu95p04nSlMIN14WOIkmSJNUVS+8oys2dA0DZTaw0zIof\nn0aay7nEWZIkSXoLS+8oys3rL70VZ3o1zNLNN6fvQx8m/+jDZJ96MnQcSZIkqW5YekeRM70aScXa\nmb3O9kqSJElvsPSOotzcx6luthnVt709dBQ1oeKhR5B2dlK47hpI09BxJEmSpLpg6R0l0YrlZJ9d\nSHm3d0EUhY6jZjR2LMVDDye38Blyj/wxdBpJkiSpLlh6R0l23jwAd27WiHKJsyRJkvRmlt5Rkpv7\nOOD7vBpZfR86kOqmm/YfXVSphI4jSZIkBWfpHSW5eXMBd27WCGtro3jkNLKvvEz+3rtDp5EkSZKC\ns/SOktzcx0lzOcq77Bo6ippc8RiXOEuSJEkDLL2joVolN28ulZ13gUIhdBo1udJeU6lstTWFm38F\nvb2h40iSJElBWXpHQebZhUTdK/t3bpZGWiZDcdp0MsuX0Xbn7aHTSJIkSUFZekdBbu4cAEuvRk1v\nbRfndpc4S5IkqcXl1vWHcRzngZ8A2wEF4DxgPnApUAXmAOckSZLGcXwacDpQBs5LkuSWOI47gCuA\nLmA5cGqSJK/GcTwV+Hbt3juSJPla7fO+Chxeu/7FJEkejON4C+AqoB14Afh0kiQ9w/gzGHFv7Nxs\n6dXoqOy2O+VdJ9F21+1ES5eQTtgkdCRJkiQpiMFmek8GFiVJsj9wKHAh8C3gS7VrEfDxOI7fBpwL\n7AMcApwfx3EbcBbwaO3ey4Ev18a9GDgxSZL9gClxHL83juM9gf2TJJkCnFD7LICvAFfUxngYOGM4\nvvHRNLBzs8cVadREEcVp04mKRdpuvTl0GkmSJCmYwUrvDPpL58C9JWDPJEkGzkL5NXAQ8AFgZpIk\npSRJlgFPAXsA+wK31e69DTgojuNxQFuSJAtr12+vjbEvcAdAkiTPA7naLO/qYwx8XkPJzZtDdYsu\n0okTQ0dRC+k9+lgA2q+9JnASSZIkKZx1lt4kSVYmSbKiVlRn0D9Tu/rXLAcmAOOBpWu5vmwd14Y6\nxsD1FbVrDSNatpTsc39yabNGXXW77SntNZX8vb8n8+fnQ8eRJEmSghh0I6s4jrcBfgtcniTJ1fS/\nyztgPLCE/hI7brXr49ZwfU3XhjrG+LdcaxgubVZIvSd+gihNaf/5laGjSJIkSUEMtpHVRPqXHJ+d\nJMn/1C4/HMfxB5Mk+T1wGPAb4AHg63EcF+jfcGoS/ZtczaR/Y6oHa/fenSTJ8jiO++I43gFYCHwE\n+FegAnwjjuNvAtsAUZIki+M4HhjjsoExhvKNdXWNG/ym0fCnJwHonPp+OuslU53I1H7lUjd/V3Vo\no382n/0kfPmfGHPNVYw5/9/e+KFLo8x/ztUMfI7VLHyW1WrWWXqBL9G/nPgrcRwPvNv7t8B3axtV\nzQOure3e/F3gHvpnj7+UJEkxjuOLgMviOL4HKAIn1cY4E7gSyAK3J0nyIEDtvlm1Mc6p3XtebYzT\ngEWrjbFOixYtH8ptI27s/X+gA3htm52o1EmmelGtjgFg0aKVgZPUp66uccPyHI896hg6rrycJdff\nTOmDBwxDMmn9DNezLIXkc6xm4bOsZrC+v7iJ0jQdoShBpfXyD/Mmhx5A7vHHeHXhi9DWFjpOXZk8\nub/0PvSQpXdNhutfSrkH72fTIw6m96hpLL/k0o0PJq0n/w+WmoHPsZqFz7KaQVfXuGh97net40iq\nVMjNn0dll10tvAqm/P69KO8SU7j1ZqLXFoeOI0mSJI0qS+8Iyi58hqinx52bFVYU0XvyqUR9fbRf\n5/FFkiRJai2W3hGUm/s44M7NCq93+gmk+TztV1wOzflKgyRJkrRGlt4RlJ03B4DybrsHTqJWl26x\nBX2HHE5u/lxyj/wxdBxJkiRp1Fh6R1Bu/nwAypMsvQqv5xOfBKD9yp8FTiJJkiSNHkvvCMotmEd1\n881Ju7pCR5EoffDDVLbamsL1M2ClO2ZLkiSpNVh6R8rKlWT+9Gz/LG+0XjtqSyMjm6X3+JPIrFhO\n4aYbQ6eRJEmSRoWld4TknlhAlKaUd50UOoq0Su9Jp5BGEe1XucRZkiRJrcHSO0KyC/rf563sulvg\nJNIbqttuR+lvPkTb7PvIPvVk6DiSJEnSiLP0jpDc/HkAlCdZelVfek8+BcDZXkmSJLUES+8Iyc2f\nC0DF5c2qM8XDPkp1001p/8VVUCqFjiNJkiSNKEvvCMkumE9l621Ix40PHUV6s/Z2eo89nsyiV2i7\n8/bQaSRJkqQRZekdAdFri8m+/JKbWKlu9Z5UO7P3qssDJ5EkSZJGlqV3BOQGNrGatHvgJNKaVXZ/\nF6X37UnbXXeQefGF0HEkSZKkEWPpHQHZgU2snOlVHes96ZNE1Wr/u72SJElSk7L0joCBmd6yxxWp\njhWPPoa0o6N/F+dqNXQcSZIkaURYekdAbsE80myWys67hI4irVU6fgLFI48m++xC8rNmho4jSZIk\njQhL73BLU7Lz51HZYUdobw+dRlqn3pNrG1pdcVngJJIkSdLIsPQOs8yLL5BZtpSKS5vVAEpT9qa8\n404UbvkV0dIloeNIkiRJw87SO8yyC9zESg0kivo3tOrtpXDdjNBpJEmSpGFn6R1muXm10utxRWoQ\nvcedSJrN0n6lZ/ZKkiSp+Vh6h1muNtNbmeRMrxpDOnEifQcfSv7xR8k9/mjoOJIkSdKwsvQOs+yC\n+aSFApXtdwgdRRqy3k/UNrRytleSJElNxtI7nCoVck8soLzLrpDNhk4jDVnfhw+mMvFtFK69Bnp6\nQseRJEmSho2ldxhln32GqLeXyiR3blaDyeUonnAymWVLKdzyq9BpJEmSpGFj6R1G2fnzASh7XJEa\nUM+JnwCg/aqfBU4iSZIkDR9L7zByEys1suoOO9K379/Qdu/dZBY+EzqOJEmSNCwsvcMoN9/jitTY\nek86BYD2q68InESSJEkaHpbeYZRdMI/q+AlU3/6O0FGkDVL86Mepjp9A+8+vhHI5dBxJkiRpo1l6\nh0tvL9lnnqay6ySIotBppA3T0UHxmOlkX3qRtt/eGTqNJEmStNEsvcMk+9STRJWKm1ip4fWePHBm\nrxtaSZIkqfFZeodJbv5cAMoeV6QGV97jvZTe/R7a7ryN6OWXQ8eRJEmSNoqld5jkFvQfV+QZvWoG\nvSedQlQu037N1aGjSJIkSRvF0jtMsrXjisq7elyRGl/xmOmkhQLtV10OaRo6jiRJkrTBLL3DJLdg\nPpWJbyPdbPPQUaSNlm6yKcWPfpzc00+Ru3926DiSJEnSBrP0DoNo+TKyzz/Xv3Oz1CQGNrTquPKy\nwEkkSZKkDWfpHQbZ2vu87tysZlLaZz8q221P4aYbiZYvCx1HkiRJ2iCW3mHgJlZqSpkMvSd/kqi7\nm8IN14VOI0mSJG0QS+8wyHpckZpU7/EnkWYytLvEWZIkSQ3K0jsMBmZ6y7vsGjiJNLyqb38HfQce\nTP7hP5KdNzd0HEmSJGm9WXqHQW7BPCrbbQ9jxoSOIg273pNPBeg/vkiSJElqMJbejRQtWkTm1Vcp\nT9o9dBRpRPQdfAjVri1p/8XVsHJl6DiSJEnSerH0bqTcqvd5Pa5ITSqfp+fUz5BZuoT2a64OnUaS\nJElaL5bejZRbMA+AiscVqYn1nPpZ0nyejh9dDNVq6DiSJEnSkFl6N5Jn9KoVpBMnUjz6WHJPPkH+\nd78NHUeSJEkaMkvvRsrNn0uaz1PZcafQUaQR1XP6WQB0XvL9wEkkSZKkobP0boxqleyCBVR22hna\n2kKnkUZUeY/3UpqyN22/vYvsk0+EjiNJkiQNiaV3I2T+/DyZlSso7+omVmoN3aefDdD/bq8kSZLU\nACy9G2HVJlYeV6QW0XfYEVS23ob2X1xFtOT10HEkSZKkQVl6N0J2fn/pdRMrtYxcjp7PnE7U3U37\nlT8LnUaSJEkalKV3I+RWlV6XN6t19H7ik6SdnXT85BIol0PHkSRJktbJ0rsRcgvmk3aOobrtdqGj\nSKMm3WRTeo87kezzz9F2262h40iSJEnrZOndUKUS2ScTyrvuChl/jGotPaf1H1/U4fFFkiRJqnO2\ntQ2UfeZpolLJ93nVkio770LfAQfSNvs+co8/GjqOJEmStFaW3g20audm3+dVi+o+o3Z80SUXBU4i\nSZIkrZ2ldwOt2rnZ44rUokofOpDyTjtTuOFaoldeCR1HkiRJWiNL7wbKeVyRWl0mQ8/nziTq66Pj\nsh+HTiNJkiStkaV3A2UXzKO62WakW24ZOooUTO9xJ1KdsAkdl/4YisXQcSRJkqS/YundEN3dZJ9d\n2D/LG0Wh00jhjB1L78mfJLPoFQo3Xhc6jSRJkvRXLL0bIPfEAqI0pTLJpc1Sz2dPJ81k6PjhxZCm\noeNIkiRJb2Lp3QDZBfMB3+eVAKrbbEvfYR8l/9gj5O6fHTqOJEmS9CaW3g3gJlbSm/XUji/qvOT7\ngZNIkiRJb2bp3QCrzuid5Bm9EkBpyt6U3v0e2m69iczzz4WOI0mSJK1i6d0A2fnzqGy1Nen4CaGj\nSPUhiug57UyiapWOn/wwdBpJkiRpldxQborjeArwH0mSHBDH8fuAm4Ana3/8/SRJZsRxfBpwOlAG\nzkuS5JY4jjuAK4AuYDlwapIkr8ZxPBX4du3eO5Ik+Vrtc74KHF67/sUkSR6M43gL4CqgHXgB+HSS\nJD3D8t1vgOj118i+9CLFAw8OFUGqS8Wjj6X6ta/QfsVlrPz7f4YxY0JHkiRJkgaf6Y3j+B+BHwKF\n2qXJwH8lSXJA7T8z4jh+G3AusA9wCHB+HMdtwFnAo0mS7A9cDny5NsbFwIlJkuwHTInj+L1xHO8J\n7J8kyRTgBODC2r1fAa6ojfEwcMbGf9sbLpcsAKDi+7zSmxUK9Hzqs2SWLqH9mqtDp5EkSZKAoS1v\nfgqYBgwcSDsZOCKO49/HcfyjOI7HAnsBM5MkKSVJsqz2NXsA+wK31b7uNuCgOI7HAW1JkiysXb8d\nOKh27x0ASZI8D+Rqs7yrj/Hr2r3BZAc2sfK4Iumv9Jz6WdJ8no4fXQzVaug4kiRJ0uClN0mS6+lf\nbjzgfuDvkyT5IPAM8FVgHLB0tXuWAxOA8cCydVx76/W1jTFwfUXtWjC5+XMBPKNXWoN04kSKRx1D\n7sknyP/ut6HjSJIkSRu0kdUNSZI8PPC/gffRX2LHrXbPOGDJW66v6Rr0l9o1XV/9/vFvuRZMdsF8\n0kyG8k67hIwh1a2e088CPL5IkiRJ9WFIG1m9xW1xHH8hSZIH6V9q/AfgAeDrcRwX6N9wahIwB5hJ\n/8ZUDwKHAXcnSbI8juO+OI53ABYCHwH+FagA34jj+JvANkCUJMniOI4HxrhsYIyhhOzqGjf4Tesr\nTSGZDzvvTNe2Ww7/+C0mU/uVy4j8XTWJhvzZHLQ/7Lcfbb+9i67Ff4Fddw2dSHWgIZ9l6S18jtUs\nfJbVatan9Ka1/z4TuDCO4xLwInB6kiQr4jj+LnAP/bPHX0qSpBjH8UXAZXEc3wMUgZNWG+NKIAvc\nXivQ1O6bVRvjnNq959XGOA1YtNoY67Ro0fL1+NaGJvPiC2z++usU992fZSMwfqupVvt39120aGXg\nJPWpq2vciDzHo6Ht06cz4d576fnGt1jxn/8VOo4Ca+RnWRrgc6xm4bOsZrC+v7iJ0jQd/K7Gk47E\nP8z5397FJidMY+Xf/zPd//ilYR+/1Uye3F96H3rI0rsmDf0vpXKZzfZ6D5nXFrP4kfmkm2waOpEC\nauhnWarxOVaz8FlWM+jqGhcNftcbNuSd3paVWzAfcOdmaVC5HD2fOZ2ou5v2K38WOo0kSZJamKV3\nPeQW9B9XVJm0e+AkUv3r/cQnSTs76fjJJVAuD/4FkiRJ0giw9K6H7Px5pIUCle3fGTqKVPfSTTal\n97gTyT7/HG2/viV0HEmSJLUoS+9QVSrknlhAeecYchuy6bXUenpO6z++qOOHFwVOIkmSpFZl6R2i\nzJ+eJerpoeL7vNKQVXbehb4DDqRt9n3kHnskdBxJkiS1IEvvEOXm97/PW97V0iutj57Ta7O9lzjb\nK0mSpNFn6R2iNzaxmhQ4idRY+g44iPJOO1O48TqiV14JHUeSJEktxtI7RNmB44qc6ZXWTyZDz+fO\nJOrro+OyH4dOI0mSpBZj6R2i3IJ5VMeNp7rV1qGjSA2n97gTqY6fQMdPfwTFYug4kiRJaiGW3qEo\nFsk+9SSVXSdBFIVOIzWesWPp/cSpZF5dROHG60KnkSRJUgux9A5B9qkniSoVlzZLG6Hns6eTZrN0\nXvBtqFRCx5EkSVKLsPQOwcAmVuXdLL3Shqpusy29x51ILlngbK8kSZJGjaV3CAaOK6o40yttlO7/\n/U+k+Tyd3/h3KJdDx5EkSVILsPQOQXZgpjf2uCJpY1S33Y7ekz9JbuEztF9zdeg4kiRJagGW3iHI\nLZhPtWtL0i22CB1Fanjd/+sfSAsFOr/5H+7kLEmSpBFn6R1EtGI52ef+RHnS7qGjSE2h+vZ30POp\nz5H98/O0X3l56DiSJElqcpbeQWQXzAegPMmlzdJw6f7C35F2dtL53/8PenpCx5EkSVITs/QOIlcr\nvW5iJQ2ftKuLntPOIvvyS3Rc+uPQcSRJktTELL2DWLWJ1SRLrzScus8+l+q48XR+91uwYkXoOJIk\nSWpSlt5BDBxXVN5l18BJpOaSbroZPWeeQ2bxYjp+/IPQcSRJktSkLL2DyM2fR2Xb7WHs2NBRpKbT\nc8bZVDfdlM4LvkO0dEnoOJIkSWpClt51iBYtIvPqIjexkkZIOn4C3ed8kczSJXRcfGHoOJIkSWpC\nlt51yCUDOzd7XJE0Uno+ezrVLbro+MH3iRYvDh1HkiRJTcbSuw65+XMBqOzqTK80YsaMofuL/5vM\niuV0Xvid0GkkSZLUZCy967DqjF6PK5JGVM8nP0Pl7e+g48c/IHr55dBxJEmS1EQsveuQmz+PNJej\nstPOoaNIza29ne6/+0einp7+I4wkSZKkYWLpXZs0Jbtgfn/hbWsLnUZqer0nfoLKttvTcdlPyPzl\nz6HjSJIkqUlYetci8+fnyaxYTtn3eaXR0dbGyr//J6K+Pjr/6/+FTiNJkqQmYeldi9yCeQBUfJ9X\nGjXFY4+nvNPOtF/9MzLPLgwdR5IkSU3A0rsW2fkeVySNulyO7n/4F6JymTHf+s/QaSRJktQELL1r\nMXBckcubpdFV/Pg0ypN2ozDj52SffCJ0HEmSJDU4S+9a5BbMJ+3spLrd9qGjSK0lk2HlP32ZqFql\n8//9e+g0kiRJanCW3jUpl8k+mVCOd4WMPyJptPUddgSl97yP9huvJzt3Tug4kiRJamA2ujXILnyG\nqK+PsptYSWFEESv/5csAjPnPrwcOI0mSpEZm6V2D3NzHAXdulkIqHXAQpb2mUrjtFnIPPxQ6jiRJ\nkhqUpXcNcg/MBqA0+QOBk0gtLIpY+S//F4Ax/3Fe4DCSJElqVJbeNcjfP5u0UKD8nveGjiK1tNK+\nf0Pf33yItv/5DfnZ94WOI0mSpAZk6X2LaPkycnMfp/S+yVAohI4jtbyV//x/AOg8/98gTQOnkSRJ\nUqOx9L5F7sEHiKpVSlP3CR1FElD+wBSKBx9C26yZ5O/+Xeg4kiRJajCW3rfIPzALgPKUqYGTSBrQ\n/U/9s71j/uM8Z3slSZK0Xiy9b5G/fzZpFFF6/16ho0j/f3t3HiZHXeB//F3dPT1X5kjCoIIEBEJt\nRI4kQMKxyCUKiAgiCwIKgizKqiv+BEE8UBQERDwRFEU8FgVBZIEQuREhAaLcVMIVWIEQkkzmnumj\nfn90z2Q4ch813fN+Pc88Xce3qz8NX0I+01XVKstvvyP9B32ImoceIHvrLUnHkSRJUgWx9A43MEDN\nnAcpTNqWuKU16TSShuk+7UziIKDhvG9DsZh0HEmSJFUIS+8wmUf+SdDbS276rklHkfQGhUnvpv/Q\nw6l59GGyN96QdBxJkiRVCEvvMDWzyt/PO83SK41EPV/6MnE6TeP534ZCIek4kiRJqgCW3mFqZpVu\nYmXplUamwlYT6fuPj5GJnqL2T39MOo4kSZIqgKV3UBxTM/s+CptNoLjJpkmnkbQcPV88nbi2lsZv\nfZ2gsyPpOJIkSRrhLL1l6XlzSS1eTG4Xv6pIGsmKm02g53Onkl7wCg3nn5t0HEmSJI1wlt6yoVOb\np++WcBJJK9Pz2S9Q2OJd1P/iZ6SfeDzpOJIkSRrBLL1lXs8rVZC6OrrOvYCgUKDp9FMhjpNOJEmS\npBHK0ltWM+s+iq2tFLYJk44iaRUM7Ls//QceTM2s+6j9w++TjiNJkqQRytILpF55mfT850vX86b8\nRyJViq5zziNuaGDMN79K0L4k6TiSJEkagWx4DD+12et5pUpSfOdmdJ96GqnXXqPx3G8lHUeSJEkj\nkKUXyHg9r1Sxek/+L/ITt6HuisvJPPyPpONIkiRphLH0AjWz7ieurSW/w45JR5G0urJZus77HkEc\nM+b0U6FYTDqRJEmSRpBRX3qDzg4yjz9KbvJUqK1NOo6kNZD79/fSd+hHqJnzEHW//XXScSRJkjSC\njPrSm3lgNkGx6PfzShWu++zvUBzTROO3v0GwaFHScSRJkjRCjPrSWzO7dD1vftr0hJNIWhvFt7+D\nntPOILVkCY3nfD3pOJIkSRohLL2z7icOAnI77ZJ0FElrqffEk8lP2pb6311J5oFZSceRJEnSCDC6\nS+/AADVzHqQwaVviltak00haW5kMnd+9CIAxp38R8vmEA0mSJClpo7r0Zh75J0FvL7npflWRVC3y\n03el7z8+Rs1jj1B3xS+SjiNJkqSEjerSWzPrfsDv55WqTdfXvkWxpZXGc88hWLAg6TiSJElK0Cgv\nvaWbWFl6peoSt7XRfcZXSXV2MObss5KOI0mSpASN3tIbx9TMvo/CZhMobrJp0mkkrWN9n/gkuR0m\nU3fNH6j5+9+SjiNJkqSEjNrSm543l9TixeR28auKpKqUTtP13e8RBwFjvvxFyOWSTiRJkqQEZFZl\nUBiG04DzoijaOwzDrYErgCLwGHBKFEVxGIafAk4C8sA5URTdGIZhPfBboA3oBD4RRdFrYRhOBy4u\nj50ZRdE3y6/zdeDA8vb/jqLogTAMNwJ+D9QBLwHHR1HUu7ZvfOjU5um7re2hJI1Q+Sk70XfMcdT/\n5lfUX3YJvad8LulIkiRJ2sBW+klvGIanAT8HasubLgLOjKJoTyAADgnD8O3AZ4HdgPcD54ZhmAU+\nDTxcHnslMHhx3c+Ao6Io2gOYFobhjmEYTgH2jKJoGnAk8JPy2K8Bvy0f4x/Af67tmwav55VGi+6v\nfI3iuHE0XnAuqZf+lXQcSZIkbWCrcnrz08BhlAouwJQoiu4uL98M7AfsDNwbRVEuiqKO8nO2B3YH\nZpTHzgD2C8OwCchGUfRcefst5WPsDswEiKLoRSBT/pR3+DEGX2+t1cy6j2JrK4VtwnVxOEkjVDxu\nPN1f/SZBTzeNXzsz6TiSJEnawFZaeqMoupbS6caDgmHLnUAL0AwsXc72jhVsW9VjDG7vKm9bK6lX\nXiY9//nS9bypUXtZszRq9B11DLmddqHuL9dRc8dtSceRJEnSBrRK1/S+QXHYcjPQTqnENg3b3vQW\n23ygK7QAACAASURBVN9q2/BjDKzgGM3AwmHbVqqtrWn5O++4GYDaffde8TitV4O/b/DfwfL5z2Yd\n+vmlMHUqrWedBo8+CrW1K3+O1hnnsqqB81jVwrms0WZNSu8/wjB8bxRFdwEHALcBs4Fvh2FYS+mG\nU5Mo3eTqXko3pnqgPPbuKIo6wzAcCMNwS+A5YH/gG0ABOD8MwwuBzYAgiqJFYRgOHuPXg8dYlZAL\nF3Yud1/jX2+nAViy7RTyKxin9atYbARg4cLuhJOMTG1tTSucx1pNm25F4yc/RcMvLqX77G/T84Uv\nJZ1o1HAuqxo4j1UtnMuqBqv7i5vVObc3Lj9+ETg7DMO/UyrN10RRtAD4IXAPpRJ8ZhRF/cAlwLZh\nGN4DnAicXT7GycDvgFnAnCiKHoiiaE75+fcB1wCnlMeeAxwZhuHfgGnAj1frHb6Fmln3E9fWkt9h\nx7U9lKQK0vPlsyi2bUzDxReSemF+0nEkSZK0AQRxHK98VOWJl/cbrKCzg/ETJ5DbZTpL/zLjLcdo\nw5g6tfRJ70MP+UnvW/E3setH7dVX0XzKSfR/4EA6rrwq6TijgnNZ1cB5rGrhXFY1aGtrClY+aplR\ndxenzAOzCYpFv59XGqX6D/8PBnbbg9oZN5GdeXPScSRJkrSejbrSWzO79P28+WnTE04iKRFBQNd5\n3yPOZBhz5unQ25t0IkmSJK1Ho6/0zrqfOAjI7bRL0lEkJaTwb5PoPekzpF94nsbvnL3yJ0iSJKli\nja7SOzBAzZwHKUzalrilNek0khLU/aUzyE/choZLf0r2r17fL0mSVK1GVenNPPJPgt5ecp7aLKmx\nkY5Lf0VcW0vT5z5N6pWXk04kSZKk9WBUld6aWfcDeBMrSQAU3rMdXd84h9SiRTR95lNQKCQdSZIk\nSevYKCu9pZtY5abtmnASSSNF3ydPov8DB5H92900/PCipONIkiRpHRs9pTeOqZl9H4XNJlDcZNOk\n00gaKYKAzot/TGGTTWk4/ztkZs9KOpEkSZLWoVFTetPz5pJavJjcLl7PK+n14nHj6fzZ5RDHNJ/8\nSYL2JUlHkiRJ0joyakrv0KnNXs8r6S3kpu9GzxdPJ/1/L9J06ucgjpOOJEmSpHVg9JVer+eVtBw9\np57GwK67U/u/11N35a+SjiNJkqR1YFSV3mJrK4VtwqSjSBqp0mk6L/kFxbFjGfPVL5N+8omkE0mS\nJGktjYrSm3rlZdLzny9dz5saFW9Z0hoqbrIpnRf/lKCvj+aTjoOenqQjSZIkaS2Miga47NRmr+eV\ntHIDBxxE7wknkYmeYsxXz0g6jiRJktbCqCi9Ga/nlbSaur5+Dvltt6P+N78i+5frko4jSZKkNTQq\nSm/NrPuJa2vJ77Bj0lEkVYq6Ojou+xVxQwNNp36O1Avzk04kSZKkNVD1pTfo7CDz+KPkJk+F2tqk\n40iqIIWJ29D1nQtIdSyl+eQTIJdLOpIkSZJWU9WX3swDswmKRfKe2ixpDfQddQx9h36Emgdn03DB\nuUnHkSRJ0mqq+tJbM7t8Pe90S6+kNRAEdF1wMYUJW9Dwg+9Rc89dSSeSJEnSaqj+0jvrfuIgILfT\nLklHkVSh4uYWOi77JaTTNH3mUwSvvZZ0JEmSJK2i6i69AwPUzHmQwqRtiVtak04jqYLlp+xE9xlf\nI73gFZo+dzIUi0lHkiRJ0iqo6tKbeeSfBL295KZNTzqKpCrQe8rnGNhrH2pvnUn9ZT9NOo4kSZJW\nQVWX3ppZ9wOQm75bwkkkVYVUio4fXUpxozYav/V1Mg//I+lEkiRJWokqL73lm1h552ZJ60j8trfR\n8ZPLCHI5mk46nqCrM+lIkiRJWoHqLb1xTM3s+yhsNoHiJpsmnUZSFcntvS89p3yezHPPMub0LyYd\nR5IkSStQtaU3PW8uqcWLye3i9byS1r3uM75KbspU6q6+ito//k/ScSRJkrQcVVt6h05t9npeSetD\nNkvHz35JsamZptNOJf3Uk0knkiRJ0luo/tLr9byS1pPiFu+i8/s/IujppuXIw0i9/FLSkSRJkvQG\nVV16i62tFLYJk44iqYoNfOhQus76BumX/kXLkR8h6FiadCRJkiQNU52l96WXSM9/vnQ9b6o636Kk\nkaP3s1+g9/gTyTz5OM3HHwMDA0lHkiRJUll1NsK//Q2A3DSv55W0AQQBXd+5gP4DPkj2nrto+vxn\noFhMOpUkSZKo+tLr9bySNpB0mo6fXU5up12o+9Mfafz22UknkiRJElVceuPaWvI77Jh0EkmjSX09\nS3/7B/JbbU3Dj75P3eWXJZ1IkiRp1KvO0vvww+QmT4Xa2qSTSBpl4nHjWXrVtRTbNmbMmV8ie+MN\nSUeSJEka1aqz9BaL5D21WVJCiptvwdLfXw31DTR/+gQys2clHUmSJGnUqs7SC+SmW3olJSe/w2SW\n/vJKyOVoOfYI0k/PSzqSJEnSqFSdpTcIyO20S9IpJI1yuX3eR+f3f0xqyRJajjyMYMGCpCNJkiSN\nOtVZerfbjrilNekUkkT/kUfTffpXSL8wn5aPHU7Q1Zl0JEmSpFGlOkvv3nsnnUCShvScehq9xx5H\nzaMP03zCxyGXSzqSJEnSqFGdpfdsvx9T0ggSBHR99yL63/d+snfcRtOpn4U4TjqVJEnSqFCdpbel\nJekEkvR6mQwdl11BbvIU6v7wexq+e07SiSRJkkaF6iy9kjQSNTay9LdXU9jiXTRedAF1V/4q6USS\nJElVz9IrSRtQ3NZG+1XXUhw/njGnfYHszJuTjiRJklTVLL2StIEVt9yKpb/9I9TW0nzS8WTmPJh0\nJEmSpKpl6ZWkBOSn7kzHz6+Avj5ajv4oqWefSTqSJElSVbL0SlJCBvY/gK7zv09q0SJajzyMYOHC\npCNJkiRVHUuvJCWo7+PH033ql0g//xwtx3yUYGl70pEkSZKqiqVXkhLWc/pZ9B51DDX/mEPrhw8i\nWLAg6UiSJElVw9IrSUkLArou+hG9nziBzOOPMvbg/UnNfz7pVJIkSVXB0itJI0E6Tdf5F9F96mmk\nn3+O1g/uT/qJx5NOJUmSVPEsvZI0UgQBPV8+i65zziO94BVaDzmAzOxZSaeSJEmqaJZeSRphek/6\nDB0/vpSgq5PWj36I7G0zk44kSZJUsSy9kjQC9R9xFB2//j3EMc3HHknttVcnHUmSJKkiWXolaYQa\n2P8Alv7xz8T1DTR9+kTqLr8s6UiSJEkVx9IrSSNYbvputP/5JuKN2mg64//RcOF5EMdJx5IkSaoY\nll5JGuEK223PkhtuoTBhcxrP/w6NXzkNisWkY0mSJFUES68kVYDillvR/r8zyU96Nw2/uJSmz3wK\ncrmkY0mSJI14ll5JqhDFt7+D9j/fRG6nXai79mqaP3EU9PQkHUuSJGlEs/RKUgWJx46j/errGdhn\nP2pvnUnrER8mWNqedCxJkqQRy9IrSZWmsZGlV15F36EfoWb2/bQeciCpBa8knUqSJGlEsvRKUiXK\nZum85HJ6jz+RzBOP0frB/Uk9/1zSqSRJkkYcS68kVapUiq7zvkf3F08nPf95Wj+4P+nHH0s6lSRJ\n0ohi6ZWkShYE9Jz+Fbq+/V3Sry6g9ZADyNx/X9KpJEmSRgxLryRVgd5PfZqOn/6coKeb1sMPpu6K\nyyGOk44lSZKUuMyaPjEMwznA0vLqs8C5wBVAEXgMOCWKojgMw08BJwF54Jwoim4Mw7Ae+C3QBnQC\nn4ii6LUwDKcDF5fHzoyi6Jvl1/o6cGB5+39HUfTAmuaWpGrVf/h/UBy/Ec2fPoGm075Azf1/p/PC\nH8CYMUlHkyRJSswafdIbhmEdQBRFe5d/TgAuAs6MomhPIAAOCcPw7cBngd2A9wPnhmGYBT4NPFwe\neyVwVvnQPwOOiqJoD2BaGIY7hmE4BdgziqJpwJHAT9b0zUpStcvtvS9Lbvsbuak7U3ft1Yz9wN6k\no6eSjiVJkpSYNT29eQegIQzDW8IwvK38Ce2UKIruLu+/GdgP2Bm4N4qiXBRFHcDTwPbA7sCM8tgZ\nwH5hGDYB2SiKBm8/ekv5GLsDMwGiKHoRyIRhOH4Nc0tS1Stu+k7ar7+Znv/8DJm5EWPfvxe1V1+V\ndCxJkqRErGnp7QYuiKLo/cDJwO/esL8TaAGaWXYK9Bu3d6xg26ocQ5K0PNks3d86j6WX/4Y4naH5\nlJMY88XPQ19f0skkSZI2qDW9pncupU9tiaJoXhiGi4DJw/Y3A+2USmzTsO1Nb7H9rbYNP8bAco6x\nQm1tTSsbooSlyr9y8d/V8vnPRmvtk8fAntPh8MOp/82vqH/sn3D11bDVVhs0hnNZ1cB5rGrhXNZo\ns6al93hKpymfEobhJpSK6MwwDN8bRdFdwAHAbcBs4NthGNYCdcAkSje5upfSjakeKI+9O4qizjAM\nB8Iw3BJ4Dtgf+AZQAM4Pw/BCYDMgFUXR4pUFXLiwcw3fmjaUYrERgIULuxNOMjK1tTU5j7VutLwN\n/jKTMV85jfrf/prilKl0/uCnDBx08AZ5eeeyqoHzWNXCuaxqsLq/uFnT05svB5rDMLwbuIpSCf5v\n4OwwDP9OqUxfE0XRAuCHwD2USvCZURT1A5cA24ZheA9wInB2+biDp0rPAuZEUfRAFEVzys+/D7gG\n+MwaZpak0au+nq6LfkTHj35GkM/RcvzRNH71DMjlkk4mSZK0XgVxdX6PY+xvsEa+qVNLn/Q+9JCf\n9L4VfxOr9SX91JM0n3AsmXlzye20Cx0/v4Lipu9cb6/nXFY1cB6rWjiXVQ3a2pqC1Rm/pp/0SpIq\nVOHfJrHkljvpO+xwah6czdh996Dm9luTjiVJkrReWHolaTQaM4bOSy6n87sXEXR10XLUR2g47xwo\nFJJOJkmStE5ZeiVptAoC+o4/kfb/nUlxswk0XnQ+LUccSvDqq0knkyRJWmcsvZI0yuV3nMKSW++m\n/wMHkr3nztLpzvf/PelYkiRJ64SlV5JE3DqWjl//D11f+xap1xbScuhBNFx0PgwMJB1NkiRprVh6\nJUklQUDvf32e9utuoti2MY3nncPYvXal5q47kk4mSZK0xiy9kqTXyU/flSX3zKL3hJNIP/sMrR89\nhKZPHUfqpX8lHU2SJGm1WXolSW8St7TSde6FtM+8k9zUnam7/lrG7bYT9T/5IeRySceTJElaZZZe\nSdJy5bffkfYb/0rn939MXFfLmLPPYuw+u1Nz7z1JR5MkSVolll5J0oqlUvQd/XEW3zeH3o9/kvTc\niNZDD6Lp5BNILXgl6XSSJEkrZOmVJK2SeOw4ui68mPYZt5PbcTJ1117N2F2nUn/pTyCfTzqeJEnS\nW7L0SpJWS37yVNpvvp3O878PmTRjvnoGY/f9dzL335d0NEmSpDex9EqSVl86Td9xJ7D473Po/dix\nZJ58nLEfej9Nnz2Z4NVXk04nSZI0xNIrSVpj8UYb0XXxT1hy41/JvWd76v7we8btNpW6yy+FQiHp\neJIkSZZeSdLay+88jfa/3kXnuRcA0HTGl2jdfy8yD85OOJkkSRrtLL2SpHUjnabvhP9k8d8fou+I\no6h59GHGHrgfHH006Xlzk04nSZJGKUuvJGmdijfemM4fX0r7X2aQ33Y7+P3vGbvHzjSd/EnS0VNJ\nx5MkSaOMpVeStF7kpu/GktvugT/9icK730Pdtdcwds9pNH3qONJPPpF0PEmSNEpYeiVJ608qBYcd\nxpLb/8bSX/8P+fdsT9311zLuvdNpPuHjpB9/LOmEkiSpyll6JUnrXxAwcMBBtN96N0t/8wdyO06m\n9oY/M27v3Wg+7mjSjz6SdEJJklSlLL2SpA0nCBh4/wG033InS39/NbkpU6m96QbG7bsHzR8/iswj\n/0w6oSRJqjKWXknShhcEDOz3ftpvvp32q/5EburO1M64kbH77UnzMUeQ+eecpBNKkqQqYemVJCUn\nCMjt8z7ab7qV9j/+mdwu06mdOYOx++9F88cOJzPnwaQTSpKkCmfplSQlLwjI7bUP7TfcQvs1f2Fg\n+m7U3jqTsR/Yh5YjDyPz4OykE0qSpApl6ZUkjRxBQG7PvVj6lxm0X3cjA7v/O9nbb2XsgfvRetD7\nqL36KujrSzqlJEmqIJZeSdKIlNv931l63Y20X38zA/vsR80Ds2g+5STG7xDS+PWvkH726aQjSpKk\nCmDplSSNaLldd2fpVdeyaPbD9Hz2C5BO03DJjxg3fQothx9C9obrIZdLOqYkSRqhLL2SpIpQ3OJd\ndH/1bBb940k6Lv0lA7vtQfbuO2g54VjGTX43Ded9i9T/vZh0TEmSNMJYeiVJlaW2lv5DD2fpn29i\n8d8eoOekTxP09dF40QWM22k7mo85guxfZ0ChkHRSSZI0Alh6JUkVq7BNSPc532XRIxEdP/gp+R0n\nUztzBi1HH8G4XXag4eILCRYsSDqmJElKkKVXklT5GhroP+oY2mfcwZJb76b32ONJLVpE43e+yfjJ\nk2g68RPU3HMXxHHSSSVJ0gZm6ZUkVZX89jvS9b0fsOjRiM7vXkRhYkjdX66j9SMHM3a3qTRceB7p\neXOTjilJkjYQS68kqSrFTc30HX8iS+78O0v+96/0ffRI0v/3Io3nf4dxu+/E2PfuSsNF55N+Zl7S\nUSVJ0npk6ZUkVbcgIL/LNDp/chmLnniGjp/+nP4PHEj6mXk0nncO43adyti9d6fh4gtJPftM0mkl\nSdI6FsTVeX1TvHBhZ9IZtBJTpzYC8NBD3QknGZna2ppwHqsajNS5HHQsJTvjJmr/ch3ZO24jKH/X\nb267Heg/5FD6D/4wxXdtmXBKjRQjdR5Lq8u5rGrQ1tYUrM74zPoKIknSSBY3t9B/xFH0H3EUwdJ2\nsjffWCrAd95OzaMPM+acb5DbYTL9HzqU/g99mOLmWyScWJIkrQlLryRp1ItbWuk/8mj6jzyaYMli\nsjNuou76a6m5+05qHv4HY771NXJTptL/ocPoP/gQiptNSDqyJElaRZZeSZKGiceOo/+oY+g/6hiC\nxYuovflGaq+/lpp77qJmzkOM+cZXyE2ZysC++zOw977kJ0+FdDrp2JIkaTksvZIkLUc8bjx9R3+c\nvqM/TrBoEbU33UDt9ddR87dSAW684FyKLa3k9tyLgb33ZWCvfSi+c7OkY0uSpGEsvZIkrYJ4/Hj6\njj2OvmOPI1jaTs3dd5G983ayd95G7Q1/pvaGPwOQn7gNA3vvS27vfRmYvjs0NiaaW5Kk0c7SK0nS\naopbWhk4+BAGDj4E4pj0M09Tc+dtZO+4jey999Bw2SVw2SXE2Sy5absNfQpc2PY9EKzWDSclSdJa\n8iuLlBi/smjF/EoBVYtRN5f7+6l5YBbZO26j5o7bqHnskaFdhY3fRm6vfRjYax8G3rsPcVtbgkG1\nOkbdPFbVci6rGqzuVxZZepUYS++K+T8lVYvRPpeDV18le9ftpU+B77yd1GsLh/blt92O3E67kJu6\nE/kpO1HYeiKkUsmF1XKN9nms6uFcVjXwe3olSRpB4o03pv+jR9L/0SOhWCT9+GMMXgtcM/t+Mo8/\nSv2vLweg2NxCfvKUoRKcm7Iz8UYbJZpfkqRKZ+mVJGlDSaUobLc9vdttT+9n/xsGBsg88RiZhx6k\nZs6DZB56gOxdd5C9646hpxQ232JZCZ66M/n3bA+1tQm+CUmSKoulV5KkpGSz5HecQn7HKfSdcBIA\nwZLFZP7xEDUPPUhmTqkM1117DVx7DQBxNkv+PduRm7KsCBe3eJc3yJIkaTksvZIkjSDx2HHk9nkf\nuX3eV94Qk37umdKnwQ89QGbOg2QeeZiaOQ8BlwJQbGklP+ndFCa9m/ykbclP2pbCpEnEzS3JvRFJ\nkkYIS68kSSNZEFDYcmsKW25dui4YoK+PzKMPLyvBjz5Czez7yd7/99c9tfDOzcpleFvy7y6X4a0n\nQk1NAm9EkqRkWHolSao0dXXkd55Gfudpy7b19pKZ+xTpJ58g88TjZJ58nPSTT1D711vgr7cMDYtr\naihsvQ35Se8m/+5thz4dLm76Tk+RliRVJUuvJEnVoL6e/A6Tye8wmf5hm4PXXiPz1BOlElwuw5mn\nniLz5ONw7dVD44rNLRS2CclP3IbCxJDCxG3IT9yG4oTNIeNfFyRJlcv/i0mSVMXijTYit8ee5PbY\nc9nGYpHU/OfJPPnE0CfCmScfL91A68HZr39+Nkthy60oTAzJT5y4rBBvNREaGzfwu5EkafVZeiVJ\nGm1SKYrv2pKBd23JwIEfXLZ9YID0/OdJz41IPz2XzLy5pOdFpOfNI/PUk7zxi5IK79yMwtYTX//p\n8NbbEG+8sadKS5JGDEuvJEkqyWYpTNyGwsRtXr89jkkteKVUhufNJfP0XNJz55J+ei7ZO28ne+ft\nrx/e0EhhwgQKEzanuNkECpttTmGzCRQ3Lz3GrWMtxZKkDcbSK0mSViwIKL79HRTf/g5ye+71+l2d\nHaSfnkd63lzST88jMzci9cJ80i/MJ/PUk295uOKYplIZLpfgoWI8YXOKEyYQt7RugDclSRotLL2S\nJGmNxU3N5CdPJT956pv2BUvbSb3wAukX5pN+cT6pF18g/eILpOfPJ/XC/NLNtN5CsbmlVIQ32YTi\nOzal+I53UHzHJhTeXnosbrJJ6TuI/bRYkrQKLL2SJGm9iFtaKWzXSmG77d9iZ0zQvoT0iy+Qmj+/\nVIYHi/EL80k/9yyZxx9d/rEbGpaV4PJjYZNNKL59k6GSXNz4bd55WpJk6ZUkSQkIAuKx48iPHQfb\n7/jm/XFM0LGU1Msvk3r5JVKvvEz65ZfK6/8i9XJpPfPsM8t9iTiVoti2McWN30a80Ual5cGfYetx\nWxvF8RtZkCWpSvmnuyRJGnmCoPRJcUsrhX+btPxxAwOkFrxSKsOvvET6pX8NLQ8W4/Szz5B69OEV\nvlwcBMTjxlHcqK1chtsobtRGXC7GbDWBTLq+NGbsuNLNuFKpdfymJUnrg6VXkiRVrmyWYvlmWCvU\n3U3qtYWkFr5K6rXXSo8LXyV4bSGphQuH1lOvLiATPfWWhxg7bDkOAuKxY0sFeOw4iuPHlx7HjqM4\nbhzxuPGlfePGURy2TE3NunvvkqRVYumVJEnVr7GRYmMjxc23WPnYgQFSi14j9dpCgoWvknr1VZr7\nOul58WWCJYtJLVpUehxcfv45gkJhlWIUxzQRNzeXf1oolh+XrZeXW0qPpfVlyzQ0eAMvSVpNll5J\nkqThstnSjbDescmybW1NdC/sfOvxcUzQ2UGwaFGpCC9ZPLRcKsmLh0pysGQJqY4OUq+8TDA3IigW\nVytanE6XCvGYZuIxY4jHjKHY1EQ8pmloPW4cU1pvGtw2bN+YMRTLz7VASxotLL2SJElrIwjKn8a2\nUHzXlqv+vDgm6O4i6Ogo/SxdSqpzKcHSpaX1zg5Sg8sd7QQdHaQ6Ogg6lhJ0dpL6vxcJujpXuzgP\nvXwqRdzQSNzYSNzQQNxYKsKDy6XHxmFjGpe7jYZ64rrBnzqor/eaZ0kjhqVXkiQpCUFQ/hS2CTbZ\ndM2OEcfQ00PQ1UWqu5Ogq4ugs/zYNfjYVfokurtraD3V2VFa7u6Gnm6Cnh5SCxcS9HSvcYl+U7Rs\ndlkJrqsnrq8jrquHujriujri+mH7apdtK+2vJ66thfrSY1x+PoPj6uqhrry9vI36ekin10l2SdWl\nIkpvGIYp4KfA9kA/cGIURcv/jgJJkqTRIAigsfSpa4G3rf3x4hj6+gh6ekoFuLu79NjT84blrqFt\n9HQT9PaWfvr6oK/0OPgzuJ56bSFBb3l9HRXrN8XPZEqFuDZLnK2FbLZUmrO1pW01WcjWEte+4XE5\n2wafE9eWj5Ud3Jddtl5bWzpu+TWHL5PN+lVY0ghQKf8VfhjIRlG0WxiG04DvlbdJkiRpXQmC0qer\n9fXE48evn9eIY8jlCPp6obePYKgkl9f7+5at9w1b7u9fVqwHx/T2EvT3v65o09dHMNBf2j4wQKqr\nE/oHStsGBtbPe1rR2w2C0l27MzXEmQzUZIgzNaUynMkQ15SW40wN1GQgPbitBjLp0vLQtnRpufxc\n0unScrq0XDpOaQyZDHH5kUx62XJrI7W9+WXj08vGD40b2pcpv+aw52cyxKnU0OuX1tOvH1feTjrt\ndeMaESql9O4OzACIomhWGIY7JZxHkiRJayIIln1K2txCvCFfO45hoFSAB4twaX2gVKoHi3F5mf4B\ngtxAaUx/P+QGCN74vMHnDI3JEQw+v7xMIQ+5PEE+D/kc5MvLAwOkenpK23J5gkK+9Jx8fr3+Y2he\nr0d/veEFeVkhTkNqsLCXl9Op0vLQenk5nYJUelnBT5W2xcPGlo6dhlRQupY8SJUeU6nS6w/+BKmh\nMcu2p5ftH749nR56jFPpYevl104N258edoxyrvhNxw5K44I3HD+VKh1/MPvgMQfHBcEbHintG779\nTWOCN4xh2bhh42PevO1N44b/VLBKKb3NQMew9UIYhqkoitbPuTGSJEmqPkFQOh25thaa2LCFe3XE\nMRQK5QJcKsnk8gTFQmk5Xy7I+cKw5dL68sZQyBPkcjQ3ZulY0lX6mq3B7fk8FIqvP1ahsGxMPg/F\nQrm0F0rPGdxXLBDkC6W8hfLzBo83OG5oX7G0r5yxtFweN1B+veLg+GIpy9DzCwTxiP03NirEw4t1\nKvX6gj20zrJlgjf80iEgrquj66Ifkdt19w2avVJKbwfQNGzdwitJkqTqFATLTiWmfmjzOql8bU30\nL+/rt0a6wV8GlAt3MKwgUyz9BPGy5eE/pe3xsm2FwpvHlo8zdNzBccVhr1Eu5sHgcnnc69YLBYjL\n24Ydd2jb4LGLxfKxXp+Lcq6gUCi95zguZY/j0r44Lr+n8vOGxhSBwW0se/3B/XFc2j98fByXjvPG\n1xk+7i1fbzD/sP3l9zh07GLxDfvKM3g9XdO/IpVSeu8FDgauDsNwOvDISsYHbW1NKxmipL3wn/1M\nWwAAA3pJREFUwuCS/66Wx3msauFcVjVwHqtaOJeVpNYEXrNSSu91wPvCMLy3vH58kmEkSZIkSZUh\niD03XpIkSZJUpVJJB5AkSZIkaX2x9EqSJEmSqpalV5IkSZJUtSy9kiRJkqSqVSl3b16pMAxTwE+B\n7YF+4MQoip5JNpW06sIwnAacF0XR3mEYbg1cARSBx4BToijyrnMa8cIwrAF+CWwO1ALnAE/ifFYF\nCcMwDfwc2IbSV6OeTOnvFlfgPFYFCsNwY+AhYF9Kc/gKnMuqIGEYzgGWllefBc5lNeZxNX3S+2Eg\nG0XRbsCXge8lnEdaZWEYnkbpL1i15U0XAWdGUbQnEACHJJVNWk1HAwvLc/cDwE8o/XnsfFYl+SBQ\njKJoD+As4Ds4j1Whyr+MvBTopjR3/TuGKkoYhnUAURTtXf45gdWcx9VUencHZgBEUTQL2CnZONJq\neRo4jNJ/tABToii6u7x8M7BfIqmk1Xc18LXycgrI4XxWhYmi6HrgP8urWwBLgKnOY1WoC4BLgJfL\n6/6ZrEqzA9AQhuEtYRjeFobhdFZzHldT6W0GOoatF8qnPEsjXhRF1wL5YZuCYctdQMuGTSStmSiK\nuqMo6grDsIlSAT6L1/+/xvmsihBFUSEMwyuAHwC/wz+XVYHCMDyO0tk3M8ubApzLqjzdwAVRFL2f\n0uUmv3vD/pXO42oqhR1A07D1VBRFxaTCSGtp+NxtAtqTCiKtrjAMNwNuB66Mouh/cD6rQkVRdBwQ\nAr8A6obtch6rUhwPvC8MwzuAHYFfA23D9juXVQnmUi66URTNAxYBbxu2f6XzuJpK773AgQDlj7wf\nSTaOtFb+EYbhe8vLBwB3r2iwNFKEYfg2YCZwWhRFV5Q3O59VUcIwPDYMwzPKq71AAXjQeaxKE0XR\ne6Mo2iuKor2BfwIfB2Y4l1Vhjqd8v6YwDDehVHJnrs48rpq7NwPXUfpN1r3l9eOTDCOtocG7zn0R\n+HkYhlngCeCa5CJJq+VMSqcYfS0Mw8Frez8P/ND5rApyDXBFGIZ3ATWU5vBT+OeyKl+Mf8dQ5bkc\n+FUYhoPF9nhKn/au8jwO4tg7lEuSJEmSqlM1nd4sSZIkSdLrWHolSZIkSVXL0itJkiRJqlqWXkmS\nJElS1bL0SpIkSZKqlqVXkiRJklS1LL2SJEmSpKpl6ZUkSZIkVa3/DzfTehyOyi44AAAAAElFTkSu\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dps = sample_dp.keys()\n", "dps.sort()\n", "dp_dist = [sample_dp[x] for x in dps]\n", "fig, ax = plt.subplots(figsize=(16, 9))\n", "ax.plot(dp_dist[:50], 'r')\n", "ax.axvline(dp_dist.index(max(dp_dist)))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }