Files
ailearning/docs/da/086.md
2020-10-19 21:08:55 +08:00

2169 lines
142 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 注释
## 使用文本框进行注释
先看一个简单的例子:
In [1]:
```py
import numpy.random
import matplotlib.pyplot as plt
%matplotlib inline
fig = plt.figure(1, figsize=(5,5))
fig.clf()
ax = fig.add_subplot(111)
ax.set_aspect(1)
x1 = -1 + numpy.random.randn(100)
y1 = -1 + numpy.random.randn(100)
x2 = 1. + numpy.random.randn(100)
y2 = 1. + numpy.random.randn(100)
ax.scatter(x1, y1, color="r")
ax.scatter(x2, y2, color="g")
# 加上两个文本框
bbox_props = dict(boxstyle="round", fc="w", ec="0.5", alpha=0.9)
ax.text(-2, -2, "Sample A", ha="center", va="center", size=20,
bbox=bbox_props)
ax.text(2, 2, "Sample B", ha="center", va="center", size=20,
bbox=bbox_props)
# 加上一个箭头文本框
bbox_props = dict(boxstyle="rarrow", fc=(0.8,0.9,0.9), ec="b", lw=2)
t = ax.text(0, 0, "Direction", ha="center", va="center", rotation=45,
size=15,
bbox=bbox_props)
bb = t.get_bbox_patch()
bb.set_boxstyle("rarrow", pad=0.6)
ax.set_xlim(-4, 4)
ax.set_ylim(-4, 4)
plt.show()
```
![](data:image/png;base64,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
RU5ErkJggg==
)
`text()` 函数接受 `bbox` 参数来绘制文本框。
```py
bbox_props = dict(boxstyle="rarrow,pad=0.3", fc="cyan", ec="b", lw=2)
t = ax.text(0, 0, "Direction", ha="center", va="center", rotation=45,
size=15,
bbox=bbox_props)
```
可以这样来获取这个文本框,并对其参数进行修改:
```py
bb = t.get_bbox_patch()
bb.set_boxstyle("rarrow", pad=0.6)
```
可用的文本框风格有:
| class | name | attrs |
| --- | --- | --- |
| LArrow | larrow | pad=0.3 |
| RArrow | rarrow | pad=0.3 |
| Round | round | pad=0.3,rounding_size=None |
| Round4 | round4 | pad=0.3,rounding_size=None |
| Roundtooth | roundtooth | pad=0.3,tooth_size=None |
| Sawtooth | sawtooth | pad=0.3,tooth_size=None |
| Square | square | pad=0.3 |
In [2]:
```py
import matplotlib.patches as mpatch
import matplotlib.pyplot as plt
styles = mpatch.BoxStyle.get_styles()
figheight = (len(styles)+.5)
fig1 = plt.figure(figsize=(4/1.5, figheight/1.5))
fontsize = 0.3 * 72
ax = fig1.add_subplot(111)
for i, (stylename, styleclass) in enumerate(styles.items()):
ax.text(0.5, (float(len(styles)) - 0.5 - i)/figheight, stylename,
ha="center",
size=fontsize,
transform=fig1.transFigure,
bbox=dict(boxstyle=stylename, fc="w", ec="k"))
# 去掉轴的显示
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['left'].set_color('none')
ax.spines['bottom'].set_color('none')
plt.xticks([])
plt.yticks([])
plt.show()
```
![](data:image/png;base64,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
RK5CYII=
)
各个风格的文本框如上图所示。
## 使用箭头进行注释
In [3]:
```py
plt.figure(1, figsize=(3,3))
ax = plt.subplot(111)
ax.annotate("",
xy=(0.2, 0.2), xycoords='data',
xytext=(0.8, 0.8), textcoords='data',
arrowprops=dict(arrowstyle="->",
connectionstyle="arc3"),
)
plt.show()
```
![](data:image/png;base64,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
)
之前介绍了 `annotate``xy, xycoords, xytext, textcoords` 参数的含义,通常我们把 `xy` 设在 `data` 坐标系,把 `xytext` 设在 `offset` 即以注释点为原点的参考系。
箭头显示是可选的,用 `arrowprops` 参数来指定,接受一个字典作为参数。
不同类型的绘制箭头方式:
In [4]:
```py
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
x1, y1 = 0.3, 0.3
x2, y2 = 0.7, 0.7
fig = plt.figure(1, figsize=(8,3))
fig.clf()
from mpl_toolkits.axes_grid.axes_grid import AxesGrid
from mpl_toolkits.axes_grid.anchored_artists import AnchoredText
#from matplotlib.font_manager import FontProperties
def add_at(ax, t, loc=2):
fp = dict(size=10)
_at = AnchoredText(t, loc=loc, prop=fp)
ax.add_artist(_at)
return _at
grid = AxesGrid(fig, 111, (1, 4), label_mode="1", share_all=True)
grid[0].set_autoscale_on(False)
ax = grid[0]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
xy=(x1, y1), xycoords='data',
xytext=(x2, y2), textcoords='data',
arrowprops=dict(arrowstyle="-", #linestyle="dashed",
color="0.5",
patchB=None,
shrinkB=0,
connectionstyle="arc3,rad=0.3",
),
)
add_at(ax, "connect", loc=2)
ax = grid[1]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
xy=(x1, y1), xycoords='data',
xytext=(x2, y2), textcoords='data',
arrowprops=dict(arrowstyle="-", #linestyle="dashed",
color="0.5",
patchB=el,
shrinkB=0,
connectionstyle="arc3,rad=0.3",
),
)
add_at(ax, "clip", loc=2)
ax = grid[2]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
xy=(x1, y1), xycoords='data',
xytext=(x2, y2), textcoords='data',
arrowprops=dict(arrowstyle="-", #linestyle="dashed",
color="0.5",
patchB=el,
shrinkB=5,
connectionstyle="arc3,rad=0.3",
),
)
add_at(ax, "shrink", loc=2)
ax = grid[3]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
xy=(x1, y1), xycoords='data',
xytext=(x2, y2), textcoords='data',
arrowprops=dict(arrowstyle="fancy", #linestyle="dashed",
color="0.5",
patchB=el,
shrinkB=5,
connectionstyle="arc3,rad=0.3",
),
)
add_at(ax, "mutate", loc=2)
grid[0].set_xlim(0, 1)
grid[0].set_ylim(0, 1)
grid[0].axis["bottom"].toggle(ticklabels=False)
grid[0].axis["left"].toggle(ticklabels=False)
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95)
plt.draw()
plt.show()
```
![](data:image/png;base64,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
)
字典中,`connectionstyle` 参数控制路径的风格:
| Name | Attr |
| --- | --- |
| angle | angleA=90,angleB=0,rad=0.0 |
| angle3 | angleA=90,angleB=0 |
| arc | angleA=0,angleB=0,armA=None,armB=None,rad=0.0 |
| arc3 | rad=0.0 |
| bar | armA=0.0,armB=0.0,fraction=0.3,angle=None |
In [5]:
```py
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
fig = plt.figure(1, figsize=(8,5))
fig.clf()
from mpl_toolkits.axes_grid.axes_grid import AxesGrid
from mpl_toolkits.axes_grid.anchored_artists import AnchoredText
#from matplotlib.font_manager import FontProperties
def add_at(ax, t, loc=2):
fp = dict(size=8)
_at = AnchoredText(t, loc=loc, prop=fp)
ax.add_artist(_at)
return _at
grid = AxesGrid(fig, 111, (3, 5), label_mode="1", share_all=True)
grid[0].set_autoscale_on(False)
x1, y1 = 0.3, 0.3
x2, y2 = 0.7, 0.7
def demo_con_style(ax, connectionstyle, label=None):
if label is None:
label = connectionstyle
x1, y1 = 0.3, 0.2
x2, y2 = 0.8, 0.6
ax.plot([x1, x2], [y1, y2], ".")
ax.annotate("",
xy=(x1, y1), xycoords='data',
xytext=(x2, y2), textcoords='data',
arrowprops=dict(arrowstyle="->", #linestyle="dashed",
color="0.5",
shrinkA=5, shrinkB=5,
patchA=None,
patchB=None,
connectionstyle=connectionstyle,
),
)
add_at(ax, label, loc=2)
column = grid.axes_column[0]
demo_con_style(column[0], "angle3,angleA=90,angleB=0",
label="angle3,\nangleA=90,\nangleB=0")
demo_con_style(column[1], "angle3,angleA=0,angleB=90",
label="angle3,\nangleA=0,\nangleB=90")
column = grid.axes_column[1]
demo_con_style(column[0], "arc3,rad=0.")
demo_con_style(column[1], "arc3,rad=0.3")
demo_con_style(column[2], "arc3,rad=-0.3")
column = grid.axes_column[2]
demo_con_style(column[0], "angle,angleA=-90,angleB=180,rad=0",
label="angle,\nangleA=-90,\nangleB=180,\nrad=0")
demo_con_style(column[1], "angle,angleA=-90,angleB=180,rad=5",
label="angle,\nangleA=-90,\nangleB=180,\nrad=5")
demo_con_style(column[2], "angle,angleA=-90,angleB=10,rad=5",
label="angle,\nangleA=-90,\nangleB=10,\nrad=0")
column = grid.axes_column[3]
demo_con_style(column[0], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=0",
label="arc,\nangleA=-90,\nangleB=0,\narmA=30,\narmB=30,\nrad=0")
demo_con_style(column[1], "arc,angleA=-90,angleB=0,armA=30,armB=30,rad=5",
label="arc,\nangleA=-90,\nangleB=0,\narmA=30,\narmB=30,\nrad=5")
demo_con_style(column[2], "arc,angleA=-90,angleB=0,armA=0,armB=40,rad=0",
label="arc,\nangleA=-90,\nangleB=0,\narmA=0,\narmB=40,\nrad=0")
column = grid.axes_column[4]
demo_con_style(column[0], "bar,fraction=0.3",
label="bar,\nfraction=0.3")
demo_con_style(column[1], "bar,fraction=-0.3",
label="bar,\nfraction=-0.3")
demo_con_style(column[2], "bar,angle=180,fraction=-0.2",
label="bar,\nangle=180,\nfraction=-0.2")
#demo_con_style(column[1], "arc3,rad=0.3")
#demo_con_style(column[2], "arc3,rad=-0.3")
grid[0].set_xlim(0, 1)
grid[0].set_ylim(0, 1)
grid.axes_llc.axis["bottom"].toggle(ticklabels=False)
grid.axes_llc.axis["left"].toggle(ticklabels=False)
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95)
plt.draw()
plt.show()
```
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhQAAAFECAYAAAB/HKePAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xlc1NX+P/DXsKgoiAqmpoR63ULBjVBZZEZcQIQgQryG
et0qLftZWY+ypG92Myk1uz66ZRpmKaaGIpWmLANIBK6opBkqiyGLCMPOMMyc3x/cmWZkkG2G+Xxm
3s/HYx6Os5zPOfPmfObM53M+7yNgjIEQQgghpCvMDF0BQgghhPAfDSgIIYQQ0mU0oCCEEEJIl9GA
ghBCCCFdRgMKQgghhHSZxaOeFAgEdAkIIYQQQjQwxgQPP9bmEQrGmE5v3t7enC6PL3Wk+HC3PIoP
9+tI8eFueRQf7texNXTKgxBCCCFdRgMKQgghhHTZI+dQPEwgaHHKpFN0VY6uynv4EE5QUFCXynuY
rstrDcWncyg+ui1P1yg+uilP2Y+o/3AzPkBzjPgaHwAQPOp8iEAgYOrPCwSCR54/4SO+tkn5R0zx
4SZTiY82fGinqcWHb20ztfgA/Grf/+ra8UmZhBBCCCFtoQEFIYQQQrqs2wcUeXl5WLJkSavPh4WF
QSQSQSgUIjc3txtrZtq+/fZbeHt7Y/r06YiKiupSWSKRqM3XZGdnw9PTE56enrh27VqXtmdK2uo/
hJiC5ORkbNq0ydDVIA/p0KTM7hAdHQ1zc3OkpqZi586d+OyzzwxdJaPDGGsxkWjx4sVYunQpFAoF
3NzcsGLFina/tzMiIiJw+PBhCAQCrF27FrGxsV0uk5DuoKs+QDqvo58/xax7dHpAUVRUhOeeew4y
mQwuLi5YuHAhtm7dCktLS5SXl+P06dOwsLBAaGgoZDIZ+vXrB19fXwiFQlUZP/30Ez755BM0NTUh
IiIC8+bNg7m5OQCguroadnZ2XW6gqdIWn+3bt0MgEGDNmjXIzc3Ft99+CysrK3z55ZcYM2YMAEAq
laJPnz4typs4cSJcXFwwYcIEDBo0CPv370dNTQ22bNmCOXPm4Pz583jxxRcxatQoVFRUtFm/iooK
DB06FAAgkUh023ge0Ff/IbrR2f5Dus+5c+cwf/58SKVSHDp0CIsXL4ZMJsPAgQNx5MgRFBQUYPny
5bC3t8f8+fOxfPlyQ1fZ6HV6QGFvb4/4+HiYm5tjyZIlyMnJQa9evXD8+HFs2bIFiYmJqK+vh6en
J958802sXbtWY4TIGMP27dshFovR1NSE+fPnY968eWhsbMSsWbNQVFSEtLQ0nTTSFGmLj0wmw6lT
p1BaWopPPvkE6enpGjOLN2/ejD179uDf//53i/IKCwuRkZEBKysr1NfX41//+hcqKyuxcOFCzJkz
Bx988AFOnDiB/v37w9HREQAQFxeHTz/9VKOcBQsW4PXXX4dCoVA9xpeZzbqkr/5DdKMz/Yd0H2XG
xpMnT+LIkSOIiorCTz/9hF69emHTpk1ISkrCqFGjcP/+fSQlJdHRiW7S6QFFWVkZ1qxZg8rKSuTl
5WH06NEYP348AGDo0KGQSCQoKiqCi4sLAGDSpEkaHa+srAw3btyAj48PAOD+/fsAgB49eiAtLQ2X
Ll3Chg0bcPDgwU43zpRpi8+UKVMAALm5uZgyZYqqkyn/jYiIwFtvvQUfHx+EhITA2tpaVd7YsWNh
ZWUFAPjll1/wn//8B4wxVdwkEgmGDRsGAKpfa4GBgQgMDNRaP/UObmZmenOD9dV/iG50pv+Q7iMQ
CDB58mQAzX0jPj4eK1euRGFhIUpKSjBmzBiMHj0aEydOpPh0o07vyQ8dOoTg4GCIxWJ4eHjA29u7
xS+oESNGqCbcXblyReP99vb2cHZ2RmJiIsRiMbKysgAAMpkMAGBjYwOpVAqgeWfZ1NTU2aqaJG3x
UX5xjxw5EpcvX1Z9QTHG0NjYCACwtLSEmZkZGGNoaGhQnb5Q/9LfunUrfvnlF8TGxqpibmtri8LC
QtTW1iInJwdA8xEKkUikcdu+fTsAYMCAASgsLMS9e/fQt2/f7vlQOERf/efevXvd1wgj1tH+U1NT
g+rqakNW2aQwxlR9IisrCyNGjMCYMWOQnJyMkJAQ1RFQ9f0WfY/oX6ePUMyaNQtLly7V+FJR3yEK
BAIEBQUhNDQUvr6+sLa2Ro8ePVTPCQQCvPbaa/Dx8YFAIMD48eOxbds2+Pr6AgAUCgU+//xzAMBr
r72GyMhIPP74451uqKnRFh+lgQMHIiQkBO7u7ujduze++OILHDp0CMnJyZBKpVi0aBFsbGyQkJCA
c+fOYePGjRrvX7BgAby8vODm5ob+/fsDADZt2oTAwECMGTNGdcrjUUco3n//fYSFhUEgEKjivH//
fjg7O6t+CRozffSfXbt2YenSpUhISDBIm4xJR/tPamoqevfujcWLFxuoxqZFIBDA0tISfn5+kEql
+OabbxAcHIwLFy7A1tZW65wW+h7pBm2sKMbUPfz/9mhqamKMMbZmzRqWkZHR4fczxtjatWs79b72
6EybuABAi7rrui2ffvopu337tk7L7ChTj09H+o9CoWCvvPJKh7eha3yIma77z9tvv82qq6u7Wi29
4UNM1Olj/6bP7xFd4FOM/lfXFmMGvafenjdvHmprazF69Gjs27evQ+/tDnydVGUqqWn52iZdxYfr
/UcbPsTMVPqPEt/aZmrxAfjVvtZSb9NaHjxtk6l0OL62yVTiow0f2mlq8eFb20wtPgC/2kdreRBC
CCFEbziXehsAPvjgA8yfP79d5WVlZcHT0xMzZ85U5a2orq5GQEAAPD098d1333W5zoRwha77j7r4
+HjMmDEDs2bNws2bNwE0XzUya9YseHh4IDExsVN1NiUUn+7j7+8PoVDY4V/1KSkpqmUdTp8+jZMn
T+qkPk1NTViyZAm8vLwQGRnZ4vn169dDKBTCw8MDFy5c0Mk2OUfbxArlDXqY9Jebm8vCw8Mf+Rp/
f3+2cOFCVllZ2WZ5gYGBrLCwkNXV1TFfX1/GGGPbt29n0dHRTC6Xs5kzZ7LGxsZW36+LNhkCWpm0
ZIw3PmotPl2l6/6jzsvLi9XV1bGioiIWFhbGGGNs3bp1LD09ndXU1DChUNiucvgQM1OLDx9ioq6t
+BQWFrJFixZpPK9QKNpV9nvvvccSEhK6XsmHxMTEsC1btjDGGFuwYAErLi7WeF4mkzHGGMvPz2eB
gYEt3s+nGKGVSZltXjaqnupXnb5SB+fm5mLEiBFwd3fHzz//jH/+85+PrF9FRYXqMqDa2lo0NDQg
MzMTn3/+OczMzDBx4kT88ccfcHZ2bqupnLZz506t612of56ffvop1q9f3421IkrtiY86rvSfh1lZ
WcHKygq3b98G0LyI24wZMwA054aprq6GjY1Nh8rkAooPt3U0Pm+++SbEYjEsLS0REhKCmpoafPjh
h9iyZQtKSkrQs2dP/PDDD7CxscEXX3yBb7/9VnWJ7/79+xEbG4vZs2fD2dkZTU1NWLlyJV555RVc
uXIFffv2xcGDB1FeXo4lS5Zg0KBByMvLw4kTJ1TLBWiTmZmJ0NBQAM0LJJ47dw4BAQGq5y0smr9u
+bisRGvxaUHbKIO14whFY2Oj6pK28PBwtmfPHhYUFMQYY+zDDz9kJ06cYN9//z2LjIxkjDVf9rZ/
/36Wl5fHwsPDmUKhYEKhkMnlciaVSpmPjw9jrPnoglgsZpWVlWzJkiWMMcYyMzOZUCjUuG3YsIEx
xtgzzzzDsrOzWWlpKevfvz8rKipic+fOZVKplDHG2LvvvstSU1PbGmnxDnj8690UaIsPF/uPOi8v
L1ZSUsJu3LjB+vTpwxhjbObMmarnw8PDWUFBQbvaznWmFh8+xERdW/FRfs7ffPMNe+GFF1SP19XV
McYY27t3L9uzZw8rKSlhs2bNUh29UCgU7P/+7/9YYmIiY4yxb775hu3du5edP3+erVy5kjHG2IED
B1hkZCTLy8tjkydPZowxdvDgQfbZZ5+xxsbGFrGaPXs2Y4yx559/nt28eVO1/W+//bZFu4KCgtiQ
IUNYdna21jbzBTp7hKI1+kodfPLkSZw+fRpmZma4desWpFIp3NzcIBaLtdZj69atePnll2FjY4OJ
EyfC3t4etra2qKysxMCBA1FVVaVKvkQIV3Cl//j4+IAxhkOHDuHjjz/GokWL4OjoCE9PTwCamQZN
qS9RfLhN/bOeOnUqAEAul2PDhg3Izs5GVVUVgoODkZeXpzVNuvr7AeD27duqhHpTp05FSkoKAMDJ
yQlAc8xv3boFS0vLVmOl/N4BmmMxatSoFq85fvw4CgsLsWzZMqNMQNfpAYUyNe2yZcsQHh4Ob29v
jQ+IqaUO9vPzw5UrV+Dm5qZ6Xpk6WNm5mpqaUFxcDAcHB9X19rt370Z8fDwGDRqEN998U2P7U6dO
xbZt2zB69GicPn0aZWVleP3112FhYYEZM2YgMTERoaGhyMrKwrhx49DQ0ID6+nqT6XCE27jSf9Qn
8g0aNAhJSUnIycnBf//7XwCAi4sLMjIy4OzsjKqqKlhbW6OmpgaMMV4eWm8vig+3aVsLKCsrC3V1
dUhJScHevXtRWFiokSZdeVmmpaUl5HK5Rnn/+Mc/cObMGQDAhQsXVIMB9QEIYwwymQxz5szR2L65
uTkSEhJU3ztPPfUUxGJxi6ypUqkUPXv2RJ8+fVRLTBgbzqTednJygouLC2bOnKkqQygUIjIyElFR
Ua2OCqOionDgwAFYWVmpOtmqVauwePFi7Nq1Cy+88AIsLCyQnJysNY00IYbAlf6jbsuWLUhISICd
nR2++uorAM3nqpcuXYr6+nps3rwZAPD9998bfZppig//jBs3Drdu3YKfnx8cHBwwbNgw2Nvbq9Kk
K5eaFwqFePvtt5GZmYknnngCAoEArq6usLKywsyZM9G3b19ER0ejoqJCI/bKdN/Jyclatx8QEICY
mBh4eXnB398fgwYNQklJCb7++mts3LgRixYtgkQigUwm07qic1sYY7h69SocHR3Rr1+/rnxUeqP3
xFZyuRzm5uZYu3Ytli1bhmnTpnW6sl2xc+dOBAYGYuTIkRqP8ymZiLrWDt0RbtBVYh6u9B91Gzdu
xMaNGzVWo1XHhz5lavHhQ0zUUWIrTTKZDD/++CPy8vLQu3dvrFixQjWANQSDZcrkeupgvv6R0oCC
2yj1Nrf/Lk0tPnyIiToaUPxNIpHg8OHDGDhwIAICAvDzzz+jqakJISEhBluanVJvt4KvbaIBBbeZ
4g5RiQ/tNLX48K1tphYfQHv7cnNzERMTAw8PD0yfPh0CgQAymQz79u3DhAkT4O7ubsi6Gj71dluZ
5MaOHQuRSITp06dj165dbZZnypniiOnRdf+JiorCyJEjNcrMycmBl5cXPD09ERERAaDtLICkGe3f
iC4wxvDbb78hJiYGISEhmDFjhmqQZWlpibCwMPz222+qfCRcwbm1PB577DGIxWJkZGTgwIEDbb5+
69at+PDDD3HmzJlOTXQhxJh0tP88/fTTiI+P13jsiy++wEcffYS0tDRkZGSgsrIScXFxcHJywtmz
Z5GWloaSkhJ9NcGo0f6ta5STI43xpiSTyXD8+HFcvXoVq1atwogRI1p8Dra2tggJCcHx48dRUVHR
nSF4pE4PKIqKijBr1ix4eXnhpZdeQkpKCvz8/BAYGAhPT0/U1tZCKpUiMDAQfn5++Oc//4n9+/dr
fHA//fQTvL294eHhgdOnT2uU39DQ0K5JJ8pMcX369FFliiOE67jSf+zs7GBubt7iMYlEorq0rmfP
nsjMzMScOXMA/J0F0JhxJT60f/ubtkRKxnaTSCSIiooCAKxYseKRV3MMHz4cXl5eOHz4MBobG7sr
DI/U6QGFvb094uPjcfbsWVRVVSEnJwe9evVCXFwc5s+fj8TERMTGxsLT0xOnTp1C//79NTobYwzb
t2+HWCyGWCzGJ598AgAoLS2FSCTChAkTMHv2bADA+fPnIRKJNG5vvPEGAGhcT2xrawuJRNLZJhHS
bbjSf7RZsWIFXnnlFYwbNw7u7u7o1asXJBIJ+vbtC8A0+hlX4kP7N9ORm5uLvXv3wsXFBcHBwbC0
tGzzPW5ubhg8eDDi4uI4Mb+Ec5kylYcEASAsLAwFBQWqRCHamGqmOMJvXOk/gGZ+BaD5ssOjR49i
ypQpCAkJQX5+fruyABoTrsSH9m/GjzGGjIwM/PrrrwgJCdF6iqM1AoEA/v7+2LdvH9LT0+Hh4aHH
mrat00colJnkxGIxPDw84O3t3WKErswkBwBXrlzReL8yk1xiYiLEYjGysrJabMPGxgaVlZWPHMEr
M8XV1taqMsURwnWG7j8bNmzQ2JY65ReXQCCAra0tqqurVVkAAUAsFsPNzQ1yuRylpaU6+0y4xNDx
edT+raamxqRPfRiT9syXaItykmZGRobBJ2lyJlPm+PHjsWvXLty/fx8ikQgKhQJOTk6qVUJbG8Fr
yxRHCNdxpf/8/PPP2Lp1K27fvo3Q0FAcPXoUb731FsLDw2FhYQEnJydMmDAB48aNa5EF8NatW/j4
449VWRuNCVfiQ5kwjZd6fokVK1a06xRHa5STNH/44QesXLnSYEeyTCZTZmv4em0z5aHgNmPOxKh0
7NgxDBgwoMUS03zoU3yOT1uZSrXhQ0zUGfv+TVt+CV3IzMzE5cuX9Z5J02CJrbieSY5vHU3J2Dsc
35laJkZ1fOhTphYfPsREnbHu37oyX6K95Z88eRIjR47Ek08+qdOy1VGmzFbwtU3G2uGMhSlm+lPi
QztNLT58a5sx7t+U63Hcv38fYWFhnF3gqz1aG1B0eg4FIYQQQtqmy/kSXMa5TJnG5vnnAaEQmD8f
oEvIuYcP8RGJRG2+5uDBg/Dw8EBAQIBRXQHAh/i0ZvXq1VizZk27Xrt+/XoIhUJ4eHjgwoULAPiR
dpvP8ekunckvoSvdHZ82j1Bom3BF2u/PP4GUlOb7zz8PHDnSuXJ27tyJ2NjYFo+rxycoKAjr16/v
3AZMVHfGpzUKhUIj30BHyWQy7N69G2fPnsUPP/yA3bt3a1wWymdciM/DGGNt7geVl9SqJ6Z6lG3b
tsHCwgIFBQVYt24dTpw4oUq77eLiggULFqhyWnAJ7d9ap+/5Eu2h7/i08Kg0oM1Pk67w82MMYMzV
lbGKCt2VC4BRfLquO+Oj/n+xWMwCAgJYYGAgGzt2LPP29mZeXl6soKCAMcbY7t272fTp09mrr77K
hELhI7f1+++/s7Vr1zLGGHvw4AF75plndNeQTtDl36Wh4nPv3j0mEomYp6cnW7t2LUtOTlbF69Sp
U2zChAksPDycubi4sJiYGObv78+mTp3K/vrrL8YYY0lJSWzbtm1sy5YtLD09vd31ys7OZsuXL2eM
MSYSiVSPBwQEsKqqqi61Vx9o/6ZdY2Mji4mJYV9++SWr0OUH00H6jA/TNmbQ9iCjAYXOVFQwFhqq
22Ayxv8OxxXdGZ+HBxS+vr6MMcbq6uoYY4wlJCSwd955hzU1NbFp06YxuVzO0tPTVQOKzZs3M6FQ
qHGLj49n6enp7K233mKMMSaTydisWbN025gO0uXfpaHi09jYyJqamhhjjIWHh7M9e/ao4sUYY4MG
DWJSqZSlp6ezqVOnMsYYi46OZjt27GCMMbZu3TqWm5vLbt68yd544w3GGGNxcXEt4rdt2zZVmUFB
QWzIkCEsOzubMcbYzJkzVc+Fh4erBpudba8+0P6tpYqKCvbll1+ymJgY1tjYaOC66C8+TMuYgSZl
6lm/fp0/zER0S6FQICEhAfX19Xj66acBGC4+AoEAU6ZMAQBERkYiKSkJMpkMTk5OKCsrg6OjI8zM
zFSvAYBNmzZh06ZNLcq6fv06qqqqADRnueTz7PGHGSo+2lJvq8di1KhR6NGjB4YMGYJx48YBAIYM
GYIbN24AaE5UlZOTAwCqlVkDAgIQEBDQ6jaPHz+OwsJCLFu2DAkJCbxIu037N036yi/RWd0dHxpQ
6JlcLm8euVnQR21IdXV1+OGHHyAQCBASEmLo6gBoXqehvLwcKSkpSE1NRXx8PKKjo2Fvb4/8/Hwo
FApcvnxZ9frNmze3yKj47rvvwtvbG9nZ2aoB04wZM7q7KUZHmXp72bJlCA8Ph7e3NxISElTPP5w1
U4kxhvPnzyM4OFiV2fLtt99GdnY2cnNzsWPHDo3t+Pv7Y8OGDZBKpejZsyf69OmDpqYmAH+n3XZ2
dtZIu80Yg42NjT6b324KhQJyudxor1poL8aB+RJcQN9yevbrr7/C3Nzc4Iu2mLLi4mIcPnwYTk5O
8PHx6dIESF0SCATo378/rK2t4ePjAxcXFwgEApibm2P58uVwd3fXWEMiIiICERERWstavXo1vLy8
MGDAAERHR3dnM/Tuv//9L9auXdut29SWeludtgGF8t/jx4+rlnoHmicWHjt2DBEREa0eoVi0aBEk
EglkMhn+/e9/A+BH2u3r168jLy8PCxYsMHRVDEY9v8SqVauM6ghhR3UosRXpuNjYWDg6OmLy5Mk6
LdcYE7/ow7Vr1/DLL7/Az88PEyZM6LbtmlriJHW6buf777+P9957T2flAfyNT2fSbgP6a1tWVhby
8vIQFBSk03L5sn9Tzy8REBBgMkdqKLGVgUgkEkycONHQ1TA5ysP/N27cwJIlSzB48GBDV4mQLtuy
ZYuhq0D+h2vzJbiABhR6JpFITPoQmCGoz5dYvXo1evfubegqEUKMBM2XaB03TiYbqcbGRtTW1qJv
376GrorJKC4uxp49ezBkyBA899xzNJggBmFrawuRSIRp06YhJiamzdfzNVOmqZHJZDh+/DiuXr2K
VatW0WDiIXSEQo/u3r2Lxx9/HObm5oauikkw1HyJjqDDovzH2pEp08XFBWKxGFKpFHPnzm3zyiK+
Zso0JaayHkdX0IBCj3Jzc2kE2w34Ml+C6xPMyN+Kiorw3HPPQSaTwcXFBQsXLsT27dshEAiwZs0a
vPHGG5g0aRKuXr2K9957D1FRUSguLsaJEycwdOhQVTm1tbWwsrJqc3vKy8qrq6thZ2cHAMjOzlZd
AmxjY4Pq6mrOXC5qami+RPvQgEKPcnNzMXfuXENXw6jRfAmiD/b29oiPj4e5uTmWLFmCnJwcyGQy
nDp1CgDwr3/9C19//TUuXryIdevW4cKFCzh06BCOHDmCV199FdeuXYNIJMKtW7dUl4H++OOPLfJQ
LFiwAK+//joAIDg4GJmZmYiPjwcAjXVAbG1tIZFIaEDRzWi+RMfQgEJPGhoaUFZWpvFrhegWV/NL
EP7rTKbMxx9/XJUp09nZGWKxGHK5HL6+vggLCzPKTJnGjPJLdBztgfUkPz8fw4YNowyZenLt2jV8
99138PHxwZw5c2gwQXRKmSlTLBbDw8MD3t7eGn9j2hJbKdczUKecPyWVShEXFweRSKRx27Ztm+p5
AFozZdbW1mpkyjSm5em5SiKRICoqCgCwYsUKGky0E33b6QnNn9APvsyXIPzW2UyZyvvKUx4ymQzz
5s2Dra0tAgMDERgYqHV7fM2UaYxovkTnUaZMPfniiy8QGBiot1MefMkkp0sPr8fB5fkSphgffaFM
mX+jTJn6Q/Ml2o8yZXaj/Px8yGQyDBkyxNBVMRo0X4IQypSpLzRfQjdoQKEHZ8+ehaenJ33p6Qgf
8ksQQviJ8kvoDn3j6VhhYSHKyspo/Q4dUCgUOHPmDJKSkrBkyRIaTBBOEolEbb7m4MGD8PDwQEBA
AE2q5JDc3Fzs3bsXLi4uCA4OpsFEF9GAQsdSU1Ph4eFB2TG7qK6uDgcOHEBJSQlWr15Nky+JwSgU
ii69XyaTYffu3Th79iyWLFmC3bt366hmpLMYY/jtt98QExODkJAQzJgxgyZf6kCbpzyEQqHqflBQ
ENavX6/P+vBaUVERioqKEBoaqvOyd+7cidjY2BaPG2N8+DhfwpTiw0ftiY+65ORk7NixAwKBADdv
3sTgwYOhUChw8OBBODg44KuvvsK+fftUmSwfJScnB87OzjAzM8Ps2bOxevXqrjbH6HRn/6H5Eh3X
WnweRld56NCRI0fg4ODQrp1MVxnrVQTGMl/CWONjCIa4yiM5ORmRkZE4deoU6uvrYWVlhcTERIjF
Yrz//vvw8PBAeno6MjMzsXHjRojFYnzwwQdISkrS2M4777yDPn36IC4uDh999BGampowb968bl/s
i67yaKY+XyIgIIBOcXQSXeWhZ3fu3MHdu3d13rFMBeWXIFwiEAhUmTEjIyORlJQEmUwGJycnlJWV
wdHREWZmZhrZMzdt2oRNmza1KOv69euoqqoC0Jzxkn4RGwbll9A/GlDogEQiwbFjxxASEoIePXoY
ujq8Q+txEC4yMzNDeXk5UlJSkJqaivj4eERHR8Pe3h75+flQKBS4fPmy6vWbN2+GWCzWKOPdd9+F
t7c3srOzVYPm7jiCSf5G+SW6Dw0oukgmk+Hw4cPw9PSkP9RO4ON8CWIaBAIB+vfvD2tra/j4+MDF
xQUCgQDm5uZYvnw53N3d4e3trfqlGxERgYiICK1lrV69Gl5eXhgwYACio6O7sxkmLy4uDsXFxTRf
ohvQHIouYIzh+PHjAJpXCuzOQ2jGcI7eWOZLaGMM8eEKypTZdaY8h+Lw4cOwtraGv79/l8sizVqb
Q0E/B7sgIyMD9+/fR0BAAJ2P6wDKL0EI6S5PP/00cnNzNU5PEf2gAUUn5eTkID09HWFhYTRTuAMo
vwQhpDv16tULixYtQkJCAv766y9DV8eo0YCigxhjSE9PR1xcHBYuXEjn5DqguLgYe/bswZAhQ/Dc
c8/R5EtCSLewt7dHYGAgjh49ipqaGkNXx2jRgKIDGhsbcezYMWRnZ2PVqlVwcHAwdJV449q1a/ju
u+/g4+ODOXPm0ORLQnhMeYVLcnIy7O3tDV2ddhk7diwmT56MI0eOQC6XG7o6Romu8miniooKHD58
GIMHD8by5cvpNEc7UX4Jwic0F+rRGGP4/fffkZycDGtrawQHB8PR0dHQ1Wo3b29vFBUV4ZdffoG/
vz+kUinisqy/AAAgAElEQVRkMlmHl4Mn2tGAoh1u376N48ePw8vLC25ubrTTeQTGmOrzofwShE+M
9QoPXWCM4ebNmxCLxbC0tISfnx9GjhzJu32hQCBAcHAw9u7di8uXL8PCwgI5OTl45plnDF01o0AD
ikd48OABUlNTcefOHTz77LMYPny4oavEaVKpFHv27MFLL72EkpISyi9BCM8xxnDnzh2IxWI0NTVh
1qxZGDNmDO8GEuqUkzT37dsHX19fmqipQzSg0KK8vBypqanIycnBtGnTMH/+fPTs2dPQ1eK8ixcv
YsiQIcjOzjba/BKEmIqCggIkJSWhpqYGQqEQ48eP5/VAQunGjRu4c+cORCIR4uPj0djYiLq6OjqC
qgM0oFAjkUiQmpqKP/74A25ubli3bh169epl6GrxglwuR0ZGBoYPH67KL0HzJQjhn3v37iEpKQkP
HjyAt7c3XFxcjOoI4/Dhw1FUVASxWIw+ffqgvr4ed+/exdixYw1dNd4z+QGFXC5Hfn4+srOz8ccf
f8DV1RXr1q2DlZWVoavGKxcvXkRDQwOKi4sxYsQI/Pjjj3B1dcXkyZMNXTVCSDuUlpZCLBajsLAQ
Xl5emDJlCszNzQ1dLZ2zsrLCrFmz4OnpiYsXLyIpKQm///47DSh0wCQHFA0NDcjJycGff/6JW7du
wc7ODmPHjsXLL79Mh706KT09HWZmZhg4cCAGDhyISZMmYejQoYauFiGkDQ8ePEBKSgru3LkDDw8P
PPPMMyZxFVuPHj0wY8YMTJs2jSbk6givBxT5+fmwsbHBgAEDHvk6xhgqKiqQk5ODmzdvorCwEMOH
D8eYMWMwd+5c2NjYdFONjdf/+3//zyjOr5qSpqYm1WJXhHv0HZ/KykqkpKTg5s2bmDZtGvz9/U1y
rpgxnc4xNF4OKEpLSxEfH48HDx4gNDRU9XhTUxPKy8tRVlaGsrIyPHjwQHW/R48eGDVqFNzc3DBy
5EhaZlzHaDDBHzKZDBcuXEB6ejp8fX0xfvx4Q1eJqGlsbMS5c+eQkZGBgIAAnR+Kr66uxtmzZ5Gd
nQ1XV1e8/PLLdIqX6AQnBxTPPw/8+SfQuzcQHQ0os1tXVlYiLi4Of/31F4YPH45x48bhwoULqKmp
QVlZGSorK9GvXz/Y29vDzs4Ow4cPh6urK+zt7anD6FBr8SHc0Fp81AcSDg4OCA8Px6BBgwxbWRPU
Wnzq6+uRlpaGy5cvY9iwYXj66adhZ2eH8vJynWxXLpcjKysLly9fxsSJE/HSSy+hT58+OinbmND+
rfPaHFAIhULV/aCgIKxfv16f9QHQHMyUlOb7zz8PHDnSfD83Nxf5+fno1asXLCws0KtXL/Tv3x/W
1tawt7fHgAEDjPbw7c6dOxEbG9vicS7Fx5TxIT537tzBmTNnADRfOnfjxg2910UXdHGlFR/ik5qa
ioyMDPTo0QP379/HqVOndL7tkSNH4sUXX0Tfvn11XnZX8CE+pqy1+DxM8KjJKAKBgBlissr8+cCp
U4CrKxAfrzlClMlkuHr1KjIyMmBhYYF58+aZZMIp5SkGrsWHNONqfEpLS5Gamoq8vDzMmDEDbm5u
JjEB72FcjU9xcTFSU1Nx9+5duLu746mnnoKFBScPJOsVV+NDmgkEAjDGWpzn5uSAQiJpHhl+9VXr
wWSMIScnB5aWlhgxYkT3VpADDNnh2hMfU8f1+JSWluLs2bNwcnLCk08+2b0V5ACux6e4uBhpaWmY
OHEiRo8e3b0V5ACux8fU8WpAQdpmyA5H2kbx4TaKD7dRfLittQEFXS9DCCGEkC6jAQUhhBBCuowG
FIQQQgjpMhpQEEIIIaTLaEBBCCGEkC6jAQUhhBBCuowGFIQQQgjpMhpQEEIIIaTLaEBBCCGEkC6j
AQUhhBBCuowGFIQQQgjpMhpQEEIIIaTLaEBBCCGEkC7r9gHFzp07OV2ePsrURx31hQ9t50Md9YUP
bedDHfWFD23nQx31hQ9t50MdW9PtA4rY2FhOl6ePMvVRR33hQ9v5UEd94UPb+VBHfeFD2/lQR33h
Q9v5UMfW0CkPQgghhHQZDSgIIYQQ0mUCxljrTwoErT9JCCGEEJPEGBM8/BgdoSCEEEJIl7U5oGCM
6fTm7e3N6fL4UkeKD3fLo/hwv44UH+6WR/Hhfh07PaAghBBCCGkLDSgIIYQQ0mUWHXmxQNBiDkan
6KqcrpT3qMM2QUFBXamO3strjTHFpz1lPiqGHUHx0X18dInio5vylP2F9m/cjM/DZfJt/wa04yoP
9ed12UhDMoZ2KP+IjTE+7cH1tppyfPjQTlOLD9/aZmrxeRjX2/q/+tFVHoQQQgjRPRpQEEIIIaTL
un1AkZeXhyVLlrT6fFhYGEQiEYRCIXJzc7uxZqbt22+/hbe3N6ZPn46oqKgulSUSidp8TXZ2Njw9
PeHp6Ylr165pPFdWVgYPDw8IhUI8++yzkMlkXaqPMWmr/xBiCpKTk7Fp0yZDV4M8hHNHKKKjoyEW
i7F582ZerWLHJ9rOzS1evBgpKSlIT0/Hf//73w69tzMiIiJw+PBhHDlypMWOYcCAAfj111+RnJwM
FxcX/PTTTzrZJiG6wOVz26aioxMhKWbdo0NXeagrKirCc889B5lMBhcXFyxcuBBbt26FpaUlysvL
cfr0aVhYWCA0NBQymQz9+vWDr68vhEKhqoyffvoJn3zyCZqamhAREYF58+bB3NwcAFBdXQ07O7su
N9BUaYvP9u3bIRAIsGbNGuTm5uLbb7+FlZUVvvzyS4wZMwYAIJVK0adPnxblTZw4ES4uLpgwYQIG
DRqE/fv3o6amBlu2bMGcOXNw/vx5vPjiixg1ahQqKirarF9FRQWGDh0KAJBIJBrPmZn9Pc6tqakx
yr8DffUfohud7T+k+5w7dw7z58+HVCrFoUOHsHjxYshkMgwcOBBHjhxBQUEBli9fDnt7e8yfPx/L
ly83dJWNXxvZsJg69f83NjaypqYmxhhj4eHhbM+ePSwoKIgxxtiHH37ITpw4wb7//nsWGRnJGGNs
zZo1bP/+/SwvL4+Fh4czhULBhEIhk8vlTCqVMh8fH8YYY1KplHl4eLCRI0eye/fuMX14uF18BKBF
O9qKj6+vL2OMsZKSEjZr1iymUCgYY0z17/vvv8+GDRvGvvnmmxbbs7OzY3V1dYwxpvpXIpGwuXPn
MsYYCwgIYHfv3mU1NTXMzs6OMcbYiRMnmFAo1Lht27aNMcbYzJkzVWWr31fKzMxkrq6ubPbs2ap2
tNZWLupMfHTRf7iA67FhTD/9h8v4EBN1bcVHLBazOXPmMMYYO3z4MPvoo49YfX09Y4yxd999l8XH
x7Pc3Fw2fvx4XsTnYVyP1//q12LM0OkjFGVlZVizZg0qKyuRl5eH0aNHY/z48QCAoUOHQiKRoKio
CC4uLgCASZMmaRx2Kisrw40bN+Dj4wMAuH//PgCgR48eSEtLw6VLl7BhwwYcPHiws1U0adriM2XK
FABAbm4upkyZojpsqPw3IiICb731Fnx8fBASEgJra2tVeWPHjoWVlRUA4JdffsF//vMfMMZUcZNI
JBg2bBgAqH6tBQYGIjAwUGv91A9Zqh+RUHJzc8P58+exY8cOREVFYfXq1V36PLhGX/2H6EZn+g/p
PgKBAJMnTwbQ3Dfi4+OxcuVKFBYWoqSkBGPGjMHo0aMxceJEik836vQcikOHDiE4OBhisRgeHh7w
9vbWCBxjDCNGjFBNuLty5YrG++3t7eHs7IzExESIxWJkZWUBgGoCno2NDaRSKYDmnWVTU1Nnq2qS
tMVH+cU9cuRIXL58WfUFxRhDY2MjAMDS0hJmZmZgjKGhoUF1+kL9S3/r1q345ZdfEBsbq4q5ra0t
CgsLUVtbi5ycHABAXFwcRCKRxm379u0AmudJFBYW4t69e+jbt69G3dUnYdrY2KjqZkz01X/u3bvX
fY0wYh3tPzU1NaiurjZklU0KY0zVJ7KysjBixAiMGTMGycnJCAkJgUKhAKC536LvEf3r9BGKWbNm
YenSpRpfKuo7RIFAgKCgIISGhsLX1xfW1tbo0aOH6jmBQIDXXnsNPj4+EAgEGD9+PLZt2wZfX18A
gEKhwOeffw4AeO211xAZGYnHH3+80w01NdriozRw4ECEhITA3d0dvXv3xhdffIFDhw4hOTkZUqkU
ixYtgo2NDRISEnDu3Dls3LhR4/0LFiyAl5cX3Nzc0L9/fwDApk2bEBgYiDFjxsDR0RHAo49QvP/+
+wgLC4NAIFDFef/+/XB2doZcLscbb7wBgUAAW1tbozxKpY/+s2vXLixduhQJCQkGaZMx6Wj/SU1N
Re/evbF48WID1di0CAQCWFpaws/PD1KpFN988w2Cg4Nx4cIF2Nraap3TQt8j3UDbeRDlDY84h9Ve
yvOQa9asYRkZGR1+P2OMrV27tlPva01n2sE1aOMcoy58+umn7Pbt2zotU1e4HkNdxacj/UehULBX
Xnmlw9vQNa7HhjHd95+3336bVVdXd7VaesOHmKjTx/5N198j+sT1eKGVORR6T709b9481NbWYvTo
0di3b1+H3qsvXE9r2h6UmpbbbdVVfLjYf9rC9dgAptd/+NY2U4vPw7je1tZSb9NaHjxFHY7bbTXl
+PChnaYWH761zdTi8zCut5XW8iCEEEKI3nAu9TYAfPDBB5g/f367yrt37x5mzZoFDw8PJCYm6qKK
hHCWrvuPuvj4eMyYMQOzZs3CzZs3AVD/6iiKT/fx9/eHUCjs8C/5lJQU1bIOp0+fxsmTJ3Vet+rq
agQEBMDT0xPfffddi+eNdokJbRMrlDfoYdJfbm4uCw8Pf+Rr/P392cKFC1llZWWb5a1bt46lp6ez
mpoaJhQK21UHXbTD0NDKpCVTunFZa/HpKl33H3VeXl6srq6OFRUVsbCwMMaY8fYvU4sPH2Kirq34
FBYWskWLFmk8394EVu+99x5LSEjoeiUfYfv27Sw6OprJ5XI2c+ZM1tjYqPG8crJ1SkqK1onUXI8X
OpvYSj3Vrzp9pQ7Ozc3FiBEj4O7ujp9//hn//Oc/H1m/7OxszJgxA0BzzoLq6mrY2Ni01Sze2blz
J2JjY1s8rv55fvrpp1i/fn031oootSc+6rjSfx5mZWUFKysr3L59G4Dx9C+KD7d1ND5vvvkmxGIx
LC0tERISgpqaGnz44YfYsmULSkpK0LNnT/zwww+wsbHBF198gW+//VZ1ie/+/fsRGxuL2bNnw9nZ
GU1NTVi5ciVeeeUVXLlyBX379sXBgwdRXl6OJUuWYNCgQcjLy8OJEydUywW0JTMzE59//jnMzMww
ceJE/PHHH3B2dlY9z7clJlqLTwvaRhmsHUco9JU6ePv27UwsFrPKykq2ZMkSxlhzGuaHUzhv2LCB
MaaZtjk8PJwVFBS0d3TFa+DBr3RTpi0+XOw/6ry8vFhJSQm7ceMG69OnD2PMePuXqcWHDzFR11Z8
lJ/zN998w1544QXV48plAfbu3cv27NmjNU36//3f/7HExETGGGPffPMN27t3Lzt//jxbuXIlY4yx
AwcOsMjISJaXl8cmT57MGGPs4MGD7LPPPmONjY0tYjV79uwW9Z87dy6TSqWMseZU4KmpqRrPNzY2
PnKJCa7HC509QtEafaUOPnnyJE6fPg0zMzPcunULUqkUbm5uEIvFWuuhngmtqqpKlWiJEC7jSv/x
8fEBYwyHDh3Cxx9/jEWLFsHR0RGenp4ATLd/UXy4Tf2znjp1KgBALpdjw4YNyM7ORlVVFYKDg5GX
l6c1Tbr6+wHg9u3bqtTqU6dORUpKCgDAyckJQHPMb926BUtLy1Zj9frrr+PSpUt46623YGtri8rK
SgwcOFBrXCwtLY1yiYlODyiUqWmXLVuG8PBweHt7a2ToY2qpg/38/HDlyhW4ubmpnlemDlZ2rqam
JhQXF8PBwUF1vf3u3bsRHx+PQYMG4c0339TYvqurKz755BO4uLggIyMDzs7OqKqqgrW1NWpqasAY
4+WhP2IaDN1/pk6dim3btmlM5Bs0aBCSkpKQk5OjWsLeVPsXxYfbtK0FlJWVhbq6OqSkpGDv3r0o
LCzUSJOuvBTT0tIScrlco7x//OMfOHPmDADgwoULGDVqlMZ2lL/AZTIZ5syZo7F9c3NzJCQkqJYV
AIDr168jMTERoaGhyMrKwrhx4zS2J5PJYGlpqbHEhDHgTOptJycnuLi4YObMmaoyhEIhIiMjERUV
1eqo8M0338TSpUtRX1+PzZs3AwC+//57SoNLOI0r/Ufdli1bkJCQADs7O3z11VcATLd/UXz4Z9y4
cbh16xb8/Pzg4OCAYcOGwd7eXpUmXbnUvFAoxNtvv43MzEw88cQTEAgEcHV1hZWVFWbOnIm+ffsi
OjoaFRUVGrFXpvtOTk5usy6rVq3C4sWLsWvXLrzwwguwsLDAlStXcPHiRTz33HNal5gwCtrOgyhv
6ObUwbrSVhrczrSDa0BzKDhNW3z40n/aYgz9y9Tiw4eYqNNVfPiK621FK3MoKPU2T7V2LpBwA6Xe
5vbfpanFhw8xUUeZMrndVkq9rcYY2kEDCm4z5R0iH9ppavHhW9tMLT4P43pbOZN6u61McmPHjoVI
JML06dOxa9euNsvLysqCp6cnZs6cibS0NABtZykjhK903X+ioqIwcuRIjTJzcnLg5eUFT09PRERE
AACampqwZMkSeHl5ITIysusNMVK6jo8pZ8IkPKTtPIjyBgNkkvP09FTdd3Nza7O8wMBAVlhYyOrq
6pivry9jrO0sZbpoh6GB5lBwmrb4cLH/lJWVsVu3bmmU+eqrr7KzZ88yxhibM2cOk0gkLCYmhm3Z
soUxxtiCBQtYcXFxq2Xy4e+SL/HpTKZSbfgQE3WtxceUblwGXeeh0FcmOaWGhgbVrOlHqaiowOOP
Pw4AqK2tRUNDQ5tZyggxNK70Hzs7O1RXV7d4TCKRqC6t69mzJzIzMxEaGgoAEIlEOHfuHAICAnTw
SXATV+JjLJkwdYFx+BQAadbpUx729vaIj4/H2bNnUVVVhZycHPTq1QtxcXGYP38+EhMTERsbC09P
T5w6dQr9+/fXuOyKMYbt27dDLBZDLBbjk08+AQCUlpZCJBJhwoQJmD17NgDg/PnzEIlEGrc33ngD
ADBw4ED8/vvvuH//PrKzsyGRSCCRSNC3b18AgK2tLSQSSac/IEL0gSv9R5sVK1bglVdewbhx4+Du
7o5evXqZXJ/iSnzU8yWYwudO+I1zmTIfe+wx1TXZYWFhKCgowFNPPdXqddpbt27Fyy+/DBsbG0yc
OBH29vZtZikjxNC40n8AzfwKALBx40YcPXoUU6ZMQUhICPLz81V9CmjOyKhM/GOsuBIfU82ESfip
00colJnkxGIxPDw84O3t3WKErswkBwBXrlzReL8yk1xiYiLEYjGysrJabMPGxgaVlZVaR/AbNmwA
AIwePRqnT5/Gl19+iSeeeAIWFhaYMWMGEhMTIZfLtWYpI8TQuNJ/lNtSp/ziEggEsLW1RXV1tapP
AYBYLIabmxvkcjlKS0t19plwiaHjozxCocyEWVtbq5EJ8+HTVIRwAWcyZY4fPx67du3C/fv3IRKJ
oFAo4OTkpJr70NoIPioqCgcOHICVlZUqHa22LGWEcAlX+s/PP/+MrVu34vbt2wgNDcXRo0fx1ltv
ITw8HBYWFnBycsKECRMwbtw4xMTEwMvLC/7+/hg0aBBu3bqFjz/+WJW10ZhwJT6UCZPwid7zUMjl
cpibm2Pt2rVYtmwZpk2b1unK6grXr/FtD8pDwW26uo6ei/1H6dixYxgwYECLJab50L/4HJ+NGzdi
48aNsLa2bvd7+BATdbR/4zaDJbbiYiY5vnUubajDcZupZWJUx4f+ZWrx4UNM1NH+jdsoU6YaY2gH
dThuM+VMf3xop6nFh29to/0bt3EmUyYhhBBCjA8NKHSEMQaZTKZx3TgAPP88IBQC8+cDdAk59/Ah
PiKRqM3XKFM6i0Qi3Lhxoxtq1T34EJ/WrF69GmvWrGnXa9evXw+hUAgPDw9cuHABAD/SbvM5Pqag
u+PT5uUP2iZcmaL6+no8ePAAZWVlePDgAcrLy1FVVYWGhgbU19ejoaEBADB9+nRVwhoA+PNPICWl
+f7zzwNHjnRu+zt37kRsbGyLx9XjExQUhPXr13duA0ZOLpejqKgI5ubmGDJkiOrx7oxPaxQKhUa+
gc5Qz29gTLgQn4cxxtrcDyovqX34B0Zrtm3bBgsLCxQUFGDdunU4ceIEtm7dig8//BAuLi5YsGCB
KqcFl9D+jdv0HZ+HdWgOhSmor69HXl4eysrKUF5erhpAyOVy2Nvbw87OTnXr27cvevXqBSsrK/Tq
1QuWlpYtyps/Hzh1CnB1BeLjgX79dFNPOsf4aHK5HAUFBcjJycFff/2F4uJiDBgwAK6urnB1dVW9
rjvjo34eOzk5GTt27IBAIMDNmzcxePBgKBQKHDx4EA4ODvjqq6+wb98+zJgxA5cvX25zsDB+/HjY
29vjySefxGeffYaePXvqpiGdoMvz9YaKj7bU29u3b4dAIMCaNWvwxhtvYNKkSbh69Sree+89REVF
obi4GCdOnMDQoUMhFotx6dIlNDY2QigUqtJnt+X333/H9u3bERUVhVmzZiEpKQkAEBgYiIMHD3Y6
7ba+5lDQ/o3b9BkfbXMoOrQ4mDFSKBSsqKiIpaamsq+//ppt2bKFHThwgJ05c4ZdvHiR5eXlserq
aqZQKDpVfkUFY6Ghzf/qEniwgEx3a2hoYNnZ2SwmJoZFRkay3bt3M7FYzG7fvs0aGhq0vqc746P+
f7FYrFrMrq6ujjHGWEJCAnvnnXdYU1MTmzZtGpPL5Sw9PV21KNTmzZuZUCjUuCUkJPyvHc0N2LJl
C/vPf/6j28Z0kC7/Lg0Vn8bGRtbU1MQYYyw8PJzt2bNHFS/GGBs0aBCTSqUsPT2dTZ06lTHGWHR0
NNuxYwdjrHlRr9zcXHbz5k32xhtvMMYYi4uLaxG/bdu2qcoMCgpiQ4YMYdnZ2YwxxmbOnKl6Ljw8
nBUUFHSpvfpA+zdu02d8mC4XB+MzqVSK3Nxc5OTkICcnBxYWFhg9ejRmzpyJ4cOH6zQRVr9+nT/M
RNpWV1eH69ev4+bNmygoKICDgwPGjh2L2bNnq9aeeBRDxUcgEGDKlCkAgMjISCQlJUEmk8HJyQll
ZWVwdHSEmZmZ6jUAsGnTJmzatElref3+99MjODgYn376qf4b0E0MFR9tqbfVYzFq1Cj06NEDQ4YM
UWXiHTJkiGr+ilgsRk5ODgCgpKQEABAQEPDIBdWOHz+OwsJCLFu2DAkJCbxIu037N25Tj49cLkd1
dbVqX6EPJjWguH//PtLS0vDHH39g2LBhGDVqFNzd3TFgwACTnRvCV/fv30dGRgauX7+OUaNGYdKk
SXj22WcNeqi/o8zMzFBeXo6UlBSkpqYiPj4e0dHRsLe3R35+PhQKBS5fvqx6/ebNm1uc+njnnXfg
7e0NhUKBnj17Ii0tzajW2VAoFJDJZN0eV2Xq7WXLliE8PBze3t5ISEhQPf9w1kwlxhjOnz+P4OBg
VWbLt99+G9nZ2cjNzcWOHTs0tuPv748NGzZAKpWiZ8+e6NOnD5qamgD8nXbb2dlZI+02Y4wzK47K
5XI0NTXxqt+ZqqqqKuzduxcrVqyAnZ2dXrZhEgOKoqIinD17FgUFBZg2bRpeffVV9OrVy9DVIh3E
GMPt27eRkZGB4uJiuLq64qWXXupQxkAuEQgE6N+/P6ytreHj4wMXFxcIBAKYm5tj+fLlcHd311hD
IiIiAhERES3KKS0thZ+fH6ytrTFgwAAcOHCgu5uiN3/++Sdu3LiB4ODgbt2uttTb6rQNKJT/Hj9+
HHPmzFE9LxQKcezYMURERLR6hGLRokWQSCSQyWT497//DYAfabevX7+OvLw8o17K3lj0798fIpEI
hw8fxsqVK/UyCDTqSZkFBQU4e/YsSkpK4O7ujilTpqjy7fOdKU1aUi7ylpGRAXNzc0yfPh0TJkzg
9BotppY4SZ0u25mdnY0//vgDzz77rE7KU+JrfDqTdhvQX9uysrKQl5eHoKAgnZZrSvu37vbjjz+i
rq4OCxcu7PSR+dYmZXJ3j9wFxcXFOH36NCQSCTw9PREWFsbpLx/SutzcXJw8eRJ9+/bF/PnzMXz4
cDo9RUzWli1bDF0FwnN+fn7Yv38/zp49i5kzZ+q0bKP6lmWM4dKlS0hKSoKPjw8mTZrU5ev7iWFU
VlYiPj4ehYWFmDdvHsaOHUsDCUII6SILCwssXLgQe/bsweDBgzFmzBidlW0037aNjY04fvw4zp07
h+XLl2PKlCk0mOChpqYmpKWlYffu3bCzs8PatWsxbtw4GkwQXrG1tYVIJMK0adMQExPT5uv5mimT
8JONjQ1CQ0Nx4sQJPHjwQGflGsURitLSUhw9ehQODg5YtWqV1gRThPvu3buHY8eOwc7ODqtXr+bk
ZXJdRQMj/mPtyJTp4uICsVgMqVSKuXPnIiQk5JGv52umTMJfDg4OOp+kyfsBRVZWFuLj4zFnzhxM
mjTJ0NUhnXTp0iUkJibC398fTk5Ohq6OXtAEM/7oaqZMpdraWlhZWbW5PeUcr+rqatUlfdnZ2aoM
mzY2NqiurubM5aLEOLi6uqKoqAixsbFdmqSpxOsBxcWLF/Hrr79i2bJleOyxxwxdHdIJTU1NOHny
JO7evYvly5fD3t7e0FUiBPb29oiPj4e5uTmWLFmCnJwcyGQynDp1CgDwr3/9C19//TUuXryIdevW
4cKFCzh06BCOHDmCV199FdeuXYNIJMKtW7dUl4H++OOPLfJQLFiwAK+//jqA5qRkmZmZiI+PBwCN
dUBsbW0hkUhoQEF0TpeTNHk7oMjNzYVYLMby5cv1lqSD6FdlZSWOHDmCfv36YdWqVZQch3BGZzJl
PkzBu08AACAASURBVP7446pMmc7OzhCLxZDL5fD19UVYWJhRZsok/KfLSZq8nLX44MEDxMTEICQk
hAYTPJWbm4u9e/di/PjxvMtwSYyfMlOmWCyGh4cHvL29Nb7gtSW2Yn+vgaRibm4OoDndf1xcnGqJ
eeVt27ZtqucBaM2UWVtbq5Eps7q6Wn8NJyZJV5M0eXeEor6+HtHR0RCJRBgxYoShq0M64c6dO6oB
4ciRIw1dHUJa6GymTOV95SkPmUyGefPmwdbWFoGBgQgMDNS6Pb5myiTGw8HBAS4uLoiLi8Py5cs7
VQavMmXK5XIcOHAAgwcPxrx58wxdHYPiaya5vLw8HD16FAsXLoSjo6Ohq6M3fI0P11CmTE2UKZPo
A2MM586dw9mzZ/HMM8+0+UPPKDJlJiUlwdLSUiNPPuGP/Px8HD16FKGhoUY9mCBEXyhTJtE1mUyG
n3/+GcXFxVi5cmWX5urwZg5FVVUVLl26hICAAEpYxUN3797FkSNHEBISguHDhxu6OoQQYvIqKyux
b98+yOVyrFixossTf3nzzZyWlobJkyfTZVM8VFhYiO+//x7BwcE0Z4IYHZFI1OZrxo4dq5qIqbwS
hBBDysvLw969ezFhwgQ888wzOlk4kxenPCorK5GdnY2XXnrJ0FUhHVRbW4sjR44gICAAo0aNMnR1
COkwhULR5aOijz32GMRisY5qREjnqc+XCA4Oxj/+8Q+dld3mgEIoFKruBwUFYf369TrbeHulpqZi
6tSp6NOnT7dvmyt27tyJ2NjYFo9zIT6tUSgUOH78OFxcXFTX6hsrPsbHlLQnPuqSk5OxY8cOCAQC
3Lx5E4MHD4ZCocDBgwfh4OCAr776Cvv27VNlsmxLeXk5vL298eSTT+Kzzz6jy6QfQv2ne3R2vkRr
8XkY56/yqKiowJ49e7Bu3bp2pbA1FXyYBZ2SkoLc3FwsXbrU5Oa98CE+fGCoqzySk5MRGRmJU6dO
ob6+HlZWVkhMTIRYLMb7778PDw8PpKenIzMzExs3boRYLMYHH3yApKQkje28++678PHxgUQiQb9+
/fDRRx/B2toa69at02l72kJXeZDKykocPnwYdnZ2CAgI6NIpDt5e5ZGamoqnnnqKBhM8c+fOHVy4
cAHPP/+8yQ0mCP8JBAJVZszIyEgkJSVBJpPByckJZWVlcHR0hJmZmUb2zE2bNmHTpk1ay+vXrx+A
5vTan376qf4bQIiavLw8xMTEYMaMGZgxY4beFink9IBCoVDgxo0bePnllw1dFdIB1dXVOH78OIKD
g2kSLeEtMzMzlJeXIyUlBampqYiPj0d0dDTs7e2Rn58PhUKBy5cvq16/efPmFvMk3nnnHXh7e0Oh
UKBnz55IS0ujuUSk2+hzvoQ2nB5QFBYWol+/fh1O4kIMhzGGY8eOwdXVla7oILwmEAjQv39/WFtb
w8fHBy4uLhAIBDA3N8fy5cvh7u4Ob29v1a+9iIgIREREtCintLQUfn5+sLa2xoABA3DgwIHubore
KBQKvf3aJV2jy/wS7cXpORTJyclobGzE3LlzDVYHruLqOcZr167ht99+w6pVq0z6VAdX48M3lClT
N/TVtrNnz6K+vl7n+2jqP12jy/kS2rQ2h4LTe/zc3Fz6lcsjjY2NSEhIgK+vr0kPJggxFQUFBXBw
cDB0NYgafeSXaC/O7vWlUimKi4spRTOPpKWlwdHREU888YShq0II0bP6+nrcvXuX9tEcwRhDZmYm
fvjhBwQFBcHd3b3bT0dxdg5FXl4ehg4dCktLS0NXhbRDRUUFLly4gBdffNHQVSGEdIOkpCRMmDAB
vXv3NnRVTJ4h5ktow7kjFHfu3IFCocCdO3cwcuRIyOVyQ1eJtKKhoQG1tbUAgDNnzmDGjBno27ev
gWtFCNG3rKws/PHHH/Dx8TF0VUyertfj6ArODShSU1Px559/orCwEAMGDMBnn31GE3M46sqVK0hL
S8OdO3dQUlLS7qyBhHCVQCAwypuuyOVyJCcnIzk5GUuXLqX8QAZmyPkS2nDulMekSZNw6dIlSCQS
XL58GVOnTqXLkjjK0tISUqkUiYmJ8Pb2RnJyMjw8PGgnQ3iJfri0jjGG33//HcnJyejfvz9WrlxJ
OWYMqLvzS7QX5wYU48ePx5kzZyCVSlFeXo6wsDBDV4m0okePHigvL0d9fT0yMzMxcOBAWqOAECPC
GMOff/4JsVgMc3Nz+Pn5YeTIkfQjz4C4Ml9CG84NKCwtLTFq1Chcu3YNfn5+sLDgXBXJ//To0QP3
7t2Dubk5pkyZAg8PD9rREGIEGGPIzc1VpRwXiUQYO3Ys9W8DU88vsWLFCoOf4ngYJ7+tXV1dUV9f
TylqOa6pqQkymQzBwcF48sknDV0dQogOFBQUICkpCTU1NRAKhRg/fjwNJDigu9bj6ApOZ8okreNC
JjmFQoGamhq6skMLLsTHGFy9ehU5OTkICQnRabkUn5bu3bsHsViM+/fvw9vbGxMnTjRYgjqKz9+4
OF+Ct6uNEu4yMzOjwQTRq8rKSvTp08fQ1TBqpaWlSE5Oxl9//QUvLy8sWrQI5ubmhq4WAbfnS2hD
AwpCTJRMJoNAIOD0PKWbN29CJBIZuhoG0djYCDMzM73Fp7S0VHXZt7u7O4KDgymRIIdwfb6ENtzd
kxBC9EIqleLcuXPIyMiAv78/nJycDF0lrS5duoSamhoMHz7c0FXpVg0NDcjMzERmZiaCgoIwZswY
nZVdVVWF/Px8XLlyBSUlJXBzc4O/vz9dncUxfJgvoQ0n51A8/zzw559A795AdDTQr1+3V4HzDHmO
keLTNi7Gp66uDikpKbh69SocHBwwdepUzh1CbWpqQnl5Oa5fv47CwkIsXboUdnZ2Ot8OF+NTW1uL
lJQUXLt2DY6OjpgyZQr6dbJzMcYgk8kglUpRVVWFgoIC5Ofno6GhAY6Ojhg7diwmTJjA2aNTXIxP
d+DifAltOj2HQigUqu4HBQVh/fr1uq2ZFn/+CaSkNN9//nngyBG9b5Lzdu7cidjY2BaPU3y4gQ/x
OXfuHM6dO4eePXuivLwciYmJ/7+9e4+Lqk7/AP4ZEOWOFxTTyCC8RIqleOEmA4gICqGkKIuotbaJ
r3xZutZisj81TTZNVltTU8taL5l5SZOUywAqijc0MVFEyBUvgCAjCMgw398fLLOMzMhlLuecmef9
evESGfie5zsPZ+bhe855js5jaS9TU1PY2tpi4MCBCA0N1VqTNCHkJysrC+fOnYO5uTnKysqQkpKi
0XbMzMzQpUsXWFtbw9HRER4eHujZsycv/9oVQn50jc/nS6jLz7N4uUIREgIkJQHu7kByMv0FrAqX
FTzlp3V8zc/Dhw9x4sQJ5OfnY+TIkRg9erRRLnfzNT9lZWXIzMxEQUEBRo8ejVGjRgni2Lm28TU/
utL8fInQ0FDe51zdCgUvC4pHjxorwy1b6M1KHS53OMpP6/ien4cPH+LkyZMYNGgQBg4cqN8AeYDv
+SkrK8PJkycxePBgo+zHw/f8aJMQz5cQVEFBWkfXafMb5YffKD/8Zgz5Ecr5EqpQHwpCCCGknc6f
Pw8XF5cOnyCrCp/Pl9AErVAIlDFU8EJG+eE3yg+/8Sk/a9aswZMnT/DGG2/A09NT46uOhHa+hCrq
Vii46atKCCGECMCrr74Kc3NzPH78GNu3b8fevXvx9OnTDo1VVFSErVu3YvDgwZg8ebIgi4nnoUMe
hBBCiBovvfQSysvLUVxcjMmTJ6O6urrdJ04K+XyJ9qAVCkIIIUSNvn37oqysDOHh4Th06BBefvnl
drUor6+vx6FDh5CTk4N33nnHYIsJgAoKQgghRK1u3brBxsYGzs7OGDFiBPbu3QuZTNamn62srMQ3
33yDhoYGvP322wZz8qU6dFKmQPHppCXSEuWH3yg//MbX/DDG8OOPP8Lc3ByhoaHPPfQhxP4SbUUn
ZRJCCCEaEIlECA8Px507d3DhwgWV38MYQ3Z2Nvbt24fw8HB4enoaVDHxPFRQEEIIIW3UuXNnREZG
QiKR4Pbt20qPGdP5EqpQQUEIIYS0Q48ePRAeHo59+/ZBKpUCML7zJVShcygEiq/HGEkjyg+/UX74
TSj5OXHiBK5fvw6xWIxDhw4Z5PkSqtC9PAyMUHY4Y0X54TfKD78JJT9NJ2kWFRUhIiLCaA5xUEFh
YISywxkryg+/UX74TUj5aWhoQF1dHSwtLbkORW94c5VHYmIir8fTxZi6iFFXhDB3IcSoK0KYuxBi
1BUhzF0IMeqKLuZuamqq1WJCyPnRe0Fx8OBBXo+nizF1EaOuCGHuQohRV4QwdyHEqCtCmLsQYtQV
IcxdCDGqQ1d5EEIIIURjVFAQQgghRGOtnpSpx1gIIYQQIgC8OCmTEEIIIYan1YKCMabVD19fX16P
J5QYKT/8HY/yw/8YKT/8HY/yw/8YO1xQEEIIIYS0hgoKQgghhGisk743GB4ezuvxdDGmLmJURVv9
47Xdh14Xfe2bj/m8Jbi2oPxoZ7ymPND+Q/nRBUPPz7Njavq61kRf+QGo9bZgqWpNq81fQqHg65yN
LT9Cmxvlh9+MLT/P4vtcedN6mxBCCCGGhwoKQgghhGiMCgoCAPjuu+/g6+uL0aNHY/v27RqN5efn
167vT0tLg6enJ/z9/VFcXKz02NWrV+Hl5YUxY8Zg7ty5GsVlCIqKijBjxgyuwyCEU+np6Vi6dCnX
YZBnUEFhhFQdm4uKikJGRgaysrKwcePGdv2spj799FMkJydj9erV+Oyzz5QeGzhwIE6dOoXMzEzU
1dUhJydH69snpD34fGzbWLT3REjKmX7o/SoPoh/37t3Dn/70J9TX18PNzQ1Tp07F2rVrIRKJMHfu
XBQWFuK7776DhYUFNm3ahAEDBgAA6urqYGVl1WK8oUOHws3NDYMHD4aDgwN27NiBqqoqrFq1CoGB
gTh37hzee+89uLi4oKKios1xPnnyBBYWFrCyssLIkSPx0UcfKT3eqdP/fkVramrQtWvXDj4j/KIq
P6tXr4aZmRnKy8tx7NgxdOrUCVOmTEF9fT26du2K8ePHQywWK8Y4cuQIPv/8c8hkMsTHxyMoKIi7
CRmYju4/RH/Onj2LkJAQ1NXVYffu3YiKikJ9fT169uyJvXv34vbt25g9ezbs7e0REhKC2bNncx2y
waOCwkDZ29sjOTkZpqammDFjBvLz81FfX4+kpCSUlJTg888/R1ZWltLZxMuXL8fXX3+NTz/9tMV4
xcXFOHPmDCwsLFBTU4NZs2ahsrISU6dORWBgIFasWIFDhw6hW7du6NevHwDg559/xrp165TGmThx
IhYuXKj4/6NHj2Bra6v4f0NDQ4tt//zzz1iyZAnc3d3h5OSkleeHa6ryY25ujgMHDmDVqlVITU1F
TU0NvL29sXjxYsTGxra4VHbt2rWQSCSQyWQICQmhgkKLOrL/EP1p6th49OhR7N27F9u3b8eRI0dg
bm6OpUuXIi0tDS4uLigtLUVaWppOLu0kLVFBYaDKysowd+5cVFZWoqioCP3798ewYcMAAIWFhRg2
bJhiJ2v6Nz4+Hh9//DECAgIQEREBa2trxXgDBw6EhYUFAODXX3/F+vXrwRhDaWkpgMbC4MUXXwQA
xV9rYWFhCAsLUxnbW2+9BRMTExw5cgRSqVTxmKmpaYvvbxpn/vz5SE5ORmBgoMbPD9dU5ee1114D
APTt2xePHj3CvXv34ObmBgB4/fXXld64ysrKcO3aNQQEBACAIg9EOzqy/xD9EYlEeOONNwA07hvJ
ycl45513UFxcjAcPHmDAgAHo378/hg4dSvnRIzqHwkDt3r0bkyZNgkQigZeXF3x9fWFi0phuZ2dn
5OTkKN6gGGN4+vQpAMDMzAwmJiZgjKG2tlZx+KLpZwFg9erV+PXXX3Hw4EHFzmpnZ4fi4mJUV1cj
Pz8fQOPKgp+fn9LHmjVrYG9vj/T0dKSlpcHS0hI1NTWorq7G2bNnFW+qTZriAgBbW1ul/wuZqvw8
uwLh5OSEK1euAAAuX76s9PP29vYYMmQIUlNTIZFIcOnSJQDA3bt39TcJA9be/aeqqgqPHz/mMmSj
whhT7BOXLl2Ck5MTBgwYgPT0dEREREAulwNQft0qLS2FTCbjJF5jQSsUBsrf3x8xMTFKb/pNevbs
iYiICHh6esLS0hJfffUVdu/ejfT0dNTV1WHatGmwsbFBSkoKzp49i7i4OKWfnzhxInx8fDBy5Eh0
69YNALB06VKEhYVhwIABikMe6lYonrVkyRIEBgbCwsICO3bsAAAkJCRgxowZOH/+PL744gvFG2xw
cLA2nh7OqcpP8zyJRCKEh4djypQpGD9+PKytrdG5c2fFYyKRCB9++CECAgIgEonw2muvYcOGDYiJ
iUFKSgonczIk7d1/MjMzYWlpiaioKI4iNi4ikQhmZmYIDg5GXV0dvv32W0yaNAnnz5+HnZ2dynNa
PvzwQyQkJKBPnz4cRGwcqFOmQOmjk1xiYiLCwsLg7OystTG1ja/HsLWVn4aGBpiamiI2NhYzZ87E
qFGj1H4vYwwLFizAP//5z44FrQG+5kEdbe8/cXFxiIuLUzpMyCfGnh8AmDdvHv71r39pHJs+8D1f
6jplUkEhUMbemrYJX+esrfwEBQWhuroa/fv3xzfffKPVGLWJr3lQx9j2H6HNzdjy8yy+z5UKCgNj
7DtcE77O2djyI7S5UX74zdjy8yy+z5Xu5UEIIYQQnaGCghABaUvr7RUrViAkJKTdYycnJ8PDwwP+
/v64fv06gMarRvz9/eHl5YXU1NQOxWxMKD/81tHW9TKZDB4eHrCxscGtW7cUX//kk0/g7e2NMWPG
4ObNmwCefysBg9fUIETVR+PDhI8AsGfz0/Q1Y/vgI3X50VRhYSGLjo5+7vdMmDCBTZ06lVVWVrZr
bB8fH/bkyRN27949FhkZyRhj7P3332dZWVmsqqqKicVitT/L1zyoQ/nhNy7zo86DBw/YrFmz2M2b
NxljjFVUVLCAgADGGGOnTp1iH3zwAWOMMT8/P1ZVVcWys7PZvHnzOrQtvufrv/G1qBlavWy0eavf
8PBwLFiwoLUfITqQmJiIgwcPtvh68/ysW7eO8sORtuSnOV213i4sLISTkxM8PT3xyy+/YPr06e2a
h4WFBSwsLFBQUAAAyM3NhYeHBwDAxsYGjx8/ho2NTbvG5APKD7/xJT/P06tXL6X/d+nSBQAgl8tR
UVEBe3t71NTUPPdWAkKlLj8tqKoyGK1Q8B54/Nc5af0vrKdPnzKZTMYYYyw6Opp9/fXXLDw8nDHG
2MqVK9mhQ4fYnj17WEJCAmOMsblz57IdO3awoqIiFh0dzeRyOROLxayhoYHV1dUp/lJau3Ytk0gk
rLKyks2YMYMxxlh2djYTi8VKH4sWLWoRs4+PD3vw4AG7du0as7KyYowxNmbMGMXj0dHR7Pbt22rn
KySUH37jKj+xsbFKefDz82NXrlxRbLf5CgVjjMXHxzMXFxfm7OzM7t+/z4qLi9m0adMUj/v4+HR4
/nyGjq5QEEK0T1ett48ePYpjx47BxMQEN2/eRF1dHUaOHAmJRKIyjoCAADDGsHv3bvzjH//AtGnT
0K9fP3h7ewNQ7jQolUoVjcwMHeWH33SVn7b0qWi6AqWwsBCXL19Gfn4+Lly4gLi4OGzYsKHVWwkY
MiooCOFAU2vnmTNnIjo6Gr6+vkodLlmz1tvBwcG4fPkyRo4cqXi8qfV205uTTCbD/fv34ejoqOhX
sXnzZiQnJ8PBwQGLFy9W2v7w4cOxZs0apRP5HBwckJaWhvz8fMUt7N3c3HDmzBkMGTIEUqkU1tbW
qKqqAmNMkEvrbUX54Tdd5AcAYmNjce3aNaVtbdiwAYMHD1YaGwCqqqoUNzbs0aMHpFKp0q0Erl69
qihySktL0a1bN6W7Jxsiw54dITyl7dbbrq6ucHNzw5gxYxRjiMViJCQkYPv27Wr/Am5u1apVSElJ
QY8ePbBlyxYAwOLFixETE4OamhosX74cALBnzx6DbzNN+eE3XeTnyy+/VBRqqkydOhWnTp1Cfn4+
PvroI4SGhsLCwgJjxoyBTCbD+vXrAai+lYCxtP2mxlYCparxC+EPLlpv64uqNtN8b8TzLMoPvxla
ftrb9pvv+aJOmQaGCgp+o9bb/Eb54Tdjy8+z+J4vKigMDBUU/GZsrYOFNjfKD78ZW36exfe5Uutt
QgxAa53+Bg4cCD8/P4wePRobNmxodbzt27fD2dlZaczHjx8jNDQU3t7e+P7777USt7HQdn6oE6Z6
EyZMgFgsbvcbb0ZGBgoLCwEAx44dw9GjR7UeW2v7UGhoKMaMGYOxY8caVDdNKigIMSC9evWCRCLB
mTNn8O9//7vV73/zzTeRnJys9LWvv/4aUVFRyMzMxNatW1FfX6+rcI1Oe/OzevVqrFy5EsePH8en
n36qhwiF4e7du7C1tUV6enq7V2slEomifXZQUFCH2qC3prV96Msvv0RmZiY+/vhjrFu3Tuvb5woV
FIRw4N69e/D394ePjw/mzZuHjIwMBAcHIywsDN7e3qiurkZdXR3CwsIQHByM6dOnY8eOHUpnsh85
cgS+vr7w8vLCsWPHlMavra1VnNX+PD169GhxrXx2djYCAwNhYmKCoUOHIi8vTzuTFhC+5KepE6aV
lZWiEyZpvLpFIpHAzMwM06ZNw8SJE/Hbb78hMjISYrEYQUFBiufqq6++goeHBwICAnDjxg3s2LED
CxcuxKJFi7Bjxw5s27YNADB//nz4+voiNDQUUqkURUVF8PHxwVtvvQV3d/d2rSS0tg/169cPANCp
UyeD6lVBl40SwgF7e3skJyfD1NQUM2bMQH5+PszNzXHgwAGsWrUKqampqKmpgbe3NxYvXozY2Fil
NyvGGNauXQuJRAKZTIaQkBAEBQWhpKQEfn5++M9//qNYej937lyLPgfu7u74/PPPVcb26NEjxfX1
dnZ2ePTokY6eBf7iS34aGhoUX2vKhSH3l2irlStXQiQSYezYsTh9+jT27NkDAPj2229hYWGBbdu2
4YcffkBYWBj27duHrKwsxXkJs2bNgo+PD/z9/RWXdZ4/fx5PnjxBRkYGdu7ciU2bNiEyMhLV1dXY
t28fdu3ahZ9++glz587FuHHjlGLp1KlTi1W+tuxDDQ0NWLlypeISYENABQUhHNBVp7+mJXUAiIyM
xO3btzFixIjn9jlo/kYINL4AVlZWomfPnkbVfbE5vuTHWDthtqb5cz18+HAAjW/QixYtQm5uLqRS
KSZNmoSioiIMGzasRa+KZw+PFBQUYNiwYYrxMjIyAACurq4AGnN+8+ZNmJmZqc3VwoULcfHiRXz8
8cdt2ocWLlyImTNnwsnJSZOnglfokAchHGjq9CeRSODl5QVfX98Wf+E2dfoDgMuXLyv9fFOnv9TU
VEgkEly6dKnFNmxsbFBZWYlz587Bz89P6WPRokVK22rOw8MDqampaGhowKVLlzBo0CDU1taioqJC
m08Br3Gdn7/+9a8A/tcJs7q6WqkTprEf+miei6ai69KlS4pVhnnz5oExBmdnZ+Tk5Ch+xxljMDMz
U1r5AYBXXnkFFy5cANC4WuHi4qK0naZ7VdTX10MsFivlauzYsQCgWJEKCgpSuQ81t23bNpiYmCA6
OloHzw53aIWCEA5ou9Pfa6+9hg0bNqC0tBR+fn6Qy+VwdXXFkCFDAEDtX1W//PILVq9ejYKCAkyZ
MgU//vgj/vznPyMqKgobNmzAX/7yF3Tq1Anp6ek4e/Ys4uLidPzM8ANf8mOsnTA7YtCgQbh58yaC
g4Ph6OiIF198Efb29oiIiICnpycsLCywadMmiMVi/O1vf0N2djZeeukliEQiuLu7K7pe2traYteu
XaioqFDKvUgkgpmZGdLT01uNRdU+dPnyZVy4cAFvv/025s2bh1GjRsHPzw++vr74v//7P90+OXpC
fSgEivpQ8JuhdfpLTExEWFgYnJ2dVT7O9+vmnyXk/KjqhNkaY82PUPF9rtTYysBQQcFvxtbpj+8v
gM+i/PAbFRT8nisVFAaGCgp+M7YXRKHNjfLDb8aWn2fxfa7UKZMQQgghOkMFBTFq774LiMVASAjA
13YLfn5+rX7Pzp074eXlhdDQUIO6AkAI+VFnzpw5mDt3bpu+Nzc3F97e3vD29lZcOSIE+s5P08mR
hv6hLfrOT6tXeYjFYsXn4eHhWLBggS7jIWokJibi4MGDLb5O+dHMjRvAfy85x7vvAnv3dmyctuRH
HblcrtRvoL3q6+uxefNmnDhxAvv27cPmzZuVLgsVMj7k51mMsVZf9BsaGlBSUtLi8kR14uPj8cMP
P0AkEiE2NlZlrHykz/ysW7eOXt/aSdf5aaHp+lpVH40PEz4CwCg/mgsOZgxgzN2dsYoK7Y2rKj/N
/y+RSFhoaCgLCwtjAwcOZL6+vszHx4fdvn2bMcbY5s2b2ejRo9kHH3zAxGLxc7d19epVFhsbyxhj
7OHDh2zy5Mnam0gb6ep3kav83L17l/n5+TFvb28WGxvL0tPTFflKSkpigwcPZtHR0czNzY399NNP
bMKECWz48OHszp07jDHG0tLS2Jo1a9iqVatYVlZWq/E0z7Gvr692Jqlmbtqkz/yQ9tNlfpiKmoH6
UBCjtmtXY+W+ZQvQtat+t11fX4+kpCTU1NTAwsICqamp2Lx5M5YtW4bt27cjKysL2dnZyMnJAQCs
WLECaWlpSmMsWbIEVlZWija/tra2BtUqm6v8qGq93ZQvAJg1axa2bduGCxcu4P3338f58+exe/du
7N27Fx988AEOHDiADz/8EE+fPsXWrVvh4eGBw4cP44svvlDazsSJE7Fw4ULI5XLF1xiPT8Z7Fpf7
D2mdvvNDBQUxal27dnwZUBMikUjR6jchIQFpaWmor6+Hq6srysrK0K9fP5iYmCi+BwCWLl2KDqI2
sAAADzFJREFUpUuXthjr999/h1QqBdDYnrmrAb2yc5UfVa23m+fCxcUFnTt3xgsvvKDogvjCCy/g
2rVrABobVeXn5wMAHjx4AKDxltWhoaEqt6eq86MQcJUf0jb6zo9wfnMJ0aKamhr89ttvnMZgYmKC
8vJyZGRkIDMzE8uXL4dcLoe9vT3++OMPyOVyxeoEACxfvrxFi+bU1FQMGDAAubm5kMvlSElJgYeH
B4ez0q6GhgbU1NTofbuqWm83f6N/tmtmE8YYzp07h0mTJiEpKQlJSUkICgpCbm4uDh8+3CJ/a9eu
BQB0794dxcXFittyA0BFRQVqa2v1NOP2u3//Purq6rgOg/AIrVAQo5SVlYXa2lrFzZ24IBKJ0K1b
N1hbWyMgIABubm4QiUQwNTXF7Nmz4enpqXQPifj4eMTHx6sca86cOfDx8UH37t2xa9cufU5Dp27c
uIG8vDxMmjRJr9tV1Xq7OVUFRdO/Bw4cQGBgoOJxsViM/fv3Iz4+Xu0KxbJlyxAZGQkA2LhxI4DG
e0OEhITA09NTO5PSsv379yM8PBx9+vThOhTyHBs3bkRsbKxetkWNrQSKGlt1XG1tLdavX485c+bo
7O6NxtaYR1dzy83NRV5eHt566y2tjiuE/MyfPx/r16/XyljanptUKsWmTZuwaNEinRyiodc37Vm2
bBn+/ve/a3VMamxFyH813U2QbgVN+ExbxYQu3Lp1C05OToI634PoHv02EKNSV1eHM2fOwMvLi+tQ
CBGsgoICvPLKK1yHQXiGCgpiVDIzM9G/f384ODhwHQoxYHZ2dvDz88OoUaPw008/telnampq0Lt3
b8WlwXfv3oW/vz+8vLyQmpqqy3DbhTGGW7duUUFBWqCTMonRKC8vR05OTpvbIeuCNtvqEm6wNnTK
dHNzg0QiQV1dHcaNG4eIiIhWx926davSScKrV6/GypUr4ebmhokTJyIgIEDj2LXh3r17sLS0hJ2d
HdehEJ6hFQpiNJKTk+Hh4QEbGxtOtq+qs5whfRiSe/fuwd/fHz4+Ppg3bx4yMjIQFhaGN998E8eO
HcOQIUMwY8YMDB06FPv378fEiRPh7u6O4uJipXGqq6thYWHR6vaePn2K7OxseHl5KZ7L3NxceHh4
wMrKCjY2Nry5Rwsd7iDqUEFBjEJhYSHu379vUD0aiO40dco8ceIEpFKpolPmoUOHMH78eJSWlmLb
tm3YtGkTVq1ahSNHjmDhwoXY+98uQleuXIGfnx+GDh2K6dOnA8Bz+1B8++23mDFjBoD/rWI1vw+I
nZ0dbzqgUkFB1KFDHsTgyeVyHDt2DIGBgejUiX7lSes60imzT58+ik6ZQ4YMgUQiQUNDA8aPH4/I
yEi1nTJlMhmOHz+Offv24fTp04oViuZXUEilUl5clVRXV4d79+6hX79+XIeiUwkJCbxuKtYe5ubm
etsWvboSg3fx4kWYm5vj1Vdf5ToUIhBNnTJnzpyJ6Oho+Pr6IiUlRfG4qsZWqg79mJqaAmh8Iz5+
/DjWrVun9PiECRMQFRWF27dvIzg4GDdv3kRSUhKOHTsGNzc3nDlzBkOGDIFUKoW1tTWqqqrAGOPs
sF1RURH69u2Lzp07c7J9famtrdV67wZjQAUFMWjl5eWQSCSIiYmhEyJJm3W0U2bT502HPOrr6xEU
FAQ7OzuEhYUhLCxM5fbOnj0LoLEJkY+PD7p27YrFixcjJiYGNTU1WL58OQBgz549sLS0RFRUlFbn
21YFBQVwdnbmZNuE/6hTpkBRJ7nWyWQybN++Ha+//jpGjhyp121TfrTDmDtlqhIXF4e4uDhYW1u3
6+e0Nbcvv/wSEREReOGFFzQe63m43n900V3SkKjrlEkrFMRgpaSkwM7ODiNGjOA6FEK0YtWqVZxt
+9GjR6itrUXv3r05i4HwG13lQQzS9evXkZeXh7CwMDrUQYgWNB3uoP2JqEMFBTE4lZWVOHz4MCIi
ItrUA4AQTfj5+bX6PTt37oSXlxdCQ0N500+ivehyUdIaKiiIQZHJZNi/fz9GjRoFR0dHrsMhBkAu
l2v08/X19di8eTNOnDiBGTNmYPPmzVqKTH/kcjkKCwvphEzyXK2eQyEWixWfh4eHY8GCBbqMh6iR
mJiIgwcPtvg65ed/5HI59u/fD0tLS3h7e+t125QffmtLfppLT0/HF198AZFIhOvXr6N3796Qy+XY
uXMnHB0dsWXLFnzzzTdtapSWn5+PIUOGwMTEBGPHjsWcOXM0nY7eFRcXw87OTmeXq9L+w2/q8vMs
uspDoLg+C5pvGGM4dOgQqqqqMG3aNM4bWFF+tIOrqzzS09ORkJCApKQk1NTUwMLCAqmpqZBIJFi2
bBm8vLyQlZWF7OxsxMXFQSKRYMWKFYobezVZsmQJrKys8PPPP+Ozzz6DTCZDUFCQ3m/2pelVHunp
6Xj69CnGjRunxajU43r/oas8no+u8iAGizGGpKQkVFRUIDo6mvNiggifSCRSdMZMSEhAWloa6uvr
4erqirKyMvTr1w8mJiZK3TOXLl2KpUuXthjr999/h1QqBdDY8bJr1676mYQWFRQUtOlcEWLc6JWX
CF5qairu3LmDmJgYmJmZcR0OMRAmJiYoLy9HRkYGMjMzkZycjF27dsHe3h5//PEH5HI5cnJyFN+/
fPlySCQSpTE++eQT+Pr6Ijc3F3K5HCkpKYK7n0xtbS1KSkrw0ksvcR0K4TkqKIhgMcZw4sQJ3Lhx
A7NmzdJrz3pi+EQiEbp16wZra2sEBATAzc0NIpEIpqammD17Njw9PeHr66tYno+Pj0d8fLzKsebM
mQMfHx90794du3bt0uc0NFZYWAhHR0da+SOtonMoBIrrY4xck8lkOHr0KIqLixEdHc3ZvQ3UMfb8
aAt1ytQOTeZ2+PBh2Nvb63Vlhev9h86heD5151DQZaNEcKqqqvDdd9+hpqYG77zzDu+KCaI9DQ0N
SnfdJPrFGKP+E6TNaA2LCMrdu3fxww8/4I033lBabiaGqbKyElZWVlyHYbTKy8shl8vRs2dPrkMh
AkAFBRGMK1eu4Ndff8WECRPg6urKdThED/Lz8+Hr68t1GEaraXWCCnfSFlRQEN578uQJkpOTUVRU
hJiYGDg4OHAdEtGDgoICVFRU4OWXX+Y6FKNVUFCAIUOGcB2GXpSXl8Pa2hqdO3dW+X/SOjo4SXiL
MYZLly5h48aN6NKlC9577z0qJowAYww3btzAgQMHMGXKFL1eXSASiQzyoyMaGhrwxx9/GE277Zyc
HKXLfr///nuUl5dzGJHw0AoF4aXS0lL88ssvqK+vR1RUFPr06cN1SESHqqurUVJSgrt37+LatWuo
r6/HpEmT0K9fP73FYKhXeHTUnTt30KNHD1haWnIdil6MHDkSGzduhJeXFwCge/fudKv2dqKCgvBK
XV0dTp48iYsXL8LX1xfu7u50lr8Bqa+vR2lpKR48eICSkhKUlJTgwYMHkMlkcHBwQO/eveHj44MB
AwbQcXuO3bx502hWJwDAxsYGbm5uyMzMBAA6d6cDqKAgvPD48WNkZ2fj4sWLcHFxwXvvvUeXgwqY
XC5HRUWFomBoKh4qKyvRo0cP9OrVC7169cLo0aPRq1cv2NraUgHBM7du3UJgYCDXYeiVt7c31q9f
DwDUGbQDqKAgnCopKcHp06eRl5cHNzc3zJkzB926deM6LNIO1dXViqKh6d/S0lJYWlrCwcEBvXr1
wquvvgqxWIwePXrA1NSU65BJK548eYKHDx/C0dGR61D0ysbGBsHBwTh58iTXoQgSdcoUKK47yWmi
oaEBRUVFOHPmDO7fv48RI0bA3d3doI7VCjk/6jQ/XNF81aGhoUGx4uDg4KAoIrp06cJ1yGoZYn60
KTc3F1euXMH06dM52T7lh9/obqNEr3Jzc3H27Fm8/fbbABrfjG7evIm8vDzk5+ejW7duGD58OCIj
I+keARzIy8tDdnY2YmJiWhxqaDpc8ex5DlKpFD169FAUDK+88gocHBxgY2NDhysMDHXHJB1Br+RE
qxoaGnD8+HHk5+cjLCwMly9fRl5eHm7duoW+ffti0KBBCAgIgK2tLdehGiWZTIaUlBRcv34dERER
iqsrmhcPpaWlsLKyUqw6uLq60uEKDtTW1sLU1FTvd9Btarft7e2t1+0S4aNDHgLFxyXBkpIS7Nmz
B3K5HJ06dcLjx4/h5OSEQYMGYcCAAQZ1SKM1fMxPcXExfvzxR5iYmMDGxgZlZWWQy+WKFYemQxZ8
P1yhDXzMT5MnT54gKysLFy9exOTJk+Hi4qLX7ZeUlGD37t2YP38+ZytPfM4PoUMeRIvefRe4cQOw
tAR27QK6dm38+pUrVyCVSmFubg5HR0cEBgbC2dlZ739hGTt1+bl69Sqqqqpgbm4OGxsbeHh4oH//
/rTqoGfq8iOVSpGWloa8vDw4OTnhzTffhIWFBYqLi/Ua3++//w5nZ2ejPYylLj+kda0WFGKxWPF5
eHg4FixYoMt4iBqJiYk4ePBgi69zkZ8bN4CMjMbP330X2Lu38fOAgAD4+/vj3r17KCgowOnTp3Hr
1i0EBwfrPCauCSE/48aNw9ixY1FcXIwbN24gPT0dd+7cwdixY3UeE9eEkJ+zZ8/i8uXLsLCwwKNH
jxT9ELig78tFhZAfY6YuP8+iQx4CxeWSYEgIkJQEuLsDyclUwatC+eE3vuanvLwcJ06cwPXr1zFi
xAh4enoa/OEnVfiaH9JI3SEPKigEissd7tGjxsp9yxba2dSh/PAb3/NTXl6OU6dOwdXV1SivtuB7
fowdFRQGhk5a4jfKD79RfviN8sNv6goKukkCIYQQQjRGBQUhhBBCNEYFBSGEEEI0RgUFIYQQQjRG
BQUhhBBCNEYFBSGEEEI0RgUFIYQQQjRGBQUhhBBCNEYFBSGEEEI0RgUFIYQQQjRGBQUhhBBCNEYF
BSGEEEI0RgUFIYQQQjSm94IiMTGR1+PpYkxdxKgrQpi7EGLUFSHMXQgx6ooQ5i6EGHVFCHMXQozq
6L2gOHjwIK/H08WYuohRV4QwdyHEqCtCmLsQYtQVIcxdCDHqihDmLoQY1aFDHoQQQgjRGBUUhBBC
CNGYiDGm/kGRSP2DhBBCCDFKjDHRs197bkFBCCGEENIWdMiDEEIIIRqjgoIQQgghGqOCghBCCCEa
o4KCEEIIIRqjgoIQQgghGvt/FlbD4KMSO5AAAAAASUVORK5CYII=
)
`arrowstyle` 参数控制小箭头的风格:
| Name | Attrs |
| --- | --- |
| `-` | None |
| `->` | head_length=0.4,head_width=0.2 |
| `-[` | widthB=1.0,lengthB=0.2,angleB=None |
| ¦`-`¦ | widthA=1.0,widthB=1.0 |
| `-`¦`>` | head_length=0.4,head_width=0.2 |
| `<-` | head_length=0.4,head_width=0.2 |
| `<->` | head_length=0.4,head_width=0.2 |
| `<`¦`-` | head_length=0.4,head_width=0.2 |
| `<`¦-¦`>` | head_length=0.4,head_width=0.2 |
| `fancy` | head_length=0.4,head_width=0.4,tail_width=0.4 |
| `simple` | head_length=0.5,head_width=0.5,tail_width=0.2 |
| `wedge` | tail_width=0.3,shrink_factor=0.5 |
In [6]:
```py
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
styles = mpatches.ArrowStyle.get_styles()
ncol=2
nrow = (len(styles)+1) // ncol
figheight = (nrow+0.5)
fig1 = plt.figure(1, (4.*ncol/1.5, figheight/1.5))
fontsize = 0.2 * 70
ax = fig1.add_axes([0, 0, 1, 1], frameon=False, aspect=1.)
ax.set_xlim(0, 4*ncol)
ax.set_ylim(0, figheight)
def to_texstring(s):
s = s.replace("<", r"$<$")
s = s.replace(">", r"$>$")
s = s.replace("|", r"$|$")
return s
for i, (stylename, styleclass) in enumerate(sorted(styles.items())):
x = 3.2 + (i//nrow)*4
y = (figheight - 0.7 - i%nrow) # /figheight
p = mpatches.Circle((x, y), 0.2, fc="w")
ax.add_patch(p)
ax.annotate(to_texstring(stylename), (x, y),
(x-1.2, y),
#xycoords="figure fraction", textcoords="figure fraction",
ha="right", va="center",
size=fontsize,
arrowprops=dict(arrowstyle=stylename,
patchB=p,
shrinkA=5,
shrinkB=5,
fc="w", ec="k",
connectionstyle="arc3,rad=-0.05",
),
bbox=dict(boxstyle="square", fc="w"))
ax.xaxis.set_visible(False)
ax.yaxis.set_visible(False)
plt.draw()
plt.show()
```
![](data:image/png;base64,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
AElFTkSuQmCC
)