├── .gitignore
├── README.md
├── CONTRIBUTING.md
├── LICENSE
└── Delta_Orthogonal_Convolution_Demo.ipynb
/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | .DS_Store
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | This repository contains a short colab notebook demonstrating the use of a Delta-Orthogonal initialization at criticality to train a deep convolutional neural network.
2 |
3 | Link to open and run the notebook in a sandbox environment: [Delta-Orthogonal demo](https://colab.sandbox.google.com/github/brain-research/mean-field-cnns/blob/master/Delta_Orthogonal_Convolution_Demo.ipynb)
4 |
5 | This is based on the paper:
6 | > Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,000-Layer Vanilla Convolutional Neural Networks
7 | > Lechao Xiao, Yasaman Bahri, Jascha Sohl-Dickstein, Samuel S. Schoenholz, Jeffrey Pennington
8 | > International Conference on Machine Learnig, 2017 [arXiv/1806.05393](https://arxiv.org/pdf/1806.05393.pdf)
9 |
10 | This is not an official Google product.
11 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # How to Contribute
2 |
3 | We'd love to accept your patches and contributions to this project. There are
4 | just a few small guidelines you need to follow.
5 |
6 | ## Contributor License Agreement
7 |
8 | Contributions to this project must be accompanied by a Contributor License
9 | Agreement. You (or your employer) retain the copyright to your contribution;
10 | this simply gives us permission to use and redistribute your contributions as
11 | part of the project. Head over to to see
12 | your current agreements on file or to sign a new one.
13 |
14 | You generally only need to submit a CLA once, so if you've already submitted one
15 | (even if it was for a different project), you probably don't need to do it
16 | again.
17 |
18 | ## Code reviews
19 |
20 | All submissions, including submissions by project members, require review. We
21 | use GitHub pull requests for this purpose. Consult
22 | [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
23 | information on using pull requests.
24 |
25 | ## Community Guidelines
26 |
27 | This project follows [Google's Open Source Community
28 | Guidelines](https://opensource.google.com/conduct/).
29 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | Apache License
3 | Version 2.0, January 2004
4 | http://www.apache.org/licenses/
5 |
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7 |
8 | 1. Definitions.
9 |
10 | "License" shall mean the terms and conditions for use, reproduction,
11 | and distribution as defined by Sections 1 through 9 of this document.
12 |
13 | "Licensor" shall mean the copyright owner or entity authorized by
14 | the copyright owner that is granting the License.
15 |
16 | "Legal Entity" shall mean the union of the acting entity and all
17 | other entities that control, are controlled by, or are under common
18 | control with that entity. For the purposes of this definition,
19 | "control" means (i) the power, direct or indirect, to cause the
20 | direction or management of such entity, whether by contract or
21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
22 | outstanding shares, or (iii) beneficial ownership of such entity.
23 |
24 | "You" (or "Your") shall mean an individual or Legal Entity
25 | exercising permissions granted by this License.
26 |
27 | "Source" form shall mean the preferred form for making modifications,
28 | including but not limited to software source code, documentation
29 | source, and configuration files.
30 |
31 | "Object" form shall mean any form resulting from mechanical
32 | transformation or translation of a Source form, including but
33 | not limited to compiled object code, generated documentation,
34 | and conversions to other media types.
35 |
36 | "Work" shall mean the work of authorship, whether in Source or
37 | Object form, made available under the License, as indicated by a
38 | copyright notice that is included in or attached to the work
39 | (an example is provided in the Appendix below).
40 |
41 | "Derivative Works" shall mean any work, whether in Source or Object
42 | form, that is based on (or derived from) the Work and for which the
43 | editorial revisions, annotations, elaborations, or other modifications
44 | represent, as a whole, an original work of authorship. For the purposes
45 | of this License, Derivative Works shall not include works that remain
46 | separable from, or merely link (or bind by name) to the interfaces of,
47 | the Work and Derivative Works thereof.
48 |
49 | "Contribution" shall mean any work of authorship, including
50 | the original version of the Work and any modifications or additions
51 | to that Work or Derivative Works thereof, that is intentionally
52 | submitted to Licensor for inclusion in the Work by the copyright owner
53 | or by an individual or Legal Entity authorized to submit on behalf of
54 | the copyright owner. For the purposes of this definition, "submitted"
55 | means any form of electronic, verbal, or written communication sent
56 | to the Licensor or its representatives, including but not limited to
57 | communication on electronic mailing lists, source code control systems,
58 | and issue tracking systems that are managed by, or on behalf of, the
59 | Licensor for the purpose of discussing and improving the Work, but
60 | excluding communication that is conspicuously marked or otherwise
61 | designated in writing by the copyright owner as "Not a Contribution."
62 |
63 | "Contributor" shall mean Licensor and any individual or Legal Entity
64 | on behalf of whom a Contribution has been received by Licensor and
65 | subsequently incorporated within the Work.
66 |
67 | 2. Grant of Copyright License. Subject to the terms and conditions of
68 | this License, each Contributor hereby grants to You a perpetual,
69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70 | copyright license to reproduce, prepare Derivative Works of,
71 | publicly display, publicly perform, sublicense, and distribute the
72 | Work and such Derivative Works in Source or Object form.
73 |
74 | 3. Grant of Patent License. Subject to the terms and conditions of
75 | this License, each Contributor hereby grants to You a perpetual,
76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77 | (except as stated in this section) patent license to make, have made,
78 | use, offer to sell, sell, import, and otherwise transfer the Work,
79 | where such license applies only to those patent claims licensable
80 | by such Contributor that are necessarily infringed by their
81 | Contribution(s) alone or by combination of their Contribution(s)
82 | with the Work to which such Contribution(s) was submitted. If You
83 | institute patent litigation against any entity (including a
84 | cross-claim or counterclaim in a lawsuit) alleging that the Work
85 | or a Contribution incorporated within the Work constitutes direct
86 | or contributory patent infringement, then any patent licenses
87 | granted to You under this License for that Work shall terminate
88 | as of the date such litigation is filed.
89 |
90 | 4. Redistribution. You may reproduce and distribute copies of the
91 | Work or Derivative Works thereof in any medium, with or without
92 | modifications, and in Source or Object form, provided that You
93 | meet the following conditions:
94 |
95 | (a) You must give any other recipients of the Work or
96 | Derivative Works a copy of this License; and
97 |
98 | (b) You must cause any modified files to carry prominent notices
99 | stating that You changed the files; and
100 |
101 | (c) You must retain, in the Source form of any Derivative Works
102 | that You distribute, all copyright, patent, trademark, and
103 | attribution notices from the Source form of the Work,
104 | excluding those notices that do not pertain to any part of
105 | the Derivative Works; and
106 |
107 | (d) If the Work includes a "NOTICE" text file as part of its
108 | distribution, then any Derivative Works that You distribute must
109 | include a readable copy of the attribution notices contained
110 | within such NOTICE file, excluding those notices that do not
111 | pertain to any part of the Derivative Works, in at least one
112 | of the following places: within a NOTICE text file distributed
113 | as part of the Derivative Works; within the Source form or
114 | documentation, if provided along with the Derivative Works; or,
115 | within a display generated by the Derivative Works, if and
116 | wherever such third-party notices normally appear. The contents
117 | of the NOTICE file are for informational purposes only and
118 | do not modify the License. You may add Your own attribution
119 | notices within Derivative Works that You distribute, alongside
120 | or as an addendum to the NOTICE text from the Work, provided
121 | that such additional attribution notices cannot be construed
122 | as modifying the License.
123 |
124 | You may add Your own copyright statement to Your modifications and
125 | may provide additional or different license terms and conditions
126 | for use, reproduction, or distribution of Your modifications, or
127 | for any such Derivative Works as a whole, provided Your use,
128 | reproduction, and distribution of the Work otherwise complies with
129 | the conditions stated in this License.
130 |
131 | 5. Submission of Contributions. Unless You explicitly state otherwise,
132 | any Contribution intentionally submitted for inclusion in the Work
133 | by You to the Licensor shall be under the terms and conditions of
134 | this License, without any additional terms or conditions.
135 | Notwithstanding the above, nothing herein shall supersede or modify
136 | the terms of any separate license agreement you may have executed
137 | with Licensor regarding such Contributions.
138 |
139 | 6. Trademarks. This License does not grant permission to use the trade
140 | names, trademarks, service marks, or product names of the Licensor,
141 | except as required for reasonable and customary use in describing the
142 | origin of the Work and reproducing the content of the NOTICE file.
143 |
144 | 7. Disclaimer of Warranty. Unless required by applicable law or
145 | agreed to in writing, Licensor provides the Work (and each
146 | Contributor provides its Contributions) on an "AS IS" BASIS,
147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148 | implied, including, without limitation, any warranties or conditions
149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150 | PARTICULAR PURPOSE. You are solely responsible for determining the
151 | appropriateness of using or redistributing the Work and assume any
152 | risks associated with Your exercise of permissions under this License.
153 |
154 | 8. Limitation of Liability. In no event and under no legal theory,
155 | whether in tort (including negligence), contract, or otherwise,
156 | unless required by applicable law (such as deliberate and grossly
157 | negligent acts) or agreed to in writing, shall any Contributor be
158 | liable to You for damages, including any direct, indirect, special,
159 | incidental, or consequential damages of any character arising as a
160 | result of this License or out of the use or inability to use the
161 | Work (including but not limited to damages for loss of goodwill,
162 | work stoppage, computer failure or malfunction, or any and all
163 | other commercial damages or losses), even if such Contributor
164 | has been advised of the possibility of such damages.
165 |
166 | 9. Accepting Warranty or Additional Liability. While redistributing
167 | the Work or Derivative Works thereof, You may choose to offer,
168 | and charge a fee for, acceptance of support, warranty, indemnity,
169 | or other liability obligations and/or rights consistent with this
170 | License. However, in accepting such obligations, You may act only
171 | on Your own behalf and on Your sole responsibility, not on behalf
172 | of any other Contributor, and only if You agree to indemnify,
173 | defend, and hold each Contributor harmless for any liability
174 | incurred by, or claims asserted against, such Contributor by reason
175 | of your accepting any such warranty or additional liability.
176 |
177 | END OF TERMS AND CONDITIONS
178 |
179 | APPENDIX: How to apply the Apache License to your work.
180 |
181 | To apply the Apache License to your work, attach the following
182 | boilerplate notice, with the fields enclosed by brackets "[]"
183 | replaced with your own identifying information. (Don't include
184 | the brackets!) The text should be enclosed in the appropriate
185 | comment syntax for the file format. We also recommend that a
186 | file or class name and description of purpose be included on the
187 | same "printed page" as the copyright notice for easier
188 | identification within third-party archives.
189 |
190 | Copyright [yyyy] [name of copyright owner]
191 |
192 | Licensed under the Apache License, Version 2.0 (the "License");
193 | you may not use this file except in compliance with the License.
194 | You may obtain a copy of the License at
195 |
196 | http://www.apache.org/licenses/LICENSE-2.0
197 |
198 | Unless required by applicable law or agreed to in writing, software
199 | distributed under the License is distributed on an "AS IS" BASIS,
200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201 | See the License for the specific language governing permissions and
202 | limitations under the License.
203 |
--------------------------------------------------------------------------------
/Delta_Orthogonal_Convolution_Demo.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "name": "Delta-orthogonal convolution demo",
7 | "version": "0.3.2",
8 | "views": {},
9 | "default_view": {},
10 | "provenance": [
11 | {
12 | "file_id": "https://github.com/brain-research/mean-field-cnns/blob/master/Delta_Orthogonal_Convolution_Demo.ipynb",
13 | "timestamp": 1531939751373
14 | },
15 | {
16 | "file_id": "https://github.com/brain-research/mean-field-cnns/blob/master/Delta_Orthogonal_Convolution_Demo.ipynb",
17 | "timestamp": 1531087430434
18 | },
19 | {
20 | "file_id": "/piper/depot/google3/experimental/users/xlc/tutorial/delta-orthogonal/Delta_Orthogonal_Convolution_Tutorial.ipynb?workspaceId=xlc:delta-tutorial::citc",
21 | "timestamp": 1530912596374
22 | },
23 | {
24 | "file_id": "1jCrtgpsARtzdK15DU3n_Fg7sg3i8Z_zH",
25 | "timestamp": 1530817417472
26 | }
27 | ],
28 | "collapsed_sections": [
29 | "yM4dNJo5vTNK"
30 | ]
31 | },
32 | "kernelspec": {
33 | "name": "python2",
34 | "display_name": "Python 2"
35 | },
36 | "accelerator": "GPU"
37 | },
38 | "cells": [
39 | {
40 | "metadata": {
41 | "id": "yM4dNJo5vTNK",
42 | "colab_type": "text"
43 | },
44 | "cell_type": "markdown",
45 | "source": [
46 | "##### Copyright 2018 Google LLC.\n",
47 | "\n",
48 | "Licensed under the Apache License, Version 2.0 (the \"License\");"
49 | ]
50 | },
51 | {
52 | "metadata": {
53 | "id": "gXsmXsnSvSWg",
54 | "colab_type": "code",
55 | "colab": {
56 | "autoexec": {
57 | "startup": false,
58 | "wait_interval": 0
59 | }
60 | }
61 | },
62 | "cell_type": "code",
63 | "source": [
64 | "#@title Delta Orthogonal Convolution Tutorial\n",
65 | "# Licensed under the Apache License, Version 2.0 (the \"License\");\n",
66 | "# you may not use this file except in compliance with the License.\n",
67 | "# You may obtain a copy of the License at\n",
68 | "#\n",
69 | "# https://www.apache.org/licenses/LICENSE-2.0\n",
70 | "#\n",
71 | "# Unless required by applicable law or agreed to in writing, software\n",
72 | "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
73 | "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
74 | "# See the License for the specific language governing permissions and\n",
75 | "# limitations under the License."
76 | ],
77 | "execution_count": 0,
78 | "outputs": []
79 | },
80 | {
81 | "metadata": {
82 | "id": "TgkHGgykhOgv",
83 | "colab_type": "text"
84 | },
85 | "cell_type": "markdown",
86 | "source": [
87 | "# Initialization"
88 | ]
89 | },
90 | {
91 | "metadata": {
92 | "id": "zkS604HdvdOc",
93 | "colab_type": "code",
94 | "colab": {
95 | "autoexec": {
96 | "startup": false,
97 | "wait_interval": 0
98 | },
99 | "base_uri": "https://localhost:8080/",
100 | "height": 85
101 | },
102 | "outputId": "36f03d7a-c1b9-45d1-e10e-9ab1e5ca3b73",
103 | "executionInfo": {
104 | "status": "ok",
105 | "timestamp": 1531952465146,
106 | "user_tz": 420,
107 | "elapsed": 954,
108 | "user": {
109 | "displayName": "Jascha Sohl-dickstein",
110 | "photoUrl": "//lh4.googleusercontent.com/-ExW5fXMTwx8/AAAAAAAAAAI/AAAAAAAAHWQ/PTjU7Pqr6RY/s50-c-k-no/photo.jpg",
111 | "userId": "111059308654884078644"
112 | }
113 | }
114 | },
115 | "cell_type": "code",
116 | "source": [
117 | "import matplotlib.pylab as plt\n",
118 | "import numpy as np\n",
119 | "import tensorflow as tf\n",
120 | "import warnings\n",
121 | "\n",
122 | "from scipy.integrate import quad, dblquad\n",
123 | "from tensorflow.examples.tutorials.mnist import input_data\n",
124 | "\n",
125 | "mnist = input_data.read_data_sets(\"MNIST_data/\", one_hot=True)"
126 | ],
127 | "execution_count": 9,
128 | "outputs": [
129 | {
130 | "output_type": "stream",
131 | "text": [
132 | "Extracting MNIST_data/train-images-idx3-ubyte.gz\n",
133 | "Extracting MNIST_data/train-labels-idx1-ubyte.gz\n",
134 | "Extracting MNIST_data/t10k-images-idx3-ubyte.gz\n",
135 | "Extracting MNIST_data/t10k-labels-idx1-ubyte.gz\n"
136 | ],
137 | "name": "stdout"
138 | }
139 | ]
140 | },
141 | {
142 | "metadata": {
143 | "id": "AQDA6OyOK2mT",
144 | "colab_type": "text"
145 | },
146 | "cell_type": "markdown",
147 | "source": [
148 | "## Helper functions and class for mean field calculations."
149 | ]
150 | },
151 | {
152 | "metadata": {
153 | "id": "nVt1knDlyJrj",
154 | "colab_type": "code",
155 | "colab": {
156 | "autoexec": {
157 | "startup": false,
158 | "wait_interval": 0
159 | }
160 | }
161 | },
162 | "cell_type": "code",
163 | "source": [
164 | "def gauss_density(x):\n",
165 | " return np.exp(-x**2/2)/np.sqrt(2*np.pi)\n",
166 | "\n",
167 | "def d_tanh(x):\n",
168 | " \"\"\"Derivative of tanh.\"\"\"\n",
169 | " return 1./ np.cosh(x)**2"
170 | ],
171 | "execution_count": 0,
172 | "outputs": []
173 | },
174 | {
175 | "metadata": {
176 | "id": "z6Ps0zhZF2yT",
177 | "colab_type": "code",
178 | "colab": {
179 | "autoexec": {
180 | "startup": false,
181 | "wait_interval": 0
182 | }
183 | }
184 | },
185 | "cell_type": "code",
186 | "source": [
187 | "class MeanField(object):\n",
188 | " def __init__(self, f, df):\n",
189 | " \"\"\"\n",
190 | " Args: \n",
191 | " f: activation function\n",
192 | " df: derivative of f. \n",
193 | " \"\"\"\n",
194 | " self.f = f\n",
195 | " self.df = df\n",
196 | " \n",
197 | " def qmap_density(self, x, q):\n",
198 | " \"\"\"Compute the density function of the q-map.\"\"\"\n",
199 | " return (self.f(np.sqrt(q)*x)**2)* gauss_density(x)\n",
200 | " \n",
201 | " def chi_density(self, x, q):\n",
202 | " return gauss_density(x) * (self.df(np.sqrt(q)*x)**2) \n",
203 | " \n",
204 | " def sw_sb(self, q, chi1):\n",
205 | " \"\"\"Compute the critical line. Set chi1=1, return variances of weight and \n",
206 | " bias on the critical line with qstar=q.\n",
207 | " \"\"\"\n",
208 | " big_val = 1e12\n",
209 | " with warnings.catch_warnings():\n",
210 | " warnings.simplefilter(\"ignore\") # silence underflow and overflow warning\n",
211 | " sw = chi1/quad(self.chi_density, -np.inf, np.inf, args= (q))[0]\n",
212 | " sb = q - sw * quad(self.qmap_density, -np.inf, np.inf, args= (q))[0]\n",
213 | " return sw, sb"
214 | ],
215 | "execution_count": 0,
216 | "outputs": []
217 | },
218 | {
219 | "metadata": {
220 | "id": "Dq87r6zkKzFF",
221 | "colab_type": "text"
222 | },
223 | "cell_type": "markdown",
224 | "source": [
225 | "# Phase diagram"
226 | ]
227 | },
228 | {
229 | "metadata": {
230 | "id": "7qANsoKoGFUF",
231 | "colab_type": "code",
232 | "colab": {
233 | "autoexec": {
234 | "startup": false,
235 | "wait_interval": 0
236 | },
237 | "base_uri": "https://localhost:8080/",
238 | "height": 365
239 | },
240 | "outputId": "376ae514-91e5-4792-d62a-8ce8f20dca74",
241 | "executionInfo": {
242 | "status": "ok",
243 | "timestamp": 1531952378590,
244 | "user_tz": 420,
245 | "elapsed": 1337,
246 | "user": {
247 | "displayName": "Jascha Sohl-dickstein",
248 | "photoUrl": "//lh4.googleusercontent.com/-ExW5fXMTwx8/AAAAAAAAAAI/AAAAAAAAHWQ/PTjU7Pqr6RY/s50-c-k-no/photo.jpg",
249 | "userId": "111059308654884078644"
250 | }
251 | }
252 | },
253 | "cell_type": "code",
254 | "source": [
255 | "background = [255.0/255.0, 229/255.0, 204/255.0]\n",
256 | "fontsize=16\n",
257 | "\n",
258 | "mf = MeanField(np.tanh, d_tanh)\n",
259 | "n = 50\n",
260 | "qrange = np.linspace(1e-5, 2.25, n)\n",
261 | "\n",
262 | "sw = [mf.sw_sb(q, 1)[0] for q in qrange]\n",
263 | "sb = [mf.sw_sb(q, 1)[1] for q in qrange]\n",
264 | "\n",
265 | "\n",
266 | "plt.figure(figsize=(5, 5))\n",
267 | "plt.plot(sw, sb)\n",
268 | "plt.xlim(0.5, 3)\n",
269 | "plt.ylim(0, 0.25)\n",
270 | "plt.title('Phase diagram', fontsize=fontsize)\n",
271 | "plt.xlabel('$\\sigma_\\omega^2$', fontsize=fontsize)\n",
272 | "plt.ylabel('$\\sigma_b^2$', fontsize=fontsize)\n",
273 | "\n",
274 | "plt.gca().set_facecolor(background)\n",
275 | "plt.gcf().set_size_inches(plt.gcf().get_size_inches()[1], plt.gcf().get_size_inches()[1])\n"
276 | ],
277 | "execution_count": 5,
278 | "outputs": [
279 | {
280 | "output_type": "display_data",
281 | "data": {
282 | "image/png": "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\nVAAAAABJRU5ErkJggg==\n",
283 | "text/plain": [
284 | ""
285 | ]
286 | },
287 | "metadata": {
288 | "tags": []
289 | }
290 | }
291 | ]
292 | },
293 | {
294 | "metadata": {
295 | "id": "d6bOit_9hky-",
296 | "colab_type": "text"
297 | },
298 | "cell_type": "markdown",
299 | "source": [
300 | "# Train Delta Orthogonal Network"
301 | ]
302 | },
303 | {
304 | "metadata": {
305 | "id": "Ly8JGExPqG6b",
306 | "colab_type": "code",
307 | "colab": {
308 | "autoexec": {
309 | "startup": false,
310 | "wait_interval": 0
311 | }
312 | }
313 | },
314 | "cell_type": "code",
315 | "source": [
316 | "# DEPTH and C_SIZE are chosen to be small for a fast running demo. You will want\n",
317 | "# to increase both values for most use cases.\n",
318 | "# Further note: this will run *much faster* if you choose a runtime with a GPU\n",
319 | "# accelerator.\n",
320 | "DEPTH = 16 # number of layers.\n",
321 | "C_SIZE = 32 # channel size.\n",
322 | "K_SIZE = 3 # kernel size\n",
323 | "LEARNING_RATE = 1e-2\n",
324 | "MOMENTUM = 0.95\n",
325 | "phi = tf.tanh # non-linearity\n",
326 | "\n",
327 | "# variances of weight and bias. \n",
328 | "# To obtain critical values of the variances of the weights and biases,\n",
329 | "# see compute mean field below. \n",
330 | "mf = MeanField(np.tanh, d_tanh)\n",
331 | "qstar = 1./DEPTH\n",
332 | "W_VAR, B_VAR = mf.sw_sb(qstar, 1)\n",
333 | "\n",
334 | "\n",
335 | "def circular_padding(input_, width, kernel_size):\n",
336 | " \"\"\"Padding input_ for computing circular convolution.\"\"\"\n",
337 | " begin = kernel_size // 2\n",
338 | " end = kernel_size - 1 - begin\n",
339 | " tmp_up = tf.slice(input_, [0, width - begin, 0, 0], [-1, begin, width, -1])\n",
340 | " tmp_down = tf.slice(input_, [0, 0, 0, 0], [-1, end, width, -1])\n",
341 | " tmp = tf.concat([tmp_up, input_, tmp_down], 1)\n",
342 | " new_width = width + kernel_size - 1\n",
343 | " tmp_left = tf.slice(tmp, [0, 0, width - begin, 0], [-1, new_width, begin, -1])\n",
344 | " tmp_right = tf.slice(tmp, [0, 0, 0, 0], [-1, new_width, end, -1])\n",
345 | " return tf.concat([tmp_left, tmp, tmp_right], 2)\n",
346 | "\n",
347 | "def conv2d(x, w, strides=1, padding='SAME'):\n",
348 | " return tf.nn.conv2d(x, w, strides=[1, strides, strides, 1], padding=padding)\n",
349 | "\n",
350 | "def get_weight(shape, std=1., name=None):\n",
351 | " return tf.Variable(tf.random_normal(shape, mean=0, stddev=std), name=name)\n",
352 | "\n",
353 | "def get_orthogonal_weight(name, shape, gain=1.):\n",
354 | " # Can also use tf.contrib.framework.convolutional_orthogonal_2d\n",
355 | " return tf.get_variable(name, shape=shape,\n",
356 | " initializer=tf.contrib.framework.convolutional_delta_orthogonal(gain=gain))\n",
357 | "\n",
358 | "def conv_model(x):\n",
359 | " \"\"\"Convolutional layers. Ouput logits. \"\"\"\n",
360 | " z = tf.reshape(x, [-1,28,28,1])\n",
361 | " # Increase the channel size to C_SIZE.\n",
362 | " std = np.sqrt(W_VAR / (K_SIZE**2 * 1))\n",
363 | " kernel = get_weight([K_SIZE, K_SIZE, 1, C_SIZE], std=std, name='kernel_0')\n",
364 | " bias = get_weight([C_SIZE], std=np.sqrt(B_VAR), name='bias_0')\n",
365 | " h = conv2d(z, kernel, strides=1, padding='SAME') + bias\n",
366 | " z = phi(h)\n",
367 | " \n",
368 | " # Reducing spacial dimension to 7 * 7; applying conv with stride=2 twice.\n",
369 | " std = np.sqrt(W_VAR / (K_SIZE**2 * C_SIZE))\n",
370 | " shape = [K_SIZE, K_SIZE, C_SIZE, C_SIZE]\n",
371 | " for j in range(2):\n",
372 | " kernel = get_weight(shape, std=std, name='reduction_{}_kernel'.format(j))\n",
373 | " bias = get_weight([C_SIZE], std=np.sqrt(B_VAR),\n",
374 | " name='reduction_{}_bias'.format(j))\n",
375 | " h = conv2d(z, kernel, strides=2) + bias\n",
376 | " z = phi(h)\n",
377 | " new_width = 7 # width of the current image after dimension reduction. \n",
378 | " \n",
379 | " # A deep convolution block with depth=DEPTH.\n",
380 | " std = np.sqrt(W_VAR)\n",
381 | " for j in range(DEPTH):\n",
382 | " name = 'block_conv_{}'.format(j)\n",
383 | " kernel_name, bias_name = name + 'kernel', name + 'bias'\n",
384 | " kernel = get_orthogonal_weight(kernel_name, shape, gain=std)\n",
385 | " bias = get_weight([C_SIZE], std=np.sqrt(B_VAR), name=bias_name)\n",
386 | " z_pad = circular_padding(z, new_width, K_SIZE)\n",
387 | " h = conv2d(z_pad, kernel, padding='VALID') + bias\n",
388 | " z = phi(h)\n",
389 | " z_ave = tf.reduce_mean(z, [1, 2])\n",
390 | " logit_W = get_weight([C_SIZE, 10], std=np.sqrt(1./(C_SIZE)))\n",
391 | " logit_b = get_weight([10], std=0.)\n",
392 | " return tf.matmul(z_ave, logit_W) + logit_b\n",
393 | "\n",
394 | "def loss(logits, labels):\n",
395 | " return tf.reduce_mean(\n",
396 | " tf.nn.softmax_cross_entropy_with_logits_v2(logits=logits, labels=labels))\n",
397 | "\n",
398 | "def train_op(loss_, learning_rate, global_step):\n",
399 | " with tf.control_dependencies([tf.assign(global_step, global_step + 1)]):\n",
400 | " return tf.train.MomentumOptimizer(learning_rate, MOMENTUM).minimize(loss_)\n",
401 | "\n",
402 | "def accuracy(logits, labels):\n",
403 | " return tf.reduce_mean(tf.cast(tf.equal(tf.argmax(logits, 1),\n",
404 | " tf.argmax(labels, 1)), \n",
405 | " tf.float32))\n",
406 | "\n",
407 | "def run_model(num_steps=1000):\n",
408 | " tf.reset_default_graph()\n",
409 | " accuracy_log = []\n",
410 | " loss_log = []\n",
411 | " x = tf.placeholder(tf.float32, shape=[None, 784])\n",
412 | " y_ = tf.placeholder(tf.float32, shape=[None, 10])\n",
413 | " global_step = tf.train.get_or_create_global_step()\n",
414 | " logits = conv_model(x)\n",
415 | " acc, loss_ = accuracy(logits, y_), loss(logits, y_)\n",
416 | " training = train_op(loss_, LEARNING_RATE, global_step)\n",
417 | " with tf.Session() as sess:\n",
418 | " sess.run(tf.global_variables_initializer())\n",
419 | " for i in range(num_steps):\n",
420 | " batch_xs, batch_ys = mnist.train.next_batch(100)\n",
421 | " _, acc_value, loss_value, g_step = sess.run(\n",
422 | " [training, acc, loss_, global_step], \n",
423 | " feed_dict={x:batch_xs, y_:batch_ys})\n",
424 | " accuracy_log.append(acc_value)\n",
425 | " loss_log.append(loss_value)\n",
426 | " if i % (num_steps/20) == 0 or i == num_steps-1:\n",
427 | " print('Step: %5d Accuracy: %.2f Loss: %g'%(g_step, acc_value, loss_value))\n",
428 | " return accuracy_log, loss_log\n"
429 | ],
430 | "execution_count": 0,
431 | "outputs": []
432 | },
433 | {
434 | "metadata": {
435 | "id": "mi0I2nqPK1pW",
436 | "colab_type": "code",
437 | "colab": {
438 | "autoexec": {
439 | "startup": false,
440 | "wait_interval": 0
441 | },
442 | "base_uri": "https://localhost:8080/",
443 | "height": 374
444 | },
445 | "outputId": "b25e5bf4-8ef7-4a9d-f13b-ff23437aa7ca",
446 | "executionInfo": {
447 | "status": "ok",
448 | "timestamp": 1531952418965,
449 | "user_tz": 420,
450 | "elapsed": 39643,
451 | "user": {
452 | "displayName": "Jascha Sohl-dickstein",
453 | "photoUrl": "//lh4.googleusercontent.com/-ExW5fXMTwx8/AAAAAAAAAAI/AAAAAAAAHWQ/PTjU7Pqr6RY/s50-c-k-no/photo.jpg",
454 | "userId": "111059308654884078644"
455 | }
456 | }
457 | },
458 | "cell_type": "code",
459 | "source": [
460 | "accuracy_log, loss_log = run_model()"
461 | ],
462 | "execution_count": 7,
463 | "outputs": [
464 | {
465 | "output_type": "stream",
466 | "text": [
467 | "Step: 0 Accuracy: 0.07 Loss: 2.30505\n",
468 | "Step: 51 Accuracy: 0.26 Loss: 1.97781\n",
469 | "Step: 100 Accuracy: 0.24 Loss: 1.85622\n",
470 | "Step: 150 Accuracy: 0.38 Loss: 1.48279\n",
471 | "Step: 200 Accuracy: 0.51 Loss: 1.39135\n",
472 | "Step: 250 Accuracy: 0.46 Loss: 1.28701\n",
473 | "Step: 300 Accuracy: 0.50 Loss: 1.27826\n",
474 | "Step: 350 Accuracy: 0.61 Loss: 1.11567\n",
475 | "Step: 400 Accuracy: 0.56 Loss: 0.869806\n",
476 | "Step: 450 Accuracy: 0.80 Loss: 0.696834\n",
477 | "Step: 500 Accuracy: 0.71 Loss: 0.76464\n",
478 | "Step: 550 Accuracy: 0.89 Loss: 0.48842\n",
479 | "Step: 600 Accuracy: 0.89 Loss: 0.536567\n",
480 | "Step: 651 Accuracy: 0.92 Loss: 0.291886\n",
481 | "Step: 700 Accuracy: 0.97 Loss: 0.152038\n",
482 | "Step: 750 Accuracy: 0.93 Loss: 0.252104\n",
483 | "Step: 800 Accuracy: 0.95 Loss: 0.204787\n",
484 | "Step: 850 Accuracy: 0.93 Loss: 0.214044\n",
485 | "Step: 900 Accuracy: 0.97 Loss: 0.14412\n",
486 | "Step: 950 Accuracy: 0.98 Loss: 0.144498\n",
487 | "Step: 999 Accuracy: 0.93 Loss: 0.182756\n"
488 | ],
489 | "name": "stdout"
490 | }
491 | ]
492 | },
493 | {
494 | "metadata": {
495 | "id": "Fnls4axFv5TZ",
496 | "colab_type": "code",
497 | "colab": {
498 | "autoexec": {
499 | "startup": false,
500 | "wait_interval": 0
501 | },
502 | "base_uri": "https://localhost:8080/",
503 | "height": 334
504 | },
505 | "outputId": "d2f95d4e-0861-40b7-8b7c-1be25694b31e",
506 | "executionInfo": {
507 | "status": "ok",
508 | "timestamp": 1531952423297,
509 | "user_tz": 420,
510 | "elapsed": 704,
511 | "user": {
512 | "displayName": "Jascha Sohl-dickstein",
513 | "photoUrl": "//lh4.googleusercontent.com/-ExW5fXMTwx8/AAAAAAAAAAI/AAAAAAAAHWQ/PTjU7Pqr6RY/s50-c-k-no/photo.jpg",
514 | "userId": "111059308654884078644"
515 | }
516 | }
517 | },
518 | "cell_type": "code",
519 | "source": [
520 | "background = [255.0/255.0, 229/255.0, 204/255.0]\n",
521 | "\n",
522 | "plt.figure(figsize=(12, 5))\n",
523 | "plt.subplot(1,2,1)\n",
524 | "plt.plot(accuracy_log)\n",
525 | "plt.xlabel('Training step')\n",
526 | "plt.ylabel('Training accuracy')\n",
527 | "plt.gca().set_facecolor(background)\n",
528 | "\n",
529 | "plt.subplot(1,2,2)\n",
530 | "plt.plot(loss_log)\n",
531 | "plt.xlabel('Training step')\n",
532 | "plt.ylabel('Training loss')\n",
533 | "plt.gca().set_facecolor(background)"
534 | ],
535 | "execution_count": 8,
536 | "outputs": [
537 | {
538 | "output_type": "display_data",
539 | "data": {
540 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs4AAAE9CAYAAAAbAuQGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xl8E3X+P/DX5OyR0rv04iiXCAra\nAoKsgAgeoCiIgquAN/vzQBB0EXVROURW3a+6KyjHungtigioKIoci9xUQO4CWigtvdv0Sptrfn+k\nSSbJTGZyp+n7+Xj4sEkmk88AnXnnPe/P+8OwLMuCEEIIIYQQ4pYs1AMghBBCCCGkLaDAmRBCCCGE\nEAkocCaEEEIIIUQCCpwJIYQQQgiRgAJnQgghhBBCJKDAmRBCCCGEEAkUoR6AZCX53r0vtQ9QcdK/\nYwkXkXxsQGQfXyQfGxDZx+ftsWXm+X8s4YzO2fwi+fjo2NquSD4+P5+zIz/jrIwO9QgCJ5KPDYjs\n44vkYwMi+/gi+djCQaT/+Uby8dGxtV2RfHx+PrbID5wJIYQQQgjxAwqcCSGEEEIIkYACZ0IIIYQQ\nQiSgwJkQQgghhBAJAho4FxQUYNSoUfjkk09cXtuzZw8mTpyISZMm4V//+lcgh0EIIYQQQojPAhY4\nNzU1YcGCBRgyZAjv6wsXLsR7772Hzz//HLt378a5c+cCNRRCCCGEEEJ8FrDAWaVSYcWKFUhLS3N5\nraioCPHx8cjIyIBMJsPw4cOxd+/eQA2FEEIIIYQQnwUscFYoFIiKiuJ9raKiAklJSbbHSUlJqKio\nCNRQCCGEEEII8VnbWTkwtY/3TawjecWuSD42ILKPL5KPDYjs44vkYyOEECIoJIFzWloaKisrbY/L\nysp4SzoceLsUZGae90u/hrtIPjYgso8vko8NCKvj+7WwGQkxMnRLU3n0vmNFzTCagGu7Ot058/bY\nKNiW5MyFahSeakSnZAXiomTQRMmQGCsP9bAIIQRAiALn7OxsNDQ04NKlS0hPT8f27dvx5ptvhmIo\nhJAIZjKzmP+V5Uv6N7OzPXrvvC+8ex/x3rGiZsz7YpfDc7FqBv99KitEIyKEEEcBC5yPHz+ON954\nA8XFxVAoFNiyZQtGjhyJ7OxsjB49Gq+88gpmz54NABgzZgxycnICNRRCSDtV22gO9RCIB7470ujy\nXGMLG4KREEIIv4AFzldddRU+/vhjwdcHDhyItWvXBurjCWnz/qjQY+GGKhjNLF66MwU9092XGjS2\nmLFwQyUmD+6A/l34J+YK+bWwGV/ur8PLd6UgRi19zrDByOK1DZW4rb8G1/eUPgfhi/110OlZTLsh\nXnCbi1UGfPBzLW7rH4tvDzfghXHJiI8Rv2VfWW/E37+rxqMjEsAKxFw/HWvE8eIWzLwlESYzsGBD\nJUb1jcX1vaKxeGMVhnCOhWVZMAwj+diI9x6/MQGK2GTEM7XY9GtDqIdDCCEuaOVAQsLUW5urUV5n\nQnWDGUu+qRLd/qfjjTh+SY+X1lWKbuts/leVOH5Jj60nXDN+7hy92IwjF1rw+ibx8XF9/Esd1h2o\nBysU2QL4vx+q8VtRC974thonivX4+pC0QOqzPXU4WazHkm+q0NDCn3F+98cabDvRhJpGM06V6PFr\nYQuWfleNMq0RB35vxjtbamzbGk0eHRrxQZJGjjkP5GFoL8cvYS0GyjoTQsIDBc6EhCkDJ2CTS/hN\nFcqJ1uvMaDY4BpBV9SaYeYJWqQGKwcSiXmeG2c3mJjOLqgYTahqFI0/ubfiaRhNMnB0anN7WbDBD\n22TC5Vqj5RgaTDCYWGibTLbXS7VGmFp3Ud9sRr3OftwlNQYYjI4Drmk0oZYzvguVRpcxltcZHcZF\nAq97mgp9sux3WBoFvgARQkiwUeBMSJjiBmsKmXipALea4NDvOtvPf36/BFOXXbY9PnGpBQ9+eBmr\ndmhd9tFilBYg/v27avz5/RJUNQgHxV/sq8eDH1zG1OWXUafj3666NWgtrzNi6vLLWLDBnrkurDA4\nbNtsYPHAsst4fFUpPv5Fiwc/uIwJ/1eMB5ZdxsUqAxZuqMJjK0txqcryPp2exZubq23vn766DP+3\npRqnilscPn/pd/ZtFvNkzv/y7zKs3F7r7o+D+JlayeCNyWm24PmRlZdF3kEIIcFBgTMhYcrEiTUV\ncvHAWcaJnEu1joGqjpNJPn7JEjhya0hVrbMd9BID571nLYH52VK94DYbf623j6eWP3BubLZkEi9W\nWoLd/D+aAYC3hIObdfxif73Da0cuNOPoRctxXaxyzRpb/e+0Dr8V2QNnqcf7Lc+kNRJ4F1r/XRhN\nQHG1QWRrQggJPAqcCfHBHxV6/HTM+6Dq4O86/FrYzPuaiRM8Kjhz4kpqDNj0az025tejpMaADYfq\ncayoBT/81sC7vVVDsxnfHm7A9pNNLq+pFZZTwZ6zjuMpKNVj+8lGmMwsNuTXo7LeMSitbRK+hR7L\nmWRYVmfE14fqXUpBdAYWJjOL9Zz65T8q9LwlIL+XCwdOjc32NzSLlJt8srvO9rPU+mVV21kqKqKo\nFPYvg3U6KtcghIQeXQ4I8cGMNeUAgNycKCRrPF+k4bWvLaUBfL2CuUEdt1TjmY/LbcHhSp5yC8Be\n78ytY35lfSXOXObPECtbzwRlWhPmf1VpG8/sTy3H16RnsWqHFj8ea8T7D6bb3lfvJpixdOewHMTS\nby3lEHoji0mDO9i2aWoxY+vxJhzjZIFnrCnH+mdc+/aW19n/QBQywMj56Ea9d0GVUWLtcqwHnUaI\n/8g5d1Gk/l0RQkgg0dWAED8wmvx/UecGvUpOqYZYRhUATK1xpJkTTwoFzYB4DfWlakumucipDMJd\nMGPi+TPhBr+ApQ65qsG1tMLkptsGACgVjuM1mYHMRM/zAFJLNWTUji4k5o5Lsv0874tKbDhU72Zr\nQggJPAqcCfEDocCzqMqAWZ+UOUx0e3dLNe6YvRHvbql22Laq3oRZn5ThZOvkNW7HiYp6E+Z8Vo6S\nGml1ntZ41iSSiG1sMePe94pdAlrreKx0nIzuzI/LbD+fK3McT02jCU/9pxR3zN6IomrXgLih2Yz7\n/lVse9wkkCl+db37lno6vWPA++3hBpTUCNc2C3l/q/RJf89+WoY73rqEylqd+MbEL67IUOO2/rG2\nx6t2at22MCSEkECjwJkQfxBISK7eqcW5MgPe+9EeJP90vMnh/4BlIZH1h+pxrsyA176udGmbdrnW\niDOX9fhgm7RAz5qtFsvc7jzV5BKEWn110J7da+JMzDvvptZ4w6F63pZuVnvO6tDAqUcWqls9fkk4\nOx4KeiOLs6WW4/78xzMhHk370idL7fCY70seIYQEC9U4E+IPrKW3cU2jCWkd7L9W1pKCZoOl7zEL\n/iC1pNZo6yfc2MLiYhV/cBqllPZd15ppLte6DzKEguBSrdGhVOS0mzIPq5Iag8cTuAorDGgLVRD1\nzfbjUirstdsk8KKVjv9ApJQqEUJIoFDgTIgfmFkWL31ZgZPFenz0eAaS4ywTBaNaL/otRhZ/fr9E\n8P1P/afM4fHMT8p5t9NJnARnNlvKMJ5eU+Z2ux8FOoI8trLU4XFNo/jnTl/t/rP4HPidv6NIOItS\nyQFQa7RgiVE7Bs7UXYMQEkpUqkGIH7AAThZbsrIltfZSBXVrxtlfSwZLCWABSyBf7WZxEiJs9pgk\nt68rFHTaDKZoleOfNzf7TwghwUYZZ0L8wLG5BIsD53Uwme0ZZ3/dXi6slJbp/PJAPdIT6NfbG/07\nq92+rmv2fBIi8V6MyjHj3GKgwJkQEjqUOiHED7hz8FgWWLChCos3VdkWcPBXxlkqnZ619U6OdDdf\nHSu+EYD0eGl9tpUiqzRqYlSS9kP8w/nvQ6xTDCGEBBIFzoT4AbdFFjeItgbONJ1JWNdUJZY91NHr\n908cFIcXxiW73ebt+9Pw3jThz+idYQ+G5TLXCWlWD94Qj8mje3k3UOIV63wBKxMthEIICSEKnAmR\naMk3VVi5oxbHilrw//5dilKt/Zb9l/vtrdu4l3Wx7CWxLJSSnaT0+v0sCyTFuj+VdUlRuu1Iwg3O\nFDIGKXH82emEWBmYttAGJII4Lz5jdMo4H/xdh/3nqLc2ISQ4qAiSEIl2F1guzttPNqFOZ8Z6Tp/j\nrSfsPZnNTmUbxD2+hVKk6t9ZjfQEORpa3N+/V7bGwQO7ReHg781I6yCHXMbgcutETm5oppADL49P\nwQfbasGyLH4tbOHsh4LmUHPOOLtbtp4QQvyNMs6ESNDAmclvbYelUvAHUdxlnC8I9GOW6rEb4316\nfyAN6x3t0/tzu7qfhCfF/PEpkDEMxBpdWLPEfxufgm9mZ2PVYxn48JF0pLZmlmUyx20zEhR4ZUIK\nXr071WE/FDiH3okwWxyHENK+UOBMiASv8CwBLRSscVfZ236yiX8jidQBaH3WUeIkOTFXZPg2SU4t\ncTEXd6wLzDjfzpfK+jap71f454+OeOihYfYvkHvO6nD0Ytvr/00IiQxUqkGIBGd4Vs4TCrbEygY8\noRaYpOaLN/+choZmM4qqjEiPl+P4JT2OX2rBnrPS60Rv7BODO67VYEBONJb9XIMjF1ocXh+Rl40d\n+Zfc7kMtkLH3hvNfRXaSApdaS0AS3dQ/G1tv+yvlwKJ7UpCkcR8Zm6mjQ0hMGBiHLilK2xfYl76s\nxAcPd4RcRncACCHBRRln0q6ZzCz+u7cORTwlFQd/1+HV9ZU49Dt/QPnlgXre53865luWmcufwaVV\nQowc2UlKDOkZjZw0Fe7I1Yh2pXA2sk8MGIZBZqICT45OdHn91sFdRfcRiGOz6pystGXEuyQLTzw0\ntq4Ro5Qz6Nc5SnSSIi2+ETrOpVHTV5fhUacVLgkhJNAocCbt2q+Fzfh0Tx2e+dh1uejXvq7CoT+a\n8Wrr5COppC5SIoVQHbW3fC2vsJJzzhzJsa5ZWpWEMoz+XSw1zrdfq3F5LTNR/GYYN9nonHG+sU8M\nJg6KAwCM5dm/lcHUmnGW+OfcJ4t6OIcKLdhICAkHdCoi7Zp1Ip8hTFenVjrFpOtnZuHLGZku2/31\nduFlotM6WHZyTWc1lt6XKrid1XtTHfsdZ/EEsdwyFb6gUyWhGDg7UYG1T2ficZ4JkP06qbH26UwM\n6Bbl8tot/WJbP8P+udwRrH06E4N7RGNwj2h89UwWBvcQnsRoC5wlTPpbMikVmYnet80jvhEry2Cp\nhQ0hJAgocCbtWiBqiP3JOaBTyhnefsTuYobk1rrdDjEySZPgOkQ77l8TJX6acI5pVM4RP997ZAxi\nVPx9kWPVltf4Ptn6R8L9s+F+fozK/i6xjL21XCRKwr8D6qgR3pz7OxNCSCDQ5EDSrgWia4U/cQP7\n+RPsdchPjU7AP3+qxci+MTCZWIes6si+MRjSIxrbTjZh7DWxSNbIsXqnFg/e4L613ewxSThe1OIS\nOMeoXAPGFqNjpM4wcFj5RSF3/XN9eHg8Vu/U2h47B9tT/9QBZ0v1MJktk8Fs+201tFc0shIVqGm0\n3B7gBsWZiQqM7BuDQTwZandeuzsVX+yv4y0XIeHFLJJRrm4woarBhD5Zvrc5JIQQIRQ4k3bN35Py\nb7giGrvOCHenGNIjCkN6RuPt72sk7Y97e/qazvag8JZ+GtzSjz/Ym3lLIhiGcQim/zY+RfSzRlwZ\ngxFXxrjc8lbwZFpbDO6DGBnP95GrOzkGNM5/9vdc18F1P5xt5t5h+eLw5neWmnMV5+zFMAxm3Spc\nriKkV4YKL90l/mcDACwtnB5SJpGM8l/+XQqjCVj9WDpSO9CljRASGOGdbiMkwMx+joXESgMYhuEN\nRIVwE7d8wajQZ/jC+f3d0lzreuNjHAfj/IlRKsfARSG3l4xYySR8a+E7lk6tXTKClVm0HkpcFDVx\nDiWemxgOrB1StDrPazaMJhYni1tcViUkhBBn9LWctGv+nFD0+I0JKKp231GDYQCFB2luuYzBBw+n\no7bJJFqf/M9pHVHb5N9Zjm9MTkXPjiqYzJYAurLehPgYGa7MdOou4TS02GglXr4rGQs2WLLDKx/N\nQGKsHIvuScGLX1p68Ur5Y+A75AkD4tAxXoHruntWluGtZQ+l4/dyg6ROHyRwemWocF33KOw/7//F\nT/6zS4sN+Q2YPjKBynYIIW7RlYC0a3wJJpOZxad76jzeV5cUBcrrjKLbebL6nFwGpHVQSArauqQo\n0QX+7fpgzepOE6mP5jOQU29szTb36+xZsGtNznOPX6lgMOLKGI/H4620DgqktZNb/0uXLkV+fj6M\nRiOmT5+Om2++2fbanj178Pbbb0Mul2PYsGF48skngzo2GcNg+sgE7D/v/97NB363BOOnilsocCaE\nuEWlGqRd4wucdxfo8OV+/sVN3JHLGNFSDZmHGedQLozma4ZVrGRESrL/pqssrecmDIjzaSxE3L59\n+3D27FmsXbsWK1euxOLFix1eX7hwId577z18/vnn2L17N86dOxf0MXpS5uQJa4mGnDqnEEJEtI80\nCiEC+GbqN3q5ZLZSLh44M/Ds4h+qJYXXz8zyKGi3bjp+gAZT/iQtOy2lSCa3axTWzcgK+7aBkWDg\nwIHo168fAKBDhw7Q6XQwmUyQy+UoKipCfHw8MjIyAADDhw/H3r170aNHj6COUazOGfBuWXRTa4UT\nxc2EEDGUcSbtGvcie+JSCx54vwQlNeLlFnzkMvFlpNVKxqMgMFQZZ6Wc8Shoj1VbTiVqBeP3fscU\nNAeHXC5HTIylBGbdunUYNmwY5HJLiU1FRQWSkuxdS5KSklBRURH0MUq5W2M0szAYWfx0rFHyl2Cj\nNeMcyls8hJA2gTLOpF3jJpz//l01tDozNuQ38G4bHy1zO2NfrRTPOE/5UzziY2QYPagzfjpwEQAw\n944kvLOlBjq9aw62rVzIX7s7BWv31+POPPGSinnjkpFf2Iz0eOpSEY62bt2KdevWYfXq1b7tKLUP\noBRetdGtzDzep2V6I4ASt281JvbEutPV+OzHYhypiMFzD/Dvi8uEcgB6yONSgcz+XgzYQwLHFxHo\n2NquSD4+Px4bBc6kXePWOGt1lvu1migGDc2uQezcccl4Ya1jlm1Iz2jsPWvp2xytkokGzomxlmBx\nxqRrbYHzFRkqzL0jGfO/qnTZXmoLulDLSVPZ+iyLGdIzGkN6ehlQkYDatWsXli9fjpUrVyIuzv4l\nKC0tDZWV9n+fZWVlSEtLc7+zipPeDSIzDyjJ531JzbLola5E/y5RgvMQjOUFuPhHIwDgfGGZ4L64\nzCZLNxxFc6Wk7X3i5vjaPDq2tiuSj8/bYxP6Au/jcAhp07g1ztY+sB2i+TOhzhUIGQkKh1KKaBUj\nWqrBRyFnBEsy5D72ZCZEqvr6eixduhQffPABEhISHF7Lzs5GQ0MDLl26BKPRiO3bt2Po0KFBHyPD\nMHjr/o6Y6qaOvrrBhF8KLF9mpfZltv7ut5EbPISQEKKMM2nX+K6rQtdObtnE0zcnYlD3KPzrJ/sK\ngFFKxmUpaikUMjeBcxv/avv3+1IRo27jB9FObN68GTU1NZg5c6btueuuuw5XXHEFRo8ejVdeeQWz\nZ88GAIwZMwY5OTmhGqpb72yx/06Wak34fG8d7hviuiollzXADlTXDkJI5KDAmbQZe8/qUFlvwh25\n0vusGkws/rNLi9FXxaJLimuP428Pu9YzFwtMDuSWTdx4ZQyUCgYGznojMoZBfbPnU/oZRrh1W1sp\n1RDSOzM4q/sR302aNAmTJk0SfH3gwIFYu3ZtEEfkXlaiQvB3leuzPVICZ8v/2/oXVUJI4NFpgrQZ\nizdV4cPttR69Z/vJJmzMb8Dzn5e7vNbYYsbJYr3kfXGTUdaA1mByzDBf191SuyvlAmxdICRKySAn\nlX/hErHVAglprxZMTHFZxt1b1t9iKo0ihIihwJlEJOtS2k2t7aiaeDpWVDd4tjy1jFNPYb2+GlpL\nM67KtixBnZmowDezs3Hz1bGi+3v5rmR8PTMLchkDTZQMX8/MwqZns7BhVpZH4yKkPUrtoMA9g6Qt\njGMys7hQaUBBqR6LN1XZzgsuKG4mhIigUg0ScYqqDHjiozLMHpPkdjuPA2fORdX6Y1Rrj+GEGMfM\nl5RJggzDOCy/ba2vpDJLQqSR2uP7o/9pHdpM9s5QYcJA16CbfvUIIWIo40wizo/HLK2o/vljjdvt\nPJ3Ix71IW2uSnxydiBFXxuCxGx27ENxzXRxGXBnj0f65Zt6aiPuvd1+XSUh7FyUxcN55usnhsdRu\nG4QQ4owCZxJxrBN9FCLlj55eO2NUrr8uHeMVmD0mCUlOtZYdouWiGW93buobi8kiE5oIae+yEi03\nTaNVDL56RrjEiXX6XadSZkKIt6hUg7Q5LMsKdqEA7NkksVX3nC+mYqJVdLUlJJzkpKnw6t0p6Jam\nFF18iIsRKMqgPDQhRAxlnEmbI3Zx47aWcret2cPIua0sf01Ie5LbNco2x2DeOP7VK50nBwt97zab\nWWw+0oCdp5r4NyCEtHsBzTgvXrwYR48eBcMwmDdvHvr162d77dNPP8WmTZsgk8lw1VVX4cUXXwzk\nUEgEMZsBmZsyDKNIxnnNL1pkJiiweqc2EMMjhITIkJ7R+GZ2Nv6zS4t1B+xLcuud5jMIfQc2s8Cy\nny0tL4f7MEeBEBK5AhY4HzhwABcuXMDatWtx/vx5zJs3z9Y8v6GhAatWrcKPP/4IhUKBhx9+GEeO\nHME111wTqOGQNo47mUcsUWyrcea5n1JZb8SX++tdXwiQFI0ciRoZCisMuLoTLQZCSDDcladxCJyd\nCWWc63SeL2BECGlfAhY47927F6NGjQIAdO/eHVqtFg0NDdBoNFAqlVAqlWhqakJMTAx0Oh3i4+MD\nNRQSAYycznHuJvWxLOu2xtkY5OviqsfTwcBSMkKFHoQEh1KkpyPDWM4V6w7UY/ORRtvzlfWetagk\nhLQ/AQucKysr0bdvX9vjpKQkVFRUQKPRQK1W48knn8SoUaOgVqsxduxY5OTkBGooJAJwV+hjBcLQ\n8jojHllRanssl3k+AdDfrCv/UdBMSPBEiUzkZcDgQqURa36pc3hep6eMMyHEvaB11WA5EUxDQwM+\n+OAD/PDDD9BoNJg2bRpOnz6N3r17C+8gtQ+gjPbuwzPzvHtfWxDJxwbYjs/cqAdQYvm54zVAlOsS\n1fmFfwCwB84KdSzQIRuA1r4vdaPDNmK6Z8ejb7dkjMjNBjIT8cykVDQ2G4DM7l4eEEc7+buLSJF8\nbBFAbKl6GQNU1Btdng/2HSlCSNsTsMA5LS0NlZWVtsfl5eVITU0FAJw/fx6dOnVCUpKlz+2AAQNw\n/Phx94FzxUnvBpKZB5Tke/fecBfJxwYAmXlo+uMgCisNtn6tAMBePgKoeQqYtQ0OD2WmJqDukv2J\nknxA63qxdOeZkWrkpOoB/A6UAKOyOfvyRTv4u4vY4/P22CjYDhsMA9Q0ukbJBg8XRSKEtD8Ba0c3\ndOhQbNmyBQBw4sQJpKWlQaPRAACysrJw/vx5NDc3AwCOHz+Orl27BmoopA178csK/PW/FSgo1due\nEyq/cC5p5qtz9LR0Q0Et6AiJOAwDaJtc65m5JWGEEMInYBnn3Nxc9O3bF5MnTwbDMJg/fz7Wr1+P\nuLg4jB49Go888gimTp0KuVyOa6+9FgMGDAjUUEgbdq7MAMAxOyTcf9kxyE2Icf1eaPZwuUDq3UxI\n29S/sxpHL7bwvsYw/EGykZbiJoSICGiN85w5cxwec0sxJk+ejMmTJwfy40kEiYuyB8FCcbNzWWOH\naMdmz3M+K8eZy3p4QmzZbkJIeHrprmQs21qLbSddFzNhwMDA00Djci111SCEuEcrB5I2gZtlFkoK\nOSeHnQNpT4NmALYVyQghbUuUUoYhPfknlAtlnAkhRAwFziRsccsqTJx5PFLrlFnWceEUT92Vp4FK\nQaUahLRVQneMWJaliYCEEK8ErR0dIZ7KP11m+1nKyoHOGectxxr5N5RIE0XfKwlpy+QCbekMJqC6\nkcoyCCGeo8CZhK1KbbPtZ27GWXByoJ+Tw+NyNf7dISEkqITm9n6wrdbrfVbUGVFQqsfQXjFe74MQ\n0nZRSo2EnT/K9fijQg8zJ1p2KNXgbFtUZUBBa+2y2KIHnhiXq0G0in49CGnLfDkl7C5wnVQIAE/9\npwxLvqnGH+Wez5kghLR9FBmQsDPj43LMWFPuUJ4hNDnwiY/KMPuz8mAOjxDSRjCcyPnaLmqP3rvk\nm2re55v0lhNQbRMtM0hIe0SBMwlb3MDZyClH5KvUYFnWr5UafkxeE0JChPt7PLAbf4cNd2Z9UobS\nWs9WGyWERDYKnEnY4gbOH2631ySyPJHzv36qxce7tX77bIqbCWn7uL/HsVHuf6v/clOCy3Pnygz4\n7746P4+KENKWUeBMwpbQKn98T2851ogyrf9mycvpN4OQNo/7e6xRC/9SL5mUirHX8E8GPvh7M9Yd\ncA2e1+6r86ndJSGkbaLwgIQtoYtSMK5VaiX9ahDS1vVMV+H6ntF4YVwyYt0Ezu7U6cz4zy7XIPlE\nsR47TvFPICSERC6KDkjYMpn5J99IXQDFF1FKKtYgpK2Tyxi8MC4Z1/eM9vl3uqTGtdaZe4oymVl8\nub8OVfXUH5qQSEaBMwlbwqUagY+c1bRiICERRcoqoEJ9nwHg1a8rXZ6L5SyStKdAhzW/1GHWp2Uu\n2xFCIgcFziSsNOk5vZtN/AFyoOJm7kWTMs6ERJaUOIH1tzn6dxZuWcc3h4J7jpLLLeeMmkZqU0dI\nJKPAmYSVZVvt3TOEMsuBqnGWyYCrslUAgJxUZWA+hBASEtEqGR68Id7tNs/fniz42tBeru3s9K2B\nc0mNEa9vqvJtgISQNoGW3CZh5WRxi+1nocmBgcs4M5g/IQUlNUbkpKkC8yGEkJAZc00szpfrcdeA\nOJTUGPHWZsdFTjRRwrkkI88dMEPrcyt3eL+ENyGkbaGMMwmYwgoDFm2shLZJ+mQZblBsMgV3cqBc\nBkQpZehGQTMhESlaJcPztyejV7oKI66Mcbvt7dfEOjzWGVxPPIcLLV/0+b7jNxvM0BupXR0hkYYC\nZxIwCzZUYt+5Zqw7UC/5PQ4sv85BAAAgAElEQVSBc5AnB1LvZkKIjdPyoXxdNfac1YFlWd5Fme55\ntwR//leJxx97uqQFCzdUoqmFaqUJCUcUKpCAqW+2nPg9qUnmbtrUzL/UbWMLC4OR/2LlDevlUU7r\nbBPSruR2tUwGzEx0rVp0PhtU1puwu8C1b7NWZ3Y5xzW2Br0tXmScn/+8AvvPN+PH440ev5cQEnhU\n40wCxpoxVnjw9YzlhM67jhTzbvPKektbqD/xTNbxhvUTtTrK8BDSnvxtfAoams2Ij3HtuHFFhgrf\nHHZ8bsk31S7b1TaaXcrHnGunPWHdlUAbe0JIiFHGmQSMsbW02dqmSQpPksi/FOh4n/c0oM5IoO+P\nhLRHchnDGzQDQHqCHG/9OU10H7VNJpfz1vGiFv6NPeCupzQhJHQocCYBY719qZR4BdhzVueXHqiP\nj0zwaPsrs2gyICHE4sU7kzG8dzR6dFQhVi1+7qrTmeGPorFfC5tRVGWwPZbR1ZmQsESpNhJwCvF1\nB3C51n99UONjLFccBpB0QevZUYVtJ1xrFwkh7c/gHtEY3MNy10opYbXBZgOLZoNvX/hNZhbzv3Jc\nmZBxqbImhIQDCpxJwMklZJxrG6W3rHPno+kZkDEMVj6ajli1DPe5mdX+5+s7YGivaDTrqWUUIcSV\nlAnD7/1Y4/IcX+u6/+6tQ68MFXIzXffBN4GaSjUICU8UOJOAE8s4F5Tq8dK6SvcbSZSssXxYx3j+\nf9rcLLRcBnROVuKPCr1fPpsQEln81WinodmMT/fUAQBmR13CiHTH1/lab1KpBiHhiX41ScApRFIn\nf1tXEbCFAiYNjnN4zDCWGsa0DnKM6mtZ4KBTkhLd05R47Eb3y/ESQtqXuGj/XCK5veff+jQfZVqj\n0+uu76GMMyHhSfSsUFdXF4xxkAjGspaMC8uyMJlZ6PT2ekC9kUVjS+BKJR4Y6hoMD+4RjVWPZSCp\nNTutkDP4vykdMS43zmVbQkj7pZQz+HpmFvr4OIFY5pS6tva4t+JrPcdQX3lCwpJoqcaYMWMwePBg\nTJw4EYMHDw7GmEgE4C5OcvqyHsu31WLCAA0OX2jBHxUGbHw2CzKGwd3v8PdqDhS6FhFCPKHwoJ0m\nn0UbK3Fbf43Dc86lGXyrodKpipDwJJpx3r59O8aOHYv169djwoQJWL58OcrLy4MxNtKGmTgZlPw/\nmgEA6w814I8KS7ulFp7JM8FAFyNCSDDtO9fs0jHDOcPMV6rhyYqrhJDgEQ2clUolbrzxRixduhRv\nvfUW/ve//2H06NGYM2cOqqu9Xx2JRKbdBU0oqjI4nPT5Jr7oJHaysC6JK0VOqlJ8I4qcCSEhZnI6\n/fGVavBloQkhoScaOOt0OmzYsAFTp07F7Nmzcccdd2D37t246aabMGPGjGCMkbQRdToTlnxTjSc+\nKnM46Rt5LgpNeml9T6W0srNSSugXTXEzIcRT1tNZv87Sv8i7YzKx+O5wAy7XWiYJ8gXJJlpym5Cw\nJFrjPGrUKIwYMQJz5sxBv379bM/fdttt+P777wM6ONK2GDgTxbkZFL6LgtSMs9KD+kKhWsQ1f8nA\np3vqsOW3RqpxJsSNgoICPPHEE3jwwQfxwAMPOLw2cuRIpKenQy63fEN988030bFjx1AMM2T8dfo4\nerEFXx6oR7SKwRdPZ2HlDq3LNnx36gghoScaOG/ZsgWnT5+2Bc3btm3DiBEjIJPJ8O677wZ8gCQ4\nTha34LM9dZh7RzI0Ud61YOIGpS+srbD9zHcbUicx4yxl1UH7tvyXtcRYOaKV1tcociaET1NTExYs\nWIAhQ4YIbrNixQrExsYGcVSRqbbJsuCTNYGwu0Dnsg1lnAkJT6IR0pIlS7Bz507b4wMHDuDFF18M\n6KBI8L2wtgJHL7bguyMNXu+Dmx/5vXUSIMA/yUVq32ZuMNxBpKeqws3L1k+j3qiE8FOpVFixYgXS\n0tJCPZSwk51kyTFlJfpnzTAp5cvcO3Wrd9bi799W+eWzCSG+ET0LFBYWYuHChbbHc+fOxZQpUwI6\nKBJ81uCW74SubTLZstAV9SakO63K19hiRpSSgdmDW4smM2z1fe5wSzU+fCQdk/8pvIS2u7IO63FR\nqQYh/BQKBRQK95eE+fPno7i4GHl5eZg9e7b7XsOpfQBltHeDyczz7n0B8uh9BnQ9eBGjBnZG157F\neH/dUZ/2Z45OBtBkeZCZB+CSyzYmTSaQeQUA4OtDGwEAzz0eXn8uvMLs786vIvnYgMg+Pj8em2jg\n3NzcjNraWiQkJAAAysrK0NLS4rcBkPBWWW/EQx+W4rruUUjSyPH90UbMG5eMIT0tF8TaJhOmLLuM\nob2i8dAw6Svv/XdfHc6VGUS34wbDYkFvRoLwP+eUOEvNR5dkCZ03CCEuZsyYgRtuuAHx8fF48skn\nsWXLFtx6663Cb6g46d0HZeYBJfnevTdAYgCM6w6guhYyretduaRYGaobpddWbDtUZPv55ME9vNuY\na0uAEqfPCrM/Fxdh+HfnN5F8bEBkH5+3xyYQbIsGzk8++SRuv/12ZGRkwGQyoby8HIsWLfJ8AKRN\ncA5OrX2X959vtj1XWGmwBc5nS/UALDV6026QHjhLCZoBx/ILGQM8f3sS1u2vdygFiVIymDy4A8Ze\nK1x7efs1GrAsMOLKGMljJITY3XXXXbafhw0bhoKCAveBc4S6ulMUAODKTBVOlVjOf77M4/vrfyt4\nnze07pSltnSEhBXRwPnGG2/E1q1bce7cOTAMg27dutECKO2I0eT+9eoGe5bFutCJPykV9khexjC4\n4YoYFFzWOwTO8TEy3D3I/XLZSgWDCQNpSW1CvFFfX4+ZM2di2bJlUKlUOHjwIG655ZZQDyskMhMV\nWPtUJoprjHj2U8u1MBCxraF1HkgLZz6Iycx61KKTEOJ/ooGzyWTC/v37UVNTAwA4ceIEli9fjm3b\ntgV8cCT0jDypFO5pu05nj6w/2Fbr989XyriBs+X/zt0z6DpCiKOGhgZoNBpUVlaisLAQubm5kMnc\nT649fvw43njjDRQXF0OhUGDLli0YOXIksrOzMXr0aAwbNgyTJk2CWq1Gnz592mW22SpGLXOYDH3D\nFdH49kijXz/D0LpKCrd1p8kMyL1rekQI8RPRwPm5556DVqvFmTNnkJubi6NHj+Lpp58OxthIGDA6\nL3HlRNe6dLZcFpj2Sdx2dNYLhuuFgyJnQqwWLFiA3r17Y/To0Zg8eTL69u2LTZs24bXXXnP7vquu\nugoff/yx4OvTpk3DtGnT/D3cNos7GfqREQl+D5ytnYe47TyNZhYqN+c7lmXdT9gkhPhM9LtraWkp\nVq1ahZycHLz77rv47LPPcOzYsWCMjYQBvlKNT/fUobHFcjZvbs2GRCkDc7J2nBxo+dn5kyjjTIjd\nyZMncc899+D777/H+PHj8c477+DChQuhHlbE4SYKFHIG1/f0soOIAEPrudfEqQMxuSmd+3BbLca9\nXYxmAzWAJiSQJN/0MRqNaGlpQVZWFs6dOxfIMZEwwleqAQA/n7BkV6wn6ShlYO4f8tXzOY+IEiyE\n2Fknk+3YsQMjR44EAOj1+lAOKSLFtfaVV7Xet31hXDI2zMry2/6FMs5Cvjls6cCx4VAD1u6r89s4\nCCGOREs1Bg8ejBUrVmDUqFGYMGECsrKyYOZbCo5EBOcg1CBQqlFSY+nB3GwIbMaZb9lZ56cocCbE\nLicnB2PGjEFSUhKuvPJKbNiwAfHx0jveEGk6Jysx944k9ExX2Z6Tyxhc20WNwxd8b9m656wOn+zW\nYmQfeycgKctwf7rHEjSPHxAHlYJOjoT4m2jgPGPGDJhMJsjlclx77bWoqqrC0KFDgzE2EgYMAmuU\nfHekEUN7RdtqnKNVgTlB8wXuzt/b5BQ5E2KzcOFCFBQUoHv37gCAnj172jLPxL+G9nJtbznvzmS8\n9GUlzlz2Pcu/dl89hve2f4aRclaEhJzo/fWZM2dCLrfM0MrNzcXo0aMRE0O9cNsLa9cM7iQ9q4o6\nE5r1ljO5OkAZZ76luZ37mlLcTIjdqVOnUFpaCpVKhX/84x9YunQpCgoKQj2sdiNKKcObf07D/AnJ\nftkft5a6Wc/ynhP5mKn/MyEBIRo4Z2dnY926dTh//jyKiops/0mxePFiTJo0CZMnT8Zvv/3m8Nrl\ny5dx3333YeLEifjb3/7m3eiJz3acasLpEuHbijVNlrN2YgxP5Ax7qYaac0tw0uA4W92fr/gyLFSq\nQYiwhQsXIicnB4cOHcKxY8fw8ssv49133w31sNodmZ9OTNwA+Ok1Zbj7nWK/7JcQ4h3R8Gbz5s0u\nzzEMg59//tnt+w4cOIALFy5g7dq1OH/+PObNm4e1a9faXl+yZAkefvhhjB49Gq+++ipKSkqQmZnp\nxSEQb7Esi7c2Vzs853yqb2i2RK5xUTJU1DtN6WbsgbPjfgG1Qga9H+4r9uukxroD9Y77d9qGumoQ\nYqdWq9G1a1esXbsW9957L3r06CHaw5n4n9xP5yVv23z6spohIUSYaODs7UIne/fuxahRowAA3bt3\nh1artTXlN5vNyM/Px9tvvw0AmD9/vlefQXwj5YRsO/cKXASs7ei4dwVZ1lK6Ud8MpGjkqGwQWX7Q\njauy1a5joowzIYJ0Oh2+//57bN26FU8++SRqa2tRV0ddFoLNX99VpEwI5EOVGoQEhmjg/Pzzz/M+\nv3TpUrfvq6ysRN++fW2Pk5KSUFFRAY1Gg+rqasTGxuL111/HiRMnMGDAAMyePdvDoRNfuWttZMM6\n/d/pNV1rOzruSdrM2ks3+GqjPcF38XEetoJSzoTYPPvss1izZg2effZZaDQavPfee3jwwQdDPax2\nx3+lGt69jwJnQgJDNHAeMmSI7WeDwYD9+/cjOzvb4w/iTuhiWRZlZWWYOnUqsrKy8Pjjj2PHjh0Y\nMWKE8A5S+wBKLxvMZ+Z59762wIdjMzcbAJQ4PtkhC8jsZd9GvRdAM1hlNACD4/vju8LI/gbABLMq\nDoClVpqN7QhNhyqgpgY6kxyA9xlnefYAjBwgQ6/OiUBmjuVzo48CsPQsvbp7Cv7f3f2AjnFef0bI\nRPK/SyCyjy+Mj23w4MHo168f/vjjD5w8eRKPPvoooqP9uzgHEeevO2FCLUHFUOBMSGCIBs7jx493\neHzvvfdi+vTpojtOS0tDZWWl7XF5eTlSU1MBAImJicjMzETnzp0BWILzs2fPug+cK06KfiavzDyg\nJN+794Y7H46tptGEFp76ZNQVAyX2mmJWp7X8X69z2dRcUwjW3BoUt9jfY64vRYLC0seursHHlkwl\n+Zg1HACqgRJLPTbbWAMAiI+WYfFdUYCpwCX+D3uR/O8SiOzj8/bYghRsb926Fa+88grS09NhNptR\nWVmJBQsWYPjw4UH5fGLBvRH2xKgEvL+11qv9GAS6aLQYWJjMLGLU/DUh1FWDkMAQDZydFzu5fPky\nCgsLRXc8dOhQvPfee5g8eTJOnDiBtLQ0aDQay4cqFOjUqRMKCwvRtWtXnDhxAmPHjvXuCIhXpi6/\nLGk7e6UGf1s4621E7kk6PkaGxFg19p9vRpcUJQorDS7v9UVGguWfLXfhAUKIxcqVK7Fp0yYkJSUB\nAMrKyvDMM89Q4BxkMk7kfEu/WHSIlmHJN9Vu3sHvnS01vM//+f0S6I0sbrgiGgO7Rbm8rjeyYFkW\nDE0CIcSvRAPnPn362H7xWJZFXFwcHnvsMdEd5+bmom/fvpg8eTIYhsH8+fOxfv16xMXFYfTo0Zg3\nbx7mzp0LlmXRq1cvatAfJpzPsdZ4mC95YWbti5FwX7+tvwbRKgbxMTJ0SVFi1iflDu9LiJGhtsl1\nZmJ6vBylWvGyjtuv1SBKyeBPPIsPENLeKZVKW9AMAB07doRSqQzhiNonbsZZxjC4upPrRGcp+M6V\ngL3H/a4zOuw643pH8OEVpQCAfp3VeHVCChT+avNBSDsnGjifPn3a653PmTPH4XHv3r1tP3fp0gWf\nf/651/sm/AorDDhysRl35fHX/O4753qCFWI0sTh6sbVumed1M2ufuHKiWA8GQO9MFWJbbx3e1DcW\nZVrXpQdv6x+Lz/c6tpjrkqJAz44qlGqbRMellDO4rb9G8nEQ0p7ExsZi9erVuP766wEAv/zyC2Jj\nY0M8qvbHOU4NVeD628UWXKwyoFsa3aEjxB9EG+YcOnQIf/3rX22PH3roIRw8eDCggyLee3pNGVbt\n0OJ8GX9t8aKNVVi0sUrw/dzM8U/HGzkvuG7r3CaJhWvGWs7zLyyeZzEVBgxlRAjxg0WLFqGwsBBz\n587FCy+8gEuXLmHx4sWhHla7I3Pq9qP0Y/efpd8Kn8P5VDd6P0GbEOJINOP81ltvYcmSJbbHCxYs\nwHPPPUfZ4jDXpPduYgg3Fq7m9F/ma4lk5DkXO18a5DwXi2glg3UzsvDyugqcKrEE+AwTuowMIZEk\nOTkZr732WqiH0e45n/rkPrbm5OIrzXCnTmfGwd91+N9pHWbemsh7XiaESCMaOLMsiy5dutgeZ2dn\n0ypUbQDr5Yzqz/bUYdLgDgAcg2W+Gdqf7nFdVME54yx0flYrGSRr7FcSBkCUkk7mhHhr+PDhbieC\n7dixI3iDIS781dfZGwyA1762ZKlvvzYWV2R4V29NCJEQOGdmZuLvf/87Bg0aBJZlsWvXLqSnpwdj\nbMQH3jYicgyW7T/zrTKo52mT5Hzh7hDN8yWrdZNoFePw3PgBGvxerkfHeAW+P9ro+j5CiKDPPvss\n1EMgEvVMV6Jfpyh8dbBefGM/4J6pqUsdIb4RDZxff/11rFq1ylaakZub6zLpj4Qff5wczZzIWerq\nVc5JFXcZsCilPahmAHSIluPVu1NR3WCiwJkQD2VlZYV6CITD3SnzjUlpUCoYwcB5/AANvj7U4L+x\nULBMiN+IBs5KpRKDBg3CE088AQDYtm0b1Gq6zRPuvF2mVWgfUpvp8zXrz0pUoLjG3l3DGkpzSzO4\n8bVKQSUbhJC2je+U+cbkVERn9YUS59y+N0njx4Jo2NuGCo2LECKdaLHy3/72N+zcudP2+MCBA3jx\nxRcDOigSWtb6aIfAmb+VqIsantnbi+5J5d1WqeAPnDVRMrx0ZzKWz71J2ocSQkgb0CdLjZzMeNHt\nNAKrAXrLH4kUQoiFaMa5sLAQCxcutD2eO3cupkyZEtBBEek25Nejd4YKMWoZlv9sX9LVl+VWmw0s\nNhyqxwXOin9ST7x8zfo1UY4XAWv5hpKTVHHOMV/XIxpI1bS9pbQJCbF169a5PKdQKJCTk4P+/fuH\nYETtk6dzAQfkRKHFyOKuPA3vnBJfcK8HgYyhm5oNOHCqCUN7RUNJXZJIhBINnJubm1FbW4uEhAQA\nluVbW1paAj4wIq5Kq8OqHVoAln7JDidbH86Ou87o8Nlex44ZUgPxZoPrdkKdNbgn1lDOOCckkuze\nvRu7d+9Gbm4u5HI58vPzMXDgQBQVFWH48OGYNWtWqIfYLnRKUmBU3xhLEkAClYLB/AkpAICKOteF\no3zhycJXvnh/3W/YebgalfUdMHFQh6B8JiHBJho4P/nkk7j99tuRkZEBk8mE8vJyLFq0KBhjIyIM\nRnuk7Jyh4MsQS21Rp21yLbeQWqrBRygm5gbOSqprJsQvTCYTNm/ejJQUSxBWVVWF119/HV9//TUm\nT54c4tG1HwzD4Jlbk8Q3bMU9O6d2UGD1Y+m2ZbN99WuhPdkVyBrn0xeqAQAXq/wb+BMSTkQD5xtv\nvBFbt27FuXPnwDAMunXrhvLy8mCMjYhw17HibKkeq3dq8bfxychMVAKQXm6x5hfX/sy+1MhJCpz9\nOxeGkHarrKzMFjQDlgVRLl26BIZhYPblGzAJKOfERmoHx8vzwokpWPOLFgWlBriTlxOF/D+aBV83\ns8C5Mj1+OdOEqTfE090+QjwkGjibTCbs378fNTU1AIATJ05g+fLl2LZtW8AHR9xzd7r77z5Lm6OP\n/qfFvDstF1Ffgl9faqYFA2cFN3Cmkzch/pCZmYkZM2Zg0KBBYBgGhw8fRmxsLH744QdkZGSEenhE\nAN8p9qU7k7Fwo2XhErWSgYFzM7BTsgJFPJldk8n9udpsZjHrkwoAwBUZagzIifLbHT+ag0jaA9HA\n+bnnnoNWq8WZM2eQm5uLo0eP4umnnw7G2IgYD891Jh8iZ58yzgKPuVlmCpwJ8Y833ngDGzduxOnT\np2E2m9G/f3+MHz8ejY2NGD58eKiHRwTwnWO59dFyGeOQwFAKTB4RiZsdXl+8qQqxagb/fcq/PcDp\nbE4imWjgXFpais8++wxTpkzBu+++i+LiYnz44YeYOHFiMMZH3PA0CexTxtmnGmf+02jHePs/P+rd\nTIh/qFQq3HrrrRg8eLDtuZqaGnTq1CmEoyJixl6jcfs6C8DIyTjLBDrWmUVO9M4JlMYWP+aJqUk0\naQdEA2cro9GIlpYWZGVl4dw5983bSXCInSABQMbJSvgS/AaiD2iPjirbz5RxJsQ/Fi5ciK+++gpJ\nSZaJaSzLgmEY/PzzzyEeGREyaXAc8nKi3G/EAkbOiVghkHEWO1fztbo7cqEZ13QR+XxCCAAJgfPg\nwYOxYsUKjBo1ChMmTEBWVhZNMAmxC5UG7DjVhJEjpP09aJtMWHegHqOvjg3wyDyniWLQ0MxSVw1C\n/GT//v3Yt28frfDaBlzbRY3DF1rQJUUpuq2ZZWHg1FnIBSZUiwfOrhu8vK4SCyemoL+vwTNNNCTt\ngGjgPGPGDJhMJsjlclx77bWoqqrC0KFDgzE2ImDWJ2UwmABVQrGk7Vfu0GLHqSacK9P75fOdl9D2\nhb51NyrqqkGIX3Tp0oWC5jbir3ck48SlFgzsJhywdkpSoKjaiGSN3KFUQzjj7D5y1un5Xy+uMaJ/\nF/Exu0WlGqQdkFSqIW/9apubmxvQwRBprDOr63Xu2xJZVbcug11Z79qf2VO5XdV4cFg8ZqzxviUh\nNylhMFpOtJRxJsQ/0tPTcf/99yMvL8927gaAZ555JoSjInxi1TIM6u5+gZQ3709DRZ0JqR0UMHIz\nzgI1ztzYtUdHJc6VOV4n3tlS4/V4JaPTOYlgAr96JFwdK7L35/xm1++i2+8u0OG3i5bm96Va3wPn\nGJXMoe9nrNrzMyT3hG89x1ONMyH+kZCQgCFDhkClUkEul9v+I21TjEpmK+XglmqI1TgP6haFR0Yk\nSP4c7qqvjS1m20JY2iYTyrTS7jBSvpm0B5InB5Lw8J9drouTBJNKwTgsoS21pG3S4DhU1ZtgNAPX\n8WRYKHAmxDfWSYBPPPFEqIdCAoRbqiEXOGdaA2eGAQRia17//p8Wd1yrgVLBYPI/SwAA38zOxgPL\nLtt+lorO5iSSiQbO69atc32TQoGcnBz0798/IIMidizL4nSJHt07qgLSsq1rihI5aUpsP9kkaXuX\nwBkMpOQZHhga7/Z1CpwJ8c20adOwZs0a9OnTx6EFpDWgPnXqVAhHR/yBe6ZVCJZqWLaSyRiPAmcA\nOFHc4tBdY85ntEowIc5EA+fdu3dj9+7dyM3NhVwuR35+PgYOHIiioiIMHz4cs2bNCsY4262955rx\n+qYqDO8djTljk/2+/4HdolDbJL2EQyln3C717S0V3fsgxCdr1qwBAJw+fTrEIyHBoOAkG/p1VttK\n8qxNr2QMPF5O++V1lfhoun11yTOXPZtQTnMDSXsgacntzZs3IyXFsmxzVVUVXn/9dXz99deYPHly\nwAfY3p0ttZy4dhfoMGesf2+BDbsiGvcP7YBPdksv/2AYx8b7nmY0hFDGmRD/qKiowObNm6HVam3Z\nR4AmB0Yaa8Y5PlqGRfek4o63LgGwl2rIGO+6wz2+6rLPY6OzOYlkopMDy8rKbEEzACQnJ+PSpUtg\nGIb6OQeB9QQUiC/yg3tGQy5jkBDj2RxRb2qcxVDgTIh/TJ8+HadPn4ZMJqPJgRFM3noidm7LzA2c\nvblu6H3pNEopZ9IOiGacMzMzMWPGDAwaNAgMw+Dw4cOIjY3FDz/8gIyMDLG3E1+1xpOBOB9ZT7yJ\nsdIvqjdfHeuQTWAYoGuqEoUV0lrjObt7YBy+OliPvtnUd5YQf4iJicHrr78e6mGQALNmnNnW8Pij\n6RlQKxjM+qQMAMAwjMMdB19Za+WloHVQSCQTDZzfeOMNbNy4EadPn4bZbEb//v0xfvx4NDY2Yvjw\n4cEYY7vGPf/48yQI2E+8UjPO9w2JQ5cUJaoa7DXRDAO8OyUN20824R8/eN4f9MFh8Zjypw62IJ4Q\n4pv+/fvj/Pnz6N69e6iHQgJI1nrOtF4WkjWWBAg34+zPm8JmFqAbg4RICJxVKhVuvfVWDB482PZc\nTU0NOnXqFNCBEQvrN3czC0x8twR6o/+CZ2uwaj3hilG3RtrcGLdDlBwMw9hO4r6MgxDiu127duGj\njz5CYmIiFAqFLVO4Y8eOUA+N+Ilc5nht4OK2oxNbftsTr66vxPwJKW7P11SoQdoD0cB54cKF+Oqr\nr5CUlATAfrvm559/DvjgiCN/Bs2AfSGSzEQFJg+Ow+VaI3ae1glur1ZaTpjc23DP3275d0GhLyHh\nYdmyZaEeAgmQO67V4JvDDVj1aAY2/VoPwPXcy/pY4yzk8IUWXK41IjtJ6ce9EtL2iAbO+/fvx759\n+6BWUw1qKAQyILVmDhiGwf1D47HjVJPbwDmqNXDmJhwyExUuzxFCgm/nzp0YPnw49u7dy/v6xIkT\ngzwi4m+Pj0zAQ8PioVQwGD8wDgWleky7wbFHvq2Ps59rnAHLAiwmM4tTJXr0zlA5tMSzfLZfP46Q\nsCQaOHfp0oWC5hAK5CQL5wb6cpFS5+wka5BsH5T1x/QEy2udkqkhMyGhcObMGQwfPhz5+fm8r1Pg\nHBmUrQthJcTI8fqkNJfX+3WOwo5TTejeUYloletJPS8nCvl/NHv12XoTi7v+UQwAuPe6OEz5Uzya\nDWYo5YxDCUcgev0TEoos1+AAACAASURBVC5Eo5z09HTcf//9yMvLc2hpRD1Bg4MJYM7ZuVZNwZM2\nvm9IHAZ1j0Zjsxm9My1foLjnROuPPdNVWDgxBd3SVIEaLiHEjccffxwAeDtqWBdHIZHvydEJGNY7\nGrldo1zuBDKQPhmcz/YTjbafj1xoxsRBcbj3vZKALdBFSDgS/Q1KSEjAkCFDoFKpqCeon5lZFiu2\n1+LEpRbe1zfm12PbyUbe1/zBOcPMl3Ee1D0aPTqq0J+zDKtjH2f7g/5dohAX7f1JmRDiu1OnTuGZ\nZ57B1KlTMXXqVEyePBmrV6+W9N6CggKMGjUKn3zyictre/bswcSJEzFp0iT861//8vewiZ9EKWUY\n2M3So59hGNx8dazttXempKFbmvc1yt8ecbweHW+9dtlL/KhWg0Q+wYyzdRLgE088EczxtCsFl/XY\n9GsDNv3agG9mZ7u8vnKHNqCf71yfxjdbmi87QXfhCAlfr776KqZMmYIPP/wQs2bNwg8//IBnn31W\n9H1NTU1YsGABhgwZwvv6woULsWrVKnTs2BEPPPAAbrnlFvTo0cPfwycBkhQrQ06aCufKXHvuv3p3\nCuZ/VenR/gpKDVi7r573tRaDGUcvNqNfJzWVbZCII5genDZtGgCgT58+6Nu3r+0/62PiOxNPj01z\nEGdXOMfJfBnnGJ4aORmdCAkJW1FRURg7dizi4uIwYsQILFq0CKtWrRJ9n0qlwooVK5CW5lo3W1RU\nhPj4eGRkZEAmk7mdhEjCi/PZWqVwPX9r1N7dKTxzWe/w2Hr52nlah5e+rMSes8KTzQlpqwQzztaa\nuNOnTwdtMO2Nc+C6Mb8eK3do8cHD6chICHw5jHPG2do1w+E5letz1EGDkPDV0tKCgoICqNVqHDhw\nAD169EBxcbHo+xQKBRQK/ktCRUWFrSUpACQlJaGoqMhvYyaBZ03JcAPn+ROSse9cM3qkB6bFXGGF\nAUN7BWTXhISM6OTAiooKbN68GVqt1qG1DU0O9J1z4tZamrH/vA63X6MJyGd2jJejTGtZ+c85w3xF\nhgp35mkwpEc05q6tAMCfXaaEMyHha86cOSgqKsKMGTPw/PPPo6qqCo899ljwB5LaB1BGe/fezDz/\njiXcBPH4Jt7RiGOX9+Kpe64BMlOg1JYBqAIADBj6JwwYat1S/MuVW5l5AH5weIrpkAlk9nZ4rllv\nBMsC0eo22IGJ/l22XX48NtF/udOnT8cVV1yBrKwsv31oe3Wp2gCDkUWSRo7CSgNvqyArvSkwJRv3\nXtcB7/1oWRrbuYsGwzB4dESC6D4o40xI+IqOjkZenuUisWXLFr/sMy0tDZWV9hrYsrIy3pIOBxUn\nvfuwzDyghL+lXkQI8vGlA/hgWiKAC0DJBchqOK3o/DgOtvgQ9EbH+kOm4TJQ4jih8J63LgEA77ye\nsEb/Ltsub49NINgWDZxjYmJ42xsRz/2/f5cBAFI0clQ2mDB7TJLgtoYABc7cEhCxvs1CaLIHIeFr\nyZIlfm8/l52djYaGBly6dAnp6enYvn073nzzTb9+BmnbNv3agEad48RDulKQSCQaOPfv3x/nz59H\n9+7dgzGedqGywVIqUacz8b7OwD/Lay+6JwUvfmnJEo3L1WBwj2hc3cm+mA1fFw2r9x/s6FIDTQgJ\nf5mZmZgyZQr69+8PpdJeuypWXnf8+HG88cYbKC4uhkKhwJYtWzBy5EhkZ2dj9OjReOWVVzB79mwA\nwJgxY5CTkxPQ4yCBEaj555/tqXN5jnIsJBKJBs67du3CRx99hMTERCgUClubuh07dgRheOHn93I9\nNv7agP93UwKilL71LHYXuG4/2eTTvgHLClJWHaJlDkEzACjczD/slByYySKEkMDKzs5Gdrbnt8Gv\nuuoqfPzxx4KvDxw4EGvXrvVlaCQM8HXV4MPAs67MTXrXra2XuFfXV0KpYDBvnOsiKbVNJnx/tBF3\n5mlsXZzKtEaUao3oz7mGERIuRAPnZcuWBWMcbcbctRXQ6Vl0S1Xizrw4n/bl7vT1yW7Xb+++UPOc\nLOWUDiAkYmzatAnjxo3DU089FeqhkDDWN1uFuwdqcH3PGLfbyWT8LVO9ccjNEt/v/1SDveeaUa8z\n4/GRljk2j64sBQCsfSoTMV62yiMkUAQD5507d7rt1Tlx4sSADSqc6Vq/VXNLKUxm1m32WIhQ3Go0\n+/9empIvcKYFIAmJGOvWrcO4ceNCPQwS5mQMgweHuU4CH3FlDHacst/p9Edexbkrk7bJtTyxvM7y\n3OVao8trzQYWMWqXpwkJKcGvcmfOnAEA5Ofn8/5HLA79rsNd/yjG7gLfSyus/rPLv9lmgD/jTAuZ\nEEIIAYBnb0vEvdfZ76Kq/DDHhWHsy3IDwPTVpS7bWEtH+CbEH7nQjFKta0BNSCgJZpwff/xxAODt\nqOHvGdtt2TeHGwAA6w/WY2gv97e+Qolb1/bSncm83+4JIW3X4cOHMWLECJfn2/u8FCINwzAOK8Uq\n5Z5WObuSMcALrWsCAEBji+v+lG4C53/8YGmd2uZa15GIJlrjfOrUKSxfvhw1NZZ/wHq9HqWlpZg6\ndarozhcvXoyjR4+CYRjMmzcP/fr1c9nmrbfewpEjR9xOSgln1tZs3lRXBKAiQxA3cL6uh5eLEhBC\nwlafPn3w9ttvh3oYJELwlfd5SspNTWVrZtsfnaQICQbRqvtXX30VN998M7RaLR5++GF07doVS5cu\nFd3xgQMHcOHCBaxduxaLFi3CokWLXLY5d+4cDh486N3Iw4T1xOBNix9TECNnvuW0CSGRQ6VSISsr\nS/A/QjwhtfuGO2KBM8uyULbOtTHyd2clJOyIBs5RUVEYO3Ys4uLiMGLECCxatAirVq0S3fHevXsx\natQoAED37t2h1WrR0NDgsM2SJUswa9YsL4ceHqx/gN6EwP6asSxFYizNBCQkkvHd0SPEE9xAV+nm\nkpES5/v15ONftBj3drEtYBZbLffL/XWY81k5DJSZJiEmGji3tLSgoKAAarUaBw4cgFarRXGx+Jr2\nlZWVSExMtD1OSkpCRYW91mn9+vUYNGhQm82E1OnMWPJNFS7VWGqFvck4r96ptf0cqJUCrZI1FDgT\nEsmee+65UA+BRBClm8mByx9KR6908V7/ewp0gq99sb8eAHCp2rLaoFhAvOaXOpy5rMfRi8Kt7QgJ\nBtEa5zlz5qCoqAgzZszA888/j6qqKjz22GMefxDLiSxra2uxfv16/Pvf/0ZZWZm0HaT2AZRe1uYK\nrDfunUsAgA35jtlzVhEt4XMuCb5yAT0AiH8hsRpwZUccOiXyZ5eZh3tuisaRggrE5gzw8zJOl2yf\nEVCB3n8oRfKxAZF9fJF8bITAdYGua7qoceSCpUOGWsm4DaytThTrRbcp1VpSzlKTT9aWsNZJr4QE\nm2jgHB0djbw8y0Viy5YtkneclpaGyspK2+Py8nKkpqYCAPbt24fq6mrcf//90Ov1uHjxIhYvXox5\n8+YJ77DipOTPdpCZB5QEvn2eWd/E+znWOmaxPs91RSckf9ZToxNwSz8l7jglsmFJPqZeA0y9RgNc\n/lXy/j0SyD/bIP3dhUQkHxsQ2cfn7bFRsE3aEIXT/Whuxw3A/6WGZokFjyYWOPSHDq+ur8Kie1Ic\nVsglJBhESzWWLFni1Y6HDh1qC7RPnDiBtLQ0aDQaAMCtt96KzZs344svvsA///lP9O3b133Q3AYI\n/crf/34Jpiy7LPr++V9Vim5jRf2XCSGE+Bv30qJwyijHqh0fm7ypT3RD6u7MZhb/3Wsp81h3oN6v\nYyBECtGMc2ZmJqZMmYL+/ftDqbTXND3zzDNu35ebm4u+ffti8uTJYBgG8+fPx/r16xEXF4fRo0f7\nPvIwI/RLb+lb6d8TjMzN153rukdh//nA14DNHpMU8M8ghBASGtNuiMezn5bbHjsvfW3ycxcMqYGz\nwQTIW4cS4KlBhPASDZyzs7ORne1d8/E5c+Y4PO7duzfv/ttqD2cuvs5yJTX2RUZ+8+OEBqGqj4QY\nGR4aFh+UwHnEleG72AshhBDf9ExXOTz+U69obOTM7fF3xtloZvHVgXoMvcL9XCaTmbWVPpoociYh\nIBg4b9q0CePGjcNTTz0VzPG0WSzPSYS7vOiLX0ovxRAjVKohY0CTJQghhHhF6Orx7pQ0dEm13HG+\nposaAPDU6ET8/btqlNf5J/Xc0Mzio11afLRLy/OavaDaaGZtGWcjp866os6IUq0RV3eimmcSWII3\n/detWxfMcbR5wVwFUKhUQxMl82/jDEIIIe2eWimDjGHw9cwsvHZ3CgCgd6Yaqx7LCMrnb8i31zIb\nTYDCmnHmXHgfXlGKeV9Uok5HK6mQwBKdHEikYVlL1vmfP9Vgx6mmgH6WUKlGh2j66ySEEOKd7h0t\nWeXrujtmbaNVlouOQs6E5K5ms8EeIHMzznydPZr0VL5BAkuwVOPw4cMYMWKEy/PW3ok7duwI4LDa\nHpa1TATc8lsjtvzWGNAaYGupxvTxV+ODr4/Znv/LTYleLcRCCCGEXN0pCv94IA2dkx0XNwmnpIzJ\nZG/vauS51UvXQBJogoFznz598PbbbwdzLG0aywLmIP3GWjPOt/+pGwYkV+CxlZZa6i4pSocJiYQQ\nQognenRUuTwntg4Bn5F9YrDtpH/uvnInJRrNrK3HNF/GmW++ESH+JBg4q1SqNrscdiiYwcIQpNIq\nbo2zlNWbCCGEEE+ldZDbyiKEPDEqAe9vrXV5vrwuMEkco4mFXO5a42wVzPlGpH0SDJz79esXzHG0\nfSxgCFBrnMdujAcDBh9ut5ycdJwaLqWcZyCEEEKIjz58JN3rCefaJj8vLdjKaAas+SK+XtKUcCaB\nJvhd8rnnngvmOMKa0cRi85EGnC3VC25jZgGD0f4bu7vAfxMEr8xU445cje1xTaP9bOG8uhMhhBDi\nD3IZ4/VKtYG6NnEzzrw1zgH5VELsRBdAIcCJ4hYs+9n1VhSXmXX8JV7yTbXfPj8lzpJWvrVfLH74\nrdGhBs25VIO+bRNCCAmWq7LVvM+LlXh4y2QG1ErLda/FyFOqEZhENyE2FDhLoJPQ3oZl4fca5/nj\nk5GZqERirCVw/stNCRg/IA6Zifa/NkX4THYmhBDSznRy6sBhxTdxzx+MZhYJKsuFT6dn8Y/vqzHz\n1kTb68GapE/aLwq7JOCbgOCsvtmM40Utfv3caJXMIUiWyxiHx4DrSoF0yiCEEBIK44Z1s/3MV0bh\nD0YT63CnddvJJhg5SSsjZZxJgFHgLIHUTPK//+e6VKgvpHYAGtQtCnflWWqgMxIU6J6mxCPD4/06\nFkIIIYRPXo5lwZRJo66wPTfr1qSAfJbR7No5g/vYTG01SIBRqYYAM8uiusGElDiFpIxzIAgtre3s\n5fEptp/lMgb/N6VjgEZEyP9v787jm6rT/YF/Tra26b6lG6DIDrLjgpRFBXFBRlAsKoLLOCp4RcSL\nyM8LODO4oqOi40XRF+IyMGJFvCq4MiJWlGUqsgyCAraFbnRN1yTn90ea/ZxsTZom+bz/gSQnJ9+T\ntidPnvN8ny8RkaPlM9LR3CYiPl6Dv9+WBUEAeqTZSjhStApc2CcOnx3Qd/q1DEbRpVez0e52sEpE\niCyYcZaxYWcdbn/1DL454ngZqCv503SeiIioKykEAfEx5nCiZ7raIWgGgEVXpeGcjMDk6X450+Yy\nCX6t3eT9QCW6DEYRTa2MwskVA2cZ234yfzM+XNYWtFotTxg3ExFRuFMKwJXDEjBtRDzGnBfbqX2d\n1ZtQ6rRCrv0Khc98fBbbf2p0fprP5q8/g4KXyrgSIblg4OzEYBTxaXEj9K0dfyyiGLpSDX87zxMR\nEXUTCgWgUQm4+/JUDMyxtVNNjPUvBKmol78MXNtkwkufu28f643TtebXYNhMzhg4O9n+k95h+VCT\niJCVariuCkhERBRe7JNAlpIOAFh/d46f+/O8TV2Tbx/cRpOI/9pQjvd/aHC4nwlncsbA2UlZreMl\nIBHBa6vjSWoCI2ciIgpv9hdPtTG2GxqVgBUz0zHyHOlFVLzZn5w5r5zGsXL51X6dldcZcKKyHet3\nOnbHYuBMzhg42yk5246t+xxro0QRMIYo46zV8MdDREThzT7OjXf6XBvTOw5zx/vWPrWp1btotvik\n69oK7UYRT31UjeKTLV7tg4EzOWNkZuflz2tc7hPF0GWciYiIwl2jXXeKvtnmGuc4tS2cVvo4nedE\nVbtX28WoXXe877cWfHu0GY9urnJ6RHoQ/PgnZ1Hfx9lgFNHUZkJSnFJyoZOSs+3QxmhcHwiyIXld\n/5pERESBIsBc7miftU1PUGLVrAyk25UiKoLUQkqqpEMuEJYr/xAhQi6o7k4Ol7bi18p2XDMiIdRD\niXhRHzgversCJ6rasfn+PMnuGQdL23Cw1Ps6qUAJ1omEiIioK6yZl4Udh5usKwtaDOvleDtYH3cm\niTbMSpnr7HJDCJdSjSUbKwEAEwdqkeBntxLyTtS/u5ZLPo2tpm6x4lCcxvzny050REQUzs7JUGPe\n+GSPi3nJBbMAcPsEW/3zgBzHK7Hn93B/ZdYkEfXKfrbKZZzDJHC2CFX73GgS9YGzve7wC9cr3bzi\nEhPOREQUDdxdYc1JsV0YT45zDFkEDxkmkwiIoohnPzmLL342L2rm6/oIoY8KqLth4NxBQNetcZ+Z\nKN9mzvINmYEzERFFA3efd/Zx7oSBWofHTjutIOjMZALqm03YcbgJL2yvcdmfnFPVtsmHnjLOoiii\nsaUbXK6mLsPAuYMoBibj7O6SEwCsmpWBV27Pxi2XJMmOA2CNMxERRQelm2jWPuM8YWCcw2MtBvcB\nq0kU8cqXjqsIyn202gfIC9aXO+zDnQ3f1uOml8twuNS19R1FpqibHFhZb8Adr50BAPTPVlvv37K3\nAWfqOt+wOS1eicoG+f2kxCsRoxagUcm0vuk4D/AbDRERRQOFmw+8czJsn9POpRlt7hPOMInArqPN\njq8lGzhLB8ieMs6bO1Ya3HeiBYPyfFvIhcJT1MVnm3bbltM8esZ2OWbL3kapzb3yx0m2yQsqDw0p\nPeWRLd+f3Z1IiIiIIoW/F1jbDe6jWqmuGnJ10XIXnN29greLqHQl1mQHX9RlnINRATGsZwzS4hU4\nqzdBbVe+fE6GCierHL8SeyrlMJksNc4s1SAiosgn93lnWYr7uVt0aGl3DQk9BYlGiXSxfQxQUW+A\nLskcBslllt1lnF0XUQm9cOsCEo6iLq8ZjHBUoRAQoza/lfYZ5zi169vraRawpatGXmrUfachIqIo\nZP+xuHBqqvX/y2dkAAD6ZWswtKdrGUR8jPvP0zaJjLT9PfarBctmnL0MRLtLvMrAOfiiLnD2ddLd\nZUNss3jn5ktP6BMEIKajZlltFzhrJf6oLScIuV/uBVNS8adLU3DjxYk+jZOIiCjcXdLPNgHQU+nj\nw9PSMW1EvOzjH+xxLcGsspuD1Nxm+yD2J+PcHYXbeMNR9AXOPqacJ9q1vxnjtPqR/T41Ktf9x2lc\n317L46LM99OEWAWuHZWAWIlsNRERUaTRxgjon63GzWOTfFr8KydVhbsvT/W8YQdLT2cLy4Jjlsek\nWLpqyD3e3XjqAkKdF3XRma+Bs33Nslydh0IQENsRJLfaXRoanGde1ci+hY7lcpDU7/Zlg7WudxIR\nEUUwhSDg2VuycNMlvgXOvpZeOnfhsE9uuZscuOfXZkx/aCs+O6DvFguluRPo0bUZRJTVGPDOrjo0\nt7FfNcDJgR6p7J4gN4FBIdhWNGpotv1i5aSo8Pa9OUiMU+CbI6UAbJP/pDxwpfffnImIAu3xxx9H\ncXExBEHAsmXLMGzYMOtjl112GbKzs6FUmrMJq1evRlZWVqiGShHK08T4N+/Owby1pwF4t5iJvfU7\n6xxuJ8Qq8P2xZrS0i+iRJh0OiSLw+r/Mz1vzWQ3WfFaDzffnIUbdPSfwBzqun/P3MjR3TMw0icCt\n+ckenhH5oi9w9jFyVtrVWMn9kSoUQIrW/GFSbxc4CwKQrHVcJdCyOqHUycHTxEEiomD54YcfcPLk\nSWzatAnHjx/HsmXLsGnTJodtXnvtNcTHy9eUEnWWp4/BtATbZ6qvibD/2+9Y85wUp8CqD6sBAM/e\nopN8jig6JtAA4NOfGnHd6G46DynAgXOzXTeTGn3n17qIBFEXOPscm9r9Eso9VSEAyVrXUg374Pih\nq9Ow65dm5HV8q506LB7/PtmC2WOTsP2AHkM6yjqIiEKhqKgIkydPBgD06dMHdXV1aGxsREJCQohH\nRtHEl2BY6GSfLKNRlPy/vTd31rm0kW1u9S86bWwxL/89+Xxt0OYxdfNKkogQdYGzr99Q7Qvt5YJu\nQRCQopVoPWf3/4mDtJg4yFbDnBCrwF9mZQIAhvTgakNEFFpVVVUYMmSI9XZaWhoqKysdAucVK1ag\ntLQUo0ePxuLFi3mVjALOpxrnTv762a/YvXRTpeQ23x5txoAcx8SWSul+Et6x8jbUNZkw2qmhwEuf\n12DX0Wac1RsxN0glD+EyiTGcRV3grPTxLy0+xhwQC5APuhWCrf9yRqLS2u6Gq/8RUbhy/gC+//77\nMX78eCQnJ2PBggXYvn07rrzySvkdZA4G1HHyj7uTO9q/54WLSD6+Th6bIIoASj3sqwQAIGYNBZLj\nrLd9ZYzLBGAu33CXqVXGJgCwdeNQp/WEMes82zgBiAk5aErrC22sGoue/RAA8NGzf3DYz4maLwAA\n5a1JQfgdML8HpswhQJafZSQdY7JMgFQqBDi8t9oMIHdkZwYZOgF8v6MucPb1G2rPdDUWX52GATka\n2f6ICgEYlBeDZdPT0S9bjdtfPWO9n4goHOh0OlRV2VZCq6ioQGZmpvX2ddddZ/3/hAkTcPToUfeB\nc+Uh/waSOxoo2+vfc8NBJB9fAI7N4WPTw74MZT8Bev/DGGNDhVfbqQx6h9vqxlIYS2sc7vvnF0fx\nzy+OYu0ddhNmncZvam8FAAgtZ4P2OyBWHASMat+f2PGzM5pE3PRyGeLUAt68J9dxm6aq8Pzd9ff3\nUibYjrqcqD+XdiYN0iInRSU/ObDjgbH94pCRaPsj5mVMIgoX48aNw/bt2wEABw8ehE6ns5ZpNDQ0\n4M4770RbWxsA4Mcff0S/fv1CNlYiAC61x77a9pPe80YSr6NSCjDJdGY7VNpm/b9z6zrLVZxgxgad\nrdR48O0KNLeJOKtn6zk5UZdxdp4d635b77aTK8lg2ExE4WLUqFEYMmQIZs+eDUEQsGLFChQWFiIx\nMRFTpkzBhAkTUFBQgJiYGAwePNh9tpmoE1bMTEdavFL28b/N0eHo6TZromrptWl47es6VDcGp+uD\n8wqGaqV3k/DajWJHuYOZ5TnBzKl5Gzg3tpjw1EfVuOmSJAzOs82z+rWyPUgjixxRFzh7+wv7/sI8\nt4Hv+wvzcP0LpW732dlvw0REXemhhx5yuD1w4EDr/+fNm4d58+Z19ZAoCo3p7b42vm+WBn2zbBP2\nxvXXYlx/LWY8XwKDEfjjpGSs21HnZg++cU6iCYJrNtn+MQuDEWgWTfjzB1W4/oJEyW0A4OeSVgjw\nvVFAbZMRDc0m9Ey3lWZ4Oznw43834t+nWlF8qhJbF/fw6XU9KasxIDVeIbl6ciSIzKNyw9vlKDUq\nAWqVfOissXtMLonNSg0iIqKu8eKtWbg1PwlThwW21/jeE60Ot02ibU0Gd9qNIr450oyfS9rw2AfV\n1oyzJfAyiSKqG414ZFOlbFcPd2595TTmry93CJa9bUdnKTUJdA+OuiYj7n7jDBa97V39eDiKwsA5\n8PuU69TBGmciIqKu0TNdjRsvSkKsWoGtD+YFbL9tBsfAoa7JhMc+qJLc1v5Tv90owmDXH1p0KtV4\nYXsNbutYBbEzfq2wlVc4hzhfHdLjX4ebsO9EC9Z/U2sNskW7LX843uzV6wiCgOpGIxpb5L811HUs\nAlda47i++VcH9fhwb4NXr9PdBbVUw93yrd9//z2ee+45KBQK9O7dG6tWrYIiyP3bRFHEySDU78hP\nGgz4SxEREZEHwUxcfbSvEVUy9dSOpRoi2k32gbP5/5aGAl8dbHJ47p9eP4NX78xGXZMRt609jdsn\nJmP6KM+t5R6wy+46Jwf/9qlj94+rhicgK1nlsN1ftlTjmV5nMdCpGYdUOYol0P9IprxDKfO2/22b\neRx/6K4rLvogaJGq/fKtq1atwqpVqxweX758OV588UVs3LgRer0eO3fuDNZQrN77oQHf/Me7b1ZS\n5Ko8ZBdG8fuViIiIqDOmjQjO8vDuSj7tA/Z2IxwyztY4VCY4OF1rztLuP9kKgwl47Ws/6rQ9XFWX\nG3pVrWtsZPBjrqV9POQuMx3OghY4yy3falFYWIjs7GwA5hWqampqJPcTSNu9bD3jrZdvy8LKmRkO\ns2btcQEUIiKi0Lh6hPxy8Sr5ph0eyX3mOzOXarje7+7pJlGUnXjoDfugXmo/lsDWOYCWWr7c4PT8\nA7+3eHx9+9UYd/7HnFHf9H295LZtBhEt7bYnVNQbsOazGtQ2Bac7SqAELbSrqqpCamqq9bZl+VYL\nS3/QiooK7Nq1CxMnTgzWUKya2zpX4OycWe6VrnZZUtOegjXOREREIdEjTb4aNTHW//CnpV0+lrCf\nqGcwimg3Wsoz7NrRudm30QTUN/ufqbUPiFslxmkJS5zrtqUGdcerjvXXp2s9B7RGuwy7pavG27uk\nA+fZL5Vi1otl1tsvfVaDzw7osWpLtez+m9tMeOWLGpSeDV3bvC5rRyfVIqW6uhr33HMPVqxY4RBk\nSwrA8q0GUb4If3DvNBz6zbyk5tihOZIrxqRmGAB8jFEDdB6WbzQvUSnoBgPZSf6N2VuRvHQrENnH\nF8nHBkT28UXysRFFCEEQMGmQFjsON7k8JleykJOi9BggNrgpQbDvtmFfqqFS2l7TXcb55c9r8OVB\n1/F6a92OWqiURr0nFQAAG/RJREFUAp6arUOzVOAM4Mdfm7Flb6PL/c6afEg2fn+sGf2yNA4ZZ63G\nffKw3elt1rean3zkdJvE1mb/t78RnxTrsee3Frx+V47X4wukoAXOnpZvbWxsxF133YUHHngA+fn5\nnncYgOVb1QoRzlU8L96qQ06qCjEqAa0G8/KSMSpBcnnGWACb78+DRgWvlm8UKg8BJj+WvvRWJC/d\nCkT28UXysQGRfXwBXr6ViLpGWoICZxvNwVluqgq1Ta4BWq90tVeZVTn25Q3tRtEavKoUgrWMwt3E\nRXdBs0kUPV7JPnrGloltaXMN8L/4uQnvFrlmgAUBaHfOQnvpt4o2rPqwGmkJCjxybbr1/li161jd\nHYPzQjNSLO9nVUPoyjmCVqrhbvlWAHjyyScxb948TJgwIVhDcKGR6MusVAqIVSsgCOZ/Lf+XE6MW\nvJ6tywVQiIiIQi87WYk37841J74ADMrVuH+Cn4x28ZzBKOJwmTk475mudmlH54vqBiP+8FwpNhbV\nQ/SiDloURbQZXbeRCpo7RoW5a8tkHnPvdJ35oM82mhwyzgBwrNzxy4ncUuWAd4GzJVtvEoGt+xrw\n0meu8+P0rSb814ZyTH+2BHVBqJcOWsbZ3fKt+fn52LJlC06ePInNmzcDAKZNm4aCgoJgDQeA9BLa\nwWwZxz7ORERE3Yc52ynCaAL6ZqlxrLwdaqVr2YC/nDPOTR3lB5mJSpyqMmeDBQE+Lw9efMo8Me+d\n7+pxoqodu4667xBmEt0Hqc4EAWhs8S/jbD/Bz77GefMPDdh/0nHxGKNJfmKmN7lG+4mZlq4jC6ak\nOMRba7+qxYmO1sM//tqCyX292LEPglrj7G751p9//jmYLy1JKpANauAcvF0TERGRjyxXgu1rkYf3\nisWe38yBaWfzXXI1zibR1inOYBR9XvhEYReseAqaLa8nkXAOKINRRF2zCUfKbFll+4yzc9AMAEZR\nhFx05K523ELqSr5zMG6/Xoe7iZz+iqpiAqkgOZidL7xd3puIiIgCb/wAc1OBaSPNpaKWz3yjScRV\nw833XTZYa90+Nb4TfergmHE+Xt5mzWSLomjtqvHxv31vjetrks9kAkw+tLXzJxJ6rLAKt609jU+L\nbcfjqYREKgtuiZWOV3julCG1UnO78zcEu03ss+GBElWBs5RgVlM41/oQERFR17mwTxw23pdrXbHO\nkpk0isAVQ+Px7vxcjB+oRXay+YFzMzo3od++xnnL3kZrUGcSpbuLefJpsbn7hc+Bsyg6ZL898SfN\n9+9TrhllT3GPVGD9h+dK8c/dcrXXwG+VbZjxtxLs+bVZcn0M59Z69m9VMDLOXdaOLpS++FkPjUqQ\n/MULZuDcmSbmRERE1HnxMbZoy5KxtGRjE+PMjz05W4eTVe3mrlqd4LxoiKVUwyjKt8Bz5+9f1OKq\n4Qk+xyq7j7fgq4PeZ7YDEa9oVI41ztKvI33/W986Bs723Te27GmEwQS88mUtpo9yXdTGfpEZURTR\n2Gp7Eale1p0VFRnnF7bX4JmPz0r+4qm9mMXpq0mDzJd9spKi4nsJERFRWPjTZSkAXFcVTE9QYtS5\nsZ1aURBwDUAtGVhRtFty2w++lpU++8lZyRpjOaYAFETHqBQuXxyceRugG03AkbJWPLG1Gl8dsrXo\nk1q10b5UY/03dSivM0o+FihRETi7E+ehQbc/Fl+dhsIH8qCNifq3l4iIqNsY2y8OWx/MQ98s6XZ0\n/bM1KLg4Ef2y/SvZkCtVMJlEvzLOANDQbAr6FWyjj4N76N0Kl/saWkyo0buv1dhxuAkGo+ixbMVo\nEvHf/6jEd794nghp33avcI/jwi7BmGoWVZGd1O9dZy/LyAlGJpuIiIg6x12rWEEQMGdcMp65SefX\nvj90WpHPwr6rhq9u/nuZVx0nOsPoS0E0gP/IrO73SbH08Vts+LYeH+1v9Jh9l2ulJ/UFwt+FW/wV\nVYGz1O8Fey0TERGRPamSgM4olphI54sTlZ47TnRGe4C6GdiXScj5taLd48RFucf/dcR1ZUV35RjB\nCKmjqgi3Vh+6JRqJiIiI/PFJse8t7HzRFqgVYLxgMnle+VCqdKSi3oiKetdxBqOO2Z2oyjg3B2F2\nJREREUWe8zI715ounLR2MnB+oiDT622NonxG2eKXM9KlIFLcDT0YpeERn3GWK0D/2xwdNEGqbyYi\nIqLw9tRNmTjbaMTdb5QH/bUyEpWoagjdVfGSCve1yZ7E+9BowSR67q7x5w+qvd6fcx9nBwycfVdW\nJX15Q25GLREREVGsWoHc1K65MH9uhho9UlWSi4p0ha/2/N6p5yt9aIhgLtXo1Ms5YKlGgP31jd0u\n92UmdrJRIxEREUWVd+bnBG3fgtD5soJhPWMCMxg73va1VvkwmXL38RaP/Z590W4UsfM/Tbj22RKX\nx4IRUkd84Fxx1nUG5rq7skMwEiIiIgpny6anY8LAOCyZluZ2O18LQRWC772Und1zeUqnni9FKQhY\nNj3d43a+Lhyz/0SLnyNy1W4Q8fYu6SW7/Vnm3JOIDpxNoog2iRYrvq7AQ0RERNHNaDIvoPLf16Rj\n/AAtnvRhQpwngiDfu9hbqiCsH2ESRYztF4esZPeRsS8ZZwCobXI9WF2SEjeNTfRpP4B5cmBSbNeF\nsxEdONc3u/5gCi72/YdCRERE0em+KSm4+PxspGgdQ6bsFPlpYgofoyujCRjXP86rbc/NkO72oQxC\nRGepRfa0qJuvGWepDLFCAMb09u49sNduFJEYJ33wn//chC9/POXzPt2J6MC5WmKGan5/bQhGQkRE\nROFo6rAE/L/bL3JZMM05yXrXpcnW/6sUAuaMS8Lf5ni3AmF9swnTRyVgzdwsj9v2ypAO2AO9aAtg\nq7v2dKHe14yzFIVCgNqPlhVtBtHtl4bnN+73f1ASIjpwlroU4Ou3QCIiIiJn9rHizWOTcO3IBOvt\nVoOIgouT0DdL4xBQy2lqM0EQBJzrRe/o+BjpQCYxiOUKlmMddW4M7pWopQ5EmYjRJHrMbEtpN4pd\nWoIb0WGkVG+/IHwhIyIioih20yVJLhlpi+mjEvHhg3kO9w3r5RiA6lu8L3DuLRFcD8rV+L02xbvz\ncz1uY+i4gB+nUWBsP9dyikCUiZTXGf06hk3fN3T+xX0Q0YGzVG+/YFzKICIiouiSrFXihgsTsWKG\nrevElcPiJbe1z4i+vzAPf70hw6GmubHVNXBePiMdo851bTHXL1uD2yc4ZrHvmGi+7U8Aq43xHBe1\ndKy8rNUIkgnIQMVW/mScAeC7X5oD8vreiOjA2SARODNuJiIiokCYNz4ZY86zBcAzxiTIbrtwair+\nekMGNCoBgiA4BJttBtfth+TF4LHrHTt3XDMiHn10agzOc1zELadjoqKldZw3JR8W3gS9zW3mwD5W\nrQhqAtLfwNmd2VMGBHR/Eb1yoFTGmYEzERERBUNOigozxiRgWC/XTPHk8x2z0Z6yw1KVHzd3lITE\nqm1Pfnd+rrWrxIV94vDR4h4AgHU7apGiVeDNnbYOFioFINGl16PmNnM8FasRHDpoxKgETBsp/2XB\nV/6Wm7gzaoAOwG8B21+EB86u97FUg4iIiIJBEATcMdG7hUg8xSNSS3dYulfEqG3PlWvF9sdJ5nEI\nELD7eDMOl7U5BONzxiUhK9kcBo4eqMPeIxUu++ibpXYYS1q8Ekq7nWxeaKvdvm9KKl76vMbtMXni\na1s7b2jjVEAAl/iOvlKNiD5iIiIiCgdyGef7pqRg0iAt4jqC4/um2AJxS/eKGB8ys9dfmIheHb2f\n7QPugouTMGmQuUXvwtkjcdXweCR3BOEX9YnF0mvTsHJmBgBgYI65NGRQrkY2jvKlvlojk7YNRneM\nhDjvy1a8EeEZZ3Pg/Nj1GVjxfhUAlmoQERFR6MnFI1OHJWDqMMfbL31eC8CWkU3qCHDP76Fxfrrb\n1xrRKxYX9Y1zCbxTE2Mxf3IqDvzeirpmE1RKAePs1r1YPiMDZbXt6JNlfr0XbtUhWet/evi1O3Ow\nZW8DPtjT6Pc+vKWNVQP6wO0vKgJnld23IJZqEBERUagJgoAUrUJyzQlnb9+bA32ryZqRVSkFvHd/\nrtc1wXPzk5GqVWLGBQkO9dHOrh2ZgFe+rMVlgx0Xi0uMU2BAnK1u+zyda8AuStWW2Fk+Ix2/nGlD\n3ywN0hKU1lUJg2XWRYn4T1kbYjWBrf+I6MDZ0nfQfpYm42YiIiLqDl64NQvz1p7G9Rckut0uWat0\nyfC6C4CdJcQqcNMlSR63u3pEAiYN0kIrs8iKv5ZMS8MF58XhArsOJJcN1mLrvkZcNliLrw41eb2v\nCQPj8M0Rz+3n5uZ3tOwLcPlHRAfOloyzWmUfODNyJiIiotBLS1Biy6K8bnU13N+g2TnhnBirwBMF\nmahuNGLUubEu2/fJ0mDLojz8Xm2QDJw33JOD2iYj3vhXHaYOjcdT/3cW4/rH4b+vScc3R0pkxzE3\nP8mlg0kgRXTgrG+19B20/UIGYnUbIiIiokDoTkFzoFw2RIsZoxNxToYa52TIT85TKgTZhHCcRkBq\nvAZ/ucHcy/qcDDWyO/pVz7ooEe/tNq8Y2DNNhYmDtHh7V711u9T4ILTn6BDRYWR1o7lWIy3B9gay\nqwYRERFRYA3pWJTlquHxWHRlmteLsMh9b1A6RdQ909XW0tvJQ2w12H+/PRsFF9vKUIL9RSSiM851\nTSbExaig1diiZZZqEBEREQVWXpoam+7LRZzGtzhLLs51l+jMTVXjnstScJ7ONTgPdpgX0YHzdWMS\n0ZbQC0BVqIdCREREFNH8qY9O7agK6JdtDoKnnK/F/pOtHps5XCOzYmGw06MRHThPGqQFcs8Byhg4\nExEREXU3Wo0C78zPQXxH0H3/1LRO7S/YGWdW/BIRERFRyCTFKTtdm2ypqdYlBTcnHNEZZ3tv3p2D\n5rYgd9smIiIioi73VEEmTtcakJvKwDkgzJ01gteehIiIiIhCQxujsC4JHkws1SAiIgDA448/joKC\nAsyePRs//fSTw2PfffcdbrjhBhQUFODll18O0QiJiEKLgTMREeGHH37AyZMnsWnTJqxatQqrVq1y\nePyvf/0r1qxZg3/84x/YtWsXjh07FqKREhGFDgNnIiJCUVERJk+eDADo06cP6urq0NjYCAD4/fff\nkZycjJycHCgUCkycOBFFRUWhHC4RUUgwcCYiIlRVVSE1NdV6Oy0tDZWVlQCAyspKpKWlST5GRBRN\nomZyIBEReU8Uxc7tIHMwoI7z77m5ozv32t1dJB8fjy18RfLxBfDYGDgTERF0Oh2qqmyLRVVUVCAz\nM1PysfLycuh0Ovc7rDzk30ByRwNle/17bjiI5OPjsYWvSD4+f49NJthmqQYREWHcuHHYvn07AODg\nwYPQ6XRISDAvadujRw80NjaipKQEBoMBX3/9NcaNGxfK4RIRhQQzzkREhFGjRmHIkCGYPXs2BEHA\nihUrUFhYiMTEREyZMgUrV67E4sWLAQBXX301evfuHeIRExF1PQbOREQEAHjooYccbg8cOND6/wsu\nuACbNm3q6iEREXUrLNUgIiIiIvKCIHZ66jQRERERUeRjxpmIiIiIyAsMnImIiIiIvMDAmYiIiIjI\nCwyciYiIiIi8wMCZiIiIiMgLDJyJiIiIiLwQ0QugPP744yguLoYgCFi2bBmGDRsW6iH55emnn8be\nvXthMBhw9913Y+jQoViyZAmMRiMyMzPxzDPPQKPRYOvWrXjzzTehUChw4403YtasWaEeuldaWlow\nbdo0zJ8/H2PHjo2YY9u6dSvWrVsHlUqF+++/HwMGDIiYY9Pr9Xj44YdRV1eH9vZ2LFiwAJmZmVi5\nciUAYMCAAXjssccAAOvWrcO2bdsgCALuu+8+TJw4MYQjl3f06FHMnz8ft912G+bMmYPTp097/fNq\nb2/H0qVLUVZWBqVSiSeeeAI9e/YM9SGFHZ6zu//fPhC552wgcs/bkXjOBkJ03hYj1O7du8U//elP\noiiK4rFjx8Qbb7wxxCPyT1FRkfjHP/5RFEVRPHv2rDhx4kRx6dKl4ieffCKKoig+++yz4jvvvCPq\n9XrxiiuuEOvr68Xm5mbxmmuuEWtqakI5dK8999xz4syZM8X3338/Yo7t7Nmz4hVXXCE2NDSI5eXl\n4qOPPhoxxyaKovjWW2+Jq1evFkVRFM+cOSNOnTpVnDNnjlhcXCyKoig++OCD4o4dO8RTp06JM2bM\nEFtbW8Xq6mpx6tSposFgCOXQJen1enHOnDnio48+Kr711luiKIo+/bwKCwvFlStXiqIoijt37hQX\nLlwYsmMJVzxnh8ffvihG5jlbFCP7vB1p52xRDN15O2JLNYqKijB58mQAQJ8+fVBXV4fGxsYQj8p3\nF1xwAV544QUAQFJSEpqbm7F7925cfvnlAIBLL70URUVFKC4uxtChQ5GYmIjY2FiMGjUK+/btC+XQ\nvXL8+HEcO3YMkyZNAoCIObaioiKMHTsWCQkJ0Ol0+Mtf/hIxxwYAqampqK2tBQDU19cjJSUFpaWl\n1gyh5fh2796N8ePHQ6PRIC0tDXl5eTh27Fgohy5Jo9Hgtddeg06ns97ny8+rqKgIU6ZMAQBccskl\nYfEz7G54zg6Pv/1IPWcDkX3ejrRzNhC683bEBs5VVVVITU213k5LS0NlZWUIR+QfpVIJrVYLANi8\neTMmTJiA5uZmaDQaAEB6ejoqKytRVVWFtLQ06/PC5XifeuopLF261Ho7Uo6tpKQELS0tuOeee3Dz\nzTejqKgoYo4NAK655hqUlZVhypQpmDNnDpYsWYKkpCTr4+F2fCqVCrGxsQ73+fLzsr9foVBAEAS0\ntbV13QFEAJ6zw+N4I/WcDUT2eTvSztlA6M7bEV3jbE8M85XFv/jiC2zevBlvvPEGrrjiCuv9cscV\nDse7ZcsWjBgxQramKJyPDQBqa2vx0ksvoaysDHPnznUYd7gf24cffojc3Fy8/vrrOHLkCBYsWIDE\nxETr4+F+fM58PZ5wPc7uJNzfQ56zPd/fHUXqeTvaztlA8M7bERs463Q6VFVVWW9XVFQgMzMzhCPy\n386dO/G///u/WLduHRITE6HVatHS0oLY2FiUl5dDp9NJHu+IESNCOGrPduzYgd9//x07duzAmTNn\noNFoIubY0tPTMXLkSKhUKvTq1Qvx8fFQKpURcWwAsG/fPuTn5wMABg4ciNbWVhgMBuvj9sf322+/\nudwfDnz5XdTpdKisrMTAgQPR3t4OURStWQ/yDs/Z3f9vP5LP2UBkn7ej4ZwNdM15O2JLNcaNG4ft\n27cDAA4ePAidToeEhIQQj8p3DQ0NePrpp7F27VqkpKQAMNfiWI7ts88+w/jx4zF8+HAcOHAA9fX1\n0Ov12LdvH8aMGRPKoXv0/PPP4/3338c///lPzJo1C/Pnz4+YY8vPz8f3338Pk8mEmpoaNDU1Rcyx\nAcA555yD4uJiAEBpaSni4+PRp08f7NmzB4Dt+C6++GLs2LEDbW1tKC8vR0VFBfr27RvKoXvNl5/X\nuHHjsG3bNgDA119/jYsuuiiUQw9LPGd3/7/9SD5nA5F93o6GczbQNedtQQznPLwHq1evxp49eyAI\nAlasWIGBAweGekg+27RpE9asWYPevXtb73vyySfx6KOPorW1Fbm5uXjiiSegVquxbds2vP766xAE\nAXPmzMH06dNDOHLfrFmzBnl5ecjPz8fDDz8cEce2ceNGbN68GQBw7733YujQoRFzbHq9HsuWLUN1\ndTUMBgMWLlyIzMxMLF++HCaTCcOHD8cjjzwCAHjrrbfw0UcfQRAEPPDAAxg7dmyIR+/q559/xlNP\nPYXS0lKoVCpkZWVh9erVWLp0qVc/L6PRiEcffRQnTpyARqPBk08+iZycnFAfVtjhObv7/+1bROI5\nG4jc83aknbOB0J23IzpwJiIiIiIKlIgt1SAiIiIiCiQGzkREREREXmDgTERERETkBQbORERERERe\nYOBMREREROSFiF0AhcLL008/jQMHDqC1tRWHDh3CyJEjAQDXX389rrvuOq/28eqrr6J///6YNGmS\n7Da33nor1q9fD6VSGYhhOygvL8evv/7abVv3EBEFEs/bFI3Yjo66lZKSEtx888345ptvQj0Un23d\nuhXHjx/HokWLQj0UIqIuw/M2RRNmnKnbW7NmDUpKSlBWVoaHH34YLS0tWL16NTQaDVpaWrBixQoM\nGTIES5cuxejRozF27Fjce++9yM/Px08//QS9Xo+1a9ciKysLAwYMwMGDB/HKK6+gtrYWZ86cwcmT\nJ3HRRRfhf/7nf9Da2oqHH34YpaWlyM7OhlKpxLhx4zBr1izrePR6PRYvXoz6+noYDAZceumlmDZt\nGp5//nmIooiUlBTccsst+POf/4yTJ09Cr9dj2rRpuOOOO1BYWIjPP/8cgiCgvLwc5513Hh5//HGo\n1eoQvsNERIHF8zZFKtY4U1goKSnBhg0bcP7556O2thYrV67Ehg0bMHfuXKxdu9Zl++PHj2PmzJl4\n5513MGjQIHz66acu2xw6dAgvvvgiNm/ejMLCQtTV1WHr1q0wGAx47733sHz5cuzatcvled999x0M\nBgPeffddbNy4EVqtFnl5eZgxYwamT5+O22+/HRs2bIBOp8Nbb72F9957Dx9//DGOHDkCADhw4ABW\nr16NzZs3o6ysLCyzNEREnvC8TZGIGWcKC8OHD4cgCACAjIwMPP3002htbUVDQwOSk5Ndtk9NTUW/\nfv0AALm5uaitrXXZZvTo0VAqlVAqlUhNTUVdXR0OHz6MCy+8EACQmZmJ0aNHuzxv1KhRePHFF7Fw\n4UJMnDgRs2bNgkLh+B109+7dOHPmDH788UcAQFtbG06dOmV9vlarBQCMHDkSx48fx+WXX+7vW0NE\n1C3xvE2RiIEzhQX7S2JLlizBY489hrFjx+Lrr7/GG2+84bK98yQSqVJ+qW1MJpPDydT5xAoA6enp\n+PDDD7F//358+eWXuP766/HBBx84bKPRaLBgwQJceeWVDvcXFhbCZDK5HRcRUSTgeZsiEUs1KOxU\nVVWhX79+MBqN2LZtG9ra2gK27/POOw/79+8HAFRXV2Pv3r0u23z77bfYsWMHRo8ejSVLlkCr1aK6\nuhqCIMBgMAAwZ0UslxlNJhOeeOIJa/akuLgYzc3NEEUR+/btw4ABAwI2fiKi7ojnbYoUzDhT2Lnr\nrrswb9485Obm4s4778SSJUuwfv36gOx75syZ2LFjBwoKCtCjRw+MGTPGJcPRu3dvLF26FOvWrYNS\nqUR+fj7y8vIwZswYLFq0CGq1Gvfeey9++eUXFBQUwGg0YtKkSUhJSQEA9O/fH4888ghKSkrQr18/\n5OfnB2TsRETdFc/bFCnYjo7ITnl5Ofbt24errroKJpMJM2bMwMqVK639STursLAQ3333HVavXh2Q\n/RERRTuet6krMeNMZCcxMRGffPIJXn/9dQiCgAkTJgTs5EtERIHH8zZ1JWaciYiIiIi8wMmBRERE\nREReYOBMREREROQFBs5ERERERF5g4ExERERE5AUGzkREREREXmDgTERERETkhf8PhDG40adDhE0A\nAAAASUVORK5CYII=\n",
541 | "text/plain": [
542 | ""
543 | ]
544 | },
545 | "metadata": {
546 | "tags": []
547 | }
548 | }
549 | ]
550 | },
551 | {
552 | "metadata": {
553 | "id": "vfV9vle55IDU",
554 | "colab_type": "code",
555 | "colab": {
556 | "autoexec": {
557 | "startup": false,
558 | "wait_interval": 0
559 | }
560 | }
561 | },
562 | "cell_type": "code",
563 | "source": [
564 | ""
565 | ],
566 | "execution_count": 0,
567 | "outputs": []
568 | }
569 | ]
570 | }
571 |
--------------------------------------------------------------------------------