From 91e402d68850894fad40ae9e636e74b198449bc9 Mon Sep 17 00:00:00 2001 From: Andrew Look Date: Sat, 9 Mar 2024 22:35:17 -0500 Subject: [PATCH] README --- README.md | 231 +++++++++++++++++++++++++- nbs/index.ipynb | 430 ++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 636 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index b1c08d2..bd1ac60 100644 --- a/README.md +++ b/README.md @@ -2,21 +2,234 @@ -This file will become your README and also the index of your -documentation. - ## Install -```sh +``` sh pip install singleline_dataset ``` -## How to use +## Usage + +### Converting SVG’s to Stroke-3 + +``` python +from singleline_dataset.transforms import * +from singleline_dataset.svg_files import * +from singleline_dataset.strokes import * +from singleline_dataset.display import * + +# maximum number of points when discretizing the paths of the SVG file +total_n = 1000 + +# minimum number of points in a path, discard any paths with less points +min_n = 10 + +# process the SVG paths +rescaled_strokes = svg_to_strokes('../data/svg/0008.svg', total_n=total_n, min_n=min_n) + +# recursively join up any paths whose start/end points are within a +# distance threshold of any other paths' start/end points +joined_strokes, _ = merge_until(rescaled_strokes, dist_threshold=15.0) + +# recursively splice up any paths whose start/end points are within a +# distance threshold ANY POINTS WITHIN another path. +spliced_strokes, _ = splice_until(joined_strokes, dist_threshold=40.0) + +# convert the strokes (lists of lists of coordinates) +# to stroke-3 format (list of coordinates + lift_pen field), +# and apply RDP stroke simplification to reduce the number +# of points. +deltas = stroke_rdp_deltas(spliced_strokes, epsilon=0.5) +``` + +Plotting each of the various transformations helps to explain what’s +happening at each stage of path processing: + +``` python +plot_strokes(rescaled_strokes) +``` + +![](index_files/figure-commonmark/cell-3-output-1.png) + +``` python +plot_strokes(joined_strokes) +``` + +![](index_files/figure-commonmark/cell-4-output-1.png) + +``` python +plot_strokes(spliced_strokes) +``` + +![](index_files/figure-commonmark/cell-5-output-1.png) + +``` python +plot_strokes(deltas_to_strokes(deltas)) +``` + +![](index_files/figure-commonmark/cell-6-output-1.png) + +### Working with Stroke-3 Data + +The datasets for SketchRNN are based on Google’s [QuickDraw +dataset](https://github.com/googlecreativelab/quickdraw-dataset). + +Each numpy `npz` file has a `train` and `valid` entry, each of which is +an array of stroke-3 data. + +``` python +# download a dataset +!wget https://storage.googleapis.com/singleline-datasets/v1/epoch-20231214-trainval.npz +``` + + --2024-03-09 21:50:41-- https://storage.googleapis.com/singleline-datasets/v1/epoch-20231214-trainval.npz + Resolving storage.googleapis.com (storage.googleapis.com)... 2607:f8b0:4006:81e::201b, 2607:f8b0:4006:81d::201b, 2607:f8b0:4006:824::201b, ... + Connecting to storage.googleapis.com (storage.googleapis.com)|2607:f8b0:4006:81e::201b|:443... connected. + HTTP request sent, awaiting response... 200 OK + Length: 16584598 (16M) [application/octet-stream] + Saving to: ‘epoch-20231214-trainval.npz.2’ + + epoch-20231214-trai 100%[===================>] 15.82M 46.9MB/s in 0.3s + + 2024-03-09 21:50:42 (46.9 MB/s) - ‘epoch-20231214-trainval.npz.2’ saved [16584598/16584598] + +``` python +import numpy as np + +ds = np.load('epoch-20231214-trainval.npz', encoding='latin1', allow_pickle=True)['train'] +print(f"num drawings in dataset: {ds.shape[0]}") + +ds[1][:5] +``` + + num drawings in dataset: 2400 + + array([[0.0, 70.17511113473614, 0.0], + [3.5628420515071895, 10.158300414396564, 0.0], + [3.9570533499574054, 6.056198233013305, 0.0], + [-0.7156819364732456, -3.692830289126249, 0.0], + [7.309693891169843, 4.8343845911431345, 0.0]], dtype=object) + +#### Stroke-3 Transformations + +It’s helpful to convert back and forth between the formats **`deltas`**, +**`points`**, and **`strokes`**. + +**`deltas`** is what I call stroke-3 formatted data. It’s one list of +entries with the following format: + +- `delta_x` +- `delta_y` +- `lift_pen` (`0` if pen is down, `1` if the pen should lift and start a + new stroke) + +**`points`** is like `deltas`, except with absolute coordinates instead +of deltas. This is helpful for understanding the upper/lower x and y +boundaries for a drawing. + +- `abs_x` +- `abs_y` +- `lift_pen` + +**`strokes`** is a list of lists of coordinates. Instead of needing a +`lift_pen` column, each stroke is a separate list of absolute +coordinates: + +- `abs_x` +- `abs_y` + +`singleline_dataset.transforms` provides the following converter +functions: + +- [`deltas_to_points`](https://singleline-dataset.andrewlook.com/transforms.html#deltas_to_points) +- [`points_to_strokes`](https://singleline-dataset.andrewlook.com/transforms.html#points_to_strokes) +- [`deltas_to_strokes`](https://singleline-dataset.andrewlook.com/transforms.html#deltas_to_strokes) +- [`strokes_to_deltas`](https://singleline-dataset.andrewlook.com/transforms.html#strokes_to_deltas) +- [`strokes_to_points`](https://singleline-dataset.andrewlook.com/transforms.html#strokes_to_points) +- [`points_to_deltas`](https://singleline-dataset.andrewlook.com/transforms.html#points_to_deltas) + +``` python +from singleline_dataset.transforms import * + +points = deltas_to_points(ds[1]) + +points[:5] +``` + + array([[0.0, 70.17511113473614, 0.0], + [3.5628420515071895, 80.3334115491327, 0.0], + [7.519895401464595, 86.38960978214601, 0.0], + [6.804213464991349, 82.69677949301976, 0.0], + [14.113907356161192, 87.5311640841629, 0.0]], dtype=object) + +``` python +strokes = deltas_to_strokes(ds[1]) + +strokes[0][:5] +``` + + array([[0.0, 70.17511113473614, 0.0], + [3.5628420515071895, 80.3334115491327, 0.0], + [7.519895401464595, 86.38960978214601, 0.0], + [6.804213464991349, 82.69677949301976, 0.0], + [14.113907356161192, 87.5311640841629, 0.0]], dtype=object) + +There are also helper functions for applying affine transformations to +lists of `points`. + +``` python +_ = apply_transform( + points[:,:2], # omit the lift_pen field to run affine transforms + scale_xform(sx=2, sy=2).dot(rotate_xform(45)) +) +``` + +There’s a helper class to create a bounding box, given a list of points: + +``` python +bb = BoundingBox.create(points) +bb +``` + + BBox((0.0, 0.0), (39.35575901061327, 200.00000000000003)) (width 39.35575901061327 x height 200.00000000000003) + +``` python +bb.area() +``` + + 7871.151802122655 + +``` python +_ = apply_transform( + points[:,:2], + + # affine transformation to scale the coordinates down to a range between 0 and 1 (preserving aspect ratio) + bb.normalization_xform() +) +``` + +#### Displaying Stroke-3 Data + +``` python +from singleline_dataset.display import * +``` + +``` python +plot_strokes(strokes) +``` + +![](index_files/figure-commonmark/cell-16-output-1.png) + +``` python +transformed_points = apply_transform( + points[:,:2], # omit the lift_pen field to run affine transforms + translate_xform(tx=100,ty=0).dot(scale_xform(sx=2, sy=2)).dot(rotate_xform(45)) +) -Fill me in please! Don’t forget code examples: +# add the lift_pen column back in after applying transformation +transformed_points = np.concatenate([transformed_points, points[:,2].reshape((transformed_points.shape[0], 1))], axis=1) -```python -1+1 +plot_strokes(points_to_strokes(transformed_points)) ``` - 2 +![](index_files/figure-commonmark/cell-17-output-1.png) diff --git a/nbs/index.ipynb b/nbs/index.ipynb index d5e0d79..0f3cfbc 100644 --- a/nbs/index.ipynb +++ b/nbs/index.ipynb @@ -6,8 +6,48 @@ "metadata": {}, "outputs": [], "source": [ - "#| hide\n", - "from singleline_dataset import *" + "---\n", + "skip_exec: true\n", + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# singleline_dataset\n", + "\n", + "> Processing Single Line Drawing Data to Train SketchRNN" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Install" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```sh\n", + "pip install singleline_dataset\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Usage" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Converting SVG's to Stroke-3" ] }, { @@ -15,52 +55,311 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "from singleline_dataset.transforms import *\n", + "from singleline_dataset.svg_files import *\n", + "from singleline_dataset.strokes import *\n", + "from singleline_dataset.display import *\n", + "\n", + "# maximum number of points when discretizing the paths of the SVG file\n", + "total_n = 1000\n", + "\n", + "# minimum number of points in a path, discard any paths with less points\n", + "min_n = 10\n", + "\n", + "# process the SVG paths\n", + "rescaled_strokes = svg_to_strokes('../data/svg/0008.svg', total_n=total_n, min_n=min_n)\n", + "\n", + "# recursively join up any paths whose start/end points are within a\n", + "# distance threshold of any other paths' start/end points\n", + "joined_strokes, _ = merge_until(rescaled_strokes, dist_threshold=15.0)\n", + "\n", + "# recursively splice up any paths whose start/end points are within a\n", + "# distance threshold ANY POINTS WITHIN another path.\n", + "spliced_strokes, _ = splice_until(joined_strokes, dist_threshold=40.0)\n", + "\n", + "# convert the strokes (lists of lists of coordinates)\n", + "# to stroke-3 format (list of coordinates + lift_pen field),\n", + "# and apply RDP stroke simplification to reduce the number\n", + "# of points.\n", + "deltas = stroke_rdp_deltas(spliced_strokes, epsilon=0.5)" + ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# singleline_dataset\n", - "\n", - "> Processing Single Line Drawing Data to Train SketchRNN" + "Plotting each of the various transformations helps to explain what's happening at each stage of path processing:" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAASUAAAEeCAYAAADM2gMZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAAsTAAALEwEAmpwYAABU7ElEQVR4nO2dd3xb1fmHH9nOTlBCGE5wgsEBLOASsylgIDZQwGKVFrGKgJYfpmaLtmKUHqAUARXbxaUssVVmqcy2DJhRtuECMlCDAyZxWInITmzr98d7b6w4HpIsJ45zns9HHN917lGCvznnPe9wJBIJNBqNZqiQs64HoNFoNMloUdJoNEMKLUoajWZIoUVJo9EMKbQoaTSaIYUWJY1GM6TIW9cDSJVCf+1WwBnAtsBTwCMtgYrF63ZUGo0m2zjWBz+lQn/tDEiY5+c9NvqNzu15u3M7OshdCDwIqJZARdu6HqNGo8kO64soFbgcs1ueGXVRLsDCxJj2Fzt3ybuv/SDeS2y7APgjcEdLoKJzoO8yQsbGwKbAZGCB6TU/GWifGo0mdQZsU4oVu3aOFbsqsjGYPli8jBGxmnY38xITF0xwLM07Ovc1Hh15OefnPToxl45/APWF/totM32BETKmGSHjOeAHoAl4DfjYCBkXZek7aDSaFBjQTClW7BoJvAvsCJzoaoo9mK2BART6a3cAzgJOBsZap29pGX1CNXB6IsEFDgeO9zpnrDxtxe9HLGBCHKhsCVQ8nM57jJBxIlANOIFlwDfAj8BugAM4w/Sat2fnW2k0mr4YqChdAfwJaAZ2cjXFlgx0QIX+2tHAEcDvgP2TLr0A3AQ8s2qZppzlwH3AlKbOaT8cueLKycsZCXAd8MeWQEWfX84IGQ7gSuAS69R/gP8zvWabdb0SuA1IAIeYXvP5gX4/jUbTNxmLUqzYtQvwFrIE3N/VFGvIdBCF/tqxwF7AccCxyIwFYDFwL1DdEqj4uMeHlbMA+C+wRVPntLcPXXH1zgly8oAaoKo3O5MlSNcD5wEdQBVwu+k1E93us4X3XWD37tc1Gk12yUiUYsWuccA7QDFwi6spdk4qzxX6awuAnYHNgc2AKcDuwK6s7p7wPnAXcG9LoOKnfjtWzpnAq8D4h9tn/cXffvrvgVHAP4Aze5oxGSHjL8gMaSVwnOk1H++payNkjAFmI8bvg02v+UIq31Wj0WRGpobuGxBB+gTwp/FcBeJj9E/gKsRetKc1jkbgGmDHlkDFLi2BiltTEiQAFf8AWbJxXF69EzgMsQ2dYb1jNYyQcQQiSJ3A0b0JEoDpNZcCN1qHZ6Q0Ho1GkzFpO0/Gil1HAKcDy4Hj07QjNQFPA99an3nAR8B/Uxag3rGXj/u0BCrOKfTXngo8BNxQ6K/9pCVQUQdghIwtkSUhwEWm16xNoe+5VrtygGPUaDT9kJYoxYpdExHDL8BFrqbYh+k83xKoeBl4OZ1n0uBtq52Jcua0BOIPF/prDeBi4L5Cf+0OLYGK+cAvEZvVc1izqxTYyWrT+r4ajSZ90l2+XQtMBd4Abs7+cAaE7TIQR8Vt4/afEH+jKUDQOmcb0d9IxWhthIyJwJHWoRYljWaQSVmUYsUuF7JsWwn81tUU6xi0UWXGdKv9yj5h7bz9Bllqnlrorz0IGGddHt1fh0bIyAHuB7ZCBKkumwPWaDRrks7y7UKrvcvVFMtq6EV1ZTQX2B7YA3FYzKXLjnNfVU3Z/1LoZhur/Tr5ZEug4tNCf+3lwF+B6xIJx00ORwLgj0bImGt6zb5mfH9AjPPzEYP4slS/k0ajyYyURClW7JoK/BrZrfpbtl5eXRm1Z18nI7FmPXEGkJ9Cd7+22p5sVjcgzpgzFzVdtXz8tlde7chdetGo5Tk3nXhx2a9mfjEmmJtwfI+EmHzpC0ds8fmlPQbTa36RynfSaDQDIyU/pVix6zfAHcB/XE2xIwb60urK6E7INvusFG5/AJgB3FlVU/bPHu9Qzq0Qr/IVQAEq/n33Wwr9tacBd9rHeRu9z5ajnuKwtzbrfut8xPHylnsOm/00UALsYnrN91MYq0ajGSCp2ZQcObtZP70ykJdVV0bHV1dGrwPeQwRpOeKzZDOf1Wc685DZyp7AzdWV0WlrdKqcoxDBdACP9CRIFvcmH7T/tPObi36o+KZpo+m0jp66oBPHW0ALMAm4CJg983PnJtbtASNk7IRGoxl0UpopzT7jvoWOsZuMd+TmzXbkjf4SsdvcWBAofS/VF1VXRjdHDMU7JOgAclY6cCwBTgVOQMSnqqqm7O/Wvf8C9uvWzfVVNWW+VUfKmWvd9wugDfgZKt7S2xgK/bXVyDLu1ZZARWmhv3YzJFRmS+CMlkDF7UGP+2eAz+rT0bDT90ubCxaPQeLf7gDOM73mgGP8NBpNz6Q0U3KMGDsmZ9R4HHmjtwQOQOw3b7f6G25q9Tds1N/z1ZXRfMRjeweAhc7PiE8yR3TkLHMi8W52oOsvqyuj46pqyuYhBubkWVMCcbQUlHMP4HVEPOLAz/sSJIuLgIXAvpbf0rfAPda1AgBfOPKGLxz5JXABwL4fTs7d+ptxjwLtiP3rdSNkbN3fd9ZoNJmRkigtrrvso0VP+1jeFPEAByKG4wRwDvDfVn9Dr9vr1ZVRBxLhnw+wbPS3LB/zHStH/tTZPmLR2cDxwDPIUm4W8EV1ZfQZZOlmZwn4GNi7Kv/oEMpZinLeC7yJ7NbNBQ5Dxfv1IbK8xu20JidZ7UKrndDt9puAWx04Ru73wSYbI/F5/wNmAu8aIWOH/t6n0WjSJzWbUqJzTmLFQlY0PbW0IFBaVxAovQD5JW0GXMC5/fQwH6AjZ3nboo0+XyGnOqsuuOnYW6tqyjqraspagUNyWNmIBOoeAox10PHJZnmf1/x2sxNvqco/+tdAK2LX+jXiL3UNsB0q/noa3/kBqz2h0F+bg4ghdPNb8oUjCboM45uYXtNE3BWeByai4+A0mkEhVT+lL612VyTnEAWB0g9a/Q1nIr+kl7b6G0IFgdI1cmVX1ZQlgP2qK6OOHzd78y7gFOBZHPwDQCk1HtiKfCbOSry+PK99LI6OURSN+JDNc+dsj/gvJdMCPAL8ExX/PK1vKzQg4jYd2VmbYp3vKc+3XZhgLIDpNeNWKpODgZ9n8G6NRtMPqXp0/9tqT4gVuxz2yYJA6QvI0ms8cExfHVjitMg6zAPuUUo1I8unD4En6h177/nCiBKeH+3itlwPN3Nq5+Mc8t2blLy8iLGXI2lOtkbF/5ChINle3vbMakfEyA1JnuAAQY97DHC5dZjsNPmmNeZtjZCx5m6gRqMZEKnOlKKIjWcbZAnzdtK1D4BD6Yop64vbkFQiByadW47MxL5AUtBuguRbmvEjEyf8yMRNP8S1/zPM2gMRkX+h1NNKqUVkju2RvgNSsgmSRCnocU9DZmN7IkJ6YdKz+yL2pxWA3oXTaLJMSqLkaoq1x4pdDyO2Iy+ri5L9izl2jQe7oZT6RCnlRxK9vY4spT5USq0RR6eUykMEsBzJj7Q3Mhs7BliulHoBeAJ4SCm1NJXvkcRnVnsoYFjf4e2gx52D2IquQYRnNnC4LxwxAYyQMQpxrAS4yvSaP6T5Xo1G0w8pZ56MFbtmItv6C4CprqbYUoBWf8PlwGXA3woCpb8fnGGCUmoaIkjHIqlz7WXkl8BZSqmnU+2r0F97JvD3pFN3n/3lbX9G8n3bO35PAmf4wpFvYVX63DuA04BPgZmm11yORqPJKqnGvjkQPx2QnaejgQdb/Q0OxM8IJB3toKGU+hoJTblRKTUFOBxZChpArVLqQcCrlGrvvZdVrOZndNC3L36MpOCdjCSfqwIes3bgbM5FBGkpcKIWJI1mcOhTlGLFrsMQb+tyVg+K3dxq90dsMnOAVDI4ZgWl1FzgdqXUXYiv1BXWOJ+jWzhJL0j4SCJB+ff17xQv/twOMn4WONkXjnyXfLOVrdLOx3SK6TXfHfi30Gg0PdHf7ttTwImsLkg/ADWt/oYcRAwA7iwIlKYyQ8kqSql2pdT1yMwG4GKlVG4Kj/49J9Fx2ylf3/fE9os+3Q3JfnAxUNFdkCx+QgzbIIZ9jUYzSPQnSrnIdr29W7USKLfsSZVAKbIrd+NgDTBFHkT8l7YDjurv5rO/vO39qpbbp0zoWHw0st1/tC8cudoXjvRYjsn0mvORZG8AZ2dlxBqNpkdS8VPaCXFg/Ak4ytUU+6DV3zAN2aECqCoIlP44WANMBaXUSroM1wen8EgQEa/5QLkvHHkqhWdusdoT0h6gRqNJmVT9lJqAo11NsSbr+GbEYfKJgkDpY4MysvSxl1Xb9XVT0OM+E7FDrQCO8IUjqYao2F7tIzMbnkajSYX+RKmgw73/ns7c40scjpxbWv0NmyGxY0chToVDaSlj+x5t29sNQY/bSZfB+nRfOJLOjqEdG6dT4mo0g0ifojTn7yvijo6X7lj047xJU8wzyG0fB13lhv5UECj9ZtBHmDr2EnJiH/d4gDFAvS8cSWWXLhm733QdNTUaTRr0Z1PyJ3JXTloxbu68nPYxyeebgVv7ejDocTv6uj4I2Fkiv+3jntOs9q4M+redKrU7gEYziPS3fLsQYPy3u/7ZQU5N0vlbk10ArODVo4B9EKO4C9gs6HEvRBKwfYv4ED0KfNDNKTFbbGq1PW3pE/S4RyP5lyCzmDXbgP5cBs9qNJoU6W+mNAp4aLPPjkv2Xl6Cla0x6HG7gh53NeI8+SDiLzQL8WvKQYJ0pyMxbJcgXtNNQY87OSA3W7is9uueLloVSq62Du8PetxHBj3uEWn0b8+Unu/zLo1GMyBS2X0LI4nXbG4Pf3nNSjzXXIOkjLX7eAeJrDeBGCJU4xFhmoGkrf0FYoh+Puhx/wW43BeOZKuo5QFW21dxg0sRwTwNiW37Kehxv4hU/P3S+jT5wpHVZlJWUUp7JtaSpfFqNJoeSEWUFiIpPAB4pe2RlxBnyul0JdO/xReO9JSO9kfr8yXwQtDjPhsRhsuQktrFQY/bM9DlnFLKQZcovdTbfb5wJBH0uM9AZlMeoJgusbRZGPS4a4AbfeHIHOvcBCQAeKHpNYdaZWCNZliRiigt/b/dx0wc1QlHN81p+G7pF/9CfHXeByp94chbqb7MF460Ayrocb+CpB35FbLsezL9oa/GTCRZ2/fITK3fMVjjKERsRTsgpbm3QYTq98C5QY/778BFHLYqLYvDCBljdTUTjWbwSMWje/P3Ns6b+MYmeURXvrMvIki3AnukI0jJ+MKRKDJjArgp6HH3m4upH+wiAOGecjP1MY4WXzhyuy8cOdcXjhzhC0dcSHbLR4ERwHnAWyc/M30SIsLjkVLeGo1mkEhFlIpGL1syG+CHSZs6gD8C51gzjoFwG5KfaTpStjttCv21OVv7/3Pk08uLz16UGAld8WkZ4wtH3vGFI79CxOlzwMhJON7Z+dOJdhjLH62sARqNZhBIRZS2WTZ67LsAn229w/u+cOTabGzpW6Jmlzuakc6zhf7acYX+2lMAs5OcJ79NTBj5UXv+AiR/dlbwhSPvArsgy8wxM5ud+yBG/9HA362kbxqNJsukIko7Y9lp4httvFV+fWP3+mgDwa4gkt/nXUChv3ZKob/2hEJ/7WOIL9LdwPajWLlk97yvmJk35xalVFb9n3zhyCIkpQnAURvHR/wRybx5GF1LRo1Gk0X6E6UEUPJA4pgWJLPkRKRKbLawQ0OSXQ4o9NfmFvprZxb6a88s9NfeX+iv/QJxMXgA2SkbA7w5hhW/O3bUB7k75M1LjHG035HFca3CF440IXF1E494beo04Hzr0k1GyNik9yc1Gk0m9CdKTYhhe2cgYJ27IL++caCGaZudrdYOpqXQX3sWklKkEUlHciKyM7YQqbR7LjC9JVCxl2f0ByNyHYlRQJ1SarUSSdki6HFPQnb2EogrQQioAyYB/sF4p0azIdOfS8BLiKe0G/ErakQKOAaQ9B8ZY8XGHWQdvph06UTEL+hrpNrJ68BrgNkSqFi1s2b5JlVah8khMNnmOMSz/UVfODLbBxgh4w9IDNxZRsi4yfSaPXqRazSa9OlPlB4HzgSOaZtVcml+feNpwFvA2fn1jf9pm1XyQk8PBT3uGUipojHIEm1+Ujsf2GPJ6HG/WTlihMu5cEEnqzs82iEtJ7cEKpLPd+dARDDbkLS9WcdyVbjAOlwVxGt6zfeMkBFGHDDPT7pHo9EMkP5E6WVERIrrokUz28qa38+vb1TAX4B78+sbd22bVWJ7PRP0uLdD/I9OoI+lYQJ4ofRwWqbNSOze+Oqtj/3xwgVJl+18RWPWfFJQSo0AbrAOb7EyTw4GVyM7gx8D3ZPZ1SCiNGuQ3q3RbJD0KUrlZc0r66JFDyCljPzA8Uga3IOQANVH8+sbZ/2+5lIHsrz7g9VnOxK02whsjJQummR/3tx5v9GfFe24C4nE4tf2OPCmbq+db7Ub9zG03yFe2F8A16f2VdMj6HEfjCxR25EKJyu63fIWkrN8JyNkbGR6zZ8GYxwazYZGKmEm1yJLMU9dtOjytrLmpvz6xmORANyfjV/802MdjpxtchOd29IVC3eVLxxp6amz/PrGGYhYgcNR1Tar5Itut9j5kDanB5RSBvBX6/BcpVTWM0EGPe7d6ZoZXekLR97rfo/pNZcYIeM9JC5wN6S0uUajGSD9+imVlzV/jfgEOYCb66JFOW2zSr5FClIuWzRuo4qnDj5u25V5I2LAPr5w5PQ+BGk7xKg9DnGcvK+H2+ZZ7RqipJTaGImTGwvcp5SK9Df+dAl63NsDzyAhJQ8iS9XemGu1zmyPQ6PZUEnFeRLgciTY9SCs2K+2WSXvAgeNWLlixf+22p5/Hn/+yOsq/zI6v76xR0/n/PrGnyG7aFsintdnts0q6cnZ0bYPrTY2pVQOEkayNRKHdkaKY0+ZoMe9M2J0nwxEgFN6K7vUbay6mIBGkyVSEqXysuY5gNc6/EtdtKgCoG1WyatHPP/QXRMWxVk8bqMiZAnTmF/feE5+feMx+fWNB+bXN56SX9/4CrK1Pxl4Gihvm1WyoJfX2T5Q3SPxLwIORXbxjlZKZTVXdtDj3geoR/ImPQsc6wtH+jOg2zuF07I5Fo1mQybVmRLlZc1PI0buXODfddGi3wBs/fXntSc/Ws0e77+ygERiHlJY4CYk0v4FZOlXiojMjcBRbbNKFvfxqvFWu0qUlFLlSDXeBHCiUmp2quNOBcuo/TyyDHsEONIXjvQuesq5CcrpAP5jnbnECBn9hspoNJr+cSQSqYeL1UWLHMCVSGpbgGsXfDHhzy0vFHwIbLN01NiTbj314lxkm3wisBGyxHkE+FfbrJKFffVf6K/NQbbfi4FjWgIVjyulZiDLvY2BK5VSl6XzBfsj6HEfAzyEpCq5Gym91Hf6E+V8CxjXCTX7T9/iiAW5uQci3zOGVBSOAI+YXrOvpZ9Go+mBtETJpi5adAYSApIDfNDy4tSnFjQ7/wT8D9jbF470mLy/Pwr9tYcgRuZWYOtTRr89HvgvkkK3FjgynXxJ/RH0uE8B7kS+x42Arx8bEijnZkjhy3yAdpi7R+G01pUOx27IZoBNO+I28CwSN/iyFimNpn8yEiWAumjRPsC9wNaJBCviX05Y/O2HG09aMm/Me+Ao84Uj8XT6K/TXboLszM0E/KeMfvtuZHm0B5KlYB+lVJ8zrXQIetxn0VWK+3IkX3hqfxjKOQLx3boeicmbbGw1fRSwI7AvsmM3qttTTYgz5kOm1xwsZ0+NZr0nY1ECqIsWTQD+BvyffW7pD6OY9/7kzxc0O92+cOSz3p/uotBfOx0pXVQMfFk24vPjp+cueAgJxP0K2C9bdiQr5u4i4CrrlM8XjqTvgKmclyDicx8qvlqSOiNkOBEBOp01fcFagAtMr/lE2u/UaDYABiRKNnXRoq2B0xOdnO7IYfIXzxbw0+wJy4E/A8G+slQW+msPRiLv8x10xo4c+fFLE3OWeZFduHeAw5VSbb09nw6WIF0H+BCj+Rm+cOSfaXeknLmI7Ws7wI2K1/Z0mxEyChHxO8E61U6XSP0bOFsH82o0q5MVUbKpixaNXLEw77jYw0Vlic4c24XgFeBXvnBktcq17kvu2Ki5Y/KNSxl5KsAkx5JvDxnZtNEoR8do65aHgd8opbKSpN+q8fYP4FTEKH2SLxz5V0adKacXCaOZDWyLincPQVkNI2TshtjgdrdO2eK0EAllCZleczAKdGo06x1ZFaVkrG32e4ApSBqSXyx07TYSCaSd/vyKbfPndDpx0MnOeXPYMXcuOWImfhL4i1Iqa+Wxgx73eOBfiJ/TUuAXvnDk2Yw6U87RwKdIbnEvKn5vKo8ZISMXcfi8GtmVXEpX0PFTwOmm1+yr5LhGs0EwaKIEEPS4pyAxZD8DFi0pmHFSx4SJTwJ83eHsfLN9eufeebMbp+b+9DqyHGpQSsWyPIapyFJpN8Qr/XBfOPLfjDtUzvMRA/dHQAkqntZuoFV04GFgL6ATccAcg6RgOcH0mvUZj02jGQYMqigBBD3uUYgwVSRycp9ctN3O1yHG67n3LNs9tyVQ0efSZ4Dv3g0RpKlIRoFDfOHI5xl3qJxOoBnxTD8cFc8o9s4IGSOQGZPPOjUXmVEmkJ3AK7X7gGZDZdBFCSDocU9DtsTHAgf7wpEek8Nl+Z2/Bm4HRm8xJv7+3pvOvnD6dV8NLJJfOa9AUrS8CuyHig/oD88IGccjyeNGI/ap6Yiv02PAyekUvYwVuyYhTqvzgZdcTTFto9Ksl6wVUQIIetx+ZHZQ7wtHygbxPeOQYpmnAOzobHv24CmfH+hw0AFsh4pn5lqgnGOAb5CcUKWo+KvZGK8RMnZHZnNTkBnkRMTm9DZwuOk15/X+NMSKXUchFX33oitsqA4419UU+zgbY9Ro1iYpx75lgdsQ+8kBQY97i8F4QdDj/hniRnAKsKxk0py/Hjzl8/0cDvIQZ8aB5BX3IIL0drYECcD0mm8jOZk+RmZKK5DKLbsDdX1VTIkVu7xIyuK9EfvUK8hMqRz4IFbs+l22xqnRrC3WmihZHt61yPLkuGz2HfS4xwc97huR1CjFQKxo/A/l5fnNZzgcq7IOgMS3ZYpdpOC2AfTRI5av0r5IloJNkJlSC5Jd83kjZEzq/kys2HUqXXmurgA2djXF9ge2QdwPcoG/xYpdOoOBZr1ibc6UoKusdmXQ484daGdBjzsv6HGfjpTXPheZLQSAXY6a9kk5YpBuoKtaymsZvUg5t0RmM4uQKrlZx/SaCxCXhX8hmRKmIgbwnYFHLJcCAGLFrp2RDJ8OwO9qiv3Z1RRbCOBqiv3gaopVIUHQY+jyXNdo1gvWtij9B9kFm4EUlcyIoMc9Muhxn4xE5N+OBMe+DezhC0cu8rkacuhaqimk/DbI0i4TjrLaZ1DxrDhz9oTpNZcjedBvRRLHTUYq8pZjVeqNFbscwM3I393NrqbYNb1050eWgr+OFbu2GqwxazTZZq2KkhVucp11eHnQ456czvNBj3tq0OO+BFnahJASS18iy8E9k3Jpe5Bl0DvIkqjZOv+rDId+lNU+meHzKWO5ApyDBAuPRHbmEoAyQkYpcCyy1PsO6DWNi6sp9gUygwRZDmo06wWpFA7INvcAFyKC8lrQ4z7UF4582dvNQY/bCRwO/Bqp9WYL6UeId/gDvnBkebfHDrPau1DxhBU8+zxwEcr5NfAsKv5DSqNVzlGI8ydIGpJBx/SaCSNknIcY1k9CwlEmkEjcmIA8Kz/KJa6mWH+ZGDa1Wu0prllvWGsuAclYu29PI1kqv0eyVNYhydyciD1lW0SMZtFloF6BLAFrgLoeU40oZx4yi5gIFKHiX1jna+kSq04k11ELXQUy7c8CJJ9TDBX/CeXcwxpXDBXfPit/ACliOVm+iqRvWVo0JzHm6lAHyJ9Zgasp1l2MVxErdo0H4oiIj3Q1xXS6FM16wbqYKeELR74Jetz7IWJ0ILKzVdnL7Z1IUcyHgbAvHJnfy302uyGC9L9VgiQci6QSqUBq1u1lfXpHZlX27lVjP+/NOqbXXGmEjFORQgljyj9Y5eR9b1+CZPFrRJBe04KkWZ9YJ6IE4iIQ9Lh/jswCyq2Pgcxy5iCzlXqg1heOfJ9G1wdYbd1qZ1V8MZJd8kaUcwKyJNsUWSJtjAjZROt4K8S1IHk7/XiUsxW4DBXPeq253jC95idGyLgqtyNx+e6fycSwfidHrauPZyxjuG3ov3mwx6jRZJN1snwbVJTzGeAQ4HhU/OEB9JMLFCEZAZJ5H/Cg4pnH0KWJETI2A74ZtzSRt1NLgjdcOSeZXvOB3u6PFbsqkDzh3wBb6ZmSZn1ibbsEDC4SClJqHb08sL7iHaj4Z0gqXpBS4V8gfkPvopwlA+o/DayUJv9ePMbBG64cgF7DdKxZ0pXW4fVakDTrG8NLlMQwPg54BxWf29/NKWK7LUQQf6d/AxOAOy2j+toiObvlcUbI2LSX+45GhHMug+B9rtEMNsNNlE6y2p7KgWeKnS/JgYrHrXd8hQjUWVl8T3/MsdrvkWwL5/Vy3/FWe62rKZbVgp0azdpg+IiScm6ChGl0kN1QEFuUZFak4ouAKuvclSjn2J4eGgTsmd8iqz3XCBm79HCf7SjZNPhD0miyz/ARJfHizgOeR8X7TPeRJvZso0t8JLnbe0iM2r5ZfFdfTLTaH5GZ4DjgGSNkzOh2n51iV8+SNOslw0mU7KXb/X3elT62O0L3FCK2y8Gg5Ybqxp5W+xbwW8RDfTMki0Cyfcme2Q1KehiNZrAZHqKknNMQR8jFiCE6m9ii1N2wbIvS/ll+X2/YovSm6TVXAMcgsX1bAY9a3t8gWQZg7dq7NJqsMTxESRwvAaKWk2Q2sW0507udt/2XBn1GYoSMMcDPrcMGANNrLgKOtMa3H3CTdf1eJFTmZ7Fi155oNOsZw0WUDrTaF/u8KzNsP6Wdup3/0Wo3HoR3dqcCsV+9Y3pNO+MBptecg7gALAfONELGDq6m2GKkvh3ADbFi13D5O9ZsIAyX/2EPsNq6vm4CQDmnoJznopzPo5wnptD3B1Zb0u38QqSo5Dgrk8BgYo/zwe4XTK/5JhIXCOLJDpILvQ0JpTltkMem0WSV9V+UlHNzZAm1EOi9ZpxyOlDOABJTdyNwELJj1x8mYjzeAeXMTzrvoOvPb9BidYyQsRVwBFLVt7ewmees9ucAVkqTC6xz18aKXZsN1vg0mmyz/ouSeC8DNKLiPddKU04HMnv4I5J1wLYT/a/f3sUvqRbJeX1S0pWNkD+/Rf2V7R4g51jvecj0mr15qdsFLJNtSA8DLyABxjet8YRGM0QZDqJk23re7+OeSxFBakd2rWzbU6rVeO+y2t+gnPafmR1+klqyuAywtvp/ax3e0Met85DZ3EZGyBgJYNV9OwNYAhwXK3a5B2ucGk02GQ6iVGi1zT1eVc7fIdU+OpGZzrOI5zeknrP7aSTMoxg42zpnZw/5Kq3RpodCDNxPm16zsbebTK+ZoEscV6UYdjXFvgQusQ5vjhW7Rg7OMDWa7DEcRMneql9THJTTgyThBzgDFQ8j9plNkKIDjSm9QcVX0hVacg3KuTNSaw3g9UwG3R9GyChGZjqdwB96u6+6MlpUXRn9xx5fVXyFBA13rxJzCzIj3Apt9NasBwwHUbL9hFpXO6uc2yH5wB3ARaj4HdYV+xfzjrTKbqv4k8gybhQSYnKRdeWNDMbcJ0bIyEG29XOBO0yv2Vel2+2B/9vlm4M3r3zjpl+YXnO1PwdXU6wD+LN1+KdYsWvMGj1oNEOI4SBK46x24aozkqDtbqQSSAi4xjrvoKsIwGMZvOs84CngJ+v4B6QqbbY5F3GInEfX8qs3apHg22n0Xq3lMWQXcSqy66jRDFmGgyiNttrkFLVnI+IzBzgvaUY0GQlsXUjXDlzqqPhCVPxIVNxp9TMNFe8vZ3haGCFjR+Cv1uHpptfsMxVwVU1ZJxC0Dn9fXRl1dL/H1RTrBJ6wDsu7X9dohhLDQZRs461kWJRZks86V4WKL0i6d1urbU5r6dYTKh5HxbMaiW/ttv0HEdq7Ta/5nxQfvR/JbV6CFE7oCduxVIuSZkgzHETJjnWzU4scCBQgqWu7B+d+izg67ohy7rh2hpcaRsgYhSyzCpFqv1W93VtdGXVXV0bH28dVNWXL6MqOcEovj71ttS4rZa5GMyQZDqK0wGonWq3Xau9eYzak4v9DDMh5wG0op3MtjK9fjJAxGngcyS/+DXCU6TV7nIVVV0YvQGZTj1VXRpN32u6x2hOqK6M9hb3Ytre45cOk0QxJhpMo2YGxtjNl7Zq3AnAxMmPaF2hFOW9BOXewjOBrHSNkjEWM54chhvMKK9B2NaoroznVldHr6LIfPV9VU2bnTqKqpuxD4GNEnHvKDjDozp4aTTZYZ3XfskgzkmjNhSQ+m2Sd79lArOLzUc4K4Fqk+u5Z1mcByvku4r80F9n5+o6uqrkLgO9Q8Y4ees0IyxcpjAjpt0C56TU/6n6fNSO6A1matQOnVNWU9VRiqR7YAcnx1H1X0M5Q2ZaVwWs0g8RwEKVGqy2xWluUet8VU/F3gDKUcycktqwCyKerKGZvtFtVc1uA/wJPAm+nazQ3QoYD8Ze6GbGFfQ4cYXrNNfJqV1dGRyDpbz1IyMgvqmrKnut+n8XLiMDuT1eZJRu7ZHk0nbFqNGub4SRKP7OWYAuRPNWFwBqzjtVQ8Q+xY8uUcwtk58qFpJm1P/b2/yQk++RW1mcW4kD5Dcr5d+CaVGZRRsjYB7geqQwMIjhVptdc2P3e6spoHjKTOtr6XodW1ZS91kf3dthMcfJJy7Btx771tqzVaIYEw0GU3kGWPtsB+yC/dKciWRn7FqVkVPwbxMjcezpdKXY5DdgGyV10FLLTdxVwMMp5Aiq+hj0IwKo8cikiMCDLqN+bXrPHnOKWv9HN1v3zgZ9X1ZS93dO9Sdj2okndzu+EhON8R+rxfhrNOmH9N3RL2hA7hOR3dInKUYPwrqWo+GeoeC0qfjbyi34YYn/aH2hEOfdOfsQIGXsYISMCvIsIzFJkabVNb4Jk8XvgTCSr5OEpCBJI+aUOYGx1ZTQ5+PYXVvuk5Uip0QxZHInEMNgdVs4tEb+kTmSG9C9kC3wGKt5z9oDsvn9zxE/oQGBZZ4LjSwqnz0nk8Ge6bDlLgBrgb33kRQKgujJajuRCAji2qqbs0VSHUl0ZXYAsOSdX1ZT9CBArdn2EGMAPcTXFerNHaTRDgvV/pgSg4rMRO00eIg52AGsq6W6z8f55wKHtnY47YvFNRz/QUvLEca2dbyKCtBiJvSs0vaYvBUHaHHgACSS+Mh1Bsuiq6AvEil0bI4K0hK5kcBrNkGU42JRs/EgYyRF0GZGPQ3IpDRpBjzsH2AlKD4PEoZYWkP/NCnKmLbyv0+G4oL/4NRvLjnQPsDnwEpmN3V6e2f/g2HmfYq6m2GBmyNRossLwESUV77AKATxOVyR8C4hw+MKRAdlSgh63AzEgT0d+0bcHZiJOmJZhWSYnC4vm5j+69fJJnQ7HTakKksXJiAF9PnBisnNkGtjrcVuU7J04XcZbs14wfEQJ7HzaB6OcudfH9j0pgeNYPO6vgIKgxz0XEanZiLF5JeKIaIuVA8lfNNL6jEXycDsRb+ipdJXE7s5XyMzmoXsPmd3cmcNn4FhG1zKyX6xlm53y9vyqmrIed/FSoLuR0PbkTkccNZp1xvASJYtgrHQEsiOX/P2mWp+9e3woNRYiyeSagE+sz+u+cKTFvuGekGFnurzf9JrL1uihd36PzLieRwpKZovPrXbbPu/SaIYIw1KUEOfGPOBrZCnXAkxBHCqnIdkj84AR2EYgoR1YYX2WAXHrMx+Y4wtH1nBwTMYIGRPpitJPuYKI5bX9a+vwsqqasoFsidpLPruM9ydWu/0A+tRo1hrDVZSKrDbmC0fs8tot1mcwORdxRajrKYatDw5BvMdjwFsDHMMCRIAnIrO6ZmTnbctYsavI1RQbfBcJjWYADA+XgDXZzmrX2i+gETIm05VcLt1dM3u38O0BzpKgK+ZvEoCrKdaOGP9BDOkazZBmuIrS7lb73lp85++BCcBzptdMN2/3E4iB+oTqyuh2/d3cG9WV0T2AXa3DRUmX7rbaU2LFruH6d64ZJgzX/0HtfEJvrsV32iXAu0fn90tVTdl7wJ3IcvrJ6sro76oro5uk00d1ZXRLRNxGIYnsGpMuv4TY16bTc64ljWbIMOxsSkGPezJi0F5Ml5F3UDFCRoH1zp+QlCaZcAliWyoGqoGbqiujbyOVfxuBL5E8T21IPNwk61NMl39TLtAAnJO8DHQ1xTpjxa4nkDQtRzIIZaE0mmwxHGdK9i7Tx75wJGsJ2fqh1GpfM71mRu+sqin7Fhn7r5EqvnY5qN8BtyOxcB8h/kYLEd+oD5DUJhXI8u8x4JiqmrKePLeftNqjMhmfRrO2GHYzJZLCKtbiO7eyWnMgnVTVlC1EYvfur66MbgzsgiSvm4mkSJlifUYCPyJG7W9HLl8Q3fmDm0ePWzLvXldT7Lteum9A3Bu2ixW7prmaYl8PZKwazWAxHEXJdhJcm2EVtld41lIuWBH+L1qfPokVuy5Cln+XxIpdNwJXuJpiq2XedDXF2mPFrteBQ5GZ3YPZGqtGk02G4/Jtc6vNNEwjE2wxGtHnXYNHsgCdB7wVK3b1VNGkwWpLe7im0QwJhqMo2btWazPW6wurPd4IGWu1bFOs2GXQ5X80F/HNmkFXYrdkbAP3rj1c02iGBMNx+WaL0qCXEmr1NziAPWup3rd20ivf/D0/vAVwNWKcHhQsP6PtgQOQPOFHIrtu3yJpgLcCbgMqgYe6PW57mbtixS6Hrv+mGYoMj8yTSQQ97k8Ru5LLF44Mil2p1d8wGrgQqUiyFUAHnT8dVXzu2ERn+6KOXMcM02umLIrWUusU4HxkCfgK4lv0DWLUHoV8p32sz8ZJj3e2bb75w6+W7ru0Iy/vac/D4ReQpet4oMjVFPsi6V5ixa5vkQII07WxWzMUGY4zJbuc9aI+78qQVn/DrkgUv+16MAcI55LzkKOjY0Yo2HHpiE5ujF3t+purKfZBX33Fil1jEGHzI7trNlvTe/ltkJi2l63Piy/POuBgJNXuSFdT7PFYset9xG40ja6lpc3niChtjThUajRDimElSlYiNtumszibfVtLNT/isZ0LfAacDdQVBEo7AB4obu9A4u62B06KFbueR0oofQh86mqKLY8Vu8YiAnQUcAFdhvmPrL6bkSIE+yFhK8uRrAVzgVetz1erLb2UKrF+arRaO5vBhB6+yrdWm5bHuEazthhWogRsnzd25biO5bltiY6cBdnqtNXfMBIJ3TgF2Wm7Abi0IFC6JPk+V1PsvVixawayDPsteaMOduSMODixYhFAR6zY9RNrlj96D/gr8ERSpZF3kZzjqVJitfbMzBalnozu9gaAFiXNkGS4idKszypmMnfiFpudmHPvP+uiRXcAb5aXNWdsOGv1N0xAYsrKkRQgxxcESp/q7X5XU6yl1d9wcWLF4qXkjTofR+7Iju8/XbLyi+iY9rYPJ5HoXIksv2JIXbfnB2JwVkptjjhZJuiaKW1mtQt6eMRe1o7L9J0azWAybEQp6HFvjCNx9lsb7c3XuYU5Byee+c1EFvwGiNZFiw4tL2tOO2l+q79hMvAMknVgHuAuCJT2Wsyx1d+wLbIbdr5j5Lgp1un2vE2Lx+ZtWkyis/09Otp/OS140Jfpf8NeORMxhj+llPrBqoY707rWk03LTum7pIdrGs06Z1iIUtDjHgU8TsKx7chvlsYpxPkeuz+3DZ/vDpQhy6ML0+mz1d8wCdkB2xEJhj2oIFDabF0bh+yClSApdqcAOyOVc23eQtKZfIL4EZ3vyMnbhZy891r9DacUBEp7r8SbIkqp0XS5H9j5vQuQ3bkfkd277tgzpKza3DSabDFcnCevQYzDc+dtusWdAE85jmlEAlU7AF9dtOjQNPssQwQJJCD26FZ/ww2t/oYGxIP6Oeu95wLHIoI0H6nZdjSwV0Gg9JWCQOn3BYHS65HZy3+QjJBPtvobTsrwuyZzJLKT9gGyEweSLQDg9V6WhflWO7+HaxrNOme9F6Wgx70FsoRJAEcuGreR7bW8X3lZ83+BP1nH/6iLFvUUetEbT9PlAX01cB0SwrEvsvv2DpKH+0LgBKQgwWYFgdKTCgKlTxYESlcThIJA6Y+IiFxqnapp9TcUMzDsvN53KaXs9x1htb3ZvXay2nTS9Wo0a4313nky6HFfj+x2PeoLR36VX984Hlm2bATs8kDimA8QA7AB/K68rPm2VPtu9TdsighPLuKP9A3iCvBKQaB0QSbjtVwL7kOq934I7FYQKF2Zbj9KqU0RNwGAqUqpb2PFrnHI7tpoYIqrKdaW/Eys2LU5ko8pDkzSHt2aoch6bVMKetwjgf+zDv8K0DarZFF+fePdyLLqrPKy5t/URYsuBx4FLq6LFt1dXtacUumjgkDpd8gsKGsUBEoTrf6GMxHnxp2QTJCvZtDVwYhYPqeUsn2PyhBBeru7IFnMstpGLUiaocr6vnwrRAy3s33hyPtJ5/+OLOe8+fWNuyJb+h8hRuB0bUtZpyBQupCulCQ7Z9iNHelfn3Suwmpre3nGXu49muE7NZpBZ30XJTu52mpVS9pmlXxG17LrzhMdj+UCD1uXKxga2CK6S4bP26LUkHTOFtw1RClW7MoHfo7Utnu4+3WNZqiwvovSllbbU+6kS5Gt/JlIOIj9i3pYXbTI0cP9axu7cu30dB9USjnoyrD5LkCs2FVg9RWn5youf0VEutbVFNMlvDVDlvVdlOwsAAcEPe7c5Atts0oWI3YlgLOv5AoT+A7xKdqSdY+dEC6d0t42eUgO73al1HLr3F5W+2ZSuAoAsWJXBZLWZDkSv6fRDFnWd1F6FYmCL0CMvN2pRWZLhU2OHX5OV4XcqWtldH1je1YvzeBZ27Uh2Ut9N6tdrcJurNi1P1113y5xNcXWZppgjSZt1mtR8oUjnUDIOrwq6HGPSb7eNqukEwmkBQmmtXek8ln32J7VmYR7rERmPWOVUnaJcvu77QQQK3ZNihW7LgOiiIPl88CNGY9Wo1lLrNeiZFENzEbi0+6w0pck84LVFtPlxTxx7QytTzJO22st2Wxj9ZlW+xDivV4RK3bFkDCTy5Fl3l+BCldTbG2VnNJoMma9FyVfOPIDcDgS/X4CEOgmTHYis2l0Rc9/SxrURYscddGibeuiRTvVRYu2t37O7f/JPhloLvFbrfY3SqlJrqbYPCSMJRcR4OXI8vYQV1PsEldTrH1Ao9Vo1hLrvSgB+MIRE/GQ7gD+ANxnBemC/NIvAyYuYcw061y/lU7qokV5ddGiw+qiRTWIsH2KxJh9bP38dl20qKckaqliLyF7q9PWJ0qpd5B4t4nAbdaO3BmIQXtPYCNXU6zU1RR7fgBj1GjWOuu1R3cyvnDkqaDHfTjwL0SgJgU9bndbOJLIr2/8CRi9jNGTx4pduVchqIsWTQJ+C5zF6tv1bdZzIxBB2Rn4Z1206PgM8zUVWm1Lnzf5a3OQGeBbLYGKz7pd/g0ilB4g4mqK3Q/ck8FYNJohw7CYKdn4wpFnAJ91uEfSpRUA7Yy0d6vWCMytixbl10WL/obMiq5FBOlz4M9ISaKp5WXNO5WXNbuQ7fdFiBgcleFwt7baHnMrFfprHYX+2kMRJ8v7gKu636OUagbOsQ6rlVJp+zxpNEONYSVKFnYoxd984Yg9g1kh/xlhb7+vShNbFy3aoS5adCsyY/Ehu2IvAm6guLys+Yrysub3kmdD5WXNnyLJ32D1hP8pYeVj2gJZbn7V/Xqhv3YC8CySqWAnRCgjvXR3N/AkEoB8p1JqOP6dajYghs3yDSDocU9FUossQ+LfbOLyn4lLCmgFaKiLFj2FCMo+Sfc9AfylvKy5J4/oVdRFi3LoCm7tt6x2D+yJ/IPwbkGgdLWMmIX+2tHAv63+5yMzpOqWQEWPTpZKqYRSqhL53gcidqWUMyFoNEON4favqh3X9jUwNul8G8ArlD2C7EiNQZZe+yBJ9msAo7ys+Rf9CZLFXsju2Wy6vMrTwRbC15JPFvprc4EwIkhzgd1aAhXB3gTJRik1D7GBgeR80mjWW4abKLUCnUgWyP8FPe4/Wu4BcwFedez/Y3lZcyliZD4P2amaWl7WfGZ5WXNKSc+suLkrrMNHMjRy29khu6csOQlJ0jYfOLglUNG9ZltfPIYUCthWKTUjgzFpNEOCYSVKlqF7J8RfZzwQAH6BbOGDFYpRXtY8u7ys+abysuZ7ysua0y1aeShS2WQBkpEyLVr9DTsgWSoX0WWXotBfm0dXlszzWgIVaWWGVEq1Iyl6AQ5Ld1wazVBhWIkSgC8c+dgXjhyBZKMEuHr0siV2/urygfRdFy3KA/5mHV5ZXtb8Ywbd2EnpHigIlCYL4olAEbLj92CfPShnAcpZinJ2916306Fs1f0RjWZ9YdiJUhLVyC/4Nmfee81uyJJoq/z6xoEsbfKQBGmm1X9aWDm5z7AO/9Htsttqr28JVPTsfa2c5SjnE4jN7BVWN9KDZEAAWcZqNOslw1aUfOHISqwk/XmdHachW+wgBu6MKC9rXlZe1nwZsHN5WfPyfh9IwnIDeBvxkbqnIFD6frdb7HQqZo8dKOeZyE7fUUlnx3a7y/ZT+hqNZj1l2IqSRQTxUdp50oLvHrfOnZxf3zigJG/lZc1pBba2+htGIG4J461T5/dwmy0os9e4opxFdC0bk3cHu8fw2f5X8wGUUsPK5UOzYTCsRckXjiwBXgccJz96Ww7iGrAtay57Bo1Wf8MmiAF6VQBvL5VQ7FnP6pV8xW50p3W9HanKgnWuewVc20blVEr9GXhFKTUCjWY9YliLksVrACPbV+wI3GWd++Ngv7TV3zC21d9wPlKwYFbSpd6yAtjLtpndzu+HFNoEsWmNAILA6ah4d3eEn6x2CnAa8DMkTEajWW/YEERpntVORpKcLQHc+fWNmVYR6ZNWf0Nuq7/hbCSm7Xpgc2S2Ns169yat/oaJPTxqL8u6FxLoXkn3H8DvexAk6Mp+sKP1XCdwsVJqv3S/h0azrtgQRMmemWzSNqvkO8R7G+DqgdqWutPqb9gG2RW7Gcnd9Dayq7ZvQaC0la4skyN7ePxNqz210F8r15VzNPCrpHt+Ai7tUZDkXjvt7cmIp/nVSJI3HXaiWW/YEETJriJrR+VfixiCf06WC00i2SD3tn6+CtizIFBam1TC2xajnnbu/oU4eW5HlyF8B5KCh4EaVHz15Z9yOlDOswFTccMPiHF/NFLB5Qok6Hd7pVQ6Jcs1mnXGhiBK7yLLmJKgxz22bVbJPLrSm9yUX9+YzXzddwCLrZ8vAR5r9TdsnXS9p4T/ALQEKlYgQgJwWaG/dhJrFjhYuNqRco5A/KVuBmYgs7JrrasXInmfvrGOV2UzMELGaCNkDMryVaMZKMNelHzhyELgQ8RIbOdYugeoQ+xMz+TXN07MxrsKAqW3IXF11yBLtaOBT1r9DVe1+hs2RURpGb2XVapDZnFjrbFN6XZ99KqflNOJVGs5E5l5nYiK362UagAeQYKOg3T5LE03QsbORsi4FZk9vmiEDD170gw5hr0oWdilrc8EaJtVkkCWbp8BJcB/8usbuzsiZkRBoPT7gkCpHwkKvg8RoouRLXyAr5OWc90xgEnI7KaZLr+m5OugnIWI8fwgxFdpFiqeHJriQ0Txl1i7ebXTai9AjOlVSArdFjLIBaXRDDYbiijdgMxOjg163D8DaJtV8i1wMBKSsS9Ql1/fuGm2XlgQKJ1TECg9mS4P8sOttq8QkGOs9oWWQEWCLjeBL63xH4FyngX8F9ge+ATYExV/I7kTpdTXWN7swPgluUtYlrfMjcyobgF2Nr3mrqbXXK3cuUYzFNggRMkXjnyNLGUAbg163KMB2maVzEYSo80G9iKR+G9+feM2WX79s92OYz3dVOivLUTsQNCVZ/tdq51C10zrFsTN4EVgn9jDU3+MFbsujhW7uhfjvAmrvNTcsXNt/6VnTK95juk1G9P/GhrN2mGDECWLa5DUs7sAd9llmNpmlXw6atnSvTf5cd4yHI6tR6xc8d4R19+ctWVNQaD0J2SZaNPQy603IHagh1sCFXZWgw6k8ORoJJNmHKmo6wcOQ8UXIPnDr0LStKxCKdUJeIF3vh3zrZ0G5Sc0miHOBiNKlsHbrg93PFJR1wFwzj1XccITt3+69exPKX3z+fH7v/m8GfS4Lw563NkK0bgz6ec1RKnQX3skEmi7iK7ZEojdawQQRcU/QZZs01Hxa1DxldY9drnud7r3q5Saq5Tafc64Ob9FBO4kI2TsNNAvo9EMJhuMKAH4wpEPERtPJ3ARUlF3pC8cmTNq5fKdj3zuwcN2/ei/ryCG4KuAN4Med/ewj0y4CSmfHS4IlH6TfKHQX+ukK5/4pS2BiuTrv7XaOwBQ8Tlr+ClJZWAQR80eMb1mDHEdyEFmZBrNkMWRSGSSzXX9Juhx/wK4H1kuvQSc5AtHvkm6fiDwT2R7vx2ZvdycVB0laxT6a28HTkc8uvdpCVRIBgLl3BwJIF4MbIKK9+hGECt2vYoEGP/e1RT7W0/3ABghY2PEdjYe2ML0mv0W5NRo1gUb1EzJxheOPI4EubYBBwCxoMf9u6DHnWNdfxHZfv874t90I3C3bSDPFoX+2mMQQVoB/HaVIAldM6BeBMniFqu9Olbs6jXGzfSaP9K1xOseX6fRDBk2SFEC8IUjbyP2mKeACcjy5s2gx31U0OPO8YUji3zhSBWy3FuCGI27Z4vMmEJ/7ZbYyzK4sIec3LajZ6/LMgBXUyyM5FrKAx6JFbu6+zYlY+/m7dbHPRrNOmWDFSUAa8l2FOIfNBf5ZX0CMIMe9/8FPe7JvnDkX0j6EIBfBT3uATtZFvprRyGxbhMRUbx1tRuUMw/J2Q2979YlcxGSn3szxPeqN+ySTqcZIWNM6iPWaNYeG7QoAfjCkYS1nNsGOBcJy9gemRXNC3rczyKiNAcYs8Ix4tAsvPYGZCY0GzjNcpRM5ldIAPH/kCq5feJqirUjucOhq/ZdTzyFJIabRlf8n0YzpNggDd19EfS4RwLHIvmIDsTKGBnPm0DDxvuScBB76eaq7TPtv9BfewqSYmQFYthefStfOScDbyAieToqfkf3PnoiVuyaCTQC37iaYr36WRkh4wAk7GYJsI02eGuGGhv8TKk7vnBkhS8cud8XjhyCRNmfDty2LGfMf1vGTqdlzJbFhf5ao59ueqTQX7s/cLt1eFYPguREUuduA3yMxM6lim0M7/NfGdNrvgQ8iQT9qjT612jWCnqmlAaF/tpbkPLYdcBBPSy7+np2e6Qi7iTgxpZAxerFA5RzAlKcch8kGHc/VDzlWUys2HUC8ADwlKspdmRf9xohYztE9BzATqbX/DjV92g0g42eKaWHQirjlgO+Qn9tSpkrC/21xyJ+SJOQJGwXrnZD1wxpHyRgtzwdQbKwjfHv9nkXYHrNT5EZWw5Qa4SMXdN8l0YzaGhRSoOWQMUPdBmIrwNqCv21vYaiFPprty/0194BhBGnxUeA41fzR1LOiUjg7M+Q2LwDUPE1yyz1QazYVYJ4fyeQkuWpcCnwFlJv7jUjZJyWzjs1msFCL98yoNBfexxirB6NCMmziLD8hETwTwWORIQGJKj2AqB6tSWfcuYg9p3DkfQkszIQpDwklcmuwM2upti5qT5rJXm7ia6qvdcCF5leszOdMWg02USLUoYU+mv3RHyNpvdx20Ikb/ctLYGKNSvfKucfkej+BcCuqPgX6YwhVuzKQYJ9T0HEcUdXU2xhnw/1gBEyfoMUVMhDZnW/Nr3myr6f0mgGBy1KA6DQX5sL7IxkgCxDlsPzkGyQ7wOPtgQqFvf4sHLugnhr5wBuVLw2nXfHil0OxN/pXGR7/0BXU+yNvp/qHSNkHAw8hiwzTze9ZkquCBpNttGilC2kku21yC/1v4BXUHE7uHY0sHLVsZx7AvEmvxkVT3nJBasE6UqkOMFKoMLVFHthoF/BsivdCbxies39+7tfoxkMtChlC+UcQ1ddN5AZ00LExjQB+A6p0PtPJDf2S0h62kJUvC2dV8WKXZcDlyE5kjyupthjAx0+gBEyNrLGPRooNL1mWvYtjSYb6N23bKHiSwHbJjQfEaMZiCB1AJsi5cL/hwgSwJ0ZCFIlIkidwInZEiQA02v+RFcAcDbySGk0aaNFKbvYHtoXIvFzxYhv0gikSOX98fbNlz3w3S0rH/n+2jmIuKRLpd1aGQKyhhEycgA7M2VjNvvWaFIlb10PYJhhInFz26Did3W79gbwxoOVz13eyYjPgWWo+A/pdB4rdk1FZjBLSC8EJVXsirxfmV7zq0HoX6PpFz1Tyi62yEzq7YZORrRbP2byD8IBVvs1snzLGpbPkl3x5ZVs9q3RpIMWpewy32o37uMe2/9nenVlNN3CBO8jFU22A56MFbuykhPJCBkjgIfoKm55eTb61WgyQS/fsoud0XFpH/ck/0MQr66MBpE0JiCiFq6qKfuupwddTbGYVd/teeBQ4JVYsavK1RR7K5PBGiFjKpIF4f8QL/QFwEGm1/xfJv1pNNlAuwRkC+UsQHbWRiHe2e/1dFt1ZTSPrtlST6xAvMBvqKopa+zphlixa3skgNfOmxQCrnM1xfqN9rcKCByN2L7KsfJFIUUyTzG9ZkYCp9FkCy1K2UI57wV+DTyCih/b163VlVE3XYGz1yH+SiDe4YchKUXagQOraspeXrMHiBW7NgIuBs4HRlqnP0YcN5sQv6j5QBESF7fLj+PpqDw7bxZSxQXEVeFJJD/5S6bX1P8zaNY5WpSygXKeijhGLgNmouKf9XV7dWU0F/gQcRs4q6qmrDrpWhFi0zkREZZdq2rKvu6tr1ixqwjxf/olfRjYAdpz+PGEP+SOx+EYiczWjja9ZlrhLRrNYKNFaaAo50wkSn80cCoqfk8qj1VXRn+BxJq1ATOqasoWJ13LQxK+HYgk+y+tqinr8y8qVuwaad1/KDAFcdacjOzUvQu8B7x7/B9yN+rIdTyAlJBaAexues0PU/6+Gs0go0VpICjnKOQXfgfEO/u3/TyxiurKqAPJZ7QbcE1VTZm/2/XJwDeIjWqjqpqytKP/e8Pa/r8LKQv+NvAz02t29P2URrN20C4BA+NSRJA+B85J50Fr5lOFJGbzVVdGjW7Xf0BmUSCznqxhes3lwJmI6O0OnJ3N/jWagaBFKVOUc0ek3loCOA0VX9LPE2tQVVP2FmJkzgPuqa6Mjut2i+0asNlAhtoTVpybXZbJne3+NZpM0aKUOcch2+l3oeKvDqCfS5BA3l2ABy0jONWV0emI3Qfgx0w7N0LGWCNkrFE11wgZOyCzJYBrMu1fo8k22qaUKcr5KpLo/3BUPDKQrqoro8XA68ju2TNIAcoDkZS6D1fVlB2fSb9GyJgAfIos/xqAWiSdypFW/yOB202veUavnWg0axnt0Z0JkrRtD+toILMkAKpqypqqK6NHIXm+D7U+ILtjFw+g64OQnTiAWdbHJoEI4O8H0L9Gk3W0KGVGO7AYmIjMlgbs61NVU/ZKdWV0R+DniLPjjkCoqqbsS4Cgx10I7I8E5W6D+EQtQUJDHgcivnCkvVu3tgj9DdklPAwYh4jRf0yvOW+g49Zoso1evmWKcl6ARNV/ChioeI+hI63+hnOBVwoCpe9n+qqgx307EqPWF3OQWm4BXziyHMAIGX9GatXdaHrN8/t4VqMZMmhRyhTlHImEdcwAzkHFb+l+S6u/4QCgHlmGXQjcWhAoTesPPOhxH4bMxJZ35o2oX7Hx5t93jB2/PJGbNxUcE3NWLFuWt3B+cd6ShVNyViwHCV/5pS8cWWEVA3gOeNP0mnsN4NtqNGsNLUoDQTmPRGLH5iOJ3VZL2tbqbxiDzKbsXa5/A+cXBEq/TKX7oMc9GvgIKFo5fuK1y6bN8CJpdtckkUiMmjt78cj49+MRT/Hj7jls9jhkebcSGKMdJDXrA9qmNDCeAuqQaHtFNyfEgkDpUuB3rf6GKHAHsut1eKu/4VEkf9F0JP3sVMBfECjtHu5RARR1jB73xbKCotOATRDbUB3QguRW2hbYBYfj8OVTthyZu3zpotxli4+xxvJPq59OspwUTqMZLPRMaaBI7FsjsAAV7zUgttXfUAhcARxPz/8Y/A/YpSBQuiqcJOhxnwPctGjGTj8kRoycjLgK/FIptUa+JqXUbUAlnR0/jP/fh5MdHR1v33PY7OOtfmebXrMw06+o0axNtPPkwGm12j7VvSBQ2lIQKD0Z2AqpD/cSMpM5G8kYMAMpLpnM5ASQyBthi52nJ0GyOBd4i5zcySsnbLwC2L2odZxdBCCtiikazbpEL98Gjp2bKKUwk4JAaSuSamQVrf6GN5BKKEcDyUG9TnJyweHIARYrpRb11q9SaoVS6jFgj45xE75mwXdFW88Zt0dzwWKQvEkazXqBnikNBOXMAwLW0UB8fuxZ1pxu579I5K76d2OJUqq/v68mgM4Ro8YC5HQ6llnns5LLuy5aVFQXLfpbXbRodDb602h6QotSpijnWCTL44nAIiQDZKZsY7Xdc2O/72hfAe3t7UioSFU//cQAEiNGTgLoyEnYQjl2AGMDoC5a5ADuBXzA63XRom36eUSjyQi9fMsE5dwPuBOxAy0ADkHF3xxAjydYbfcc242ORCIxuq2FZQUzAAJKqVFIDqSPkKopWwJbIMUKFpBIBEe1fXU8MHXhuJV24rhlDID8+kYHjsd2fCBxzLlAGEnb+15dtOjw8rLmlwbSt0bTHT1TSgflHIdy3gK8jAjSR8B+AxGkVn/Dz4EjkNlWdfI1XziyEHh0xMIFebmLf5qNzHiuQ4zk3wOfIfFy9yBi8RwOh2/5pltMBeaYW//0vdVVxlkG8usbc4AHgcYTHY/lItkMXgLGo1OeaAYBLUqpopz7AB8AZyGxb1cgVUvMTLts9Te4gNuswysKAqVze7jtD8CyMV99vmXeTz/eAPwDSW27GPFVehl4AHiMROLlnOVLV+auWApw2ZIxHROsPhZkOsa2WSWdyA5jDhA60fHYCrp28z7JtF+Npjf08q0/lNMB+IGrkCojJnAyKt6YaZet/gYHUvnkNmT20wjc1NO9vnCkJehxX+sgcdmYb744j2+++Cuwly8cWSPWzvJr2h8RixBddegOMELGBNNrZppS909IMO/2wF+R5RvIn4VGk1W082RfKGcO4jt0DrJDFgAuR8WX9/lcL7T6G/KAY4AL6Ep9cj9wZkGgtNft/qDHnQdchiSEy0HS7zYgM6YWYCNgGl3J2o70hSNPGSHDgaRW2Ru40PSaQTIkv75xV+BNIPe3idu+mMWLWyMhNr8qL2vunp1Ao8kYLUp9oZx2dP4K4ERU/NF+nlgDa1a0C/ArxKA9zbr0I5LL6O5Ug3SDHvd+iIhN6+fWHF84kgAwQkYFEEHKcW9nes0F6X4Hm/z6xvOAGxyJzuWXcemKbfl0ArIjd2p5WbMOY9FkBb186w3l3AsRpKVIdsm6VB+1hGgPZFZ0DLB10uXPkNnXvQWB0rTyevvCkVeCHrfEuslnVySJ2wLAY4/cFiSLp5HZ0r5IPblz03lnN24CihOOnDP+krhicTW/XTyBhSdb3+mqAfSr0axCz5R6QznrgDLgr6j4Jf3dbgnRTGQ2dByrz2bmIZH7jyC5lbI+qwh63F8ChcC2vnDk8+RrRsiYiSz1AHYeSJ23/PrGEUhAcOkWia+fvpbz7CyZh5eXNevClpoBo2dKPaGc2yOCBLK71Set/oYtEMfHZE/nb5CMkI8BrxYESgct1CPocecgvkr2e7szB/gBccDcA4m1y4i2WSUr8+sbK4EPvnFMO/S/ib3/vhevVwH310WLisrLmjN2P9BoQLsE9MbXyI4YQC3KebFl9O6N2+kSpDCyVJpeECg9pyBQ+vJgCpKFg674tonJF4yQMc4a06ZIJd/7Mn1Job/WAdA2q+QT4GbAcQsXFABR6739eZxrNP2il2+9IcUB/kpX+Mi/gZNQ8dV2yVr9DVshJZJAdsJmrAURWoOgx/1vxAnzTF84UmOEjI0RkTgXKd/dBuxqes3u8XW9UuivLURygts2rK2AaS2Bis78+sZ8xH8p4U9cfqzBh48jDp1blpc1p10DT6Ox0TOl3lDxZaj4BUhlkQVIgrZXUc78bnf+I+nnPdaFIFk8CZAgcZQRMqoQgbwCEaQ3gUPTFKTNkfzjdyPpVfZBktEVArTNKmlDjOh5AS4rREJfNkHsaRpNxmhR6g8VfxbYE/gSMWSf2u2OZ5F0s8cXBEq/Y90RSZDo7HRwcF6741ZgAhKCMgv4mek1G9PsbwZSF64NqQT8c2CzlkDFF0n3hABwODxILCBItkyNJmO0oTsVVPwzlLMZWb58mnypIFB6PXD9OhmXhREyNucw/rzl3LGJ7yYuz2nPS8wDqkyv+dgAut3Uat9pCVQEernneSTN7q4fUHLaTDHDHVgXLRpRXtbcY3UXjaY/tCilgnLmIrMlEGPxWsUIGblIIG4FErgbRyL/xyPe3NsAY2dPWdKJ5AL3m17zh16665dCf20OXfnGu6dTWUXbrJKF+fWN7wG7Xev40xYPJI75FNgOCW95I9P3azZstCilxibIcmgZsrW+1rAE6V660pv0xlPAxabX7J7+JBPOQlwivqMriV1vvIKI0N7A+4goFaFFSZMhWpRS41vEt2cn4BdIJZK1xa2IIC1Cig7MA5yIC8JC4CfgO9NrtvbaQxoU+msPQHKIA5zREqiYZ53PQb7/Tki2BLMlUNGJpG8BqarylfXz9GyMRbNhokUpFVQ8gXLehkT1X4lyzkA8pD8C5qLiKwbjtUbIyAH+zzo81PSarw7Ge2wK/bX7IHFyo4DbWgIVTxT6a3dEsiQcTJedCeD7Qn/tc7nbOZ/rKBwPq8+O+ovN02h6RYtS6jwA/AX55btitSvK+QMwG6lk+wjwESqeDQew0cgO6fK1IEi7AM8A4xAHy7ML/bXnILOmUdZtrUjduV2BAuDEvE/jHseyDtqLJmxJHrY45w7mWDXDG+0SkCoqvhBZupyE7La9BMxFdp8mI86Ff0KWeR+jnKeinCMG+FY74X9vZZWyQqG/dgYiSBOQvOO/A55AAnBHIdv9LmB6S6DiKGR5Voz4aOXmzV7EqFfnbf5FfMtNrC51KhNNxmiP7oEiO3ObACVIRoCjrWMQT++/APej4mlvkVshIj8i/kK/HOAWf48U+ms3Q3YUt0K2+I9BhOlQpBz56S2Bil7fO/2q50rJzXklkevouGuXygtzHIkbgFvKy5rPyfZYNRsGevk2UFS8AzE+Pwc8h3L+Dkkjchli/L3Luv50ul2bXnOxETL8yMzsHiNkfGJ6zVjWxi78DRGkdxBD+r2IIH0P7N8SqPgEIL++cTTiULkVsoz7COhg7833IpGA9sSKHEfCtiXp4peajNGilCnKeQ0SdnEqKt61XJGfH0A5H0ZCLo5AlkaZciPiI+UBXjNCxnnAfabXHPAUt9BfuyeSlncFUIlkNDgAWJDIdRyy/MCpm+bXN94MHILY0pKX+8sRcSrC4YARjiCJVWlymwY6Ns2Gi16+ZYpyfovsRk1BxQd1ZmCEjPF0LalAQlvONL1my0D6LfTX1iMiNBcpRDAjAW3tO0y8s6Ng3G+BzZNu70SWo18is6UZ1vn5wClts0qeqosWNSMJ7XYsL2vOhr+UZgNEG7ozxy702D1AN+uYXnMR4s19CiIChwCfGCHjj0bIGIgx3U42NwWYkcihacW+m3/ZUTDuEkSQvkA8yX8GjG2bVbJN26ySg9tmlWyD1JwrBbaxBGk6IkgLkUyUGk1G6OVb5swDdmT12cSgYS3XQkbIeA5Jp3sc4m19shEyjs8wm+TBSIiK0bHJqN1Wztz4bPJyihFP7nOAcNuskh6n0m2zSuYjaXZt7FncizruTTMQtChlztdW+3PEyL1WML/8aglwzePjx33yxcgRZ0/q6Jxxl3NCRtkeWwIVHYj9pym/vvFp4JfA68D5bbNKvu/z4TWxswOkbdDXaJLRNqVMUc7dkDxFCaQo5QeD9J5xSC6jMuuzK2suu7Ni18qvb5zYNqtkQbrP1UWLxiK7dWOALcrLmlPO26TRdEfPlDJFxd9BOW9FljmPo5yXAI9YLgID6Ne5GbA7suN2ALAXkGw3agdiyEyt1WqzslzKRJAsDkIE6W0tSJqBokVpYPwJOBCpHPsQoFDOe5GA1Q+Ab1YLN5Fqu2ORgNopiEtBARJZv53VT/dg1gTiQ1SPVBF5rXtK3iGA22r/vU5HoRkW6OXbQFHOkYAXuBgrVWwSncgsZiWS3H+s1fbFYiS+7G2kCu4rqPj8LI4469RFi95HPNr3KS9rfn0dD0eznqNFKVtInNvRyPb5TOuzcQ93LkW2zecipY/mIGW4m5Cslp8PeAm4FqmLFuUhQjoS2Ki8rHnhOh6SZj1Hi9JgIUu1POszAlmGLVmfBCcV6qJFLuAToKW8rHmrdT0ezfqPtikNFmJLspdugxrlv46xHTD1v26arKA9ujUD5UtEmLasixaNXNeD0az/aFHSDIjysuYVSI25HMTDXaMZEFqUNNngBau9fJ2OQjMs0KKkyQYK2VF010WLDlnHY9Gs52hR0gyY8rLmNuBK6/CWumjRmL7u12j6QouSJlvcBHyM5Fn68zoei2Y9RvspabJGXbRoLyTLQCewR3lZ83vreEia9RA9U9JkjfKy5v8CNyMllvqr6KvR9Ih2ntRkm0uB14BH1/VANOsnevmm0WiGFHr5ptFohhRalDQazZBCi5JGoxlSaFHSaDRDCi1KGo1mSKFFSaPRDCm0KGk0miGFFiWNRjOk0KKk0WiGFFqUNBrNkEKLkkajGVJoUdJoNEMKLUoajWZIoUVJo9EMKbQoaTSaIYUWJY1GM6TQoqTRaIYUWpQ0Gs2QQouSRqMZUmhR0mg0QwotShqNZkihRUmj0QwptChpNJohhRYljUYzpNCipNFohhRalDQazZBCi5JGoxlSaFHSaDRDCi1KGo1mSPH/CCs/HYXV0FYAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "This file will become your README and also the index of your documentation." + "plot_strokes(rescaled_strokes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_strokes(joined_strokes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAASUAAAEeCAYAAADM2gMZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAAsTAAALEwEAmpwYAABLbElEQVR4nO2dd5gkVdWH3w3AsoQmJwmFEqaBJkcRQTIUUXIcEPkQEBAVLQlSikABKkkElDQISI4WSJIoCku0gR4EpMg5NEtm2f3++N3aruntnunu6ZmdmT3v8/Rzp9Kt26t9uPfcc35n1JQpUzAMwxgqjJ7eAzAMw8hiRskwjCGFGSXDMIYUZpQMwxhSmFEyDGNIYUbJMIwhxdjpPYBG8YJ4SeAAYBngRuCqJPI/nr6jMgyj3YwaDnFKXhAvBRSBcZnTE4HLgDCJ/Demy8AMw2g7w8UoLQ68WOfyB8DPgfOSyJ/chnfNA8wPzAt8kET+0/3t0zCMxum3UfKCOAd8HXiiHUahRv8zAxcBu/Vx673A3knk1zNefb1nMeA8YNOqS0cmkX9iK30ahtE8/TJKzmA8CKwMvAJcDvwVeCyJ/H5PwbwgXh44Hdgoc/p/wJbA/sCPgVGZa2XgB0nkX97ke/YAzgJywGfAq8B7wOqu/wOSyP9Ti1/DMIwm6K9R+jVwDDCFnsbhv8g4/TWJ/Gea7HMcsA1wELC+O/0WsB1wvzueNYn8L7wg3gj4C7BwVTenAD/vyzB6QTwKOA44yp26Cfi/1EflBfEPgLPd99s8ifzbmvkuhmE0T8tGyQviVYGHUFjBBsBXaIm1M/LJpDyGDNTlSeS/XKev8cDawK7u+Zy79DFwMXBSEvkvekH8P2BJIJ9Efrd7dlHg38DX3DNfAWOAc4CD6y0pnUH6PfAj98zBwJ+qDVnG8D4CrNGOGaBhGPVpKSTAC+LZgEvRj//MJPLvdZf+6QXxj4ANkYH6LrCK+5zsBfF9wJVoibQAmuGsAaxWNZbHgAuAi5PI/zBz/llklJYBugGSyH/FC2IfzaJmBy4E9gJ+AIzygvjAOobkOGSQvgR2TSL/2jpf90TX12rAxsDtffzzGIbRD1qNUzoV6ACeBoLshSTyJwG3Abd5QXwg8v/sBmwFrOc+1UwGHgduBf6SRP5Tdd77X+SIXrrqnU94QXwK8CvgU/fOGMU1PQWcmb3fC+Jt0JJtMrB9EvlxvS+aRP6nXhCfBhzv+jOjZBgDSNNGyf2g9wc+B3ZLIv+Tevcmkf8ZcC1wrRfEcwLbAlu4Z98C3gSeBP5dNSOqx39du0yNa/e5dt0k8g/1gnhftGw81Qvip5PIv9ONfwm0JAT4RW8GKcPrrv2ygXsNw+gHTRklL4jnQo5f0A/6P40+64zOX9ynVZ517dI1rk1w7UpeEI9OIv9yL4gLwJHAX7wgXj6J/PeBHZHP6lbkEG+EFV3b8Pc1DKM1ms19OxlYBPgXcEb7h9Mnvc2Uxru2nHFuHwP8E/mufufOpU70fzXitHaGeFt3aEbJMAaYho2SF8R5tGz7Evh+EvlfDdio6vOSe//XnLM9y+KZewBwxmk/tFzc1wviTYD0uXH0gRfEo4FLkHP9P8Cd/Rq9YRh90szy7aeuvaDdqRdeEI8BlgPWRAGLY6j4cf6SRP5zICe6F8TPIyf7UsATmW7SJV2PsIMk8p/xgvhXwAlouXa6u/RzL4hfTyK/txnfzwAfeB85xD9r8SsahtEgDRklL4gXQdvsk4HftuvlmdnX3ijXrBYHAAtljp9FRmkZehqlvVx7T40+TkXBmCsBXwCnoXCA070g3hl9p3eAd4EXMsZnx3QMSeT/r9HvZRhG6zQ6U9oCmAm4KZ219AcviFdEhuE7Ddx+hxfE/wbOTyL/z1T8SlOd3U7WZHO0TOuq7iCJ/M+8ID4WOB8tx7Ks6z4p73tBfA4KIxjjzvX7OxuG0RiN+pRWd+29vd7VB14Qz+7iiR5FBukjIJtT9mnVI2+i2cpawBkuabaHs9sL4llQIu0opLH0Tp3XX1x1/CCa+aU8DiTA3MAvkCrByu5a5AypYRgDTKNG6QeuPcUL4ru8IL7YpZk0jBfEC6J0kJ9SmYG8D/wZuNodp+1LyAAuCMzizo1DS66pYQHOF3UZiiB/A+221cQFdf7RHd6fRP7aaFcuVRU4O4n8JYFvAtfQcxa5KfC4F8R/cikxhmEMEK3I4W6A/DcTvCA+3QVF9ooXxAuhmcjyVZcWQykoaaJr6hd6DDmYs/6hKSjQMp0pfRN4AKWylIHNkshP+hjKL5A43Ldc3NJbSBYFYFGAJPL/lUT+jkiBIOUxYBLyfz3gBfHX+3iPYRgt0qxRugLlf52KjMShwL9dZn9NXOLr7fR0Vqf8C/l5bkH+oJRt0dItVQl4ChmhLuAbmfvWRLt0WzYSyOkCOFNZkz1dO9G1c1TdfjrwB/f3+yj37TnkLH/EyaoYhtFmmjVKcySRf2cS+T9GP9LngTxwWB/Pve/arA/noCTyv5lE/uQk8l9Bjuos45HB+Rtadu2FNJuys6e7gGWTyH+gie9wqWt3d3FIqTHsYVhdYOX57nC+JPKLyLd2GzAX2hU0DKPNNGuUtkz/SCL/CeBAd3i0W6JNQxL5U5LI/7Z7V+ps/juSFkmd3wX0Q69mYZTIexba0l8YOaNTzk8if2KN53rjPmTcFkeO7FSLqZbOd1qYYLz7LmXg1+7cZk2+1zCMBmjUKN2Y/uFmFwAkkX87WnrNDuzQWwdu5vGROxwLXOQCISeiaOnrenn8UyBCMidfR4GQUDvdpFdclHc6s1oBWML9/VL2Pi+IZ0WqAyCplZQH3ZiXcbuBhmG0kUbjlK5AapAg6ZHsEuoJFMeUq36oBmcDP0R+qZTPgReQzO17wHxo120pKn6eWYHDUdT31cDb7nytxNxGSCPSl6di2KYaJWdsrkKhCB9RiWYH+JYb1xdAXYUEwzBao1GjlF3adNLTKKU/zD63ypPIf9oL4gDtuD2AllL/qZVH5wXxWOTD2RgZvW8iw7hN5rbdvCDeL4n86vimvkh38LYACu47THCzwAOAk5DheRHY2vmT0pioc9yzxyeR/26T7zUMow8aNUpvZv7eyQviQzKFINM+ZqEBksg/qcH7JqG4pn8Dv3GpLtujZWI2EvwpL4h/mET+zY3065jLtQXXXoFmejdS2fG7HqWXvAVTdxH/CCwLPIMMl2EYbaZRo/R25u/ZkYj/pe6Huqs7f3/1Q+0kifzXkMP7LC+I50cicaAM/tgL4suATmfM+qI6zug1FIs0r+v3YOCaKmmTw4DvIf/WHknkf45hGG2nV6PkBfGWwO70LHEE0tcGzSqWQT/qRhQc20IS+W97QfwQilO6DkVc746E26rTSWoxX9VxWs3k76h2XNYIp2qVqR7TPknkP9Lq2A3D6J2+dt9uBPagZ+DjU8A5zv8SunPnNzhDaSdpusnf0MwG4EiXetIXf0Q5d6lxmYwUKv1qg+T4EDm2oacygWEYbaYvozQGbdenu1VfoqXLp8C+aKb0Nsr4H2yyibmXofilZdHSsi8eQ7O91dB2//ZJ5J9YrxyTk9FN1QUOaX3IhmH0RSNxSiuirfgPge1c5ZAFqegqHZZE/nsDNcBemJqYm0T+l1SSbavLbtfid8h4vQ9slET+jb3fDlQqouzezCANw2iORh3d3Wg20e2OT0U7WH+nkks22FTrdafLqmV7e8iVfToULce2aSJF5QXXztzMIA3DaI6+jNKiwJxoK/5ML4gXQEmxu6FdqIOmY8XYdKa0lPNv9VZUAAAviHNUHNb7J5HfzI5hmhtnkriGMYD0tXwro4q2x6MgxhWp/Kh/mUT+C/UeHGhcxv+byFgsiqLBoXYOXcouKDr8riTyG9mly5L222ygpmEYTdCXUQpQftiLVeefpw/ntothGmiy0rjpNv9bde4FxRmBSoI3SxpUaeEAhjGA9LV8S3O+zkI131LOyoYAuOTV7ZDW9XJIzmQBL4gnotnWWyiG6GrgiTYu+Z5FuXjLUEn2rbWlj9N8WtMdtpKzljrQb23hWcMwGqSvmdIsaLs9+0P/BLgQVI3EC+KzUPDkZShe6Dsormk0St1YHOWwHYW24ru9IM4m5PaH7Ewp7/5+udaNrkLJie7wEi+It/WCeKYm3pXOlG7r9S7DMPpFI7tvV1KJ4AYFHX7pBfFJSDI27eNhlFlfBErIUM2ODNNSSLb2u2hWc5sXxL8BftXPopaps3sZYB73d2/FDY5GBvN7KLftQy+I70AKmC+4T3cS+T1mUs6RPr87TPoxXsMw+qARozQRSXik/BMFUy6OJHHPA86sI0f7nvu8ANzuBfEhyDD8Eon8d3hBvEs/lnPZHbcV3N9317s5ifwpXhAfgGZTu6D6camxTJnoSiyd5vLtQIoBo4CJ06kysGHMMIyaMqW+PfCCeAqSDFkXVZf9BBmymdFS7AdJ5D/U7Eu9IN4Q5azNieKfrm965Ez1ZWVnNe8ACzVqOLwg9pCvaHmU2Ls0MlSgOKY/omIDc6OZ30fAgtUzKcMw2kcjRml7FMW8U+bSH4DD+5Pv5mZNZyBxtXyrP3QviF9EszbQjO3QVsfk+lsd+DmSSBmFlqO7ojSTVdCSM+zPOwzDqE8jaSbfoBIDBPrBHtqGBNyzUdmlxVHZ7qZxvp6sE77Z2KNpSCL/4STyd0LSu88izaWHM33/3KkGGIYxADRilJYG7nB/v5xE/snt2NJ3Ri1NUVmqmWe9IJ7NC+J90CxmtcyltsUQOXmSVdEyc1ZUWukKFKz5x0GKwzKMGY5GjNIq6McPMIcXxNX10fpDKrNbsxJKFi+IF/aCeHcviK9Bs6MLUUxUytHtTnlJIv8jJGkCisP6OfABquqyZ+2nDMPoD33tvk1BZYgSpCz5LVQl9vdten+6LMyGHOA0kQrIyZ462r2qZx9CsVG/R76ffi/dapFEfrcXxP9FO3yLoQIGFwKne0F8SxL57wzEew1jRqWvmVI32mlbBZU4AvixF8R9FglokFVcm27t4wXxD5GkyGMoknwPZJAmokq7PwIWTyJ/LWQ0RwN3JpFfM2iyv3hBPDcqwzQFhRJ0AXeiHblgIN5pGDMyfc2U7kaR0luhuKLH0cwpQvIfLeN8Mpu4wzsyl/ZAcUEvo2on/3SfJ7Nb/e75H7jDc/szlj7YFUW235FE/ovu3T9D/qsfekF8+kAZRMOYEenLKF2LquDukET+0V4Qfw8tmw7xgvgmV4xyGrwgXgqVKpoVLdHez7Tvoxy0fVDA42R6Bjymgvx7J5GfPV/NxshgvgHc0Mf3aAk3I/yxO5yaxJtE/qNeEF+BAjAPz9xjGEY/6cso3YOMSIcXxCslkf+YF8Qh8BvgYi+IV8tEPeMF8bIoYnt3Gq++e0wS+R9kjlO9olnrPeBy1k51h2c65cmB4ES0M/gUcE3VtXOQUfpO9UOGYbROr0YpifwvvSC+FFW1DZC420lo2bU+cLUXxN9BjuZjgJ+5PicBF6Hl3jzI/5K2S1CptwaKV8ryvmvnoT4Hoyjs/9E+p3sPvCDeFC1RJ6FZ2xdVtzyENMtX9IJ4TqfvZBhGP2kk9+1ktBTbxQviX7ndqJ1RQOE6yLcyDgVZprlwxyeRn1R35AXxvGSc2sDJTpQ/S6qHtGCtwXhBvBISnQPpg7ddCdIL4jWozIyOSyL/0ep7ksj/xAviR1Fe4OrAP9o9DsOYEelzieWcuBei2dAZXhCPdlVjt0dLreWRQfofsG4S+fvXMUgLA69TmQFNoPbuVVqNdxqj5IzadahE+MVJ5P+tr/E3ixfEywG3IIWDy9BStR6vuzbX7nEYxoxKo36fX6Fk103QEi2NeN4kc8/XgXG1Ip1d4utrQKpf9DKwaZ1gx9Q/1GNsXhCPBf6KEmcfobLz1ja8IF4N+dHmRcU196lXdqlqrFZMwDDaRENGyTmzO93hb7wg9t35+9HMJeUfwONeEB/qBfEOXhBv7HSXslreD6EE3A/qvC6NgapO0D0BGcG3kbJAW7WyvSBeH7gLyer+HdipAQd6ulO4WDvHYhgzMo3OlEgi/2bk5B4D3OAF8X7uUlbv+l1UXOB0JH17O25m5Tgf+FYS+R/38qrZXTvVKHlBvCtwBHI679TuuCAviLdBMrdzoPy2bRs0eje59igviPtMlTEMo28arfuW8gtkGI4CzvOCeBngWJRNvzSVeJ3voIDL+TLPLpRE/pv0gsv638odPuvOrUTF8P04ifx7mhxzr3hBvBfymY1B2/w/7EuPyQviP6F0m5S5gNe9IAbtOJ6GfF7Tq/yUYQxbetVTqodTb/wjmmk9gfLiDgaeQ7lqq6HAy1mRnO5eNbbUa/W7OXIyv4J8VHMih/iSKL1j33b+0L0gPhTN6kDLw4aSer0gvo2e/rR6vIcM1P3APX34pwzDoEWjBOAF8booCfbrvdx2HlKn7FMJ0gvi+VC6yUpoV+5C4Ea05f4wsF67tv+dM/6XQOhO/TSJ/N/Vf2Ka52dGZcsPcad+jWaKPjKktehGwZh/HcBgT8MY9rRslACcjMlvgf+rcflvqCx2IzOPxZFPpwM5xfcALkUzpJeQH6otfiS3RDwVBUZORpVym64D5wXxUShc4C9J5O9ddS1HJZm4mgQtQ6+rcc0wZnj6ZZRSvCD+OvKxZOOOPkf+pt/1plLpIqe7kKbSW8g5vj3ahXsY2DqJ/DfqPd/kOGdC/qk9kQb3bknkX9tCP2NQ6smywFZJ5Md17lscBXrW0l66ATjEknkNoydtMUopblmTR/Ii+7jT96Ids7cy941Cy53fUXFsV3M5sF+7RPpdkYErgK2Bj4Htksi/o/en6vbVidJoXgKW7stf5nS//4gkdrNMRDO2LnOKG4Zoq1HK4mZAFwELo2DJ76J6cG9RiUWqxfXAb1xwZrvGMifyT62Pcuu2SCL/wRb7Ggc8g7TF90kiv6vB58agdJ0TmdbvdCNaRvZWctwwZggGzCjB1NSSa1CO3EfA5mgnKstE5NR+CrgvifzSAIzhb0hv+zUUSf5UP/o7HCUBPwms3GwdOFd04HJg7apLbwC7J5F/V6tjM4yRwIAaJQAviGdBhsl37aEor+0/A13Y0S2bbgAWAZ4HNkki/4Xen+q1v5zrZ17k62op9875tk4EflJ1aQpK6TnOwgeMGZUBN0oAXhAvhrbEx6OZSk1xuDa/cy9UYnwc8iHtkET+rf3s89dIouV+4Nv99QN5QbwbcryPq7p0DZJLadifVugqzI2CVt8H7i52Fs1HZQxLBsUoAXhBHKDZwV1J5G84gO+ZDRXL3Medehnlpn0OLJtK2rbQ76zAq0gTaj2X99dvnEzKDcj3lmUCmo31GgVf6Cpsh1Jw1qaSNnQncFixs9jyMtUwphcN5761gbORYdjAC+KvDcQLvCBeB4UR7INkVf6Mllogne3+6IrvggzShHYZJIAk8icgn1u1L20N4E4XVFqTQlehE0XOfxPFXN2LZkobAU8UugoHtWuchjFYDJpRSiK/jORARiEx/rbhBfHsXhCfhgoMdKAf+GZoxy+70zfTtE83TCqVUq2U2W/c7O1baPxZlgducxVVelDoKuxLRefq18A8xc7i+ijU4o8ol++3ha6CKRgYw4rBnCkBXOLaH7gt8n7hBfFYL4j3R8m7h6HZQoR22tZHs6T7qFRLqf7RN/qeJVC6y0co1qntJJH/Hsqnq470XgW4KvvvVegqrIJSeEYBQbGzeGyxszgRoNhZfLfYWTwYuArlHh6PYQwjBtso3YQUKpdCs5iW8IJ4Zi+I9wb+g5zZCyEfzJpJ5P8Cfa90qXYsMlKgpV0rbOfaW9oVzFkLJ5eyE5rpZNkIV6m30FUYBZyBvuMZxc7iSXW6C1DU+l6FrsKSAzNiw2g/g2qUXLrJKe7wV07etmG8IF7E5ZwlKDUlj3LldgXWymhp74xkUyag8k3Pu/M7tTj07Vx7fYvPN4wLk/ghcGbVpdAL4vXQd/sWErv7Zb1+ip3F/+HkX6ifJGwYQ47BnimBoryfRwbln14Q9/pfcS+Ic14Q7+kF8a1oJ+03aKfqSWA/pGJ5RdX2/OauTdM3jnLHv/CCeI9mjKGLs1rHHf690ef6gxvzj6gsdwFGw5TTpkzRjAk4qthZLPfR1fyutUhxY9gwaCEBWdzu281IpfIdpFJ5J/AgEuFfBFgG5al9h4qD+gu0BDwHleqeZvBOBeAN9IPsSCL/GXc+BrZ0t01GsrwJlQKZH2T+fgUoJZH/oRfEa7pxlZLIX65d/waN4IIs70fFOxk97mVmW/Is0L/ZosXO4uf1ni10FWYHyug/PDMXO4sml2IMC5pVnmwLSeS/6gXxt5Ex2hjtbNUrBDAZiflfDlxRoyRTNSsgg/QqPcs57YyUDHzkBF+baVM9euAFcRrjBFKUHFRc3b19gceAmWeaa0J66eLeDJJjL2SQ/mkGyRhOTJeZUoqb1ayJHLkboSKVb6MctVeQkH+cRP47TfT5Y6Q+cHES+Z117pkDLcnmR7FHc7k2/SyJQgtmqXr0FOCXA1Frrje8IP4lfPWr2ZY+gdFjP+bLD1bbqPuwi+rWmXPO8KfRd9il2Fm8ctAGaxj9ZLrMlFJcfte/3addW9cbufbOXt47Ebitt07cFvw3kCJAyhHAxl4Q75JE/rO1nxwQzoExx3z8/E/Gjp3tOSZNXLE6+ruaLZFBepVpQwwMY0gzPRzdA4YXxOPR0gx6MUqNkET+V0nk/xcoulMHoXCGVYBHvCBeuT/9NzmWt4AbmDyeSRNXBKibpuNmSce5w9/b0s0Ybowoo4Qc47OhVJBX29RnulOXyp/cgEoxne8KZA4WWXXLXb0gnr/Ofdsjw/k6AxB9bhgDzUgzSqns7CW93tUcqbzKKJcqsydSnFwVxRMNFq9l/h6PQgZqsZtrTy52FttasNMwBoMRY5TczGFzZEQub2PXqVEaC5BE/keonBTAcW7JOBi8XnV8mBfEq9a4Lw2U7B7g8RjGgDBijBLa8h8L3NpmWdl0tjHV+Dhxt0dRNd9vtfFdvTGXax8F/oKWqbd4QbxU1X2zutZmScawZCQZpYFYuoECFaFntV+oONIHTBuqirVc+xDwfbR7uABSEcj6l9KZ3YDIwxjGQDMijJJTtlwbKUze0ObuU6NU7VhOjdL6DA6pUXrQVU/ZASUYLwlc7aK/QRWJYXD9XYbRNkaEUSITmzQAWfypL2fxqvNp/NKAz0ic6uVm7vA+mOrb2taN79tUyo9fjFJm1il0FdbCMIYZI8UobezafsUm1SGNU1qx6vx7rp1nAN5ZjY/8Vw8nkZ8qHpBE/msoBOBz4EAviJcvdhY/Bs51t5xa6CqMlP+NjRmEkfJ/2A1c26dR8oJ4YS+ID/OC+DYviGuV1a7mCdeuXHV+IjAJmM0pCQwk6Tgvq77g6telu42pOsKJKCl5HeB7Azw2w2grw94oeUG8IFpCTWRanevsfaO8ID4R5dSdhlQed2ngFUXkPF7eC+KFMudHUfn3G7AEQiftsg3wJfVDHdIqLZsBOEmTH7tzJxe6CgsM1PgMo90Me6OEopcBHu+jVtqxSI1xMhU/0XN9de58NzHSvN4zc2lO9O/3UV9lu/vJoe49f00ivzpWKSUtYJn1IV0O3I4SjE+f5gnDGKKMBKOU+noeq3eDq2p7LDJIu1DR7G60Gu8Frt3PKRtAJf3k3caH2hxuq//77vDUXm59E83m5vSCeGYAV/ftAOATYNdCV2GrgRqnYbSTkWCUPNc+X/NiEO+HymyD/Ct/A7Zwx41qdt+M0jw6gEPcubxrX2pirM0SIgf3zUnkP97LfQsj/xYoLw+AYmfxBSqqm2cUugozD8AYDaOtjASjlG7VT2McvCDeGdV+Azg0ifwu5J+ZDxUdeLyRFySR/yWV1JKTvCBeBdVaA3igtWH3jhfEHWimMxn4WS/3zYTkSWZBhT6rZ25nohnhkpjT2xgGjASjlMYJvZI96QXxsqi4wCjgmCTyUyH+9Id5XjNlt5PIvx4t42ZBqR6/cJf+1dqw6+OWiOciP9Z5SeT3Vul2OSSUN4XKLt1Uip3Fr9DSFeCYQldh1up7DGMoMRKM0myunZiecAJtFwLjUDDh8e78KCpFAK5p4V0/Am4EPnTH76KqtO3mMBQQ+SaV5Vc9iij5dhTSM6/FNe6+RdCuo2EMWUaCURrn2qxE7SHI+LwGHJaZEc2LElsnMm3WfZ8kkT8xifxtk8jPuX4Wa0AzvCm8IF4BOMEd7t+XFLDbcfydOzzCGd4eFDuLk6koUG5Ufd0whhIjwSilztsvYeos6Sfu3MFJ5H+QuXcZ1z7fzNKtFknkl13xyLbhdttuQob2wiTyb2rw0UuQtvnKwOp17kkDS80oGUOakWCUPnZtKi2yMbAokq6tTs59C/leVnAzkiGDiwq/Bu0mTqDiWK9171ZeEM+eHrtCBqk6wj51HktLoeSdZK5hDElGglH6wLVzuTatYHJh9WwoifznkAN5LHC2F8S5wRhgX3hBPA64FlgPif1vV28W5gXxoWg2dW2VHO9Frt29TtpL6nsruxgmwxiSjCSjlCbGpsGU8bS3AnAkmjF9C3jFC+IzvSBevpYvZjBwypU3ogok7wK+S7Stvm+UF8THUonOvtWVQQcgifz/AE8h41xLHWDAgz0Nox1M1xJLbeJ5JLSWR8Jnc7vzNR3ESeS/7wWxD5yMdqt+6D4feEH8CErAfR3tfL2JElvfBN5JIv+rWn22iotFugIZ0reAjZLIf7LGfaNRRPehKG5p/yTyL6i+D6WbLI80nqp3BVOFyjfaM3rDGBhGglF63LUruzY1SnV3xZLIfxjY0AviFdEP3QcWolIUsxaTvSB+h4qxmgBcjyqnNLUcckbme2jWMx54FtgmifxpdLXdEu18YG9Utnz3JPLrhTPcgwzs+lTKLKWkJcvrFrE0jKHASDJK67gl2ESkU+0B08w6srglz/cBvCD+Gtq5ygMLIiO1YOYzL5KfXQBV8t0YBVC+6gXxH4GT+ppJufFtiwxG6mj/C9olnFjj/rFoJvVd5NDfPon823t5RZo205E96Rzbae5bvWWtYQwJRoJRehgtfZYF1kU/un3Rj79Xo5TF1Yl7lTpyui6dY35koBYFNgW2c38fD2zqBfHu9fxBSFbkOCpb9i8Dv0gi/9I67xsFnIEM0gfAFknk/7uPr5H6i+auOr8iSsd5m8bz/QxjujDsHd1ONuQ8d3gQFaOyXZvf82US+a8lkf9YEvk3JZF/CPqhb4mWc+sDj3tB/M3sc14Qp/6dW5BBegMFdy5dzyA5jgAORKqSWzVgkAA+QmoB41O1AMd3XXu9C6Q0jCHLqClThv/usBfES6C4pMlohnQl2gJfKisfO4DvXxDFCW2MIst3R87y46hI9b4LnASc1ZeOuBfEGyEtJICdk8i/uomxfADkgHnSaPNCV+FJ5ADfvNhZvLWXxw1jujPsZ0oASeS/iORJxiLjkCawNiJ32473v4nkUNJ8u2tRou7GKE/ul8DXk8g/pQGDtCBwKcplO64Zg+RIZ0KjAApdhXmQQfqEihicYQxZRoJPKSVAaSTboKx5gF2BXw/kS91O2opoGbdp1eWLgcOTyH9vmgdr9zUKBUEuCNxNa2NPp77pf3BS3adSsbM4kAqZhtEWRoxRSiL/K1cI4FoqmfAJyHD0IZXbJ85gzI38SHkkGbISCsLMOpZLVAzBGY0aJMfeSPz/fWCPFuOiUqOUBoOmO3FWxtsYFowYowRT9bQ3dUm5ewI7e0H8ErCoF8SvIyP1EvL7fIWWOunnK5TcOz7zmc21cyHZj3paRC+hmc1fkW/rGfeO3nSQeuCWbank7eG1dvEapNoopZHcvaoNGMZQYUQZpQwzoR257PdbxH2+WfOJxpiIxOS6gafd54Ek8pP0Bi+I/+D+vMQlyjbKEWjGdRta9rVKtVF61rXL1LjXMIYcI9UoLYm+28toKZcgHWsPWAwZrdGZzxj3+QIFKX7iPunfE4HXagU4ZvGCeC4qWfoNVxBxMVB7ucNf9lNWJc2HS8t4P+3a5frRp2EMGiPVKH3DtaUk8tPy2on7DCSHoSXfnbVy2HphcxQpXgIe6ucYPkAGeC40q3seGdYlCl2FbxQ7iwMeImEY/WFEhATUYFnXDtoP0AvieamIyzW7a5buFjadR1eDNOdvboBiZ3EScv6DHOmGMaQZqUZpDdc+OojvPAKVN7o1ifxmdbuvQ76g3V3Bg5bwgnhNYDV3+FHm0oWu3afQVRip/5sbI4SR+n/QVE/owUF8Z1oCvDo7v0+SyH8UKQGMBa73gvggL4jna6YPF9Wello6l57lo+5G/rXFqa21ZBhDhhHnU3I/Zg85qZ/u/e62vXNR984PgUZy1GpxFPItdQBnAad7QTwBVf59HHgBpa68gfLh5nafDirxTWOA+1CNu6nLwGJncXKhq3AdkmnZlgEoC2UY7WIkzpTSXaan2y3K1gvrufafrb4zify30Nj3Av6OtvTXQUnGf0K5cE+ieKOJKDbqCSRt4qPl3zXADi5JuZrrXbtdK+MzjMFixM2UyKRVDOI7l3RtsT+duJCDS4BLvCCeB1gVidethCRSFnafmYH3kFP7rdGzvPaPWRc/f9zosR9fXOwsvl2n+/uAMrBsoauwWLGz+HJ/xmoYA8VINEppkOBgplWkKSxtk1xw6Sl3uE+vFLoKv0DLv6MKXYXTgF8XO4s9lDeLncVJha7CAyhxeD3gsnaN1TDayUhcvqVpFYOpRZ0ao5l6vWvgyBqgHwEPFboKtSqa3Ofa9WpcM4whwUg0SnO59oNBfOf/XLvbYJdtKnQVClTij15HsVlLURF2y5I6uFercc0whgQjcfk2l2s/GOgXOeWAtYC10RJuYeA3SFlyQHBxRssBG6BqLNuiXbe3kAzwksDZwA9QgnCWNMo8X+gqjLL6b8ZQxIxSC7jikT9FFUmW7HFx1KSVm+3PLbX2AQ5HS8B7UWzRq8ipPQvyla3rPvNkHp+84KRJl1322pufLvDVV7MVllz8UuAU4NuFrsLXi53FdBZHsbP4TqGr8DbSGl8UxS4ZxpDCjFKTeEG8GsriT0MPXkXb8g8yatKHsy97zMmFrqP/Avy22Fl8ore+Cl2FWZFhC5CRSPk69ctvg3La7nGfO+54+bVNgXOAmYudxWsLXYXHkN9oMSpLy5RnkVH6OmaUjCHIiDJKbjmVziLKA9B3gCK2xwD/RTXW7kwF5ApdhVWRsSoAexa6CrehEkr/AZ4pdhY/L3QVxiMDtB3wY6QyCVpaHYd8QusD30ZpK58j9YLXgfvd56UeS68wt7L763HXpmoGc9T4Km+5tqmIccMYLEaUUUIxSnOgnbe6xSibxVUGORfNXqYgMbajq/W2i53FRwtdhaXQMuz7SB43lcj9qtBV+JBpyx89CpwAXJepNPII0hxvlJVdm87MUqNUy+meir2ZUTKGJCPNKG3o2oWAs7wgvhh4sD+Z914Qz4FyyjZCEiC7JZF/Y737i53FxAviI0fN9O6nM81ZPHz0uJdnHjPry5+MGvvhrKNGMTfwJVp+lVBdt9v65XAOcwuiIMspVGZKC7j2gxpPpIm6s7X8TsMYQEaMUXIR0NldrwPd5x9eEG9RJ/Wirz7nRfXa1kC13bZyJb/r3b8M2g07fMqX8y78xbsbgETXxjPqC0aN+fTRKZNn3jE5YccXmh1LLxyInOE3EpbfddVwV3LXavm0UknfXquqGMb0YkQYJS+IZ0GaQVnJ10dRkuyGaHn00yb7nBvtgK2AkmE3SWvIeUE8G9oFWxlJ7C4MrAIsneniISRn8jSwN1NmPnzKpJlXBR71gnifJPJrVuJtijA3DuXGQUXfe1HkV3sPOeGrSWdIH/f7/YYxAIwIo4SKPK6PnMHXo9nD3cBVyDH8Ey+I70wi/5Ym+twQGSRQQuz2XhB/DVW5XYva0dvvAzcDVwM3ZJaNv/eC+CJUPmlrJE+yVxL5lzQxnlpsi3bSnkA7cSC1AIAH6iwLF8qM1TCGHMM+otsZigORT2Vb4E536Zuu1PUx7vhcN6NqlJupRECfiGJ/foRKKo0BHkY63D9FFXG/CSyQRP6eSeRfX+3Hcrls2wJHu1PneEHcQf9Idb0vICyn79vGtfX8Xiu6thm5XsMYNIZ92W4viH+PdruuTiJ/Jy+IZ0fLljmRA/gJ5AAuAAclkX92E33PjwzPGOA11+9/gXuTyP+gxfGOQmECe6BQgdWTyP+y6Y7C3PxoZgiwCGH5rUJXYTa0uzYOWLjYWeyR/1foKiyIdibLwNwW0W0MRYa1UXJb9e8hP8mqSeQ/5s6fhkT8L0gifz8viHdAS6pXgKWbLH3UdtyO3pNICXK9JPLvb7qTMLcHkjm5lbC8OUChq7A1miFNKHYW16x+pNBV2BWlntxT7Cxu0PIXMIwBZLgv3zxkkF5MDZLjj2g51+kisK9DRmBRJN0xXXG6SakkySotdpNm+t+VOee7Nq7zTLrcu7rFdxrGgDPcjVKad9ajakkS+f+lsuw637WXu8s+Q4PUiK7a4vOpUbovcy41uNMYpUJXYSFgMxSicHn1dcMYKgx3o7SEa2uVuD4abeWvhOKX0h/qls6vM71JK9cu3vSTYW4UFYXNRwAKXYVFXV9laldxOQEZ57jYWbQS3saQZbgbpVRdcgMviMdkLySR/zHyK4GMUhF4G8UULcH0Jw0paMW/NRZpeE8iLH/uzq3t2gcz6SoAFLoKPpI1+Rzl7xnGkGW4G6X7URb8olRSTLLEaLbkoaVL4s4vMghj64s0svrTFp5NQxuyUeqru7ZHhd1CV2F9KnXfjip2FgdTJtgwmmZYGyWXnd/lDo/3gnjWGtfPdYf7UJHIXYjpTxpZ3Uq6x5do1jOeMJeWKE+/24oAha7C3IWuwi+Bf6AAy9uA01oerWEMEsPaKDnOAl5E+Wnn1fAX3e7aDipRzHMNztB6Jc3Sb96/oyVb6qw+0LV/Bb4C/EJXoYRCJX6FlnknAH6xszhYJacMo2WGfZpJEvnvekG8NfAAiqx+xQviIBNRnQqZLUYlF+wtmsAZuqVRUOIk93m+n3XlWjdK4g9AJ7AfYe74Ylh+s9BVuAnpNHWgmdQE4LhiZ/G2fozTMAaVkTBTIon8IoqQ/gr4GfCXTErJO8iZPBeVhN1au3U98IJ4rBfEW3pBfA4ybM+g6PCn3N8TXBBkq6RLyHp12nonLD+M8t3mQgYK4ADk0F4LmLPYWVzPDJIx3BjWEd3VeEG8BXAlMDvKXdsqifwpXhC/iTSGJiNDvHgS+TWlYJ06wPeRqmR2u/4NZEBmQgZlLiSDu1srek1eEN+Nkog3TSL/9l7uG4OqjzyRRP7nPS6GuaWQoRwP7EpYvqLZcRjGUGNEzJRSnArAT9xhNs0i3aVKl1vTJOZ6QbyQF8S/RbOik5FBehY4FhmFRZLIXzGJ/Dzafv8I2IXWy2B/3bU1tZW8IB7lBfE2aKn4IPDraW4Ky89R+b5nE+a+1uJYDGPIMOx9SjVIUyl+m5nBpEZpEprpTJWJ9YJ4eeQs/j4VY3UH2qm6JdXfzpJE/jNeEN8C7ERPwf+GcHpMX0NG8qUa1+dA4nLrZk7fXKe7c5EywBbA+YS5LTKKAYYx7BhRRskL4kWQtMhnKP8tJS0ikO7M3ecF8Y3IoGR/+NcBv0kiv1ZEdPY9o1HNNWigrHYN1kKz1EeqFTFd+aYHqGg5AayfRP69NXsKy1MIc/uh3L7NkF/pnBbGZBhDghG1fKOS1/Yy8rOkpDE8Z6GAy1nR0mtdJLJ/DlBIIv+7fRkkx9po9+xFKlHlzZAawn9mTzr/0QR6GqRl6xqklLD8OnCwOzq8hfEYxpBhpBmlV5Aze2ngOS+If+6281PdoWeTyF8PRXj/CO1ULZJE/oFJ5Dckeub6S/07V7VYlCBVh6yWLDmVikH6AljYJRc3wtWoUMAyzgFuGMOSEbV8SyL/Fi+IV0RKkVsDEfAc2sIHpWKcm0T+i0hFoBW2RJVNPnD9N4XzYX0TOcpvyZzfkp6FD+ZzEieNEZYnEeZuRTPALVGlFMMYdowoowSQRP5TwDZeEP8IzTxOREGGIGPSX9II6tmBW7wgfgjlmz2IZmLTOMar+D/XXppE/kcAXhDvidQoU8YnkV8/Jy7MLYpkW+6vcmo/hozSkjWfM4xhwIgzShnOQpU+lkYzpPeBJb0gXiqJ/Of60e/FaPm3HEptWYOKP+cDL4gnICP1EKo592b6oNPkPsAdnuuWgkegwgcpB9U1SGFuIxQ/tZ07sx49l4ALu/aVFr6XYQwJRqxRSiL/Sy+Ij0YBjvsAfwd2QzOJ4/vR75XAlV4Qz4nil9ZEu2lrom3+TdwHAC+IX0KzqEeoLPcuQkGPpwGHIpXMdGfwPzVfHOYOpOeOIvR05kMl2LNmYKhhDAdGrFFy/A05jFcBfoeM0t5eEJ/Qn6q5AEnkf4ikaKfK0brKKlkjtQYyFIujmKaUACXU7uTGtxfyAS2IdvR6IiWA37qjR6moVVbn8KXxV1Y+yRi2jLTdtx4kkf8JivkZhQIV30D5b+v29lw/3vdqEvnXJZEfJJG/IUpF2aDqtuvQ7G0n4ENgczf7Smc9PSv5SmXyfHd9EqrKgjtXXQG3UpI7zO1FmOsizM3b3+9lGIPJiDZKjjQWaHngAvf3zwf6pV4Qj0dLs7szp98GlqJSOHO9JPLTmVbRtSvRk2+7+0Ez25nQrG//GpHbH7p2TlTvbm/gHcLc0hjGMGFGMEqpo3le5MP5BNjKC+JWq4j0ihfEY7wgPgTltP0+c+l5lEtXQAGX6ySRn/UfpUGb1YUE9qw6Phc4ok4qSap+sC5wXOb8fwlzmzX+LQxj+jEjGKVUr2i+JPLfppKCcWK7Cwh4Qbw0cC/yDy2QufQSsA4V6ZQtXaxUlgddu6+rZwdhbhw9fVEfAkf3ktuWyt7ujRz72VismwlzP3HLQcMYsswIRimN5k6z8k9GjuDNkChcO7kcBUZCxb/zKbCtM4gzu3Pv1Xj2ShTkuSyVVJHlySQPA+cQlqcVhQtz3yPMdSHj9zckRncI0pZKDdho5CzvcsbOMIYkM4JRegSlnqzsBfF4FzeUyn2c7gVxO/W6zwM+dn/P7tpfJ5H/uPu7luA/AC4xN43o/qXTdaoucNAzwjvMjSXMnYmc3nsjfe6T3dWfIt2nNDzg52jpuhdwr8mcGEOVEW+UXKrGf5CTONVYugi4E/mZbvGCeK42vetspq2qEnpBfLwXxPMjo/QZ9csq3YlmcePd2Bauul6Z4YS5OVGJ7h9mrr9LWL4PuAolHf+OilGagIJJQaEKd9lSzhiKjHij5Eh3uA4EcDFKuwP/BVYGbnK7Zf3C6SClO3yPAJciQ3Qkms0AvNxLjFQBmBtpiT9PZbaVvQ5hbgm0q7gF8G7meqqG8BM0K9qRym7eGcgYp3Sb7pIxFJlRjNKpaHaysxfE6wAkkf8WsClKyfgWcKebzbSE01jqQn6gErBhEvl7oghyUIIw9J4CsqNrb3eGKw0TeMGNfxvC3A+RU3wFtIuXRo9/TFjW8i4sv4wqBEPFsK2AigmcCaxCWN6mha9pGAPODGGUnB7379zhH5yQGm4HbGMURb028KwXxK3KfhwDbI/UA7Z1Ed+gXbAspVoPu/ce4Q4vcu0jrl2YykzrTBT5/Q/kVE/rxqWzpJTTqZSXSrmFsHwoYfnx3r+KYUw/Zgij5DgJ7U6tClyQhgMkkf8M2q4H7XQ96/LaGsYL4u8CIXKo75pE/rPpNWecsppI99V4fhTKa5sF+EsS+fe4S1+hwpPj3PUy2s0LgM0Jy++j0lFQ2WUUYXkyUkd4OHP2QwxjiDPDGCXn8N4abdXvhirqpobpdVTiO+VFL4iP9IJ4pr769YK4gJQDAH6eRP6tNW47P/P3NEbJjWcTFCrwk8z53VEE9z8Iy08jZYLFCcsnEZa/dPekwZZFqgnLrxOW13DPfQXsSZhbsa/vZBjTkxnGKAG4COpd0IzmF6iibho7tDVyHN+LctaOBx70grg67WMqXhDPC9yASnBfSmWJWM3paLl1RRL5r2YvuK3/U93hz1w8U8r3XXseAGH5tRpxSqu79mHqEZZLSMpldOZdhjEkGVF13xrFLbcuQdvmdwN7Zo2FF8QbA39GukmTUMzPGdldMy+IxwK3ohCAR1AeW31htvpjOQ/YD+kirT9VJC7MLYj8RB8D8xGWa4cRhLn7UVrJEYTl39a8R/fNg3xnswNfIyz3WZDTMKYHM9RMKSWJ/GtRkusbKIu/5AXxQW4HjSTy70Db739E8U2nARemDnLHb5FBehPYrkWDtBsySF8AP6hSrVzDtRPqGiRxpmtPJMx9u+5dYfk9KrOp6vw6wxgyzJBGCSCJ/Alo6XMjMAda3jzoBfF2XhCPTiL/oyTyD0bLvU+Q0/hcAC+I9wUOQ07oHZLIb1rp0QviZYE/ucMfORnfLGmg54ReO1JV3N8i43kVYa46tilLupu3WnOjNYzBY4Y1SiD9IyQtuwPavVod6R0VvSD+Py+I53VaR+kMZCcviDekktR7cBL5/6RJvCCeFUVdz460lXrWaQtzY4E93FEtx3g1v0D63Aug2Kt6PODa7xHmZm1iyIYxaMzQRgkU3e2Wc0uj2c/LaLfqXOBNL4j/jozSa8gHdSdKrD0rifw/t/jaM9Hy8L/A/jUivHdCCcTPUb8yboWwPAmVWIJK7bta3IB26RZH39UwhhwzpKO7N9xu3M5Ix2hjYEyN2+4BNkki/8sa1/rqfx8kMfIZsFaVphJOKfJfyEjuT1g+r6GOw9xKwOPAq4Tl+qXEw9wmwG0ouXcpwnK1pK5hTFdm+JlSNUnkf5FE/iVJ5G+Osuz3B86mp2/n2BYN0vpU/Eg/rGGQcmhHb2ngKXqWXeqL1Bne+39lwvLtqN7cHCjg0zCGFDZTagIviM9EWfl3AJs2U3zAC+Ll0Lb/3MBpSeT3LK8d5uZAxmJdlIz77aa27cPc7ihW6kbC8rZ93Ls8Uk6YAqzoAjMNY0hgM6XmCFFu28bATxpVrvSCeGeURDs3EmH7ac9ep86Q1kUJuxu1EEeUOuMf6fUugLD8FIrDGoMUKW03zhgymFFqgiTy36WSBnIKcE5vqSheEC/ngiOvQDttVwG7JZH/1dSbwtxcKHF2HZSbtwFhedoyS70R5lZG0d9TgJsafOpIVDBTMihh7ntNvdMwBghbvrWAF8S7Imf1OGRI/o4My4cog38RYFsqib5fAj9GO3aVf/AwNxq4HqW4vAB8pwWDNBY5xlcHziAsN76rFuZmQSkwadXek4FfuGRew5gumFFqES+I10K62ov3cttEpNt9ZhL5NRJmcz9HVXM/AFYjLP+vqUHIqF2EJG5fAlaYqqnUXD/7oVipsWhWt1cm4dcwBhUzSv3AC+IxqPruJijlZDRKO3kLBTNenUT+xzUfDnOroh290cBWhOW45n31kJTtOcD/ofy4TQjL/2rpi6i/TYFr0DKz8VAEw2gzZpTahYzEyehHfSVwL2H5K3dtHPDl1GOduw5Fkze35Kq86zRU7PIzYAvC8t39/AY4v9L5buzr93W7YQwEZpTahdI2PsmceRMt3xZEMUFvI/3uPwOLInWCzwGPsFytGtnbe0YBJyChty+AbQjLtTScmkfFCN5EvjKvaf+WYbQB231rF2H5UyD1Cb2PjNFSyCB9BcyPyhw9R6WU9/lNGSRxADJIk4Cd22aQAMLyh1SCROvqSBnGQGJGqb2k0iA/RflzHSg2aSakp31J1f2/bOEdP5jahuUbWhlkXeQ4T5UpH29r34bRIGOn9wBGGEWUN7c0YfmCqmv/Av5FmPuMVFEyLL9LM4S5RdAM5hOmNXDtIK3I+xJh+aUB6N8w+sRmSu0lNTJz17yqem3fr3mtMTZw7cv0lePWLIpZSuV8721r34bRBGaU2sv7rp2nzvVTehyFuT4LE1TxGKposixwfds0kTSOv6LQhreAX7WlX8NoAVu+tZdUxH9aadwwtwHSScpSJsz9Du2igYzaFYTlt6lFWC4R5jZE0iMqchDmDiYsP9TSaLUc3B/FOi2Cgjg3ISw/11J/htEGLCSgXYS5RdHO2iwoOvvRzLWxwKNI2O1/SMCtHl+gKPBT6xaNDHPLoQTeVDepCzjFJdr2Nc55UNHMnYGNqOhFlYB9WjZwhtEmzCi1izB3MUr3uIqwvHPVtYOQBviLqLbbKpmrp6B4Jdz5LYFRaMt/Y8LyPdRCMUVHAocjJUyQBtOVqJz322jmtRQqFFBAvqh9kIImKFTheje2uwnL9n8GY7pjRqkdhLl9UWDkZ8BKhOX/Zq7Ni2Rv5wGORf6aj5HR8IAfEpbPytz/DXfPHu6e1QjLL/fy7m+g+Kcdqedgr1BGBmlmlCS8fdPpLYYxwJhR6i+Sof03ioLel7B8UdX1s4CDUDHKp4BDkJLlHSjX7A0kS/tx5pmxSPBtY+CfwHp9zmLC3Mzu/i2AhVGw5rxodrQKCuY8Ai37LkUzpy+ANQjL/6nVpWFMD8wo9Qdtoz+C4nvOJyx/v+r6imjHbAqwNpI3mQsZiSeQntHqwEmE5aDq2XmBV5GPas6Wsv/VTw6ljsyMSn6/4sZ9ASoLPgFYp0denmFMRywkoH8cjQzSsyg5toJy1E5H/8Zno+juuYCHCcuPu5nPwchg/YQwV+j5fPldNIsCzXpaZXtk2O4lLL/i+v4cOBAZvTXQ7M0whgRmlFolzK2A6q1NAb5HWP6k6o4dUbDju8iX9H/u/J+m3qGdrrNQaMZFhLnZqvpIQwMW6MdId3ftpT3HX/6QSlmmrfrRv2G0FTNKrbMr2k6/gLB8f48rYW48qloLmk0tCKwHfIS2+7MchcIEVgUuI8yNcX0sjvw+oB275glzC6GASJD/KntteTRbAjippf4NYwCw4MnW2cC119e49jOkSPkEkipJI7kvm8Y3FJY/JMz5qHrtNsBNhLmbkdN6FuDyHrt5zbFf5u+rCXMxklPZ1vU/M/AnV3bJMIYE5uhuBYm2fYiy/+cmLH+QubYEihMaB6yPnNmvopCANQjLD1d35577NnKEz5w5+wXQQVh+ocVx9vY/7hSkLb6rW8oZxpDAZkqtMQnFGs0FfAuVTUo5BRmkKwjL97p6bPOgXbj65Y907wrAZsBqwApA11SDFOY8ZOQ2QMUqP0NqAR8A1wJ/c+W7XX+5b2R6/yNwHwrMnA2FG9xEWH6z6W9uGAOMzZRaJcz9CDgVBUYWCMtfEOa+g+KRPgWWJSy/TJi7CxmSAwnL57T4rj+hHLXeeA050SPC8ueEuaOB49y10wjLh9d/1DCGDubobp2zgGeAZYCDXMDj6e7aic4gzUHF95RzYQLNEea2RAbpc+R3egQFXr6IorLT2dEiqFjmVS6Qco9ML+tgGMMEM0qtohJEaWHKY1EeWgFIqOy8fYQE/kGllK4jzC3Z+Dty44Az3NGlwDfQ0m5jVERyJqZdgm8NPI3iotIySatO3dUzjCGOLd/6g2Y+fwc2zZzdgbB8bdV9OwLnIVXHySg+6K9oh25FNMsJpkn3CHM7UIklKrvnHwHuRMavjGZqqyJjVM3FwN5oljWrJdwawwEzSv1FuW+Pu6N/oMz+af9R5aj+NbAbtTcYngNW7REyEOYOpbIkBLgZ2NEVKaju/2wq+t0pnUjW5EXCstfAtzGM6Y4t3/pPVmXysLqzkbCcEJb3BpZE9eHuRjFMhwD/QRIjp1Y9NW/V8S41DVL6boUfZEmXb81WTDGM6YaFBPQHLd/+XDkuP9n3M+VXkNRItp9/oUoo29NTwzuX+ftjwvJHvfT7BWHuGmDNzNl0WWnJtsawwWZK/WNH5HwGBVO2Sjq7eq3q/P8yf3/iSiD1xvNVx+lSsC1a3qWO/LyljvyOpY78uHb0Zxi1MKPUKmFudirVP6B//5ZLu7ZaG/uxzN/zI1WB3vg3cqSnpGWSxrc+NFHqyOeAe4CrgAdKHfml+3jEMFrClm+tEObWBS4EFkP5bcsDsxPmxtdQC2iENJO/WmP7cTSLSuObIqeFNAF4EvmzlgC+hgI230Gzt/PctXSm9FkLY5pKqSM/FrgCfU+QHtSjpY781vnu0t396dswqjGj1AwqafQbpIs9ChmRXVF1kcWQGkBzeWphbjOUiPsRCsjMXCtPJMxdTaUKyniqyzTV53WUcwetqgxU+BlKf3kHqQ6cioJCt6JSgtww2oIt3xolzK2DZi4/RrOXE5B+djdSdgQZpWb6zCMBOIBfE5Zfr3HXz6jMdK4CzkWVUT5GsUr3oMDKa6jUnQMFdKbLtg+aGte0pDO191BaTbqb93Q/+zWMabCZUl9ohy1AM6TR6Ie4D2F5Quau1Cg1JsamPvdCBmk8Mnan1763nBDmTgZ+iZZmJwBru4jybJ8zUakfB1pepnXoNiDMzdGypK58Z7sDy7n3p9VYii32Zxh1MaPUG9rtOhVJ3U5BqSK/IixX+2gamykpP24HNNtKt+4vQcm6X9R9Tom1o5Ag3FHAzoS5+9CMKQHmRCJyKTsQlicR5h5E+XLfRMqXWcd8w+S7S5+VOvJ7Aw+ieKiUI0sd+Z3y3aVJdR41jKaxiO7eqGTnfwHsQVi+us59J6LZ1DGE5d9UXRsFrIyKP+6BfE+gpdARwIUNp39Ic+mSTB/1GD21TwnI/Q2V4162h/ZTk5Q68j9i2gDPi4F9892lydM+YRjNYzOleoS5tZFB+hTYmrB8Zy9395wpyRAVkCHamcqWP8gncypwcdM7ddJcSnPdVkXJuQsjn9Eu7q6dqozczcD9SPfpV/Sc6TTL6SjR94DMub3Rdzq+H/0axlRsplSPMHcnsCFwAmH5qD7u3Q24DG3TX4sMUUfmjrdRYu2VqKpI+2cVYe4FVNxyacLyc1XXVkJLPYBV+lPnrdSRnwklBK+H4qDSWdvW+e6SFbY0+o3NlGoR5pZDBgm0u9UX6b/jCu4DqmJyDYrvubeHKmS7ke/ra+7o1Rp3vObGMz/yZbVslPLdpS9LHfkfoPisxYDrgO8Cl5Q68t/Id5f6G35gzOBYSEBtXqaS+R8T5o7sI8Xjp5m/z0cxPQsTlg8gLP9jQA2SGEUlv61n6W6VbboCGaR/A39p9SWljvwogHx36Wmk8zQKGeR/IGngviLODaNPbPlWDwmsnYACJQFuAPacJilWom1pjtqjhOXVBm2MPcdxAwrClOxumJsHGYnDkNrAGyiuqjq/ri6ljryHgiRTH9aSwGL57tLkUkd+IeAVtCu5BzJ87wBL5LtLrUS1GwZgM6X6hOXPCMs/BrZAjuRtgftdLbUs52b+3nyQRleL6137XcLcwShU4NfIID0IbNGkQVoQyf1eiORV1kVidB5Avrv0BnKij0VLxwnAfCjC3TBaxoxSX4TlvwNrofSRlYB9q+74O9It2o2w/DbTj7SiyibAH4A5UMmm7wDrEJYfb7K/pVC5pzdQJeDNgAXy3aWsckGXa3dBy1YAv+mRG0YGW741Spi7HWljTyt3O70JcwuitJK04u2bwMGE5WvqP9Q7pY78dsiJ/bd8d6mW1C6ljvwcaBY5GcViPYkkXObLd5e+rPWMYfSF7b41gkT313JH/55O7z8FzUI+QtrcnwGzo2jupVG6ymTgAqT3/W6rryt15EejJRtMK6cylXx3aWKpI/8oSmdZBC33lnXH/2r1/caMjRmlxpgPLYc+Q1vrg4cM0sVU5E3qcSNwJGG5Wv6kFX6IQiLeRqk1vXEvMkLfRPpPyyLhOzNKRkuYUWqMt1Bsz4ooJuevg/juPyCD9BEqOvAmkskdh/SSPgTedjK7/abUkd8AaYgDHJDvLr3pzo9G339FFKNUdKklqQTwMlRE5RZvx1iMGRMzSo0Qlqe4aiFnA8cR5pZCEdJPAq/3kUzbj/fmRqNEWtDu2f0D8h5HqSO/LnKYzwKcne8uXVfqyK+A8vo2RbFOKe+UOvK3onLg0HN21FdunmHUxRzdjaJqty8wbYUR0JLuRSBGmkdPtqXGWpgbj3STPicsD6gudqkjvyoSbJsDBVjui+KcTkZGChSX9AjKuVu0qouPkfrBucCf892l/8MwWsBCAhpFWkQrAnsCv0c/4NeRc3leFFx4DFrmPUWY+57TOOoPqeB/vbJKbaHUkV8KuAUZpCuBg9DO2+nIIJ0P5IHF892l7dDyrAO4K9PNbKhiL1RKiRtG09hMqb/IET0f2hLfAZVJms9dfQHthF3ZYt+zIYmTmVERypa3+OtR6sgvgHYUl0Syvjsgw7QFUrLcP99duiZz/0zIr5YGVGY5HCkgnJnvLh3a7rEaMwY2U+o/k9EMYVbkEH8ic21J4HLC3Jwt9RyWP0b+HICLnHxuu/ktGufDyJF+MTJI7wDfSg1SqSO/eKkjfznSlrocGaSskuWnVHxJVvzSaBlzdLdKmNsGOaFXp7bi5Dvoh34jPX+8zXIaipHaBXiAMHcEcEE75E9KHfm1kCzvF6jk9zUo1+0DlDIzf6kj/y9g7TpdfIKWfCBVy1Qmt7u/YzNmXGz51iph7n9ohgEKZnwY5X897D4vtcXZrXfNjhJet3Rn7gUOcEULWqbUkb8LGaHXkaN6KRRycAuwT53HJqNlaVqE831gn3x36cZSR/554OvACvnuUjvipYwZEDNKrRLmikg7aSvg5rYZoPrvG4WSXU9HW/NfoGIGJ7UaklDqyKdCdn1xP/D9fHfpmcyzc6M6cKV8d+ndUkd+cbQDORGY19JMjFYxo9QqYe4OYCNgc8LyrYP43nlQysn33JnHgbVaMUyljvwYlKJSQIburKpbDgAuaUSKpNSRPwA4B7gu3136brNjMYwU8ym1zsuu3QwYPKOk7fYzkd/nx2jXbyEq0dQNk+8ufYX8P93OQG2Idt92BK7Nd5ea+S9Wqg5wc7PjMIwsNlNqlTC3OtIpmoLE057o44lW3zMb2una0H1Wo+eu6RRgXsLy+zWeHhRKHfnxyLE/K/C1fHepYd0mw6jGjFJ/CHOno5pw/0P12K4iLH/V+0N99rkAsAbacdsA7XxlgzAnoWz8l93nLsLyYObiTUOpI78tEpmbkO8urdnH7YbRK7Z86x/HII2l5VCSbkiYuxjFKj0BvNrDAS5n9XiUULswkvtYFGXWL+v6qU5mnYx29e5CWtj3u/ilocRWrr1huo7CGBHYTKm/hLmZgU7gSJxUbIbJSJXySySyP961vfExyi+bgJJd7+lPAcnBoNSRfwz5ttbNd5cemM7DMYY5ZpTahfLctgfWQbK5KwHz1LjzU7Rt/joqffQa8CxyOD8DPNvvJeAgUurIj0WGdGZgznx3qT+BooZhRmnA0FJtrPvMhBzSnwwng9MIpY58HngaSPLdpSX7ut8w+sJ8SgOFfEnp0m1As/ynM2m6i/3XzWgLlpBr9JcXkGFaotSRn3l6D8YY/phRMvpFvrv0BaoxN5pKyXLDaBkzSkY7uN21v5quozBGBGaUjHYQoh3FrUod+elZJdgYAZhRMvqNK+F9nDs8s9SRn7W3+w2jN8woGe3idOAppMl07HQeizGMsTglo22UOvJrAw+g3bg1892lR6fzkIxhiM2UjLaR7y79GzgDGEPfFX0NoyYWPGm0m6OBfwJXT++BGMMTW74ZhjGksOWbYRhDCjNKhmEMKcwoGYYxpDCjZBjGkMKMkmEYQwozSoZhDCnMKBmGMaQwo2QYxpDCjJJhGEMKM0qGYQwpzCgZhjGkMKNkGMaQwoySYRhDCjNKhmEMKcwoGYYxpDCjZBjGkMKMkmEYQwozSoZhDCnMKBmGMaQwo2QYxpDCjJJhGEMKM0qGYQwpzCgZhjGkMKNkGMaQwoySYRhDCjNKhmEMKcwoGYYxpDCjZBjGkMKMkmEYQ4r/Bw0uZ4kP5BxrAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_strokes(spliced_strokes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_strokes(deltas_to_strokes(deltas))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Install" + "### Working with Stroke-3 Data\n", + "\n", + "The datasets for SketchRNN are based on Google's [QuickDraw dataset](https://github.com/googlecreativelab/quickdraw-dataset).\n", + "\n", + "Each numpy `npz` file has a `train` and `valid` entry, each of which is an array of stroke-3 data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--2024-03-09 21:50:41-- https://storage.googleapis.com/singleline-datasets/v1/epoch-20231214-trainval.npz\n", + "Resolving storage.googleapis.com (storage.googleapis.com)... 2607:f8b0:4006:81e::201b, 2607:f8b0:4006:81d::201b, 2607:f8b0:4006:824::201b, ...\n", + "Connecting to storage.googleapis.com (storage.googleapis.com)|2607:f8b0:4006:81e::201b|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 16584598 (16M) [application/octet-stream]\n", + "Saving to: ‘epoch-20231214-trainval.npz.2’\n", + "\n", + "epoch-20231214-trai 100%[===================>] 15.82M 46.9MB/s in 0.3s \n", + "\n", + "2024-03-09 21:50:42 (46.9 MB/s) - ‘epoch-20231214-trainval.npz.2’ saved [16584598/16584598]\n", + "\n" + ] + } + ], + "source": [ + "# download a dataset\n", + "!wget https://storage.googleapis.com/singleline-datasets/v1/epoch-20231214-trainval.npz" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "num drawings in dataset: 2400\n" + ] + }, + { + "data": { + "text/plain": [ + "array([[0.0, 70.17511113473614, 0.0],\n", + " [3.5628420515071895, 10.158300414396564, 0.0],\n", + " [3.9570533499574054, 6.056198233013305, 0.0],\n", + " [-0.7156819364732456, -3.692830289126249, 0.0],\n", + " [7.309693891169843, 4.8343845911431345, 0.0]], dtype=object)" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "\n", + "ds = np.load('epoch-20231214-trainval.npz', encoding='latin1', allow_pickle=True)['train']\n", + "print(f\"num drawings in dataset: {ds.shape[0]}\")\n", + "\n", + "ds[1][:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "```sh\n", - "pip install singleline_dataset\n", - "```" + "#### Stroke-3 Transformations\n", + "\n", + "It's helpful to convert back and forth between the formats **`deltas`**, **`points`**, and **`strokes`**.\n", + "\n", + "**`deltas`** is what I call stroke-3 formatted data. It's one list of entries with the following format:\n", + "\n", + "- `delta_x`\n", + "- `delta_y`\n", + "- `lift_pen` (`0` if pen is down, `1` if the pen should lift and start a new stroke)\n", + "\n", + "**`points`** is like `deltas`, except with absolute coordinates instead of deltas. This is helpful for understanding the upper/lower x and y boundaries for a drawing.\n", + "\n", + "- `abs_x`\n", + "- `abs_y`\n", + "- `lift_pen`\n", + "\n", + "**`strokes`** is a list of lists of coordinates. Instead of needing a `lift_pen` column, each stroke is a separate list of absolute coordinates:\n", + "\n", + "- `abs_x`\n", + "- `abs_y`\n", + "\n", + "`singleline_dataset.transforms` provides the following converter functions:\n", + "\n", + "- `deltas_to_points`\n", + "- `points_to_strokes`\n", + "- `deltas_to_strokes`\n", + "- `strokes_to_deltas`\n", + "- `strokes_to_points`\n", + "- `points_to_deltas`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.0, 70.17511113473614, 0.0],\n", + " [3.5628420515071895, 80.3334115491327, 0.0],\n", + " [7.519895401464595, 86.38960978214601, 0.0],\n", + " [6.804213464991349, 82.69677949301976, 0.0],\n", + " [14.113907356161192, 87.5311640841629, 0.0]], dtype=object)" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from singleline_dataset.transforms import *\n", + "\n", + "points = deltas_to_points(ds[1])\n", + "\n", + "points[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.0, 70.17511113473614, 0.0],\n", + " [3.5628420515071895, 80.3334115491327, 0.0],\n", + " [7.519895401464595, 86.38960978214601, 0.0],\n", + " [6.804213464991349, 82.69677949301976, 0.0],\n", + " [14.113907356161192, 87.5311640841629, 0.0]], dtype=object)" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "strokes = deltas_to_strokes(ds[1])\n", + "\n", + "strokes[0][:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## How to use" + "There are also helper functions for applying affine transformations to lists of `points`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "_ = apply_transform(\n", + " points[:,:2], # omit the lift_pen field to run affine transforms\n", + " scale_xform(sx=2, sy=2).dot(rotate_xform(45))\n", + ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Fill me in please! Don't forget code examples:" + "There's a helper class to create a bounding box, given a list of points:" ] }, { @@ -71,7 +370,7 @@ { "data": { "text/plain": [ - "2" + "BBox((0.0, 0.0), (39.35575901061327, 200.00000000000003)) (width 39.35575901061327 x height 200.00000000000003)" ] }, "execution_count": null, @@ -80,7 +379,106 @@ } ], "source": [ - "1+1" + "bb = BoundingBox.create(points)\n", + "bb" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7871.151802122655" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bb.area()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "_ = apply_transform(\n", + " points[:,:2],\n", + "\n", + " # affine transformation to scale the coordinates down to a range between 0 and 1 (preserving aspect ratio)\n", + " bb.normalization_xform()\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Displaying Stroke-3 Data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from singleline_dataset.display import *" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_strokes(strokes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "transformed_points = apply_transform(\n", + " points[:,:2], # omit the lift_pen field to run affine transforms\n", + " translate_xform(tx=100,ty=0).dot(scale_xform(sx=2, sy=2)).dot(rotate_xform(45))\n", + ")\n", + "\n", + "# add the lift_pen column back in after applying transformation\n", + "transformed_points = np.concatenate([transformed_points, points[:,2].reshape((transformed_points.shape[0], 1))], axis=1)\n", + "\n", + "plot_strokes(points_to_strokes(transformed_points))" ] }, {