本文介绍logistic回归,和改进算法随机logistic回归,及一个病马是否可以治愈的案例。例子中涉及了数据清洗工作,缺失值的处理。
一 引言
1 sigmoid函数,这个非线性函数十分重要,f(z) = 1 / (1 + e^(-z) ), 画图如下:
aaarticlea/png;base64,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" alt="" />
这个函数可以很好的把数轴上的值映射到0,1区间,所以很好的解决了分类问题。下面是代码:
def sigmoid(inX):
return 1.0/(+exp(-inX))
2 梯度上升法是我们常用的最优化方法,公式aaarticlea/png;base64,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" alt="" />。就是说沿这梯度方向迭代,alpha是步长,控制收敛速度;delta是对各个变量的偏微分;
def gradAscent(dataMatIn, classLabels):
dataMatrix = mat(dataMatIn) #convert to NumPy matrix
labelMat = mat(classLabels).transpose() #convert to NumPy matrix
m,n = shape(dataMatrix)
alpha = 0.001
maxCycles =
weights = ones((n,))
for k in range(maxCycles): #heavy on matrix operations
h = sigmoid(dataMatrix*weights) #matrix mult
error = (labelMat - h) #vector subtraction
weights = weights + alpha * dataMatrix.transpose()* error #matrix mult
return weights
所有的数据集迭代500次,步长是0.001,目的是确认参数weights,weights会在500次左右收敛,误差较小。
二 逻辑回归算法
思路:根据梯度上升发,求出了最优化的参数weights,带入logistics分类器,y = (-weights[0]-weights[1]*x)/weights[2],预测测试样本即可;
inX*weights大于0.5,则分类到1,否则分类到0;主意,inX和weights都是向量;
def classifyVector(inX, weights):
prob = sigmoid(sum(inX*weights))
if prob > 0.5: return 1.0
else: return 0.0
下面python代码主要利用了matplotlib这个包,模仿matlab画出了图;
def plotBestFit(weights):
import matplotlib.pyplot as plt
dataMat,labelMat=loadDataSet()
dataArr = array(dataMat)
n = shape(dataArr)[]
xcord1 = []; ycord1 = []
xcord2 = []; ycord2 = []
for i in range(n):
if int(labelMat[i])== :
xcord1.append(dataArr[i,]); ycord1.append(dataArr[i,])
else:
xcord2.append(dataArr[i,]); ycord2.append(dataArr[i,])
fig = plt.figure()
ax = fig.add_subplot()
ax.scatter(xcord1, ycord1, s=, c='red', marker='s')
ax.scatter(xcord2, ycord2, s=, c='green')
x = arange(-3.0, 3.0, 0.1)
y = (-weights[]-weights[]*x)/weights[]
ax.plot(x, y)
plt.xlabel('X1'); plt.ylabel('X2');
plt.show()
效果还不错,只有两个实例分错了;
aaarticlea/png;base64,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" alt="" />
三 logistics改进:随机梯度上升
改进算法1:
上面的logistics缺陷:每次迭代都要遍历所有的数据集样本,这样迭代500次1000000个样本的数据集,压力很大;
提出增量的方法,每遍历一个样本就修改一次weighs;
def stocGradAscent0(dataMatrix, classLabels):
m,n = shape(dataMatrix)
alpha = 0.01
weights = ones(n) #initialize to all ones
for i in range(m):
h = sigmoid(sum(dataMatrix[i]*weights))
error = classLabels[i] - h
weights = weights + alpha * error * dataMatrix[i]
return weights
可以看出效果不如非增量的,这是可以接受的,因为增量的只遍历了一遍所有样本,时间上快了很多。
aaarticlea/png;base64,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" alt="" />
改进算法2:
上面的改进算法1,虽然在迭代15000次后三个参数均趋于收敛,但很明显x1 x2参数存在波动(原因是有些样本点不能正确分类,数据集也不是全线性不可分的所以误差很大),为了避免这种波动,提出了改进算法2;
aaarticlea/png;base64,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" alt="" />
改进点:
1迭代150次改进的增量算法1,这样还是比迭代200次全集时间要约简不少,并且准确率不低;
2步长alpha不是固定的,这样可以开始收敛速度大,后来越来越准确的时候收敛速度慢点,后面加0.0001是防止alpha为0。步长为0原地不动迭代就没有意义;
3为了避免上图的波动情况,随机选取样本点训练,然后再原数据集中删除,避免重复使用;下图可以看出,选用随机点可以避免周期性波动,波动确实可以变小;
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdUAAAFyCAIAAAAswtf2AAAgAElEQVR4nOzdeTxU7f8/8HPf1afsZoxlskWKljtUIhQSKSqU7EqW7uKOkqU7pRRpJSqt2lSSkhIilS0qFdEissuWfR1mrvn9cb6d39xIMsMZ9309/+hh3ufMnPeM6eWa65w5BwEQBEEQHhC8G4AgCPqPgvkLQRCED5i/EARB+ID5C0EQhA+YvxAEQfiA+QtBEIQPmL8QBEH4YMf8vXr1qo2NzYYNGxiL3759s7Ozu3r1Kl5dQRAEsRY75m9oaKi1tfW4ceNevnyJVnp6ehwdHTk5OZ2cnPDtDYIgiFXYMX9RAgICcXFx6M9xcXGampqWlpYwfyEI+tcYA/nb3d0tJyeXnp5uY2MD8xeCoF9FpVLxbmFgYyB/N2/erKenV1hYaGRkZG1t3d3dja5QVVWlp6enPVwmJiaBgYG2traBbOz06dOFEN7S0tICAwOTk5PRX0p8fHxqaiqu74tf0OcdvnHjxuXLl+PSyZ49e7Zv3z762z18+LCdnR2uYfZDYyB/N27cqK6urq6uLiQkNHHixKKiInSFd+/ecXJyvh8Bt2/fDg8PZ6yEhIS8e/fuxYsXh/pRVVW1srLqX2c5S0vL/kULCwt1dXV5eXkEQdTxNmnSJFVVVXx7kJCQkJGRGXwdAwMD9NXT19dXV1fX0dFh+S9LSEho7969LHmouLg47Oe0tLSUlBTs5uPHj7G3aExMTGxsLOOb1szMzN7efiT+gwxdUlKSuLj427dvmX+otLS0o0ePYjcfPHgw4EvU3+bNm4lEYn19Pa55NjB2zN/g4OCIiAgeHh5bW9v3799jdRsbm02bNjGuKSIiMurd9eXs7BwZGYlvD58/f+bk5MS3BwCAjIxMa2srvj34+PicPn0a3x6Ki4tVVVVpNBq+bRw4cCA4OBjfHkpKShYsWIBvD42NjQiCfP78Gd82BsSO+RsdHR0dHZ2cnJycnFxSUoLV8/LyoqKiGNeE+Ythh5cC5i+qtLRUS0sL3x4AAAcOHLh48SK+PTQ0NOjr64/a5urq6mg0WkVFBYVCAQBUVFQ0NjbC/B0p7BA6NTU1LS0teHcB7ty5g3cL4P79++j7HkeXLl3KzMzEtwcAADscqJ6Zmdnc3Pyr92ptba2qqiooKBhwaUFBwbMhOHTo0I4dO44ePRofHz9nzpwd3127du3Zs2fR0dHoTSUlpa1bt+4Y1Pz582VlZWVlZVVVVbHikiVLZPsxMTEhEAjTp0/n4OCQlpaWlZXl4OAQEhKaNm2alJQU7u/MAbFj/tJotNjYWE9Pz0uXLqGVp0+fnjp1ysrKinE4DNgjfyHoV3V1dbW3t6M/d3Z2tjHn3r17Nwbl6+trwcDT0/PMmTMWFhaWlpYzZ84kf6egoODo6Lho0SISiUQgEMgDIRAIZmZmZmZmLi4u4d9t3brVzMxs3bp1s2bNMjMzu3jxYjjrxMXFNTc3Nzc3Z2ZmYsWbN282Nzc/f/48PDz8y5cv6Arx8fFVVVXN/bx69Wry5Mm4fzIbEDvmb1VV1bRp08hksp6eHloxMjIyNTU9evQokUhMSkrC1oT5C7FWaWlpwXdVVVUVFRUxMTHJyclNTU0F/3T79u2CgoKmpqaEhISjDNzc3Ly8vLCbBgYGmt9ZWFigFSEhIQ4ODrQoKCg4jTmbNm3a/jMPHz588t3ly5fRSlpaGt6v92hobGwUFhYexkeBUYDQ2dW5c+ckJCTQnxsbG7u7u+l0uouLi6mpKbYOmUzGpzmIvb179+7pkMXFxSkpKcnKyjo6Ourq6mp8p6+vv2TJEgRBEATR1tbWGMicOXPmzJmjoaHh7+9/ZCCvXr369F1+fr6xsbGPj09ycjJWLC4uxvvV+pdrampCEKSwsBDvRgbAjuNfVHBwsLi4OGOls7NTTEzs8uXLWAWOf/8dWltbW36soqLi+vXr169f9/T0zM3NRYv79u27ePGi+Q9MmTKF559mzZplbm5OIpF4eHhWrFiBrhYaGnr9+vWLFy/u3bs3Pz+/f2M0Gq21tbW1tbW3t3fAztvb29++fTvCLw/EFLj/bTiioqIY87ezs9PAwEBHR6etrQ0rCgoKoqOMmJgYPHqE+iooKPj06dOdO3ewAeCNGzdiY2MHHBuiPD09+fn5SSQSJyfn9H/i5+cfN27c/Pnz3dzc0AGprq4uumjLli1ubm5nzpwZcEj76dMnvF8JCGdUKvXixYtHjhzx9fVl3/zFewD+Q2fPnsXmHzo7O1etWrVkyZL29nbGdQQFBdPT09GpOjx6/I/Kzc3dNhAbG5vx48drDoRMJmtqarq6uvaZRc3Ozra1tX316lVDQ0NFRUWfDdXW1hYVFeHyHKGxjkqlxsXFvXnz5uHDhz+df4iMjBy1xhix6fg3NjZ28eLFAgIC4eHhXV1d9vb2/Pz8Z8+eDQ8PT0hIQNcpLCzk5eXFt88xrbe399atW312N2/btk1ZWTk8PNzc3JyLi4uLi4ubmxvb/c3Hx8fFxTVr1ixvb++bA0lNTR1wW6WlpaP87CAINZT5B+ysBqOMTce/x44dw471a2trO3fuHHaT8S8V3P/2U6mpqc+fP4+Pj1+8eLGGhsZhBmvWrCGTyXPnzmU83DI8PPzSpUs7duw4fvw4eixnWloa9mg5OTnPnj3r7e3F8RlB0C+B+99GCtz/Noja2trHjx9bWFhwcXGZm5sf/yd7e3sEQcrKyvBuE4JGFtz/9stevnx57dq1Fy9eoDdpNNq9e/euXbuWkZHBuNp/Nn87OjoAAF1dXU3fBQUFaWpqrlq1ikwmL1y40NHRUUxMjI+PT1lZ2d3dvf/592g02sOHD/H62AVBo4at8xfvAfjAVq9eLSYmpqCggN48c+YMmUx2c3MjEol37tzBVvuvzT9UVVXt27dPXV1dUVFRXV197ty5M76bOXNmVFRUWVkZ3j1CEHuB8w/DgR1/RqPR5s2bd/z4cQDAwYMHVVRUsHX+rePfW7dumZqaJiUlRUVF6enpuXxHIpHk5eV37tzZ3NxcVFTU0NCAd6cQxO7YevyLdwM/hOVvd3c3giA5OTkAgIyMDBkZGexT878yf0+ePDl+/HhJSUlra2t7e/tb3/n6+urq6rLtmfwhiD3B/B2OAfP33bt3CIJgp1IWEBBwc3M7ePBgdHQ0nr3+opqaGgsLi9TU1IMHD1pYWKj90//+9781a9bg3SMEjXlJSUkvXrx4/vw5zN9fhuUvlUqVlZV9/PgxAODEiROKiorYGFBQUDAoKCgoKOjhw4d49jpkHz58SExM3Lt3L4IgMjIyxsbGaP9xcXFfvjt79izjOYYgCBqe27dvBwUFHTx4EObvr0lNTT106JCoqOjdu3e7uro2bdqkrq5++fLlOXPmbNu2DVuN/ecfEhIS1q5dy8/Pv3LlSkdHR1tbWxsbGxsbGwUFBXjsFwSNAjj/8MuCgoK8vmtra+vq6vLz8/Py8tq3bx924lTA9vn79u1bYWHho0ePpqen4341Ggj6b4L5O1LYJ3+PHz9uamo65Z94eHg0NDTwbg2C/tNg/jKrs7Ozvr4+OTmZ8eRnAI/8bW9vv3HjRj2DP//8c/78+cLCwlevXo36Lisr6/Hjx/b29g4ODqPcIQRBjGD+MoVKpSopKRkYGKiqqkpJSdXW1mKLRjN/37175+fnJy0tLScnJygo+Md3EyZM+OuvvwY8v0xjY+O3b99GrUMIgvqD+cuUuLg49Pgz9HUMDAzEFo1m/i5fvnzKlCn+/v69vb2NjY1YPSEhgT0vLQVBEID5yyQKhTJ58uQtW7b4+vpycXExHjYwmvnLycnZ5+wTEASxP5i/TGlsbJSRkVm5cqWXl5eAgMDr16+xRcLCwjk5OTk5OX2ui8xyxcXFJBJpRDcBQRBrFRYW5uTkpKWlwfwdvqioKCKRiH7n7dChQ+bm5tgiAoHg7Ox88uTJ+Pj4Ee0hKSlp2rRpI7oJCIJY68iRI3p6etu2bYP5O3wvX77k4OBALyUyZ86cw4cPY4tERERG57haY2PjjRs3jsKGIAhiLTj/wBQajebq6iovLy8vL3/w4EH01LeokZv/zc3NTU1N9f2OQCBERESM0LYgCBo5MH9HCsvzNzo6WkxMTExM7LffflNWVl6+fPmqVatOnTpFIpFg/kLQWATzlzVqa2vr6uoYKyzPXx4ensOHD6elpfU5zeOMGTNg/kLQWATzl1kxMTFKSkqKiorS0tKFhYVYnbX5++rVK35+/gEXlZaWwpOdQ9BYBPOXKVVVVWJiYuhFzNra2np6erBFzOfv8+fPY2NjDQ0NRUVFSSQSDw8Pkw8IQRBbgfnLlKioKA4ODnt7+5UrV27YsIH5/K2uri4sLDQ3N9fX15eRkbG3t9+/fz+NRluyZAnjwW0QBP0LwPz9//Ly8vZ+9+TJE8Yw/ZGoqCgEQby8vLKyshQVFU+dOoUtEhAQyMrKev/+/ZcvX4beAzc398SJE/38/Bi/ygEAcHV1/fPPP4f+OBAEsT+2zt/RvNjnjh07Fi1aZPDdtGnT3N3df3qvO3fuIAiSm5tLp9ODg4M1NTWxRSQSaf369YaGhgcPHhxiD8+fPx8/fnxkZGT/Rc3NzR0dHUN8HAiC2FlPT4+Xl5ejo+P69evh9Y9BQUHBxIkTa2pqsEpjYyORSPzpHSsrK0VFRT09PalUqomJybFjx7BFQ5l/uHLlSlVVVVJS0qlTpwwMDKSlpfX09Ib3FCAIGnPYevw7aluqrKzk5uZ+8eIFVsnIyECv8PZT9+7dI5FItra26urqjAk+eP5++vQpMDCQRCLNmzdPWFjYy8vLx8dHQEDg2rVrw34WEASNLTB//8+OHTuIRKKDg4ODg4OVlZWgoGBMTMwQ79vc3Ny/OEj+lpWVTZ48WVNT882bNwCAlpYW9JvK06dPh/kLQf8dMH//T2Nj44sXLx58V1BQcOXKlV96hMrKyiEe/7BmzRohIaGvX7/2qevo6MD8haD/DrbO39GcbJaVlc3KykJ/plAoISEhQkJCQ797ZGQkgiAnT57EKmQyecA1W1tbubi4XFxc+i+qqKhoaGj4la4hCBrDmpqa4P43AAB49OgRFxeXvb19UVHRrFmzVFRUcnJyhnjfoqKiadOmIQji5+eHFX80/k1JSfn9998Z55ohCPpvYuvx7yhvr62tTVxcHEEQIyOjod+rt7fXyclp586dOjo6Q8nfkydPTpo0idleIQga+9g6f0dzsB0XF6elpTVz5swtW7YICAhcunRpiHe8efOmmJhYS0uLtLS0v78/Vv/R/ENqaioHBwfzDUMQNNbB+Yf/QyaTw8PD0WvIv3jxwtjYWF5efih31NHRWbt2LTr/a2VlhV0CjkgkGhoaOjo6Llq0iHH9lJSU1atXs7x/CILGkE2bNllaWqLfv2DT8e9obuz69et9Kl5eXkO5Y3Bw8ObNm0+ePIkgiJ6eHoVCQesEAuHRo0f917969aqJiQmT3UIQ9C/A1vMPeDfwCygUCh8fH+P8r6CgYJ8zPxQWFmZmZlpZWcH8hSAIwPxloaampvb2duwmtv8NPS44IiKCl5d3/PjxCILA/IUgCLB5/uI9Ac0UdP9bUVGRpKTk+PHjbWxsHjx4QKfTly9fvm7dOry7gyAIf3D/G7OeP3+upqb2xx9/LFiwoLq6GquLiIhkZGRIS0vv3r3748ePWN3d3R2OfyEIAmw+/sW7gSE5ceJEWFhYRUXF0qVLLS0tsTqJRJKUlBQSEmptbWVc/8aNG66urqPeJgRBbAfmL8ucOHFCRUUFu0kgEMaPH//p0yccW4IgiJ3B/GWNurq6OXPmHDp0CKsQCIQpU6bg2BIEQWwO5i8L0Gi0jRs3rl69ure3FysSCIRx48aZm5tv2bIFx94gCGJDhw8fxq5/AfN3+Hp6ejZt2iQvL19fX89YJxAIZmZmeHUFQRD7g+NfZnl4eCAIsmLFir/++mvbtm1YnUAgODs749gYBEFsDuYvswoLCxu+a2lpweoEAsHf3x/HxiAIYnMwf0cKgUA4cuQI3l1AEMS+YP6yQElJyYcPH/oUf3T+HQiCIBTMX2bFx8cLCwurq6svXLiwqakJq8P8hSBocDB/mVJQUEAkEoODg3t7eyUkJAIDA7FFMH8hCBoczF+mREVFTZ48uaurCwDg5+fX5/tvMH8hCBoEzF+mREVFSUhIoD/3//7xsmXLHB0dz5w5g09zEASxK/j9CxZISEggEAh1dXUAAFdX16VLl2KLCATCjRs38GsNgiB2193dLSMjA/N3mHp6eggEwsmTJykUCicnZ3R0NLYIzj9AEDQ4OP/ArFevXomJiYmKijo5OVGpVKwO8xeCoMHB8e9IgfkLQdDg4Ph3pMD8hSBocF1dXVJSUjB/h2/37t18fHxkMtnQ0DAnJwerw/yFIGhwHR0dIiIiMH+HLyYm5tatWwAAHx8fePwvBEFD19raysfHx6b5i/cFQH9NcHDwwoULsZtEIjExMRHHfiAIYnPw+se/IDQ01PSf3r9/jy76/PmzuLh4n+sPbdiwwd7e3tbWFqd+IQhiU6dPnzY1Nd2/fz/c/zZUz549c2ewcuXK9PR0AMCnT5/ExMQcHBwYVyYQCMeOHUtJScEyGoIgCJWTk5OSkvLy5UsODg42zV+8B+BDUlBQICEhYWFh0dHRwViH8w8QBA2us7Nz8uTJcP5h+JycnPj5+XV0dBYsWLB3716sDve/QRA0uObm5nHjxrHp+BfvBn5NV1dXeXk5dhPmLwRBg+vq6poyZQrMX9aD+QtB0ODg999YY/369dOnT2essEP+VlVVlZaW4tsDm+jo6MC7BdDb24ueKhpft2/fptFo+Pbw4sWL169f49sDAMDJyQnfBtg6f/GegB6qq1evEggESUlJxiI77H979OiRi4sLvj3Q6fRVq1bh3QJ927ZtbW1t+Pbw+vXr0NBQfHug0+kzZsxobGzEt4fTp0+HhITg2wOdTnd0dMS3AfT8O3D/2/B9+vRJWlo6JCQEOxE7ih3GvwkJCdbW1vj2AAAQERHBuwXg6ura2tqKbw/Z2dmnT5/GtwcAgJycXENDA749nD17Njg4GN8eGhoa1NXVKRQKjj2w9fgX7wb+4fPnz2fPnr3EIDY2lkql6ujobNu27fbt2/3zd8eOHZdwZW1t7efnFxMT86MV0tPTIyIikpOT79279/Dhw28jQ1hYeIQeGdPQ0NDZ2TnICn/++efLly9Huo3BPXnyxN3dfdQ2l5eXh/6Wc3Jy0Ep4eHhKSsr06dNPnTo1Wu/BgTk7O8+ZM2c0t7h3794TJ04wVo4ePYogSHBw8LAfc/v27Ux2derUKfbNX7wH4P/Q2trq4+PjxeD06dP5+fkIgkRFRR07doxMJhcVFWHrnz179uzZs35+fl5jnLq6+pIlS7S1tWezMXl5eQMDA7y7GEH6+vqqqqp9ilu2bMF+TR4eHgYGBji+T4bu1KlTGQxCQ0MZb16+fBldLTY2NqOfvXv3nj59un89LCwsOTm5fx1fjE/t/PnzKSkpV69eTUxM9Pb2xl6NtWvXfvv2Dcdk+xH2Gv8O6PPnz7q6urq6uvLy8giCRERE4N0RBEFjCTvsGR7QGMhfDDr/gO5W/vr16/r1652cnIqLi0dn693d3WFhYWFhYb6+vuikM41Gu3fvXlhYWHNzM7pOV1dXdHS0q6trZ2cnyxsoKSnJzs7GblKp1Pr6+uTkZMZ1MjMz0Qvlodra2r58+dLS0sKqHjo7O+vr67E9+9++fauvr6+vr2ec9m1qasJeEAAAjUarr69nrDAJ3SLjK1xZWZmZmdlnneTkZMZLpWRnZ5eUlLCkgZ6enpqamrCwsHv37qEvRUZGRth33d3d6GpJSUlhYWG1tbXYveLi4vbs2cOqLEhNTQ0LC/v7778zMjLQSlRUlLGx8f79+7En/unTpzVr1hw4cAB7uUJCQoyNjR88eMD44gxbXV2dubm5sbHxzp07m5ub29vbN2zYYGxsbGxs7Onpia7T3t7u7u5uaWn58uVLtPLlyxczMzNvb2/WxmJmZqaxsTH6TD9//uzs7Lxv3z7sjVdSUmJiYmJjY1NfX49V1q5d6+vrOxL/W4doLOXvt2/f0ONp6uvr+fj41q9fv27dulmzZo3O8UYNDQ0TJ050cXH5+++/ExISAAB79uzR1dV1cHAQFRVFvxWyePHiZcuW2dvbz507t729nYVbv3v3LhcXF4IgaWlpaMXd3V1YWJhIJGL7WOzt7eXl5adOnRoSEgIAoFKp1tbWwsLCwsLCaMNMysrKkpSURBDk4cOHaIWbm1taWvqPP/7w8PBAK35+ftLS0tLS0tu2bUMr+/btExQUJJFId+7cYb6H1atXS0pKTps2bcGCBU1NTQAABweHKVOmSElJXbp0CV3Hzs5u8eLF06dPP3DgAACgo6Nj2bJlkpKSUlJSu3fvZr6H9PR0Xl7eVatWSUtL79mzBwAwc+bMlStX/v3333///Tf6n9nf319QUNDFxWXatGmVlZUAgA0bNigrK6MVlrw3NmzY4Onp6ezsTCKR8vLy4uPjBQQErl+/PmPGjO3bt9NotNevXwsICJw6dcrQ0NDMzAwA8PDhQzk5ub///tvAwGDfvn3M9/Du3TsrK6u///5bRkbGw8OjrKwMfXs8f/783bt3AAAKhbJy5Upzc3NXV1cSidTU1EShUGRkZMzNzdesWaOpqdnb28t8GwAAKpW6dOlSBEFaW1vr6+uJROKOHTscHR2lpKQoFEp9ff3UqVN37ty5YcOGefPm9fT01NXVSUtLnzhxYv369Xp6engdLDiW8hcTGRkpJiZGoVCam5sFBATQ3/RIu337tri4OPYX+8OHD5MmTcrPzwcAzJs3LzQ09MOHDzw8PF+/fgUAKCoq+vr6snDrra2tpaWlgoKC9+/fBwA8evSIj4+vrKzs3bt348aNy8vLS0hIIJPJFAolNzeXm5u7oqIiLi6OQCCUl5ffu3dPUlKS+SMTKBTKw4cPHR0djx8/jla4ubmfPHmCrfDt2zcBAYHGxsbPnz9zc3MXFhaGhoZycHAUFhY+fvyYSCQWFhYy2UNFRUVHRweFQtHR0XFycsrLyxMWFm5raysrKxMREcnJyUlOThYREWlvb09MTOTn5wcAPHz4cPbs2R0dHTk5ORMnTsQGpMPW3d2NfsgIDw//3//+BwCYOXPm5cuXsRXq6uoIBAI6LDUxMTl27FhtbS0/Pz/63lBXV2dJ9mGmTJly69YtV1dX9G9eVlYWgiBdXV1mZmaWlpYAgMzMTHFxcSqVum7dusOHDwMA3rx5M2nSJFZlHwBg165dq1atQvP35s2b8fHx6KeukpISPj4+9C+lubn5iRMnzp8/P3fuXCqVWl1dzc3NjZ7Xm3n79u0zMzMTFBT88uVLZGTktGnTKBRKQ0MDiUTKzMx89uyZqqoqjUZraGgQEBDIyso6ceKEmpoajUZD37RlZWUsaeNXjcn83bBhA3ZQt7a2dkBAwChstK2tTVZWlkwmy8rK3r9//9GjR+h/bwAA+mkrISGBSCSilQsXLqBvfdYSFhZG89fb23v16tUAABqNJioqmpmZaWdnZ2hoiFYUFRXPnz+/cePGP//8EwDQ3d2NIAjjdUOY4ebmZmpqiv7Mzc2trq5uZGQUFhYGADh06NDMmTPRRYsXL7527ZqLi8vs2bPRyqJFi8LDw1nSAwBAX1//zz//3L9/v56eHlqZPHlydHS0j48POiYFAJDJ5AcPHuzZs0dfXx+tKCkpoS8gS1y+fFlGRgYAoK6uLiIiws/Pr6Gh0d3dXVhYiCAIevzZjh07TExMCgoKhIWF0T/ejC8gk65cuaKtrY0gSEdHx8KFC4OCgtC6hITEy5cvlZWV0c9Gzc3NJBKJQqEsWLAA/Wz05s0bBEF6enqY76GkpMTIyIifn//s2bMNDQ22tra2trYaGhpqamrNzc1RUVELFixA1/Ty8jIyMjpx4oSjoyNamTVrFvaphRnZ2dkkEqmurk5GRub69euHDx/W1NREF02dOvXmzZsBAQFaWlpoRUpKKiIi4uDBg9ra2mgF/QPGfBvDMCbzd//+/TY2NgAAGo2mrKzs7+8/mlt/+PDhjBkzGPPXy8urT/5evHgRyx0WwvLXzs5u06ZNaFFPTy8oKMjW1hZNWwDAsmXLfH19N2zYsHnzZjCS+fvy5cvMzMzY2Fhubu7S0lJXV1dzc3N00bp169zc3FxcXCwsLNCKiYmJu7s7S3q4ceOGsrLyt2/f9u3bh+Wvnp4emr/Y8b9kMjkmJoYxf+3t7f38/FjSQ1ZWFolEio+PxypFRUXS0tIxMTED5q+6ujq6Ggvzt6CgIDExUVxcPDc3t0/+dnV1YfkLABAXFx+h/G1oaMjMzDQzMzMyMsKK6FceLly4cPXqVcb83bBhw4kTJ7BL2LAqf1euXBkcHPz27VsJCQmYvyMuMjJSUlISANDZ2YkgCDavPzoaGhpmzJjR1dWFftYGAOjq6qL5y8PDg1a2bdvm6urK8k1j+btz505VVVUAAI1Gk5CQeP36tZeXF5q/VCpVXFw8MzPTw8Nj7dq1YATyF51XZcTFxRUcHBwWFoa9p7W0tK5cueLi4jJnzhy0oqGhcfXqVeYbiIiIUFZWRmcAGPMXHf+ePn16zZo1aKV//iorK7Nk/Pvq1SsCgRAXF9en7u7u7ubm1id/nZ2dCwoKJk6ciH4kt7a2ZlX+opydnb29vR0dHVeuXAkAqKys5Obm7urqcnBwQM+X/eHDh3HjxlEoFAMDA/TP9qNHj1iVv6isrKw+3wD6448/Lly4UFJSIiQk1Nra2tnZKScnd/HixYiICDk5OQqF0tHRISkpie1LYIa9vb2FhcWiRYsQBLG1tX3z5s2cOXN6e3vb2trIZHJycvKlS5fk5eXRXY5SUlLv37/H8reqqoqHh+fZs2fMtzEMY0traJcAACAASURBVDJ/y8vLRUVFt2zZYmxsLC4uzsL9+4N4+vSpj49Pfn6+gYHBqlWrAACzZ8/+66+/bt68KSgoiO5U1dLSsrW19ff3Hz9+PAs/5wIAqFRqTU2NoKDgtWvX2traXr9+zc/PX1VV9fHjR05OztLS0uzsbDKZ/Pnz50uXLk2ePLm5ufnly5dEIvHz589hYWGioqIsOQKhsbFx8+bNRkZGra2tX79+ffPmDQDg06dPkyZNSktL+/jxIx8fX2pqakpKCh8fX0FBQX5+Pg8PT2lpaXFxMRcXV0FBAZMNREdHc3JyFhUVdXd3d3V1lZSUcHFxvX37NjY2lpeXt6qqKjc3l0wmFxQUxMfH8/Ly0mi0+Ph49PSDN2/elJCQqK6uZrKHmpoaGRkZLy+vmpqa2trauro6b2/vioqK5ORkXl5edEJcXl7e0NAwMzNTUlLy06dPAAB9ff09e/YkJSURCITU1FQme2htbbWysjp79mxgYCAXF1dmZuaTJ09ERETOnTunrq6+cuVKKpVaVlYmICCwb98+DQ0N9E/my5cv5eTkzp07N3369AsXLjDZAwDg+PHje/bsuXDhwoIFC5ydncvLy42MjC5cuGBlZcXNzV1bW9vR0aGtrb1ixYrt27evWLEC3VW+evXqnTt3amtrKykpsfCrcdXV1by8vFFRUa2trYsWLdqzZ4+zs7ORkVFvb29VVRWJRPLx8XFycpKSkuru7q6oqCCRSHv37t2yZcuaNWtYcjTIMIzJ/AUAxMXFeXt7e3t7v3r1anS2+PbtW3SLa9asQfdlVVVVrVq1ytvbG/tqTV1d3ebNmxUUFPqPEJmUlJSk8N2WLVsAAG5ubvr6+jo6OkeOHEHX8fb2FhERIZFIL168AADQaLRLly4JCAgoKiqy5CNCR0cHDw8PgiAIgmhraxcXF0+aNElJSUlAQAD7yP/48WMuLi7G/XK7d++eO3fu3LlzWbLTafny5fPnz3d0dNTT09u+fTsAICEhQUBAQEFBISYmBl3n8OHDOjo6ampq2J/AgIAAOTm5FStWJCYmMt/D27dvsd+FkpISAGDv3r0KCgpGRkbHjx9Hd2qVl5cvXLhQVVUV66GlpWXv3r0WFhY3b95kvgcAQHh4OPqGjIiIQHffo5VDhw5hf2MePHjg7e0dGRmJ3evFixfe3t63b99mSQ8VFRX79+9H2ygvL29ubkZ/vnDhAnrUBwCgra3N19fXz88P23fd2trq6+vr7e3N/N/CPgIDA9Hj/1paWnx8fAICArCDo0pLS318fLy9vYuKitDKq1evvL29L1++jOMJm8Zq/kL99fb2trS0oBMgmD43mUGj0cq/Q/doV1ZWlpeX9zmiAB0SMlZaW1tZdV4I7FDNzs5O7AQLQ3mOLHwdIIhVYP5CEAThY2zkb3d39+vvcPyyCgRBEAuNjfzNzc2VkJDQ19efNWvWhg0b8G4HgiCIBcZG/mKePXuGIMi3b9/wbgSCIIhZYyZ/Kysr/fz8li9fvmbNGux7k8XFxaNz8BkEQWNXdXU1O1yVqr8xk78JCQne3t6ampq6urrYMYNkMplIJJLxM336dAcHh7lz56I37ezs0IPe169fTyaTdXR0HNhPeHj4/fv3T5w4MeBSHx+fnTt3Mlbu3LkTFBR048aN+/fv379//9KlS6Ghoff/KTQ0NCAg4P7Q3Llz59ChQ9hNf39/JyenQdYPDw/HmgkODnZ0dBzZF4h1VFRUsH9R2traOL5d/7N4eHjY9PzreDfwa+rr6wkEAnbSxZG4/lBbWxv2P7+0tPSnaeLk5KSlpTXE6BkJkZGRjo6OkyZN8vDwcMTVH3/8sWTJkh8tPXPmjJeXF/Nb2b9///3797du3dqnHhkZef/+fS8vr/nz5+P460CJiYndvHlzwEV93lTY6RBZLjEx0d7efoQefOj++OMP5s95xIyOjg4RERGYv8OXlZV148aNly9fXr58GT2LHVqH13/DCAsL4/4Oc3V1RU8Ih6Ps7OwVK1bg2wNgj+u/paSk4H79N8AG+QsAUFdXx/1/x4DGRv7GxsauXLly5cqVpqamjGfaZof8ffTo0fr160dnW0uXLt2xY8eAi4SFhUfnPJyDcHV1vX79Or49ZGdnY2d7wBE75O/9+/fRs+3gy9DQEPdjRmH+jgh2yN+RUF9fP+D34oWFhclk8oB3wT18AQCRkZF4nUcVU1ZWlpKSgm8PAIDg4GAWnt1meFpaWtjhujs1NTV4twDzd2SM3fxNS0tbsmTJj5by8vIOeMYGYWFhEonE2itrQNC/HsxfZlG/YywOnr94XVNkKGJjY3/77bc1a9bY2dlt2bKlz2dVBEEGPD2VsLAwgiDZ2dk0Gi0jI+PSpUvYVDgEQT8C85cpWVlZAgICoqKikyZNYjzp6iD5u23btq1bt45Wg79sz549IiIiDx8+fPjw4fLly2VkZI4dO3bq1Cn0szOCIObm5v3PiSciIjJp0iQ1NbVp06aJiYkJCQnp6Ojg0T4EjSUwf5ny8uXLhw8f0mi0gwcPioqKYrNag+SvpaUlO+evmZnZxo0b0Z97enrevn1rbW09ZcoUBQUFAAB6jseZM2eil1Z6/vy5rq6uvLz8hAkTAgICZs6c+eXLFwBAe3u7qqpqVlYWjk8EgtgfzF/WuHv3LoFAwL7z9qP8ra+vl5WV3bp1K41G6+np6enpYbe5CFFRUSx/MTk5OeiJvREEQU9kPm/ePDKZzM3NfeHCBW9vbwRBqqqqsBP+AgC8vb0VFBTgyRUhaBAwf1mgra1NTk4uMDAQqxAIBGdn55MnT4aGhjKumZKSgiCIvr5+SEgIOpbU19dnMoLz8vJYeDTPgPkLAMjOzubk5NTT00tPT++zKDc3d9y4cf3vsnbtWnY44gqC2M2bN29Onjx55MgRBEHYNH/pY0Rra6uWlpaRkVFnZydWJBKJZ86cycnJeffuHePKqampCIPAwEASiRQYGIguff78OfpDWFjY0Buws7ObMWMG08/j/4iJidnZ2Q24yMzMzMHBYcBF79+/71/Mz88nk8nPnj1jVW8Q9O9QW1ubk5OTk5OjqKhYWFiIdzsDGBvj3/b2di0tLUlJyT5Hxf5o/gEd/yII8ttvv+3evbuqqurixYsIgkRERNTV1fHx8e3evfvjx48cHBzYV5l/au3atePGjVu3bl10dDTzz+hH418AgI+Pzy99bZRKpW7dulVKSopEIpFIJGFhYV1dXUFBwR07drDbrAsE4QLOPzAlLCxMUlJSWVlZV1fXzMwM+zrNT/MXu+h3Q0ODs7MzgUDYuHEjumtr69atJBKJSCSWl5cPpYe1a9cKCwtLSkpycnKGfPf48ePhPaNB8re2tnYY3+Ktrq4+cuRIQkICek3M9PT01atXe3h4DK89CPo3Yd/8xXsA/gvKy8tzc3Nzc3N7e3vRCpFITExM7L8mOv9w7ty5oqIixnpQUBCCIHp6eufPn587d25dXZ2Ghsa2bduGsnVtbe3U1FQ6na6goCArK+vn5+fg4CAlJdXV1UWn00NDQxsaGob+XMTExHbs2DH09YfhyZMnwsLC7e3tI7oVCGJ/ixYtgvMPrDf4+DcpKalPnUqlqqurm5qaUqlUdBB98uRJAoGA/m388OFDVFTUj7Y1adIk9ODco0ePopfRbW1t1dHRmT59OnplePSYsCESFRVlPJHFSKDRaMuWLVNUVMT92/fDlp2dXVJS0t3dbWVlFRoail7allFGRkZ4eDguvY1F3d3d3d3dlpaWq1ev/hdcxKC3t7e7u/vly5dhYWEAgIsXL8bHxw+4Jhz/johBxr+//fZbenp6/0Vubm5mZmaMFUdHx5UrV9Lp9CdPnvDy8v5oWxwcHOj4tw8zMzN0riM5OXmIbdfV1fHz82Oj+JHT2dk5c+bMX9rNyD6+fPkyadIkSUlJHh4eOzs7Li4uBEHKysrodHp3d3dxcfHVq1d5eXlnzJhBo9EY74ie0RGnrtlUaWkp+kbl4OAICAiQlZUdcztsGxoaiouLHz9+HBwcHBwcbGZmJikpiSCIiIiIkJDQ169fZWRknJyc6HQ6hUK5cOFCcHBwWFhYT08PHY5/mff27VsvLy8vL6+cnBysOMj4d9KkSQM+zvbt201NTRkrbW1t/Pz8r169Sk5O5uHh+VED2Pi3D2dnZwRBCAQCmUzetWtXenr6T8+0/+bNGwRBRuf8LDt37jx69OgobIjlcnJyVFVVaTRaZWUlACAvL4+bm3v69OlOTk7Jycn8/PympqapqanCwsIeHh7oe+P+/fttbW0qKipPnjzBu302Ul5erqen5+XllZeXV1JSAgCwsbHR1dWNiYkZ/WYiIyPXrFnz008tSUlJERER6enp9+/fR3+5kpKS06ZNs7Ky8vf39/f3f/r0aV5eXl5eXltbm7Ky8uTJkw0NDSUkJDo6OmxtbVesWOHv76+np+fo6Ojm5sbJycmm41+8Gxiq69ev+/j4IAjC+JtjSf4CAExMTFxdXQfPXw4OjrS0tP51f39/fn7+CxcuKCoq7t+/X0dHZ9OmTffu3RskhUc5fw0NDUdhQ0PR5ylTqdRBjtDIycnR1dVlrAQGBp4+fXrq1KlLly7FTim7cOFCCwuLy5cvHz58mIODQ0hICEGQe/fujUT/YwiVSu3q6iorK/Pw8Jg7d66npyfjG9LPz2/8+PGcnJxFRUVopbe3t7S0NDIy8q+//rKxsdm/f3+fX01XV1dXV9eAp+X7qejoaBsbG2VlZTKZvGDBgt27d0tJScXGxvb29t6/f7/ru6dPn9bV1VEolLt37woJCa39zs/P7/bt2w0NDf0noFBlZWVJSUnfvn0jk8lCQkLr169HPwNlZmbOmDHD1dVVRUWFTfMX7wH4L+ju7kYQhPFQ30HmHzg4OAZ8kAsXLmzdurVPMTo6WlZW9sGDB4PMP5DJ5AHr6LfUsJtVVVU8PDzc3NxSUlIrVqw4fPhw/7u8ffsWQZBRmH+g0+kHDhwwMjIaZIWMjIxXr16NQid0On3ZsmX+/v5BQUHr1q1bunTprFmzzMzMrl+/jk0gUKlUbDdmbm7usmXLhrEVY2PjGzdu/HS1iIgI9OPqv0lxcfGXL1/OnTunra2NzjZs374dO+Ad09raWl5evnr1agsLi6CgIB0dHWlp6RUrVmzdutXb2zsxMZGTk/Ps2bNfvnwJCgrat2/f0qVLeXh4pKSkhIWFf9pDbW1tUFBQaWlpYmLi+/fvX716RSAQwsPDX7x4ga3j4eHBwcGhoaExZ86cBQsW8PHxcXFxSUlJ8fHxiYmJBQUF6erqDuPpFxQU9PkqAArOP7BAV1cXgiC3bt3CKgQC4fjx42lpaRkZGYxrDjL+HVB3d7ecnByRSFywYMGAKxQWFpJIpB/dvaqqivHmnTt3Xr16BQCIjIxUVlbuszKFQnF1dZ0+ffroHJybkZExyPj369evXFxcy5YtY+1Gq6ur+xcrKytFRUU3bNhgZWWVn5+fn59/9+5dUVHRWbNm2drapqWlpaWlubi4zJkzBx2p9R//DpGjo+NPD6D29fXl5uaeNGmSi4vLx48fh7GVUebu7n7s2LH+9ffv38+fP3/mdzNmzFBTUzM0NDx27Fh+fn5paekgj1lWVrZnzx5DQ8O8vLy7d+8yXso2KSlJTU1NTU1NW1s7ICAgOzsb3bWlpaV16tSptLS09+/fMz5Ua2vrqlWrZs6cqaysbGBgoKamNmXKFH5+fgKBoKys/Pfff/ff+unTpxEEQc9eUlNTgx4G+vTpU1FRURERkXPnzg3rdfqHioqKtLS0J0+eiImJsen4F+8GfgGav69fv8YqBALBw8PjypUrfaaTfjV/AQBv3761tbUlEolUKvXIkSNaWlorVqzAgvXq1atEIvFXG46Li/v9999FRESMjY0bGxv19PT4+flFRUVNTEwGPL3vSBg8f2/evEkmkwUFBa2trQMCAgb5k/D69etdu3bV1NS4u7t/+PDhR59De3p6du3aVVdXh1V6e3uTkpJu3bolKyuro6PDeFK37u7u169fV1VVycjIcHBwcHBwqKurz54928jISF5eXklJafny5cN4yqGhodix1c3NzQ0NDdhGHzx4ICsrKygoaGho+OzZs+Li4u3bt/Py8h4+fHgYGxppNBqto6MD/bPEzc1taWnZ09PT0dGRn59vbW1tbW3t4OAwderUI0eONH73q/MD6CEEQ18/OjraxMTExMSEn58/OzsbLTY1NWlqaq5evbqxsREL8ZaWFrQl9KCL/g9FpVKfPXvW/y0XGRm5d+/e/if/G4bk5OQrV66cOXPm999/h/nLLDR/Gaf2hjH/O4jk5GQEQUxMTMTFxcPCwszNzZ2dndFF9vb2lpaWv/qAz54909fXb21t3bhx44wZM3bv3p2UlDTK18IaJH83btwoIiISEBDAy8sbGhoqLi5+//59bGlISMjr16+/fft28+ZNbW1tWVlZbm5uRUVFTk5OBEGCg4PfvHlja2sbGBgYGBioq6sbFhZ28eJFDQ2NRYsW8fHx5ebmFhYWZmZmKigoWFlZKSgoGBsbD6Xh3Nzc8+fP79ixQ0NDIzU1dRhPOTk5+X//+9/69et1dXXl5OS2bNni6+urr68fGBiooqKyf//+PkcKHj16dHhBPzxv3rzBkqumpqawsLBPaFIolMLCQk9PTxUVFUVFRRcXFxcXF0tLS0NDw2XLlklISJiYmLi4uJw7d44lITU8QUFBixcvXr58uba29syZM318fH4px0cZ+x5/hncDQ1VaWrp9+3YEQRYtWoRl7iD5O3fu3F/dBJq/CxcuRD9bvX//npOTMz4+Xk1NbcKECX5+fkw+BVwMkr8zZ84UERFpa2v7+vUrAODUqVNCQkLm5uZOTk7KysoiIiLr1q2TkJDYvHnzyZMn0QMtpaWlrayslixZoqmpOWXKFD8/v0OHDh06dMjMzIyDgwNN5/b2dnt7ewRB5syZs2nTphs3bgAArl+//kvXQ2tqamLm2jnv37/v7OwsKChobGxcvXq1mpramjVr1NXVfX19W1tb+6xcVlYmIiLSvz4SPn36RCQShYWFAQDx8fFTp06VkpJav349NoGWnp5uY2OjpKRkaWmZlpbGGGqioqLS0tLD2wM2Qr58+bJx40bGQ5LYE8xfZtXV1V37DjsObJD8NTEx+dVNoPmLjbmoVOrZs2fXfff8+XNm+scLY/6WlJRERERERETY2trKyMiIiYkxXjWOSqU2NTU9ffp0+fLlAQEB6Ktx4MABxkfLzc1tbm6+fv06giBmZmZYnUKhtLS0lJeXowd+oT/09vaOxjP8mZ9+xG5vb5eQkECPcvsRGo3m7e0tJyd3+fLlmpoaW1vb2NhYAEBBQYGlpSV6UNePZGZmRkREJCYmNjc3KygoXLx4cfHixe7u7rNmzQoPD//27dvGjRulpKQUFRX19PSmT59+7dq1Af9Wffr0CZcjxv4FYP6OCJbn7yDHn41RGRkZ6F6sz58/S0hIqKqqurq6xsfHJycnt7W1DXJHKpUaGBg44LXmqqurk5OTB9+3M7bY29traWkZGxv3T+rOzs6TJ086ODjo6+snJiaqqqpKSkqGhIQQiUQtLS0NDQ1NTU1/f//+j9nU1GRiYqKlpSUqKhoREbFmzRoZGRn0hPoBAQFGRkaMezKqq6tjYmKWLFky+J8BaHjU1dXZc5AO8/f/Kysru3nzJiv6YiMZGRnjx48HAKioqEyYMGHwzP0va2lpkZWVRc9e1NXVhf118fPzmz179uHDh4uLiwEAnz59On/+PJVKTUlJQX8ICgpSVlbufzS3iYnJwYMHP3z48OnTp9F9KlBf6urqCQkJeHcxgLGRvzQaLTY29saNG30+6LE2f/+VsrKyJkyYUFdXRyQS4ZWKBmdgYODq6mpgYCAkJCQnJ/ft27cHDx4ICwujUw0/0tjYqKSk5O/vj8230Gi0hIQEbm7uvLy8UWkc+gl1dXX2PMpwbOTv/v37yWSyi4sLkUhknLKE+TsUU6ZMUVFR0dbWxrsRdnf58uWJEyfevXu3q6tr9erVCIJYWVkN5SPRy5cvNTU15eXlNTU1LSws9PX1JSUlHzx4MAo9Q0Ohrq7Onl+JHAP5S6FQODk5r169CgBAD8TBFsH8HYqHDx/q6emhH5+hQbS0tGDnzOvs7IyMjBz6fWk02p9//nnz5s1jx46dOXOGnQ/G+g+C+9+GD/3aMTp9fuLECRUVFWzR7Nmz792719ra2ucUizB/IQiiUCitra0NDQ2ysrIwf4dpkPyVkZFRV1efN2+epqYm411g/kIQdP/+fSMjo61bt3JwcMD8HSY0f9ELte3Zs4cxf+H8AwRBP6Wurn7nzh28uxjAGMhfAMDGjRv/+OOPCxcukMnkS5cuYXWYvxAE/RTMX6Z0dXW5urqampr22acM8xeCoJ+C+99GBMxfCIJ+Ch5/NrBVq1ah3zganh/lb3JyMsxfCIJQ6urqjx8/xruLAYxq/n79+hU7Uen79+/r6uoEBQUH/3IRikKhvH///sOHD33qP8pfd3d3mL8QBKHU1dWPHz+OdxcDGNX8XbhwIek79JqV48aNG0r+omeeRBCkzxUwYf5CEPRTMH8BAEBMTCwqKqqDwRDHv58+faqpqSESiehFUDAD5m9XV5epqamFhQUrW4cgaMyC8w8AALB79+7g4GDGytq1a4d+Xoyh5G9DQ4Oampq6ujo8jx8EQSj2Hf+O5sU+Q0JC+lSCg4Pr6+uxmyUlJZqampqamlu3bl28eLGUlNTmzZuxpQICAgkJCYx3nz59ekBAQGJiYm5uLloxNjbeuXPniD0DCILGjJKSksTExMTExNmzZw94oXTcjfb8r46OTllZGQDg3bt3xsbG3Nzc6MVvUDQaLSYmJpIB4xn8+o9/tbS0HBwcIiMjd+7cmZaWVlFRQSQS8/PzR+0ZQRDEtlJSUtAYkZOT63PBZjYxqvnb0NDg7+9PIpH27NkjKCi4c+fOmpqaodyRQqHk5eXx8fGdOXMGvTg5Cp1/aG9vX7Zs2cSJE0VFRS9cuDBi7UMQNCapq6szXluWfYzq/AOdTu/q6po6dSqCIMuXLx/6vWJiYpDvwsPDsTqRSExMTAwNDR0/fvyLFy+Ki4upVOoIdA1B0Bi2aNGiM2fO4N3FAEZ1/Hvz5k0JCQlPT8/bt2/PnDnT1NS0z3zCILq/o9FoWBEd/3p4ePz7rtsGQRCrwP1vdDqdLiIicvDgQezm2bNnx48fn5GRMewHRMe/mzdvDgwMZEWDEAT9Cy1atIg9I2JUx7/l5eV9Kg8ePBj82t2DQ8e/M2fOzM7OZq41CIL+tdh3/It3A0OSnZ1NJBIJBMKECROio6OxOoFAOHPmzIQJExobG3FsD4Igdsa++Yv3AHxInj9/fuTIkZqamtDQUG5u7ubmZrROJBLPnDmjpqaGb3sQBLEzOP/AGsXFxfz8/C0tLehNAoEQGhqqqqqKb1cQBLEz9h3/4t1AX7du3TL8J+yL2x0dHUuXLrW2tsZWlpeXt7a2VlJS6nP9TQiCoI6Ojtra2traWmVlZZi/Q5Kenu79T69fvwYAtLe36+rqGhgYdHR0YCtbW1sjCCIrK/vXX3/h1zIEQewoNTXV29vb09OTi4sLnn9n+Do6OvT09BQVFfuMc9H8fffuHV6NQRDE/uD8A1NCQkK4ubmVlZV///13Mpnc1taG1mH+QhD0UzB/mVJTU1NVVfXly5cXL14wnkfD2tpaQ0ODcUYCgiCoD5i/I8La2trZ2RnvLiAIYmswf0eEgoICzF8IggYH85cpT58+nT9//vz5862trRl3wcHxLwRBPwXzlykvXrw4f/78ixcvSCTSsWPHsDrMXwiCfgrmL2ssXrwY5i8EQb8E5u+QtLW1vfqnDx8+oIvc3d0VFRURBMnNzcXWh/kLQdBPwfwdktra2mnTpq1ksGPHDnQRhUJ5/fq1lpaWh4cHtr61tfWsWbMcHR2dnJxwahmCIDZVWFgoLy9vYGAgIiIC83f4sNNLHj58WEtLC6vD8S8EQT8Fx7/D19vbKy0t7erq6uDgMHXq1IcPH2KLrK2tQ0JCcOwNgiD2B/OXKXFxcefOnTt37lxRURFj3dra+tGjR3h1BUHQmADzd0TA/IUg6Kdg/o4ImL8QBP0UzF8WePXq1fHjxysqKrAKzF8Ign4K5i+zuru7+fn5+x//C/MXgqDBwfxl1rFjx1atWgXzF4KgXwXzd6h6+gEAxMTECAoKVlZW9s/fhIQE/JqFIGgMgPk7VIqKihIMuLm56+rq5OTkAgMDGxsb++fv+vXrT548efnyZRx7hiCIDaWkpGzfvj06Onrq1Kkwf4ejoqKip6eHj49v2rRpEhISCIIsW7YMHRQDAKytrTdt2pSbm1taWopvnxAEsZva2trc3Nyenp65c+fC/B2+5ubm+vp6dP4hJSWFRqOhdWtr6wcPHuDbGwRBbA7OP7BAT0/P4sWLq6qqsArc/wZB0E+xb/7SxzIbG5vExES8u4AgiK0tWrQoMDAQ7y4GMJbGv/3B8S8EQT/FvuNfvBsYkurq6kePHn358uXevXsUCgWrw/yFIOin2Dd/8R6AD8maNWvk5eW3bt26dOnS2tparM4m8w+FhYV4twCxl+bmZsY3Ki7a29vz8/Px7YFOp5eWlvb09ODbA5x/YIqOjo6vr2//OpuMf5WVlfFuATg7OycmJuLbQ2pqalRUFL49AABcXV3xbgHs2rXrypUr+PaQk5Ojo6ODbw8AgHnz5tXW1uLbA/uOf/FuYEgMDQ15eXm1tbXt7e3LysqwOpvkr4ODA94tAFtb29jYWHx7SE5Ovn79Or49APb4dbi7u8P8RamoqMD8/RG2y181NbWZDMzMzAAADQ0N+fn5+fn5qqqqbm5u2MrW1tYeHh6puLpz5878+fN/tLSgixVXigAAIABJREFUoODt27epqamZmZllZWWpqakAgLKysqqqqurq6tbWVla9bra2tteuXWPVow1PcnLy7t278e0BADB9+nTsCHHmlZSUpKWlVVVVpaamYl/8qa+v//r16yDvCgsLi127drH6vfZrAgIClJSUHj9+7OHhcfXqVU9PT4/vDhw4kJqaevLkydTU1FOnTl27ds3DwwP9F/3h9u3bDx488GAFFRUVZ2dnljzUsImJicH8HZJnz55dZfD69WvGpTo6OioqKtjNkydPrhstcnJyA/48c+ZMDgbKysqMN/n4+Hh4eDg4OLi4uIhEIgcHB5lMJhAIAgICAgICQkJCZBbh4+Pj5+fvXyeRSOhWCAQCWhEWFubn5xcUFBQUFCSTyfz9CAoK9i8OBTc3Ny8vLzMP0qd5YWFh9HHQVoeIi4trmC/iQAgEAicnp4CAAAcHh4iICFokkUhoZSiMjIzmz5+/fPnyUXuv4mv//v3u7u52dnYDLhrKI2zYsGHnzp2s7Qr3T4cDGgP73wAAd+7cKSwsLCgokJWV9fb2xrujsaSoqKiqqopOp2dlZVEoFDqd3tTU9Pjx48rKypKSEiqV+vifnjx5UlZW9ni4uru70R8qKyuHcXcajcbY/Ldv39DHqaiowOflg6CRxHbj3/6oVKqxsbG4uLiKisqmTZu6uroAAF1dXSkpKSkpKYWFhaPWydu3b9GNvnr1CisWFhYyftptb2+vrKwctZYgNvH582fsX9THjx9TUlLa29uxSm1tbUpKSnl5OUu22NjYiL4bsTNSYRXsHdjQ0JCUlBQeHo7dq6GhISQkJCQkBP1/xLzMzEx0o1+/fgUAZGdn79q1y93d3c/PDztU9PTp0+7u7nl5eejNlpaWiIgId3f3/Px8lvSA6ujoCAkJweaaT58+HRYW9unTJ/TmgC9XSEhISkpKZ2cnC9v4JWMgf1FdXV1YzFGp1JUrVyoqKi5atGjy5MlNTU2j0EBjY+O4ceP09fVNTU0PHz4MAHj//r20tPTixYtXrFhRXV0NAMjPz5eWltbS0iKRSB8/fmTh1js6OrS1tXl5ef39/dHK2bNn0bkFZ2dnKpUKAHjz5o2kpKSwsPC5c+fQSlxc3MKFCwUEBFh1SICvr6+enp6Xlxd6c/fu3VOnTiWTyeLi4ugbvbCwUEVFhZeXF9sR9/HjR0NDQy0trV27dqFdMSMuLg6dplizZk1JSQkAoLy8XFZWlkQiGRsbo+vcu3dPQEBAWFh48+bNaOX+/fto5cyZM0w2gFJWVp46daqampq5uTmVSt2zZ4+0tLSjo6O1tfXz588BAMnJyTw8PCoqKlOmTEFD+evXrwoKCgYGBmJiYlgoMOPx48eLFi0yNTUlEom3b99uampSUlLatm3bkiVLli9fTqVSm5qa5s+fb2lpqa2tje6TbGxsnDdvnomJiYKCAkv2UhYXF7u6ul67dk1dXX3hwoUAgDlz5qxcufLatWvXrl1DI37Pnj1SUlL79++XlZVF/1PY2dkZGxt7enqSyWQW/ufdvn07giDoG8/d3X3hwoX6+vri4uLon0Bzc3MzMzM3NzcymVxcXEyj0TQ1NVVVVVesWCEtLY1XBI+B+Yf+vn37Nn78+IKCAiqVOnfu3JiYmFHYKHb2y5qaGrQiKirq5+dHp9Pd3d3/+usvOp2uoKBw7tw5Op2+YcMGTU1NFm69u7s7OTl5xYoVmzZtotPpNBqNSCReu3attrZ2ypQpUVFRVCqVSCSeOHGipqZGUlLyzp07LS0t8+fPz83NTUpKIhKJubm5TPbQ29ubnJy8bt06MzMztGJubm5jY8O4zvLly21tbZOTk4WEhO7evUun08XFxffv39/Q0CAnJ3f58mUme0hJSUlLS6PT6Z6enjNmzOjq6po1a1ZISEhxcbGkpOSVK1fodPrkyZOfPn3a0tIiISGRkZFRXV0tJSV169atlpYWcXHxpKQkJnug0+np6el0Or2pqYmHhycxMdHT03Pt2rWMK6A73Ol0urOzM/oSqampeXl50el0Jycn7AVkiY0bN9rY2Ny7d2/evHk0Gq2trU1YWPjp06dnzpyRlJTs7e1ta2sTEhL6+PHj6dOnlZSUaDRaZWUlNzd3b28vq3pA/97Q6XR5eXk/P7/Pnz83NDSgi+bMmfP06VM6ne7q6urg4FBdXc3FxVVfX9/Z2blkyRLm3xKo9PR0MTGxuXPn3rhxo6ysjIODIysri06n6+jo+Pn5lZaWTpo0qaOjg06nW1paHjx4MD8/H0GQ8vJyOp0+a9asgIAAlrTxq8bM+JdRZGSkpKQk+vO6deusra1HYaNo1gsJCfHx8QUGBgIAJk6cmJaWBgC4dOnSrFmzAAD8/PzoR7+SkhISidTY2MjaHuzs7BwdHQEASUlJvLy8NTU1AABLS8t9+/bl5uaKiIigI45t27b5+vpGRUWJi4ujd9TR0Tlw4ABLeoiNjTU1NUV/NjMzmzdvnpubW1JSEgCgsLCQm5sb/Xy9efNmNze358+fc3BwoBUfHx87OzuW9IC2IScn9/r1awRBent7AQCOjo52dnb5+fmzZ89G13FwcHB1dX358iWC/N/73N7eHn0BWaK5uZlAIJSUlHh4ePDw8MjKytra2lZXV9fX1xOJRPT4s2fPnnFwcHR0dEhISKDvjadPnwoJCbGkgStXrri5ufHy8sbExPj5+S1duhStKyoq3r59+8CBA9jxZ+Li4lFRUa6urgEBAWhFTEyMJQeM5+Xlubm5SUlJoZ+KVq9evXjxYmVlZRkZmdLS0srKyokTJ6JzAhkZGUZGRsXFxQoKCuivzNPT08bGhvkeAABz585NTU1dv3799evX79y5M3XqVHT2w8XFxcLC4v379wiCoAPhrVu3WllZ5eXl8fPzd3d3AwCcnZ1HJ0P6G/P5GxQUpKqqOjrbff78eUtLy6tXrwgEQk1NTf/8FRERQT9i19XV/f7774yHKrMElr/R0dGTJ09Gi6dOndq3b9/du3fFxMTQSkhIiJqa2gjl79OnT7H8vXPnzvXr10+cOMHPz5+UlJScnMzNzY0uunr16uzZs9G/E2jlypUrcnJyLOmhrq5OUVExNDS0f/5mZ2evWLECXc3BwcHe3p4xf318fFiVvzQaDf3cAwDo6upqaWlpaWkxMzMzNzf/8uXLb7/99vbtW/A9f1taWrDP2k+fPsVeEyalpqaGhoZOmzYtMjKSMX+dnJwGzN8FCxYEBQWhFTExsbt37zLfA4VCuX79upOTE3pgEnqIHo1Gs7a29vX1LSkpQRAEzd/U1FQ0fxcsWIDe19PTE5s1YkZQUNDixYs7OjqmTp165MgRdGYGXTRI/goLC6MZDfP317x+/ZpAINTX1wMATE1NGY8IHh2qqqpFRUUTJ05Er3506dIl9CtwEyZMSE9PBwBkZWVhozAWYhz/CgkJoaNdKysrNH8Zx79LlixJSEgY6fEv5u+//96+fXthYSE/P39HRwcAIDQ0dMWKFYz5e/r0aX19feYbqK2tVVRUtLe3p9FoA+avhoYGumb/8a+XlxdL8pdGo3l5eZmbm2NHBKPCw8PXrl0LAJCTk8PGv+g7QVZWNi4uDgBw8eLF/i8gM86fP29tbR0REaGqqkqj0bq7u//444/bt28HBQWpqamh64iLi799+3bXrl3Lli0DAHR1dYmIiKA7LViitraWn5+fseLi4rJ69eqGhgYSiZSZmQkA8PLysra2Li4uRhCkrq4OAKChoXH06FHmt7579270gymCILNmzSoqKpowYQJ6cP3KlSsdHR3RCvpnwM7OzsfHJy8vD0EQ9L1qa2u7d+9e5tsYhjGZvxQKhUAg7NmzJzExkUgkoh9+R1pPT8+TJ086Ozu/fPkiICBQVVVlaWmJfqDW19c/cuQIAGDZsmXbtm1raGjQ09PbsmULy3vA8hed/01MTKTRaFOmTDl16lRzczP6UtBoNCUlpdOnT/f29goJCaWnp/f29kpKSrJksAP+GR/YfqRNmzZt374dAKCkpIR+BVlbWzssLKy9vZ2TkzM+Ph4A8P/YO/N4rJ73/5/23b4rssSNZI2iTbJU1oQolKKENrQp70oLlbVIitKKtJCtyJoWRWSLVNab276v9z3n98f8Oo/7U1p5d+v7nucfHueec83Mdc4ZrzPnOnNmpKSkPD09h++Atra2oaEhFL76+npmZuaUlBQAgJGRkZeXV319PRMTU1paWkdHh4CAQHR0dF1d3YwZM+CrdhERkdu3bw/fh7Nnz4qKisIeAAAgKytrYGCgp6dHTU1t27ZtAABbW1s9Pb3u7m4dHR34GtDV1dXW1raqqmrp0qVHjx4dvg/379+H4wVVVFR279798ePHyZMnX7t27eTJk6ysrC0tLQ0NDaKiotevXz979iwXF9fg4OD79+/Z2Nhu3rx5/PhxVVXV4X+lUllZ6enpmZKSYmhoCDsEmzdvTklJCQwMnDhxIhx3YW9vr6WldfXqVUFBwejo6IGBAX19fXt7+/Pnz3NyctJP5/3bdHd3v3v37t27dxs3bnR3dwcA6Onp7d69OyYmhoWFBQ54UFJS2rp1q7e3NycnZ1FRUV9fn6amppOT040bN8aPHz+yIzF+nr9SfwEAr1692rBhg6ys7B9b/6K/v19bW5uHh2f+/Plw/Fl3d/fKlSt5eXk1NTXh/bygoEBZWZmLi2vz5s3Df9dPD5lMZmZmHj9+/Pjx4wUEBNra2oKCgmbOnLls2TIdHZ3m5mYAQHx8PB8f3+LFi3V0dGDoOSAggJeXV0JCwtHRcUT8MTY2njt37qRJk9atW1dbWzt37lwNDQ0NDQ1WVlbYyiMiIpYvX75ixQotLS3YLb169SovL++KFSukpaWH/x3qqVOnMAxTU1Nbt24dfMa8ePGiuLi4vLy8gYEBFOX79++zsrIqKysTKffu3WNhYWFmZt6+fTv0ajiUl5dzc3OzsbHBrzPS0tK2bt3Ky8vLw8NjaWkJu1QUCmX9+vU8PDxKSkpw/AOFQtmzZw8HB8e+fftG5G17WFiYmZmZmZnZjh07YBzz4cOHc+fO3bp1a1FREbSpqqqSlpbeunVrcXExTHn+/DkcNdHW1jZ8H5qamjZu3GhmZmZnZ/fu3buurq6tW7dCr8LDw6G+U6lUPz8/aWnpiIgImKuurs7Ly2vz5s0j2AGHXL9+PSsrCwBQU1Ozc+fORYsWEfMTVFdXOzk5mZmZvXz58ouUBw8ejKwbP8/fqr//QV6/fp2WlpaWlvb69WuY8vHjx7S0NHqbjx8/EqMsIa9evUpPTx8pH/Ly8tI+093dXVxcDLfpRa2qqiotLY1e7isrK79I+W3KysoIB4jed0FBQVpaGtQgSGlp6adPn+hTamtrifM2gpSWlo54mYj/Dkh/EQgEgjGMUv0lk8kWFhYbN24khnA9evTI1NTU1NT0w4cPjPUNgUAgRoRRqr+3bt0yNjbGMCwvLw8AUFZWxs7OHhoaumXLFjk5OQZ+L4hAIBAjxSjVXwBAf38/ob/+/v5wgBf8eGZkP+1FIBAIhvB36O/GjRuJ9S+kpKRCQ0MZ6RkCgUCMBH+H/q5Zs2bTpk0wnV5/jx8/vmiksbKy0tLSMjU1NTc39/DwMDc3t7GxOXz4sMfoIygoqKioqKio6O7du7m5uUVFRU+fPk1ISCj6b5Cbm3v37l0/Pz/6c3LhwoXbt28z6or8Bra2tnZ2dosWLYJ/Ef8SX4wUGiX8Hfrr7+8vISHR39/f1NTEzs5OfNdrYWGhpaX18OFD358jODg4JibmJ41/EldX1+nTp49ggQcOHNi/f/+RI0d2797t4eFhZ2e3evVq9R/Bx8fHz8//Q7N/FXl5eW5ubsb6oK6u/sPzYGRktGnTJmtra3jCiY0RZPny5evXrx+Rou7cuXPt2rX8/Pzy8vLExESYmJ2dXf4jYmNjFy1a9EOzfxtxcfGHDx8y1gcrKyu0/sUvcOvWrSNHjmAYpqGhce3atfr6ek5OzsOHD2tra2tpaRHjOi0sLBwcHBjrKgCAh4eH0S6ATZs2wS+vGMiTJ09OnTrFWB8AAMT8DwwErf9GsH79eoav/+bh4YH09xdITEzc9xn4BcunT58OHz585MgR+gmtR4n+iomJMdoFsGnTJhcXF8b68OTJEzMzM8b6AADg5eUd2Y8Pf4NRor9GRkaM9QEAsG3bNqS/32KU6u9PMkr0l5gHgIG8ffsWzkfOQN68eRMSEsJYHwAAJ06cYLQL4O7du/CjcAbS398/Gj7PKy4uZvjtEOnvv8Io0V8EAjGaQfo7LPr7+99+hn4eL6S/CATihyD9HRZwztD169fv2bOH/gkX6S8CgfghSH+HBdRff3//L2JqSH8RCMQPQfo7LHp7e6WlpaWlpdnZ2YlZRAHSXwQC8ROMXv1lyKqfv0FTUxOO40VFRezs7Onp6TDR0tJST08vISHh0aNHX9hraGi8e/dumJWuXbsWrpmKQCD+Ojo7O8+ePRsSErJ69WofHx9GuzMEf0f/lx4pKambN2/CbQsLi7Vr1+bn59+9exeuQEHAxMQ0/HWJcnJyhlkCAoFgIAMDAwMDAzt37hyl/V9GO/BTpKennz9/Pi8v7+bNmxwcHHAdWfDd+MOI6C8Cgfg/wOiNPzDagZ+ivb1dVlZWXV1dW1sbLiILQfqLQCB+CNLf4TLkWq1IfxEIxA+BU80x2osh+Gvevw2JpaWlo6PjkLuYmZmTk5P/sD8IBGIU4unpuXXrVkZ7MQR/Tf8XAEAmk794yYb6vwgE4oeg+MOwKCwsVFBQ4ObmlpOTI5PJRPr39Tc2NnYEfWhraxvB0iorK4nl0xEIxL/K6NVfRnfAfwpjY2NVVdWBgYGDBw/OnTuXGJP7/fjDypUrR8qBly9fCgkJjVRpOI7v379/8+bNI1ggAoH4Fp6enmj8728yODg4c+bM48ePg88fIhPzPX6//yssLDxSPiQlJTEzM49UaQAAVVVVa2vrESwQgUB8Cw8PD2IBs1HFX6C/VCpVQkLiW/prbW19584dfX39/Pz8wsLCt2/fAgD6+/tnzJjxLf29du3aw4cPf8mHEddffn7+7+jvmzdvqqqqRqouLi6uwsLCkSoNgfhbGBgYIJPJZDJ5y5YtK1euZLQ7Q/AX6C+NRlNWVv6W/mL/Czs7e0JCgomJCYZhkyZN2rBhQ3p6+hcFrlq1avfu3QAAKpX6+jPV1dUdHR3fWrOAXn/r6uqGfLNXUVHxRUpbW9uZM2eGLPD7+qujo0MikUZEgquqqr5z52hpaSEW00Mg/o/R0NBgaGj4zz//SEtLM3x1riH5C/QXAODs7KyhodHX13fs2DEFBQViLPDX+vs106ZNs7W1tbW1tbGxsbGxWbRo0ZgxYzw8PNasWcPDw0OYcXNzr169esKECTY2NvX19Xl5eWQyWVRU9NixYx0dHUuWLJk2bVpTUxMAQENDY+/evfTu3bt37+TJkwoKCqWlpRcuXCDSPT09OTg4hjyiH+ovhmH0RRGUlJR8q/MeHBz89UvCrKys8ePHf6siGxubpUuXfmvvtxgcHHzy5Mmv5voN4Oqrf4Dnz59nZmYOuau5uTk7O/vPuPHHaGtre/HiBaO9AKmpqf39/X+gIg8PDzU1tT9Q0a/yd7x/6+7uXr16NR8fn4iISE5ODpFuaWlJCKi+vj6RfvjwYXoJ3rVr15IlS2xsbGJiYk6ePAkTubi4WFhY5s+fb2tre+LEibNnzxoZGY0ZMwbDMDU1NX5+fiMjI1tb2xkzZixevHj16tUYhsnIyKxbtw7DsOnTpysrK8MNb2/v8ePHr1ixAsMwAQEBPj6+ZcuWGRgYJCcna2trW1hYeHl5YRi2atUqFRWV1NTUoKCgoKAgFhYWUVHRysrK3t7eLVu2eHh4BAUF+fn5MTMz7969m4uLC8Ow3bt379mz559//qmrq6upqenv709LS+Pi4nJycvLw8LC3ty8uLj516pSOjs6GDRsuXryopqbm7u6O43hAQEB4eHhnZ6elpWV6evqECRNwHK+oqAgKCsrMzOzv7//iBeaJEyeOHTs2ODhYU1NDo9Hy8/ODgoLa29sFBAQyMzO/uBb19fUPHz7EMCwyMpJGo32xt7i42NTUlEKhXLlypaurq7OzE6YvXLgwKChoYGDg2rVrcXFxQ17l3t7ems/09PSUl5ezsbH19/fjOF5VVaWrqxsVFVVTUwMAwHE8IyOju7vbw8PDx8fn06dP9OXcuXPH398fblOp1ISEBCqV+nV1OTk5QUFBubm5jY2NCgoKNjY2jY2N9+7d+8Ls2bNn/Pz8OI739/dD3xoaGnAc7+zshKcLx/G+vr6EhATC+ba2NhzHL126FB0djeP49evXo6Oj29raampq6uvr3759e+DAgQMHDnR1da1fv76rq4s+l6enZ2xsLI7jNBqtvr6ecCMvL2/ZsmUdHR3QOD09nUKhEFekpqamr68Px/Hu7m7iBMK9tbW1796927RpU2hoaH9/f2tra09Pz5s3bzg5OX19fXV0dA4cOBAfHw/PM47jcXFxPj4+xLH09vbCS9Pa2orj+KdPn6DPxPFeuXKltLQUx3FogON4S0tLVlYWbOdlZWU4jickJAQFBd2/f584b7GxsY6OjhiGwddiaWlpcLasT58+BQUFQftPnz7BcxIXFxcUFETf3mg02p07d+rq6uDP7OxsMTGx0tJSU1PTN2/e1NXVvXz5sr29HfoQFxfn6em5fPnyIVsdY/k7+r/fAvZ/1dXVL126RJ+enp4ORVZMTGzs2LH04YLU1FS4q6SkpLm5uaOjgz7j1KlTLSwsXr9+TaxYBaMKNTU1EyZMgBkvXLiwZcuWjIwMGLjYunUrIfSXL19WpGPOnDlMTExwl4iIiKKiooiIyLZt28zNzTk5OTEMk5OTk5CQgAbz5s1TVFRcvny5uro6/c1j6dKl/Pz8goKCJBKJnZ0dJgoKChK1+Pj4cHBwwF28vLzy8vJMTExqamokEklQUHDWrFnjxo1ra2tbs2YNhmHz589ftWqVkJCQm5vb0qVL2djYODk5J0+ezMLCIiUlBd2YOXMmPKsYhjk6OhoaGsrLy69YsWLLli3y8vKTJk0iDkpGRkZeXl5eXn7z5s0GBgZ+fn6urq4YhikqKmIYNmvWLH5+fiUlpT179kycOHH69On+/v7wpnX79m03Nzc3Nzd1dfU9e/a4urrKy8uLiooSRy0kJDRt2jQMw1xdXXft2gV3TZkyhZOT08bGBt4shYWFp06dimGYsLCwvLy8trb2ypUrTU1NFRQU2NnZ5eXlrayszM3N4Z3sxo0b0NWQkJDs7Ozs7GxYJjMz86xZs4iNqVOnQrPly5e7ubmFhoaePHly3LhxYWFh4uLi0LeZM2dmZmYqKyvz8PB4eHj09fWZmppiGDZnzhweHh5WVlYRERF5eflx48YpKyu7ublxfcbS0lJQUNDKygqWQ5wlGRmZRYsWcXFxbdiwQUpKSlhY2M3NbePGjZMmTXJycnJzcwsLC9u6devYsWP5+PgEBQVhdi0tLQMDg927d3NwcMyePVtMTExeXp7YKyQkZGVlJS8vD6uA6eLi4hwcHCQSycDAAMOwHTt23L9/HzZscXFxeMY4ODj279/PwsIydepUUVFReCwiIiL8/Pxubm5qamrQc6IFKigocHBwWFlZcXJyZmdnP378mI+Pz8jI6MiRI3x8fLNmzTIxMRk3bhwnJ6eCgoK8vDxsXSwsLPb29nfv3oUtdvLkyYKCgvLy8tzc3BiGEQ2Mk5MTNoy5c+cS7e348eORkZEYhvHz88OLBTslMMuyZcv4+fmnT58+e/ZsERGRu3fvwnGru3bt+vcF6Zf5v6C/J0+e/CKd0F93d/e6ujr6XVB/hYSEBgcHvy5w6tSpQ4aACf3l5OTs6+uj35WYmAhbDDErG0FVVdW4ceMkJCQeP37c3d0NAMjIyIC7AgMDMQw7d+4chUJ58eJFcHBwZ2cn3BUTEzNp0qTTp08Hf+bNmzfd3d1kMpmTkxP20L9YarOtrS0lJQXDsBs3bpDJ5A8fPgQHB8fExDQ2NgYHB0+fPn3p0qXS0tLnz593cHC4c+fOq1evTE1NtbW1MQybOnWql5dXdnY2fFORmJhIJpMLCwunTp06ZsyYMWPG6Ovrk8nkJ0+eBAcH+/j4TJ8+HaYvX748MDAQerht27Zdu3bNmzdv0qRJzs7ODg4O1dXV5M9ERUVBHZw+ffqTJ0+gahBHJyUlxcLCkpqaysXF5erqGhgYCHPFxsZOmTJFREQkODjY0dExKCgoKiqqrKwM5iKRSPB2Ehwc7ODgUFxcfO3aNbjLwcGBiYkpmA4HBwdxcfHg4OC1a9eOGTNGT09v7dq1xsbGcO+HDx8UFRVlZGSCg4MPHDggJycH04OCgri4uMaMGbN3716YEhMTQyaTAwMDJ06ceOjQoYqKirlz55qamqqoqFRWVvb19X369Ont27dVVVUZGRlXrlzZtGmTl5dXbGwsPCIajRYbG4thmIGBAXwp9Pz5czKZXF5e/v79+4KCgoULFyooKKSlpd28eTMuLo5MJh88eNDOzm7v3r26urq6urrm5uYNDQ1kMjk+Pl5RUfHjx49WVlaHDx+GzYOeiooKS0vL5ORk+PMLgxMnTty+fRs2HgqFQiaTY2JiDh48eOjQIfjfFB0dHRoa2tvb+/HjRwcHh+joaDKZbG9vr6ur++bNm2PHjr1584ZofikpKbqfcXZ2fvnyJUxvbW0lk8kpKSkODg7v37/v7++PjY29efMmmUxuaWmBNrdu3dq/fz+ZTK6urt67dy90z8vLS1dXNysrC/7s6ekZHBwkk8lxcXHBwcFmZma6urp+fn4FBQW7du2CNlQq1cnJydnZmUqlwjZMJpPb29sBAC0tLa6urqM0/sBoB4bF9/WXi4vr6wAi1F9RUdGzol7OAAAgAElEQVQhC5w6dWpqaurX6SUlJePGjRtygffExERZWdkhS+vt7R0/fry9vf3Xu2JjY5mZmYmJ3OiJiYnh5uYeskBubu6YmJjjx48P+TEIHPvxNStXrlRUVIRtkZ59+/aJiYl9K9e3+I59Y2OjpKQkjJJ/QVJSEhMT09OnT7/elZqaumLFiiELLCgo+FYI2Nvb+1vvNvPz84e8UgCA+vr6Ibejo6MDAwOHzPJ93rx5c+7cudzc3J/PkpqaOjAw8Bt1IX6b0Rv/ZbQDP0V9ff3Lly9fvnyZlpZG/29z/Pjx7+jvkP9RqampEyZM+HpQBORb+gsAmDx58pD/1e3t7V+PfIDEx8djGPbs2bOvd8XGxnJycg6Zq7S0lEQiDbnLy8vrN1YUf/78+ZATGZ86dcrIyOhXS/s9Ojo6oqOj/0xdCMQXeHh4oPjD7+Pv78/Kyqqvr6+hoUHf/zp06NB39HfIUWKpqalTp079VkW/ob/f4fv6Ky0t/a2M33oXP7L09/d/6z6EQPxfAvV/h4W/v7+ysvLX6REREfAV6hfpv62/kpKS3+pgTp48OSAg4Fe8BoWFhWPHjh1SfykUSn5+/i+VhkAgfg+kv8PC399/6tSpMjIyBgYG9O/ToP5+HZHs7OycPn36b+jvd5g8efJv9BavXbvW1dX1G9UhEIiRwsPDw87OjtFeDMGo09+QkBDr/+X9+/fd3d0UCqWurm758uUWFhaEMdTfY8eO6evrFxUV0Zfzrfkn/7D+IhAIRtHR0XH8+PGEhIT169d7eXkx2p0hGHX6+/bt2/j/hf4LGT8/vwULFhA/nZycZs+ePWQ5e/fuJT5TpgfpLwLxXwPFH4bFlStXsrKympqa1q9fTz+PxuXLl7+lv9/i9/S3vLx80qRJ9GMeEQjE3wLS32ERFBRkYmICP2f6Iv77Z/R3xOc/QyAQfwykv/8KSH8RCMQP+e/qb1VVFRHApdFoQw7G+m2Q/iIQiB/yX9RfGo22Y8cOJiYmKSmpkJAQGo1WU1Pzk3JJo9GIGXAIvp6qzs/P71f1t66ujpeX95eyAACePHnCxcX1q7kQCMRo4L+ov9HR0fz8/O3t7YWFhRISEo6Ojrm5uXx8fD+TUUlJif7zsLq6uu3bt0+cONHW1pZ+VENAQMCv6i8Cgfiv8R/V37Vr18Lt2tpaKSmptWvX/oz+NjU1FRQUcHBwEJMkGRkZ7dixo6CgwNra+ujRo4Tlb8QfEAjEf43/ov6+evWKnZ2d0NDa2lpJSclZs2b9ZHZ2dvb4+HgAQH9///jx4+Fi8n5+fmJiYsQMkIcOHbKxsfkXfEcgEP93+C/qb1dX19mzZ+mnPayvr9fU1KS3CQ4O9qUjLCyMCPsS+tvX14dhGJyH0M/PD6Nb/y0iIoKNjQ3mReuYIRAIeiorK0+cOOHr66urq/ufm/8sMzOTh4cnLS0N/uzo6Dh8+LC6ujq9zebNm3fv3n2KDmK2BEJ/qVTqnDlz4LRkfn5+AgICPT090CYiIoKfn7+wsLCwsJCYvxyBQCAAAH19fVAc9uzZ85/r/wIA/Pz8Jk2aFB0dnZubKyAgcOjQoY8fP/5kXkJ/AQBWVlZw+gwrKytjY2PCZvPmzSIiIiPtNQKB+D/FfzH+AHFzc4NLAQ25DMSQ3LhxQ11dfcKECbKysjdu3AAAvHv3TkBAYNGiRcuXL6fv51pYWDg4OPwrfiMQiP8rjF79/VdX94yLi4NrC27fvn327NlfLy47JAMDA0WfaWxshIkUCqWoqIhYTxcCl+8deb8RCMT/If6L6x/n5OSwsLAkJyfDn0lJSSwsLCO7CM3NmzdR/xeBQHyf0dv//feKbmxsjIiIoE8pLi7+559/RrCKiIgIpL8IBOL7jF79ZXQHfAh6e3svXrzo7OxMxCuam5vnz59PIpFIJNLOnTsJy8jISBR/QCAQ3+e/GH/4bbq6umxsbFRVVYWFhWHKx48fMQy7cOFCfn4+/SS8qP+LQCAAANnZ2d/Zi/q/v8zdu3cFBATg9qdPn+A6Q3fv3u3r6yNsUP8XgUDgOB4ZGfmdvaj/OzSNjY2p/wuZTIa7oqKiiI+VyWSypKTkmTNnFi5caGZmNjAwANMjIiJUVVVhxubmZsYcAwKBGJV0dXX5+fmlpqba2tqO0v4vY6vPzs6ePn369OnTZ8yYYWZmJicnFxYWBnfR6y8AoLe3FwDQ2to6c+bMR48ewcSIiAgxMTEzM7P169fDD5QRCAQCUlNTExwcfPPmzXXr1o1S/WV0B/yb0McfCFpaWubMmUM8a6D4AwKB+CEo/vBrnDlzRldXd8aMGXv27Ons7IyPj1dSUtqzZ4+kpOSOHTuIOXrQ+zcEAvFDRu/7N0Y7MDTx8fG3PtPb20uj0WJjY2/duvXgwQP6dTGQ/iIQiB+C9PdfAekvAoH4IUh//xWQ/iIQiB+C9PcXaG1tjY6OvnHjBv3c7ZWVldevXy8vL6e3RPqLQCB+CNLfn2VgYEBCQmLr1q3Ozs5sbGzwa7eEhARRUVEXFxdxcXFi8BlA+otAIH4CpL+/g6ampru7OwBAQ0Pj4MGDAIBTp07Rr6CB9BeBQPwQpL8/RXd3N7H96dMnbm7uq1evDg4OcnNz5+bmAgCysrLGjh3b1NQEbSIiIrZt2/ZFRgQCgQAAUKnUlpaWlpaWI0eOIP0dgl27dqnSwc3NDddL7u7uXr16tZaWVldXV39//7Rp0+DnbXAiHvr1N2fMmGFra7t8+fKUlBQGHggCgRhtUCiUlStX7t27d+nSpUh/h6ChoeHD/0KlUnt6enR0dNTV1YlerYaGho+PDwDg8uXLzMzMxHu5gIAAa2trhnmPQCD+BlD84RewtLTEMKykpKS6uvr169cAgAsXLpBIpNDQUH5+/jNnzhCWvr6+KP6LQCC+D9Lfn4VKpa5atcrAwEBKSkpKSmrXrl0wPSAgQEpK6vTp0/TG6P0bAoH4IUh//xWQ/iIQiB+C9PdfAekvAoH4IQkJCUh/f5b+/v6enp62traOjg4isbS0NP8zg4ODMBHpLwKB+CGo//sLVFRU8PLympiYSEpKbt26FQBQVVU1YcIENTU1TU1NU1PTnp4eaIn0F4FA/BCkv79Ad3d3YWEhACArK2vMmDENDQ1w2G9NTc0Xlkh/EQjED0Hxh98hKSkJwzAKhQL1d8mSJWpqavHx8YRBRESElZUVAz1EIBCjH9T/HZq8vLzt/8uDBw/gLjKZLCYm5uTkRKVS29vb9+3b19HRceXKFXZ29vT0dGgDv3+DGYuLixl3HAgEYtRRV1dHIpEEBARYWFiQ/g4BlUo9cuTIvc+EhIRERkYCACgUipiYmIuLy9dZpKSkQkND4XZERIS9vf3AwMDAwACNRvuTniMQiNEPFIeTJ08i/f1Z2traFixYYGNjAwAgk8mDg4Otra2RkZGDg4NJSUlCQkLPnz+Hlij+i0Agfsi9e/dGqf4yegHQIaisrMQwjJWVdebMmTNmzLh161Z9fb2wsDAfH5+4uHh8fDxhidY/RiAQP+T27dto/eNfgEoHDCzQaDRimwD1fxGjEPpx64jRQFFR0Sjt/zLagWGB9Bcx2qDRaBUVFYz2AvE/3L59e5TqL6M74MMCxR8QCMQPCQ8PR/GHnyUkJERPT09PT8/U1LS2thYAMDg4uGPHDhYWFmtr64GBAcJylPR/29raGO0CAjEEvb29jHYB9Pf3M3x5mtEbf2D0DWAILl26lJycnJ2draWlZWlpieP4uXPn+Pn5q6urLSwsdu7cSVhGRkbKysoyztP/j62tLaNdwJuamk6dOsVoL/DLly8z2gX84cOHAADG+pCbm3vr1i3G+oDj+Jo1a6hUKmN98PT0DA0NZawP9+/fR/3fX4NGoxkYGMBRaBoaGocPHwYApKamTpgwobm5GdpEREQoKysz0ksAAADm5ubv379nrA/37t2DS+ExltFwOWxtbalUKmN9SE9PNzY2ZqwPAAABAYG+vj7G+nDgwIGQkBDG+pCbmztK+7+Mrb6kpOQiHREREfA/59SpU6ysrBiGvXz5sr+/H8Owx48fg6HWfxsN//Br1659+fIlY31A+kswGvT38ePHf15/W1tbm5uba+ng5+evqKioZSiOjo7e3t6M9SEiImKU6i9ju9/Hjh1ToENdXb2rqwvuamlpsbKy0tLSotFoCxYsOH/+PI7jb968wTCsqakJ2kRGRk6cOFGe0XBwcPwbxa5cufKfn8bU1HTWrFk/b/8vIS8vz2gX/pk5c6abm9twSti7d+8wrx03N7e4uPhItIJfgIODg4ODQ0FBgZOTU05OTgHxGX5+/n379jFM5r7N6I0/AAAOHToE+1MWFhaOjo4AAD8/P2FhYeKtwocPH/Lz8xl7a/0DJCQkXET8yzx//vxbuy5dulReXg43GN0WfkBdXR1AL4S/orOzk5g0fFQxGvXX1tZ28eLFq1atmjZtmp+fHwCgqKhIXl5+9erVs2fPjoiIICzJZDLj3EQgGE9HRwe9snR1ddXX19MbUKnUmpoaepuamhpiBfHh09LSUlNTQ6FQ4M/+/v6az3R1ddHbNDQ0fJGLfizTiNDW1ka8HGpubq6pqSFilQCA7u7uL04FTOns7BxZN36e0ai/DQ0NOTk5OTk5VVVVRGJnZ+eVK1eIlL6+Pmtr6/Hjxzs5Of0xFY6Pj5eTk5OTk1uyZElzc/Pg4KC9vb2cnJyysnJ+fj4AYGBgICgoSE5OTk9P7+3btyNb+7179w4fPmxhYUGkPH361MDAAEbGAQB9fX1nz551c3O7fv06YXPnzh03N7dTp06NyBigurq6hIQEd3d3+LO+vt7tM4mJiTDx1atXbm5u9AHxsrIyNzc3OCxhmLS2tgYEBLi5uZ07d66lpQUmJicnu7m5nT9/njCLiopyc3NLSkoiUs6fP+/m5hYQEDB8HwAAJ06cgC3B398fAFBZWamkpARTiMO8fPmyhoaGuro67JMCAI4ePSonJ7dixQpiAr/h8Pz5czk5OT4+PikpKVjgq1evZs+eLS4uvmfPHvilaGhoqJqaGj8/v6OjI0zx8vKC4TL6hjQcxMTEFBUVRURE9u/fDwA4ffo0CwuLoqKioqIinKelqqqKl5dXUVGRg4MDNpL8/HyYoq6unpubOyJuAAAaGxuFhITMzMwAADk5Odzc3LDS1NRUAEB7e7uqqiqJRJKTk0tLSwMAJCQkyMvLS0lJycrK0sv0n2Q06u/PsH37dmtr67q6OgcHh3Xr1v2ZSs3Nze3t7evq6urq6gYHB1NSUuTk5D58+HDw4EF5eXkAQHJyMhMTU2Fh4e3bt8XExEZ22OPu3bs3b97My8sLf8bHxy9atCg4OFhTU9PLywsAcPz4cSEhoWfPnvHy8np7ewMAQkJCuLi4zp8/LyUlde3ateH7sHHjRhkZmUmTJsG+zM2bN7m5uYODg4ODg1+8eAEAyMzMZGNj8/HxERQUPHLkCADg3bt3fHx8vr6+SkpKQUFBw3Tg9evXYmJiwcHBx48fFxAQaGlpefz4MTMz8+nTp5cuXbp7924AwJkzZxYvXhwcHDxv3jz4D+/p6SkuLv7ixQsxMbEzZ84M9ywA4OzsnJSUVFRUJCwsHB4enpmZOWnSJNgw4OIsz58/FxAQKCgosLe3l5GRAQDcv39fUFCwoKDgwoULEhISw/ehr68P1ujn5ycjI9Pe3j5r1qxLly51d3crKChcunQJADBnzpyCgoLa2loJCYnLly+3tbVxcHCkpKTU1taSSKS4uLjhuwF7vlVVVTNmzEhKSnJ1ddXX1wcAEFMFHDlyZNOmTQAAT09PFRUVAMCqVasOHjwIAPDw8CAWOB8+mzdvlpGRgfprZma2fft2WLu6ujoAwNLScvv27f39/QEBARoaGgAAExOTM2fODAwM6Ojo6OrqjpQbv8RoHP/7Q6hUKolESk5OxnH8wYMHioqKNBrtD9Tr4eEhISFha2t7/fr1wcHB7du3w6B+U1MThmEfP340MjI6cOAANF6wYEFERMTIOhAdHc3Hxwe3V61adfXqVRzH4+LilJSUaDQaFFkcx7Ozs2VlZalUqpaW1vXr13EcP3funJ6e3ki5MWPGjJSUFBzHb926xcXFVVJSUlNTA3ft2LHj0KFDOI7fuXNHRERkYGDAxMQEvjuNjIwUFRUdHBwcKTfGjRv38uVLeXn5ixcv4jgeGxvLzc2N47isrGxwcDCO4ydOnJCRkcFxnJeXNyYmBsfx69evEydwRLC0tHR0dHz69On48eMDAwPDw8NhU9y7d6+JiQm0YWZmTk5OdnZ2trKygiksLCx5eXnDr72rq6u6unrfvn0GBgYFBQUYhvX19eE4fubMGSsrq/z8fAzD+vv7cRzfvn37pk2bHjx4oKCgAD20s7OztrYevg8AgOrq6kuXLo0dO5ZCoRw6dIiVldXQ0FBJSam5uRnH8Xnz5sHxvy0tLezs7DiOz507t7GxEcfxp0+fTpo0afg+4DgOnzZSUlJUVFRwHBcVFb19+zaO40+ePGFmZsZxXEREJDw8HMfx4uJi6IawsHBkZCSO448fP2ZjYxsRN36Vv7L/29vbi2EYfMAvLy+HIyL+QL1Pnz59+vTpy5cvBQQEQkNDjYyM9u7dCwBobGzEMOzDhw9r1qyBT2EAAGVlZfhwOoI8ePAA9n9pNBoTE1NOTg4AoLKycurUqRQKBcMw+DRXUVGBYVhtbe2MGTPy8vIAAHl5eSM4Mmz69OlPnjwBACQmJqqpqe3cuXPChAnw8V9CQgI+7rW2tmIYVlpaysPDAx/3mpubMQwbqYHSly9f5ufnr6mp4efnv3//PgCgra2Nh4cHAMDLywtDE9HR0TCFh4cnOjoaAEClUokHiOGTl5fHw8Pz6NGjvLy8bdu23b17d86cObAB6OnpEePPmJiYkpKSNm/eTDyCECdwmLx69Wr+/Pnc3NxOTk5v377FMAy+mj59+rSlpWVeXh5UZACAnZ3dxo0bjx07pqWlBfNu27YNdkuHCY1GW7t2rb6+/tixY1tbW8lkclNTU2Vl5ZIlS/T09AAA0tLSxPhfeDmkpKTg81NmZubEiROH70N7ezsfH19KSsqFCxdUVVUBACIiIrdu3QKfH0kBAMLCwrdv3wYAPH/+nJWVFQAgJCQEXyY9evQIpvx5/kr9pVKpkpKSMO6ZlZUlKir6hweZHzlyxMfHx9jY+Pv6Sx+RHBHo9Zebmxs+P8LpOmtra7/QXzKZzMXFBfX3+fPn/4b+EgQFBTExMdXV1ZmamoaHhwM6/Z02bRq8D42g/r548YKNjQ1WROhvXV0dob+1tbVgKP0dHBwcKf19+/YtNzf3uXPn6BOTk5MnTJhAoVB27txJ6C/s/5qYmISFhcEU+AAxIm4AAB4+fMjKykqvv56enkPqb0xMjJycHIwMbNu2DQYBRoSBgQEODo7Y2FgiJTU1ddy4cQAADQ0NqL/Nzc3s7OwAACkpqYKCAgBARkbG5MmTh197SkrKhAkTrK2t586dO2HChHfv3i1atOjmzZsAgOTkZBYWFgCAsLAwVGQYsAJ0+puYmMgw/WVIr3v4bNmyxcrKikql2tnZmZub/5lKi4uLcRyn0WgbN2709fUNDw9XVVUdHByMiopiY2NrbGwkInF1dXWcnJzV1dUj6wB9/AFqPY7j165dW7JkCY1GU1RUhN+8JiYmKisr4ziupaXl5+eH4/jp06eXLVs2Um4Q8QeC/Pz88ePHf/jwYePGjfb29jiO5+XlzZw5s6ury8TExMHBAcfx+/fvz5o1ixjf/ds8e/aMg4MDRlpwHBcVFd21axeO43fu3BEUFMRxfOHChfConZycFixYgOP4ggUL/P39cRz38/MbkfhDWVkZOzu7oaEhfLrv6+v78OEDjuOPHz+eMGFCY2NjQECArq4ujuNZWVn8/Pw4jh86dEhJSam3t/fly5fwiXiYtLS0wIHwfn5+bGxstbW1XFxcQUFB/f39cnJyoaGh7e3tAgICjx49amxsFBcXv3r1ant7OwcHx40bN6qqqsTExBISEobvRnx8fE9PT0lJyYwZM548eXL//v0PHz50dHQYGxurq6vjOH7s2DFNTc3Ozs7t27fDf1V7e3srK6vOzk4jI6M9e/YM34empqa4uLi4uDhDQ8MpU6Y0NTUdOHBgwYIFnZ2d1tbWmzdvxnH8wIEDKioqlZWV+/fv19TUxHF848aN27Ztq6ysXLlypYGBwfDd+A3+yv4vAKCiomLx4sWSkpLy8vJ/7NtfdXV1GRkZKSkpMTGxioqKnp6eefPmkUgkdnZ2eIfv7u5esWKFhITErFmztmzZMrK1BwQEGBsbjx8/3sHBITY2NjMzk4ODw9nZWUJCAr5zv3fvHh8f3+3bt9nZ2X18fAAADx8+hFJFIpGuXLkyfB+ePn0aERExceLEw4cP19bWent7Ozk5xcbGCgsLW1paAgBiY2PZ2NiSk5NVVVXh0qipqalCQkK3bt2aO3cu8XDw25SWljIzM4uKikZHR7u6ulZXV79+/XrmzJlXr15duHChs7MzAOD169eSkpKurq6zZs169eoVACAkJISPjy8iIgK+CRzuWQDA0dFxypQpTk5Orq6uDx8+zMzMVFJScnV1lZGROXbsGACgsrKSj49v69atQkJCsCPW2dmpoKCwYsUKISGho0ePDt+HGzdusLGxycjIcHBwJCQkAADevHnDzc0tKyu7b98+2Mm9du2atra2hYUFceb9/f1Xrlypr69vbW09fB8AACQSad26dUuXLoVPe05OThoaGmvWrNmxYweMCnZ1dZmZmRkZGWlpacGhIESKlZUVMThkRLh9+zYMenR0dKxdu9bIyEhZWRkOyOvo6Dh69KiysvKmTZs+fvwIU1RVVZWVlVevXv1nAphf87fqLwCgs7OTQqH09/f/sRpbWlooFAqFQiEGDHZ1dVEoFPrBKzCFQqGM+NjG58+fh3ymtbUVAPDs2bOQkBDiSZZKpd65cyckJAQ+mEOysrJCQkJgTHb4FBQUED68ffv27du3Tk5OISEhYWFh8ELQaLT79+/TpwAAUlJSDAwMQkNDh3+xqqurd+7cSfgAw4hJSUnwJ/FhTn5+fkhICBwUCImNjQ0JCaF/QB4O6enphA8fP36sr6/PycmhUCjEkDgAQHt7e1JSEoVCIUYCtLe3w7YxUmsVNjQ0UCgU2Bgg9ANg/wyjbbL50ebP9/mL9ReBQCD+apD+IhAIBGNA+otAIBCMAekvAoFAMAakvwgEAsEYkP4iRh00Go1+9EhxcfHXQwxzcnJevXrV0tICF0YZktevX1dXV9OnUKlUKpV6+PDh5ubmgYGB9+/fw2+iEAiGgPQXMeooLi4WFhYmk8nd3d2Ojo7u7u5ffGYGANDS0nJ3d8/JycEw7MmTJ4GBgTCdQqEQA/I0NDROnjxJn+vBgweurq6ysrImJia7du06dOjQzp07//0DQiCGBukvYjTi6OhYUFAQHx8PP5HavXv3nj17iHHNJSUl48ePb2lpqaurY2JiamhoEBQUhGNv6+rqZsyYkZubW1dXx87ODie6bW5uhqNivby89PX158yZw83NfeDAgbVr12ZmZvb19cGvtBGIPwzSX8ToxdHRMSIiYtu2bRYWFmFhYcRcsTt27FBTU+vp6amrq4MTQbi7u8vKysKZoNPT001NTX19fefPn29sbLx27VoODg445WN6evqGDRswDLOysnr79i2cjJGZmXnr1q2MPE7EfxWkv4hRR2pqqq+v79OnTxUVFTMyMtavX29nZ3ft2jVDQ8P29vacnJyFCxdOmTLF0dFxx44d06dPT0xMhFN9QwoKCkxNTU1MTGpra9nY2Nrb21esWAG/lCsvL1+2bBknJ6e3tzeJRFJUVBwcHOTg4BjB9SAQiJ8H6S9i1EEmk93d3ffv319WVlZYWDhv3rx169YVFBQUFhYODAycO3cuKytLW1sbGktLSycnJ9NnX7x48bNnz3x8fKKjo8ePH19QUEB8kxoYGFhSUsLFxUUmk11cXJYvX56Tk7NixYo/fYQIBAAA6S9idBISEgKnjMnNzRURETl79qyioiKxyFhubi6hv0ePHj106BCR0dzcnJjiNigoSEFBYdu2bcTeM2fOwIiEgoLCw4cPDx48qKysfPHixT90VAjE/4L0FzEagfpbWFioqKgI5zDT0tIi5qul19/GxkYeHp7y8vKbN28+ffo0MTFx1apVAIDe3l5JScnXr1/LysoSa9PRaDQBAYGrV6/OmDGjsbExJSUFw7DIyEhGHCICgfQXMfq4f/++trb2smXL9uzZExsbm56enp6efufOHSsrKzjIgV5/AQCenp7CwsIyMjL3799//fr1qlWryGSyiYmJq6sr+Dwlpo2NDYxCpKen8/PzS0pKnj17Fk4XKSkp6eLi8nfNm4X4vwHSX8SoIzQ0tKysrKGhYd++faZ0EMv6fvr0SVpamkqlQnsajfbw4cO9e/dWVVU1Nzffvn0bLsBMTPOYmZnp4uLS1NTk7Oy8devWnJycnTt37t27t6amBgBQWFj48OHDkZoTEoH4eZD+IhAIBGNA+otAIBCMAekvAoFAMAakvwgEAsEY/tb1jxEIBOJvB/V/EQgEgjEg/UUgEAjGgPQXgUAgGMP39Le2tvbDhw/ETyqV2tbW1t3dnZOTU1hY+C859OLFi8WLF8PtxMTEryfezs3NbWhoaGtrg8Pv+/r6Ojs7y8vLnz17Bg3q6+vt7Oz6+/uLi4vhvK5kMhmmfFFUT0+PqalpbW3tF+nwU6jOzk5ihH9dXR38mIqATCanp6cT5QAABgYG6Fdt+IK0tLQ3b958kejn5/fFzLP19fVFRUVfZ8/IyCCc+QPQz2L+BTU1NWVlZT8sob+//8WLF79ab39/f29v7/dtent7o6Oj6T+X6OjoeP36NfGzurr648ePRJBHxNwAACAASURBVIGdnZ3fL7CoqIiYWQLS1dX1fTcqKipgeyM27ty5Ex8f/7VlcXHxtWvXvlNUZ2dnX1/f9z18/fp1c3Ozr69vUlISffrp06eJuYdCQkLgTBd9fX3w5PT29tKfpevXr6empn6/IsQf5nvv3xISEubOnevl5WVubq6mpubh4WFsbHz27Fk5ObmVK1f+SwFpJyenZcuWwe3z58+bm5vjOF5TU/P48WOYuH//fnl5+cWLF3t6eqqpqR04cEBbW1tXV1dYWBgavHnzRlpaenBwsLS0VEhI6NGjR1evXiWRSD09PV/U1dHRgWHYu3fvvkgXFRW9d+8eExPTvn37KisrcRwPCgqSl5fv6+s7f/58S0sLjuOPHz+eNWsWtBcREQkJCVmzZs3u3buJQpydnRMTE3EcT0xMPH369OnTp11dXb+oSE1NLTAwMCoqas2aNZs2bbK1tRUXF5eUlAQAQPeKi4sfPHiwdetWEolUWFj4/VM3MDDw6dOnIXc1Nzf39vZ+PzukrKwMx/GMjIwpU6YMaeDs7Lxlyxa4TaVS6+vrcRyPiYkpKiqiN2trayORSP7+/s+fP/+6kO3bt0dGRn6dfuXKlVWrVuE43traunPnTihe9BfI29s7IyMDw7Cqqioi8dKlS7KyssRPX19f4kJcvHhx6dKlxC4ajaahofHmzRsNDY2nT5/iOA4AWLx48Y0bN8rKyvLy8qCZtra2u7s7juN37951cXEpLCxcs2bNo0ePiHLu3LmzfPlyHMfr6+vFxcU/fPigqqoaExNDGJw4cSI/P7+4uPj58+esrKzFxcXFxcWJiYnbt2/v6+ujP+SlS5daWFh8fSpwHG9qarpz546xsTGJRLp69aqJicn9+/eJvSkpKZMmTbp+/XpgYKCZmZmgoKCent7p06fl5ORu3LiB4/j9+/f19fWbmpooFAqO44aGhl+3QARj+V7/Nz4+fuPGjQCAM2fOiImJJScnr169Oi8v7+jRo6dPn4Y2hYWFoqKiIiIimzdv/iK7gYGByGeePHnyM3eDtra2mTNnZmRk2Nra2traqqqqCgkJ2drampqarlq1CnZkdHV1Q0NDoT0PDw/ciIiIIBzw9vZWVVVNS0srLS01MTHZv3+/iopKUlLSvn37mpubW1pakj8TExODYdiVK1eSk5MfPHiwfPly+EGqiIhIWVkZFxdXfn4+Hx/f7du3+fj4/vnnn6ioKG9v79LSUgDAo0ePLCwsbt++3djYyMXF1dTUtGnTJktLS+JY3r59y8rK2t/fv3PnTk9PT01NTXNzc19fX2ISGQCAiYlJQECAj49PSEjI3r17U1JSODg4Kioq4N5nz555e3traWmtXr0aFigqKhoaGmpnZ2dra/vFqaPRaFZWVvPnz//6rCYmJnJwcHxniYf379/bfkZDQ6O4uDg9PR1WCklNTd31GQUFBW1tbbhtZGTEz89PoVCePn0KNzIzM4kyxcXFi4uLNTQ06Fdvy8rKolKpKioqPj4+JSUlX3gSGhoKpz1raGjg5eX19vaWlpb28vIiDMTFxTMzMzEMy83N3bdvX01Njbe3d3BwsIyMDGGzZs2ap0+fEmc4IiICAAAdo1KpTExMsbGxUlJSJ06c2LZt2+PHjydNmpSdnb1p06ZNmzbBXFpaWllZWSUlJefOnZOVlX3//v3ixYvv379PVBEZGbl58+bk5GR4G96/f7+VlZWLiwthQyKRTpw4cfDgQQzDTpw4oa+vv3DhQm9vb29vb7gSB8GSJUvOnDnz9UVxcHDYv3+/nZ2dgYEBTDE2Nr537x7c7uzsnD9//qNHj4SEhJ48eaKjoxMWFiYjIxMZGfn+/fvW1lZoZmFhYWJicuDAAQCAgYHBwYMHGxsb9+3b19bW9q3GwCiKioqSk5PhXEuM4unTp188CQEAamtry8vL4XZHR8fXT7HD4cf6+/79ey4uLlNTUxcXFwEBgaqqqqNHj54/fx7a6Ovr+/j4hIeHv3v3jj5vTEyMkZHR8+fPa2trWVhYEhISfsabqKiocePGdXV1OTs7X7t2zdLS0tDQ8OrVq8TEKwAAMzMzGxuba9eu+fr6Tp069dq1a7du3Vq/fr2joyMAYOfOnQsXLuTh4dmwYcPGjRtPnjw5Z86cVatW3bt37+DBg/X19RQKJfwzkydPxjDM1NSUSIHaJyIi8s8//5w9exYAsGTJkkePHrGzs9+7d+/YsWNwrkJPT89Vq1bNmTPH0tKSQqHA24C9vT29/gIATp482dzcTCKR8vPz16xZY2hoGB4eDv9Fk5KS3N3d58yZY2dn5+joWFJSoq+vP2PGDGKmLgBAd3d3W1tbVFTU6tWrS0tLs7OzeXh4qFTq8+fPdXV1vz57/v7+Q+pvT08PhmE/v8ROfHz8hQsXlJWVMzIyFBUVu7q6BgYGuru7u7u76+rquLm5AwMDAwICuj8DH3KPHTtmbm4+ZcoUqOMWFhYsLCznzp2zsrK6desWLPnjx4/MzMwvXryA+hsREaGlpRUVFdXf39/e3r5z504VFRUtLS0RERH47AUAMDAwyMrKgtnj4uIMDQ3z8vIwDHvx4kV4eHh5eTkbG1tVVRXU37q6uilTphgZGZ0+fXrmzJkNDQ0sLCxbtmyxsbEZM2ZMTk4OlUrl5eX19/e/fPnyy5cvjY2NDx8+bGNj09jY6OLiMjAw8PHjx3PnzvHw8NjZ2VlbW587d05ZWRkAoKmpCU8g1C8NDQ1JSUlHR8ewsLDu7m4JCYmGhgZ1dfW4uDjoKolEunDhwqNHjzAMe/ny5Y4dOxYuXBgfH6+kpPSF9hH6S6VSiYgWQXJysrm5Odw2NjZ2cXEhrnV6evqNGzdmz56trq7Oz89va2srKytL3IfKy8vd3NwaGxvNzMw8PDxcXV0XLFgAe9AHDx5samr61tW/c+fO48ePf7Kp0BMREaGmprZs2TJPT087O7tfzR4UFHT48GEVFRUAQHJyMux1DRnSGT4lJSUeHh70KcXFxZqamiQS6evJ8Ozt7aOiouB2ZWWlsLAwjDeOCD+IP2zatMnHx6e8vHzx4sWcnJzl5eU4jh87diwgIADH8dLS0okTJ+7atSsnJ+eLvBUVFfA5q6SkhI2N7We64gMDAwsXLhw/fnxlZSWGYTExMWZmZrq6unCSwPz8fGimr69/4MCBjIyMjIwMdnb2jIyMvLy8Cxcu7NixAxoYGxvLy8tTqdRPnz4VFRXp6Ojs2rWrqKgIPpQRREZGysvLs7KympubZ2Vl0e8SFRV1dXX19fXFcfzt27erV6+GBbq4uNja2kKbI0eOGBoawm1eXl4cxx0cHKysrGBKbW1tb29vUVFReXn54cOHi4qKHBwcbG1ti4qKrl69WlpaCs3WrVt3+PBhAwMDd3d3IyMjbW1teXn5NWvWXLx4sbW1NSoq6tChQ/Pnz9fR0Xnw4MH27dsnTpyI43h2draenh6O4xQKxcfHx8/Pr6GhAcfxgIAAJSUleM6zsrJSU1PDw8N7e3v7+/vhCQwPD4ensb29PTY2Njg4uLW1Fcfxy5cve3zGwcGBl5f31q1b6urqpaWlbGxs0Abi7+8/Z84cMpmsoKDw4sUL+pMGnwDY2NhSU1NDQ0M3btxIIpFevXrl4uJC2GzZsgWeQFVVVXh6q6qqVq5cqaurCw2MjIwOHDiA4/jHjx+lpaVxHDc0NHz27Bnca2VllZycDOMPycnJDg4O3t7eM2fOrK2thfGHuro6DMNqamrIZLK8vLy3t7eHhweO4wAADMNev35No9H4+PgWL15cVlbW19eXnp4uICBw5syZqqqqadOmlZSU4Dg+ODiIYVhmZiaO4+fPn1+wYAGO41paWkQLhJ7Aaz1nzpy4uDhWVtbr16/z8/OfP38eGkhISFy6dOncuXMYhsXHxzs4OMybNw822u7ubvrztnTp0gULFsA7loSEBIyzdXV1FRUVvX///sGDBzo6OkVFRUVFRVpaWnZ2dpcuXfLy8oJ5165da2NjE/OZo0eP0v+vrV+//tSpU2vWrIE/ifjD4OAgjEjA81z0mYGBgcHBQXt7ezc3NyIFmpWWlhYVFX348IEovKOjA9o8efKkvLw8JiZGWVm5ubkZx/Hw8HAYmnv37l1RUVFvb291dbWHhwd8mVRUVHT37t03b950dnYSLScqKiosLCw/P19VVRUmVlVVcXFxqaioEOGa+vr6s2fPpqenFxUVUalUmFhSUgLdiIuLgynV1dUwpa2tDcfx9+/f19TUNDY23r59u6amBtp4eHiIiIhAM3g56uvrP3365OjoeOfOHfx/ERMTa29vJ36ampqGhYXhI8RPxR8CAwO5ubm3bNmir6+fmppK9H8pFIqvr++yZcsmTpz49u3bIQvx9PQkHuu+z+nTp0+cOMHFxVVRUYFhGIVC+eeff9zd3fv6+ui7b/v27Rsy/gD7v/39/bNmzWJmZl6wYIGTk5Ovr6+CgoKent6VK1fo1/iiUChSUlLPnj1jYWHJyMiQk5Mj+tcAABERkebmZnFx8YSEhOnTpz9+/Hjy5MmbN29WUlLy8fEBAHR2dgoLC8vLyy9ZsgTOPwv+t//r4eERGho6adKk3NxcX19fVVVVa2trQUHBf/75x9PTE/rf19enra0tLi6+du3a0NDQx48f8/DwNDc3S0tLEyezra2Nk5NTSEgoIyOjt7eXk5MTAPDy5UvY/1VRUTl58uT27duXLVsGADh//vz8+fNra2tnzpxJIpF27NjBxsYGwx2LFi0yMDDYt2+fkJBQZ2ennZ2dlpaWv7//ypUrAQBVVVVlZWUkEsnT07O8vLyysvLIkSPGxsYAAHFxceLMxMXFycnJRUZGKisrv337Vl5e/sSJE8TeqKios2fPcnNzZ2ZmVldXP336VFxcPCkpaeHChdCgvLxcUFAQvu2E/V+YXlFRAUPesLpZs2bdvXs3JCTk6/5veHi4r6/vixcvoD6Wl5cXFhays7PX1NTAfh+ZTMYwrLq6ura2duLEid7e3mvWrGlvb6fRaExMTPX19bD/m5qaOnfu3Js3b4qKivr6+i5duvTGjRvTp0+HtSQmJmIYpqKiEhgYeO7cOfjwTvR/AQCtra3c3NzwGYudnb27u1tSUrKpqam8vJxwlUQiNTc3l5WVYRh27tw5fX19Q0PDIZv9F/GHrq4uAEBYWJiLi0tAQIC1tbWCgoKvr6+vr6+srCxsKhcuXIDGRkZGCgoKOz5jYGDAyspKFNXS0nL48GEJCQm4V0RExMLCYseOHXp6egICAi0tLWlpaUpKSr6+vvb29jCk3tXVJScnZ2xs7Ovra21tDSN+586dW758ua+v7+rVq+E/UWVlpaCg4IEDB3x9fYWEhB4+fKiiokLEXmg02uXLlwEAFy9eJJFIGzdu1NfXP3ny5M2bNwcGBnR1dX19fV1cXGCAi0wmy8nJOTg4eHl5qaiowP4vAODChQsXLlwwMTFJS0sDADQ0NEhJSZ05c+bEiRNTp06FEa3169draWn5+vquXbt23bp1AIBLly7BW/uhQ4cWLFjQ0tJy8ODB6dOnGxoa+vr6SkpKwkiCpaUlNzc3PKsw5AhxcHD4ov+bnp6+dOlS+pQ7d+7o6OgMeSl/gx/o74oVK3x9fbdv375u3bqrV69evnz52LFjR48ehY0SMjg4aGRkpKOjQ6PRHjx4EBYWRhwDjUbT1taOjY39GVfgHIA8PDzV1dXjxo1LSkrS1NRUVFTcvHnz2LFjiREXGzZsWLp0qa2t7dq1a8ePHw+fdqWlpaH++vr6GhkZqaqq3rt3D2YxNzeHa4ynpaXB8Qnd3d2ampq+vr7t7e0YhpWUlOzevVtRUbGxsRFWISIi0tLSsmjRorKyMh4ensLCQnFx8bCwMBMTE6galy5dUlZWtrCwePDgQVJSEi8vLxgq/jBr1iz4altPT+/hw4dKSkrwsWBwcDA6Onru3LkyMjIBAQGlpaXOzs5ubm4sLCzXr1+XlZUlSjh69KiqqurKlSsXLFiQk5MDhZ7QX1dX1/LycktLSxh2gPoLANDS0oL/J3fv3hUREenp6VFTU8vNze3t7YUd4YsXL2ZmZnp4eEycOBFWlJKSIi8vHx8fHxwcDABwcXHx8PAoLy8fM2ZMS0vLo0ePTE1N9+7dSyaTBwYGXF1di4qK6urqNmzYwMvLm5eX19fXt3bt2tTUVB4ensWLF1++fNnExERVVdXY2Njb2xtWsXjxYqJhQP1tbm7m4+N78OABHJpy5cqVCRMmODs7a2pqBgUFwRl+6fW3qqpKQkICiuzDhw8lJCTev3/Pz8//hf6uX79+w4YNQkJC3d3dx48f19PTo9FoY8eOzc/Ph/oLm1lgYKCbm5uNjY2lpSUM4sNa9PT0+Pj4njx5Ymdn5+3t7e7uDgBYvnw5ob9eXl56enrbt29PTk5WVFS8devWmDFjrKys1q1bN2HCBBh7JZFItbW1AQEBWlpaoaGhPj4+Ojo6X4/AAd+O/0KuXr06ZPwBYmRkZGlpGfQZd3d32BQhg4ODSkpKpaWlPT09xcXFTExMcBtCo9HCwsL09PRqa2vhzJwwMH3kyJHAwECikNraWhERESjENBpNQUHh9evXrq6ubm5u0ODy5ctv3ryRkZGpqqoCAOTm5j569Cg+Ph6Wpqmp6ejoODg4CI17e3vhrX3NmjWCgoIAAG9vbyMjI7g3MzMT6i+VSiWRSO/fvz9x4gTsB9TX14uIiFy5cqW5uTktLa2ioqKsrExKSgoOU6FQKDAwKC4ubmdnFxYWFhYWpqiomJaWlpycLCkpCccOGRsbwwjP1atX4XqsX/C1/iYkJFhZWdGnxMXFcXBwfOt6/So/0F99fX0AwLt378rKyoh1XI4ePUo/+zUA4PXr1ytXroT3KCkpKeKOUVJSws3N/fOLGxYWFk6ePBkAcOvWLQ8PD01NTXd3dxqNFhISQthISUl9p/+rp6f3/v17VVXVkJAQKM2ioqJz5861tbWdN29ecHBwV1cXXPjr1KlTR44cwTDs8ePHy5Ytk5WVnT17NnyvKCIi4ujoKC0tDfu2hYWF8vLymZmZ27Zt8/Hx6e3t1dHRiYmJsbCwAABERUXBDXt7+2PHjvX29hLBNai/5eXl/Pz8AwMDUH8vXbqUlJT07NmzqKioo0ePBgQEQOOHDx9yc3MDAHJzc+Ero7KyMj09vezs7NWrV3/69Km6uvoL/b1x44aent7du3e/1t9jx44BAD59+oRhWG1t7bRp0/Ly8gj9jY6OVldX9/T0JPR38eLFL168aG9vZ2Jiys7ONjQ0vH//Puy+tbS0FBQUVFdXd3d3a2hoJCQk7Nq1C+a6efNmQUEBAODFixesrKwNDQ1Qf5OSkjZu3Ojp6Tlt2jSif3Hp0iXiIqqoqISHhy9btszQ0BD+CzU0NCxfvtzT0xO+f/Pz84Mb9Pr7/9r78ngo1zfuOZ2Wc5w6qbScVkUdSSlJqKwZSwnJMqXGMmakzZKliUKWEgqhQhFatGCoyL40SKOohEIJM5jspMzc7/vH9el5nzM6nc72nn7nzPevZ3jmmWe5n+993dfyvTgczuTJk1taWggEwuvXr8eMGVNWVjaaf8H+XbVqFUKovb3dxMSEz+cDMfF4vPHjxx89elRaWjoyMtLLy8va2nrDhg1ubm6TJk1CCKWmprq7u2tra0OYBeZpbAXW29vb09NjaGh4+fLlPXv2IIS6urrU1NTExMTA/gX6aGlp+f777+vr6yFycPfuXUtLy6VLl34yp+3z/GtjY3P06FHYHs2/iYmJqqqqmzZtKi4uvnTpEoFAKCkpSUlJyc/Pf//+vZmZ2Zo1a8A7TyQSQ0NDb9y4gUVu4H4eOXLEzc2NRCLJy8vDeyrAvy0tLXAnAWZmZgwGw8TERKBpk7GxMUy0WVlZLi4ukyZNgl7URCIRH7A6fvw4mUwuLi7Oy8sD/t2zZ8/evXvhv9gNzMzMlJKScnNz27t3r5iYWF9f3/Dw8OXLl93c3Nzc3JYvX/7o0aPa2loVFRWB2yUpKeno6Oj2EY2NjQIO9L+EfxUVFUd/94/hi/wPx48f37RpE5FIhNA/xr8NDQ0w6bm6ugqMDEBUVJSASfh5lJaWfvvtt7Dt4+Pz/fffY1m9gKGhIXFx8devX8PH0fzb2dkJ/It9BbN/AZ6eniEhId3d3Q0NDdXV1QQC4dGjRw0NDb29vTExMbCukZCQyMnJ4XK5JSUloqKiT58+VVdXb2xsBKuNx+O9ffsW8h8QQubm5hB12bNnT3Jy8uXLl0NDQ+G35s2b19/fb2JiAukfCgoKlpaWmpqaWCox8O+RI0cw+5fBYFy4cAGuBZpOAv9i1xsdHW1lZaWvr9/W1jZ+/PiGhoY7d+4I8K+zs/P+/fsRQhkZGStXruTxeFpaWnj+nTt3bkpKSnFxMfDvgwcPxo0bt2bNmu3bt8vKyh4+fBjcFBj/IoT8/f1hYV5TU6OsrMxkMlNSUgICAohE4sDAQE9Pz+LFi5lMppGR0YYNG6KiorZv3+7i4rJy5cquri4SiSTwoDMzM+Xl5el0OkZJ8Ko4OzsD7UJOGPrIv56enh8+fHj06BG4d/H8e+DAgba2tl/jX0B7ezvGvzNmzLh79255eTnGvxkZGXfu3AH/A5PJ7OzsBP7l8XhLlix5+fIlxr8HDhxgs9m5ubnJycl79uzp7u5WUlIqKiqSlpauqqrS1tYGe+XFixfy8vJgc0VGRhoaGi5ZsgTW0aPxGf5ls9kLFy6sqamBj3j+vXv3Lp1OZzAYq1evPnDgQEVFBfiaKysrQ0NDwRVQWlqqpaUF52BqaooQGh4eJpFIbm5ucBASieTo6Ah/X7JkCbzLXl5eMHmzWKySkpL+/n5FRUVIHH748OGCBQsGBwevXbumoaEBafjOzs65ubl37tyRkpKCU21ra5s7dy78BJFIzM7OxlLayWRyQkJCd3e3g4PDzJkzIcNy1qxZsDRxdnYGk9bIyCggIAC+Ympqevbs2fr6egUFBeB0OEhXV9fq1asZDAZCKC0tzcnJCSFka2sLL/vbt28DAgJevHiRk5NDJBLhUOrq6jdv3kQIvXnzZv78+YODgxA6Qgi1trZ2d3ebm5snJyfjE/BfvXolLi6OfyjOzs6f5Lo/ht/gXw0NjdLS0ri4uNjYWFtbWyKRGBcXZ2RkZGtrixA6efKkjIwMxCI+meVuaGj4uyKYGP82NTWZmprq6urq6uoeO3asoKCAy+Xy+fxTp05hxhdCaNasWQMDA1evXjU2NgbOQgh9nn/xJRKY/0HgNCQkJG7cuFFaWrps2TJNTU0tLa09e/Zwudzk5OT09PSmpib0Mf8sOjrayMgI3rQ9e/YEBARQKJTQ0FAul+vo6KimpqamppaXl8flcrlcbm1tLawTITsqLy/PyspqtP0rcKpRUVHAv52dneD/raio2L59O3hRIBXsu+++S0xMpFAo4uLiT548CQ8PnzNnTnR0tKmpKZPJLCgoGDNmTGxsbH5+PoFAuH37No1GU1VVpVAoEydODAsL6+zsvHnzJqTrd3V1aWpqxsfH5+XlZWRkwJ3s7OxcsGABsFtNTU1ZWVl7e/u+ffsuX75MIpHCw8P7+vrmzp2rr69fWFjo5+f3+vXryMhIDQ0NQ0PDTZs2HTx4ELuorq4uHx8fJSUlLFUAj61bt7q7u4OvBgw3Q0PDgoICfX19JpMpwL9jx459+PBhf3//69evR/sfgH/7+vq4XG5ISIiCggJCCPwPCKGamhoDAwNNTU0VFZWMjIybN29u3rwZ82Vra2tXVFTs2rUL3mo+ny8rK1tYWLhixQow55OTkyGhEKpUpKWlHz9+HBoaCkc4ePAgXHJbW5u1tfWUKVNmzJgRHh7++PFjLpcL8zf3I5SVlb29vbGPCQkJwIMsFktTUxNfVzLa/mWz2TNmzAAbBYwJvImdkZEB65VvvvlGW1vb1taWSqXS6fQJEyZAQP/KlSuWlpZUKtXW1jYsLAy+xeVy7ezsqFSqtbU1MBH+L7Dc4fP558+fp1AoFAolODgYxn9ZWRnksNvY2MDDdXJysrS0tLa2trKygi82NTVZWVlRKJSkpCRnZ2cg2YcPH1pbW9va2kZGRu7Zswc8QtbW1gMDA7CQotFoDQ0NW7dutbGxoVKpJ06cgMtks9lwUU5OTvBW8vl8Dw8PKpVKoVBOnz7d0dFx6NAhMpl848aN/Px8MplsbW3d0dGBEDp37pytra2VldWVK1cQQhERERQKhUwm29jYWFlZYa5IhJCKigqcPEJoZGREXl7+wYMHo4fuH8Nv8K+6uvr9UaDT6XDSvwksb+4LUVpaOmbMGB8fH21t7atXryKE+vr6wsPDZWRktm3b1tPTY2trCwEKgLq6OkLo1atXc+bMwbzMzc3NYJkCtm/fjl9z4dHb2zt+/HisVgqDrKzs4OBgYWEhg8EYGRmJj493d3fX0tKSkZFRU1OrqqpCCDGZTHV1dW9vb2zEl5WVubu7u7u7v3z5MjY2FpaN165dc3d3X7NmjcxHyMnJgTURFxcnIyODTbaFhYWLFy8efZIRERFgj/T392OmkADgPr98+bKvr4/D4YSHh/v4+JSXl0PEub6+/v79+2/evME2+Hw+vNj4B9TZ2enl5WVmZpaZmdnb23v16lUI6yOEiouLz549y+PxVFVVTU1NwbEjLy+fkZHR0tIC6ThaWlqQZ1ZVVbVlyxYoXAQL0cjIqKmp6dixY1QqddeuXVgS62hYWlpCPQK8JAihAwcO6OjorF69urq6uq2tDXq7Af/6+fkhhHx8fFauXAk1k52dnbq6usPDw729vXAClZWVurq6kyZNAicGxr/79u07e/ZsVVWVnp6eiYkJiUTasGEDtlCl0WhbtmzBm6Wenp729vZ0Oh0YNjk5Gd9WWVpaGss4Hh4e3rFjR0ZGBoVCsbCwiI+PHxkZSE5ZCwAAHT9JREFUaW1t9fX1Xbly5ZYtWyCw7P7ruH37dkFBga2tLXAKBhsbG3BGI4Q6Ojo8PT03btyI1b/V19evW7cOX/CWmppKpVKbm5tjY2Pv37+P/Ss6OhocXEJ8CWJjY7EVbW1t7f79+//CVlWf49/BwUE82f1/wPDwcGNjI8z/vwv4+UoAHR0dv5avx+fz37x587uO9rfir/rdo0ePgv/hd+HRo0fZ2dn4KufR59PT0/PJIBJCCAuQZmZm4lNc+/v7gaOxupLPoK+vr7Gx8TNl3AihwcHBuLg4LKSDEEpPTx89iWIYHh7mcDjYxy+MBn8eAwMD+EHV0tKCb0Y3NDT09u3b0Zn8fxL9/f3YZP/+/Xs2my2wwz81boX4wxDq7/zbUFlZCaVc+KozIYQQ4iuEkH+FEEIIIf4Z/HH+/cuXV0IIIYQQ/yn8cf6FXBAhhBBCCCH+GIT+ByGEEOIrAp/PBwHu/wK+Uv6tq6vDZyZgKtd4dHV1VVZWfv44t27dguC4QHrywMDA8ePHsRg6pkXwGbS0tAjIU5WWlqakpHR2drLZ7MzMzE/m9Jw4cQIKUp2cnDBVQDyePHmCqT3cunXrN1MLKyoqPikemJWV9UnFdCx18Q9DwNGEJTyNBpfLHS1m//ehubkZCoL+DkRERPymLPqfBJfLxVLchoaGMFUHATAYjLNnz/7m0TIzMz9Z4sFkMqHyMCwsLD4+/pPfdXR0hMHZ3t4uUO4lADc3t19TekEIUalUfMLy51FTU3P48GFIp3nw4AGWsz84OLh69eovPMj/Or4u/q2rqzM0NATR0qKiIi8vrxMnTlAoFEVFRRsbG4xDk5KShoeHi4uLoVj5Mzh48CCops6aNQuvsFNdXT1r1ixIIWptbZ04cSJeP7O1tTUmJiYmJsbR0dHAwEBfX/+nn37atGmTjY0N0Fltba2WllZMTIyzs7O+vn5aWpqdnR1eEwPDokWLmEzm8PDw1KlTBYRfEUIfPnxYtWqVhYUFfNTW1sYX6SKEwsPDqb+EgB5ub28vh8PhcDgsFmvOnDkcDgeS0rFXEfZnMBhWVlawwWAw3N3dJSQkPn/rMDCZzDVr1mCTB51Oh6Ip+HX8nh0dHbKysgJZqwih58+fl5aWYh8vXbqkqakpsM/bt2+x2TQrK2v0zWxvb+dwOElJSTExMRQKxdDQcNasWQJ6m4sWLbpw4QKDwUhISIiLi9u/f39oaOjUqVPT0tIQQrGxsaA0RqVSzc3Nzc3NYXvBggWgeoE+ygQjhKytrTERxXfv3v2aRYblKQugv7//N1UK8/LysCrYJ0+eTJ48GZ8nh2F4eFhaWnp0xv2zZ88cHR3fv38P84Sfn98nRyBeyeiTPH727FkxMbHU1FQejwcyZvj/amtrt7S0YMNs+vTpCQkJHA7HxcUFylDT0tLMzc3hfbGwsNDT04uJiblx4waotSGEvL294T67ublZW1srKCgEBgZaWlomJyf7+/vDS11cXLx161b4xdra2oULFyKEQLrv8/fwfx1fF//i648RQkQicfSU3tzcPHHixBcvXhQXF49+jRFCly9fvnDhQmVlZWVl5a5du7S0tCorK9euXbtkyRKQUCkrK3N0dKTT6QkJCX19fWfPnlVUVKysrExMTIQs/Z6enrKysrKyMj8/vylTpkBZwaVLl/BGNJFItLe3FxUVdXZ2bmxsVFJSYrFYCKHbt2+Xl5d3d3fTaLT3799Pnz6dyWTeuXMHU9EuKCjAai7Onz9PJpNdXV137NjR29s7ceLEN2/e9PT0JCUlfeEdu3//voeHx/r167dt2xYdHb148WIKhRIWFoZ1mpGRkWlvbwfJrlu3bt26dev27dvJyclQff+FsLW13bt3r4+Pj4+Pj7W19fLly318fA4cODD6IJ6ens7OzrD98uXLrKwshNDQ0JCampq3tzcwbFxcHNRP4hO9q6urN27cCNtY0X1vby/G+6GhoTY2NlevXqXT6cAjHz58WLNmDcaYCKFp06bBMzp+/DimhyclJQUrg5ycHEy56uLFi5iGvY6ODrBbT0/P8uXLgSz09PTU1dVhW0pKCq/vjuHMmTMiIiKj/15dXS0uLv5rxiaguLh43759YWFhoIt09OjRzZs3V1ZWxsTEvHr1qqWlpRIHMpns7OwM26dOnTI1NYXL3Lp1K5TnIoTc3NxOnz7NZrNPnToFjHzhwgVfX1+Mf8XExOLj4ysrK8vKynx8fGAVxWazZWRk2Gz2zp07vb29d+3aZWtrW1lZuW3bNqgLvXnzpoaGRmpqqoeHh4eHxw8//GBmZgbbYLKkpKQYGRmVlZXp6+ubm5v39/fr6+vfvn2bw+Fgk663tzeMH3Nz87Vr1/r4+KipqXl4eODvxvLlyx88eODk5KSpqTlz5kwGg6GsrIxpX/xb8dXx7zfffHP9+nVpaem8vDy86F9RURFMhlFRUXJychkZGSdPnpSUlMzIyMjIyDA2Nr5+/TrsGRISIiEhERkZGRkZ6ejoKCcnFxkZuX///rCwMChSIpFIJBIpKSlpwYIFeXl5Wlpabm5ukZGRy5Ytwxc3JyQkSEtLP3r0qK+vj0wmKygoYIvruLg4DQ0NUVHRn376CZStp02blpSUpKCgoK+vHxwc3NHRQSAQmpqaxo4dy2QyYVQlJiYqKyubm5uXl5cjhJ4+fbpo0aKOjg4ej+fl5UWhUH7++WeQkd22bdsnnRWA8vJyKGMvKiqCy/fz81u4cOH169enTZsWExOD3UD0kX/37dtHIBAqKiq+++67uLi438u/1dXV3d3dzc3N169fh246UCbb0tLCZrPx5vnKlSuxAjkSiWRkZNTQ0FBTU1NcXEwmk3fu3GlnZ6ehobF+/fq4uLhJkyZhykqf5N/AwEBsWdrd3b1s2bKamhood3z79m1ISIiZmRl+UgS1YvRRzBsh9O7dO0lJSSga9vT03Lx586tXr0pKSs6dO0elUsvLy728vHR0dGDudHBwGC0t2NXV9fPPP39SvT47OxsTMBKAqanp5/lXVVXVzs4uISFh6tSpz58/X7FixbFjxyIjI+fOnZufn19SUhL5EZaWlqB5jweLxfLw8Ojt7YV6dx8fHxUVlS1bthw8eFBPTw/saF9f38DAQODfp0+fTpo0CQp8J06cGBkZCaI2+vr6UOL49OnT7du3L1iwICYmZuPGjRoaGkDQAwMDIEmjrKwMXan8/f1dXFxApgMhlJKSIi0tbWdnJyUltWzZMtiwt7fX0dHR0NCAfUCioLm5+ezZs5aWls3Nzdu2bQMBI4RQenq6v7//qlWrli1bVlRUdPXqVbB/d+zY8QfKiP638NXxLxgUoIFLJBIPHz68c+dOAwODmTNn5ufnQwlsUFBQampqQEDA2LFjUz8Cc0tB/6GhoaGsrKzc3Fx4lqDxCjuQSCQQxDE3Nz969OjatWuh4MrBwQEzPEEKj0KhzJs3Dxrh4AuuRkZG7O3tjY2NZWVlTU1NT58+LS4u3tfXt3XrVmBGPP8WFRUpKipaW1sjhDZt2gQ7DA8PS0pKmpqa+vj4BAUF6erqqqioQAslEEhECLm4uEB5O5VK9fHx0dTUjI6O9vPzc3Z2plAoHA4nPz8/NTV13bp1gYGBmAihkZGRpaVlamoq1JvJyMiUlpa6u7vfvHlzzJgxJ06cQAh9Of/euHHDysoKZB/6+/s3bNhQWVl58eJFMKkEkJubu2zZMtjGvMYfPnxQUVFJTk7W1NTs7Ozk8XgXL17ctWsXj8fj8XhYKWdiYuLGjRv5fH5ubm5gYCCZTL53797y5cvxNrKPj094eDiHwxEXF6+rq1NQUBBw6YiIiISHh3t4eGzbtk1dXd3X1zc8PBwEgtFH/j18+HB8fDxIZ6SlpaWmpmL8C/6Ztra2hIQENpvNZrNTU1OTkpJmz54Np/Hu3bvU1NTo6GgYbJiAUV1dXU5OzsOHD6Ojo8En4+LiEh8ff+vWrZs3b/L5/JGRkdzc3Ojo6KSkJBhIqqqqYGCqqKgkJiZiPigzMzOBLpmXLl1at24dm81ubm7et28f5vPZuXPnoUOHsJppPz+/06dPwzZQp6+vb1hYWGxs7KFDh44fP66jo9Pe3n7r1i09PT3YzcvLy9jY2PYjzMzMfvzxx/LyciqVismb8Xi8rKyskZGRKVOmdHV1gWXq6emJsWdKSgqNRuPxeNbW1paWljweT0xMLCMjA54v7EMmk+3t7auqqiwtLeXl5YuLi6lUKhxhZGRk+fLlvr6+xsbG9+7dY7FYQv79x1BaWrp06dLOzs7Fixe3t7eD/QsPD3Z4/Pjx+vXrYQRjo18AISEh0tLS0dHR0Ppl+vTpXC4X31eNRCKdO3eOxWKBi8rV1RXK6q2trfELfw6Hs2/fPmNj4+bm5pqaGj09PawNycWLF93d3UNDQ11dXe/cuaOkpOTq6vro0SMQw0W/5N/4+PiUlBRwq82dOxc8yHV1dUVFRfX19RcvXkQInT171s3NTUpK6vnz59OmTcNfjrOzc0lJSVRU1NGjR9PT00cH33R0dA4fPozxr52dHb77i4yMTH19/atXrxQUFJycnLZt23bt2rUrV658uf3b399PIBCePXtmb28/f/78TZs2LVmyhMlkBgUFCUSocnNzJSUlYcKYMGECkBpCiMVikcnkLVu2wMe4uDiQJx4ZGbl48SIcBOzfwsJCEIiQlpY2NTXFXMnNzc0sFis9Pf3u3bt1dXWLFy9+8eJFbm4ui8WysLDAGi1jeniY/YsQkpOTA/4NCgoCEV4Wi2VoaKinp+ft7d3f36+jowMF/j09PZ6enp6enrGxsXp6empqag8+Am67v7+/iYmJn58fCCFhI9DQ0HDq1Klubm4SEhIgiuji4iInJ+fp6SkmJsZgMDIyMubPn19UVCQuLg7OaFVV1Vu3brFYLDk5ueDgYBqNBvG30fzr6emppKTk6enp4uJCIBCwssaenh4HB4f169d7e3t7e3tramrq6up6e3s7OztPnz79/fv3GP9u27atsLAwJiYmPj5+9+7d2CKvqanp9evXJSUl58+fb2trMzc3P3fuXHZ2trq6OpwDh8OJi4v7/vvv29vbRURE7t69O3bsWE9PT3V1dYyggX8RQo6Ojjo6OgwGQ0ZGRkBciUwmm5qa1tbWBgcHm5mZ1dbWxsTEAP9++PAhJCSkuLjY2Ni4vb2dxWLBVMFisfT09BQVFTFhjX8lvjr+lZWVvXLlypw5c1pbWydMmIDnXx6Pp6GhgXmEb968CaO/pKQErwQaEhKye/fugYEBYI2lS5fGxMRgeloIIRKJtH379qioqPnz5+fl5Q0PD0+ePLm2tlZSUhLjXzs7ux9//HH27Nk0Go1GoykpKdnb28+YMQP07s6dO5eamiopKXnw4EEajVZdXR0TE0OlUjEBMwH/A0Jo69atly5dggZusA+bzfb19SWTySDGePPmTQMDg6ioKMw8QQh1d3eLiYkxmcyoqKjdu3fn5+crKSkJULCOjg6dTo/6CBqNJsC/QUFBFArF39/fzs4OGmvGxsb+Af598uTJ06dPiURidHR0RETEunXrBMIjhw4dAkWr58+fi4qK4tkZFiVUKvXq1avTp0/X09MDrbhNmzaBjkFISAjmf4iPj1dRUcF/PSIiIjIyMioqysfHR1RUlEAgrFu3DrtkjLBERETgeamoqKxevRq2xcTEgH8fPHiwefPmN2/eEAiEEydOZGRkEAiEtrY2HR0db29vOAKLxZKXl0cI0el0cNk/f/4cs8FDQkKys7MDAwPHjRuHcPyblJQEkcB79+59++23NTU1Li4uMKmrqqpeunTp5cuXwcHBGRkZs2fPhiWIqqrq7t27o6KiFi9e/Pz5c5A25nA40tLSAvxrYmICXQG7urokJSXx6zBtbe3q6uqWlpacnBwCgcBkMls+An20fwMCAmCx8uDBA319fWNjYzyj2dnZMZlMcXHxu3fv6urqlpaWqqurS0lJYS8Lpv+bmZnp7+9PIBCOHDkCnTJgB+DftLQ0IpGoq6tLo9GIRKJAYIZMJquqqsbGxmpqaqqpqcXGxpqbm2MWNNxJY2Pj6urqa9eugSq3oaFhY2NjXV3dX9vv8mvD18W/BQUFoKD6+PHjvr6+efPmoY+LF4QQj8errq5++fLl0aNHGQzG8ePHx44dCwH9tLQ0LBIdEhISEBCA8e/p06cJBAIEWIqKitAv/Q/gJDUxMRHg34qKCmiQfOnSJZDiZ7FY9fX1oChWXFxMp9OJRKK/v/+iRYs+fPjw5s2biRMnYiEF4F8HB4cxY8YA/967d2/mzJmYUYYQYrPZsrKy/v7+UVFRSkpKQ0NDgYGBoA+J7WNhYQHimeD1RghduHBh7dq1g4OD2D7GxsY0Gu3YsWPm5uYnT57U0tLC8hMQQjIyMtXV1QMDA/39/ZgQKt7/MDIy0tbW9plqmv7+fgkJidu3b9+/f9/Ly4tOp9fW1i5atEjAJToyMrJw4UJ4t3NyckDOHCHE5/Pr6urmzJkDEjllZWUgcyygsoT3/0LHVdju6urCs7y1tfX27dvFxcVpNFpcXBz+CO/evYM1Mp/P9/b29vT0BCkcCQkJ4KOIiAiMf9va2pqbm0fzb1hYGKhr0+l0cXFxKpX6888/Y3kFubm5ampqwcHBP/zwA8Lxb0REBNbEYfLkyffu3QP/A0IIOslyOJw1a9Zcv34d2lOiX/ofnj9//uHDB3d3dw6HIyIigufflpYWUVFRUPR//PixlJQU/L2vr+/QoUOYxrGNjc2RI0fy8vJgOQWgUqkSEhJ79+7FnEXQGhEv3wUK1EQicfPmzRkZGeAux0e9MP4NCgo6efIkkUj08PDQ0dHBJAZDQ0PB/r1w4QK4niUkJLCmJwCIK7q7u5uamkIr3tbWVnxeI/AvdpJJSUny8vJfYZPmvxxfF//S6XQsucrNzQ3eCrz/AY9P+h/4fL6WltalS5eam5uhI4OTkxOBQIiLixscHISRRCKRQAJRV1cXnzMrKSmJZS9yOBwFBYWIiAjg39evX2/ZssXU1BTT2bpz546RkZGMjAw43erq6kRFRV1dXeG/XV1dFApleHgYs3/T09MJBALo2QO4XC6JROru7jYxMTExMUlMTExLSyMQCDA3IITKy8uVlJTA0MD49/379woKCpgOYVlZWVZW1oYNGzo6OubNm8dms7OyshITE7F0Ooi/QcqHjo4O5HLg+ZdOp+/evRtaSn/yofT390+YMMHa2trT0xNCi0ZGRitWrMDcC4C0tLQFCxaA0ZqTk4Npxo+MjHh4eIBSKHRCys/Pb29vX758OUyHgE/G39Av+19Avw8Oh7NixYqenp7169efOXMGY+f09PQlS5bA9if9D8HBwRj/WlhY7NixYzT/qqioaGtr9/T0YPYvHosWLbp69WpJScnYsWN7e3uxERgbGwsn//r16x9//LG3t5dKpeL5Nzg4eP369TweD1Tn0Sj+xX5ixowZ+Fw3BwcHzMMbHx+P77yQnJwMXuPMzMyNGzdCHFJVVRVLYWQwGE1NTVj+Q2trq7y8vISEBD6VvqCgIDY29sqVKyIiIjt27MjJyZGTk1NWVsaSNYF/s7KyIFUZ/L8DAwPm5ubgBDc2NsYiK6qqqlJSUlhiCR7Dw8O6urpjxoz5pLohxr/V1dXz58/v7e3dtWsX1hfjX4yviH8HBwcVFRXZbPbg4ODmzZvd3d1Bbe8z/Dt//nzY5vF4UBfQ2Ni4Zs0aaEhOJBJdXV0NDAwePXo0derUnTt3Qo4hiUTauHEjlUodN25cfn5+bW1tVFTU+fPnZ8yYATmbBQUFq1evzs/Pz8nJuXjxIhgdfD6fTqdjzoGOjg4SibR8+XIJCYna2loZGZl79+6tWbPGysoKr4UI/JuTkwMxaG1tbWNjY3Ch0Gi0pUuXQt5PSkqKhYWFlZVVamrqzJkzs7Kyuru7V65cWVtb29TU5OHhYW9vj7UxvX79OoVCQQh1dXXJysqC+jibzY6MjGxoaFBQUHj48OGcOXMgy01GRiYhIQFWCQEBAdOnT2cwGJD7AUczNzd/+/bt4OAgJmAvgP7+fhERkcLCwoqKiqqqqlWrVlVWVnI4HPCZwD5NTU0yMjJ5eXkPHz589uyZlZUV3gaHBiLv37+nUqleXl58Pv/FixenTp0SFRXF1sLZ2dkrV648dOjQgQMH8PyrrKwM/Hvq1CkDA4POzk7gX7h8fX39GTNmwPLczMwM02n9JP+C/wEE+1ksVkpKir29fWpq6urVq4F/79y5s3nz5hcvXhgaGpqamo7m3wMHDsjJybm5uY0bNy4wMDAyMnLMmDHPnj1zdXX99ttvoVk9tKMWFRWFGzJr1ixtbW0mkzl16lRdXV1paWlIPAclZWtr6/Hjx9fW1ra0tDAYjJMnT+I1oCMiIjQ0NPr6+jIzM6lUqrS0dFBQEPbfrKwsCwuLlpYWMTGxHTt2gNvdwsJi+vTpeI1N4F+IpqSlpdXX10tISNjY2DQ1NV2+fFlKSsrW1vbixYs1NTUQ421ubiaTybKysmVlZffu3bOxsdHQ0HBxcWEwGIWFhUQi8cyZMzCc7t2719XVJSUl9e7dO5DVX7JkCZ1OX7FiBZVKDQ4OTk9Ph3Noa2tzcnKCuUdFRQVL7KNSqaBADfz75MkTaWlpsIGgo6CysvJv1lj9T+Mr4t87d+6cOnWqsrLSwMAAX0UTEBCAvVfm5uYaGhpUKlVDQyMwMBAe4ZIlS0B4v7W11cHBAZZvkBgAbyZCiMvlGhgYQDJTTEwMmIegpI4QioqKEhERwbLTT506BV62a9eu/fDDD/j5vKqqCvrRbdq06cKFCx8+fJCUlNy6dSsoo798+ZJKpWIGLEJo/vz5JiYmhw8fxhb4VlZW0FUhPT29q6vr1atXvr6+BgYGmF87MTFRUVHx8ePHWMCQzWYrKipC1hoeaWlp0D5jx44dZDIZ7oaiouKTJ09SU1MhUCMnJ3f58mXGL1FSUgId5BBCDAaDRCIZGBh8snwOIVRaWmpkZNTY2Lh3796dO3diku21tbWgZQ69O6E4kMViGRkZLVy4EOsRhT7yb3d39+zZs2HmO3HiBIPBcHBwgAbMCKGwsDAtLS2wqZ8+fbpw4UK4nIULF758+fL06dPYyhrjX0B2djZCKDc3F7MT0Uf+raqq0tLSEhMTg6Q04N/y8nKBu7Fu3bq7d+8ODAxISUmBddbU1HTw4EFxcfHZs2fPnj17ypQp69ev7+3txaZ5GDk1NTVgfbu6uhobGzc0NHy55mdQUBA4vrFBeOvWrdmzZ0ProJaWlj179ri6umLZdWfOnKHRaFhrQYRQYWHhvn37WlpaoBERlgoCMTdstytXrqioqFCpVKwRX319/cGDB/FlMhEREVQqFd/6zM/Pr7a2NiEhATK4Hz9+LFAHpKiomJ2dnZaWVltbC1k6WHSaz+dfu3aNSqWWlJRwudwtW7bQaDR4TICamhoGgxEWFoYtoeDR+Pr64m8gj8cT+Mu/D18R//7d4PF4nynG/TV18IaGBoHap5GRkYcPH8JCe2hoqL6+/s+cVU9Pz5cIk/9h/FUHz8rKGl3sCwe/fPkyPg/s3bt3AnVcQ0NDnywU5nK5+O7fX4iBgYHRHTQKCgrwC9uOjg5I1u7r60tNTYU/tra24qdG/M6Dg4PPnz+vqKj45C92dXV93hdJo9Ew58lfgt7e3s8oygvxr8F/iH+FEOJvwvXr18+fP//npTb+m2AymV/eIv1fBiH/CiGEEP8kGhsb/zuCZwIg/B8hhBBCCCH+CQjtXyH+H54+ffqvV5wSQoivB0L+FeL/wc/PT0DjWAghhPj7IPQ/CCGEEEL8MxDav0IIIYQQ/wyE9q8QQgghxD8Dof0rhBBCCPHPQMi/Qvx7gNdm/Ayampr+C9paQnz9EPofhPiXoLq6OiQk5J8+CyGE+B0Q2r9CCCGEEP8MhPwrhBB/FlhjViGE+F0Q8q8QQvxZ4Fs5CCHEl+P/AhGS1GOGp74DAAAAAElFTkSuQmCC" alt="" />
def stocGradAscent1(dataMatrix, classLabels, numIter=):
m,n = shape(dataMatrix)
weights = ones(n) #initialize to all ones
for j in range(numIter):
dataIndex = range(m)
for i in range(m):
alpha = /(1.0+j+i)+0.0001 #apha decreases with iteration, does not
randIndex = int(random.uniform(,len(dataIndex)))#go to because of the constant
h = sigmoid(sum(dataMatrix[randIndex]*weights))
error = classLabels[randIndex] - h
weights = weights + alpha * error * dataMatrix[randIndex]
del(dataIndex[randIndex])
return weights
分类结果:
aaarticlea/png;base64,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" alt="" />
四 实例: 病马治愈问题
先说明下,数据清洗是必要的工作,确实值是我们经常需要处理的;
缺失值的解决方案:
1使用特征的均值;
2使用-1等特殊值填充;
3删除有缺失值的样本;不推荐,有的数据的获得是不可恢复的
4使用相似样本的值来填充;
5使用其它算法计算确实值,比如kmeans等;
若样本的类属性缺失,监督学习中一般采用直接删除的方法;
主函数是multiTest(),原理和上面一样,整体过程如下:
训练分类器,获得线性分类器的参数weighs;
对测试样本应用分类器,classifyVector方法返回0或1;
统计错误率;
def classifyVector(inX, weights):
prob = sigmoid(sum(inX*weights))
if prob > 0.5: return 1.0
else: return 0.0 def colicTest():
frTrain = open('horseColicTraining.txt'); frTest = open('horseColicTest.txt')
trainingSet = []; trainingLabels = []
for line in frTrain.readlines():
currLine = line.strip().split('\t')
lineArr =[]
for i in range():
lineArr.append(float(currLine[i]))
trainingSet.append(lineArr)
trainingLabels.append(float(currLine[]))
trainWeights = stocGradAscent1(array(trainingSet), trainingLabels, )
errorCount = ; numTestVec = 0.0
for line in frTest.readlines():
numTestVec += 1.0
currLine = line.strip().split('\t')
lineArr =[]
for i in range():
lineArr.append(float(currLine[i]))
if int(classifyVector(array(lineArr), trainWeights))!= int(currLine[]):
errorCount +=
errorRate = (float(errorCount)/numTestVec)
print "the error rate of this test is: %f" % errorRate
return errorRate def multiTest():
numTests = ; errorSum=0.0
for k in range(numTests):
errorSum += colicTest()
print "after %d iterations the average error rate is: %f" % (numTests, errorSum/float(numTests))
五 总结
1 logistic分类器只适用于数值属性,不能处理非数值型数据集;
2 logistic分类器的目的是寻找一个非线性函数sigmoid的最佳拟合参数;求解过程用到了最优化方法梯度上升法;