Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
A
alpha-mind
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dr.李
alpha-mind
Commits
a9579e26
Commit
a9579e26
authored
Jan 17, 2019
by
Dr.李
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added one more quick start
parent
e229caa7
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
316 additions
and
0 deletions
+316
-0
Quick Start 4 - Step By Step Alpha Modeling.ipynb
notebooks/Quick Start 4 - Step By Step Alpha Modeling.ipynb
+316
-0
No files found.
notebooks/Quick Start 4 - Step By Step Alpha Modeling.ipynb
0 → 100644
View file @
a9579e26
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"> 在本文中,我们给出分步骤使用原始的多因子数据,生成目标权重的例子"
]
},
{
"cell_type": "code",
"execution_count": 136,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"from alphamind.data.dbmodel.models import Uqer\n",
"from alphamind.data.dbmodel.models import Universe\n",
"from alphamind.data.dbmodel.models import Industry\n",
"from alphamind.data.dbmodel.models import IndexComponent\n",
"from alphamind.data import neutralize\n",
"from alphamind.portfolio.linearbuilder import linear_builder\n",
"import sqlalchemy as sa\n",
"from sqlalchemy import outerjoin, and_, select\n",
"from matplotlib import rc\n",
"from matplotlib import pyplot as plt\n",
"\n",
"rc('font', **{'family': 'Microsoft YaHei', 'size': 10})\n",
"rc('mathtext', **{'default': 'regular'})\n",
"rc('legend', **{'frameon': False})"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [],
"source": [
"universe_name = 'zz800'\n",
"trade_date = '2019-01-15'\n",
"factor = 'EPS'\n",
"industry_name = '申万行业分类'\n",
"benchmark_code = 906\n",
"max_active_industry_exposure = 0.\n",
"max_active_single_stock_exposure = 0.02\n",
"con = sa.create_engine(os.environ['DB_URI'])"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 457 ms\n"
]
}
],
"source": [
"%%time\n",
"\n",
"big_table = outerjoin(Uqer, Universe, and_(Uqer.trade_date == Universe.trade_date,\n",
" Uqer.code == Universe.code))\n",
"\n",
"query = select([Uqer.code, getattr(Uqer, factor)]).select_from(big_table) \\\n",
" .where(and_(Uqer.trade_date == trade_date, \n",
" getattr(Universe, universe_name) == 1))\n",
"\n",
"factors = pd.read_sql(query, con=con)\n",
"factors.head()"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 160 ms\n"
]
}
],
"source": [
"%%time\n",
"\n",
"big_table = outerjoin(Industry, Universe, and_(Industry.trade_date == Universe.trade_date,\n",
" Industry.code == Universe.code))\n",
"\n",
"query = select([Industry.code, Industry.industryName1]).select_from(big_table) \\\n",
" .where(and_(Industry.trade_date == trade_date,\n",
" Industry.industry == industry_name,\n",
" getattr(Universe, universe_name) == 1))\n",
"\n",
"industry = pd.read_sql(query, con=con)\n",
"industry.head()"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [],
"source": [
"df = pd.merge(factors, industry, on=['code'], how='inner').dropna()\n",
"industry_dummy = pd.get_dummies(df.industryName1)"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 1 ms\n"
]
}
],
"source": [
"%%time\n",
"\n",
"df['neutralized_factor'] = neutralize(industry_dummy.values.astype(float), df[factor].values).flatten()"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 113 ms\n"
]
}
],
"source": [
"%%time\n",
"\n",
"big_table = outerjoin(IndexComponent, Universe, and_(IndexComponent.trade_date == Universe.trade_date,\n",
" IndexComponent.code == Universe.code))\n",
"\n",
"query = select([IndexComponent.code, (IndexComponent.weight / 100.).label('index_weight')]) \\\n",
" .where(and_(IndexComponent.trade_date == trade_date,\n",
" IndexComponent.indexCode == benchmark_code))\n",
"\n",
"index_components = pd.read_sql(query, con=con)\n",
"index_components.head()"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [],
"source": [
"df = pd.merge(df, index_components, on=['code'], how='inner').dropna()"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [],
"source": [
"er = df.neutralized_factor.values\n",
"lbound = np.maximum(-max_active_single_stock_exposure, -df['index_weight'].values)\n",
"ubound = max_active_single_stock_exposure\n",
"risk_constraints = np.concatenate((industry_dummy, np.ones((len(er), 1))), axis=1)\n",
"industry_low_bounds = -max_active_industry_exposure * np.ones(industry_dummy.shape[1])\n",
"industry_up_bounds = max_active_industry_exposure * np.ones(industry_dummy.shape[1])\n",
"risk_target = (np.concatenate((industry_low_bounds, [0.])),\n",
" np.concatenate((industry_up_bounds, [0.])),)"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 8.98 ms\n"
]
}
],
"source": [
"%%time\n",
"\n",
"status, optimized_values, weights = linear_builder(er,\n",
" lbound,\n",
" ubound,\n",
" risk_constraints,\n",
" risk_target)"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {},
"outputs": [],
"source": [
"df['portfolio_weight'] = df['index_weight'] + weights\n",
"df['active_weight'] = weights"
]
},
{
"cell_type": "code",
"execution_count": 137,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x193c2c75f28>"
]
},
"execution_count": 137,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzoAAAHNCAYAAADWuQ48AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XmYHVWd//H3F0IISFiUsEiASAJEgRicwCD7YggqoDgEZZGwics4MwKKGVEWdUBHUBSVRcYEBH5ugLIOWwLIPgEXhAGJkkAyLBEQhbAl+f7+ONXhpulON+m6HVK+X89zn7636ladutX3VtWnzqlTkZlIkiRJUpMst7QXQJIkSZLqZtCRJEmS1DgGHUmSJEmNY9CRJEmS1DgGHUmSJEmNY9CRJEmS1DgGHUmSJEmNY9CRJEmS1DgGHUmSJEmNM2BpL0CHNddcM4cNG7a0F0OSJEnSG9Tdd9/958wc0pv3vmGCzrBhw5g2bdrSXgxJkiRJb1ARMbO377XpmiRJkqTGMehIkiRJahyDjiRJkqTGMehIkiRJahyDjiRJkqTGMehIkiRJahyDjiRJkqTGMehIkiRJahyDTg9mzZrFIYcc0uv3T548mSOOOKJ9C9SDfffdl2eeeWax7znkkEO44IIL+mmJJEmSpP43YGkvwOsxbOKVtc5vxtfe3+N7hg4dyuTJk2stt51+/vOfL/G0f/vb3zj11FM56aSTalwiSZIkqf9Zo6OFnnrqKS688MKlvRiSJElSnxl0ejBjxgxGjBjB5MmT2Xfffdlzzz1Zd911+exnP7vwPT/84Q8ZMWIEo0eP5qabblo4/KmnnuIDH/gAm266KbvtthuPP/445513HnvttRcAN910EzvuuONrynzppZd4y1vewssvvwzAqFGjuPjiiwH493//d84991xeeOEFJkyYwMiRI9lmm2144IEHABg2bBizZs0C4JxzzmGjjTbiXe96Fx/72McWaVL3m9/8hq233pp11lmHiy66iLlz57LzzjvzyCOPMGLECP73f/+35jUpSZIk9R+Dzutw++23M2nSJH7/+99z7rnnMnv2bB588EG+8pWvcNttt3HXXXfx2GOPLXz/UUcdxSc+8QkefPBBxo8fzymnnMLBBx/Mk08+yd13382XvvQlvvvd776mnBVXXJGtttqKu+66izlz5vDcc88xdepUAG699VbGjh3LKaecsjDgnHjiiXz+859fZB4PPPAA//Ef/8Htt9/OHXfcwYwZMxYZf++993Lbbbdx0UUXcfzxx7Pyyitz4403ssEGGzB9+nTe/va3178CJUmSpH6yTF2js7TtuuuuDBkyBIDNNtuMRx55hHvuuYd99tmHtdZaCyidAdxxxx0AXH311dx1110cddRRzJs3j9GjRxMRnH766YwfP54999yTUaNGdVnW2LFjufnmm5k9ezaf/vSn+clPfsJLL73Es88+y4YbbshVV13FX/7yF7797W+zYMECVl999UWmnzJlCh/60IdYe+21Adhvv/248847F44fP348AwYMYIcdduDRRx+tfV1JkiRJS5NB53VYccUVFz5fYYUVmD9/Pi+++CIrrLDCwuEvvfTSwuevvPIKd911F6uuuuoi8xk4cCBz585dZLrOxo4dy7HHHsuMGTM45phjuO6667jiiivYYYcdAJg3bx6XXnopW2yxRZfTz507l4EDBy6yLK0GDRq0yOeQJEmSmsSma320zTbbcMkll/CXv/yF559/fpFum7fffnvOPPNMAJ588knuv/9+5s+fzyc+8Qkuv/xyrr76au67774u5ztq1CgefvhhZs6cyaabbsrOO+/MN77xDcaOHfuaeT/33HPcfffdi0y/9dZbc/HFF/PMM88wd+7cXnUnvdJKK/Hss88yb948MnOJ1ockSZL0RrBM1ej0pjvo/rbddtux3377sdlmm7Huuuuy66678vTTTwPwne98hwkTJnDmmWeyxhprMGnSJM444wze/va3s9VWW3HSSSfx6U9/euH1N51tvfXWC2tedt11V774xS+yyy67AHDiiSdyyCGHsMEGGzB48GBOP/30RabdcccdGT9+PJtvvjnrrbce2267LS+88MJiP8vaa6/Ndtttx7Bhw7j++usZOXJkX1ePJEmSFmNxt0+ZMeiA7ic88dk2LE2zRB1n7iNiOWCzzLx3SecxZsyYnDZtWp+XRV37yle+QmZy/PHHL+1FkSRJUsWg8/pExN2ZOaY37+1V07WI2C8iHo6I6RFxWKdx3wAeBS7tZtrrI+L63pTz9+rAAw9kxIgRCx8TJkzo8zz/+te/LmzONmvWLCZNmsR73/vePs9XkiRJWhb02HQtIgYDpwHbAPOB30TE5Zk5p3rLdcD5dBF0IuIQ4GVgYOdxelU7btI5f/58jjjiCObMmcPKK6/MxIkT2WqrrWovR5IkSXoj6s01OuOAmzJzNkBETAF2A34MkJnXRsSwzhNFxBDgcOArwLE1La96aY011uDXv/710l4MSZIkaanoTdO19YGZLa9nAev2YrrTgS9QanS6FBFHRsS0iJg2Z86c7t4mSZIkSa9Lb4LOQGBBy+sFlCZs3YqIPYDnM/NXi3tfZp6TmWMyc0zHjTglSZIkqa96E3QeA9ZreT2U0vnA4hwKbB8RvwHOBf4xIr61ZIsoSZIkSa9Pb67RuQY4JSLWogSjbYGPL26CzPxwx/OI2Bn4YmYe1YfllCRJkqRe67FGJzOfAI4DbgduBY4Bdo+IzwJExGXAjcAGVffTE9u3uMu+efPmsc8++7DhhhsuvLFoV4YNG8asWbOYNWsWhxxySL8s2wsvvMDee+/NggULFvu+nXfemVtuuaVflkmSJElaEr2p0SEzJwOTuxm3dw/T3kgJQn134mq1zObV+bX/RkuzZs3ipz/9KUcffTQA1113Hc899xwzZ87sYcpi6NChTJ48uY1L+KqVVlqJyy67bImn7/xZJUmSpKWlVzcM1ZLJTKZPn85VV121cNiTTz7JhhtuuBSXqn06f1ZJkiRpaTHo9GDGjBmMHDmSo48+mo022ohtt92WRx99lJkzZ7LHHnswYsQIRo8eza233grA5MmT2Weffdhmm2044IADOPDAA7ntttsYMWIEl19+Occeeyw/+9nP2G233QA444wzGDlyJMOHD+dTn/oUr7zyymvKHzFiBAALFizguOOOY9NNN2X48OGccMIJXS7zI488wvDhwxdOs8Yaa3D33XcDsP/++3P99dfz1FNP8YEPfIBNN92U3XbbjccffxyAAQNereQ76aSTGDZsGO9+97vZf//9+epXv7pw3HXXXcc73/lO1l9/faZMmcJDDz20yGf929/+VsfqlyRJkpaIQacXHnroIXbbbTf+9Kc/MW7cOL70pS9x8MEHc+CBBzJ9+nTOPfdcDjjgAF566SUA7rjjDq688kouuugiLrzwQrbddlumT5/OXnvtxde//nXGjx/PDTfcwNSpU5k0aRJ33XUXf/jDH3jyySc5++yzu12O8847j3vuuYd7772Xe++9l+uuu44rrrjiNe/bYIMNWGGFFZg1axb33HMPq6++OlOnTgXg7rvvZvvtt+eoo47iE5/4BA8++CDjx4/nlFNOWWQe1157Lb/85S/5/e9/zzXXXMPvf//7RcbPmjWL3/72t5x00kmcfPLJbLzxxot81sGDB/d1tUuSJElLzKDTC2uvvTbvf//7ATjooIO46aabuO+++/joRz8KwJgxY3jrW9/Kgw8+CMBOO+3EW97yFiJisfO96qqrOOSQQ1h11VVZfvnl+djHPsaUKVMW+/5PfvKTDBw4kJVXXpkJEyZ0+/6xY8dy8803c8MNNzBx4kSmTp3KzJkzGTZsGIMGDeLqq6/mqKOOYuTIkZx66qnMnj17kemvv/56JkyYwCqrrMKqq67K3nsveinW/vvvD8AOO+zAo4/21Nu4JEmS1L961RnB37sVVlhh4fMXXniB1Vdf/TVNszKT5ZdfHoBVVlmlV/OdN28eyy33atZsnUdf3z927FiuuuoqZs2axY9//GPOPfdcpk6dyu677w7AK6+8wl133cWqq67a5fRz585l4MCBC1+/8sorrLTSSgtfDxo0CCjrZv78xd4/VpIkSep31uj0wqxZs7jjjjsAOPvss3nve9/LRhttxIUXXgjAPffcwzPPPMMmm2zymmlXWmklnn766S67bB47diyTJk3ir3/9K/Pnz+eHP/whe+yxR7fLMXbsWM4880xefvllXnjhBS644IJu37/LLrtw5513smDBAlZZZRXGjBnDWWedxdixYwHYfvvtOfPMM4HSQcL999+/yPRbb701F1xwAS+++CJ//vOfufjii3tcT4v7rJIkSVJ/WrZqdPqhO+iubLDBBpx99tkceOCBjB49mkmTJnHooYdyxBFHcMIJJzBkyBB+/OMfL1Lz02H06NEMHDiQjTbaiHvvvXeRce973/v47W9/y5ZbbsmAAQP44Ac/yKGHHtrtchx55JE89NBDjBw5koEDB3LkkUcu7NSgs8GDB7PKKquw3XbbAbDrrrtyySWXMGrUKAC+853vMGHCBM4880zWWGMNJk2atMj0BxxwADfeeCPDhw9nxIgR7Ljjjoutberqs3qdjiRJkpaWyMylvQwAjBkzJqdNm7a0F+M1ZsyYwXve8x6mT5++tBdlqTr88MPZaaedOPjgg5f2okiSJDXGsIlXdjtuxqADup9wKVUALG0RcXdmjunNe2261gA777wzI0aMWPj4whe+0Od5zp49m4ceegiA+++/nyuvvJJdd921z/OVJEmS+sOy1XRNXbrxxhtrn+fzzz/P3nvvzfPPP89qq63G2WefzdChQ2svR5IkSWoHg04Phg0b9nfZbG2TTTbhgQceWNqLIUmSJC0Rm65JkiRJahyDjiRJkqTGMehIkiRJahyDjiRJkqTGMehIkiRJahyDjiRJkqTGMehIkiRJahyDjiRJkqTGMehIkiRJahyDjiRJkqTGMehIkiRJahyDjiRJkqTGMehIkiRJahyDjiRJkqTGGbC0F0CSJElS/xg28cpux80YdED3E574bBuWpr2s0ZEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOLUEnYhYLiK2qGNekiRJktRXvQo6EbFfRDwcEdMj4rBO474BPApc2mn41yLigYh4JCJOrW+RJUmSJGnxegw6ETEYOA3YvnqcHBFDWt5yHbBHF5P+EdgMGAnsERHb9X1xJUmSJKlnvanRGQfclJmzM/NxYAqwW8fIzLwW+FvniTLzB5k5PzPnAg8Ab65pmSVJkiRpsXoTdNYHZra8ngWs29sCImIdYEtgahfjjoyIaRExbc6cOb2dpSRJkiQtVm+CzkBgQcvrBcD83sw8IlYCfgp8JjOf6zw+M8/JzDGZOWbIkCGvnYEkSZIkLYHeBJ3HgPVaXg+ldD6wWBGxInAJcH5mXr5kiydJkiRJr19vgs41wLiIWKtqhrYtcO3iJoiIFSg1Ob/IzHP7vpiSJEmS1HsDenpDZj4REccBt1eDjgF2j4jhmXlqRFwGjALeGhHTgXMp1/G8F9gsIj5XTXdoZv6q/o8gSZIkSYvqMegAZOZkYHI34/buZrILlmyRJEmSJKlvenXDUEmSJElalhh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS4xh0JEmSJDWOQUeSJElS49QSdCJiuYjYoo55SZIkSVJf9SroRMR+EfFwREyPiMM6jfsG8ChwaafhO0XEH6rpjqtvkSVJkiRp8XoMOhExGDgN2L56nBwRQ1rech2wR6dpAjgX2BfYHJgQEaPrWmhJkiRJWpze1OiMA27KzNmZ+TgwBditY2RmXgv8rdM0/wA8kZm/y8zngZ/TKQxJkiRJUrv0JuisD8xseT0LWLeOaSLiyIiYFhHT5syZ04tFkSRJkqSe9SboDAQWtLxeAMyvY5rMPCczx2TmmCFDhnQeLUmSJElLpDdB5zFgvZbXQymdD9Q9jSRJkiTVojdB5xpgXESsFRHrANsC1/YwzR3AphGxaUS8CfgQcEnfFlWSJEmSeqfHoJOZTwDHAbcDtwLHALtHxGcBIuIy4EZgg6r76YmZ+TJwOHA5cB9wRmbO7Gr+kiRJklS3Ab15U2ZOBiZ3M27vbob/N7DJki6YJEmSJC2pXt0wVJIkSZKWJQYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY3Tq6ATEftFxMMRMT0iDus0bvOI+G1EzIyIMyJiuWr4ARHxQETMiIj/aMfCS5IkSVJXegw6ETEYOA3YvnqcHBFDWt7yfWAisBEwCtg7IlYEzgB2BkYC+0fE2+tddEmSJEnqWm9qdMYBN2Xm7Mx8HJgC7AZQBZ63ZebVmTkfuBDYA0jgFWB+VUYAz7Rh+SVJkiTpNXoTdNYHZra8ngWsWz0fCjzSeVxmvgwcAtwE3A58rgpJi4iIIyNiWkRMmzNnzhIsviRJkiS9Vm+CzkBgQcvrBZSamm7HRcTywMeB44HjgE9GxGqdZ5yZ52TmmMwcM2TIkM6jJUmSJGmJ9CboPAas1/J6KPBoD+PGAfMz8+eZeQVwH3BA3xdXkiRJknrWm6BzDTAuItaKiHWAbYFrATLzEeD5iNi5qsX5KPAz4EXg7RGxSkQMBLbAa3QkSZIk9ZMBPb0hM5+IiOMo19oAHAPsHhHDM/NUYAJwHrA6MDkzbwGIiGuA/6WEnquBn7Zh+SVJkiTpNXoMOgCZORmY3M24eyg1Np2HHw0c3YdlkyRJkqQl0qsbhkqSJEnSssSgI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGsegI0mSJKlxBiztBZCWdcMmXtntuBmDDuh+whOfbcPSSJIkCazRkSRJktRABh1JkiRJjWPQkSRJktQ4Bh1JkiRJjWPQkSRJktQ4Bh1JkiRJjWPQkSRJktQ4Bh1JkiRJjWPQkSRJktQ4Bh1JkiRJjWPQkSRJktQ4Bh1JkiRJjWPQkSRJktQ4Bh1JkiRJjTNgaS+AJEmSpOYZNvHKbsfNGHRA9xOe+Gwt5VujI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGsegI0mSJKlxDDqSJEmSGqdXQSci9ouIhyNiekQc1mnc5hHx24iYGRFnRMRy1fAVIuJ7ETG7mnbDdnwASZIkSeqsx6ATEYOB04Dtq8fJETGk5S3fByYCGwGjgL2r4V8CBgAbABsD/1ffYkuSJElS93pTozMOuCkzZ2fm48AUYDeAKvC8LTOvzsz5wIXAHhGxAnAo8LnMnJ+Z8zLzlTZ9BkmSJElaRG+CzvrAzJbXs4B1q+dDgUe6GLcB8DRwekT8ISImRcSgzjOOiCMjYlpETJszZ84SfQBJkiRJ6qw3QWcgsKDl9QJgfg/j1gKGA98C3gGsBhzZecaZeU5mjsnMMUOGDOk8WpIkSZKWSG+CzmPAei2vhwKP9jDuSeBPmXlvZs4DrgA27fviSpIkSVLPehN0rgHGRcRaEbEOsC1wLUBmPgI8HxE7R8TywEeBnwF/AoiILape2N4L/E87PoAkSZIkddZj0MnMJ4DjgNuBW4FjgN0j4rPVWyYAZwAzgJsz85bMTOAw4HzgIeCJ6rkkSZIktd2A3rwpMycDk7sZdw+wRRfDpwFb9mHZJEmSJGmJ9OqGoZIkSZK0LDHoSJIkSWocg44kSZKkxjHoSJIkSWocg44kSZKkxjHoSJIkSWocg44kSZKkxjHoSJIkSWocg44kSZKkxjHoSJIkSWocg44kSZKkxjHoSJIkSWocg44kSZKkxjHoSJIkSWocg44kSZKkxjHoSJIkSWocg44kSZKkxhmwtBdAktQewyZe2e24GYMO6H7CE59tw9JIktS/rNGRJEmS1DgGHUmSJEmNY9CRJEmS1DgGHUmSJEmNY9CRJEmS1DgGHUmSJEmNY/fSkiS9Adk9uCT1jTU6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcQw6kiRJkhqnV0EnIvaLiIcjYnpEHNZp3OYR8duImBkRZ0TEcp3GXx8R19e50JIkSZK0OD0GnYgYDJwGbF89To6IIS1v+T4wEdgIGAXs3TLtIcDLNS6vJEmSJPWoNzU644CbMnN2Zj4OTAF2A6gCz9sy8+rMnA9cCOzRMu5w4PS2LLkkSZIkdaM3QWd9YGbL61nAutXzocAj3Yw7HfgCi6nRiYgjI2JaREybM2dOrxdakiRJkhanN0FnILCg5fUCYP7ixkXEHsDzmfmrxc04M8/JzDGZOWbIkCGLe6skSZIk9dqAXrznMWDnltdDgTtbxq3XadyjwKHAFhHxG2AVYO2I+FZmHtXnJZbUWMMmXtntuBmDDuh+whOfbcPSSJKkZVlvanSuAcZFxFoRsQ6wLXAtQGY+AjwfETtHxPLAR4GfZeaHM/MdmTkaOAK405AjSZIkqb/0WKOTmU9ExHHA7dWgY4DdI2J4Zp4KTADOA1YHJmfmLW1bWkmSJEnqhd40XSMzJwOTuxl3D7DFYqa9EbjxdS+ZJEmSJC2hXt0wVJIkSZKWJb2q0ZGWJV7QLkmSJGt0JEmSJDWOQUeSJElS4xh0JEmSJDWO1+j8HfIaFkmSJDWdNTqSJEmSGscaHUnqJ9amSpLUf6zRkSRJktQ4Bh1JkiRJjbNMNF2zuYckSZKk18MaHUmSJEmNs0zU6EiS3visfZckvZFYoyNJkiSpcazRkSSpF6yxkqRlizU6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcexeWpIkqUZ2RS69MVijI0mSJKlxrNGRJOnvnDUQkprIGh1JkiRJjWPQkSRJktQ4Bh1JkiRJjWPQkSRJktQ4dkbwBuBFoJIkSVK9rNGRJEmS1DgGHUmSJEmNY9CRJEmS1DheoyNJWiZ5faMkaXGs0ZEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY1j0JEkSZLUOAYdSZIkSY0zoDdvioj9gK8D84GTM/OHLeM2By4EVgcuA/4tMxdExNeADwIrAz/NzM/WvfCSJEnqX8MmXtntuBmDDuh+whOfbcPSSN3rsUYnIgYDpwHbV4+TI2JIy1u+D0wENgJGAXtXw/8IbAaMBPaIiO1qXG5JkiRJ6lZvmq6NA27KzNmZ+TgwBdgNoAo8b8vMqzNzPqVmZw+AzPxBZs7PzLnAA8Cb2/IJJEmSJKmT3gSd9YGZLa9nAetWz4cCj3QzDoCIWAfYEpjaecYRcWRETIuIaXPmzHk9yy1JkiRJ3epN0BkILGh5vYByrU5P44iIlYCfAp/JzOc6zzgzz8nMMZk5ZsiQIZ1HS5IkSdIS6U3QeQxYr+X1UODRnsZFxIrAJcD5mXl53xdVkiRJknqnN0HnGmBcRKxVNUPbFrgWIDMfAZ6PiJ0jYnngo8DPImIFSk3OLzLz3DYtuyRJkiR1qcegk5lPAMcBtwO3AscAu0dER3fRE4AzgBnAzZl5C/Bh4L3A5yJievXYoQ3LL0mSJEmv0av76GTmZGByN+PuAbboNOwC4II+LpskSZIkLZFeBR1JkiRpafAGpVpSBh1JkiSpYrBqjt50RiBJkiRJyxRrdKRliGeZJEmSescaHUmSJEmNY9CRJEmS1DgGHUmSJEmN4zU6krrlNUGSJGlZZY2OJEmSpMYx6EiSJElqHIOOJEmSpMbxGh21ndd5SJIkqb9ZoyNJkiSpcQw6kiRJkhrHoCNJkiSpcQw6kiRJkhrHoCNJkiSpcex1TdLfLXsElCSpuazRkSRJktQ4Bh1JkiRJjWPQkSRJktQ4Bh1JkiRJjWPQkSRJktQ4Bh1JkiRJjWPQkSRJktQ43kenC95bQ5IkLSs8bpG6Zo2OJEmSpMYx6EiSJElqHIOOJEmSpMYx6EiSJElqHIOOJEmSpMYx6EiSJElqHIOOJEmSpMYx6EiSJEkWBWSpAAAgAElEQVRqHG8YKkmSGs0bakp/n6zRkSRJktQ4Bh1JkiRJjWPQkSRJktQ4XqMjSZL6ldfMSOoP1uhIkiRJahyDjiRJkqTGMehIkiRJapxeBZ2I2C8iHo6I6RFxWKdxm0fEbyNiZkScERHLVcN3iog/VNMd146FlyRJkqSu9Bh0ImIwcBqwffU4OSKGtLzl+8BEYCNgFLB3RARwLrAvsDkwISJG17zskiRJktSl3tTojANuyszZmfk4MAXYDaAKPG/LzKszcz5wIbAH8A/AE5n5u8x8Hvh5NVySJEmS2i4yc/FviDgKWDMzj6te/yfwWGZ+KyK2BL6bmdtV494HfByYDOybmQdWwz8FbJqZ/9Zp3kcCR1YvNwUeXILPsCbw5yWYbklZnuW9Uctr8mezPMuzvKVXXpM/m+VZnuUtvfKWtKwNM3NIz2/r3X10BgILWl4vAOb3MG5x0yyUmecA5/RmQbsTEdMyc0xf5mF5lteE8pr82SzP8ixv6ZXX5M9meZZneUuvvP4oqzdN1x4D1mt5PRR4tIdxi5tGkiRJktqqN0HnGmBcRKwVEesA2wLXAmTmI8DzEbFzRCwPfBT4GXAHsGlEbBoRbwI+BFzSlk8gSZIkSZ302HQtM5+ouoe+vRp0DLB7RAzPzFOBCcB5wOrA5My8BSAiDgcupzRj+3pmzmzHB6CPTd8sz/IaVF6TP5vlWZ7lLb3ymvzZLM/yLG/pldf2snrsjECSJEmSljW9umGoJEmSJC1LDDqSJEmSGsegI0mSJKlxlrmgExGrRsSZEXFwp8dHI2KrNpQ3NiIOqnu+XZSzYkQc2GnYf1V/PxkR72lj2e+resfrPPzimst5c0S8tdPjTRHxjTrLqcpap4fxp7ShzJ0i4hMRcWBE7B0Ru0TEuyJi/brL6qb8t0fEOlUPiHXPu9/XZ6f5H1P9Dt7cznI6lXlum+a7SkScUT0/JCKOrx5fatfvPCLOrP4e3o75dypr2+oxvNPwj0TEYe3YTlfz3yoidm3HvLso691dDPtqP5Vd63Z5MeX0y/qMiO9Wf8dXf89pGXd4RKzVhjKXi4gfRETUPe9elD0gIv47Im6KiBPbMP8tI2JQRBzaxbhTI6LW476I+ElErBsRb4mIf6yGvavjUXNZB1SPHapjplWrxycj4uiIOLrm8jbq+K1HxMkRMah6PiAiLoqIlWssa6eW5/3yG6/K+kBEfKrlsVVEbBcRJ0bEz/qh/LbsZ1v15oahbzQnAk8CTwCtPSmsAPwc2LCvBVTB5ldVT3HvAN4UEfsAK1PuEXRrZr7U13I6+QXwtog4BHiF8nk2iohhlO6531dzea1GAydHxC3AaZn5cDX8rXXMPCLWA/4P+DHwR+D9wJXV3wnAO+sop5OrgMVtZHdrQ5kfBH4PLA+sD6wBvBnYOCJeycwP1VVQRJzf8jKBzwFTgBuBERFxS2YeVVd59PP6jIiZwD3AlsBwYA/gEeALETEN2Cozh9ZY3sGdBwHvah2emedTj+V5dTt1OKUny6Bsj78D/ENN5bTarPo7AfivNsy/1XnAQ8BbI+LzwGHAbMrnu5HSy86WdRQUEf8E3JGZs4GRwDsjYnTrezLzm3WU1clplFstEBFHV2W0JRRExAPAnpk5vRpUy3a5m7KWxvp8R/X3k5TbU7w9In4EHAocQtlv1G0/4JXMzIg4snVEdSPzWkTEJt2M+lfKPv5iyjFNnU4D9qQcP3yT8ltL4IfAu6ty6zx+eSuwC+WY7DjK7+AXwE8o67nPx2QtjqPc3mQoMKwqazvgQEoPv9+sHnVZn7LtvB0YAiwXEWsDk4GbMnNujWWdQrVNoY2/8S78G3AW8DgwGNiLsu/9Xd0F9fN+dqFlqkYnIo4FZgDvzsxrgP2Bj1SPlYEraipqAvDTiBhC+ZLfBRwFrAK8l3JvobrtC/wIyMzsCDUzgS8BB2bmK20oE0qBJ2fmaEr4+F71Q4ZFg2RfTKbcR2mNzPwk8GDL36mUL3vdeppnu87k7U8JpusDN2bm0Zm5F7BpzeWMBP4A/Hf1/Clgembun5lbUYJBnfp7ff4pM/cBHgbOpXwXlwceqoY/VHN50ekBMBcY1GlYXQZExAbAipQdzGPALODmanjdBkTEfm2Yb1dmAXdSPtfawH9SDrZWAr5Wja/LJ4BLI2Jd4O2U9fk0cBBwd/W3HVq/Dx/sYlidVgUu7DibTH3b5a706/qMiN2ANbqoOboT+DrwaGY+X3OZq1NCVcfB5LHAi5SD/1prBIBbgInAv3d6TKzK+nrN5XU2OjN3ofSwewHlJGp/HPf9MTM/B/yp5vk+SQkdz1KOjyZTTp6uRDmRUluAq7aXu1DC/p6UcDUJOB84PTO/VldZHUV2Kv931ePeiJgeEZfXXB4RcSmwOeVk1Gcov//xlGPgj1Xjai2S/t3PAstejc52mfmBiNirauLxm5Zx61LvmZ/PA98FRgD/QtlQnA1QnVFut7cBq1F+uP8VEZmZe9dZQERczaI7zY4v2aQ2VOl/DrihCqsbdPytuYxWPR0MtOtg4SzgJsr38Z8i4gTK9+fumst5iXIA8gTwUmbOj4gtqmYgx1F2aHXq7/X5poh4B+U3cDblLOVfgE0iYhTlpENtMvO8KM267gemAwcDvwKmtJxJr9ObKQc861EOelp/bxOBT9VcXlLOFm5R83wXV95ywFqU/9sgykHKHKDW7RilRuyHlIPyC4D/Af6SmTdFxLM1l9Whq+97u7YpMylh/weUm3K3W3+uzzGUs8itzRkT+CnwW2CbOguLiIGU9fhp4HvV4DkdZ5Ej4og6ywNmZuZhNc+zWxExldJC4mrg5pZRHd/N2vYLVRj+Fv37W+gwiHIQHpR9RMfzFWosYwjl/pBvodQ6DqGcUH+Rsk2rW+s6y8wc1ToyIv5Ye4GZ+1Tfmd8Az1DW67OZeVB1QuCOmsvr7/0ssOwFnbOr9nzLAwdQDh63BH5N+fJ9hrLS+ioz88aIOIyqmVpEtH4Ja78GgtduGB6uynka+LfM/HMbylzcRj0oO5s+iYgdgDdl5vSI+AMlBPxT9be2plxdFx3d7WBqDXFVm+dzgHUowWMPykbxTEozoYso1cPtdi/lwORy4KSa591v67NyJaWW8xeU7dQ7eLUJ1Acpn7E2EbESsG1m/lfVPvp4YCdKs4vaNsDV7+Ew4OnM/GREbJ6ZdYea1vKWpxzUzc/Mz0TEtj1NU6NBlHC1MeW3MYZyULIyUNdZ+szMX0XEg5QTJy8CY4EhEfEhykF0O6wYETdTvvubV8/fUf0lM3essaysvpfbRcRPKE2cv1+NWwBMzcy62vT36/rMzK9HxLjq7/uqZuPrUfY9H6LUtvxzjUVeBnwxM+/t5lxe3Qfoq0bE7i2vX6DUvj+YmfNrLovM3CUiplCaH03s4i3LU1/YeZbS4uSHi1ukmsrq7M+UmuHNKS0bfkA5sbJPjWXcRgk6f8jM70fExpRjzA2ByRHxjcys8xqWnvajdV8uQURsQflMq1WDRgFPRsTWlPV5ac3l9ct+trNlKuhk5lUR8U5KM4+hlJDzNsqP6RVKOKjTUMoB3kRKLcQWmXkvpd1p3X5B2bE8HBFXAfOAjYAjgfMjYp82XBf0lprn15WVgA2jXICcmXlnRDxb/f1rm8tek/Y1J1koMxdExNco/6t3U5rq3A18mRJ6xlNqJA5o86IMp3xvTqK0b6/7gsZ+WZ+VjjNmywHbA/MpG/rnKAd3te5AM/OFiDiuevmdzLwvSgcdf6u5nF9VB1ifj4hvA7+ufu+t76n7erx5Lc9r31kuxkuU7dp9wCaUtvWjKduEWpsjUdrrr1Q9X5lyQDeYmpvpRLkwfkVKLeqO1bCbM3PHiLi95oDT2acoYXEz4MJq2MqUA826f+vD6If1WXmu+ntVVcZQ4IzMvD0i/i0i1snMx2sqay411wb34CJKrVTHdnMAZb87MiJmAydkZm3Nu6J07LMW5X9WDYpTgOFRLnaPzJzX7Qxeh+r6lIe6CYxvrU6MrVtHWS1WoHxHOgLbTMp1f2dQmnjeW2NZcym/9Y9ExIhqWGbm/RExFrg1Iu6u8f93V8vzrlbqZl0M66tvUmpykhIetwR+Sblu7Bpqvu6wv/aznS1TQacyl3KR95eAHSg78fUpVWF9bvtdnbVaMyK+R2n/eQAwtfp7XEQ8lZl1nmHqsBclWf8f8CjlB3ssZSdwPaU5wck1l/m5Tq87Dh5rO5jNzGsjYjPKGboREXEZ8JaqvelbImKvusp6bdH5n92NjHLRbZ2FTQeOrWocx1DOYv8/yhmnlzOzrSEnIj7CqxeDnkw547xyjRdL9uv6pLQRPgr4Zmb+QzX/f6FceHoM5aL92i46rZq0nFqdyd4lIj5M2dgfudgJl0AVdv6Z0hzohJZlWI1SlV9nWfMp190dFBH/j3Iw0F8WUA5MjqYE1cGUpp2DKTvVPomI91Gu7/gypenFFpSa1F8C76maSRzS13I6WY3yvds4IjbNzAdrnn+3MvNF4JaI+Gtm3toxPCJqCY39vT4jYgDlTPxTEdFRK/BzygHfqOqgfU3Kvreu3/p+wM8j4rmWYW1rZpWZJ0XE5Mw8JCI2ByZm5kEA1evTI+JDdYUPSi3OXcBngZcp4XhVygmHR4HX9K5ak19TTl78oHr9lepv3T0RPgTsSNm2dHSs0BHqHgC+3810r1tmPhgRA6uTGBMp6/bL1d+vUb5LM+ooKyI2Ao6pWoccRGnW3Hl52vU9HUGptf0MpQZ3Fcpxy0Rq7iiqP/ezrZapoBOlzf6GlOZp/0q5wHs+5Yu+NaVXpmP7WMzjlI3Bgsw8PyIGU2pa/pKZH4mIr0bEv2Xmt/tYTmdvooSbXSkXSR5JuZD3akqzp1tqLo/MXNjeu6pSHE850No3M/8SEbfVVNRQSg8sLwJXVvNen9J85/mIeFtN5Sw1EXEdZYe5JeU7uible/kIcHCUa6x2X8wsXq/VKGFqRUoTod0pZ2CPAH6SmW3rjryfdL4m4C+Ug665mXlr1H+twPcozUo2oXTu0NHz0vFRTllmZvZ5YxwRq1L+Z28G7o2IDVn0QGvniJiSmff1taxOFlCuOWxrN+CdTKFcN3kp5ezrv1B6WiQijq/h4O5Fyndiw8ycUB2E70M5WTQ4Ste2dTe1egjYKyLuAb4cEf1RQ9DTiacv1FROv67PzJxXHUBuRqkFP4iyvZxIOVC/htJsrbbfelXmwZSmsR0tCtaqah+Css+tTXX2eoeI+AJlG/3r6nmHO2sMOVTXaq4DnEDZD73Aq7WnR1BOmtaiavY0mfIb72gOd2uUzlTquISgK5+lNFvek9Ka5xjK5wpK5xnHUE6Q9VlEjKQcV0I58fZXYJ+IeISy/z0gM79YR1nAzpQeOD9O+Vz/HBE3dH5TZtb1W3/NrFue30O5jnJ76r+2uF/2s50tM0GnSroTKP+AdSk9bzxNacb2Z8pZ9LP6Wk5m3halO80fV2eRp7LohcEnAbdFxFk1NyU7kxLcnqUcIPyIspP5X8oBwv9QviC1itKG/wzKmfLLgU9nZkezoT7X7ETEUEovJQdRzijdGBHjgA8A/xoRDwNXRMQamflMX8trLbrGefXG3pQuwP81M8cCRMQdwPuyPT3m/bL6+2bgosw8PSLOpjRZuy0ids7MG2ssr797XXtHlB5h3l6FAyhnKDethr+j+0mXyFcpTf+2opzhugN4D2WHffNipnu9hgKnUs6UbUw5+Gltq/9cNaz2oFMFxEcj4n8oO7agtEP/RmbW2RPaK8A/UrZXkynNTAZQat+vBX5Ux8FdZk6pDrZ+EhH7Uj7L/pTvxhWUWvLaeyqqvJSZH45yzdOeHYvUprLu6fR6kd9aZl5SRyFLaX3uRjnI+ybwhcw8OMpZoacj4hrK9Z13LXYOr1Nm/jUiTuLVa1RP4dV12m2t9RK6gXKt0YuU38EmlG3K7JrLASAiLqC0bnmZcoLhDspnW55yLcRr7v+0pKrrnLanXDM5ibLt/BllG9axfUnq7VjlVEqT/lOr+W9GCVqzqteju5/0dfsUMDTKfXTmUa6tmkc53ryCGruAzswfRunk6gLKce4l1eNSyncI2rd9Ccox4EDKdnpNSs1ZOzrd6q/97KIyc5l6UM7wrEHZeJxFubfHOsDHay5nIKV2KCghZM2Wcfu2vq6xzL2rx7VV2V+sho8DTmnjOt2ym+Fn1TDvwcAm1fMPAB/sXDbwRUrX03V+pk2ArbsY/gvKRurBmstbmXLPh69RzkQOo5xZ+od2/d+6WIYVKU3XhgEj6l6fPYzv83elh/l3dHe5YRvX3bcoVfbfqoatRLm2auc2lLcapXnCcf303fhiF8OWp5xMObOflmFVysHDj9rwv/sy5fqRb/TTZ/lCF8PmUoLAMW0u+6zq73DKtTo7LKvrs9pOL1/tZ0+s9rvfqcZtBHyyDWX+tPrtXU6pjTuzWoavAaPaUN63Wp5vW5U/vE3r880tz7/Yadx2lHtcRY3lrV393ZhyYfkvq3I2r7afZwPL11jemsC5La+nAJ+tnn+P0tS5rrI+X31PXqbUmn6+ehxLafa/TRv+fyMo9zKEUrs6BVipen0WJfjXWd5HKc3/Vqz+foRyjN3x+FTN5a1IOamxBf2wn11Ybrtm3JaFffVHtQXl3jIdw1evVuB3aipnO8pZrBWq19t0bByqjf/5bfp8N3f6+3LHhh5Yrg3lvbeLYR+k3Iyx7rJ262onUu1gTm3T+vxOtWFfvmXYSpRwXGvQaZn/e1qeD255fnHN5byTcqDT5Yav+o0MrLG8oynNGvfqYty327Euu1mOthzctcz/u/30Ob5b/R1f/T2nZdzhwFo1lzeK0mxsV8rZtDdRmpPeCPxTmz7jhrQc5LV+l9pQ1qeB7bsY/u+04aCScgZy/+oz7kg5W74XpWnNDW0o7/yWx4+qv1+u/q+/XlbX59LY11IOHocDP6xeT6Wc5PhoG8rq9sCbmgN/Nc/dF/N4D7BOzeW9QGnafzOludwfKScTzwWuA24FBtVU1lspQepaYGg17K7q78aUm7zX+dl+S6mtPYtS67hT9TiB0snQLTWX93+UDjlmUi5ZeIjSEuZblIB8Rd3fl5ayu9tWH9WGsr7W1T6HUpv0A2CVustcZpquVS6ntJlci6oHiupi9q9TLlj8x5rKOZ/yY90jyv16vgwsHxE/oFwPUWczj8W5k3Kzqv2BQ6N0w1ln9eVaEfEpylmEKZQD2Y2BFyLixcyss8eNkcA3IuI+yvVGP8/MpyhtUtvS+1pm/mtEfIkSdg6qhr0A3NOGazw6nMyr7aBv4NU2vnXf6fgqSs3UphHxU8oOpqN9+e8oG+e9KPctqcPhlGvFjqdqvhIRV2bm+ynBsXYR0dUdkmdQfu/nUWoD6yqroxOAcRHxURZtHrQA+J+s98Lz/r4b/LsoO+uHKM0d35+ZI6umpVOpv9cuKE1u7wGI0vnI5zPzfkqNeC0Xl1fbr6CcoPlddZHr9ylBcj7lguEz6iirC2tQ9gfnU5rozaWs3z0XM82S2oKyDTufchZ2OUo4Pj4iXqyrkKWwPvt1X1s1g53Hos3AV6P8BjPq7eENYHTVycjnWfRarnMp3WjX7d10fW+85NUaluE1ljeD0orgxSwdL2xP6cL7TspB60vU16z5Wcp34ijKpQWHtoz7D8o6rtNfKcdFoyitTs6j7FOfpAS7uo9bHszM90XEzzJzfESckZkXROme/FRKi5h26W5bPZ4StOq0E7AgIvbLzA9XZQ6irN9HM/O5xU69BJa1oNP6g4nqor6hlBsc/abGDf4jmXlMRKxAufbnesoX7XzKwVWtPVEARERXG5+O9q1TKTUC7WijuS/loHhFSlXptyhnFE5oQ1lfolx7sANwWUTcT+kxr/YDg3j17vLnA1+PiOMpByNQzmavUXeZHUV387zu/92fMvPjEbEmpcr+I5SdGJRrvR7PzLpCDsBTmXl9lBugdmjXPUo69MvBXaWjK931gNMpB3OPVcNWBP6bcpFon0U/3w2+ur7xRspBUMf1CGtW10LMiojab34XpRehjSkHCT+iNDk5LiJ+V3NRn6EchJyWmTdHxJPV8Muj3HPm1nbsODt5NDNPbHMZL2TpinVudQBCvNqtb53blv5en/22r43SRfB/8dqD7zUotR0DKdvREa+desmLBb5N+S1cSmlyf131d0RE/Gdm9rUDpYWqsDGh61F5fpSe9eo0ixJAtonSc947KCdr9qR87jpvwDqXUjt0X3Xy92XKceCxlJqdujpP6pCZOTcivk5pefIZym/tqJbhtZbX6e8KEfFLSm+qZ1NOUNW5Twf6dVvdYV5mfiEilo+IjstQjgR+kJnntqPAZS3oZKfn381yYWGtFyu2lPN/lB/yP1F6h3iGkuR34tULxOpyGqX25ixg9Sh9i0NpN/kS7TsrCaWnucG06WK3qlOH1SkbjhkRsTLlzOeGwDNZY68zLToO+pOyszkY+DClV595lAPKduj8HW2X9SPik5Tq9auAwzPzQoCI+CLl4tD+0q7P2V8Hd2Tm2dX8D6HUspxOCVUXdQyvgkEd5fbr3eB5dVv1TkrPRPMov4kbqoOTWtdl9fv+GqUWsONC+czMAyPiA9R7ZvKpzGy9sfErmfntKPcouYD67+NBlDuGt2rn75xqX7BctV4jSg+Zy1XDVuXV7nXr0N/rs9/2tVluWj2OUuPQ+j+bQemF7deUJtZ1egflutvLKJ0nvUQJBpdROq+ZXHN5rYZWZbXWPLSjG9+VKfcwPIpSO/dzSm9dv67Kq6UznszMKDak9Mx3DeWeROOA8zpq5TOzq5YAS6SqafglcEGW2xx0dFR1cGbeVFc53ZhHaU751yqkf5USxGvTz9vq1nI/SzkeG035/R2UmXe2oyxY9oJOq08AT0RER28RUFJ3HVaqagQuohwQrEb5MjxWPf88NQedzPxgRNxKqb7bk3Jm63nKhuK7barN2ZGy43o/pUp43WrY08C6EbFDZvapm8goR6brUtqYjo1y87IbKGcM743SXfe/ZP7/9s487tax3OPf35Y2x1Tm6RhKmyJ0OhFFKEJ0TiWnSQiJg9JwTIcMIUOmKIWQg3CozHNxzJkrQ5EhQ4WizMP+nT9+99rv2q892e+91rvf1/39fN7Ps9bzvGtdaz3rGe7rvq7rd7mqI2d7vUGfYzlSxLveZF4yJCQdT26eS5TBowY9rs2TZHCwM3F0UJrpzkMiZrV7Lk2gpFgtCrxT6cK9vCKJXC3Vsc+Du4ko0eEPA8dIWtz2/sDxtc5B97kbvO01ASTtB1xh+6Lu7ZJe1bNhiJxIZj0fl7RgSYdaoCstat6KtmaT9Fbb93ZWlMHIDmTQtQ6pRaqC0vvlXHJNe4HMMveaC0nq70WkyPsiBuR0zybRj1r0dX/S53ut7efLvWBLJm7Q+AESgdimlq3CFmTSrTPh1vkc90h6pjOB0wNuI+fZr0hUfKniCFxAIsc1uZ5kEYwl1+iZy99spD625kTmGBKV3otE/Lsbsda+zy5FUmwfAVZV1NcgaeI7SRpvu6ai3AJK8+hFynJB4lRBvtvKklawfVtFm327Vpfz7nByr/uh7YOVvjqrADsrst1f6cVYd6Q5Ot0H8vFElvUiYL4yIKrl6PyGhO87PEYuWB16dXM73+kGfZ/t1SCzhx6Qe67Ns2TW4GmyL18p6zrPjyUXsOmmHLRHAkeWAd1KpBldp0Zmb+AXkqo6c5LWtz2h47zt30i6VdK7bdfWhoek/4nMxh9NLsgrdz2u2dxyIZIXfT4ZcC1Pjv1ZySzh4iQN8c+1bBa748gNeyty7biQ5CxfXJY16efgrpuLy3JuUo+0n6Qv1nbE6WM3eElLkJSEeYBPS/pj1+Y5qD/w6e4t8wo518cT51xMLKc9VC4jPRiWAT5LZgi3JjOfz5CBXbWBeRm0vV/Sx8g5eC3Q06ahtleTdE1Z/p/t1QEkXWt7jcrm+ro/GZ577btIv5XvlOeHku/1GBUa2Q7iq7bXkvQLXh3561UkcB4yEeTyt4Dt9ZQU1ksY+N41uM32SZIWIc7HHWTMMI5E6GqniI/3QPPtuyXtRCJ/s9o+qrKtVcnE05nkHvQbUj/5S3J/GCz7PiRsLytpR9uHSlrb9iWSdioTYtuRupna6WR9u1aXMdjHSdT2PEnXkga6VwBXKI2KTyAKq1UZaY5Od7OkF2wfqRRif4+kRg25ZqB4mJPaL50ZGZNBVzXKBega4Hwlb//76srf76Tr2L68pl2ik74scAXZd6uUdQ8Aa1Kpi7Kkhcm+24YUty0J7FsuUgCbVnZyZgE+UaJH55BcXogO/kckfQTA9t61bBLloxclPe3S92HQ44qmGEd+q88RFZ01ywDoOuA6pXnp7kQ5qRYiA5J3A0vbvq3MaD3TWVa01e/BHeW9xwKrSJqbXHC3Ab5AGqfVstH3bvC27ydNC9cmKQKbls/yLqJ2VTv1d0vgZEnbA4/ZPlnSdrZPKZGyav2ybO8IE6KZXwS+ZPt0Se8mMut3S1qp5ncs94iOit2iwNbF/vOuK1gxKXqaGtvP/dnve63SpHov4qD+DvitpC3JxNCKRLCjphNXzOqLZLILym9WzvNFJc1ru5pzpRSSL0lk499clm+RdDbZpzV7/0Hu43sA+xAxnE52jUjKXu26mU6U/wwS9bZTl3S6pFtcqU5H0swlzX4D24dIOpOkv69PUtn2JffXByrZm4c4GBsSx/sASU8AG5X7+V+KzdoTin27VgPYfkoRV7gCuNn2eJhwLXiJ/L5vcxozV2OkOTq3S/p6CXk9J2n1sv67RNf8mAo2ZiZO06bkZD2HgUZpG5AL1snUnSUcL2k1cmHYhUhuHksG5hP+jSiA1EYkRPsMr76JblLJxr7l/ZYkeaYiKXIHkoPbZEBZBdvPA1sohW5fJ0QlRMEAAB2QSURBVOkPB1J5BmYQn5D0FQYu9NCblDXIDPL2ZDB8oKSVAZTu3pAmsytN5rXTi51mfkuSQsXqzWunZHsyj6uhqDzNRCJGx5LzfOeBzdrYFTo2exi6wZfjYybgIGBbpcklRBZ2g/IZqmH7JUk7kmjmhGuYpONI0+BqKOkkXybf4TyinLU6uY7vR/bpvZN/h+niCJIS9Cy553yQKFltU645p9uu3XhyIUk7kLSWHci1ZUFJ89v+y1ReO830eX/29V5r+49KU+XvknvpE0TsZx4ykLyX1NTcWsNeYWkyGB5L+gLNRc67w8ig+VskDb8Wm5Drx42kFvA6MiDv7ONqKCmHPydp6JZ0FnBXZzO5x3+ipk1yTHyByHbfr4EZxC8TgaOVO4PnIbKFpC2AhSX9K3HiNicZFJ8hE1OfpN6xsjhJ2VxWEaaah5wL85JzQcCTkhawXS1To8/X6tnI+OiN5LiZTQOiUZBJo9NrOzkwghydMqP0AwaiOicSr75zoK9KvcK+ZUnzMpHB+TfJbNZXyKCkeiG77ZdIiPTMEnHYAtijh2lrHY4jJ9m1DFIMqzg7+VWyP58kaWy3kDqEO22fXcnGq7D9NzIo/wlJQzqq5uzZIFunSrqu2DuT/H7dueU1bzJ/JhGdo4nU+pFklrKTJvA8cJekt9u+s5LNeRW1MNveuMz2vL3Se0+OSQ3uFqo9uCt8m1yA/4UMTN5Dbma/qGwH+t8NfnXy3d5U7MLA8VizXmYCth8u50OnEPqPwIG27y7HzpBRlLp2IwPFecjg8acMfLeLSD+iJyb9DtPNEbbvKBGyfcp15izgLEnzU19MAnL9hKT6dtiLiqklk9ifh5K6nF7uz77ea52C540kfRa43va2ZaDXqXmsksXQxTdI9O9kkk7WEXp4I3GuHpc0ptLgHFLgvTW5BzxPUmTHk+sbJM2rlnT9H4EP2v5ref5b21t1NkpaGthdKdyv9f02HHT83QRg+9Fyn5+fiCsNCdtHA0eXqPd2xJk7TNJYV1TJ67J3M7BOiaQeTPonnq/UiNbMPJmU7Z5fqwuLkmv08mRC4a3keO0wE+lPdE5FmwATGnPN8ChKN7b9VHl+zKCTagmS7zfk2RFF1WMwY8hJtCJpmFb9YO83kj5k+9Ku5/OS1KRHgcdtP1LJjshBPY4Muu4iDffWdI/kBIcTRa3kbbYP7lp3lO1qBeZKnU6n8HNR21cN2v4h4Ne1Zn8kfY3ksNv2SYO2HWL7qzXsDHrfyeXqntuDwWtnoLe/7a8rvS/2Ba5xUV6raGccmT0eTwZ2+5GmuTsoUp8ftv39ivbmIDnlR5Bai307v5fSM+hy2w/Xstdld3bg27a3G7R+C9vHVbb1JmDL7nOuMf30a3++Hu61krYiDsZXbG/Ttf5QUnfx4mRfPH325iAKaK+QQeOjDIi3/L045o3GBPp8rZ6NRIzXBT5es2xhsjZHiqMD0AnbKVJ73apL44F7iKLDtk5js6HY+fwUNo8ng58/DMXGjEDJlZwcBu6yXS18KWkz2yd0PT8YuMB2banuYUHS4ba/LGl5Ei19kTSm+1vXrFdtm+sTJa1nBq0/03bVtAFJP3PUAWcGXqk4SzcpW/0+Nr9q+1U1MUqB5AqkYei3+mTrRtv71LBV3vdrpE/IiqSu5GCnQPpsMvt5hu1Latmbwuf4DvntTrD9m0rvOSeJCrydpAdd5ag5LklmRp8FvtaDCOCoRdI6ti8etO5jJC3qStuHVbS1+iRW32n7sRJB3tx21dTK4ULSlS61hj20MUURE0n7266tstgYRZT01VttP6e0O/na4PFFZXsTnRO2r6xtY8zU/2WG4v6S0/cjUmR3Fgnl70hmLpYjM9xDZQ8yUJ150N8bSEi/qhjBMHIsSbNYhfQu6CzfS+Q2hyQtPQm+ACm8U5rPPTlanJzCu8ryAJITvR2ZsT+v5Lz2ghWBqyUdWQZ3Har3DyGzrJDZyUslXSnp/xQ1u29UtnUc/T02/x0ycJa0oaSNJW1MlHZOAT7dR1tVeyUU9iQDyO46tTcz0By1OpL2kHRK+Tuc1AhdTvqx1OJg0uxuGZJquLGkn5E0iQNIPUTtdKTRzs6S1pS0kKT5S/T4biKa8ZHKtk4i6ZRrlr8fE3nb7UiB+66Tf2ljEpw/le21+wQ1RjCSHpF0vqQHyvL3JPtmP6WWc9GaTo6kdbr+1iyrf0wEf1YjY9LqjJgancL9JIf4eUdp4/1EavZ6UhQ6uOPx9PKY7R8BKM0XD7L9gqTDip1eDESGg4c7+Z8ljW2vsuysW7uGkTLrKmAOSXsRffj9gT+Ubdj++xTeYqRxlwfUi8Y4YhM96Zdgez9yUVoPOErS5jWLFTtIWnSQ3W5VwLFkIHRQRZMP9ePY7EJKn5k/kaLTQ8kxuxxwO5EVHYm2oEvAQcmb7wz8Xyq1Js/XNFYmox4iUaTPUYrKy0zz+ZJ2r2juLtJPY1WS4z0f+X5HECXJNWtG/l4ndGTc/0KkdH9B1JduY+Kc+ho82F2DUFJu/0yc1zVqp3X1G0l3MqAi98+D7gMiqcDvqGlyiNsbry/utr2+pDNsf1LSd23/T8moOJj6DUOPIZOYIvL144A/lnEMktaobA8YeY7OQ0SN6L2KNOs7yEBhA5K2tmUlO935fO8AZir1ArM5ndp7VkDfZyalZtW9rpZy0IlluQzZn5eRqFnnomuiVz9iUfokvFPS5gxIiG5Jbtg7Ubd3CJIuYOLfqrMvj5fqallL2ohMMHTk2yfKdy2TALVD2/06Nju8ldTGPCtpI9s/Lk752ME1SSPJlqR3EMfpKnKMfJ6k33ZTrR6o8EPgH6S3xYPlc3TbrJkvfTtRC5oXOKo83sX2zpK+TCKBzdGZfu6yvXEP3/9VvWVsP0ZUtEY8ticItigy+av12uQQtzdeXwy+t84s6edksuEHpLbzsYr2HuyarOxEF+cq6WsigjnVGWmODqQ25z6SrvYzEk6/iSh5fZHIFVdBKSpfhDhSOwJ7S/posTsaWErSj8kBNq48Xrpr3XNECW5I2P4Y5EJPbmDbk9/se72s8+gnLr1sytM1FbWWZUljOhhQTarFlJx6MaDuU4PLyTF/vaRrgGUknUt6UZxVhBBqz/T25djsYlfgOEn7AChiBM/Y/mZFG8Nh6wUyI9+ZPd5N0r1K5+2lJH3Y9g8q23yOKAKepdQ7ioll16th+1JJyxKRk04N1VolqtTpxVLzXHi90feBcYkeHwRsPcoi/RNQenW93IPvJw20GXjVtsq2GqOPl4FNbP9dqYX/FnUzmCZ1PTmNpK6JHo2tR6Kjcz3Rph/LgOrUzCRdYSanc/VQ6VwQFi3vuz9xpBYs22p6uMPJQ2QAPobs071IysJeZXttJ+RM2zeXeo7NgYtKqtVDle0MF7Z9vKQbSPfpHUva2qJEN74m81R+v8nSEVKQ9KLtVcvjWUi0akNJ/0nd5qTQ/2PzC6QvwnIkAvATMmhYn6TMHlyrgL6ftmzfK+nBQasfJDevfwX2kbSK7T1r2Bsw68sk3U7uMf0YYL1IurJDpMEvAK4eDaIxo5zlJXX6w4lIzy5N6m8vlfQZ2/cM26erS3dX+wXJ9a0X0bJ5aU5NY9pYoEx6LVKWCwI/KUkhAlaWtILt2yrZm9Rx+RATNwmuzkhzdG6zfZKkRciA5w5yURxHdtabp/Ti18AuALaPKnVAXyGFrXPZ3r+SjRmB5zsDAUnPl0HR87ZrN9jr1HGsI+kE0u/oqyT/e0ny241oSjRnOUmfI7PLxwEPlrqu+0mz0ppqIoOL/zsXiJ7c4CR9E7hZ0kxF1bBTPPwsmX39PnVv2n07NruYj4g7yPZ6xfZWZN8eIelTFdW7+mkLJr6B3Fhmki8vx+2lkr5fo7ZL0m7AP08wOlDruNlQ33sKPETqR24jPVieIJH9nSS97Iqy7o262H6T0jfuSdtXA50GtzeRQdexkta0R5A87CAkbVJSUn+uATVJkd5kH7F9XkVz9hSa1Uqq3cCzMYKxvaykHW0fKmlt25dI2sn2AYogyE62b5/qG70Gk5NYtytp5TAzGRf+uKI9YOQ5OvtK2oOosSzAQDqEgI8C1wzVgKRZga9LerzMqv4JeMr2ZpKOkLSb7X2HamcGYawG+rG8UdI89ECJTwNd55cjqYavkA7bZbM2cYWu88OJ7dXKoHEuEu69geS3zktU+panoqNje5PO43LMfpLUX2xk+8mSYlaTjUiI+TxFQOISkhL0IaKWskNle305NiGCEaRr+fIkurKBpO+VzUsBF3WLL4wUW108RCKMSLoyC3Vqdq4FtqgoYHE68O9l8GpFinxMsd2JvM9eyRaSViI3yK1I/ebFDKSL/pjcJxrTgKQ3AjeWp08BPZOULfY2J406byaCKl8iA51tSdTzw0RMYiQ7OQeSGoSfkHTOExiYjLoBWAmo6eg0GtNEuaeOBzYkgjgHSHqCNNS9hIiR7Fu212KBrnTmucu6v5Q61bHAZyramsCIcXRKzvXPSYdaSzqLKO5AdtrqQI3Zig2AM0gH9pWI5OtnSijvdmAxSV/ozFSOcP5ARBxEUmiOB16RdCOJQnzH9rUV7HS6zi9LBlarAr9m6lKYI5HzSErCfcCcwPuA3YkjUpUyaD6y2DgH2M72k53Nlc3NRI6X+8rjV0gk9Z9IdGItIo1ci86xCTk2TyDH5k3lM9Q6Ninphd8kg45OimFnMmN2Es39zkiz1WXzNOKkToSkTifqAyR91vaQ1dds/17S+8ixMD9x8kVyvy8mkZajhmqni/cAsxRbz5E6zfmA6g1QRzu2X5T0AVL/tzMRIBmc9liTs4EvESf1p0S6+jTy+3UmMWcmaYkjlTNtX1+u1Te6x13uaaprjWlncTI2W1bSW0k6/IZkcnYDcqw8qdK/spLNQ4BZux4DzF+cnzeSKG51RkzDUMXTmBv4ku19S5TgcOC3xfFZmkR0FnMF3W9F5nJxcoPusABRo8D2iZN63UilpAPuZHuH8vw9RBr2GzUkPsuBvJvtpUt9xy5kxuBWomZ38RTfYAZH0k7kAvHfZdU3bH9L0oeBXwE32F6qss0TyDnweyauWTFwiLu6cFewtSmTz5/tFLpXCzlLWoH0m/mV7fMHbbucfOfta8rPSlqNFEXeZ/snXetWJ2mr1Tq099PWcFCuz2NJw8eqioOTsben7T1LPdzOZAB9DfCLHok8jGpKNPVQ4ADbt5SB0N7AD1y5oV+ZtLyHTGD8iKhUHk7uPxf2OF11VCFpnO3flccfJ9HUc2y/UNYdbftLw/kZGzMWknYgvayOI87GhsALNccPk7B5GBkjvSTps12bxri+yunIcXQ6SLrG9qol2nI08EHbfyvbrgM+YbvKbJ66OhlL2oJEjD412pRgSsjwIuC47oOsnAAP2B5yIb2k28jM9ePA20v9k4DrgB1sXz9UG8NJ13F5pe3Vu5arkhzU+W2vVNlmx8ZfgKtJhPZlMsM9V0c4oJKt+8kgBAaKBkWiVs8SpZYlKtrblNTfjSepLXfYvkvpF7Sz7Q/UslXs7U0ijfOSaNKJJM1qS9trSbrJ9rtHmq3hoqRObknqG7sZD5w92Hkdgp1xk9tEzoczbS9Tw9brBUXZcDD3k7TjE22/axLbh2Kvc+28ilxXOoOSWYATbH9v8q9udKO0OfgyicRdAqxNzrfOOGbCmKbRgFeNcycav/TI3tuBfWxv1LVuO5K18TPbH6ptc8SkrnUjaUGS/rBZl5OzIPBKLSeny9Y4MsP0e2ADjxI55A6S5gdOJQfYSWXdwqR7+ewkJakGf7V9uqQ3AN9UehHtSmZcR7STM4jBqQH7A9uQk7i+scxg/5bUeyxp+9tl/Q2VTf3R9t6SLrS9rqQjieP6RfLd1qhsD1Jc/p/k+NxH0sXAp+lNz6X3kwHCGuX972Li71SzqWY/bQ0XIqqVNwJbkJqLH5H6iyOol7Z6NUnbHHzedQbMB1Sy83rinSSaciKp+xsD/ND2HqrfXLZbIWwm26t0bZuTpDg3R2famRP4L2BhYNdSrzmzpDeT33GmYf10jUZaUbxd0i+JgFhnwu9tJIW1OiPR0RFJadkG+G7J2d8F2JpKF0SV/hZEfvU64CQy47pnqdXB9h41bA0niizw5qTB3iVl3XykP8k+JDXo6UrmDGD7ZaU54q+AU2zvXOn9ZxTGKqpBsypywTc43ed7kRs9B3FIxxCHY8kSQVqEdDWuSWeWtZM7vyzJsf3ToO217eE06X2MyEv/Ww9sQQblG5O6o4VJUeQ4Iru5LUljHYm2hpsHSI+g30p6xvZNkmrWXNxve3J9QxrTx3Pl93rO9h0AXZevauee0sz2RAaKkgc3Iv67pH/Usvc64RlgUyLP/XhZtzgDtbjzD9PnasyASNofWELSfuT46DzuLLG9a0V7ywL3khKQbYiY0b+R9hTXk7FLdUaMo1OK+TYDZrZ9dFn9AUmbAJeRItdahX7nluWWwKNEGeY8Rl8h38XA0d059LYf00CX2t2GakDS20jO5xskLUfUu9Ym0bgLJf2MpBv2PI+/T4wFPgssRiIR60z536cPSRuT7vPrk7TD7YDDbX9U0iW2T+2FXTIY/yKwECkc/nBtA0qjsk8SJ67DzcSxWhEYI+l+25tVNPsCqRmbvzz+MymKfoEUttecye6nrRmJzvVz+4rvOacGJHshggRPAHePomtK35A0Gzm//ilPNSuZSBlTIiz/VNHcPeRecFlJW1tW0qmkVucKcn9qTuxrQ7ZfUaTqzy738nttfx4mqC42Gh0uLH/dzyFjil7wHpIdNQcTT2zMApxq+9leGO2JXGuPeCfw1kms7+y0Z2vJUNq+vqRT/Z6oIz1NBv0PdW0bDfyhMxiQNJukWyV90PZLpci7hgzsI2RmaUUyWH3E9vtsd06oS+iRpGCfmUnSfwMvFkGH3xHZ5WNLelnNmdAx5HygXBheJs54h14W3r1IBuYvkUmAWhG/bt5HBjuQwdb/APuRNLYnSf+eFSvbfJxMmNxOBsqXktS5x0uN2l9HqK2+ImlBRZhjsseg6zVehai7vRdYpfytQ5z+SySdJOktFW29HrgQWIYMdJYrywtJNPVsKva4sP2ioxL5IrlWzg/sSCYVVyMKnT2VuB6F3ALg9OA6jUy6dQ9aR9tkbWNoeBr+ajKe9E7sFvkSiUI+qDSTr86IcXRs32Z7N+AlSR+VtLyk75I6j3XJTlqvhq1SnA+ZHXnZ9kFEIvgsSe+tYWMG4WuSzpC0iKNUtxGwraTjysze2Km8fqrYfqaocd1EvPmNJO0r6fOKEtt40rdopF+ATRzjsSXiYafR1q5UTiOzPd727mQ2+3QiC3kKkUQ/B3iLohrYCzqD8c7yrqm94LXiKBre1LVqdhLm/hip7fgycbRqchyRzH6MND99jqSt3iFp8OzTSLLVb54kjtoKwCZM/F2qfy/bewFvKcszSZ3atk4vogOAw0pdYGMasL0aEf5YDfi17dW71q1h+5CpvMX0cCzwadsv2P4TSWXbHTiZdGlfuAc2RyW2d5B0cnl6JBH++ZakY8u6XstbN0YW65HSjHW7HnevW7eyvcuIY/Nc1zqTa8DRZNKqOiPxBmAy+3kmsJftcwAkHURqdC6oYONySb8G9lf690Bu4DsC75b0iO1e9hfoC7YPlPRB4HxJe9k+C/iEpI+SSMt8dc35Nknrktn5vUmU7B+kkeaCJEIwUhlv+7SSirc9OUaxfU5JH+jFzPI/gG+Q/kf7AZ+0vXUP7HTTOe6vKMteD8pNZugPIDO8fyPqh2tXtrMFKcD+HNmfnyPh9DtJvVrNnk/9tNVXnF48x0jakhwrpwBPSLoWmLssXUsRUNJuwGqSdiXRnFvK4w7X23550q9uTIWeOqmS/oXUwZ4EHKgoLW5Orp/nkqLlDW0/Utv2aKTUZz5G+pKcQYQH3ltSgf9VkfGG3NsbDWzvIun9nTocSe8bvK6yvYclzUVS+/cnNaqLkXGMyHE6U+2045Ho6Mj2A5I+A5wi6Srbf7P9h5J+NeTmRrbfJ2ktMhD/AJHV/AcDkrorkOLvEY/tyyStCfxU0ny2f2D77OLoXSBpTteR015E0h7Aj2zvrKj3LFtOpv+ZymtHAuNKdAVKesCg5zWdxg4u58LywA7AmxQ1uw6bdlQJK7B4+f3+UJYuS5HaucWm9OLpZAXgOtsPSZqZpM4cSmZ+tgIOqmzvW0S9bn4yk7UQcAwZMNR2PvppazgYb3s3SfeQlLKta6UWD+JSolz3PNl344D/ozUMHQoLKa0FFilLAQtKmr+kRNXiDnJ/PYekWb2ZnBNzkzT13wBzVbQ32pkL+BRJ6/1f0vj8jbY/Lul44D97VQPRGDX0I7PmeNKQdJtB9sYAy/SitnIkOjo3A9j+Xcnnm6Vr29FEHW3I2L6cRHa2IBLLW3uUSUt3sP1XSR8BDpE0pqRG3UdytWuxBRmIPFVs7llS5Ba3/UBFO8PF1Pqe9KIw+taynKRSiUuTuEp8firbf1nRFuS7LQFcVZ4fQ+mLQnLOF+iBvdvILPJXi+31SbTlTqLwuHCl2eV+2houzgOwfbzSjPhD9GAm2ek6f2VJqTpE0iok8r6LW6PJ6WXPsuxOc9qLytewEv07VNJxZHb3EuLw7EEGPReQc+O2mnZHK7YvIJOTLwPfIYIuncj7rSTFuTk6jcF0Cxd9uyxv6ZUx289Iuro8HhyU6ElWz4hrGNpoNBqNRqPRaDQaU2PEiBE0Go1Go9FoNBqNxrTSHJ1Go9FoNBqNRqMx6miOTqPRaDQmIGlRSSe8hv/frEu+dlQiaVZJ44b7czQajUbjtdEcnUaj0WhMwPZDtjfrtR1JH5O02mt8zf2Szhy07gRJn6v76Sa895xFMv7PwH/1wkaj0Wg0ekdzdBqNRqMxHPwbsPjgldPQPHjFWs2hp4HxwHeJOl6j0Wg0RhjN0Wk0Go3GBCQtIemekpL2v5LOlfSopIO7/ucL5X9uJb1QOut/Ken93e9THq8s6dclIrO3pJ1J/5uDJX2/y+bJwKWSHuykikmaXdLDpZcSwNeBwyV1txbo2P+UpLskPSDp0K7PcW+x86ikoyVtKuluSXdIemvX/10u6XeSfippNttP274MaE1HG41GYwTSHJ1Go9FoTI5VSLf65YAtJS0iaWlgd2BVYCXS7HRq7Arsa3sJ4DDb3wbOAr5ue5vyP0sAPyA9d04DPlrWrw+ca/ul8vxXpOfKLpOwcx9pNLs08ElJS3S99w+BtwH/Dqxqe2ngQgaaPx8H7Gh7HHA3o6QpdKPRaLyeaY5Oo9FoNCbH5bYfs/0E8FtgMeKI/NT2X2y/SLqwT42rgP+StK7tv07mfx63faXT3O1UBhydjzFxUzuI47SppKUGrX8Y+Brpvj07A810H7Z9i+2ngV8TJwvgBmBRSXMA7wdOk3QXaea62DR8r0aj0WjMwLxhuD9Ao9FoNGZYXuh6/BIwEzBLedxhbNfjl8v/AHRSzbB9kKRrgf0kfcT29pOw9XTX/98saR5JCwMrAld2/6PtpyTtChxJ6aYt6Q3A1cBOwAnEUenU+7zY9fJXur5X5/OOAZ62vcwkPlej0Wg0RigtotNoNBqN18J1wMclvUnSbEC34tn9xDEBWKuzUtI421cBXwE6SmvPAfNOQXzgDOBg4ALb4wdvtH0Kmazr2HkTMAdwNnHGlp/WL2T7KeBRSf9RPu9bJP3ztL6+0Wg0GjMmLaLTaDQajWnG9tWSTiepbI8ClwNzl80HAz+RtBZwZ9fLdpS0PvB3EnGB1OGcASwJHDoJU6eW91h5Ch9nW+D28rkel3QGqdO5GvjNa/xqnweOk7Q/8CfgP0pK2y3EgZpF0hrAVrZ/8Rrfu9FoNBrDgJIO3Wg0Go3GjIOkBYErimhAo9FoNBqvmZa61mg0Go0ZkR2JqECj0Wg0GtNFS11rNBqNxgyFpOuBJ0lT0Uaj0Wg0pouWutZoNBqNRqPRaDRGHS11rdFoNBqNRqPRaIw6mqPTaDQajUaj0Wg0Rh3N0Wk0Go1Go9FoNBqjjuboNBqNRqPRaDQajVFHc3QajUaj0Wg0Go3GqKM5Oo1Go9FoNBqNRmPU8f+OOlv5/0AGJgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1008x504 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df.groupby('industryName1').sum().plot.bar(y=['index_weight', 'portfolio_weight'], figsize=(14, 7))"
]
},
{
"cell_type": "code",
"execution_count": 139,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(-0.02, 0.025)"
]
},
"execution_count": 139,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1008x504 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df.plot(kind='scatter', x='neutralized_factor', y='active_weight', figsize=(14, 7))\n",
"plt.xlim((-5, 5))\n",
"plt.ylim((-0.02, 0.025))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment