{"id":10990,"date":"2024-02-20T12:01:40","date_gmt":"2024-02-20T12:01:40","guid":{"rendered":"https:\/\/www.blopig.com\/blog\/?p=10990"},"modified":"2024-02-20T12:01:41","modified_gmt":"2024-02-20T12:01:41","slug":"plotext-the-matplotlib-lookalike-that-breaks-free-from-x-servers","status":"publish","type":"post","link":"https:\/\/www.blopig.com\/blog\/2024\/02\/plotext-the-matplotlib-lookalike-that-breaks-free-from-x-servers\/","title":{"rendered":"Plotext: The Matplotlib Lookalike That Breaks Free from X Servers"},"content":{"rendered":"\n<p>Imagine this: you&#8217;ve spent days computing intricate analyses, and now it&#8217;s time to bring your findings to life with a nice plot. You fire up your cluster job, scripts hum along, and\u2026 matplotlib throws an error, demanding an X server it can&#8217;t find. Frustration sets in. What a waste of computation! What happened? You just forgot to add the -X to your ssh command, or it may be just that X forwarding is not allowed in your cluster. So you will need to rerun your scripts, once you have modified them to generate a file that you can copy to your local machine rather than plotting it directly.<\/p>\n\n\n\n<p>But wait! <a href=\"https:\/\/pypi.org\/project\/plotext\/\">Plotext<\/a> to the rescue! This Python package provides an interface nearly identical to matplotlib, allowing you to seamlessly transition your plotting code without sacrificing functionality. But why choose Plotext over the familiar matplotlib? The key lies in its text-based backend. This means it is just printing characters in your console to generate the plots, making it ideal for cluster environments where X servers are often absent or restricted. What do those plots look like? Here is an example:<\/p>\n\n\n\n<!--more-->\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import plotext as plt\n\n# Generate some data\nx = [1, 2, 3, 4, 5]\ny = [3, 5, 7, 2, 1]\n\n# Create a line plot\nplt.plot(x, y)\n\n# Customize the plot\nplt.title(\"Plotext in Action!\")\nplt.xlabel(\"X-axis\")\nplt.ylabel(\"Y-axis\")\nplt.show()<\/pre>\n\n\n\n<p><img decoding=\"async\" loading=\"lazy\" src=\"image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAAIVCAYAAABFtsnHAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7s3Qd4FOXaxvF704AkhISE3puAFVCwoIgcRQWOiIoF5NgFu55PsIEFrEexY8UGFsSCFY7YaDZAPSoKIl2QFgiBAAlJdr+ZwOKyzCa7SbbM7H8v9kp2dmbe5\/29y2bunZkdiRsCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggYH8BVxS7EM22o9htmkYAAQQQQAABBBBAoFoFPNW6tiBXFo2N+Wi0GSQHsyGAAAIIIIAAAgggYFuBiAaKSGzUR6IN2442hSOAAAIIIIAAAgggECaBsAaLcGzkV3WdVV0+TOPAahFAAAEEEEAAAQQQiKpAVYNBVZffp\/PVtdEeynrCNW9UR5XGEUAAAQQQQAABBBAIg0AoG\/\/hmteyW6Fs1FuuwJgYzDoCzRNoum9bwcwTqDamI4AAAggggAACCCBgV4FggkGgeQJN97UIZp6AdlXZSK9oWavn\/af5P\/YWGmh6wI7wBAIIIIAAAggggAACDhYItNHvP93\/sUliNc2XqqLnLVkru8Fe3nL+z5X3uLzn\/Av2n9f\/eR4jgAACCCCAAAIIIOAEgfI27P2f831c3nOmi\/\/zvlblPWdpWpmN80DL+E\/3fez93WqaWVh5y\/oW7j+fZaeYiAACCCCAAAIIIICATQUCbdD7Tw8UILzTAz1vsvivy0sVaLolZagb5oHmrygg+AcJq\/mtpvkXHah9\/\/l4jAACCCCAAAIIIICAHQUCbcxbBYPyplUUKIJpp1y\/UDbMA81rFQCsgoPVNLM4c7rVOrzP+XcgUB3+8\/EYAQQQQAABBBBAAAE7CVht3FuFBbNP5nT\/sOD7uLznvCZW7XnXXaFbsBvlgeazCgC+waCi373LV\/TTvyOB6vGfj8cIIIAAAggggAACCNhBoKKN+vKCgX+oCBQo\/NdhulTUbkC7pIDPVPyEf4jwDQP+v3sDhVWw8J9mtuwfLHynVVwZcyCAAAIIIIAAAgggYF8B3417\/41\/\/5BgFSJ8pwVS8K7H3O4OFCYCLVs2vbJBwj9EeBvxDwyhPjbXYxUsvNPL7QxPIoAAAggggAACCCDgAIFAQSJQiPAGh\/J+elmsAkSlwkQwQcI3NJgFWIWIigJDwp7lzPl8fy9vOd+2\/Gvwr8MBrxe6gAACCCCAAAIIIBCnAlZ7BHxDg8lSXkjwPuf2mc\/8vbybuYxvgPAPE\/6P91tXMEFiv4X2TPBu3AcKA1bhwTvN\/6fVOsxmvNO9NVgFikD1MR0BBBBAAAEEEEAAAbsJ+IYKb0Aw+xAoSHjDg\/nT3Fb2PvZdJlCo8A8TIVlVFCT8N9x9w4PZkFUAMKf5BgX\/3\/0fe9dhtafC24bvT28H\/WsLqePMjAACCCCAAAIIIIBAjAj4hgezJO9j35++QcJ\/z4P52NyW9g0T3lDh+5xVd33DhLmMby3+j\/dZvqIgYdWYd1p5IcI\/LJiPre7e0GEVInzXb7bpHxz8H5dXK88hgAACCCCAAAIIIBCrAuUFCd8A4R8mfEOCN0R4t6F990J411\/enomQbUIJEt4Nd6sNeG\/BvoHAGxwSjap8Q0RiTk5Om9TU1AEJCQndXC5XI+Ne05jHar0hd4gFEEAAAQQQQAABBBBwuIDHuBUa97Vut3vujh07puTm5i41+lxq3P0\/jDcpvCHDu9fCnOYfXszlfPdOVEhY3sa7\/3O+QcK3QPP3QHsgvCGi7GeNGjVqNmzY8HojQPRLS0vLrFWrVkZycrJ\/OxUWzQwIIIAAAggggAACCMS7QHFxsWfnzp1bt2\/fnmcEio\/XrVv3SJFxM1zM4GCGCt+f5u\/euxkYzN+t9naYrP4hw\/+xOU+5ewH8N\/C94cG7nH+AMB\/77n3wDRGJRoioYYSIR4wfXerWrdvY6LhKSkpkdFpGmiorhhsCCCCAAAIIIIAAAghULGAc0SPjw3klJSWV3Tdv3rxm165dPxph4oY9YcIMElZhwpzmGyR8A4XZsDdc+BZhubFubuwHuvkGCe\/v3jDh+9Pq3AdzvfvcmzZteqMRIk6oU6dOYyM5lYUIAkQgeqYjgAACCCCAAAIIIFC+gLktXVpaWrZdXbt27Qzjg\/o044ifzPz8\/G8tlrQKA1bTzEX9dyhYrG73IUmWTwQ5MahgkZ2d3dZITH28IYIAEaQusyGAAAIIIIAAAgggUIGAuW1tnCehzMzMJuYpBOa2t7GI1Yf9VtvuFaw98NNmA8He\/PdQWBXiX3DZXgnjxOrTa9asmVlYWBhsW8yHAAIIIIAAAggggAACIQiY29rGHok6xrZ3f2Mx79FB\/tvnVtvw\/tv5QbUaKEgEWpm3YXPl3nm80wKecJ2YmNjVOHYrgz0RQY0JMyGAAAIIIIAAAgggELKAua1tbHfXMbe9jYV9z132hglzu927ze67LW+25bud733srcE3G+ytK5Svf\/XtTKCGLcOEcTJIA+PuChQkzOnGySFROfHae6JKSkqKzN+5IYAAAggggED0BOyyTWCXOqM3krQcLQFzm9u4NTTa990T4T252pxm\/u67Le99HOh8iYBdqUyQ8G3Ym1x8f3qL3nuytdGZ1PJChPkNTsY3OZkniZSddR7Jm3lyytatW7VlyxYZX0VLmIgkPm0hgAACCCDgI2BuK9hhm8AudfLiik8B8\/VpbnsbvTe3xb3fwGT+NLfRvdeT8N+Gr1SYCHar3WoPhDk6\/kX47irxTUEBv6HJfMMwTgxRVlZWVEbbDC5miDFvZpgw90xwQwABBBBAAIHIC9hlm8AudUZ+BGkxFgR8Prz33Rb3brNbhQmzbPN53zDhfVxul8yVBXvzhgnv\/L7hwjdQeIs2p5m\/m2nIf9m9bZpfWZWRkRFsDWGbz6zBrIUbAggggAACCERHwC7bBHapMzqjSKsxImBue3vPkfBuk\/t+4O\/ddjfL9d9O938csEuhBAnvSnxX7i3C\/6dvAiq3DTM1RfpwJisNs4ZAh19Zzc80BBBAAAEEEKheAbtsE9ilzuodHdZmQwH\/7XH\/7XXfMGF2L+gA4bUodyO\/HDCrhv2L8y2+nFXxFAIIIIAAAggggAACCFSzgO+2uP92um9o8N+uD7qMioKEfzKxeuyd5i3CXKd\/sUEXxIwIIIAAAggggAACCCBQZQH\/7XHfbXRz5VYBwmpbP2AhwZ5sbbUC34b8CzUfs0fCSo1pCCCAAAIIIIAAAnElkOTy6Khau3R0apHaJBcrO8n88iRpU0mClhYn65sdNfTtzhSVePy346vEFMoeiUo1VJkg4Zte\/JOMt\/f7BAvjWMJqValUT1kIAQQQQAABBBBAAIEIC3Q3wsMFmQVqlLT\/l\/o0SS6Vee+RWqi1JYl6eUu6vjZCRVVve7a9\/T\/oN1fru01utU0f0rUkrA5tCrTRH2i6tyj\/Yr2Prdqoqg\/LI4AAAggggAACCCAQswLmBvDFRoC4OSffMkT4F24GjVuMec1lqmnj2ep0A9\/tdf8SvI8DbfPvNz2YPRL7LbSnFe90\/4K8j83ZAi0bqHCmI4AAAs4QcKWr2WGddVDrutr01Yeat373bmxndI5eIBA7AubFZE8++WT16NFDzZo1Kyvszz\/\/1MyZM\/XJJ5\/IvPAsNwSiIXChEQgGZOwIuWlzGXO3wEvG3olquPlvr5urtNp2t2rKnK\/cPRTBBAlvg4Ea8J3uW5h\/kVbLMw0BBBBwpkByZ136yFj1SV2j1y772HFBIqFGlho3z1HJn39oXWHwQ1jZ5YJvgTnjScC8oOzIkSO1YcMGvfLKK1q6dGlZ99u2bavTTjtNJ554osaMGaPNmzfHEwt9jQEB83CmyoQIb+lnGGFiYVGycd5ElQ5zCma7PNCH\/hWGCLPWYINEZYbENwFVZnnLZVq2bKmhQ4eqVatWqlEjMG5RUZGWL1+uZ599VitWrLBcFxMRQACBuBKo2Vjd+g3U6Sd1V6e2jZRZ06OdeWu1dMFcffnxO\/pgzgptL\/ezp91arow+evDjO9UjaaHGnXeRXl4R3N6Wyi4n1VKLnoN1yaA+OqpDQ6V7tumvhbM1edzjeuuXrcbHZQlqdO4zeuf\/OivZd0CLv9eDA67UZGNvUELdzjr3mit01nEHqqFxwmPukrn6+MUn9NLMNdplfDiXceAZuurq83TCIY2VVpqnlT9M18tPPKvpy0NISXH1Yop+Z809EWaImD17tqZMmbJPQQsWLJB5P+uss8rmGTFiRNT3TPjXGEhwwIABgZ5iuk0EzBOrzb0R+91cxpFGngDvlxbPXZxVoPmFNYwTsPdbU7ATwrIt7tt4ZYOEb3qxKtJ3WqCkEyzCPvNdccUVmjNnju677z5t27bN8iJyLpdLtWvX1vHHH69hw4bp5ptvrlRbLIQAAgg4RaBm69N06\/036pSWicpbMk\/fTJujjTtdSm\/YRod1O1M39DpD581+UjffPkm\/VZgmEpSYUJm39sotV7PrNXr8gYFq7HKreEeBio29IS0O76\/\/e6imcs8epS\/ypfTa6Uac8Khw8xqt37bnhMaS9dpq\/gVObKMhDz2mqw6pqeLNK7X0rwy17vgPXXJfG9UYNlhPbj5N9z0xXN1qS4V567QpIUdtjxusMe1zVDzkdn25ufJ\/xZ3y+onFfpiHM5l7IsrbQH\/77bd1wAEHqHfv3po6dWpUu0FACD\/\/vHnzym2ka9eu5T5fXU8eXatIDf1PrDaCQsO7J6tg5rsqmP76Pk2l9x6k9OPP0LqRZ+8TNMxzJo4y1jWn8idfm2\/UFW2ne2upzJt6yHskAjViFRwCzVulcTL3RNx1113asSPwMWfmFSe3bt2qzz\/\/XOeff36V2mNhBBCws0CiGh57mf5v2Gnq2jpLSTu3aP2Kz\/TojQ9rdl4tdb3iYd3Yt60a1k1T0q48rfr5c0187ClNXbrT2PhspzNvv0H9D26uBll1VNv49H7bXws089XH9dj7i\/7+5N6VoQP7D9Wwc3vpsOaZSij4S79MHqMbJuxxczXQaQ99orPSa6ho\/ULNfO0RPfzObyrwbpsm1lPX86\/RsDOOVYecRG1b87M+n\/C4xn38h3YY86T0HKNP\/3OKUv3eUUsWP6shQ8ZrSUIDHTV4mC4+rbs6NjKOpy3M18a\/VmjRR0\/ozkm\/GZ+2G9\/FXe9E3fb4beqd9rsm3\/aQ5mT318VnG4d9NEpV6bZ1WrH4E03e2Fp9+1yvh27ZqCGjPtMmT2C7Od4vHkk6UFe99Z2uMtoo\/nGszhj2gZoNLcfU+1Lab7lJWucO3N7s71\/SoxM8ajB3ot6bv07upoP1xKTr1CWzi7q2S9IX8z1Kz0g3\/loW68enLtJ172\/Z56DehDYn6KSOtaQds3Xfef+nj\/Ky1G\/sFN1+XDMddVQr\/dd9hrpkuLTrpyf1rysmaHlie1323Iu6rEMvDTrlWX3\/+2l69N6z1WDpyxrx75f1KzspYuJNwTwnwjycqaLbhx9+WLYtEO0gUVGdPF89AoHCQkUho3pa372Wo1LNd16\/m7EnwgwROdc8JFdyirZ9\/HLZDGaIMKdteuZWy70VR1YtSHiLCGU73Zw36E9PKrtHwp8n0ONqDxPmrszyQoRvIeZ8KSkpgWpjOgIIOFzAldNXN91zsY6tVaL81cu0qihdjeolq6hsK36X3OmNVD+5UFvW71DN7AZqc\/Q5GtVgh5YPfloLExrq0B5HqGOaR7sK8pS\/I111m3fVgFselHvtObr\/O\/PDjFo6+PIn9dQlHY3f3CratkWFNRuqtnursUlrfLxt3lxJSq3pVp6RCuo26aR\/Dn9QpWsG6p5vzOVT1eXqJ\/Xo4NZKLt6itRuKlNniSJ096gnV3TVYt07fJM\/2XK1auVK1zHfTxNpq0KSuahqfzO80Pond6qqjY0Y8o7GnN1Viab7WLFuikpw2atH+CDVY21xJZUEiVUdedp1619ukz0fepI+a3qtnrzhISRt+0oxpW9SqZw8d2GWDPj5zuP6T\/pruPPEyDZz4pZ7dVI6dsU1edvMUKW\/tOm0tlkrWbVVpBaaL9iy2\/3IGU3lj5d6oL8c96F1aCSW7k4yndKPW55q\/Jyuzbh25jA+RajQ8RF0OXKVlS1Ypb9eev4XGuGwtNVNZMx18YI4+mVdXjXOMg6CMcVq2ZKNSD00t+4aUws0btNk8L7d4ib6Zt06XdGymdh3bqVXWCTrQCJuJGT11RIMJ+nVlgEMT9lbIL5EQaNq0qZYtW1ZhU0uWLNl7EnaFMzMDAtUg0CbFeFO0uHn3RJjBwbx5inftDRHeYOG\/WLsa1uvyn6+cx9W+Le7bVmWChG9BgYoLZp5y+hz6U+auTXYbhu7GEgg4WSChXjM1qeGSp3C+nr7iBr2zvlQJScbbXtmXuJTox7ED9I+HU1S7bqZS6\/bSyOevV7dmndWpXoIWbtoj4\/lLb10\/UI\/+Wk8Dn3hTw7vWV4+eB2nsd\/NUWu9kXT6og2p5Nmv2g8N02zvLtTMhVWnJO41Y0WT3Ctx\/adLVZ+nRBfV0lrH8iG456n78QUr+xli+\/qm65KxWRoj4RU8NGaaXl5WowemP6M1bj1aPAb1U77O3tGHeYxoy8DFjSztdna95Tk+cn6WSNVM1+p6PlNvgbN3dt4mSPGv10U0XaPSsrWp72URNvLzd38OaeqT6\/KO+3L8\/o\/HftNWQdw9UraIfNHbolXpzXVsNPfA4tWtuzO7O1RdTZun6HqeqW9fGeuH7cuy8QaJ0qV6\/bt9zJDaVY7po+56yLJZLLHes\/u6Oq\/ZhunTM5eqU7Na6j1\/Q++ZGfUKm6mUny+VKVpdLH9Yzl3pUunWJ\/vv47br\/\/SUq3DBV48afqEevOFxnjH1XvfLdqpMprXpvtB7+crMKd3yn9ecNUKOeI\/XGqwO0PD9R9do0MsKFS8m1amjZlHGa2LCv6q98V1P\/tAgRxl6hnjfcp5tOa6XS5d\/og1df0puz8nT0bY9ooOsd3XPne1pmsdjfveK3cAqYhzvHwq28Q7B862NbJhZGq2o11E0I\/B\/eP0zkPnHjfoc6+bZe3rqCqDKY7XH\/eYLeG2G2X5kg4a07Nv5nBqHILAggEJ8Cpcu\/1lerBqllq6M04u33dOoX72vShEn6fKlxElxCfR1z5R0acfYRxsm35ibjnltJqlK9G8q+bKUbtODX9XJ3bak62ZlKNJ5zdThMBxm7Ctx5s\/XWB0aIMN9+S3dou\/kh+d6doXvek90b9OtvxmE53VqpjhFcypZvf7A6GEHH5TpEV735VdkhQt6bu2ETNTQ+Jt9Q9vfIpeyew3XXoLZK2fGznrrpAc3IdSulR0e1Szbb\/06ffJNn7Is217rvLbFFR7VPk9Z+P19rGh2l9hkJKv1jnuatNVbs9y5evP4vbTQOMco0+ucpz86\/Ee\/jiky9QcJi+XLHas\/8CTlH69qH79V5HVK1Ze7jGvHgLOWZvJ48ffGfy\/R7VobqNjLO+TihvwYc1059bhqttYuG6NnFNZWZk2EMSYlyF\/6oNVmH6dDMJDXrOUinvj1Pr337mG64q0hXD\/6HDmt5mDoXbVJ+QqLB49aO\/K0q\/OtrjRs1w6Jqc5Jxonava3Xb2Qcrw20M\/IEn6bL7TtQl5l6TxATlf7pNuSH9WQ7QDJP3E1i9erXatGlTdlJ1eTdznlWrVpU3S0SeIyBEhJlGKidQ6W36qgSJypVazUv5Jnzv7\/xnrWZkVoeAXQUKf9QTxre8LTv\/Ap33z+46tM9QHXpCDz0\/9FK93uAa3TGkmzIKftHb497ST9sP0JnDB6uzGQACvKWW7Nqzi9mVWHYojNv4uXvT3WN88UPFSCW79nyfvd\/ynqI\/9Nkbs+X7Ybc7\/3\/yXnoiodE\/ddstp6iRa5O+\/M8oTfh9z0H6xsl7ZaUajQdqPiG9ttKNQ6HWbTbPG9jTMeNYXav5XSk1lWJ820jhzkJjL84fAe3Gr\/EeQGuGoL\/7ndajYtPd7e67XNkayhmr5xfuUkJOD9389H06vUWC1n1xn6674z0tL\/K2bXwL07JflVv28Bt9OXW28l6cpKsPaqnDO9dTzYwLdPPAdqqx6lVdM\/Qx\/VxaXyeOGq97+hyhyy45Xh\/cNF1Lpz6sG4y7eUswDrP6z5u363hPsX7\/9Y\/dO7C8Te330wh56aVatXia3rrhHn2T1UPnXDRE\/Y9ppcTlH+r+x7\/UVivs\/dbDhFAFzOtEmF\/xWlGQMOeZMWNGqKtnfgQqLbDZnaAmCd6TyfZdje85Ed5Dm3zPmfBvdHNpNV2azn\/F1fS4OoNEgD+91VRpgNV4QwOHNgUAYjIC8SyQlKEs9+\/60PhGng\/Ht9OlT03Q0IPb6fhjmmv6riZKN96fSxZ9rBcnT1NuUp6OuGbQ7iARpFnJ8sVaVnKKDsnsrv69m+iHj82vEk1Wenqitluca+e\/WnP5pcbyhyZnKmX9p5rw7hJtN3YUpGQ1Up2idcbeAWOJhGY647br1N04FGfth\/fqvmlrjc\/Jd99Klv+h5SUn6+Cso9XvH031y5c71SC71j45yFNYqEJjSnp6mnFuxzKtNHabtGlygNqku7Tc+HYm9549HsamvTLbtze+GWm7vli8RqWGXbalXVO9MLFABcXG1nGthmrTyjjJeflW41SQFOU0K9\/UU2i1nHmoWYncAcfKaO\/3AvW55Xb1b5Gk3Jn36KpRH+hP38OGU3LUNHun1q7dbpynYZwx0aCD2uWYX7O4SwUFRarVqLHqGn+hPLsKVXbaREmeVvy5xXBspOS0dCM8GdPKNvZTlG3sUbjkpv\/TccaeG\/fGz\/TW57lKaHScLh3aR\/VXTNHTE+bK2Bnkc3Nr+Xu365L39kzK\/UzP3WrcfWfh97AITJ8+vew6EeZXvJrfzmR1GzhwYNk1JR544AGrp5kWokBFJywHOtE5xGZsP\/sS4\/oPTfy\/tcnolW+I8D0nwnvOhNV5En\/s2udLravLptq22aszSHg7V23FVZcW60EAgfgUSOp4kZ5\/9kylrTe+ErQgRY3aGPsPPAX6a02u1m\/6XZvch6j+EdfqxZf\/oZXbaqtN7dDevtyrp2riZ+fqvlMa6MQ73tWx\/96iHQnpqvXjfep3i\/GdpBXc3Ks\/1svTBuo\/\/2ys40e8pulXbVGBO1V10gs19Ya+Gv11sbJOvEpDu2YYe0CKldbtOj3\/1nVla3Wv\/0i3X\/+x3ph5rsb8o6FOGTNFp1i0V\/qnER6KE9T14IOUtWOa3p26RicM7KXhj96pg39J1OENjD4nttZJV9yiXt26KfHPNzXFOJE8qaPRlqXdZnlKtmn+Tzt08jFZ6n33e+qyaZdq7pyq4Q9XYFryq+Vy1w16XAsDjtVmuRr2Uf+j6xgGpap10EV6fPJFe3rqUe7U23XN3JM07rlzlW2eFF+YoHTj0KxUY6hL136qKXO2KL\/WDH2\/7Sgd3e5iPf9eL63IT1Pz1vWV5N6mb7\/8VnmuRjr9\/nG6\/IgGyq6dogRjr4x76896edQjmpWfoA7nX6uL+rZUYkkjrfpyvl7hZGuLV1rkJxUXF5ddbG7UqFFlX\/FqfjuTeWK1efNekM78mZmZqQsuuEAvvPBC5Iv0adEJ50jYIShUFHYi8SIwLyJ3fJrf17sZe5DTjh8g\/3MivOdMmF\/\/um2q8XV\/fteZqOIF6fy7G9ofOf+lLR6HI0h4m6n2Yi3q3zuJw5nK0+E5BOJTIDEhX3+u2KpDWrRW+0bF2rZugT55\/xk9Nt34diXP07r54Zq67pzj1MH8liNjQ33HltVa+McPWrY1SC\/jJOsv7x6mEauv1IWndlW7hplK37lRy7aUKC2Yd0Dj2P7Z9w3VDX8aX9\/a72h1aJKpOqUF2rBkodYVpxj7CEqU2XT3p\/zmNxNlNGyhjD2luZOzVMOzUdPvHKqdvw\/Raca5Gxmlm7QlvYt6HpIld0lx2afznvxv9MXc7ep+zLkactg0PfL4v3WnhuvyU07UwNabtfj7OfrlgMPV8aQTtP6nt3TnA+P0o\/HttzXKsTP\/zn18\/x1qfvNV6telmYyLC2vDwiJ5\/vdy+abGty9ZLZdsbPSXN1aug3KUXXZSSaLS6zWV8SW3XgUlZ9YwAsEG\/fbTch3SpomyjRl3bVmpH777WBOeeV1fbTF2NWx5T7dd7dGVVw1Sr8Na6IBM49umVs7Tfyc\/rXHv\/mXsmchRYno91UnYpjWLFuunr40A8vY0\/ZxrHorm0uq5M7TwtLPVcMUs\/eA93izIlwizhVfAvGL18OHDZV5TYvDgwWrevLlxuJ1LK41vOjMPZzL3RJghol+\/fmWFRDNMsJ0S3teCufZYCTrf7kzR2pJEmdeB2Hsz3jjXjzxnv6BgPm+GiYJPJ+33nLmO76p2ZWtv88H8RarUAFmt2Hea+bvv3TxQy3s339a9dzOQmPtezJ\/mEcbm73t\/tmrVakpaWlq2MW2\/m\/kVreYnCcHcKnMORCjLLF68WKmpqcGUwjwIIIBADAgYF99s2FgJm9Yo3zzUJ6W5zn1kgv7draZWvHyRzhu3sCxMpHS4RM89N1Qdt8\/Vc7ffpQnzNhqxiRsCsScQyjZBKNVfcsklZWHioYce0ldffRXUouVtE4SrzqAK85upvDorsz6WqR6BY1KLdEtOxXumy2vt7o11Kh0ktm\/fvmn58uXmZdLNA23Nt3zfn2VfdG3czZ\/mnwnv3Txw03s3D\/j0vRsPy277nPUVzj0S3gar7Wdl0nxllqm2glkRAgggEE4BV12dNHKybupUqE2bja9Eqp2jnHTjc5wdP+mDqYvL\/jKYt12LXtKIW9N13+3naei4KTrz9\/ma98tyrc8vksv4jKdJky2aevs4zSnnW5XC2Q3WjUC4Bcw9EYsWLdLXX38d7qZYPwJlAl8bV6OesjVVAzICX0C5PKp3jGWraW9Eec1U+TlbBYkq95YVIIAAAk4ScKWqaN2vWpHXUg2zjWP+i42TiOfCZK3YAAAgAElEQVR9pSnPP6U3l\/vsUjc+YNow5zFdfs4nOqF\/f53c\/XAdcXIXZRknEhRt3aQNq75SzTRjZ7N5pjc3BBwqEOyeCId2n25FQeDlLellH9+fEWKYMEPEBGNZO9wIEnYYJWpEAAEErATcf+rjuy\/Xx1bPWUwrzVukz1427xZPMgkBBBBAoFoFzI9mXjICwULjW5wuzirY95wJi5bMcyLG56VrbvWcF2HRQvVPIkhUvylrRAABBBBAAAEEEECgTMD85qX5hSk6qtYuHVmrSG1TipWTtHsPcG5JgpYYX\/FqHsZknqRd4rE6fTl2IQkSsTs2VIYAAggggAACCCDgAAEzIMwxzpsw7066xfbl8pwkTV8QQAABBBBAAAEEEHCQAEHCQYNJVxBAAAEEEEAAAQQQiJRA1IOEeeGYkhLza2yjezNrMGvhhgACCCCAAALREbDLNoFd6ozOKNJqPAlEPUgkJCRo69ZgLyMbvqExazBr4YYAAggggAAC0RGwyzaBXeqMzijSajwJRP1k6+TkZG3ZsqXMPCMjQ0lJkS3J3BNhhgizBrMWbggggAACCCAQHQG7bBPYpc7ojCKtxpNAZLfaLWTNVJ+YmKi8vDxt2rRJHs8+V962WKJ6J5m7J80azADDHonqtWVtCCCAAAIIhCJgl20Cu9QZij3zIlAZgagHCbNoM0iY\/ykjHSK8YGaY4PyIyrx8WAYBBBBAAIHqFbDLNoFd6qze0WFtCOwrEBNBwiyJjXlemggggAACCCBgCthlm8AudfKqQiBcApxdHC5Z1osAAggggAACCCCAgIMFCBIOHly6hgACCCCAAAIIIIBAuAQIEuGSZb0IIIAAAggggAACCDhYgCDh4MGlawgggAACCCCAAAIIhEsgYidbFxUVhasPrBcBBBBAAAEEEEAAAQQiLBCxIJG2JrLXh4iwI80hgAACCCCAAAIIIBATAvkNIlNGxIKE2Z0vVn8bmV7RCgIIIIAAAggggAACDhDo1fSomO0F50jE7NBQGAIIIIAAAggggAACsStAkIjdsaEyBBBAAAEEEEAAAQRiVoAgEbNDQ2EIIIAAAggggAACCMSuAEEidseGyhBAoBoFPFs+0fC+fdSz9+577zGzVaXvkivcoN++m6fF+RH4IolqamvHTy\/okjMH6epJS1RSjbZhXVUQfbdlv8KKxsoRQACByAgQJCLjTCsIIBBOAc82zXpkqAacfrp6ndxXvfoO1FlDR+rh935T3p7tfFdGd9341NN66dn7NKRD1b9nonTlR7pv9HP6cp07nD0rW3f1tOVR4fo\/tbYgX6v\/3Bz+IOHJ039HnaOT+52ha99dp8oqVdz3CPfL6Mmfb96gE\/veqg82RSBEhv3VRQMIIIBA5QWq\/te08m2zJAIIIFBNAqXK37BOBe0G6fFhXVWjZJtW\/\/CRnh8\/Sn8UjtWT57ZUYkK6GrRIlzzpyq5ZTc3aajUu1T1phMa3Wqek5q0VbgL3+lma9vtBumhIsV77bIZWnX6uWoblo6vI9stWQ06xCCCAQJgFCBJhBmb1CCAQOQFXWgO1adNatYwm27VvJy29QPfM+Forz26p1sFuxJbmat7kF\/Ti1PlamifVbdNV\/S64WOd1yVGi2ZWSX\/T4hbfo3Q27P2N\/45p\/6o2yLrqUeepovXXD4Uo2H3q2asEHr+jlafO1aE2+Euq21dH9L9aVAw5UHZfkzp2tu699SIsOv1Xj\/n2ksoxpni3f6oFr7tfC7qP11NBDlVYaZFtl7Qe+mYd1jRj8mOYV754n5bhb9OGo41TDdxGj3nmvPKyXv1quNRvzVbArUZktDtOpFwzTBUfVV2h\/LNxa+cXnWnHImRpzcol+eXOypv8xUJe3LxPccyvRxh8\/1Ctvfaa5i9Zoc6FLtTIb6pCzhmvMGa2VGIRzUjD9MluraEwr23djzLghgAAC8SwQ2t+GeJai7wggYDOBJKWkGOnB45Yn6CNQduh\/z4\/UbdMS1evC63VJC4+WffqaXhx1m7bc+4iuPixVSmqvIf95Rv\/84x3d8sD\/dPhNd+qcspTiUmJazp4N7iItnDBSwz9K1ikXXq0L26Zqy8\/v6+kX79J9qU\/q3lPqKSHnWP17xG+6euSjeqDDWN3dp4ZmjRunGbXP1CMXGSHC3EgNqq2Kh8WVcaxGPHugdrrz9fnYW\/cEH\/\/lirTqlx\/0e81+uvW2bsr0bNbPH76iifc+pDrP3K+zGgebxIz1lq7QzFnrddg5h6t2nRIde9DTemPOEl3cvv0eH49yZxme93+lxC6n6dyrh6h53Roqzlur7Y0aqKylIPoeXL+CGFPjbJlQ+u5KMAcnQS6ChP+LiMcIIBBnAgSJOBtwuotAPAi4d+Vr1fx39Po3O9W47xFq7vtBeDkAnk2z9NrUv9Rm0DgNH9CsbA\/EEYc1V\/HqqzVx8mydd+jJynalKKtxU2Vsq61kV5IyGjZV82b7NuDJm6VX3l2vrtc9p2t71TEihnFr31LFv1+oez\/\/Vrkn\/1P1ja3Q9E4XaeT5f+i65+7XIyvr6Ov5DXXBw+eq495dBRW3VU53\/n4qIU31mqYZoSpVWfvshth\/6YT6HdW9a6eyvRWdWu\/QTxc8r+\/+t1VnNs7c3Y\/9F9lvSunyrzRzw4E6t0ta2cb2Ed3a6rH3vtGSC9qr7PSUkt806YVZ2t7pCo0f3UcN92aUzj7rCqLvQfQrqDHd02pwfXepRo0Uo18pqlmDJLHf4DMBAQTiSoAgEVfDTWcRcLZA8TcPqe8pDxl7IDxypWTroN7Xa\/SQDrsPNQqi6yUrFmtJSX31PqzR7sOYzGUSG6vzofX10ud\/aEWpESSCeNcsWb5IiwsLlP\/Qv9R7rE\/DpSVyN9qoTcZRUfXLskeK2p59oy7\/6Ro9+v4KdbjoSZ3dquzAqJi4JWQ2UqNUj5Zu3SaPgg0SpVr+1Tfa0LG\/umbs3tDOPryrWj\/3qb5aMUQd2ibKveF3LdyYoIMGHasGIezoqAxKUGNqETQD992l2pl1lFQrVXVSKlMRyyCAAALOEQjiT6JzOktPEEDA2QJJnS7U41d0U1pKmrLrZystrO9w5XwabQQZT2JD9bnldg30O8PYlVR7T4jYPRbujb9q\/vJipRvFLp81Q7+f\/i8duN+Z0OW0FeKQhrYmlxLKjg4L+tgw4+SPNfrmu9XasWyczun31J7qPDIylErmrtZFbVsYR4G5yvZuuII6Nii4ioObKxSswH1PbtBcBxyQqvphDkGhVMu8CCCAQDQEwvpnNhodok0EEIhfAVetHLVs2bzsZOvAtyQlJ7vkKdyhncb2se\/RKUktD1DbpM\/0809rVdpx96FNKv1LP\/68QUlt2qml7yfXySlK8ezU9u37b2QntWqvdsZ6flu6Sw2Oa7fvSc2+hRUt1Rv3PaNf2lymJ65M0fP\/flL3PX+wnrq6i2r7bhmX01bgflo9U8M4LMfo+\/ZtKvDru9XclZnmXjdP3\/zZVANH36x+jbydcGvJ5Dt0\/9zvte68Fmpcr53aZ7v16Wxjz8WJvcvfKxFU3wP3K6QxDbLDrsY9dNn5SapX\/eklyAqYDQEEEIgNAYJEbIwDVSCAQKQEXGlq0Txb7qn\/1auf1VW3tG1aq7bqd0xzJWYfr8F9pmjEG\/fpPymD9I9mHi3\/\/HVNXNZI\/e49zjg\/4u8iExu1Vuu0LZo16TUdWtpJWe5NWrmrtfofZ3zVbN0e+tfpH+rGyXdpRMGZOq1rS2UlFWnT6lxlHNVXRzYwV7RTv0wYqwkbj9Rtd\/RRyyzp\/676UZff\/4Se6faYbjwyY+85CeW2FYqbq5Zat2kszzvT9Mp\/s9W9znb95W6j045t8fehXKGsb795Pdr8vfFtV2kddFHn5mruc5RW9hHtlTxjvuZtGqD+OQfp7H8dqRljn9INo1bprJMOVYvMZJXuyPt7LPasO6i+l9evYMZ0\/yy4X8\/2TvCs05S7rtGTvySr+4gXNOYff49T4IV4BgEEEHCmgMWRofucT1e29znA3dyp63s312U+Nn\/uc8\/Kyjq35vaE1Av+fakzFekVAghEWaBQiz9\/T3OTjtZ5PVtWcE5EgnJaN9GuxV9r2ofTNP27JcrPPEg9OzdWiitZDTsfrQ6eJfr8\/Xf1ziffaXliR515w426uEvm7m8T8vY0ubEOaLJTi776VO999F99NneZCrIP0fGdGpWtp36nY9WlTp4WGM9\/YLQzbeb3WrTRo+Zdj1XHrAQVLXpNI59crK43jtKgdjWNN1rj60+bd1CdJe9r4hc71PmUw9XA+1FPuW2FQp+guq1bKGHZN0bfp+oTo+9bMw9Wzy5G37VDC6d\/oO9rdteg41vs\/nYl91p9\/e4MberQR\/0O2XPSeHnNGRcGnPP6i\/om8xQNPbGNavoEr6Qaufr2vS+V2\/JU9WpTU+ltjtbx7Wto\/YKv9N+Pp+qD\/36pOT+tVEGGcbK3MRZ79xQF1fdy+hXUmIbSd4+2\/vGNvl2bpaP7naou9fk8rryXBM8hgEDVBV55eHzIKylK9+zcsmXLm8aCpcbd\/L5y\/5\/mNPNufpRidQ+qTasds77T\/EOEf3DwBgbzndT87Mn8aZ5+Zv6+92erVq2m1FmfmP3F6m+DKoqZEEAAAQQQQAABBBBAQOrV9KiQGfIblG5avnz5AGPBXcbdvIqQ70\/jrLWyaeZPM2B4795wYRUwvDXssw+XU8W8LPxEAAEEEEAAAQQQQACBoAUIEkFTMSMCCCCAAAIIIIAAAgh4BQgSvBYQQAABBBBAAAEEEEAgZAGCRMhkLIAAAggggAACCCCAAAIECV4DCCCAAAIIIIAAAgggELIAQSJkMhZAAAEEEEAAAQQQQAABggSvAQQQQAABBBBAAAEEEAhZgCARMhkLIIAAAggggAACCCCAAEGC1wACCCCAAAIIIIAAAgiELECQCJmMBRBAAAEEEEAAAQQQQIAgwWsAAQQQQAABBBBAAAEEQhZICnmJCC\/Qs3efCLdIcwgggAACCCCAAAIIREdgxvSp0Wm4Eq3GfJAw+2Qn0EqMAYsggAACCCCAAAIIICC7fYDOoU28aBFAAAEEEEAAAQQQQCBkAYJEyGQsgAACCCCAAAIIIIAAAgQJXgMIIIAAAggggAACCCAQsgBBImQyFkAAAQQQQAABBBBAAAGCBK8BBBBAAAEEEEAAAQQQCFmAIBEyGQsggAACCCCAAAIIIIAAQYLXAAIIIIAAAggggAACCIQsYIvrSITcKxZAAAEEEKiSwN3v\/7nf8iP7N9tvGhMQQAABBOJXgD0S8Tv29BwBBBBAAAEEEEAAgUoLECQqTceCCCCAAAIIIIAAAgjErwBBIn7Hnp4jgAACCCCAAAIIIFBpAYJEpelYEAEEEEAAAQQQQACB+BWI7MnWJb\/o8Qtv0bsb3PuJJzQcoMdfvEwHR7ai\/epgAgIIIIAAAggggAACCFQsENnN9sS2OvvOsTqx2LO3Ms\/WH\/TCfyZpfZdOapZYccHMgQACCCCAAAIIIIAAAtEXiGyQcNVSw7bt1dDbb0++5jz4X\/2S9U+NHdpVdVzRB6ECBBBAAAEEEEAAAQQQqFggqudIFC54U8\/McKvnhefokFoVF8scCCCAAAIIIIAAAgggEBsCkd0j4dtnz0Z9+vonyu1wvv51TIa8OyN69u4TGzJUgQACCDhEwOrichV1zeric\/7rsZqnovXyPAIIIICAcwSiFiTcy6frvZ+S1f2Wk9TUZ7\/IjOlT99ElWDjnxUZPEEAAAQQQQAABBJwjEKVDm0q1eMZMrcw4Wid3S9+7N8I5rPQEAQQQQAABBBBAAAFnC0QnSJSu1NffrVP6EUfr0BrOBqZ3CCCAAAIIIIAAAgg4USAqQcKd95t+WZ2g9oe0FznCiS8r+oQAAggggAACCCDgdIGoBInSNav0p6eumjdN47Amp7\/C6B8CCCCAAAIIIICAIwWicrJ18mFX6u19z6l2JC6dQgABBBBAAAEEEEDAqQJR2SPhVEz6hQACCCCAAAIIIIBAvAgQJOJlpOknAggggAACCCCAAALVKBCVQ5uqsX5WhQACCMSNgP8F4YLteHVdOM5\/PVb1+M8TbI3MhwACCCBgPwH2SNhvzKgYAQQQQAABBBBAAIGoCxAkoj4EFIAAAggggAACCCCAgP0ECBL2GzMqRgABBBBAAAEEEEAg6gIEiagPAQUggAACCCCAAAIIIGA\/AYKE\/caMihFAAAEEEEAAAQQQiLoAQSLqQ0ABCCCAAAIIIIAAAgjYT4AgYb8xo2IEEEAAAQQQQAABBKIuQJCI+hBQAAIIIIAAAggggAAC9hPggnT2GzMqRgABBwhYXcytom7F2sXerOrx75fVPBX1k+cRQAABBOwhwB4Je4wTVSKAAAIIIIAAAgggEFMCBImYGg6KQQABBBBAAAEEEEDAHgIECXuME1UigAACCCCAAAIIIBBTAgSJmBoOikEAAQQQQAABBBBAwB4CBAl7jBNVIoAAAggggAACCCAQUwIEiZgaDopBAAEEEEAAAQQQQMAeAgQJe4wTVSKAAAIIIIAAAgggEFMCBImYGg6KQQABBBBAAAEEEEDAHgJckM4e40SVCCAQIwL+F1yrbFlOvVCbf7+C8fJfprKmLIcAAgggEFkB9khE1pvWEEAAAQQQQAABBBBwhABBwhHDSCcQQAABBBBAAAEEEIisAEEist60hgACCCCAAAIIIICAIwQIEo4YRjqBAAIIIIAAAggggEBkBQgSkfWmNQQQQAABBBBAAAEEHCFAkHDEMNIJBBBAAAEEEEAAAQQiK0CQiKw3rSGAAAIIIIAAAggg4AgBgoQjhpFOIIAAAggggAACCCAQWQEuSBdZb1pDAIEYEQjmQmlWpXLxNCuVwNOC8bIai2CWC9wqzyCAAAIIREKAPRKRUKYNBBBAAAEEEEAAAQQcJkCQcNiA0h0EEEAAAQQQQAABBCIhQJCIhDJtIIAAAggggAACCCDgMAGChMMGlO4ggAACCCCAAAIIIBAJAYJEJJRpAwEEEEAAAQQQQAABhwkQJBw2oHQHAQQQQAABBBBAAIFICBAkIqFMGwgggAACCCCAAAIIOEyAIOGwAaU7CCCAAAIIIIAAAghEQoAL0kVCmTYQQCCsAlYXNKuoQS54VpFQ5J63Ggv\/MbWaJ3IV0hICCCCAgJUAeySsVJiGAAIIIIAAAggggAAC5QoQJMrl4UkEEEAAAQQQQAABBBCwEiBIWKkwDQEEEEAAAQQQQAABBMoVIEiUy8OTCCCAAAIIIIAAAgggYCUQpZOtPdq5Zr4+fn+6Zv6wSCs2t9Rlz4\/WadkuqxqZhgACCCCAAAIIIIAAAjEmEIUgsUsrP3lUI8f\/ocY9T1bfi\/upWf0cNc4gRMTYa4NyEEAAAQQQQAABBBAIKBDxIFG08HWNfmmr+j\/4pM5qWSNgYTyBAAIIIIAAAggggAACsSsQ2SDhKdBX70zVquSGmnHPpZqQW6SUnHY69syLddnJbZTGTonYfaVQGQIIIIAAAggggAACPgKRDRKlf+jHXwqV07G7zujfSS3quLXmq1f1yGN3aHvtp3Rr9wyd0LsPA4QAAnEq4H8RsmAZuFhZsFL2mc9\/TIN5bfgvY5\/eUikCCCBgT4GIBgnPzlxtLHCpabeTdULnTJk7INq0HKbVc6\/Sq1\/8Tzu699CM6VP3kexJsLDnK4uqEUAAAQQQQAABBBwtENGvf3UlJSvJ5dG2rQXyeFkTclQ\/O0HF+Vu0fe9ER5vTOQQQQAABBBBAAAEEbC8Q0SChlKZq1UhaueA3bfGGhpI1WrHGrbRGjVSHcyRs\/4KiAwgggAACCCCAAALxIRDZIJHYWif3PVCu7yfqwTfnatHShfrihaf03tom6tPnMPEdTvHxoqOXCCCAAAIIIIAAAvYXiOg5ElKCmva\/Wffuek7PfvigrplQovQmh+m0W2\/SxR1T7K9JDxBAAAEEEEAAAQQQiBOBCAcJQ9WVqU5nj9DTZ8eJMN1EAAEEEEAAAQQQQMCBApE9tMmBgHQJAQQQQAABBBBAAIF4FCBIxOOo02cEEEAAAQQQQAABBKooEPlDm6pYMIsjgEDsCQRzsbBgquaCYsEoxec8wbw2rF6HwSwXn6L0GgEEEKi6AHskqm7IGhBAAAEEEEAAAQQQiDsBgkTcDTkdRgABBBBAAAEEEECg6gIEiaobsgYEEEAAAQQQQAABBOJOgCARd0NOhxFAAAEEEEAAAQQQqLoAQaLqhqwBAQQQQAABBBBAAIG4EyBIxN2Q02EEEEAAAQQQQAABBKouQJCouiFrQAABBBBAAAEEEEAg7gQIEnE35HQYAQQQQAABBBBAAIGqC3BBuqobsgYEHCVgdVGvijrIRb8qEuL5SAhYvQ79X89W80SiNtpAAAEEnCjAHgknjip9QgABBBBAAAEEEEAgzAIEiTADs3oEEEAAAQQQQAABBJwoQJBw4qjSJwQQQAABBBBAAAEEwixAkAgzMKtHAAEEEEAAAQQQQMCJAgQJJ44qfUIAAQQQQAABBBBAIMwCBIkwA7N6BBBAAAEEEEAAAQScKECQcOKo0icEEEAAAQQQQAABBMIsQJAIMzCrRwABBBBAAAEEEEDAiQJckM6Jo0qfEDAE\/C\/EFSwKF+wKVor57CDg\/3oO5v+F\/zJ26Cc1IoAAAtEQYI9ENNRpEwEEEEAAAQQQQAABmwsQJGw+gJSPAAIIIIAAAggggEA0BAgS0VCnTQQQQAABBBBAAAEEbC5AkLD5AFI+AggggAACCCCAAALRECBIREOdNhFAAAEEEEAAAQQQsLkAQcLmA0j5CCCAAAIIIIAAAghEQ4AgEQ112kQAAQQQQAABBBBAwOYCBAmbDyDlI4AAAggggAACCCAQDQEuSBcNddpEIESBYC6i5b9KLqrlL8JjBKRg\/l9Y\/X8LZjl8EUAAgXgTYI9EvI04\/UUAAQQQQAABBBBAoBoECBLVgMgqEEAAAQQQQAABBBCINwGCRLyNOP1FAAEEEEAAAQQQQKAaBAgS1YDIKhBAAAEEEEAAAQQQiDcBgkS8jTj9RQABBBBAAAEEEECgGgQIEtWAyCoQQAABBBBAAAEEEIg3AYJEvI04\/UUAAQQQQAABBBBAoBoECBLVgMgqEEAAAQQQQAABBBCINwEuSBdvI05\/IypgdWGryhTAxbAqo8YyCFROwOr\/m\/\/\/Zat5KtcaSyGAAAL2FWCPhH3HjsoRQAABBBBAAAEEEIiaAEEiavQ0jAACCCCAAAIIIICAfQUIEvYdOypHAAEEEEAAAQQQQCBqAgSJqNHTMAIIIIAAAggggAAC9hWI\/MnW7pWaePU1emFJiY9airrf\/Ibu6VXLvpJUjgACCCCAAAIIIIBAHAlEIUjsVMGOBHUcdK+G98ySqwzbpdR6NeOIna4igAACCCCAAAIIIGBvgcgHCW1XwfYE1WvVQa1bEh7s\/fKhegQQQAABBBBAAIF4FYj8ORJF+corrKmU0s3avL1EnniVp98IIIAAAggggAACCNhYIOJ7JNz5hUqol6L\/PXmlznrArfTmndVnyFBd3KOxUgzInr372JiT0p0q4H8xqmD7yUWrgpViPgRiW8D\/\/3Iw7wn+y8R2D6kOAQQQCF0g4kEioXEf3f2iGRY8KsxdrFmTntJj949SUe0ndV3nWpoxfeo+vSBYhD6oLIEAAggggAACCCCAQLgFIn9o094euVQzp716DxuqvvU3auasRSoOd29ZPwIIIIAAAggggAACCFSLQBSDxJ76PR4Z\/7ghgAACCCCAAAIIIICAjQQifGhTsRZOnaSfk9upTf00Jexcp5+nv6UPN9bTqT06KNlGcJSKAAIIIIAAAggggEA8C0Q2SHh2avumFZr55TS9sm6bipNrq2GbTjrv9n\/pPOP8CG4IIIAAAggggAACCCBgD4HIBglXho4YMsq42wOHKhFAAAEEEEAAAQQQQMBaIPrnSFjXxVQEEEAAAQQQQAABBBCIYQGCRAwPDqUhgAACCCCAAAIIIBCrApE9tClWFagrrgSCuZCUPwgXlvIX4TEC8S0QzHuC1XtNMMvFtyy9RwABOwmwR8JOo0WtCCCAAAIIIIAAAgjEiABBIkYGgjIQQAABBBBAAAEEELCTAEHCTqNFrQgggAACCCCAAAIIxIgAQSJGBoIyEEAAAQQQQAABBBCwkwBBwk6jRa0IIIAAAggggAACCMSIAEEiRgaCMhBAAAEEEEAAAQQQsJMAQcJOo0WtCCCAAAIIIIAAAgjEiABBIkYGgjIQQAABBBBAAAEEELCTABeks9NoxXmtVhd3qgwJF4SqjBrLIIBAqAJW7zX+72NW84TaDvMjgAAC0RJgj0S05GkXAQQQQAABBBBAAAEbCxAkbDx4lI4AAggggAACCCCAQLQECBLRkqddBBBAAAEEEEAAAQRsLECQsPHgUToCCCCAAAIIIIAAAtESIEhES552EUAAAQQQQAABBBCwsQBBwsaDR+kIIIAAAggggAACCERLgCARLXnaRQABBBBAAAEEEEDAxgIECRsPHqUjgAACCCCAAAIIIBAtAS5IFy35OG7X\/4JMwVJw4aZgpZgPAQRiVcD\/fczq\/dB\/nljtC3UhgAAC7JHgNYAAAggggAACCCCAAAIhCxAkQiZjAQQQQAABBBBAAAEEECBI8BpAAAEEEEAAAQQQQACBkAUIEiGTsQACCCCAAAIIIIAAAghENUgUrfhIt5zXTyde9aZWuhkMBBBAAAEEEEAAAQQQsItA1IJEyZpPNPrW17XMlSKXXbSoEwEEEEAAAQQQQAABBMoEohIkPNsXaPzdE1Vw2ihdf0xthgIBBBBAAAEEEEAAAQRsJhD560h4NmvmEw9pZotheuKcdlr9lM3EKBcBBBBAAAEEEEAAgSgJJCYl6oSzTtbBx3Quq+DnOT9o5rvTVVpSGvGKIhwkPMr98mk9uTrcVeYAACAASURBVOhwjXiiu3JcpVrt1+WevftEHIEGgxOwunBScEvuOxcXW6qMGssggIATBazeD4N5r7Vazok+9AkBBPYXOP6M3jq67\/F7n+j+z55lv38xedr+M4d5SkSDhGfrd3r+hUXqNOxJda1tfWbEjOlT9+kywSLMrwBWjwACCCCAAAIIIGAbgcOOO3y\/Wg89tovzg8SO+dM1IzdPpff\/SzPv32NQWqISz6u6dMACXffSaPWrax0w9hNjAgIIIIAAAggggAACcSaQnrn\/+cW1szKiohDRPRK1jrpS48dfJM\/errq18LVb9dCynhoz8nQdnEmIiMqrgEYRQAABBBBAAAEEEAhRIKJBIiE1R81SfSss0ebaRgnJGWrUtJ7So\/IdUiGKMTsCCCCAAAIIIIAAAghE5+tfcUcAAQQQQAABBBBAAAF7C0R0j8T+VEnqdNUr+nT\/J5iCAAIIIIAAAggggAACMSzAwUQxPDiUhgACCCCAAAIIIIBArAoQJGJ1ZKgLAQQQQAABBBBAAIEYFojyoU0xLOPw0oK54JE\/ARdA8hfhMQIIIFD9AsG81\/q\/hwezTPVXyhoRQCDeBdgjEe+vAPqPAAIIIIAAAggggEAlBAgSlUBjEQQQQAABBBBAAAEE4l2AIBHvrwD6jwACCCCAAAIIIIBAJQQIEpVAYxEEEEAAAQQQQAABBOJdgCAR768A+o8AAggggAACCCCAQCUECBKVQGMRBBBAAAEEEEAAAQTiXYAgEe+vAPqPAAIIIIAAAggggEAlBAgSlUBjEQQQQAABBBBAAAEE4l2AC9LZ7BXgfxGiypbPxYsqK8dyCCCAQPQF\/N\/Drf42+M8T\/aqpAAEEnCbAHgmnjSj9QQABBBBAAAEEEEAgAgIEiQgg0wQCCCCAAAIIIIAAAk4TIEg4bUTpDwIIIIAAAggggAACERAgSEQAmSYQQAABBBBAAAEEEHCaAEHCaSNKfxBAAAEEEEAAAQQQiIAAQSICyDSBAAIIIIAAAggggIDTBAgSThtR+oMAAggggAACCCCAQAQECBIRQKYJBBBAAAEEEEAAAQScJsAF6aI0olYXDwqmFC4wFIwS8yCAAALxJWD1tyGYvzNWy8WXHL1FAIGqCLBHoip6LIsAAggggAACCCCAQJwKECTidODpNgIIIIAAAggggAACVREgSFRFj2URQAABBBBAAAEEEIhTAYJEnA483UYAAQQQQAABBBBAoCoCBImq6LEsAggggAACCCCAAAJxKkCQiNOBp9sIIIAAAggggAACCFRFgCBRFT2WRQABBBBAAAEEEEAgTgUIEnE68HQbAQQQQAABBBBAAIGqCHBBuhD1grnATzCr5CJAwSgxDwIIIIBAZQWC+Tvj\/zctmGUqWw\/LIYCA8wTYI+G8MaVHCCCAAAIIIIAAAgiEXYAgEXZiGkAAAQQQQAABBBBAwHkCBAnnjSk9QgABBBBAAAEEEEAg7AIEibAT0wACCCCAAAIIIIAAAs4TIEg4b0zpEQIIIIAAAggggAACYRcgSISdmAYQQAABBBBAAAEEEHCeAEHCeWNKjxBAAAEEEEAAAQQQCLsAQSLsxDSAAAIIIIAAAggggIDzBOL6gnT+F+IJZni5WE8wSsyDAAIIIGAHAf+\/aVZ\/F\/3nsUO\/qBEBBCIjwB6JyDjTCgIIIIAAAggggAACjhIgSDhqOOkMAggggAACCCCAAAKRESBIRMaZVhBAAAEEEEAAAQQQcJQAQcJRw0lnEEAAAQQQQAABBBCIjECET7Yu0brvJuuFt2Zo\/uJ1KvCkqUG7I3TaxZdp4MEZckWmz7SCAAIIIIAAAggggAACVRSIcJBIVNKuYqV3OVP\/N6ihamxfqdlvvapnRnvU+KUbdWxaFXvD4ggggAACCCCAAAIIIBARgQgHCZdyjrtA1+3t2mHqlLxYX4xeoaUb3Dq2FUdaRWTUaQQBBBBAAAEEEEAAgSoKRHHL3a2d63\/Ru1N\/UmnzburaJIqlVBGRxRFAAAEEEEAAAQQQiDeBCO+R2M3rKfhCIwc\/rK8LPXJlHKrL7hmoA1N2P9ezd58Kx8DqgjkVLmQxAxfZsUBhEgIIIIBA3ApY\/V0M5m+u1XJxi0jHEYgjgagECVfakbrusUd1zvplmvvRJL18yx3SA\/fovLbJmjF96j78wQSLOBovuooAAggggAACCCCAQEwIROd4Ilea6rdsq0OP7K1LR92gvqmL9M6031QcEyQUgQACCCCAAAIIIIAAAhUJRCdI+FblcinBqMJd6q6oVp5HAAEEEEAAAQQQQACBGBGI7KFNnjzNnfKJ1ma3UbOsmtKO9Vrw6WR9tLG++vTsoOQYQaEMBBBAAAEEEEAAAQQQKF8gwkFipwrWLdK0D97Xig0FKk2po8ZtO2nwHUN0bqda5VfKswgggAACCCCAAAIIIBAzApENEgmN1evKO417zPSfQhBAAAEEEEAAAQQQQKASAtE\/R6ISRbMIAggggAACCCCAAAIIRFeAIBFdf1pHAAEEEEAAAQQQQMCWApE9tKmaiLjwTTVBshoEEEAAAQQqEAjmb67\/ReuCWaaCZnkaAQRsIMAeCRsMEiUigAACCCCAAAIIIBBrAgSJWBsR6kEAAQQQQAABBBBAwAYCBAkbDBIlIoAAAggggAACCCAQawIEiVgbEepBAAEEEEAAAQQQQMAGAgQJGwwSJSKAAAIIIIAAAgggEGsCBIlYGxHqQQABBBBAAAEEEEDABgIECRsMEiUigAACCCCAAAIIIBBrAgSJWBsR6kEAAQQQQAABBBBAwAYCtrwgnQ1cKREBBBBAAIG4EfC\/AJ3\/BepMCP954gaHjiLgYAH2SDh4cOkaAggggAACCCCAAALhEiBIhEuW9SKAAAIIIIAAAggg4GABgoSDB5euIYAAAggggAACCCAQLgGCRLhkWS8CCCCAAAIIIIAAAg4WIEg4eHDpGgIIIIAAAggggAAC4RIgSIRLlvUigAACCCCAAAIIIOBgAYKEgweXriGAAAIIIIAAAgggEC4BgkS4ZFkvAggggAACCCCAAAIOFuCCdA4eXLqGAAIIIIBANASsLj5ndZE6\/9qslvOfh8cIIBA7AuyRiJ2xoBIEEEAAAQQQQAABBGwjQJCwzVBRKAIIIIAAAggggAACsSNAkIidsaASBBBAAAEEEEAAAQRsI0CQsM1QUSgCCCCAAAIIIIAAArEjQJCInbGgEgQQQAABBBBAAAEEbCNAkLDNUFEoAggggAACCCCAAAKxI0CQiJ2xoBIEEEAAAQQQQAABBGwjQJCwzVBRKAIIIIAAAggggAACsSPABeliZyyoBAEEEEAAAccKBHOxOf+L1gWzjGPB6BgCNhBgj4QNBokSEUAAAQQQQAABBBCINQGCRKyNCPUggAACCCCAAAIIIGADAYKEDQaJEhFAAAEEEEAAAQQQiDUBgkSsjQj1IIAAAggggAACCCBgAwGChA0GiRIRQAABBBBAAAEEEIg1AYJErI0I9SCAAAIIIIAAAgggYAMBgoQNBokSEUAAAQQQQAABBBCINQGCRKyNCPUggAACCCCAAAIIIGADAS5IZ4NBokQEEEAAAQTiQcD\/AnT+F6gzDfzniQcX+ohArAqwRyJWR4a6EEAAAQQQQAABBBCIYQGCRAwPDqUhgAACCCCAAAIIIBCrAgSJWB0Z6kIAAQQQQAABBBBAIIYFCBIxPDiUhgACCCCAAAIIIIBArApE+GRrj7b98akmTPxIsxas0ubimqrXuov6XXSZzu2UJVJNrL5MqAsBBBBAAAEEEEAAgX0FIhsk3Gv16fjX9VPdU3Th8AuV4\/5Ls994ReNH71K9F27TSVkuxgcBBBBAAAEEEEAAAQRsIBDZIJHQWAPuGa\/+SUlKLMPpok511mjuiDlasLLUCBKRLccG40OJCCCAAAIIIIAAAgjEpEDEjyZy7Q0RpodHO3M3aUdiIzVrsDtaxKQSRSGAAAIIIIAAAggggMA+AlHdBVD812d66Pn5qtd\/jPo02n1YU8\/efRgiBBBAAAEEEEDA8uJzVhep86fionX+IjxGIDwCUQsShcs+0pjbX9LKQ6\/VgxcepNQ9\/Zsxfeo+PSVYhGfgWSsCCCCAAAIIIIAAAlURiEKQ8Gj7729p5Mg3ld9juB658ijV46imqowhyyKAAAIIIIAAAgggEHGBiAcJ9+Y5GnvXJOUdd7PGXt1N2XxRU8QHnQYRQAABBBBAAAEEEKiqQISDRIl+e\/sVzdZR+vcpDbR15Upt3dMDV60cNW+QxrUkqjqiLI8AAggggAACCCCAQAQEIhskPJu0aNEGFef+pQeunrFP95K7Xq+37+6tOuyhiMCw0wQCCCCAAAIIIIAAAlUTiGyQcDXQWQ9\/oLOqVjNLI4AAAggggAACCCCAQJQFIn4diSj3l+YRQAABBBBAAAEEEECgGgQIEtWAyCoQQAABBBBAAAEEEIg3gcge2hRvuvQXAQQQQAABBKpVIJiLzQVz0brqKiqYeqqrLdaDQKwJsEci1kaEehBAAAEEEEAAAQQQsIEAQcIGg0SJCCCAAAIIIIAAAgjEmgBBItZGhHoQQAABBBBAAAEEELCBAEHCBoNEiQgggAACCCCAAAIIxJoAQSLWRoR6EEAAAQQQQAABBBCwgQBBwgaDRIkIIIAAAggggAACCMSaAEEi1kaEehBAAAEEEEAAAQQQsIEAQcIGg0SJCCCAAAIIIIAAAgjEmgAXpIu1EaEeBBBAAAEEEKiSQCQvEsfF76o0VCxscwH2SNh8ACkfAQQQQAABBBBAAIFoCBAkoqFOmwgggAACCCCAAAII2FyAIGHzAaR8BBBAAAEEEEAAAQSiIUCQiIY6bSKAAAIIIIAAAgggYHMBgoTNB5DyEUAAAQQQQAABBBCIhgBBIhrqtIkAAggggAACCCCAgM0FCBI2H0DKRwABBBBAAAEEEEAgGgIEiWio0yYCCCCAAAIIIIAAAjYX4IJ0Nh9AykcAAQQQQACB6Ak49eJ3\/qKR7Kd\/2zyOXQH2SMTu2FAZAggggAACCCCAAAIxK0CQiNmhoTAEEEAAAQQQQAABBGJXgCARu2NDZQgggAACCCCAAAIIxKwAQSJmh4bCEEAAAQQQQAABBBCIXQGCROyODZUhgAACCCCAAAIIIBCzAgSJmB0aCkMAAQQQQAABBBBAIHYFCBKxOzZUhgACCCCAAAIIIIBAzAoQJGJ2aCgMAQQQQAABBBBAAIHYFeCCdLE7NlSGAAIIIIAAAgjsFYjmReHufv\/PiI1ENPsZsU46pCH2SDhkIOkGAggggAACCCCAAAKRFCBIRFKbthBAAAEEEEAAAQQQcIgAQcIhA0k3EEAAAQQQQAABBBCIpABBIpLatIUAAggggAACCCCAgEMECBIOGUi6gQACCCCAAAIIIIBAJAUIEpHUpi0EEEAAAQQQQAABBBwiQJBwyEDSDQQQQAABBBBAAAEEIilAkIikNm0hgAACCCCAAAIIIOAQAS5I55CBpBsIIIAAAggggEC4BCJ5kTgufheuUaz+9bJHovpNWSMCCCCAAAIIIIAAAo4XIEg4fojpIAIIIIAAAggggAAC1S9AkKh+U9aIAAIIIIAAAggggIDjBQgSjh9iOogAAggggAACCCCAQPULRC1IFK2ZoQcuOUPnPfOrSqq\/X6wRAQQQQAABBBBAAAEEwigQ8W9tKs1fqpnvv6kJU77Vn4Vu1Qtj51g1AggggAACCCCAAAIIhEcgwnskSrXiw3F6\/sdaOuXm4TqjcYSbD48ha0UAAQQQQAABBBBAIO4EIrxHIlFtBo\/V6+e75Cr9Q88\/H3fedBgBBBBAAAEEEEAAAUcIRDhIGGYuI0SUQ9ezd59ynuUpBBBAAAEEEEAAAScLOPXid1ZjFsm+WrVf1WmRDxIVVDxj+tR95iBYVADG0wgggAACCCCAAAIIREGAkxSigE6TCCCAAAIIIIAAAgjYXYAgYfcRpH4EEEAAAQQQQAABBKIgEPlDm3Zt0Zq1+dpVulZbiqWSreu0YkW6atRuoKbZNcs9fyIKPjSJAAIIIIAAAggggAACFgIRDxKlK9\/Xbde+qRWle6pZO1aXfuZSdr+7Nenazkq2KJJJCCCAAAIIIIAAAgggEFsCEQ8Sie0u0MvTLogtBapBAAEEEEAAAQQQQACBkAQ4RyIkLmZGAAEEEEAAAQQQQAABU4AgwesAAQQQQAABBBBAAAEEQhaI+KFNIVfIAggggAACCCCAAAIIhEHA7heECwNJSKtkj0RIXMyMAAIIIIAAAggggAACpgBBgtcBAggggAACCCCAAAIIhCxAkAiZjAUQQAABBBBAAAEEEECAIMFrAAEEEEAAAQQQQAABBEIWIEiETMYCCCCAAAIIIIAAAgggQJDgNYAAAggggAACCCCAAAIhCxAkQiZjAQQQQAABBBBAAAEEECBI8BpAAAEEEEAAAQQQQACBkAVscUG6nr37hNwxFkAAAQQQQAABBBBAAIHwCcR8kJgxfWqFvTeDRjDzVbgiZkAgzAK8VsMMzOqrTYDXarVRsqIwC\/BaDTMwq682ASe+Vjm0qdpeHqwIAQQQQAABBBBAAIH4ESBIxM9Y01MEEEAAAQQQQAABBKpNgCBRbZSsCAEEEEAAAQQQQACB+BEgSMTPWNNTBBBAAAEEEEAAAQSqTYAgUW2UrAgBBBBAAAEEEEAAgfgRIEjEz1jTUwQQQAABBBBAAAEEqk2AIFFtlKwIAQQQQAABBBBAAIH4EXBEkOAaEvHzgrV7T3mt2n0E46d+XqvxM9Z27ymvVbuPYPzU78TXqiOCRPy8BOkpAggggAACCCCAAAKxIUCQiI1xoAoEEEAAAQQQQAABBGwlQJCw1XBRLAIIIIAAAggggAACsSFAkIiNcaAKBBBAAAEEEEAAAQRsJZBkq2otii1aM0OP3v64\/td1jCYOO0i275BFH5lkZwGPtv3xqSZM\/EizFqzS5uKaqte6i\/pddJnO7ZQlkrydx9ZptZdo3XeT9cJbMzR\/8ToVeNLUoN0ROu3iyzTw4Ay5nNZd+uMYgaIVH+nOW57RvLpD9MIT56gFb6yOGVtHdMS9UhOvvkYvLCnx6U6Kut\/8hu7pVcv2XbTtdndp\/lLNfP9NTZjyrf4sdKue7YeCDjhSwL1Wn45\/XT\/VPUUXDr9QOe6\/NPuNVzR+9C7Ve+E2nZTF5pkjx92WnUpU0q5ipXc5U\/83qKFqbF+p2W+9qmdGe9T4pRt1bJotO0XRDhcoWfOJRt\/6upa5Ugi7Dh9r23bPvVMFOxLUcdC9Gt4za8\/r1KXUejVt2yXfwm0aJEq14sNxev7HZup\/83Bteu5BzXbEcNAJxwkkNNaAe8arf1KSEss610Wd6qzR3BFztGBlqREkbPpf0HEDRYdk\/HnLOe4CXbeX4jB1Sl6sL0av0NINbh3bio95eZXEloBn+wKNv3uiCk4bpetz79ftC2OrPqpBYLfAdhVsT1C9Vh3UuqUzwoPvyNr0L0Oi2gweq9cfuUHnHtFQKXyoy\/\/WGBZw7Q0RZpEe7czdpB2JjdSswe5oEcOlU1rcCri1c\/0venfqTypt3k1dm9j0T0Xcjl8cdNyzWTOfeEgzWwzTqHPaqRbbAXEw6DbtYlG+8gprKqV0szZvLzG2Apx1s+\/HoS4XuzGd9VqMi94U\/\/WZHnp+vur1H6M+jfjLFxeDbrNOegq+0MjBD+vrQo9cGYfqsnsG6sAUm3WCch0u4FHul0\/ryUWHa8QT3ZXjKtVqh\/eY7tlXwJ1fqIR6Kfrfk1fqrAfcSm\/eWX2GDNXFPRrLCW+t9g0S9n1NUXmcChQu+0hjbn9JKw+9Vg9eeJBS49SBbse2gCvtSF332KM6Z\/0yzf1okl6+5Q7pgXt0Xtvk2C6c6uJGwLP1Oz3\/wiJ1GvakutbmA5m4GXibdjShcR\/d\/WIfo3qPCnMXa9akp\/TY\/aNUVPtJXdfZ\/idbs7\/api9MyraTgEfbf5+sW256SWuPHK5HbuypRkR4Ow1gfNXqSlP9lm116JG9demoG9Q3dZHemfabiuNLgd7GsMCO+dM1IzdPM+7\/l3r37a+T+p6p4R\/mqmTJq7p0wCh9tNlpB4\/E8GBQWggCLtXMaa\/ew4aqb\/2NmjlrkSPeV9mcCeElwKwIVEbAvXmOxt41SXnH3ayxV3dTNh+gVYaRZaIhYBxCmmB83OQudUejddpEwFKg1lFXavz4i3yONXdr4Wu36qFlPTVm5Ok6OJM3WUs4JsaGgMcj459jbvYNEru2aM3afO0qXastxkdlJVvXacWKdNWo3UBNs2ty\/oRjXqJ270iJfnv7FeNbxY7Sv09poK0rV2rrni65auWoeYM0riVh9yF2Sv2ePM2d8onWZrdRsyzjm0V2rNeCTyfro4311adnB3Fgk1MG2v79SEjNUbN9jg0t0ebaxuZMcoYaNa2ndI61sP8gO6YHxVo4dZJ+Tm6nNvWNv\/c71+nn6W\/pw431dGoPZ7yv2jZIlK58X7dd+6ZWlO55ta0dq0s\/cym7392adG1n\/ug55j+hzTvi2aRFizaoOPcvPXD1jH06k9z1er19d2\/V4cMzmw+yQ8r3GN91vm6Rpn3wvlZsKFBpSh01bttJg+8YYlw80f7H8TpklOgGAgjYScB4X92+aYVmfjlNr6zbpuLk2mrYppPOu\/1fOs8B50eYQ2G1CeM7zfzd927mfO\/d\/O5K790MJOYHVuZP8yR08\/e9P1u1ajWlzvrE7C9Wf2tM5oYAAggggAACCCCAAALBCPRqetQ+s42a+IDlYmOG3LR3en6D0k3Lly8fYEzYZdzN09x8f5qX2TanmT\/Nj+S9d\/M4Vu\/dPADL9248LLvtc2AWOwC9LPxEAAEEEEAAAQQQQACBoAX+v707gZKqOtA4\/jWr7BohJmyTBkFE2YIyRnGZFkYWF3YVQYagBEXGORjEOJpxnHhIHAkxYERDRAlGCQIqY1xCCFsUGNCgYhiJooMTjARllb1r6lb3bW\/fvq+2rm7s7n+dU+fVu+9u71d9ivvxaiFIpE1FRQQQQAABBBBAAAEEELACBAn+FhBAAAEEEEAAAQQQQCBjAYJExmQ0QAABBBBAAAEEEEAAAYIEfwMIIIAAAggggAACCCCQsQBBImMyGiCAAAIIIIAAAggggABBIv438PmmX2jc0JG65ek\/J74HixsCCCCAQLQAr5nRNhxBAAEEapJAJQaJPL05e5wuHXKflu1xv4I2pv1r7tegATdo1tvmK24r+xbTob9u1479e\/TR9k8JEpXNz3gIIBApUPh\/z+lfrhqsiQu3J77kO3Er\/IsWTRmmAbc9q+0lhZFdVMABXjMrAJUuEUAAgSopUIm\/bB3T2ZcP1JkvzNOzy3aoYGjLxC\/bKbZTy5au06FOozW4s\/kNu8q+5ekrfW\/XnPyPVadtO51U2cMzHgIIIBAhUKvVAN089LeatHC+Vva9QwUnS7tWzNX8LS01YsZAtTE\/CVrpN14zK52cARFAAIEvqUAlXpGI\/yR268s0uqCZtjy7WBsPFokc\/tPzWvRWM\/UbdZlaZTCb2O41emDCGF15xZUqGDBEg8fdqRkvv6+DxRc7Cv+2WveOvEojp6\/TZ8Vlsd1r9cPRgzRm9ps6EC+L7X5ZUwYO0CWXDdPIibdo1P2rdTjwRMUOvq8XZt6pf7pmqPr2v1L9hozSdbfO0frPA5UpQgABBHImUFcdh9+gAQ3Xau6Cd3Ro\/+t6fO56Nbl8vK45vW5Go\/CamREXlRFAAAEE0hCoxCsSZjaNdO7Iq9Vj9c81d+lV+ubwk\/TK\/Je155zxuq5HgzSm+0WVvMbtVDDyFvVtcYoaxPZo67In9NCD09SgzcOa0LmOajXvrcm3v6Nb7vqJftRpun4woL5WPfSQVjQZqhlju6pRXryvpr11+yOddbBwj343\/U49FZzBMW2ed59m\/OHruu6mf9N5LRuo8MAufbSjrlpz+SIoRiECCORQoEE3Xf\/t87Vq+mOa8enn+r0KdO91Z2V89ZTXzBw+J3SFAAIIIJAQqOQgEb8qcdo\/6qbhv9XNz8zTfzVrpF9tbquRMwvUwizsnVvh4YM6eLRQiYsJebVUt0ED1XevWNRpqW9e1LKkRcf2R\/THFdP09p92qrDz1+Nvm8pT4+5jddeorbr10R9qxofN9OqGr2nMj6\/RmfWLm9VqpBatG8UvTTTUKbas9DTie4Xa89leqcm56tr9bJ3ZzEyig87qXqYiBQgggEAFCOTplN6jNWLxTZq9opZ6\/vMP1Kux94JpXql4zawAe7pEAAEEEEgmUOlBwmSXdkMmaNjKqXpwhpR\/zf0a0tZ\/o+8xvTlngiY\/Fw8FZva1vqqh\/zlHk7p8Md3C3W9r8eNP6cXXt+mT\/TE1PLmBDh2STjt81Dnfejp9xHc1ftMk\/eS5D9Rp7CyNyM\/s7QBSPfUa9R0V3POwply\/Xl3Ov0iXFvTRpee0LrqqkUyXYwgggEAOBI7\/Zb1e\/bCOmjYt1JbVa\/Vx\/4FqWeqtoLxm5oCZLhBAAAEEMhQ4AUEiPsP6HTVicFct+Omx+GccOsSX6v6ttk4f9D3N6H2k+IpEPbVo54SN2Md6fto9emRHN4254Xvq1aaxYntf19x7n9CnXleFOzdrw7ajatyojratWqH\/GXS9OgfeklT2\/\/e+6Khu6z66c\/a5uvq\/V+t3K1do\/r2LNfeMq3XP90eqW9NkLf3zYh8BBBDIUCD2N73yyNPamj9KsyYe0\/TJT+rh5efp3\/ucWvSFFYnueM3MUJXqCCCAAAI5EMjg4805GK2kizzVqVsn\/uaj2qrjX4xI1Im\/LalVJ3Xr1lXdzb1rJ7VKfKih+HbsA21+94jy+12vkRd1Ucf8fJ1x1uk6rZ63qD\/8np6aNltvtb9RM2fepJ67Fmnaz1\/XPvfbZxNd1lf9+nmKHdin+MWN8K1OM7X\/1uUaf8cDUgJJnQAADKFJREFUmv\/wWOVvXaBHX95RdMUk3IJSBBBAoJwCMR3Y8KQe39hUV4wbqHbtr9T4\/g219rF5WlfqxYrXzHJC0xwBBBBAIAuBExQkspip26R223h4qK0Pli\/UkrWb9e6f39OWze\/pk6NuCjiot+ZN17ydf6\/J3x2gb7Tqo9smXqCDL87U7PV7i6502D7zGsT\/gW6p2OYX9cRL67Tu1eVasubD4u9tP6JNC2dpztI12vjOVr37bvwKx4at2nm0npo2axiPPNwQQACBChI4\/r9a\/MTvdaDncA1PfD12fXUZNlw9D67QY0u2pf+7N7xmVtATRLcIIIBAzRY4MW9tKq95rZYaNPUO7Xv0aS368fc1e\/9R1T6psZqd2kG94t+qZG6HtyzQjOcPqOBfx+vCU4qW+1+5cJxuXD5RDzyyQP2636guJR+wrq0OQ27WmPdm6Zmf3acX6zbXGf0nqu8Ff6fGOqTjR\/fpjRce0jOf7NOR+D\/kTb\/6DfW4dqomxL\/UnSBR3ieT9gggEBaIae9rv9bi91to4AMXq3nxi02t5v+ga\/su0G1LF+oPV92ui9N5eyWvmWFiShFAAAEEyiUQWge7ZeaxezdXMOzdvCnJ3k0gMZ9iNlvz32bmcck2Pz9\/SbO\/1j51+Udr48XcEEAAAQQQQAABBBBAIB2Bgtbnlap29y9\/FGz2H6OnlpTvOe34rm3btg2OFxyJ3803EbnbY8VlZnvcuZvvOLJ38zYf9x7fTdxKfQigar61yZ4KWwQQQAABBBBAAAEEEDghAgSJE8LOoAgggAACCCCAAAIIVG2BSv2MhH9p5kTTvXFga8op9GjUIWUdKiCAAAIIIIAAAgggUNMEuCJR055xzhcBBBBAAAEEEEAAgRwIVESQsB\/CiPpFhhxMmy4QQAABBBBAAAEEEEAgDYEKW5tXRJBI43yoggACCCCAAAIIIIAAAlVZIJdBgisQVfkvgbkjgAACCCCAAAII1ASBnK3ZyxMkkk3CPZasXk14sjhHBBBAAAEEEEAAAQQqWyDd9XjWa\/XyBAmDkWrgVMcrG5TxEEAAAQQQQAABBBCoKQKp1uKpjid1yiZIpDtg2Xq1Wumi7wxTr\/yGiZ\/LDt5yVSfYOYUIIIAAAggggAACCNQogbJr8vDpp1uvpHWmQSI0gCmz5faxv180YKM2OnvYrfrpH1dp0aK7dW2\/9mpS2zuTXNUJA1GKAAIIIIAAAggggEBNEEh\/jf6FRmitH2mVaZCwHYUG8cvcMFHUbt9a\/azvJbrs\/Du0+IO2GjZnqV7aNE93T+6nTs2LfxsvV3UiT5kDCCCAAAIIIIAAAghUe4Gya\/GiU\/bX7KY0VJYSKNsgEdWxTT7+1ql\/XHs2L9P8227UsI59NGnGdnWe8qCefO0u9apnq+WqTtQ0KUcAAQQQQAABBBBAoFoL+Otxu5+zky6+DJBVf+5kQo\/dyXsD1FaTMy7UwLFXa8jIi9Vm7xv6zaOvaNsxt1qu6mR1bjRCAAEEEEAAAQQQQKAqC4SChDmf0Lo9q\/NMJ0iYwcwt6vPR9ridmN2a8sL4PZaXl1dUp24LnT14hIZ\/e7j6futk7Vq9VM9MGqLnfrNFu48WDaJc1Snujg0CCCCAAAIIIIAAAjVJoHjtXbIWj5+7Xa+H1u0hGjdshI4nytIJErax6TBZmLAD+lsTJopu9Tpr0NT+arbsF5oy6Vm9tnVfImmUuuWqjt8v+wgggAACCCCAAAIIVHGB\/bv3qfHJTUqdxb7P9obOKvEf+knuoTamzA0bUXUS5ZkECduRm1CSTc49VtT2wCrdd85KxZJNL1d1kp42BxFAAAEEEEAAAQQQqHoCm1Zv1AVXXFJq4ptWbwidSCbrdHd9H+orWBYKEqajqCsPbic2Drhb89imH7O19+J2seQhIlErV3XcqfIYAQQQQAABBBBAAIGqL7By8Svxk4ipa++eiZN5c81GrVqyLHRi7lrcXaOH1vCh9n6ZbVdSHgoSfiN33w8Zfogw+6EwkaxPjiGAAAIIIIAAAggggEAaAsePHdfyX7+UuKe42SDhhwi7XjfN\/XDg7ycdItXXv4Y6s4On2trJHw9MMumkOIgAAggggAACCCCAAAJZC5h1ulmDu2Ei1do9at0fOYlMr0iEOnIn5V5CCby1KdT8xJX1aNThxA3OyAgggAACCCCAAAIIVJxA1LrcXbuXa\/Rsg0SqRONO3KQh7f1a4c74puSzF7FYzP0cRtRnMqLKy3XSNEYAAQQQQAABBBBAoIoIhK4UmKmXlJf81ELRCdly94qEWZunWr9nzBG1UA8t8k2ZvZu3RJm72a9d\/Nhs3bsJKWY\/auvWNX3Zfkyftm87Xryo1AfAo+Zt6nFDAAEEEEAAAQQQQKCqCbiBwT52F\/82DJitDQlm697Nzzub\/aitW9f2Y8awFwHc8YxfaE4lruW9ImEW9HZAMwE3bJiJmv3EFYnix8UPSyUi084EB1PPDShuX357goSVZIsAAggggAACCCBQHQRCi3Z3Ye8u+P13\/\/iBwu67ocNtY\/s1bu7jjByzDRLuoKETtCHAhgg7KbeuPRkbHqJChA0NbnggSGT0NFMZAQQQQAABBBBA4EsukE6QCIUJs962gSEUKEIBwl+\/Z0WTTpAwA9mFu3uCpsyfhL0qYbehBb9tY4KDeewGCP8tTTaQ2JML9ZfVidMIAQQQQAABBBBAAIEvoYAfKELrbVNmA4IbJPxA4YcIs+\/3ZwjcMkviziPIFBUkTEN\/0e6X2c79yZgJmpvf3pSZuuazEGZrQoOpmyxImDa2n1B\/5jg3BBBAAAEEEEAAAQSqk4C7zjbn5a63bRhwQ0KyUOGHCX\/tbseyfv6+Hb+Mb1SQKFPRKXA7d69K2AARamsn7IYI9y1N9sqDe0XC9BMKEQSKkDBlCCCAAAIIIIAAAlVdwF1nR4UJ96pCsjDhh4tQoDBebrDIyC\/dIGEGsKHBXcjbEzQTs29V8gOFOznz2A8QUW9nCoUIc3IEiYyeYiojgAACCCCAAAIIVBEBN0iYKbthwl9Tm30bKkKBIlRm+7Dtko2XkizdIBHqyB3YhgwbKFKFCVvPtAsFCTMeQSKkThkCCCCAAAIIIIBAdRVItbD3w4QbJGywsAEiat+O4faVlWc2QcIObhf6dpImEJibGybsBO3VCls3KkCY8lCA4CpEVk8vjRBAAAEEEEAAAQSqqIBdc5vphxb\/bhBwrzC44SJUbtfjfv\/uflpkyYKE6cxdwIf2zSBuoLCDmknbsGBPwOzbPsxjW8eGB7t1+\/QDhL9vx2OLAAIIIIAAAggggEB1EPAX9Hbf3ZrHUXc3PJg6\/r7bv+3DdYsav4xtsiBRpnLxhN1A4A9k2pgyN0S4QcEe88ODDQj+1vRHeAg9E5QhgAACCCCAAAIIVHcBf9FvzteW2RCQztaGCdvebeP3mbZppkHC7diGAvcE3eNRVxzcsGADhWlHiEj7aaMiAggggAACCCCAQA0RSDdMGI5UocKvY\/ezokznf\/tDddwyPxiYifgBIdW+bWNPItWYWZ0sjRBAAAEEEEAAAQQQqAICof+ozzZQmNO1ASP02HKkGrMMW2jB7leKqhMVJkz7dMKFX8+Om854\/hzZRwABBBBAAAEEEECgugiEFvXm3FKFCVvH1vMDhNtHqC\/fL2oeiXpRi3a\/k6h6oTDh9usGilC5P4d0xvHnxj4CCCCAAAIIIIAAAtVNIGoRHxUA3PBgLKL23WP+Y9cwavySOlEL99ATEVXXL\/fDg+krFDii2vlj+\/X84+wjgAACCCCAAAIIIFAdBaIW8365HxqMRShwRLXz7fx6\/vHEfqaL9GT1\/WOh8BAa02\/nTjTZseAJUYgAAggggAACCCCAQDUSSLao94+FwoOhSFbPp\/Lr+sdL9rNZqCdrEzrml\/n7djJR5ZGT5wACCCCAAAIIIIAAAjVQIGqx75f7+4YqVGYJkx0rw5zt4j2ddlF1osrdyaVTp8zJUIAAAggggAACCCCAQDUVSGeRH1UnqtylSqdOKdryLNgzaZtu3XTrVdO\/D04LAQQQQAABBBBAAIGkAuku+NOtZwbLpG7J5HK1cC9PP+Vpm1SZgwgggAACCCCAAAIIVGOBrAJAsUd52ia6qIhFfEX0WY2ff04NAQQQQAABBBBAAIFKESh3eHBnWRmL\/soYo1LkGQQBBBBAAAEEEEAAgSokkNPg4J93Lb+AfQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgJgj8P+RVag6tznDNAAAAAElFTkSuQmCC\" alt=\"\"><\/p>\n\n\n\n<p>Not bad for being made of text right?<\/p>\n\n\n\n<p>So, the next time you find yourself battling the X server limitations on your cluster, remember Plotext! With its familiar interface, powerful features, and server-less architecture, it&#8217;s the perfect weapon for data scientists to visualize their findings with ease and elegance, even on the most resource-constrained clusters. Dive into the world of Plotext and unleash your plotting potential!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Imagine this: you&#8217;ve spent days computing intricate analyses, and now it&#8217;s time to bring your findings to life with a nice plot. You fire up your cluster job, scripts hum along, and\u2026 matplotlib throws an error, demanding an X server it can&#8217;t find. Frustration sets in. What a waste of computation! What happened? You just [&hellip;]<\/p>\n","protected":false},"author":85,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","wikipediapreview_detectlinks":true,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[621,227],"tags":[],"ppma_author":[557],"class_list":["post-10990","post","type-post","status-publish","format-standard","hentry","category-data-visualization","category-python-code"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"authors":[{"term_id":557,"user_id":85,"is_guest":0,"slug":"ruben","display_name":"Ruben Sanchez-Garcia","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/7301ee01be22b8e41f73a40f0f9a3c1a8fcc9bd35f6ed27763b3827f56e8735c?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/10990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/comments?post=10990"}],"version-history":[{"count":5,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/10990\/revisions"}],"predecessor-version":[{"id":11003,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/10990\/revisions\/11003"}],"wp:attachment":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/media?parent=10990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/categories?post=10990"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/tags?post=10990"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=10990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}