<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://halilibo.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://halilibo.com/" rel="alternate" type="text/html" /><updated>2025-07-23T14:13:47+00:00</updated><id>https://halilibo.com/feed.xml</id><title type="html">Halil Ozercan</title><subtitle>Some programming, some stories, some ideas. </subtitle><entry><title type="html">Styling, Spanning, Brushing, Composing</title><link href="https://halilibo.com/2025/styling-spanning-brushing-composing.html" rel="alternate" type="text/html" title="Styling, Spanning, Brushing, Composing" /><published>2025-07-22T21:00:00+00:00</published><updated>2025-07-22T21:00:00+00:00</updated><id>https://halilibo.com/2025/styling-spanning-brushing-composing</id><content type="html" xml:base="https://halilibo.com/2025/styling-spanning-brushing-composing.html"><![CDATA[<table>
  <tbody>
    <tr>
      <td><em>This is not going to be a regular android dev blog post. I’m going to try a new format that I want to call journaling to a solution. To give a sense of how different this is (to me), I’m using Google Docs for the drafting phase for the first time. Eventually this will be on my personal blog so the content needs to be exported as html or markdown.</em></td>
    </tr>
  </tbody>
</table>

<h1 id="question">Question</h1>

<p><a href="https://kotlinlang.slack.com/archives/CJLTWPH7S/p1753195511485519">https://kotlinlang.slack.com/archives/CJLTWPH7S/p1753195511485519</a></p>

<p>If you don’t have access to the link, here is the question;</p>

<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwUAAANfCAYAAACIcHHoAACAAElEQVR4Xuy9Z78VRdq+/f8gt97ibAcBFZUoiOQoiqBIEJAkQQQFFBQQTIOKooISRIJERRCRpBIEAVFQUXBAibLJefLM/a6eOYqnlr2q09oJ9madL47fWl3V3VVdVV19nVVXdf+///u//zNCCCGEEEKI/OX/+QFCCCGEEEKI/EKiQAghhBBCiDxHokAIIYQQQog8R6JACCGEEEKIPEeiQAghhBBCiDwnURQMHTrUtGnTJhReWjzS9xHz2KDHQuFFpd4d9cy7775r/2/fvt1ce821Zt3adXa7tNJwvDfjPXPu3LlQeHH56aefzOrVq0PhuTB16lRTrWo1c+LEiVBcWTN/3nzTvFlzU7NGTXP+/Hmzf99+M+KpEabG7TVMu3vbhfYvKiUpl8vFNf9zjVm6dKn9XxZ1kWtb+/e//21efOFFc0PBDTYPgwYNMocOHQrtJ4QQQggRx1UnCtavX2+NtY8Wf2S3SysNR6XrKpnffvstFF5c3nrrLfPUk0+FwnPh5ZdftoYgBrkfV5Zs2bzFFPyhwLz//vvm73//uw0bOXKkadWylflux3eh/YtDScrlchEUBWVRF7m2tT//+c+mf7/+Zv269Wbjxo2m20PdzD1t7wntJ4QQQggRx1UnCnxKKw1g9BVDMBdDLVeGDxte7o1fH8q6adOmWWEP93jYjBk9JrRvcakI5RIUBaVNSdoaoo1j//GPf4TihBBCCCGiKLYowGXh1VdfNS1btDSV/1jZ/k6YMMH85z//yezz/fffm+7duluXklur32p6dO9hdu7cmYn3DfaFCxda94cff/zRnv/tyW9b4/OmajdZo3Pfvn2hfEBQFBw8eNAaRN98801qGmwvWrTI3HvPvebGyjeaFs1bmLlz54bOD59++qm5+aab7bkdq1auSjwHI7iM9i5btixzni+++OLSiPL+/abjAx2tq5M7X1xZr1mzxrS/r709f4f2HTKuUVwL5+L/yZMns/Lm+NNLf7LxlEeXLl3MLTffYsvr2THPmn/+85+htOCvf/2rGfvsWHNn/Ttt2VOGhw8ftnEY/n4aPg/c/0BOaVIulFuVG6uYRg0bmeeff97Gx5VLXDn4cI4p70yxdRHMF+kQz/W88/Y71uXnjrp32HabdM1w/Phx06tXL3st9evVN2+88YY9pxMFwbqAY8eO2XbH+Wk3ffv0NYVHCjPx1W+pbvPftWtXex7aOecgLq6tnTlzxowcMdLcdutt9rwIp7/85S+h63/uuedsefrhQgghhBBxFFsUIAgKCgqssXL27Fn7i7Hy+muv23iMKIQAxhAGMMY6RhL7YMCyT9Bg//jjj63R9vXXX9vtpUuWWsNo1apV9tgPPvggS1AEyVUU+Gms/WKtue5/rzPz5s0zp06dMp9//rk1zgj304AtWy6NwAZHb9POgcFZu1Ztc+HCBQvG3OxZszPHYxQmjYiTFgYyAokyxc/eiRHfEA3CtSJIWGNRWFhoyxKj/MCBA7YcEWhOMPhMnXLJWP7ss8/MwgULTd06dW05+vHBYzgf7cVtp6X5888/W+Oe9oIfPgYyRvnf/vY3G++XS1I5+EybNs2WOeck7QH9B9i8fPXVVzaea8GwR2iSPiPradf86KOP2vUTtB3ab5oouK/dfaZL5y5mx/YdNr8vvPCCFTJONCMuSIN1A8S/NuE1247cWoCotoaLVpvWbex6ix9++MHMmDHDCgUXjxhC6HCPbd26NVQuQgghhBBxFEsUMIp/+22325HdYDgGFoYT/zF2MPqOHj2aib948aKpWqVqxih2BvvKFSutwAiO/GIkRaUdRS6iICqNPn36mMeHPJ51LoxDRoT9NCDKUEs7B0Zu0yZN7Qj7M888Y0fOg/v6xq/Ppk2brLGI4PDjfEPU4Qxy/PLZxkjGCA7O4uD7z4wJdekf74Mhzvncdi6iIC3NYcOG2VmCYHwQv1ySysFnyOAhWa5MzApRb//617/sNm2CWYSkaw9es3PlcSP5jjhRwAwZccH1BaTFDIRbc4EowKh38Rj09nxLLp0vqq11erCTGTd2XFYegnBfNW7U2IpPP04IIYQQIoliiQJcIzBYNmzYkBWOewfhjHxiAN9///2hY1kAOWrUKPsf44z9AUMuuN+RI0esUXZXg7vMSy++FOs6BGmiIC6NJo2bZOKCdOjQIZQGRBlquZzDHYfRGDwWfOPXB2OSUWdmXRAfbpYD4kRB506drQHpDG5cTvz8AYuFc3m7zSeffGJnHdx2LqIgLU3eXPTKK6+E0nL45ZJUDj6Mlre9u23GVWnmezOzFt76LmVRBK95xacrbN6DAhcIixIFSz5aErpuB4uB2QdRwELt4PkQzAvmL7D/o9qau794uxOi2824OagXZluCYUIIIYQQuVAsUYBxhHHivzKSbWc8Pf3009Yw848ljDj+O+MM9w3WJXz3Xfaba3izDSOn7IMx6QwqnzRREJdG61atzZtvvhk6XxxRhlou52CUGx9yXJfcSLDDN37jwPWFUWJmX96Y+IYNixIFs2fPtoZz0IDFUHzooYdC54yDkeZZM2fZvCHKKPuiioK0NJs1bVYkUeCIKgcfxABiDTcuyoL6D76iM0oUJF0zAoF690fg40QBIoJZqbhZECiOKAAE+Zw5c+zaCtyP/HghhBBCiOJQLFHAqC1GjVs/4GAbtyLinfsQLkMunv+EEcd2v0f6ZYwz1ig0uLOBfee9nx7gphM0OoMkiYKkNAY/NtiOqvvniyPKUEs7B4Yki1cxpCdPnmzLJ+gHHmf8xoFbDufjvy8KcFdB+LCuIXgM6x0wOH2jNg7yhPvTnj177Pby5cuLLArS0uQVmsxm+OGOtHIJloPP4sWLrSiIa0tRoiDpmhGS1PvuXbsz++MWFicKfvnlFxvn1jBEUVxR4CB92pLv0iSEEEIIURxSRQFvMcG4CcKoKwY2CxrTFhpjfOWy0JjRXVw8MBbZxthyC0l5tSLvwI977WiSKEhKg2th8Sp5ZlaCBZzjxo2zI7F+GoBRyLnxN2f0GIMt7RyjR422syP4s3MdlCcf+XLnHDhgoB01ZzaBdQ9RaZKee70ki03dAtigIYoQw0c/eG4Hfvi8AYrjGGnmrToIM87l7wuMcgfzgrtXUUVBWpq8T5+y5C1AlBvuQAg/2g3xfrkklYMP5yK/nB8wwDmfM+qjREHSNVO2zB482PFB68aGuEUMXl/p+khRACwyxkWKBda4S/FGIRY2O6GSJgqi2hozUu4aaOfkObj4nmvyXeSEEEIIIXIhVRQ4wyoII97ulaQ1a9a0YfxGvZKUUXR3HIZS0itJEQ8YVhhLGI0Yuc6o420vca/QzFUU+GmwjSHI61RdHgcOHBi7mJVrdmsUeAuMM9DizrH5q83WsAxeMwud2cf5xLMPxiAGHuXpp8n1MILNIluMUBbouq/mBg1R1nf49QTuOskro+HuVZ+ILASMn547L+4zLFqlDnjlalFFQS5pMqJfv359G8d1BMWYXy5J5eDDmgOMet485IQsbc/NTPhtAtKumTok/+SVNxvhysZi5ThRgFB+4okn7MwNxzCqjzBw8WmiIKqtsTaCcieMfCIWgsfjUsQbjoJhQgghhBC5kCgKhKhoYEwjHPz1Kbgbue8nCCGEEEKIbCQKxFUHsza4CyEMTp8+bb8ZwYwE6xz8fYUQQgghhESBuArB/55XovK2J1xteAsRH3Pz9xNCCCGEEJeQKBBCCCGEECLPkSgQQgghhBAiz5EoEEIIIYQQIs+RKBBCCCGEECLPkSgQQgghhBAiz5EoEEIIIYQQIs+RKBBCCCGEECLPkSgQQgghhBAiz0kUBcOGDTOtWrYKhReF92a8Z86dO5fZ3rlzp/2g1J49e0L7wl//+ldTs0ZNM/5P40NxVxML5i8w1W+pHgovLn45v/vuu6ZWzVqh/co7nR7sZJ5++mn7f/v27ebaa64169auC+1XXFavXm1++umnUHhp8fiQx02/R/qFwq9WPvvsM9OoYSP7/9577jWLFy8O7XM5oE9ZunRpKLw0yPUae/fubTq07xAKzxXuX+7jYNgjfR8xjw16LLRvSfjLX/5iXn75ZdO6VWtzfaXrzZ9e+lNon6IQle8o/D6qpHAfcz/74UFuufkW8/7774fCi0Iu6ZQGaemUxrMxKo2yaGMVhddfe91+3NIPFyJfKXNRUOm6SvYLs247TRScPn3aVK1S1Yx4akQo7mqitEWBX85XgyhYv369bSsfLf4otF9x6fZQt1ijrjSQKCi7sk2iPIiC+++/3zRu1DgUnitff/11Jh1HWRhsTzz+hGl4V0Oz5KMlpvBIYSi+qETlOwq/jyopb731lnnqyadC4UFKQxTkkk5pkJZOaTwbo9IoizZWUZAoECKbMhUFhw4dsg/rooiCfKE0RUFUOV8NoqAsuKvBXbFGXWmQb6Lgyy+/NC2at7D/MYo/+eST0D6Xg7IUBZfrGj/44IOQcV0WBluN22uYOXPmhMKLS1S+faL6qJIyfNjwkIHrUxqiIJd0SoPLkU5UGmXRxioKEgVCZFMkUYARiytH165dbQfPzbRw4cLQcfDpp5+am2+62e7nWLVyVUYUzJgxw7S/r72pcmMV+6D99ttvM8feWf9OM3nyZPv/3//+t3l78ts2rZuq3WQe7vGw2bdvXyg9OHbsmO3c7qh7h027b5++mZEwjDWu5V//+pfd/s9//mPua3efeeaZZ+z24cOH7f5Mz8LYZ8eav/3tbzaOPPNwYfqbfJA/DMtvvvnG/mcE7MGOD9r9XF5cWfXp08fmpcGdDcw7b7+TifdFQVLek4grZycKpk6Zapo2uVR2/fv1t+kUN81Vq1bZuuJ6g+nt2L7Dptfz4Z5m/br15u677zYdH+hoj5k9e7Zp3qy5ubHyjda1YvNXm7POOWrUKFO/fn2bPnmhTThRcPDgQXt+ypntf/7zn+bFF16018P5yMuWLVsy5+LhxvU+O+ZZ6xZBPT7//PO2zjlXvTvqZeV73NhxoWsEpti7dO5i64cyHDhwYKbcvv/+e9O9W3drWN1a/VbTo3uPrHr3RUHa/g/c/0AoH5STC4sr1zVr1tiycuUa52KV1q45/tdff7VpVP5jZetaUpR2sX//fjNk8BD7n3pz15Z2XUn3dVo9Hz9+3PTq1cvek/Xr1TdvvPGGrc84UZCWF3d/f7fjO9snkGbbu9tmyjTuGn2GDh1q6zd4TlzgMJi5Z/x+LshLL75kCgoKstrnmTNnbJvmvuXcdevUzWrT7ljujy5dutj0aOO0f8rQT4N65b4IpuFgBNrtx3m++uorM3LESBu+ceNGmxe2b7v1NtsuMC5pK3H5DqYb10cRt2jRIjv7QpkjvObOnWvD//znP9syW7ZsWeY8X3zxhbmh4AZbH9wHuBa687Vp0yZ0ve5a6HcHDhgY2Q+/+uqroWNxz3FhuaaTy7OR9km7o0zp8+grXFnlmk7w2UjfwL25cMFCe52c1+/jg8SlkUsbi6unKKi7Xj172fy0bNHS3ucuLq2tlqTvTer/3T48d9u0bmOvgwGowY8NligQIkCRRAE3Mp0GxjEP5tcmvGau+9/r7CiQfyzwIKfziZopwMBZuWKlPZaOrUnjJpl9gh3f0iVLbWeOQYphx6hU3EOZBzodCkYq+XvhhRdsJ4wAOHXqVOYBwb7Tpk2z6Vy8eNFuY2RwLA/DNya+YTsVOt1gnjEI6KB4oFWrWs0aLXRi5AujKtiRu06P6VpGGidNmmTPwQOWeF8UJOXdv06fqHIm71wD10VninFCfnmwFydNzkEajDBSBs4QQ9xh4JFezZo1bRkw+vLhhx+a7777zhT8ocDMnzff1h/npqN2RimCgfZDnfJwXPHpCttZx4kCfJ8xAjEO2J8ypD0WFl4yWHkoIDKfe+452644H0YEbhLuOjA0kmYKMHSaNW1m/cMxPnbv3m0NaQxWyoiHEe2VOPKH8YyhdPLkSXt8UBTksn+awRpVrtQzD3cetqSBj7Azsnxyadf4lmMIUaeEF6VdxJF2XUn3dVo9P/roo7Yd4bZCOZaGKOB4RNbsWbNtWQ0aNMje42dOZxu4SfiigHNiSMX1cz5vvvlmaMSdNk0bjmvTlAnliCF04MABmy55SFon4I+eU76+KMBo5T6kzSEsR44caY0p+rsffvjB3vfOoI3Kt09UH7X2i7X2/p83b57tnz///HNroBFO/IQJE0ztWrXNhQsXLIgR6scdjwHuj3r7uGcWfc2JEyfscyXYD6eJgqKmE/ds3LBhg0134usT7bVyb/EMZDCpKOn4ogAhn9TH+0SlkdbG0urJBxc67h/qesvmLZn+Jq2tlrTvTev/f/zxR/s84py4YvFc4TokCoT4nSKLAh4GbhuFbx/GS6IfxlEPAvew5AZ1YZs2bbJh7qEf7PjoXP1OOwpntO7ftz8ThrHKKCQjgGwz2oHRSUdF58Gvfx4HI5d0QPx3eQ66PDHqwiiG26aDZB9nRFBW/uI7Rlh4uPI/KApyyXsSUeVMR0yHyXlcGGXJQ6M4aWLYM+oTDCP/CB6XHg+OI0eOhI51MEpKmhgVbGP4PfHEE1n7BN2HgqKA0R4eKJRbcH8eiIwO8Z+Hgu+6w/lcmUOaKHBt5OjRo6E46tOPQ1RiUDljJSgKctk/zWCNKlfuF8J4QAePy4Wodh00povaLuJIu664+zqtnp0bij8K619HkLS8uHIILkDHCEF4xfVtUUSJgqR+zifKuE5r0wxucB8FBRv1hKAJ3vtBchEFvgsfafpl6IjKt09UH8UsKvdLcD/qmLrmP4MH9FdjRo+xM7qMMAf3jTJwfaL6YWaBXPmVpihIejYyEo9ADNYT4pN9MH5zTccXBUl9fBRRaaS1sbR6CvKPf/zD9k1RgxRpbbWkfW/adWDPIHaD5SX3ISGyKbIo8P0zuSn9B7gj6kEQZWDTMRDm3AeCHR/GEEYCvuBMVce5DjEawDmiwPXC7ceDhdED/6HnM3rUaNuB8j8qzzz8MQLctn+tUWWFCwILXfkfFAW55j0OP22IWlNAR85oW3HSZNSfTplRQ7YxdhilcqM0Uen5MFLH+ckvIzX89w25OFGA+4qfT8fL41+2+0f5xvLgCj7Q0kQB7ky4efjhgGESFXdP23vscfwPioJc9k8zWKPKlYcao/mMnJEeI+Z+GnGkteuitos40q4r7r5Oq2dG//jvGw6E+W0p17xElQMw8stMn3++OKJEQVI/5xNlXKe1aUaF/XICRkTj3vTj901RosDvu3BX47zt7m1nDTR330NUvn2i+ihmTfx8Q4cOv7/ByR1Hnx08FqIMXJ+oa6E83T1QmqLATyf4bGQE/JVXXsmKP3/+vL025yKVSzq+KPD7hmAfH0VUGmltLJd6CsLMIoKa2XPuSecelNZWS9r3pl0HM6L+c1+iQIhsyr0ogL///e92xIUbng4kyjjBWMC3Nc3FAaMTtx783BnVcOEYoDwg6HgwBujUkoyn4oiCAf0H2JFa/gdFQa55j8NPG9IeGMVJk/aATy4jO507dc7y845KD+N1+fLldpSMhyJthXxynBMIvNkleEycKHAiYuvWraF8OdIeCpAmCuIePkC+GGX0wwlzeQ6Kglz2TzNYo8rVwUgj+yHWcA3y46Go7bo47SKKtOuCqPs6rZ5Z5Es87iTBcMJKWxQwChv0h07jSogCXCEeeuih0LmS8PumXEQB4DaI+yBuVrQl199E5dsnqo/CSONYf98gzK7QTzKz68/aRBm4PlHXQvlhsPL/cokCDE/cWoLxGMLBdptLOldCFORSTz579+61rlI8axmI41mQ1lZL2vemXQcz9QiWYLxEgRDZVAhREISpzKAx7vjll1/sOTCU/DgHfqV0ouQHn2Q3CkjnzIMHH1bnksGUdZLxVFRRgJHFdZEG20FRkEvek/DThrQHRlHTZIYAg9I3nBxR6TljYdu2bdYthNFF0iS/ziVl1sxZWccw+hQlCtjGv5gHjZ+2I+2hAGmigFFQDBDf6HRxGOBuHQrwnzDnohDlPpS0P23Mb8+5igKHWx/jhxenXRe1XcSRdl0+wfs6qZ6ZsSJ/u3ddcrkA3EyCxpVPWl6iygGfZ8Kc73kuXAlRgJ83fXBUe43D75tyFQUOyvv2227PuHBF5dsnqo9ikSeDC/6+Dq6Jdk2/xfOANIOLmKMMXB//WuiHWKjq+mHyjktJ8JiyEAUMjDDgEYx37kPObS2XdK6EKEirpyScOyJ9eVpbLWnfm3YdrFVgwXkwntlHiQIhfqdMRQEPbjoERtsY4eOBkMvDMmuh8X8f9M4/kZF98kNn6KcFLI5kBoA0MIh46wUj80zT0ikxwu1GpnmgMSXNwx+jk/TdegAWPOH/mWQ85SIKGFHDmGZUnBEKwpz7TVAUpOUd6OxYlOlfM0SVcy4PjKQ0/TTOnj1rF7ySDjCazAiQ+xBOVHqUEaNDbptpco51Mwy8wYQRRwwvHtZTp05NXGjMglKEBOehLXAeOnlEB/FpDwXAsGAfFv5FrSmhrnDLYaEcBsjPP/9s88P+brEbx8ctdguKglz2Z4SfPGEgMM1Ou6CdJIkC6pu6djNd+Mxy7f61FKddQ1HaRRxp15V0XyfVM2ISlyMWaNJfYBhgtLCAOk4UpOXFlQPvf+d8+HhTRty/wTeXpFFSUYBApk/iPse/mmtNa9OIPYxc9mMkn/4FIym4jsbH78dzEQUYz06I0Y65/7lGtqPy7acZ1UdRHww0MFrLrBHG8bhx4zKvS8XVjZFg6oB2gPAIvqOfNsEMJLMJLOb20wS/H+ZtNMF+mLehkS8MVsQOeeKcQVGQazp+mQWfjW6hMX1c3ELjXNIpqSiISiOtjaXVUxAMetwBXf/G7A73HvddWlstad+bdh28zIB+gjrhOrgu8uNEAXlnNmHmezND1yVEvlCmosA91OgMeXMFD4ZcHpbBjg+DEUOGeNLHYIh63R5guLJwFV939qczwqAhDkMnuDAYGC1kOpNRfKYuWSDFIi2mlnkIJhlPuYgCHmB0wIQzGsWDwO3vi4KkvOM/TTk730mfqHLO5YGRlKYP+aUe8PmmMwWmw3H7+Ntf/xaZHqNEjPoyhUzHy0I86taJAjp+Om3SJg/M3GAIxIkC6on655yEM+rPwjpnuKU9FGD69On2WAQOrk3+dQL1RNtgP6Bt8BBx18SomYujXTnjCIKiIJf9MbQ5hocuggijCd/bJFFAuXBdtFcectynPFD96yhOu4aitIs40q4r6b5Oq2fyTb9EHPvgdsTDPE4UpOXFlQNf+eVa+c+obtBvPhdKKgq4z53/Nm2IfOfSprnfqVP3uknKJumr3X4/nosowFCi7+D8vF0m+K2GqHz7aUb1UYRjmPICA8KBPhrjEWOdeg/eK7zyk33cGhr2Id8IFNyA/DSBa2FWAEHBsX4/DNwTjFBTfpQr5REUBbmm45eZ/2ykfSK2yQciirSCMx+5pFNSURCVRi5tLK6e/PPzLOA5RRrsx8CRe7EEpLXVkvS9uVwHrzrm2kmffRGxThQgPKhH9gmeQ4h8IlEUiOIT9ZAoCbyLOuqNDpcLOmBGuYJhdNI8uHkQ+PsLUVGIMuCFEEKIfEOioIwoTVGAS0OSO8DlgHdLM6LCDAGjW4zeM+KD64a/rxAVCYkCIYQQQqKgzChNUVAeYDaAaXbWAGBA4WbBtHxJ31IjxJVGokAIIYSQKBBCCCGEECLvkSgQQgghhBAiz5EoEEIIIYQQIs+RKBBCCCGEECLPkSgQQgghhBAiz5EoEEIIIYQQIs+RKBBCCCGEECLPkSgQQgghhBAiz5EoEEIIIYQQIs+RKBBCCCGEECLPkSgQQgghhBAiz5EoEEIIIYQQIs+RKBBCCCGEECLPkSgQQgghhBAiz0kUBRcuXDCHDh0ye/fuNX/+85+FEEIIIYQQVyGxouD8+fPml19+McePH7f///KXvwghhBBCCCGuQmJFwcGDB82JEydCBwghhBBCCCGuLmJFAS5DFy9eDB0ghBBCCCGEuLqIFQX4Fvk7CyGEEEIIIa4+JAqEEEIIIYTIcyQKhBBCCCGEyHMkCoQQQgghhMhzJAqEEEIIIYTIcyQKhBBCCCGEyHMkCoQQQgghhMhzJAqEEEIIIYTIc0osCs6cOWNefPFFc+8995rOnTubd999NxN36tQpM3LESFOrZi3T4M4GZvz48aHjKwLTp003gx4dFAp39O7V21zzP9dYCgsLQ/FCCCGEEEKUZ0osCkaPHm3efONN+//ChQvWeF6/fr3dfnn8y6ZVq1Zmx/YdZuuWraZJ4ybm46Ufh85R3kkTBY5K11WSKBBCCCGEEBWOEomCnTt32lHyL774wtx3331m7Nixpn379mbwY4NtfMO7GppPPvkks/+OHTvM2rVrM9vTp0+3ouHuNnebZ55+xpw/f96G169X384w1K5V20ybOs00a9rMDB8+3MZt377dNG7U2Dw98mnToX0H07JFS/P5559nzrlv3z7TtUtXO3MBWzZvycQdOXLEDBkyxHR8oKN5qOtD5p133sm6ngmvTjDt7m1nmjZpasaMGfN7Pv8rCgYOGGj69ulrqlapamdE9uzZk3UsRIkClx+u8Z6291hx5B8nhBBCCCHElaREomDSW5PMsmXLrPGNwY0b0auvvGp69OhhLl68aK695lrzww8/hI6D1atWm+bNmpvjx4/bfQf0H2Bef/11G1e3Tl2zYMEC626EAX/ixAlT+Y+VrasSsw4Ffygw8+bNs/t+9tln5q4Gd2XO265dOzN37lz7n31r3F7DHs/222+/bYYPuyQuYMSIERnjftOmTaZRw0bm2LFj1rAnDxs3brRxiIKbqt1kPv30U7Pv132mT+8+ZvSo0aFrihIFiKVJkyZdys9/RVGd2nXsjIp/rBBCCCGEEFeKEomCwYMHm5UrVpqhTwy1229MfMN89NFH5uGHHzaFRwqtj/0vv/wSOg445q0338psY9wjLviPQb57124za+YsM2zoMBuGMX3o0CFr6F9f6XorEAg/d+6cTQdxsXfvXlPlxipWZLjzMptAHvk/Z84cKxqYPQjuEwWj+wsXLLT/EQVsu7hVK1fZ8/jH+KKAWYKCggJz9uzZTBgzIxs2bAgdK4QQQgghxJWiRKIA4x/DmRkDtnHp+e6776ybjZspwN3HPw6YTZg9a3Zm+5tvvjF31L3D/kcUICaIf/LJJzNh+/fvvzT6X6NG1rluKLjBCgJcc9gvGId7UzAdXIRwR2I/ZiKcwc65cRHCZcktGma2gjhEATMZ7hzMKuAaFUwHfFHANblzBZk/f37oWCGEEEIIIa4UJRIFPXv2tKPvkydPttuM9DOCjyhgG9/8oAH8888/28XH/GemwIkJYKag7d1t7f80UXBj5RszI/2nT522hja/CAN8/v2ZguXLl4fyjtsQo/bvv/++3Z44caJdb+COZc1BUBR0e6hb5ticZwp+3WeqVa0W2k8IIYQQQojyRIlEAf75zBSMemaU+fbbb+1rR3/88Ufz3LjnbDy+/QiF06dPW2Oe/xj/xOHS06J5i8yagn79+mXcidJEAS45zmBHlGDcuzyxmNetN9i2bZt9HapbU8Bbkjasv+S6w9oBRMiHH35otxE4LHzm//fff29uu/W2zAwDoqD6LdXN7t277fZjgx4zzz77bCZNB2sdDh48mBWGKJk5c6b9j2Dieo4ePRo6VgghhBBCiCtFiUQBrxdlcTCuNc8/97xdiIuxjMHt9nnttdesQc+iYmeAO1j426rlpbcPjRs7LvP2oTRRUK9ePXteDG6OX7/u0itQgeN4OxAChDch4cLj4vDxR8j0e6SfXXuAce9mBniDEQLiwY4P2rcokTe32HjqlKnmqaeestfKedkvqnwoB+ci5GYnDhw4YHp072Hz+ujAR7NcmYQQQgghhCgPlEgU8BYdjF3EANu8gYh1Bc64LwsQBf66ASGEEEIIIUTxKZEoAEbvH+n7iB1hZ7YgODJfFkgUCCGEEEIIUbqUWBRcbiQKhBBCCCGEKF0qnCgQQgghhBBClC4SBUIIIYQQQuQ5EgVCCCGEEELkORIFQgghhBBC5DkSBUIIIYQQQuQ5EgVCCCGEEELkOVdcFCz7eJlpeFfDUHhJGPzYYPPDDz+EwkvKpEmT7BeNr73mWtO4ceNQfGlDenc1uMvcWv1We01Hjx4N7VNSbr7pZvsV6GDY6FGjzbChw0L7lgTKzQ/jy9HuC9BBOj7QMbRvcYhKM8jEiRPtV6b98K5duprp06eHwnNh967dplOnTvY6Hur6UCheCCGEEKI8csVFweHDh81XX30VCi8JbVq3KXVRQD4L/lBg9uzZE4orCz777DNT/ZbqZs2aNaawsNAa6UOGDAntV1KiRMGuXbvMzp07Q/sWlxMnTpiaNWqGwoNUubFKqdZZWpq079tuvc3Wqx/366+/WiF26NChUFwaL730khVwp0+dDsUJIYQQQpRXSiwKMFxfe+01OzrKiP8777yTiduwfoNp166d2bp1q2ndurUdPX3//fdtHIauGxkOzhScP3/e1KhRwxrFLqzwSKG5vtL1Zt+v++z2kiVLTIf2HUyL5i1M3z59zW+//ZbZlw+bBUede/fqnYk7c+aMGTFihGnVqpVp3qy5mTN7Tuh6ouAc/mh2u3vb2Tj/Y2oYtsFtyueDDz6wX3yud0c989abb4XOHwUiYNzYcZltDNT169fb/5QRRjQCpXu37rZsgoIhqXyoi5YtWpoH7n/Anj8oCpi1cdcXNVPA6DnlxnlHPTPK5oPwqVOmmqdHPm1H3YnjWl37QWD4ZRdsI44oUZBUX+PHj88a5Z8wYYLp169fzmk+++yzdkbEz4eD6+ecfnganJMZCD9cCCGEEKI8U2JRwGjr8GHD7X9GXW+5+ZbMaDqGLMZet4e6ma1btoaOhW+++SbkPoTBNvSJoZntaVOnmc6dO9v/x48ftyPA27dvN+fOnTO9evYyr7/+etbxxPsGJrz44ovWwL9w4YJ1xWlwZ4OcR8Q5X9TIc5oooHxeHv+y/f/999+bStdVymkUGReaGTNmhMIdzZo2s8Jk6ZKl5uzZs5nwtPJp2qSpNf75P33adJsff6YAA9oXBcxY1K9X3woMztu/f3/z3nvvZc5Tp3YdK9ooW4x1RszdsXFlFyRKFCTVF3mgDFavXm1+/PFHU7tWbXPkyJGc06xVs5bZtGlTKNyBKEU8+eFpIJYkCoQQQghR0SgVUfD5559nthmhXr58uf1/6tQpO0q7csXK0HGOKFFAWNUqVTPGLsbv/PnzQ8cCBq8TJY44UdCkcROzft2l0XZgVJdZDn+/KOKMzFxEwbZt2zLbt992e05l26plK7NgwQL7n/KhHDGcXTz+8s+Ney50nE+wfA4cOGAq/7GyuXjxot1GnHDeXETB8OHDzYRXfx85R1h06dLF/kcUID5cHNvBmYu4sgsSJQrS6otyZc0FAuqjjz7KOjYpTURrQUGBFRZ+nOPkyZO2bPj14+Jg9ouZEoSaHyeEEEIIUZ4pFVHACLjbZnGlM+Cd0Yn7j3+cI0oUgB3RXrbM7N692xqMwdH1MWPG2Pg4V5c4UYCrjO9WEpyRSCLOyMxFFODO4rY5R3A7jk4PdrIzJG6bY4KiAKH08dKPQ8dBXPl89913psbtNbL25Zy5iIIoFyoMcuIQAYMeHZTZlxmO4HZc2QWJEgW51Fef3n0y+QiSlObmzZutK5cf7oPr108//RQKj4J2QP4QT36cEEIIIUR5p1REQdANA2N19arV9r8TBUnuMnGi4I2Jb5jHBj1mR6efePyJTDhp4V9+7Ngxu42rhm/AxomCxo0am6+//joUngtxRibhuK64bfJXGqLgqaeeyjKAo0TBqpWrQscllc++ffuyZgrcTE4uooDZhsmTJ4fSg7ISBWn1xbU2atjIrmGYO3duVlxSmhxXr15uogDXJD88DgQEMzylvXBeCCGEEKKsKRVRwGJQ/mNA4Zbh3uhSElHAG2Awttve3TazwBYwTN2CUvzncaNBPASP5XzOb37v3r2ZcBanYqzio842rjVbNm8JpR1FnJHJW24wtN06CtxbSkMU4DvPG3BWrFhhF/R+8sknOYmCpPJBDJA3VzYsEGaRci6iABcxfPid3z4uYvPmzbP/00QB57+h4Aazf/9+m4eoNzhFiYKk+qLcEQRffvmlPR+L04N1nZQm7TRYllE496HgOoVcYME1r5L1w4UQQgghyjOlIgp4Kw1vH8KNY8qUKZm4JFEwoP+AkGsIYMS5fXChYQFr8DgWs95Z/05zf4f7Tb9H+tkFsLiZvPvuu5l9Fi1aZEeZOR8+3i4cH3IWgvI2G9LH6MS49PMWRZwoAAxBxFCPHj3sOoDgzEFxRQHgHoTAwYBlofW6desycXGiIK185syZY8vluv+9zkx6a5ItX2dMkze/PoLfY5g1c5YtO87LTMbPP/9sw9NEAfBNAsqCbzw4ERkkShQk1RczF88/93xmX95qxZuunIBISpN9qlWtlrXWw4eFxixG9sPT0NuHhBBCCFERKRVRkKuRK0R5YeCAgXbthR/uQHSMHDEyFJ6GRIEQQgghKiISBSIvwQ3ppmo3ZX3DwcFsCy5h/sxFLuA+5r8NSwghhBCivCNRIPKWF55/IesDaA7cwPxvX+QKggK3I1yveBOXHy+EEEIIUR4psSgQQgghhBBCVGwkCoQQQgghhMhzJAqEEEIIIYTIcyQKhBBCCCGEyHMkCoQQQgghhMhzJAqEEEIIIYTIc/JKFHzzzTeZL/XykSk/Pg7/i72XgyuRZtu722a+dtyyRUszbuy4rC8ElwUleaUtX2omv3zx2I+DwsJCG//LL7+E4i43n3/+ubm7zd32y83du3W3bdHfp6T07tXbflE7GLbs42X2q9j+viVh8GODE7/hQLnzpezvvvsuFFccuC5333JuP76ikEv/U9z6uveee0NhcPDgQfNgxwdtu+M+2b59e1b8qVOnzDNPP2O/XE6+or42ztfU+Zp5MGzt2rXmnrb32PN27dI15/b8zjvvZMqAa/XjS5vjx49n0uPbI+3btzezZ83OxF/u/KSxZ88e06N7D1O1SlVbpx9++GFonzjS+sPShrbDN1lq1Khh2+yf/vSn0D4VhYrYnqFpk6ZmypQpof1yIep5URyK22Zz6Q9Lk1dfedX07dM3K2zChAnm4YcfDu0bRdL9VVbPqElvTTL9+vULhcNXX31lGtzZwN6HflxJyCtR4OADU0VphFfCQL8SaSIK6NjOnz9vduzYYe5qcJdZuGBhaL/SpCSiANavXx95k8K5c+dsZ3/69OlQ3OWEjhyDhDqlw5g5c6Zp3KixOX2qdPMV1ckfPnzYdh7+viWhTes2iaLgySefNC+88EIovKRUuq5SqXa4V4qk/qc49XXixAlTs0bNUDh0e6ibefbZZ03hkUJrDNe7o569v138Rx99ZAcA4u6RRYsWmfvuuy8r7NixY+bGyjeaqVOmWtHxysuv2DYRPG8aCI3LaUTRbnh4fvbZZ+b6StebX3/9NWu/y5WfNDo+0NGK7n379lnj6vbbbi/SoEZSf1javPTSS7bev//+e/t9Fv6///77of3KOxW1PTNgx8ALomz58uWhfdOIel4Uh5K22aT+sDShj2Ow6ssvv7TbR44csR8wLYr9kXZ/lfYzijZI/0y/5ccBAzrPP/d8KLwkVDhR0L9/f9sZBcNatWyVadyMhDESS8UxQsaXa/1zFLURYswNHDDQqkzUMB0A6tjFd+rUyaxetdqMemaUja9fr34mzjd6eXi7bRrlkCFD7E3Fh64YdQimyYe1Hun7iKlWtZpV4vv37w/lrTRxosBto1DffONN+5/GySgK10358mAl78Tt2L7D1K1TN3McBmNw+4MPPrCjL5TTgP4DssqD8pk+fbqpV6+eubP+nea9994L5SuJuJuUMKfcgx0U7aN169a2DbRr187ecKtXr87E07GRV0b1GTnaumVrJo4Omc6PBwbx8+fPz8QllQ9tk3MF87ds2SXxxf+k9pPUnmk/tEVGZ3r17GXz7e4DN0sCUSPPGzdutPXNeTn/oUOHMukllQ/1Ghyp4sESPK/raA8cOBBKE6MUoUmdI3iDnSf54ToAQ5aHs398VIfr6ssdGyyfDes32GvYunWrvSby64wWHqgvj3/Zlin3HmV/8uTJUJplQVT/k1ZfcfcQv8H6ANeP7N271xT8ocCKBnee5s2a27bGfzfyFcR/wFBuvrFDG+MeCIZxL7i6yaUuo4yoM2fO2JkK7i3aZXB2Iun+SiJoRLmwW6vfajZv3py1X1R++j3SL2tWgXIPbtNvUZ4tmrew7acoRmQU9FO0ce4hF8a99+OPP9r/SeXjiOsPk+qE0VI+5Dh37lxTu1ZtW165PP9pp59++mlmm5Hfn3/+2f5Pq6+4/geS+uDqt1S39wL3LQL3rTffCuWrqKS156Q+xhHVfpLqK6184ohqzxznbKKkskt6XhSXtDabS9lF9YfA/UW5cS0Yv8H7K+mZmcS8efPs+fjPOTnexbn6Ik3u6zmz54SOj7u/HEV5Ro0dO9bee/45eGatW7cus00dcb3+fkAff8vNt5Tqs6vCiQIUMZ2B20Ypc3O5UVce8DQm/mPQUhn+OeIaYRwY6Bg6dICMiPTp3Sfr+JEjRtppPL6Ce/To0axjk0TB22+/badfXRwN0okN0qSxL1682N5wPJByGYUhX/6DHuKUZhAnCjCYmCng4RmcRm3WtJlpd287s3TJUnP27NlMeJooQNRQbvznYcw0noujfBBbXDcPimDd5kLaTYrhExQF5JVR+1UrV9ltREiH9h0y8YyKTpo06dK+/y0DRhacC9XEiRNtPbBNZ3tDwQ1ZHVVc+TDyxHF+3hxJ7SepPXOca4cY8xiAfidP/flGJqPRlIszjBghc/lLKx+gDcfNFGA0RX3JGfcprpFR8N9++82mx4wCcRgotIOdO3fa7RkzZkTet1EdLh0oxgz/yXuN22tkjGAMDfoGjKDgwxG2bdtmZ2suXrxot5m9Qaj5afqU5P5yJPU/UfUFSfcQdRE1U0BfyTUGwxhUIX23TVnHtU36KfogZtyC4UntOde6jDKiMEwff/xx+596btSwke0TXHzc/ZVE0IjiGcHMCF8cxwAI7heVnyRRsGbNGmuI0JYpH8q1qAMaPsxqRtWjI618IKo/TKsTnjGci0GoXEd4uW+uveba2H4A4uorqf+BpD6Y60DM858ZCvqEks64JrVnSOpjHFHtJ62+4sonCV8UYBvg+kcdsp1Udrk8L4pKWpvNpeyi+kMMfgxzrpe2Rv3wfHTxSc/MNBCAuOUgMJlBdeEvvviiHeSivDgnrjnunnFE3V9BivKMoi+JEoLYXcFBNdo3opG+xt8XeD7Thvzw4lLhRAFGGMrIdSiMbA19YmhoP+AG9B+KENUIk8BAD3aiGExUtNt+btxzVgH6x0GSKJgzZ449D8rRGSfBNDFmMtv/NQyDAqIscGsKHKjoYL64Rq7VPy5NFDALwCgJDwP/WMon6C7BDeOMn1xIu0mjRAECL7P9347TjTKg6AsKCrI6aM69YcOG0HmBfYN5jSsfynHY0GH2P7+ufJ2hmtR+gvjtuUnjJmbTpk2ZbR4wficfZWQuWrjIdHrw95EHHiwIAeo6qXwcSaLgicefiBz94LrjRvUYlWMmzG1jsFE+/uiH3+EySoLRH2yjdJArV6y0/3EX4TxuOwidPdPuGPMlNSqKSlL/E1VfkHQPxYkC+hfu6WAYQiyYdpIoYFQtaoQq2J59cq3LKCOKWaTgSCKjn8H7Ke7+SsL3webh6t8jEJWfJFEwfPhwM+HV39s5x3bp0iV03qLw8dKPI+vekVY+ENUfptUJ9wcDHMHR3jQwpjgHfSu48u3R4/d04uorqf9J64N5XiDoXRyuKiW1VZLac1of44hqP2n1FVc+SfjtmX7BDRamlV0uz4uiktRmcy27qP4Qmy74vKCfDj4jc31mRkEZUHZBzwygfNavW5/ZJk/BARSIur+CFOUZxbkeuP8BG4awGzNmjL0XECv+ebnWFStWhMKBsmD9px9eXCqcKICnRz5tRo8ebQv6jrp3ZFUknTZqmc6fio9qsFGNMAkM9OCDk0YVPC/CJDgNFSRJFAAPFkYMMKLHjx+fuaH9NQU8vMt6jUHQfYiRe66LcnbxdCJ0Av5xaaKAUQlGj2nsPDiDHWVa+aSRdpNGiYK4vAYXPgVxbkJ0rkz1Mnrq4oLnjisf6hg3sGAYaTpRkNR+ktozAiq4mJcHst/JRxmZwcVxQejAksrHkSQKKJ+oaVfyFjSwgjBq47dt6m33rt1ZYX6HS/n5eWOkx6WDsc91BUeDgixZssTWGe0St7Aol6eyIKn/iaovSLqH4kQB97I/KIIbZNCYTRIFzExRLn54VHt25FqXUUYUD8/gvU87fWzQY5ntuPsrieDIKgNKlBUDPH7aUflJEgXBhYUOjEA//aLAc4xRQj/ckVY+9hwR/WFanTDIhQuun14SbqYguHCdsgmKgrj6Sup/0vrgkj4vokhqz2l9jCOq/aTVV1z5JMEIs2vPzL4ysOFG3tPKLpfnRVFJarO5ll1Uf+g/L7g2bD23nfTMzAXqxn+GRblT+gPOUfdXkKI8o5jJZiaHNjJ48GD7EgRsS3798+JNEeUuCMy0McvnhxeXCikKGFl2YoApHheOERA0WHzj3RHVCJPwR+39mQIaqO+L6yA/zr+OjpQRkahODCOcxuZUf3FFQUncG/w1BYwSMyvjtunEnFtJEMobX1S3Tbn7NwIwLcd15brmIhfSbtKiiAJG/XHT8M/hwCgLunAxuuaLgqjywQeW9RLBMF8URLWftPacy8hPlJHJ4vGePXuG0oOk8nEkiQLKiBFqP5yROIwTt02H+PXXX9v/diQzYEwwkonBgUEXPIff4WJEIND8URi36M6JgrSZALdWJGoq16ck95cjqf+Jqq8gUfdQnCigLimzYDlybhYPu+0kUYC7HA8rP5zFhH575prIR651GWVEYVQH3bwYWcXv1m3H3V9J+O4WQPnhAhrcLyo/lAtuZW6btp2ZKRg23EyePDmUXklgzRhlRbt2YbgFOMMxrXwgqj9MqxP7PPtv2QaPyQX6n+C6qihREFVfSf1PWh9c0udFFEntOa2PcUS1n7T6iiufJPz2jMB1b31KK7tcnhdFJanN5lp2Uf0hxnjweUH/Gpz1jHtm5kqUKGAAxT2T4oi6v4IU9RmFoEIs0gZZw0mfEjVrhSgI9kVBEAUM9vjhxaVCigKgAnmVVHB6hwpFOVMBgN9ZUF06OCbq1Xtx8BBhhG737ksjK6h93ujh4pMaKKO8C+ZfuvFo2EzvuU6MkTgWQ/KfNyDQ6N3rvIorCkpCUBRgfDCCEnQfiOvEGKlA7Lj1EJSvMyTxZ+UGdzcFLgn4Arpjc+nk6czwz/TTBd4kEDyfT1FEAXDDupuPhyfuFs5nkQ7XjbTwMKQugyOgceXD7A8PCHw9KSvyw7nSREFae6Y9uM6UKXXeoOF38lFG5m+//Wb9qt00PPXmZoTSygc4n2snwYcB0DkFO3MHo1osyKSdUx50gCz0Io42wv3l/DenTZ1mgu4ODnxg/UWrLKajTfGf6+G63MhZkihgMRzp8J8RZOq5KH1CSUjqf6LqK+0eoj0hUHlAs0/wJQgYDVwnZc50PO0n6E+fJAq4D4JGnoNz4R/NGgze6MHaKKbBSTvXuiRf/qsLmQZ3wowHK+UQNKri7i8H+aH+g2G+EYXLDNfku7hF5Yc3aLkHNNP63ItOFNCemeF1Ljc85F07dCDc3LqZXMEH3d2LuAtQBm4GK618IKo/TKuTNFGAgKdc8R8PhiP+eRGBmy0g37mIgqT+B5L64LTnBYM2UW+XSiKpPROf1Mc4otpPWn3FlY8jl/ZM2fPsdf1iUtmlPS+w+Th3cNAgF5LabC5lF9Uf4l7D88KtKeB5EXQnintmOuLarCNKFOCpQRm5NRisV/AXRkfdX0GK+ozCPsTucm+H435ya0KC4D4Ut26AdlaSWROfCisKMFhpwEGfbiqTzo6pUJQ7Pth0Gv4UECu7mUrjeN/nNgqU2FNPPWUbCZVDpQbLJ6mBMkqMeqTy3333XWvgBlfmM+LENDWNFLHhOqIrJQqCo5/c3MHp4aRODJcujGQ3JRmcOeDhwYgj9cKDNbiyPq2ThyRRwA3IgiSXZzoRyip4HQ46uzSjl86MNkTnypRccArzjYlvWB9O3nzBTc4bHEjbvSc4qXy4JvcebN5+gIuN63zi2k9ae6ZuEBdcGyOfGHdu5I7//vWDe4MVI0a0ZWbAGCV3nWda+QDliCjnfHTcwTgEAeXiXwtQlizywjDlIUr7d3HM+lE+5InpVQwH//jgNbmRFgxi90YNpl2DC+OTRAGGAEYfDzSuj9GfYH7Kkqj+J62+ku4hYASSe4lRu+ADlrbJAwOjkGv0v1OQJAowYBDVwVEuB4Yc9wjtj/YY7IdzqUtGx+gvuEY3eooRQ3/IG49oJ77ATbq/gL6W8wXDfB9sYMTff7d3VH4wohnJo//B6CFvwdE6pvMpU/pvng/uzTvA8wHj1F+omAZtFWFNuZLPoFGSVj4Q1R8SnlQnaaKAPpFzubdWBWFxJn0SbY/+0g2cQVJ9xfU/Lr24PjjteYERnsuMn09Se07qYxxR7SetvpLKB5Lac3A0mvvXPROSyi7peQEIKnzb/RcLpJHUZnMpu6j+EBBn9Hc8L/GZD77UI+6Z6UhqsxAlCrhu+kruacoGkeALmLj7y1HUZxTPH3fvubU5/kyKW2gc7F+CUNdRs/PFpcKKAiFE+QMjiIdj8BWDomLCQxif108++SQUJ5LBwIoTW6LswA2oqEJMXAIxxSCBHy6uLHiaMDDhhwNillni0hzQkigQQpQqzBYxguiHi4oHMz/+x8tEOhhYQf9tUfZgs0S9DlnkBjMa/gyauLIwMMPMhb8428HMRml7kEgUCCFKFfx5mdb/6aefQnGiYsGUOqIg7s0XQgghygYGZXC1jXLh5LX8uDNHuWeWBIkCIYQQQggh8hyJAiGEEEIIIfIciQIhhBBCCCHyHIkCIYQQQggh8hyJAiGEEEIIIfIciQIhhBBCCCHynAopCvj6ofs6LK9rivpKXhTs57425z73fbng9VF8WEXvARZCCCGEEOWNCicKjh07Zm6sfKOZOmWq/eT0Ky+/Yj8hHvwEdhqvvfbaZRUFvGOWL9KtXh39yW0hhBBCCCGuJBVOFCxYsMCKgGDY/PnzTWFhof3P556ZPbj3nnstWzZvCZ0jShRMnzY968twfO7bbdevV9+MHDHS1K5V20ybOs00a9rMDB8+3MZt377dfgmQc7Zr1860bNEyZPwvX77c7uPnQwghhBBCiPJAhRMFzAwM6D8gFO7AMJ87d679v2P7DlPj9hrmxIkTWfsUVRTUrVPXipHx48ebjg90tOer/MfK5syZMzYN/q9aucru+95775kO7TtknZvzTJw4MStMCCGEEEKI8kKFEwWjnhllhg0dFgqHvXv32nUGwU9CY6CvXLEya7/iiILdu3abWTNnZdKuU7uOOXTokBUFN1W7KXPcjh077MxC8NwN7mxgNqzfkBUmhBBCCCFEeaHCiYIJr04wj/R9JBQOW7dstQZ8MKx3r95m9qzZWWHFEQW//PKLPc+TTz6ZCdu/f78VBcE0f/jhh1AeECo///xzVpgQQgghhBDlhQonCj788EP7Fp9gGEY+xjgzBVWrVA3NFODT7+/viwJEwMABAzPbuPuUlii4oeAGiQIhhBBCCFFuqXCi4OzZs6ZRw0Zm2bJl5vTp0+btt982D9z/QEYI8KrSefPm2f/btm0ztWrWilxTMGLEiKwwFge3aN7CnpNzde7cudREAQuUmcUIhgkhhBBCCFFeqHCiAPbs2WNnAKpVrWaGPjHU7Pt1XyYO4x2DnjcPtW/fPvIbBuvWrbMLkPleQdu729owxAZvCKpRo4bp37+/mTRpUmbmoKSioEePHla8+PkQQgghhBCiPFAhRUFFY+bMmXolqRBCCCGEKLdIFFwGTp48aWcm1qxZE4oTQgghhBDiSiNRcJlgzQKvJuXbBn6cEEIIIYQQVxKJAiGEEEIIIfIciQIhhBBCCCHyHIkCIYQQQggh8hyJAiGEEEIIIfIciQIhhBBCCCHyHIkCIYQQQggh8hyJgsvMzTfdbL+OHAwbPWq0GTZ0WGhf4MvKfJ352muuNY0bN86KW/bxMtPwroahY8oTr7z8iql0XSVz5MgRu/3pp5/aL0lHfWk6jd69epsFCxZkhSWVwYoVK0zXLl1N5T9WNlVurGJ++umnTFxhYaHNh18XQgghhBD5iETBZSZKFOzatcvs3LkztO/hw4dNwR8KzJ49e0JxLv6rr74KhZcnEAV8uG32rNl2e8iQIebW6reWmihIKoPmzZqbRQsXhcLh3LlzZu3ateb06dOhOCGEEEKIfEOiIAfq16tvRo4YaWrXqm2mTZ1mmjVtZoYPH56J37hxox3Nh24PdTMHDx7MxG3dutW0bNHSPHD/A2bc2HFZooBRbkarwZ8pwAB2cY5297azcW6UG6JGyclP27vbmlatWpnu3bqbQ4cOZeImTJhgXnj+BTN37lx7PZyjLOsaUTBwwEA7Yn/27FlTr149c3+H+zOiYN++fTbOld+WzVsyxzK70LlzZxveq2cvu58TBUll8M4774TKDk6fuiQAKBcX5gs0l5+729xt7ml7j9m6ZWsmbsP6DaZdu3a2Tlu3bm2Pf//997OOF0IIIYSoiEgU5EDdOnWtMTp+/HjT8YGO5sSJE9Ylha8TIwBuu/W2zEj/jBkzrFHpjm3apKk1/vk/fdp060rjG6IYsb4ogB9++MHUrFEzFO7AsPYNYkbOER6bN2+221OnTDUD+g/IxC9evNg0atjIPDrw0VA+kgga0kEYcff3DYIomDx5shUgH3zwgZ0p6NC+Q0YUYGQjUPi/Y/sOO6tA+bKNEMO1iv/bt2+3syb+TEFUGTgoO8rQD3dEzdrcd9991mWL/zt27DB1atcxFy5csNuIK9yQEH5BsSCEEEIIUdGRKMgBRMHuXbvNrJmzMsY7xiJG4vz5802P7j0y+yIUMJZPnjxpDhw4YMXDxYsXbRwj1VGj06UpCnCX6fRgp8w2o+3BPKxcsdLcUHBDxse/rEEUcH2jnhllmjRuYlavWp0RBXv37rVGtssbEEce+c/+mzZtysQxU1KWooBZgoKCAjuj4cIQQxs2bLD/T506ZevP5U8IIYQQ4mpBoiAHEAUYj/jFP/nkk5mw/fv3m0lvTTKDHh2UtT/GJiLiu+++syPfwTiM4LIUBXGuMxjgxK9aucq0atkqdK6y4tVXXjVTpkyxLk3Vb6luzp8/nxEFjLZTjsH9cZty6w8oO8rQxfXo0aNMRQHn8ssNEH7EO1FXeKQwdC4hhBBCiIqMREEOJIkCO1PQI3umgDcFHT9+3I48B0fp3UhzWYqChQsWmp49e4b2dSAK3NqEolAS9yGuLxgWnCmoWqVqaKZg+fLl9v9lnyn4dZ+pVrVaaD+HEwVubYIQQgghxNWCREEOJIkC1hQwAu7WFLAQ2bkTYeyyn1tTgH//9ZWuL1NR8Ntvv5laNWuZbdu22W3eXDR69CW/fCiuKCguSaKA/yzmnTdvnv1Pnsm7W1PADIxbU0DcjZVvLFNRAORt5syZ9j8Cj/o+evSo3ZYoEEIIIcTVikRBDiSJAv6vX7feGre8JQf3Fwxzd+ycOXOsIXnd/15nXY1Yi+BceTBa/ZH34LcI4kQBC4f948Dlh9F19yakwY8Ntq/edMeWN1FAubo3DLVv3z4TDiwuZuSea+vTu4+9bufKk1YGECUKWAjuHwOLFl16dSnrQBB15JHF2M6VCSQKhBBCCHG1IlEghBBCCCFEniNRIIQQQgghRJ4jUSCEEEIIIUSeI1EghBBCCCFEniNRIIQQQgghRJ4jUSCEEEIIIUSeI1EghBBCCCFEniNRIIQQQgghRJ4jUSCEEEIIIUSeI1FQgZk0aZL9EvC111yb9SVkKCwstF/f5YvBwXC+Luy+4rvs42VZcXxN2MWNHjU6K67jAx1N69atM9vjxo4zN990c9Y+xWHx4sXmgfsfMFVurGLu73C/mTt3bmgf8jJs6LBQeEmZOHGi/WqxH961S1czffr0ULgQQgghxNWKREEF5fDhw6bgDwVmz549oTg4d+6cWbt2rTl9+nQoDjp37hwSBY7XXnstUhTUuL2G2b1rt91u0riJuf2220PHFgXyVlBQYBYuWGhOnDhh1q9bb6pWqWp27NiRtd+uXbvMzp07Q8eXBNr3bbfeZsvRj/v111/NrdVvNYcOHQrFCSGEEEJcjUgUVEB69+qdGdF3tLu3XSa+VatWmXB/psBRHFEwcMBAG7d582bz8MMPZ80ULFmyxHRo38G0aN7C9O3T1/z22282/PPPPzcN7myQESebNm0y9evVN8ePH7eCptJ1layAcedBdLht8ueuw58pmDFjRqgMXnzxxUz8xo0bTdu729qy6N6te8jAf/bZZ0PXGIT0JkyYEAoXQgghhLgakSiooPzwww+mZo2aofAgGO2lKQoY0W/Tuo154fkXzOxZszOiAAOfvGzfvt0a9L169jKvv/565tinnnrKHoMwYIZh/fr1Nvz8+fNWRPTo3sPMmTPHujz5eQFcnnxREOTAgQOmWdNmGSHC6D95Q7ywPXXKVDOg/4CsY2rVrGUFin8ux2effWZatmgZChdCCCGEuBqRKKigXAlRwJqD5s2aW0MeAzxuTQGCYPiw4ZltRAOzBfjvPz3y6ax9jx07ZtNDbLCu4E9/+pMVC8F9kkQBIoS8bdiwIRO2aOEi0+nBTpntI0eOmMp/rGwuXrxot5mhwG0pOEPhc/LkSTv7wK8fJ4QQQghxtSFRUEG53KLgwY4Pmm+//dYa/LgvYVAHRcGYMWNM0yZNY919pkyZYsMZ1ffTcyA6GjdqbGchguFJooAFzyy49vf3XYtg7969Np4ZhHp31Audy6f6LdXNTz/9FAoXQgghhLjakCiooFxuUeBmCtx2UBTghsMMAqP+bPNWn6ARf/ToUXNXg7vM4McGm8cffzwTzgLilStWZqWDm5GfdpwoWLZsmRUofjhuTj179gyFO8hvvXq5iYIff/wxFC6EEEIIcbUhUVDOwR+/Xbt2ofCSigJeu/nhhx+GwgFRMGLEiKywJFEwefJk069fP/sfVyFek/rYoMcy+xKHUOCYVi1bmeXLl9vwn3/+2dStU9d8//33dps1BSwOXrpkaVbaUaKA9onPvxMiQXBtYs3Atm3b7DbuQqNH/y40MPRxVfKPC+Lch3A98uOEEEIIIa42JArKOUUVBVFv5YFFixZl7YehjV89cWPHjs2KW7dunX39KHEY6YQliYJ9v+4zd9a/035noN8j/cyaNWts3LvvvmtH7du3b28uXLiQle99+/bZ7Xnz5lnXJIx03hQ0a+asTBrs51+H+x7D0CeGhuJ4+5E7ltkAxEm3h7rZGQpez+riyEu1qtUyoiEKFhojLPxwIYQQQoirEYkCkZfwelXWQfjhDhZKjxwxMhQuhBBCCHE1IlEg8pItm7eYm6rdlHmNaRBmPnhbEbMafpwQQgghxNWIRIHIW1jUzGtS/fAePXpkfWdBCCGEEOJqR6JACCGEEEKIPEeiQAghhBBCiDxHokAIIYQQQog8R6JACCGEEEKIPEeiQAghhBBCiDxHokAIIYQQQog8R6JAZDFn9hz7VWQ/3LHs42Wm4V0NQ+HFhS8ruy8Sc+5gHF9Qfvjhh80tN99iWrZoaV8hevHixdA5SpO0/Li40aNGh451dO7cOevLzOWNHdt3mLp16obCS0pFqq9jx46ZIUOGmPr16tsvZw8ePNgcOHAgax++iO2nlwt8Qbsk37iIaj+FhYW2znbs2BHaPylOCCGEyBWJApEFX/lNEgWHDx82X331VSi8pGAI+UZdxwc6mlHPjDKFRwqtkdWqVavEvJUmUflxvPbaayEj07Fo0SJz3333hcLLE2UlCipSfb08/mXToX0Hs2fPHvsBu8cff9wM6D8gE3/ixAkrFvxz5UKb1m2KLQqS2s+SJUtihUpSnBBCCJELEgUVjPPnz5saNWqYzz77LBOGEXZ9pevtl3jZ3rhxo2l7d1trlHXv1t0cOnQos++ECRPsCO7cuXNN7Vq17Siqq+tBjw7KjKzCzTfd/HsahYWZ8KiZgs2bN9s0q1aparp26Wq+/vrrTBwGCwZYi+YtTN8+fSO/Ihxl1N1Z/06zdu3azPavv/5qjh8/ntmePWu2uavBXea2W2+zeSePLq5Tp05m9arV1kglT4wIuzjKBwMKuj3UzRw8eDCn/DiijExH69atI49Ly09Ufc2cOdP06tnLltvw4cMtlMnWrVtt/JkzZ8yIESPscc2bNbezPO6cnH/kiJG2jqdNnWaaNW1mjycOUVDvjnq2LTCqz7FffPFFan4gqf1UpPpCBLzy8iuZbfLizrtr166s+wCYkXD7JrVnxFbwuN69emfikurLEdd+gFkX7r0N6zcUKU4IIYTIBYmCCsizzz5rhj4xNLON0YdRxH9G8jHmMdLZnjplatYI6OLFi02jho3sl3x/+eWX0LnZN2l0F5cMXxRgFNWqWcssW7bMHD161EyaNMk0btzYxmEUMuK6fft2c+7cOWvkRn0tOMqoe3rk06Zpk6Zm8uTJdkQ3GPf555/bOGYtSJ98P/nkk5l4DGLiSYs8uXAMP4zSnTt32m2uFRGTS34cUUYmYExi0HKdflxcfpLqCyOauqIMb6p2kzWaX3rpJQvxL774ojU6L1y4YM/Z4M4GmevCOF2wYIEZP368HcFn5LvyHytbwxRRcEPBDWbixInW4MfQx1BNyw8ktZ+KVF8fffSRuf22280LL7yQudYgjPRHzRTk0p6Jj5opSKovSGo/Duoe4eSHp8UJIYQQaUgUVEAwzDEezp49a7fb3dvOzJ8/3/5ftHCR6fRgp8y+R44cscag8+1euWKlNQgJ988LxREFGJ89uvcI7RsFBtTwYZdGrINEGXXkmRHpLl262JkQRpf3799v44YNHWbeevOt0Hkcz417LtKdgnIK5hUjmRHdkydPZu0XlR9HlJEJ8+bNsyPefjjE5SepvhAFjw16zIbXqV3HGuH4mmNAE9akcROzft36zLHkibzxH1Gwe9duuz9l5c6BCEAUBNvE6dOnbRmcPnU6MT9sJ7WfilZflB3iplrVaub+DvfbGQkXFycKfKLac5woSKovSGo/Dso/qpzS4oQQQog0JAoqKIyqMjK/e/duU+XGKtagIzy48DLI3r17bfyqlatMq5aXRoWjKI4omPTWJGsA+vs6WKdAfl1enJEaJMmoA/L/SN9HMun06NHDGs3+fo7nn3s+ctQ0Kq+MjGNAB8OS8hNnZL75xpt2kakfDnH5Saovrs+VFUY+BjZhboSdfPvHuRkk9kdEBPd350AU+AYvhj77J+WH/dLaj6Mi1JeDRcfMlgTXWSSJgrT2HCcKkuoLktqPgxkKxJ0fnhYnhBBCpCFRUEF5Y+IbdhR5wqsTzBOPP5EJX7hgoenZs2dofwdGHTMLfrijOKLAzhT0+H00lxkMfMtxk9i0aZP1n8bwIg6XFd+IAt+ow8ebUefgPrjPODcXzoHB6OIYAQ+uY8DIBD8dO/IcyCsjz9dec22W7zv4+QkSZ2RybbzFxg+HuPwk1VeaKGjcqHHWNQdJEwU3Vr7x95mCU7/PFCTlB+LaT0WrL0blg2sa3GyJC4sTBbm05zhRkFRf7lxx7ceB4c9aDj88LU4IIYRIQ6KgnPPUU0+Zdu3ahcJZxIkBwILQ9et/d0lw/v3btm2z2/h2jx79u0EUZ9Q5MHCcAYWB5BtfUaKANFn87AyhKVOm2EWY/Me/vF+/fvY/58K9wbnEBMFP/MMPP8xs41fNugQWdbKN0GChrBtNxkedNDDOiCONZ55+JnN8nJGJj3r1W6pnfLlZjxHl+uTnJwhGJgtG/XAWBgcN2CBx+UmqrzRRwHoBRtERX2zjyrJl85bM/kmigJkBd31z5swxd7e5OzU/ENd+Klp94fLD2hzngoegwdh38ZQdZUR5IZ7cGolc2jP3hxMoboYFkuoLktqPAxchXvfqh6fFCSGEEGlIFJRz4kQB4Psd5S7AaKZ7UwvuCME3wsQZdQ6Mft6swmjsrdVvzRj6zCD4rg/gfMZZrMl5ecsNxqETKrwRibfS4LPd75F+Zs2aNdaN4t13381KF7eVgoICe86xY8faMHy8GbXGKOQchAd9yTF4ef3jHXXvsEbhvn2X3r4EcUYm4Nd9T9t7bBmx8BND2N8nKj+OdevWmRq317BxiDIXvnXLVnttUe/mT8pPXH2liQIMcYxuRuOpH4xOFhS7/eNEASPKuL+waJi35xT8ocB8+umnqfmBpPZTkeqLbxIwKs/oPe2c8vP7PM7DImfuBScqcmnPvFaU85KeE8eQVF+Q1H4cLCaOm01IihNCCCHSkCgQopTgdbGItE8++SQUJ0Qaae0HscCbnxBzRYkTQgghckGiQIhSBL/5uI9PCZFGUvtZumSp/X5D1CtLk+KEEEKIXJAoEKIUwSjDqONVoH6cEGnEtR/W92D0B1+bmkucEEIIkSsSBUIIIYQQQuQ5EgVCCCGEEELkORIFQgghhBBC5DkSBUIIIYQQQuQ5EgVCCCGEEELkORIFQgghhBBC5DkVUhTwCj6+zrpjx45QXC7wVdYmjZvYL45OnDgxFC+EEEIIIUQ+USFFASxZssTce8+9ofBc6NC+g5k+fbr9CqgfJ4QQQgghRL5RYUUBBn3DuxqaDes3hOLSaNWqldm0aVMoXAghhBBCiHykwooCeOmll8yoZ0aFwtNo1VKiQAghhBBCCEeFFgUrV6wssgvR999/b6pWqWr2798fihNCCCGEECIfqdCiYPv27aZO7Tqh8DimT5tuFxcvmL8gFCeEEEIIIUS+UuFFQe1atUPhcZw/f96sX7/e3FH3DnPixIlQvBBCCCGEEPlIhRYFuA+1bNEyFJ5G82bNzdatW0PhQgghhBBC5CMVWhSw0Hjw4MGh8DT09iEhhBBCCCF+p8KKAl5J2qhhI7N48eJQXBoSBUIIIYQQQvxOhRUFS5csNfXr1Tfnzp0LxaXRtUtXLTYWQgghhBDi/6dCioLCwkIrCDZu3BiKy4U1a9aY6ytdb99ENHHixFC8EEIIIYQQ+USFFAVCCCGEEEKI0kOiQAghhBBCiDxHokAIIYQQQog8R6JACCGEEEKIPEeiQAghhBBCiDxHokAIIYQQQog8R6IghePHj9tXl0axdu3a0P5FZc7sOWbGjBmh8CCdO3c2s2bOCoULIYQQQghRGkgUFIFJb00yA/oPCIWXhDFjxiSKgkWLFpn77rsvFC6EEEIIIURpIVFQBOJEAR9Ra3t3W9OqVSvTvVt3c+jQIRt+8OBBU6NGDfPjjz/abT66VrNGTfPNN9/Y7UGPDsqaebj5pptD527durVZ9vGyULgQQgghhBClhURBEYgSBYcPH7bG/ObNm+321ClTs/b54IMPTLt27czFixfNkCFDzCsvv5J1PPvGzRTs2rXLVK1S1Zw7dy4UJ4QQQgghRGkhUVAEokTBooWLTKcHO2W2jxw5Yir/sbIVAS6sb5++VhC0atnKnD17Nuv4JFEwb94806nT7+cWQgghhBCiLJAoKAJRouCdd94JLUCGvXv3Zvb59ttvbRizBv45k0TBm2+8aQY/NjgULoQQQgghRGkiUVAEokTBwgULTc+ePUP7BunRvYcZ+sRQ07hxY3P61OmsuCRRMHHiRDN4sESBEEIIIYQoWyQKikCUKPjtt99MrZq1zLZt2+z2nj17zOjRozPxGPwPdX3I/h89arQZOWJk1vHDhg6z4fxnITKvQHVxM2fOND169MjaXwghhBBCiNJGoqAIRIkC2LRpk7n3nntNt4e6WXcf9/2C3bt3m9q1apt9+/bZbWYJGt7V0KxevTpzLG8i6tC+g7n2mmvNrdVvNT/88EMmbuuWrXYRc3B9ghBCCCGEEKWNREE55vz586ZO7Trmk08+CcUJIYQQQghRWkgUlHOYndDHy4QQQgghRFkiUVDO4RsFiIJZM2eF4oQQQgghhCgNJAqEEEIIIYTIcyQKhBBCCCGEyHMkCoQQQgghhMhzJAqEEEIIIYTIcyQKhBBCCCGEyHMkCoQQQgghhMhzJArKMXwROeoLyiWFry4Hv5xcluzYvsPUrVM3FF4URo8abYYNHRYK52vP1/zPNaZVq1ahuCB8NZovSQfDpk6Zao/dvn17aP+ygq9e+2G5UBr19c4772SV4cvjXzatW7c21apWMw8//LDZuHFj1v7FzSvE1VdZMmnSJHPbrbfZOuUL4368EEIIIZKRKCjH8CXjshAFbVq3KbGRmSulIQp27dpldu7cGQqH9evXF0sUdHygo7m+0vXmlZdfCe1fFpw4ccLUrFEzFJ4LpVFfQVHwxRdfmKpVqppvv/3WHD9+3EyfPt3W0ZkzZ2x8SfIKSfVVFpDvStdVsm3NjxNCCCFEbkgUlFNmz5ptRz2DYNy6eAy55s2amxbNW5hRz4wy58+ft+Gff/65aXBnA3P69Gm7zahp/Xr1rfHHNsZf8Jy9e/UOpV2aYKjVu6OemTBhgrnl5ltsnjFKXTyjuxiRbhtj1G0v+3hZJp9xI89xomDO7DmmXr16plOnTua5cc9liYJ9v+6z5xw/frzNT/C46rdUNx988IF5sOODNt9vvflWJq5vn75m+rTppnPnzraMHx34qP24nIunTsjL3W3uNs88/UymTrgevy4x0t1xS5YsMR3ad7B1SRq//fZbJi6pvjCGR4wYYdPkOrhmF3fhwgUzcsRI06RxE5tfys+V4dy5c60ocvuCM+LT8ko9vvD8C/YctWvVtvGur0iqL2Zmnh75tC0zrpPyDfYxlPNdDe6y4e+++66pU7tO1vFJFBYWmhsKbgiFCyGEECJ3JArKMTNmzIicKVizZo019DEeMUr79+9v3nvvvUz8U089ZQ03hAFGIYZz8HgM76KOPGN4+sYiBI3iKBAFGGwTJ040hw4dskZl0IhPEgUO3/UlSJQo2LdvnxUgv/zyi7l48aItn6AowLBn9P3IkSP2Gn788cdMHPnBtYb/33//vR2BPn3qksDq90g/07VLV7uNyGrcqLH57LPPbNzqVautYU44aVJvr7/+eua8lHfU6Dv7E44bE2XZq2evrOMgrr5efPFFKxIQAEePHrVCxRn3ixcvNve0vceeE6O5cePGmTLELQ3xM3zYcLNixQpz9uzZrPPG5dWdt1HDRta4p3z9eIiqL8ocQx9BRn45/qWXXrJx1Ddt5Oeff7ZlN+jRQUWaXSo8IlEghBBClBSJgnJMnCgYPny4mfDqhMw2I7RdunTJbGNoupFsRmf94+OMzLIAUVD5j5Wtscc2QgVD3BnaZSEKGOl/qOtDme1VK1dliQJGyV977bXQfyA/27Zty2zfftvtmXsBUfD2229n4vr162fef/99+3/oE0OzZhUQC0G//CRDOwiCAGM9GBZXX1bwrftd8OHL764FYYgQc3HPP/d8VhligDPDxGwILFywMBOXlNeVK1ZaAxxB5cc5ouoLUYDgCW4PGTLE/l+6ZKnp9GCnTNzatWuLJAqYIWnZomUoXAghhBC5I1FQjokTBYwO+yP2uF4E95kyZYoNP3DgQOj4OCOzLEAU+AYmRqUbZS4LUYAbDwa72966ZWtGFOzfv99ce821mdkBzs2CW7dvUn4QBbh1uTjqxm336NEjKw5Xrzvq3pHZTjK0x4wZY5o2aRrrehNXX26hdRDECXFcP+Xg9p301qTQeQGxhlGOcPvpp59sWFJeEVitWobdtYJE1RcigBkAt03bdtsY9X1698nEFWUdCnXCYukdO7SeQAghhCgJEgXlmDhRwEjy5MmTQ+EOXEkQCby15vHHHw/FxxmZSZTEfejGyjf+PlNwKnumgLw4A519ME5LKgoWLVwUO1OAcepfA+zZs8fGF1cUYIxjeLs4Zgra3t02sx1naLPmA7ejY8eO2W1G9/1rjasv3Je+/vrrUDgwmxQ3U8Dsgv/WpXbt2tkZJ/7H5RUoy3b3tguFB4mqryRR8PHSj7NmCii7XEXByZMnzbSp00yP7j1CcUIIIYTIHYmCcsyCBQusYYnhjduNG/VnMXGzps0yLhzLly838+bNyxzHKDEGIccxqkt88LwYyM4A3Lt3byjd0sStKfjwww/t9pw5c+xCXBd/3333mQXzF9j/GIMFBQVFEgVffvmlHWUPhu3etdtUubFKZk0BxrsTBbgLuTUDDsr4zTfetP+LKwpwq2EBrVtTQB0E3YnIC+XATAXxToQg7tysBsficvTYoMey8hdXXyyUxrDGR59tXI+2bN5i/5OvzJqCI4XW1ciVIa5ClANrDdhmlB03KTd7E5dXKAtRwPlJjzUyiEXKI1dRAIcPH7ZvU/LDhRBCCJE7EgXlGEaPH+n7iB09h/nz52fiZs2cZUfIMVTxH8dHnHAMvvbt22cMRTfqy+Jbd+yiRYvsKDMj5BiyfrqlCSPSGO0sUOXNOgV/KDCffvppJh7/fxbzIg546wzGq5s5IN/+iD4LZoPnP3jwoB1pd/HuLUv4q7N9U7WbbFkxc4KIIq1gWQAGtPP/L64oANYbIMIQPePGjsu8fcgxduxYe37cl3hrEGEsvL2z/p3m/g732/OziBy3IMrCHRdXXxj8rAugHZAXRAKvEyWOtsO+HEOZstbAuRYBMwfkE/HEG3+CaxPi8gpJoiCpvpJEAbBGhvyQV0b+iyIK9PYhIYQQouRIFAghyhUID/9VsUlIFAghhBAlR6JACHHF4VsKzHLxelReIeu/gSkJZmSYSYt7RaoQQggh0pEoEEJccXBfYp0D7kO8Xct38UqDdSLOZYnF2368EEIIIZKRKBBCCCGEECLPkSgQQgghhBAiz5EoEEIIIYQQIs+RKBBCCCGEECLPkSgQQgghhBAiz5EoEEIIIYQQIs+RKBAVBl5VuWDBglA477jnq8XBsCeffNJ+5Zf/fNiKD2Lxf/ny5fa1lXzZuFHDRmbMmDGZrwBfSdwXlUsTvozMtfLFYz+Osvz/2LvvN6mpv//j/8hXb/GzioKAuhRdCy5KRxZQQdqKCgsooICCAtI/qCDi0kSpwrLgDaKCFClSBVkQKRdl6b0o8C+c7/06XCdkkpnMbJPZnecPj4skJ5Nkkgz7fp+SuEd46uVfwfKaYM+ePd53HDliZKi8IqrievnNnDnTDBk8JGaZrpO+Sya+jyH4Rux4/u3zo7d1683cegSu9nv92nWvTMeit3KXlJSEPgcA6YqkANVGvKSguLjYdOjQIbTu2DFjbWKg6ezsbLN161Y7raRAQbJekqU/5no2fkFBQejz/yYlJQ2zG4aWV4bNmzfHTQocJUc1NSlwpkyZUqlJQVVeLydeUvDPP/+YjRs3muvX7wafmSKVpODfPj9KDPX/z/79+80D//NAqHzFihVVnjwCQGUiKYDn8uXLZuCAgaZN6zambZu2ZsmSJV7Z7Fmz7Ztme/boactUO3/06NGkZaKAvF3bdjY41TpnzpzxyhrUb2CWLVtmOr/W2eQ8nWO+mvaVV3b+/Hm7Lf1hfbPXm6Zb126hpKB169Zm1Q+rQt9FgeC4sePsdO4LuWbfvn122iUFbj29JEuBsXtZlv7VfrRP2bljZ2jb8egcfDT8I/NO/3dMi+Yt7Pfx/4Z0Dtw2e3TvYU6fPm2XHzp0yKvNdhQQBrcfT9T1csqTFCQ6Vl3DLZu3xKyrAEzb0FuFg9v2q8g9kuh4RPePrnWXLl1M0+ebxj13iZKCOXPmmOYvNbfXa8THI5J+B0l2vcp7/9y6dcsMHzbcvrxN50YJgT8p0Hlx+/PXhPfv19/eA/ru+u3oszqPly5dCu3D78CBA6Z+vfo2OXbLdK889+xz3rzOj/ar6/XxRx9756dkb4mtBXfr/fnnnzHzuhZrf1lrz2mdR+uYZ3KeCe0/Hv3eBw0aZBP17t26x5xXJQX6bfXp3cfUrVPX5PfMNydPnvTKE52fvXv32v8jdA/k5eWZli1amrVr13rl7nrpO77c7mWza+eu0HElos+pBbL0RKnJfjI7VH779m17XYK/GQBIVyQF8EydOtV2uVGAoj+O6nbjAgH9UX70kUdtUKT5iRMnekFLVNnZs2dtN5YdO3bYeQWHrluPPPH4E/ZttJpWjZsCTNcMryDJBXP64571n6yYpED7U9ChGkL/93DHpO+jaf2xP3HihJ0OJgWSk5Njtmy584dbgcN3331npxX86I99Kt2LtL8mjZvYAEHnTwGMzoPKFMTqeyoQ07y6HCigcJ9VUFWemueo6+WUNSmIOlbV1C5atCjm87ouCmSD2w0q7z0SdTyisqFDhnrbUaDrTzYkXlKwbt06G6yeO3fO3j9KWObOnRuzTiJR16u898/3339v71Mdi66HuqYEWwpE58kf9OqaaL0NGzbY83vx4kXTsWNHs379+tBng5S0rFp1N6FWUjv588l2WkG9EiYlngpudT2++OILW5YsKdDv9sVmL9r1dTzB/SYyY8YM71rKsGHDvGup+0e/dZ0nJQ86nuC9KMHzo2Ot/XBtr/ugrnGnjp28crUyFhYW3lm3pMT+hvV7Cm43HrUwqrVR11ddEYPlovtcyVFwOQCkI5ICJJSVlWWDXE3rj/Krr7zqlSnoUI1ksrLipcWmS+cuXpn+oOuPtAINzSuo2717t1f+5BNPeveegk390XVlee3zYpKCxYsX21pJN5+KeEmBatrV2nDs2DEbWLljEwUQa1avCW0nSOdArRn+edV6alo1+KrZdGU3btywNZpXr16181FBZln4r5dT1qQg6lgVXE+aNMkmWErQfvzxR7NyxUpbexvcblB575Go49G87h8FxK5c10vX2L/veEnB0KFDvQBYdP27du0as04iia5XRe6fDz/80EtiRa1cqSYFC+YvMAcPHrS10lqmhFTBc/CzQd98840p6HOn65ySSbW6uOR58PuDY1rtdL1cV5hkSYG67pWn28zChQttUqXWFf85FN0/aiXy5ufMiUkgnOD50bE+Vvexu/P/F/i7lgu1Eug3428t0W/FVRBUBl378pwLALgXSArg0R9Ddd1QjVywKV5/lFWb6tZVsP78c88nLVMXAH9XC0cBlMoV1LnaY1Gw5eZVy+q6/Uh+fn5MUjDty2m264SbT0W8pEDdln777Tdb2+4PbkTjGBR0BbcTFOzzrBptN1/4VWGoP7SCl8OHDtvpREFmMlHXyylrUhB1rAo0FXDqfKj2UzXLCmQnTJgQ2m5Qee+RqOPRtO4ftTC5MnU7CXajipcU+AdaO+54kkl0vSpy/6jWWYGum9f3TjUp0G9Cvxm1Lrhl6use/GyQrru64uhftZyo244r02/Nf9watP30U0/b6WRJgRKa8taOK1F76cWX7PaUgLqAPer35Rc8P1HH6h+I7he8fypCLWlqfQguB4B0RFIAjwIqf5O8uqP4kwKVuzI1x6tWL1nZ0qKlplevXqF9OVFJQbKWAgWkAwdWLClQQPlgrQdtNxIFoQqwgzW9wZrneKKCFlvbnR9b233/fffbrhmaTxRkJhN1vZyyJgVRx6oAS7X9ahlQf26dG9XWBsd5xFPeeyTqeDSv+yd4j6jri38b8ZICHff06dND+0tFoutVkftHLRflbSkob1IgLsnTvlRT75arpUCJiZv3t+zo+zdu1Ngr0/kPJgVuPE95qduQ7lt3f0f9vvyC5ycqKVCrmpKi4DYqk5IC/7kCgHRGUgCP/kC6mnkFY2padzWy+qOsZngXsA94d4AXaEWVKdhu1LCR10VIf+xHjrwboEUlBfqj77ajzz9S+5GYAHTevHkxAWMqXFKgwE3b1CDTTz75xCtXv251S3L71LGn0ic8KmhRv3h1zXD94r+e/bXxd4lREKOAXoG2jivYJz6RqOvlqAVE/buDn3XUDcg/cDfqWDXWQ11UXI2yAkoN3Ny1K/ngzPLeI1HHI7p/1Pdc03/99Zc9Bxpb4N+3kgK3jqMuR6qRVlclzeu+cNc9majrVd77R4G5N6bg/AWbEP8bSYGCfY3R0HH6+/+r24t+G25MgVoyXHcifR9173LfW+e3MpICtfy5QbkaKK0kZPny5XY+6vflFzw/UUmBKGnT/yOaVsKpJ5aVZRxEMjqP+o0ElwNAOiIpgOfLqV/aQbd6co4CG/WR12DDa9eu2T/KCgL1tBP1wddTTvytCInKRDWJ7skx6u6jxwa6sqikQLVsCnzVpP/2W2/bwYX+pn1111AQEOx/HMW9p0DUrK/A1D+wUMftnnikAZvqYhDcRjzJgpbNmzbboE/bVZcSBcL+z48ePdqeC9WCBwPYRKKul1tHQbWWue/satgdnVNX5mq0o4712Wee9QI+DaiNt814KnKPRB2Pzpm63Whsibr/zJo1K7TvTZs22a5oOlZX2y16t4USRPWrV5/+I0eOhD6bSKLrVd77R0GwgnAdoxICBdqqrVeZ7iV/9xZHgX9FkwL9dvQ70HUJlmngb6uWd54+NGb0mJhB7Oo6pgTMdenz14aXNylQH3+14Oh6aGyGEkf32476fUWdn2RJwalTp4ySTCUHrtUkeFwVoYHGZW3NBIB7haQAKQn+UU61rCopSFFAowGvwTKkl6q6R4JJJcpOCZV/sDYqhxIaPZUolUHfAJAOSAqQkqigLqqsqqnfc7yXlyG9VNU9QlJQMUoG1BoQXI6K05O59KSjeI9MBoB0RFKAlEQFdVFlVU1/cJUUqCtIsAzpo6ruEZKC8lOXGY0NUPesYBkqRoP3lRC4N6kDQHVAUgAAAABkOJICAAAAIMORFAAAAAAZjqQAAAAAyHAkBQAAAECGIykAAAAAMhxJAcpk1Q+rTNPnm4aWHz582L4dN7g8+EbRIL3Y59VXXrVvMH2l0yv2Lbn+8oULFto3lgY/l4zefOvebKrHAwbLk9mxY4d9e6//7cAAAAA1FUkByuTs2bNm+/btoeV6q3BZk4Lr16+brKwss7Roqbly5Yp9XnqdR+uYkpISb51Ro0aVKylwaj1Qq8xJgd5E2iy3mVm7dm2oDAAAoCYiKYA1evRoM3ny5NDyvLw8s2nTJhtYu5r3YEvBgvkLvDJnz549tkxJgV7iM2XKFFO/Xn3T/uX2ZsvmLbbs6NGjNmj3v/Hz8KHD3rxeduXfZr3H6tnlt27dMtlPZpvff//d+9z1a9dN3Tp1zYkTJ2KOLV5SoBcKtWvbzrRq1cr07NHTnDlzJqb8p59+Mq1bt45ZBgAAUJORFMBSYD9o0KDQ8scbPG5OnTrlzSvYDyYFotr8RC0FD2U9ZMaPH2/OnTtnZsyY4e3n5s2bpkXzFia/Z75ZuHBhKHgXbTNeS8GY0WPMyJEjvfn//d//NV06dwmtF0wK1NKh5ELdgzQ/e9bs0HErGZk6dWpoWwAAADUVSQGszZs32779ms7NzbXdds6fP28a1G8Qs155kgKNF1Dtvub37dtncl/I9covXbpkWxHatG5j1/vvf/9rkwVXnigpOHDggG0tcOsW9CkwixYtCq0XTAqKlxbHJA/6jrUfrm27DLllzz37nNeaAQAAkAlICmCpC02Txk3MoUOHzMCBA03Hjh3Ntm3b7L/+9cqTFPjHFPz5558Jxxho20oY1GrhliVKCiSvfZ5ZvXq1uXz5su06pH+D6wSTgpkzZ4a6OsmxY8e8dZScHDlyJLQtAACAmoqkAB51FVLQvHz5clNQUGCmT59uhgweErNOZSYFSkDWrF4Ts/74cePNyBF3uwVFJQXz5803A94dYIqKimwiEyyXYFKgQc29evUKreen7k4kBQAAIJOQFMDToUMHOwD3wvkLtra+ZYuWprCwMGadREmBAnN9VoOE9VQhNw4hKilQ4K3p/fv323kF79rGyhUrvfWVlLgkQeX+1oCLFy+a7Oxs071bd7N+/frQMUnWf7LM6dOnvXmNa2jUsJHZvXu3nddgZ//YBGncqLHZtXNXaFsAAAA1FUkBPO+9957tkqPp48eP2241ehKP5lVjH+xyIydPnrTlGhvQp3cf2z9flixZYpdHJQWyePFi0/m1zrbLjp4GpNp//zEpCenUsZO5/777bUuGPu8v16Bgbc8/JsDPf9zuu6hblJ6C1KN7DzNwwECzcePGmM/k5+fbAdHBbQEAANRUJAWo1vQY1UmTJoWWV8S8efN4JCkAAMgoJAWotvROAj0pqLS0NFRWEVevXrVPNlq3bl2oDAAAoCYiKUC1NHHiRNslKDjmobLobcZKOG7cuBEqAwAAqGlICgAAAIAMR1IAAAAAZDiSAgAAACDDkRQAAAAAGY6kAAAAAMhwJAUAAABAhiMpwD31/fffm1dfedW+0fiVTq+Y7777LrROZft00qf25WR169Q1b7zxhtm6dWtMud5yHHxzcirqPVbPPiZVb2YOlqVi6tSp5p3+78Qse+LxJ8yhQ4dC61aV4Buo/w33Yp9zvp5j34YdXO5cuHDBHlNJSUmoDACAmoikAPfM9evXTVZWlllatNRcuXLFbN602dR5tE6VBmK//vqr3ccff/xhLl++bObMmWODP//7CNq0blOupEA2b95crqRAvzclAGfPno1ZTlJQNZIlBbJixQrT/uX2oeUAANREJAW4Z44ePWpqPVDL/PPPP96yw4cOe/O93+5tPvnkE9OlcxeTm5tr3n/vfZtIuHUnfz7Z5LXPMy82e9GMGjXKW753717bEjBlyhSTl5dnWrZoaV9GpjK1RLz26msxx3HgwAFvWsGpavudt958y1unfr365u+///bWVQKgF5z5t5UoKVBrRLu27WxZzx49zZkzZ2LK9T1HjhgZ+pySgq9nf21ycnJM40aNzaxZs7yyLZu32O+3a9cu+311vIsWLbJlwaD322+/jZlftmyZ6da1m+nSpYvp17efl3goQH8m5xl77vR9FRRrP8HjqkzaZ87TOWby5Ml2n81fam6TN1euY1z7y1oz4uMRNqHT8bmyYNLUMLuhN3/+/HkzaNAge727d+tuZs6c6a2n86NWmT69+9gWo/ye+ebkyZMxx3X79m3T9PmmVf79AQBIByQFuGdu3rxpWjRvYQOyhQsX2i4b/vKCPgW21v7q1as2GO/8WmdTVFRky7Zt22ZeaPqCuXTpktfVw3UDUpBZ++Ha5pc1v9j5uXPnmk4dO9npw4cPmwb1G5ihQ4aa1atXxwT5jgLLeC0FCpBXrVrlzX80/CObmPjXiZcUqPZfXYt27Nhh52fPmm0Dcf86jRo2st8puE8FverOdPz4cXu8allxrQlKLNTtqkf3HmbXzl0xn0uWFCgQLj1Raqd1XJ9/9rmd1rl7KOshM378eHPu3DkzY8YMG1gHjytI18CfTDnuvEdx+1T3KX0nJQf+czh82HCb+H3xxRfm4sWLMZ+NSgp07LrOrmzYsGE2EdW0zo8SDHVfU/Kg6+ESKj+9OVvJSHA5AAA1DUkB7ikF9aqVVvCvAPe///2vTRZUpqRg0qRJ3roK0EaPHh3ahqjWW92QNK0g87G6j3ll6o7kr10+cuSIDfRUOy3uc06ipOCbb76xx6RpHaOSixMnTsSsEy8pKF5abFs73LyCUCUtqonWvAJVBfv+FhNHQa9/zINaRlRrrulr167ZwHvN6jWhzyVLCtTyMH/e/FB3JZ07XYdbt27Z+X379pncF3JD269MLolz50OtQfpe16/daRUaO2Zswm48UUmBEk21pOzcsdPbtqPzo2TKm58zJyaBcHRuE+0bAICahKQAaWPPnj02AF0wf4GdVwCuQNyVqyZ58PuD7bS6evTv1992qXG10q4VIdhHXQF+vD7rChRXrlhpA9KDBw96yxMlBaoNVw27/l23bl2oG5LESwrUbSVYgy7Hjh2z5aqpV3IS3JYo6PUfi7rBuO+poFnbuXA+toVFkiUF6mKlbSmx6dq1qw2ctTzVc1eZtE+dc/8ytRyodUTT48aOS1hbH5UUiFpyXnrxJfsdlGC6lqFk58fReWrSuEloOQAANQ1JAe4ZBW/BWu7x48Z7feuVFCgRcGUKDlWuaS1XtxZXA+wPlqMCWw1mVqDn36dqk1f9cLdbUKKkQNQPXUnLkMFDbE10sDxeUqCWiF69eoXWddRtSDX3weWioHf79u3evL+lwCUFrkbdT0GukiY3r/MVL+hVi4ACZNeSEnXuolS0+9AjtR+521IQ+F667hL8nOha/fXXX3Zan1eCF29gtlpjdF1SHXPh6F5R4hlcDgBATUNSgHtG3XgUcO7fv9/OK7DUYFzV3mteSYG6bmhMgWiwsQveFWSry4em9XkFz66FISqwVYCuGn43fkFdi5584kmvVlo0uNTtx9XmO+vXr7ddlTQGINi/XX777Tfb/92/TH3ztf7u3bvtvALUkSPvDipWUKsuO8Ftib6XS5K0nmrQ1f1I88Hg2U8DqzVeQ11xFCy//vrrXtB7+vRp2+LigvDFixd7xxx17qqKG1OwfPlyO69kq22btl55VFLQoUMHU7TkTjKoa6NuWC4pmPblNG+QsLqp6d5y+0g1KVDSqoHqweUAANQ0JAW4pxSQagCxgmLV5KqfuytTUqBBp3r6jHv6kHt06IYNG2ygrc9qnIEGlbrBxskCWwWYCjq1T31erQf+YyouLrbdmBRwK7D2lymQVncSfy28nwJuPT3H1ZTrsadartYAJTjqx66Bwxs3bvQ+o9p6dUtySYOfuvco2FUQr1pwDQB2ZVFJgbrJ6IlE2dnZpm/fvqawsDDmmBV4Dxw40LRq2cqus2nTJrs82bmrCqqNV1KiQb964lTWf7LMzz//7JVHJQV6ipKeYKXkQF3NmuU281oOSktL7TgB3Ue61gPeHeAlQqkmBRrHovMUXA4AQE1DUoC0pWDO1f6nEyUpSkqCyytCAbv/saq495RA6AlXSlaCZQAA1DQkBUhb6ZgUKBlQ7XpweUVpoK+emKSuRsEy3BvqxqaxFvGeCgUAQE1DUoC0lW5JgQbNqgtPsLtRZdEgag1kDi7Hv09jTpQQ+B8HCwBATUZSAAAAAGQ4kgIAAAAgw5EUAAAAABmOpAAAAADIcCQFAAAAQIYjKQAAAAAyHEkBYhR+VWgKCgpCy1Nx+NBh+2IvvWW3e7fuoXIAAACkJ5ICxLh586Zp2aKlWb9+fagsmYkTJ5qBAwaa69euh8oAAACQvkgKEFJUVGRr/IPLkxk5YqSZOnVqaDkAAADSG0kBQlTT/2CtB825c+dCZVFGfDyCpAAAAKAaIilAXO1fbm9Wr14dWp7IhQsXTIvmLczKFStDZQAAAEhvJAWIq/fbvc38efNDy+Mp2VtiBxcPHTo0VAYAAID0R1KAuJQUzJs3L7Q8kYMHD5pWLVuZ7du3h8oAAACQ3kgKEJe6D5W1K9BHwz8yhYWFoeUAAABIbyQFCHEDjY8cORIqi8LThwAAAKonkgKEFC0pMs1ym4WWJ0NSAAAAUD2RFCCGXl7WqlUrs2D+glBZMlOmTDFDhzDYGAAAoLohKUCMwq8KTbeu3czt27dDZcmUnig1jRo2sk8i6t6te6gcAAAA6YmkAAAAAMhwJAUAAABAhiMpAAAAADIcSQEAAACQ4UgKAAAAgAxHUgAAAABkOJICIEK9x+qZ48ePxyy7cOGCadK4idm3b1/M8tzcXPPtt9+abdu22cey6s3QWl6yt8Q81eSp0LZrooULFtpzEFw+5+s55t133g0tr2meePwJc+jQodBy2bNnj70vRC/6C5bLqh9WmabPNw0tT5X2Ud7Pv/XmW6aoqCi0PJ4PPvjA9Ovbz04/lPWQ+WXNL16Zfh+630tKSkKfAwCkL5ICIEK8pEAB0fjx40Prtn+5vSkuLjb79+83D/zPA97yTEoKRo0aRVKQIClw9JK/REnB2bNnzfbt20PLU/VvJQVjx4y1vwNNZ2dnm61bt8aUr1ixwv4egp8DAKQvkgLcU3v37jU9e/S0b1Hu/Fpns3PHTq+s99u9zSeffGK6dO5ia+Hff+99c/36ndr32bNmm759+9rPtm3T1rz++uvm6NGj3mcVpLRr285uV+ucOXPG21/r1q1tYJaXl2datmhp1q5d631u165ddtmrr7xqxoweE0oKzp8/bx6r+5g5depU6LvopW+qMdVL3LKfzPaWKynIeTrHTJ482dSvV980f6m5+fXXX5Meq2j6jTfeMHUereMlHa7s8uXLZuCAgaZN6zb2HCxZssQrCwbhCtT988uWLbPH26VLF1vj6w9ko44nirbvasJF586V6Xje6f+O6dO7j6lbp67J75lvTp48mXSfBQUFZvr06TH70bVOJXiNOj96c/ejjzxq7xnt78FaD5pBgwYlPZ5klBR8Pftrk5OTYxo3amxmzZoVWideUqDadXfegkF9sntWrTPan66lgnX/50tLS+111vd/ud3LZtfOXV6Z7mWdS91Xb/Z6066XynkVHcu4sePsdO4LuaFWM738UMexZfOW0GcBAOmJpAD3lN58PGfOHDs97ctpNjBxZQV9CmxAd/XqVfP333/bpMEFLQoyFdS5YHbixIlmyOAhdlq1rQpId+zYYeeVQLiuDgrQaz9c2+vuMHfuXNOpYydvny82e9F24XD7qPVArZikYMH8BQnf1qwAVl2Hrly5Yl5o+oK3XPtUF4upU6fa4FLJgYLNZMcqr3R6xQZgCuA2bNjgBbIq0/a07q1bt2ywp30o2HXHHpUUKDBX8qJp7fvzzz5P6XiS0bqJWgqU2Hz//ff2u2i9RYsWJd3n6tWrbUDstqNkTMfuumZFiTo/8tKLL5m89nlm5YqV9v5yy6OOJxklBUpEdM/o2LOysuz2/OvESwqceDX9Ufesgn4lmtqfAnElyv7Pd+jQwRQWFt7ZTkmJ7fam86H54cOGe8ehxCPrP1kpJwW6njq/mlayceLEidA6+k2O+HhEaDkAID2RFCBtqHZWtY5uXknBpEmTvHkFGaNHj7bTCkpUm+/K1q9fb2t2NV28tNi2LrgyBaEKqhQ0KcBSTb8rU6D0TM4zdloBp1tP8wo8VXPrTwrUWqGg3s2nwgV13nav39muth91rNqvkgD3uWQUgLpAP1lSoJrl+fPmhwLWqOMJ7i+eqKSgR/ced+f/LxEcOmSonY7apwJYtbqoS5bbjr9Gvyz850dUQ66a9eB6UccTXDdISYG/K42SjrW/3K3Vl/IkBYnuWbX4+JNUJQ7u80oY9J39CY+S0S1b7tTeN8ttZpNYV6ZjTTUpSMWa1WvoQgQA1QhJAe4p1byrNlPdN4JdJ5QUfPPNN968aiYHvz/YTis4VK2oK1Nw8/xzz9vpmTNnxnRjcY4dOxbq3//nn3968+oC4e/2IwrK/UmBupKou4Z/nWS0z4bZDWOWqdZa2406VtVuR41FUHCn41ENvPucO9ZkSYFqhhVMNqjfwHTt2tXrthV1PMH9xxOVFCQ6nmT7VDcVdeXSdMeOHWO6XkWJOj+iIPiHlT+EPpfseKIoKdA95eZ1joOBdnmSgkT3rJIrtVC5Mt0z7vP+gc1+rhuV7nV/t5/8/PzQsVaE7tM8djkAAIAASURBVDG1TASXAwDSE0kB7hnVlCtYdkGUAvtgUuC6KIiCw/Hj7gzwVZAZrCFVf2tNLy1aanr16hXan0QFWKpZ9dcIX7t2LRRIap8LF5Y9KXik9iOhFgj9G3Ws2q8CWn8NtYJ31VxrWsfiuuCISzQ0raC7f7/+XpnOY7yBvqqJ17l0Nc9Rx5OK8iQFyfZ5+NBhe40UlOs4U6mxl6jzI0oK/E/NcZIdTxQlBf6BwpXVUpDonlWrRvB34LUUnCi1Xa2C+3CquqVASYHGVQSXAwDSE0kB7pnff//dPrlEQZ6oj/PTTz3tlSspUPcDjSkQDTb29/dXlwo3pmDAuwO8QOvcuXOmUcNGZvfu3XZeffBHjrxTFhVg6Rg07fahvuRqwfAHkgq0C7+600c7VW5MwfLly+28kgoN/NR01LGK+o5/9913dlqDoJW0nD592s4r4HM1var9VVcRBdCa10DUFs1b2K5K+l4aUOqCcH1eLS4uuF68eLEdS5HK8SSjcR3uOmjwrAb7ajoqKUhlnzoPqhFXF7LgPhOJOj+SKClI5XgSUVLgvv9ff/1lr7tL4hwlBcOGDQt9VsqaFOj7uNYsXU8lZf7P67zNmzfPTt+4ccM+MejixYt2XuffHau+qxLXYFLw4Ycfesl2Wan7kAZFB5cDANITSQHuGdVS6yk0rVq2skGr+mKr5cB1EVJSoP77eqqKe/qQAhuVKcjU02wUpGswsj7vD95VA6qEQv3YNfBz48aNdnlUgCUK2FWLr0eKKvhX9wd/txEt05Nagt8limpMFXRrkK2eqKQBnT///LNXnuhYReMc9PQhlSuB8tfCfzn1Szs2QAOwFdjruPRkI7VwqB+5BujqM+pmpcGm/pYDfc+BAwfac691Nm3alNLxJKOgVoHo/ffdbx5v8LjXChSVFKSyT3Uz03U5cuRIaJ+JRJ0flSdKCiTZ8SSi7lga36J7WAlcvEfX6lyr646+jxsHo2A+2M1H9ISmZPesxlhoXSXJGifiutGJ7h/9xnRN9HvReXRlui+VOOmzb7/1tj0G/xOapCJJgRI43WPB5QCA9ERSgLSlpMAfxPgFg8x/y4EDB2yNc6qPqETl0KMt/QPLkd7UaqEncCkRDpYBANITSQHSVjomBaIBmRMmTAgtR9VQFyg9qlaPDg2WIT3pWmn8xz///BMqAwCkJ5ICpK10TQr0THZ1czp48GCoDJVLXXHUvUVPEQqWIT1pLIkSAv+jWQEA6Y+kAAAAAMhwJAUAAABAhiMpAAAAADIcSQEAAACQ4UgKAAAAgAxHUgAAAABkOJICeNybaPUW19ITpaFyAAAA1EwkBYhx9epV0/vt3mb69OmhMgAAANRMJAUImThxovns089CywEAAFAzkRQgREnBp5M+DS0HAABAzURSgJDFixfb8QVXrlwJlQEAAKDmISlAyO3bt02/vv3Mff/vPnP8+PFQOQAAAGoWkgKE/Prrr+aZnGfMhg0bQmUAAACoeUgKEKJBxuPHjw8tBwAAQM1EUoAQnj4EAACQWUgKEDJhwgSSAgAAgAxCUoCQN954w8ydOze0HAAAADUTSQE8egypnjikQcYXzl8IlQMAAKBmIikAAAAAMhxJAQAAAJDhSAoAAACADEdSAAAAAGQ4kgIAAAAgw5EUAAAAABmOpADVxltvvmWKiopCy19//XUzf978mGUffPCB6de3n51+KOsh88uaX0KfCxo9erR9JGvQa6++Flo3nnqP1bPrt2rVKlSmY3fbu3ChbI97HThgoPnzzz9Dywv6FJgF8xeElle1RMdzr6Tb8VQXe/bs8e7JkSNGhsoz3cmTJ+250b01depUk9c+L6Z8+/bt5rlnnzPXrl0LfRYAqiOSAlQb8ZKC4uJi06FDh9C6Y8eMtYmBprOzs83WrVtD60R59JFHyxVobt68OW5S4NR6oFaZk4I2rdvEPZZ7lRQkOp57Jd2Op7qZMmUKSUEcCvaVFCg5+Oabb0y3rt1C63z80cdm3NhxoeUAUB2RFMBz+fJlW+uqIKttm7ZmyZIlXtnsWbNN3759Tc8ePW2ZauePHj2atEwUkLdr284Gy1rnzJkzXlmD+g3MsmXLTOfXOpucp3PMV9O+8srOnz9vt9X+5fbmzV5v2j/KwaSgdevWZtUPq0LfRYGO+2Od+0Ku2bdvX2idKPGSghs3bphhw4bZ79H8peZm4YKFoc9VdlLwVJOnYlotlBi5MiUFkz+fbK/X4w0eN0OHDo357Jw5c+xxtmjewoz4eIS5efOmXd6/X397nZs+39Seb51jXZ9Lly6F9h8UdTzu/Oge0DkItt4ksnfvXnuNPhr+kX2BXssWLc2GDRtsWcneErtPt66uiX8+6nii3Lp1y3w66VN733Xv1t2en6tXr3rlumd130mP7j3M6dOn7fJk5660tNTepzoHL7d72ezauSu073iijifqHOjc6Teg+z0vL8+eu7Vr13rrrv1lrb0Wr77yqvn8s8/N8889bw4ePBiz70RJge4t1Y6/2OxFM2rUqJgy/Wb1Pbt06WJb5A4dOpRSWdT50e990KBBtmVO52DmzJmhY0ok0fVKdn6SeeB/HjDXr103S4uWmoKCglD5sWPHTP169WPuHQCorkgK4FETuf6IK0DRH2t1u3GB5Jyv59hA2f2BnzhxohkyeEjSsrNnz9puNTt27LDzSiBctx554vEnbDCk6f3799ugWX+ENT982HAvWNEf96z/ZMUkBdpfnUfrmH/++Sfme7hj0vfRtIKPEydOhNaJEi8pmDBhgg06dX4uXrxouw4cOHAgZp3KTgqkYXbD0LGIkgIFbNu2bTPHjx+3gbX73a5bt86+mfrcuXP2/Chpmzt3ri1795137fVR4K3vqe/SsWNHs379+tA+4kl0POPHjTfvvfeendZ3fKHpCym10Cjo1bVdvHixnddxKHh1ZYkCYifR8UTZvXu3PV+3b9+28/PmzTOrVt1JLhVQ6r501/bbb7/1aomTnTu1WhUWFtrpkpIS06RxE3u/BPcfFHU8UedAZbUfru11j9M1VmKlaW1L+y9eWmzn9ZvQefYH6RIvKdA9peunZEfXUvvzX8u6deqa0hOldlq/bSUcqZRFnZ8ZM2aYoUPuJrZKMP2VC4lEXa+o85OKp5962v77888/xxybn7a3csXK0HIAqG5ICpBQVlaW98ddAYVqG12ZgiDVkCYrU0DSpXMXr0y1gfoj7YIf/TFXQOTKn3ziSe/ea5bbzAYnrky1lv6kQEGkaiPdfGWKlxToeDZv2uzNK5BSQOVf599OCr6c+uXd+YICW6OpabUaqKbXlak1pWvXrnZaga26HanGWDXeWvZO/3fM999/H9pHPImOR4H8zh07vXklh+rGFVwvSIHbg7UetC0NmlcSo1p/tVxFBcROouOJogBS3cp0r7ok1FELWX7PfG9ex6XjUW1w1LlTLbh+M3///bf3Wd0LW7ZsCe0/KOp4os6Byh6r+9jddf8v0FYyqGn91nReXWKv86r7L5WkIEhBtru3JCcnx7YEKekPrpuoLNn5Wbhwoa3N1z3k/n9IRdT1ijo/lUX3+JjRY0LLAaC6ISmAR3+c1b1Hte+uO4ZqoFWmwF+1zW5dBeuuNjeqTF0A/N07HDW7q1xJgT9IUYDn5rOfzI7p9pOfnx+TFEz7cprtyuHmK1O8pMANJPYb/P7gmHX+7aTAP6ZALTBu3j+w2XHXRIGtzqPOc25urrdM4zOC+4gn0fH4W4tE137AuwNC6wUpcFNA7F+mVirdI1EBsZPoeJJZsWKFTTTVhU330alTp+zywq8K7fnwr6trf/jQ4chz5x+46+fvhhcl0fFEnYOossOHD9uuLf59BH9vEi8pUD96dZVq3Kix9z38vz213KmLj45VyaY/GUxUlsr5USL70osv2e8wadKkmAQikajrFXV+KotaP5UYBpcDQHVDUgCP/pAvWrTIm1dg5k8KVO7K1ByvWr1kZapd7NWrV2hfTjBI8ScFyVoK1D1o4MB/LylQ947ff/89tK5fuiQF6uowffr00GckKrANrhtPouNR0uHvI66WAj3RKbhekAK3R2o/4tUOq6ZcwaL+1X4UmLp1dT8Eg7pEx5MqN5ZG/dk1b2ue82Nrnu+/7367XtS5U6uaus4Et19WweOJOgdRQe+F8xdsdyHXUqDzqT7yqSQF+m1p/+6a6PcdHM8j6vqj33+82vdgWVnOj7oN6Xfk//8okajrFXV+KouSAiVQweUAUN2QFMCjP9iuZl5/aNXUr9o2zeuPu5rhXUChGmAXSESVqU97o4aNvC5C+mM/cuTdACQqKVCw5bajzytw9Acm6nftDwYqU7ykQDWXOibXB/qLL76IqSGV3377zfbzD27PUZDmBkGmSt1U3GBq18IiUUmB+ryrxlVdSDT/008/eX32owLb4L7jSXQ86kbhAlklPlovlYG2Ctx0r7lrq24kLrG6cuWK7W7m+pYrgA0GdYmOJ4oGm349+2s7raBZT6pSH3bN6/qoltv1Udd6rntKsnOn/uW6LzWt4FTb1biD4P6Doo4n6hwkC3o17mXN6jV2WvdrojEFbl+OEnkNVNe0xvrod+ruLZ0ftZC5hEH3lbvno8ok6vyo5W/L5jtdiTSWQV0Qly9fHnNc8URdr2TnR/TgA/0ftXHjxtC2U6H7XgPDg8sBoLohKYBH/dPVH1hPQNEfcz3xR0+v0aP5FPiriVw1YnrajZ664m9FSFQmqtl0TwVRDaj/j29UUqBuCEpUVGv89ltv26DX39VAAae6CZSl/3Gq4iUF6pOtP/4KWHUsShIUsPnXUYCic+a6Rqi20l+uz7kyBerB/cajgFOtFPqMniTklkclBaJ+3TpWrffhhx+aI0eO2OXJAttkEh2Pgjy1UOhpL7oP4tUsx6PATfedglMFja1atooZu6GnEilpcN3H/LXmUccTRd1Sxo+/MzBaQaLOk/q8u3LtXwPUdd+qK5aSWy1Pdu7U5UcBqb6HfhOpPjI22fEkOgfJgl7dY+6pO0oK/L8vZ9OmTbarns6fGwukpFKBsv4vUGuPBgFru26wsRI3tdLpWqnrl7bhthdVFnV+9H11/+h+1e9PlQup/rYTXa9k50d0TPruelJTcLup0HfRdw4uB4DqhqQAKVHgH+y3m0pZVVKNqp5e8uOPP4bKUH0EAzdUDSWoGngcHACM8lPrjbpZ+hM4AKiuSAqQkqjAP6qsqmmQYbyXl6H6ICmoOp99+pntGqQad3WrUYtKcB2Un1oO79X/fQBQ2UgKkJKowD+qrKqpS4+SglRflIX0Q1JQddSNT4+qVb9+da1J5b0RSI3ewaBub66rEgBUdyQFAAAAQIYjKQAAAAAyHEkBAAAAkOFICgAAAIAMR1IAAAAAZDiSAgAAACDDkRSkqYkTJ3pvaN2yeUuoHAAAAKgsJAVp7NatW2bal9NMr169QmUAAABAZSEpSHPr1683r736Wmg5AAAAUFlICtIcSQEAAACqGklBmjty5IipX68+1wMAAABVhqSgGpg7d64ddFxUVBQqAwAAACqKpCDNnT9/3jze4HGzcOFCc+PGjVA5AAAAUFEkBWlu48aNpkOHDqHlAAAAQGUhKUhzDDQGAABAVSMpSHPr1q0jKQAAAECVIilIc4WFhaZf336h5QAAAEBlISlIUxMnTrRPHKr9cG2zbdu2UDkAAABQWUgKAAAAgAxHUgAAAABkOJICAAAAIMORFAAAAAAZjqQAAAAAyHAkBQAAAECGIylI0fbt281zzz5nrl27FioDAAAAqjOSgjL4+KOPzbix40LLAQAAgOqMpKAMjh07ZurXq2+uXr0aKgMAAACqK5KCMurUsZNZuWJlaDkAAABQXZEUlNHYMWPNmNFjQssBAACA6oqkoIxmz5pt3un/Tmg5AAAAUF2RFJSRkoL+/fqHlgMAAADVFUlBGan70IiPR4SWAwAAANUVSUEZaaDxwoULQ8sBAACA6oqkoAyOHj1qHsp6yJSWlobKAAAAgOqKpKAM1G3o3XfeDS0HAAAAqjOSghTt2LHD5OTkmHPnzoXKAAAAgOqMpAAAAADIcCQFAAAAQIYjKQAAAAAyHEkBAAAAkOFICgAAAIAMR1IAAAAAZDiSgiQuX75s7vt/98W1cePG0PpltXDBQvPtt9+Glvu9/vrrZv68+aHlAAAAQGUgKSiDwq8KTb++/ULLK2LUqFGRSUFxcbHp0KFDaDkAAABQWUgKyiBRUrB161bTrm0706pVK9OzR09z5swZu/z06dMmOzvb/PXXX3b+woULpmF2Q7Nnzx47r7cj+1se6j1WL7Tt1q1bm1U/rAotBwAAACoLSUEZxEsKzp49a4N5vfFY87NnzY5ZZ9myZSYvL8/cvn3bDBo0yHz26Wcxn9e6iVoKDh06ZOo8Wsf8888/oTIAAACgspAUlEG8pKB4abHp0rmLN3/+/HlT++HaNglwy3q/3dsmBK1atjJ///13zOejkoLFixebLl3ubhsAAACoCiQFZRAvKZg5c2ZoALIcO3bMW+ePP/6wy9RqENxmVFIw7ctpZuCAgaHlAAAAQGUiKSiDeEnB0qKlplevXqF1/fJ75pvB7w82ubm55vq16zFlUUnB1KlTzcCBJAUAAACoWiQFZRAvKTh37pxp1LCR2b17t50/evSoGTlypFeugL97t+52euSIkWb4sOExnx8yeIhdrmkNRNYjUF3ZvHnzTH5+fsz6AAAAQGUjKSiDeEmBbNu2zbR/ub3p0b2H7e7j3l9w+PBh07hRY1NaWmrn1UrQ9PmmZu3atd5n9SSiTh07mfvvu9883uBx8+eff3plu3busoOY/eMTAAAAgMpGUpDGbt68aZo0bmJ+/PHHUBkAAABQWUgK0pxaJ3h5GQAAAKoSSUGa0zsKlBTMnzc/VAYAAABUBpICAAAAIMORFAAAAAAZjqQAAAAAyHAkBQAAAECGIykAAAAAMhxJAQAAAJDhSArSmN6IHO8NyhWlty7735xclUr2lpinmjwVWl4WI0eMNEMGDwkt19ue7/t/95lWrVqFyvz01mi9Sdq/bPas2faze/fuDa1fVfTW6+CyVFTG9Zo5c2bMOfx00qemdevWpm6duuaNN94wW7dujVm/vMcqia5XVSosLDRPPP6EvaZ6w3iwHAAARCMpSGN6k3FVJAVtWrepcJCZqspICg4dOmQOHDgQWi6bN28uV1Lw2quvmQdrPWg++/Sz0PpV4cqVK6ZhdsPQ8lRUxvXyJwW//vqrqfNoHfPHH3+Yy5cvmzlz5thrdOPGDVtekWOVqOtVFXTctR6oZe+1YBkAAEgNSUGaWjB/ga319FNw68oVyDV/qblp0byFGfHxCHPz5k27fMOGDea5Z58z169ft/OqNX0m5xkb/GlewZ9/m2+9+VZo35VJgVrO0zlm8uTJpn69+vaYFZS6ctXuKoh08wpG3fyqH1Z5x5mo5jlRUrBwwUKTk5NjunTpYsaOGRuTFJSeKLXbnDRpkj0e/+ca1G9gli1bZjq/1tke91fTvvLKer/d28z5eo55/fXX7Tl+p/879uVyrlzXRMfStk1b8/FHH3vXRN8neC0VpLvPrVixwnTq2MleS+3j3LlzXlnU9VIwPGzYMLtPfQ99Z1d269YtM3zYcNMst5k9Xp0/dw6/++47mxS5dcUF8cmOVddx/LjxdhuNGzW25e7/iqjrpZaZj4Z/ZM+ZvqfOr///GJ3n55973i7/5ptvTJPGTWI+H+XChQvmoayHQssBAEDqSArS2Lfffhu3pWDdunU20FfwqKC0b9++Zu7cuV75hx9+aAM3JQYKChU4+z+vwLusNc8KPIPBoviD4niUFChgmzp1qjlz5owNKv1BfFRS4AS7vvjFSwpKS0ttAnL8+HFz+/Zte378SYECe9W+nz9/3n6Hv/76yyvT8ahrjab3799va6CvX7uTYBX0KTDdunaz80qycl/INevXr7dla39ZawNzLdc+dd2++OILb7s63/Fq37W+lqsbk87lm73ejPmcJLpeEyZMsEmCEoCLFy/aRMUF999//715ud3LdpsKmnNzc71zqG5pSn6GDhlqVq9ebf7++++Y7SY6VrfdF5q+YIN7nd9gucS7XjrnCvSVkOl49fmJEyfaMl1v3SNHjhyx5+7dd94tU+vShfMkBQAAVBRJQRpLlBQMHTrUTP58sjevGtquXbt68wo0XU22ameDn08UZFYFJQW1H65tgz3NK1FRIO4C7apIClTT371bd2/+lzW/xCQFqiWfMmVKaFp0PLt37/bmn3ziSe+3oKRgxowZXllBQYFZtGiRnR78/uCYVgUlC/5++VGBtp8SAgXr/mWJrpdN+DbdTfjUl999FyWGSsRc2bix42LOoQJwtTCpNUSWFi31yqKOdc3qNTYAV0IVLHPiXS8lBUp4/PODBg2y0ytXrDRdOnfxyjZu3FimpEAtJC1btAwtBwAAqSMpSGOJkgLVDgdr7NX1wr/OrFmz7PJTp06FPp8oyKwKSgqCAaaCSlfLXBVJgbrxKGB387t27vKSgpMnT5r777vfax3QtjXg1q0bdTxKCtSty5Xp2rj5/Pz8mDJ19Xr6qae9+ahAe9SoUebFZi8m7HqT6Hq5gdZ+Sk5Upu+v8+DWLfyqMLRdUbKmoFyJ28GDB+2yqGNVgtWqZbi7ll+866UkQC0Abl73tptXUP/2W297ZWUZh6JrosHSJSWMJwAAoCJICtJYoqRANcnTp08PLXfUlURJgp5a895774XKEwWZUSrSfeiR2o/cbSm4FttSoGNxAbrWUXBa0aSgeGlxwpYCBafB7yBHjx615eVNChSMK/B2ZWopaNe2nTefKNDWmA91O7p06ZKdV+1+8Lsmul7qvvT777+HlotakxK1FKh1IfjUpby8PNvipOlExyo6l3nt80LL/eJdr6ik4IeVP8S0FOjcpZoUXL161Xw9+2uT3zM/VAYAAFJHUpDGioqKbGCpwFvdblytvwYTv/TiS14Xjp9++sksXrzY+5xqiRUQ6nOq1VW5f7sKkF0AeOzYsdB+K5MbU7B8+XI7v3DhQjsQ15V36NDBFC0pstMKBrOyssqUFPz222+2lt2/7PChw+bRRx71xhQoeHdJgboLuTEDjs7xtC+n2enyJgXqVqMBtG5Mga6BvzuRjkXnQS0VKndJiJI716qhz6rL0YB3B8QcX6LrpYHSCqzVR1/z6nq0c8dOO63j8sYUnL9guxq5c6iuQjoPGmugedWyq5uUa71JdKxSFUmBtq/9aYyMkkWdj1STAjl79qx9mlJwOQAASB1JQRpT7XGf3n1s7bksWbLEK5s/b76tIVegqv7j6iOu5Qr4Onbs6AWKrtZXg2/dZ4uLi20ts2rIFcgG91uZVCOtoF0DVPVknaz/ZJmff/7ZK1f/fw3mVXKgp84oeHUtBzruYI2+Bsz6t3/69Glb0+7K3VOW1F9d84/VfcyeK7WcKInSvvznQhRAu/7/5U0KROMNlIQp6Rkzeoz39CFn9OjRdvvqvqSnBmmZBt4++8yz5pVOr9jtaxC5ugXpXLjPJbpeCvg1LkD3gY5FSYIeJ6oy3TtaV5/ROdVYA9e1SNRyoONU8qQn/vjHJiQ6VolKCqKuV1RSIBojo+PRsarmvyxJAU8fAgCg4kgKAKQVJR7BR8VGISkAAKDiSAoA3HN6l4JaufR4VD1CNvgEpihqkVFLWqJHpAIAgORICgDcc+q+pHEO6j6kp2sFu3glo3EirsuSBm8HywEAQDSSAgAAACDDkRQAAAAAGY6kAAAAAMhwJAUAAABAhiMpAAAAADIcSQEAAACQ4UgKUG3oUZVFRUWh5XrGvd5a7F/2wQcf2Lf8alovttILsTT9008/2cdW6s3GLzR9wYwaNcp7C/C95N6oXJn0ZmR9V73xOFimc+ke4amXfwXLa4I9e/Z433HkiJGh8oqoiuvlN3PmTDNk8JCYZbpO+i6Z+D6G4Bux4/m3z4/e1q03c+sRuNrv9WvXvTIdi97KXVJSEvocAKQrkgJUG/GSguLiYtOhQ4fQumPHjLWJgaazs7PN1q1b7bSSAgXJekmW/pjr2fgFBQWhz/+blJQ0zG4YWl4ZNm/eHDcpcJQc1dSkwJkyZUqlJgVVeb2ceEnBP//8YzZu3GiuX78bfGaKVJKCf/v8KDHU/z/79+83D/zPA6HyFStWVHnyCACViaQAnsuXL5uBAwaaNq3bmLZt2polS5Z4ZbNnzbZvmu3Zo6ctU+380aNHk5aJAvJ2bdvZ4FTrnDlzxitrUL+BWbZsmen8WmeT83SO+WraV17Z+fPn7bb0h/XNXm+abl27hZKC1q1bm1U/rAp9FwWC48aOs9O5L+Saffv22WmXFLj19JIsBcbuZVn6V/vRPmXnjp2hbcejc/DR8I/MO/3fMS2at7Dfx/8b0jlw2+zRvYc5ffq0XX7o0CGvNttRQBjcfjxR18spT1KQ6Fh1Dbds3hKzrgIwbUNvFQ5u268i90ii4xHdP7rWXbp0MU2fbxr33CVKCubMmWOav9TcXq8RH49I+h0k2fUq7/1z69YtM3zYcPvyNp0bJQT+pEDnxe3PXxPev19/ew/ou+u3o8/qPF66dCm0D78DBw6Y+vXq2+TYLdO98tyzz3nzOj/ar67Xxx997J2fkr0lthbcrffnn3/GzOtarP1lrT2ndR6tY57JeSa0/3j0ex80aJBN1Lt36x5zXpUU6LfVp3cfU7dOXZPfM9+cPHnSK090fvbu3Wv/j9A9kJeXZ1q2aGnWrl3rlbvrpe/4cruXza6du0LHlYg+pxbI0hOlJvvJ7FD57du37XUJ/mYAIF2RFMAzdepU2+VGAYr+OKrbjQsE9Ef50UcetUGR5idOnOgFLVFlZ8+etd1YduzYYecVHLpuPfLE40/Yt9FqWjVuCjBdM7yCJBfM6Y971n+yYpIC7U9Bh2oI/d/DHZO+j6b1x/7EiRN2OpgUSE5Ojtmy5c4fbgUO3333nZ1W8KM/9ql0L9L+mjRuYgMEnT8FMDoPKlMQq++pQEzz6nKggMJ9VkFVeWqeo66XU9akIOpYVVO7aNGimM/ruiiQDW43qLz3SNTxiMqGDhnqbUeBrj/ZkHhJwbp162yweu7cOXv/KGGZO3duzDqJRF2v8t4/33//vb1PdSy6HuqaEmwpEJ0nf9Cra6L1NmzYYM/vxYsXTceOHc369etDnw1S0rJq1d2EWknt5M8n22kF9UqYlHgquNX1+OKLL2xZsqRAv9sXm71o19fxBPebyIwZM7xrKcOGDfOupe4f/dZ1npQ86HiC96IEz4+OtfbDtb3ug7rGnTp28srVylhYWHhn3ZIS+xvW7ym43XjUwqjWRl1fdUUMlovucyVHweUAkI5ICpBQVlaWDXI1rT/Kr77yqlemoEM1ksnKipcWmy6du3hl+oOuP9IKNDSvoG737t1e+ZNPPOndewo29UfXleW1z4tJChYvXmxrJd18KuIlBappV2vDsWPHbGDljk0UQKxZvSa0nSCdA7Vm+OdV66lp1eCrZtOV3bhxw9ZoXr161c5HBZll4b9eTlmTgqhjVXA9adIkm2ApQfvxxx/NyhUrbe1tcLtB5b1Hoo5H87p/FBC7cl0vXWP/vuMlBUOHDvUCYNH179q1a8w6iSS6XhW5fz788EMviRW1cqWaFCyYv8AcPHjQ1kprmRJSBc/BzwZ98803pqDPna5zSibV6uKS58HvD45ptdP1cl1hkiUF6rpXnm4zCxcutEmVWlf851B0/6iVyJufMycmgXCC50fH+ljdx+7O/1/g71ou1Eqg34y/tUS/FVdBUBl07ctzLgDgXiApgEd/DNV1QzVywaZ4/VFWbapbV8H68889n7RMXQD8XS0cBVAqV1Dnao9FwZabVy2r6/Yj+fn5MUnBtC+n2a4Tbj4V8ZICdVv67bffbG27P7gRjWNQ0BXcTlCwz7NqtN184VeFof7QCl4OHzpspxMFmclEXS+nrElB1LEq0FTAqfOh2k/VLCuQnTBhQmi7QeW9R6KOR9O6f9TC5MrU7STYjSpeUuAfaO2440km0fWqyP2jWmcFum5e3zvVpEC/Cf1m1Lrglqmve/CzQbru6oqjf9Vyom47rky/Nf9xa9D20089baeTJQVKaMpbO65E7aUXX7LbUwLqAvao35df8PxEHat/ILpf8P6pCLWkqfUhuBwA0hFJATwKqPxN8uqO4k8KVO7K1ByvWr1kZUuLlppevXqF9uVEJQXJWgoUkA4cWLGkQAHlg7UetN1IFIQqwA7W9AZrnuOJClpsbXd+bG33/ffdb7tmaD5RkJlM1PVyypoURB2rAizV9qtlQP25dW5UWxsc5xFPee+RqOPRvO6f4D2iri/+bcRLCnTc06dPD+0vFYmuV0XuH7VclLeloLxJgbgkT/tSTb1brpYCJSZu3t+yo+/fuFFjr0znP5gUuPE85aVuQ7pv3f0d9fvyC56fqKRArWpKioLbqExKCvznCgDSGUkBPPoD6WrmFYypad3VyOqPsprhXcA+4N0BXqAVVaZgu1HDRl4XIf2xHznyboAWlRToj77bjj7/SO1HYgLQefPmxQSMqXBJgQI3bVODTD/55BOvXP261S3J7VPHnkqf8KigRf3i1TXD9Yv/evbXxt8lRkGMAnoF2jquYJ/4RKKul6MWEPXvDn7WUTcg/8DdqGPVWA91UXE1ygooNXBz167kgzPLe49EHY/o/lHfc03/9ddf9hxobIF/30oK3DqOuhypRlpdlTSv+8Jd92Sirld57x8F5t6YgvMXbEL8byQFCvY1RkPH6e//r24v+m24MQVqyXDdifR91L3LfW+d38pICtTy5wblaqC0kpDly5fb+ajfl1/w/EQlBaKkTf+PaFoJp55YVpZxEMnoPOo3ElwOAOmIpACeL6d+aQfd6sk5CmzUR16DDa9du2b/KCsI1NNO1AdfTznxtyIkKhPVJLonx6i7jx4b6MqikgLVsinwVZP+22+9bQcX+pv21V1DQUCw/3EU954CUbO+AlP/wEIdt3vikQZsqotBcBvxJAtaNm/abIM+bVddShQI+z8/evRoey5UCx4MYBOJul5uHQXVWua+s6thd3ROXZmr0Y461mefedYL+DSgNt4246nIPRJ1PDpn6najsSXq/jNr1qzQvjdt2mS7oulYXW236N0WShDVr159+o8cORL6bCKJrld57x8FwQrCdYxKCBRoq7ZeZbqX/N1bHAX+FU0K9NvR70DXJVimgb+tWt55+tCY0WNiBrGr65gSMNelz18bXt6kQH381YKj66GxGUoc3W876vcVdX6SJQWnTp0ySjKVHLhWk+BxVYQGGpe1NRMA7hWSAqQk+Ec51bKqpCBFAY0GvAbLkF6q6h4JJpUoOyVU/sHaqBxKaPRUolQGfQNAOiApQEqigrqosqqmfs/xXl6G9FJV9whJQcUoGVBrQHA5Kk5P5tKTjuI9MhkA0hFJAVISFdRFlVU1/cFVUqCuIMEypI+qukdICspPXWY0NkDds4JlqBgN3ldC4N6kDgDVAUkBAAAAkOFICgAAAIAMR1IAAAAAZDiSAgAAACDDkRQAAAAAGY6kAAAAAMhwJAUok1U/rDJNn28aWn748GH7dtzg8uAbRYP0Yp9XX3nVvsH0lU6v2Lfk+ssXLlho31ga/FwyevOte7OpHg8YLE9mx44d9u29/rcDAwAA1FQkBSiTs2fPmu3bt4eW663CZU0Krl+/brKysszSoqXmypUr9nnpdR6tY0pKSrx1Ro0aVa6kwKn1QK0yJwV6E2mz3GZm7dq1oTIAAICaiKQA1ujRo83kyZNDy/Py8symTZtsYO1q3oMtBQvmL/DKnD179tgyJQV6ic+UKVNM/Xr1TfuX25stm7fYsqNHj9qg3f/Gz8OHDnvzetmVf5v1Hqtnl9+6dctkP5ltfv/9d+9z169dN3Xr1DUnTpyIObZ4SYFeKNSubTvTqlUr07NHT3PmzJmY8p9++sm0bt06ZhkAAEBNRlIAS4H9oEGDQssfb/C4OXXqlDevYD+YFIhq8xO1FDyU9ZAZP368OXfunJkxY4a3n5s3b5oWzVuY/J75ZuHChaHgXbTNeC0FY0aPMSNHjvTm//d//9d06dwltF4wKVBLh5ILdQ/S/OxZs0PHrWRk6tSpoW0BAADUVCQFsDZv3mz79ms6NzfXdts5f/68aVC/Qcx65UkKNF5Atfua37dvn8l9Idcrv3Tpkm1FaNO6jV3vv//9r00WXHmipODAgQO2tcCtW9CnwCxatCi0XjApKF5aHJM86DvWfri27TLklj337HNeawYAAEAmICmApS40TRo3MYcOHTIDBw40HTt2NNu2bbP/+tcrT1LgH1Pw559/JhxjoG0rYVCrhVuWKCmQvPZ5ZvXq1eby5cu265D+Da4TTApmzpwZ6uokx44d89ZRcnLkyJHQtgAAAGoqkgJ41FVIQfPy5ctNQUGBmT59uhkyeEjMOpWZFCgBWbN6Tcz648eNNyNH3O0WFJUUzJ833wx4d4ApKiqyiUywXIJJgQY19+rVK7Sen7o7kRQAAIBMQlIAT4cOHewA3AvnL9ja+pYtWprCwsKYdRIlBQrM9VkNEtZThdw4hKikQIG3pvfv32/nFbxrGytXrPTWV1LikgSV+1sDLl68aLKzs033bt3N+vXrQ8ckWf/JMqdPn/bmNa6hUcNGZvfu3XZeg539YxOkcaPGZtfOXaFtAQAA1FQkBfC89957tkuOpo8fP2671ehJPJpXjX2wy42cPHnSlmtsQJ/efWz/fFmyZIldHpUUyOLFi03n1zrbLjt6GpBq//3HpCSkU8dO5v777rctGfq8v1yDgrU9/5gAP/9xu++iblF6ClKP7j3MwAEDzcaNG2M+k5+fbwdEB7cFAABQU5EUoFrTY1QnTZoUWl4R8+bN45GkAAAgo5AUoNrSOwn0pKDS0tJQWUVcvXrVPtlo3bp1oTIAAICaiKQA1dLEiRNtl6DgmIfKorcZK+G4ceNGqAwAAKCmISkAAAAAMhxJAQAAAJDhSAoAAACADEdSAAAAAGQ4kgIAAAAgw5EUAAAAABmOpAD31Pfff29efeVV+0bjVzq9Yr777rvQOpXt00mf2peT1a1T17zxxhtm69atMeV6y3HwzcmpqPdYPfuYVL2ZOViWiqlTp5p3+r8Ts+yJx58whw4dCq1bVYJvoP433It9zvl6jn0bdnC5c+HCBXtMJSUloTIAAGoikgLcM9evXzdZWVlmadFSc+XKFbN502ZT59E6VRqI/frrr3Yff/zxh7l8+bKZM2eODf787yNo07pNuZIC2bx5c7mSAv3elACcPXs2ZjlJQdVIlhTIihUrTPuX24eWAwBQE5EU4J45evSoqfVALfPPP/94yw4fOuzN9367t/nkk09Ml85dTG5urnn/vfdtIuHWnfz5ZJPXPs+82OxFM2rUKG/53r17bUvAlClTTF5enmnZoqV9GZnK1BLx2quvxRzHgQMHvGkFp6rtd9568y1vnfr16pu///7bW1cJgF5w5t9WoqRArRHt2razZT179DRnzpyJKdf3HDliZOhzSgq+nv21ycnJMY0bNTazZs3yyrZs3mK/365du+z31fEuWrTIlgWD3m+//TZmftmyZaZb126mS5cupl/ffl7ioQD9mZxn7LnT91VQrP0Ej6syaZ85T+eYyZMn2302f6m5Td5cuY5x7S9rzYiPR9iETsfnyoJJU8Psht78+fPnzaBBg+z17t6tu5k5c6a3ns6PWmX69O5jW4zye+abkydPxhzX7du3TdPnm1b59wcAIB2QFOCeuXnzpmnRvIUNyBYuXGi7bPjLC/oU2Fr7q1ev2mC882udTVFRkS3btm2beaHpC+bSpUteVw/XDUhBZu2Ha5tf1vxi5+fOnWs6dexkpw8fPmwa1G9ghg4ZalavXh0T5DsKLOO1FChAXrVqlTf/0fCPbGLiXydeUqDaf3Ut2rFjh52fPWu2DcT96zRq2Mh+p+A+FfSqO9Px48ft8aplxbUmKLFQt6se3XuYXTt3xXwuWVKgQLj0RKmd1nF9/tnndlrn7qGsh8z48ePNuXPnzIwZM2xgHTyuIF0DfzLluPMexe1T3af0nZQc+M/h8GHDbeL3xRdfmIsXL8Z8Niop0LHrOruyYcOG2URU0zo/SjDUfU3Jg66HS6j89OZsJSPB5QAA1DQkBbinFNSrVlrBvwLc//73vzZZUJmSgkmTJnnrKkAbPXp0aBuiWm91Q9K0gszH6j7mlak7kr92+ciRIzbQU+20uM85iZKCb775xh6TpnWMSi5OnDgRs068pKB4abFt7XDzCkKVtKgmWvMKVBXs+1tMHAW9/jEPahlRrbmmr127ZgPvNavXhD6XLClQy8P8efND3ZV07nQdbt26Zef37dtncl/IDW2/Mrkkzp0PtQbpe12/dqdVaOyYsQm78UQlBUo01ZKyc8dOb9uOzo+SKW9+zpyYBMLRuU20bwAAahKSAqSNPXv22AB0wfwFdl4BuAJxV66a5MHvD7bT6urRv19/26XG1Uq7VoRgH3UF+PH6rCtQXLlipQ1IDx486C1PlBSoNlw17Pp33bp1oW5IEi8pULeVYA26HDt2zJarpl7JSXBboqDXfyzqBuO+p4JmbefC+dgWFkmWFKiLlbalxKZr1642cNbyVM9dZdI+dc79y9RyoNYRTY8bOy5hbX1UUiBqyXnpxZfsd1CC6VqGkp0fR+epSeMmoeUAANQ0JAW4ZxS8BWu5x48b7/WtV1KgRMCVKThUuaa1XN1aXA2wP1iOCmw1mFmBnn+fqk1e9cPdbkGJkgJRP3QlLUMGD7E10cHyeEmBWiJ69eoVWtdRtyHV3AeXi4Le7du3e/P+lgKXFLgadT8FuUqa3LzOV7ygVy0CCpBdS0rUuYtS0e5Dj9R+5G5LQeB76bpL8HOia/XXX3/ZaX1eCV68gdlqjdF1SXXMhaN7RYlncDkAADUNSQHuGXXjUcC5f/9+O6/AUoNxVXuveSUF6rqhMQWiwcYueFeQrS4fmtbnFTy7FoaowFYBumr43fgFdS168oknvVpp0eBStx9Xm++sX7/edlXSGIBg/3b57bffbP93/zL1zdf6u3fvtvMKUEeOvDuoWEGtuuwEtyX6Xi5J0nqqQVf3I80Hg2c/DazWeA11xVGw/Prrr3tB7+nTp22LiwvCFy9e7B1z1LmrKm5MwfLly+28kq22bdp65VFJQYcOHUzRkjvJoK6NumG5pGDal9O8QcLqpqZ7y+0j1aRASasGqgeXAwBQ05AU4J5SQKoBxAqKVZOrfu6uTEmBBp3q6TPu6UPu0aEbNmywgbY+q3EGGlTqBhsnC2wVYCro1D71ebUe+I+puLjYdmNSwK3A2l+mQFrdSfy18H4KuPX0HFdTrseearlaA5TgqB+7Bg5v3LjR+4xq69UtySUNfureo2BXQbxqwTUA2JVFJQXqJqMnEmVnZ5u+ffuawsLCmGNW4D1w4EDTqmUru86mTZvs8mTnriqoNl5JiQb96olTWf/JMj///LNXHpUU6ClKeoKVkgN1NWuW28xrOSgtLbXjBHQf6VoPeHeAlwilmhRoHIvOU3A5AAA1DUkB0paCOVf7n06UpCgpCS6vCAXs/seq4t5TAqEnXClZCZYBAFDTkBQgbaVjUqBkQLXrweUVpYG+emKSuhoFy3BvqBubxlrEeyoUAAA1DUkB0la6JQUaNKsuPMHuRpVFg6g1kDm4HP8+jTlRQuB/HCwAADUZSQEAAACQ4UgKAAAAgAxHUgAAAABkOJICAAAAIMORFAAAAAAZjqQAAAAAyHAkBYhR+FWhKSgoCC1PxeFDh+2LvfSW3e7duofKAQAAkJ5IChDj5s2bpmWLlmb9+vWhsmQmTpxoBg4YaK5fux4qAwAAQPoiKUBIUVGRrfEPLk9m5IiRZurUqaHlAAAASG8kBQhRTf+DtR40586dC5VFGfHxCJICAACAaoikAHG1f7m9Wb16dWh5IhcuXDAtmrcwK1esDJUBAAAgvZEUIK7eb/c28+fNDy2Pp2RviR1cPHTo0FAZAAAA0h9JAeJSUjBv3rzQ8kQOHjxoWrVsZbZv3x4qAwAAQHojKUBc6j5U1q5AHw3/yBQWFoaWAwAAIL2RFCDEDTQ+cuRIqCwKTx8CAAConkgKEFK0pMg0y20WWp4MSQEAAED1RFKAGHp5WatWrcyC+QtCZclMmTLFDB3CYGMAAIDqhqQAMQq/KjTdunYzt2/fDpUlU3qi1DRq2Mg+iah7t+6hcgAAAKQnkgIAAAAgw5EUAAAAABmOpAAAAADIcCQFAAAAQIYjKQAAAAAyHEkBAAAAkOFICoAI9R6rZ44fPx6z7MKFC6ZJ4yZm3759Mctzc3PNt99+a7Zt22Yfy6o3Q2t5yd4S81STp0Lbro6Ki4tNw+yGdlqPnR03dlxMuR5pW1BQEPocAABIbyQFQIR4ScEHH3xgxo8fH1q3/cvtbdC8f/9+88D/POAtr0lJwZrVa2zyo+m+ffuaL774IqZcL79r2aKlWb9+feizAAAgfZEU4J7au3ev6dmjp32LcufXOpudO3Z6Zb3f7m0++eQT06VzFxuIvv/e++b69Tu177NnzbZBqT7btk1b8/rrr5ujR496n926datp17ad3a7WOXPmjLe/1q1b27cv5+Xl2QB27dq13ud27dpll736yqtmzOgxoaTg/Pnz5rG6j5lTp06Fvote+vbLml/sS9yyn8z2lispyHk6x0yePNnUr1ffNH+pufn111+THqto+o033jB1Hq3jJR2u7PLly2bggIGmTes29hwsWbLEK5vz9Rzz7jvvevNqwfDPL1u2zB5vly5dTL++/cyhQ4dSOp7ffvvN5LXPs9N6e/WcOXO8MqeoqMhuN7gcAACkL5IC3FPqguICy2lfTrOBqisr6FNgA96rV6+av//+2yYNCjhVpqD30Uce9YLZiRMnmiGDh9jps2fP2mB+x44ddl4JhAJfTStAr/1wbRu8a37u3LmmU8dO3j5fbPaiWfXDKm8ftR6oFZMULJi/IOHbmtVtRl2Hrly5Yl5o+oK3XPt8KOshM3XqVBtgKzlQwJ3sWOWVTq/YBEbJyIYNG+x3dsmPtqd1b926ZXbt3GX3oZp6d+xRSUHdOnVt8qJp7fvzzz5P6XhKSkq876+kqWjJnevhp25TD9Z60Jw7dy5UBgAA0hNJAdKGaqhzX7jTNUWUFEyaNMmbV+A/evRoO62gV7X5rkzdVVS7renipcW2dcGVKaBWInD79m0boKum35UpyH0m5xk7rdp/t57mFdxqbIA/KVBrhYJ6N58Kl4h4271+Z7vaftSxar9KAtznksnKyvIC/WRJQU5Ojpk/b75NAvzbiDqe4P6iqFVj9erVoeUAACA9kRTgnlLNe4cOHWzNsgLlps839cqUFHzzzTfevGrGB78/2E4r6FX3IVemGvrnn3veTs+cOdNuK+jYsWOh/v1//vmnN6+Bw/5uP6Kg3J8UqDvNwgULY9ZJRvt0g3Md1epru1HHqtr/qLEIW7ZsscejrkXuc+5YkyUF6kalGv8G9RuYrl27et22oo4nuP8o6vqlpCO4HAAApCeSAtwzqilXsKzAXPMK7INJgRIBN68n3Ywfd2eAr4JefzcedQfSGAFNLy1aanr16hXan0QlBaWlpTG14teuXYsJtEX7XLiw7EnBI7UfCbVA6N+oY9V+FfD7a+kVvKv2XtM6lkWLFnllLtHQtJKA/v36e2U6j/6kwFHXI51L11oSdTxloaRg3rx5oeUAACA9kRTgnvn9999Ndna2DXpl+LDh5umnnvbKlRSoG4rGFIgGG/v7+6sbkBtTMODdAWbkiJF2Wn3ZGzVsZHbv3m3n1Qd/5Mg7ZVFJgY5B024f6k+vFgx/UqBAW4/d9H+PZNyYguXLl9t5JRUaGKzpqGMVjXf47rvv7LQGQStpOX36tJ3XuAD3WFQNMlb3ocOHDtt5DZ5u0byF7aqk76WB2C4p0OfV4uKSjcWLF9uxFKkcT6p03VauWBlaDgAA0hNJAe4Z1VLn98w3rVq2skGrxhSo5cB1EVJSoP77epKNe/rQjRs3bJmSgnf6v2ODdA1G1uf9wbtaHRSY9ujewz6hZ+PGjXZ5VFIgCthVi69Hiir41/sI/F1ntOzNXm+GvksUddVR0P3999/bGvSs/2SZn3/+2StPdKyicQ56+pDKlUCpBcCVfTn1Szs2QAOwFdjruPRkI7VwaGC2nrKkz6ibVWFhYUzLgb7nwIED7bnXOps2bUrpeFLhBhofOXIkVAYAANITSQHSlpICjTkILpdgn/l/y4EDB2yNvP8xnYilJxI1y20WWg4AANIXSQHSVjomBZKfn28mTJgQWo47Ly/T41YTXTcAAJCeSAqQttI1KThx4oTt5nTw4MFQWaZT9yq9a6KsjzAFAAD3FkkBAAAAkOFICgAAAIAMR1IAAAAAZDiSAgAAACDDkRQAAAAAGY6kAAAAAMhwJAXwdOrYydx/3/32TbalJ0pD5QAAAKiZSAoQ4+rVq6b3273N9OnTQ2UAAAComUgKEDJx4kTz2aefhZYDAACgZiIpQIiSgk8nfRpaDgAAgJqJpAAhixcvtuMLrly5EioDAABAzUNSgJDbt2+bfn37mfv+333m+PHjoXIAAADULCQFCPn111/NMznPmA0bNoTKAAAAUPOQFCBEg4zHjx8fWg4AAICaiaQAITx9CAAAILOQFCBkwoQJJAUAAPx/9t4zyKpqXf/99q9bt+rUvR9u3VPnf8+OR7du3eacZZszZjEBBkSCIJgIShQQAREUkSiSs2TJOeecGprYQDfdQOcE7+3fwLGYPdfq1d1KC+16XupX9JpxzDHH6n6eMd4xpxAJhEyBiKJ27drWv3//qOVCCCGEEOKPiUyBiMBjSHniEJOM9+/bH7VeCCGEEEL8MZEpEEIIIYQQIsGRKRBCCCGEECLBkSkQQgghhBAiwZEpEEIIIYQQIsGRKRBCCCGEECLBkSkQQgghhBAiwZEpENWGN+q+YcOGDYta/tJLL9nAAQNLLfvggw+s/jv13c+XXnKpTZ0yNWq/MJ999pl7JGuY5597PmrbWFz1r6vc9g8//HDUOsruj7d/f+Ue99q4UWNbu3Zt1PJ6b9ezQQMHRS2vasoqz4XiYitPdWH58uWRNtmqZauo9YnOrl27XN3Qtrp3725PPflUqfULFy60u+68y44cORK1rxBCVEdkCkS1IZYpGDFihNWsWTNq27Zt2jpjwM833HCDzZ8/P2qbePzz8n/+KqE5Z86cmKbA87e//q3SpuDRRx6NWZYLZQrKKs+F4mIrT3Xjyy+/lCmIAWIfU4A5+P777+3lWi9HbdPikxbWrm27qOVCCFEdkSkQEQ4dOuR6XRFZjz36mA0dOjSyrs+3feydd96x1159za2jd37r1q3lrgME+eOPPe7EMtvs2bMnsu6aq6+xkSNH2gvPv2C333a79fyqZ2Tdvn373LGefOJJq1unrvujHDYFjzzyiE0YPyHqWhA6/o91jXtr2OrVq6O2iUcsU3Ds2DH76KOP3HU8cP8DNnjQ4Kj9zrcpuPWWW0uNWmCM/DpMQdcvurr7de0111rz5s1L7du3b19XzgcfeNBatmhpx48fd8vfrf+uu8/33H2Pq2/qmPtz8ODBqPOHiVceXz+0AeogPHpTFitXrnT36JOPP3Ev0HvowYfs559/dutWrVzlzum35Z4EP8crTzzS09Otc6fOrt298vIrrn5SUlIi62mztDt49ZVXLSkpyS0vr+527tzp2il18MTjT9iSxUuizh2LeOWJVwfUHd8B2vtTTz3l6m7atGmRbadNnebuxXPPPmdfdPnC7r7rbtuwYUOpc5dlCmhb9I7f9+/7rHXr1qXW8Z3lOl988UU3Irdx48YKrYtXP3zf33vvPTcyRx188803UWUqi7LuV3n1Ux5//ctf7eiRozZ82HCrV69e1Ppt27bZ1VddXartCCFEdUWmQERgiJw/4ggU/liTduOFZN/v+jqh7P/Ad+zY0Zq936zcdXv37nVpNYsWLXKfMRA+rQeuu/Y6J4b4ec2aNU4080eYzx9/9HFErPDH/ZL/uaSUKeB8V/zzCktLSyt1Hb5MXA8/Iz527NgRtU08YpmCDh06ONFJ/Rw4cMClDqxbt67UNufbFMCNN9wYVRbAFCDYFixYYNu3b3fC2n9vp0+f7t5MnZyc7OoH09a/f3+3rmGDhu7+ILy5Tq7l6aefthkzZkSdIxZllad9u/bWpEkT9zPXeO8991ZohAbRy7398ccf3WfKgXj168oSxJ6yyhOPZcuWufrKyMhwnwcMGGATJpw1lwhK2qW/t/369Yv0EpdXd4xaff311+7nVatW2S033+LaS/j8YeKVJ14dsO6yf1wWSY/jHmOs+Jljcf4Rw0e4z3wnqOegSIdYpoA2xf3D7HAvOV/wXl55xZW2c8dO9zPfbQxHRdbFq5/evXtb82bnjC0GM9i5UBbx7le8+qkIt916m/t/0qRJpcoWhOONGzsuarkQQlQ3ZApEmVxyySWRP+4ICnob/TpEED2k5a1DkLz4wouRdfQG8kfaix/+mCOI/Prrr7s+0vb+XePfTpz4dfRaBk0BIpLeSP/5fBLLFFCeObPnRD4jpBBUwW1+b1PQo3uPc5/r1XM9mvzMqAE9vX4doym1atVyPyNsSTuix5geb5Y1eLeBjR49OuocsSirPAj5xYsWRz5jDknjCm8XBuH297/93Y008BkTQ68/I1fxBLGnrPLEAwFJWhlt1ZtQDyNkr7/2euQz5aI89AbHqzt6wfnOpKamRvalLcydOzfq/GHilSdeHbDuX1f+69y2JUIbM8jPfNeoV2/sqVfaX0VMQRhEtm9bcPvtt7uRIEx/eNuy1pVXP4MHD3a9+bQh//uhIsS7X/Hq53xBG2/zWZuo5UIIUd2QKRAR+ONMeg+97z4dgx5o1iH86W322yLWfW9uvHWkAATTOzwMu7MeUxAUKQg8//mG628olfbz+uuvlzIFX/X4yqVy+M/nk1imwE8kDvJ+0/dLbfN7m4LgnAJGYPzn4MRmj78nCFvqkXquUaNGZBnzM8LniEVZ5QmOFgH3vlHDRlHbhUG4IYiDyxiloo3EE8SesspTHmPHjnVGkxQ22tHu3bvd8q97fu3qI7gt937Txk1x6y44cTdIMA0vHmWVJ14dxFu3adMml9oSPEf4+waxTAF59KRK3XzTzZHrCH73GLkjxYeyYjaDZrCsdRWpH4zs/ffd766hU6dOpQxEWcS7X/Hq53zB6CfGMLxcCCGqGzIFIgJ/yH/44YfIZ4RZ0BSw3q9jOJ5evfLW0btYp06dqHN5wiIlaArKGykgPahx49/PFJDesXTp0qhtg1wspoBUh169ekXtA/GEbXjbWJRVHkxHMEeckQKe6BTeLgzC7fLLLo/0DtNTjljkf86DMPXb0h7Coq6s8lQUP5eGfHY+u57n10v3PP/5T39228WrO0bVSJ0JH7+yhMsTrw7iid79+/a7dCE/UkB9kiNfEVPAd4vz+3vC9zs8nwdI/eH7H6v3PbyuMvVD2hDfo+Dvo7KId7/i1c/5AlOAgQovF0KI6oZMgYjAH2zfM88fWob66W3jM3/cGYb3goIeYC8k4q0jp/2mG2+KpAjxx75Vq3MCJJ4pQGz547A/wjEoTMi7DoqB80ksU0DPJWXyOdDdunUr1UMK8+bNc3n+4eN5EGl+EmRFIU3FT6b2IywQzxSQ806PKykkfP7pp58iOfvxhG343LEoqzykUXghi/Fhu4pMtEW40db8vSWNxBurw4cPu3Qzn1uOgA2LurLKEw8mm37X5zv3M6KZJ1WRw85n7g+93D5Hne18ekp5dUd+Oe2SnxGnHJd5B+Hzh4lXnnh1UJ7oZd7LlMlT3M+017LmFPhzeTDyTFTnZ+b68D31bYv6YYTMGwbalW/z8dZBvPph5G/unLOpRMxlIAVx1KhRpcoVi3j3q7z6AR58wO+oWbNmRR27ItDumRgeXi6EENUNmQIRgfx08oF5Agp/zHniD0+v4dF8CH+GyOkR42k3PHUlOIpQ1jqgZ9M/FYQe0OAf33imgDQEjAq9xm++8aYTvcFUAwQnaQKVyT+uKLFMATnZ/PFHsFIWTAKCLbgNAoU686kR9FYG17OfX4dQD583FghORinYhycJ+eXxTAGQ101Z2e7DDz+0zZs3u+XlCdvyKKs8iDxGKHjaC+0gVs9yLBButDvEKaLx4YceLjV3g6cSYRp8+liw1zxeeeJBWkr79mcnRiMSqSdy3v16zs8EddotqViYW5aXV3ek/CBIuQ6+ExV9ZGx55SmrDsoTvbQx/9QdTEHw++WZPXu2S9Wj/vxcIEwlQpnfBYz2MAmY4/rJxhg3Rum4V6R+cQx/vHjr4tUP10v7ob3y/aNzoaLf7bLuV3n1A5SJa+dJTeHjVgSuhWsOLxdCiOqGTIGoEAj/cN5uRdZVJfSo8vSSiRMnRq0T1YewcBNVAwaVicfhCcDi18PoDWmWQQMnhBDVFZkCUSHiCf9466oaJhnGenmZqD7IFFQdXTp3calB9LiTVsOISngb8eth5PBC/e4TQojzjUyBqBDxhH+8dVUNKT2Ygoq+KEtcfMgUVB2k8fGoWvL6Sa2pyHsjRMXgHQykvflUJSGEqO7IFAghhBBCCJHgyBQIIYQQQgiR4MgUCCGEEEIIkeDIFAghhBBCCJHgyBQIIYQQQgiR4MgUCCGEEEIIkeDIFFykdOzYMfKG1rlz5katF0IIIYQQ4nwhU3ARk56ebl/1+Mrq1KkTtU4IIYQQQojzhUzBRc6MGTPs+eeej1ouhBBCCCHE+UKm4CJHpkAIIYQQQlQ1MgUXOZs3b7arr7pa90MIIYQQQlQZMgXVgP79+7tJx8OGDYtaJ4QQQgghxG9FpuAiZ9++fXbtNdfa4MGD7dixY1HrhRBCCCGE+K3IFFzkzJo1y2rWrBm1XAghhBBCiPOFTMFFjiYaCyGEEEKIqkam4CJn+vTpMgVCCCGEEKJKkSm4yPn666+t/jv1o5YLIYQQQghxvpApuEjp2LGje+LQZf+4zBYsWBC1XgghhBBCiPOFTIEQQgghhBAJjkyBEEIIIYQQCY5MgRBCCCGEEAmOTIEQQgghhBAJjkyBEEIIIYQQCY5MgRBCCCGEEAmOTEEFWbhwod1151125MiRqHVCCCGEEEJUZ2QKKkGLT1pYu7btopYLIYQQQghRnZEpqATbtm2zq6+62lJSUqLWCSGEEEIIUV2RKagkzzz9jI0bOy5quRBCCCGEENUVmYJK0rZNW2vzWZuo5UIIIYQQQlRXZAoqSZ9v+1iDdxtELRdCCCGEEKK6IlNQSTAF79Z/N2q5EEIIIYQQ1RWZgkpC+lDLFi2jlgshhBBCCFFdkSmoJEw0Hjx4cNRyIYQQQgghqisyBZVg69atdukll9rOnTuj1gkhhBBCCFFdkSmoBKQNNWzQMGq5EEIIIYQQ1RmZggqyaNEiu/322y05OTlqnRBCCCGEENUZmQIhhBBCCCESHJkCIYQQQgghEhyZAiGEEEIIIRIcmQIhhBBCCCESHJkCIYQQQgghEhyZAiGEEEIIIRKcamcKZsyYYX/67z/ZjTfcaP37949aL4QQQgghhKgc1c4UeObNm2dXXnFl1HIhhBBCCCFE5ai2piAtLc2NGISXCyGEEEIIISpHtTcFGRkZUeuEEEIIIYQQFafamgK48447bcKECVHLhRBCCCGEEBWnWpuCJUuW2OWXXW7N3m8WtU4IIYQQQghRMaq1KXj+ueetVctWtnfv3qh1QgghhBBCiIpRbU1Benq6m1Nw7NixqHVCCCGEEEKIilNtTYGePiSEEEIIIcT5odqagtTUVJkCIYQQQgghzgPV1hQwyfimG2+KWi6EEEIIIYSoHNXOFMyYMcONEECfb/tErRdCCCGEEEJUjmpnCoQQQgghhBDnF5kCIYQQQgghEhyZAiGEEEIIIRIcmQIhhBBCCCESHJkCIYQQQgghEhyZAiGEEEIIIRKc32QK/FuFL7/scvv4o48tPT09ahshhBBCCCHExc1vMgWeXbt22R2332FLly6NWieEEEIIIYS4uDkvpgCeefoZmzVrVtRyIYQQQgghxMXNeTUFM2fOjFouhBBCCCGEuLg5b6agaZOm1qpVK80rEEIIIYQQoppx3kzBwYMHrUaNGnbP3fdErRNCCCGEEEJcvJw3U9C5U2erVauWrVu3LmqdEEIIIYQQ4uLlvJmC55973qZNmxa1XAghhBBCCHFxc95MgZ4+JIQQQgghRPXkvJmCp59+WqZACCGEEEKIash5MQUpKSl2ww03aD6BEEIIIYQQ1ZDfZArS0tLsT//9J0ft2rWj1gshhBBCCCEufn6TKRBCCCGEEEJUf2QKhBBCCCGESHBkCoQQQgghhEhwZAqEEEIIIYRIcGQKhBBCCCGESHBkCoQQQgghhEhwZAqEEEIIIYRIcGQKhBBCCCGESHDKNAXbtm2z9PT0qB2EEEIIIYQQfyzKNAVJSUl2+PDhqB2EEEIIIYQQfyzKNAXHjx+37du3O2OgEQMhhBBCCCH+uJRpCgAzsGfPHpdKxBwDIYQQQgghxB+PuKZACCGEEEII8cdHpkAIIYQQQogER6ZACCGEEEKIBEemQAghhBBCiARHpkAIIYQQQogER6ZACCGEEEKIBEemQAghhBBCiARHpkAIIYQQQogER6ZACCGEEEKIBEemQAghhBBCiARHpkAIIYQQQogER6ZACCGEEEKIBEemQAghhBBCiARHpkAIIYQQQogER6ZACCGEEEKIBEemQAghhBBCiARHpkAIIYQQQogER6ZACCGEEEKIBCeuKWjWrJk9/NDDUcsrQv9+/S0tLS3yed26dfan//6Tbd26NWpbkZh0+7Kb3XfffVHLPRs2bLBp06aVWnb1VVfbDz/8ELWtp0+fPnblFVfa4cOHo9YFGTN6jF1/3fX297/93V54/gVbvGhx1DZCCCGEEIlClZmCv/31b5acnBz5LFMgwpRnCnr27GkffvBhqWXlmYLOnTvbpZdcart27opa58nKyrK6derauHHjbOHChdaxQ0e75JJLLCUlJWpbIYQQQohEoEpMwZ49e5wBkCkQ8SjPFDRv1rzSpuDXkJeX50YM5s6dG7VOCCGEECIRqJQpmD59uj1d82m7/LLL7Zmnn7HZs2ZH7TNp0iS76l9XOQPgmTplasQU9OvXzx3jn5f/05599llbsWJFZN+DBw9ao4aN7LZbb3PHeOvNt2z/vv2R9QhCenY//uhju+KfV9j8+fMtOzvbOrTvYPf9+z5XLo65eHHZqSCkibAN2yJIgwLz7bfetj7f9rFPW3/qROKNN9xo7dq1s5ycHNu1a5crfzidhTSpm2+62W3jlx04cMBtS/n8MuoubIoGDRxkd95xZ9xyVea8cPLkSfvs08/ccf915b/cNe3duzeyPlYd5ubm2hdffGEPPfiQXfaPy9z/Xbt2dWKZfebNm+fKcOzYschxuPfBZddcfY1b9vLLL7vlXMPw4cNLlW3Y0GH26COPumt88YUXrXGjxmWaguefe97+/Kc/R9rQo48+Gin/5x0/t1dfedVdX/g8/MxIgf9ckTZL3XKOYD0JIYQQQiQSFTYF9Poj0nr36m2HDh1yQgqxH94HEOVljRQ89thjNmXyFDeagOj/d41/R7ap+VRNq/VSLVu1cpU7R/v27Z2Q8+IUQXjHHXfYJ5984nqZEXEIxDtuv8NmzpzpBCrC89ZbbrX9+8+ZCU9mZqYTr23btnVCt8l7TVyZKBvrEdCYFdZTvsmTJjuBOXbMWLcewfvGG2+UOiZiFUEdPhdClPL7z/R4c+xven8TWUYKCwK+vHJV5ryYGkzVjBkzbPiw4a4uuC6/PlYdchzSZ7ifqamp7v/rrr3OrWefipgCjsu5MCvcuy+7fml//ctfXT2yfv369XbJ/1zirvfo0aO2fPlyJ+jLMgXAdccaKbjpxpvKPE/QFFSkzdJubrj+BmfQwucXQgghhEgUKmwKFixY4MTXkSNHorYLE88UIA79Mo7JMgT8mjVr3M/BXHB6sOkNXr1qtfuMIETM+vX0kjOigBEInr9u3bpOHIfLFYbccial9u3b131GPNd7u16pbejR/vjjj93PP/30k6sDbzi4JkRnUlJS1LG/+uor1+POz5gaRh0QsExqZdmpU6ecSQiOJpRVrsqcNwyCmDryn8N1SB0z4ZYRkeB+GALKzM8VNQWMAvn1jOCwftzYce4zbQkzwvmC5/g1piDeeYKmoLw2u2nTJjcitHnz5qh1QgghhBCJRIVNAWKOnvxrr7nW9WQvXbo0antPPFMQTJ9B7LNs586drjeen2MxZ/Yct304n5zUovC2ns6dOkeVKxYPPvCgE/D8jCkgfSm4HoPB9fIzAhQB/fXXX7vPbT5rY6+88krUMWHjxo2ROqCuqEeexoQIpTeea0Ksh9N/YpWrMucNM3HiRDfp238O1yEpW5QznE/v053oYa+oKQjn+pOe5A3bIw8/UsqMwK81BfHOEzQF5bVZ2h/lCp9XCCGEECLRqLAp8JCPjiglR7tH9x5R+8CvMQWk6pDC4lOFYhEWhKShsP+SJUuiti0L5jCQT0/6DSky7F9RUwCk2tx1512uN5+edER3+BwetkOskuLUpUsXt4z0KAxQmzZtXE59RcpVmfOmp6fbwAEDnaC++667XcpOPFPg5z+E5yz4PHvWnw9TgMkJplNBVZsCT0XarBBCCCFEIlNpU+D57rvvIpNkw/waU7B9+3b3MwIufDxPLEHIZNvu3bpHbRsLzAOCccKECW5CLstI8amMKSBlh3Ii6slFR6SHz+NhjkDDhg3t/vvut5UrV7plpL5wjgfuf8CVoyLlqsx5EdKU2dczqUfxTAG96Szz8wc8fGZ0gvX+fgbTlSprCpgT8W79d0utZzTn9zAFnnhtVgghhBAikamwKdi0cZPLT/dilDz74ATWIGyLYGR7erQxB+WZAj7Ti45YZltSbXiSUe3Xa9vx48fd+liCsEePHm7eAYKasiFgEZ/Lli2LKlevXr3c02/85x07drh9K2MK/DKENk89Cp8jCAaHFCEm4PplCGvmC5Dr7q+rvHJV5ryMtjCR239u2bJlXFMAjEIwOlHWRGNGHygz95zRGeZ9IPIrYwpGjhzpUqf4zMRq6gZzE88UcB8xVMwN8NdU3nmCpqC8NsuICu2N6wufWwghhBAikaiwKUDMIkoRs4g71pX11lh6lxFfiEbELuKsIqYAQdq0aVP3WEyW01ONMfDbxxKEpBthDBgxYB8EMBN6Y+XqI2ifeeYZJ7hr3FvDWrRo4VJ4KmsKKBPnYnQjfI4gzAXgqUKtWrYqtZw8dh6p6T+XV67KnBdRTMoQx3nyiSdtxIgR5ZoC/0jSG2+80R2f/4OPJAWeZnT7bbe79eTpY7oqYwoAM4NpYZI09UzZ4pmCRQsXuWOwj3/SUnnnCZqC8tosaV2YNuZVhM8thBBCCJFIxDUFIja8Ndc/Rej35EKdVwghhBBC/LGRKagkPEqU1BrSYcLrqpILdV4hhBBCCPHHR6agkpCeQn79qZOnotZVJRfqvEIIIYQQ4o+PTIEQQgghhBAJjkyBEEIIIYQQCY5MgRBCCCGEEAmOTIEQQgghhBAJjkyBEEIIIYQQCY5MgRBCCCGEEAmOTIEQQgghhBAJjkyBEEIIIYQQCY5MgRBCCCGEEAmOTIEQQgghhBAJjkyBEEIIIYQQCU5cU7Br1y7r1q2b1a9f3z788EMbOnSoZWVlRW13sdC6dWtbunRp1PLzDedo27atNWjQwHr27GkHDx6MrDt+/Lh1797d3nnnHVdnc+bMqfC+R48etddff70UCxcujKyfN2+effTRR+5+fPnll5aamuqWZ2ZmRu3nWb9+vdtm9+7dbh/27dixo23YsCFy3Ly8PBs3bpwr73vvvWc//vijnTp1qlS5Y3E+jpmRkeG2GTNmTNQ6mDZtmruOnJycUvsMGDDAHfeTTz6xyZMnW25ubmT9ypUrrX379u4e9OjRw5KTk6OOK4QQQgghzhHXFCC4hgwZYseOHbO1a9c6AYjoDW93sfBbTMG3335r27Zti1oeZt26ddaoUSNbtGiRpaSkuP1atWoVEaWdOnWyvn37OsGOIEf8r169ukL7bty40dq1a+f+h82bN0fWIbgR3xwjLS3N+vXr54SvLxdl9/vB/Pnz3fbp6enObCCgx44d6+7lpEmTrF69enbgwAG3L4L8008/tU2bNtmOHTucaRk8eHDUtQc5X8fEGLFdLFOwfft2t65OnTqlTEHXrl2d8eJctEvKMWXKFLeO81HnCxYscGUcOHCgq/Pg/kIIIYQQojRlmgJ6sOmhzc7Ojlp3sfJbTMFnn31WIVNAj/f06dMjnxHo1NORI0ecGEeInzx5MrJ+woQJ9vnnn5e7L58ZVaAHPHxO6NKli+t59585B+IXkxDeFjAmw4YNcz9TJ7169Sq1nrryoxBt2rRxwt2vY/uPP/446phBzscxp06d6owRxiJsChgNwJQmJSWVGinA5FAXrPfbMoJF3fpjzpgxI7IOE8v+F7OZFUIIIYS40JRpChCdb7zxhkvNCK+DLVu2OLFL7zCCevny5W45wpA0FwQdy1nGZ5aTzkHPsBd09IIj6Jo3b+56e72IBUYohg8f7tKXateu7Xrg9+/f79ZhWBC9iGLOsXjx4si5OV6HDh2cOO/Tp49LrWEd6Swcj1QV9mPUw6fusH0w5SaY0lMee/bssbp167rUmPHjx7vyBteTgkVPd6y0q+C+fB45cqTrcQ9vRz1xL8KmhbocNWpU1PaHDh1y94We8vA6oC6o77IMxcyZMyNGpqJU9pgYBu4F7SyWKeD+kDrEz+H0oSDs70ckwuuAEQNGFsLLMWR+hAGzQpsItj/a0s8//+zaMXUZbEvcN9ofbcy3GbYJnyMWmJzOnTu7uogF6zh+eD8hhBBCiKqkTFMA9LoiaN9//32XjuLFPP8jqBDZ9MAi1r0YREyxPT3DCCDMA4KJz4w6ILQQVGz7008/WcuWLW3r1q1O+Pbu3dvmzp3r1mEKmjVr5sQePemIbUQw6xBv33zzjdvn8OHDtnPnzsi56UVGVCHGEZ1cA+sQmHzmXIhleqjpzfbpOYjCsOiuCJSJsvDzDz/8ENXT73uqEerx9gV+/uCDD5zYpF5mz57tlpOKxDFIOQrujwEijSh83FjlCEJdcI9ijQJxbykD9ym8Lh6VOSafMYK+vsOmACMaFPJlmQK2YR3tKLyO1CvWcc9pI+H1fpSGNkz6E+2XMjIfgfXx2tLXX39to0ePdtdBihP3K9b9jQWpZEEDGouyjJUQQgghRFUR1xQAgh8xhGACRC458fwc3hYQU7NmzYp8HjRoUCnhimjEJCDGW7Ro4UYR/Dry5r/44gv3M6YA/DrEFKKTnxFy9KgiyOihDp47mD7EdvTw8jMim3L7dSdOnHCGxxuKX2MKOB7Gxaf/xBLj3hSERx/C+wLiExOE2CQNB+PF58qYArZ96623bN++faWWe7ifiNjgpOAg3C/EdixxXxaVPSajAEETEDQFjCA0adLEiXa/vixTAAh65isEU4aCYKxoN76X3+NNQfA8mM3vv//e/RyvLZE25Q0C5+c++UnfFYHrDRsBD+vC2wshhBBCVDXlmgIP4hYRS08+vcKI8vA2EBZTCCh6Wdneg2hF+DIBlPQfv5xJtsB+YVPApF3EFz+zL0IT8Uh6h3+6TPjcCE1GBPgZ0U/Of7CsHM/3DFfWFDACwiThoNgnfciPZnj27t3r0p+CojTWvrHwoh9BzDEwDcH1jCyE04f4zIhL+FiAcCXVpqyeaIQ1IzJhAR2Pyh6TayEVKiyGwU9cDi/3kIIUPj4wAuHNZCwaN24clV4UyxQE07/itSVMUNOmTd1xab+MooXPWR6MNoSvj2Xh7YQQQgghfg8qbAqAnGcmw5LDH2+kICim6D0PC1cPvfdlicl4psCDwBwxYkQkVz187qCQ41zBUQly0cnn95NhK2MK2A6DFO6Nx3SEU2joqQ7m0pe1bywwPhgDfiaVJZjSwzm4B8H645rosQ9O8PUg3qmDJUuWRK0DRndIpwpOki6P83XMcPpQGASzHyngehkZCK5n8rY3qdS1f9oTMCKFeA8bwlimAANGe+XneG2J1CFGDoLHqyzMMcEYekPAz7HmnQghhBBC/B6UaQoQs0zuRUwhnDADTBQmPxuRR0+pF4Ms80+dCYsp0nMQyn7yJLnXPtWD/xFxfq4CeeC+5z6eKaBMftIxvbS+lzh87qCQI92DCcV+Ui8Teunl9XMKGHVYsWJFuc+0R9RTDoxR8BGgXrT6R5Ii8Ng2+EjSePtSpwhNRhEYlaEeGFGhTtjXP5KUY3Ds8CNJYeLEiTEn1ZLigninJzx4Xi+IMRuM5nAOvy6WsaiqY1bGFNBWSD8j1Yd7R/0g+n3KGsfBdDGfhdEJ6on5C5goykz9MELjTYE3iizjXvHuBT7Ha0u0xWAPP+27LHMbD/9YVyhrUrgQQgghxO9BmaYAQcVz5RGmCB96Z4OTKcnnRxSyDvHnxVVYTAGf6dVmW/4PTgxFbPmnuCDSee48y+OZAp4og/AjdYh0I59WEz53UMj5pw9hbDiXF4d+W0Qlx+d44dz9IP6aw2AoWI+gp1efZYjM4MvL4u2LWUEckybEMnrY/ROdPNQxx2Q95wjmsXO/KL9/WVkQ7mP4nICwjvXCNE/wsZ9hzucxK2MKAGOEmWQ518zEZD+3BMMUbFO8vMwbUozCm2++6YyXNwVcB8vYPvikrbLakp8L40eV+Iwxoqc/XO6KQFsLzisRQgghhLgQlGkKhPgjEyt9qCJg3pgLE0z/wgj5J2oJIYQQQlRHZApiQG82oxZhKjMB948Ck5nD9RCetFsd+bWmAJYtW+ZGKhhdAEagyps3IYQQQghxMSNTIIQQQgghRIIjUyCEEEIIIUSCI1MghBBCCCFEgiNTIIQQQgghRIIjUyCEEEIIIUSCI1MghBBCCCFEgiNTIIQQQgghRIIjUyCEEEIIIUSCI1MghBBCCCFEglNhU5CXl2fHjh2zQ4cO2d69ey0pKUkIIUQVwO9YftfyO5ffveHfx0IIIcT5pkKmID093ZKTky0nJ8cKCwvtzJkzplAoFIqqCX7H8ruW37kYhIyMjKjfy0IIIcT5pFxTcPz4cUtLS5MRUCgUigsQ/O7ld7CMgRBCiKokrilghCA1NTX8N0qhUCgUv3PIGAghhKhKyjQF5LGSMqQRAoVCobjwwe9iUonCv6uFEEKI80GZpoAJbtnZ2eG/SwqFQqG4QJGVleV+N4d/XwshhBC/lTJNAU++KCgoCP9NUigUCsUFCn4n87s5/PtaCCGE+K2UaQoYpj59+nT4b5JCoVAoLlDwO1kpREIIIaqCMk0Bz8pWKBQKxcUV/G4O/74WQgghfisyBQqFQlGNQqZACCFEVSBToFAoFNUoZAqEEEJUBTIFCoVCUY1CpkAIIURVIFOgUCgU1ShkCoQQQlQFMgUKhUJRjUKmQAghRFUgU6BQKBTVKGQKhBBCVAUyBQqFQlGNQqZACCFEVSBToFAoFNUoZAqEEEJUBTIFCoVCUY1CpkAIIURVIFOgUCgU1ShkCoQQQlQFMgUKxa+IM2fOOIqKitz/iorF6dOnrbi4WHX2G0KmQAghRFXwu5sCxACioLCw0IGoulhFgi8rQua3Rm5urp04ccIKCgrccbOzs91nrj/RIysr67zURVCkV0V7oh1kZGTY0aNH3fEp85w5cywlJSW8acKFr4+0tDT3vY4VfJd27dplK1eudNspfl3IFAghhKgKfndTgDBYu3atTZ061aZNm2Y///yzLVmyxPbs2ePOezHFyZMnbcuWLb9Z9CGY1q9fbyNHjnT1imhatGiRjRo1yo4fPx7ePOFi3rx5NnToUEtPTw+vqlRwv6hX2lFVmAIM3dixY6179+6uHS9btsyuvPJKGz16dHjThAvqY8qUKTZo0CA7cuRIeLULzF/nzp3t6aeftrlz54ZXKyoYMgVCCCGqgt/dFOTk5Ngrr7xi//t//2+7++677d5777XHHnvMGjRo4HpdEV4+EHb0zrIPgoJyxRN7voeYffgf8U2PPL30iJbwtmyXl5fnjs3/fkTAr1u1apUr17hx4yLHLCt8L3WwrMHjIXpfeOEFJ4YoT7du3ezll1+23bt3R7ahjKwL7+/Xeyq7LLjOX4e/durHj16Et/X1B/wc3oaIV2YifD62C5+vQ4cOVrNmTWcMfbCe7dieOi1vNInjL1++3G644QYnSv32fh8+cx0cr6xrCYbfl2vy7YPrbN26tT3xxBPufDt27LD33nvPmQO/ffB6aQ/BNgDljYyFjxNeF1zuj0f9hO9RWcfxy8PbhYkVLA/eb+rEf68oB4K/fv36bjSAe0eZgt8rfua71KVLF9u8eXOp87ENdc0+sdoR2wSvNdyGEilkCoQQQlQFF8QU1K5d21599VU7ePCg7d2715mBevXq2e23326rV6922/EHn57f+fPn28CBA61v3742YsQIW7duXSnjEAyExOHDh23p0qV24MABNxrRv39/13vJMsQMwbEzMzOdmBsyZIg7NqIdUclyjo/gQ+Tcc8899sknn9iMGTPcsliBWOF806dPd2XlnIwCMDrAOTkfx3/xxRddr3jYFLCeXvLFixe78nz//fc2fPhwVxeUh/UIZq6dOiFYxr5bt251Ai24bMOGDZHtgsF5KRP3lv/p4eZclNWPYBAIPe4LPb9cz4ABA2zSpEm2b9++yDaci1EOTM7gwYMjZebc3GMv4hgF4p5wLYyUUNfh83Xs2NH1HntTwH5c15gxYyL3jxElUk7CYpFgGef57LPP7G9/+5urw59++slSU1PdOv6fPHmy9evXL3J+hGusYxG+7Nu2bXP3jX0oO2kvrVq1cqaAbaj3WbNmuXJRZ77tcT7qhVEF/ucz95Eysoy2RF3GOr8/Du3k1KlTkeVsS9oSIyEcj/IdOnQo0sZh4sSJrl45BnVLfdKmfbsnSPFZs2aNJScnu8/Hjh2zjRs3umNt377dFi5caDt37owS3HwmdYo2+sMPP7i69N8Zykl5EPtvv/22qxPaC9twLxgZ9G2C8nF+jsX3bNOmTe68/M/99u2R75pvH1w75aMN0NZoj+PHj3f3kN9ViRYyBUIIIaqCC2IK6tSpY++8805kGX/0Od99991nH3zwgRMP9AYixB566CF7/vnnrW7duk6MMcqA8AqLFgKRgRj597//bX369HG9lhgQjvH44487QeWPjTB77rnn7KmnnnLHpqca0c7+iDzOfeutt9p//dd/2fXXX28vvfSSE73h4HgYgq5du7rycSzO+8wzz9i7777rxHB5pgBRheHhOtmP+uFYr732misn2//444+uzhCmBPXYvn17twyBzznoif3888/tww8/dIIpHIhNyobJadu2rduXMtx5551uGfeAe4EhQGA/++yz9sYbb9hbb73l6o/zsY5tEMSIvieffNKNgHDdjzzyiL3++uvu/tCG2IZlPXr0cMfnfNy/W265xZo3bx4RxmFTgEBEXFIX7EMZuIffffedMzvhe48I5ppvvPFG+4//+A/Xjjgv9ULdcm8YlaI+ORbtg2vywjgclImy0HbuuOMOd22Ug3NwDD9SQH1dffXVTihT97SdGjVqONH85ptv2qOPPurOS7oRBotRJ7+sRYsWTpCHgza8YMECdxwMsQ/aLGKZ6/IiHhH+wAMPuHuIyWbE7aOPPoq0KcwMdci2PhDo1AFGi8CQ0ya4R++//767lxjBcB1TLgwI6/neUB+0D+4naYBcP+WhPXBtXCvraFu0CUbduE/ffPONq3uMAUaYOm3UqJEbLaJjgO8Zdc51UL+UAzPEPeS83BPaBt/bjz/+2KX3hUcB/+ghUyCEEKIquChMAUEPJmICQUcPIb2HjBw0a9bM9YwijBEWXojQ8xoOn/N9ySWXWLt27ZxY53yIq4cfftiaNGnijk0vJOICccJ1ImgQWl7M01PKOYcNG+aE1ldffeXKE0vEIUgQS5gKRDLno9eUHuJatWo5scU28UwBIhoxxLXymfIgmhCgCCXKw/EQpz6ViZ50hOB1113nelg5ByIbwYQ4izVSgDikTA8++KDrVaa3FvGICMQAYYQQ8lwv18M2Pi1owoQJToBijCgfZWYUBTFHPbMNBgjxjuBnFIh977rrLieiGUXhXCyjp5dcfO4V9RU0BdwfRCLnZ2SEz5wPk4c5Q9SGJyQjHDEriODLLrvMmT/SUzgX9/5//ud/nFDnXLQResMvvfRSd96w+CW4lq+//tqNOlBuPrMvvdPXXHNNxBRgvDgOIp4ych/+/Oc/u9EExCrQ5liG4GZkinbECNRVV13lRjPCQXm4jwhpvg8+JYhlHIM2i5jmftx2223umqlX7jemgfr/4osv3Da9e/d2JoR74YN7RLujR56YOXOm24d2gVHkGJQ7XC+MCnFdmAK+P9wD6hgTjxHlfLQ77hFtnrZGuWj3mDCWUUe0Ldot32WOiXHGJNH2+EybxETR1qhPzkM7oX0wSsDvCeoEM8N94BpjtfU/csgUCCGEqAouGlPgxSi9yPyRR5AiyhBRPugtRahfe+21TriEA8GHkEBw0Xvpgxxzer4RFogKBDY9mKSU+EBo0NOLGEH8EQhfBBRCvKxgP0QoIhLxjrCh7hA59GYitNimLFOAsMRMYEaCZUbkI9YxQZSTYyKWe/bs6eoKcY4BwER9+eWXTkzNnj3b1S1pQbFSUxBq9LY2bdrUiUwfGCB6eDFSXAMGhW0QkAh+4D5wPdQj2yM8EZyIdC8g+R9Bh8jE1GDc6PVFOAYNFcvZhvx8jhU0Bdwr7h/HoW78+Rk9QPCTjkIbihUIeEQ75/JlojeZe+1TUXxQJgRs2GAQtDOuFQHs65HjUW7MSlmmAEHNXBkEL8GxqcO//OUv9u2330aOg6imnXHdsYLz0JPPqACjGRyHNsZn2hU957QrDGtwcjbiHyPBiBP7VdQUMK+H+8r3vqygXXNO6gUTTHvkXnGfMTt8rzAFrKesPjC5jExwH9gmbApow3zG5PogJYlrYFSB3wUtW7Z0x+C4vj344zKnw8/LSZSQKRBCCFEVXDSmACGEEKTHGqGDIKA32efLE4gjUjWYTBpMrfDhTcHNN9/sctt9ID7oqUTMIRgR/RyDnuhgIG4Q517AVcQUEIhIxDEpPvRocx30ENNL3qZNm7imAIGIwGadF5M+ELkIdIQw56BXHnHFqAa9tpgBTALL2BfBRdoGZYkVfqSAugjmq1OvjEJgBBBejCQgJhFjGAUPQpY0IJ7GhBhjJAMTEQzSZOj5pTeecyDI6eEN3keCNoAgRLAGTQHikJ511lN3/twIUkQ87SJ8LB+xTAEmiGsOB+la//mf/+nqNRy0xZtuusldfzC4b35OQSxTgBljlMo/fYdtqB9GczC5PhDslAlTFCvYDxPEeTAHfB969erlPpMCxv7cZ0a7gj361DdGgPvH/rFMAe0kbApo89yjeEEb4ToZuaKt0lYYIaAeEeV89zAFjGQwF8MHbQUziwnjexjLFDACwnX5YASCbWjb7M85MS6kFPn2QCobRpZ6iNVB8EcOmQIhhBBVwUVhChA29HSTPkNvKKIMYX7FFVe43kUfiGuECSKL/8PhTQHGItjziKhCjIRNgZ/UTFAGJoLS04mwJ7wpIH2hrKBMbEfqEcIasU+PP3MBEDMVNQX0Sq9YsaLUsRHYLMdsUD7+J92CUQlMBykkGBtEFWVu3LixE8+x0pwITAEmg3MHUy6oN+4JQg/TRS8+dYXwYlvAgHTq1MmNWiA+Ob8vfzAQv5gCzIU3BaQLBdO9EL2kxyAIKVPQFCAoMQXk5CMyg+dnO8pH+4wV1DmmwL9HgKDHmXoPp8NgtJgvUpYpYMQKAxAMhH95poA2y+gH4U0BZoZRKB+M0pACV5YpIDgGpoR6Yh4JbQtTyAiSNwWYsmA+PfcUIc39Q1hjCvh5//79bj11QC88RiloCmhjjHLEC9ow31E/AZyyYAD4vtIuqHPuF9+DYM89Bol2WZYp4DvCvILgY0wR+Vwb18JyflcwIsZoRrA9kIZFnZf1CNQ/asgUCCGEqAouqClApADnQ/jQG0gvIAILwUv6kJ+o69M36DnFFARFv4+KmAKECPnI5GMH02woAyMC999/f6RXFwGFiOaciK+wsCQ4NqKIXnREPdvQq8oTWJicW54pQFjy5BjKxjV7kce1+ImimAMCQUzvMOdCMHKN1AliiZ5n3+MbTpXx4dOH6LklB99fD720fiIxIp9j0SuLmPTbcJ3UC5N3KRtGhnJgiHyZ/RNoEKKMVvj0Icwewi14LPb99NNPY6YPMXkXk8OIgN+HHmPmBVCmsiaWkhZGihFt198vrsOnpPmgnAhVJiaXlT6EmSB1i7ZIcCyfZvV7mALqmDkHzNtgO+qU9khQR7QrlvkedsrHcZnPQdmpJ9oP3yk/aka7IPWHScxBU0C7LO9dC7QdzDHtmrJxPowAZWN/zGlVmAKMCEaM42IYfXugbTEyRJ3EMnZ/5JApEEIIURVcEFNA7yciFBGHyGCeAH/0mQyMgEHQIXiZaIyA9Y/R9Ok05BLHSiEpyxR4MYKYY+QB4YvooBykDHFsxDq98BzfXzu9rZwLEYOYivVEH4QR4paeTMQhIg1zQE8maRzlzSlAQNGrTm9tw4YNXXlYxvwADAA9wj5Fh1xqDNVf//pX1wvsRTPzC6gr6pS0nbICYYdgpFzUOfUACHCEIsKQY5L+hPjFDHHNlIf5DexHTjsCmPOwD9eOwKPOMFukqyDE/URjTAH3FUHJsbgWxCqCHBMUa6Ix18y9QrAmJye7fTAh3NdYE419cM8R6Zg0/xQpHmP5j3/8wz25iGvlHNzLf/3rX66nOVbQjtieY/nHp7IvIzWYxt/DFHBfEcHcL9LoaAu+zVNnGFjuOalgXDdzPhiRoWzcP7bBxFH/PLmH9Rhv7hdGgXtAVNQU0Ab4LlIevrfcF+4Fo1SM6lBW/56CypgCRovimQKug7LRHhkh4zzcQ5ZxrYwoaqKxEEII8dv53U0B4okceJ5IgsAFeqYREwg433NP7x9ClPQERCK57GyLkA9OZAwGghKRg+gIlh/RgKBD1NDDiLgiDYaeYNIyODapEOyHUPWik15K9iOliPPGSiNC4LMPE1ApJ6KHHlN6YjEGiEvKRW8/4gdhRv2SvsJ56dGlfPSCYwwQWP5aKRspMb7nH4HEMRGUCFHfa4ooxNAwYuBTRWKFn1PA/vQ0Y1gQa1wfYtGPHiB2KSv1QVkYlUAMcnzqlW24P4g0xDzXzQRXjku56b1FWFPPpA9R79xzRiI4LiYB40B5OBZ1ReqSz31ndAhRyPVzTrbF8HA+UpL8dYeDe0E5aDOMiJBX70dSGJng3FyLf+wrJitW0Aa9AWM/jknZ2Zeycj1sQ10z2ZfJttxT2h7tgHbjj4MB4L7OD8yBwThSrxi7eMGICvf773//u2sfPrh+ysc9RBgjzBkhwGRSz9w/fx+pV66B9dxjroH77tsyIz3UC9+9eMH3lu8M7QeDwrGYV0IbYXSKeub7SlpRsA1izDALGBUMOd8n6hPDzWdGBlnHdj5oY5QTI0290k6of66PsmKm+Jm2yz32vzMSJWQKhBBCVAW/uylgFIAeRnprATHC53BvH6LGP/qS3kB61und9oInViAOSDNhn2AOOwKV3kV6J73A5ticF5HHsRE2jFIEe6G9+EV0I+pijRQQiBtGABB59LpzfpZRh+xDuRA2pFjQO0od+JeR+dQH/meEgfIgkjAN9JgGU4EoD72wjJwE51pwLZSd3myutawIzingXJwDE0OvMz21QXFFPdK7zXoglSW8DSYFc8I1c0xEHNfsy+xNASMOGAVEIz3bCFLmPfhjUUcIa/9UIa6T+uF+I4oxA4woUUdl3XsfnJP7jJlCaLI9x8WUcR0cj95/35tfVlA2xDt1xLUhZqk/lnF83za47/6eso768PeAbSgPJpYRJR/+JXLhSdrBYF8/wRgTFXxaFEH5OC/zV6gfetUR7cHzUCaMHtfAeu4ngp3zeuFOPdAOud/lBe2McjMiQZ1w30lp47tGebj3iP1gOg/70I7p4adeKI9vv3xG1LOO3zk+OB7bsK1PFfOjPtQHbYgRwXipZH/kkCkQQghRFfzupkBx4cKbgvDTh6oqgqYgVrqXIjowA9wb0sgwUaT2kDqViOJXETtkCoQQQlQFMgUJFPQik/JBT+/vIdL9hF1GBhJtMuivDcQ/3z2e7kQ6Fmk/8UYUFIkXMgVCCCGqApmCBAqEOZNESdmIl2Z0voI0IlJWSGsq64lIitJBGg7mjdQpUp6Sk5PLTZlSJFbIFAghhKgKZAoUCoWiGoVMgRBCiKpApkChUCiqUcgUCCGEqAp+d1NAJoRHUXZQPWd++Zcoce56K37N+YXZJZx7ydlvijNnX5L3m6MaN3Ku/7zUgaLKQqZACCFEVfC7m4LCwjM2e16Rrduop6n4OH3mtOUWF1je6cKICcgozLTFJzbb5qy9Jev/+CLtTEkdrEubZfsyN1vR6bLnH+QXZdvOo4ssKy/Niku2m7uxp/28tpMzB79VzB5LXmkHts4ML650FOflWPqK6ZaTHP3W7VjBPALme/CYzjA8iai8+R9cN4/s5LG07OMfj8pnHn8aK9iH7zmPa/X1xv+8/4BH6vK404sluB7KeTHOS6Fc1ONvbXuVCZkCIYQQVcHvbgqyc85Ynfq51uObc88lT/RIL8iyiSnLbU7qBis6c9Ysbc8+YB/s6mt9D02JLPsjx+mSa+y+obZN3/+95RWV/WSktKx91nvu05Z0bLkVFufZ9z8/Z70nP2Q5+Rm/WZitntbWZg96Jby40lGQcdS2ffaCHZ06MLwqZiDkmVjMi8d4UZt/GRmfeREe79OIF5iKJUuWuJd5bdy40RkBJnjzuaz3D/D+AN4xwJOh+L4T1B/vAuD8TEa/WIKX2lFO3sr8W+/x+Q7uG4+PLct8VUXIFAghhKgKfndTkJV1xh6qmWOtO+RZfsEZO3Co2LbvLrKUY8VWXFz6Dz4CICf3tO09WGDb9+bboWOFVlAYvU1B4Wk7fDzftu3Ptj0puXYqp6iUeODn3IJiO3g8x7YdOmW7j2ZaRnZ+pAfeHaOo2HILi0r1yheXiC2WFfzyjHg+nywRU0kZGbY9Lc0OnjppuUWley/Z/2RBnu09lWY7Thy1lJyTll987oVoweBMBaeLbP3Jvfb2ut7WYceoEoOQaXmnC2xDZpLV2drFuuwbYSeLsm1//lHbmXvA0gpPRJmEojNFllqUYbsKkm13wT5LLz63TcGZQss9kxe1T0ltlyzPtcIz50YnwlFU8i/tTKrtPr3TdhVvt6Onj5QcLz+yPT8XnilwIx38nHc6x4l7orjk/4yiVEvO21FS9l2WWXQisi5WsK7VyodsbNIXlllw3NJyDtihU9stIzfFjQj4+5lycps1G/XftungdLd824GZtmXfNCsqLvilLZSUoaROi4ryLONksqWmbbOs7KPGSESp85Vsk3XysKUf2WqZ6ftK2l6hLR7d2Cb1+HdkG453uuT+5mQctlOHSo5zdI8V5ZU2LGxTnJ9jOUf2WvaBHVZw4pjlpx60DQ3utEOjvyq1bVnBy7oQ8bwQjDcdX3755e4Nznzu16+fe/kXwp/HyPLCLl5gx8vffM85Pens/9BDDzmhz3Z9+/a1Bx980L0ALBy8oI93Vnz++efuDdo87QhRy3LEN29g5mVzmBX2Z/QgOKJAUB5GMXipGr8reAla8MV/lI3fI5QNA8K2nIP9OA7reGEhIyRlvYPBb8eL63ijOC/Q49o4ti8LoyiUnzqhnBwv3huOWUd5KCvXxD68KM+PsBDu90VJWTl28Jo5L/uwHT9T/ieffNK9UI2RGX99VR0yBUIIIaqCC2YKGn+Ua9//kGeNPs60t5qdtHofnLCRP+VYYdHZP8IYhF37Cqx1z1Sr1+awNeh42Bp+ftC+GZVqGafOig/+YKeeKLC+P6XYW1/ssLe+3G5vdttqrQbvstU7T54VdafP2L7UHOs2aae903eNNRy4xhoMWmUfj1xnS3elum0y8wpt+qb99s3czXYq75e30ZawKzXDei9aa/OT9ltRyR/7dSlH7NM586ze5MlWf+pke3f6JOuzZrmlZJ19EVhhiVhYe+yAtV4+1d6ZP9LeXTjSGi8ZaUN2LrO0vHNvWPaBgZh3bJO9uba3XTGngd2++AOrv6mXDT881xZmbLTaJaag4Y6e9u3hidYgqbvV3t3Bmu7rYQtOrSsxE2cFYWZxtk04NdveP9LZ3j3Sxuof+9Q+SOtks3IWW+7pPFtWsNp6Zn9v6wo32Wk7J1jWFq+3rwp72+riNaWW+8g5k2Pjikfbh/nv2/t5Dax5bgNrlv2ujc0fbidPn32b8uScsTY7d4otyZ1jfTI6Wc/jbexA4d4Sc5BrP58cY18cbmqdDjSwz/fXt+7737dNWctKyh17hMiZghUP2fCdbe2n3d1s4Mam1mf1m/btyrq2dN9IN3rAvcIUNP/FFJw+XWxLtva3RZv7lpgCUjhO289L29neQ4tt0cpuNunnhjZuUh2bOOmNEvG6MHIuDMCm1YNt+ojaNmvUWzZ/bEPbuPAbWzC8nk3+xRQ4g1Fi6LbP6mXL+79tqwc1tNX969vGoR9b5qEdkW1y0w7Y7qFtbFPX2ratZ33b3fdDOzJjsG14944KmwJ3rhIB6t/+yxuMO3Xq5D7zXURskgr06aefWqNGjdy7Jpo1a+beVIyhqKwpoMe9devWduutt9qVV15p77zzjhO2GA5MwdNPP+3eVty+fXtr0KCBvfXWW+5t3QhogrJiGtq0aRMpDyMbiHb/Ujze7Myboxl54FoaNmxo7dq1c/txjbyFmX0ZGfFvqw4H1z5x4kT3rguMEgKccy1cuNCJcswAL3hj2bvvvmv169e3jh07uusry2gg3nlPx5w5c9w1Miry9ttvW9OmTV2PvzcMrONt0cGX/K1evdq9EZuRC97AjYH7y1/+Yvfee6/Vq1fP1Tlvoa7qkCkQQghRFVwQU1DjsWy79/Esa/9ljg0akWd9h+TYa40y7PanjtqytWfzc1PTi63p58fs4bcO2Hej0u3HyRnWsd9Re6jBbus7PrVERJqdyi6yQdOO2l0NNliL7/fYoBkp1mVUsj3Weo293XOTpaTn2fHMAus9Lcnua7PQuv60w4Yt3mffzd5ldfsts4ZDVlh6dr6lZuba51PX2hO9p9mxU2fTADAFi/YctMf6j7Nvl66zI5lZ1mnBYnv0xxHWe8VKG7JxvbWYO9OeGD3EBm1c7UzD9vSj9v7CCfbKz0Osz6ZFNmTHcvt4xXh7bnYfG7Z7uRsVCAamYPnxHdZ80yC7fn5Tu39ZK2u94webdHSZm09Qa0sHq7GuaYmo/tH6H5liXQ4NtXu31bdG+7ra7rwDVlwigiefWmAvHmhujVM62qCT42zAqTH2ZurHVjftA1tbsNkWFaywxzJesV45A+zU6bO93IVniqxrwVf2bF4tm1+8puPGbwAAWGBJREFUMKYpmFn8sz2fX9M+KjEFQwsH2eiCodYq+317/dQzJQZjlRsJaHui5Lxpr1jT1Fet2bHXrEvaR7a/MMnmZ04uKeOT1i3lA5uUPtgmHR9krXa/bG12v2b7c3fEHDFgWesSU/Dp8gdt+LZPbXbyAJu7d6D1XPaSfTrrNtuZusTNNQibgoGzXrJ+05/7ZU7Baes6+GobPqWWzVnSzlZvGGir1n5vAwbdacOHPloiZs8Kz/17FtjAL6+wmaPfti0rB9vWFYNs+ZRWNqbT9b+YgjNWXJRvO+f3s+ntb7Mtk7tY8pJhljT7e1vS5Slb2+dtK8w9ZacL8ixpTBdbXP8qSxrewQ7P/MEO/vSt7ez+jq2u9Q87XEFTEAx6vB999FHr2rWr+8x3gWW8zOzVV191gnbo0KFOsD/33HNOeCNiK2MK6Bn/6quv3PqbbrrJiXvSYEg1whTccsst1rhxY/vuu++c6Obn+++/3wYPHuzOtX79elcezEL//v3txx9/tJYtW1qdOnVs+vTpTpAjqp944glr0aKFG/Fo27atG/3gGjAJvKW5c+fOTui//PLLziwEe+UJzAfiHdNy3XXXueOzD4LcX+Ozzz5rrVq1cmXDaPD5s88+cyMY4eMRmzdvdqbnjTfecHXwww8/uLI+8sgjbhkviuP331NPPWUdOnRwIzI+Ro8ebXfffbdL0cLYsP9ll13mtuWcrGf0oKpDpkAIIURVcEFMwT2PZdk9j2fa9l1nxSGjA0tX59sNjxyxFl0y3OeFq3Ls8oeTbcTUU1ZUfPaJKClphdbym0P2wLs7LDWj0JIO5VnNT7bZax122NF0hvrNTmQV2ndT99stTZbYtNXHbHdKlr3TZ501G7zRsvLOphWdzC2w7+fttBqdZ9r2lJNnTcG0ElPwzXQ7lhkwBXtLTMGA8c4UbEtNs7cnTrE3J0y29BzSZM7Y3hPp1nvNMvtx81rLKsy34dvX2CMTv7MJSRusoPjsuZJOHbPGy4bb24sH24Hs0r2InCO/uNBWZOy02mt7WLsdI+xY/gnLKc639Zm77fnNbe25zW1sfdZul6JzqjjbPj3Y1x7b1dRmnVphaUUZ9l5KZ6tzsJWtz93mTAIsyFthNVPftu+zhtvh4qPW6NQnVu9Uc9tadLaH+8DpQ/Za3hvWouAzO1jyczhIG+pc9Lm9VVDb1pw+awAwDssKF9rjJ+62KfnjLf9MnrU/8YE9lnKjfXPic1ubt8wOFO6xjOI0a3morrU++EaJcdnsyk260frMxVZ74w02K22E5RVH9wp7U9By6b9tz8l1VlxioNhvb8Za+3DaVTZ+UzvLLTx11hSMPGcKBs2qZf0DpuDLElPQd2SNElO5032G9esH2+ft/09LTd3mzjVjfD1nCk6knWvj6Ue22ci2lztT4EYATh6xaR3usNUjmlkhKUNnzqYSHV41yWbU+5sd37rY8jOO2NL3b7XNvd6xouyzI1PFedlupGDl0386L6aAUYLx48fbPffcY7Nnz3aCm/PQq09Pda1atVzqS2VMAcKeXn+EOkI4nD508803W/fu3d0oBOkwmADerkyPPCL5+++/d7339PCzjzcumATMAb3lCO0777zTjUCQWkQZe/To4QwHIj45OdmNDowcOdIeeOABlyYVnkjMcfldNHXqVGccgulDiPeXXnrJmQ7qgm3p5cc0UQ8zZ84slc7kA1Nw3333uVEFXqrH9bHdmDFj3HUzMsHoAEKfUYeyTAGGhWtiVAczovQhIYQQ1Z0LYgoerJltTVuQo3xu+fGMYnvzw+P2aO2jbh5Bv9En7b9uT7L+YzJs7M8nbezMEzZ8WoY173HQ/vncJtuwM9vW7siyq19bawOnHokcB7F+KC3PJiw5YtsOZNnJ7EJbvO24rdyVblsPnrQJqw5Yx58228NfzrE7O86w9fvT45uCgSWmYNnZkYIO8xfZTd/1tyYzptvgDets6cH9tis9zY5kZ1p6Xo51WjXbbhzRzXpvXGBjd6+1sUlrbMTuFVZn4QB7YlZPW5m6J1LOYGzJ3G/1NvSyrrvHWv4vaUEbs/bYy1s62Kd7BpaYhLzItj+kTbUndjezCRnzbEvebntmXxN78UAz+/HkRBubOd3GZk2z/pkj7d9HX7DWJ7va0eJUG533kz1x4mUbk/+Tm0MwvugnezLveRtdNN7NOQgH8w3Wn15nK08vt+2nt9qionk2IL+PvZdV1649/mcbnzfCzUfoUGIKXjn6gG0uWOvEN5FSeMBe2XOHtTpYx35KH2yzMsba7PSxNj11mL20/kobsL+NnSxMC53xrCn4dPlD9uP2VpZdeK63leW9lrxkvRa9YKfyUp0p+KDEFGz2pmBmLRsQMAXdSkzBpDnvlRjLcxM/jx/fYR3b/i/bl3w2hWjgV9faz2PeiqwnEJWzB9ayKd1LTEGJsMs4uMmG1/+/bd2YlrZ/+VjHgaVjbM/s/jb9jf+2vdO+sayD223Oa3+yo0vGB45z2nIPJdm6utfb4VG/3RTwVCEmG19zzTWuVxvRDvTs04N/++23O4FcGVNAcFx67El7YXsCQcux6dFHVAe3RXxjIBDVTICuUaOGE/K+PMOHD3dGgd58yoMpoEc+eBxSiejJZwTCi+dt27Y5cc/1kq8fKxgtYE5B8Fik9jz22GORkRIfHI9RDUY4Yh2P8mNCMA/BlCWMEWlAPXv2dD+XZwooP8aAMlDXv8cIgQ+ZAiGEEFXBBTEFDz+TbW2/KP20jhMnT9sHHTPs3udTLCvntPUYlGH/z827rWGHI9akc4o16XLI3vvioL3Zbp+9+uke27o311ZsOWWXvbTaJiwsLTKLT5+x3PxiKyg67SYYL9qaZg37r7NGA9dahwlb7NvZO+3DUWvs3s4/B0zBmhJTMO2cKSgRiQv3HLBHB4xzpoD5AowWfL18hb09eZI9N3aE1Rw71BrP+snm7Nttx3Ky7LNl0+2Swe3t7XkjrMniMdZk6Whrsmykvbagv32wapRtyjhYqpw+IqYgqbQpeH1rJ+uyb7hL9/Ex4vhMq5nU3MZlzLU1uVvt8X3v2j17X7PGRztYk9SO1iStgzU+3saeS61vfbOGWVpxhu0rPmAvn6pnn+Z0st3Fe+zD/Jb2dl4j21S8JXLccOw5nWRdCz63Jnn1rV1eS+ub97V9m9vNaqRfe84UZHxgjdJqWVLh9sh++wp22wtJN9nbex+wzw82sC8PNrHu+0soMS8fbn/KJh7p6yYdh8ObgolJ3S23qPT8iwEr6lm3eY/bydyjsU3BtNKmYPbSdm6isY+TJ/dZp3b/hyXvmed6/Pt2vsQWz2gVOMPZWDrm/V9MQbGl7V1lP77xv2zxty/b6iFNbO0PTWz9oBIGNLblnz9pBxeOsFN7N9rsl//L0jedm69AFKSl2KaG954XU3DkyBHXs37ppZe6lB1y4IEceCYJk0vPd/V8mgLSkkjn8ZGRkeHSYzAF5NUzYoBJYZ6ALw+QGkRaE+fEFPCZpyL5mD9/vhP3CHYfpDK99tprzvjEmldAxDIFmAHqiesOBvn+1MO3337rRjrCgSlAyHOdwUe9si37MfmaSdixTAHnvOuuu2QKhBBC/CG5IKbggZpZ1ugjRNy55X6k4JHXj1p27mnrM+KE/fmeJJuxOMuWb8ix5RuzbemGbJu7KtNmrzzlJhuv3p5pV7yyxgZOKz1SsPtwtn0xNsnmbkizHYcy7fWvV9sL3Zfb1LWHbdP+E3bgeLYNWZJkd3eaHjEFHUtMwcO9ptjhk2eFCROUZ+5Itnv6jHCm4ERunm09lmq7jh+3zSVCYdae3fbNmuVWc/wQazhrou0+kWYdV860O8f0dOlDy4/uLWGPLT2aZLMPbbWlx3Zben5s0bM184C9XWIKuuwe7Z48RGAK6mzrbF/sH1HqyUEj03+2p50pmGMb83Zazf2Nrf7htjYvZ4Utz11vy/PW2eK81TYjd75tKdxpee4JQYX2RW4veynrLfs2v789m/uyfV3wrZ08c24SZTAQ/J0K29vzeU9a38LetrJ4mR06fcBWFi61J9LvKmUKmqa9ZnsKz6YlEYcKkq3Wntusa0ozW545yzZlL7dNWcttY+YSW5Ix1ZJztlphjMnG3hQM2fqJZReeMw0s7734Reu18PmzIwUnttmHI0pMwYGzpmBw2BQMutrmLusYMgX7nSnY94spGNj9apszoWFk/dk4Y/MG146YgvT9621Evf/Lts/qbWm7ljuO71xmx7cttiOrp1h2ym7L2r/N5r76J0tdMeXcUUhjSUm29W/cdF5MAak3CFXSbubNm2crVqxwMCkWkY0JIN3l15oCUn78ZFpvCnj60MqVKyPbYgqYd4ApYMLzhx9+6OYL0FsfLA/incenIrAxBQj5oLnwpmDQoEGRZRUxBXPnznXbMNLg5wlwvcwDoPc+OKmYlCA/ihHreJgCPz8i+BhR6pmRAuY/MFJQs2ZNNxk7+EhX6pSRmbApwIDIFAghhKjuXBBTcM9jmXbvE6fs4OGzf8x50tDmHQV2y5Mp1qxDunvs6M+Lsu0v9ybZ5HnkNTstZ8dPFlnfccfs0+8OWk7eaduxP8fuabzR3vxip2XlFruUH+YNDJt3yG5putgmLEuxBVvS7Nr351iPKbucoEDs7z5yyt4csDRiCjJy8q377A12e9fxtiL5qDvOidx8671krV3ZbZAzBesOH7FmM2Za39VrIo8oPZh50prPm2rPTBxiSSWmYMCWZVZjXC+bvm/rL7n0JdtkZ9jXW2dZ722zLKMgOp2B2J2dYm9t+Nqabe1nKfnpJaK5yDZkJZWYgk4lpmB4maYgpTDN3jzU2uoebmnb8pNcDj7/1hRssjYnu9mcvEXOEBBLC1faU1mv2G1Z99tTuS/Z7KJ5MScYE8fOHLOn8x+3RgX1be/psylPuWdyrG/OV3Zr2qU2IWgKUkubgqziU9Zk3zP22YE3bX/+blfn/NuVvd66JjWwTaeWllxf9Mu4vClotaSGHc7cGZmMfKzEHLWYeq2NXdfKcgpOlmsKumMKlsYwBW1/MQUlMWXEKzak+3WWk3WuF/jU8b02uu0VNrXb2TkF2ekH7aePrnDpQ6d/eaQs/2MK1vR41ZmC/PQjtvjda2173/ftdGH+2XkH+TmWOmeUrX7mL3Z45FlTcKZkv8KjB60w9fDZhhwnwqYAYctEXvLdeamYq88SEK6IVEQsufSVNQXkwzPZl1EBzkmePuK6PFPA7wXmBjBBmKcA+UeMMkeB5aQ1kbZzPk0B103aEROs/SNMmedAmhPloi7cfI6S5fTmI+4nT54cNUeBwBTQ20/qVXJycqQ+mR9x4403uv05B2lQjHRgMliPgWAeAiMk3hQA9Uc6FdcffFRqVYZMgRBCiKrggpiC+2tm2rO1M61pqywbPDLXvh+WbS81OG7XPZxii1blOeG+/3ChPffeQatRO9m+G33cxs89Ya2/PWx3vrHdOg067CYjZ2QWWrdRB+yK11faB31329DZh+3zkXvs/hYr7flOa+1Aaq4t35luN34wx2p9tdxmbzpiE1YfsNZjN1i9Qcvs8a9ml5iC4+4dBZM3JtsNncfYKz/MtAHLt9iX81fbc0Mm2f39RpWYgrW2+3i6NZo63W7vP8C+WLLIxm3bYl8sX2APju5vH86fYqcK8mz10f326swh9tS0763vlkU2Kmm1NV8x2h78+csSUzDbvbU4VpwoEbRtdw6zm5c0sVobOtmQw7NtYcYGq7092hSMKDEFNZOaOVPAfIDBJybYA/vr2jtHPrVhmZNscOY4eyXtPXs67S1bnL/STTwmGBVonPOR/b+n/sfez2th+07vjxwzHCfOZFjtgpftobx7bWjhYJtfONt65naxz7Nb2YPpN9pPeaOcSeiQ0dw9eShoCjBDE9MHW+3dd7nHkc7OGGtTU3+wFjues6ZbHrKdJeagOJAOdW6/YvusxBR0W13L+m9oZPOSB9ncPf1LjFkt+3jyv2z70QVWVGImnCkYXmIK9gdMwdTASMHA2Kagc8AU7N3xs/Vt+//Zz8Nr2441I2z7ih9swYj6NrPP0zblyxpO2BWVGLiNE9vb5A/+aZvHt7NDaybbnll9bUm7h21ZhyesIDPNivNzbdcPrW1x3X9Y0qBWdmz+aDs4urvt6vyGbap/px0e0cMdCzOw/9M6drjLeyWm4Vy5YkXYFHgBTL4+AhSDMGXKFPd4UkQ/4h8x6k3BokWLKmQK+I4jgO+44w5nApgsi7Blwi3nKssUMKGWczDBGSgPE4ARxqTccEzK400BIwg+vCmobPoQ5WI/evgR5pyfycykKrGMyc2Um8emUnekMlGPsQS6HynA1DACQ9l5ghIGg3rgpW3UOfXH6AyPWmU0glEVHl2KcfCmgMBYMaEaA6FHkgohhKjO/O6mgBeWDRmZb3MWFtjQsXn2VvOT9vjrx+2N5uk2dU6O5eWf/UOO6F+/Lc/a9zlmzzffZ88022t12iTbgImplpJ2Vlwzd+BQWr71m3LYXv58iz3eep0913G9tRu+y9YlnXTmIj2rwIbM32cvlpiC2n1WWJtxm2zimgO2am+ajVqxt0Rknn0pEylEA5dts2f7T7OnB06xz2Yss/Gbdpaww1bsP2z5RUW24cgR+3zhQnth3CirOXaYvTp5lH25coFtO362pzKnsMCWH9lrrVZMsudn9bNnZvWxeouH2NCkZZaSG51H7wMhvTPrkA0+OMs6JA23yceW286cgzYudYEtPLEhIuyJjbm7bFj6dNuSe/b+pBal2/jMmdb4WDt79khDe/ZYA2ue3tFm5ZaIw9PnRBa99X3yB9idWQ/a8MIxln8mtkEhiq3IFhcvtGb5jaxubi1rkdvUhuT3s01F62xs7lDbXrTJjUDMz51u07LHWHpxaqn9TxYdt1knxpaYgnfto6Rn7eNdz1qvfR/YulMLLf90ritLOKiDOfsHl9TlElu4f6j1W1vfuix8zPosf91WH5gYeU9BZm6q/bzhCzt64uzThdbuGmVrdoyIvLxsyZpetmfffOPlZD7y8k7Ygrlt7ET62TorLMyx7etH29RBz9nk7x+3hWMaW9K6cZayc6HtWDTAbcOxczIO2a7Z39my3i/bki+ftuXdnretIz+zk8kbXI+/m1Rccr+TR3e19S0fsy3tX7R9Q9rbiTVzLW3uaMvcuOQXU5BiyR++YAfbvW1nCsuud+L48ePu/QP0+Pugl5oedx6RiTBHRDOngCf3kAaEQGWCLSkx9H6T1rJq1Sr3GUEfK/xog39pGr3wzF9ANHNccvN9cH5Sg3gKEqlBmA7KhyivW7euE+yIZ3rnKT9BShGjDjwZyAcGhWU8UtQH5WMZow7BHP9gYDKYy8BTjzAP7M/kYh47yjUyt4GnE1EWrmXr1q1lHovrI+3o/2/vvKOsrLK0/9/8MWvNzDc93T3TJmzt1m5zzooCiooJzIIKBlQEc0AUURDFCCqCEsRAEhSwkQyCgEQpEZEkVJGhqqhE5Spgf/U79MaXl3sJNrewqGev9ayq+4aTb9Xz7LPPOYguxAnrI3iXdRu0sYcU0Rbdu3cP91i7wQJk6swCZe654KCdEEKkpy1JBUEQhJqMahcFEPXcvCrCVVJF8Aq3WtqPFTZ9TpktWV4RBEPUIP0bsytt9oJim5pWaAuWlVhB4S9ec4w1BJxgvGBFoU39MTccWrY+pyzk4/fziytsfkaefbs02xavK7CissqwCDmvuNwqtmwn3DxHyND8tVk2I2O9Ld+UZ8XlFVZQWhZ+YpxFsLGKEH23fq1NXZ1h8zastcyiwvCuW8XWLba6MNdmZ6bb9A0/20+chluemAhHjTSKKkstszwvnGDMguP8KiJcuGXnd0u2llluJace/xKXX1RFtDnN+NvSeTajNM3SK1aHtQQY7xImlLct354oec7uLnnQvt+yYI/lKat6f8XWn21O5UybXznPNm3NssoqIVCwNb8q7dJAigq3FlR95vTkXT3/nG68snSJzS+cFg4t21C2Mpx+nCxfrheW51j5llIrqdhsK6vE0JKs6bauYHFVH23PD2Or0s0lmf88rIwF5VX9VAW/X1ScXUUItwsIN2YUCgs3hrMH3CorSi17/QJbu3yqZa9bED5XVvVTWWTb2EDoSwosb+V8y1r0jeUsm2Wluet3Spudiirys61gyRzLXzjDStan27bKCqsszLctJUXbQ4rKy6xk2QIrTV+0x/AhyC5EOe41hxgT3w4hxvtOWIs/Q3kIIcJLDRlGJBDCw+dE23K68R7fdZ4D5EE6hBZFQ29IDyEA4fX4ffJhQS7lQQAsW7Zsp91++J10ouTct/GMPkd6pEv60XaNG88hSIj999OVAeshOKwMQs+MCveTHVyGuShA+NCevIOAgtzHw40QONxHkPAsbUXfxMOEaDPEGfd2l/f+MokCQRAEIRWodlEgq15bUvmzdSt535oWtrRzNjewXuX9rGDbrruyyGS1wRAFnC2AKEg2m/BbN4kCQRAEIRWQKDjIbUHlIutc/JY9VNTW+pUPCIeVJVtgLJMd7EY4E2sJ2Co1PjNQU0yiQBAEQUgFJAoOciveVmJrt6y3tVvXW9G24qThOzJZbTBmB1gTsKdwpd+ySRQIgiAIqYBEgUwmk9UgkygQBEEQUgGJAplMJqtBJlEgCIIgpAISBTXQfOcVmUxW+0yiQBAEQUgFJApqgLElJFtLst0h2zGyXzwHWLEdo0wmq10mUSAIgiCkAhIFNcA4jInDoTixlf3SObGVw5b4XSaT1S6TKBAEQRBSgWoXBYS9sAMIhy9xEijg8KHooT/h0KiKCluxYoV9/vnnNnz4cMvIyNjxjKfB6aN+2NPq1avDYU7c8wORuMZhSXjao8Y7HLzECaycprq7E1DdeIf0vvrqKxs4cKDNnj17xw4mpM8BRpQnGtZDHfDs85NnaFeeo5zz5s0LHn9+Rg9zwkiD/EifU1vffPNNa9KkSSgrByq1atXKnnjiCVu3bl14nvqy1eKoUaNswIABYbtFDqOKloW82aOdU1fJd+nSpeGaG2mQF21C/TiUKr5DC21EWw0ZMiS0A20YPRyLZ+mLr7/+OpyQyym4fI63f9xIg8Ov6Othw4aFunDN8+Z32owycsgU48FPz1UYlay2mUSBIAiCkApUuygg7ddff93OPPNMa9asmTVt2tTOO+88e/rppwPphORB6F988UU77bTT7Nprr7VrrrkmPPPSSy+FZwib4fChNm3a2DvvvGNnnXWWnXrqqXbppZcGwti/f38799xzw7WLLrrIunfvvoO8IhL69etnF1xwgd1www2hDA0aNAj5Q6QTGWWGSJM+5eGd+vXrW8uWLW3RokWWmZkZytG+fftw6qrb+PHj7cknn7TJkyeHtHv27BnIPHWjTo0aNbIzzjjDXnjhhbBNIkY5IdUQf9JnVuCSSy6xe+65JxBySHZUFCAo3nvvvVCH66+/PjzHia133HGHpaWl7WjPDh06hDLfcsstod7Uv2vXrqHskPYPP/wwHOpEGrfffrtdeOGF9uCDDwbxRhobN260xx57zOrVqxfu8xxp0A9eZ4QE16+88kpr3ry5XXbZZQEIn2Qn61J+2p7+bdy4cWgT+q1bt24hXfJGgN199932/vvvB3F08803hz7nHdp/T6JDJjuYTKJAEARBSAWqVRRA8Ah5gcy9/fbblp6eHjzEeKZPPvnk4OHGkw6xP+644wK55z5kuFevXoFAQ84h9m+99VZ4plOnToH8TpgwwW688cZAFp977jmbM2eOTZkyxR5++OEgDL7//vvgsYegQ1QhnT///HOYjcB7DtmEtCfyPDNDQPjOvffeG0go5aYcEGwEDvfJE+IKAXfD833rrbcGr3ZWVlYI+aEOiBTSYYYEQQAZx0OOzZ07N5D+V155JXjzMzIybMSIEXbnnXeG8kHio6KAekPyeR4Cj7f/m2++CflCovGwIzJ4hnypM3372muvhWt48yH8/P7888+HdqJ+X375ZRAaH330USDnpM8z1Jv7pPPyyy/b1VdfHdoaLz6iCJFHmpR7wYIFQaAgSKh/Iuvdu3cQcIwByk+dGRsnnHBCKDcikJ9/+9vf7L777gsCgfKTJ88gupihkclqi0kUCIIgCKlAtYsCCPTxxx8fCC7eY7y8eIvnz58fwkHA/fffHwgoAsHfg2RCjPFA4y2HjJ900klBNHCfNCD3XBs9evSOxbmIgIsvvjgIDNImFAdPdnZ29o60IdeQc2YAEi3eRTjgtYeU4vH3MnMdEk4Yzd6IgqeeeirMEPzwww8hXzB16tTwDESY8kK6b7vttvCuCxTyYAYAYcLvUVGAgOrYsWPwxvM8ZaPvSBPBRHkJ9YGcMxtAuXmONoSEc5/yI0wQBaTpoU6IFkQceUL+abtoWBLXEVyki3B46KGHQr/Rl4gELwvtlCg8i/5FjDEDQb6eLmkxI/HMM88EAUgfHnLIIaGulMvrySwKAo8+SyTmZLKD0SQKBEEQhFSg2kWBh4scdthhIYQIIs1OOpBpiB5hNA0bNgwe4CjRg9B37tw53OMZZgogpHjCMWYB8CgT9gJB9vyYRYCI45FGkBASA8G86qqrwnUAYcbrDDH2OP2oUWZCjpiZOPHEE0P4St++fYNQgcjzzt6IAupNWE80Dzzzd911l73xxhuBOCNoINbMjECsqQNhOQgFyD8kPR4+xOwB6TATwGzJ+eefb0cccUQIt6LduE+o1V//+tcwk8L7CAXKRB7UgfY85ZRTQv1uuummUF9i+2lX0iZUiPuE90Tb7Y9//GOYRUBkMTNTt25dO+aYY0KoFdcRFpD/RKQdws8YYNaG3914FgGGSKOMiIIjjzwy9Gt07UmXLl1CfrR5ovRlsoPRJAoEQRCEVKBaRQHmXmq85XiYW7RoEcg2IUULFy4MpNe9xFHDQw0JJKSFZ4iH53fKinloECQREouRF7+zDgCSjWe7devWQUxA6h19+vQJ9xEnLK6NG+kgPvCs48nHQ33OOeeEsBfeZfErogBy76KAd1iQi4BwUdC2bdvwDOE6bnjVERMuCryepM273CMvQpVmzZoV7kdFAeE2zKwgaCD23377bUiTfBBRiALEFu9BqqkvawIg/7TLzJkzQ1nxzlM/FjM/8sgjQTwQ0kXoEmky20I+H3zwwU7tRogSIU+E8NAXtAUhTQgS1jAcddRRoa+ipN+NMiE0WI8RFVMY4o06uyj4y1/+EsZMVBQQAkVfShTIapNJFAiCIAipQLWKAggd6wPwQhPygZcbDzOkEiFAjDokEG83YUJRoocQwNtNuAlkEqKJN5qyYnsjCphhIL6dWQLIMkQfQFgJcSFOPr4gljSYYUAMsHsPXm9EDcQbcYDnn+uIGCexGOlAnPGsR0UBJB/PvVtcFFBGRAFiCZJPrD1rLRAA3I8uNMaTDzGmTVgDQJvSDvQdZWFmgfadNm1a2JnIZxa4BnHH0w+ph2wjBniP++RBW5BGu3btwgwMAowQJ8ru7cZzrBtA5NAn7CSF8EBgUBb6jPcJPSK9OHFHgNHvhC15OBeGiOGdBx54IKTrooC8JApktd0kCgRBEIRUoNpFAd5uwkvwykPknHTjica7DKGE7BHqAgnkPkQXYnz66acH8gwZ/TWiAMLLlp3sajRmzJgd+ROeA7mHjMfJJZ8JQfKFuB4KQxw+awRYWMsMBOXCM84aAe6zGJdZCUJ59kUUID7w1I8bNy6IFdqDOvoOO1FRgJAhHp+yIawwyscMDAuaCd9B/ED8WUdBOXyrT57nGvdoW9qSXYzIk/uQeuqG2GHdBjMPhDB5nwDWcCAsEB0Qc0QEYT+Uy59BmJBPIlHg6wKYFfEdiniG8tSpUydsa8oMxN6KAsQZzzIW4nnJZAeLSRQIgiAIqUC1igKIGt5hFgz/z//8TyCU/E74EGEkkEmIIh5w1g4Qr05YDL8feuihIT4f0go8fMgXI++NKOAzaUPW/+///i/MGDArgQDhGfJPZBBz8mMtwtlnnx3Cbwh3YuvMjz/+OJSZHX8gqITLeJnZnhMCjxff1xTsSRSQDu/+53/+p/3ud78LoKzE8OPdx6PuogBhwloJQoFYcIuYYGaCRdOE31BmRAGiC4LPOg7anLCkY489Nnjj2c2H/sajT9w+azKoHwKMHX8Qb7QtwgmvPoIOcUB+lIvFzNSHtmUhMGWhP/2Z3//+99ajR4+EC7gx6oCYom0RD/QpY4Odnmgz0t0bUUAfIGyoIyJG25TKDlaTKBAEQRBSgWoVBZh7oYllJ+YdTzQLcj32nfv8xCMOGWRPfzzeM2bM2HE4Gfch6k4aPV0EAgTVd7rhGr9DpH2tAO+SP2SYmQHSZ9Zgd4dskQ4ea0gpBJetRfHG4/32vCDOfCZkCDLOlpmQVQQM7/qBaoTDRImtryPwPfkJueHk4ldffTV4z5mFgJCzsw8ChnJTVtIlHeqM15+4fHZ0YlaDdiIv6kydAJ9ZCExbIhog+4QquXeeMhJGxGJl6sdWpL5rEPfJi3bkPWZMEDF+wJm3G22AAGE2BpHBbkW0me94lMi8PxA8zCpQPtqO9vB0qSPt4mVx4z1Cl3zcMBNC/8QPkZPJDiaTKBAEQRBSgWoXBZiTTD8FOFG4B58hrDwDfCcev+eIPr+n69Frnj+Inp6bzLgP+aRtKDMENSoi/D7XecbLmwzR9xy8h6BAAHCOgafBT+L1mVWZNGnSLmlx3/stUb6eT7Q9420eTSdav/gzvMf70byixmfe9YXH8TQSWbxs8XQT1Sd+HaNsLhz2lKdMVlNNokAQBEFIBQ6IKJAlNkgti4v9oC62DWWRLx53diBi9x/CbWQyWe01iQJBEAQhFZAo+I0ZoT/E5rOGgDh61jtcd9114Vqi7VJlMlntMokCQRAEIRWQKJDJZLIaZBIFgiAIQiogUSCTyWQ1yCQKBEEQhFRAokAmk8lqkEkUCIIgCKmARIFM9iuM3Y1Y/8EZFNHTmGXJjTZbsmRJ2I6YbXhlv84kCgRBEIRUoNpFAVtPsic9h4n16dPHPvnkk3BgF8TK9/z/rRhl+vbbby09PT1+a58MMsTpv5wKzInHbLvJWQQc0JXswLTaZK+//ro1a9bMMjIy4rf2yegvToRO1TkF9BtnPHAoHeN41KhR9qc//Sn0ZW032oOzK9q0aZP0bwdCgAP8OPiPhfOyX2cSBYIgCEIqUO2igIOsOJmY03AvuOCCcEJwnTp1wknAHJgFuXCD2LFnPSQPryzlSnbAGMbz3Pd97tnik/z88LD4s35WAWn7/vjRdPBoQtwh9JRrT3l7fvGycu/TTz8NJwmzxSjlgUBx6i8Hnvkz0bpG9+uP18uNa/FzABI95+Z5+Hte90TtGq0PiJ9r4M/QLvH+8ec8Py9/PD9/7qWXXrLGjRvvJJC4x3M8T/67O0vC85k+fXo4GZuDzvx5B5+9b+KHoCUyf8/LQNmpZ/v27cNJ0NzjgLXRo0eHg/e8jl5fftJm8T7k2p7qkqgPPQ3vP78WHXPReu0unXga3hf+e3wsuHE/2t/RMcp1Dp5j29ylS5eGslCu6DOky0yBH8AXzQ94W+9pPHpd48/UFpMoEARBEFKBAyIKmjdvHvbhd9LC6byvvfaaHXHEEYE0Y5AAnoVAPPLII+E0XzzKEMeocIga6XHK8ffffx9OuuWkZLzzjz76qM2aNSuQCoy0ISucyPvcc88Fss7JxrxH3XmOfDhVmPMBuAfhzEjiyaYO5EsoCaTolltuCaT/p59+2kGmdycKvK7MSnDCM6Lp5ZdfDicMO9HjpGAONPNtSf1aenp6SC96bfHixeG037hRN+6tWbMmpEX97rjjjuDp5j3qgdGOeN05MO3uu+8ObcjvnIDsz3iZOSX5scceC3WjTk4Iuc+znMpM25AvJxZTN04dpgxOFuOigOvr1q0Lz9GWDzzwgE2cODHUiefjRnnJ5/HHH7c///nPwQtNOzvxhERy5gPjDi8/s1TULxmp9LJTRurEO506dQp147RnFwXUn5O2ycfHAGMIsUB5EJOcNk3+9BFtMGTIkHAAnZctbqTD2GXck74bz+JpZ8x62fnJKc4tW7a0O++8M8y6caI3afAdoU/nz58f+t2NNly4cGFoXwxBA1HnJ/lyAjWnaMfL5vWdNm2aPfnkk+H7yMnWlJPvEvlxQjhlYTYMgU97I6I4Zdu/B5SJ/CkH15YtW2YZVd8r2pbzOBiP3bp1C2MhOh75G0FdH3zwwVBXThRftWpV0r8FB7NJFAiCIAipwAEVBW6QBQgJ+/Hfc8894TPECnLwxz/+MZBnSNlFF11kJ5xwgo0dO3YX0oJBRgkfOf3000OYAkQTUlK3bt3w3ogRI3aQG0gusxMQPEJC+HniiSdaz549A9mCkCJS/uM//iOEiJx11lkJw0RID2LfqlUrO/XUU61Dhw72wQcfBNJ06aWX2rhx48IzuxMFEH1EEYeW3XDDDaHMDRs2tNNOO80+/vjjQJ4gfBAmSBkG0XzqqafspptuCsSMPEi3Xbt2gaQnCkvi4LMWLVoENG3aNIglwj3+/ve/h3R+/PHHkA7vNmnSJAiizp07B/FA/ckfocMzEMEnnnginKNAfyKcmPmhncePHx/6gnpdfPHFoT6XXXZZKNvDDz8ciPsVV1yxQxBFRQGfIZH0Rf369UN/0D+807Zt24RkGmJIWx5++OH2b//2b6FfOeMBwk5fU27GEeXFm33ssceGtk52EBwklLIcd9xxIR3GHvWjDQhzYqzwDISW+iOMaA/G3hlnnBHGHnnQrsyIIawIleNZv3bllVcGERE36sIM1ZlnnhnCk9xoS4gwbUy7UT6+K0cffXQYe9TtpJNOsquuuiqQ/Pz8/DBeyQdx44ZIoa0Yoxjjk/EA0ed7Q33p73gbMwbJnzFJfbp37x7GEOXs27dv6G9EAf3MWCJNxhfPMwYYE5B8TuymDefMmROECOOP5yH61APQdohHBIr/bSBP0kLEc8DfJZdcEv5eIPaTibuD1SQKBEEQhFTgNyEKMDyHkMPzzz8/EAw8rsccc0wg5/zThxxA4vDEQxYhPXHjPTyxderUCWn5e3hoIeQQD8gN3lPIEmTVPZh4WCF/kA089LwLAYdADR06dKeQi6hxHTKIN9nFCsBTDGnD4w/R250oIAQFoomn1L3+EEbIPYSJtJipgGgNHDgwlAOPMcSdNkIwkAckFa8+xCvqZXaj/RAr9erVC3Xzsk6ePDkIADzotCuzFXjoycPJIQQNkfP++++HtEeOHBkIId5wLzPvUsfbb7891AthB4lFzCEmvD8gvZBjiDLPREUB/QHZI2wLceb5Q7whwHihfcYnavQDJBpiHA0fou8QdXin3fA6IzpcgMaN+iBAaFsn1JQdso3wSCYKEJq///3vA6mmjBD53r1723/913+F+vAMGDNmTBBPkOxEhhffCbKPT/IiDUQV7YwnHgFC33Gf8tCujRo1CuMGwr23ooA+or8Zm4jNRN53ZokQHowvSDp5co3ZHwQFbY4ooP0RCd7+pEkZ+G7RrnFRwMzCueeeG9rExwdjnLGGICYdxhzjgxkW/w4yVhDQjJ3attBbokAQBEFIBX4zogAC9fbbb4c1BniDBwwYEEggZMONchEGggcXchM3FwV4FN2jjkH4IeecEgwRgYRDRCBzbpARSAceesgIRjgPBIowpGQGaYHwQmogXxAmwi8gy5dffnmYOYDYJRMFhE3gdYX8R8uDQTIh/qRF2g899FAgnAgoiBIEEQIN4aKOzIQgfAizSGSIAogUYR8870bbkz+hMQgmCBikGGFGXQDjgXfxgkMGSQMhxOxC1CC6CCtmLyD8iDzIYnS3GdqDekEyaa+oKCAkBDIOaYUIe/600/HHHx9mDiCuiYx+Pfnkk0PdnOwTesSsRNyYmWF8JRIYtEeDBg12GaOMXYTZ7kTBYYcdFq5jCBXaB893//79d6RDPa+99towNhIZ4wOhiZgizIsxRvgU7co4ox/pH9qffN0QkszsIAwow96KAsY8gjSRQHLjO8k4oy2HDRsW+om+Q6DwvaQd6WfERfS7yXO0I8KBMRAXBQgd7kdnthDBpMPfA54hLIx+ZObHx0NGRkZwEHCdNqpNJlEgCIIgpAK/GVEAgYQo47GGCBA6hNcxSgAhRxB1PNQQ+Li5KEBYRD3DpEfIAWQOIuPCgRmBqBGKgCfdw4T2RhRApCBxkL/33nsvhD0QZgKBI2xpT6IA7zOCBRIEGYoahI1n8ArTJ4S+QJAgXXiDqRPedq4xk4BgaN26dfDqJzLIJOlBtmhvN8gr5AzRQfmYifnf//3fQHghtI4jjzwyhIS4JxsB4gTYDdJKvSHKEEa80NQ9TuTx0kOwiTGPigLKfuihh4bQrWjegGvUOVr2qCUSBZBvwofixgwCdUyUFqKL8UHYUtQg4BBjQnQSiQLEG2FJHhbkswukhWBzg9TSD4TCJDLKjghCxL7zzjshPfqW8cssB+2Ehx2vfZTIUxdm1iD5iDvGMSQ+Kgog44zRqChgzEdFSyIjH74vjBNCjBBoCFJmQuhDxieigO91dEwgIAkRQgDyPUwkChi/POfGd5dn+BvAWGOsMANDvj4WaGfCxBhDycb7wWoSBYIgCEIq8JsQBRAOjy/Gs4mnFoLNP348lG6Qa8IliN1nG9O4uShAWOC9d3MPJaQKwoink/hpiIkbZWB2ARKJNxpzUQCBTGYIFcJWEAEQNYg95Uck4MXcG1GA1xovPJ5QN8qDxx8PPu9ikE7ygEQzS0C+vM/veHppU0hrtM2ihihAfLBgOxp+RbtBnFnQjbiASEKIIWd4egFEljAsSBr14VnS4lqUmOLhRhQQ5gO5RhQQlhQl35BlSB+EkDJFRQHpsX6AmSLGoOePZ5g+JVTEF6DGDUGCKPDwFgzCS9vGveD9+vWzQw45ZBexglFWxhDe+Kj5mo3diQJmsaKiAHKPKGARuhttSTx+MlGA0Ye0C7MB9AnjgD7GaAtEGWlE2wLBwDhHFDD+EAX8TvthtAEhRqQZFQWMS2Y5dmeMEdIH9AH9y6wRwp2y0I+IArz3vqMWtidRwHhmFiEuCghBQxRwne8RgpXvVnQ80rYIkuhsSW0wiQJBEAQhFThgogAyAKEBXMNLD1HHI0r+EGI8076IFkDW8IxD/CAEcdsbUQARQVhceOGFNmjQoJA/aZMn7+IlJ14eg0DhVSXPZFsgIjIgdxBFJ0OQZrzWexM+BLEk5AYxwoyEx3OTH8IIAgfZxWgL2o7QJ8J3INGUmzzwKpMGHt9E5cQgbqTHbIIv6gV4kgk5YcaCfoeQsYgZ8ulkmnaDqENQIWF47Amx4bMTU+qJKEHY4alGHBE+hIBATHh+kGZixnmWdKOigHuQaOpOf3v+vA/JRTQkinnHmD3CixzdAYl1I8Tex0UQ5JX98hO1FUIBwk2bRnd2omyQ7GThQ/tTFFBHj/eHECM6PVSLMUeb0YaQYm/X9PT0MIPEmKWvEbe8D5nmPv3D2Ea0xUUBZd+dkTdjjpkBJ+G0DbNOjGPGZipEASKE8Y0w4LqPB/oTAeq7UtUmkygQBEEQUoEDIgrwSkO48PZD5CDFLH4lHAFyAJmCOEE68fRCaiAECAWIECQzETFMJgqcjEDmIBOQJ8gIRJQy8Cxed8gK4Qh4mjG88DxHWck7SnbcIIDsTENZWWjMOxB/CLZ73HcnCkiT+kESyZv7lAcSSd0JrfBdcmgbQnbwcEPqqC/mMx8Qe8RVMiMdPM60D4tBCbuA7EEw2SGGNiBNPPvUh3ULPEN58FLT9rQD9YH0I6CYpcBrzDMQTtIhPdrQRQH5IcBIi35EDFBedqRhrMV3H8Ibz3sIK+LFSRtSiZCjfRMReYwxiyigzSgn/U6oFWsUyJO8SY/2qlOnThB7iYz6QZIJV4JYkz+hM/yOKIjOFBDSEhUFLKDeH6IAoz0gx+ycxFacvv6BPoLMI2poK9qV/kBI0ScQd55FTLIugYXj9DNjHbFHH+2rKMA7j+DgO0Tb0o7MpCFYmPFhHPs5BfsaPrQ7UUC7so6I7xIOA9a5kDdjFNHNjE+iRfUHs0kUCIIgCKlAtYsCCDGkDW8/xBAvLp5LQjWii4ohPpAYSA0x+hAZ1gqwNWGyrSQhQhBzJ9tueBvZoQcPOd5nBAVkEc866xPIH+87RITr7o2krBAriCCeWidSUSMtTmjGO05ZERB48xEBkGpivN1DCzGCtNO+rBOAoPle6xByiDF1JB2INOFA7uXFaBNizBEqzGK4QR4h5wgRFzSJjHbDi8yzkDdIPkSbNqCckDQMz6tvAUu9aXvKA+n0nV4gvIRVQcxoO56lLyGvtD33EQV4qikX+dKO5AdJph6+vagvmvbYd0g1/UyeXkbaBXK4u1AR8oRIkid50Ea0PcSRkDOuUxcOOKPt6YdERpkYJ5BVdilifCCS+Ix3mjq6cKXfGTOkxdhjTHn4lj+DEPPzNzBmPQi9SbTFbdR8QTlCIyoqMPKA/NMuiAPaiD6grT1Ui/6mH6k7IouxiYhA4CGeMYg930efjUpm1IVZIcQMeSI+aE+EPGVjbCKyEMjU2Y3xQpkQwZSZ7yHfdUSKzwJwL7qDEOMHIcN3iHble8h4wXFA//HTt8uNrpeoLSZRIAiCIKQC1S4KIFwQO4gL8JNRE3l/uQYxwgtKvL2HyyQzD5HAcxhNj+uQFsiFE2zukz9eR9LGA01Z/L4bz5Gnn7SayKIHV+G19cOsyNO9+ZSLevpWjVyP1pufzGLgJYXM4m1NVB5/LxpL7m3qITPJzNcUQArxzFJnPLYIE/dCu1FOnicsBCDY4s9QZuoa7Z9oG7soYCaI9qGtEUUQOdKKip34GOAaMzqQVrZGJQQs0RiJG8+QFnl7aBiAdFJX0qNeydYluPlYok68w08+0y5eR/Kijzwf7kf7jJ8eHhed2fIy+tiIm5eZNvMF8snONCCUiPahboiNaD6kQVkZS9wn1Igykq/3pdcn3reJzL8zhHDRJsyeRPuFdPmORPvJvz8gOu69zfg90Tvx8Uw5EbyIZMaQL27e3Xg/WE2iQBAEQUgFql0UyA6cRUVBdcRhe/gQoiDRLj+yXQ2Si7CAcOMpJ2yGLWtrI/mVJTaJAkEQBCEVkCioRYa3mTh2DodKtOvO/jY85IQ6ETpV2+K+f63hQWe2iFAyTgcmjCZ6xoNMJlEgCIIgpAISBbXIIJzMEMTDq1JlHl5EKIg83XtnHobE+g7CyfYmrEdWu0yiQBAEQUgFJApkMpmsBplEgSAIgpAKSBTIZDJZDTKJAkEQBCEVqHZRsD08YptVViqcZH+Z71YT3fVmX8N1eJ4dXgj52dd3ZbJUWXxsyyQKBEEQhNSg2kUBgmD8pEpL+2HXw8dqoxHjz9agbLUYBwdf7WnXHsgSz7FbDc+yjSPborL9J/2YyFhbwDakbNPpawt4d/LkyWEb0D1t11mdRrkYi9EtTH8LRhuxn370pGTZv270sW/ly9jkLAO2XPUTsWUSBYIgCEJqUO2ioLBwmzW6vtg6vJz8EKraZBzi1LFjx3DKMycYc1ouh13xmZN+oyczJzLIKYdDcfgXQoCFvZz4/Oyzzybc2x6DaLMtKYeB0dcYBJcdb9iZaHcHhFW3cTAYO/AgYH5LpJC9/TkAjfMZZPvPGHvTpk0Lp2QjuBAEfBc+//zzalkcXxNMokAQBEFIBQ6IKGh4XbE927HUcnK32ow5FTZxapmlLaiwwuKd/+lv2bLN1myosKnfFdvEmYU2Z2GxbcrfeYZh69Ztlru5wuYs3mwT5uXYtAW5tmJ9iVVu+YVAkk5mfpnNXLrJJizYYFMWZdqS9QVWXrndI15ZRTY2FZba2tyi8LtbSUWFrc3fbHkl20lyWWWlpVeR7m9WrrSJK1bYnHVrbWNR4U5ktXxL1TMFm2zqup9t0tollpa92nLKdj2EzC0jI8MGDRoUDqlq1qxZOH2W03z5PHjw4HA6LLsFcQAVRAnwu2/xiSjgFFlOKGYrS0TBAw88EE7fTSQKuM/hT5y8y3vMMHAoFAdSIUjYG58ycWAZJ0ozCwEBjhrbmSJWpkyZEsrjJMXrSHp4eHmPQ794lm01KSshSsxSUFa8v8lmACCA1P3tt98OJ/WSj5fFQ52YYaGMzHCQXrQMiYyDvhAXPMeBa5wyTFv4CcQY7zNbEj3HgWvUh3ahDvzOYWCcmsyJw/RHspOkfQcmnp80aVIQEdQ/SnBpA65xIBh1oWzRGQjKy2FzlMlnlsgTcUfZGAuIOvqQXYuibUA78S71JG1IdvyZuFFHxg5l9jaKHvhGfhxmRzu4UR/alnbwAwRJg3rQzxzIB9lnrMRFJ7MCvEe9aCPGL0KX9ygDIpnvgrcZaTIbRn0Yg4wvbwuM/MmH/Ch/WlpaKKu/z3O0ifcJZeNz/OA3yoQoJQ2+D/ED9MiHMcnY5BkOL6QcqRYvEgWCIAhCKnBARMFl1xbZ/Y8WW9/+pXbXwwXWqGmuXdcix/oPK7KifwqDisptlrao1J7tmmU3PrrGrn90pd3ebpW9MzDL1mRuPwl2S5UgWJNZZu9+sc6ub7/Qrnpmvl3T/nt7pOdim7EoL9yv3LLVlq0rtFeHL7Wb35pp17853W7qNt3afDzHpi7ZGJ4pKC23Ed+n2xvj5ltByfa0oRdLMnPs9clzbMKyjCAgZq9ZZ0+OnWBNBg22xp8NstuGD7G3Zk+3jPztpLK4otxmrE+3p6d/aTeO6WM3jO1lLSZ/ZL0WT7W1Rb8Qz6hBPhz9+/cPh4t9+eWXO65BKPHo45XGYwr4fezYsYEc7asogMAwq3D00Udb/fr1rU2bNsELC1lEFHTu3Nl69OhhrVq1Cifp3nvvvYF4uTCAXA0ZMsQeeuihIGLuvPNOe+KJJwK58rMP+vbta8OHDw/1eOGFF8JZBYgcSB9E7tVXXw3lZTYDQhYniRjXunbtanXr1rUjjjgipPH4448HocC9iRMnhnreeuutdvPNN9tdd91lw4YNS3gKtBuC5+OPP7bRo0eH9uG9a665JuQDUcZoT/KZPn36jvcgi9SPGQvILvcQbv/93/9t1113nbVt2za0YdwoB+nSnrfffnsoK+1FvSGQ3KcukO527drZbbfdFgjwPffcY3369NkhNDgB+oMPPgjtyUwO/U/7UxdIKddJkz5DRPHdJW3INjNRr732mjVv3jz013333Wc9e/YM7ZionbiGQOHANMZa06ZNw0/GBWlBeBln1Aki7MbfDIg7fU+dESiffPJJELwIJ/oPIUq5aT8/rZiTiSdMmBDepVzUgfrTv5DuuCiAvFNvxq2PP34fMWLEDuKP8Hr66afDfcrfokWLcIAe75JnRpW4Y6aMMUOb89wrr7wS2tJPHKf8r7/+ehj/3Kf93nnnndBujBHy4bvErJznwzPUGfGQqG33l0kUCIIgCKnAAREFlzQqtAuu2GztXym2ydPLbfyUMmv5ZK79ve4GGzOlJHj/V6+vsJsfWWdX37/GRk7ZXCUQSuz9odlW/75l1rHX+iAacjdX2puD1topLebZqwNX2Tfzc+3j8evsmg7zqvCdpW8ssY15pfbiZ4vt/HaT7ZMpGbZgVZ5NWrjBWvadabe8941lFpRa1uYSe2nUPLv63dFVn7eTX/6lT12xxhr1/sLe+zbNVucX2NNjJ9nlHw2wL6vI7Zy1a+2tWdOt4aC+9sbsqVZRRRS+27jamo8bYHeO+9S+yvjRZmdm2Bs/jLdGY9+2bgsnWEnldsGRzAYMGBBEwT/+8Y/wGYICuSasCNKHJxnCAynkufHjxwdytS+igLUKkMRTTjnFmjRpEsgQpAySevnllweS/N577wUPPEQM4QCpgiRBhD777DO78sorrUuXLkFIQGghRoQeQeAoM2WhzFwnLYTBSSedFIgh1yCulIEZgOuvvz7MJsRJFGMQkQRpO/bYY619+/aByLn3+IILLgjihnIiLCDsxx13XBBLUY9v1B599NEgMmgb2s7bok6dOoHkUgaI6DHHHBPydqONIbbM4uAJpq0I+Tr00EMDsezWrVtow7jxHtf/+te/BlKKRxuBhxihTUmLkC/aAOLLIW/U5Y033ght8+6774a60K88Q5/TDrRp69at7ayzzrIHH3wwiBKeRZxdeOGFoS0QcXyHuca7kGZIPWPshhtuCKFpnDgdN0QKpLtBgwbWq1ev4JGnz3kH4cL4grBDghEqbogxyoHoQFTQL5BlxgFkn8+0KSc0Mz7oc0Qt4wiBxTiHlDP2aR/6BXERFQX0Df3kQo4ZFUC+tA0zAwgD8qV96WNmwhg39erVsy+++CK0CwIVAdyvX7/QJgi6Sy65JLQ7sx2AMpIm92h/3iUNBC2kn7KTBmOaupEP984+++wgIOn7VJlEgSAIgpAKHBBRcHGVKGhwXaFtytk+K4AIWLK8ws5vvNHub7fJyiu22dhpRXZUvRU2eXaxwRdBbkGlvfHJRju3+SJbn11uS1aVWL02P9pD3ZZbafn2tErKt9iIGRvt0mdm21dzMm1VVrF1rBIF3UevCLMCYENeiXUds8jqdh5rP67JDaKgM6Kge5Uo2BwRBelVoqDPdlGwKCvb7h3+lTUbOtxWVBGj8ioRsL6wwD78Ya71WzDXCspKre+PM63hsJ42ec0y2/pPkruxpMDazv3cmk3pZcs3Z4ZrySwuCiAfCAC8lYSH+OwB5BKyDKGCBO2LKHBPMPlAsCBzkH3Sh/RA2rnPc1yH8CIWID6EruANRaAQTuJEnrECqcJLDNElf0g7HmG8qhAk0oVsjxkzJhBPruO5P/7444PYSUTkyR/i1rBhw+At5x3yJP+LL744hLB4GciXE4Ah6clOT37sscfssMMOC+TTDaLJO+eee274fU+igLTJE+JI+BB9RTkThYxAQPGUH3XUUSEMhXoD2hLPOwIHwn3iiScGMeD9S78hpBBfzBbQr/wOOfa1FdSBmQdEAPe5Rp9A3HkWjzYCBBIOofXyIQToU0h+ovUqtCOEm7bEE055qTP17N27dwjBclGAaHBjHCFGGId4/3m3UaNGQYj5jAftSNqIFIgzM0cQeMi0zzLxt4d0mC2gXlFRQHsiKBFFvvCYa4wj6slMEW3A74wRwsAYV3yPeG/cuHGh/i6q6Qfy87GIl5+2R8gxvpiB8Vks2o80GIsIZPJBlBHm5GOT7yJiy9stVSZRIAiCIKQCB0QUNGxcZE+/sHOcek7eFnvg2Ry7rOnGEEL03oA8+9N5P1vvwbk2cGSeDfwq1z75cpM98eZqO6bxD/bd4iKbu2izndB0nn067heyDVFYk11FFCattbnL8qvEwpYQPjR9cbaNSltvg75dae+NX2pNe0yzCzuPse9X5exZFMxIs8wq0tL121lWv98n9tjYsdY37Tv7x9JFlrZhXRAEOaVF1mnWWDt9wGv2zvdf28Cls23gslnWf+kMaz6ltzUa/5bNyNp9m8ZFAXHjhG4QogI5JnQEQM7w5EK4IGD7Igow3iEfPLgeFoQouPTSS4P3N+pBxoOLRxSvKyQLsog3GM+3lwcydfrpp1uHDh0CASR/iDZpukGq8X47gcWI9YYQ+4xHIvvoo48CEYvuPkMYCnnE1zp06tQpkHu8uP5s1BAFtFucwCMA/vCHPwTRs7eiAKKJKMC7n8wgpIgBZlvwhtO2tCezPZB7POEQYgSUk2KM79+oUaPsvPPOCx5o2sw99V4v2pl+J8TL3+UnY4M+woNOCBIzNOThfQWYYaGvk81uEF7FzA9ecIg/ZYacU17abm9FAbMEiIDoblY++4NgYXwwvp9//vkdYoc8CDFijEG+o6KA9iRtxg1loFykR33OOeec4NVH1JAe3xl+MjZpS2ZkPLQMIUb9mG2hvUiHfvLwI0QH4wjCH203ZiSYtWJ9AfkQZsasBeMOUUE+CJ1Un+AtUSAIgiCkAgdEFFzepMg6dNmZ0OXmb7XHOuXaxTduCAuO3/ow1/7facvs9sfXWou2q63FM1Vot9LuaJdurbtk2JKVJTZzYYEde8tc+2JK9o50+FdcXrnVsvLLbHNJZcCYtI32aL/5dl+vufbgh3Ot/dAf7MlB39nFr4zdSRRc1X2UbXRRUPVPfcry1XZF76FBFOD5T8/Ns+6z51iLEcPsxqED7erPPrZ7Rn9u49KX2vqiAnt+xig7os/zdsvo3tZiQj9rMelDa/F1H2v29fv2Qtow+ylv3Y5yJrK4KIAM8hkySuw0RBsQGgGxgtA4OdwfosAXGkfJNuQN4gNxh/DgQYXcQ+a8PACvNWEnkGXyh6hlZGTsSAdRAyGH6DlhwlN98sknh5CffREFpAPBj4sCPLmIk2Qx3bxDyFTcIIX//u//HtrORQHt4Mb3gRj7fRUF7snGQw3RhUhDcPlJezAjg5BihiZaf8oA6T3//PMDWfVxQKiXG33LZ8ive6XJi/ZiZofQKMjtIYccEgRFtK/oOwgu4V+JDHLMGKQPKau/z1oShFOi8CH3wEPmXRQwRhljUWPmhNkBxhVpMWvB2CakB7LOT08bcRcXBXz23bYA4VS0IXX2HYoQr4RTMcPGuKTPmamCzNOX5MuzXj/EC2UgxIp7rCVArNK28XZjbQjfA/IhBIqQIwQfdUVoINQRcvRhqkyiQBAEQUgFDogoaHBtod39EGErv1zPztlizR7Otmvu2mjFJVut95B8O7r+CvtpRZnl5FcGZOZU2PxlxTZpToFtLt5i85ZsthNu/856DP+FbBOKtGxdkXUdnm7Tf8qxH1cV2LWvzLBbu86ytPRcyy8ut9yiMus9ZZld2Hl0EAXZhVWiYPQ8a/jOSFuTt93ryi5EoxYtt/O79w+iYEMV6Zm6cpUtzs62vCoStiwn2z79Mc2uGNLXmo/+zH7Oy7aX54y3y4b3sO8yV4WZA3YdInzou+wMm5W53ArKdyaxcYuLAkgHYRQQGsJBIK2A0AVCbiDYEMF9FQW8Tz4QXfcyuyjA8xoNfYiKAkgsoSkQN3738hDGM3ny5FBeyBD5e5ndXBRAqPZFFODp5T1CNPw9SCrkLLqomJ/UGdECsUsmCvC+x/MijAryDLGFeP7tb38L19xoD8JRoqKAeiNACFlJZuQDOSc0iH5ioStkGYGAZ5v1GJBKwlDwlLvx7NChQ4MowMPtooBwMTf6ls8QV76v/p6LAmYK+J32YKG49xX5EEdPmaK7B7n5mgm88fzOWEEEEDYGwfZdmygPC2+9nQkrYpEwRNxFAYSbGZaoRUUB5WVWgvaAlDMzwaJhxKWLwKgoIA/GFnkzZphVoO6ERxEyBNFnLLK2gPGCqGBM8i5hVoT2IFSZqeG7498l6sOYon6MT2ZAGHPMpJCHtx3tRluSLu8x5n2nLf5e8v1ljLCGgedTZRIFgiAIQipwQETBxVdttnrXFdjstArjZOOS0q02fmqpnXrFeuv4Tp5xwNmUOcX2l8tW2AdDcsN9thjNWFdmz/VcYw+9sTKIguVrS+yapxfajc8vtIwN27ch3ZBbZq9/vsLOfHiajfku06YszLITHx5vb/5jafD2l1ZssVnLs+2OXtPski7bw4fYcaj75B/tzC5DbdTClWGnIbYi7Thhhp381odVomCezVi9xm4Z8oU9M2FiCCXagkcyL8cenvil3fTlp5aRn2MDFs+1+l+8a58umWNFFWVVwmKLLchZY0/PHWIv/zDSNpXturAzanFRAPkgtpyFlxAdCDdEExKDl9MXTu6rKIDoQMJYpAo5hCj6lqS7EwWQZkIu8IziDYVAu1cb0ki5GDv7UxQQksGiaMi3kyGI9BlnnBHIHfkTngJ5ZpGnL7JNZIR7HH744aG8lB1vL+SREBy8vH4NIg1xhexxjTLTNlFRAGHGw493nDAv370oaogTvNoQVspO2ggZPOIICtqemQa80rQ75SY/0qNvGAv0568RBbQH9UTE4Y33rTIhs4QTEVoDyY4b9xlPzEaRBu/Q74QBMQ5pc4QOhJ+xAAmn71g/Qr4Q+70VBbQJ4wSyDuFmvECyqYeHeEVFAYuemTWi7NSfZxCzlBexhyjgedYsIOo83Ik0IfwIO/Lhu0K+1I+xQ/uRBjMK5EG/sEaG2QY/4I/vIs8QwoVgoR0IC0PAcI9nKBN9zXNRkbe/TaJAEARBSAWqXxQUbbOGTQqteetCe+alQnu3T5G90WOzXXd3tl3WbKPNX7R9r/nMTZXWptMGu+iOdHu9X5b1GJxlT7291urdv8R6D8+sIvhVpKuo0j4ctcHOf3Ceteq2xN4dvsqe7bfM6j8zyx75YKFl5pXZ9+l51rDjVLu6yzTrPXG59Zy4zLqMXGiPDJhjTd6dZN+vzrGKLVvt6yVrrcHbI+yaD0Zat8lp9srE2dZ88Ghr1Heo9ZiZZquq/vF3+Hqy1ev3kbWbNMF6fDfLnp0y1q75op+9Onty2I50Uc4GazNlqDUe/YG9mjbWui/82lp9+6ldO+FtG7hippVv3XUxbdSIWyYMwUNSIBoQbcIWIOKQFOBeVcIhIJHshAMRd1GAxxaymkwU0L/MEkB0IW4QLkJJIP+JRAEx/IgCCBQLhSGivrMQ6UAWKY+TSPLHKx8VBZAn4tjjogCiTXhNMlGAZ5f8AOkSGsJ77tnFW02ICu0DYaQe0Rj2qFEmRAhCC9KIR5h6xMOAmAkhdhxyB6klZhwPNkLEFzHThoSZ4M2HHNOGceMZ6saaAfqHkBgPl6G8kHLaiHuUHbFDmyLoIPOQXNrKF5ZD5t3oWz4jZsgHg0zTzrzLQmTIOWODfiXUiPyfe+650HaEniVaDItooS6kQXtTf+rJOIEQIxo8dAniTBgSY4DP5EMbuyhgNicaYoSRNtcZV3jxEWqMH9KmvWlrBAjjjRAtSD6CCCFF3sxEUGe88Sxs51naDUKPSEYAUAbGLHWnjwkvYtEzohuhxzUEDM9RP/qE7wJ5I3IQc7xDPlyjDvxk/JIn9+k7yoKgRJx5PghFFignW+y+P0yiQBAEQUgFql0UlJVts/f7ldnEbyqs/9BSe/CZArv3iTx7+PlcGzulJOwOhHHg2LKVZdahe6a1fHGNPdBptbXustp6Dcuy/MLt5BrClJ1fbn1GrbP73lpsLd9aaPd1W2idBy+3Ras5VMwst6jcBk9fHdYTtPnwO2s3eL59NnNl2HXoo+k/25rc7eEzm4pKbdDcpdZy0CRrOXiivTh2pn2xYKl99sNim5axJswM/IR3dto0u2/kCLt/1HBrNXa4dZ07zZbnbdq+lqGKjM7LWm0dZo+0+6b0t/unfmoPzxhog1bMCqFEezIILaQOb6Yb5IIwBkgT3mNAHDUzB5A6SDhEHdIEoeF5Yr+Jj0605aQbxI24eTzrkE88rpAfYtij8dAIDQiPb0kK8cRrD3GFDFMePLC8x7jBKAvPQOrcEDCQR0ibiwLCaSC2pJ1o9yGMPAnZwONOnogEnsVTy3abEFcAuUdAUfZEoUMYJBDyhwcdMkr5iYGnzaOiBE8w3mhIH+kixPAgQz79OcrFc4gS6k+4T9x8RgEiTBlpK/Kk/yC73Ke8kH6ECuKA54hLx6PuxNL35qfcbvQt4wJy721HWrQzIgnSijhi1gGR43lTH2YTkglGykQfIQ4RQv4e7c8MAfUGjFGu0X60K2OJtRmIK4Qpfz8I/Yqe94CRBs8yrvDkUzYEj/chM2B8RjhQX/qbWSbeo57UmTFLyBGChHJSFtqY0CYvG0SdcjsYw75jFnWH3JOXj2FIf3QcEh6HWIg+Qxq8SxqA/Og3byN++jkNycbg/jCJAkEQBCEVqHZRwP/KikpIP7uzVJH6nCpytXGL5W/eGrz/Oz+7zUrLttrGTRW2NrMinGbMO/FnKiq3Ws7mqmeyS8PsANuS+lN+f9PmMlufW2J5VSIB4UEoEQeb+dahPEfY0KaiEltfUGSbS7c/x9oCBIE/U1pFGrKKimxtQYFlFReFz9ESkV5RRbltLC6wdUV5lltWbBVbE3uu4wah8RCW+HU8uBA94NuIukH+eM/JCr/7590Z70EkPU8PxYm+59fj+UF2IasQSMhr9H6i/D2v6LXQN/9Me3dl9TpByP1ZQDuQP+XwNtldOpBXvNk8R8gHIgoCG59ZCP1cJbhImzAQL2N88SjPRdswkfkznh/95yFI0WfID8LJM34oXfQ+6ceveb/Hr0XbmZ98nyGqXt94PeLm/eJlplyIwWiZaQ8/tRjxR9+Qt48fH8vxto2OcdZUIIDw4ON9p5y0A2LAZzNIN/qdID331OP197pGn/H2pO8oP+WLjz0+877XL9GOQeTNu8nSiPebt208nf1tEgWCIAhCKlDtokAmO1AGASXcQ/bbMA9FY7YBDzszCPxEvBFexVkGUbEp224SBYIgCEIqIFEgqzVGSBWkU/bbMBZ5E7JGKBDhN/xEEBAqR1x+NPxM9otJFAiCIAipgESBrNYYoR7JdiaSVb8RZsPaiPT09LBmgPUQrAcgbIvQnVSH4dRUkygQBEEQUgGJAplMJqtBJlEgCIIgpAISBTKZTFaDTKJAEARBSAUkCmQymawGmUSBIAiCkApIFMhkMlkNMokCQRAEIRWQKJDJZLIaZBIFgiAIQipwQEQBB/xwGiinwXbs2DGcFMue5ewOg3EQESfsTp48ORwKxCFGL730UjgRNy0tTbuSyGSyWmsSBYIgCEIqUO2igBNJv/nmG2vcuHE4tKhLly7Wtm3bcKjUu+++GwQDJ6V+9tlnduONNwbBwDMvvvhi+HzzzTfbokWL4snKZDJZrTCJAkEQBCEVqFZR4PuS33PPPdakSZPg9c/MzLTFixdbp06d7Oyzz7YFCxZYUVFRONTo6KOPth49elhGRoatXbvWhg4dauedd14QDzKZTFYbTaJAEARBSAWqXRSsXr3aTjrpJPvwww93hAExe8ChRWeccYb16tUriIKePXvakUceGQSDv4s4uO2226xNmzbRZGUymazWmESBIAiCkApUqyjYunWrLVy40A4//HCbOnXqjusQ/g0bNtiVV15p7du3D6Lg/ffftxNOOMEKCgp2PMdsQatWraxly5Y7rslkMlltMokCQRAEIRU4IKLgsMMOC+sKooYoaNiwoT377LM7wodOPfXUsL7Abd26dda6dWuJAplMVmtNokAQBEFIBapVFHj40HHHHRfWCrh5+BBhRX369NlJFJSUlOx4TqJAJpPVdpMoEARBEFKBahcFmzdvtrvuusvq1q0bZguysrLC7MGjjz5qZ555pi1ZsmSvRAFpsUi5a9euYR1CeXl5JCeZTCY7OE2iQBAEQUgFqlUUYMwKzJgxw5o2bRrChW644Qa79tprw25EgwcPDuSekKGBAwfaVVddtZMo2Lhxo3Xo0MHatWsXRMHSpUutQYMGdsstt+z0nEwmkx2sJlEgCIIgpALVLgog86RPuBBbjLIL0aBBg2zWrFlhu1IM4cCswJw5c8LvbryHEGA2gXTy8/Nt5MiRNmHChHDgmUwmkx3sJlEgCIIgpALVLgrcIPUcVIaHn/x+zSnFngaQyWSy2mASBYIgCEIqcMBEgUwmk8n23SQKBEEQhFRAokAmk8lqkEkUCIIgCKmARIFMJpPVIJMoEARBEFIBiQKZTCarQSZRIAiCIKQCEgUymUxWg0yiQBAEQUgFJApkMpmsBplEgSAIgpAKSBTIZDJZDTKJAkEQBCEVkCiQyWSyGmQSBYIgCEIqIFEgk8lkNcgkCgRBEIRUQKJAJpPJapBJFAiCIAipQFJRkJ6ebtu2bYv/P5LJZDLZATL+JmdkZOzy91oQBEEQ/lUkFQVr1661ioqK+P8kmUwmkx0g428yf5vjf68FQRAE4V9FUlGQmZlpJSUl8f9JMplMJjtAVlxcbFlZWbv8vRYEQRCEfxVJRUFpaamtXLlSIUQymUz2GzD+FvM3Of63WhAEQRD2B5KKApCbm2vZ2dnx/00ymUwmq2bjbzF/k+N/pwVBEARhf2C3ogC4MNCMgUwmk1W/8beXkKGcnJxd/j4LgiAIwv7CHkUBQBiwGxHxrCx0k0CQyWSy1Bl/Y/lby99c/vZqhkAQBEFINfZKFDhYfMzOF/yTYq9sQRAEYf+DbUf5W6tFxYIgCEJ1YZ9EgSAIgiAIgiAIBx8kCgRBEARBEAShlkOiQBAEQRAEQRBqOSQKBEEQBEEQBKGW4/8DUemg847CDEcAAAAASUVORK5CYII=" alt="" /></p>

<p>This question is from kotlinlang slack’s #compose channel.</p>

<p>The confusion in the question stems from the fact that when they apply the same brush to different parts of the text, the gradient is applied <em>differently</em>. But actually, the gradient is applied exactly the same and that’s the real problem. Here is my answer from the original thread.</p>

<p><em>This is an Android platform limitation. Android paint applies a given shader only to the entire text, not the specific span region. So when you want to draw a gradient over part of text, you can imagine that the gradient is sized according to full text, drawn behind, then only shown where you define the span.</em></p>

<p><em>The only way you can workaround this is if you define a custom ShaderBrush and use the metrics provided to you from TextLayoutResult. That way you can size and create your shader as you wish.</em></p>

<p>Let me give you the steps of how Brush is applied as a span in Compose and consequently in Android Platform.</p>

<ol>
  <li><code class="language-plaintext highlighter-rouge">AnnotatedString</code> has a <code class="language-plaintext highlighter-rouge">SpanStyle</code> Range somewhere in it.</li>
  <li>When Compose wants to render this <code class="language-plaintext highlighter-rouge">AnnotatedString</code>, it creates a <code class="language-plaintext highlighter-rouge">SpannableString</code> to take advantage of the available Android Platform Text APIs.
    <ol>
      <li>Please look at this function and its surrounding ones <a href="https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphHelper.android.kt;l=49">https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/AndroidParagraphHelper.android.kt;l=49</a></li>
    </ol>
  </li>
  <li><code class="language-plaintext highlighter-rouge">Brush</code> needs to be converted into a Span that Android understands.
    <ol>
      <li>Here we use <code class="language-plaintext highlighter-rouge">ShaderBrushSpan</code> that implements <code class="language-plaintext highlighter-rouge">UpdateAppearance</code> span <a href="https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/style/ShaderBrushSpan.android.kt">https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/platform/style/ShaderBrushSpan.android.kt</a></li>
    </ol>
  </li>
  <li>During the draw phase, all UpdateAppearance spans get a call to their updateDrawState function.
    <ol>
      <li><code class="language-plaintext highlighter-rouge">ShaderBrushSpan</code> simply sets the TextPaint#shader to its internal <code class="language-plaintext highlighter-rouge">derivedStateOf</code> shader.</li>
      <li>Having a derivedState run the backing shader was a deliberate decision <a href="http://r.android.com/2791253">r.android.com/2791253</a>. It enables efficient animations using a <code class="language-plaintext highlighter-rouge">ShaderBrush</code></li>
    </ol>
  </li>
  <li>To create a shader, <code class="language-plaintext highlighter-rouge">ShaderBrushSpan</code> needs a definitive <code class="language-plaintext highlighter-rouge">Size</code>.
    <ol>
      <li>Uh-oh, UpdateAppearance doesn’t give us that.</li>
      <li>Actually there is no way to certainly know what parts of the text this span <em>spans</em>.</li>
      <li>It can even be multiple lines, in that case size becomes an ambiguous term.</li>
      <li>Compose simply uses the entire size of the text layout and this is actually the correct approach, we will come to that in a second.</li>
      <li><a href="https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidParagraph.android.kt;l=256-261">https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/ui/ui-text/src/androidMain/kotlin/androidx/compose/ui/text/AndroidParagraph.android.kt;l=256-261</a></li>
    </ol>
  </li>
  <li>Compose creates a <code class="language-plaintext highlighter-rouge">StaticLayout</code> using the new <code class="language-plaintext highlighter-rouge">SpannableString</code>.</li>
  <li>Then finally Android’s rendering stack draws this <code class="language-plaintext highlighter-rouge">StaticLayout</code> and while drawing it, the shaders in spans are drawn onto the canvas from the origin <code class="language-plaintext highlighter-rouge">(0.0)</code> position. But it also guaranteed that only the shader span parts draw the text with the shader applied.</li>
</ol>

<p>Ok that last step is loaded so here is an illustration of what is going on.</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>This is our main text, and we would like “at aliquam” on the third line to have a gradient of <code class="language-plaintext highlighter-rouge">Color.Blue, Color.Red, Color.Green</code>. That would look horrible but I’m just being random here.</p>

<p>To help us better visualize what is going to happen, we will use rectangles instead of words and imagine that we are drawing rectangles with gradients and colors.</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>Highlighting the spanned region, we have;</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>Now lets get more technical in terms of how Android really renders this paragraph. A piece of text that is drawn with the exact same style. in the same direction, on the same line is called a <strong>Run</strong>. I’m going to make this simple and just say that the only span we have in this paragraph is the <code class="language-plaintext highlighter-rouge">Brush</code> on “at aliquam”. Then the <strong>runs</strong> would be;</p>

<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbkAAACoCAIAAADyywf1AABGgElEQVR4Xu2dCbRO1fvHz2qphWVcMrPIzZxMmSVD5q4xhCiKPxWZKkNmImUoKjMRydTPECFjSSMRJTKVoczJnDr/7z2P+9zn7jO873ve9977Yn+WZd13P3uf9+x9nv3dz95nn/Mapkaj0WgCYagJGo1Go7GhtVKj0WgCo7VSo9FoAmNoNBqNJihU/dRoNBqNQGulRqPRBEZrpUaj0QRGa6VGo9EERmtlkvDzzz9Tw+bIkUO1acLg9ddfp4b9v//7P9Xmi19//ZUOmDVrVtV266D9LRmgFtZaGWG07yYRWisd0f6WDFALJ9LKZ555hhKfeuopma4JHu27SYTWSke0vyUD1MJaKzW3BlorQ2XXrl32Pn4HMmnSJDTCo48+qhqChppRa6Xm1kBrZahMnTrV3sfvQJ588klDa6XmzkFrZah07NjR3sfvQO6//35Da6XmzkFrZagUK1bM3sfvNI4dO0aNEHVa+dtvv73yyivNmzcvXbp0+vTp8+bNW6NGDYxvU6ZM+ffff9Xcprl37176xtq1a+PjxYsXe/XqVahQobvuuuvFF19UMp8/f37gwIEtW7YsU6YMDp4vX75atWp16tTp448/VnIS+/bto4NzM82fP79p06YxMTHp0qUrUaLE008/vX79es5/6NChQYMGPfzww/fee2+ePHmaNWs2efLkGzducIZgcFtrHzNmDKWjCvh47ty58ePH16lTh06mXLlymCnMmjVLFpH8999/S5YsadSoUcmSJXPmzHn33Xfnzp27bNmy7dq1W7Zs2fXr15X8r732Gn2dh7KgppTn008/len58+endLpkW7duffbZZx944IG0adNiiMY54DxxPpT5woULEyZMqFu3Li5H5syZUaMhQ4acPXtWHjB4tmzZgu+qWrVqhgwZcAngPCNGjIBTmUFoZai+F1ArL1++jGbEdalcuXK2bNngFRUrVmzTps3w4cP/+usvNbcFvpSO+Z/Fe++9h2uUOnVqnJKa1Z3t27d36NDhoYceQpOiLE4PvhobG4s5NbqAktnub9u2baMUO2iKxKUDANdCf4HL4eBp0qRBXVq3bj169OjTp0+rWS2mT59OXzR06FDT8o2xY8ei98Fj4RsVKlTo06cPujznx6l27doVjYPLXapUKfRH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" alt="" /></p>

<p>The runs other than “at aliquam” are uninteresting. They have a constant color, and the paint that draws them just uses this color. Also notice that the third line is now divided into 3 separate runs because it is split by a span. What we are trying to understand is what is going to happen with the shader.</p>

<p>Before we get into that, I will inline the <code class="language-plaintext highlighter-rouge">ShaderBrushSpan</code> code here for reference;</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/** A span that applies [ShaderBrush] to TextPaint after receiving a specified size */</span>
<span class="k">internal</span> <span class="kd">class</span> <span class="nc">ShaderBrushSpan</span><span class="p">(</span><span class="kd">val</span> <span class="py">shaderBrush</span><span class="p">:</span> <span class="nc">ShaderBrush</span><span class="p">,</span> <span class="kd">val</span> <span class="py">alpha</span><span class="p">:</span> <span class="nc">Float</span><span class="p">)</span> <span class="p">:</span>
    <span class="nc">CharacterStyle</span><span class="p">(),</span> <span class="nc">UpdateAppearance</span> <span class="p">{</span>

    <span class="c1">// Set by AndroidParagraph to the size of the entire paragraph.</span>
    <span class="kd">var</span> <span class="py">size</span><span class="p">:</span> <span class="nc">Size</span> <span class="k">by</span> <span class="nf">mutableStateOf</span><span class="p">(</span><span class="nc">Size</span><span class="p">.</span><span class="nc">Unspecified</span><span class="p">)</span>

    <span class="k">private</span> <span class="kd">val</span> <span class="py">shaderState</span><span class="p">:</span> <span class="nc">State</span><span class="p">&lt;</span><span class="nc">Shader</span><span class="p">?&gt;</span> <span class="p">=</span> <span class="nf">derivedStateOf</span> <span class="p">{</span>
        <span class="k">if</span> <span class="p">(</span><span class="n">size</span><span class="p">.</span><span class="n">isUnspecified</span> <span class="p">||</span> <span class="n">size</span><span class="p">.</span><span class="nf">isEmpty</span><span class="p">())</span> <span class="p">{</span>
            <span class="k">null</span>
        <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
            <span class="n">shaderBrush</span><span class="p">.</span><span class="nf">createShader</span><span class="p">(</span><span class="n">size</span><span class="p">)</span>
        <span class="p">}</span>
    <span class="p">}</span>

    <span class="k">override</span> <span class="k">fun</span> <span class="nf">updateDrawState</span><span class="p">(</span><span class="n">textPaint</span><span class="p">:</span> <span class="nc">TextPaint</span><span class="p">)</span> <span class="p">{</span>
        <span class="n">textPaint</span><span class="p">.</span><span class="nf">setAlpha</span><span class="p">(</span><span class="n">alpha</span><span class="p">)</span>
        <span class="n">textPaint</span><span class="p">.</span><span class="n">shader</span> <span class="p">=</span> <span class="n">shaderState</span><span class="p">.</span><span class="n">value</span>
    <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>ShaderBrushSpan is going to read the shader from <code class="language-plaintext highlighter-rouge">shaderState</code> ‘s value and set it to <code class="language-plaintext highlighter-rouge">TextPaint</code>. I’m open to digress, so we should discover what a <code class="language-plaintext highlighter-rouge">ShaderBrush</code> is and how it relates to the familiar Brush APIs like <code class="language-plaintext highlighter-rouge">Brush.horizontalGradient</code> or <code class="language-plaintext highlighter-rouge">Brush.radialGradient</code></p>

<p>I’m going to skip all the delegated calls and let you know that besides the radial gradient, all linear ones eventually create the following object. For brevity I omitted functions like equals, hashCode. etc.</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/** Brush implementation used to apply a linear gradient on a given [Paint] */</span>
<span class="nd">@Immutable</span>
<span class="kd">class</span> <span class="nc">LinearGradient</span>
<span class="k">internal</span> <span class="k">constructor</span><span class="p">(</span>
    <span class="nd">@Suppress</span><span class="p">(</span><span class="s">"PrimitiveInCollection"</span><span class="p">)</span> <span class="k">internal</span> <span class="kd">val</span> <span class="py">colors</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">Color</span><span class="p">&gt;,</span>
    <span class="nd">@Suppress</span><span class="p">(</span><span class="s">"PrimitiveInCollection"</span><span class="p">)</span> <span class="k">internal</span> <span class="kd">val</span> <span class="py">stops</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">Float</span><span class="p">&gt;?</span> <span class="p">=</span> <span class="k">null</span><span class="p">,</span>
    <span class="k">internal</span> <span class="kd">val</span> <span class="py">start</span><span class="p">:</span> <span class="nc">Offset</span><span class="p">,</span>
    <span class="k">internal</span> <span class="kd">val</span> <span class="py">end</span><span class="p">:</span> <span class="nc">Offset</span><span class="p">,</span>
    <span class="k">internal</span> <span class="kd">val</span> <span class="py">tileMode</span><span class="p">:</span> <span class="nc">TileMode</span> <span class="p">=</span> <span class="nc">TileMode</span><span class="p">.</span><span class="nc">Clamp</span><span class="p">,</span>
<span class="p">)</span> <span class="p">:</span> <span class="nc">ShaderBrush</span><span class="p">(),</span> <span class="nc">Interpolatable</span> <span class="p">{</span>

    <span class="k">override</span> <span class="kd">val</span> <span class="py">intrinsicSize</span><span class="p">:</span> <span class="nc">Size</span>
        <span class="k">get</span><span class="p">()</span> <span class="p">=</span>
            <span class="nc">Size</span><span class="p">(</span>
                <span class="k">if</span> <span class="p">(</span><span class="n">start</span><span class="p">.</span><span class="n">x</span><span class="p">.</span><span class="nf">isFinite</span><span class="p">()</span> <span class="p">&amp;&amp;</span> <span class="n">end</span><span class="p">.</span><span class="n">x</span><span class="p">.</span><span class="nf">isFinite</span><span class="p">())</span> <span class="nf">abs</span><span class="p">(</span><span class="n">start</span><span class="p">.</span><span class="n">x</span> <span class="p">-</span> <span class="n">end</span><span class="p">.</span><span class="n">x</span><span class="p">)</span> <span class="k">else</span> <span class="nc">Float</span><span class="p">.</span><span class="nc">NaN</span><span class="p">,</span>
                <span class="k">if</span> <span class="p">(</span><span class="n">start</span><span class="p">.</span><span class="n">y</span><span class="p">.</span><span class="nf">isFinite</span><span class="p">()</span> <span class="p">&amp;&amp;</span> <span class="n">end</span><span class="p">.</span><span class="n">y</span><span class="p">.</span><span class="nf">isFinite</span><span class="p">())</span> <span class="nf">abs</span><span class="p">(</span><span class="n">start</span><span class="p">.</span><span class="n">y</span> <span class="p">-</span> <span class="n">end</span><span class="p">.</span><span class="n">y</span><span class="p">)</span> <span class="k">else</span> <span class="nc">Float</span><span class="p">.</span><span class="nc">NaN</span><span class="p">,</span>
            <span class="p">)</span>

    <span class="k">override</span> <span class="k">fun</span> <span class="nf">createShader</span><span class="p">(</span><span class="n">size</span><span class="p">:</span> <span class="nc">Size</span><span class="p">):</span> <span class="nc">Shader</span> <span class="p">{</span>
        <span class="kd">val</span> <span class="py">startX</span> <span class="p">=</span> <span class="k">if</span> <span class="p">(</span><span class="n">start</span><span class="p">.</span><span class="n">x</span> <span class="p">==</span> <span class="nc">Float</span><span class="p">.</span><span class="nc">POSITIVE_INFINITY</span><span class="p">)</span> <span class="n">size</span><span class="p">.</span><span class="n">width</span> <span class="k">else</span> <span class="n">start</span><span class="p">.</span><span class="n">x</span>
        <span class="kd">val</span> <span class="py">startY</span> <span class="p">=</span> <span class="k">if</span> <span class="p">(</span><span class="n">start</span><span class="p">.</span><span class="n">y</span> <span class="p">==</span> <span class="nc">Float</span><span class="p">.</span><span class="nc">POSITIVE_INFINITY</span><span class="p">)</span> <span class="n">size</span><span class="p">.</span><span class="n">height</span> <span class="k">else</span> <span class="n">start</span><span class="p">.</span><span class="n">y</span>
        <span class="kd">val</span> <span class="py">endX</span> <span class="p">=</span> <span class="k">if</span> <span class="p">(</span><span class="n">end</span><span class="p">.</span><span class="n">x</span> <span class="p">==</span> <span class="nc">Float</span><span class="p">.</span><span class="nc">POSITIVE_INFINITY</span><span class="p">)</span> <span class="n">size</span><span class="p">.</span><span class="n">width</span> <span class="k">else</span> <span class="n">end</span><span class="p">.</span><span class="n">x</span>
        <span class="kd">val</span> <span class="py">endY</span> <span class="p">=</span> <span class="k">if</span> <span class="p">(</span><span class="n">end</span><span class="p">.</span><span class="n">y</span> <span class="p">==</span> <span class="nc">Float</span><span class="p">.</span><span class="nc">POSITIVE_INFINITY</span><span class="p">)</span> <span class="n">size</span><span class="p">.</span><span class="n">height</span> <span class="k">else</span> <span class="n">end</span><span class="p">.</span><span class="n">y</span>
        <span class="k">return</span> <span class="nc">LinearGradientShader</span><span class="p">(</span>
            <span class="n">colors</span> <span class="p">=</span> <span class="n">colors</span><span class="p">,</span>
            <span class="n">colorStops</span> <span class="p">=</span> <span class="n">stops</span><span class="p">,</span>
            <span class="n">from</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">startX</span><span class="p">,</span> <span class="n">startY</span><span class="p">),</span>
            <span class="n">to</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">endX</span><span class="p">,</span> <span class="n">endY</span><span class="p">),</span>
            <span class="n">tileMode</span> <span class="p">=</span> <span class="n">tileMode</span><span class="p">,</span>
        <span class="p">)</span>
    <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>When you create a Brush with a call like;</p>

<p><code class="language-plaintext highlighter-rouge">Brush.linearGradient(listOf(Color.Red, Color.Blue, Color.Green))</code></p>

<p>You are not really giving any coordinates or sizing information. That is the beauty of the Brush API. It infers boundaries at the time of the shader creation. Therefore, the abstract class of <code class="language-plaintext highlighter-rouge">ShaderBrush</code> accepts <code class="language-plaintext highlighter-rouge">size: Size</code> in its <code class="language-plaintext highlighter-rouge">createShader</code> function. If you read the code carefully in the <code class="language-plaintext highlighter-rouge">LinearGradient</code> class, you will see that the default <code class="language-plaintext highlighter-rouge">POSITIVE_INFINITY</code> value is evaluated to size boundaries.</p>

<p>All of this is to say that whatever size is passed into a <code class="language-plaintext highlighter-rouge">ShaderBrush</code>, your shader is going to have that size if you are using the Brush factory functions with the default optional parameters.</p>

<p>Now we can continue with our span;</p>

<p><img src="data:image/png;base64,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aSUSiqpfJD/55WuPpS1hK+WOb+rUqS0tLXJzZ37cZvn000/ju1TeysWLF991113Nzc3Dhw83PzeMk2BZuyRv5bZt28zzfPfdd2bcYt4AkHorPY7OtLLHy0YT2aj7TUWWxx9/XGdvueWW+DitREJR9YvkJ7987bG0OVv57bffSuzMSVhCiq3s7Ow85phjdn76HhTXJHkrV61aZZ7nn3/+MeOWxsZG3SbFVnofnWml9aVWppXFL/crWokKRdUvkp/88rXH0la6lVu2bDGxaGhoaG1t7ejoePnllxctWmTeBjRgwADdIK1WrlmzJv4upba2tjlz5sizyYWY/o4LFizQ2eKaJG+lPI8O1tfXm8FiTU1Nullarazk6GglaiuqfpH85JevPZa20q18+OGH9ezab7/95ALTmlXmrSpptdK8GVDSsHnzZnu6kBvdoLgmyVv55Zdf6qDo8XdR5m065bbyvffe0w2sVlZydLQStRVVv0h+8svXHktb6Vaat0/ee++91pRhqpFWK/fZZx/d8cMPP7TnCrq6unSD4pokb+X69et1MNrFKyHKvDm83FbOnz9fN7BaWcnR0UrUVlT9IvnJL197LG2lWzl48GA9u4r/YZz66quvdIOo6AT2a+X333+ve+299949vkCR6/5YzKinmiRv5fbt282/MpRrTDMet3r1at0gKmqleafUrl4Xuu+++3SDeCsrPDpaidqKql8kP/nla4+lrXQr5ZTWs2tXH9szadIk3SAqOoH9Wrl06VLd6+CDD7bnupkfoRbXJHkrc7HvBE8//XR83Ghra9MNoqJWmhdnli1bFh9XEmLTtXgrKzw6WonaiqpfJD/55WuPpa10K0u/SWX58uXmVlQsXrw4Pvv666/rePELwSVs2LDBPGGPH4rT3t5uNoiK3hxTVitvvPFGHe/xT7ht2zbzw8qoqJXmvQHF/05RyJfL7Bh/8gqPjlaitqLqF8lPfvnaY2kr3crLL79cz66RI0dan70m11P6MWKXXnqpbmNdncn5rOMNDQ3FHwNRgnn/5u23325NzZs3r3fv3lOnTt1///11G+uDi8pqZfzN23LLHJ/67bfftIbmY9CsVl533XU6PmLECOstRx9//HG/fv3MRasV4kqOjlaitqLqF8lPfvnaY2kr3coPPvhAz66o8E+M586du3DhwlmzZo0ZM0bO6gEDBqxdu7a1tVU3kEA888wzzz77rO4r11C9evXSqYsuuujBBx+cPHmy3Jjv/Dv0IP4haePHj3/ppZfeeOONadOm6T9nbmpqkqst/RwgccYZZ8gF7Ntvv637ltXKXOyTQcQ555xz8803T5o06dxzz9VXYOTC03zOkNVKCaLZ8YQTTpAvghyg5G/cuHHylamvrzdfOquVlRwdrURtRdUvkp/88rXH0la6lbnYaxQWuT/96aefcoU3q8fH429XvPbaa+NTYsaMGf899S7IBax5V6Plyiuv1PfZyCVYfFySp/uW28pNmzaZ62LLeeedJ7PNzc36S6uVudgbqix9+vR59dVX161bp7+U8MX3quToaCVqK6p+kfzkl689ljZnK3OFj5AYNWrUoEGD6urq5L9yqsv1Y/y2urOzs7GxURoh15533HGHGd+4ceOtt9569NFHy5Tcq7a0tCxZssTMliDXVtOnTz/11FP79+8v8R06dOhVV10Vf5ONbNDW1ibjffv2lZtlc/tfbitzhddh2tvbr7jiimHDhunnokubOjo69KM2x44dq/sWtzJX+BTk0aNH6wHKk8sl5JQpU/QTgGR33VECZ+3lfXS0ErUVVb9IfvLL1x5LW5JW7snMTXqPrfz/QCuRUAZF8kMra49WAkYGRfJDK2uPVgJGBkXyU4NW8thjH7QSThkUyQ+t5JHdg1bCKYMi+Snc+wFAMOxKhSGLP1nx9QWPPfxhL5GdZbAmgXLRSh41eNhLZGcZrEmgXFm0EigLaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIBopUIDmsSAaKVCA5rEgGilQgOaxIByrcSCI29ToFaY1ECgButBAA3WgkAbv8DWxwhZPQu9AkAAAAASUVORK5CYII=" alt="" /></p>

<p>Recall that when <code class="language-plaintext highlighter-rouge">updateDrawState</code> is called, the size is already passed to the span class and it is equal to the entire paragraph’s size. So the shader will be created using this size, a shader starting from topLeft and ending at bottomRight.</p>

<p>I know I haven’t specified it yet so I’m just going to accept here that our Brush was created by</p>

<p><code class="language-plaintext highlighter-rouge">Brush.horizontalGradient(listOf(Color.Blue, Color.Red, Color.Green))</code></p>

<p>In that case the shader is going to be;</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>I want to intercept here to clear a possible confusion. Even if we carefully calculated the bounding region of the span range and created the shader according to that size, StaticLayout draw logic would still have placed the shader at the <code class="language-plaintext highlighter-rouge">0,0</code> coordinate, making it look like this;</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>*I’m inferring the <code class="language-plaintext highlighter-rouge">tileMode</code> is <code class="language-plaintext highlighter-rouge">TileMode.Clamp</code></p>

<p>Not great in either case. At least when we create the shader specifically for the entire text layout, the gradient becomes a bit more predictable since it covers the whole layout. Imagine what would have happened if the spanned region was somewhere here;</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>It would be very confusing to see only the color green.</p>

<p>Anyway, when we look at the real (non hypothetical) final illustration one more time;</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>We clearly see that the gradient applied on the spanned region definitely does not show any green color even though our Brush clearly wanted to apply all three colors to the specified range.</p>

<p>Now we know the problem and the mechanism behind it, we can get a bit creative with it,</p>

<h1 id="solution">Solution</h1>

<p>For this part of the post I’m going to assume that we are going to take a lot of happy paths.</p>

<p>The text is fully in LTR script like English and the annotated range is on a single line. I’m planning on doing this for multiple lines as well in this exploration but RTL and BiDi might delay this post for a couple of weeks.</p>

<p><strong>Q; How can we squeeze in the entire gradient we want in the specific range?</strong></p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>Here we are simply asking what kind of a shader can we create that takes the size of the entire paragraph but still applies the desired gradient at the given rectangle.</p>

<p>What we need to do is fill in the blanks. You can be really creative while filling the remaining region but I’m going to go with the most straight-forward option; gradient is just defined horizontally in the given rectangle region, the rest is clamped to the boundary color.</p>

<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbkAAAChCAIAAADVxFY9AAAMG0lEQVR4Xu2ca6iXVRaHf6N4UJKisuwehaEYhiDJSJIWXe0ehaIYhiDJSJIU3cZ6u1EYimEIkiRJUnQbu0dhKIYhSJIkSVFZdo/CUBTDmWaOZ52/B/bitS/vrL19n8XzbX9dPPz4sdgSwwTORKkCyJ6J6pk////01/4u7RukPYO16yjtPEa/HqefT9APJ+vb0/T1GfpymD4frm0jtXWUtozW5jHaNFYbx2nDeK2foLUXas3FevcyvX2F3rhar16nV27Qi5P1/FStmq6VM7RippbP0rLZWjpHS+Zq8TwtvEML7tKj9+rh+/TAA7rvYd37qO5aoDsWat5izV2iOUs1e5lmLdfMFZqxUtNXaerzmvyibnhF172qq9/QFW/rsnd18RpduFYT1mv8Bo3bqLGbNGazRm/RqK0auU3DP9ewL3XG1zrtW538g074Wcf9qmN26qhdGrxHg/apa7/6/6ef9g3Q3kHafYR+P1K/Ha1fhujHofr+JH1zirafri/O1Gdn6dPh2nq2tozS5tHaNEYbx2rDOH0wXmvP1/sX6L2L9M6levNyvX6VVl+jl6/XCzfquSl6dppW3qSnZ2j5TC2bpaWzteQfemKuFt2mx2/XY3fqkXv04HxVlf75oO55RHc+ptsf120LNfcJzVmi2Us1a5lmLteMFbpppaY+qynP6cYXdP3LuuZfuup1TXpTl76ji97TBe/r/HUa/4H+vkFjN2rMJo3erFEf6+ytGvGpzvpMZ36h07frlB066Xsd/6OG/KKjf9ORv+uIXRq0V1371H+/Jvw5IVkNgPyocGWEK//9N/3RpT0DtXuwdva48lj9NFTfnagdp+qrHlcO07YR+mSktpzT68pz9eE4rT9P6yZoTa8r35qk167U6mv1Uo8rJ2vVND0zXStu1lM9rrxFT87R4lu1aF6vK+/WQ/N1//2a/5Du7nXlvEW6dbHmPKlbelz5lG5eoenPaNoqTe5x5Uu6drWufE2T3up15RpNWKfz1mvchzq315XnbNHITzRim4b1uPIrnbpDJ36noT/p2B5X7tTg3Rq4R11/4EooB1wZ4sruXNmV5Mrju3Pljr65ckR3rvw4yZXr+ubKSUmunNqdK1f0zZVzunPlwiRXzu+bKxclufLp7lw5rW+uXN2dKy9PcuW4vrlyS5Irv+nOlUP75srd3blyALkSCgJXhrjSyZVDDuZKc2WfXPlRrys7udJceUmSK6cczJXmyj65ckGvKzu50ly5IMmVyw/mSnNln1x5Sa8rO7nSXPlRkiu3H8yV5so+ubIfroRSwJUhrqSvpK+EwsCVIa50cmVtX2m5Mu0r01xZ21darkz7yjRX1vaVlivTvjLNlbV9JbkSigFXhrjS7ysP5Mq0r0xz5SH6ygO5Mu0r01x5iL7yQK5M+8o0Vx6irzyQK9O+klwJJYErQ1zp5Er6SoCcwZUhrqSvJFdCYeDKEFc6ubK2r+S+EiAYXBniSr+v5L4SIFtwZYgrnVxJXwmQM7gyxJX0lfSVUBi4MsSVTq6s7Su5rwQIBleGuNLvK7mvBMgWXBniSidX0lcC5AyuDHElfSW5EgoDV4a40smVtX0l95UAweDKEFf6fSX3lQDZgitDXOnkSvpKgJzBlSGupK+kr4TCwJUhrnRyZW1fyX0lQDC4MsSVfl/JfSVAtuDKEFc6uZK+EiBncGWIK+kryZVQGLgyxJVOrqztK7mvBAgGV4a40u8rua8EyBZcGeJKJ1fSVwLkDK4McSV9JX0lFAauDHGlkytr+0ruKwGCwZUhrvT7Su4rAbIFV4a40smV9JUAOYMrQ1xJX0muhMLAlSGudHJlbV/JfSVAMLgyxJV+X8l9JUC24MoQVzq5kr4SIGdwZYgr6SvpK6EwcGWIK51cWdtXcl8JEAyuDHGl31dyXwmQLbgyxJVOrqSvBMgZXBniSvpKciUUBq4McaWTK2v7Su4rAYLBlSGu9PtK7isBsgVXhrjSyZX0lQA5gytDXElfSV8JhYErQ1zp5MravpL7SoBgcGWIK/2+kvtKgGzBlSGudHIlfSVAzuDKEFfSV5IroTBwZYgrnVxZ21dyXwkQDK4McaXfV3JfCZAtuDLElU6upK8EyBlcGeJK+kr6SigMXBniSidX1vaV3FcCBIMrQ1zp95XcVwJkC64McaWTK+krAXIGV4a4kr6SXAmFgStDXOnkytq+kvtKgGBwZYgr/b6S+0qAbMGVIa50ciV9JUDO4MoQV9JX0ldCYeDKEFc6ubK2r+S+EiAYXBniSr+v5L4SIFtwZYgrnVxJXwmQM7gyxJX0leRKKAxcGeJKJ1fW9pXcVwIEgytDXOn3ldxXAmQLrgxxpZMr6SsBcgZXhriSvpK+EgoDV4a40smVtX0l95UAweDKEFf6fSX3lQDZgitDXOnkSvpKgJzBlSGupK8kV0Jh4MoQVzq5srav5L4SIBhcGeJKv6/kvhIgW3BliCudXElfCZAzuDLElfSV9JVQGLgyxJVOrqztK7mvBAgmyJUMY4MroQwq29j0pVEYxgZXQhlUtrHpS6MwjA2uhDKobGPTl0axoa/8i33l4Xdf2RlcCWVQ2camL41i01pXcl/ZGVwJZVDZxqYvjWLTWlc6ubJl95WdwZVQBpVtbPrSKDatdSX3lZ3BlVAGlW1s+tIoNq11pZMra/vKw+++sjO4Esqgso1NXxrFprWu9PvKNv1f2RlcCWVQ2camL41i01pXOrmSvhIgZyrb2PSlUWxa60r6ys7gSiiDyjY2fWkUm9a60smVtX0l95UAwVS2selLo9i01pV+X8l9JUC2VLax6Uuj2LTWlU6upK8EyJnKNjZ9aRSb1rqSvrIzuBLKoLKNTV8axaa1rnRyZW1fyX0lQDCVbWz60ig2rXWl31dyXwmQLZVtbPrSKDatdaWTK+krAXKmso1NXxrFprWupK/sDK6EMqhsY9OXRrFprSudXFnbV3JfCRBMZRubvjSKTWtd6feV3FcCZEtlG5u+NIpNa13p5Er6SoCcqWxj05dGsWmtK+krO4MroQwq29j0pVFsWutKJ1fW9pXcVwIEU9nGpi+NYtNaV/p9JfeVANlS2camL41i01pXOrmSvhIgZyrb2PSlUWxa60r6ys7gSiiDyjY2fWkUm9a60smVtX0l95UAwVS2selLo9i01pV+X8l9JUC2VLax6Uuj2LTWlU6upK8EyJnKNjZ9aRSb1rqSvrIzuBLKoLKNTV8axaa1rnRyZW1fyX0lQDCVbWz60ig2rXWl31dyXwmQLZVtbPrSKDatdaWTK+krAXKmso1NXxrFprWupK/sDK6EMqhsY9OXRrFprSudXFnbV3JfCRBMZRubvjSKTWtd6feV3FcCZEtlG5u+NIpNa13p5Er6SoCcqWxj05dGsWmtK+krO4MroQwq29j0pVFsWutKJ1fW9pXcVwIEU9nGpi+NwjA2uBLKoLKNTV8ahWFscCWUQWUbm740CsPY4Eoog8o2Nn1pnP7aT1/5F/vKw+++cuAedf2h/vtxJRQCrgxxJfeVg/ZqwD5cCeWAK0Nc6eTKlt1X9uTKfrgSSgFXhriS+8r/5couciUUBK4McaWTK2v7ysPvvpJcCYWBK0Nc6feVbfq/klwJhYErQ1zp5Er6SoCcwZUhrqSvJFdCYeDKEFc6ubK2r+S+EiAYXBniSr+v5L4SIFtwZYgrnVxJXwmQM7gyxJX0lfSVUBi4MsSVTq6s7Su5rwQIBleGuNLvK7mvBMgWXBniSidX0lcC5AyuDHElfSW5EgoDV4a40smVtX0l95UAweDKEFf6fSX3lQDZgitDXOnkSvpKgJzBlSGupK+kr4TCwJUhrnRyZW1fyX0lQDC4MsSVfl/JfSVAtuDKEFc6uZK+EiBncGWIK+kryZVQGLgyxJVOrqztK7mvBAgGV4a40u8rua8EyBZcGeJKJ1fSVwLkDK4McSV9JX0lFAauDHGlkytr+0ruKwGCwZUhrvT7Su4rAbIFV4a40smV9JUAOYMrQ1xJX0muhMLAlSGudHJlbV/JfSVAMLgyxJV+X8l9JUC24MoQVzq5kr4SIGdwZYgr6SvpK6EwcGWIK51cWdtXcl8JEAyuDHGl31dyXwmQLb2uZJigmXhgCwEyZ6L+CxEZNbwJCtQ7AAAAAElFTkSuQmCC" alt="" /></p>

<p>We are almost there. Now we need to do some <a href="https://youtu.be/3M_5oYU-IsU?si=ydFxb1nAJbx-szVp&amp;t=63">quick maths</a>.</p>

<p>First of all, the layout direction is accepted as LTR so start refers to left, end refers to right in most cases.</p>

<p>The gradient needs to start from the span’s most left coordinate, and end at its most right coordinate. How would we find these coordinates? And how would we create a Brush like that?</p>

<p>Do not forget that we are focusing on the single line case, therefore we have lots of options when it comes to finding the coordinates. Of course they are all going to depend on having a TextLayoutResult. We can get it by</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">var</span> <span class="py">textLayout</span><span class="p">:</span> <span class="nc">TextLayoutResult</span><span class="p">?</span> <span class="k">by</span> <span class="nf">remember</span> <span class="p">{</span> <span class="nf">mutableStateOf</span><span class="p">(</span><span class="k">null</span><span class="p">)</span> <span class="p">}</span>
<span class="nc">Text</span><span class="p">(</span>
  <span class="err">…</span>
  <span class="n">onTextLayout</span> <span class="p">=</span> <span class="p">{</span> <span class="n">textLayout</span> <span class="p">=</span> <span class="n">it</span> <span class="p">}</span>
<span class="p">)</span>
</code></pre></div></div>

<blockquote>
  <p>Information: <code class="language-plaintext highlighter-rouge">onTextLayout</code> triggers during the layout phase. When you save its reference and use it during the draw phase, you wouldn’t be losing a frame. Everything would be rendered fine in the first frame. However if we were to use the <code class="language-plaintext highlighter-rouge">TextLayoutResult</code> in composition, then of course the first frame would have been wasted.</p>
</blockquote>

<p>What is available to use from <code class="language-plaintext highlighter-rouge">TextLayoutResult</code> that could give us these coordinates?</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">getHorizontalPosition</code>
    <ul>
      <li>Left = <code class="language-plaintext highlighter-rouge">getHorizontalPosition</code> for left most character.</li>
      <li>Right = <code class="language-plaintext highlighter-rouge">getHorizontalPosition</code> for the character next to the right most character.</li>
    </ul>
  </li>
  <li><code class="language-plaintext highlighter-rouge">getBoundingBox</code>
    <ul>
      <li>Left = <code class="language-plaintext highlighter-rouge">getBoundingBox</code> for left most character, use Rect.left</li>
      <li>Right = <code class="language-plaintext highlighter-rouge">getBoundingBox</code> for right most character, use Rect.right</li>
    </ul>
  </li>
  <li><code class="language-plaintext highlighter-rouge">getPathForRange</code>
    <ul>
      <li><code class="language-plaintext highlighter-rouge">getPathForRange</code> between left and right most character</li>
      <li>Left = <code class="language-plaintext highlighter-rouge">path.getBounds().left</code></li>
      <li>Right = <code class="language-plaintext highlighter-rouge">path.getBounds().right</code></li>
    </ul>
  </li>
</ul>

<p>I would like to use <code class="language-plaintext highlighter-rouge">getPathForRange</code> since it would be a single call and it perfectly fits our use case.</p>

<p>The next question, how are we going to create a brush like this, has a very simple answer.</p>

<p><code class="language-plaintext highlighter-rouge">Brush.horizontalGradient</code> has two optional arguments that we didn’t check yet;</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">*</span> <span class="err">@</span><span class="n">param</span> <span class="n">startX</span> <span class="nc">Starting</span> <span class="n">x</span> <span class="n">position</span> <span class="n">of</span> <span class="n">the</span> <span class="n">horizontal</span> <span class="n">gradient</span><span class="p">.</span> <span class="nc">Defaults</span> <span class="n">to</span> <span class="mi">0</span> <span class="n">which</span> <span class="n">represents</span> <span class="n">the</span> <span class="n">left</span> <span class="n">of</span> <span class="n">the</span> <span class="n">drawing</span> <span class="n">area</span>
<span class="p">*</span> <span class="err">@</span><span class="n">param</span> <span class="n">endX</span> <span class="nc">Ending</span> <span class="n">x</span> <span class="n">position</span> <span class="n">of</span> <span class="n">the</span> <span class="n">horizontal</span> <span class="n">gradient</span><span class="p">.</span> <span class="nc">Defaults</span> <span class="n">to</span> <span class="p">[</span><span class="nc">Float</span><span class="p">.</span><span class="nc">POSITIVE_INFINITY</span><span class="p">]</span> <span class="n">which</span> <span class="n">indicates</span> <span class="n">the</span> <span class="n">right</span> <span class="n">of</span> <span class="n">the</span> <span class="n">specified</span> <span class="n">drawing</span> <span class="n">area</span>
</code></pre></div></div>

<p>Putting 2 and 2 together, we get;</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">val</span> <span class="py">box</span> <span class="p">=</span> <span class="n">textLayout</span><span class="o">!!</span><span class="p">.</span><span class="nf">getPathForRange</span><span class="p">(</span><span class="mi">60</span><span class="p">,</span> <span class="mi">70</span><span class="p">).</span><span class="nf">getBounds</span><span class="p">()</span>
<span class="kd">val</span> <span class="py">brush</span> <span class="p">=</span> <span class="nc">Brush</span><span class="p">.</span><span class="nf">horizontalGradient</span><span class="p">(</span>
  <span class="nf">listOf</span><span class="p">(</span><span class="nc">Color</span><span class="p">.</span><span class="nc">Blue</span><span class="p">,</span> <span class="nc">Color</span><span class="p">.</span><span class="nc">Red</span><span class="p">,</span> <span class="nc">Color</span><span class="p">.</span><span class="nc">Green</span><span class="p">),</span>
  <span class="n">box</span><span class="p">.</span><span class="n">left</span><span class="p">,</span>
  <span class="n">box</span><span class="p">.</span><span class="n">right</span>
<span class="p">)</span>
</code></pre></div></div>

<p>Buuuut, we cannot exactly do this since <code class="language-plaintext highlighter-rouge">AnnotatedString</code> is created during composition and we have to create the shader after layout is complete. <code class="language-plaintext highlighter-rouge">Brush</code> is forcing our hands to give this information from composition. Luckily, we can just create our own lazy <code class="language-plaintext highlighter-rouge">ShaderBrush</code>.</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">fun</span> <span class="nf">lazyHorizontalGradient</span><span class="p">(</span>
    <span class="n">colors</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">Color</span><span class="p">&gt;,</span>
    <span class="n">startX</span><span class="p">:</span> <span class="p">()</span> <span class="p">-&gt;</span> <span class="nc">Float</span><span class="p">,</span>
    <span class="n">endX</span><span class="p">:</span> <span class="p">()</span> <span class="p">-&gt;</span> <span class="nc">Float</span>
<span class="p">):</span> <span class="nc">Brush</span> <span class="p">=</span> <span class="k">object</span><span class="p">:</span> <span class="nc">ShaderBrush</span><span class="p">()</span> <span class="p">{</span>
    <span class="k">override</span> <span class="k">fun</span> <span class="nf">createShader</span><span class="p">(</span><span class="n">size</span><span class="p">:</span> <span class="nc">Size</span><span class="p">):</span> <span class="nc">Shader</span> <span class="p">{</span>
        <span class="k">return</span> <span class="nc">LinearGradientShader</span><span class="p">(</span>
            <span class="n">colors</span> <span class="p">=</span> <span class="n">colors</span><span class="p">,</span>
            <span class="n">colorStops</span> <span class="p">=</span> <span class="k">null</span><span class="p">,</span>
            <span class="n">from</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="nf">startX</span><span class="p">(),</span> <span class="mf">0f</span><span class="p">),</span>
            <span class="n">to</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="nf">endX</span><span class="p">(),</span> <span class="mf">0f</span><span class="p">),</span>
        <span class="p">)</span>
    <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<blockquote>
  <p><strong>Warning;</strong> This is not a production ready implementation. Shader should be cached in the object against the size parameter. Otherwise we would be recreating the shader at every draw iteration.</p>
</blockquote>

<p>Now this allows us to create a Brush for SpanStyle like</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">var</span> <span class="py">box</span><span class="p">:</span> <span class="nc">Rect</span><span class="p">?</span> <span class="k">by</span> <span class="nf">remember</span> <span class="p">{</span> <span class="nf">mutableStateOf</span><span class="p">(</span><span class="k">null</span><span class="p">)</span> <span class="p">}</span>
<span class="c1">// …</span>
<span class="n">text</span> <span class="p">=</span> <span class="nf">buildAnnotatedString</span> <span class="p">{</span>
    <span class="nf">append</span><span class="p">(</span><span class="s">"Lorem ipsum dolor sit amet, consectetur adipiscing elit. In "</span><span class="p">)</span>
    <span class="nf">withStyle</span><span class="p">(</span>
        <span class="nc">SpanStyle</span><span class="p">(</span>
            <span class="n">brush</span> <span class="p">=</span> <span class="nf">lazyHorizontalGradient</span><span class="p">(</span>
                <span class="nf">listOf</span><span class="p">(</span>
                    <span class="nc">Color</span><span class="p">.</span><span class="nc">Blue</span><span class="p">,</span>
                    <span class="nc">Color</span><span class="p">.</span><span class="nc">Red</span><span class="p">,</span>
                    <span class="nc">Color</span><span class="p">.</span><span class="nc">Green</span>
                <span class="p">),</span>
                <span class="n">startX</span> <span class="p">=</span> <span class="p">{</span> <span class="n">box</span><span class="o">?.</span><span class="n">left</span> <span class="o">?:</span> <span class="mf">0f</span> <span class="p">},</span>
                <span class="n">endX</span> <span class="p">=</span> <span class="p">{</span> <span class="n">box</span><span class="o">?.</span><span class="n">right</span> <span class="o">?:</span> <span class="nc">Float</span><span class="p">.</span><span class="nc">POSITIVE_INFINITY</span> <span class="p">})</span>
        <span class="p">)</span>
    <span class="p">)</span> <span class="p">{</span>
        <span class="nf">append</span><span class="p">(</span><span class="s">"at aliquam"</span><span class="p">)</span>
    <span class="p">}</span>
    <span class="nf">append</span><span class="p">(</span><span class="s">" lorem, eget ultricies enim."</span><span class="p">)</span>
<span class="p">}</span>
</code></pre></div></div>

<p>Well that was easy</p>

<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnMAAALSCAYAAAC28FdFAACAAElEQVR4Xuy9d7AWVb736z3vOVW36r236tb949a9Z2ac0RkzeZMkSFSCEhVJgiKKgJJzzpJzRpKABIkiSpCccw6SBEQx5zHMnDPvuv1t7M3q3+rup/vZ3Ztns79lfcrN07+1eq1e6bvyXXf/+V5FCCGEEELyJnc5fzxSsAghhBBCCMljUMwRQgghhORhKOYIIYQQQvIwFHOEEEIIIXkYijlCCCGEkDwMxRwhhBBCSB6GYo4QQgghJA9DMUcIIYQQkoehmCOEEEIIycNQzBFCCCGE5GEo5gghhBBC8jAUc4QQQggheRiKOUIIIYSQPAzFHCEJ8f7GrcZvhBBCSNzEIuaWvr1aHT1+1hM8k/aE5AeQ/+VvhBBCwtHkuefV5q27s/WE3kHG31JvSPc5AdolL+mXWMRc0EcMeuaiUCXVsOtg1b35E6qAfAay6qpW/QerNnUfNZ+FpEDZxqp99xdVpULW3+VbqtfnTVNtnihm2MWKHa8hasCgoTb9+/VV7V6sp8oU+f15kVqqZd/2qlYJD7e3mYKPv6R69W+vnpJhSxUnPO/STz3/uP+3LfZEC9V58Hg1dszrqnPzGqqoeF6o/LPq1YET1PhxI1W3F59SWYVMPzKd0HmfEEKIweYtu1Td+s8av+s83aCx2r5zf+z1bb4Xc1DLunoO/YGLNFCjdn+sLu+fqhoUk8+Lqkdfe1udunpNvdOrqrfYC0HBJ0eoDw7NUk2KWmKu3Atq8KyJqlXVooZdrNjxuqR2LJuuJkyaqiZOW6BW7L6gTqwfrupDJJVor946957qWiHhcESmuGow4bC6fPW8WtS2vPubp4oTnu86rWa+UNzD36KqTItZaueJfWrxhGGqz+Cpavn+s2rT8GdVsd9tClTuqBYcPKU2vTlRDR46VS3bc05tGfecKpnHBF3ovE8IIcQgVR3qCDn8P5XtnU7sYk4S9MyFLRCuqIuXTqs5L5VxPyv0hOq+9oK6cPmqh5grprIqVFMVy5T0FnmFSqjSVWuqiqWLq0KamMPvJcuVVUUhEPS/f3dXqER5Vbrk72Ik+3lRlfVYTfV4xTKqkG1XVBUtX11VrVRWFZbvdfASNlnPqpHbL6gVXSurApqYK1Kmmnq8akVVrLCHP7/Hs0JpIZC0sBW13FetUt4VD+ne9ztJsl5QUw/uV7Nnva+OLe+qyup+poqT13OHQpVVh8WH1KJOVbLDUeTZyWr3iXnqeVvEl1bNZx1Tm8c8q7J+f17wiT6WoFuk2paLLngrV62hyleoYvyO3/BM/h4nofM+IYQQg6A6VBdyqWzzA5kl5nZajfybmyzx0E2V08RDwadGqs1HlqjZKy+4xFxW7T7qzV3n1IlDh9T+U+fUjkV9VZ2SToNfVJV8eqBavP+iOnXYen5kt5o9cq7a4og5fUTMGB3LUnXH7FN7JzW9KdLs5xvUtInr1a69B9WRDy+oLRM7qNbjNqndew+o/Wcuqf1vdVFVvESYp7AprprPPqN2j2ukCtt+f6CmjXtH7Tp4UO05flmd3jFLtdRG6rLq9FELdn+oTh85pA6cvqD2rxyuni3z+/PfwzZ5zLtq1/4Dau/Jy+rExnGqcWnNfeB38ibrxfnq0PYxqnbFrmrZiXWqayXNPlWcPJ/7U7ThVLX78CzVGOlStIWafmSj6oUR06LlVYXK5VURT3EajjJlK6o27bqo8hWrZv/2mPU3fsMzaR8nofM+IYQQA786VAo5kN83nCUu5kJji7mDanzLTmrhsQ9Uv2rOequSquHkQ2rXhBdU24Xnb4m5Yo3U6F3H1eKuT92cnsuqqTovO6l2jHn2pgAr3lxNPnBKLetR6+Z6rOJ1VO8159Slo2mKuYuX1LrB9ezRosI1hqj3Ll5Rm4Y/Y/+7QPn2asGxfWpU/SzveElhU6S2GrT5klrTo+rNkTn4NbqJKgXRUrSG6rbqnNo1ruHN0b+sRmrM7tNqVb+b736kaHX12qKj6tCcVjenHW33H6kNIxuqEvh38Xpq8MYLav3AmqpgmO/kSVnVasFp9cHQOqpgocfUq0vPqHX9qt8a0UsVJ6/nBiXV4891Up36TVZv79qvFnV+0o5vgSr91doTK9SoEWvV3hOn1KHjl9TZfctV72fKhhtR9KBM+Uo3BV2Fqja2kLN+k3bp4rUQN4j8XukQQkgY/LTF6nfWu4RcEsS9Zq5azdqq34AhkYAb6Y8fiYi5Xo0Wqbc63fAEz6R7m9/F3Lhny6qm04/eEhulW6s5R7apQU+WVi9rYq5ww6lq754Z6vkqVdRjFW9Sud1idXTLCFWjsPW88Qy1H+vvINx+f0fRF+aqI0fSFHPnNqnezvq6Is3UpINWWBs407A1VN8N59Tcl0p4x2vXRbVp9nB7s8DAoRPUG+tPqtPbJ6smGD2D3x9uUf2euDWiWLH3BnVmSXtbfNnxPDhDNdLWEdojlScXqZbFfw+by32WqjVitzo0s4Ud9lTfyQhvQWwU6aQWn9qi+leHoC6qSrVdqo5tHq6qO/ap4hRGzBUqp54b+pZavGaH2rPrPTWhXW07vnbcLn+sDi/ro2qWsPwqVEbV6r9OHT84SzWVGzEiULZ8ZVvEgXKPVTaeJ4EsF4QQQsJzO+tQijmLRR0/UQULmaNU+A3P5O822WKuuCpUd4zadmiOamY15uU6rVZHV/dSFQqVcIm5oq2XqHPnT6ldO/eq7Rrb1gxVdYrcfH56/UBVRV8HV3u02nI4XTGnPbfF3H41+unf41iouuqz/pya97KfmLukti2eqsaOn6TGjBmj+nV6QVWFUPHy2xJP5bqvU2eWdrBH4oq+YsbjkVKd1FK4ecwr7MVUjaHb1ZFZL9phT/WdjPBa7y/fda06e/6wWrdshVoM1uxWJy7vVcPr/B7fVHEKI+Y0itYcoNac3KEG1yqmCjw+SL13YZcaWkvbCVu0uZp86LCa0DCcf15QzBFCSN4iSh2a32c8EhFzGIGTNimfaWIO4qjXulNqUftGqv/6k2p+63KWgHOLuZsjTpNVfU9BYj1vNE3tOzhTNc669VtWywXqmNfIXFY7tejcB6rP444gKq6aTD+u9sUm5gKEjfRbiDnPkblaYmQuQMyl+k4GhR5X3d+9oDZN6aJatX71d9qrIStPq13jG938HqniFPS8yBOqYduX1ZOPOuG1KPyUGrj5olrUtpSVFi3VzKO71LDaWmcg60U14+ihWyOhEUl6mtUPWS4IIYSEJ0odGsX2TiQRMZfTkTn7+Ip2yy3hdVwdPjDjd0HmFnP2WrJdJ9XyPvVUcXtHannVaMy7as2wRjfXyGU9pybuO6PWDKh/c11bqQZq0Lrz6qLXmrki9dXwHRfVpjHNVNmscqpay7Fq1fEran8GiLmba96seAx8+mY8s2qqDouPqQNvvKRKerp3i7mU30lQsNpgtf7su6pLtn83KdZ8jjrkiONUcQp6XriuGrzloto2+SVVwRaoJVWll2aqbac3qt72mX8lVcNJB9Wh5f3UU6WsMBSuqBqO3KxO7pmiGmjCPCzOBghsenB+4wYIQgjJfKLUoVFs70QSEXNea+Y6Tp6t/s9l/7f63yf/T/X/1Px/1UOPFHL74xJz1r9LYDTmqto6vN7vx4AIMWeRVaunmrP1jDp1/Kjad/y8OrJxhmpV1REQRVWJun3Vgj0X1dkTx9WRYzvVtAFT1Xqv3aw4x67ZePXeiWvqoytX1KF3xqg+M/bHOM3qI2y8/JZizqKYFc+528+pMydOqKNnz6vdy4aoZ5yRLcO9EHMFU30nHbjdoU7Jo0hAVnM1+eBJNatF6dRxSvG8aI0OauK64+rs+XPq2OlL6sz+d9SIlk/c2pBRoq7qMHunOnnhgjp57rI6sX2R6lq7tOFPGHg0CSGE5E3CHBoMYANb+XtOiHvNXNLEIub067zkM4d/X/jv6q5jd6m7/nmX+vfN/67u/kvO3nmLoqrwo5VVhXKlb+7eNMhSJR6rokpnuUeaPClUQmWVKJH2rslkwTlylVWZEv63KgST6jvlPoVKVFDlypbyDU+B4uVV2dKZmh6pye9rOAghJCfI67z8gA1spfuckC/FnGRy68PGyNz/MeX/soUc/vuPj/9D/eGPdxvuCCGEEEJINBIRc15gahUjcv9x/T/U/9fgjzGOzBFCCCGE5F9yTcxhjRwEHEbk8H9jzRwhhBBCCIlMrok5QgghhBASPxRzhBBCCCF5GIo5QgghhJA8DMUcIYQQQkgehmKOEEIIISQPQzFHCCGEEJKHoZgjhBBCCMnDUMwRQgghhORhKOYIIYQQQvIw2WKucM2Bqnj7K6pE1+8JIRooFygfsvAQQgghmUC2mCve4brRiBFCboLyIQsPIYQQkgnc9WjZiraYe7ByT5XV7iOjESMkv4NygfLhdHwIIYSQTCJbzEmVRwghhBBCMh9ugCCEEEIIycNQzBFCCCGE5GEo5gghhBBC8jAUc4QQQggheRiKOUIIIYSQPAzFHCGEEEJIHoZiLpeo8nhN47c7lfwU19wiE74pw5C75Ke4EpIXyaQySjGXS2RSoidNfoprbpEJ35RhyF3yU1wJyYtkUhmlmMslMinRkyY/xTW3yIRvyjDkLvkproTkRTKpjFLM5RKZlOhJk5/imltkwjdlGHKXKHEtXeYx1bBxM+N3QkhyRCmjSZOImOvUpbuN/D1uuvfoq4oUK5H97yHDRqpSj5Yz7HKKfE86hE30pW+vVkePn/UEz2DzzKhfs6nd74LhR1jgVvcr7PtTETauJDxhv2mT555Xm7fuNtLOC9jBXvrhR9gw6MSRn3TSCUPVajXVzt0HjffjNzyT9plClLg2bf6imjNvoSpQqJh6rX0X9daSFWrj5h02ixYvt3/DM+kuDpCO6aQlIbnBwMHD1cHDJ43yL3l/41bDbSqilNGkiUXMlXussl2Yi5d81P53vwFDbPB3mfIV1JJlq2wb6S4nQCwiAXSR1W/AUPX2irWqYOH4Ki2v96RD2ETHu+Rv8hmEV51B11W5Z4YaNlGBH7UHfJQt5sK8PxVh4xqGSlWfUBUrPW78nhPQ8KGB27v/qA3+xm/SLpMI+003b9ml6tZ/1vjdC9jBXv7uR9gw6ATlmaBnfqQThrHjJ6tefQYYv+M3PJO/J0mBQkWN3/yIElfk3+Wr3rXr2jcXLlFNn3tBPVaxil1vNW3WwvptqV1Hly1f0XCbUyjmSCZz4NCJRAZ5QJQymjQ5FnOFixZXK1atUz169c/+TRdzAJXmytXrbFvpPh3adeiiNn6wXR0+etqurLp0662KZpW0n6HS6tApnlHBoPdEJWyi6w0cegp6b0EXc0Uera5q9Tmjyj87wvAjLHBbq/cpVahEJU8x5/f+VISNaxBodMZPmKa27dinduw+YDxPF/TSIGBeatXW7mgA/I3f8Ezap8vtGpHS08j52+//8u9UhA2DThz5SSdsGPQRykNHTtnpLG3wG57BJuoopUNQOjs46Y1OCeK/+p31hj9ehI0rgJjDuz6w8nHf/kNUoybNDZv+A4fZYUlqhI6QTMSpZ6KU1bBEKaNhKd+osqo/upEqVT2aAM2xmMPw/fwFS12/STEHYPNqu06G+zA8Vbu+at2mvQ38RYVVsfITtuKGyJoy/Q0b2Nap10C9s26j4UcYorwnKmET3cl4XjjPnKnVIqWrqXqDb6ii5eoYtqmAG7iFH7qfYd6firBx9aJY8VL2t8cU2KAhI1TxkmVCvzcVaPDQaHv10vAbnsU1QhcU5qBnfoT9plH9jmIfNgw6Qf4HPfMjbBj8RiirPlHTRv4edZTSIUwcYAMhh45hh47dQrkBYeMKqj5eI7veBV5iDqOC6OyikyqfEXKn4pS3MOUujI1OlDIaBgi5hlOfsylV02yngsixmFu+cq1q0LCp6zcvMYfFuVFVrwNGZiZPmaUmTJ6uxk6YoqpUrW7/7ogsCIA9+w6r8hWr2BUWhEDpR8sb/qQiynuk21SETfSgzOT1rELjsarqy24xHQa4gVv5u9c7wjzTCRtXHYwWtG3XUW3ZvkdNmTpLVahUNftZ2PemAtOpGIWTvzvgGWzk7+kQFOagZ36E/abSb1mR+T0PQ9gw6AT5H/TMj7BhkH5jFA5LMNZv3GaDv53ROr9vE4YwbmDjCLmwbkDYuEYBU65x5XFC8gJRyncYG504y6gu5PC3fJ6KHIu5PfuOqKwSpV2/eYk5jHxAZEn3YThw0BJTWeaaNUdk4e/FS1eqho2es/9e+94mVa36U4Z9KqK+JwphEz0oM3k9K1rmSXvNm/w9FXADt/J3r3eEeaYTNq46c+e/ZX9bjI7KZ2Hfmwrk1XLlKxm/O+AZbOTv6RAU5qBnfoT9pun4HZawYdCJOzxhwyDfO33WPDVw8OvZ/8bf+C3ITRjCuMEyDUfIhXUDwsbVD7zHwZnezkk97AfXzJFMxilvYcpdi5atjN+CiFpGMXXqNeKWUyEHciTmMAoGoSPXwlWrWdtG/w2bI9JtKMOILFRW1WvUsv/etn2fKlPOXCOTiqjviULYRA/KcF7PChYpqeoP/8H4PRVwA7fyd693hHmmEzauOhgtoJjzJ+w3lX7rDbrzTK4dCdsQhw2DjgyPQ/Una9vr1UCU8hQ2DPK9u/ceViVKlcn+N/7Gb0FuwhDGDeIa1Q0IG1c/vN4DMRfnGlRAMUcyGacceJUHaBcs59m6fa8N/pZ6JoioZfTp0Q0NwRaHkAM5EnMAi3mxTk3+LsFo1rLla4zfw5Bq+rPNax3VqjXv2b9hjRsWzUfZNZbOe6ISNtG9MlzQsyKPPqnq9L9s/J4KuIFb+bvXO8I80wkbVx05zYqdeM6zsO9NRX6YZvVbK6YjK7ew4QkbBh3pN4SNfWzGB9tV46Yv2OBv/CY7gF6EDYN873vrN7s6CvgbvwW5CUMYN7kxMocd/LIR8noPp1lJfsMZlfYqD4OHjlDz3lxin7YB8Dd+k3Z+RCmjQAo3+W9pH4Uci7luPfsY0xVeYLt8u47pLbzVNyZgp5bcmIDzlZxFzcNHjlXDho82/AhDlPdEJWyie2W4oGcVmkxIf82c5Vb+7vWOMM90wsbVC26A8CbsN011zhxs/P6firBh0JF+o7J8+ZVX1ePVnrT9A/j75VdeU3PfXGy4l4QNg3xvqzavqY2btqlW1ruB/bf1W5CbMIRxA5uk18yhI4Jvq3di5blZeIaNaNi0Jt0TcqfjVe4weKCvgcff+E3a+RGljDroAi4uIQdyLOaKFCtpr1HDsR3ymQOEEY4vKVQky3iWDvLIEOf3Zxs1tYdK09n84IXfe9IhbKJ7ZTi/Z8UrNb25m7VM9PWBcAO38EP/Xb4j7DOdsHENgkeTuInjmzrIdJT/9iOdMEi/u/fspwZY3xl+TZo8w2Km/Xf/wa/bh3NL95KwYZDvBY2aPK+mzZhjg7/lcy83qQjjBjZJ72bFyBzyFepa+cwBz2AT5zmchOQVZJ2MpRa3Q8yBOEfkHHIs5gB2HuI4kFlvzFdPN2hkn8WGNXLY5Yre9qrV73me85QTvA7zxc7aek83NGxzgtd70iFsogdV9M6zQlnl1WONx9tirFS11oZdWOAWfsAv+Km/w4ugZzph4xqGylWr8dDggvF+U5mO8t9+pBMG6Xduibkw08066R5NIhsILxzxnuQ5cwAdILwLo28YobUPDc4qYR8gjCNJsMyFhwYTcgs5zbrEyseTpsw07PyIWkZ1sBHCazNEusQi5gDEDkbnIKj2HThmLyR/e8U79gG+cY3ISTDFm1ORFYY43hM20YMaB6fCrNXrlHq89UpVuNQThvuowA/4BT/x7zDvT0XYuJLwxPlNcTQHRiOxxgr/x7+ljRfphEHPT/h3bk2zpppulqR7aHBUoqzlDRtXHYy6vdaus72ZCFd5YTPYwrd4nRchXsgNEOhg7th1QD3doLFh60U6ZTQpYhNzJJhMSvSkyU9xzS3i/KZP1q5nd7qwFhT/x7+ljRdxhCG3NkDcCeSnuBKSKUDIbd+5X9Wu87TxTJJJZZRiLpfIpERPmvwU19wiE75pnGFI+miSO4H8FFdCMgkIubzWuaSYyyUyKdGTJj/FNbfIhG/KMOQu+SmuhORFMqmMUszlEpmU6EmTn+KaW2TCN2UYcpf8FFdC8iKZVEYp5gghhBBC8jAUc4QQQggheRiKOUIIIYSQPAzFHCGEEEJIHoZijhBCCCEkD0MxRwghhBCSh6GYI4QQQgjJw2SLOUIIIYQQkvfIiJG5f/6mCCGEEELuGKTWSRKKOUIIIYSQmJFaJ0ko5gghhBBCYkZqnSShmCOEEEIIiRmpdZKEYo4QQgghJGak1kkSijlCCCGEkJiRWidJKOYIIYQQQmJGap0koZgjhBBC7nB+/umf6tTJD9WObbvVyhVr1Irla9S2rbvVaeu3v//4D8M+bn74/hfjtzBMGDdJDR82Mps9uw4YNpmK1DpJctd99z1AMUcIIYTcYfzy9/9SmzZuVUMGv65av9JWvdSylSd4NnjQMLVh/Qe2G+lPTvn8xjdq4IDB6h+//i/jWSo6dujsCut76zYaNpmK1DpJku/E3FdffK/WrF6njh05ZTyTfP3lD2rtO++rQwePGc+COHHsjJo8cZoaahWg4a+PUvPnLVQ/fOfdKzl04JiaOGGKXdjGjB6vNm7YYtgQQgghUTiw/4jq1bOPIdxS0aN7L7V390HDv3S58clXdjjat+sYWsxNmzrTCJekd6++hrtMQ2qdJMkXYg7Dywf3H1WTJ01TrVq1tjPC1s07DTvH9vDB42rq5OnqlVZtbNsN6zcbdn7s3rlftXq5terXd6B6a9EyNXfOm3avp3OnruqnH35z2a5bu972f9jQEWrRwqVq3JiJ9r9nzZijfvvlX4bfhBBCSCrenLdIvfzSK4YACgvczpk93/A3Ko6Qg59RxFzYsI8eNc5wm0lIrZMk+ULM9e83yM4cGEZe8tbbdibwE3MD+g+ynw8aOFQttsQY/g4r5iDA0KsZ0H+waw3CxQtXbX9WvL06+7fPPv3KFnlTLNHoZHD8f/Gipbbt5YvXDP8JIYSQIKZPnWWInnSZMulW+xSVz2987RoZpJhLlnwh5t5etkpdv/aZ/feXn39rZwI/MbdsyQr18dUbN22/+M629RNzmLL95OMvsv997uwl237jevdUKUSes17h159vrkdYvWqt/e9LltDTbTEyiBHBCeMmG+8jhBBCgsCAghQ96dK1S/e0ZonQzvbs0dvlF8VcsuQLMaeTSsy5bAPEHESXk6Gc9XAQcfj32TMXDHusi8Oz77/92f43RuTw7x+//9Vlh8zepvWr9jO8Q/pDCCGE+IH2CMJJCp+ovNq2fXZ7FYVvv/7JFoHSP4q5ZKGYCyBIzCFTQpD17zswe/cPRvVgf+XydcP+rUVL7GfffPWj/W9ngafzb502bV6zn/2Y5lZuQggh+Rcs03HWfKcD1n1fPH/F8DcVWBfesUMXwz9AMZcsFHMBBIk5LxYtuCnYrl751Hi2dMly+9lXX35v/3vzB9vtf+/bc8hlp0/J+u2AJYQQQoLAER5S/IQFy4Ckf6lA2+XMKnlBMZcsFHMBJCnmsEECPZhOHbuoG59+Zf/280//UMOGDs/OqHL3KyGEEBIWnKYgBVAqZkx7w/AnFT/98Kt6tW07wy8dirlkoZgLIKqYW7L4pmC7+tEnHs9u7qLF2XXOb2dOnbdH4TAcjqNL2rR+zT4+xRmZS2fhKSGEEAKwBGj0yLGGCPIDx2RFPTQYS4UwKCH9klDMJQvFXABRxdy6tRts+4vnrxjP3pg1136GxaH679989YM6evik2r1rv/ro8nX168//bYu5dHpHhBBCiA7anO7dUu9w7da1h+ca7iDQnnbr0sPwywuKuWShmAsgqpiDKIO9XAeHDIyRNzxLNXWKUT1k5A/PXTaeEUIIIVFBuxJ0nRdmhy5diHa2Kc5K7dkj/A0TFHPJQjEXQFQxh92nWDcwdcpM1+/Y3g1/Ro0cY7jRwWnZ2NLd1erpRB3qJoQQQvzAtZRSDDnIAYhUYJ131KvCKOaShWIugCAxh/Vss2fNU+PHTXIJL9zDCje4/xUHFV84f8UScWPtzHntys3DiHUuWs937dinFi5Y/PvauW7qCyuM0o4QQgjJCatW3jysXmf5slWGXRAYkcO9qNKfVFDMJQvFXABBYg4H+mI3Koau9SNEIOxmTJ/t2qLdpXM3tX3bbsMPMGP6G/bhjP36DlAL3nzLdQ0YIYQQEhcYhJg8cWp22zRh3KRIG+2++OybSFOrOhRzyZLvxFycoBD4iS/8jsODb3zypfFMJ2zmJoQQQnIKBhyw2aFL5+5WOxW8hlsHJzF079bTEFRhoZhLFoo5QgghJB/xj1//Ffm6SBy9NXPG7LSZN3eh4acfmMbt1TM1YcXh7UJqnSShmCOEEEIIiRmpdZKEYo4QQgghJGak1kkSijlCCCGEkJiRWidJKOYIIYQQQmJGap0koZgjhBBCCIkZqXWShGKOEEIIISRmpNZJEoo5QgghhJCYkVonSSjmCCGEEEJiRmqdJKGYI4QQQgiJGal1koRijhBCCCEkZqTWSRKKOUIIIYSQmJFaJ0ko5gghhBBCYkZqnSShmCOEEEIIiRmpdZKEYo4QQgghJGak1kkSijlCCCGEkJiRWidJKOYIIYQQQmJGap0koZgjhBBCCIkZqXWShGKOEEIIISRmpNZJEoo5QgghhJCYkVonSSjmCCGEEEJiRmqdJKGYI4QQQgiJGal1koRijhBCCCEkZqTWSRKKOUIIIYSQmJFaJ0ko5gghxIP+/Yeq//zDPdls2rjdsMltpk2d7QrTxAnTDRtCSGYgtU6SZJyYu/HJV2rWzPnZLF2y0vhAhOise3eTqlatlqpStaaaOJGNG4kHirn8xa8//7fq1KmnqlS5uqpbr6H68Nxlw4aQKEitkyQZJ+YOHz7pqqzQSMsPRIjDb7/8Sz1SoFh2fvnjn/6q9u45bNgREhWKufzFpEkzXd8WncN//Pq/DDtCwiK1TpJkvJh7otpTxgcixOGLz7515Rcwd84iw46QqFDM5S9eeulV17ctXKRkoJj75e//pb764vtsvvnqR8OG5B2+++bvrvQMSvuwSK2TJJkv5p6gmCPBlC5dITu//O2+R9T5cx8ZNoREhWIuf7Fq5Tr1hz/em/1tGzV63rDROWK1Vbp98eJlDBuSd3jppbaushWHOJdaJ0ko5kie5+pHn6pOnXqoNm06qAP7jxrPCUkHirn8x+pV76kXXmilhg0brX764TfjuQ7F3J0FxVwM6JGnmCOEZAIUcyQIirk7C4q5GNAjTzFHCMkEKOZIEBRzdxYUczGgR94Uc9zNSgjJfSjmSBAUc3cWFHMxoEfeFHO5MzK3Z/ch1bp1B3Xf/QXsRfT33VdAPVGtlpo7Z6G9y0Xap+LC+Stqy+ad2Xz/3S/Zzz7YtF1Vq1b75nus940ZPclw78XWLbtVkyYvZIfxfuv/yIA7d+yLtPPm0MHj2eHatnW36xniOnbMZFWiZLnfv8MjqkyZimrmzHmBmRvrS2a/sUBVqPiE7Q4UKJClhgweqS5euGbYx8nuXQdc39rvWyBuuh3W2jnPcMTJmtXvq7p1nrXTHuF/5JFiqmeP/rGE//TJ87ZfBQsVz/4+RYuVVn37DFZnz1w07P1AmPU4XLt6w7Dx4lcrfrq7/fuOGDYOWHfolz++tvLA6FETVZbVcDnlpGy5yuqNN94MLCc/WvkD50aWL181O/6FrG8xbOgodfnSdcM+SX78/lc7r5YvXyU7LGXLVlbTps1W33/7c7ZdTsUc8uHKFWtV/fqNbtUr1v+bNWup1r+/2bAPQxxiDkf3tG7dPpa67u8//sOVr3bt3J/97OuvflC9ew9SDz9S1H7PY489bu8SlH7khN+sb4x0eeH5Vq74VK5SQ02d8kak933y8ReuuBw5dNL1/PyHH7meY12dnhYFCma5noNU6+7S5eqVG2r48HHZ9TR44MFC6pVX2lvtwX7fOtCLb77+yRXmM6dv1UfwZ8vmXap585ds/5083KrVa1YdErw++eiR0+rVVzu73NWq9bRdz0YJnx9ff/mDmjBhmusboK0aP26K+vyzbw17yY7te13xhj96emL9pP48nY11UuskSeaLuYSPJhk/bqpd2ejvlPzlngesTPiMq/FPxejRE11+oMFGxVL60Qqu3hxoZhUU6V4HYu+hh4sY4dJBHFAZS7de4EBMxx3CgoL12Y1v7ArwT3f/zfDbAd8B2/d1vyCCmjV7Sd1z74OGvU6xrEct4fGZEZY4KFO2kutdODJA2gAURt1u+vQ5dvhHjZqg7n+goBFmB3yTypWrq2tXwgknnY0btqmiRUsZaa6DZxB2mzftMNxLlixe4XL71sK3DRsvfrAEjO6u5pP1DBuHmjXrusKG/PHJ9S9VxUrV7HP8ZPgdkAfatOno8gvft3HjFwLzB94BcYh3yLDECcLSvVtf9de/PWyEQY8DOkgQfOmKOTTgzz33YuB7wP33F1Tt2nWN1LDlRMwlUdd9duNrl/siVl7H7xBxf/7L/Yb/H1+Lpw7ANxvQf5h68KHCxjt07v7zffbszsXzVw0/JO+/t9nl9plnmrieT582x/A/FRCI8j05AfVJyVLlA+tpgPZi7JhJofLWmdMXXG5fe62z7W621UFL1e6g3tq/190xhPhDfR9U50F4DR0yyi6TMjypQD1cs2Y9z/zlgHSvVr22unL5E8O9A8S3dBfEqBHjDT9SIbVOkuRbMQdh9aTVoMkECwI9i4ULlxl+eSHFHEaPMCoj/QTNm79suAc/fPeLeuqp+oZ9EK+80i5lAdHFHMDoS6pKUQeVPfxBz0j2ZoJAD+3Ds/Gfqp6umOvSpZdq2rSFEU4/kP579hwy/PUCadC5c0/Dj1R07donMP1yW8yBDeu3RMofDRo0tf3BGYCo1OVzPx54sLC6FMMoqBcQWLXrNDDe6Uf5x6raowr6b2HE3OGDJ3zLuR/4Rh+FHJ1MR8yhrkN6y/cGEbauk2KuUOESqk+fwb4NeRziBkIbjbn0OwjEZ+WKdw2/dDJdzGGX7d0pRJykqdWpwOip9EtHijm8p2XLNoZffqADsHvXQduvPpaITyU0dTp27B5KcDosW7oqsOMtQZsDASz9ARRzCaBH3hBzCUyzojLAlS0ysVBBTLAqxyWLV6p5cxepzp16qnv/+pDLBhl3wZtLDT8lUswFZZznn29luIcgqfr4ky47jIq8/PJr9hQRGvVJE2dYgtQUe336DDL805FiDr0Y5+/atZ9RQ4eOVlMmz7T/X69eI8N/VNRTprxhH6rp/Ibv0rZtR3uKFj3Czp17qUc8RgEw+ucnttIlXTGn9+xQAbV8sY0aMWKc3UB2797XcxQDU9thpm5kowuq16ijxo2drN5atFy9aeWh/v2GeookTGlL/xxuh5jT80cdSxBhegn5Y5iVP5BfZPid/KGLGuQP9PjHWvEfY+UPHCXzsEevH3neL/1yAqY25btQtnF9E9J71KiJ9tE299zjP4KYSsxByGHEQbrDSB+mmBdbaYd8gZFKaYMRkDCjRzJfpRJzYes6fId06jop5oJGbsGnn3xl+BEViCz5zhdavKJmTJ9rx2fOnIV2XtPzLUDaBB1dlErMYcQJdavD0083dtljSYr+HAQtTYnC85bAkt+yRo269lQypi3fXbvBKpOz1GMVHjfs+vUbYvinI8WcnobIAyir48dPtequKaqb1dn0Gq3DLTxol3QRj3w3eNBw+4pFjMLVrfus4Q5s/iD1jARY8fY7xgg/2qDXXx9zs06dv8SOqyyDqGPPeQwiYImHnlZ//at7JB3x1p9vWL/V8CMVUuskSb4Uc+it6O9Ab3LduxsNO/Dxtc/t9QK6PXp5Fz68YtjqSDHngDUD76xZb085Yn0O1qhgBEO6x9o43d3jViN35tQFww6sXrVO/e1vtzIwKjE59K0jxRwoVfox3zUQeC+utpFuHJDpP/v0a8MdeoRTp8wy7HfvPGDY5oR0xZxD+/Zd1aceU3xIH4g7OcqASjSoN/nR5euGG4gw3P0obSEM0fDotqhMP/KZHrgdYg7gGx88cNywBadOfKgqVapmuHHo2rW3+vLz7wx3EBoTxk8zvpXfe9Jl3ty3jDB169bHU5SjLGIdo7QHQWLu8xvf2FPFuj2mebzWQ/7D4oBV1rC+R7fHN/42xZq1qGKuaVOzrkPDL+1AOnWdFHMOyMPDh49Vx4+dtb8z8h++kVcZiMKKFWtd78E3P3zohGEHUG9hjaZuj7WB0s4hlZiT5NYGCKzn/uOfbr0H0/dYz+U1go96CZ18KciCOgpSzAF0bgcOHO5aQ+qAcgvhKN043BwN2+oZPqzHQ1uj26NDKO0kmFqFv44bfHes3fVak4gy/Hzzl8U7Ghh2Em6AiAE98kmLOSz+1YeB0cvAhgBppwNxgKHnKOHyEnMQPamGvMEJqwLUw1jayvw3PMSSjmywGjR4zrBxkGIOvZvrKaYDUBnInjt48cXWvuIJoEA3bNjc5QYjOtIuJ+REzGFaU9pJ0PvV3SBtrn/8uWHnMH+eOy06tO8WKP6QJ6pWdY/CvjHrTcMO3A4xhwYzVf740Pq2aDR0dwALpX/52Ts9ABp35FXdDUbupF1OwLoe3f8e3fsZNpKRI8cbcQkSc0OGjHLZYlMIGj1pp4NRKjliP33abMNOJ4qYS7euk6NAVa2OnLRz8BJzGPE+dfJDwzYOypWv4noXbm2QNjpXr3zqGiGGyLl88WPDDmSimEP9WUSbAQEYDJB2koYNm7ncvD5sjGHj4CXmBgx43bCTYLRKugMnj58zbHWwHlOO4KIjIe10sLRHtx85coJhowORp89sIZ32BQxwAIq5GNAjn7SYk73hqVODK08H9CoLaBe6o5IM6u1IMYcK7uef/mnYSVB4scBVd7vu3U2GnReodB03GI72y4xSzHXr1tew8QJiVHcHvEY3JFc++sRV6UHcSZuckK6Ye+ihIr62OkgTud4Ko3nSzqG7JRZ02zAN26mT511usPZR2oDbIeYGDkxdsQNMU+ruUGF79ewlp0+5447NA9ImXTZ/sNPlNzYghelQIc2Llyjrcusn5m5YokwXsijrYacTMTWrlw1M1WEtqrRziCLmHhV1HdxKGy9Q12HazHGHdPSr67zEHESktIsLbLDQ34Xd1dJGgrWxuhu/qeNMFHMoPxiR0knVSQCY/dDj8lyzloaNgxRzeEdQ51N3J0fVe/caYNhJULbkVC1GH6WdA3bu6lPmODEhTBnGWjn9Hc5aXj8o5mJAj3ySYg4ZQF8nhV6x1zCtH1jvpIcN07XSxkGKuUGDhhs2XqAi13staFDCCA6ARld/57Klqw0bIMUcpkKkjRdYW6O7A2EKPQrvX7TvjmF2aZMT0hVzEA1hwg9wLIyMu1+F0qOHW8wFHQPiAKG/aMEytfB33vMR8LdDzEFoShsvJk2a4XKHshbm+2KpgZ7nIUKkTbo8KTYQYRG7tPEj7G7WObMXuuzCTBs5oGzoa0/BO2veN+wcwoo55E29zNl1nU9+9QJrG/X3+AlsKeawOF3axIkUcxDS0kZy/OiZ7HIFDu4/ZtiATBRz6fLt1z+54oL1an5lUYq5VKLHAaJSirkw6QFwNI7uLmi0EbM/uu38+YsNGy8w6q+PfGOjkbTRoZiLAT3ySYo57GbS/UZlLW2CwCJK3T0WWnqtCwBSzOFsOWnjBRZ56u4mT55p2PiBdXK62xYtWhs2QIq5MCNHAGdm6e6AtPEC30ifon3wwcKGTU7IDTEHkS0rLq91YGD+vMUuO5xhFkfFAG6HmENlL228kPGGmJM2XmDXtj4diAXL0iZdCoppzKD1X5KwYk7u/PMTC35gAbvuHmsMpY1DWDEn67oBMdR1XmVFijlMaUqbOKkgFvhjE5FfeY/KnSTmIOb1uOBUBK/0A1LMPfus/xIdiTweJMxMDRg0cLjLHTauSBuAMMvdq0FLXCR62cToXtCaTYq5GNAjn6SYe+459462sNOXDshY+vAwMrJfRZKumMPOVt0ddlDhHWHAWgTdbfXqtQ3/QbpiDhstdHdB6zB0pJjDoZ7SJifkhpgDNYTI8TuL6/q1z41KDmJl9cp19iiUXwcgDJks5jB9pbsblWJdi4MUczh/Tdqki76z7QGrUYiS3mHF3KOP3prOTGdkCg2MHv/HH/ev88KKOVnXvbcumbout8UcdhTK9VbYwYnpaowURUlfSV4Tc0gPlB2MwkFEoXPpgDpIj0tSYk6v15EuYaaAweDBI1zvxG5UaQNQNvS6tGjR0ka7FwROJdDfE1SXUczFgB75pMQcMrLc1oxdeNIuFS1avOLyw29NUDpiDmH0EgHoUYRFd4sdhvIdIC4xh0Xi0saLO0XM9e490OXeb/cvwInhuq0DKrwHHiikBg8akdaJ4nlJzOGIGmnjRVJiDmmrN/xPP90kUnqHEXNYpqE36FjvKm3CAKHp+IFv4Sf4w4i5uOo6HPeh+4F0kja5LeaA3P3tgLTOyipjH5EBgSPdpSKviLk9uw/aR1IhnyDOQM4aSHJNzP0Qr5hDnpNxkW1eEFL4o16W73CgmIsBPfJJiTlUjrKCu3Qx+gGlchOA32Gf6Yg5iJBUhTIKuD5HvgNQzN0kqpgbOcK9wxGL66WNA/w9cfycIbAl9hU0Vvi3b9tr+OEFxVx45Loh7EiPkt5hxBw2C+hlFrtYpU0Y5Jl7ftdqhRFz9hpVsbM4jrrO6zT92yHmED9M6cuGWgdpgul6pLnf7lVJpos5TJ17nX0ZhtwTc+HWoIcVc9g8J+OSE95d630EGaCYiwE98kmKOVnB+U2TBSEXt/utwUlHzGERfJxiDqfYy3cAirmbRBVzE8ZPdbnfsGGrYSOBiFr//hY7LXS3EqQ7btPATSHSDx2KufB88fm3rvC8/PKrkdI7jJjDgm+9zPqVuVTIA7b9GpIwYg5TU0ZddyV6Xddd1HVeO1pvh5hzwHFNOChY7oyUoEOF3egfp7hOMJPFXLvXOnuK18KFS9q7yHGQNw7nnTxpps2YMe4NLLkn5uIdmZNrN3NK0OYiirkY0COfpJiTI3M4G0vapQK3HOh+eB02C9IRc14jc9h9hXUi6YALl+U7AMXcTaKKuSFDRrrcb9++z7DxA+/BVVWrrG+IDoE8fkYH00TSvQPFXHgwBaqHB1e3RUnvMGJObozB+jlpEwZ5E4jf2qMwYs6r45pWXddG1HUeOxVvp5hzwGJ/nG2GszZxpI/XeZgAx60ELY3IVDGHUwlku4D7pDHi6Dcdn1sbIEwxF+/I3OVLH7vscOuGbOeiEHS9GsVcDOiRT0rMAXmPaKpDBL14qtbT2e6Ref2Op0hHzHmtdTl7+qJhl1Mo5m4SVcy1FueonT1zybAJiy3uLl5Ts2bNN24OAH6NDsVcNHRRg1tMoqR3GDGHvI1bEhwb56L5qOBUf8ePwoVLGM8dwog5IOu6oBth/NDvhUZd53VOZiaIOQlGJo8dPWMf1aR/V4Cy5hUPkIliDmVDjsiFaUvuFDGHG1F0O9zsIG3igmIuBvTIJynm5MgKzk2TNkHI87AgvPy2Oqcj5kAzcZ3Oe+s+MGxyCsXcTaKIOcRBXqAe9kylVCBfyXsLW7Zsa9iBJUtWuuwo5oLRp+BQdv02LHkRRswBXNHn2GBKL8o7AKb/dFHgd6YbCCvmZGOJUStpE4Ss61B+vUaBMlHM6aBuw/liehjn+tT7mSjmMOKohwnns0kbL+4UMWcvGdA2BWIE269+zykUczGgRz5JMYdRrrCVphcfbNrhChsO+/QrIOmKOVxPo7sLumkgXSjmbhJFzF28cM3lFnjt7sMwPkbVHHB6ubTxAkcL6HnT78YQ3MmohwEH1kobL/KrmJMjVDtCbjQBYcWc3OU8LcLBxACXl+vucam5tHEIK+aMui7gBgAvZF2HK6W8ykpuijncwaqXrbA7VmfOmOcKI2ZXpA3IRDH35nz32Y0YmZc2Xtw+Mee9PEASVswhzPKcuVRX0qULxVwM6JFPUswBXOGk+x92qgyZ6kVxOGjQ2qZ0xRx69XJYHWutpF0QfmLGgWLuJvgOfhWcBAutdbdY6O7lFmscUcE7dO7c07DxAsJNFzTAqzLZt+ewy6ZfvyGGjRcY/dHd5RcxN3r0JFeY2rUL3zmSJ8/7iTmsTdXtcOq8V97wAmvj5I7noBtZwoo5INfhRarrXgxX1+WmmMPNMXrZguCUNl4cOXzKFcYqVWoYNiATxdzECdNcYQp7+4Ec0cs9MRfvyByQazfbvdbFsAnCb/ZMQjEXA3rkkxZzncU9feix+jX+Ops/2OFyh4rSr3CAdMUc/CwrxMnzz78cKowA99FhkWjQSdwUc7fAiJu0k3z26deuw2fBju3eIzyHD7nzL0SK1wibBI26LuKx1ssrHthwo/sf5ko65CnkCd1dfhFz8Pvee90L4k8EiCUHObIF/MTcb9b3rVr11qXeYOGCpYH1A8Dz14eNdrmrX79RoLsoYq5zZ3dd1yxsXSdG5YIOW85NMTdZXBfXtUtvw8aLTeKOzjp1Ghg2IKqYwzVheh7Bejxpk1Ow+UEPU+NGz3tOd+sgz+MOYt1d7om5eEfmANoyef5qWCGPEUqItOVvr/GNv0OrVu1c7/j8s28MGwn81JHPpdZJknwn5lAQ9EukQc+eAwIruXNWj1Y25sOHjzPsdNIVc+CLz741euudOvbw3WwBkJFwo4UjCDAt4rdzh2LuFujtBwlfiCy5ng0XUfv19hDX0pafun3//sN87R03I0dOcLlp7zOC5HUf4tw5izwrEoD3Dn99jBHv/CLmQMNGzV3hKl68rC3QpZ3DJ9e/sO9Elt/MT8yBbVt2u9IFf+/Zc8g3XZDmuBFE9x9usHBf2upEEXN2XSeOPOnVK3pdF3TTS26KOXSK5AaxdWs3+n5jgDrzqadurWkEby9bY9iBqGIOMyZ6mkcZkQ3LtWvuEXU7zlY97/ce7K4uVsy9RhDgNiA/N5ku5kCTpi1c9sgHR6yOs7TTQb3SuPEL2W5wbqK00cE1evo7gu6LdZDhkqdbSK2TJBkv5sCqle+mBU7Klh8f4Hww+Q406hfEOUrI/CMs0SZtK1ep4VswHHIi5gAqUPlerNHzWi+ADFS9Rh2XLe6k9DvegGLODSqGFcvXGva4Y7OAEP4g6LBgsHf3IcNNCUscYOpD2n524xv7NHdpj16/tHWQa7kAGmld7OObo/cqOwUO+UnMYeRSihq8D2up9HIM4Tt+3FRDLDsEiTnQp+9gww0WrGNHnm6H65b0RsYB54RJPyVRxBzwqutwLI5XXTf89bGGbaq6LjfFHJAHGQPMXODwZml76OAJ10XrTtylnUNUMYd6Ru6WhSBwRs7wf7+6KCzIk3K6HLR4sbXr7MDLl66rdu26GHYOuB/aLx3zgphD2L12/b/6aifPQQ7cI66HDXTo0M2w05FLaTA7oh+U7bVGmmJOoEfeS8ylC07/lh/fYeZM96JYgEocvVIUHoy+yKFdUK58FV+RpJNTMYfM271bX+P9ThixSw/gWATZ+GBa5LzPYcaAYs4biDqkO9If31h+V/BKq3aGvxKk3exZbxpuAb6D8w58B7k+Erwxc75vxQu8GhFwtyVQEG48kyIOAkn/d34Sc2DXzgOusDngO+Gb/c36Zn/6k3vNYg3RQUol5n620gV1jnwH4oZF3Ehz/P9PHmneuVPPwNFbh6hiDiRZ1+W2mENdUr9eIyOsenwAyoAsv0hr3OEq/XSIKuZAj+7ug5UBviXKOdL9w7OXDTdR+erLH4xzA/U4ybIO0EHUNw74LdsAeUHMAZwegBknGVd8Z+RhtIdIezl6CzDVmmp62muTG0Ac8f26dOlluKGYE+iRzy0xB7Z8sDPl6eE66AWE3UGVUzEHkPmWLlll9DCCwOLeSymur6GYuwkOkcVBkvpvQWD0K0yDCxBn2TiEASOEqSodgJEV/XyzIDDte+3KDVW0WOns3/KbmAPYqCB3xvmBuKx7d6Prt1RiDmAqcMrkmYZ/fiDeC95cEirNQTpiDmA0OYm6LrfFHMBI64ABw4wwB1G6dAV17Ohpwy8dWV7DiLmPr32uHnzQHDlzOHc23KaTVJw6eT503sUgAMoU7ubWf/c7VzWviDmAEVjU2zLOQYwdM9m3TZDIDVM6XtO0jcQSDnlcldQ6SZKvxRzAlMec2QsCT+Rv27aTPWQftsIFcYg5h08/+VJNnz7Hcx2PQ506z9qVUarF8IBi7ibO0STXrQoZ1+HI3aQOdes2tEd2gkbL/EDlM31acNph+nz69Ll2Okv3QaAXOHjQCM9ROoA8vXTJyuw8oefx/CjmANaRDhk80nM0A3Ts2EN9eO7maAquVtOfhRFzDlhPNWjQcM9RAgAhjiUcUa8UTFfMAaeuKxVQ10HERanrboeYc8AmlT59Btv1iYyHAxb+r1n9fqiz/9IRcwBpDQEk3w3C7iAOA+qS8eOn2aNQ8j0YhWzSpIU6euRUdj31yivtXTZox6SfIC+JOYAONYSpvI1JB3XigP7DfK/b9AOdMZzJ6DVS3bFDd8O+ohDMcv211DpJknFiDiAzxoX02w9kEMyPH9h/1F7MvMvqxaM3FKZ36kc64QjCCSPWcm3ftkft2L7P7m3e+PSrSO9I9xtJt/JZEDl5ZyrC+u0n5pznED1YAL5710G1betuKy8cs3veQX6GBY0jRscwzYN0Q/7CkQnXrn4WuuH0A2fIoULes/uQ2r51jzp44Ji6YokEGe6w3ymsnRdxuIvqNh2+sxp3rGHEruSdO/apE8fP2kcRyHfnNEzIU7hKC+sokaf27jlsNzBe63zCktMwxV3X5XbaSfCNMVKNBh7fGOUAx7tgI1nU8KQbF5RhXK+FTh/KIATxdavjEMWPsNj11NnLv9dT1rsOHDem94CMS1BYwtpJ0nUn3cpnYcF61DOnLtjffauVl1HO0BlLtTwgFRD/R6362S4flt8Q5fLYFXRC9fYEwlYOJEitkyQZKeYISYJUYo4QQggJwwlxlp/XTITUOklCMUfyDRRzhBBC4qBv3yHZbQmmmOUUK5BaJ0ko5ki+gWKOEEJITjn/obstefnlVz3bEql1koRijuQbKOYIIYTkFJxs4LQjWVllfNsRqXWShGKO5Bso5gghhOQUbHgZMmSUfdxT0G0yUuskCcUcyTdQzBFCCMktpNZJEoo5km+gmCOEEJJbSK2TJBRzJN9AMUcIISS3kFonSSjmSL4Bwu3XX/6lfv35X/b/c3pYLyGEEOKH1DpJQjFHCCGEEBIzUuskCcUcIYQQQkjMSK2TJBRzhBBCCCExI7VOklDMEUIIIYTEjNQ6SUIxRwghhBASM1LrJAnFHCGEEEJIzEitkyQUc4QQQgghMSO1TpJQzBFCCCGExIzUOklCMUcIIYQQEjNS6yQJxRwhhBBCSMxIrZMkFHOEEEIIITEjtU6SUMwRQgghhMSM1DpJQjFHCCGEEBIzUuskCcUcIYQQQkjMSK2TJBRzhBBCCCExI7VOklDMEUIIIYTEjNQ6SUIxRwghhBASM1LrJAnFHCGEEEJIzEitkyQUc4QQQgghMSO1TpJQzBFCCCGExIzUOklCMUcIIYQQEjNS6yQJxRwhhBBCSMxIrZMkFHOEEEIIITEjtU6SUMwRQogH/fsPVf/5h3uy2bRxu2FDCFHq269/cpUV8OvP/23Y5Tek1kkSijlCCPEgipj7/MY3auyYyapHj35q7doNxvPbwemT59WAAcPseBw9csp4fqfwxWffqvHjp6ru3fupNWveV//49X8ZNiRZooq548fOqn79hqiBVv48dfJD4/mdgtQ6SUIxRwghHkQRcw0bNsu2+8Mf71X79x81bHITCJoHHiyUHaY//+V+de3KDcPuTqBpkxaub79r1wHDhiRLFDH3/Xe/qD/d/bdsu7/c84C68clXht2dgNQ6SUIxR+5YfvvlX+qXv/9XNpnUY0dY9LD5VXzk9hFWzH33zd+Nhqztq50Mu9zkk4+/MMK0etV7hl1e5/tvf7YFnB7Pl19+1bAjyRJFzJ05fdGw3bpll2GnA7/0+lI+z1Sk1kkSijlyxzJyxDh3hbE5uMLITY4fO+MK20MPFTZsyO0lrJgDZctVdtkuWbzCsMlt7rn3QVeYjh09bdjcCZR/rKorngveXGLYkGSJIuZg+8c//dVle+7sJcNOp2ix0i77H7//1bDJRKTWSRKKOXLHQjFHckIUMXf1o09V1ceftKczR1j5LhNGgXfu2K8eeKCQetDKWxs3bDWe3ylcu/qZql69jj11N3ToqIz49vmNKGIObLHqYnQ2Hn6kqNq5fZ/xXEIxlxqKOXLHQjFHckIUMeeAqX352+0Ewia/iJtM+/b5iahiDkTJmxRzqaGYI3csFHMkJ6Qj5gjJj6Qj5qJAMZcaijlyx0IxR3ICxRwh4aCY80ZqnSTJE2Lupx9+U7t27Ffjx09TXbv2Vh07dle9eg5QCxcsUxc+vGLYR+WH735RW7fsVmNGT1JduvRSnTr2UL17DVTLlq5WV9PYzo/dNmfPXMzm4vmrrufI+Ove3aQGDRqhOnXqobp376smTJimDh88YfgVBZx19e7aDWrwYPjb0wZn+by9bE0sxxKgAH3wwQ41bNhoO9xdOveyBdMHViOHXWXSPioYcj996oKaP2+x6mmlL9K5a9c+atLEGWrvnkMpdzFdunjN9d1feKGVqwJ4c/4S13Osc5J++IE8stkj7mjgw8QdaaO/Gwvk9bDd/0BB13Pw80//dPmBylHahJ1a+ujSdZc75EFpA/7+4z9cdtc//iL72ZdffGeXuW5WmnS24j916hsp0yQdPrPz8UY1ZPBI1dnOxz1Uv75D1NIlq9Tlix8b9lFBmFGfjBo5wYpHT5uRI8arbVv32PF37KKIuSsffeL6bkHTR3pewMJv3RZ1HdYTDX99rB13gL+3WfXTryHT2uHDc5dDh0nyzVc/qg3rt9j5Hd8HadCr1wD11qLl6uKFq5H88gL59uTxc2rOnEX22Xwo68hXUybPUgf2H4skBFCO9Xj6lQn4ee7MpWy7D89edj3/7tu/q/Xvb1FDh4y8WS9362ufHXhg/9EcxxflD/UP6voOHbrbcUZZQr7R7fS4yHYjbhAnfGuc0We3e1ZeGzjgdbVq5Tr16fUvDfsgoog5vFdPB6A/RxnQn4GHHi7i8vvo4VOu59hRLt+TCUitkyQZLebQgI4aNUEVLFTcyCg6DRo0VTt37Itc4FCpDhs6ShUoUMzwU6dp0xctMXHYcO/HZze+drnPKl7G/h2ZFAt077u/gPEOB+zMQqMi/QzislVRoMK9968PGf7pNGv2kjp08LjhPhVff/mD3dgVKJhl+OmARdao+L/64nvDfSpQ6N9Zs17VqFnX8FeneImyavr0ub6V9VNP1TfcBNGsWcuUeQZxR6OfKu6vp4j7nDcWGO5SIQU4GlhpE0ZIguo16rjcbflgp2ED0FDrdu3bd7XTZ+bM+eree838FWclevzoGdWuXRf73Cn5Hh2c6bZ710HDfSqQ1iuWrzV2nuoUy3pUzZu7yBJ8/4wk5lq0eMVlq4tCyfhxU7LtsGEC4hJ5evKkmYH5rGjRUmrBm0t9G0mJbADDuMORJn36DHKdUefF0083Udu37TXcpwJxRRpgs4j0U+fRRytY6fCWb1nXwVEkulu/PInyqR9jgm+P33/68Tc1etRE43vJ8GxYvzVlfSGBIGvV6jXj+BQdhB8dUdg3bNj81jvLVDT8iwPkA+SjMmUqGWFxwLd57bXO6splt9j0I4qYw6DA3X++z2Wrp/NZS+hJv1KxI428mBtIrZMkGSvmMOJW3BJBMtGCgOAIqkR19uw+ZAzdpuL1YWOM0RIvpJhDA3H9489VaatCkH768cGmHYa/XmBU7K9/e9hwH8SsWfNDVZIAvWdUKtIPP9BQno8wWoqKt23bjoY/QdSsWc8WWdKvuMXciYhxL2fF/cL5K4Y/IK+KudZtOqgRw93T1Tp+DWcUkBenTJ5pVPCpmDUzfD6GiOjZs7/hhx+tWrVT3br1cf2WhJhDI4+8XKfus0YY/GhjpUmYaSYpTvwaVweMfqfqOEuwczeVvw4QU/I7peKZZ5ra+V76pZOumEN+w2G1lSpVM97rR5Sz+nbvOqAeDhCIOujg77E6KDVq3OrQJiHmcFvGs88+Z7zfD4i6XTtTH8JMMeeN1DpJkpFiDkPN+gnRAIlfocLjqm69hnYBf9JquAsVLmEk6qBBwwMbaIDMKQUQMm2lStVV/fqNLP+bWIKhrr1tWvrftm2nlA2IFHOYQtNH4zCSg57pU089rZ544inPeIBUQ924rkcWClTgaLjRc3766caW/7U8R+ww5C/9k5w88aHxDfDdqlWrZX8jfKsqVWoaYYBoDRqlckChbtz4eSNsGIGrVetpO53rWo2cVw8SAlk2aBCFlavUyAZpqrspWbKc6zkad7+8YsddVMQ5ifvyt99xvTvLCr/uDucuVa5c3WUj0/92iLlUo9Zh3+8HyhJGdKW/RYuWVrVrN1AtW7a1aKOefLKe52hR2MYVyw2k27vvvk89ZtUpqEtqWN+nbNlKRr2jk4SYA8jLzt8YlUQ9V9OKL+ogvw5gjx79U9ZDUcQcpq9RT+n2f7vvEfWEld9Rjzxt5XnkIa9ZhWFWJ1f6J8Gp/3XqNDDclixVXtWq/Yx6pkFT6/mznvHFbEVQ2NMVcyhzj2j5G/GvUrXm7/VyLVWkaCkjLCDMVD/KkVd+LVKklKpWvbZ6yqrf0AboNvdZ31sPX9xiDkIOeVwPD74BxCzqM6QzwibzATh72j0VKolTzF26cM1VDwI5slmx4hOu5wf3HzPekwlIrZMkGSfmMBUppxpQqE4cO6v+IT4UetudOvc0EhrrHuRHdUCDCDGl2z9mVRZYXyIb9l+szIihZpnxsLZO+qsjxZwD/OlpVcJShCDTz5mz0GhIJk+eafjtgMZCipUXX2ztWZGh51+2rHtqCWH5+Opnhq0Dwqg3MgDiChWi/p3w9/lzHxkjWC9YjZv0UzJsqLsRv+eeB9X8+YuNRgrvwBoqWTm2bdPRSDP82wGjBro91iLpz6VbB6+4YyrfK+4YQcYUjG77/PMvG37KsGFKUXeDDRCpwnY7xJwD8lq9eo1sQYN1Pp99+rVdJv0q7LAcOnDc9R6UgdGjJ3r6i7hWq1bbZY/Ohlee19ltdd5kHVG16pP21JZMT+RlNOQy/iApMefw3HMt1Zeff2eECUs8vDp8m1OM3kcRc+XKV3HZ1rcadpnfAepniGz9eyLNUo3G9+jez+U/OkZLl64y/Me/sTZSikasUZW2DumKOT38HTv2UN+JsoR6aOmSlUb9j6Uy0m8dhLOE1XGU8Z02dbaRtnjHUKselAc8gzjFHNrKxk1ecPmPOg7rBuV3xXdCXa/bQvRi2ZP01yFOMQdkXShn0RAW/bl8R6YgtU6SZJyYmz/vLSMTfetTOB0mTZjuKqSPWz0evwSWjQFGgFItLJ42bbbL/3utgof1dtLOwUvMoQe0d/chw1YHQkZ3g1ERmckdMP2p22JUx8/WoUSJsi43GBGRNg4tXnA3Tq+80s73mwJUoIWLlMy2x/cK2mCAhd9yykMuSJacs55LASunInXS3c36wvPujRNoLFLFXe/FI15B4QLp7Ga9XWLufqthPXninGGbU/BNy4hOwMrlaw076UaOFq9ZHTw6JzsaGLWWNhKMBsrvkKSYe2PWm4adDhpAjJTpbjAiEZQvw4o5CEi9LJYq/VjKjS0YxdH9btGitWHjcOL4WZctRh8vXri5RswPLHDXG3zUn37TrTkRc/j3xvVbDVsd5C/dDUbsg9oMdDx1e8Rj394jhp0ORpakwIlTzL29bLXLb4y+BS0ZQvpjVFZ3g40R0s4hbjEnkWJODohkKlLrJElGiTkUQlnYsOtFfiAvyojh48OHzJ2hGKHSrxFBhvr8s28NOy8gZnT/Gzzj3yB4iTksqpZ2EruyEe5ufOp9ATEWS+t2ixevNGwk8k68Zxs282wMUMj1RegYyQwjGrDTTfe/5UttDRsHLHTXbTENJm28WP72Gpe7CeOnGjYO6Yg5r7gH9UgdFi162/Wul14Kvh8yL4m5MGtm0uHTT74y3hWmksYuc90NFuxLGwdMl+u2EER+jb0OGjNZFyUp5rzKoQTpL0fvsdNS2jmEFXPye2I3vLSRYHem7qZipWq+cXjuuRddtqNGTTRsvJgxfa7L3ew3vAVvTsQc1mpKO8lPVlpK8XH1indHFd9AfvcJE6Ybdl5gx7buLi4xB6GkdzaRhzDlKu0kmLnRvxdGG/3SmGLOG6l1kiSjxNx+q/eiJxjWsvhlHsl7725yufWaopSFfmLIQgYwyqRnbDTy0sZBijkMsYeJBzK/rGz8jl5BhajbrQ7oNen06T3I3h4PsIPLK1yyUhk/zl8w6WAKRp8uKFWqvGEDUHD10RV8y6DGTweVkB42jCJIG4d0xFz/fu4djBPGTzNsvDDiboXL69s65BUxh5GzoHjkBOR3rAvUkTZe4OgSPYxBo8aYutRtsYlJ2viBsqK7TUrMrV4VruyC6tXdMwtBo+tSVPg1rvPEbAg2vEgbLwb0H5ZdlwwZ4n2NFt6pr8HCdHHQiJAO6lw9XOiwSxsg6/WwYg4d+zDlB/GS06DHjp4x7ADiqwsV/O13DJAEsz36O+ISc+vf3+zyF2sQpY0XqKfl0ha/3a0Uc95IrZMkGSXmcJ6SnmDvv/eB8XH8QAGuVLl6NqPFujb0tP8ipuj8hJIf2P2ouz+wz7tXLMUc1gBKGz8Ki7Uxp0+dN2zAe+vc4vXJJ+unnBoJAyouWYDPR/hOei8cGy/kcyBFO+5VlDZ+oILQ0xn4NZxRxZxXr9pvd6oXMu5BFVReEXM4q0/a3G5QkethxBpFLyEBChe+NfUPolw2nxtHk4D3ItRzuMdSd9uoUXPDxkHmZb/GFedb6naPPfa43TmRdumAXYa6302atDBs/EB9Jsu6Vx2XrpjDCJWXf15g85T+jv37vKdNZXw7dOhm2PiB8Olu4xJzOKtQ9xdnhUobPyZPmuFyu32b97FZFHPeSK2TJBkl5jASpycYpmHkx0kXNHr6FAUyh18D4MeUKbNc4evb13tqMCdiDru7dLenTnxo2ABMGctRPPTaceSKtI0CCqA+zfjww0UD14dI0EvXw+S182vqlDdcNhgJlDZxEFXMIe56Dxyjh6kqGR0cMqq/D7uypI1DXhFzECnS5nYDoaGHsXmAmNNHhZC2YUeFQCaKOcRT351eMKBuCSvm4Kc8kqRCxScC4xsW2UEfF3KUPwq5IeYwmqW/w+/c0cGDRrjsFi1827DxIykxp4/mYs1xlDKwQ3QesFFP2gCKOW+k1kmSjBFzcngahB2eDgMOw9T9xk5IaZMKHOar+4EpKGkDckPMgeXL1rjWADpgZxqOUMHND0E7Vr1AQyk3JrR8sU1ocNaaHhYc5izfgR3Cus3KFe8aNnEQVcyhgpBrKmX8gpCH0e7Y7n/2EcWcN2dOX1DDh4+zR9uwABsNGkbXIKwd5EYAPzGH3/QOHM4h9LLzIxPFHNA3GgE/8RJWzAGca+l1WDOWC7z88mv2mlB0zKJ8PyCPHsLBu9Imp2SSmKtd+xmXXZTOdRJiDiJJLy+Iv6y3gsAB3XqYcEKAfAegmPNGap0kyRgxh0XmMjOEWXgeluPH3DuqBgwYZtik4uiR0y4/MB0pbUBuiTmw+K3lxjZ+HRRe7O7F6BcWg6eqjK9dvWH4kRPeW2c2VDhCRbfZtnW3YRMHUcUcrm6T4c8JuLJNvsOBYs7N/n1H7bPGvDonqfATc/g2ul2z5i952vmRqWIO5zDq7v1mMKKIObDu3Y2GUJTgXD6ccXfwwPFQ3xLnROru/aYnc0ImiTn5zdHuSBs/khBzEFlyBicn9O/v3W5SzHkjtU6SZIyYQwGUmSHOBMPWb91vNPTSJhVyNyjEnFeFlptiDtz49Gv73kR5NpoXza0G7dRJ73V4AMd/SDc54Z131hvveF7cmbpnd/SrmcIQVczhuBQZ/pywZs37xjscKOZugkocV4V5NTgoXzgPrl69hvYIQcNGzW1waLNu5yfmvvjcvVkG1yp52fmRqWJO1hF+o+9SWPg1rjoQFDhHzevwXgmOJwnaTQtqi4OCjxw+adjklEwSc/IbYaRZ2viRhJjDpgqvspUufjvHKea8kVonSTJGzHmNzH3/XbiGKgzyrCPsWpQ2qcDZR7ofD2bAyJzOb1ZDhTsrccAmTrTXTzeX+J2cjwX/uh1GAXDZfbp4HREjR+a2bgkWWekSVcyd//Ajlz3O5ZPxiQIWlst3OFDM3QQHfMs4YWoO+divMZBr5vw2QMg6BXcTe9n5kaliTo7M4UoqaQPSEXMO+E4ou717D7Snp70OLXbA9YDSvUPdug1dtvt8RFBOyCQxJ89AvN0jc+jQ6HHGyQqynorCihXe50BSzHkjtU6SZIyYQ2LKA2HjXDOH0Svd79at2xs2qdi6ZbfLj/Llqxg24HaJOYlTIePMM68rWjC1Jd3Ioz9efLGNYZNTXnvNfcbciuXvGDZxEFXMyaMBcHCstIkLijmlvvY4Ny3M+kkp5vxG5oDeaEQ56ghkqpiTU6F+y1FyIua8wPWBHTp0NwQL8Lt1p4m4dWCDj11OyCQx16CB++aE271mTq4DzsoqY9jEAcWcN1LrJEnGiDlQr34jV4L5rQVJB7mbFbu3olTsAOfS6eHzu9YlU8ScDiotLGbW/cZRGtJObkRJZ9dvKnBBuh6OfmmMkoYhqpjDN9I7FEnE3YFizjzGAUsApI0XUsz5jcwB/Zgd5OsoO/kyUcwhnvqO65Ilvc9yBHGLOQf4g3tUdb9xp6lXGowdM9lld6fvZh01coLL7s03U9+B7ZCEmAOlSt2q91MdmZQuFHPeSK2TJBkl5saOmeRKsPff22x8nCBQUTvIjGSfMyd2a3147iPDjyDkSeZ+B0dmopgDaGD0b4C/ZWVm737628OuMEQ9jy8VGC3U/cc5c14NgR96Ogc1zlHFHOIuN5NcPH/VsIuDdMScV4Xp13BJMlHM4fYO/V1hp9ulmAsamZONAJZKSBs/MlHM4Zwv3W1Q+iQl5gDKnT7aj8bZK8579xxyhSHKOXPOe1KV9UwSc7Jua9euq2HjR1JiDmdF6v5u2exd9nOCV93kl98o5pIho8Tc4UMnXQmGown8KmnJ2TPuxesDBrxu2HTu3NNlM8bqNUobPy5d/Ng1soepBmnjkLSY27//qL3d3KFr196GjR/y2jOv9Ta1arm31w8ZPNKwyQkouHrhxOiJX0UtkeugkCZ+FUFUMQfkiMPQId6jrzklHTEnRQzwSj8v5M0BmSDm+vYd7HrXzp37DRsvEGfdXZCY69Klt8t24MDhho0fXYXbpMTcO2vMTUJ+VK5Sw+V20qQZho1DGDH3o5Wn9LoE61mljR+441b33+suZpRN1H+ODf72CocXciQaZd0rnTNJzCFueocZogXvlXZe4D5n/R1xiTnc+6v7iwOQpU1OoZjzRmqdJMkoMffD978Yo2cnjp8zPpAXzcS1Pdu3mWd8YY2OPo2GxaBeFZAXrV9p7/IfO+OkjUPSYg7nPek29977YOjM/eij7kvHvdbbnD/3kavSw9A8dvJKOz8wtXLcZ9TSoVu3Pq5w4LgDaeMFKlHdXdCBw7iuTLf1EzA6GIU04x5+R9qY0ZPUsSOpbxk4aeVrPWxB18M5oCHD/Yi6u70h1uSgwZYjjn7fIjfFnJySGujRAZPgG8gOSZCYw/mSeicMguWzT7827CRffP6dcYVTUmIOoitVYwawplOuMUQnVto5hBFzeK8crQ8rPrDLWPcf4kvagJYt27rsgq4g05FXNOIAYmkDMknMAZw/qtuOHDnesPGiW1d3nRiXmMP943q+wRq6DRu2GnZ+4AzCVFfOJS3m5EkNXu1WJiK1TpJklJgDy5e/40o0KPJUlS8OtNQzh9+1L0BOlVarVsu38Dug8tUrATS8QRcVJy3mMIpVSJzYPm7sFN8GzQFrlPRCXaNGXV83GBXV/S9TppK6fu1zw04ybOho+1uh0Zzrc1o4wEXdemMJkY3TxqWdzsUL14x4Q3xIO4fZbyxw2eLf0saLJ554yuUOlWqYuGMNJeKOTsLcuYuM5zqYvtXfcb8ltvzSQmfChGkud1jUHzSqiQoV5wzqbkAmiDlcK6S/C2X40kX/WzMwMomz6GRcmjZtEfjtZF6uXbtB4DfDe+rXb2y8JykxB3CpfFAcsDayqHZZOsC9s0Fuwog58JgQKrjJJMhfgOlqXQSWDriLGJ1DvRONDhKu9JN2OrjGUN+NDwECMSvtQKaJuSPWt9E3HaCeS3VY8rKlq42BjLjEHJAdW7wrzJKDdWs3ZrcZPa0Ot1+5SVrMyU7shZDLXxAufHu0LX75M0mk1kmSjBNzP1mVIK6S0RMOAge7pWSCo3B26tTTOGgUu07lR3VA4sqra1BoNlsNi0xs9OrbtOlo+P9GwFZ8kLSYA6hM5PlBuNXCa30bCuC0qbONymLe3LcMW4drVz8zGgMcT4AFvV6FFIeIPi3O/8KZYNJOZ+JE94YSVBoY1ZOjjAj/wgXLVBHRmPXuNcBIMx05iod0P6uNMPpV5JjuwLSn7ha3ECyIEPegOzMBepZ6A4c8tnDB0uw8jnh5vQtniunvARj5QJh1u2+tBm3J4pVGfnLIBDH31Zc/GKNfRYpY39n6DvpO9k+vf6lmzphn3I/p8FStpwPzwbkzl9R94tYI1DHbrHpCd4dvj4ofB+PKd4AkxRxo166LXefotggf6jO5eQmkaoxl+fXKTwB1hkwHbEbB6LG0xTda8OZS9cgj7mOPhgwJXoqBjo5uj/dNnjzTEAf4bpgWlHU0ljv4pXGmiTmAM/h0ewhYLFf58vPvXHaYGerUqYdxbziIU8yhPFWuXN3lPwQV0sVrRPXK5U+Mm3qyipcxwq/7L8Pvl9/SEXOyQ9rqlXau0Tmv8oY46NOzdeo+a9gkjdQ6SZJxYg7gGJGHRUUEiluZqYnVC8eREThZXE45AFT60j/JoYPHPbfXY2cYTomH/7WsBsLL/969Bhr+SXJDzCHzY82RFHQA13lhBBLHitS3KhWM+kibxk1eMCpSyaaN21y7AR3w7ZAOON4Fi2vlNVYAa7RSHS3zd+v9r1iFUrrFyBYqQ6RD48YvGBU7gHhKVRFjqky6AxWsxhrfCIfP+jUQmzZYcfc4zkXGHf5IG4z2fvtNcNwBrlyTbnF0QJUqNSwxWcQz7ZHu2L0p3UEMYj0VrhOqKDpDznP935kg5sC7Vs9fhtWhSJFSnmmPaVa9MShQoFjKxmDGjLmGPwD+o6zXrFlX3f+AO6/L89ySFnMA6YSwwD8IqnLlzPwFcE+09FcSVswBdKxkHgEQkTfr3LaqwbPPedabGPnEaKb0Uwed9GbN3EthAEbwn3mmqV3WGzV63tN/fId//OZdTkEmijnM3BQt6l7nBZBvq1rCBIcpo+6QSzp02zjFHMDyHJydKcOE96K+bdWqnd1myJFsgNmooOUmSYs5dEyl/8g7VavWtOvMN+ebu4YhnqWbpDa0+SG1TpJkpJgDn934xj74ViaGHxAdS5euMvzxA2vxvBo9PyAwUAlLf7zIDTEHIESw7kiOuKXipZfaevbGvMD1O/K+1VRAbHyTQsg5oBHo3r2f4YcfqIBxTp2fCJPIdVk6ED5B/mAqKK24h/y2OLdLjojonDxhjoyAX6xKsprY0BDEK6+0tzsh+m+ZIubw/SdNnOHZKfGiXr1GdsMhD7ENU0ljs8A9IcsKNj+sXPmu67ekxBwO8K4vjmUKYvDgEb4NpU4UMQcwIubV8QsCBzynWgbj8IPViLdv383www+MXHfvnnrKNxPFHECe9OroeoFRL3mOadxiDmCUO0peAxUrVbM3AEq/dJIWc8gDlaxwyHc4zJtnzjINHjTCZYO0D1NPxInUOkmSsWIOIAGnTn3DHknx6jUC9MpbvfyaPZon3acCFe74cVM9R1cc0CNp3vxl+5or6d6P3BJzDphGQhgfftjs1TpA8GGt0MYNW1NWjhIsoB87dorv9BNA4YTAWLXi3cj+A5z4j96qPDjaAaIHo7Hbtu2J5D8qiS5denkK3lopxBxA3HE2llxX5Bn3ldHjjntp9XOgdII2/yBeWDCt7xTUQXnBCN/yt9fYYcKaSv15pog5hwP7j9m7qGUlD1AJo1HEsgDn++JcM90Ga86kn17gqIwaNev61ieVKlW30xG28hy8pMQcjiZBvLAUAp0HL2GL33C1GdYZSv/8iCrmANayYtRZimUdlFGst8Vh31HzO9iyeZd9q4RXWoO/2iNFTWzBFMb/TBVzAGsdIUjRTsl4AqTRq692tkfykjqaRIK6Ax0VlAOv2SeA74RD8ZFXUwktkLSYA9c//tzugHuVD6/12ZjC1jdO4BxbaZM0UuskSUaLOR2sFVq1ap3dKGH9BKZTvW4wSBck/PK337EXimIdwcyZ8+zTu8MW9kwABeLIoZP2kPPIkRPsXVTz5ixSu3cesEdzpH06XP/4C7Vm9Xv22jb0fCZOnGGfB/j1lz8YtumAqV9U9tOmvGGn84Tx0+z1kmFHu/xABf+2JWyGDRtjj9atWL421KYGHTvuq+KPO9Jt5479tr/Y6YeNGjimJ0wFh8YOywbmzF6oXn99jFU+JtsjPXLtVV4Ba3Jwn6/9LYaOtgVclJ3UYUHnb9my1WrE8HF2OcGovlx3mBReYk5/funCNXtaacSIcfYOzrfeWq4+uvyJ4U+SIF9hzRw2l40ePUkNHz7WzpcYPUIHR9qnA0blN23arqZMnmWvucOh7FjaEfYg7LwE2hEswp80cbo9/TfVqt927dzvEjyoj/R8gUEG6U/cYG3txg3b1ORJM+36dqxVf+AWlrCnPNwOMLAyc8ZcK8+MsutgtBd+7TTyGL5zEncCh0FqnSTJM2KOEELuBFKJOZI/ObDvqCtfYG2dtCF5C6l1koRijhBCchGKOeLF4EHDXfkCN5BIG5K3kFonSSjmCCEkF6GYu/PBZg+sMfY7ykOCdWQFxfrX3F6sT+JHap0koZgjhJBchGLuzgbrDZ1drIWLlEy55vPXX/5lL+zX80TNmvUMO5L3kFonSSjmCCEkF6GYu7PBznx9xyWOtXr++Vb2mjh9dy42emDjEo4l0fMDdu4HXdNG8g5S6yQJxRwhhOQiFHN3Pkhjr+Nv7n+goH0QMwSc1xEbcINTFaR/JG8itU6SUMwRQkguQjGXP1j//mZVvrz/+ZQSiLwtm73PfyR5E6l1koRijhBCchGKufwDzj9buXytatGitbHBAeDQXhxmO2vWfN/DjkneRWqdJKGYI4SQXAQNPA7edcACeGlD7jxwCPhHl6/bh93v2XNInTp5PuWdtiRvI7VOklDMEUIIIYTEjNQ6SUIxRwghhBASM1LrJAnFHCGEEEJIzEitkyQUc4QQQgghMSO1TpJQzBFCCCGExIzUOklCMUcIIYQQEjNS6yQJxRwhhBBCSMxIrZMkFHOEEEIIITEjtU6SUMwRQgghhMSM1DpJQjFHCCGEEBIzUuskCcUcIYQQQkjMSK2TJBRzhBBCCCExI7VOklDMEUIIIYTEjNQ6SUIxRwghhBASM1LrJAnFHCGEEEJIzEitkyQUc4QQQgghMSO1TpJQzBFCCCGExIzUOklCMUcIIYQQEjNS6yQJxRwhhBBCSMxIrZMkFHOEEEIIITEjtU6SUMwRQgghhMSM1DpJQjFHCCGEEBIzUuskCcUcIYQQQkjMSK2TJBRz5Lbz45lP1M7/UVHt+rfyau+/lVH7/620+ucv/zLsCAnLTz/8ZtVr96k//vFe9cc//dX+/2/MU4SQXERqnSShmCO3nR9Pf6J2/G8V1K67yqm9dz2q9t9VKqWY+/vu4+q7UbPVr+evG88IgZiDiPvPP9yTDcUcISQ3kVonSTJOzH395Q/qoYeLqIceusUnH39hfCRy5xBVzH3Vd6L66K571NW7/qyu/9vd6seFawwbkr+hmCOE3G6k1kmSjBNzX1li7g9/vNdVCV+/9rnxkcidQxQx94+f/ktd+h/33xJzd/3/7d13nFTV/fDx0WhM8uSX8jN59AkmxsSOvWDvgIotiL2LvWFXQFSs2FHsGsWCoggoRUUUBQREkCa9S+9sYwtYvs98B2a593tmdmd2z8Fd+fzxfsWw5965OzPMfLjl3G1kSaMTnXHYuBFzAH5utnVCIubqsQFdFsndzUZK+2Yj5N5mw2VEr/r5POUTc/rns7Y6MBZzy1tc4Y7DRo2YA/z6+qvRcuGFl1V6+aXXnDGIs60TEjFXj3VpP0OaJT6UExN95JTEB/Lh07OdMfVBXjGXtGrEZJmzzcGpmFu0e1MpnzzHGYONGzEH+NW3zyexv0833HCbMwZxtnVCIubqsY015tJWF5Q5fwYoYg7wi5jLn22dkIi5emxjjzkgG2IO8IuYy59tnZCIuXqMmAMyI+YAv4i5/NnWCanex5x+QBesWFWpbNX3sZ8XF5XLd7MWyPBho+TT/oPkmxHjUv+/aAMfoltdLrJo3o8y5dvvZVC/CunXs0yGflou0yeskaULf0j93C5jFa/4QQqWfi+F67xww+RYzL3/yAwpWrqmUvHy+HPhU+mKClkxdYUsHPqdzHr/W5ndZ4IsGTFXCmeulPLCNc74quQbc6sLyqViaXHK6qQ15jWv1rIiWTNphqwZMFAqevWRisFDZPW0WbJ65ar446xIrn95oVQkrS6I/yw2rvR7KV9RlFSYUlGYfaxVWlAYs6b8J2dMdj8l38fLZfHCaTJj+iCZMLGPTJ3+uSxcNFUKCpbK6op81pX8u1T+vRStKpTCdcrKVscea+WqlTK7cJqMXPqFDFrSR8avHClzi7+TkrJSZ11RBeXFMrN0pgwr+VL6FfeV4au+kmll02V5eaEz1hdfMVe4sjT1eTHi67Hy6aeD5MvBX8u0KbNl6eKCvNe3OvnaRj+rop9B5WU/pD7n9CTzLz4fIpMnzpDy0h+cdWSi65o5fa4M+fJr+ezTwTJi+JjUNhcWVP26WLo96W3T3zv6s/Lk77pw/jKZMH5acvuGyuBBw2VSchuXLFpZ5fOgv7OO0bGDvhgmA5PGj5siC+YtldKS/D4nNiT9/WfNmCdDh4xIfW8MT74us2fOd56XmtDfe+53i1KvU//kuocOGZl6/fR5j45bVbw69n7R59Kuqyr6ODqt15hRE1Lvi+h7N5d16d+h6OO//dZ7sb9P11xzU+znBebzE8RcXjE3buyk2Ni33+qe+nN9I7/63zdjP7Mef+zp4B8oFaUiY0Z8Lw23Wi5bJxbJ3xILZJvEPNk28Z1sl5gl/07MkB0TU6XZTjNl5qTol6frusPHyZGJL+ToxABpkugvxyb6xWKueaKnnJZ4T05PdJOzEl3l1l37OuuorZLFZTLgmh7yVKKVPJO4Rp5LXCUvJi6XlxOXyiuJltI5cZF02aKlTHjkI6koyu25zTfmFrW8I3Y1a0nPT50xGRWWy49XXyc//CohazZLSMUWCSn7bUJKfp+Qoj8kZOX/biIljz4oa4or1j5Oo21l7t8T8t22CVlwxhHu+tYpHDFERuy/iQw/ICHDDkrIuKuyj41aXbpG3j0jIV3PSkiXcxPyxvkJWbVipTPO9ZMsWzhDXnh8Z7mvXULa352Qu+5JSLv7EtL2gYTc/lBCbn0k+WfPby1zF47P6YNbjVswUFp0T0jzngk5uVdC3p/2VOrPl5UskTtGnSTHfJaQI79IyOGDEnLIkIQcNCwhjb5OyP4jN5E3Fzwp5eXmH1LlZXLv4hvk37M2lW2/S8g28xLytwUJ2XpRQv66NCFbLk9Ii+LjpKCixNmW2qptzK1YVixt27Z3PjOijmncTMaMnpjzejWGossfdPCRqT/XL9dGjQ5z1l/d/Jq6jTff3MZZLur++x5OfsnmFiDHHXdy5XL/+vcuqT/T300Dc9eGezvrTjv6mONT4WPXp3/WuMkJzvg0vUPHRx99lvPztyGsXF4i7drd63wHRd2RfF/oOLtsdTTO+/btn/q97TrT2t/9oBQnP6d0fPv2HWI/y/UxdYdG7179UvO12vWnHXlk01RAVvXZcNut7ZzlqvL3f2zv7EzZ2NnWCekXF3OvvtJF5s1dLHvtfYDzZsvkmGOaBXsDLl38k+yzfZFsmVguf00srTLmdk5MloabTJRrT/zOWU/azx1zIzoOkcc3vUU6Jm6oIuYulDcS50uXxLnS/U+XSumS6v+1tkFibvZC+fF//iiSSGSPuT8nZPmWCVm6zRZSMX+xLNzlz3Uu5spLK+TVR3eTh25PyANtE1XG3E2PJ+SGjgnp+O6hUl5W/Xvcxtw7kx+UT757Q47vt6k06Z/IGnP7jUzIPqMScs6URpV7A6eXTJVdp24m/56RkO1mJbLG3J9XJv+36Ncyt2Khsz21UZuYe63z286y2ehnVfPmZ+b0j0IbcwcedITMmD4n9SVo16t075VdR9qbb76b8zbq+r8ePsZZhxWNOaV7oU4//VxnfZno89C9W6/Kdd1yS1vnczyb0047N+e9kCG937NvXs/p5wOGOOvIRt+PzU5o7qwnk5123kOmT5sjV19zY+zPc4k53ZtXVXhH6etz223tsgYdMVd7tnVC+sXF3B133JPzmznt8iuuc9ZbW9On/ijb/KFI/pQocGLu75vMk93+ONeJuV0TE2X3xLfS+uzMQfdzxtzHl/WURxK3ymOJm52Ye/WPN8h/N7uics9cOubeTpwtPf90sawuy/xhkRY85pYUyprf/VF+TGyaU8wt+b8JWbz9H2RBg03qVMyVFKyUZ9v9rzxya8KJubvv2UTuf/TPGWPuuk4JebbXCaJ79Ow6o2zMnd1vSznho1/Jsf0S1cbc3smY22tM8vFmtZAxRSOl4ZTNZcepiZxi7g9Fyf8u+Y2sqChytqmmahpzbdrc7SyXi4MPOaraL1sbczvsuFtqD5hdV5qOt+tQd911f97buN2/dpYhg7921hVlY67RAe7ewqr8c7udZE7yH02XXHK187PqPPLwk872bEgPP9wxa1Rn889/7ij9+33hrMvSwDnxxFOd5auyyy57pt4f0T+r7v2lOzF22KGhs67q3HJzW2ddipirPds6If3iYi5KP5jT5yIUFZbLsuSX+qhvxssRRzSJjdPd3tOnZQ6omihbJbLvLqXyh8T6mNvmN0tlYL/Vsnzxj8kvlbXjVhX/JDMnrZGrTl4Qi7k9E2Nl1qS1h/qiVi7+XpbOW12p0xUTYzHX/YFpsnxexTrlUrDQXUdNjHh6uDyUaF0Zc09ucoN8flV3WTlthVQUr/0Xtf7rrmThKpn22jDpsvlFlTH3buIM6b/XLVWeCxY05krWSMVW/5A1ic3jMXfjTbJmxlxZU1SefKzk71BQKhVTZkhhy7NSMbdo62TA/S1RZ2JudfmP8vYTB8jjNyUqY65Du81l/NjuUlSwLPnzta9DedkaWbpsjnT76PJYzF3zTELGTv/QWW+UjbkT+ySk2YfJqPv8/8nwRZ/IkuJFUlRaIoWlRbKoZIEMXNJbmn7zl1jM7T1+c2k06Q+y8+REKuauWnCqTFw1QZaVrZCC8hJZUr5cJpROkGsLLorF3O9LEnJveXtnm2qqJjH34gudnS/0885rmTrPSM8n0+V1D5xGVudX35Jtk1/m0bEaQ3adUTbmojTq7rnnodTeof6fDJR33+mZ8fysLm++62zjY48+lfwiX5LaNt1G3dapyW0+wewJ2mffg5zzsqJszKXdfFOb1J4iPayrhwD1f/Xz8t57H3bG7rb7vpX/rXHXs0ef1B5G/V3UwgXLZPDAr2S//Q6OLae/03ez/e6dzVXPHn2dQ596eFrPa9M9Xfqc6u89fep30qLF2bFxe+y5f7WRlelw/anJ9eh5hMvXPad6G8spk2fJLbfc4YxNq+px9Ltt52QARseffPLpMnb0xNTzHn3vvvD8K866P3jf/WzQ94qeApCmR72iy1x11fWxnyu7jo2dbZ2QfpExpx+Mn3/2Zdbdx/phd7gJurvvfsAZV1OdX/pe/k9iVWXMbf+/K2XZ4szbokqTUdeqxfxYzF173AxnnLVBrmZNPodPb/OwdFgXc49vcrOMfXG4Oy5i3scTYjH33ianS9my7Bec1D7mPnPGpFW8+IZUJLaIxdz3nd+sMi5Xde0iixtsVqdibs7kwdLxhkRlzD3c+lfJ99RsZ1xaRTLuun1yVSzmHul+sDMuKlPM3TTkYFmxaoUzNm1hMupOHPuP1GFWjbndv01IwwkJ2WXyJvLm8ueloiLz61hR8YO0L24Ti7k/lW0hxRXZ3yf5yDfmVia/uLY3ezUeTUZSVYf/xo2ZFIsXdU/7B51xaZliTj/rNMaqiqw0/Z00kKLLf/zRAGdcmn55t2hxTmz8vfc+5IxLszGnz997760/dJrJ6691dX4npYcKdS+dHZ+mX/z2+dYT7O240HRPkt7/O7odGqB2XHT8xRdfGRtf1VWd05IBaPe+6ndNtveifmfpa2qfT5Ut5nSZCy+4LDb22mtvrjz3ztLxn/T7Ivb3Y++9D6j2okCuZs2fbZ2QfpExl+lfGZZeKBFd5j//OcMZU1PnnFoRi7mP3q/+fJqp41bHYm6fxCgpXpn5L3zahoi5OUPmyYOJNpUx13m3R50xmXx2TIf1MZc4TRYPmOiMSQsWc8kPs9Lf/SUWcz/c0rrKkEtbcXGLOhVzg3rcGou50cP+64yxVpWskpue/FVlzF31XEIKi7KHWaaYW1y0wBlnvTm/Y+WeuXTMnTZrf2ectaB8cTLmNqmMud+WJWRGxWxnXE3kG3MXXXR5bOwVV7aqcnxav48/j31e6eGxbOfPZYq5O9rek/NVx1dccV1s2Uceqf7QpEbTrpET4Rs1OjTrP3JtzJ17XktnjKXPkV1On4+xY7L/fU/TPWLR5Vq1usUZE9qNN94e2wa9+MGOsXQvmu6RSy+j/53tvWLXr3tLsz3/UbqXOLqcyhZz346bEhune+hWZBmbpttw5pnnx5br3bufMy6KmMufbZ2QfnExd8CBh+f0l2XRguWx5Y46+jhnTE11ffMHebzDGnmiw2rp2KE8+a97d4yl4WZjbvGczF8KaRsi5paMXy5DOwyWYR0GyVcdBsrELtWfSK0mPdk/FnNTOnzgjEmrfcxlPsy6euIMKU38bn3MbbqZrJmzyBmXSdnIkbKgQd2JuWmje8vX/R+V4Z8+Kl999qisKip2xlh66PWWTr+OxdycxROccWk25u4altvfiTnFs52Ym1yS/XGiGhb+PRZzoyrGOmNqIp+Y0z+P7j3RQ34zpuV+i7gLLrg09jgvPP+qM0bZmNPz2LJtk6Vf5NHPRd1Dt3hR5veKpYeKo4+r06zYMcpGmU5nYcdk8tBDT8SW0+evqj2aafo7RV+jJk1PdMaEZF93PWw+v4qLTqKuu+7m2O+s08LYMerA5PdReoy+fnqajx2TydIlhc73YLaY08Pg0XH9Ps6+tzZKT0Ha5u/rH+P666uOM2Iuf7Z1QvrFxdxdd97vjMkmeshCT2DOJQJDqSj9yYm5eTOqnqpkQ8RcTc1886tYzH178xvOmLTax1zmPXPlnV6OxdwPp7RwxmRTNnpsnYq5mvkpGXO/icXcjPkjM4xby8bck6MvccZkolOS2MOsue5tal7UNBZzwyq+csbURD4xNzr5BRsdd9ll1zhjqmIPi+m5aXaMsjG3735VH/aOGvrliNiyt99+lzMmm/e6fRBb9sEHHnPGKBtzkyZMd8Zk0vnV+LlUGnN2TCZ6GDB6/p/u4bJjQpo4flpsu6+++gZnTDYfffhpbNnbb7/TGaNTs0TH6Lnadkw2+tzY92+mmNM/s+f75XLIPi16moB+B9qfRxFz+bOtE9IvLubyOfdtx512r1xOpwkg5vyZ1WV4LObG3fiaMyYtVMyVNjstFnNrqjgXxiobPeYXGnMjMoxbq6Yxp/YbtWllzO01cYucY+6s4lNiMfdlxVBnTE3kE3Otk2EUHffuO+87Y6qiX57RKNHPlUyfJTbm9tv/EGdMNnoxV3RZvUjCjslGT7SPLnv66ec5Y1RNY65Ll26x5fR8ZDsmExtzO+64uzMmJHsBR5cuuZ+zpxdDRJdt3FivFo+P6fFe79iYi1te6YzJJteY0wscot+XegVsRYb3XjYHHnhE7DH0ggw7Jo2Yy59tnZCIuXXLhYy50mKRyd/+IB+8XS63XV4oLQ5bKkfttEAabT1HDtxqthy81Uw5+C9T60fMJZ+jwu+KZO4XM+Xr+z6Rvsc/K933fkDe3uY2eXurG+SdrVpJt62ula6/uWgDxlzmw6yr/vLPeMyNzu3Qn6rrMVdR9r0sXThdJn6bfN37Xi+vdj5Knnq+oTz41P+T+zptLfc8s7Xc9dxWsQsgNlTMHT5563oVc/YiBp0x346pzgmRqSd0T0mmx6pNzEUP16mHOjwh3ZLRmQudNy+6rG6rXb/yFXOPP9bJGZPJzx1zBx98ZGy727Zp7zx32bz+evzCj8MOO8b5/rj/vkdiYzo99YKzDdnkGnM2sHbaaQ9nW6uiFz5El586ZZbzGNkei5irnm2dkIi5dcuFiLnSEpGeXdfIVpuvyGnS4Dodc+Uiy6eulHePet6ZZ87eASI6z9zPFnOlP0hJ4vfxmJuc/YPKqqsxp+fBzZ4yUB6/8/c5TxpMzK2VKbD03K7oGDVj+lxnXHUuveya2Dr0FlZ2TE1jTq+gtJ+JtdG06UnOYyhfMfdYPYg5fS/Y56U29G4e9vvj0kvj74nopMrVyTXmXnnlTWdbakPvaGIfI42Yy59tnZCIuXXL+Y65lct+kt3/VZJx0uD6GHPDHx0ij2ySedLgnz/mMhxmLV7txlyGWw5lUxdjrnxVhXR+uGHGSYOJubhcY05DKTpGVXcbrUxuvLF1bB2Zbm9V05jTuc7sZ2Jt6C227GOojSnmMkV8beieU/v9Ye+eUdU0MlauMffcc/91tqU2vhk5znmMNGIuf7Z1QiLm1i3nM+ZKipIv4j/jkwZrzF15VqFMGvu9rFz6oxQX/CQlhT/JqqK1Ml3NWldibthDg+WhTdZPGqwx99z/3CqTX/8mNVFw2YrVUl64RsqL1pvRecjPG3PJL2kn5qbmPjF0XYs5Paz6xkO7xSYN1ph767XjZc7s5OtQVCilJaXJOCmXstKKdcrllk5bEHPr5BpzekN1O646V111Q2wdmW7FVdOYKymucD4T9WKB/RsdWiNnn32h8xhqY4+5hrvt4zxXuTr5lNOd74/zz78ktv5e73/kbEc2Ocfcs27M2W3Lx5gqTkUh5vJnWyckYm7dcj5jrs3Na2LzzO3415WyYI77RRJVVy+AKJhTIg//5q7YpMHfvvy1rF5V9e+zYS+AyHCYNankt3+Nx9z4qc6YbOpazI0b/N/YPHOPtNlcliyYWs179ue5AKI+xZw+f9ExKteIiTrnnIsql9fPr0y3NappzGU6zDp71gJnXG1tTDGX6TDrhDw+H3LR1ly08tprbztjssk15uxdGTo+8awzxhdiLn+2dUIi5tYt5yvmVpeL/OOvZZUxt/VvCmR+NSGn6mrMfXrrJ7FJg/uc0cUZk8mGjbkMe+aSSg9uHI+5AV86Y7KpU1OTJN+Xr9z190jMbSKL5mX/F/R6xFz0syFTzKnzzTxxudxvM0r38ugdD9LL/3v7XTN+ltQ05tRhhzeOLVuTizSq4yvm6ssFEEcddVxsuwd8lvvnQy7shSc6N50dk02uMWenxWl+6lnOGF+IufzZ1gmJmFu3nK+YGzf6J/ndJqWVMbfvDrndPLyuxtwbR78ai7kFw3M7BLVhYy7znrny9g/HYu771u2cMdnktWdu1PB4zF15mDMmk1xjbuXiufJUq0RlzD1626+SYVL1hNJrEXPRz4ZsMdfrg49i46q65VUmeluv6PK7776fM0bVJubsxLwvvdjZGVNbvmKuPuyZU093eiG23Q91eNwZUxv2fXHyyac5Y7LJNeb0NbLfl3qOpR3nAzGXP9s6IRFz65bzFXOffPij/C6xPuYOaph93p6ospK6GXMv7/t8LOZWzip0xmQy/ZUvf/aYW/3N+PikwX/aMnWLLzsuk3xirmTa1FjMjb5oH2dMJhWrVucUc4tmj4vH3O2/Sl3VasdZ+n7mnLn1nw3ZYk6//HT2//Q4jbFMN7nP5p57OsQe5/pWtzpjVG1izk5wu/c+B6a+8O242tjYYk7Pa4y+R/Q8xHxe9+ro+22PPdbf9kv32C5bktvnp85daL8HM8Wcvnft1DoakXacD8Rc/mzrhETMrVvOV8wNHBCPuYbb5LZn7pP3ivOOubfunRmPuU6znDG19coBL8ZiblLXb50xVunSUvngXzf97DG3JvnhV7rp72P3Zv3+nR7uuAwK72uT871ZV5dUyMiDfl0Zc8OP31JWl7nnTFmLxg7OKeaWzJlk9sxtmoz/MmecNWf+GLmx46bE3DrZYk7Zw5jPP1f9vW+VfjbtErn3qd5VZl6Wq2FrE3P6+9iZ/l99NbdTHpSGi+6BtH8e5Svm6sthVv281/uYRrf9qaeed8Zls3jhCun27gfOn0ddfPEVsfXfcktbZ0wmn3z8eWw5lSnm1DNPvxQbp+/lojxCX+/gkW3dUR/27R97nBuquf0XiLl6HXOLF4r8YfP158z9eZMC6f1e1VH2ee9Vstvm7tQkc6dVvVyfZ+fGYq5LW///Iut++ruxmHttj8eToZL9eSpZWCKfNXvcmZpkzLWvOGPTah9zmc+ZUxW33x2LuZ/+8EdZM2mGMy62zJTpsmTnLXOOOTX+zN0rY+7LQxMy+42qD9UVL5wvH1+zQ04xV1pULM/cuHnsAohRQ190xkXNmvO13Npxc2dqkmnzhjtj0zbmmBs7ZlIslvSenUOHZL/1mdIYad78zNhjnHnmBc64tNrEnOr6do/YZ6OG4+CB1d/+TO83qvc91WUeeOBRKS3JfIjeV8yF2DM3dOhIeadrz0pLFhc4Y2ri/R59Y8+p7qHVkLLjrEXJkDvllNNTy9xxxz1ZD20OHzYq9j7U+/EOquY102lt9jKT+apswaWhHr01pdIJkLNtU1THjs+mfv+myfeH3tXC/jxKtzv6GJdeerUzBnG2dUIi5tYt5yvm1MlNK2JXs269+XLp8VaFLFu8fv16WHXmpO/lnmuWZZ1nbtbECmfdUdNGFMdi7uKtP5LFM9fvsakqunI1tc90eXCTtpUxp1OTdDviGVk2aVls/SWLVsmsnmPl3b/dkHGeueGnZT8fJWTMrSmskIrf/bky5iSRkB+2+qus+eLL5GOYQ5Wr1kjZgM9l6Xb/I4u2TuQVc7MfuzEWc182/o0s+fLD5HMUf4yygiJZMPwj6XvRVtK9RSKnmFP9u1wSizmdmmTEl89K4UqdAmPt61CRfKxlS+dI/0H3ZZ1nbsLsAc660zbmmFMXmAsh9LDYe916ZTycqV98TZqsDaS0XXfdS5ZWERm1jTn9fDrk0KNj69AA1YljM92PU7/Mv/h8qOy55/pDfRorn/Yf5IxVdTnmrrnmxthj5HrD+jXM4poAACjSSURBVFxE796Rfk51yo9M8aQhPGTw17J/8rWLju/T5xNnbJpGT3T9+hroHr2igvjedX0+Bnw2OHW4Nzo+LdP2pOn67PgLL7xMZk6f63yv6f+fPWu+tGx5ZWx8dfemnZv8Ho5+N+++x34yY9qc2HrtMhs72zohEXPrlvMZc0MH/Sh/2mx9zEUnDd75j4vk4O0Wyr82mxObNHjXTSfL7r+Kx9z44VWfv1G+6ic5ZYuPK2OueaKnnJZ4T27f91O5Y//+ctMOvZ1lauLtxq/GYi46afBb298lnf90gzNp8Nu/vjAWc/22y35fwtrHXJbDrOus1i+vTbdYH3O/SsiazRJSsd02UnHzjVLW4QFZdWVLKfjr5rJ8y4Qs+b+JvGOubPFSGXH47ypjbtDhCfniyIQMaLqZjLrjJBnV/lQZePku0vukhHxwSkJ6Nk9I99Nyj7nlC2bIUzdv4cwzp5MGP3j/7+XJTtvL3Q/+2pk0+KanNovF3LBJbznrTtvYY07//h/TuFlsGbX9Dg2lTeu75eWXXpMnOz4rjTOMSe3RqeYq2NrGnNLfa8+9GjmPr3t8brqxtXR+9a3UdBV6L1e7t0afD72Qwq4zbWONOY3eRo0Oja1f6WvaqtUtqedTn1fdA6fvhegYfU71vWHXGbVowfLUHHZ2/eq88y+R22+/M/kPictir5f9DlRVxZy+d6+8spWzjDrhhFOlU6cX5I3X35EnHn9Gmh57kjPm0EOPkRXLqz+/+4AD4reVU3oFrYZjw4b75LQ3cGNiWyckYm7dcj5jTnV5dU3GmMt2B4j7r1silzb+LhZzPV9a7qzXatt4hBNzpye6yVmJrtJq26rP58hV6co18kyDBzPGXKY7QLzX4HqZ329iLOZ6JppLRWHmv+ihYy4l+QXjxNwWCSn7bUJKfp+Qoj8kZOWfE5UxV9C6Vc4XQKQt7v2mE3OfHZOQ/k0S8vFxCfmwWSIWc4PaN5EPr985p5hTc6cNzRhz2e4A8er7zaVzn7NiMdd9aGtnvWkbe8wpHaO3u7JfWNUZNHCYsy7LR8wp3aOzz74HOdtQnSeeeKbKz7iNNeZUUWFZ6v6q9jmrzr33VH06RdqUSTNjv2t17rrzfud7sKqYU/ratmt3r7Ou6uje3urWnfbII086y6fp76cTXNtlNma2dUIi5tYt5zvm1Lejf5Bt/1RYZcwd0mC2TBi59i9A12dWxmLu3L2y3ycvTac0uXb3gZlj7h9+Yk6VF30vH1/ao9qYG9mmh1QU/yDFcwvl7U3iMVc0zZ0VX22QmFOjxstPW/6l6phr8FupmDg5r6tZo1Z8M0SGHvnrKmOu1382lZn9Xkkdgu3fplHOMacKli2UTndvWWXM3d3xTzJj9tq4mDC9Xyzm2nXdMWtoEXNr6bg+vT9JHWa1X1iW7g1Zvqz6PRrKV8wpnUhYI8rufcvkyCObyrQps6v9fKvLMXfOORfHHsP3BL9K5wvs3r136nxJ+xxahxxylEz4trpJu+OWJ7/bzj57/eTSmejFNEO+HJHz1CSZzJo5Xw7NMUy7vtU99XvbdWSjfzdaXX+rsx6VirkiYi7Ktk5IdS7m9M0yccK0mEyzqafpmyc6Vj8w7ZhsJk+cUbmcftjZn/tQWiwyadwP8tg9pXLWsSul6V5L5cyjl8oTdxXKhFGrkz9f/2Ggt/WaMqYiqVymppSJTkJs12np4dYpXxXIC1eNldv3/1zaHjBAnrvwa/m6R25zwuUs+cFVOLdEpnb7Vj658G1574DH5b39H5bPL3xdZvUcl7r4ITp+xbgFsmLMvHXmSnlB5j1zq4vXSNGY2evMkuIkOyaqfPYSKR2TfF+ss3q5e75QVnr+0zfjZE27O6Wi6dFSftC+Utq8mZQ+0iEZcckviHUnh9c05lRFUakUTBoj01+6Q0bf3ky+unIf+fr2JjLplTaydPxXqfPm0mML58+W5bMmpixLsufYZaJjli2aKcMGPiFd3zhZXnx+X3m181HS79O2MmfuqOTfl8h5k8nXbN6iiTJXLV5rdXnmqCkpLZVZyybKrOVrLSla4IzJZmrRxJQpxRNleknuX7Szy+fK+PKJKd9WTJSiiqpPLciV/t4TkzES/WywY6qjX6g6JchLL76W2jN0+unnyYUXXCb33feIfD7gy9TVjPl8meuXZnR7pnr4zNG9dBPWbaNOSnvWWRfIeee1lDZt20uPHn1kzuyFOX9Z6/lV0e3L9ZCZRkp0OX1e7JhM9LnTYEwvp5/Hdkx6nA0sPXRpx/mir/uk5Lb89+U3UtPM6HN67rkXS+vWd0m3bh+kbvdW1XdSVfT77bvka/L6a13lqquuT92/Vc+p6/TU8zJu7OTK8zMzTU2Sz7Qp5cnH0Z0gvXr1kzvvvE/OP/9SOeOM8+Xq5Pv42WdelvHjpkihOWcvV/o76J7Gxx97OvVeO/uci1KHit/v+WFefx82BrZ1QqpzMQfUBbWJOQD+aLBGw0YvWPilR8P8eUucmMs1rlF32NYJiZgDMsjndl4Awvl6+JhY1PTs0ccZ80tjpwE59tiTnDGo+2zrhETMARkQc8DPT6cCOfzwJpVRs8sue8qKHM9RrCv0MPeDDzwmSxZVfT5sdLzOVxiNuV7vVz3hM+om2zohEXNABhxmBX5+eh5WNGo++zTzHHl1mV6Up9t+5FHHVjsxrx4+fvbZl2O/8zbb/NuZkw71g22dkIg5IANiDvj56RWjRx9zfCpqdLqO+nau3IjhY2Lnvu24426pOd9mzohP5pu6OGb8NLn++ttiIafLvvD8q856UT/Y1gmJmAMy4DArUDfolaN6r9z6FnJpejWpnWZE6X1hzzjjPDm1xdlZp8HRK0Xt+lB/2NYJiZgDMmDPHABf3njjndQccjbWstG7T1x37c3OelC/2NYJiZgDMmDPHACfdA9jxyeeTU1Wr/dztQGn9LZsegeSqVOqnmsT9YNtnZCIOSCT0h+kYuEyqVi0zrJCdwwA5EkPF+tVunr3ou7v9U7ttfuw76cyf+6S1Llzud49BXWfbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRPSRhlzbdveI9dcc2Ol8tIfnDEAAAA1ZVsnpI0y5vbd9yD5W4PtKpWt+t4ZUxcsWbRSvh4+RhbMX+r8bEMrXFkqI0eMlRnT5jg/Q/03b85iGf7VaFm+rMj5GQAgf7Z1QiLm6mjMjRk1QXbYcbfU9v1zu52k1wcfO2M2lO9mLZD9Gx2a2pa//2N7efjhjs4Y1F+f9h8oDbb5V+r1/de/d5FvRo5zxgAA8mNbJyRiro7G3JFHHhvbxhNOPNUZs6E8cP+jsW3ZteHezhjUTxVlP8rOO+8Ze31btrzSGQcAyI9tnZCIuRxibv7cJdL9vd6Vvvh8iDPGt8OPaBLbxmbNmjtjNpR77304ti277LrhXzOEoeeL7rjT7rHX96KLrnDGAQDyY1snJGIuh5gb+PnQ2Pjmzc90xvg2ftyUVDTp4+nh1h7d+zhjNpS5cxbJXnsfkNqW7f61s9x99wPOGNRfn306WLbfoWFlqI8a+a0zBgCQH9s6IRFzdTTm1Oryn2TFsmKpKKsbV9sWrFjFlb+/UPpeW7akMHXY1f4MAJA/2zohEXN1OOYAAED9ZFsnJGKOmAMAAJ7Z1gmJmPsZY66ooEwWzFsa/NClrn/RguWyMKm0ZI3z8w2psKA0NafZ8qVh5jPT9YZcfz70kKW+vosXrgh6+LKkqCJ1kc7K5SXOz34Oq5LvMf29ly8rdn5WFX2fLpy/TJYuKQj6fAHAhmBbJ6Q6FXN6fthJJ7WIWVW82nmCMrn66htjy40eNd4Zk1ZdzL36SpfYutJzrKXp1X92O/V8sug6Vq4okZNOPq3y5xqA+gWlX1h33Xm/HHjQEbLN3/+dWp/OI/fd7AWx5d/v2Te2/tdfe9v5Pary1bBv5LzzWqYeR+eGS2+7/veBBx4hF154mXyT44nuOi66LVde0coZk42eizV0yEg588wLZN/9Dq78ndXOu+wpTY89SR599KmcX2dLQ+bJjs/Jscn16Pqir9NOO+8hjRufIO3a3Zd3WNTU3GRI3nZru9TVyPq6prdlu+R/H3rYMak7jkybMttZLhOdNDr6vN944+2VP9PJmy9ueWXytTw89vrulHxvHnf8KfLcsy8768vm5Zdejz2OvnfsGFVSXBF7T5919oWVP/tmxDi54IJLpdEBh8VeY714R1+bpzu9mPE11vC+6uob5JBDj479HvrcHXFEU2nV6haZ890iZzkAqOts64RUp2Ju6eKC2JexKi4sd56gTI48Kj4v25eDhjtj0qqLuQcfeMzZjupoiEbXsWxpYeVErGrbf+6YGnPMMc2cZdWsGfNiy+sXbPTnHR583Pk9MtE9Gy0vvtJZfyb6pXvttTel7u5g1xM18Ithsd/lsGSU2DGZaIyce87FzuNmsk/yNen/yUBnHVXp2aOv7Lb7vs66MtEAf/nl14Pt8dH1PpaM0vREz1XRiXn1PVaRDF27nqj585bEnvemTU9K/WPgvvsejoVPNieccGrGgLLuueeh2HL9Pv7cGaP072J0e5TG9M03t8lpezSsZ89a+48W/T2eePzpWPBmo69dt269nO0BgLrMtk5IxFyDDRNz+mV39NHHO8ul6V0WosvXJOZmTp8rBx10hLPu6jRucoKz/VE1ibmpk2c5ezSro89RtpCI0r19r7/WNbYHKFcPPvhYanm7ztrQQ9eXXXaN81jVuf76W511RdmY07191113s7Oeqpx44qnO+9uqTcydfPJpzmNWpWnTE1N7sVu3vsv5WVU0gPWuKHabAKCusq0TEjHXwI25mTPmpe5DmmbvgKDxE/25sue92ZiL0mjRvSaXXnp16rDbJZdcLYsWrogtn2/M6R6So8xzoHs0NEwnTpieOj9P6fx1bdrcXTmvWNrpp5/rrDMt35hbuGBZ6vBudP2HHd5Y3nzjHZn73aLUturv+1HfT50Y0MfRQ5V2nVHTp81xnttzz704NZmzvodKilenzg/s9f5H0qTJibFx6sMPP3XWWRvXt7o1tn7dO6eHdieOn5Z6/2q8jE6GyPXX35aapy86Vl9nu740G3NR+vw+8/RL8u24yannVF/Xl158TY45xv0HQ3WH02sTc2lnnHGevN/zw1TEz/luoYwdM0mefeYlOero45yxp5xyRuV/6/uwTeu7ZcTwMal/0EydMiv1+Ndec1Mq4KLL6e9stwkA6irbOiERcw3cmLNqcgFEtpjT84emTJ7pjLfyjbm2bdvHxh9wwOGpPXV2XNrwr0bJrusmJU77PMudLfKJOd3rdfVVN8TWe+KJLaR0VeYLL/S5v/ba+N4mPTSb7XCorv/UFmfHxrdv/2DWvW26njPOPD82Xg/3ZVt/vvr0/iS27j322C8VcXZcmt5BJHpocffkeI1bO05lijn9/5e0vCrrhSwa7HrOXHQZDd3VGcam1Sbm9P/rOaZ2bFTz5mfFlknbd9+DnXNFoz768DPnfM+6cpEHAFTHtk5IxFyDDRdzepJ3LucwqXxiTp+j6Mn/uvdH99jYcVaf3v1ij7Hf/oc4Y1Q+MTdsyMjYOvfYc39njFWwsrTybhdps2fNd8YpPRwcHaf0PEE7ztKLIaLLTJ44wxmTLw3I6KFkjY1BA4c54yx7iFEvDrBjVKaY+08O771vx052niONPDsurTYx16FD9vdldDm7J1jPIR07ZqIz1rryylax5d58411nDADURbZ1QiLmGmy4mMslOtLyiblOnV6IjW113S3OmGxOPKlF5XL6hWt/rvKJucsvvza2Lf0+HuCMyeS9dz+ILdflzcxf2vocRsep6l4/ddrp56YOf6bpLazsmHxp9ES349LLrsm6hzBq9sz5seezUTII7RhlY07PEbSH8zPRC1rsc1TVe682MTehir2QUXrVcnS5M04/zxmTSTfzvrj88uucMQBQF9nWCYmYa1B9DPiIuX9su0PWw2mZ5BNzBx98ZGzs11+NdsZk8+ijnWLLZjqMlWvM6Wulv2d6XC575dJ0iorodpwdmfYiKtN7ZNHC5c64DeHgQ46KbUc+V+M2O6F55XI6nYj9ubIxd0jy8eyYbOxVolUdzqxNzOkVy3ZcJqeeGj80ftVV1ztjMvly8PDYcnoRiB0DAHWRbZ2QiLkGGybmtk1GTq6HWFU+Mddwt30qx+lFD/mcD6aBqc97WqZlc405vQAhus16oYgdk43dm6R7oTKdF6Z7vnQus+hY3bto5/nbEOyhYT1cbMdko9N5RJfV+6LaMU7MHXq0MyYbneoluv5ZMzMftlYbIubOOffi2HK5xtzwYaNiy+25ZyNnDADURbZ1QiLmGtTvmNO4ie4Ny2Xb8pVrzD311POxbT61+Vmpc9NyMeHbqbFllb4f7GOoScnxdqxG7Jlnni8DPhuc06FIH6J7v/Tx7e9Uldtuaxfb/kx7U73GnJnHMGpDxJxehBFdrlevj50xmeiFOtHliDkA9YVtnZCIuQb1O+b0Nl3RcTrfmR1TW7nGnN6hILottaWHXu1jKA3Yvr0/yTpRrZ4Td9RRx6XO3/ty8NfO8j7oHSXs49bGh33d6VJ+yTHXm5gD8AtnWyckYq5B/Y65WTPnxcbppLJ2TG3lGnM6Z150W2rru9kLnceI0rnVzjrrAmc5S684veOOezMeyqwpvdrWPk5t9OjRx3kMYo6YA1B/2dYJiZhrUL9jTidajY7T23PZMbWVa8zpPTaj26J7znZpuJfsuuveqf/Vc8x2bbj2v3fV/19p3c9TY/Ze+7PkWJ181j5GJjpBrd7ZwV4xaek6u3X7wFm+JmZMn+OsP73da//X/M67pn+/6O+93gcffOQ8BjFHzAGov2zrhETMNajfMbd8aVFsXMuWVzpjaivXmNOboke3RSfItWNC0yk4+vbtL21a3yXHHndybHvSur7dw1kuX3qXi+g6QxzeJuaIOQD1l22dkIi5BvU75lT0FlE6+7/9eW3lGnP33/dIztu8oYwcMS51P9DodunFCovN7dPypeftRc/ZOz7A807MEXMA6i/bOiHVrZhbQsyl5RNz+gWXHqdhl+tzpjRKouzPVa4x17dP/9g2H3308c6Yn4P+Xnvvc2Bs27q82c0Zly97V4lsV9/WFDFHzAGov2zrhFSnYk4nrI1+cCu9fZN9gjLZmGOuceNmsbH5TF77zDMvxZZdMG+pMybXmNO9XdFpUnQPWKa54mpKpxy5+uobUnOUpeX6/tCb0Ed/z3bt7nXG5OvAAw+PrfON199xxtQGMUfMAai/bOuEVKdiTr+sdbLY6If3zCq+hNJ0z8u++x0cW85rzH1Rt2Out7nH6rnntnTGZKLPW3Qy139vv6szRuUac+qCCy6LbcsNN9zmjKmKzjeXbQ+hOvLIeLRPmzLbGZOJ3r4ruly7O2ofc/ZWU4cmY6u0mvdSlO7Jq2pOPGKOmANQf9nWCalOxZy64orrYh/eHZ94xnmCrIc6PBFbRvmMua/MLPQnndTCGWNtyJizN3zXx+3Zs68zzurT+xNpEHmMAw86whmj8ok53YsZHatxPvqb8c64THr26JNatu0d92QNupde7Bx7XjQes42NuvTSq2PLvdb5LWdMvlL/iDDvpVatbnXGZTJj2pzUpMMaaNneF8QcMQeg/rKtE1Kdi7khg7+OfXjrSeaDB37lPElK92roRLX2C0b5jDm9MXp0/B577J/1CzhtQ8aceqdrz9h4PXdO9xzZcWldu/aI3cFAD49qYNhxKp+Y08DRQ6HRbdHXsPOrb2WNLj0Ue+utdyTHrn+MO5JBZ8cpvVo1um51002tq9zD9V63Xs4e3/lzlzjjakKDOLpefZ7OO69lle8pDZntd2hYucz++x/ijFHEXP4x1759B9lt931TWre+O+t7DgBCs60TUp2LOf3CiF6dqbb9545ywgnNU3vpOr/aRR5+qGPqRuV6I/fouCifMadfCAcddERsGT2se2e7++SJx5+Wiy683Dn5fUPHnG7jFVe2ii2jEdWk6YnydKcXpX//gfLZp4OS2/uMHHXUsU7cPPZYJ2edafnEnNLJefWQY3T96tDkcg8+8FjqkOfQISOkZ4++yfC7Ufba+4DYuD33auQ8n1Hd3+vlrHuffQ6UC5Ovw9tvvScDPvtSPv7oM3ko+T7Rw7I2QB595ClnnbVhb82lNCYuu+za1G2rdM/up/0HyQMPPCqHH94k9txrUOvN5O06FTGXX8wNGzoyNlbpxNJ2HABsCLZ1QqpzMafGjJ7oxEZVdthhN2lx2jmxP/MZc+qJZEjax42yFw5s6JhT+mV7xRXxoMvF48kgrWoPRr4xp/T5OOnk05zHqo4e6tW9b3Z9URVlP8pzz/43r/dImp7DV1JU4ayzNnSvoJ2WJRd627FP+n3hrC+NmMsv5t5+q3tsrOqVYTJmANgQbOuEVCdjTg1KBsRuu+3rfDhHpQ5pnX9J6h6e95kvU98xV5wMgIsuusLZhrS6EHNKf5fXX+9a5V7LtKOPPk4+HzDEWYdVk5hTGk3PPP1S6sIK+9iW7qG6p32HvKZV0e3S38GuK5O99z4gdbg1l9e6JjSGde+b7gm1j53J2WdfmLrYw64nipjLL+Ymjp8WG6v0Dil2HABsCLZ1QqqzMaeKCspSYaJ7m0488dTUIapjGjdL3Y9Tp5YY/tXoyrGDBn6VOoyVNnP6XGd9aZ06vRAbq3t67JhM9Nyud7r2kAsvvCx1I/fDD2+c2vt07XU3p6ZViY4tLipPHVJMP4ZepFHVeV2W/m7R5XOJrqiVK1bJu++8L9dee7Oc8p8z5Mgjm8oRSXolrp5jptOX5Bo2ei5ddFteeP4VZ0xVCpOv49ptuUn+s25b9LnTQ+d654Tnn3ulxuewaUTpa6+HvM8552Jp0uREOSy5br211+mnnye333anfNi3f86/a23p4wwe9JW0bnN36n169DHHpyKscZMTUkFzbzKcRo381lkuk4Lkaxh93vV5smOy6fRU/D2udwqxY9LSh4DTpkya6YxR+rtFt0fp31E7LhO960Z0uQnJ8LJjMtEYiy73ZMfnnDFR/T/5IvWeUv0+HuD8HAA2FNs6IdXpmAMAAKiPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCYmYAwAA8My2TkjEHAAAgGe2dUIi5gAAADyzrRMSMQcAAOCZbZ2QiDkAAADPbOuERMwBAAB4ZlsnJGIOAADAM9s6IRFzAAAAntnWCSmx6257EXMAAAAe2dYJiZgDAADwzLZOSMQcAACAZ7Z1QiLmAAAAPLOtExIxBwAA4JltnZCIOQAAAM9s64REzAEAAHhmWyckYg4AAMAz2zohEXMAAACe2dYJiZgDAADwzLZOSMQcAACAZ7Z1QiLmAAAAPLOtExIxBwAA4JltnZCIOQAAAM9s64REzAEAAHhmWyckYg4AAMAz2zohEXMAAACe2dYJiZgDAADwzLZOSMQcAACAZ7Z1QiLmAAAAPLOtExIxBwAA4JltnZCIOQAAAM9s64SU2GGHnYg5AAAAj2zrhETMAQAAeGZbJyRiDgAAwDPbOiERcwAAAJ7Z1gmJmAMAAPDMtk5IxBwAAIBntnVCIuYAAAA8s60TEjEHAADgmW2dkIg5AAAAz2zrhETMAQAAeGZbJyRiDgAAwDPbOiERcwAAAJ7Z1gmJmAMAAPDMtk5IxBwAAIBntnVCIuYAAAA8s60TEjEHAADgmW2dkIg5AAAAz2zrhETMAQAAeGZbJyRiDgAAwDPbOiH9f37EAyYxHXC3AAAAAElFTkSuQmCC" alt="" /></p>

<p>By the way, here is a comparison between the direct Brush application and our solution, referenced against our illustrations;</p>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Our solution</th>
      <th style="text-align: left"><img src="data:image/png;base64,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AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7iAeAAA3nA3uIB4AADecDe4gHgAAN5wN7j4/0Bl/olW3HRiAAAAAElFTkSuQmCC" alt="" /></th>
      <th style="text-align: left"><img src="data:image/png;base64,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" alt="" /></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left">Naive approach</td>
      <td style="text-align: left"><img src="data:image/png;base64,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G1xkmXgAAHcv3A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0uIB4AgDfcDS4gHgCAN9wNLiAeAIA33A0u/j9k1IIPZGmwFgAAAABJRU5ErkJggg==" alt="" /></td>
      <td style="text-align: left"><img src="data:image/png;base64,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" alt="" /></td>
    </tr>
  </tbody>
</table>

<h1 id="crank-it-up-a-notch">Crank it up a notch</h1>

<p>Once we understood what was going on behind the scenes and how a Shader is created and applied by the underlying system, we could easily find a solution. Now we will go one step further, what if we want to apply a continuous horizontal gradient on a multi-line span?</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>This time, the span is “sit amet, consectetur adipiscing elit. In at aliquam”.</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>And the desired gradient along this span is</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>Creating this last diagram on <a href="http://draw.io">draw.io</a> actually forces one to understand where we should start from while preparing this gradient. But before mentioning that, can we reuse the same strategy from before, the one with filling the blanks?</p>

<p>We can imagine that there are 3 different spans that we need to calculate a gradient for. However, this approach has a glaring issue, we cannot know how the lines are going to <em>break</em> while creating the AnnotatedString itself. Unfortunately the span ranges cannot be lazily set during the draw phase.</p>

<p>The most possible angle to this problem comes from the constraint itself. What if we think that this is a single gradient?</p>

<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwcAAAGHCAIAAABqFbnpAABh3UlEQVR4XuzdBVxVyRcH8DGxAxGxxcLuwMJAVBSxu8HA7l7FLhQVRQwUc+0AFBUxsLsDE7tbwXb/Z+5Ddnf4w+LjxX33/r6f89kPnnthde68M2fGJ7C/AEAPPn369PLly/v371+7du3MmTMHDx7ctWvX5s2bV61atXDhwlmzZk2cOHHEiBH9+vVzdXVt06aNs7Nz7dq1K1WqVLJkyfz582fLli19+vTJkiVLlChRkiRJ6AMzM7OUKVOmTp06bdq0dCljxoyZMmWytLS0srKim3PkyJErV648efLkzZuXPr1gwYKFChUqWrRo8eLF6QuWLl26bNmy5cuXr1ixIv0vunTpUqtWLUdHx8aNG7ds2bJDhw5du3bt3bv3wIED6bfk7u4+ZcqUmTNnzps3b/HixStWrFi7du2WLVt27NgREhJCf5ATJ06cP3+e/ly3b99++PDhixcvPn78KP75AQBMEBMTABAPnz9/vnLlSmBg4Ny5c/v379+wYcNWrVpZW1tTm5ImTRpqZVKkSEFdS86cOak7KVOmTLVq1erWrdu0adP27dv36NFj0KBBf/zxx9SpU+nTfX19//zzT39//z179hw9epQajps3bz569Ojt27dfv379+fPn9+/f6QP6P0ZGRlL/8f79e7r0+vVr6rqePXv25MkTuvnBgwf37t0LDw+nToU+/fr169S1XL58+eLFi/QFz549e/r06ZMnTx4/fpz+F/TfvXv3BgUFbd26df369StXrlyyZMn8+fM9PT3ptzRu3LiRI0cOHjy4T58+3bp169ixY+vWrZs0aVK/fn17e3v6g1SoUIE6LfpzUQeWPXt2CwsL+iVjjDq2LFmyUE9WqlSpqlWr1qtXr3nz5p07d6avQ83WpEmT5syZQ3/YdevWbd++PTQ0lJpF+n3Sb/7du3c/fvwQhxgAwODQFQH8B2o7jhw5smrVKmoXqEWg9T5btmxmZmZFihRxcnLq168fLfYBAQHUhdy5c4falA8fPlArI34VFaCO7enTp9STnTt37tChQzt37ty4caOfn9+8efOo2Ro9ejS1j66urtQ+NmjQwM7OjprFggUL0mCmS5cuceLEKVOmzJw5c+HChanrcnR0bNeuXd++fd3d3b28vFavXk09HDVz9MVfvXol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p9OLnbaR1MrQ/WXLlq1Xrx71NHXr1qU60K5dO3r59+vXb8SIEePHj/fw8PD29l62bNm6desCAgL27Nlz5MiRs2fPXr9+nSoD3r8IJkctXRHtgegFL2bhN1HJvn37dkhICG0WR40a1bZt20qVKlHlpQpbuHBhR0dH2jVSldy0adOZM2devXolfj6AilGLQIXo5MmTgYGB9AqaNGlS3759W7RoQQ0HdRv0OqI2JVGiRNSpUINCfQk1OjVr1nR2dqZGhHqgoUOHTpgwYfbs2b6+vuvXr98j2b9//6FDh44dO0YtFO1hLl26dO3atZs3b4aHhz948ID6khcvXrx58+bDhw+fPn3Cj60A+E9q6Yr27t1La7aYBR2hgnv16tWgoCDaNQ4ZMqRZs2ZlypQxNzen+l6yZEkq6L1796Y1gDaUO3fuvHDhwvPnz8UvAaAIjx8/pjZlzZo1mqanZcuW1PRQi5MhQwYzMzPam5UvX97Jyalr166jR4/28vLasGFDaGgo9THUwXz8+FH8cgBgWGrpipYvX96pUycxC3r27t278+fPb9++ff78+bQGdOnSpV69eiVKlMicOXOSJEly5sxZoUKFxo0b9+zZkzbBtAPesWMH7XfxzUXAJNy5cyc4ONjHx4d2AjSNixcvnipVqqxZs1atWpX6IU3Ts379emp6wsLC3rx5I34+AMiPWrqimTNnDh48WMyC8Xz//v3+/fsnTpzYunXrggULxowZ4+rqWr9+/VKlSmXJkiVRokTZs2cvV66cs7Pz0KFDR44cSU+QWtvAwMBjx47duHEDfz0HhkTzLSQkhBqg3r17161bN3/+/DRFra2tHRwc3NzcPDw8aBpfvHgxIiJC/EwAMClq6YqGDx8+bdo0MQty9fPnz4cPH546dcrf33/FihVTpkyhprZTp05OTk62trYFChQwNzenZcnCwqJQoUJVqlRp1KiRi4vLsGHDpk+f7uvru23btkOHDl27du358+f0pcSvDvBfaPoFBASMHz++cePGuXLlovlmb28/bty4+fPn79q16+bNm5hXAIqklq7I1dWVFksxC6aMlqUXL15Q63P48GFqg5YuXUotETVG9KypSapatSo1TJkzZ6bmqVSpUrStp//a2dk1bNiwXbt2vXr1GjFixNSpU729vVevXk3rX2ho6Pnz5+/cufPq1Su8KVWFbty4sX79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" alt="" /></p>

<p>Incredible diagram <a href="https://i.redd.it/obvqaa0lhn841.jpg">I drew here</a>.</p>

<p>The hardest part is of course answering the question; how would we place 3 slices of a single shader on different vertical positions in another shader?</p>

<p>I was stumped to come up with an answer until I asked Gemini. (No, this is not a paid post, I’m a proud vibe coder)</p>

<p><strong>Q; Can I concatenate multiple shaders vertically on android?</strong></p>

<p><strong>A; No, you cannot directly concatenate multiple <code class="language-plaintext highlighter-rouge">Shader</code> objects in Android with a simple “add” or “combine” method. A shader itself doesn’t have a defined size; it’s a rule for drawing that extends infinitely. […] The most effective and common way to achieve vertical concatenation is to draw each shader onto a <code class="language-plaintext highlighter-rouge">Bitmap</code> in the correct position, and then create a single <code class="language-plaintext highlighter-rouge">BitmapShader</code> from that composite bitmap.</strong></p>

<p>So the simplest idea is that we would draw the shader parts on to a bitmap that is the size of the text layout, then use that bitmap as a shader. That sounds not so great performance wise but you know what, we are committed. I’m mostly worried about when someone decides to animate this. Otherwise for a static text I’d be fine with this performance trade-off.</p>

<p>How are we going to prepare this bitmap? More illustrations, yey…</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>The idea is;</p>

<ul>
  <li>Initialize a Bitmap and a Canvas to draw on it with the size of the text.</li>
  <li>Create a regular horizontal shader that has the width of the entire span.</li>
  <li>Place the shader on each line of the span and draw.
    <ul>
      <li><code class="language-plaintext highlighter-rouge">startX</code> and <code class="language-plaintext highlighter-rouge">endX</code> will be different every time.</li>
      <li><code class="language-plaintext highlighter-rouge">endX</code> will always be <code class="language-plaintext highlighter-rouge">startX + shaderWidth</code></li>
    </ul>
  </li>
  <li>On the first line, it starts from where the span starts from.</li>
  <li>On the second line, some of the gradient is already used on the first line.
    <ul>
      <li>So we have to translate the shader a bit to the left so we can continue from where we left off on the first line</li>
      <li>The amount to be pushed is the amount we already consumed from the shader, which is the span’s width in the first line. We will get to these calculations in a second</li>
      <li>So startX for the second line is <code class="language-plaintext highlighter-rouge">lineStart - consumedWidth</code></li>
    </ul>
  </li>
  <li>The same logic continues until the last line.</li>
  <li><code class="language-plaintext highlighter-rouge">shaderWidth</code> is equal to span’s entire width on all lines.</li>
</ul>

<p>Eventually the bitmap we draw should be equal to;</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>Of course the final shader we will create will have the same width and height as the text layout. So it will need to be translated from top, but in our case since the span we chose starts from the first line, <code class="language-plaintext highlighter-rouge">translateY</code> would be 0.</p>

<p>How are we going to find the coordinates this time around? <code class="language-plaintext highlighter-rouge">getPathForRange</code> is not going to work anymore.</p>

<p>My approach is like the following;</p>

<ul>
  <li>Check the first character’s and last character’s line.</li>
  <li>If they are the same, just use the solution from the first step.</li>
  <li>If they are not the same, find how many total lines are there in this span.
    <ul>
      <li>For the first line, span is from left most position to line’s right.</li>
      <li>For the last line, span is from line’s left to right most position.</li>
      <li>Intermediate lines are fully in the span.</li>
    </ul>
  </li>
</ul>

<p>Ok, let’s code it out</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">data class</span> <span class="nc">SpanLine</span><span class="p">(</span>
    <span class="kd">val</span> <span class="py">left</span><span class="p">:</span> <span class="nc">Float</span><span class="p">,</span>
    <span class="kd">val</span> <span class="py">right</span><span class="p">:</span> <span class="nc">Float</span><span class="p">,</span>
    <span class="kd">val</span> <span class="py">height</span><span class="p">:</span> <span class="nc">Float</span>
<span class="p">)</span>

<span class="k">fun</span> <span class="nc">TextLayoutResult</span><span class="p">.</span><span class="nf">lineHeight</span><span class="p">(</span><span class="n">line</span><span class="p">:</span> <span class="nc">Int</span><span class="p">):</span> <span class="nc">Float</span> <span class="p">=</span> <span class="nf">getLineBottom</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> <span class="p">-</span> <span class="nf">getLineTop</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>

<span class="c1">// …</span>

<span class="kd">var</span> <span class="py">lineCoords</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">SpanLine</span><span class="p">&gt;?</span> <span class="k">by</span> <span class="nf">remember</span> <span class="p">{</span> <span class="nf">mutableStateOf</span><span class="p">(</span><span class="k">null</span><span class="p">)</span> <span class="p">}</span>
<span class="kd">var</span> <span class="py">translateY</span><span class="p">:</span> <span class="nc">Float</span> <span class="k">by</span> <span class="nf">remember</span> <span class="p">{</span> <span class="nf">mutableFloatStateOf</span><span class="p">(</span><span class="mf">0f</span><span class="p">)</span> <span class="p">}</span>
<span class="c1">// …</span>
<span class="n">onTextLayout</span> <span class="p">=</span> <span class="p">{</span> <span class="n">textLayout</span> <span class="p">-&gt;</span>
    <span class="kd">val</span> <span class="py">firstLine</span> <span class="p">=</span> <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineForOffset</span><span class="p">(</span><span class="mi">18</span><span class="p">)</span>
    <span class="kd">val</span> <span class="py">lastLine</span> <span class="p">=</span> <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineForOffset</span><span class="p">(</span><span class="mi">70</span><span class="p">)</span>
    <span class="n">translateY</span> <span class="p">=</span> <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineTop</span><span class="p">(</span><span class="n">firstLine</span><span class="p">)</span>
    <span class="n">lineCoords</span> <span class="p">=</span> <span class="p">(</span><span class="n">firstLine</span><span class="o">..</span><span class="n">lastLine</span><span class="p">).</span><span class="nf">map</span> <span class="p">{</span> <span class="n">line</span> <span class="p">-&gt;</span>
        <span class="k">when</span> <span class="p">(</span><span class="n">line</span><span class="p">)</span> <span class="p">{</span>
            <span class="n">firstLine</span> <span class="p">-&gt;</span> <span class="p">{</span>
                <span class="nc">SpanLine</span><span class="p">(</span>
                    <span class="n">textLayout</span><span class="p">.</span><span class="nf">getBoundingBox</span><span class="p">(</span><span class="mi">18</span><span class="p">).</span><span class="n">left</span><span class="p">,</span>
                    <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineRight</span><span class="p">(</span><span class="n">line</span><span class="p">),</span>
                    <span class="n">textLayout</span><span class="p">.</span><span class="nf">lineHeight</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
                <span class="p">)</span>
            <span class="p">}</span>

            <span class="n">lastLine</span> <span class="p">-&gt;</span> <span class="p">{</span>
                <span class="nc">SpanLine</span><span class="p">(</span>
                    <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineLeft</span><span class="p">(</span><span class="n">line</span><span class="p">),</span>
                    <span class="n">textLayout</span><span class="p">.</span><span class="nf">getBoundingBox</span><span class="p">(</span><span class="mi">70</span><span class="p">).</span><span class="n">right</span><span class="p">,</span>
                    <span class="n">textLayout</span><span class="p">.</span><span class="nf">lineHeight</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
                <span class="p">)</span>
            <span class="p">}</span>

            <span class="k">else</span> <span class="p">-&gt;</span> <span class="p">{</span>
                <span class="nc">SpanLine</span><span class="p">(</span>
                    <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineLeft</span><span class="p">(</span><span class="n">line</span><span class="p">),</span>
                    <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineRight</span><span class="p">(</span><span class="n">line</span><span class="p">),</span>
                    <span class="n">textLayout</span><span class="p">.</span><span class="nf">lineHeight</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
                <span class="p">)</span>
            <span class="p">}</span>
        <span class="p">}</span>
    <span class="p">}</span>
<span class="p">},</span>
</code></pre></div></div>

<p>We are simply calculating the orange rectangles that we draw on the span and lines.</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>For each orange rectangle we get left, right coordinates, and the height of the rectangle. Since these rectangles are stacked on top of each other, we only keep a <code class="language-plaintext highlighter-rouge">translateY</code> value to get the <code class="language-plaintext highlighter-rouge">y</code> positioning of the top rectangle from the first line. Afterwards each line’s height can inform the next line’s <code class="language-plaintext highlighter-rouge">top</code>.</p>

<p>Concatenating and creating a <code class="language-plaintext highlighter-rouge">BitmapShader</code> is easier than it sounds once we have the parameters ready</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">private</span> <span class="k">fun</span> <span class="nf">concatenateShadersVertically</span><span class="p">(</span>
    <span class="n">shaders</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">Pair</span><span class="p">&lt;</span><span class="nc">Shader</span><span class="p">,</span> <span class="nc">Float</span><span class="p">&gt;&gt;,</span>
    <span class="n">translateY</span><span class="p">:</span> <span class="nc">Float</span><span class="p">,</span>
    <span class="n">shaderWidth</span><span class="p">:</span> <span class="nc">Int</span><span class="p">,</span>
    <span class="n">shaderHeight</span><span class="p">:</span> <span class="nc">Int</span>
<span class="p">):</span> <span class="nc">Shader</span> <span class="p">{</span>
    <span class="kd">val</span> <span class="py">compositeBitmap</span> <span class="p">=</span> <span class="nf">createBitmap</span><span class="p">(</span><span class="n">shaderWidth</span><span class="p">,</span> <span class="n">shaderHeight</span><span class="p">)</span>
    <span class="kd">val</span> <span class="py">compositeCanvas</span> <span class="p">=</span> <span class="nc">Canvas</span><span class="p">(</span><span class="n">compositeBitmap</span><span class="p">)</span>

    <span class="kd">val</span> <span class="py">paint</span> <span class="p">=</span> <span class="nc">Paint</span><span class="p">(</span><span class="nc">Paint</span><span class="p">.</span><span class="nc">ANTI_ALIAS_FLAG</span><span class="p">)</span>

    <span class="kd">var</span> <span class="py">top</span> <span class="p">=</span> <span class="n">translateY</span>
    <span class="n">shaders</span><span class="p">.</span><span class="nf">forEachIndexed</span> <span class="p">{</span> <span class="n">index</span><span class="p">,</span> <span class="p">(</span><span class="n">shader</span><span class="p">,</span> <span class="n">lineHeight</span><span class="p">)</span> <span class="p">-&gt;</span>
        <span class="n">paint</span><span class="p">.</span><span class="n">shader</span> <span class="p">=</span> <span class="n">shader</span>
        <span class="kd">val</span> <span class="py">bottom</span> <span class="p">=</span> <span class="n">top</span> <span class="p">+</span> <span class="n">lineHeight</span>
        <span class="kd">val</span> <span class="py">rect</span> <span class="p">=</span> <span class="nc">RectF</span><span class="p">(</span><span class="mf">0f</span><span class="p">,</span> <span class="n">top</span><span class="p">,</span> <span class="n">shaderWidth</span><span class="p">.</span><span class="nf">toFloat</span><span class="p">(),</span> <span class="n">bottom</span><span class="p">)</span>
        <span class="n">compositeCanvas</span><span class="p">.</span><span class="nf">drawRect</span><span class="p">(</span><span class="n">rect</span><span class="p">,</span> <span class="n">paint</span><span class="p">)</span>
        <span class="n">top</span> <span class="p">+=</span> <span class="n">lineHeight</span>
    <span class="p">}</span>

    <span class="k">return</span> <span class="nc">ImageShader</span><span class="p">(</span><span class="n">compositeBitmap</span><span class="p">.</span><span class="nf">asImageBitmap</span><span class="p">())</span>
<span class="p">}</span>
</code></pre></div></div>

<p><code class="language-plaintext highlighter-rouge">shaders</code> list is a combination of a horizontal shader that has its <code class="language-plaintext highlighter-rouge">X</code> coordinates realized, and the height that it is supposed to have. We create a bitmap, then start drawing on it with our shaders.</p>

<p>The final part is the actual <code class="language-plaintext highlighter-rouge">ShaderBrush</code> that we are going to pass to <code class="language-plaintext highlighter-rouge">SpanStyle</code>. And here it is</p>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">fun</span> <span class="nf">lazyHorizontalGradient</span><span class="p">(</span>
    <span class="n">colors</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">Color</span><span class="p">&gt;,</span>
    <span class="n">translateY</span><span class="p">:</span> <span class="p">()</span> <span class="p">-&gt;</span> <span class="nc">Float</span><span class="p">,</span>
    <span class="n">lineCoords</span><span class="p">:</span> <span class="p">()</span> <span class="p">-&gt;</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">SpanLine</span><span class="p">&gt;,</span>
<span class="p">):</span> <span class="nc">Brush</span> <span class="p">=</span> <span class="kd">object</span> <span class="err">: </span><span class="nc">ShaderBrush</span><span class="p">()</span> <span class="p">{</span>

    <span class="kd">var</span> <span class="py">createdShader</span><span class="p">:</span> <span class="nc">Shader</span><span class="p">?</span> <span class="p">=</span> <span class="k">null</span>
    <span class="kd">var</span> <span class="py">_size</span><span class="p">:</span> <span class="nc">Size</span> <span class="p">=</span> <span class="nc">Size</span><span class="p">.</span><span class="nc">Zero</span>
    <span class="kd">var</span> <span class="py">_translateY</span><span class="p">:</span> <span class="nc">Float</span> <span class="p">=</span> <span class="nc">Float</span><span class="p">.</span><span class="nc">NaN</span>
    <span class="kd">var</span> <span class="py">_lineCoords</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">SpanLine</span><span class="p">&gt;</span> <span class="p">=</span> <span class="nf">emptyList</span><span class="p">()</span>

    <span class="k">override</span> <span class="k">fun</span> <span class="nf">createShader</span><span class="p">(</span><span class="n">size</span><span class="p">:</span> <span class="nc">Size</span><span class="p">):</span> <span class="nc">Shader</span> <span class="p">{</span>
        <span class="kd">val</span> <span class="py">lines</span> <span class="p">=</span> <span class="nf">lineCoords</span><span class="p">()</span>
        <span class="kd">val</span> <span class="py">translateY</span> <span class="p">=</span> <span class="nf">translateY</span><span class="p">()</span>

        <span class="k">if</span> <span class="p">(</span><span class="n">createdShader</span> <span class="p">!=</span> <span class="k">null</span> <span class="p">&amp;&amp;</span> <span class="n">_size</span> <span class="p">==</span> <span class="n">size</span> <span class="p">&amp;&amp;</span> <span class="n">_translateY</span> <span class="p">==</span> <span class="n">translateY</span> <span class="p">&amp;&amp;</span> <span class="n">_lineCoords</span> <span class="p">==</span> <span class="n">lines</span><span class="p">)</span> <span class="p">{</span>
            <span class="k">return</span> <span class="n">createdShader</span><span class="o">!!</span>
        <span class="p">}</span>

        <span class="kd">val</span> <span class="py">lineCount</span> <span class="p">=</span> <span class="n">lines</span><span class="p">.</span><span class="n">size</span>
        <span class="k">if</span> <span class="p">(</span><span class="n">lineCount</span> <span class="p">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
            <span class="c1">// not important, lineCoords are being evaluated.</span>
            <span class="k">return</span> <span class="nc">LinearGradientShader</span><span class="p">(</span>
                <span class="n">colors</span> <span class="p">=</span> <span class="n">colors</span><span class="p">,</span>
                <span class="n">colorStops</span> <span class="p">=</span> <span class="k">null</span><span class="p">,</span>
                <span class="n">from</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="mf">0f</span><span class="p">,</span> <span class="mf">0f</span><span class="p">),</span>
                <span class="n">to</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">size</span><span class="p">.</span><span class="n">width</span><span class="p">,</span> <span class="n">size</span><span class="p">.</span><span class="n">height</span><span class="p">),</span>
            <span class="p">)</span>
        <span class="p">}</span>

        <span class="kd">val</span> <span class="py">totalWidth</span> <span class="p">=</span> <span class="n">lines</span><span class="p">.</span><span class="nf">map</span> <span class="p">{</span> <span class="n">it</span><span class="p">.</span><span class="n">right</span> <span class="p">-</span> <span class="n">it</span><span class="p">.</span><span class="n">left</span> <span class="p">}.</span><span class="nf">sum</span><span class="p">()</span>
        <span class="kd">var</span> <span class="py">startXDelta</span> <span class="p">=</span> <span class="mf">0f</span>
        <span class="k">return</span> <span class="nf">concatenateShadersVertically</span><span class="p">(</span>
            <span class="n">shaders</span> <span class="p">=</span> <span class="n">lines</span><span class="p">.</span><span class="nf">map</span> <span class="p">{</span> <span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">lineHeight</span><span class="p">)</span> <span class="p">-&gt;</span>
                <span class="kd">val</span> <span class="py">startX</span> <span class="p">=</span> <span class="n">start</span> <span class="p">-</span> <span class="n">startXDelta</span>
                <span class="kd">val</span> <span class="py">endX</span> <span class="p">=</span> <span class="n">startX</span> <span class="p">+</span> <span class="n">totalWidth</span>
                <span class="n">startXDelta</span> <span class="p">+=</span> <span class="n">end</span> <span class="p">-</span> <span class="n">start</span>

                <span class="nc">LinearGradientShader</span><span class="p">(</span>
                    <span class="n">colors</span> <span class="p">=</span> <span class="n">colors</span><span class="p">,</span>
                    <span class="n">colorStops</span> <span class="p">=</span> <span class="k">null</span><span class="p">,</span>
                    <span class="n">from</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">startX</span><span class="p">,</span> <span class="mf">0f</span><span class="p">),</span>
                    <span class="n">to</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">endX</span><span class="p">,</span> <span class="mf">0f</span><span class="p">),</span>
                <span class="p">)</span> <span class="n">to</span> <span class="n">lineHeight</span>
            <span class="p">},</span>
            <span class="n">translateY</span> <span class="p">=</span> <span class="n">translateY</span><span class="p">,</span>
            <span class="n">shaderWidth</span> <span class="p">=</span> <span class="n">size</span><span class="p">.</span><span class="n">width</span><span class="p">.</span><span class="nf">toInt</span><span class="p">(),</span>
            <span class="n">shaderHeight</span> <span class="p">=</span> <span class="n">size</span><span class="p">.</span><span class="n">height</span><span class="p">.</span><span class="nf">toInt</span><span class="p">()</span>
        <span class="p">)</span>
    <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>This time I also added the caching bits. One interesting piece of information I would like to share is that when you call various methods in TextLayoutResult, it causes a measure pass on the text layout but sometimes this measure pass fully draws the text on a non-existing surface. It has no performance implications but it ends up calling <code class="language-plaintext highlighter-rouge">updateDrawState</code> on the attached spans. This also means our <code class="language-plaintext highlighter-rouge">createShader</code> function also gets called. Therefore we should be careful about assuming that <code class="language-plaintext highlighter-rouge">createShader</code> will only ever be called during the draw phase. I might have said something like that in this post, please ignore it…</p>

<p>Oh, before I forgot</p>

<p><img src="data:image/png;base64,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" alt="" /></p>

<p>ta-daaa</p>

<p>No conclusion for a quick summary of lessons learned in this post, we are done with the implementation. See you in the next one.</p>

<hr />

<h2 id="the-full-implementation">The full implementation</h2>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nd">@Composable</span>
<span class="k">fun</span> <span class="nf">BrushSpanDemo</span><span class="p">(</span><span class="n">modifier</span><span class="p">:</span> <span class="nc">Modifier</span> <span class="p">=</span> <span class="nc">Modifier</span><span class="p">)</span> <span class="p">{</span>
    <span class="kd">var</span> <span class="py">lineCoords</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">SpanLine</span><span class="p">&gt;?</span> <span class="k">by</span> <span class="nf">remember</span> <span class="p">{</span> <span class="nf">mutableStateOf</span><span class="p">(</span><span class="k">null</span><span class="p">)</span> <span class="p">}</span>
    <span class="kd">var</span> <span class="py">translateY</span><span class="p">:</span> <span class="nc">Float</span> <span class="k">by</span> <span class="nf">remember</span> <span class="p">{</span> <span class="nf">mutableFloatStateOf</span><span class="p">(</span><span class="mf">0f</span><span class="p">)</span> <span class="p">}</span>
    <span class="nc">Text</span><span class="p">(</span>
        <span class="n">text</span> <span class="p">=</span> <span class="nf">buildAnnotatedString</span> <span class="p">{</span>
            <span class="nf">append</span><span class="p">(</span><span class="s">"Lorem ipsum dolor "</span><span class="p">)</span>
            <span class="nf">withStyle</span><span class="p">(</span>
                <span class="nc">SpanStyle</span><span class="p">(</span>
                    <span class="n">brush</span> <span class="p">=</span> <span class="nf">lazyHorizontalGradient</span><span class="p">(</span>
                        <span class="nf">listOf</span><span class="p">(</span>
                            <span class="nc">Color</span><span class="p">.</span><span class="nc">Blue</span><span class="p">,</span>
                            <span class="nc">Color</span><span class="p">.</span><span class="nc">Red</span><span class="p">,</span>
                            <span class="nc">Color</span><span class="p">.</span><span class="nc">Green</span>
                        <span class="p">),</span>
                        <span class="n">lineCoords</span> <span class="p">=</span> <span class="p">{</span> <span class="n">lineCoords</span> <span class="o">?:</span> <span class="nf">emptyList</span><span class="p">()</span> <span class="p">},</span>
                        <span class="n">translateY</span> <span class="p">=</span> <span class="p">{</span> <span class="n">translateY</span> <span class="p">}</span>
                    <span class="p">)</span>
                <span class="p">)</span>
            <span class="p">)</span> <span class="p">{</span>
                <span class="nf">append</span><span class="p">(</span><span class="s">"sit amet, consectetur adipiscing elit. In at aliquam"</span><span class="p">)</span>
            <span class="p">}</span>
            <span class="nf">append</span><span class="p">(</span><span class="s">" lorem, eget ultricies enim."</span><span class="p">)</span>
        <span class="p">},</span>
        <span class="n">fontSize</span> <span class="p">=</span> <span class="mi">32</span><span class="p">.</span><span class="n">sp</span><span class="p">,</span>
        <span class="n">lineHeight</span> <span class="p">=</span> <span class="mi">48</span><span class="p">.</span><span class="n">sp</span><span class="p">,</span>
        <span class="n">onTextLayout</span> <span class="p">=</span> <span class="p">{</span> <span class="n">textLayout</span> <span class="p">-&gt;</span>
            <span class="kd">val</span> <span class="py">firstLine</span> <span class="p">=</span> <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineForOffset</span><span class="p">(</span><span class="mi">18</span><span class="p">)</span>
            <span class="kd">val</span> <span class="py">lastLine</span> <span class="p">=</span> <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineForOffset</span><span class="p">(</span><span class="mi">70</span><span class="p">)</span>
            <span class="n">translateY</span> <span class="p">=</span> <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineTop</span><span class="p">(</span><span class="n">firstLine</span><span class="p">)</span>
            <span class="n">lineCoords</span> <span class="p">=</span> <span class="p">(</span><span class="n">firstLine</span><span class="o">..</span><span class="n">lastLine</span><span class="p">).</span><span class="nf">map</span> <span class="p">{</span> <span class="n">line</span> <span class="p">-&gt;</span>
                <span class="k">when</span> <span class="p">(</span><span class="n">line</span><span class="p">)</span> <span class="p">{</span>
                    <span class="n">firstLine</span> <span class="p">-&gt;</span> <span class="p">{</span>
                        <span class="nc">SpanLine</span><span class="p">(</span>
                            <span class="n">textLayout</span><span class="p">.</span><span class="nf">getBoundingBox</span><span class="p">(</span><span class="mi">18</span><span class="p">).</span><span class="n">left</span><span class="p">,</span>
                            <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineRight</span><span class="p">(</span><span class="n">line</span><span class="p">),</span>
                            <span class="n">textLayout</span><span class="p">.</span><span class="nf">lineHeight</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
                        <span class="p">)</span>
                    <span class="p">}</span>

                    <span class="n">lastLine</span> <span class="p">-&gt;</span> <span class="p">{</span>
                        <span class="nc">SpanLine</span><span class="p">(</span>
                            <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineLeft</span><span class="p">(</span><span class="n">line</span><span class="p">),</span>
                            <span class="n">textLayout</span><span class="p">.</span><span class="nf">getBoundingBox</span><span class="p">(</span><span class="mi">70</span><span class="p">).</span><span class="n">right</span><span class="p">,</span>
                            <span class="n">textLayout</span><span class="p">.</span><span class="nf">lineHeight</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
                        <span class="p">)</span>
                    <span class="p">}</span>

                    <span class="k">else</span> <span class="p">-&gt;</span> <span class="p">{</span>
                        <span class="nc">SpanLine</span><span class="p">(</span>
                            <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineLeft</span><span class="p">(</span><span class="n">line</span><span class="p">),</span>
                            <span class="n">textLayout</span><span class="p">.</span><span class="nf">getLineRight</span><span class="p">(</span><span class="n">line</span><span class="p">),</span>
                            <span class="n">textLayout</span><span class="p">.</span><span class="nf">lineHeight</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
                        <span class="p">)</span>
                    <span class="p">}</span>
                <span class="p">}</span>
            <span class="p">}</span>
        <span class="p">},</span>
        <span class="n">modifier</span> <span class="p">=</span> <span class="n">modifier</span>
    <span class="p">)</span>
<span class="p">}</span>

<span class="k">fun</span> <span class="nc">TextLayoutResult</span><span class="p">.</span><span class="nf">lineHeight</span><span class="p">(</span><span class="n">line</span><span class="p">:</span> <span class="nc">Int</span><span class="p">):</span> <span class="nc">Float</span> <span class="p">=</span> <span class="nf">getLineBottom</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> <span class="p">-</span> <span class="nf">getLineTop</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>

<span class="k">fun</span> <span class="nf">lazyHorizontalGradient</span><span class="p">(</span>
    <span class="n">colors</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">Color</span><span class="p">&gt;,</span>
    <span class="n">translateY</span><span class="p">:</span> <span class="p">()</span> <span class="p">-&gt;</span> <span class="nc">Float</span><span class="p">,</span>
    <span class="n">lineCoords</span><span class="p">:</span> <span class="p">()</span> <span class="p">-&gt;</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">SpanLine</span><span class="p">&gt;,</span>
<span class="p">):</span> <span class="nc">Brush</span> <span class="p">=</span> <span class="kd">object</span> <span class="err">: </span><span class="nc">ShaderBrush</span><span class="p">()</span> <span class="p">{</span>

    <span class="kd">var</span> <span class="py">createdShader</span><span class="p">:</span> <span class="nc">Shader</span><span class="p">?</span> <span class="p">=</span> <span class="k">null</span>
    <span class="kd">var</span> <span class="py">_size</span><span class="p">:</span> <span class="nc">Size</span> <span class="p">=</span> <span class="nc">Size</span><span class="p">.</span><span class="nc">Zero</span>
    <span class="kd">var</span> <span class="py">_translateY</span><span class="p">:</span> <span class="nc">Float</span> <span class="p">=</span> <span class="nc">Float</span><span class="p">.</span><span class="nc">NaN</span>
    <span class="kd">var</span> <span class="py">_lineCoords</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">SpanLine</span><span class="p">&gt;</span> <span class="p">=</span> <span class="nf">emptyList</span><span class="p">()</span>

    <span class="k">override</span> <span class="k">fun</span> <span class="nf">createShader</span><span class="p">(</span><span class="n">size</span><span class="p">:</span> <span class="nc">Size</span><span class="p">):</span> <span class="nc">Shader</span> <span class="p">{</span>
        <span class="kd">val</span> <span class="py">lines</span> <span class="p">=</span> <span class="nf">lineCoords</span><span class="p">()</span>
        <span class="kd">val</span> <span class="py">translateY</span> <span class="p">=</span> <span class="nf">translateY</span><span class="p">()</span>

        <span class="k">if</span> <span class="p">(</span><span class="n">createdShader</span> <span class="p">!=</span> <span class="k">null</span> <span class="p">&amp;&amp;</span> <span class="n">_size</span> <span class="p">==</span> <span class="n">size</span> <span class="p">&amp;&amp;</span> <span class="n">_translateY</span> <span class="p">==</span> <span class="n">translateY</span> <span class="p">&amp;&amp;</span> <span class="n">_lineCoords</span> <span class="p">==</span> <span class="n">lines</span><span class="p">)</span> <span class="p">{</span>
            <span class="k">return</span> <span class="n">createdShader</span><span class="o">!!</span>
        <span class="p">}</span>

        <span class="kd">val</span> <span class="py">lineCount</span> <span class="p">=</span> <span class="n">lines</span><span class="p">.</span><span class="n">size</span>
        <span class="k">if</span> <span class="p">(</span><span class="n">lineCount</span> <span class="p">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
            <span class="c1">// not important, lineCoords are being evaluated.</span>
            <span class="k">return</span> <span class="nc">LinearGradientShader</span><span class="p">(</span>
                <span class="n">colors</span> <span class="p">=</span> <span class="n">colors</span><span class="p">,</span>
                <span class="n">colorStops</span> <span class="p">=</span> <span class="k">null</span><span class="p">,</span>
                <span class="n">from</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="mf">0f</span><span class="p">,</span> <span class="mf">0f</span><span class="p">),</span>
                <span class="n">to</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">size</span><span class="p">.</span><span class="n">width</span><span class="p">,</span> <span class="n">size</span><span class="p">.</span><span class="n">height</span><span class="p">),</span>
            <span class="p">)</span>
        <span class="p">}</span>

        <span class="kd">val</span> <span class="py">totalWidth</span> <span class="p">=</span> <span class="n">lines</span><span class="p">.</span><span class="nf">map</span> <span class="p">{</span> <span class="n">it</span><span class="p">.</span><span class="n">right</span> <span class="p">-</span> <span class="n">it</span><span class="p">.</span><span class="n">left</span> <span class="p">}.</span><span class="nf">sum</span><span class="p">()</span>
        <span class="kd">var</span> <span class="py">startXDelta</span> <span class="p">=</span> <span class="mf">0f</span>
        <span class="k">return</span> <span class="nf">concatenateShadersVertically</span><span class="p">(</span>
            <span class="n">shaders</span> <span class="p">=</span> <span class="n">lines</span><span class="p">.</span><span class="nf">map</span> <span class="p">{</span> <span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">lineHeight</span><span class="p">)</span> <span class="p">-&gt;</span>
                <span class="kd">val</span> <span class="py">startX</span> <span class="p">=</span> <span class="n">start</span> <span class="p">-</span> <span class="n">startXDelta</span>
                <span class="kd">val</span> <span class="py">endX</span> <span class="p">=</span> <span class="n">startX</span> <span class="p">+</span> <span class="n">totalWidth</span>
                <span class="n">startXDelta</span> <span class="p">+=</span> <span class="n">end</span> <span class="p">-</span> <span class="n">start</span>

                <span class="nc">LinearGradientShader</span><span class="p">(</span>
                    <span class="n">colors</span> <span class="p">=</span> <span class="n">colors</span><span class="p">,</span>
                    <span class="n">colorStops</span> <span class="p">=</span> <span class="k">null</span><span class="p">,</span>
                    <span class="n">from</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">startX</span><span class="p">,</span> <span class="mf">0f</span><span class="p">),</span>
                    <span class="n">to</span> <span class="p">=</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">endX</span><span class="p">,</span> <span class="mf">0f</span><span class="p">),</span>
                <span class="p">)</span> <span class="n">to</span> <span class="n">lineHeight</span>
            <span class="p">},</span>
            <span class="n">translateY</span> <span class="p">=</span> <span class="n">translateY</span><span class="p">,</span>
            <span class="n">shaderWidth</span> <span class="p">=</span> <span class="n">size</span><span class="p">.</span><span class="n">width</span><span class="p">.</span><span class="nf">toInt</span><span class="p">(),</span>
            <span class="n">shaderHeight</span> <span class="p">=</span> <span class="n">size</span><span class="p">.</span><span class="n">height</span><span class="p">.</span><span class="nf">toInt</span><span class="p">()</span>
        <span class="p">)</span>
    <span class="p">}</span>
<span class="p">}</span>

<span class="k">private</span> <span class="k">fun</span> <span class="nf">concatenateShadersVertically</span><span class="p">(</span>
    <span class="n">shaders</span><span class="p">:</span> <span class="nc">List</span><span class="p">&lt;</span><span class="nc">Pair</span><span class="p">&lt;</span><span class="nc">Shader</span><span class="p">,</span> <span class="nc">Float</span><span class="p">&gt;&gt;,</span>
    <span class="n">translateY</span><span class="p">:</span> <span class="nc">Float</span><span class="p">,</span>
    <span class="n">shaderWidth</span><span class="p">:</span> <span class="nc">Int</span><span class="p">,</span>
    <span class="n">shaderHeight</span><span class="p">:</span> <span class="nc">Int</span>
<span class="p">):</span> <span class="nc">Shader</span> <span class="p">{</span>
    <span class="kd">val</span> <span class="py">compositeBitmap</span> <span class="p">=</span> <span class="nf">createBitmap</span><span class="p">(</span><span class="n">shaderWidth</span><span class="p">,</span> <span class="n">shaderHeight</span><span class="p">)</span>
    <span class="kd">val</span> <span class="py">compositeCanvas</span> <span class="p">=</span> <span class="nc">Canvas</span><span class="p">(</span><span class="n">compositeBitmap</span><span class="p">)</span>

    <span class="kd">val</span> <span class="py">paint</span> <span class="p">=</span> <span class="nc">Paint</span><span class="p">(</span><span class="nc">Paint</span><span class="p">.</span><span class="nc">ANTI_ALIAS_FLAG</span><span class="p">)</span>

    <span class="kd">var</span> <span class="py">top</span> <span class="p">=</span> <span class="n">translateY</span>
    <span class="n">shaders</span><span class="p">.</span><span class="nf">forEachIndexed</span> <span class="p">{</span> <span class="n">index</span><span class="p">,</span> <span class="p">(</span><span class="n">shader</span><span class="p">,</span> <span class="n">lineHeight</span><span class="p">)</span> <span class="p">-&gt;</span>
        <span class="n">paint</span><span class="p">.</span><span class="n">shader</span> <span class="p">=</span> <span class="n">shader</span>
        <span class="kd">val</span> <span class="py">bottom</span> <span class="p">=</span> <span class="n">top</span> <span class="p">+</span> <span class="n">lineHeight</span>
        <span class="kd">val</span> <span class="py">rect</span> <span class="p">=</span> <span class="nc">RectF</span><span class="p">(</span><span class="mf">0f</span><span class="p">,</span> <span class="n">top</span><span class="p">,</span> <span class="n">shaderWidth</span><span class="p">.</span><span class="nf">toFloat</span><span class="p">(),</span> <span class="n">bottom</span><span class="p">)</span>
        <span class="n">compositeCanvas</span><span class="p">.</span><span class="nf">drawRect</span><span class="p">(</span><span class="n">rect</span><span class="p">,</span> <span class="n">paint</span><span class="p">)</span>
        <span class="n">top</span> <span class="p">+=</span> <span class="n">lineHeight</span>
    <span class="p">}</span>

    <span class="k">return</span> <span class="nc">ImageShader</span><span class="p">(</span><span class="n">compositeBitmap</span><span class="p">.</span><span class="nf">asImageBitmap</span><span class="p">())</span>
<span class="p">}</span>

<span class="kd">data class</span> <span class="nc">SpanLine</span><span class="p">(</span>
    <span class="kd">val</span> <span class="py">left</span><span class="p">:</span> <span class="nc">Float</span><span class="p">,</span>
    <span class="kd">val</span> <span class="py">right</span><span class="p">:</span> <span class="nc">Float</span><span class="p">,</span>
    <span class="kd">val</span> <span class="py">height</span><span class="p">:</span> <span class="nc">Float</span>
<span class="p">)</span>
</code></pre></div></div>]]></content><author><name></name></author><category term="android" /><summary type="html"><![CDATA[This is not going to be a regular android dev blog post. I’m going to try a new format that I want to call journaling to a solution. To give a sense of how different this is (to me), I’m using Google Docs for the drafting phase for the first time. Eventually this will be on my personal blog so the content needs to be exported as html or markdown.]]></summary></entry><entry><title type="html">Why text gets jittery when scaled on Android</title><link href="https://halilibo.com/2024/why-text-gets-jittery-when-scaled-on-android.html" rel="alternate" type="text/html" title="Why text gets jittery when scaled on Android" /><published>2024-03-30T11:12:00+00:00</published><updated>2024-03-30T11:12:00+00:00</updated><id>https://halilibo.com/2024/why-text-gets-jittery-when-scaled-on-android</id><content type="html" xml:base="https://halilibo.com/2024/why-text-gets-jittery-when-scaled-on-android.html"><![CDATA[<p>Around 2 years ago, Wear OS team had a problem with their new Picker composable, the text looked jittery as the picker was scrolling.</p>

<p align="center">
  <img src="/assets/images/picker-jittery-text.gif" alt="Description of your GIF" />

  <p style="font-size:12px;text-align:center;">If you cannot figure out what's wrong with the above recording, focus on either top or bottom row, then take a closer look at number zero.</p>
</p>

<p>Wear OS team weren’t the first ones to run into this issue on an Android based platform, nor would they be the last. My initial investigation into this problem led me down a path of graphics, text, and Android’s history of these two domains.</p>

<p>Eventually my investigation turned into an internal <em>research</em> document that I’ve been referencing regularly for the past 2 years. At the time, this work also paved the way for one dedicated API (<a href="https://developer.android.com/develop/ui/compose/animation/quick-guide#animate-text-scale">TextMotion</a>) and sped up the development of another (<a href="https://developer.android.com/develop/ui/compose/graphics/draw/modifiers#compositing-strategy">CompositingStrategy</a>).</p>

<p>This post is just the publication of that document without much editorial input.</p>

<ul>
  <li>I had to remove some internal links.</li>
  <li>I purposefully chose to get rid of design document elements. That part is not interesting.</li>
</ul>

<h2 id="acknowledgements">Acknowledgements</h2>

<p>Usually the acknowledgements section comes at the end of articles or papers. This has never made sense to me. Especially, right now. Most of my research was practice as you will see in this post but my curiosity was lit by <a href="https://docs.google.com/document/d/1wpzgGMqXgit6FBVaO76epnnFC_rQPdVKswrDQWyqO1M/preview?tab=t.0#heading=h.bjsw53t8jqke">this document</a>, written by Behdad Esfahbod, the author of HarfBuzz.</p>

<p>If you have time and are hungry for more in-depth exploration of text shaping and rendering, albeit from 2012’s perspective, please read the whole thing. The fact that it is public is what also encouraged me to make my own work public.</p>

<p>I would also like to thank Siyamed Sinir, Seigo Nonaka, Ben Wagner, and John Reck for their invaluable help in this research.</p>

<p>Now, let’s get into it.</p>

<h1 id="jittery-text-scale-animations">Jittery Text Scale Animations</h1>

<p><strong>Problem</strong>: Compose Text looks jittery when a <code class="language-plaintext highlighter-rouge">graphicsLayer</code> scale animation is applied on it.</p>

<p>This problem is not isolated to Compose though. Same problem was first reported for TextView in [an internal issue link]. [A teammate] first proposed to use <code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code>, maybe enabling it by default on Compose. Later, Wear OS picker composable which scales the text when it’s scrolled vertically brought the issue forward. The problem looked to be reproducible upon closer inspection in Compose UI on a phone since Compose for Wear OS does not have a separate text layout/render engine.</p>

<p>Please take a look at the following videos to see the difference between jittery and smooth animation.</p>

<table>
<tr>
<th>Jittery</th>
<th>Fixed</th>
</tr>
<tr>
<td><div class="embed-container">
  <iframe src="https://www.youtube.com/embed/CKO1Zrktolo" width="100%" height="600" frameborder="0" allowfullscreen="true">
  </iframe>
</div></td>
<td><div class="embed-container">
  <iframe src="https://www.youtube.com/embed/KvWUwjf43Is" width="100%" height="600" frameborder="0" allowfullscreen="true">
  </iframe>
</div></td>
</tr>
</table>

<h2 id="background">Background</h2>

<p>Text scale animations are susceptible to jittery font issues if the right flags and configurations are not applied on the text paint.</p>

<p>There are many properties regarding fonts, graphics layering, text positioning, anti-aliasing, etc. that affect the final rendered text on the screen. This issue, like many rendering issues in Text, stems from how rasterization is done and scaled.</p>

<p>Glyphs get placed at whole or fractional pixel positions according to font metrics and the mentioned paint features. Scaling gets applied on an already finalized text layout, which brings us to the root issue: the linearity of text.</p>

<p>I’ll just quote Behdad because he is one of the best people who can explain linearity vs non-linearity.</p>

<blockquote>
  <p>When it comes to layout, there are two opposite directions you can go: linear, and non-linear.  Glyph positions produced by a linear layout function can be transformed by an affine (or even projective, if you are careful) transformation, and they would result in exactly what would have had resulted if the font scale matrix was transformed by such transformation before layout.  i.e. linearly laying out a paragraph at 12pt to a width of 4in will result in the exact same look and line breaks that results from setting it at 24pt to a width of 8in.  That’s a very nice property, because it means that you can zoom, rotate, translate, shear, even project the layout results freely.</p>
</blockquote>

<blockquote>
  <p>Non-linear layout would be different.  For example, you may decide (for many legitimate reasons), that at 10px size, the  glyph for letter ‘i’ should take 2 pixels of space (one column of black stem, one column of white space after).  But the same glyph, at size 20px may take only 3 pixels (one full black stem in the middle column, and two very light gray columns on the sides).  That’s clearly non-linear, because although the font size was increased 100%, the glyph width only increased 50%.  Note that this is not a matter of local error.  If you consider a string of i’s (“iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii”), the whole string is now only 50% wider than the one “half the size”.  Line breaks will be calculated differently, page breaks will be calculated differently, and the document may end up consuming a different number of pages.  In short, with non-linear layout all bets are off.</p>
</blockquote>

<p>Basically, text rendering is an analog process that happens on a theoretical canvas. The majority of font metrics are subject to be calculated at fractional values when the canvas is arbitrarily scaled. Hence, Skia and Android Paint classes provide flags for subpixel positioning, <a href="https://freetype.org/freetype2/docs/glyphs/glyphs-3.html">line metrics</a>, baseline snapping(Android excluded, only Skia) and <a href="https://en.wikipedia.org/wiki/Font_hinting">font hinting</a> that decide whether to use whole or rational numbers to place glyphs on this theoretical canvas.</p>

<p>Some of these properties violate the linearity of text, which affects how humans perceive scaling animation.</p>

<h3 id="scale-vs-text-size">Scale vs Text Size</h3>

<p>Scaling text on screen can be achieved in two different ways in Jetpack Compose. The first one is using <code class="language-plaintext highlighter-rouge">graphicsLayer</code>, <code class="language-plaintext highlighter-rouge">scaleX</code>, and <code class="language-plaintext highlighter-rouge">scaleY</code> parameters.</p>

<p>Most developers will probably go for this solution since  animating a float comes easy and intuitive, and also googling for scaling animations in Jetpack Compose usually suggests this method whether it is for text or any layout node.</p>

<p>The second method is scaling the <code class="language-plaintext highlighter-rouge">fontSize</code> parameter by converting an animating float value into <code class="language-plaintext highlighter-rouge">sp</code>. This might seem unintuitive to developers, not to mention it is more risky to mess with fractional font sizes, e.g., Lollipop onwards until Pie had fractional font sizes disabled.</p>

<h3 id="flags-and-hinting">Flags and Hinting</h3>

<p><code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code>, <code class="language-plaintext highlighter-rouge">SUBPIXEL_TEXT_FLAG</code>, and <code class="language-plaintext highlighter-rouge">setHinting</code> in <code class="language-plaintext highlighter-rouge">Paint</code> class directly affect how glyphs are shaped, placed, and positioned on a line.</p>

<p>Their effect becomes more negligible as DPI increases. However, text animations using either <code class="language-plaintext highlighter-rouge">fontSize</code> or <code class="language-plaintext highlighter-rouge">graphicsLayer</code> scaling make it easier to notice the difference even in high DPI screens due to the human factor.</p>

<p>Below, all static images are screenshots from an ldpi (3.3” 240x420) device running on Android API 33(T).</p>

<h4 id="hinting">Hinting</h4>

<p>From Wikipedia:</p>

<blockquote>
  <p>Font hinting (also known as instructing) is the use of mathematical instructions to adjust the display of an outline font so that it lines up with a rasterized grid. At low screen resolutions, hinting is critical for producing clear, legible text.</p>
</blockquote>

<p>Font Hinting might remind you of 9-patch drawables. They are special bitmaps that define an image in 9 automatically scalable parts so that resizing the image won’t ruin the corners and edges. Similarly, font hinting describes how to scale a glyph to a non-predefined target size e.g. <code class="language-plaintext highlighter-rouge">16.7</code>.</p>

<p>Hinting is one of many features that instruct text shaping engines to put glyphs onto a pixel and not use subpixel values while reporting final text layout. This behavior violates the linearity of text, meaning that scaling the text while hinting is enabled probably results in dancing glyphs on the screen.</p>

<div style="width: 100%; overflow-x: auto;">
  <table style="margin-left: auto; margin-right: auto; width: 120%;">
    <tr>
      <th style="width:33%">Disabled</th>
      <th style="width:33%">Enabled</th>
      <th style="width:33%">Diff</th>
    </tr>
    <tr>
      <td><img src="/assets/images/hinting-disabled-qwerty.png" style="width:100%" /></td>
<td><img src="/assets/images/hinting-enabled-qwerty.png" style="width:100%" /></td>
<td><img src="/assets/images/hinting-diff-qwerty.png" style="width:100%" /></td>
</tr>
<tr>
<td><img src="/assets/images/jittery-text/image25.png" style="width:100%" /></td>
<td><img src="/assets/images/jittery-text/image25.png" style="width:100%" /></td>
<td>
<p><b>API 23</b></p>
<p>
At this API level hinting is always enabled for some reason. Setting it through AndroidTextPaint does not seem to have an effect.
</p>

<p>
I believe this is due to the fact that `LINEAR_TEXT` has been disabled after Lollipop(21) and was re-enabled with Pie(28).
</p>
</td>
</tr>
<tr>
<td><img src="/assets/images/jittery-text/image14.png" style="width:100%" /></td>
<td><img src="/assets/images/jittery-text/image29.png" style="width:100%" /></td>
<td>
<b>API 33</b>

<p>When hinting is enabled, the advance width of characters are hammered to pixels. No subpixel values are allowed.</p>
</td>
</tr>

<tr>
<td><img src="/assets/images/jittery-text/image40.gif" style="width:100%" /></td>
<td><img src="/assets/images/jittery-text/image43.gif" style="width:100%" /></td>
<td>
<b>API 33 - graphicsLayer scaling</b>
<p>
Only toggling hinting does not provide obvious benefits. In both cases we still see the animation suffering from jittery text. This animation is achieved via using graphicsLayer modifier and scaleX scaleY attributes.
</p>
</td>
</tr>

<tr>
<td><img src="/assets/images/jittery-text/image6.gif" style="width:100%" /></td>
<td><img src="/assets/images/jittery-text/image19.gif" style="width:100%" /></td>
<td>
<b>API 33 - fontSize scaling</b>
<p>
The other method of animating the text is scaling the font size itself. This time hinting starts to show its face. Disabling hinting produces a better looking animation, albeit not perfect. This indicates that hinting is a non-linear property.
</p>
</td>
</tr>

</table>
</div>

<h4 id="linear_text_flag">LINEAR_TEXT_FLAG</h4>

<p>From its <a href="https://developer.android.com/reference/android/graphics/Paint%23LINEAR_TEXT_FLAG">documentation</a>;</p>

<blockquote>
  <p>Paint flag that enables smooth linear scaling of text.</p>
</blockquote>

<blockquote>
  <p>Enabling this flag does not actually scale text, but rather adjusts text draw operations to deal gracefully with smooth adjustment of scale. When this flag is enabled, font hinting is disabled to prevent shape deformation between scale factors, and glyph caching is disabled due to the large number of glyph images that will be generated.</p>
</blockquote>

<blockquote>
  <p><code class="language-plaintext highlighter-rouge">SUBPIXEL_TEXT_FLAG</code> should be used in conjunction with this flag to prevent glyph positions from snapping to whole pixel values as scale factor is adjusted.</p>
</blockquote>

<p>Although this description might require a few readings, it’s actually a super concise and accurate way of explaining what <code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code> enables which is introducing linearity to text rendering. Then the question becomes what does linearity mean in the context of text. I’m again going to quote from Behdad</p>

<blockquote>
  <p>When it comes to layout, there are two opposite directions you can go: linear, and non-linear.  Glyph positions produced by a linear layout function can be transformed by an affine transformation, and they would result in exactly what would have had resulted if the font scale matrix was transformed by such transformation before layout.  i.e. linearly laying out a paragraph at 12pt to a width of 4in will result in the exact same look and line breaks that results from setting it at 24pt to a width of 8in.  That’s a very nice property, because it means that you can zoom, rotate, translate, shear, even project the layout results freely.</p>
</blockquote>

<p>Linearity guarantees a constant text layout in the face of matrix transformations. Another thing we need to know is that metrics hinting introduces non-linearity to text layout. Therefore we understand why font hinting is disabled when <code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code> is activated. Let’s look at the following table that shows the difference between linear text and font hinting at different font sizes;</p>

<table>
  <tr>
    <th style="width:10%"><b>API 33</b></th>
    <th style="width:45%">LINEAR_TEXT_FLAG</th>
    <th style="width:45%">Hinting</th>
  </tr>
  <tr>
    <td>30.sp</td>
    <td><img src="/assets/images/jittery-text/image38.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image26.png" style="width:100%" /></td>
  </tr>
  <tr>
    <td>36.sp</td>
    <td><img src="/assets/images/jittery-text/image10.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image39.png" style="width:100%" /></td>
  </tr>
</table>

<p>We can now see that scaling linear text does not change the position of glyphs in text with respect to font size. Take a closer look at the final <code class="language-plaintext highlighter-rouge">i</code> on the last line and <code class="language-plaintext highlighter-rouge">Z</code> on the second line. Their relative position remains the same. On the contrary, font hinting messes with this dynamic. <code class="language-plaintext highlighter-rouge">i</code> and <code class="language-plaintext highlighter-rouge">Z</code> clearly do not maintain their relative position which would affect line breaks.</p>

<p>Lastly, <code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code> is passed down to Skia by using <a href="https://api.skia.org/classSkFont.html#a372d51cca2d6104e911d467aad4903a9"><code class="language-plaintext highlighter-rouge">setLinearMetrics</code></a>. This flag enables outline fonts to scale their advance widths (total glyph width) to subpixel values according to Skia docs.</p>

<p>In the end, <code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code> makes it possible to animate font size smoothly thanks to using subpixel advance widths while calculating glyphs sizes. However, it has little to no effect while animating the scale of the drawing area after Text Layout is completed. This is very much unexpected from what I’ve been told and read in the documentation.</p>

<h4 id="subpixel_text_flag">SUBPIXEL_TEXT_FLAG</h4>

<p>Once again, let’s start with the documentation;</p>

<blockquote>
  <p>Paint flag that enables subpixel positioning of text.</p>
</blockquote>

<blockquote>
  <p>Enabling this flag causes glyph advances to be computed with subpixel accuracy.</p>
</blockquote>

<blockquote>
  <p>This can be used with <code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code> to prevent text from jittering during smooth scale transitions.</p>
</blockquote>

<p>This flag could be one of the most confusing configuration options. The confusion starts with its name.</p>

<p>First, subpixel sometimes used to mean something completely unrelated in text context; <a href="https://en.wikipedia.org/wiki/Subpixel_rendering">subpixel text smoothing/antialiasing</a>. It is a different concept that does edge smoothing using the position of R/G/B channels on LCD screens. It’s actually supported through a flag in <a href="https://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkPaint.html#ab06f85e02b03944e1a3847d5d932bcd8"><code class="language-plaintext highlighter-rouge">SkPaint</code></a> class but the flag is hidden from the public API in <a href="https://cs.android.com/android/platform/superproject/+/master:frameworks/base/graphics/java/android/graphics/Paint.java;l=236">Android</a>.</p>

<p>Second, subpixel text positioning increases the spatial resolution by rasterizing glyphs for multiple subpositions. This helps antialiasing to correctly sample at different scales. Most importantly, <code class="language-plaintext highlighter-rouge">SUBPIXEL_TEXT_FLAG</code> gets rid of the horizontal wobbling while doing scaling animations. Unfortunately, it cannot get rid of vertical wobbling because that depends on baseline snapping which is not exposed through Android platform APIs.</p>

<table>
  <tr>
    <th><b>API 33</b></th>
    <th>Subpixel Off</th>
    <th>Subpixel On</th>
  </tr>
  <tr>
    <td>36.sp</td>
    <td><img src="/assets/images/jittery-text/image22.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image9.png" style="width:100%" /></td>
  </tr>
</table>

<p>Also, subpixel positioning not only changes where glyphs are positioned, but also affects how they are anti-aliased. The screenshot on the left has the same <code class="language-plaintext highlighter-rouge">i</code> glyph positioned variously on the same line. The important part is that all <code class="language-plaintext highlighter-rouge">i</code>s look the same. However, <code class="language-plaintext highlighter-rouge">i</code>s are rendered differently from each other on the right screenshot when subpixel positioning is turned on.</p>

<p>Another point of discussion comes from Behdad’s High-DPI Subpixel Text Positioning document;</p>

<blockquote>
  <p>Note that when most people talk about subpixel text positioning, <strong>what they really mean is subpixel text positioning and no metrics hinting</strong>.</p>
</blockquote>

<p>Subpixel text positioning defeats the purpose of metrics hinting because it enables text positioning at different scales to operate on subpixel values while hinting helps to render fonts at integer/pixel boundaries in the same conditions. Enabling both simultaneously does not make much sense.</p>

<h4 id="dpis-effect-on-subpixels">DPI’s effect on Subpixels</h4>

<p>Not surprisingly, subpixel positioning’s effect diminishes as screen DPI increases. The reason is quite clear. Instead of helping antialiasing to work out the grayscale intensity on border pixels of glyphs by supplying fractional values, high DPI screens simply provide much more pixels for an area to eliminate the need for fractional values. 0.25 pixels basically becomes a whole pixel in high DPI. The table below shows the text rendering difference between various DPI configs;</p>

<table>
  <tr>
    <th style="width:60px;"><b>API 33</b></th>
    <th style="width:33%;">Subpixel Off</th>
    <th style="width:33%;">Subpixel On</th>
    <th style="width:33%;">Diff</th>
  </tr>
    <tr>
    <td>XHdpi Wear OS (2.0, 320)</td>
    <td><img src="/assets/images/jittery-text/image35.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image15.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image11.png" style="width:100%" /></td>
  </tr>
  <tr>
    <td>Low DPI (0.75, 120)</td>
    <td><img src="/assets/images/jittery-text/image12.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image32.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image37.png" style="width:100%" /></td>
  </tr>
  <tr>
    <td>XXHigh DPI (3.0, 480)</td>
    <td><img src="/assets/images/jittery-text/image24.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image16.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image34.png" style="width:100%" /></td>
  </tr>
  <tr>
    <td>Ultra High DPI (3.5, 560)</td>
    <td><img src="/assets/images/jittery-text/image5.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image33.png" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image27.png" style="width:100%" /></td>
  </tr>
</table>

<h3 id="levers">Levers</h3>

<p>We have talked about 3 levers that configure how glyphs are placed and rendered on individual pixels. Some make text more legible and readable, some help animations. Using these levers for the correct use case becomes very important. Hinting can be turned on by default but <strong>subpixel text positioning is not suitable for static text</strong> that should be the same on every screen it’s rendered.</p>

<div style="width: 100%; overflow-x: auto;">
  <table style="margin-left: auto; margin-right: auto; width: 150%;">
  <thead>
  <tr>
    <th style="width:10%;"><b>API 33 Low DPI</b></th>
    <th style="width:40%;">graphicsLayer scaling</th>
    <th style="width:40%;">fontSize scaling</th>
    <th style="width:15%;">Comments</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td>Nothing</td>
      <td><img src="/assets/images/jittery-text/image1.gif" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image28.gif" style="width:100%" /></td>
      <td>No hinting, no flags. As expected both animations suffer. `GraphicsLayer` based scaling has jittery font issue, font size does not scale well without linearity.</td>
  </tr>
  <tr>
    <td><p>Hinting (Default behavior)</p><p>setHinting(true)</p></td>
      <td><img src="/assets/images/jittery-text/image7.gif" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image41.gif" style="width:100%" /></td>
      <td>`GraphicsLayer` does not change much compared to the “Nothing” option. Font size scaling gets  much worse. Hinting is clearly non-linear.</td>
  </tr>
    <tr>
    <td><p>Linear</p><p>LINEAR_TEXT_FLAG</p></td>
    <td><img src="/assets/images/jittery-text/image48.gif" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image3.gif" style="width:100%" /></td>
    <td>GraphicsLayer scaling does not benefit from LINEAR_TEXT_FLAG. Jittering still continues. Font size animation finally gets continuous increase and decrease thanks to linearity. However, jittering cannot be eliminated.</td>
  </tr>
  <tr>
    <td><p>Subpixel</p><p>SUBPIXEL_TEXT_FLAG</p></td>
      <td><img src="/assets/images/jittery-text/image13.gif" style="width:100%" /></td>
    <td><img src="/assets/images/jittery-text/image31.gif" style="width:100%" /></td>
    <td>GraphicsLayer animation looks much better now. Only jittering happens in vertical axis since we do not have access to disabling baseline snapping. Font size animation returns back to the normal non-linear behavior</td>
  </tr>
  <tr>
    <td><p>L&amp;S</p><p>LINEAR_TEXT_FLAG and SUBPIXEL_TEXT_FLAG</p></td>
    <td><img src="/assets/images/jittery-text/image36.gif" style="width:100%;" /></td>
    <td><img src="/assets/images/jittery-text/image47.gif" style="width:100%;" /></td>
    <td>Documentation recommends applying both these flags together. Interestingly it doesn’t add much to visual quality compared to only applying SUBPIXEL_TEXT_FLAG. Animations remain jittery in the vertical axis.</td>
  </tr>
  </tbody>
</table>
</div>

<h3 id="alpha-hack--compositingstrategy">Alpha Hack / CompositingStrategy</h3>

<blockquote>
  <p>This hack is no longer a hack thanks to this CL <a href="https://r.android.com/2277787">aosp/2277787</a></p>
</blockquote>

<blockquote>
  <p>Instead of applying alpha = 0.99f, we can switch to using new graphicsLayer compositingStrategy API</p>
</blockquote>

<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">modifier</span> <span class="p">=</span> <span class="nc">Modifier</span>
    <span class="p">.</span><span class="nf">graphicsLayer</span> <span class="p">{</span>
        <span class="n">scaleX</span> <span class="p">=</span> <span class="n">scale</span>
            <span class="n">scaleY</span> <span class="p">=</span> <span class="n">scale</span>
        <span class="c1">// alpha = 0.99f // Not necessary anymore</span>
        <span class="n">compositingStrategy</span> <span class="p">=</span> <span class="nc">CompositingStrategy</span><span class="p">.</span><span class="nc">Offscreen</span>
    <span class="p">}</span>
</code></pre></div></div>

<p>An offscreen compositing layer has been used to apply alpha to Views/RenderNodes since Marshmallow(API 23). Compose also adopts this technique of applying alpha at GraphicsLayerScope. Using a compositing layer involves carrying all the information from the screen onto an offscreen layer, doing any operation like blending, and then carrying the result back to the screen as explained <a href="https://developer.android.com/reference/android/view/View#hasOverlappingRendering()">here</a>.</p>

<p>How does this affect text rendering? If text is rendered on screen, then carried to a compositing layer to do scaling, text will be scaled just like an image.</p>

<p>How can we achieve this in Compose? By simply using an alpha value that’s not 1f e.g. 0.999f in a graphicsLayer modifier. Once an alpha is set on a RenderNode, it automatically switches to an offscreen layer.</p>

<p>What about loss of detail? That pretty much is a guarantee when we use alpha to scale Text. Let’s take a look at the animations below.</p>

<p><strong>In short, this hack rasterizes text at the original scale and performs scale operation on a bitmap.</strong></p>

<p style="color:red;font-style:italic;">Interception; Ok, it is not actually a bitmap but you get the idea. I use the word bitmap to basically mean a rasterization.</p>

<p>PS; I found <a href="https://www.kirupa.com/animations/bad_idea_animating_text_size_scale.htm">this post</a> recommending rasterization for text scale animation on web. It also gives a very good explanation of why text animation is an incredibly complex use case.</p>

<table>
  <tr>
    <td>GraphicsLayer scaled Text <b>without alpha</b></td>
    <td>GraphicsLayer scaled Text <b>with alpha</b></td>
  </tr>
  <tr>
    <td><img src="/assets/images/jittery-text/image46.gif" style="width:100%;" /></td>
    <td><img src="/assets/images/jittery-text/image2.gif" style="width:100%;" /></td>
  </tr>
</table>

<p>When scaling is exaggerated as in above case, offscreen layer starts showing its ugly face for text. On the other hand, if scaling is done in [0.8f,1.2f] range (values chosen arbitrarily through manual experiments), alpha hack doesn’t seem to make the text look worse or better. You can check Solutions/Option 1 for a demonstration.</p>

<p>Furthermore, scaling this way is much much smoother compared to any other flags that we have discussed in this document. Disadvantage of course being loss of detail when scale is exaggerated.</p>

<h3 id="api-28-and-changing-text-rendering">API 28 and changing Text Rendering</h3>

<p><em>Reasons explained at</em> <a href="#comment-0">[0]</a>, something caused a major change to text rendering in API 28. Most probably it was part of hwui-&gt;skia migration that happened over several years encompassing API 28. Below gifs show how graphicsLayer scaling behaves on API 27-28 respectively. Lower level APIs until 21 (minimum supported by Compose) mimics API 27 behavior while higher APIs follow API 28.</p>

<table>
  <tr>
    <td>API 27 graphicsLayer scaling</td>
    <td>API 28 graphicsLayer scaling</td>
  </tr>
  <tr>
    <td><img src="/assets/images/jittery-text/image4.gif" style="width:100%;" /></td>
    <td><img src="/assets/images/jittery-text/image2.gif" style="width:100%;" /></td>
  </tr>
</table>

<p>Maybe it follows the same principles that made alpha hack work, an offscreen layer. Let’s test if smooth scaling causes any side effects for large changes e.g. scaleX = 16f, scaleY = 16f on API 27.</p>

<table>
  <tr>
    <td></td>
    <td>Hinting On</td>
    <td>Linear and Subpixel On</td>
  </tr>
  <tr>
    <td>API 27</td>
    <td><img src="/assets/images/jittery-text/image20.gif" style="width:100%;" /></td>
    <td><img src="/assets/images/jittery-text/image21.gif" style="width:100%;" /></td>
  </tr>
  <tr>
    <td>API 28</td>
    <td><img src="/assets/images/jittery-text/image30.gif" style="width:100%;" /></td>
    <td><img src="/assets/images/jittery-text/image18.gif" style="width:100%;" /></td>
  </tr>
</table>

<p>There is no major blur happening in any of these examples, indicating that probably no rasterization is occurring at low scale.</p>

<p>Now we can also clearly see how <code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code> was out-of-use until API 28. There is almost no benefit of using <code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code> in API 27 compared to the default hinted layout. However, API 28 shows a major improvement for scale animations when <code class="language-plaintext highlighter-rouge">LINEAR_TEXT_FLAG</code> is applied.</p>

<h2 id="solutions">Solutions</h2>

<p>I’m cutting out this part largely because it gets kinda boring and basically boils down to two options that have been thoroughly discussed in this document;</p>

<h4 id="option-1-use-the-new-compositingstrategy">Option 1: Use the new CompositingStrategy</h4>

<blockquote>
  <p><code class="language-plaintext highlighter-rouge">CompositingStrategy.Offscreen</code> is acceptable if the rendered text is only scaled between 0.8-1.2 range. Anything above or below makes the text look very blurry or simply unreadable. It solves the problem that WearOS is facing at the moment with the Picker composable.</p>
</blockquote>

<table>
  <tr>
    <td><img src="/assets/images/jittery-text/image44.gif" style="width:100%;" /></td>
    <td><img src="/assets/images/jittery-text/image23.gif" style="width:100%;" /></td>
  </tr>
</table>

<h4 id="option-2-simplified-textmotion-api">Option 2: Simplified TextMotion API</h4>

<p>In this option we propose a very simplified API on Compose side that is called <code class="language-plaintext highlighter-rouge">TextMotion</code>. We think that there aren’t many configuration options that make sense as <code class="language-plaintext highlighter-rouge">TextPaint</code> flags. The ones we have uncovered are either for Static or Animated text.</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">TextMotion.Static</code> enables hinting, disables linearity and subpixel positioning.</li>
  <li><code class="language-plaintext highlighter-rouge">TextMotion.Animated</code> is the exact opposite.</li>
</ul>

<p>Good thing about this solution is that it doesn’t need to rasterize the text onto an offscreen buffer. However, it also cannot get rid of vertical jitter. Not great for multi-line text animations…</p>

<h2 id="conclusion">Conclusion</h2>

<p>We ended up shipping both solutions. To be fair, <code class="language-plaintext highlighter-rouge">CompositingStrategy</code> had many more other reasons to exist besides solving this peculiar problem. On the other hand, <code class="language-plaintext highlighter-rouge">TextMotion</code> was a direct solution to the jittery text animation.</p>

<p>I published this document in the hopes that somebody finds Text layout and rendering interesting and would like to dive into its history on Android. There isn’t much fascinating knowledge being shared here.</p>

<p>My main purpose was to inspire and let the reader realize and appreciate the work that goes into <strong>Text</strong>.</p>

<h2 id="appendix">Appendix</h2>

<p id="comment-0">[0] John Reck;</p>

<blockquote>
  <p>Old HWUI pre-skia would only re-sharpen glyphs in binned buckets. So it was like a hybrid of the offscreen layer &amp; the 28+ behavior. For small changes (&lt;15% iirc), it would prefer to use an existing rasterized glyph from the cache (so similar to the layer scaling quality, but without actually paying the cost of an offscreen buffer). If the font scaled beyond that, then it’d re-rasterize the glyph to sharpen it up.</p>
</blockquote>

<blockquote>
  <p>This was done for performance reasons, but this doc seems like maybe it’s worth doing for quality reasons, too.</p>
</blockquote>

<script type="importmap">
  {
    "imports": {
      "react": "https://esm.sh/react@18",
      "react-dom": "https://esm.sh/react-dom@18"
    }
  }
</script>

<script type="module">
  import { BlueskyComments } from "https://unpkg.com/bluesky-comments@0.8.0/dist/bluesky-comments.es.js";

  document.addEventListener("DOMContentLoaded", function () {
    const uri = "https://bsky.app/profile/halilibo.com/post/3llmzbuzuhs2d";
    const author = "halilibo.com";
    BlueskyComments.init("bluesky-comments", {
      uri,
      author,
      commentFilters: [BlueskyComments.Filters.NoPins],
    });
  });
</script>

<div id="bluesky-comments"></div>]]></content><author><name></name></author><category term="tech" /><summary type="html"><![CDATA[Around 2 years ago, Wear OS team had a problem with their new Picker composable, the text looked jittery as the picker was scrolling.]]></summary></entry><entry><title type="html">The virtue of boredom</title><link href="https://halilibo.com/2021/the-virtue-of-boredom.html" rel="alternate" type="text/html" title="The virtue of boredom" /><published>2021-06-13T19:12:00+00:00</published><updated>2021-06-13T19:12:00+00:00</updated><id>https://halilibo.com/2021/the-virtue-of-boredom</id><content type="html" xml:base="https://halilibo.com/2021/the-virtue-of-boredom.html"><![CDATA[<p>A life too full of excitement is an exhausting life, in which continually stronger stimuli are needed to give the thrill that has come to be thought an essential part of pleasure. A person accustomed to too much excitement is like a person with a morbid craving for pepper, who comes at last to be unable even to taste a quantity of pepper which would cause anyone else to choke. There is an element of boredom which is inseparable from the avoidance of too much excitement, and too much excitement not only undermines the health, but dulls the palate for every kind of pleasure, substituting titillations for profound organic satisfactions, cleverness for wisdom, and jagged surprises for beauty… A certain power of enduring boredom is therefore essential to a happy life, and is one of the things that ought to be taught to the young.</p>]]></content><author><name></name></author><category term="quote" /><summary type="html"><![CDATA[A life too full of excitement is an exhausting life, in which continually stronger stimuli are needed to give the thrill that has come to be thought an essential part of pleasure. A person accustomed to too much excitement is like a person with a morbid craving for pepper, who comes at last to be unable even to taste a quantity of pepper which would cause anyone else to choke. There is an element of boredom which is inseparable from the avoidance of too much excitement, and too much excitement not only undermines the health, but dulls the palate for every kind of pleasure, substituting titillations for profound organic satisfactions, cleverness for wisdom, and jagged surprises for beauty… A certain power of enduring boredom is therefore essential to a happy life, and is one of the things that ought to be taught to the young.]]></summary></entry></feed>