{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Make sure we've got the latest version of fastai:\n", "%pip install -Uqq fastai\n", "%pip install -Uqq gradio\n", "%pip install -Uqq ipywidgets\n", "%pip install -Uqq nbdev" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "import pathlib\n", "temp = pathlib.PosixPath\n", "pathlib.PosixPath = pathlib.WindowsPath" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#|default_exp app" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "#|export\n", "from fastai.vision.all import *\n", "import gradio as gr\n", "\n", "def is_cat(x): return x[0].isupper() " ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMAAAACSCAIAAACc+FKsAACcbklEQVR4nGz9Wa9lW5Mdho2ImGvt7rR5sr/dd+/X3a+pYlWxSIpFCpZoWqIkEzZgv9gQ/OAH/xW/+tVPBgzDhgHBT6YkQoJFUDQEilXF6uvrb39v9nm63a01Zww/xJxrn8ty1ld5M0+es/fac8aMGDFiREw5/+7Si3uGjyRFRFREIQAgEApBB4Ug6E4QEEApIgLENxKgQkRoVBUI6EAhHeIohcwgSQecJEAifloAgYoCoAhAgQBke3uAoiIAFACg8XOY3pyMHxVVEVUxUiECFagqTKAiKmrQFL8jmaVObKbJNL5oJqnXfmadqVl9CBEI4M6cMezLsMvDtgxb7ndl2Hke4KN7IcnpAUVEFCAIASgmkkQBgFTAQUcuYPZSWJwsICHT51IqRExEBW0tANCJglKAApAs7g56rCdAuBMASYm9KGxrCKlLBd5dt7qMAtbf443iF2O7STpIEoQzvldEIJBYakBUEgykwCgu8PbEsbWx14iHg7N9WjAexwXioFAg6oAyvlskXuPOY0kYSP1U9dOKYHo7QAFC6nc2uwSEDgjgEAEcjOXGwQRFBKJQQSIEqvHFegrqZ6CAJIUuVJDwwiIuRSAqSTQ2DaAL1OO1GUsu1E46V8bmUEgV8aLqBSTUoAoBhBAhXIpDBGJQq5YVW0enZuRszC6FXuiZ7TQBFIqIg2D8RJxbOMJCECsYZ1cBiSWmOkABJQ4ntW7QnWWEqMbyi+Cw8PXM1o0Vtr0i2+qHFUhsX2xbXVYBwCQm5iis2x8GE9YKgdSXIskwdpKioNRjxth+jVMoACEkRSjxceTux+Bk4s22pP2DhLdBexUe/rEagVQDi1ez+grSVlMSRMN6mvlo7APq4jAcHUHSxQtEJmcjKhK2B4HG8WrGp0CCMiEhNkkgxUxyBy+kUxRmKhJegSgQUlVgGg/c7CesjZKo2UphyVRjyX44qfGmTojAyXDCBaybDwdVRKzufo0UTg8HX12awjktN5rJQcOqDl9vNtJOeiw9Dz95549o6xhvQVAcTJakUBTuBfSwHrada9tb/WR99Wav8WKgKEDGc3A6vQLUUyIAtdlle55/xwPhsNEQbT9Plno0Dh+ixU6G6Uj8MohBVUUAVUr1Ykr4wXVXg3ZCHeJggUfAEgnjUxPRMEQhavwVpUIsDAxCEUs69iyFXtxL9Y7x4bywZBdAJTwIVNthqdHXk0CURvEsOQMjPJNOjQWK01lNhgTCuQMAVLVaRsS5ejQoxhrUNLxaAf3g8ONJ5GA9Op3Nu7bEuyt9sJ278a2aGCEiFCKZIY4jJDBPi54EhJMZtUBAkgS0ejuGk4LHNkTsRAUFgKiAFAoU9Lvxa7LOah5y98njvHL6PHc+qkh4AWk/JQIYxGAqNIVGmG6rxcmVOyh0uICFoi6uVKlnHESAPxExqIhofWYBXFUIdSmFSZHMS8+uuBeWTM8MJETCs4e7IXQ6BbEOUvcj/IaYCQAYNFE1ZfWcS/j4gEpsGIYCdbC6yup2NFCeMHxoO+gSpmMmfic+VkginI7QZDdSo0xd2sloJPBJfYhDjJ2MKKILgQQVUdYXVQErhJpiTIt4zZ0GqBKvpwDhGNvieBj3IapP7ylSn6jZUbXQtuHtg0msk7cAUx1X/eRhjg5aW7nwMwqIQgONal1o1MA3eTo6AIEiZwocKu4oBakAXnfaRMRETFQARVEKoSScVrwUJFMn3emFJQeU9uIsGUU9a5Gs9AmhhUtn7IkzjKs+HEVS9aYGkZKLl0gXZALIbLY0gT2oiLVPGgvQLJQdvbiPlALJEGXJgAvgdd/ryk8IuyKQg3cJCyXaikzY6PBT4c1cIECShodUpKiIC7TtcYVSkylx+ro30NVAXz0tpKhjWrQaunlwGIzHaogosg1UE5aK75Q16VJM6/dt1yrVkSum+FCzjPBJFX/GQ0w/F+e7vpWTUtyLFveS1b3CUw3rMVWhRHYB0hWFxcScpQCEU9y9ZC9JmLVkjuomEGUWeg7c3g6iwwlncSchKgxbUKAIVMnExArSxUlBwBg6D060ulyIAhbhOnIimKLmAI7ixkTP7gNdRMRLJlwO51YO7kTaorWtbs4swlEcwXZ22ynkwXcQqSJnEWo99hHJ6HQRIcNGm5MgKyRiZEM1clVLFgpr0hTm7KiWPPnC+tzSTL6alQhFRU0rCoFA4MVzISD0b9tB++HqniTsqYI3Tuigmqv8jZ8UaD1QJEth9uJFa6oNUxETiMUiQSF0uoq4efGAfKS4R8KXiwgFBimuSmopFJLiZIm18kpiTEcaLa6JVhepDnOp7h/NBauIHzINAFQE7VFdrcESTCeQp4nIyX3QooR6uA/PFV1oswWRKWS1sxuLVN1QxAMHABXWtT3Y3LSYqfmrg/lNL2n1xLYwWjFQC2YACsK9UCkmVuAQalBBDUlxwuDNffq3YJlAIKImXWeaVE2mf6CpljKOXn1wPUCANVqoAZz6ITBlaRMeF04xIEy4wUnWtF7CxEthHn00NSWSQKEWZAcIQFmEdKqqZLh7IZSAwV3pZODutsxOlOzu9DhwQXVU/yEWGItwVgeTBMXimYwQF1dhy8kF0/kJBAgRUYiIoeuCRNCadBAkkkimOFxdnDAKSea7a37HcO6cSE4YKX4TAYM5iT/WJbxrcCl2oL19TSYi5NQj08zNpweMd68+he0Z6DU9ivSzbTZBF4lViVdkDRb1KVXMNPVqnapq7G91JUlEE6SMY2ElZaqPVBUJR1Jxc4P70o6RHNzzAQ62f2yHnO4wcgqVnDZVTAWqUi21VARFqBgzlNmdFcOp0KV9olgeF6fnXNkzApEn1sdXiImTyJBI0+ozIEGKKFxId6ECNbYyDlq8oYiKKixyTzPVaZtq/BF1U4GpFrq5uWZ1lGkJJtx9QM3VnKaMpcGhOHCH9WtnNs5KqpRUSwknC2T8Vm2ggW65g7NaNGykU7BYEBc2KnCKuwzUzYN7JBkkiap0vaZOxYKMi9WsCQZUUweCJXsAnBr4ATFQReM0avvZBsBqEI9PLwFk2kdvD2L1kMeGRpI+nZc4I834wnlMx4JUCsPDBIKEBLQuTs/IxUumDxG8IEJxQZhR2wGRiJR3UJ4gPos74VrMixTJLKU6IVL04GPbOkglHUiIw929waaIBq5tzbSGxwCIEpbU+Ou7v+LxvEFduQshptQSAjIxsjANfppkeN1m8BOYCNK5PnejKRuurmYVnCNEfDKnwCFa6Tve+XaVANGaVE2lcngVSLP5LyghmsSqJwjiIL5PqcEft+x9si9tz9yiJqjtcGkLf5zOCRjropJUAgBpWG9sCyXyeYDuoEM9COmwMQpUnHTQhYU5e9lz3HkevbJyqtaJWHj8gxeQFHATTlUNZE4RlkISUiCwooJcPMeeVJaoHkRO7qAm0FOcD+K3kX4HJyMNqk7OYmL9p/9MBLjc4UGmgDSFPAIUJJPGQwaSJ8TJiCRBhzbwX/Pp8NNyeKG6rY10h3pggemTVmfFxnSHf5LAGWopDmLFB21bK0kcB05FGb5camUsPqeqQBXhQKQm9Xc5fqkfIp75QDZJC1iVaI/VCngS2LmFQqFoTSrEABC5FaHiEIhXjFzJ+iJeWEYvo3MoHjtiTkWkQlMVT4K3FBQHCrxUzywKJdxBE2Mj+xF1N5CN71a6izjdva4g2skHWaQ4WGr9IOw4vODkRpq3nYBkXRgBAtu3b4460LdiSvyAQlJ9cdYTJx6uHHe+OZaRFVhE7CkTTdpe0Oumw+mVn5rAqk8GVE2nOn2NhCcQIZTUFuEErGVQQOAUi/+EhcQpiX82DRpDKyfyrVjdQmu1RbYlbqgPIFkYEMSUpmqqokHUBd1Xj4IEt6NCDeY0tqRlCYXxv6CDWcBc3RWjRqWQrJLg5hoplMCCLyAle3YALPh3P4EYlEKKuIfXYXEiwJVCqAJh4Z1dC18oTji9lmwpgejRzPdb1ODhlzYX5O1AukL8AK/artYjnkqBe02sWgXvEJk4fYzqjeq78tt7xTD8AmhDpEF1BKCOj1WI9voQIKKWVTgAbTwHamlaNZyNqIiQ7pGftcDdauxBHLdlrxYSqUO8kTbQQZVGYrc3CrdPlBL2LQDFxEwsSUpaGb/IA0QKIAJTcUWBshQvZCEKEKWDIijACBYRIkAwNNgN+kgkQVeBKTQonFaaKU5KbHbA9aiq3k0PaqmD4oVgERJUFJTOLVXc6c7icNJLZAQgyVJr4dNnb1XRb5vRnYysFhsiSZLJowQffHBfyXPU6lq5XyEgXVTgIMv0utOCx5/933nvakMVq7qoHqpyld2ucaq6n3YQVFUiAa70GkTj/2qmBRX1ItQoa4ULUoUa1FC9V3sGL3ddXbXJWILADyLQcKotTsXjlcJS6A5ATLUL76giAJ1sdAwdXhwOOEsuZXS4sJWfAnaYwBRuGmU3ikStV00DfolBTUzFVMLBiKonlFJkQjg4WE/sTnC2qLAbXiDuKPSk4mKZkUiQQAEz6c4Cz2SJmDvFr9De/A3raTCpOocoTAXKVnFGHjBVWOpvyfOB4GJL7URqTUMl1iTediqv8W++d+xfC6biFc5FeKlv1wp6DLeiwkgAK/vcQptpuBcRE624nrU4KUF7VNQf1YaqQAJqgT1H+RGImlFlJWqeTNw5Le0PEaBImFhSNTEzTUmbs3YnqFRFAVDgGaW4Z5YxWC6Jn2USOrzQixDi7jWDS9Ak2okl7XvtOtEkmkyTmAogRWAUzXeWteW/E75VaRhZgFJLks4A8CJFXWtpkoUcPczaMz28Y/U6Ddz9/7EfRFwKtBZRIsyuQulpBe8YXDrAmIOCptpfbHYzSBDCSmmJtI92eK2JyWrO5bBD9f2r3VQ/pISC8EJWBBxbrqqqUI3wBCAKACqAIcgPqzhXBIiMP4h8gRcRkwAJ1XBFBaA2z6kiEEolmePBRVVM1WDhROHSbFtrMc1AEkooS/ikQnhNqkkxlSI0NVMRBzhqglMcgJIG1RoWUyepEzNVE438ERVEm6mqq6BIBaYQyp11lkrKimpLRSpmaUc+KO/szPARUegNnUXszGRDZBWN1BPPO4eqUmWRsd0BupGE38mvAaSIkmEnEUbi30noIetGY6PrC4apizaUdMDmFfsIWhYGb4q9lj2LViAUbiOXbEimKhAzU0UgawOEXpiLU6gKMTGDmiTTmmEKQkpVqUQNdBTuWjjVMbXKO+KFJUp4db2YTJNqMjMRd3qBO0uBlRpVIw03A1iY4hlpojQhGAsGESUi6SpuM2Fyd4ELRQgTVaiKdpJCK5k0mYrCAXgFnwGri0gBD9WbeuQEIlREcUmtosOoo6qpVKbXETKVzJwdBV7Amr7diezSXvng6irzVukBtm+SCpUqJq6IdiIckWpxsXIeAt7htkkQXitEBzMJHMMac4JtnEol8X1EK6W34xE/1hJ4qQjdIGQlCU00WQP3dHe41+pjDW1JLIlVdISQrhkbtSVQKkA3qhITIAuSSOP1o+xdF61KBZOmzrowSgedXrwUy6WIwERFQUAhhQBoSfs+KYvBi4IOptg+Le6aQbqYukshKC4KSaKmKYnFu2h9BgGk0J0oDnc4VaAmWkhF86JMiS7iouoEm5ZDxYA4EIH1tUhhLb9Xx1ODlzBimExhq6K/5n1QV7nCmIpUpe6ytjpe5GcHIhBAQqsHEbA7+99c17eUR3LIy8JVNQhRn8nrU1RSryLY6WcrKgkHFfmRCCNq5xK5fklRKwoDdgmiWWrOoiZiKlrTRm2R1lGhm9RavpLuocRoPKWpaoeU2gmIY6OSVPpZSp2qAqSHts+VBRnuCot6AkGvnrRLIm4q6hmlwOFCCwsWpVOhUuhKOkRNLAyoU0uqQIbDmR3M4OilFC8sxQM4mol3BxoEDTKTjaOJgF/lS/XvdPoIdxVkoCVfB5ZbHHfP+B3ip1qS4E4gqTCkfU1VnS2LI0VQGhGYaowKHWRIe1rQbcdUWryL2ra0okA9RLXAEbKx9ozfphkmmrj6HtXg7CVqy/H4xd2LG1U9JPIyafkC91Y/pvUgIHxIBVhQong7OM6JWFRVs+a9qgOTtj4iKsk0dUlVIy9jRd2RLQPuVdrXVkpEYGIdRBUm7u4Ud4oikVA6TDt3WpBFWrU7MKs6MnOBCekZdHd3z5llrGhXRTpTE7Aq86p4pllCpQrrRxVMFCaUpoAoFUWpglJ1SJzUNfDJT+BOcKr7frewGpUrQaC/Q7kj3lJrLohUmRcNV9C+uVk7pTottigIDQUnq6DoDl7+NjV1eDtMtZg4LqFcnihEbd8t7TRUZFh/Xtrq0QUkXSG12F8p78m4gwjlQcypIqrQJJrUEsxEtUIoIMqQ7Cx1KQko4tbKuVNN0evmSJO1VL+nsQ1aGd62U2LwJKpeE5DIQn3Sq0SikuEeztcRKtjCnFky3ammQU/EaQlRwMTKxDq6ky6kkFK8sLhDIDQRN0Ekfc1peVQmJvuIv0nzMzrZZlvRA1UmEFRj8ea3a1yIR2FiqzeL1oJ3BKJWzqpOC5PZi8CkMY8t758Ss+b2vpWMASGqqdXKWneTylmi4p4IapHYyIEtrvsmQHHAaaUExRgMb4XDYfz1jHnwuYrJGYfkWcXChkwVUCTR1bwv9LPl0kQ2ZR/0UtJ2NiqRSDJeLvhBJwVeY6tQnIxCdyeSpNtJzqRqOBAhWegiDGIrWl9KdqeKuJM5YxxZsufioAjcKeGkNaHrtOvUktYY4gzCgiRdS3HJUmDqxUWoUFPNbqZuZHGfRIh1K+vBq/UFkQAA3+JXMeHcGjrijcP3NOORaJxIbX0DeAhrRRda4p3dnfFOrBYGThWJSP8OPGOzM05mxAkUhUiooaKDo5JG/9Rqf8sBDkVAVm7SA5sTyZrISpoz0pbHgsVR+9dU7vhFaQVjE4OZqkKEXSen/aI3PV8dj57X43bne0tipqYaoMbQZe6JYmIKG8tYguKVmkio42Rx1KdeyPV+wz3Us4TEVkAXm7wHQHGhQBUlB8flmWVgKS3RRgi4ICqWpO+1m5t1GhkYSfc4JaGpFVUZhQDdSzBhsFppLq2m0NiVFhvYFq+l1nU9OXmeeuqr+Uw8QfsbhVHzTEH5JrNkqiLuYCYKKPBCF9Z8/o6MpoWaCShX+55k5CGAoB+eWQ710fp5agI1MaINHdbP2ooh8UklHAvgGYksUmXFd4Ag2V6WbHRVO2xAK8q2Y6XK1GmvlllmvT08Ov/g/J2TbrUXfrN+sd2vZ9YtpO+RBubU9YXjutw8WT7YjbutD5fDzcvbt8OYizuE79975/c//On9o7O/+uLnv3711d4vTbrgHquXpngRukeyVUm9Qi8oBaXQsxeP3g6SVFU1poS+k9RLl9SS6tS75ihOFo5DzZlJB5WFY3bXO/KMBqWnAIK2A9XnxyIz+lcglFrwkZbwiIBwhUGDF2UNHGHMkiyJmXS9pGBIXIK+LJkUaBYovMbgWjhsu4qapk8JV/w9FNPVDO7UTVifVbwSAPFtDUcdPC0dVUtVDTIIHxeIMMqXsEQ1EE1WHm9EkDWIh31NCpJ4MKWCEKeKJNUu6bLrj7rF9y++8zuPf/Dw7NHJkWq5Hfb74fLt+vJaNbnY8vTYrBsoq1k3lFwgm5JvhG93609ffPF2c/tPfvz3Pv7wo+zlwcmF/exfd5Yu97ebvM/RlcRWYyZCiu9Ody+FJXvU7cvIqJRSKh2nikpYUAO0qsJMQpaiztCclcIASZHNS+g5KfBwkn5QHbDFKG2HcvLi0sBVEL3VcTf3rajlBMoBtEvwakyzuaZOUhI1EVEwKjueB+SMMkoJ3VYBiwSbcCjKNWmbVPFFrBaUGnqDpkj7Fr721guMBnEOPjMAq7tpdWCcmNAQBETqn0HAHJpAa9J51oAoxiCEWplkEodWJUEggUDNydJ7J+98ePT0yPoZb/Ob57J+aey7ImcrNZM0W86XM9dTsdz1WltgS4EPrseb08Uup8XxPd3vZl36zvmj63d+9M3lSxmgIkmMwFhGzx7MXs5eSu0dy0MZh5KHkkfPoztZ0aGAhimCB9IOLj6Se0EYWVvwu7AgyJEgykuU56oYAlNqzPa68ZsfElLK9FoVo0zNZxCYiXsI5SsoJCTNl9L1yZJqQ67FJY8QcwwQUVoxrXVmltp5hMmcURUADUpLjSDV87B5nwhkcgfjT0kBJVyN0FHRnTtUUYNglGIBEWgU9UmjFJNCqns9l81GtS6tSsudALCKGQhQVHrTuXWns9Xf+eh3/ycf/u7D5XzZ7fLVV1/+1R/u1kO3OD69d//o6IhlTKszsZmnOfbPpQBl1Pkc3ZIEhtvlatbtxuHqs/V6sbj/btcv37t49+PH311//pd035RhPwxePOfIs8o4eGRbefRhV4ZdGXeetz7unaSoageCVDLVPuUGEgjYVF71mrJ5lWqgpeiVPGQ5uLoWm2TCqndym4YVWwyJ/0VnlDTmRarEuCVVEYwiRKd+oX0P69REYw9LboyOZgp0EECLQNWhFBNmYa4a+YlQvSNAuvuEd/FyhW4HVFtJ/Mo4VR5dQWXjEKr1VZsLh9p0dwqBV94mNBJAE2pOuVcD6JFJUkgUM5t39sMHH/zd93/rJ08+OrVs49t8/c3Xf/FvPv/0Zbc4evB0OV8u+qPzMuxZRh82nmllL/OZQ92Lb68wZOsTuiU3b5/9yb8a11cn3/vdi+///r3l/X/wvb8v/fH/5y/+xXazF5FxLOPo48g8ljx4zj4OzEPJA8bB897LSGaCpNIFHrKV1h0bi6NoOR+cRCmeM3JmLp5bc6MXLyPGsXh2z55zCGzrkRVWEYTonc1ATXrQ8iKdemIiKGoNmg1/tJS4siVIi5WlTlNKqgqAmePAqmt1tVRKgZfoQRGCKmACoZhsv8KP6imEd4hutpRtwt7he5upq7T41KgIOkBFs6FAoY0VF5KO2okWZAZdXAmXyKoa5+YCUIUIahhClFJOjo4/evJkNZ+/f/bo987ePXFdv/pmcdTlfP3mi1/+6R/+bHH24Fzl6PzB4t47abbSfsdhM26uobeymLsoFJKSQso4ulNv3uzffH395u36my/3unLtzj/4yb3u6D/64Mcy5v/nv/5/X22vBZpHlsxxZMnM2Uum1+2nx95MLccqyVRNUtL4Xy0PmqmqiUQ4A8WLl+wle9kzj54H9wE+etl72XsZPYQcldiRim9Um1/Rw6kUq1UB0xa37nif4L1qeh0Hu2WXANJskfpek1m4nwFuhZ60FKpBjaY5GmQnuxCJIhbE2/yE2OhWiL3jiRofJLWvZbLswCCqTfHV/NVBMnKgLqot1mw0Rk8Q7lSlFKEoQU8HelQbJqrUooDOpN2///2f/m/+vf/p+WyB/TBcvfzLv/rZ/Gj15Ojd29ubv/yTn19u0Z9wvlot7z3qj08EUJsXs7y+BJnJLiXdr4UqqZfjM243HEdu3376iy/H12/u41f33n0P47poNzz/9A9OTvm3/5P/6s/+v5thc1s2N2UX/RXTCQ40RZOuA6HuVEM3kzTXrtfUWeq0661Lap1aSzsFJhKd/SiO4u6ZefQy0Ef4WGeygJSomiU251W5pYA7IhVvKTT0VVGXtTq6pdI0qnaARTWMefR9R+Kb+pnMZ6amQvEMulBZxFVFlKF/Ct/PBikCmYuJA9I63uWOL2y6lUYpRKVcJ78IEbjF52nET1Mj1Uw/aHGtPrZm5V5VjlNsDJrYwsAptRoJOhBiHo3jpTyazf6zv/U7/6sf//T+7mXKXUqzq9s36+ubx2czlGG/2796eZm75R7L06ffPTm/kP3bMmz05IlK1+GYXpB0/+rTWT8zO6aqU8f1W8m744uL4wdn/8NfvN7bzXf2O7WEcZ/zgOtv/uN3f/t3js5fb17/9fXrf/anf/js+jo2LrPQkSgQUaP20NFLgRltpv3MZjPre+37zpJax6i9EK23DqiCwSAKI82MNn+FKDVJcoU6XEWnEECIqqKGpamUhlBWiVir88hkQKoCUa0Eb5CX4TA1EAdT36WuMzMDpZCemE3FKEpTHYUQqIKGWtFpUEyUKvCC4PIx0TeAaLOtmioetMwxLIcaxIxCpGqXJmZABJOZtjjYQFP4LQiaZIyAiBPqtQlAPdhCqIipWhJL7Dv9/pMH/+H7H6yunu87s7OHb968/qu//Pn65ub6+fbh/dP9ftgX2HIF7W6vbp///A/vXaykDFa8O38HIiLl9tlnHNf9o/d2Lz7vTh5xdi9vb7l7Y6dnv/Pv/fjnP3/97OXN1bMXTz/eU6SMw/b1M4C8GU/z8KPj07+4d/F6e1vKdJrpCYlCd3fkopHyq2nXS9dr16WUVJOwZQfuhEv1qA2zVLGxQkwtMTnQR8+hWtRmOS0pAZlsJQwoCjcMAXEU9lWTCkQbnBS1Oj6JiFqzI5ybEMLUdWIS8hKhQQVmauam6uqmYkncBSpIcK/wiYAW0lgmn+nwRmshWq6iubLKqSe/LXWUV8gqtPVKNCdZ2SRIlNwj7GpbsgqeJtfWaKCakgolwUySwpKlFNItzHr7yYNH8vzFJ2+evfODH3Tj8PbF89s3l9sipw8fH50sf/mzvz578PQ7Hzw2993VVb7/dJs5t/n+60/Ozt6B2v5m8/qzXz/88IPN2+ebm116+eL0o99bnD0cr8dhu54vZvfP06u10nXYrIEt87DfbL18fXO18/1+8eDh33rw5NOrV2/W2/C7KYVrBWlOlnLAB2rSJUvJYoOrqLL9OwvYlkoV1gmpUmDG0hUJnVrnJZPUhh+crZUp6HizENFJgzYCRXRzq8ZQNa1oWy2UWJHbRvWNYIVNRKrqWGrESDMxq/GrRkiV1IkamlsQUOiVQhWjl2C1IDERzavT0UifGuvY4i5Q+a47RQxWsqZF2oiajbGsqWw1mSkstsguEgU/ZUpiSTRJlzSZph5dUjP58OLiw+XRb372ycPz5VDk6s3Vfr0T+nJ1/O73fzw/X7z46tnTd56++8G7r19c/ot/9Uf+x7/4R//wh++/cy5ZUIjiu/Vud/XG+eHt0D97O9zr/FRNjk5ni+X22c+Jm6ePjl999mqmxbrF/va1b96qpW6+kuvt1atXD3p958mHF6ujdR6LM3ldljY3jfXctJxDVDSJqZqFaq9+m4fHdTopKpash1hyz+KOnEXMmVwyrBx4lUMCRyD0RqoWDUzN+VcSKsVUiaZUQ+MnRaUddXcNJBrQP1W+n610WgtGqgnm6HuIII8SGlxrKaAXUXfNUhLpFvOxSPESdL24I3RroR41EVGG+ikerIpBm0ngIMFjbSCqoEgbmyyHXL6FwmqRJimJmCSDmVinfWfzTq3T1EmX5IfvPDydzV4b9kN5+fzN+x+8szo5fvH6enV/trq4f3V1dfXqUsT+xZdv/1//5ouvr8sH85vf/Vvfu7jdnJ4/8ixeROjz5fzt69ef/ub551+8TWePf9y//OHHq+XpmS7ubV5/bibnFyfHD5+IdZbmgqI+CP3k0aP9zQ0hPzy9+DtPv/f15t9qpTUbTSHVtU5b7FMZuGnwY5ejPlRK+6NK16mpevGSvDhldFHRTkuW6LQJ3KE1g4kajqhp+wME1h4GUgOZSjMdbcP5FIKKOlDxZpxxQXKXSbFcmSuKQExFeqtHIZXslXGqlT6KuXtmKc6CEmrIIl40hp5oCVa5NkCF/rdW461yfNo6tmq9jwBrjtoobILioDhj2MUhW5OWRySxTpKpdWomarAuOu1t1uuss9Tpjl6WM+27q9tt7taPn8rPf/nls7fbd49HiH352ddfPr/89IZ/8mX+1fW+QNkdbUe5vd4//ugpRZFm87OHi5N724zrnf75l+v/7l/+2eK//sv//D/86T/9T/7gZJmvXl9u93l57/zk6Qei5oXjCOt66xNs/u5Pf3vMmmbzv//+9//tq8++uH6jqq0eXQ+56MTOAIg6okTt3evqRHcsCaeIFtABU01ggRRooWpKKZSc7kUgrH3fIpDo4hVt8Usl0i9BcLNhpzqJJOoeieiEohShLQ+YwqAXUzTCiQnZ5i+JmIUmlGJqCdZLVyZYKxChu1NzIXMoiB2V/RQv8CxeSDEBQgsspmYxv6KNCG0p/aFW4weyM05jFZhC4ITDvTZ76JQJJmjUYTpNvXSm1iElS512ybqZdr0t590t92+5e3V1dX9+8s2Ly7dXf9wpV8sFNJWrV7/82W9+/mL7Wz9+9H/4z75/lRd/+Oc/0/Xbr3/5i59+9z/oz+4zO9S6s/uYnb/97NNn31zv0sX3HqbzR091dvLVF8++fP0zv/x6HPL5ux92iyUJER13A6hOhZijo7ibfrV+3fXazVJNFsLTNzMCWvIgAK22KpN1VgwZTkVrr2A05sfXRV3c4U4WbxVlANDonzOVmDwgIiJWwXIgSkTZu21sI2C1cVNNb4OwaKFUrW0FvCm2zWMMTys4mBkghTSld2aHLrD6qu7uBDNLtLEVL+4eyoSsLF5KYH7YhParfEwqPKvxt/ZuTtWOCpxb8cGDanMgVNJVJIVoCTKVlCT1lnrteklmXSd9p6mzLli4Tlx4XTaf3b6arbr9UP7q11//4HsfrmYGTcXll3/xF//D//DH3WqlivvH8ge/97d/8P69T/7ij05OF8dnR3mz1m4uZjo/mj/+aPtXv3znhOdnp2cn9777k58+fv87m9vXv3z2p08/eCovN/3FY7F52d4Akubz7c0Wg8+Xc2bm3c0O97/YX78cbvqZiQJa295qONeo0wUEbCCvCsfQWntBhoSRXhhMGEIv6Sj06c8BBAS1pcus9t4FBWRa3RIFKuIUnzxQU25YoOJq0pFhVRwvEkKJoFWQIHDS7qQ2GuU4UcIJ7RURLYMbCK1AlOei5kJHyZ5LcZ/mTrIUKoODEWj1nEFZhX8JQoJkdm/vTUDj+JTqkGKecswMVBCM8cqEkGpiptaJmXad9L1ap32nXbJkksyiAUhNoP46Xz1+sHj966uu0y+ev3pwfpz6br3d/eGf/fLTZ5cXD4/3afbzF1eLLz67ePe9LjH5Oudxe/1mfnrR9T13t8uj0/uPHjx5tOsffnd+dHJ0/9193r998cUP/t7f78qrX3zxl0d7HzbXAlEf0uKobLdpfuq6yOP1MKwv99uXZdstNHiXMJoGfgJjYPp/0KelbrUxVl02lR7eqG4BKh/GBgAawqonHqoKZVJFG4ujGlKZSPDgMSKuWYtM3WOQiYI5BFhWEYVAXZhiQkYUyCPQKSBqcBea1JZKNJhX3RliaGv047q4eymas9OZC0vxWgdVEYEpoGKBnVXjwSI6u6CrLUuHTtsA5O6kqxcUb+CH8BhbXvtgkEIaZtp1Yp2kpH2nXVBAiaa1/YriNxi70/7+B8ePSzfs8NMffPDFJ1989uIy6VE3X4yQk4uzX37zcjn/9U8Wp7e32/uny93NuhTTxQUwKApU773/g+2rLx5+/yfsjvfry69//ScnJ2cnj55efvLs6u317dUvfvDxe+JFfDh98BiLs+u3V7rdXb74Jtvw5e2zbzbP+1kQuypaGz5a0KiuKDBm26iJnK1kYWn9yTEkrrR1CVckMUmBYB3VxAbQmwIfohrUMxq32JK1iulbLjz9qtN326DqRpq0TgxJQTnKVGGgiNWOXBOKsoqX7fAJg5Wiw50p/Gsxdy3hezx+D9DdFNCtF/XA87QKRg2oNXmvaWWde0x4YQ5ZeyxmQSmcTpiaVjfTSWfBHKqFQN7if1AjFUX8qsvdo/kP+vO/+8F3T5dmNy9+9enmtaqabAZP8w6W3l5vfvOLX6javdNZf/JwdnJ/e3tT7GZ5fCbWLe49YhlVBQlvv/izs9Ojhx993/c32bF+e/3w0Xzc3mLclf16IXZ++ljI69evr9dvrx8eferXo+y63sSiYmliwWNV2ksQYh7hYbOm7L4Wcqxl/+FlukCziFEArMqMEEUhVOuNemsbF/+p5aDJVOo0FuHhvSd5ThNUTVWq8E4NdaSIiFOPCKfpOSKdyqRf1iiQNLF3HJDJl5YS4qZo7PUK6CIMtyFfCcLWUCFSS+RSnejEMdXPEcPWSYYHCrWnxIiXGufjxWGmFjcZqJiKdRLND6Eu0KBcTUXUiTc63P/e956cnW2++dWR7Dfr9bAvpfjlfr9Z36xWy21Gmq++9/0PM/X5zWb39W+++vSTs4X/8Afvn9x/2B/dX91/D4Vl/WJu+fjicSkDyh6Q7WY8f/iAecg3bwDur19pN18e3/vy05/fXqx+tig3kmeLntEyoJgCWO3Rk1pvZ2XrK7lS1aO1bQmsor7JO7UgBxycR7U8BxNq1nsAr9pIWx7yvir8i0Kp13GcDfWSdUJytWevcY/ipBAJFp1LoqZxIihQZQQdkTbJYKpkibQpk/A2TaI43cUK6SxFKrgLrUnzKoesFdA6mm7yiPXpmoVXwMbCYrSYqaBtejJZCeio9gnqiAJVEUYTllltC4oui7tFH1O++fSXr3/5809+/fz6dld6AbDdlZubzdHySNP80XtPP72Zl7KY2T1Z+bu/9eNf/OZX8x1+nK/cj2BH+82tYnP+5P00X+13m7y5Wl+99SIn5+ezDhko2cfLN8PA1bsn5dHFJ/bqjd8kSb2kdlOD1T722rxfM53w1zIB2kYA1dNWnTVa4RqoVz8wkm2wGoPGErEZYtMaSyXvDynfAdzUwc2gVSYl3kop4Zlafqh3WBchmEQ0riDRyl9H9i5VKKmVC5iov5pHgXR6IY0etWGXYqBDQndG2PSB0SaDR8+7MNySTGKi1jmEJvpgTOBhQ0gTOIoHr6Z8t/lLYt5FGzukrS7YMEYIA1RfvHlx8vUOw7gwdEBxZmcpZb3Zd6mfW/7jX7w8vv/w43dOTk9PTZMe3zt59J1/8xf/5gcf5EXZ7Xb7sntNv12dP1JNUnYvv/z887/++TiW45OT+fJod/lmd329vbqy2cZPH39ywtfbfTQtQhLhgsguWC06nHA9Ztpmt0rNk4OSr8CVuBPC4u/Whg+GR7pjEmxHLFgzaCPtp68F791gjmrVv7akuJ7/huOrkkClxsx67lP098MkepGojUrXWi2v6rTWh1OHAUBdqep00lCcdA8zUhVaXO/S8HvLFqpDmEoQDco1WuiOhrB9gMZPkxHeNCatsfZkarBfYUPxq34lSoM1GMdPQkTkmey+d3F+cX7aH7388fbLP3l2O4zFdFyvt+998A5H/dWXX379b3/1f33z6n//T/7B25vNf/Gv/vR/95/+p9rNd93FWT/ur74p26vzJ0/m5w+t6zavX968eUNJz67HfrHUfmbdrFBstpQ0u9xvv9a3YkjS1YeBEtK6pMCqnAgDkukh28bf1bVKO/cNlAAt0uFOttScByff3tiBxvlLQKAp8mEyS8PExLX8Lv5FJ5IZGt0xKcYGi6TUqyXVpGaoRdoKtMRazyjkbuUpDJsW5DZBIMUwGnd45PYRsqI5JUKSAgFTtB6zw/GrHjXic+13rkDZq+ckW0tRXZvAEdGmN4UnbfatESYj0QipiGhs16uZfKnDw/3ZxYcXP9jP/+SbP02dny5lde/4enszl5Nvrm/+/JNvfv75N+fnR303+8NffDbT//rHv/Vb/+AP/rEcEy++zMM2LVYvnr/41c9/9uFPfu/Be9/dXr4eO7u+3MxXp7Z8cPRwsfNOLL1auCdKFBzbg06kXYvCcvf3cBZR6G6RvcIPiTwdkDqA6pCoHfpdcPghVkF5jB9u0KjabsWULYAFPSAyjfFgu95kOs0icXYV5s3ZCZC6RUopSBppw90iGjdHW4MAwg03t9KSN8YZd7gUD01ZzPNpxdBgeEIzEBSnHhK6ygqh5YCoQtxoAGtFDSHhAmvuNT5/C6loKUVDWW1f7pRiW9yDiNnPV+XM1t9hOr84uf/O8ebFtu/t6Hy12Q42w/z4nvfr957qH/3yy9Vi8R//o390udlx1s/mSyz71cMP8rh/9c03X7zZ/F/+7//V//Y/X/2j//n/8l/9d//92sfbm+vuZXKa9ufjzc3uTH4xvya1QycHpzOtiWJaRmg7lpPb/lYqPdEy05x/nfxP7EHLQ1pDikxmIVU3H5ChWps37Ol3FlpaBUXqmZuiwMHkADC4aIkuNUmzRVKTCjaltSIKYFDIhO+mHW/u8NBtIQDESNHWUSxtR6dPWRdiyjzQzmSLzE0eFEE3VuzQgVYTOrTwf8gy68kNcZNTovbG6cQiJBOVI4viwaD2R3O8tnxx/+FFfv+r//ZtHvN+u+m71ez4/MnZ2XcuN3/0x18Pw/Di7eX1ZnfveNl9eLoZpaSTtDxb3XvENDuT9Y9++FHi9vby9a9f5c9vy598/vwfLLr9Znv88NH6cffni5u3HAxmzR6mtauPzjAdbd1RdaHvGM+ErWvCxcOMJ5GDgwh78UO7cl3zCQ1o+3vkNjK9x0HGx5oTezj7CqHYIEZNxlB7syK8CEXSbNapShvKDjY1fpRRvLrQoHLCvEIU6Q0DNzsOU/a7UQ91/w7LFx6CNVJGFNLJAzVe7VuLeGijngiIu+dSADZt/rTghx2QmBAtFbKGEzQtKl+k8cvN683NuJwfP7ter7d+7+E79x6/o8P8Rz+cL+ZHv/jVb16+fn10fPLeOw/eff/9bjaTfq4X78NdnF//5W9+9P3v5Ktnf/Yv/8tdKbcD/m///E/WO/zD3//+Z5v1pw/TZcrKjkDt02t5MO94yrat/05j8TT76s7aVQNy3PmlnFYXdWZCC/mxYFNtEY2b1AkexG+iIGMKdevtmCjw+j2MBDiu7xGthtveNvVdF3s5MQTtc2ncvFIHLMXnkan5ZzpXQAz2CpX14US01bEK8+pMLWn0aK0St/bH4Ad06ko/WEnDPwefx4msurM6TVZzN7jXpLn9yepbi5qZqHIckWGauv7kemNv376+/+SpmN+7uLi4eEjYk4cP+y6dn58dn12klNa3b3W4gXZXb1786qv1j7/3wad/9q9f/sUffvr1TbL51dXuv/jnf/j5s5c/+tGTi/c+vJp34uUwU6521dTTrNNxqElXLVq2UBefIE0gmgAO00SlQehI3w+zC+u8NjQvE0s3gW6ZKB9OKwlIm/40VS2mOwrq6O/wQ81o2qoDIFOKyUqTw6g9ILGLqa5/RSt6MIM7cbpFHjTGQqbLhe46kpq8BS9Ur1wVSGiMwrjrdYN39vyuOU0Rf5KaNSvh4US1CFd/r464fp7asBIWpJJkVqQXiiyPluN2c3093w57E7x4/nq9zhj3V2/ePH54f97Z6dnFbrdXMQxlVoY/+6vPFg8/nJcvX13v//Q315893w7enS7nyzQm7j96/xF11rGMZrHV3vyvymQNNfgr2+zbCb3FX+qpYVs8mQxGwh7v3ODUUvkpbH/LH4dqhtOUX0LBgqYerYNU6zdW9VU1vClITgnh1KVY1z91ydCyolr3kIqoJljXzGvadVb02z5ayyAYQ9gAnfxwK1JUr9P2EA3pNvw4YaM7iztJCeL8xTFoUXYyFU4VxIYOpGX9bDhjwnYiQWSF8m7ZwzSXApb5bLXf7p4/++bo9OjZp7/687/+5rNnl9v9sFouPnzysPP96+8//fjjjy4e3f/ZL776179e/5O/e+83f/EJL1/cOz35/NkuD2U2G5/eP/74u+98+M7T3TjeuHy9whgD+VuQOuQ97VFb+/a07RX91X7b2Be2s8TJ17QFASTypYZ47rxLPV2xStGLixDIRFNFW07U5RO09K66g0MAlDuvKnWtARBJUyfTo9d8F9E0JBCBMkZZV1ti5Smk4bJmQTjg/xbtATZRQP1O4YSUa67X2KW/4a6kfvg7ZzKemPXB6l3SHjN66qG48xOHXZE62iGcm4jARFSTcJDxesjZVbTkcbdef/aLTzfU2e2q280/Ons6lvFmv8NV/uJ//Pl3ffnff/WHv3z17MXL4Xd+8MHrv/pXX3/+zQfvPuwv928uV598s1kl/9H757/12x/P5vNzm+vGd/vtiwUhd6Rw1XqmyBR9JvXg+sGG6l5MSx5xm4efDUJa2tE57C7rNV3xQnftNiByIObpD9U7tUOriL5juWvqQINxrMha6s07IimpSZOWSjsW0lLrtgNgi8BouKU6HjbpUY18zeE0U8XkX6oZHVy1VThVD+idNa7PUj0X0Joi73weHGYEtMqHtFs+MD07q/WwedL4WEEmWCmjdpjPunEY4KXvzHTY38z+7of/wY+e7PpOqbBZ+r0ffvzx97/3zk9+8n/8P/+f/tm//G//3k9//F56+euf/Wrem6hx3D26WA774f0HJ//+H/z00YMT8aIpPZwdvTfyqttuE5vpNwMIX1JnMAmq868wVu4iWU6IsvqJ6WTyjmXccQ8VDqJ6lbp306o1kkcq1dSo5/qNd6CBQNqE+mYaDVY15ltApFRvyb5zYhtQ1sqwTNPep1xzMiDE7cRo0Ufu7l79q9b3llq/iwwwemglHlvlYBuT8R9Ac1iqVNryoFoEmoAo1kDbmlcrPdijtvpH/eQiIipplo4vjvb31usrOTo/kSTbYXPfun/6v/iPHt972CW1o6US88Ui4sjrq9f3T+bfO7u+t1zc/+lHP/npjxar+Se//vLkr3/5k/cffve9848+enc9DPPZbH5yz3N5clU+H3db8ylKxdM17hh3PrHUlTkcPralCLsJDd70Q9Pk07bgkxeqMB0yyfQrGpqQ8+G967tCDp3Ad0JIzHrxybqjtOISSx0nN6larO30chBUuX61odhnnTyrHPzJFPtsSt4nO2sv2NiAWtIU1Lg2eaa2LrFavJvETeZYpTICqXbCmtNWBb4ckF0LrwdOKjzRXVSOOCDuqwfL3YtZr8nmNrirpby/0W5/7/sf+naLsfh+KNktpRcvX+ye//X/+vef/ujdHpa/++OPj++fn56fr+6/++jpOydLHV7+YndzNT9/Ol/O0rwDZg/zycOrq9d9GW16ojvGf/djy53rDA9IINxwFY5Xp8CGk6cBcs0ntba8CQ6xLcvB8U0LcEDnZG0wrxT/IYKwmWp72vBd9QbKMIqYXlxlaqJRv7Y2wdCgoqGH1Cg2Sas4tW4PiY40iEBD6BaepfY+olJ7UjUVoa5Ae8s4ZO2JJ6P8lktszniaE8oWpKfPPaUhk+r7ECoQ98R4DeEtRNSep+Wjk/lRb+Zlt93dXN+8frvfb//lv/5vOBbt59L10nVqCbPZn/z83/7T/9kf/NN//HeSjRcffDx/8NE+6+bmdtbx/Q+/s7AyDjtbnadurgpJKp32s/TE0/FQH1QOKJhTg2QMiLjjLCOvd2gcGNZ8RAhlBXRTIbBRAc0wDuSAghqD7Jqg5oAAAgPWeI4JrtTT3U51M+dmuNVg7v6Ty+GV24u0XWw/g9oCEhloRcQtcWpWXXv3CRe0jKh64Ci5ERL9zpXjxCEwS61+tEJPOx7TTb6tBN8sKe6TbLjnAEjRYPx0dO58efrlk7kKxWaaTmbn33t8cnECz9vraxRfLlefPv/ZP/9v/h+3t1e+6GHihq+//sVste9s/ckv/vg7P/j4e7/9D59+//cuPvwdWz4YB99fv7x5/cyOHmJ+TzWV7TqvbzjsVPVM5HxgwpR/VCdNYR2ILwf/UVNhjQvQqFWlWbvoq4689khNl8hUO5pwUzDAd8yC9aTWdXBUCBmpHusbIJLbKAnEw3ACryotP4ajmma94DwdonN19IcIcigaR3myVZx4J5qiMvG8UyR01jTU0cAwJDyESzuNCN56Cjd38hTiAITufNHrMagu/A5kYnvY9gR38fYdEhLteMQRN5HUnc70ng8XV8NXa0Pu50vp5+Tm3/76n/35b/7LuR3pvshi8d53PzxeLV588RdP7h0/evf9k/MzyeuuT7Y82r+93l692G2vVk9+bN1s3K/nvW5ffjU7PnPHwtLDDZ45c3hba8kVpiMRdhC/E5Hzt4cVQT2VFTzgbuQTnaRT9euBZSqgCbQZnlel0vXTd0//qRt+WEBOBaODDxcFXMFWR20v74n1fslKujUYM1FT01vp5DYmbFb3iU06wDqyoYXv9hKsD1Fx9gRHgsxpjqQeRjnIq6ajWV/ukO/XalvL03gnCB7wY9slQdPWtCJKfW2C+6tbH8bu+PT03kPD1W6XBdjcXu03b0SGUob5rDs5Pt7ffDZe3fzDv/OTj3704+Oz81mXdjevrJ/5uPa83a2v2C2Zlj5ub599dvzeIxWuX34ts9mY5QL9USn7rpFzFbzI4Qy0Sh/BwBOO6ZRELSAOvbLOfL4TaEhnQSVwNRQQER0OVY746FoVjoXNaKYzdSDxw46FUi+uxCEquREeX1fG5UUOSUDUrwIfeAurUgNTfd0JeN3lDGIZ2lXhYGUHmpdqPiteTie7b5F3SiWbf5+8yJ3ToYcUpS5xQ+tsn64uAZrbZDt59cHvOLNaSDk4Vh9vbr/5o092L3Fycnp6f1G+fi50LbK53txc3Yp1pyddP/rt7ec/fPfip7/3dxf337eUOKzL7Us/Oh+vvhkuv9ncXs9On5hgvPqmT769uUTZj7vNfHWmHJZiF9TXOk7YnrXtvy2OTlTVwYs21EQB6l0NoLS7JO843KhMT9ZCacl4i+Z1hle8uIcTZLufoK1LNbJaK6WIWFUBtp1syW2wJ6F21JDN8m4xprqfSRh9N02SlmdShXfsC3cdsh6+2FxGi/0HtNJcHaTalrTHYGNG0ea033H40gpKd4y6JmcHt49ph+p7egtiEwrxumWCtFQv2+tn16v53IfdsF6bJet6y34062+3A0rhMLz/8OyHP/zw6OJcZr3k/e7663z7SsDtzevLl88ur3fz8e3RapWvvlye3R+2N2Mueci9k2UwL6c+M+RG6jVo0DJ1aT728CmAgy0B1mYoTbbRIn/NSWuwiyEJbRiOtDIiWw7KaQtV2Cr78cptxn9bWpIajHWl0cBadIk9aRe+o2IgBgg+5LqNs2nuIiIIm32w0YqTnU2fOjxoNfiq75ks6VvLc4gvaPFzsjmg8ejV/CaXx/Y9E8s2nZ/26aZXPuyEtNCI2k8nEpNQZ70kLeO4u7nOm8v97W3fzz3nPnX7cTQC+z16++ijjx89fJCvnqVxl4f9ePVMBG9fPfvqk2df/OqLR48fHmspw/royUe+fcPxhkPevX19s5z181VaLd61+at9/nqWS0jLOY30dalKdDTVVpzD2r1LYoLS8UEUKIEWKjomgHr1gFTzoEyligmxgqxxJ6r0dhdP3b3+YDrLEuMxIv8JAVA99i4eMIuCVE+CtEcWxFMKSZVWRZq0h5gKxpNfQoXYOGhHm4edup5Qh0Xdmb/XINJdezq4GqCOh2jbj2qArFYUrrmd30pyoREb7dWiuQgVuFZXV5uLJIaEyPrNZtxn0yQp9Urm0QxKLeN4NJsleq+8d+98sZrvnv1KusV+d1vGcRjLX/7sy88/ezlHOT46vnh8MV+tVhdP9jdzTfP9N78e896Wp7N775Rx3wNH2Jm4QxSOym8AYsREM0pbY5mu7FS15rvjci+GniviVoMXddkaB6SCEhqMyvzVuxqEGtOSI/0D2rjcsLEmypnWm/UPpBB1AFMg8vpeQjDJRGFFwtbiCQRa7yU6WFZNP6WahgYb39xLc05tJ2MOX2UAqlHFpoOUCXBLQ3n16DUatU7GgUwM4p17Nikw1J6YKQSExTSanAw/yVrfk0P+HrYMCSg1cD5fzOb9bgA9W5J5Ny8lLzs7WyZzf+fhPW5v8lqvdy/HYXd7e5Mz7ejii8+eD5vtxz/58Pz8+PTB08X9R2W7Xiz6Pp2zPJbzh+n4gS8e7MdXnYjP9lkGrXYvrQ5Foda9EtZrXdsiSqWL2nQkRjos7TrGFtaak23244x5rjFvR+LWwdg4egxtctxJt11arzka+xLvwvCBQedQyoSoiOBsQE3SuJ0WiaqrmlT8IfCrp/1QtPF6ZXtzDXJAzgfsfXdywMG2D/VVNJJGCBjExQ/Fhin2SHNVEgWNmtJVjrmZ0OTzgpAVqVqWOpztcATCpEUh3DsGrFZHZb42xdHxCk8ewIsU2pCPVnpvIR9+8J13P3xvvHrz6rM3Scf17RX6ma3Omc5OTk8ffPTBj37nR0ereUom+xvre+iylAEnT7YvX8zSMRz79W0et3pKOQrvqBPSnC5Da6tbY3ALA5FPVaQ0zU9vkwej0ekuLAjgED3paAHxjolN+2O1NyEsLmBT7YX3CBbUWrttp7ZyCtOxrwArSdVUcsIvYQ5xY7GoIqqejYevh3siA6aRnu3n4pl5qNdPhjyVMu6keofThoha1R2Btb2iuco7MOAQ2EBStBUkD69bhQEx5OwQHe/YsYiY+hY3P38zt6U9nOdhXJ0+fHT+6OrFF5vLaxf2M/ng6flPf+v7xPjl11evb24fPD7vjk5vdlCcLNPsR7/90ydPHp2dzjsDOPruhiVn63e6/PzrL8qAd88e5O3t0WpVbre+XcuRTg8Qz6Cty+ROjlmPXnOp7TNNNczGekh0w8uEFYlD2TO+VVXoXrShIBwCXoORDWFLK067QmpLKzx8COnq6iEwqVeKN/QpSesELGE764HGkrRu9XiN+uwtiRcRcBoDEhON20kKuIN2pLRClMMOc4p7OOSZh1WoaOVOToAm6DvkgtNPNFc8GVWDZHWXIobXygfbxoUTWoia7K/Ww3ak+2J5xDTrj06vrjaZeQ9dnRx/9dWXCeXNzfarz5/vx/35g3s3G1ycr+7de/jw0aNZ775+PW5uLPUyW2TtN4NfX18vzJ/+1u+szu7vkY0LSfdPthDfBJnTmItYTK35gNTiJQ+LUyPDnTTlwGNMHw6YymP16IaHRh33UR241HqrEFKvjxNBzbe1zVsOQBHVRjmso8IgMYkOCIdVTS7FgBrEfVNAyyQJsKWKd4jJSY9Q7SGAXiuGhR2265FdAitNAexw9JpdxjGQ1l4ZHcwHRD4ZljV3XuriR5LhOHzLnQxtstJ6dBtnckD/bYyBy2y2PD453ureTIfd7na9Wxwvzs/OXu9ebvf8809frNTffXRvux+3u/z27ebs/PzegwcPH148ePiw7w15Exca0b0M4/XN7W6U8/uPn77zrh1foOv7xULLpmB4sJ0db28vV1LnM7eo4VNsmXx60DR1SZshVQuJcmY7exVPRH0mGq9Cl34ADHdK0wFMqkF8S5/aVC+Rak/HvVVcYQeNKQoPLWPVAwGEqANxM3g1+wZOGXQAQbp7OyeswCusR2rCJJRJrBD+efIgmLDOlJVPPqR6LFaNQKON7gSlA2qq3rBhoslSpNlmhentwB3MC5A7I1VUVWXRdRcr6+3k7HTcD+vN5ma962aLk5Nz7Ibbq5s3bzYf/vBxyX779mq17J8+PU/JVnPrh+dle+zp3nj5Ujno/Gikv339ersbH3zw4+P7j1TBbsnUoz9K8z2Ao1n5wcvLX/r+ctXJoYBQXXm18G9VdHCX7T+sltQA0JrDmudovulOvK+Nz5hinzQEQERxI74eYKXxxA0dwHkIVrG0JGM0VPHadydxg2gourx1xDRjCSdTmQW2MUcqcRWoUqTe5ijVDA8fRxrUuBPHBbjjMv7GXxpOUcZHavDyLs2kbMwWGzY/rDlbvhfGc1e626DF5DVFRLTrpEsrh61fPx+zZmC1nJ/OdQaULi3Pj+cYjub929dvkAdkPzo/vX//Pjnm9eu8f1oWx6WMjuz77avXL5FO3/3h315ePKF6TSjd4SNEtJtpP/vOvfcXL379M8/Pj7Vh5m8ZR/y1MuzNeP7mr4m1jqllsVKOuM9t4gLQbGmK/noHgegh9tX0ziEHLmoqDflBgdU8ZJ1TVBxCkSQwVSlepHoGB2IOqNd8SVBraAxddqnTeWqWL9GDGG/s4tIaYQWg3OEbD9HmDh6q9QyJj1svwTi4nTuAmXdsDK0S1l6HzW/d2Qo0v3t3K5pdi5oa3Pwqz/rl1X6zG5DmR/fPj45slPXVvuzeeefxWe+Gcn11K2YPLk5hi/PH969ePM/Zu+UxfchQyOz66rbI4v0f/u3F44847jDc0BIEGAfuN8g7aEdLi/OTd3yX3n5FL8+PTcB68xVdDwCl+qHKkxxO2d8wtKlSGvXUJg9iwxlsZEGlG5uxstWlD54JzSPGDReh0gOImGVIaW3zdYBevZhYhEhtQ6WJ3GryRh7+Fq9WZz4FRHaXoqqeHE2CHz5IY7q1xPWxUV2pjqKGHUFDyYdqCJst1c961zM1M5Ep/RB+W5BX07dqS1Uc0pRpk/XUsFhb/lXNytqxRUpmi0Vv+f6Ds9OjRdq8nXUlnR0drRbHM8/DPiV5/NF35rOZgjE8RmcnajNJkk6e7Hfr/nj1+P2PF/ffhReMG6SEMsIzegsayz0LJCMtHzw+vnn70YvXt6m/masirEfiTibc8acOVAWM2ISNDgewYR2iXg4oceJDYiWYME7tHpv6DuOKlHbZCCA6FbTD7Dwuoa53OjUxDb36IncylxLXm4FILSNvTlNCAt7e3sVZCgsAQSmlFo6LQNy1MG6qiEtlq8y/1Z5Up9XgFHWCYDed5APSPA08Ev/DxMdYp2ZjB58UN74cAGf9pzvcwIFzaBCgRf+4x61C/3EzWMZs3i+Pjob9rtNhvL7Nt1fL8/OlzTjusVpuLt/uh0ztHrzzyDiUkpdn59Kdp9WJzpfc7zL6iw8/tOWSdLDAEjwjb1EG6Y5EzT1nhwo97/T+o8WDq9P1zcdX+GPznMQgUWEiABSn4zAAhbGud0pkcqh3BEiJg+1F2hSPQBNVHi4gUdo4pbogbA7hTq26wvMwTkeOO8tjdnM9/F4YwwvzmDNQ1aqpjtVVjfJJfYxwp2F+Tdol0JioqVTAVdyFozqLqkARN92y9TnF3duKIM/b8wEB/zya8FtFXQFonQAxYbb6i4CiqaZ4iPABdWRKVarjRly/PpURQYrWEjIcSBITh1VEd5A8dPPlfLHYrrfPX1ydd/n7j07uXzwYxzyzcXt7eXN1nQx5t33z6tXMPHs5ubhIs0WxbthuJc2PH93XfsYoBc0WWBxh9xbr583HS8mDQJPJsN+MY1k+fHd/cz3bXl7t8l/PxzYOJQRXwdN5ocdIbiekVj7Cs1scFQcL3OsYYNJRC10R0klnLWCEK5Ea1CoOaQiRgFgdmBj/KDVtIktFweFhwhbEWeKXk0ktGZIXQorAwnSEVfsZcS+OctwxKGrqXuJpRUtBVkfc/tBG9cSTxURZqmgduiYQxnhaACpi8V1NmynR58rKlIbJABPMqcAP1aox0UFobAqq2qDlnTURQHWl3uooAkFtb/aB49drde9Sp9ZZ34O8eHDvux+/Z8DzL76GYrGYXzx6sDg93Q7+y59/frLq7j/Y0NKjRz+9vb4k7eTBPQ5rSpHuHKmHQuhMc5y/JxQf6XltyQAtpdDzfnOzOl6lo5My7H9Y/Nl4/cpGE4iZihA+zclsmghSMuJ6WYqgQJQUB0pMRoy75oPQd7q6eAAZd68lrLovNbWFuxevyANKbTSHVxfmkad7xfMRNUpTNwSicThD2ZGK58AXqmGcLgJB8pjo+K0oAaggu9NVtEhRF2SgToRu/hFCiOkE1STIhbgQjaSqEjSA4lWr6QdYVCMnIfA4atYy+Bqnq/dlxZA10rW6RfU9qPlJq/0G14BWW1GT/Rfr8flt6lLZ7TwPKtotFhePHxftjfv50WK+6DnsCylD9nFHZ/Hy7KuX8/tPL9+8hKT56p5/9Yvj06Nu/i5ApE7yQM+AQHsMO5RBLSGdwrOMe7H9dvOm7ySltE/9guN3ffUSr0YRY7B3Hl6aoDvisuO4gqTVkDWJZJZwD3UOXPUQEBEpdCkUKYVxOXHAiZqDs93b6i5TN2n1UyAm4NN8oTgqsK5QWAQxysutFgwSmUkli1q4QooaMJLBWNaqnwvEKVRVlsLCbKLZARbCtNbEKtanGKEmLK23PtCbe3aSSOE9LOpwQrbbVSMHFUh4jzgzLlCy3cBbcwESzhLeJSJ4dd0gKQ4NijWmJpsGrmBgaDFFlu0nl75dk7Pt+s2wvRXq/fsn129ePy/DveNOTUzz4EPqdLnqN9v9YjkDB+mPnj+/4uL10dnDbneDHt38iS6OyYLddc2Cxx33t4ix1qmnJZaMAk378Xa9Wd8kJVPycXyndKcjXnWZVG94p1UFQucnFU1XA4rBgeJxxaHLdHjiml1HfNWcHrOCI8cP6oset6nSiXpdEzQaHFAbpDwcEarZCWrcaCm5ipkl88b5WnJ3Zy50DbW1xFAgbYc+znqwDC5x63o1SIfDVVhYUyh6NWsXAcREQf9Wl7UD8JIzVOGU1EZ9uDTnMMUf1LypFTQYtgyn15n2pDfHJIfZ197Qj8XiVowkNXqG/8lX4/Dm2sdN5jDs98V92A95WLz7/kXZ7b/68uVSxm3ifHVs87nsy8nxUW/YXW/e/eGHdvp0cf745ORkNeNqtTSWcv2NdR2tQ7+AdBj26GZ0Rx5dO4KQRJtBlCyb7e6oh3S9j7t+9Hf3+nK1L0lrui2oBciKQaO4UcFcxKYYSx6kCSI/aklX7FYrMOOgv4uMvmIdoAUnAKqiYoB7zfkj4PsdrY17y44DxIqqOgFT01Tc3XOhl6hfBm8c2WBp28iqHzCNMMD2kZztdunoWaYXs0ixQ37BllWVRks64aWUuIPb6UlNRACPmXpoQ0njnRVW7wNDDeZe/bq3yx89gE5wiHFf8R2BqE8sbxswKyKSd+NuczXerAHkYRz3RTRdXm1uNsf3z4/3mysddkl11qmIptVs0fF68IsnF7/zd34/H3+43647vxEg724HdwHny2VanYn1EDDNOJuzZA5vIZmSWLyMu5JHeh5LZjcDxMXyuLl3M5wgXx4LpHZ+Q4WicYuzKhEOdboz2ENR1FaodQIK675UdxUHrF7XGIyl14wl7nKGkKkGrDokUEgJuFOpHLQUHZR2S9CUG0VDWGJcwlyHyYHMpKuZiBYvBExVVCN9Cf4QIsXbxlRDrpx3kNJSp9xLK4J6I6xqGh5EN0n3RGWkRC4e48hZAxhBmNJg8EYAEiQzAYF7zBwv8WG1EvwVsImUBsOleb923Tg8LdJIX2/WIR83633M1Pn1Zu/DRiBPnt5fLfo0W6Y0GzaX+9v98UfvP3r/e4v7T/LstNx849sXm82uX5wU6WHY7taLsSypujiGKEqGzaiJZXAKy+jjSM+qmofRdUnAZsvt7aXth3fzeJ2QZ1XBK65mBqtVAMDiQwgRpaR6HyyAGtFgTXKuAEVJp4QzdghErHJGjKuPSk11SUKccfezo57G6sIj9ysxUrrm5lIIx6FPFCKJLCb0FrIYM4sYV3KG05RKdrNGQgFV6uCvdu1M/XFVMzXR+LC0xuVQ2lylqkjRNo0vPLBDA2V5sOz1/cJ7i0f/YggFYoS5x53XMakaFAS7YIeyPb22O8GdzC4WGEkKYP1xX+ZyvV4v+sXR0ZFpz+1utly9vc2e9veO+7Q66o6OxWZ52KGbL++tzu4/PXn6IY8uLB2nrs87Sf1iO+wLR4em2WK8uiqQRRnS4oQpUYVp5tkB8VK87BTFUjesNyM9zRZK0TSH6umurG75EjRTNZOYXydirWk8bvODNFARtMSEDUCoTsQYCFSEUDlgr/diijvoXuKmHGkqAMbFJh6XJwb1w8byN16O2qKCTwy2gDEBSOIGpsqnGBG3WASigKO4w0XcK9yaiKw20TUSKQHMxKK46tRA3Y3mrvFXRESTwN2DL1AAjlJ73KasnTXXc1MqY6p7JCOlJrs+kaR0l6oBiFCmkY81SZkTFjJeTCd1ZstHJ/qLpKap65N2Zn2/PH7x5Zev9lf9Rw+G0g0u6lnFZkf3j84eHZ3es9U9ao9xneYr5LPuZOXXN75f726uUh5S38/GJTymoxdiJEkvVK2+1LuSx1x8u9mdnZ1zLNotutlqPu4fjXwxbIakHZnMIlKZqAPquX0iUdVSah0qPp57RZ9as7gK9QLjKIxxj3wEd2fx4sUjV7dG3zOgBeOSCpbAXtMcJkbmT0DrsAWFFzgpzhSpcdw2XY0aBMTDYtscDwaEbvUriFqEQ5Wp3hW4PJyFVoZryr7pE6csIpI0Ym2wV9C4gqZG80ntKazSOQEFqpWmKIGjG8An4+6acI9OUaE2rfGBZivCUpGEALI8PV2ulsNmGMa8PDldnT7a7Ydxt7+6GW72qimtr2+H7e704tHq/GG/vLD5MbSDZ4H0y1XSB57H1WppkpOeitn85H4/P3IoCjSXmjfnoV50pkmS+m4EeHN7fXZ27jBJ/fzoHD6+L/mLYf+So4KgJ0AkFUEcwkAIAnWN0SxOQNXi9JBQJE4lU62UEO4M+PA6DB7FS2GRAiIXCaSeVMKje/29oluptwW5lxjBy5rpx6sJ3OmhB6o8d706fsJD2vxWZJIQUkPzFCSUS4kiWiV86y/U4XhQ9+It+RK0oQr1FRsAlOhji/yUaPAoMKQEVNIikpQqgBdMF4uR2SvhDlLcSxCeIkmru6/3/kQQNbfiTtS7qLpZ33er9995f6ayHdbb6zd5WG8ub7786s3903nKG9P+7MEiZ467m1nKkEG6LmfhuDWDcYRllwJzmy/n84XOjrL7sN3IMHSLcIh92W/oGSUYchvzWLabze1VyRyHtfWzxdE93d68V/av7W0pgec0mBSZqNagUQ6DDmqBIRgdh1NbK9YdkWtz0LG6ZMnukedJLi55VFVoG7REJz17Y11CVEB3xLWfiKQosmBnIYpSUwxN0TuXcsflXARVkCp5EpcPUoDiRVvOLaZOamgGWkGnyk3aB/UWmdxdxVopPSr/U5qd4yL0iJph9VEMcRQgFNiuxdB4QlUFS5AaJQCgqCoKVShmUZ2OQOn0qK6krHnwQbJIsnTcz1eL+6fvdJ0+/+bzvC/Pn79+fX11O2x/9evP95v1b//w6Xe/c3p0NL9+9smnzz5PiSenx7PlchgK8251fHL++N2T46PFXGXfSepS6qCQUsqwps2o1qUuF5acxfeAFPch5912bcw3ly9YnMPabDZbHJdx+CAffzrevsYICFG0UJOrxTjuSDOKROcqKKL1BpFguuKGC1EROCqarBWJEsIKuAcFHVcXmgrBAuZCtLKse1hRS+nDW/NwXOvBzvUwEPBEZ8zkqN2/9EP9Q8QMxSfhUhQ4g1rSpKqwOOJac8fAzkWbJjJMqJQCkaTGEI1IQ1KVd6ukcb3k2ePivcKKzAgoGAx9poggrCO0BnT3LEUhQi8ugpif74Q6Cj0HzqKAUsYySNj/qN39xcOPPl7k+Tef/Ok3X361XQ+73S7n0Y1pMROV169vfvKDp1fPvvij//GPN7ttl7wznhwtutQJsDxaPfv660fvffDovY+O7t1DWsry1DEj1l5mGV1xlGG/395Y2fcmYx5ywVgyWWZ9v9/c+LBVFdJmi067xZLlfOhf6E4g9LGoGlzcROJSIlOKRd1BlHSnuPMO+0XGXJ7Kt3qpeZiXaBurToFKiohqhBoPH4OYWUGQyO6ldtuE96sBo9pQXBLHgHZM3ogEOp2uGg9U8YsQatGbHV6nCoMCLZkIkSKPqs/gcEGMjalv5yjeqBqoSEbQ4VoDX6W/pbKWEKGHiTNoWK1OMMCUthKqBytUvWrMXXMBYJQQXtZ7/aoqSbwUQPI4RkY84+lidXb5yV9d31wNOe/HoRD9rFuqpVn30ffeO02y9/7Ny1f92UXebfKwE8VeLGcHydsNLX311dcZ+uTdjxYnvYhrEvOuP7qQsdxu16UMyKMJh3HMeT+M+/3utk8yWxwNt2/LuO27WUqJhf3qVMwej9e/HK9HZjWTqP0WdyAl7VjMTMS0TkQ8sDSAiLiXkumM/KymLA6RArq7aL2NJ+6rjQFtka/LoYgoKihRRgXC0lCFVlpDRAAKYTMwScVDPyCEl0IvJlrjDuvAQW0zEosgKZBrfAVbx0ypxPlUYVEXZ6TaTi+F4lnCgMzUwU6adtwhFpeK00FTMqCd00fQoV1oZwWksg2gjbcpjDdxCFzgBUC97bW4qCAmGtUiL4BSMgREcbdNz2HcDWvpuvlq5Y48luKEuRPLs/ueh73b6cPHo6T9a9eUVODqau7ZN+PehrHY9tNPPhlyuXh0ezJs52fvyOxImYybWT/fbDKgTlc1sc7HvefBpFhKlPjIVO0oVOvnR/ceD9vlzfO3MiaIUly9kJnuNHftkpF9R613WNWOyRiaCYCOqHUToGqUraSKa+oIZjE13Ok0qwEBqOStxG4CbGOK2s2XwgMnW8eOxXyTXFwguYiApTjhCmVMga24wqFaOSYvolZnBqEBcgYj4xA3SqkV88gnvFTJOYFMWrt3sVCtlidaMd+hcK/qhdbv4o4YVh0Yvko2pSUJTZuAelkf6VXEGVeckeGZ4CyN88yDu2amAQbHbDE/Oh32I7YbKdJ1icrtjn/xi18/PTv53odPFvPZ1c1msTzKZeclj6SZiXqm7ovkfd6Pw/5Xv7y8vHzw5Pp0vT26/53u6J57QRlnqc8snvOw30AU6ELnSh9VUkDiUnLXi3tJs8XZycOj9a9f5Z2QwbBmL0POuchsNhNIBPFOqLAYGBRntEYXp7Pk4oKYo2xafTRrnVnETKd297inUhFXQEvgAU5Qh15buwKxxr3HEBUpKub1Op7ktdAVFJIT9WLFmDKEepViTEGzkWRS1ST1OqZQFNRELySMAtCDB6rqnHC4kQtFEYSke9UPVc4p2hIZD2wqpZZm6meViWKQekqoQV0CpYbgQH0e3As4qbwlQLkIKCgkSxHaJt/M0wyq++3tfrch44rq5MNelJvba3v0YL46Wi1mpxf31uur3S3pTH2iJbrrXHZlMJT9Pm+2w8DLrLOB3ajzM52P47jfr0W7oWS4jGMuZSR8GHMyo1jUf3TWBbGnZsN+t5gffzR7+Pnm0sXVQavku4+kuRuZywFCCryCZapooMfsJbubCFyJYu5xn6oDSTRZTX4qHqjDElwcUWL14nFlYIFrO9cGtXbPAeLKFI/76gRg8jK6oFQUI2EURL0UN2hpye7q4qzSpxBBs1oDMFlIgROkSPVY7V/a9CnW0Ocgc64wyyp9XG+5DBsSC/gsKtHCjmqedVR3rRFVtj9yughTrXcfcDa8UF8tggaKs5Tt6C/RnRbjdrvbjUOM9RpGn88Xy6WK6DaP6OYOV5RcQE3UJCkV5jFneBGIeskOQvdF1pvdcrtZbNa55K6f+ZB2+82w3+62O9/fdJ06JQ/7o9XMZivojZqZJQHcM1xLQdeV946eHm0+uZbRICIqpCUzsWQpaL1Sitb7+iIRai0diI/mdEgSAMVLgQs0AQIovBPVNgpamj4h5+JAiZshs5dI1WoMo7YxA9XPN36gUr6UNOYsECYks3icqF1prRsE8qIQtHBPRSUorEBjkUh6tQzPLlHdleIHraCTLqXAO2GSjjlXlqJNo9Eoc7XLeoOsrA8aiqIomzTsRvdKX8TBkIPnVU1NSyyE0CUk0GxsiNOzD0RR7dJy5qpjzsO+rJbHp6vFdr2+ublJ/ezq+iqLzZbL2XJ/9uDRfBiur6/2wzY+6X4cc/ZZpwoMY7l9fXl5u90XEbWjk3vz++/JYkkIvYy79Xpzm1NimjPveutTmm3FYEnNvJQ87o3FkYqX8+X9B93pDV5r2+xezVIyNYOO9FwKoMUqX4u4sFGC3VCVJOomScAiLIVJiogZqIAJe2UhdwXRllO8uJOUXJhrnl9FgEQGxMIYGbl+nUIo0T0hKkCa6iU0ay0dreeMbQi8QJRKqqqzjHmMtDiIZ/dcq+BV+eNFCLGYMJNZBGEnDs900ogKokCHF2obyzkZAsBSe7SlkOZV1DH9EkBcvVGUHm4TrDfK0CEWOX9c6xGjvdy9RGroTvoea5l3abXiKwGLiKy3691u557XN/ujo9X8+N7iZHE0yuVmKLsxjb7eDSyeRxC99ZalCFgw3O73b19cPX/59vLN83HYfPdjX53ci5mkvakJN9vb1PNonqBJVC11mSy55DyWcUx9LzbPw6Zf3Ptg/vSL3dvwpPUCE1GIEqYuBchwQRaXXk1UPGqVHuBSEDXVoH1VFYjeqwTpVTthJ1DRPTCWMuYcS1YKx+z1OtrMGK8qDebG1fXuzO4RQDXazoWJNRxKUExRy9ZGFISuMCTWLKzaXJYmORGAmQUhrKw3yQVX6ISWEvJnC2luLsUc2SkiZnGRhDiK5NLuGzRU/ryEtllN3anGaIiMiyxZeSPQg/Opt6RVOYK3bmHxAgA0i8PDcFeFTtBRRrlNy6N0cdK/OE6zeSm+G30kZvNus9tnSeiPZLGaH433Hqpcvn776vny+IRiXUrwIY/DWDKd0g8Lvd4XvHqzvvnls+XJyb0HXy3ms3623G0xDDs1E3KmZdEZxPZ5dE1eyrDbMrRwI01SGXfWbd7rzs8387fYxZkI6xEYtAJnkCUXiMCQ2NLeuiQe/cwhdQ/tTeRrSSWJJhURmkCcY/biuV5B700w6vACUCyZqLg3USCbVBYSqvIoG6RSPBkJeGGF597aDkMTGJQgzeHFmZrKx4OqCeImQDTrSNA4zh7kH5XqEHrJxUspjBvdne4hIaIHeWBmZh5yRHeSBVAhNCjpWvQJVBP8kIiiuGYvUVWOeOfuI5EYpZhSiX/REC5FfayW0cSz5dnR8er0fLe5vb3evL7cHC1n/WrW77N7eXuzPjs7XZw+WAz8+vNf5HHLtDg6PT1/8Hh99fLm+qrknMddZykXXxW93XE3lNu9vn1z2duvz+49XB493F6/Yt+frpaz2Vx8t1lfX2+eCZLT8n5NiJnmcT8To2eHHKfl93D/j8oXjPKvwgCLfnYRozq9ZBJFEqXvgi10Nr13k4yJVJGQwA1IMt0jCxHpwE64J0Avzpzdc1DYGIv3TKi1Ubq7RhWroqFI9iOJKql4ySVemF6g4o64vtuEAfIjSgAOzyWu6SVJlsIiEI3QFRd1Fxd1UbqrO4oDZPEmvqCLupEuwkSkuOLKHY74tO5N4hxF3spMTvRPFNZCE1dxnEJLpVAntV1BUYiqMrJ/h4qCElpGd5QI5+JulIWtVsdSsLMyn42gjQP6+aL4+Oz5N6fHJxfnZ7ns3If9sJFx9OWq6xenF492Q7l6+WK73fb9PM2Ol93xhR17Hk5WRwpevb2k53vvnl88+iBvXqfViSyOOeT9Z395+fWv+37WlX3OI1hSUdUkwyZZV4ZhftR/d/nk0+2b51hrm+VCOLwyw1qbXUJIE3JfNh9coeSUn1a+TWBx+3bgCYGCpjCR7GQpeXA4U0pgvZwdIoARpYQ0ViSiWbRUIBbSS6J7zoUMvtwdIaWmwU3MS5UORBLdicidi/HU3ZvglvFNUkiyCFGEEGpxEp5zybkIHCbJWC+rp0aPlknSUGt4rtLL2uZYKXtUFhuEwLRTRe0zlHZMotJOevQKaTKwOK3QhaoxYBQl58gRPKQDEKUsbXF6tru8ZsmzZJ7LsKd1icSzbz6ZJWf5jsJdVcTFh93t5TjsLNnq+PR2fTOOYzS6nJ6dn5yd7dfX9GHYXc5PzyB9Hvbd/LS7eA9dBzNbzI4/+H35+lUZXs2Si0Z7ToZgHHZZs0PSYjhfnn2Qn3y1/aUZVOkFAW1D9gmIpaQspqEvrkOWODEmUqSx1ZlQ4cJUDUBxmEmbNcoqIR5yGYt3wTGq9JZidAABr0LnCP61jgpIQY7QlEihM3vRTHZOUrQkE4KuKO6e4dQInK5ahFKzu8gzveV3MX6tzg6qtfaa9aBCEHeOwh7SWfyziKqECA2MFKBl4vHizsp/FoS6IdC3xSxkqQS8Na6VUf5PSb021IlKdioqG+SlqWEqEreM1FvCOO7A7HnwAlPmAvd8fXX5Fffq25PVfL25SSab3SYDb59/tjw+T7PV2b1Hu93u+vIy73Y+7rq+3+12WPVHM10dleXJeTdbYjYTNfrIce/qKrK69+7+2RtTulkuYykFomUIPGTznHWe3ls8mt18smVWM7rHcTJRDSp2am4LoRgr/wICKHXSgddJ5pvCTmURHXphapBCKyzRdhYwSEBVAdU0knFvoirN7oz+G2cpBZU7EYMmj8oYIDQpDskqQGeWWJwsWgqyF1NRM88y0mEwhg80heRSGLS6Vv036DABvV5myHAh4kQphTtXkb4DSIM05B0JYAmLqboQIrdSfyvABVnkVahXR3xpGLB4mykZCgaViJ9GurB4jo64CIgUQlSYRAs77RdHR5n7zbgb9pSE7E5strfHM372m7989PDhMAzdfD7eXI63+5vXKe83Oltot+hms5yHzfb65uYKaufnF0fH5w+evispuSscKNnHPZhFu83Vm6urS+YxKZMqulT2lZrKZSQAmysAHx50y/fSxV8OX1uiIRBBbX1Sa3dT1D6NOrEATi9kEKt0oYWeVQRb5c3ox6jtMq4yuucS/CGEYm24W4Xcwb0qojGoNsHCncWzjyWSHnNhygUco3unQIoaU9IcFZxWGcm5UNXUcgGc6tkFySAp7tTQwlCMonZQe6v9B4NIKNSFKqZgKblkq/R6kMfOpBBRRcg4pDZFUehC09SKZZEkgtoKeyysvi60+LXCJhC4wTR4AjGA2cfQDeUSCgIpnRpz6dey1C6lPJt3/Qzr3bAdKDIWrje78aQr+9uXX+/72bKzNJsf7W8vx80rydu0OtX+eNxtRWTI5fLNjWjXd4sHT94p0h8tV/3siE6UDAA506zsrsfd9awHZ0mkqMNU3Usp2R3Zpes663oRm6n++PQ7v3r5Ko9OFjFViypViOm0i3uKRZxF6DXhZpzAYCuoEK0FynTtdOeio9JEODhKYfbYsmBRpObrsdaFKG5mYaMCuBc6CwvdrZgITJFysEe5mKqqkzAVV2HxonWGFYkxOyUnNTNUiZIpCVURaxMZIx7TBSi1rdVDisO4Mz6JkBiLEkoRR/GiqlLAWrxSi6onPTvdhYwBxEklpJkshIFCKV4TLxJVDY0SKNFUTGBaC3LRpueh13SWXAqLiZqId5ZtLympjqbs+t5EN7sdgW3m9dXNeG9+3PfjfjOfzVK/On/0wbafWdl0iX2HjKw+gq7Wb3Z52G8ePXp0fX27ubm8OP1QUaSfw8SZJc3FMZ8fHY177fY3myXKBu5qyhHu2dLMs/fJksWAQf3g6MF71/d/NTwnqK5AMotDFf1+ZqIaXQ9OiGe6CSpYQvQmB2pSGUcmW5PFmYximjPG4mP2PFZtqBMsdS5CaBdBoIs9q0Upd2QnnZkeap4kjJZ3r6Jlai0qxbVQChGaIWfEwQ1K0Z3Fx+IwQ5dSJNeqwVKAQAUblXBShaBLqOJFqEjJJQcjJdLUdVW8VFXdzkJxAkWFxdVLySScWcRMJcenhXr1fCHph5Cm7ASpSmfg0eNXDchD4SQ1yxAnHaOq9711nXZ9wpZDzqXI7fX25mZz+vC413neb+dHp4+efrQ+PvHNaxtvxCSL7mZm4n3XibA41+vNF59/+sF7T1IyssBz9BSLzQmHlc160/l6fvaelO327Rdmo8gomtQsiXUp0QuQNc0WlO+tnvxq/7yUAlJNxGKGAQT1mjdHyGpcIKZRZ5YSYozokYMImCFSOJTsJfT+VshcfMgll5KzCyL00clOaxGiuLvQFNMliDkQT5ByYlovnDMxmUroBOPganQ8iChZRBE9N1Uq6BhzzsbOxAu6pGJTyUSdORcO+yIqs1k0+khKSoiyUxGyePEs0AB7Bol03b1kd88SHeAVgBeX+E8JMCQoplpYmzlbagBVmJoq6uNECZqRuXulr0pBkLVidVyzo6yzus5m/WK2T12XUtrtxyQy7vPN9XY4Xy3mHQjR9ODJh/cff+ftN7/o8g2HyyJL1/52M0D281k/7Hlzc/P29Ysffu/Drl+IdlSJVkAmB/Mw5t1+mK1WPo4Ck/5MdoN0ewtVn2nf9wL6OFDFrPvw+OHF1fGrfB1TEpokSlvxr5aoHBQVC3GOOgtyyHq8apAdHFgUUpBLKdBaZi25hHWWoPLJlu4JXDTGDlLcs6pGUlazJmECAaQuqSvNpSojwMB0TU9KMQdFTdUkCGUv4pSS6aV4kuJUJIuj7CXTWZgHH3NJqugowmSaVASqlgQoBSGDzqMHF+9KllJKFYFN3WGEOumodRo1lewjiqf4FBaWBVRBpQpNLZkqa1+SECVUU0FqCUhRWLM9ulCLCNQgs1m/nM/Wan3X26wTSMmy3gzH83m/mMOs62dnF0/dh75sZbwchhGzcTeAuDxaLrebcn293Z2v5svVbHZkXUdJQo95qWXY7fe3m812hv3cfLe+GnZrV6h2Eb+71KeUxJKoet4L/NT678wvXl5fUjTyZSqcdUZ2FNoLfGIMBQiBecnRYQGBqKGJNJDDqcNLHaLhoQ+PsfROF9KigGKVM6jlUZ/aKwCBxWwyYdJgjq0NABF6acV7gmAZsxAiXetXisJTUVF3eiYFuZBC8xKMVvQ6GywErcksQS2cGI10FRNgLDkXl+wi4gK6sISuQyIJH7NLvc9OQ5sJekkFOca9N4mHF6BQqEXNLHx7q9hUms2LeykFbZJRDO0roAYhbvSiqe/7vp+leZ8gqv28jEWkHz3RkqVutjgey0jy9PyxYZByXz2n2/Uuq7M/Pnl5czt+880bis3mK2giKQ4vMeQganDFLA23r5gkj8M4bNTMus7UVK3r5qlfpL43Mm9vSx5d87v9yZ9rylJrMUESNpKVxb0wmwlqQwKLcyyMrQBQGwNjypgro3MUXrKYQFQtBjCAziKsQySjK7R2mzEyaOZIzQiBJNVOVCAJlQd0iJiJCQZWFXT4vlJCqa+Y7hlUKR5wl0KHY8wuKGJ0qTkh6tSZ4EqjJBLVGReRJEYCyE7kQrLUTjioRvWnatFo4lXcWblmH0txj9nVTWcJT/UI0gFD6PzD1pmdJWfPJXsbahLVV1FXulOVTBSV1Pc9Mev7LiWYqaVdcTVLs+N+vpgtF/cefADtrq5fnxydq7qU/XLRd0fDbsfdrpxfPLi83OTy0h2qKdRezKNEe2XOZdiLytHJveHVm/12XfLe3TUlgKLaz1az+dyRRLSUIbR7w259mvmoO/mmXAdC8OIASsmEEqjchEKtjtYYc8ljKXU6Reh/K7kfKWzregEkKcxRdxsojBar8NgaWjStrb3BSUftPgoTQoUkd3QmoX0wVSVFshKlQOqMMREiF9fiAtWkZiYo2WPqjoYCw4uLuEiqZhPt+qBGV0QpSlC9lDq4MIcdQHIuGZrMnIC4IfQJxR1mlkxV1Mm4FYsu7iVSBInU1h1wpNRF7SZEHtElHGICJ3MpXqq0QBnIupTI8VxQqCJd6voZXJJK35nQoGoqKc0Xq/P5yenZ/UcP3v04df329oqUrl+CszTrj+ZyvtlvtuvvfPDhm9eXfZ/EkpmpJSiZx1KoRg38NezEOkonYqYm0rfrRK3rZ5Z6YQqJqaQkqjmP+ebN0/npC99otL2TjgyqhzvxXErJgFodt1G8Qj4CUAvpXa3S140iPWiZFFGHpdQ/eLTTW8iAIh/OXoVaXtrUVyKmFYtGFhb7DItCXTTwSJMMMeqkzmI0JaIfUZUqrrVvqWZRBWbh7jyEKuHxSi4j6eYsUlzckRnCCo+SlggySLR2wARVSZr6lDQpXLKHXFzgpTY0Uy26xALoAKYpQYw0xhRElJB5h0MN/QnrvPWJai0s9Jysm/W9adKZzGZ9P5spUi6l61LqZ8enD+49ePf+4w/OLt53H68v324214vFI6hEaWC5Or7/8KmPebFaHR8vk3VqnQjUEi0hFxQvHMc8kK42647u2V593OS8EZFkllLXzxZqZjrv+kUpYxmNlDwOeXd7Iqu5pDGulwigA3guDOo6Shm15oCoRxQKIFbLq2Khl1N40UJXaLIuqQmkgNkx9WVKy0WiOh2op5QorjGimwmSWm/JzFIes9Y7LTgWIR2FEFFTAoZoJaYKJMpMhYXFRBQwrSP56z3KJYjSSfYFVYWq10J88AhGSrTXpkMABtwNlmpbCk20Tyn1gYbdihjQiYOSHXCqmQaLpurOZJKITq1TTdamuKjG4JJOU9wkWhyEmKaoGDpESAORIF0yM9XU9bP5fOFIN7fXq+Pjs3sPPvzuj+8/OD+//97R0clmcykq+2G33V6rClMyVVU7Pjn95guX1C1WcwBVZ1NIFTVxCAfvU8qEcy6LI/HbXCCQZF1KXT8/TmlGsJstLVmaL30cdvtxHLf0vb7dHh/J5YwdBIoUqzrRqkioTRfhX+EB3KVdFEFYqmWPccyKpIK+m1tKwXEUqwiHRUCYinVJiNiy4nSLuWKMAWMmmFma9zNVSyV7FpIuIilRNfQ67JJBpBB9j+SR9YcAjKQVgQhmySKiVrVXaFsqSK+XZYhgYIk6GAAVOqGAifapMzPUth5VS/ExIVTTPlmXLCbRJBOaOkn3UizaU1RV6hw+MbOIQl2fzFJtFBfrkLNIVgOleM6ehaJqwemDICgG1WQznfUrKSWp9n2fKX3X3X/89O/9w3/8vR/+qJSh7/s8brfra2EehvH6qsxmvXe9SBIxIdb7UbvZYrnSZIVeCSYKNSSpvfvY6Wx9sxn3u7lY1/UmqimZ2Wy+Sl0PIqVOBJISRbab6zJskmlfxvNbrGfJFFYv1lZBIsk4KNHjIazTJMUYo6NQ595a8MwuOZWxZABmKVkHSok2nhAUlxmApLUftpTRUUf6jlFnB+hFVPqUZl0vKgkoeWTOxdQUSlOWIhaXrYhYSF0rT9BpoiLmQ5uyN6OWEpcaiMJpAtXYTQm1JWqbBziNdRAFYKHUNI1Cr6YuFGYiEFNTSSamZirBdqJDcRbPUgcNSe02YtCVYpY661IyUwNqC3mWXDQVL6iF5Uj4g8JN0VgigpJY5lzOl1bKLCXrU7LZw3e/87f//j/68e/+wXZ9vd1e53E3DluWPA67Yb/d3lwerZY8OtG0SKkfc3HpzNJsPldNKfVinUq9eQSixd2LF6qqUI26nHWp+W/p+0War1gKFKIdINaJYpeMablczFbdrkjm2xlbfDcxq+VgU7PKwqnGvM6qNtY6TCXoMC8esoUc2bRpAtS91H5ld5YUXbAkCx2mUCcl4HNUkQrdIH2XzBKANEudl2ImXbKZdaqSoZosqUWDhAijLg7CTBC8OZEEljTQk1QBGkE3s5RSVENDtprV0PauVV1U1SylpFJLNmaol6AgQGVqt9RX8Ec4i5dCVCatMYVsL5jMUvuRKrJLpvQqxYr8s5ZpxaTFXoCl+H7lZ6uz4767efvG++On3/2djz7+3YuHj95evr58/c3tm292u/V8PlfF+vZqt9uKMA9HkmbdPCUHZCapc1BTEhVTBUlVd8AHOPNwaynBTVRDzmndqjdNqRNLgKPrgV3MURiHG+FwdnGPvJfSQqx/sh/f2ay/2d98hfVVGmBUM9VO1cwspKwEa8EItSEhOl7iai8wBruEprgWDUWUblGkiNJlW1svtS3TQzFY5xUQ7q6iZin2PJ2vjkpxAZMwXEdB9C3XXn2NAkENR7WbtGohNFyVVqrG6XRTJEvJrImSyC4acGP/ohNMBUG9tuvKpCqANWYBNYVru4UjLMLrOKkaMOttNFE5ag8YeULc2hD20XmbrY/4B5HpGvTQMblTFn60PHrn4eNh5OJmtzg63W63b9+8unr74rNf/9XVmy+Xy+ViPluv1/v9erFYpGQspVucHumsmPazni6km8UllaqqU4+Kc0idaTezQcq439+8Rjc7nZ+lvhfu6TuWAfkWImAZ9i/2u03xAug4jsC4OrpYnj9YnN47uXn78ObtL/365WyvZrE1YqoxPgketW2tq2mQ6NeKJZQ6GcdbU0YIjEh6ELgICyQAlMKCqgsN2WgwcZGAyHQQ09nqmJ4VYTneaElR1YBmZlUJCWl658jkCACWzMzabDx4lS2raZ0lFKZWZzeEViDmRsZTqGprzKgfU9XEouVA4n9RpQXphTBpY3/CD8v0VE3+HXXd+uPtGEwauHqR5vSLwUJJ3+NotTo9XT16cPH1i59v7ereo3defvP5L/76T1+++Ho+t7dvX+93a0CXi1lp9ZCj7dq6ZT/TwvV6c+1lMBSxPlkSTQ6XkMiRAs3ZS8bu9g3LFp2qOMbLvL2GqcyOtJtL6kmkbq+zlY/bcdiPeby9ef36xVcXD969/+Q7ab6ab27v7brL2VgSK/PlgLKWhSCKdv2N1DbnaKkUVaOjuKpiGlcbbKyQdSq8qcTlBaq1JBkJnpJ0V2tyiEoUQtLJYokAMTHgA1WjhXojT+2jlRpctMWNJkFKgeqmbYyNRxvX1nyKTlcRSFVaxh/l0GwhVUgW9VdR1A5eQVU7M4ZzIN464FQ4uTaflOXw8RpliOZ7wllJQEscmtQkOGnBcjHv+/7s9PTJ43fXtvrm8188+/LTl8+fX1+/+eb20j0fny0853Gc74bh7OzCXd5evhkLlqvj7W5/dfnSy1A897MlUMgiUVkUV6Xv95nFPaXZynkxTz7ursbtpYstH37UnT9BN4MXlEzf6/7KN0XNU3+qKlf55dXrLwT56PSRpu64pKNdeqOjaynMClVoTH83UTeNeVwxKapkjoWZOQVqAgDX2Bm25RGNaT8Kg1QRBdvIs+LhdbQNEIzfK9RKi3kvAorXxh/U3h6vE7EwcT1BmNZBYFIjhkQrRfw1TqVYIJYpMKnU0QyIG9Vg/7+m3qxZkiPJ0tPNzHyJiLvlAqCAQncXZlpmE+ED//8bH/hGCqXZnCZrqgooLJk37xKLL7aoKh88LqZ/QGbEDTc3U1M95ztb8Xqlr9PbgXQ1CV7PJqRr02rz/l9Hhm+drLcXAdGvDCxzNdetKMarPeB3O+HbZ1znJP62zGwz1Ko3xq7reu73o/p+fPrLv/3rTz/9j+fn59N5WfKsWu8/fgyH/fR81GxrPbvDulxS193cnff7u5Lr+fya18kRxv1uHHdu7d9vc9YKBBYMYL7OU3fY1VpC2u/e/aPcfg1xACLX4rC4ZyCEbqAWGePN8H7/4U/aDMoUYuKQAOjh4k+5FC5EzkK8aYTdhciBHUkAtmn6WlsppmoiJAIxMCNtiAy8RsLx77/n9kOrNfVmb+lyW18Sr173N+AluAMRsYR43eSvTeNrHcFbLPSbhh+2B/u2csC3rtM1lQl+39fe+o/+9i+uhsOtqts+FX+PY3V3UPfrStmWz1bvKrga0CYxfJtfXcfy14+6Ljq/IqG3rXNr1l4XPL59NYTr7BrMNgYkvjH9HZq7NTMBEaZNe/L65beX335aTk+X1+Onz8/SYwyBxxG6B+w609yWp6fnZxHqYjweX2IatOkyXcCdWGLsggRiNnDQCqZtvbS6OveGrq5I7Mjj3TdxGGn/AbtbcAEzIHRRtORhR7zHPkEQBEXpiIKdX+38BLV0u5thnuqaJ8lCHmzLdiZEZAo9Jb9OpYupFW1L09ZUnLstX5Dp+lBcyWGzRV/P96tGb2NiXJkqG8HHrxs4be85IhIgE4lCfatrtiPgetFmlOsmc92yEK76wSv0wwE2gf1VVbEhPhwI9U0EuYkPAB3pug9toT60YSE2ox+Y+tsDp+vQcbvq67acrwcxXKcZBOJXei046LbJuBlcca1EVwU+wXabh9//B3TzK2oN8PesSducKwYl59PTly+/fXp6edG6oLe6nIlaf9gJCFES+ZB2tawvtZZWJ3RtWpdZ12VuTRmAOUiQmCJhAwCk4K25o2tza25ebXWE2HUhJZDoscfuADS4OlAFEJTOW0UHiB2IADmhALGZQz9iXTXPeT5jKVDaJLMIbAsIwZk5SifSKTqoFs0AoO5ADtyaWzWUpqaOhAZq3ujald9OJGHgqzLWDNxoG0NeraF8bTgTXvmW5A4u6oU3+ej1hXaALTXa/a0XaJug/d/N1RActsBwt9/LUkUCcN2iMBA2Ctam3noriYCckbZcjk0kUB0avukHHfl6y9tEUde5y9af9G37NGzbduobfAwUoL2BG4CQt9PSQdFMEcFRf1+f4G8CbYK3VAoAdMeAodR6/u1TzjruD/04LGVJfZJS97d7ohTSoR8+hg4vx1Q3BIbP1Uytol9vzeROIg+3t6ANrLmp18XdtRZHAU5eVwFoHJgDcIc8uKetiesAiAJALgVAt0qRZEQKVhZvGRHo8NANe3p+TJfJTmWVGgI1U8QGaIEJe2GtDNZaAYckfSAysRWzmjZvS9MNmGu0NQbNoW7FCWNACIhiamp1uydv3RJE4E0LeD1i3N8QPIJXV5e/zR/4f7727lvTzzdQATTArTm0Tdc3Edo2YAIAQlcD3QZbCMTGfo2g3iTZ21cxMEKU6+7g1UEJhCgAMrgSXG2s13MaYSt7t/MJEMHtLQJiYwO5WdseH7xV8uaIG41k2+q25jjh7xdIgytdWjdhhLo1R6C+64dRFPS3T7+E6URI2jT2Q+rvh8PXxILWmCNzr5AaAEEhc0FnIgev2mIaum6stZg2ZHYE12a6OkeiwAEl9TAXdeBup9hprZJG3VANodtGWq4rACKPgGStuCtKcC3gDYjS4e6rP/7z7eXzT8uCmJAQqfYx3PTvxuFdCOEQ+l043MbbnfQEkFu+lOm1nh/z89Py61SfDT1QYhIAMysORkhCvt0vzNy9GqKgvXVi6AqVAndv+ga4AwAhYNwmJ4CMjLTtPlfJg2+EeUDcXn7AjZXxFj66KZiv26CD0duZ4Fc0z7Xq3TQDSAzO5s29vbX7GuJbuhk6gBsYbAIIc0cgoLeU2reuALBdj1RyuF5f4YrYuxateG1/XyEiBkT4pnW5qi6vkm1/Q/pFpC6lrh9KLuOwPxxunl8+Abp0KXT7bveRpa/rRRVMqyM5RQIAN4Tm3jalFxMj0WWahZkcvG19cw8hNSAmcOKGIUhac87V3I1BKRKAMQeErax1N0drEN1aBkDk4Fq8LL5pc837cffP3/4Xe73fDzvAFkL4w80f9uPHIGkgGEPfxx2j05uD0gyytWO5/HT823//8n/8uvykZByQkB3IrBmgA9I1nc62YQmzbG2OrQkJVtzRrKoaAjOJKcmV8LAdRkRvF9/NH+Fmuk1E32am21Cb3vpIgFeDn79V01dDBr2V0Zubxx2JkCEgsnozaFfiODBe9w0Cv6ZlvrnwN4rJtT76HS0DW9jLBgwguXppocJVJ+yIvy81AIDfE0cICEiurGlTdGt6PcNcPUnohn4cBkY05H/6hx8ur59/iuH+676/uWM51PlsEKq6ttWtmaGabkSBALxpHzbnuBB5XQE6QAYiNEKOph4YoVlTAxZXyM2Jt+OdEMVtBST38j/vnehoFSi6mWtzVVBFEiAyq1/ffHh384eu6yrivtsPYSDiQEoOyAjU3u46DGborQeNLIf99w+8+5enf/l7/jsxAhp4RoiEQSASRANF8sCJeGvPmhmbOxnhttR02yZcrTIEud6kCd4iW4GQ3dHQ3yjR5oQBeVtPW7/cXbe/EwAUTM2IrkhXcCQKiHJtFL89PHQgiAh4dWgg4jXJ4gppedvIAAARA5EgAPkVPgEOhOIgjgXMEZSRQ+gdN1WngxsgX/dGcEJ0l005iShEgTkQsKG5OzCgIfjVJlCbBmsCDRFjjN0wCsMvP97HGPjd7e3Hr/LE6+nFva+1mdZallpqrZlA+z5KZAC1liVIP+z6yEEEHcHVazGtYOrAl8s013Y8viLofr9XCmqIjq0VIiNXxOZWYTOitwLLGbsbZNo0vVdVnrsDI3qSspOh290iB3FFy+hvBOTWYGskIuv2+jgiGHkN7fIBDPrvA8szPjXLAqakTFEo4FVLxcxBJG4NGtPm2+0WUKGiz0RMFMyVQcTczBQQGJk3j5/zprVt7ogMYFUzUCRCdSVzdzIwt+t3M7famrCAMCEzMVHcjktw8+3EewtTcHeCrf8YEJG8bW+Bul5Llm3YiYEpEV75no6o1ggFgczACQiBMTAlBwAugTpXRRQk3vTPiOjAgGDbqB8YHbYxviJuQaRk7IgiMfs0vfzW1hOOB0kRDLv+cPfuI6cYbva7QxLR06eqVVFpWxCqeZkLonMcAqQgTiwbx423S0tIqnXbqJnJKp5en+eqX74cx10v0frN+Qik+pZ4XJdNFghOYHDllTa96r6dwAlqcUHkJGIsTASgxbwS2HZcW51RKzASp2toCyJLh9IDRQPXfNqV6Xu4JeGjvwQUN9u06g4OIEziVW1WjkH65AyqG5tXCci9EXIIHQK6qzQFtepuhMLi5CTkZl7rUrQJMyI0LQqNhbbrLvLmJPJNaQ9AiOLAgITEQOybr9rpyoEEZ2JG2QbkREEoEoltii5XQBKMW10MoFuJTSD07+dlVhkDApoFxp6AGclxowoHMAdGciCKSOxWgBwxAVJri7r6daUqXcVVmw6JEABJ8mmeX6eyXNwVOYGERNqPByNOKex27q2Fjty91QbeTHNe5rzOHMLlsoAT77shSp4vr6+n4KWss9sNbOwswLZ589Aup+d5LeZgHuJuSZ3EDtzVnapWrCtHQgVTAAwQeid2dGhbJl3zqq6NkZ0ShW5TetOV86TgDQFAkgNYK6YFRQyolbosK9BEiK3WrL6uF65+N46eDnPgZpUogDcDRRKGMD3+djqeehyHhz3f7pDpLWMCYfuZnQlBoUkpq9oKiIENqlbwjOBuphVQNkIsEWtTLXlLH9gUY+YmGIgjoDOj0DY+v0I/7aqcZ/XipkwiIs6OjoE6kWiwcUUIoDFQCnt3MCsbF0gwMEVCAmhEGxrHmQSBHcsm13ewZs1cEcE2Ca01BORNPvBWfuVWmmZ0J+LN00/qQgkBzbbLQlvmSY6vx6dfbt59J6EDL4gcU9fvRtPqsIDD/l33+qnoZTErNc+u2bXkZq16LRpEUhw+fTnuJQnoFc6vFdw4xFpnBB/7fpnmUhqxLC8v493HkPY5r2C178RaFq0com+T8tAjynXSu6xWMkqCEBG3aBVDjmDFrQEKSACM7g20IppzMsy1ZGooIYR+sLxOl+N0etG2XntE6wSuGBhENnCgGgAKYSzlPDxETvda16U8P//152F3c/fwDrwhbAJvVW1O7qCiupotiGyMaK01QnIgQ8IgFLZLGYlCaVocFQHBVTjVVrU6kQACoYtERgT0jRdhTuqG8NaXQnJwJgIzh6pqmwQkQATanCGMABD6Zla9CgdhNtOmZaucQdWvYe9QdS66qmWRxBABXV3Nm7u7rowemBmTamvWastNG6EzkHoDtE326ritS9g4xOtSlst5nY5j2iE6ohx2+w8f3/F3gzkaUOjeyP9m1ooWLQWAkASbtmrwejz99vn1+//0Q1UXEfRGIbp7axUAmMUdxyH+9t9/+sc//bCuenx9HXd3IlrrEjh5nhHNTVzVkZADGEBtoEVbmU9fdvdf4dBji5v/E4nRGFpzikgBWQh6F4W6elMnqG1Zl4u5pa4LqcPUK54fn1+Ol2OpuRMcHwh858jEkay0ZsI9uUcpMUZCVKu73YfzX/788+Of93c7QjKrzSpTUKjN2iYZ7zYPEXP0Wl09UAKszGxWJIYtSIA4MDlANUMz6yWxatFC5iEEIghXCQi616q5tmIGIkQSHdmug11HhKp5szoKJwIkYLW25GdwF4lECaCZASmXtrpXJ3KruZxVE4YdIbjXvJxKK/2AKJt8Xzcevpm6N1BxDMzuXjeMo3pjipE6R3Jr6KQOMY2I1ixrs2UpTX1dJjp96W8/ILowt7mdPx+/+WHXjay1IW6HQ9Gi2jznKkkCALpN5/PldDyd8u3toRmenp4O4xi60SWS1u1qgRw+vL//cPfpl09fvvrm+zXX15eXod8BaJ6nAAVYrLaNtqNNbb2IMKChm1t1NNr6eWbgDQ1JepKOJBAGoGBESNETWtW6vK5+Os/T8/FLLvMwjGnYh9jz/r55fV0aYX0I1kvXs1ffQH3eymXsOKWUc11aDuIOtR8kTmKmxbIwEwfhYJqLG4FK39+UKnmZIkeAGJGRsICxJFtrqwBMaI1pJGAzBA5g2XVNIQQOLCFJD7Qp3dyUgRG32lWbGqGTASBw1gkSIyVXVqsO2dwCJwBtrlVn1QYFkuyJk1quIGYtSIeOc54u6xSkoTLKpr7DSJEc1nxExCCdqzlgIEfFsmqFGoMjOymBgRsyxS7uqrXjMh3zhYkf7vsUO3ckg8BEAG09Z8I03nG/Y3Yw//FfP00L3H18yAu2aojUVJnEgZZ53aceQee5zHN+eT3m0qZlQa+tsZoHJHRl3phcxmkMw90/ff/+f/s/f/37z5+++/abL18eP3x4b7pi9RAB2LXVXDIg63pu6yu6AVIXQ0ydFefoSITeEA21eNhZegAviOgYFtMGWFsjMxRpw+Hl81/++vTTi57Tifu+7+7uQuzWh9Zabk3DaF2PwTAvZ2ZGJMPWsARkYnQsIAqRd+P+sC4EAKYsffXZDEU61bWWi5hKl26teVMjoN2wz2UN2DFJSDdmYNoAgqsRB0QDiFUNSYSkWvFmIXLRspZSq4Nq6pCYvWAp6lBMZ47DzeH+fPpUK3SRztOkdhn7TqG6OhDmlpuaGc/LHBjeHXa5LV+WRwO73d2XmqvNuZYuENbJyRS11MyEdSmvp5ckqUvjXJZSOHG8GaU2bDbNQCwuLFUBIa7aapuBvOR8mk6J481QAqVcMoO8f3ff930/3lDota1o49PTIwve3d/2QdyqQbAred8ldcALEEkI07K21tx8WWptOs/rYRyElJgppJZXMEWOy+nxfv9Qxv3tw/td9+mvP//8/t0DwLosp9Px+HAYBkkds1rZZLvzcs7Hz6WUEEPpuz4NpcA+dESAQgyKjCSQw+geIqN6Oy1Pp3yqtWieiZzQp5QvXaY+She562Za0WeSinmOlEjmqlNec8mvDqiQicUVy9oEevaYAgXr+u7+cGgisZS51WK6FGyB3yGuMQ6S8wweCMNmjC86ObhIrLqiKmNUKwhUWum6AQwRGqADJ0NYy4QQiGjO6/F0NMYYsBm64bpWU8zN3GKzk5ucTmdGCr2epxOigvI49qd8roWnVUuFWmya2jjI8elV0B+PL83qu3s7nl7GQVLkJegXXSRUCqZq4C4sf/nxt4Dhw/v3p+ny+OXydKIP7+/2fXZjgmBgKSUJUgsAeoi8G4aSTbHvhv7p6ezPE1rbafz6uw+H99/u3/0B4wjaLsfH8/PnJHF/P+CuKpWllSk3N+eIebbUp25Iec255KJ1f+D9bfjy2EIIw7g7DEABiYQlmFcFXPP6+vpLGO6H/f7d+8O//fjleLo8POxej19aNrSOWRBB1ViCVbucT6+ff00xuHVI0Frxeuz6PegqKb3q2sXx8vyMN/lxOR92ByGYyuMpP83lcjmeQrSb4SD7mN5LsUl6lqSuVRsUPzqQqarmz49/diMlO03HbujGtNuQ5ovl7K291hrHU3ml0M/ljIxFi9Y1EE35hGRDvxOyVteiBoIC4KUVAmBojLTWxfQcAgKyOlizkgtEZPHa5nMruZ5J+6XW0i7nZeYQAu/mpss657xJcFJTBdDH4y8EOuWwnM+CFLj/6XIKvDSTdW3T0kKfmOrTSx4H+fzl81Lqfuys4OvpeJkuZHe8S+fleHwpMWg/wjr7Wtqf/vgD6e3/+PsvtXY16/G5vZ7ru8P+b59P72/uIgdkPp7mYud10Wz+Ol/2Y7dL+z7hczrn4n3oNU//i9zEb0freOuZAOJ0ftyN8Yf/+F9++X//r19//I2izpPv48dpKTLYLihKONwNj4+XZclhpOM6f/XtzVr8T99/vR97iebEyEzGCj1FH3Z3L9MyP/5rH9L794duL+d8+ba/O03n+/1hWi8PcnNaz+t6GYcbIm5tKXXu0kOMPVL/uhznL4+l+d394Xw+/e8v/5Ly/rcvL+mmQaTD+OH56VMX9n/85398ufy4LOtObqBkRKIIrISBDXApU6R9oB4ieuAMmnXq06G1SkEIu2qzl7GWycFQQtd9VKzmyg2TdISh1FrbtK4LuffdUNskY7gtJVub5/qa0h4BzQy9AUtHO8XQ2jlKx4SqVjVzIQrIHMAaIFEMRJg4IfmQHlqdmmtIHfPQdN7vbi7zNHRjriWk9ebmvqxgXtzddYSGTmkpvyJ0//SHD8CP39y/W9p898G7FfYjsvfv7745l1/QqFg+0N3YPy8Lq9UgnVa93d29/6+Hfd/f3w+11f/1v/2nWqXKU8L/0NoyjIM2PF9+zvmu2VxamZf3VnG3B1ds5q/H3777eNPOfdpB6/0C09COYwtAsmA5Qq0xjO/k/a7TaruhHcZ5vuB81jhM9IUtpDnnr76611CWNv/xn9/tkv3h6/ez5rGxgbuEspzmVgHxdZ0y1X97ehrI7ofDw36MO6CudanLsNzdvXu8fHp+/mSwftSvUxwmXxar5K2pNzxe8uU5v3z5efpOv8ldm+v618en11P9z19/08WSOjvPL397+eu77261qdNiePf5+GuXxv3w4fn1L+oGzQiTem0loyfkkrpdzXUteb/7NvFsblUXpFKqaZtil9pmVAAZwj2Qz+XVsTDWOIp72Pf3y1ok5yNxQl8BiySJFMBayRmtCTtjqmXa4l+JAxH1cVfbIoF23UFEAMGsEFCfbrvUnS9npthz4DCUqodxn4Rjakh7b4dxPCiUkjXKTc7HIEM/POyea8LDzU7mGnYf7ks9bNkNSMFquTmkD/RD0ZfTPD/s/lDK/bpWZt/1H5qWlLrA0MXvKRix7fv3CKlYIgTVXfFnt3B4uOvT3enyuqzP++6by7wMQwSkss4//KlDMnHpApTeX+0My2/3EkPsX+nyt3KayzGN+A9fHQ7ju18//0WEPnwVLmeY1qk/QNrhx+/e9WNfSvf08uWrP6b//MNduC1PrVi8ca/L+WldprVclnr6cfm1kPKdP51nIv/4/W2637XuUlhF8Mfjcy7r88ujJDCBne2fwvLYtySnA9GyXriHU69z01oeg/RDeP/xq5sCP6nj/uaeqPvwzYeL5st82u/ubVaoambT5RhgH/hmmRZ3BK9Dv088vlx+PIwfIx4CQ7NFq4FWhzD23zSfU2SQwaGWdhZOhPz59a/73WCKzZfaWpReG5Tq0ECUNOdTiBHXU1mm8fC++AzBTLu5XHbDfUi7K5WBMXWxS51Yt+bXFMOhf2cKpUzmmYARwSmk2AWOxRtUz/mEJAZh340MO0d4ufy0j/dETmKX/BzTYTfcjD2vU2PmBicKA7h1sj9PLw42LccYh1Lnsua1y0onIJGkx/VviLxaetgNXz9893j6HAMWmyJCLz1RP8OJdfQgZfJKue/6ofsoGMxb1/VR+hwTS5qXv9U2a/r47GunNi3tuU4c7345/pTuDmg2GGMopa5/+PDDWh5J+sOBX49BzbAvbXntx/H9+48vn0XlPHZyDC843M9wTnOt+mO5sC2wxs9LbMap30Gl9Smf7/7x69pKc1Dw8/E3bUsIuxKWBvTil1O+/Hx6nKAkc4U4zceuw/3Hu3XmNQh0fhMe6vG325vdkJI5pzh8+/V/aDVYY6YupVuHC4JWz3P71MUHm49i9O7mu2M5AUtMD5LGeT1pyw54Wn8bIgi9Py/Ph/GmrKXv0rKu63zq4v3UpmG3u93364p//unH3bA7XeYPH27vbvaX+Replc7LaY99iAdvdJpeAwpFJolQbrKuN/sPpvU0v9RWui4Um8f0DSJW/Gy6M1sO+w8159JqLoYuRaF56+OuoSpI39+u9ZwzxZiETOymtMnbMVckiqVVszytDeBQFl3zucEEYNoTUhBPtc6fT//PGG6WVd+RTPOM1mHj43zchCVk+yd4ivChQitwIpv7ELSducfL5RyYfvv85/vDh37YRe5e5tfAezDOua3lbDwJITg3gGo6n88kZ7Of1SO7oa/NAjMm7Ct9eV7OY9jHcCNMQ/r671/+72+/fo/67WX+cpo/L/5yt7/95fLltS4/DIfz+tz7sK6PoH32KtantGdwF0hjAoJLfl2W+Xb3sJRnF0dLwOo0O+yr2cv0RIxDGlNM++Hdsj5dZut7WOq82/0ht883+9v3/M3DzYPA0GCelufd7uH+3d28XnI7oWOQnUc6dOPSlrk8RZH74V3sDgGWl8unHjstObeLYiMZXFvVtq6Pv56/nC4vCGZwO6ZxWc/neVrzGuO+KYP7brgXFhGQoF9eP7MnQehiiIK7cbhZ6lSWY63tEIZqZeh3p+mU8ynnc4i9OzatEXv3jIik90VzIM71lOuS5KBNmFLgnYRQbZEwmntuZ3Bf8sWw70yi7FYr5Ae3FdhLLUxU1rTW50P/IduTal6LMa8xhZbn8/xlG0EHDNP05Eagh6fzpxiCWoe4zEuJ4ebYnnzKMYUg+aWez5d1vz+ocoSbh9vviJK1pevg1QrwaZ0zUyi1GNfIXOqqdBGKVVdXQ1jNU4x9qzNBRBqLtYbdsXxuiofQuVEnFKQLeKR4SB5HTB3F293+8Xw8dLfa5sfjL83LzZD6jgUDox7rT5H2kaK11aEJh5vDOF0eHdbU3wLJZTmZ1z6O0zI7tMPQzevsuv79859zWbsQHj8/PZ6OQra/iUs7a2FiXutZYeVgwruPDx+Or0/VjwZe3fp020m/XD6Xcu7juDaqS3YHMpzr3AGleFuwLusTEXDqWHjM6bfHn0mYuiAxGupa1neHP+Z1ybzOS0UgbVMvty+f5ygYicTsHNGTdOs6z/XLup4i9Sh3tbzm89mcXpdXcuO1Ekcz7qV7On1SnRgGCelSnoPGViCOI3BxpbW99Hyo3vrusE4TCXEIzbSXYJCzXmK3b5n3fZrtUn2tzQIP3CB15DZAk6aTUwUI2ZszSqDX5TND3+l57O+ZBiNueoki7mR4dk6C/Ovpr12jFCJHi91+mhdkC0kcAAWb9xcdASdDLXbuKJL0qrjatK6lx+CEwmMItGYQiU3bbLkPsq5PlAUJOxmCMAGaeoGZhOe1fPvV1/PjX8wLQtNK3x6+5bb+8vIZzM1ys71ZjByhrK0tMY0AjkiqGII7FAft0wHFz9PL8TwP43BejkSyH3o1LK3FSIwukKZ5jhS++fgg3JrGXLzpuQsH6ZPnXGoz4LvbP55Oj6zSoJppUQsiIrfckDDe7B8Q8TytnexMnKmvWYUkwWjYTNkaHroD37shEwy1Woqde1lzbprXDFUN3HPBwG3zUxW7CJA1s9PyCJAA1cDU1QzZA3Ab0m6uLZKYrWtZU7xd8qnWao4hhqLailetIaTctLYpt2rYBGvX34BX6QndJYQkO3JHwxBSoMQBiCDSTS4LukkQr/50/tT3Qx/HWnJrF0Low76W16YKFFLXFzTRehg8tij1gIyqtSqdlieEdBg/qM8NFjTpgrTWslaqec2vRLt3N99VLyaNlUmx+GS4OnCgEVIkl9wWjIiOChusVL3V7As4hUDgtQv7yERu4FZzDhwlfY3OVm1aL1Hk8/MrUR1649D18W4Y/yFwz8CW2wq+Tx8cPaU946BwArR5PTcoxQxqbEjj2Kc+llajUOx3tXlsaxejiDVuFoeYYkypthVRaqvMJELsCiGSS1mXaXoMEgGcDMghhU7NIiVKB0BrtgQRIktpV22tZcllZmIidPPaGMEAW0pR6JCkB7cpT7vxNsVdLuCGfQfn+hIlMsepTFWPKUSpLTtQSmOgONUWowimUgqTSByjjBzQVdecCQCbKSkFjDhqa4bMHFMaHXFuzwE4hiThkMKIANWLYnXnXC69u6GhKRDlWgOxgyAAc4o8hJB2w31tVTyAEhFVk5orhmXsDq3WfTcwEwcmJHTexfuKda5PuS4II5kQU4hs0DdbCCTGj8Iw5xMCJJJd/y5wX6r1dO/WnJJSYTSh3rUFisQpkTBxs7WoRk53uw+5rdP6IiF0aXQH1aq6NqDIIzgZGHD79Pz/TeUsREy4G0OIPTP6OvWShngwxIiCyCQwF3dv6MAhdtjldTL3EAZnVOPUiUoOQn23MzW3Rshd1292kiDCvTBvfgQiRCYmItWs5ogi0gnLND0yOaWuVa1Nm63kxQEdq7rltjTnYlXREA1QiQyQmGKgCMBqVSuCAzOBQ62FUdQ0b1MmwMhdl/pWW9XMgYRjbU0MW8DeFYpPQlEJiBMiqRkCcGBhWexM3HOA2tZISeKu1ebQGAqG1HejeqvLERBjGIlj2FAmngw2SBm12kA2/b01LQCBWB04xMgAtS6uRigAgkiIickArOqymdjNjCiScwoDKKv6tLyqG4V9wH3HPaBlW9FkF27VKnrs486bZD11oXdvNS+DHICsURawaq1ZBmyO5AQiLNSZmwNG6YS52oqE24MR6Qg558m0uoGRIbn70swMKMUhsEQmBxYO5ibSK/icj4BUNr6aO0ArtpS5RrkhkhRH4s7dmrXgrlbMm4KBZgQ2q+7arG4QuJiSiKhr1alaBgjiHQNoy4wgSIRJOHQhubelzOYKV0BC25xU4uLupVlRR1B0woaEgZCFGYTcEI3BgoOVtqw2qzkzgia22krrx10MrJbMpGkJTDF0DVEcUKEwRjXY5MtzOakikzSrqnXobpFIQQ1CA7WWybjWFWmLX+xCKwBuSrPmYMRSi64MCo5ts+W4Olb0CA7NjIgMrDUzL6501RyamrlJEu9om7/ilsPRAKQL3a67a56L5qpFLRs4c4ihr2arTwJRgZtPaB4lVV1rzbnlzVldtRGzogkJopsvauqAhEGEARFRDLRZcyemUK2sywyOgpEkeIMKVQ0IOydXrIBmzugQRSL3JAHAtVU1MzOmQLjR2VR4YBbVXNukDQJHYhISQAbQ3IpIAC9aMpNsAK6NpLappRxBhCgwspChlurmBEQUCZSQWAJhBNqck15rXdZT0wXQi1YwIxQiEgZr5sCCEQGbamlVQZOAYnGLrRmCVfAKW8wabZudmbsBc0SEtc61WTNVM7INBQjigAYRiLXW5pWQHFpRJHODpuvJAbt+51tuDnJpFayBVcANhj8BtBg6gOjApmyu2hSpMAWkaIhgTm6mDXzjzCRHato2UaGbmbXNDFDVtvDgsGUbUDAjlhCSYHBoVMrqWxA08wZP2YjCiTmGnVrdPsCguSuwqltWYxLhZGgVtXnTaqBb/goJJ92A5o7uG86GN1c5GZAIbq5aIMYEvMnEtbmqGhkTshM7gGptWgkocI9EAGqaAZghMpGrgUVsSCACIhCq1da0lEZCrc6EHkLvht7MXbedO1Dvm6Vu26KsIVCk2Mk+hA7Imq0AZIiArpqz5i27E9yLr2pKzgjGTITCxButRYGy1rlWwIoUxLakATPYUkUUkYmZiciE7IozWMvsbmqkzQU2IpwC+P8PIQaQkp0JuAwAAAAASUVORK5CYII=", "text/plain": [ "PILImage mode=RGB size=192x146" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "im = PILImage.create('dog.jpg')\n", "im.thumbnail((192,192))\n", "im" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "#|export\n", "learn = load_learner('model.pkl')" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "('False', TensorBase(0), TensorBase([1.0000e+00, 3.1684e-06]))" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "learn.predict(im)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "categories = ('Dog', 'Cat')\n" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "def classify_image(img):\n", " pred,idx,probs = learn.predict(img)\n", " return dict(zip(categories, map(float, probs)))" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "{'Dog': 0.9999967813491821, 'Cat': 3.1683864563092357e-06}" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classify_image(im)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running on local URL: http://127.0.0.1:7860/\n", "\n", "To create a public link, set `share=True` in `launch()`.\n" ] }, { "data": { "text/plain": [ "(, 'http://127.0.0.1:7860/', None)" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#|export\n", "image = gr.Image(shape=(192,192))\n", "label = gr.Label()\n", "examples = ['dog.jpg', 'cat.jpg', 'dunno.jpg']\n", "\n", "intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n", "intf.launch(inline=False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from nbdev.export import *" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "Path('./app.py').unlink(missing_ok=True)\n", "nb_export('notebook.ipynb')\n", "\n", "g = exec_new('import nbdev.export')\n", "assert hasattr(g['nbdev'].export, 'nb_export')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3.10.5 64-bit", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.5" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "290bc6013710dfcd0ef02d86510bb8ee3131922f7082f051f5318715aafeaacb" } } }, "nbformat": 4, "nbformat_minor": 2 }