Skip to content

Instantly share code, notes, and snippets.

@yiyuezhuo
Last active June 5, 2020 07:07
Show Gist options
  • Save yiyuezhuo/94a08637a6a80ac4a25eb89e5e605e16 to your computer and use it in GitHub Desktop.
Save yiyuezhuo/94a08637a6a80ac4a25eb89e5e605e16 to your computer and use it in GitHub Desktop.
Fix maxpool solution
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"┌ Info: Precompiling Flux [587475ba-b771-5e3f-ad9e-33799f191a9c]\n",
"└ @ Base loading.jl:1260\n"
]
}
],
"source": [
"using TestImages\n",
"using Images\n",
"using PyCall\n",
"using Flux"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PyObject <module 'torch.nn' from '/home/yiyuezhuo/anaconda3/lib/python3.7/site-packages/torch/nn/__init__.py'>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"const torch = pyimport(\"torch\")\n",
"const nn = pyimport(\"torch.nn\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((3, 100, 100), Array{Float32,3})"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"img = testimage(\"mandrill\")[1:100, 1:100]\n",
"img_arr = img |> channelview .|> Float32\n",
"img_arr |> size, img_arr |> typeof"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((1, 3, 100, 100), Array{Float32,4})"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"img_arr_batch = reshape(img_arr, 1, size(img_arr)...)\n",
"img_arr_batch |> size, img_arr_batch |> typeof"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(100, 100, 3, 1)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dummy_input_py = img_arr_batch |> torch.tensor\n",
"dummy_input = permutedims(img_arr_batch, [3,4,2,1])\n",
"dummy_input |> size"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PyObject MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"maxpool_py = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"MaxPool((3, 3), pad = (1, 1, 1, 1), stride = (2, 2))"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"maxpool = MaxPool((3, 3); stride=2, pad=1)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"true"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dummy_input_py.requires_grad_()\n",
"dummy_input_py.requires_grad"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0f0"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"out = maxpool(dummy_input)\n",
"out_py = maxpool_py(dummy_input_py)\n",
"\n",
"(out .- permutedims(out_py.detach().numpy(), [3,4,2,1])) .|> abs |> maximum"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((50, 50, 3, 1), (1, 3, 50, 50))"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"random_weight = randn(Float32, size(out)...)\n",
"random_weight_py = permutedims(random_weight, [4,3,1,2]) |> torch.tensor\n",
"random_weight |> size, random_weight_py.shape"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Grads(...)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gs = gradient(params()) do\n",
" sum(maxpool(dummy_input) .* random_weight)\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"(out_py * random_weight_py).sum().backward()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"using Plots\n",
"theme(:dark)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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"
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grad_maxpool = gs.grads[GlobalRef(Main, :dummy_input)]\n",
"grad_maxpool_py = permutedims(dummy_input_py.grad.numpy(), [3,4,2,1])\n",
"\n",
"vec_grad_maxpool = vec(grad_maxpool)\n",
"vec_grad_maxpool_py = vec(grad_maxpool_py)\n",
"\n",
"scatter(vec_grad_maxpool, vec_grad_maxpool_py, html_output_format=:png)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOydZ5wUVdbGb0/OXaQhM+QoSBIxYAREVDDntOasK+q+xjXsqqsYcM265jWBIuYsojJiQkCSgCBxyNXdk0P3+wGWrudC36lbXT3dPf38f/OhztStW7erq/t2neeeczwjRo0VhBBCSKqSFu8BEEIIIfGEEyEhhJCUhhMhIYSQlIYTISGEkJSGEyEhhJCUhhMhIYSQlIYTISGEkJSGEyEhhJCUJkOrdQvDe+QRo/v26eUtKrz6upt3/LMgP//Kyy4cvPdeGzZsfOLp55cuWy6E6Nql85WXXdipU4fFi39/+NGnTJ/P/bETQgghUaP3RNimTese3btu2rR5n2FDdv1z0tWXtTC8195wa+mcHx++/x/Z2dlpaWkP3nfXosVL/3r9LcFQ8Jb/u9btYRNCCCHuoPdE+PuyFXfd80CP7t1OP+WEHf8pKiocffjBp5x5wfoNZW9Me+foI8ceetAB/kB5enr6cy+9GgqFHn70qQ+nv96ubXHZxk27+klLS+uRl9WwZaObL6UZ4fF4QqFQvEeR0Hg8HiF4kRqBN5Id0jye4J6uUloOmMHq2Jy9Sc4SJbtupD9yvI02LunSKTs7W6v/utraJUt/z87JdTi+qNGbCHenc6eOVVVV6zeU7TAXL/29e/eugUD54qXLdlw4vz9QtnFj924l1okwLy/v+ix/yZ9zojw7IYTEiML+YAb+jMlZCvqBWR6bs7jF2N6jPZ5G/Ij/vP3mXj27a3X7zjvvnHfBxb36D45iaFER7UTYwvCWl1fsMsvLK1q1aJGRkVFh+ac/UN7CMKQD09LTozw1IYSQpsTj8TTeKOQXoe16/YbKnY3HLaKdCAPlFbk54Wf73NxcXyBQHihvW9xm1z/z83L9Afl1Bhsaojw1IYSQpiQUCtmYCwNCmJodVzTeJJZEOxFu2FDm9RZ5i4p8fr8QoqRLpy9nfhsIBA47ZNSOBllZWW3bFq9fv0E6MKeLKLR4wz3oUvZ/H+W4whTthz2XWnbti7uUntr5uO5VuhcGNu4534nxFlxz84R62HsaNDZfs9ttNOS2A7OqDMxFfjD7F7lzUu8xYPreA3MuXu0hti+vhB8Vl+JOYFZvcditFsZVYJY/A6YfvzHy8INQXQtmTpaL44pIITqoAr+6021WIZi1AXe6VVNbh2PI1Dg2sEi1d43lt33nAp0xIeWLwfSOAtP3jd1+pFulnfRN8pbuuFILvVWjHo+nsLCgID9PCFFYWFCQn79p85Zf5/92yknHCiH69+3dv1+fL2bOmvXd9+3btx0xfIgQ4rgJR61Zs27FylUxGDwhhJBEwyfENs2/pHKNeouKpr36nBCisrJq+usvbtm67dSzL/zXA4/cc9etxx4zPiMj/d77p2zfbgoh7vjn/Xfe+n8NwWBVVdXNf787JmMnhBCScPiF0Fs1mmQToenzjT7qBOmff65ee/o5Fxfk51dVVzf8T/mb9W3pt7Pn5OfnBXZTBwkhhJDEIVqNcBflFbLaGQwGFbNgWrFID4ZNc6rzU6/Dk3REf33gh4gHqkXBGvS5D3IqU0lIoqC8NwpR0LgGu3o4vF00DHb5fwZTEgUlohEFC/cObwfmwS5JFJTQEgXT8ddnQ014uwiDtKIRBR3LluYjqr15yp/OjkVBYwGs0zYHaixeUIuCanFXgSQKSqvlpFXka/BDrRDhpMX8oSCYf6JI3EtHI1RjHZL3CNjl+wTMgl5ghlC2rFiFx9oWBSWkW0UtChoPwCIHcxKEUT69FRpf1Ep3LD4hdIMCmkQxjoxrEyEhhBAiQj6hncaBEyEhhJDmg0+EVH6vPZDscYSOqfxJmKWNN7ODD50h9XhJS5yubM5ukqXqWiicn7ubViRfaJMhuUOt5LYHswrja+rwc5Qp3acYvGL1hQoh5li8gPvKiRyc4ziEIy5o+UK1sO8LVaPOqGE/IEHyhUr0KlTtdQvJFypRvkyjK+NEMM1pTsazO97x2O0k1RObvi806eETISGEEPcI+UWotvFmcEiqPhESQghpjgSE0M0dHufMMizMSwghJKVJjifCUtQ79kPhZ9+DwHScESq/C5gVqzWOVa/htlI0HM8yH8wGpUdBoQLGjtXotBg0CczyF8CsR7nOSgB/I0qrxvMxikAWBSWUS9Ic64JevJF8sxz28wyuPr8QFRfjL2Caz6u6WoWL6Qafj8e+GfHADIwbqceLLyXVy74Iu71TNSTvwWD6vg5vr8ef9R3yVf0swdR9JXgD5OoGZMcA41QwzdfB/M0y/r0wxCiaZHKSKLi1EszOfcLblWs0uvV9qNFY4gPNBNoiWC6Cmo9YocrG28SS5JgICSGEJAehSvVP1T0dEucyjJwICSGEuEeospG1vHugKiYjsU2iTIRL0U/SB10N+ymdXW5lx9fyha5Ed0c3dIZktwDzy5Xh7QN+0h1XnHkVf6t1ecphP4U5jbexSUFfMMuX2D1Q7btT+0KLRoKpKJByoXL1ueQL/QkT1gzHII2ueF8pfKES9cpf2FIuoSqlL1TC6guVUPtCJfoqMxbVYPqVbPcywthH8oVK7BV5/F+h0/IA/PqS6tioU1a1ygPT6g7diDdzW52Lr8VRlm+zKbE6SZxJlImQEEJIcyBUI4KaAfVBzXALt+FESAghxD1CNXJC1cYP0WzvNgyfIIQQktIkyhNhH50SB/ndwKxYGaHdnrAuK69EnU+renU3ZeqmGlxwfIDTBf3zUE7YG+WEDSgSzMbQhRNahrcrcZe64oHEXfuAqXW1Y4R9UVBCLWIZz8LvQvMCEPz/+BIat0bxJt2SkE8dAyMxPKkyt0XD7Vj64/bWYEolGoTttGRdN4G5qi2Y1XjnO67moYX6816ofPpIw8xzwYYI7RoTBY3Hsb7EZap1nI4rq+yZUJ12Zhmh6Up1m0SZCAkhhDQHQnXaml+wXs4g3LRwIiSEEOIeoQbt6hOiIb6TETVCQgghKU1yPBH+gi7soVHIVNb4qkJUKWp8wj5aoWzVFj+BpFKo46X2Vjrr26NIcEJkzUBLFJRIBFFQ4lHMYbYPyiqbLdLe0S2FfSRRUEISBSW0dMEER11vXaLCIsLlK28zSRSU0KpVZGVVMdqohalFQe9YMH2fOhyDFurlBQpRUAu1KCjhcomxYFD7ZQR1A/BdJjkmQkIIIclBqEGEdOfzOE+EdI0SQghJaeL2RFhbr+FUOQgrNkhelCpcIe3FBFdluLq6pcXBpeULldBawa/wzzRN7qin0Jd4cVNVoDaOC2+b0x0euPuxV7g0/hx0nFZvc6dbPaTfovjL2HsImL6ZYNbhigSfxT07E1OsnYivdC1WFOmE5eDVvlAJ9SfXMdGESFmRkh1KcU1avlDjXljW+OsVYd9j14LdWtvv9jQwzdcc9iNVd3Exo6G22zIU0j6GrlFCCCHNh1BIhHTLT8QZToSEEELcIxgSQc2JULe921AjJIQQktLE7YkwK0NDXVAvrZaKWdei/tFSueo9RkST0syK/cL3aqIRBdNR4JTiBP7ANHXdcWn4k/8Jb5+KMtWnqNaMRS1HS1CUsMoNacpfevERBSWU76kkCkpk4se3tcU8UXnbS6JgFb6nuU2Sh0yNWhT0Hhre9n2lapl7Bpg1jzofkvl/8NSi0AWldHHqry/HoqCEi6KghPpDtAdC+k+E8Xal0jVKCCHEPRxohPGWFOkaJYQQktLwiTAixkb4lWK21cgJK/lC87uGtytWwS4p9kNy80q+0BiV7b5+M5j3twFTnTOluzJNxqmRE7tIvlAtjIvANJ8GU9uTY/Okt+FJsaq7dRG85OzyHg2m7313x+UCki9U+nWuvu+NJy2Xezbcr+ZLqgO9E8D0vas8DaJ2h8IY0BdqPIcFRs5TOaYl916a7S8Ax1lyGsU412JgSp3Zt4DZX6eeTz3G4WREOS0E9Re/0DVKCCGk+eDENcqJkBBCSLPByWKZ2IzENtQICSGEpDTN/4nwNz+Ye9l2nWuJgpuwWHwxFoKQdEEruTqRFXm4YruhJkK7xtheBaYkCiY+n90P5j62c+cXjQTT/z2YUzGa4iQUOCVRUEKxCF4SBY0r8EAUsfI6gpmGN1L572BOwwFb86gZ1+JZHow4vN3RKpBqXuIwpkcSBX/GfIeHYl2I2uVgVmPKQAVp+A2nFgXlY5UX4itL/M+hKHh7sByKdgLqyJgvRNylJQpKRCsKSoT0n/Di/UTY/CdCQgghTYeDzDLx1gjpGiWEEJLS8ImQEEKIe9A1ap+8o4UxOmyad8Hewv5gBhaBCcE0Sr+5UIqC1vA+sZuSVzgAzE2/gClpe8WRq8O7iCQKfoZZyopQ0tjXiNhPi1zXhiSVT/kClZ4xkYMF1WmoRmPxrM8xZMq+KCghiYISJ+mUs7dP0T5gmsosX5XrNHo+MfKAtUTBRGAYvqf+Oe50G6xvvI0zDo18b6tFwQb8yKQngFeuaASY/h+i644p1gghhKQ0SfhEmAC/RgghhJD4Ebcnwsr3hVkaca/sC30UvH7mFarfDzWYEiw7cip9RVSDECKwEEx1nMNKLMLQLXLiMSl0Qe2lLByMQ/oVTIXjscmQ8pkphqR2d0tIvtBEYANGyLS37Qz3/+j6WKLlWQw/uCCK4iTNmMKhYHowo6Fj520i+EIlovWFSjDFGiGEkJQm1EhxsT3gtMCcWyTejxNCCCGkCeETISGEEPdIwnqEcZsI11eLgCX52Upc5XyMlN0KRcHyathbjxfRcC82wD4KUVCgLiiJgiskcRGVJ0kUjBGTt4B5XeuYnCVU13ibXeR3A1OqV74AgzQG2o6mWIL59obuBebapWC2xHfKviioxfcmmCMjB70IIQJ453+DevN425pxNKLghVi065nI+fkewPtqEt5XfnwtRcoC6x50XYUie9IKeoMpJaWT8B4Fpu8DMAMYMSUfa0kC17Aadq2dC6b0jSTNER5lIreiA8D0fxfelj4jmZiUznxK1W1sCeq7OuM9EdI1SgghJKWha5QQQoh7sB6hfTrkiBJLzpe9IrfcnQKlF6VpMK4D05ysaqyIkeih9Km6hZQlR4oMiZEvVKD7yPepxoGSL1RC7Qst6BveLl8Cu/pimqFK9Gi1jIdTXe0LlSjEO3985A/Cd+hxPUDnLGoUvlCJScr7Su0LlVD4Qo1/gm+x4VXVV2p+dzCrvtEYg4TiflarM2pfqITVFyohf0bi6AuVcLBqNN6uUT4REkIIcQ9mliGEEEKSCz4REkIIcY8krEeY0hOhcRWYtVPBrNygOlYtCsaFzZVgtskLb2/B9dyKtHO6SAv6JRFLSxe0UofhNJk696mkCzYN51mCCp6zraIJIYzp8NrM4+CVF/SBxuUY4CHhs0RTqEVB6c43HwGzEouc5CmTC7qF43fcvFnjO7TiD/ttnaNOuLgRc/W1xbCc3PZgVim/hdzCuBJtPKk5TbO7JNQI6RolhBCS0qT0EyEhhBCXScLFMpwICSGEuIcTjTA2I7FNak+Ea8CSRMHXtoF5GmZ9M/4Cpvm8i8NyiFUUlHBRFJQojE1Mp5Yo2DT8gnndhmIso5YuaEUSBSXUoqCE13YcpCQKSjSNKCjh+B0v6AVm+TIw38ZPcUfUgvZ1L7zSijrhYltlrr6mEQUlzH+73WOyPRFSIySEEJLSJN4Pb0IIIclLEibdTpSJ0JgIpjkDTEVgQKO8ib6RC460nGW66kDJF5rbFkzHvtBMHHxuPzD9P6uOXYTFE0YMA1NyCrmFtII/4wLIEPX+hXALH4i+prxO4e3KtW6PLALWEhNSTjXjKXCBmBdrfF6H2q5x4SJFw8H0/xSHMdjHeBtDQY5XeX0l5qHneW+82gr/p3Tbb8eKHAej676V8qvDOxrMLR+DmWju+sL+YL6BydjslyIRuyXkG4C+ce16Pg4mQhbmJYQQQuJIgv3IIYQQktSw+gQhhJCUJgkzyyTKRCiJghJaoqDEySj1+efYPXA+ihaDdE5qXA7mN/eEtwdiyzqlKCjRHxWvGImCEvIK/utVoqCEVRf8GnWIiW+hXHe+xkfHOBFMKQVUZ4vCIRdJR1GwAnOJ5SvDBor2A9Nf2sggwwfq6HzbUA4X8RAFTZTZut6Cex+IfKCOKCixt1KCtX+rK0qeNYrvczCbRhQ0LgPTfFzZ+Lzw9vJHYZeWKCjhYpUuIVJ1sUyPbl0vu/i8bl27BALl0955770PPhFC9OzR7dqrLu3Qvt2SpcsmP/zYlq3bGu2HEEIIaXpcWCxz/z23L122/OzzL39gyuN/veKSvQcOSE9Pf+DeO7+bPef8S642fb5bb5wU/VkIIYQkASFHf3El2ifC7Ozsjh3av//hp+UVFfN/W7RsxR/dupUUFRUGg8H/vvGWEOKxJ5/7aMYb7du13VC20Y0BC7FbrnT30yIIIYSoiOK9MR8Dc2BRhHa74WLCmpnbw9vfNcCum2NWkl7Bweh+0fKFSqjT4bc/MLx9G7pGpaLeki9UqqSxHf18XWz7QiXUvlDvoWh/5fAsEn+Wgyl9znPwB7AUVCAtl1f4QiWKDgBTqq4+G33j+8cmq0uT8bNFOhmGfl3vBDB976r6UftC5cbPhbdbSxlq8PtKynGWBkFPMSa02+kbPyTOM2G0T4Q1NTWfffn1OWee2r1byZjDDm7Xtvi70h+6dy1ZsnSnUz9QXr6hrKxb15Koh0oIIYS4jwsa4ZvT3rnrthsH7tWvdauWb0x7Z8uWrV7DW1kZFtwD5RUtDFkKT09Pj/7UhBBCmgyPx8ajZQpWn2hheKdMvvuaG26ZN/+33NzcZx9/aOvWbYFAoF1xOAlxfn6ePxCQDmxoaBCEEEKSh1Ao1PhcmIKrRku6dG4INsyb/5sQoqqq6ue58/r16f3T3HljDj9kR4OcnOz2bYvXrlsfzVkWYGqxgbERBTdh5ej9mkTDyCoAcyUKBuq14MZpYJqvgXmIZTn1IQ5GZg/vYWD6vnSnW3UVbzX+Hx2eVKqkoSwhIFNv+V2XoePs8EUhCkp3bLHlKpUUiKZHEgUlkl0UlBgWOd5DLQq6hnLyaFJRUMJBHGGyp1j7c83a7KysUQeMFEK0aGHst+/w35ev+Oa70uLWrQ/cf18hxCknHPvHyj9XrlrtwmAJIYQQt4n2iXD7dvO2O++95oqLb7z+moyM9M++mPnOex81NDTceuc9N93w19tvydm4cfOtd97TeEeEEEKaAQkQDqGLC4tlvpr13VezvsvMzKirC683L53z0zEnnJGVlVVbWxv9KQghhCQHSVh9wrUkQtZZcBf2Z0HveDB9H4JpPw5vdzzo/Q1ZrrgU7iPc8+yvwyiuAdeFt2ffB7uwlIpegihJFJTyulW+GN6uxfFoIb2WvphpzL4oaBwHproGlpYo6BZbMb2ZumSPhJYu6BbFsblKa/Ed7xQPubHoQDA34W2Wk2W3n4+3gzlOmYdMyi2nXX7IDbbhGFo2yRgS4R2PL4mSa5QQQkhzIBTSD6iPzUhsw4mQEEKIe6RgHKFbSL5QFwlF9j6rVzln42rvGjNCuz0xYCqWVvhLeBD9o3DzqpHyutlnBmZEn4j1OjqinySwAMxVGCDaNXLMgdoXmgiofaHG38E077DbrTq12C9Y5GQI3h52wpf3iJSySqufGHnGjGPBNN9RNfZ/C6Z9X6iE2hcq4ZYvtGgUmOs+A1OK0pGQfKHb0VNaMia8LV2iaHD5HY9NHGFhQUFlVVWMAtATZSIkhBBCduf8c884+YSJHo8nKyvrk0+/vO+hR3dNh5deeO4Jxx6zq+X4Y0+tratzcApOhIQQQtzD7VWj6zeUnXPhFWVlm1q1bPH0Yw8eP/GoqW/v9OZlZ2e/+8HHz7+8c91gXb3DipicCAkhhLiKq5rfR598sWNj67btP8+dV9Kls3VvdU1NIBDFsnghRBwnwlBQWJ290aTgzm0LZi1KMg1Yhdw+WqKgXDP9L+7ExUSzoN8+kiiohUIUVHPwJjC/LgZTKtTeUvnCfaijdBwc3i5f6mRse8S+KCihTi02VFmZPQcLZmXvD2b1LDCtd6xaFDSuBtOcomqspsLy+ZLKWkmoRUHH/BsrbV2pLDHmPRLMpVjPqx2Go1ThV0du5FeX3w3M2R+AuZdyWUAu3vlV+LmQ4qkemRHePhY/FFvwWain0w+m2O0btcq1AnrRUpCfP3LE8AemQCLK008+/i9nnb6hrOyV16a+PeODSMeq4RMhIYQQ93DkGq2vryv3w8NHXkFhWlr4CSk9Pf22m65bsHDx19/M3vXPGe9/9NxLr5aXVwwfuve9d922afOWb2fPcTBkToSEEELcw9Gq0aqK8tV/gAOne5+BObk7H3vT0jy33jgpOzvrltvvtrbZlcX6h5/mfvTp5wfuv2+STYSetKjcoVY+RvfXwbaT3HvHgOn7LEI7IYQQhYPADMwHU10z3T7GTWjfvedmMcWD74v3bDDN5zW6smaskJZoS75QCbUvVMKL7iOFO7RoOJjq2vFb0D3bWjmkgj62BqBLNfr9ql1KfhSNL/QPDJjpbnHB5baHXVUbnJ/FPmpfqITvIzDbKVPzKHyhEhUrwVT7QiUkX6iac1tF3OVibY9ofaEOqk+ERKG3Ra/+g/e40+Px3HDtle3btb3mupsVi0Jzc3PLyx2KhdFWnyCEEEJix1+vvOSgA/f/7+vTBu7Vb8TwIT17dMvNyfnPEw+3b9f27DNOHrRX/64lXU458bgxhx386RdfOzsFXaOEEELcIxSSEzo0fohqZ11d3a/zFowbs7P26cJFS95a9/520wwGgy0M45orLs7NzV29Zu3V19/828LFzobMiZAQQoh7uB1H+O8nnt39n9fdeLsQYspjT2ueac8k6ET4J3p6pXLbUmX2g7EIg8SnmH5+o+WKn6UUBRf5wew/P0I7TaQF8ZIIZEYhCnoPBXPRe+HtjsoUSstQ9emFC6/VomAWNq7FrhItjb1aFJRQi4ISCl3Q+DeEMphXxjuvYnR0j7wuXxIFpQoSlT+CWY/BCfMw1dzeyqgSosuzW8G8ILLWuDvGORaj1JXhJBwJOhESQghJShwtlokvnAgJIYS4R2ySbscUrholhBCS0iTKE6HxLE7JF6h+UZhKUVBirE4dFiuxqpek81vJOxZM36eqxr6vwFTrglZ66WRjWoEqYA+NQ5uIjRXh7dhVul+J12HwxPC2D8upS6JgQW/Y68ECQ4Hf3BicEEX7gOlHfe531L+LM8EswTxkvplgzkcxb1BkMU+rTlDTiIL1WMMnQxnK/AUuLzjc9jdJLYa6ZWVGaCeEECIPEmeKyjV2zyKhTginJQpKmC9ajN4Rm4VhPUJCCCEpDTVCQgghKY3b4RNNQNwmwqwWIq9T2DSVvtAERCublDVDv9gWsdnuqH2hEsZ0eDfN48Lp6KUM9/9ZAubh6EVRuxN7RJHV3oqBmduEVHcaHYZaed0U45eKxR95ApjTME/eGKUrrBteB8kdqqD8d7std2cBuiUHRnYnzv4CTCnpV2+l21/yhUoofKFNRkHP8HYalkrwf6c6UO0LlVD7Qgv3Cm9LDm21L1RC7QudgV8XikIx9hPCkd3hEyEhhBD3SMJVo5wICSGEuEcSaoQMnyCEEJLSxO2JsHa7qFxrt7G6UHtc6ilrlZixVu5ei9njXExCZhUFJaRSL6dHUZLeLcyXXOtKnebNilQs3odCmloUjBGSVroGUycW5oCpEAWFEIHq8LZWJaCko3x5ePspLD93sTJOQBJZ9z8EzMBcjTEoAl0qMJIhPwr1ThIFjWPD2z+/DLvcEu9dgOEThBBCUhpqhIQQQlIaBxphvIMGEmUiNK4A03wUzFbKOgCOfaHGXXjSW3HvJ7CE3zyi1mrOxKwThyi9albnbafIzXbne1zuP1JZhTqnDZjVm3XO5BR/NZhlcJFgmX4GevnuQMf4zTp1xiUUvtDYIWUPqbS4pY1cjX6qPwRT8oVqEc2xVtSFICRfrn0X98tYAOF0/Mi0WgS2uRd+wCKj9oVKSL5lLV+ofaLxhRqngGm+geY74W3JF1qHwkibW8Ccj2YXqZ7PDAj4MCdGrALfXEmUiZAQQkhzgK5RQgghKU0SZpZh+AQhhJCUJm5PhL5ascFSJUA8GrGlEMI4GUzzTXfGUPOYaq8kCkqoRUEJxyqmJAqqRc0YiYLGSXjSqWAW5ahM61uMOemiEgUTASmNllZWLSvVW5yP4RVU3c6MrJYtwXITfTG4wns0mHu/rzqp47iXs5Rinn1RMNmxVkcRQmzB5IIDUBS0TyZ+l5v3gtlFGablsiiYhAH1dI0SQghxD2qEhBBCUhpqhIQQQkhyEb8yTB6Ra5mFvaNgr+8bMKMRBZ9BHeVCi1BRVea8W7f4A2PgukvFfaqwNYqCbmGcjzaWqnkSxYZTddKztY9Ngfh/oq4myY2ZlpPWoR6jZi7Gzw1xqd6Q8TJcUPOshkgtdVGIghJ91XWXlKLgNkxw2DJyUG9+FzArVjc6rogsx8/FcgySG2dboV+M4mg/ncxzj+BtdhXeZtZciVqJEqUyYW0jNNuBid8AWiGqcYMaISGEkJQmCXON0jVKCCEkpYnbE2FuJjzmS75QF7lQJwOTfbagv6i1Mgmcgu7KnPHeJvGEVL0FZg3mddPyhUpkW8I/pG7VeEeD6fscTHXohcIdKqV5q8f8cIbyZ2E2uuNqbK/2d9EX6hbGgx6rOe8i+EFego4+hS9UIhpfqFRCpKdQmfbR8oVKXKW8zazuUEnC+AMDryQfu/coMH0fqM7ili/Ure8rW3DVKCGEkJSGSbcJIYSkMqGgCGlObKF4PxFSIySEEJLSNIcnwjMxtdgrbSK00yQbtbHpK8Acr5NiraBfeLt8cRRjUuI9GEzPIIuBqdpMTNWWBvWm3EShC/4Xw1rOQClXEgXdQhIFJYa8Bb8LzXPhZ619UVAL72Fg+r7UOLYatQJyuS0AACAASURBVKgcy/uY1xF2Va4D07xWJQrGhbjU0iocBGZgvsN+JC1/iFLYq/nB4VnUGBPBNGeAKYmCH+PNfOIIMMuXRTeUoBC6sjhdo4QQQpoPSbhYhq5RQgghKU1yPBG+vg1MaUG/Y19oQS8wJYdADZ5Uyxf6AXoejrK4Q1eXwy51Vng1uZiUwvc17pbMyFRtcj4Gx5wRm7AWCe8EMH3vqhpLvlDHZOF7WlseoZ0QQtMXKtF6bzCtXnfJF6pFNi73r8GEOxU1YEZTjT3uSL5QKULm+1VgSlEQxl/C2+bzGieNUZUYyReqRkrNI3315XcHs+IPzaEkYa7R5JgICSGEJAdMsUYIISSloUZICCGEJBdxeyLcUC0qLInh+2MmJOMGMAfe4vxEHpzrv7YofwdFsUp4Ga727oUJosZFLlygFgVrsVL0UkzdNBCvklT4PgPVmnrUcmKE8SKWVjjHnXRiAYxzKMyJ0G5PWJeGj0NRsHAAnmWh7rgiYtwY3jbv0TnwCjB/xWO7KjPwxSgURxIFJRyLgpV4Q+ZhP+tQSe1oWzsv2g9Mf6nuuMJIETLq8iNauqB9jLPArMdYi/KlMTmphLYoKMHMMoQQQlIaukYJIYSQ5IJPhIQQQtyD4RP2aZ8jSiJXSDHvA3NAFLVUpPSvBxkR2gnxPeYDG4kti/YHczimJfPNBDPd6ZN2ViaYAzMjtBNCCPEnyiolDs+ph1Quxy1RUEJLFJRQlC+PRhRUy5Yf/i28vX/ke2x3zEfBVIuCiYAkYpkv2z0wTyku2hcFJaIRBdWk4acvWBeh3W4YZ4NpvqRxUvX1tH7kpcR4xjXYz8MaJ3UZplgjhBCS0lAjJIQQQpILPhGGGan0aDWUgblgHpjqQvMxwq2iAb/7wcyE6uXybzXMvtQI3nHh7bdeg11D0FHWSqdkdjSuJ8eovbVa7lArxlvwGTRPqFc0fgJLdlwaOU3dAEybt7BYY0jqmgz2faGJwEK8t7VEFvu+UInY3ZCKj3w0vlDjVQyCOj06vYOZZQghhKQ0SbhYhq5RQgghKQ2fCAkhhLhHA1eNxoZ0XMfcoPTde8DdLUKR35I/ME2aWueT0g65JQquxDF0w27VdcbdoncU0SlqfB+Ht0fr1LFS0zSioFt4DwZTqpZV/zeVKCihEAUltERBCceF2uPCKvwEtUPtWRIF0/ALL6hx7eXAoQ2WBIdaCrf6fogL0YqCEqmpEXo8ntNPPn7iMeOLCgv+XLP2rzfcUllZ1a9v70lXX9a5U4dFi5feO/mRjZtiU4OLEEIIiQ4XNMJzzzr1qCPH3HH3/aeefdEzz70cDAYzMzMm3337x59+cdwp56xZu+62m66L/iyEEEKSgKCjv7gS7RNhTk72OWeccvk1f1u4eKkQ4qdffhVCHDxq/+qammnT3xNCPP2flz96941OHduvXbdB0c/l+MT4GBadL7wITPMx1ZAUvlAhxPqK8LbavekdD6bvQ1Vj+yxHT05P5RjUvlDJV5O7L5i+z7XG5ZBCLJIemBehXWKwBnPxDLwJzHq8YuWLNHp+xhLYcCE6MNW+r/LlGmdJcKxF24VmfQbHTkutXDxSt0swuKKvUiNoqAXT6g7V+lB/hKXkx18ApjlNdawxLXyZzBNV18h7OJi+L8DcjmVtWuSqTqpLKNjIl/AeSPaJsHOnjsFgqHv3rtdedWltbd3U6e9+OfObriVdfl+2YkeD8oqKDRs2lnTprJ4ICSGENAeSMLNMtBNhm9atc3KyDxg54uY77u5W0uXuO27Zum2711tUWRn+yVFeUWF45dJe6enpghBCSPLg8Xgab5SERDsRBgKB9PT0x556rqxsU1nZpi9nfnPIqP19/kC74rBzsyA/3+f3Swc2NMQkWTMhhJAYEQqFGp8LUzDp9tr1G4LBYF3dzoCGmtrajIyMNWvXjRtz2I7/5ObktG9XvGZtIwv/JVFQQi0KatEh325Lt0RBCbV+oCYDs3zVojJRGxtR0DsaTEl6dCwKbqwAs63t9yUaOmOGKvMR13q+0HZgQzMmmqLtWpEMbrHvBDClGjISDTURd2l9qKVsfGpRUEKtC1qRREEJLVHQa71KS2wckISu0WhXjW7fbs76tvS0k49PS/N07ND+sIMPLJ3z4zfffd+ypTH60IPS0jxnnnbS0mUr/ly91pXhEkIIIe7iQvjE/Q89WtKl8+cfvP34lPteeOX12d//WFtb+3+33nXR+efM/GTGyBHD7vjn/dGfhRBCSBIQ/F9yGft/ye4aFUJs2brtmutvlv75y9z5J595fvSdE0IISSYatD2d2uEWbpMoKdaMy8A0H3et53e3gTmhpWs9WzFuAdP8B5i5lnxXVVgfR2I1Brp1QU2rHouky2O4AsytU8LbLaWgopmqfiRiFI+oFgWNW8E07wJTWmglLUAuGh7e9v8Eu3wYPuVFpaQSRSB1RXW3kIJBJd3XuBBM8xlVVzkWnbJ6a+R2QryEe89GgdN7JJi+j1RduUU9vqfr8J3ahnuHWBahe9CrFdJ5ttD6ICQXS3F5Yp8o0ij63rUYvW0ckIQp1lh9ghBCSEqTKE+EhBBCmgMN+k94zUAjdAUXfaESZ2E1c9/7MTmL5AuVULtDreRH8YgenAOm1WEYjQsoB53J1dsitNMkHR2P8tp09N1l44rzGlPVs+QOteJVrhqPkS80tx2YVWVgSr5QCbUv1HFxkrOVwR5N4wuVyED/tlSKvSTygVq+UAnvoWD6vnLeVdwpHABmn4WqxuUoshTkRGjniFBQhDQnwmjeRFega5QQQkhKkyhPhIQQQpoDDULoJmKL9xMhJ0JCCCHu4WBWS9mJcEu1CFrUkW7KHEXq5fISxhlgmv8Fs6BPeDsN1S9/qarbBbgcuRzfuf1QxLKPVnSHlJbMh5elf2wKi2uJgkVDwfT/ErGlImGV0NSMjePxpO+Ft4N1Gv00cpZLwDSfBLPUIltKN4MkCmpRNBJM//dg2hcFmwZjPrxyc5BSy40NNfiOt5W+Dd4EUy0KGueC+fHDYI60vNb8HrDrbVSpj2gB5qfbwRyLeyWmbAHz6tYRWwaUoqCEliiYE/mkeyQU1I+GiPdESI2QEEJISkPXKCGEEPcIJl/4hGfEqLFNf9aCgoIHs/wlpTHJWbIek7N0KIjQrjEKB4MZ+NVhP0KIVZYhdXU6npQiPRPMBvc8nIlG0X5gqv3zMcI7Csxq9LHX+Nw5y8/YzzC5RKmKb9HJ2tXyA75TvD5QVm8afo9PQzXhRJ1sVnV4q2dmRmjnKr9jDE9vFKres7ycf48c7fE04kd8vqa0Z0gZFbQb724XF20v7tV/cONNYwNdo4QQQlIaukYJIYS4h4N6hPF2jXIiJIQQ4hqhBu1MMXHPLNMcJkIpXZBjUTAT6yH454Lp0Q0RtZDguqBU8mI9FsHujPdIR5dey0IMRxkgZceP4mo7ZhtWPGipU8VbgbrUQ4xEwdkoquXg9ewrrZ7/JiZjkNASBSUOdBqeFEMif3driYISkij4JN48R1qyAJbofBKNM8E0XwGztzJ67RjLy/m3jXOFgvplleI9EVIjJIQQktI0hydCQgghiUKD9hMhXaOEEEKaEUEhks01GreJMHeA8Foc075PVY1rasHMzgLTrRoidZjALBpRMBHYWhnebpUHu4oOBLPLt2hiPwW9wCxfFv3QhNhdFEQaalV7Y0Q0omDhwPB2YAHsUtc8ioY0/PgGLeLu/lGIamkoU7mVps5x0ajER63ASRTuBWbgN1XjS1y6edRDInwiJIQQ4hoOFsvQNUoIIaT5EGwQQU6ENnl3DqR+n6RMcC75QqOh0lL0IEYVyYUQxnFgmtPtHigl3JLeH79ymfs8TGG1t2W1eoVU6gF9oV9hOvxDMR1+NL5Q46bwtnm38360+N0SmNEbHbAxCpAQu7lDrXgPBlP6sfz9h2D2V3qMvceA6XsPzO8tIRMjla7RVZgAqyuunnfsC12G3fbCbiVfqFTOZaDyhed3BbNiVXi7DqN9JmPcyDXYba7ON8lzGLpwXmQvpeR4fAEPPBcPVPtCjWOx53dUjeHAW/HAu+weKIR4E3PCnRxF+IeIzRNh69atjhk/trCwcNY3s3+dr7yCjmD4BCGEkMSlID//+aceaVvcZtOmzffd/fcD99/X9VPQNUoIIcQ9gvqZZZTVKo46csyatevunfyIEKK6uvqcM0/9dvacKMa3B/hESAghxDV2uEa1/tThFkP2Hjjnx501vuf8+MvAAf0yM11+hIvbE+GYAlGiWfjYJlWoh+WiEBg7XdCKfVFQIpqEW3tHTmGVr3zVhyprZEeDW7qgF2uF/YHCiRQc0juy2hSNKOgdDabPdg0x39eqvUMwWqVGWdRdEgUl1Lqgla7KlFqO6aXTrVoUlLCKghLSV+KN7n2rSKJg0TAw/T9HPPDcKGIe7IuC8oE6oqBEv3TnxzYBrVq1NM2dKyC2m6bH42nVsmXZxk0unoKuUUIIIa4RDIqgpms0GBLlfvP3hZDfuaRH3+ycXCFEfX19evpO52V6eroQoq7O5QqlnAgJIYS4RkhfIxQhkZ2TW9y+k/V/Gf9LQL55y9bWrXc+ZRe3aV1fX7/ddKla9K5zudtdjDBuA9O8U9U41yXnpw+X2nvRq/Y0rpC+CJ0hhYPADGDJ76bhN8vy9L103FBa3LUFzFttO6akCJPgZjD9GOAhJR6SfKFyz+eFt83n7I5nd6QMIB40hX3XqPJGUvtCm4aC3mCai8DMSI4vCSdsx7emhdJzrvCFSqzBci6dsUxE0Ujs9nu73aoxJoJpzgBzAU4cA70qM0pCIRFULn7ZnWBIZGZlGy3b7HHvN999/5ezT3vuxVfr6+sPO2TUd6U/BHUfORuj+d7jhBBCkp+Zs7498bhjnvr35HUbyvbdZ+iV197o+ik4ERJCCHGNUMiJa1RBXV395df8bdiQvQsL8h965AnX/aKCEyEhhBAXCTpyjaqpr6+f86Nt37Q+yTERvn8tmNGUq15rcd93Qt+99zBs+qWqn4uUK6Rr/9QcVgywrwt6jwDT94nGWdSi4OuW1E2nYt4mxxEmYresWtICese6oJTHS06F5TSvk9e9RG4xovx3MOdiGZZ9XBWQdvEoquxnou5ruHTRAtVgFmKlGrUomNsWzKqNdk/aWVk73i1RUEISBSXcVQGbH8kxERJCCEkKHCyWUWeWaQI4ERJCCHGNoH6d3XgXn2CKNUIIIalN3J4Iv64QFRaR4FKl5BaNKHgbBrrdGVnT8ilFQTXzcR3TARhzVmN7lZMx2WM1zevAZTALY84OUl6W9y363NGoz3mPAtP3gd3h7Y4Hf0p9g/VcTnAav1jYH8wARra5nWhwJ1IeL62r7ZgyFOTa5asab8TGbZWN7ZPXAcx9nPbzX5T9zlB+qK/QyUPmPRpM3/t2D5REQS3si4IuUjQczLQDwTQfDm9r1bHSohyF1QLNaxgKxd/VqQtdo4QQQlwjZGMVqIRue9fhREgIIcQ1HGiE8Z4HhWfEqLGNt3KbgoKCB7P8JaURs1RJT9YeT4R2JAYYj6B79qq436V6vGFxz56irLXtnQCm792YjOdndIwPc28hu+Nq5tGwHt2zHVxyz5KYUo8RR1LavPweYFasiNjP2N6jPZ5GVpbct7S0pCqgNbxP68X/5RX36j9Y6ygX4RMhIYQQ13AQUB93TZETISGEENcIMXyCEEIISS4S5YlwFbqU1RW012GVk47KhEaOyW0HZlVZTM6ihXr1/FQMXThJKY8puhUJLwoaD6CKOQkGrNYFrWiJgpK3Jw116x8ssRYjMNAiGlGwsgbMPCwxZl8U1Ko3pCZGomAmplirq1Q1/rslJuoODIh6AkM4bvwZLpk5Fi8oshADEgYoAxI8lqrulXh5i7HQUuAXVT9Ng7qWlkIUFFI9strGz8XwCUIIISlNMmaW4URICCHENZhr1DlqX6iEli+0tg7MrMyILUsxk8h+ym5NdIa4lSzfeziYvi/AVGcSse8LlXArQUmTIflC7bManepddG6kNGUMz4jY5J2RfKGNNLYkiKlcD7ui8YVK5JeAWeFSoRW1L1Tijsj5oaQcVWpfqITkC81tD2bVBjBDDZaWWbDLRV9oBQ6/wOJAtg6gUT7bDuaYFhrHQhmW3hoHJhGJMhESQghpBtA1SgghJKVJxswyDJ8ghBCS0iTHE6H3SDB9H2kcqxAFjbPB3O8lVT/53dH+Q2MMVrJRTKpBYVISBROBnzBD2HBlMIBimf6XqFIchiqF8Uq61TTP1BFAIrMVlSe1KHjGZjD/28aVITSCi1E6ki6o4BWpOrxOIQiFKBi7ZHKLMLChv3uVFhRIoqCEcWZ423zFtZPOxI/JIfgx0dIFrWiJglHiIHyCi2UIIYQ0Hxxklon3PMiJkBBCiHtQIySEEEKSjER5IvSOBtOHBZq0REHvwWBOxTRUYy2+clMpCkpUOBUFJSRRUOJPDHQriU32OC3UoqCEIl5NEgXzOoIZjSioyIzVKk/YR0sU3IR56YqdxmKqRcH8LmBWrHZ4Fgm1KFg0Akz/D3a7dVEUlHAsCmp9oL7Fz+aBythQx7qgesXDIUoxz3uo5cCvYFchljAK/AqmugyTu7AwLyGEkJSGrlFCCCEkyUiUJ0JfxGL1QjRWFDu/K3b1NZhj0dVgTVmUr5O/Sot7toB5oyUjVF4n2PXn72CqXTczsL7ERGVOtaJh4e3peHkPd28ttXq1t4LKdaq9WXgdatHBJWX5GuBSli+JQDWYhTlgKnyhUgxJ11PAlEpeGNPhM2geBz4sx77QaXirnIi3inEOmOaLYEq+0GosOFCM0oO/1O6Qoiltr8jrNh9jNgahe1ZLXJB8oQW9wCxfptGVAi2hRz72q4i7/pwNZksUBaLxhWZrpg8M6T/hxf2JMFEmQkIIIc0Ahk8QQghJaYIOqk/EZiT2oUZICCEkpUmUJ0JJOatcC6ZaTqhYpXEix7pgDlZ+qd4SoZ0QAkVBiXRco99mbYR2e0ItCkr4fw5vRyMKSoVgCvG9OBqrVZUvcX4iK5IoKA/JqShoXASm+bSqsSQKqvnGsvJ+FGoqkigoIYmCWhThxbfKdRd8qEpZJ4mCanKwxpBCFPShOOrFWJpoStsr3vFBUcRsGJOhtpZ5HTyZBFC/92AdrsJBlpbzdU56DZjmwxrHKmipEym0PABmT2UVvBXW76jixjtPxuoTrj0Rjhg+9MVnHj3skFE7zL0HDnj1hSe//Gj6E4/c37FDe/WxhBBCmgeh/82F9v+aiWs0Ly/36ssvys3NbdnCEEJkZWb+6x+3/ff1t46YcNJvC5fcdtN1rpyFEEIIcR13XKOXX3z+2zPeH33ozoXVB+y/rz9Q/sHHnwkhnn/51U/em9qlc6fVa8AJmNNBFPQPm+WLcFjowKxH71wWPsjX4mO+Y7zjwPR9DKbaF2o/gUVgru647HI/jvD6yO5ZLSRnchA9eY59oUUHgun/FkzvEWD6PtHo2brqXVryLvlCszBfSS1mqFGzFt/xUbGpUK9G4aXccBL4QnNjFilkxRs5r1CConRLS75QCS13qBW1LzQX3WfqChiOUftCJfpbA2ZsfNkmY/iEC0+EQwcP6t2rx/R3P9j1n5IunZev2JmRrLKyasOGjV06d4xwNCGEkObDjlWjWn9JX4YpJyf7+r9ecdPf/xG0LJgtKiqsqgpHI5dXVHiL5FyB6enpghBCSPLgUT8mCyEcxREm/WKZc848ddmKP7Kzs/v26ZWXl1tc3KZD+3Y+nz8vL+wlKSzIN30+6cCGBncqrxJCCGkaQnF/dosN0T4ReoSnpHOnG6+7WgjRpXMnw/A2NDT8vmzFUePG7GiQl5fbrl3b1WvkhFrV62Vd0IokCkq4JgoeBqYkCkoYZ4Bp/hfMRCgT4VgUjCb3lYQ6LZmV198DczwGeGiJghL2U2FNWgHmPcrqE59gMrkjXEpTZ9yLK/j/z/kXTaZLN6E6AZuCwr3BDMxzZzyxI5qrXW651SUd3cZTU0Sy7wNXWdVZ8X9gsAZiid6Nt0/GpNvRToRPPvvCk8++sGP7iSn3fzFz1rTp72VlZv7t2iuPHj/2089nnnf26QsXLVmzVplZkhBCSLMgRRfL7GL1mrXbtptCiNq6uutvuv2UE4798J3X+vbpdcc/73fxLIQQQoiLuJlZ5p7JU3ZtL1i4+KzzL3Oxc0IIIYlPKrpG44JW1WlZCPwyvP3VdNg1VJmrSRIF1ahDEhV8hzWyD1BGp2XjgGvkBUl2UYuCq/Fqd8GrbZyErafaPel490pB2UcSeu/ReU/ti4I5qDVWb1Y11pKp1EFmdcq8dArm4p0zRCkKKrRSSRSUrsMPy8GUUqMVHQCm/zvVGKyYmNfNcC+W0bgeT4SOrY8qw9sn6WTjM54EP1z1LTBrPHcUiILH286q6B0NplTYrhzF+wKdAesScpB0O94zYVJOhIQQQhKTlM41SgghhCQjnhGjxjb9WQsKCh7M8peUKsvSk6ZiDvpj1+DPsxN1Sl4kApkWT29dReR2mvyC/sNiTAjRyXbognS193UvN1uWZQwNdbCrQRmP5Bb/3QrmGa2a4qRkB2V4q7eLIghKwdjeoz2eRh6fLphfWlypF+I2JyieNIp79R8cxdCigq5RQgghrpHq4ROEEEJI0sEnQkIIIa7B8AnnSA7uHHxSdXFJtFu8vw3Mo50KafZzkondisXn266tswQLDO17NJqz0LTba1QYT8B7bF6q8dlRhMQIpS5YNAJM/w84pNPANF8DUx1doyAtE0xJFDROxZO+7vAsQohap+ETbqEWBRfjTdgWv3ukAutLsXEfOWl/mEkYnfKAMk/edPzYHpds+rcVqRCYWqX2YZCJVDDLiwtFfJ+CmakpN3LVKCGEEJJkJMoTISGEkGaAk4D62IzEPgkaPpGHdXwr3UvZbc3NEaPqz2qMO8A0/+5az150ePret3vgk7jq/RL3Vr1/bMlCMq6pUslY3ezSIvKN6DVtG5sl5lIRhga8vJVrXTtRfncwK/5wrWf7rLE46DrHrAaLcQ2Y6iLvzs9yJ9qYQ8d8KOKB32BIzCj0fq/AUIJ+HcB0q5ZONNTXg5kR+fnITvjEWfNK22iGT/wYEs8xfIIQQkjzIBkXy1AjJIQQktLwiZAQQohrhJLwiTBRJsKi/cD0l2oc+xJqMGcrJS77uuCbuNL6ZJdWWr91FZiHu6ec2RcFJaIRBfM6gSkJYDHSBZ/Bd/xCHL8iuVSMREEhxCWWRfxPRlGZ3XsImL6ZuBtLnzsWBaXvHamg+gZUUvseBebqj8B0SxeUInz6YryEW6LgVPxQn4QfavM2h92OUubJ61EIZjSioHFzeNv8p/N+JCRRMMqyNgyfIIQQQpKMRHkiJIQQ0gxIxlyjnAgJIYS4BjVC56hFwVdREzodNSG1KOgYtShoPwWUhIuioH1WoSzRtTBCO33UUXHWqtk+naJbxolgmtPAvND2O140HEz/Txpj0OJJZWYvBepX6vg2k7LxzcMMW+PGgOn/Ecz2qKRKOqXXpXyHszH2bn/3ylEpOCkBcqp5sIBXqCFCuz3hWBechVf7ILza8veDw5PshOEThBBCSJKRKE+EhBBCmgGhkAjppliL9yNhckyEp8fG+emdAKbvXVXjbZVg2ndSaSFlLwrpuBgKeoJZvjy83SbL+ZDS0JMTRE9OYX8wA4vAtO8O3YyXV0zbczM7FO0T3pacfl9i0qzDdNzUxgZIsWW2/6vNA9Wp7yRfqOQwHDsSzPIlNs8pVybZH03pssQI4z94N8+Eu3n/lzW6ysFvgOqtEdrtxvd4PUfqOGAL+oL54mwwrS9G7XF9F2M2Tt8fTPvvqRCiuja83e4N+GSaZ6l8rJIv1DsezK4faoyhUZJRI6RrlBBCSEqTHE+EhBBCkoJkDKjnREgIIcQ1knHVaNzKMD3ezd9zaVhBCiyI1bmsdZeEe6WXpNIqPVwKSPgKRaxD4xFrIfEzJlgaplOofa7l2CFOK7w3ihdzgPk+iNWJiBAivwTMitUWI+7fZ9HRgCpbenqEdprU1IKZHYVgbx/jJDDNqe50a6cM04RfS1tolmGaFxJTW8SzDBM1QkIIISkNXaOEEEJcIxldo3GbCKvXabhDrQvihebib+e+UCknP75Xjn2hhQPADCwEMxpf6OpyMLtYygKUYT0BRX2G3dHyhUoo3KFrcbSddIoYFPQDU+ELXYkemm7Kdy2a28xnSd3iVu6VaPgBwwZGKMMG1C5B43RsLH1sXfoOc6w1GJeBaT6ucdIF6PYfGBvvfdP4QgPVaEfhC/0JL8twzcuSjBMhXaOEEEJSGrpGCSGEuAarTxBCCElpHGSWYRyhLVzMCPW+Jd3R0epU9FH8SvkIoyCOtCh/kiioRV5nMCvXgNklssymJQo2DVqioEy93YZqUVAimtssRrqgcSWY5r/tHqgWBSXUcQLmqxpdOaZ/FzBrtkdoJ4QQIj3TYpgRmzVKjETBuFCY4/zYOXgN942uEgg1QkIIISTJSI4nQkIIIUlBSIggq08QQghJWbhYRoPcvsJrcWr7vnLelVYOsEZ0QQuZeWDWVUZoJ4QQ4sbNYN4TuV65VoCXhCQKusWHqMeM14llLMWXs59LdcaNc8GsmgFm+TJ3zhIjtOIRK7GUfB7WS7IvCgohnrUUJ7ogmsplyghax3iPBNP3EZhqUVCioS68rZYw/4sFm86I4rIU7gVm4LfwtqIC2u6o0yhGGcNnk89wDGMSIJVjfOETISGEENdIxsUynAgJIYS4RhOXYcrIyAiFQg0NqrrEjXcSzcHRULVE+Erd6SqaHGBW5KRfOscqfKESWr7QpkHLFyrhli9UBh1EWn6zuGBMCfsTzas1fuBKvtBosLpDN2FSvWKt+Bmnv89/xHdtX/RDSr5QLeZjz4MsH/nlmJut7qBGSQAAIABJREFUJwbMROMLlbD6QgWWd9Cq7SD5Qo2zwRz+ku64bGFcCOaYZ2Jyll00zRPeiOFDrrj0gm4lXYLB0LwFv/3j3gc3bd6yY9fQIYPu+8ffd7W8/Z/3fTt7jqIrPhESQghJRjyPPPbMr/N/S09P//tN191w7ZXX3bhz8stIzyjbuOnSq6/fYVZVVUfuRAhOhIQQQlykyVyjP/z0y46N+vr6T7+YeeWl8Njb0NAQCJTv6bg9wImQEEKIa8RlsczBB+7/6zwojNK9W8mXH00PBMq//PqbJ599saamJtKxIo4TYXmt2GIJSGidF7mpEMYXIKSYh6tekhrv+PC2py/ue9Bxr64hFRgqX6xxbNG+YPpVLnFAHX9SWwdmVqZQUNALTEWcQ157MCuxWpY5XXUWCeMMPPa/EVvO2AbmRIylMf4FcQPm3+Dj+RguxL8cxSctXdA+krRj2pZ2tETBTGxcVxGhXWPsg3fOYrzafYo0ujIuBXPQE2B6Dwlv95yp0a18ltvBNG/fY6s947jmeyGWYTedioJp+EkM1kVot+MsUYiCEDdS67wfNQ0N9ZUVoPfm5OanpaUJISYcNa5lS3khw+/LVsz+/ocd20ePHzt82OCzL7h8194/Vv157kVXrVm7rkvnjrfffENaWtpD/35ScXY+ERJCCHETBwH1FQH/H0thPVLPfoNycvOFEBkZ6VmZ8g/w9P9lyB196EGXXviXy6++Yfv2cFDzli1bt2zZKoRYvmLlU/95adLVl3IiJIQQ0kQ4c40WGS179R+8x71vz4hYevuQgw647q9XXH3dTatWR8w2kpmZUV/fSJ5+z4hRY22O1UUKCgoezPKXlH7eBOeahalPDrK93N+4GkxzijvjUeM9HEzfFzE5iyJHRuwwTgbzc/TVxCiDRvMmAwsO1DeyMi7mPIne40vcC11IBDaix7htPCq6ZFu+vmqUZTcysBxKfZXzk2ZZCsUc0mG0x9NIqYaRv5YWopOzUZaGxBctiyNNhJEYMXzoA/+686lnX/x92XIhREND8Oe58yZdfdmv838TQmzfbq7fUNalc8e/Tbrqk8+/evo/Kh80nwgJIYQkH23btvl13m/77jNs332GCSHq6up+njsvGAyGQqH8/LzTTj6+ZQtj+3bz7Xfef+OtGequOBESQghxk6YJqH/vg0/e++AT6Z+7tMDddyngREgIIcQ1mjjFmisk6EToooPbvigooRYFjQnY+F273UpL1fOngMN9/VlwS0STfyvbEhvwwO+w6wr3RMG3cYn88RiQ8KUlNdphb8KuaERBL158H158awiHVp0Kx/Enan7F6JTB+MJzMDlfNZYxUbMaNbkOkVUrP8qHRcpq5sZdYJq3gpmO92SDJZRJLQpaI5eEEL4PVY0lpPp2aZ4I7YSYhjfkibarzQgh3sVjJ+Cx9kVBddY3CXV4knE5mOZjdseg/s5c6AdzgDKypdZpOE0SkaATISGEkGQkGNIvzBubkdiHEyEhhBDXSMbCvI0shCWEEEKaN80/jjDR0PLOa1GBiefybeuLRfuB6XepPFYCUoFSWb5SKtPiW0tQ14Hulaaah/ri3kkVbWkcC6b5TkzO8iGW6IqmppgWxg3hbfM+jQO/xvi/g3XulnWWJNIdCyK3ixljezceRzh0bmm+ZhzhciFm6ccRughdo4QQQlyDFeoJIYSkNMmoEcZtItxULWotT8+9lCuM1XyOvpHR6BvJLQazapPdbk1cf9x5GJjLfgSzne2l1dH4Qtdida1O6BvZhuuw77L4YJ/EXP7mNDCj8YXm4BLz6m0R2mkyF12CQ3RcgsaV4W3z37DLRV+ohNUdKpUQ8aSDqZXQTu0LlbLWmW9GaBcnYuQLldDyhRYORRtrKajfGqleipY71IqWL1QKZRG37rmZEKKgJ5jlyzXOQvhESAghxDVCDKgnhBCSyjhwjcYdhk8QQghJaeL2RLg5KLZaSkRhYXPxBy6+7a5UEEcrRQL7omBDA5gGpnkLLALTvigoYVwLpvmgxrGdlAumO+Peey2mJApGw0p8a7q51jGgJQp6DwNT0gWbnvLFTXQihShonI0tlWXQv8MF/Qe4F/7hFm+h9nyCRZlegPFIA1GDX4G3a49fnI+hcoPzY+3zDKbNuzCyKCgRjShonAem+ZzzrkTK5ho945QTJh4zvkP7dv5AYPqMD5594ZVQKDR86OAbr7+muE2rZStW3vHP+/5cvTb6ExFCCElwHGiEcXeluuAarW9ouOWOuw8eO+Hya244dsL4cWMOy87OvvvOm594+rmDx04o/f7HW2+8LvqzEEIISXxCjv7iiwtPhG9M27lKeuWq1T/8+EvvXj3q6uq2bTM//2qWEOKV16aefcbJXbt0XrV6jfWofUaLXpY0AuaL0KfaFyphnA6m+ardA/M6g1m5JkI7VwnOboqzaLEOozLUGSu6RRHoYsU4H8ya98BUO7TV1ScUzEIfoFZlEuNFDIN4Bzzp5nSNrhS8hz7Asx4C05QW00dG7QuVUPtCjeOx57cjt7wHqkKYN2p8v0k1Og65GMwTXo944EBlPFKnmAXMWJEdsMrPSH4JmBV/gnmhsoJH0YHhbf+3qpbz8XoOUmoNal9ojnJIzQM3F8vk5uQMHTxo/oKFnTt3XLFy1Y5/VlVXry/b2LlzRxdPRAghJDEJ6v/F/YnQtYkwLc1z0w3XLFux4qtZ3xUWFlZXhbM6VlRUFhXKv5HS09MFIYSQ5MHjiVwK8n8ko2vUnYnQ4/H87dqr2rRpfcsd9wghfKYvPz9v197Cgvztpk86pEFao0kIISSxCYXiPmfFBBc0Qo/Hc+1Vl/bo0e2qSTdWV9cIIVatXjPh6HE79hbk57dv1271Gll/q5wtTJeqHARXOjywaURBCf/3cTipmvTGf+RFxHgHKmqbx9ZFailh/sf5SdWiYJmloLYU5aIlCkqY58Tkp5u1iIEQ4hhM3GVfFNTiT1SFS5SqsEIUlFvqiIIvY5zAWShEmZFFQYlMfIvrsJx6NhZ8jxGSKKjW5yRRUIs1n4W3vRjfJUmPg5Rn8WH+SKkriWrrO2VDL0zRVaOXX3zeYQcf+MTTz3fp3Klvn14d2rf7rvSHnOzsE4+bUJCff9H5Z/86f8HadU0Sg0MIISSuJKNG6MITYccO7bds3XbVZRfuMGfP+fGpZ1+cdOPfr73ykvPPOX3h4qV33j05+rMQQghJfFK0+sSNt/1j938uWbrsoismRd85IYQQElOSI+l20XAw/T+hqaM1pllecbA+crvd8B4Mpu9rVePCAWAGFmqcyEpBbzDLfwdTHZBkZWslmK3ywFSni5uGkW0nYt0l+6KgixiX4RgeB7Mq7vmaEKnK/AYc3jhlNZ9Ht4B5RWu7J5XSzvm+BDNfRxLJxfJDVS6pHGfpRKcpksBJomA0qD9uEostqd36YSzjQbeDaWIwaDRYxbyN+MJ7ZDnsZ3d+w6x1e2lWjktGjTA5JkJCCCFJQTK6Rll9ghBCSErjGTFqbNOftaCg4MEsf0np57v+swbXc3dWrudWI+VqGqxTxyC5yG0HZlVZxJbp2WA21MRkPCRheRFjFc5JvKRZxqlgbsAUcbk6fj/7qEM44kIBFuIpXxancURgbO/RHk8jj09d5pZmVwTUbSTWCLGgZXGv/oMbbxob6BolhBDiGtQICSGEpDShkNDNPxP3iZAaISGEkJQmbk+EgVqxybL8NxpRMBOXArvlZjY+BF3CHF+raOw9BEzfTIcnrceIjgx8f6ZiJMNJtrsNxSyx68ztYB7Swu6By1FEGDYRTGm5v2M+xuGNUw7POA1M8zUw38aLfzyGkSQChYPC2w0Yd3FOkwygFIMcjjwXTPMd1bFSTjW3RMEtGDjUGgOH1KLgHHw5+9rOz5eD90b1tgjthBBCFO0Lpn+O3bNEg3E9mOb9bnbuoEJ93J8I6RolhBDiGgyfIIQQQpKMuD0RFmaJYmVCEytLMNNBX8x0UIeZ1B2TLeVMUfpCJRz7QiW+Rofh4ejKO7MHmDXo95OHZLks6kQS0RBw+ltuFl7dnugLVb/j9lH7QiUkX6iE2hea1ym8XbkWdmmVL5cwzgZTXXc+MF+j51iQg2VM1L7QaC6LfSRfqMR76LQ8Bt9itS/0I8un70i8zdS+UImm8YVKqH2hi/DT15+ZZQghhBD7JKNrlBMhIYQQ10jGxTLUCAkhhKQ0yfFEOPKvYEZT3NzKWszr1ilCs+jxHh3e9r2vanm4UtPKPQTMmunKkzrVBY2TwTTfBPMXzGB3jNMogjOVwoNaFEzHtfUNGmJurHjdos9NwGsSjfoliYJuvXApzmE/24EBQgjjPDBrPw5vD9EZg/qy1GJRkywsNG+V82uUglwW3ki1qH6dtj+Y5UtUXUmcYKkwU7le48BoME4Pb9egrK7IsCiEeByTyV2mjBvRFQUl6BolhBCS0iTjYhm6RgkhhKQ0fCIkhBDiGnSNxgq1KPgcur/PU7q/Penh7U5R5HVTU7QfmFZdcCGqFAN03PGmUhR0TF5nPMubEdoJIYQYqlPWyrCIu1Kdbkn1UZORA2Z9tcaxVtR126NhQmSttBKLXuVlR2i3JwL4St2KtdMSBSXM59wZgzpEUro9pA+Uv9TuWSRRUEJLFJRoMl3QivmqwwPVoqA6s6MuybhqNDkmQkIIIclC0j0RUiMkhBCS0iTKE2FOazCrt0RotyfUvlBrSn6hk4bKuB8SRpnXa/xqUbhutHyhmZiFrq4CzF8xkmEwOi29o8Lbvm9UZ6lcozEkiY04pAxMsiUs7lDJ/dL6VjDNe1RnUftCi3ARvH+2ZRem9tfyhfowdZ/jcBQtX6hEYU7jbfbIBxhUcBR6bjNwSPXovN2E76n9VIhqpIgIyRfqx7e4CF+4fV+oi3yIKQzH66Trs1KG17Od8npKH/n5G8Dc79Lwtvlfh+PZndYXgxllfFpQCE/jrYC4PxEmykRICCGkGZCMi2XoGiWEEJLS8ImQEEKIaySja9QzYtTYpj9rQUHBg1n+ktLPIzVQq18xYhbmnTooiiXmpBlQgcpZfhRSn2O05CX7qCX5woFgBhaAmd8NzIqVdk9qvJ5uNc1TG+weqcM6zJvYMWYhUjFCEt3buvSOu8XY3qM9nkb8iPm/lKZVBNRtJDYLsaZVca/+g6MYWlTQNUoIISSloWuUEEKIa+hG04sEcI0m6ESo9oUaF4JpPuPwLMYkMA96AMwMXC5fj4vp/0QPTAl6YIzHMPTicrtvtLpktppMLMb97rrw9pHKld9SZhl1NIW6LEDT8Amuaz8i8qv7Ad3dI5TubgMjOsRdGkMyzgxvm68oW14LpvmgqnGxssB6fg8wK1aoGltRhydJvlAJ+77QzZVgzhoHvlAt6eEbfB9HWY71jsGmn2l0ux0/1C2cRshI5LYDU10XQiJGvlDvaDB9EVUpF0jGVaMJOhESQghJRlh9ghBCCEky+ERICCHENRw83sX9iTBRwidu2gwN7m6j0VsW6nO15RHaxRIt4acZ8zxWAvmLMvudlW2oJ7VUamNqrCpmXCTMZMfxm0gcYJwBpouJ06zciarwba0jtBNCKAPJ7IRPZPxS6tEMn9gqxEaGTxBCCCHxgq5RQgghrhF3P6cDOBESQghxDQfhEw5CD90lUSZCtSiorkH/+Vow7ccnFe0Dpv9HuwfuznqsIhRN5R0r1bVg5mSpGhvXgGk+HN72Y7xUkUvxUrtjX0+SLr7QufhSgJpU+8mtaDC3MM4HU6pxE6MkahKv4ifo0mPBlKp0ORYFv0dtaWQCJCn8EkNOD3NaSml3vrD0fPzZsMv3nkY/alHQmIiNZ0RsuRbXRgw4Fczb3tcYUpTZJZPxiZAaISGEkJQmUZ4ICSGENAMc+Dnj7hpNlPCJpGM1OiK62E5y7z0cTN8X7ozHRaSqC5vRPdu1sCnHQlRI1czrKiK0I0lL0X5g+ktjchbjZjDNf0ZsaSd8IvhLqdAMnzCF2MrwCUIIISRe0DVKCCHENbhqlBBCSEoTZPUJ+6RliHRLMEADClEN+AshPTYe3GxcJVxjRmi3JxqcvnWSKLgBdZ328ShIndse7Q1gRVOZ3fh7eNu8w3k/T+Lq/0ucru/fhHEXUpEjY26R1TSH+BVdSSEc1ju0VRT54bT4eT2YgyzFy4r2hV3+Oc7PUjQCu/ohYss6LNGVqZPfbg2K7gZ+M23Ennu6JFRvwk9fMX76jNPANF+z221BTzDLl2sMKRsDPCRR0HrXtXHvNlOIgg5g9QlCCCEkyaBrlBBCiGuwMK8GwXrZHWolRr5QCckXmtcRzMp1QkE3l5wz/a4CU0o70jRUbWi8jTMcu0OX4eprtS90IbowBxRFaCdEL0y34XsXTLUv1LgB7ftUQ7KyHF+LW249gb5QiWh8oXJXkX2hElq+UInOygCkwhznPSsoVioR9n2hElq+UIncg8CswVQyCndoQR8cw1LVWfI6gFm5PkI7RwTpGiWEEEKSC7pGCSGEuEZQiAbNQ3Tbuw4nQkIIIa6RjK7RRJkIt+JidK0F6G7l71eLgm5h3Ae1EswbVPfAR5g7/0hl7nzjRjBNS0GMLJTN8h4Cl7h5vvN41m9QZx1lO2/9KxgRcSaqgL10hDSFKGhi2Q3x7p6b2eHDm8Dc3/YrjUYUXI/3dofYRNcYt4Np3r7HVv/bi5fUcFrrYwrWTL8WY3gaMF7CPorq6rtTOATMwFyHJ3URRX0JNWpRUGLDCjC9yjfRuMhizGy882ScCKkREkIISWkS5YmQEEJIM8BBQD1TrBFCCGk+NOgvfon7RJhyZZiqLMGL7W+BXabtyLBkxzgOzFefA3O8e1W8HRNNYXFrRfi4xGU2GfYDKBOBX3xgDo0cBKmF9xAwfTPd6bZR8jqHtyvXqFpKWdNqtkdoF0tWYTCr42Jqdsowbf2ltF6zDFOlEPVxLcPEJ0JCCCGu4SB8Iu5PhJwICSGEuEaTuUZzc3OPGHPoLnPx4t+XLgsn9cnKyho/bnSHdm3nLVj4XWkj6ZESZSIM4pVIi9lq1lxLyQstX2hBLzDLl6kae8eA6bdUnPBhoEiRe7mjstHXVGPxRMECaCEE+mqi8YWuxqIBXSInypLqbLTBohYZeCdq+UIl7LtDjdvwwDvBXIneHXVSvRabwtvbi+0OQAhh3I/hNNdrrCRX+EKrMX9hTlaEdkIIIYoOANP/nf0haHAQFsQoX+JOt0Fl0Zgl6D3uq+M9/hh9mOPwnly8OLxdoswPJ/lC39oGZtd0MIcpPcbGU+FvRvNijenDsS/UAc6eCB185RcVFtzw1yve++CTHeamTZuF5Wv5gXvv9HhE6ZyfJl19WfduXV9+9U1FV4kyERJCCCFa1NbV3TN5yu7/HzigX5/ePY4+/oza2tr5CxZOvveON6a9U1sbMb01J0JCCCGu0SBEvf4hzpyA6Wlpx088qr6+4Zdf561dF64eMGzo4F/mzt8x8/22aEl6enqvHt0WLo6YdIAB9YQQQlyjXog6zT9nuUaDodD83xZ16dxp+LDBrzz/5Lgxh+3a1apli23bdzrNQ6HQ9u1mq1YtFV3F7Ykwp6MoHBg2Aws0jjUuAXPtw2AW2FbdKmrAlEqxb0Mxb/M8MNXloZe8A6Y161s0oqDxVzDNh8CsweXp0PJp5yf1Hg5mHf6o6rLWbj/to0gPZtwF5jdYu2pgZFnFuBZM80E0URSU0Kq0paULwhiUouAM1JMmqj7LgFoUlFj1GZgt8d7OxixlNZE1OXXQi1oUXIticyel6mYl8Ktqr5YoKDFOKVSrdUEFJ+CbmIW3Wa0y7kChC/ow9Z06a5pEIgR4VAR8yxfDl2zn7r2zs3OFEP954uFePbtL7d/78NP7H3r08mv+tsMcO/rQ66657JPPvwqFQkKIYDCYmRme3dLS0hsaVLMtXaOEEEJco1aImsZbAUEhsrNzWrZua/1nRvrO+pYXXTEpLc0jHdLQAL8Jfvl1vreoqLCwwO8PCCG2bN2298ABO3alpaW1amls2bJNRIYTISGEENeoEyJyzfWIFGZlt2zTbo+7Ghr2/DiXkZFRX79Tjhw5Yti2bdv9/kCnju1DIfFd6Zzzzj69qKjQ7w+MHDHMHyhftuIPxdnjk1kmOyv7lJOPL8iPTS795CcnN6e6qjreo0hoMjLSPZ60ujqnRQpSg+yc7Nqa2h3OIrJH0tPT0tIz6iKvJyRCiKzsrPq6+mAw+PrUt7dtUz1aOaOyPBDwm207dG68qYVzzjjlgP1GrF6zzjC8QwcPuvOeyTNnfXfrjZPq6xvuuf/h2266rl+f3nPnLTjs4AOnPP70R598oegqPhOhECInJzsrU0fHIIQQElfKKyqDwbiX0d1Jbm7uwAH92rZtEwiUz1+waNv27UKIki6dgsHQmrXrPB7P0MGDOnRo99vCxStXrVZ3FbeJkBBCCEkEGD5BCCEkpeFESAghJKXhqtH407NHt4lHH9mnV4+a2rpvZ8+Z+vaMYDCYm5t78flnDxo4YOPGTU89++Kq1cpCLylDYUHBDddeMXfegrdnfCCEyM/Pu+SCc/ca0G/d+g1PPvPC2nXr4z3AOJOfn3fOmacOHTyorrbuw08/35GG8YjRhx47YbwQYsZ7H3382ZfxHmOc8RYVnX/u6f369qmurv70i5k7LpHh9V564bl9evdcuWr1E888v2nzlngPMw706NZ1v5H79OzRbcnSZa9Pnb7jn926drn4/HOKi9v8Om/B08+9VF1dI4QYdcDIU048Nisz85PPv3rrnffjOmp34BNh/Nln2JBt27c/8cwLr7351sknTPzL2acJIa696pKSLp3vnTxl2fI/HnnwHmtwaCpz9eUXDejft1/f3jvMv026qm1xm7vve2jN2nVTJt+dFrtk7clAenr6w/f/s2OH9o8//dwzz79cXl4hhBg+dPCkay574eXXn3/p1WuuvGTE8CHxHmacufXGa9sWF99930MvvvLG5Redd+hBBwghbr/lhuyc7H/868FAefnke+6I9xjjwz7Dh3Tu1LFlC2OvAf12/CcrK+vRB+9dvHTZvZOn9OzR7erLLxZC9O7V445b/jb17Xcfe/r5s884ZezoQ5W9Jgf8eo0/r7359q7t4uI3J4w/4s23Zowbc9hp51y0dt2G35etGDv60IMO3P+Lr2bFcZCJwD7DhrRrVzzzm9mFBflCiFYtWxx28KjjTj1n8+Yty5b/MW7MYfuP3Ofb2XPiPcy4Meawgw1v0cVXTApairmcdPyEN6a9M+fHn4UQr0+dfvIJE3/4aW78xhh/+vXtc/s/7lu5avXKVatnz/mxX78+K1b+OWzo3uMmnFxRUTnlsac/mvH6oL36z/9tUbxH2tTseAq88C9nlZTsDGM49KADTJ//xVdeF0I8MOXxl//z+GNP/ueEiUd/+MnnX38zWwjx/EuvnnjcMZ9+/lUch+0KKf0LOgHp1aPbmnXrS7p0rqyq2pVDduGiJb16yBmGUo3cnJy/XnXJPfdPEf+LiuvWtWS7aW7+nxdr4aIlu+dhSin2GtDvh5/mnn3GKff98+8XnXd2Xl6uEKJnj+4LF+1Mi7do8ZJePXrEdYzxZ9a3pUcdOaZ1q5Z9evUcsvfA2aU/9OzRbfXqtRUVlUKIhoaGJUuXpfiNtIuePbovXLwzM96fq9fW1tV16dyxZ49uCxft/OfCxUt792oOdxQnwgRi+NDB48Ye/sxzL7UwjB1+rR34A4GWLQ3FganAlZdd+N4Hn6xbH04w36KFEQiEMzP6A+UtW0RRxjD5aVvc5qhxo4UQr0+d3rNHt8n33OHxeFq2MALlO/N4+vy8kcQLL7/Wt3ev1158+tknH/529pz5vy1s2cLw80baEy1bGoFAOAlsIFDeooXRwnJH+f2B3Jyc3FydxKYJCV2jicKA/n3/cftNN95619p1G4qL2+Rkh1OA5+bmWOfFFGTvQXv17d1z8sOPWf9ZUVGZnR1OYZ6bk7Nh48YmH1oCUVlVtWzFyhdefk0IsWz5H599MK19u7aVlZW77qW83NxAat9IaWlpjzx4z/QZH7w+dXpeXu5D9/3jnDNPLSvblJMDN1J5RUpfpV1UVFTm5Fi+iHJyyisqKyurdt1Rubm59fX1NTVJnwaLT4QJQd8+vSbfffudd0/eod+UlW0yDO+uFHSdOnbYUJbSX/G9enTv0rnTp+9N/fyDt046fsK4sYc///S/N5SVFbdpteuD2qlTh7KyTep+mjfrN5T5fDsrsldUVtTV1xcU5K8v29i5U4cd/+zUqUNZat9IrVu17Nql84effC6EqKys+nLmt8OG7L2+bGPHDu12rbTiVdrFhrKNnTt13LFdWFjg9RaVlW3cULax0//+2blTh7KNm4PBpM/hx4kw/vTs0e3Bf911z+Qps7//Ycd/1m8oW7x02XETj9qxd68B/b6c+U1cxxhnpk1/d/RRJ+z4m/r2ux9/+sVfLrpy5arVq/5cc8z4I4QQ/fr27tWz+8xvvov3SOPJx59+MXjQXm2L2wghDj/koIryilV/rvnks68mHjM+KzMzMzPj2KOP/CT51zVEw9Zt28srKvbfdx8hREZGxsgRQ1f9uWbBbwsrK6vGHn6IEGKfYUNaGsbsOT/FeaCJwedfzdp74F49unUVQhw/8eh5CxZu3LT5k8++PGrc6Ly83LQ0z/ETj/7k8+YQkMMUa/Hn/9u7n5YowjiA48886zZgzTxr6+4biCSK0OigYL0Cxf6DQgQePOQhicR/+SdWyz+gRgh56A0EHYSgPPgSRESiWyRrl5TZ2TV0cdZlO+whCzp4kFn5fT+v4HeaL8w8z/wGe3vK17zKfm7vtN1/WHfxwvTEaLFYjBmzsPhu6ePnECesKE+6uxzn3MvpeaXU5Ut1k+MjQRDEjJlfWPy0vBL2dCFrf3Cn81GHl/HPVlePT86urq2+DhbPAAABG0lEQVSfiUZTY4MNV6+USqWNL19HUlOB7B9M32xuGujt2d395bpOOv1jaGzCz+auX6tPjQ7s7e0b47yaeV0+EinN3Vst/c/+rPp8/2Fp7s3be7dbH3d1ZnM5y9J9Qy++fd/UWj/ve3qjubEQFDbTW/3DqfI5o1ONEFYura1kIuFncwcHx13vJYjWOpmszXh+wCYKpZRStm0b1/nnSnjMGMtSfvb/u5slsSwrHj+fz+ePPsEjkUgiEfe8TKFwGOJsFci27ZqY2d756xWo6zrRqiovE8YO3xNACAEAovGNEAAgGiEEAIhGCAEAohFCAIBohBAAIBohBACIRggBAKIRQgCAaIQQACAaIQQAiEYIAQCiEUIAgGiEEAAg2m/g1LPzqQkEXAAAAABJRU5ErkJggg=="
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"heatmap(grad_maxpool[:,:,1,1], html_output_format=:png)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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"
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"heatmap(grad_maxpool_py[:,:,1,1], html_output_format=:png)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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"
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"heatmap(grad_maxpool[:,:,1,1] .- grad_maxpool_py[:,:,1,1], html_output_format=:png)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.4.1",
"language": "julia",
"name": "julia-1.4"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.4.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment